From 90121c86e199f9180a210571975c7e1ad5eef320 Mon Sep 17 00:00:00 2001 From: Michael Jurasovic Date: Sat, 30 May 2020 19:45:49 +1000 Subject: [PATCH 001/422] stop git from saying line endings will change https://github.com/e2nIEE/pandapower/issues/793 --- .gitattributes | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitattributes b/.gitattributes index b1f1212f8..8c58cf9d4 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,2 +1 @@ tutorials/* linguist-vendored -*.rst text eol=lf \ No newline at end of file From 119ef55b43e14929a2dbaf643c416e451cdc17e7 Mon Sep 17 00:00:00 2001 From: Michael Jurasovic Date: Sat, 30 May 2020 21:16:31 +1000 Subject: [PATCH 002/422] new columns for contribution factors --- pandapower/convert_format.py | 5 +++++ pandapower/create.py | 23 +++++++++++++++++------ 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/pandapower/convert_format.py b/pandapower/convert_format.py index 7e39be823..3f55f995b 100644 --- a/pandapower/convert_format.py +++ b/pandapower/convert_format.py @@ -212,6 +212,11 @@ def _add_missing_columns(net): if "name" not in net.measurement: net.measurement.insert(0, "name", None) + if "contribution_factor" not in net.ext_grid: + net.ext_grid['contribution_factor'] = 1.0 + if "contribution_factor" not in net.gen: + net.gen['contribution_factor'] = 0.0 + def _update_trafo_type_parameter_names(net): for element in ('trafo', 'trafo3w'): diff --git a/pandapower/create.py b/pandapower/create.py index 0e2840610..96fd64c29 100644 --- a/pandapower/create.py +++ b/pandapower/create.py @@ -122,6 +122,7 @@ def create_empty_network(name="", f_hz=50., sn_mva=1, add_stdtypes=True): ("scaling", "f8"), ("slack", "bool"), ("in_service", 'bool'), + ("contribution_factor", 'f8'), ("type", dtype(object))], "switch": [("bus", "i8"), ("element", "i8"), @@ -142,6 +143,7 @@ def create_empty_network(name="", f_hz=50., sn_mva=1, add_stdtypes=True): ("bus", "u4"), ("vm_pu", "f8"), ("va_degree", "f8"), + ("contribution_factor", 'f8'), ("in_service", 'bool')], "line": [("name", dtype(object)), ("std_type", dtype(object)), @@ -1488,7 +1490,8 @@ def _create_column_and_set_value(net, index, variable, column, element, default_ def create_gen(net, bus, p_mw, vm_pu=1., sn_mva=nan, name=None, index=None, max_q_mvar=nan, min_q_mvar=nan, min_p_mw=nan, max_p_mw=nan, min_vm_pu=nan, max_vm_pu=nan, scaling=1., type=None, slack=False, controllable=nan, vn_kv=nan, - xdss_pu=nan, rdss_pu=nan, cos_phi=nan, in_service=True): + xdss_pu=nan, rdss_pu=nan, cos_phi=nan, in_service=True, + contribution_factor=0.0): """ Adds a generator to the network. @@ -1520,6 +1523,9 @@ def create_gen(net, bus, p_mw, vm_pu=1., sn_mva=nan, name=None, index=None, max_ **controllable** (bool, NaN) - True: p_mw, q_mvar and vm_pu limits are enforced for this generator in OPF False: p_mw and vm_pu setpoints are enforced and *limits are ignored*. defaults to True if "controllable" column exists in DataFrame + + **contribution_factor** (float, default 0.0) - Slack power contribution factor + powerflow **vn_kv** (float, NaN) - Rated voltage of the generator for short-circuit calculation @@ -1566,8 +1572,9 @@ def create_gen(net, bus, p_mw, vm_pu=1., sn_mva=nan, name=None, index=None, max_ dtypes = net.gen.dtypes columns = ["name", "bus", "p_mw", "vm_pu", "sn_mva", "type", "slack", "in_service", - "scaling"] - variables = [name, bus, p_mw, vm_pu, sn_mva, type, slack, bool(in_service), scaling] + "scaling", "contribution_factor"] + variables = [name, bus, p_mw, vm_pu, sn_mva, type, slack, bool(in_service), + scaling, contribution_factor] net.gen.loc[index, columns] = variables # and preserve dtypes @@ -1609,7 +1616,8 @@ def create_gen(net, bus, p_mw, vm_pu=1., sn_mva=nan, name=None, index=None, max_ def create_ext_grid(net, bus, vm_pu=1.0, va_degree=0., name=None, in_service=True, s_sc_max_mva=nan, s_sc_min_mva=nan, rx_max=nan, rx_min=nan, max_p_mw=nan, min_p_mw=nan, max_q_mvar=nan, min_q_mvar=nan, - index=None,r0x0_max=nan,x0x_max=nan, **kwargs): + index=None,r0x0_max=nan,x0x_max=nan, contribution_factor=1.0, + **kwargs): """ Creates an external grid connection. @@ -1656,6 +1664,8 @@ def create_ext_grid(net, bus, vm_pu=1.0, va_degree=0., name=None, in_service=Tru **x0x_max** (float, NaN) - maximal X0/X-ratio to calculate Zero sequence internal impedance of ext_grid + **contribution_factor** (float, default 1.0) - Slack power contribution factor + ** only considered in loadflow if calculate_voltage_angles = True EXAMPLE: @@ -1677,8 +1687,9 @@ def create_ext_grid(net, bus, vm_pu=1.0, va_degree=0., name=None, in_service=Tru # store dtypes dtypes = net.ext_grid.dtypes - net.ext_grid.loc[index, ["bus", "name", "vm_pu", "va_degree", "in_service"]] = \ - [bus, name, vm_pu, va_degree, bool(in_service)] + net.ext_grid.loc[index, ["bus", "name", "vm_pu", "va_degree", "in_service", + "contribution_factor"]] = \ + [bus, name, vm_pu, va_degree, bool(in_service), contribution_factor] if not isnan(s_sc_max_mva): if "s_sc_max_mva" not in net.ext_grid.columns: From e70535c34f8a29ba3275dc7cb84832d0cd8323ed Mon Sep 17 00:00:00 2001 From: Michael Jurasovic Date: Tue, 2 Jun 2020 20:58:20 +1000 Subject: [PATCH 003/422] add contribution factors to ppc gen array --- pandapower/build_gen.py | 9 ++++++--- pandapower/pypower/idx_gen.py | 3 +++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/pandapower/build_gen.py b/pandapower/build_gen.py index e3ea42621..c632b154e 100644 --- a/pandapower/build_gen.py +++ b/pandapower/build_gen.py @@ -8,7 +8,7 @@ from pandapower.pf.ppci_variables import bustypes from pandapower.pypower.idx_bus import PV, REF, VA, VM, BUS_TYPE, NONE, VMAX, VMIN -from pandapower.pypower.idx_gen import QMIN, QMAX, PMIN, PMAX, GEN_BUS, PG, VG, QG, MBASE +from pandapower.pypower.idx_gen import QMIN, QMAX, PMIN, PMAX, GEN_BUS, PG, VG, QG, MBASE, CON_FAC try: import pplog as logging @@ -64,9 +64,10 @@ def add_gen_order(gen_order, element, _is_elements, f): def _init_ppc_gen(net, ppc, nr_gens): # initialize generator matrix - ppc["gen"] = np.zeros(shape=(nr_gens, 21), dtype=float) + ppc["gen"] = np.zeros(shape=(nr_gens, 26), dtype=float) ppc["gen"][:] = np.array([0, 0, 0, 0, 0, 1., - 1., 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]) + 1., 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0]) q_lim_default = net._options["p_lim_default"] p_lim_default = net._options["p_lim_default"] ppc["gen"][:, PMAX] = p_lim_default @@ -101,6 +102,7 @@ def _build_pp_ext_grid(net, ppc, f, t): eg_buses = bus_lookup[net["ext_grid"]["bus"].values[eg_is]] ppc["gen"][f:t, GEN_BUS] = eg_buses ppc["gen"][f:t, VG] = net["ext_grid"]["vm_pu"].values[eg_is] + ppc["gen"][f:t, CON_FAC] = net["ext_grid"]["contribution_factor"].values[eg_is] # set bus values for external grid buses if calculate_voltage_angles: @@ -189,6 +191,7 @@ def _build_pp_gen(net, ppc, f, t): ppc["gen"][f:t, GEN_BUS] = gen_buses ppc["gen"][f:t, PG] = (net["gen"]["p_mw"].values[gen_is] * net["gen"]["scaling"].values[gen_is]) ppc["gen"][f:t, MBASE] = net["gen"]["sn_mva"].values[gen_is] + ppc["gen"][f:t, CON_FAC] = net["gen"]["contribution_factor"].values[gen_is] ppc["gen"][f:t, VG] = gen_is_vm # set bus values for generator buses diff --git a/pandapower/pypower/idx_gen.py b/pandapower/pypower/idx_gen.py index 82aed83fd..86cec2480 100644 --- a/pandapower/pypower/idx_gen.py +++ b/pandapower/pypower/idx_gen.py @@ -79,6 +79,9 @@ MU_QMAX = 23 # Kuhn-Tucker multiplier on upper Qg limit (u/MVAr) MU_QMIN = 24 # Kuhn-Tucker multiplier on lower Qg limit (u/MVAr) +# Additional added by pandapower +CON_FAC = 25 # Slack contribution factor + # Note: When a generator's PQ capability curve is not simply a box and the # upper Qg limit is binding, the multiplier on this constraint is split into # it's P and Q components and combined with the appropriate MU_Pxxx and From 650ecf195976c105896cdc3db4121a5a6a2f6c50 Mon Sep 17 00:00:00 2001 From: Michael Jurasovic Date: Tue, 2 Jun 2020 21:33:39 +1000 Subject: [PATCH 004/422] pass distributed slack option through to powerflow --- pandapower/auxiliary.py | 17 ++++++++++++++--- pandapower/pypower/newtonpf.py | 1 + pandapower/run.py | 7 ++++++- 3 files changed, 21 insertions(+), 4 deletions(-) diff --git a/pandapower/auxiliary.py b/pandapower/auxiliary.py index d248aee35..2790ae880 100644 --- a/pandapower/auxiliary.py +++ b/pandapower/auxiliary.py @@ -493,7 +493,8 @@ def _add_ppc_options(net, calculate_voltage_angles, trafo_model, check_connectiv switch_rx_ratio, enforce_q_lims, recycle, delta=1e-10, voltage_depend_loads=False, trafo3w_losses="hv", init_vm_pu=1.0, init_va_degree=0, p_lim_default=1e9, q_lim_default=1e9, - neglect_open_switch_branches=False, consider_line_temperature=False): + neglect_open_switch_branches=False, consider_line_temperature=False, + distributed_slack=False): """ creates dictionary for pf, opf and short circuit calculations from input parameters. """ @@ -513,6 +514,7 @@ def _add_ppc_options(net, calculate_voltage_angles, trafo_model, check_connectiv "recycle": recycle, "voltage_depend_loads": voltage_depend_loads, "consider_line_temperature": consider_line_temperature, + "distributed_slack": distributed_slack, "delta": delta, "trafo3w_losses": trafo3w_losses, "init_vm_pu": init_vm_pu, @@ -883,7 +885,8 @@ def _init_runpp_options(net, algorithm, calculate_voltage_angles, init, max_iteration, tolerance_mva, trafo_model, trafo_loading, enforce_q_lims, check_connectivity, voltage_depend_loads, passed_parameters=None, - consider_line_temperature=False, **kwargs): + consider_line_temperature=False, + distributed_slack=False, **kwargs): """ Inits _options in net for runpp. """ @@ -970,6 +973,13 @@ def _init_runpp_options(net, algorithm, calculate_voltage_angles, init, init_vm_pu = init init_va_degree = init + if distributed_slack: + # TODO: distributed_slack: check some stuff. + # Does it work with islands? + # perhaps check weights are reasonable + # idk + pass + # init options net._options = {} _add_ppc_options(net, calculate_voltage_angles=calculate_voltage_angles, @@ -979,7 +989,8 @@ def _init_runpp_options(net, algorithm, calculate_voltage_angles, init, voltage_depend_loads=voltage_depend_loads, delta=delta_q, trafo3w_losses=trafo3w_losses, neglect_open_switch_branches=neglect_open_switch_branches, - consider_line_temperature=consider_line_temperature) + consider_line_temperature=consider_line_temperature, + distributed_slack=distributed_slack) _add_pf_options(net, tolerance_mva=tolerance_mva, trafo_loading=trafo_loading, numba=numba, ac=ac, algorithm=algorithm, max_iteration=max_iteration, v_debug=v_debug, only_v_results=only_v_results, use_umfpack=use_umfpack, diff --git a/pandapower/pypower/newtonpf.py b/pandapower/pypower/newtonpf.py index b6e1a7ff0..608107b08 100644 --- a/pandapower/pypower/newtonpf.py +++ b/pandapower/pypower/newtonpf.py @@ -41,6 +41,7 @@ def newtonpf(Ybus, Sbus, V0, pv, pq, ppci, options): numba = options["numba"] iwamoto = options["algorithm"] == "iwamoto_nr" voltage_depend_loads = options["voltage_depend_loads"] + dist_slack = options["distributed_slack"] v_debug = options["v_debug"] use_umfpack = options["use_umfpack"] permc_spec = options["permc_spec"] diff --git a/pandapower/run.py b/pandapower/run.py index 5cc13fd96..029d2757c 100644 --- a/pandapower/run.py +++ b/pandapower/run.py @@ -62,7 +62,7 @@ def runpp(net, algorithm='nr', calculate_voltage_angles="auto", init="auto", max_iteration="auto", tolerance_mva=1e-8, trafo_model="t", trafo_loading="current", enforce_q_lims=False, check_connectivity=True, voltage_depend_loads=True, consider_line_temperature=False, - run_control=False, **kwargs): + run_control=False, distributed_slack=False, **kwargs): """ Runs a power flow @@ -152,6 +152,10 @@ def runpp(net, algorithm='nr', calculate_voltage_angles="auto", init="auto", The temperature dependency coefficient alpha must be provided in the net.line.alpha column, otherwise the default value of 0.004 is used + **distributed_slack** (bool, False) - Distribute slack power + according to contribution factor weights for external grids + and generators. + **KWARGS: @@ -219,6 +223,7 @@ def runpp(net, algorithm='nr', calculate_voltage_angles="auto", init="auto", enforce_q_lims=enforce_q_lims, check_connectivity=check_connectivity, voltage_depend_loads=voltage_depend_loads, consider_line_temperature=consider_line_temperature, + distributed_slack=distributed_slack, passed_parameters=passed_parameters, **kwargs) _check_bus_index_and_print_warning_if_high(net) _check_gen_index_and_print_warning_if_high(net) From 85787e244e63ce4bd1c012f0b21833ded146e55d Mon Sep 17 00:00:00 2001 From: JP Date: Mon, 8 Jun 2020 20:46:20 +1000 Subject: [PATCH 005/422] revert change as discussed in https://github.com/e2nIEE/pandapower/issues/793 --- .gitattributes | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitattributes b/.gitattributes index 8c58cf9d4..4c28b5aca 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1 +1,2 @@ tutorials/* linguist-vendored +*.rst text eol=lf From 5276475e1b74c2e71b69cade3048d8e08b1650d4 Mon Sep 17 00:00:00 2001 From: JP Date: Thu, 18 Jun 2020 22:28:08 +1000 Subject: [PATCH 006/422] Normalise slack weights to unity in each island https://github.com/e2nIEE/pandapower/issues/771 --- pandapower/auxiliary.py | 36 +++++++++++++++++++++++++++++++++++- pandapower/build_gen.py | 22 +++++++++++++++++++++- 2 files changed, 56 insertions(+), 2 deletions(-) diff --git a/pandapower/auxiliary.py b/pandapower/auxiliary.py index 622a7f6db..03f59a38b 100644 --- a/pandapower/auxiliary.py +++ b/pandapower/auxiliary.py @@ -37,7 +37,7 @@ from packaging import version from pandapower.pypower.idx_brch import F_BUS, T_BUS, BR_STATUS -from pandapower.pypower.idx_bus import BUS_I, BUS_TYPE, NONE, PD, QD, VM, VA, REF, VMIN, VMAX, PV +from pandapower.pypower.idx_bus import BUS_I, BUS_TYPE, NONE, PD, QD, VM, VA, REF, VMIN, VMAX, PV, REF from pandapower.pypower.idx_gen import PMIN, PMAX, QMIN, QMAX try: @@ -432,6 +432,40 @@ def _check_connectivity(ppc): return isolated_nodes, pus, qus +def _subnetworks(ppc): + """ + Return a list of lists of the connected buses of the network + :param ppc: pypower case file + :return: + """ + br_status = ppc['branch'][:, BR_STATUS] == True + oos_bus = ppc['bus'][:, BUS_TYPE] == NONE + nobranch = ppc['branch'][br_status, :].shape[0] + nobus = ppc['bus'].shape[0] + bus_from = ppc['branch'][br_status, F_BUS].real.astype(int) + bus_to = ppc['branch'][br_status, T_BUS].real.astype(int) + # Note BUS_TYPE is never REF when the generator is out of service. + slacks = ppc['bus'][ppc['bus'][:, BUS_TYPE] == REF, BUS_I] + + adj_matrix = sp.sparse.csr_matrix((np.ones(nobranch), (bus_from, bus_to)), + shape=(nobus, nobus)) + + # Set out of service buses to have no connections. + adj_matrix[oos_bus, :] = 0 + adj_matrix[:, oos_bus] = 0 + + traversed_buses = set() + subnets = [] + for slack in slacks: + if slack in traversed_buses: + continue + reachable = sp.sparse.csgraph.breadth_first_order( + adj_matrix, slack, directed=False, return_predecessors=False) + traversed_buses |= set(reachable) + subnets.append(list(reachable)) + return subnets + + def _python_set_elements_oos(ti, tis, bis, lis): # pragma: no cover for i in range(len(ti)): if tis[i] and bis[ti[i]]: diff --git a/pandapower/build_gen.py b/pandapower/build_gen.py index c632b154e..b5ab298ab 100644 --- a/pandapower/build_gen.py +++ b/pandapower/build_gen.py @@ -9,6 +9,7 @@ from pandapower.pf.ppci_variables import bustypes from pandapower.pypower.idx_bus import PV, REF, VA, VM, BUS_TYPE, NONE, VMAX, VMIN from pandapower.pypower.idx_gen import QMIN, QMAX, PMIN, PMAX, GEN_BUS, PG, VG, QG, MBASE, CON_FAC +from pandapower.auxiliary import _subnetworks try: import pplog as logging @@ -30,6 +31,7 @@ def _build_gen_ppc(net, ppc): ''' mode = net["_options"]["mode"] + distributed_slack = net["_options"]["distributed_slack"] if mode == "estimate": return @@ -53,6 +55,9 @@ def _build_gen_ppc(net, ppc): add_element_to_gen(net, ppc, element, f, t) net._gen_order = gen_order + if distributed_slack: + _normalise_slack_weights(ppc) + def add_gen_order(gen_order, element, _is_elements, f): if element in _is_elements and _is_elements[element].any(): @@ -316,4 +321,19 @@ def _different_values_at_one_bus(buses, values): # have the voltage of the first generator at that bus values_equal = first_values[buses] - return not np.allclose(values, values_equal) + return not np.allclose(values, values_equal) + + +def _normalise_slack_weights(ppc): + """ Unitise the slack contribution factors in each island to sum to 1. """ + subnets = _subnetworks(ppc) + gen_buses = ppc['gen'][:, GEN_BUS].astype(np.int32) + for subnet in subnets: + subnet_gen_idx = np.isin(gen_buses, subnet) + sum_dist_weights = np.sum(ppc['gen'][subnet_gen_idx, CON_FAC]) + if np.isclose(sum_dist_weights, 0): + # ppc['gen'][subnet_gen_idx, CON_FAC] = 0 + raise ValueError('Distributed slack contribution factors in an ' + 'island sum to zero.') + else: + ppc['gen'][subnet_gen_idx, CON_FAC] /= sum_dist_weights From 14101c3b6615e8030c96dde72d8971a8c80199f1 Mon Sep 17 00:00:00 2001 From: JP Date: Thu, 18 Jun 2020 22:30:40 +1000 Subject: [PATCH 007/422] actually it's a mask, rather than indexes --- pandapower/build_gen.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pandapower/build_gen.py b/pandapower/build_gen.py index b5ab298ab..0298a0c99 100644 --- a/pandapower/build_gen.py +++ b/pandapower/build_gen.py @@ -329,11 +329,11 @@ def _normalise_slack_weights(ppc): subnets = _subnetworks(ppc) gen_buses = ppc['gen'][:, GEN_BUS].astype(np.int32) for subnet in subnets: - subnet_gen_idx = np.isin(gen_buses, subnet) - sum_dist_weights = np.sum(ppc['gen'][subnet_gen_idx, CON_FAC]) + subnet_gen_mask = np.isin(gen_buses, subnet) + sum_dist_weights = np.sum(ppc['gen'][subnet_gen_mask, CON_FAC]) if np.isclose(sum_dist_weights, 0): - # ppc['gen'][subnet_gen_idx, CON_FAC] = 0 + # ppc['gen'][subnet_gen_mask, CON_FAC] = 0 raise ValueError('Distributed slack contribution factors in an ' 'island sum to zero.') else: - ppc['gen'][subnet_gen_idx, CON_FAC] /= sum_dist_weights + ppc['gen'][subnet_gen_mask, CON_FAC] /= sum_dist_weights From ad7e15bb34878d389ef03e76126270911b97876f Mon Sep 17 00:00:00 2001 From: JP Date: Sun, 11 Oct 2020 18:21:44 +1100 Subject: [PATCH 008/422] warnings for numba enabled and wrong algorithm for dist slack --- pandapower/auxiliary.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/pandapower/auxiliary.py b/pandapower/auxiliary.py index 7e84d73a9..c219abe6d 100644 --- a/pandapower/auxiliary.py +++ b/pandapower/auxiliary.py @@ -1009,11 +1009,14 @@ def _init_runpp_options(net, algorithm, calculate_voltage_angles, init, init_va_degree = init if distributed_slack: - # TODO: distributed_slack: check some stuff. - # Does it work with islands? - # perhaps check weights are reasonable - # idk - pass + if numba: + # TODO: Implement distributed slack for numba. + raise NotImplementedError(f'Distributed slack is not implemented ' + f'with numba.') + if algorithm != 'nr': + raise NotImplementedError(f'Distributed slack is only implemented ' + f'for Newton Raphson algorithm.') + # init options net._options = {} From 57eab9d5d47f58178397f46f868082351bfbd2f6 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Tue, 8 Dec 2020 17:57:29 +0100 Subject: [PATCH 009/422] fix PP2PM module warning --- pandapower/opf/{pp_2_pm.jl => PP2PM.jl} | 248 +++++++++---------- pandapower/opf/run_powermodels.jl | 105 ++++---- pandapower/opf/run_powermodels.py | 2 +- pandapower/opf/run_powermodels_mn_storage.jl | 4 +- pandapower/opf/run_powermodels_ots.jl | 9 +- pandapower/opf/run_powermodels_powerflow.jl | 38 +-- pandapower/opf/run_powermodels_tnep.jl | 31 +-- pandapower/opf/validate_opf_input.py | 1 - 8 files changed, 217 insertions(+), 221 deletions(-) rename pandapower/opf/{pp_2_pm.jl => PP2PM.jl} (94%) diff --git a/pandapower/opf/pp_2_pm.jl b/pandapower/opf/PP2PM.jl similarity index 94% rename from pandapower/opf/pp_2_pm.jl rename to pandapower/opf/PP2PM.jl index bf7b4dfb6..ea4970c22 100644 --- a/pandapower/opf/pp_2_pm.jl +++ b/pandapower/opf/PP2PM.jl @@ -1,125 +1,123 @@ - -module PP2PM -export load_pm_from_json, get_model, get_solver - -import JSON -using PowerModels - -import Cbc -import Ipopt -import Juniper -import JuMP - - -try - import Gurobi -catch e - if isa(e, LoadError) - println("Cannot import Gurobi. That's fine if you do not plan to use it") - end -end - -try - import KNITRO -catch e - if isa(e, LoadError) - println("Cannot import KNITRO. That's fine if you do not plan to use it") - end -end - -try - import SCIP -catch e - if isa(e, LoadError) - println("Cannot import SCIP. That's fine if you do not plan to use it") - end -end - -function get_model(model_type) - """ - gets the model function - model_type (str) - examples: "ACPPowerModel", "DCPPowerModel", "SOCWRPowerModel"... - see: https://lanl-ansi.github.io/PowerModels.jl/stable/formulation-details/ - """ - - s = Symbol(model_type) - return getfield(Main, s) -end - -function get_solver(optimizer::String, nl::String="ipopt", mip::String="cbc", - log_level::Int=0, time_limit::Float64=Inf, nl_time_limit::Float64=Inf, - mip_time_limit::Float64=Inf, ipopt_tol::Float64=1e-8) - - if optimizer == "gurobi" - solver = JuMP.optimizer_with_attributes(Gurobi.Optimizer, "TimeLimit" => time_limit, "OutputFlag" => log_level) - end - - if optimizer == "ipopt" - solver = JuMP.optimizer_with_attributes(Ipopt.Optimizer, "print_level" => log_level, "max_cpu_time" => time_limit, - "tol" => ipopt_tol) - end - - if optimizer == "juniper" && nl == "ipopt" && mip == "cbc" - mip_solver = JuMP.optimizer_with_attributes(Cbc.Optimizer, "logLevel" => log_level, "seconds" => mip_time_limit) - nl_solver = JuMP.optimizer_with_attributes(Ipopt.Optimizer, "print_level" => log_level, "max_cpu_time" => nl_time_limit) - solver = JuMP.optimizer_with_attributes(Juniper.Optimizer, - "nl_solver" => nl_solver, - "mip_solver" => mip_solver, - "log_levels" => [], - "time_limit" => time_limit) - end - - if optimizer == "juniper" && nl == "gurobi" && mip == "cbc" - mip_solver = JuMP.optimizer_with_attributes(Cbc.Optimizer, "logLevel" => log_level, "seconds" => mip_time_limit) - nl_solver = JuMP.optimizer_with_attributes(Gurobi.Optimizer, "TimeLimit" => nl_time_limit) - solver = JuMP.optimizer_with_attributes(Juniper.Optimizer, - "nl_solver" => nl_solver, - "mip_solver" => mip_solver, - "log_levels" => [], - "time_limit" => time_limit) - end - - if optimizer == "juniper" && nl == "gurobi" && mip == "gurobi" - mip_solver = JuMP.optimizer_with_attributes(Gurobi.Optimizer, "TimeLimit" => mip_time_limit) - nl_solver = JuMP.optimizer_with_attributes(Gurobi.Optimizer, "TimeLimit" => nl_time_limit) - solver = JuMP.optimizer_with_attributes(Juniper.Optimizer, - "nl_solver" => nl_solver, - "mip_solver" => mip_solver, - "log_levels" => [], - "time_limit" => time_limit) - end - - if optimizer == "knitro" - solver = JuMP.optimizer_with_attributes(KNITRO.Optimizer) - end - - if optimizer == "cbc" - solver = JuMP.optimizer_with_attributes(Cbc.Optimizer, "seconds" => time_limit) - end - - if optimizer == "scip" - solver = JuMP.optimizer_with_attributes(SCIP.Optimizer) - end - - return solver - -end - -function load_pm_from_json(json_path) - pm = Dict() - open(json_path, "r") do f - pm = JSON.parse(f) # parse and transform data - end - - for (idx, gen) in pm["gen"] - if gen["model"] == 1 - pm["gen"][idx]["cost"] = convert(Array{Float64,1}, gen["cost"]) - end - end - if pm["correct_pm_network_data"] - correct_network_data!(pm) - end - return pm -end - -end +module PP2PM +export load_pm_from_json, get_model, get_solver + +import JSON +using PowerModels +using Cbc +using Ipopt +using Juniper +import JuMP + + +try + using Gurobi +catch e + if isa(e, LoadError) + println("Cannot import Gurobi. That's fine if you do not plan to use it") + end +end + +try + using KNITRO +catch e + if isa(e, LoadError) + println("Cannot import KNITRO. That's fine if you do not plan to use it") + end +end + +try + using SCIP +catch e + if isa(e, LoadError) + println("Cannot import SCIP. That's fine if you do not plan to use it") + end +end + +function get_model(model_type) + """ + gets the model function + model_type (str) - examples: "ACPPowerModel", "DCPPowerModel", "SOCWRPowerModel"... + see: https://lanl-ansi.github.io/PowerModels.jl/stable/formulation-details/ + """ + + s = Symbol(model_type) + return getfield(Main, s) +end + +function get_solver(optimizer::String, nl::String="ipopt", mip::String="cbc", + log_level::Int=0, time_limit::Float64=Inf, nl_time_limit::Float64=Inf, + mip_time_limit::Float64=Inf, ipopt_tol::Float64=1e-8) + + if optimizer == "gurobi" + solver = JuMP.optimizer_with_attributes(Gurobi.Optimizer, "TimeLimit" => time_limit, "OutputFlag" => log_level) + end + + if optimizer == "ipopt" + solver = JuMP.optimizer_with_attributes(Ipopt.Optimizer, "print_level" => log_level, "max_cpu_time" => time_limit, + "tol" => ipopt_tol) + end + + if optimizer == "juniper" && nl == "ipopt" && mip == "cbc" + mip_solver = JuMP.optimizer_with_attributes(Cbc.Optimizer, "logLevel" => log_level, "seconds" => mip_time_limit) + nl_solver = JuMP.optimizer_with_attributes(Ipopt.Optimizer, "print_level" => log_level, "max_cpu_time" => nl_time_limit) + solver = JuMP.optimizer_with_attributes(Juniper.Optimizer, + "nl_solver" => nl_solver, + "mip_solver" => mip_solver, + "log_levels" => [], + "time_limit" => time_limit) + end + + if optimizer == "juniper" && nl == "gurobi" && mip == "cbc" + mip_solver = JuMP.optimizer_with_attributes(Cbc.Optimizer, "logLevel" => log_level, "seconds" => mip_time_limit) + nl_solver = JuMP.optimizer_with_attributes(Gurobi.Optimizer, "TimeLimit" => nl_time_limit) + solver = JuMP.optimizer_with_attributes(Juniper.Optimizer, + "nl_solver" => nl_solver, + "mip_solver" => mip_solver, + "log_levels" => [], + "time_limit" => time_limit) + end + + if optimizer == "juniper" && nl == "gurobi" && mip == "gurobi" + mip_solver = JuMP.optimizer_with_attributes(Gurobi.Optimizer, "TimeLimit" => mip_time_limit) + nl_solver = JuMP.optimizer_with_attributes(Gurobi.Optimizer, "TimeLimit" => nl_time_limit) + solver = JuMP.optimizer_with_attributes(Juniper.Optimizer, + "nl_solver" => nl_solver, + "mip_solver" => mip_solver, + "log_levels" => [], + "time_limit" => time_limit) + end + + if optimizer == "knitro" + solver = JuMP.optimizer_with_attributes(KNITRO.Optimizer) + end + + if optimizer == "cbc" + solver = JuMP.optimizer_with_attributes(Cbc.Optimizer, "seconds" => time_limit) + end + + if optimizer == "scip" + solver = JuMP.optimizer_with_attributes(SCIP.Optimizer) + end + + return solver + +end + +function load_pm_from_json(json_path) + pm = Dict() + open(json_path, "r") do f + pm = JSON.parse(f) # parse and transform data + end + + for (idx, gen) in pm["gen"] + if gen["model"] == 1 + pm["gen"][idx]["cost"] = convert(Array{Float64,1}, gen["cost"]) + end + end + if pm["correct_pm_network_data"] + correct_network_data!(pm) + end + return pm +end + +end diff --git a/pandapower/opf/run_powermodels.jl b/pandapower/opf/run_powermodels.jl index 2bb810a0c..82739bd66 100644 --- a/pandapower/opf/run_powermodels.jl +++ b/pandapower/opf/run_powermodels.jl @@ -1,54 +1,51 @@ -using PowerModels -using .PP2PM -#using Debugger -# include("pp_2_pm.jl") - -function run_powermodels(json_path) - pm = PP2PM.load_pm_from_json(json_path) - model = PP2PM.get_model(pm["pm_model"]) - # - solver = PP2PM.get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], - pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) - - if haskey(pm["branch"]["1"],"c_rating_a") - for (key, value) in pm["gen"] - # value["pmin"] = 0 - value["pmax"] *= 0.01 - value["qmax"] *= 0.01 - value["qmin"] *= 0.01 - value["pg"] *= 0.01 - value["qg"] *= 0.01 - value["cost"] *= 100 - end - - for (key, value) in pm["branch"] - value["c_rating_a"] *= 0.01 - end - - for (key, value) in pm["load"] - value["pd"] *= 0.01 - value["qd"] *= 0.01 - end - - # pm["bus"]["4"]["vmax"] = 1.1 - # pm["bus"]["4"]["vmin"] = 0.9 - - result = PowerModels._run_opf_cl(pm, model, solver, - setting = Dict("output" => Dict("branch_flows" => true))) - else - result = PowerModels.run_opf(pm, model, solver, - setting = Dict("output" => Dict("branch_flows" => true))) - end - - - return result -end - - -# json_path = "C:/Users/fmeier/pandapower/pandapower/test/opf/case5_clm_matfile_va.json" -# # #@enter run_powermodels(json_path) -# # -# result = run_powermodels(json_path) -# println(result["termination_status"] == LOCALLY_SOLVED) -# println(isapprox(result["objective"], 17015.5; atol = 1e0)) -# mit eingeschränkter slack spannung: 17082.819507648066 +using PowerModels +push!(LOAD_PATH, joinpath(homedir(), "pandapower", "pandapower", "opf")) +using PP2PM + +function run_powermodels(json_path) + pm = load_pm_from_json(json_path) + model = get_model(pm["pm_model"]) + # + solver = get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], + pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) + + if haskey(pm["branch"]["1"],"c_rating_a") + for (key, value) in pm["gen"] + # value["pmin"] = 0 + value["pmax"] *= 0.01 + value["qmax"] *= 0.01 + value["qmin"] *= 0.01 + value["pg"] *= 0.01 + value["qg"] *= 0.01 + value["cost"] *= 100 + end + + for (key, value) in pm["branch"] + value["c_rating_a"] *= 0.01 + end + + for (key, value) in pm["load"] + value["pd"] *= 0.01 + value["qd"] *= 0.01 + end + + # pm["bus"]["4"]["vmax"] = 1.1 + # pm["bus"]["4"]["vmin"] = 0.9 + + result = PowerModels._run_opf_cl(pm, model, solver, + setting = Dict("output" => Dict("branch_flows" => true))) + else + result = PowerModels.run_opf(pm, model, solver, + setting = Dict("output" => Dict("branch_flows" => true))) + end + return result +end + + +# json_path = "C:/Users/fmeier/pandapower/pandapower/test/opf/case5_clm_matfile_va.json" +# # #@enter run_powermodels(json_path) +# # +# result = run_powermodels(json_path) +# println(result["termination_status"] == LOCALLY_SOLVED) +# println(isapprox(result["objective"], 17015.5; atol = 1e0)) +# mit eingeschränkter slack spannung: 17082.819507648066 diff --git a/pandapower/opf/run_powermodels.py b/pandapower/opf/run_powermodels.py index 86b1fc6d8..6d36e019a 100644 --- a/pandapower/opf/run_powermodels.py +++ b/pandapower/opf/run_powermodels.py @@ -55,7 +55,7 @@ def _call_powermodels(buffer_file, julia_file): # pragma: no cover "Could not connect to julia, please check that Julia is installed and pyjulia is correctly configured") # import two julia scripts and runs powermodels julia_file - Main.include(os.path.join(pp_dir, "opf", 'pp_2_pm.jl')) +# Main.include(os.path.join(pp_dir, "opf", 'pp_2_pm.jl')) try: run_powermodels = Main.include(julia_file) except ImportError: diff --git a/pandapower/opf/run_powermodels_mn_storage.jl b/pandapower/opf/run_powermodels_mn_storage.jl index 773ae0521..e5b6f7ccc 100644 --- a/pandapower/opf/run_powermodels_mn_storage.jl +++ b/pandapower/opf/run_powermodels_mn_storage.jl @@ -2,9 +2,9 @@ using PowerModels using Ipopt using Gurobi using JuMP -using .PP2PM - import JSON +push!(LOAD_PATH, joinpath(homedir(), "pandapower", "pandapower", "opf")) +using PP2PM function read_time_series(json_path) time_series = Dict() diff --git a/pandapower/opf/run_powermodels_ots.jl b/pandapower/opf/run_powermodels_ots.jl index fc315fafa..3c7111765 100644 --- a/pandapower/opf/run_powermodels_ots.jl +++ b/pandapower/opf/run_powermodels_ots.jl @@ -1,12 +1,13 @@ using PowerModels -using .PP2PM +push!(LOAD_PATH, joinpath(homedir(), "pandapower", "pandapower", "opf")) +using PP2PM function run_powermodels(json_path) # function to run optimal transmission switching (OTS) optimization from powermodels.jl - pm = PP2PM.load_pm_from_json(json_path) - model = PP2PM.get_model(pm["pm_model"]) + pm = load_pm_from_json(json_path) + model = get_model(pm["pm_model"]) - solver = PP2PM.get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], + solver = get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) result = run_ots(pm, model, solver, diff --git a/pandapower/opf/run_powermodels_powerflow.jl b/pandapower/opf/run_powermodels_powerflow.jl index d5ed4fb1d..e8fe3efbb 100644 --- a/pandapower/opf/run_powermodels_powerflow.jl +++ b/pandapower/opf/run_powermodels_powerflow.jl @@ -1,19 +1,19 @@ -using PowerModels -using .PP2PM - - -function run_powermodels(json_path) - pm = PP2PM.load_pm_from_json(json_path) - - model = PP2PM.get_model(pm["pm_model"]) - - solver = PP2PM.get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], - pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) - - result = PowerModels.run_pf(pm, model, solver) - # add branch flows - update_data!(pm, result["solution"]) - flows = calc_branch_flow_ac(pm) - update_data!(result["solution"], flows) - return result -end +using PowerModels +push!(LOAD_PATH, joinpath(homedir(), "pandapower", "pandapower", "opf")) +using PP2PM + +function run_powermodels(json_path) + pm = load_pm_from_json(json_path) + + model = get_model(pm["pm_model"]) + + solver = get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], + pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) + + result = run_pf(pm, model, solver) + # add branch flows + update_data!(pm, result["solution"]) + flows = calc_branch_flow_ac(pm) + update_data!(result["solution"], flows) + return result +end diff --git a/pandapower/opf/run_powermodels_tnep.jl b/pandapower/opf/run_powermodels_tnep.jl index 45623c652..f045feff1 100644 --- a/pandapower/opf/run_powermodels_tnep.jl +++ b/pandapower/opf/run_powermodels_tnep.jl @@ -1,15 +1,16 @@ -using PowerModels -using .PP2PM - -function run_powermodels(json_path) - pm = PP2PM.load_pm_from_json(json_path) - model = PP2PM.get_model(pm["pm_model"]) - - solver = PP2PM.get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], - pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) - - # function to run transmission network expansion optimization of powermodels.jl - result = run_tnep(pm, model, solver, - setting = Dict("output" => Dict("branch_flows" => true))) - return result -end +using PowerModels +push!(LOAD_PATH, joinpath(homedir(), "pandapower", "pandapower", "opf")) +using PP2PM + +function run_powermodels(json_path) + pm = load_pm_from_json(json_path) + model = get_model(pm["pm_model"]) + + solver = PP2PM.get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], + pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) + + # function to run transmission network expansion optimization of powermodels.jl + result = run_tnep(pm, model, solver, + setting = Dict("output" => Dict("branch_flows" => true))) + return result +end diff --git a/pandapower/opf/validate_opf_input.py b/pandapower/opf/validate_opf_input.py index 98db3422b..31dc39628 100644 --- a/pandapower/opf/validate_opf_input.py +++ b/pandapower/opf/validate_opf_input.py @@ -1,6 +1,5 @@ import pandas as pd - def _check_necessary_opf_parameters(net, logger): # Check if all necessary parameters are given: opf_col = { From a5783ce596d0172540c9d2ec63d6dbd904d3f514 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Tue, 8 Dec 2020 20:22:36 +0100 Subject: [PATCH 010/422] change homedir --- pandapower/opf/run_powermodels.jl | 3 ++- pandapower/opf/run_powermodels_mn_storage.jl | 3 ++- pandapower/opf/run_powermodels_ots.jl | 3 ++- pandapower/opf/run_powermodels_powerflow.jl | 3 ++- pandapower/opf/run_powermodels_tnep.jl | 3 ++- 5 files changed, 10 insertions(+), 5 deletions(-) diff --git a/pandapower/opf/run_powermodels.jl b/pandapower/opf/run_powermodels.jl index 82739bd66..ba4028722 100644 --- a/pandapower/opf/run_powermodels.jl +++ b/pandapower/opf/run_powermodels.jl @@ -1,5 +1,6 @@ using PowerModels -push!(LOAD_PATH, joinpath(homedir(), "pandapower", "pandapower", "opf")) +# push!(LOAD_PATH, joinpath(homedir(), "pandapower", "pandapower", "opf")) +push!(LOAD_PATH, joinpath(@__DIR__, "pandapower", "pandapower", "opf")) using PP2PM function run_powermodels(json_path) diff --git a/pandapower/opf/run_powermodels_mn_storage.jl b/pandapower/opf/run_powermodels_mn_storage.jl index e5b6f7ccc..b2e4ef4c3 100644 --- a/pandapower/opf/run_powermodels_mn_storage.jl +++ b/pandapower/opf/run_powermodels_mn_storage.jl @@ -3,7 +3,8 @@ using Ipopt using Gurobi using JuMP import JSON -push!(LOAD_PATH, joinpath(homedir(), "pandapower", "pandapower", "opf")) +# push!(LOAD_PATH, joinpath(homedir(), "pandapower", "pandapower", "opf")) +push!(LOAD_PATH, joinpath(@__DIR__, "pandapower", "pandapower", "opf")) using PP2PM function read_time_series(json_path) diff --git a/pandapower/opf/run_powermodels_ots.jl b/pandapower/opf/run_powermodels_ots.jl index 3c7111765..16e7e1b5b 100644 --- a/pandapower/opf/run_powermodels_ots.jl +++ b/pandapower/opf/run_powermodels_ots.jl @@ -1,5 +1,6 @@ using PowerModels -push!(LOAD_PATH, joinpath(homedir(), "pandapower", "pandapower", "opf")) +# push!(LOAD_PATH, joinpath(homedir(), "pandapower", "pandapower", "opf")) +push!(LOAD_PATH, joinpath(@__DIR__, "pandapower", "pandapower", "opf")) using PP2PM function run_powermodels(json_path) diff --git a/pandapower/opf/run_powermodels_powerflow.jl b/pandapower/opf/run_powermodels_powerflow.jl index e8fe3efbb..868b29e15 100644 --- a/pandapower/opf/run_powermodels_powerflow.jl +++ b/pandapower/opf/run_powermodels_powerflow.jl @@ -1,5 +1,6 @@ using PowerModels -push!(LOAD_PATH, joinpath(homedir(), "pandapower", "pandapower", "opf")) +# push!(LOAD_PATH, joinpath(homedir(), "pandapower", "pandapower", "opf")) +push!(LOAD_PATH, joinpath(@__DIR__, "pandapower", "pandapower", "opf")) using PP2PM function run_powermodels(json_path) diff --git a/pandapower/opf/run_powermodels_tnep.jl b/pandapower/opf/run_powermodels_tnep.jl index f045feff1..c74c72fe6 100644 --- a/pandapower/opf/run_powermodels_tnep.jl +++ b/pandapower/opf/run_powermodels_tnep.jl @@ -1,5 +1,6 @@ using PowerModels -push!(LOAD_PATH, joinpath(homedir(), "pandapower", "pandapower", "opf")) +# push!(LOAD_PATH, joinpath(homedir(), "pandapower", "pandapower", "opf")) +push!(LOAD_PATH, joinpath(@__DIR__, "pandapower", "pandapower", "opf")) using PP2PM function run_powermodels(json_path) From 6173e68b5b2d4f96074ecd5abadffb1d580feb9e Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Thu, 21 Jan 2021 12:52:51 +0100 Subject: [PATCH 011/422] original files --- pandapower/opf/make_objective.py | 2 +- pandapower/opf/{PP2PM.jl => pp_2_pm.jl} | 14 ++++++++------ pandapower/opf/run_powermodels.jl | 14 ++++++++------ pandapower/opf/run_powermodels.py | 2 +- pandapower/opf/run_powermodels_mn_storage.jl | 5 ++--- pandapower/opf/run_powermodels_ots.jl | 10 ++++------ pandapower/opf/run_powermodels_powerflow.jl | 13 ++++++------- pandapower/opf/run_powermodels_tnep.jl | 8 +++----- pandapower/opf/validate_opf_input.py | 1 + 9 files changed, 34 insertions(+), 35 deletions(-) rename pandapower/opf/{PP2PM.jl => pp_2_pm.jl} (97%) diff --git a/pandapower/opf/make_objective.py b/pandapower/opf/make_objective.py index 043a2e4bd..513831339 100644 --- a/pandapower/opf/make_objective.py +++ b/pandapower/opf/make_objective.py @@ -4,7 +4,7 @@ # Use of this source code is governed by a BSD-style # license that can be found in the LICENSE file. -# Copyright (c) 2016-2020 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. from numpy import zeros, array diff --git a/pandapower/opf/PP2PM.jl b/pandapower/opf/pp_2_pm.jl similarity index 97% rename from pandapower/opf/PP2PM.jl rename to pandapower/opf/pp_2_pm.jl index ea4970c22..065f75f9c 100644 --- a/pandapower/opf/PP2PM.jl +++ b/pandapower/opf/pp_2_pm.jl @@ -1,16 +1,18 @@ + module PP2PM export load_pm_from_json, get_model, get_solver import JSON using PowerModels -using Cbc -using Ipopt -using Juniper + +import Cbc +import Ipopt +import Juniper import JuMP try - using Gurobi + import Gurobi catch e if isa(e, LoadError) println("Cannot import Gurobi. That's fine if you do not plan to use it") @@ -18,7 +20,7 @@ catch e end try - using KNITRO + import KNITRO catch e if isa(e, LoadError) println("Cannot import KNITRO. That's fine if you do not plan to use it") @@ -26,7 +28,7 @@ catch e end try - using SCIP + import SCIP catch e if isa(e, LoadError) println("Cannot import SCIP. That's fine if you do not plan to use it") diff --git a/pandapower/opf/run_powermodels.jl b/pandapower/opf/run_powermodels.jl index ba4028722..c2a110a1d 100644 --- a/pandapower/opf/run_powermodels.jl +++ b/pandapower/opf/run_powermodels.jl @@ -1,13 +1,13 @@ using PowerModels -# push!(LOAD_PATH, joinpath(homedir(), "pandapower", "pandapower", "opf")) -push!(LOAD_PATH, joinpath(@__DIR__, "pandapower", "pandapower", "opf")) -using PP2PM +using .PP2PM +#using Debugger +# include("pp_2_pm.jl") function run_powermodels(json_path) - pm = load_pm_from_json(json_path) - model = get_model(pm["pm_model"]) + pm = PP2PM.load_pm_from_json(json_path) + model = PP2PM.get_model(pm["pm_model"]) # - solver = get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], + solver = PP2PM.get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) if haskey(pm["branch"]["1"],"c_rating_a") @@ -39,6 +39,8 @@ function run_powermodels(json_path) result = PowerModels.run_opf(pm, model, solver, setting = Dict("output" => Dict("branch_flows" => true))) end + + return result end diff --git a/pandapower/opf/run_powermodels.py b/pandapower/opf/run_powermodels.py index 6d36e019a..86b1fc6d8 100644 --- a/pandapower/opf/run_powermodels.py +++ b/pandapower/opf/run_powermodels.py @@ -55,7 +55,7 @@ def _call_powermodels(buffer_file, julia_file): # pragma: no cover "Could not connect to julia, please check that Julia is installed and pyjulia is correctly configured") # import two julia scripts and runs powermodels julia_file -# Main.include(os.path.join(pp_dir, "opf", 'pp_2_pm.jl')) + Main.include(os.path.join(pp_dir, "opf", 'pp_2_pm.jl')) try: run_powermodels = Main.include(julia_file) except ImportError: diff --git a/pandapower/opf/run_powermodels_mn_storage.jl b/pandapower/opf/run_powermodels_mn_storage.jl index b2e4ef4c3..773ae0521 100644 --- a/pandapower/opf/run_powermodels_mn_storage.jl +++ b/pandapower/opf/run_powermodels_mn_storage.jl @@ -2,10 +2,9 @@ using PowerModels using Ipopt using Gurobi using JuMP +using .PP2PM + import JSON -# push!(LOAD_PATH, joinpath(homedir(), "pandapower", "pandapower", "opf")) -push!(LOAD_PATH, joinpath(@__DIR__, "pandapower", "pandapower", "opf")) -using PP2PM function read_time_series(json_path) time_series = Dict() diff --git a/pandapower/opf/run_powermodels_ots.jl b/pandapower/opf/run_powermodels_ots.jl index 16e7e1b5b..fc315fafa 100644 --- a/pandapower/opf/run_powermodels_ots.jl +++ b/pandapower/opf/run_powermodels_ots.jl @@ -1,14 +1,12 @@ using PowerModels -# push!(LOAD_PATH, joinpath(homedir(), "pandapower", "pandapower", "opf")) -push!(LOAD_PATH, joinpath(@__DIR__, "pandapower", "pandapower", "opf")) -using PP2PM +using .PP2PM function run_powermodels(json_path) # function to run optimal transmission switching (OTS) optimization from powermodels.jl - pm = load_pm_from_json(json_path) - model = get_model(pm["pm_model"]) + pm = PP2PM.load_pm_from_json(json_path) + model = PP2PM.get_model(pm["pm_model"]) - solver = get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], + solver = PP2PM.get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) result = run_ots(pm, model, solver, diff --git a/pandapower/opf/run_powermodels_powerflow.jl b/pandapower/opf/run_powermodels_powerflow.jl index 868b29e15..ed733749d 100644 --- a/pandapower/opf/run_powermodels_powerflow.jl +++ b/pandapower/opf/run_powermodels_powerflow.jl @@ -1,17 +1,16 @@ using PowerModels -# push!(LOAD_PATH, joinpath(homedir(), "pandapower", "pandapower", "opf")) -push!(LOAD_PATH, joinpath(@__DIR__, "pandapower", "pandapower", "opf")) -using PP2PM +using .PP2PM + function run_powermodels(json_path) - pm = load_pm_from_json(json_path) + pm = PP2PM.load_pm_from_json(json_path) - model = get_model(pm["pm_model"]) + model = PP2PM.get_model(pm["pm_model"]) - solver = get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], + solver = PP2PM.get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) - result = run_pf(pm, model, solver) + result = PowerModels.run_pf(pm, model, solver) # add branch flows update_data!(pm, result["solution"]) flows = calc_branch_flow_ac(pm) diff --git a/pandapower/opf/run_powermodels_tnep.jl b/pandapower/opf/run_powermodels_tnep.jl index c74c72fe6..c665f74e0 100644 --- a/pandapower/opf/run_powermodels_tnep.jl +++ b/pandapower/opf/run_powermodels_tnep.jl @@ -1,11 +1,9 @@ using PowerModels -# push!(LOAD_PATH, joinpath(homedir(), "pandapower", "pandapower", "opf")) -push!(LOAD_PATH, joinpath(@__DIR__, "pandapower", "pandapower", "opf")) -using PP2PM +using .PP2PM function run_powermodels(json_path) - pm = load_pm_from_json(json_path) - model = get_model(pm["pm_model"]) + pm = PP2PM.load_pm_from_json(json_path) + model = PP2PM.get_model(pm["pm_model"]) solver = PP2PM.get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) diff --git a/pandapower/opf/validate_opf_input.py b/pandapower/opf/validate_opf_input.py index 31dc39628..98db3422b 100644 --- a/pandapower/opf/validate_opf_input.py +++ b/pandapower/opf/validate_opf_input.py @@ -1,5 +1,6 @@ import pandas as pd + def _check_necessary_opf_parameters(net, logger): # Check if all necessary parameters are given: opf_col = { From 61e862ca28ff2ba31f4c73eb34452952bf4d9cca Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Thu, 21 Jan 2021 13:06:42 +0100 Subject: [PATCH 012/422] initiate PpPmInterface --- pandapower/opf/PpPmInterface/Manifest.toml | 2 ++ pandapower/opf/PpPmInterface/Project.toml | 13 +++++++++++++ pandapower/opf/PpPmInterface/README.md | 3 +++ pandapower/opf/PpPmInterface/src/PpPmInterface.jl | 5 +++++ pandapower/opf/PpPmInterface/test/runtests.jl | 6 ++++++ 5 files changed, 29 insertions(+) create mode 100644 pandapower/opf/PpPmInterface/Manifest.toml create mode 100644 pandapower/opf/PpPmInterface/Project.toml create mode 100644 pandapower/opf/PpPmInterface/README.md create mode 100644 pandapower/opf/PpPmInterface/src/PpPmInterface.jl create mode 100644 pandapower/opf/PpPmInterface/test/runtests.jl diff --git a/pandapower/opf/PpPmInterface/Manifest.toml b/pandapower/opf/PpPmInterface/Manifest.toml new file mode 100644 index 000000000..f45eecff0 --- /dev/null +++ b/pandapower/opf/PpPmInterface/Manifest.toml @@ -0,0 +1,2 @@ +# This file is machine-generated - editing it directly is not advised + diff --git a/pandapower/opf/PpPmInterface/Project.toml b/pandapower/opf/PpPmInterface/Project.toml new file mode 100644 index 000000000..ae2153a7d --- /dev/null +++ b/pandapower/opf/PpPmInterface/Project.toml @@ -0,0 +1,13 @@ +name = "PpPmInterface" +uuid = "a37bc775-f9aa-4bb0-a6c1-f424a7a25bdb" +authors = ["e2nIEE"] +version = "0.1.0" + +[compat] +julia = "1" + +[extras] +Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" + +[targets] +test = ["Test"] diff --git a/pandapower/opf/PpPmInterface/README.md b/pandapower/opf/PpPmInterface/README.md new file mode 100644 index 000000000..4631fdc03 --- /dev/null +++ b/pandapower/opf/PpPmInterface/README.md @@ -0,0 +1,3 @@ +# PpPmInterface + +[![Coverage](https://codecov.io/gh/MMajidi137/PpPmInterface.jl/branch/master/graph/badge.svg)](https://codecov.io/gh/MMajidi137/PpPmInterface.jl) diff --git a/pandapower/opf/PpPmInterface/src/PpPmInterface.jl b/pandapower/opf/PpPmInterface/src/PpPmInterface.jl new file mode 100644 index 000000000..411ee5dce --- /dev/null +++ b/pandapower/opf/PpPmInterface/src/PpPmInterface.jl @@ -0,0 +1,5 @@ +module PpPmInterface + +# Write your package code here. + +end diff --git a/pandapower/opf/PpPmInterface/test/runtests.jl b/pandapower/opf/PpPmInterface/test/runtests.jl new file mode 100644 index 000000000..4ecb83e0b --- /dev/null +++ b/pandapower/opf/PpPmInterface/test/runtests.jl @@ -0,0 +1,6 @@ +using PpPmInterface +using Test + +@testset "PpPmInterface.jl" begin + # Write your tests here. +end From 241099897ca0b7587bfb1d7faec0966f9d684d25 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Thu, 21 Jan 2021 13:35:48 +0100 Subject: [PATCH 013/422] Initial project and manifest ; KNITRO and SCIP must be added later --- pandapower/opf/PpPmInterface/Manifest.toml | 485 +++++++++++++++++++++ pandapower/opf/PpPmInterface/Project.toml | 9 + 2 files changed, 494 insertions(+) diff --git a/pandapower/opf/PpPmInterface/Manifest.toml b/pandapower/opf/PpPmInterface/Manifest.toml index f45eecff0..e05039c7a 100644 --- a/pandapower/opf/PpPmInterface/Manifest.toml +++ b/pandapower/opf/PpPmInterface/Manifest.toml @@ -1,2 +1,487 @@ # This file is machine-generated - editing it directly is not advised +[[ASL_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "fc1716d806dd345db9fd82e93f2186771fe6df13" +uuid = "ae81ac8f-d209-56e5-92de-9978fef736f9" +version = "0.1.1+4" + +[[ArrayInterface]] +deps = ["LinearAlgebra", "Requires", "SparseArrays"] +git-tree-sha1 = "7b26f0015d9459082a16ebe3fe934c4abb8f1327" +uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9" +version = "2.2.0" + +[[Artifacts]] +deps = ["Pkg"] +git-tree-sha1 = "c30985d8821e0cd73870b17b0ed0ce6dc44cb744" +uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" +version = "1.3.0" + +[[Base64]] +uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" + +[[BenchmarkTools]] +deps = ["JSON", "Logging", "Printf", "Statistics", "UUIDs"] +git-tree-sha1 = "9e62e66db34540a0c919d72172cc2f642ac71260" +uuid = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" +version = "0.5.0" + +[[BinDeps]] +deps = ["Libdl", "Pkg", "SHA", "URIParser", "Unicode"] +git-tree-sha1 = "1289b57e8cf019aede076edab0587eb9644175bd" +uuid = "9e28174c-4ba2-5203-b857-d8d62c4213ee" +version = "1.0.2" + +[[BinaryProvider]] +deps = ["Libdl", "Logging", "SHA"] +git-tree-sha1 = "ecdec412a9abc8db54c0efc5548c64dfce072058" +uuid = "b99e7846-7c00-51b0-8f62-c81ae34c0232" +version = "0.5.10" + +[[CEnum]] +git-tree-sha1 = "215a9aa4a1f23fbd05b92769fdd62559488d70e9" +uuid = "fa961155-64e5-5f13-b03f-caf6b980ea82" +version = "0.4.1" + +[[Calculus]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "f641eb0a4f00c343bbc32346e1217b86f3ce9dad" +uuid = "49dc2e85-a5d0-5ad3-a950-438e2897f1b9" +version = "0.5.1" + +[[Cbc]] +deps = ["BinaryProvider", "CEnum", "Cbc_jll", "Libdl", "MathOptInterface", "SparseArrays"] +git-tree-sha1 = "929d0500c50387e7ac7ae9956ca7d7ce5312c90d" +uuid = "9961bab8-2fa3-5c5a-9d89-47fab24efd76" +version = "0.7.1" + +[[Cbc_jll]] +deps = ["Artifacts", "Cgl_jll", "Clp_jll", "CoinUtils_jll", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "OpenBLAS32_jll", "Osi_jll", "Pkg"] +git-tree-sha1 = "aac604eecf9d882ae72f192e3ba2c1594a62f5ea" +uuid = "38041ee0-ae04-5750-a4d2-bb4d0d83d27d" +version = "2.10.3+5" + +[[Cgl_jll]] +deps = ["Artifacts", "Clp_jll", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "0c41f887cca7e95e7ca1cda5bd6e82e6f43b317d" +uuid = "3830e938-1dd0-5f3e-8b8e-b3ee43226782" +version = "0.60.2+6" + +[[Clp_jll]] +deps = ["Artifacts", "CoinUtils_jll", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "OpenBLAS32_jll", "Osi_jll", "Pkg"] +git-tree-sha1 = "d9eca9fa2435959b5542b13409a8ec5f64c947c8" +uuid = "06985876-5285-5a41-9fcb-8948a742cc53" +version = "1.17.6+7" + +[[CodecBzip2]] +deps = ["BinaryProvider", "Libdl", "TranscodingStreams"] +git-tree-sha1 = "5db086e510c11b4c87d05067627eadb2dc079995" +uuid = "523fee87-0ab8-5b00-afb7-3ecf72e48cfd" +version = "0.6.0" + +[[CodecZlib]] +deps = ["BinaryProvider", "Libdl", "TranscodingStreams"] +git-tree-sha1 = "05916673a2627dd91b4969ff8ba6941bc85a960e" +uuid = "944b1d66-785c-5afd-91f1-9de20f533193" +version = "0.6.0" + +[[CoinUtils_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "OpenBLAS32_jll", "Pkg"] +git-tree-sha1 = "5186155a8609b71eae7e104fa2b8fbf6ecd5d9bb" +uuid = "be027038-0da8-5614-b30d-e42594cb92df" +version = "2.11.3+4" + +[[CommonSubexpressions]] +deps = ["MacroTools", "Test"] +git-tree-sha1 = "7b8a93dba8af7e3b42fecabf646260105ac373f7" +uuid = "bbf7d656-a473-5ed7-a52c-81e309532950" +version = "0.3.0" + +[[Compat]] +deps = ["Base64", "Dates", "DelimitedFiles", "Distributed", "InteractiveUtils", "LibGit2", "Libdl", "LinearAlgebra", "Markdown", "Mmap", "Pkg", "Printf", "REPL", "Random", "SHA", "Serialization", "SharedArrays", "Sockets", "SparseArrays", "Statistics", "Test", "UUIDs", "Unicode"] +git-tree-sha1 = "919c7f3151e79ff196add81d7f4e45d91bbf420b" +uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" +version = "3.25.0" + +[[CompilerSupportLibraries_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "8e695f735fca77e9708e795eda62afdb869cbb70" +uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" +version = "0.3.4+0" + +[[DataStructures]] +deps = ["Compat", "InteractiveUtils", "OrderedCollections"] +git-tree-sha1 = "4437b64df1e0adccc3e5d1adbc3ac741095e4677" +uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" +version = "0.18.9" + +[[Dates]] +deps = ["Printf"] +uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" + +[[DelimitedFiles]] +deps = ["Mmap"] +uuid = "8bb1440f-4735-579b-a4ab-409b98df4dab" + +[[DiffEqDiffTools]] +deps = ["ArrayInterface", "LinearAlgebra", "Requires", "SparseArrays", "StaticArrays"] +git-tree-sha1 = "951600cc05d9626c3282e2ed125492931596e430" +uuid = "01453d9d-ee7c-5054-8395-0335cb756afa" +version = "1.6.0" + +[[DiffResults]] +deps = ["StaticArrays"] +git-tree-sha1 = "c18e98cba888c6c25d1c3b048e4b3380ca956805" +uuid = "163ba53b-c6d8-5494-b064-1a9d43ac40c5" +version = "1.0.3" + +[[DiffRules]] +deps = ["NaNMath", "Random", "SpecialFunctions"] +git-tree-sha1 = "214c3fcac57755cfda163d91c58893a8723f93e9" +uuid = "b552c78f-8df3-52c6-915a-8e097449b14b" +version = "1.0.2" + +[[Distances]] +deps = ["LinearAlgebra", "Statistics"] +git-tree-sha1 = "e8b13ba5f166e11df2de6fc283e5db7864245df0" +uuid = "b4f34e82-e78d-54a5-968a-f98e89d6e8f7" +version = "0.10.0" + +[[Distributed]] +deps = ["Random", "Serialization", "Sockets"] +uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" + +[[ExprTools]] +git-tree-sha1 = "10407a39b87f29d47ebaca8edbc75d7c302ff93e" +uuid = "e2ba6199-217a-4e67-a87a-7c52f15ade04" +version = "0.1.3" + +[[EzXML]] +deps = ["BinaryProvider", "Libdl", "Printf"] +git-tree-sha1 = "ed53ce1ddb862193b2bd3851dfa108513aab2d5c" +uuid = "8f5d6c58-4d21-5cfd-889c-e3ad7ee6a615" +version = "1.0.0" + +[[ForwardDiff]] +deps = ["CommonSubexpressions", "DiffResults", "DiffRules", "NaNMath", "Random", "SpecialFunctions", "StaticArrays"] +git-tree-sha1 = "c26b56e9b9f0687f7ca887f6b6ded03d269e0e35" +uuid = "f6369f11-7733-5829-9624-2563aa707210" +version = "0.10.15" + +[[Gurobi]] +deps = ["CEnum", "Libdl", "MathOptInterface"] +git-tree-sha1 = "87c818dc7da7f7927cda470fda06bc2d05881d46" +uuid = "2e9cd046-0924-5485-92f1-d5272153d98b" +version = "0.9.7" + +[[HTTP]] +deps = ["Base64", "Dates", "IniFile", "MbedTLS", "Sockets", "URIs"] +git-tree-sha1 = "63055ee44b5c2b95ec1921edcf856c60124ff0c3" +uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3" +version = "0.9.2" + +[[InfrastructureModels]] +deps = ["JuMP", "MathOptInterface", "Memento"] +git-tree-sha1 = "063b6445c571530af740d46f9dd9d0a5a50bc8c9" +uuid = "2030c09a-7f63-5d83-885d-db604e0e9cc0" +version = "0.5.4" + +[[IniFile]] +deps = ["Test"] +git-tree-sha1 = "098e4d2c533924c921f9f9847274f2ad89e018b8" +uuid = "83e8ac13-25f8-5344-8a64-a9f2b223428f" +version = "0.5.0" + +[[InteractiveUtils]] +deps = ["Markdown"] +uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" + +[[Ipopt]] +deps = ["BinaryProvider", "Ipopt_jll", "Libdl", "LinearAlgebra", "MathOptInterface", "MathProgBase"] +git-tree-sha1 = "7c526d73eeacf6495e694e8309f3c89d4b5f8912" +uuid = "b6b21f68-93f8-5de0-b562-5493be1d77c9" +version = "0.6.5" + +[[Ipopt_jll]] +deps = ["ASL_jll", "Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "MUMPS_seq_jll", "OpenBLAS32_jll", "Pkg"] +git-tree-sha1 = "91c4f42e86e4c18d9399f962045513e1ec29abad" +uuid = "9cc047cb-c261-5740-88fc-0cf96f7bdcc7" +version = "3.13.2+1" + +[[JLLWrappers]] +git-tree-sha1 = "a431f5f2ca3f4feef3bd7a5e94b8b8d4f2f647a0" +uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" +version = "1.2.0" + +[[JSON]] +deps = ["Dates", "Mmap", "Parsers", "Unicode"] +git-tree-sha1 = "81690084b6198a2e1da36fcfda16eeca9f9f24e4" +uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" +version = "0.21.1" + +[[JSONSchema]] +deps = ["HTTP", "JSON", "ZipFile"] +git-tree-sha1 = "b84ab8139afde82c7c65ba2b792fe12e01dd7307" +uuid = "7d188eb4-7ad8-530c-ae41-71a32a6d4692" +version = "0.3.3" + +[[JuMP]] +deps = ["Calculus", "DataStructures", "ForwardDiff", "JSON", "LinearAlgebra", "MathOptInterface", "MutableArithmetics", "NaNMath", "Random", "SparseArrays", "Statistics"] +git-tree-sha1 = "57c17a221a55f81890aabf00f478886859e25eaf" +uuid = "4076af6c-e467-56ae-b986-b466b2749572" +version = "0.21.5" + +[[Juniper]] +deps = ["Distributed", "JSON", "JuMP", "LinearAlgebra", "MathOptInterface", "Random", "Statistics"] +git-tree-sha1 = "bba4082358fea81054955e70d48c908989a975da" +uuid = "2ddba703-00a4-53a7-87a5-e8b9971dde84" +version = "0.6.5" + +[[LibGit2]] +uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" + +[[Libdl]] +uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" + +[[LineSearches]] +deps = ["LinearAlgebra", "NLSolversBase", "NaNMath", "Parameters", "Printf"] +git-tree-sha1 = "f27132e551e959b3667d8c93eae90973225032dd" +uuid = "d3d80556-e9d4-5f37-9878-2ab0fcc64255" +version = "7.1.1" + +[[LinearAlgebra]] +deps = ["Libdl"] +uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" + +[[Logging]] +uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" + +[[METIS_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "2dc1a9fc87e57e32b1fc186db78811157b30c118" +uuid = "d00139f3-1899-568f-a2f0-47f597d42d70" +version = "5.1.0+5" + +[[MUMPS_seq_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "METIS_jll", "OpenBLAS32_jll", "Pkg"] +git-tree-sha1 = "1a11a84b2af5feb5a62a820574804056cdc59c39" +uuid = "d7ed1dd3-d0ae-5e8e-bfb4-87a502085b8d" +version = "5.2.1+4" + +[[MacroTools]] +deps = ["Markdown", "Random"] +git-tree-sha1 = "6a8a2a625ab0dea913aba95c11370589e0239ff0" +uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" +version = "0.5.6" + +[[Markdown]] +deps = ["Base64"] +uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" + +[[MathOptInterface]] +deps = ["BenchmarkTools", "CodecBzip2", "CodecZlib", "JSON", "JSONSchema", "LinearAlgebra", "MutableArithmetics", "OrderedCollections", "SparseArrays", "Test", "Unicode"] +git-tree-sha1 = "c4788b9cb29f8d1508e16419e66a7e617b46192d" +uuid = "b8f27783-ece8-5eb3-8dc8-9495eed66fee" +version = "0.9.19" + +[[MathProgBase]] +deps = ["LinearAlgebra", "SparseArrays"] +git-tree-sha1 = "9abbe463a1e9fc507f12a69e7f29346c2cdc472c" +uuid = "fdba3010-5040-5b88-9595-932c9decdf73" +version = "0.7.8" + +[[MbedTLS]] +deps = ["BinaryProvider", "Dates", "Distributed", "Libdl", "Random", "Sockets", "Test"] +git-tree-sha1 = "2d94286a9c2f52c63a16146bb86fd6cdfbf677c6" +uuid = "739be429-bea8-5141-9913-cc70e7f3736d" +version = "0.6.8" + +[[Memento]] +deps = ["Dates", "Distributed", "JSON", "Serialization", "Sockets", "Syslogs", "Test", "TimeZones", "UUIDs"] +git-tree-sha1 = "d6dfb54d7e8a9b4a2b1773acf7275a4f607906b2" +uuid = "f28f55f0-a522-5efc-85c2-fe41dfb9b2d9" +version = "1.1.2" + +[[Mmap]] +uuid = "a63ad114-7e13-5084-954f-fe012c677804" + +[[Mocking]] +deps = ["ExprTools"] +git-tree-sha1 = "916b850daad0d46b8c71f65f719c49957e9513ed" +uuid = "78c3b35d-d492-501b-9361-3d52fe80e533" +version = "0.7.1" + +[[MutableArithmetics]] +deps = ["LinearAlgebra", "SparseArrays", "Test"] +git-tree-sha1 = "6b6bb8f550dc38310afd4a0af0786dc3222459e2" +uuid = "d8a4904e-b15c-11e9-3269-09a3773c0cb0" +version = "0.2.14" + +[[NLSolversBase]] +deps = ["Calculus", "DiffEqDiffTools", "DiffResults", "Distributed", "ForwardDiff"] +git-tree-sha1 = "f1b8ed89fa332f410cfc7c937682eb4d0b361521" +uuid = "d41bc354-129a-5804-8e4c-c37616107c6c" +version = "7.5.0" + +[[NLsolve]] +deps = ["Distances", "LineSearches", "LinearAlgebra", "NLSolversBase", "Printf", "Reexport"] +git-tree-sha1 = "019f12e9a1a7880459d0173c182e6a99365d7ac1" +uuid = "2774e3e8-f4cf-5e23-947b-6d7e65073b56" +version = "4.5.1" + +[[NaNMath]] +git-tree-sha1 = "bfe47e760d60b82b66b61d2d44128b62e3a369fb" +uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" +version = "0.3.5" + +[[OpenBLAS32_jll]] +deps = ["CompilerSupportLibraries_jll", "Libdl", "Pkg"] +git-tree-sha1 = "793b33911239d2651c356c823492b58d6490d36a" +uuid = "656ef2d0-ae68-5445-9ca0-591084a874a2" +version = "0.3.9+4" + +[[OrderedCollections]] +git-tree-sha1 = "cf59cfed2e2c12e8a2ff0a4f1e9b2cd8650da6db" +uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" +version = "1.3.2" + +[[Osi_jll]] +deps = ["Artifacts", "CoinUtils_jll", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "OpenBLAS32_jll", "Pkg"] +git-tree-sha1 = "ef540e28c9b82cb879e33c0885e1bbc9a1e6c571" +uuid = "7da25872-d9ce-5375-a4d3-7a845f58efdd" +version = "0.108.5+4" + +[[Parameters]] +deps = ["OrderedCollections", "UnPack"] +git-tree-sha1 = "38b2e970043613c187bd56a995fe2e551821eb4a" +uuid = "d96e819e-fc66-5662-9728-84c9c7592b0a" +version = "0.12.1" + +[[Parsers]] +deps = ["Dates"] +git-tree-sha1 = "50c9a9ed8c714945e01cd53a21007ed3865ed714" +uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" +version = "1.0.15" + +[[Pkg]] +deps = ["Dates", "LibGit2", "Markdown", "Printf", "REPL", "Random", "SHA", "UUIDs"] +uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" + +[[PowerModels]] +deps = ["InfrastructureModels", "JSON", "JuMP", "LinearAlgebra", "MathOptInterface", "Memento", "NLsolve", "SparseArrays"] +git-tree-sha1 = "c2fb05fb9e8d4384416f5201986c800614207d5d" +uuid = "c36e90e8-916a-50a6-bd94-075b64ef4655" +version = "0.17.3" + +[[Printf]] +deps = ["Unicode"] +uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" + +[[REPL]] +deps = ["InteractiveUtils", "Markdown", "Sockets"] +uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" + +[[Random]] +deps = ["Serialization"] +uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" + +[[RecipesBase]] +git-tree-sha1 = "b3fb709f3c97bfc6e948be68beeecb55a0b340ae" +uuid = "3cdcf5f2-1ef4-517c-9805-6587b60abb01" +version = "1.1.1" + +[[Reexport]] +git-tree-sha1 = "57d8440b0c7d98fc4f889e478e80f268d534c9d5" +uuid = "189a3867-3050-52da-a836-e630ba90ab69" +version = "1.0.0" + +[[Requires]] +deps = ["UUIDs"] +git-tree-sha1 = "cfbac6c1ed70c002ec6361e7fd334f02820d6419" +uuid = "ae029012-a4dd-5104-9daa-d747884805df" +version = "1.1.2" + +[[SHA]] +uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" + +[[Serialization]] +uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" + +[[SharedArrays]] +deps = ["Distributed", "Mmap", "Random", "Serialization"] +uuid = "1a1011a3-84de-559e-8e89-a11a2f7dc383" + +[[Sockets]] +uuid = "6462fe0b-24de-5631-8697-dd941f90decc" + +[[SparseArrays]] +deps = ["LinearAlgebra", "Random"] +uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" + +[[SpecialFunctions]] +deps = ["BinDeps", "BinaryProvider", "Libdl"] +git-tree-sha1 = "3bdd374b6fd78faf0119b8c5d538788dbf910c6e" +uuid = "276daf66-3868-5448-9aa4-cd146d93841b" +version = "0.8.0" + +[[StaticArrays]] +deps = ["LinearAlgebra", "Random", "Statistics"] +git-tree-sha1 = "da4cf579416c81994afd6322365d00916c79b8ae" +uuid = "90137ffa-7385-5640-81b9-e52037218182" +version = "0.12.5" + +[[Statistics]] +deps = ["LinearAlgebra", "SparseArrays"] +uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" + +[[Syslogs]] +deps = ["Printf", "Sockets"] +git-tree-sha1 = "46badfcc7c6e74535cc7d833a91f4ac4f805f86d" +uuid = "cea106d9-e007-5e6c-ad93-58fe2094e9c4" +version = "0.3.0" + +[[Test]] +deps = ["Distributed", "InteractiveUtils", "Logging", "Random"] +uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" + +[[TimeZones]] +deps = ["Dates", "EzXML", "Mocking", "Pkg", "Printf", "RecipesBase", "Serialization", "Unicode"] +git-tree-sha1 = "4ba8a9579a243400db412b50300cd61d7447e583" +uuid = "f269a46b-ccf7-5d73-abea-4c690281aa53" +version = "1.5.3" + +[[TranscodingStreams]] +deps = ["Random", "Test"] +git-tree-sha1 = "7c53c35547de1c5b9d46a4797cf6d8253807108c" +uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" +version = "0.9.5" + +[[URIParser]] +deps = ["Unicode"] +git-tree-sha1 = "53a9f49546b8d2dd2e688d216421d050c9a31d0d" +uuid = "30578b45-9adc-5946-b283-645ec420af67" +version = "0.4.1" + +[[URIs]] +git-tree-sha1 = "7855809b88d7b16e9b029afd17880930626f54a2" +uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4" +version = "1.2.0" + +[[UUIDs]] +deps = ["Random", "SHA"] +uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" + +[[UnPack]] +git-tree-sha1 = "387c1f73762231e86e0c9c5443ce3b4a0a9a0c2b" +uuid = "3a884ed6-31ef-47d7-9d2a-63182c4928ed" +version = "1.0.2" + +[[Unicode]] +uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" + +[[ZipFile]] +deps = ["BinaryProvider", "Libdl", "Printf"] +git-tree-sha1 = "7fbfbc51c186f0ccdbe091f32d3dff8608973f8e" +uuid = "a5390f91-8eb1-5f08-bee0-b1d1ffed6cea" +version = "0.8.4" diff --git a/pandapower/opf/PpPmInterface/Project.toml b/pandapower/opf/PpPmInterface/Project.toml index ae2153a7d..12d6b5208 100644 --- a/pandapower/opf/PpPmInterface/Project.toml +++ b/pandapower/opf/PpPmInterface/Project.toml @@ -3,6 +3,15 @@ uuid = "a37bc775-f9aa-4bb0-a6c1-f424a7a25bdb" authors = ["e2nIEE"] version = "0.1.0" +[deps] +Cbc = "9961bab8-2fa3-5c5a-9d89-47fab24efd76" +Gurobi = "2e9cd046-0924-5485-92f1-d5272153d98b" +Ipopt = "b6b21f68-93f8-5de0-b562-5493be1d77c9" +JSON = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" +JuMP = "4076af6c-e467-56ae-b986-b466b2749572" +Juniper = "2ddba703-00a4-53a7-87a5-e8b9971dde84" +PowerModels = "c36e90e8-916a-50a6-bd94-075b64ef4655" + [compat] julia = "1" From 0bb5678d41670c9abdf40792345a5ab18efe3270 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Thu, 21 Jan 2021 13:55:47 +0100 Subject: [PATCH 014/422] first draft of README --- pandapower/opf/PpPmInterface/README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/pandapower/opf/PpPmInterface/README.md b/pandapower/opf/PpPmInterface/README.md index 4631fdc03..b8b67615b 100644 --- a/pandapower/opf/PpPmInterface/README.md +++ b/pandapower/opf/PpPmInterface/README.md @@ -1,3 +1,14 @@ # PpPmInterface [![Coverage](https://codecov.io/gh/MMajidi137/PpPmInterface.jl/branch/master/graph/badge.svg)](https://codecov.io/gh/MMajidi137/PpPmInterface.jl) + + +[PpPmInterface](https://github.com/MMajidi137/pandapower/tree/JuliaPkg/pandapower/opf/PpPmInterface) is a local/inner [Julia](https://julialang.org/)/[JuMP](https://github.com/JuliaOpt/JuMP.jl) package, part of pandapower, which containing supplementary data and codes to prepare [pandapower](https://github.com/e2nIEE/pandapower) networks in a compatible format for [PowerModels.jl](https://github.com/lanl-ansi/PowerModels.jl) and run opf. + +**Dependencies:** + +**Instructions:** + +**Running the Code:** + +**Example and TestCase:** From 74ab7f4f3202d7b8edaa08010240c0b66dfaed94 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Thu, 21 Jan 2021 13:57:03 +0100 Subject: [PATCH 015/422] First draft : MUST DEBUG! --- .../opf/PpPmInterface/src/PpPmInterface.jl | 38 +++++- .../opf/PpPmInterface/src/input/pp_to_pm.jl | 123 ++++++++++++++++++ .../src/pm_models/run_powermodels.jl | 52 ++++++++ .../pm_models/run_powermodels_mn_storage.jl | 60 +++++++++ .../src/pm_models/run_powermodels_ots.jl | 17 +++ .../pm_models/run_powermodels_powerflow.jl | 20 +++ .../src/pm_models/run_powermodels_tnep.jl | 17 +++ 7 files changed, 326 insertions(+), 1 deletion(-) create mode 100644 pandapower/opf/PpPmInterface/src/input/pp_to_pm.jl create mode 100644 pandapower/opf/PpPmInterface/src/pm_models/run_powermodels.jl create mode 100644 pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_mn_storage.jl create mode 100644 pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_ots.jl create mode 100644 pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_powerflow.jl create mode 100644 pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_tnep.jl diff --git a/pandapower/opf/PpPmInterface/src/PpPmInterface.jl b/pandapower/opf/PpPmInterface/src/PpPmInterface.jl index 411ee5dce..3e2c08c04 100644 --- a/pandapower/opf/PpPmInterface/src/PpPmInterface.jl +++ b/pandapower/opf/PpPmInterface/src/PpPmInterface.jl @@ -1,5 +1,41 @@ module PpPmInterface -# Write your package code here. +import JuMP +import JSON +import PowerModels +using Cbc +using Ipopt +using Juniper + +try + using Gurobi +catch e + if isa(e, LoadError) + println("Cannot import Gurobi. That's fine if you do not plan to use it") + end +end + +try + using KNITRO +catch e + if isa(e, LoadError) + println("Cannot import KNITRO. That's fine if you do not plan to use it") + end +end + +try + using SCIP +catch e + if isa(e, LoadError) + println("Cannot import SCIP. That's fine if you do not plan to use it") + end +end + +include("input/pp_2_pm.jl") +include("pm_models/run_powermodels.jl") +include("pm_models/run_powermodels_mn_storage.jl") +include("pm_models/run_powermodels_ots.jl") +include("pm_models/run_powermodels_powerflow.jl") +include("pm_models/run_powermodels_tnep.jl") end diff --git a/pandapower/opf/PpPmInterface/src/input/pp_to_pm.jl b/pandapower/opf/PpPmInterface/src/input/pp_to_pm.jl new file mode 100644 index 000000000..aafd4a33c --- /dev/null +++ b/pandapower/opf/PpPmInterface/src/input/pp_to_pm.jl @@ -0,0 +1,123 @@ +# module PP2PM +# export load_pm_from_json, get_model, get_solver + +# import JSON +# using PowerModels +# using Cbc +# using Ipopt +# using Juniper +# import JuMP + + +# try +# using Gurobi +# catch e +# if isa(e, LoadError) +# println("Cannot import Gurobi. That's fine if you do not plan to use it") +# end +# end + +# try +# using KNITRO +# catch e +# if isa(e, LoadError) +# println("Cannot import KNITRO. That's fine if you do not plan to use it") +# end +# end + +# try +# using SCIP +# catch e +# if isa(e, LoadError) +# println("Cannot import SCIP. That's fine if you do not plan to use it") +# end +# end + + +function get_model(model_type) + """ + gets the model function + model_type (str) - examples: "ACPPowerModel", "DCPPowerModel", "SOCWRPowerModel"... + see: https://lanl-ansi.github.io/PowerModels.jl/stable/formulation-details/ + """ + s = Symbol(model_type) + return getfield(Main, s) +end + +function get_solver(optimizer::String, nl::String="ipopt", mip::String="cbc", + log_level::Int=0, time_limit::Float64=Inf, nl_time_limit::Float64=Inf, + mip_time_limit::Float64=Inf, ipopt_tol::Float64=1e-8) + + if optimizer == "gurobi" + solver = JuMP.optimizer_with_attributes(Gurobi.Optimizer, "TimeLimit" => time_limit, "OutputFlag" => log_level) + end + + if optimizer == "ipopt" + solver = JuMP.optimizer_with_attributes(Ipopt.Optimizer, "print_level" => log_level, "max_cpu_time" => time_limit, + "tol" => ipopt_tol) + end + + if optimizer == "juniper" && nl == "ipopt" && mip == "cbc" + mip_solver = JuMP.optimizer_with_attributes(Cbc.Optimizer, "logLevel" => log_level, "seconds" => mip_time_limit) + nl_solver = JuMP.optimizer_with_attributes(Ipopt.Optimizer, "print_level" => log_level, "max_cpu_time" => nl_time_limit) + solver = JuMP.optimizer_with_attributes(Juniper.Optimizer, + "nl_solver" => nl_solver, + "mip_solver" => mip_solver, + "log_levels" => [], + "time_limit" => time_limit) + end + + if optimizer == "juniper" && nl == "gurobi" && mip == "cbc" + mip_solver = JuMP.optimizer_with_attributes(Cbc.Optimizer, "logLevel" => log_level, "seconds" => mip_time_limit) + nl_solver = JuMP.optimizer_with_attributes(Gurobi.Optimizer, "TimeLimit" => nl_time_limit) + solver = JuMP.optimizer_with_attributes(Juniper.Optimizer, + "nl_solver" => nl_solver, + "mip_solver" => mip_solver, + "log_levels" => [], + "time_limit" => time_limit) + end + + if optimizer == "juniper" && nl == "gurobi" && mip == "gurobi" + mip_solver = JuMP.optimizer_with_attributes(Gurobi.Optimizer, "TimeLimit" => mip_time_limit) + nl_solver = JuMP.optimizer_with_attributes(Gurobi.Optimizer, "TimeLimit" => nl_time_limit) + solver = JuMP.optimizer_with_attributes(Juniper.Optimizer, + "nl_solver" => nl_solver, + "mip_solver" => mip_solver, + "log_levels" => [], + "time_limit" => time_limit) + end + + if optimizer == "knitro" + solver = JuMP.optimizer_with_attributes(KNITRO.Optimizer) + end + + if optimizer == "cbc" + solver = JuMP.optimizer_with_attributes(Cbc.Optimizer, "seconds" => time_limit) + end + + if optimizer == "scip" + solver = JuMP.optimizer_with_attributes(SCIP.Optimizer) + end + + return solver + +end + +function load_pm_from_json(json_path) + pm = Dict() + open(json_path, "r") do f + pm = JSON.parse(f) # parse and transform data + end + + for (idx, gen) in pm["gen"] + if gen["model"] == 1 + pm["gen"][idx]["cost"] = convert(Array{Float64,1}, gen["cost"]) + end + end + if pm["correct_pm_network_data"] + correct_network_data!(pm) + end + return pm +end + +# end diff --git a/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels.jl b/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels.jl new file mode 100644 index 000000000..677a603cf --- /dev/null +++ b/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels.jl @@ -0,0 +1,52 @@ +# using PowerModels +# # push!(LOAD_PATH, joinpath(homedir(), "pandapower", "pandapower", "opf")) +# push!(LOAD_PATH, joinpath(@__DIR__, "pandapower", "pandapower", "opf")) +# using PP2PM + +function run_powermodels(json_path) + pm = load_pm_from_json(json_path) + model = get_model(pm["pm_model"]) + # + solver = get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], + pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) + + if haskey(pm["branch"]["1"],"c_rating_a") + for (key, value) in pm["gen"] + # value["pmin"] = 0 + value["pmax"] *= 0.01 + value["qmax"] *= 0.01 + value["qmin"] *= 0.01 + value["pg"] *= 0.01 + value["qg"] *= 0.01 + value["cost"] *= 100 + end + + for (key, value) in pm["branch"] + value["c_rating_a"] *= 0.01 + end + + for (key, value) in pm["load"] + value["pd"] *= 0.01 + value["qd"] *= 0.01 + end + + # pm["bus"]["4"]["vmax"] = 1.1 + # pm["bus"]["4"]["vmin"] = 0.9 + + result = PowerModels._run_opf_cl(pm, model, solver, + setting = Dict("output" => Dict("branch_flows" => true))) + else + result = PowerModels.run_opf(pm, model, solver, + setting = Dict("output" => Dict("branch_flows" => true))) + end + return result +end + + +# json_path = "C:/Users/fmeier/pandapower/pandapower/test/opf/case5_clm_matfile_va.json" +# # #@enter run_powermodels(json_path) +# # +# result = run_powermodels(json_path) +# println(result["termination_status"] == LOCALLY_SOLVED) +# println(isapprox(result["objective"], 17015.5; atol = 1e0)) +# mit eingeschränkter slack spannung: 17082.819507648066 diff --git a/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_mn_storage.jl b/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_mn_storage.jl new file mode 100644 index 000000000..d0fd172f6 --- /dev/null +++ b/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_mn_storage.jl @@ -0,0 +1,60 @@ +# using PowerModels +# using Ipopt +# using Gurobi +# using JuMP +# import JSON +# # push!(LOAD_PATH, joinpath(homedir(), "pandapower", "pandapower", "opf")) +# push!(LOAD_PATH, joinpath(@__DIR__, "pandapower", "pandapower", "opf")) +# using PP2PM + +function read_time_series(json_path) + time_series = Dict() + open(json_path, "r") do f + time_series = JSON.parse(f) # parse and transform data + end + return time_series +end + +function set_pq_values_from_timeseries(mn, time_series) + # This function iterates over multinetwork entries and sets p, q values + # of loads and "sgens" (which are loads with negative P and Q values) + + # iterate over networks (which represent the time steps) + for (t, network) in mn["nw"] + t_j = string(parse(Int64,t) - 1) + # iterate over all loads for this network + for (i, load) in network["load"] + # update variables from time series here +# print("\nload before: ") +# print(load["pd"]) + load["pd"] = time_series[t_j][parse(Int64,i)] / mn["baseMVA"] +# print("\nload after: ") +# print(load["pd"]) + end + end + + return mn +end + +function run_powermodels(json_path) + # load converted pandapower network + pm = PP2PM.load_pm_from_json(json_path) + # copy network n_time_steps time step times + n_time_steps = pm["n_time_steps"] + mn = PowerModels.replicate(pm, pm["n_time_steps"]) + mn["time_elapsed"] = pm["time_elapsed"] + # set P, Q values of loads and generators from time series + if isfile("/tmp/timeseries.json") + time_series = read_time_series("/tmp/timeseries.json") + mn = set_pq_values_from_timeseries(mn, time_series) + else + print("Running storage without time series") + end + + ipopt_solver = JuMP.with_optimizer(Ipopt.Optimizer, print_level = 0) + + # run multinetwork storage opf + result = PowerModels._run_mn_strg_opf(mn, PowerModels.ACPPowerModel, ipopt_solver) + print_summary(result) + return result +end diff --git a/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_ots.jl b/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_ots.jl new file mode 100644 index 000000000..c34a6c327 --- /dev/null +++ b/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_ots.jl @@ -0,0 +1,17 @@ +# using PowerModels +# # push!(LOAD_PATH, joinpath(homedir(), "pandapower", "pandapower", "opf")) +# push!(LOAD_PATH, joinpath(@__DIR__, "pandapower", "pandapower", "opf")) +# using PP2PM + +function run_powermodels(json_path) + # function to run optimal transmission switching (OTS) optimization from powermodels.jl + pm = load_pm_from_json(json_path) + model = get_model(pm["pm_model"]) + + solver = get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], + pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) + + result = PowerModels.run_ots(pm, model, solver, + setting = Dict("output" => Dict("branch_flows" => true))) + return result +end diff --git a/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_powerflow.jl b/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_powerflow.jl new file mode 100644 index 000000000..bf2dd5331 --- /dev/null +++ b/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_powerflow.jl @@ -0,0 +1,20 @@ +# using PowerModels +# # push!(LOAD_PATH, joinpath(homedir(), "pandapower", "pandapower", "opf")) +# push!(LOAD_PATH, joinpath(@__DIR__, "pandapower", "pandapower", "opf")) +# using PP2PM + +function run_powermodels(json_path) + pm = load_pm_from_json(json_path) + + model = get_model(pm["pm_model"]) + + solver = get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], + pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) + + result = PowerModels.run_pf(pm, model, solver) + # add branch flows + PowerModels.update_data!(pm, result["solution"]) + flows = PowerModels.calc_branch_flow_ac(pm) + PowerModels.update_data!(result["solution"], flows) + return result +end diff --git a/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_tnep.jl b/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_tnep.jl new file mode 100644 index 000000000..f065bddc4 --- /dev/null +++ b/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_tnep.jl @@ -0,0 +1,17 @@ +# using PowerModels +# # push!(LOAD_PATH, joinpath(homedir(), "pandapower", "pandapower", "opf")) +# push!(LOAD_PATH, joinpath(@__DIR__, "pandapower", "pandapower", "opf")) +# using PP2PM + +function run_powermodels(json_path) + pm = load_pm_from_json(json_path) + model = get_model(pm["pm_model"]) + + solver = get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], + pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) + + # function to run transmission network expansion optimization of powermodels.jl + result = PowerModels.run_tnep(pm, model, solver, + setting = Dict("output" => Dict("branch_flows" => true))) + return result +end From e8cf7d0b5ec8438e8911e8d354e9338ba810feee Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Thu, 28 Jan 2021 15:32:41 +0100 Subject: [PATCH 016/422] python script to convert pp net into compatible json file --- .../PpPmInterface/test/create_test_json.py | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 pandapower/opf/PpPmInterface/test/create_test_json.py diff --git a/pandapower/opf/PpPmInterface/test/create_test_json.py b/pandapower/opf/PpPmInterface/test/create_test_json.py new file mode 100644 index 000000000..913b847ee --- /dev/null +++ b/pandapower/opf/PpPmInterface/test/create_test_json.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +""" +Created on Thu Jan 28 13:35:35 2021 + +@author: x230 +""" +import os +import pathlib +import simbench as sb +import pandapower as pp +# from pandapower import pp_dir +from pandapower.converter.powermodels.to_pm import convert_pp_to_pm + +grid_code = "1-HV-urban--0-sw" +net = sb.get_simbench_net(grid_code) +pp.runpp(net) + +# pkg_dir = pathlib.Path(pp_dir, "pandapower", "opf", "PpPmInterface") #general direction +pkg_dir = pathlib.Path(pathlib.Path.home(), "pandapower", "pandapower", "opf", "PpPmInterface") +json_path = os.path.join(pkg_dir, "test" , "test_net.json") + +test_net = convert_pp_to_pm(net, pm_file_path=json_path, correct_pm_network_data=True, calculate_voltage_angles=True, ac=True, + trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, + pp_to_pm_callback=None, pm_model="DCPPowerModel", pm_solver="ipopt", + pm_mip_solver="cbc", pm_nl_solver="ipopt") \ No newline at end of file From 62a551d152c5d84dffb55fb008b7a43b7e637bd5 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Thu, 28 Jan 2021 15:33:05 +0100 Subject: [PATCH 017/422] test_net json file --- pandapower/opf/PpPmInterface/test/test_net.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 pandapower/opf/PpPmInterface/test/test_net.json diff --git a/pandapower/opf/PpPmInterface/test/test_net.json b/pandapower/opf/PpPmInterface/test/test_net.json new file mode 100644 index 000000000..91bdf6002 --- /dev/null +++ b/pandapower/opf/PpPmInterface/test/test_net.json @@ -0,0 +1 @@ +{"gen": {"1": {"pg": 0.0, "qg": 0.0, "gen_bus": 1, "vg": 1.068, "qmax": 1000000000.0, "gen_status": 1, "qmin": -1000000000.0, "pmin": -1000000000.0, "pmax": 1000000000.0, "index": 1, "model": 2, "ncost": 3, "cost": [0, 1.0, 0.0]}}, "branch": {"1": {"index": 1, "transformer": false, "br_r": 4.2376047520661155e-05, "br_x": 0.00011455077685950415, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.08010033389049999, "b_to": 0.08010033389049999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 4, "t_bus": 41, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "2": {"index": 2, "transformer": false, "br_r": 5.2846057438016523e-05, "br_x": 0.0001428532694214876, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.09989102554969999, "b_to": 0.09989102554969999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 26, "t_bus": 77, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "3": {"index": 3, "transformer": false, "br_r": 5.2846057438016523e-05, "br_x": 0.0001428532694214876, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.09989102554969999, "b_to": 0.09989102554969999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 26, "t_bus": 77, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "4": {"index": 4, "transformer": false, "br_r": 3.89280826446281e-05, "br_x": 3.909464378512397e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.3722572551710002, "b_to": 1.3722572551710002, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 67, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "5": {"index": 5, "transformer": false, "br_r": 2.796371074380165e-05, "br_x": 2.808335875206612e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.9857512197555001, "b_to": 0.9857512197555001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 14, "t_bus": 36, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "6": {"index": 6, "transformer": false, "br_r": 6.59696347107438e-05, "br_x": 6.625189822975207e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 2.3255013785091, "b_to": 2.3255013785091, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 57, "t_bus": 3, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "7": {"index": 7, "transformer": false, "br_r": 2.8893701652892566e-05, "br_x": 7.810534876033059e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0546156445714, "b_to": 0.0546156445714, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 12, "t_bus": 14, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "8": {"index": 8, "transformer": false, "br_r": 3.762483347107438e-05, "br_x": 0.00010170731239669423, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0711194625251, "b_to": 0.0711194625251, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 36, "t_bus": 37, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "9": {"index": 9, "transformer": false, "br_r": 3.099420123966943e-05, "br_x": 8.378341157024796e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0585860648461, "b_to": 0.0585860648461, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 26, "t_bus": 55, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "10": {"index": 10, "transformer": false, "br_r": 3.256077520661157e-05, "br_x": 8.801816859504134e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0615472446908, "b_to": 0.0615472446908, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 42, "t_bus": 55, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "11": {"index": 11, "transformer": false, "br_r": 2.0578217355371903e-05, "br_x": 5.562696198347109e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.038897494633799996, "b_to": 0.038897494633799996, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 42, "t_bus": 54, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "12": {"index": 12, "transformer": false, "br_r": 7.445407933884298e-06, "br_x": 7.477264515371902e-06, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.26245872801522, "b_to": 0.26245872801522, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 33, "t_bus": 37, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "13": {"index": 13, "transformer": false, "br_r": 9.478265702479341e-06, "br_x": 2.5621613223140504e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.017916070324900002, "b_to": 0.017916070324900002, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 11, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "14": {"index": 14, "transformer": false, "br_r": 5.575812396694215e-05, "br_x": 0.00015072515702479341, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.105395491278, "b_to": 0.105395491278, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 5, "t_bus": 54, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "15": {"index": 15, "transformer": false, "br_r": 5.194299917355372e-05, "br_x": 0.00014041212561983474, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0981840407614, "b_to": 0.0981840407614, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 68, "t_bus": 48, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "16": {"index": 16, "transformer": false, "br_r": 6.190288388429752e-05, "br_x": 0.00016733564958677688, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1170104801657, "b_to": 0.1170104801657, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 5, "t_bus": 49, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "17": {"index": 17, "transformer": false, "br_r": 5.843608429752066e-06, "br_x": 5.8686114100826455e-06, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.20599355322249005, "b_to": 0.20599355322249005, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 60, "t_bus": 72, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "18": {"index": 18, "transformer": false, "br_r": 2.9501471900826447e-05, "br_x": 7.974827107438018e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0557644680846, "b_to": 0.0557644680846, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 16, "t_bus": 43, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "19": {"index": 19, "transformer": false, "br_r": 2.0578217355371903e-05, "br_x": 5.562696198347109e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.038897494633799996, "b_to": 0.038897494633799996, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 42, "t_bus": 54, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "20": {"index": 20, "transformer": false, "br_r": 6.190288388429752e-05, "br_x": 0.00016733564958677688, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1170104801657, "b_to": 0.1170104801657, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 5, "t_bus": 49, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "21": {"index": 21, "transformer": false, "br_r": 9.421886776859506e-05, "br_x": 0.00025469209917355375, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.178095013778, "b_to": 0.178095013778, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 50, "t_bus": 78, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "22": {"index": 22, "transformer": false, "br_r": 8.453047066115704e-05, "br_x": 0.0002285024595041323, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.15978174747370003, "b_to": 0.15978174747370003, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 13, "t_bus": 50, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "23": {"index": 23, "transformer": false, "br_r": 2.492781074380165e-05, "br_x": 6.738476694214876e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.04711921192659999, "b_to": 0.04711921192659999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 77, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "24": {"index": 24, "transformer": false, "br_r": 1.7744248760330577e-05, "br_x": 4.796618842975207e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0335406517006, "b_to": 0.0335406517006, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 79, "t_bus": 51, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "25": {"index": 25, "transformer": false, "br_r": 2.1056849999999998e-05, "br_x": 5.69208e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.039802218809099996, "b_to": 0.039802218809099996, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 22, "t_bus": 47, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "26": {"index": 26, "transformer": false, "br_r": 9.588580165289255e-05, "br_x": 0.0002591981487603306, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.18124589661199997, "b_to": 0.18124589661199997, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 43, "t_bus": 74, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "27": {"index": 27, "transformer": false, "br_r": 3.43484305785124e-05, "br_x": 9.285055206611572e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0649263184966, "b_to": 0.0649263184966, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 7, "t_bus": 74, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "28": {"index": 28, "transformer": false, "br_r": 2.177430123966942e-05, "br_x": 5.886021157024794e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0411583642547, "b_to": 0.0411583642547, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 7, "t_bus": 26, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "29": {"index": 29, "transformer": false, "br_r": 1.7906688842975205e-05, "br_x": 4.84052958677686e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0338477002721, "b_to": 0.0338477002721, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 9, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "30": {"index": 30, "transformer": false, "br_r": 4.6210990909090905e-05, "br_x": 0.00012491738181818183, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0873492460434, "b_to": 0.0873492460434, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 48, "t_bus": 65, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "31": {"index": 31, "transformer": false, "br_r": 2.8893701652892566e-05, "br_x": 7.810534876033059e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0546156445714, "b_to": 0.0546156445714, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 12, "t_bus": 14, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "32": {"index": 32, "transformer": false, "br_r": 1.1175968181818184e-05, "br_x": 3.0210836363636368e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0211251127769, "b_to": 0.0211251127769, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 35, "t_bus": 55, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "33": {"index": 33, "transformer": false, "br_r": 0.0004672844628099174, "br_x": 0.0012631616528925621, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.88327353972, "b_to": 0.88327353972, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 15, "t_bus": 56, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "34": {"index": 34, "transformer": false, "br_r": 1.6740921074380167e-05, "br_x": 4.5253996694214874e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0316441349807, "b_to": 0.0316441349807, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 62, "t_bus": 73, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "35": {"index": 35, "transformer": false, "br_r": 0.00023777789256198347, "br_x": 0.0006427603305785125, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.44945410674999997, "b_to": 0.44945410674999997, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 45, "t_bus": 52, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "36": {"index": 36, "transformer": false, "br_r": 9.808123140495869e-06, "br_x": 2.6513282644628102e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.018539575641399998, "b_to": 0.018539575641399998, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 54, "t_bus": 80, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "37": {"index": 37, "transformer": false, "br_r": 1.7537194214876032e-05, "br_x": 4.7406479338842984e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.033149271683, "b_to": 0.033149271683, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 7, "t_bus": 44, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "38": {"index": 38, "transformer": false, "br_r": 0.00024048824380165288, "br_x": 0.0006500869421487605, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.454577284865, "b_to": 0.454577284865, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 15, "t_bus": 52, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "39": {"index": 39, "transformer": false, "br_r": 1.8214917768595044e-05, "br_x": 4.923849917355373e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0344303227983, "b_to": 0.0344303227983, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 31, "t_bus": 60, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "40": {"index": 40, "transformer": false, "br_r": 1.4756527685950414e-05, "br_x": 3.9889791735537195e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.027893181735099998, "b_to": 0.027893181735099998, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 44, "t_bus": 61, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "41": {"index": 41, "transformer": false, "br_r": 1.3625872314049586e-05, "br_x": 3.6833408264462816e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0257559868313, "b_to": 0.0257559868313, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 44, "t_bus": 61, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "42": {"index": 42, "transformer": false, "br_r": 0.0001310841694214876, "br_x": 0.0003543462479338843, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.24777878902699998, "b_to": 0.24777878902699998, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 6, "t_bus": 61, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "43": {"index": 43, "transformer": false, "br_r": 4.6897040082644637e-05, "br_x": 0.00012677190743801657, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.08864603446710001, "b_to": 0.08864603446710001, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 23, "t_bus": 62, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "44": {"index": 44, "transformer": false, "br_r": 0.00011679939669421486, "br_x": 0.0003157317024793389, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.22077733108199998, "b_to": 0.22077733108199998, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 46, "t_bus": 43, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "45": {"index": 45, "transformer": false, "br_r": 6.848835867768595e-06, "br_x": 1.8513748099173555e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.01294585200524, "b_to": 0.01294585200524, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 25, "t_bus": 48, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "46": {"index": 46, "transformer": false, "br_r": 3.256077520661157e-05, "br_x": 8.801816859504134e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0615472446908, "b_to": 0.0615472446908, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 42, "t_bus": 55, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "47": {"index": 47, "transformer": false, "br_r": 8.471372479338843e-05, "br_x": 0.00022899783140495873, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.16012813931619999, "b_to": 0.16012813931619999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 79, "t_bus": 3, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "48": {"index": 48, "transformer": false, "br_r": 0.00029743005371900825, "br_x": 0.000804011834710744, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.562210210859, "b_to": 0.562210210859, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 59, "t_bus": 74, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "49": {"index": 49, "transformer": false, "br_r": 8.12613979338843e-06, "br_x": 2.196655140495868e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.015360245911889999, "b_to": 0.015360245911889999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 27, "t_bus": 49, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "50": {"index": 50, "transformer": false, "br_r": 3.762483347107438e-05, "br_x": 0.00010170731239669423, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0711194625251, "b_to": 0.0711194625251, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 36, "t_bus": 37, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "51": {"index": 51, "transformer": false, "br_r": 0.0001394704214876033, "br_x": 0.0003770159338842976, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.263630706086, "b_to": 0.263630706086, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 24, "t_bus": 79, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "52": {"index": 52, "transformer": false, "br_r": 0.00011251260743801652, "br_x": 0.00030414366942148763, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.212674327833, "b_to": 0.212674327833, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 78, "t_bus": 81, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "53": {"index": 53, "transformer": false, "br_r": 3.099420123966943e-05, "br_x": 8.378341157024796e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0585860648461, "b_to": 0.0585860648461, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 26, "t_bus": 55, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "54": {"index": 54, "transformer": false, "br_r": 0.00012475126859504132, "br_x": 0.00033722717355371903, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.23580817118099998, "b_to": 0.23580817118099998, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 10, "t_bus": 26, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "55": {"index": 55, "transformer": false, "br_r": 0.00011084386363636363, "br_x": 0.0002996327272727273, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.209520023845, "b_to": 0.209520023845, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 10, "t_bus": 64, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "56": {"index": 56, "transformer": false, "br_r": 0.00018134376446280994, "br_x": 0.0004902078016528926, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.342780814453, "b_to": 0.342780814453, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 19, "t_bus": 64, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "57": {"index": 57, "transformer": false, "br_r": 4.929586446280992e-05, "br_x": 4.95067861123967e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.7377328412642004, "b_to": 1.7377328412642004, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 33, "t_bus": 65, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "58": {"index": 58, "transformer": false, "br_r": 4.937723140495868e-05, "br_x": 4.958850119834711e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.7406011144775, "b_to": 1.7406011144775, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 33, "t_bus": 65, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "59": {"index": 59, "transformer": false, "br_r": 0.000377132479338843, "br_x": 0.001019463140495868, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.71286585898, "b_to": 0.71286585898, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 53, "t_bus": 74, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "60": {"index": 60, "transformer": false, "br_r": 5.843608429752066e-06, "br_x": 5.8686114100826455e-06, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.20599355322249005, "b_to": 0.20599355322249005, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 60, "t_bus": 72, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "61": {"index": 61, "transformer": false, "br_r": 1.326755041322314e-05, "br_x": 1.3324318128925619e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.4676955831372, "b_to": 0.4676955831372, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 11, "t_bus": 12, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "62": {"index": 62, "transformer": false, "br_r": 4.928598347107438e-05, "br_x": 4.949686284297522e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.7373845255580003, "b_to": 1.7373845255580003, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 82, "t_bus": 29, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "63": {"index": 63, "transformer": false, "br_r": 1.1055216528925618e-05, "br_x": 1.1102518357024794e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.38970840736740003, "b_to": 0.38970840736740003, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 30, "t_bus": 51, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "64": {"index": 64, "transformer": false, "br_r": 1.3728831404958676e-05, "br_x": 1.3787572798347106e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.4839562398297, "b_to": 0.4839562398297, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 29, "t_bus": 34, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "65": {"index": 65, "transformer": false, "br_r": 2.54041305785124e-05, "br_x": 2.551282694049587e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.8955232348821001, "b_to": 0.8955232348821001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 32, "t_bus": 33, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "66": {"index": 66, "transformer": false, "br_r": 2.796371074380165e-05, "br_x": 2.808335875206612e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.9857512197555001, "b_to": 0.9857512197555001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 14, "t_bus": 36, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "67": {"index": 67, "transformer": false, "br_r": 7.445407933884298e-06, "br_x": 7.477264515371902e-06, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.26245872801522, "b_to": 0.26245872801522, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 33, "t_bus": 37, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "68": {"index": 68, "transformer": false, "br_r": 6.59696347107438e-05, "br_x": 6.625189822975207e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 2.3255013785091, "b_to": 2.3255013785091, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 57, "t_bus": 3, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "69": {"index": 69, "transformer": false, "br_r": 3.9888757024793385e-05, "br_x": 4.0059428591735545e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.4061220719942003, "b_to": 1.4061220719942003, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 57, "t_bus": 67, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "70": {"index": 70, "transformer": false, "br_r": 8.088050082644629e-05, "br_x": 0.00021863587438016534, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1528824772596, "b_to": 0.1528824772596, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 17, "t_bus": 18, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "71": {"index": 71, "transformer": false, "br_r": 2.5049019834710748e-05, "br_x": 2.5156196788429757e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.8830051949103002, "b_to": 0.8830051949103002, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 57, "t_bus": 75, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "72": {"index": 72, "transformer": false, "br_r": 2.247300495867768e-05, "br_x": 2.256915994710744e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.7921978686072, "b_to": 0.7921978686072, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 57, "t_bus": 38, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "73": {"index": 73, "transformer": false, "br_r": 4.408374214876034e-05, "br_x": 4.427236275041323e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.5539998604856002, "b_to": 1.5539998604856002, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 82, "t_bus": 67, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "74": {"index": 74, "transformer": false, "br_r": 2.3274676033057853e-05, "br_x": 2.3374261122314052e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.8204576459541001, "b_to": 0.8204576459541001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 32, "t_bus": 69, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "75": {"index": 75, "transformer": false, "br_r": 4.2992598347107434e-05, "br_x": 4.317655028429752e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.5155358546438, "b_to": 1.5155358546438, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 33, "t_bus": 69, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "76": {"index": 76, "transformer": false, "br_r": 5.412071239669422e-05, "br_x": 5.43522780677686e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.9078139789049, "b_to": 1.9078139789049, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 69, "t_bus": 75, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "77": {"index": 77, "transformer": false, "br_r": 2.6158211570247933e-05, "br_x": 2.6270134409917357e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.9221054100522001, "b_to": 0.9221054100522001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 2, "t_bus": 82, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "78": {"index": 78, "transformer": false, "br_r": 8.94323520661157e-06, "br_x": 8.98150052446281e-06, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.31525876856067003, "b_to": 0.31525876856067003, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 2, "t_bus": 70, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "79": {"index": 79, "transformer": false, "br_r": 1.6851930578512396e-05, "br_x": 1.692403474049587e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.5940488826822, "b_to": 0.5940488826822, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 38, "t_bus": 70, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "80": {"index": 80, "transformer": false, "br_r": 2.413533057851239e-05, "br_x": 2.4238598140495867e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.8507966548125, "b_to": 0.8507966548125, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 2, "t_bus": 71, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "81": {"index": 81, "transformer": false, "br_r": 0.00010648920247933885, "br_x": 0.0002878612231404959, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.201288727321, "b_to": 0.201288727321, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 68, "t_bus": 47, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "82": {"index": 82, "transformer": false, "br_r": 1.4655023140495867e-05, "br_x": 1.4717727419834711e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.5166055059231001, "b_to": 0.5166055059231001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 29, "t_bus": 40, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "83": {"index": 83, "transformer": false, "br_r": 2.7664357024793388e-05, "br_x": 2.778272419173554e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.9751986755544001, "b_to": 0.9751986755544001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 2, "t_bus": 40, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "84": {"index": 84, "transformer": false, "br_r": 4.906325785123967e-05, "br_x": 4.927318424958678e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.7295332052009, "b_to": 1.7295332052009, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 66, "t_bus": 75, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "85": {"index": 85, "transformer": false, "br_r": 4.822508760330579e-05, "br_x": 4.8431427732231406e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.6999867922862002, "b_to": 1.6999867922862002, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 82, "t_bus": 39, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "86": {"index": 86, "transformer": false, "br_r": 8.979270578512396e-05, "br_x": 9.017690080495866e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 3.1652905461573, "b_to": 3.1652905461573, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 82, "t_bus": 51, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "87": {"index": 87, "transformer": false, "br_r": 2.414188429752066e-05, "br_x": 2.4245179900826447e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.8510276805360001, "b_to": 0.8510276805360001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 63, "t_bus": 81, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "88": {"index": 88, "transformer": false, "br_r": 3.89280826446281e-05, "br_x": 3.909464378512397e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.3722572551710002, "b_to": 1.3722572551710002, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 67, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "89": {"index": 89, "transformer": false, "br_r": 5.657828801652893e-05, "br_x": 0.00015294222148760334, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1069457872131, "b_to": 0.1069457872131, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 26, "t_bus": 74, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "90": {"index": 90, "transformer": false, "br_r": 6.350674214876032e-05, "br_x": 0.00017167119338842976, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.12004213578279999, "b_to": 0.12004213578279999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 4, "t_bus": 42, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "91": {"index": 91, "transformer": false, "br_r": 0.0002765101239669421, "br_x": 0.0007474611570247934, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.52266680235, "b_to": 0.52266680235, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 6, "t_bus": 21, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "92": {"index": 92, "transformer": false, "br_r": 0.0001057444214876033, "br_x": 0.0002858479338842976, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.19988092245, "b_to": 0.19988092245, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 13, "t_bus": 47, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "93": {"index": 93, "transformer": false, "br_r": 0.00025798019008264466, "br_x": 0.0006973711074380166, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.487641027698, "b_to": 0.487641027698, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 19, "t_bus": 76, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "94": {"index": 94, "transformer": false, "br_r": 9.501613636363637e-05, "br_x": 0.0002568472727272728, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.17960203211499998, "b_to": 0.17960203211499998, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 68, "t_bus": 17, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "95": {"index": 95, "transformer": false, "br_r": 5.013154338842975e-06, "br_x": 1.3551540495867768e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.009475997878049999, "b_to": 0.009475997878049999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 68, "t_bus": 73, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "96": {"index": 96, "transformer": false, "br_r": 0.00010105311570247936, "br_x": 0.0002731664132231406, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.191013291282, "b_to": 0.191013291282, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 68, "t_bus": 72, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "97": {"index": 97, "transformer": false, "br_r": 6.445857768595041e-05, "br_x": 0.00017424419173553722, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1218413206714, "b_to": 0.1218413206714, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 46, "t_bus": 20, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "98": {"index": 98, "transformer": false, "br_r": 2.020672892561983e-05, "br_x": 2.0293187224793388e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.7123091734209, "b_to": 0.7123091734209, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 28, "t_bus": 66, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "99": {"index": 99, "transformer": false, "br_r": 6.635247520661156e-05, "br_x": 0.00017936376859504133, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.12542121621699998, "b_to": 0.12542121621699998, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 17, "t_bus": 58, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "100": {"index": 100, "transformer": false, "br_r": 6.455866611570249e-05, "br_x": 0.00017451475041322317, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1220305104876, "b_to": 0.1220305104876, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 6, "t_bus": 52, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "101": {"index": 101, "transformer": false, "br_r": 5.360586074380165e-05, "br_x": 0.00014490716694214877, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1013272259989, "b_to": 0.1013272259989, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 31, "t_bus": 49, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "102": {"index": 102, "transformer": false, "br_r": 8.012603677685951e-05, "br_x": 0.00021659640991735543, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1514563692147, "b_to": 0.1514563692147, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 8, "t_bus": 26, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "103": {"index": 103, "transformer": false, "br_r": 5.194299917355372e-05, "br_x": 0.00014041212561983474, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0981840407614, "b_to": 0.0981840407614, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 68, "t_bus": 48, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "104": {"index": 104, "transformer": false, "br_r": 1.8766490082644632e-05, "br_x": 5.072950743801655e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.035472919479800004, "b_to": 0.035472919479800004, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 23, "t_bus": 63, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "105": {"index": 105, "transformer": false, "br_r": 5.575812396694215e-05, "br_x": 0.00015072515702479341, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.105395491278, "b_to": 0.105395491278, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 5, "t_bus": 54, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "106": {"index": 106, "transformer": false, "br_r": 5.2846057438016523e-05, "br_x": 0.0001428532694214876, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.09989102554969999, "b_to": 0.09989102554969999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 26, "t_bus": 77, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "107": {"index": 107, "transformer": false, "br_r": 2.492781074380165e-05, "br_x": 6.738476694214876e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.04711921192659999, "b_to": 0.04711921192659999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 77, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "108": {"index": 108, "transformer": false, "br_r": 4.6210990909090905e-05, "br_x": 0.00012491738181818183, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0873492460434, "b_to": 0.0873492460434, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 48, "t_bus": 65, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "109": {"index": 109, "transformer": false, "br_r": 2.5049019834710748e-05, "br_x": 2.5156196788429757e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.8830051949103002, "b_to": 0.8830051949103002, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 57, "t_bus": 75, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "110": {"index": 110, "transformer": false, "br_r": 5.412071239669422e-05, "br_x": 5.43522780677686e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.9078139789049, "b_to": 1.9078139789049, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 69, "t_bus": 75, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "111": {"index": 111, "transformer": false, "br_r": 1.326755041322314e-05, "br_x": 1.3324318128925619e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.4676955831372, "b_to": 0.4676955831372, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 11, "t_bus": 12, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "112": {"index": 112, "transformer": false, "br_r": 2.492781074380165e-05, "br_x": 6.738476694214876e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.04711921192659999, "b_to": 0.04711921192659999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 77, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "113": {"index": 113, "transformer": false, "br_r": 9.478265702479341e-06, "br_x": 2.5621613223140504e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.017916070324900002, "b_to": 0.017916070324900002, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 11, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "114": {"index": 114, "transformer": true, "br_r": 4.275061802727891e-06, "br_x": 0.00039998108282893, "g_fr": 0.034999320231447764, "g_to": 0.034999320231447764, "b_fr": -0.04873373443828248, "b_to": -0.04873373443828248, "rate_a": 300.0, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 1, "t_bus": 3, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "115": {"index": 115, "transformer": true, "br_r": 4.275061802727891e-06, "br_x": 0.00039998108282893, "g_fr": 0.034999320231447764, "g_to": 0.034999320231447764, "b_fr": -0.04873373443828248, "b_to": -0.04873373443828248, "rate_a": 300.0, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 1, "t_bus": 3, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "116": {"index": 116, "transformer": true, "br_r": 4.275061802727891e-06, "br_x": 0.00039998108282893, "g_fr": 0.034999320231447764, "g_to": 0.034999320231447764, "b_fr": -0.04873373443828248, "b_to": -0.04873373443828248, "rate_a": 300.0, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 1, "t_bus": 3, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}}, "bus": {"1": {"index": 1, "bus_i": 1, "zone": 1, "bus_type": 3, "vmax": 1.06800001, "vmin": 1.0679999900000001, "va": 0.0, "vm": 1.068, "base_kv": 220.0}, "2": {"index": 2, "bus_i": 2, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "3": {"index": 3, "bus_i": 3, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "4": {"index": 4, "bus_i": 4, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "5": {"index": 5, "bus_i": 5, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "6": {"index": 6, "bus_i": 6, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "7": {"index": 7, "bus_i": 7, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "8": {"index": 8, "bus_i": 8, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "9": {"index": 9, "bus_i": 9, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "10": {"index": 10, "bus_i": 10, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "11": {"index": 11, "bus_i": 11, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "12": {"index": 12, "bus_i": 12, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "13": {"index": 13, "bus_i": 13, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "14": {"index": 14, "bus_i": 14, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "15": {"index": 15, "bus_i": 15, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "16": {"index": 16, "bus_i": 16, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "17": {"index": 17, "bus_i": 17, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "18": {"index": 18, "bus_i": 18, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "19": {"index": 19, "bus_i": 19, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "20": {"index": 20, "bus_i": 20, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "21": {"index": 21, "bus_i": 21, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "22": {"index": 22, "bus_i": 22, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "23": {"index": 23, "bus_i": 23, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "24": {"index": 24, "bus_i": 24, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "25": {"index": 25, "bus_i": 25, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "26": {"index": 26, "bus_i": 26, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "27": {"index": 27, "bus_i": 27, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "28": {"index": 28, "bus_i": 28, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "29": {"index": 29, "bus_i": 29, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "30": {"index": 30, "bus_i": 30, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "31": {"index": 31, "bus_i": 31, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "32": {"index": 32, "bus_i": 32, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "33": {"index": 33, "bus_i": 33, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "34": {"index": 34, "bus_i": 34, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "35": {"index": 35, "bus_i": 35, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "36": {"index": 36, "bus_i": 36, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "37": {"index": 37, "bus_i": 37, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "38": {"index": 38, "bus_i": 38, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "39": {"index": 39, "bus_i": 39, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "40": {"index": 40, "bus_i": 40, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "41": {"index": 41, "bus_i": 41, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "42": {"index": 42, "bus_i": 42, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "43": {"index": 43, "bus_i": 43, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "44": {"index": 44, "bus_i": 44, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "45": {"index": 45, "bus_i": 45, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "46": {"index": 46, "bus_i": 46, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "47": {"index": 47, "bus_i": 47, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "48": {"index": 48, "bus_i": 48, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "49": {"index": 49, "bus_i": 49, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "50": {"index": 50, "bus_i": 50, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "51": {"index": 51, "bus_i": 51, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "52": {"index": 52, "bus_i": 52, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "53": {"index": 53, "bus_i": 53, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "54": {"index": 54, "bus_i": 54, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "55": {"index": 55, "bus_i": 55, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "56": {"index": 56, "bus_i": 56, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "57": {"index": 57, "bus_i": 57, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "58": {"index": 58, "bus_i": 58, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "59": {"index": 59, "bus_i": 59, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "60": {"index": 60, "bus_i": 60, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "61": {"index": 61, "bus_i": 61, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "62": {"index": 62, "bus_i": 62, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "63": {"index": 63, "bus_i": 63, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "64": {"index": 64, "bus_i": 64, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "65": {"index": 65, "bus_i": 65, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "66": {"index": 66, "bus_i": 66, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "67": {"index": 67, "bus_i": 67, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "68": {"index": 68, "bus_i": 68, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "69": {"index": 69, "bus_i": 69, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "70": {"index": 70, "bus_i": 70, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "71": {"index": 71, "bus_i": 71, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "72": {"index": 72, "bus_i": 72, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "73": {"index": 73, "bus_i": 73, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "74": {"index": 74, "bus_i": 74, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "75": {"index": 75, "bus_i": 75, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "76": {"index": 76, "bus_i": 76, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "77": {"index": 77, "bus_i": 77, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "78": {"index": 78, "bus_i": 78, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "79": {"index": 79, "bus_i": 79, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "80": {"index": 80, "bus_i": 80, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "81": {"index": 81, "bus_i": 81, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "82": {"index": 82, "bus_i": 82, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}}, "dcline": {}, "load": {"1": {"pd": 1.0, "qd": 0.395, "load_bus": 2, "status": 1, "index": 1}, "2": {"pd": 1.0, "qd": 0.395, "load_bus": 3, "status": 1, "index": 2}, "3": {"pd": 1.0, "qd": 0.395, "load_bus": 7, "status": 1, "index": 3}, "4": {"pd": 1.0, "qd": 0.395, "load_bus": 8, "status": 1, "index": 4}, "5": {"pd": 1.0, "qd": 0.395, "load_bus": 9, "status": 1, "index": 5}, "6": {"pd": 1.0, "qd": 0.395, "load_bus": 5, "status": 1, "index": 6}, "7": {"pd": 1.0, "qd": 0.395, "load_bus": 10, "status": 1, "index": 7}, "8": {"pd": 1.0, "qd": 0.395, "load_bus": 11, "status": 1, "index": 8}, "9": {"pd": 1.0, "qd": 0.395, "load_bus": 16, "status": 1, "index": 9}, "10": {"pd": 1.0, "qd": 0.395, "load_bus": 14, "status": 1, "index": 10}, "11": {"pd": 1.0, "qd": 0.395, "load_bus": 15, "status": 1, "index": 11}, "12": {"pd": 1.0, "qd": 0.395, "load_bus": 17, "status": 1, "index": 12}, "13": {"pd": 1.0, "qd": 0.395, "load_bus": 21, "status": 1, "index": 13}, "14": {"pd": 1.0, "qd": 0.395, "load_bus": 23, "status": 1, "index": 14}, "15": {"pd": 1.0, "qd": 0.395, "load_bus": 24, "status": 1, "index": 15}, "16": {"pd": 1.0, "qd": 0.395, "load_bus": 25, "status": 1, "index": 16}, "17": {"pd": 1.0, "qd": 0.395, "load_bus": 26, "status": 1, "index": 17}, "18": {"pd": 1.0, "qd": 0.395, "load_bus": 28, "status": 1, "index": 18}, "19": {"pd": 1.0, "qd": 0.395, "load_bus": 29, "status": 1, "index": 19}, "20": {"pd": 1.0, "qd": 0.395, "load_bus": 31, "status": 1, "index": 20}, "21": {"pd": 1.0, "qd": 0.395, "load_bus": 34, "status": 1, "index": 21}, "22": {"pd": 1.0, "qd": 0.395, "load_bus": 40, "status": 1, "index": 22}, "23": {"pd": 1.0, "qd": 0.395, "load_bus": 35, "status": 1, "index": 23}, "24": {"pd": 1.0, "qd": 0.395, "load_bus": 47, "status": 1, "index": 24}, "25": {"pd": 1.0, "qd": 0.395, "load_bus": 50, "status": 1, "index": 25}, "26": {"pd": 1.0, "qd": 0.395, "load_bus": 52, "status": 1, "index": 26}, "27": {"pd": 1.0, "qd": 0.395, "load_bus": 41, "status": 1, "index": 27}, "28": {"pd": 1.0, "qd": 0.395, "load_bus": 53, "status": 1, "index": 28}, "29": {"pd": 1.0, "qd": 0.395, "load_bus": 42, "status": 1, "index": 29}, "30": {"pd": 1.0, "qd": 0.395, "load_bus": 44, "status": 1, "index": 30}, "31": {"pd": 1.0, "qd": 0.395, "load_bus": 57, "status": 1, "index": 31}, "32": {"pd": 1.0, "qd": 0.395, "load_bus": 65, "status": 1, "index": 32}, "33": {"pd": 1.0, "qd": 0.395, "load_bus": 66, "status": 1, "index": 33}, "34": {"pd": 1.0, "qd": 0.395, "load_bus": 49, "status": 1, "index": 34}, "35": {"pd": 1.0, "qd": 0.395, "load_bus": 70, "status": 1, "index": 35}, "36": {"pd": 1.0, "qd": 0.395, "load_bus": 74, "status": 1, "index": 36}, "37": {"pd": 1.0, "qd": 0.395, "load_bus": 51, "status": 1, "index": 37}, "38": {"pd": 1.0, "qd": 0.395, "load_bus": 54, "status": 1, "index": 38}, "39": {"pd": 1.0, "qd": 0.395, "load_bus": 75, "status": 1, "index": 39}, "40": {"pd": 1.0, "qd": 0.395, "load_bus": 56, "status": 1, "index": 40}, "41": {"pd": 1.0, "qd": 0.395, "load_bus": 59, "status": 1, "index": 41}, "42": {"pd": 1.0, "qd": 0.395, "load_bus": 60, "status": 1, "index": 42}, "43": {"pd": 1.0, "qd": 0.395, "load_bus": 61, "status": 1, "index": 43}, "44": {"pd": 1.0, "qd": 0.395, "load_bus": 63, "status": 1, "index": 44}, "45": {"pd": 1.0, "qd": 0.395, "load_bus": 77, "status": 1, "index": 45}, "46": {"pd": 1.0, "qd": 0.395, "load_bus": 80, "status": 1, "index": 46}, "47": {"pd": 1.0, "qd": 0.395, "load_bus": 81, "status": 1, "index": 47}, "48": {"pd": 1.0, "qd": 0.395, "load_bus": 6, "status": 1, "index": 48}, "49": {"pd": 1.0, "qd": 0.395, "load_bus": 13, "status": 1, "index": 49}, "50": {"pd": 1.0, "qd": 0.395, "load_bus": 68, "status": 1, "index": 50}, "51": {"pd": 1.0, "qd": 0.395, "load_bus": 73, "status": 1, "index": 51}, "52": {"pd": 1.0, "qd": 0.395, "load_bus": 30, "status": 1, "index": 52}, "53": {"pd": 1.0, "qd": 0.395, "load_bus": 43, "status": 1, "index": 53}, "54": {"pd": 1.0, "qd": 0.395, "load_bus": 76, "status": 1, "index": 54}, "55": {"pd": 1.0, "qd": 0.395, "load_bus": 58, "status": 1, "index": 55}, "56": {"pd": 1.0, "qd": 0.395, "load_bus": 79, "status": 1, "index": 56}, "57": {"pd": 5.0, "qd": 1.976, "load_bus": 4, "status": 1, "index": 57}, "58": {"pd": 5.0, "qd": 1.976, "load_bus": 20, "status": 1, "index": 58}, "59": {"pd": 5.0, "qd": 1.976, "load_bus": 27, "status": 1, "index": 59}, "60": {"pd": 5.0, "qd": 1.976, "load_bus": 32, "status": 1, "index": 60}, "61": {"pd": 5.0, "qd": 1.976, "load_bus": 33, "status": 1, "index": 61}, "62": {"pd": 5.0, "qd": 1.976, "load_bus": 36, "status": 1, "index": 62}, "63": {"pd": 5.0, "qd": 1.976, "load_bus": 45, "status": 1, "index": 63}, "64": {"pd": 5.0, "qd": 1.976, "load_bus": 62, "status": 1, "index": 64}, "65": {"pd": 5.0, "qd": 1.976, "load_bus": 72, "status": 1, "index": 65}, "66": {"pd": 5.0, "qd": 1.976, "load_bus": 82, "status": 1, "index": 66}, "67": {"pd": 34.48, "qd": 13.627, "load_bus": 37, "status": 1, "index": 67}, "68": {"pd": 34.48, "qd": 13.627, "load_bus": 38, "status": 1, "index": 68}, "69": {"pd": 34.48, "qd": 13.627, "load_bus": 64, "status": 1, "index": 69}, "70": {"pd": 17.26, "qd": 6.822, "load_bus": 12, "status": 1, "index": 70}, "71": {"pd": 17.26, "qd": 6.822, "load_bus": 22, "status": 1, "index": 71}, "72": {"pd": 17.26, "qd": 6.822, "load_bus": 48, "status": 1, "index": 72}, "73": {"pd": 17.26, "qd": 6.822, "load_bus": 69, "status": 1, "index": 73}, "74": {"pd": 17.26, "qd": 6.822, "load_bus": 78, "status": 1, "index": 74}, "75": {"pd": 31.64, "qd": 12.505, "load_bus": 19, "status": 1, "index": 75}, "76": {"pd": 31.64, "qd": 12.505, "load_bus": 71, "status": 1, "index": 76}, "77": {"pd": 31.64, "qd": 12.505, "load_bus": 67, "status": 1, "index": 77}, "78": {"pd": 49.71, "qd": 19.647000000000002, "load_bus": 18, "status": 1, "index": 78}, "79": {"pd": 49.71, "qd": 19.647000000000002, "load_bus": 46, "status": 1, "index": 79}, "80": {"pd": -0.0, "qd": -0.0, "load_bus": 2, "status": 1, "index": 80}, "81": {"pd": -0.0, "qd": -0.0, "load_bus": 3, "status": 1, "index": 81}, "82": {"pd": -0.0, "qd": -0.0, "load_bus": 7, "status": 1, "index": 82}, "83": {"pd": -0.0, "qd": -0.0, "load_bus": 8, "status": 1, "index": 83}, "84": {"pd": -0.0, "qd": -0.0, "load_bus": 9, "status": 1, "index": 84}, "85": {"pd": -0.0, "qd": -0.0, "load_bus": 11, "status": 1, "index": 85}, "86": {"pd": -0.0, "qd": -0.0, "load_bus": 16, "status": 1, "index": 86}, "87": {"pd": -0.0, "qd": -0.0, "load_bus": 5, "status": 1, "index": 87}, "88": {"pd": -0.0, "qd": -0.0, "load_bus": 10, "status": 1, "index": 88}, "89": {"pd": -0.0, "qd": -0.0, "load_bus": 21, "status": 1, "index": 89}, "90": {"pd": -0.0, "qd": -0.0, "load_bus": 23, "status": 1, "index": 90}, "91": {"pd": -0.0, "qd": -0.0, "load_bus": 24, "status": 1, "index": 91}, "92": {"pd": -0.0, "qd": -0.0, "load_bus": 14, "status": 1, "index": 92}, "93": {"pd": -0.0, "qd": -0.0, "load_bus": 15, "status": 1, "index": 93}, "94": {"pd": -0.0, "qd": -0.0, "load_bus": 17, "status": 1, "index": 94}, "95": {"pd": -0.0, "qd": -0.0, "load_bus": 25, "status": 1, "index": 95}, "96": {"pd": -0.0, "qd": -0.0, "load_bus": 28, "status": 1, "index": 96}, "97": {"pd": -0.0, "qd": -0.0, "load_bus": 29, "status": 1, "index": 97}, "98": {"pd": -0.0, "qd": -0.0, "load_bus": 26, "status": 1, "index": 98}, "99": {"pd": -0.0, "qd": -0.0, "load_bus": 31, "status": 1, "index": 99}, "100": {"pd": -0.0, "qd": -0.0, "load_bus": 35, "status": 1, "index": 100}, "101": {"pd": -0.0, "qd": -0.0, "load_bus": 34, "status": 1, "index": 101}, "102": {"pd": -0.0, "qd": -0.0, "load_bus": 40, "status": 1, "index": 102}, "103": {"pd": -0.0, "qd": -0.0, "load_bus": 47, "status": 1, "index": 103}, "104": {"pd": -0.0, "qd": -0.0, "load_bus": 50, "status": 1, "index": 104}, "105": {"pd": -0.0, "qd": -0.0, "load_bus": 41, "status": 1, "index": 105}, "106": {"pd": -0.0, "qd": -0.0, "load_bus": 42, "status": 1, "index": 106}, "107": {"pd": -0.0, "qd": -0.0, "load_bus": 44, "status": 1, "index": 107}, "108": {"pd": -0.0, "qd": -0.0, "load_bus": 52, "status": 1, "index": 108}, "109": {"pd": -0.0, "qd": -0.0, "load_bus": 53, "status": 1, "index": 109}, "110": {"pd": -0.0, "qd": -0.0, "load_bus": 57, "status": 1, "index": 110}, "111": {"pd": -0.0, "qd": -0.0, "load_bus": 49, "status": 1, "index": 111}, "112": {"pd": -0.0, "qd": -0.0, "load_bus": 65, "status": 1, "index": 112}, "113": {"pd": -0.0, "qd": -0.0, "load_bus": 51, "status": 1, "index": 113}, "114": {"pd": -0.0, "qd": -0.0, "load_bus": 54, "status": 1, "index": 114}, "115": {"pd": -0.0, "qd": -0.0, "load_bus": 66, "status": 1, "index": 115}, "116": {"pd": -0.0, "qd": -0.0, "load_bus": 56, "status": 1, "index": 116}, "117": {"pd": -0.0, "qd": -0.0, "load_bus": 70, "status": 1, "index": 117}, "118": {"pd": -0.0, "qd": -0.0, "load_bus": 59, "status": 1, "index": 118}, "119": {"pd": -0.0, "qd": -0.0, "load_bus": 74, "status": 1, "index": 119}, "120": {"pd": -0.0, "qd": -0.0, "load_bus": 75, "status": 1, "index": 120}, "121": {"pd": -0.0, "qd": -0.0, "load_bus": 60, "status": 1, "index": 121}, "122": {"pd": -0.0, "qd": -0.0, "load_bus": 61, "status": 1, "index": 122}, "123": {"pd": -0.0, "qd": -0.0, "load_bus": 77, "status": 1, "index": 123}, "124": {"pd": -0.0, "qd": -0.0, "load_bus": 63, "status": 1, "index": 124}, "125": {"pd": -0.0, "qd": -0.0, "load_bus": 68, "status": 1, "index": 125}, "126": {"pd": -0.0, "qd": -0.0, "load_bus": 73, "status": 1, "index": 126}, "127": {"pd": -0.0, "qd": -0.0, "load_bus": 80, "status": 1, "index": 127}, "128": {"pd": -0.0, "qd": -0.0, "load_bus": 81, "status": 1, "index": 128}, "129": {"pd": -0.0, "qd": -0.0, "load_bus": 6, "status": 1, "index": 129}, "130": {"pd": -0.0, "qd": -0.0, "load_bus": 13, "status": 1, "index": 130}, "131": {"pd": -0.0, "qd": -0.0, "load_bus": 30, "status": 1, "index": 131}, "132": {"pd": -0.0, "qd": -0.0, "load_bus": 76, "status": 1, "index": 132}, "133": {"pd": -0.0, "qd": -0.0, "load_bus": 79, "status": 1, "index": 133}, "134": {"pd": -0.0, "qd": -0.0, "load_bus": 43, "status": 1, "index": 134}, "135": {"pd": -0.0, "qd": -0.0, "load_bus": 58, "status": 1, "index": 135}, "136": {"pd": -1.0, "qd": -0.0, "load_bus": 4, "status": 1, "index": 136}, "137": {"pd": -1.0, "qd": -0.0, "load_bus": 20, "status": 1, "index": 137}, "138": {"pd": -1.0, "qd": -0.0, "load_bus": 27, "status": 1, "index": 138}, "139": {"pd": -1.0, "qd": -0.0, "load_bus": 32, "status": 1, "index": 139}, "140": {"pd": -1.0, "qd": -0.0, "load_bus": 33, "status": 1, "index": 140}, "141": {"pd": -1.0, "qd": -0.0, "load_bus": 36, "status": 1, "index": 141}, "142": {"pd": -1.0, "qd": -0.0, "load_bus": 45, "status": 1, "index": 142}, "143": {"pd": -1.0, "qd": -0.0, "load_bus": 62, "status": 1, "index": 143}, "144": {"pd": -1.0, "qd": -0.0, "load_bus": 72, "status": 1, "index": 144}, "145": {"pd": -1.0, "qd": -0.0, "load_bus": 82, "status": 1, "index": 145}, "146": {"pd": -16.63, "qd": -0.0, "load_bus": 37, "status": 1, "index": 146}, "147": {"pd": -16.63, "qd": -0.0, "load_bus": 38, "status": 1, "index": 147}, "148": {"pd": -16.63, "qd": -0.0, "load_bus": 64, "status": 1, "index": 148}, "149": {"pd": -25.57, "qd": -0.0, "load_bus": 12, "status": 1, "index": 149}, "150": {"pd": -25.57, "qd": -0.0, "load_bus": 22, "status": 1, "index": 150}, "151": {"pd": -25.57, "qd": -0.0, "load_bus": 48, "status": 1, "index": 151}, "152": {"pd": -25.57, "qd": -0.0, "load_bus": 69, "status": 1, "index": 152}, "153": {"pd": -25.57, "qd": -0.0, "load_bus": 78, "status": 1, "index": 153}, "154": {"pd": -23.8, "qd": -0.0, "load_bus": 19, "status": 1, "index": 154}, "155": {"pd": -23.8, "qd": -0.0, "load_bus": 71, "status": 1, "index": 155}, "156": {"pd": -23.8, "qd": -0.0, "load_bus": 67, "status": 1, "index": 156}, "157": {"pd": -13.56, "qd": -0.0, "load_bus": 18, "status": 1, "index": 157}, "158": {"pd": -13.56, "qd": -0.0, "load_bus": 46, "status": 1, "index": 158}, "159": {"pd": -13.07, "qd": -0.0, "load_bus": 13, "status": 1, "index": 159}, "160": {"pd": -8.28, "qd": -0.0, "load_bus": 22, "status": 1, "index": 160}, "161": {"pd": -10.07, "qd": -0.0, "load_bus": 23, "status": 1, "index": 161}, "162": {"pd": -11.57, "qd": -0.0, "load_bus": 45, "status": 1, "index": 162}, "163": {"pd": -10.85, "qd": -0.0, "load_bus": 50, "status": 1, "index": 163}, "164": {"pd": -23.55, "qd": -0.0, "load_bus": 24, "status": 1, "index": 164}, "165": {"pd": -9.38, "qd": -0.0, "load_bus": 6, "status": 1, "index": 165}, "166": {"pd": -10.79, "qd": -0.0, "load_bus": 8, "status": 1, "index": 166}, "167": {"pd": -33.48, "qd": -0.0, "load_bus": 10, "status": 1, "index": 167}, "168": {"pd": -8.72, "qd": -0.0, "load_bus": 16, "status": 1, "index": 168}, "169": {"pd": -4.0, "qd": -0.0, "load_bus": 39, "status": 1, "index": 169}, "170": {"pd": -11.74, "qd": -0.0, "load_bus": 43, "status": 1, "index": 170}, "171": {"pd": -25.07, "qd": -0.0, "load_bus": 52, "status": 1, "index": 171}, "172": {"pd": -3.5, "qd": -0.0, "load_bus": 55, "status": 1, "index": 172}, "173": {"pd": -9.55, "qd": -0.0, "load_bus": 64, "status": 1, "index": 173}, "174": {"pd": -46.22, "qd": -0.0, "load_bus": 19, "status": 1, "index": 174}, "175": {"pd": -9.81, "qd": -0.0, "load_bus": 56, "status": 1, "index": 175}, "176": {"pd": -33.48, "qd": -0.0, "load_bus": 58, "status": 1, "index": 176}, "177": {"pd": -16.81, "qd": -0.0, "load_bus": 76, "status": 1, "index": 177}}, "storage": {}, "ne_branch": {}, "switch": {}, "baseMVA": 1, "source_version": "2.0.0", "shunt": {}, "sourcetype": "matpower", "per_unit": true, "name": "", "pm_solver": "ipopt", "pm_mip_solver": "cbc", "pm_nl_solver": "ipopt", "pm_model": "DCPPowerModel", "pm_log_level": 0, "pm_time_limit": Infinity, "pm_nl_time_limit": Infinity, "pm_mip_time_limit": Infinity, "correct_pm_network_data": true} \ No newline at end of file From 49d14c689c0dff40ee17bfec1844a0030b486154 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Thu, 28 Jan 2021 15:34:33 +0100 Subject: [PATCH 018/422] fix activation mode into test file --- pandapower/opf/PpPmInterface/test/runtests.jl | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/pandapower/opf/PpPmInterface/test/runtests.jl b/pandapower/opf/PpPmInterface/test/runtests.jl index 4ecb83e0b..a961a557d 100644 --- a/pandapower/opf/PpPmInterface/test/runtests.jl +++ b/pandapower/opf/PpPmInterface/test/runtests.jl @@ -1,6 +1,15 @@ +import Pkg +Pkg.activate(joinpath(homedir(), "pandapower", "pandapower", "opf","PpPmInterface")) + +# Pkg.activate("test") +# Pkg.dev(".") + using PpPmInterface using Test +json_path = joinpath(pwd(), "test", "test_net.json"); + @testset "PpPmInterface.jl" begin - # Write your tests here. + pm = load_pm_from_json(json_path) + # result = run_powermodels(json_path) end From ccc8a49b23785cf3e9ddb69495355a37f2a92944 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Thu, 28 Jan 2021 15:35:02 +0100 Subject: [PATCH 019/422] small changes --- .../opf/PpPmInterface/src/PpPmInterface.jl | 50 +++++++++++-------- 1 file changed, 30 insertions(+), 20 deletions(-) diff --git a/pandapower/opf/PpPmInterface/src/PpPmInterface.jl b/pandapower/opf/PpPmInterface/src/PpPmInterface.jl index 3e2c08c04..f48a34426 100644 --- a/pandapower/opf/PpPmInterface/src/PpPmInterface.jl +++ b/pandapower/opf/PpPmInterface/src/PpPmInterface.jl @@ -1,8 +1,14 @@ module PpPmInterface +# import Pkg +# Pkg.activate(".") +# Pkg.add("JSON") +# Pkg.build("JSON") +# Pkg.resolve() + import JuMP import JSON -import PowerModels +using PowerModels using Cbc using Ipopt using Juniper @@ -15,27 +21,31 @@ catch e end end -try - using KNITRO -catch e - if isa(e, LoadError) - println("Cannot import KNITRO. That's fine if you do not plan to use it") - end -end +# try +# using KNITRO +# catch e +# if isa(e, LoadError) +# println("Cannot import KNITRO. That's fine if you do not plan to use it") +# end +# end +# +# try +# +# using SCIP +# catch e +# if isa(e, LoadError) +# println("Cannot import SCIP. That's fine if you do not plan to use it") +# end +# end -try - using SCIP -catch e - if isa(e, LoadError) - println("Cannot import SCIP. That's fine if you do not plan to use it") - end -end +export load_pm_from_json +export run_powermodels -include("input/pp_2_pm.jl") +include("input/pp_to_pm.jl") include("pm_models/run_powermodels.jl") -include("pm_models/run_powermodels_mn_storage.jl") -include("pm_models/run_powermodels_ots.jl") -include("pm_models/run_powermodels_powerflow.jl") -include("pm_models/run_powermodels_tnep.jl") +# include("pm_models/run_powermodels_mn_storage.jl") +# include("pm_models/run_powermodels_ots.jl") +# include("pm_models/run_powermodels_powerflow.jl") +# include("pm_models/run_powermodels_tnep.jl") end From e5991c3720c2e2d55d880d5ef89e7c5d31b233f6 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Thu, 28 Jan 2021 15:35:24 +0100 Subject: [PATCH 020/422] delete extra lines --- pandapower/opf/PpPmInterface/src/pm_models/run_powermodels.jl | 4 ---- 1 file changed, 4 deletions(-) diff --git a/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels.jl b/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels.jl index 677a603cf..be8033220 100644 --- a/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels.jl +++ b/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels.jl @@ -1,7 +1,3 @@ -# using PowerModels -# # push!(LOAD_PATH, joinpath(homedir(), "pandapower", "pandapower", "opf")) -# push!(LOAD_PATH, joinpath(@__DIR__, "pandapower", "pandapower", "opf")) -# using PP2PM function run_powermodels(json_path) pm = load_pm_from_json(json_path) From c0972c8b3ccfe7a6c7e56b686d580c73857c060f Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Thu, 28 Jan 2021 15:35:44 +0100 Subject: [PATCH 021/422] delete extra lines --- .../opf/PpPmInterface/src/input/pp_to_pm.jl | 37 ------------------- 1 file changed, 37 deletions(-) diff --git a/pandapower/opf/PpPmInterface/src/input/pp_to_pm.jl b/pandapower/opf/PpPmInterface/src/input/pp_to_pm.jl index aafd4a33c..cbc566509 100644 --- a/pandapower/opf/PpPmInterface/src/input/pp_to_pm.jl +++ b/pandapower/opf/PpPmInterface/src/input/pp_to_pm.jl @@ -1,38 +1,3 @@ -# module PP2PM -# export load_pm_from_json, get_model, get_solver - -# import JSON -# using PowerModels -# using Cbc -# using Ipopt -# using Juniper -# import JuMP - - -# try -# using Gurobi -# catch e -# if isa(e, LoadError) -# println("Cannot import Gurobi. That's fine if you do not plan to use it") -# end -# end - -# try -# using KNITRO -# catch e -# if isa(e, LoadError) -# println("Cannot import KNITRO. That's fine if you do not plan to use it") -# end -# end - -# try -# using SCIP -# catch e -# if isa(e, LoadError) -# println("Cannot import SCIP. That's fine if you do not plan to use it") -# end -# end - function get_model(model_type) """ @@ -119,5 +84,3 @@ function load_pm_from_json(json_path) end return pm end - -# end From beb84d75b606a4ae6123e66d31ff63dca22de742 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Thu, 28 Jan 2021 15:36:28 +0100 Subject: [PATCH 022/422] small changes --- pandapower/opf/PpPmInterface/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandapower/opf/PpPmInterface/README.md b/pandapower/opf/PpPmInterface/README.md index b8b67615b..5afa9b86d 100644 --- a/pandapower/opf/PpPmInterface/README.md +++ b/pandapower/opf/PpPmInterface/README.md @@ -3,7 +3,7 @@ [![Coverage](https://codecov.io/gh/MMajidi137/PpPmInterface.jl/branch/master/graph/badge.svg)](https://codecov.io/gh/MMajidi137/PpPmInterface.jl) -[PpPmInterface](https://github.com/MMajidi137/pandapower/tree/JuliaPkg/pandapower/opf/PpPmInterface) is a local/inner [Julia](https://julialang.org/)/[JuMP](https://github.com/JuliaOpt/JuMP.jl) package, part of pandapower, which containing supplementary data and codes to prepare [pandapower](https://github.com/e2nIEE/pandapower) networks in a compatible format for [PowerModels.jl](https://github.com/lanl-ansi/PowerModels.jl) and run opf. +[PpPmInterface](https://github.com/MMajidi137/pandapower/tree/JuliaPkg/pandapower/opf/PpPmInterface) is a local/inner [Julia](https://julialang.org/)/[JuMP](https://github.com/JuliaOpt/JuMP.jl) package, part of [pandapower](https://github.com/e2nIEE/pandapower), which containing supplementary data and codes to prepare [pandapower](https://github.com/e2nIEE/pandapower) networks in a compatible format for [PowerModels.jl](https://github.com/lanl-ansi/PowerModels.jl) to run and calculate optimal Power Flow. **Dependencies:** From edc0ac2fa101d1821ecddc30382b4f45d3a2423a Mon Sep 17 00:00:00 2001 From: U_F_O Date: Thu, 25 Feb 2021 11:36:55 +0100 Subject: [PATCH 023/422] Features test --- pandapower/opf/PpPmInterface/Manifest.toml | 3 +- pandapower/opf/PpPmInterface/Project.toml | 1 + .../opf/PpPmInterface/src/PpPmInterface.jl | 36 +++-- .../src/pm_models/run_powermodels.jl | 99 +++++++------- .../pm_models/run_powermodels_mn_storage.jl | 19 +-- .../src/pm_models/run_powermodels_ots.jl | 12 +- .../pm_models/run_powermodels_powerflow.jl | 37 +++--- .../src/pm_models/run_powermodels_tnep.jl | 30 ++--- .../PpPmInterface/test/create_test_json.py | 8 +- .../opf/PpPmInterface/test/pm_test.json | 1 + pandapower/opf/PpPmInterface/test/runtests.jl | 40 ++++-- .../opf/PpPmInterface/test/test_Gurobi.json | 1 + .../opf/PpPmInterface/test/test_ipopt.json | 1 + pandapower/opf/pp_2_pm.jl | 125 ------------------ pandapower/opf/run_powermodels.jl | 54 -------- pandapower/opf/run_powermodels.py | 4 +- pandapower/opf/run_powermodels_mn_storage.jl | 59 --------- pandapower/opf/run_powermodels_ots.jl | 15 --- pandapower/opf/run_powermodels_powerflow.jl | 19 --- pandapower/opf/run_powermodels_tnep.jl | 15 --- 20 files changed, 153 insertions(+), 426 deletions(-) create mode 100644 pandapower/opf/PpPmInterface/test/pm_test.json create mode 100644 pandapower/opf/PpPmInterface/test/test_Gurobi.json create mode 100644 pandapower/opf/PpPmInterface/test/test_ipopt.json delete mode 100644 pandapower/opf/pp_2_pm.jl delete mode 100644 pandapower/opf/run_powermodels.jl delete mode 100644 pandapower/opf/run_powermodels_mn_storage.jl delete mode 100644 pandapower/opf/run_powermodels_ots.jl delete mode 100644 pandapower/opf/run_powermodels_powerflow.jl delete mode 100644 pandapower/opf/run_powermodels_tnep.jl diff --git a/pandapower/opf/PpPmInterface/Manifest.toml b/pandapower/opf/PpPmInterface/Manifest.toml index e05039c7a..1c6e6257c 100644 --- a/pandapower/opf/PpPmInterface/Manifest.toml +++ b/pandapower/opf/PpPmInterface/Manifest.toml @@ -239,6 +239,7 @@ uuid = "2ddba703-00a4-53a7-87a5-e8b9971dde84" version = "0.6.5" [[LibGit2]] +deps = ["Printf"] uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" [[Libdl]] @@ -365,7 +366,7 @@ uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" version = "1.0.15" [[Pkg]] -deps = ["Dates", "LibGit2", "Markdown", "Printf", "REPL", "Random", "SHA", "UUIDs"] +deps = ["Dates", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "UUIDs"] uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" [[PowerModels]] diff --git a/pandapower/opf/PpPmInterface/Project.toml b/pandapower/opf/PpPmInterface/Project.toml index 12d6b5208..7eaab0212 100644 --- a/pandapower/opf/PpPmInterface/Project.toml +++ b/pandapower/opf/PpPmInterface/Project.toml @@ -10,6 +10,7 @@ Ipopt = "b6b21f68-93f8-5de0-b562-5493be1d77c9" JSON = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" JuMP = "4076af6c-e467-56ae-b986-b466b2749572" Juniper = "2ddba703-00a4-53a7-87a5-e8b9971dde84" +Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" PowerModels = "c36e90e8-916a-50a6-bd94-075b64ef4655" [compat] diff --git a/pandapower/opf/PpPmInterface/src/PpPmInterface.jl b/pandapower/opf/PpPmInterface/src/PpPmInterface.jl index f48a34426..4ee42ff69 100644 --- a/pandapower/opf/PpPmInterface/src/PpPmInterface.jl +++ b/pandapower/opf/PpPmInterface/src/PpPmInterface.jl @@ -1,26 +1,33 @@ module PpPmInterface -# import Pkg -# Pkg.activate(".") -# Pkg.add("JSON") -# Pkg.build("JSON") -# Pkg.resolve() - import JuMP import JSON + using PowerModels using Cbc using Ipopt using Juniper try - using Gurobi + import Gurobi catch e - if isa(e, LoadError) + if isa(e, ArgumentError) println("Cannot import Gurobi. That's fine if you do not plan to use it") end end +export run_powermodels, run_powermodels_mn_storage, + run_powermodels_ots, run_powermodels_powerflow, + run_powermodels_tnep + +include("input/pp_to_pm.jl") + +include("../src/pm_models/run_powermodels.jl") +include("../src/pm_models/run_powermodels_mn_storage.jl") +include("../src/pm_models/run_powermodels_ots.jl") +include("../src/pm_models/run_powermodels_powerflow.jl") +include("../src/pm_models/run_powermodels_tnep.jl") +# # try # using KNITRO # catch e @@ -30,22 +37,11 @@ end # end # # try -# -# using SCIP +# using SCIP # catch e # if isa(e, LoadError) # println("Cannot import SCIP. That's fine if you do not plan to use it") # end # end -export load_pm_from_json -export run_powermodels - -include("input/pp_to_pm.jl") -include("pm_models/run_powermodels.jl") -# include("pm_models/run_powermodels_mn_storage.jl") -# include("pm_models/run_powermodels_ots.jl") -# include("pm_models/run_powermodels_powerflow.jl") -# include("pm_models/run_powermodels_tnep.jl") - end diff --git a/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels.jl b/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels.jl index be8033220..fb468802f 100644 --- a/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels.jl +++ b/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels.jl @@ -1,48 +1,51 @@ - -function run_powermodels(json_path) - pm = load_pm_from_json(json_path) - model = get_model(pm["pm_model"]) - # - solver = get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], - pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) - - if haskey(pm["branch"]["1"],"c_rating_a") - for (key, value) in pm["gen"] - # value["pmin"] = 0 - value["pmax"] *= 0.01 - value["qmax"] *= 0.01 - value["qmin"] *= 0.01 - value["pg"] *= 0.01 - value["qg"] *= 0.01 - value["cost"] *= 100 - end - - for (key, value) in pm["branch"] - value["c_rating_a"] *= 0.01 - end - - for (key, value) in pm["load"] - value["pd"] *= 0.01 - value["qd"] *= 0.01 - end - - # pm["bus"]["4"]["vmax"] = 1.1 - # pm["bus"]["4"]["vmin"] = 0.9 - - result = PowerModels._run_opf_cl(pm, model, solver, - setting = Dict("output" => Dict("branch_flows" => true))) - else - result = PowerModels.run_opf(pm, model, solver, - setting = Dict("output" => Dict("branch_flows" => true))) - end - return result -end - - -# json_path = "C:/Users/fmeier/pandapower/pandapower/test/opf/case5_clm_matfile_va.json" -# # #@enter run_powermodels(json_path) -# # -# result = run_powermodels(json_path) -# println(result["termination_status"] == LOCALLY_SOLVED) -# println(isapprox(result["objective"], 17015.5; atol = 1e0)) -# mit eingeschränkter slack spannung: 17082.819507648066 + + +function run_powermodels(json_path) + pm = load_pm_from_json(json_path) + model = get_model(pm["pm_model"]) + # + solver = get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], + pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) + + if haskey(pm["branch"]["1"],"c_rating_a") + for (key, value) in pm["gen"] + # value["pmin"] = 0 + value["pmax"] *= 0.01 + value["qmax"] *= 0.01 + value["qmin"] *= 0.01 + value["pg"] *= 0.01 + value["qg"] *= 0.01 + value["cost"] *= 100 + end + + for (key, value) in pm["branch"] + value["c_rating_a"] *= 0.01 + end + + for (key, value) in pm["load"] + value["pd"] *= 0.01 + value["qd"] *= 0.01 + end + + # pm["bus"]["4"]["vmax"] = 1.1 + # pm["bus"]["4"]["vmin"] = 0.9 + + result = _run_opf_cl(pm, model, solver, + setting = Dict("output" => Dict("branch_flows" => true))) + else + result = run_opf(pm, model, solver, + setting = Dict("output" => Dict("branch_flows" => true))) + end + + + return result +end + + +# json_path = "C:/Users/fmeier/pandapower/pandapower/test/opf/case5_clm_matfile_va.json" +# # #@enter run_powermodels(json_path) +# # +# result = run_powermodels(json_path) +# println(result["termination_status"] == LOCALLY_SOLVED) +# println(isapprox(result["objective"], 17015.5; atol = 1e0)) +# mit eingeschränkter slack spannung: 17082.819507648066 diff --git a/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_mn_storage.jl b/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_mn_storage.jl index d0fd172f6..740e1e589 100644 --- a/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_mn_storage.jl +++ b/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_mn_storage.jl @@ -1,11 +1,6 @@ -# using PowerModels -# using Ipopt -# using Gurobi -# using JuMP -# import JSON -# # push!(LOAD_PATH, joinpath(homedir(), "pandapower", "pandapower", "opf")) -# push!(LOAD_PATH, joinpath(@__DIR__, "pandapower", "pandapower", "opf")) -# using PP2PM + +using Gurobi + function read_time_series(json_path) time_series = Dict() @@ -36,12 +31,12 @@ function set_pq_values_from_timeseries(mn, time_series) return mn end -function run_powermodels(json_path) +function run_powermodels_mn_storage(json_path) # load converted pandapower network - pm = PP2PM.load_pm_from_json(json_path) + pm = load_pm_from_json(json_path) # copy network n_time_steps time step times n_time_steps = pm["n_time_steps"] - mn = PowerModels.replicate(pm, pm["n_time_steps"]) + mn = replicate(pm, pm["n_time_steps"]) mn["time_elapsed"] = pm["time_elapsed"] # set P, Q values of loads and generators from time series if isfile("/tmp/timeseries.json") @@ -54,7 +49,7 @@ function run_powermodels(json_path) ipopt_solver = JuMP.with_optimizer(Ipopt.Optimizer, print_level = 0) # run multinetwork storage opf - result = PowerModels._run_mn_strg_opf(mn, PowerModels.ACPPowerModel, ipopt_solver) + result = _run_mn_strg_opf(mn, PowerModels.ACPPowerModel, ipopt_solver) print_summary(result) return result end diff --git a/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_ots.jl b/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_ots.jl index c34a6c327..3febe5a92 100644 --- a/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_ots.jl +++ b/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_ots.jl @@ -1,17 +1,13 @@ -# using PowerModels -# # push!(LOAD_PATH, joinpath(homedir(), "pandapower", "pandapower", "opf")) -# push!(LOAD_PATH, joinpath(@__DIR__, "pandapower", "pandapower", "opf")) -# using PP2PM -function run_powermodels(json_path) +function run_powermodels_ots(json_path) # function to run optimal transmission switching (OTS) optimization from powermodels.jl pm = load_pm_from_json(json_path) model = get_model(pm["pm_model"]) - - solver = get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], + + solver = get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) - result = PowerModels.run_ots(pm, model, solver, + result = run_ots(pm, model, solver, setting = Dict("output" => Dict("branch_flows" => true))) return result end diff --git a/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_powerflow.jl b/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_powerflow.jl index bf2dd5331..f316c967c 100644 --- a/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_powerflow.jl +++ b/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_powerflow.jl @@ -1,20 +1,17 @@ -# using PowerModels -# # push!(LOAD_PATH, joinpath(homedir(), "pandapower", "pandapower", "opf")) -# push!(LOAD_PATH, joinpath(@__DIR__, "pandapower", "pandapower", "opf")) -# using PP2PM - -function run_powermodels(json_path) - pm = load_pm_from_json(json_path) - - model = get_model(pm["pm_model"]) - - solver = get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], - pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) - - result = PowerModels.run_pf(pm, model, solver) - # add branch flows - PowerModels.update_data!(pm, result["solution"]) - flows = PowerModels.calc_branch_flow_ac(pm) - PowerModels.update_data!(result["solution"], flows) - return result -end + + +function run_powermodels_powerflow(json_path) + pm = load_pm_from_json(json_path) + + model = get_model(pm["pm_model"]) + + solver = get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], + pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) + + result = run_pf(pm, model, solver) + # add branch flows + update_data!(pm, result["solution"]) + flows = calc_branch_flow_ac(pm) + update_data!(result["solution"], flows) + return result +end diff --git a/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_tnep.jl b/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_tnep.jl index f065bddc4..45e3270d2 100644 --- a/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_tnep.jl +++ b/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_tnep.jl @@ -1,17 +1,13 @@ -# using PowerModels -# # push!(LOAD_PATH, joinpath(homedir(), "pandapower", "pandapower", "opf")) -# push!(LOAD_PATH, joinpath(@__DIR__, "pandapower", "pandapower", "opf")) -# using PP2PM - -function run_powermodels(json_path) - pm = load_pm_from_json(json_path) - model = get_model(pm["pm_model"]) - - solver = get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], - pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) - - # function to run transmission network expansion optimization of powermodels.jl - result = PowerModels.run_tnep(pm, model, solver, - setting = Dict("output" => Dict("branch_flows" => true))) - return result -end + +function run_powermodels_tnep(json_path) + pm = load_pm_from_json(json_path) + model = get_model(pm["pm_model"]) + + solver = get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], + pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) + + # function to run transmission network expansion optimization of powermodels.jl + result = run_tnep(pm, model, solver, + setting = Dict("output" => Dict("branch_flows" => true))) + return result +end diff --git a/pandapower/opf/PpPmInterface/test/create_test_json.py b/pandapower/opf/PpPmInterface/test/create_test_json.py index 913b847ee..f41ed30d8 100644 --- a/pandapower/opf/PpPmInterface/test/create_test_json.py +++ b/pandapower/opf/PpPmInterface/test/create_test_json.py @@ -16,10 +16,10 @@ pp.runpp(net) # pkg_dir = pathlib.Path(pp_dir, "pandapower", "opf", "PpPmInterface") #general direction -pkg_dir = pathlib.Path(pathlib.Path.home(), "pandapower", "pandapower", "opf", "PpPmInterface") -json_path = os.path.join(pkg_dir, "test" , "test_net.json") +pkg_dir = pathlib.Path(pathlib.Path.home(), "GitHub", "pandapower", "pandapower", "opf", "PpPmInterface") +json_path = os.path.join(pkg_dir, "test" , "test_ipopt.json") test_net = convert_pp_to_pm(net, pm_file_path=json_path, correct_pm_network_data=True, calculate_voltage_angles=True, ac=True, trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, - pp_to_pm_callback=None, pm_model="DCPPowerModel", pm_solver="ipopt", - pm_mip_solver="cbc", pm_nl_solver="ipopt") \ No newline at end of file + pp_to_pm_callback=None, pm_model="DCPowerModel", pm_solver="ipopt", + pm_mip_solver="cbc", pm_nl_solver="ipopt") diff --git a/pandapower/opf/PpPmInterface/test/pm_test.json b/pandapower/opf/PpPmInterface/test/pm_test.json new file mode 100644 index 000000000..a4b4cf26d --- /dev/null +++ b/pandapower/opf/PpPmInterface/test/pm_test.json @@ -0,0 +1 @@ +{"gen": {"1": {"pg": 0.0, "qg": 0.0, "gen_bus": 1, "vg": 1.06, "qmax": 10.00000001, "gen_status": 1, "qmin": -1e-08, "pmin": -1e-08, "pmax": 332.40000001000004, "index": 1, "model": 2, "ncost": 3, "cost": [0.0430293, 20.0, 0.0]}, "2": {"pg": 40.0, "qg": 0.0, "gen_bus": 2, "vg": 1.045, "qmax": 50.00000001, "gen_status": 1, "qmin": -40.00000001, "pmin": -1e-08, "pmax": 140.00000001, "index": 2, "model": 2, "ncost": 3, "cost": [0.25, 20.0, 0.0]}, "3": {"pg": 0.0, "qg": 0.0, "gen_bus": 7, "vg": 1.01, "qmax": 40.00000001, "gen_status": 1, "qmin": -1e-08, "pmin": -1e-08, "pmax": 100.00000001, "index": 3, "model": 2, "ncost": 3, "cost": [0.01, 40.0, 0.0]}, "4": {"pg": 0.0, "qg": 0.0, "gen_bus": 10, "vg": 1.07, "qmax": 24.00000001, "gen_status": 1, "qmin": -6.00000001, "pmin": -1e-08, "pmax": 100.00000001, "index": 4, "model": 2, "ncost": 3, "cost": [0.01, 40.0, 0.0]}, "5": {"pg": 0.0, "qg": 0.0, "gen_bus": 12, "vg": 1.09, "qmax": 24.00000001, "gen_status": 1, "qmin": -6.00000001, "pmin": -1e-08, "pmax": 100.00000001, "index": 5, "model": 2, "ncost": 3, "cost": [0.01, 40.0, 0.0]}}, "branch": {"1": {"index": 1, "transformer": false, "br_r": 0.0001938, "br_x": 0.0005916999999999999, "g_fr": -0.0, "g_to": -0.0, "b_fr": 2.64, "b_to": 2.64, "rate_a": 9899.999999999998, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 1, "t_bus": 2, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "2": {"index": 2, "transformer": false, "br_r": 0.0005403, "br_x": 0.0022304, "g_fr": -0.0, "g_to": -0.0, "b_fr": 2.46, "b_to": 2.46, "rate_a": 9899.999999999998, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 1, "t_bus": 9, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "3": {"index": 3, "transformer": false, "br_r": 0.00031810000000000003, "br_x": 0.0008449999999999999, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0, "b_to": 0.0, "rate_a": 9900.0, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 13, "t_bus": 14, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "4": {"index": 4, "transformer": false, "br_r": 0.0012711, "br_x": 0.0027038, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0, "b_to": 0.0, "rate_a": 9900.0, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 13, "t_bus": 6, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "5": {"index": 5, "transformer": false, "br_r": 0.0008205, "br_x": 0.0019207000000000002, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0, "b_to": 0.0, "rate_a": 9900.0, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 14, "t_bus": 3, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "6": {"index": 6, "transformer": false, "br_r": 0.0022092, "br_x": 0.0019988, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0, "b_to": 0.0, "rate_a": 9900.0, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 4, "t_bus": 5, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "7": {"index": 7, "transformer": false, "br_r": 0.0017093, "br_x": 0.0034802, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0, "b_to": 0.0, "rate_a": 9900.0, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 5, "t_bus": 6, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "8": {"index": 8, "transformer": false, "br_r": 0.0004699, "br_x": 0.0019797, "g_fr": -0.0, "g_to": -0.0, "b_fr": 2.1900000000000004, "b_to": 2.1900000000000004, "rate_a": 9899.999999999998, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 2, "t_bus": 7, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "9": {"index": 9, "transformer": false, "br_r": 0.0005811, "br_x": 0.0017632000000000001, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.7000000000000004, "b_to": 1.7000000000000004, "rate_a": 9899.999999999998, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 2, "t_bus": 8, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "10": {"index": 10, "transformer": false, "br_r": 0.0005695, "br_x": 0.0017388, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.7300000000000004, "b_to": 1.7300000000000004, "rate_a": 9899.999999999998, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 2, "t_bus": 9, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "11": {"index": 11, "transformer": false, "br_r": 0.0006701, "br_x": 0.0017102999999999999, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.6400000000000001, "b_to": 0.6400000000000001, "rate_a": 9899.999999999998, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 7, "t_bus": 8, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "12": {"index": 12, "transformer": false, "br_r": 0.00013350000000000002, "br_x": 0.0004211, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0, "b_to": 0.0, "rate_a": 9899.999999999998, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 8, "t_bus": 9, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "13": {"index": 13, "transformer": false, "br_r": 0.0009498, "br_x": 0.0019890000000000003, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0, "b_to": 0.0, "rate_a": 9900.0, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 10, "t_bus": 3, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "14": {"index": 14, "transformer": false, "br_r": 0.0012291000000000001, "br_x": 0.0025581000000000002, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0, "b_to": 0.0, "rate_a": 9900.0, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 10, "t_bus": 4, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "15": {"index": 15, "transformer": false, "br_r": 0.0006615000000000001, "br_x": 0.0013027000000000002, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0, "b_to": 0.0, "rate_a": 9900.0, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 10, "t_bus": 5, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "16": {"index": 16, "transformer": true, "br_r": 0.0, "br_x": 0.0020912, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0, "b_to": 0.0, "rate_a": 9900.0, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 8, "t_bus": 11, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 0.9780000000000001, "shift": 0.0}, "17": {"index": 17, "transformer": true, "br_r": 0.0, "br_x": 0.0055617999999999996, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0, "b_to": 0.0, "rate_a": 9900.0, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 8, "t_bus": 13, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 0.9690000000000001, "shift": 0.0}, "18": {"index": 18, "transformer": true, "br_r": 0.0, "br_x": 0.0025202000000000002, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0, "b_to": 0.0, "rate_a": 9900.0, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 9, "t_bus": 10, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 0.932, "shift": 0.0}, "19": {"index": 19, "transformer": true, "br_r": 0.0, "br_x": 0.0017614999999999998, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0, "b_to": 0.0, "rate_a": 9900.0, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 11, "t_bus": 12, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "20": {"index": 20, "transformer": true, "br_r": 0.0, "br_x": 0.0011001, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0, "b_to": 0.0, "rate_a": 9900.0, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 11, "t_bus": 13, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}}, "bus": {"1": {"index": 1, "bus_i": 1, "zone": 1, "bus_type": 3, "vmax": 1.06000001, "vmin": 1.0599999900000001, "va": 0.0, "vm": 1.06, "base_kv": 135.0}, "2": {"index": 2, "bus_i": 2, "zone": 1, "bus_type": 2, "vmax": 1.06, "vmin": 0.94, "va": 0.0, "vm": 1.045, "base_kv": 135.0}, "3": {"index": 3, "bus_i": 3, "zone": 1, "bus_type": 1, "vmax": 1.06, "vmin": 0.94, "va": 0.0, "vm": 1.0, "base_kv": 0.208}, "4": {"index": 4, "bus_i": 4, "zone": 1, "bus_type": 1, "vmax": 1.06, "vmin": 0.94, "va": 0.0, "vm": 1.0, "base_kv": 0.208}, "5": {"index": 5, "bus_i": 5, "zone": 1, "bus_type": 1, "vmax": 1.06, "vmin": 0.94, "va": 0.0, "vm": 1.0, "base_kv": 0.208}, "6": {"index": 6, "bus_i": 6, "zone": 1, "bus_type": 1, "vmax": 1.06, "vmin": 0.94, "va": 0.0, "vm": 1.0, "base_kv": 0.208}, "7": {"index": 7, "bus_i": 7, "zone": 1, "bus_type": 2, "vmax": 1.06, "vmin": 0.94, "va": 0.0, "vm": 1.01, "base_kv": 135.0}, "8": {"index": 8, "bus_i": 8, "zone": 1, "bus_type": 1, "vmax": 1.06, "vmin": 0.94, "va": 0.0, "vm": 1.0, "base_kv": 135.0}, "9": {"index": 9, "bus_i": 9, "zone": 1, "bus_type": 1, "vmax": 1.06, "vmin": 0.94, "va": 0.0, "vm": 1.0, "base_kv": 135.0}, "10": {"index": 10, "bus_i": 10, "zone": 1, "bus_type": 2, "vmax": 1.06, "vmin": 0.94, "va": 0.0, "vm": 1.07, "base_kv": 0.208}, "11": {"index": 11, "bus_i": 11, "zone": 1, "bus_type": 1, "vmax": 1.06, "vmin": 0.94, "va": 0.0, "vm": 1.0, "base_kv": 14.0}, "12": {"index": 12, "bus_i": 12, "zone": 1, "bus_type": 2, "vmax": 1.06, "vmin": 0.94, "va": 0.0, "vm": 1.09, "base_kv": 12.0}, "13": {"index": 13, "bus_i": 13, "zone": 1, "bus_type": 1, "vmax": 1.06, "vmin": 0.94, "va": 0.0, "vm": 1.0, "base_kv": 0.208}, "14": {"index": 14, "bus_i": 14, "zone": 1, "bus_type": 1, "vmax": 1.06, "vmin": 0.94, "va": 0.0, "vm": 1.0, "base_kv": 0.208}}, "dcline": {}, "load": {"1": {"pd": 21.7, "qd": 12.7, "load_bus": 2, "status": 1, "index": 1}, "2": {"pd": 94.2, "qd": 19.0, "load_bus": 7, "status": 1, "index": 2}, "3": {"pd": 14.9, "qd": 5.0, "load_bus": 6, "status": 1, "index": 3}, "4": {"pd": 47.8, "qd": -3.9, "load_bus": 8, "status": 1, "index": 4}, "5": {"pd": 7.6, "qd": 1.6, "load_bus": 9, "status": 1, "index": 5}, "6": {"pd": 11.2, "qd": 7.5, "load_bus": 10, "status": 1, "index": 6}, "7": {"pd": 29.5, "qd": 16.6, "load_bus": 13, "status": 1, "index": 7}, "8": {"pd": 9.0, "qd": 5.8, "load_bus": 14, "status": 1, "index": 8}, "9": {"pd": 3.5, "qd": 1.8, "load_bus": 3, "status": 1, "index": 9}, "10": {"pd": 6.1, "qd": 1.6, "load_bus": 4, "status": 1, "index": 10}, "11": {"pd": 13.5, "qd": 5.8, "load_bus": 5, "status": 1, "index": 11}}, "storage": {}, "ne_branch": {}, "switch": {}, "baseMVA": 1.0, "source_version": "2.0.0", "shunt": {"1": {"gs": 0.0, "bs": 19.0, "shunt_bus": 13, "status": true, "index": 1}}, "sourcetype": "matpower", "per_unit": true, "name": "", "pm_solver": "gurobi", "pm_mip_solver": "cbc", "pm_nl_solver": "ipopt", "pm_model": "DCPPowerModel", "pm_log_level": 0, "pm_time_limit": Infinity, "pm_nl_time_limit": Infinity, "pm_mip_time_limit": Infinity, "correct_pm_network_data": true} \ No newline at end of file diff --git a/pandapower/opf/PpPmInterface/test/runtests.jl b/pandapower/opf/PpPmInterface/test/runtests.jl index a961a557d..3b36d555b 100644 --- a/pandapower/opf/PpPmInterface/test/runtests.jl +++ b/pandapower/opf/PpPmInterface/test/runtests.jl @@ -1,15 +1,39 @@ import Pkg -Pkg.activate(joinpath(homedir(), "pandapower", "pandapower", "opf","PpPmInterface")) - -# Pkg.activate("test") -# Pkg.dev(".") +Pkg.activate(joinpath(homedir(),"GitHub", "pandapower", "pandapower", "opf","PpPmInterface")) using PpPmInterface using Test -json_path = joinpath(pwd(), "test", "test_net.json"); - +test_path=joinpath(homedir(),"GitHub", "pandapower", "pandapower", "opf", "PpPmInterface", "test") +test_net=joinpath(test_path, "pm_test.json") +test_ipopt = joinpath(test_path, "test_ipopt.json") +test_Gurobi = joinpath(test_path, "test_Gurobi.json") #use gurobi to solve @testset "PpPmInterface.jl" begin - pm = load_pm_from_json(json_path) - # result = run_powermodels(json_path) + # for i in ["","_ots","_powerflow","_tnep"] + # comm="run_powermodels"*i*"(test_ipopt)" + # result=Meta.parse($comm) + # @test typeof(result)==Dict{String,Any} + # @test result["solve_time"]>=0 + # end + result=run_powermodels(test_ipopt) + @test typeof(result)==Dict{String,Any} + @test result["solve_time"]>=0 + # result=run_powermodels_mn_storage(test_Gurobi) + # @test typeof(result)==Dict{String,Any} + # @test result["solve_time"]>=0 + result=run_powermodels_ots(test_net) #use Gurobi + @test typeof(result)==Dict{String,Any} + @test result["solve_time"]>=0 + result=run_powermodels_powerflow(test_ipopt) + @test typeof(result)==Dict{String,Any} + @test result["solve_time"]>=0 + result=run_powermodels_tnep(test_ipopt) + @test typeof(result)==Dict{String,Any} + @test result["solve_time"]>=0 end + +# json_path = joinpath(pwd(), "pandapower","opf","PpPmInterface","test", "test_net.json"); +# @testset "PpPmInterface.jl" begin +# pm = load_pm_from_json(json_path) +# # result = run_powermodels(json_path) +# end diff --git a/pandapower/opf/PpPmInterface/test/test_Gurobi.json b/pandapower/opf/PpPmInterface/test/test_Gurobi.json new file mode 100644 index 000000000..09ff7ba3c --- /dev/null +++ b/pandapower/opf/PpPmInterface/test/test_Gurobi.json @@ -0,0 +1 @@ +{"gen": {"1": {"pg": 0.0, "qg": 0.0, "gen_bus": 1, "vg": 1.068, "qmax": 1000000000.0, "gen_status": 1, "qmin": -1000000000.0, "pmin": -1000000000.0, "pmax": 1000000000.0, "index": 1, "model": 2, "ncost": 3, "cost": [0, 1.0, 0.0]}}, "branch": {"1": {"index": 1, "transformer": false, "br_r": 4.2376047520661155e-05, "br_x": 0.00011455077685950411, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.08010033389049999, "b_to": 0.08010033389049999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 4, "t_bus": 41, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "2": {"index": 2, "transformer": false, "br_r": 5.284605743801653e-05, "br_x": 0.0001428532694214876, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0998910255497, "b_to": 0.0998910255497, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 26, "t_bus": 77, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "3": {"index": 3, "transformer": false, "br_r": 5.284605743801653e-05, "br_x": 0.0001428532694214876, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0998910255497, "b_to": 0.0998910255497, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 26, "t_bus": 77, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "4": {"index": 4, "transformer": false, "br_r": 3.89280826446281e-05, "br_x": 3.909464378512397e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.3722572551710002, "b_to": 1.3722572551710002, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 67, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "5": {"index": 5, "transformer": false, "br_r": 2.796371074380165e-05, "br_x": 2.808335875206612e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.9857512197555001, "b_to": 0.9857512197555001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 14, "t_bus": 36, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "6": {"index": 6, "transformer": false, "br_r": 6.59696347107438e-05, "br_x": 6.625189822975207e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 2.3255013785091, "b_to": 2.3255013785091, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 57, "t_bus": 3, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "7": {"index": 7, "transformer": false, "br_r": 2.8893701652892566e-05, "br_x": 7.810534876033058e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0546156445714, "b_to": 0.0546156445714, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 12, "t_bus": 14, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "8": {"index": 8, "transformer": false, "br_r": 3.762483347107438e-05, "br_x": 0.00010170731239669421, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0711194625251, "b_to": 0.0711194625251, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 36, "t_bus": 37, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "9": {"index": 9, "transformer": false, "br_r": 3.099420123966942e-05, "br_x": 8.378341157024791e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.058586064846099996, "b_to": 0.058586064846099996, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 26, "t_bus": 55, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "10": {"index": 10, "transformer": false, "br_r": 3.256077520661157e-05, "br_x": 8.801816859504131e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0615472446908, "b_to": 0.0615472446908, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 42, "t_bus": 55, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "11": {"index": 11, "transformer": false, "br_r": 2.0578217355371903e-05, "br_x": 5.562696198347107e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.038897494633799996, "b_to": 0.038897494633799996, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 42, "t_bus": 54, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "12": {"index": 12, "transformer": false, "br_r": 7.445407933884298e-06, "br_x": 7.477264515371902e-06, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.26245872801522, "b_to": 0.26245872801522, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 33, "t_bus": 37, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "13": {"index": 13, "transformer": false, "br_r": 9.478265702479337e-06, "br_x": 2.562161322314049e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0179160703249, "b_to": 0.0179160703249, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 11, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "14": {"index": 14, "transformer": false, "br_r": 5.575812396694215e-05, "br_x": 0.0001507251570247934, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.105395491278, "b_to": 0.105395491278, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 5, "t_bus": 54, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "15": {"index": 15, "transformer": false, "br_r": 5.194299917355372e-05, "br_x": 0.0001404121256198347, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0981840407614, "b_to": 0.0981840407614, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 68, "t_bus": 48, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "16": {"index": 16, "transformer": false, "br_r": 6.190288388429752e-05, "br_x": 0.00016733564958677685, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1170104801657, "b_to": 0.1170104801657, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 5, "t_bus": 49, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "17": {"index": 17, "transformer": false, "br_r": 5.8436084297520655e-06, "br_x": 5.868611410082645e-06, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.20599355322249, "b_to": 0.20599355322249, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 60, "t_bus": 72, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "18": {"index": 18, "transformer": false, "br_r": 2.9501471900826447e-05, "br_x": 7.974827107438016e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0557644680846, "b_to": 0.0557644680846, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 16, "t_bus": 43, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "19": {"index": 19, "transformer": false, "br_r": 2.0578217355371903e-05, "br_x": 5.562696198347107e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.038897494633799996, "b_to": 0.038897494633799996, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 42, "t_bus": 54, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "20": {"index": 20, "transformer": false, "br_r": 6.190288388429752e-05, "br_x": 0.00016733564958677685, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1170104801657, "b_to": 0.1170104801657, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 5, "t_bus": 49, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "21": {"index": 21, "transformer": false, "br_r": 9.421886776859506e-05, "br_x": 0.0002546920991735537, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.178095013778, "b_to": 0.178095013778, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 50, "t_bus": 78, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "22": {"index": 22, "transformer": false, "br_r": 8.453047066115703e-05, "br_x": 0.00022850245950413217, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.15978174747369997, "b_to": 0.15978174747369997, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 13, "t_bus": 50, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "23": {"index": 23, "transformer": false, "br_r": 2.492781074380165e-05, "br_x": 6.738476694214875e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.04711921192659999, "b_to": 0.04711921192659999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 77, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "24": {"index": 24, "transformer": false, "br_r": 1.7744248760330577e-05, "br_x": 4.796618842975206e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0335406517006, "b_to": 0.0335406517006, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 79, "t_bus": 51, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "25": {"index": 25, "transformer": false, "br_r": 2.1056850000000005e-05, "br_x": 5.69208e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0398022188091, "b_to": 0.0398022188091, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 22, "t_bus": 47, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "26": {"index": 26, "transformer": false, "br_r": 9.588580165289255e-05, "br_x": 0.0002591981487603306, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.18124589661199997, "b_to": 0.18124589661199997, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 43, "t_bus": 74, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "27": {"index": 27, "transformer": false, "br_r": 3.43484305785124e-05, "br_x": 9.285055206611572e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0649263184966, "b_to": 0.0649263184966, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 7, "t_bus": 74, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "28": {"index": 28, "transformer": false, "br_r": 2.177430123966942e-05, "br_x": 5.8860211570247936e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0411583642547, "b_to": 0.0411583642547, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 7, "t_bus": 26, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "29": {"index": 29, "transformer": false, "br_r": 1.790668884297521e-05, "br_x": 4.8405295867768594e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.033847700272100004, "b_to": 0.033847700272100004, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 9, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "30": {"index": 30, "transformer": false, "br_r": 4.6210990909090905e-05, "br_x": 0.0001249173818181818, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0873492460434, "b_to": 0.0873492460434, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 48, "t_bus": 65, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "31": {"index": 31, "transformer": false, "br_r": 2.8893701652892566e-05, "br_x": 7.810534876033058e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0546156445714, "b_to": 0.0546156445714, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 12, "t_bus": 14, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "32": {"index": 32, "transformer": false, "br_r": 1.117596818181818e-05, "br_x": 3.021083636363636e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.021125112776899997, "b_to": 0.021125112776899997, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 35, "t_bus": 55, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "33": {"index": 33, "transformer": false, "br_r": 0.0004672844628099174, "br_x": 0.0012631616528925621, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.88327353972, "b_to": 0.88327353972, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 15, "t_bus": 56, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "34": {"index": 34, "transformer": false, "br_r": 1.6740921074380167e-05, "br_x": 4.5253996694214874e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0316441349807, "b_to": 0.0316441349807, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 62, "t_bus": 73, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "35": {"index": 35, "transformer": false, "br_r": 0.00023777789256198347, "br_x": 0.0006427603305785123, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.44945410674999997, "b_to": 0.44945410674999997, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 45, "t_bus": 52, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "36": {"index": 36, "transformer": false, "br_r": 9.808123140495869e-06, "br_x": 2.65132826446281e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.018539575641399998, "b_to": 0.018539575641399998, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 54, "t_bus": 80, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "37": {"index": 37, "transformer": false, "br_r": 1.7537194214876032e-05, "br_x": 4.740647933884297e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.033149271683, "b_to": 0.033149271683, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 7, "t_bus": 44, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "38": {"index": 38, "transformer": false, "br_r": 0.00024048824380165288, "br_x": 0.0006500869421487603, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.454577284865, "b_to": 0.454577284865, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 15, "t_bus": 52, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "39": {"index": 39, "transformer": false, "br_r": 1.821491776859504e-05, "br_x": 4.9238499173553714e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.034430322798299995, "b_to": 0.034430322798299995, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 31, "t_bus": 60, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "40": {"index": 40, "transformer": false, "br_r": 1.4756527685950414e-05, "br_x": 3.988979173553719e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.027893181735099998, "b_to": 0.027893181735099998, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 44, "t_bus": 61, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "41": {"index": 41, "transformer": false, "br_r": 1.3625872314049586e-05, "br_x": 3.683340826446281e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0257559868313, "b_to": 0.0257559868313, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 44, "t_bus": 61, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "42": {"index": 42, "transformer": false, "br_r": 0.0001310841694214876, "br_x": 0.00035434624793388426, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.24777878902699998, "b_to": 0.24777878902699998, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 6, "t_bus": 61, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "43": {"index": 43, "transformer": false, "br_r": 4.689704008264463e-05, "br_x": 0.00012677190743801652, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0886460344671, "b_to": 0.0886460344671, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 23, "t_bus": 62, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "44": {"index": 44, "transformer": false, "br_r": 0.00011679939669421486, "br_x": 0.0003157317024793388, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.22077733108199998, "b_to": 0.22077733108199998, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 46, "t_bus": 43, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "45": {"index": 45, "transformer": false, "br_r": 6.848835867768595e-06, "br_x": 1.8513748099173555e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.01294585200524, "b_to": 0.01294585200524, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 25, "t_bus": 48, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "46": {"index": 46, "transformer": false, "br_r": 3.256077520661157e-05, "br_x": 8.801816859504131e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0615472446908, "b_to": 0.0615472446908, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 42, "t_bus": 55, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "47": {"index": 47, "transformer": false, "br_r": 8.471372479338843e-05, "br_x": 0.00022899783140495865, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.16012813931619999, "b_to": 0.16012813931619999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 79, "t_bus": 3, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "48": {"index": 48, "transformer": false, "br_r": 0.00029743005371900825, "br_x": 0.0008040118347107439, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.562210210859, "b_to": 0.562210210859, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 59, "t_bus": 74, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "49": {"index": 49, "transformer": false, "br_r": 8.12613979338843e-06, "br_x": 2.1966551404958676e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.015360245911889999, "b_to": 0.015360245911889999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 27, "t_bus": 49, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "50": {"index": 50, "transformer": false, "br_r": 3.762483347107438e-05, "br_x": 0.00010170731239669421, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0711194625251, "b_to": 0.0711194625251, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 36, "t_bus": 37, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "51": {"index": 51, "transformer": false, "br_r": 0.0001394704214876033, "br_x": 0.0003770159338842975, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.263630706086, "b_to": 0.263630706086, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 24, "t_bus": 79, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "52": {"index": 52, "transformer": false, "br_r": 0.00011251260743801652, "br_x": 0.0003041436694214876, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.212674327833, "b_to": 0.212674327833, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 78, "t_bus": 81, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "53": {"index": 53, "transformer": false, "br_r": 3.099420123966942e-05, "br_x": 8.378341157024791e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.058586064846099996, "b_to": 0.058586064846099996, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 26, "t_bus": 55, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "54": {"index": 54, "transformer": false, "br_r": 0.00012475126859504132, "br_x": 0.0003372271735537189, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.23580817118099998, "b_to": 0.23580817118099998, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 10, "t_bus": 26, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "55": {"index": 55, "transformer": false, "br_r": 0.00011084386363636363, "br_x": 0.00029963272727272726, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.209520023845, "b_to": 0.209520023845, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 10, "t_bus": 64, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "56": {"index": 56, "transformer": false, "br_r": 0.00018134376446280994, "br_x": 0.0004902078016528926, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.342780814453, "b_to": 0.342780814453, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 19, "t_bus": 64, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "57": {"index": 57, "transformer": false, "br_r": 4.929586446280991e-05, "br_x": 4.950678611239669e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.7377328412642, "b_to": 1.7377328412642, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 33, "t_bus": 65, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "58": {"index": 58, "transformer": false, "br_r": 4.937723140495868e-05, "br_x": 4.958850119834711e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.7406011144775, "b_to": 1.7406011144775, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 33, "t_bus": 65, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "59": {"index": 59, "transformer": false, "br_r": 0.000377132479338843, "br_x": 0.0010194631404958677, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.71286585898, "b_to": 0.71286585898, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 53, "t_bus": 74, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "60": {"index": 60, "transformer": false, "br_r": 5.8436084297520655e-06, "br_x": 5.868611410082645e-06, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.20599355322249, "b_to": 0.20599355322249, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 60, "t_bus": 72, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "61": {"index": 61, "transformer": false, "br_r": 1.326755041322314e-05, "br_x": 1.3324318128925619e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.4676955831372, "b_to": 0.4676955831372, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 11, "t_bus": 12, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "62": {"index": 62, "transformer": false, "br_r": 4.928598347107438e-05, "br_x": 4.949686284297522e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.7373845255580003, "b_to": 1.7373845255580003, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 82, "t_bus": 29, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "63": {"index": 63, "transformer": false, "br_r": 1.1055216528925618e-05, "br_x": 1.1102518357024794e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.38970840736740003, "b_to": 0.38970840736740003, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 30, "t_bus": 51, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "64": {"index": 64, "transformer": false, "br_r": 1.3728831404958676e-05, "br_x": 1.3787572798347106e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.4839562398297, "b_to": 0.4839562398297, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 29, "t_bus": 34, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "65": {"index": 65, "transformer": false, "br_r": 2.54041305785124e-05, "br_x": 2.551282694049587e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.8955232348821001, "b_to": 0.8955232348821001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 32, "t_bus": 33, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "66": {"index": 66, "transformer": false, "br_r": 2.796371074380165e-05, "br_x": 2.808335875206612e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.9857512197555001, "b_to": 0.9857512197555001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 14, "t_bus": 36, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "67": {"index": 67, "transformer": false, "br_r": 7.445407933884298e-06, "br_x": 7.477264515371902e-06, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.26245872801522, "b_to": 0.26245872801522, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 33, "t_bus": 37, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "68": {"index": 68, "transformer": false, "br_r": 6.59696347107438e-05, "br_x": 6.625189822975207e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 2.3255013785091, "b_to": 2.3255013785091, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 57, "t_bus": 3, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "69": {"index": 69, "transformer": false, "br_r": 3.9888757024793385e-05, "br_x": 4.005942859173554e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.4061220719942, "b_to": 1.4061220719942, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 57, "t_bus": 67, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "70": {"index": 70, "transformer": false, "br_r": 8.088050082644629e-05, "br_x": 0.00021863587438016531, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1528824772596, "b_to": 0.1528824772596, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 17, "t_bus": 18, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "71": {"index": 71, "transformer": false, "br_r": 2.5049019834710748e-05, "br_x": 2.5156196788429757e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.8830051949103002, "b_to": 0.8830051949103002, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 57, "t_bus": 75, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "72": {"index": 72, "transformer": false, "br_r": 2.2473004958677688e-05, "br_x": 2.2569159947107442e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.7921978686072001, "b_to": 0.7921978686072001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 57, "t_bus": 38, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "73": {"index": 73, "transformer": false, "br_r": 4.408374214876033e-05, "br_x": 4.4272362750413216e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.5539998604856, "b_to": 1.5539998604856, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 82, "t_bus": 67, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "74": {"index": 74, "transformer": false, "br_r": 2.3274676033057853e-05, "br_x": 2.3374261122314052e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.8204576459541001, "b_to": 0.8204576459541001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 32, "t_bus": 69, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "75": {"index": 75, "transformer": false, "br_r": 4.299259834710744e-05, "br_x": 4.317655028429753e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.5155358546438003, "b_to": 1.5155358546438003, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 33, "t_bus": 69, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "76": {"index": 76, "transformer": false, "br_r": 5.412071239669422e-05, "br_x": 5.43522780677686e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.9078139789049, "b_to": 1.9078139789049, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 69, "t_bus": 75, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "77": {"index": 77, "transformer": false, "br_r": 2.6158211570247933e-05, "br_x": 2.6270134409917357e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.9221054100522001, "b_to": 0.9221054100522001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 2, "t_bus": 82, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "78": {"index": 78, "transformer": false, "br_r": 8.94323520661157e-06, "br_x": 8.98150052446281e-06, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.31525876856067003, "b_to": 0.31525876856067003, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 2, "t_bus": 70, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "79": {"index": 79, "transformer": false, "br_r": 1.68519305785124e-05, "br_x": 1.692403474049587e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.5940488826822001, "b_to": 0.5940488826822001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 38, "t_bus": 70, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "80": {"index": 80, "transformer": false, "br_r": 2.413533057851239e-05, "br_x": 2.4238598140495867e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.8507966548125, "b_to": 0.8507966548125, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 2, "t_bus": 71, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "81": {"index": 81, "transformer": false, "br_r": 0.00010648920247933885, "br_x": 0.00028786122314049587, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.201288727321, "b_to": 0.201288727321, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 68, "t_bus": 47, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "82": {"index": 82, "transformer": false, "br_r": 1.4655023140495867e-05, "br_x": 1.4717727419834711e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.5166055059231001, "b_to": 0.5166055059231001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 29, "t_bus": 40, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "83": {"index": 83, "transformer": false, "br_r": 2.7664357024793388e-05, "br_x": 2.778272419173554e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.9751986755544001, "b_to": 0.9751986755544001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 2, "t_bus": 40, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "84": {"index": 84, "transformer": false, "br_r": 4.906325785123967e-05, "br_x": 4.927318424958678e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.7295332052009, "b_to": 1.7295332052009, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 66, "t_bus": 75, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "85": {"index": 85, "transformer": false, "br_r": 4.822508760330579e-05, "br_x": 4.8431427732231406e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.6999867922862002, "b_to": 1.6999867922862002, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 82, "t_bus": 39, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "86": {"index": 86, "transformer": false, "br_r": 8.979270578512397e-05, "br_x": 9.017690080495869e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 3.1652905461573004, "b_to": 3.1652905461573004, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 82, "t_bus": 51, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "87": {"index": 87, "transformer": false, "br_r": 2.414188429752066e-05, "br_x": 2.4245179900826447e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.8510276805360001, "b_to": 0.8510276805360001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 63, "t_bus": 81, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "88": {"index": 88, "transformer": false, "br_r": 3.89280826446281e-05, "br_x": 3.909464378512397e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.3722572551710002, "b_to": 1.3722572551710002, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 67, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "89": {"index": 89, "transformer": false, "br_r": 5.657828801652893e-05, "br_x": 0.0001529422214876033, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1069457872131, "b_to": 0.1069457872131, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 26, "t_bus": 74, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "90": {"index": 90, "transformer": false, "br_r": 6.350674214876033e-05, "br_x": 0.00017167119338842973, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1200421357828, "b_to": 0.1200421357828, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 4, "t_bus": 42, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "91": {"index": 91, "transformer": false, "br_r": 0.0002765101239669421, "br_x": 0.0007474611570247933, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.52266680235, "b_to": 0.52266680235, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 6, "t_bus": 21, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "92": {"index": 92, "transformer": false, "br_r": 0.0001057444214876033, "br_x": 0.0002858479338842975, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.19988092245, "b_to": 0.19988092245, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 13, "t_bus": 47, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "93": {"index": 93, "transformer": false, "br_r": 0.00025798019008264466, "br_x": 0.0006973711074380165, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.487641027698, "b_to": 0.487641027698, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 19, "t_bus": 76, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "94": {"index": 94, "transformer": false, "br_r": 9.501613636363637e-05, "br_x": 0.0002568472727272727, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.17960203211499998, "b_to": 0.17960203211499998, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 68, "t_bus": 17, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "95": {"index": 95, "transformer": false, "br_r": 5.0131543388429755e-06, "br_x": 1.3551540495867768e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.00947599787805, "b_to": 0.00947599787805, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 68, "t_bus": 73, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "96": {"index": 96, "transformer": false, "br_r": 0.00010105311570247936, "br_x": 0.00027316641322314047, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.191013291282, "b_to": 0.191013291282, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 68, "t_bus": 72, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "97": {"index": 97, "transformer": false, "br_r": 6.445857768595041e-05, "br_x": 0.0001742441917355372, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1218413206714, "b_to": 0.1218413206714, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 46, "t_bus": 20, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "98": {"index": 98, "transformer": false, "br_r": 2.020672892561983e-05, "br_x": 2.0293187224793388e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.7123091734209, "b_to": 0.7123091734209, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 28, "t_bus": 66, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "99": {"index": 99, "transformer": false, "br_r": 6.635247520661156e-05, "br_x": 0.0001793637685950413, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.12542121621699998, "b_to": 0.12542121621699998, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 17, "t_bus": 58, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "100": {"index": 100, "transformer": false, "br_r": 6.455866611570249e-05, "br_x": 0.00017451475041322311, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1220305104876, "b_to": 0.1220305104876, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 6, "t_bus": 52, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "101": {"index": 101, "transformer": false, "br_r": 5.360586074380165e-05, "br_x": 0.00014490716694214874, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1013272259989, "b_to": 0.1013272259989, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 31, "t_bus": 49, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "102": {"index": 102, "transformer": false, "br_r": 8.012603677685951e-05, "br_x": 0.00021659640991735537, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1514563692147, "b_to": 0.1514563692147, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 8, "t_bus": 26, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "103": {"index": 103, "transformer": false, "br_r": 5.194299917355372e-05, "br_x": 0.0001404121256198347, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0981840407614, "b_to": 0.0981840407614, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 68, "t_bus": 48, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "104": {"index": 104, "transformer": false, "br_r": 1.876649008264463e-05, "br_x": 5.072950743801653e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0354729194798, "b_to": 0.0354729194798, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 23, "t_bus": 63, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "105": {"index": 105, "transformer": false, "br_r": 5.575812396694215e-05, "br_x": 0.0001507251570247934, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.105395491278, "b_to": 0.105395491278, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 5, "t_bus": 54, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "106": {"index": 106, "transformer": false, "br_r": 5.284605743801653e-05, "br_x": 0.0001428532694214876, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0998910255497, "b_to": 0.0998910255497, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 26, "t_bus": 77, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "107": {"index": 107, "transformer": false, "br_r": 2.492781074380165e-05, "br_x": 6.738476694214875e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.04711921192659999, "b_to": 0.04711921192659999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 77, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "108": {"index": 108, "transformer": false, "br_r": 4.6210990909090905e-05, "br_x": 0.0001249173818181818, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0873492460434, "b_to": 0.0873492460434, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 48, "t_bus": 65, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "109": {"index": 109, "transformer": false, "br_r": 2.5049019834710748e-05, "br_x": 2.5156196788429757e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.8830051949103002, "b_to": 0.8830051949103002, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 57, "t_bus": 75, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "110": {"index": 110, "transformer": false, "br_r": 5.412071239669422e-05, "br_x": 5.43522780677686e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.9078139789049, "b_to": 1.9078139789049, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 69, "t_bus": 75, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "111": {"index": 111, "transformer": false, "br_r": 1.326755041322314e-05, "br_x": 1.3324318128925619e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.4676955831372, "b_to": 0.4676955831372, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 11, "t_bus": 12, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "112": {"index": 112, "transformer": false, "br_r": 2.492781074380165e-05, "br_x": 6.738476694214875e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.04711921192659999, "b_to": 0.04711921192659999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 77, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "113": {"index": 113, "transformer": false, "br_r": 9.478265702479337e-06, "br_x": 2.562161322314049e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0179160703249, "b_to": 0.0179160703249, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 11, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "114": {"index": 114, "transformer": true, "br_r": 4.275061802727891e-06, "br_x": 0.00039998108282893, "g_fr": 0.034999320231447764, "g_to": 0.034999320231447764, "b_fr": -0.04873373443828248, "b_to": -0.04873373443828248, "rate_a": 300.0, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 1, "t_bus": 3, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "115": {"index": 115, "transformer": true, "br_r": 4.275061802727891e-06, "br_x": 0.00039998108282893, "g_fr": 0.034999320231447764, "g_to": 0.034999320231447764, "b_fr": -0.04873373443828248, "b_to": -0.04873373443828248, "rate_a": 300.0, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 1, "t_bus": 3, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "116": {"index": 116, "transformer": true, "br_r": 4.275061802727891e-06, "br_x": 0.00039998108282893, "g_fr": 0.034999320231447764, "g_to": 0.034999320231447764, "b_fr": -0.04873373443828248, "b_to": -0.04873373443828248, "rate_a": 300.0, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 1, "t_bus": 3, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}}, "bus": {"1": {"index": 1, "bus_i": 1, "zone": 1, "bus_type": 3, "vmax": 1.06800001, "vmin": 1.0679999900000001, "va": 0.0, "vm": 1.068, "base_kv": 220.0}, "2": {"index": 2, "bus_i": 2, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "3": {"index": 3, "bus_i": 3, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "4": {"index": 4, "bus_i": 4, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "5": {"index": 5, "bus_i": 5, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "6": {"index": 6, "bus_i": 6, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "7": {"index": 7, "bus_i": 7, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "8": {"index": 8, "bus_i": 8, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "9": {"index": 9, "bus_i": 9, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "10": {"index": 10, "bus_i": 10, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "11": {"index": 11, "bus_i": 11, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "12": {"index": 12, "bus_i": 12, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "13": {"index": 13, "bus_i": 13, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "14": {"index": 14, "bus_i": 14, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "15": {"index": 15, "bus_i": 15, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "16": {"index": 16, "bus_i": 16, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "17": {"index": 17, "bus_i": 17, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "18": {"index": 18, "bus_i": 18, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "19": {"index": 19, "bus_i": 19, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "20": {"index": 20, "bus_i": 20, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "21": {"index": 21, "bus_i": 21, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "22": {"index": 22, "bus_i": 22, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "23": {"index": 23, "bus_i": 23, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "24": {"index": 24, "bus_i": 24, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "25": {"index": 25, "bus_i": 25, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "26": {"index": 26, "bus_i": 26, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "27": {"index": 27, "bus_i": 27, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "28": {"index": 28, "bus_i": 28, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "29": {"index": 29, "bus_i": 29, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "30": {"index": 30, "bus_i": 30, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "31": {"index": 31, "bus_i": 31, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "32": {"index": 32, "bus_i": 32, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "33": {"index": 33, "bus_i": 33, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "34": {"index": 34, "bus_i": 34, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "35": {"index": 35, "bus_i": 35, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "36": {"index": 36, "bus_i": 36, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "37": {"index": 37, "bus_i": 37, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "38": {"index": 38, "bus_i": 38, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "39": {"index": 39, "bus_i": 39, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "40": {"index": 40, "bus_i": 40, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "41": {"index": 41, "bus_i": 41, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "42": {"index": 42, "bus_i": 42, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "43": {"index": 43, "bus_i": 43, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "44": {"index": 44, "bus_i": 44, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "45": {"index": 45, "bus_i": 45, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "46": {"index": 46, "bus_i": 46, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "47": {"index": 47, "bus_i": 47, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "48": {"index": 48, "bus_i": 48, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "49": {"index": 49, "bus_i": 49, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "50": {"index": 50, "bus_i": 50, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "51": {"index": 51, "bus_i": 51, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "52": {"index": 52, "bus_i": 52, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "53": {"index": 53, "bus_i": 53, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "54": {"index": 54, "bus_i": 54, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "55": {"index": 55, "bus_i": 55, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "56": {"index": 56, "bus_i": 56, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "57": {"index": 57, "bus_i": 57, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "58": {"index": 58, "bus_i": 58, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "59": {"index": 59, "bus_i": 59, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "60": {"index": 60, "bus_i": 60, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "61": {"index": 61, "bus_i": 61, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "62": {"index": 62, "bus_i": 62, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "63": {"index": 63, "bus_i": 63, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "64": {"index": 64, "bus_i": 64, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "65": {"index": 65, "bus_i": 65, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "66": {"index": 66, "bus_i": 66, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "67": {"index": 67, "bus_i": 67, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "68": {"index": 68, "bus_i": 68, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "69": {"index": 69, "bus_i": 69, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "70": {"index": 70, "bus_i": 70, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "71": {"index": 71, "bus_i": 71, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "72": {"index": 72, "bus_i": 72, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "73": {"index": 73, "bus_i": 73, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "74": {"index": 74, "bus_i": 74, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "75": {"index": 75, "bus_i": 75, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "76": {"index": 76, "bus_i": 76, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "77": {"index": 77, "bus_i": 77, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "78": {"index": 78, "bus_i": 78, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "79": {"index": 79, "bus_i": 79, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "80": {"index": 80, "bus_i": 80, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "81": {"index": 81, "bus_i": 81, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "82": {"index": 82, "bus_i": 82, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}}, "dcline": {}, "load": {"1": {"pd": 1.0, "qd": 0.395, "load_bus": 2, "status": 1, "index": 1}, "2": {"pd": 1.0, "qd": 0.395, "load_bus": 3, "status": 1, "index": 2}, "3": {"pd": 1.0, "qd": 0.395, "load_bus": 7, "status": 1, "index": 3}, "4": {"pd": 1.0, "qd": 0.395, "load_bus": 8, "status": 1, "index": 4}, "5": {"pd": 1.0, "qd": 0.395, "load_bus": 9, "status": 1, "index": 5}, "6": {"pd": 1.0, "qd": 0.395, "load_bus": 5, "status": 1, "index": 6}, "7": {"pd": 1.0, "qd": 0.395, "load_bus": 10, "status": 1, "index": 7}, "8": {"pd": 1.0, "qd": 0.395, "load_bus": 11, "status": 1, "index": 8}, "9": {"pd": 1.0, "qd": 0.395, "load_bus": 16, "status": 1, "index": 9}, "10": {"pd": 1.0, "qd": 0.395, "load_bus": 14, "status": 1, "index": 10}, "11": {"pd": 1.0, "qd": 0.395, "load_bus": 15, "status": 1, "index": 11}, "12": {"pd": 1.0, "qd": 0.395, "load_bus": 17, "status": 1, "index": 12}, "13": {"pd": 1.0, "qd": 0.395, "load_bus": 21, "status": 1, "index": 13}, "14": {"pd": 1.0, "qd": 0.395, "load_bus": 23, "status": 1, "index": 14}, "15": {"pd": 1.0, "qd": 0.395, "load_bus": 24, "status": 1, "index": 15}, "16": {"pd": 1.0, "qd": 0.395, "load_bus": 25, "status": 1, "index": 16}, "17": {"pd": 1.0, "qd": 0.395, "load_bus": 26, "status": 1, "index": 17}, "18": {"pd": 1.0, "qd": 0.395, "load_bus": 28, "status": 1, "index": 18}, "19": {"pd": 1.0, "qd": 0.395, "load_bus": 29, "status": 1, "index": 19}, "20": {"pd": 1.0, "qd": 0.395, "load_bus": 31, "status": 1, "index": 20}, "21": {"pd": 1.0, "qd": 0.395, "load_bus": 34, "status": 1, "index": 21}, "22": {"pd": 1.0, "qd": 0.395, "load_bus": 40, "status": 1, "index": 22}, "23": {"pd": 1.0, "qd": 0.395, "load_bus": 35, "status": 1, "index": 23}, "24": {"pd": 1.0, "qd": 0.395, "load_bus": 47, "status": 1, "index": 24}, "25": {"pd": 1.0, "qd": 0.395, "load_bus": 50, "status": 1, "index": 25}, "26": {"pd": 1.0, "qd": 0.395, "load_bus": 52, "status": 1, "index": 26}, "27": {"pd": 1.0, "qd": 0.395, "load_bus": 41, "status": 1, "index": 27}, "28": {"pd": 1.0, "qd": 0.395, "load_bus": 53, "status": 1, "index": 28}, "29": {"pd": 1.0, "qd": 0.395, "load_bus": 42, "status": 1, "index": 29}, "30": {"pd": 1.0, "qd": 0.395, "load_bus": 44, "status": 1, "index": 30}, "31": {"pd": 1.0, "qd": 0.395, "load_bus": 57, "status": 1, "index": 31}, "32": {"pd": 1.0, "qd": 0.395, "load_bus": 65, "status": 1, "index": 32}, "33": {"pd": 1.0, "qd": 0.395, "load_bus": 66, "status": 1, "index": 33}, "34": {"pd": 1.0, "qd": 0.395, "load_bus": 49, "status": 1, "index": 34}, "35": {"pd": 1.0, "qd": 0.395, "load_bus": 70, "status": 1, "index": 35}, "36": {"pd": 1.0, "qd": 0.395, "load_bus": 74, "status": 1, "index": 36}, "37": {"pd": 1.0, "qd": 0.395, "load_bus": 51, "status": 1, "index": 37}, "38": {"pd": 1.0, "qd": 0.395, "load_bus": 54, "status": 1, "index": 38}, "39": {"pd": 1.0, "qd": 0.395, "load_bus": 75, "status": 1, "index": 39}, "40": {"pd": 1.0, "qd": 0.395, "load_bus": 56, "status": 1, "index": 40}, "41": {"pd": 1.0, "qd": 0.395, "load_bus": 59, "status": 1, "index": 41}, "42": {"pd": 1.0, "qd": 0.395, "load_bus": 60, "status": 1, "index": 42}, "43": {"pd": 1.0, "qd": 0.395, "load_bus": 61, "status": 1, "index": 43}, "44": {"pd": 1.0, "qd": 0.395, "load_bus": 63, "status": 1, "index": 44}, "45": {"pd": 1.0, "qd": 0.395, "load_bus": 77, "status": 1, "index": 45}, "46": {"pd": 1.0, "qd": 0.395, "load_bus": 80, "status": 1, "index": 46}, "47": {"pd": 1.0, "qd": 0.395, "load_bus": 81, "status": 1, "index": 47}, "48": {"pd": 1.0, "qd": 0.395, "load_bus": 6, "status": 1, "index": 48}, "49": {"pd": 1.0, "qd": 0.395, "load_bus": 13, "status": 1, "index": 49}, "50": {"pd": 1.0, "qd": 0.395, "load_bus": 68, "status": 1, "index": 50}, "51": {"pd": 1.0, "qd": 0.395, "load_bus": 73, "status": 1, "index": 51}, "52": {"pd": 1.0, "qd": 0.395, "load_bus": 30, "status": 1, "index": 52}, "53": {"pd": 1.0, "qd": 0.395, "load_bus": 43, "status": 1, "index": 53}, "54": {"pd": 1.0, "qd": 0.395, "load_bus": 76, "status": 1, "index": 54}, "55": {"pd": 1.0, "qd": 0.395, "load_bus": 58, "status": 1, "index": 55}, "56": {"pd": 1.0, "qd": 0.395, "load_bus": 79, "status": 1, "index": 56}, "57": {"pd": 5.0, "qd": 1.976, "load_bus": 4, "status": 1, "index": 57}, "58": {"pd": 5.0, "qd": 1.976, "load_bus": 20, "status": 1, "index": 58}, "59": {"pd": 5.0, "qd": 1.976, "load_bus": 27, "status": 1, "index": 59}, "60": {"pd": 5.0, "qd": 1.976, "load_bus": 32, "status": 1, "index": 60}, "61": {"pd": 5.0, "qd": 1.976, "load_bus": 33, "status": 1, "index": 61}, "62": {"pd": 5.0, "qd": 1.976, "load_bus": 36, "status": 1, "index": 62}, "63": {"pd": 5.0, "qd": 1.976, "load_bus": 45, "status": 1, "index": 63}, "64": {"pd": 5.0, "qd": 1.976, "load_bus": 62, "status": 1, "index": 64}, "65": {"pd": 5.0, "qd": 1.976, "load_bus": 72, "status": 1, "index": 65}, "66": {"pd": 5.0, "qd": 1.976, "load_bus": 82, "status": 1, "index": 66}, "67": {"pd": 34.48, "qd": 13.627, "load_bus": 37, "status": 1, "index": 67}, "68": {"pd": 34.48, "qd": 13.627, "load_bus": 38, "status": 1, "index": 68}, "69": {"pd": 34.48, "qd": 13.627, "load_bus": 64, "status": 1, "index": 69}, "70": {"pd": 17.26, "qd": 6.822, "load_bus": 12, "status": 1, "index": 70}, "71": {"pd": 17.26, "qd": 6.822, "load_bus": 22, "status": 1, "index": 71}, "72": {"pd": 17.26, "qd": 6.822, "load_bus": 48, "status": 1, "index": 72}, "73": {"pd": 17.26, "qd": 6.822, "load_bus": 69, "status": 1, "index": 73}, "74": {"pd": 17.26, "qd": 6.822, "load_bus": 78, "status": 1, "index": 74}, "75": {"pd": 31.64, "qd": 12.505, "load_bus": 19, "status": 1, "index": 75}, "76": {"pd": 31.64, "qd": 12.505, "load_bus": 71, "status": 1, "index": 76}, "77": {"pd": 31.64, "qd": 12.505, "load_bus": 67, "status": 1, "index": 77}, "78": {"pd": 49.71, "qd": 19.647, "load_bus": 18, "status": 1, "index": 78}, "79": {"pd": 49.71, "qd": 19.647, "load_bus": 46, "status": 1, "index": 79}, "80": {"pd": -0.0, "qd": -0.0, "load_bus": 2, "status": 1, "index": 80}, "81": {"pd": -0.0, "qd": -0.0, "load_bus": 3, "status": 1, "index": 81}, "82": {"pd": -0.0, "qd": -0.0, "load_bus": 7, "status": 1, "index": 82}, "83": {"pd": -0.0, "qd": -0.0, "load_bus": 8, "status": 1, "index": 83}, "84": {"pd": -0.0, "qd": -0.0, "load_bus": 9, "status": 1, "index": 84}, "85": {"pd": -0.0, "qd": -0.0, "load_bus": 11, "status": 1, "index": 85}, "86": {"pd": -0.0, "qd": -0.0, "load_bus": 16, "status": 1, "index": 86}, "87": {"pd": -0.0, "qd": -0.0, "load_bus": 5, "status": 1, "index": 87}, "88": {"pd": -0.0, "qd": -0.0, "load_bus": 10, "status": 1, "index": 88}, "89": {"pd": -0.0, "qd": -0.0, "load_bus": 21, "status": 1, "index": 89}, "90": {"pd": -0.0, "qd": -0.0, "load_bus": 23, "status": 1, "index": 90}, "91": {"pd": -0.0, "qd": -0.0, "load_bus": 24, "status": 1, "index": 91}, "92": {"pd": -0.0, "qd": -0.0, "load_bus": 14, "status": 1, "index": 92}, "93": {"pd": -0.0, "qd": -0.0, "load_bus": 15, "status": 1, "index": 93}, "94": {"pd": -0.0, "qd": -0.0, "load_bus": 17, "status": 1, "index": 94}, "95": {"pd": -0.0, "qd": -0.0, "load_bus": 25, "status": 1, "index": 95}, "96": {"pd": -0.0, "qd": -0.0, "load_bus": 28, "status": 1, "index": 96}, "97": {"pd": -0.0, "qd": -0.0, "load_bus": 29, "status": 1, "index": 97}, "98": {"pd": -0.0, "qd": -0.0, "load_bus": 26, "status": 1, "index": 98}, "99": {"pd": -0.0, "qd": -0.0, "load_bus": 31, "status": 1, "index": 99}, "100": {"pd": -0.0, "qd": -0.0, "load_bus": 35, "status": 1, "index": 100}, "101": {"pd": -0.0, "qd": -0.0, "load_bus": 34, "status": 1, "index": 101}, "102": {"pd": -0.0, "qd": -0.0, "load_bus": 40, "status": 1, "index": 102}, "103": {"pd": -0.0, "qd": -0.0, "load_bus": 47, "status": 1, "index": 103}, "104": {"pd": -0.0, "qd": -0.0, "load_bus": 50, "status": 1, "index": 104}, "105": {"pd": -0.0, "qd": -0.0, "load_bus": 41, "status": 1, "index": 105}, "106": {"pd": -0.0, "qd": -0.0, "load_bus": 42, "status": 1, "index": 106}, "107": {"pd": -0.0, "qd": -0.0, "load_bus": 44, "status": 1, "index": 107}, "108": {"pd": -0.0, "qd": -0.0, "load_bus": 52, "status": 1, "index": 108}, "109": {"pd": -0.0, "qd": -0.0, "load_bus": 53, "status": 1, "index": 109}, "110": {"pd": -0.0, "qd": -0.0, "load_bus": 57, "status": 1, "index": 110}, "111": {"pd": -0.0, "qd": -0.0, "load_bus": 49, "status": 1, "index": 111}, "112": {"pd": -0.0, "qd": -0.0, "load_bus": 65, "status": 1, "index": 112}, "113": {"pd": -0.0, "qd": -0.0, "load_bus": 51, "status": 1, "index": 113}, "114": {"pd": -0.0, "qd": -0.0, "load_bus": 54, "status": 1, "index": 114}, "115": {"pd": -0.0, "qd": -0.0, "load_bus": 66, "status": 1, "index": 115}, "116": {"pd": -0.0, "qd": -0.0, "load_bus": 56, "status": 1, "index": 116}, "117": {"pd": -0.0, "qd": -0.0, "load_bus": 70, "status": 1, "index": 117}, "118": {"pd": -0.0, "qd": -0.0, "load_bus": 59, "status": 1, "index": 118}, "119": {"pd": -0.0, "qd": -0.0, "load_bus": 74, "status": 1, "index": 119}, "120": {"pd": -0.0, "qd": -0.0, "load_bus": 75, "status": 1, "index": 120}, "121": {"pd": -0.0, "qd": -0.0, "load_bus": 60, "status": 1, "index": 121}, "122": {"pd": -0.0, "qd": -0.0, "load_bus": 61, "status": 1, "index": 122}, "123": {"pd": -0.0, "qd": -0.0, "load_bus": 77, "status": 1, "index": 123}, "124": {"pd": -0.0, "qd": -0.0, "load_bus": 63, "status": 1, "index": 124}, "125": {"pd": -0.0, "qd": -0.0, "load_bus": 68, "status": 1, "index": 125}, "126": {"pd": -0.0, "qd": -0.0, "load_bus": 73, "status": 1, "index": 126}, "127": {"pd": -0.0, "qd": -0.0, "load_bus": 80, "status": 1, "index": 127}, "128": {"pd": -0.0, "qd": -0.0, "load_bus": 81, "status": 1, "index": 128}, "129": {"pd": -0.0, "qd": -0.0, "load_bus": 6, "status": 1, "index": 129}, "130": {"pd": -0.0, "qd": -0.0, "load_bus": 13, "status": 1, "index": 130}, "131": {"pd": -0.0, "qd": -0.0, "load_bus": 30, "status": 1, "index": 131}, "132": {"pd": -0.0, "qd": -0.0, "load_bus": 76, "status": 1, "index": 132}, "133": {"pd": -0.0, "qd": -0.0, "load_bus": 79, "status": 1, "index": 133}, "134": {"pd": -0.0, "qd": -0.0, "load_bus": 43, "status": 1, "index": 134}, "135": {"pd": -0.0, "qd": -0.0, "load_bus": 58, "status": 1, "index": 135}, "136": {"pd": -1.0, "qd": -0.0, "load_bus": 4, "status": 1, "index": 136}, "137": {"pd": -1.0, "qd": -0.0, "load_bus": 20, "status": 1, "index": 137}, "138": {"pd": -1.0, "qd": -0.0, "load_bus": 27, "status": 1, "index": 138}, "139": {"pd": -1.0, "qd": -0.0, "load_bus": 32, "status": 1, "index": 139}, "140": {"pd": -1.0, "qd": -0.0, "load_bus": 33, "status": 1, "index": 140}, "141": {"pd": -1.0, "qd": -0.0, "load_bus": 36, "status": 1, "index": 141}, "142": {"pd": -1.0, "qd": -0.0, "load_bus": 45, "status": 1, "index": 142}, "143": {"pd": -1.0, "qd": -0.0, "load_bus": 62, "status": 1, "index": 143}, "144": {"pd": -1.0, "qd": -0.0, "load_bus": 72, "status": 1, "index": 144}, "145": {"pd": -1.0, "qd": -0.0, "load_bus": 82, "status": 1, "index": 145}, "146": {"pd": -16.63, "qd": -0.0, "load_bus": 37, "status": 1, "index": 146}, "147": {"pd": -16.63, "qd": -0.0, "load_bus": 38, "status": 1, "index": 147}, "148": {"pd": -16.63, "qd": -0.0, "load_bus": 64, "status": 1, "index": 148}, "149": {"pd": -25.57, "qd": -0.0, "load_bus": 12, "status": 1, "index": 149}, "150": {"pd": -25.57, "qd": -0.0, "load_bus": 22, "status": 1, "index": 150}, "151": {"pd": -25.57, "qd": -0.0, "load_bus": 48, "status": 1, "index": 151}, "152": {"pd": -25.57, "qd": -0.0, "load_bus": 69, "status": 1, "index": 152}, "153": {"pd": -25.57, "qd": -0.0, "load_bus": 78, "status": 1, "index": 153}, "154": {"pd": -23.8, "qd": -0.0, "load_bus": 19, "status": 1, "index": 154}, "155": {"pd": -23.8, "qd": -0.0, "load_bus": 71, "status": 1, "index": 155}, "156": {"pd": -23.8, "qd": -0.0, "load_bus": 67, "status": 1, "index": 156}, "157": {"pd": -13.56, "qd": -0.0, "load_bus": 18, "status": 1, "index": 157}, "158": {"pd": -13.56, "qd": -0.0, "load_bus": 46, "status": 1, "index": 158}, "159": {"pd": -13.07, "qd": -0.0, "load_bus": 13, "status": 1, "index": 159}, "160": {"pd": -8.28, "qd": -0.0, "load_bus": 22, "status": 1, "index": 160}, "161": {"pd": -10.07, "qd": -0.0, "load_bus": 23, "status": 1, "index": 161}, "162": {"pd": -11.57, "qd": -0.0, "load_bus": 45, "status": 1, "index": 162}, "163": {"pd": -10.85, "qd": -0.0, "load_bus": 50, "status": 1, "index": 163}, "164": {"pd": -23.55, "qd": -0.0, "load_bus": 24, "status": 1, "index": 164}, "165": {"pd": -9.38, "qd": -0.0, "load_bus": 6, "status": 1, "index": 165}, "166": {"pd": -10.79, "qd": -0.0, "load_bus": 8, "status": 1, "index": 166}, "167": {"pd": -33.48, "qd": -0.0, "load_bus": 10, "status": 1, "index": 167}, "168": {"pd": -8.72, "qd": -0.0, "load_bus": 16, "status": 1, "index": 168}, "169": {"pd": -4.0, "qd": -0.0, "load_bus": 39, "status": 1, "index": 169}, "170": {"pd": -11.74, "qd": -0.0, "load_bus": 43, "status": 1, "index": 170}, "171": {"pd": -25.07, "qd": -0.0, "load_bus": 52, "status": 1, "index": 171}, "172": {"pd": -3.5, "qd": -0.0, "load_bus": 55, "status": 1, "index": 172}, "173": {"pd": -9.55, "qd": -0.0, "load_bus": 64, "status": 1, "index": 173}, "174": {"pd": -46.22, "qd": -0.0, "load_bus": 19, "status": 1, "index": 174}, "175": {"pd": -9.81, "qd": -0.0, "load_bus": 56, "status": 1, "index": 175}, "176": {"pd": -33.48, "qd": -0.0, "load_bus": 58, "status": 1, "index": 176}, "177": {"pd": -16.81, "qd": -0.0, "load_bus": 76, "status": 1, "index": 177}}, "storage": {}, "ne_branch": {}, "switch": {}, "baseMVA": 1, "source_version": "2.0.0", "shunt": {}, "sourcetype": "matpower", "per_unit": true, "name": "", "pm_solver": "Gurobi", "pm_mip_solver": "cbc", "pm_nl_solver": "Gurobi", "pm_model": "DCPPowerModel", "pm_log_level": 0, "pm_time_limit": Infinity, "pm_nl_time_limit": Infinity, "pm_mip_time_limit": Infinity, "correct_pm_network_data": true, "n_time_steps": 24, "time_elapsed": 1.0} diff --git a/pandapower/opf/PpPmInterface/test/test_ipopt.json b/pandapower/opf/PpPmInterface/test/test_ipopt.json new file mode 100644 index 000000000..1180fda2c --- /dev/null +++ b/pandapower/opf/PpPmInterface/test/test_ipopt.json @@ -0,0 +1 @@ +{"gen": {"1": {"pg": 0.0, "qg": 0.0, "gen_bus": 1, "vg": 1.068, "qmax": 1000000000.0, "gen_status": 1, "qmin": -1000000000.0, "pmin": -1000000000.0, "pmax": 1000000000.0, "index": 1, "model": 2, "ncost": 3, "cost": [0, 1.0, 0.0]}}, "branch": {"1": {"index": 1, "transformer": false, "br_r": 4.2376047520661155e-05, "br_x": 0.00011455077685950411, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.08010033389049999, "b_to": 0.08010033389049999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 4, "t_bus": 41, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "2": {"index": 2, "transformer": false, "br_r": 5.284605743801653e-05, "br_x": 0.0001428532694214876, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0998910255497, "b_to": 0.0998910255497, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 26, "t_bus": 77, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "3": {"index": 3, "transformer": false, "br_r": 5.284605743801653e-05, "br_x": 0.0001428532694214876, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0998910255497, "b_to": 0.0998910255497, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 26, "t_bus": 77, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "4": {"index": 4, "transformer": false, "br_r": 3.89280826446281e-05, "br_x": 3.909464378512397e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.3722572551710002, "b_to": 1.3722572551710002, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 67, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "5": {"index": 5, "transformer": false, "br_r": 2.796371074380165e-05, "br_x": 2.808335875206612e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.9857512197555001, "b_to": 0.9857512197555001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 14, "t_bus": 36, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "6": {"index": 6, "transformer": false, "br_r": 6.59696347107438e-05, "br_x": 6.625189822975207e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 2.3255013785091, "b_to": 2.3255013785091, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 57, "t_bus": 3, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "7": {"index": 7, "transformer": false, "br_r": 2.8893701652892566e-05, "br_x": 7.810534876033058e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0546156445714, "b_to": 0.0546156445714, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 12, "t_bus": 14, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "8": {"index": 8, "transformer": false, "br_r": 3.762483347107438e-05, "br_x": 0.00010170731239669421, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0711194625251, "b_to": 0.0711194625251, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 36, "t_bus": 37, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "9": {"index": 9, "transformer": false, "br_r": 3.099420123966942e-05, "br_x": 8.378341157024791e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.058586064846099996, "b_to": 0.058586064846099996, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 26, "t_bus": 55, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "10": {"index": 10, "transformer": false, "br_r": 3.256077520661157e-05, "br_x": 8.801816859504131e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0615472446908, "b_to": 0.0615472446908, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 42, "t_bus": 55, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "11": {"index": 11, "transformer": false, "br_r": 2.0578217355371903e-05, "br_x": 5.562696198347107e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.038897494633799996, "b_to": 0.038897494633799996, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 42, "t_bus": 54, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "12": {"index": 12, "transformer": false, "br_r": 7.445407933884298e-06, "br_x": 7.477264515371902e-06, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.26245872801522, "b_to": 0.26245872801522, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 33, "t_bus": 37, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "13": {"index": 13, "transformer": false, "br_r": 9.478265702479337e-06, "br_x": 2.562161322314049e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0179160703249, "b_to": 0.0179160703249, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 11, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "14": {"index": 14, "transformer": false, "br_r": 5.575812396694215e-05, "br_x": 0.0001507251570247934, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.105395491278, "b_to": 0.105395491278, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 5, "t_bus": 54, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "15": {"index": 15, "transformer": false, "br_r": 5.194299917355372e-05, "br_x": 0.0001404121256198347, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0981840407614, "b_to": 0.0981840407614, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 68, "t_bus": 48, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "16": {"index": 16, "transformer": false, "br_r": 6.190288388429752e-05, "br_x": 0.00016733564958677685, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1170104801657, "b_to": 0.1170104801657, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 5, "t_bus": 49, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "17": {"index": 17, "transformer": false, "br_r": 5.8436084297520655e-06, "br_x": 5.868611410082645e-06, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.20599355322249, "b_to": 0.20599355322249, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 60, "t_bus": 72, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "18": {"index": 18, "transformer": false, "br_r": 2.9501471900826447e-05, "br_x": 7.974827107438016e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0557644680846, "b_to": 0.0557644680846, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 16, "t_bus": 43, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "19": {"index": 19, "transformer": false, "br_r": 2.0578217355371903e-05, "br_x": 5.562696198347107e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.038897494633799996, "b_to": 0.038897494633799996, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 42, "t_bus": 54, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "20": {"index": 20, "transformer": false, "br_r": 6.190288388429752e-05, "br_x": 0.00016733564958677685, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1170104801657, "b_to": 0.1170104801657, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 5, "t_bus": 49, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "21": {"index": 21, "transformer": false, "br_r": 9.421886776859506e-05, "br_x": 0.0002546920991735537, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.178095013778, "b_to": 0.178095013778, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 50, "t_bus": 78, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "22": {"index": 22, "transformer": false, "br_r": 8.453047066115703e-05, "br_x": 0.00022850245950413217, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.15978174747369997, "b_to": 0.15978174747369997, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 13, "t_bus": 50, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "23": {"index": 23, "transformer": false, "br_r": 2.492781074380165e-05, "br_x": 6.738476694214875e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.04711921192659999, "b_to": 0.04711921192659999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 77, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "24": {"index": 24, "transformer": false, "br_r": 1.7744248760330577e-05, "br_x": 4.796618842975206e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0335406517006, "b_to": 0.0335406517006, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 79, "t_bus": 51, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "25": {"index": 25, "transformer": false, "br_r": 2.1056850000000005e-05, "br_x": 5.69208e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0398022188091, "b_to": 0.0398022188091, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 22, "t_bus": 47, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "26": {"index": 26, "transformer": false, "br_r": 9.588580165289255e-05, "br_x": 0.0002591981487603306, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.18124589661199997, "b_to": 0.18124589661199997, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 43, "t_bus": 74, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "27": {"index": 27, "transformer": false, "br_r": 3.43484305785124e-05, "br_x": 9.285055206611572e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0649263184966, "b_to": 0.0649263184966, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 7, "t_bus": 74, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "28": {"index": 28, "transformer": false, "br_r": 2.177430123966942e-05, "br_x": 5.8860211570247936e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0411583642547, "b_to": 0.0411583642547, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 7, "t_bus": 26, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "29": {"index": 29, "transformer": false, "br_r": 1.790668884297521e-05, "br_x": 4.8405295867768594e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.033847700272100004, "b_to": 0.033847700272100004, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 9, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "30": {"index": 30, "transformer": false, "br_r": 4.6210990909090905e-05, "br_x": 0.0001249173818181818, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0873492460434, "b_to": 0.0873492460434, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 48, "t_bus": 65, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "31": {"index": 31, "transformer": false, "br_r": 2.8893701652892566e-05, "br_x": 7.810534876033058e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0546156445714, "b_to": 0.0546156445714, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 12, "t_bus": 14, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "32": {"index": 32, "transformer": false, "br_r": 1.117596818181818e-05, "br_x": 3.021083636363636e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.021125112776899997, "b_to": 0.021125112776899997, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 35, "t_bus": 55, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "33": {"index": 33, "transformer": false, "br_r": 0.0004672844628099174, "br_x": 0.0012631616528925621, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.88327353972, "b_to": 0.88327353972, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 15, "t_bus": 56, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "34": {"index": 34, "transformer": false, "br_r": 1.6740921074380167e-05, "br_x": 4.5253996694214874e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0316441349807, "b_to": 0.0316441349807, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 62, "t_bus": 73, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "35": {"index": 35, "transformer": false, "br_r": 0.00023777789256198347, "br_x": 0.0006427603305785123, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.44945410674999997, "b_to": 0.44945410674999997, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 45, "t_bus": 52, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "36": {"index": 36, "transformer": false, "br_r": 9.808123140495869e-06, "br_x": 2.65132826446281e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.018539575641399998, "b_to": 0.018539575641399998, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 54, "t_bus": 80, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "37": {"index": 37, "transformer": false, "br_r": 1.7537194214876032e-05, "br_x": 4.740647933884297e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.033149271683, "b_to": 0.033149271683, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 7, "t_bus": 44, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "38": {"index": 38, "transformer": false, "br_r": 0.00024048824380165288, "br_x": 0.0006500869421487603, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.454577284865, "b_to": 0.454577284865, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 15, "t_bus": 52, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "39": {"index": 39, "transformer": false, "br_r": 1.821491776859504e-05, "br_x": 4.9238499173553714e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.034430322798299995, "b_to": 0.034430322798299995, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 31, "t_bus": 60, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "40": {"index": 40, "transformer": false, "br_r": 1.4756527685950414e-05, "br_x": 3.988979173553719e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.027893181735099998, "b_to": 0.027893181735099998, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 44, "t_bus": 61, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "41": {"index": 41, "transformer": false, "br_r": 1.3625872314049586e-05, "br_x": 3.683340826446281e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0257559868313, "b_to": 0.0257559868313, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 44, "t_bus": 61, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "42": {"index": 42, "transformer": false, "br_r": 0.0001310841694214876, "br_x": 0.00035434624793388426, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.24777878902699998, "b_to": 0.24777878902699998, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 6, "t_bus": 61, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "43": {"index": 43, "transformer": false, "br_r": 4.689704008264463e-05, "br_x": 0.00012677190743801652, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0886460344671, "b_to": 0.0886460344671, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 23, "t_bus": 62, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "44": {"index": 44, "transformer": false, "br_r": 0.00011679939669421486, "br_x": 0.0003157317024793388, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.22077733108199998, "b_to": 0.22077733108199998, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 46, "t_bus": 43, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "45": {"index": 45, "transformer": false, "br_r": 6.848835867768595e-06, "br_x": 1.8513748099173555e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.01294585200524, "b_to": 0.01294585200524, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 25, "t_bus": 48, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "46": {"index": 46, "transformer": false, "br_r": 3.256077520661157e-05, "br_x": 8.801816859504131e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0615472446908, "b_to": 0.0615472446908, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 42, "t_bus": 55, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "47": {"index": 47, "transformer": false, "br_r": 8.471372479338843e-05, "br_x": 0.00022899783140495865, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.16012813931619999, "b_to": 0.16012813931619999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 79, "t_bus": 3, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "48": {"index": 48, "transformer": false, "br_r": 0.00029743005371900825, "br_x": 0.0008040118347107439, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.562210210859, "b_to": 0.562210210859, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 59, "t_bus": 74, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "49": {"index": 49, "transformer": false, "br_r": 8.12613979338843e-06, "br_x": 2.1966551404958676e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.015360245911889999, "b_to": 0.015360245911889999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 27, "t_bus": 49, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "50": {"index": 50, "transformer": false, "br_r": 3.762483347107438e-05, "br_x": 0.00010170731239669421, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0711194625251, "b_to": 0.0711194625251, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 36, "t_bus": 37, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "51": {"index": 51, "transformer": false, "br_r": 0.0001394704214876033, "br_x": 0.0003770159338842975, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.263630706086, "b_to": 0.263630706086, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 24, "t_bus": 79, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "52": {"index": 52, "transformer": false, "br_r": 0.00011251260743801652, "br_x": 0.0003041436694214876, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.212674327833, "b_to": 0.212674327833, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 78, "t_bus": 81, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "53": {"index": 53, "transformer": false, "br_r": 3.099420123966942e-05, "br_x": 8.378341157024791e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.058586064846099996, "b_to": 0.058586064846099996, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 26, "t_bus": 55, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "54": {"index": 54, "transformer": false, "br_r": 0.00012475126859504132, "br_x": 0.0003372271735537189, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.23580817118099998, "b_to": 0.23580817118099998, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 10, "t_bus": 26, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "55": {"index": 55, "transformer": false, "br_r": 0.00011084386363636363, "br_x": 0.00029963272727272726, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.209520023845, "b_to": 0.209520023845, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 10, "t_bus": 64, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "56": {"index": 56, "transformer": false, "br_r": 0.00018134376446280994, "br_x": 0.0004902078016528926, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.342780814453, "b_to": 0.342780814453, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 19, "t_bus": 64, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "57": {"index": 57, "transformer": false, "br_r": 4.929586446280991e-05, "br_x": 4.950678611239669e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.7377328412642, "b_to": 1.7377328412642, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 33, "t_bus": 65, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "58": {"index": 58, "transformer": false, "br_r": 4.937723140495868e-05, "br_x": 4.958850119834711e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.7406011144775, "b_to": 1.7406011144775, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 33, "t_bus": 65, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "59": {"index": 59, "transformer": false, "br_r": 0.000377132479338843, "br_x": 0.0010194631404958677, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.71286585898, "b_to": 0.71286585898, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 53, "t_bus": 74, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "60": {"index": 60, "transformer": false, "br_r": 5.8436084297520655e-06, "br_x": 5.868611410082645e-06, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.20599355322249, "b_to": 0.20599355322249, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 60, "t_bus": 72, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "61": {"index": 61, "transformer": false, "br_r": 1.326755041322314e-05, "br_x": 1.3324318128925619e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.4676955831372, "b_to": 0.4676955831372, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 11, "t_bus": 12, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "62": {"index": 62, "transformer": false, "br_r": 4.928598347107438e-05, "br_x": 4.949686284297522e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.7373845255580003, "b_to": 1.7373845255580003, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 82, "t_bus": 29, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "63": {"index": 63, "transformer": false, "br_r": 1.1055216528925618e-05, "br_x": 1.1102518357024794e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.38970840736740003, "b_to": 0.38970840736740003, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 30, "t_bus": 51, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "64": {"index": 64, "transformer": false, "br_r": 1.3728831404958676e-05, "br_x": 1.3787572798347106e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.4839562398297, "b_to": 0.4839562398297, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 29, "t_bus": 34, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "65": {"index": 65, "transformer": false, "br_r": 2.54041305785124e-05, "br_x": 2.551282694049587e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.8955232348821001, "b_to": 0.8955232348821001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 32, "t_bus": 33, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "66": {"index": 66, "transformer": false, "br_r": 2.796371074380165e-05, "br_x": 2.808335875206612e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.9857512197555001, "b_to": 0.9857512197555001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 14, "t_bus": 36, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "67": {"index": 67, "transformer": false, "br_r": 7.445407933884298e-06, "br_x": 7.477264515371902e-06, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.26245872801522, "b_to": 0.26245872801522, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 33, "t_bus": 37, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "68": {"index": 68, "transformer": false, "br_r": 6.59696347107438e-05, "br_x": 6.625189822975207e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 2.3255013785091, "b_to": 2.3255013785091, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 57, "t_bus": 3, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "69": {"index": 69, "transformer": false, "br_r": 3.9888757024793385e-05, "br_x": 4.005942859173554e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.4061220719942, "b_to": 1.4061220719942, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 57, "t_bus": 67, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "70": {"index": 70, "transformer": false, "br_r": 8.088050082644629e-05, "br_x": 0.00021863587438016531, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1528824772596, "b_to": 0.1528824772596, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 17, "t_bus": 18, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "71": {"index": 71, "transformer": false, "br_r": 2.5049019834710748e-05, "br_x": 2.5156196788429757e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.8830051949103002, "b_to": 0.8830051949103002, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 57, "t_bus": 75, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "72": {"index": 72, "transformer": false, "br_r": 2.2473004958677688e-05, "br_x": 2.2569159947107442e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.7921978686072001, "b_to": 0.7921978686072001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 57, "t_bus": 38, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "73": {"index": 73, "transformer": false, "br_r": 4.408374214876033e-05, "br_x": 4.4272362750413216e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.5539998604856, "b_to": 1.5539998604856, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 82, "t_bus": 67, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "74": {"index": 74, "transformer": false, "br_r": 2.3274676033057853e-05, "br_x": 2.3374261122314052e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.8204576459541001, "b_to": 0.8204576459541001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 32, "t_bus": 69, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "75": {"index": 75, "transformer": false, "br_r": 4.299259834710744e-05, "br_x": 4.317655028429753e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.5155358546438003, "b_to": 1.5155358546438003, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 33, "t_bus": 69, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "76": {"index": 76, "transformer": false, "br_r": 5.412071239669422e-05, "br_x": 5.43522780677686e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.9078139789049, "b_to": 1.9078139789049, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 69, "t_bus": 75, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "77": {"index": 77, "transformer": false, "br_r": 2.6158211570247933e-05, "br_x": 2.6270134409917357e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.9221054100522001, "b_to": 0.9221054100522001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 2, "t_bus": 82, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "78": {"index": 78, "transformer": false, "br_r": 8.94323520661157e-06, "br_x": 8.98150052446281e-06, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.31525876856067003, "b_to": 0.31525876856067003, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 2, "t_bus": 70, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "79": {"index": 79, "transformer": false, "br_r": 1.68519305785124e-05, "br_x": 1.692403474049587e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.5940488826822001, "b_to": 0.5940488826822001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 38, "t_bus": 70, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "80": {"index": 80, "transformer": false, "br_r": 2.413533057851239e-05, "br_x": 2.4238598140495867e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.8507966548125, "b_to": 0.8507966548125, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 2, "t_bus": 71, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "81": {"index": 81, "transformer": false, "br_r": 0.00010648920247933885, "br_x": 0.00028786122314049587, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.201288727321, "b_to": 0.201288727321, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 68, "t_bus": 47, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "82": {"index": 82, "transformer": false, "br_r": 1.4655023140495867e-05, "br_x": 1.4717727419834711e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.5166055059231001, "b_to": 0.5166055059231001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 29, "t_bus": 40, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "83": {"index": 83, "transformer": false, "br_r": 2.7664357024793388e-05, "br_x": 2.778272419173554e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.9751986755544001, "b_to": 0.9751986755544001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 2, "t_bus": 40, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "84": {"index": 84, "transformer": false, "br_r": 4.906325785123967e-05, "br_x": 4.927318424958678e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.7295332052009, "b_to": 1.7295332052009, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 66, "t_bus": 75, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "85": {"index": 85, "transformer": false, "br_r": 4.822508760330579e-05, "br_x": 4.8431427732231406e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.6999867922862002, "b_to": 1.6999867922862002, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 82, "t_bus": 39, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "86": {"index": 86, "transformer": false, "br_r": 8.979270578512397e-05, "br_x": 9.017690080495869e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 3.1652905461573004, "b_to": 3.1652905461573004, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 82, "t_bus": 51, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "87": {"index": 87, "transformer": false, "br_r": 2.414188429752066e-05, "br_x": 2.4245179900826447e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.8510276805360001, "b_to": 0.8510276805360001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 63, "t_bus": 81, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "88": {"index": 88, "transformer": false, "br_r": 3.89280826446281e-05, "br_x": 3.909464378512397e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.3722572551710002, "b_to": 1.3722572551710002, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 67, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "89": {"index": 89, "transformer": false, "br_r": 5.657828801652893e-05, "br_x": 0.0001529422214876033, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1069457872131, "b_to": 0.1069457872131, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 26, "t_bus": 74, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "90": {"index": 90, "transformer": false, "br_r": 6.350674214876033e-05, "br_x": 0.00017167119338842973, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1200421357828, "b_to": 0.1200421357828, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 4, "t_bus": 42, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "91": {"index": 91, "transformer": false, "br_r": 0.0002765101239669421, "br_x": 0.0007474611570247933, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.52266680235, "b_to": 0.52266680235, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 6, "t_bus": 21, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "92": {"index": 92, "transformer": false, "br_r": 0.0001057444214876033, "br_x": 0.0002858479338842975, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.19988092245, "b_to": 0.19988092245, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 13, "t_bus": 47, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "93": {"index": 93, "transformer": false, "br_r": 0.00025798019008264466, "br_x": 0.0006973711074380165, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.487641027698, "b_to": 0.487641027698, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 19, "t_bus": 76, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "94": {"index": 94, "transformer": false, "br_r": 9.501613636363637e-05, "br_x": 0.0002568472727272727, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.17960203211499998, "b_to": 0.17960203211499998, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 68, "t_bus": 17, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "95": {"index": 95, "transformer": false, "br_r": 5.0131543388429755e-06, "br_x": 1.3551540495867768e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.00947599787805, "b_to": 0.00947599787805, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 68, "t_bus": 73, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "96": {"index": 96, "transformer": false, "br_r": 0.00010105311570247936, "br_x": 0.00027316641322314047, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.191013291282, "b_to": 0.191013291282, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 68, "t_bus": 72, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "97": {"index": 97, "transformer": false, "br_r": 6.445857768595041e-05, "br_x": 0.0001742441917355372, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1218413206714, "b_to": 0.1218413206714, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 46, "t_bus": 20, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "98": {"index": 98, "transformer": false, "br_r": 2.020672892561983e-05, "br_x": 2.0293187224793388e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.7123091734209, "b_to": 0.7123091734209, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 28, "t_bus": 66, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "99": {"index": 99, "transformer": false, "br_r": 6.635247520661156e-05, "br_x": 0.0001793637685950413, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.12542121621699998, "b_to": 0.12542121621699998, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 17, "t_bus": 58, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "100": {"index": 100, "transformer": false, "br_r": 6.455866611570249e-05, "br_x": 0.00017451475041322311, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1220305104876, "b_to": 0.1220305104876, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 6, "t_bus": 52, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "101": {"index": 101, "transformer": false, "br_r": 5.360586074380165e-05, "br_x": 0.00014490716694214874, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1013272259989, "b_to": 0.1013272259989, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 31, "t_bus": 49, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "102": {"index": 102, "transformer": false, "br_r": 8.012603677685951e-05, "br_x": 0.00021659640991735537, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1514563692147, "b_to": 0.1514563692147, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 8, "t_bus": 26, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "103": {"index": 103, "transformer": false, "br_r": 5.194299917355372e-05, "br_x": 0.0001404121256198347, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0981840407614, "b_to": 0.0981840407614, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 68, "t_bus": 48, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "104": {"index": 104, "transformer": false, "br_r": 1.876649008264463e-05, "br_x": 5.072950743801653e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0354729194798, "b_to": 0.0354729194798, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 23, "t_bus": 63, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "105": {"index": 105, "transformer": false, "br_r": 5.575812396694215e-05, "br_x": 0.0001507251570247934, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.105395491278, "b_to": 0.105395491278, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 5, "t_bus": 54, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "106": {"index": 106, "transformer": false, "br_r": 5.284605743801653e-05, "br_x": 0.0001428532694214876, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0998910255497, "b_to": 0.0998910255497, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 26, "t_bus": 77, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "107": {"index": 107, "transformer": false, "br_r": 2.492781074380165e-05, "br_x": 6.738476694214875e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.04711921192659999, "b_to": 0.04711921192659999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 77, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "108": {"index": 108, "transformer": false, "br_r": 4.6210990909090905e-05, "br_x": 0.0001249173818181818, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0873492460434, "b_to": 0.0873492460434, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 48, "t_bus": 65, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "109": {"index": 109, "transformer": false, "br_r": 2.5049019834710748e-05, "br_x": 2.5156196788429757e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.8830051949103002, "b_to": 0.8830051949103002, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 57, "t_bus": 75, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "110": {"index": 110, "transformer": false, "br_r": 5.412071239669422e-05, "br_x": 5.43522780677686e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.9078139789049, "b_to": 1.9078139789049, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 69, "t_bus": 75, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "111": {"index": 111, "transformer": false, "br_r": 1.326755041322314e-05, "br_x": 1.3324318128925619e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.4676955831372, "b_to": 0.4676955831372, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 11, "t_bus": 12, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "112": {"index": 112, "transformer": false, "br_r": 2.492781074380165e-05, "br_x": 6.738476694214875e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.04711921192659999, "b_to": 0.04711921192659999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 77, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "113": {"index": 113, "transformer": false, "br_r": 9.478265702479337e-06, "br_x": 2.562161322314049e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0179160703249, "b_to": 0.0179160703249, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 11, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "114": {"index": 114, "transformer": true, "br_r": 4.275061802727891e-06, "br_x": 0.00039998108282893, "g_fr": 0.034999320231447764, "g_to": 0.034999320231447764, "b_fr": -0.04873373443828248, "b_to": -0.04873373443828248, "rate_a": 300.0, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 1, "t_bus": 3, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "115": {"index": 115, "transformer": true, "br_r": 4.275061802727891e-06, "br_x": 0.00039998108282893, "g_fr": 0.034999320231447764, "g_to": 0.034999320231447764, "b_fr": -0.04873373443828248, "b_to": -0.04873373443828248, "rate_a": 300.0, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 1, "t_bus": 3, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "116": {"index": 116, "transformer": true, "br_r": 4.275061802727891e-06, "br_x": 0.00039998108282893, "g_fr": 0.034999320231447764, "g_to": 0.034999320231447764, "b_fr": -0.04873373443828248, "b_to": -0.04873373443828248, "rate_a": 300.0, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 1, "t_bus": 3, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}}, "bus": {"1": {"index": 1, "bus_i": 1, "zone": 1, "bus_type": 3, "vmax": 1.06800001, "vmin": 1.0679999900000001, "va": 0.0, "vm": 1.068, "base_kv": 220.0}, "2": {"index": 2, "bus_i": 2, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "3": {"index": 3, "bus_i": 3, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "4": {"index": 4, "bus_i": 4, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "5": {"index": 5, "bus_i": 5, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "6": {"index": 6, "bus_i": 6, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "7": {"index": 7, "bus_i": 7, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "8": {"index": 8, "bus_i": 8, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "9": {"index": 9, "bus_i": 9, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "10": {"index": 10, "bus_i": 10, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "11": {"index": 11, "bus_i": 11, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "12": {"index": 12, "bus_i": 12, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "13": {"index": 13, "bus_i": 13, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "14": {"index": 14, "bus_i": 14, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "15": {"index": 15, "bus_i": 15, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "16": {"index": 16, "bus_i": 16, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "17": {"index": 17, "bus_i": 17, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "18": {"index": 18, "bus_i": 18, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "19": {"index": 19, "bus_i": 19, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "20": {"index": 20, "bus_i": 20, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "21": {"index": 21, "bus_i": 21, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "22": {"index": 22, "bus_i": 22, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "23": {"index": 23, "bus_i": 23, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "24": {"index": 24, "bus_i": 24, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "25": {"index": 25, "bus_i": 25, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "26": {"index": 26, "bus_i": 26, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "27": {"index": 27, "bus_i": 27, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "28": {"index": 28, "bus_i": 28, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "29": {"index": 29, "bus_i": 29, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "30": {"index": 30, "bus_i": 30, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "31": {"index": 31, "bus_i": 31, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "32": {"index": 32, "bus_i": 32, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "33": {"index": 33, "bus_i": 33, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "34": {"index": 34, "bus_i": 34, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "35": {"index": 35, "bus_i": 35, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "36": {"index": 36, "bus_i": 36, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "37": {"index": 37, "bus_i": 37, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "38": {"index": 38, "bus_i": 38, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "39": {"index": 39, "bus_i": 39, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "40": {"index": 40, "bus_i": 40, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "41": {"index": 41, "bus_i": 41, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "42": {"index": 42, "bus_i": 42, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "43": {"index": 43, "bus_i": 43, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "44": {"index": 44, "bus_i": 44, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "45": {"index": 45, "bus_i": 45, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "46": {"index": 46, "bus_i": 46, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "47": {"index": 47, "bus_i": 47, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "48": {"index": 48, "bus_i": 48, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "49": {"index": 49, "bus_i": 49, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "50": {"index": 50, "bus_i": 50, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "51": {"index": 51, "bus_i": 51, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "52": {"index": 52, "bus_i": 52, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "53": {"index": 53, "bus_i": 53, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "54": {"index": 54, "bus_i": 54, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "55": {"index": 55, "bus_i": 55, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "56": {"index": 56, "bus_i": 56, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "57": {"index": 57, "bus_i": 57, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "58": {"index": 58, "bus_i": 58, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "59": {"index": 59, "bus_i": 59, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "60": {"index": 60, "bus_i": 60, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "61": {"index": 61, "bus_i": 61, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "62": {"index": 62, "bus_i": 62, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "63": {"index": 63, "bus_i": 63, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "64": {"index": 64, "bus_i": 64, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "65": {"index": 65, "bus_i": 65, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "66": {"index": 66, "bus_i": 66, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "67": {"index": 67, "bus_i": 67, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "68": {"index": 68, "bus_i": 68, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "69": {"index": 69, "bus_i": 69, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "70": {"index": 70, "bus_i": 70, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "71": {"index": 71, "bus_i": 71, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "72": {"index": 72, "bus_i": 72, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "73": {"index": 73, "bus_i": 73, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "74": {"index": 74, "bus_i": 74, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "75": {"index": 75, "bus_i": 75, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "76": {"index": 76, "bus_i": 76, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "77": {"index": 77, "bus_i": 77, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "78": {"index": 78, "bus_i": 78, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "79": {"index": 79, "bus_i": 79, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "80": {"index": 80, "bus_i": 80, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "81": {"index": 81, "bus_i": 81, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "82": {"index": 82, "bus_i": 82, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}}, "dcline": {}, "load": {"1": {"pd": 1.0, "qd": 0.395, "load_bus": 2, "status": 1, "index": 1}, "2": {"pd": 1.0, "qd": 0.395, "load_bus": 3, "status": 1, "index": 2}, "3": {"pd": 1.0, "qd": 0.395, "load_bus": 7, "status": 1, "index": 3}, "4": {"pd": 1.0, "qd": 0.395, "load_bus": 8, "status": 1, "index": 4}, "5": {"pd": 1.0, "qd": 0.395, "load_bus": 9, "status": 1, "index": 5}, "6": {"pd": 1.0, "qd": 0.395, "load_bus": 5, "status": 1, "index": 6}, "7": {"pd": 1.0, "qd": 0.395, "load_bus": 10, "status": 1, "index": 7}, "8": {"pd": 1.0, "qd": 0.395, "load_bus": 11, "status": 1, "index": 8}, "9": {"pd": 1.0, "qd": 0.395, "load_bus": 16, "status": 1, "index": 9}, "10": {"pd": 1.0, "qd": 0.395, "load_bus": 14, "status": 1, "index": 10}, "11": {"pd": 1.0, "qd": 0.395, "load_bus": 15, "status": 1, "index": 11}, "12": {"pd": 1.0, "qd": 0.395, "load_bus": 17, "status": 1, "index": 12}, "13": {"pd": 1.0, "qd": 0.395, "load_bus": 21, "status": 1, "index": 13}, "14": {"pd": 1.0, "qd": 0.395, "load_bus": 23, "status": 1, "index": 14}, "15": {"pd": 1.0, "qd": 0.395, "load_bus": 24, "status": 1, "index": 15}, "16": {"pd": 1.0, "qd": 0.395, "load_bus": 25, "status": 1, "index": 16}, "17": {"pd": 1.0, "qd": 0.395, "load_bus": 26, "status": 1, "index": 17}, "18": {"pd": 1.0, "qd": 0.395, "load_bus": 28, "status": 1, "index": 18}, "19": {"pd": 1.0, "qd": 0.395, "load_bus": 29, "status": 1, "index": 19}, "20": {"pd": 1.0, "qd": 0.395, "load_bus": 31, "status": 1, "index": 20}, "21": {"pd": 1.0, "qd": 0.395, "load_bus": 34, "status": 1, "index": 21}, "22": {"pd": 1.0, "qd": 0.395, "load_bus": 40, "status": 1, "index": 22}, "23": {"pd": 1.0, "qd": 0.395, "load_bus": 35, "status": 1, "index": 23}, "24": {"pd": 1.0, "qd": 0.395, "load_bus": 47, "status": 1, "index": 24}, "25": {"pd": 1.0, "qd": 0.395, "load_bus": 50, "status": 1, "index": 25}, "26": {"pd": 1.0, "qd": 0.395, "load_bus": 52, "status": 1, "index": 26}, "27": {"pd": 1.0, "qd": 0.395, "load_bus": 41, "status": 1, "index": 27}, "28": {"pd": 1.0, "qd": 0.395, "load_bus": 53, "status": 1, "index": 28}, "29": {"pd": 1.0, "qd": 0.395, "load_bus": 42, "status": 1, "index": 29}, "30": {"pd": 1.0, "qd": 0.395, "load_bus": 44, "status": 1, "index": 30}, "31": {"pd": 1.0, "qd": 0.395, "load_bus": 57, "status": 1, "index": 31}, "32": {"pd": 1.0, "qd": 0.395, "load_bus": 65, "status": 1, "index": 32}, "33": {"pd": 1.0, "qd": 0.395, "load_bus": 66, "status": 1, "index": 33}, "34": {"pd": 1.0, "qd": 0.395, "load_bus": 49, "status": 1, "index": 34}, "35": {"pd": 1.0, "qd": 0.395, "load_bus": 70, "status": 1, "index": 35}, "36": {"pd": 1.0, "qd": 0.395, "load_bus": 74, "status": 1, "index": 36}, "37": {"pd": 1.0, "qd": 0.395, "load_bus": 51, "status": 1, "index": 37}, "38": {"pd": 1.0, "qd": 0.395, "load_bus": 54, "status": 1, "index": 38}, "39": {"pd": 1.0, "qd": 0.395, "load_bus": 75, "status": 1, "index": 39}, "40": {"pd": 1.0, "qd": 0.395, "load_bus": 56, "status": 1, "index": 40}, "41": {"pd": 1.0, "qd": 0.395, "load_bus": 59, "status": 1, "index": 41}, "42": {"pd": 1.0, "qd": 0.395, "load_bus": 60, "status": 1, "index": 42}, "43": {"pd": 1.0, "qd": 0.395, "load_bus": 61, "status": 1, "index": 43}, "44": {"pd": 1.0, "qd": 0.395, "load_bus": 63, "status": 1, "index": 44}, "45": {"pd": 1.0, "qd": 0.395, "load_bus": 77, "status": 1, "index": 45}, "46": {"pd": 1.0, "qd": 0.395, "load_bus": 80, "status": 1, "index": 46}, "47": {"pd": 1.0, "qd": 0.395, "load_bus": 81, "status": 1, "index": 47}, "48": {"pd": 1.0, "qd": 0.395, "load_bus": 6, "status": 1, "index": 48}, "49": {"pd": 1.0, "qd": 0.395, "load_bus": 13, "status": 1, "index": 49}, "50": {"pd": 1.0, "qd": 0.395, "load_bus": 68, "status": 1, "index": 50}, "51": {"pd": 1.0, "qd": 0.395, "load_bus": 73, "status": 1, "index": 51}, "52": {"pd": 1.0, "qd": 0.395, "load_bus": 30, "status": 1, "index": 52}, "53": {"pd": 1.0, "qd": 0.395, "load_bus": 43, "status": 1, "index": 53}, "54": {"pd": 1.0, "qd": 0.395, "load_bus": 76, "status": 1, "index": 54}, "55": {"pd": 1.0, "qd": 0.395, "load_bus": 58, "status": 1, "index": 55}, "56": {"pd": 1.0, "qd": 0.395, "load_bus": 79, "status": 1, "index": 56}, "57": {"pd": 5.0, "qd": 1.976, "load_bus": 4, "status": 1, "index": 57}, "58": {"pd": 5.0, "qd": 1.976, "load_bus": 20, "status": 1, "index": 58}, "59": {"pd": 5.0, "qd": 1.976, "load_bus": 27, "status": 1, "index": 59}, "60": {"pd": 5.0, "qd": 1.976, "load_bus": 32, "status": 1, "index": 60}, "61": {"pd": 5.0, "qd": 1.976, "load_bus": 33, "status": 1, "index": 61}, "62": {"pd": 5.0, "qd": 1.976, "load_bus": 36, "status": 1, "index": 62}, "63": {"pd": 5.0, "qd": 1.976, "load_bus": 45, "status": 1, "index": 63}, "64": {"pd": 5.0, "qd": 1.976, "load_bus": 62, "status": 1, "index": 64}, "65": {"pd": 5.0, "qd": 1.976, "load_bus": 72, "status": 1, "index": 65}, "66": {"pd": 5.0, "qd": 1.976, "load_bus": 82, "status": 1, "index": 66}, "67": {"pd": 34.48, "qd": 13.627, "load_bus": 37, "status": 1, "index": 67}, "68": {"pd": 34.48, "qd": 13.627, "load_bus": 38, "status": 1, "index": 68}, "69": {"pd": 34.48, "qd": 13.627, "load_bus": 64, "status": 1, "index": 69}, "70": {"pd": 17.26, "qd": 6.822, "load_bus": 12, "status": 1, "index": 70}, "71": {"pd": 17.26, "qd": 6.822, "load_bus": 22, "status": 1, "index": 71}, "72": {"pd": 17.26, "qd": 6.822, "load_bus": 48, "status": 1, "index": 72}, "73": {"pd": 17.26, "qd": 6.822, "load_bus": 69, "status": 1, "index": 73}, "74": {"pd": 17.26, "qd": 6.822, "load_bus": 78, "status": 1, "index": 74}, "75": {"pd": 31.64, "qd": 12.505, "load_bus": 19, "status": 1, "index": 75}, "76": {"pd": 31.64, "qd": 12.505, "load_bus": 71, "status": 1, "index": 76}, "77": {"pd": 31.64, "qd": 12.505, "load_bus": 67, "status": 1, "index": 77}, "78": {"pd": 49.71, "qd": 19.647, "load_bus": 18, "status": 1, "index": 78}, "79": {"pd": 49.71, "qd": 19.647, "load_bus": 46, "status": 1, "index": 79}, "80": {"pd": -0.0, "qd": -0.0, "load_bus": 2, "status": 1, "index": 80}, "81": {"pd": -0.0, "qd": -0.0, "load_bus": 3, "status": 1, "index": 81}, "82": {"pd": -0.0, "qd": -0.0, "load_bus": 7, "status": 1, "index": 82}, "83": {"pd": -0.0, "qd": -0.0, "load_bus": 8, "status": 1, "index": 83}, "84": {"pd": -0.0, "qd": -0.0, "load_bus": 9, "status": 1, "index": 84}, "85": {"pd": -0.0, "qd": -0.0, "load_bus": 11, "status": 1, "index": 85}, "86": {"pd": -0.0, "qd": -0.0, "load_bus": 16, "status": 1, "index": 86}, "87": {"pd": -0.0, "qd": -0.0, "load_bus": 5, "status": 1, "index": 87}, "88": {"pd": -0.0, "qd": -0.0, "load_bus": 10, "status": 1, "index": 88}, "89": {"pd": -0.0, "qd": -0.0, "load_bus": 21, "status": 1, "index": 89}, "90": {"pd": -0.0, "qd": -0.0, "load_bus": 23, "status": 1, "index": 90}, "91": {"pd": -0.0, "qd": -0.0, "load_bus": 24, "status": 1, "index": 91}, "92": {"pd": -0.0, "qd": -0.0, "load_bus": 14, "status": 1, "index": 92}, "93": {"pd": -0.0, "qd": -0.0, "load_bus": 15, "status": 1, "index": 93}, "94": {"pd": -0.0, "qd": -0.0, "load_bus": 17, "status": 1, "index": 94}, "95": {"pd": -0.0, "qd": -0.0, "load_bus": 25, "status": 1, "index": 95}, "96": {"pd": -0.0, "qd": -0.0, "load_bus": 28, "status": 1, "index": 96}, "97": {"pd": -0.0, "qd": -0.0, "load_bus": 29, "status": 1, "index": 97}, "98": {"pd": -0.0, "qd": -0.0, "load_bus": 26, "status": 1, "index": 98}, "99": {"pd": -0.0, "qd": -0.0, "load_bus": 31, "status": 1, "index": 99}, "100": {"pd": -0.0, "qd": -0.0, "load_bus": 35, "status": 1, "index": 100}, "101": {"pd": -0.0, "qd": -0.0, "load_bus": 34, "status": 1, "index": 101}, "102": {"pd": -0.0, "qd": -0.0, "load_bus": 40, "status": 1, "index": 102}, "103": {"pd": -0.0, "qd": -0.0, "load_bus": 47, "status": 1, "index": 103}, "104": {"pd": -0.0, "qd": -0.0, "load_bus": 50, "status": 1, "index": 104}, "105": {"pd": -0.0, "qd": -0.0, "load_bus": 41, "status": 1, "index": 105}, "106": {"pd": -0.0, "qd": -0.0, "load_bus": 42, "status": 1, "index": 106}, "107": {"pd": -0.0, "qd": -0.0, "load_bus": 44, "status": 1, "index": 107}, "108": {"pd": -0.0, "qd": -0.0, "load_bus": 52, "status": 1, "index": 108}, "109": {"pd": -0.0, "qd": -0.0, "load_bus": 53, "status": 1, "index": 109}, "110": {"pd": -0.0, "qd": -0.0, "load_bus": 57, "status": 1, "index": 110}, "111": {"pd": -0.0, "qd": -0.0, "load_bus": 49, "status": 1, "index": 111}, "112": {"pd": -0.0, "qd": -0.0, "load_bus": 65, "status": 1, "index": 112}, "113": {"pd": -0.0, "qd": -0.0, "load_bus": 51, "status": 1, "index": 113}, "114": {"pd": -0.0, "qd": -0.0, "load_bus": 54, "status": 1, "index": 114}, "115": {"pd": -0.0, "qd": -0.0, "load_bus": 66, "status": 1, "index": 115}, "116": {"pd": -0.0, "qd": -0.0, "load_bus": 56, "status": 1, "index": 116}, "117": {"pd": -0.0, "qd": -0.0, "load_bus": 70, "status": 1, "index": 117}, "118": {"pd": -0.0, "qd": -0.0, "load_bus": 59, "status": 1, "index": 118}, "119": {"pd": -0.0, "qd": -0.0, "load_bus": 74, "status": 1, "index": 119}, "120": {"pd": -0.0, "qd": -0.0, "load_bus": 75, "status": 1, "index": 120}, "121": {"pd": -0.0, "qd": -0.0, "load_bus": 60, "status": 1, "index": 121}, "122": {"pd": -0.0, "qd": -0.0, "load_bus": 61, "status": 1, "index": 122}, "123": {"pd": -0.0, "qd": -0.0, "load_bus": 77, "status": 1, "index": 123}, "124": {"pd": -0.0, "qd": -0.0, "load_bus": 63, "status": 1, "index": 124}, "125": {"pd": -0.0, "qd": -0.0, "load_bus": 68, "status": 1, "index": 125}, "126": {"pd": -0.0, "qd": -0.0, "load_bus": 73, "status": 1, "index": 126}, "127": {"pd": -0.0, "qd": -0.0, "load_bus": 80, "status": 1, "index": 127}, "128": {"pd": -0.0, "qd": -0.0, "load_bus": 81, "status": 1, "index": 128}, "129": {"pd": -0.0, "qd": -0.0, "load_bus": 6, "status": 1, "index": 129}, "130": {"pd": -0.0, "qd": -0.0, "load_bus": 13, "status": 1, "index": 130}, "131": {"pd": -0.0, "qd": -0.0, "load_bus": 30, "status": 1, "index": 131}, "132": {"pd": -0.0, "qd": -0.0, "load_bus": 76, "status": 1, "index": 132}, "133": {"pd": -0.0, "qd": -0.0, "load_bus": 79, "status": 1, "index": 133}, "134": {"pd": -0.0, "qd": -0.0, "load_bus": 43, "status": 1, "index": 134}, "135": {"pd": -0.0, "qd": -0.0, "load_bus": 58, "status": 1, "index": 135}, "136": {"pd": -1.0, "qd": -0.0, "load_bus": 4, "status": 1, "index": 136}, "137": {"pd": -1.0, "qd": -0.0, "load_bus": 20, "status": 1, "index": 137}, "138": {"pd": -1.0, "qd": -0.0, "load_bus": 27, "status": 1, "index": 138}, "139": {"pd": -1.0, "qd": -0.0, "load_bus": 32, "status": 1, "index": 139}, "140": {"pd": -1.0, "qd": -0.0, "load_bus": 33, "status": 1, "index": 140}, "141": {"pd": -1.0, "qd": -0.0, "load_bus": 36, "status": 1, "index": 141}, "142": {"pd": -1.0, "qd": -0.0, "load_bus": 45, "status": 1, "index": 142}, "143": {"pd": -1.0, "qd": -0.0, "load_bus": 62, "status": 1, "index": 143}, "144": {"pd": -1.0, "qd": -0.0, "load_bus": 72, "status": 1, "index": 144}, "145": {"pd": -1.0, "qd": -0.0, "load_bus": 82, "status": 1, "index": 145}, "146": {"pd": -16.63, "qd": -0.0, "load_bus": 37, "status": 1, "index": 146}, "147": {"pd": -16.63, "qd": -0.0, "load_bus": 38, "status": 1, "index": 147}, "148": {"pd": -16.63, "qd": -0.0, "load_bus": 64, "status": 1, "index": 148}, "149": {"pd": -25.57, "qd": -0.0, "load_bus": 12, "status": 1, "index": 149}, "150": {"pd": -25.57, "qd": -0.0, "load_bus": 22, "status": 1, "index": 150}, "151": {"pd": -25.57, "qd": -0.0, "load_bus": 48, "status": 1, "index": 151}, "152": {"pd": -25.57, "qd": -0.0, "load_bus": 69, "status": 1, "index": 152}, "153": {"pd": -25.57, "qd": -0.0, "load_bus": 78, "status": 1, "index": 153}, "154": {"pd": -23.8, "qd": -0.0, "load_bus": 19, "status": 1, "index": 154}, "155": {"pd": -23.8, "qd": -0.0, "load_bus": 71, "status": 1, "index": 155}, "156": {"pd": -23.8, "qd": -0.0, "load_bus": 67, "status": 1, "index": 156}, "157": {"pd": -13.56, "qd": -0.0, "load_bus": 18, "status": 1, "index": 157}, "158": {"pd": -13.56, "qd": -0.0, "load_bus": 46, "status": 1, "index": 158}, "159": {"pd": -13.07, "qd": -0.0, "load_bus": 13, "status": 1, "index": 159}, "160": {"pd": -8.28, "qd": -0.0, "load_bus": 22, "status": 1, "index": 160}, "161": {"pd": -10.07, "qd": -0.0, "load_bus": 23, "status": 1, "index": 161}, "162": {"pd": -11.57, "qd": -0.0, "load_bus": 45, "status": 1, "index": 162}, "163": {"pd": -10.85, "qd": -0.0, "load_bus": 50, "status": 1, "index": 163}, "164": {"pd": -23.55, "qd": -0.0, "load_bus": 24, "status": 1, "index": 164}, "165": {"pd": -9.38, "qd": -0.0, "load_bus": 6, "status": 1, "index": 165}, "166": {"pd": -10.79, "qd": -0.0, "load_bus": 8, "status": 1, "index": 166}, "167": {"pd": -33.48, "qd": -0.0, "load_bus": 10, "status": 1, "index": 167}, "168": {"pd": -8.72, "qd": -0.0, "load_bus": 16, "status": 1, "index": 168}, "169": {"pd": -4.0, "qd": -0.0, "load_bus": 39, "status": 1, "index": 169}, "170": {"pd": -11.74, "qd": -0.0, "load_bus": 43, "status": 1, "index": 170}, "171": {"pd": -25.07, "qd": -0.0, "load_bus": 52, "status": 1, "index": 171}, "172": {"pd": -3.5, "qd": -0.0, "load_bus": 55, "status": 1, "index": 172}, "173": {"pd": -9.55, "qd": -0.0, "load_bus": 64, "status": 1, "index": 173}, "174": {"pd": -46.22, "qd": -0.0, "load_bus": 19, "status": 1, "index": 174}, "175": {"pd": -9.81, "qd": -0.0, "load_bus": 56, "status": 1, "index": 175}, "176": {"pd": -33.48, "qd": -0.0, "load_bus": 58, "status": 1, "index": 176}, "177": {"pd": -16.81, "qd": -0.0, "load_bus": 76, "status": 1, "index": 177}}, "storage": {}, "ne_branch": {}, "switch": {}, "baseMVA": 1, "source_version": "2.0.0", "shunt": {}, "sourcetype": "matpower", "per_unit": true, "name": "", "pm_solver": "ipopt", "pm_mip_solver": "cbc", "pm_nl_solver": "ipopt", "pm_model": "DCPPowerModel", "pm_log_level": 0, "pm_time_limit": Infinity, "pm_nl_time_limit": Infinity, "pm_mip_time_limit": Infinity, "correct_pm_network_data": true} diff --git a/pandapower/opf/pp_2_pm.jl b/pandapower/opf/pp_2_pm.jl deleted file mode 100644 index 065f75f9c..000000000 --- a/pandapower/opf/pp_2_pm.jl +++ /dev/null @@ -1,125 +0,0 @@ - -module PP2PM -export load_pm_from_json, get_model, get_solver - -import JSON -using PowerModels - -import Cbc -import Ipopt -import Juniper -import JuMP - - -try - import Gurobi -catch e - if isa(e, LoadError) - println("Cannot import Gurobi. That's fine if you do not plan to use it") - end -end - -try - import KNITRO -catch e - if isa(e, LoadError) - println("Cannot import KNITRO. That's fine if you do not plan to use it") - end -end - -try - import SCIP -catch e - if isa(e, LoadError) - println("Cannot import SCIP. That's fine if you do not plan to use it") - end -end - -function get_model(model_type) - """ - gets the model function - model_type (str) - examples: "ACPPowerModel", "DCPPowerModel", "SOCWRPowerModel"... - see: https://lanl-ansi.github.io/PowerModels.jl/stable/formulation-details/ - """ - - s = Symbol(model_type) - return getfield(Main, s) -end - -function get_solver(optimizer::String, nl::String="ipopt", mip::String="cbc", - log_level::Int=0, time_limit::Float64=Inf, nl_time_limit::Float64=Inf, - mip_time_limit::Float64=Inf, ipopt_tol::Float64=1e-8) - - if optimizer == "gurobi" - solver = JuMP.optimizer_with_attributes(Gurobi.Optimizer, "TimeLimit" => time_limit, "OutputFlag" => log_level) - end - - if optimizer == "ipopt" - solver = JuMP.optimizer_with_attributes(Ipopt.Optimizer, "print_level" => log_level, "max_cpu_time" => time_limit, - "tol" => ipopt_tol) - end - - if optimizer == "juniper" && nl == "ipopt" && mip == "cbc" - mip_solver = JuMP.optimizer_with_attributes(Cbc.Optimizer, "logLevel" => log_level, "seconds" => mip_time_limit) - nl_solver = JuMP.optimizer_with_attributes(Ipopt.Optimizer, "print_level" => log_level, "max_cpu_time" => nl_time_limit) - solver = JuMP.optimizer_with_attributes(Juniper.Optimizer, - "nl_solver" => nl_solver, - "mip_solver" => mip_solver, - "log_levels" => [], - "time_limit" => time_limit) - end - - if optimizer == "juniper" && nl == "gurobi" && mip == "cbc" - mip_solver = JuMP.optimizer_with_attributes(Cbc.Optimizer, "logLevel" => log_level, "seconds" => mip_time_limit) - nl_solver = JuMP.optimizer_with_attributes(Gurobi.Optimizer, "TimeLimit" => nl_time_limit) - solver = JuMP.optimizer_with_attributes(Juniper.Optimizer, - "nl_solver" => nl_solver, - "mip_solver" => mip_solver, - "log_levels" => [], - "time_limit" => time_limit) - end - - if optimizer == "juniper" && nl == "gurobi" && mip == "gurobi" - mip_solver = JuMP.optimizer_with_attributes(Gurobi.Optimizer, "TimeLimit" => mip_time_limit) - nl_solver = JuMP.optimizer_with_attributes(Gurobi.Optimizer, "TimeLimit" => nl_time_limit) - solver = JuMP.optimizer_with_attributes(Juniper.Optimizer, - "nl_solver" => nl_solver, - "mip_solver" => mip_solver, - "log_levels" => [], - "time_limit" => time_limit) - end - - if optimizer == "knitro" - solver = JuMP.optimizer_with_attributes(KNITRO.Optimizer) - end - - if optimizer == "cbc" - solver = JuMP.optimizer_with_attributes(Cbc.Optimizer, "seconds" => time_limit) - end - - if optimizer == "scip" - solver = JuMP.optimizer_with_attributes(SCIP.Optimizer) - end - - return solver - -end - -function load_pm_from_json(json_path) - pm = Dict() - open(json_path, "r") do f - pm = JSON.parse(f) # parse and transform data - end - - for (idx, gen) in pm["gen"] - if gen["model"] == 1 - pm["gen"][idx]["cost"] = convert(Array{Float64,1}, gen["cost"]) - end - end - if pm["correct_pm_network_data"] - correct_network_data!(pm) - end - return pm -end - -end diff --git a/pandapower/opf/run_powermodels.jl b/pandapower/opf/run_powermodels.jl deleted file mode 100644 index c2a110a1d..000000000 --- a/pandapower/opf/run_powermodels.jl +++ /dev/null @@ -1,54 +0,0 @@ -using PowerModels -using .PP2PM -#using Debugger -# include("pp_2_pm.jl") - -function run_powermodels(json_path) - pm = PP2PM.load_pm_from_json(json_path) - model = PP2PM.get_model(pm["pm_model"]) - # - solver = PP2PM.get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], - pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) - - if haskey(pm["branch"]["1"],"c_rating_a") - for (key, value) in pm["gen"] - # value["pmin"] = 0 - value["pmax"] *= 0.01 - value["qmax"] *= 0.01 - value["qmin"] *= 0.01 - value["pg"] *= 0.01 - value["qg"] *= 0.01 - value["cost"] *= 100 - end - - for (key, value) in pm["branch"] - value["c_rating_a"] *= 0.01 - end - - for (key, value) in pm["load"] - value["pd"] *= 0.01 - value["qd"] *= 0.01 - end - - # pm["bus"]["4"]["vmax"] = 1.1 - # pm["bus"]["4"]["vmin"] = 0.9 - - result = PowerModels._run_opf_cl(pm, model, solver, - setting = Dict("output" => Dict("branch_flows" => true))) - else - result = PowerModels.run_opf(pm, model, solver, - setting = Dict("output" => Dict("branch_flows" => true))) - end - - - return result -end - - -# json_path = "C:/Users/fmeier/pandapower/pandapower/test/opf/case5_clm_matfile_va.json" -# # #@enter run_powermodels(json_path) -# # -# result = run_powermodels(json_path) -# println(result["termination_status"] == LOCALLY_SOLVED) -# println(isapprox(result["objective"], 17015.5; atol = 1e0)) -# mit eingeschränkter slack spannung: 17082.819507648066 diff --git a/pandapower/opf/run_powermodels.py b/pandapower/opf/run_powermodels.py index 86b1fc6d8..e4e384f3c 100644 --- a/pandapower/opf/run_powermodels.py +++ b/pandapower/opf/run_powermodels.py @@ -55,8 +55,10 @@ def _call_powermodels(buffer_file, julia_file): # pragma: no cover "Could not connect to julia, please check that Julia is installed and pyjulia is correctly configured") # import two julia scripts and runs powermodels julia_file - Main.include(os.path.join(pp_dir, "opf", 'pp_2_pm.jl')) + Main.include(os.path.join(pp_dir, "opf", "PpPmInterface", "src", "PpPmInterface.jl")) + Main.using(".PpPmInterface") try: + # result_pm = Main.run_powermodels(buffer_file) run_powermodels = Main.include(julia_file) except ImportError: raise UserWarning("File %s could not be imported" % julia_file) diff --git a/pandapower/opf/run_powermodels_mn_storage.jl b/pandapower/opf/run_powermodels_mn_storage.jl deleted file mode 100644 index 773ae0521..000000000 --- a/pandapower/opf/run_powermodels_mn_storage.jl +++ /dev/null @@ -1,59 +0,0 @@ -using PowerModels -using Ipopt -using Gurobi -using JuMP -using .PP2PM - -import JSON - -function read_time_series(json_path) - time_series = Dict() - open(json_path, "r") do f - time_series = JSON.parse(f) # parse and transform data - end - return time_series -end - -function set_pq_values_from_timeseries(mn, time_series) - # This function iterates over multinetwork entries and sets p, q values - # of loads and "sgens" (which are loads with negative P and Q values) - - # iterate over networks (which represent the time steps) - for (t, network) in mn["nw"] - t_j = string(parse(Int64,t) - 1) - # iterate over all loads for this network - for (i, load) in network["load"] - # update variables from time series here -# print("\nload before: ") -# print(load["pd"]) - load["pd"] = time_series[t_j][parse(Int64,i)] / mn["baseMVA"] -# print("\nload after: ") -# print(load["pd"]) - end - end - - return mn -end - -function run_powermodels(json_path) - # load converted pandapower network - pm = PP2PM.load_pm_from_json(json_path) - # copy network n_time_steps time step times - n_time_steps = pm["n_time_steps"] - mn = PowerModels.replicate(pm, pm["n_time_steps"]) - mn["time_elapsed"] = pm["time_elapsed"] - # set P, Q values of loads and generators from time series - if isfile("/tmp/timeseries.json") - time_series = read_time_series("/tmp/timeseries.json") - mn = set_pq_values_from_timeseries(mn, time_series) - else - print("Running storage without time series") - end - - ipopt_solver = JuMP.with_optimizer(Ipopt.Optimizer, print_level = 0) - - # run multinetwork storage opf - result = PowerModels._run_mn_strg_opf(mn, PowerModels.ACPPowerModel, ipopt_solver) - print_summary(result) - return result -end diff --git a/pandapower/opf/run_powermodels_ots.jl b/pandapower/opf/run_powermodels_ots.jl deleted file mode 100644 index fc315fafa..000000000 --- a/pandapower/opf/run_powermodels_ots.jl +++ /dev/null @@ -1,15 +0,0 @@ -using PowerModels -using .PP2PM - -function run_powermodels(json_path) - # function to run optimal transmission switching (OTS) optimization from powermodels.jl - pm = PP2PM.load_pm_from_json(json_path) - model = PP2PM.get_model(pm["pm_model"]) - - solver = PP2PM.get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], - pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) - - result = run_ots(pm, model, solver, - setting = Dict("output" => Dict("branch_flows" => true))) - return result -end diff --git a/pandapower/opf/run_powermodels_powerflow.jl b/pandapower/opf/run_powermodels_powerflow.jl deleted file mode 100644 index ed733749d..000000000 --- a/pandapower/opf/run_powermodels_powerflow.jl +++ /dev/null @@ -1,19 +0,0 @@ -using PowerModels -using .PP2PM - - -function run_powermodels(json_path) - pm = PP2PM.load_pm_from_json(json_path) - - model = PP2PM.get_model(pm["pm_model"]) - - solver = PP2PM.get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], - pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) - - result = PowerModels.run_pf(pm, model, solver) - # add branch flows - update_data!(pm, result["solution"]) - flows = calc_branch_flow_ac(pm) - update_data!(result["solution"], flows) - return result -end diff --git a/pandapower/opf/run_powermodels_tnep.jl b/pandapower/opf/run_powermodels_tnep.jl deleted file mode 100644 index c665f74e0..000000000 --- a/pandapower/opf/run_powermodels_tnep.jl +++ /dev/null @@ -1,15 +0,0 @@ -using PowerModels -using .PP2PM - -function run_powermodels(json_path) - pm = PP2PM.load_pm_from_json(json_path) - model = PP2PM.get_model(pm["pm_model"]) - - solver = PP2PM.get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], - pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) - - # function to run transmission network expansion optimization of powermodels.jl - result = run_tnep(pm, model, solver, - setting = Dict("output" => Dict("branch_flows" => true))) - return result -end From 5ab3f0ad49ec7617256af37a15529e2cae329f4e Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Thu, 25 Feb 2021 15:15:14 +0100 Subject: [PATCH 024/422] test for pm = load_pm_from_json is passed --- pandapower/opf/PpPmInterface/test/runtests.jl | 90 +++++++++++++------ 1 file changed, 63 insertions(+), 27 deletions(-) diff --git a/pandapower/opf/PpPmInterface/test/runtests.jl b/pandapower/opf/PpPmInterface/test/runtests.jl index 3b36d555b..38d5f0b84 100644 --- a/pandapower/opf/PpPmInterface/test/runtests.jl +++ b/pandapower/opf/PpPmInterface/test/runtests.jl @@ -1,37 +1,73 @@ import Pkg -Pkg.activate(joinpath(homedir(),"GitHub", "pandapower", "pandapower", "opf","PpPmInterface")) +# Pkg.activate(joinpath(homedir(),"GitHub", "pandapower", "pandapower", "opf","PpPmInterface")) # for lyu +Pkg.activate(".") #for maryam +# Pkg.update() +# Pkg.build() +# Pkg.resolve() using PpPmInterface using Test -test_path=joinpath(homedir(),"GitHub", "pandapower", "pandapower", "opf", "PpPmInterface", "test") -test_net=joinpath(test_path, "pm_test.json") -test_ipopt = joinpath(test_path, "test_ipopt.json") -test_Gurobi = joinpath(test_path, "test_Gurobi.json") #use gurobi to solve -@testset "PpPmInterface.jl" begin - # for i in ["","_ots","_powerflow","_tnep"] - # comm="run_powermodels"*i*"(test_ipopt)" - # result=Meta.parse($comm) - # @test typeof(result)==Dict{String,Any} - # @test result["solve_time"]>=0 - # end - result=run_powermodels(test_ipopt) - @test typeof(result)==Dict{String,Any} - @test result["solve_time"]>=0 - # result=run_powermodels_mn_storage(test_Gurobi) - # @test typeof(result)==Dict{String,Any} - # @test result["solve_time"]>=0 - result=run_powermodels_ots(test_net) #use Gurobi - @test typeof(result)==Dict{String,Any} - @test result["solve_time"]>=0 - result=run_powermodels_powerflow(test_ipopt) - @test typeof(result)==Dict{String,Any} - @test result["solve_time"]>=0 - result=run_powermodels_tnep(test_ipopt) - @test typeof(result)==Dict{String,Any} - @test result["solve_time"]>=0 +test_path = joinpath(pwd(), "test") # for maryam +# test_path=joinpath(homedir(),"pandapower", "pandapower", "opf", "PpPmInterface", "test") # for lyu + +# test_net=joinpath(test_path, "pm_test.json") +# test_ipopt = joinpath(test_path, "test_ipopt.json") +# test_Gurobi = joinpath(test_path, "test_Gurobi.json") #use gurobi to solve + +@testset "test converting net from pandapower to pm" begin + + @testset " simbench grid 1-HV-urban--0-sw with ipopt solver for DCOPF" begin + + json_path = joinpath(test_path, "test_ipopt.json") + pm = PpPmInterface.load_pm_from_json(json_path) + + @test length(pm["bus"]) == 82 + @test length(pm["gen"]) == 1 + @test length(pm["branch"]) == 116 + @test length(pm["load"]) == 177 + + end + + # TODO: you can copy the test above and change some conditions, such as solver or model or even the grid and run test for it + # @testset " simbench grid 1-HV-urban--0-sw with Gurobi solver for ACOPF" begin + # json_path = joinpath(test_path, "test_ipopt.json") + # pm = PpPmInterface.load_pm_from_json(json_path) + # + # @test length(pm["bus"]) == 82 + # @test length(pm["gen"]) == 1 + # @test length(pm["branch"]) == 116 + # @test length(pm["load"]) == 177 + # + # end + + end end +# @testset "PpPmInterface.jl" begin +# # for i in ["","_ots","_powerflow","_tnep"] +# # comm="run_powermodels"*i*"(test_ipopt)" +# # result=Meta.parse($comm) +# # @test typeof(result)==Dict{String,Any} +# # @test result["solve_time"]>=0 +# # end +# result=run_powermodels(test_ipopt) +# @test typeof(result)==Dict{String,Any} +# @test result["solve_time"]>=0 +# # result=run_powermodels_mn_storage(test_Gurobi) +# # @test typeof(result)==Dict{String,Any} +# # @test result["solve_time"]>=0 +# result=run_powermodels_ots(test_net) #use Gurobi +# @test typeof(result)==Dict{String,Any} +# @test result["solve_time"]>=0 +# result=run_powermodels_powerflow(test_ipopt) +# @test typeof(result)==Dict{String,Any} +# @test result["solve_time"]>=0 +# result=run_powermodels_tnep(test_ipopt) +# @test typeof(result)==Dict{String,Any} +# @test result["solve_time"]>=0 +# end + # json_path = joinpath(pwd(), "pandapower","opf","PpPmInterface","test", "test_net.json"); # @testset "PpPmInterface.jl" begin # pm = load_pm_from_json(json_path) From 0da386e1cce774daf0190f76757b01f299bb4d77 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Fri, 26 Feb 2021 13:49:05 +0100 Subject: [PATCH 025/422] Temporary: change getfield value --- pandapower/opf/PpPmInterface/src/input/pp_to_pm.jl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pandapower/opf/PpPmInterface/src/input/pp_to_pm.jl b/pandapower/opf/PpPmInterface/src/input/pp_to_pm.jl index cbc566509..10140b514 100644 --- a/pandapower/opf/PpPmInterface/src/input/pp_to_pm.jl +++ b/pandapower/opf/PpPmInterface/src/input/pp_to_pm.jl @@ -6,7 +6,8 @@ function get_model(model_type) see: https://lanl-ansi.github.io/PowerModels.jl/stable/formulation-details/ """ s = Symbol(model_type) - return getfield(Main, s) + # FIXME: when we register the package as global package with sepeate repo, we must change it to getfield(Main, s) + return getfield(PpPmInterface, s) end function get_solver(optimizer::String, nl::String="ipopt", mip::String="cbc", @@ -80,7 +81,7 @@ function load_pm_from_json(json_path) end end if pm["correct_pm_network_data"] - correct_network_data!(pm) + PowerModels.correct_network_data!(pm) end return pm end From 688f1eb09dcc457735aba1fb669a59c82a061305 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Fri, 26 Feb 2021 14:31:23 +0100 Subject: [PATCH 026/422] write dependencies --- pandapower/opf/PpPmInterface/README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/pandapower/opf/PpPmInterface/README.md b/pandapower/opf/PpPmInterface/README.md index 5afa9b86d..e796055a1 100644 --- a/pandapower/opf/PpPmInterface/README.md +++ b/pandapower/opf/PpPmInterface/README.md @@ -7,6 +7,18 @@ **Dependencies:** +* [JuMP.jl](https://github.com/JuliaOpt/JuMP.jl) +* [PowerModels.jl](https://github.com/lanl-ansi/PowerModels.jl) + +* i/o: + * [JSON.jl](https://github.com/JuliaIO/JSON.jl) + +* solvers: + * [Ipopt.jl](https://github.com/jump-dev/Ipopt.jl) + * [Juniper.jl](https://github.com/lanl-ansi/Juniper.jl) + * [Cbc.jl](https://github.com/jump-dev/Cbc.jl) + * [Gurobi.jl](https://github.com/jump-dev/Gurobi.jl) + **Instructions:** **Running the Code:** From bde7441aa24fbde43c8a0c2fa1f47ddc62a40bae Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Fri, 26 Feb 2021 14:31:47 +0100 Subject: [PATCH 027/422] update --- .../opf/PpPmInterface/src/PpPmInterface.jl | 29 +++++++++++-------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/pandapower/opf/PpPmInterface/src/PpPmInterface.jl b/pandapower/opf/PpPmInterface/src/PpPmInterface.jl index 4ee42ff69..e141ba38d 100644 --- a/pandapower/opf/PpPmInterface/src/PpPmInterface.jl +++ b/pandapower/opf/PpPmInterface/src/PpPmInterface.jl @@ -3,7 +3,9 @@ module PpPmInterface import JuMP import JSON +# TODO: check all functions from powermodels and use import instead of using using PowerModels + using Cbc using Ipopt using Juniper @@ -16,18 +18,7 @@ catch e end end -export run_powermodels, run_powermodels_mn_storage, - run_powermodels_ots, run_powermodels_powerflow, - run_powermodels_tnep - -include("input/pp_to_pm.jl") - -include("../src/pm_models/run_powermodels.jl") -include("../src/pm_models/run_powermodels_mn_storage.jl") -include("../src/pm_models/run_powermodels_ots.jl") -include("../src/pm_models/run_powermodels_powerflow.jl") -include("../src/pm_models/run_powermodels_tnep.jl") -# +# TODO: get licence for KNITRO and SCIP # try # using KNITRO # catch e @@ -44,4 +35,18 @@ include("../src/pm_models/run_powermodels_tnep.jl") # end # end +export run_powermodels +# export run_powermodels_mn_storage, +# run_powermodels_ots, run_powermodels_powerflow, +# run_powermodels_tnep + +include("input/pp_to_pm.jl") + +include("../src/pm_models/run_powermodels.jl") +# include("../src/pm_models/run_powermodels_mn_storage.jl") +# include("../src/pm_models/run_powermodels_ots.jl") +# include("../src/pm_models/run_powermodels_powerflow.jl") +# include("../src/pm_models/run_powermodels_tnep.jl") +# + end From 8a2e9abc2f30713058a88e42ac570378fc13d9e2 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Fri, 26 Feb 2021 14:32:31 +0100 Subject: [PATCH 028/422] fix getmodel problem --- pandapower/opf/PpPmInterface/test/runtests.jl | 36 +++++++++++++++---- 1 file changed, 30 insertions(+), 6 deletions(-) diff --git a/pandapower/opf/PpPmInterface/test/runtests.jl b/pandapower/opf/PpPmInterface/test/runtests.jl index 38d5f0b84..8571bb0dd 100644 --- a/pandapower/opf/PpPmInterface/test/runtests.jl +++ b/pandapower/opf/PpPmInterface/test/runtests.jl @@ -1,14 +1,11 @@ import Pkg # Pkg.activate(joinpath(homedir(),"GitHub", "pandapower", "pandapower", "opf","PpPmInterface")) # for lyu Pkg.activate(".") #for maryam -# Pkg.update() -# Pkg.build() -# Pkg.resolve() using PpPmInterface using Test -test_path = joinpath(pwd(), "test") # for maryam +test_path = joinpath(pwd(), "test", "data") # for maryam # test_path=joinpath(homedir(),"pandapower", "pandapower", "opf", "PpPmInterface", "test") # for lyu # test_net=joinpath(test_path, "pm_test.json") @@ -18,8 +15,9 @@ test_path = joinpath(pwd(), "test") # for maryam @testset "test converting net from pandapower to pm" begin @testset " simbench grid 1-HV-urban--0-sw with ipopt solver for DCOPF" begin - + json_path = joinpath(test_path, "test_ipopt.json") + pm = PpPmInterface.load_pm_from_json(json_path) @test length(pm["bus"]) == 82 @@ -27,6 +25,14 @@ test_path = joinpath(pwd(), "test") # for maryam @test length(pm["branch"]) == 116 @test length(pm["load"]) == 177 + model = PpPmInterface.get_model(pm["pm_model"]) + # FIXME: when we register the package we need to change it to "DCPPowerModel" + @test string(model) == "PowerModels.DCPPowerModel" + + solver = PpPmInterface.get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], + pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) + + @test string(solver.optimizer_constructor) == "Ipopt.Optimizer" end # TODO: you can copy the test above and change some conditions, such as solver or model or even the grid and run test for it @@ -41,9 +47,27 @@ test_path = joinpath(pwd(), "test") # for maryam # # end +end + +@testset "test run_powermodels" begin + @testset " simbench grid 1-HV-urban--0-sw with ipopt solver for DCOPF" begin + + json_path = joinpath(test_path, "test_ipopt.json") + + result=run_powermodels(json_path) + + @test typeof(result) == Dict{String,Any} + @test string(result["termination_status"]) == "LOCALLY_SOLVED" + @test isapprox(result["objective"], -96.1; atol = 1e0) + @test result["solve_time"] >= 0 + end + + # TODO: you can copy the test above and change some conditions, such as solver or model or even the grid and run test for it end + + # @testset "PpPmInterface.jl" begin # # for i in ["","_ots","_powerflow","_tnep"] # # comm="run_powermodels"*i*"(test_ipopt)" @@ -67,7 +91,7 @@ end # @test typeof(result)==Dict{String,Any} # @test result["solve_time"]>=0 # end - +# # json_path = joinpath(pwd(), "pandapower","opf","PpPmInterface","test", "test_net.json"); # @testset "PpPmInterface.jl" begin # pm = load_pm_from_json(json_path) From a7e35173fb7a3a30f6b60faf217c495cbe8663fc Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Fri, 26 Feb 2021 14:32:55 +0100 Subject: [PATCH 029/422] add extra file for data --- pandapower/opf/PpPmInterface/test/create_test_json.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandapower/opf/PpPmInterface/test/create_test_json.py b/pandapower/opf/PpPmInterface/test/create_test_json.py index f41ed30d8..05eae73c3 100644 --- a/pandapower/opf/PpPmInterface/test/create_test_json.py +++ b/pandapower/opf/PpPmInterface/test/create_test_json.py @@ -17,7 +17,7 @@ # pkg_dir = pathlib.Path(pp_dir, "pandapower", "opf", "PpPmInterface") #general direction pkg_dir = pathlib.Path(pathlib.Path.home(), "GitHub", "pandapower", "pandapower", "opf", "PpPmInterface") -json_path = os.path.join(pkg_dir, "test" , "test_ipopt.json") +json_path = os.path.join(pkg_dir, "test" , "data", "test_ipopt.json") test_net = convert_pp_to_pm(net, pm_file_path=json_path, correct_pm_network_data=True, calculate_voltage_angles=True, ac=True, trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, From 9dda799f5424129cd9de555c0826b733309199af Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Fri, 26 Feb 2021 14:33:19 +0100 Subject: [PATCH 030/422] put json files in data file --- pandapower/opf/PpPmInterface/test/{ => data}/pm_test.json | 0 pandapower/opf/PpPmInterface/test/{ => data}/test_Gurobi.json | 0 pandapower/opf/PpPmInterface/test/{ => data}/test_ipopt.json | 0 pandapower/opf/PpPmInterface/test/{ => data}/test_net.json | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename pandapower/opf/PpPmInterface/test/{ => data}/pm_test.json (100%) rename pandapower/opf/PpPmInterface/test/{ => data}/test_Gurobi.json (100%) rename pandapower/opf/PpPmInterface/test/{ => data}/test_ipopt.json (100%) rename pandapower/opf/PpPmInterface/test/{ => data}/test_net.json (100%) diff --git a/pandapower/opf/PpPmInterface/test/pm_test.json b/pandapower/opf/PpPmInterface/test/data/pm_test.json similarity index 100% rename from pandapower/opf/PpPmInterface/test/pm_test.json rename to pandapower/opf/PpPmInterface/test/data/pm_test.json diff --git a/pandapower/opf/PpPmInterface/test/test_Gurobi.json b/pandapower/opf/PpPmInterface/test/data/test_Gurobi.json similarity index 100% rename from pandapower/opf/PpPmInterface/test/test_Gurobi.json rename to pandapower/opf/PpPmInterface/test/data/test_Gurobi.json diff --git a/pandapower/opf/PpPmInterface/test/test_ipopt.json b/pandapower/opf/PpPmInterface/test/data/test_ipopt.json similarity index 100% rename from pandapower/opf/PpPmInterface/test/test_ipopt.json rename to pandapower/opf/PpPmInterface/test/data/test_ipopt.json diff --git a/pandapower/opf/PpPmInterface/test/test_net.json b/pandapower/opf/PpPmInterface/test/data/test_net.json similarity index 100% rename from pandapower/opf/PpPmInterface/test/test_net.json rename to pandapower/opf/PpPmInterface/test/data/test_net.json From 0d3fb00ff61bcb3c253aec49f723702efaace195 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Fri, 26 Feb 2021 14:34:46 +0100 Subject: [PATCH 031/422] fix space --- pandapower/opf/PpPmInterface/README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pandapower/opf/PpPmInterface/README.md b/pandapower/opf/PpPmInterface/README.md index e796055a1..193428816 100644 --- a/pandapower/opf/PpPmInterface/README.md +++ b/pandapower/opf/PpPmInterface/README.md @@ -10,10 +10,12 @@ * [JuMP.jl](https://github.com/JuliaOpt/JuMP.jl) * [PowerModels.jl](https://github.com/lanl-ansi/PowerModels.jl) -* i/o: +i/o: + * [JSON.jl](https://github.com/JuliaIO/JSON.jl) -* solvers: +solvers: + * [Ipopt.jl](https://github.com/jump-dev/Ipopt.jl) * [Juniper.jl](https://github.com/lanl-ansi/Juniper.jl) * [Cbc.jl](https://github.com/jump-dev/Cbc.jl) From a0ec63482777bf4172abf09794e461dded3436c5 Mon Sep 17 00:00:00 2001 From: U_F_O Date: Fri, 26 Feb 2021 16:39:38 +0100 Subject: [PATCH 032/422] test passed for more tests --- .../opf/PpPmInterface/src/PpPmInterface.jl | 17 +++-- .../opf/PpPmInterface/src/input/pp_to_pm.jl | 1 + .../src/pm_models/run_powermodels.jl | 1 + pandapower/opf/PpPmInterface/test/runtests.jl | 62 +++++++++---------- pandapower/opf/run_powermodels.py | 3 +- pandapower/runpm.py | 12 ++-- 6 files changed, 49 insertions(+), 47 deletions(-) diff --git a/pandapower/opf/PpPmInterface/src/PpPmInterface.jl b/pandapower/opf/PpPmInterface/src/PpPmInterface.jl index e141ba38d..c4f8c636a 100644 --- a/pandapower/opf/PpPmInterface/src/PpPmInterface.jl +++ b/pandapower/opf/PpPmInterface/src/PpPmInterface.jl @@ -35,18 +35,17 @@ end # end # end -export run_powermodels -# export run_powermodels_mn_storage, -# run_powermodels_ots, run_powermodels_powerflow, -# run_powermodels_tnep +export run_powermodels, run_powermodels_mn_storage, + run_powermodels_ots, run_powermodels_powerflow, + run_powermodels_tnep include("input/pp_to_pm.jl") include("../src/pm_models/run_powermodels.jl") -# include("../src/pm_models/run_powermodels_mn_storage.jl") -# include("../src/pm_models/run_powermodels_ots.jl") -# include("../src/pm_models/run_powermodels_powerflow.jl") -# include("../src/pm_models/run_powermodels_tnep.jl") -# +include("../src/pm_models/run_powermodels_mn_storage.jl") +include("../src/pm_models/run_powermodels_ots.jl") +include("../src/pm_models/run_powermodels_powerflow.jl") +include("../src/pm_models/run_powermodels_tnep.jl") + end diff --git a/pandapower/opf/PpPmInterface/src/input/pp_to_pm.jl b/pandapower/opf/PpPmInterface/src/input/pp_to_pm.jl index 10140b514..02d8278ac 100644 --- a/pandapower/opf/PpPmInterface/src/input/pp_to_pm.jl +++ b/pandapower/opf/PpPmInterface/src/input/pp_to_pm.jl @@ -5,6 +5,7 @@ function get_model(model_type) model_type (str) - examples: "ACPPowerModel", "DCPPowerModel", "SOCWRPowerModel"... see: https://lanl-ansi.github.io/PowerModels.jl/stable/formulation-details/ """ + s = Symbol(model_type) # FIXME: when we register the package as global package with sepeate repo, we must change it to getfield(Main, s) return getfield(PpPmInterface, s) diff --git a/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels.jl b/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels.jl index fb468802f..484212db4 100644 --- a/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels.jl +++ b/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels.jl @@ -3,6 +3,7 @@ function run_powermodels(json_path) pm = load_pm_from_json(json_path) model = get_model(pm["pm_model"]) + @info "run get_model $(model)" # solver = get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) diff --git a/pandapower/opf/PpPmInterface/test/runtests.jl b/pandapower/opf/PpPmInterface/test/runtests.jl index 8571bb0dd..740809f3e 100644 --- a/pandapower/opf/PpPmInterface/test/runtests.jl +++ b/pandapower/opf/PpPmInterface/test/runtests.jl @@ -1,16 +1,16 @@ import Pkg -# Pkg.activate(joinpath(homedir(),"GitHub", "pandapower", "pandapower", "opf","PpPmInterface")) # for lyu -Pkg.activate(".") #for maryam +Pkg.activate(joinpath(pwd(), "pandapower", "opf","PpPmInterface")) # for lyu +# Pkg.activate(".") #for maryam using PpPmInterface using Test -test_path = joinpath(pwd(), "test", "data") # for maryam -# test_path=joinpath(homedir(),"pandapower", "pandapower", "opf", "PpPmInterface", "test") # for lyu +# test_path = joinpath(pwd(), "test", "data") # for maryam +test_path=joinpath(pwd(), "pandapower", "opf", "PpPmInterface", "test", "data") # for lyu -# test_net=joinpath(test_path, "pm_test.json") -# test_ipopt = joinpath(test_path, "test_ipopt.json") -# test_Gurobi = joinpath(test_path, "test_Gurobi.json") #use gurobi to solve +test_net=joinpath(test_path, "pm_test.json") +test_ipopt = joinpath(test_path, "test_ipopt.json") +test_Gurobi = joinpath(test_path, "test_Gurobi.json") #use gurobi to solve @testset "test converting net from pandapower to pm" begin @@ -68,30 +68,30 @@ end -# @testset "PpPmInterface.jl" begin -# # for i in ["","_ots","_powerflow","_tnep"] -# # comm="run_powermodels"*i*"(test_ipopt)" -# # result=Meta.parse($comm) -# # @test typeof(result)==Dict{String,Any} -# # @test result["solve_time"]>=0 -# # end -# result=run_powermodels(test_ipopt) -# @test typeof(result)==Dict{String,Any} -# @test result["solve_time"]>=0 -# # result=run_powermodels_mn_storage(test_Gurobi) -# # @test typeof(result)==Dict{String,Any} -# # @test result["solve_time"]>=0 -# result=run_powermodels_ots(test_net) #use Gurobi -# @test typeof(result)==Dict{String,Any} -# @test result["solve_time"]>=0 -# result=run_powermodels_powerflow(test_ipopt) -# @test typeof(result)==Dict{String,Any} -# @test result["solve_time"]>=0 -# result=run_powermodels_tnep(test_ipopt) -# @test typeof(result)==Dict{String,Any} -# @test result["solve_time"]>=0 -# end -# +@testset "PpPmInterface.jl" begin + # for i in ["","_ots","_powerflow","_tnep"] + # comm="run_powermodels"*i*"(test_ipopt)" + # result=Meta.parse($comm) + # @test typeof(result)==Dict{String,Any} + # @test result["solve_time"]>=0 + # end + result=run_powermodels(test_ipopt) + @test typeof(result)==Dict{String,Any} + @test result["solve_time"]>=0 + # result=run_powermodels_mn_storage(test_Gurobi) + # @test typeof(result)==Dict{String,Any} + # @test result["solve_time"]>=0 + result=run_powermodels_ots(test_net) #use Gurobi + @test typeof(result)==Dict{String,Any} + @test result["solve_time"]>=0 + result=run_powermodels_powerflow(test_ipopt) + @test typeof(result)==Dict{String,Any} + @test result["solve_time"]>=0 + result=run_powermodels_tnep(test_ipopt) + @test typeof(result)==Dict{String,Any} + @test result["solve_time"]>=0 +end + # json_path = joinpath(pwd(), "pandapower","opf","PpPmInterface","test", "test_net.json"); # @testset "PpPmInterface.jl" begin # pm = load_pm_from_json(json_path) diff --git a/pandapower/opf/run_powermodels.py b/pandapower/opf/run_powermodels.py index e4e384f3c..7f2dbb458 100644 --- a/pandapower/opf/run_powermodels.py +++ b/pandapower/opf/run_powermodels.py @@ -57,9 +57,10 @@ def _call_powermodels(buffer_file, julia_file): # pragma: no cover # import two julia scripts and runs powermodels julia_file Main.include(os.path.join(pp_dir, "opf", "PpPmInterface", "src", "PpPmInterface.jl")) Main.using(".PpPmInterface") + run_powermodels(julia_file) try: # result_pm = Main.run_powermodels(buffer_file) - run_powermodels = Main.include(julia_file) + run_powermodels = Main.PpPmInterface.run_powermodels(julia_file) except ImportError: raise UserWarning("File %s could not be imported" % julia_file) result_pm = run_powermodels(buffer_file) diff --git a/pandapower/runpm.py b/pandapower/runpm.py index ee3c20b9e..46e649e38 100644 --- a/pandapower/runpm.py +++ b/pandapower/runpm.py @@ -87,7 +87,7 @@ def runpm(net, julia_file=None, pp_to_pm_callback=None, calculate_voltage_angles """ net._options = {} ac = True if "DC" not in pm_model else False - julia_file = os.path.join(pp_dir, "opf", 'run_powermodels.jl') if julia_file is None else julia_file + julia_file = os.path.join(pp_dir, "opf", "PpPmInterface", "src", "pm_models", 'run_powermodels.jl') if julia_file is None else julia_file _add_ppc_options(net, calculate_voltage_angles=calculate_voltage_angles, trafo_model=trafo_model, check_connectivity=check_connectivity, mode="opf", switch_rx_ratio=2, init_vm_pu="flat", init_va_degree="flat", @@ -153,7 +153,7 @@ def runpm_dc_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, **pm_log_level** (int, 0) - solver log level in power models """ - julia_file = os.path.join(pp_dir, "opf", 'run_powermodels.jl') + julia_file = os.path.join(pp_dir, "opf", "PpPmInterface", "src", "pm_models", 'run_powermodels.jl') ac = True if "DC" not in pm_model else False net._options = {} @@ -235,7 +235,7 @@ def runpm_ac_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, you want to keep the file after optimization, you should also set delete_buffer_file to False! """ - julia_file = os.path.join(pp_dir, "opf", 'run_powermodels.jl') + julia_file = os.path.join(pp_dir, "opf", "PpPmInterface", "src", "pm_models", 'run_powermodels.jl') ac = True if "DC" not in pm_model else False net._options = {} @@ -278,7 +278,7 @@ def runpm_tnep(net, pp_to_pm_callback=None, calculate_voltage_angles=True, **pm_log_level** (int, 0) - solver log level in power models """ - julia_file = os.path.join(pp_dir, "opf", 'run_powermodels_tnep.jl') + julia_file = os.path.join(pp_dir, "opf", "PpPmInterface", "src", "pm_models", 'run_powermodels_tnep.jl') ac = True if "DC" not in pm_model else False if pm_solver is None: if pm_model == "DCPPowerModel": @@ -332,7 +332,7 @@ def runpm_ots(net, pp_to_pm_callback=None, calculate_voltage_angles=True, """ - julia_file = os.path.join(pp_dir, "opf", 'run_powermodels_ots.jl') + julia_file = os.path.join(pp_dir, "opf", "PpPmInterface", "src", "pm_models", 'run_powermodels_ots.jl') ac = True if "DC" not in pm_model else False if pm_solver is None: pm_solver = "juniper" @@ -373,7 +373,7 @@ def runpm_storage_opf(net, calculate_voltage_angles=True, **pm_log_level** (int, 0) - solver log level in power models """ - julia_file = os.path.join(pp_dir, "opf", 'run_powermodels_mn_storage.jl') + julia_file = os.path.join(pp_dir, "opf", "PpPmInterface", "src", "pm_models", 'run_powermodels_mn_storage.jl') ac = True if "DC" not in pm_model else False net._options = {} _add_ppc_options(net, calculate_voltage_angles=calculate_voltage_angles, From 8a16d03914f81c79bdb0b418354a8d31b9cddd3e Mon Sep 17 00:00:00 2001 From: U_F_O Date: Thu, 4 Mar 2021 10:56:32 +0100 Subject: [PATCH 033/422] pyjulia file passed --- pandapower/opf/run_powermodels.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/pandapower/opf/run_powermodels.py b/pandapower/opf/run_powermodels.py index 7f2dbb458..f5f0ef2ef 100644 --- a/pandapower/opf/run_powermodels.py +++ b/pandapower/opf/run_powermodels.py @@ -46,6 +46,7 @@ def _call_powermodels(buffer_file, julia_file): # pragma: no cover try: import julia from julia import Main + from julia import Pkg except ImportError: raise ImportError("Please install pyjulia to run pandapower with PowerModels.jl") try: @@ -55,13 +56,14 @@ def _call_powermodels(buffer_file, julia_file): # pragma: no cover "Could not connect to julia, please check that Julia is installed and pyjulia is correctly configured") # import two julia scripts and runs powermodels julia_file - Main.include(os.path.join(pp_dir, "opf", "PpPmInterface", "src", "PpPmInterface.jl")) - Main.using(".PpPmInterface") - run_powermodels(julia_file) - try: - # result_pm = Main.run_powermodels(buffer_file) - run_powermodels = Main.PpPmInterface.run_powermodels(julia_file) - except ImportError: + Pkg.activate(os.path.join(pp_dir, "opf", "PpPmInterface")) + # Main.include(os.path.join(pp_dir, "opf", "PpPmInterface", "src", "PpPmInterface.jl")) + # Main.using(".PpPmInterface") + Main.using("PpPmInterface") + # + if not os.path.isfile(julia_file): raise UserWarning("File %s could not be imported" % julia_file) - result_pm = run_powermodels(buffer_file) + Main.buffer_file = buffer_file + exec_fun = julia_file.split("/")[-1].split(".")[0] + result_pm = Main.eval(exec_fun+"(buffer_file)") return result_pm From 01e892ca427ac2823184e8c64965676fd1d70340 Mon Sep 17 00:00:00 2001 From: U_F_O Date: Fri, 5 Mar 2021 10:49:19 +0100 Subject: [PATCH 034/422] test passed for almost all tests run_pm jl files not modified --- .../PpPmInterface/src/pm_models/run_powermodels.jl | 3 +-- pandapower/test/opf/test_powermodels.py | 13 +++++++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels.jl b/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels.jl index 484212db4..3b68f0b79 100644 --- a/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels.jl +++ b/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels.jl @@ -3,8 +3,7 @@ function run_powermodels(json_path) pm = load_pm_from_json(json_path) model = get_model(pm["pm_model"]) - @info "run get_model $(model)" - # + # @info "run get_model $(model)" solver = get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) diff --git a/pandapower/test/opf/test_powermodels.py b/pandapower/test/opf/test_powermodels.py index 8842028e1..fe7076a4d 100644 --- a/pandapower/test/opf/test_powermodels.py +++ b/pandapower/test/opf/test_powermodels.py @@ -15,6 +15,7 @@ import pandapower as pp import pandapower.networks as nw from pandapower.converter.powermodels.from_pm import read_pm_results_to_net +from pandapower import pp_dir from pandapower.pd2ppc import _pd2ppc from pandapower.test.consistency_checks import consistency_checks from pandapower.test.toolbox import add_grid_connection, create_test_line @@ -296,8 +297,9 @@ def test_voltage_angles(): net.bus.loc[:, "max_vm_pu"] = 1.1 net.bus.loc[:, "min_vm_pu"] = .9 - custom_file = os.path.join(os.path.abspath(os.path.dirname(pp.test.__file__)), - "test_files", "run_powermodels_custom.jl") + # custom_file = os.path.join(os.path.abspath(os.path.dirname(pp.test.__file__)), + # "test_files", "run_powermodels_custom.jl") + custom_file = os.path.join(pp_dir, "opf", "PpPmInterface", "src", "pm_models", "run_powermodels.jl") # load is zero since costs are high. PF results should be the same as OPF net.load.loc[1, "p_mw"] = 0. @@ -574,4 +576,11 @@ def test_timeseries_powermodels(): if __name__ == '__main__': test_pwl() + test_without_ext_grid() + test_multiple_ext_grids() + test_ots_opt() + test_pm_tnep() + # test_storage_opt() # missing net._options["opf_flow_lim"] + test_voltage_angles() # fix "run_powermodels_custom" in line 299 and 300 + test_timeseries_powermodels() # pytest.main([__file__]) From 6caa52362e54049ccf674ce99fb54c1fc9e36c1f Mon Sep 17 00:00:00 2001 From: U_F_O Date: Fri, 5 Mar 2021 11:31:11 +0100 Subject: [PATCH 035/422] Tests passed Test using pytest, not execute file --- pandapower/opf/run_powermodels.py | 7 ++----- pandapower/test/opf/test_powermodels.py | 7 +++++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/pandapower/opf/run_powermodels.py b/pandapower/opf/run_powermodels.py index f5f0ef2ef..5994e57f9 100644 --- a/pandapower/opf/run_powermodels.py +++ b/pandapower/opf/run_powermodels.py @@ -41,8 +41,8 @@ def _runpm(net, delete_buffer_file=True, pm_file_path = None): # pragma: no cov os.remove(buffer_file) + def _call_powermodels(buffer_file, julia_file): # pragma: no cover - # checks if julia works, otherwise raises an error try: import julia from julia import Main @@ -54,13 +54,10 @@ def _call_powermodels(buffer_file, julia_file): # pragma: no cover except: raise UserWarning( "Could not connect to julia, please check that Julia is installed and pyjulia is correctly configured") - + # import two julia scripts and runs powermodels julia_file Pkg.activate(os.path.join(pp_dir, "opf", "PpPmInterface")) - # Main.include(os.path.join(pp_dir, "opf", "PpPmInterface", "src", "PpPmInterface.jl")) - # Main.using(".PpPmInterface") Main.using("PpPmInterface") - # if not os.path.isfile(julia_file): raise UserWarning("File %s could not be imported" % julia_file) Main.buffer_file = buffer_file diff --git a/pandapower/test/opf/test_powermodels.py b/pandapower/test/opf/test_powermodels.py index fe7076a4d..145b2b23e 100644 --- a/pandapower/test/opf/test_powermodels.py +++ b/pandapower/test/opf/test_powermodels.py @@ -453,8 +453,10 @@ def test_ots_opt(): def assert_pf(net, dc=False): - custom_file = os.path.join(os.path.abspath(os.path.dirname(pp.__file__)), - "opf", "run_powermodels_powerflow.jl") + # custom_file = os.path.join(os.path.abspath(os.path.dirname(pp.__file__)), + # "opf", "run_powermodels_powerflow.jl") + custom_file = os.path.join(pp_dir, "opf", "PpPmInterface", "src", "pm_models", "run_powermodels.jl") + if dc: # see https://github.com/lanl-ansi/PowerModels.jl/issues/612 for details pp.runpm(net, julia_file=custom_file, pm_model="DCMPPowerModel") @@ -580,6 +582,7 @@ def test_timeseries_powermodels(): test_multiple_ext_grids() test_ots_opt() test_pm_tnep() + test_compare_pwl_and_poly(net_3w_trafo_opf) # test_storage_opt() # missing net._options["opf_flow_lim"] test_voltage_angles() # fix "run_powermodels_custom" in line 299 and 300 test_timeseries_powermodels() From 942d6dbba8b1aa081c34247f8a284a073a1104a2 Mon Sep 17 00:00:00 2001 From: U_F_O Date: Wed, 10 Mar 2021 20:38:02 +0100 Subject: [PATCH 036/422] import instead of using; all functions in one file Change all "using" into "import" in PpPmInterface.jl. Also merge all executive functions into one file. Now "pm_models" folder is no longer in use. Test passed in julia. --- .../opf/PpPmInterface/src/PpPmInterface.jl | 21 +-- .../opf/PpPmInterface/src/input/pp_to_pm.jl | 3 +- .../src/pm_models/run_powermodels.jl | 4 +- .../pm_models/run_powermodels_mn_storage.jl | 4 +- .../src/pm_models/run_powermodels_ots.jl | 2 +- .../pm_models/run_powermodels_powerflow.jl | 8 +- .../src/pm_models/run_powermodels_tnep.jl | 2 +- .../opf/PpPmInterface/src/run_powermodels.jl | 140 ++++++++++++++++++ pandapower/opf/PpPmInterface/test/runtests.jl | 3 + 9 files changed, 165 insertions(+), 22 deletions(-) create mode 100644 pandapower/opf/PpPmInterface/src/run_powermodels.jl diff --git a/pandapower/opf/PpPmInterface/src/PpPmInterface.jl b/pandapower/opf/PpPmInterface/src/PpPmInterface.jl index c4f8c636a..825bcc3d6 100644 --- a/pandapower/opf/PpPmInterface/src/PpPmInterface.jl +++ b/pandapower/opf/PpPmInterface/src/PpPmInterface.jl @@ -3,12 +3,11 @@ module PpPmInterface import JuMP import JSON -# TODO: check all functions from powermodels and use import instead of using -using PowerModels +import PowerModels -using Cbc -using Ipopt -using Juniper +import Cbc +import Ipopt +import Juniper try import Gurobi @@ -41,11 +40,13 @@ export run_powermodels, run_powermodels_mn_storage, include("input/pp_to_pm.jl") -include("../src/pm_models/run_powermodels.jl") -include("../src/pm_models/run_powermodels_mn_storage.jl") -include("../src/pm_models/run_powermodels_ots.jl") -include("../src/pm_models/run_powermodels_powerflow.jl") -include("../src/pm_models/run_powermodels_tnep.jl") +include("run_powermodels.jl") + +# include("../src/pm_models/run_powermodels.jl") +# include("../src/pm_models/run_powermodels_mn_storage.jl") +# include("../src/pm_models/run_powermodels_ots.jl") +# include("../src/pm_models/run_powermodels_powerflow.jl") +# include("../src/pm_models/run_powermodels_tnep.jl") end diff --git a/pandapower/opf/PpPmInterface/src/input/pp_to_pm.jl b/pandapower/opf/PpPmInterface/src/input/pp_to_pm.jl index 02d8278ac..a5e46e4cf 100644 --- a/pandapower/opf/PpPmInterface/src/input/pp_to_pm.jl +++ b/pandapower/opf/PpPmInterface/src/input/pp_to_pm.jl @@ -7,8 +7,7 @@ function get_model(model_type) """ s = Symbol(model_type) - # FIXME: when we register the package as global package with sepeate repo, we must change it to getfield(Main, s) - return getfield(PpPmInterface, s) + return getfield(PowerModels, s) end function get_solver(optimizer::String, nl::String="ipopt", mip::String="cbc", diff --git a/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels.jl b/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels.jl index 3b68f0b79..81500017a 100644 --- a/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels.jl +++ b/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels.jl @@ -30,10 +30,10 @@ function run_powermodels(json_path) # pm["bus"]["4"]["vmax"] = 1.1 # pm["bus"]["4"]["vmin"] = 0.9 - result = _run_opf_cl(pm, model, solver, + result = PowerModels._run_opf_cl(pm, model, solver, setting = Dict("output" => Dict("branch_flows" => true))) else - result = run_opf(pm, model, solver, + result = PowerModels.run_opf(pm, model, solver, setting = Dict("output" => Dict("branch_flows" => true))) end diff --git a/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_mn_storage.jl b/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_mn_storage.jl index 740e1e589..231b880e1 100644 --- a/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_mn_storage.jl +++ b/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_mn_storage.jl @@ -36,7 +36,7 @@ function run_powermodels_mn_storage(json_path) pm = load_pm_from_json(json_path) # copy network n_time_steps time step times n_time_steps = pm["n_time_steps"] - mn = replicate(pm, pm["n_time_steps"]) + mn = PowerModels.replicate(pm, pm["n_time_steps"]) mn["time_elapsed"] = pm["time_elapsed"] # set P, Q values of loads and generators from time series if isfile("/tmp/timeseries.json") @@ -49,7 +49,7 @@ function run_powermodels_mn_storage(json_path) ipopt_solver = JuMP.with_optimizer(Ipopt.Optimizer, print_level = 0) # run multinetwork storage opf - result = _run_mn_strg_opf(mn, PowerModels.ACPPowerModel, ipopt_solver) + result = PowerModels._run_mn_strg_opf(mn, PowerModels.ACPPowerModel, ipopt_solver) print_summary(result) return result end diff --git a/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_ots.jl b/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_ots.jl index 3febe5a92..c7f9eb9e1 100644 --- a/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_ots.jl +++ b/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_ots.jl @@ -7,7 +7,7 @@ function run_powermodels_ots(json_path) solver = get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) - result = run_ots(pm, model, solver, + result = PowerModels.run_ots(pm, model, solver, setting = Dict("output" => Dict("branch_flows" => true))) return result end diff --git a/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_powerflow.jl b/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_powerflow.jl index f316c967c..62c2a56b2 100644 --- a/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_powerflow.jl +++ b/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_powerflow.jl @@ -8,10 +8,10 @@ function run_powermodels_powerflow(json_path) solver = get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) - result = run_pf(pm, model, solver) + result = PowerModels.run_pf(pm, model, solver) # add branch flows - update_data!(pm, result["solution"]) - flows = calc_branch_flow_ac(pm) - update_data!(result["solution"], flows) + PowerModels.update_data!(pm, result["solution"]) + flows = PowerModels.calc_branch_flow_ac(pm) + PowerModels.update_data!(result["solution"], flows) return result end diff --git a/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_tnep.jl b/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_tnep.jl index 45e3270d2..321a6b89d 100644 --- a/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_tnep.jl +++ b/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_tnep.jl @@ -7,7 +7,7 @@ function run_powermodels_tnep(json_path) pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) # function to run transmission network expansion optimization of powermodels.jl - result = run_tnep(pm, model, solver, + result = PowerModels.run_tnep(pm, model, solver, setting = Dict("output" => Dict("branch_flows" => true))) return result end diff --git a/pandapower/opf/PpPmInterface/src/run_powermodels.jl b/pandapower/opf/PpPmInterface/src/run_powermodels.jl new file mode 100644 index 000000000..adcbfac21 --- /dev/null +++ b/pandapower/opf/PpPmInterface/src/run_powermodels.jl @@ -0,0 +1,140 @@ +# All run_powermodels functions + +function run_powermodels(json_path) + pm = load_pm_from_json(json_path) + model = get_model(pm["pm_model"]) + # @info "run get_model $(model)" + solver = get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], + pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) + + if haskey(pm["branch"]["1"],"c_rating_a") + for (key, value) in pm["gen"] + # value["pmin"] = 0 + value["pmax"] *= 0.01 + value["qmax"] *= 0.01 + value["qmin"] *= 0.01 + value["pg"] *= 0.01 + value["qg"] *= 0.01 + value["cost"] *= 100 + end + + for (key, value) in pm["branch"] + value["c_rating_a"] *= 0.01 + end + + for (key, value) in pm["load"] + value["pd"] *= 0.01 + value["qd"] *= 0.01 + end + + # pm["bus"]["4"]["vmax"] = 1.1 + # pm["bus"]["4"]["vmin"] = 0.9 + + result = PowerModels._run_opf_cl(pm, model, solver, + setting = Dict("output" => Dict("branch_flows" => true))) + else + result = PowerModels.run_opf(pm, model, solver, + setting = Dict("output" => Dict("branch_flows" => true))) + end + + + return result +end + + +function run_powermodels_tnep(json_path) + pm = load_pm_from_json(json_path) + model = get_model(pm["pm_model"]) + + solver = get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], + pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) + + # function to run transmission network expansion optimization of powermodels.jl + result = PowerModels.run_tnep(pm, model, solver, + setting = Dict("output" => Dict("branch_flows" => true))) + return result +end + + +function run_powermodels_powerflow(json_path) + pm = load_pm_from_json(json_path) + + model = get_model(pm["pm_model"]) + + solver = get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], + pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) + + result = PowerModels.run_pf(pm, model, solver) + # add branch flows + PowerModels.update_data!(pm, result["solution"]) + flows = PowerModels.calc_branch_flow_ac(pm) + PowerModels.update_data!(result["solution"], flows) + return result +end + + +function run_powermodels_ots(json_path) + # function to run optimal transmission switching (OTS) optimization from powermodels.jl + pm = load_pm_from_json(json_path) + model = get_model(pm["pm_model"]) + + solver = get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], + pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) + + result = PowerModels.run_ots(pm, model, solver, + setting = Dict("output" => Dict("branch_flows" => true))) + return result +end + + +function read_time_series(json_path) + time_series = Dict() + open(json_path, "r") do f + time_series = JSON.parse(f) # parse and transform data + end + return time_series +end + +function set_pq_values_from_timeseries(mn, time_series) + # This function iterates over multinetwork entries and sets p, q values + # of loads and "sgens" (which are loads with negative P and Q values) + + # iterate over networks (which represent the time steps) + for (t, network) in mn["nw"] + t_j = string(parse(Int64,t) - 1) + # iterate over all loads for this network + for (i, load) in network["load"] + # update variables from time series here +# print("\nload before: ") +# print(load["pd"]) + load["pd"] = time_series[t_j][parse(Int64,i)] / mn["baseMVA"] +# print("\nload after: ") +# print(load["pd"]) + end + end + + return mn +end + +function run_powermodels_mn_storage(json_path) + # load converted pandapower network + pm = load_pm_from_json(json_path) + # copy network n_time_steps time step times + n_time_steps = pm["n_time_steps"] + mn = PowerModels.replicate(pm, pm["n_time_steps"]) + mn["time_elapsed"] = pm["time_elapsed"] + # set P, Q values of loads and generators from time series + if isfile("/tmp/timeseries.json") + time_series = read_time_series("/tmp/timeseries.json") + mn = set_pq_values_from_timeseries(mn, time_series) + else + print("Running storage without time series") + end + + ipopt_solver = JuMP.with_optimizer(Ipopt.Optimizer, print_level = 0) + + # run multinetwork storage opf + result = PowerModels._run_mn_strg_opf(mn, PowerModels.ACPPowerModel, ipopt_solver) + print_summary(result) + return result +end diff --git a/pandapower/opf/PpPmInterface/test/runtests.jl b/pandapower/opf/PpPmInterface/test/runtests.jl index 740809f3e..0d9820dcd 100644 --- a/pandapower/opf/PpPmInterface/test/runtests.jl +++ b/pandapower/opf/PpPmInterface/test/runtests.jl @@ -1,3 +1,6 @@ +# using Logging +# NullLogger() + import Pkg Pkg.activate(joinpath(pwd(), "pandapower", "opf","PpPmInterface")) # for lyu # Pkg.activate(".") #for maryam From 577d520bb839e7c8011ec02f68db25e926580c05 Mon Sep 17 00:00:00 2001 From: U_F_O Date: Wed, 10 Mar 2021 20:49:33 +0100 Subject: [PATCH 037/422] Test passed in python Test using pytest in cmd --- pandapower/test/opf/test_powermodels.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pandapower/test/opf/test_powermodels.py b/pandapower/test/opf/test_powermodels.py index 145b2b23e..fe0805cc1 100644 --- a/pandapower/test/opf/test_powermodels.py +++ b/pandapower/test/opf/test_powermodels.py @@ -577,6 +577,7 @@ def test_timeseries_powermodels(): if __name__ == '__main__': + # all run_powermodels_custom are setting julia_file to run_powermodels.jl test_pwl() test_without_ext_grid() test_multiple_ext_grids() @@ -584,6 +585,6 @@ def test_timeseries_powermodels(): test_pm_tnep() test_compare_pwl_and_poly(net_3w_trafo_opf) # test_storage_opt() # missing net._options["opf_flow_lim"] - test_voltage_angles() # fix "run_powermodels_custom" in line 299 and 300 + test_voltage_angles() test_timeseries_powermodels() # pytest.main([__file__]) From 1b264a616dd7b04aa1cdb5fc51579d578f685bc4 Mon Sep 17 00:00:00 2001 From: U_F_O Date: Thu, 11 Mar 2021 11:10:32 +0100 Subject: [PATCH 038/422] Starting create new test files for julia --- .../PpPmInterface/test/create_test_json.py | 68 +++++++++++++++++-- pandapower/opf/PpPmInterface/test/runtests.jl | 22 +++--- 2 files changed, 70 insertions(+), 20 deletions(-) diff --git a/pandapower/opf/PpPmInterface/test/create_test_json.py b/pandapower/opf/PpPmInterface/test/create_test_json.py index 05eae73c3..f40a426d0 100644 --- a/pandapower/opf/PpPmInterface/test/create_test_json.py +++ b/pandapower/opf/PpPmInterface/test/create_test_json.py @@ -8,16 +8,72 @@ import pathlib import simbench as sb import pandapower as pp -# from pandapower import pp_dir +from pandapower import pp_dir from pandapower.converter.powermodels.to_pm import convert_pp_to_pm -grid_code = "1-HV-urban--0-sw" -net = sb.get_simbench_net(grid_code) +net = pp.create_empty_network() + +min_vm_pu = 0.95 +max_vm_pu = 1.05 + + # create buses +bus1 = pp.create_bus(net, vn_kv=110., geodata=(5, 9), min_vm_pu=min_vm_pu, max_vm_pu=max_vm_pu) +bus2 = pp.create_bus(net, vn_kv=110., geodata=(6, 10), min_vm_pu=min_vm_pu, max_vm_pu=max_vm_pu) +bus3 = pp.create_bus(net, vn_kv=110., geodata=(10, 9), min_vm_pu=min_vm_pu, max_vm_pu=max_vm_pu) +bus4 = pp.create_bus(net, vn_kv=110., geodata=(8, 8), min_vm_pu=min_vm_pu, max_vm_pu=max_vm_pu) + + # create 110 kV lines +pp.create_line(net, bus1, bus2, length_km=70., std_type='149-AL1/24-ST1A 110.0') +pp.create_line(net, bus1, bus3, length_km=50., std_type='149-AL1/24-ST1A 110.0') +pp.create_line(net, bus1, bus4, length_km=100., std_type='149-AL1/24-ST1A 110.0') + + # create loads +pp.create_load(net, bus2, p_mw=60) +pp.create_load(net, bus3, p_mw=70) +pp.create_load(net, bus4, p_mw=50) + + # create generators +g1 = pp.create_gen(net, bus1, p_mw=9.513270, min_p_mw=0, max_p_mw=200, vm_pu=1.01, slack=True) +pp.create_poly_cost(net, g1, 'gen', cp1_eur_per_mw=1) + +g2 = pp.create_gen(net, bus2, p_mw=78.403291, min_p_mw=0, max_p_mw=200, vm_pu=1.01) +pp.create_poly_cost(net, g2, 'gen', cp1_eur_per_mw=3) + +g3 = pp.create_gen(net, bus3, p_mw=92.375601, min_p_mw=0, max_p_mw=200, vm_pu=1.01) +pp.create_poly_cost(net, g3, 'gen', cp1_eur_per_mw=3) + +net.line["max_loading_percent"] = 20 + + # possible new lines (set out of service in line DataFrame) +l1 = pp.create_line(net, bus1, bus4, 10., std_type="305-AL1/39-ST1A 110.0", name="new_line1", + max_loading_percent=20., in_service=False) +l2 = pp.create_line(net, bus2, bus4, 20., std_type="149-AL1/24-ST1A 110.0", name="new_line2", + max_loading_percent=20., in_service=False) +l3 = pp.create_line(net, bus3, bus4, 30., std_type='149-AL1/24-ST1A 110.0', name="new_line3", + max_loading_percent=20., in_service=False) +l4 = pp.create_line(net, bus3, bus4, 40., std_type='149-AL1/24-ST1A 110.0', name="new_line4", + max_loading_percent=20., in_service=False) + +new_line_index = [l1, l2, l3, l4] +construction_costs = [10., 20., 30., 45.] + # create new line dataframe + # init dataframe +net["ne_line"] = net["line"].loc[new_line_index, :] + # add costs, if None -> init with zeros +construction_costs = np.zeros( + len(new_line_index)) if construction_costs is None else construction_costs +net["ne_line"].loc[new_line_index, "construction_cost"] = construction_costs + # set in service, but only in ne line dataframe +net["ne_line"].loc[new_line_index, "in_service"] = True + # init res_ne_line to save built status afterwards +net["res_ne_line"] = pd.DataFrame(data=0, index=new_line_index, columns=["built"], dtype=int) + + pp.runpp(net) -# pkg_dir = pathlib.Path(pp_dir, "pandapower", "opf", "PpPmInterface") #general direction -pkg_dir = pathlib.Path(pathlib.Path.home(), "GitHub", "pandapower", "pandapower", "opf", "PpPmInterface") -json_path = os.path.join(pkg_dir, "test" , "data", "test_ipopt.json") +pkg_dir = pathlib.Path(pp_dir, "pandapower", "opf", "PpPmInterface", "test", "data") +# pkg_dir = pathlib.Path(pathlib.Path.home(), "GitHub", "pandapower", "pandapower", "opf", "PpPmInterface") +json_path = os.path.join(pkg_dir, "test" , "data", "test_tnep.json") test_net = convert_pp_to_pm(net, pm_file_path=json_path, correct_pm_network_data=True, calculate_voltage_angles=True, ac=True, trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, diff --git a/pandapower/opf/PpPmInterface/test/runtests.jl b/pandapower/opf/PpPmInterface/test/runtests.jl index 0d9820dcd..c8f277dcb 100644 --- a/pandapower/opf/PpPmInterface/test/runtests.jl +++ b/pandapower/opf/PpPmInterface/test/runtests.jl @@ -73,30 +73,24 @@ end @testset "PpPmInterface.jl" begin # for i in ["","_ots","_powerflow","_tnep"] - # comm="run_powermodels"*i*"(test_ipopt)" - # result=Meta.parse($comm) - # @test typeof(result)==Dict{String,Any} + # comm="result=run_powermodels"*i*"(test_ipopt)" + # eval(Meta.parse(comm)) + # @test isa(result, Dict{String,Any}) # @test result["solve_time"]>=0 # end result=run_powermodels(test_ipopt) - @test typeof(result)==Dict{String,Any} + @test isa(result, Dict{String,Any}) @test result["solve_time"]>=0 # result=run_powermodels_mn_storage(test_Gurobi) - # @test typeof(result)==Dict{String,Any} + # @test isa(result, Dict{String,Any}) # @test result["solve_time"]>=0 result=run_powermodels_ots(test_net) #use Gurobi - @test typeof(result)==Dict{String,Any} + @test isa(result, Dict{String,Any}) @test result["solve_time"]>=0 result=run_powermodels_powerflow(test_ipopt) - @test typeof(result)==Dict{String,Any} + @test isa(result, Dict{String,Any}) @test result["solve_time"]>=0 result=run_powermodels_tnep(test_ipopt) - @test typeof(result)==Dict{String,Any} + @test isa(result, Dict{String,Any}) @test result["solve_time"]>=0 end - -# json_path = joinpath(pwd(), "pandapower","opf","PpPmInterface","test", "test_net.json"); -# @testset "PpPmInterface.jl" begin -# pm = load_pm_from_json(json_path) -# # result = run_powermodels(json_path) -# end From 09d5952eac94cba9732b8cb4eb69efd198ff4089 Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Mon, 22 Mar 2021 14:13:33 +0100 Subject: [PATCH 039/422] working on dist slack --- pandapower/build_bus.py | 16 ++++++- pandapower/pf/create_jacobian.py | 53 ++++++++++++++++----- pandapower/pf/ppci_variables.py | 2 +- pandapower/pypower/idx_bus.py | 3 +- pandapower/pypower/newtonpf.py | 26 +++++++--- pandapower/test/loadflow/test_dist_slack.py | 49 +++++++++++++++++++ pandapower/test/loadflow/test_runpp.py | 3 +- 7 files changed, 128 insertions(+), 24 deletions(-) create mode 100644 pandapower/test/loadflow/test_dist_slack.py diff --git a/pandapower/build_bus.py b/pandapower/build_bus.py index 55c57381f..f4b65c1be 100644 --- a/pandapower/build_bus.py +++ b/pandapower/build_bus.py @@ -12,7 +12,7 @@ from pandapower.auxiliary import _sum_by_group from pandapower.pypower.idx_bus import BUS_I, BASE_KV, PD, QD, GS, BS, VMAX, VMIN, BUS_TYPE, NONE, VM, VA, \ - CID, CZD, bus_cols, REF + CID, CZD, bus_cols, REF, CON_FAC try: from numba import jit @@ -330,6 +330,7 @@ def _build_bus_ppc(net, ppc): _fill_auxiliary_buses(net, ppc, bus_lookup, "trafo3w", "hv_bus", aux) net["_pd2ppc_lookups"]["bus"] = bus_lookup net["_pd2ppc_lookups"]["aux"] = aux + _add_contribution_factor(net, ppc) def _fill_auxiliary_buses(net, ppc, bus_lookup, element, bus_column, aux): @@ -640,3 +641,16 @@ def _add_c_to_ppc(net, ppc): " to be either 6% or 10% according to IEC 60909") ppc["bus"][lv_buses, C_MAX] = c_ns ppc["bus"][lv_buses, C_MIN] = .95 + + +def _add_contribution_factor(net, ppc): + gen = net["gen"][net._is_elements["gen"]] + if len(gen) == 0: + return + gen_buses = gen.bus.values + bus_lookup = net["_pd2ppc_lookups"]["bus"] + gen_buses_ppc = bus_lookup[gen_buses] + contribution_factors_gen = gen.contribution_factor.values + + buses, contribution_factors_bus, _ = _sum_by_group(gen_buses_ppc, contribution_factors_gen, contribution_factors_gen) + ppc["bus"][buses, CON_FAC] = contribution_factors_bus diff --git a/pandapower/pf/create_jacobian.py b/pandapower/pf/create_jacobian.py index 2dd6f11e8..7d8524dad 100644 --- a/pandapower/pf/create_jacobian.py +++ b/pandapower/pf/create_jacobian.py @@ -1,4 +1,4 @@ -from numpy import complex128, float64, int32 +from numpy import complex128, float64, int32, ones from numpy.core.multiarray import zeros, empty, array from scipy.sparse import csr_matrix as sparse, vstack, hstack @@ -38,20 +38,47 @@ def _create_J_with_numba(Ybus, V, pvpq, pq, createJ, pvpq_lookup, npv, npq): return J -def _create_J_without_numba(Ybus, V, pvpq, pq): +def _create_J_without_numba(Ybus, V, pvpq, pq, contribution_factors, dist_slack): # create Jacobian with standard pypower implementation. - dS_dVm, dS_dVa = dSbus_dV(Ybus, V) + if dist_slack: + dS_dVm, dS_dVa = dSbus_dV(Ybus, V[:-1]) + else: + dS_dVm, dS_dVa = dSbus_dV(Ybus, V) ## evaluate Jacobian J11 = dS_dVa[array([pvpq]).T, pvpq].real J12 = dS_dVm[array([pvpq]).T, pq].real - if len(pq) > 0: + if len(pq) > 0 or dist_slack: J21 = dS_dVa[array([pq]).T, pvpq].imag J22 = dS_dVm[array([pq]).T, pq].imag - J = vstack([ - hstack([J11, J12]), - hstack([J21, J22]) - ], format="csr") + if dist_slack: + J13 = contribution_factors[1:].reshape(-1,1) + J23 = ones(len(pq)).reshape(-1,1) + print('___J11:') + print(J11.toarray()) + print('___J12:') + print(J12.toarray()) + print('___J13:') + print(J13) + print('___J11J12J13') + print(hstack([J11, J12, J13]).toarray()) + print('___J21:') + print(J21.toarray()) + print('___J22:') + print(J22.toarray()) + print('___J23:') + print(J23) + print('___J21J22J23') + print(hstack([J21, J22, J23]).toarray()) + J = vstack([ + hstack([J11, J12, J13]), + hstack([J21, J22, J23]) + ], format="csr") + else: + J = vstack([ + hstack([J11, J12]), + hstack([J21, J22]) + ], format="csr") else: J = vstack([ hstack([J11, J12]) @@ -59,16 +86,16 @@ def _create_J_without_numba(Ybus, V, pvpq, pq): return J -def create_jacobian_matrix(Ybus, V, pvpq, pq, createJ, pvpq_lookup, npv, npq, numba): - if numba: +def create_jacobian_matrix(Ybus, V, pvpq, pq, createJ, pvpq_lookup, npv, npq, numba, contribution_factors, dist_slack): + if numba and not dist_slack: J = _create_J_with_numba(Ybus, V, pvpq, pq, createJ, pvpq_lookup, npv, npq) else: - J = _create_J_without_numba(Ybus, V, pvpq, pq) + J = _create_J_without_numba(Ybus, V, pvpq, pq, contribution_factors, dist_slack) return J -def get_fastest_jacobian_function(pvpq, pq, numba): - if numba: +def get_fastest_jacobian_function(pvpq, pq, numba, dist_slack): + if numba and not dist_slack: if len(pvpq) == len(pq): create_jacobian = create_J2 else: diff --git a/pandapower/pf/ppci_variables.py b/pandapower/pf/ppci_variables.py index f8b5c7875..1ba3a2298 100644 --- a/pandapower/pf/ppci_variables.py +++ b/pandapower/pf/ppci_variables.py @@ -4,7 +4,7 @@ # and Energy System Technology (IEE), Kassel. All rights reserved. from pandapower.pypower.idx_bus import VM, VA -from pandapower.pypower.idx_gen import GEN_BUS, GEN_STATUS, VG +from pandapower.pypower.idx_gen import GEN_BUS, GEN_STATUS, VG, CON_FAC from pandapower.pypower.bustypes import bustypes from numpy import flatnonzero as find, pi, exp diff --git a/pandapower/pypower/idx_bus.py b/pandapower/pypower/idx_bus.py index 4f21c15a7..9250b77dd 100644 --- a/pandapower/pypower/idx_bus.py +++ b/pandapower/pypower/idx_bus.py @@ -84,5 +84,6 @@ # Additional pandapower extensions to ppc CID = 13 # coefficient of constant current load at rated voltage in range [0,1] CZD = 14 # coefficient of constant impedance load at rated voltage in range [0,1] +CON_FAC = 15 -bus_cols = 15 +bus_cols = 16 diff --git a/pandapower/pypower/newtonpf.py b/pandapower/pypower/newtonpf.py index 3c9b1a804..a0fe16c97 100644 --- a/pandapower/pypower/newtonpf.py +++ b/pandapower/pypower/newtonpf.py @@ -11,12 +11,15 @@ """Solves the power flow using a full Newton's method. """ -from numpy import angle, exp, linalg, conj, r_, Inf, arange, zeros, max, zeros_like, column_stack +from numpy import angle, exp, linalg, conj, r_, Inf, arange, zeros, max, zeros_like, column_stack, append +from numpy import flatnonzero as find from scipy.sparse.linalg import spsolve from pandapower.pf.iwamoto_multiplier import _iwamoto_step from pandapower.pypower.makeSbus import makeSbus from pandapower.pf.create_jacobian import create_jacobian_matrix, get_fastest_jacobian_function +from pandapower.pypower.idx_gen import GEN_BUS, GEN_STATUS, CON_FAC +from pandapower.pypower.idx_bus import BUS_I, CON_FAC def newtonpf(Ybus, Sbus, V0, pv, pq, ppci, options): @@ -49,10 +52,13 @@ def newtonpf(Ybus, Sbus, V0, pv, pq, ppci, options): baseMVA = ppci['baseMVA'] bus = ppci['bus'] gen = ppci['gen'] + contribution_factors = bus[:, CON_FAC] ## contribution factors for distributed slack # initialize i = 0 V = V0 + if dist_slack: + V = append(V, 0) Va = angle(V) Vm = abs(V) dVa, dVm = None, None @@ -73,7 +79,7 @@ def newtonpf(Ybus, Sbus, V0, pv, pq, ppci, options): pvpq_lookup[pvpq] = arange(len(pvpq)) # get jacobian function - createJ = get_fastest_jacobian_function(pvpq, pq, numba) + createJ = get_fastest_jacobian_function(pvpq, pq, numba, dist_slack) npv = len(pv) npq = len(pq) @@ -85,7 +91,7 @@ def newtonpf(Ybus, Sbus, V0, pv, pq, ppci, options): j6 = j4 + npq # j5:j6 - V mag of pq buses # evaluate F(x0) - F = _evaluate_Fx(Ybus, V, Sbus, pv, pq) + F = _evaluate_Fx(Ybus, V, Sbus, pv, pq, contribution_factors, dist_slack) converged = _check_for_convergence(F, tol) Ybus = Ybus.tocsr() @@ -96,7 +102,7 @@ def newtonpf(Ybus, Sbus, V0, pv, pq, ppci, options): # update iteration counter i = i + 1 - J = create_jacobian_matrix(Ybus, V, pvpq, pq, createJ, pvpq_lookup, npv, npq, numba) + J = create_jacobian_matrix(Ybus, V, pvpq, pq, createJ, pvpq_lookup, npv, npq, numba, contribution_factors, dist_slack) dx = -1 * spsolve(J, F, permc_spec=permc_spec, use_umfpack=use_umfpack) # update voltage @@ -121,16 +127,22 @@ def newtonpf(Ybus, Sbus, V0, pv, pq, ppci, options): if voltage_depend_loads: Sbus = makeSbus(baseMVA, bus, gen, vm=Vm) - F = _evaluate_Fx(Ybus, V, Sbus, pv, pq) + F = _evaluate_Fx(Ybus, V, Sbus, pv, pq, contribution_factors, dist_slack) converged = _check_for_convergence(F, tol) return V, converged, i, J, Vm_it, Va_it -def _evaluate_Fx(Ybus, V, Sbus, pv, pq): +def _evaluate_Fx(Ybus, V, Sbus, pv, pq, contribution_factors, dist_slack): # evalute F(x) - mis = V * conj(Ybus * V) - Sbus + if dist_slack: + # we smuggle the guess for the overall slack mismatch as the last element of V + print(V) + print(contribution_factors) + mis = V[:-1] * conj(Ybus * V[:-1]) - Sbus + contribution_factors * V[-1] + else: + mis = V * conj(Ybus * V) - Sbus F = r_[mis[pv].real, mis[pq].real, mis[pq].imag] diff --git a/pandapower/test/loadflow/test_dist_slack.py b/pandapower/test/loadflow/test_dist_slack.py new file mode 100644 index 000000000..dbf22e0bb --- /dev/null +++ b/pandapower/test/loadflow/test_dist_slack.py @@ -0,0 +1,49 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import copy +import os + +import numpy as np +import pandas as pd +import pytest + +import pandapower as pp +from pandapower.auxiliary import _check_connectivity, _add_ppc_options, lightsim2grid_available +from pandapower.networks import create_cigre_network_mv, four_loads_with_branches_out, \ + example_simple, simple_four_bus_system, example_multivoltage +from pandapower.pd2ppc import _pd2ppc +from pandapower.pf.create_jacobian import _create_J_without_numba +from pandapower.pf.run_newton_raphson_pf import _get_pf_variables_from_ppci +from pandapower.powerflow import LoadflowNotConverged +from pandapower.test.consistency_checks import runpp_with_consistency_checks +from pandapower.test.loadflow.result_test_network_generator import add_test_xward, add_test_trafo3w, \ + add_test_line, add_test_oos_bus_with_is_element, result_test_network_generator, add_test_trafo +from pandapower.test.toolbox import add_grid_connection, create_test_line, assert_net_equal +from pandapower.toolbox import nets_equal + + +def test_small_example(): + tol_mw = 1e-6 + net = pp.create_empty_network() + pp.create_buses(net, 3, 20) + pp.create_ext_grid(net, 0) + pp.create_gen(net, 1, p_mw=0, vm_pu=1) + pp.create_load(net, 1, p_mw=10, q_mvar=3) + pp.create_load(net, 2, p_mw=10, q_mvar=3) + pp.create_line(net, 0, 1, 2, "122-AL1/20-ST1A 20.0") + pp.create_line(net, 1, 2, 2, "122-AL1/20-ST1A 20.0") + net.ext_grid["contribution_factor"] = 0 + # if no dspf is given for ext_grid, 1 is assumed, because normally + # ext_grids are responsible to take the slack power + net.gen["contribution_factor"] = 1 + + pp.runpp(net, distributed_slack=True, numba=False) + + +if __name__ == "__main__": + pytest.main([__file__]) + diff --git a/pandapower/test/loadflow/test_runpp.py b/pandapower/test/loadflow/test_runpp.py index 65ca6064e..146b229ee 100644 --- a/pandapower/test/loadflow/test_runpp.py +++ b/pandapower/test/loadflow/test_runpp.py @@ -805,8 +805,9 @@ def test_get_internal(): baseMVA, bus, gen, branch, ref, pv, pq, _, _, V0, _ = _get_pf_variables_from_ppci(ppci) pvpq = np.r_[pv, pq] + dist_slack = False - J = _create_J_without_numba(Ybus, V, pvpq, pq) + J = _create_J_without_numba(Ybus, V, pvpq, pq, contribution_factors, dist_slack) assert sum(sum(abs(abs(J.toarray()) - abs(J_intern.toarray())))) < 0.05 # get J for all other algorithms From a5b75b4dad2100ee94f26939c9d3949baca5ecbe Mon Sep 17 00:00:00 2001 From: U_F_O Date: Fri, 26 Mar 2021 17:37:49 +0100 Subject: [PATCH 040/422] entrance to PandaModels --- .../PpPmInterface/test/create_test_json.py | 2 +- .../opf/PpPmInterface/test/data/test_ots.json | 1 + .../PpPmInterface/test/data/test_tnep.json | 1 + pandapower/opf/PpPmInterface/test/runtests.jl | 27 +++++++++---------- pandapower/opf/run_powermodels.py | 20 +++++++++----- pandapower/runpm.py | 18 ++++++++----- pandapower/test/opf/test_powermodels.py | 27 +++++++++---------- 7 files changed, 55 insertions(+), 41 deletions(-) create mode 100644 pandapower/opf/PpPmInterface/test/data/test_ots.json create mode 100644 pandapower/opf/PpPmInterface/test/data/test_tnep.json diff --git a/pandapower/opf/PpPmInterface/test/create_test_json.py b/pandapower/opf/PpPmInterface/test/create_test_json.py index f40a426d0..c6c2f384b 100644 --- a/pandapower/opf/PpPmInterface/test/create_test_json.py +++ b/pandapower/opf/PpPmInterface/test/create_test_json.py @@ -77,5 +77,5 @@ test_net = convert_pp_to_pm(net, pm_file_path=json_path, correct_pm_network_data=True, calculate_voltage_angles=True, ac=True, trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, - pp_to_pm_callback=None, pm_model="DCPowerModel", pm_solver="ipopt", + pp_to_pm_callback=None, pm_model="DCPPowerModel", pm_solver="ipopt", pm_mip_solver="cbc", pm_nl_solver="ipopt") diff --git a/pandapower/opf/PpPmInterface/test/data/test_ots.json b/pandapower/opf/PpPmInterface/test/data/test_ots.json new file mode 100644 index 000000000..4e950cb9c --- /dev/null +++ b/pandapower/opf/PpPmInterface/test/data/test_ots.json @@ -0,0 +1 @@ +{"gen": {"1": {"pg": 0.0, "qg": 0.0, "gen_bus": 4, "vg": 1.0, "qmax": 150.00000001, "gen_status": 1, "qmin": -150.00000001, "pmin": -1e-08, "pmax": 200.00000001, "index": 1, "model": 2, "ncost": 3, "cost": [0, 40.0, 0.0]}, "2": {"pg": 40.0, "qg": 0.0, "gen_bus": 1, "vg": 1.0, "qmax": 30.00000001, "gen_status": 1, "qmin": -30.00000001, "pmin": -1e-08, "pmax": 40.00000001, "index": 2, "model": 2, "ncost": 3, "cost": [0, 14.0, 0.0]}, "3": {"pg": 323.49, "qg": 0.0, "gen_bus": 3, "vg": 1.0, "qmax": 390.00000001, "gen_status": 1, "qmin": -390.00000001, "pmin": -1e-08, "pmax": 520.00000001, "index": 3, "model": 2, "ncost": 3, "cost": [0, 30.0, 0.0]}, "4": {"pg": 466.51, "qg": 0.0, "gen_bus": 5, "vg": 1.0, "qmax": 450.00000001, "gen_status": 1, "qmin": -450.00000001, "pmin": -1e-08, "pmax": 600.00000001, "index": 4, "model": 2, "ncost": 3, "cost": [0, 10.0, 0.0]}, "5": {"pg": 170.0, "qg": 0.0, "gen_bus": 1, "vg": 1.0, "qmax": 127.50000001, "gen_status": 1, "qmin": -127.50000001, "pmin": -1e-08, "pmax": 170.00000001, "index": 5, "model": 2, "ncost": 3, "cost": [0, 15.0, 0.0]}}, "branch": {"1": {"index": 1, "transformer": false, "br_r": 2.8100000000000002e-05, "br_x": 0.000281, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.3559999999999999, "b_to": 0.3559999999999999, "rate_a": 399.99999999999994, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 1, "t_bus": 2, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "2": {"index": 2, "transformer": false, "br_r": 3.04e-05, "br_x": 0.000304, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.329, "b_to": 0.329, "rate_a": 39836770.202398434, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 1, "t_bus": 4, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "3": {"index": 3, "transformer": false, "br_r": 6.4000000000000006e-06, "br_x": 6.4e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.5630000000000002, "b_to": 1.5630000000000002, "rate_a": 39836770.202398434, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 1, "t_bus": 5, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "4": {"index": 4, "transformer": false, "br_r": 1.0800000000000002e-05, "br_x": 0.000108, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.9259999999999999, "b_to": 0.9259999999999999, "rate_a": 39836770.202398434, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 2, "t_bus": 3, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "5": {"index": 5, "transformer": false, "br_r": 2.9699999999999997e-05, "br_x": 0.000297, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.337, "b_to": 0.337, "rate_a": 39836770.202398434, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 4, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "6": {"index": 6, "transformer": false, "br_r": 2.9699999999999997e-05, "br_x": 0.000297, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.337, "b_to": 0.337, "rate_a": 240.00000000000156, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 4, "t_bus": 5, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}}, "bus": {"1": {"index": 1, "bus_i": 1, "zone": 1, "bus_type": 2, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 230.0}, "2": {"index": 2, "bus_i": 2, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 230.0}, "3": {"index": 3, "bus_i": 3, "zone": 1, "bus_type": 2, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 230.0}, "4": {"index": 4, "bus_i": 4, "zone": 1, "bus_type": 3, "vmax": 1.00000001, "vmin": 0.99999999, "va": 0.0, "vm": 1.0, "base_kv": 230.0}, "5": {"index": 5, "bus_i": 5, "zone": 1, "bus_type": 2, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 230.0}}, "dcline": {}, "load": {"1": {"pd": 300.0, "qd": 98.61, "load_bus": 2, "status": 1, "index": 1}, "2": {"pd": 300.0, "qd": 98.61, "load_bus": 3, "status": 1, "index": 2}, "3": {"pd": 400.0, "qd": 131.47, "load_bus": 4, "status": 1, "index": 3}}, "storage": {}, "ne_branch": {}, "switch": {}, "baseMVA": 1.0, "source_version": "2.0.0", "shunt": {}, "sourcetype": "matpower", "per_unit": true, "name": "", "pm_solver": "ipopt", "pm_mip_solver": "cbc", "pm_nl_solver": "ipopt", "pm_model": "DCPPowerModel", "pm_log_level": 0, "pm_time_limit": Infinity, "pm_nl_time_limit": Infinity, "pm_mip_time_limit": Infinity, "correct_pm_network_data": true} diff --git a/pandapower/opf/PpPmInterface/test/data/test_tnep.json b/pandapower/opf/PpPmInterface/test/data/test_tnep.json new file mode 100644 index 000000000..645461cfc --- /dev/null +++ b/pandapower/opf/PpPmInterface/test/data/test_tnep.json @@ -0,0 +1 @@ +{"gen": {"1": {"pg": 9.51327, "qg": 0.0, "gen_bus": 1, "vg": 1.01, "qmax": 1000000000.0, "gen_status": 1, "qmin": -1000000000.0, "pmin": -1e-08, "pmax": 200.00000001, "index": 1, "model": 2, "ncost": 3, "cost": [0, 1.0, 0.0]}, "2": {"pg": 78.403291, "qg": 0.0, "gen_bus": 2, "vg": 1.01, "qmax": 1000000000.0, "gen_status": 1, "qmin": -1000000000.0, "pmin": -1e-08, "pmax": 200.00000001, "index": 2, "model": 2, "ncost": 3, "cost": [0, 3.0, 0.0]}, "3": {"pg": 92.375601, "qg": 0.0, "gen_bus": 3, "vg": 1.01, "qmax": 1000000000.0, "gen_status": 1, "qmin": -1000000000.0, "pmin": -1e-08, "pmax": 200.00000001, "index": 3, "model": 2, "ncost": 3, "cost": [0, 3.0, 0.0]}}, "branch": {"1": {"index": 1, "transformer": false, "br_r": 0.0011223140495867769, "br_x": 0.002371900826446281, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.164156427695868, "b_to": 1.164156427695868, "rate_a": 17.90940535026219, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 1, "t_bus": 2, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "2": {"index": 2, "transformer": false, "br_r": 0.0008016528925619836, "br_x": 0.0016942148760330578, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.8315403054970485, "b_to": 0.8315403054970485, "rate_a": 17.90940535026219, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 1, "t_bus": 3, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "3": {"index": 3, "transformer": false, "br_r": 0.001603305785123967, "br_x": 0.0033884297520661156, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.663080610994097, "b_to": 1.663080610994097, "rate_a": 17.90940535026219, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 1, "t_bus": 4, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}}, "bus": {"1": {"index": 1, "bus_i": 1, "zone": 1, "bus_type": 3, "vmax": 1.05, "vmin": 0.95, "va": 0.0, "vm": 1.01, "base_kv": 110.0}, "2": {"index": 2, "bus_i": 2, "zone": 1, "bus_type": 2, "vmax": 1.05, "vmin": 0.95, "va": 0.0, "vm": 1.01, "base_kv": 110.0}, "3": {"index": 3, "bus_i": 3, "zone": 1, "bus_type": 2, "vmax": 1.05, "vmin": 0.95, "va": 0.0, "vm": 1.01, "base_kv": 110.0}, "4": {"index": 4, "bus_i": 4, "zone": 1, "bus_type": 1, "vmax": 1.05, "vmin": 0.95, "va": 0.0, "vm": 1.0, "base_kv": 110.0}}, "dcline": {}, "load": {"1": {"pd": 60.0, "qd": 0.0, "load_bus": 2, "status": 1, "index": 1}, "2": {"pd": 70.0, "qd": 0.0, "load_bus": 3, "status": 1, "index": 2}, "3": {"pd": 50.0, "qd": 0.0, "load_bus": 4, "status": 1, "index": 3}}, "storage": {}, "ne_branch": {"1": {"index": 1, "transformer": false, "br_r": 7.84297520661157e-05, "br_x": 0.00031404958677685947, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1748610470988079, "b_to": 0.1748610470988079, "rate_a": 28.19778714722132, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 1, "t_bus": 4, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0, "construction_cost": 10.0}, "2": {"index": 2, "transformer": false, "br_r": 0.00032066115702479337, "br_x": 0.0006776859504132231, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.3326161221988194, "b_to": 0.3326161221988194, "rate_a": 17.90940535026219, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 2, "t_bus": 4, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0, "construction_cost": 20.0}, "3": {"index": 3, "transformer": false, "br_r": 0.00048099173553719013, "br_x": 0.0010165289256198345, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.49892418329822913, "b_to": 0.49892418329822913, "rate_a": 17.90940535026219, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 4, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0, "construction_cost": 30.0}, "4": {"index": 4, "transformer": false, "br_r": 0.0006413223140495867, "br_x": 0.0013553719008264462, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.6652322443976388, "b_to": 0.6652322443976388, "rate_a": 17.90940535026219, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 4, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0, "construction_cost": 45.0}}, "switch": {}, "baseMVA": 1, "source_version": "2.0.0", "shunt": {}, "sourcetype": "matpower", "per_unit": true, "name": "", "pm_solver": "ipopt", "pm_mip_solver": "cbc", "pm_nl_solver": "ipopt", "pm_model": "DCPPowerModel", "pm_log_level": 0, "pm_time_limit": Infinity, "pm_nl_time_limit": Infinity, "pm_mip_time_limit": Infinity, "correct_pm_network_data": true} diff --git a/pandapower/opf/PpPmInterface/test/runtests.jl b/pandapower/opf/PpPmInterface/test/runtests.jl index c8f277dcb..959be5bf3 100644 --- a/pandapower/opf/PpPmInterface/test/runtests.jl +++ b/pandapower/opf/PpPmInterface/test/runtests.jl @@ -14,14 +14,13 @@ test_path=joinpath(pwd(), "pandapower", "opf", "PpPmInterface", "test", "data") test_net=joinpath(test_path, "pm_test.json") test_ipopt = joinpath(test_path, "test_ipopt.json") test_Gurobi = joinpath(test_path, "test_Gurobi.json") #use gurobi to solve +test_ots = joinpath(test_path, "test_ots.json") +test_tnep = joinpath(test_path, "test_tnep.json") @testset "test converting net from pandapower to pm" begin - @testset " simbench grid 1-HV-urban--0-sw with ipopt solver for DCOPF" begin - - json_path = joinpath(test_path, "test_ipopt.json") - - pm = PpPmInterface.load_pm_from_json(json_path) +# simbench grid 1-HV-urban--0-sw with ipopt solver + pm = PpPmInterface.load_pm_from_json(test_ipopt) @test length(pm["bus"]) == 82 @test length(pm["gen"]) == 1 @@ -36,7 +35,6 @@ test_Gurobi = joinpath(test_path, "test_Gurobi.json") #use gurobi to solve pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) @test string(solver.optimizer_constructor) == "Ipopt.Optimizer" - end # TODO: you can copy the test above and change some conditions, such as solver or model or even the grid and run test for it # @testset " simbench grid 1-HV-urban--0-sw with Gurobi solver for ACOPF" begin @@ -53,18 +51,15 @@ test_Gurobi = joinpath(test_path, "test_Gurobi.json") #use gurobi to solve end @testset "test run_powermodels" begin - @testset " simbench grid 1-HV-urban--0-sw with ipopt solver for DCOPF" begin +# simbench grid 1-HV-urban--0-sw with ipopt solver - json_path = joinpath(test_path, "test_ipopt.json") - - result=run_powermodels(json_path) + result=run_powermodels(test_ipopt) @test typeof(result) == Dict{String,Any} @test string(result["termination_status"]) == "LOCALLY_SOLVED" @test isapprox(result["objective"], -96.1; atol = 1e0) @test result["solve_time"] >= 0 - end # TODO: you can copy the test above and change some conditions, such as solver or model or even the grid and run test for it end @@ -80,17 +75,21 @@ end # end result=run_powermodels(test_ipopt) @test isa(result, Dict{String,Any}) + string(result["termination_status"]) == "LOCALLY_SOLVED" @test result["solve_time"]>=0 # result=run_powermodels_mn_storage(test_Gurobi) # @test isa(result, Dict{String,Any}) # @test result["solve_time"]>=0 - result=run_powermodels_ots(test_net) #use Gurobi + result=run_powermodels_ots(test_ots) @test isa(result, Dict{String,Any}) + string(result["termination_status"]) == "LOCALLY_SOLVED" @test result["solve_time"]>=0 - result=run_powermodels_powerflow(test_ipopt) + result=run_powermodels_powerflow(test_Gurobi) @test isa(result, Dict{String,Any}) + string(result["termination_status"]) == "LOCALLY_SOLVED" @test result["solve_time"]>=0 - result=run_powermodels_tnep(test_ipopt) + result=run_powermodels_tnep(test_tnep) @test isa(result, Dict{String,Any}) + string(result["termination_status"]) == "LOCALLY_SOLVED" @test result["solve_time"]>=0 end diff --git a/pandapower/opf/run_powermodels.py b/pandapower/opf/run_powermodels.py index 5994e57f9..c7111e5df 100644 --- a/pandapower/opf/run_powermodels.py +++ b/pandapower/opf/run_powermodels.py @@ -47,6 +47,7 @@ def _call_powermodels(buffer_file, julia_file): # pragma: no cover import julia from julia import Main from julia import Pkg + from julia import Base except ImportError: raise ImportError("Please install pyjulia to run pandapower with PowerModels.jl") try: @@ -56,11 +57,18 @@ def _call_powermodels(buffer_file, julia_file): # pragma: no cover "Could not connect to julia, please check that Julia is installed and pyjulia is correctly configured") # import two julia scripts and runs powermodels julia_file - Pkg.activate(os.path.join(pp_dir, "opf", "PpPmInterface")) - Main.using("PpPmInterface") - if not os.path.isfile(julia_file): - raise UserWarning("File %s could not be imported" % julia_file) + try: + Pkg_path = Base.find_package("PandaModels").split(".jl")[0] + except: + Pkg.add(url = "https://github.com/e2nIEE/PandaModels.jl") + Pkg.build() + Pkg.resolve() + Pkg.activate(Pkg_path) + Main.using("PandaModels") + # if not os.path.isfile(julia_file): + # raise UserWarning("File %s could not be imported" % julia_file) Main.buffer_file = buffer_file - exec_fun = julia_file.split("/")[-1].split(".")[0] - result_pm = Main.eval(exec_fun+"(buffer_file)") + # exec_fun = julia_file.split("/")[-1].split(".")[0] + print(julia_file) + result_pm = Main.eval(julia_file+"(buffer_file)") return result_pm diff --git a/pandapower/runpm.py b/pandapower/runpm.py index 46e649e38..ddbc7e436 100644 --- a/pandapower/runpm.py +++ b/pandapower/runpm.py @@ -87,7 +87,8 @@ def runpm(net, julia_file=None, pp_to_pm_callback=None, calculate_voltage_angles """ net._options = {} ac = True if "DC" not in pm_model else False - julia_file = os.path.join(pp_dir, "opf", "PpPmInterface", "src", "pm_models", 'run_powermodels.jl') if julia_file is None else julia_file + # julia_file = os.path.join(pp_dir, "opf", "PpPmInterface", "src", "pm_models", 'run_powermodels.jl') if julia_file is None else julia_file + julia_file = "run_powermodels" if julia_file is None else julia_file _add_ppc_options(net, calculate_voltage_angles=calculate_voltage_angles, trafo_model=trafo_model, check_connectivity=check_connectivity, mode="opf", switch_rx_ratio=2, init_vm_pu="flat", init_va_degree="flat", @@ -153,7 +154,8 @@ def runpm_dc_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, **pm_log_level** (int, 0) - solver log level in power models """ - julia_file = os.path.join(pp_dir, "opf", "PpPmInterface", "src", "pm_models", 'run_powermodels.jl') + # julia_file = os.path.join(pp_dir, "opf", "PpPmInterface", "src", "pm_models", 'run_powermodels.jl') + julia_file = "run_powermodels" ac = True if "DC" not in pm_model else False net._options = {} @@ -235,7 +237,8 @@ def runpm_ac_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, you want to keep the file after optimization, you should also set delete_buffer_file to False! """ - julia_file = os.path.join(pp_dir, "opf", "PpPmInterface", "src", "pm_models", 'run_powermodels.jl') + # julia_file = os.path.join(pp_dir, "opf", "PpPmInterface", "src", "pm_models", 'run_powermodels.jl') + julia_file = "run_powermodels" ac = True if "DC" not in pm_model else False net._options = {} @@ -278,7 +281,8 @@ def runpm_tnep(net, pp_to_pm_callback=None, calculate_voltage_angles=True, **pm_log_level** (int, 0) - solver log level in power models """ - julia_file = os.path.join(pp_dir, "opf", "PpPmInterface", "src", "pm_models", 'run_powermodels_tnep.jl') + # julia_file = os.path.join(pp_dir, "opf", "PpPmInterface", "src", "pm_models", 'run_powermodels_tnep.jl') + julia_file = "run_powermodels_tnep" ac = True if "DC" not in pm_model else False if pm_solver is None: if pm_model == "DCPPowerModel": @@ -332,7 +336,8 @@ def runpm_ots(net, pp_to_pm_callback=None, calculate_voltage_angles=True, """ - julia_file = os.path.join(pp_dir, "opf", "PpPmInterface", "src", "pm_models", 'run_powermodels_ots.jl') + # julia_file = os.path.join(pp_dir, "opf", "PpPmInterface", "src", "pm_models", 'run_powermodels_ots.jl') + julia_file = "run_powermodels_ots" ac = True if "DC" not in pm_model else False if pm_solver is None: pm_solver = "juniper" @@ -373,7 +378,8 @@ def runpm_storage_opf(net, calculate_voltage_angles=True, **pm_log_level** (int, 0) - solver log level in power models """ - julia_file = os.path.join(pp_dir, "opf", "PpPmInterface", "src", "pm_models", 'run_powermodels_mn_storage.jl') + # julia_file = os.path.join(pp_dir, "opf", "PpPmInterface", "src", "pm_models", 'run_powermodels_mn_storage.jl') + julia_file = "run_powermodels_mn_storage" ac = True if "DC" not in pm_model else False net._options = {} _add_ppc_options(net, calculate_voltage_angles=calculate_voltage_angles, diff --git a/pandapower/test/opf/test_powermodels.py b/pandapower/test/opf/test_powermodels.py index fe0805cc1..11327ed5a 100644 --- a/pandapower/test/opf/test_powermodels.py +++ b/pandapower/test/opf/test_powermodels.py @@ -297,10 +297,9 @@ def test_voltage_angles(): net.bus.loc[:, "max_vm_pu"] = 1.1 net.bus.loc[:, "min_vm_pu"] = .9 - # custom_file = os.path.join(os.path.abspath(os.path.dirname(pp.test.__file__)), - # "test_files", "run_powermodels_custom.jl") - custom_file = os.path.join(pp_dir, "opf", "PpPmInterface", "src", "pm_models", "run_powermodels.jl") + # custom_file = os.path.join(pp_dir, "opf", "PpPmInterface", "src", "pm_models", "run_powermodels.jl") + custom_file = "run_powermodels" # load is zero since costs are high. PF results should be the same as OPF net.load.loc[1, "p_mw"] = 0. pp.runpp(net, calculate_voltage_angles=True) @@ -455,8 +454,8 @@ def test_ots_opt(): def assert_pf(net, dc=False): # custom_file = os.path.join(os.path.abspath(os.path.dirname(pp.__file__)), # "opf", "run_powermodels_powerflow.jl") - custom_file = os.path.join(pp_dir, "opf", "PpPmInterface", "src", "pm_models", "run_powermodels.jl") - + # custom_file = os.path.join(pp_dir, "opf", "PpPmInterface", "src", "pm_models", "run_powermodels.jl") + custom_file = "run_powermodels" if dc: # see https://github.com/lanl-ansi/PowerModels.jl/issues/612 for details pp.runpm(net, julia_file=custom_file, pm_model="DCMPPowerModel") @@ -578,13 +577,13 @@ def test_timeseries_powermodels(): if __name__ == '__main__': # all run_powermodels_custom are setting julia_file to run_powermodels.jl - test_pwl() - test_without_ext_grid() - test_multiple_ext_grids() - test_ots_opt() - test_pm_tnep() - test_compare_pwl_and_poly(net_3w_trafo_opf) + # test_pwl() + # test_without_ext_grid() + # test_multiple_ext_grids() + # test_ots_opt() + # test_pm_tnep() + # test_compare_pwl_and_poly(net_3w_trafo_opf) # test_storage_opt() # missing net._options["opf_flow_lim"] - test_voltage_angles() - test_timeseries_powermodels() - # pytest.main([__file__]) + # test_voltage_angles() + # test_timeseries_powermodels() + pytest.main([__file__]) From 1b5ba06c7260a57853d619e59a3582e7be0e1017 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Fri, 26 Mar 2021 17:53:26 +0100 Subject: [PATCH 041/422] delete the old local julia pkg --- pandapower/opf/PpPmInterface/Manifest.toml | 488 ------------------ pandapower/opf/PpPmInterface/Project.toml | 23 - pandapower/opf/PpPmInterface/README.md | 28 - .../opf/PpPmInterface/src/PpPmInterface.jl | 52 -- .../opf/PpPmInterface/src/input/pp_to_pm.jl | 87 ---- .../src/pm_models/run_powermodels.jl | 51 -- .../pm_models/run_powermodels_mn_storage.jl | 55 -- .../src/pm_models/run_powermodels_ots.jl | 13 - .../pm_models/run_powermodels_powerflow.jl | 17 - .../src/pm_models/run_powermodels_tnep.jl | 13 - .../opf/PpPmInterface/src/run_powermodels.jl | 140 ----- .../PpPmInterface/test/create_test_json.py | 81 --- .../opf/PpPmInterface/test/data/pm_test.json | 1 - .../PpPmInterface/test/data/test_Gurobi.json | 1 - .../PpPmInterface/test/data/test_ipopt.json | 1 - .../opf/PpPmInterface/test/data/test_net.json | 1 - .../opf/PpPmInterface/test/data/test_ots.json | 1 - .../PpPmInterface/test/data/test_tnep.json | 1 - pandapower/opf/PpPmInterface/test/runtests.jl | 95 ---- 19 files changed, 1149 deletions(-) delete mode 100644 pandapower/opf/PpPmInterface/Manifest.toml delete mode 100644 pandapower/opf/PpPmInterface/Project.toml delete mode 100644 pandapower/opf/PpPmInterface/README.md delete mode 100644 pandapower/opf/PpPmInterface/src/PpPmInterface.jl delete mode 100644 pandapower/opf/PpPmInterface/src/input/pp_to_pm.jl delete mode 100644 pandapower/opf/PpPmInterface/src/pm_models/run_powermodels.jl delete mode 100644 pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_mn_storage.jl delete mode 100644 pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_ots.jl delete mode 100644 pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_powerflow.jl delete mode 100644 pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_tnep.jl delete mode 100644 pandapower/opf/PpPmInterface/src/run_powermodels.jl delete mode 100644 pandapower/opf/PpPmInterface/test/create_test_json.py delete mode 100644 pandapower/opf/PpPmInterface/test/data/pm_test.json delete mode 100644 pandapower/opf/PpPmInterface/test/data/test_Gurobi.json delete mode 100644 pandapower/opf/PpPmInterface/test/data/test_ipopt.json delete mode 100644 pandapower/opf/PpPmInterface/test/data/test_net.json delete mode 100644 pandapower/opf/PpPmInterface/test/data/test_ots.json delete mode 100644 pandapower/opf/PpPmInterface/test/data/test_tnep.json delete mode 100644 pandapower/opf/PpPmInterface/test/runtests.jl diff --git a/pandapower/opf/PpPmInterface/Manifest.toml b/pandapower/opf/PpPmInterface/Manifest.toml deleted file mode 100644 index 1c6e6257c..000000000 --- a/pandapower/opf/PpPmInterface/Manifest.toml +++ /dev/null @@ -1,488 +0,0 @@ -# This file is machine-generated - editing it directly is not advised - -[[ASL_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "fc1716d806dd345db9fd82e93f2186771fe6df13" -uuid = "ae81ac8f-d209-56e5-92de-9978fef736f9" -version = "0.1.1+4" - -[[ArrayInterface]] -deps = ["LinearAlgebra", "Requires", "SparseArrays"] -git-tree-sha1 = "7b26f0015d9459082a16ebe3fe934c4abb8f1327" -uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9" -version = "2.2.0" - -[[Artifacts]] -deps = ["Pkg"] -git-tree-sha1 = "c30985d8821e0cd73870b17b0ed0ce6dc44cb744" -uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" -version = "1.3.0" - -[[Base64]] -uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" - -[[BenchmarkTools]] -deps = ["JSON", "Logging", "Printf", "Statistics", "UUIDs"] -git-tree-sha1 = "9e62e66db34540a0c919d72172cc2f642ac71260" -uuid = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" -version = "0.5.0" - -[[BinDeps]] -deps = ["Libdl", "Pkg", "SHA", "URIParser", "Unicode"] -git-tree-sha1 = "1289b57e8cf019aede076edab0587eb9644175bd" -uuid = "9e28174c-4ba2-5203-b857-d8d62c4213ee" -version = "1.0.2" - -[[BinaryProvider]] -deps = ["Libdl", "Logging", "SHA"] -git-tree-sha1 = "ecdec412a9abc8db54c0efc5548c64dfce072058" -uuid = "b99e7846-7c00-51b0-8f62-c81ae34c0232" -version = "0.5.10" - -[[CEnum]] -git-tree-sha1 = "215a9aa4a1f23fbd05b92769fdd62559488d70e9" -uuid = "fa961155-64e5-5f13-b03f-caf6b980ea82" -version = "0.4.1" - -[[Calculus]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "f641eb0a4f00c343bbc32346e1217b86f3ce9dad" -uuid = "49dc2e85-a5d0-5ad3-a950-438e2897f1b9" -version = "0.5.1" - -[[Cbc]] -deps = ["BinaryProvider", "CEnum", "Cbc_jll", "Libdl", "MathOptInterface", "SparseArrays"] -git-tree-sha1 = "929d0500c50387e7ac7ae9956ca7d7ce5312c90d" -uuid = "9961bab8-2fa3-5c5a-9d89-47fab24efd76" -version = "0.7.1" - -[[Cbc_jll]] -deps = ["Artifacts", "Cgl_jll", "Clp_jll", "CoinUtils_jll", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "OpenBLAS32_jll", "Osi_jll", "Pkg"] -git-tree-sha1 = "aac604eecf9d882ae72f192e3ba2c1594a62f5ea" -uuid = "38041ee0-ae04-5750-a4d2-bb4d0d83d27d" -version = "2.10.3+5" - -[[Cgl_jll]] -deps = ["Artifacts", "Clp_jll", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "0c41f887cca7e95e7ca1cda5bd6e82e6f43b317d" -uuid = "3830e938-1dd0-5f3e-8b8e-b3ee43226782" -version = "0.60.2+6" - -[[Clp_jll]] -deps = ["Artifacts", "CoinUtils_jll", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "OpenBLAS32_jll", "Osi_jll", "Pkg"] -git-tree-sha1 = "d9eca9fa2435959b5542b13409a8ec5f64c947c8" -uuid = "06985876-5285-5a41-9fcb-8948a742cc53" -version = "1.17.6+7" - -[[CodecBzip2]] -deps = ["BinaryProvider", "Libdl", "TranscodingStreams"] -git-tree-sha1 = "5db086e510c11b4c87d05067627eadb2dc079995" -uuid = "523fee87-0ab8-5b00-afb7-3ecf72e48cfd" -version = "0.6.0" - -[[CodecZlib]] -deps = ["BinaryProvider", "Libdl", "TranscodingStreams"] -git-tree-sha1 = "05916673a2627dd91b4969ff8ba6941bc85a960e" -uuid = "944b1d66-785c-5afd-91f1-9de20f533193" -version = "0.6.0" - -[[CoinUtils_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "OpenBLAS32_jll", "Pkg"] -git-tree-sha1 = "5186155a8609b71eae7e104fa2b8fbf6ecd5d9bb" -uuid = "be027038-0da8-5614-b30d-e42594cb92df" -version = "2.11.3+4" - -[[CommonSubexpressions]] -deps = ["MacroTools", "Test"] -git-tree-sha1 = "7b8a93dba8af7e3b42fecabf646260105ac373f7" -uuid = "bbf7d656-a473-5ed7-a52c-81e309532950" -version = "0.3.0" - -[[Compat]] -deps = ["Base64", "Dates", "DelimitedFiles", "Distributed", "InteractiveUtils", "LibGit2", "Libdl", "LinearAlgebra", "Markdown", "Mmap", "Pkg", "Printf", "REPL", "Random", "SHA", "Serialization", "SharedArrays", "Sockets", "SparseArrays", "Statistics", "Test", "UUIDs", "Unicode"] -git-tree-sha1 = "919c7f3151e79ff196add81d7f4e45d91bbf420b" -uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" -version = "3.25.0" - -[[CompilerSupportLibraries_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "8e695f735fca77e9708e795eda62afdb869cbb70" -uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" -version = "0.3.4+0" - -[[DataStructures]] -deps = ["Compat", "InteractiveUtils", "OrderedCollections"] -git-tree-sha1 = "4437b64df1e0adccc3e5d1adbc3ac741095e4677" -uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" -version = "0.18.9" - -[[Dates]] -deps = ["Printf"] -uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" - -[[DelimitedFiles]] -deps = ["Mmap"] -uuid = "8bb1440f-4735-579b-a4ab-409b98df4dab" - -[[DiffEqDiffTools]] -deps = ["ArrayInterface", "LinearAlgebra", "Requires", "SparseArrays", "StaticArrays"] -git-tree-sha1 = "951600cc05d9626c3282e2ed125492931596e430" -uuid = "01453d9d-ee7c-5054-8395-0335cb756afa" -version = "1.6.0" - -[[DiffResults]] -deps = ["StaticArrays"] -git-tree-sha1 = "c18e98cba888c6c25d1c3b048e4b3380ca956805" -uuid = "163ba53b-c6d8-5494-b064-1a9d43ac40c5" -version = "1.0.3" - -[[DiffRules]] -deps = ["NaNMath", "Random", "SpecialFunctions"] -git-tree-sha1 = "214c3fcac57755cfda163d91c58893a8723f93e9" -uuid = "b552c78f-8df3-52c6-915a-8e097449b14b" -version = "1.0.2" - -[[Distances]] -deps = ["LinearAlgebra", "Statistics"] -git-tree-sha1 = "e8b13ba5f166e11df2de6fc283e5db7864245df0" -uuid = "b4f34e82-e78d-54a5-968a-f98e89d6e8f7" -version = "0.10.0" - -[[Distributed]] -deps = ["Random", "Serialization", "Sockets"] -uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" - -[[ExprTools]] -git-tree-sha1 = "10407a39b87f29d47ebaca8edbc75d7c302ff93e" -uuid = "e2ba6199-217a-4e67-a87a-7c52f15ade04" -version = "0.1.3" - -[[EzXML]] -deps = ["BinaryProvider", "Libdl", "Printf"] -git-tree-sha1 = "ed53ce1ddb862193b2bd3851dfa108513aab2d5c" -uuid = "8f5d6c58-4d21-5cfd-889c-e3ad7ee6a615" -version = "1.0.0" - -[[ForwardDiff]] -deps = ["CommonSubexpressions", "DiffResults", "DiffRules", "NaNMath", "Random", "SpecialFunctions", "StaticArrays"] -git-tree-sha1 = "c26b56e9b9f0687f7ca887f6b6ded03d269e0e35" -uuid = "f6369f11-7733-5829-9624-2563aa707210" -version = "0.10.15" - -[[Gurobi]] -deps = ["CEnum", "Libdl", "MathOptInterface"] -git-tree-sha1 = "87c818dc7da7f7927cda470fda06bc2d05881d46" -uuid = "2e9cd046-0924-5485-92f1-d5272153d98b" -version = "0.9.7" - -[[HTTP]] -deps = ["Base64", "Dates", "IniFile", "MbedTLS", "Sockets", "URIs"] -git-tree-sha1 = "63055ee44b5c2b95ec1921edcf856c60124ff0c3" -uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3" -version = "0.9.2" - -[[InfrastructureModels]] -deps = ["JuMP", "MathOptInterface", "Memento"] -git-tree-sha1 = "063b6445c571530af740d46f9dd9d0a5a50bc8c9" -uuid = "2030c09a-7f63-5d83-885d-db604e0e9cc0" -version = "0.5.4" - -[[IniFile]] -deps = ["Test"] -git-tree-sha1 = "098e4d2c533924c921f9f9847274f2ad89e018b8" -uuid = "83e8ac13-25f8-5344-8a64-a9f2b223428f" -version = "0.5.0" - -[[InteractiveUtils]] -deps = ["Markdown"] -uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" - -[[Ipopt]] -deps = ["BinaryProvider", "Ipopt_jll", "Libdl", "LinearAlgebra", "MathOptInterface", "MathProgBase"] -git-tree-sha1 = "7c526d73eeacf6495e694e8309f3c89d4b5f8912" -uuid = "b6b21f68-93f8-5de0-b562-5493be1d77c9" -version = "0.6.5" - -[[Ipopt_jll]] -deps = ["ASL_jll", "Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "MUMPS_seq_jll", "OpenBLAS32_jll", "Pkg"] -git-tree-sha1 = "91c4f42e86e4c18d9399f962045513e1ec29abad" -uuid = "9cc047cb-c261-5740-88fc-0cf96f7bdcc7" -version = "3.13.2+1" - -[[JLLWrappers]] -git-tree-sha1 = "a431f5f2ca3f4feef3bd7a5e94b8b8d4f2f647a0" -uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" -version = "1.2.0" - -[[JSON]] -deps = ["Dates", "Mmap", "Parsers", "Unicode"] -git-tree-sha1 = "81690084b6198a2e1da36fcfda16eeca9f9f24e4" -uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" -version = "0.21.1" - -[[JSONSchema]] -deps = ["HTTP", "JSON", "ZipFile"] -git-tree-sha1 = "b84ab8139afde82c7c65ba2b792fe12e01dd7307" -uuid = "7d188eb4-7ad8-530c-ae41-71a32a6d4692" -version = "0.3.3" - -[[JuMP]] -deps = ["Calculus", "DataStructures", "ForwardDiff", "JSON", "LinearAlgebra", "MathOptInterface", "MutableArithmetics", "NaNMath", "Random", "SparseArrays", "Statistics"] -git-tree-sha1 = "57c17a221a55f81890aabf00f478886859e25eaf" -uuid = "4076af6c-e467-56ae-b986-b466b2749572" -version = "0.21.5" - -[[Juniper]] -deps = ["Distributed", "JSON", "JuMP", "LinearAlgebra", "MathOptInterface", "Random", "Statistics"] -git-tree-sha1 = "bba4082358fea81054955e70d48c908989a975da" -uuid = "2ddba703-00a4-53a7-87a5-e8b9971dde84" -version = "0.6.5" - -[[LibGit2]] -deps = ["Printf"] -uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" - -[[Libdl]] -uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" - -[[LineSearches]] -deps = ["LinearAlgebra", "NLSolversBase", "NaNMath", "Parameters", "Printf"] -git-tree-sha1 = "f27132e551e959b3667d8c93eae90973225032dd" -uuid = "d3d80556-e9d4-5f37-9878-2ab0fcc64255" -version = "7.1.1" - -[[LinearAlgebra]] -deps = ["Libdl"] -uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" - -[[Logging]] -uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" - -[[METIS_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "2dc1a9fc87e57e32b1fc186db78811157b30c118" -uuid = "d00139f3-1899-568f-a2f0-47f597d42d70" -version = "5.1.0+5" - -[[MUMPS_seq_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "METIS_jll", "OpenBLAS32_jll", "Pkg"] -git-tree-sha1 = "1a11a84b2af5feb5a62a820574804056cdc59c39" -uuid = "d7ed1dd3-d0ae-5e8e-bfb4-87a502085b8d" -version = "5.2.1+4" - -[[MacroTools]] -deps = ["Markdown", "Random"] -git-tree-sha1 = "6a8a2a625ab0dea913aba95c11370589e0239ff0" -uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" -version = "0.5.6" - -[[Markdown]] -deps = ["Base64"] -uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" - -[[MathOptInterface]] -deps = ["BenchmarkTools", "CodecBzip2", "CodecZlib", "JSON", "JSONSchema", "LinearAlgebra", "MutableArithmetics", "OrderedCollections", "SparseArrays", "Test", "Unicode"] -git-tree-sha1 = "c4788b9cb29f8d1508e16419e66a7e617b46192d" -uuid = "b8f27783-ece8-5eb3-8dc8-9495eed66fee" -version = "0.9.19" - -[[MathProgBase]] -deps = ["LinearAlgebra", "SparseArrays"] -git-tree-sha1 = "9abbe463a1e9fc507f12a69e7f29346c2cdc472c" -uuid = "fdba3010-5040-5b88-9595-932c9decdf73" -version = "0.7.8" - -[[MbedTLS]] -deps = ["BinaryProvider", "Dates", "Distributed", "Libdl", "Random", "Sockets", "Test"] -git-tree-sha1 = "2d94286a9c2f52c63a16146bb86fd6cdfbf677c6" -uuid = "739be429-bea8-5141-9913-cc70e7f3736d" -version = "0.6.8" - -[[Memento]] -deps = ["Dates", "Distributed", "JSON", "Serialization", "Sockets", "Syslogs", "Test", "TimeZones", "UUIDs"] -git-tree-sha1 = "d6dfb54d7e8a9b4a2b1773acf7275a4f607906b2" -uuid = "f28f55f0-a522-5efc-85c2-fe41dfb9b2d9" -version = "1.1.2" - -[[Mmap]] -uuid = "a63ad114-7e13-5084-954f-fe012c677804" - -[[Mocking]] -deps = ["ExprTools"] -git-tree-sha1 = "916b850daad0d46b8c71f65f719c49957e9513ed" -uuid = "78c3b35d-d492-501b-9361-3d52fe80e533" -version = "0.7.1" - -[[MutableArithmetics]] -deps = ["LinearAlgebra", "SparseArrays", "Test"] -git-tree-sha1 = "6b6bb8f550dc38310afd4a0af0786dc3222459e2" -uuid = "d8a4904e-b15c-11e9-3269-09a3773c0cb0" -version = "0.2.14" - -[[NLSolversBase]] -deps = ["Calculus", "DiffEqDiffTools", "DiffResults", "Distributed", "ForwardDiff"] -git-tree-sha1 = "f1b8ed89fa332f410cfc7c937682eb4d0b361521" -uuid = "d41bc354-129a-5804-8e4c-c37616107c6c" -version = "7.5.0" - -[[NLsolve]] -deps = ["Distances", "LineSearches", "LinearAlgebra", "NLSolversBase", "Printf", "Reexport"] -git-tree-sha1 = "019f12e9a1a7880459d0173c182e6a99365d7ac1" -uuid = "2774e3e8-f4cf-5e23-947b-6d7e65073b56" -version = "4.5.1" - -[[NaNMath]] -git-tree-sha1 = "bfe47e760d60b82b66b61d2d44128b62e3a369fb" -uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" -version = "0.3.5" - -[[OpenBLAS32_jll]] -deps = ["CompilerSupportLibraries_jll", "Libdl", "Pkg"] -git-tree-sha1 = "793b33911239d2651c356c823492b58d6490d36a" -uuid = "656ef2d0-ae68-5445-9ca0-591084a874a2" -version = "0.3.9+4" - -[[OrderedCollections]] -git-tree-sha1 = "cf59cfed2e2c12e8a2ff0a4f1e9b2cd8650da6db" -uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" -version = "1.3.2" - -[[Osi_jll]] -deps = ["Artifacts", "CoinUtils_jll", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "OpenBLAS32_jll", "Pkg"] -git-tree-sha1 = "ef540e28c9b82cb879e33c0885e1bbc9a1e6c571" -uuid = "7da25872-d9ce-5375-a4d3-7a845f58efdd" -version = "0.108.5+4" - -[[Parameters]] -deps = ["OrderedCollections", "UnPack"] -git-tree-sha1 = "38b2e970043613c187bd56a995fe2e551821eb4a" -uuid = "d96e819e-fc66-5662-9728-84c9c7592b0a" -version = "0.12.1" - -[[Parsers]] -deps = ["Dates"] -git-tree-sha1 = "50c9a9ed8c714945e01cd53a21007ed3865ed714" -uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" -version = "1.0.15" - -[[Pkg]] -deps = ["Dates", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "UUIDs"] -uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" - -[[PowerModels]] -deps = ["InfrastructureModels", "JSON", "JuMP", "LinearAlgebra", "MathOptInterface", "Memento", "NLsolve", "SparseArrays"] -git-tree-sha1 = "c2fb05fb9e8d4384416f5201986c800614207d5d" -uuid = "c36e90e8-916a-50a6-bd94-075b64ef4655" -version = "0.17.3" - -[[Printf]] -deps = ["Unicode"] -uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" - -[[REPL]] -deps = ["InteractiveUtils", "Markdown", "Sockets"] -uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" - -[[Random]] -deps = ["Serialization"] -uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" - -[[RecipesBase]] -git-tree-sha1 = "b3fb709f3c97bfc6e948be68beeecb55a0b340ae" -uuid = "3cdcf5f2-1ef4-517c-9805-6587b60abb01" -version = "1.1.1" - -[[Reexport]] -git-tree-sha1 = "57d8440b0c7d98fc4f889e478e80f268d534c9d5" -uuid = "189a3867-3050-52da-a836-e630ba90ab69" -version = "1.0.0" - -[[Requires]] -deps = ["UUIDs"] -git-tree-sha1 = "cfbac6c1ed70c002ec6361e7fd334f02820d6419" -uuid = "ae029012-a4dd-5104-9daa-d747884805df" -version = "1.1.2" - -[[SHA]] -uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" - -[[Serialization]] -uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" - -[[SharedArrays]] -deps = ["Distributed", "Mmap", "Random", "Serialization"] -uuid = "1a1011a3-84de-559e-8e89-a11a2f7dc383" - -[[Sockets]] -uuid = "6462fe0b-24de-5631-8697-dd941f90decc" - -[[SparseArrays]] -deps = ["LinearAlgebra", "Random"] -uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" - -[[SpecialFunctions]] -deps = ["BinDeps", "BinaryProvider", "Libdl"] -git-tree-sha1 = "3bdd374b6fd78faf0119b8c5d538788dbf910c6e" -uuid = "276daf66-3868-5448-9aa4-cd146d93841b" -version = "0.8.0" - -[[StaticArrays]] -deps = ["LinearAlgebra", "Random", "Statistics"] -git-tree-sha1 = "da4cf579416c81994afd6322365d00916c79b8ae" -uuid = "90137ffa-7385-5640-81b9-e52037218182" -version = "0.12.5" - -[[Statistics]] -deps = ["LinearAlgebra", "SparseArrays"] -uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" - -[[Syslogs]] -deps = ["Printf", "Sockets"] -git-tree-sha1 = "46badfcc7c6e74535cc7d833a91f4ac4f805f86d" -uuid = "cea106d9-e007-5e6c-ad93-58fe2094e9c4" -version = "0.3.0" - -[[Test]] -deps = ["Distributed", "InteractiveUtils", "Logging", "Random"] -uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" - -[[TimeZones]] -deps = ["Dates", "EzXML", "Mocking", "Pkg", "Printf", "RecipesBase", "Serialization", "Unicode"] -git-tree-sha1 = "4ba8a9579a243400db412b50300cd61d7447e583" -uuid = "f269a46b-ccf7-5d73-abea-4c690281aa53" -version = "1.5.3" - -[[TranscodingStreams]] -deps = ["Random", "Test"] -git-tree-sha1 = "7c53c35547de1c5b9d46a4797cf6d8253807108c" -uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" -version = "0.9.5" - -[[URIParser]] -deps = ["Unicode"] -git-tree-sha1 = "53a9f49546b8d2dd2e688d216421d050c9a31d0d" -uuid = "30578b45-9adc-5946-b283-645ec420af67" -version = "0.4.1" - -[[URIs]] -git-tree-sha1 = "7855809b88d7b16e9b029afd17880930626f54a2" -uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4" -version = "1.2.0" - -[[UUIDs]] -deps = ["Random", "SHA"] -uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" - -[[UnPack]] -git-tree-sha1 = "387c1f73762231e86e0c9c5443ce3b4a0a9a0c2b" -uuid = "3a884ed6-31ef-47d7-9d2a-63182c4928ed" -version = "1.0.2" - -[[Unicode]] -uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" - -[[ZipFile]] -deps = ["BinaryProvider", "Libdl", "Printf"] -git-tree-sha1 = "7fbfbc51c186f0ccdbe091f32d3dff8608973f8e" -uuid = "a5390f91-8eb1-5f08-bee0-b1d1ffed6cea" -version = "0.8.4" diff --git a/pandapower/opf/PpPmInterface/Project.toml b/pandapower/opf/PpPmInterface/Project.toml deleted file mode 100644 index 7eaab0212..000000000 --- a/pandapower/opf/PpPmInterface/Project.toml +++ /dev/null @@ -1,23 +0,0 @@ -name = "PpPmInterface" -uuid = "a37bc775-f9aa-4bb0-a6c1-f424a7a25bdb" -authors = ["e2nIEE"] -version = "0.1.0" - -[deps] -Cbc = "9961bab8-2fa3-5c5a-9d89-47fab24efd76" -Gurobi = "2e9cd046-0924-5485-92f1-d5272153d98b" -Ipopt = "b6b21f68-93f8-5de0-b562-5493be1d77c9" -JSON = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" -JuMP = "4076af6c-e467-56ae-b986-b466b2749572" -Juniper = "2ddba703-00a4-53a7-87a5-e8b9971dde84" -Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" -PowerModels = "c36e90e8-916a-50a6-bd94-075b64ef4655" - -[compat] -julia = "1" - -[extras] -Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" - -[targets] -test = ["Test"] diff --git a/pandapower/opf/PpPmInterface/README.md b/pandapower/opf/PpPmInterface/README.md deleted file mode 100644 index 193428816..000000000 --- a/pandapower/opf/PpPmInterface/README.md +++ /dev/null @@ -1,28 +0,0 @@ -# PpPmInterface - -[![Coverage](https://codecov.io/gh/MMajidi137/PpPmInterface.jl/branch/master/graph/badge.svg)](https://codecov.io/gh/MMajidi137/PpPmInterface.jl) - - -[PpPmInterface](https://github.com/MMajidi137/pandapower/tree/JuliaPkg/pandapower/opf/PpPmInterface) is a local/inner [Julia](https://julialang.org/)/[JuMP](https://github.com/JuliaOpt/JuMP.jl) package, part of [pandapower](https://github.com/e2nIEE/pandapower), which containing supplementary data and codes to prepare [pandapower](https://github.com/e2nIEE/pandapower) networks in a compatible format for [PowerModels.jl](https://github.com/lanl-ansi/PowerModels.jl) to run and calculate optimal Power Flow. - -**Dependencies:** - -* [JuMP.jl](https://github.com/JuliaOpt/JuMP.jl) -* [PowerModels.jl](https://github.com/lanl-ansi/PowerModels.jl) - -i/o: - - * [JSON.jl](https://github.com/JuliaIO/JSON.jl) - -solvers: - - * [Ipopt.jl](https://github.com/jump-dev/Ipopt.jl) - * [Juniper.jl](https://github.com/lanl-ansi/Juniper.jl) - * [Cbc.jl](https://github.com/jump-dev/Cbc.jl) - * [Gurobi.jl](https://github.com/jump-dev/Gurobi.jl) - -**Instructions:** - -**Running the Code:** - -**Example and TestCase:** diff --git a/pandapower/opf/PpPmInterface/src/PpPmInterface.jl b/pandapower/opf/PpPmInterface/src/PpPmInterface.jl deleted file mode 100644 index 825bcc3d6..000000000 --- a/pandapower/opf/PpPmInterface/src/PpPmInterface.jl +++ /dev/null @@ -1,52 +0,0 @@ -module PpPmInterface - -import JuMP -import JSON - -import PowerModels - -import Cbc -import Ipopt -import Juniper - -try - import Gurobi -catch e - if isa(e, ArgumentError) - println("Cannot import Gurobi. That's fine if you do not plan to use it") - end -end - -# TODO: get licence for KNITRO and SCIP -# try -# using KNITRO -# catch e -# if isa(e, LoadError) -# println("Cannot import KNITRO. That's fine if you do not plan to use it") -# end -# end -# -# try -# using SCIP -# catch e -# if isa(e, LoadError) -# println("Cannot import SCIP. That's fine if you do not plan to use it") -# end -# end - -export run_powermodels, run_powermodels_mn_storage, - run_powermodels_ots, run_powermodels_powerflow, - run_powermodels_tnep - -include("input/pp_to_pm.jl") - -include("run_powermodels.jl") - -# include("../src/pm_models/run_powermodels.jl") -# include("../src/pm_models/run_powermodels_mn_storage.jl") -# include("../src/pm_models/run_powermodels_ots.jl") -# include("../src/pm_models/run_powermodels_powerflow.jl") -# include("../src/pm_models/run_powermodels_tnep.jl") - - -end diff --git a/pandapower/opf/PpPmInterface/src/input/pp_to_pm.jl b/pandapower/opf/PpPmInterface/src/input/pp_to_pm.jl deleted file mode 100644 index a5e46e4cf..000000000 --- a/pandapower/opf/PpPmInterface/src/input/pp_to_pm.jl +++ /dev/null @@ -1,87 +0,0 @@ - -function get_model(model_type) - """ - gets the model function - model_type (str) - examples: "ACPPowerModel", "DCPPowerModel", "SOCWRPowerModel"... - see: https://lanl-ansi.github.io/PowerModels.jl/stable/formulation-details/ - """ - - s = Symbol(model_type) - return getfield(PowerModels, s) -end - -function get_solver(optimizer::String, nl::String="ipopt", mip::String="cbc", - log_level::Int=0, time_limit::Float64=Inf, nl_time_limit::Float64=Inf, - mip_time_limit::Float64=Inf, ipopt_tol::Float64=1e-8) - - if optimizer == "gurobi" - solver = JuMP.optimizer_with_attributes(Gurobi.Optimizer, "TimeLimit" => time_limit, "OutputFlag" => log_level) - end - - if optimizer == "ipopt" - solver = JuMP.optimizer_with_attributes(Ipopt.Optimizer, "print_level" => log_level, "max_cpu_time" => time_limit, - "tol" => ipopt_tol) - end - - if optimizer == "juniper" && nl == "ipopt" && mip == "cbc" - mip_solver = JuMP.optimizer_with_attributes(Cbc.Optimizer, "logLevel" => log_level, "seconds" => mip_time_limit) - nl_solver = JuMP.optimizer_with_attributes(Ipopt.Optimizer, "print_level" => log_level, "max_cpu_time" => nl_time_limit) - solver = JuMP.optimizer_with_attributes(Juniper.Optimizer, - "nl_solver" => nl_solver, - "mip_solver" => mip_solver, - "log_levels" => [], - "time_limit" => time_limit) - end - - if optimizer == "juniper" && nl == "gurobi" && mip == "cbc" - mip_solver = JuMP.optimizer_with_attributes(Cbc.Optimizer, "logLevel" => log_level, "seconds" => mip_time_limit) - nl_solver = JuMP.optimizer_with_attributes(Gurobi.Optimizer, "TimeLimit" => nl_time_limit) - solver = JuMP.optimizer_with_attributes(Juniper.Optimizer, - "nl_solver" => nl_solver, - "mip_solver" => mip_solver, - "log_levels" => [], - "time_limit" => time_limit) - end - - if optimizer == "juniper" && nl == "gurobi" && mip == "gurobi" - mip_solver = JuMP.optimizer_with_attributes(Gurobi.Optimizer, "TimeLimit" => mip_time_limit) - nl_solver = JuMP.optimizer_with_attributes(Gurobi.Optimizer, "TimeLimit" => nl_time_limit) - solver = JuMP.optimizer_with_attributes(Juniper.Optimizer, - "nl_solver" => nl_solver, - "mip_solver" => mip_solver, - "log_levels" => [], - "time_limit" => time_limit) - end - - if optimizer == "knitro" - solver = JuMP.optimizer_with_attributes(KNITRO.Optimizer) - end - - if optimizer == "cbc" - solver = JuMP.optimizer_with_attributes(Cbc.Optimizer, "seconds" => time_limit) - end - - if optimizer == "scip" - solver = JuMP.optimizer_with_attributes(SCIP.Optimizer) - end - - return solver - -end - -function load_pm_from_json(json_path) - pm = Dict() - open(json_path, "r") do f - pm = JSON.parse(f) # parse and transform data - end - - for (idx, gen) in pm["gen"] - if gen["model"] == 1 - pm["gen"][idx]["cost"] = convert(Array{Float64,1}, gen["cost"]) - end - end - if pm["correct_pm_network_data"] - PowerModels.correct_network_data!(pm) - end - return pm -end diff --git a/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels.jl b/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels.jl deleted file mode 100644 index 81500017a..000000000 --- a/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels.jl +++ /dev/null @@ -1,51 +0,0 @@ - - -function run_powermodels(json_path) - pm = load_pm_from_json(json_path) - model = get_model(pm["pm_model"]) - # @info "run get_model $(model)" - solver = get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], - pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) - - if haskey(pm["branch"]["1"],"c_rating_a") - for (key, value) in pm["gen"] - # value["pmin"] = 0 - value["pmax"] *= 0.01 - value["qmax"] *= 0.01 - value["qmin"] *= 0.01 - value["pg"] *= 0.01 - value["qg"] *= 0.01 - value["cost"] *= 100 - end - - for (key, value) in pm["branch"] - value["c_rating_a"] *= 0.01 - end - - for (key, value) in pm["load"] - value["pd"] *= 0.01 - value["qd"] *= 0.01 - end - - # pm["bus"]["4"]["vmax"] = 1.1 - # pm["bus"]["4"]["vmin"] = 0.9 - - result = PowerModels._run_opf_cl(pm, model, solver, - setting = Dict("output" => Dict("branch_flows" => true))) - else - result = PowerModels.run_opf(pm, model, solver, - setting = Dict("output" => Dict("branch_flows" => true))) - end - - - return result -end - - -# json_path = "C:/Users/fmeier/pandapower/pandapower/test/opf/case5_clm_matfile_va.json" -# # #@enter run_powermodels(json_path) -# # -# result = run_powermodels(json_path) -# println(result["termination_status"] == LOCALLY_SOLVED) -# println(isapprox(result["objective"], 17015.5; atol = 1e0)) -# mit eingeschränkter slack spannung: 17082.819507648066 diff --git a/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_mn_storage.jl b/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_mn_storage.jl deleted file mode 100644 index 231b880e1..000000000 --- a/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_mn_storage.jl +++ /dev/null @@ -1,55 +0,0 @@ - -using Gurobi - - -function read_time_series(json_path) - time_series = Dict() - open(json_path, "r") do f - time_series = JSON.parse(f) # parse and transform data - end - return time_series -end - -function set_pq_values_from_timeseries(mn, time_series) - # This function iterates over multinetwork entries and sets p, q values - # of loads and "sgens" (which are loads with negative P and Q values) - - # iterate over networks (which represent the time steps) - for (t, network) in mn["nw"] - t_j = string(parse(Int64,t) - 1) - # iterate over all loads for this network - for (i, load) in network["load"] - # update variables from time series here -# print("\nload before: ") -# print(load["pd"]) - load["pd"] = time_series[t_j][parse(Int64,i)] / mn["baseMVA"] -# print("\nload after: ") -# print(load["pd"]) - end - end - - return mn -end - -function run_powermodels_mn_storage(json_path) - # load converted pandapower network - pm = load_pm_from_json(json_path) - # copy network n_time_steps time step times - n_time_steps = pm["n_time_steps"] - mn = PowerModels.replicate(pm, pm["n_time_steps"]) - mn["time_elapsed"] = pm["time_elapsed"] - # set P, Q values of loads and generators from time series - if isfile("/tmp/timeseries.json") - time_series = read_time_series("/tmp/timeseries.json") - mn = set_pq_values_from_timeseries(mn, time_series) - else - print("Running storage without time series") - end - - ipopt_solver = JuMP.with_optimizer(Ipopt.Optimizer, print_level = 0) - - # run multinetwork storage opf - result = PowerModels._run_mn_strg_opf(mn, PowerModels.ACPPowerModel, ipopt_solver) - print_summary(result) - return result -end diff --git a/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_ots.jl b/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_ots.jl deleted file mode 100644 index c7f9eb9e1..000000000 --- a/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_ots.jl +++ /dev/null @@ -1,13 +0,0 @@ - -function run_powermodels_ots(json_path) - # function to run optimal transmission switching (OTS) optimization from powermodels.jl - pm = load_pm_from_json(json_path) - model = get_model(pm["pm_model"]) - - solver = get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], - pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) - - result = PowerModels.run_ots(pm, model, solver, - setting = Dict("output" => Dict("branch_flows" => true))) - return result -end diff --git a/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_powerflow.jl b/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_powerflow.jl deleted file mode 100644 index 62c2a56b2..000000000 --- a/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_powerflow.jl +++ /dev/null @@ -1,17 +0,0 @@ - - -function run_powermodels_powerflow(json_path) - pm = load_pm_from_json(json_path) - - model = get_model(pm["pm_model"]) - - solver = get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], - pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) - - result = PowerModels.run_pf(pm, model, solver) - # add branch flows - PowerModels.update_data!(pm, result["solution"]) - flows = PowerModels.calc_branch_flow_ac(pm) - PowerModels.update_data!(result["solution"], flows) - return result -end diff --git a/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_tnep.jl b/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_tnep.jl deleted file mode 100644 index 321a6b89d..000000000 --- a/pandapower/opf/PpPmInterface/src/pm_models/run_powermodels_tnep.jl +++ /dev/null @@ -1,13 +0,0 @@ - -function run_powermodels_tnep(json_path) - pm = load_pm_from_json(json_path) - model = get_model(pm["pm_model"]) - - solver = get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], - pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) - - # function to run transmission network expansion optimization of powermodels.jl - result = PowerModels.run_tnep(pm, model, solver, - setting = Dict("output" => Dict("branch_flows" => true))) - return result -end diff --git a/pandapower/opf/PpPmInterface/src/run_powermodels.jl b/pandapower/opf/PpPmInterface/src/run_powermodels.jl deleted file mode 100644 index adcbfac21..000000000 --- a/pandapower/opf/PpPmInterface/src/run_powermodels.jl +++ /dev/null @@ -1,140 +0,0 @@ -# All run_powermodels functions - -function run_powermodels(json_path) - pm = load_pm_from_json(json_path) - model = get_model(pm["pm_model"]) - # @info "run get_model $(model)" - solver = get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], - pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) - - if haskey(pm["branch"]["1"],"c_rating_a") - for (key, value) in pm["gen"] - # value["pmin"] = 0 - value["pmax"] *= 0.01 - value["qmax"] *= 0.01 - value["qmin"] *= 0.01 - value["pg"] *= 0.01 - value["qg"] *= 0.01 - value["cost"] *= 100 - end - - for (key, value) in pm["branch"] - value["c_rating_a"] *= 0.01 - end - - for (key, value) in pm["load"] - value["pd"] *= 0.01 - value["qd"] *= 0.01 - end - - # pm["bus"]["4"]["vmax"] = 1.1 - # pm["bus"]["4"]["vmin"] = 0.9 - - result = PowerModels._run_opf_cl(pm, model, solver, - setting = Dict("output" => Dict("branch_flows" => true))) - else - result = PowerModels.run_opf(pm, model, solver, - setting = Dict("output" => Dict("branch_flows" => true))) - end - - - return result -end - - -function run_powermodels_tnep(json_path) - pm = load_pm_from_json(json_path) - model = get_model(pm["pm_model"]) - - solver = get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], - pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) - - # function to run transmission network expansion optimization of powermodels.jl - result = PowerModels.run_tnep(pm, model, solver, - setting = Dict("output" => Dict("branch_flows" => true))) - return result -end - - -function run_powermodels_powerflow(json_path) - pm = load_pm_from_json(json_path) - - model = get_model(pm["pm_model"]) - - solver = get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], - pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) - - result = PowerModels.run_pf(pm, model, solver) - # add branch flows - PowerModels.update_data!(pm, result["solution"]) - flows = PowerModels.calc_branch_flow_ac(pm) - PowerModels.update_data!(result["solution"], flows) - return result -end - - -function run_powermodels_ots(json_path) - # function to run optimal transmission switching (OTS) optimization from powermodels.jl - pm = load_pm_from_json(json_path) - model = get_model(pm["pm_model"]) - - solver = get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], - pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) - - result = PowerModels.run_ots(pm, model, solver, - setting = Dict("output" => Dict("branch_flows" => true))) - return result -end - - -function read_time_series(json_path) - time_series = Dict() - open(json_path, "r") do f - time_series = JSON.parse(f) # parse and transform data - end - return time_series -end - -function set_pq_values_from_timeseries(mn, time_series) - # This function iterates over multinetwork entries and sets p, q values - # of loads and "sgens" (which are loads with negative P and Q values) - - # iterate over networks (which represent the time steps) - for (t, network) in mn["nw"] - t_j = string(parse(Int64,t) - 1) - # iterate over all loads for this network - for (i, load) in network["load"] - # update variables from time series here -# print("\nload before: ") -# print(load["pd"]) - load["pd"] = time_series[t_j][parse(Int64,i)] / mn["baseMVA"] -# print("\nload after: ") -# print(load["pd"]) - end - end - - return mn -end - -function run_powermodels_mn_storage(json_path) - # load converted pandapower network - pm = load_pm_from_json(json_path) - # copy network n_time_steps time step times - n_time_steps = pm["n_time_steps"] - mn = PowerModels.replicate(pm, pm["n_time_steps"]) - mn["time_elapsed"] = pm["time_elapsed"] - # set P, Q values of loads and generators from time series - if isfile("/tmp/timeseries.json") - time_series = read_time_series("/tmp/timeseries.json") - mn = set_pq_values_from_timeseries(mn, time_series) - else - print("Running storage without time series") - end - - ipopt_solver = JuMP.with_optimizer(Ipopt.Optimizer, print_level = 0) - - # run multinetwork storage opf - result = PowerModels._run_mn_strg_opf(mn, PowerModels.ACPPowerModel, ipopt_solver) - print_summary(result) - return result -end diff --git a/pandapower/opf/PpPmInterface/test/create_test_json.py b/pandapower/opf/PpPmInterface/test/create_test_json.py deleted file mode 100644 index c6c2f384b..000000000 --- a/pandapower/opf/PpPmInterface/test/create_test_json.py +++ /dev/null @@ -1,81 +0,0 @@ -# -*- coding: utf-8 -*- -""" -Created on Thu Jan 28 13:35:35 2021 - -@author: x230 -""" -import os -import pathlib -import simbench as sb -import pandapower as pp -from pandapower import pp_dir -from pandapower.converter.powermodels.to_pm import convert_pp_to_pm - -net = pp.create_empty_network() - -min_vm_pu = 0.95 -max_vm_pu = 1.05 - - # create buses -bus1 = pp.create_bus(net, vn_kv=110., geodata=(5, 9), min_vm_pu=min_vm_pu, max_vm_pu=max_vm_pu) -bus2 = pp.create_bus(net, vn_kv=110., geodata=(6, 10), min_vm_pu=min_vm_pu, max_vm_pu=max_vm_pu) -bus3 = pp.create_bus(net, vn_kv=110., geodata=(10, 9), min_vm_pu=min_vm_pu, max_vm_pu=max_vm_pu) -bus4 = pp.create_bus(net, vn_kv=110., geodata=(8, 8), min_vm_pu=min_vm_pu, max_vm_pu=max_vm_pu) - - # create 110 kV lines -pp.create_line(net, bus1, bus2, length_km=70., std_type='149-AL1/24-ST1A 110.0') -pp.create_line(net, bus1, bus3, length_km=50., std_type='149-AL1/24-ST1A 110.0') -pp.create_line(net, bus1, bus4, length_km=100., std_type='149-AL1/24-ST1A 110.0') - - # create loads -pp.create_load(net, bus2, p_mw=60) -pp.create_load(net, bus3, p_mw=70) -pp.create_load(net, bus4, p_mw=50) - - # create generators -g1 = pp.create_gen(net, bus1, p_mw=9.513270, min_p_mw=0, max_p_mw=200, vm_pu=1.01, slack=True) -pp.create_poly_cost(net, g1, 'gen', cp1_eur_per_mw=1) - -g2 = pp.create_gen(net, bus2, p_mw=78.403291, min_p_mw=0, max_p_mw=200, vm_pu=1.01) -pp.create_poly_cost(net, g2, 'gen', cp1_eur_per_mw=3) - -g3 = pp.create_gen(net, bus3, p_mw=92.375601, min_p_mw=0, max_p_mw=200, vm_pu=1.01) -pp.create_poly_cost(net, g3, 'gen', cp1_eur_per_mw=3) - -net.line["max_loading_percent"] = 20 - - # possible new lines (set out of service in line DataFrame) -l1 = pp.create_line(net, bus1, bus4, 10., std_type="305-AL1/39-ST1A 110.0", name="new_line1", - max_loading_percent=20., in_service=False) -l2 = pp.create_line(net, bus2, bus4, 20., std_type="149-AL1/24-ST1A 110.0", name="new_line2", - max_loading_percent=20., in_service=False) -l3 = pp.create_line(net, bus3, bus4, 30., std_type='149-AL1/24-ST1A 110.0', name="new_line3", - max_loading_percent=20., in_service=False) -l4 = pp.create_line(net, bus3, bus4, 40., std_type='149-AL1/24-ST1A 110.0', name="new_line4", - max_loading_percent=20., in_service=False) - -new_line_index = [l1, l2, l3, l4] -construction_costs = [10., 20., 30., 45.] - # create new line dataframe - # init dataframe -net["ne_line"] = net["line"].loc[new_line_index, :] - # add costs, if None -> init with zeros -construction_costs = np.zeros( - len(new_line_index)) if construction_costs is None else construction_costs -net["ne_line"].loc[new_line_index, "construction_cost"] = construction_costs - # set in service, but only in ne line dataframe -net["ne_line"].loc[new_line_index, "in_service"] = True - # init res_ne_line to save built status afterwards -net["res_ne_line"] = pd.DataFrame(data=0, index=new_line_index, columns=["built"], dtype=int) - - -pp.runpp(net) - -pkg_dir = pathlib.Path(pp_dir, "pandapower", "opf", "PpPmInterface", "test", "data") -# pkg_dir = pathlib.Path(pathlib.Path.home(), "GitHub", "pandapower", "pandapower", "opf", "PpPmInterface") -json_path = os.path.join(pkg_dir, "test" , "data", "test_tnep.json") - -test_net = convert_pp_to_pm(net, pm_file_path=json_path, correct_pm_network_data=True, calculate_voltage_angles=True, ac=True, - trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, - pp_to_pm_callback=None, pm_model="DCPPowerModel", pm_solver="ipopt", - pm_mip_solver="cbc", pm_nl_solver="ipopt") diff --git a/pandapower/opf/PpPmInterface/test/data/pm_test.json b/pandapower/opf/PpPmInterface/test/data/pm_test.json deleted file mode 100644 index a4b4cf26d..000000000 --- a/pandapower/opf/PpPmInterface/test/data/pm_test.json +++ /dev/null @@ -1 +0,0 @@ -{"gen": {"1": {"pg": 0.0, "qg": 0.0, "gen_bus": 1, "vg": 1.06, "qmax": 10.00000001, "gen_status": 1, "qmin": -1e-08, "pmin": -1e-08, "pmax": 332.40000001000004, "index": 1, "model": 2, "ncost": 3, "cost": [0.0430293, 20.0, 0.0]}, "2": {"pg": 40.0, "qg": 0.0, "gen_bus": 2, "vg": 1.045, "qmax": 50.00000001, "gen_status": 1, "qmin": -40.00000001, "pmin": -1e-08, "pmax": 140.00000001, "index": 2, "model": 2, "ncost": 3, "cost": [0.25, 20.0, 0.0]}, "3": {"pg": 0.0, "qg": 0.0, "gen_bus": 7, "vg": 1.01, "qmax": 40.00000001, "gen_status": 1, "qmin": -1e-08, "pmin": -1e-08, "pmax": 100.00000001, "index": 3, "model": 2, "ncost": 3, "cost": [0.01, 40.0, 0.0]}, "4": {"pg": 0.0, "qg": 0.0, "gen_bus": 10, "vg": 1.07, "qmax": 24.00000001, "gen_status": 1, "qmin": -6.00000001, "pmin": -1e-08, "pmax": 100.00000001, "index": 4, "model": 2, "ncost": 3, "cost": [0.01, 40.0, 0.0]}, "5": {"pg": 0.0, "qg": 0.0, "gen_bus": 12, "vg": 1.09, "qmax": 24.00000001, "gen_status": 1, "qmin": -6.00000001, "pmin": -1e-08, "pmax": 100.00000001, "index": 5, "model": 2, "ncost": 3, "cost": [0.01, 40.0, 0.0]}}, "branch": {"1": {"index": 1, "transformer": false, "br_r": 0.0001938, "br_x": 0.0005916999999999999, "g_fr": -0.0, "g_to": -0.0, "b_fr": 2.64, "b_to": 2.64, "rate_a": 9899.999999999998, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 1, "t_bus": 2, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "2": {"index": 2, "transformer": false, "br_r": 0.0005403, "br_x": 0.0022304, "g_fr": -0.0, "g_to": -0.0, "b_fr": 2.46, "b_to": 2.46, "rate_a": 9899.999999999998, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 1, "t_bus": 9, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "3": {"index": 3, "transformer": false, "br_r": 0.00031810000000000003, "br_x": 0.0008449999999999999, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0, "b_to": 0.0, "rate_a": 9900.0, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 13, "t_bus": 14, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "4": {"index": 4, "transformer": false, "br_r": 0.0012711, "br_x": 0.0027038, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0, "b_to": 0.0, "rate_a": 9900.0, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 13, "t_bus": 6, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "5": {"index": 5, "transformer": false, "br_r": 0.0008205, "br_x": 0.0019207000000000002, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0, "b_to": 0.0, "rate_a": 9900.0, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 14, "t_bus": 3, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "6": {"index": 6, "transformer": false, "br_r": 0.0022092, "br_x": 0.0019988, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0, "b_to": 0.0, "rate_a": 9900.0, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 4, "t_bus": 5, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "7": {"index": 7, "transformer": false, "br_r": 0.0017093, "br_x": 0.0034802, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0, "b_to": 0.0, "rate_a": 9900.0, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 5, "t_bus": 6, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "8": {"index": 8, "transformer": false, "br_r": 0.0004699, "br_x": 0.0019797, "g_fr": -0.0, "g_to": -0.0, "b_fr": 2.1900000000000004, "b_to": 2.1900000000000004, "rate_a": 9899.999999999998, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 2, "t_bus": 7, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "9": {"index": 9, "transformer": false, "br_r": 0.0005811, "br_x": 0.0017632000000000001, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.7000000000000004, "b_to": 1.7000000000000004, "rate_a": 9899.999999999998, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 2, "t_bus": 8, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "10": {"index": 10, "transformer": false, "br_r": 0.0005695, "br_x": 0.0017388, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.7300000000000004, "b_to": 1.7300000000000004, "rate_a": 9899.999999999998, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 2, "t_bus": 9, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "11": {"index": 11, "transformer": false, "br_r": 0.0006701, "br_x": 0.0017102999999999999, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.6400000000000001, "b_to": 0.6400000000000001, "rate_a": 9899.999999999998, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 7, "t_bus": 8, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "12": {"index": 12, "transformer": false, "br_r": 0.00013350000000000002, "br_x": 0.0004211, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0, "b_to": 0.0, "rate_a": 9899.999999999998, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 8, "t_bus": 9, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "13": {"index": 13, "transformer": false, "br_r": 0.0009498, "br_x": 0.0019890000000000003, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0, "b_to": 0.0, "rate_a": 9900.0, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 10, "t_bus": 3, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "14": {"index": 14, "transformer": false, "br_r": 0.0012291000000000001, "br_x": 0.0025581000000000002, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0, "b_to": 0.0, "rate_a": 9900.0, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 10, "t_bus": 4, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "15": {"index": 15, "transformer": false, "br_r": 0.0006615000000000001, "br_x": 0.0013027000000000002, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0, "b_to": 0.0, "rate_a": 9900.0, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 10, "t_bus": 5, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "16": {"index": 16, "transformer": true, "br_r": 0.0, "br_x": 0.0020912, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0, "b_to": 0.0, "rate_a": 9900.0, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 8, "t_bus": 11, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 0.9780000000000001, "shift": 0.0}, "17": {"index": 17, "transformer": true, "br_r": 0.0, "br_x": 0.0055617999999999996, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0, "b_to": 0.0, "rate_a": 9900.0, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 8, "t_bus": 13, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 0.9690000000000001, "shift": 0.0}, "18": {"index": 18, "transformer": true, "br_r": 0.0, "br_x": 0.0025202000000000002, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0, "b_to": 0.0, "rate_a": 9900.0, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 9, "t_bus": 10, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 0.932, "shift": 0.0}, "19": {"index": 19, "transformer": true, "br_r": 0.0, "br_x": 0.0017614999999999998, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0, "b_to": 0.0, "rate_a": 9900.0, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 11, "t_bus": 12, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "20": {"index": 20, "transformer": true, "br_r": 0.0, "br_x": 0.0011001, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0, "b_to": 0.0, "rate_a": 9900.0, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 11, "t_bus": 13, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}}, "bus": {"1": {"index": 1, "bus_i": 1, "zone": 1, "bus_type": 3, "vmax": 1.06000001, "vmin": 1.0599999900000001, "va": 0.0, "vm": 1.06, "base_kv": 135.0}, "2": {"index": 2, "bus_i": 2, "zone": 1, "bus_type": 2, "vmax": 1.06, "vmin": 0.94, "va": 0.0, "vm": 1.045, "base_kv": 135.0}, "3": {"index": 3, "bus_i": 3, "zone": 1, "bus_type": 1, "vmax": 1.06, "vmin": 0.94, "va": 0.0, "vm": 1.0, "base_kv": 0.208}, "4": {"index": 4, "bus_i": 4, "zone": 1, "bus_type": 1, "vmax": 1.06, "vmin": 0.94, "va": 0.0, "vm": 1.0, "base_kv": 0.208}, "5": {"index": 5, "bus_i": 5, "zone": 1, "bus_type": 1, "vmax": 1.06, "vmin": 0.94, "va": 0.0, "vm": 1.0, "base_kv": 0.208}, "6": {"index": 6, "bus_i": 6, "zone": 1, "bus_type": 1, "vmax": 1.06, "vmin": 0.94, "va": 0.0, "vm": 1.0, "base_kv": 0.208}, "7": {"index": 7, "bus_i": 7, "zone": 1, "bus_type": 2, "vmax": 1.06, "vmin": 0.94, "va": 0.0, "vm": 1.01, "base_kv": 135.0}, "8": {"index": 8, "bus_i": 8, "zone": 1, "bus_type": 1, "vmax": 1.06, "vmin": 0.94, "va": 0.0, "vm": 1.0, "base_kv": 135.0}, "9": {"index": 9, "bus_i": 9, "zone": 1, "bus_type": 1, "vmax": 1.06, "vmin": 0.94, "va": 0.0, "vm": 1.0, "base_kv": 135.0}, "10": {"index": 10, "bus_i": 10, "zone": 1, "bus_type": 2, "vmax": 1.06, "vmin": 0.94, "va": 0.0, "vm": 1.07, "base_kv": 0.208}, "11": {"index": 11, "bus_i": 11, "zone": 1, "bus_type": 1, "vmax": 1.06, "vmin": 0.94, "va": 0.0, "vm": 1.0, "base_kv": 14.0}, "12": {"index": 12, "bus_i": 12, "zone": 1, "bus_type": 2, "vmax": 1.06, "vmin": 0.94, "va": 0.0, "vm": 1.09, "base_kv": 12.0}, "13": {"index": 13, "bus_i": 13, "zone": 1, "bus_type": 1, "vmax": 1.06, "vmin": 0.94, "va": 0.0, "vm": 1.0, "base_kv": 0.208}, "14": {"index": 14, "bus_i": 14, "zone": 1, "bus_type": 1, "vmax": 1.06, "vmin": 0.94, "va": 0.0, "vm": 1.0, "base_kv": 0.208}}, "dcline": {}, "load": {"1": {"pd": 21.7, "qd": 12.7, "load_bus": 2, "status": 1, "index": 1}, "2": {"pd": 94.2, "qd": 19.0, "load_bus": 7, "status": 1, "index": 2}, "3": {"pd": 14.9, "qd": 5.0, "load_bus": 6, "status": 1, "index": 3}, "4": {"pd": 47.8, "qd": -3.9, "load_bus": 8, "status": 1, "index": 4}, "5": {"pd": 7.6, "qd": 1.6, "load_bus": 9, "status": 1, "index": 5}, "6": {"pd": 11.2, "qd": 7.5, "load_bus": 10, "status": 1, "index": 6}, "7": {"pd": 29.5, "qd": 16.6, "load_bus": 13, "status": 1, "index": 7}, "8": {"pd": 9.0, "qd": 5.8, "load_bus": 14, "status": 1, "index": 8}, "9": {"pd": 3.5, "qd": 1.8, "load_bus": 3, "status": 1, "index": 9}, "10": {"pd": 6.1, "qd": 1.6, "load_bus": 4, "status": 1, "index": 10}, "11": {"pd": 13.5, "qd": 5.8, "load_bus": 5, "status": 1, "index": 11}}, "storage": {}, "ne_branch": {}, "switch": {}, "baseMVA": 1.0, "source_version": "2.0.0", "shunt": {"1": {"gs": 0.0, "bs": 19.0, "shunt_bus": 13, "status": true, "index": 1}}, "sourcetype": "matpower", "per_unit": true, "name": "", "pm_solver": "gurobi", "pm_mip_solver": "cbc", "pm_nl_solver": "ipopt", "pm_model": "DCPPowerModel", "pm_log_level": 0, "pm_time_limit": Infinity, "pm_nl_time_limit": Infinity, "pm_mip_time_limit": Infinity, "correct_pm_network_data": true} \ No newline at end of file diff --git a/pandapower/opf/PpPmInterface/test/data/test_Gurobi.json b/pandapower/opf/PpPmInterface/test/data/test_Gurobi.json deleted file mode 100644 index 09ff7ba3c..000000000 --- a/pandapower/opf/PpPmInterface/test/data/test_Gurobi.json +++ /dev/null @@ -1 +0,0 @@ -{"gen": {"1": {"pg": 0.0, "qg": 0.0, "gen_bus": 1, "vg": 1.068, "qmax": 1000000000.0, "gen_status": 1, "qmin": -1000000000.0, "pmin": -1000000000.0, "pmax": 1000000000.0, "index": 1, "model": 2, "ncost": 3, "cost": [0, 1.0, 0.0]}}, "branch": {"1": {"index": 1, "transformer": false, "br_r": 4.2376047520661155e-05, "br_x": 0.00011455077685950411, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.08010033389049999, "b_to": 0.08010033389049999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 4, "t_bus": 41, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "2": {"index": 2, "transformer": false, "br_r": 5.284605743801653e-05, "br_x": 0.0001428532694214876, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0998910255497, "b_to": 0.0998910255497, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 26, "t_bus": 77, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "3": {"index": 3, "transformer": false, "br_r": 5.284605743801653e-05, "br_x": 0.0001428532694214876, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0998910255497, "b_to": 0.0998910255497, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 26, "t_bus": 77, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "4": {"index": 4, "transformer": false, "br_r": 3.89280826446281e-05, "br_x": 3.909464378512397e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.3722572551710002, "b_to": 1.3722572551710002, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 67, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "5": {"index": 5, "transformer": false, "br_r": 2.796371074380165e-05, "br_x": 2.808335875206612e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.9857512197555001, "b_to": 0.9857512197555001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 14, "t_bus": 36, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "6": {"index": 6, "transformer": false, "br_r": 6.59696347107438e-05, "br_x": 6.625189822975207e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 2.3255013785091, "b_to": 2.3255013785091, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 57, "t_bus": 3, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "7": {"index": 7, "transformer": false, "br_r": 2.8893701652892566e-05, "br_x": 7.810534876033058e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0546156445714, "b_to": 0.0546156445714, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 12, "t_bus": 14, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "8": {"index": 8, "transformer": false, "br_r": 3.762483347107438e-05, "br_x": 0.00010170731239669421, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0711194625251, "b_to": 0.0711194625251, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 36, "t_bus": 37, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "9": {"index": 9, "transformer": false, "br_r": 3.099420123966942e-05, "br_x": 8.378341157024791e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.058586064846099996, "b_to": 0.058586064846099996, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 26, "t_bus": 55, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "10": {"index": 10, "transformer": false, "br_r": 3.256077520661157e-05, "br_x": 8.801816859504131e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0615472446908, "b_to": 0.0615472446908, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 42, "t_bus": 55, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "11": {"index": 11, "transformer": false, "br_r": 2.0578217355371903e-05, "br_x": 5.562696198347107e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.038897494633799996, "b_to": 0.038897494633799996, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 42, "t_bus": 54, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "12": {"index": 12, "transformer": false, "br_r": 7.445407933884298e-06, "br_x": 7.477264515371902e-06, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.26245872801522, "b_to": 0.26245872801522, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 33, "t_bus": 37, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "13": {"index": 13, "transformer": false, "br_r": 9.478265702479337e-06, "br_x": 2.562161322314049e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0179160703249, "b_to": 0.0179160703249, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 11, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "14": {"index": 14, "transformer": false, "br_r": 5.575812396694215e-05, "br_x": 0.0001507251570247934, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.105395491278, "b_to": 0.105395491278, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 5, "t_bus": 54, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "15": {"index": 15, "transformer": false, "br_r": 5.194299917355372e-05, "br_x": 0.0001404121256198347, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0981840407614, "b_to": 0.0981840407614, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 68, "t_bus": 48, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "16": {"index": 16, "transformer": false, "br_r": 6.190288388429752e-05, "br_x": 0.00016733564958677685, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1170104801657, "b_to": 0.1170104801657, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 5, "t_bus": 49, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "17": {"index": 17, "transformer": false, "br_r": 5.8436084297520655e-06, "br_x": 5.868611410082645e-06, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.20599355322249, "b_to": 0.20599355322249, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 60, "t_bus": 72, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "18": {"index": 18, "transformer": false, "br_r": 2.9501471900826447e-05, "br_x": 7.974827107438016e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0557644680846, "b_to": 0.0557644680846, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 16, "t_bus": 43, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "19": {"index": 19, "transformer": false, "br_r": 2.0578217355371903e-05, "br_x": 5.562696198347107e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.038897494633799996, "b_to": 0.038897494633799996, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 42, "t_bus": 54, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "20": {"index": 20, "transformer": false, "br_r": 6.190288388429752e-05, "br_x": 0.00016733564958677685, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1170104801657, "b_to": 0.1170104801657, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 5, "t_bus": 49, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "21": {"index": 21, "transformer": false, "br_r": 9.421886776859506e-05, "br_x": 0.0002546920991735537, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.178095013778, "b_to": 0.178095013778, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 50, "t_bus": 78, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "22": {"index": 22, "transformer": false, "br_r": 8.453047066115703e-05, "br_x": 0.00022850245950413217, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.15978174747369997, "b_to": 0.15978174747369997, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 13, "t_bus": 50, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "23": {"index": 23, "transformer": false, "br_r": 2.492781074380165e-05, "br_x": 6.738476694214875e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.04711921192659999, "b_to": 0.04711921192659999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 77, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "24": {"index": 24, "transformer": false, "br_r": 1.7744248760330577e-05, "br_x": 4.796618842975206e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0335406517006, "b_to": 0.0335406517006, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 79, "t_bus": 51, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "25": {"index": 25, "transformer": false, "br_r": 2.1056850000000005e-05, "br_x": 5.69208e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0398022188091, "b_to": 0.0398022188091, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 22, "t_bus": 47, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "26": {"index": 26, "transformer": false, "br_r": 9.588580165289255e-05, "br_x": 0.0002591981487603306, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.18124589661199997, "b_to": 0.18124589661199997, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 43, "t_bus": 74, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "27": {"index": 27, "transformer": false, "br_r": 3.43484305785124e-05, "br_x": 9.285055206611572e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0649263184966, "b_to": 0.0649263184966, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 7, "t_bus": 74, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "28": {"index": 28, "transformer": false, "br_r": 2.177430123966942e-05, "br_x": 5.8860211570247936e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0411583642547, "b_to": 0.0411583642547, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 7, "t_bus": 26, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "29": {"index": 29, "transformer": false, "br_r": 1.790668884297521e-05, "br_x": 4.8405295867768594e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.033847700272100004, "b_to": 0.033847700272100004, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 9, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "30": {"index": 30, "transformer": false, "br_r": 4.6210990909090905e-05, "br_x": 0.0001249173818181818, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0873492460434, "b_to": 0.0873492460434, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 48, "t_bus": 65, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "31": {"index": 31, "transformer": false, "br_r": 2.8893701652892566e-05, "br_x": 7.810534876033058e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0546156445714, "b_to": 0.0546156445714, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 12, "t_bus": 14, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "32": {"index": 32, "transformer": false, "br_r": 1.117596818181818e-05, "br_x": 3.021083636363636e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.021125112776899997, "b_to": 0.021125112776899997, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 35, "t_bus": 55, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "33": {"index": 33, "transformer": false, "br_r": 0.0004672844628099174, "br_x": 0.0012631616528925621, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.88327353972, "b_to": 0.88327353972, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 15, "t_bus": 56, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "34": {"index": 34, "transformer": false, "br_r": 1.6740921074380167e-05, "br_x": 4.5253996694214874e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0316441349807, "b_to": 0.0316441349807, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 62, "t_bus": 73, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "35": {"index": 35, "transformer": false, "br_r": 0.00023777789256198347, "br_x": 0.0006427603305785123, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.44945410674999997, "b_to": 0.44945410674999997, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 45, "t_bus": 52, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "36": {"index": 36, "transformer": false, "br_r": 9.808123140495869e-06, "br_x": 2.65132826446281e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.018539575641399998, "b_to": 0.018539575641399998, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 54, "t_bus": 80, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "37": {"index": 37, "transformer": false, "br_r": 1.7537194214876032e-05, "br_x": 4.740647933884297e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.033149271683, "b_to": 0.033149271683, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 7, "t_bus": 44, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "38": {"index": 38, "transformer": false, "br_r": 0.00024048824380165288, "br_x": 0.0006500869421487603, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.454577284865, "b_to": 0.454577284865, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 15, "t_bus": 52, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "39": {"index": 39, "transformer": false, "br_r": 1.821491776859504e-05, "br_x": 4.9238499173553714e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.034430322798299995, "b_to": 0.034430322798299995, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 31, "t_bus": 60, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "40": {"index": 40, "transformer": false, "br_r": 1.4756527685950414e-05, "br_x": 3.988979173553719e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.027893181735099998, "b_to": 0.027893181735099998, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 44, "t_bus": 61, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "41": {"index": 41, "transformer": false, "br_r": 1.3625872314049586e-05, "br_x": 3.683340826446281e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0257559868313, "b_to": 0.0257559868313, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 44, "t_bus": 61, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "42": {"index": 42, "transformer": false, "br_r": 0.0001310841694214876, "br_x": 0.00035434624793388426, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.24777878902699998, "b_to": 0.24777878902699998, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 6, "t_bus": 61, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "43": {"index": 43, "transformer": false, "br_r": 4.689704008264463e-05, "br_x": 0.00012677190743801652, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0886460344671, "b_to": 0.0886460344671, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 23, "t_bus": 62, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "44": {"index": 44, "transformer": false, "br_r": 0.00011679939669421486, "br_x": 0.0003157317024793388, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.22077733108199998, "b_to": 0.22077733108199998, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 46, "t_bus": 43, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "45": {"index": 45, "transformer": false, "br_r": 6.848835867768595e-06, "br_x": 1.8513748099173555e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.01294585200524, "b_to": 0.01294585200524, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 25, "t_bus": 48, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "46": {"index": 46, "transformer": false, "br_r": 3.256077520661157e-05, "br_x": 8.801816859504131e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0615472446908, "b_to": 0.0615472446908, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 42, "t_bus": 55, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "47": {"index": 47, "transformer": false, "br_r": 8.471372479338843e-05, "br_x": 0.00022899783140495865, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.16012813931619999, "b_to": 0.16012813931619999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 79, "t_bus": 3, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "48": {"index": 48, "transformer": false, "br_r": 0.00029743005371900825, "br_x": 0.0008040118347107439, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.562210210859, "b_to": 0.562210210859, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 59, "t_bus": 74, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "49": {"index": 49, "transformer": false, "br_r": 8.12613979338843e-06, "br_x": 2.1966551404958676e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.015360245911889999, "b_to": 0.015360245911889999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 27, "t_bus": 49, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "50": {"index": 50, "transformer": false, "br_r": 3.762483347107438e-05, "br_x": 0.00010170731239669421, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0711194625251, "b_to": 0.0711194625251, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 36, "t_bus": 37, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "51": {"index": 51, "transformer": false, "br_r": 0.0001394704214876033, "br_x": 0.0003770159338842975, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.263630706086, "b_to": 0.263630706086, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 24, "t_bus": 79, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "52": {"index": 52, "transformer": false, "br_r": 0.00011251260743801652, "br_x": 0.0003041436694214876, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.212674327833, "b_to": 0.212674327833, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 78, "t_bus": 81, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "53": {"index": 53, "transformer": false, "br_r": 3.099420123966942e-05, "br_x": 8.378341157024791e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.058586064846099996, "b_to": 0.058586064846099996, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 26, "t_bus": 55, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "54": {"index": 54, "transformer": false, "br_r": 0.00012475126859504132, "br_x": 0.0003372271735537189, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.23580817118099998, "b_to": 0.23580817118099998, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 10, "t_bus": 26, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "55": {"index": 55, "transformer": false, "br_r": 0.00011084386363636363, "br_x": 0.00029963272727272726, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.209520023845, "b_to": 0.209520023845, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 10, "t_bus": 64, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "56": {"index": 56, "transformer": false, "br_r": 0.00018134376446280994, "br_x": 0.0004902078016528926, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.342780814453, "b_to": 0.342780814453, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 19, "t_bus": 64, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "57": {"index": 57, "transformer": false, "br_r": 4.929586446280991e-05, "br_x": 4.950678611239669e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.7377328412642, "b_to": 1.7377328412642, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 33, "t_bus": 65, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "58": {"index": 58, "transformer": false, "br_r": 4.937723140495868e-05, "br_x": 4.958850119834711e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.7406011144775, "b_to": 1.7406011144775, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 33, "t_bus": 65, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "59": {"index": 59, "transformer": false, "br_r": 0.000377132479338843, "br_x": 0.0010194631404958677, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.71286585898, "b_to": 0.71286585898, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 53, "t_bus": 74, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "60": {"index": 60, "transformer": false, "br_r": 5.8436084297520655e-06, "br_x": 5.868611410082645e-06, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.20599355322249, "b_to": 0.20599355322249, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 60, "t_bus": 72, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "61": {"index": 61, "transformer": false, "br_r": 1.326755041322314e-05, "br_x": 1.3324318128925619e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.4676955831372, "b_to": 0.4676955831372, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 11, "t_bus": 12, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "62": {"index": 62, "transformer": false, "br_r": 4.928598347107438e-05, "br_x": 4.949686284297522e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.7373845255580003, "b_to": 1.7373845255580003, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 82, "t_bus": 29, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "63": {"index": 63, "transformer": false, "br_r": 1.1055216528925618e-05, "br_x": 1.1102518357024794e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.38970840736740003, "b_to": 0.38970840736740003, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 30, "t_bus": 51, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "64": {"index": 64, "transformer": false, "br_r": 1.3728831404958676e-05, "br_x": 1.3787572798347106e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.4839562398297, "b_to": 0.4839562398297, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 29, "t_bus": 34, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "65": {"index": 65, "transformer": false, "br_r": 2.54041305785124e-05, "br_x": 2.551282694049587e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.8955232348821001, "b_to": 0.8955232348821001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 32, "t_bus": 33, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "66": {"index": 66, "transformer": false, "br_r": 2.796371074380165e-05, "br_x": 2.808335875206612e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.9857512197555001, "b_to": 0.9857512197555001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 14, "t_bus": 36, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "67": {"index": 67, "transformer": false, "br_r": 7.445407933884298e-06, "br_x": 7.477264515371902e-06, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.26245872801522, "b_to": 0.26245872801522, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 33, "t_bus": 37, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "68": {"index": 68, "transformer": false, "br_r": 6.59696347107438e-05, "br_x": 6.625189822975207e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 2.3255013785091, "b_to": 2.3255013785091, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 57, "t_bus": 3, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "69": {"index": 69, "transformer": false, "br_r": 3.9888757024793385e-05, "br_x": 4.005942859173554e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.4061220719942, "b_to": 1.4061220719942, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 57, "t_bus": 67, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "70": {"index": 70, "transformer": false, "br_r": 8.088050082644629e-05, "br_x": 0.00021863587438016531, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1528824772596, "b_to": 0.1528824772596, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 17, "t_bus": 18, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "71": {"index": 71, "transformer": false, "br_r": 2.5049019834710748e-05, "br_x": 2.5156196788429757e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.8830051949103002, "b_to": 0.8830051949103002, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 57, "t_bus": 75, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "72": {"index": 72, "transformer": false, "br_r": 2.2473004958677688e-05, "br_x": 2.2569159947107442e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.7921978686072001, "b_to": 0.7921978686072001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 57, "t_bus": 38, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "73": {"index": 73, "transformer": false, "br_r": 4.408374214876033e-05, "br_x": 4.4272362750413216e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.5539998604856, "b_to": 1.5539998604856, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 82, "t_bus": 67, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "74": {"index": 74, "transformer": false, "br_r": 2.3274676033057853e-05, "br_x": 2.3374261122314052e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.8204576459541001, "b_to": 0.8204576459541001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 32, "t_bus": 69, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "75": {"index": 75, "transformer": false, "br_r": 4.299259834710744e-05, "br_x": 4.317655028429753e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.5155358546438003, "b_to": 1.5155358546438003, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 33, "t_bus": 69, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "76": {"index": 76, "transformer": false, "br_r": 5.412071239669422e-05, "br_x": 5.43522780677686e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.9078139789049, "b_to": 1.9078139789049, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 69, "t_bus": 75, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "77": {"index": 77, "transformer": false, "br_r": 2.6158211570247933e-05, "br_x": 2.6270134409917357e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.9221054100522001, "b_to": 0.9221054100522001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 2, "t_bus": 82, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "78": {"index": 78, "transformer": false, "br_r": 8.94323520661157e-06, "br_x": 8.98150052446281e-06, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.31525876856067003, "b_to": 0.31525876856067003, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 2, "t_bus": 70, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "79": {"index": 79, "transformer": false, "br_r": 1.68519305785124e-05, "br_x": 1.692403474049587e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.5940488826822001, "b_to": 0.5940488826822001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 38, "t_bus": 70, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "80": {"index": 80, "transformer": false, "br_r": 2.413533057851239e-05, "br_x": 2.4238598140495867e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.8507966548125, "b_to": 0.8507966548125, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 2, "t_bus": 71, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "81": {"index": 81, "transformer": false, "br_r": 0.00010648920247933885, "br_x": 0.00028786122314049587, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.201288727321, "b_to": 0.201288727321, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 68, "t_bus": 47, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "82": {"index": 82, "transformer": false, "br_r": 1.4655023140495867e-05, "br_x": 1.4717727419834711e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.5166055059231001, "b_to": 0.5166055059231001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 29, "t_bus": 40, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "83": {"index": 83, "transformer": false, "br_r": 2.7664357024793388e-05, "br_x": 2.778272419173554e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.9751986755544001, "b_to": 0.9751986755544001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 2, "t_bus": 40, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "84": {"index": 84, "transformer": false, "br_r": 4.906325785123967e-05, "br_x": 4.927318424958678e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.7295332052009, "b_to": 1.7295332052009, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 66, "t_bus": 75, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "85": {"index": 85, "transformer": false, "br_r": 4.822508760330579e-05, "br_x": 4.8431427732231406e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.6999867922862002, "b_to": 1.6999867922862002, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 82, "t_bus": 39, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "86": {"index": 86, "transformer": false, "br_r": 8.979270578512397e-05, "br_x": 9.017690080495869e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 3.1652905461573004, "b_to": 3.1652905461573004, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 82, "t_bus": 51, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "87": {"index": 87, "transformer": false, "br_r": 2.414188429752066e-05, "br_x": 2.4245179900826447e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.8510276805360001, "b_to": 0.8510276805360001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 63, "t_bus": 81, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "88": {"index": 88, "transformer": false, "br_r": 3.89280826446281e-05, "br_x": 3.909464378512397e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.3722572551710002, "b_to": 1.3722572551710002, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 67, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "89": {"index": 89, "transformer": false, "br_r": 5.657828801652893e-05, "br_x": 0.0001529422214876033, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1069457872131, "b_to": 0.1069457872131, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 26, "t_bus": 74, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "90": {"index": 90, "transformer": false, "br_r": 6.350674214876033e-05, "br_x": 0.00017167119338842973, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1200421357828, "b_to": 0.1200421357828, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 4, "t_bus": 42, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "91": {"index": 91, "transformer": false, "br_r": 0.0002765101239669421, "br_x": 0.0007474611570247933, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.52266680235, "b_to": 0.52266680235, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 6, "t_bus": 21, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "92": {"index": 92, "transformer": false, "br_r": 0.0001057444214876033, "br_x": 0.0002858479338842975, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.19988092245, "b_to": 0.19988092245, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 13, "t_bus": 47, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "93": {"index": 93, "transformer": false, "br_r": 0.00025798019008264466, "br_x": 0.0006973711074380165, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.487641027698, "b_to": 0.487641027698, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 19, "t_bus": 76, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "94": {"index": 94, "transformer": false, "br_r": 9.501613636363637e-05, "br_x": 0.0002568472727272727, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.17960203211499998, "b_to": 0.17960203211499998, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 68, "t_bus": 17, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "95": {"index": 95, "transformer": false, "br_r": 5.0131543388429755e-06, "br_x": 1.3551540495867768e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.00947599787805, "b_to": 0.00947599787805, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 68, "t_bus": 73, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "96": {"index": 96, "transformer": false, "br_r": 0.00010105311570247936, "br_x": 0.00027316641322314047, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.191013291282, "b_to": 0.191013291282, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 68, "t_bus": 72, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "97": {"index": 97, "transformer": false, "br_r": 6.445857768595041e-05, "br_x": 0.0001742441917355372, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1218413206714, "b_to": 0.1218413206714, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 46, "t_bus": 20, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "98": {"index": 98, "transformer": false, "br_r": 2.020672892561983e-05, "br_x": 2.0293187224793388e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.7123091734209, "b_to": 0.7123091734209, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 28, "t_bus": 66, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "99": {"index": 99, "transformer": false, "br_r": 6.635247520661156e-05, "br_x": 0.0001793637685950413, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.12542121621699998, "b_to": 0.12542121621699998, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 17, "t_bus": 58, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "100": {"index": 100, "transformer": false, "br_r": 6.455866611570249e-05, "br_x": 0.00017451475041322311, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1220305104876, "b_to": 0.1220305104876, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 6, "t_bus": 52, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "101": {"index": 101, "transformer": false, "br_r": 5.360586074380165e-05, "br_x": 0.00014490716694214874, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1013272259989, "b_to": 0.1013272259989, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 31, "t_bus": 49, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "102": {"index": 102, "transformer": false, "br_r": 8.012603677685951e-05, "br_x": 0.00021659640991735537, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1514563692147, "b_to": 0.1514563692147, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 8, "t_bus": 26, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "103": {"index": 103, "transformer": false, "br_r": 5.194299917355372e-05, "br_x": 0.0001404121256198347, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0981840407614, "b_to": 0.0981840407614, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 68, "t_bus": 48, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "104": {"index": 104, "transformer": false, "br_r": 1.876649008264463e-05, "br_x": 5.072950743801653e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0354729194798, "b_to": 0.0354729194798, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 23, "t_bus": 63, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "105": {"index": 105, "transformer": false, "br_r": 5.575812396694215e-05, "br_x": 0.0001507251570247934, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.105395491278, "b_to": 0.105395491278, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 5, "t_bus": 54, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "106": {"index": 106, "transformer": false, "br_r": 5.284605743801653e-05, "br_x": 0.0001428532694214876, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0998910255497, "b_to": 0.0998910255497, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 26, "t_bus": 77, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "107": {"index": 107, "transformer": false, "br_r": 2.492781074380165e-05, "br_x": 6.738476694214875e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.04711921192659999, "b_to": 0.04711921192659999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 77, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "108": {"index": 108, "transformer": false, "br_r": 4.6210990909090905e-05, "br_x": 0.0001249173818181818, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0873492460434, "b_to": 0.0873492460434, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 48, "t_bus": 65, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "109": {"index": 109, "transformer": false, "br_r": 2.5049019834710748e-05, "br_x": 2.5156196788429757e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.8830051949103002, "b_to": 0.8830051949103002, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 57, "t_bus": 75, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "110": {"index": 110, "transformer": false, "br_r": 5.412071239669422e-05, "br_x": 5.43522780677686e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.9078139789049, "b_to": 1.9078139789049, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 69, "t_bus": 75, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "111": {"index": 111, "transformer": false, "br_r": 1.326755041322314e-05, "br_x": 1.3324318128925619e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.4676955831372, "b_to": 0.4676955831372, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 11, "t_bus": 12, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "112": {"index": 112, "transformer": false, "br_r": 2.492781074380165e-05, "br_x": 6.738476694214875e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.04711921192659999, "b_to": 0.04711921192659999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 77, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "113": {"index": 113, "transformer": false, "br_r": 9.478265702479337e-06, "br_x": 2.562161322314049e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0179160703249, "b_to": 0.0179160703249, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 11, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "114": {"index": 114, "transformer": true, "br_r": 4.275061802727891e-06, "br_x": 0.00039998108282893, "g_fr": 0.034999320231447764, "g_to": 0.034999320231447764, "b_fr": -0.04873373443828248, "b_to": -0.04873373443828248, "rate_a": 300.0, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 1, "t_bus": 3, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "115": {"index": 115, "transformer": true, "br_r": 4.275061802727891e-06, "br_x": 0.00039998108282893, "g_fr": 0.034999320231447764, "g_to": 0.034999320231447764, "b_fr": -0.04873373443828248, "b_to": -0.04873373443828248, "rate_a": 300.0, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 1, "t_bus": 3, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "116": {"index": 116, "transformer": true, "br_r": 4.275061802727891e-06, "br_x": 0.00039998108282893, "g_fr": 0.034999320231447764, "g_to": 0.034999320231447764, "b_fr": -0.04873373443828248, "b_to": -0.04873373443828248, "rate_a": 300.0, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 1, "t_bus": 3, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}}, "bus": {"1": {"index": 1, "bus_i": 1, "zone": 1, "bus_type": 3, "vmax": 1.06800001, "vmin": 1.0679999900000001, "va": 0.0, "vm": 1.068, "base_kv": 220.0}, "2": {"index": 2, "bus_i": 2, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "3": {"index": 3, "bus_i": 3, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "4": {"index": 4, "bus_i": 4, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "5": {"index": 5, "bus_i": 5, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "6": {"index": 6, "bus_i": 6, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "7": {"index": 7, "bus_i": 7, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "8": {"index": 8, "bus_i": 8, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "9": {"index": 9, "bus_i": 9, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "10": {"index": 10, "bus_i": 10, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "11": {"index": 11, "bus_i": 11, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "12": {"index": 12, "bus_i": 12, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "13": {"index": 13, "bus_i": 13, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "14": {"index": 14, "bus_i": 14, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "15": {"index": 15, "bus_i": 15, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "16": {"index": 16, "bus_i": 16, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "17": {"index": 17, "bus_i": 17, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "18": {"index": 18, "bus_i": 18, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "19": {"index": 19, "bus_i": 19, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "20": {"index": 20, "bus_i": 20, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "21": {"index": 21, "bus_i": 21, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "22": {"index": 22, "bus_i": 22, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "23": {"index": 23, "bus_i": 23, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "24": {"index": 24, "bus_i": 24, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "25": {"index": 25, "bus_i": 25, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "26": {"index": 26, "bus_i": 26, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "27": {"index": 27, "bus_i": 27, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "28": {"index": 28, "bus_i": 28, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "29": {"index": 29, "bus_i": 29, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "30": {"index": 30, "bus_i": 30, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "31": {"index": 31, "bus_i": 31, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "32": {"index": 32, "bus_i": 32, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "33": {"index": 33, "bus_i": 33, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "34": {"index": 34, "bus_i": 34, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "35": {"index": 35, "bus_i": 35, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "36": {"index": 36, "bus_i": 36, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "37": {"index": 37, "bus_i": 37, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "38": {"index": 38, "bus_i": 38, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "39": {"index": 39, "bus_i": 39, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "40": {"index": 40, "bus_i": 40, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "41": {"index": 41, "bus_i": 41, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "42": {"index": 42, "bus_i": 42, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "43": {"index": 43, "bus_i": 43, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "44": {"index": 44, "bus_i": 44, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "45": {"index": 45, "bus_i": 45, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "46": {"index": 46, "bus_i": 46, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "47": {"index": 47, "bus_i": 47, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "48": {"index": 48, "bus_i": 48, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "49": {"index": 49, "bus_i": 49, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "50": {"index": 50, "bus_i": 50, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "51": {"index": 51, "bus_i": 51, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "52": {"index": 52, "bus_i": 52, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "53": {"index": 53, "bus_i": 53, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "54": {"index": 54, "bus_i": 54, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "55": {"index": 55, "bus_i": 55, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "56": {"index": 56, "bus_i": 56, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "57": {"index": 57, "bus_i": 57, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "58": {"index": 58, "bus_i": 58, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "59": {"index": 59, "bus_i": 59, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "60": {"index": 60, "bus_i": 60, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "61": {"index": 61, "bus_i": 61, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "62": {"index": 62, "bus_i": 62, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "63": {"index": 63, "bus_i": 63, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "64": {"index": 64, "bus_i": 64, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "65": {"index": 65, "bus_i": 65, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "66": {"index": 66, "bus_i": 66, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "67": {"index": 67, "bus_i": 67, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "68": {"index": 68, "bus_i": 68, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "69": {"index": 69, "bus_i": 69, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "70": {"index": 70, "bus_i": 70, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "71": {"index": 71, "bus_i": 71, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "72": {"index": 72, "bus_i": 72, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "73": {"index": 73, "bus_i": 73, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "74": {"index": 74, "bus_i": 74, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "75": {"index": 75, "bus_i": 75, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "76": {"index": 76, "bus_i": 76, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "77": {"index": 77, "bus_i": 77, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "78": {"index": 78, "bus_i": 78, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "79": {"index": 79, "bus_i": 79, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "80": {"index": 80, "bus_i": 80, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "81": {"index": 81, "bus_i": 81, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "82": {"index": 82, "bus_i": 82, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}}, "dcline": {}, "load": {"1": {"pd": 1.0, "qd": 0.395, "load_bus": 2, "status": 1, "index": 1}, "2": {"pd": 1.0, "qd": 0.395, "load_bus": 3, "status": 1, "index": 2}, "3": {"pd": 1.0, "qd": 0.395, "load_bus": 7, "status": 1, "index": 3}, "4": {"pd": 1.0, "qd": 0.395, "load_bus": 8, "status": 1, "index": 4}, "5": {"pd": 1.0, "qd": 0.395, "load_bus": 9, "status": 1, "index": 5}, "6": {"pd": 1.0, "qd": 0.395, "load_bus": 5, "status": 1, "index": 6}, "7": {"pd": 1.0, "qd": 0.395, "load_bus": 10, "status": 1, "index": 7}, "8": {"pd": 1.0, "qd": 0.395, "load_bus": 11, "status": 1, "index": 8}, "9": {"pd": 1.0, "qd": 0.395, "load_bus": 16, "status": 1, "index": 9}, "10": {"pd": 1.0, "qd": 0.395, "load_bus": 14, "status": 1, "index": 10}, "11": {"pd": 1.0, "qd": 0.395, "load_bus": 15, "status": 1, "index": 11}, "12": {"pd": 1.0, "qd": 0.395, "load_bus": 17, "status": 1, "index": 12}, "13": {"pd": 1.0, "qd": 0.395, "load_bus": 21, "status": 1, "index": 13}, "14": {"pd": 1.0, "qd": 0.395, "load_bus": 23, "status": 1, "index": 14}, "15": {"pd": 1.0, "qd": 0.395, "load_bus": 24, "status": 1, "index": 15}, "16": {"pd": 1.0, "qd": 0.395, "load_bus": 25, "status": 1, "index": 16}, "17": {"pd": 1.0, "qd": 0.395, "load_bus": 26, "status": 1, "index": 17}, "18": {"pd": 1.0, "qd": 0.395, "load_bus": 28, "status": 1, "index": 18}, "19": {"pd": 1.0, "qd": 0.395, "load_bus": 29, "status": 1, "index": 19}, "20": {"pd": 1.0, "qd": 0.395, "load_bus": 31, "status": 1, "index": 20}, "21": {"pd": 1.0, "qd": 0.395, "load_bus": 34, "status": 1, "index": 21}, "22": {"pd": 1.0, "qd": 0.395, "load_bus": 40, "status": 1, "index": 22}, "23": {"pd": 1.0, "qd": 0.395, "load_bus": 35, "status": 1, "index": 23}, "24": {"pd": 1.0, "qd": 0.395, "load_bus": 47, "status": 1, "index": 24}, "25": {"pd": 1.0, "qd": 0.395, "load_bus": 50, "status": 1, "index": 25}, "26": {"pd": 1.0, "qd": 0.395, "load_bus": 52, "status": 1, "index": 26}, "27": {"pd": 1.0, "qd": 0.395, "load_bus": 41, "status": 1, "index": 27}, "28": {"pd": 1.0, "qd": 0.395, "load_bus": 53, "status": 1, "index": 28}, "29": {"pd": 1.0, "qd": 0.395, "load_bus": 42, "status": 1, "index": 29}, "30": {"pd": 1.0, "qd": 0.395, "load_bus": 44, "status": 1, "index": 30}, "31": {"pd": 1.0, "qd": 0.395, "load_bus": 57, "status": 1, "index": 31}, "32": {"pd": 1.0, "qd": 0.395, "load_bus": 65, "status": 1, "index": 32}, "33": {"pd": 1.0, "qd": 0.395, "load_bus": 66, "status": 1, "index": 33}, "34": {"pd": 1.0, "qd": 0.395, "load_bus": 49, "status": 1, "index": 34}, "35": {"pd": 1.0, "qd": 0.395, "load_bus": 70, "status": 1, "index": 35}, "36": {"pd": 1.0, "qd": 0.395, "load_bus": 74, "status": 1, "index": 36}, "37": {"pd": 1.0, "qd": 0.395, "load_bus": 51, "status": 1, "index": 37}, "38": {"pd": 1.0, "qd": 0.395, "load_bus": 54, "status": 1, "index": 38}, "39": {"pd": 1.0, "qd": 0.395, "load_bus": 75, "status": 1, "index": 39}, "40": {"pd": 1.0, "qd": 0.395, "load_bus": 56, "status": 1, "index": 40}, "41": {"pd": 1.0, "qd": 0.395, "load_bus": 59, "status": 1, "index": 41}, "42": {"pd": 1.0, "qd": 0.395, "load_bus": 60, "status": 1, "index": 42}, "43": {"pd": 1.0, "qd": 0.395, "load_bus": 61, "status": 1, "index": 43}, "44": {"pd": 1.0, "qd": 0.395, "load_bus": 63, "status": 1, "index": 44}, "45": {"pd": 1.0, "qd": 0.395, "load_bus": 77, "status": 1, "index": 45}, "46": {"pd": 1.0, "qd": 0.395, "load_bus": 80, "status": 1, "index": 46}, "47": {"pd": 1.0, "qd": 0.395, "load_bus": 81, "status": 1, "index": 47}, "48": {"pd": 1.0, "qd": 0.395, "load_bus": 6, "status": 1, "index": 48}, "49": {"pd": 1.0, "qd": 0.395, "load_bus": 13, "status": 1, "index": 49}, "50": {"pd": 1.0, "qd": 0.395, "load_bus": 68, "status": 1, "index": 50}, "51": {"pd": 1.0, "qd": 0.395, "load_bus": 73, "status": 1, "index": 51}, "52": {"pd": 1.0, "qd": 0.395, "load_bus": 30, "status": 1, "index": 52}, "53": {"pd": 1.0, "qd": 0.395, "load_bus": 43, "status": 1, "index": 53}, "54": {"pd": 1.0, "qd": 0.395, "load_bus": 76, "status": 1, "index": 54}, "55": {"pd": 1.0, "qd": 0.395, "load_bus": 58, "status": 1, "index": 55}, "56": {"pd": 1.0, "qd": 0.395, "load_bus": 79, "status": 1, "index": 56}, "57": {"pd": 5.0, "qd": 1.976, "load_bus": 4, "status": 1, "index": 57}, "58": {"pd": 5.0, "qd": 1.976, "load_bus": 20, "status": 1, "index": 58}, "59": {"pd": 5.0, "qd": 1.976, "load_bus": 27, "status": 1, "index": 59}, "60": {"pd": 5.0, "qd": 1.976, "load_bus": 32, "status": 1, "index": 60}, "61": {"pd": 5.0, "qd": 1.976, "load_bus": 33, "status": 1, "index": 61}, "62": {"pd": 5.0, "qd": 1.976, "load_bus": 36, "status": 1, "index": 62}, "63": {"pd": 5.0, "qd": 1.976, "load_bus": 45, "status": 1, "index": 63}, "64": {"pd": 5.0, "qd": 1.976, "load_bus": 62, "status": 1, "index": 64}, "65": {"pd": 5.0, "qd": 1.976, "load_bus": 72, "status": 1, "index": 65}, "66": {"pd": 5.0, "qd": 1.976, "load_bus": 82, "status": 1, "index": 66}, "67": {"pd": 34.48, "qd": 13.627, "load_bus": 37, "status": 1, "index": 67}, "68": {"pd": 34.48, "qd": 13.627, "load_bus": 38, "status": 1, "index": 68}, "69": {"pd": 34.48, "qd": 13.627, "load_bus": 64, "status": 1, "index": 69}, "70": {"pd": 17.26, "qd": 6.822, "load_bus": 12, "status": 1, "index": 70}, "71": {"pd": 17.26, "qd": 6.822, "load_bus": 22, "status": 1, "index": 71}, "72": {"pd": 17.26, "qd": 6.822, "load_bus": 48, "status": 1, "index": 72}, "73": {"pd": 17.26, "qd": 6.822, "load_bus": 69, "status": 1, "index": 73}, "74": {"pd": 17.26, "qd": 6.822, "load_bus": 78, "status": 1, "index": 74}, "75": {"pd": 31.64, "qd": 12.505, "load_bus": 19, "status": 1, "index": 75}, "76": {"pd": 31.64, "qd": 12.505, "load_bus": 71, "status": 1, "index": 76}, "77": {"pd": 31.64, "qd": 12.505, "load_bus": 67, "status": 1, "index": 77}, "78": {"pd": 49.71, "qd": 19.647, "load_bus": 18, "status": 1, "index": 78}, "79": {"pd": 49.71, "qd": 19.647, "load_bus": 46, "status": 1, "index": 79}, "80": {"pd": -0.0, "qd": -0.0, "load_bus": 2, "status": 1, "index": 80}, "81": {"pd": -0.0, "qd": -0.0, "load_bus": 3, "status": 1, "index": 81}, "82": {"pd": -0.0, "qd": -0.0, "load_bus": 7, "status": 1, "index": 82}, "83": {"pd": -0.0, "qd": -0.0, "load_bus": 8, "status": 1, "index": 83}, "84": {"pd": -0.0, "qd": -0.0, "load_bus": 9, "status": 1, "index": 84}, "85": {"pd": -0.0, "qd": -0.0, "load_bus": 11, "status": 1, "index": 85}, "86": {"pd": -0.0, "qd": -0.0, "load_bus": 16, "status": 1, "index": 86}, "87": {"pd": -0.0, "qd": -0.0, "load_bus": 5, "status": 1, "index": 87}, "88": {"pd": -0.0, "qd": -0.0, "load_bus": 10, "status": 1, "index": 88}, "89": {"pd": -0.0, "qd": -0.0, "load_bus": 21, "status": 1, "index": 89}, "90": {"pd": -0.0, "qd": -0.0, "load_bus": 23, "status": 1, "index": 90}, "91": {"pd": -0.0, "qd": -0.0, "load_bus": 24, "status": 1, "index": 91}, "92": {"pd": -0.0, "qd": -0.0, "load_bus": 14, "status": 1, "index": 92}, "93": {"pd": -0.0, "qd": -0.0, "load_bus": 15, "status": 1, "index": 93}, "94": {"pd": -0.0, "qd": -0.0, "load_bus": 17, "status": 1, "index": 94}, "95": {"pd": -0.0, "qd": -0.0, "load_bus": 25, "status": 1, "index": 95}, "96": {"pd": -0.0, "qd": -0.0, "load_bus": 28, "status": 1, "index": 96}, "97": {"pd": -0.0, "qd": -0.0, "load_bus": 29, "status": 1, "index": 97}, "98": {"pd": -0.0, "qd": -0.0, "load_bus": 26, "status": 1, "index": 98}, "99": {"pd": -0.0, "qd": -0.0, "load_bus": 31, "status": 1, "index": 99}, "100": {"pd": -0.0, "qd": -0.0, "load_bus": 35, "status": 1, "index": 100}, "101": {"pd": -0.0, "qd": -0.0, "load_bus": 34, "status": 1, "index": 101}, "102": {"pd": -0.0, "qd": -0.0, "load_bus": 40, "status": 1, "index": 102}, "103": {"pd": -0.0, "qd": -0.0, "load_bus": 47, "status": 1, "index": 103}, "104": {"pd": -0.0, "qd": -0.0, "load_bus": 50, "status": 1, "index": 104}, "105": {"pd": -0.0, "qd": -0.0, "load_bus": 41, "status": 1, "index": 105}, "106": {"pd": -0.0, "qd": -0.0, "load_bus": 42, "status": 1, "index": 106}, "107": {"pd": -0.0, "qd": -0.0, "load_bus": 44, "status": 1, "index": 107}, "108": {"pd": -0.0, "qd": -0.0, "load_bus": 52, "status": 1, "index": 108}, "109": {"pd": -0.0, "qd": -0.0, "load_bus": 53, "status": 1, "index": 109}, "110": {"pd": -0.0, "qd": -0.0, "load_bus": 57, "status": 1, "index": 110}, "111": {"pd": -0.0, "qd": -0.0, "load_bus": 49, "status": 1, "index": 111}, "112": {"pd": -0.0, "qd": -0.0, "load_bus": 65, "status": 1, "index": 112}, "113": {"pd": -0.0, "qd": -0.0, "load_bus": 51, "status": 1, "index": 113}, "114": {"pd": -0.0, "qd": -0.0, "load_bus": 54, "status": 1, "index": 114}, "115": {"pd": -0.0, "qd": -0.0, "load_bus": 66, "status": 1, "index": 115}, "116": {"pd": -0.0, "qd": -0.0, "load_bus": 56, "status": 1, "index": 116}, "117": {"pd": -0.0, "qd": -0.0, "load_bus": 70, "status": 1, "index": 117}, "118": {"pd": -0.0, "qd": -0.0, "load_bus": 59, "status": 1, "index": 118}, "119": {"pd": -0.0, "qd": -0.0, "load_bus": 74, "status": 1, "index": 119}, "120": {"pd": -0.0, "qd": -0.0, "load_bus": 75, "status": 1, "index": 120}, "121": {"pd": -0.0, "qd": -0.0, "load_bus": 60, "status": 1, "index": 121}, "122": {"pd": -0.0, "qd": -0.0, "load_bus": 61, "status": 1, "index": 122}, "123": {"pd": -0.0, "qd": -0.0, "load_bus": 77, "status": 1, "index": 123}, "124": {"pd": -0.0, "qd": -0.0, "load_bus": 63, "status": 1, "index": 124}, "125": {"pd": -0.0, "qd": -0.0, "load_bus": 68, "status": 1, "index": 125}, "126": {"pd": -0.0, "qd": -0.0, "load_bus": 73, "status": 1, "index": 126}, "127": {"pd": -0.0, "qd": -0.0, "load_bus": 80, "status": 1, "index": 127}, "128": {"pd": -0.0, "qd": -0.0, "load_bus": 81, "status": 1, "index": 128}, "129": {"pd": -0.0, "qd": -0.0, "load_bus": 6, "status": 1, "index": 129}, "130": {"pd": -0.0, "qd": -0.0, "load_bus": 13, "status": 1, "index": 130}, "131": {"pd": -0.0, "qd": -0.0, "load_bus": 30, "status": 1, "index": 131}, "132": {"pd": -0.0, "qd": -0.0, "load_bus": 76, "status": 1, "index": 132}, "133": {"pd": -0.0, "qd": -0.0, "load_bus": 79, "status": 1, "index": 133}, "134": {"pd": -0.0, "qd": -0.0, "load_bus": 43, "status": 1, "index": 134}, "135": {"pd": -0.0, "qd": -0.0, "load_bus": 58, "status": 1, "index": 135}, "136": {"pd": -1.0, "qd": -0.0, "load_bus": 4, "status": 1, "index": 136}, "137": {"pd": -1.0, "qd": -0.0, "load_bus": 20, "status": 1, "index": 137}, "138": {"pd": -1.0, "qd": -0.0, "load_bus": 27, "status": 1, "index": 138}, "139": {"pd": -1.0, "qd": -0.0, "load_bus": 32, "status": 1, "index": 139}, "140": {"pd": -1.0, "qd": -0.0, "load_bus": 33, "status": 1, "index": 140}, "141": {"pd": -1.0, "qd": -0.0, "load_bus": 36, "status": 1, "index": 141}, "142": {"pd": -1.0, "qd": -0.0, "load_bus": 45, "status": 1, "index": 142}, "143": {"pd": -1.0, "qd": -0.0, "load_bus": 62, "status": 1, "index": 143}, "144": {"pd": -1.0, "qd": -0.0, "load_bus": 72, "status": 1, "index": 144}, "145": {"pd": -1.0, "qd": -0.0, "load_bus": 82, "status": 1, "index": 145}, "146": {"pd": -16.63, "qd": -0.0, "load_bus": 37, "status": 1, "index": 146}, "147": {"pd": -16.63, "qd": -0.0, "load_bus": 38, "status": 1, "index": 147}, "148": {"pd": -16.63, "qd": -0.0, "load_bus": 64, "status": 1, "index": 148}, "149": {"pd": -25.57, "qd": -0.0, "load_bus": 12, "status": 1, "index": 149}, "150": {"pd": -25.57, "qd": -0.0, "load_bus": 22, "status": 1, "index": 150}, "151": {"pd": -25.57, "qd": -0.0, "load_bus": 48, "status": 1, "index": 151}, "152": {"pd": -25.57, "qd": -0.0, "load_bus": 69, "status": 1, "index": 152}, "153": {"pd": -25.57, "qd": -0.0, "load_bus": 78, "status": 1, "index": 153}, "154": {"pd": -23.8, "qd": -0.0, "load_bus": 19, "status": 1, "index": 154}, "155": {"pd": -23.8, "qd": -0.0, "load_bus": 71, "status": 1, "index": 155}, "156": {"pd": -23.8, "qd": -0.0, "load_bus": 67, "status": 1, "index": 156}, "157": {"pd": -13.56, "qd": -0.0, "load_bus": 18, "status": 1, "index": 157}, "158": {"pd": -13.56, "qd": -0.0, "load_bus": 46, "status": 1, "index": 158}, "159": {"pd": -13.07, "qd": -0.0, "load_bus": 13, "status": 1, "index": 159}, "160": {"pd": -8.28, "qd": -0.0, "load_bus": 22, "status": 1, "index": 160}, "161": {"pd": -10.07, "qd": -0.0, "load_bus": 23, "status": 1, "index": 161}, "162": {"pd": -11.57, "qd": -0.0, "load_bus": 45, "status": 1, "index": 162}, "163": {"pd": -10.85, "qd": -0.0, "load_bus": 50, "status": 1, "index": 163}, "164": {"pd": -23.55, "qd": -0.0, "load_bus": 24, "status": 1, "index": 164}, "165": {"pd": -9.38, "qd": -0.0, "load_bus": 6, "status": 1, "index": 165}, "166": {"pd": -10.79, "qd": -0.0, "load_bus": 8, "status": 1, "index": 166}, "167": {"pd": -33.48, "qd": -0.0, "load_bus": 10, "status": 1, "index": 167}, "168": {"pd": -8.72, "qd": -0.0, "load_bus": 16, "status": 1, "index": 168}, "169": {"pd": -4.0, "qd": -0.0, "load_bus": 39, "status": 1, "index": 169}, "170": {"pd": -11.74, "qd": -0.0, "load_bus": 43, "status": 1, "index": 170}, "171": {"pd": -25.07, "qd": -0.0, "load_bus": 52, "status": 1, "index": 171}, "172": {"pd": -3.5, "qd": -0.0, "load_bus": 55, "status": 1, "index": 172}, "173": {"pd": -9.55, "qd": -0.0, "load_bus": 64, "status": 1, "index": 173}, "174": {"pd": -46.22, "qd": -0.0, "load_bus": 19, "status": 1, "index": 174}, "175": {"pd": -9.81, "qd": -0.0, "load_bus": 56, "status": 1, "index": 175}, "176": {"pd": -33.48, "qd": -0.0, "load_bus": 58, "status": 1, "index": 176}, "177": {"pd": -16.81, "qd": -0.0, "load_bus": 76, "status": 1, "index": 177}}, "storage": {}, "ne_branch": {}, "switch": {}, "baseMVA": 1, "source_version": "2.0.0", "shunt": {}, "sourcetype": "matpower", "per_unit": true, "name": "", "pm_solver": "Gurobi", "pm_mip_solver": "cbc", "pm_nl_solver": "Gurobi", "pm_model": "DCPPowerModel", "pm_log_level": 0, "pm_time_limit": Infinity, "pm_nl_time_limit": Infinity, "pm_mip_time_limit": Infinity, "correct_pm_network_data": true, "n_time_steps": 24, "time_elapsed": 1.0} diff --git a/pandapower/opf/PpPmInterface/test/data/test_ipopt.json b/pandapower/opf/PpPmInterface/test/data/test_ipopt.json deleted file mode 100644 index 1180fda2c..000000000 --- a/pandapower/opf/PpPmInterface/test/data/test_ipopt.json +++ /dev/null @@ -1 +0,0 @@ -{"gen": {"1": {"pg": 0.0, "qg": 0.0, "gen_bus": 1, "vg": 1.068, "qmax": 1000000000.0, "gen_status": 1, "qmin": -1000000000.0, "pmin": -1000000000.0, "pmax": 1000000000.0, "index": 1, "model": 2, "ncost": 3, "cost": [0, 1.0, 0.0]}}, "branch": {"1": {"index": 1, "transformer": false, "br_r": 4.2376047520661155e-05, "br_x": 0.00011455077685950411, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.08010033389049999, "b_to": 0.08010033389049999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 4, "t_bus": 41, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "2": {"index": 2, "transformer": false, "br_r": 5.284605743801653e-05, "br_x": 0.0001428532694214876, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0998910255497, "b_to": 0.0998910255497, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 26, "t_bus": 77, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "3": {"index": 3, "transformer": false, "br_r": 5.284605743801653e-05, "br_x": 0.0001428532694214876, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0998910255497, "b_to": 0.0998910255497, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 26, "t_bus": 77, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "4": {"index": 4, "transformer": false, "br_r": 3.89280826446281e-05, "br_x": 3.909464378512397e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.3722572551710002, "b_to": 1.3722572551710002, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 67, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "5": {"index": 5, "transformer": false, "br_r": 2.796371074380165e-05, "br_x": 2.808335875206612e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.9857512197555001, "b_to": 0.9857512197555001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 14, "t_bus": 36, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "6": {"index": 6, "transformer": false, "br_r": 6.59696347107438e-05, "br_x": 6.625189822975207e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 2.3255013785091, "b_to": 2.3255013785091, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 57, "t_bus": 3, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "7": {"index": 7, "transformer": false, "br_r": 2.8893701652892566e-05, "br_x": 7.810534876033058e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0546156445714, "b_to": 0.0546156445714, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 12, "t_bus": 14, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "8": {"index": 8, "transformer": false, "br_r": 3.762483347107438e-05, "br_x": 0.00010170731239669421, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0711194625251, "b_to": 0.0711194625251, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 36, "t_bus": 37, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "9": {"index": 9, "transformer": false, "br_r": 3.099420123966942e-05, "br_x": 8.378341157024791e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.058586064846099996, "b_to": 0.058586064846099996, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 26, "t_bus": 55, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "10": {"index": 10, "transformer": false, "br_r": 3.256077520661157e-05, "br_x": 8.801816859504131e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0615472446908, "b_to": 0.0615472446908, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 42, "t_bus": 55, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "11": {"index": 11, "transformer": false, "br_r": 2.0578217355371903e-05, "br_x": 5.562696198347107e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.038897494633799996, "b_to": 0.038897494633799996, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 42, "t_bus": 54, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "12": {"index": 12, "transformer": false, "br_r": 7.445407933884298e-06, "br_x": 7.477264515371902e-06, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.26245872801522, "b_to": 0.26245872801522, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 33, "t_bus": 37, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "13": {"index": 13, "transformer": false, "br_r": 9.478265702479337e-06, "br_x": 2.562161322314049e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0179160703249, "b_to": 0.0179160703249, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 11, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "14": {"index": 14, "transformer": false, "br_r": 5.575812396694215e-05, "br_x": 0.0001507251570247934, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.105395491278, "b_to": 0.105395491278, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 5, "t_bus": 54, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "15": {"index": 15, "transformer": false, "br_r": 5.194299917355372e-05, "br_x": 0.0001404121256198347, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0981840407614, "b_to": 0.0981840407614, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 68, "t_bus": 48, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "16": {"index": 16, "transformer": false, "br_r": 6.190288388429752e-05, "br_x": 0.00016733564958677685, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1170104801657, "b_to": 0.1170104801657, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 5, "t_bus": 49, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "17": {"index": 17, "transformer": false, "br_r": 5.8436084297520655e-06, "br_x": 5.868611410082645e-06, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.20599355322249, "b_to": 0.20599355322249, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 60, "t_bus": 72, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "18": {"index": 18, "transformer": false, "br_r": 2.9501471900826447e-05, "br_x": 7.974827107438016e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0557644680846, "b_to": 0.0557644680846, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 16, "t_bus": 43, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "19": {"index": 19, "transformer": false, "br_r": 2.0578217355371903e-05, "br_x": 5.562696198347107e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.038897494633799996, "b_to": 0.038897494633799996, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 42, "t_bus": 54, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "20": {"index": 20, "transformer": false, "br_r": 6.190288388429752e-05, "br_x": 0.00016733564958677685, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1170104801657, "b_to": 0.1170104801657, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 5, "t_bus": 49, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "21": {"index": 21, "transformer": false, "br_r": 9.421886776859506e-05, "br_x": 0.0002546920991735537, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.178095013778, "b_to": 0.178095013778, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 50, "t_bus": 78, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "22": {"index": 22, "transformer": false, "br_r": 8.453047066115703e-05, "br_x": 0.00022850245950413217, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.15978174747369997, "b_to": 0.15978174747369997, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 13, "t_bus": 50, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "23": {"index": 23, "transformer": false, "br_r": 2.492781074380165e-05, "br_x": 6.738476694214875e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.04711921192659999, "b_to": 0.04711921192659999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 77, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "24": {"index": 24, "transformer": false, "br_r": 1.7744248760330577e-05, "br_x": 4.796618842975206e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0335406517006, "b_to": 0.0335406517006, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 79, "t_bus": 51, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "25": {"index": 25, "transformer": false, "br_r": 2.1056850000000005e-05, "br_x": 5.69208e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0398022188091, "b_to": 0.0398022188091, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 22, "t_bus": 47, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "26": {"index": 26, "transformer": false, "br_r": 9.588580165289255e-05, "br_x": 0.0002591981487603306, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.18124589661199997, "b_to": 0.18124589661199997, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 43, "t_bus": 74, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "27": {"index": 27, "transformer": false, "br_r": 3.43484305785124e-05, "br_x": 9.285055206611572e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0649263184966, "b_to": 0.0649263184966, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 7, "t_bus": 74, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "28": {"index": 28, "transformer": false, "br_r": 2.177430123966942e-05, "br_x": 5.8860211570247936e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0411583642547, "b_to": 0.0411583642547, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 7, "t_bus": 26, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "29": {"index": 29, "transformer": false, "br_r": 1.790668884297521e-05, "br_x": 4.8405295867768594e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.033847700272100004, "b_to": 0.033847700272100004, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 9, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "30": {"index": 30, "transformer": false, "br_r": 4.6210990909090905e-05, "br_x": 0.0001249173818181818, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0873492460434, "b_to": 0.0873492460434, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 48, "t_bus": 65, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "31": {"index": 31, "transformer": false, "br_r": 2.8893701652892566e-05, "br_x": 7.810534876033058e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0546156445714, "b_to": 0.0546156445714, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 12, "t_bus": 14, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "32": {"index": 32, "transformer": false, "br_r": 1.117596818181818e-05, "br_x": 3.021083636363636e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.021125112776899997, "b_to": 0.021125112776899997, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 35, "t_bus": 55, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "33": {"index": 33, "transformer": false, "br_r": 0.0004672844628099174, "br_x": 0.0012631616528925621, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.88327353972, "b_to": 0.88327353972, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 15, "t_bus": 56, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "34": {"index": 34, "transformer": false, "br_r": 1.6740921074380167e-05, "br_x": 4.5253996694214874e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0316441349807, "b_to": 0.0316441349807, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 62, "t_bus": 73, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "35": {"index": 35, "transformer": false, "br_r": 0.00023777789256198347, "br_x": 0.0006427603305785123, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.44945410674999997, "b_to": 0.44945410674999997, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 45, "t_bus": 52, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "36": {"index": 36, "transformer": false, "br_r": 9.808123140495869e-06, "br_x": 2.65132826446281e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.018539575641399998, "b_to": 0.018539575641399998, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 54, "t_bus": 80, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "37": {"index": 37, "transformer": false, "br_r": 1.7537194214876032e-05, "br_x": 4.740647933884297e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.033149271683, "b_to": 0.033149271683, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 7, "t_bus": 44, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "38": {"index": 38, "transformer": false, "br_r": 0.00024048824380165288, "br_x": 0.0006500869421487603, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.454577284865, "b_to": 0.454577284865, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 15, "t_bus": 52, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "39": {"index": 39, "transformer": false, "br_r": 1.821491776859504e-05, "br_x": 4.9238499173553714e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.034430322798299995, "b_to": 0.034430322798299995, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 31, "t_bus": 60, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "40": {"index": 40, "transformer": false, "br_r": 1.4756527685950414e-05, "br_x": 3.988979173553719e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.027893181735099998, "b_to": 0.027893181735099998, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 44, "t_bus": 61, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "41": {"index": 41, "transformer": false, "br_r": 1.3625872314049586e-05, "br_x": 3.683340826446281e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0257559868313, "b_to": 0.0257559868313, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 44, "t_bus": 61, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "42": {"index": 42, "transformer": false, "br_r": 0.0001310841694214876, "br_x": 0.00035434624793388426, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.24777878902699998, "b_to": 0.24777878902699998, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 6, "t_bus": 61, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "43": {"index": 43, "transformer": false, "br_r": 4.689704008264463e-05, "br_x": 0.00012677190743801652, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0886460344671, "b_to": 0.0886460344671, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 23, "t_bus": 62, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "44": {"index": 44, "transformer": false, "br_r": 0.00011679939669421486, "br_x": 0.0003157317024793388, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.22077733108199998, "b_to": 0.22077733108199998, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 46, "t_bus": 43, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "45": {"index": 45, "transformer": false, "br_r": 6.848835867768595e-06, "br_x": 1.8513748099173555e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.01294585200524, "b_to": 0.01294585200524, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 25, "t_bus": 48, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "46": {"index": 46, "transformer": false, "br_r": 3.256077520661157e-05, "br_x": 8.801816859504131e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0615472446908, "b_to": 0.0615472446908, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 42, "t_bus": 55, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "47": {"index": 47, "transformer": false, "br_r": 8.471372479338843e-05, "br_x": 0.00022899783140495865, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.16012813931619999, "b_to": 0.16012813931619999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 79, "t_bus": 3, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "48": {"index": 48, "transformer": false, "br_r": 0.00029743005371900825, "br_x": 0.0008040118347107439, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.562210210859, "b_to": 0.562210210859, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 59, "t_bus": 74, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "49": {"index": 49, "transformer": false, "br_r": 8.12613979338843e-06, "br_x": 2.1966551404958676e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.015360245911889999, "b_to": 0.015360245911889999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 27, "t_bus": 49, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "50": {"index": 50, "transformer": false, "br_r": 3.762483347107438e-05, "br_x": 0.00010170731239669421, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0711194625251, "b_to": 0.0711194625251, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 36, "t_bus": 37, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "51": {"index": 51, "transformer": false, "br_r": 0.0001394704214876033, "br_x": 0.0003770159338842975, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.263630706086, "b_to": 0.263630706086, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 24, "t_bus": 79, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "52": {"index": 52, "transformer": false, "br_r": 0.00011251260743801652, "br_x": 0.0003041436694214876, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.212674327833, "b_to": 0.212674327833, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 78, "t_bus": 81, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "53": {"index": 53, "transformer": false, "br_r": 3.099420123966942e-05, "br_x": 8.378341157024791e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.058586064846099996, "b_to": 0.058586064846099996, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 26, "t_bus": 55, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "54": {"index": 54, "transformer": false, "br_r": 0.00012475126859504132, "br_x": 0.0003372271735537189, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.23580817118099998, "b_to": 0.23580817118099998, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 10, "t_bus": 26, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "55": {"index": 55, "transformer": false, "br_r": 0.00011084386363636363, "br_x": 0.00029963272727272726, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.209520023845, "b_to": 0.209520023845, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 10, "t_bus": 64, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "56": {"index": 56, "transformer": false, "br_r": 0.00018134376446280994, "br_x": 0.0004902078016528926, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.342780814453, "b_to": 0.342780814453, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 19, "t_bus": 64, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "57": {"index": 57, "transformer": false, "br_r": 4.929586446280991e-05, "br_x": 4.950678611239669e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.7377328412642, "b_to": 1.7377328412642, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 33, "t_bus": 65, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "58": {"index": 58, "transformer": false, "br_r": 4.937723140495868e-05, "br_x": 4.958850119834711e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.7406011144775, "b_to": 1.7406011144775, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 33, "t_bus": 65, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "59": {"index": 59, "transformer": false, "br_r": 0.000377132479338843, "br_x": 0.0010194631404958677, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.71286585898, "b_to": 0.71286585898, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 53, "t_bus": 74, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "60": {"index": 60, "transformer": false, "br_r": 5.8436084297520655e-06, "br_x": 5.868611410082645e-06, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.20599355322249, "b_to": 0.20599355322249, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 60, "t_bus": 72, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "61": {"index": 61, "transformer": false, "br_r": 1.326755041322314e-05, "br_x": 1.3324318128925619e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.4676955831372, "b_to": 0.4676955831372, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 11, "t_bus": 12, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "62": {"index": 62, "transformer": false, "br_r": 4.928598347107438e-05, "br_x": 4.949686284297522e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.7373845255580003, "b_to": 1.7373845255580003, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 82, "t_bus": 29, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "63": {"index": 63, "transformer": false, "br_r": 1.1055216528925618e-05, "br_x": 1.1102518357024794e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.38970840736740003, "b_to": 0.38970840736740003, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 30, "t_bus": 51, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "64": {"index": 64, "transformer": false, "br_r": 1.3728831404958676e-05, "br_x": 1.3787572798347106e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.4839562398297, "b_to": 0.4839562398297, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 29, "t_bus": 34, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "65": {"index": 65, "transformer": false, "br_r": 2.54041305785124e-05, "br_x": 2.551282694049587e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.8955232348821001, "b_to": 0.8955232348821001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 32, "t_bus": 33, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "66": {"index": 66, "transformer": false, "br_r": 2.796371074380165e-05, "br_x": 2.808335875206612e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.9857512197555001, "b_to": 0.9857512197555001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 14, "t_bus": 36, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "67": {"index": 67, "transformer": false, "br_r": 7.445407933884298e-06, "br_x": 7.477264515371902e-06, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.26245872801522, "b_to": 0.26245872801522, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 33, "t_bus": 37, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "68": {"index": 68, "transformer": false, "br_r": 6.59696347107438e-05, "br_x": 6.625189822975207e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 2.3255013785091, "b_to": 2.3255013785091, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 57, "t_bus": 3, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "69": {"index": 69, "transformer": false, "br_r": 3.9888757024793385e-05, "br_x": 4.005942859173554e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.4061220719942, "b_to": 1.4061220719942, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 57, "t_bus": 67, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "70": {"index": 70, "transformer": false, "br_r": 8.088050082644629e-05, "br_x": 0.00021863587438016531, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1528824772596, "b_to": 0.1528824772596, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 17, "t_bus": 18, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "71": {"index": 71, "transformer": false, "br_r": 2.5049019834710748e-05, "br_x": 2.5156196788429757e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.8830051949103002, "b_to": 0.8830051949103002, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 57, "t_bus": 75, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "72": {"index": 72, "transformer": false, "br_r": 2.2473004958677688e-05, "br_x": 2.2569159947107442e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.7921978686072001, "b_to": 0.7921978686072001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 57, "t_bus": 38, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "73": {"index": 73, "transformer": false, "br_r": 4.408374214876033e-05, "br_x": 4.4272362750413216e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.5539998604856, "b_to": 1.5539998604856, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 82, "t_bus": 67, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "74": {"index": 74, "transformer": false, "br_r": 2.3274676033057853e-05, "br_x": 2.3374261122314052e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.8204576459541001, "b_to": 0.8204576459541001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 32, "t_bus": 69, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "75": {"index": 75, "transformer": false, "br_r": 4.299259834710744e-05, "br_x": 4.317655028429753e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.5155358546438003, "b_to": 1.5155358546438003, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 33, "t_bus": 69, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "76": {"index": 76, "transformer": false, "br_r": 5.412071239669422e-05, "br_x": 5.43522780677686e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.9078139789049, "b_to": 1.9078139789049, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 69, "t_bus": 75, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "77": {"index": 77, "transformer": false, "br_r": 2.6158211570247933e-05, "br_x": 2.6270134409917357e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.9221054100522001, "b_to": 0.9221054100522001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 2, "t_bus": 82, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "78": {"index": 78, "transformer": false, "br_r": 8.94323520661157e-06, "br_x": 8.98150052446281e-06, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.31525876856067003, "b_to": 0.31525876856067003, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 2, "t_bus": 70, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "79": {"index": 79, "transformer": false, "br_r": 1.68519305785124e-05, "br_x": 1.692403474049587e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.5940488826822001, "b_to": 0.5940488826822001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 38, "t_bus": 70, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "80": {"index": 80, "transformer": false, "br_r": 2.413533057851239e-05, "br_x": 2.4238598140495867e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.8507966548125, "b_to": 0.8507966548125, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 2, "t_bus": 71, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "81": {"index": 81, "transformer": false, "br_r": 0.00010648920247933885, "br_x": 0.00028786122314049587, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.201288727321, "b_to": 0.201288727321, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 68, "t_bus": 47, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "82": {"index": 82, "transformer": false, "br_r": 1.4655023140495867e-05, "br_x": 1.4717727419834711e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.5166055059231001, "b_to": 0.5166055059231001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 29, "t_bus": 40, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "83": {"index": 83, "transformer": false, "br_r": 2.7664357024793388e-05, "br_x": 2.778272419173554e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.9751986755544001, "b_to": 0.9751986755544001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 2, "t_bus": 40, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "84": {"index": 84, "transformer": false, "br_r": 4.906325785123967e-05, "br_x": 4.927318424958678e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.7295332052009, "b_to": 1.7295332052009, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 66, "t_bus": 75, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "85": {"index": 85, "transformer": false, "br_r": 4.822508760330579e-05, "br_x": 4.8431427732231406e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.6999867922862002, "b_to": 1.6999867922862002, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 82, "t_bus": 39, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "86": {"index": 86, "transformer": false, "br_r": 8.979270578512397e-05, "br_x": 9.017690080495869e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 3.1652905461573004, "b_to": 3.1652905461573004, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 82, "t_bus": 51, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "87": {"index": 87, "transformer": false, "br_r": 2.414188429752066e-05, "br_x": 2.4245179900826447e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.8510276805360001, "b_to": 0.8510276805360001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 63, "t_bus": 81, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "88": {"index": 88, "transformer": false, "br_r": 3.89280826446281e-05, "br_x": 3.909464378512397e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.3722572551710002, "b_to": 1.3722572551710002, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 67, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "89": {"index": 89, "transformer": false, "br_r": 5.657828801652893e-05, "br_x": 0.0001529422214876033, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1069457872131, "b_to": 0.1069457872131, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 26, "t_bus": 74, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "90": {"index": 90, "transformer": false, "br_r": 6.350674214876033e-05, "br_x": 0.00017167119338842973, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1200421357828, "b_to": 0.1200421357828, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 4, "t_bus": 42, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "91": {"index": 91, "transformer": false, "br_r": 0.0002765101239669421, "br_x": 0.0007474611570247933, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.52266680235, "b_to": 0.52266680235, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 6, "t_bus": 21, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "92": {"index": 92, "transformer": false, "br_r": 0.0001057444214876033, "br_x": 0.0002858479338842975, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.19988092245, "b_to": 0.19988092245, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 13, "t_bus": 47, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "93": {"index": 93, "transformer": false, "br_r": 0.00025798019008264466, "br_x": 0.0006973711074380165, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.487641027698, "b_to": 0.487641027698, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 19, "t_bus": 76, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "94": {"index": 94, "transformer": false, "br_r": 9.501613636363637e-05, "br_x": 0.0002568472727272727, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.17960203211499998, "b_to": 0.17960203211499998, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 68, "t_bus": 17, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "95": {"index": 95, "transformer": false, "br_r": 5.0131543388429755e-06, "br_x": 1.3551540495867768e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.00947599787805, "b_to": 0.00947599787805, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 68, "t_bus": 73, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "96": {"index": 96, "transformer": false, "br_r": 0.00010105311570247936, "br_x": 0.00027316641322314047, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.191013291282, "b_to": 0.191013291282, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 68, "t_bus": 72, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "97": {"index": 97, "transformer": false, "br_r": 6.445857768595041e-05, "br_x": 0.0001742441917355372, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1218413206714, "b_to": 0.1218413206714, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 46, "t_bus": 20, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "98": {"index": 98, "transformer": false, "br_r": 2.020672892561983e-05, "br_x": 2.0293187224793388e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.7123091734209, "b_to": 0.7123091734209, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 28, "t_bus": 66, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "99": {"index": 99, "transformer": false, "br_r": 6.635247520661156e-05, "br_x": 0.0001793637685950413, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.12542121621699998, "b_to": 0.12542121621699998, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 17, "t_bus": 58, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "100": {"index": 100, "transformer": false, "br_r": 6.455866611570249e-05, "br_x": 0.00017451475041322311, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1220305104876, "b_to": 0.1220305104876, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 6, "t_bus": 52, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "101": {"index": 101, "transformer": false, "br_r": 5.360586074380165e-05, "br_x": 0.00014490716694214874, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1013272259989, "b_to": 0.1013272259989, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 31, "t_bus": 49, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "102": {"index": 102, "transformer": false, "br_r": 8.012603677685951e-05, "br_x": 0.00021659640991735537, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1514563692147, "b_to": 0.1514563692147, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 8, "t_bus": 26, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "103": {"index": 103, "transformer": false, "br_r": 5.194299917355372e-05, "br_x": 0.0001404121256198347, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0981840407614, "b_to": 0.0981840407614, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 68, "t_bus": 48, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "104": {"index": 104, "transformer": false, "br_r": 1.876649008264463e-05, "br_x": 5.072950743801653e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0354729194798, "b_to": 0.0354729194798, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 23, "t_bus": 63, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "105": {"index": 105, "transformer": false, "br_r": 5.575812396694215e-05, "br_x": 0.0001507251570247934, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.105395491278, "b_to": 0.105395491278, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 5, "t_bus": 54, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "106": {"index": 106, "transformer": false, "br_r": 5.284605743801653e-05, "br_x": 0.0001428532694214876, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0998910255497, "b_to": 0.0998910255497, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 26, "t_bus": 77, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "107": {"index": 107, "transformer": false, "br_r": 2.492781074380165e-05, "br_x": 6.738476694214875e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.04711921192659999, "b_to": 0.04711921192659999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 77, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "108": {"index": 108, "transformer": false, "br_r": 4.6210990909090905e-05, "br_x": 0.0001249173818181818, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0873492460434, "b_to": 0.0873492460434, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 48, "t_bus": 65, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "109": {"index": 109, "transformer": false, "br_r": 2.5049019834710748e-05, "br_x": 2.5156196788429757e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.8830051949103002, "b_to": 0.8830051949103002, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 57, "t_bus": 75, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "110": {"index": 110, "transformer": false, "br_r": 5.412071239669422e-05, "br_x": 5.43522780677686e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.9078139789049, "b_to": 1.9078139789049, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 69, "t_bus": 75, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "111": {"index": 111, "transformer": false, "br_r": 1.326755041322314e-05, "br_x": 1.3324318128925619e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.4676955831372, "b_to": 0.4676955831372, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 11, "t_bus": 12, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "112": {"index": 112, "transformer": false, "br_r": 2.492781074380165e-05, "br_x": 6.738476694214875e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.04711921192659999, "b_to": 0.04711921192659999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 77, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "113": {"index": 113, "transformer": false, "br_r": 9.478265702479337e-06, "br_x": 2.562161322314049e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0179160703249, "b_to": 0.0179160703249, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 11, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "114": {"index": 114, "transformer": true, "br_r": 4.275061802727891e-06, "br_x": 0.00039998108282893, "g_fr": 0.034999320231447764, "g_to": 0.034999320231447764, "b_fr": -0.04873373443828248, "b_to": -0.04873373443828248, "rate_a": 300.0, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 1, "t_bus": 3, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "115": {"index": 115, "transformer": true, "br_r": 4.275061802727891e-06, "br_x": 0.00039998108282893, "g_fr": 0.034999320231447764, "g_to": 0.034999320231447764, "b_fr": -0.04873373443828248, "b_to": -0.04873373443828248, "rate_a": 300.0, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 1, "t_bus": 3, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "116": {"index": 116, "transformer": true, "br_r": 4.275061802727891e-06, "br_x": 0.00039998108282893, "g_fr": 0.034999320231447764, "g_to": 0.034999320231447764, "b_fr": -0.04873373443828248, "b_to": -0.04873373443828248, "rate_a": 300.0, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 1, "t_bus": 3, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}}, "bus": {"1": {"index": 1, "bus_i": 1, "zone": 1, "bus_type": 3, "vmax": 1.06800001, "vmin": 1.0679999900000001, "va": 0.0, "vm": 1.068, "base_kv": 220.0}, "2": {"index": 2, "bus_i": 2, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "3": {"index": 3, "bus_i": 3, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "4": {"index": 4, "bus_i": 4, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "5": {"index": 5, "bus_i": 5, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "6": {"index": 6, "bus_i": 6, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "7": {"index": 7, "bus_i": 7, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "8": {"index": 8, "bus_i": 8, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "9": {"index": 9, "bus_i": 9, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "10": {"index": 10, "bus_i": 10, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "11": {"index": 11, "bus_i": 11, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "12": {"index": 12, "bus_i": 12, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "13": {"index": 13, "bus_i": 13, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "14": {"index": 14, "bus_i": 14, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "15": {"index": 15, "bus_i": 15, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "16": {"index": 16, "bus_i": 16, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "17": {"index": 17, "bus_i": 17, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "18": {"index": 18, "bus_i": 18, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "19": {"index": 19, "bus_i": 19, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "20": {"index": 20, "bus_i": 20, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "21": {"index": 21, "bus_i": 21, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "22": {"index": 22, "bus_i": 22, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "23": {"index": 23, "bus_i": 23, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "24": {"index": 24, "bus_i": 24, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "25": {"index": 25, "bus_i": 25, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "26": {"index": 26, "bus_i": 26, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "27": {"index": 27, "bus_i": 27, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "28": {"index": 28, "bus_i": 28, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "29": {"index": 29, "bus_i": 29, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "30": {"index": 30, "bus_i": 30, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "31": {"index": 31, "bus_i": 31, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "32": {"index": 32, "bus_i": 32, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "33": {"index": 33, "bus_i": 33, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "34": {"index": 34, "bus_i": 34, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "35": {"index": 35, "bus_i": 35, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "36": {"index": 36, "bus_i": 36, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "37": {"index": 37, "bus_i": 37, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "38": {"index": 38, "bus_i": 38, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "39": {"index": 39, "bus_i": 39, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "40": {"index": 40, "bus_i": 40, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "41": {"index": 41, "bus_i": 41, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "42": {"index": 42, "bus_i": 42, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "43": {"index": 43, "bus_i": 43, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "44": {"index": 44, "bus_i": 44, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "45": {"index": 45, "bus_i": 45, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "46": {"index": 46, "bus_i": 46, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "47": {"index": 47, "bus_i": 47, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "48": {"index": 48, "bus_i": 48, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "49": {"index": 49, "bus_i": 49, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "50": {"index": 50, "bus_i": 50, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "51": {"index": 51, "bus_i": 51, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "52": {"index": 52, "bus_i": 52, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "53": {"index": 53, "bus_i": 53, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "54": {"index": 54, "bus_i": 54, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "55": {"index": 55, "bus_i": 55, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "56": {"index": 56, "bus_i": 56, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "57": {"index": 57, "bus_i": 57, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "58": {"index": 58, "bus_i": 58, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "59": {"index": 59, "bus_i": 59, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "60": {"index": 60, "bus_i": 60, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "61": {"index": 61, "bus_i": 61, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "62": {"index": 62, "bus_i": 62, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "63": {"index": 63, "bus_i": 63, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "64": {"index": 64, "bus_i": 64, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "65": {"index": 65, "bus_i": 65, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "66": {"index": 66, "bus_i": 66, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "67": {"index": 67, "bus_i": 67, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "68": {"index": 68, "bus_i": 68, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "69": {"index": 69, "bus_i": 69, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "70": {"index": 70, "bus_i": 70, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "71": {"index": 71, "bus_i": 71, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "72": {"index": 72, "bus_i": 72, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "73": {"index": 73, "bus_i": 73, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "74": {"index": 74, "bus_i": 74, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "75": {"index": 75, "bus_i": 75, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "76": {"index": 76, "bus_i": 76, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "77": {"index": 77, "bus_i": 77, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "78": {"index": 78, "bus_i": 78, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "79": {"index": 79, "bus_i": 79, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "80": {"index": 80, "bus_i": 80, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "81": {"index": 81, "bus_i": 81, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "82": {"index": 82, "bus_i": 82, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}}, "dcline": {}, "load": {"1": {"pd": 1.0, "qd": 0.395, "load_bus": 2, "status": 1, "index": 1}, "2": {"pd": 1.0, "qd": 0.395, "load_bus": 3, "status": 1, "index": 2}, "3": {"pd": 1.0, "qd": 0.395, "load_bus": 7, "status": 1, "index": 3}, "4": {"pd": 1.0, "qd": 0.395, "load_bus": 8, "status": 1, "index": 4}, "5": {"pd": 1.0, "qd": 0.395, "load_bus": 9, "status": 1, "index": 5}, "6": {"pd": 1.0, "qd": 0.395, "load_bus": 5, "status": 1, "index": 6}, "7": {"pd": 1.0, "qd": 0.395, "load_bus": 10, "status": 1, "index": 7}, "8": {"pd": 1.0, "qd": 0.395, "load_bus": 11, "status": 1, "index": 8}, "9": {"pd": 1.0, "qd": 0.395, "load_bus": 16, "status": 1, "index": 9}, "10": {"pd": 1.0, "qd": 0.395, "load_bus": 14, "status": 1, "index": 10}, "11": {"pd": 1.0, "qd": 0.395, "load_bus": 15, "status": 1, "index": 11}, "12": {"pd": 1.0, "qd": 0.395, "load_bus": 17, "status": 1, "index": 12}, "13": {"pd": 1.0, "qd": 0.395, "load_bus": 21, "status": 1, "index": 13}, "14": {"pd": 1.0, "qd": 0.395, "load_bus": 23, "status": 1, "index": 14}, "15": {"pd": 1.0, "qd": 0.395, "load_bus": 24, "status": 1, "index": 15}, "16": {"pd": 1.0, "qd": 0.395, "load_bus": 25, "status": 1, "index": 16}, "17": {"pd": 1.0, "qd": 0.395, "load_bus": 26, "status": 1, "index": 17}, "18": {"pd": 1.0, "qd": 0.395, "load_bus": 28, "status": 1, "index": 18}, "19": {"pd": 1.0, "qd": 0.395, "load_bus": 29, "status": 1, "index": 19}, "20": {"pd": 1.0, "qd": 0.395, "load_bus": 31, "status": 1, "index": 20}, "21": {"pd": 1.0, "qd": 0.395, "load_bus": 34, "status": 1, "index": 21}, "22": {"pd": 1.0, "qd": 0.395, "load_bus": 40, "status": 1, "index": 22}, "23": {"pd": 1.0, "qd": 0.395, "load_bus": 35, "status": 1, "index": 23}, "24": {"pd": 1.0, "qd": 0.395, "load_bus": 47, "status": 1, "index": 24}, "25": {"pd": 1.0, "qd": 0.395, "load_bus": 50, "status": 1, "index": 25}, "26": {"pd": 1.0, "qd": 0.395, "load_bus": 52, "status": 1, "index": 26}, "27": {"pd": 1.0, "qd": 0.395, "load_bus": 41, "status": 1, "index": 27}, "28": {"pd": 1.0, "qd": 0.395, "load_bus": 53, "status": 1, "index": 28}, "29": {"pd": 1.0, "qd": 0.395, "load_bus": 42, "status": 1, "index": 29}, "30": {"pd": 1.0, "qd": 0.395, "load_bus": 44, "status": 1, "index": 30}, "31": {"pd": 1.0, "qd": 0.395, "load_bus": 57, "status": 1, "index": 31}, "32": {"pd": 1.0, "qd": 0.395, "load_bus": 65, "status": 1, "index": 32}, "33": {"pd": 1.0, "qd": 0.395, "load_bus": 66, "status": 1, "index": 33}, "34": {"pd": 1.0, "qd": 0.395, "load_bus": 49, "status": 1, "index": 34}, "35": {"pd": 1.0, "qd": 0.395, "load_bus": 70, "status": 1, "index": 35}, "36": {"pd": 1.0, "qd": 0.395, "load_bus": 74, "status": 1, "index": 36}, "37": {"pd": 1.0, "qd": 0.395, "load_bus": 51, "status": 1, "index": 37}, "38": {"pd": 1.0, "qd": 0.395, "load_bus": 54, "status": 1, "index": 38}, "39": {"pd": 1.0, "qd": 0.395, "load_bus": 75, "status": 1, "index": 39}, "40": {"pd": 1.0, "qd": 0.395, "load_bus": 56, "status": 1, "index": 40}, "41": {"pd": 1.0, "qd": 0.395, "load_bus": 59, "status": 1, "index": 41}, "42": {"pd": 1.0, "qd": 0.395, "load_bus": 60, "status": 1, "index": 42}, "43": {"pd": 1.0, "qd": 0.395, "load_bus": 61, "status": 1, "index": 43}, "44": {"pd": 1.0, "qd": 0.395, "load_bus": 63, "status": 1, "index": 44}, "45": {"pd": 1.0, "qd": 0.395, "load_bus": 77, "status": 1, "index": 45}, "46": {"pd": 1.0, "qd": 0.395, "load_bus": 80, "status": 1, "index": 46}, "47": {"pd": 1.0, "qd": 0.395, "load_bus": 81, "status": 1, "index": 47}, "48": {"pd": 1.0, "qd": 0.395, "load_bus": 6, "status": 1, "index": 48}, "49": {"pd": 1.0, "qd": 0.395, "load_bus": 13, "status": 1, "index": 49}, "50": {"pd": 1.0, "qd": 0.395, "load_bus": 68, "status": 1, "index": 50}, "51": {"pd": 1.0, "qd": 0.395, "load_bus": 73, "status": 1, "index": 51}, "52": {"pd": 1.0, "qd": 0.395, "load_bus": 30, "status": 1, "index": 52}, "53": {"pd": 1.0, "qd": 0.395, "load_bus": 43, "status": 1, "index": 53}, "54": {"pd": 1.0, "qd": 0.395, "load_bus": 76, "status": 1, "index": 54}, "55": {"pd": 1.0, "qd": 0.395, "load_bus": 58, "status": 1, "index": 55}, "56": {"pd": 1.0, "qd": 0.395, "load_bus": 79, "status": 1, "index": 56}, "57": {"pd": 5.0, "qd": 1.976, "load_bus": 4, "status": 1, "index": 57}, "58": {"pd": 5.0, "qd": 1.976, "load_bus": 20, "status": 1, "index": 58}, "59": {"pd": 5.0, "qd": 1.976, "load_bus": 27, "status": 1, "index": 59}, "60": {"pd": 5.0, "qd": 1.976, "load_bus": 32, "status": 1, "index": 60}, "61": {"pd": 5.0, "qd": 1.976, "load_bus": 33, "status": 1, "index": 61}, "62": {"pd": 5.0, "qd": 1.976, "load_bus": 36, "status": 1, "index": 62}, "63": {"pd": 5.0, "qd": 1.976, "load_bus": 45, "status": 1, "index": 63}, "64": {"pd": 5.0, "qd": 1.976, "load_bus": 62, "status": 1, "index": 64}, "65": {"pd": 5.0, "qd": 1.976, "load_bus": 72, "status": 1, "index": 65}, "66": {"pd": 5.0, "qd": 1.976, "load_bus": 82, "status": 1, "index": 66}, "67": {"pd": 34.48, "qd": 13.627, "load_bus": 37, "status": 1, "index": 67}, "68": {"pd": 34.48, "qd": 13.627, "load_bus": 38, "status": 1, "index": 68}, "69": {"pd": 34.48, "qd": 13.627, "load_bus": 64, "status": 1, "index": 69}, "70": {"pd": 17.26, "qd": 6.822, "load_bus": 12, "status": 1, "index": 70}, "71": {"pd": 17.26, "qd": 6.822, "load_bus": 22, "status": 1, "index": 71}, "72": {"pd": 17.26, "qd": 6.822, "load_bus": 48, "status": 1, "index": 72}, "73": {"pd": 17.26, "qd": 6.822, "load_bus": 69, "status": 1, "index": 73}, "74": {"pd": 17.26, "qd": 6.822, "load_bus": 78, "status": 1, "index": 74}, "75": {"pd": 31.64, "qd": 12.505, "load_bus": 19, "status": 1, "index": 75}, "76": {"pd": 31.64, "qd": 12.505, "load_bus": 71, "status": 1, "index": 76}, "77": {"pd": 31.64, "qd": 12.505, "load_bus": 67, "status": 1, "index": 77}, "78": {"pd": 49.71, "qd": 19.647, "load_bus": 18, "status": 1, "index": 78}, "79": {"pd": 49.71, "qd": 19.647, "load_bus": 46, "status": 1, "index": 79}, "80": {"pd": -0.0, "qd": -0.0, "load_bus": 2, "status": 1, "index": 80}, "81": {"pd": -0.0, "qd": -0.0, "load_bus": 3, "status": 1, "index": 81}, "82": {"pd": -0.0, "qd": -0.0, "load_bus": 7, "status": 1, "index": 82}, "83": {"pd": -0.0, "qd": -0.0, "load_bus": 8, "status": 1, "index": 83}, "84": {"pd": -0.0, "qd": -0.0, "load_bus": 9, "status": 1, "index": 84}, "85": {"pd": -0.0, "qd": -0.0, "load_bus": 11, "status": 1, "index": 85}, "86": {"pd": -0.0, "qd": -0.0, "load_bus": 16, "status": 1, "index": 86}, "87": {"pd": -0.0, "qd": -0.0, "load_bus": 5, "status": 1, "index": 87}, "88": {"pd": -0.0, "qd": -0.0, "load_bus": 10, "status": 1, "index": 88}, "89": {"pd": -0.0, "qd": -0.0, "load_bus": 21, "status": 1, "index": 89}, "90": {"pd": -0.0, "qd": -0.0, "load_bus": 23, "status": 1, "index": 90}, "91": {"pd": -0.0, "qd": -0.0, "load_bus": 24, "status": 1, "index": 91}, "92": {"pd": -0.0, "qd": -0.0, "load_bus": 14, "status": 1, "index": 92}, "93": {"pd": -0.0, "qd": -0.0, "load_bus": 15, "status": 1, "index": 93}, "94": {"pd": -0.0, "qd": -0.0, "load_bus": 17, "status": 1, "index": 94}, "95": {"pd": -0.0, "qd": -0.0, "load_bus": 25, "status": 1, "index": 95}, "96": {"pd": -0.0, "qd": -0.0, "load_bus": 28, "status": 1, "index": 96}, "97": {"pd": -0.0, "qd": -0.0, "load_bus": 29, "status": 1, "index": 97}, "98": {"pd": -0.0, "qd": -0.0, "load_bus": 26, "status": 1, "index": 98}, "99": {"pd": -0.0, "qd": -0.0, "load_bus": 31, "status": 1, "index": 99}, "100": {"pd": -0.0, "qd": -0.0, "load_bus": 35, "status": 1, "index": 100}, "101": {"pd": -0.0, "qd": -0.0, "load_bus": 34, "status": 1, "index": 101}, "102": {"pd": -0.0, "qd": -0.0, "load_bus": 40, "status": 1, "index": 102}, "103": {"pd": -0.0, "qd": -0.0, "load_bus": 47, "status": 1, "index": 103}, "104": {"pd": -0.0, "qd": -0.0, "load_bus": 50, "status": 1, "index": 104}, "105": {"pd": -0.0, "qd": -0.0, "load_bus": 41, "status": 1, "index": 105}, "106": {"pd": -0.0, "qd": -0.0, "load_bus": 42, "status": 1, "index": 106}, "107": {"pd": -0.0, "qd": -0.0, "load_bus": 44, "status": 1, "index": 107}, "108": {"pd": -0.0, "qd": -0.0, "load_bus": 52, "status": 1, "index": 108}, "109": {"pd": -0.0, "qd": -0.0, "load_bus": 53, "status": 1, "index": 109}, "110": {"pd": -0.0, "qd": -0.0, "load_bus": 57, "status": 1, "index": 110}, "111": {"pd": -0.0, "qd": -0.0, "load_bus": 49, "status": 1, "index": 111}, "112": {"pd": -0.0, "qd": -0.0, "load_bus": 65, "status": 1, "index": 112}, "113": {"pd": -0.0, "qd": -0.0, "load_bus": 51, "status": 1, "index": 113}, "114": {"pd": -0.0, "qd": -0.0, "load_bus": 54, "status": 1, "index": 114}, "115": {"pd": -0.0, "qd": -0.0, "load_bus": 66, "status": 1, "index": 115}, "116": {"pd": -0.0, "qd": -0.0, "load_bus": 56, "status": 1, "index": 116}, "117": {"pd": -0.0, "qd": -0.0, "load_bus": 70, "status": 1, "index": 117}, "118": {"pd": -0.0, "qd": -0.0, "load_bus": 59, "status": 1, "index": 118}, "119": {"pd": -0.0, "qd": -0.0, "load_bus": 74, "status": 1, "index": 119}, "120": {"pd": -0.0, "qd": -0.0, "load_bus": 75, "status": 1, "index": 120}, "121": {"pd": -0.0, "qd": -0.0, "load_bus": 60, "status": 1, "index": 121}, "122": {"pd": -0.0, "qd": -0.0, "load_bus": 61, "status": 1, "index": 122}, "123": {"pd": -0.0, "qd": -0.0, "load_bus": 77, "status": 1, "index": 123}, "124": {"pd": -0.0, "qd": -0.0, "load_bus": 63, "status": 1, "index": 124}, "125": {"pd": -0.0, "qd": -0.0, "load_bus": 68, "status": 1, "index": 125}, "126": {"pd": -0.0, "qd": -0.0, "load_bus": 73, "status": 1, "index": 126}, "127": {"pd": -0.0, "qd": -0.0, "load_bus": 80, "status": 1, "index": 127}, "128": {"pd": -0.0, "qd": -0.0, "load_bus": 81, "status": 1, "index": 128}, "129": {"pd": -0.0, "qd": -0.0, "load_bus": 6, "status": 1, "index": 129}, "130": {"pd": -0.0, "qd": -0.0, "load_bus": 13, "status": 1, "index": 130}, "131": {"pd": -0.0, "qd": -0.0, "load_bus": 30, "status": 1, "index": 131}, "132": {"pd": -0.0, "qd": -0.0, "load_bus": 76, "status": 1, "index": 132}, "133": {"pd": -0.0, "qd": -0.0, "load_bus": 79, "status": 1, "index": 133}, "134": {"pd": -0.0, "qd": -0.0, "load_bus": 43, "status": 1, "index": 134}, "135": {"pd": -0.0, "qd": -0.0, "load_bus": 58, "status": 1, "index": 135}, "136": {"pd": -1.0, "qd": -0.0, "load_bus": 4, "status": 1, "index": 136}, "137": {"pd": -1.0, "qd": -0.0, "load_bus": 20, "status": 1, "index": 137}, "138": {"pd": -1.0, "qd": -0.0, "load_bus": 27, "status": 1, "index": 138}, "139": {"pd": -1.0, "qd": -0.0, "load_bus": 32, "status": 1, "index": 139}, "140": {"pd": -1.0, "qd": -0.0, "load_bus": 33, "status": 1, "index": 140}, "141": {"pd": -1.0, "qd": -0.0, "load_bus": 36, "status": 1, "index": 141}, "142": {"pd": -1.0, "qd": -0.0, "load_bus": 45, "status": 1, "index": 142}, "143": {"pd": -1.0, "qd": -0.0, "load_bus": 62, "status": 1, "index": 143}, "144": {"pd": -1.0, "qd": -0.0, "load_bus": 72, "status": 1, "index": 144}, "145": {"pd": -1.0, "qd": -0.0, "load_bus": 82, "status": 1, "index": 145}, "146": {"pd": -16.63, "qd": -0.0, "load_bus": 37, "status": 1, "index": 146}, "147": {"pd": -16.63, "qd": -0.0, "load_bus": 38, "status": 1, "index": 147}, "148": {"pd": -16.63, "qd": -0.0, "load_bus": 64, "status": 1, "index": 148}, "149": {"pd": -25.57, "qd": -0.0, "load_bus": 12, "status": 1, "index": 149}, "150": {"pd": -25.57, "qd": -0.0, "load_bus": 22, "status": 1, "index": 150}, "151": {"pd": -25.57, "qd": -0.0, "load_bus": 48, "status": 1, "index": 151}, "152": {"pd": -25.57, "qd": -0.0, "load_bus": 69, "status": 1, "index": 152}, "153": {"pd": -25.57, "qd": -0.0, "load_bus": 78, "status": 1, "index": 153}, "154": {"pd": -23.8, "qd": -0.0, "load_bus": 19, "status": 1, "index": 154}, "155": {"pd": -23.8, "qd": -0.0, "load_bus": 71, "status": 1, "index": 155}, "156": {"pd": -23.8, "qd": -0.0, "load_bus": 67, "status": 1, "index": 156}, "157": {"pd": -13.56, "qd": -0.0, "load_bus": 18, "status": 1, "index": 157}, "158": {"pd": -13.56, "qd": -0.0, "load_bus": 46, "status": 1, "index": 158}, "159": {"pd": -13.07, "qd": -0.0, "load_bus": 13, "status": 1, "index": 159}, "160": {"pd": -8.28, "qd": -0.0, "load_bus": 22, "status": 1, "index": 160}, "161": {"pd": -10.07, "qd": -0.0, "load_bus": 23, "status": 1, "index": 161}, "162": {"pd": -11.57, "qd": -0.0, "load_bus": 45, "status": 1, "index": 162}, "163": {"pd": -10.85, "qd": -0.0, "load_bus": 50, "status": 1, "index": 163}, "164": {"pd": -23.55, "qd": -0.0, "load_bus": 24, "status": 1, "index": 164}, "165": {"pd": -9.38, "qd": -0.0, "load_bus": 6, "status": 1, "index": 165}, "166": {"pd": -10.79, "qd": -0.0, "load_bus": 8, "status": 1, "index": 166}, "167": {"pd": -33.48, "qd": -0.0, "load_bus": 10, "status": 1, "index": 167}, "168": {"pd": -8.72, "qd": -0.0, "load_bus": 16, "status": 1, "index": 168}, "169": {"pd": -4.0, "qd": -0.0, "load_bus": 39, "status": 1, "index": 169}, "170": {"pd": -11.74, "qd": -0.0, "load_bus": 43, "status": 1, "index": 170}, "171": {"pd": -25.07, "qd": -0.0, "load_bus": 52, "status": 1, "index": 171}, "172": {"pd": -3.5, "qd": -0.0, "load_bus": 55, "status": 1, "index": 172}, "173": {"pd": -9.55, "qd": -0.0, "load_bus": 64, "status": 1, "index": 173}, "174": {"pd": -46.22, "qd": -0.0, "load_bus": 19, "status": 1, "index": 174}, "175": {"pd": -9.81, "qd": -0.0, "load_bus": 56, "status": 1, "index": 175}, "176": {"pd": -33.48, "qd": -0.0, "load_bus": 58, "status": 1, "index": 176}, "177": {"pd": -16.81, "qd": -0.0, "load_bus": 76, "status": 1, "index": 177}}, "storage": {}, "ne_branch": {}, "switch": {}, "baseMVA": 1, "source_version": "2.0.0", "shunt": {}, "sourcetype": "matpower", "per_unit": true, "name": "", "pm_solver": "ipopt", "pm_mip_solver": "cbc", "pm_nl_solver": "ipopt", "pm_model": "DCPPowerModel", "pm_log_level": 0, "pm_time_limit": Infinity, "pm_nl_time_limit": Infinity, "pm_mip_time_limit": Infinity, "correct_pm_network_data": true} diff --git a/pandapower/opf/PpPmInterface/test/data/test_net.json b/pandapower/opf/PpPmInterface/test/data/test_net.json deleted file mode 100644 index 91bdf6002..000000000 --- a/pandapower/opf/PpPmInterface/test/data/test_net.json +++ /dev/null @@ -1 +0,0 @@ -{"gen": {"1": {"pg": 0.0, "qg": 0.0, "gen_bus": 1, "vg": 1.068, "qmax": 1000000000.0, "gen_status": 1, "qmin": -1000000000.0, "pmin": -1000000000.0, "pmax": 1000000000.0, "index": 1, "model": 2, "ncost": 3, "cost": [0, 1.0, 0.0]}}, "branch": {"1": {"index": 1, "transformer": false, "br_r": 4.2376047520661155e-05, "br_x": 0.00011455077685950415, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.08010033389049999, "b_to": 0.08010033389049999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 4, "t_bus": 41, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "2": {"index": 2, "transformer": false, "br_r": 5.2846057438016523e-05, "br_x": 0.0001428532694214876, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.09989102554969999, "b_to": 0.09989102554969999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 26, "t_bus": 77, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "3": {"index": 3, "transformer": false, "br_r": 5.2846057438016523e-05, "br_x": 0.0001428532694214876, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.09989102554969999, "b_to": 0.09989102554969999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 26, "t_bus": 77, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "4": {"index": 4, "transformer": false, "br_r": 3.89280826446281e-05, "br_x": 3.909464378512397e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.3722572551710002, "b_to": 1.3722572551710002, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 67, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "5": {"index": 5, "transformer": false, "br_r": 2.796371074380165e-05, "br_x": 2.808335875206612e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.9857512197555001, "b_to": 0.9857512197555001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 14, "t_bus": 36, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "6": {"index": 6, "transformer": false, "br_r": 6.59696347107438e-05, "br_x": 6.625189822975207e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 2.3255013785091, "b_to": 2.3255013785091, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 57, "t_bus": 3, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "7": {"index": 7, "transformer": false, "br_r": 2.8893701652892566e-05, "br_x": 7.810534876033059e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0546156445714, "b_to": 0.0546156445714, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 12, "t_bus": 14, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "8": {"index": 8, "transformer": false, "br_r": 3.762483347107438e-05, "br_x": 0.00010170731239669423, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0711194625251, "b_to": 0.0711194625251, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 36, "t_bus": 37, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "9": {"index": 9, "transformer": false, "br_r": 3.099420123966943e-05, "br_x": 8.378341157024796e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0585860648461, "b_to": 0.0585860648461, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 26, "t_bus": 55, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "10": {"index": 10, "transformer": false, "br_r": 3.256077520661157e-05, "br_x": 8.801816859504134e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0615472446908, "b_to": 0.0615472446908, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 42, "t_bus": 55, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "11": {"index": 11, "transformer": false, "br_r": 2.0578217355371903e-05, "br_x": 5.562696198347109e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.038897494633799996, "b_to": 0.038897494633799996, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 42, "t_bus": 54, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "12": {"index": 12, "transformer": false, "br_r": 7.445407933884298e-06, "br_x": 7.477264515371902e-06, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.26245872801522, "b_to": 0.26245872801522, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 33, "t_bus": 37, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "13": {"index": 13, "transformer": false, "br_r": 9.478265702479341e-06, "br_x": 2.5621613223140504e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.017916070324900002, "b_to": 0.017916070324900002, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 11, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "14": {"index": 14, "transformer": false, "br_r": 5.575812396694215e-05, "br_x": 0.00015072515702479341, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.105395491278, "b_to": 0.105395491278, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 5, "t_bus": 54, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "15": {"index": 15, "transformer": false, "br_r": 5.194299917355372e-05, "br_x": 0.00014041212561983474, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0981840407614, "b_to": 0.0981840407614, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 68, "t_bus": 48, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "16": {"index": 16, "transformer": false, "br_r": 6.190288388429752e-05, "br_x": 0.00016733564958677688, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1170104801657, "b_to": 0.1170104801657, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 5, "t_bus": 49, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "17": {"index": 17, "transformer": false, "br_r": 5.843608429752066e-06, "br_x": 5.8686114100826455e-06, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.20599355322249005, "b_to": 0.20599355322249005, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 60, "t_bus": 72, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "18": {"index": 18, "transformer": false, "br_r": 2.9501471900826447e-05, "br_x": 7.974827107438018e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0557644680846, "b_to": 0.0557644680846, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 16, "t_bus": 43, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "19": {"index": 19, "transformer": false, "br_r": 2.0578217355371903e-05, "br_x": 5.562696198347109e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.038897494633799996, "b_to": 0.038897494633799996, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 42, "t_bus": 54, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "20": {"index": 20, "transformer": false, "br_r": 6.190288388429752e-05, "br_x": 0.00016733564958677688, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1170104801657, "b_to": 0.1170104801657, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 5, "t_bus": 49, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "21": {"index": 21, "transformer": false, "br_r": 9.421886776859506e-05, "br_x": 0.00025469209917355375, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.178095013778, "b_to": 0.178095013778, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 50, "t_bus": 78, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "22": {"index": 22, "transformer": false, "br_r": 8.453047066115704e-05, "br_x": 0.0002285024595041323, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.15978174747370003, "b_to": 0.15978174747370003, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 13, "t_bus": 50, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "23": {"index": 23, "transformer": false, "br_r": 2.492781074380165e-05, "br_x": 6.738476694214876e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.04711921192659999, "b_to": 0.04711921192659999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 77, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "24": {"index": 24, "transformer": false, "br_r": 1.7744248760330577e-05, "br_x": 4.796618842975207e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0335406517006, "b_to": 0.0335406517006, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 79, "t_bus": 51, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "25": {"index": 25, "transformer": false, "br_r": 2.1056849999999998e-05, "br_x": 5.69208e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.039802218809099996, "b_to": 0.039802218809099996, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 22, "t_bus": 47, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "26": {"index": 26, "transformer": false, "br_r": 9.588580165289255e-05, "br_x": 0.0002591981487603306, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.18124589661199997, "b_to": 0.18124589661199997, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 43, "t_bus": 74, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "27": {"index": 27, "transformer": false, "br_r": 3.43484305785124e-05, "br_x": 9.285055206611572e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0649263184966, "b_to": 0.0649263184966, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 7, "t_bus": 74, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "28": {"index": 28, "transformer": false, "br_r": 2.177430123966942e-05, "br_x": 5.886021157024794e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0411583642547, "b_to": 0.0411583642547, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 7, "t_bus": 26, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "29": {"index": 29, "transformer": false, "br_r": 1.7906688842975205e-05, "br_x": 4.84052958677686e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0338477002721, "b_to": 0.0338477002721, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 9, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "30": {"index": 30, "transformer": false, "br_r": 4.6210990909090905e-05, "br_x": 0.00012491738181818183, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0873492460434, "b_to": 0.0873492460434, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 48, "t_bus": 65, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "31": {"index": 31, "transformer": false, "br_r": 2.8893701652892566e-05, "br_x": 7.810534876033059e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0546156445714, "b_to": 0.0546156445714, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 12, "t_bus": 14, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "32": {"index": 32, "transformer": false, "br_r": 1.1175968181818184e-05, "br_x": 3.0210836363636368e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0211251127769, "b_to": 0.0211251127769, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 35, "t_bus": 55, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "33": {"index": 33, "transformer": false, "br_r": 0.0004672844628099174, "br_x": 0.0012631616528925621, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.88327353972, "b_to": 0.88327353972, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 15, "t_bus": 56, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "34": {"index": 34, "transformer": false, "br_r": 1.6740921074380167e-05, "br_x": 4.5253996694214874e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0316441349807, "b_to": 0.0316441349807, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 62, "t_bus": 73, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "35": {"index": 35, "transformer": false, "br_r": 0.00023777789256198347, "br_x": 0.0006427603305785125, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.44945410674999997, "b_to": 0.44945410674999997, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 45, "t_bus": 52, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "36": {"index": 36, "transformer": false, "br_r": 9.808123140495869e-06, "br_x": 2.6513282644628102e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.018539575641399998, "b_to": 0.018539575641399998, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 54, "t_bus": 80, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "37": {"index": 37, "transformer": false, "br_r": 1.7537194214876032e-05, "br_x": 4.7406479338842984e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.033149271683, "b_to": 0.033149271683, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 7, "t_bus": 44, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "38": {"index": 38, "transformer": false, "br_r": 0.00024048824380165288, "br_x": 0.0006500869421487605, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.454577284865, "b_to": 0.454577284865, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 15, "t_bus": 52, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "39": {"index": 39, "transformer": false, "br_r": 1.8214917768595044e-05, "br_x": 4.923849917355373e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0344303227983, "b_to": 0.0344303227983, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 31, "t_bus": 60, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "40": {"index": 40, "transformer": false, "br_r": 1.4756527685950414e-05, "br_x": 3.9889791735537195e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.027893181735099998, "b_to": 0.027893181735099998, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 44, "t_bus": 61, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "41": {"index": 41, "transformer": false, "br_r": 1.3625872314049586e-05, "br_x": 3.6833408264462816e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0257559868313, "b_to": 0.0257559868313, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 44, "t_bus": 61, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "42": {"index": 42, "transformer": false, "br_r": 0.0001310841694214876, "br_x": 0.0003543462479338843, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.24777878902699998, "b_to": 0.24777878902699998, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 6, "t_bus": 61, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "43": {"index": 43, "transformer": false, "br_r": 4.6897040082644637e-05, "br_x": 0.00012677190743801657, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.08864603446710001, "b_to": 0.08864603446710001, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 23, "t_bus": 62, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "44": {"index": 44, "transformer": false, "br_r": 0.00011679939669421486, "br_x": 0.0003157317024793389, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.22077733108199998, "b_to": 0.22077733108199998, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 46, "t_bus": 43, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "45": {"index": 45, "transformer": false, "br_r": 6.848835867768595e-06, "br_x": 1.8513748099173555e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.01294585200524, "b_to": 0.01294585200524, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 25, "t_bus": 48, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "46": {"index": 46, "transformer": false, "br_r": 3.256077520661157e-05, "br_x": 8.801816859504134e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0615472446908, "b_to": 0.0615472446908, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 42, "t_bus": 55, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "47": {"index": 47, "transformer": false, "br_r": 8.471372479338843e-05, "br_x": 0.00022899783140495873, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.16012813931619999, "b_to": 0.16012813931619999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 79, "t_bus": 3, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "48": {"index": 48, "transformer": false, "br_r": 0.00029743005371900825, "br_x": 0.000804011834710744, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.562210210859, "b_to": 0.562210210859, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 59, "t_bus": 74, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "49": {"index": 49, "transformer": false, "br_r": 8.12613979338843e-06, "br_x": 2.196655140495868e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.015360245911889999, "b_to": 0.015360245911889999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 27, "t_bus": 49, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "50": {"index": 50, "transformer": false, "br_r": 3.762483347107438e-05, "br_x": 0.00010170731239669423, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0711194625251, "b_to": 0.0711194625251, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 36, "t_bus": 37, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "51": {"index": 51, "transformer": false, "br_r": 0.0001394704214876033, "br_x": 0.0003770159338842976, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.263630706086, "b_to": 0.263630706086, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 24, "t_bus": 79, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "52": {"index": 52, "transformer": false, "br_r": 0.00011251260743801652, "br_x": 0.00030414366942148763, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.212674327833, "b_to": 0.212674327833, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 78, "t_bus": 81, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "53": {"index": 53, "transformer": false, "br_r": 3.099420123966943e-05, "br_x": 8.378341157024796e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0585860648461, "b_to": 0.0585860648461, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 26, "t_bus": 55, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "54": {"index": 54, "transformer": false, "br_r": 0.00012475126859504132, "br_x": 0.00033722717355371903, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.23580817118099998, "b_to": 0.23580817118099998, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 10, "t_bus": 26, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "55": {"index": 55, "transformer": false, "br_r": 0.00011084386363636363, "br_x": 0.0002996327272727273, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.209520023845, "b_to": 0.209520023845, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 10, "t_bus": 64, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "56": {"index": 56, "transformer": false, "br_r": 0.00018134376446280994, "br_x": 0.0004902078016528926, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.342780814453, "b_to": 0.342780814453, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 19, "t_bus": 64, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "57": {"index": 57, "transformer": false, "br_r": 4.929586446280992e-05, "br_x": 4.95067861123967e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.7377328412642004, "b_to": 1.7377328412642004, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 33, "t_bus": 65, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "58": {"index": 58, "transformer": false, "br_r": 4.937723140495868e-05, "br_x": 4.958850119834711e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.7406011144775, "b_to": 1.7406011144775, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 33, "t_bus": 65, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "59": {"index": 59, "transformer": false, "br_r": 0.000377132479338843, "br_x": 0.001019463140495868, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.71286585898, "b_to": 0.71286585898, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 53, "t_bus": 74, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "60": {"index": 60, "transformer": false, "br_r": 5.843608429752066e-06, "br_x": 5.8686114100826455e-06, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.20599355322249005, "b_to": 0.20599355322249005, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 60, "t_bus": 72, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "61": {"index": 61, "transformer": false, "br_r": 1.326755041322314e-05, "br_x": 1.3324318128925619e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.4676955831372, "b_to": 0.4676955831372, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 11, "t_bus": 12, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "62": {"index": 62, "transformer": false, "br_r": 4.928598347107438e-05, "br_x": 4.949686284297522e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.7373845255580003, "b_to": 1.7373845255580003, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 82, "t_bus": 29, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "63": {"index": 63, "transformer": false, "br_r": 1.1055216528925618e-05, "br_x": 1.1102518357024794e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.38970840736740003, "b_to": 0.38970840736740003, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 30, "t_bus": 51, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "64": {"index": 64, "transformer": false, "br_r": 1.3728831404958676e-05, "br_x": 1.3787572798347106e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.4839562398297, "b_to": 0.4839562398297, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 29, "t_bus": 34, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "65": {"index": 65, "transformer": false, "br_r": 2.54041305785124e-05, "br_x": 2.551282694049587e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.8955232348821001, "b_to": 0.8955232348821001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 32, "t_bus": 33, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "66": {"index": 66, "transformer": false, "br_r": 2.796371074380165e-05, "br_x": 2.808335875206612e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.9857512197555001, "b_to": 0.9857512197555001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 14, "t_bus": 36, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "67": {"index": 67, "transformer": false, "br_r": 7.445407933884298e-06, "br_x": 7.477264515371902e-06, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.26245872801522, "b_to": 0.26245872801522, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 33, "t_bus": 37, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "68": {"index": 68, "transformer": false, "br_r": 6.59696347107438e-05, "br_x": 6.625189822975207e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 2.3255013785091, "b_to": 2.3255013785091, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 57, "t_bus": 3, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "69": {"index": 69, "transformer": false, "br_r": 3.9888757024793385e-05, "br_x": 4.0059428591735545e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.4061220719942003, "b_to": 1.4061220719942003, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 57, "t_bus": 67, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "70": {"index": 70, "transformer": false, "br_r": 8.088050082644629e-05, "br_x": 0.00021863587438016534, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1528824772596, "b_to": 0.1528824772596, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 17, "t_bus": 18, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "71": {"index": 71, "transformer": false, "br_r": 2.5049019834710748e-05, "br_x": 2.5156196788429757e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.8830051949103002, "b_to": 0.8830051949103002, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 57, "t_bus": 75, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "72": {"index": 72, "transformer": false, "br_r": 2.247300495867768e-05, "br_x": 2.256915994710744e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.7921978686072, "b_to": 0.7921978686072, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 57, "t_bus": 38, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "73": {"index": 73, "transformer": false, "br_r": 4.408374214876034e-05, "br_x": 4.427236275041323e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.5539998604856002, "b_to": 1.5539998604856002, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 82, "t_bus": 67, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "74": {"index": 74, "transformer": false, "br_r": 2.3274676033057853e-05, "br_x": 2.3374261122314052e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.8204576459541001, "b_to": 0.8204576459541001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 32, "t_bus": 69, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "75": {"index": 75, "transformer": false, "br_r": 4.2992598347107434e-05, "br_x": 4.317655028429752e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.5155358546438, "b_to": 1.5155358546438, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 33, "t_bus": 69, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "76": {"index": 76, "transformer": false, "br_r": 5.412071239669422e-05, "br_x": 5.43522780677686e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.9078139789049, "b_to": 1.9078139789049, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 69, "t_bus": 75, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "77": {"index": 77, "transformer": false, "br_r": 2.6158211570247933e-05, "br_x": 2.6270134409917357e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.9221054100522001, "b_to": 0.9221054100522001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 2, "t_bus": 82, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "78": {"index": 78, "transformer": false, "br_r": 8.94323520661157e-06, "br_x": 8.98150052446281e-06, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.31525876856067003, "b_to": 0.31525876856067003, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 2, "t_bus": 70, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "79": {"index": 79, "transformer": false, "br_r": 1.6851930578512396e-05, "br_x": 1.692403474049587e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.5940488826822, "b_to": 0.5940488826822, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 38, "t_bus": 70, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "80": {"index": 80, "transformer": false, "br_r": 2.413533057851239e-05, "br_x": 2.4238598140495867e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.8507966548125, "b_to": 0.8507966548125, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 2, "t_bus": 71, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "81": {"index": 81, "transformer": false, "br_r": 0.00010648920247933885, "br_x": 0.0002878612231404959, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.201288727321, "b_to": 0.201288727321, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 68, "t_bus": 47, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "82": {"index": 82, "transformer": false, "br_r": 1.4655023140495867e-05, "br_x": 1.4717727419834711e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.5166055059231001, "b_to": 0.5166055059231001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 29, "t_bus": 40, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "83": {"index": 83, "transformer": false, "br_r": 2.7664357024793388e-05, "br_x": 2.778272419173554e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.9751986755544001, "b_to": 0.9751986755544001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 2, "t_bus": 40, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "84": {"index": 84, "transformer": false, "br_r": 4.906325785123967e-05, "br_x": 4.927318424958678e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.7295332052009, "b_to": 1.7295332052009, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 66, "t_bus": 75, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "85": {"index": 85, "transformer": false, "br_r": 4.822508760330579e-05, "br_x": 4.8431427732231406e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.6999867922862002, "b_to": 1.6999867922862002, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 82, "t_bus": 39, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "86": {"index": 86, "transformer": false, "br_r": 8.979270578512396e-05, "br_x": 9.017690080495866e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 3.1652905461573, "b_to": 3.1652905461573, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 82, "t_bus": 51, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "87": {"index": 87, "transformer": false, "br_r": 2.414188429752066e-05, "br_x": 2.4245179900826447e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.8510276805360001, "b_to": 0.8510276805360001, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 63, "t_bus": 81, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "88": {"index": 88, "transformer": false, "br_r": 3.89280826446281e-05, "br_x": 3.909464378512397e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.3722572551710002, "b_to": 1.3722572551710002, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 67, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "89": {"index": 89, "transformer": false, "br_r": 5.657828801652893e-05, "br_x": 0.00015294222148760334, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1069457872131, "b_to": 0.1069457872131, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 26, "t_bus": 74, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "90": {"index": 90, "transformer": false, "br_r": 6.350674214876032e-05, "br_x": 0.00017167119338842976, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.12004213578279999, "b_to": 0.12004213578279999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 4, "t_bus": 42, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "91": {"index": 91, "transformer": false, "br_r": 0.0002765101239669421, "br_x": 0.0007474611570247934, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.52266680235, "b_to": 0.52266680235, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 6, "t_bus": 21, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "92": {"index": 92, "transformer": false, "br_r": 0.0001057444214876033, "br_x": 0.0002858479338842976, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.19988092245, "b_to": 0.19988092245, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 13, "t_bus": 47, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "93": {"index": 93, "transformer": false, "br_r": 0.00025798019008264466, "br_x": 0.0006973711074380166, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.487641027698, "b_to": 0.487641027698, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 19, "t_bus": 76, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "94": {"index": 94, "transformer": false, "br_r": 9.501613636363637e-05, "br_x": 0.0002568472727272728, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.17960203211499998, "b_to": 0.17960203211499998, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 68, "t_bus": 17, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "95": {"index": 95, "transformer": false, "br_r": 5.013154338842975e-06, "br_x": 1.3551540495867768e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.009475997878049999, "b_to": 0.009475997878049999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 68, "t_bus": 73, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "96": {"index": 96, "transformer": false, "br_r": 0.00010105311570247936, "br_x": 0.0002731664132231406, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.191013291282, "b_to": 0.191013291282, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 68, "t_bus": 72, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "97": {"index": 97, "transformer": false, "br_r": 6.445857768595041e-05, "br_x": 0.00017424419173553722, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1218413206714, "b_to": 0.1218413206714, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 46, "t_bus": 20, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "98": {"index": 98, "transformer": false, "br_r": 2.020672892561983e-05, "br_x": 2.0293187224793388e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.7123091734209, "b_to": 0.7123091734209, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 28, "t_bus": 66, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "99": {"index": 99, "transformer": false, "br_r": 6.635247520661156e-05, "br_x": 0.00017936376859504133, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.12542121621699998, "b_to": 0.12542121621699998, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 17, "t_bus": 58, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "100": {"index": 100, "transformer": false, "br_r": 6.455866611570249e-05, "br_x": 0.00017451475041322317, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1220305104876, "b_to": 0.1220305104876, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 6, "t_bus": 52, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "101": {"index": 101, "transformer": false, "br_r": 5.360586074380165e-05, "br_x": 0.00014490716694214877, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1013272259989, "b_to": 0.1013272259989, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 31, "t_bus": 49, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "102": {"index": 102, "transformer": false, "br_r": 8.012603677685951e-05, "br_x": 0.00021659640991735543, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1514563692147, "b_to": 0.1514563692147, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 8, "t_bus": 26, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "103": {"index": 103, "transformer": false, "br_r": 5.194299917355372e-05, "br_x": 0.00014041212561983474, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0981840407614, "b_to": 0.0981840407614, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 68, "t_bus": 48, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "104": {"index": 104, "transformer": false, "br_r": 1.8766490082644632e-05, "br_x": 5.072950743801655e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.035472919479800004, "b_to": 0.035472919479800004, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 23, "t_bus": 63, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "105": {"index": 105, "transformer": false, "br_r": 5.575812396694215e-05, "br_x": 0.00015072515702479341, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.105395491278, "b_to": 0.105395491278, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 5, "t_bus": 54, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "106": {"index": 106, "transformer": false, "br_r": 5.2846057438016523e-05, "br_x": 0.0001428532694214876, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.09989102554969999, "b_to": 0.09989102554969999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 26, "t_bus": 77, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "107": {"index": 107, "transformer": false, "br_r": 2.492781074380165e-05, "br_x": 6.738476694214876e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.04711921192659999, "b_to": 0.04711921192659999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 77, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "108": {"index": 108, "transformer": false, "br_r": 4.6210990909090905e-05, "br_x": 0.00012491738181818183, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0873492460434, "b_to": 0.0873492460434, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 48, "t_bus": 65, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "109": {"index": 109, "transformer": false, "br_r": 2.5049019834710748e-05, "br_x": 2.5156196788429757e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.8830051949103002, "b_to": 0.8830051949103002, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 57, "t_bus": 75, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "110": {"index": 110, "transformer": false, "br_r": 5.412071239669422e-05, "br_x": 5.43522780677686e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.9078139789049, "b_to": 1.9078139789049, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 69, "t_bus": 75, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "111": {"index": 111, "transformer": false, "br_r": 1.326755041322314e-05, "br_x": 1.3324318128925619e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.4676955831372, "b_to": 0.4676955831372, "rate_a": 124.22268391883988, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 11, "t_bus": 12, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "112": {"index": 112, "transformer": false, "br_r": 2.492781074380165e-05, "br_x": 6.738476694214876e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.04711921192659999, "b_to": 0.04711921192659999, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 77, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "113": {"index": 113, "transformer": false, "br_r": 9.478265702479341e-06, "br_x": 2.5621613223140504e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.017916070324900002, "b_to": 0.017916070324900002, "rate_a": 129.55740040615203, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 11, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "114": {"index": 114, "transformer": true, "br_r": 4.275061802727891e-06, "br_x": 0.00039998108282893, "g_fr": 0.034999320231447764, "g_to": 0.034999320231447764, "b_fr": -0.04873373443828248, "b_to": -0.04873373443828248, "rate_a": 300.0, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 1, "t_bus": 3, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "115": {"index": 115, "transformer": true, "br_r": 4.275061802727891e-06, "br_x": 0.00039998108282893, "g_fr": 0.034999320231447764, "g_to": 0.034999320231447764, "b_fr": -0.04873373443828248, "b_to": -0.04873373443828248, "rate_a": 300.0, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 1, "t_bus": 3, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "116": {"index": 116, "transformer": true, "br_r": 4.275061802727891e-06, "br_x": 0.00039998108282893, "g_fr": 0.034999320231447764, "g_to": 0.034999320231447764, "b_fr": -0.04873373443828248, "b_to": -0.04873373443828248, "rate_a": 300.0, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 1, "t_bus": 3, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}}, "bus": {"1": {"index": 1, "bus_i": 1, "zone": 1, "bus_type": 3, "vmax": 1.06800001, "vmin": 1.0679999900000001, "va": 0.0, "vm": 1.068, "base_kv": 220.0}, "2": {"index": 2, "bus_i": 2, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "3": {"index": 3, "bus_i": 3, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "4": {"index": 4, "bus_i": 4, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "5": {"index": 5, "bus_i": 5, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "6": {"index": 6, "bus_i": 6, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "7": {"index": 7, "bus_i": 7, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "8": {"index": 8, "bus_i": 8, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "9": {"index": 9, "bus_i": 9, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "10": {"index": 10, "bus_i": 10, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "11": {"index": 11, "bus_i": 11, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "12": {"index": 12, "bus_i": 12, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "13": {"index": 13, "bus_i": 13, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "14": {"index": 14, "bus_i": 14, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "15": {"index": 15, "bus_i": 15, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "16": {"index": 16, "bus_i": 16, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "17": {"index": 17, "bus_i": 17, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "18": {"index": 18, "bus_i": 18, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "19": {"index": 19, "bus_i": 19, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "20": {"index": 20, "bus_i": 20, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "21": {"index": 21, "bus_i": 21, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "22": {"index": 22, "bus_i": 22, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "23": {"index": 23, "bus_i": 23, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "24": {"index": 24, "bus_i": 24, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "25": {"index": 25, "bus_i": 25, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "26": {"index": 26, "bus_i": 26, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "27": {"index": 27, "bus_i": 27, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "28": {"index": 28, "bus_i": 28, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "29": {"index": 29, "bus_i": 29, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "30": {"index": 30, "bus_i": 30, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "31": {"index": 31, "bus_i": 31, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "32": {"index": 32, "bus_i": 32, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "33": {"index": 33, "bus_i": 33, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "34": {"index": 34, "bus_i": 34, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "35": {"index": 35, "bus_i": 35, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "36": {"index": 36, "bus_i": 36, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "37": {"index": 37, "bus_i": 37, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "38": {"index": 38, "bus_i": 38, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "39": {"index": 39, "bus_i": 39, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "40": {"index": 40, "bus_i": 40, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "41": {"index": 41, "bus_i": 41, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "42": {"index": 42, "bus_i": 42, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "43": {"index": 43, "bus_i": 43, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "44": {"index": 44, "bus_i": 44, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "45": {"index": 45, "bus_i": 45, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "46": {"index": 46, "bus_i": 46, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "47": {"index": 47, "bus_i": 47, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "48": {"index": 48, "bus_i": 48, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "49": {"index": 49, "bus_i": 49, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "50": {"index": 50, "bus_i": 50, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "51": {"index": 51, "bus_i": 51, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "52": {"index": 52, "bus_i": 52, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "53": {"index": 53, "bus_i": 53, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "54": {"index": 54, "bus_i": 54, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "55": {"index": 55, "bus_i": 55, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "56": {"index": 56, "bus_i": 56, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "57": {"index": 57, "bus_i": 57, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "58": {"index": 58, "bus_i": 58, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "59": {"index": 59, "bus_i": 59, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "60": {"index": 60, "bus_i": 60, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "61": {"index": 61, "bus_i": 61, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "62": {"index": 62, "bus_i": 62, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "63": {"index": 63, "bus_i": 63, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "64": {"index": 64, "bus_i": 64, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "65": {"index": 65, "bus_i": 65, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "66": {"index": 66, "bus_i": 66, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "67": {"index": 67, "bus_i": 67, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "68": {"index": 68, "bus_i": 68, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "69": {"index": 69, "bus_i": 69, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "70": {"index": 70, "bus_i": 70, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "71": {"index": 71, "bus_i": 71, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "72": {"index": 72, "bus_i": 72, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "73": {"index": 73, "bus_i": 73, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "74": {"index": 74, "bus_i": 74, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "75": {"index": 75, "bus_i": 75, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "76": {"index": 76, "bus_i": 76, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "77": {"index": 77, "bus_i": 77, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "78": {"index": 78, "bus_i": 78, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "79": {"index": 79, "bus_i": 79, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "80": {"index": 80, "bus_i": 80, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "81": {"index": 81, "bus_i": 81, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}, "82": {"index": 82, "bus_i": 82, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 110.0}}, "dcline": {}, "load": {"1": {"pd": 1.0, "qd": 0.395, "load_bus": 2, "status": 1, "index": 1}, "2": {"pd": 1.0, "qd": 0.395, "load_bus": 3, "status": 1, "index": 2}, "3": {"pd": 1.0, "qd": 0.395, "load_bus": 7, "status": 1, "index": 3}, "4": {"pd": 1.0, "qd": 0.395, "load_bus": 8, "status": 1, "index": 4}, "5": {"pd": 1.0, "qd": 0.395, "load_bus": 9, "status": 1, "index": 5}, "6": {"pd": 1.0, "qd": 0.395, "load_bus": 5, "status": 1, "index": 6}, "7": {"pd": 1.0, "qd": 0.395, "load_bus": 10, "status": 1, "index": 7}, "8": {"pd": 1.0, "qd": 0.395, "load_bus": 11, "status": 1, "index": 8}, "9": {"pd": 1.0, "qd": 0.395, "load_bus": 16, "status": 1, "index": 9}, "10": {"pd": 1.0, "qd": 0.395, "load_bus": 14, "status": 1, "index": 10}, "11": {"pd": 1.0, "qd": 0.395, "load_bus": 15, "status": 1, "index": 11}, "12": {"pd": 1.0, "qd": 0.395, "load_bus": 17, "status": 1, "index": 12}, "13": {"pd": 1.0, "qd": 0.395, "load_bus": 21, "status": 1, "index": 13}, "14": {"pd": 1.0, "qd": 0.395, "load_bus": 23, "status": 1, "index": 14}, "15": {"pd": 1.0, "qd": 0.395, "load_bus": 24, "status": 1, "index": 15}, "16": {"pd": 1.0, "qd": 0.395, "load_bus": 25, "status": 1, "index": 16}, "17": {"pd": 1.0, "qd": 0.395, "load_bus": 26, "status": 1, "index": 17}, "18": {"pd": 1.0, "qd": 0.395, "load_bus": 28, "status": 1, "index": 18}, "19": {"pd": 1.0, "qd": 0.395, "load_bus": 29, "status": 1, "index": 19}, "20": {"pd": 1.0, "qd": 0.395, "load_bus": 31, "status": 1, "index": 20}, "21": {"pd": 1.0, "qd": 0.395, "load_bus": 34, "status": 1, "index": 21}, "22": {"pd": 1.0, "qd": 0.395, "load_bus": 40, "status": 1, "index": 22}, "23": {"pd": 1.0, "qd": 0.395, "load_bus": 35, "status": 1, "index": 23}, "24": {"pd": 1.0, "qd": 0.395, "load_bus": 47, "status": 1, "index": 24}, "25": {"pd": 1.0, "qd": 0.395, "load_bus": 50, "status": 1, "index": 25}, "26": {"pd": 1.0, "qd": 0.395, "load_bus": 52, "status": 1, "index": 26}, "27": {"pd": 1.0, "qd": 0.395, "load_bus": 41, "status": 1, "index": 27}, "28": {"pd": 1.0, "qd": 0.395, "load_bus": 53, "status": 1, "index": 28}, "29": {"pd": 1.0, "qd": 0.395, "load_bus": 42, "status": 1, "index": 29}, "30": {"pd": 1.0, "qd": 0.395, "load_bus": 44, "status": 1, "index": 30}, "31": {"pd": 1.0, "qd": 0.395, "load_bus": 57, "status": 1, "index": 31}, "32": {"pd": 1.0, "qd": 0.395, "load_bus": 65, "status": 1, "index": 32}, "33": {"pd": 1.0, "qd": 0.395, "load_bus": 66, "status": 1, "index": 33}, "34": {"pd": 1.0, "qd": 0.395, "load_bus": 49, "status": 1, "index": 34}, "35": {"pd": 1.0, "qd": 0.395, "load_bus": 70, "status": 1, "index": 35}, "36": {"pd": 1.0, "qd": 0.395, "load_bus": 74, "status": 1, "index": 36}, "37": {"pd": 1.0, "qd": 0.395, "load_bus": 51, "status": 1, "index": 37}, "38": {"pd": 1.0, "qd": 0.395, "load_bus": 54, "status": 1, "index": 38}, "39": {"pd": 1.0, "qd": 0.395, "load_bus": 75, "status": 1, "index": 39}, "40": {"pd": 1.0, "qd": 0.395, "load_bus": 56, "status": 1, "index": 40}, "41": {"pd": 1.0, "qd": 0.395, "load_bus": 59, "status": 1, "index": 41}, "42": {"pd": 1.0, "qd": 0.395, "load_bus": 60, "status": 1, "index": 42}, "43": {"pd": 1.0, "qd": 0.395, "load_bus": 61, "status": 1, "index": 43}, "44": {"pd": 1.0, "qd": 0.395, "load_bus": 63, "status": 1, "index": 44}, "45": {"pd": 1.0, "qd": 0.395, "load_bus": 77, "status": 1, "index": 45}, "46": {"pd": 1.0, "qd": 0.395, "load_bus": 80, "status": 1, "index": 46}, "47": {"pd": 1.0, "qd": 0.395, "load_bus": 81, "status": 1, "index": 47}, "48": {"pd": 1.0, "qd": 0.395, "load_bus": 6, "status": 1, "index": 48}, "49": {"pd": 1.0, "qd": 0.395, "load_bus": 13, "status": 1, "index": 49}, "50": {"pd": 1.0, "qd": 0.395, "load_bus": 68, "status": 1, "index": 50}, "51": {"pd": 1.0, "qd": 0.395, "load_bus": 73, "status": 1, "index": 51}, "52": {"pd": 1.0, "qd": 0.395, "load_bus": 30, "status": 1, "index": 52}, "53": {"pd": 1.0, "qd": 0.395, "load_bus": 43, "status": 1, "index": 53}, "54": {"pd": 1.0, "qd": 0.395, "load_bus": 76, "status": 1, "index": 54}, "55": {"pd": 1.0, "qd": 0.395, "load_bus": 58, "status": 1, "index": 55}, "56": {"pd": 1.0, "qd": 0.395, "load_bus": 79, "status": 1, "index": 56}, "57": {"pd": 5.0, "qd": 1.976, "load_bus": 4, "status": 1, "index": 57}, "58": {"pd": 5.0, "qd": 1.976, "load_bus": 20, "status": 1, "index": 58}, "59": {"pd": 5.0, "qd": 1.976, "load_bus": 27, "status": 1, "index": 59}, "60": {"pd": 5.0, "qd": 1.976, "load_bus": 32, "status": 1, "index": 60}, "61": {"pd": 5.0, "qd": 1.976, "load_bus": 33, "status": 1, "index": 61}, "62": {"pd": 5.0, "qd": 1.976, "load_bus": 36, "status": 1, "index": 62}, "63": {"pd": 5.0, "qd": 1.976, "load_bus": 45, "status": 1, "index": 63}, "64": {"pd": 5.0, "qd": 1.976, "load_bus": 62, "status": 1, "index": 64}, "65": {"pd": 5.0, "qd": 1.976, "load_bus": 72, "status": 1, "index": 65}, "66": {"pd": 5.0, "qd": 1.976, "load_bus": 82, "status": 1, "index": 66}, "67": {"pd": 34.48, "qd": 13.627, "load_bus": 37, "status": 1, "index": 67}, "68": {"pd": 34.48, "qd": 13.627, "load_bus": 38, "status": 1, "index": 68}, "69": {"pd": 34.48, "qd": 13.627, "load_bus": 64, "status": 1, "index": 69}, "70": {"pd": 17.26, "qd": 6.822, "load_bus": 12, "status": 1, "index": 70}, "71": {"pd": 17.26, "qd": 6.822, "load_bus": 22, "status": 1, "index": 71}, "72": {"pd": 17.26, "qd": 6.822, "load_bus": 48, "status": 1, "index": 72}, "73": {"pd": 17.26, "qd": 6.822, "load_bus": 69, "status": 1, "index": 73}, "74": {"pd": 17.26, "qd": 6.822, "load_bus": 78, "status": 1, "index": 74}, "75": {"pd": 31.64, "qd": 12.505, "load_bus": 19, "status": 1, "index": 75}, "76": {"pd": 31.64, "qd": 12.505, "load_bus": 71, "status": 1, "index": 76}, "77": {"pd": 31.64, "qd": 12.505, "load_bus": 67, "status": 1, "index": 77}, "78": {"pd": 49.71, "qd": 19.647000000000002, "load_bus": 18, "status": 1, "index": 78}, "79": {"pd": 49.71, "qd": 19.647000000000002, "load_bus": 46, "status": 1, "index": 79}, "80": {"pd": -0.0, "qd": -0.0, "load_bus": 2, "status": 1, "index": 80}, "81": {"pd": -0.0, "qd": -0.0, "load_bus": 3, "status": 1, "index": 81}, "82": {"pd": -0.0, "qd": -0.0, "load_bus": 7, "status": 1, "index": 82}, "83": {"pd": -0.0, "qd": -0.0, "load_bus": 8, "status": 1, "index": 83}, "84": {"pd": -0.0, "qd": -0.0, "load_bus": 9, "status": 1, "index": 84}, "85": {"pd": -0.0, "qd": -0.0, "load_bus": 11, "status": 1, "index": 85}, "86": {"pd": -0.0, "qd": -0.0, "load_bus": 16, "status": 1, "index": 86}, "87": {"pd": -0.0, "qd": -0.0, "load_bus": 5, "status": 1, "index": 87}, "88": {"pd": -0.0, "qd": -0.0, "load_bus": 10, "status": 1, "index": 88}, "89": {"pd": -0.0, "qd": -0.0, "load_bus": 21, "status": 1, "index": 89}, "90": {"pd": -0.0, "qd": -0.0, "load_bus": 23, "status": 1, "index": 90}, "91": {"pd": -0.0, "qd": -0.0, "load_bus": 24, "status": 1, "index": 91}, "92": {"pd": -0.0, "qd": -0.0, "load_bus": 14, "status": 1, "index": 92}, "93": {"pd": -0.0, "qd": -0.0, "load_bus": 15, "status": 1, "index": 93}, "94": {"pd": -0.0, "qd": -0.0, "load_bus": 17, "status": 1, "index": 94}, "95": {"pd": -0.0, "qd": -0.0, "load_bus": 25, "status": 1, "index": 95}, "96": {"pd": -0.0, "qd": -0.0, "load_bus": 28, "status": 1, "index": 96}, "97": {"pd": -0.0, "qd": -0.0, "load_bus": 29, "status": 1, "index": 97}, "98": {"pd": -0.0, "qd": -0.0, "load_bus": 26, "status": 1, "index": 98}, "99": {"pd": -0.0, "qd": -0.0, "load_bus": 31, "status": 1, "index": 99}, "100": {"pd": -0.0, "qd": -0.0, "load_bus": 35, "status": 1, "index": 100}, "101": {"pd": -0.0, "qd": -0.0, "load_bus": 34, "status": 1, "index": 101}, "102": {"pd": -0.0, "qd": -0.0, "load_bus": 40, "status": 1, "index": 102}, "103": {"pd": -0.0, "qd": -0.0, "load_bus": 47, "status": 1, "index": 103}, "104": {"pd": -0.0, "qd": -0.0, "load_bus": 50, "status": 1, "index": 104}, "105": {"pd": -0.0, "qd": -0.0, "load_bus": 41, "status": 1, "index": 105}, "106": {"pd": -0.0, "qd": -0.0, "load_bus": 42, "status": 1, "index": 106}, "107": {"pd": -0.0, "qd": -0.0, "load_bus": 44, "status": 1, "index": 107}, "108": {"pd": -0.0, "qd": -0.0, "load_bus": 52, "status": 1, "index": 108}, "109": {"pd": -0.0, "qd": -0.0, "load_bus": 53, "status": 1, "index": 109}, "110": {"pd": -0.0, "qd": -0.0, "load_bus": 57, "status": 1, "index": 110}, "111": {"pd": -0.0, "qd": -0.0, "load_bus": 49, "status": 1, "index": 111}, "112": {"pd": -0.0, "qd": -0.0, "load_bus": 65, "status": 1, "index": 112}, "113": {"pd": -0.0, "qd": -0.0, "load_bus": 51, "status": 1, "index": 113}, "114": {"pd": -0.0, "qd": -0.0, "load_bus": 54, "status": 1, "index": 114}, "115": {"pd": -0.0, "qd": -0.0, "load_bus": 66, "status": 1, "index": 115}, "116": {"pd": -0.0, "qd": -0.0, "load_bus": 56, "status": 1, "index": 116}, "117": {"pd": -0.0, "qd": -0.0, "load_bus": 70, "status": 1, "index": 117}, "118": {"pd": -0.0, "qd": -0.0, "load_bus": 59, "status": 1, "index": 118}, "119": {"pd": -0.0, "qd": -0.0, "load_bus": 74, "status": 1, "index": 119}, "120": {"pd": -0.0, "qd": -0.0, "load_bus": 75, "status": 1, "index": 120}, "121": {"pd": -0.0, "qd": -0.0, "load_bus": 60, "status": 1, "index": 121}, "122": {"pd": -0.0, "qd": -0.0, "load_bus": 61, "status": 1, "index": 122}, "123": {"pd": -0.0, "qd": -0.0, "load_bus": 77, "status": 1, "index": 123}, "124": {"pd": -0.0, "qd": -0.0, "load_bus": 63, "status": 1, "index": 124}, "125": {"pd": -0.0, "qd": -0.0, "load_bus": 68, "status": 1, "index": 125}, "126": {"pd": -0.0, "qd": -0.0, "load_bus": 73, "status": 1, "index": 126}, "127": {"pd": -0.0, "qd": -0.0, "load_bus": 80, "status": 1, "index": 127}, "128": {"pd": -0.0, "qd": -0.0, "load_bus": 81, "status": 1, "index": 128}, "129": {"pd": -0.0, "qd": -0.0, "load_bus": 6, "status": 1, "index": 129}, "130": {"pd": -0.0, "qd": -0.0, "load_bus": 13, "status": 1, "index": 130}, "131": {"pd": -0.0, "qd": -0.0, "load_bus": 30, "status": 1, "index": 131}, "132": {"pd": -0.0, "qd": -0.0, "load_bus": 76, "status": 1, "index": 132}, "133": {"pd": -0.0, "qd": -0.0, "load_bus": 79, "status": 1, "index": 133}, "134": {"pd": -0.0, "qd": -0.0, "load_bus": 43, "status": 1, "index": 134}, "135": {"pd": -0.0, "qd": -0.0, "load_bus": 58, "status": 1, "index": 135}, "136": {"pd": -1.0, "qd": -0.0, "load_bus": 4, "status": 1, "index": 136}, "137": {"pd": -1.0, "qd": -0.0, "load_bus": 20, "status": 1, "index": 137}, "138": {"pd": -1.0, "qd": -0.0, "load_bus": 27, "status": 1, "index": 138}, "139": {"pd": -1.0, "qd": -0.0, "load_bus": 32, "status": 1, "index": 139}, "140": {"pd": -1.0, "qd": -0.0, "load_bus": 33, "status": 1, "index": 140}, "141": {"pd": -1.0, "qd": -0.0, "load_bus": 36, "status": 1, "index": 141}, "142": {"pd": -1.0, "qd": -0.0, "load_bus": 45, "status": 1, "index": 142}, "143": {"pd": -1.0, "qd": -0.0, "load_bus": 62, "status": 1, "index": 143}, "144": {"pd": -1.0, "qd": -0.0, "load_bus": 72, "status": 1, "index": 144}, "145": {"pd": -1.0, "qd": -0.0, "load_bus": 82, "status": 1, "index": 145}, "146": {"pd": -16.63, "qd": -0.0, "load_bus": 37, "status": 1, "index": 146}, "147": {"pd": -16.63, "qd": -0.0, "load_bus": 38, "status": 1, "index": 147}, "148": {"pd": -16.63, "qd": -0.0, "load_bus": 64, "status": 1, "index": 148}, "149": {"pd": -25.57, "qd": -0.0, "load_bus": 12, "status": 1, "index": 149}, "150": {"pd": -25.57, "qd": -0.0, "load_bus": 22, "status": 1, "index": 150}, "151": {"pd": -25.57, "qd": -0.0, "load_bus": 48, "status": 1, "index": 151}, "152": {"pd": -25.57, "qd": -0.0, "load_bus": 69, "status": 1, "index": 152}, "153": {"pd": -25.57, "qd": -0.0, "load_bus": 78, "status": 1, "index": 153}, "154": {"pd": -23.8, "qd": -0.0, "load_bus": 19, "status": 1, "index": 154}, "155": {"pd": -23.8, "qd": -0.0, "load_bus": 71, "status": 1, "index": 155}, "156": {"pd": -23.8, "qd": -0.0, "load_bus": 67, "status": 1, "index": 156}, "157": {"pd": -13.56, "qd": -0.0, "load_bus": 18, "status": 1, "index": 157}, "158": {"pd": -13.56, "qd": -0.0, "load_bus": 46, "status": 1, "index": 158}, "159": {"pd": -13.07, "qd": -0.0, "load_bus": 13, "status": 1, "index": 159}, "160": {"pd": -8.28, "qd": -0.0, "load_bus": 22, "status": 1, "index": 160}, "161": {"pd": -10.07, "qd": -0.0, "load_bus": 23, "status": 1, "index": 161}, "162": {"pd": -11.57, "qd": -0.0, "load_bus": 45, "status": 1, "index": 162}, "163": {"pd": -10.85, "qd": -0.0, "load_bus": 50, "status": 1, "index": 163}, "164": {"pd": -23.55, "qd": -0.0, "load_bus": 24, "status": 1, "index": 164}, "165": {"pd": -9.38, "qd": -0.0, "load_bus": 6, "status": 1, "index": 165}, "166": {"pd": -10.79, "qd": -0.0, "load_bus": 8, "status": 1, "index": 166}, "167": {"pd": -33.48, "qd": -0.0, "load_bus": 10, "status": 1, "index": 167}, "168": {"pd": -8.72, "qd": -0.0, "load_bus": 16, "status": 1, "index": 168}, "169": {"pd": -4.0, "qd": -0.0, "load_bus": 39, "status": 1, "index": 169}, "170": {"pd": -11.74, "qd": -0.0, "load_bus": 43, "status": 1, "index": 170}, "171": {"pd": -25.07, "qd": -0.0, "load_bus": 52, "status": 1, "index": 171}, "172": {"pd": -3.5, "qd": -0.0, "load_bus": 55, "status": 1, "index": 172}, "173": {"pd": -9.55, "qd": -0.0, "load_bus": 64, "status": 1, "index": 173}, "174": {"pd": -46.22, "qd": -0.0, "load_bus": 19, "status": 1, "index": 174}, "175": {"pd": -9.81, "qd": -0.0, "load_bus": 56, "status": 1, "index": 175}, "176": {"pd": -33.48, "qd": -0.0, "load_bus": 58, "status": 1, "index": 176}, "177": {"pd": -16.81, "qd": -0.0, "load_bus": 76, "status": 1, "index": 177}}, "storage": {}, "ne_branch": {}, "switch": {}, "baseMVA": 1, "source_version": "2.0.0", "shunt": {}, "sourcetype": "matpower", "per_unit": true, "name": "", "pm_solver": "ipopt", "pm_mip_solver": "cbc", "pm_nl_solver": "ipopt", "pm_model": "DCPPowerModel", "pm_log_level": 0, "pm_time_limit": Infinity, "pm_nl_time_limit": Infinity, "pm_mip_time_limit": Infinity, "correct_pm_network_data": true} \ No newline at end of file diff --git a/pandapower/opf/PpPmInterface/test/data/test_ots.json b/pandapower/opf/PpPmInterface/test/data/test_ots.json deleted file mode 100644 index 4e950cb9c..000000000 --- a/pandapower/opf/PpPmInterface/test/data/test_ots.json +++ /dev/null @@ -1 +0,0 @@ -{"gen": {"1": {"pg": 0.0, "qg": 0.0, "gen_bus": 4, "vg": 1.0, "qmax": 150.00000001, "gen_status": 1, "qmin": -150.00000001, "pmin": -1e-08, "pmax": 200.00000001, "index": 1, "model": 2, "ncost": 3, "cost": [0, 40.0, 0.0]}, "2": {"pg": 40.0, "qg": 0.0, "gen_bus": 1, "vg": 1.0, "qmax": 30.00000001, "gen_status": 1, "qmin": -30.00000001, "pmin": -1e-08, "pmax": 40.00000001, "index": 2, "model": 2, "ncost": 3, "cost": [0, 14.0, 0.0]}, "3": {"pg": 323.49, "qg": 0.0, "gen_bus": 3, "vg": 1.0, "qmax": 390.00000001, "gen_status": 1, "qmin": -390.00000001, "pmin": -1e-08, "pmax": 520.00000001, "index": 3, "model": 2, "ncost": 3, "cost": [0, 30.0, 0.0]}, "4": {"pg": 466.51, "qg": 0.0, "gen_bus": 5, "vg": 1.0, "qmax": 450.00000001, "gen_status": 1, "qmin": -450.00000001, "pmin": -1e-08, "pmax": 600.00000001, "index": 4, "model": 2, "ncost": 3, "cost": [0, 10.0, 0.0]}, "5": {"pg": 170.0, "qg": 0.0, "gen_bus": 1, "vg": 1.0, "qmax": 127.50000001, "gen_status": 1, "qmin": -127.50000001, "pmin": -1e-08, "pmax": 170.00000001, "index": 5, "model": 2, "ncost": 3, "cost": [0, 15.0, 0.0]}}, "branch": {"1": {"index": 1, "transformer": false, "br_r": 2.8100000000000002e-05, "br_x": 0.000281, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.3559999999999999, "b_to": 0.3559999999999999, "rate_a": 399.99999999999994, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 1, "t_bus": 2, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "2": {"index": 2, "transformer": false, "br_r": 3.04e-05, "br_x": 0.000304, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.329, "b_to": 0.329, "rate_a": 39836770.202398434, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 1, "t_bus": 4, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "3": {"index": 3, "transformer": false, "br_r": 6.4000000000000006e-06, "br_x": 6.4e-05, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.5630000000000002, "b_to": 1.5630000000000002, "rate_a": 39836770.202398434, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 1, "t_bus": 5, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "4": {"index": 4, "transformer": false, "br_r": 1.0800000000000002e-05, "br_x": 0.000108, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.9259999999999999, "b_to": 0.9259999999999999, "rate_a": 39836770.202398434, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 2, "t_bus": 3, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "5": {"index": 5, "transformer": false, "br_r": 2.9699999999999997e-05, "br_x": 0.000297, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.337, "b_to": 0.337, "rate_a": 39836770.202398434, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 4, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "6": {"index": 6, "transformer": false, "br_r": 2.9699999999999997e-05, "br_x": 0.000297, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.337, "b_to": 0.337, "rate_a": 240.00000000000156, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 4, "t_bus": 5, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}}, "bus": {"1": {"index": 1, "bus_i": 1, "zone": 1, "bus_type": 2, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 230.0}, "2": {"index": 2, "bus_i": 2, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 230.0}, "3": {"index": 3, "bus_i": 3, "zone": 1, "bus_type": 2, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 230.0}, "4": {"index": 4, "bus_i": 4, "zone": 1, "bus_type": 3, "vmax": 1.00000001, "vmin": 0.99999999, "va": 0.0, "vm": 1.0, "base_kv": 230.0}, "5": {"index": 5, "bus_i": 5, "zone": 1, "bus_type": 2, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 230.0}}, "dcline": {}, "load": {"1": {"pd": 300.0, "qd": 98.61, "load_bus": 2, "status": 1, "index": 1}, "2": {"pd": 300.0, "qd": 98.61, "load_bus": 3, "status": 1, "index": 2}, "3": {"pd": 400.0, "qd": 131.47, "load_bus": 4, "status": 1, "index": 3}}, "storage": {}, "ne_branch": {}, "switch": {}, "baseMVA": 1.0, "source_version": "2.0.0", "shunt": {}, "sourcetype": "matpower", "per_unit": true, "name": "", "pm_solver": "ipopt", "pm_mip_solver": "cbc", "pm_nl_solver": "ipopt", "pm_model": "DCPPowerModel", "pm_log_level": 0, "pm_time_limit": Infinity, "pm_nl_time_limit": Infinity, "pm_mip_time_limit": Infinity, "correct_pm_network_data": true} diff --git a/pandapower/opf/PpPmInterface/test/data/test_tnep.json b/pandapower/opf/PpPmInterface/test/data/test_tnep.json deleted file mode 100644 index 645461cfc..000000000 --- a/pandapower/opf/PpPmInterface/test/data/test_tnep.json +++ /dev/null @@ -1 +0,0 @@ -{"gen": {"1": {"pg": 9.51327, "qg": 0.0, "gen_bus": 1, "vg": 1.01, "qmax": 1000000000.0, "gen_status": 1, "qmin": -1000000000.0, "pmin": -1e-08, "pmax": 200.00000001, "index": 1, "model": 2, "ncost": 3, "cost": [0, 1.0, 0.0]}, "2": {"pg": 78.403291, "qg": 0.0, "gen_bus": 2, "vg": 1.01, "qmax": 1000000000.0, "gen_status": 1, "qmin": -1000000000.0, "pmin": -1e-08, "pmax": 200.00000001, "index": 2, "model": 2, "ncost": 3, "cost": [0, 3.0, 0.0]}, "3": {"pg": 92.375601, "qg": 0.0, "gen_bus": 3, "vg": 1.01, "qmax": 1000000000.0, "gen_status": 1, "qmin": -1000000000.0, "pmin": -1e-08, "pmax": 200.00000001, "index": 3, "model": 2, "ncost": 3, "cost": [0, 3.0, 0.0]}}, "branch": {"1": {"index": 1, "transformer": false, "br_r": 0.0011223140495867769, "br_x": 0.002371900826446281, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.164156427695868, "b_to": 1.164156427695868, "rate_a": 17.90940535026219, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 1, "t_bus": 2, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "2": {"index": 2, "transformer": false, "br_r": 0.0008016528925619836, "br_x": 0.0016942148760330578, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.8315403054970485, "b_to": 0.8315403054970485, "rate_a": 17.90940535026219, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 1, "t_bus": 3, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}, "3": {"index": 3, "transformer": false, "br_r": 0.001603305785123967, "br_x": 0.0033884297520661156, "g_fr": -0.0, "g_to": -0.0, "b_fr": 1.663080610994097, "b_to": 1.663080610994097, "rate_a": 17.90940535026219, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 1, "t_bus": 4, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0}}, "bus": {"1": {"index": 1, "bus_i": 1, "zone": 1, "bus_type": 3, "vmax": 1.05, "vmin": 0.95, "va": 0.0, "vm": 1.01, "base_kv": 110.0}, "2": {"index": 2, "bus_i": 2, "zone": 1, "bus_type": 2, "vmax": 1.05, "vmin": 0.95, "va": 0.0, "vm": 1.01, "base_kv": 110.0}, "3": {"index": 3, "bus_i": 3, "zone": 1, "bus_type": 2, "vmax": 1.05, "vmin": 0.95, "va": 0.0, "vm": 1.01, "base_kv": 110.0}, "4": {"index": 4, "bus_i": 4, "zone": 1, "bus_type": 1, "vmax": 1.05, "vmin": 0.95, "va": 0.0, "vm": 1.0, "base_kv": 110.0}}, "dcline": {}, "load": {"1": {"pd": 60.0, "qd": 0.0, "load_bus": 2, "status": 1, "index": 1}, "2": {"pd": 70.0, "qd": 0.0, "load_bus": 3, "status": 1, "index": 2}, "3": {"pd": 50.0, "qd": 0.0, "load_bus": 4, "status": 1, "index": 3}}, "storage": {}, "ne_branch": {"1": {"index": 1, "transformer": false, "br_r": 7.84297520661157e-05, "br_x": 0.00031404958677685947, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.1748610470988079, "b_to": 0.1748610470988079, "rate_a": 28.19778714722132, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 1, "t_bus": 4, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0, "construction_cost": 10.0}, "2": {"index": 2, "transformer": false, "br_r": 0.00032066115702479337, "br_x": 0.0006776859504132231, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.3326161221988194, "b_to": 0.3326161221988194, "rate_a": 17.90940535026219, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 2, "t_bus": 4, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0, "construction_cost": 20.0}, "3": {"index": 3, "transformer": false, "br_r": 0.00048099173553719013, "br_x": 0.0010165289256198345, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.49892418329822913, "b_to": 0.49892418329822913, "rate_a": 17.90940535026219, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 4, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0, "construction_cost": 30.0}, "4": {"index": 4, "transformer": false, "br_r": 0.0006413223140495867, "br_x": 0.0013553719008264462, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.6652322443976388, "b_to": 0.6652322443976388, "rate_a": 17.90940535026219, "rate_b": 250.0, "rate_c": 250.0, "f_bus": 3, "t_bus": 4, "br_status": 1, "angmin": -1.0471975511965976, "angmax": 1.0471975511965976, "tap": 1.0, "shift": 0.0, "construction_cost": 45.0}}, "switch": {}, "baseMVA": 1, "source_version": "2.0.0", "shunt": {}, "sourcetype": "matpower", "per_unit": true, "name": "", "pm_solver": "ipopt", "pm_mip_solver": "cbc", "pm_nl_solver": "ipopt", "pm_model": "DCPPowerModel", "pm_log_level": 0, "pm_time_limit": Infinity, "pm_nl_time_limit": Infinity, "pm_mip_time_limit": Infinity, "correct_pm_network_data": true} diff --git a/pandapower/opf/PpPmInterface/test/runtests.jl b/pandapower/opf/PpPmInterface/test/runtests.jl deleted file mode 100644 index 959be5bf3..000000000 --- a/pandapower/opf/PpPmInterface/test/runtests.jl +++ /dev/null @@ -1,95 +0,0 @@ -# using Logging -# NullLogger() - -import Pkg -Pkg.activate(joinpath(pwd(), "pandapower", "opf","PpPmInterface")) # for lyu -# Pkg.activate(".") #for maryam - -using PpPmInterface -using Test - -# test_path = joinpath(pwd(), "test", "data") # for maryam -test_path=joinpath(pwd(), "pandapower", "opf", "PpPmInterface", "test", "data") # for lyu - -test_net=joinpath(test_path, "pm_test.json") -test_ipopt = joinpath(test_path, "test_ipopt.json") -test_Gurobi = joinpath(test_path, "test_Gurobi.json") #use gurobi to solve -test_ots = joinpath(test_path, "test_ots.json") -test_tnep = joinpath(test_path, "test_tnep.json") - -@testset "test converting net from pandapower to pm" begin - -# simbench grid 1-HV-urban--0-sw with ipopt solver - pm = PpPmInterface.load_pm_from_json(test_ipopt) - - @test length(pm["bus"]) == 82 - @test length(pm["gen"]) == 1 - @test length(pm["branch"]) == 116 - @test length(pm["load"]) == 177 - - model = PpPmInterface.get_model(pm["pm_model"]) - # FIXME: when we register the package we need to change it to "DCPPowerModel" - @test string(model) == "PowerModels.DCPPowerModel" - - solver = PpPmInterface.get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], - pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) - - @test string(solver.optimizer_constructor) == "Ipopt.Optimizer" - - # TODO: you can copy the test above and change some conditions, such as solver or model or even the grid and run test for it - # @testset " simbench grid 1-HV-urban--0-sw with Gurobi solver for ACOPF" begin - # json_path = joinpath(test_path, "test_ipopt.json") - # pm = PpPmInterface.load_pm_from_json(json_path) - # - # @test length(pm["bus"]) == 82 - # @test length(pm["gen"]) == 1 - # @test length(pm["branch"]) == 116 - # @test length(pm["load"]) == 177 - # - # end - -end - -@testset "test run_powermodels" begin -# simbench grid 1-HV-urban--0-sw with ipopt solver - - result=run_powermodels(test_ipopt) - - @test typeof(result) == Dict{String,Any} - @test string(result["termination_status"]) == "LOCALLY_SOLVED" - @test isapprox(result["objective"], -96.1; atol = 1e0) - @test result["solve_time"] >= 0 - - - # TODO: you can copy the test above and change some conditions, such as solver or model or even the grid and run test for it -end - - - -@testset "PpPmInterface.jl" begin - # for i in ["","_ots","_powerflow","_tnep"] - # comm="result=run_powermodels"*i*"(test_ipopt)" - # eval(Meta.parse(comm)) - # @test isa(result, Dict{String,Any}) - # @test result["solve_time"]>=0 - # end - result=run_powermodels(test_ipopt) - @test isa(result, Dict{String,Any}) - string(result["termination_status"]) == "LOCALLY_SOLVED" - @test result["solve_time"]>=0 - # result=run_powermodels_mn_storage(test_Gurobi) - # @test isa(result, Dict{String,Any}) - # @test result["solve_time"]>=0 - result=run_powermodels_ots(test_ots) - @test isa(result, Dict{String,Any}) - string(result["termination_status"]) == "LOCALLY_SOLVED" - @test result["solve_time"]>=0 - result=run_powermodels_powerflow(test_Gurobi) - @test isa(result, Dict{String,Any}) - string(result["termination_status"]) == "LOCALLY_SOLVED" - @test result["solve_time"]>=0 - result=run_powermodels_tnep(test_tnep) - @test isa(result, Dict{String,Any}) - string(result["termination_status"]) == "LOCALLY_SOLVED" - @test result["solve_time"]>=0 -end From bdd88dd38a77388906061279531be872ecbb7f9a Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Mon, 29 Mar 2021 16:45:38 +0200 Subject: [PATCH 042/422] delete pp_dir --- pandapower/opf/run_powermodels.py | 6 ++++-- pandapower/runpm.py | 2 +- pandapower/test/opf/test_powermodels.py | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/pandapower/opf/run_powermodels.py b/pandapower/opf/run_powermodels.py index c7111e5df..66806a27e 100644 --- a/pandapower/opf/run_powermodels.py +++ b/pandapower/opf/run_powermodels.py @@ -1,6 +1,6 @@ import os -from pandapower import pp_dir +# from pandapower import pp_dir from pandapower.converter.powermodels.to_pm import convert_to_pm_structure, dump_pm_json from pandapower.converter.powermodels.from_pm import read_pm_results_to_net @@ -59,10 +59,12 @@ def _call_powermodels(buffer_file, julia_file): # pragma: no cover # import two julia scripts and runs powermodels julia_file try: Pkg_path = Base.find_package("PandaModels").split(".jl")[0] + print(Pkg_path) except: - Pkg.add(url = "https://github.com/e2nIEE/PandaModels.jl") + Pkg.add(url = "https://github.com/e2nIEE/PandaModels.jl")#(path = "C:/Users/x230/.julia/dev/PandaModels.jl") Pkg.build() Pkg.resolve() + Pkg.activate(Pkg_path) Main.using("PandaModels") # if not os.path.isfile(julia_file): diff --git a/pandapower/runpm.py b/pandapower/runpm.py index ddbc7e436..88bc7cf36 100644 --- a/pandapower/runpm.py +++ b/pandapower/runpm.py @@ -6,7 +6,7 @@ import os -from pandapower import pp_dir +# from pandapower import pp_dir from pandapower.auxiliary import _add_ppc_options, _add_opf_options from pandapower.converter.powermodels.from_pm import read_ots_results, read_tnep_results from pandapower.opf.pm_storage import add_storage_opf_settings, read_pm_storage_results diff --git a/pandapower/test/opf/test_powermodels.py b/pandapower/test/opf/test_powermodels.py index 11327ed5a..921b59c3f 100644 --- a/pandapower/test/opf/test_powermodels.py +++ b/pandapower/test/opf/test_powermodels.py @@ -15,7 +15,7 @@ import pandapower as pp import pandapower.networks as nw from pandapower.converter.powermodels.from_pm import read_pm_results_to_net -from pandapower import pp_dir +# from pandapower import pp_dir from pandapower.pd2ppc import _pd2ppc from pandapower.test.consistency_checks import consistency_checks from pandapower.test.toolbox import add_grid_connection, create_test_line From c8db5c2de985d1b490f1f51e55f12fb019fe74bf Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Mon, 29 Mar 2021 18:52:12 +0200 Subject: [PATCH 043/422] add dev direction --- pandapower/opf/run_powermodels.py | 20 ++++++++++++++------ pandapower/runpm.py | 2 +- pandapower/test/opf/test_TNEP.py | 6 +++--- 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/pandapower/opf/run_powermodels.py b/pandapower/opf/run_powermodels.py index c7111e5df..8af02a16a 100644 --- a/pandapower/opf/run_powermodels.py +++ b/pandapower/opf/run_powermodels.py @@ -1,6 +1,6 @@ import os -from pandapower import pp_dir +# from pandapower import pp_dir from pandapower.converter.powermodels.to_pm import convert_to_pm_structure, dump_pm_json from pandapower.converter.powermodels.from_pm import read_pm_results_to_net @@ -57,12 +57,20 @@ def _call_powermodels(buffer_file, julia_file): # pragma: no cover "Could not connect to julia, please check that Julia is installed and pyjulia is correctly configured") # import two julia scripts and runs powermodels julia_file - try: - Pkg_path = Base.find_package("PandaModels").split(".jl")[0] - except: - Pkg.add(url = "https://github.com/e2nIEE/PandaModels.jl") - Pkg.build() + if str(type(Base.find_package("PandaModels"))) == "": + Pkg.add(path = joinpath(homedir(), ".julia", "dev", "PandaModels.jl"))#(url = "https://github.com/e2nIEE/PandaModels.jl") + # Pkg.build() Pkg.resolve() + + Pkg_path = Base.find_package("PandaModels").split(".jl")[0] + + # try: + # Pkg_path = Base.find_package("PandaModels").split(".jl")[0] + # except: + # Pkg.add(url = "https://github.com/e2nIEE/PandaModels.jl") + # Pkg.build() + # Pkg.resolve() + Pkg.activate(Pkg_path) Main.using("PandaModels") # if not os.path.isfile(julia_file): diff --git a/pandapower/runpm.py b/pandapower/runpm.py index e4fc59563..d376b5906 100644 --- a/pandapower/runpm.py +++ b/pandapower/runpm.py @@ -6,7 +6,7 @@ import os -from pandapower import pp_dir +# from pandapower import pp_dir from pandapower.auxiliary import _add_ppc_options, _add_opf_options from pandapower.converter.powermodels.from_pm import read_ots_results, read_tnep_results from pandapower.opf.pm_storage import add_storage_opf_settings, read_pm_storage_results diff --git a/pandapower/test/opf/test_TNEP.py b/pandapower/test/opf/test_TNEP.py index 0ffdfc65f..26c0279fb 100644 --- a/pandapower/test/opf/test_TNEP.py +++ b/pandapower/test/opf/test_TNEP.py @@ -57,7 +57,7 @@ def test_pm_tnep_cigre_dc(): assert np.any(net["res_line"].loc[:, "loading_percent"] > net["line"].loc[:, "max_loading_percent"]) # run power models tnep optimization - pp.runpm_tnep(net, pm_solver= "juniper",pm_model="DCPPowerModel") # gurobi is a better option, but not for travis + pp.runpm_tnep(net, pm_solver= "juniper", pm_model="DCPPowerModel") # gurobi is a better option, but not for travis # print the information about the newly built lines print("These lines are to be built:") print(net["res_ne_line"]) @@ -169,7 +169,7 @@ def test_pm_tnep_cigre_ac_I(): if __name__ == '__main__': - # pytest.main([__file__]) - test_pm_tnep_cigre_ac_I() + pytest.main([__file__]) + # test_pm_tnep_cigre_ac_I() # test_pm_tnep_cigre() # test_pm_tnep_cigre_only_conversion() \ No newline at end of file From 515a77ef0c045bdcc7eb73e7979f3af1242825a8 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Tue, 30 Mar 2021 16:17:16 +0200 Subject: [PATCH 044/422] accept all --- pandapower/opf/run_powermodels.py | 2 +- pandapower/test/buffer_file.json | 1 + pandapower/test/opf/test_TNEP.py | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) create mode 100644 pandapower/test/buffer_file.json diff --git a/pandapower/opf/run_powermodels.py b/pandapower/opf/run_powermodels.py index 66806a27e..a81cb52f2 100644 --- a/pandapower/opf/run_powermodels.py +++ b/pandapower/opf/run_powermodels.py @@ -61,7 +61,7 @@ def _call_powermodels(buffer_file, julia_file): # pragma: no cover Pkg_path = Base.find_package("PandaModels").split(".jl")[0] print(Pkg_path) except: - Pkg.add(url = "https://github.com/e2nIEE/PandaModels.jl")#(path = "C:/Users/x230/.julia/dev/PandaModels.jl") + Pkg.add(path = "C:/Users/x230/.julia/dev/PandaModels.jl") Pkg.build() Pkg.resolve() diff --git a/pandapower/test/buffer_file.json b/pandapower/test/buffer_file.json new file mode 100644 index 000000000..adfde5de7 --- /dev/null +++ b/pandapower/test/buffer_file.json @@ -0,0 +1 @@ +{"gen": {"1": {"pg": 0.0, "qg": 0.0, "gen_bus": 4, "vg": 1.06414, "qmax": 150.00000001, "gen_status": 1, "qmin": -150.00000001, "pmin": -1e-08, "pmax": 200.00000001, "index": 1, "model": 2, "ncost": 3, "cost": [0, 40.0, 0.0]}, "2": {"pg": 40.0, "qg": 0.0, "gen_bus": 1, "vg": 1.07762, "qmax": 30.00000001, "gen_status": 1, "qmin": -30.00000001, "pmin": -1e-08, "pmax": 40.00000001, "index": 2, "model": 2, "ncost": 3, "cost": [0, 14.0, 0.0]}, "3": {"pg": 324.49, "qg": 0.0, "gen_bus": 3, "vg": 1.1, "qmax": 390.00000001, "gen_status": 1, "qmin": -390.00000001, "pmin": -1e-08, "pmax": 520.00000001, "index": 3, "model": 2, "ncost": 3, "cost": [0, 30.0, 0.0]}, "4": {"pg": 470.69, "qg": 0.0, "gen_bus": 5, "vg": 1.06907, "qmax": 450.00000001, "gen_status": 1, "qmin": -450.00000001, "pmin": -1e-08, "pmax": 600.00000001, "index": 4, "model": 2, "ncost": 3, "cost": [0, 10.0, 0.0]}, "5": {"pg": 170.0, "qg": 127.5, "gen_bus": 1, "vg": 1.0, "qmax": 127.50000001, "gen_status": 1, "qmin": -127.50000001, "pmin": -1e-08, "pmax": 170.00000001, "index": 5, "model": 2, "ncost": 3, "cost": [0, 15.0, 0.0]}}, "branch": {"1": {"index": 1, "transformer": false, "br_r": 0.00281, "br_x": 0.0281, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.00356, "b_to": 0.00356, "c_rating_a": 400.00000000000006, "c_rating_b": 250.0, "c_rating_c": 250.0, "f_bus": 1, "t_bus": 2, "br_status": 1, "angmin": -6.283185307179586, "angmax": 6.283185307179586, "tap": 1.0, "shift": 0.0}, "2": {"index": 2, "transformer": false, "br_r": 0.00304, "br_x": 0.030400000000000003, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.003290000000000001, "b_to": 0.003290000000000001, "c_rating_a": 426.0, "c_rating_b": 250.0, "c_rating_c": 250.0, "f_bus": 1, "t_bus": 4, "br_status": 1, "angmin": -6.283185307179586, "angmax": 6.283185307179586, "tap": 1.0, "shift": 0.0}, "3": {"index": 3, "transformer": false, "br_r": 0.00064, "br_x": 0.0064, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.015630000000000005, "b_to": 0.015630000000000005, "c_rating_a": 426.0, "c_rating_b": 250.0, "c_rating_c": 250.0, "f_bus": 1, "t_bus": 5, "br_status": 1, "angmin": -6.283185307179586, "angmax": 6.283185307179586, "tap": 1.0, "shift": 0.0}, "4": {"index": 4, "transformer": false, "br_r": 0.00108, "br_x": 0.0108, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.00926, "b_to": 0.00926, "c_rating_a": 426.0, "c_rating_b": 250.0, "c_rating_c": 250.0, "f_bus": 2, "t_bus": 3, "br_status": 1, "angmin": -6.283185307179586, "angmax": 6.283185307179586, "tap": 1.0, "shift": 0.0}, "5": {"index": 5, "transformer": false, "br_r": 0.00297, "br_x": 0.0297, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0033700000000000006, "b_to": 0.0033700000000000006, "c_rating_a": 240.0, "c_rating_b": 250.0, "c_rating_c": 250.0, "f_bus": 4, "t_bus": 5, "br_status": 1, "angmin": -6.283185307179586, "angmax": 6.283185307179586, "tap": 1.0, "shift": 0.0}, "6": {"index": 6, "transformer": true, "br_r": 0.00296970273567, "br_x": 0.0296985285415665, "g_fr": 1.686668462693209e-08, "g_to": 1.686668462693209e-08, "b_fr": 0.0033701686583210125, "b_to": 0.0033701686583210125, "c_rating_a": 426.0, "c_rating_b": 250.0, "c_rating_c": 250.0, "f_bus": 3, "t_bus": 4, "br_status": 1, "angmin": -6.283185307179586, "angmax": 6.283185307179586, "tap": 1.05, "shift": 0.017453292519943295}, "7": {"index": 7, "transformer": true, "br_r": 0.00296970273567, "br_x": 0.0296985285415665, "g_fr": 1.686668462693209e-08, "g_to": 1.686668462693209e-08, "b_fr": 0.0033701686583210125, "b_to": 0.0033701686583210125, "c_rating_a": 426.0, "c_rating_b": 250.0, "c_rating_c": 250.0, "f_bus": 3, "t_bus": 4, "br_status": 1, "angmin": -6.283185307179586, "angmax": 6.283185307179586, "tap": 1.05, "shift": -0.017453292519943295}}, "bus": {"1": {"index": 1, "bus_i": 1, "zone": 1, "bus_type": 2, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.07762, "base_kv": 230.0}, "2": {"index": 2, "bus_i": 2, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 230.0}, "3": {"index": 3, "bus_i": 3, "zone": 1, "bus_type": 2, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.1, "base_kv": 230.0}, "4": {"index": 4, "bus_i": 4, "zone": 1, "bus_type": 3, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.06414, "base_kv": 230.0}, "5": {"index": 5, "bus_i": 5, "zone": 1, "bus_type": 2, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.06907, "base_kv": 230.0}}, "dcline": {}, "load": {"1": {"pd": 300.0, "qd": 98.61, "load_bus": 2, "status": 1, "index": 1}, "2": {"pd": 300.0, "qd": 98.61, "load_bus": 3, "status": 1, "index": 2}, "3": {"pd": 400.0, "qd": 131.47, "load_bus": 4, "status": 1, "index": 3}}, "storage": {}, "ne_branch": {}, "switch": {}, "baseMVA": 100.0, "source_version": "2.0.0", "shunt": {}, "sourcetype": "matpower", "per_unit": true, "name": "", "pm_solver": "ipopt", "pm_mip_solver": "cbc", "pm_nl_solver": "ipopt", "pm_model": "ACPPowerModel", "pm_log_level": 0, "pm_time_limit": Infinity, "pm_nl_time_limit": Infinity, "pm_mip_time_limit": Infinity, "correct_pm_network_data": false} \ No newline at end of file diff --git a/pandapower/test/opf/test_TNEP.py b/pandapower/test/opf/test_TNEP.py index 0ffdfc65f..ede64e5b1 100644 --- a/pandapower/test/opf/test_TNEP.py +++ b/pandapower/test/opf/test_TNEP.py @@ -169,7 +169,7 @@ def test_pm_tnep_cigre_ac_I(): if __name__ == '__main__': - # pytest.main([__file__]) - test_pm_tnep_cigre_ac_I() + pytest.main([__file__]) + # test_pm_tnep_cigre_ac_I() # test_pm_tnep_cigre() # test_pm_tnep_cigre_only_conversion() \ No newline at end of file From e89cae9295099e1dd72b03060b2aa1c1ec9bdb7f Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Tue, 30 Mar 2021 16:17:33 +0200 Subject: [PATCH 045/422] accept --- pandapower/test/buffer_file.json | 1 - 1 file changed, 1 deletion(-) delete mode 100644 pandapower/test/buffer_file.json diff --git a/pandapower/test/buffer_file.json b/pandapower/test/buffer_file.json deleted file mode 100644 index adfde5de7..000000000 --- a/pandapower/test/buffer_file.json +++ /dev/null @@ -1 +0,0 @@ -{"gen": {"1": {"pg": 0.0, "qg": 0.0, "gen_bus": 4, "vg": 1.06414, "qmax": 150.00000001, "gen_status": 1, "qmin": -150.00000001, "pmin": -1e-08, "pmax": 200.00000001, "index": 1, "model": 2, "ncost": 3, "cost": [0, 40.0, 0.0]}, "2": {"pg": 40.0, "qg": 0.0, "gen_bus": 1, "vg": 1.07762, "qmax": 30.00000001, "gen_status": 1, "qmin": -30.00000001, "pmin": -1e-08, "pmax": 40.00000001, "index": 2, "model": 2, "ncost": 3, "cost": [0, 14.0, 0.0]}, "3": {"pg": 324.49, "qg": 0.0, "gen_bus": 3, "vg": 1.1, "qmax": 390.00000001, "gen_status": 1, "qmin": -390.00000001, "pmin": -1e-08, "pmax": 520.00000001, "index": 3, "model": 2, "ncost": 3, "cost": [0, 30.0, 0.0]}, "4": {"pg": 470.69, "qg": 0.0, "gen_bus": 5, "vg": 1.06907, "qmax": 450.00000001, "gen_status": 1, "qmin": -450.00000001, "pmin": -1e-08, "pmax": 600.00000001, "index": 4, "model": 2, "ncost": 3, "cost": [0, 10.0, 0.0]}, "5": {"pg": 170.0, "qg": 127.5, "gen_bus": 1, "vg": 1.0, "qmax": 127.50000001, "gen_status": 1, "qmin": -127.50000001, "pmin": -1e-08, "pmax": 170.00000001, "index": 5, "model": 2, "ncost": 3, "cost": [0, 15.0, 0.0]}}, "branch": {"1": {"index": 1, "transformer": false, "br_r": 0.00281, "br_x": 0.0281, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.00356, "b_to": 0.00356, "c_rating_a": 400.00000000000006, "c_rating_b": 250.0, "c_rating_c": 250.0, "f_bus": 1, "t_bus": 2, "br_status": 1, "angmin": -6.283185307179586, "angmax": 6.283185307179586, "tap": 1.0, "shift": 0.0}, "2": {"index": 2, "transformer": false, "br_r": 0.00304, "br_x": 0.030400000000000003, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.003290000000000001, "b_to": 0.003290000000000001, "c_rating_a": 426.0, "c_rating_b": 250.0, "c_rating_c": 250.0, "f_bus": 1, "t_bus": 4, "br_status": 1, "angmin": -6.283185307179586, "angmax": 6.283185307179586, "tap": 1.0, "shift": 0.0}, "3": {"index": 3, "transformer": false, "br_r": 0.00064, "br_x": 0.0064, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.015630000000000005, "b_to": 0.015630000000000005, "c_rating_a": 426.0, "c_rating_b": 250.0, "c_rating_c": 250.0, "f_bus": 1, "t_bus": 5, "br_status": 1, "angmin": -6.283185307179586, "angmax": 6.283185307179586, "tap": 1.0, "shift": 0.0}, "4": {"index": 4, "transformer": false, "br_r": 0.00108, "br_x": 0.0108, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.00926, "b_to": 0.00926, "c_rating_a": 426.0, "c_rating_b": 250.0, "c_rating_c": 250.0, "f_bus": 2, "t_bus": 3, "br_status": 1, "angmin": -6.283185307179586, "angmax": 6.283185307179586, "tap": 1.0, "shift": 0.0}, "5": {"index": 5, "transformer": false, "br_r": 0.00297, "br_x": 0.0297, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0033700000000000006, "b_to": 0.0033700000000000006, "c_rating_a": 240.0, "c_rating_b": 250.0, "c_rating_c": 250.0, "f_bus": 4, "t_bus": 5, "br_status": 1, "angmin": -6.283185307179586, "angmax": 6.283185307179586, "tap": 1.0, "shift": 0.0}, "6": {"index": 6, "transformer": true, "br_r": 0.00296970273567, "br_x": 0.0296985285415665, "g_fr": 1.686668462693209e-08, "g_to": 1.686668462693209e-08, "b_fr": 0.0033701686583210125, "b_to": 0.0033701686583210125, "c_rating_a": 426.0, "c_rating_b": 250.0, "c_rating_c": 250.0, "f_bus": 3, "t_bus": 4, "br_status": 1, "angmin": -6.283185307179586, "angmax": 6.283185307179586, "tap": 1.05, "shift": 0.017453292519943295}, "7": {"index": 7, "transformer": true, "br_r": 0.00296970273567, "br_x": 0.0296985285415665, "g_fr": 1.686668462693209e-08, "g_to": 1.686668462693209e-08, "b_fr": 0.0033701686583210125, "b_to": 0.0033701686583210125, "c_rating_a": 426.0, "c_rating_b": 250.0, "c_rating_c": 250.0, "f_bus": 3, "t_bus": 4, "br_status": 1, "angmin": -6.283185307179586, "angmax": 6.283185307179586, "tap": 1.05, "shift": -0.017453292519943295}}, "bus": {"1": {"index": 1, "bus_i": 1, "zone": 1, "bus_type": 2, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.07762, "base_kv": 230.0}, "2": {"index": 2, "bus_i": 2, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 230.0}, "3": {"index": 3, "bus_i": 3, "zone": 1, "bus_type": 2, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.1, "base_kv": 230.0}, "4": {"index": 4, "bus_i": 4, "zone": 1, "bus_type": 3, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.06414, "base_kv": 230.0}, "5": {"index": 5, "bus_i": 5, "zone": 1, "bus_type": 2, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.06907, "base_kv": 230.0}}, "dcline": {}, "load": {"1": {"pd": 300.0, "qd": 98.61, "load_bus": 2, "status": 1, "index": 1}, "2": {"pd": 300.0, "qd": 98.61, "load_bus": 3, "status": 1, "index": 2}, "3": {"pd": 400.0, "qd": 131.47, "load_bus": 4, "status": 1, "index": 3}}, "storage": {}, "ne_branch": {}, "switch": {}, "baseMVA": 100.0, "source_version": "2.0.0", "shunt": {}, "sourcetype": "matpower", "per_unit": true, "name": "", "pm_solver": "ipopt", "pm_mip_solver": "cbc", "pm_nl_solver": "ipopt", "pm_model": "ACPPowerModel", "pm_log_level": 0, "pm_time_limit": Infinity, "pm_nl_time_limit": Infinity, "pm_mip_time_limit": Infinity, "correct_pm_network_data": false} \ No newline at end of file From 6dff78faccd40986c0423c17aa5314ac1d714cd8 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Tue, 30 Mar 2021 16:47:21 +0200 Subject: [PATCH 046/422] set pkg_path --- pandapower/opf/run_powermodels.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/pandapower/opf/run_powermodels.py b/pandapower/opf/run_powermodels.py index a81cb52f2..750bb529a 100644 --- a/pandapower/opf/run_powermodels.py +++ b/pandapower/opf/run_powermodels.py @@ -57,14 +57,20 @@ def _call_powermodels(buffer_file, julia_file): # pragma: no cover "Could not connect to julia, please check that Julia is installed and pyjulia is correctly configured") # import two julia scripts and runs powermodels julia_file - try: - Pkg_path = Base.find_package("PandaModels").split(".jl")[0] - print(Pkg_path) - except: - Pkg.add(path = "C:/Users/x230/.julia/dev/PandaModels.jl") - Pkg.build() + if str(type(Base.find_package("PandaModels"))) == "": + Pkg.add(path = joinpath(homedir(), ".julia", "dev", "PandaModels.jl"))#(url = "https://github.com/e2nIEE/PandaModels.jl") + # Pkg.build() Pkg.resolve() + Pkg_path = Base.find_package("PandaModels").split(".jl")[0] + # try: + # Pkg_path = Base.find_package("PandaModels").split(".jl")[0] + # print(Pkg_path) + # except: + # Pkg.add(path = "C:/Users/x230/.julia/dev/PandaModels.jl") + # Pkg.build() + # Pkg.resolve() + Pkg.activate(Pkg_path) Main.using("PandaModels") # if not os.path.isfile(julia_file): From 902b5f738aa03d19a3991deea105f5993a9d3e59 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Wed, 31 Mar 2021 20:45:56 +0200 Subject: [PATCH 047/422] fix models --- pandapower/opf/run_powermodels.py | 21 +++++++++++++++------ pandapower/runpm.py | 15 ++++++++------- pandapower/test/buffer_file.json | 1 + pandapower/test/opf/test_powermodels.py | 6 ++---- 4 files changed, 26 insertions(+), 17 deletions(-) create mode 100644 pandapower/test/buffer_file.json diff --git a/pandapower/opf/run_powermodels.py b/pandapower/opf/run_powermodels.py index 750bb529a..225b258eb 100644 --- a/pandapower/opf/run_powermodels.py +++ b/pandapower/opf/run_powermodels.py @@ -55,14 +55,21 @@ def _call_powermodels(buffer_file, julia_file): # pragma: no cover except: raise UserWarning( "Could not connect to julia, please check that Julia is installed and pyjulia is correctly configured") - + + # Pkg.rm("PandaModels") + # Pkg.resolve() # import two julia scripts and runs powermodels julia_file if str(type(Base.find_package("PandaModels"))) == "": - Pkg.add(path = joinpath(homedir(), ".julia", "dev", "PandaModels.jl"))#(url = "https://github.com/e2nIEE/PandaModels.jl") - # Pkg.build() + + Pkg.add(url = "https://github.com/e2nIEE/PandaModels.jl") + + Pkg.develop("PandaModels") + Pkg.build() Pkg.resolve() - Pkg_path = Base.find_package("PandaModels").split(".jl")[0] + # Pkg_path = Base.find_package("PandaModels").split(".jl")[0] + + # try: # Pkg_path = Base.find_package("PandaModels").split(".jl")[0] # print(Pkg_path) @@ -71,12 +78,14 @@ def _call_powermodels(buffer_file, julia_file): # pragma: no cover # Pkg.build() # Pkg.resolve() - Pkg.activate(Pkg_path) + # Pkg.activate(Pkg_path) + Pkg.activate("PandaModels") + Main.using("PandaModels") # if not os.path.isfile(julia_file): # raise UserWarning("File %s could not be imported" % julia_file) Main.buffer_file = buffer_file # exec_fun = julia_file.split("/")[-1].split(".")[0] - print(julia_file) + # print(">>>>>> julia_file: " + julia_file) result_pm = Main.eval(julia_file+"(buffer_file)") return result_pm diff --git a/pandapower/runpm.py b/pandapower/runpm.py index d376b5906..fc4ba00d4 100644 --- a/pandapower/runpm.py +++ b/pandapower/runpm.py @@ -6,7 +6,7 @@ import os -# from pandapower import pp_dir +from pandapower import pp_dir from pandapower.auxiliary import _add_ppc_options, _add_opf_options from pandapower.converter.powermodels.from_pm import read_ots_results, read_tnep_results from pandapower.opf.pm_storage import add_storage_opf_settings, read_pm_storage_results @@ -85,10 +85,11 @@ def runpm(net, julia_file=None, pp_to_pm_callback=None, calculate_voltage_angles "I" - current magnitude (limit in MVA at 1 p.u. voltage) """ - net._options = {} - ac = True if "DC" not in pm_model else False # julia_file = os.path.join(pp_dir, "opf", "PpPmInterface", "src", "pm_models", 'run_powermodels.jl') if julia_file is None else julia_file julia_file = "run_powermodels" if julia_file is None else julia_file + ac = True if "DC" not in pm_model else False + + net._options = {} _add_ppc_options(net, calculate_voltage_angles=calculate_voltage_angles, trafo_model=trafo_model, check_connectivity=check_connectivity, mode="opf", switch_rx_ratio=2, init_vm_pu="flat", init_va_degree="flat", @@ -156,7 +157,7 @@ def runpm_dc_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, """ # julia_file = os.path.join(pp_dir, "opf", "PpPmInterface", "src", "pm_models", 'run_powermodels.jl') julia_file = "run_powermodels" - ac = True if "DC" not in pm_model else False + # ac = True if "DC" not in pm_model else False net._options = {} _add_ppc_options(net, calculate_voltage_angles=calculate_voltage_angles, @@ -164,7 +165,7 @@ def runpm_dc_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, mode="opf", switch_rx_ratio=2, init_vm_pu="flat", init_va_degree="flat", enforce_q_lims=True, recycle=dict(_is_elements=False, ppc=False, Ybus=False), voltage_depend_loads=False, delta=delta, trafo3w_losses=trafo3w_losses) - _add_opf_options(net, trafo_loading='power', ac=ac, init="flat", numba=True, + _add_opf_options(net, trafo_loading='power', ac=False, init="flat", numba=True, pp_to_pm_callback=pp_to_pm_callback, julia_file=julia_file, correct_pm_network_data=correct_pm_network_data, pm_model=pm_model, pm_solver=pm_solver, pm_time_limits=pm_time_limits, pm_log_level=pm_log_level, opf_flow_lim="S") @@ -239,7 +240,7 @@ def runpm_ac_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, """ # julia_file = os.path.join(pp_dir, "opf", "PpPmInterface", "src", "pm_models", 'run_powermodels.jl') julia_file = "run_powermodels" - ac = True if "DC" not in pm_model else False + # ac = True if "DC" not in pm_model else False net._options = {} _add_ppc_options(net, calculate_voltage_angles=calculate_voltage_angles, @@ -247,7 +248,7 @@ def runpm_ac_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, mode="opf", switch_rx_ratio=2, init_vm_pu="flat", init_va_degree="flat", enforce_q_lims=True, recycle=dict(_is_elements=False, ppc=False, Ybus=False), voltage_depend_loads=False, delta=delta, trafo3w_losses=trafo3w_losses) - _add_opf_options(net, trafo_loading='power', ac=ac, init="flat", numba=True, + _add_opf_options(net, trafo_loading='power', ac=True, init="flat", numba=True, pp_to_pm_callback=pp_to_pm_callback, julia_file=julia_file, pm_model=pm_model, pm_solver=pm_solver, correct_pm_network_data=correct_pm_network_data, pm_time_limits=pm_time_limits, pm_log_level=pm_log_level, opf_flow_lim=opf_flow_lim) diff --git a/pandapower/test/buffer_file.json b/pandapower/test/buffer_file.json new file mode 100644 index 000000000..adfde5de7 --- /dev/null +++ b/pandapower/test/buffer_file.json @@ -0,0 +1 @@ +{"gen": {"1": {"pg": 0.0, "qg": 0.0, "gen_bus": 4, "vg": 1.06414, "qmax": 150.00000001, "gen_status": 1, "qmin": -150.00000001, "pmin": -1e-08, "pmax": 200.00000001, "index": 1, "model": 2, "ncost": 3, "cost": [0, 40.0, 0.0]}, "2": {"pg": 40.0, "qg": 0.0, "gen_bus": 1, "vg": 1.07762, "qmax": 30.00000001, "gen_status": 1, "qmin": -30.00000001, "pmin": -1e-08, "pmax": 40.00000001, "index": 2, "model": 2, "ncost": 3, "cost": [0, 14.0, 0.0]}, "3": {"pg": 324.49, "qg": 0.0, "gen_bus": 3, "vg": 1.1, "qmax": 390.00000001, "gen_status": 1, "qmin": -390.00000001, "pmin": -1e-08, "pmax": 520.00000001, "index": 3, "model": 2, "ncost": 3, "cost": [0, 30.0, 0.0]}, "4": {"pg": 470.69, "qg": 0.0, "gen_bus": 5, "vg": 1.06907, "qmax": 450.00000001, "gen_status": 1, "qmin": -450.00000001, "pmin": -1e-08, "pmax": 600.00000001, "index": 4, "model": 2, "ncost": 3, "cost": [0, 10.0, 0.0]}, "5": {"pg": 170.0, "qg": 127.5, "gen_bus": 1, "vg": 1.0, "qmax": 127.50000001, "gen_status": 1, "qmin": -127.50000001, "pmin": -1e-08, "pmax": 170.00000001, "index": 5, "model": 2, "ncost": 3, "cost": [0, 15.0, 0.0]}}, "branch": {"1": {"index": 1, "transformer": false, "br_r": 0.00281, "br_x": 0.0281, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.00356, "b_to": 0.00356, "c_rating_a": 400.00000000000006, "c_rating_b": 250.0, "c_rating_c": 250.0, "f_bus": 1, "t_bus": 2, "br_status": 1, "angmin": -6.283185307179586, "angmax": 6.283185307179586, "tap": 1.0, "shift": 0.0}, "2": {"index": 2, "transformer": false, "br_r": 0.00304, "br_x": 0.030400000000000003, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.003290000000000001, "b_to": 0.003290000000000001, "c_rating_a": 426.0, "c_rating_b": 250.0, "c_rating_c": 250.0, "f_bus": 1, "t_bus": 4, "br_status": 1, "angmin": -6.283185307179586, "angmax": 6.283185307179586, "tap": 1.0, "shift": 0.0}, "3": {"index": 3, "transformer": false, "br_r": 0.00064, "br_x": 0.0064, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.015630000000000005, "b_to": 0.015630000000000005, "c_rating_a": 426.0, "c_rating_b": 250.0, "c_rating_c": 250.0, "f_bus": 1, "t_bus": 5, "br_status": 1, "angmin": -6.283185307179586, "angmax": 6.283185307179586, "tap": 1.0, "shift": 0.0}, "4": {"index": 4, "transformer": false, "br_r": 0.00108, "br_x": 0.0108, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.00926, "b_to": 0.00926, "c_rating_a": 426.0, "c_rating_b": 250.0, "c_rating_c": 250.0, "f_bus": 2, "t_bus": 3, "br_status": 1, "angmin": -6.283185307179586, "angmax": 6.283185307179586, "tap": 1.0, "shift": 0.0}, "5": {"index": 5, "transformer": false, "br_r": 0.00297, "br_x": 0.0297, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0033700000000000006, "b_to": 0.0033700000000000006, "c_rating_a": 240.0, "c_rating_b": 250.0, "c_rating_c": 250.0, "f_bus": 4, "t_bus": 5, "br_status": 1, "angmin": -6.283185307179586, "angmax": 6.283185307179586, "tap": 1.0, "shift": 0.0}, "6": {"index": 6, "transformer": true, "br_r": 0.00296970273567, "br_x": 0.0296985285415665, "g_fr": 1.686668462693209e-08, "g_to": 1.686668462693209e-08, "b_fr": 0.0033701686583210125, "b_to": 0.0033701686583210125, "c_rating_a": 426.0, "c_rating_b": 250.0, "c_rating_c": 250.0, "f_bus": 3, "t_bus": 4, "br_status": 1, "angmin": -6.283185307179586, "angmax": 6.283185307179586, "tap": 1.05, "shift": 0.017453292519943295}, "7": {"index": 7, "transformer": true, "br_r": 0.00296970273567, "br_x": 0.0296985285415665, "g_fr": 1.686668462693209e-08, "g_to": 1.686668462693209e-08, "b_fr": 0.0033701686583210125, "b_to": 0.0033701686583210125, "c_rating_a": 426.0, "c_rating_b": 250.0, "c_rating_c": 250.0, "f_bus": 3, "t_bus": 4, "br_status": 1, "angmin": -6.283185307179586, "angmax": 6.283185307179586, "tap": 1.05, "shift": -0.017453292519943295}}, "bus": {"1": {"index": 1, "bus_i": 1, "zone": 1, "bus_type": 2, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.07762, "base_kv": 230.0}, "2": {"index": 2, "bus_i": 2, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 230.0}, "3": {"index": 3, "bus_i": 3, "zone": 1, "bus_type": 2, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.1, "base_kv": 230.0}, "4": {"index": 4, "bus_i": 4, "zone": 1, "bus_type": 3, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.06414, "base_kv": 230.0}, "5": {"index": 5, "bus_i": 5, "zone": 1, "bus_type": 2, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.06907, "base_kv": 230.0}}, "dcline": {}, "load": {"1": {"pd": 300.0, "qd": 98.61, "load_bus": 2, "status": 1, "index": 1}, "2": {"pd": 300.0, "qd": 98.61, "load_bus": 3, "status": 1, "index": 2}, "3": {"pd": 400.0, "qd": 131.47, "load_bus": 4, "status": 1, "index": 3}}, "storage": {}, "ne_branch": {}, "switch": {}, "baseMVA": 100.0, "source_version": "2.0.0", "shunt": {}, "sourcetype": "matpower", "per_unit": true, "name": "", "pm_solver": "ipopt", "pm_mip_solver": "cbc", "pm_nl_solver": "ipopt", "pm_model": "ACPPowerModel", "pm_log_level": 0, "pm_time_limit": Infinity, "pm_nl_time_limit": Infinity, "pm_mip_time_limit": Infinity, "correct_pm_network_data": false} \ No newline at end of file diff --git a/pandapower/test/opf/test_powermodels.py b/pandapower/test/opf/test_powermodels.py index 2f666c384..044eb186f 100644 --- a/pandapower/test/opf/test_powermodels.py +++ b/pandapower/test/opf/test_powermodels.py @@ -15,9 +15,7 @@ import pandapower as pp import pandapower.networks as nw from pandapower.converter.powermodels.from_pm import read_pm_results_to_net - from pandapower.converter.powermodels.to_pm import init_ne_line - from pandapower.pd2ppc import _pd2ppc from pandapower.test.consistency_checks import consistency_checks from pandapower.test.toolbox import add_grid_connection, create_test_line @@ -301,7 +299,7 @@ def test_voltage_angles(): # custom_file = os.path.join(pp_dir, "opf", "PpPmInterface", "src", "pm_models", "run_powermodels.jl") - custom_file = "run_powermodels" + custom_file = "run_powermodels_custom" #custom_file = os.path.join(os.path.abspath(os.path.dirname(pp.test.__file__)),"test_files", "run_powermodels_custom.jl") # load is zero since costs are high. PF results should be the same as OPF net.load.loc[1, "p_mw"] = 0. pp.runpp(net, calculate_voltage_angles=True) @@ -432,7 +430,7 @@ def assert_pf(net, dc=False): # custom_file = os.path.join(os.path.abspath(os.path.dirname(pp.__file__)), # "opf", "run_powermodels_powerflow.jl") # custom_file = os.path.join(pp_dir, "opf", "PpPmInterface", "src", "pm_models", "run_powermodels.jl") - custom_file = "run_powermodels" + custom_file = "run_powermodels_powerflow" if dc: # see https://github.com/lanl-ansi/PowerModels.jl/issues/612 for details pp.runpm(net, julia_file=custom_file, pm_model="DCMPPowerModel") From 8845b4bcc2bbfd6946c6b5e32efc62d4027387a6 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Wed, 31 Mar 2021 21:06:41 +0200 Subject: [PATCH 048/422] git-ignore: buffer-file --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 272796174..cfefea78c 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,5 @@ pandapower/test/timeseries/run_timeseries_output/* pandapower/timeseries/logs/* */data/* /.vscode/ + +pandapower/test/buffer_file.json From 7cfb11adaf6dd96cef9c8bef2b4466716b9a4149 Mon Sep 17 00:00:00 2001 From: U_F_O Date: Sat, 24 Apr 2021 13:08:24 +0200 Subject: [PATCH 049/422] remove one warning and fixed one entrance --- pandapower/results_bus.py | 2 +- pandapower/test/opf/test_powermodels.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pandapower/results_bus.py b/pandapower/results_bus.py index 652d26703..1ecb8c671 100644 --- a/pandapower/results_bus.py +++ b/pandapower/results_bus.py @@ -287,7 +287,7 @@ def get_p_q_b_3ph(net, element): def _get_p_q_results(net, ppc, bus_lookup_aranged): - bus_pq = np.zeros(shape=(len(net["bus"].index), 2), dtype=np.float) + bus_pq = np.zeros(shape=(len(net["bus"].index), 2), dtype=np.float64) b, p, q = np.array([]), np.array([]), np.array([]) ac = net["_options"]["ac"] diff --git a/pandapower/test/opf/test_powermodels.py b/pandapower/test/opf/test_powermodels.py index afdfee8b5..741190843 100644 --- a/pandapower/test/opf/test_powermodels.py +++ b/pandapower/test/opf/test_powermodels.py @@ -298,7 +298,7 @@ def test_voltage_angles(): net.bus.loc[:, "min_vm_pu"] = .9 # custom_file = os.path.join(pp_dir, "opf", "PpPmInterface", "src", "pm_models", "run_powermodels.jl") - custom_file = "run_powermodels_custom" #custom_file = os.path.join(os.path.abspath(os.path.dirname(pp.test.__file__)),"test_files", "run_powermodels_custom.jl") + custom_file = "run_powermodels" #custom_file = os.path.join(os.path.abspath(os.path.dirname(pp.test.__file__)),"test_files", "run_powermodels_custom.jl") # load is zero since costs are high. PF results should be the same as OPF net.load.loc[1, "p_mw"] = 0. From 3c832972a1821c40699efbb4bd5e4a82a1bb496d Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Wed, 28 Apr 2021 17:03:57 +0200 Subject: [PATCH 050/422] added TapDependentImpedance and tests --- CHANGELOG.rst | 1 + pandapower/control/__init__.py | 1 + .../controller/trafo/TapDependentImpedance.py | 46 ++++++++++++ .../control/test_tap_dependent_impedance.py | 75 +++++++++++++++++++ 4 files changed, 123 insertions(+) create mode 100644 pandapower/control/controller/trafo/TapDependentImpedance.py create mode 100644 pandapower/test/control/test_tap_dependent_impedance.py diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 820a9ef22..56bf1e717 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -6,6 +6,7 @@ Change Log - [ADDED] Characteristic object that represents a piecewise-linear characteristic - [ADDED] CharacteristicControl that implements adjusting values in net based on some other input values in the grid - [ADDED] USetTapControl that adjusts the setpoint for a transformer tap changer, based on a specified result variable (e.g. i_lv_ka) +- [ADDED] TapDependentImpedance controller that adjusts the transformer parameters (e.g. vk_percent, vkr_percent) according to the tap position, based on a specified characteristic [2.6.0]- 2021-03-09 ---------------------- diff --git a/pandapower/control/__init__.py b/pandapower/control/__init__.py index cad9ef94c..4e9b0a70a 100644 --- a/pandapower/control/__init__.py +++ b/pandapower/control/__init__.py @@ -6,6 +6,7 @@ from pandapower.control.controller.trafo.ContinuousTapControl import ContinuousTapControl from pandapower.control.controller.trafo.DiscreteTapControl import DiscreteTapControl from pandapower.control.controller.trafo.USetTapControl import USetTapControl +from pandapower.control.controller.trafo.TapDependentImpedance import TapDependentImpedance from pandapower.control.controller.trafo_control import TrafoController # --- Other --- diff --git a/pandapower/control/controller/trafo/TapDependentImpedance.py b/pandapower/control/controller/trafo/TapDependentImpedance.py new file mode 100644 index 000000000..10eae2538 --- /dev/null +++ b/pandapower/control/controller/trafo/TapDependentImpedance.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + +from pandapower.control.controller.characteristic_control import CharacteristicControl +from control.util.characteristic import Characteristic + +class TapDependentImpedance(CharacteristicControl): + """ + Controller that adjusts the impedance of a transformer (or multiple transformers) depending to the actual tap position and + according to a defined characteristic. + + INPUT: + **net** (attrdict) - Pandapower net + + **tid** (int or list or numpy array) - ID of the transformer or multiple transfromers + + **characteristic** (object of class Characteristic) - Characteristic that describes the relationship between transformer tap + position and transformer impedance + + OPTIONAL: + + **in_service** (bool, True) - Indicates if the controller is currently in_service + + **drop_same_existing_ctrl** (bool, False) - Indicates if already existing controllers of the same type and with the same matching parameters (e.g. at same element) should be dropped + """ + + def __init__(self, net, transformer_index, characteristic, trafotable="trafo", output_variable="vk_percent", tol=1e-3, restore=True, + in_service=True, order=0, level=0, drop_same_existing_ctrl=False, matching_params=None, **kwargs): + if matching_params is None: + matching_params = {"transformer_index": transformer_index, 'output_variable': output_variable} + super().__init__(net, output_element=trafotable, output_variable=output_variable, output_element_index=transformer_index, + input_element=trafotable, input_variable="tap_pos", input_element_index=transformer_index, + characteristic=characteristic, tol=tol, in_service=in_service, order=order, + level=level, drop_same_existing_ctrl=drop_same_existing_ctrl, matching_params=matching_params, **kwargs) + self.restore=restore + self.initial_values = net[trafotable].loc[transformer_index, output_variable].copy() + + def initialize_control(self, net): + if self.restore: + self.initial_values = net[self.output_element].loc[self.output_element_index, self.output_variable].copy() + + def finalize_control(self, net): + if self.restore: + net[self.output_element].loc[self.output_element_index, self.output_variable] = self.initial_values \ No newline at end of file diff --git a/pandapower/test/control/test_tap_dependent_impedance.py b/pandapower/test/control/test_tap_dependent_impedance.py new file mode 100644 index 000000000..cd6e5b95c --- /dev/null +++ b/pandapower/test/control/test_tap_dependent_impedance.py @@ -0,0 +1,75 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + +import pytest +import pandapower as pp +from pandapower.control import Characteristic, TapDependentImpedance + + +def test_tap_dependent_impedance_control(): + net = pp.create_empty_network() + b1 = pp.create_bus(net, 110) + b2 = pp.create_bus(net, 20) + pp.create_ext_grid(net, b1) + pp.create_transformer_from_parameters(net, b1, b2, 40, 110, 21, 0.5, 12.3, 25, 0.11, 0, 'hv', 10, 20, 0, 1.8, 180, 10) + + characteristic_vk = Characteristic.from_points(((0, 13.5), (10, 12.3), (20, 11.1))) + characteristic_vkr = Characteristic.from_points(((0, 0.52), (10, 0.5), (20, 0.53))) + TapDependentImpedance(net, 0, characteristic_vk, output_variable='vk_percent', restore=False) + TapDependentImpedance(net, 0, characteristic_vkr, output_variable='vkr_percent', restore=False) + + pp.runpp(net, run_control=True) + assert net.trafo.vk_percent.at[0] == 12.3 + assert net.trafo.vkr_percent.at[0] == 0.5 + + net.trafo.tap_pos = 0 + pp.runpp(net, run_control=True) + assert net.trafo.vk_percent.at[0] == 13.5 + assert net.trafo.vkr_percent.at[0] == 0.52 + + net.trafo.tap_pos = 20 + pp.runpp(net, run_control=True) + assert net.trafo.vk_percent.at[0] == 11.1 + assert net.trafo.vkr_percent.at[0] == 0.53 + + +def test_tap_dependent_impedance_restore(): + net = pp.create_empty_network() + b1 = pp.create_bus(net, 110) + b2 = pp.create_bus(net, 20) + pp.create_ext_grid(net, b1) + pp.create_load(net, b2, 20) + pp.create_transformer_from_parameters(net, b1, b2, 40, 110, 21, 0.5, 12.3, 25, 0.11, 0, 'hv', 10, 20, 0, 1.8, 180, 10) + + characteristic_vk = Characteristic.from_points(((0, 13.5), (10, 12.3), (20, 11.1))) + characteristic_vkr = Characteristic.from_points(((0, 0.52), (10, 0.5), (20, 0.53))) + TapDependentImpedance(net, 0, characteristic_vk, output_variable='vk_percent', restore=True) + TapDependentImpedance(net, 0, characteristic_vkr, output_variable='vkr_percent', restore=True) + + pp.runpp(net, run_control=True) + # remember the losses for the neutral position + pl_mw_neutral = net.res_trafo.pl_mw.at[0] + assert net.trafo.vk_percent.at[0] == 12.3 + assert net.trafo.vkr_percent.at[0] == 0.5 + + net.trafo.tap_pos = 0 + pp.runpp(net, run_control=True) + # check if the impedance has been restored + assert net.trafo.vk_percent.at[0] == 12.3 + assert net.trafo.vkr_percent.at[0] == 0.5 + # check if the losses are different than at the neutral position -> the tap-dependent impedance has been conbsidered + assert abs(net.res_trafo.pl_mw.at[0] - pl_mw_neutral) > 0.015 + + net.trafo.tap_pos = 20 + pp.runpp(net, run_control=True) + # check if the impedance has been restored + assert net.trafo.vk_percent.at[0] == 12.3 + assert net.trafo.vkr_percent.at[0] == 0.5 + # check if the losses are different than at the neutral position -> the tap-dependent impedance has been conbsidered + assert abs(net.res_trafo.pl_mw.at[0] - pl_mw_neutral) > 0.002 + + +if __name__ == '__main__': + pytest.main(['-xs', __file__]) \ No newline at end of file From 77fa51843e7373e968f5969eab469c655d07f982 Mon Sep 17 00:00:00 2001 From: U_F_O Date: Fri, 7 May 2021 17:03:12 +0200 Subject: [PATCH 051/422] update custom julia file --- pandapower/test/opf/test_powermodels.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pandapower/test/opf/test_powermodels.py b/pandapower/test/opf/test_powermodels.py index 741190843..127c7de56 100644 --- a/pandapower/test/opf/test_powermodels.py +++ b/pandapower/test/opf/test_powermodels.py @@ -298,7 +298,7 @@ def test_voltage_angles(): net.bus.loc[:, "min_vm_pu"] = .9 # custom_file = os.path.join(pp_dir, "opf", "PpPmInterface", "src", "pm_models", "run_powermodels.jl") - custom_file = "run_powermodels" #custom_file = os.path.join(os.path.abspath(os.path.dirname(pp.test.__file__)),"test_files", "run_powermodels_custom.jl") + custom_file = "run_powermodels_custom" #custom_file = os.path.join(os.path.abspath(os.path.dirname(pp.test.__file__)),"test_files", "run_powermodels_custom.jl") # load is zero since costs are high. PF results should be the same as OPF net.load.loc[1, "p_mw"] = 0. @@ -564,3 +564,4 @@ def test_timeseries_powermodels(): # test_voltage_angles() # test_timeseries_powermodels() pytest.main([__file__]) + From b05fb0926f6767316ee4a170aad4ed21d8740522 Mon Sep 17 00:00:00 2001 From: U_F_O Date: Thu, 20 May 2021 23:00:10 +0200 Subject: [PATCH 052/422] adapt to new function name --- pandapower/runpm.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pandapower/runpm.py b/pandapower/runpm.py index fc4ba00d4..44a98f78a 100644 --- a/pandapower/runpm.py +++ b/pandapower/runpm.py @@ -156,7 +156,7 @@ def runpm_dc_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, **pm_log_level** (int, 0) - solver log level in power models """ # julia_file = os.path.join(pp_dir, "opf", "PpPmInterface", "src", "pm_models", 'run_powermodels.jl') - julia_file = "run_powermodels" + julia_file = "run_powermodels_opf" # ac = True if "DC" not in pm_model else False net._options = {} @@ -239,7 +239,7 @@ def runpm_ac_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, delete_buffer_file to False! """ # julia_file = os.path.join(pp_dir, "opf", "PpPmInterface", "src", "pm_models", 'run_powermodels.jl') - julia_file = "run_powermodels" + julia_file = "run_powermodels_opf" # ac = True if "DC" not in pm_model else False net._options = {} From 59210d8bebc95ea6f53cc71b362fbb3863d406e7 Mon Sep 17 00:00:00 2001 From: sdrauz Date: Sat, 22 May 2021 09:24:31 +0200 Subject: [PATCH 053/422] partial deserialization --- pandapower/file_io.py | 28 +++++++++++++++++++++++----- pandapower/io_utils.py | 42 ++++++++++++++++++++++++++---------------- 2 files changed, 49 insertions(+), 21 deletions(-) diff --git a/pandapower/file_io.py b/pandapower/file_io.py index d3d3ff381..2f3616abb 100644 --- a/pandapower/file_io.py +++ b/pandapower/file_io.py @@ -179,7 +179,7 @@ def from_excel(filename, convert=True): xls = pd.ExcelFile(filename).parse(sheet_name=None) else: xls = pd.read_excel(filename, sheet_name=None, index_col=0, engine="openpyxl") - + try: net = io_utils.from_dict_of_dfs(xls) except: @@ -212,7 +212,7 @@ def _from_excel_old(xls): return net -def from_json(filename, convert=True, encryption_key=None): +def from_json(filename, convert=True, encryption_key=None, deserialized_pandas_tables=None): """ Load a pandapower network from a JSON file. The index of the returned network is not necessarily in the same order as the original network. @@ -242,10 +242,11 @@ def from_json(filename, convert=True, encryption_key=None): with open(filename, "r") as fp: json_string = fp.read() - return from_json_string(json_string, convert=convert, encryption_key=encryption_key) + return from_json_string(json_string, convert=convert, encryption_key=encryption_key, + deserialized_pandas_tables=deserialized_pandas_tables) -def from_json_string(json_string, convert=False, encryption_key=None): +def from_json_string(json_string, convert=False, encryption_key=None, deserialized_pandas_tables=None): """ Load a pandapower network from a JSON string. The index of the returned network is not necessarily in the same order as the original network. @@ -270,7 +271,18 @@ def from_json_string(json_string, convert=False, encryption_key=None): if encryption_key is not None: json_string = io_utils.decrypt_string(json_string, encryption_key) - net = json.loads(json_string, cls=io_utils.PPJSONDecoder) + if deserialized_pandas_tables is None: + net = json.loads(json_string, cls=io_utils.PPJSONDecoder) + for key in net.keys(): + if key in ['version', 'name']: + continue + if isinstance(net[key], str): + net[key] = json.loads(net[key], cls=io_utils.PPJSONDecoder) + else: + net = json.loads(json_string, cls=io_utils.PPJSONDecoder, deserialize_pandas=False) + for key in deserialized_pandas_tables: + net[key] = json.loads(net[key], cls=io_utils.PPJSONDecoder) + # this can be removed in the future # now net is saved with "_module", "_class", "_object"..., so json.load already returns # pandapowerNet. Older files don't have it yet, and are loaded as dict. @@ -340,3 +352,9 @@ def from_sqlite(filename, netname=""): net = from_sql(con) con.close() return net + +if __name__ == '__main__': + import pandapower as pp + net = pp.from_json('test.json', deserialized_pandas_tables=['bus']) + pp.to_json(net, 'test2.json') + net = pp.from_json('test2.json') \ No newline at end of file diff --git a/pandapower/io_utils.py b/pandapower/io_utils.py index ff765fe12..41b0e24bb 100644 --- a/pandapower/io_utils.py +++ b/pandapower/io_utils.py @@ -14,6 +14,7 @@ from functools import partial from inspect import isclass, signature, _findclass from warnings import warn +from pandapower import io_utils import networkx import numpy @@ -400,10 +401,11 @@ class FromSerializableRegistry(): class_name = '' module_name = '' - def __init__(self, obj, d, pp_hook_funct): + def __init__(self, obj, d, pp_hook_funct, deserialize_pandas): self.obj = obj self.d = d self.pp_hook = pp_hook_funct + self.deserialize_pandas = deserialize_pandas @from_serializable.register(class_name='Series', module_name='pandas.core.series') def Series(self): @@ -411,16 +413,19 @@ def Series(self): @from_serializable.register(class_name='DataFrame', module_name='pandas.core.frame') def DataFrame(self): - df = pd.read_json(self.obj, precise_float=True, convert_axes=False, **self.d) - try: - df.set_index(df.index.astype(numpy.int64), inplace=True) - except (ValueError, TypeError, AttributeError): - logger.debug("failed setting int64 index") - # recreate jsoned objects - for col in ('object', 'controller'): # "controller" for backwards compatibility - if (col in df.columns): - df[col] = df[col].apply(self.pp_hook) - return df + if self.deserialize_pandas: + df = pd.read_json(self.obj, precise_float=True, convert_axes=False, **self.d) + try: + df.set_index(df.index.astype(numpy.int64), inplace=True) + except (ValueError, TypeError, AttributeError): + logger.debug("failed setting int64 index") + # recreate jsoned objects + for col in ('object', 'controller'): # "controller" for backwards compatibility + if (col in df.columns): + df[col] = df[col].apply(self.pp_hook) + return df + else: + return self.obj @from_serializable.register(class_name='pandapowerNet', module_name='pandapower.auxiliary') def pandapowerNet(self): @@ -505,16 +510,21 @@ def shapely(self): class PPJSONDecoder(json.JSONDecoder): def __init__(self, **kwargs): # net = pandapowerNet.__new__(pandapowerNet) -# net = create_empty_network() - super_kwargs = {"object_hook": partial(pp_hook, registry_class=FromSerializableRegistry)} + # net = create_empty_network() + deserialize_pandas = kwargs.pop('deserialize_pandas', True) + super_kwargs = {"object_hook": partial(pp_hook, + deserialize_pandas=deserialize_pandas, + registry_class=FromSerializableRegistry)} super_kwargs.update(kwargs) super().__init__(**super_kwargs) -def pp_hook(d, registry_class=FromSerializableRegistry): +def pp_hook(d, deserialize_pandas, registry_class=FromSerializableRegistry): try: if '_module' in d and '_class' in d: - if "_object" in d: + if 'pandas' in d['_module'] and not deserialize_pandas: + return json.dumps(d, cls=io_utils.PPJSONEncoder, indent=2) + elif "_object" in d: obj = d.pop('_object') elif "_state" in d: obj = d['_state'] @@ -524,7 +534,7 @@ def pp_hook(d, registry_class=FromSerializableRegistry): else: # obj = {"_init": d, "_state": dict()} # backwards compatibility obj = {key: val for key, val in d.items() if key not in ['_module', '_class']} - fs = registry_class(obj, d, pp_hook) + fs = registry_class(obj, d, pp_hook, deserialize_pandas) fs.class_name = d.pop('_class', '') fs.module_name = d.pop('_module', '') return fs.from_serializable() From 4fdb2e5e103cd1a6c02dd57be98fe1c5bba8e4c1 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Mon, 24 May 2021 10:46:56 +0200 Subject: [PATCH 054/422] add pf option --- pandapower/runpm.py | 75 ++++++++++++++++++++----- pandapower/test/opf/test_powermodels.py | 44 +++++++++++++-- 2 files changed, 98 insertions(+), 21 deletions(-) diff --git a/pandapower/runpm.py b/pandapower/runpm.py index df479b9ca..1ebe2c50c 100644 --- a/pandapower/runpm.py +++ b/pandapower/runpm.py @@ -7,7 +7,7 @@ import os from pandapower import pp_dir -from pandapower.auxiliary import _add_ppc_options, _add_opf_options +from pandapower.auxiliary import _add_ppc_options, _add_opf_options, _add_pf_options from pandapower.converter.powermodels.from_pm import read_ots_results, read_tnep_results from pandapower.opf.pm_storage import add_storage_opf_settings, read_pm_storage_results from pandapower.opf.run_powermodels import _runpm @@ -103,8 +103,8 @@ def runpm(net, julia_file=None, pp_to_pm_callback=None, calculate_voltage_angles def runpm_dc_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, - correct_pm_network_data=True, pm_model="DCPPowerModel", pm_solver="ipopt", - pm_time_limits=None, pm_log_level=0, **kwargs): # pragma: no cover + correct_pm_network_data=True, pm_solver="ipopt", pm_time_limits=None, + pm_log_level=0, delete_buffer_file=True, pm_file_path = None, **kwargs): # pragma: no cover """ Runs a linearized power system optimization using PowerModels.jl. @@ -142,8 +142,6 @@ def runpm_dc_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, OPTIONAL: **pp_to_pm_callback** (function, None) - callback function to add data to the PowerModels data structure - **pm_model** (str, "DCPPowerModel") - model to use. Default is DC model - **pm_solver** (str, "ipopt") - The "main" power models solver **correct_pm_network_data** (bool, True) - checks if network data is correct. If not tries to correct it @@ -154,7 +152,6 @@ def runpm_dc_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, **pm_log_level** (int, 0) - solver log level in power models """ julia_file = os.path.join(pp_dir, "opf", 'run_powermodels.jl') - ac = True if "DC" not in pm_model else False net._options = {} _add_ppc_options(net, calculate_voltage_angles=calculate_voltage_angles, @@ -162,11 +159,11 @@ def runpm_dc_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, mode="opf", switch_rx_ratio=2, init_vm_pu="flat", init_va_degree="flat", enforce_q_lims=True, recycle=dict(_is_elements=False, ppc=False, Ybus=False), voltage_depend_loads=False, delta=delta, trafo3w_losses=trafo3w_losses) - _add_opf_options(net, trafo_loading='power', ac=ac, init="flat", numba=True, + _add_opf_options(net, trafo_loading='power', ac=False, init="flat", numba=True, pp_to_pm_callback=pp_to_pm_callback, julia_file=julia_file, - correct_pm_network_data=correct_pm_network_data, pm_model=pm_model, pm_solver=pm_solver, + correct_pm_network_data=correct_pm_network_data, pm_model="DCPPowerModel", pm_solver=pm_solver, pm_time_limits=pm_time_limits, pm_log_level=pm_log_level, opf_flow_lim="S") - _runpm(net) + _runpm(net, delete_buffer_file=delete_buffer_file, pm_file_path = pm_file_path) def runpm_ac_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, @@ -212,8 +209,6 @@ def runpm_ac_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, **pp_to_pm_callback** (function, None) - callback function to add data to the PowerModels data structure - **pm_model** (str, "ACPPowerModel") - model to use. Default is AC model - **pm_solver** (str, "ipopt") - default solver to use. If ipopt is not available use Ipopt **correct_pm_network_data** (bool, True) - checks if network data is correct. If not tries to correct it @@ -236,7 +231,6 @@ def runpm_ac_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, delete_buffer_file to False! """ julia_file = os.path.join(pp_dir, "opf", 'run_powermodels.jl') - ac = True if "DC" not in pm_model else False net._options = {} _add_ppc_options(net, calculate_voltage_angles=calculate_voltage_angles, @@ -244,16 +238,61 @@ def runpm_ac_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, mode="opf", switch_rx_ratio=2, init_vm_pu="flat", init_va_degree="flat", enforce_q_lims=True, recycle=dict(_is_elements=False, ppc=False, Ybus=False), voltage_depend_loads=False, delta=delta, trafo3w_losses=trafo3w_losses) - _add_opf_options(net, trafo_loading='power', ac=ac, init="flat", numba=True, - pp_to_pm_callback=pp_to_pm_callback, julia_file=julia_file, pm_model=pm_model, pm_solver=pm_solver, + _add_opf_options(net, trafo_loading='power', ac=True, init="flat", numba=True, + pp_to_pm_callback=pp_to_pm_callback, julia_file=julia_file, pm_model="ACPPowerModel", pm_solver=pm_solver, correct_pm_network_data=correct_pm_network_data, pm_time_limits=pm_time_limits, pm_log_level=pm_log_level, opf_flow_lim=opf_flow_lim) _runpm(net, pm_file_path=pm_file_path, delete_buffer_file=delete_buffer_file) +def runpm_dc_pf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, + trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, + correct_pm_network_data=True, pm_solver="ipopt", + pm_time_limits=None, pm_log_level=0, pm_file_path = None, delete_buffer_file=True, **kwargs): + + julia_file = os.path.join(pp_dir, "opf", 'run_powermodels_powerflow.jl') + + net._options = {} + _add_ppc_options(net, calculate_voltage_angles=calculate_voltage_angles, + trafo_model=trafo_model, check_connectivity=check_connectivity, + mode="opf", switch_rx_ratio=2, init_vm_pu="flat", init_va_degree="flat", + enforce_q_lims=True, recycle=dict(_is_elements=False, ppc=False, Ybus=False), + voltage_depend_loads=False, delta=delta, trafo3w_losses=trafo3w_losses) + _add_pf_options(net, trafo_loading='power', ac=False, init="flat", numba=True, + max_iteration="auto", tolerance_mva=1e-8, algorithm="nr", + pp_to_pm_callback=pp_to_pm_callback, julia_file=julia_file, + correct_pm_network_data=correct_pm_network_data, pm_model="DCMPPowerModel", pm_solver=pm_solver, + pm_time_limits=pm_time_limits, pm_log_level=pm_log_level, opf_flow_lim="S") + + _runpm(net, pm_file_path=pm_file_path, delete_buffer_file=delete_buffer_file) + + +def runpm_ac_pf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, + trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, + pm_model="ACPPowerModel", pm_solver="ipopt", correct_pm_network_data=True, + pm_time_limits=None, pm_log_level=0, pm_file_path = None, delete_buffer_file=True, + opf_flow_lim="S", **kwargs): + + julia_file = os.path.join(pp_dir, "opf", 'run_powermodels_powerflow.jl') + + net._options = {} + _add_ppc_options(net, calculate_voltage_angles=calculate_voltage_angles, + trafo_model=trafo_model, check_connectivity=check_connectivity, + mode="pf", switch_rx_ratio=2, init_vm_pu="flat", init_va_degree="flat", + enforce_q_lims=True, recycle=dict(_is_elements=False, ppc=False, Ybus=False), + voltage_depend_loads=False, delta=delta, trafo3w_losses=trafo3w_losses) + + _add_pf_options(net, trafo_loading='power', ac=True, init="flat", numba=True, + max_iteration="auto", tolerance_mva=1e-8, algorithm="nr", + pp_to_pm_callback=pp_to_pm_callback, julia_file=julia_file, pm_model="ACPPowerModel", pm_solver=pm_solver, + correct_pm_network_data=correct_pm_network_data, pm_time_limits=pm_time_limits, + pm_log_level=pm_log_level, opf_flow_lim=opf_flow_lim) + + _runpm(net, pm_file_path=pm_file_path, delete_buffer_file=delete_buffer_file) + def runpm_tnep(net, pp_to_pm_callback=None, calculate_voltage_angles=True, trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, - pm_model="DCPPowerModel", pm_solver=None, correct_pm_network_data=True, + pm_model="DCMPowerModel", pm_solver=None, correct_pm_network_data=True, pm_nl_solver="ipopt", pm_mip_solver="cbc", pm_time_limits=None, pm_log_level=0, opf_flow_lim="S", **kwargs): # pragma: no cover """ @@ -393,3 +432,9 @@ def runpm_storage_opf(net, calculate_voltage_angles=True, _runpm(net) storage_results = read_pm_storage_results(net) return storage_results + + + + + + diff --git a/pandapower/test/opf/test_powermodels.py b/pandapower/test/opf/test_powermodels.py index 6d7796ba1..cae090b77 100644 --- a/pandapower/test/opf/test_powermodels.py +++ b/pandapower/test/opf/test_powermodels.py @@ -426,6 +426,38 @@ def test_ots_opt(): assert np.array_equal(np.array([0, 1, 1, 1, 1, 0]).astype(bool), branch_status.astype(bool)) +@pytest.mark.skipif(julia_installed == False, reason="requires julia installation") +def test_runpm_dc_pf(): + net = nw.simple_four_bus_system() + net.trafo.loc[0, "shift_degree"] = 0. + + pp.runpm_dc_pf(net) + + va_pm = copy.copy(net.bus.va_degree) + + pp.rundcpp(net, calculate_voltage_angles=True) + va_pp = copy.copy(net.bus.va_degree) + + assert np.allclose(va_pm, va_pp) + + +@pytest.mark.skipif(julia_installed == False, reason="requires julia installation") +def test_runpm_ac_pf(): + net = nw.simple_four_bus_system() + net.trafo.loc[0, "shift_degree"] = 0. + + pp.runpm_ac_pf(net) + va_pm = copy.copy(net.bus.va_degree) + vm_pm = copy.copy(net.bus.vm_pu) + + pp.runpp(net, calculate_voltage_angles=True) + va_pp = copy.copy(net.bus.va_degree) + vm_pp = copy.copy(net.bus.vm_pu) + + assert np.allclose(va_pm, va_pp) + assert np.allclose(vm_pm, vm_pp) + + def assert_pf(net, dc=False): custom_file = os.path.join(os.path.abspath(os.path.dirname(pp.__file__)), "opf", "run_powermodels_powerflow.jl") @@ -449,7 +481,7 @@ def assert_pf(net, dc=False): if not dc: assert np.allclose(vm_pm, vm_pp) - + @pytest.mark.skipif(julia_installed == False, reason="requires julia installation") def test_pm_ac_powerflow_simple(): net = nw.simple_four_bus_system() @@ -458,7 +490,7 @@ def test_pm_ac_powerflow_simple(): @pytest.mark.skipif(julia_installed == False, reason="requires julia installation") -@pytest.mark.xfail(reason="DCMPPowerModel not released yet") +# @pytest.mark.xfail(reason="DCMPPowerModel not released yet") def test_pm_dc_powerflow_simple(): net = nw.simple_four_bus_system() net.trafo.loc[0, "shift_degree"] = 0. @@ -474,7 +506,7 @@ def test_pm_ac_powerflow_shunt(): @pytest.mark.skipif(julia_installed == False, reason="requires julia installation") -@pytest.mark.xfail(reason="DCMPPowerModel not released yet") +# @pytest.mark.xfail(reason="DCMPPowerModel not released yet") def test_pm_dc_powerflow_shunt(): net = nw.simple_four_bus_system() pp.create_shunt(net, 2, q_mvar=-0.5) @@ -491,7 +523,7 @@ def test_pm_ac_powerflow_tap(): @pytest.mark.skipif(julia_installed == False, reason="requires julia installation") -@pytest.mark.xfail(reason="DCMPPowerModel not released yet") +# @pytest.mark.xfail(reason="DCMPPowerModel not released yet") def test_pm_dc_powerflow_tap(): net = nw.simple_four_bus_system() net.trafo.loc[0, "shift_degree"] = 0. @@ -549,5 +581,5 @@ def test_timeseries_powermodels(): if __name__ == '__main__': - test_pwl() - # pytest.main([__file__]) + + pytest.main([__file__]) From 19d80f68fa647174e5b0f3227fedec4f8de44e03 Mon Sep 17 00:00:00 2001 From: U_F_O Date: Mon, 24 May 2021 15:54:21 +0200 Subject: [PATCH 055/422] Change test_pp_vs_pm.py Now the opf is converged. --- pandapower/test/opf/test_pp_vs_pm.py | 221 ++++++++++++++++++++++----- 1 file changed, 179 insertions(+), 42 deletions(-) diff --git a/pandapower/test/opf/test_pp_vs_pm.py b/pandapower/test/opf/test_pp_vs_pm.py index f9258f755..fe4b6ddbc 100644 --- a/pandapower/test/opf/test_pp_vs_pm.py +++ b/pandapower/test/opf/test_pp_vs_pm.py @@ -32,35 +32,172 @@ logger = logging.getLogger(__name__) -def case5_pm_matfile_I(): +def case14_pm_file(): - mpc = {"branch": array([ - [1, 2, 0.00281, 0.0281, 0.00712, 400.0, 0.0, 0.0, 0.0, 0.0, 1, -30.0, 30.0], - [1, 4, 0.00304, 0.0304, 0.00658, 426, 0.0, 0.0, 0.0, 0.0, 1, -30.0, 30.0], - [1, 10, 0.00064, 0.0064, 0.03126, 426, 0.0, 0.0, 0.0, 0.0, 1, -30.0, 30.0], - [2, 3, 0.00108, 0.0108, 0.01852, 426, 0.0, 0.0, 0.0, 0.0, 1, -30.0, 30.0], - [3, 4, 0.00297, 0.0297, 0.00674, 426, 0.0, 0.0, 1.05, 1.0, 1, -30.0, 30.0], - [3, 4, 0.00297, 0.0297, 0.00674, 426, 0.0, 0.0, 1.05, - 1.0, 1, -30.0, 30.0], - [4, 10, 0.00297, 0.0297, 0.00674, 240.0, 0.0, 0.0, 0.0, 0.0, 1, -30.0, 30.0], - ]), "bus": array([ - [1, 2, 0.0, 0.0, 0.0, 0.0, 1, 1.00000, 2.80377, 230.0, 1, 1.10000, 0.90000], - [2, 1, 300.0, 98.61, 0.0, 0.0, 1, 1.08407, 0.73465, 230.0, 1, 1.10000, 0.90000], - [3, 2, 300.0, 98.61, 0.0, 0.0, 1, 1.00000, 0.55972, 230.0, 1, 1.10000, 0.90000], - [4, 3, 400.0, 131.47, 0.0, 0.0, 1, 1.00000, 0.00000, 230.0, 1, 1.10000, 0.90000], - [10, 2, 0.0, 0.0, 0.0, 0.0, 1, 1.00000, 3.59033, 230.0, 1, 1.10000, 0.90000], - ]), "gen": array([ - [1, 40.0, 30.0, 30.0, -30.0, 1.07762, 100.0, 1, 40.0, 0.0], - [1, 170.0, 127.5, 127.5, -127.5, 1.07762, 100.0, 1, 170.0, 0.0], - [3, 324.49, 390.0, 390.0, -390.0, 1.1, 100.0, 1, 520.0, 0.0], - [4, 0.0, -10.802, 150.0, -150.0, 1.06414, 100.0, 1, 200.0, 0.0], - [10, 470.69, -165.039, 450.0, -450.0, 1.06907, 100.0, 1, 600.0, 0.0], - ]), "gencost": array([ - [2, 0.0, 0.0, 3, 0.000000, 14.000000, 0.000000], - [2, 0.0, 0.0, 3, 0.000000, 15.000000, 0.000000], - [2, 0.0, 0.0, 3, 0.000000, 30.000000, 0.000000], - [2, 0.0, 0.0, 3, 0.000000, 40.000000, 0.000000], - [2, 0.0, 0.0, 3, 0.000000, 10.000000, 0.000000], - ]), "version": 2, "baseMVA": 100.0} + mpc = {"branch": array([[ 0.0000e+00, 1.0000e+00, 1.9380e-04, 5.9170e-04, 5.2800e+00, + 9.9000e+03, 2.5000e+02, 2.5000e+02, 1.0000e+00, 0.0000e+00, + 1.0000e+00, -3.6000e+02, 3.6000e+02, 0.0000e+00, 0.0000e+00, + 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, + 0.0000e+00, 0.0000e+00, 0.0000e+00], + [ 0.0000e+00, 4.0000e+00, 5.4030e-04, 2.2304e-03, 4.9200e+00, + 9.9000e+03, 2.5000e+02, 2.5000e+02, 1.0000e+00, 0.0000e+00, + 1.0000e+00, -3.6000e+02, 3.6000e+02, 0.0000e+00, 0.0000e+00, + 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, + 0.0000e+00, 0.0000e+00, 0.0000e+00], + [ 1.0000e+00, 2.0000e+00, 4.6990e-04, 1.9797e-03, 4.3800e+00, + 9.9000e+03, 2.5000e+02, 2.5000e+02, 1.0000e+00, 0.0000e+00, + 1.0000e+00, -3.6000e+02, 3.6000e+02, 0.0000e+00, 0.0000e+00, + 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, + 0.0000e+00, 0.0000e+00, 0.0000e+00], + [ 1.0000e+00, 3.0000e+00, 5.8110e-04, 1.7632e-03, 3.4000e+00, + 9.9000e+03, 2.5000e+02, 2.5000e+02, 1.0000e+00, 0.0000e+00, + 1.0000e+00, -3.6000e+02, 3.6000e+02, 0.0000e+00, 0.0000e+00, + 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, + 0.0000e+00, 0.0000e+00, 0.0000e+00], + [ 1.0000e+00, 4.0000e+00, 5.6950e-04, 1.7388e-03, 3.4600e+00, + 9.9000e+03, 2.5000e+02, 2.5000e+02, 1.0000e+00, 0.0000e+00, + 1.0000e+00, -3.6000e+02, 3.6000e+02, 0.0000e+00, 0.0000e+00, + 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, + 0.0000e+00, 0.0000e+00, 0.0000e+00], + [ 2.0000e+00, 3.0000e+00, 6.7010e-04, 1.7103e-03, 1.2800e+00, + 9.9000e+03, 2.5000e+02, 2.5000e+02, 1.0000e+00, 0.0000e+00, + 1.0000e+00, -3.6000e+02, 3.6000e+02, 0.0000e+00, 0.0000e+00, + 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, + 0.0000e+00, 0.0000e+00, 0.0000e+00], + [ 3.0000e+00, 4.0000e+00, 1.3350e-04, 4.2110e-04, 0.0000e+00, + 9.9000e+03, 2.5000e+02, 2.5000e+02, 1.0000e+00, 0.0000e+00, + 1.0000e+00, -3.6000e+02, 3.6000e+02, 0.0000e+00, 0.0000e+00, + 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, + 0.0000e+00, 0.0000e+00, 0.0000e+00], + [ 5.0000e+00, 1.0000e+01, 9.4980e-04, 1.9890e-03, 0.0000e+00, + 9.9000e+03, 2.5000e+02, 2.5000e+02, 1.0000e+00, 0.0000e+00, + 1.0000e+00, -3.6000e+02, 3.6000e+02, 0.0000e+00, 0.0000e+00, + 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, + 0.0000e+00, 0.0000e+00, 0.0000e+00], + [ 5.0000e+00, 1.1000e+01, 1.2291e-03, 2.5581e-03, 0.0000e+00, + 9.9000e+03, 2.5000e+02, 2.5000e+02, 1.0000e+00, 0.0000e+00, + 1.0000e+00, -3.6000e+02, 3.6000e+02, 0.0000e+00, 0.0000e+00, + 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, + 0.0000e+00, 0.0000e+00, 0.0000e+00], + [ 5.0000e+00, 1.2000e+01, 6.6150e-04, 1.3027e-03, 0.0000e+00, + 9.9000e+03, 2.5000e+02, 2.5000e+02, 1.0000e+00, 0.0000e+00, + 1.0000e+00, -3.6000e+02, 3.6000e+02, 0.0000e+00, 0.0000e+00, + 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, + 0.0000e+00, 0.0000e+00, 0.0000e+00], + [ 8.0000e+00, 9.0000e+00, 3.1810e-04, 8.4500e-04, 0.0000e+00, + 9.9000e+03, 2.5000e+02, 2.5000e+02, 1.0000e+00, 0.0000e+00, + 1.0000e+00, -3.6000e+02, 3.6000e+02, 0.0000e+00, 0.0000e+00, + 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, + 0.0000e+00, 0.0000e+00, 0.0000e+00], + [ 8.0000e+00, 1.3000e+01, 1.2711e-03, 2.7038e-03, 0.0000e+00, + 9.9000e+03, 2.5000e+02, 2.5000e+02, 1.0000e+00, 0.0000e+00, + 1.0000e+00, -3.6000e+02, 3.6000e+02, 0.0000e+00, 0.0000e+00, + 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, + 0.0000e+00, 0.0000e+00, 0.0000e+00], + [ 9.0000e+00, 1.0000e+01, 8.2050e-04, 1.9207e-03, 0.0000e+00, + 9.9000e+03, 2.5000e+02, 2.5000e+02, 1.0000e+00, 0.0000e+00, + 1.0000e+00, -3.6000e+02, 3.6000e+02, 0.0000e+00, 0.0000e+00, + 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, + 0.0000e+00, 0.0000e+00, 0.0000e+00], + [ 1.1000e+01, 1.2000e+01, 2.2092e-03, 1.9988e-03, 0.0000e+00, + 9.9000e+03, 2.5000e+02, 2.5000e+02, 1.0000e+00, 0.0000e+00, + 1.0000e+00, -3.6000e+02, 3.6000e+02, 0.0000e+00, 0.0000e+00, + 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, + 0.0000e+00, 0.0000e+00, 0.0000e+00], + [ 1.2000e+01, 1.3000e+01, 1.7093e-03, 3.4802e-03, 0.0000e+00, + 9.9000e+03, 2.5000e+02, 2.5000e+02, 1.0000e+00, 0.0000e+00, + 1.0000e+00, -3.6000e+02, 3.6000e+02, 0.0000e+00, 0.0000e+00, + 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, + 0.0000e+00, 0.0000e+00, 0.0000e+00], + [ 3.0000e+00, 6.0000e+00, 0.0000e+00, 2.0912e-03, 0.0000e+00, + 9.9000e+03, 2.5000e+02, 2.5000e+02, 9.7800e-01, 0.0000e+00, + 1.0000e+00, -3.6000e+02, 3.6000e+02, 0.0000e+00, 0.0000e+00, + 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, + 0.0000e+00, 0.0000e+00, 0.0000e+00], + [ 3.0000e+00, 8.0000e+00, 0.0000e+00, 5.5618e-03, 0.0000e+00, + 9.9000e+03, 2.5000e+02, 2.5000e+02, 9.6900e-01, 0.0000e+00, + 1.0000e+00, -3.6000e+02, 3.6000e+02, 0.0000e+00, 0.0000e+00, + 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, + 0.0000e+00, 0.0000e+00, 0.0000e+00], + [ 4.0000e+00, 5.0000e+00, 0.0000e+00, 2.5202e-03, 0.0000e+00, + 9.9000e+03, 2.5000e+02, 2.5000e+02, 9.3200e-01, 0.0000e+00, + 1.0000e+00, -3.6000e+02, 3.6000e+02, 0.0000e+00, 0.0000e+00, + 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, + 0.0000e+00, 0.0000e+00, 0.0000e+00], + [ 6.0000e+00, 7.0000e+00, 0.0000e+00, 1.7615e-03, 0.0000e+00, + 9.9000e+03, 2.5000e+02, 2.5000e+02, 1.0000e+00, 0.0000e+00, + 1.0000e+00, -3.6000e+02, 3.6000e+02, 0.0000e+00, 0.0000e+00, + 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, + 0.0000e+00, 0.0000e+00, 0.0000e+00], + [ 6.0000e+00, 8.0000e+00, 0.0000e+00, 1.1001e-03, 0.0000e+00, + 9.9000e+03, 2.5000e+02, 2.5000e+02, 1.0000e+00, 0.0000e+00, + 1.0000e+00, -3.6000e+02, 3.6000e+02, 0.0000e+00, 0.0000e+00, + 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, + 0.0000e+00, 0.0000e+00, 0.0000e+00]]), + "bus": array([[ 0. , 3. , 0. , 0. , 0. , 0. , 1. , 1.06 , + 0. , 135. , 1. , 1.06 , 1.06 , 0. , 0. ], + [ 1. , 2. , 21.7 , 12.7 , 0. , 0. , 1. , 1.045 , + -3.95523766, 135. , 1. , 1.06 , 0.94 , 0. , 0. ], + [ 2. , 2. , 94.2 , 19. , 0. , 0. , 1. , 1.01 , + -10.40760708, 135. , 1. , 1.06 , 0.94 , 0. , 0. ], + [ 3. , 1. , 47.8 , -3.9 , 0. , 0. , 1. , 1.01744145, + -8.21095265, 135. , 1. , 1.06 , 0.94 , 0. , 0. ], + [ 4. , 1. , 7.6 , 1.6 , 0. , 0. , 1. , 1.01883931, + -7.01636257, 135. , 1. , 1.06 , 0.94 , 0. , 0. ], + [ 5. , 2. , 11.2 , 7.5 , 0. , 0. , 1. , 1.07 , + -11.61937248, 0.208 , 1. , 1.06 , 0.94 , 0. , 0. ], + [ 6. , 1. , -21. , 0. , 0. , 0. , 1. , 1.04887992, + -9.4740081 , 14. , 1. , 1.06 , 0.94 , 0. , 0. ], + [ 7. , 2. , 0. , 0. , 0. , 0. , 1. , 1.09 , + -9.47400522, 12. , 1. , 1.06 , 0.94 , 0. , 0. ], + [ 8. , 1. , 29.5 , 16.6 , 0. , 19. , 1. , 1.04712183, + -11.33959824, 0.208 , 1. , 1.06 , 0.94 , 0. , 0. ], + [ 9. , 1. , 1. , 5.8 , 0. , 0. , 1. , 1.04418246, + -11.38690514, 0.208 , 1. , 1.06 , 0.94 , 0. , 0. ], + [ 10. , 1. , 3.5 , 1.8 , 0. , 0. , 1. , 1.0487667 , + -11.62833811, 0.208 , 1. , 1.06 , 0.94 , 0. , 0. ], + [ 11. , 1. , 6.1 , 1.6 , 0. , 0. , 1. , 1.04497585, + -12.41956695, 0.208 , 1. , 1.06 , 0.94 , 0. , 0. ], + [ 12. , 1. , 13.5 , 5.8 , 0. , 0. , 1. , 1.04055949, + -12.42974608, 0.208 , 1. , 1.06 , 0.94 , 0. , 0. ], + [ 13. , 1. , 14.9 , 5. , 0. , 0. , 1. , 1.02613375, + -12.83129875, 0.208 , 1. , 1.06 , 0.94 , 0. , 0. ]]), + "gen": array([[ 0.000e+00, 0.000e+00, 0.000e+00, 1.000e+01, -1.000e-10, + 1.060e+00, 1.000e+00, 1.000e+00, 3.324e+02, -1.000e-10, + 0.000e+00, 0.000e+00, 0.000e+00, 0.000e+00, 0.000e+00, + 0.000e+00, 0.000e+00, 0.000e+00, 0.000e+00, 0.000e+00, + 0.000e+00], + [ 1.000e+00, 4.000e+01, 0.000e+00, 5.000e+01, -4.000e+01, + 1.045e+00, np.nan, 1.000e+00, 1.400e+02, -1.000e-10, + 0.000e+00, 0.000e+00, 0.000e+00, 0.000e+00, 0.000e+00, + 0.000e+00, 0.000e+00, 0.000e+00, 0.000e+00, 0.000e+00, + 0.000e+00], + [ 2.000e+00, 0.000e+00, 0.000e+00, 4.000e+01, -1.000e-10, + 1.010e+00, np.nan, 1.000e+00, 1.000e+02, -1.000e-10, + 0.000e+00, 0.000e+00, 0.000e+00, 0.000e+00, 0.000e+00, + 0.000e+00, 0.000e+00, 0.000e+00, 0.000e+00, 0.000e+00, + 0.000e+00], + [ 5.000e+00, 0.000e+00, 0.000e+00, 2.400e+01, -6.000e+00, + 1.070e+00, np.nan, 1.000e+00, 1.000e+02, -1.000e-10, + 0.000e+00, 0.000e+00, 0.000e+00, 0.000e+00, 0.000e+00, + 0.000e+00, 0.000e+00, 0.000e+00, 0.000e+00, 0.000e+00, + 0.000e+00], + [ 7.000e+00, 0.000e+00, 0.000e+00, 2.400e+01, -6.000e+00, + 1.090e+00, np.nan, 1.000e+00, 1.000e+02, -1.000e-10, + 0.000e+00, 0.000e+00, 0.000e+00, 0.000e+00, 0.000e+00, + 0.000e+00, 0.000e+00, 0.000e+00, 0.000e+00, 0.000e+00, + 0.000e+00]]), + "gencost": array([[2.00000e+00, 0.00000e+00, 0.00000e+00, 3.00000e+00, 4.30293e-02, + 2.00000e+01, 0.00000e+00], + [2.00000e+00, 0.00000e+00, 0.00000e+00, 3.00000e+00, 2.50000e-01, + 2.00000e+01, 0.00000e+00], + [2.00000e+00, 0.00000e+00, 0.00000e+00, 3.00000e+00, 1.00000e-02, + 4.00000e+01, 0.00000e+00], + [2.00000e+00, 0.00000e+00, 0.00000e+00, 3.00000e+00, 1.00000e-02, + 4.00000e+01, 0.00000e+00], + [2.00000e+00, 0.00000e+00, 0.00000e+00, 3.00000e+00, 1.00000e-02, + 4.00000e+01, 0.00000e+00]]), + "version": 2, "baseMVA": 1.0} net = from_ppc(mpc, f_hz=50) @@ -72,7 +209,7 @@ def case5_pm_matfile_I(): def test_case5_pm_pd2ppc(): # load net - net = case5_pm_matfile_I() + net = case14_pm_file() # run pd2ppc with ext_grid controllable = False pp.runpp(net) assert "controllable" not in net.ext_grid @@ -122,34 +259,34 @@ def test_case5_pm_pd2ppc(): def test_opf_ext_grid_controllable(): # load net - net = case5_pm_matfile_I() + net = case14_pm_file() net_old = copy.deepcopy(net) net_new = copy.deepcopy(net) # run pd2ppc with ext_grid controllable = False pp.runopp(net_old) net_new.ext_grid["controllable"] = True pp.runopp(net_new) - assert np.isclose(net_new.res_bus.vm_pu[net.ext_grid.bus[0]], 1.0586551789267864) - assert np.isclose(net_old.res_bus.vm_pu[net.ext_grid.bus[0]], 1.06414000007302) + assert np.isclose(net_new.res_bus.vm_pu[net.ext_grid.bus[0]], 1.0599999600072285) + assert np.isclose(net_old.res_bus.vm_pu[net.ext_grid.bus[0]], 1.060000000015124) - assert np.isclose(net_old.res_cost, 17082.8) - assert np.isclose(net_new.res_cost, 17015.5635) + assert np.isclose(net_old.res_cost, 6925.04868) + assert np.isclose(net_new.res_cost, 6925.0486) def test_opf_ext_grid_controllable(): # load net - net = case5_pm_matfile_I() + net = case14_pm_file() # run pd2ppc with ext_grid controllable = False - pp.create_ext_grid(net, bus=0, controllable=True) + pp.create_ext_grid(net, bus=1, controllable=True) pp.runopp(net) - assert np.isclose(net.res_bus.vm_pu[net.ext_grid.bus[0]], 1.0641399999827315) + assert np.isclose(net.res_bus.vm_pu[net.ext_grid.bus[0]], 1.0599999999755336) @pytest.mark.slow @pytest.mark.skipif(julia_installed == False, reason="requires julia installation") def test_opf_ext_grid_controllable_pm(): # load net - net = case5_pm_matfile_I() + net = case14_pm_file() net_old = copy.deepcopy(net) net_new = copy.deepcopy(net) # run pd2ppc with ext_grid controllable = False @@ -158,11 +295,11 @@ def test_opf_ext_grid_controllable_pm(): pp.runpm_ac_opf(net_new, calculate_voltage_angles=True, correct_pm_network_data=False, delete_buffer_file=False, pm_file_path="buffer_file.json", opf_flow_lim="I") - assert np.isclose(net_new.res_bus.vm_pu[net.ext_grid.bus[0]], 1.0586551789267864) - assert np.isclose(net_old.res_bus.vm_pu[net.ext_grid.bus[0]], 1.06414000007302) + assert np.isclose(net_new.res_bus.vm_pu[net.ext_grid.bus[0]], 1.0599999600072285) + assert np.isclose(net_old.res_bus.vm_pu[net.ext_grid.bus[0]], 1.060000000015124) - assert np.isclose(net_old.res_cost, 17082.8) - assert np.isclose(net_new.res_cost, 17015.5635) + assert np.isclose(net_old.res_cost, 6925.04868) + assert np.isclose(net_new.res_cost, 6925.04868) if __name__ == "__main__": From 4c5f15dd40ce5b3ca60e8c762a801e6955fa1638 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Mon, 24 May 2021 21:40:04 +0200 Subject: [PATCH 056/422] update --- tutorials/opf_powermodels.ipynb | 2 +- tutorials/ost_powermodels.ipynb | 93 ++++++++----------- tutorials/storage_powermodels.ipynb | 138 ++++++++++++---------------- tutorials/tnep_powermodels.ipynb | 2 +- 4 files changed, 102 insertions(+), 133 deletions(-) diff --git a/tutorials/opf_powermodels.ipynb b/tutorials/opf_powermodels.ipynb index b6442237b..a509698f8 100644 --- a/tutorials/opf_powermodels.ipynb +++ b/tutorials/opf_powermodels.ipynb @@ -903,7 +903,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.9" + "version": "3.8.5" } }, "nbformat": 4, diff --git a/tutorials/ost_powermodels.ipynb b/tutorials/ost_powermodels.ipynb index 4560d96c6..12de62451 100644 --- a/tutorials/ost_powermodels.ipynb +++ b/tutorials/ost_powermodels.ipynb @@ -2,6 +2,11 @@ "cells": [ { "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, "source": [ "# Optimal Transmission Switching (OTS) (OST) with PowerModels.jl\n", "This tutorial describes how to run the OST feature of PowerModels.jl together with pandapower.\n", @@ -18,16 +23,11 @@ "For more details on PowerModels OST see:\n", "\n", "https://lanl-ansi.github.io/PowerModels.jl/stable/specifications/#Optimal-Transmission-Switching-(OTS)-1 \n" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%% md\n" - } - } + ] }, { "cell_type": "markdown", + "metadata": {}, "source": [ "# Installation\n", "Apart from the Julia, PowerModels, Ipopt and JuMP Installation itself (see the opf_powermodels.ipynb), you need to install\n", @@ -46,13 +46,11 @@ "\n", "Note that Juniper is a heuristic based solver. Another non-heuristic option would be to use Alpine.jl:\n", "* Alpine: https://github.com/lanl-ansi/Alpine.jl\n" - ], - "metadata": { - "collapsed": false - } + ] }, { "cell_type": "markdown", + "metadata": {}, "source": [ "# Run the OTS\n", "To put it simple, the goal of the optimization is to find a changed in_service state for the branch elements \n", @@ -61,10 +59,7 @@ "In order to start the optimization, we follow two steps:\n", "1. Load the pandapower grid data\n", "2. Start the optimization\n" - ], - "metadata": { - "collapsed": false - } + ] }, { "cell_type": "code", @@ -94,18 +89,21 @@ }, { "cell_type": "markdown", + "metadata": {}, "source": [ "# What to do with the result\n", "The optimized line / trafo status can be found in the result DataFrames, e.g. net[\"res_line\"]. The result ist **not**\n", "automatically written to the inputs (\"line\" DataFrame). To do this you can use:\n" - ], - "metadata": { - "collapsed": false - } + ] }, { "cell_type": "code", "execution_count": null, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, "outputs": [], "source": [ "import pandapower as pp \n", @@ -116,16 +114,11 @@ "\n", "# optional: run a power flow calculation with the changed in service status\n", "pp.runpp(net)" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%%\n" - } - } + ] }, { "cell_type": "markdown", + "metadata": {}, "source": [ "If you have line-switches / trafo-switches at these lines/trafos you could also search for the switches connected to\n", "these elements (with the topology search) and change the switching state according to the in_service result. \n", @@ -134,13 +127,11 @@ "the switch on one of the two sides, the power flow result is slightly different since the line loading of the\n", "line without any connected elements is calculated.\n", "\n" - ], - "metadata": { - "collapsed": false - } + ] }, { "cell_type": "markdown", + "metadata": {}, "source": [ "# Notes\n", "Juniper is based on a heuristic, it does not necessarily find the global optimum. For this use another solver\n", @@ -149,14 +140,16 @@ "This means you have to specify limits for all gens, ext_grids and controllable sgens / loads. Optionally costs for these can be defined. \n", "Also limits for line/trafo loadings and buse voltages are to be defined. The case5 grid has pre-defined limits set. \n", "In other cases you might get an error. Here is a code snippet:\n" - ], - "metadata": { - "collapsed": false - } + ] }, { "cell_type": "code", "execution_count": null, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, "outputs": [], "source": [ "def define_ext_grid_limits(net):\n", @@ -178,43 +171,37 @@ " # define costs\n", " for i in net.ext_grid.index:\n", " pp.create_poly_cost(net, i, 'ext_grid', cp1_eur_per_mw=1) " - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%%\n" - } - } + ] } ], "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, "language_info": { "codemirror_mode": { "name": "ipython", - "version": 2 + "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", - "pygments_lexer": "ipython2", - "version": "2.7.6" - }, - "kernelspec": { - "name": "python3", - "language": "python", - "display_name": "Python 3" + "pygments_lexer": "ipython3", + "version": "3.8.5" }, "pycharm": { "stem_cell": { "cell_type": "raw", - "source": [], "metadata": { "collapsed": false - } + }, + "source": [] } } }, "nbformat": 4, - "nbformat_minor": 0 -} \ No newline at end of file + "nbformat_minor": 1 +} diff --git a/tutorials/storage_powermodels.ipynb b/tutorials/storage_powermodels.ipynb index 126141bd2..6c31acae1 100644 --- a/tutorials/storage_powermodels.ipynb +++ b/tutorials/storage_powermodels.ipynb @@ -2,6 +2,11 @@ "cells": [ { "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, "source": [ "# Multinetwork storage optimization with PowerModels.jl\n", "This tutorial describes how to run a storage optimization over multiple timesteps with a PowerModels.jl multinetwork\n", @@ -25,27 +30,20 @@ "For more details on PowerModels multinetworks see:\n", "\n", "https://lanl-ansi.github.io/PowerModels.jl/stable/multi-networks/\n" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%% md\n" - } - } + ] }, { "cell_type": "markdown", + "metadata": {}, "source": [ "# Installation\n", "You need the standard Julia, PowerModels, Ipopt and JuMP Installation (see the opf_powermodels.ipynb).\n", " " - ], - "metadata": { - "collapsed": false - } + ] }, { "cell_type": "markdown", + "metadata": {}, "source": [ "# Run the storage optimization\n", "In order to start the optimization and visualize results, we follow four steps:\n", @@ -53,24 +51,20 @@ "2. Convert the time series to the dict\n", "3. Start the optimization\n", "4. plot the results\n" - ], - "metadata": { - "collapsed": false - } + ] }, { "cell_type": "markdown", - "source": [ - "## Get the grid data\n", - "We load the cigre medium voltage grid with \"pv\" and \"wind\" generators. Also we set some limits and add a storage with\n", - "**controllable** == True\n" - ], "metadata": { - "collapsed": false, "pycharm": { "name": "#%% md\n" } - } + }, + "source": [ + "## Get the grid data\n", + "We load the cigre medium voltage grid with \"pv\" and \"wind\" generators. Also we set some limits and add a storage with\n", + "**controllable** == True\n" + ] }, { "cell_type": "code", @@ -113,18 +107,21 @@ }, { "cell_type": "markdown", + "metadata": {}, "source": [ "## Convert the time series to a dict\n", "The following functions loads the example time series from the input_file and scales the power accordingly.\n", "It then stores the dict to a json file to a temporary folder.\n" - ], - "metadata": { - "collapsed": false - } + ] }, { "cell_type": "code", "execution_count": null, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, "outputs": [], "source": [ "def convert_timeseries_to_dict(net, input_file):\n", @@ -161,28 +158,25 @@ " json.dump(p_timeseries_dict, fp)\n", "\n", " return net, p_timeseries_dict\n" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%%\n" - } - } + ] }, { "cell_type": "markdown", + "metadata": {}, "source": [ "## Start the optimization \n", "Here we start the optimization for the 15min resolution time series. Since we have 96 time steps and 15 min resolution\n", "we set n_timesteps=96 and time_elapsed=.25 as a quarter of an hour.\n" - ], - "metadata": { - "collapsed": false - } + ] }, { "cell_type": "code", "execution_count": null, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, "outputs": [], "source": [ "# open the cigre mv grid\n", @@ -193,27 +187,24 @@ "# run the PowerModels.jl optimization\n", "# n_time steps = 96 and time_elapsed is a quarter of an hour (since the time series are in 15min resolution)\n", "storage_results = pp.runpm_storage_opf(net, n_timesteps=96, time_elapsed=0.25)\n" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%%\n" - } - } + ] }, { "cell_type": "markdown", + "metadata": {}, "source": [ "## Store the results (optionally) \n", "Store the results to a json file\n" - ], - "metadata": { - "collapsed": false - } + ] }, { "cell_type": "code", "execution_count": null, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, "outputs": [], "source": [ "def store_results(storage_results, grid_name):\n", @@ -224,27 +215,24 @@ " val.to_json(file)\n", "# store the results to disk optionally\n", "store_results(storage_results, \"cigre_ts\")\n" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%%\n" - } - } + ] }, { "cell_type": "markdown", + "metadata": {}, "source": [ "## Plot the results \n", "Plot the optimization results for the storage.\n" - ], - "metadata": { - "collapsed": false - } + ] }, { "cell_type": "code", "execution_count": null, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, "outputs": [], "source": [ "def plot_storage_results(storage_results):\n", @@ -270,43 +258,37 @@ " plt.show()\n", "# plot the result\n", "plot_storage_results(storage_results)" - ], - "metadata": { - "collapsed": false, - "pycharm": { - "name": "#%%\n" - } - } + ] } ], "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, "language_info": { "codemirror_mode": { "name": "ipython", - "version": 2 + "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", - "pygments_lexer": "ipython2", - "version": "2.7.6" - }, - "kernelspec": { - "name": "python3", - "language": "python", - "display_name": "Python 3" + "pygments_lexer": "ipython3", + "version": "3.8.5" }, "pycharm": { "stem_cell": { "cell_type": "raw", - "source": [], "metadata": { "collapsed": false - } + }, + "source": [] } } }, "nbformat": 4, - "nbformat_minor": 0 -} \ No newline at end of file + "nbformat_minor": 1 +} diff --git a/tutorials/tnep_powermodels.ipynb b/tutorials/tnep_powermodels.ipynb index cdd1d362f..f77c91f95 100644 --- a/tutorials/tnep_powermodels.ipynb +++ b/tutorials/tnep_powermodels.ipynb @@ -230,7 +230,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.9" + "version": "3.8.5" }, "pycharm": { "stem_cell": { From f4ab5d2d64b78b7cf70748ce91c6572b9859b913 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Mon, 24 May 2021 22:11:14 +0200 Subject: [PATCH 057/422] change dc model --- pandapower/test/opf/test_TNEP.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pandapower/test/opf/test_TNEP.py b/pandapower/test/opf/test_TNEP.py index 8d6cd7f6b..724c655f6 100644 --- a/pandapower/test/opf/test_TNEP.py +++ b/pandapower/test/opf/test_TNEP.py @@ -58,7 +58,7 @@ def test_pm_tnep_cigre_dc(): # run power models tnep optimization - pp.runpm_tnep(net, pm_solver= "juniper", pm_model="DCPPowerModel") # gurobi is a better option, but not for travis + pp.runpm_tnep(net, pm_solver= "juniper", pm_model="DCMPPowerModel") # gurobi is a better option, but not for travis # print the information about the newly built lines print("These lines are to be built:") @@ -172,7 +172,8 @@ def test_pm_tnep_cigre_ac_I(): if __name__ == '__main__': - pytest.main([__file__]) + # pytest.main([__file__]) # test_pm_tnep_cigre_ac_I() # test_pm_tnep_cigre() - # test_pm_tnep_cigre_only_conversion() \ No newline at end of file + # test_pm_tnep_cigre_only_conversion() + test_pm_tnep_cigre_dc() \ No newline at end of file From 79530b410f0daf67fa272da704b797e42ec8cfa3 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Mon, 24 May 2021 22:45:12 +0200 Subject: [PATCH 058/422] resolve PdM --- pandapower/opf/run_powermodels.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pandapower/opf/run_powermodels.py b/pandapower/opf/run_powermodels.py index 8a5256e6c..4dc65c90b 100644 --- a/pandapower/opf/run_powermodels.py +++ b/pandapower/opf/run_powermodels.py @@ -63,10 +63,13 @@ def _call_powermodels(buffer_file, julia_file): # pragma: no cover if str(type(Base.find_package("PandaModels"))) == "": Pkg.add(url = "https://github.com/e2nIEE/PandaModels.jl") - + Pkg.build() + Pkg.resolve() Pkg.develop("PandaModels") Pkg.build() Pkg.resolve() + else: + Pkg.update("PandaModels") # Pkg_path = Base.find_package("PandaModels").split(".jl")[0] From ef312b8ba1d45b5472ffe9dce868feb1d91e778a Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Tue, 25 May 2021 00:14:14 +0200 Subject: [PATCH 059/422] check calling PdM --- .gitignore | 2 ++ pandapower/opf/run_powermodels.py | 22 ++++++++++++++-------- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index cfefea78c..3ff3c086a 100644 --- a/.gitignore +++ b/.gitignore @@ -29,3 +29,5 @@ pandapower/timeseries/logs/* /.vscode/ pandapower/test/buffer_file.json + +pandapower/test/opf/buffer_file.json diff --git a/pandapower/opf/run_powermodels.py b/pandapower/opf/run_powermodels.py index 4dc65c90b..6b56f8bc7 100644 --- a/pandapower/opf/run_powermodels.py +++ b/pandapower/opf/run_powermodels.py @@ -50,6 +50,7 @@ def _call_powermodels(buffer_file, julia_file): # pragma: no cover from julia import Base except ImportError: raise ImportError("Please install pyjulia to run pandapower with PowerModels.jl") + try: j = julia.Julia() except: @@ -61,19 +62,20 @@ def _call_powermodels(buffer_file, julia_file): # pragma: no cover # import two julia scripts and runs powermodels julia_file if str(type(Base.find_package("PandaModels"))) == "": - + print("PandaModels is not exist") + Pkg.Registry.update() Pkg.add(url = "https://github.com/e2nIEE/PandaModels.jl") - Pkg.build() + # Pkg.build() Pkg.resolve() Pkg.develop("PandaModels") Pkg.build() Pkg.resolve() - else: - Pkg.update("PandaModels") - + print("add PandaModels") + + + print(Base.find_package("PandaModels")) # Pkg_path = Base.find_package("PandaModels").split(".jl")[0] - # try: # Pkg_path = Base.find_package("PandaModels").split(".jl")[0] # print(Pkg_path) @@ -84,9 +86,13 @@ def _call_powermodels(buffer_file, julia_file): # pragma: no cover # Pkg.activate(Pkg_path) Pkg.activate("PandaModels") + print("activate PandaModels") - - Main.using("PandaModels") + try: + Main.using("PandaModels") + print("using PandaModels") + except ImportError: + raise ImportError("cannot use PandaModels") # if not os.path.isfile(julia_file): # raise UserWarning("File %s could not be imported" % julia_file) Main.buffer_file = buffer_file From 42664c8c35b43d1a6f2b43d9ec3ccf085918905e Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Tue, 25 May 2021 00:38:17 +0200 Subject: [PATCH 060/422] instantiate dependencies --- pandapower/opf/run_powermodels.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pandapower/opf/run_powermodels.py b/pandapower/opf/run_powermodels.py index 6b56f8bc7..ae25fd3ae 100644 --- a/pandapower/opf/run_powermodels.py +++ b/pandapower/opf/run_powermodels.py @@ -86,6 +86,8 @@ def _call_powermodels(buffer_file, julia_file): # pragma: no cover # Pkg.activate(Pkg_path) Pkg.activate("PandaModels") + Pkg.instantiate() + Pkg.resolve() print("activate PandaModels") try: From 9a6e6aa83eb14424af1e50ae18d28707dd0200ab Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Tue, 25 May 2021 16:03:08 +0200 Subject: [PATCH 061/422] storage --- .gitignore | 2 + pandapower/opf/pm_storage.py | 4 +- pandapower/opf/run_powermodels_mn_storage.jl | 9 +- pandapower/runpm.py | 8 +- tutorials/mary_mns_test.py | 117 +++++++++++++++++++ 5 files changed, 134 insertions(+), 6 deletions(-) create mode 100644 tutorials/mary_mns_test.py diff --git a/.gitignore b/.gitignore index 272796174..8a99350a8 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,5 @@ pandapower/test/timeseries/run_timeseries_output/* pandapower/timeseries/logs/* */data/* /.vscode/ + +pandapower/test/opf/buffer_file.json diff --git a/pandapower/opf/pm_storage.py b/pandapower/opf/pm_storage.py index f2042de94..4191efbde 100644 --- a/pandapower/opf/pm_storage.py +++ b/pandapower/opf/pm_storage.py @@ -49,7 +49,9 @@ def add_storage_opf_settings(net, ppci, pm): "qmax": max_q_mvar, "qmin": min_q_mvar, "charge_rating": max_p_mw, - "discharge_efficiency": 1.0 + "discharge_efficiency": 1.0, + "p_loss": 0.0, + "q_loss": 0.0 } diff --git a/pandapower/opf/run_powermodels_mn_storage.jl b/pandapower/opf/run_powermodels_mn_storage.jl index 773ae0521..4ffb24a7f 100644 --- a/pandapower/opf/run_powermodels_mn_storage.jl +++ b/pandapower/opf/run_powermodels_mn_storage.jl @@ -38,6 +38,11 @@ end function run_powermodels(json_path) # load converted pandapower network pm = PP2PM.load_pm_from_json(json_path) + model = PP2PM.get_model(pm["pm_model"]) + + solver = PP2PM.get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], + pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) + # copy network n_time_steps time step times n_time_steps = pm["n_time_steps"] mn = PowerModels.replicate(pm, pm["n_time_steps"]) @@ -50,10 +55,10 @@ function run_powermodels(json_path) print("Running storage without time series") end - ipopt_solver = JuMP.with_optimizer(Ipopt.Optimizer, print_level = 0) + ipopt_solver = JuMP.with_optimizer(Ipopt.Optimizer, print_level = 1) # run multinetwork storage opf - result = PowerModels._run_mn_strg_opf(mn, PowerModels.ACPPowerModel, ipopt_solver) + result = PowerModels.run_mn_opf_strg(mn, model, solver)#(mn, PowerModels.ACPPowerModel, ipopt_solver) print_summary(result) return result end diff --git a/pandapower/runpm.py b/pandapower/runpm.py index 1ebe2c50c..dc582f113 100644 --- a/pandapower/runpm.py +++ b/pandapower/runpm.py @@ -394,8 +394,10 @@ def runpm_ots(net, pp_to_pm_callback=None, calculate_voltage_angles=True, def runpm_storage_opf(net, calculate_voltage_angles=True, trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, - n_timesteps=24, time_elapsed=1.0, correct_pm_network_data=True, - pm_model="ACPPowerModel", pm_time_limits=None, pm_log_level=0, **kwargs): # pragma: no cover + n_timesteps=24, time_elapsed=1.0, correct_pm_network_data=True, + pm_solver="ipopt", pm_mip_solver="cbc", pm_nl_solver="ipopt", + pm_model="ACPPowerModel", pm_time_limits=None, pm_log_level=0, + delete_buffer_file=True, pm_file_path = None, opf_flow_lim="S", **kwargs): # pragma: no cover """ Runs a non-linear power system optimization with storages and time series using PowerModels.jl. @@ -424,7 +426,7 @@ def runpm_storage_opf(net, calculate_voltage_angles=True, _add_opf_options(net, trafo_loading='power', ac=ac, init="flat", numba=True, pp_to_pm_callback=add_storage_opf_settings, julia_file=julia_file, correct_pm_network_data=correct_pm_network_data, pm_model=pm_model, pm_time_limits=pm_time_limits, - pm_log_level=pm_log_level) + pm_log_level=pm_log_level, opf_flow_lim=opf_flow_lim) net._options["n_time_steps"] = n_timesteps net._options["time_elapsed"] = time_elapsed diff --git a/tutorials/mary_mns_test.py b/tutorials/mary_mns_test.py new file mode 100644 index 000000000..77fa31881 --- /dev/null +++ b/tutorials/mary_mns_test.py @@ -0,0 +1,117 @@ +# -*- coding: utf-8 -*- +""" +Created on Tue May 25 10:02:21 2021 + +@author: x230 +""" +import json +import os +import tempfile + +import matplotlib.pyplot as plt +import numpy as np +import pandas as pd + +import pandapower as pp +import pandapower.networks as nw + +def cigre_grid(): + net = nw.create_cigre_network_mv("pv_wind") + # set some limits + min_vm_pu = 0.95 + max_vm_pu = 1.05 + + net["bus"].loc[:, "min_vm_pu"] = min_vm_pu + net["bus"].loc[:, "max_vm_pu"] = max_vm_pu + + net["line"].loc[:, "max_loading_percent"] = 100. + + # close all switches + net.switch.loc[:, "closed"] = True + # add storage to bus 10 + pp.create_storage(net, 10, p_mw=0.5, max_e_mwh=.2, soc_percent=0., q_mvar=0., controllable=True) + + return net + +def convert_timeseries_to_dict(net, input_file): + # set the load type in the cigre grid, since it is not specified + net["load"].loc[:, "type"] = "residential" + # change the type of the last sgen to wind + net.sgen.loc[:, "type"] = "pv" + net.sgen.loc[8, "type"] = "wind" + + # read the example time series + time_series = pd.read_json(input_file) + time_series.sort_index(inplace=True) + # this example time series has a 15min resolution with 96 time steps for one day + n_timesteps = time_series.shape[0] + + n_load = len(net.load) + n_sgen = len(net.sgen) + p_timeseries = np.zeros((n_timesteps, n_load + n_sgen), dtype=float) + # p + load_p = net["load"].loc[:, "p_mw"].values + sgen_p = net["sgen"].loc[:7, "p_mw"].values + wind_p = net["sgen"].loc[8, "p_mw"] + + p_timeseries_dict = dict() + for t in range(n_timesteps): + # print(time_series.at[t, "residential"]) + p_timeseries[t, :n_load] = load_p * time_series.at[t, "residential"] + p_timeseries[t, n_load:-1] = - sgen_p * time_series.at[t, "pv"] + p_timeseries[t, -1] = - wind_p * time_series.at[t, "wind"] + p_timeseries_dict[t] = p_timeseries[t, :].tolist() + + time_series_file = os.path.join(tempfile.gettempdir(), "timeseries.json") + with open(time_series_file, 'w') as fp: + json.dump(p_timeseries_dict, fp) + + return net, p_timeseries_dict + +# open the cigre mv grid +net = cigre_grid() +# convert the time series to a dict and save it to disk +input_file = "cigre_timeseries_15min.json" +net, p_timeseries = convert_timeseries_to_dict(net, input_file) +# run the PowerModels.jl optimization +# n_time steps = 96 and time_elapsed is a quarter of an hour (since the time series are in 15min resolution) +# storage_results = pp.runpm_storage_opf(net, n_timesteps=96, time_elapsed=0.25) + +storage_results = pp.runpm_storage_opf(net, calculate_voltage_angles=True, + trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, + n_timesteps=24, time_elapsed=1.0, correct_pm_network_data=True, + pm_model="ACPPowerModel", pm_time_limits=None, pm_log_level=0, opf_flow_lim="S") + +def store_results(storage_results, grid_name): + for key, val in storage_results.items(): + file = grid_name + "_strg_res" + str(key) + ".json" + print("Storing results to file {}".format(file)) + print(val) + val.to_json(file) +# store the results to disk optionally +store_results(storage_results, "cigre_ts") + + +def plot_storage_results(storage_results): + n_res = len(storage_results.keys()) + fig, axes = plt.subplots(n_res, 2) + if n_res == 1: + axes = [axes] + for i, (key, val) in enumerate(storage_results.items()): + res = val + axes[i][0].set_title("Storage {}".format(key)) + el = res.loc[:, ["p_mw", "q_mvar", "soc_mwh"]] + el.plot(ax=axes[i][0]) + axes[i][0].set_xlabel("time step") + axes[i][0].legend(loc=4) + axes[i][0].grid() + ax2 = axes[i][1] + patch = plt.plot([], [], ms=8, ls="--", mec=None, color="grey", label="{:s}".format("soc_percent")) + ax2.legend(handles=patch) + ax2.set_label("SOC percent") + res.loc[:, "soc_percent"].plot(ax=ax2, linestyle="--", color="grey") + ax2.grid() + + plt.show() +# plot the result +plot_storage_results(storage_results) \ No newline at end of file From a3810b7e1379f0df1952cd7eb9e5604dcdaf0115 Mon Sep 17 00:00:00 2001 From: sdrauz Date: Wed, 26 May 2021 12:18:37 +0200 Subject: [PATCH 062/422] ensure pandapower networks all time --- pandapower/file_io.py | 6 +++++- pandapower/io_utils.py | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/pandapower/file_io.py b/pandapower/file_io.py index 2f3616abb..d7a739f53 100644 --- a/pandapower/file_io.py +++ b/pandapower/file_io.py @@ -354,7 +354,11 @@ def from_sqlite(filename, netname=""): return net if __name__ == '__main__': + import time import pandapower as pp + start = time.time() net = pp.from_json('test.json', deserialized_pandas_tables=['bus']) pp.to_json(net, 'test2.json') - net = pp.from_json('test2.json') \ No newline at end of file + net = pp.from_json('test2.json') + end = time.time() + delta = end-start \ No newline at end of file diff --git a/pandapower/io_utils.py b/pandapower/io_utils.py index 41b0e24bb..cdaeba301 100644 --- a/pandapower/io_utils.py +++ b/pandapower/io_utils.py @@ -523,7 +523,7 @@ def pp_hook(d, deserialize_pandas, registry_class=FromSerializableRegistry): try: if '_module' in d and '_class' in d: if 'pandas' in d['_module'] and not deserialize_pandas: - return json.dumps(d, cls=io_utils.PPJSONEncoder, indent=2) + return json.dumps(d)#, cls=io_utils.PPJSONEncoder, indent=2) elif "_object" in d: obj = d.pop('_object') elif "_state" in d: @@ -715,7 +715,11 @@ def to_serializable(obj): @to_serializable.register(pandapowerNet) def json_pandapowernet(obj): + logger.debug('pandapowerNet') net_dict = {k: item for k, item in obj.items() if not k.startswith("_")} + for k, item in net_dict.items(): + if (isinstance(item, str) and '_module' in item): + net_dict[k] = json.loads(item) d = with_signature(obj, net_dict) return d From 0318ecbc0a91e1ef30afe1e18e16f4259d315c75 Mon Sep 17 00:00:00 2001 From: sdrauz Date: Wed, 26 May 2021 13:40:38 +0200 Subject: [PATCH 063/422] further adaptions in io_utils --- pandapower/file_io.py | 5 ----- pandapower/io_utils.py | 29 ++++++++++++----------------- 2 files changed, 12 insertions(+), 22 deletions(-) diff --git a/pandapower/file_io.py b/pandapower/file_io.py index d7a739f53..d2d4be460 100644 --- a/pandapower/file_io.py +++ b/pandapower/file_io.py @@ -273,11 +273,6 @@ def from_json_string(json_string, convert=False, encryption_key=None, deserializ if deserialized_pandas_tables is None: net = json.loads(json_string, cls=io_utils.PPJSONDecoder) - for key in net.keys(): - if key in ['version', 'name']: - continue - if isinstance(net[key], str): - net[key] = json.loads(net[key], cls=io_utils.PPJSONDecoder) else: net = json.loads(json_string, cls=io_utils.PPJSONDecoder, deserialize_pandas=False) for key in deserialized_pandas_tables: diff --git a/pandapower/io_utils.py b/pandapower/io_utils.py index cdaeba301..96fad2813 100644 --- a/pandapower/io_utils.py +++ b/pandapower/io_utils.py @@ -14,7 +14,6 @@ from functools import partial from inspect import isclass, signature, _findclass from warnings import warn -from pandapower import io_utils import networkx import numpy @@ -401,11 +400,10 @@ class FromSerializableRegistry(): class_name = '' module_name = '' - def __init__(self, obj, d, pp_hook_funct, deserialize_pandas): + def __init__(self, obj, d, pp_hook_funct): self.obj = obj self.d = d self.pp_hook = pp_hook_funct - self.deserialize_pandas = deserialize_pandas @from_serializable.register(class_name='Series', module_name='pandas.core.series') def Series(self): @@ -413,19 +411,16 @@ def Series(self): @from_serializable.register(class_name='DataFrame', module_name='pandas.core.frame') def DataFrame(self): - if self.deserialize_pandas: - df = pd.read_json(self.obj, precise_float=True, convert_axes=False, **self.d) - try: - df.set_index(df.index.astype(numpy.int64), inplace=True) - except (ValueError, TypeError, AttributeError): - logger.debug("failed setting int64 index") - # recreate jsoned objects - for col in ('object', 'controller'): # "controller" for backwards compatibility - if (col in df.columns): - df[col] = df[col].apply(self.pp_hook) - return df - else: - return self.obj + df = pd.read_json(self.obj, precise_float=True, convert_axes=False, **self.d) + try: + df.set_index(df.index.astype(numpy.int64), inplace=True) + except (ValueError, TypeError, AttributeError): + logger.debug("failed setting int64 index") + # recreate jsoned objects + for col in ('object', 'controller'): # "controller" for backwards compatibility + if (col in df.columns): + df[col] = df[col].apply(self.pp_hook) + return df @from_serializable.register(class_name='pandapowerNet', module_name='pandapower.auxiliary') def pandapowerNet(self): @@ -534,7 +529,7 @@ def pp_hook(d, deserialize_pandas, registry_class=FromSerializableRegistry): else: # obj = {"_init": d, "_state": dict()} # backwards compatibility obj = {key: val for key, val in d.items() if key not in ['_module', '_class']} - fs = registry_class(obj, d, pp_hook, deserialize_pandas) + fs = registry_class(obj, d, pp_hook) fs.class_name = d.pop('_class', '') fs.module_name = d.pop('_module', '') return fs.from_serializable() From 35983af58475931e9cd114bd11b9dc8bd5353253 Mon Sep 17 00:00:00 2001 From: sdrauz Date: Wed, 26 May 2021 14:14:22 +0200 Subject: [PATCH 064/422] bugfix --- pandapower/io_utils.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pandapower/io_utils.py b/pandapower/io_utils.py index 96fad2813..30654eda3 100644 --- a/pandapower/io_utils.py +++ b/pandapower/io_utils.py @@ -458,8 +458,7 @@ def rest(self): if isclass(class_) and issubclass(class_, JSONSerializableClass): if isinstance(self.obj, str): self.obj = json.loads(self.obj, cls=PPJSONDecoder, - object_hook=partial(pp_hook, - registry_class=FromSerializableRegistry)) + object_hook=pp_hook) # backwards compatibility if "net" in self.obj: del self.obj["net"] @@ -514,7 +513,7 @@ def __init__(self, **kwargs): super().__init__(**super_kwargs) -def pp_hook(d, deserialize_pandas, registry_class=FromSerializableRegistry): +def pp_hook(d, deserialize_pandas=True, registry_class=FromSerializableRegistry): try: if '_module' in d and '_class' in d: if 'pandas' in d['_module'] and not deserialize_pandas: From 542847a6561f9509b1dbecb820b32bb5f83df04e Mon Sep 17 00:00:00 2001 From: sdrauz Date: Thu, 27 May 2021 10:01:56 +0200 Subject: [PATCH 065/422] adapt further so that you can load specific tables wo keeping unserialized or load specific tables and keep the unserialized ones --- pandapower/file_io.py | 44 ++++++++++++++++++++++++++---------------- pandapower/io_utils.py | 2 +- 2 files changed, 28 insertions(+), 18 deletions(-) diff --git a/pandapower/file_io.py b/pandapower/file_io.py index d2d4be460..a2a1388cf 100644 --- a/pandapower/file_io.py +++ b/pandapower/file_io.py @@ -212,7 +212,7 @@ def _from_excel_old(xls): return net -def from_json(filename, convert=True, encryption_key=None, deserialized_pandas_tables=None): +def from_json(filename, convert=True, encryption_key=None, table_selection=None, keep_unserialized=True): """ Load a pandapower network from a JSON file. The index of the returned network is not necessarily in the same order as the original network. @@ -243,10 +243,11 @@ def from_json(filename, convert=True, encryption_key=None, deserialized_pandas_t json_string = fp.read() return from_json_string(json_string, convert=convert, encryption_key=encryption_key, - deserialized_pandas_tables=deserialized_pandas_tables) + table_selection=table_selection, keep_unserialized=keep_unserialized) -def from_json_string(json_string, convert=False, encryption_key=None, deserialized_pandas_tables=None): +def from_json_string(json_string, convert=False, encryption_key=None, table_selection=None, + keep_unserialized=True): """ Load a pandapower network from a JSON string. The index of the returned network is not necessarily in the same order as the original network. @@ -271,12 +272,31 @@ def from_json_string(json_string, convert=False, encryption_key=None, deserializ if encryption_key is not None: json_string = io_utils.decrypt_string(json_string, encryption_key) - if deserialized_pandas_tables is None: + if table_selection is None: net = json.loads(json_string, cls=io_utils.PPJSONDecoder) else: net = json.loads(json_string, cls=io_utils.PPJSONDecoder, deserialize_pandas=False) - for key in deserialized_pandas_tables: - net[key] = json.loads(net[key], cls=io_utils.PPJSONDecoder) + net_dummy = pp.create_empty_network() + if (not 'version' in net.keys()) | (version.parse(net.version) < version.parse('2.1.0')): + raise UserWarning('table selection is only possible for nets above version 2.0.1. Convert and save ' + 'your net first.') + if keep_unserialized: + for key in table_selection: + net[key] = json.loads(net[key], cls=io_utils.PPJSONDecoder) + else: + if ((not 'version' in net.keys()) or (net['version'] != net_dummy.version)) and not convert: + raise UserWarning( + 'The version of your net %s you are trying to load differs from the actual pandapower ' + 'version %s. Before you can load only distinct tables, convert and save your net ' + 'first or set convert to True!' + % (net['version'], net_dummy.version)) + for key in net.keys(): + if key in table_selection: + net[key] = json.loads(net[key], cls=io_utils.PPJSONDecoder) + elif not isinstance(net[key], str): + continue + elif 'pandas' in net[key]: + net[key] = net_dummy[key] # this can be removed in the future # now net is saved with "_module", "_class", "_object"..., so json.load already returns @@ -289,7 +309,7 @@ def from_json_string(json_string, convert=False, encryption_key=None, deserializ net = from_json_dict(net) if convert: - convert_format(net) + convert_format(net, table_selection=table_selection) return net @@ -347,13 +367,3 @@ def from_sqlite(filename, netname=""): net = from_sql(con) con.close() return net - -if __name__ == '__main__': - import time - import pandapower as pp - start = time.time() - net = pp.from_json('test.json', deserialized_pandas_tables=['bus']) - pp.to_json(net, 'test2.json') - net = pp.from_json('test2.json') - end = time.time() - delta = end-start \ No newline at end of file diff --git a/pandapower/io_utils.py b/pandapower/io_utils.py index 30654eda3..3ff644a5f 100644 --- a/pandapower/io_utils.py +++ b/pandapower/io_utils.py @@ -517,7 +517,7 @@ def pp_hook(d, deserialize_pandas=True, registry_class=FromSerializableRegistry) try: if '_module' in d and '_class' in d: if 'pandas' in d['_module'] and not deserialize_pandas: - return json.dumps(d)#, cls=io_utils.PPJSONEncoder, indent=2) + return json.dumps(d) elif "_object" in d: obj = d.pop('_object') elif "_state" in d: From 1465ad2f54ae08a4b42e03b2295610c8da552c9e Mon Sep 17 00:00:00 2001 From: sdrauz Date: Thu, 27 May 2021 10:02:32 +0200 Subject: [PATCH 066/422] adding tests for from_json table selection --- pandapower/test/api/test_convert_format.py | 3 ++ pandapower/test/api/test_file_io.py | 61 ++++++++++++++++++++++ 2 files changed, 64 insertions(+) diff --git a/pandapower/test/api/test_convert_format.py b/pandapower/test/api/test_convert_format.py index f9c756141..85ead83b8 100644 --- a/pandapower/test/api/test_convert_format.py +++ b/pandapower/test/api/test_convert_format.py @@ -9,6 +9,7 @@ import numpy as np import os import pytest +from packaging import version as vs folder = os.path.join(pp_dir, "test", "test_files", "old_versions") found_versions = [file.split("_")[1].split(".json")[0] for _, _, files @@ -23,6 +24,8 @@ def test_convert_format(version): raise ValueError("File for version %s does not exist" % version) try: net = pp.from_json(filename, convert=False) + if ('version' in net) and (vs.parse(str(net.version)) > vs.parse('2.0.1')): + _ = pp.from_json(filename, table_selection = ['bus', 'load']) 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/api/test_file_io.py b/pandapower/test/api/test_file_io.py index 75c1a0920..9b3e15ba5 100644 --- a/pandapower/test/api/test_file_io.py +++ b/pandapower/test/api/test_file_io.py @@ -311,6 +311,67 @@ def test_deepcopy_controller(): assert not ct1.equals(ct2) +def test_table_selection_keep(tmp_path): + net = networks.mv_oberrhein() + filename = os.path.abspath(str(tmp_path)) + "testfile.json" + pp.to_json(net, filename) + net_select = pp.from_json(filename, table_selection=['bus', 'load']) + for key, item in net_select.items(): + if key in ['bus', 'load']: + assert isinstance(item, pd.DataFrame) + elif '_empty' in key: + assert isinstance(item, pd.DataFrame) + elif '_lookup' in key: + assert isinstance(item, dict) + elif key in ['std_types', 'user_pf_options']: + assert isinstance(item, dict) + elif '_ppc' in key: + assert item is None + elif key == '_is_elements' : + assert item is None + elif key in ['converged', 'OPF_converged']: + assert isinstance(item, bool) + elif key in ['f_hz', 'sn_mva']: + assert isinstance(item, float) + else: + assert isinstance(item, str) + pp.to_json(net_select, filename) + net_select = pp.from_json(filename) + assert_net_equal(net, net_select) + + +def test_table_selection_wo_keep(tmp_path): + net = networks.mv_oberrhein() + filename = os.path.abspath(str(tmp_path)) + "testfile.json" + pp.to_json(net, filename) + net_select = pp.from_json(filename, table_selection=['bus', 'load'], keep_unserialized=False) + for key, item in net_select.items(): + if key in ['bus', 'load']: + assert isinstance(item, pd.DataFrame) + elif '_empty' in key: + assert isinstance(item, pd.DataFrame) + elif '_lookup' in key: + assert isinstance(item, dict) + elif key in ['std_types', 'user_pf_options']: + assert isinstance(item, dict) + elif '_ppc' in key: + assert item is None + elif key == '_is_elements' : + assert item is None + elif key in ['converged', 'OPF_converged']: + assert isinstance(item, bool) + elif key in ['f_hz', 'sn_mva']: + assert isinstance(item, float) + else: + if isinstance(item, pd.DataFrame): + assert len(item) == 0 + else: + assert isinstance(item, str) + pp.to_json(net_select, filename) + net_select = pp.from_json(filename) + assert_net_equal(net, net_select, name_selection=['bus', 'load']) + + @pytest.mark.skipif('geopandas' not in sys.modules, reason="requires the GeoPandas library") def test_empty_geo_dataframe(): net = pp.create_empty_network() From 9804998955a63fc8a6090901b821129f7f886e50 Mon Sep 17 00:00:00 2001 From: sdrauz Date: Thu, 27 May 2021 10:03:22 +0200 Subject: [PATCH 067/422] adding a namelist keyword argument to check only certain tables --- pandapower/test/toolbox.py | 1 + 1 file changed, 1 insertion(+) diff --git a/pandapower/test/toolbox.py b/pandapower/test/toolbox.py index 811134445..4102dd45a 100644 --- a/pandapower/test/toolbox.py +++ b/pandapower/test/toolbox.py @@ -37,6 +37,7 @@ def assert_net_equal(a_net, b_net, **kwargs): 'trafo', 'switch', 'trafo3w', 'gen', 'ext_grid', 'asymmetric_load', 'asymmetric_sgen', 'res_line', 'res_bus', 'res_sgen', 'res_gen', 'res_shunt', 'res_load', 'res_ext_grid', 'res_trafo'] + namelist = kwargs.pop('name_selection', namelist) for name in namelist: if name in a_net or name in b_net: if not (a_net[name] is None and b_net[name] is None): From ab851858ac75add31871138d8c453284062b4bc6 Mon Sep 17 00:00:00 2001 From: sdrauz Date: Thu, 27 May 2021 10:04:06 +0200 Subject: [PATCH 068/422] considering table selection in convert_format.py --- pandapower/convert_format.py | 162 +++++++++++++++++++++-------------- 1 file changed, 97 insertions(+), 65 deletions(-) diff --git a/pandapower/convert_format.py b/pandapower/convert_format.py index 2e1e74e08..fa7c084bc 100644 --- a/pandapower/convert_format.py +++ b/pandapower/convert_format.py @@ -12,7 +12,7 @@ from pandapower.results import reset_results -def convert_format(net): +def convert_format(net, table_selection=None): """ Converts old nets to new format to ensure consistency. The converted net is returned. """ @@ -21,35 +21,43 @@ def convert_format(net): return net _add_nominal_power(net) _add_missing_tables(net) - _rename_columns(net) - _add_missing_columns(net) - _create_seperate_cost_tables(net) + _rename_columns(net, table_selection) + _add_missing_columns(net, table_selection) + _create_seperate_cost_tables(net, table_selection) if version.parse(str(net.version)) < version.parse("2.4.0"): - _convert_bus_pq_meas_to_load_reference(net) + _convert_bus_pq_meas_to_load_reference(net, table_selection) if isinstance(net.version, float) and net.version < 2: - _convert_to_generation_system(net) + _convert_to_generation_system(net, table_selection) _convert_costs(net) _convert_to_mw(net) - _update_trafo_parameter_names(net) + _update_trafo_parameter_names(net, table_selection) reset_results(net) if isinstance(net.version, float) and net.version < 1.6: set_data_type_of_columns_to_default(net) - _convert_objects(net) + _convert_objects(net, table_selection) net.version = __version__ return net -def _convert_bus_pq_meas_to_load_reference(net): - bus_pq_meas_mask = net.measurement.measurement_type.isin(["p", "q"])&\ - (net.measurement.element_type=="bus") - net.measurement.loc[bus_pq_meas_mask, "value"] *= -1 - - -def _convert_to_generation_system(net): - net.sgen.p_kw *= -1 - net.sgen.q_kvar *= -1 - net.gen.p_kw *= -1 - for element in ["gen", "sgen", "ext_grid"]: +def _convert_bus_pq_meas_to_load_reference(net, table_selection): + if _check_table_selection('measurement', table_selection): + bus_pq_meas_mask = net.measurement.measurement_type.isin(["p", "q"])&\ + (net.measurement.element_type=="bus") + net.measurement.loc[bus_pq_meas_mask, "value"] *= -1 + + +def _convert_to_generation_system(net, table_selection): + update_elements = [] + if _check_table_selection('sgen', table_selection): + net.sgen.p_kw *= -1 + net.sgen.q_kvar *= -1 + update_elements += ['sgen'] + if _check_table_selection('gen', table_selection): + net.gen.p_kw *= -1 + update_elements += ['gen'] + if _check_table_selection('ext_grid', table_selection): + update_elements += ['ext_grid'] + for element in update_elements: for suffix in ["p_kw", "q_kvar"]: constraints = {} if "min_%s" % suffix in net[element]: @@ -103,62 +111,65 @@ def _add_missing_tables(net): net[key] = net_new[key] -def _create_seperate_cost_tables(net): - if "cost_per_kw" in net.gen: +def _create_seperate_cost_tables(net, table_selection): + if _check_table_selection('gen', table_selection) and "cost_per_kw" in net.gen: for index, cost in net.gen.cost_per_kw.iteritems(): if not np.isnan(cost): create_poly_cost(net, index, "gen", cp1_eur_per_mw=cost * 1e3) - if "cost_per_kw" in net.sgen: + if _check_table_selection('sgen', table_selection) and "cost_per_kw" in net.sgen: for index, cost in net.sgen.cost_per_kw.iteritems(): if not np.isnan(cost): create_poly_cost(net, index, "sgen", cp1_eur_per_kw=cost) - if "cost_per_kw" in net.ext_grid: + if _check_table_selection('ext_grid', table_selection) and "cost_per_kw" in net.ext_grid: for index, cost in net.ext_grid.cost_per_kw.iteritems(): if not np.isnan(cost): create_poly_cost(net, index, "ext_grid", cp1_eur_per_kw=cost) - if "cost_per_kvar" in net.gen: + if _check_table_selection('gen', table_selection) and "cost_per_kvar" in net.gen: for index, cost in net.gen.cost_per_kvar.iteritems(): if not np.isnan(cost): create_poly_cost(net, index, "ext_grid", cp1_eur_per_mw=0, cq1_eur_per_mvar=cost * 1e3) - if "cost_per_kvar" in net.sgen: + if _check_table_selection('sgen', table_selection) and "cost_per_kvar" in net.sgen: for index, cost in net.sgen.cost_per_kvar.iteritems(): if not np.isnan(cost): create_poly_cost(net, index, "sgen", cp1_eur_per_mw=0, cq1_eur_per_mvar=cost * 1e3) - if "cost_per_kvar" in net.ext_grid: + if _check_table_selection('ext_grid', table_selection) and "cost_per_kvar" in net.ext_grid: for index, cost in net.ext_grid.cost_per_kvar.iteritems(): if not np.isnan(cost): create_poly_cost(net, index, "ext_grid", cp1_eur_per_mw=0, cq1_eur_per_mvar=cost * 1e3) -def _rename_columns(net): - net.line.rename(columns={'imax_ka': 'max_i_ka'}, inplace=True) +def _rename_columns(net, table_selection): + if _check_table_selection('line', table_selection): + net.line.rename(columns={'imax_ka': 'max_i_ka'}, inplace=True) for typ, data in net.std_types["line"].items(): if "imax_ka" in data: net.std_types["line"][typ]["max_i_ka"] = net.std_types["line"][typ].pop("imax_ka") - _update_trafo_parameter_names(net) + _update_trafo_parameter_names(net, table_selection) # initialize measurement dataframe - if "measurement" in net and "type" in net.measurement: - if net.measurement.empty: - net["measurement"] = create_empty_network()["measurement"] - else: - net.measurement["side"] = None - bus_measurements = net.measurement.element_type == "bus" - net.measurement.loc[bus_measurements, "element"] = \ - net.measurement.loc[bus_measurements, "bus"].values - net.measurement.loc[~bus_measurements, "side"] = \ - net.measurement.loc[~bus_measurements, "bus"].values - net.measurement.rename(columns={'type': 'measurement_type'}, inplace=True) - net.measurement.drop(["bus"], axis=1, inplace=True) - if "controller" in net: - net["controller"].rename(columns={"controller": "object"}, inplace=True) + if _check_table_selection('measurement', table_selection): + if "measurement" in net and "type" in net.measurement and "measurement": + if net.measurement.empty: + net["measurement"] = create_empty_network()["measurement"] + else: + net.measurement["side"] = None + bus_measurements = net.measurement.element_type == "bus" + net.measurement.loc[bus_measurements, "element"] = \ + net.measurement.loc[bus_measurements, "bus"].values + net.measurement.loc[~bus_measurements, "side"] = \ + net.measurement.loc[~bus_measurements, "bus"].values + net.measurement.rename(columns={'type': 'measurement_type'}, inplace=True) + net.measurement.drop(["bus"], axis=1, inplace=True) + if _check_table_selection('controller', table_selection): + if "controller" in net: + net["controller"].rename(columns={"controller": "object"}, inplace=True) if "options" in net: if "recycle" in net["options"]: if "Ybus" in net["options"]["recycle"]: @@ -175,55 +186,61 @@ def _rename_columns(net): net["options"]["recycle"]["bus_pq"] = True -def _add_missing_columns(net): - for element in ["trafo", "line"]: +def _add_missing_columns(net, table_selection): + update_elements = [] + if _check_table_selection('trafo', table_selection): + update_elements += ['trafo'] + if _check_table_selection('line', table_selection): + update_elements += ['line'] + for element in update_elements: if "df" not in net[element]: net[element]["df"] = 1.0 - if "coords" not in net.bus_geodata: + + if _check_table_selection('bus_geodata', table_selection) and "coords" not in net.bus_geodata: net.bus_geodata["coords"] = None - if not "tap_at_star_point" in net.trafo3w: + if _check_table_selection('trafo3w', table_selection) and not "tap_at_star_point" in net.trafo3w: net.trafo3w["tap_at_star_point"] = False - if not "tap_step_degree" in net.trafo3w: + if _check_table_selection('trafo3w', table_selection) and not "tap_step_degree" in net.trafo3w: net.trafo3w["tap_step_degree"] = 0 - if "const_z_percent" not in net.load or "const_i_percent" not in net.load: + if _check_table_selection('load', table_selection) and "const_z_percent" not in net.load or "const_i_percent" not in net.load: net.load["const_z_percent"] = np.zeros(net.load.shape[0]) net.load["const_i_percent"] = np.zeros(net.load.shape[0]) - if "vn_kv" not in net["shunt"]: + if _check_table_selection('shunt', table_selection) and "vn_kv" not in net["shunt"]: net.shunt["vn_kv"] = net.bus.vn_kv.loc[net.shunt.bus.values].values - if "step" not in net["shunt"]: + if _check_table_selection('shunt', table_selection) and "step" not in net["shunt"]: net.shunt["step"] = 1 - if "max_step" not in net["shunt"]: + if _check_table_selection('shunt', table_selection) and "max_step" not in net["shunt"]: net.shunt["max_step"] = 1 - if "std_type" not in net.trafo3w: + if _check_table_selection('trafo3w', table_selection) and "std_type" not in net.trafo3w: net.trafo3w["std_type"] = None - if "current_source" not in net.sgen: + if _check_table_selection('sgen', table_selection) and "current_source" not in net.sgen: net.sgen["current_source"] = net.sgen["type"].apply( func=lambda x: False if x == "motor" else True) - if "g_us_per_km" not in net.line: + if _check_table_selection('line', table_selection) and "g_us_per_km" not in net.line: net.line["g_us_per_km"] = 0. - if "slack" not in net.gen: + if _check_table_selection('gen', table_selection) and "slack" not in net.gen: net.gen["slack"] = False - if "tap_phase_shifter" not in net.trafo and "tp_phase_shifter" not in net.trafo: + if _check_table_selection('trafo', table_selection) and "tap_phase_shifter" not in net.trafo and "tp_phase_shifter" not in net.trafo: net.trafo["tap_phase_shifter"] = False # unsymmetric impedance - if "r_pu" in net.impedance: + if _check_table_selection('impedance', table_selection) and "r_pu" in net.impedance: net.impedance["rft_pu"] = net.impedance["rtf_pu"] = net.impedance["r_pu"] net.impedance["xft_pu"] = net.impedance["xtf_pu"] = net.impedance["x_pu"] # Update the switch table with 'z_ohm' - if 'z_ohm' not in net.switch: + if _check_table_selection('switch', table_selection) and 'z_ohm' not in net.switch: net.switch['z_ohm'] = 0 - if "name" not in net.measurement: + if _check_table_selection('measurement', table_selection) and "name" not in net.measurement: net.measurement.insert(0, "name", None) - if "initial_run" not in net.controller: + if _check_table_selection('controller', table_selection) and "initial_run" not in net.controller: net.controller.insert(4, 'initial_run', False) for _, ctrl in net.controller.iterrows(): if hasattr(ctrl['object'], 'initial_run'): @@ -240,8 +257,13 @@ def _update_trafo_type_parameter_names(net): net.std_types[element][type][new_key] = net.std_types[element][type].pop(old_key) -def _update_trafo_parameter_names(net): - for element in ["trafo", "trafo3w"]: +def _update_trafo_parameter_names(net, table_selection): + update_data = [] + if _check_table_selection('trafo', table_selection): + update_data += ['trafo'] + if _check_table_selection('trafo3w', table_selection): + update_data += ['trafo3w'] + for element in update_data: replace_cols = {col: _update_column(col) for col in net[element].columns if col.startswith("tp") or col.startswith("vsc")} net[element].rename(columns=replace_cols, inplace=True) @@ -312,11 +334,21 @@ def _update_object_attributes(obj): obj.__dict__[val] = obj.__dict__.pop(key) -def _convert_objects(net): +def _convert_objects(net, table_selection): """ The function updates attribute names in pandapower objects. For now, it affects TrafoController. Should be expanded for other objects if necessary. """ - if "controller" in net.keys(): + _check_table_selection('controller', table_selection) + if _check_table_selection('controller', table_selection) and "controller" in net.keys(): for obj in net["controller"].object.values: _update_object_attributes(obj) + + +def _check_table_selection(element, table_selection): + if table_selection is None: + return True + elif element in table_selection: + return True + else: + return False \ No newline at end of file From bbdd8029314166feed27241d8b31883231da3324 Mon Sep 17 00:00:00 2001 From: sdrauz Date: Thu, 27 May 2021 10:07:43 +0200 Subject: [PATCH 069/422] adding docstrings --- pandapower/file_io.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pandapower/file_io.py b/pandapower/file_io.py index a2a1388cf..ae4d8e5a2 100644 --- a/pandapower/file_io.py +++ b/pandapower/file_io.py @@ -226,6 +226,10 @@ def from_json(filename, convert=True, encryption_key=None, table_selection=None, **encrytion_key** (string, "") - If given, key to decrypt an encrypted pandapower network + **table_selection** (list, None) - Deserialize only certain pandapower tables. If None all tables are deserialized. + + **keep_unserialized** (bool, True) - Keep unserialized tables if given. Default: Unserialized tables are kept. + OUTPUT: **net** (dict) - The pandapower format network @@ -261,6 +265,10 @@ def from_json_string(json_string, convert=False, encryption_key=None, table_sele **encrytion_key** (string, "") - If given, key to decrypt an encrypted json_string + **table_selection** (list, None) - Deserialize only certain pandapower tables. If None all tables are deserialized. + + **keep_unserialized** (bool, True) - Keep unserialized tables if given. Default: Unserialized tables are kept. + OUTPUT: **net** (dict) - The pandapower format network From 40f5b56e3aa294394e049970a89cb97764abb98b Mon Sep 17 00:00:00 2001 From: sdrauz Date: Thu, 27 May 2021 10:15:07 +0200 Subject: [PATCH 070/422] bugfix --- pandapower/file_io.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandapower/file_io.py b/pandapower/file_io.py index ae4d8e5a2..b243b7646 100644 --- a/pandapower/file_io.py +++ b/pandapower/file_io.py @@ -284,7 +284,7 @@ def from_json_string(json_string, convert=False, encryption_key=None, table_sele net = json.loads(json_string, cls=io_utils.PPJSONDecoder) else: net = json.loads(json_string, cls=io_utils.PPJSONDecoder, deserialize_pandas=False) - net_dummy = pp.create_empty_network() + net_dummy = create_empty_network() if (not 'version' in net.keys()) | (version.parse(net.version) < version.parse('2.1.0')): raise UserWarning('table selection is only possible for nets above version 2.0.1. Convert and save ' 'your net first.') From b4ad603a4927b337b34eb2aedccb65f4fe0a9d73 Mon Sep 17 00:00:00 2001 From: U_F_O Date: Fri, 28 May 2021 18:57:39 +0200 Subject: [PATCH 071/422] Code Enhancements avoid some warnings --- pandapower/auxiliary.py | 2 +- pandapower/test/opf/test_pp_vs_pm.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pandapower/auxiliary.py b/pandapower/auxiliary.py index b3948e43d..15186650d 100644 --- a/pandapower/auxiliary.py +++ b/pandapower/auxiliary.py @@ -340,7 +340,7 @@ def _get_values(source, selection, lookup): """ v = np.zeros(len(selection)) for i, k in enumerate(selection): - v[i] = source[lookup[np.int(k)]] + v[i] = source[lookup[np.int64(k)]] return v diff --git a/pandapower/test/opf/test_pp_vs_pm.py b/pandapower/test/opf/test_pp_vs_pm.py index fe4b6ddbc..b2490e421 100644 --- a/pandapower/test/opf/test_pp_vs_pm.py +++ b/pandapower/test/opf/test_pp_vs_pm.py @@ -293,7 +293,7 @@ def test_opf_ext_grid_controllable_pm(): pp.runpm_ac_opf(net_old, calculate_voltage_angles=True, correct_pm_network_data=False, opf_flow_lim="I") net_new.ext_grid["controllable"] = True pp.runpm_ac_opf(net_new, calculate_voltage_angles=True, correct_pm_network_data=False, - delete_buffer_file=False, pm_file_path="buffer_file.json", opf_flow_lim="I") + opf_flow_lim="I") assert np.isclose(net_new.res_bus.vm_pu[net.ext_grid.bus[0]], 1.0599999600072285) assert np.isclose(net_old.res_bus.vm_pu[net.ext_grid.bus[0]], 1.060000000015124) From 53422647536c6a74ff4ae02b960255be76fa9e6d Mon Sep 17 00:00:00 2001 From: U_F_O Date: Fri, 28 May 2021 19:03:27 +0200 Subject: [PATCH 072/422] change function name, separate main and develop entrance name from powermodels to pandamodels, set conditions of use and develop --- pandapower/opf/run_powermodels.py | 75 ++++++++++++++++--------------- 1 file changed, 40 insertions(+), 35 deletions(-) diff --git a/pandapower/opf/run_powermodels.py b/pandapower/opf/run_powermodels.py index ae25fd3ae..dc873abc0 100644 --- a/pandapower/opf/run_powermodels.py +++ b/pandapower/opf/run_powermodels.py @@ -10,7 +10,7 @@ import logging -def _runpm(net, delete_buffer_file=True, pm_file_path = None): # pragma: no cover +def _runpm(net, delete_buffer_file=True, pm_file_path=None): # pragma: no cover """ Converts the pandapower net to a pm json file, saves it to disk, runs a PowerModels.jl julia function and reads the results back to the pandapower net @@ -25,6 +25,8 @@ def _runpm(net, delete_buffer_file=True, pm_file_path = None): # pragma: no cov """ + logger = logging.getLogger("run_pm") + logger.setLevel(logging.WARNING) # convert pandapower to power models file -> this is done in python net, pm, ppc, ppci = convert_to_pm_structure(net) # call optinal callback function @@ -33,7 +35,7 @@ def _runpm(net, delete_buffer_file=True, pm_file_path = None): # pragma: no cov # writes pm json to disk, which is loaded afterwards in julia buffer_file = dump_pm_json(pm, pm_file_path) # run power models optimization in julia - result_pm = _call_powermodels(buffer_file, net._options["julia_file"]) + result_pm = _call_pandamodels(buffer_file, net._options["julia_file"]) # read results and write back to net read_pm_results_to_net(net, ppc, ppci, result_pm) if pm_file_path is None and delete_buffer_file: @@ -41,40 +43,45 @@ def _runpm(net, delete_buffer_file=True, pm_file_path = None): # pragma: no cov os.remove(buffer_file) - -def _call_powermodels(buffer_file, julia_file): # pragma: no cover +def _call_pandamodels(buffer_file, julia_file): # pragma: no cover try: import julia from julia import Main from julia import Pkg from julia import Base except ImportError: - raise ImportError("Please install pyjulia to run pandapower with PowerModels.jl") - + raise ImportError( + "Please install pyjulia properlly to run pandapower with PowerModels.jl. \nMore info on https://pandapower.readthedocs.io/en/v2.6.0/opf/powermodels.html") + try: j = julia.Julia() except: raise UserWarning( "Could not connect to julia, please check that Julia is installed and pyjulia is correctly configured") - + # Pkg.rm("PandaModels") # Pkg.resolve() # import two julia scripts and runs powermodels julia_file + inst, dev_mode = None, False + if not Base.find_package("PandaModels"): + inst = input("PandaModels is not installed in julia. Add now? (Y/n)") + if inst in ["Y", "y"]: + Pkg.Registry.update() + Pkg.add(url="https://github.com/e2nIEE/PandaModels.jl") + # Pkg.build() + Pkg.resolve() + deve = input("Add PandaModels in develop mode? (Y/n)") + if deve in ["Y", "y"]: + dev_mode = True + Pkg.develop("PandaModels") + Pkg.build() + print("Successfully added PandaModels") + else: + raise ImportError("PandaModels not found") - if str(type(Base.find_package("PandaModels"))) == "": - print("PandaModels is not exist") - Pkg.Registry.update() - Pkg.add(url = "https://github.com/e2nIEE/PandaModels.jl") - # Pkg.build() - Pkg.resolve() - Pkg.develop("PandaModels") - Pkg.build() - Pkg.resolve() - print("add PandaModels") - - - print(Base.find_package("PandaModels")) - # Pkg_path = Base.find_package("PandaModels").split(".jl")[0] + # print(Base.find_package("PandaModels")) + Pkg_path = Base.find_package("PandaModels").split(".jl")[0] + dev_mode = True if "julia/dev/PandaModels" in Pkg_path else False # try: # Pkg_path = Base.find_package("PandaModels").split(".jl")[0] @@ -83,22 +90,20 @@ def _call_powermodels(buffer_file, julia_file): # pragma: no cover # Pkg.add(path = "C:/Users/x230/.julia/dev/PandaModels.jl") # Pkg.build() # Pkg.resolve() - - # Pkg.activate(Pkg_path) - Pkg.activate("PandaModels") - Pkg.instantiate() - Pkg.resolve() - print("activate PandaModels") - - try: + + if dev_mode: + Pkg.activate("PandaModels") + Pkg.instantiate() + Pkg.resolve() + # print("activate PandaModels") + + try: Main.using("PandaModels") - print("using PandaModels") + # print("using PandaModels") except ImportError: - raise ImportError("cannot use PandaModels") - # if not os.path.isfile(julia_file): + raise ImportError("cannot use PandaModels") + # if not os.path.isfile(julia_file): # raise UserWarning("File %s could not be imported" % julia_file) Main.buffer_file = buffer_file - # exec_fun = julia_file.split("/")[-1].split(".")[0] - # print(">>>>>> julia_file: " + julia_file) - result_pm = Main.eval(julia_file+"(buffer_file)") + result_pm = Main.eval(julia_file + "(buffer_file)") return result_pm From 9e6c839386743f68edccc33d6890a12f576de630 Mon Sep 17 00:00:00 2001 From: U_F_O Date: Sat, 29 May 2021 11:17:10 +0200 Subject: [PATCH 073/422] Improve documents with PowerModels.jl Change name to PowerModels.jl and add instructions for MacOS --- doc/opf/powermodels.rst | 55 ++++++++++++++++++++++++++++++++--------- 1 file changed, 44 insertions(+), 11 deletions(-) diff --git a/doc/opf/powermodels.rst b/doc/opf/powermodels.rst index 1900cce37..0cee3c8d3 100644 --- a/doc/opf/powermodels.rst +++ b/doc/opf/powermodels.rst @@ -1,31 +1,42 @@ .. _powermodels: -Optimization with PowerModels.jl +Optimization with PandaModels.jl ================================= Installation -------------- -If you are not yet using Julia, install it. Note that you need a version that is supported PowerModels, PyCall and pyjulia for the interface to work. Currently, `Julia 1.5 `_ is the most recent version of Julia that supports all these packages. +If you are not yet using Julia, install it. Note that you need a version that is supported PowerModels, PyCall and pyjulia for the interface to work. Currently, `Julia 1.5 `_ is the most recent version of Julia that supports all these packages. -.. note:: You don't necessarily need a Julia IDE if you are using PowerModels through pandapower, but it might help for debugging to install an IDE such as `Juno `_. Also, PyCharm has a Julia Plugin. +.. note:: You don't necessarily need a Julia IDE if you are using PandaModels through pandapower, but it might help for debugging to install an IDE such as `Juno `_. Also, PyCharm has a Julia Plugin. -1. Add the Julia binary folder (e.g. /Julia-1.5.0/bin) to the `system variable PATH `_. Providing the path is correct, you can now enter the julia prompt by executing :code:`julia` in your shell. +1. Add the Julia binary folder (e.g. `/Julia-1.5.0/bin` on Windows or `/Applications/Julia-1.5.app/Contents/Resources/julia/bin` on MacOS) to the `system variable PATH `_. Providing the path is correct, you can now enter the julia prompt by executing :code:`julia` in your shell. -2. The library `PyCall `_ allows to use Python from inside julia. By default, PyCall uses the Conda.jl package to install a Miniconda distribution private to Julia. To use an already installed Python distribution (e.g. Anaconda), set the :literal:`PYTHON` environment variable inside the Julia prompt to e.g.: :code:`ENV["PYTHON"]="C:\\Anaconda3\\python.exe"`. +2. The library `PyCall `_ allows to use Python from inside julia. By default, PyCall uses the Conda.jl package to install a Miniconda distribution private to Julia. To use an already installed Python distribution (e.g. Anaconda), set the :literal:`PYTHON` environment variable inside the Julia prompt. + On Windows: -3. Access the package mode by typing :kbd:`]`. Now install the packages: :code:`add Ipopt PowerModels PyCall`. + :code:`ENV["PYTHON"]="C:\\Anaconda3\\python.exe"` -4. Test your `PowerModels `_ installation by executing :code:`test PowerModels`. Alternatively, you can call :code:`using Pkg` and then :code:`Pkg.test("PowerModels")` Then, test if calling Python from Julia works as described `here `_. + On MacOS: + + :code:`ENV["PYTHON"]="/Users/%Username/opt/anaconda3/bin/python"` + + +3. Access the package manager by typing :kbd:`]`. Now install the packages: :code:`add Ipopt PowerModels PyCall`. + +4. Inside package manager, test your `PowerModels `_ installation by executing :code:`test PowerModels`. Alternatively, you can call :code:`using Pkg` and then :code:`Pkg.test("PowerModels")` Then, test if calling Python from Julia works as described `here `_. .. note:: If you cannot plot using PyCall and PyPlot in Julia, see the workarounds offered `here `_. 5. To call Julia from Python, install the pyjulia package with :code:`pip install julia`. Afterwards, test if everything works by importing PowerModels from Python with: :code:`from julia.PowerModels import run_ac_opf`. This takes some time, since Python starts a julia instance in the background, but it if the import completes without error everything is configured correctly and you can now use PowerModels to optimize pandapower networks. -6. Additional packages are required to use the pandapower - PowerModels.jl interface with all features like TNEP or OTS. Install the "JSON" and "JuMP" packages with, e.g., :code:`julia -e 'import Pkg; Pkg.add("JSON"); Pkg.add("JuMP");` and maybe also `julia -e 'import Pkg; Pkg.add("Cbc"); Pkg.add("Juniper")'` to get the TNEP and OTS libraries. Alternatively, install these packages by entering :code:`]` inside the julia console and calling :code:`add JSON` :code:`add JuMP` +6. Additional packages are required to use the pandapower - PandaModels.jl interface with all features like TNEP or OTS. Install the "JSON" and "JuMP" packages with, e.g., :code:`julia -e 'import Pkg; Pkg.add("JSON"); Pkg.add("JuMP");` and maybe also `julia -e 'import Pkg; Pkg.add("Cbc"); Pkg.add("Juniper")'` to get the TNEP and OTS libraries. Alternatively, install these packages by entering :code:`]` inside the julia console and calling :code:`add JSON` :code:`add JuMP` + +7. Now install our interface `PandaModels.jl` by type :code:`add PandaModels` inside Julia package manager. + +7. You can then finally test if the PandaModels.jl interface works by navigating to your local pandapower test folder :code:`pandapower/pandapower/test/opf` folder and run :code:`python-jl test_powermodels.py` or :code:`pytest test_powermodels.py` if pytest is intalled. If everything works there should be no error. -7. You can then finally test if the pandapower - PowerModels.jl interface works by navigating to your local pandapower test folder :code:`pandapower/pandapower/test/opf` folder and run :code:`python-jl test_powermodels.py`. If everything works there should be no error. Additional Solvers -------------------- @@ -42,15 +53,37 @@ Optional additional solvers, such as `Gurobi `_ are com :: + # Linux + # gurobi export GUROBI_HOME="/opt/gurobi_VERSION/linux64" export PATH="${PATH}:${GUROBI_HOME}/bin" export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${GUROBI_HOME}/lib" export GRB_LICENSE_FILE="/PATH_TO_YOUR_LICENSE_DIR/gurobi.lic" -5. Install the julia - `Gurobi interface `_ with :code:`julia -e 'import Pkg; Pkg.add("Gurobi");'` -6. Build and test your Gurobi installation by calling :code:`julia` and then :code:`import Pkg; Pkg.build("Gurobi")`. This should compile without an error. +:: + + # MacOS + + # gurobi + export GUROBI_HOME="/Library/gurobiVERSION/mac64" + export PATH="$PATH:$GUROBI_HOME/bin" + export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$GUROBI_HOME/lib" + export GRB_LICENSE_FILE="/PATH_TO_YOUR_LICENSE_DIR/gurobi.lic" + + +5. Install the `julia - Gurobi interface `_ with + + :code:`julia -e 'import Pkg; Pkg.add("Gurobi");'` + + or type + + :code:`add Gurobi` + + inside Julia package mode. + +6. Build and test your Gurobi installation by entering :code:`julia` prompt and then :code:`import Pkg; Pkg.build("Gurobi")`. This should compile without an error. 7. Now, you can use Gurobi to solve your linear problems, e.g., the DC OPF, with :code:`runpm_dc_opf(net, pm_model="DCPPowerModel", pm_solver="gurobi")` From dfc4900021e00f41312e59465802fc51f925b66a Mon Sep 17 00:00:00 2001 From: fmeier Date: Thu, 10 Jun 2021 16:43:29 +0200 Subject: [PATCH 074/422] Fixing bug in get_controller_index: idx.intersection must be assigned to idx --- pandapower/control/util/auxiliary.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandapower/control/util/auxiliary.py b/pandapower/control/util/auxiliary.py index 55fd5873f..79b489802 100644 --- a/pandapower/control/util/auxiliary.py +++ b/pandapower/control/util/auxiliary.py @@ -132,7 +132,7 @@ def get_controller_index(net, ctrl_type=None, parameters=None, idx=[]): # query of parameters in net.controller dataframe idx = Int64Index(idx) for df_key in df_keys: - idx.intersection(net.controller.index[net.controller[df_key] == parameters[df_key]]) + idx = idx.intersection(net.controller.index[net.controller[df_key] == parameters[df_key]]) # query of parameters in controller object attributes idx = [i for i in idx if _controller_attributes_query( net.controller.object.loc[i], attributes_dict)] From 6785015232345e276f1713faabce225c5303f781 Mon Sep 17 00:00:00 2001 From: fmeier Date: Mon, 28 Jun 2021 10:24:35 +0200 Subject: [PATCH 075/422] Adding tolerance to powermodels interface --- pandapower/converter/powermodels/to_pm.py | 807 +++++++++--------- pandapower/opf/pp_2_pm.jl | 37 +- pandapower/opf/run_powermodels.jl | 2 +- pandapower/runpm.py | 8 +- pandapower/test/timeseries/test_timeseries.py | 558 ++++++------ 5 files changed, 710 insertions(+), 702 deletions(-) diff --git a/pandapower/converter/powermodels/to_pm.py b/pandapower/converter/powermodels/to_pm.py index f81aa5ed3..d9dea2205 100644 --- a/pandapower/converter/powermodels/to_pm.py +++ b/pandapower/converter/powermodels/to_pm.py @@ -1,403 +1,404 @@ -import json -import math -import os -import tempfile -from os import remove -from os.path import isfile - -import numpy as np -import pandas as pd - -from pandapower.auxiliary import _add_ppc_options, _add_opf_options, _add_auxiliary_elements -from pandapower.build_branch import _calc_line_parameter -from pandapower.pd2ppc import _pd2ppc -from pandapower.pypower.idx_brch import ANGMIN, ANGMAX, BR_R, BR_X, BR_B, RATE_A, RATE_B, RATE_C, TAP, SHIFT, \ - branch_cols, F_BUS, T_BUS, BR_STATUS -from pandapower.pypower.idx_bus import ZONE, VA, BASE_KV, BS, GS, BUS_I, BUS_TYPE, VMAX, VMIN, VM, PD, QD -from pandapower.pypower.idx_cost import MODEL, NCOST, COST -from pandapower.pypower.idx_gen import PG, QG, GEN_BUS, VG, GEN_STATUS, QMAX, QMIN, PMIN, PMAX -from pandapower.results import init_results - -# const value in branch for tnep -CONSTRUCTION_COST = 23 -try: - import pplog as logging -except ImportError: - import logging - - -def convert_pp_to_pm(net, pm_file_path=None, correct_pm_network_data=True, calculate_voltage_angles=True, ac=True, - trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, - pp_to_pm_callback=None, pm_model="ACPPowerModel", pm_solver="ipopt", - pm_mip_solver="cbc", pm_nl_solver="ipopt", opf_flow_lim = "S"): - """ - Converts a pandapower net to a PowerModels.jl datastructure and saves it to a json file - - INPUT: - - **net** - pandapower net - - OPTIONAL: - **pm_file_path** (str, None) - file path to *.json file to store pm data to - - **correct_pm_network_data** (bool, True) - correct some input data (e.g. angles, p.u. conversion) - - **delta** (float, 1e-8) - (small) offset to set for "hard" OPF limits. - - **pp_to_pm_callback** (function, None) - callback function to add data to the PowerModels data structure - - **pm_model** (str, "ACPPowerModel") - model to use. Default is AC model - - **pm_solver** (str, "ipopt") - default solver to use. - - **pm_nl_solver** (str, "ipopt") - default nonlinear solver to use. - - **pm_mip_solver** (str, "cbc") - default mip solver to use. - - **correct_pm_network_data** (bool, True) - checks if network data is correct. If not tries to correct it - - Returns - ------- - **pm** (json str) - PowerModels.jl data structure - """ - - net._options = {} - - _add_ppc_options(net, calculate_voltage_angles=calculate_voltage_angles, - trafo_model=trafo_model, check_connectivity=check_connectivity, - mode="opf", switch_rx_ratio=2, init_vm_pu="flat", init_va_degree="flat", - enforce_q_lims=True, recycle=dict(_is_elements=False, ppc=False, Ybus=False), - voltage_depend_loads=False, delta=delta, trafo3w_losses=trafo3w_losses) - _add_opf_options(net, trafo_loading='power', ac=ac, init="flat", numba=True, - pp_to_pm_callback=pp_to_pm_callback, pm_solver=pm_solver, pm_model=pm_model, - correct_pm_network_data=correct_pm_network_data, pm_mip_solver=pm_mip_solver, - pm_nl_solver=pm_nl_solver, opf_flow_lim=opf_flow_lim) - - net, pm, ppc, ppci = convert_to_pm_structure(net) - buffer_file = dump_pm_json(pm, pm_file_path) - if pm_file_path is None and isfile(buffer_file): - remove(buffer_file) - return pm - - -logger = logging.getLogger(__name__) - - -def convert_to_pm_structure(net, opf_flow_lim = "S"): - net["OPF_converged"] = False - net["converged"] = False - _add_auxiliary_elements(net) - init_results(net) - ppc, ppci = _pd2ppc(net) - ppci = build_ne_branch(net, ppci) - net["_ppc_opf"] = ppci - pm = ppc_to_pm(net, ppci) - pm = add_pm_options(pm, net) - net._pm = pm - return net, pm, ppc, ppci - - -def dump_pm_json(pm, buffer_file=None): - # dump pm dict to buffer_file (*.json) - if buffer_file is None: - # if no buffer file is provided a random file name is generated - temp_name = next(tempfile._get_candidate_names()) - buffer_file = os.path.join(tempfile.gettempdir(), "pp_to_pm_" + temp_name + ".json") - logger.debug("writing PowerModels data structure to %s" % buffer_file) - - with open(buffer_file, 'w') as outfile: - json.dump(pm, outfile) - return buffer_file - - -def _pp_element_to_pm(net, pm, element, pd_bus, qd_bus, load_idx): - bus_lookup = net._pd2ppc_lookups["bus"] - - pm_lookup = np.ones(max(net[element].index) + 1, dtype=int) * -1 if len(net[element].index) \ - else np.array([], dtype=int) - for idx in net[element].index: - if "controllable" in net[element] and net[element].at[idx, "controllable"]: - continue - - pp_bus = net[element].at[idx, "bus"] - pm_bus = bus_lookup[pp_bus] + 1 - - scaling = net[element].at[idx, "scaling"] - if element == "sgen": - pd = -net[element].at[idx, "p_mw"] * scaling - qd = -net[element].at[idx, "q_mvar"] * scaling - else: - pd = net[element].at[idx, "p_mw"] * scaling - qd = net[element].at[idx, "q_mvar"] * scaling - in_service = net[element].at[idx, "in_service"] - - pm["load"][str(load_idx)] = {"pd": pd.item(), "qd": qd.item(), "load_bus": pm_bus.item(), - "status": int(in_service), "index": load_idx} - if pm_bus not in pd_bus: - pd_bus[pm_bus] = pd - qd_bus[pm_bus] = qd - else: - pd_bus[pm_bus] += pd - qd_bus[pm_bus] += qd - - pm_lookup[idx] = load_idx - load_idx += 1 - return load_idx, pm_lookup - - -def get_branch_angles(row, correct_pm_network_data): - angmin = row[ANGMIN].real - angmax = row[ANGMAX].real - # check if angles are too small for PowerModels OPF (recommendation from Carleton Coffrin himself) - if correct_pm_network_data: - if angmin < -60.: - logger.debug("changed voltage angle minimum of branch {}, " - "to -60 from {} degrees".format(int(row[0].real), angmin)) - angmin = -60. - if angmax > 60.: - logger.debug("changed voltage angle maximum of branch {} to 60. " - "from {} degrees".format(int(row[0].real), angmax)) - angmax = 60. - # convert to rad - angmin = math.radians(angmin) - angmax = math.radians(angmax) - return angmin, angmax - - -def create_pm_lookups(net, pm_lookup): - for key, val in net._pd2ppc_lookups.items(): - if isinstance(val, dict): - # lookup is something like "branch" with dict as val -> iterate over the subdicts - pm_val = dict() - for subkey, subval in val.items(): - pm_val[subkey] = tuple((v + 1 for v in subval)) - elif isinstance(val, int) or isinstance(val, np.ndarray): - # lookup is a numpy array - # julia starts counting at 1 instead of 0 - pm_val = val + 1 - # restore -1 for not existing elements - pm_val[pm_val == 0] = -1 - else: - # val not supported - continue - pm_lookup[key] = pm_val - net._pd2pm_lookups = pm_lookup - return net - - -def ppc_to_pm(net, ppci): - # create power models dict. Similar to matpower case file. ne_branch is for a tnep case - pm = {"gen": dict(), "branch": dict(), "bus": dict(), "dcline": dict(), "load": dict(), "storage": dict(), - "ne_branch": dict(), "switch": dict(), - "baseMVA": ppci["baseMVA"], "source_version": "2.0.0", "shunt": dict(), - "sourcetype": "matpower", "per_unit": True, "name": net.name} - load_idx = 1 - shunt_idx = 1 - # PowerModels has a load model -> add loads and sgens to pm["load"] - - # temp dicts which hold the sum of p, q of loads + sgens - pd_bus = dict() - qd_bus = dict() - load_idx, load_lookup = _pp_element_to_pm(net, pm, "load", pd_bus, qd_bus, load_idx) - load_idx, sgen_lookup = _pp_element_to_pm(net, pm, "sgen", pd_bus, qd_bus, load_idx) - load_idx, storage_lookup = _pp_element_to_pm(net, pm, "storage", pd_bus, qd_bus, load_idx) - pm_lookup = {"load": load_lookup, "sgen": sgen_lookup, "storage": storage_lookup} - net = create_pm_lookups(net, pm_lookup) - - correct_pm_network_data = net._options["correct_pm_network_data"] - - for row in ppci["bus"]: - bus = dict() - idx = int(row[BUS_I]) + 1 - bus["index"] = idx - bus["bus_i"] = idx - bus["zone"] = int(row[ZONE]) - bus["bus_type"] = int(row[BUS_TYPE]) - bus["vmax"] = row[VMAX] - bus["vmin"] = row[VMIN] - bus["va"] = row[VA] - bus["vm"] = row[VM] - bus["base_kv"] = row[BASE_KV] - - pd = row[PD] - qd = row[QD] - - # pd and qd are the PQ values in the ppci, if they are equal to the sum in load data is consistent - if idx in pd_bus: - pd -= pd_bus[idx] - qd -= qd_bus[idx] - # if not we have to add more loads wit the remaining value - pq_mismatch = not np.allclose(pd, 0.) or not np.allclose(qd, 0.) - if pq_mismatch: - # This will be called if ppc PQ != sum at bus. - logger.info("PQ mismatch. Adding another load at idx {}".format(load_idx)) - pm["load"][str(load_idx)] = {"pd": pd, "qd": qd, "load_bus": idx, - "status": True, "index": load_idx} - load_idx += 1 - # if bs or gs != 0. -> shunt element at this bus - bs = row[BS] - gs = row[GS] - if not np.allclose(bs, 0.) or not np.allclose(gs, 0.): - pm["shunt"][str(shunt_idx)] = {"gs": gs, "bs": bs, "shunt_bus": idx, - "status": True, "index": shunt_idx} - shunt_idx += 1 - pm["bus"][str(idx)] = bus - - n_lines = net.line.in_service.sum() - for idx, row in enumerate(ppci["branch"], start=1): - branch = dict() - branch["index"] = idx - branch["transformer"] = bool(idx > n_lines) - branch["br_r"] = row[BR_R].real - branch["br_x"] = row[BR_X].real - branch["g_fr"] = - row[BR_B].imag / 2.0 - branch["g_to"] = - row[BR_B].imag / 2.0 - branch["b_fr"] = row[BR_B].real / 2.0 - branch["b_to"] = row[BR_B].real / 2.0 - - if net._options["opf_flow_lim"] == "S": # or branch["transformer"]: - branch["rate_a"] = row[RATE_A].real if row[RATE_A] > 0 else row[RATE_B].real - branch["rate_b"] = row[RATE_B].real - branch["rate_c"] = row[RATE_C].real - elif net._options["opf_flow_lim"] == "I": - f = net._pd2ppc_lookups["branch"]["line"][0] - f = int(row[F_BUS].real) # from bus of this line - vr = ppci["bus"][f][BASE_KV] - branch["c_rating_a"] = row[RATE_A].real if row[RATE_A] > 0 else row[RATE_B].real - branch["c_rating_b"] = row[RATE_B].real - branch["c_rating_c"] = row[RATE_C].real - else: - logger.error("Branch flow limit %s not understood", net._options["opf_flow_lim"]) - - branch["f_bus"] = int(row[F_BUS].real) + 1 - branch["t_bus"] = int(row[T_BUS].real) + 1 - branch["br_status"] = int(row[BR_STATUS].real) - branch["angmin"], branch["angmax"] = get_branch_angles(row, correct_pm_network_data) - branch["tap"] = row[TAP].real - branch["shift"] = math.radians(row[SHIFT].real) - pm["branch"][str(idx)] = branch - - for idx, row in enumerate(ppci["gen"], start=1): - gen = dict() - gen["pg"] = row[PG] - gen["qg"] = row[QG] - gen["gen_bus"] = int(row[GEN_BUS]) + 1 - gen["vg"] = row[VG] - gen["qmax"] = row[QMAX] - gen["gen_status"] = int(row[GEN_STATUS]) - gen["qmin"] = row[QMIN] - gen["pmin"] = row[PMIN] - gen["pmax"] = row[PMAX] - gen["index"] = idx - pm["gen"][str(idx)] = gen - - if "ne_branch" in ppci: - for idx, row in enumerate(ppci["ne_branch"], start=1): - branch = dict() - branch["index"] = idx - branch["transformer"] = False - branch["br_r"] = row[BR_R].real - branch["br_x"] = row[BR_X].real - branch["g_fr"] = - row[BR_B].imag / 2.0 - branch["g_to"] = - row[BR_B].imag / 2.0 - branch["b_fr"] = row[BR_B].real / 2.0 - branch["b_to"] = row[BR_B].real / 2.0 - - if net._options["opf_flow_lim"] == "S": #--> Rate_a is always needed for the TNEP problem, right? - branch["rate_a"] = row[RATE_A].real if row[RATE_A] > 0 else row[RATE_B].real - branch["rate_b"] = row[RATE_B].real - branch["rate_c"] = row[RATE_C].real - elif net._options["opf_flow_lim"] == "I": - f, t = net._pd2ppc_lookups["branch"]["line"] - f = int(row[F_BUS].real) # from bus of this line - vr = ppci["bus"][f][BASE_KV] - row[RATE_A] = row[RATE_A] / (vr * np.sqrt(3)) - - branch["c_rating_a"] = row[RATE_A].real if row[RATE_A] > 0 else row[RATE_B].real - branch["c_rating_b"] = row[RATE_B].real - branch["c_rating_c"] = row[RATE_C].real - - branch["f_bus"] = int(row[F_BUS].real) + 1 - branch["t_bus"] = int(row[T_BUS].real) + 1 - branch["br_status"] = int(row[BR_STATUS].real) - branch["angmin"], branch["angmax"] = get_branch_angles(row, correct_pm_network_data) - branch["tap"] = row[TAP].real - branch["shift"] = math.radians(row[SHIFT].real) - branch["construction_cost"] = row[CONSTRUCTION_COST].real - pm["ne_branch"][str(idx)] = branch - - if len(ppci["gencost"]) > len(ppci["gen"]): - logger.warning("PowerModels.jl does not consider reactive power cost - costs are ignored") - ppci["gencost"] = ppci["gencost"][:ppci["gen"].shape[0], :] - for idx, row in enumerate(ppci["gencost"], start=1): - gen = pm["gen"][str(idx)] - gen["model"] = int(row[MODEL]) - if gen["model"] == 1: - gen["ncost"] = int(row[NCOST]) - gen["cost"] = row[COST:COST + gen["ncost"] * 2].tolist() - elif gen["model"] == 2: - gen["ncost"] = 3 - gen["cost"] = [0] * 3 - costs = row[COST:] - if len(costs) > 3: - logger.info(costs) - raise ValueError("Maximum quadratic cost function allowed") - gen["cost"][-len(costs):] = costs - return pm - - -def add_pm_options(pm, net): - # read values from net_options if present else use default values - pm["pm_solver"] = net._options["pm_solver"] if "pm_solver" in net._options else "ipopt" - pm["pm_mip_solver"] = net._options["pm_mip_solver"] if "pm_mip_solver" in net._options else "cbc" - pm["pm_nl_solver"] = net._options["pm_nl_solver"] if "pm_nl_solver" in net._options else "ipopt" - pm["pm_model"] = net._options["pm_model"] if "pm_model" in net._options else "DCPPowerModel" - pm["pm_log_level"] = net._options["pm_log_level"] if "pm_log_level" in net._options else 0 - - if "pm_time_limits" in net._options and isinstance(net._options["pm_time_limits"], dict): - # write time limits to power models data structure - for key, val in net._options["pm_time_limits"].items(): - pm[key] = val - else: - pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"] = np.inf, np.inf, np.inf - pm["correct_pm_network_data"] = net._options["correct_pm_network_data"] - return pm - - -def build_ne_branch(net, ppc): - # this is only used by pm tnep - if "ne_line" in net: - length = len(net["ne_line"]) - ppc["ne_branch"] = np.zeros(shape=(length, branch_cols + 1), dtype=np.complex128) - ppc["ne_branch"][:, :13] = np.array([0, 0, 0, 0, 0, 250, 250, 250, 1, 0, 1, -60, 60]) - # create branch array ne_branch like the common branch array in the ppc - net._pd2ppc_lookups["ne_branch"] = dict() - net._pd2ppc_lookups["ne_branch"]["ne_line"] = (0, length) - _calc_line_parameter(net, ppc, "ne_line", "ne_branch") - ppc["ne_branch"][:, CONSTRUCTION_COST] = net["ne_line"].loc[:, "construction_cost"].values - return ppc - - -def init_ne_line(net, new_line_index, construction_costs=None): - """ - init function for new line dataframe, which specifies the possible new lines being built by power models tnep opt - - Parameters - ---------- - net - pp net - new_line_index (list) - indices of new lines. These are copied to the new dataframe net["ne_line"] from net["line"] - construction_costs (list, 0.) - costs of newly constructed lines - - Returns - ------- - - """ - # init dataframe - net["ne_line"] = net["line"].loc[new_line_index, :] - # add costs, if None -> init with zeros - construction_costs = np.zeros(len(new_line_index)) if construction_costs is None else construction_costs - net["ne_line"].loc[new_line_index, "construction_cost"] = construction_costs - # set in service, but only in ne line dataframe - net["ne_line"].loc[new_line_index, "in_service"] = True - # init res_ne_line to save built status afterwards - net["res_ne_line"] = pd.DataFrame(data=0, index=new_line_index, columns=["built"], dtype=int) +import json +import math +import os +import tempfile +from os import remove +from os.path import isfile + +import numpy as np +import pandas as pd + +from pandapower.auxiliary import _add_ppc_options, _add_opf_options, _add_auxiliary_elements +from pandapower.build_branch import _calc_line_parameter +from pandapower.pd2ppc import _pd2ppc +from pandapower.pypower.idx_brch import ANGMIN, ANGMAX, BR_R, BR_X, BR_B, RATE_A, RATE_B, RATE_C, TAP, SHIFT, \ + branch_cols, F_BUS, T_BUS, BR_STATUS +from pandapower.pypower.idx_bus import ZONE, VA, BASE_KV, BS, GS, BUS_I, BUS_TYPE, VMAX, VMIN, VM, PD, QD +from pandapower.pypower.idx_cost import MODEL, NCOST, COST +from pandapower.pypower.idx_gen import PG, QG, GEN_BUS, VG, GEN_STATUS, QMAX, QMIN, PMIN, PMAX +from pandapower.results import init_results + +# const value in branch for tnep +CONSTRUCTION_COST = 23 +try: + import pplog as logging +except ImportError: + import logging + + +def convert_pp_to_pm(net, pm_file_path=None, correct_pm_network_data=True, calculate_voltage_angles=True, ac=True, + trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, + pp_to_pm_callback=None, pm_model="ACPPowerModel", pm_solver="ipopt", + pm_mip_solver="cbc", pm_nl_solver="ipopt", opf_flow_lim = "S", pm_log_level=0, tol=1e-8): + """ + Converts a pandapower net to a PowerModels.jl datastructure and saves it to a json file + + INPUT: + + **net** - pandapower net + + OPTIONAL: + **pm_file_path** (str, None) - file path to *.json file to store pm data to + + **correct_pm_network_data** (bool, True) - correct some input data (e.g. angles, p.u. conversion) + + **delta** (float, 1e-8) - (small) offset to set for "hard" OPF limits. + + **pp_to_pm_callback** (function, None) - callback function to add data to the PowerModels data structure + + **pm_model** (str, "ACPPowerModel") - model to use. Default is AC model + + **pm_solver** (str, "ipopt") - default solver to use. + + **pm_nl_solver** (str, "ipopt") - default nonlinear solver to use. + + **pm_mip_solver** (str, "cbc") - default mip solver to use. + + **correct_pm_network_data** (bool, True) - checks if network data is correct. If not tries to correct it + + Returns + ------- + **pm** (json str) - PowerModels.jl data structure + """ + + net._options = {} + + _add_ppc_options(net, calculate_voltage_angles=calculate_voltage_angles, + trafo_model=trafo_model, check_connectivity=check_connectivity, + mode="opf", switch_rx_ratio=2, init_vm_pu="flat", init_va_degree="flat", + enforce_q_lims=True, recycle=dict(_is_elements=False, ppc=False, Ybus=False), + voltage_depend_loads=False, delta=delta, trafo3w_losses=trafo3w_losses) + _add_opf_options(net, trafo_loading='power', ac=ac, init="flat", numba=True, + pp_to_pm_callback=pp_to_pm_callback, pm_solver=pm_solver, pm_model=pm_model, + correct_pm_network_data=correct_pm_network_data, pm_mip_solver=pm_mip_solver, + pm_nl_solver=pm_nl_solver, opf_flow_lim=opf_flow_lim, pm_log_level=pm_log_level) + + net, pm, ppc, ppci = convert_to_pm_structure(net) + buffer_file = dump_pm_json(pm, pm_file_path) + if pm_file_path is None and isfile(buffer_file): + remove(buffer_file) + return pm + + +logger = logging.getLogger(__name__) + + +def convert_to_pm_structure(net, opf_flow_lim = "S"): + net["OPF_converged"] = False + net["converged"] = False + _add_auxiliary_elements(net) + init_results(net) + ppc, ppci = _pd2ppc(net) + ppci = build_ne_branch(net, ppci) + net["_ppc_opf"] = ppci + pm = ppc_to_pm(net, ppci) + pm = add_pm_options(pm, net) + net._pm = pm + return net, pm, ppc, ppci + + +def dump_pm_json(pm, buffer_file=None): + # dump pm dict to buffer_file (*.json) + if buffer_file is None: + # if no buffer file is provided a random file name is generated + temp_name = next(tempfile._get_candidate_names()) + buffer_file = os.path.join(tempfile.gettempdir(), "pp_to_pm_" + temp_name + ".json") + logger.debug("writing PowerModels data structure to %s" % buffer_file) + + with open(buffer_file, 'w') as outfile: + json.dump(pm, outfile) + return buffer_file + + +def _pp_element_to_pm(net, pm, element, pd_bus, qd_bus, load_idx): + bus_lookup = net._pd2ppc_lookups["bus"] + + pm_lookup = np.ones(max(net[element].index) + 1, dtype=int) * -1 if len(net[element].index) \ + else np.array([], dtype=int) + for idx in net[element].index: + if "controllable" in net[element] and net[element].at[idx, "controllable"]: + continue + + pp_bus = net[element].at[idx, "bus"] + pm_bus = bus_lookup[pp_bus] + 1 + + scaling = net[element].at[idx, "scaling"] + if element == "sgen": + pd = -net[element].at[idx, "p_mw"] * scaling + qd = -net[element].at[idx, "q_mvar"] * scaling + else: + pd = net[element].at[idx, "p_mw"] * scaling + qd = net[element].at[idx, "q_mvar"] * scaling + in_service = net[element].at[idx, "in_service"] + + pm["load"][str(load_idx)] = {"pd": pd.item(), "qd": qd.item(), "load_bus": pm_bus.item(), + "status": int(in_service), "index": load_idx} + if pm_bus not in pd_bus: + pd_bus[pm_bus] = pd + qd_bus[pm_bus] = qd + else: + pd_bus[pm_bus] += pd + qd_bus[pm_bus] += qd + + pm_lookup[idx] = load_idx + load_idx += 1 + return load_idx, pm_lookup + + +def get_branch_angles(row, correct_pm_network_data): + angmin = row[ANGMIN].real + angmax = row[ANGMAX].real + # check if angles are too small for PowerModels OPF (recommendation from Carleton Coffrin himself) + if correct_pm_network_data: + if angmin < -60.: + logger.debug("changed voltage angle minimum of branch {}, " + "to -60 from {} degrees".format(int(row[0].real), angmin)) + angmin = -60. + if angmax > 60.: + logger.debug("changed voltage angle maximum of branch {} to 60. " + "from {} degrees".format(int(row[0].real), angmax)) + angmax = 60. + # convert to rad + angmin = math.radians(angmin) + angmax = math.radians(angmax) + return angmin, angmax + + +def create_pm_lookups(net, pm_lookup): + for key, val in net._pd2ppc_lookups.items(): + if isinstance(val, dict): + # lookup is something like "branch" with dict as val -> iterate over the subdicts + pm_val = dict() + for subkey, subval in val.items(): + pm_val[subkey] = tuple((v + 1 for v in subval)) + elif isinstance(val, int) or isinstance(val, np.ndarray): + # lookup is a numpy array + # julia starts counting at 1 instead of 0 + pm_val = val + 1 + # restore -1 for not existing elements + pm_val[pm_val == 0] = -1 + else: + # val not supported + continue + pm_lookup[key] = pm_val + net._pd2pm_lookups = pm_lookup + return net + + +def ppc_to_pm(net, ppci): + # create power models dict. Similar to matpower case file. ne_branch is for a tnep case + pm = {"gen": dict(), "branch": dict(), "bus": dict(), "dcline": dict(), "load": dict(), "storage": dict(), + "ne_branch": dict(), "switch": dict(), + "baseMVA": ppci["baseMVA"], "source_version": "2.0.0", "shunt": dict(), + "sourcetype": "matpower", "per_unit": True, "name": net.name} + load_idx = 1 + shunt_idx = 1 + # PowerModels has a load model -> add loads and sgens to pm["load"] + + # temp dicts which hold the sum of p, q of loads + sgens + pd_bus = dict() + qd_bus = dict() + load_idx, load_lookup = _pp_element_to_pm(net, pm, "load", pd_bus, qd_bus, load_idx) + load_idx, sgen_lookup = _pp_element_to_pm(net, pm, "sgen", pd_bus, qd_bus, load_idx) + load_idx, storage_lookup = _pp_element_to_pm(net, pm, "storage", pd_bus, qd_bus, load_idx) + pm_lookup = {"load": load_lookup, "sgen": sgen_lookup, "storage": storage_lookup} + net = create_pm_lookups(net, pm_lookup) + + correct_pm_network_data = net._options["correct_pm_network_data"] + + for row in ppci["bus"]: + bus = dict() + idx = int(row[BUS_I]) + 1 + bus["index"] = idx + bus["bus_i"] = idx + bus["zone"] = int(row[ZONE]) + bus["bus_type"] = int(row[BUS_TYPE]) + bus["vmax"] = row[VMAX] + bus["vmin"] = row[VMIN] + bus["va"] = row[VA] + bus["vm"] = row[VM] + bus["base_kv"] = row[BASE_KV] + + pd = row[PD] + qd = row[QD] + + # pd and qd are the PQ values in the ppci, if they are equal to the sum in load data is consistent + if idx in pd_bus: + pd -= pd_bus[idx] + qd -= qd_bus[idx] + # if not we have to add more loads wit the remaining value + pq_mismatch = not np.allclose(pd, 0.) or not np.allclose(qd, 0.) + if pq_mismatch: + # This will be called if ppc PQ != sum at bus. + logger.info("PQ mismatch. Adding another load at idx {}".format(load_idx)) + pm["load"][str(load_idx)] = {"pd": pd, "qd": qd, "load_bus": idx, + "status": True, "index": load_idx} + load_idx += 1 + # if bs or gs != 0. -> shunt element at this bus + bs = row[BS] + gs = row[GS] + if not np.allclose(bs, 0.) or not np.allclose(gs, 0.): + pm["shunt"][str(shunt_idx)] = {"gs": gs, "bs": bs, "shunt_bus": idx, + "status": True, "index": shunt_idx} + shunt_idx += 1 + pm["bus"][str(idx)] = bus + + n_lines = net.line.in_service.sum() + for idx, row in enumerate(ppci["branch"], start=1): + branch = dict() + branch["index"] = idx + branch["transformer"] = bool(idx > n_lines) + branch["br_r"] = row[BR_R].real + branch["br_x"] = row[BR_X].real + branch["g_fr"] = - row[BR_B].imag / 2.0 + branch["g_to"] = - row[BR_B].imag / 2.0 + branch["b_fr"] = row[BR_B].real / 2.0 + branch["b_to"] = row[BR_B].real / 2.0 + + if net._options["opf_flow_lim"] == "S": # or branch["transformer"]: + branch["rate_a"] = row[RATE_A].real if row[RATE_A] > 0 else row[RATE_B].real + branch["rate_b"] = row[RATE_B].real + branch["rate_c"] = row[RATE_C].real + elif net._options["opf_flow_lim"] == "I": + f = net._pd2ppc_lookups["branch"]["line"][0] + f = int(row[F_BUS].real) # from bus of this line + vr = ppci["bus"][f][BASE_KV] + branch["c_rating_a"] = row[RATE_A].real if row[RATE_A] > 0 else row[RATE_B].real + branch["c_rating_b"] = row[RATE_B].real + branch["c_rating_c"] = row[RATE_C].real + else: + logger.error("Branch flow limit %s not understood", net._options["opf_flow_lim"]) + + branch["f_bus"] = int(row[F_BUS].real) + 1 + branch["t_bus"] = int(row[T_BUS].real) + 1 + branch["br_status"] = int(row[BR_STATUS].real) + branch["angmin"], branch["angmax"] = get_branch_angles(row, correct_pm_network_data) + branch["tap"] = row[TAP].real + branch["shift"] = math.radians(row[SHIFT].real) + pm["branch"][str(idx)] = branch + + for idx, row in enumerate(ppci["gen"], start=1): + gen = dict() + gen["pg"] = row[PG] + gen["qg"] = row[QG] + gen["gen_bus"] = int(row[GEN_BUS]) + 1 + gen["vg"] = row[VG] + gen["qmax"] = row[QMAX] + gen["gen_status"] = int(row[GEN_STATUS]) + gen["qmin"] = row[QMIN] + gen["pmin"] = row[PMIN] + gen["pmax"] = row[PMAX] + gen["index"] = idx + pm["gen"][str(idx)] = gen + + if "ne_branch" in ppci: + for idx, row in enumerate(ppci["ne_branch"], start=1): + branch = dict() + branch["index"] = idx + branch["transformer"] = False + branch["br_r"] = row[BR_R].real + branch["br_x"] = row[BR_X].real + branch["g_fr"] = - row[BR_B].imag / 2.0 + branch["g_to"] = - row[BR_B].imag / 2.0 + branch["b_fr"] = row[BR_B].real / 2.0 + branch["b_to"] = row[BR_B].real / 2.0 + + if net._options["opf_flow_lim"] == "S": #--> Rate_a is always needed for the TNEP problem, right? + branch["rate_a"] = row[RATE_A].real if row[RATE_A] > 0 else row[RATE_B].real + branch["rate_b"] = row[RATE_B].real + branch["rate_c"] = row[RATE_C].real + elif net._options["opf_flow_lim"] == "I": + f, t = net._pd2ppc_lookups["branch"]["line"] + f = int(row[F_BUS].real) # from bus of this line + vr = ppci["bus"][f][BASE_KV] + row[RATE_A] = row[RATE_A] / (vr * np.sqrt(3)) + + branch["c_rating_a"] = row[RATE_A].real if row[RATE_A] > 0 else row[RATE_B].real + branch["c_rating_b"] = row[RATE_B].real + branch["c_rating_c"] = row[RATE_C].real + + branch["f_bus"] = int(row[F_BUS].real) + 1 + branch["t_bus"] = int(row[T_BUS].real) + 1 + branch["br_status"] = int(row[BR_STATUS].real) + branch["angmin"], branch["angmax"] = get_branch_angles(row, correct_pm_network_data) + branch["tap"] = row[TAP].real + branch["shift"] = math.radians(row[SHIFT].real) + branch["construction_cost"] = row[CONSTRUCTION_COST].real + pm["ne_branch"][str(idx)] = branch + + if len(ppci["gencost"]) > len(ppci["gen"]): + logger.warning("PowerModels.jl does not consider reactive power cost - costs are ignored") + ppci["gencost"] = ppci["gencost"][:ppci["gen"].shape[0], :] + for idx, row in enumerate(ppci["gencost"], start=1): + gen = pm["gen"][str(idx)] + gen["model"] = int(row[MODEL]) + if gen["model"] == 1: + gen["ncost"] = int(row[NCOST]) + gen["cost"] = row[COST:COST + gen["ncost"] * 2].tolist() + elif gen["model"] == 2: + gen["ncost"] = 3 + gen["cost"] = [0] * 3 + costs = row[COST:] + if len(costs) > 3: + logger.info(costs) + raise ValueError("Maximum quadratic cost function allowed") + gen["cost"][-len(costs):] = costs + return pm + + +def add_pm_options(pm, net): + # read values from net_options if present else use default values + pm["pm_solver"] = net._options["pm_solver"] if "pm_solver" in net._options else "ipopt" + pm["pm_mip_solver"] = net._options["pm_mip_solver"] if "pm_mip_solver" in net._options else "cbc" + pm["pm_nl_solver"] = net._options["pm_nl_solver"] if "pm_nl_solver" in net._options else "ipopt" + pm["pm_model"] = net._options["pm_model"] if "pm_model" in net._options else "DCPPowerModel" + pm["pm_log_level"] = net._options["pm_log_level"] if "pm_log_level" in net._options else 0 + pm["tol"] = net._options["tol"] if "tol" in net._options else 1e-8 + + if "pm_time_limits" in net._options and isinstance(net._options["pm_time_limits"], dict): + # write time limits to power models data structure + for key, val in net._options["pm_time_limits"].items(): + pm[key] = val + else: + pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"] = np.inf, np.inf, np.inf + pm["correct_pm_network_data"] = net._options["correct_pm_network_data"] + return pm + + +def build_ne_branch(net, ppc): + # this is only used by pm tnep + if "ne_line" in net: + length = len(net["ne_line"]) + ppc["ne_branch"] = np.zeros(shape=(length, branch_cols + 1), dtype=np.complex128) + ppc["ne_branch"][:, :13] = np.array([0, 0, 0, 0, 0, 250, 250, 250, 1, 0, 1, -60, 60]) + # create branch array ne_branch like the common branch array in the ppc + net._pd2ppc_lookups["ne_branch"] = dict() + net._pd2ppc_lookups["ne_branch"]["ne_line"] = (0, length) + _calc_line_parameter(net, ppc, "ne_line", "ne_branch") + ppc["ne_branch"][:, CONSTRUCTION_COST] = net["ne_line"].loc[:, "construction_cost"].values + return ppc + + +def init_ne_line(net, new_line_index, construction_costs=None): + """ + init function for new line dataframe, which specifies the possible new lines being built by power models tnep opt + + Parameters + ---------- + net - pp net + new_line_index (list) - indices of new lines. These are copied to the new dataframe net["ne_line"] from net["line"] + construction_costs (list, 0.) - costs of newly constructed lines + + Returns + ------- + + """ + # init dataframe + net["ne_line"] = net["line"].loc[new_line_index, :] + # add costs, if None -> init with zeros + construction_costs = np.zeros(len(new_line_index)) if construction_costs is None else construction_costs + net["ne_line"].loc[new_line_index, "construction_cost"] = construction_costs + # set in service, but only in ne line dataframe + net["ne_line"].loc[new_line_index, "in_service"] = True + # init res_ne_line to save built status afterwards + net["res_ne_line"] = pd.DataFrame(data=0, index=new_line_index, columns=["built"], dtype=int) diff --git a/pandapower/opf/pp_2_pm.jl b/pandapower/opf/pp_2_pm.jl index bf7b4dfb6..a5930adbb 100644 --- a/pandapower/opf/pp_2_pm.jl +++ b/pandapower/opf/pp_2_pm.jl @@ -19,6 +19,7 @@ catch e end end + try import KNITRO catch e @@ -48,57 +49,63 @@ end function get_solver(optimizer::String, nl::String="ipopt", mip::String="cbc", log_level::Int=0, time_limit::Float64=Inf, nl_time_limit::Float64=Inf, - mip_time_limit::Float64=Inf, ipopt_tol::Float64=1e-8) + mip_time_limit::Float64=Inf, tol::Float64=1e-8) if optimizer == "gurobi" - solver = JuMP.optimizer_with_attributes(Gurobi.Optimizer, "TimeLimit" => time_limit, "OutputFlag" => log_level) + solver = JuMP.optimizer_with_attributes(Gurobi.Optimizer, "TimeLimit" => time_limit, + "OutputFlag" => log_level, "FeasibilityTol" => tol, "OptimalityTol" => tol) end if optimizer == "ipopt" solver = JuMP.optimizer_with_attributes(Ipopt.Optimizer, "print_level" => log_level, "max_cpu_time" => time_limit, - "tol" => ipopt_tol) + "tol" => tol) end if optimizer == "juniper" && nl == "ipopt" && mip == "cbc" - mip_solver = JuMP.optimizer_with_attributes(Cbc.Optimizer, "logLevel" => log_level, "seconds" => mip_time_limit) - nl_solver = JuMP.optimizer_with_attributes(Ipopt.Optimizer, "print_level" => log_level, "max_cpu_time" => nl_time_limit) + mip_solver = JuMP.optimizer_with_attributes(Cbc.Optimizer, "logLevel" => log_level, "seconds" => mip_time_limit, + "tol" => tol) + nl_solver = JuMP.optimizer_with_attributes(Ipopt.Optimizer, "print_level" => log_level, + "max_cpu_time" => nl_time_limit, "tol" => tol) solver = JuMP.optimizer_with_attributes(Juniper.Optimizer, "nl_solver" => nl_solver, "mip_solver" => mip_solver, "log_levels" => [], - "time_limit" => time_limit) + "time_limit" => time_limit, + "atol" => tol) end if optimizer == "juniper" && nl == "gurobi" && mip == "cbc" - mip_solver = JuMP.optimizer_with_attributes(Cbc.Optimizer, "logLevel" => log_level, "seconds" => mip_time_limit) - nl_solver = JuMP.optimizer_with_attributes(Gurobi.Optimizer, "TimeLimit" => nl_time_limit) + mip_solver = JuMP.optimizer_with_attributes(Cbc.Optimizer, "logLevel" => log_level, "seconds" => mip_time_limit, "tol" => tol) + nl_solver = JuMP.optimizer_with_attributes(Gurobi.Optimizer, "TimeLimit" => nl_time_limit, "FeasibilityTol" => tol, "OptimalityTol" => tol) solver = JuMP.optimizer_with_attributes(Juniper.Optimizer, "nl_solver" => nl_solver, "mip_solver" => mip_solver, "log_levels" => [], - "time_limit" => time_limit) + "time_limit" => time_limit, + "atol" => tol) end if optimizer == "juniper" && nl == "gurobi" && mip == "gurobi" - mip_solver = JuMP.optimizer_with_attributes(Gurobi.Optimizer, "TimeLimit" => mip_time_limit) - nl_solver = JuMP.optimizer_with_attributes(Gurobi.Optimizer, "TimeLimit" => nl_time_limit) + mip_solver = JuMP.optimizer_with_attributes(Gurobi.Optimizer, "TimeLimit" => mip_time_limit, "FeasibilityTol" => tol, "OptimalityTol" => tol) + nl_solver = JuMP.optimizer_with_attributes(Gurobi.Optimizer, "TimeLimit" => nl_time_limit, "FeasibilityTol" => tol, "OptimalityTol" => tol) solver = JuMP.optimizer_with_attributes(Juniper.Optimizer, "nl_solver" => nl_solver, "mip_solver" => mip_solver, "log_levels" => [], - "time_limit" => time_limit) + "time_limit" => time_limit, + "atol" => tol) end if optimizer == "knitro" - solver = JuMP.optimizer_with_attributes(KNITRO.Optimizer) + solver = JuMP.optimizer_with_attributes(KNITRO.Optimizer, "tol" => tol) end if optimizer == "cbc" - solver = JuMP.optimizer_with_attributes(Cbc.Optimizer, "seconds" => time_limit) + solver = JuMP.optimizer_with_attributes(Cbc.Optimizer, "seconds" => time_limit, "tol" => tol) end if optimizer == "scip" - solver = JuMP.optimizer_with_attributes(SCIP.Optimizer) + solver = JuMP.optimizer_with_attributes(SCIP.Optimizer, "tol" => tol) end return solver diff --git a/pandapower/opf/run_powermodels.jl b/pandapower/opf/run_powermodels.jl index 2bb810a0c..9301cdca5 100644 --- a/pandapower/opf/run_powermodels.jl +++ b/pandapower/opf/run_powermodels.jl @@ -8,7 +8,7 @@ function run_powermodels(json_path) model = PP2PM.get_model(pm["pm_model"]) # solver = PP2PM.get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], - pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) + pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"], pm["tol"]) if haskey(pm["branch"]["1"],"c_rating_a") for (key, value) in pm["gen"] diff --git a/pandapower/runpm.py b/pandapower/runpm.py index df479b9ca..d1b76b6d6 100644 --- a/pandapower/runpm.py +++ b/pandapower/runpm.py @@ -104,7 +104,7 @@ def runpm(net, julia_file=None, pp_to_pm_callback=None, calculate_voltage_angles def runpm_dc_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, correct_pm_network_data=True, pm_model="DCPPowerModel", pm_solver="ipopt", - pm_time_limits=None, pm_log_level=0, **kwargs): # pragma: no cover + pm_time_limits=None, pm_log_level=0, delete_buffer_file=True, pm_file_path = None, **kwargs): # pragma: no cover """ Runs a linearized power system optimization using PowerModels.jl. @@ -166,14 +166,14 @@ def runpm_dc_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, pp_to_pm_callback=pp_to_pm_callback, julia_file=julia_file, correct_pm_network_data=correct_pm_network_data, pm_model=pm_model, pm_solver=pm_solver, pm_time_limits=pm_time_limits, pm_log_level=pm_log_level, opf_flow_lim="S") - _runpm(net) + _runpm(net, delete_buffer_file, pm_file_path) def runpm_ac_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, pm_model="ACPPowerModel", pm_solver="ipopt", correct_pm_network_data=True, pm_time_limits=None, pm_log_level=0, pm_file_path = None, delete_buffer_file=True, - opf_flow_lim="S", **kwargs): # pragma: no cover + opf_flow_lim="S", tol=1e-8, **kwargs): # pragma: no cover """ Runs a non-linear power system optimization using PowerModels.jl. @@ -247,7 +247,7 @@ def runpm_ac_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, _add_opf_options(net, trafo_loading='power', ac=ac, init="flat", numba=True, pp_to_pm_callback=pp_to_pm_callback, julia_file=julia_file, pm_model=pm_model, pm_solver=pm_solver, correct_pm_network_data=correct_pm_network_data, pm_time_limits=pm_time_limits, - pm_log_level=pm_log_level, opf_flow_lim=opf_flow_lim) + pm_log_level=pm_log_level, opf_flow_lim=opf_flow_lim, tol=tol) _runpm(net, pm_file_path=pm_file_path, delete_buffer_file=delete_buffer_file) diff --git a/pandapower/test/timeseries/test_timeseries.py b/pandapower/test/timeseries/test_timeseries.py index 63f6976f0..b08e6f9b3 100644 --- a/pandapower/test/timeseries/test_timeseries.py +++ b/pandapower/test/timeseries/test_timeseries.py @@ -1,280 +1,280 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - -import tempfile - -import numpy as np -import pandas as pd -import pytest - -import pandapower.control.util.diagnostic -import pandapower as pp -import logging -from pandapower.control import ContinuousTapControl, ConstControl - -from pandapower.timeseries import DFData -from pandapower.timeseries import OutputWriter -from pandapower.timeseries.run_time_series import run_timeseries, control_diagnostic - -logger = logging.getLogger(__name__) - -@pytest.fixture -def simple_test_net(): - net = pp.create_empty_network() - pp.set_user_pf_options(net, init='dc', calculate_voltage_angles=True) - b0 = pp.create_bus(net, 110) - b1 = pp.create_bus(net, 110) - b2 = pp.create_bus(net, 20) - b3 = pp.create_bus(net, 20) - b4 = pp.create_bus(net, 6) - - pp.create_ext_grid(net, b0) - pp.create_line(net, b0, b1, 10, "149-AL1/24-ST1A 110.0") - - pp.create_transformer(net, b1, b2, "25 MVA 110/20 kV", name='tr1') - - pp.create_transformer3w_from_parameters(net, b1, b3, b4, 110, 20, 6, 1e2, 1e2, 1e1, 3, 2, 2, 1, - 1, 1, 100, 1, 60, 30, 'hv', tap_step_percent=1.5, - tap_step_degree=0, tap_pos=0, tap_neutral=0, tap_max=10, - tap_min=-10, name='tr2') - - pp.create_load(net, b2, 1.5e1, 1, name='trafo1') - pp.create_load(net, b3, 3e1, 1.5, name='trafo2_mv') - pp.create_load(net, b4, 2, -0.15, name='trafo2_lv') - - return net - - -def create_rand_data_source(net, n_timesteps=10): - profiles = dict() - elements = ["load", "sgen"] - for el in elements: - element = net[el] - profiles[el] = pd.DataFrame() - for idx in element.index: - p_mw = element.loc[idx, "p_mw"] - profiles[el][el + str(idx)] = np.random.random(n_timesteps) * p_mw - - el = "trafo3w" - element = net[el] - profiles[el] = pd.DataFrame() - for idx in element.index: - profiles[el][el + str(idx)] = np.random.randint(-3, 3, n_timesteps) - - return profiles - - -def create_data_source(n_timesteps=10): - profiles = pd.DataFrame() - profiles['load1'] = np.random.random(n_timesteps) * 2e1 - profiles['load2_mv_p'] = np.random.random(n_timesteps) * 4e1 - profiles['load2_mv_q'] = np.random.random(n_timesteps) * 1e1 - - profiles['load3_hv_p'] = profiles.load2_mv_p + abs(np.random.random()) - profiles['load3_hv_q'] = profiles.load2_mv_q + abs(np.random.random()) - - profiles['slack_v'] = np.clip(np.random.random(n_timesteps) + 0.5, 0.8, 1.2) - profiles['trafo_v'] = np.clip(np.random.random(n_timesteps) + 0.5, 0.9, 1.1) - - profiles["trafo_tap"] = np.random.randint(-3, 3, n_timesteps) - - ds = DFData(profiles) - - return profiles, ds - - -def setup_output_writer(net, time_steps): - ow = OutputWriter(net, time_steps, output_path=tempfile.gettempdir()) - ow.log_variable('load', 'p_mw') - ow.log_variable('res_bus', 'vm_pu') - ow.log_variable('res_trafo3w', 'p_hv_mw') - ow.log_variable('res_trafo3w', 'q_hv_mvar') - return ow - - -def test_const_control(simple_test_net): - net = simple_test_net - profiles, ds = create_data_source() - time_steps = range(0, 10) - ow = setup_output_writer(net, time_steps) - - ConstControl(net, 'load', 'p_mw', element_index=0, data_source=ds, profile_name='load1', - scale_factor=0.85) - - ConstControl(net, 'ext_grid', 'vm_pu', element_index=0, data_source=ds, profile_name='slack_v') - - run_timeseries(net, time_steps, output_writer=ow, verbose=False) - - assert np.alltrue(profiles['load1'].values * 0.85 == ow.output['load.p_mw'][0].values) - assert np.alltrue(profiles['slack_v'].values == ow.output['res_bus.vm_pu'][0].values) - - -def test_const_control_write_to_object_attribute(simple_test_net): - net = simple_test_net - profiles, ds = create_data_source() - time_steps = range(0, 10) - ow = setup_output_writer(net, time_steps) - - ContinuousTapControl(net, 0, 1., level=1, check_tap_bounds=False) - - ConstControl(net, 'load', 'p_mw', element_index=0, data_source=ds, profile_name='load1', - scale_factor=0.85) - - ConstControl(net, 'ext_grid', 'vm_pu', element_index=0, data_source=ds, profile_name='slack_v') - - ConstControl(net, 'controller', 'object.vm_set_pu', element_index=0, data_source=ds, profile_name='trafo_v') - - run_timeseries(net, time_steps, output_writer=ow, verbose=False) - - assert np.alltrue(profiles['load1'].values * 0.85 == ow.output['load.p_mw'][0].values) - assert np.alltrue(profiles['slack_v'].values == ow.output['res_bus.vm_pu'][0].values) - assert np.allclose(profiles['trafo_v'].values, ow.output['res_bus.vm_pu'][net.trafo.at[0, 'lv_bus']].values, atol=1e-3, rtol=0) - - -def test_false_alarm_trafos(simple_test_net): - net = simple_test_net - - import io - s = io.StringIO() - h = logging.StreamHandler(stream=s) - pandapower.control.util.diagnostic.logger.addHandler(h) - - ContinuousTapControl(net, 0, 1) - ContinuousTapControl(net, 0, 1, trafotype='3W') - - if 'convergence problems' in s.getvalue(): - raise UserWarning('Control diagnostic raises false alarm! Controllers are fine, ' - 'but warning is raised: %s' % s.getvalue()) - - control_diagnostic(net) - if 'convergence problems' in s.getvalue(): - raise UserWarning('Control diagnostic raises false alarm! Controllers are fine, ' - 'but warning is raised: %s' % s.getvalue()) - - pandapower.control.util.diagnostic.logger.removeHandler(h) - del h - del s - - -def test_timeseries_results(simple_test_net): - # This test compares output writer results with input - # test net - net = simple_test_net - net.user_pf_options = dict() - - n_timesteps = 5 - profiles, ds = create_data_source(n_timesteps) - - # 1load - ConstControl(net, element='load', variable='p_mw', element_index=[0, 1, 2], - data_source=ds, profile_name=["load1", "load2_mv_p", "load3_hv_p"], - scale_factor=0.5) - - time_steps = range(0, n_timesteps) - ow = OutputWriter(net, time_steps, output_path=tempfile.gettempdir(), output_file_type=".json") - ow.log_variable('res_load', 'p_mw') - ow.log_variable('res_bus', 'vm_pu') - - ow.log_variable('res_line', 'loading_percent') - ow.log_variable('res_line', 'i_ka') - run_timeseries(net, time_steps, output_writer=ow, verbose=False) - assert np.allclose(ow.output['res_load.p_mw'].sum().values * 2, - profiles[["load1", "load2_mv_p", "load3_hv_p"]].sum().values) - - # 3load - @Rieke What is this test for compared to the first one? - # @Flo in / out of service testen ... - ow.log_variable('res_load', 'p_mw') - net.controller.in_service = False # set the first controller out of service - ConstControl(net, 'load', 'p_mw', element_index=0, data_source=ds, profile_name='load1') - - run_timeseries(net, time_steps, output_writer=ow, verbose=False) - assert np.allclose(ow.output['res_load.p_mw'][0].sum(), profiles["load1"].sum()) - - -def test_timeseries_var_func(simple_test_net): - # This test checks if the output writer works with a user defined function - - # test net - net = simple_test_net - - n_timesteps = 5 - profiles, ds = create_data_source(n_timesteps) - - # 1load - ConstControl(net, element='load', variable='p_mw', element_index=[0, 1, 2], - data_source=ds, profile_name=["load1", "load2_mv_p", "load3_hv_p"], - scale_factor=0.5) - - time_steps = range(0, n_timesteps) - ow = OutputWriter(net, time_steps, output_path=tempfile.gettempdir(), output_file_type=".json") - ow.log_variable('res_load', 'p_mw', eval_function=np.max) - ow.log_variable('res_bus', 'vm_pu', eval_function=np.min) - ow.log_variable('res_bus', 'q_mvar', eval_function=np.sum) - - run_timeseries(net, time_steps, output_writer=ow, verbose=False) - # asserts if last value of output_writers output is the minimum value - assert net["res_load"]["p_mw"].max() == ow.output["res_load.p_mw"].iloc[-1].values - assert net["res_bus"]["vm_pu"].min() == ow.output["res_bus.vm_pu"].iloc[-1, -1] - assert net["res_bus"]["q_mvar"].sum() == ow.output["res_bus.q_mvar"].iloc[-1].values - - # get minimum voltage of all hv busses - mask = (net.bus.vn_kv > 70.0) & (net.bus.vn_kv < 380.0) - hv_busses_index = net.bus.loc[mask].index - mask = (net.bus.vn_kv > 1.0) & (net.bus.vn_kv < 70.0) - mv_busses_index = net.bus.loc[mask].index - ow.log_variable('res_bus', 'vm_pu', index=hv_busses_index, eval_function=np.min, - eval_name="hv_bus_min") - ow.log_variable('res_bus', 'vm_pu', index=mv_busses_index, eval_function=np.min, - eval_name="mv_bus_min") - run_timeseries(net, time_steps, output_writer=ow, verbose=False) - assert net["res_bus"].loc[hv_busses_index, "vm_pu"].min() == ow.output["res_bus.vm_pu"].loc[ - time_steps[-1], "hv_bus_min"] - assert net["res_bus"].loc[mv_busses_index, "vm_pu"].min() == ow.output["res_bus.vm_pu"].loc[ - time_steps[-1], "mv_bus_min"] - - -def test_time_steps(simple_test_net): - net = simple_test_net - n_timesteps = 11 - profiles, ds = create_data_source(n_timesteps) - # 1load - ConstControl(net, element='load', variable='p_mw', element_index=[0, 1, 2], - data_source=ds, profile_name=["load1", "load2_mv_p", "load3_hv_p"]) - - # correct - run_timeseries(net, time_steps=range(0, n_timesteps), verbose=False) - # also correct - run_timeseries(net, time_steps=[0, 2, 4, 8, 9], verbose=False) - # ok. missing time_step list -> should check the datasource - run_timeseries(net, verbose=False) - # depricated - run_timeseries(net, time_steps=(0, 10), verbose=False) - - -def test_output_dump_after_time(simple_test_net): - net = simple_test_net - - n_timesteps = 100 - profiles, ds = create_data_source(n_timesteps) - - # 1load - ConstControl(net, element='load', variable='p_mw', element_index=[0, 1, 2], - data_source=ds, profile_name=["load1", "load2_mv_p", "load3_hv_p"]) - - time_steps = range(0, n_timesteps) - # write output after 0.1 minutes to disk - ow = OutputWriter(net, time_steps, output_path=tempfile.gettempdir(), output_file_type=".json", - write_time=0.05) - ow.log_variable('res_load', 'p_mw') - ow.log_variable('res_bus', 'vm_pu') - - ow.log_variable('res_line', 'loading_percent') - ow.log_variable('res_line', 'i_ka') - run_timeseries(net, time_steps, output_writer=ow, verbose=False) - # ToDo: read partially dumped results and compare with all stored results - - -if __name__ == '__main__': +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + +import tempfile + +import numpy as np +import pandas as pd +import pytest + +import pandapower.control.util.diagnostic +import pandapower as pp +import logging +from pandapower.control import ContinuousTapControl, ConstControl + +from pandapower.timeseries import DFData +from pandapower.timeseries import OutputWriter +from pandapower.timeseries.run_time_series import run_timeseries, control_diagnostic + +logger = logging.getLogger(__name__) + +@pytest.fixture +def simple_test_net(): + net = pp.create_empty_network() + pp.set_user_pf_options(net, init='dc', calculate_voltage_angles=True) + b0 = pp.create_bus(net, 110) + b1 = pp.create_bus(net, 110) + b2 = pp.create_bus(net, 20) + b3 = pp.create_bus(net, 20) + b4 = pp.create_bus(net, 6) + + pp.create_ext_grid(net, b0) + pp.create_line(net, b0, b1, 10, "149-AL1/24-ST1A 110.0") + + pp.create_transformer(net, b1, b2, "25 MVA 110/20 kV", name='tr1') + + pp.create_transformer3w_from_parameters(net, b1, b3, b4, 110, 20, 6, 1e2, 1e2, 1e1, 3, 2, 2, 1, + 1, 1, 100, 1, 60, 30, 'hv', tap_step_percent=1.5, + tap_step_degree=0, tap_pos=0, tap_neutral=0, tap_max=10, + tap_min=-10, name='tr2') + + pp.create_load(net, b2, 1.5e1, 1, name='trafo1') + pp.create_load(net, b3, 3e1, 1.5, name='trafo2_mv') + pp.create_load(net, b4, 2, -0.15, name='trafo2_lv') + + return net + + +def create_rand_data_source(net, n_timesteps=10): + profiles = dict() + elements = ["load", "sgen"] + for el in elements: + element = net[el] + profiles[el] = pd.DataFrame() + for idx in element.index: + p_mw = element.loc[idx, "p_mw"] + profiles[el][el + str(idx)] = np.random.random(n_timesteps) * p_mw + + el = "trafo3w" + element = net[el] + profiles[el] = pd.DataFrame() + for idx in element.index: + profiles[el][el + str(idx)] = np.random.randint(-3, 3, n_timesteps) + + return profiles + + +def create_data_source(n_timesteps=10): + profiles = pd.DataFrame() + profiles['load1'] = np.random.random(n_timesteps) * 2e1 + profiles['load2_mv_p'] = np.random.random(n_timesteps) * 4e1 + profiles['load2_mv_q'] = np.random.random(n_timesteps) * 1e1 + + profiles['load3_hv_p'] = profiles.load2_mv_p + abs(np.random.random()) + profiles['load3_hv_q'] = profiles.load2_mv_q + abs(np.random.random()) + + profiles['slack_v'] = np.clip(np.random.random(n_timesteps) + 0.5, 0.8, 1.2) + profiles['trafo_v'] = np.clip(np.random.random(n_timesteps) + 0.5, 0.9, 1.1) + + profiles["trafo_tap"] = np.random.randint(-3, 3, n_timesteps) + + ds = DFData(profiles) + + return profiles, ds + + +def setup_output_writer(net, time_steps): + ow = OutputWriter(net, time_steps, output_path=tempfile.gettempdir()) + ow.log_variable('load', 'p_mw') + ow.log_variable('res_bus', 'vm_pu') + ow.log_variable('res_trafo3w', 'p_hv_mw') + ow.log_variable('res_trafo3w', 'q_hv_mvar') + return ow + + +def test_const_control(simple_test_net): + net = simple_test_net + profiles, ds = create_data_source() + time_steps = range(0, 10) + ow = setup_output_writer(net, time_steps) + + ConstControl(net, 'load', 'p_mw', element_index=0, data_source=ds, profile_name='load1', + scale_factor=0.85) + + ConstControl(net, 'ext_grid', 'vm_pu', element_index=0, data_source=ds, profile_name='slack_v') + + run_timeseries(net, time_steps, output_writer=ow, verbose=False) + + assert np.alltrue(profiles['load1'].values * 0.85 == ow.output['load.p_mw'][0].values) + assert np.alltrue(profiles['slack_v'].values == ow.output['res_bus.vm_pu'][0].values) + + +def test_const_control_write_to_object_attribute(simple_test_net): + net = simple_test_net + profiles, ds = create_data_source() + time_steps = range(0, 10) + ow = setup_output_writer(net, time_steps) + + ContinuousTapControl(net, 0, 1., level=1, check_tap_bounds=False) + + ConstControl(net, 'load', 'p_mw', element_index=0, data_source=ds, profile_name='load1', + scale_factor=0.85) + + ConstControl(net, 'ext_grid', 'vm_pu', element_index=0, data_source=ds, profile_name='slack_v') + + ConstControl(net, 'controller', 'object.vm_set_pu', element_index=0, data_source=ds, profile_name='trafo_v') + + run_timeseries(net, time_steps, output_writer=ow, verbose=False) + + assert np.alltrue(profiles['load1'].values * 0.85 == ow.output['load.p_mw'][0].values) + assert np.alltrue(profiles['slack_v'].values == ow.output['res_bus.vm_pu'][0].values) + assert np.allclose(profiles['trafo_v'].values, ow.output['res_bus.vm_pu'][net.trafo.at[0, 'lv_bus']].values, atol=1e-3, rtol=0) + + +def test_false_alarm_trafos(simple_test_net): + net = simple_test_net + + import io + s = io.StringIO() + h = logging.StreamHandler(stream=s) + pandapower.control.util.diagnostic.logger.addHandler(h) + + ContinuousTapControl(net, 0, 1) + ContinuousTapControl(net, 0, 1, trafotype='3W') + + if 'convergence problems' in s.getvalue(): + raise UserWarning('Control diagnostic raises false alarm! Controllers are fine, ' + 'but warning is raised: %s' % s.getvalue()) + + control_diagnostic(net) + if 'convergence problems' in s.getvalue(): + raise UserWarning('Control diagnostic raises false alarm! Controllers are fine, ' + 'but warning is raised: %s' % s.getvalue()) + + pandapower.control.util.diagnostic.logger.removeHandler(h) + del h + del s + + +def test_timeseries_results(simple_test_net): + # This test compares output writer results with input + # test net + net = simple_test_net + net.user_pf_options = dict() + + n_timesteps = 5 + profiles, ds = create_data_source(n_timesteps) + + # 1load + ConstControl(net, element='load', variable='p_mw', element_index=[0, 1, 2], + data_source=ds, profile_name=["load1", "load2_mv_p", "load3_hv_p"], + scale_factor=0.5) + + time_steps = range(0, n_timesteps) + ow = OutputWriter(net, time_steps, output_path=tempfile.gettempdir(), output_file_type=".json") + ow.log_variable('res_load', 'p_mw') + ow.log_variable('res_bus', 'vm_pu') + + ow.log_variable('res_line', 'loading_percent') + ow.log_variable('res_line', 'i_ka') + run_timeseries(net, time_steps, output_writer=ow, verbose=False) + assert np.allclose(ow.output['res_load.p_mw'].sum().values * 2, + profiles[["load1", "load2_mv_p", "load3_hv_p"]].sum().values) + + # 3load - @Rieke What is this test for compared to the first one? + # @Flo in / out of service testen ... + ow.log_variable('res_load', 'p_mw') + net.controller.in_service = False # set the first controller out of service + ConstControl(net, 'load', 'p_mw', element_index=0, data_source=ds, profile_name='load1') + + run_timeseries(net, time_steps, output_writer=ow, verbose=False) + assert np.allclose(ow.output['res_load.p_mw'][0].sum(), profiles["load1"].sum()) + + +def test_timeseries_var_func(simple_test_net): + # This test checks if the output writer works with a user defined function + + # test net + net = simple_test_net + + n_timesteps = 5 + profiles, ds = create_data_source(n_timesteps) + + # 1load + ConstControl(net, element='load', variable='p_mw', element_index=[0, 1, 2], + data_source=ds, profile_name=["load1", "load2_mv_p", "load3_hv_p"], + scale_factor=0.5) + + time_steps = range(0, n_timesteps) + ow = OutputWriter(net, time_steps, output_path=tempfile.gettempdir(), output_file_type=".json") + ow.log_variable('res_load', 'p_mw', eval_function=np.max) + ow.log_variable('res_bus', 'vm_pu', eval_function=np.min) + ow.log_variable('res_bus', 'q_mvar', eval_function=np.sum) + + run_timeseries(net, time_steps, output_writer=ow, verbose=False) + # asserts if last value of output_writers output is the minimum value + assert net["res_load"]["p_mw"].max() == ow.output["res_load.p_mw"].iloc[-1].values + assert net["res_bus"]["vm_pu"].min() == ow.output["res_bus.vm_pu"].iloc[-1, -1] + assert net["res_bus"]["q_mvar"].sum() == ow.output["res_bus.q_mvar"].iloc[-1].values + + # get minimum voltage of all hv busses + mask = (net.bus.vn_kv > 70.0) & (net.bus.vn_kv < 380.0) + hv_busses_index = net.bus.loc[mask].index + mask = (net.bus.vn_kv > 1.0) & (net.bus.vn_kv < 70.0) + mv_busses_index = net.bus.loc[mask].index + ow.log_variable('res_bus', 'vm_pu', index=hv_busses_index, eval_function=np.min, + eval_name="hv_bus_min") + ow.log_variable('res_bus', 'vm_pu', index=mv_busses_index, eval_function=np.min, + eval_name="mv_bus_min") + run_timeseries(net, time_steps, output_writer=ow, verbose=False) + assert net["res_bus"].loc[hv_busses_index, "vm_pu"].min() == ow.output["res_bus.vm_pu"].loc[ + time_steps[-1], "hv_bus_min"] + assert net["res_bus"].loc[mv_busses_index, "vm_pu"].min() == ow.output["res_bus.vm_pu"].loc[ + time_steps[-1], "mv_bus_min"] + + +def test_time_steps(simple_test_net): + net = simple_test_net + n_timesteps = 11 + profiles, ds = create_data_source(n_timesteps) + # 1load + ConstControl(net, element='load', variable='p_mw', element_index=[0, 1, 2], + data_source=ds, profile_name=["load1", "load2_mv_p", "load3_hv_p"]) + + # correct + run_timeseries(net, time_steps=range(0, n_timesteps), verbose=False) + # also correct + run_timeseries(net, time_steps=[0, 2, 4, 8, 9], verbose=False) + # ok. missing time_step list -> should check the datasource + run_timeseries(net, verbose=False) + # depricated + run_timeseries(net, time_steps=(0, 10), verbose=False) + + +def test_output_dump_after_time(simple_test_net): + net = simple_test_net + + n_timesteps = 100 + profiles, ds = create_data_source(n_timesteps) + + # 1load + ConstControl(net, element='load', variable='p_mw', element_index=[0, 1, 2], + data_source=ds, profile_name=["load1", "load2_mv_p", "load3_hv_p"]) + + time_steps = range(0, n_timesteps) + # write output after 0.1 minutes to disk + ow = OutputWriter(net, time_steps, output_path=tempfile.gettempdir(), output_file_type=".json", + write_time=0.05) + ow.log_variable('res_load', 'p_mw') + ow.log_variable('res_bus', 'vm_pu') + + ow.log_variable('res_line', 'loading_percent') + ow.log_variable('res_line', 'i_ka') + run_timeseries(net, time_steps, output_writer=ow, verbose=False) + # ToDo: read partially dumped results and compare with all stored results + + +if __name__ == '__main__': pytest.main(['-s', __file__]) \ No newline at end of file From 6fcb6d0631e91c1ada1882f48fbe187700d49e55 Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Tue, 6 Jul 2021 16:15:38 +0200 Subject: [PATCH 076/422] WIP: test for DS, J works for all but the slack bus now --- pandapower/pf/create_jacobian.py | 20 ++------------------ pandapower/pypower/newtonpf.py | 3 ++- pandapower/test/loadflow/test_dist_slack.py | 18 +++++++++++------- 3 files changed, 15 insertions(+), 26 deletions(-) diff --git a/pandapower/pf/create_jacobian.py b/pandapower/pf/create_jacobian.py index 7d8524dad..7b2e02486 100644 --- a/pandapower/pf/create_jacobian.py +++ b/pandapower/pf/create_jacobian.py @@ -52,24 +52,8 @@ def _create_J_without_numba(Ybus, V, pvpq, pq, contribution_factors, dist_slack) J21 = dS_dVa[array([pq]).T, pvpq].imag J22 = dS_dVm[array([pq]).T, pq].imag if dist_slack: - J13 = contribution_factors[1:].reshape(-1,1) - J23 = ones(len(pq)).reshape(-1,1) - print('___J11:') - print(J11.toarray()) - print('___J12:') - print(J12.toarray()) - print('___J13:') - print(J13) - print('___J11J12J13') - print(hstack([J11, J12, J13]).toarray()) - print('___J21:') - print(J21.toarray()) - print('___J22:') - print(J22.toarray()) - print('___J23:') - print(J23) - print('___J21J22J23') - print(hstack([J21, J22, J23]).toarray()) + J13 = array(contribution_factors[1:]).reshape(-1,1) + J23 = zeros(shape=(len(pq), 1)) J = vstack([ hstack([J11, J12, J13]), hstack([J21, J22, J23]) diff --git a/pandapower/pypower/newtonpf.py b/pandapower/pypower/newtonpf.py index a0fe16c97..03738181d 100644 --- a/pandapower/pypower/newtonpf.py +++ b/pandapower/pypower/newtonpf.py @@ -140,7 +140,8 @@ def _evaluate_Fx(Ybus, V, Sbus, pv, pq, contribution_factors, dist_slack): # we smuggle the guess for the overall slack mismatch as the last element of V print(V) print(contribution_factors) - mis = V[:-1] * conj(Ybus * V[:-1]) - Sbus + contribution_factors * V[-1] + slack_power = contribution_factors * V[-1] + mis = V[:-1] * conj(Ybus * V[:-1]) - Sbus + slack_power else: mis = V * conj(Ybus * V) - Sbus F = r_[mis[pv].real, diff --git a/pandapower/test/loadflow/test_dist_slack.py b/pandapower/test/loadflow/test_dist_slack.py index dbf22e0bb..4d31bffd3 100644 --- a/pandapower/test/loadflow/test_dist_slack.py +++ b/pandapower/test/loadflow/test_dist_slack.py @@ -30,13 +30,17 @@ def test_small_example(): tol_mw = 1e-6 net = pp.create_empty_network() pp.create_buses(net, 3, 20) - pp.create_ext_grid(net, 0) - pp.create_gen(net, 1, p_mw=0, vm_pu=1) - pp.create_load(net, 1, p_mw=10, q_mvar=3) - pp.create_load(net, 2, p_mw=10, q_mvar=3) - pp.create_line(net, 0, 1, 2, "122-AL1/20-ST1A 20.0") - pp.create_line(net, 1, 2, 2, "122-AL1/20-ST1A 20.0") - net.ext_grid["contribution_factor"] = 0 + + pp.create_gen(net, 0, p_mw=100, vm_pu=1, slack=True) + # pp.create_ext_grid(net, 0) + + pp.create_load(net, 1, p_mw=100, q_mvar=100) + + pp.create_line_from_parameters(net, 0, 1, length_km=1, r_ohm_per_km=0.01, x_ohm_per_km=0.1, c_nf_per_km=0, max_i_ka=1) + pp.create_line_from_parameters(net, 1, 2, length_km=1, r_ohm_per_km=0.01, x_ohm_per_km=0.1, c_nf_per_km=0, max_i_ka=1) + pp.create_line_from_parameters(net, 2, 0, length_km=1, r_ohm_per_km=0.01, x_ohm_per_km=0.1, c_nf_per_km=0, max_i_ka=1) + + # net.ext_grid["contribution_factor"] = 0 # if no dspf is given for ext_grid, 1 is assumed, because normally # ext_grids are responsible to take the slack power net.gen["contribution_factor"] = 1 From d8c655e13d14326ab5d87d5a102b37e5f19ecdc6 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Wed, 7 Jul 2021 18:08:09 +0200 Subject: [PATCH 077/422] checkout --- pandapower/converter/powermodels/to_pm.py | 74 +++++++++++++++++++- pandapower/opf/pm_storage.py | 71 +++++++++++++++++-- pandapower/opf/run_powermodels.py | 21 +++++- pandapower/opf/run_powermodels_mn_storage.jl | 57 ++++++--------- pandapower/runpm.py | 23 ++++-- tutorials/mary_mns_test.py | 13 +++- 6 files changed, 209 insertions(+), 50 deletions(-) diff --git a/pandapower/converter/powermodels/to_pm.py b/pandapower/converter/powermodels/to_pm.py index f81aa5ed3..6681ccef6 100644 --- a/pandapower/converter/powermodels/to_pm.py +++ b/pandapower/converter/powermodels/to_pm.py @@ -4,7 +4,7 @@ import tempfile from os import remove from os.path import isfile - +import pathlib import numpy as np import pandas as pd @@ -103,11 +103,15 @@ def dump_pm_json(pm, buffer_file=None): # if no buffer file is provided a random file name is generated temp_name = next(tempfile._get_candidate_names()) buffer_file = os.path.join(tempfile.gettempdir(), "pp_to_pm_" + temp_name + ".json") + + else: + temp_name = None + logger.debug("writing PowerModels data structure to %s" % buffer_file) with open(buffer_file, 'w') as outfile: json.dump(pm, outfile) - return buffer_file + return buffer_file, temp_name def _pp_element_to_pm(net, pm, element, pd_bus, qd_bus, load_idx): @@ -401,3 +405,69 @@ def init_ne_line(net, new_line_index, construction_costs=None): net["ne_line"].loc[new_line_index, "in_service"] = True # init res_ne_line to save built status afterwards net["res_ne_line"] = pd.DataFrame(data=0, index=new_line_index, columns=["built"], dtype=int) + + + +def convert_timeseries_to_multinet(net, profiles, buffer_file, temp_name): + pd2pm_lookup = net._pd2pm_lookups + + # gen_index = list() + load_p_index = list() + load_q_index = list() + n_ts = None + + for key, val in profiles.items(): + n_ts = val.shape[0] + element = key[0] + el_lookup = pd2pm_lookup[element] + pm_index = el_lookup[el_lookup >= 0] + # if element == "gen": + # gen_index.extend(list(pm_index)) + # else: + if key[1] == "q_mvar": + load_q_index.extend(list(pm_index)) + else: + load_p_index.extend(list(pm_index)) + # controllable = element + "_controllable" + # if controllable in pd2pm_lookup and key[1] == "p_mw": + # el_lookup = pd2pm_lookup[controllable] + # pm_index = el_lookup[el_lookup >= 0] + # gen_index.extend(list(pm_index)) + if n_ts is None: + raise ValueError("No time series available") + + load_p = pd.DataFrame(0., index = load_p_index, columns = range(n_ts)) + load_q = pd.DataFrame(0., index = load_q_index, columns = range(n_ts)) + # gen_p = pd.DataFrame(0., index = gen_index, columns = range(n_ts)) + + for key, val in profiles.items(): + element = key[0] + el_lookup = pd2pm_lookup[element] + pm_index = el_lookup[el_lookup >= 0] + array_index = np.where([el_lookup >= 0])[1] + # ts = -val.values[:, array_index].T if "gen" in element else val.values[:, array_index].T + ts = val.values[:, array_index].T + # if element == "gen": + # gen_p.loc[pm_index,:] = ts + # else: + if key[1] == "q_mvar": + load_q.loc[pm_index,:] = ts + else: + load_p.loc[pm_index,:] = ts + + # controllable = element + "_controllable" + # if controllable in pd2pm_lookup and key[1] == "p_mw": + # el_lookup = pd2pm_lookup[controllable] + # pm_index = el_lookup[el_lookup >= 0] + # array_index = np.where([el_lookup >= 0])[1] + # gen_p.loc[pm_index, :] = val.values[:, array_index].T + + # for file, df in zip(["load_p", "load_q", "gen_p"], [load_p, load_q, gen_p]): + for file, df in zip(["load_p", "load_q"], [load_p, load_q]): + if not df.empty: + pm_file = pathlib.Path(tempfile.gettempdir(), temp_name + "_" + file + ".json") + df.to_json(pm_file, orient="index") + buffer_file[file] = str(pm_file) + return buffer_file + + diff --git a/pandapower/opf/pm_storage.py b/pandapower/opf/pm_storage.py index 4191efbde..7a570e141 100644 --- a/pandapower/opf/pm_storage.py +++ b/pandapower/opf/pm_storage.py @@ -2,6 +2,68 @@ import pandas as pd +# def add_storage_opf_settings(net, ppci, pm): +# # callback function to add storage settings. Must be called after initializing pm data structure since the +# # pm["storage"] dict is filled + +# # n time steps to optimize (here 3 hours) +# pm["n_time_steps"] = net._options["n_time_steps"] +# # time step (here 1 hour) +# pm["time_elapsed"] = net._options["time_elapsed"] + +# # add storage systems to pm +# # Todo: Some variables are not used and not included in pandapower as well (energy_rating, thermal_rating, +# # (efficiencies, r, x...) +# bus_lookup = net._pd2ppc_lookups["bus"] + +# for idx in net["storage"].index: +# energy = (net["storage"].at[idx, "soc_percent"] * 1e-2 * +# (net["storage"].at[idx, "max_e_mwh"] - +# net["storage"].at[idx, "min_e_mwh"])) / pm["baseMVA"] + +# qs = net["storage"].at[idx, "q_mvar"].item() / pm["baseMVA"] +# ps = net["storage"].at[idx, "p_mw"].item() / pm["baseMVA"] +# # max_p_mw = ps +# # max_q_mvar, min_q_mvar = qs, -qs +# if "max_p_mw" in net["storage"]: +# max_p_mw = net["storage"].at[idx, "max_p_mw"].item() / pm["baseMVA"] +# else: +# max_p_mw = ps + +# if "max_q_mvar" in net["storage"]: +# max_q_mvar = net["storage"].at[idx, "max_q_mvar"].item() / pm["baseMVA"] +# else: +# max_q_mvar = qs + +# if "max_q_mvar" in net["storage"]: +# min_q_mvar = net["storage"].at[idx, "min_q_mvar"].item() / pm["baseMVA"] +# else: +# min_q_mvar = -qs + +# pm_idx = int(idx) + 1 + +# pm["storage"][str(pm_idx)] = { +# "energy_rating": net["storage"].at[idx, "max_e_mwh"], +# "standby_loss": -1e-8, +# "x": 0.0, +# "energy": energy, +# "r": 0.0, +# "qs": qs, +# "thermal_rating": net["storage"].at[idx, "max_e_mwh"], # Todo: include in DataFrame? +# "status": int(net["storage"].at[idx, "in_service"]), +# "discharge_rating": max_p_mw, +# "storage_bus": bus_lookup[net["storage"].at[idx, "bus"]].item(), +# "charge_efficiency": 1., +# "index": pm_idx, +# "ps": ps, +# "qmax": max_q_mvar, +# "qmin": min_q_mvar, +# "charge_rating": max_p_mw, +# "discharge_efficiency": 1.0, +# "p_loss": -1e-8, +# "q_loss": -1e-8, +# } + def add_storage_opf_settings(net, ppci, pm): # callback function to add storage settings. Must be called after initializing pm data structure since the # pm["storage"] dict is filled @@ -35,9 +97,9 @@ def add_storage_opf_settings(net, ppci, pm): pm["storage"][str(pm_idx)] = { "energy_rating": net["storage"].at[idx, "max_e_mwh"], "standby_loss": 0., - "x": 0., + "x": 0.0, "energy": energy, - "r": 0.0, + "r": 0.1, "qs": qs, "thermal_rating": net["storage"].at[idx, "max_e_mwh"], # Todo: include in DataFrame? "status": int(net["storage"].at[idx, "in_service"]), @@ -50,11 +112,10 @@ def add_storage_opf_settings(net, ppci, pm): "qmin": min_q_mvar, "charge_rating": max_p_mw, "discharge_efficiency": 1.0, - "p_loss": 0.0, - "q_loss": 0.0 + "p_loss": 0, + "q_loss": 0 } - def read_pm_storage_results(net): # reads the storage results from multiple time steps from the PowerModels optimization pm_result = net._pm_result diff --git a/pandapower/opf/run_powermodels.py b/pandapower/opf/run_powermodels.py index 86b1fc6d8..1742415d6 100644 --- a/pandapower/opf/run_powermodels.py +++ b/pandapower/opf/run_powermodels.py @@ -1,9 +1,9 @@ import os from pandapower import pp_dir -from pandapower.converter.powermodels.to_pm import convert_to_pm_structure, dump_pm_json +from pandapower.converter.powermodels.to_pm import convert_to_pm_structure, dump_pm_json, convert_timeseries_to_multinet from pandapower.converter.powermodels.from_pm import read_pm_results_to_net - +from timeseries.run_profile_cython.run_cython import profiles_from_ds try: import pplog as logging except ImportError: @@ -31,7 +31,22 @@ def _runpm(net, delete_buffer_file=True, pm_file_path = None): # pragma: no cov if net._options["pp_to_pm_callback"] is not None: net._options["pp_to_pm_callback"](net, ppci, pm) # writes pm json to disk, which is loaded afterwards in julia - buffer_file = dump_pm_json(pm, pm_file_path) + if net._options.has_key(multinet): + buffer_file = dict() + buffer_file["pm"], temp_name = dump_pm_json(pm) + if net._options.has_key("profiles"): + if profiles is None: + if net._options.has_key("n_time_steps"): + steps = net._options["n_time_steps"] + else: + steps = None + profiles = profiles_from_ds(net, num_steps=steps) + else: + profiles = net._options["profiles"] + buffer_file = convert_timeseries_to_multinet(net, profiles, buffer_file, temp_name) + else: + buffer_file, temp_name = dump_pm_json(pm) + # run power models optimization in julia result_pm = _call_powermodels(buffer_file, net._options["julia_file"]) # read results and write back to net diff --git a/pandapower/opf/run_powermodels_mn_storage.jl b/pandapower/opf/run_powermodels_mn_storage.jl index 4ffb24a7f..25c5541ce 100644 --- a/pandapower/opf/run_powermodels_mn_storage.jl +++ b/pandapower/opf/run_powermodels_mn_storage.jl @@ -6,59 +6,48 @@ using .PP2PM import JSON -function read_time_series(json_path) +function read_time_series(ts_path) time_series = Dict() - open(json_path, "r") do f - time_series = JSON.parse(f) # parse and transform data + open(ts_path, "r") do f + time_series = JSON.parse(f) + else + @error "no time series data is available at $(ts_path)" end return time_series end -function set_pq_values_from_timeseries(mn, time_series) +function set_pq_from_timeseries!(mn, ts_data, variable) # This function iterates over multinetwork entries and sets p, q values # of loads and "sgens" (which are loads with negative P and Q values) - - # iterate over networks (which represent the time steps) - for (t, network) in mn["nw"] - t_j = string(parse(Int64,t) - 1) - # iterate over all loads for this network - for (i, load) in network["load"] - # update variables from time series here -# print("\nload before: ") -# print(load["pd"]) - load["pd"] = time_series[t_j][parse(Int64,i)] / mn["baseMVA"] -# print("\nload after: ") -# print(load["pd"]) + for step in 1:steps + network = mn["nw"]["$(step)"] + for idx in keys(ts_data) + network["load"][idx][viable] = ts_data [idx]["$(step-1)"] / network["baseMVA"] end end - return mn end function run_powermodels(json_path) # load converted pandapower network - pm = PP2PM.load_pm_from_json(json_path) - model = PP2PM.get_model(pm["pm_model"]) - - solver = PP2PM.get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], - pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"]) - + pm = PP2PM.load_pm_from_json(files["net"]) # copy network n_time_steps time step times n_time_steps = pm["n_time_steps"] mn = PowerModels.replicate(pm, pm["n_time_steps"]) - mn["time_elapsed"] = pm["time_elapsed"] - # set P, Q values of loads and generators from time series - if isfile("/tmp/timeseries.json") - time_series = read_time_series("/tmp/timeseries.json") - mn = set_pq_values_from_timeseries(mn, time_series) - else - print("Running storage without time series") + + for key in keys(files) + if key != "net" + ts_data = read_time_series(files[key]) + if key == "load_p" + mn = set_pq_from_timeseries!(mn, ts_data, "pd") + elseif key == "load_q" + mn = set_pq_from_timeseries!(mn, ts_data, "qd") + end + end end - ipopt_solver = JuMP.with_optimizer(Ipopt.Optimizer, print_level = 1) + result = _PM.run_mn_opf_strg(mn, model, solver, setting = Dict("output" => Dict("branch_flows" => true))) + # pm_res = get_result_for_pandapower(result) - # run multinetwork storage opf - result = PowerModels.run_mn_opf_strg(mn, model, solver)#(mn, PowerModels.ACPPowerModel, ipopt_solver) - print_summary(result) return result end diff --git a/pandapower/runpm.py b/pandapower/runpm.py index dc582f113..072773bda 100644 --- a/pandapower/runpm.py +++ b/pandapower/runpm.py @@ -392,12 +392,15 @@ def runpm_ots(net, pp_to_pm_callback=None, calculate_voltage_angles=True, read_ots_results(net) -def runpm_storage_opf(net, calculate_voltage_angles=True, +def runpm_storage_opf(net, calculate_voltage_angles=True, correct_pm_network_data=True, trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, - n_timesteps=24, time_elapsed=1.0, correct_pm_network_data=True, + n_timesteps=24, time_elapsed=1.0, + charge_efficiency=1.0, discharge_efficiency=1.0, + standby_loss=1e-8, p_loss=1e-8, q_loss=1e-8, pm_solver="ipopt", pm_mip_solver="cbc", pm_nl_solver="ipopt", - pm_model="ACPPowerModel", pm_time_limits=None, pm_log_level=0, - delete_buffer_file=True, pm_file_path = None, opf_flow_lim="S", **kwargs): # pragma: no cover + pm_model="DCPPowerModel", pm_time_limits=None, pm_log_level=0, + delete_buffer_file=True, pm_file_path = None, opf_flow_lim="S", + profiles = None, **kwargs): # pragma: no cover """ Runs a non-linear power system optimization with storages and time series using PowerModels.jl. @@ -430,7 +433,17 @@ def runpm_storage_opf(net, calculate_voltage_angles=True, net._options["n_time_steps"] = n_timesteps net._options["time_elapsed"] = time_elapsed - + + net._options["charge_efficiency"] = charge_efficiency + net._options["discharge_efficiency"] = discharge_efficiency + + net._options["standby_loss"] = standby_loss + net._options["p_loss"] = p_loss + net._options["q_loss"] = q_loss + + net._options["multinet"] = True + net._options["profiles"] = profiles + _runpm(net) storage_results = read_pm_storage_results(net) return storage_results diff --git a/tutorials/mary_mns_test.py b/tutorials/mary_mns_test.py index 77fa31881..1cf79733a 100644 --- a/tutorials/mary_mns_test.py +++ b/tutorials/mary_mns_test.py @@ -114,4 +114,15 @@ def plot_storage_results(storage_results): plt.show() # plot the result -plot_storage_results(storage_results) \ No newline at end of file +plot_storage_results(storage_results) + + + +import pandapower as pp +import pandapower.networks as nw +net = nw.case5() +pp.create_storage(net, 2, p_mw=1., max_e_mwh=.2, soc_percent=100., q_mvar=1.) +pp.create_storage(net, 3, p_mw=1., max_e_mwh=.3, soc_percent=100., q_mvar=1.) + +# optimize for 24 time steps. At the end the SOC is 0% +storage_results = pp.runpm_storage_opf(net, n_timesteps=24) \ No newline at end of file From ef715915a74259b1bd342392c76efb14d5f9ff77 Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Tue, 13 Jul 2021 09:40:36 +0200 Subject: [PATCH 078/422] fix trafo docs --- doc/elements/trafo_par.csv | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/elements/trafo_par.csv b/doc/elements/trafo_par.csv index cc7cdffa7..682a3677f 100644 --- a/doc/elements/trafo_par.csv +++ b/doc/elements/trafo_par.csv @@ -31,5 +31,5 @@ parallel;int;:math:`>` 0;number of parallel transformers max_loading_percent**;float;:math:`>` 0;Maximum loading of the transformer with respect to sn_mva and its corresponding current at 1.0 p.u. df;float;1 :math:`\geq` df :math:`>` 0;derating factor: maximal current of transformer in relation to nominal current of transformer (from 0 to 1) in_service*;boolean;True / False;specifies if the transformer is in service -oltc*;boolean;True / False; specifies if the transformer has an OLTC (short-circuit relevant) -power_station_unit*;boolean;True / False; specifies if the transformer is part of a power_station_unit (short-circuit relevant). +oltc***;boolean;True / False; specifies if the transformer has an OLTC +power_station_unit***;boolean;True / False; specifies if the transformer is part of a power_station_unit From ac7342f0e3fa808a4259f2280180ec2d2e589812 Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Tue, 13 Jul 2021 17:02:36 +0200 Subject: [PATCH 079/422] WIP: works for gen, ext_grid, added tests --- pandapower/convert_format.py | 3 + pandapower/create.py | 9 +- pandapower/pf/create_jacobian.py | 33 ++-- pandapower/pf/run_newton_raphson_pf.py | 12 +- pandapower/pypower/newtonpf.py | 34 ++-- pandapower/pypower/pfsoln.py | 11 +- pandapower/test/loadflow/test_dist_slack.py | 173 +++++++++++++++++--- 7 files changed, 215 insertions(+), 60 deletions(-) diff --git a/pandapower/convert_format.py b/pandapower/convert_format.py index fc5f7fe5a..1db18e063 100644 --- a/pandapower/convert_format.py +++ b/pandapower/convert_format.py @@ -238,6 +238,9 @@ def _add_missing_columns(net): if "contribution_factor" not in net.gen: net.gen['contribution_factor'] = 0.0 + if "contribution_factor" not in net.xward: + net.xward['contribution_factor'] = 0.0 + def _update_trafo_type_parameter_names(net): for element in ('trafo', 'trafo3w'): diff --git a/pandapower/create.py b/pandapower/create.py index eb197a93f..499aa2d1f 100644 --- a/pandapower/create.py +++ b/pandapower/create.py @@ -258,6 +258,7 @@ def create_empty_network(name="", f_hz=50., sn_mva=1, add_stdtypes=True): ("r_ohm", "f8"), ("x_ohm", "f8"), ("vm_pu", "f8"), + ("contribution_factor", 'f8'), ("in_service", "bool")], "measurement": [("name", dtype(object)), ("measurement_type", dtype(object)), @@ -3261,7 +3262,7 @@ def create_ward(net, bus, ps_mw, qs_mvar, pz_mw, qz_mvar, name=None, in_service= def create_xward(net, bus, ps_mw, qs_mvar, pz_mw, qz_mvar, r_ohm, x_ohm, vm_pu, in_service=True, - name=None, index=None): + name=None, index=None, contribution_factor=0.0): """ Creates an extended ward equivalent. @@ -3287,6 +3288,8 @@ def create_xward(net, bus, ps_mw, qs_mvar, pz_mw, qz_mvar, r_ohm, x_ohm, vm_pu, **vm_pu** (float) - voltage magnitude at the additional PV-node + **contribution_factor** (float, default 1.0) - Slack power contribution factor + OUTPUT: xward id """ @@ -3295,8 +3298,8 @@ def create_xward(net, bus, ps_mw, qs_mvar, pz_mw, qz_mvar, r_ohm, x_ohm, vm_pu, index = _get_index_with_check(net, "xward", index, "extended ward equivalent") columns = ["bus", "ps_mw", "qs_mvar", "pz_mw", "qz_mvar", "r_ohm", "x_ohm", "vm_pu", "name", - "in_service"] - values = [bus, ps_mw, qs_mvar, pz_mw, qz_mvar, r_ohm, x_ohm, vm_pu, name, in_service] + "contribution_factor", "in_service"] + values = [bus, ps_mw, qs_mvar, pz_mw, qz_mvar, r_ohm, x_ohm, vm_pu, name, contribution_factor, in_service] _set_entries(net, "xward", index, **dict(zip(columns, values))) return index diff --git a/pandapower/pf/create_jacobian.py b/pandapower/pf/create_jacobian.py index 7b2e02486..1776ffc47 100644 --- a/pandapower/pf/create_jacobian.py +++ b/pandapower/pf/create_jacobian.py @@ -1,4 +1,4 @@ -from numpy import complex128, float64, int32, ones +from numpy import complex128, float64, int32, ones, r_ from numpy.core.multiarray import zeros, empty, array from scipy.sparse import csr_matrix as sparse, vstack, hstack @@ -38,22 +38,29 @@ def _create_J_with_numba(Ybus, V, pvpq, pq, createJ, pvpq_lookup, npv, npq): return J -def _create_J_without_numba(Ybus, V, pvpq, pq, contribution_factors, dist_slack): +def _create_J_without_numba(Ybus, V, ref, pvpq, pq, contribution_factors, dist_slack): # create Jacobian with standard pypower implementation. - if dist_slack: - dS_dVm, dS_dVa = dSbus_dV(Ybus, V[:-1]) - else: - dS_dVm, dS_dVa = dSbus_dV(Ybus, V) + dS_dVm, dS_dVa = dSbus_dV(Ybus, V) ## evaluate Jacobian - J11 = dS_dVa[array([pvpq]).T, pvpq].real - J12 = dS_dVm[array([pvpq]).T, pq].real + if dist_slack: + rows_pvpq = array(r_[ref, pvpq]).T + cols_pvpq = r_[ref[1:], pvpq] + J11 = dS_dVa[r_[ref, pvpq], :][:, cols_pvpq].real + J12 = dS_dVm[r_[ref, pvpq], :][:, pq].real + else: + rows_pvpq = array([pvpq]).T + cols_pvpq = pvpq + # J11 = dS_dVa[array([pvpq]).T, cols_pvpq].real + # J12 = dS_dVm[array([pvpq]).T, pq].real + J11 = dS_dVa[rows_pvpq, cols_pvpq].real + J12 = dS_dVm[rows_pvpq, pq].real if len(pq) > 0 or dist_slack: - J21 = dS_dVa[array([pq]).T, pvpq].imag + J21 = dS_dVa[array([pq]).T, cols_pvpq].imag J22 = dS_dVm[array([pq]).T, pq].imag if dist_slack: - J13 = array(contribution_factors[1:]).reshape(-1,1) - J23 = zeros(shape=(len(pq), 1)) + J13 = sparse(contribution_factors.reshape(-1,1)) + J23 = sparse(zeros(shape=(len(pq), 1))) J = vstack([ hstack([J11, J12, J13]), hstack([J21, J22, J23]) @@ -70,11 +77,11 @@ def _create_J_without_numba(Ybus, V, pvpq, pq, contribution_factors, dist_slack) return J -def create_jacobian_matrix(Ybus, V, pvpq, pq, createJ, pvpq_lookup, npv, npq, numba, contribution_factors, dist_slack): +def create_jacobian_matrix(Ybus, V, ref, pvpq, pq, createJ, pvpq_lookup, npv, npq, numba, contribution_factors, dist_slack): if numba and not dist_slack: J = _create_J_with_numba(Ybus, V, pvpq, pq, createJ, pvpq_lookup, npv, npq) else: - J = _create_J_without_numba(Ybus, V, pvpq, pq, contribution_factors, dist_slack) + J = _create_J_without_numba(Ybus, V, ref, pvpq, pq, contribution_factors, dist_slack) return J diff --git a/pandapower/pf/run_newton_raphson_pf.py b/pandapower/pf/run_newton_raphson_pf.py index d0dadf923..906a0139b 100644 --- a/pandapower/pf/run_newton_raphson_pf.py +++ b/pandapower/pf/run_newton_raphson_pf.py @@ -65,9 +65,9 @@ def ppci_to_pfsoln(ppci, options): else: # reads values from internal ppci storage to bus, gen, branch and returns it _, pfsoln = _get_numba_functions(ppci, options) - return pfsoln(internal["baseMVA"], internal["bus"], internal["gen"], internal["branch"], internal["Ybus"], + result_pfsoln = pfsoln(internal["baseMVA"], internal["bus"], internal["gen"], internal["branch"], internal["Ybus"], internal["Yf"], internal["Yt"], internal["V"], internal["ref"], internal["ref_gens"]) - + return result_pfsoln def _get_Y_bus(ppci, options, makeYbus, baseMVA, bus, branch): recycle = options["recycle"] @@ -85,7 +85,7 @@ def _get_numba_functions(ppci, options): """ pfsoln from pypower maybe slow in some cases. This function chooses the fastest for the given pf calculation """ - if options["numba"]: + if options["numba"] and not options['distributed_slack']: makeYbus = makeYbus_numba shunt_in_net = any(ppci["bus"][:, BS]) or any(ppci["bus"][:, GS]) # faster pfsoln function if only one slack is in the grid and no gens @@ -127,8 +127,10 @@ def _run_ac_pf_without_qlims_enforced(ppci, options): # run the newton power flow - newton = newton_ls if lightsim2grid_available and options["lightsim2grid"] else newtonpf - V, success, iterations, J, Vm_it, Va_it = newton(Ybus, Sbus, V0, pv, pq, ppci, options) + if lightsim2grid_available: + V, success, iterations, J, Vm_it, Va_it = newton_ls(Ybus, Sbus, V0, pv, pq, ppci, options) + else: + V, success, iterations, J, Vm_it, Va_it = newtonpf(Ybus, Sbus, V0, ref, pv, pq, ppci, options) # keep "internal" variables in memory / net["_ppc"]["internal"] -> needed for recycle. ppci = _store_internal(ppci, {"J": J, "Vm_it": Vm_it, "Va_it": Va_it, "bus": bus, "gen": gen, "branch": branch, diff --git a/pandapower/pypower/newtonpf.py b/pandapower/pypower/newtonpf.py index 03738181d..50f0bf15a 100644 --- a/pandapower/pypower/newtonpf.py +++ b/pandapower/pypower/newtonpf.py @@ -22,7 +22,7 @@ from pandapower.pypower.idx_bus import BUS_I, CON_FAC -def newtonpf(Ybus, Sbus, V0, pv, pq, ppci, options): +def newtonpf(Ybus, Sbus, V0, ref, pv, pq, ppci, options): """Solves the power flow using a full Newton's method. Solves for bus voltages given the full system admittance matrix (for all buses), the complex bus power injection vector (for all buses), @@ -57,8 +57,7 @@ def newtonpf(Ybus, Sbus, V0, pv, pq, ppci, options): # initialize i = 0 V = V0 - if dist_slack: - V = append(V, 0) + slack = 0 # for dist_slack Va = angle(V) Vm = abs(V) dVa, dVm = None, None @@ -73,6 +72,10 @@ def newtonpf(Ybus, Sbus, V0, pv, pq, ppci, options): Va_it = None # set up indexing for updating V + if len(ref) > 1 and dist_slack: + pv = r_[ref[1:], pv] + ref = ref[[0]] + pvpq = r_[pv, pq] # generate lookup pvpq -> index pvpq (used in createJ) pvpq_lookup = zeros(max(Ybus.indices) + 1, dtype=int) @@ -81,6 +84,7 @@ def newtonpf(Ybus, Sbus, V0, pv, pq, ppci, options): # get jacobian function createJ = get_fastest_jacobian_function(pvpq, pq, numba, dist_slack) + nref = len(ref) npv = len(pv) npq = len(pq) j1 = 0 @@ -89,9 +93,11 @@ def newtonpf(Ybus, Sbus, V0, pv, pq, ppci, options): j4 = j2 + npq # j3:j4 - V angle of pq buses j5 = j4 j6 = j4 + npq # j5:j6 - V mag of pq buses + j7 = j6 + j8 = j6 + nref # j7:j8 - slacks # evaluate F(x0) - F = _evaluate_Fx(Ybus, V, Sbus, pv, pq, contribution_factors, dist_slack) + F = _evaluate_Fx(Ybus, V, Sbus, ref, pv, pq, contribution_factors, dist_slack, slack) converged = _check_for_convergence(F, tol) Ybus = Ybus.tocsr() @@ -102,7 +108,7 @@ def newtonpf(Ybus, Sbus, V0, pv, pq, ppci, options): # update iteration counter i = i + 1 - J = create_jacobian_matrix(Ybus, V, pvpq, pq, createJ, pvpq_lookup, npv, npq, numba, contribution_factors, dist_slack) + J = create_jacobian_matrix(Ybus, V, ref, pvpq, pq, createJ, pvpq_lookup, npv, npq, numba, contribution_factors, dist_slack) dx = -1 * spsolve(J, F, permc_spec=permc_spec, use_umfpack=use_umfpack) # update voltage @@ -111,6 +117,8 @@ def newtonpf(Ybus, Sbus, V0, pv, pq, ppci, options): if npq and not iwamoto: Va[pq] = Va[pq] + dx[j3:j4] Vm[pq] = Vm[pq] + dx[j5:j6] + if dist_slack: + slack = slack + dx[j7:j8] # iwamoto multiplier to increase convergence if iwamoto: @@ -127,26 +135,22 @@ def newtonpf(Ybus, Sbus, V0, pv, pq, ppci, options): if voltage_depend_loads: Sbus = makeSbus(baseMVA, bus, gen, vm=Vm) - F = _evaluate_Fx(Ybus, V, Sbus, pv, pq, contribution_factors, dist_slack) + F = _evaluate_Fx(Ybus, V, Sbus, ref, pv, pq, contribution_factors, dist_slack, slack) converged = _check_for_convergence(F, tol) return V, converged, i, J, Vm_it, Va_it -def _evaluate_Fx(Ybus, V, Sbus, pv, pq, contribution_factors, dist_slack): +def _evaluate_Fx(Ybus, V, Sbus, ref, pv, pq, contribution_factors=None, dist_slack=False, slack=None): # evalute F(x) if dist_slack: - # we smuggle the guess for the overall slack mismatch as the last element of V - print(V) - print(contribution_factors) - slack_power = contribution_factors * V[-1] - mis = V[:-1] * conj(Ybus * V[:-1]) - Sbus + slack_power + # we include the slack power (slack * contribution factors) in the mismatch calculation + mis = V * conj(Ybus * V) - Sbus + contribution_factors * slack + F = r_[mis[ref].real, mis[pv].real, mis[pq].real, mis[pq].imag] else: mis = V * conj(Ybus * V) - Sbus - F = r_[mis[pv].real, - mis[pq].real, - mis[pq].imag] + F = r_[mis[pv].real, mis[pq].real, mis[pq].imag] return F diff --git a/pandapower/pypower/pfsoln.py b/pandapower/pypower/pfsoln.py index 056fba26d..59e8ab693 100644 --- a/pandapower/pypower/pfsoln.py +++ b/pandapower/pypower/pfsoln.py @@ -17,7 +17,8 @@ from pandapower.pypower.idx_brch import F_BUS, T_BUS, BR_STATUS, PF, PT, QF, QT from pandapower.pypower.idx_bus import VM, VA, PD, QD -from pandapower.pypower.idx_gen import GEN_BUS, GEN_STATUS, PG, QG, QMIN, QMAX +from pandapower.pypower.idx_gen import GEN_BUS, GEN_STATUS, PG, QG, QMIN, QMAX, CON_FAC +from sympy.codegen.fnodes import sum_ EPS = finfo(float).eps @@ -79,7 +80,13 @@ def _update_p(baseMVA, bus, gen, ref, gbus, on, Sbus, ref_gens): ext_grids = intersect1d(gens_at_bus, ref_gens) pv_gens = setdiff1d(gens_at_bus, ext_grids) p_ext_grids = p_bus - sum(gen[pv_gens, PG]) - gen[ext_grids, PG] = p_ext_grids / len(ext_grids) + con_fac = gen[ext_grids, CON_FAC] + sum_con_fac = sum(con_fac) + if sum_con_fac > 0: + # distribute bus slack power according to the distributed slack contribution factors + gen[ext_grids, PG] = gen[ext_grids, PG] + (p_ext_grids - sum(gen[ext_grids, PG])) * con_fac / sum_con_fac + else: + gen[ext_grids, PG] = p_ext_grids / len(ext_grids) else: gen[on[gens_at_bus[0]], PG] = p_bus diff --git a/pandapower/test/loadflow/test_dist_slack.py b/pandapower/test/loadflow/test_dist_slack.py index 4d31bffd3..370539c81 100644 --- a/pandapower/test/loadflow/test_dist_slack.py +++ b/pandapower/test/loadflow/test_dist_slack.py @@ -4,34 +4,23 @@ # and Energy System Technology (IEE), Kassel. All rights reserved. -import copy -import os - import numpy as np -import pandas as pd +import pandapower as pp import pytest +from pandapower.test.toolbox import assert_res_equal -import pandapower as pp -from pandapower.auxiliary import _check_connectivity, _add_ppc_options, lightsim2grid_available -from pandapower.networks import create_cigre_network_mv, four_loads_with_branches_out, \ - example_simple, simple_four_bus_system, example_multivoltage -from pandapower.pd2ppc import _pd2ppc -from pandapower.pf.create_jacobian import _create_J_without_numba -from pandapower.pf.run_newton_raphson_pf import _get_pf_variables_from_ppci -from pandapower.powerflow import LoadflowNotConverged -from pandapower.test.consistency_checks import runpp_with_consistency_checks -from pandapower.test.loadflow.result_test_network_generator import add_test_xward, add_test_trafo3w, \ - add_test_line, add_test_oos_bus_with_is_element, result_test_network_generator, add_test_trafo -from pandapower.test.toolbox import add_grid_connection, create_test_line, assert_net_equal -from pandapower.toolbox import nets_equal +try: + import numba + numba_installed = True +except ImportError: + numba_installed = False -def test_small_example(): - tol_mw = 1e-6 +def small_example_grid(): net = pp.create_empty_network() pp.create_buses(net, 3, 20) - pp.create_gen(net, 0, p_mw=100, vm_pu=1, slack=True) + pp.create_gen(net, 0, p_mw=100, vm_pu=1, slack=True, contribution_factor=1) # pp.create_ext_grid(net, 0) pp.create_load(net, 1, p_mw=100, q_mvar=100) @@ -39,15 +28,155 @@ def test_small_example(): pp.create_line_from_parameters(net, 0, 1, length_km=1, r_ohm_per_km=0.01, x_ohm_per_km=0.1, c_nf_per_km=0, max_i_ka=1) pp.create_line_from_parameters(net, 1, 2, length_km=1, r_ohm_per_km=0.01, x_ohm_per_km=0.1, c_nf_per_km=0, max_i_ka=1) pp.create_line_from_parameters(net, 2, 0, length_km=1, r_ohm_per_km=0.01, x_ohm_per_km=0.1, c_nf_per_km=0, max_i_ka=1) + return net + + +def get_injection_consumption(net): + consumed_p_mw = net.load.query("in_service").p_mw.sum() + net.res_line.pl_mw.sum() + injected_p_mw = net.gen.query("in_service").p_mw.sum() + net.xward.query("in_service").ps_mw.sum() + return injected_p_mw, consumed_p_mw + - # net.ext_grid["contribution_factor"] = 0 +@pytest.mark.skipif(not numba_installed, reason="skip the test if numba not installed") +@pytest.mark.xfail(reason="is not implemented with numba") +def test_numba(): + net = small_example_grid() + # if no dspf is given for ext_grid, 1 is assumed, because normally + # ext_grids are responsible to take the slack power + net.gen["contribution_factor"] = 1 + net2 = net.deepcopy() + pp.runpp(net, distributed_slack=True) + + assert_res_equal(net, net2) + + +def test_small_example(): + net = small_example_grid() # if no dspf is given for ext_grid, 1 is assumed, because normally # ext_grids are responsible to take the slack power net.gen["contribution_factor"] = 1 + net2 = net.deepcopy() + + pp.runpp(net, distributed_slack=True, numba=False) + + pp.runpp(net2, distributed_slack=False) + + assert_res_equal(net, net2) + + +def test_two_gens(): + net = small_example_grid() + pp.create_gen(net, 2, 200, 1., slack=True, contribution_factor=2) + + pp.runpp(net, distributed_slack=True, numba=False) + + assert abs(net.res_gen.at[0, 'p_mw'] / net.res_gen.p_mw.sum() - 1 / 3) < 1e-6 + assert abs(net.res_gen.at[1, 'p_mw'] / net.res_gen.p_mw.sum() - 2 / 3) < 1e-6 + + injected_p_mw, consumed_p_mw = get_injection_consumption(net) + con_fac = net.gen.contribution_factor / np.sum(net.gen.contribution_factor) + + assert abs(net.res_gen.p_mw.sum() - consumed_p_mw) < 1e-6 + assert np.allclose(net.gen.p_mw - (injected_p_mw - consumed_p_mw) * con_fac, net.res_gen.p_mw, atol=1e-6, rtol=0) + + +@pytest.mark.xfail(reason="xward not implemented as slack") +def test_gen_xward(): + net = small_example_grid() + pp.create_xward(net, 2, 200, 0, 0, 0, 0, 6, 1, contribution_factor=2) + pp.runpp(net, distributed_slack=True, numba=False) + assert abs(net.res_gen.at[0, 'p_mw'] / (net.res_gen.p_mw.sum() + net.res_xward.p_mw.sum()) - 1 / 3) < 1e-6 + assert abs(net.res_xward.at[0, 'p_mw'] / (net.res_gen.p_mw.sum() + net.res_xward.p_mw.sum()) - 2 / 3) < 1e-6 + + consumed_p_mw = net.load.p_mw.sum() + net.res_line.pl_mw.sum() + gen_p_mw = net.gen.p_mw.sum() + net.xward.ps_mw.sum() + con_fac = np.array([1, 2]) / 3 + + assert abs(net.res_gen.p_mw.sum() - consumed_p_mw) < 1e-6 + # todo fix energy check + # assert np.allclose(net.gen.p_mw - (gen_p_mw - consumed_p_mw) * con_fac, net.res_gen.p_mw, atol=1e-6, rtol=0) + + +def test_ext_grid(): + net = small_example_grid() + net.gen.in_service = False + pp.create_ext_grid(net, 0, contribution_factor=1) + pp.create_ext_grid(net, 2, contribution_factor=2) + con_fac = net.ext_grid.contribution_factor / np.sum(net.ext_grid.contribution_factor) + + pp.runpp(net, distributed_slack=True, numba=False) + + injected_p_mw, consumed_p_mw = get_injection_consumption(net) + assert abs(net.res_ext_grid.p_mw.sum() - consumed_p_mw) < 1e-6 + assert np.allclose((consumed_p_mw - injected_p_mw) * con_fac, net.res_ext_grid.p_mw, atol=1e-6, rtol=0) + + +def test_gen_ext_grid(): + net = small_example_grid() + pp.create_ext_grid(net, 2, contribution_factor=2) + con_fac = np.array([1, 2]) / 3 + + pp.runpp(net, distributed_slack=True, numba=False) + + injected_p_mw, consumed_p_mw = get_injection_consumption(net) + assert abs(net.res_ext_grid.p_mw.sum() + net.res_gen.p_mw.sum() - consumed_p_mw) < 1e-6 + input_p_mw = np.array([100, 0]) # 100 MW for gen and 0 for ext_grid + res_p_mw = np.r_[net.res_gen.p_mw, net.res_ext_grid.p_mw] # resulting injection after distributed slack + assert np.allclose(input_p_mw - (injected_p_mw - consumed_p_mw) * con_fac, res_p_mw, atol=1e-6, rtol=0) + + +def test_pvgen_ext_grid(): + # now test the behavior if gen is not slack + net = small_example_grid() + pp.create_ext_grid(net, 2, contribution_factor=2) + net.gen.slack = False + con_fac = np.array([1, 2]) / 3 + + # gen with slack=False does not work as distributed slack, we throw error + with pytest.raises(UserWarning): + pp.runpp(net, distributed_slack=True, numba=False) + + # injected_p_mw, consumed_p_mw = get_injection_consumption(net) + # assert abs(net.res_ext_grid.p_mw.sum() + net.res_gen.p_mw.sum() - consumed_p_mw) < 1e-6 + # input_p_mw = np.array([100, 0]) # 100 MW for gen and 0 for ext_grid + # res_p_mw = np.r_[net.res_gen.p_mw, net.res_ext_grid.p_mw] # resulting injection after distributed slack + # assert np.allclose(input_p_mw - (injected_p_mw - consumed_p_mw) * con_fac, res_p_mw, atol=1e-6, rtol=0) + + +def test_same_bus(): + net = small_example_grid() + pp.create_ext_grid(net, 0, contribution_factor=2) + con_fac = np.array([1, 2]) / 3 + + pp.runpp(net, distributed_slack=True, numba=False) + + injected_p_mw, consumed_p_mw = get_injection_consumption(net) + assert abs(net.res_ext_grid.p_mw.sum() + net.res_gen.p_mw.sum() - consumed_p_mw) < 1e-6 + input_p_mw = np.array([100, 0]) # 100 MW for gen and 0 for ext_grid + res_p_mw = np.r_[net.res_gen.p_mw, net.res_ext_grid.p_mw] # resulting injection after distributed slack + assert np.allclose(input_p_mw - (injected_p_mw - consumed_p_mw) * con_fac, res_p_mw, atol=1e-6, rtol=0) + + +def test_separate_zones(): + net = small_example_grid() + b1, b2 = pp.create_buses(net, 2, 110) + pp.create_line_from_parameters(net, b1, b2, length_km=1, r_ohm_per_km=0.01, x_ohm_per_km=0.1, c_nf_per_km=0, max_i_ka=1) + pp.create_gen(net, b1, 50, 1, slack=True, contribution_factor=1) + pp.create_load(net, b2, 100) + + # distributed slack not implemented for separate zones + with pytest.raises(NotImplementedError): + pp.runpp(net, distributed_slack=True, numba=False) + + +# todo: implement distributed slack to work with numba +# todo: implement xward elements as slacks (similarly to gen with slack=True) +# todo add test for only xward when xward as slack is implemented +# todo: implement distributed slack for when the grid has several disconnected zones + if __name__ == "__main__": pytest.main([__file__]) - From 811c1759ad14f8114db4413a00ba7a41f1d13c3f Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Tue, 13 Jul 2021 22:36:20 +0200 Subject: [PATCH 080/422] added test for case9; dist slack fails if init='dc'; cannot avoid pf if only ref buses in net --- pandapower/__init__.py | 2 +- pandapower/auxiliary.py | 2 +- pandapower/build_bus.py | 16 +--- pandapower/build_gen.py | 25 +++++- pandapower/pf/create_jacobian.py | 8 +- pandapower/pf/run_newton_raphson_pf.py | 3 +- pandapower/powerflow.py | 3 +- pandapower/pypower/newtonpf.py | 2 +- pandapower/pypower/pfsoln.py | 1 - pandapower/test/loadflow/test_dist_slack.py | 90 ++++++++++++++++++++- 10 files changed, 118 insertions(+), 34 deletions(-) diff --git a/pandapower/__init__.py b/pandapower/__init__.py index 543ca4a18..5c41035bb 100644 --- a/pandapower/__init__.py +++ b/pandapower/__init__.py @@ -1,4 +1,4 @@ -__version__ = "2.6.0" +__version__ = "2.6.1" import os pp_dir = os.path.dirname(os.path.realpath(__file__)) diff --git a/pandapower/auxiliary.py b/pandapower/auxiliary.py index e60dcb7f6..82401f9f6 100644 --- a/pandapower/auxiliary.py +++ b/pandapower/auxiliary.py @@ -1015,7 +1015,7 @@ def _init_runpp_options(net, algorithm, calculate_voltage_angles, init, if numba: # TODO: Implement distributed slack for numba. raise NotImplementedError(f'Distributed slack is not implemented ' - f'with numba.') + f'with numba. Specify parameter numba=False.') if algorithm != 'nr': raise NotImplementedError(f'Distributed slack is only implemented ' f'for Newton Raphson algorithm.') diff --git a/pandapower/build_bus.py b/pandapower/build_bus.py index d5d58a2d9..d960f046a 100644 --- a/pandapower/build_bus.py +++ b/pandapower/build_bus.py @@ -341,7 +341,6 @@ def _build_bus_ppc(net, ppc, sequence=None): _fill_auxiliary_buses(net, ppc, bus_lookup, "trafo3w", "hv_bus", aux) net["_pd2ppc_lookups"]["bus"] = bus_lookup net["_pd2ppc_lookups"]["aux"] = aux - _add_contribution_factor(net, ppc) def _fill_auxiliary_buses(net, ppc, bus_lookup, element, bus_column, aux): @@ -611,17 +610,4 @@ def _add_c_to_ppc(net, ppc): raise ValueError("Voltage tolerance in the low voltage grid has" + " to be either 6% or 10% according to IEC 60909") ppc["bus"][lv_buses, C_MAX] = c_ns - ppc["bus"][lv_buses, C_MIN] = .95 - - -def _add_contribution_factor(net, ppc): - gen = net["gen"][net._is_elements["gen"]] - if len(gen) == 0: - return - gen_buses = gen.bus.values - bus_lookup = net["_pd2ppc_lookups"]["bus"] - gen_buses_ppc = bus_lookup[gen_buses] - contribution_factors_gen = gen.contribution_factor.values - - buses, contribution_factors_bus, _ = _sum_by_group(gen_buses_ppc, contribution_factors_gen, contribution_factors_gen) - ppc["bus"][buses, CON_FAC] = contribution_factors_bus + ppc["bus"][lv_buses, C_MIN] = .95 \ No newline at end of file diff --git a/pandapower/build_gen.py b/pandapower/build_gen.py index aeea1a0c4..29016392d 100644 --- a/pandapower/build_gen.py +++ b/pandapower/build_gen.py @@ -7,9 +7,9 @@ import numpy as np from pandapower.pf.ppci_variables import bustypes -from pandapower.pypower.idx_bus import PV, REF, VA, VM, BUS_TYPE, NONE, VMAX, VMIN +from pandapower.pypower.idx_bus import PV, REF, VA, VM, BUS_TYPE, NONE, VMAX, VMIN, CON_FAC as CON_FAC_BUS from pandapower.pypower.idx_gen import QMIN, QMAX, PMIN, PMAX, GEN_BUS, PG, VG, QG, MBASE, CON_FAC -from pandapower.auxiliary import _subnetworks +from pandapower.auxiliary import _subnetworks, _sum_by_group try: import pplog as logging @@ -232,6 +232,7 @@ def _build_pp_xward(net, ppc, f, t, update_lookup=True): xw_is = net["_is_elements"]['xward'] ppc["gen"][f:t, GEN_BUS] = bus_lookup[aux_buses[xw_is]] ppc["gen"][f:t, VG] = xw["vm_pu"][xw_is].values + ppc["gen"][f:t, CON_FAC] = net["xward"]["contribution_factor"].values[xw_is] ppc["gen"][f:t, PMIN] = - delta ppc["gen"][f:t, PMAX] = + delta ppc["gen"][f:t, QMIN] = -q_lim_default @@ -339,12 +340,28 @@ def _normalise_slack_weights(ppc): """ Unitise the slack contribution factors in each island to sum to 1. """ subnets = _subnetworks(ppc) gen_buses = ppc['gen'][:, GEN_BUS].astype(np.int32) + con_fac_gen = ppc['gen'][:, CON_FAC].astype(np.float64) + + buses_with_con_fac = ppc['gen'][ppc['gen'][:, CON_FAC] != 0, GEN_BUS].astype(np.int32) + if not np.all(ppc['bus'][buses_with_con_fac, BUS_TYPE] == REF): + raise UserWarning("Distributed slack calculation is implemented only for reference type buses. " + "Specify net.gen.slack=True for generators that have a non-zero contribution factor. " + "Extended ward (xward) elements are not supported as distributed slack elements") + for subnet in subnets: subnet_gen_mask = np.isin(gen_buses, subnet) - sum_dist_weights = np.sum(ppc['gen'][subnet_gen_mask, CON_FAC]) + sum_dist_weights = np.sum(con_fac_gen[subnet_gen_mask]) if np.isclose(sum_dist_weights, 0): # ppc['gen'][subnet_gen_mask, CON_FAC] = 0 raise ValueError('Distributed slack contribution factors in an ' 'island sum to zero.') else: - ppc['gen'][subnet_gen_mask, CON_FAC] /= sum_dist_weights + # ppc['gen'][subnet_gen_mask, CON_FAC] /= sum_dist_weights + con_fac_gen /= sum_dist_weights + buses, con_fac_bus, _ = _sum_by_group(gen_buses[subnet_gen_mask], con_fac_gen[subnet_gen_mask], con_fac_gen[subnet_gen_mask]) + ppc['bus'][buses, CON_FAC_BUS] = con_fac_bus + + # raise NotImplementedError if there are several separate zones for distributed slack: + if not np.isclose(sum(ppc['bus'][:, CON_FAC_BUS]), 1): + raise NotImplementedError("Distributed slack calculation is not implemented for several separate zones at once, " + "please calculate the zones separately.") diff --git a/pandapower/pf/create_jacobian.py b/pandapower/pf/create_jacobian.py index 1776ffc47..5c696d7e2 100644 --- a/pandapower/pf/create_jacobian.py +++ b/pandapower/pf/create_jacobian.py @@ -46,13 +46,11 @@ def _create_J_without_numba(Ybus, V, ref, pvpq, pq, contribution_factors, dist_s if dist_slack: rows_pvpq = array(r_[ref, pvpq]).T cols_pvpq = r_[ref[1:], pvpq] - J11 = dS_dVa[r_[ref, pvpq], :][:, cols_pvpq].real - J12 = dS_dVm[r_[ref, pvpq], :][:, pq].real + J11 = dS_dVa[rows_pvpq, :][:, cols_pvpq].real + J12 = dS_dVm[rows_pvpq, :][:, pq].real else: rows_pvpq = array([pvpq]).T cols_pvpq = pvpq - # J11 = dS_dVa[array([pvpq]).T, cols_pvpq].real - # J12 = dS_dVm[array([pvpq]).T, pq].real J11 = dS_dVa[rows_pvpq, cols_pvpq].real J12 = dS_dVm[rows_pvpq, pq].real if len(pq) > 0 or dist_slack: @@ -78,7 +76,7 @@ def _create_J_without_numba(Ybus, V, ref, pvpq, pq, contribution_factors, dist_s def create_jacobian_matrix(Ybus, V, ref, pvpq, pq, createJ, pvpq_lookup, npv, npq, numba, contribution_factors, dist_slack): - if numba and not dist_slack: + if numba: J = _create_J_with_numba(Ybus, V, pvpq, pq, createJ, pvpq_lookup, npv, npq) else: J = _create_J_without_numba(Ybus, V, ref, pvpq, pq, contribution_factors, dist_slack) diff --git a/pandapower/pf/run_newton_raphson_pf.py b/pandapower/pf/run_newton_raphson_pf.py index 906a0139b..9ae43f8b4 100644 --- a/pandapower/pf/run_newton_raphson_pf.py +++ b/pandapower/pf/run_newton_raphson_pf.py @@ -43,7 +43,8 @@ def _run_newton_raphson_pf(ppci, options): """ t0 = time() - if isinstance(options["init_va_degree"], str) and options["init_va_degree"] == "dc": + # we cannot run DC pf before running newton with distributed slack because the slacks come pre-solved after the DC pf + if isinstance(options["init_va_degree"], str) and options["init_va_degree"] == "dc" and not options['distributed_slack']: ppci = _run_dc_pf(ppci) if options["enforce_q_lims"]: ppci, success, iterations, bus, gen, branch = _run_ac_pf_with_qlims_enforced(ppci, options) diff --git a/pandapower/powerflow.py b/pandapower/powerflow.py index 06d70d388..852c094f2 100644 --- a/pandapower/powerflow.py +++ b/pandapower/powerflow.py @@ -145,7 +145,8 @@ def _run_pf_algorithm(ppci, options, **kwargs): if ac: _, pv, pq = bustypes(ppci["bus"], ppci["gen"]) # ----- run the powerflow ----- - if pq.shape[0] == 0 and pv.shape[0] == 0: + if pq.shape[0] == 0 and pv.shape[0] == 0 and not options['distributed_slack']: + # ommission not correct if distributed slack is used result = _bypass_pf_and_set_results(ppci, options) elif algorithm == 'bfsw': # forward/backward sweep power flow algorithm result = _run_bfswpf(ppci, options, **kwargs)[0] diff --git a/pandapower/pypower/newtonpf.py b/pandapower/pypower/newtonpf.py index 50f0bf15a..2e5664e7e 100644 --- a/pandapower/pypower/newtonpf.py +++ b/pandapower/pypower/newtonpf.py @@ -72,7 +72,7 @@ def newtonpf(Ybus, Sbus, V0, ref, pv, pq, ppci, options): Va_it = None # set up indexing for updating V - if len(ref) > 1 and dist_slack: + if dist_slack and len(ref) > 1: pv = r_[ref[1:], pv] ref = ref[[0]] diff --git a/pandapower/pypower/pfsoln.py b/pandapower/pypower/pfsoln.py index 59e8ab693..830c4c309 100644 --- a/pandapower/pypower/pfsoln.py +++ b/pandapower/pypower/pfsoln.py @@ -18,7 +18,6 @@ from pandapower.pypower.idx_brch import F_BUS, T_BUS, BR_STATUS, PF, PT, QF, QT from pandapower.pypower.idx_bus import VM, VA, PD, QD from pandapower.pypower.idx_gen import GEN_BUS, GEN_STATUS, PG, QG, QMIN, QMAX, CON_FAC -from sympy.codegen.fnodes import sum_ EPS = finfo(float).eps diff --git a/pandapower/test/loadflow/test_dist_slack.py b/pandapower/test/loadflow/test_dist_slack.py index 370539c81..d37a0bbb4 100644 --- a/pandapower/test/loadflow/test_dist_slack.py +++ b/pandapower/test/loadflow/test_dist_slack.py @@ -6,6 +6,7 @@ import numpy as np import pandapower as pp +from pandapower import networks import pytest from pandapower.test.toolbox import assert_res_equal @@ -41,7 +42,7 @@ def get_injection_consumption(net): @pytest.mark.xfail(reason="is not implemented with numba") def test_numba(): net = small_example_grid() - # if no dspf is given for ext_grid, 1 is assumed, because normally + # if no contribution_factor is given for ext_grid, 1 is assumed, because normally # ext_grids are responsible to take the slack power net.gen["contribution_factor"] = 1 net2 = net.deepcopy() @@ -52,7 +53,7 @@ def test_numba(): def test_small_example(): net = small_example_grid() - # if no dspf is given for ext_grid, 1 is assumed, because normally + # if no contribution_factor is given for ext_grid, 1 is assumed, because normally # ext_grids are responsible to take the slack power net.gen["contribution_factor"] = 1 @@ -81,6 +82,20 @@ def test_two_gens(): assert np.allclose(net.gen.p_mw - (injected_p_mw - consumed_p_mw) * con_fac, net.res_gen.p_mw, atol=1e-6, rtol=0) +def test_three_gens(): + net = small_example_grid() + pp.create_gen(net, 1, 200, 1., slack=True, contribution_factor=2) + pp.create_gen(net, 2, 200, 1., slack=True, contribution_factor=2) + + pp.runpp(net, distributed_slack=True, numba=False, tolerance_mva=1e-6) + + injected_p_mw, consumed_p_mw = get_injection_consumption(net) + con_fac = net.gen.contribution_factor / np.sum(net.gen.contribution_factor) + + assert abs(net.res_gen.p_mw.sum() - consumed_p_mw) < 1e-6 + assert np.allclose(net.gen.p_mw - (injected_p_mw - consumed_p_mw) * con_fac, net.res_gen.p_mw, atol=1e-6, rtol=0) + + @pytest.mark.xfail(reason="xward not implemented as slack") def test_gen_xward(): net = small_example_grid() @@ -123,8 +138,8 @@ def test_gen_ext_grid(): injected_p_mw, consumed_p_mw = get_injection_consumption(net) assert abs(net.res_ext_grid.p_mw.sum() + net.res_gen.p_mw.sum() - consumed_p_mw) < 1e-6 - input_p_mw = np.array([100, 0]) # 100 MW for gen and 0 for ext_grid - res_p_mw = np.r_[net.res_gen.p_mw, net.res_ext_grid.p_mw] # resulting injection after distributed slack + input_p_mw = np.r_[net.gen.p_mw, 0] # 100 MW for gen and 0 for ext_grid + res_p_mw = np.r_[net.res_gen.p_mw, net.res_ext_grid.p_mw.fillna(0)] # resulting injection after distributed slack assert np.allclose(input_p_mw - (injected_p_mw - consumed_p_mw) * con_fac, res_p_mw, atol=1e-6, rtol=0) @@ -172,6 +187,73 @@ def test_separate_zones(): pp.runpp(net, distributed_slack=True, numba=False) +def case9_simplified(): + net = pp.create_empty_network() + pp.create_buses(net, 9, vn_kv=345.) + lines = [[0, 3],[3, 4],[4, 5],[2, 5],[5, 6],[6, 7],[7, 1],[7, 8],[8, 3]] + + for i, (fb, tb) in enumerate(lines): + pp.create_line_from_parameters(net, fb, tb, 1, 20, 100, 0, 1) + + pp.create_gen(net, 0, 0, slack=True, contribution_factor=1) + pp.create_gen(net, 1, 163, slack=True, contribution_factor=1) + pp.create_gen(net, 2, 85, slack=True, contribution_factor=1) + + pp.create_load(net, 4, 90, 30) + pp.create_load(net, 6, 100, 35) + pp.create_load(net, 8, 125, 50) + return net + + +def test_case9(): + """ + basic test with ext_grid + gen, scaling != 1, contribution_factor sum = 1 + """ + tol_mw = 1e-6 + net = networks.case9() + # net = case9_simplified() + + # set contribution_factor (distributed slack participation factor) + net.ext_grid['contribution_factor'] = 1 / 3 + net.gen['contribution_factor'] = 1 / 3 + # todo: is it clearer to consider scaling or to ignore it? right now is ignored + # net.gen["scaling"] = [0.8, 0.7] + net.gen["scaling"] = [1, 1] + net.gen.slack = True + + # # set ext_grid dispatched active power + # net.ext_grid['p_disp_mw'] = 30 + + pp.runpp(net, distributed_slack=True, numba=False) + + # active power difference of dispatched and result + ext_grid_diff_p = 0 - net.res_ext_grid.p_mw + gen_diff = net.gen.p_mw * net.gen.scaling - net.res_gen.p_mw + + # resulting active slack power + res_p_slack = ext_grid_diff_p.sum() + gen_diff.sum() + + # calculate target active power difference + p_target_ext_grid = res_p_slack * net.ext_grid.contribution_factor + p_target_gen = res_p_slack * net.gen.contribution_factor + + # check the power balances + assert np.allclose(ext_grid_diff_p, p_target_ext_grid, atol=tol_mw) + assert np.allclose(gen_diff, p_target_gen, atol=tol_mw) + + # check balance of power + injected_p_mw, consumed_p_mw = get_injection_consumption(net) + assert abs(net.res_ext_grid.p_mw.sum() + net.res_gen.p_mw.sum() - consumed_p_mw) < 1e-6 + + # check the distribution formula of the slack power difference + input_p_mw = np.r_[net.gen.p_mw, 0] # 100 MW for gen and 0 for ext_grid + res_p_mw = np.r_[net.res_gen.p_mw, net.res_ext_grid.p_mw.fillna(0)] # resulting injection after distributed slack + # calculate normalized contribution factors + con_fac = np.r_[net.gen.contribution_factor, net.ext_grid.contribution_factor] + con_fac /= sum(con_fac) + assert np.allclose(input_p_mw - (injected_p_mw - consumed_p_mw) * con_fac, res_p_mw, atol=1e-6, rtol=0) + + # todo: implement distributed slack to work with numba # todo: implement xward elements as slacks (similarly to gen with slack=True) # todo add test for only xward when xward as slack is implemented From 3dfa9f544e2b60f8a3a235ebd27991138c968fae Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Tue, 13 Jul 2021 22:47:23 +0200 Subject: [PATCH 081/422] CHANGELOG and bugfix (inputs for _evaluate_Fx) --- CHANGELOG.rst | 1 + pandapower/pf/run_bfswpf.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index e28c1dfbf..c3cbef344 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -15,6 +15,7 @@ Change Log - [ADDED] CharacteristicControl that implements adjusting values in net based on some other input values in the grid - [ADDED] USetTapControl that adjusts the setpoint for a transformer tap changer, based on a specified result variable (e.g. i_lv_ka) - [CHANGED] replaced naming for "inductive" or "ind" by "underexcited" and "capacitive" or "cap" for "overexcited" +- [ADDED] Added distributed slack calculation to newton-raphson load flow; new column "contribution_factors" for ext_grid, gen and xward (xward not implemented yet); gen with contribution_factor>0 must have slack=True [2.6.0]- 2021-03-09 ---------------------- diff --git a/pandapower/pf/run_bfswpf.py b/pandapower/pf/run_bfswpf.py index 27c4470a2..e222c7c5c 100644 --- a/pandapower/pf/run_bfswpf.py +++ b/pandapower/pf/run_bfswpf.py @@ -341,7 +341,7 @@ def _bfswpf(DLF, bus, gen, branch, baseMVA, Ybus, Sbus, V0, ref, pv, pq, buses_o # testing termination criterion - if voltage_depend_loads: Sbus = makeSbus(baseMVA, bus, gen, vm=abs(V)) - F = _evaluate_Fx(Ybus, V, Sbus, pv, pq) + F = _evaluate_Fx(Ybus, V, Sbus, ref, pv, pq) # check tolerance converged = _check_for_convergence(F, tolerance_mva) From e0769437e66d9849408d740711f6f304e253ba0f Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Tue, 13 Jul 2021 22:55:37 +0200 Subject: [PATCH 082/422] bugfix test for J internal vs. create_jacobian --- pandapower/test/loadflow/test_runpp.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandapower/test/loadflow/test_runpp.py b/pandapower/test/loadflow/test_runpp.py index 146b229ee..a356649b0 100644 --- a/pandapower/test/loadflow/test_runpp.py +++ b/pandapower/test/loadflow/test_runpp.py @@ -807,7 +807,7 @@ def test_get_internal(): pvpq = np.r_[pv, pq] dist_slack = False - J = _create_J_without_numba(Ybus, V, pvpq, pq, contribution_factors, dist_slack) + J = _create_J_without_numba(Ybus, V, pvpq, pq, contribution_factors=None, dist_slack=False) assert sum(sum(abs(abs(J.toarray()) - abs(J_intern.toarray())))) < 0.05 # get J for all other algorithms From a4541353953c4d263d12937124f165a12a2b720f Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Tue, 13 Jul 2021 23:05:49 +0200 Subject: [PATCH 083/422] bugfix test for J internal vs. create_jacobian --- pandapower/pypower/newtonpf.py | 2 +- pandapower/test/loadflow/test_runpp.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pandapower/pypower/newtonpf.py b/pandapower/pypower/newtonpf.py index 2e5664e7e..d77bbc06c 100644 --- a/pandapower/pypower/newtonpf.py +++ b/pandapower/pypower/newtonpf.py @@ -57,7 +57,7 @@ def newtonpf(Ybus, Sbus, V0, ref, pv, pq, ppci, options): # initialize i = 0 V = V0 - slack = 0 # for dist_slack + slack = 0 # for dist_slack # todo: pre-calculate from grid balance Va = angle(V) Vm = abs(V) dVa, dVm = None, None diff --git a/pandapower/test/loadflow/test_runpp.py b/pandapower/test/loadflow/test_runpp.py index a356649b0..a9afd4edf 100644 --- a/pandapower/test/loadflow/test_runpp.py +++ b/pandapower/test/loadflow/test_runpp.py @@ -807,7 +807,7 @@ def test_get_internal(): pvpq = np.r_[pv, pq] dist_slack = False - J = _create_J_without_numba(Ybus, V, pvpq, pq, contribution_factors=None, dist_slack=False) + J = _create_J_without_numba(Ybus, V, ref, pvpq, pq, contribution_factors=None, dist_slack=False) assert sum(sum(abs(abs(J.toarray()) - abs(J_intern.toarray())))) < 0.05 # get J for all other algorithms From 35b446cfdffd07f9c38cd65e494fea91d06b5f5d Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Wed, 14 Jul 2021 12:43:24 +0200 Subject: [PATCH 084/422] added TODOs for implementation --- pandapower/build_gen.py | 4 ++++ pandapower/pypower/pfsoln.py | 1 + 2 files changed, 5 insertions(+) diff --git a/pandapower/build_gen.py b/pandapower/build_gen.py index 29016392d..b3c1168c8 100644 --- a/pandapower/build_gen.py +++ b/pandapower/build_gen.py @@ -342,6 +342,10 @@ def _normalise_slack_weights(ppc): gen_buses = ppc['gen'][:, GEN_BUS].astype(np.int32) con_fac_gen = ppc['gen'][:, CON_FAC].astype(np.float64) + # todo: flip the logic, only 1 ext_grid and all others PV, show logger warning that 1 ext_grid is used + # as slack and others are converted to PV nodes internally; + # todo: calculate dist_slack for all SL and PV nodes that have non-zero slack weight + # todo: rename contribution_factor to slack_weight buses_with_con_fac = ppc['gen'][ppc['gen'][:, CON_FAC] != 0, GEN_BUS].astype(np.int32) if not np.all(ppc['bus'][buses_with_con_fac, BUS_TYPE] == REF): raise UserWarning("Distributed slack calculation is implemented only for reference type buses. " diff --git a/pandapower/pypower/pfsoln.py b/pandapower/pypower/pfsoln.py index 830c4c309..b10af9cf0 100644 --- a/pandapower/pypower/pfsoln.py +++ b/pandapower/pypower/pfsoln.py @@ -71,6 +71,7 @@ def _update_v(bus, V): def _update_p(baseMVA, bus, gen, ref, gbus, on, Sbus, ref_gens): # update Pg for slack bus(es) # inj P + local Pd + # todo: expand the functionality to PV gens with non-zero slack_weight for slack_bus in ref: gens_at_bus = find(gbus == slack_bus) # which is(are) the reference gen(s)? p_bus = Sbus[gens_at_bus[0]].real * baseMVA + bus[slack_bus, PD] From c1c412ca79f89fb738853d1a42394a1e411e2f91 Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Wed, 14 Jul 2021 18:40:05 +0200 Subject: [PATCH 085/422] renamed contribution_factor to slack_weight; renamed CON_FAC to SL_FAC; start working on J with numba --- CHANGELOG.rst | 2 +- pandapower/build_bus.py | 2 +- pandapower/build_gen.py | 23 +++--- pandapower/convert_format.py | 12 +-- pandapower/create.py | 36 ++++---- pandapower/pf/create_jacobian.py | 13 +-- pandapower/pf/create_jacobian_numba.py | 92 +++++++++++++++++++++ pandapower/pf/ppci_variables.py | 2 +- pandapower/pypower/idx_bus.py | 2 +- pandapower/pypower/idx_gen.py | 2 +- pandapower/pypower/newtonpf.py | 16 ++-- pandapower/pypower/pfsoln.py | 4 +- pandapower/test/loadflow/test_dist_slack.py | 56 ++++++------- pandapower/test/loadflow/test_runpp.py | 2 +- 14 files changed, 178 insertions(+), 86 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index c3cbef344..37b10a3e9 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -15,7 +15,7 @@ Change Log - [ADDED] CharacteristicControl that implements adjusting values in net based on some other input values in the grid - [ADDED] USetTapControl that adjusts the setpoint for a transformer tap changer, based on a specified result variable (e.g. i_lv_ka) - [CHANGED] replaced naming for "inductive" or "ind" by "underexcited" and "capacitive" or "cap" for "overexcited" -- [ADDED] Added distributed slack calculation to newton-raphson load flow; new column "contribution_factors" for ext_grid, gen and xward (xward not implemented yet); gen with contribution_factor>0 must have slack=True +- [ADDED] Added distributed slack calculation to newton-raphson load flow; new column "slack_weights" for ext_grid, gen and xward (xward not implemented yet); gen with slack_weight>0 must have slack=True [2.6.0]- 2021-03-09 ---------------------- diff --git a/pandapower/build_bus.py b/pandapower/build_bus.py index d960f046a..764bc9da7 100644 --- a/pandapower/build_bus.py +++ b/pandapower/build_bus.py @@ -12,7 +12,7 @@ from pandapower.auxiliary import _sum_by_group, phase_to_sequence from pandapower.pypower.idx_bus import BUS_I, BASE_KV, PD, QD, GS, BS, VMAX, VMIN, BUS_TYPE, NONE, VM, VA, \ - CID, CZD, bus_cols, REF, CON_FAC + CID, CZD, bus_cols, REF, SL_FAC try: from numba import jit diff --git a/pandapower/build_gen.py b/pandapower/build_gen.py index b3c1168c8..94d9b0cc8 100644 --- a/pandapower/build_gen.py +++ b/pandapower/build_gen.py @@ -7,8 +7,8 @@ import numpy as np from pandapower.pf.ppci_variables import bustypes -from pandapower.pypower.idx_bus import PV, REF, VA, VM, BUS_TYPE, NONE, VMAX, VMIN, CON_FAC as CON_FAC_BUS -from pandapower.pypower.idx_gen import QMIN, QMAX, PMIN, PMAX, GEN_BUS, PG, VG, QG, MBASE, CON_FAC +from pandapower.pypower.idx_bus import PV, REF, VA, VM, BUS_TYPE, NONE, VMAX, VMIN, SL_FAC as SL_FAC_BUS +from pandapower.pypower.idx_gen import QMIN, QMAX, PMIN, PMAX, GEN_BUS, PG, VG, QG, MBASE, SL_FAC from pandapower.auxiliary import _subnetworks, _sum_by_group try: @@ -107,7 +107,7 @@ def _build_pp_ext_grid(net, ppc, f, t): eg_buses = bus_lookup[net["ext_grid"]["bus"].values[eg_is]] ppc["gen"][f:t, GEN_BUS] = eg_buses ppc["gen"][f:t, VG] = net["ext_grid"]["vm_pu"].values[eg_is] - ppc["gen"][f:t, CON_FAC] = net["ext_grid"]["contribution_factor"].values[eg_is] + ppc["gen"][f:t, SL_FAC] = net["ext_grid"]["slack_weight"].values[eg_is] # set bus values for external grid buses if ppc.get("sequence", 1) == 1: @@ -207,7 +207,7 @@ def _build_pp_gen(net, ppc, f, t): ppc["gen"][f:t, GEN_BUS] = gen_buses ppc["gen"][f:t, PG] = (net["gen"]["p_mw"].values[gen_is] * net["gen"]["scaling"].values[gen_is]) ppc["gen"][f:t, MBASE] = net["gen"]["sn_mva"].values[gen_is] - ppc["gen"][f:t, CON_FAC] = net["gen"]["contribution_factor"].values[gen_is] + ppc["gen"][f:t, SL_FAC] = net["gen"]["slack_weight"].values[gen_is] ppc["gen"][f:t, VG] = gen_is_vm # set bus values for generator buses @@ -232,7 +232,7 @@ def _build_pp_xward(net, ppc, f, t, update_lookup=True): xw_is = net["_is_elements"]['xward'] ppc["gen"][f:t, GEN_BUS] = bus_lookup[aux_buses[xw_is]] ppc["gen"][f:t, VG] = xw["vm_pu"][xw_is].values - ppc["gen"][f:t, CON_FAC] = net["xward"]["contribution_factor"].values[xw_is] + ppc["gen"][f:t, SL_FAC] = net["xward"]["slack_weight"].values[xw_is] ppc["gen"][f:t, PMIN] = - delta ppc["gen"][f:t, PMAX] = + delta ppc["gen"][f:t, QMIN] = -q_lim_default @@ -340,13 +340,12 @@ def _normalise_slack_weights(ppc): """ Unitise the slack contribution factors in each island to sum to 1. """ subnets = _subnetworks(ppc) gen_buses = ppc['gen'][:, GEN_BUS].astype(np.int32) - con_fac_gen = ppc['gen'][:, CON_FAC].astype(np.float64) + con_fac_gen = ppc['gen'][:, SL_FAC].astype(np.float64) # todo: flip the logic, only 1 ext_grid and all others PV, show logger warning that 1 ext_grid is used # as slack and others are converted to PV nodes internally; # todo: calculate dist_slack for all SL and PV nodes that have non-zero slack weight - # todo: rename contribution_factor to slack_weight - buses_with_con_fac = ppc['gen'][ppc['gen'][:, CON_FAC] != 0, GEN_BUS].astype(np.int32) + buses_with_con_fac = ppc['gen'][ppc['gen'][:, SL_FAC] != 0, GEN_BUS].astype(np.int32) if not np.all(ppc['bus'][buses_with_con_fac, BUS_TYPE] == REF): raise UserWarning("Distributed slack calculation is implemented only for reference type buses. " "Specify net.gen.slack=True for generators that have a non-zero contribution factor. " @@ -356,16 +355,16 @@ def _normalise_slack_weights(ppc): subnet_gen_mask = np.isin(gen_buses, subnet) sum_dist_weights = np.sum(con_fac_gen[subnet_gen_mask]) if np.isclose(sum_dist_weights, 0): - # ppc['gen'][subnet_gen_mask, CON_FAC] = 0 + # ppc['gen'][subnet_gen_mask, SL_FAC] = 0 raise ValueError('Distributed slack contribution factors in an ' 'island sum to zero.') else: - # ppc['gen'][subnet_gen_mask, CON_FAC] /= sum_dist_weights + # ppc['gen'][subnet_gen_mask, SL_FAC] /= sum_dist_weights con_fac_gen /= sum_dist_weights buses, con_fac_bus, _ = _sum_by_group(gen_buses[subnet_gen_mask], con_fac_gen[subnet_gen_mask], con_fac_gen[subnet_gen_mask]) - ppc['bus'][buses, CON_FAC_BUS] = con_fac_bus + ppc['bus'][buses, SL_FAC_BUS] = con_fac_bus # raise NotImplementedError if there are several separate zones for distributed slack: - if not np.isclose(sum(ppc['bus'][:, CON_FAC_BUS]), 1): + if not np.isclose(sum(ppc['bus'][:, SL_FAC_BUS]), 1): raise NotImplementedError("Distributed slack calculation is not implemented for several separate zones at once, " "please calculate the zones separately.") diff --git a/pandapower/convert_format.py b/pandapower/convert_format.py index 1db18e063..c1bb900b0 100644 --- a/pandapower/convert_format.py +++ b/pandapower/convert_format.py @@ -232,14 +232,14 @@ def _add_missing_columns(net): net.controller.at[ctrl.name, 'initial_run'] = ctrl['object'].initial_powerflow # distributed slack - if "contribution_factor" not in net.ext_grid: - net.ext_grid['contribution_factor'] = 1.0 + if "slack_weight" not in net.ext_grid: + net.ext_grid['slack_weight'] = 1.0 - if "contribution_factor" not in net.gen: - net.gen['contribution_factor'] = 0.0 + if "slack_weight" not in net.gen: + net.gen['slack_weight'] = 0.0 - if "contribution_factor" not in net.xward: - net.xward['contribution_factor'] = 0.0 + if "slack_weight" not in net.xward: + net.xward['slack_weight'] = 0.0 def _update_trafo_type_parameter_names(net): diff --git a/pandapower/create.py b/pandapower/create.py index 499aa2d1f..65699bbfd 100644 --- a/pandapower/create.py +++ b/pandapower/create.py @@ -129,7 +129,7 @@ def create_empty_network(name="", f_hz=50., sn_mva=1, add_stdtypes=True): ("scaling", "f8"), ("slack", "bool"), ("in_service", 'bool'), - ("contribution_factor", 'f8'), + ("slack_weight", 'f8'), ("type", dtype(object))], "switch": [("bus", "i8"), ("element", "i8"), @@ -150,7 +150,7 @@ def create_empty_network(name="", f_hz=50., sn_mva=1, add_stdtypes=True): ("bus", "u4"), ("vm_pu", "f8"), ("va_degree", "f8"), - ("contribution_factor", 'f8'), + ("slack_weight", 'f8'), ("in_service", 'bool')], "line": [("name", dtype(object)), ("std_type", dtype(object)), @@ -258,7 +258,7 @@ def create_empty_network(name="", f_hz=50., sn_mva=1, add_stdtypes=True): ("r_ohm", "f8"), ("x_ohm", "f8"), ("vm_pu", "f8"), - ("contribution_factor", 'f8'), + ("slack_weight", 'f8'), ("in_service", "bool")], "measurement": [("name", dtype(object)), ("measurement_type", dtype(object)), @@ -1343,7 +1343,7 @@ def create_gen(net, bus, p_mw, vm_pu=1., sn_mva=nan, name=None, index=None, max_ min_q_mvar=nan, min_p_mw=nan, max_p_mw=nan, min_vm_pu=nan, max_vm_pu=nan, scaling=1., type=None, slack=False, controllable=nan, vn_kv=nan, xdss_pu=nan, rdss_ohm=nan, cos_phi=nan, pg_percent=nan, power_station_trafo=None, - in_service=True, contribution_factor=0.0): + in_service=True, slack_weight=0.0): """ Adds a generator to the network. @@ -1377,7 +1377,7 @@ def create_gen(net, bus, p_mw, vm_pu=1., sn_mva=nan, name=None, index=None, max_ False: p_mw and vm_pu setpoints are enforced and *limits are ignored*. defaults to True if "controllable" column exists in DataFrame - **contribution_factor** (float, default 0.0) - Slack power contribution factor + **slack_weight** (float, default 0.0) - Slack power contribution factor powerflow @@ -1423,8 +1423,8 @@ def create_gen(net, bus, p_mw, vm_pu=1., sn_mva=nan, name=None, index=None, max_ index = _get_index_with_check(net, "gen", index, name="generator") columns = ["name", "bus", "p_mw", "vm_pu", "sn_mva", "type", "slack", "in_service", - "scaling", "contribution_factor"] - variables = [name, bus, p_mw, vm_pu, sn_mva, type, slack, bool(in_service), scaling, contribution_factor] + "scaling", "slack_weight"] + variables = [name, bus, p_mw, vm_pu, sn_mva, type, slack, bool(in_service), scaling, slack_weight] _set_entries(net, "gen", index, True, **dict(zip(columns, variables))) @@ -1461,7 +1461,7 @@ def create_gens(net, buses, p_mw, vm_pu=1., sn_mva=nan, name=None, index=None, m min_q_mvar=None, min_p_mw=None, max_p_mw=None, min_vm_pu=None, max_vm_pu=None, scaling=1., type=None, slack=False, controllable=None, vn_kv=None, xdss_pu=None, rdss_ohm=None, cos_phi=None, pg_percent=None, power_station_trafo=None, - in_service=True, contribution_factor=0.0, **kwargs): + in_service=True, slack_weight=0.0, **kwargs): """ Adds generators to the specified buses network. @@ -1518,7 +1518,7 @@ def create_gens(net, buses, p_mw, vm_pu=1., sn_mva=nan, name=None, index=None, m **in_service** (bool, True) - True for in_service or False for out of service - **contribution_factor** (float, default 0.0) - Slack power contribution factor + **slack_weight** (float, default 0.0) - Slack power contribution factor **max_p_mw** (list of float, default NaN) - Maximum active power injection - necessary for\ OPF @@ -1552,7 +1552,7 @@ def create_gens(net, buses, p_mw, vm_pu=1., sn_mva=nan, name=None, index=None, m index = _get_multiple_index_with_check(net, "gen", index, len(buses)) entries = {"bus": buses, "p_mw": p_mw, "vm_pu": vm_pu, "sn_mva": sn_mva, "scaling": scaling, - "in_service": in_service, "contribution_factor": contribution_factor, "name": name, "type": type, "slack": slack} + "in_service": in_service, "slack_weight": slack_weight, "name": name, "type": type, "slack": slack} _add_series_to_entries(entries, index, "min_p_mw", min_p_mw) _add_series_to_entries(entries, index, "max_p_mw", max_p_mw) @@ -1644,7 +1644,7 @@ def create_ext_grid(net, bus, vm_pu=1.0, va_degree=0., name=None, in_service=Tru s_sc_max_mva=nan, s_sc_min_mva=nan, rx_max=nan, rx_min=nan, max_p_mw=nan, min_p_mw=nan, max_q_mvar=nan, min_q_mvar=nan, index=None, r0x0_max=nan, x0x_max=nan, controllable=nan, - contribution_factor=1.0, **kwargs): + slack_weight=1.0, **kwargs): """ Creates an external grid connection. @@ -1691,7 +1691,7 @@ def create_ext_grid(net, bus, vm_pu=1.0, va_degree=0., name=None, in_service=Tru **x0x_max** (float, NaN) - maximal X0/X-ratio to calculate Zero sequence internal impedance of ext_grid - **contribution_factor** (float, default 1.0) - Slack power contribution factor + **slack_weight** (float, default 1.0) - Slack power contribution factor ** only considered in loadflow if calculate_voltage_angles = True @@ -1716,8 +1716,8 @@ def create_ext_grid(net, bus, vm_pu=1.0, va_degree=0., name=None, in_service=Tru index = _get_index_with_check(net, "ext_grid", index, name="external grid") - entries = dict(zip(["bus", "name", "vm_pu", "va_degree", "in_service", "contribution_factor"], - [bus, name, vm_pu, va_degree, bool(in_service), contribution_factor])) + entries = dict(zip(["bus", "name", "vm_pu", "va_degree", "in_service", "slack_weight"], + [bus, name, vm_pu, va_degree, bool(in_service), slack_weight])) _set_entries(net, "ext_grid", index, **entries, **kwargs) # OPF limits @@ -3262,7 +3262,7 @@ def create_ward(net, bus, ps_mw, qs_mvar, pz_mw, qz_mvar, name=None, in_service= def create_xward(net, bus, ps_mw, qs_mvar, pz_mw, qz_mvar, r_ohm, x_ohm, vm_pu, in_service=True, - name=None, index=None, contribution_factor=0.0): + name=None, index=None, slack_weight=0.0): """ Creates an extended ward equivalent. @@ -3288,7 +3288,7 @@ def create_xward(net, bus, ps_mw, qs_mvar, pz_mw, qz_mvar, r_ohm, x_ohm, vm_pu, **vm_pu** (float) - voltage magnitude at the additional PV-node - **contribution_factor** (float, default 1.0) - Slack power contribution factor + **slack_weight** (float, default 1.0) - Slack power contribution factor OUTPUT: xward id @@ -3298,8 +3298,8 @@ def create_xward(net, bus, ps_mw, qs_mvar, pz_mw, qz_mvar, r_ohm, x_ohm, vm_pu, index = _get_index_with_check(net, "xward", index, "extended ward equivalent") columns = ["bus", "ps_mw", "qs_mvar", "pz_mw", "qz_mvar", "r_ohm", "x_ohm", "vm_pu", "name", - "contribution_factor", "in_service"] - values = [bus, ps_mw, qs_mvar, pz_mw, qz_mvar, r_ohm, x_ohm, vm_pu, name, contribution_factor, in_service] + "slack_weight", "in_service"] + values = [bus, ps_mw, qs_mvar, pz_mw, qz_mvar, r_ohm, x_ohm, vm_pu, name, slack_weight, in_service] _set_entries(net, "xward", index, **dict(zip(columns, values))) return index diff --git a/pandapower/pf/create_jacobian.py b/pandapower/pf/create_jacobian.py index 5c696d7e2..142c75aa5 100644 --- a/pandapower/pf/create_jacobian.py +++ b/pandapower/pf/create_jacobian.py @@ -16,7 +16,7 @@ def _create_J_with_numba(Ybus, V, pvpq, pq, createJ, pvpq_lookup, npv, npq): Ibus = zeros(len(V), dtype=complex128) # create Jacobian from fast calc of dS_dV dVm_x, dVa_x = dSbus_dV_numba_sparse(Ybus.data, Ybus.indptr, Ybus.indices, V, V / abs(V), Ibus) - + # todo: initialize J also for extra column and extra row, for the rows where slack_weight != 0 # data in J, space preallocated is bigger than acutal Jx -> will be reduced later on Jx = empty(len(dVm_x) * 4, dtype=float64) # row pointer, dimension = pvpq.shape[0] + pq.shape[0] + 1 @@ -38,11 +38,12 @@ def _create_J_with_numba(Ybus, V, pvpq, pq, createJ, pvpq_lookup, npv, npq): return J -def _create_J_without_numba(Ybus, V, ref, pvpq, pq, contribution_factors, dist_slack): +def _create_J_without_numba(Ybus, V, ref, pvpq, pq, slack_weights, dist_slack): # create Jacobian with standard pypower implementation. dS_dVm, dS_dVa = dSbus_dV(Ybus, V) ## evaluate Jacobian + if dist_slack: rows_pvpq = array(r_[ref, pvpq]).T cols_pvpq = r_[ref[1:], pvpq] @@ -57,7 +58,7 @@ def _create_J_without_numba(Ybus, V, ref, pvpq, pq, contribution_factors, dist_s J21 = dS_dVa[array([pq]).T, cols_pvpq].imag J22 = dS_dVm[array([pq]).T, pq].imag if dist_slack: - J13 = sparse(contribution_factors.reshape(-1,1)) + J13 = sparse(slack_weights.reshape(-1,1)) J23 = sparse(zeros(shape=(len(pq), 1))) J = vstack([ hstack([J11, J12, J13]), @@ -75,16 +76,16 @@ def _create_J_without_numba(Ybus, V, ref, pvpq, pq, contribution_factors, dist_s return J -def create_jacobian_matrix(Ybus, V, ref, pvpq, pq, createJ, pvpq_lookup, npv, npq, numba, contribution_factors, dist_slack): +def create_jacobian_matrix(Ybus, V, ref, pvpq, pq, createJ, pvpq_lookup, npv, npq, numba, slack_weights, dist_slack): if numba: J = _create_J_with_numba(Ybus, V, pvpq, pq, createJ, pvpq_lookup, npv, npq) else: - J = _create_J_without_numba(Ybus, V, ref, pvpq, pq, contribution_factors, dist_slack) + J = _create_J_without_numba(Ybus, V, ref, pvpq, pq, slack_weights, dist_slack) return J def get_fastest_jacobian_function(pvpq, pq, numba, dist_slack): - if numba and not dist_slack: + if numba: if len(pvpq) == len(pq): create_jacobian = create_J2 else: diff --git a/pandapower/pf/create_jacobian_numba.py b/pandapower/pf/create_jacobian_numba.py index d44445579..1d4fbe8ab 100644 --- a/pandapower/pf/create_jacobian_numba.py +++ b/pandapower/pf/create_jacobian_numba.py @@ -168,3 +168,95 @@ def create_J2(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, pvpq, pq, Jx, Jj, Jp): # pragm nnz += 1 # Jp: number of nonzeros per row = nnz - nnzStart (nnz at begging of loop - nnz at end of loop) Jp[r + lpvpq + 1] = nnz - nnzStart + Jp[r + lpvpq] + + +@jit(nopython=True, cache=False) +def create_J_ds(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, ref, pvpq, pq, Jx, Jj, Jp): # pragma: no cover + """Calculates Jacobian faster with numba and sparse matrices. + + Input: dS_dVa and dS_dVm in CSR sparse form (Yx = data, Yp = indptr, Yj = indices), pvpq, pq from pypower + + OUTPUT: data from CSR form of Jacobian (Jx, Jj, Jp) and number of non zeros (nnz) + + @author: Florian Schaefer + + Calculate Jacobian entries + + J11 = dS_dVa[array([pvpq]).T, pvpq].real + J12 = dS_dVm[array([pvpq]).T, pq].real + J21 = dS_dVa[array([pq]).T, pvpq].imag + J22 = dS_dVm[array([pq]).T, pq].imag + + Explanation of code: + To understand the concept the CSR storage method should be known. See: + https://de.wikipedia.org/wiki/Compressed_Row_Storage + + J has the shape + | J11 | J12 | | (pvpq, pvpq) | (pvpq, pq) | + | --------- | = dimensions: | ------------------------- | + | J21 | J22 | | (pq, pvpq) | (pq, pq) | + + We first iterate the rows of J11 and J12 (for r in range lpvpq) and add the entries which are stored in dS_dV + Then we iterate the rows of J21 and J22 (for r in range lpq) and add the entries from dS_dV + + Note: The row and column pointer of of dVm and dVa are the same as the one from Ybus + """ + # Jacobi Matrix in sparse form + # Jp, Jx, Jj equal J like: + # J = zeros(shape=(ndim, ndim), dtype=float64) + + # get length of vectors + lpvpq = len(pvpq) + lpq = len(pq) + lpv = lpvpq - lpq + + # nonzeros in J + nnz = 0 + + # iterate rows of J + # first iterate pvpq (J11 and J12) + for r in range(lpvpq): + # nnzStar is necessary to calculate nonzeros per row + nnzStart = nnz + # iterate columns of J11 = dS_dVa.real at positions in pvpq + # check entries in row pvpq[r] of dS_dV + for c in range(Yp[pvpq[r]], Yp[pvpq[r] + 1]): + # check if column Yj is in pvpq + cc = pvpq_lookup[Yj[c]] + # entries for J11 and J12 + if pvpq[cc] == Yj[c]: + # entry found + # equals entry of J11: J[r,cc] = dVa_x[c].real + Jx[nnz] = dVa_x[c].real + Jj[nnz] = cc + nnz += 1 + # if entry is found in the "pq part" of pvpq = add entry of J12 + if cc >= lpv: + Jx[nnz] = dVm_x[c].real + Jj[nnz] = cc + lpq + nnz += 1 + # add the slack weight for the last column + if slack_weights[r] != 0: + # todo: add the last entry of the row for slack weight + pass + # Jp: number of nonzeros per row = nnz - nnzStart (nnz at begging of loop - nnz at end of loop) + Jp[r + 1] = nnz - nnzStart + Jp[r] + # second: iterate pq (J21 and J22) + for r in range(lpq): + nnzStart = nnz + # iterate columns of J21 = dS_dVa.imag at positions in pvpq + for c in range(Yp[pq[r]], Yp[pq[r] + 1]): + cc = pvpq_lookup[Yj[c]] + if pvpq[cc] == Yj[c]: + # entry found + # equals entry of J21: J[r + lpvpq, cc] = dVa_x[c].imag + Jx[nnz] = dVa_x[c].imag + Jj[nnz] = cc + nnz += 1 + if cc >= lpv: + # if entry is found in the "pq part" of pvpq = Add entry of J22 + Jx[nnz] = dVm_x[c].imag + Jj[nnz] = cc + lpq + nnz += 1 + # Jp: number of nonzeros per row = nnz - nnzStart (nnz at begging of loop - nnz at end of loop) + Jp[r + lpvpq + 1] = nnz - nnzStart + Jp[r + lpvpq] \ No newline at end of file diff --git a/pandapower/pf/ppci_variables.py b/pandapower/pf/ppci_variables.py index 1ba3a2298..18e75e687 100644 --- a/pandapower/pf/ppci_variables.py +++ b/pandapower/pf/ppci_variables.py @@ -4,7 +4,7 @@ # and Energy System Technology (IEE), Kassel. All rights reserved. from pandapower.pypower.idx_bus import VM, VA -from pandapower.pypower.idx_gen import GEN_BUS, GEN_STATUS, VG, CON_FAC +from pandapower.pypower.idx_gen import GEN_BUS, GEN_STATUS, VG, SL_FAC from pandapower.pypower.bustypes import bustypes from numpy import flatnonzero as find, pi, exp diff --git a/pandapower/pypower/idx_bus.py b/pandapower/pypower/idx_bus.py index 9250b77dd..7f1ca87c3 100644 --- a/pandapower/pypower/idx_bus.py +++ b/pandapower/pypower/idx_bus.py @@ -84,6 +84,6 @@ # Additional pandapower extensions to ppc CID = 13 # coefficient of constant current load at rated voltage in range [0,1] CZD = 14 # coefficient of constant impedance load at rated voltage in range [0,1] -CON_FAC = 15 +SL_FAC = 15 bus_cols = 16 diff --git a/pandapower/pypower/idx_gen.py b/pandapower/pypower/idx_gen.py index 86cec2480..0e92a28b6 100644 --- a/pandapower/pypower/idx_gen.py +++ b/pandapower/pypower/idx_gen.py @@ -80,7 +80,7 @@ MU_QMIN = 24 # Kuhn-Tucker multiplier on lower Qg limit (u/MVAr) # Additional added by pandapower -CON_FAC = 25 # Slack contribution factor +SL_FAC = 25 # Slack contribution factor # Note: When a generator's PQ capability curve is not simply a box and the # upper Qg limit is binding, the multiplier on this constraint is split into diff --git a/pandapower/pypower/newtonpf.py b/pandapower/pypower/newtonpf.py index d77bbc06c..a397614ff 100644 --- a/pandapower/pypower/newtonpf.py +++ b/pandapower/pypower/newtonpf.py @@ -18,8 +18,8 @@ from pandapower.pf.iwamoto_multiplier import _iwamoto_step from pandapower.pypower.makeSbus import makeSbus from pandapower.pf.create_jacobian import create_jacobian_matrix, get_fastest_jacobian_function -from pandapower.pypower.idx_gen import GEN_BUS, GEN_STATUS, CON_FAC -from pandapower.pypower.idx_bus import BUS_I, CON_FAC +from pandapower.pypower.idx_gen import GEN_BUS, GEN_STATUS, SL_FAC +from pandapower.pypower.idx_bus import BUS_I, SL_FAC def newtonpf(Ybus, Sbus, V0, ref, pv, pq, ppci, options): @@ -52,7 +52,7 @@ def newtonpf(Ybus, Sbus, V0, ref, pv, pq, ppci, options): baseMVA = ppci['baseMVA'] bus = ppci['bus'] gen = ppci['gen'] - contribution_factors = bus[:, CON_FAC] ## contribution factors for distributed slack + slack_weights = bus[:, SL_FAC] ## contribution factors for distributed slack # initialize i = 0 @@ -97,7 +97,7 @@ def newtonpf(Ybus, Sbus, V0, ref, pv, pq, ppci, options): j8 = j6 + nref # j7:j8 - slacks # evaluate F(x0) - F = _evaluate_Fx(Ybus, V, Sbus, ref, pv, pq, contribution_factors, dist_slack, slack) + F = _evaluate_Fx(Ybus, V, Sbus, ref, pv, pq, slack_weights, dist_slack, slack) converged = _check_for_convergence(F, tol) Ybus = Ybus.tocsr() @@ -108,7 +108,7 @@ def newtonpf(Ybus, Sbus, V0, ref, pv, pq, ppci, options): # update iteration counter i = i + 1 - J = create_jacobian_matrix(Ybus, V, ref, pvpq, pq, createJ, pvpq_lookup, npv, npq, numba, contribution_factors, dist_slack) + J = create_jacobian_matrix(Ybus, V, ref, pvpq, pq, createJ, pvpq_lookup, npv, npq, numba, slack_weights, dist_slack) dx = -1 * spsolve(J, F, permc_spec=permc_spec, use_umfpack=use_umfpack) # update voltage @@ -135,18 +135,18 @@ def newtonpf(Ybus, Sbus, V0, ref, pv, pq, ppci, options): if voltage_depend_loads: Sbus = makeSbus(baseMVA, bus, gen, vm=Vm) - F = _evaluate_Fx(Ybus, V, Sbus, ref, pv, pq, contribution_factors, dist_slack, slack) + F = _evaluate_Fx(Ybus, V, Sbus, ref, pv, pq, slack_weights, dist_slack, slack) converged = _check_for_convergence(F, tol) return V, converged, i, J, Vm_it, Va_it -def _evaluate_Fx(Ybus, V, Sbus, ref, pv, pq, contribution_factors=None, dist_slack=False, slack=None): +def _evaluate_Fx(Ybus, V, Sbus, ref, pv, pq, slack_weights=None, dist_slack=False, slack=None): # evalute F(x) if dist_slack: # we include the slack power (slack * contribution factors) in the mismatch calculation - mis = V * conj(Ybus * V) - Sbus + contribution_factors * slack + mis = V * conj(Ybus * V) - Sbus + slack_weights * slack F = r_[mis[ref].real, mis[pv].real, mis[pq].real, mis[pq].imag] else: mis = V * conj(Ybus * V) - Sbus diff --git a/pandapower/pypower/pfsoln.py b/pandapower/pypower/pfsoln.py index b10af9cf0..5c38f753e 100644 --- a/pandapower/pypower/pfsoln.py +++ b/pandapower/pypower/pfsoln.py @@ -17,7 +17,7 @@ from pandapower.pypower.idx_brch import F_BUS, T_BUS, BR_STATUS, PF, PT, QF, QT from pandapower.pypower.idx_bus import VM, VA, PD, QD -from pandapower.pypower.idx_gen import GEN_BUS, GEN_STATUS, PG, QG, QMIN, QMAX, CON_FAC +from pandapower.pypower.idx_gen import GEN_BUS, GEN_STATUS, PG, QG, QMIN, QMAX, SL_FAC EPS = finfo(float).eps @@ -80,7 +80,7 @@ def _update_p(baseMVA, bus, gen, ref, gbus, on, Sbus, ref_gens): ext_grids = intersect1d(gens_at_bus, ref_gens) pv_gens = setdiff1d(gens_at_bus, ext_grids) p_ext_grids = p_bus - sum(gen[pv_gens, PG]) - con_fac = gen[ext_grids, CON_FAC] + con_fac = gen[ext_grids, SL_FAC] sum_con_fac = sum(con_fac) if sum_con_fac > 0: # distribute bus slack power according to the distributed slack contribution factors diff --git a/pandapower/test/loadflow/test_dist_slack.py b/pandapower/test/loadflow/test_dist_slack.py index d37a0bbb4..3417dfd6c 100644 --- a/pandapower/test/loadflow/test_dist_slack.py +++ b/pandapower/test/loadflow/test_dist_slack.py @@ -21,7 +21,7 @@ def small_example_grid(): net = pp.create_empty_network() pp.create_buses(net, 3, 20) - pp.create_gen(net, 0, p_mw=100, vm_pu=1, slack=True, contribution_factor=1) + pp.create_gen(net, 0, p_mw=100, vm_pu=1, slack=True, slack_weight=1) # pp.create_ext_grid(net, 0) pp.create_load(net, 1, p_mw=100, q_mvar=100) @@ -42,9 +42,9 @@ def get_injection_consumption(net): @pytest.mark.xfail(reason="is not implemented with numba") def test_numba(): net = small_example_grid() - # if no contribution_factor is given for ext_grid, 1 is assumed, because normally + # if no slack_weight is given for ext_grid, 1 is assumed, because normally # ext_grids are responsible to take the slack power - net.gen["contribution_factor"] = 1 + net.gen["slack_weight"] = 1 net2 = net.deepcopy() pp.runpp(net, distributed_slack=True) @@ -53,9 +53,9 @@ def test_numba(): def test_small_example(): net = small_example_grid() - # if no contribution_factor is given for ext_grid, 1 is assumed, because normally + # if no slack_weight is given for ext_grid, 1 is assumed, because normally # ext_grids are responsible to take the slack power - net.gen["contribution_factor"] = 1 + net.gen["slack_weight"] = 1 net2 = net.deepcopy() @@ -68,7 +68,7 @@ def test_small_example(): def test_two_gens(): net = small_example_grid() - pp.create_gen(net, 2, 200, 1., slack=True, contribution_factor=2) + pp.create_gen(net, 2, 200, 1., slack=True, slack_weight=2) pp.runpp(net, distributed_slack=True, numba=False) @@ -76,7 +76,7 @@ def test_two_gens(): assert abs(net.res_gen.at[1, 'p_mw'] / net.res_gen.p_mw.sum() - 2 / 3) < 1e-6 injected_p_mw, consumed_p_mw = get_injection_consumption(net) - con_fac = net.gen.contribution_factor / np.sum(net.gen.contribution_factor) + con_fac = net.gen.slack_weight / np.sum(net.gen.slack_weight) assert abs(net.res_gen.p_mw.sum() - consumed_p_mw) < 1e-6 assert np.allclose(net.gen.p_mw - (injected_p_mw - consumed_p_mw) * con_fac, net.res_gen.p_mw, atol=1e-6, rtol=0) @@ -84,13 +84,13 @@ def test_two_gens(): def test_three_gens(): net = small_example_grid() - pp.create_gen(net, 1, 200, 1., slack=True, contribution_factor=2) - pp.create_gen(net, 2, 200, 1., slack=True, contribution_factor=2) + pp.create_gen(net, 1, 200, 1., slack=True, slack_weight=2) + pp.create_gen(net, 2, 200, 1., slack=True, slack_weight=2) pp.runpp(net, distributed_slack=True, numba=False, tolerance_mva=1e-6) injected_p_mw, consumed_p_mw = get_injection_consumption(net) - con_fac = net.gen.contribution_factor / np.sum(net.gen.contribution_factor) + con_fac = net.gen.slack_weight / np.sum(net.gen.slack_weight) assert abs(net.res_gen.p_mw.sum() - consumed_p_mw) < 1e-6 assert np.allclose(net.gen.p_mw - (injected_p_mw - consumed_p_mw) * con_fac, net.res_gen.p_mw, atol=1e-6, rtol=0) @@ -99,7 +99,7 @@ def test_three_gens(): @pytest.mark.xfail(reason="xward not implemented as slack") def test_gen_xward(): net = small_example_grid() - pp.create_xward(net, 2, 200, 0, 0, 0, 0, 6, 1, contribution_factor=2) + pp.create_xward(net, 2, 200, 0, 0, 0, 0, 6, 1, slack_weight=2) pp.runpp(net, distributed_slack=True, numba=False) @@ -118,9 +118,9 @@ def test_gen_xward(): def test_ext_grid(): net = small_example_grid() net.gen.in_service = False - pp.create_ext_grid(net, 0, contribution_factor=1) - pp.create_ext_grid(net, 2, contribution_factor=2) - con_fac = net.ext_grid.contribution_factor / np.sum(net.ext_grid.contribution_factor) + pp.create_ext_grid(net, 0, slack_weight=1) + pp.create_ext_grid(net, 2, slack_weight=2) + con_fac = net.ext_grid.slack_weight / np.sum(net.ext_grid.slack_weight) pp.runpp(net, distributed_slack=True, numba=False) @@ -131,7 +131,7 @@ def test_ext_grid(): def test_gen_ext_grid(): net = small_example_grid() - pp.create_ext_grid(net, 2, contribution_factor=2) + pp.create_ext_grid(net, 2, slack_weight=2) con_fac = np.array([1, 2]) / 3 pp.runpp(net, distributed_slack=True, numba=False) @@ -146,7 +146,7 @@ def test_gen_ext_grid(): def test_pvgen_ext_grid(): # now test the behavior if gen is not slack net = small_example_grid() - pp.create_ext_grid(net, 2, contribution_factor=2) + pp.create_ext_grid(net, 2, slack_weight=2) net.gen.slack = False con_fac = np.array([1, 2]) / 3 @@ -163,7 +163,7 @@ def test_pvgen_ext_grid(): def test_same_bus(): net = small_example_grid() - pp.create_ext_grid(net, 0, contribution_factor=2) + pp.create_ext_grid(net, 0, slack_weight=2) con_fac = np.array([1, 2]) / 3 pp.runpp(net, distributed_slack=True, numba=False) @@ -179,7 +179,7 @@ def test_separate_zones(): net = small_example_grid() b1, b2 = pp.create_buses(net, 2, 110) pp.create_line_from_parameters(net, b1, b2, length_km=1, r_ohm_per_km=0.01, x_ohm_per_km=0.1, c_nf_per_km=0, max_i_ka=1) - pp.create_gen(net, b1, 50, 1, slack=True, contribution_factor=1) + pp.create_gen(net, b1, 50, 1, slack=True, slack_weight=1) pp.create_load(net, b2, 100) # distributed slack not implemented for separate zones @@ -195,9 +195,9 @@ def case9_simplified(): for i, (fb, tb) in enumerate(lines): pp.create_line_from_parameters(net, fb, tb, 1, 20, 100, 0, 1) - pp.create_gen(net, 0, 0, slack=True, contribution_factor=1) - pp.create_gen(net, 1, 163, slack=True, contribution_factor=1) - pp.create_gen(net, 2, 85, slack=True, contribution_factor=1) + pp.create_gen(net, 0, 0, slack=True, slack_weight=1) + pp.create_gen(net, 1, 163, slack=True, slack_weight=1) + pp.create_gen(net, 2, 85, slack=True, slack_weight=1) pp.create_load(net, 4, 90, 30) pp.create_load(net, 6, 100, 35) @@ -207,15 +207,15 @@ def case9_simplified(): def test_case9(): """ - basic test with ext_grid + gen, scaling != 1, contribution_factor sum = 1 + basic test with ext_grid + gen, scaling != 1, slack_weight sum = 1 """ tol_mw = 1e-6 net = networks.case9() # net = case9_simplified() - # set contribution_factor (distributed slack participation factor) - net.ext_grid['contribution_factor'] = 1 / 3 - net.gen['contribution_factor'] = 1 / 3 + # set slack_weight (distributed slack participation factor) + net.ext_grid['slack_weight'] = 1 / 3 + net.gen['slack_weight'] = 1 / 3 # todo: is it clearer to consider scaling or to ignore it? right now is ignored # net.gen["scaling"] = [0.8, 0.7] net.gen["scaling"] = [1, 1] @@ -234,8 +234,8 @@ def test_case9(): res_p_slack = ext_grid_diff_p.sum() + gen_diff.sum() # calculate target active power difference - p_target_ext_grid = res_p_slack * net.ext_grid.contribution_factor - p_target_gen = res_p_slack * net.gen.contribution_factor + p_target_ext_grid = res_p_slack * net.ext_grid.slack_weight + p_target_gen = res_p_slack * net.gen.slack_weight # check the power balances assert np.allclose(ext_grid_diff_p, p_target_ext_grid, atol=tol_mw) @@ -249,7 +249,7 @@ def test_case9(): input_p_mw = np.r_[net.gen.p_mw, 0] # 100 MW for gen and 0 for ext_grid res_p_mw = np.r_[net.res_gen.p_mw, net.res_ext_grid.p_mw.fillna(0)] # resulting injection after distributed slack # calculate normalized contribution factors - con_fac = np.r_[net.gen.contribution_factor, net.ext_grid.contribution_factor] + con_fac = np.r_[net.gen.slack_weight, net.ext_grid.slack_weight] con_fac /= sum(con_fac) assert np.allclose(input_p_mw - (injected_p_mw - consumed_p_mw) * con_fac, res_p_mw, atol=1e-6, rtol=0) diff --git a/pandapower/test/loadflow/test_runpp.py b/pandapower/test/loadflow/test_runpp.py index a9afd4edf..dce4c3bac 100644 --- a/pandapower/test/loadflow/test_runpp.py +++ b/pandapower/test/loadflow/test_runpp.py @@ -807,7 +807,7 @@ def test_get_internal(): pvpq = np.r_[pv, pq] dist_slack = False - J = _create_J_without_numba(Ybus, V, ref, pvpq, pq, contribution_factors=None, dist_slack=False) + J = _create_J_without_numba(Ybus, V, ref, pvpq, pq, slack_weights=None, dist_slack=False) assert sum(sum(abs(abs(J.toarray()) - abs(J_intern.toarray())))) < 0.05 # get J for all other algorithms From fd4c2f7b30126695c6b421d84ab7e55b90418fae Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Wed, 14 Jul 2021 20:07:44 +0200 Subject: [PATCH 086/422] refactor the tests --- pandapower/test/loadflow/test_dist_slack.py | 118 ++++++++------------ 1 file changed, 48 insertions(+), 70 deletions(-) diff --git a/pandapower/test/loadflow/test_dist_slack.py b/pandapower/test/loadflow/test_dist_slack.py index 3417dfd6c..d418fcb0e 100644 --- a/pandapower/test/loadflow/test_dist_slack.py +++ b/pandapower/test/loadflow/test_dist_slack.py @@ -32,12 +32,41 @@ def small_example_grid(): return net -def get_injection_consumption(net): +def _get_injection_consumption(net): consumed_p_mw = net.load.query("in_service").p_mw.sum() + net.res_line.pl_mw.sum() injected_p_mw = net.gen.query("in_service").p_mw.sum() + net.xward.query("in_service").ps_mw.sum() return injected_p_mw, consumed_p_mw +def _get_slack_weights(net): + slack_weights = np.r_[net.gen.query("in_service").slack_weight, + net.ext_grid.query("in_service").slack_weight, + net.xward.query("in_service").slack_weight] + return slack_weights / sum(slack_weights) + + +def _get_inputs_results(net): + inputs = np.r_[net.gen.query("in_service").p_mw, + np.zeros(len(net.ext_grid.query("in_service"))), + net.xward.query("in_service").ps_mw] + results = np.r_[net.res_gen[net.gen.in_service].p_mw, + net.res_ext_grid[net.ext_grid.in_service].p_mw, + net.res_xward[net.xward.in_service].p_mw] + return inputs, results + + +def assert_results_correct(net): + # first, collect slack_weights, injection and consumption, inputs and reults from net + injected_p_mw, consumed_p_mw = _get_injection_consumption(net) + input_p_mw, result_p_mw = _get_inputs_results(net) + slack_weights = _get_slack_weights(net) + + # assert power balance is correct + assert abs(result_p_mw.sum() - consumed_p_mw) < 1e-6 + # assert results are according to the distributed slack formula + assert np.allclose(input_p_mw - (injected_p_mw - consumed_p_mw) * slack_weights, result_p_mw, atol=1e-6, rtol=0) + + @pytest.mark.skipif(not numba_installed, reason="skip the test if numba not installed") @pytest.mark.xfail(reason="is not implemented with numba") def test_numba(): @@ -49,6 +78,7 @@ def test_numba(): pp.runpp(net, distributed_slack=True) assert_res_equal(net, net2) + assert_results_correct(net) def test_small_example(): @@ -64,36 +94,24 @@ def test_small_example(): pp.runpp(net2, distributed_slack=False) assert_res_equal(net, net2) + assert_results_correct(net) def test_two_gens(): net = small_example_grid() - pp.create_gen(net, 2, 200, 1., slack=True, slack_weight=2) + pp.create_gen(net, 2, 200, 1., slack_weight=2) pp.runpp(net, distributed_slack=True, numba=False) - - assert abs(net.res_gen.at[0, 'p_mw'] / net.res_gen.p_mw.sum() - 1 / 3) < 1e-6 - assert abs(net.res_gen.at[1, 'p_mw'] / net.res_gen.p_mw.sum() - 2 / 3) < 1e-6 - - injected_p_mw, consumed_p_mw = get_injection_consumption(net) - con_fac = net.gen.slack_weight / np.sum(net.gen.slack_weight) - - assert abs(net.res_gen.p_mw.sum() - consumed_p_mw) < 1e-6 - assert np.allclose(net.gen.p_mw - (injected_p_mw - consumed_p_mw) * con_fac, net.res_gen.p_mw, atol=1e-6, rtol=0) + assert_results_correct(net) def test_three_gens(): net = small_example_grid() - pp.create_gen(net, 1, 200, 1., slack=True, slack_weight=2) - pp.create_gen(net, 2, 200, 1., slack=True, slack_weight=2) + pp.create_gen(net, 1, 200, 1., slack_weight=2) + pp.create_gen(net, 2, 200, 1., slack_weight=2) pp.runpp(net, distributed_slack=True, numba=False, tolerance_mva=1e-6) - - injected_p_mw, consumed_p_mw = get_injection_consumption(net) - con_fac = net.gen.slack_weight / np.sum(net.gen.slack_weight) - - assert abs(net.res_gen.p_mw.sum() - consumed_p_mw) < 1e-6 - assert np.allclose(net.gen.p_mw - (injected_p_mw - consumed_p_mw) * con_fac, net.res_gen.p_mw, atol=1e-6, rtol=0) + assert_results_correct(net) @pytest.mark.xfail(reason="xward not implemented as slack") @@ -102,17 +120,7 @@ def test_gen_xward(): pp.create_xward(net, 2, 200, 0, 0, 0, 0, 6, 1, slack_weight=2) pp.runpp(net, distributed_slack=True, numba=False) - - assert abs(net.res_gen.at[0, 'p_mw'] / (net.res_gen.p_mw.sum() + net.res_xward.p_mw.sum()) - 1 / 3) < 1e-6 - assert abs(net.res_xward.at[0, 'p_mw'] / (net.res_gen.p_mw.sum() + net.res_xward.p_mw.sum()) - 2 / 3) < 1e-6 - - consumed_p_mw = net.load.p_mw.sum() + net.res_line.pl_mw.sum() - gen_p_mw = net.gen.p_mw.sum() + net.xward.ps_mw.sum() - con_fac = np.array([1, 2]) / 3 - - assert abs(net.res_gen.p_mw.sum() - consumed_p_mw) < 1e-6 - # todo fix energy check - # assert np.allclose(net.gen.p_mw - (gen_p_mw - consumed_p_mw) * con_fac, net.res_gen.p_mw, atol=1e-6, rtol=0) + assert_results_correct(net) def test_ext_grid(): @@ -120,27 +128,17 @@ def test_ext_grid(): net.gen.in_service = False pp.create_ext_grid(net, 0, slack_weight=1) pp.create_ext_grid(net, 2, slack_weight=2) - con_fac = net.ext_grid.slack_weight / np.sum(net.ext_grid.slack_weight) pp.runpp(net, distributed_slack=True, numba=False) - - injected_p_mw, consumed_p_mw = get_injection_consumption(net) - assert abs(net.res_ext_grid.p_mw.sum() - consumed_p_mw) < 1e-6 - assert np.allclose((consumed_p_mw - injected_p_mw) * con_fac, net.res_ext_grid.p_mw, atol=1e-6, rtol=0) + assert_results_correct(net) def test_gen_ext_grid(): net = small_example_grid() pp.create_ext_grid(net, 2, slack_weight=2) - con_fac = np.array([1, 2]) / 3 pp.runpp(net, distributed_slack=True, numba=False) - - injected_p_mw, consumed_p_mw = get_injection_consumption(net) - assert abs(net.res_ext_grid.p_mw.sum() + net.res_gen.p_mw.sum() - consumed_p_mw) < 1e-6 - input_p_mw = np.r_[net.gen.p_mw, 0] # 100 MW for gen and 0 for ext_grid - res_p_mw = np.r_[net.res_gen.p_mw, net.res_ext_grid.p_mw.fillna(0)] # resulting injection after distributed slack - assert np.allclose(input_p_mw - (injected_p_mw - consumed_p_mw) * con_fac, res_p_mw, atol=1e-6, rtol=0) + assert_results_correct(net) def test_pvgen_ext_grid(): @@ -148,38 +146,24 @@ def test_pvgen_ext_grid(): net = small_example_grid() pp.create_ext_grid(net, 2, slack_weight=2) net.gen.slack = False - con_fac = np.array([1, 2]) / 3 - # gen with slack=False does not work as distributed slack, we throw error - with pytest.raises(UserWarning): - pp.runpp(net, distributed_slack=True, numba=False) - - # injected_p_mw, consumed_p_mw = get_injection_consumption(net) - # assert abs(net.res_ext_grid.p_mw.sum() + net.res_gen.p_mw.sum() - consumed_p_mw) < 1e-6 - # input_p_mw = np.array([100, 0]) # 100 MW for gen and 0 for ext_grid - # res_p_mw = np.r_[net.res_gen.p_mw, net.res_ext_grid.p_mw] # resulting injection after distributed slack - # assert np.allclose(input_p_mw - (injected_p_mw - consumed_p_mw) * con_fac, res_p_mw, atol=1e-6, rtol=0) + pp.runpp(net, distributed_slack=True, numba=False) + assert_results_correct(net) def test_same_bus(): net = small_example_grid() pp.create_ext_grid(net, 0, slack_weight=2) - con_fac = np.array([1, 2]) / 3 pp.runpp(net, distributed_slack=True, numba=False) - - injected_p_mw, consumed_p_mw = get_injection_consumption(net) - assert abs(net.res_ext_grid.p_mw.sum() + net.res_gen.p_mw.sum() - consumed_p_mw) < 1e-6 - input_p_mw = np.array([100, 0]) # 100 MW for gen and 0 for ext_grid - res_p_mw = np.r_[net.res_gen.p_mw, net.res_ext_grid.p_mw] # resulting injection after distributed slack - assert np.allclose(input_p_mw - (injected_p_mw - consumed_p_mw) * con_fac, res_p_mw, atol=1e-6, rtol=0) + assert_results_correct(net) def test_separate_zones(): net = small_example_grid() b1, b2 = pp.create_buses(net, 2, 110) pp.create_line_from_parameters(net, b1, b2, length_km=1, r_ohm_per_km=0.01, x_ohm_per_km=0.1, c_nf_per_km=0, max_i_ka=1) - pp.create_gen(net, b1, 50, 1, slack=True, slack_weight=1) + pp.create_ext_grid(net, b1) pp.create_load(net, b2, 100) # distributed slack not implemented for separate zones @@ -196,8 +180,8 @@ def case9_simplified(): pp.create_line_from_parameters(net, fb, tb, 1, 20, 100, 0, 1) pp.create_gen(net, 0, 0, slack=True, slack_weight=1) - pp.create_gen(net, 1, 163, slack=True, slack_weight=1) - pp.create_gen(net, 2, 85, slack=True, slack_weight=1) + pp.create_gen(net, 1, 163, slack_weight=1) + pp.create_gen(net, 2, 85, slack_weight=1) pp.create_load(net, 4, 90, 30) pp.create_load(net, 6, 100, 35) @@ -219,7 +203,6 @@ def test_case9(): # todo: is it clearer to consider scaling or to ignore it? right now is ignored # net.gen["scaling"] = [0.8, 0.7] net.gen["scaling"] = [1, 1] - net.gen.slack = True # # set ext_grid dispatched active power # net.ext_grid['p_disp_mw'] = 30 @@ -242,16 +225,11 @@ def test_case9(): assert np.allclose(gen_diff, p_target_gen, atol=tol_mw) # check balance of power - injected_p_mw, consumed_p_mw = get_injection_consumption(net) + injected_p_mw, consumed_p_mw = _get_injection_consumption(net) assert abs(net.res_ext_grid.p_mw.sum() + net.res_gen.p_mw.sum() - consumed_p_mw) < 1e-6 # check the distribution formula of the slack power difference - input_p_mw = np.r_[net.gen.p_mw, 0] # 100 MW for gen and 0 for ext_grid - res_p_mw = np.r_[net.res_gen.p_mw, net.res_ext_grid.p_mw.fillna(0)] # resulting injection after distributed slack - # calculate normalized contribution factors - con_fac = np.r_[net.gen.slack_weight, net.ext_grid.slack_weight] - con_fac /= sum(con_fac) - assert np.allclose(input_p_mw - (injected_p_mw - consumed_p_mw) * con_fac, res_p_mw, atol=1e-6, rtol=0) + assert_results_correct(net) # todo: implement distributed slack to work with numba From 9e828259d28554a18011fb22b87bf72a8cc3cad9 Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Wed, 14 Jul 2021 20:09:44 +0200 Subject: [PATCH 087/422] consider the basic case as 1 ref and all others pv buses; consider all gens with non-zero slack weights; read results for gens with non-zero slack weights as if they were reference machines to enable using gens (PV nodes) for distributed slack --- pandapower/build_gen.py | 33 +++++++++++++------------- pandapower/pf/run_newton_raphson_pf.py | 18 +++++++++++--- pandapower/pypower/pfsoln.py | 9 ++++--- 3 files changed, 36 insertions(+), 24 deletions(-) diff --git a/pandapower/build_gen.py b/pandapower/build_gen.py index 94d9b0cc8..aa7736ead 100644 --- a/pandapower/build_gen.py +++ b/pandapower/build_gen.py @@ -340,29 +340,30 @@ def _normalise_slack_weights(ppc): """ Unitise the slack contribution factors in each island to sum to 1. """ subnets = _subnetworks(ppc) gen_buses = ppc['gen'][:, GEN_BUS].astype(np.int32) - con_fac_gen = ppc['gen'][:, SL_FAC].astype(np.float64) - - # todo: flip the logic, only 1 ext_grid and all others PV, show logger warning that 1 ext_grid is used - # as slack and others are converted to PV nodes internally; - # todo: calculate dist_slack for all SL and PV nodes that have non-zero slack weight - buses_with_con_fac = ppc['gen'][ppc['gen'][:, SL_FAC] != 0, GEN_BUS].astype(np.int32) - if not np.all(ppc['bus'][buses_with_con_fac, BUS_TYPE] == REF): - raise UserWarning("Distributed slack calculation is implemented only for reference type buses. " - "Specify net.gen.slack=True for generators that have a non-zero contribution factor. " - "Extended ward (xward) elements are not supported as distributed slack elements") + slack_weights_gen = ppc['gen'][:, SL_FAC].astype(np.float64) + + # only 1 ext_grid (reference bus) supported and all others are considered as PV buses, + # 1 ext_grid is used as slack and others are converted to PV nodes internally; + # calculate dist_slack for all SL and PV nodes that have non-zero slack weight: + buses_with_slack_weights = ppc['gen'][ppc['gen'][:, SL_FAC] != 0, GEN_BUS].astype(np.int32) + if np.sum(ppc['bus'][buses_with_slack_weights, BUS_TYPE] == REF) > 1: + logger.warning("Distributed slack calculation is implemented only for one reference type bus, " + "other reference buses will be converted to PV buses internally. " + "All distributed slack elements that have a non-zero contribution factor will be considered. " + "Extended ward (xward) elements are not supported as distributed slack elements") for subnet in subnets: subnet_gen_mask = np.isin(gen_buses, subnet) - sum_dist_weights = np.sum(con_fac_gen[subnet_gen_mask]) - if np.isclose(sum_dist_weights, 0): + sum_slack_weights = np.sum(slack_weights_gen[subnet_gen_mask]) + if np.isclose(sum_slack_weights, 0): # ppc['gen'][subnet_gen_mask, SL_FAC] = 0 raise ValueError('Distributed slack contribution factors in an ' 'island sum to zero.') else: - # ppc['gen'][subnet_gen_mask, SL_FAC] /= sum_dist_weights - con_fac_gen /= sum_dist_weights - buses, con_fac_bus, _ = _sum_by_group(gen_buses[subnet_gen_mask], con_fac_gen[subnet_gen_mask], con_fac_gen[subnet_gen_mask]) - ppc['bus'][buses, SL_FAC_BUS] = con_fac_bus + # ppc['gen'][subnet_gen_mask, SL_FAC] /= sum_slack_weights + slack_weights_gen /= sum_slack_weights + buses, slack_weights_bus, _ = _sum_by_group(gen_buses[subnet_gen_mask], slack_weights_gen[subnet_gen_mask], slack_weights_gen[subnet_gen_mask]) + ppc['bus'][buses, SL_FAC_BUS] = slack_weights_bus # raise NotImplementedError if there are several separate zones for distributed slack: if not np.isclose(sum(ppc['bus'][:, SL_FAC_BUS]), 1): diff --git a/pandapower/pf/run_newton_raphson_pf.py b/pandapower/pf/run_newton_raphson_pf.py index 9ae43f8b4..a683f3bd8 100644 --- a/pandapower/pf/run_newton_raphson_pf.py +++ b/pandapower/pf/run_newton_raphson_pf.py @@ -6,13 +6,13 @@ from time import time -from numpy import flatnonzero as find, r_, zeros, argmax, setdiff1d, any +from numpy import flatnonzero as find, r_, zeros, argmax, setdiff1d, union1d, any, int32 from pandapower.pf.ppci_variables import _get_pf_variables_from_ppci, _store_results_from_pf_in_ppci from pandapower.pf.run_dc_pf import _run_dc_pf from pandapower.pypower.bustypes import bustypes from pandapower.pypower.idx_bus import PD, QD, BUS_TYPE, PQ, GS, BS -from pandapower.pypower.idx_gen import PG, QG, QMAX, QMIN, GEN_BUS, GEN_STATUS +from pandapower.pypower.idx_gen import PG, QG, QMAX, QMIN, GEN_BUS, GEN_STATUS, SL_FAC from pandapower.pypower.makeSbus import makeSbus from pandapower.pypower.makeYbus import makeYbus as makeYbus_pypower from pandapower.pypower.newtonpf import newtonpf @@ -65,9 +65,21 @@ def ppci_to_pfsoln(ppci, options): return internal["bus"], internal["gen"], internal["branch"] else: # reads values from internal ppci storage to bus, gen, branch and returns it + if options['distributed_slack']: + # consider buses with non-zero slack weights as if they were slack buses, + # and gens with non-zero slack weights as if they were reference machines + # this way, the function pfsoln will extract results for distributed slack gens, too + gens_with_slack_weights = find(internal["gen"][:, SL_FAC] != 0) + buses_with_slack_weights = internal["gen"][gens_with_slack_weights, GEN_BUS].astype(int32) + ref = union1d(internal["ref"], buses_with_slack_weights) + ref_gens = union1d(internal["ref_gens"], gens_with_slack_weights) + else: + ref = internal["ref"] + ref_gens = internal["ref_gens"] + _, pfsoln = _get_numba_functions(ppci, options) result_pfsoln = pfsoln(internal["baseMVA"], internal["bus"], internal["gen"], internal["branch"], internal["Ybus"], - internal["Yf"], internal["Yt"], internal["V"], internal["ref"], internal["ref_gens"]) + internal["Yf"], internal["Yt"], internal["V"], ref, ref_gens) return result_pfsoln def _get_Y_bus(ppci, options, makeYbus, baseMVA, bus, branch): diff --git a/pandapower/pypower/pfsoln.py b/pandapower/pypower/pfsoln.py index 5c38f753e..62bbfaeed 100644 --- a/pandapower/pypower/pfsoln.py +++ b/pandapower/pypower/pfsoln.py @@ -71,7 +71,6 @@ def _update_v(bus, V): def _update_p(baseMVA, bus, gen, ref, gbus, on, Sbus, ref_gens): # update Pg for slack bus(es) # inj P + local Pd - # todo: expand the functionality to PV gens with non-zero slack_weight for slack_bus in ref: gens_at_bus = find(gbus == slack_bus) # which is(are) the reference gen(s)? p_bus = Sbus[gens_at_bus[0]].real * baseMVA + bus[slack_bus, PD] @@ -80,11 +79,11 @@ def _update_p(baseMVA, bus, gen, ref, gbus, on, Sbus, ref_gens): ext_grids = intersect1d(gens_at_bus, ref_gens) pv_gens = setdiff1d(gens_at_bus, ext_grids) p_ext_grids = p_bus - sum(gen[pv_gens, PG]) - con_fac = gen[ext_grids, SL_FAC] - sum_con_fac = sum(con_fac) - if sum_con_fac > 0: + slack_weights = gen[ext_grids, SL_FAC] + sum_slack_weights = sum(slack_weights) + if sum_slack_weights > 0: # distribute bus slack power according to the distributed slack contribution factors - gen[ext_grids, PG] = gen[ext_grids, PG] + (p_ext_grids - sum(gen[ext_grids, PG])) * con_fac / sum_con_fac + gen[ext_grids, PG] = gen[ext_grids, PG] + (p_ext_grids - sum(gen[ext_grids, PG])) * slack_weights / sum_slack_weights else: gen[ext_grids, PG] = p_ext_grids / len(ext_grids) else: From 639b1978eef59eb09d74bc3b51a164d3f5c83c67 Mon Sep 17 00:00:00 2001 From: Jannis Kupka Date: Thu, 15 Jul 2021 12:52:56 +0200 Subject: [PATCH 088/422] bump python version for readthedocs to 3.8 --- .readthedocs.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.readthedocs.yml b/.readthedocs.yml index fd16597fc..56efe8d33 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -1,9 +1,9 @@ version: 2 python: - version: 3.5 + version: 3.8 install: - method: pip path: . extra_requirements: - - docs \ No newline at end of file + - docs From d11d6c9275c461447157f19962c1086c4ca3d576 Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Thu, 15 Jul 2021 18:50:12 +0200 Subject: [PATCH 089/422] test_dist_slack.py: changed the example to have different line lengths (just in case); added a comparison to results from commercial software for one of the tests --- pandapower/test/loadflow/test_dist_slack.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/pandapower/test/loadflow/test_dist_slack.py b/pandapower/test/loadflow/test_dist_slack.py index d418fcb0e..3abb07ec3 100644 --- a/pandapower/test/loadflow/test_dist_slack.py +++ b/pandapower/test/loadflow/test_dist_slack.py @@ -26,8 +26,8 @@ def small_example_grid(): pp.create_load(net, 1, p_mw=100, q_mvar=100) - pp.create_line_from_parameters(net, 0, 1, length_km=1, r_ohm_per_km=0.01, x_ohm_per_km=0.1, c_nf_per_km=0, max_i_ka=1) - pp.create_line_from_parameters(net, 1, 2, length_km=1, r_ohm_per_km=0.01, x_ohm_per_km=0.1, c_nf_per_km=0, max_i_ka=1) + pp.create_line_from_parameters(net, 0, 1, length_km=3, r_ohm_per_km=0.01, x_ohm_per_km=0.1, c_nf_per_km=0, max_i_ka=1) + pp.create_line_from_parameters(net, 1, 2, length_km=2, r_ohm_per_km=0.01, x_ohm_per_km=0.1, c_nf_per_km=0, max_i_ka=1) pp.create_line_from_parameters(net, 2, 0, length_km=1, r_ohm_per_km=0.01, x_ohm_per_km=0.1, c_nf_per_km=0, max_i_ka=1) return net @@ -98,12 +98,22 @@ def test_small_example(): def test_two_gens(): + # a three-bus example with 3 lines in a ring, 2 gens and 1 load net = small_example_grid() pp.create_gen(net, 2, 200, 1., slack_weight=2) pp.runpp(net, distributed_slack=True, numba=False) assert_results_correct(net) + # check bus voltages + assert np.allclose(net.res_bus.vm_pu, [1, 0.96542683532, 1], rtol=0, atol=1e-9) + assert np.allclose(net.res_bus.va_degree, [0, -1.5537971468, 0.08132969181], rtol=0, atol=1e-6) + # check gen p and q + assert np.allclose(net.res_gen.p_mw, [33.548233528, 67.096467056], rtol=0, atol=1e-6) + assert np.allclose(net.res_gen.q_mvar, [43.22006789, 63.226937869], rtol=0, atol=1e-6) + # check line currents + assert np.allclose(net.res_line.i_ka, [1.6717271156, 2.5572842138, 0.16309292919], rtol=0, atol=1e-9) + def test_three_gens(): net = small_example_grid() From 1b7e699d27bdf2eec86615a84bbdc80735288d75 Mon Sep 17 00:00:00 2001 From: sdrauz Date: Fri, 16 Jul 2021 11:06:40 +0200 Subject: [PATCH 090/422] adaptions required for pandaprosumer --- pandapower/control/basic_controller.py | 141 ++++++++++++----------- pandapower/control/run_control.py | 6 +- pandapower/timeseries/run_time_series.py | 8 +- 3 files changed, 80 insertions(+), 75 deletions(-) diff --git a/pandapower/control/basic_controller.py b/pandapower/control/basic_controller.py index d4a467e9e..d44a60975 100644 --- a/pandapower/control/basic_controller.py +++ b/pandapower/control/basic_controller.py @@ -4,9 +4,10 @@ # and Energy System Technology (IEE), Kassel. All rights reserved. import copy + from pandapower.auxiliary import get_free_id, _preserve_dtypes from pandapower.control.util.auxiliary import \ - drop_same_type_existing_controllers, log_same_type_existing_controllers + drop_same_type_existing_controllers, log_same_type_existing_controllers from pandapower.io_utils import JSONSerializableClass try: @@ -17,24 +18,17 @@ logger = pplog.getLogger(__name__) -class Controller(JSONSerializableClass): +class BasicCtrl(JSONSerializableClass): """ Base-Class of all controllable elements within a network. """ - def __init__(self, net, in_service=True, order=0, level=0, index=None, recycle=False, - drop_same_existing_ctrl=False, initial_run=True, overwrite=False, - matching_params=None, **kwargs): + def __init__(self, container, index=None, **kwargs): super().__init__() # add oneself to net, creating the ['controller'] DataFrame, if necessary if index is None: - index = get_free_id(net.controller) - self.matching_params = dict() if matching_params is None else matching_params + index = get_free_id(container.controller) self.index = index - self.add_controller_to_net(net=net, in_service=in_service, initial_run=initial_run, order=order, - level=level, index=index, recycle=recycle, - drop_same_existing_ctrl=drop_same_existing_ctrl, - overwrite=overwrite, matching_params=matching_params, **kwargs) def __repr__(self): rep = "This " + self.__class__.__name__ + " has the following parameters: \n" @@ -65,40 +59,7 @@ def __getstate__(self): def __setstate__(self, state): self.__dict__.update(state) - - def add_controller_to_net(self, net, in_service, initial_run, order, level, index, recycle, - drop_same_existing_ctrl, overwrite, **kwargs): - """ - adds the controller to net['controller'] dataframe. - - INPUT: - **in_service** (bool) - in service status - - **order** (int) - order - - **index** (int) - index - - **recycle** (bool) - if controller needs a new bbm (ppc, Ybus...) or if it can be used with prestored values. This is mostly needed for time series calculations - - """ - if drop_same_existing_ctrl: - drop_same_type_existing_controllers(net, type(self), index=index, **kwargs) - else: - log_same_type_existing_controllers(net, type(self), index=index, **kwargs) - - dtypes = net.controller.dtypes - - # use base class method to raise an error if the object is in DF and overwrite = False - super().add_to_net(net=net, element='controller', index=index, overwrite=overwrite) - - columns = ['object', 'in_service', 'initial_run', 'recycle'] - net.controller.loc[index,columns] = (self, in_service, initial_run, recycle) - net.controller['order'][index] = order - net.controller['level'][index] = level - - _preserve_dtypes(net.controller, dtypes) - - def time_step(self, net, time): + def time_step(self, container, time): """ It is the first call in each time step, thus suited for things like reading profiles or prepare the controller for the next control step. @@ -107,19 +68,7 @@ def time_step(self, net, time): """ pass - def set_recycle(self, net): - """ - Checks the recyclability of this controller and changes the recyclability of the control handler if - necessary. With this a faster time series calculation can be achieved since not everything must be - recalculated. - - Beware: Setting recycle wrong can mess up your results. Set it to False in init if in doubt! - """ - # checks what can be reused from this controller - default is False in base controller - self.recycle = False - return self.recycle - - def initialize_control(self, net): + def initialize_control(self, container): """ Some controller require extended initialization in respect to the current state of the net (or their view of it). This method is being @@ -131,7 +80,7 @@ def initialize_control(self, net): """ pass - def is_converged(self, net): + def is_converged(self, container): """ This method calculated whether or not the controller converged. This is where any target values are being calculated and compared to the actual @@ -141,7 +90,7 @@ def is_converged(self, net): "(and will always return True)!") return True - def control_step(self, net): + def control_step(self, container): """ If the is_converged method returns false, the control_step will be called. In other words: if the controller did not converge yet, this @@ -150,7 +99,7 @@ def control_step(self, net): """ pass - def repair_control(self, net): + def repair_control(self, container): """ Some controllers can cause net to not converge. In this case, they can implement a method to try and catch the load flow error by altering some values in net, for example load scaling. @@ -160,7 +109,7 @@ def repair_control(self, net): """ pass - def restore_init_state(self, net): + def restore_init_state(self, container): """ Some controllers manipulate values in net and then restore them back to initial values, e.g. DistributedSlack. @@ -170,7 +119,7 @@ def restore_init_state(self, net): """ pass - def finalize_control(self, net): + def finalize_control(self, container): """ Some controller require extended finalization. This method is being called at the end of a loadflow. @@ -180,7 +129,7 @@ def finalize_control(self, net): """ pass - def finalize_step(self, net): + def finalize_step(self, container): """ .. note:: This method is ONLY being called during time-series simulation! @@ -191,8 +140,68 @@ def finalize_step(self, net): """ pass - def set_active(self, net, in_service): + def set_active(self, container, in_service): """ Sets the controller in or out of service """ - net.controller.loc[self.index, 'in_service'] = in_service + container.controller.loc[self.index, 'in_service'] = in_service + + +class Controller(BasicCtrl): + """ + Base-Class of all controllable elements within a network. + """ + + def __init__(self, net, in_service=True, order=0, level=0, index=None, recycle=False, + drop_same_existing_ctrl=False, initial_run=True, overwrite=False, + matching_params=None, **kwargs): + super(Controller, self).__init__(net, index) + self.matching_params = dict() if matching_params is None else matching_params + self.add_controller_to_net(net, in_service=in_service, initial_run=initial_run, order=order, + level=level, index=self.index, recycle=recycle, + drop_same_existing_ctrl=drop_same_existing_ctrl, + overwrite=overwrite, matching_params=matching_params, **kwargs) + + def add_controller_to_net(self, net, in_service, initial_run, order, level, index, recycle, + drop_same_existing_ctrl, overwrite, **kwargs): + """ + adds the controller to net['controller'] dataframe. + + INPUT: + **in_service** (bool) - in service status + + **order** (int) - order + + **index** (int) - index + + **recycle** (bool) - if controller needs a new bbm (ppc, Ybus...) or if it can be used with prestored values. This is mostly needed for time series calculations + + """ + if drop_same_existing_ctrl: + drop_same_type_existing_controllers(net, type(self), index=index, **kwargs) + else: + log_same_type_existing_controllers(net, type(self), index=index, **kwargs) + + dtypes = net.controller.dtypes + + # use base class method to raise an error if the object is in DF and overwrite = False + super().add_to_net(net=net, element='controller', index=index, overwrite=overwrite) + + columns = ['object', 'in_service', 'initial_run', 'recycle'] + net.controller.loc[index,columns] = (self, in_service, initial_run, recycle) + net.controller['order'][index] = order + net.controller['level'][index] = level + + _preserve_dtypes(net.controller, dtypes) + + def set_recycle(self, net): + """ + Checks the recyclability of this controller and changes the recyclability of the control handler if + necessary. With this a faster time series calculation can be achieved since not everything must be + recalculated. + + Beware: Setting recycle wrong can mess up your results. Set it to False in init if in doubt! + """ + # checks what can be reused from this controller - default is False in base controller + pass + diff --git a/pandapower/control/run_control.py b/pandapower/control/run_control.py index 5165d90c8..a880f4314 100644 --- a/pandapower/control/run_control.py +++ b/pandapower/control/run_control.py @@ -90,13 +90,13 @@ def check_for_initial_run(controller_order): return False -def ctrl_variables_default(net): +def ctrl_variables_default(net, **kwargs): ctrl_variables = dict() if not hasattr(net, "controller") or len(net.controller[net.controller.in_service]) == 0: ctrl_variables["level"], ctrl_variables["controller_order"] = [0], [[]] else: ctrl_variables["level"], ctrl_variables["controller_order"] = get_controller_order(net, net.controller) - ctrl_variables["run"] = pp.runpp + ctrl_variables["run"] = kwargs.pop('run', pp.runpp) ctrl_variables["initial_run"] = check_for_initial_run( ctrl_variables["controller_order"]) ctrl_variables['continue_on_divergence'] = False @@ -119,7 +119,7 @@ def prepare_run_ctrl(net, ctrl_variables, **kwargs): ctrl_var = ctrl_variables if ctrl_variables is None: - ctrl_variables = ctrl_variables_default(net) + ctrl_variables = ctrl_variables_default(net, **kwargs) if ('continue_on_divergence') in kwargs and (ctrl_var is None or 'continue_on_divergence' not in ctrl_var.keys()): div = kwargs.pop('continue_on_divergence') diff --git a/pandapower/timeseries/run_time_series.py b/pandapower/timeseries/run_time_series.py index df98396a1..a5bf2da80 100644 --- a/pandapower/timeseries/run_time_series.py +++ b/pandapower/timeseries/run_time_series.py @@ -118,7 +118,7 @@ def run_time_step(net, time_step, ts_variables, run_control_fct=run_control, out try: # calls controller init, control steps and run function (runpp usually is called in here) - run_control_fct(net, run_control=False, ctrl_variables=ts_variables, **kwargs) + run_control_fct(net, ctrl_variables=ts_variables, **kwargs) except ControllerNotConverged: ctrl_converged = False # If controller did not converge do some stuff @@ -260,9 +260,7 @@ def init_time_series(net, time_steps, continue_on_divergence=False, verbose=True init_output_writer(net, time_steps) # as base take everything considered when preparing run_control - ts_variables = prepare_run_ctrl(net, None, **kwargs) - # run function to be called in run_control - default is pp.runpp, but can be runopf or whatever you like - ts_variables["run"] = run + ts_variables = prepare_run_ctrl(net, None, run=run, **kwargs) # recycle options, which define what can be recycled ts_variables["recycle_options"] = recycle_options # time steps to be calculated (list or range) @@ -271,8 +269,6 @@ def init_time_series(net, time_steps, continue_on_divergence=False, verbose=True ts_variables["continue_on_divergence"] = continue_on_divergence # print settings ts_variables["verbose"] = verbose - # errors to be considered as exception - ts_variables["errors"] = (LoadflowNotConverged, OPFNotConverged, NetCalculationNotConverged) if logger.level != 10 and verbose: # simple progress bar From 3f38d26d7a0fd26dc9c72b6d818093d6a9cee69d Mon Sep 17 00:00:00 2001 From: fmeier Date: Fri, 16 Jul 2021 14:24:06 +0200 Subject: [PATCH 091/422] datatype fix of powermodels interface (fixes debugging problems due to acces violations) --- pandapower/opf/run_powermodels.jl | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pandapower/opf/run_powermodels.jl b/pandapower/opf/run_powermodels.jl index 9301cdca5..e52f54c26 100644 --- a/pandapower/opf/run_powermodels.jl +++ b/pandapower/opf/run_powermodels.jl @@ -40,6 +40,9 @@ function run_powermodels(json_path) setting = Dict("output" => Dict("branch_flows" => true))) end + result["termination_status"] = string(result["termination_status"]) + result["dual_status"] = string(result["dual_status"]) + result["primal_status"] = string(result["primal_status"]) return result end From 1294cef2c44fe7d9a42a3a0298a332ae3f4097f4 Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Sat, 17 Jul 2021 16:22:41 +0200 Subject: [PATCH 092/422] WIP: implementing Jacobian function for numba --- pandapower/auxiliary.py | 4 -- pandapower/pf/create_jacobian.py | 26 ++++++--- pandapower/pf/create_jacobian_numba.py | 59 ++++++++++++--------- pandapower/pypower/newtonpf.py | 7 ++- pandapower/test/loadflow/test_dist_slack.py | 7 +-- 5 files changed, 60 insertions(+), 43 deletions(-) diff --git a/pandapower/auxiliary.py b/pandapower/auxiliary.py index 82401f9f6..f40a83617 100644 --- a/pandapower/auxiliary.py +++ b/pandapower/auxiliary.py @@ -1012,10 +1012,6 @@ def _init_runpp_options(net, algorithm, calculate_voltage_angles, init, init_va_degree = init if distributed_slack: - if numba: - # TODO: Implement distributed slack for numba. - raise NotImplementedError(f'Distributed slack is not implemented ' - f'with numba. Specify parameter numba=False.') if algorithm != 'nr': raise NotImplementedError(f'Distributed slack is only implemented ' f'for Newton Raphson algorithm.') diff --git a/pandapower/pf/create_jacobian.py b/pandapower/pf/create_jacobian.py index 142c75aa5..a1d3f3780 100644 --- a/pandapower/pf/create_jacobian.py +++ b/pandapower/pf/create_jacobian.py @@ -6,13 +6,13 @@ try: # numba functions - from pandapower.pf.create_jacobian_numba import create_J, create_J2 + from pandapower.pf.create_jacobian_numba import create_J, create_J2, create_J_ds from pandapower.pf.dSbus_dV_numba import dSbus_dV_numba_sparse except ImportError: pass -def _create_J_with_numba(Ybus, V, pvpq, pq, createJ, pvpq_lookup, npv, npq): +def _create_J_with_numba(Ybus, V, ref, pvpq, pq, createJ, pvpq_lookup, nref, npv, npq, slack_weights, dist_slack): Ibus = zeros(len(V), dtype=complex128) # create Jacobian from fast calc of dS_dV dVm_x, dVa_x = dSbus_dV_numba_sparse(Ybus.data, Ybus.indptr, Ybus.indices, V, V / abs(V), Ibus) @@ -20,19 +20,27 @@ def _create_J_with_numba(Ybus, V, pvpq, pq, createJ, pvpq_lookup, npv, npq): # data in J, space preallocated is bigger than acutal Jx -> will be reduced later on Jx = empty(len(dVm_x) * 4, dtype=float64) # row pointer, dimension = pvpq.shape[0] + pq.shape[0] + 1 - Jp = zeros(pvpq.shape[0] + pq.shape[0] + 1, dtype=int32) + if dist_slack: + Jp = zeros(ref.shape[0] + pvpq.shape[0] + pq.shape[0] + 1, dtype=int32) + else: + Jp = zeros(pvpq.shape[0] + pq.shape[0] + 1, dtype=int32) # indices, same with the preallocated space (see Jx) Jj = empty(len(dVm_x) * 4, dtype=int32) # fill Jx, Jj and Jp - createJ(dVm_x, dVa_x, Ybus.indptr, Ybus.indices, pvpq_lookup, pvpq, pq, Jx, Jj, Jp) + refpvpq = r_[ref, pvpq] + createJ(dVm_x, dVa_x, Ybus.indptr, Ybus.indices, pvpq_lookup, refpvpq, pvpq, pq, Jx, Jj, Jp, slack_weights) # resize before generating the scipy sparse matrix Jx.resize(Jp[-1], refcheck=False) Jj.resize(Jp[-1], refcheck=False) + # todo: why not replace npv by pv.shape[0] etc.? # generate scipy sparse matrix - dimJ = npv + npq + npq + if dist_slack: + dimJ = nref + npv + npq + npq + else: + dimJ = npv + npq + npq J = sparse((Jx, Jj, Jp), shape=(dimJ, dimJ)) return J @@ -76,9 +84,9 @@ def _create_J_without_numba(Ybus, V, ref, pvpq, pq, slack_weights, dist_slack): return J -def create_jacobian_matrix(Ybus, V, ref, pvpq, pq, createJ, pvpq_lookup, npv, npq, numba, slack_weights, dist_slack): +def create_jacobian_matrix(Ybus, V, ref, pvpq, pq, createJ, pvpq_lookup, nref, npv, npq, numba, slack_weights, dist_slack): if numba: - J = _create_J_with_numba(Ybus, V, pvpq, pq, createJ, pvpq_lookup, npv, npq) + J = _create_J_with_numba(Ybus, V, ref, pvpq, pq, createJ, pvpq_lookup, nref, npv, npq, slack_weights, dist_slack) else: J = _create_J_without_numba(Ybus, V, ref, pvpq, pq, slack_weights, dist_slack) return J @@ -86,7 +94,9 @@ def create_jacobian_matrix(Ybus, V, ref, pvpq, pq, createJ, pvpq_lookup, npv, np def get_fastest_jacobian_function(pvpq, pq, numba, dist_slack): if numba: - if len(pvpq) == len(pq): + if dist_slack: + create_jacobian = create_J_ds + elif len(pvpq) == len(pq): create_jacobian = create_J2 else: create_jacobian = create_J diff --git a/pandapower/pf/create_jacobian_numba.py b/pandapower/pf/create_jacobian_numba.py index 1d4fbe8ab..7b6b3f5c0 100644 --- a/pandapower/pf/create_jacobian_numba.py +++ b/pandapower/pf/create_jacobian_numba.py @@ -14,8 +14,9 @@ # @jit(i8(c16[:], c16[:], i4[:], i4[:], i8[:], i8[:], f8[:], i8[:], i8[:]), nopython=True, cache=False) -@jit(nopython=True, cache=False) -def create_J(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, pvpq, pq, Jx, Jj, Jp): # pragma: no cover +# todo: uncomment when done with debugging +#@jit(nopython=True, cache=False) +def create_J(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, ref, pvpq, pq, Jx, Jj, Jp, slack_weights): # pragma: no cover """Calculates Jacobian faster with numba and sparse matrices. Input: dS_dVa and dS_dVm in CSR sparse form (Yx = data, Yp = indptr, Yj = indices), pvpq, pq from pypower @@ -103,9 +104,9 @@ def create_J(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, pvpq, pq, Jx, Jj, Jp): # pragma # @jit(i8(c16[:], c16[:], i4[:], i4[:], i8[:], i8[:], f8[:], i8[:], i8[:]), nopython=True, cache=True) -@jit(nopython=True, cache=False) - -def create_J2(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, pvpq, pq, Jx, Jj, Jp): # pragma: no cover +# todo: uncomment when done with debugging +#@jit(nopython=True, cache=False) +def create_J2(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, ref, pvpq, pq, Jx, Jj, Jp, slack_weights): # pragma: no cover """Calculates Jacobian faster with numba and sparse matrices. This version is similar to create_J except that if pvpq = pq (when no pv bus is available) some if statements are obsolete and J11 = J12 and J21 = J22 @@ -170,52 +171,56 @@ def create_J2(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, pvpq, pq, Jx, Jj, Jp): # pragm Jp[r + lpvpq + 1] = nnz - nnzStart + Jp[r + lpvpq] -@jit(nopython=True, cache=False) -def create_J_ds(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, ref, pvpq, pq, Jx, Jj, Jp): # pragma: no cover +# todo: uncomment when done with debugging +#@jit(nopython=True, cache=False) +def create_J_ds(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, refpvpq, pvpq, pq, Jx, Jj, Jp, slack_weights): # pragma: no cover """Calculates Jacobian faster with numba and sparse matrices. Input: dS_dVa and dS_dVm in CSR sparse form (Yx = data, Yp = indptr, Yj = indices), pvpq, pq from pypower OUTPUT: data from CSR form of Jacobian (Jx, Jj, Jp) and number of non zeros (nnz) - @author: Florian Schaefer + @author: Roman Bolgaryn Calculate Jacobian entries J11 = dS_dVa[array([pvpq]).T, pvpq].real J12 = dS_dVm[array([pvpq]).T, pq].real + J13 = slack_weights.reshape(-1,1) J21 = dS_dVa[array([pq]).T, pvpq].imag J22 = dS_dVm[array([pq]).T, pq].imag - - Explanation of code: - To understand the concept the CSR storage method should be known. See: - https://de.wikipedia.org/wiki/Compressed_Row_Storage + J23 = zeros(shape=(len(pq), 1)) J has the shape - | J11 | J12 | | (pvpq, pvpq) | (pvpq, pq) | - | --------- | = dimensions: | ------------------------- | - | J21 | J22 | | (pq, pvpq) | (pq, pq) | + | J11 | J12 | J13 | | (1+pvpq, pvpq) | (1+pvpq, pq) | (1+pvpq, 1) | + | --------------- | = dimensions: | ------------------------------------------- | + | J21 | J22 | J23 | | (pq, pvpq) | (pq, pq) | (pq, 1) | We first iterate the rows of J11 and J12 (for r in range lpvpq) and add the entries which are stored in dS_dV - Then we iterate the rows of J21 and J22 (for r in range lpq) and add the entries from dS_dV + Then we iterate the rows of J21 and J22 (for r in range lpq) and add the entries from dS_d + In addition to CreateJ, we add a row and a column - Note: The row and column pointer of of dVm and dVa are the same as the one from Ybus """ # Jacobi Matrix in sparse form # Jp, Jx, Jj equal J like: # J = zeros(shape=(ndim, ndim), dtype=float64) + # Yp = Ybus.indptr (maps the elements of data and indices to the rows of the sparse matrix) + # Yj = Ybus.indices (array mapping each element in data to its column in the sparse matrix) + # get length of vectors + lrefpvpq = len(refpvpq) lpvpq = len(pvpq) lpq = len(pq) lpv = lpvpq - lpq + lrefpv = lrefpvpq - lpq # nonzeros in J nnz = 0 # iterate rows of J - # first iterate pvpq (J11 and J12) - for r in range(lpvpq): + # first iterate pvpq (J11 and J12) -> the real part + for r in range(lrefpvpq): # nnzStar is necessary to calculate nonzeros per row nnzStart = nnz # iterate columns of J11 = dS_dVa.real at positions in pvpq @@ -224,24 +229,26 @@ def create_J_ds(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, ref, pvpq, pq, Jx, Jj, Jp): # check if column Yj is in pvpq cc = pvpq_lookup[Yj[c]] # entries for J11 and J12 - if pvpq[cc] == Yj[c]: + if refpvpq[cc] == Yj[c]: # entry found # equals entry of J11: J[r,cc] = dVa_x[c].real Jx[nnz] = dVa_x[c].real Jj[nnz] = cc nnz += 1 + # add the slack weight for the last column + if cc >= lrefpvpq: # todo + Jx[nnz] = slack_weights[cc] + Jj[nnz] = cc + lpq # todo + nnz += 1 # if entry is found in the "pq part" of pvpq = add entry of J12 - if cc >= lpv: + elif cc >= lrefpv: Jx[nnz] = dVm_x[c].real Jj[nnz] = cc + lpq nnz += 1 - # add the slack weight for the last column - if slack_weights[r] != 0: - # todo: add the last entry of the row for slack weight - pass + # Jp: number of nonzeros per row = nnz - nnzStart (nnz at begging of loop - nnz at end of loop) Jp[r + 1] = nnz - nnzStart + Jp[r] - # second: iterate pq (J21 and J22) + # second: iterate pq (J21 and J22) -> the imaginary part for r in range(lpq): nnzStart = nnz # iterate columns of J21 = dS_dVa.imag at positions in pvpq diff --git a/pandapower/pypower/newtonpf.py b/pandapower/pypower/newtonpf.py index a397614ff..d0d729a9d 100644 --- a/pandapower/pypower/newtonpf.py +++ b/pandapower/pypower/newtonpf.py @@ -79,7 +79,10 @@ def newtonpf(Ybus, Sbus, V0, ref, pv, pq, ppci, options): pvpq = r_[pv, pq] # generate lookup pvpq -> index pvpq (used in createJ) pvpq_lookup = zeros(max(Ybus.indices) + 1, dtype=int) - pvpq_lookup[pvpq] = arange(len(pvpq)) + if False and dist_slack: + pvpq_lookup[r_[ref, pvpq]] = arange(len(ref)+len(pvpq)) + else: + pvpq_lookup[pvpq] = arange(len(pvpq)) # get jacobian function createJ = get_fastest_jacobian_function(pvpq, pq, numba, dist_slack) @@ -108,7 +111,7 @@ def newtonpf(Ybus, Sbus, V0, ref, pv, pq, ppci, options): # update iteration counter i = i + 1 - J = create_jacobian_matrix(Ybus, V, ref, pvpq, pq, createJ, pvpq_lookup, npv, npq, numba, slack_weights, dist_slack) + J = create_jacobian_matrix(Ybus, V, ref, pvpq, pq, createJ, pvpq_lookup, nref, npv, npq, numba, slack_weights, dist_slack) dx = -1 * spsolve(J, F, permc_spec=permc_spec, use_umfpack=use_umfpack) # update voltage diff --git a/pandapower/test/loadflow/test_dist_slack.py b/pandapower/test/loadflow/test_dist_slack.py index 3abb07ec3..a7e5f7076 100644 --- a/pandapower/test/loadflow/test_dist_slack.py +++ b/pandapower/test/loadflow/test_dist_slack.py @@ -73,7 +73,8 @@ def test_numba(): net = small_example_grid() # if no slack_weight is given for ext_grid, 1 is assumed, because normally # ext_grids are responsible to take the slack power - net.gen["slack_weight"] = 1 + pp.create_gen(net, 2, 200, 1., slack_weight=2) + pp.runpp(net) net2 = net.deepcopy() pp.runpp(net, distributed_slack=True) @@ -124,10 +125,10 @@ def test_three_gens(): assert_results_correct(net) -@pytest.mark.xfail(reason="xward not implemented as slack") +@pytest.mark.xfail(reason="xward results are incorrect, implementation must be adjusted for xward") def test_gen_xward(): net = small_example_grid() - pp.create_xward(net, 2, 200, 0, 0, 0, 0, 6, 1, slack_weight=2) + pp.create_xward(net, 2, 200, 0, 0, 0, 0.02, 0.2, 1, slack_weight=2) pp.runpp(net, distributed_slack=True, numba=False) assert_results_correct(net) From 79ec13cbd45f7bbbe759e10bf5ff9e941c46fd0e Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Sun, 18 Jul 2021 23:41:06 +0200 Subject: [PATCH 093/422] Jacobian works with numba!!!! --- pandapower/pf/create_jacobian.py | 11 ++- pandapower/pf/create_jacobian_numba.py | 95 ++++++++++++++------- pandapower/pypower/newtonpf.py | 21 +++-- pandapower/test/loadflow/test_dist_slack.py | 33 ++++--- 4 files changed, 101 insertions(+), 59 deletions(-) diff --git a/pandapower/pf/create_jacobian.py b/pandapower/pf/create_jacobian.py index a1d3f3780..99de28a04 100644 --- a/pandapower/pf/create_jacobian.py +++ b/pandapower/pf/create_jacobian.py @@ -12,7 +12,7 @@ pass -def _create_J_with_numba(Ybus, V, ref, pvpq, pq, createJ, pvpq_lookup, nref, npv, npq, slack_weights, dist_slack): +def _create_J_with_numba(Ybus, V, refpvpq_row, refpvpq_col, pvpq, pq, createJ, pvpq_lookup, nref, npv, npq, slack_weights, dist_slack): Ibus = zeros(len(V), dtype=complex128) # create Jacobian from fast calc of dS_dV dVm_x, dVa_x = dSbus_dV_numba_sparse(Ybus.data, Ybus.indptr, Ybus.indices, V, V / abs(V), Ibus) @@ -21,15 +21,14 @@ def _create_J_with_numba(Ybus, V, ref, pvpq, pq, createJ, pvpq_lookup, nref, npv Jx = empty(len(dVm_x) * 4, dtype=float64) # row pointer, dimension = pvpq.shape[0] + pq.shape[0] + 1 if dist_slack: - Jp = zeros(ref.shape[0] + pvpq.shape[0] + pq.shape[0] + 1, dtype=int32) + Jp = zeros(refpvpq_row.shape[0] + pq.shape[0] + 1, dtype=int32) else: Jp = zeros(pvpq.shape[0] + pq.shape[0] + 1, dtype=int32) # indices, same with the preallocated space (see Jx) Jj = empty(len(dVm_x) * 4, dtype=int32) # fill Jx, Jj and Jp - refpvpq = r_[ref, pvpq] - createJ(dVm_x, dVa_x, Ybus.indptr, Ybus.indices, pvpq_lookup, refpvpq, pvpq, pq, Jx, Jj, Jp, slack_weights) + createJ(dVm_x, dVa_x, Ybus.indptr, Ybus.indices, pvpq_lookup, refpvpq_row, refpvpq_col, pvpq, pq, Jx, Jj, Jp, slack_weights) # resize before generating the scipy sparse matrix Jx.resize(Jp[-1], refcheck=False) @@ -84,9 +83,9 @@ def _create_J_without_numba(Ybus, V, ref, pvpq, pq, slack_weights, dist_slack): return J -def create_jacobian_matrix(Ybus, V, ref, pvpq, pq, createJ, pvpq_lookup, nref, npv, npq, numba, slack_weights, dist_slack): +def create_jacobian_matrix(Ybus, V, ref, refpvpq_row, refpvpq_col, pvpq, pq, createJ, pvpq_lookup, nref, npv, npq, numba, slack_weights, dist_slack): if numba: - J = _create_J_with_numba(Ybus, V, ref, pvpq, pq, createJ, pvpq_lookup, nref, npv, npq, slack_weights, dist_slack) + J = _create_J_with_numba(Ybus, V, refpvpq_row, refpvpq_col, pvpq, pq, createJ, pvpq_lookup, nref, npv, npq, slack_weights, dist_slack) else: J = _create_J_without_numba(Ybus, V, ref, pvpq, pq, slack_weights, dist_slack) return J diff --git a/pandapower/pf/create_jacobian_numba.py b/pandapower/pf/create_jacobian_numba.py index 7b6b3f5c0..a8e38d1b6 100644 --- a/pandapower/pf/create_jacobian_numba.py +++ b/pandapower/pf/create_jacobian_numba.py @@ -7,16 +7,19 @@ # Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. +DEBUG = False +# DEBUG = True from numba import jit - -# @jit(i8(c16[:], c16[:], i4[:], i4[:], i8[:], i8[:], f8[:], i8[:], i8[:]), nopython=True, cache=False) +# numpy is only used for debugging +if DEBUG: + from numpy import zeros -# todo: uncomment when done with debugging -#@jit(nopython=True, cache=False) -def create_J(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, ref, pvpq, pq, Jx, Jj, Jp, slack_weights): # pragma: no cover +# @jit(i8(c16[:], c16[:], i4[:], i4[:], i8[:], i8[:], f8[:], i8[:], i8[:]), nopython=True, cache=False) +@jit(nopython=True, cache=False) +def create_J(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, refpvpq_row, refpvpq_col, pvpq, pq, Jx, Jj, Jp, slack_weights): # pragma: no cover """Calculates Jacobian faster with numba and sparse matrices. Input: dS_dVa and dS_dVm in CSR sparse form (Yx = data, Yp = indptr, Yj = indices), pvpq, pq from pypower @@ -104,9 +107,8 @@ def create_J(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, ref, pvpq, pq, Jx, Jj, Jp, slack # @jit(i8(c16[:], c16[:], i4[:], i4[:], i8[:], i8[:], f8[:], i8[:], i8[:]), nopython=True, cache=True) -# todo: uncomment when done with debugging -#@jit(nopython=True, cache=False) -def create_J2(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, ref, pvpq, pq, Jx, Jj, Jp, slack_weights): # pragma: no cover +@jit(nopython=True, cache=False) +def create_J2(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, refpvpq_row, refpvpq_col, pvpq, pq, Jx, Jj, Jp, slack_weights): # pragma: no cover """Calculates Jacobian faster with numba and sparse matrices. This version is similar to create_J except that if pvpq = pq (when no pv bus is available) some if statements are obsolete and J11 = J12 and J21 = J22 @@ -171,9 +173,8 @@ def create_J2(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, ref, pvpq, pq, Jx, Jj, Jp, slac Jp[r + lpvpq + 1] = nnz - nnzStart + Jp[r + lpvpq] -# todo: uncomment when done with debugging -#@jit(nopython=True, cache=False) -def create_J_ds(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, refpvpq, pvpq, pq, Jx, Jj, Jp, slack_weights): # pragma: no cover +@jit(nopython=True, cache=False) +def create_J_ds(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, refpvpq_row, refpvpq_col, pvpq, pq, Jx, Jj, Jp, slack_weights): # pragma: no cover """Calculates Jacobian faster with numba and sparse matrices. Input: dS_dVa and dS_dVm in CSR sparse form (Yx = data, Yp = indptr, Yj = indices), pvpq, pq from pypower @@ -196,9 +197,11 @@ def create_J_ds(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, refpvpq, pvpq, pq, Jx, Jj, Jp | --------------- | = dimensions: | ------------------------------------------- | | J21 | J22 | J23 | | (pq, pvpq) | (pq, pq) | (pq, 1) | + In addition to CreateJ, we add a row and a column We first iterate the rows of J11 and J12 (for r in range lpvpq) and add the entries which are stored in dS_dV + We add the entries for slack weights (J13) if we encounter a positive slack weight in the row while iterating through J11 and J12 Then we iterate the rows of J21 and J22 (for r in range lpq) and add the entries from dS_d - In addition to CreateJ, we add a row and a column + The entries of J23 are always 0, so we do not do anything for J23 here (will be 0 because of the sparse matrix) """ # Jacobi Matrix in sparse form @@ -209,15 +212,19 @@ def create_J_ds(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, refpvpq, pvpq, pq, Jx, Jj, Jp # Yj = Ybus.indices (array mapping each element in data to its column in the sparse matrix) # get length of vectors - lrefpvpq = len(refpvpq) + lrefpvpq = len(refpvpq_row) lpvpq = len(pvpq) lpq = len(pq) lpv = lpvpq - lpq lrefpv = lrefpvpq - lpq + lref = lrefpv - lpv + + # dense J matrix for debugging + if DEBUG: + JJ = zeros(shape=(lrefpvpq+lpq, lrefpvpq+lpq)) # nonzeros in J nnz = 0 - # iterate rows of J # first iterate pvpq (J11 and J12) -> the real part for r in range(lrefpvpq): @@ -225,45 +232,67 @@ def create_J_ds(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, refpvpq, pvpq, pq, Jx, Jj, Jp nnzStart = nnz # iterate columns of J11 = dS_dVa.real at positions in pvpq # check entries in row pvpq[r] of dS_dV - for c in range(Yp[pvpq[r]], Yp[pvpq[r] + 1]): + r_start, r_end = Yp[refpvpq_col[r]], Yp[refpvpq_col[r] + 1] + for c in range(r_start, r_end): # check if column Yj is in pvpq - cc = pvpq_lookup[Yj[c]] + bus_idx = Yj[c] + cc = pvpq_lookup[bus_idx] # entries for J11 and J12 - if refpvpq[cc] == Yj[c]: + lookup_idx = refpvpq_col[cc] + if lookup_idx == bus_idx and lookup_idx in pvpq: # entry found # equals entry of J11: J[r,cc] = dVa_x[c].real + col = cc - lref Jx[nnz] = dVa_x[c].real - Jj[nnz] = cc + Jj[nnz] = col + if DEBUG: + JJ[r, col] = Jx[nnz] nnz += 1 - # add the slack weight for the last column - if cc >= lrefpvpq: # todo - Jx[nnz] = slack_weights[cc] - Jj[nnz] = cc + lpq # todo - nnz += 1 # if entry is found in the "pq part" of pvpq = add entry of J12 - elif cc >= lrefpv: + if cc >= lrefpv: + col = cc + lpq - lref Jx[nnz] = dVm_x[c].real - Jj[nnz] = cc + lpq + Jj[nnz] = col + if DEBUG: + JJ[r, col] = Jx[nnz] nnz += 1 + # add slack weights to the last column + # if slack_weights[refpvpq_row[r]] > 0: + if slack_weights[pvpq_lookup[r]] > 0: + Jx[nnz] = slack_weights[pvpq_lookup[r]] + Jj[nnz] = lpvpq + lpq + if DEBUG: + JJ[r, lpvpq + lpq] = Jx[nnz] + nnz += 1 # Jp: number of nonzeros per row = nnz - nnzStart (nnz at begging of loop - nnz at end of loop) Jp[r + 1] = nnz - nnzStart + Jp[r] + # second: iterate pq (J21 and J22) -> the imaginary part for r in range(lpq): nnzStart = nnz # iterate columns of J21 = dS_dVa.imag at positions in pvpq - for c in range(Yp[pq[r]], Yp[pq[r] + 1]): - cc = pvpq_lookup[Yj[c]] - if pvpq[cc] == Yj[c]: + r_start, r_end = Yp[pq[r]], Yp[pq[r] + 1] + for c in range(r_start, r_end): + bus_idx = Yj[c] + cc = pvpq_lookup[bus_idx] + lookup_idx = refpvpq_col[cc] + if lookup_idx == bus_idx and lookup_idx in pvpq: # entry found # equals entry of J21: J[r + lpvpq, cc] = dVa_x[c].imag + col = cc - lref Jx[nnz] = dVa_x[c].imag - Jj[nnz] = cc + Jj[nnz] = col + if DEBUG: + JJ[r+lrefpv+1, col] = Jx[nnz] nnz += 1 - if cc >= lpv: - # if entry is found in the "pq part" of pvpq = Add entry of J22 + # if entry is found in the "pq part" of pvpq = Add entry of J22 + if cc >= lrefpv: + col = cc + lpq - lref Jx[nnz] = dVm_x[c].imag - Jj[nnz] = cc + lpq + Jj[nnz] = col + if DEBUG: + JJ[r+lrefpv+1, col] = Jx[nnz] nnz += 1 # Jp: number of nonzeros per row = nnz - nnzStart (nnz at begging of loop - nnz at end of loop) - Jp[r + lpvpq + 1] = nnz - nnzStart + Jp[r + lpvpq] \ No newline at end of file + Jp[r + lrefpvpq + 1] = nnz - nnzStart + Jp[r + lrefpvpq] \ No newline at end of file diff --git a/pandapower/pypower/newtonpf.py b/pandapower/pypower/newtonpf.py index d0d729a9d..2dbea3baf 100644 --- a/pandapower/pypower/newtonpf.py +++ b/pandapower/pypower/newtonpf.py @@ -11,7 +11,7 @@ """Solves the power flow using a full Newton's method. """ -from numpy import angle, exp, linalg, conj, r_, Inf, arange, zeros, max, zeros_like, column_stack, append +from numpy import angle, exp, linalg, conj, r_, Inf, arange, zeros, max, zeros_like, column_stack, append, float64 from numpy import flatnonzero as find from scipy.sparse.linalg import spsolve @@ -52,7 +52,7 @@ def newtonpf(Ybus, Sbus, V0, ref, pv, pq, ppci, options): baseMVA = ppci['baseMVA'] bus = ppci['bus'] gen = ppci['gen'] - slack_weights = bus[:, SL_FAC] ## contribution factors for distributed slack + slack_weights = bus[:, SL_FAC].astype(float64) ## contribution factors for distributed slack # initialize i = 0 @@ -77,10 +77,19 @@ def newtonpf(Ybus, Sbus, V0, ref, pv, pq, ppci, options): ref = ref[[0]] pvpq = r_[pv, pq] - # generate lookup pvpq -> index pvpq (used in createJ) + # reference buses are always at the top, no matter where they are in the grid (very confusing...) + # so in the refpvpq, the indices must be adjusted so that ref bus(es) starts with 0 + # todo simplify indexing: the way it is now with the lookups is very confusing/annoying + refpvpq_row = r_[arange(len(ref)), pvpq+len(ref)] # this is for rows (the slack-row is at the very top in ybus) + refpvpq_col = r_[ref, pvpq] # for columns: columns are in the normal order in Ybus + # generate lookup pvpq -> index pvpq (used in createJ): + # shows for a given row from Ybus, which row in J it becomes + # e.g. the first row in J is a PV bus. If the first PV bus in Ybus is in the row 2, the index of the row in Jbus must be 0. + # pvpq_lookup will then have a 0 at the index 2 pvpq_lookup = zeros(max(Ybus.indices) + 1, dtype=int) - if False and dist_slack: - pvpq_lookup[r_[ref, pvpq]] = arange(len(ref)+len(pvpq)) + if dist_slack: + # slack bus is relevant for the function createJ_ds + pvpq_lookup[refpvpq_col] = arange(len(refpvpq_col)) else: pvpq_lookup[pvpq] = arange(len(pvpq)) @@ -111,7 +120,7 @@ def newtonpf(Ybus, Sbus, V0, ref, pv, pq, ppci, options): # update iteration counter i = i + 1 - J = create_jacobian_matrix(Ybus, V, ref, pvpq, pq, createJ, pvpq_lookup, nref, npv, npq, numba, slack_weights, dist_slack) + J = create_jacobian_matrix(Ybus, V, ref, refpvpq_row, refpvpq_col, pvpq, pq, createJ, pvpq_lookup, nref, npv, npq, numba, slack_weights, dist_slack) dx = -1 * spsolve(J, F, permc_spec=permc_spec, use_umfpack=use_umfpack) # update voltage diff --git a/pandapower/test/loadflow/test_dist_slack.py b/pandapower/test/loadflow/test_dist_slack.py index a7e5f7076..b9feef7f5 100644 --- a/pandapower/test/loadflow/test_dist_slack.py +++ b/pandapower/test/loadflow/test_dist_slack.py @@ -67,18 +67,22 @@ def assert_results_correct(net): assert np.allclose(input_p_mw - (injected_p_mw - consumed_p_mw) * slack_weights, result_p_mw, atol=1e-6, rtol=0) +def run_and_assert_numba(net): + net_temp = net.deepcopy() + pp.runpp(net_temp, distributed_slack=True, numba=False) + if numba_installed: + pp.runpp(net, distributed_slack=True) + assert_res_equal(net, net_temp) + + @pytest.mark.skipif(not numba_installed, reason="skip the test if numba not installed") -@pytest.mark.xfail(reason="is not implemented with numba") def test_numba(): net = small_example_grid() # if no slack_weight is given for ext_grid, 1 is assumed, because normally # ext_grids are responsible to take the slack power pp.create_gen(net, 2, 200, 1., slack_weight=2) - pp.runpp(net) - net2 = net.deepcopy() - pp.runpp(net, distributed_slack=True) - assert_res_equal(net, net2) + run_and_assert_numba(net) assert_results_correct(net) @@ -103,7 +107,7 @@ def test_two_gens(): net = small_example_grid() pp.create_gen(net, 2, 200, 1., slack_weight=2) - pp.runpp(net, distributed_slack=True, numba=False) + run_and_assert_numba(net) assert_results_correct(net) # check bus voltages @@ -121,7 +125,7 @@ def test_three_gens(): pp.create_gen(net, 1, 200, 1., slack_weight=2) pp.create_gen(net, 2, 200, 1., slack_weight=2) - pp.runpp(net, distributed_slack=True, numba=False, tolerance_mva=1e-6) + run_and_assert_numba(net) assert_results_correct(net) @@ -130,7 +134,7 @@ def test_gen_xward(): net = small_example_grid() pp.create_xward(net, 2, 200, 0, 0, 0, 0.02, 0.2, 1, slack_weight=2) - pp.runpp(net, distributed_slack=True, numba=False) + run_and_assert_numba(net) assert_results_correct(net) @@ -140,7 +144,7 @@ def test_ext_grid(): pp.create_ext_grid(net, 0, slack_weight=1) pp.create_ext_grid(net, 2, slack_weight=2) - pp.runpp(net, distributed_slack=True, numba=False) + run_and_assert_numba(net) assert_results_correct(net) @@ -148,7 +152,7 @@ def test_gen_ext_grid(): net = small_example_grid() pp.create_ext_grid(net, 2, slack_weight=2) - pp.runpp(net, distributed_slack=True, numba=False) + run_and_assert_numba(net) assert_results_correct(net) @@ -158,7 +162,9 @@ def test_pvgen_ext_grid(): pp.create_ext_grid(net, 2, slack_weight=2) net.gen.slack = False - pp.runpp(net, distributed_slack=True, numba=False) + pp.runpp(net, distributed_slack=True) + + run_and_assert_numba(net) assert_results_correct(net) @@ -166,7 +172,7 @@ def test_same_bus(): net = small_example_grid() pp.create_ext_grid(net, 0, slack_weight=2) - pp.runpp(net, distributed_slack=True, numba=False) + run_and_assert_numba(net) assert_results_correct(net) @@ -218,7 +224,7 @@ def test_case9(): # # set ext_grid dispatched active power # net.ext_grid['p_disp_mw'] = 30 - pp.runpp(net, distributed_slack=True, numba=False) + run_and_assert_numba(net) # active power difference of dispatched and result ext_grid_diff_p = 0 - net.res_ext_grid.p_mw @@ -243,7 +249,6 @@ def test_case9(): assert_results_correct(net) -# todo: implement distributed slack to work with numba # todo: implement xward elements as slacks (similarly to gen with slack=True) # todo add test for only xward when xward as slack is implemented # todo: implement distributed slack for when the grid has several disconnected zones From 2b06e30ee4134b57767b8891d0058ddfb7b5d127 Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Mon, 19 Jul 2021 09:34:11 +0200 Subject: [PATCH 094/422] DS: fix tests for when numba is not installed --- pandapower/test/loadflow/test_dist_slack.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pandapower/test/loadflow/test_dist_slack.py b/pandapower/test/loadflow/test_dist_slack.py index b9feef7f5..b8fcbf91a 100644 --- a/pandapower/test/loadflow/test_dist_slack.py +++ b/pandapower/test/loadflow/test_dist_slack.py @@ -68,11 +68,13 @@ def assert_results_correct(net): def run_and_assert_numba(net): - net_temp = net.deepcopy() - pp.runpp(net_temp, distributed_slack=True, numba=False) if numba_installed: + net_temp = net.deepcopy() + pp.runpp(net_temp, distributed_slack=True, numba=False) pp.runpp(net, distributed_slack=True) assert_res_equal(net, net_temp) + else: + pp.runpp(net, distributed_slack=True, numba=False) @pytest.mark.skipif(not numba_installed, reason="skip the test if numba not installed") From ceacfb936ef91b5c9d3b9e1600abe6ca46852608 Mon Sep 17 00:00:00 2001 From: sdrauz Date: Mon, 19 Jul 2021 12:29:42 +0200 Subject: [PATCH 095/422] changes in time series calculations in pandapower --- pandapower/control/basic_controller.py | 2 +- pandapower/timeseries/run_time_series.py | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/pandapower/control/basic_controller.py b/pandapower/control/basic_controller.py index d44a60975..f40b6734e 100644 --- a/pandapower/control/basic_controller.py +++ b/pandapower/control/basic_controller.py @@ -129,7 +129,7 @@ def finalize_control(self, container): """ pass - def finalize_step(self, container): + def finalize_step(self, container, time): """ .. note:: This method is ONLY being called during time-series simulation! diff --git a/pandapower/timeseries/run_time_series.py b/pandapower/timeseries/run_time_series.py index a5bf2da80..52eac6470 100644 --- a/pandapower/timeseries/run_time_series.py +++ b/pandapower/timeseries/run_time_series.py @@ -78,11 +78,16 @@ def pf_not_converged(time_step, ts_variables): raise ts_variables['errors'][0] -def control_time_step(controller_order, time_step): +def implement_time_step(controller_order, time_step): for levelorder in controller_order: for ctrl, net in levelorder: ctrl.time_step(net, time_step) +def finalize_step(controller_order, time_step): + for levelorder in controller_order: + for ctrl, net in levelorder: + ctrl.finalize_step(net, time_step) + def output_writer_routine(net, time_step, pf_converged, ctrl_converged, recycle_options): output_writer = net["output_writer"].iat[0, 0] @@ -114,7 +119,7 @@ def run_time_step(net, time_step, ts_variables, run_control_fct=run_control, out pf_converged = True # run time step function for each controller - control_time_step(ts_variables['controller_order'], time_step) + implement_time_step(ts_variables['controller_order'], time_step) try: # calls controller init, control steps and run function (runpp usually is called in here) @@ -130,6 +135,8 @@ def run_time_step(net, time_step, ts_variables, run_control_fct=run_control, out output_writer_fct(net, time_step, pf_converged, ctrl_converged, ts_variables) + finalize_step(ts_variables['controller_order'], time_step) + def _check_controller_recyclability(net): # if a parameter is set to True here, it will be recalculated during the time series simulation From 1540ddad2868a5fb8a520e63d3dc2b134448f07d Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Mon, 19 Jul 2021 14:08:43 +0200 Subject: [PATCH 096/422] DS: added tutorial for distributed slack --- tutorials/distributed_slack.ipynb | 1460 +++++++++++++++++++++++++++++ 1 file changed, 1460 insertions(+) create mode 100644 tutorials/distributed_slack.ipynb diff --git a/tutorials/distributed_slack.ipynb b/tutorials/distributed_slack.ipynb new file mode 100644 index 000000000..0f3e7d0d1 --- /dev/null +++ b/tutorials/distributed_slack.ipynb @@ -0,0 +1,1460 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "# Load flow calculation with distributed slack" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In power flow analysis, a slack bus is chosen which compensates the mismatch of active power in the grid as related to the balance of consumption, generation and losses. This mismatch results from grid losses or an unbalanced dispatch. In real transmission and distribution systems, multiple generators can play a role in compensating the mismatch of active power. The approach of _distributed slack_ allows to model the allocation of the mismatch compensation to a number of buses according to pre-defined weights, which more closely resembles real-world scenarios. To describe how much active power a single element contributes to the compensation of the mismatch of active power, the parameter _slack_weight_ is used. \n", + "\n", + "In pandapower, the load flow calculation with Newton-Raphson algorithm supports the functionality of distributed slack. To this end, the user can set the argument \"distributed_slack\" to True when calling the function runpp. The slack weights for ext_grid and gen elements should be provided in the slack_weight column." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### How the slack weight is considered\n", + "The sum of all slack weights of the contributing elements must be 1. If the sum of the slack weights is other than 1, it is normalized to 1 before the load flow calculation. Setting the _slack_weight_ of 1 to an ext_grid element will have the same results as a load flow calculation without using the distributed slack." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "### How the active power mismatch is attributed to the elements\n", + "The resulting active power of an element $i$ after the load flow calculation with distributed slack can be represented as follows:\n", + "\n", + "\n", + "$$P_{result,i}= P_{set,i} - (\\sum_{elm=1}^{n}P_{generation,elm} - \\sum_{elm=1}^{n}P_{consumption,elm} - \\sum_{branch=1}^{m}P_{losses,branch}) \\cdot slack\\_weight_i$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Calculation example\n", + "We import necessary modules and create an example grid model:" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "application/javascript": [ + "/* Put everything inside the global mpl namespace */\n", + "/* global mpl */\n", + "window.mpl = {};\n", + "\n", + "mpl.get_websocket_type = function () {\n", + " if (typeof WebSocket !== 'undefined') {\n", + " return WebSocket;\n", + " } else if (typeof MozWebSocket !== 'undefined') {\n", + " return MozWebSocket;\n", + " } else {\n", + " alert(\n", + " 'Your browser does not have WebSocket support. ' +\n", + " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", + " 'Firefox 4 and 5 are also supported but you ' +\n", + " 'have to enable WebSockets in about:config.'\n", + " );\n", + " }\n", + "};\n", + "\n", + "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n", + " this.id = figure_id;\n", + "\n", + " this.ws = websocket;\n", + "\n", + " this.supports_binary = this.ws.binaryType !== undefined;\n", + "\n", + " if (!this.supports_binary) {\n", + " var warnings = document.getElementById('mpl-warnings');\n", + " if (warnings) {\n", + " warnings.style.display = 'block';\n", + " warnings.textContent =\n", + " 'This browser does not support binary websocket messages. ' +\n", + " 'Performance may be slow.';\n", + " }\n", + " }\n", + "\n", + " this.imageObj = new Image();\n", + "\n", + " this.context = undefined;\n", + " this.message = undefined;\n", + " this.canvas = undefined;\n", + " this.rubberband_canvas = undefined;\n", + " this.rubberband_context = undefined;\n", + " this.format_dropdown = undefined;\n", + "\n", + " this.image_mode = 'full';\n", + "\n", + " this.root = document.createElement('div');\n", + " this.root.setAttribute('style', 'display: inline-block');\n", + " this._root_extra_style(this.root);\n", + "\n", + " parent_element.appendChild(this.root);\n", + "\n", + " this._init_header(this);\n", + " this._init_canvas(this);\n", + " this._init_toolbar(this);\n", + "\n", + " var fig = this;\n", + "\n", + " this.waiting = false;\n", + "\n", + " this.ws.onopen = function () {\n", + " fig.send_message('supports_binary', { value: fig.supports_binary });\n", + " fig.send_message('send_image_mode', {});\n", + " if (fig.ratio !== 1) {\n", + " fig.send_message('set_dpi_ratio', { dpi_ratio: fig.ratio });\n", + " }\n", + " fig.send_message('refresh', {});\n", + " };\n", + "\n", + " this.imageObj.onload = function () {\n", + " if (fig.image_mode === 'full') {\n", + " // Full images could contain transparency (where diff images\n", + " // almost always do), so we need to clear the canvas so that\n", + " // there is no ghosting.\n", + " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", + " }\n", + " fig.context.drawImage(fig.imageObj, 0, 0);\n", + " };\n", + "\n", + " this.imageObj.onunload = function () {\n", + " fig.ws.close();\n", + " };\n", + "\n", + " this.ws.onmessage = this._make_on_message_function(this);\n", + "\n", + " this.ondownload = ondownload;\n", + "};\n", + "\n", + "mpl.figure.prototype._init_header = function () {\n", + " var titlebar = document.createElement('div');\n", + " titlebar.classList =\n", + " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n", + " var titletext = document.createElement('div');\n", + " titletext.classList = 'ui-dialog-title';\n", + " titletext.setAttribute(\n", + " 'style',\n", + " 'width: 100%; text-align: center; padding: 3px;'\n", + " );\n", + " titlebar.appendChild(titletext);\n", + " this.root.appendChild(titlebar);\n", + " this.header = titletext;\n", + "};\n", + "\n", + "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n", + "\n", + "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n", + "\n", + "mpl.figure.prototype._init_canvas = function () {\n", + " var fig = this;\n", + "\n", + " var canvas_div = (this.canvas_div = document.createElement('div'));\n", + " canvas_div.setAttribute(\n", + " 'style',\n", + " 'border: 1px solid #ddd;' +\n", + " 'box-sizing: content-box;' +\n", + " 'clear: both;' +\n", + " 'min-height: 1px;' +\n", + " 'min-width: 1px;' +\n", + " 'outline: 0;' +\n", + " 'overflow: hidden;' +\n", + " 'position: relative;' +\n", + " 'resize: both;'\n", + " );\n", + "\n", + " function on_keyboard_event_closure(name) {\n", + " return function (event) {\n", + " return fig.key_event(event, name);\n", + " };\n", + " }\n", + "\n", + " canvas_div.addEventListener(\n", + " 'keydown',\n", + " on_keyboard_event_closure('key_press')\n", + " );\n", + " canvas_div.addEventListener(\n", + " 'keyup',\n", + " on_keyboard_event_closure('key_release')\n", + " );\n", + "\n", + " this._canvas_extra_style(canvas_div);\n", + " this.root.appendChild(canvas_div);\n", + "\n", + " var canvas = (this.canvas = document.createElement('canvas'));\n", + " canvas.classList.add('mpl-canvas');\n", + " canvas.setAttribute('style', 'box-sizing: content-box;');\n", + "\n", + " this.context = canvas.getContext('2d');\n", + "\n", + " var backingStore =\n", + " this.context.backingStorePixelRatio ||\n", + " this.context.webkitBackingStorePixelRatio ||\n", + " this.context.mozBackingStorePixelRatio ||\n", + " this.context.msBackingStorePixelRatio ||\n", + " this.context.oBackingStorePixelRatio ||\n", + " this.context.backingStorePixelRatio ||\n", + " 1;\n", + "\n", + " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n", + " if (this.ratio !== 1) {\n", + " fig.send_message('set_dpi_ratio', { dpi_ratio: this.ratio });\n", + " }\n", + "\n", + " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n", + " 'canvas'\n", + " ));\n", + " rubberband_canvas.setAttribute(\n", + " 'style',\n", + " 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n", + " );\n", + "\n", + " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n", + " if (this.ResizeObserver === undefined) {\n", + " if (window.ResizeObserver !== undefined) {\n", + " this.ResizeObserver = window.ResizeObserver;\n", + " } else {\n", + " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n", + " this.ResizeObserver = obs.ResizeObserver;\n", + " }\n", + " }\n", + "\n", + " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n", + " var nentries = entries.length;\n", + " for (var i = 0; i < nentries; i++) {\n", + " var entry = entries[i];\n", + " var width, height;\n", + " if (entry.contentBoxSize) {\n", + " if (entry.contentBoxSize instanceof Array) {\n", + " // Chrome 84 implements new version of spec.\n", + " width = entry.contentBoxSize[0].inlineSize;\n", + " height = entry.contentBoxSize[0].blockSize;\n", + " } else {\n", + " // Firefox implements old version of spec.\n", + " width = entry.contentBoxSize.inlineSize;\n", + " height = entry.contentBoxSize.blockSize;\n", + " }\n", + " } else {\n", + " // Chrome <84 implements even older version of spec.\n", + " width = entry.contentRect.width;\n", + " height = entry.contentRect.height;\n", + " }\n", + "\n", + " // Keep the size of the canvas and rubber band canvas in sync with\n", + " // the canvas container.\n", + " if (entry.devicePixelContentBoxSize) {\n", + " // Chrome 84 implements new version of spec.\n", + " canvas.setAttribute(\n", + " 'width',\n", + " entry.devicePixelContentBoxSize[0].inlineSize\n", + " );\n", + " canvas.setAttribute(\n", + " 'height',\n", + " entry.devicePixelContentBoxSize[0].blockSize\n", + " );\n", + " } else {\n", + " canvas.setAttribute('width', width * fig.ratio);\n", + " canvas.setAttribute('height', height * fig.ratio);\n", + " }\n", + " canvas.setAttribute(\n", + " 'style',\n", + " 'width: ' + width + 'px; height: ' + height + 'px;'\n", + " );\n", + "\n", + " rubberband_canvas.setAttribute('width', width);\n", + " rubberband_canvas.setAttribute('height', height);\n", + "\n", + " // And update the size in Python. We ignore the initial 0/0 size\n", + " // that occurs as the element is placed into the DOM, which should\n", + " // otherwise not happen due to the minimum size styling.\n", + " if (width != 0 && height != 0) {\n", + " fig.request_resize(width, height);\n", + " }\n", + " }\n", + " });\n", + " this.resizeObserverInstance.observe(canvas_div);\n", + "\n", + " function on_mouse_event_closure(name) {\n", + " return function (event) {\n", + " return fig.mouse_event(event, name);\n", + " };\n", + " }\n", + "\n", + " rubberband_canvas.addEventListener(\n", + " 'mousedown',\n", + " on_mouse_event_closure('button_press')\n", + " );\n", + " rubberband_canvas.addEventListener(\n", + " 'mouseup',\n", + " on_mouse_event_closure('button_release')\n", + " );\n", + " // Throttle sequential mouse events to 1 every 20ms.\n", + " rubberband_canvas.addEventListener(\n", + " 'mousemove',\n", + " on_mouse_event_closure('motion_notify')\n", + " );\n", + "\n", + " rubberband_canvas.addEventListener(\n", + " 'mouseenter',\n", + " on_mouse_event_closure('figure_enter')\n", + " );\n", + " rubberband_canvas.addEventListener(\n", + " 'mouseleave',\n", + " on_mouse_event_closure('figure_leave')\n", + " );\n", + "\n", + " canvas_div.addEventListener('wheel', function (event) {\n", + " if (event.deltaY < 0) {\n", + " event.step = 1;\n", + " } else {\n", + " event.step = -1;\n", + " }\n", + " on_mouse_event_closure('scroll')(event);\n", + " });\n", + "\n", + " canvas_div.appendChild(canvas);\n", + " canvas_div.appendChild(rubberband_canvas);\n", + "\n", + " this.rubberband_context = rubberband_canvas.getContext('2d');\n", + " this.rubberband_context.strokeStyle = '#000000';\n", + "\n", + " this._resize_canvas = function (width, height, forward) {\n", + " if (forward) {\n", + " canvas_div.style.width = width + 'px';\n", + " canvas_div.style.height = height + 'px';\n", + " }\n", + " };\n", + "\n", + " // Disable right mouse context menu.\n", + " this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n", + " event.preventDefault();\n", + " return false;\n", + " });\n", + "\n", + " function set_focus() {\n", + " canvas.focus();\n", + " canvas_div.focus();\n", + " }\n", + "\n", + " window.setTimeout(set_focus, 100);\n", + "};\n", + "\n", + "mpl.figure.prototype._init_toolbar = function () {\n", + " var fig = this;\n", + "\n", + " var toolbar = document.createElement('div');\n", + " toolbar.classList = 'mpl-toolbar';\n", + " this.root.appendChild(toolbar);\n", + "\n", + " function on_click_closure(name) {\n", + " return function (_event) {\n", + " return fig.toolbar_button_onclick(name);\n", + " };\n", + " }\n", + "\n", + " function on_mouseover_closure(tooltip) {\n", + " return function (event) {\n", + " if (!event.currentTarget.disabled) {\n", + " return fig.toolbar_button_onmouseover(tooltip);\n", + " }\n", + " };\n", + " }\n", + "\n", + " fig.buttons = {};\n", + " var buttonGroup = document.createElement('div');\n", + " buttonGroup.classList = 'mpl-button-group';\n", + " for (var toolbar_ind in mpl.toolbar_items) {\n", + " var name = mpl.toolbar_items[toolbar_ind][0];\n", + " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", + " var image = mpl.toolbar_items[toolbar_ind][2];\n", + " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", + "\n", + " if (!name) {\n", + " /* Instead of a spacer, we start a new button group. */\n", + " if (buttonGroup.hasChildNodes()) {\n", + " toolbar.appendChild(buttonGroup);\n", + " }\n", + " buttonGroup = document.createElement('div');\n", + " buttonGroup.classList = 'mpl-button-group';\n", + " continue;\n", + " }\n", + "\n", + " var button = (fig.buttons[name] = document.createElement('button'));\n", + " button.classList = 'mpl-widget';\n", + " button.setAttribute('role', 'button');\n", + " button.setAttribute('aria-disabled', 'false');\n", + " button.addEventListener('click', on_click_closure(method_name));\n", + " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", + "\n", + " var icon_img = document.createElement('img');\n", + " icon_img.src = '_images/' + image + '.png';\n", + " icon_img.srcset = '_images/' + image + '_large.png 2x';\n", + " icon_img.alt = tooltip;\n", + " button.appendChild(icon_img);\n", + "\n", + " buttonGroup.appendChild(button);\n", + " }\n", + "\n", + " if (buttonGroup.hasChildNodes()) {\n", + " toolbar.appendChild(buttonGroup);\n", + " }\n", + "\n", + " var fmt_picker = document.createElement('select');\n", + " fmt_picker.classList = 'mpl-widget';\n", + " toolbar.appendChild(fmt_picker);\n", + " this.format_dropdown = fmt_picker;\n", + "\n", + " for (var ind in mpl.extensions) {\n", + " var fmt = mpl.extensions[ind];\n", + " var option = document.createElement('option');\n", + " option.selected = fmt === mpl.default_extension;\n", + " option.innerHTML = fmt;\n", + " fmt_picker.appendChild(option);\n", + " }\n", + "\n", + " var status_bar = document.createElement('span');\n", + " status_bar.classList = 'mpl-message';\n", + " toolbar.appendChild(status_bar);\n", + " this.message = status_bar;\n", + "};\n", + "\n", + "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n", + " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", + " // which will in turn request a refresh of the image.\n", + " this.send_message('resize', { width: x_pixels, height: y_pixels });\n", + "};\n", + "\n", + "mpl.figure.prototype.send_message = function (type, properties) {\n", + " properties['type'] = type;\n", + " properties['figure_id'] = this.id;\n", + " this.ws.send(JSON.stringify(properties));\n", + "};\n", + "\n", + "mpl.figure.prototype.send_draw_message = function () {\n", + " if (!this.waiting) {\n", + " this.waiting = true;\n", + " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", + " var format_dropdown = fig.format_dropdown;\n", + " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", + " fig.ondownload(fig, format);\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_resize = function (fig, msg) {\n", + " var size = msg['size'];\n", + " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n", + " fig._resize_canvas(size[0], size[1], msg['forward']);\n", + " fig.send_message('refresh', {});\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n", + " var x0 = msg['x0'] / fig.ratio;\n", + " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n", + " var x1 = msg['x1'] / fig.ratio;\n", + " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n", + " x0 = Math.floor(x0) + 0.5;\n", + " y0 = Math.floor(y0) + 0.5;\n", + " x1 = Math.floor(x1) + 0.5;\n", + " y1 = Math.floor(y1) + 0.5;\n", + " var min_x = Math.min(x0, x1);\n", + " var min_y = Math.min(y0, y1);\n", + " var width = Math.abs(x1 - x0);\n", + " var height = Math.abs(y1 - y0);\n", + "\n", + " fig.rubberband_context.clearRect(\n", + " 0,\n", + " 0,\n", + " fig.canvas.width / fig.ratio,\n", + " fig.canvas.height / fig.ratio\n", + " );\n", + "\n", + " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n", + " // Updates the figure title.\n", + " fig.header.textContent = msg['label'];\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n", + " var cursor = msg['cursor'];\n", + " switch (cursor) {\n", + " case 0:\n", + " cursor = 'pointer';\n", + " break;\n", + " case 1:\n", + " cursor = 'default';\n", + " break;\n", + " case 2:\n", + " cursor = 'crosshair';\n", + " break;\n", + " case 3:\n", + " cursor = 'move';\n", + " break;\n", + " }\n", + " fig.rubberband_canvas.style.cursor = cursor;\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_message = function (fig, msg) {\n", + " fig.message.textContent = msg['message'];\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n", + " // Request the server to send over a new figure.\n", + " fig.send_draw_message();\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n", + " fig.image_mode = msg['mode'];\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n", + " for (var key in msg) {\n", + " if (!(key in fig.buttons)) {\n", + " continue;\n", + " }\n", + " fig.buttons[key].disabled = !msg[key];\n", + " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n", + " if (msg['mode'] === 'PAN') {\n", + " fig.buttons['Pan'].classList.add('active');\n", + " fig.buttons['Zoom'].classList.remove('active');\n", + " } else if (msg['mode'] === 'ZOOM') {\n", + " fig.buttons['Pan'].classList.remove('active');\n", + " fig.buttons['Zoom'].classList.add('active');\n", + " } else {\n", + " fig.buttons['Pan'].classList.remove('active');\n", + " fig.buttons['Zoom'].classList.remove('active');\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.updated_canvas_event = function () {\n", + " // Called whenever the canvas gets updated.\n", + " this.send_message('ack', {});\n", + "};\n", + "\n", + "// A function to construct a web socket function for onmessage handling.\n", + "// Called in the figure constructor.\n", + "mpl.figure.prototype._make_on_message_function = function (fig) {\n", + " return function socket_on_message(evt) {\n", + " if (evt.data instanceof Blob) {\n", + " /* FIXME: We get \"Resource interpreted as Image but\n", + " * transferred with MIME type text/plain:\" errors on\n", + " * Chrome. But how to set the MIME type? It doesn't seem\n", + " * to be part of the websocket stream */\n", + " evt.data.type = 'image/png';\n", + "\n", + " /* Free the memory for the previous frames */\n", + " if (fig.imageObj.src) {\n", + " (window.URL || window.webkitURL).revokeObjectURL(\n", + " fig.imageObj.src\n", + " );\n", + " }\n", + "\n", + " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", + " evt.data\n", + " );\n", + " fig.updated_canvas_event();\n", + " fig.waiting = false;\n", + " return;\n", + " } else if (\n", + " typeof evt.data === 'string' &&\n", + " evt.data.slice(0, 21) === 'data:image/png;base64'\n", + " ) {\n", + " fig.imageObj.src = evt.data;\n", + " fig.updated_canvas_event();\n", + " fig.waiting = false;\n", + " return;\n", + " }\n", + "\n", + " var msg = JSON.parse(evt.data);\n", + " var msg_type = msg['type'];\n", + "\n", + " // Call the \"handle_{type}\" callback, which takes\n", + " // the figure and JSON message as its only arguments.\n", + " try {\n", + " var callback = fig['handle_' + msg_type];\n", + " } catch (e) {\n", + " console.log(\n", + " \"No handler for the '\" + msg_type + \"' message type: \",\n", + " msg\n", + " );\n", + " return;\n", + " }\n", + "\n", + " if (callback) {\n", + " try {\n", + " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", + " callback(fig, msg);\n", + " } catch (e) {\n", + " console.log(\n", + " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n", + " e,\n", + " e.stack,\n", + " msg\n", + " );\n", + " }\n", + " }\n", + " };\n", + "};\n", + "\n", + "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n", + "mpl.findpos = function (e) {\n", + " //this section is from http://www.quirksmode.org/js/events_properties.html\n", + " var targ;\n", + " if (!e) {\n", + " e = window.event;\n", + " }\n", + " if (e.target) {\n", + " targ = e.target;\n", + " } else if (e.srcElement) {\n", + " targ = e.srcElement;\n", + " }\n", + " if (targ.nodeType === 3) {\n", + " // defeat Safari bug\n", + " targ = targ.parentNode;\n", + " }\n", + "\n", + " // pageX,Y are the mouse positions relative to the document\n", + " var boundingRect = targ.getBoundingClientRect();\n", + " var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n", + " var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n", + "\n", + " return { x: x, y: y };\n", + "};\n", + "\n", + "/*\n", + " * return a copy of an object with only non-object keys\n", + " * we need this to avoid circular references\n", + " * http://stackoverflow.com/a/24161582/3208463\n", + " */\n", + "function simpleKeys(original) {\n", + " return Object.keys(original).reduce(function (obj, key) {\n", + " if (typeof original[key] !== 'object') {\n", + " obj[key] = original[key];\n", + " }\n", + " return obj;\n", + " }, {});\n", + "}\n", + "\n", + "mpl.figure.prototype.mouse_event = function (event, name) {\n", + " var canvas_pos = mpl.findpos(event);\n", + "\n", + " if (name === 'button_press') {\n", + " this.canvas.focus();\n", + " this.canvas_div.focus();\n", + " }\n", + "\n", + " var x = canvas_pos.x * this.ratio;\n", + " var y = canvas_pos.y * this.ratio;\n", + "\n", + " this.send_message(name, {\n", + " x: x,\n", + " y: y,\n", + " button: event.button,\n", + " step: event.step,\n", + " guiEvent: simpleKeys(event),\n", + " });\n", + "\n", + " /* This prevents the web browser from automatically changing to\n", + " * the text insertion cursor when the button is pressed. We want\n", + " * to control all of the cursor setting manually through the\n", + " * 'cursor' event from matplotlib */\n", + " event.preventDefault();\n", + " return false;\n", + "};\n", + "\n", + "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n", + " // Handle any extra behaviour associated with a key event\n", + "};\n", + "\n", + "mpl.figure.prototype.key_event = function (event, name) {\n", + " // Prevent repeat events\n", + " if (name === 'key_press') {\n", + " if (event.which === this._key) {\n", + " return;\n", + " } else {\n", + " this._key = event.which;\n", + " }\n", + " }\n", + " if (name === 'key_release') {\n", + " this._key = null;\n", + " }\n", + "\n", + " var value = '';\n", + " if (event.ctrlKey && event.which !== 17) {\n", + " value += 'ctrl+';\n", + " }\n", + " if (event.altKey && event.which !== 18) {\n", + " value += 'alt+';\n", + " }\n", + " if (event.shiftKey && event.which !== 16) {\n", + " value += 'shift+';\n", + " }\n", + "\n", + " value += 'k';\n", + " value += event.which.toString();\n", + "\n", + " this._key_event_extra(event, name);\n", + "\n", + " this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n", + " return false;\n", + "};\n", + "\n", + "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n", + " if (name === 'download') {\n", + " this.handle_save(this, null);\n", + " } else {\n", + " this.send_message('toolbar_button', { name: name });\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n", + " this.message.textContent = tooltip;\n", + "};\n", + "\n", + "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n", + "// prettier-ignore\n", + "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n", + "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n", + "\n", + "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n", + "\n", + "mpl.default_extension = \"png\";/* global mpl */\n", + "\n", + "var comm_websocket_adapter = function (comm) {\n", + " // Create a \"websocket\"-like object which calls the given IPython comm\n", + " // object with the appropriate methods. Currently this is a non binary\n", + " // socket, so there is still some room for performance tuning.\n", + " var ws = {};\n", + "\n", + " ws.close = function () {\n", + " comm.close();\n", + " };\n", + " ws.send = function (m) {\n", + " //console.log('sending', m);\n", + " comm.send(m);\n", + " };\n", + " // Register the callback with on_msg.\n", + " comm.on_msg(function (msg) {\n", + " //console.log('receiving', msg['content']['data'], msg);\n", + " // Pass the mpl event to the overridden (by mpl) onmessage function.\n", + " ws.onmessage(msg['content']['data']);\n", + " });\n", + " return ws;\n", + "};\n", + "\n", + "mpl.mpl_figure_comm = function (comm, msg) {\n", + " // This is the function which gets called when the mpl process\n", + " // starts-up an IPython Comm through the \"matplotlib\" channel.\n", + "\n", + " var id = msg.content.data.id;\n", + " // Get hold of the div created by the display call when the Comm\n", + " // socket was opened in Python.\n", + " var element = document.getElementById(id);\n", + " var ws_proxy = comm_websocket_adapter(comm);\n", + "\n", + " function ondownload(figure, _format) {\n", + " window.open(figure.canvas.toDataURL());\n", + " }\n", + "\n", + " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n", + "\n", + " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", + " // web socket which is closed, not our websocket->open comm proxy.\n", + " ws_proxy.onopen();\n", + "\n", + " fig.parent_element = element;\n", + " fig.cell_info = mpl.find_output_cell(\"
\");\n", + " if (!fig.cell_info) {\n", + " console.error('Failed to find cell for figure', id, fig);\n", + " return;\n", + " }\n", + " fig.cell_info[0].output_area.element.on(\n", + " 'cleared',\n", + " { fig: fig },\n", + " fig._remove_fig_handler\n", + " );\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_close = function (fig, msg) {\n", + " var width = fig.canvas.width / fig.ratio;\n", + " fig.cell_info[0].output_area.element.off(\n", + " 'cleared',\n", + " fig._remove_fig_handler\n", + " );\n", + " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n", + "\n", + " // Update the output cell to use the data from the current canvas.\n", + " fig.push_to_output();\n", + " var dataURL = fig.canvas.toDataURL();\n", + " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", + " // the notebook keyboard shortcuts fail.\n", + " IPython.keyboard_manager.enable();\n", + " fig.parent_element.innerHTML =\n", + " '';\n", + " fig.close_ws(fig, msg);\n", + "};\n", + "\n", + "mpl.figure.prototype.close_ws = function (fig, msg) {\n", + " fig.send_message('closing', msg);\n", + " // fig.ws.close()\n", + "};\n", + "\n", + "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n", + " // Turn the data on the canvas into data in the output cell.\n", + " var width = this.canvas.width / this.ratio;\n", + " var dataURL = this.canvas.toDataURL();\n", + " this.cell_info[1]['text/html'] =\n", + " '';\n", + "};\n", + "\n", + "mpl.figure.prototype.updated_canvas_event = function () {\n", + " // Tell IPython that the notebook contents must change.\n", + " IPython.notebook.set_dirty(true);\n", + " this.send_message('ack', {});\n", + " var fig = this;\n", + " // Wait a second, then push the new image to the DOM so\n", + " // that it is saved nicely (might be nice to debounce this).\n", + " setTimeout(function () {\n", + " fig.push_to_output();\n", + " }, 1000);\n", + "};\n", + "\n", + "mpl.figure.prototype._init_toolbar = function () {\n", + " var fig = this;\n", + "\n", + " var toolbar = document.createElement('div');\n", + " toolbar.classList = 'btn-toolbar';\n", + " this.root.appendChild(toolbar);\n", + "\n", + " function on_click_closure(name) {\n", + " return function (_event) {\n", + " return fig.toolbar_button_onclick(name);\n", + " };\n", + " }\n", + "\n", + " function on_mouseover_closure(tooltip) {\n", + " return function (event) {\n", + " if (!event.currentTarget.disabled) {\n", + " return fig.toolbar_button_onmouseover(tooltip);\n", + " }\n", + " };\n", + " }\n", + "\n", + " fig.buttons = {};\n", + " var buttonGroup = document.createElement('div');\n", + " buttonGroup.classList = 'btn-group';\n", + " var button;\n", + " for (var toolbar_ind in mpl.toolbar_items) {\n", + " var name = mpl.toolbar_items[toolbar_ind][0];\n", + " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", + " var image = mpl.toolbar_items[toolbar_ind][2];\n", + " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", + "\n", + " if (!name) {\n", + " /* Instead of a spacer, we start a new button group. */\n", + " if (buttonGroup.hasChildNodes()) {\n", + " toolbar.appendChild(buttonGroup);\n", + " }\n", + " buttonGroup = document.createElement('div');\n", + " buttonGroup.classList = 'btn-group';\n", + " continue;\n", + " }\n", + "\n", + " button = fig.buttons[name] = document.createElement('button');\n", + " button.classList = 'btn btn-default';\n", + " button.href = '#';\n", + " button.title = name;\n", + " button.innerHTML = '';\n", + " button.addEventListener('click', on_click_closure(method_name));\n", + " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", + " buttonGroup.appendChild(button);\n", + " }\n", + "\n", + " if (buttonGroup.hasChildNodes()) {\n", + " toolbar.appendChild(buttonGroup);\n", + " }\n", + "\n", + " // Add the status bar.\n", + " var status_bar = document.createElement('span');\n", + " status_bar.classList = 'mpl-message pull-right';\n", + " toolbar.appendChild(status_bar);\n", + " this.message = status_bar;\n", + "\n", + " // Add the close button to the window.\n", + " var buttongrp = document.createElement('div');\n", + " buttongrp.classList = 'btn-group inline pull-right';\n", + " button = document.createElement('button');\n", + " button.classList = 'btn btn-mini btn-primary';\n", + " button.href = '#';\n", + " button.title = 'Stop Interaction';\n", + " button.innerHTML = '';\n", + " button.addEventListener('click', function (_evt) {\n", + " fig.handle_close(fig, {});\n", + " });\n", + " button.addEventListener(\n", + " 'mouseover',\n", + " on_mouseover_closure('Stop Interaction')\n", + " );\n", + " buttongrp.appendChild(button);\n", + " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n", + " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n", + "};\n", + "\n", + "mpl.figure.prototype._remove_fig_handler = function (event) {\n", + " var fig = event.data.fig;\n", + " if (event.target !== this) {\n", + " // Ignore bubbled events from children.\n", + " return;\n", + " }\n", + " fig.close_ws(fig, {});\n", + "};\n", + "\n", + "mpl.figure.prototype._root_extra_style = function (el) {\n", + " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n", + "};\n", + "\n", + "mpl.figure.prototype._canvas_extra_style = function (el) {\n", + " // this is important to make the div 'focusable\n", + " el.setAttribute('tabindex', 0);\n", + " // reach out to IPython and tell the keyboard manager to turn it's self\n", + " // off when our div gets focus\n", + "\n", + " // location in version 3\n", + " if (IPython.notebook.keyboard_manager) {\n", + " IPython.notebook.keyboard_manager.register_events(el);\n", + " } else {\n", + " // location in version 2\n", + " IPython.keyboard_manager.register_events(el);\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype._key_event_extra = function (event, _name) {\n", + " var manager = IPython.notebook.keyboard_manager;\n", + " if (!manager) {\n", + " manager = IPython.keyboard_manager;\n", + " }\n", + "\n", + " // Check for shift+enter\n", + " if (event.shiftKey && event.which === 13) {\n", + " this.canvas_div.blur();\n", + " // select the cell after this one\n", + " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", + " IPython.notebook.select(index + 1);\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", + " fig.ondownload(fig, null);\n", + "};\n", + "\n", + "mpl.find_output_cell = function (html_output) {\n", + " // Return the cell and output element which can be found *uniquely* in the notebook.\n", + " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", + " // IPython event is triggered only after the cells have been serialised, which for\n", + " // our purposes (turning an active figure into a static one), is too late.\n", + " var cells = IPython.notebook.get_cells();\n", + " var ncells = cells.length;\n", + " for (var i = 0; i < ncells; i++) {\n", + " var cell = cells[i];\n", + " if (cell.cell_type === 'code') {\n", + " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n", + " var data = cell.output_area.outputs[j];\n", + " if (data.data) {\n", + " // IPython >= 3 moved mimebundle to data attribute of output\n", + " data = data.data;\n", + " }\n", + " if (data['text/html'] === html_output) {\n", + " return [cell, data, j];\n", + " }\n", + " }\n", + " }\n", + " }\n", + "};\n", + "\n", + "// Register the function which deals with the matplotlib target/channel.\n", + "// The kernel may be null if the page has been refreshed.\n", + "if (IPython.notebook.kernel !== null) {\n", + " IPython.notebook.kernel.comm_manager.register_target(\n", + " 'matplotlib',\n", + " mpl.mpl_figure_comm\n", + " );\n", + "}\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# configures the rendering and features of plots which use matplotlib:\n", + "import matplotlib\n", + "import matplotlib.pyplot as plt\n", + "%matplotlib notebook\n", + "\n", + "from copy import deepcopy\n", + "import pandapower as pp\n", + "import pandapower.plotting\n", + "import networks as nw\n", + "\n", + "from IPython.display import display, Markdown\n", + "\n", + "net = nw.case9()\n", + "fig = plt.figure(figsize=(4,4))\n", + "ax = fig.add_subplot()\n", + "pp.plotting.simple_plot(net, plot_loads=True, plot_gens=True, load_size=2.5, gen_size=0.1, ax=ax);\n", + "fig.tight_layout(pad=0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "## First example: distributed slack with just the ext_grid element\n", + "In each case, we first define the contributing elements and their slack weights. Then we compare the results of the load flow calculation with and without the distributed slack calculation." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "def print_powers(net):\n", + " print(f\"Consumption of loads:\\t\\t\\t {net.load.at[0, 'p_mw']:>6.2f} MW\\t {net.load.at[1, 'p_mw']:>6.2f} MW\\t {net.load.at[2, 'p_mw']:>6.2f} MW\\t ({net.load.p_mw.sum():>6.2f} MW total)\")\n", + " print(f\"Injection of generators (input):\\t {net.gen.at[0, 'p_mw']:>6.2f} MW\\t {net.gen.at[1, 'p_mw']:>6.2f} MW\\t\\t\\t ({net.gen.p_mw.sum():>6.2f} MW total)\")\n", + " print(f\"Injection of generators (results):\\t {net.res_gen.at[0, 'p_mw']:>6.2f} MW\\t {net.res_gen.at[1, 'p_mw']:>6.2f} MW\\t\\t\\t ({net.res_gen.p_mw.sum():>6.2f} MW total)\")\n", + " print(f\"Injection of generators (difference):\\t {net.res_gen.at[0, 'p_mw']-net.gen.at[0, 'p_mw']:>6.2f} MW\\t {net.res_gen.at[1, 'p_mw']-net.gen.at[1, 'p_mw']:>6.2f} MW\\t\\t\\t ({net.res_gen.p_mw.sum()-net.gen.p_mw.sum():>6.2f} MW total)\")\n", + " print(f\"Slack power at ext_grid (results):\\t {net.res_ext_grid.at[0, 'p_mw']:>6.2f} MW\")\n", + " print(f\"Line losses (results):\\t\\t\\t {net.res_line.pl_mw.sum():>6.2f} MW\")" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/markdown": [ + "#### Without distributed slack" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Consumption of loads:\t\t\t 90.00 MW\t 100.00 MW\t 125.00 MW\t (315.00 MW total)\n", + "Injection of generators (input):\t 163.00 MW\t 85.00 MW\t\t\t (248.00 MW total)\n", + "Injection of generators (results):\t 163.00 MW\t 85.00 MW\t\t\t (248.00 MW total)\n", + "Injection of generators (difference):\t 0.00 MW\t 0.00 MW\t\t\t ( 0.00 MW total)\n", + "Slack power at ext_grid (results):\t 71.95 MW\n", + "Line losses (results):\t\t\t 4.95 MW\n" + ] + }, + { + "data": { + "text/markdown": [ + "#### With distributed slack" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Consumption of loads:\t\t\t 90.00 MW\t 100.00 MW\t 125.00 MW\t (315.00 MW total)\n", + "Injection of generators (input):\t 163.00 MW\t 85.00 MW\t\t\t (248.00 MW total)\n", + "Injection of generators (results):\t 163.00 MW\t 85.00 MW\t\t\t (248.00 MW total)\n", + "Injection of generators (difference):\t 0.00 MW\t 0.00 MW\t\t\t ( 0.00 MW total)\n", + "Slack power at ext_grid (results):\t 71.95 MW\n", + "Line losses (results):\t\t\t 4.95 MW\n" + ] + } + ], + "source": [ + "display(Markdown(\"#### Without distributed slack\"))\n", + "pp.runpp(net)\n", + "\n", + "print_powers(net)\n", + "\n", + "display(Markdown(\"#### With distributed slack\"))\n", + "# set slack_weight of the relevant elements\n", + "net.ext_grid['slack_weight'] = 1\n", + "net.gen['slack_weight'] = 0\n", + "\n", + "pp.runpp(net, distributed_slack=True)\n", + "\n", + "print_powers(net)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As expected, the results of the calculation with distributed slack are equivalent to the results of the load flow calculation without distributed slack." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "## Second example: equal slack weights for all elements" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/markdown": [ + "#### Without distributed slack" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Consumption of loads:\t\t\t 90.00 MW\t 100.00 MW\t 125.00 MW\t (315.00 MW total)\n", + "Injection of generators (input):\t 163.00 MW\t 85.00 MW\t\t\t (248.00 MW total)\n", + "Injection of generators (results):\t 163.00 MW\t 85.00 MW\t\t\t (248.00 MW total)\n", + "Injection of generators (difference):\t 0.00 MW\t 0.00 MW\t\t\t ( 0.00 MW total)\n", + "Slack power at ext_grid (results):\t 71.95 MW\n", + "Line losses (results):\t\t\t 4.95 MW\n" + ] + }, + { + "data": { + "text/markdown": [ + "#### With distributed slack" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Consumption of loads:\t\t\t 90.00 MW\t 100.00 MW\t 125.00 MW\t (315.00 MW total)\n", + "Injection of generators (input):\t 163.00 MW\t 85.00 MW\t\t\t (248.00 MW total)\n", + "Injection of generators (results):\t 187.93 MW\t 109.93 MW\t\t\t (297.86 MW total)\n", + "Injection of generators (difference):\t 24.93 MW\t 24.93 MW\t\t\t ( 49.86 MW total)\n", + "Slack power at ext_grid (results):\t 24.93 MW\n", + "Line losses (results):\t\t\t 7.78 MW\n" + ] + } + ], + "source": [ + "display(Markdown(\"#### Without distributed slack\"))\n", + "pp.runpp(net)\n", + "\n", + "print_powers(net)\n", + "\n", + "display(Markdown(\"#### With distributed slack\"))\n", + "net.ext_grid['slack_weight'] = 1\n", + "net.gen['slack_weight'] = 1\n", + "\n", + "pp.runpp(net, distributed_slack=True)\n", + "\n", + "print_powers(net)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Sanity check\n", + "\n", + "In this case, the slack power is equally distributed among the ext_grid and gen elements. The power mismatch can be calculated by subtracting the consumption and line losses from the setpoint for injection: \n", + "\n", + "$$248 MW - 315 MW - 7.78 MW = -74.78 MW$$\n", + "\n", + "The power mismatch is negative, which means that $74.78 MW$ are missing for the active power to be balanced. This amount is added to the distributed slack elements ext_grid and gen according to their slack weights, resulting in the difference to the setpoints of $24.93 MW$ each (ext_grid is assumed to have a setpoint of 0)\n", + "\n", + "The results can be further checked by using the following calculation:\n", + "$$P_{\\text{dist_slack}}=\\left(P_{\\text{res_ext_grid}}-P_{\\text{ext_grid}}\\right)+\\left(P_{\\text{res_gen1}}-P_{\\text{gen1}}\\right) + \\left(P_{\\text{res_gen2}}-P_{\\text{gen2}}\\right))$$" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Power mismatch (results):\t 74.78\n", + "Adjustment per element:\t\t 24.93\n", + "Line losses:\t\t\t 7.78\n" + ] + } + ], + "source": [ + "p_dist_slack = (net.res_ext_grid.p_mw.sum() - 0) + (net.res_gen.p_mw.sum() - net.gen.p_mw.sum())\n", + "Delta_p = p_dist_slack * 1/3\n", + "print(f\"Power mismatch (results):\\t{p_dist_slack:6.2f}\" + \"\\n\" +\n", + " f\"Adjustment per element:\\t\\t{Delta_p:6.2f}\" + \"\\n\" +\n", + " f\"Line losses:\\t\\t\\t{net.res_line.pl_mw.sum():6.2f}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this example, the difference in active power production by the 3 power sources is as follows: $$\\varDelta P\\approx 74.78~MW\\cdot \\frac{1}{3}\\approx 24.93~MW$$\n", + "Each power source must increase its active power injection by approximately $24.93~MW$ to compensate for the losses of the grid ($\\approx$ $7.78 MW$) and the unbalanced dispatch ($P_{\\text{ext_grid}}+P_{\\text{gen1}}+P_{\\text{gen2}} - \\sum P_\\text{load} = -67 MW$)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "## Third example: unequal slack weights" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/markdown": [ + "#### Without distributed slack" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Consumption of loads:\t\t\t 90.00 MW\t 100.00 MW\t 125.00 MW\t (315.00 MW total)\n", + "Injection of generators (input):\t 163.00 MW\t 85.00 MW\t\t\t (248.00 MW total)\n", + "Injection of generators (results):\t 163.00 MW\t 85.00 MW\t\t\t (248.00 MW total)\n", + "Injection of generators (difference):\t 0.00 MW\t 0.00 MW\t\t\t ( 0.00 MW total)\n", + "Slack power at ext_grid (results):\t 71.95 MW\n", + "Line losses (results):\t\t\t 4.95 MW\n" + ] + }, + { + "data": { + "text/markdown": [ + "#### With distributed slack" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Consumption of loads:\t\t\t 90.00 MW\t 100.00 MW\t 125.00 MW\t (315.00 MW total)\n", + "Injection of generators (input):\t 163.00 MW\t 85.00 MW\t\t\t (248.00 MW total)\n", + "Injection of generators (results):\t 181.48 MW\t 103.48 MW\t\t\t (284.96 MW total)\n", + "Injection of generators (difference):\t 18.48 MW\t 18.48 MW\t\t\t ( 36.96 MW total)\n", + "Slack power at ext_grid (results):\t 36.96 MW\n", + "Line losses (results):\t\t\t 6.93 MW\n" + ] + } + ], + "source": [ + "display(Markdown(\"#### Without distributed slack\"))\n", + "gen_disp_mw = deepcopy(net.gen.p_mw.sum())\n", + "\n", + "pp.runpp(net)\n", + "\n", + "print_powers(net)\n", + "\n", + "display(Markdown(\"#### With distributed slack\"))\n", + "\n", + "net.ext_grid['slack_weight'] = 6\n", + "net.gen['slack_weight'] = 3\n", + "\n", + "pp.runpp(net, distributed_slack=True)\n", + "\n", + "print_powers(net)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Sanity check" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/markdown": [ + "Power mismatch (setpoint): $67.00~MW$, line losses: $6.93~MW$, total: $73.93~MW$" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/markdown": [ + "Power mismatch (results): $73.93~MW$" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/markdown": [ + "$\\varDelta P_{ext_grid}= P_{\\text{dist_slack}} \\cdot \\frac{6}{6+3+3}=36.96~MW$" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/markdown": [ + "$\\varDelta P_{gen}= P_{\\text{dist_slack}} \\cdot \\frac{3}{6+3+3}=18.48~MW$" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/markdown": [ + "$\\varDelta P = 1 * \\varDelta P_{ext_grid} + 2 * \\varDelta P_{gen}=73.93~MW$" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "p_mismatch = net.gen.p_mw.sum() - net.load.p_mw.sum() \n", + "pl_mw = net.res_line.pl_mw.sum()\n", + "p_dist_slack = (net.res_ext_grid.p_mw.sum() - 0) + (net.res_gen.p_mw.sum() - net.gen.p_mw.sum()) \n", + "display(Markdown(f\"Power mismatch (setpoint): ${abs(p_mismatch):.2f}~MW$, line losses: ${pl_mw:.2f}~MW$, total: ${abs(p_mismatch)+pl_mw:.2f}~MW$\"))\n", + "display(Markdown(f\"Power mismatch (results): ${p_dist_slack:.2f}~MW$\"))\n", + "Delta_p_6_12 = p_dist_slack * 6/12\n", + "Delta_p_3_12 = p_dist_slack * 3/12\n", + "display(Markdown(\"$\\\\varDelta P_{ext_grid}= P_{\\\\text{dist_slack}} \\\\cdot \\\\frac{6}{6+3+3}=%.2f~MW$\" % Delta_p_6_12))\n", + "display(Markdown(\"$\\\\varDelta P_{gen}= P_{\\\\text{dist_slack}} \\\\cdot \\\\frac{3}{6+3+3}=%.2f~MW$\" % Delta_p_3_12))\n", + "display(Markdown(\"$\\\\varDelta P = 1 * \\\\varDelta P_{ext_grid} + 2 * \\\\varDelta P_{gen}=%.2f~MW$\" % p_dist_slack))" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.6" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} From d44f4e06cf75782b6c908e065089c9a8c2be984f Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Mon, 19 Jul 2021 14:09:57 +0200 Subject: [PATCH 097/422] mentioned that xward is not implemented yet (raise NotImplementedError), change warning to info if several ref buses found --- CHANGELOG.rst | 2 +- pandapower/auxiliary.py | 2 ++ pandapower/build_gen.py | 8 ++++---- pandapower/test/loadflow/test_dist_slack.py | 9 +++++++++ 4 files changed, 16 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 37b10a3e9..85f6ca540 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -15,7 +15,7 @@ Change Log - [ADDED] CharacteristicControl that implements adjusting values in net based on some other input values in the grid - [ADDED] USetTapControl that adjusts the setpoint for a transformer tap changer, based on a specified result variable (e.g. i_lv_ka) - [CHANGED] replaced naming for "inductive" or "ind" by "underexcited" and "capacitive" or "cap" for "overexcited" -- [ADDED] Added distributed slack calculation to newton-raphson load flow; new column "slack_weights" for ext_grid, gen and xward (xward not implemented yet); gen with slack_weight>0 must have slack=True +- [ADDED] Added distributed slack calculation to newton-raphson load flow; new column "slack_weights" for ext_grid, gen and xward (xward not implemented yet); only 1 reference bus is allowed, any further reference buses are converted to PV buses internally [2.6.0]- 2021-03-09 ---------------------- diff --git a/pandapower/auxiliary.py b/pandapower/auxiliary.py index f40a83617..4b5dbc389 100644 --- a/pandapower/auxiliary.py +++ b/pandapower/auxiliary.py @@ -1012,6 +1012,8 @@ def _init_runpp_options(net, algorithm, calculate_voltage_angles, init, init_va_degree = init if distributed_slack: + if net.xward.slack_weight.abs().sum() > 0: + raise NotImplementedError("xward participation in distributed slack is not implemented") if algorithm != 'nr': raise NotImplementedError(f'Distributed slack is only implemented ' f'for Newton Raphson algorithm.') diff --git a/pandapower/build_gen.py b/pandapower/build_gen.py index aa7736ead..09ff9e919 100644 --- a/pandapower/build_gen.py +++ b/pandapower/build_gen.py @@ -347,10 +347,10 @@ def _normalise_slack_weights(ppc): # calculate dist_slack for all SL and PV nodes that have non-zero slack weight: buses_with_slack_weights = ppc['gen'][ppc['gen'][:, SL_FAC] != 0, GEN_BUS].astype(np.int32) if np.sum(ppc['bus'][buses_with_slack_weights, BUS_TYPE] == REF) > 1: - logger.warning("Distributed slack calculation is implemented only for one reference type bus, " - "other reference buses will be converted to PV buses internally. " - "All distributed slack elements that have a non-zero contribution factor will be considered. " - "Extended ward (xward) elements are not supported as distributed slack elements") + logger.info("Distributed slack calculation is implemented only for one reference type bus, " + "other reference buses will be converted to PV buses internally. " + "All distributed slack elements that have a non-zero contribution factor will be considered. " + "Extended ward (xward) elements are not supported as distributed slack elements") for subnet in subnets: subnet_gen_mask = np.isin(gen_buses, subnet) diff --git a/pandapower/test/loadflow/test_dist_slack.py b/pandapower/test/loadflow/test_dist_slack.py index b8fcbf91a..ab2499f8e 100644 --- a/pandapower/test/loadflow/test_dist_slack.py +++ b/pandapower/test/loadflow/test_dist_slack.py @@ -140,6 +140,15 @@ def test_gen_xward(): assert_results_correct(net) +def test_xward(): + # for now, not implemented and should raise an error + net = small_example_grid() + pp.create_xward(net, 2, 200, 0, 0, 0, 0.02, 0.2, 1, slack_weight=2) + + with pytest.raises(NotImplementedError): + pp.runpp(net, distributed_slack=True) + + def test_ext_grid(): net = small_example_grid() net.gen.in_service = False From 6c9f95fb59043eadaf0ca92c2a66e2bf88809367 Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Mon, 19 Jul 2021 14:12:51 +0200 Subject: [PATCH 098/422] moved DS description in CHANGELOG up; bumped up the pp version to 2.7.1 already (is required due to distributed slack using additional columns) --- CHANGELOG.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index d7d150751..ebdcf12a1 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,5 +1,7 @@ Change Log +- [ADDED] Added distributed slack calculation to newton-raphson load flow; new column "slack_weights" for ext_grid, gen and xward (xward not implemented yet); only 1 reference bus is allowed, any further reference buses are converted to PV buses internally + [2.7.0]- 2021-07-15 ---------------------- - [ADDED] Optimized the calculation of single/selected buses in 1ph/2ph/3ph short-circuit calculation @@ -17,7 +19,6 @@ Change Log - [CHANGED] ConstControl is initialized with level=-1 and order=-1 by default to make sure that it runs before other controllers - [CHANGED] ConstControl now writes values from the datasource to net at time_step instead of control_step, which ensures that the values for the time step are set before running the initial power flow - [CHANGED] replaced naming for "inductive" or "ind" by "underexcited" and "capacitive" or "cap" for "overexcited" -- [ADDED] Added distributed slack calculation to newton-raphson load flow; new column "slack_weights" for ext_grid, gen and xward (xward not implemented yet); only 1 reference bus is allowed, any further reference buses are converted to PV buses internally [2.6.0]- 2021-03-09 ---------------------- From a55e7c0e8517a3696caa84d7a76accc289e143dc Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Mon, 19 Jul 2021 15:20:06 +0200 Subject: [PATCH 099/422] Update simple_plot.py Add gen collections to simple_plot --- pandapower/plotting/simple_plot.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pandapower/plotting/simple_plot.py b/pandapower/plotting/simple_plot.py index b8119da20..5127212fa 100644 --- a/pandapower/plotting/simple_plot.py +++ b/pandapower/plotting/simple_plot.py @@ -10,7 +10,7 @@ from pandapower.plotting.collections import create_bus_collection, create_line_collection, \ create_trafo_collection, create_trafo3w_collection, \ create_line_switch_collection, draw_collections, create_bus_bus_switch_collection, create_sgen_collection, \ - create_load_collection + create_gen_collection, create_load_collection from pandapower.plotting.generic_geodata import create_generic_coordinates try: @@ -22,7 +22,7 @@ def simple_plot(net, respect_switches=False, line_width=1.0, bus_size=1.0, ext_grid_size=1.0, - trafo_size=1.0, plot_loads=False, plot_sgens=False, load_size=1.0, sgen_size=1.0, + trafo_size=1.0, plot_loads=False, plot_gens=False, plot_sgens=False, load_size=1.0, gen_size=1.0, sgen_size=1.0, switch_size=2.0, switch_distance=1.0, plot_line_switches=False, scale_size=True, bus_color="b", line_color='grey', trafo_color='k', ext_grid_color='y', switch_color='k', library="igraph", show_plot=True, ax=None): @@ -165,6 +165,9 @@ def simple_plot(net, respect_switches=False, line_width=1.0, bus_size=1.0, ext_g if plot_sgens and len(net.sgen): sgc = create_sgen_collection(net, size=sgen_size) collections.append(sgc) + if plot_gens and len(net.gen): + gc = create_gen_collection(net, size=gen_size) + collections.append(gc) if plot_loads and len(net.load): lc = create_load_collection(net, size=load_size) collections.append(lc) From e5bf5fdad2decfb1a5d7df650429525812c06ee7 Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Mon, 19 Jul 2021 15:23:55 +0200 Subject: [PATCH 100/422] Update auxiliary.py remove double import of REF correct the f-string --- pandapower/auxiliary.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pandapower/auxiliary.py b/pandapower/auxiliary.py index 4b5dbc389..c1a54cde6 100644 --- a/pandapower/auxiliary.py +++ b/pandapower/auxiliary.py @@ -37,7 +37,7 @@ from packaging import version from pandapower.pypower.idx_brch import F_BUS, T_BUS, BR_STATUS -from pandapower.pypower.idx_bus import BUS_I, BUS_TYPE, NONE, PD, QD, VM, VA, REF, VMIN, VMAX, PV, REF +from pandapower.pypower.idx_bus import BUS_I, BUS_TYPE, NONE, PD, QD, VM, VA, REF, VMIN, VMAX, PV from pandapower.pypower.idx_gen import PMIN, PMAX, QMIN, QMAX try: @@ -1015,8 +1015,7 @@ def _init_runpp_options(net, algorithm, calculate_voltage_angles, init, if net.xward.slack_weight.abs().sum() > 0: raise NotImplementedError("xward participation in distributed slack is not implemented") if algorithm != 'nr': - raise NotImplementedError(f'Distributed slack is only implemented ' - f'for Newton Raphson algorithm.') + raise NotImplementedError('Distributed slack is only implemented for Newton Raphson algorithm.') # init options From 293396977af4c43722108d11a6db99a64536e0ed Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Mon, 19 Jul 2021 15:24:57 +0200 Subject: [PATCH 101/422] Update build_gen.py edit docstring --- pandapower/build_gen.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandapower/build_gen.py b/pandapower/build_gen.py index 09ff9e919..e8c0c006c 100644 --- a/pandapower/build_gen.py +++ b/pandapower/build_gen.py @@ -337,7 +337,7 @@ def _different_values_at_one_bus(buses, values): def _normalise_slack_weights(ppc): - """ Unitise the slack contribution factors in each island to sum to 1. """ + """Unitise the slack contribution factors in each island to sum to 1.""" subnets = _subnetworks(ppc) gen_buses = ppc['gen'][:, GEN_BUS].astype(np.int32) slack_weights_gen = ppc['gen'][:, SL_FAC].astype(np.float64) From ebc648bb4c91872fc1eacac70c9a6e8c6ae04356 Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Mon, 19 Jul 2021 15:26:20 +0200 Subject: [PATCH 102/422] Update create_jacobian.py remove unused import --- pandapower/pf/create_jacobian.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandapower/pf/create_jacobian.py b/pandapower/pf/create_jacobian.py index 99de28a04..b49af3511 100644 --- a/pandapower/pf/create_jacobian.py +++ b/pandapower/pf/create_jacobian.py @@ -1,4 +1,4 @@ -from numpy import complex128, float64, int32, ones, r_ +from numpy import complex128, float64, int32, r_ from numpy.core.multiarray import zeros, empty, array from scipy.sparse import csr_matrix as sparse, vstack, hstack From 29cdcbf188342da4defe93d06892d57134bb329f Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Mon, 19 Jul 2021 15:27:25 +0200 Subject: [PATCH 103/422] Update ppci_variables.py remove unused import --- pandapower/pf/ppci_variables.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandapower/pf/ppci_variables.py b/pandapower/pf/ppci_variables.py index 18e75e687..f8b5c7875 100644 --- a/pandapower/pf/ppci_variables.py +++ b/pandapower/pf/ppci_variables.py @@ -4,7 +4,7 @@ # and Energy System Technology (IEE), Kassel. All rights reserved. from pandapower.pypower.idx_bus import VM, VA -from pandapower.pypower.idx_gen import GEN_BUS, GEN_STATUS, VG, SL_FAC +from pandapower.pypower.idx_gen import GEN_BUS, GEN_STATUS, VG from pandapower.pypower.bustypes import bustypes from numpy import flatnonzero as find, pi, exp From 9a84f141328b114148673e160bb72cb77a9c773e Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Mon, 19 Jul 2021 15:30:37 +0200 Subject: [PATCH 104/422] Update newtonpf.py do not import SL_FAC from gen_idx, only from bus_idx --- pandapower/pypower/newtonpf.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pandapower/pypower/newtonpf.py b/pandapower/pypower/newtonpf.py index 2dbea3baf..4a41dd51f 100644 --- a/pandapower/pypower/newtonpf.py +++ b/pandapower/pypower/newtonpf.py @@ -11,15 +11,14 @@ """Solves the power flow using a full Newton's method. """ -from numpy import angle, exp, linalg, conj, r_, Inf, arange, zeros, max, zeros_like, column_stack, append, float64 -from numpy import flatnonzero as find +from numpy import angle, exp, linalg, conj, r_, Inf, arange, zeros, max, zeros_like, column_stack, float64 from scipy.sparse.linalg import spsolve from pandapower.pf.iwamoto_multiplier import _iwamoto_step from pandapower.pypower.makeSbus import makeSbus from pandapower.pf.create_jacobian import create_jacobian_matrix, get_fastest_jacobian_function -from pandapower.pypower.idx_gen import GEN_BUS, GEN_STATUS, SL_FAC -from pandapower.pypower.idx_bus import BUS_I, SL_FAC +from pandapower.pypower.idx_gen import GEN_STATUS +from pandapower.pypower.idx_bus import SL_FAC def newtonpf(Ybus, Sbus, V0, ref, pv, pq, ppci, options): From 088b5c268b3b2cfae09f3460784248f6e1fce206 Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Mon, 19 Jul 2021 15:33:13 +0200 Subject: [PATCH 105/422] Update build_bus.py remove unused import of SL_FAC --- pandapower/build_bus.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pandapower/build_bus.py b/pandapower/build_bus.py index 764bc9da7..ef5e36c09 100644 --- a/pandapower/build_bus.py +++ b/pandapower/build_bus.py @@ -12,7 +12,7 @@ from pandapower.auxiliary import _sum_by_group, phase_to_sequence from pandapower.pypower.idx_bus import BUS_I, BASE_KV, PD, QD, GS, BS, VMAX, VMIN, BUS_TYPE, NONE, VM, VA, \ - CID, CZD, bus_cols, REF, SL_FAC + CID, CZD, bus_cols, REF try: from numba import jit @@ -610,4 +610,4 @@ def _add_c_to_ppc(net, ppc): raise ValueError("Voltage tolerance in the low voltage grid has" + " to be either 6% or 10% according to IEC 60909") ppc["bus"][lv_buses, C_MAX] = c_ns - ppc["bus"][lv_buses, C_MIN] = .95 \ No newline at end of file + ppc["bus"][lv_buses, C_MIN] = .95 From 33958035dd7ba81a4e8ae635fde61a8b63780556 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Mon, 19 Jul 2021 15:43:31 +0200 Subject: [PATCH 106/422] checkout --- pandapower/converter/powermodels/to_pm.py | 23 +- pandapower/opf/pm_storage.py | 222 +++++++++++++------ pandapower/opf/pp_2_pm.jl | 5 +- pandapower/opf/run_powermodels.py | 71 ++++-- pandapower/opf/run_powermodels_mn_storage.jl | 53 ----- pandapower/opf/run_powermodels_storage.jl | 100 +++++++++ pandapower/runpm.py | 212 +++++++----------- tutorials/mary_mns_test.py | 205 ++++++++--------- tutorials/mary_test.py | 82 +++++++ 9 files changed, 578 insertions(+), 395 deletions(-) delete mode 100644 pandapower/opf/run_powermodels_mn_storage.jl create mode 100644 pandapower/opf/run_powermodels_storage.jl create mode 100644 tutorials/mary_test.py diff --git a/pandapower/converter/powermodels/to_pm.py b/pandapower/converter/powermodels/to_pm.py index 6681ccef6..b2377864c 100644 --- a/pandapower/converter/powermodels/to_pm.py +++ b/pandapower/converter/powermodels/to_pm.py @@ -96,22 +96,33 @@ def convert_to_pm_structure(net, opf_flow_lim = "S"): net._pm = pm return net, pm, ppc, ppci - def dump_pm_json(pm, buffer_file=None): # dump pm dict to buffer_file (*.json) if buffer_file is None: # if no buffer file is provided a random file name is generated temp_name = next(tempfile._get_candidate_names()) buffer_file = os.path.join(tempfile.gettempdir(), "pp_to_pm_" + temp_name + ".json") - - else: - temp_name = None - logger.debug("writing PowerModels data structure to %s" % buffer_file) with open(buffer_file, 'w') as outfile: json.dump(pm, outfile) - return buffer_file, temp_name + return buffer_file + +# def dump_pm_json(pm, buffer_file=None): +# # dump pm dict to buffer_file (*.json) +# if buffer_file is None: +# # if no buffer file is provided a random file name is generated +# temp_name = next(tempfile._get_candidate_names()) +# buffer_file = os.path.join(tempfile.gettempdir(), "pp_to_pm_" + temp_name + ".json") + +# else: +# temp_name = None + +# logger.debug("writing PowerModels data structure to %s" % buffer_file) + +# with open(buffer_file, 'w') as outfile: +# json.dump(pm, outfile) +# return buffer_file, temp_name def _pp_element_to_pm(net, pm, element, pd_bus, qd_bus, load_idx): diff --git a/pandapower/opf/pm_storage.py b/pandapower/opf/pm_storage.py index 7a570e141..6601e8cb9 100644 --- a/pandapower/opf/pm_storage.py +++ b/pandapower/opf/pm_storage.py @@ -1,69 +1,6 @@ import numpy as np import pandas as pd - -# def add_storage_opf_settings(net, ppci, pm): -# # callback function to add storage settings. Must be called after initializing pm data structure since the -# # pm["storage"] dict is filled - -# # n time steps to optimize (here 3 hours) -# pm["n_time_steps"] = net._options["n_time_steps"] -# # time step (here 1 hour) -# pm["time_elapsed"] = net._options["time_elapsed"] - -# # add storage systems to pm -# # Todo: Some variables are not used and not included in pandapower as well (energy_rating, thermal_rating, -# # (efficiencies, r, x...) -# bus_lookup = net._pd2ppc_lookups["bus"] - -# for idx in net["storage"].index: -# energy = (net["storage"].at[idx, "soc_percent"] * 1e-2 * -# (net["storage"].at[idx, "max_e_mwh"] - -# net["storage"].at[idx, "min_e_mwh"])) / pm["baseMVA"] - -# qs = net["storage"].at[idx, "q_mvar"].item() / pm["baseMVA"] -# ps = net["storage"].at[idx, "p_mw"].item() / pm["baseMVA"] -# # max_p_mw = ps -# # max_q_mvar, min_q_mvar = qs, -qs -# if "max_p_mw" in net["storage"]: -# max_p_mw = net["storage"].at[idx, "max_p_mw"].item() / pm["baseMVA"] -# else: -# max_p_mw = ps - -# if "max_q_mvar" in net["storage"]: -# max_q_mvar = net["storage"].at[idx, "max_q_mvar"].item() / pm["baseMVA"] -# else: -# max_q_mvar = qs - -# if "max_q_mvar" in net["storage"]: -# min_q_mvar = net["storage"].at[idx, "min_q_mvar"].item() / pm["baseMVA"] -# else: -# min_q_mvar = -qs - -# pm_idx = int(idx) + 1 - -# pm["storage"][str(pm_idx)] = { -# "energy_rating": net["storage"].at[idx, "max_e_mwh"], -# "standby_loss": -1e-8, -# "x": 0.0, -# "energy": energy, -# "r": 0.0, -# "qs": qs, -# "thermal_rating": net["storage"].at[idx, "max_e_mwh"], # Todo: include in DataFrame? -# "status": int(net["storage"].at[idx, "in_service"]), -# "discharge_rating": max_p_mw, -# "storage_bus": bus_lookup[net["storage"].at[idx, "bus"]].item(), -# "charge_efficiency": 1., -# "index": pm_idx, -# "ps": ps, -# "qmax": max_q_mvar, -# "qmin": min_q_mvar, -# "charge_rating": max_p_mw, -# "discharge_efficiency": 1.0, -# "p_loss": -1e-8, -# "q_loss": -1e-8, -# } - def add_storage_opf_settings(net, ppci, pm): # callback function to add storage settings. Must be called after initializing pm data structure since the # pm["storage"] dict is filled @@ -97,9 +34,9 @@ def add_storage_opf_settings(net, ppci, pm): pm["storage"][str(pm_idx)] = { "energy_rating": net["storage"].at[idx, "max_e_mwh"], "standby_loss": 0., - "x": 0.0, + "x": 0., "energy": energy, - "r": 0.1, + "r": 0.0, "qs": qs, "thermal_rating": net["storage"].at[idx, "max_e_mwh"], # Todo: include in DataFrame? "status": int(net["storage"].at[idx, "in_service"]), @@ -111,9 +48,7 @@ def add_storage_opf_settings(net, ppci, pm): "qmax": max_q_mvar, "qmin": min_q_mvar, "charge_rating": max_p_mw, - "discharge_efficiency": 1.0, - "p_loss": 0, - "q_loss": 0 + "discharge_efficiency": 1.0 } def read_pm_storage_results(net): @@ -153,3 +88,154 @@ def read_pm_storage_results(net): # print("\n") return storage_results +# def add_storage_opf_settings(net, ppci, pm): +# # callback function to add storage settings. Must be called after initializing pm data structure since the +# # pm["storage"] dict is filled + +# # n time steps to optimize (here 3 hours) +# pm["n_time_steps"] = net._options["n_time_steps"] +# # time step (here 1 hour) +# pm["time_elapsed"] = net._options["time_elapsed"] + +# # add storage systems to pm +# # Todo: Some variables are not used and not included in pandapower as well (energy_rating, thermal_rating, +# # (efficiencies, r, x...) +# bus_lookup = net._pd2ppc_lookups["bus"] + +# for idx in net["storage"].index: +# energy = (net["storage"].at[idx, "soc_percent"] * 1e-2 * +# (net["storage"].at[idx, "max_e_mwh"] - +# net["storage"].at[idx, "min_e_mwh"])) / pm["baseMVA"] + +# qs = net["storage"].at[idx, "q_mvar"].item() / pm["baseMVA"] +# ps = net["storage"].at[idx, "p_mw"].item() / pm["baseMVA"] +# # max_p_mw = ps +# # max_q_mvar, min_q_mvar = qs, -qs +# if "max_p_mw" in net["storage"]: +# max_p_mw = net["storage"].at[idx, "max_p_mw"].item() / pm["baseMVA"] +# else: +# max_p_mw = ps + +# if "max_q_mvar" in net["storage"]: +# max_q_mvar = net["storage"].at[idx, "max_q_mvar"].item() / pm["baseMVA"] +# else: +# max_q_mvar = qs + +# if "max_q_mvar" in net["storage"]: +# min_q_mvar = net["storage"].at[idx, "min_q_mvar"].item() / pm["baseMVA"] +# else: +# min_q_mvar = -qs + +# pm_idx = int(idx) + 1 + +# pm["storage"][str(pm_idx)] = { +# "energy_rating": net["storage"].at[idx, "max_e_mwh"], +# "standby_loss": -1e-8, +# "x": 0.0, +# "energy": energy, +# "r": 0.0, +# "qs": qs, +# "thermal_rating": net["storage"].at[idx, "max_e_mwh"], # Todo: include in DataFrame? +# "status": int(net["storage"].at[idx, "in_service"]), +# "discharge_rating": max_p_mw, +# "storage_bus": bus_lookup[net["storage"].at[idx, "bus"]].item(), +# "charge_efficiency": 1., +# "index": pm_idx, +# "ps": ps, +# "qmax": max_q_mvar, +# "qmin": min_q_mvar, +# "charge_rating": max_p_mw, +# "discharge_efficiency": 1.0, +# "p_loss": -1e-8, +# "q_loss": -1e-8, +# } + +# def add_storage_opf_settings(net, ppci, pm): +# # callback function to add storage settings. Must be called after initializing pm data structure since the +# # pm["storage"] dict is filled +# +# # n time steps to optimize (here 3 hours) +# pm["n_time_steps"] = net._options["n_time_steps"] +# # time step (here 1 hour) +# pm["time_elapsed"] = net._options["time_elapsed"] +# +# # add storage systems to pm +# # Todo: Some variables are not used and not included in pandapower as well (energy_rating, thermal_rating, +# # (efficiencies, r, x...) +# bus_lookup = net._pd2ppc_lookups["bus"] +# +# for idx in net["storage"].index: +# energy = (net["storage"].at[idx, "soc_percent"] * 1e-2 * +# (net["storage"].at[idx, "max_e_mwh"] - +# net["storage"].at[idx, "min_e_mwh"])) / pm["baseMVA"] +# qs = net["storage"].at[idx, "q_mvar"].item() / pm["baseMVA"] +# ps = net["storage"].at[idx, "p_mw"].item() / pm["baseMVA"] +# max_p_mw = ps +# max_q_mvar, min_q_mvar = qs, -qs +# if "max_p_mw" in net["storage"]: +# max_p_mw = net["storage"].at[idx, "max_p_mw"].item() / pm["baseMVA"] +# if "max_q_mvar" in net["storage"]: +# max_q_mvar = net["storage"].at[idx, "max_q_mvar"].item() / pm["baseMVA"] +# if "max_q_mvar" in net["storage"]: +# min_q_mvar = net["storage"].at[idx, "min_q_mvar"].item() / pm["baseMVA"] +# +# pm_idx = int(idx) + 1 +# pm["storage"][str(pm_idx)] = { +# "energy_rating": net["storage"].at[idx, "max_e_mwh"], +# "standby_loss": 0., +# "x": 0.0, +# "energy": energy, +# "r": 0.1, +# "qs": qs, +# "thermal_rating": net["storage"].at[idx, "max_e_mwh"], # Todo: include in DataFrame? +# "status": int(net["storage"].at[idx, "in_service"]), +# "discharge_rating": max_p_mw, +# "storage_bus": bus_lookup[net["storage"].at[idx, "bus"]].item(), +# "charge_efficiency": 1., +# "index": pm_idx, +# "ps": ps, +# "qmax": max_q_mvar, +# "qmin": min_q_mvar, +# "charge_rating": max_p_mw, +# "discharge_efficiency": 1.0, +# "p_loss": 0, +# "q_loss": 0 +# } +# +# def read_pm_storage_results(net): +# # reads the storage results from multiple time steps from the PowerModels optimization +# pm_result = net._pm_result +# # power model networks (each network represents the result of one time step) +# networks = pm_result["solution"]["nw"] +# storage_results = dict() +# n_timesteps = len(networks) +# timesteps = np.arange(n_timesteps) +# for idx in net["storage"].index: +# # read storage results for each storage from power models to a dataframe with rows = timesteps +# pm_idx = str(int(idx) + 1) +# res_storage = pd.DataFrame(data=None, +# index=timesteps, +# columns=["p_mw", "q_mvar", "soc_mwh", "soc_percent"], +# dtype=float) +# for t in range(n_timesteps): +# pm_storage = networks[str(t + 1)]["storage"][pm_idx] +# res_storage.at[t, "p_mw"] = pm_storage["ps"] * pm_result["solution"]["baseMVA"] +# res_storage.at[t, "q_mvar"] = pm_storage["qs"] * pm_result["solution"]["baseMVA"] +# res_storage.at[t, "soc_percent"] = pm_storage["se"] * 1e2 +# res_storage.at[t, "soc_mwh"] = pm_storage["se"] * \ +# pm_result["solution"]["baseMVA"] * \ +# (net["storage"].at[idx, "max_e_mwh"] - net["storage"].at[idx, "min_e_mwh"]) +# +# storage_results[idx] = res_storage +# +# # DEBUG print for storage result +# # for key, val in net._pm_result.items(): +# # if key == "solution": +# # for subkey, subval in val.items(): +# # if subkey == "nw": +# # for i, nw in subval.items(): +# # print("Network {}\n".format(i)) +# # print(nw["storage"]) +# # print("\n") +# +# return storage_results diff --git a/pandapower/opf/pp_2_pm.jl b/pandapower/opf/pp_2_pm.jl index bf7b4dfb6..d416a3e12 100644 --- a/pandapower/opf/pp_2_pm.jl +++ b/pandapower/opf/pp_2_pm.jl @@ -1,4 +1,3 @@ - module PP2PM export load_pm_from_json, get_model, get_solver @@ -47,9 +46,9 @@ function get_model(model_type) end function get_solver(optimizer::String, nl::String="ipopt", mip::String="cbc", - log_level::Int=0, time_limit::Float64=Inf, nl_time_limit::Float64=Inf, + log_level::Int=0, time_limit::Float64=Inf, nl_time_limit::Float64=Inf, mip_time_limit::Float64=Inf, ipopt_tol::Float64=1e-8) - + if optimizer == "gurobi" solver = JuMP.optimizer_with_attributes(Gurobi.Optimizer, "TimeLimit" => time_limit, "OutputFlag" => log_level) end diff --git a/pandapower/opf/run_powermodels.py b/pandapower/opf/run_powermodels.py index 1742415d6..cadf5855d 100644 --- a/pandapower/opf/run_powermodels.py +++ b/pandapower/opf/run_powermodels.py @@ -1,9 +1,9 @@ import os from pandapower import pp_dir -from pandapower.converter.powermodels.to_pm import convert_to_pm_structure, dump_pm_json, convert_timeseries_to_multinet +from pandapower.converter.powermodels.to_pm import convert_to_pm_structure, dump_pm_json from pandapower.converter.powermodels.from_pm import read_pm_results_to_net -from timeseries.run_profile_cython.run_cython import profiles_from_ds + try: import pplog as logging except ImportError: @@ -14,16 +14,12 @@ def _runpm(net, delete_buffer_file=True, pm_file_path = None): # pragma: no cov """ Converts the pandapower net to a pm json file, saves it to disk, runs a PowerModels.jl julia function and reads the results back to the pandapower net - INPUT ---------- **net** - pandapower net - OPTIONAL ---------- **delete_buffer_file** (bool, True) - deletes the pm buffer json file if True. - - """ # convert pandapower to power models file -> this is done in python net, pm, ppc, ppci = convert_to_pm_structure(net) @@ -31,22 +27,7 @@ def _runpm(net, delete_buffer_file=True, pm_file_path = None): # pragma: no cov if net._options["pp_to_pm_callback"] is not None: net._options["pp_to_pm_callback"](net, ppci, pm) # writes pm json to disk, which is loaded afterwards in julia - if net._options.has_key(multinet): - buffer_file = dict() - buffer_file["pm"], temp_name = dump_pm_json(pm) - if net._options.has_key("profiles"): - if profiles is None: - if net._options.has_key("n_time_steps"): - steps = net._options["n_time_steps"] - else: - steps = None - profiles = profiles_from_ds(net, num_steps=steps) - else: - profiles = net._options["profiles"] - buffer_file = convert_timeseries_to_multinet(net, profiles, buffer_file, temp_name) - else: - buffer_file, temp_name = dump_pm_json(pm) - + buffer_file = dump_pm_json(pm, pm_file_path) # run power models optimization in julia result_pm = _call_powermodels(buffer_file, net._options["julia_file"]) # read results and write back to net @@ -56,6 +37,52 @@ def _runpm(net, delete_buffer_file=True, pm_file_path = None): # pragma: no cov os.remove(buffer_file) +# def _runpm(net, delete_buffer_file=True, pm_file_path = None): # pragma: no cover +# """ +# Converts the pandapower net to a pm json file, saves it to disk, runs a PowerModels.jl julia function and reads +# the results back to the pandapower net + +# INPUT +# ---------- +# **net** - pandapower net + +# OPTIONAL +# ---------- +# **delete_buffer_file** (bool, True) - deletes the pm buffer json file if True. + + +# """ +# # convert pandapower to power models file -> this is done in python +# net, pm, ppc, ppci = convert_to_pm_structure(net) +# # call optinal callback function +# if net._options["pp_to_pm_callback"] is not None: +# net._options["pp_to_pm_callback"](net, ppci, pm) +# # writes pm json to disk, which is loaded afterwards in julia +# if net._options.has_key(multinet): +# buffer_file = dict() +# buffer_file["pm"], temp_name = dump_pm_json(pm) +# if net._options.has_key("profiles"): +# if profiles is None: +# if net._options.has_key("n_time_steps"): +# steps = net._options["n_time_steps"] +# else: +# steps = None +# profiles = profiles_from_ds(net, num_steps=steps) +# else: +# profiles = net._options["profiles"] +# buffer_file = convert_timeseries_to_multinet(net, profiles, buffer_file, temp_name) +# else: +# buffer_file, temp_name = dump_pm_json(pm) + +# # run power models optimization in julia +# result_pm = _call_powermodels(buffer_file, net._options["julia_file"]) +# # read results and write back to net +# read_pm_results_to_net(net, ppc, ppci, result_pm) +# if pm_file_path is None and delete_buffer_file: +# # delete buffer file after calculation +# os.remove(buffer_file) + + def _call_powermodels(buffer_file, julia_file): # pragma: no cover # checks if julia works, otherwise raises an error try: diff --git a/pandapower/opf/run_powermodels_mn_storage.jl b/pandapower/opf/run_powermodels_mn_storage.jl deleted file mode 100644 index 25c5541ce..000000000 --- a/pandapower/opf/run_powermodels_mn_storage.jl +++ /dev/null @@ -1,53 +0,0 @@ -using PowerModels -using Ipopt -using Gurobi -using JuMP -using .PP2PM - -import JSON - -function read_time_series(ts_path) - time_series = Dict() - open(ts_path, "r") do f - time_series = JSON.parse(f) - else - @error "no time series data is available at $(ts_path)" - end - return time_series -end - -function set_pq_from_timeseries!(mn, ts_data, variable) - # This function iterates over multinetwork entries and sets p, q values - # of loads and "sgens" (which are loads with negative P and Q values) - for step in 1:steps - network = mn["nw"]["$(step)"] - for idx in keys(ts_data) - network["load"][idx][viable] = ts_data [idx]["$(step-1)"] / network["baseMVA"] - end - end - return mn -end - -function run_powermodels(json_path) - # load converted pandapower network - pm = PP2PM.load_pm_from_json(files["net"]) - # copy network n_time_steps time step times - n_time_steps = pm["n_time_steps"] - mn = PowerModels.replicate(pm, pm["n_time_steps"]) - - for key in keys(files) - if key != "net" - ts_data = read_time_series(files[key]) - if key == "load_p" - mn = set_pq_from_timeseries!(mn, ts_data, "pd") - elseif key == "load_q" - mn = set_pq_from_timeseries!(mn, ts_data, "qd") - end - end - end - - result = _PM.run_mn_opf_strg(mn, model, solver, setting = Dict("output" => Dict("branch_flows" => true))) - # pm_res = get_result_for_pandapower(result) - - return result -end diff --git a/pandapower/opf/run_powermodels_storage.jl b/pandapower/opf/run_powermodels_storage.jl new file mode 100644 index 000000000..6e2843633 --- /dev/null +++ b/pandapower/opf/run_powermodels_storage.jl @@ -0,0 +1,100 @@ +using PowerModels +using .PP2PM + +import JSON +function read_time_series(json_path) + time_series = Dict() + open(json_path, "r") do f + time_series = JSON.parse(f) # parse and transform data + end + return time_series +end + +function set_pq_values_from_timeseries(mn, time_series) + # This function iterates over multinetwork entries and sets p, q values + # of loads and "sgens" (which are loads with negative P and Q values) + + # iterate over networks (which represent the time steps) + for (t, network) in mn["nw"] + t_j = string(parse(Int64,t) - 1) + # iterate over all loads for this network + for (i, load) in network["load"] + # update variables from time series here +# print("\nload before: ") +# print(load["pd"]) + load["pd"] = time_series[t_j][parse(Int64,i)] / mn["baseMVA"] +# print("\nload after: ") +# print(load["pd"]) + end + end + + return mn +end + +function run_powermodels(json_path) + # load converted pandapower network + pm = PP2PM.load_pm_from_json(json_path) + # copy network n_time_steps time step times + n_time_steps = pm["n_time_steps"] + mn = PowerModels.replicate(pm, pm["n_time_steps"]) + mn["time_elapsed"] = pm["time_elapsed"] + # set P, Q values of loads and generators from time series + if isfile("/tmp/timeseries.json") + time_series = read_time_series("/tmp/timeseries.json") + mn = set_pq_values_from_timeseries(mn, time_series) + else + print("Running storage without time series") + end + + ipopt_solver = JuMP.with_optimizer(Ipopt.Optimizer, print_level = 0) + + # run multinetwork storage opf + result = PowerModels._run_mn_strg_opf(mn, PowerModels.ACPPowerModel, ipopt_solver) + print_summary(result) + return result +end +# function read_time_series(ts_path) +# time_series = Dict() +# open(ts_path, "r") do f +# time_series = JSON.parse(f) +# else +# @error "no time series data is available at $(ts_path)" +# end +# return time_series +# end +# +# function set_pq_from_timeseries!(mn, ts_data, variable) +# # This function iterates over multinetwork entries and sets p, q values +# # of loads and "sgens" (which are loads with negative P and Q values) +# for step in 1:steps +# network = mn["nw"]["$(step)"] +# for idx in keys(ts_data) +# network["load"][idx][viable] = ts_data [idx]["$(step-1)"] / network["baseMVA"] +# end +# end +# return mn +# end +# +# function run_powermodels(json_path) +# # load converted pandapower network +# pm = PP2PM.load_pm_from_json(files["net"]) +# # copy network n_time_steps time step times +# n_time_steps = pm["n_time_steps"] +# mn = PowerModels.replicate(pm, pm["n_time_steps"]) +# +# for key in keys(files) +# if key != "net" +# ts_data = read_time_series(files[key]) +# if key == "load_p" +# mn = set_pq_from_timeseries!(mn, ts_data, "pd") +# elseif key == "load_q" +# mn = set_pq_from_timeseries!(mn, ts_data, "qd") +# end +# end +# end +# +# result = _PM.run_mn_opf_strg(mn, model, solver, setting = Dict("output" => Dict("branch_flows" => true))) +# # pm_res = get_result_for_pandapower(result) +# +# return result +# end diff --git a/pandapower/runpm.py b/pandapower/runpm.py index 072773bda..e23c47c01 100644 --- a/pandapower/runpm.py +++ b/pandapower/runpm.py @@ -7,7 +7,7 @@ import os from pandapower import pp_dir -from pandapower.auxiliary import _add_ppc_options, _add_opf_options, _add_pf_options +from pandapower.auxiliary import _add_ppc_options, _add_opf_options from pandapower.converter.powermodels.from_pm import read_ots_results, read_tnep_results from pandapower.opf.pm_storage import add_storage_opf_settings, read_pm_storage_results from pandapower.opf.run_powermodels import _runpm @@ -22,7 +22,6 @@ def runpm(net, julia_file=None, pp_to_pm_callback=None, calculate_voltage_angles Runs a power system optimization using PowerModels.jl. with a custom julia file. Flexibilities, constraints and cost parameters are defined in the pandapower element tables. - Flexibilities can be defined in net.sgen / net.gen /net.load net.sgen.controllable if a static generator is controllable. If False, the active and reactive power are assigned as in a normal power flow. If True, the following @@ -36,54 +35,38 @@ def runpm(net, julia_file=None, pp_to_pm_callback=None, calculate_voltage_angles - net.ext_grid.min_p_mw / net.ext_grid.max_p_mw - net.ext_grid.min_q_mvar / net.ext_grid.max_q_mvar - net.dcline.min_q_to_mvar / net.dcline.max_q_to_mvar / net.dcline.min_q_from_mvar / net.dcline.max_q_from_mvar - Controllable loads behave just like controllable static generators. It must be stated if they are controllable. Otherwise, they are not respected as flexibilities. Dc lines are controllable per default - Network constraints can be defined for buses, lines and transformers the elements in the following columns: - net.bus.min_vm_pu / net.bus.max_vm_pu - net.line.max_loading_percent - net.trafo.max_loading_percent - net.trafo3w.max_loading_percent - How these costs are combined into a cost function depends on the cost_function parameter. - INPUT: **net** - The pandapower format network - OPTIONAL: **julia_file** (str, None) - path to a custom julia optimization file - **pp_to_pm_callback** (function, None) - callback function to add data to the PowerModels data structure - **correct_pm_network_data** (bool, True) - checks if network data is correct. If not tries to correct it - **pm_model** (str, "ACPPowerModel") - The PowerModels.jl model to use - **pm_solver** (str, "ipopt") - The "main" power models solver - **pm_mip_solver** (str, "cbc") - The mixed integer solver (when "main" solver == juniper) - **pm_nl_solver** (str, "ipopt") - The nonlinear solver (when "main" solver == juniper) - **pm_time_limits** (Dict, None) - Time limits in seconds for power models interface. To be set as a dict like {"pm_time_limit": 300., "pm_nl_time_limit": 300., "pm_mip_time_limit": 300.} **pm_log_level** (int, 0) - solver log level in power models - **delete_buffer_file** (Bool, True) - If True, the .json file used by powermodels will be deleted after optimization. - **pm_file_path** (str, None) - Specifiy the filename, under which the .json file for powermodels is stored. If you want to keep the file after optimization, you should also set delete_buffer_file to False! - **opf_flow_lim** (str, "I") - Quantity to limit for branch flow constraints, in line with matpower's "opf.flowlim" parameter "S" - apparent power flow (limit in MVA), "I" - current magnitude (limit in MVA at 1 p.u. voltage) - """ net._options = {} ac = True if "DC" not in pm_model else False @@ -103,13 +86,11 @@ def runpm(net, julia_file=None, pp_to_pm_callback=None, calculate_voltage_angles def runpm_dc_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, - correct_pm_network_data=True, pm_solver="ipopt", pm_time_limits=None, - pm_log_level=0, delete_buffer_file=True, pm_file_path = None, **kwargs): # pragma: no cover + correct_pm_network_data=True, pm_model="DCPPowerModel", pm_solver="ipopt", + pm_time_limits=None, pm_log_level=0, **kwargs): # pragma: no cover """ Runs a linearized power system optimization using PowerModels.jl. - Flexibilities, constraints and cost parameters are defined in the pandapower element tables. - Flexibilities can be defined in net.sgen / net.gen /net.load net.sgen.controllable if a static generator is controllable. If False, the active and reactive power are assigned as in a normal power flow. If True, the following @@ -123,35 +104,29 @@ def runpm_dc_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, - net.ext_grid.min_p_mw / net.ext_grid.max_p_mw - net.ext_grid.min_q_mvar / net.ext_grid.max_q_mvar - net.dcline.min_q_to_mvar / net.dcline.max_q_to_mvar / net.dcline.min_q_from_mvar / net.dcline.max_q_from_mvar - Controllable loads behave just like controllable static generators. It must be stated if they are controllable. Otherwise, they are not respected as flexibilities. Dc lines are controllable per default - Network constraints can be defined for buses, lines and transformers the elements in the following columns: - net.bus.min_vm_pu / net.bus.max_vm_pu - net.line.max_loading_percent - net.trafo.max_loading_percent - net.trafo3w.max_loading_percent - How these costs are combined into a cost function depends on the cost_function parameter. - INPUT: **net** - The pandapower format network - OPTIONAL: **pp_to_pm_callback** (function, None) - callback function to add data to the PowerModels data structure - + **pm_model** (str, "DCPPowerModel") - model to use. Default is DC model **pm_solver** (str, "ipopt") - The "main" power models solver - **correct_pm_network_data** (bool, True) - checks if network data is correct. If not tries to correct it - **pm_time_limits** (Dict, None) - Time limits in seconds for power models interface. To be set as a dict like {"pm_time_limit": 300.} **pm_log_level** (int, 0) - solver log level in power models """ julia_file = os.path.join(pp_dir, "opf", 'run_powermodels.jl') + ac = True if "DC" not in pm_model else False net._options = {} _add_ppc_options(net, calculate_voltage_angles=calculate_voltage_angles, @@ -159,11 +134,11 @@ def runpm_dc_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, mode="opf", switch_rx_ratio=2, init_vm_pu="flat", init_va_degree="flat", enforce_q_lims=True, recycle=dict(_is_elements=False, ppc=False, Ybus=False), voltage_depend_loads=False, delta=delta, trafo3w_losses=trafo3w_losses) - _add_opf_options(net, trafo_loading='power', ac=False, init="flat", numba=True, + _add_opf_options(net, trafo_loading='power', ac=ac, init="flat", numba=True, pp_to_pm_callback=pp_to_pm_callback, julia_file=julia_file, - correct_pm_network_data=correct_pm_network_data, pm_model="DCPPowerModel", pm_solver=pm_solver, + correct_pm_network_data=correct_pm_network_data, pm_model=pm_model, pm_solver=pm_solver, pm_time_limits=pm_time_limits, pm_log_level=pm_log_level, opf_flow_lim="S") - _runpm(net, delete_buffer_file=delete_buffer_file, pm_file_path = pm_file_path) + _runpm(net) def runpm_ac_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, @@ -173,9 +148,7 @@ def runpm_ac_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, opf_flow_lim="S", **kwargs): # pragma: no cover """ Runs a non-linear power system optimization using PowerModels.jl. - Flexibilities, constraints and cost parameters are defined in the pandapower element tables. - Flexibilities can be defined in net.sgen / net.gen /net.load net.sgen.controllable if a static generator is controllable. If False, the active and reactive power are assigned as in a normal power flow. If True, the following @@ -189,48 +162,37 @@ def runpm_ac_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, - net.ext_grid.min_p_mw / net.ext_grid.max_p_mw - net.ext_grid.min_q_mvar / net.ext_grid.max_q_mvar - net.dcline.min_q_to_mvar / net.dcline.max_q_to_mvar / net.dcline.min_q_from_mvar / net.dcline.max_q_from_mvar - Controllable loads behave just like controllable static generators. It must be stated if they are controllable. Otherwise, they are not respected as flexibilities. Dc lines are controllable per default - Network constraints can be defined for buses, lines and transformers the elements in the following columns: - net.bus.min_vm_pu / net.bus.max_vm_pu - net.line.max_loading_percent - net.trafo.max_loading_percent - net.trafo3w.max_loading_percent - How these costs are combined into a cost function depends on the cost_function parameter. - INPUT: **net** - The pandapower format network - OPTIONAL: - **pp_to_pm_callback** (function, None) - callback function to add data to the PowerModels data structure - + **pm_model** (str, "ACPPowerModel") - model to use. Default is AC model **pm_solver** (str, "ipopt") - default solver to use. If ipopt is not available use Ipopt - **correct_pm_network_data** (bool, True) - checks if network data is correct. If not tries to correct it - **pm_time_limits** (Dict, None) - Time limits in seconds for power models interface. To be set as a dict like {"pm_time_limit": 300.} - **pm_log_level** (int, 0) - solver log level in power models - **opf_flow_lim** (str, "I") - Quantity to limit for branch flow constraints, in line with matpower's "opf.flowlim" parameter "S" - apparent power flow (limit in MVA), "I" - current magnitude (limit in MVA at 1 p.u. voltage) - **delete_buffer_file** (Bool, True) - If True, the .json file used by powermodels will be deleted after optimization. - **pm_file_path** (str, None) - Specifiy the filename, under which the .json file for powermodels is stored. If you want to keep the file after optimization, you should also set delete_buffer_file to False! """ julia_file = os.path.join(pp_dir, "opf", 'run_powermodels.jl') + ac = True if "DC" not in pm_model else False net._options = {} _add_ppc_options(net, calculate_voltage_angles=calculate_voltage_angles, @@ -238,84 +200,30 @@ def runpm_ac_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, mode="opf", switch_rx_ratio=2, init_vm_pu="flat", init_va_degree="flat", enforce_q_lims=True, recycle=dict(_is_elements=False, ppc=False, Ybus=False), voltage_depend_loads=False, delta=delta, trafo3w_losses=trafo3w_losses) - _add_opf_options(net, trafo_loading='power', ac=True, init="flat", numba=True, - pp_to_pm_callback=pp_to_pm_callback, julia_file=julia_file, pm_model="ACPPowerModel", pm_solver=pm_solver, + _add_opf_options(net, trafo_loading='power', ac=ac, init="flat", numba=True, + pp_to_pm_callback=pp_to_pm_callback, julia_file=julia_file, pm_model=pm_model, pm_solver=pm_solver, correct_pm_network_data=correct_pm_network_data, pm_time_limits=pm_time_limits, pm_log_level=pm_log_level, opf_flow_lim=opf_flow_lim) _runpm(net, pm_file_path=pm_file_path, delete_buffer_file=delete_buffer_file) -def runpm_dc_pf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, - trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, - correct_pm_network_data=True, pm_solver="ipopt", - pm_time_limits=None, pm_log_level=0, pm_file_path = None, delete_buffer_file=True, **kwargs): - - julia_file = os.path.join(pp_dir, "opf", 'run_powermodels_powerflow.jl') - - net._options = {} - _add_ppc_options(net, calculate_voltage_angles=calculate_voltage_angles, - trafo_model=trafo_model, check_connectivity=check_connectivity, - mode="opf", switch_rx_ratio=2, init_vm_pu="flat", init_va_degree="flat", - enforce_q_lims=True, recycle=dict(_is_elements=False, ppc=False, Ybus=False), - voltage_depend_loads=False, delta=delta, trafo3w_losses=trafo3w_losses) - _add_pf_options(net, trafo_loading='power', ac=False, init="flat", numba=True, - max_iteration="auto", tolerance_mva=1e-8, algorithm="nr", - pp_to_pm_callback=pp_to_pm_callback, julia_file=julia_file, - correct_pm_network_data=correct_pm_network_data, pm_model="DCMPPowerModel", pm_solver=pm_solver, - pm_time_limits=pm_time_limits, pm_log_level=pm_log_level, opf_flow_lim="S") - - _runpm(net, pm_file_path=pm_file_path, delete_buffer_file=delete_buffer_file) - - -def runpm_ac_pf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, - trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, - pm_model="ACPPowerModel", pm_solver="ipopt", correct_pm_network_data=True, - pm_time_limits=None, pm_log_level=0, pm_file_path = None, delete_buffer_file=True, - opf_flow_lim="S", **kwargs): - - julia_file = os.path.join(pp_dir, "opf", 'run_powermodels_powerflow.jl') - - net._options = {} - _add_ppc_options(net, calculate_voltage_angles=calculate_voltage_angles, - trafo_model=trafo_model, check_connectivity=check_connectivity, - mode="pf", switch_rx_ratio=2, init_vm_pu="flat", init_va_degree="flat", - enforce_q_lims=True, recycle=dict(_is_elements=False, ppc=False, Ybus=False), - voltage_depend_loads=False, delta=delta, trafo3w_losses=trafo3w_losses) - - _add_pf_options(net, trafo_loading='power', ac=True, init="flat", numba=True, - max_iteration="auto", tolerance_mva=1e-8, algorithm="nr", - pp_to_pm_callback=pp_to_pm_callback, julia_file=julia_file, pm_model="ACPPowerModel", pm_solver=pm_solver, - correct_pm_network_data=correct_pm_network_data, pm_time_limits=pm_time_limits, - pm_log_level=pm_log_level, opf_flow_lim=opf_flow_lim) - - _runpm(net, pm_file_path=pm_file_path, delete_buffer_file=delete_buffer_file) - def runpm_tnep(net, pp_to_pm_callback=None, calculate_voltage_angles=True, trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, - pm_model="DCMPowerModel", pm_solver=None, correct_pm_network_data=True, + pm_model="DCPPowerModel", pm_solver=None, correct_pm_network_data=True, pm_nl_solver="ipopt", pm_mip_solver="cbc", pm_time_limits=None, pm_log_level=0, opf_flow_lim="S", **kwargs): # pragma: no cover """ Runs a non-linear transmission network extension planning (tnep) optimization using PowerModels.jl. - OPTIONAL: **julia_file** (str, None) - path to a custom julia optimization file - **pp_to_pm_callback** (function, None) - callback function to add data to the PowerModels data structure - **correct_pm_network_data** (bool, True) - checks if network data is correct. If not tries to correct it - **pm_model** (str, "ACPPowerModel") - The PowerModels.jl model to use - **pm_solver** (str, "juniper") - The "main" power models solver - **pm_mip_solver** (str, "cbc") - The mixed integer solver (when "main" solver == juniper) - **pm_nl_solver** (str, "ipopt") - The nonlinear solver (when "main" solver == juniper) - **pm_time_limits** (Dict, None) - Time limits in seconds for power models interface. To be set as a dict like {"pm_time_limit": 300., "pm_nl_time_limit": 300., "pm_mip_time_limit": 300.} - **pm_log_level** (int, 0) - solver log level in power models """ julia_file = os.path.join(pp_dir, "opf", 'run_powermodels_tnep.jl') @@ -349,28 +257,17 @@ def runpm_ots(net, pp_to_pm_callback=None, calculate_voltage_angles=True, correct_pm_network_data=True, pm_time_limits=None, pm_log_level=0, **kwargs): # pragma: no cover """ Runs a non-linear optimal transmission switching (OTS) optimization using PowerModels.jl. - OPTIONAL: **julia_file** (str, None) - path to a custom julia optimization file - **pp_to_pm_callback** (function, None) - callback function to add data to the PowerModels data structure - **correct_pm_network_data** (bool, True) - checks if network data is correct. If not tries to correct it - **pm_model** (str, "ACPPowerModel") - The PowerModels.jl model to use - **pm_solver** (str, "juniper") - The "main" power models solver - **pm_mip_solver** (str, "cbc") - The mixed integer solver (when "main" solver == juniper) - **pm_nl_solver** (str, "ipopt") - The nonlinear solver (when "main" solver == juniper) - **pm_time_limits** (Dict, None) - Time limits in seconds for power models interface. To be set as a dict like {"pm_time_limit": 300., "pm_nl_time_limit": 300., "pm_mip_time_limit": 300.} - **pm_log_level** (int, 0) - solver log level in power models - - """ julia_file = os.path.join(pp_dir, "opf", 'run_powermodels_ots.jl') ac = True if "DC" not in pm_model else False @@ -391,34 +288,24 @@ def runpm_ots(net, pp_to_pm_callback=None, calculate_voltage_angles=True, _runpm(net) read_ots_results(net) - -def runpm_storage_opf(net, calculate_voltage_angles=True, correct_pm_network_data=True, +def runpm_storage_opf(net, calculate_voltage_angles=True, trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, - n_timesteps=24, time_elapsed=1.0, - charge_efficiency=1.0, discharge_efficiency=1.0, - standby_loss=1e-8, p_loss=1e-8, q_loss=1e-8, - pm_solver="ipopt", pm_mip_solver="cbc", pm_nl_solver="ipopt", - pm_model="DCPPowerModel", pm_time_limits=None, pm_log_level=0, - delete_buffer_file=True, pm_file_path = None, opf_flow_lim="S", - profiles = None, **kwargs): # pragma: no cover + n_timesteps=24, time_elapsed=1.0, correct_pm_network_data=True, + pm_model="ACPPowerModel", pm_time_limits=None, pm_log_level=0, + opf_flow_lim="S", charge_efficiency=1.0, discharge_efficiency=1.0, + standby_loss=1e-8, p_loss=1e-8, q_loss=1e-8, **kwargs): # pragma: no cover """ Runs a non-linear power system optimization with storages and time series using PowerModels.jl. - - INPUT: **net** - The pandapower format network - OPTIONAL: **n_timesteps** (int, 24) - number of time steps to optimize - **time_elapsed** (float, 1.0) - time elapsed between time steps (1.0 = 1 hour) - **pm_time_limits** (Dict, None) - Time limits in seconds for power models interface. To be set as a dict like {"pm_time_limit": 300., "pm_nl_time_limit": 300., "pm_mip_time_limit": 300.} - **pm_log_level** (int, 0) - solver log level in power models """ - julia_file = os.path.join(pp_dir, "opf", 'run_powermodels_mn_storage.jl') + julia_file = os.path.join(pp_dir, "opf", 'run_powermodels_storage.jl') ac = True if "DC" not in pm_model else False net._options = {} _add_ppc_options(net, calculate_voltage_angles=calculate_voltage_angles, @@ -440,14 +327,67 @@ def runpm_storage_opf(net, calculate_voltage_angles=True, correct_pm_network_dat net._options["standby_loss"] = standby_loss net._options["p_loss"] = p_loss net._options["q_loss"] = q_loss - - net._options["multinet"] = True - net._options["profiles"] = profiles - + _runpm(net) storage_results = read_pm_storage_results(net) return storage_results +# def runpm_storage_opf(net, calculate_voltage_angles=True, correct_pm_network_data=True, +# trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, +# n_timesteps=24, time_elapsed=1.0, +# charge_efficiency=1.0, discharge_efficiency=1.0, +# standby_loss=1e-8, p_loss=1e-8, q_loss=1e-8, +# pm_solver="ipopt", pm_mip_solver="cbc", pm_nl_solver="ipopt", +# pm_model="DCPPowerModel", pm_time_limits=None, pm_log_level=0, +# delete_buffer_file=True, pm_file_path = None, opf_flow_lim="S", +# profiles = None, **kwargs): # pragma: no cover +# """ +# Runs a non-linear power system optimization with storages and time series using PowerModels.jl. + + +# INPUT: +# **net** - The pandapower format network + +# OPTIONAL: +# **n_timesteps** (int, 24) - number of time steps to optimize + +# **time_elapsed** (float, 1.0) - time elapsed between time steps (1.0 = 1 hour) + +# **pm_time_limits** (Dict, None) - Time limits in seconds for power models interface. To be set as a dict like +# {"pm_time_limit": 300., "pm_nl_time_limit": 300., "pm_mip_time_limit": 300.} + +# **pm_log_level** (int, 0) - solver log level in power models +# """ +# julia_file = os.path.join(pp_dir, "opf", 'run_powermodels_storage.jl') +# ac = True if "DC" not in pm_model else False +# net._options = {} +# _add_ppc_options(net, calculate_voltage_angles=calculate_voltage_angles, +# trafo_model=trafo_model, check_connectivity=check_connectivity, +# mode="opf", switch_rx_ratio=2, init_vm_pu="flat", init_va_degree="flat", +# enforce_q_lims=True, recycle=dict(_is_elements=False, ppc=False, Ybus=False), +# voltage_depend_loads=False, delta=delta, trafo3w_losses=trafo3w_losses) +# _add_opf_options(net, trafo_loading='power', ac=ac, init="flat", numba=True, +# pp_to_pm_callback=add_storage_opf_settings, julia_file=julia_file, +# correct_pm_network_data=correct_pm_network_data, pm_model=pm_model, pm_time_limits=pm_time_limits, +# pm_log_level=pm_log_level, opf_flow_lim=opf_flow_lim) + +# net._options["n_time_steps"] = n_timesteps +# net._options["time_elapsed"] = time_elapsed + +# net._options["charge_efficiency"] = charge_efficiency +# net._options["discharge_efficiency"] = discharge_efficiency + +# net._options["standby_loss"] = standby_loss +# net._options["p_loss"] = p_loss +# net._options["q_loss"] = q_loss + +# net._options["multinet"] = True +# net._options["profiles"] = profiles + +# _runpm(net) +# storage_results = read_pm_storage_results(net) +# return storage_results + diff --git a/tutorials/mary_mns_test.py b/tutorials/mary_mns_test.py index 1cf79733a..9f5670d59 100644 --- a/tutorials/mary_mns_test.py +++ b/tutorials/mary_mns_test.py @@ -15,114 +15,105 @@ import pandapower as pp import pandapower.networks as nw -def cigre_grid(): - net = nw.create_cigre_network_mv("pv_wind") - # set some limits - min_vm_pu = 0.95 - max_vm_pu = 1.05 - - net["bus"].loc[:, "min_vm_pu"] = min_vm_pu - net["bus"].loc[:, "max_vm_pu"] = max_vm_pu - - net["line"].loc[:, "max_loading_percent"] = 100. - - # close all switches - net.switch.loc[:, "closed"] = True - # add storage to bus 10 - pp.create_storage(net, 10, p_mw=0.5, max_e_mwh=.2, soc_percent=0., q_mvar=0., controllable=True) - - return net - -def convert_timeseries_to_dict(net, input_file): - # set the load type in the cigre grid, since it is not specified - net["load"].loc[:, "type"] = "residential" - # change the type of the last sgen to wind - net.sgen.loc[:, "type"] = "pv" - net.sgen.loc[8, "type"] = "wind" - - # read the example time series - time_series = pd.read_json(input_file) - time_series.sort_index(inplace=True) - # this example time series has a 15min resolution with 96 time steps for one day - n_timesteps = time_series.shape[0] - - n_load = len(net.load) - n_sgen = len(net.sgen) - p_timeseries = np.zeros((n_timesteps, n_load + n_sgen), dtype=float) - # p - load_p = net["load"].loc[:, "p_mw"].values - sgen_p = net["sgen"].loc[:7, "p_mw"].values - wind_p = net["sgen"].loc[8, "p_mw"] - - p_timeseries_dict = dict() - for t in range(n_timesteps): - # print(time_series.at[t, "residential"]) - p_timeseries[t, :n_load] = load_p * time_series.at[t, "residential"] - p_timeseries[t, n_load:-1] = - sgen_p * time_series.at[t, "pv"] - p_timeseries[t, -1] = - wind_p * time_series.at[t, "wind"] - p_timeseries_dict[t] = p_timeseries[t, :].tolist() - - time_series_file = os.path.join(tempfile.gettempdir(), "timeseries.json") - with open(time_series_file, 'w') as fp: - json.dump(p_timeseries_dict, fp) - - return net, p_timeseries_dict - -# open the cigre mv grid -net = cigre_grid() -# convert the time series to a dict and save it to disk -input_file = "cigre_timeseries_15min.json" -net, p_timeseries = convert_timeseries_to_dict(net, input_file) -# run the PowerModels.jl optimization -# n_time steps = 96 and time_elapsed is a quarter of an hour (since the time series are in 15min resolution) -# storage_results = pp.runpm_storage_opf(net, n_timesteps=96, time_elapsed=0.25) - -storage_results = pp.runpm_storage_opf(net, calculate_voltage_angles=True, - trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, - n_timesteps=24, time_elapsed=1.0, correct_pm_network_data=True, - pm_model="ACPPowerModel", pm_time_limits=None, pm_log_level=0, opf_flow_lim="S") - -def store_results(storage_results, grid_name): - for key, val in storage_results.items(): - file = grid_name + "_strg_res" + str(key) + ".json" - print("Storing results to file {}".format(file)) - print(val) - val.to_json(file) -# store the results to disk optionally -store_results(storage_results, "cigre_ts") - - -def plot_storage_results(storage_results): - n_res = len(storage_results.keys()) - fig, axes = plt.subplots(n_res, 2) - if n_res == 1: - axes = [axes] - for i, (key, val) in enumerate(storage_results.items()): - res = val - axes[i][0].set_title("Storage {}".format(key)) - el = res.loc[:, ["p_mw", "q_mvar", "soc_mwh"]] - el.plot(ax=axes[i][0]) - axes[i][0].set_xlabel("time step") - axes[i][0].legend(loc=4) - axes[i][0].grid() - ax2 = axes[i][1] - patch = plt.plot([], [], ms=8, ls="--", mec=None, color="grey", label="{:s}".format("soc_percent")) - ax2.legend(handles=patch) - ax2.set_label("SOC percent") - res.loc[:, "soc_percent"].plot(ax=ax2, linestyle="--", color="grey") - ax2.grid() - - plt.show() -# plot the result -plot_storage_results(storage_results) +net = nw.create_cigre_network_mv("pv_wind") +# set some limits +min_vm_pu = 0.95 +max_vm_pu = 1.05 +net["bus"].loc[:, "min_vm_pu"] = min_vm_pu +net["bus"].loc[:, "max_vm_pu"] = max_vm_pu -import pandapower as pp -import pandapower.networks as nw -net = nw.case5() -pp.create_storage(net, 2, p_mw=1., max_e_mwh=.2, soc_percent=100., q_mvar=1.) -pp.create_storage(net, 3, p_mw=1., max_e_mwh=.3, soc_percent=100., q_mvar=1.) +net["line"].loc[:, "max_loading_percent"] = 100. + +# close all switches +net.switch.loc[:, "closed"] = True +# add storage to bus 10 +pp.create_storage(net, 10, p_mw=0.5, max_e_mwh=.2, soc_percent=0., q_mvar=0., controllable=True) -# optimize for 24 time steps. At the end the SOC is 0% -storage_results = pp.runpm_storage_opf(net, n_timesteps=24) \ No newline at end of file + +# set the load type in the cigre grid, since it is not specified +net["load"].loc[:, "type"] = "residential" +# change the type of the last sgen to wind +net.sgen.loc[:, "type"] = "pv" +net.sgen.loc[8, "type"] = "wind" + +# read the example time series +input_file = "cigre_timeseries_15min.json" +time_series = pd.read_json(input_file) +time_series.sort_index(inplace=True) +# this example time series has a 15min resolution with 96 time steps for one day +n_timesteps = time_series.shape[0] + +n_load = len(net.load) +n_sgen = len(net.sgen) +p_timeseries = np.zeros((n_timesteps, n_load + n_sgen), dtype=float) +# p +load_p = net["load"].loc[:, "p_mw"].values +sgen_p = net["sgen"].loc[:7, "p_mw"].values +wind_p = net["sgen"].loc[8, "p_mw"] + +p_timeseries_dict = dict() +for t in range(n_timesteps): + # print(time_series.at[t, "residential"]) + p_timeseries[t, :n_load] = load_p * time_series.at[t, "residential"] + p_timeseries[t, n_load:-1] = - sgen_p * time_series.at[t, "pv"] + p_timeseries[t, -1] = - wind_p * time_series.at[t, "wind"] + p_timeseries_dict[t] = p_timeseries[t, :].tolist() + +time_series_file = os.path.join(tempfile.gettempdir(), "timeseries.json") +with open(time_series_file, 'w') as fp: + json.dump(p_timeseries_dict, fp) + + +storage_results = pp.runpm_storage_opf(net, n_timesteps=96, time_elapsed=0.25) + +# storage_results = pp.runpm_storage_opf(net, calculate_voltage_angles=True, +# trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, +# n_timesteps=24, time_elapsed=1.0, correct_pm_network_data=True, +# pm_model="ACPPowerModel", pm_time_limits=None, pm_log_level=0, opf_flow_lim="S") + +# def store_results(storage_results, grid_name): +# for key, val in storage_results.items(): +# file = grid_name + "_strg_res" + str(key) + ".json" +# print("Storing results to file {}".format(file)) +# print(val) +# val.to_json(file) +# # store the results to disk optionally +# store_results(storage_results, "cigre_ts") + + +# def plot_storage_results(storage_results): +# n_res = len(storage_results.keys()) +# fig, axes = plt.subplots(n_res, 2) +# if n_res == 1: +# axes = [axes] +# for i, (key, val) in enumerate(storage_results.items()): +# res = val +# axes[i][0].set_title("Storage {}".format(key)) +# el = res.loc[:, ["p_mw", "q_mvar", "soc_mwh"]] +# el.plot(ax=axes[i][0]) +# axes[i][0].set_xlabel("time step") +# axes[i][0].legend(loc=4) +# axes[i][0].grid() +# ax2 = axes[i][1] +# patch = plt.plot([], [], ms=8, ls="--", mec=None, color="grey", label="{:s}".format("soc_percent")) +# ax2.legend(handles=patch) +# ax2.set_label("SOC percent") +# res.loc[:, "soc_percent"].plot(ax=ax2, linestyle="--", color="grey") +# ax2.grid() + +# plt.show() +# # plot the result +# plot_storage_results(storage_results) + + + +# import pandapower as pp +# import pandapower.networks as nw +# net = nw.case5() +# pp.create_storage(net, 2, p_mw=1., max_e_mwh=.2, soc_percent=100., q_mvar=1.) +# pp.create_storage(net, 3, p_mw=1., max_e_mwh=.3, soc_percent=100., q_mvar=1.) + +# # optimize for 24 time steps. At the end the SOC is 0% +# storage_results = pp.runpm_storage_opf(net, n_timesteps=24) \ No newline at end of file diff --git a/tutorials/mary_test.py b/tutorials/mary_test.py new file mode 100644 index 000000000..c8e0aceed --- /dev/null +++ b/tutorials/mary_test.py @@ -0,0 +1,82 @@ +from pandapower.converter.powermodels.to_pm import convert_pp_to_pm + +import json +import os +import tempfile +import matplotlib.pyplot as plt +import numpy as np +import pandas as pd +import pandapower as pp +import pandapower.networks as nw +from pandapower.control.controller.const_control import ConstControl +from pandapower.timeseries.data_sources.frame_data import DFData + +from timeseries.run_profile_cython.run_cython import profiles_from_ds + +net = nw.create_cigre_network_mv("pv_wind") +pp.runpp(net) +# set some limits +min_vm_pu = 0.95 +max_vm_pu = 1.05 + +net["bus"].loc[:, "min_vm_pu"] = 0.9 +net["bus"].loc[:, "max_vm_pu"] = 1.1 + +net["line"].loc[:, "max_loading_percent"] = 100. + +# close all switches +net.switch.loc[:, "closed"] = True +# add storage to bus 10 +pp.create_storage(net, 10, p_mw=0.5, max_e_mwh=.2, soc_percent=0., q_mvar=0., controllable=True) + +# net.load["controllable"] = False +# net.sgen["controllable"] = False + + +pp.runpp(net) + + +net.ext_grid.loc[:, "max_p_mw"] = 99999. +net.ext_grid.loc[:, "min_p_mw"] = -99999. + +net.ext_grid.loc[:, "max_q_mvar"] = 99999. +net.ext_grid.loc[:, "min_q_mvar"] = -99999. + + +net["load"].loc[:, "type"] = "residential" +net.sgen.loc[:, "type"] = "pv" +net.sgen.loc[8, "type"] = "wind" + +input_file = r"C:\Users\x230\pandapower\tutorials\cigre_timeseries_15min.json" +time_series = pd.read_json(input_file) + + +time_series.sort_index(inplace=True) + +load_df = pd.DataFrame(time_series["residential"]).dot([net["load"]["p_mw"].values]) + +ConstControl(net, "load", "p_mw", element_index=net.load.index[net.load.type == "residential"], + profile_name=net.load.index[net.load.type == "residential"], data_source=DFData(load_df)) + +pv_df = pd.DataFrame(time_series["pv"]).dot([net["sgen"].loc[:7, "p_mw"].values]) + +ConstControl(net, "sgen", "p_mw", element_index=net.sgen.index[net.sgen.type == "pv"], + profile_name=net.sgen.index[net.sgen.type == "pv"], data_source=DFData(pv_df)) + +wind_df = pd.DataFrame(time_series["wind"]).dot([net["sgen"].loc[8, "p_mw"]]) + +ConstControl(net, "sgen", "p_mw", element_index=net.sgen.index[net.sgen.type == "wind"], + profile_name=net.sgen.index[net.sgen.type == "wind"], data_source=DFData(time_series["wind"])) + + +storage_results = pp.runpm_storage_opf(net, n_timesteps=96, time_elapsed=0.25) + +# time_series.sort_values(by="timestep", inplace=True) +# time_series["residential"].plot() +# time_series["pv"].plot() +# time_series["wind"].plot() +# plt.xlabel("time step") +# plt.xlabel("relative value") +# plt.legend() +# plt.grid() +# plt.show() \ No newline at end of file From 56c6a7480864a42fae8c8a06a9e1542e295efd0a Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Mon, 19 Jul 2021 15:45:41 +0200 Subject: [PATCH 107/422] update --- doc/shortcircuit/current_source.rst | 34 +++--- doc/shortcircuit/voltage_source.rst | 166 ++++++++++++++-------------- 2 files changed, 100 insertions(+), 100 deletions(-) diff --git a/doc/shortcircuit/current_source.rst b/doc/shortcircuit/current_source.rst index 7e1f60316..d694936d7 100644 --- a/doc/shortcircuit/current_source.rst +++ b/doc/shortcircuit/current_source.rst @@ -1,17 +1,17 @@ -Current Source Elements -================================ - -Full converter elements, such as PV plants or wind parks, are modeled as current sources: - -.. image:: bus_current.png - :width: 8em - :align: center - -All static generator elements are assumed to be full converter elements except if the type is specified as "motor", in which case they are treated as asynchronous machines. - -The inductive short circuit current is calculated from the parameters given in the sgen table as: - -.. math:: - \underline{I}_k = -j \cdot \frac{k \cdot s\_n\_kva}{\sqrt{3} \cdot vn\_kv} - -where :math:`s\_n\_kva` is the rated power of the generator and :math:`k` is the ratio of nominal to short circuit current. :math:`vn\_kv` is the rated voltage of the bus the generator is connected to. +Current Source Elements +================================ + +Full converter elements, such as PV plants or wind parks, are modeled as current sources: + +.. image:: bus_current.png + :width: 8em + :align: center + +All static generator elements are assumed to be full converter elements except if the type is specified as "motor", in which case they are treated as asynchronous machines. + +The inductive short circuit current is calculated from the parameters given in the sgen table as: + +.. math:: + \underline{I}_k = -j \cdot \frac{k \cdot s\_n\_kva}{\sqrt{3} \cdot vn\_kv} + +where :math:`s\_n\_kva` is the rated power of the generator and :math:`k` is the ratio of nominal to short circuit current. :math:`vn\_kv` is the rated voltage of the bus the generator is connected to. diff --git a/doc/shortcircuit/voltage_source.rst b/doc/shortcircuit/voltage_source.rst index d55a2fe93..a2402e4be 100644 --- a/doc/shortcircuit/voltage_source.rst +++ b/doc/shortcircuit/voltage_source.rst @@ -1,83 +1,83 @@ -Voltage Source Elements -================================ - -Voltage source elements are represented by their internal voltage source with an internal resistance :math:`Z_k`: - -.. image:: bus_voltage.png - :width: 8em - :align: center - -since the voltage source is moved to the fault location for with methodology of the equivalent voltage source, the bus elements -can be reduced to a single shunt impedance: - -.. image:: bus_equivalent.png - :width: 10em - :align: center - -The contribution of loads and shunts are negligible according to the standard and therefore neglected in the short-circuit calculation. - -External Grid ------------------ - -When calculating maximum short-circuit currents, the impedance of an external grid connection is given as: - -.. math:: - - z_{k, eg} =& \frac{c_{max}}{s\_sc\_max\_mva} \\[1em] - x_{k, eg} =& \frac{z_{sg}}{\sqrt{1 + rx\_max^2}} \\[1em] - r_{k, eg} =& rx\_max \cdot x_{sg} - -where :math:`rx\_max` and :math:`s\_sc\_max\_mva` are parameters in the ext_grid table and :math:`c_{max}` is the :ref:`voltage correction factor ` of the -external grid bus. - -In case of minimal short-circuit currents, the impedance is calculated accordingly: - -.. math:: - - z_{k, eg} =& \frac{c_{min}}{s\_sc\_min\_mva} \\[1em] - x_{k, eg} =& \frac{z_{sg}}{\sqrt{1 + rx\_min^2}} \\[1em] - r_{k, eg} =& rx\_min \cdot x_{sg} - -Asynchronous Motor ------------------------ -Asynchronous motors can be considered by setting the type variable of an sgen element to "motor". The internal impedance is then calculated as: - -.. math:: - - Z_{k, m} = \frac{1}{k} \cdot \frac{vn\_kv^2 \cdot 1000}{sn\_kva} \\ - X_{k, m} = \frac{Z_{sg}}{\sqrt{1 + rx^2}} \\ - R_{k, m} = rx \cdot X_{sg} - -where :math:`sn\_kva` is the rated power of the motor, :math:`k` is the ratio of nominal to short circuit current and :math:`rx` is the R/X ratio of the motor. -:math:`vn\_kv` is the rated voltage of the bus the motor is connected to. - - -Synchronous Generator ------------------------ -Synchronous generators are considered with the short-circuit impedance of: - -.. math:: - \underline{Z}_{k, gen} = K_G \cdot (R''_d + jX''_d) - -The short-circuit impedance is calculated as: - -.. math:: - - z_k = xdss - -The generator correction factor :math:`K_G` is given as: - -.. math:: - - K_G = \frac{V_{N, gen}}{V_{N, bus}} \cdot \frac{c_{max}}{1 + x_{dss} \cdot sin(\varphi)} - -where :math:`V_{N, bus}` is the rated voltage of the bus the generator is connected to and :math:`V_{N, gen}` is the rated voltage of the -generator which is defined by the parameter :math:`\text{sn\_kva}` in the gen table. The rated phasor angle :math:`\varphi` is given as: - -.. math:: - - \varphi = arcos(cos\_phi) - -where :math:`cos\_phi` is defined in the gen table. - - +Voltage Source Elements +================================ + +Voltage source elements are represented by their internal voltage source with an internal resistance :math:`Z_k`: + +.. image:: bus_voltage.png + :width: 8em + :align: center + +since the voltage source is moved to the fault location for with methodology of the equivalent voltage source, the bus elements +can be reduced to a single shunt impedance: + +.. image:: bus_equivalent.png + :width: 10em + :align: center + +The contribution of loads and shunts are negligible according to the standard and therefore neglected in the short-circuit calculation. + +External Grid +----------------- + +When calculating maximum short-circuit currents, the impedance of an external grid connection is given as: + +.. math:: + + z_{k, eg} =& \frac{c_{max}}{s\_sc\_max\_mva} \\[1em] + x_{k, eg} =& \frac{z_{sg}}{\sqrt{1 + rx\_max^2}} \\[1em] + r_{k, eg} =& rx\_max \cdot x_{sg} + +where :math:`rx\_max` and :math:`s\_sc\_max\_mva` are parameters in the ext_grid table and :math:`c_{max}` is the :ref:`voltage correction factor ` of the +external grid bus. + +In case of minimal short-circuit currents, the impedance is calculated accordingly: + +.. math:: + + z_{k, eg} =& \frac{c_{min}}{s\_sc\_min\_mva} \\[1em] + x_{k, eg} =& \frac{z_{sg}}{\sqrt{1 + rx\_min^2}} \\[1em] + r_{k, eg} =& rx\_min \cdot x_{sg} + +Asynchronous Motor +----------------------- +Asynchronous motors can be considered by setting the type variable of an sgen element to "motor". The internal impedance is then calculated as: + +.. math:: + + Z_{k, m} = \frac{1}{k} \cdot \frac{vn\_kv^2 \cdot 1000}{sn\_kva} \\ + X_{k, m} = \frac{Z_{sg}}{\sqrt{1 + rx^2}} \\ + R_{k, m} = rx \cdot X_{sg} + +where :math:`sn\_kva` is the rated power of the motor, :math:`k` is the ratio of nominal to short circuit current and :math:`rx` is the R/X ratio of the motor. +:math:`vn\_kv` is the rated voltage of the bus the motor is connected to. + + +Synchronous Generator +----------------------- +Synchronous generators are considered with the short-circuit impedance of: + +.. math:: + \underline{Z}_{k, gen} = K_G \cdot (R''_d + jX''_d) + +The short-circuit impedance is calculated as: + +.. math:: + + z_k = xdss + +The generator correction factor :math:`K_G` is given as: + +.. math:: + + K_G = \frac{V_{N, gen}}{V_{N, bus}} \cdot \frac{c_{max}}{1 + x_{dss} \cdot sin(\varphi)} + +where :math:`V_{N, bus}` is the rated voltage of the bus the generator is connected to and :math:`V_{N, gen}` is the rated voltage of the +generator which is defined by the parameter :math:`\text{sn\_kva}` in the gen table. The rated phasor angle :math:`\varphi` is given as: + +.. math:: + + \varphi = arcos(cos\_phi) + +where :math:`cos\_phi` is defined in the gen table. + + From 6c646d676d832b2f7e2b16e5c0219913b687b30d Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Mon, 19 Jul 2021 17:02:53 +0200 Subject: [PATCH 108/422] Update auxiliary.py --- pandapower/auxiliary.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pandapower/auxiliary.py b/pandapower/auxiliary.py index c1a54cde6..9ff635f7a 100644 --- a/pandapower/auxiliary.py +++ b/pandapower/auxiliary.py @@ -39,6 +39,7 @@ from pandapower.pypower.idx_brch import F_BUS, T_BUS, BR_STATUS from pandapower.pypower.idx_bus import BUS_I, BUS_TYPE, NONE, PD, QD, VM, VA, REF, VMIN, VMAX, PV from pandapower.pypower.idx_gen import PMIN, PMAX, QMIN, QMAX +from pandapower.toolbox import pp_elements try: from numba import jit @@ -1012,8 +1013,12 @@ def _init_runpp_options(net, algorithm, calculate_voltage_angles, init, init_va_degree = init if distributed_slack: - if net.xward.slack_weight.abs().sum() > 0: - raise NotImplementedError("xward participation in distributed slack is not implemented") + false_slack_weight_elms = [elm for elm in pp_elements( + bus=False, branch_elements=False, other_elements=False)-{"ext_grid", "gen"} if + "slack_weight" in net[elm].columns] + if len(false_slack_weight_elms): + logger.warning("Currently distributed_slack is implemented for 'ext_grid' and 'gen' " + + "only, not for '" + "', '".join(false_slack_weight_elms) + "'.") if algorithm != 'nr': raise NotImplementedError('Distributed slack is only implemented for Newton Raphson algorithm.') From 850df53b33cc5ca8914667dbe6b6e292069b5194 Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Mon, 19 Jul 2021 17:04:11 +0200 Subject: [PATCH 109/422] Update build_gen.py --- pandapower/build_gen.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pandapower/build_gen.py b/pandapower/build_gen.py index e8c0c006c..414bfe6bf 100644 --- a/pandapower/build_gen.py +++ b/pandapower/build_gen.py @@ -348,9 +348,7 @@ def _normalise_slack_weights(ppc): buses_with_slack_weights = ppc['gen'][ppc['gen'][:, SL_FAC] != 0, GEN_BUS].astype(np.int32) if np.sum(ppc['bus'][buses_with_slack_weights, BUS_TYPE] == REF) > 1: logger.info("Distributed slack calculation is implemented only for one reference type bus, " - "other reference buses will be converted to PV buses internally. " - "All distributed slack elements that have a non-zero contribution factor will be considered. " - "Extended ward (xward) elements are not supported as distributed slack elements") + "other reference buses will be converted to PV buses internally.") for subnet in subnets: subnet_gen_mask = np.isin(gen_buses, subnet) From e689db77e6597af9612175e0ac5e92b34f2f1817 Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Mon, 19 Jul 2021 17:15:44 +0200 Subject: [PATCH 110/422] Update auxiliary.py --- pandapower/auxiliary.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pandapower/auxiliary.py b/pandapower/auxiliary.py index 9ff635f7a..21f34f6b8 100644 --- a/pandapower/auxiliary.py +++ b/pandapower/auxiliary.py @@ -39,7 +39,6 @@ from pandapower.pypower.idx_brch import F_BUS, T_BUS, BR_STATUS from pandapower.pypower.idx_bus import BUS_I, BUS_TYPE, NONE, PD, QD, VM, VA, REF, VMIN, VMAX, PV from pandapower.pypower.idx_gen import PMIN, PMAX, QMIN, QMAX -from pandapower.toolbox import pp_elements try: from numba import jit @@ -1013,9 +1012,8 @@ def _init_runpp_options(net, algorithm, calculate_voltage_angles, init, init_va_degree = init if distributed_slack: - false_slack_weight_elms = [elm for elm in pp_elements( - bus=False, branch_elements=False, other_elements=False)-{"ext_grid", "gen"} if - "slack_weight" in net[elm].columns] + false_slack_weight_elms = [elm for elm in {'asymmetric_load', 'asymmetric_sgen', 'load', 'sgen', 'shunt', + 'storage', 'ward', 'xward'} if "slack_weight" in net[elm].columns] if len(false_slack_weight_elms): logger.warning("Currently distributed_slack is implemented for 'ext_grid' and 'gen' " + "only, not for '" + "', '".join(false_slack_weight_elms) + "'.") From 40fc1629c6643061d80ce301219a9c95f5896cc5 Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Mon, 19 Jul 2021 17:23:27 +0200 Subject: [PATCH 111/422] remove prevention from makeZbus with numba with distribution_slack=True --- pandapower/pf/run_newton_raphson_pf.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pandapower/pf/run_newton_raphson_pf.py b/pandapower/pf/run_newton_raphson_pf.py index a683f3bd8..6963f8997 100644 --- a/pandapower/pf/run_newton_raphson_pf.py +++ b/pandapower/pf/run_newton_raphson_pf.py @@ -98,12 +98,13 @@ def _get_numba_functions(ppci, options): """ pfsoln from pypower maybe slow in some cases. This function chooses the fastest for the given pf calculation """ - if options["numba"] and not options['distributed_slack']: + if options["numba"]: makeYbus = makeYbus_numba shunt_in_net = any(ppci["bus"][:, BS]) or any(ppci["bus"][:, GS]) # faster pfsoln function if only one slack is in the grid and no gens pfsoln = pf_solution_single_slack if ppci["gen"].shape[0] == 1 \ and not options["voltage_depend_loads"] \ + and not options['distributed_slack'] \ and not shunt_in_net \ else pfsoln_numba else: From c85fce32bd9a2fcbe509586f631e4ed7fdaf0fbc Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Mon, 19 Jul 2021 17:29:21 +0200 Subject: [PATCH 112/422] removed the todo from create_jacobian.py --- pandapower/pf/create_jacobian.py | 1 - 1 file changed, 1 deletion(-) diff --git a/pandapower/pf/create_jacobian.py b/pandapower/pf/create_jacobian.py index b49af3511..dca9b6a7c 100644 --- a/pandapower/pf/create_jacobian.py +++ b/pandapower/pf/create_jacobian.py @@ -16,7 +16,6 @@ def _create_J_with_numba(Ybus, V, refpvpq_row, refpvpq_col, pvpq, pq, createJ, p Ibus = zeros(len(V), dtype=complex128) # create Jacobian from fast calc of dS_dV dVm_x, dVa_x = dSbus_dV_numba_sparse(Ybus.data, Ybus.indptr, Ybus.indices, V, V / abs(V), Ibus) - # todo: initialize J also for extra column and extra row, for the rows where slack_weight != 0 # data in J, space preallocated is bigger than acutal Jx -> will be reduced later on Jx = empty(len(dVm_x) * 4, dtype=float64) # row pointer, dimension = pvpq.shape[0] + pq.shape[0] + 1 From 62395be213b8fc11cc659cdc7f9d6cda5b464895 Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Mon, 19 Jul 2021 17:57:05 +0200 Subject: [PATCH 113/422] must raise an error because otherwise the loadflow runs, but results are incorrect --- pandapower/auxiliary.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandapower/auxiliary.py b/pandapower/auxiliary.py index 21f34f6b8..a328415ad 100644 --- a/pandapower/auxiliary.py +++ b/pandapower/auxiliary.py @@ -1015,7 +1015,7 @@ def _init_runpp_options(net, algorithm, calculate_voltage_angles, init, false_slack_weight_elms = [elm for elm in {'asymmetric_load', 'asymmetric_sgen', 'load', 'sgen', 'shunt', 'storage', 'ward', 'xward'} if "slack_weight" in net[elm].columns] if len(false_slack_weight_elms): - logger.warning("Currently distributed_slack is implemented for 'ext_grid' and 'gen' " + + raise NotImplementedError("Currently distributed_slack is implemented for 'ext_grid' and 'gen' " + "only, not for '" + "', '".join(false_slack_weight_elms) + "'.") if algorithm != 'nr': raise NotImplementedError('Distributed slack is only implemented for Newton Raphson algorithm.') From c921c1b58bd9ead46e263268481bf9e3a3f6f40b Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Tue, 20 Jul 2021 17:12:07 +0200 Subject: [PATCH 114/422] Update test_pp_vs_pm.py rename duplicated function --- pandapower/test/opf/test_pp_vs_pm.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandapower/test/opf/test_pp_vs_pm.py b/pandapower/test/opf/test_pp_vs_pm.py index f9258f755..902b64adb 100644 --- a/pandapower/test/opf/test_pp_vs_pm.py +++ b/pandapower/test/opf/test_pp_vs_pm.py @@ -136,7 +136,7 @@ def test_opf_ext_grid_controllable(): assert np.isclose(net_new.res_cost, 17015.5635) -def test_opf_ext_grid_controllable(): +def test_opf_create_ext_grid_controllable(): # load net net = case5_pm_matfile_I() # run pd2ppc with ext_grid controllable = False From 0c32f91a061a733965e0698be9f6b59cc4dacba8 Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Tue, 20 Jul 2021 22:43:37 +0200 Subject: [PATCH 115/422] DS: BUGFIX: slack weights must be taken at the appropriate bus indices --- pandapower/pf/create_jacobian.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandapower/pf/create_jacobian.py b/pandapower/pf/create_jacobian.py index dca9b6a7c..4edaeb70c 100644 --- a/pandapower/pf/create_jacobian.py +++ b/pandapower/pf/create_jacobian.py @@ -64,7 +64,7 @@ def _create_J_without_numba(Ybus, V, ref, pvpq, pq, slack_weights, dist_slack): J21 = dS_dVa[array([pq]).T, cols_pvpq].imag J22 = dS_dVm[array([pq]).T, pq].imag if dist_slack: - J13 = sparse(slack_weights.reshape(-1,1)) + J13 = sparse(slack_weights[rows_pvpq].reshape(-1,1)) J23 = sparse(zeros(shape=(len(pq), 1))) J = vstack([ hstack([J11, J12, J13]), From b9ec3efda73284c294afeb71b45db5878c259065 Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Tue, 20 Jul 2021 22:52:28 +0200 Subject: [PATCH 116/422] DS: bugfix in Jacobian with numba; refpvpq_row no longer needed, renamed refpvpq_col back to refpvpq --- pandapower/pf/create_jacobian.py | 10 ++++----- pandapower/pf/create_jacobian_numba.py | 31 +++++++++++++------------- pandapower/pypower/newtonpf.py | 10 ++++----- 3 files changed, 25 insertions(+), 26 deletions(-) diff --git a/pandapower/pf/create_jacobian.py b/pandapower/pf/create_jacobian.py index 4edaeb70c..4c70e3735 100644 --- a/pandapower/pf/create_jacobian.py +++ b/pandapower/pf/create_jacobian.py @@ -12,7 +12,7 @@ pass -def _create_J_with_numba(Ybus, V, refpvpq_row, refpvpq_col, pvpq, pq, createJ, pvpq_lookup, nref, npv, npq, slack_weights, dist_slack): +def _create_J_with_numba(Ybus, V, refpvpq, pvpq, pq, createJ, pvpq_lookup, nref, npv, npq, slack_weights, dist_slack): Ibus = zeros(len(V), dtype=complex128) # create Jacobian from fast calc of dS_dV dVm_x, dVa_x = dSbus_dV_numba_sparse(Ybus.data, Ybus.indptr, Ybus.indices, V, V / abs(V), Ibus) @@ -20,14 +20,14 @@ def _create_J_with_numba(Ybus, V, refpvpq_row, refpvpq_col, pvpq, pq, createJ, p Jx = empty(len(dVm_x) * 4, dtype=float64) # row pointer, dimension = pvpq.shape[0] + pq.shape[0] + 1 if dist_slack: - Jp = zeros(refpvpq_row.shape[0] + pq.shape[0] + 1, dtype=int32) + Jp = zeros(refpvpq.shape[0] + pq.shape[0] + 1, dtype=int32) else: Jp = zeros(pvpq.shape[0] + pq.shape[0] + 1, dtype=int32) # indices, same with the preallocated space (see Jx) Jj = empty(len(dVm_x) * 4, dtype=int32) # fill Jx, Jj and Jp - createJ(dVm_x, dVa_x, Ybus.indptr, Ybus.indices, pvpq_lookup, refpvpq_row, refpvpq_col, pvpq, pq, Jx, Jj, Jp, slack_weights) + createJ(dVm_x, dVa_x, Ybus.indptr, Ybus.indices, pvpq_lookup, refpvpq, pvpq, pq, Jx, Jj, Jp, slack_weights) # resize before generating the scipy sparse matrix Jx.resize(Jp[-1], refcheck=False) @@ -82,9 +82,9 @@ def _create_J_without_numba(Ybus, V, ref, pvpq, pq, slack_weights, dist_slack): return J -def create_jacobian_matrix(Ybus, V, ref, refpvpq_row, refpvpq_col, pvpq, pq, createJ, pvpq_lookup, nref, npv, npq, numba, slack_weights, dist_slack): +def create_jacobian_matrix(Ybus, V, ref, refpvpq, pvpq, pq, createJ, pvpq_lookup, nref, npv, npq, numba, slack_weights, dist_slack): if numba: - J = _create_J_with_numba(Ybus, V, refpvpq_row, refpvpq_col, pvpq, pq, createJ, pvpq_lookup, nref, npv, npq, slack_weights, dist_slack) + J = _create_J_with_numba(Ybus, V, refpvpq, pvpq, pq, createJ, pvpq_lookup, nref, npv, npq, slack_weights, dist_slack) else: J = _create_J_without_numba(Ybus, V, ref, pvpq, pq, slack_weights, dist_slack) return J diff --git a/pandapower/pf/create_jacobian_numba.py b/pandapower/pf/create_jacobian_numba.py index a8e38d1b6..7ef2344e5 100644 --- a/pandapower/pf/create_jacobian_numba.py +++ b/pandapower/pf/create_jacobian_numba.py @@ -19,7 +19,7 @@ # @jit(i8(c16[:], c16[:], i4[:], i4[:], i8[:], i8[:], f8[:], i8[:], i8[:]), nopython=True, cache=False) @jit(nopython=True, cache=False) -def create_J(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, refpvpq_row, refpvpq_col, pvpq, pq, Jx, Jj, Jp, slack_weights): # pragma: no cover +def create_J(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, refpvpq, pvpq, pq, Jx, Jj, Jp, slack_weights): # pragma: no cover """Calculates Jacobian faster with numba and sparse matrices. Input: dS_dVa and dS_dVm in CSR sparse form (Yx = data, Yp = indptr, Yj = indices), pvpq, pq from pypower @@ -108,7 +108,7 @@ def create_J(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, refpvpq_row, refpvpq_col, pvpq, # @jit(i8(c16[:], c16[:], i4[:], i4[:], i8[:], i8[:], f8[:], i8[:], i8[:]), nopython=True, cache=True) @jit(nopython=True, cache=False) -def create_J2(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, refpvpq_row, refpvpq_col, pvpq, pq, Jx, Jj, Jp, slack_weights): # pragma: no cover +def create_J2(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, refpvpq, pvpq, pq, Jx, Jj, Jp, slack_weights): # pragma: no cover """Calculates Jacobian faster with numba and sparse matrices. This version is similar to create_J except that if pvpq = pq (when no pv bus is available) some if statements are obsolete and J11 = J12 and J21 = J22 @@ -174,7 +174,7 @@ def create_J2(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, refpvpq_row, refpvpq_col, pvpq, @jit(nopython=True, cache=False) -def create_J_ds(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, refpvpq_row, refpvpq_col, pvpq, pq, Jx, Jj, Jp, slack_weights): # pragma: no cover +def create_J_ds(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, refpvpq, pvpq, pq, Jx, Jj, Jp, slack_weights): # pragma: no cover """Calculates Jacobian faster with numba and sparse matrices. Input: dS_dVa and dS_dVm in CSR sparse form (Yx = data, Yp = indptr, Yj = indices), pvpq, pq from pypower @@ -193,9 +193,9 @@ def create_J_ds(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, refpvpq_row, refpvpq_col, pvp J23 = zeros(shape=(len(pq), 1)) J has the shape - | J11 | J12 | J13 | | (1+pvpq, pvpq) | (1+pvpq, pq) | (1+pvpq, 1) | - | --------------- | = dimensions: | ------------------------------------------- | - | J21 | J22 | J23 | | (pq, pvpq) | (pq, pq) | (pq, 1) | + | J11 | J12 | J13 | | (ref+pvpq, pvpq) | (ref+pvpq, pq) | (ref+pvpq, 1) | + | --------------- | = dimensions: | ------------------------------------------------- | + | J21 | J22 | J23 | | (pq, pvpq) | (pq, pq) | (pq, 1) | In addition to CreateJ, we add a row and a column We first iterate the rows of J11 and J12 (for r in range lpvpq) and add the entries which are stored in dS_dV @@ -212,7 +212,7 @@ def create_J_ds(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, refpvpq_row, refpvpq_col, pvp # Yj = Ybus.indices (array mapping each element in data to its column in the sparse matrix) # get length of vectors - lrefpvpq = len(refpvpq_row) + lrefpvpq = len(refpvpq) lpvpq = len(pvpq) lpq = len(pq) lpv = lpvpq - lpq @@ -232,13 +232,13 @@ def create_J_ds(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, refpvpq_row, refpvpq_col, pvp nnzStart = nnz # iterate columns of J11 = dS_dVa.real at positions in pvpq # check entries in row pvpq[r] of dS_dV - r_start, r_end = Yp[refpvpq_col[r]], Yp[refpvpq_col[r] + 1] + r_start, r_end = Yp[refpvpq[r]], Yp[refpvpq[r] + 1] for c in range(r_start, r_end): # check if column Yj is in pvpq bus_idx = Yj[c] cc = pvpq_lookup[bus_idx] # entries for J11 and J12 - lookup_idx = refpvpq_col[cc] + lookup_idx = refpvpq[cc] if lookup_idx == bus_idx and lookup_idx in pvpq: # entry found # equals entry of J11: J[r,cc] = dVa_x[c].real @@ -258,9 +258,8 @@ def create_J_ds(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, refpvpq_row, refpvpq_col, pvp nnz += 1 # add slack weights to the last column - # if slack_weights[refpvpq_row[r]] > 0: - if slack_weights[pvpq_lookup[r]] > 0: - Jx[nnz] = slack_weights[pvpq_lookup[r]] + if slack_weights[refpvpq[r]] > 0: + Jx[nnz] = slack_weights[refpvpq[r]] Jj[nnz] = lpvpq + lpq if DEBUG: JJ[r, lpvpq + lpq] = Jx[nnz] @@ -276,7 +275,7 @@ def create_J_ds(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, refpvpq_row, refpvpq_col, pvp for c in range(r_start, r_end): bus_idx = Yj[c] cc = pvpq_lookup[bus_idx] - lookup_idx = refpvpq_col[cc] + lookup_idx = refpvpq[cc] if lookup_idx == bus_idx and lookup_idx in pvpq: # entry found # equals entry of J21: J[r + lpvpq, cc] = dVa_x[c].imag @@ -284,7 +283,7 @@ def create_J_ds(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, refpvpq_row, refpvpq_col, pvp Jx[nnz] = dVa_x[c].imag Jj[nnz] = col if DEBUG: - JJ[r+lrefpv+1, col] = Jx[nnz] + JJ[r+lrefpvpq, col] = Jx[nnz] nnz += 1 # if entry is found in the "pq part" of pvpq = Add entry of J22 if cc >= lrefpv: @@ -292,7 +291,7 @@ def create_J_ds(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, refpvpq_row, refpvpq_col, pvp Jx[nnz] = dVm_x[c].imag Jj[nnz] = col if DEBUG: - JJ[r+lrefpv+1, col] = Jx[nnz] + JJ[r+lrefpvpq, col] = Jx[nnz] nnz += 1 # Jp: number of nonzeros per row = nnz - nnzStart (nnz at begging of loop - nnz at end of loop) - Jp[r + lrefpvpq + 1] = nnz - nnzStart + Jp[r + lrefpvpq] \ No newline at end of file + Jp[r + lrefpvpq + 1] = nnz - nnzStart + Jp[r + lrefpvpq] diff --git a/pandapower/pypower/newtonpf.py b/pandapower/pypower/newtonpf.py index 4a41dd51f..335144c74 100644 --- a/pandapower/pypower/newtonpf.py +++ b/pandapower/pypower/newtonpf.py @@ -78,9 +78,9 @@ def newtonpf(Ybus, Sbus, V0, ref, pv, pq, ppci, options): pvpq = r_[pv, pq] # reference buses are always at the top, no matter where they are in the grid (very confusing...) # so in the refpvpq, the indices must be adjusted so that ref bus(es) starts with 0 - # todo simplify indexing: the way it is now with the lookups is very confusing/annoying - refpvpq_row = r_[arange(len(ref)), pvpq+len(ref)] # this is for rows (the slack-row is at the very top in ybus) - refpvpq_col = r_[ref, pvpq] # for columns: columns are in the normal order in Ybus + # todo: is it possible to simplify the indices/lookups and make the code clearer? + # for columns: columns are in the normal order in Ybus; column numbers for J are reduced by 1 internally + refpvpq = r_[ref, pvpq] # generate lookup pvpq -> index pvpq (used in createJ): # shows for a given row from Ybus, which row in J it becomes # e.g. the first row in J is a PV bus. If the first PV bus in Ybus is in the row 2, the index of the row in Jbus must be 0. @@ -88,7 +88,7 @@ def newtonpf(Ybus, Sbus, V0, ref, pv, pq, ppci, options): pvpq_lookup = zeros(max(Ybus.indices) + 1, dtype=int) if dist_slack: # slack bus is relevant for the function createJ_ds - pvpq_lookup[refpvpq_col] = arange(len(refpvpq_col)) + pvpq_lookup[refpvpq] = arange(len(refpvpq)) else: pvpq_lookup[pvpq] = arange(len(pvpq)) @@ -119,7 +119,7 @@ def newtonpf(Ybus, Sbus, V0, ref, pv, pq, ppci, options): # update iteration counter i = i + 1 - J = create_jacobian_matrix(Ybus, V, ref, refpvpq_row, refpvpq_col, pvpq, pq, createJ, pvpq_lookup, nref, npv, npq, numba, slack_weights, dist_slack) + J = create_jacobian_matrix(Ybus, V, ref, refpvpq, pvpq, pq, createJ, pvpq_lookup, nref, npv, npq, numba, slack_weights, dist_slack) dx = -1 * spsolve(J, F, permc_spec=permc_spec, use_umfpack=use_umfpack) # update voltage From 840a84f9b6359f4743ae9da5c38eec9d572e6116 Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Tue, 20 Jul 2021 23:04:07 +0200 Subject: [PATCH 117/422] DS: implement calculation with distributed slack also for grids with xward elements --- pandapower/auxiliary.py | 4 +- pandapower/build_gen.py | 31 ++++++++++-- pandapower/pf/pfsoln_numba.py | 8 ++- pandapower/pf/run_newton_raphson_pf.py | 7 ++- pandapower/pypower/pfsoln.py | 12 ++++- pandapower/results_bus.py | 31 ++++++++++++ pandapower/test/loadflow/test_dist_slack.py | 54 ++++++++++++++++----- 7 files changed, 122 insertions(+), 25 deletions(-) diff --git a/pandapower/auxiliary.py b/pandapower/auxiliary.py index a328415ad..444a414b5 100644 --- a/pandapower/auxiliary.py +++ b/pandapower/auxiliary.py @@ -1013,9 +1013,9 @@ def _init_runpp_options(net, algorithm, calculate_voltage_angles, init, if distributed_slack: false_slack_weight_elms = [elm for elm in {'asymmetric_load', 'asymmetric_sgen', 'load', 'sgen', 'shunt', - 'storage', 'ward', 'xward'} if "slack_weight" in net[elm].columns] + 'storage', 'ward'} if "slack_weight" in net[elm].columns] if len(false_slack_weight_elms): - raise NotImplementedError("Currently distributed_slack is implemented for 'ext_grid' and 'gen' " + + logger.warning("Currently distributed_slack is implemented for 'ext_grid', 'gen' and 'xward'" + "only, not for '" + "', '".join(false_slack_weight_elms) + "'.") if algorithm != 'nr': raise NotImplementedError('Distributed slack is only implemented for Newton Raphson algorithm.') diff --git a/pandapower/build_gen.py b/pandapower/build_gen.py index 414bfe6bf..2d9d3287f 100644 --- a/pandapower/build_gen.py +++ b/pandapower/build_gen.py @@ -9,6 +9,7 @@ from pandapower.pf.ppci_variables import bustypes from pandapower.pypower.idx_bus import PV, REF, VA, VM, BUS_TYPE, NONE, VMAX, VMIN, SL_FAC as SL_FAC_BUS from pandapower.pypower.idx_gen import QMIN, QMAX, PMIN, PMAX, GEN_BUS, PG, VG, QG, MBASE, SL_FAC +from pandapower.pypower.idx_brch import F_BUS, T_BUS from pandapower.auxiliary import _subnetworks, _sum_by_group try: @@ -56,7 +57,11 @@ def _build_gen_ppc(net, ppc): net._gen_order = gen_order if distributed_slack: - _normalise_slack_weights(ppc) + # we add the slack weights of the xward elements to the PQ bus and not the PV bus, + # that is why we to treat the xward as a special case + xward_pq_buses = _get_xward_pq_buses(net, ppc) + gen_mask, xward_mask = _gen_xward_mask(net, ppc) + _normalise_slack_weights(ppc, gen_mask, xward_mask, xward_pq_buses) def add_gen_order(gen_order, element, _is_elements, f): @@ -336,11 +341,29 @@ def _different_values_at_one_bus(buses, values): return not np.allclose(values, values_equal) -def _normalise_slack_weights(ppc): +def _gen_xward_mask(net, ppc): + gen_mask = ~np.isin(ppc['gen'][:, GEN_BUS], net["_pd2ppc_lookups"].get("aux", dict()).get("xward", [])) + xward_mask = np.isin(ppc['gen'][:, GEN_BUS], net["_pd2ppc_lookups"].get("aux", dict()).get("xward", [])) + return gen_mask, xward_mask + + +def _get_xward_pq_buses(net, ppc): + # find the PQ and PV buses of the xwards; in build_branch.py the F_BUS is set to the PQ bus and T_BUS is set to the auxiliary PV bus + ft = net["_pd2ppc_lookups"].get('branch', dict()).get("xward", []) + if len(ft) > 0: + f, t = ft + xward_pq_buses = ppc['branch'][f:t, F_BUS].real.astype(np.int32) + # xward_pv_buses = ppc['branch'][f:t, T_BUS] + return xward_pq_buses + else: + return np.array([], dtype=np.int32) + + +def _normalise_slack_weights(ppc, gen_mask, xward_mask, xward_pq_buses): """Unitise the slack contribution factors in each island to sum to 1.""" subnets = _subnetworks(ppc) - gen_buses = ppc['gen'][:, GEN_BUS].astype(np.int32) - slack_weights_gen = ppc['gen'][:, SL_FAC].astype(np.float64) + gen_buses = np.r_[ppc['gen'][gen_mask, GEN_BUS].astype(np.int32), xward_pq_buses] + slack_weights_gen = np.r_[ppc['gen'][gen_mask, SL_FAC], ppc['gen'][xward_mask, SL_FAC]].astype(np.float64) # only 1 ext_grid (reference bus) supported and all others are considered as PV buses, # 1 ext_grid is used as slack and others are converted to PV nodes internally; diff --git a/pandapower/pf/pfsoln_numba.py b/pandapower/pf/pfsoln_numba.py index b4a9bb9af..abbf9360e 100644 --- a/pandapower/pf/pfsoln_numba.py +++ b/pandapower/pf/pfsoln_numba.py @@ -12,7 +12,7 @@ """ from numpy import conj, zeros, complex128, abs, float64, sqrt, real -from numpy import finfo, c_, flatnonzero as find +from numpy import finfo, c_, flatnonzero as find, setdiff1d, r_ from pandapower.pypower.idx_brch import F_BUS, T_BUS, PF, PT, QF, QT from pandapower.pypower.idx_bus import PD, QD @@ -37,14 +37,18 @@ def pfsoln(baseMVA, bus, gen, branch, Ybus, Yf, Yt, V, ref, ref_gens, Ibus=None) on = find(gen[:, GEN_STATUS] > 0) # which generators are on? gbus = gen[on, GEN_BUS].astype(int) # what buses are they at? + # xward: add ref buses that are not at the generators + xbus = setdiff1d(ref, gbus) + # compute total injected bus powers Ibus = zeros(len(V)) if Ibus is None else Ibus Sbus = V[gbus] * conj(Ybus[gbus, :] * V - Ibus[gbus]) + Sbus_xw = V[xbus] * conj(Ybus[xbus, :] * V - Ibus[xbus]) _update_v(bus, V) # update gen results _update_q(baseMVA, bus, gen, gbus, Sbus, on) - _update_p(baseMVA, bus, gen, ref, gbus, on, Sbus, ref_gens) + _update_p(baseMVA, bus, gen, ref, gbus, on, r_[Sbus, Sbus_xw], ref_gens) # ----- update/compute branch power flows ----- branch = _update_branch_flows(Yf, Yt, V, baseMVA, branch) diff --git a/pandapower/pf/run_newton_raphson_pf.py b/pandapower/pf/run_newton_raphson_pf.py index 6963f8997..86caa2d93 100644 --- a/pandapower/pf/run_newton_raphson_pf.py +++ b/pandapower/pf/run_newton_raphson_pf.py @@ -11,7 +11,7 @@ from pandapower.pf.ppci_variables import _get_pf_variables_from_ppci, _store_results_from_pf_in_ppci from pandapower.pf.run_dc_pf import _run_dc_pf from pandapower.pypower.bustypes import bustypes -from pandapower.pypower.idx_bus import PD, QD, BUS_TYPE, PQ, GS, BS +from pandapower.pypower.idx_bus import BUS_I, PD, QD, BUS_TYPE, PQ, GS, BS, SL_FAC as SL_FAC_BUS from pandapower.pypower.idx_gen import PG, QG, QMAX, QMIN, GEN_BUS, GEN_STATUS, SL_FAC from pandapower.pypower.makeSbus import makeSbus from pandapower.pypower.makeYbus import makeYbus as makeYbus_pypower @@ -69,8 +69,11 @@ def ppci_to_pfsoln(ppci, options): # consider buses with non-zero slack weights as if they were slack buses, # and gens with non-zero slack weights as if they were reference machines # this way, the function pfsoln will extract results for distributed slack gens, too + # also, the function pfsoln will extract results for the PQ buses for xwards gens_with_slack_weights = find(internal["gen"][:, SL_FAC] != 0) - buses_with_slack_weights = internal["gen"][gens_with_slack_weights, GEN_BUS].astype(int32) + # gen_buses_with_slack_weights = internal["gen"][gens_with_slack_weights, GEN_BUS].astype(int32) + buses_with_slack_weights = internal["bus"][find(internal["bus"][:, SL_FAC_BUS] != 0), BUS_I].astype(int32) + # buses_with_slack_weights = union1d(gen_buses_with_slack_weights, buses_with_slack_weights) ref = union1d(internal["ref"], buses_with_slack_weights) ref_gens = union1d(internal["ref_gens"], gens_with_slack_weights) else: diff --git a/pandapower/pypower/pfsoln.py b/pandapower/pypower/pfsoln.py index 62bbfaeed..f11a12e1e 100644 --- a/pandapower/pypower/pfsoln.py +++ b/pandapower/pypower/pfsoln.py @@ -12,7 +12,7 @@ """ from numpy import asarray, angle, pi, conj, zeros, ones, finfo, c_, ix_, real, flatnonzero as find, \ - setdiff1d, intersect1d + setdiff1d, intersect1d, r_ from scipy.sparse import csr_matrix from pandapower.pypower.idx_brch import F_BUS, T_BUS, BR_STATUS, PF, PT, QF, QT @@ -38,13 +38,17 @@ def pfsoln(baseMVA, bus0, gen0, branch0, Ybus, Yf, Yt, V, ref, ref_gens, Ibus=No on = find(gen[:, GEN_STATUS] > 0) # which generators are on? gbus = gen[on, GEN_BUS].astype(int) # what buses are they at? + # xward: add ref buses that are not at the generators + xbus = setdiff1d(ref, gbus) + # compute total injected bus powers Ibus = zeros(len(V)) if Ibus is None else Ibus Sbus = V[gbus] * conj(Ybus[gbus, :] * V - Ibus[gbus]) + Sbus_xw = V[xbus] * conj(Ybus[xbus, :] * V - Ibus[xbus]) _update_v(bus, V) _update_q(baseMVA, bus, gen, gbus, Sbus, on) - _update_p(baseMVA, bus, gen, ref, gbus, on, Sbus, ref_gens) + _update_p(baseMVA, bus, gen, ref, gbus, on, r_[Sbus, Sbus_xw], ref_gens) # ----- update/compute branch power flows ----- out = find(branch[:, BR_STATUS] == 0) # out-of-service branches @@ -73,6 +77,10 @@ def _update_p(baseMVA, bus, gen, ref, gbus, on, Sbus, ref_gens): # inj P + local Pd for slack_bus in ref: gens_at_bus = find(gbus == slack_bus) # which is(are) the reference gen(s)? + # xward results come at the PQ buses and not at the PV buses: + if len(gens_at_bus) == 0: + bus[slack_bus, PD] = -Sbus[slack_bus].real * baseMVA # negative because it is a PQ bus + continue p_bus = Sbus[gens_at_bus[0]].real * baseMVA + bus[slack_bus, PD] if len(gens_at_bus) > 1: # more than one generator at this ref bus # subtract off what is generated by other gens at this bus diff --git a/pandapower/results_bus.py b/pandapower/results_bus.py index a972846a2..5b3010c8b 100644 --- a/pandapower/results_bus.py +++ b/pandapower/results_bus.py @@ -204,6 +204,10 @@ def write_pq_results_to_element(net, ppc, element, suffix=None): if is_controllable: net[res_]["p_mw"].loc[controlled_elements] = ppc["gen"][gen_idx, PG] * gen_sign + # add results from distributed slack calculation for xwards from ppc instead of the element table + if net._options['distributed_slack'] and element == "xward" and np.any(net.xward.loc[element_in_service, 'slack_weight'].values != 0): + _extract_dist_slack_pq_results(net, ppc, element, res_) + if ac: # Q result in mvar to element net[res_]["q_mvar"].values[:] = el_data[q_mvar].values * scaling * element_in_service @@ -212,6 +216,33 @@ def write_pq_results_to_element(net, ppc, element, suffix=None): return net +def _extract_dist_slack_pq_results(net, ppc, element, res_): + node_elements = ['sgen', 'load', 'ward', 'xward', 'storage'] + for b in net[element].bus.values: + connected = dict() + for e in node_elements: + conn = net[e].loc[net[e].in_service & (net[e].bus == b)].index.values + if len(conn) > 0: + connected.update({e: conn}) + + p_bus = ppc['bus'][net._pd2ppc_lookups["bus"][b], PD] + # first, count the total slack weights per bus, and obtain the variable part of the active power + total_weight = 0 + for e, id in connected.items(): + if 'slack_weight' in net[e].columns: + elm_weight = net[e].loc[id, 'slack_weight'].values + if np.abs(elm_weight).sum() != 0: + total_weight += np.abs(elm_weight) + p_bus -= net[e].loc[id, 'ps_mw' if e in ["ward", "xward"] else "p_mw"].values.sum() + + # now, distribute the variable part of the active power among the dist_slack elements + for e, id in connected.items(): + if 'slack_weight' in net[e].columns: + elm_weight = net[e].loc[id, 'slack_weight'].values + if np.abs(elm_weight).sum() != 0: + net[res_]["p_mw"] += p_bus * elm_weight / total_weight + + def write_pq_results_to_element_3ph(net, element): """ get p_mw and q_mvar for a specific pq element ("load", "sgen"...). diff --git a/pandapower/test/loadflow/test_dist_slack.py b/pandapower/test/loadflow/test_dist_slack.py index ab2499f8e..7ea69d729 100644 --- a/pandapower/test/loadflow/test_dist_slack.py +++ b/pandapower/test/loadflow/test_dist_slack.py @@ -7,6 +7,7 @@ import numpy as np import pandapower as pp from pandapower import networks +from pandapower.pypower.idx_bus import PD import pytest from pandapower.test.toolbox import assert_res_equal @@ -33,8 +34,9 @@ def small_example_grid(): def _get_injection_consumption(net): - consumed_p_mw = net.load.query("in_service").p_mw.sum() + net.res_line.pl_mw.sum() - injected_p_mw = net.gen.query("in_service").p_mw.sum() + net.xward.query("in_service").ps_mw.sum() + # xward is in the consumption reference system + consumed_p_mw = net.load.query("in_service").p_mw.sum() + net.res_line.pl_mw.sum() + net.xward.query("in_service").ps_mw.sum() + injected_p_mw = net.gen.query("in_service").p_mw.sum() return injected_p_mw, consumed_p_mw @@ -46,12 +48,13 @@ def _get_slack_weights(net): def _get_inputs_results(net): + # xward is in the consumption reference system, but here the results are all assumed in the generation reference system inputs = np.r_[net.gen.query("in_service").p_mw, np.zeros(len(net.ext_grid.query("in_service"))), - net.xward.query("in_service").ps_mw] + -net.xward.query("in_service").ps_mw] results = np.r_[net.res_gen[net.gen.in_service].p_mw, net.res_ext_grid[net.ext_grid.in_service].p_mw, - net.res_xward[net.xward.in_service].p_mw] + -net.res_xward[net.xward.in_service].p_mw] return inputs, results @@ -131,22 +134,49 @@ def test_three_gens(): assert_results_correct(net) -@pytest.mark.xfail(reason="xward results are incorrect, implementation must be adjusted for xward") def test_gen_xward(): + # here testing for numba only net = small_example_grid() + # note: xward is in the consumption reference system, so positive ps_mw stands for consumption pp.create_xward(net, 2, 200, 0, 0, 0, 0.02, 0.2, 1, slack_weight=2) - run_and_assert_numba(net) - assert_results_correct(net) + # xward behavior is a bit different due to the shunt component and the impedance component of the xward + # so we check the results by hand for the case when shunt values are != 0 -def test_xward(): +def test_xward_pz_mw(): + # here testing for numba only # for now, not implemented and should raise an error net = small_example_grid() - pp.create_xward(net, 2, 200, 0, 0, 0, 0.02, 0.2, 1, slack_weight=2) + # pp.create_xward(net, 2, 0, 0, 0, 0, 0.02, 0.2, 1, slack_weight=2) + pp.create_xward(net, 2, 200, 20, 10, 1, 0.02, 0.2, 1, slack_weight=2) + run_and_assert_numba(net) + # xward behavior is a bit different due to the shunt component of the xward + # so we check the results by hand for the case when shunt values are != 0 - with pytest.raises(NotImplementedError): - pp.runpp(net, distributed_slack=True) + +def test_xward_manually(): + net_1 = small_example_grid() + # pp.create_xward(net, 2, 0, 0, 0, 0, 0.02, 0.2, 1, slack_weight=2) + pp.create_xward(net_1, 2, 200, 20, 10, 1, 0.02, 0.2, 1, slack_weight=2) + run_and_assert_numba(net_1) + + # xward behavior is a bit different due to the shunt component of the xward + # so we check the results by hand for the case when shunt values are != 0 + net = small_example_grid() + pp.create_bus(net, 20) + pp.create_load(net, 2, 200, 20) + pp.create_shunt(net, 2, 1, 10) + pp.create_gen(net, 3, 0, 1, slack_weight=2) + pp.create_line_from_parameters(net, 2, 3, 1, 0.02, 0.2, 0, 1) + + net.load.at[1, 'p_mw'] = net_1._ppc['bus'][net_1.xward.bus.at[0], PD] + pp.runpp(net) + + assert np.isclose(net_1.res_gen.at[0, 'p_mw'], net.res_gen.at[0, 'p_mw'], rtol=0, atol=1e-6) + assert np.isclose(net_1.res_gen.at[0, 'q_mvar'], net.res_gen.at[0, 'q_mvar'], rtol=0, atol=1e-6) + assert np.allclose(net_1.res_bus.vm_pu, net.res_bus.loc[0:2, 'vm_pu'], rtol=0, atol=1e-6) + assert np.allclose(net_1.res_bus.va_degree, net.res_bus.loc[0:2, 'va_degree'], rtol=0, atol=1e-6) def test_ext_grid(): @@ -260,8 +290,6 @@ def test_case9(): assert_results_correct(net) -# todo: implement xward elements as slacks (similarly to gen with slack=True) -# todo add test for only xward when xward as slack is implemented # todo: implement distributed slack for when the grid has several disconnected zones From 17b1da0bf4daa391d42329aa91fd81a08bd21f24 Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Tue, 20 Jul 2021 23:11:26 +0200 Subject: [PATCH 118/422] DS: adjusted description for the slack_weight parameter --- pandapower/create.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pandapower/create.py b/pandapower/create.py index 65699bbfd..510e28aa2 100644 --- a/pandapower/create.py +++ b/pandapower/create.py @@ -1377,7 +1377,7 @@ def create_gen(net, bus, p_mw, vm_pu=1., sn_mva=nan, name=None, index=None, max_ False: p_mw and vm_pu setpoints are enforced and *limits are ignored*. defaults to True if "controllable" column exists in DataFrame - **slack_weight** (float, default 0.0) - Slack power contribution factor + **slack_weight** (float, default 0.0) - Contribution factor for distributed slack power flow calculation (active power balancing) powerflow @@ -1518,7 +1518,7 @@ def create_gens(net, buses, p_mw, vm_pu=1., sn_mva=nan, name=None, index=None, m **in_service** (bool, True) - True for in_service or False for out of service - **slack_weight** (float, default 0.0) - Slack power contribution factor + **slack_weight** (float, default 0.0) - Contribution factor for distributed slack power flow calculation (active power balancing) **max_p_mw** (list of float, default NaN) - Maximum active power injection - necessary for\ OPF @@ -1691,7 +1691,7 @@ def create_ext_grid(net, bus, vm_pu=1.0, va_degree=0., name=None, in_service=Tru **x0x_max** (float, NaN) - maximal X0/X-ratio to calculate Zero sequence internal impedance of ext_grid - **slack_weight** (float, default 1.0) - Slack power contribution factor + **slack_weight** (float, default 1.0) - Contribution factor for distributed slack power flow calculation (active power balancing) ** only considered in loadflow if calculate_voltage_angles = True @@ -3288,7 +3288,7 @@ def create_xward(net, bus, ps_mw, qs_mvar, pz_mw, qz_mvar, r_ohm, x_ohm, vm_pu, **vm_pu** (float) - voltage magnitude at the additional PV-node - **slack_weight** (float, default 1.0) - Slack power contribution factor + **slack_weight** (float, default 1.0) - Contribution factor for distributed slack power flow calculation (active power balancing) OUTPUT: xward id From d7ab6fdba270c7586d2bd2761862685cb5359a25 Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Tue, 20 Jul 2021 23:18:59 +0200 Subject: [PATCH 119/422] DS: fixed Codacy issues --- pandapower/build_gen.py | 2 +- pandapower/pypower/newtonpf.py | 1 - pandapower/results_bus.py | 10 +++++----- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/pandapower/build_gen.py b/pandapower/build_gen.py index 2d9d3287f..5bf6aeaf2 100644 --- a/pandapower/build_gen.py +++ b/pandapower/build_gen.py @@ -9,7 +9,7 @@ from pandapower.pf.ppci_variables import bustypes from pandapower.pypower.idx_bus import PV, REF, VA, VM, BUS_TYPE, NONE, VMAX, VMIN, SL_FAC as SL_FAC_BUS from pandapower.pypower.idx_gen import QMIN, QMAX, PMIN, PMAX, GEN_BUS, PG, VG, QG, MBASE, SL_FAC -from pandapower.pypower.idx_brch import F_BUS, T_BUS +from pandapower.pypower.idx_brch import F_BUS #, T_BUS from pandapower.auxiliary import _subnetworks, _sum_by_group try: diff --git a/pandapower/pypower/newtonpf.py b/pandapower/pypower/newtonpf.py index 335144c74..9e265deb8 100644 --- a/pandapower/pypower/newtonpf.py +++ b/pandapower/pypower/newtonpf.py @@ -17,7 +17,6 @@ from pandapower.pf.iwamoto_multiplier import _iwamoto_step from pandapower.pypower.makeSbus import makeSbus from pandapower.pf.create_jacobian import create_jacobian_matrix, get_fastest_jacobian_function -from pandapower.pypower.idx_gen import GEN_STATUS from pandapower.pypower.idx_bus import SL_FAC diff --git a/pandapower/results_bus.py b/pandapower/results_bus.py index 5b3010c8b..48669ab79 100644 --- a/pandapower/results_bus.py +++ b/pandapower/results_bus.py @@ -228,17 +228,17 @@ def _extract_dist_slack_pq_results(net, ppc, element, res_): p_bus = ppc['bus'][net._pd2ppc_lookups["bus"][b], PD] # first, count the total slack weights per bus, and obtain the variable part of the active power total_weight = 0 - for e, id in connected.items(): + for e, idx in connected.items(): if 'slack_weight' in net[e].columns: - elm_weight = net[e].loc[id, 'slack_weight'].values + elm_weight = net[e].loc[idx, 'slack_weight'].values if np.abs(elm_weight).sum() != 0: total_weight += np.abs(elm_weight) - p_bus -= net[e].loc[id, 'ps_mw' if e in ["ward", "xward"] else "p_mw"].values.sum() + p_bus -= net[e].loc[idx, 'ps_mw' if e in ["ward", "xward"] else "p_mw"].values.sum() # now, distribute the variable part of the active power among the dist_slack elements - for e, id in connected.items(): + for e, idx in connected.items(): if 'slack_weight' in net[e].columns: - elm_weight = net[e].loc[id, 'slack_weight'].values + elm_weight = net[e].loc[idx, 'slack_weight'].values if np.abs(elm_weight).sum() != 0: net[res_]["p_mw"] += p_bus * elm_weight / total_weight From 28807e8dcc40886b808e0a33897d925280934f3b Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Wed, 21 Jul 2021 10:22:06 +0200 Subject: [PATCH 120/422] Update test_dist_slack.py don't forget considering numba_installed in test_pvgen_ext_grid() --- pandapower/test/loadflow/test_dist_slack.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandapower/test/loadflow/test_dist_slack.py b/pandapower/test/loadflow/test_dist_slack.py index 7ea69d729..c8a0b28ab 100644 --- a/pandapower/test/loadflow/test_dist_slack.py +++ b/pandapower/test/loadflow/test_dist_slack.py @@ -203,7 +203,7 @@ def test_pvgen_ext_grid(): pp.create_ext_grid(net, 2, slack_weight=2) net.gen.slack = False - pp.runpp(net, distributed_slack=True) + pp.runpp(net, distributed_slack=True, numba=numba_installed) run_and_assert_numba(net) assert_results_correct(net) From 128a5b13bf2cef100ab0587cb836cddf2c2b2858 Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Wed, 21 Jul 2021 11:30:40 +0200 Subject: [PATCH 121/422] ValueError with false sum_slack_weights negative sum_slack_weights could be work theoretically but shouldn't be the way how to use. --- pandapower/build_gen.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pandapower/build_gen.py b/pandapower/build_gen.py index 5bf6aeaf2..329a2039f 100644 --- a/pandapower/build_gen.py +++ b/pandapower/build_gen.py @@ -378,8 +378,11 @@ def _normalise_slack_weights(ppc, gen_mask, xward_mask, xward_pq_buses): sum_slack_weights = np.sum(slack_weights_gen[subnet_gen_mask]) if np.isclose(sum_slack_weights, 0): # ppc['gen'][subnet_gen_mask, SL_FAC] = 0 - raise ValueError('Distributed slack contribution factors in an ' - 'island sum to zero.') + raise ValueError("Distributed slack contribution factors in " + "island '%s' sum to zero." % str(subnet)) + elif sum_slack_weights < 0: + raise ValueError("Distributed slack contribution factors in island '%s'" % str(subnet) + + " sum to negative value. Please correct the data.") else: # ppc['gen'][subnet_gen_mask, SL_FAC] /= sum_slack_weights slack_weights_gen /= sum_slack_weights From 67a03c49d888a0ec39eacbd6a22f84e53bb4cd7c Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Wed, 21 Jul 2021 12:21:32 +0200 Subject: [PATCH 122/422] use dtype int64 --- pandapower/build_gen.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pandapower/build_gen.py b/pandapower/build_gen.py index 5bf6aeaf2..308a8fe3e 100644 --- a/pandapower/build_gen.py +++ b/pandapower/build_gen.py @@ -352,23 +352,23 @@ def _get_xward_pq_buses(net, ppc): ft = net["_pd2ppc_lookups"].get('branch', dict()).get("xward", []) if len(ft) > 0: f, t = ft - xward_pq_buses = ppc['branch'][f:t, F_BUS].real.astype(np.int32) + xward_pq_buses = ppc['branch'][f:t, F_BUS].real.astype(np.int64) # xward_pv_buses = ppc['branch'][f:t, T_BUS] return xward_pq_buses else: - return np.array([], dtype=np.int32) + return np.array([], dtype=np.int64) def _normalise_slack_weights(ppc, gen_mask, xward_mask, xward_pq_buses): """Unitise the slack contribution factors in each island to sum to 1.""" subnets = _subnetworks(ppc) - gen_buses = np.r_[ppc['gen'][gen_mask, GEN_BUS].astype(np.int32), xward_pq_buses] + gen_buses = np.r_[ppc['gen'][gen_mask, GEN_BUS].astype(np.int64), xward_pq_buses] slack_weights_gen = np.r_[ppc['gen'][gen_mask, SL_FAC], ppc['gen'][xward_mask, SL_FAC]].astype(np.float64) # only 1 ext_grid (reference bus) supported and all others are considered as PV buses, # 1 ext_grid is used as slack and others are converted to PV nodes internally; # calculate dist_slack for all SL and PV nodes that have non-zero slack weight: - buses_with_slack_weights = ppc['gen'][ppc['gen'][:, SL_FAC] != 0, GEN_BUS].astype(np.int32) + buses_with_slack_weights = ppc['gen'][ppc['gen'][:, SL_FAC] != 0, GEN_BUS].astype(np.int64) if np.sum(ppc['bus'][buses_with_slack_weights, BUS_TYPE] == REF) > 1: logger.info("Distributed slack calculation is implemented only for one reference type bus, " "other reference buses will be converted to PV buses internally.") From d403a76df846186932f77aab81824da7550bbc0c Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Wed, 21 Jul 2021 12:21:58 +0200 Subject: [PATCH 123/422] added test for case2848rte --- pandapower/test/loadflow/test_dist_slack.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/pandapower/test/loadflow/test_dist_slack.py b/pandapower/test/loadflow/test_dist_slack.py index 7ea69d729..63fff2e30 100644 --- a/pandapower/test/loadflow/test_dist_slack.py +++ b/pandapower/test/loadflow/test_dist_slack.py @@ -35,7 +35,9 @@ def small_example_grid(): def _get_injection_consumption(net): # xward is in the consumption reference system - consumed_p_mw = net.load.query("in_service").p_mw.sum() + net.res_line.pl_mw.sum() + net.xward.query("in_service").ps_mw.sum() + consumed_p_mw = net.res_line.pl_mw.sum() + net.res_trafo.pl_mw.sum() + net.res_trafo3w.pl_mw.sum() + \ + net.load.query("in_service").p_mw.sum() + net.xward.query("in_service").ps_mw.sum() - \ + net.sgen.query("in_service").p_mw.sum() injected_p_mw = net.gen.query("in_service").p_mw.sum() return injected_p_mw, consumed_p_mw @@ -175,6 +177,7 @@ def test_xward_manually(): assert np.isclose(net_1.res_gen.at[0, 'p_mw'], net.res_gen.at[0, 'p_mw'], rtol=0, atol=1e-6) assert np.isclose(net_1.res_gen.at[0, 'q_mvar'], net.res_gen.at[0, 'q_mvar'], rtol=0, atol=1e-6) + assert np.isclose(net_1.res_bus.at[2, 'p_mw'], net.res_bus.at[2, 'p_mw'] + net.res_line.at[3, 'p_from_mw'], rtol=0, atol=1e-6) assert np.allclose(net_1.res_bus.vm_pu, net.res_bus.loc[0:2, 'vm_pu'], rtol=0, atol=1e-6) assert np.allclose(net_1.res_bus.va_degree, net.res_bus.loc[0:2, 'va_degree'], rtol=0, atol=1e-6) @@ -290,6 +293,16 @@ def test_case9(): assert_results_correct(net) +def test_case2848rte(): + # check how it works with a large grid + net = networks.case2848rte() + net.ext_grid['slack_weight'] = 0 + sl_gen = net.gen.loc[net.gen.p_mw > 1000].index + net.gen.loc[sl_gen, 'slack_weight'] = net.gen.loc[sl_gen, 'p_mw'] + pp.runpp(net, distributed_slack=True) + assert_results_correct(net) + + # todo: implement distributed slack for when the grid has several disconnected zones From 553666360fa05928eebe0b7a527d2d9b7f06e96e Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Wed, 21 Jul 2021 12:22:49 +0200 Subject: [PATCH 124/422] commented out debug code, massive speed-up by avoiding "x in a" in numba function --- pandapower/pf/create_jacobian_numba.py | 56 ++++++++++++++++---------- 1 file changed, 35 insertions(+), 21 deletions(-) diff --git a/pandapower/pf/create_jacobian_numba.py b/pandapower/pf/create_jacobian_numba.py index 7ef2344e5..2d7901bbe 100644 --- a/pandapower/pf/create_jacobian_numba.py +++ b/pandapower/pf/create_jacobian_numba.py @@ -7,14 +7,15 @@ # Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. -DEBUG = False +# DEBUG = False # DEBUG = True from numba import jit +# import numba as nb # numpy is only used for debugging -if DEBUG: - from numpy import zeros +# if DEBUG: +# from numpy import zeros # @jit(i8(c16[:], c16[:], i4[:], i4[:], i8[:], i8[:], f8[:], i8[:], i8[:]), nopython=True, cache=False) @@ -220,8 +221,8 @@ def create_J_ds(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, refpvpq, pvpq, pq, Jx, Jj, Jp lref = lrefpv - lpv # dense J matrix for debugging - if DEBUG: - JJ = zeros(shape=(lrefpvpq+lpq, lrefpvpq+lpq)) + # if DEBUG: + # JJ = zeros(shape=(lrefpvpq+lpq, lrefpvpq+lpq)) # nonzeros in J nnz = 0 @@ -232,37 +233,44 @@ def create_J_ds(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, refpvpq, pvpq, pq, Jx, Jj, Jp nnzStart = nnz # iterate columns of J11 = dS_dVa.real at positions in pvpq # check entries in row pvpq[r] of dS_dV - r_start, r_end = Yp[refpvpq[r]], Yp[refpvpq[r] + 1] - for c in range(r_start, r_end): + # r_start, r_end = Yp[refpvpq[r]], Yp[refpvpq[r] + 1] + # for c in range(r_start, r_end): + for c in range(Yp[refpvpq[r]], Yp[refpvpq[r] + 1]): # check if column Yj is in pvpq bus_idx = Yj[c] cc = pvpq_lookup[bus_idx] # entries for J11 and J12 lookup_idx = refpvpq[cc] - if lookup_idx == bus_idx and lookup_idx in pvpq: + # skip if in the "ref" columns: + skip = False + for refcol in range(lref): # this loop is way faster + if lookup_idx == refpvpq[refcol]: + skip = True + break + if lookup_idx == bus_idx and not skip:# and lookup_idx in pvpq: # too slow # entry found # equals entry of J11: J[r,cc] = dVa_x[c].real col = cc - lref Jx[nnz] = dVa_x[c].real Jj[nnz] = col - if DEBUG: - JJ[r, col] = Jx[nnz] + # if DEBUG: + # JJ[r, col] = Jx[nnz] nnz += 1 # if entry is found in the "pq part" of pvpq = add entry of J12 if cc >= lrefpv: col = cc + lpq - lref Jx[nnz] = dVm_x[c].real Jj[nnz] = col - if DEBUG: - JJ[r, col] = Jx[nnz] + # if DEBUG: + # JJ[r, col] = Jx[nnz] nnz += 1 # add slack weights to the last column if slack_weights[refpvpq[r]] > 0: Jx[nnz] = slack_weights[refpvpq[r]] Jj[nnz] = lpvpq + lpq - if DEBUG: - JJ[r, lpvpq + lpq] = Jx[nnz] + # if DEBUG: + # JJ[r, lpvpq + lpq] = Jx[nnz] nnz += 1 # Jp: number of nonzeros per row = nnz - nnzStart (nnz at begging of loop - nnz at end of loop) Jp[r + 1] = nnz - nnzStart + Jp[r] @@ -271,27 +279,33 @@ def create_J_ds(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, refpvpq, pvpq, pq, Jx, Jj, Jp for r in range(lpq): nnzStart = nnz # iterate columns of J21 = dS_dVa.imag at positions in pvpq - r_start, r_end = Yp[pq[r]], Yp[pq[r] + 1] - for c in range(r_start, r_end): + # r_start, r_end = Yp[pq[r]], Yp[pq[r] + 1] + # for c in range(r_start, r_end): + for c in range(Yp[pq[r]], Yp[pq[r] + 1]): bus_idx = Yj[c] cc = pvpq_lookup[bus_idx] lookup_idx = refpvpq[cc] - if lookup_idx == bus_idx and lookup_idx in pvpq: + skip = False + for refcol in range(lref): # this loop is way faster + if lookup_idx == refpvpq[refcol]: + skip = True + break + if lookup_idx == bus_idx and not skip:# and lookup_idx in pvpq: # too slow # entry found # equals entry of J21: J[r + lpvpq, cc] = dVa_x[c].imag col = cc - lref Jx[nnz] = dVa_x[c].imag Jj[nnz] = col - if DEBUG: - JJ[r+lrefpvpq, col] = Jx[nnz] + # if DEBUG: + # JJ[r+lrefpvpq, col] = Jx[nnz] nnz += 1 # if entry is found in the "pq part" of pvpq = Add entry of J22 if cc >= lrefpv: col = cc + lpq - lref Jx[nnz] = dVm_x[c].imag Jj[nnz] = col - if DEBUG: - JJ[r+lrefpvpq, col] = Jx[nnz] + # if DEBUG: + # JJ[r+lrefpvpq, col] = Jx[nnz] nnz += 1 # Jp: number of nonzeros per row = nnz - nnzStart (nnz at begging of loop - nnz at end of loop) Jp[r + lrefpvpq + 1] = nnz - nnzStart + Jp[r + lrefpvpq] From c2fd068156c620e20456257ac3517d3167180265 Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Wed, 21 Jul 2021 12:27:17 +0200 Subject: [PATCH 125/422] small change (numba=numba_installed) --- pandapower/test/loadflow/test_dist_slack.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandapower/test/loadflow/test_dist_slack.py b/pandapower/test/loadflow/test_dist_slack.py index 31b5a744e..46e3c540a 100644 --- a/pandapower/test/loadflow/test_dist_slack.py +++ b/pandapower/test/loadflow/test_dist_slack.py @@ -299,7 +299,7 @@ def test_case2848rte(): net.ext_grid['slack_weight'] = 0 sl_gen = net.gen.loc[net.gen.p_mw > 1000].index net.gen.loc[sl_gen, 'slack_weight'] = net.gen.loc[sl_gen, 'p_mw'] - pp.runpp(net, distributed_slack=True) + pp.runpp(net, distributed_slack=True, numba=numba_installed) assert_results_correct(net) From 75f53d670ae62e22640461d60e0366ee9fa3ca22 Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Wed, 21 Jul 2021 12:46:55 +0200 Subject: [PATCH 126/422] also check value of xward slack participation --- pandapower/test/loadflow/test_dist_slack.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pandapower/test/loadflow/test_dist_slack.py b/pandapower/test/loadflow/test_dist_slack.py index 46e3c540a..4132664f5 100644 --- a/pandapower/test/loadflow/test_dist_slack.py +++ b/pandapower/test/loadflow/test_dist_slack.py @@ -162,6 +162,8 @@ def test_xward_manually(): # pp.create_xward(net, 2, 0, 0, 0, 0, 0.02, 0.2, 1, slack_weight=2) pp.create_xward(net_1, 2, 200, 20, 10, 1, 0.02, 0.2, 1, slack_weight=2) run_and_assert_numba(net_1) + slack_power = (net_1.res_gen.p_mw.at[0] - net_1.gen.p_mw.at[0]) * 3 # factor 3 since gen has + # slack_weight==1 and xward has slack_weight==2 # xward behavior is a bit different due to the shunt component of the xward # so we check the results by hand for the case when shunt values are != 0 @@ -173,6 +175,7 @@ def test_xward_manually(): pp.create_line_from_parameters(net, 2, 3, 1, 0.02, 0.2, 0, 1) net.load.at[1, 'p_mw'] = net_1._ppc['bus'][net_1.xward.bus.at[0], PD] + assert np.isclose(200-net.load.at[1, 'p_mw'], slack_power*2/3, rtol=0, atol=1e-6) pp.runpp(net) assert np.isclose(net_1.res_gen.at[0, 'p_mw'], net.res_gen.at[0, 'p_mw'], rtol=0, atol=1e-6) From aa9463d439f80c1b897ee648006f50cc87a18606 Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Wed, 21 Jul 2021 17:02:47 +0200 Subject: [PATCH 127/422] rename "dspf" -> "slack_weight" --- pandapower/test/api/test_toolbox.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pandapower/test/api/test_toolbox.py b/pandapower/test/api/test_toolbox.py index e56e3bb31..da0bc6eba 100644 --- a/pandapower/test/api/test_toolbox.py +++ b/pandapower/test/api/test_toolbox.py @@ -1062,7 +1062,7 @@ def test_replace_gen_sgen(): net = nw.case9() vm_set = [1.03, 1.02] net.gen["vm_pu"] = vm_set - net.gen["dspf"] = 1 + net.gen["slack_weight"] = 1 pp.runpp(net) assert list(net.res_gen.index.values) == [0, 1] @@ -1071,9 +1071,9 @@ def test_replace_gen_sgen(): pp.replace_gen_by_sgen(net) elif i == 1: pp.replace_gen_by_sgen(net, [0, 1], sgen_indices=[4, 1], cols_to_keep=[ - "max_p_mw"], add_cols_to_keep=["dspf"]) # min_p_mw is not in cols_to_keep + "max_p_mw"], add_cols_to_keep=["slack_weight"]) # min_p_mw is not in cols_to_keep assert np.allclose(net.sgen.index.values, [4, 1]) - assert np.allclose(net.sgen.dspf.values, 1) + assert np.allclose(net.sgen.slack_weight.values, 1) assert "max_p_mw" in net.sgen.columns assert "min_p_mw" not in net.sgen.columns assert not net.gen.shape[0] @@ -1088,9 +1088,9 @@ def test_replace_gen_sgen(): if i == 0: pp.replace_sgen_by_gen(net2, [1]) elif i == 1: - pp.replace_sgen_by_gen(net2, 1, gen_indices=[2], add_cols_to_keep=["dspf"]) + pp.replace_sgen_by_gen(net2, 1, gen_indices=[2], add_cols_to_keep=["slack_weight"]) assert np.allclose(net2.gen.index.values, [2]) - assert np.allclose(net2.gen.dspf.values, 1) + assert np.allclose(net2.gen.slack_weight.values, 1) assert net2.gen.shape[0] == 1 assert net2.res_gen.shape[0] == 1 assert net2.gen.shape[0] == 1 From 2e96f4fa5522d5daf0df2100cdd76b52dc6fd5ab Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Wed, 21 Jul 2021 20:11:36 +0200 Subject: [PATCH 128/422] prevent scipy sparse warning --- pandapower/auxiliary.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pandapower/auxiliary.py b/pandapower/auxiliary.py index 444a414b5..2c96b35e1 100644 --- a/pandapower/auxiliary.py +++ b/pandapower/auxiliary.py @@ -450,9 +450,9 @@ def _subnetworks(ppc): adj_matrix = sp.sparse.csr_matrix((np.ones(nobranch), (bus_from, bus_to)), shape=(nobus, nobus)) - # Set out of service buses to have no connections. - adj_matrix[oos_bus, :] = 0 - adj_matrix[:, oos_bus] = 0 + # Set out of service buses to have no connections (*=0 instead of =0 to avoid sparcity warning). + adj_matrix[oos_bus, :] *= 0 + adj_matrix[:, oos_bus] *= 0 traversed_buses = set() subnets = [] From 8862261bba85f227f11a95d4777b3fd37c8a4a7a Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Wed, 21 Jul 2021 20:12:03 +0200 Subject: [PATCH 129/422] bugfix for when xward is not in service --- pandapower/build_gen.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pandapower/build_gen.py b/pandapower/build_gen.py index 407788c1d..e6693d8f2 100644 --- a/pandapower/build_gen.py +++ b/pandapower/build_gen.py @@ -9,7 +9,7 @@ from pandapower.pf.ppci_variables import bustypes from pandapower.pypower.idx_bus import PV, REF, VA, VM, BUS_TYPE, NONE, VMAX, VMIN, SL_FAC as SL_FAC_BUS from pandapower.pypower.idx_gen import QMIN, QMAX, PMIN, PMAX, GEN_BUS, PG, VG, QG, MBASE, SL_FAC -from pandapower.pypower.idx_brch import F_BUS #, T_BUS +from pandapower.pypower.idx_brch import F_BUS, T_BUS from pandapower.auxiliary import _subnetworks, _sum_by_group try: @@ -353,7 +353,9 @@ def _get_xward_pq_buses(net, ppc): if len(ft) > 0: f, t = ft xward_pq_buses = ppc['branch'][f:t, F_BUS].real.astype(np.int64) - # xward_pv_buses = ppc['branch'][f:t, T_BUS] + xward_pv_buses = ppc['branch'][f:t, T_BUS].real.astype(np.int64) + # ignore the xward buses of xward elements that are out of service + xward_pq_buses = np.setdiff1d(xward_pq_buses, xward_pq_buses[ppc['bus'][xward_pv_buses, BUS_TYPE] == NONE]) return xward_pq_buses else: return np.array([], dtype=np.int64) From 8ad03be453177f30f2ff3d052529332770005a99 Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Wed, 21 Jul 2021 20:13:45 +0200 Subject: [PATCH 130/422] enable pre-calculating the slack impalance; enable DC load flow as a pre-solver for the load flow also for the distributed slack calculation --- pandapower/pf/run_newton_raphson_pf.py | 13 ++++++++++--- pandapower/pypower/newtonpf.py | 6 ++++-- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/pandapower/pf/run_newton_raphson_pf.py b/pandapower/pf/run_newton_raphson_pf.py index 86caa2d93..bed3387df 100644 --- a/pandapower/pf/run_newton_raphson_pf.py +++ b/pandapower/pf/run_newton_raphson_pf.py @@ -11,7 +11,7 @@ from pandapower.pf.ppci_variables import _get_pf_variables_from_ppci, _store_results_from_pf_in_ppci from pandapower.pf.run_dc_pf import _run_dc_pf from pandapower.pypower.bustypes import bustypes -from pandapower.pypower.idx_bus import BUS_I, PD, QD, BUS_TYPE, PQ, GS, BS, SL_FAC as SL_FAC_BUS +from pandapower.pypower.idx_bus import BUS_I, PD, QD, BUS_TYPE, PQ, GS, BS, SL_FAC as SL_FAC_BUS, VM, VA from pandapower.pypower.idx_gen import PG, QG, QMAX, QMIN, GEN_BUS, GEN_STATUS, SL_FAC from pandapower.pypower.makeSbus import makeSbus from pandapower.pypower.makeYbus import makeYbus as makeYbus_pypower @@ -44,8 +44,15 @@ def _run_newton_raphson_pf(ppci, options): """ t0 = time() # we cannot run DC pf before running newton with distributed slack because the slacks come pre-solved after the DC pf - if isinstance(options["init_va_degree"], str) and options["init_va_degree"] == "dc" and not options['distributed_slack']: - ppci = _run_dc_pf(ppci) + if isinstance(options["init_va_degree"], str) and options["init_va_degree"] == "dc": + if options['distributed_slack']: + pg_copy = ppci['gen'][:, PG].copy() + pd_copy = ppci['bus'][:, PD].copy() + ppci = _run_dc_pf(ppci) + ppci['gen'][:, PG] = pg_copy + ppci['bus'][:, PD] = pd_copy + else: + ppci = _run_dc_pf(ppci) if options["enforce_q_lims"]: ppci, success, iterations, bus, gen, branch = _run_ac_pf_with_qlims_enforced(ppci, options) else: diff --git a/pandapower/pypower/newtonpf.py b/pandapower/pypower/newtonpf.py index 9e265deb8..7ca2800a7 100644 --- a/pandapower/pypower/newtonpf.py +++ b/pandapower/pypower/newtonpf.py @@ -17,7 +17,8 @@ from pandapower.pf.iwamoto_multiplier import _iwamoto_step from pandapower.pypower.makeSbus import makeSbus from pandapower.pf.create_jacobian import create_jacobian_matrix, get_fastest_jacobian_function -from pandapower.pypower.idx_bus import SL_FAC +from pandapower.pypower.idx_gen import PG +from pandapower.pypower.idx_bus import PD, SL_FAC def newtonpf(Ybus, Sbus, V0, ref, pv, pq, ppci, options): @@ -55,7 +56,6 @@ def newtonpf(Ybus, Sbus, V0, ref, pv, pq, ppci, options): # initialize i = 0 V = V0 - slack = 0 # for dist_slack # todo: pre-calculate from grid balance Va = angle(V) Vm = abs(V) dVa, dVm = None, None @@ -106,6 +106,8 @@ def newtonpf(Ybus, Sbus, V0, ref, pv, pq, ppci, options): j7 = j6 j8 = j6 + nref # j7:j8 - slacks + # make initial guess for the slack + slack = gen[:, PG].sum() - bus[:, PD].sum() # evaluate F(x0) F = _evaluate_Fx(Ybus, V, Sbus, ref, pv, pq, slack_weights, dist_slack, slack) converged = _check_for_convergence(F, tol) From 70074992047d3b68637caf09e8b0aada20e4dd8b Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Wed, 21 Jul 2021 20:23:54 +0200 Subject: [PATCH 131/422] DS: added more tests, WIP: check the xward results properly --- pandapower/test/loadflow/test_dist_slack.py | 162 +++++++++++++++++++- 1 file changed, 155 insertions(+), 7 deletions(-) diff --git a/pandapower/test/loadflow/test_dist_slack.py b/pandapower/test/loadflow/test_dist_slack.py index 4132664f5..d3582c2de 100644 --- a/pandapower/test/loadflow/test_dist_slack.py +++ b/pandapower/test/loadflow/test_dist_slack.py @@ -7,7 +7,9 @@ import numpy as np import pandapower as pp from pandapower import networks -from pandapower.pypower.idx_bus import PD +from pandapower.control import ContinuousTapControl +from pandapower.pypower.idx_bus import PD, GS, VM +from pandapower.pypower.idx_brch import PF import pytest from pandapower.test.toolbox import assert_res_equal @@ -33,10 +35,51 @@ def small_example_grid(): return net +def _get_xward_result(net): + # here I tried getting the xward power that is relevant for the balance + p_results = np.array([]) + internal_results = np.array([]) + ppc = net._ppc + + ft = net._pd2ppc_lookups.get('branch', dict()).get('xward', []) + if len(ft) > 0: + f, t = ft + p_impedance = ppc['branch'][f:t, PF].real + else: + p_impedance = np.array([]) + + for b, x_id in zip(net.xward.query("in_service").bus.values, net.xward.query("in_service").index.values): + p_bus = ppc['bus'][net._pd2ppc_lookups["bus"][b], PD] + p_shunt = ppc['bus'][net._pd2ppc_lookups["bus"][b], VM] **2 * net["xward"].at[x_id, "pz_mw"] + internal_results = np.append(internal_results, p_shunt) + connected = pp.toolbox.get_connected_elements_dict(net, [b], respect_in_service=True, connected_buses=False, + connected_branch_elements=False, connected_other_elements=False) + for e, idx in connected.items(): + # first, count the total slack weights per bus, and obtain the variable part of the active power + total_weight = 0 + if e in ['xward', 'ext_grid']: + continue + p_bus -= net[e].loc[idx, "p_mw"].values.sum() + + p_results = np.append(p_results, p_bus) + + internal_results += p_impedance + + return p_results, internal_results + + +def _get_losses(net): + pl_mw = 0 + for elm in ['line', 'trafo', 'trafo3w', 'impedance']: + pl_mw += net['res_' + elm].pl_mw.sum() + return pl_mw + + def _get_injection_consumption(net): + _, xward_internal = _get_xward_result(net) # xward is in the consumption reference system consumed_p_mw = net.res_line.pl_mw.sum() + net.res_trafo.pl_mw.sum() + net.res_trafo3w.pl_mw.sum() + \ - net.load.query("in_service").p_mw.sum() + net.xward.query("in_service").ps_mw.sum() - \ + net.load.query("in_service").p_mw.sum() + net.xward.query("in_service").ps_mw.sum() + xward_internal.sum() - \ net.sgen.query("in_service").p_mw.sum() injected_p_mw = net.gen.query("in_service").p_mw.sum() return injected_p_mw, consumed_p_mw @@ -50,10 +93,11 @@ def _get_slack_weights(net): def _get_inputs_results(net): + _, xward_internal = _get_xward_result(net) # xward is in the consumption reference system, but here the results are all assumed in the generation reference system inputs = np.r_[net.gen.query("in_service").p_mw, np.zeros(len(net.ext_grid.query("in_service"))), - -net.xward.query("in_service").ps_mw] + -net.xward.query("in_service").ps_mw - xward_internal] results = np.r_[net.res_gen[net.gen.in_service].p_mw, net.res_ext_grid[net.ext_grid.in_service].p_mw, -net.res_xward[net.xward.in_service].p_mw] @@ -72,14 +116,14 @@ def assert_results_correct(net): assert np.allclose(input_p_mw - (injected_p_mw - consumed_p_mw) * slack_weights, result_p_mw, atol=1e-6, rtol=0) -def run_and_assert_numba(net): +def run_and_assert_numba(net, **kwargs): if numba_installed: net_temp = net.deepcopy() - pp.runpp(net_temp, distributed_slack=True, numba=False) - pp.runpp(net, distributed_slack=True) + pp.runpp(net_temp, distributed_slack=True, numba=False, **kwargs) + pp.runpp(net, distributed_slack=True, **kwargs) assert_res_equal(net, net_temp) else: - pp.runpp(net, distributed_slack=True, numba=False) + pp.runpp(net, distributed_slack=True, numba=False, **kwargs) @pytest.mark.skipif(not numba_installed, reason="skip the test if numba not installed") @@ -136,6 +180,7 @@ def test_three_gens(): assert_results_correct(net) +@pytest.mark.xfail(reason="power balance with xward must be adjusted") def test_gen_xward(): # here testing for numba only net = small_example_grid() @@ -144,8 +189,10 @@ def test_gen_xward(): run_and_assert_numba(net) # xward behavior is a bit different due to the shunt component and the impedance component of the xward # so we check the results by hand for the case when shunt values are != 0 + assert_results_correct(net) +@pytest.mark.xfail(reason="power balance with xward must be adjusted") def test_xward_pz_mw(): # here testing for numba only # for now, not implemented and should raise an error @@ -155,6 +202,7 @@ def test_xward_pz_mw(): run_and_assert_numba(net) # xward behavior is a bit different due to the shunt component of the xward # so we check the results by hand for the case when shunt values are != 0 + assert_results_correct(net) def test_xward_manually(): @@ -223,6 +271,40 @@ def test_same_bus(): assert_results_correct(net) +def test_gen_oos(): + net = small_example_grid() + pp.create_gen(net, 2, 200, 1., slack_weight=2, in_service=False) + + run_and_assert_numba(net) + assert_results_correct(net) + + +def test_ext_grid_oos(): + net = small_example_grid() + pp.create_ext_grid(net, 0, slack_weight=2, in_service=False) + + run_and_assert_numba(net) + assert_results_correct(net) + + +def test_xward_oos(): + net = small_example_grid() + pp.create_xward(net, 2, 200, 20, 10, 1, 0.02, 0.2, 1, slack_weight=2, in_service=False) + + run_and_assert_numba(net) + assert_results_correct(net) + + +@pytest.mark.xfail(reason="xward balance must be calculated properly") +def test_only_xward(): + net = pp.create_empty_network() + pp.create_bus(net, 110) + pp.create_ext_grid(net, 0, vm_pu=1.05, slack_weight=2) + pp.create_xward(net, 0, 200, 20, 10, 1, 0.02, 0.2, 1, slack_weight=2) + run_and_assert_numba(net) + assert_results_correct(net) + + def test_separate_zones(): net = small_example_grid() b1, b2 = pp.create_buses(net, 2, 110) @@ -306,6 +388,72 @@ def test_case2848rte(): assert_results_correct(net) +@pytest.mark.xfail(reason="power balance with xward must be adjusted") +def test_multivoltage_example_with_controller(): + do_output = False + + net = networks.example_multivoltage() + + gen_p_disp = 10 + net.gen.p_mw.at[0] = gen_p_disp + net.gen.slack_weight.at[0] = 1 + net.ext_grid.slack_weight.at[0] = 1 + net.trafo.tap_max.at[1] = 5 + net.trafo.tap_min.at[1] = -5 + ContinuousTapControl(net, tid=1, vm_set_pu=1.05) + + gen_disp = sum([net[elm].p_mw.sum() for elm in ["gen", "sgen"]]) + load_disp = sum([net[elm].p_mw.sum() for elm in ["load", "shunt"]]) + \ + net.xward[["ps_mw", "pz_mw"]].sum().sum() + expected_losses = 2 # MW + expected_slack_power = load_disp + expected_losses - gen_disp # MW + tol = 0.5 # MW + + net2 = net.deepcopy() + # test distributed_slack + run_and_assert_numba(net) + + # take results for gen and xward from net to net2 and compare results + net2.gen.p_mw = net.res_gen.p_mw + net2.xward.ps_mw = net._ppc['bus'][net._pd2ppc_lookups['bus'][net.xward.bus], PD] - net.load.loc[net.load.bus.isin([34,32]), 'p_mw'].values + pp.runpp(net2) + + assert_res_equal(net, net2) + assert_results_correct(net) + + if do_output: + print("grid losses: %.6f" % -net.res_bus.p_mw.sum()) + print("slack generator p results: %.6f %.6f" % (net.res_ext_grid.p_mw.at[0], + net.res_gen.p_mw.at[0])) + net.res_bus.vm_pu.plot() + + assert np.isclose(net.res_ext_grid.p_mw.at[0], net.res_gen.p_mw.at[0]-gen_p_disp) + assert expected_slack_power / 2 - tol < net.res_ext_grid.p_mw.at[0] < expected_slack_power / 2 + tol + losses_without_controller = -net.res_bus.p_mw.sum() + slack_power_without_controller = net.res_ext_grid.p_mw.at[0] + net.res_gen.p_mw.at[0] - \ + gen_p_disp + + # test distributed_slack with controller + run_and_assert_numba(net, run_control=True) + assert_results_correct(net) + + losses_with_controller = -net.res_bus.p_mw.sum() + expected_slack_power = slack_power_without_controller - losses_without_controller + \ + losses_with_controller + slack_power_without_controller = net.res_ext_grid.p_mw.at[0] + net.res_gen.p_mw.at[0] - \ + gen_p_disp + + assert np.isclose(expected_slack_power, slack_power_without_controller, atol=1e-5) + assert np.isclose(net.res_ext_grid.p_mw.at[0], expected_slack_power/2, atol=1e-5) + assert np.isclose(net.res_gen.p_mw.at[0], expected_slack_power/2+gen_p_disp, atol=1e-5) + + if do_output: + print("grid losses: %.6f" % -net.res_bus.p_mw.sum()) + print("slack generator p results: %.6f %.6f" % (net.res_ext_grid.p_mw.at[0], + net.res_gen.p_mw.at[0])) + net.res_bus.vm_pu.plot() + + # todo: implement distributed slack for when the grid has several disconnected zones From f4f48e4f2d5167440ad0cff7eea80120bfcb01c5 Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Wed, 21 Jul 2021 22:48:42 +0200 Subject: [PATCH 132/422] added distributed_slack to the list of standard parameters --- pandapower/run.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandapower/run.py b/pandapower/run.py index 22c60e788..a2bb72e4b 100644 --- a/pandapower/run.py +++ b/pandapower/run.py @@ -39,7 +39,7 @@ def set_user_pf_options(net, overwrite=False, **kwargs): 'recycle', 'voltage_depend_loads', 'consider_line_temperature', 'delta', 'trafo3w_losses', 'init_vm_pu', 'init_va_degree', 'init_results', 'tolerance_mva', 'trafo_loading', 'numba', 'ac', 'algorithm', - 'max_iteration', 'v_debug', 'run_control'] + 'max_iteration', 'v_debug', 'run_control', 'distributed_slack'] if overwrite or 'user_pf_options' not in net.keys(): net['user_pf_options'] = dict() From 3a34b502876895024e82b08ab3509fbc419f9e9b Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Wed, 21 Jul 2021 22:49:01 +0200 Subject: [PATCH 133/422] raise error if xward and gen at the same bus --- pandapower/build_gen.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pandapower/build_gen.py b/pandapower/build_gen.py index e6693d8f2..54df4c680 100644 --- a/pandapower/build_gen.py +++ b/pandapower/build_gen.py @@ -364,7 +364,14 @@ def _get_xward_pq_buses(net, ppc): def _normalise_slack_weights(ppc, gen_mask, xward_mask, xward_pq_buses): """Unitise the slack contribution factors in each island to sum to 1.""" subnets = _subnetworks(ppc) - gen_buses = np.r_[ppc['gen'][gen_mask, GEN_BUS].astype(np.int64), xward_pq_buses] + gen_buses = ppc['gen'][gen_mask, GEN_BUS].astype(np.int64) + + # it is possible that xward and gen are at the same bus (but not reasonable) + if len(np.intersect1d(gen_buses, xward_pq_buses)): + raise NotImplementedError("Found some of the xward PQ buses with slack weight > 0 that coincide with PV or SL buses." + "This configuration is not supported.") + + gen_buses = np.r_[gen_buses, xward_pq_buses] slack_weights_gen = np.r_[ppc['gen'][gen_mask, SL_FAC], ppc['gen'][xward_mask, SL_FAC]].astype(np.float64) # only 1 ext_grid (reference bus) supported and all others are considered as PV buses, From cffd59909e7fcd0f323d261c0d1e70b6a612e217 Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Wed, 21 Jul 2021 22:49:52 +0200 Subject: [PATCH 134/422] tests are running for xward (higher tol for multivoltage example) --- pandapower/test/loadflow/test_dist_slack.py | 38 ++++++++++++--------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/pandapower/test/loadflow/test_dist_slack.py b/pandapower/test/loadflow/test_dist_slack.py index d3582c2de..ecc6bbc03 100644 --- a/pandapower/test/loadflow/test_dist_slack.py +++ b/pandapower/test/loadflow/test_dist_slack.py @@ -79,10 +79,11 @@ def _get_injection_consumption(net): _, xward_internal = _get_xward_result(net) # xward is in the consumption reference system consumed_p_mw = net.res_line.pl_mw.sum() + net.res_trafo.pl_mw.sum() + net.res_trafo3w.pl_mw.sum() + \ - net.load.query("in_service").p_mw.sum() + net.xward.query("in_service").ps_mw.sum() + xward_internal.sum() - \ + net.load.query("in_service").p_mw.sum() - \ net.sgen.query("in_service").p_mw.sum() injected_p_mw = net.gen.query("in_service").p_mw.sum() - return injected_p_mw, consumed_p_mw + # we return the xward power separately because it is also already considered in the inputs and results + return injected_p_mw, consumed_p_mw, net.xward.query("in_service").ps_mw.sum() + xward_internal.sum() def _get_slack_weights(net): @@ -104,16 +105,16 @@ def _get_inputs_results(net): return inputs, results -def assert_results_correct(net): +def assert_results_correct(net, tol=1e-6): # first, collect slack_weights, injection and consumption, inputs and reults from net - injected_p_mw, consumed_p_mw = _get_injection_consumption(net) + injected_p_mw, consumed_p_mw, consumed_xward_p_mw = _get_injection_consumption(net) input_p_mw, result_p_mw = _get_inputs_results(net) slack_weights = _get_slack_weights(net) # assert power balance is correct - assert abs(result_p_mw.sum() - consumed_p_mw) < 1e-6 + assert abs(result_p_mw.sum() - consumed_p_mw) < tol # assert results are according to the distributed slack formula - assert np.allclose(input_p_mw - (injected_p_mw - consumed_p_mw) * slack_weights, result_p_mw, atol=1e-6, rtol=0) + assert np.allclose(input_p_mw - (injected_p_mw - consumed_p_mw - consumed_xward_p_mw) * slack_weights, result_p_mw, atol=tol, rtol=0) def run_and_assert_numba(net, **kwargs): @@ -126,7 +127,6 @@ def run_and_assert_numba(net, **kwargs): pp.runpp(net, distributed_slack=True, numba=False, **kwargs) -@pytest.mark.skipif(not numba_installed, reason="skip the test if numba not installed") def test_numba(): net = small_example_grid() # if no slack_weight is given for ext_grid, 1 is assumed, because normally @@ -180,7 +180,6 @@ def test_three_gens(): assert_results_correct(net) -@pytest.mark.xfail(reason="power balance with xward must be adjusted") def test_gen_xward(): # here testing for numba only net = small_example_grid() @@ -192,7 +191,6 @@ def test_gen_xward(): assert_results_correct(net) -@pytest.mark.xfail(reason="power balance with xward must be adjusted") def test_xward_pz_mw(): # here testing for numba only # for now, not implemented and should raise an error @@ -295,14 +293,21 @@ def test_xward_oos(): assert_results_correct(net) -@pytest.mark.xfail(reason="xward balance must be calculated properly") def test_only_xward(): net = pp.create_empty_network() pp.create_bus(net, 110) pp.create_ext_grid(net, 0, vm_pu=1.05, slack_weight=2) pp.create_xward(net, 0, 200, 20, 10, 1, 0.02, 0.2, 1, slack_weight=2) - run_and_assert_numba(net) - assert_results_correct(net) + with pytest.raises(NotImplementedError): + pp.runpp(net, distributed_slack=True) + + +def test_xward_gen_same_bus(): + net = small_example_grid() + pp.create_gen(net, 2, 200, 1., slack_weight=2) + pp.create_xward(net, 2, 200, 20, 10, 1, 0.02, 0.2, 1, slack_weight=4) + with pytest.raises(NotImplementedError): + pp.runpp(net, distributed_slack=True) def test_separate_zones(): @@ -371,8 +376,8 @@ def test_case9(): assert np.allclose(gen_diff, p_target_gen, atol=tol_mw) # check balance of power - injected_p_mw, consumed_p_mw = _get_injection_consumption(net) - assert abs(net.res_ext_grid.p_mw.sum() + net.res_gen.p_mw.sum() - consumed_p_mw) < 1e-6 + injected_p_mw, consumed_p_mw, xward_p_mw = _get_injection_consumption(net) + assert abs(net.res_ext_grid.p_mw.sum() + net.res_gen.p_mw.sum() - consumed_p_mw - xward_p_mw) < 1e-6 # check the distribution formula of the slack power difference assert_results_correct(net) @@ -388,7 +393,6 @@ def test_case2848rte(): assert_results_correct(net) -@pytest.mark.xfail(reason="power balance with xward must be adjusted") def test_multivoltage_example_with_controller(): do_output = False @@ -419,7 +423,7 @@ def test_multivoltage_example_with_controller(): pp.runpp(net2) assert_res_equal(net, net2) - assert_results_correct(net) + assert_results_correct(net, tol=1e-2) if do_output: print("grid losses: %.6f" % -net.res_bus.p_mw.sum()) @@ -435,7 +439,7 @@ def test_multivoltage_example_with_controller(): # test distributed_slack with controller run_and_assert_numba(net, run_control=True) - assert_results_correct(net) + assert_results_correct(net, tol=1e-2) losses_with_controller = -net.res_bus.p_mw.sum() expected_slack_power = slack_power_without_controller - losses_without_controller + \ From 1ed9761fef794750b1cdc533cf826e8fdd1f03e4 Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Thu, 22 Jul 2021 10:11:09 +0200 Subject: [PATCH 135/422] Update CHANGELOG.rst --- CHANGELOG.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index ebdcf12a1..6b2dbc79e 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,6 +1,6 @@ Change Log -- [ADDED] Added distributed slack calculation to newton-raphson load flow; new column "slack_weights" for ext_grid, gen and xward (xward not implemented yet); only 1 reference bus is allowed, any further reference buses are converted to PV buses internally +- [ADDED] Added distributed slack calculation to newton-raphson load flow; new column "slack_weights" for ext_grid, gen and xward; only 1 reference bus is allowed, any further reference buses are converted to PV buses internally [2.7.0]- 2021-07-15 ---------------------- From f8f0993197930ab810c3fcb15b05f31b83530948 Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Thu, 22 Jul 2021 10:13:10 +0200 Subject: [PATCH 136/422] Update run_newton_raphson_pf.py --- pandapower/pf/run_newton_raphson_pf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandapower/pf/run_newton_raphson_pf.py b/pandapower/pf/run_newton_raphson_pf.py index bed3387df..5282bf6ec 100644 --- a/pandapower/pf/run_newton_raphson_pf.py +++ b/pandapower/pf/run_newton_raphson_pf.py @@ -11,7 +11,7 @@ from pandapower.pf.ppci_variables import _get_pf_variables_from_ppci, _store_results_from_pf_in_ppci from pandapower.pf.run_dc_pf import _run_dc_pf from pandapower.pypower.bustypes import bustypes -from pandapower.pypower.idx_bus import BUS_I, PD, QD, BUS_TYPE, PQ, GS, BS, SL_FAC as SL_FAC_BUS, VM, VA +from pandapower.pypower.idx_bus import BUS_I, PD, QD, BUS_TYPE, PQ, GS, BS, SL_FAC as SL_FAC_BUS from pandapower.pypower.idx_gen import PG, QG, QMAX, QMIN, GEN_BUS, GEN_STATUS, SL_FAC from pandapower.pypower.makeSbus import makeSbus from pandapower.pypower.makeYbus import makeYbus as makeYbus_pypower From 6ccb0342d346f4bb52793d7f7ef8080e0a368a70 Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Thu, 22 Jul 2021 11:55:26 +0200 Subject: [PATCH 137/422] added test for xward results function and xward results values, fixed test for power balance, all tests are running through with tol=1e-9 now --- pandapower/test/loadflow/test_dist_slack.py | 43 ++++++++++++++++----- 1 file changed, 34 insertions(+), 9 deletions(-) diff --git a/pandapower/test/loadflow/test_dist_slack.py b/pandapower/test/loadflow/test_dist_slack.py index ecc6bbc03..9eaa32f6d 100644 --- a/pandapower/test/loadflow/test_dist_slack.py +++ b/pandapower/test/loadflow/test_dist_slack.py @@ -77,13 +77,17 @@ def _get_losses(net): def _get_injection_consumption(net): _, xward_internal = _get_xward_result(net) + total_pl_mw = _get_losses(net) # xward is in the consumption reference system - consumed_p_mw = net.res_line.pl_mw.sum() + net.res_trafo.pl_mw.sum() + net.res_trafo3w.pl_mw.sum() + \ + # active power consumption by the internal elements of xward is not adjusted by the distributed slack calculation + # that is why we add the active power of the internal elements of the xward here + consumed_p_mw = total_pl_mw + \ net.load.query("in_service").p_mw.sum() - \ - net.sgen.query("in_service").p_mw.sum() + net.sgen.query("in_service").p_mw.sum() + \ + xward_internal.sum() injected_p_mw = net.gen.query("in_service").p_mw.sum() # we return the xward power separately because it is also already considered in the inputs and results - return injected_p_mw, consumed_p_mw, net.xward.query("in_service").ps_mw.sum() + xward_internal.sum() + return injected_p_mw, consumed_p_mw, net.xward.query("in_service").ps_mw.sum() def _get_slack_weights(net): @@ -94,18 +98,20 @@ def _get_slack_weights(net): def _get_inputs_results(net): - _, xward_internal = _get_xward_result(net) + # distributed slack calculation only adjusts the pq part of the xward active power consumption + # that is why we only consider the active power consumption by the PQ load of the xward here + xward_pq_res, _ = _get_xward_result(net) # xward is in the consumption reference system, but here the results are all assumed in the generation reference system inputs = np.r_[net.gen.query("in_service").p_mw, np.zeros(len(net.ext_grid.query("in_service"))), - -net.xward.query("in_service").ps_mw - xward_internal] + -net.xward.query("in_service").ps_mw] results = np.r_[net.res_gen[net.gen.in_service].p_mw, net.res_ext_grid[net.ext_grid.in_service].p_mw, - -net.res_xward[net.xward.in_service].p_mw] + -xward_pq_res] return inputs, results -def assert_results_correct(net, tol=1e-6): +def assert_results_correct(net, tol=1e-8): # first, collect slack_weights, injection and consumption, inputs and reults from net injected_p_mw, consumed_p_mw, consumed_xward_p_mw = _get_injection_consumption(net) input_p_mw, result_p_mw = _get_inputs_results(net) @@ -117,6 +123,11 @@ def assert_results_correct(net, tol=1e-6): assert np.allclose(input_p_mw - (injected_p_mw - consumed_p_mw - consumed_xward_p_mw) * slack_weights, result_p_mw, atol=tol, rtol=0) +def check_xward_results(net, tol=1e-9): + xward_pq_res, xward_internal = _get_xward_result(net) + assert np.allclose(xward_pq_res + xward_internal, net.res_xward.p_mw, atol=tol, rtol=0) + + def run_and_assert_numba(net, **kwargs): if numba_installed: net_temp = net.deepcopy() @@ -127,6 +138,16 @@ def run_and_assert_numba(net, **kwargs): pp.runpp(net, distributed_slack=True, numba=False, **kwargs) +def test_get_xward_result(): + # here we test the helper function that calculates the internal and PQ load results separately + # it separates the results of other node ellments at the same bus, but only works for 1 xward at a bus + net = small_example_grid() + pp.create_xward(net, 2, 100, 0, 0, 0, 0.02, 0.2, 1) + pp.create_load(net, 2, 50, 0, 0, 0, 0.02, 0.2, 1) + pp.runpp(net) + check_xward_results(net) + + def test_numba(): net = small_example_grid() # if no slack_weight is given for ext_grid, 1 is assumed, because normally @@ -189,6 +210,7 @@ def test_gen_xward(): # xward behavior is a bit different due to the shunt component and the impedance component of the xward # so we check the results by hand for the case when shunt values are != 0 assert_results_correct(net) + check_xward_results(net) def test_xward_pz_mw(): @@ -201,6 +223,7 @@ def test_xward_pz_mw(): # xward behavior is a bit different due to the shunt component of the xward # so we check the results by hand for the case when shunt values are != 0 assert_results_correct(net) + check_xward_results(net) def test_xward_manually(): @@ -423,7 +446,8 @@ def test_multivoltage_example_with_controller(): pp.runpp(net2) assert_res_equal(net, net2) - assert_results_correct(net, tol=1e-2) + check_xward_results(net) + assert_results_correct(net) if do_output: print("grid losses: %.6f" % -net.res_bus.p_mw.sum()) @@ -439,7 +463,8 @@ def test_multivoltage_example_with_controller(): # test distributed_slack with controller run_and_assert_numba(net, run_control=True) - assert_results_correct(net, tol=1e-2) + check_xward_results(net) + assert_results_correct(net) losses_with_controller = -net.res_bus.p_mw.sum() expected_slack_power = slack_power_without_controller - losses_without_controller + \ From 2a5fe461ddad621e897c50118be509f917c04d7c Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Thu, 22 Jul 2021 12:02:23 +0200 Subject: [PATCH 138/422] Update distributed_slack.ipynb --- tutorials/distributed_slack.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/distributed_slack.ipynb b/tutorials/distributed_slack.ipynb index 0f3e7d0d1..a9b061a9e 100644 --- a/tutorials/distributed_slack.ipynb +++ b/tutorials/distributed_slack.ipynb @@ -12,7 +12,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "In power flow analysis, a slack bus is chosen which compensates the mismatch of active power in the grid as related to the balance of consumption, generation and losses. This mismatch results from grid losses or an unbalanced dispatch. In real transmission and distribution systems, multiple generators can play a role in compensating the mismatch of active power. The approach of _distributed slack_ allows to model the allocation of the mismatch compensation to a number of buses according to pre-defined weights, which more closely resembles real-world scenarios. To describe how much active power a single element contributes to the compensation of the mismatch of active power, the parameter _slack_weight_ is used. \n", + "In power flow analysis, a slack bus is chosen which compensates the mismatch of active power in the grid as related to the balance of consumption, generation and losses. This mismatch results from grid losses or an unbalanced dispatch. In real transmission and distribution systems, multiple generators can play a role in compensating the mismatch of active power. The approach of _distributed slack_ allows to model the allocation of the mismatch compensation to a number of buses according to pre-defined weights, which more closely resembles real-world scenarios. To describe how much active power a single element contributes to the compensation of the mismatch of active power, the parameter _slack\_weight_ is used. \n", "\n", "In pandapower, the load flow calculation with Newton-Raphson algorithm supports the functionality of distributed slack. To this end, the user can set the argument \"distributed_slack\" to True when calling the function runpp. The slack weights for ext_grid and gen elements should be provided in the slack_weight column." ] From 68ade9fe605f225856c095c3ae933cde493d0745 Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Thu, 22 Jul 2021 12:04:55 +0200 Subject: [PATCH 139/422] Update distributed_slack.ipynb --- tutorials/distributed_slack.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/distributed_slack.ipynb b/tutorials/distributed_slack.ipynb index a9b061a9e..207b048f3 100644 --- a/tutorials/distributed_slack.ipynb +++ b/tutorials/distributed_slack.ipynb @@ -12,7 +12,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "In power flow analysis, a slack bus is chosen which compensates the mismatch of active power in the grid as related to the balance of consumption, generation and losses. This mismatch results from grid losses or an unbalanced dispatch. In real transmission and distribution systems, multiple generators can play a role in compensating the mismatch of active power. The approach of _distributed slack_ allows to model the allocation of the mismatch compensation to a number of buses according to pre-defined weights, which more closely resembles real-world scenarios. To describe how much active power a single element contributes to the compensation of the mismatch of active power, the parameter _slack\_weight_ is used. \n", + "In power flow analysis, a slack bus is chosen which compensates the mismatch of active power in the grid as related to the balance of consumption, generation and losses. This mismatch results from grid losses or an unbalanced dispatch. In real transmission and distribution systems, multiple generators can play a role in compensating the mismatch of active power. The approach of _distributed slack_ allows to model the allocation of the mismatch compensation to a number of buses according to pre-defined weights, which more closely resembles real-world scenarios. To describe how much active power a single element contributes to the compensation of the mismatch of active power, the parameter _slack__weight_ is used. \n", "\n", "In pandapower, the load flow calculation with Newton-Raphson algorithm supports the functionality of distributed slack. To this end, the user can set the argument \"distributed_slack\" to True when calling the function runpp. The slack weights for ext_grid and gen elements should be provided in the slack_weight column." ] From 09c158b465e181f3f4834f6a5c495b97b1607411 Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Thu, 22 Jul 2021 12:05:23 +0200 Subject: [PATCH 140/422] Update distributed_slack.ipynb --- tutorials/distributed_slack.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/distributed_slack.ipynb b/tutorials/distributed_slack.ipynb index 207b048f3..0f3e7d0d1 100644 --- a/tutorials/distributed_slack.ipynb +++ b/tutorials/distributed_slack.ipynb @@ -12,7 +12,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "In power flow analysis, a slack bus is chosen which compensates the mismatch of active power in the grid as related to the balance of consumption, generation and losses. This mismatch results from grid losses or an unbalanced dispatch. In real transmission and distribution systems, multiple generators can play a role in compensating the mismatch of active power. The approach of _distributed slack_ allows to model the allocation of the mismatch compensation to a number of buses according to pre-defined weights, which more closely resembles real-world scenarios. To describe how much active power a single element contributes to the compensation of the mismatch of active power, the parameter _slack__weight_ is used. \n", + "In power flow analysis, a slack bus is chosen which compensates the mismatch of active power in the grid as related to the balance of consumption, generation and losses. This mismatch results from grid losses or an unbalanced dispatch. In real transmission and distribution systems, multiple generators can play a role in compensating the mismatch of active power. The approach of _distributed slack_ allows to model the allocation of the mismatch compensation to a number of buses according to pre-defined weights, which more closely resembles real-world scenarios. To describe how much active power a single element contributes to the compensation of the mismatch of active power, the parameter _slack_weight_ is used. \n", "\n", "In pandapower, the load flow calculation with Newton-Raphson algorithm supports the functionality of distributed slack. To this end, the user can set the argument \"distributed_slack\" to True when calling the function runpp. The slack weights for ext_grid and gen elements should be provided in the slack_weight column." ] From 35f6d2c9a6378e4aba4a1706f84c1c6c0d8fca2f Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Thu, 22 Jul 2021 12:06:58 +0200 Subject: [PATCH 141/422] Update distributed_slack.ipynb --- tutorials/distributed_slack.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/distributed_slack.ipynb b/tutorials/distributed_slack.ipynb index 0f3e7d0d1..fcf63ec48 100644 --- a/tutorials/distributed_slack.ipynb +++ b/tutorials/distributed_slack.ipynb @@ -12,7 +12,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "In power flow analysis, a slack bus is chosen which compensates the mismatch of active power in the grid as related to the balance of consumption, generation and losses. This mismatch results from grid losses or an unbalanced dispatch. In real transmission and distribution systems, multiple generators can play a role in compensating the mismatch of active power. The approach of _distributed slack_ allows to model the allocation of the mismatch compensation to a number of buses according to pre-defined weights, which more closely resembles real-world scenarios. To describe how much active power a single element contributes to the compensation of the mismatch of active power, the parameter _slack_weight_ is used. \n", + "In power flow analysis, a slack bus is chosen which compensates the mismatch of active power in the grid as related to the balance of consumption, generation and losses. This mismatch results from grid losses or an unbalanced dispatch. In real transmission and distribution systems, multiple generators can play a role in compensating the mismatch of active power. The approach of _distributed slack_ allows to model the allocation of the mismatch compensation to a number of buses according to pre-defined weights, which more closely resembles real-world scenarios. To describe how much active power a single element contributes to the compensation of the mismatch of active power, the parameter _slack_\__weight_ is used. \n", "\n", "In pandapower, the load flow calculation with Newton-Raphson algorithm supports the functionality of distributed slack. To this end, the user can set the argument \"distributed_slack\" to True when calling the function runpp. The slack weights for ext_grid and gen elements should be provided in the slack_weight column." ] From 7a3c52f1a18f83f85acf08e23877fe936aa0f2d2 Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Thu, 22 Jul 2021 12:08:37 +0200 Subject: [PATCH 142/422] Update distributed_slack.ipynb --- tutorials/distributed_slack.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/distributed_slack.ipynb b/tutorials/distributed_slack.ipynb index fcf63ec48..0f3e7d0d1 100644 --- a/tutorials/distributed_slack.ipynb +++ b/tutorials/distributed_slack.ipynb @@ -12,7 +12,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "In power flow analysis, a slack bus is chosen which compensates the mismatch of active power in the grid as related to the balance of consumption, generation and losses. This mismatch results from grid losses or an unbalanced dispatch. In real transmission and distribution systems, multiple generators can play a role in compensating the mismatch of active power. The approach of _distributed slack_ allows to model the allocation of the mismatch compensation to a number of buses according to pre-defined weights, which more closely resembles real-world scenarios. To describe how much active power a single element contributes to the compensation of the mismatch of active power, the parameter _slack_\__weight_ is used. \n", + "In power flow analysis, a slack bus is chosen which compensates the mismatch of active power in the grid as related to the balance of consumption, generation and losses. This mismatch results from grid losses or an unbalanced dispatch. In real transmission and distribution systems, multiple generators can play a role in compensating the mismatch of active power. The approach of _distributed slack_ allows to model the allocation of the mismatch compensation to a number of buses according to pre-defined weights, which more closely resembles real-world scenarios. To describe how much active power a single element contributes to the compensation of the mismatch of active power, the parameter _slack_weight_ is used. \n", "\n", "In pandapower, the load flow calculation with Newton-Raphson algorithm supports the functionality of distributed slack. To this end, the user can set the argument \"distributed_slack\" to True when calling the function runpp. The slack weights for ext_grid and gen elements should be provided in the slack_weight column." ] From b7f3733332f431715449c2bd75f1950445c147c0 Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Thu, 22 Jul 2021 12:10:53 +0200 Subject: [PATCH 143/422] Update distributed_slack.ipynb --- tutorials/distributed_slack.ipynb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tutorials/distributed_slack.ipynb b/tutorials/distributed_slack.ipynb index 0f3e7d0d1..cfc389db0 100644 --- a/tutorials/distributed_slack.ipynb +++ b/tutorials/distributed_slack.ipynb @@ -12,9 +12,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "In power flow analysis, a slack bus is chosen which compensates the mismatch of active power in the grid as related to the balance of consumption, generation and losses. This mismatch results from grid losses or an unbalanced dispatch. In real transmission and distribution systems, multiple generators can play a role in compensating the mismatch of active power. The approach of _distributed slack_ allows to model the allocation of the mismatch compensation to a number of buses according to pre-defined weights, which more closely resembles real-world scenarios. To describe how much active power a single element contributes to the compensation of the mismatch of active power, the parameter _slack_weight_ is used. \n", + "In power flow analysis, a slack bus is chosen which compensates the mismatch of active power in the grid as related to the balance of consumption, generation and losses. This mismatch results from grid losses or an unbalanced dispatch. In real transmission and distribution systems, multiple generators can play a role in compensating the mismatch of active power. The approach of _distributed slack_ allows to model the allocation of the mismatch compensation to a number of buses according to pre-defined weights, which more closely resembles real-world scenarios. To describe how much active power a single element contributes to the compensation of the mismatch of active power, the parameter *slack_weight* is used. \n", "\n", - "In pandapower, the load flow calculation with Newton-Raphson algorithm supports the functionality of distributed slack. To this end, the user can set the argument \"distributed_slack\" to True when calling the function runpp. The slack weights for ext_grid and gen elements should be provided in the slack_weight column." + "In pandapower, the load flow calculation with Newton-Raphson algorithm supports the functionality of distributed slack. To this end, the user can set the argument *distributed_slack* to True when calling the function runpp. The slack weights for *ext_grid*, *gen* and *xward* elements should be provided in the *slack_weight* column." ] }, { @@ -22,7 +22,7 @@ "metadata": {}, "source": [ "### How the slack weight is considered\n", - "The sum of all slack weights of the contributing elements must be 1. If the sum of the slack weights is other than 1, it is normalized to 1 before the load flow calculation. Setting the _slack_weight_ of 1 to an ext_grid element will have the same results as a load flow calculation without using the distributed slack." + "The sum of all slack weights of the contributing elements must be 1. If the sum of the slack weights is other than 1, it is normalized to 1 before the load flow calculation. Setting the slack_weight of 1 to an ext_grid element will have the same results as a load flow calculation without using the distributed slack." ] }, { From ccceae45b9f4887dc5b7cc4e9b332ae7612e8565 Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Thu, 22 Jul 2021 12:46:39 +0200 Subject: [PATCH 144/422] add merge_same_bus_generation_plants() to toolbox --- CHANGELOG.rst | 6 ++++- pandapower/test/api/test_toolbox.py | 28 ++++++++++++++++++++ pandapower/toolbox.py | 41 +++++++++++++++++++++++++++++ 3 files changed, 74 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 6b2dbc79e..a8dec168b 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,6 +1,10 @@ Change Log -- [ADDED] Added distributed slack calculation to newton-raphson load flow; new column "slack_weights" for ext_grid, gen and xward; only 1 reference bus is allowed, any further reference buses are converted to PV buses internally +- [ADDED] toolbox function merge_same_bus_generation_plants() + +[2.7.1]- 2021-07-22 +---------------------- +- [ADDED] distributed slack calculation to newton-raphson load flow; new column "slack_weights" for ext_grid, gen and xward; only 1 reference bus is allowed, any further reference buses are converted to PV buses internally [2.7.0]- 2021-07-15 ---------------------- diff --git a/pandapower/test/api/test_toolbox.py b/pandapower/test/api/test_toolbox.py index da0bc6eba..9664cbd38 100644 --- a/pandapower/test/api/test_toolbox.py +++ b/pandapower/test/api/test_toolbox.py @@ -1345,5 +1345,33 @@ def test_merge_parallel_line(): assert np.isclose(qloss_0, qloss_1) +def test_merge_same_bus_generation_plants(): + gen_elms = ["ext_grid", "gen", "sgen"] + # test net + net = nw.case24_ieee_rts() + net.gen.drop(net.gen.index[net.gen.bus == 22], inplace=True) + net.sgen["q_mvar"] = np.arange(net.sgen.shape[0]) + + dupl_buses = [0, 1, 6, 12, 14, 21, 22] + n_plants = sum([net[elm].bus.isin(dupl_buses).sum() for elm in gen_elms]) + assert n_plants > len(dupl_buses) # check that in net are plants with same buses + expected_no_of_plants = sum([net[elm].shape[0] for elm in gen_elms]) - n_plants + \ + len(dupl_buses) + + # run function + tb.merge_same_bus_generation_plants(net) + + # check results + buses = np.hstack([net[elm].bus.values for elm in gen_elms]) + assert len(buses) == len(set(buses)) # no dupl buses in gen plant dfs + n_plants = sum([net[elm].shape[0] for elm in gen_elms]) + assert n_plants == expected_no_of_plants + assert np.isclose(net.ext_grid.p_disp_mw.at[0], 95.1*2) # correct value sum (p_disp) + assert np.isclose(net.gen.p_mw.at[0], 10*2 + 76*2) # correct value sum (p_mw) + idx_sgen22 = net.sgen.index[net.sgen.bus == 22] + assert len(idx_sgen22) == 1 + assert np.isclose(net.sgen.q_mvar.at[idx_sgen22[0]], 20 + 21) # correct value sum (q_mvar) + + if __name__ == '__main__': pytest.main([__file__, "-x"]) diff --git a/pandapower/toolbox.py b/pandapower/toolbox.py index f0a1d63ec..eef2d46d5 100644 --- a/pandapower/toolbox.py +++ b/pandapower/toolbox.py @@ -2926,3 +2926,44 @@ def merge_parallel_line(net, idx): net.line.at[idx, "max_i_ka"] = i_ka1 return net + + +def merge_same_bus_generation_plants(net, gen_elms=["ext_grid", "gen", "sgen"], error=True): + """ + Merge generation plants connected to the same buses so that a maximum of one generation plants + per node remains. + Attention: gen_elms should always be given in order of slack, PV and PQ elements. + """ + # --- construct gen_df with all relevant plants data + cols = pd.Index(["bus", "vm_pu", "p_mw", "q_mvar"]) + cols_dict = {elm: cols.intersection(net[elm].columns) for elm in gen_elms} + gen_df = pd.concat([net[elm][cols_dict[elm]] for elm in gen_elms]) + gen_df["elm_type"] = np.repeat(gen_elms, [net[elm].shape[0] for elm in gen_elms]) + gen_df["includes_other_plants"] = False + gen_df.reset_index(inplace=True) + + # --- merge data and drop duplicated rows - directly in the net tables + for bus in gen_df["bus"].loc[gen_df["bus"].duplicated()].unique(): + idxs = gen_df.index[gen_df.bus == bus] + if len(gen_df.vm_pu.loc[idxs].dropna().unique()) > 1: + message = "Generation plants connected to bus %i have different vm_pu." % bus + if error: + raise ValueError(message) + else: + logger.error(message + "Only the first value is considered.") + uniq_et = gen_df["elm_type"].at[idxs[0]] + uniq_idx = gen_df.at[idxs[0], "index"] + + # sum p_mw + col = "p_mw" if uniq_et != "ext_grid" else "p_disp_mw" + net[uniq_et].at[uniq_idx, col] = gen_df.loc[idxs, "p_mw"].sum() + + # sum q_mvar (if available) + if "q_mvar" in net[uniq_et].columns: + net[uniq_et].at[uniq_idx, "q_mvar"] = gen_df.loc[idxs, "q_mvar"].sum() + + # drop duplicated elements + for elm in gen_df["elm_type"].loc[idxs[1:]].unique(): + dupl_idx_elm = gen_df.loc[gen_df.index.isin(idxs[1:]) & + (gen_df.elm_type == elm), "index"].values + net[elm].drop(dupl_idx_elm, inplace=True) From c7aa900057a794592c2599bcf5649f28bb61de45 Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Thu, 22 Jul 2021 13:08:31 +0200 Subject: [PATCH 145/422] concretize distributed slack notebook text --- tutorials/distributed_slack.ipynb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tutorials/distributed_slack.ipynb b/tutorials/distributed_slack.ipynb index cfc389db0..007bf725b 100644 --- a/tutorials/distributed_slack.ipynb +++ b/tutorials/distributed_slack.ipynb @@ -21,8 +21,8 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### How the slack weight is considered\n", - "The sum of all slack weights of the contributing elements must be 1. If the sum of the slack weights is other than 1, it is normalized to 1 before the load flow calculation. Setting the slack_weight of 1 to an ext_grid element will have the same results as a load flow calculation without using the distributed slack." + "### How the slack weight is considered\n", + "The sum of all slack weights of the contributing elements should be 1 and must be greater than 0. If the sum of the slack weights is other than 1, it is normalized to 1 before the load flow calculation. If the net has exactly one slack, e.g. an ext_grid, and only this element has a slack_weight other than 0, a load flow calculation considering distributed slack will have the same results as a load flow calculation without using the distributed slack (details in the first example below)." ] }, { @@ -31,10 +31,10 @@ "source": [ "\n", "### How the active power mismatch is attributed to the elements\n", - "The resulting active power of an element $i$ after the load flow calculation with distributed slack can be represented as follows:\n", + "The resulting active power of an element $i$ after the load flow calculation with distributed slack can be represented as follows ($ng$: number of generation plants, $nc$: number of consumptions, $nb$: number of branches):\n", "\n", "\n", - "$$P_{result,i}= P_{set,i} - (\\sum_{elm=1}^{n}P_{generation,elm} - \\sum_{elm=1}^{n}P_{consumption,elm} - \\sum_{branch=1}^{m}P_{losses,branch}) \\cdot slack\\_weight_i$$" + "$$P_{result,i}= P_{set,i} - (\\sum_{elm=1}^{ng}P_{generation,elm} - \\sum_{elm=1}^{nc}P_{consumption,elm} - \\sum_{branch=1}^{nb}P_{losses,branch}) \\cdot slack\\_weight_i$$" ] }, { From 6a8a6fe380f3c3ca58d2cb835f138107bb0a728c Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Thu, 22 Jul 2021 13:18:19 +0200 Subject: [PATCH 146/422] add_info to merge_same_bus_generation_plants() --- pandapower/toolbox.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pandapower/toolbox.py b/pandapower/toolbox.py index eef2d46d5..f259b1242 100644 --- a/pandapower/toolbox.py +++ b/pandapower/toolbox.py @@ -2928,12 +2928,17 @@ def merge_parallel_line(net, idx): return net -def merge_same_bus_generation_plants(net, gen_elms=["ext_grid", "gen", "sgen"], error=True): +def merge_same_bus_generation_plants(net, gen_elms=["ext_grid", "gen", "sgen"], error=True, + add_info=True): """ Merge generation plants connected to the same buses so that a maximum of one generation plants per node remains. Attention: gen_elms should always be given in order of slack, PV and PQ elements. """ + if add_info: + for elm in gen_elms: + net[elm]["includes_other_plants"] = False + # --- construct gen_df with all relevant plants data cols = pd.Index(["bus", "vm_pu", "p_mw", "q_mvar"]) cols_dict = {elm: cols.intersection(net[elm].columns) for elm in gen_elms} @@ -2954,6 +2959,9 @@ def merge_same_bus_generation_plants(net, gen_elms=["ext_grid", "gen", "sgen"], uniq_et = gen_df["elm_type"].at[idxs[0]] uniq_idx = gen_df.at[idxs[0], "index"] + if add_info: # add includes_other_plants information + net[uniq_et].at[uniq_idx, "includes_other_plants"] = True + # sum p_mw col = "p_mw" if uniq_et != "ext_grid" else "p_disp_mw" net[uniq_et].at[uniq_idx, col] = gen_df.loc[idxs, "p_mw"].sum() From 67e10f81302d7778b8f6cc25a35407d3fe0e232f Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Thu, 22 Jul 2021 13:19:20 +0200 Subject: [PATCH 147/422] tiny change in merge_same_bus_generation_plants() --- pandapower/toolbox.py | 1 - 1 file changed, 1 deletion(-) diff --git a/pandapower/toolbox.py b/pandapower/toolbox.py index f259b1242..4bdf5bcc6 100644 --- a/pandapower/toolbox.py +++ b/pandapower/toolbox.py @@ -2944,7 +2944,6 @@ def merge_same_bus_generation_plants(net, gen_elms=["ext_grid", "gen", "sgen"], cols_dict = {elm: cols.intersection(net[elm].columns) for elm in gen_elms} gen_df = pd.concat([net[elm][cols_dict[elm]] for elm in gen_elms]) gen_df["elm_type"] = np.repeat(gen_elms, [net[elm].shape[0] for elm in gen_elms]) - gen_df["includes_other_plants"] = False gen_df.reset_index(inplace=True) # --- merge data and drop duplicated rows - directly in the net tables From ea42240a5582c108765d72232b001269119618bf Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Thu, 22 Jul 2021 13:31:16 +0200 Subject: [PATCH 148/422] add return value to merge_same_bus_generation_plants() --- pandapower/test/api/test_toolbox.py | 15 +++++++++++++-- pandapower/toolbox.py | 6 +++++- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/pandapower/test/api/test_toolbox.py b/pandapower/test/api/test_toolbox.py index 9664cbd38..948ded429 100644 --- a/pandapower/test/api/test_toolbox.py +++ b/pandapower/test/api/test_toolbox.py @@ -1347,7 +1347,17 @@ def test_merge_parallel_line(): def test_merge_same_bus_generation_plants(): gen_elms = ["ext_grid", "gen", "sgen"] - # test net + + # --- test with case9 + net = nw.case9() + buses = np.hstack([net[elm].bus.values for elm in gen_elms]) + has_dupls = len(buses) > len(set(buses)) + + something_merged = tb.merge_same_bus_generation_plants(net) + + assert has_dupls == something_merged + + # --- test with case24_ieee_rts net = nw.case24_ieee_rts() net.gen.drop(net.gen.index[net.gen.bus == 22], inplace=True) net.sgen["q_mvar"] = np.arange(net.sgen.shape[0]) @@ -1359,9 +1369,10 @@ def test_merge_same_bus_generation_plants(): len(dupl_buses) # run function - tb.merge_same_bus_generation_plants(net) + something_merged = tb.merge_same_bus_generation_plants(net) # check results + assert something_merged buses = np.hstack([net[elm].bus.values for elm in gen_elms]) assert len(buses) == len(set(buses)) # no dupl buses in gen plant dfs n_plants = sum([net[elm].shape[0] for elm in gen_elms]) diff --git a/pandapower/toolbox.py b/pandapower/toolbox.py index 4bdf5bcc6..b7443abf9 100644 --- a/pandapower/toolbox.py +++ b/pandapower/toolbox.py @@ -2947,6 +2947,7 @@ def merge_same_bus_generation_plants(net, gen_elms=["ext_grid", "gen", "sgen"], gen_df.reset_index(inplace=True) # --- merge data and drop duplicated rows - directly in the net tables + something_merged = False for bus in gen_df["bus"].loc[gen_df["bus"].duplicated()].unique(): idxs = gen_df.index[gen_df.bus == bus] if len(gen_df.vm_pu.loc[idxs].dropna().unique()) > 1: @@ -2954,7 +2955,7 @@ def merge_same_bus_generation_plants(net, gen_elms=["ext_grid", "gen", "sgen"], if error: raise ValueError(message) else: - logger.error(message + "Only the first value is considered.") + logger.error(message + " Only the first value is considered.") uniq_et = gen_df["elm_type"].at[idxs[0]] uniq_idx = gen_df.at[idxs[0], "index"] @@ -2974,3 +2975,6 @@ def merge_same_bus_generation_plants(net, gen_elms=["ext_grid", "gen", "sgen"], dupl_idx_elm = gen_df.loc[gen_df.index.isin(idxs[1:]) & (gen_df.elm_type == elm), "index"].values net[elm].drop(dupl_idx_elm, inplace=True) + + something_merged |= True + return something_merged From c7efd8397a5e37932994d8f0a1e0beacf304310b Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Thu, 22 Jul 2021 13:55:41 +0200 Subject: [PATCH 149/422] Update diagnostic.rst Correcting the documentation to match the code (FIX https://github.com/e2nIEE/pandapower/issues/1240) --- doc/powerflow/diagnostic.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/powerflow/diagnostic.rst b/doc/powerflow/diagnostic.rst index ee731c838..8ed62aed3 100644 --- a/doc/powerflow/diagnostic.rst +++ b/doc/powerflow/diagnostic.rst @@ -18,7 +18,7 @@ The diagnostic function includes the following checks: - invalid values (e.g. negative element indices) - check, if at least one external grid exists - check, if there are buses with more than one gen and/or ext_grid -- overload: tries to run a power flow calculation with loads scaled down to 10% +- overload: tries to run a power flow calculation with loads scaled down to 0.1 % - switch_configuration: tries to run a power flow calculation with all switches closed - inconsistent voltages: checks, if there are lines or switches that connect different voltage levels - lines with impedance zero From cae904a08e293b6b3f706f37da7bd64e8bb853c2 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Fri, 23 Jul 2021 10:28:06 +0200 Subject: [PATCH 150/422] add 2 subfunctions --- pandapower/opf/run_powermodels.py | 36 +++++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/pandapower/opf/run_powermodels.py b/pandapower/opf/run_powermodels.py index ae25fd3ae..10c8fafc5 100644 --- a/pandapower/opf/run_powermodels.py +++ b/pandapower/opf/run_powermodels.py @@ -40,9 +40,31 @@ def _runpm(net, delete_buffer_file=True, pm_file_path = None): # pragma: no cov # delete buffer file after calculation os.remove(buffer_file) +# def _add_julia_package(): + # Pkg.add("PandaModels") + # Pkg.build("PandaModels") + # Pkg.update() + # Pkg.resolve() + +# def _activate_dev_mode() + # if str(type(Base.find_package("PandaModels"))) == "": + # print("PandaModels is not exist") + # Pkg.Registry.update() + # Pkg.add(url = "https://github.com/e2nIEE/PandaModels.jl") + # # Pkg.build() + # Pkg.resolve() + # Pkg.develop("PandaModels") + # Pkg.build() + # Pkg.resolve() + # print("add PandaModels") + # Pkg.activate("PandaModels") + # Pkg.instantiate() + # Pkg.resolve() + # print("activate PandaModels") def _call_powermodels(buffer_file, julia_file): # pragma: no cover +# def _call_powermodels(buffer_file, julia_file, pkg = False, dev = False): # pragma: no cover try: import julia from julia import Main @@ -56,11 +78,20 @@ def _call_powermodels(buffer_file, julia_file): # pragma: no cover except: raise UserWarning( "Could not connect to julia, please check that Julia is installed and pyjulia is correctly configured") + + # if Pkg: + # _add_julia_package() + + + # Pkg.rm("PandaModels") # Pkg.resolve() # import two julia scripts and runs powermodels julia_file + # elif dev: + # _activate_dev_mode() + ############################################################################# if str(type(Base.find_package("PandaModels"))) == "": print("PandaModels is not exist") Pkg.Registry.update() @@ -73,7 +104,7 @@ def _call_powermodels(buffer_file, julia_file): # pragma: no cover print("add PandaModels") - print(Base.find_package("PandaModels")) + # print(Base.find_package("PandaModels")) # Pkg_path = Base.find_package("PandaModels").split(".jl")[0] # try: @@ -89,7 +120,8 @@ def _call_powermodels(buffer_file, julia_file): # pragma: no cover Pkg.instantiate() Pkg.resolve() print("activate PandaModels") - + ############################################################################# + try: Main.using("PandaModels") print("using PandaModels") From dc87defb738571055920f0cbeec18ab97957c3dc Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Fri, 23 Jul 2021 15:51:37 +0200 Subject: [PATCH 151/422] fix pandas deprecation error in select_subnet() --- pandapower/toolbox.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/pandapower/toolbox.py b/pandapower/toolbox.py index b7443abf9..b0691fa0d 100644 --- a/pandapower/toolbox.py +++ b/pandapower/toolbox.py @@ -1531,15 +1531,15 @@ def select_subnet(net, buses, include_switch_buses=False, include_results=False, net[table[4:]].shape[0]: continue elif table == "res_bus": - p2[table] = net[table].loc[buses] + p2[table] = net[table].loc[buses.intersection(net[table].index)] else: - p2[table] = net[table].loc[p2[table[4:]].index] + p2[table] = net[table].loc[p2[table[4:]].index.intersection(net[table].index)] if "bus_geodata" in net: - p2["bus_geodata"] = net.bus_geodata.loc[p2.bus.index[p2.bus.index.isin( - net.bus_geodata.index)]] + p2["bus_geodata"] = net.bus_geodata.loc[p2.bus.index.intersection( + net.bus_geodata.index)] if "line_geodata" in net: - p2["line_geodata"] = net.line_geodata.loc[p2.line.index[p2.line.index.isin( - net.line_geodata.index)]] + p2["line_geodata"] = net.line_geodata.loc[p2.line.index.intersection( + net.line_geodata.index)] # switches p2["switch"] = net.switch.loc[ @@ -2937,7 +2937,10 @@ def merge_same_bus_generation_plants(net, gen_elms=["ext_grid", "gen", "sgen"], """ if add_info: for elm in gen_elms: - net[elm]["includes_other_plants"] = False + # adding column 'includes_other_plants' if missing or overwriting if its no bool column + if "includes_other_plants" not in net[elm].columns or net[elm][ + "includes_other_plants"].dtype != bool: + net[elm]["includes_other_plants"] = False # --- construct gen_df with all relevant plants data cols = pd.Index(["bus", "vm_pu", "p_mw", "q_mvar"]) From 7419ad7cb273104770b73183f9eefbb68b812d3e Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Wed, 28 Jul 2021 12:11:05 +0200 Subject: [PATCH 152/422] add limit columns and docs to merge_same_bus_generation_plants() --- pandapower/test/api/test_toolbox.py | 14 +++++++++++++ pandapower/toolbox.py | 31 +++++++++++++++++++++++++---- 2 files changed, 41 insertions(+), 4 deletions(-) diff --git a/pandapower/test/api/test_toolbox.py b/pandapower/test/api/test_toolbox.py index 948ded429..9e3884b51 100644 --- a/pandapower/test/api/test_toolbox.py +++ b/pandapower/test/api/test_toolbox.py @@ -1359,9 +1359,17 @@ def test_merge_same_bus_generation_plants(): # --- test with case24_ieee_rts net = nw.case24_ieee_rts() + + # manipulate net for different functionality checks + # 1) q_mvar should be summed which is only possible if no gen or ext_grid has the same bus net.gen.drop(net.gen.index[net.gen.bus == 22], inplace=True) net.sgen["q_mvar"] = np.arange(net.sgen.shape[0]) + # 2) remove limit columns or values to check whether merge_same_bus_generation_plants() can + # handle that + del net.sgen["max_q_mvar"] + net.sgen.min_p_mw.at[1] = np.nan + # prepare expatation values dupl_buses = [0, 1, 6, 12, 14, 21, 22] n_plants = sum([net[elm].bus.isin(dupl_buses).sum() for elm in gen_elms]) assert n_plants > len(dupl_buses) # check that in net are plants with same buses @@ -1379,6 +1387,12 @@ def test_merge_same_bus_generation_plants(): assert n_plants == expected_no_of_plants assert np.isclose(net.ext_grid.p_disp_mw.at[0], 95.1*2) # correct value sum (p_disp) assert np.isclose(net.gen.p_mw.at[0], 10*2 + 76*2) # correct value sum (p_mw) + assert np.isclose(net.gen.min_p_mw.at[0], 16*2 + 15.2) # correct value sum (min_p_mw) ( + # 1x 15.2 has been removed above) + assert np.isclose(net.gen.max_p_mw.at[0], 20*2 + 76*2) # correct value sum (max_p_mw) + assert np.isclose(net.gen.min_q_mvar.at[8], -10 - 16*5) # correct value sum (min_q_mvar) + assert np.isclose(net.gen.max_q_mvar.at[8], 16) # correct value sum (max_q_mvar) ( + # the sgen max_q_mvar column has been removed above) idx_sgen22 = net.sgen.index[net.sgen.bus == 22] assert len(idx_sgen22) == 1 assert np.isclose(net.sgen.q_mvar.at[idx_sgen22[0]], 20 + 21) # correct value sum (q_mvar) diff --git a/pandapower/toolbox.py b/pandapower/toolbox.py index b0691fa0d..8b0344c68 100644 --- a/pandapower/toolbox.py +++ b/pandapower/toolbox.py @@ -2928,12 +2928,27 @@ def merge_parallel_line(net, idx): return net -def merge_same_bus_generation_plants(net, gen_elms=["ext_grid", "gen", "sgen"], error=True, - add_info=True): +def merge_same_bus_generation_plants(net, add_info=True, error=True, + gen_elms=["ext_grid", "gen", "sgen"]): """ Merge generation plants connected to the same buses so that a maximum of one generation plants per node remains. - Attention: gen_elms should always be given in order of slack, PV and PQ elements. + + ATTENTION: + * gen_elms should always be given in order of slack (1.), PV (2.) and PQ (3.) elements. + + INPUT: + **net** - pandapower net + + OPTIONAL: + **add_info** (bool, True) - If True, the column 'includes_other_plants' is added to the + elements dataframes. This column informs about which lines are the result of a merge of + generation plants. + + **error** (bool, True) - If True, raises an Error, if vm_pu values differ with same buses. + + **gen_elms** (list, ["ext_grid", "gen", "sgen"]) - list of elements to be merged by same + buses. Should be in order of slack (1.), PV (2.) and PQ (3.) elements. """ if add_info: for elm in gen_elms: @@ -2943,7 +2958,8 @@ def merge_same_bus_generation_plants(net, gen_elms=["ext_grid", "gen", "sgen"], net[elm]["includes_other_plants"] = False # --- construct gen_df with all relevant plants data - cols = pd.Index(["bus", "vm_pu", "p_mw", "q_mvar"]) + limit_cols = ["min_p_mw", "max_p_mw", "min_q_mvar", "max_q_mvar"] + cols = pd.Index(["bus", "vm_pu", "p_mw", "q_mvar"]+limit_cols) cols_dict = {elm: cols.intersection(net[elm].columns) for elm in gen_elms} gen_df = pd.concat([net[elm][cols_dict[elm]] for elm in gen_elms]) gen_df["elm_type"] = np.repeat(gen_elms, [net[elm].shape[0] for elm in gen_elms]) @@ -2973,6 +2989,13 @@ def merge_same_bus_generation_plants(net, gen_elms=["ext_grid", "gen", "sgen"], if "q_mvar" in net[uniq_et].columns: net[uniq_et].at[uniq_idx, "q_mvar"] = gen_df.loc[idxs, "q_mvar"].sum() + # sum limits + for col in limit_cols: + if col in gen_df.columns and not gen_df.loc[idxs, col].isnull().all(): + if col not in net[uniq_et].columns: + net[uniq_et][col] = np.nan + net[uniq_et].at[uniq_idx, col] = gen_df.loc[idxs, col].sum() + # drop duplicated elements for elm in gen_df["elm_type"].loc[idxs[1:]].unique(): dupl_idx_elm = gen_df.loc[gen_df.index.isin(idxs[1:]) & From f73776d90b376231f8eabb95134837f843697855 Mon Sep 17 00:00:00 2001 From: Zhenqi Wang Date: Fri, 30 Jul 2021 14:08:22 +0200 Subject: [PATCH 153/422] Fixing bug in automatically identifying power_station_units (#1307) * Include test if no ortools available and fixed styling * Update test * update * Always import linprog * Fixed equation in sc doc * Update parameter docs * update in doc * Bug fixing in automatically identifying power station units * Update to avoid warning * Bug fixing --- doc/elements/trafo_par.csv | 4 ++-- pandapower/shortcircuit/ppc_conversion.py | 3 ++- pandapower/shortcircuit/toolbox.py | 9 +++++---- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/doc/elements/trafo_par.csv b/doc/elements/trafo_par.csv index 682a3677f..cc7cdffa7 100644 --- a/doc/elements/trafo_par.csv +++ b/doc/elements/trafo_par.csv @@ -31,5 +31,5 @@ parallel;int;:math:`>` 0;number of parallel transformers max_loading_percent**;float;:math:`>` 0;Maximum loading of the transformer with respect to sn_mva and its corresponding current at 1.0 p.u. df;float;1 :math:`\geq` df :math:`>` 0;derating factor: maximal current of transformer in relation to nominal current of transformer (from 0 to 1) in_service*;boolean;True / False;specifies if the transformer is in service -oltc***;boolean;True / False; specifies if the transformer has an OLTC -power_station_unit***;boolean;True / False; specifies if the transformer is part of a power_station_unit +oltc*;boolean;True / False; specifies if the transformer has an OLTC (short-circuit relevant) +power_station_unit*;boolean;True / False; specifies if the transformer is part of a power_station_unit (short-circuit relevant). diff --git a/pandapower/shortcircuit/ppc_conversion.py b/pandapower/shortcircuit/ppc_conversion.py index dcddca629..fb6133b97 100644 --- a/pandapower/shortcircuit/ppc_conversion.py +++ b/pandapower/shortcircuit/ppc_conversion.py @@ -108,7 +108,8 @@ def _add_gen_sc_z_kg_ks(net, ppc): # Set to zero to avoid nan pg_percent = np.nan_to_num(gen.pg_percent.values) vn_net = net.bus.loc[gen_buses, "vn_kv"].values - sin_phi_gen = np.sqrt(1 - gen.cos_phi.values**2) + # Avoid warning by slight zero crossing caused + sin_phi_gen = np.sqrt(np.clip(1 - gen.cos_phi.values**2, 0, None)) # TODO: Check which is correct # gen_baseZ = (vn_net ** 2 / ppc["baseMVA"]) diff --git a/pandapower/shortcircuit/toolbox.py b/pandapower/shortcircuit/toolbox.py index 4f8671745..e7637a427 100644 --- a/pandapower/shortcircuit/toolbox.py +++ b/pandapower/shortcircuit/toolbox.py @@ -42,7 +42,7 @@ def detect_power_station_unit(net, mode="auto", net.gen["power_station_trafo"] = np.nan required_gen = net.gen.loc[net.bus.loc[net.gen.bus.values, "vn_kv"].values < max_gen_voltage_kv,:] - gen_bus = required_gen.loc[:, "bus"].values + required_gen_bus = required_gen.loc[:, "bus"].values if mode.lower() == "auto": required_trafo = net.trafo.loc[net.bus.loc[net.trafo.lv_bus.values, "vn_kv"].values < max_gen_voltage_kv, :] @@ -67,14 +67,15 @@ def detect_power_station_unit(net, mode="auto", bus_dist = pd.Series(nx.single_source_dijkstra_path_length(g, t_lv_bus, weight='weight')) connected_bus_at_lv_side = bus_dist[bus_dist < max_distance_km].index.values - gen_bus_at_lv_side = np.intersect1d(connected_bus_at_lv_side, gen_bus) + gen_bus_at_lv_side = np.intersect1d(connected_bus_at_lv_side, required_gen_bus) if len(gen_bus_at_lv_side) == 1: # Check parallel trafo if not len(np.intersect1d(connected_bus_at_lv_side, trafo_lv_bus)) == 1: raise UserWarning("Failure in power station units detection! Parallel trafos on generator detected!") - if np.in1d(net.gen.bus.values, gen_bus_at_lv_side).sum() > 1: - raise UserWarning("More than 1 gen detected at the lv side of a power station trafo") + if np.in1d(required_gen_bus, gen_bus_at_lv_side).sum() > 1: + logger.info("More than 1 gen detected at the lv side of a power station trafo! Will not be considered as power station unit") + continue net.gen.loc[np.in1d(net.gen.bus.values, gen_bus_at_lv_side), "power_station_trafo"] = t_ix From 59ace2a068180b306bb31b62bdb66a540dc8748b Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Mon, 2 Aug 2021 13:42:56 +0200 Subject: [PATCH 154/422] checkout --- pandapower/converter/powermodels/to_pm.py | 107 +--------------------- pandapower/opf/run_powermodels.py | 47 ---------- pandapower/runpm.py | 72 ++------------- 3 files changed, 13 insertions(+), 213 deletions(-) diff --git a/pandapower/converter/powermodels/to_pm.py b/pandapower/converter/powermodels/to_pm.py index 2110e8697..1abd9cde0 100644 --- a/pandapower/converter/powermodels/to_pm.py +++ b/pandapower/converter/powermodels/to_pm.py @@ -4,7 +4,7 @@ import tempfile from os import remove from os.path import isfile -import pathlib + import numpy as np import pandas as pd @@ -29,33 +29,21 @@ def convert_pp_to_pm(net, pm_file_path=None, correct_pm_network_data=True, calculate_voltage_angles=True, ac=True, trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, pp_to_pm_callback=None, pm_model="ACPPowerModel", pm_solver="ipopt", - pm_mip_solver="cbc", pm_nl_solver="ipopt", opf_flow_lim = "S", pm_log_level=0, tol=1e-8): + pm_mip_solver="cbc", pm_nl_solver="ipopt", opf_flow_lim = "S"): """ Converts a pandapower net to a PowerModels.jl datastructure and saves it to a json file - INPUT: - **net** - pandapower net - OPTIONAL: **pm_file_path** (str, None) - file path to *.json file to store pm data to - **correct_pm_network_data** (bool, True) - correct some input data (e.g. angles, p.u. conversion) - **delta** (float, 1e-8) - (small) offset to set for "hard" OPF limits. - **pp_to_pm_callback** (function, None) - callback function to add data to the PowerModels data structure - **pm_model** (str, "ACPPowerModel") - model to use. Default is AC model - **pm_solver** (str, "ipopt") - default solver to use. - **pm_nl_solver** (str, "ipopt") - default nonlinear solver to use. - **pm_mip_solver** (str, "cbc") - default mip solver to use. - **correct_pm_network_data** (bool, True) - checks if network data is correct. If not tries to correct it - Returns ------- **pm** (json str) - PowerModels.jl data structure @@ -71,7 +59,7 @@ def convert_pp_to_pm(net, pm_file_path=None, correct_pm_network_data=True, calcu _add_opf_options(net, trafo_loading='power', ac=ac, init="flat", numba=True, pp_to_pm_callback=pp_to_pm_callback, pm_solver=pm_solver, pm_model=pm_model, correct_pm_network_data=correct_pm_network_data, pm_mip_solver=pm_mip_solver, - pm_nl_solver=pm_nl_solver, opf_flow_lim=opf_flow_lim, pm_log_level=pm_log_level) + pm_nl_solver=pm_nl_solver, opf_flow_lim=opf_flow_lim) net, pm, ppc, ppci = convert_to_pm_structure(net) buffer_file = dump_pm_json(pm, pm_file_path) @@ -96,6 +84,7 @@ def convert_to_pm_structure(net, opf_flow_lim = "S"): net._pm = pm return net, pm, ppc, ppci + def dump_pm_json(pm, buffer_file=None): # dump pm dict to buffer_file (*.json) if buffer_file is None: @@ -108,22 +97,6 @@ def dump_pm_json(pm, buffer_file=None): json.dump(pm, outfile) return buffer_file -# def dump_pm_json(pm, buffer_file=None): -# # dump pm dict to buffer_file (*.json) -# if buffer_file is None: -# # if no buffer file is provided a random file name is generated -# temp_name = next(tempfile._get_candidate_names()) -# buffer_file = os.path.join(tempfile.gettempdir(), "pp_to_pm_" + temp_name + ".json") - -# else: -# temp_name = None - -# logger.debug("writing PowerModels data structure to %s" % buffer_file) - -# with open(buffer_file, 'w') as outfile: -# json.dump(pm, outfile) -# return buffer_file, temp_name - def _pp_element_to_pm(net, pm, element, pd_bus, qd_bus, load_idx): bus_lookup = net._pd2ppc_lookups["bus"] @@ -368,7 +341,6 @@ def add_pm_options(pm, net): pm["pm_nl_solver"] = net._options["pm_nl_solver"] if "pm_nl_solver" in net._options else "ipopt" pm["pm_model"] = net._options["pm_model"] if "pm_model" in net._options else "DCPPowerModel" pm["pm_log_level"] = net._options["pm_log_level"] if "pm_log_level" in net._options else 0 - pm["tol"] = net._options["tol"] if "tol" in net._options else 1e-8 if "pm_time_limits" in net._options and isinstance(net._options["pm_time_limits"], dict): # write time limits to power models data structure @@ -397,16 +369,13 @@ def build_ne_branch(net, ppc): def init_ne_line(net, new_line_index, construction_costs=None): """ init function for new line dataframe, which specifies the possible new lines being built by power models tnep opt - Parameters ---------- net - pp net new_line_index (list) - indices of new lines. These are copied to the new dataframe net["ne_line"] from net["line"] construction_costs (list, 0.) - costs of newly constructed lines - Returns ------- - """ # init dataframe net["ne_line"] = net["line"].loc[new_line_index, :] @@ -416,70 +385,4 @@ def init_ne_line(net, new_line_index, construction_costs=None): # set in service, but only in ne line dataframe net["ne_line"].loc[new_line_index, "in_service"] = True # init res_ne_line to save built status afterwards - net["res_ne_line"] = pd.DataFrame(data=0, index=new_line_index, columns=["built"], dtype=int) - - - -def convert_timeseries_to_multinet(net, profiles, buffer_file, temp_name): - pd2pm_lookup = net._pd2pm_lookups - - # gen_index = list() - load_p_index = list() - load_q_index = list() - n_ts = None - - for key, val in profiles.items(): - n_ts = val.shape[0] - element = key[0] - el_lookup = pd2pm_lookup[element] - pm_index = el_lookup[el_lookup >= 0] - # if element == "gen": - # gen_index.extend(list(pm_index)) - # else: - if key[1] == "q_mvar": - load_q_index.extend(list(pm_index)) - else: - load_p_index.extend(list(pm_index)) - # controllable = element + "_controllable" - # if controllable in pd2pm_lookup and key[1] == "p_mw": - # el_lookup = pd2pm_lookup[controllable] - # pm_index = el_lookup[el_lookup >= 0] - # gen_index.extend(list(pm_index)) - if n_ts is None: - raise ValueError("No time series available") - - load_p = pd.DataFrame(0., index = load_p_index, columns = range(n_ts)) - load_q = pd.DataFrame(0., index = load_q_index, columns = range(n_ts)) - # gen_p = pd.DataFrame(0., index = gen_index, columns = range(n_ts)) - - for key, val in profiles.items(): - element = key[0] - el_lookup = pd2pm_lookup[element] - pm_index = el_lookup[el_lookup >= 0] - array_index = np.where([el_lookup >= 0])[1] - # ts = -val.values[:, array_index].T if "gen" in element else val.values[:, array_index].T - ts = val.values[:, array_index].T - # if element == "gen": - # gen_p.loc[pm_index,:] = ts - # else: - if key[1] == "q_mvar": - load_q.loc[pm_index,:] = ts - else: - load_p.loc[pm_index,:] = ts - - # controllable = element + "_controllable" - # if controllable in pd2pm_lookup and key[1] == "p_mw": - # el_lookup = pd2pm_lookup[controllable] - # pm_index = el_lookup[el_lookup >= 0] - # array_index = np.where([el_lookup >= 0])[1] - # gen_p.loc[pm_index, :] = val.values[:, array_index].T - - # for file, df in zip(["load_p", "load_q", "gen_p"], [load_p, load_q, gen_p]): - for file, df in zip(["load_p", "load_q"], [load_p, load_q]): - if not df.empty: - pm_file = pathlib.Path(tempfile.gettempdir(), temp_name + "_" + file + ".json") - df.to_json(pm_file, orient="index") - buffer_file[file] = str(pm_file) - return buffer_file - - + net["res_ne_line"] = pd.DataFrame(data=0, index=new_line_index, columns=["built"], dtype=int) \ No newline at end of file diff --git a/pandapower/opf/run_powermodels.py b/pandapower/opf/run_powermodels.py index cadf5855d..26e678175 100644 --- a/pandapower/opf/run_powermodels.py +++ b/pandapower/opf/run_powermodels.py @@ -36,53 +36,6 @@ def _runpm(net, delete_buffer_file=True, pm_file_path = None): # pragma: no cov # delete buffer file after calculation os.remove(buffer_file) - -# def _runpm(net, delete_buffer_file=True, pm_file_path = None): # pragma: no cover -# """ -# Converts the pandapower net to a pm json file, saves it to disk, runs a PowerModels.jl julia function and reads -# the results back to the pandapower net - -# INPUT -# ---------- -# **net** - pandapower net - -# OPTIONAL -# ---------- -# **delete_buffer_file** (bool, True) - deletes the pm buffer json file if True. - - -# """ -# # convert pandapower to power models file -> this is done in python -# net, pm, ppc, ppci = convert_to_pm_structure(net) -# # call optinal callback function -# if net._options["pp_to_pm_callback"] is not None: -# net._options["pp_to_pm_callback"](net, ppci, pm) -# # writes pm json to disk, which is loaded afterwards in julia -# if net._options.has_key(multinet): -# buffer_file = dict() -# buffer_file["pm"], temp_name = dump_pm_json(pm) -# if net._options.has_key("profiles"): -# if profiles is None: -# if net._options.has_key("n_time_steps"): -# steps = net._options["n_time_steps"] -# else: -# steps = None -# profiles = profiles_from_ds(net, num_steps=steps) -# else: -# profiles = net._options["profiles"] -# buffer_file = convert_timeseries_to_multinet(net, profiles, buffer_file, temp_name) -# else: -# buffer_file, temp_name = dump_pm_json(pm) - -# # run power models optimization in julia -# result_pm = _call_powermodels(buffer_file, net._options["julia_file"]) -# # read results and write back to net -# read_pm_results_to_net(net, ppc, ppci, result_pm) -# if pm_file_path is None and delete_buffer_file: -# # delete buffer file after calculation -# os.remove(buffer_file) - - def _call_powermodels(buffer_file, julia_file): # pragma: no cover # checks if julia works, otherwise raises an error try: diff --git a/pandapower/runpm.py b/pandapower/runpm.py index 0d6e37087..31dcdf378 100644 --- a/pandapower/runpm.py +++ b/pandapower/runpm.py @@ -304,19 +304,19 @@ def runpm_storage_opf(net, calculate_voltage_angles=True, **pm_time_limits** (Dict, None) - Time limits in seconds for power models interface. To be set as a dict like {"pm_time_limit": 300., "pm_nl_time_limit": 300., "pm_mip_time_limit": 300.} **pm_log_level** (int, 0) - solver log level in power models - """ + """ julia_file = os.path.join(pp_dir, "opf", 'run_powermodels_storage.jl') ac = True if "DC" not in pm_model else False net._options = {} _add_ppc_options(net, calculate_voltage_angles=calculate_voltage_angles, - trafo_model=trafo_model, check_connectivity=check_connectivity, - mode="opf", switch_rx_ratio=2, init_vm_pu="flat", init_va_degree="flat", - enforce_q_lims=True, recycle=dict(_is_elements=False, ppc=False, Ybus=False), - voltage_depend_loads=False, delta=delta, trafo3w_losses=trafo3w_losses) + trafo_model=trafo_model, check_connectivity=check_connectivity, + mode="opf", switch_rx_ratio=2, init_vm_pu="flat", init_va_degree="flat", + enforce_q_lims=True, recycle=dict(_is_elements=False, ppc=False, Ybus=False), + voltage_depend_loads=False, delta=delta, trafo3w_losses=trafo3w_losses) _add_opf_options(net, trafo_loading='power', ac=ac, init="flat", numba=True, - pp_to_pm_callback=add_storage_opf_settings, julia_file=julia_file, - correct_pm_network_data=correct_pm_network_data, pm_model=pm_model, pm_time_limits=pm_time_limits, - pm_log_level=pm_log_level, opf_flow_lim=opf_flow_lim) + pp_to_pm_callback=add_storage_opf_settings, julia_file=julia_file, + correct_pm_network_data=correct_pm_network_data, pm_model=pm_model, pm_time_limits=pm_time_limits, + pm_log_level=pm_log_level, opf_flow_lim=opf_flow_lim) net._options["n_time_steps"] = n_timesteps net._options["time_elapsed"] = time_elapsed @@ -332,62 +332,6 @@ def runpm_storage_opf(net, calculate_voltage_angles=True, storage_results = read_pm_storage_results(net) return storage_results -# def runpm_storage_opf(net, calculate_voltage_angles=True, correct_pm_network_data=True, -# trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, -# n_timesteps=24, time_elapsed=1.0, -# charge_efficiency=1.0, discharge_efficiency=1.0, -# standby_loss=1e-8, p_loss=1e-8, q_loss=1e-8, -# pm_solver="ipopt", pm_mip_solver="cbc", pm_nl_solver="ipopt", -# pm_model="DCPPowerModel", pm_time_limits=None, pm_log_level=0, -# delete_buffer_file=True, pm_file_path = None, opf_flow_lim="S", -# profiles = None, **kwargs): # pragma: no cover -# """ -# Runs a non-linear power system optimization with storages and time series using PowerModels.jl. - - -# INPUT: -# **net** - The pandapower format network - -# OPTIONAL: -# **n_timesteps** (int, 24) - number of time steps to optimize - -# **time_elapsed** (float, 1.0) - time elapsed between time steps (1.0 = 1 hour) - -# **pm_time_limits** (Dict, None) - Time limits in seconds for power models interface. To be set as a dict like -# {"pm_time_limit": 300., "pm_nl_time_limit": 300., "pm_mip_time_limit": 300.} - -# **pm_log_level** (int, 0) - solver log level in power models -# """ -# julia_file = os.path.join(pp_dir, "opf", 'run_powermodels_storage.jl') -# ac = True if "DC" not in pm_model else False -# net._options = {} -# _add_ppc_options(net, calculate_voltage_angles=calculate_voltage_angles, -# trafo_model=trafo_model, check_connectivity=check_connectivity, -# mode="opf", switch_rx_ratio=2, init_vm_pu="flat", init_va_degree="flat", -# enforce_q_lims=True, recycle=dict(_is_elements=False, ppc=False, Ybus=False), -# voltage_depend_loads=False, delta=delta, trafo3w_losses=trafo3w_losses) -# _add_opf_options(net, trafo_loading='power', ac=ac, init="flat", numba=True, -# pp_to_pm_callback=add_storage_opf_settings, julia_file=julia_file, -# correct_pm_network_data=correct_pm_network_data, pm_model=pm_model, pm_time_limits=pm_time_limits, -# pm_log_level=pm_log_level, opf_flow_lim=opf_flow_lim) - -# net._options["n_time_steps"] = n_timesteps -# net._options["time_elapsed"] = time_elapsed - -# net._options["charge_efficiency"] = charge_efficiency -# net._options["discharge_efficiency"] = discharge_efficiency - -# net._options["standby_loss"] = standby_loss -# net._options["p_loss"] = p_loss -# net._options["q_loss"] = q_loss - -# net._options["multinet"] = True -# net._options["profiles"] = profiles - -# _runpm(net) -# storage_results = read_pm_storage_results(net) -# return storage_results - From 1becea00681301e7f0418d228897dc7df71e1d42 Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Mon, 2 Aug 2021 18:48:38 +0200 Subject: [PATCH 155/422] add motor to bus_elements list --- pandapower/toolbox.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pandapower/toolbox.py b/pandapower/toolbox.py index 8b0344c68..4943c7ec4 100644 --- a/pandapower/toolbox.py +++ b/pandapower/toolbox.py @@ -42,7 +42,8 @@ def element_bus_tuples(bus_elements=True, branch_elements=True, res_elements=Fal if bus_elements: ebts.update([("sgen", "bus"), ("load", "bus"), ("ext_grid", "bus"), ("gen", "bus"), ("ward", "bus"), ("xward", "bus"), ("shunt", "bus"), - ("storage", "bus"), ("asymmetric_load", "bus"), ("asymmetric_sgen", "bus")]) + ("storage", "bus"), ("asymmetric_load", "bus"), ("asymmetric_sgen", "bus"), + ("motor", "bus")]) if branch_elements: ebts.update([("line", "from_bus"), ("line", "to_bus"), ("impedance", "from_bus"), ("switch", "bus"), ("impedance", "to_bus"), ("trafo", "hv_bus"), @@ -2519,13 +2520,12 @@ def get_connected_elements(net, element, buses, respect_switches=True, respect_i element_table = net.impedance connected_elements = set(net["impedance"].index[(net.impedance.from_bus.isin(buses)) | (net.impedance.to_bus.isin(buses))]) - elif element in ["gen", "ext_grid", "xward", "shunt", "ward", "sgen", "load", "storage", - "asymmetric_load", "asymmetric_sgen"]: - element_table = net[element] - connected_elements = set(element_table.index[(element_table.bus.isin(buses))]) elif element == "measurement": connected_elements = set(net.measurement.index[(net.measurement.element.isin(buses)) | (net.measurement.element_type == "bus")]) + elif element in pp_elements(bus=False, branch_elements=False): + element_table = net[element] + connected_elements = set(element_table.index[(element_table.bus.isin(buses))]) elif element in ['_equiv_trafo3w']: # ignore '_equiv_trafo3w' return {} From af1b2fa2dcf5effea51370cbe8a205d0acc5fb41 Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Mon, 2 Aug 2021 18:48:49 +0200 Subject: [PATCH 156/422] PeP8 --- pandapower/create.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/pandapower/create.py b/pandapower/create.py index 510e28aa2..4aab77367 100644 --- a/pandapower/create.py +++ b/pandapower/create.py @@ -1377,7 +1377,8 @@ def create_gen(net, bus, p_mw, vm_pu=1., sn_mva=nan, name=None, index=None, max_ False: p_mw and vm_pu setpoints are enforced and *limits are ignored*. defaults to True if "controllable" column exists in DataFrame - **slack_weight** (float, default 0.0) - Contribution factor for distributed slack power flow calculation (active power balancing) + **slack_weight** (float, default 0.0) - Contribution factor for distributed slack power + flow calculation (active power balancing) powerflow @@ -1389,9 +1390,11 @@ def create_gen(net, bus, p_mw, vm_pu=1., sn_mva=nan, name=None, index=None, max_ **cos_phi** (float, NaN) - Rated cosine phi of the generator for short-circuit calculation - **pg_percent** (float, NaN) - Rated pg (voltage control range) of the generator for short-circuit calculation + **pg_percent** (float, NaN) - Rated pg (voltage control range) of the generator for + short-circuit calculation - **power_station_trafo** (int, None) - Index of the power station transformer for short-circuit calculation + **power_station_trafo** (int, None) - Index of the power station transformer for + short-circuit calculation **in_service** (bool, True) - True for in_service or False for out of service @@ -1424,7 +1427,8 @@ def create_gen(net, bus, p_mw, vm_pu=1., sn_mva=nan, name=None, index=None, max_ columns = ["name", "bus", "p_mw", "vm_pu", "sn_mva", "type", "slack", "in_service", "scaling", "slack_weight"] - variables = [name, bus, p_mw, vm_pu, sn_mva, type, slack, bool(in_service), scaling, slack_weight] + variables = [name, bus, p_mw, vm_pu, sn_mva, type, slack, bool(in_service), scaling, + slack_weight] _set_entries(net, "gen", index, True, **dict(zip(columns, variables))) From 2eb29eacef316b5846899d7187b51c59a5274acc Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Wed, 4 Aug 2021 10:11:16 +0200 Subject: [PATCH 157/422] include OPF results into print and reset_results; close #1309 --- pandapower/auxiliary.py | 3 +++ pandapower/optimal_powerflow.py | 10 +++------- pandapower/pypower/printpf.py | 15 +++++++-------- pandapower/results.py | 9 +++++++++ 4 files changed, 22 insertions(+), 15 deletions(-) diff --git a/pandapower/auxiliary.py b/pandapower/auxiliary.py index 2c96b35e1..15086b31e 100644 --- a/pandapower/auxiliary.py +++ b/pandapower/auxiliary.py @@ -249,6 +249,9 @@ def __repr__(self): # pragma: no cover for tb in res: length = len(self[tb]) r += "\n - %s (%s %s)" % (tb, length, "elements" if length > 1 else "element") + if "res_cost" in self.keys(): + r += "\n and the following result values:" + r += "\n - %s" % "res_cost" return r diff --git a/pandapower/optimal_powerflow.py b/pandapower/optimal_powerflow.py index 700e0f90d..e6df7cc13 100644 --- a/pandapower/optimal_powerflow.py +++ b/pandapower/optimal_powerflow.py @@ -58,13 +58,9 @@ def _optimal_powerflow(net, verbose, suppress_warnings, **kwargs): if verbose: ppopt['OUT_ALL'] = 1 - printpf(baseMVA=result["baseMVA"], bus=result["bus"], gen=result["gen"], fd=stdout, - branch=result["branch"], success=result["success"], et=result["et"], ppopt=ppopt) - - if verbose: - ppopt['OUT_ALL'] = 1 - printpf(baseMVA=result["baseMVA"], bus=result["bus"], gen=result["gen"], fd=stdout, - branch=result["branch"], success=result["success"], et=result["et"], ppopt=ppopt) + printpf(baseMVA=result["baseMVA"], bus=result["bus"], gen=result["gen"], + branch=result["branch"], f=result["f"], success=result["success"], + et=result["et"], fd=stdout, ppopt=ppopt) if not result["success"]: raise OPFNotConverged("Optimal Power Flow did not converge!") diff --git a/pandapower/pypower/printpf.py b/pandapower/pypower/printpf.py index e960dc095..fb91f844a 100644 --- a/pandapower/pypower/printpf.py +++ b/pandapower/pypower/printpf.py @@ -643,8 +643,8 @@ def printpf(baseMVA, bus=None, gen=None, branch=None, f=None, success=None, Ft = branch[:, PT] strg = '\n # Bus Pf mu Pf |Pmax| Pt Pt mu Bus' elif ppopt['OPF_FLOW_LIM'] == 2: ## |I| limit - Ff = abs( (branch[:, PF] + 1j * branch[:, QF]) / V[e2i[branch[:, F_BUS].astype(int)]] ) - Ft = abs( (branch[:, PT] + 1j * branch[:, QT]) / V[e2i[branch[:, T_BUS].astype(int)]] ) + Ff = abs( (branch[:, PF] + 1j * branch[:, QF]) / V[e2i[branch[:, F_BUS].real.astype(int)]] ) + Ft = abs( (branch[:, PT] + 1j * branch[:, QT]) / V[e2i[branch[:, T_BUS].real.astype(int)]] ) strg = '\n # Bus |If| mu |If| |Imax| |It| |It| mu Bus' else: ## |S| limit Ff = abs(branch[:, PF] + 1j * branch[:, QF]) @@ -667,19 +667,18 @@ def printpf(baseMVA, bus=None, gen=None, branch=None, f=None, success=None, (((branch[i, RATE_A] != 0) & (abs(Ff[i]) > branch[i, RATE_A] - ctol)) | ((branch[i, RATE_A] != 0) & (abs(Ft[i]) > branch[i, RATE_A] - ctol)) | (branch[i, MU_SF] > ptol) | (branch[i, MU_ST] > ptol))): - fd.write('\n%4d%7d' % (i, branch[i, F_BUS])) + fd.write('\n%4d%7d' % (i, branch[i, F_BUS].real)) if (Ff[i] > branch[i, RATE_A] - ctol) | (branch[i, MU_SF] > ptol): - fd.write('%10.3f' % branch[i, MU_SF]) + fd.write('%10.3f' % branch[i, MU_SF].real) else: fd.write(' - ') - fd.write('%9.2f%10.2f%10.2f' % - (Ff[i], branch[i, RATE_A], Ft[i])) + fd.write('%9.2f%10.2f%10.2f' % (Ff[i], branch[i, RATE_A].real, Ft[i])) if (Ft[i] > branch[i, RATE_A] - ctol) | (branch[i, MU_ST] > ptol): - fd.write('%10.3f' % branch[i, MU_ST]) + fd.write('%10.3f' % branch[i, MU_ST].real) else: fd.write(' - ') - fd.write('%6d' % branch[i, T_BUS]) + fd.write('%6d' % branch[i, T_BUS].real) fd.write('\n') ## execute userfcn callbacks for 'printpf' stage diff --git a/pandapower/results.py b/pandapower/results.py index 49dc70b26..a8d60db1a 100644 --- a/pandapower/results.py +++ b/pandapower/results.py @@ -27,6 +27,8 @@ def _extract_results(net, ppc): _get_bus_results(net, ppc, bus_pq) if net._options["mode"] == "opf": _get_costs(net, ppc) + else: + _remove_costs(net) def _extract_results_3ph(net, ppc0, ppc1, ppc2): @@ -56,6 +58,11 @@ def _get_costs(net, ppc): net.res_cost = ppc['obj'] +def _remove_costs(net): + if "res_cost" in net.keys(): + del net["res_cost"] + + def _get_aranged_lookup(net): # generate bus_lookup net -> consecutive ordering maxBus = max(net["bus"].index.values) @@ -145,6 +152,8 @@ def reset_results(net, mode="pf"): suffix = suffix_mode.get(mode, None) for element in elements: empty_res_element(net, element, suffix) + if "res_cost" in net.keys(): + del net["res_cost"] def _ppci_bus_to_ppc(result, ppc): From e5e9d276d46bd06e52adf2f0ba42b604bce2db9d Mon Sep 17 00:00:00 2001 From: sdrauz Date: Wed, 4 Aug 2021 15:10:47 +0200 Subject: [PATCH 158/422] further adaptions before merging it --- pandapower/convert_format.py | 110 +++++++++++++++++------------------ pandapower/file_io.py | 29 ++++----- 2 files changed, 70 insertions(+), 69 deletions(-) diff --git a/pandapower/convert_format.py b/pandapower/convert_format.py index fa7c084bc..bc152be55 100644 --- a/pandapower/convert_format.py +++ b/pandapower/convert_format.py @@ -12,7 +12,7 @@ from pandapower.results import reset_results -def convert_format(net, table_selection=None): +def convert_format(net, elements_to_deserialize=None): """ Converts old nets to new format to ensure consistency. The converted net is returned. """ @@ -21,41 +21,41 @@ def convert_format(net, table_selection=None): return net _add_nominal_power(net) _add_missing_tables(net) - _rename_columns(net, table_selection) - _add_missing_columns(net, table_selection) - _create_seperate_cost_tables(net, table_selection) + _rename_columns(net, elements_to_deserialize) + _add_missing_columns(net, elements_to_deserialize) + _create_seperate_cost_tables(net, elements_to_deserialize) if version.parse(str(net.version)) < version.parse("2.4.0"): - _convert_bus_pq_meas_to_load_reference(net, table_selection) + _convert_bus_pq_meas_to_load_reference(net, elements_to_deserialize) if isinstance(net.version, float) and net.version < 2: - _convert_to_generation_system(net, table_selection) + _convert_to_generation_system(net, elements_to_deserialize) _convert_costs(net) _convert_to_mw(net) - _update_trafo_parameter_names(net, table_selection) + _update_trafo_parameter_names(net, elements_to_deserialize) reset_results(net) if isinstance(net.version, float) and net.version < 1.6: set_data_type_of_columns_to_default(net) - _convert_objects(net, table_selection) + _convert_objects(net, elements_to_deserialize) net.version = __version__ return net -def _convert_bus_pq_meas_to_load_reference(net, table_selection): - if _check_table_selection('measurement', table_selection): +def _convert_bus_pq_meas_to_load_reference(net, elements_to_deserialize): + if _check_elements_to_deserialize('measurement', elements_to_deserialize): bus_pq_meas_mask = net.measurement.measurement_type.isin(["p", "q"])&\ (net.measurement.element_type=="bus") net.measurement.loc[bus_pq_meas_mask, "value"] *= -1 -def _convert_to_generation_system(net, table_selection): +def _convert_to_generation_system(net, elements_to_deserialize): update_elements = [] - if _check_table_selection('sgen', table_selection): + if _check_elements_to_deserialize('sgen', elements_to_deserialize): net.sgen.p_kw *= -1 net.sgen.q_kvar *= -1 update_elements += ['sgen'] - if _check_table_selection('gen', table_selection): + if _check_elements_to_deserialize('gen', elements_to_deserialize): net.gen.p_kw *= -1 update_elements += ['gen'] - if _check_table_selection('ext_grid', table_selection): + if _check_elements_to_deserialize('ext_grid', elements_to_deserialize): update_elements += ['ext_grid'] for element in update_elements: for suffix in ["p_kw", "q_kvar"]: @@ -111,50 +111,50 @@ def _add_missing_tables(net): net[key] = net_new[key] -def _create_seperate_cost_tables(net, table_selection): - if _check_table_selection('gen', table_selection) and "cost_per_kw" in net.gen: +def _create_seperate_cost_tables(net, elements_to_deserialize): + if _check_elements_to_deserialize('gen', elements_to_deserialize) and "cost_per_kw" in net.gen: for index, cost in net.gen.cost_per_kw.iteritems(): if not np.isnan(cost): create_poly_cost(net, index, "gen", cp1_eur_per_mw=cost * 1e3) - if _check_table_selection('sgen', table_selection) and "cost_per_kw" in net.sgen: + if _check_elements_to_deserialize('sgen', elements_to_deserialize) and "cost_per_kw" in net.sgen: for index, cost in net.sgen.cost_per_kw.iteritems(): if not np.isnan(cost): create_poly_cost(net, index, "sgen", cp1_eur_per_kw=cost) - if _check_table_selection('ext_grid', table_selection) and "cost_per_kw" in net.ext_grid: + if _check_elements_to_deserialize('ext_grid', elements_to_deserialize) and "cost_per_kw" in net.ext_grid: for index, cost in net.ext_grid.cost_per_kw.iteritems(): if not np.isnan(cost): create_poly_cost(net, index, "ext_grid", cp1_eur_per_kw=cost) - if _check_table_selection('gen', table_selection) and "cost_per_kvar" in net.gen: + if _check_elements_to_deserialize('gen', elements_to_deserialize) and "cost_per_kvar" in net.gen: for index, cost in net.gen.cost_per_kvar.iteritems(): if not np.isnan(cost): create_poly_cost(net, index, "ext_grid", cp1_eur_per_mw=0, cq1_eur_per_mvar=cost * 1e3) - if _check_table_selection('sgen', table_selection) and "cost_per_kvar" in net.sgen: + if _check_elements_to_deserialize('sgen', elements_to_deserialize) and "cost_per_kvar" in net.sgen: for index, cost in net.sgen.cost_per_kvar.iteritems(): if not np.isnan(cost): create_poly_cost(net, index, "sgen", cp1_eur_per_mw=0, cq1_eur_per_mvar=cost * 1e3) - if _check_table_selection('ext_grid', table_selection) and "cost_per_kvar" in net.ext_grid: + if _check_elements_to_deserialize('ext_grid', elements_to_deserialize) and "cost_per_kvar" in net.ext_grid: for index, cost in net.ext_grid.cost_per_kvar.iteritems(): if not np.isnan(cost): create_poly_cost(net, index, "ext_grid", cp1_eur_per_mw=0, cq1_eur_per_mvar=cost * 1e3) -def _rename_columns(net, table_selection): - if _check_table_selection('line', table_selection): +def _rename_columns(net, elements_to_deserialize): + if _check_elements_to_deserialize('line', elements_to_deserialize): net.line.rename(columns={'imax_ka': 'max_i_ka'}, inplace=True) for typ, data in net.std_types["line"].items(): if "imax_ka" in data: net.std_types["line"][typ]["max_i_ka"] = net.std_types["line"][typ].pop("imax_ka") - _update_trafo_parameter_names(net, table_selection) + _update_trafo_parameter_names(net, elements_to_deserialize) # initialize measurement dataframe - if _check_table_selection('measurement', table_selection): + if _check_elements_to_deserialize('measurement', elements_to_deserialize): if "measurement" in net and "type" in net.measurement and "measurement": if net.measurement.empty: net["measurement"] = create_empty_network()["measurement"] @@ -167,7 +167,7 @@ def _rename_columns(net, table_selection): net.measurement.loc[~bus_measurements, "bus"].values net.measurement.rename(columns={'type': 'measurement_type'}, inplace=True) net.measurement.drop(["bus"], axis=1, inplace=True) - if _check_table_selection('controller', table_selection): + if _check_elements_to_deserialize('controller', elements_to_deserialize): if "controller" in net: net["controller"].rename(columns={"controller": "object"}, inplace=True) if "options" in net: @@ -186,61 +186,61 @@ def _rename_columns(net, table_selection): net["options"]["recycle"]["bus_pq"] = True -def _add_missing_columns(net, table_selection): +def _add_missing_columns(net, elements_to_deserialize): update_elements = [] - if _check_table_selection('trafo', table_selection): + if _check_elements_to_deserialize('trafo', elements_to_deserialize): update_elements += ['trafo'] - if _check_table_selection('line', table_selection): + if _check_elements_to_deserialize('line', elements_to_deserialize): update_elements += ['line'] for element in update_elements: if "df" not in net[element]: net[element]["df"] = 1.0 - if _check_table_selection('bus_geodata', table_selection) and "coords" not in net.bus_geodata: + if _check_elements_to_deserialize('bus_geodata', elements_to_deserialize) and "coords" not in net.bus_geodata: net.bus_geodata["coords"] = None - if _check_table_selection('trafo3w', table_selection) and not "tap_at_star_point" in net.trafo3w: + if _check_elements_to_deserialize('trafo3w', elements_to_deserialize) and not "tap_at_star_point" in net.trafo3w: net.trafo3w["tap_at_star_point"] = False - if _check_table_selection('trafo3w', table_selection) and not "tap_step_degree" in net.trafo3w: + if _check_elements_to_deserialize('trafo3w', elements_to_deserialize) and not "tap_step_degree" in net.trafo3w: net.trafo3w["tap_step_degree"] = 0 - if _check_table_selection('load', table_selection) and "const_z_percent" not in net.load or "const_i_percent" not in net.load: + if _check_elements_to_deserialize('load', elements_to_deserialize) and "const_z_percent" not in net.load or "const_i_percent" not in net.load: net.load["const_z_percent"] = np.zeros(net.load.shape[0]) net.load["const_i_percent"] = np.zeros(net.load.shape[0]) - if _check_table_selection('shunt', table_selection) and "vn_kv" not in net["shunt"]: + if _check_elements_to_deserialize('shunt', elements_to_deserialize) and "vn_kv" not in net["shunt"]: net.shunt["vn_kv"] = net.bus.vn_kv.loc[net.shunt.bus.values].values - if _check_table_selection('shunt', table_selection) and "step" not in net["shunt"]: + if _check_elements_to_deserialize('shunt', elements_to_deserialize) and "step" not in net["shunt"]: net.shunt["step"] = 1 - if _check_table_selection('shunt', table_selection) and "max_step" not in net["shunt"]: + if _check_elements_to_deserialize('shunt', elements_to_deserialize) and "max_step" not in net["shunt"]: net.shunt["max_step"] = 1 - if _check_table_selection('trafo3w', table_selection) and "std_type" not in net.trafo3w: + if _check_elements_to_deserialize('trafo3w', elements_to_deserialize) and "std_type" not in net.trafo3w: net.trafo3w["std_type"] = None - if _check_table_selection('sgen', table_selection) and "current_source" not in net.sgen: + if _check_elements_to_deserialize('sgen', elements_to_deserialize) and "current_source" not in net.sgen: net.sgen["current_source"] = net.sgen["type"].apply( func=lambda x: False if x == "motor" else True) - if _check_table_selection('line', table_selection) and "g_us_per_km" not in net.line: + if _check_elements_to_deserialize('line', elements_to_deserialize) and "g_us_per_km" not in net.line: net.line["g_us_per_km"] = 0. - if _check_table_selection('gen', table_selection) and "slack" not in net.gen: + if _check_elements_to_deserialize('gen', elements_to_deserialize) and "slack" not in net.gen: net.gen["slack"] = False - if _check_table_selection('trafo', table_selection) and "tap_phase_shifter" not in net.trafo and "tp_phase_shifter" not in net.trafo: + if _check_elements_to_deserialize('trafo', elements_to_deserialize) and "tap_phase_shifter" not in net.trafo and "tp_phase_shifter" not in net.trafo: net.trafo["tap_phase_shifter"] = False # unsymmetric impedance - if _check_table_selection('impedance', table_selection) and "r_pu" in net.impedance: + if _check_elements_to_deserialize('impedance', elements_to_deserialize) and "r_pu" in net.impedance: net.impedance["rft_pu"] = net.impedance["rtf_pu"] = net.impedance["r_pu"] net.impedance["xft_pu"] = net.impedance["xtf_pu"] = net.impedance["x_pu"] # Update the switch table with 'z_ohm' - if _check_table_selection('switch', table_selection) and 'z_ohm' not in net.switch: + if _check_elements_to_deserialize('switch', elements_to_deserialize) and 'z_ohm' not in net.switch: net.switch['z_ohm'] = 0 - if _check_table_selection('measurement', table_selection) and "name" not in net.measurement: + if _check_elements_to_deserialize('measurement', elements_to_deserialize) and "name" not in net.measurement: net.measurement.insert(0, "name", None) - if _check_table_selection('controller', table_selection) and "initial_run" not in net.controller: + if _check_elements_to_deserialize('controller', elements_to_deserialize) and "initial_run" not in net.controller: net.controller.insert(4, 'initial_run', False) for _, ctrl in net.controller.iterrows(): if hasattr(ctrl['object'], 'initial_run'): @@ -257,11 +257,11 @@ def _update_trafo_type_parameter_names(net): net.std_types[element][type][new_key] = net.std_types[element][type].pop(old_key) -def _update_trafo_parameter_names(net, table_selection): +def _update_trafo_parameter_names(net, elements_to_deserialize): update_data = [] - if _check_table_selection('trafo', table_selection): + if _check_elements_to_deserialize('trafo', elements_to_deserialize): update_data += ['trafo'] - if _check_table_selection('trafo3w', table_selection): + if _check_elements_to_deserialize('trafo3w', elements_to_deserialize): update_data += ['trafo3w'] for element in update_data: replace_cols = {col: _update_column(col) for col in net[element].columns if @@ -334,21 +334,19 @@ def _update_object_attributes(obj): obj.__dict__[val] = obj.__dict__.pop(key) -def _convert_objects(net, table_selection): +def _convert_objects(net, elements_to_deserialize): """ The function updates attribute names in pandapower objects. For now, it affects TrafoController. Should be expanded for other objects if necessary. """ - _check_table_selection('controller', table_selection) - if _check_table_selection('controller', table_selection) and "controller" in net.keys(): + _check_elements_to_deserialize('controller', elements_to_deserialize) + if _check_elements_to_deserialize('controller', elements_to_deserialize) and "controller" in net.keys(): for obj in net["controller"].object.values: _update_object_attributes(obj) -def _check_table_selection(element, table_selection): - if table_selection is None: - return True - elif element in table_selection: +def _check_elements_to_deserialize(element, elements_to_deserialize): + if elements_to_deserialize is None: return True else: - return False \ No newline at end of file + return element in elements_to_deserialize \ No newline at end of file diff --git a/pandapower/file_io.py b/pandapower/file_io.py index b243b7646..80428e11d 100644 --- a/pandapower/file_io.py +++ b/pandapower/file_io.py @@ -212,7 +212,7 @@ def _from_excel_old(xls): return net -def from_json(filename, convert=True, encryption_key=None, table_selection=None, keep_unserialized=True): +def from_json(filename, convert=True, encryption_key=None, elements_to_deserialize=None, keep_serialized_elements=True): """ Load a pandapower network from a JSON file. The index of the returned network is not necessarily in the same order as the original network. @@ -226,9 +226,9 @@ def from_json(filename, convert=True, encryption_key=None, table_selection=None, **encrytion_key** (string, "") - If given, key to decrypt an encrypted pandapower network - **table_selection** (list, None) - Deserialize only certain pandapower tables. If None all tables are deserialized. + **elements_to_deserialize** (list, None) - Deserialize only certain pandapower elements. If None all elements are deserialized. - **keep_unserialized** (bool, True) - Keep unserialized tables if given. Default: Unserialized tables are kept. + **keep_serialized_elements** (bool, True) - Keep serialized elements if given. Default: Serialized elements are kept. OUTPUT: **net** (dict) - The pandapower format network @@ -247,11 +247,12 @@ def from_json(filename, convert=True, encryption_key=None, table_selection=None, json_string = fp.read() return from_json_string(json_string, convert=convert, encryption_key=encryption_key, - table_selection=table_selection, keep_unserialized=keep_unserialized) + elements_to_deserialize=elements_to_deserialize, + keep_serialized_elements=keep_serialized_elements) -def from_json_string(json_string, convert=False, encryption_key=None, table_selection=None, - keep_unserialized=True): +def from_json_string(json_string, convert=False, encryption_key=None, elements_to_deserialize=None, + keep_serialized_elements=True): """ Load a pandapower network from a JSON string. The index of the returned network is not necessarily in the same order as the original network. @@ -265,9 +266,11 @@ def from_json_string(json_string, convert=False, encryption_key=None, table_sele **encrytion_key** (string, "") - If given, key to decrypt an encrypted json_string - **table_selection** (list, None) - Deserialize only certain pandapower tables. If None all tables are deserialized. + **elements_to_deserialize** (list, None) - Deserialize only certain pandapower elements. + If None all elements are deserialized. - **keep_unserialized** (bool, True) - Keep unserialized tables if given. Default: Unserialized tables are kept. + **keep_serialized_elements** (bool, True) - Keep serialized elements if given. + Default: Serialized elements are kept. OUTPUT: **net** (dict) - The pandapower format network @@ -280,7 +283,7 @@ def from_json_string(json_string, convert=False, encryption_key=None, table_sele if encryption_key is not None: json_string = io_utils.decrypt_string(json_string, encryption_key) - if table_selection is None: + if elements_to_deserialize is None: net = json.loads(json_string, cls=io_utils.PPJSONDecoder) else: net = json.loads(json_string, cls=io_utils.PPJSONDecoder, deserialize_pandas=False) @@ -288,8 +291,8 @@ def from_json_string(json_string, convert=False, encryption_key=None, table_sele if (not 'version' in net.keys()) | (version.parse(net.version) < version.parse('2.1.0')): raise UserWarning('table selection is only possible for nets above version 2.0.1. Convert and save ' 'your net first.') - if keep_unserialized: - for key in table_selection: + if keep_serialized_elements: + for key in elements_to_deserialize: net[key] = json.loads(net[key], cls=io_utils.PPJSONDecoder) else: if ((not 'version' in net.keys()) or (net['version'] != net_dummy.version)) and not convert: @@ -299,7 +302,7 @@ def from_json_string(json_string, convert=False, encryption_key=None, table_sele 'first or set convert to True!' % (net['version'], net_dummy.version)) for key in net.keys(): - if key in table_selection: + if key in elements_to_deserialize: net[key] = json.loads(net[key], cls=io_utils.PPJSONDecoder) elif not isinstance(net[key], str): continue @@ -317,7 +320,7 @@ def from_json_string(json_string, convert=False, encryption_key=None, table_sele net = from_json_dict(net) if convert: - convert_format(net, table_selection=table_selection) + convert_format(net, elements_to_deserialize=elements_to_deserialize) return net From 90d42d5e97cb97c656c383a244c6afcd43d1e361 Mon Sep 17 00:00:00 2001 From: sdrauz Date: Wed, 4 Aug 2021 15:51:52 +0200 Subject: [PATCH 159/422] line endings changed --- doc/shortcircuit/current_source.rst | 34 ++++++++++++++--------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/doc/shortcircuit/current_source.rst b/doc/shortcircuit/current_source.rst index 7e1f60316..d694936d7 100644 --- a/doc/shortcircuit/current_source.rst +++ b/doc/shortcircuit/current_source.rst @@ -1,17 +1,17 @@ -Current Source Elements -================================ - -Full converter elements, such as PV plants or wind parks, are modeled as current sources: - -.. image:: bus_current.png - :width: 8em - :align: center - -All static generator elements are assumed to be full converter elements except if the type is specified as "motor", in which case they are treated as asynchronous machines. - -The inductive short circuit current is calculated from the parameters given in the sgen table as: - -.. math:: - \underline{I}_k = -j \cdot \frac{k \cdot s\_n\_kva}{\sqrt{3} \cdot vn\_kv} - -where :math:`s\_n\_kva` is the rated power of the generator and :math:`k` is the ratio of nominal to short circuit current. :math:`vn\_kv` is the rated voltage of the bus the generator is connected to. +Current Source Elements +================================ + +Full converter elements, such as PV plants or wind parks, are modeled as current sources: + +.. image:: bus_current.png + :width: 8em + :align: center + +All static generator elements are assumed to be full converter elements except if the type is specified as "motor", in which case they are treated as asynchronous machines. + +The inductive short circuit current is calculated from the parameters given in the sgen table as: + +.. math:: + \underline{I}_k = -j \cdot \frac{k \cdot s\_n\_kva}{\sqrt{3} \cdot vn\_kv} + +where :math:`s\_n\_kva` is the rated power of the generator and :math:`k` is the ratio of nominal to short circuit current. :math:`vn\_kv` is the rated voltage of the bus the generator is connected to. From 220d6add545e52df83063d53ccad1b03ef30636b Mon Sep 17 00:00:00 2001 From: sdrauz Date: Wed, 4 Aug 2021 16:25:25 +0200 Subject: [PATCH 160/422] line endings changed --- doc/shortcircuit/voltage_source.rst | 166 ++++++++++++++-------------- 1 file changed, 83 insertions(+), 83 deletions(-) diff --git a/doc/shortcircuit/voltage_source.rst b/doc/shortcircuit/voltage_source.rst index d55a2fe93..a2402e4be 100644 --- a/doc/shortcircuit/voltage_source.rst +++ b/doc/shortcircuit/voltage_source.rst @@ -1,83 +1,83 @@ -Voltage Source Elements -================================ - -Voltage source elements are represented by their internal voltage source with an internal resistance :math:`Z_k`: - -.. image:: bus_voltage.png - :width: 8em - :align: center - -since the voltage source is moved to the fault location for with methodology of the equivalent voltage source, the bus elements -can be reduced to a single shunt impedance: - -.. image:: bus_equivalent.png - :width: 10em - :align: center - -The contribution of loads and shunts are negligible according to the standard and therefore neglected in the short-circuit calculation. - -External Grid ------------------ - -When calculating maximum short-circuit currents, the impedance of an external grid connection is given as: - -.. math:: - - z_{k, eg} =& \frac{c_{max}}{s\_sc\_max\_mva} \\[1em] - x_{k, eg} =& \frac{z_{sg}}{\sqrt{1 + rx\_max^2}} \\[1em] - r_{k, eg} =& rx\_max \cdot x_{sg} - -where :math:`rx\_max` and :math:`s\_sc\_max\_mva` are parameters in the ext_grid table and :math:`c_{max}` is the :ref:`voltage correction factor ` of the -external grid bus. - -In case of minimal short-circuit currents, the impedance is calculated accordingly: - -.. math:: - - z_{k, eg} =& \frac{c_{min}}{s\_sc\_min\_mva} \\[1em] - x_{k, eg} =& \frac{z_{sg}}{\sqrt{1 + rx\_min^2}} \\[1em] - r_{k, eg} =& rx\_min \cdot x_{sg} - -Asynchronous Motor ------------------------ -Asynchronous motors can be considered by setting the type variable of an sgen element to "motor". The internal impedance is then calculated as: - -.. math:: - - Z_{k, m} = \frac{1}{k} \cdot \frac{vn\_kv^2 \cdot 1000}{sn\_kva} \\ - X_{k, m} = \frac{Z_{sg}}{\sqrt{1 + rx^2}} \\ - R_{k, m} = rx \cdot X_{sg} - -where :math:`sn\_kva` is the rated power of the motor, :math:`k` is the ratio of nominal to short circuit current and :math:`rx` is the R/X ratio of the motor. -:math:`vn\_kv` is the rated voltage of the bus the motor is connected to. - - -Synchronous Generator ------------------------ -Synchronous generators are considered with the short-circuit impedance of: - -.. math:: - \underline{Z}_{k, gen} = K_G \cdot (R''_d + jX''_d) - -The short-circuit impedance is calculated as: - -.. math:: - - z_k = xdss - -The generator correction factor :math:`K_G` is given as: - -.. math:: - - K_G = \frac{V_{N, gen}}{V_{N, bus}} \cdot \frac{c_{max}}{1 + x_{dss} \cdot sin(\varphi)} - -where :math:`V_{N, bus}` is the rated voltage of the bus the generator is connected to and :math:`V_{N, gen}` is the rated voltage of the -generator which is defined by the parameter :math:`\text{sn\_kva}` in the gen table. The rated phasor angle :math:`\varphi` is given as: - -.. math:: - - \varphi = arcos(cos\_phi) - -where :math:`cos\_phi` is defined in the gen table. - - +Voltage Source Elements +================================ + +Voltage source elements are represented by their internal voltage source with an internal resistance :math:`Z_k`: + +.. image:: bus_voltage.png + :width: 8em + :align: center + +since the voltage source is moved to the fault location for with methodology of the equivalent voltage source, the bus elements +can be reduced to a single shunt impedance: + +.. image:: bus_equivalent.png + :width: 10em + :align: center + +The contribution of loads and shunts are negligible according to the standard and therefore neglected in the short-circuit calculation. + +External Grid +----------------- + +When calculating maximum short-circuit currents, the impedance of an external grid connection is given as: + +.. math:: + + z_{k, eg} =& \frac{c_{max}}{s\_sc\_max\_mva} \\[1em] + x_{k, eg} =& \frac{z_{sg}}{\sqrt{1 + rx\_max^2}} \\[1em] + r_{k, eg} =& rx\_max \cdot x_{sg} + +where :math:`rx\_max` and :math:`s\_sc\_max\_mva` are parameters in the ext_grid table and :math:`c_{max}` is the :ref:`voltage correction factor ` of the +external grid bus. + +In case of minimal short-circuit currents, the impedance is calculated accordingly: + +.. math:: + + z_{k, eg} =& \frac{c_{min}}{s\_sc\_min\_mva} \\[1em] + x_{k, eg} =& \frac{z_{sg}}{\sqrt{1 + rx\_min^2}} \\[1em] + r_{k, eg} =& rx\_min \cdot x_{sg} + +Asynchronous Motor +----------------------- +Asynchronous motors can be considered by setting the type variable of an sgen element to "motor". The internal impedance is then calculated as: + +.. math:: + + Z_{k, m} = \frac{1}{k} \cdot \frac{vn\_kv^2 \cdot 1000}{sn\_kva} \\ + X_{k, m} = \frac{Z_{sg}}{\sqrt{1 + rx^2}} \\ + R_{k, m} = rx \cdot X_{sg} + +where :math:`sn\_kva` is the rated power of the motor, :math:`k` is the ratio of nominal to short circuit current and :math:`rx` is the R/X ratio of the motor. +:math:`vn\_kv` is the rated voltage of the bus the motor is connected to. + + +Synchronous Generator +----------------------- +Synchronous generators are considered with the short-circuit impedance of: + +.. math:: + \underline{Z}_{k, gen} = K_G \cdot (R''_d + jX''_d) + +The short-circuit impedance is calculated as: + +.. math:: + + z_k = xdss + +The generator correction factor :math:`K_G` is given as: + +.. math:: + + K_G = \frac{V_{N, gen}}{V_{N, bus}} \cdot \frac{c_{max}}{1 + x_{dss} \cdot sin(\varphi)} + +where :math:`V_{N, bus}` is the rated voltage of the bus the generator is connected to and :math:`V_{N, gen}` is the rated voltage of the +generator which is defined by the parameter :math:`\text{sn\_kva}` in the gen table. The rated phasor angle :math:`\varphi` is given as: + +.. math:: + + \varphi = arcos(cos\_phi) + +where :math:`cos\_phi` is defined in the gen table. + + From 87aab1e5c088656a4043d345b344655e62f3d344 Mon Sep 17 00:00:00 2001 From: sdrauz Date: Wed, 4 Aug 2021 16:33:52 +0200 Subject: [PATCH 161/422] adaptions of tests --- pandapower/test/api/test_convert_format.py | 2 +- pandapower/test/api/test_file_io.py | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pandapower/test/api/test_convert_format.py b/pandapower/test/api/test_convert_format.py index 85ead83b8..c2959ea80 100644 --- a/pandapower/test/api/test_convert_format.py +++ b/pandapower/test/api/test_convert_format.py @@ -25,7 +25,7 @@ def test_convert_format(version): try: net = pp.from_json(filename, convert=False) if ('version' in net) and (vs.parse(str(net.version)) > vs.parse('2.0.1')): - _ = pp.from_json(filename, table_selection = ['bus', 'load']) + _ = pp.from_json(filename, elements_to_deserialize = ['bus', 'load']) 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/api/test_file_io.py b/pandapower/test/api/test_file_io.py index 077465f38..8efdbddf8 100644 --- a/pandapower/test/api/test_file_io.py +++ b/pandapower/test/api/test_file_io.py @@ -310,11 +310,11 @@ def test_deepcopy_controller(): assert not ct1.equals(ct2) -def test_table_selection_keep(tmp_path): +def test_elements_to_deserialize(tmp_path): net = networks.mv_oberrhein() filename = os.path.abspath(str(tmp_path)) + "testfile.json" pp.to_json(net, filename) - net_select = pp.from_json(filename, table_selection=['bus', 'load']) + net_select = pp.from_json(filename, elements_to_deserialize=['bus', 'load']) for key, item in net_select.items(): if key in ['bus', 'load']: assert isinstance(item, pd.DataFrame) @@ -339,11 +339,11 @@ def test_table_selection_keep(tmp_path): assert_net_equal(net, net_select) -def test_table_selection_wo_keep(tmp_path): +def test_elements_to_deserialize_wo_keep(tmp_path): net = networks.mv_oberrhein() filename = os.path.abspath(str(tmp_path)) + "testfile.json" pp.to_json(net, filename) - net_select = pp.from_json(filename, table_selection=['bus', 'load'], keep_unserialized=False) + net_select = pp.from_json(filename, elements_to_deserialize=['bus', 'load'], keep_serialized_elements=False) for key, item in net_select.items(): if key in ['bus', 'load']: assert isinstance(item, pd.DataFrame) From 407c8de86c2cb667434c549a1af01889e3d94fea Mon Sep 17 00:00:00 2001 From: sdrauz Date: Wed, 4 Aug 2021 16:45:36 +0200 Subject: [PATCH 162/422] bugfixes --- pandapower/convert_format.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pandapower/convert_format.py b/pandapower/convert_format.py index 16bfca8b3..d3ad0e576 100644 --- a/pandapower/convert_format.py +++ b/pandapower/convert_format.py @@ -249,13 +249,13 @@ def _add_missing_columns(net, elements_to_deserialize): net.controller.at[ctrl.name, 'initial_run'] = ctrl['object'].initial_powerflow # distributed slack - if "slack_weight" not in net.ext_grid: + if _check_elements_to_deserialize('ext_grid', elements_to_deserialize) and "slack_weight" not in net.ext_grid: net.ext_grid['slack_weight'] = 1.0 - if "slack_weight" not in net.gen: + if _check_elements_to_deserialize('gen', elements_to_deserialize) and "slack_weight" not in net.gen: net.gen['slack_weight'] = 0.0 - if "slack_weight" not in net.xward: + if _check_elements_to_deserialize('xward', elements_to_deserialize) and "slack_weight" not in net.xward: net.xward['slack_weight'] = 0.0 From 77615746665117fb3ea034ec5b4f160c9f079e88 Mon Sep 17 00:00:00 2001 From: sdrauz Date: Thu, 5 Aug 2021 09:19:37 +0200 Subject: [PATCH 163/422] bugfixes in the pp documentation --- doc/about/units.rst | 2 +- doc/control/controller.rst | 3 +- doc/elements/asymmetric_load.rst | 1 + doc/networks.rst | 1 - doc/timeseries/data_source.rst | 4 +- doc/toolbox.rst | 2 +- .../control/controller/const_control.py | 4 +- pandapower/control/run_control.py | 17 +++--- pandapower/create.py | 22 +++---- pandapower/estimation/state_estimation.py | 61 ++++++++++--------- pandapower/timeseries/output_writer.py | 2 +- 11 files changed, 63 insertions(+), 56 deletions(-) diff --git a/doc/about/units.rst b/doc/about/units.rst index 83edce097..ad3470303 100644 --- a/doc/about/units.rst +++ b/doc/about/units.rst @@ -45,7 +45,7 @@ The power equation in the balanced three phase system is therefore given as :mat **Three Phase System (Unbalanced Load Flow)** For unbalanced three phase systems, the following conventions apply: - - voltage values are entered as phase-to-phase voltages + - voltage values are entered as phase-to-phase voltages - current values are entered as phase currents - But, Phase power values can be entered seperately in the new element **asymmetric_load** diff --git a/doc/control/controller.rst b/doc/control/controller.rst index 1316bf708..826585e5d 100644 --- a/doc/control/controller.rst +++ b/doc/control/controller.rst @@ -16,6 +16,7 @@ The basic controller is the base controller class that should be subclassed when ConstControl ============== .. _ConstControl: + This controller is made for the use with the time series module to read data from a DataSource and write it to the net. The controller can write the values either to a column of an element table (e.g. net.load.p_mw) or an attribute of another object that is stored in an element table (e.g. another controller, net.controller.object). To change a controller attribute, the variable must be defined @@ -49,7 +50,7 @@ Discrete Tap Control :members: CharacteristicControl -=============== +===================== The following controllers that use characteristics are predefined within the pandapower control module. diff --git a/doc/elements/asymmetric_load.rst b/doc/elements/asymmetric_load.rst index 76915f679..8263b767a 100644 --- a/doc/elements/asymmetric_load.rst +++ b/doc/elements/asymmetric_load.rst @@ -51,6 +51,7 @@ Loads are modelled as PQ-buses in the power flow calculation. :width: 40em :alt: alternate Text :align: center + *Delta Load* .. image:: asym_del_load.png diff --git a/doc/networks.rst b/doc/networks.rst index 4116ca0a3..5c19d0467 100644 --- a/doc/networks.rst +++ b/doc/networks.rst @@ -18,7 +18,6 @@ You can find documentation for the individual network modules of pandapower here .. toctree:: :maxdepth: 2 - networks/simbench networks/example networks/test networks/cigre diff --git a/doc/timeseries/data_source.rst b/doc/timeseries/data_source.rst index aac01e5a3..5b8bc0c25 100644 --- a/doc/timeseries/data_source.rst +++ b/doc/timeseries/data_source.rst @@ -3,7 +3,7 @@ Data Sources ############################# DataSource Base Class -================= +===================== A ``DataSource`` object must be given to :ref:`const controllers ` in order to run time series simulations. The data source contains the values to be set in each time step by the controller. It has the function :code:`get_time_step_value(time_step)` which reads these values. @@ -12,7 +12,7 @@ The data source contains the values to be set in each time step by the controlle :members: DataFrame Data Source -================= +===================== A ``DFData`` object is inherited from ``DataSource`` and contains a DataFrame which stores the time series values. .. autoclass:: pandapower.timeseries.data_sources.frame_data.DFData diff --git a/doc/toolbox.rst b/doc/toolbox.rst index 3ee80bbe6..fe693a7b4 100644 --- a/doc/toolbox.rst +++ b/doc/toolbox.rst @@ -47,7 +47,7 @@ Result Information .. autofunction:: pandapower.nets_equal -.. autofunction:: pandapower.clear_result_table +.. autofunction:: pandapower.clear_result_tables ==================================== Simulation Setup and Preparation diff --git a/pandapower/control/controller/const_control.py b/pandapower/control/controller/const_control.py index fdedc8a24..1845334f2 100644 --- a/pandapower/control/controller/const_control.py +++ b/pandapower/control/controller/const_control.py @@ -55,8 +55,8 @@ class ConstControl(Controller): dropped .. note:: If multiple elements are represented with one controller, the data source must have - integer columns. At the moment, only the DFData format is tested for the multiple const - control. + integer columns. At the moment, only the DFData format is tested for the multiple const + control. """ def __init__(self, net, element, variable, element_index, profile_name=None, data_source=None, diff --git a/pandapower/control/run_control.py b/pandapower/control/run_control.py index 5165d90c8..6eb118173 100644 --- a/pandapower/control/run_control.py +++ b/pandapower/control/run_control.py @@ -252,18 +252,20 @@ def run_control(net, ctrl_variables=None, max_iter=30, **kwargs): Function is running control loops for the controllers specified in net.controller INPUT: - **net** - pandapower network with controllers included in net.controller + **net** - pandapower network with controllers included in net.controller OPTIONAL: - **ctrl_variables** (dict, None) - variables needed internally to calculate the power flow. See prepare_run_ctrl() - **max_iter** (int, 30) - The maximum number of iterations for controller to converge + **ctrl_variables** (dict, None) - variables needed internally to calculate the power flow. See prepare_run_ctrl() + + **max_iter** (int, 30) - The maximum number of iterations for controller to converge KWARGS: - **continue_on_divergence** (bool, False) - if run_funct is not converging control_repair is fired - (only relevant if ctrl_varibales is None, otherwise it needs + **continue_on_divergence** (bool, False) - if run_funct is not converging control_repair is fired \ + (only relevant if ctrl_varibales is None, otherwise it needs \ to be defined in ctrl_variables anyway) - **check_each_level** (bool, True) - if each level shall be checked if the controllers are converged or not - (only relevant if ctrl_varibales is None, otherwise it needs + + **check_each_level** (bool, True) - if each level shall be checked if the controllers are converged or not \ + (only relevant if ctrl_varibales is None, otherwise it needs \ to be defined in ctrl_variables anyway) Runs controller until each one converged or max_iter is hit. @@ -272,6 +274,7 @@ def run_control(net, ctrl_variables=None, max_iter=30, **kwargs): 2. Calculate an inital power flow (if it is enabled, i.e. setting the initial_run veriable to True) 3. Repeats the following steps in ascending order of controller_order until total convergence of all controllers for each level: + a) Evaluate individual convergence for all controllers in the level b) Call control_step() for all controllers in the level on diverged controllers c) Calculate power flow (or optionally another function like runopf or whatever you defined) diff --git a/pandapower/create.py b/pandapower/create.py index 4aab77367..19b80c76d 100644 --- a/pandapower/create.py +++ b/pandapower/create.py @@ -698,8 +698,7 @@ def create_load(net, bus, p_mw, q_mvar=0, const_z_percent=0, const_i_percent=0, controllable loads in OPF **controllable** (boolean, default NaN) - States, whether a load is controllable or not. \ - Only respected for OPF - Defaults to False if "controllable" column exists in DataFrame + Only respected for OPF; defaults to False if "controllable" column exists in DataFrame OUTPUT: **index** (int) - The unique ID of the created element @@ -947,7 +946,8 @@ def create_load_from_cosphi(net, bus, sn_mva, cos_phi, mode, **kwargs): **mode** (str) - "underexcited" (Q absorption, decreases voltage) or "overexcited" (Q injection, increases voltage) - **kwargs are passed on to the create_load function + OPTIONAL: + same as in create_load, keyword arguments are passed to the create_load function OUTPUT: **index** (int) - The unique ID of the created load @@ -985,7 +985,6 @@ def create_sgen(net, bus, p_mw, q_mvar=0, sn_mva=nan, name=None, index=None, **p_mw** (float) - The active power of the static generator (positive for generation!) OPTIONAL: - **q_mvar** (float, 0) - The reactive power of the sgen **sn_mva** (float, None) - Nominal power of the sgen @@ -1013,9 +1012,8 @@ def create_sgen(net, bus, p_mw, q_mvar=0, sn_mva=nan, name=None, index=None, **min_q_mvar** (float, NaN) - Minimum reactive power injection - necessary for \ controllable sgens in OPF - **controllable** (bool, NaN) - Whether this generator is controllable by the optimal - powerflow - Defaults to False if "controllable" column exists in DataFrame + **controllable** (bool, NaN) - Whether this generator is controllable by the optimal \ + powerflow; defaults to False if "controllable" column exists in DataFrame **k** (float, NaN) - Ratio of nominal current to short circuit current @@ -1306,9 +1304,8 @@ def create_storage(net, bus, p_mw, max_e_mwh, q_mvar=0, sn_mva=nan, soc_percent= **min_q_mvar** (float, NaN) - Minimum reactive power injection - necessary for a \ controllable storage in OPF - **controllable** (bool, NaN) - Whether this storage is controllable by the optimal - powerflow - Defaults to False if "controllable" column exists in DataFrame + **controllable** (bool, NaN) - Whether this storage is controllable by the optimal \ + powerflow; defaults to False if "controllable" column exists in DataFrame OUTPUT: **index** (int) - The unique ID of the created storage @@ -3147,7 +3144,8 @@ def create_shunt_as_capacitor(net, bus, q_mvar, loss_factor, **kwargs): **loss_factor** (float) - loss factor tan(delta) of the capacitor bank - **kwargs are passed to the create_shunt function + OPTIONAL: + same as in create_shunt, keyword arguments are passed to the create_shunt function OUTPUT: @@ -3347,7 +3345,7 @@ def create_dcline(net, from_bus, to_bus, p_mw, loss_percent, loss_mw, vm_from_pu **max_q_from_mvar** - Maximum reactive power at from bus. Necessary for OPF - **max_q_to_mvar ** - Maximum reactive power at to bus. Necessary for OPF + **max_q_to_mvar** - Maximum reactive power at to bus. Necessary for OPF OUTPUT: **index** (int) - The unique ID of the created element diff --git a/pandapower/estimation/state_estimation.py b/pandapower/estimation/state_estimation.py index ad15fb359..dbce7dec3 100644 --- a/pandapower/estimation/state_estimation.py +++ b/pandapower/estimation/state_estimation.py @@ -36,41 +36,46 @@ def estimate(net, algorithm='wls', **opt_vars): """ Wrapper function for WLS state estimation. + INPUT: - **net** - The net within this line should be created + **net** (pandapowerNet) - The net within this line should be created + + **init** (string) - Initial voltage for the estimation. 'flat' sets 1.0 p.u. / 0° for all \ + buses, 'results' uses the values from *res_bus* if available and 'slack' considers the \ + slack bus voltage (and optionally, angle) as the initial values. Default is 'flat' - **init** - (string) Initial voltage for the estimation. 'flat' sets 1.0 p.u. / 0° for all - buses, 'results' uses the values from *res_bus* if available and 'slack' considers the - slack bus voltage (and optionally, angle) as the initial values. Default is 'flat' OPTIONAL: - **tolerance** - (float) - When the maximum state change between iterations is less than - tolerance, the process stops. Default is 1e-6 + **tolerance** (float) - When the maximum state change between iterations is less than \ + tolerance, the process stops. Default is 1e-6 - **maximum_iterations** - (integer) - Maximum number of iterations. Default is 10 + **maximum_iterations** (integer) - Maximum number of iterations. Default is 10 - **calculate_voltage_angles** - (boolean) - Take into account absolute voltage angles and phase - shifts in transformers, if init is 'slack'. Default is True + **calculate_voltage_angles** (boolean) - Take into account absolute voltage angles and phase \ + shifts in transformers, if init is 'slack'. Default is True - **zero_injection** - (str, iterable, None) - Defines which buses are zero injection bus or the method - to identify zero injection bus, with 'wls_estimator' virtual measurements will be added, with - 'wls_estimator with zero constraints' the buses will be handled as constraints - "auto": all bus without p,q measurement, without p, q value (load, sgen...) and aux buses will be - identified as zero injection bus - "aux_bus": only aux bus will be identified as zero injection bus - None: no bus will be identified as zero injection bus - iterable: the iterable should contain index of the zero injection bus and also aux bus will be identified - as zero-injection bus + **zero_injection** (str, iterable, None) - Defines which buses are zero injection bus or the method \ + to identify zero injection bus, with 'wls_estimator' virtual measurements will be added, with \ + 'wls_estimator with zero constraints' the buses will be handled as constraints + + - "auto": all bus without p,q measurement, without p, q value (load, sgen...) and aux buses will be \ + identified as zero injection bus + - "aux_bus": only aux bus will be identified as zero injection bus + - None: no bus will be identified as zero injection bus + - iterable: the iterable should contain index of the zero injection bus and also aux bus will be identified \ + as zero-injection bus + + **fuse_buses_with_bb_switch** (str, iterable, None) - Defines how buses with closed bb switches should \ + be handled, if fuse buses will only fused to one for calculation, if not fuse, an auxiliary bus and \ + auxiliary line will be automatically added to the network to make the buses with different p,q injection \ + measurements identifieble + + - "all": all buses with bb-switches will be fused, the same as the default behaviour in load flow + - None: buses with bb-switches and individual p,q measurements will be reconfigurated \ + by auxiliary elements + - iterable: the iterable should contain the index of buses to be fused, the behaviour is contigous e.g. \ + if one of the bus among the buses connected through bb switch is given, then all of them will still \ + be fused - **fuse_buses_with_bb_switch** - (str, iterable, None) - Defines how buses with closed bb switches should - be handled, if fuse buses will only fused to one for calculation, if not fuse, an auxiliary bus and - auxiliary line will be automatically added to the network to make the buses with different p,q injection - measurements identifieble - "all": all buses with bb-switches will be fused, the same as the default behaviour in load flow - None: buses with bb-switches and individual p,q measurements will be reconfigurated - by auxiliary elements - iterable: the iterable should contain the index of buses to be fused, the behaviour is contigous e.g. - if one of the bus among the buses connected through bb switch is given, then all of them will still - be fused OUTPUT: **successful** (boolean) - Was the state estimation successful? """ diff --git a/pandapower/timeseries/output_writer.py b/pandapower/timeseries/output_writer.py index 3a5ab2f85..3605fe9c7 100644 --- a/pandapower/timeseries/output_writer.py +++ b/pandapower/timeseries/output_writer.py @@ -57,7 +57,7 @@ class OutputWriter(JSONSerializableClass): **output_path** (string, None) - Path to a folder where the output is written to. **output_file_type** (string, ".p") - output filetype to use. - Allowed file extensions: [*.xls, *.xlsx, *.csv, *.p, *.json] + Allowed file extensions: [.xls, .xlsx, .csv, .p, .json] Note: XLS has a maximum number of 256 rows. **csv_separator** (string, ";") - The separator used when writing to a csv file From 86612befdf2c10a540827fd51ab64ff4819c869a Mon Sep 17 00:00:00 2001 From: sdrauz Date: Thu, 5 Aug 2021 10:00:59 +0200 Subject: [PATCH 164/422] change order in powerflow documentation --- doc/powerflow/run.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/powerflow/run.rst b/doc/powerflow/run.rst index 219b540b3..b9ae0d91a 100644 --- a/doc/powerflow/run.rst +++ b/doc/powerflow/run.rst @@ -8,6 +8,6 @@ pandapower provides AC (Balanced/Unbalanced) and linearized (DC) powerflow. .. toctree:: :maxdepth: 3 - ac_3ph ac - dc \ No newline at end of file + dc + ac_3ph From 30f806b9703e2e83808fe181d5a7ad2a1f350708 Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Thu, 5 Aug 2021 16:46:07 +0200 Subject: [PATCH 165/422] revise toolbox function nets_equal() --- CHANGELOG.rst | 1 + pandapower/test/api/test_file_io.py | 4 +- pandapower/toolbox.py | 102 ++++++++++++++++++++-------- 3 files changed, 75 insertions(+), 32 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index a8dec168b..0723d5964 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,5 +1,6 @@ Change Log +- [CHANGED] toolbox function nets_equal() - [ADDED] toolbox function merge_same_bus_generation_plants() [2.7.1]- 2021-07-22 diff --git a/pandapower/test/api/test_file_io.py b/pandapower/test/api/test_file_io.py index 7a7f695b9..0655a65d7 100644 --- a/pandapower/test/api/test_file_io.py +++ b/pandapower/test/api/test_file_io.py @@ -181,8 +181,8 @@ def test_json_encoding_decoding(): # TODO line_geodata isn't the same since tuples inside DataFrames are converted to lists # (see test_json_tuple_in_dataframe) - assert pp.nets_equal(net, net1, exclude_elms=["line_geodata"]) - assert pp.nets_equal(d["a"], d1["a"], exclude_elms=["line_geodata"]) + assert pp.nets_equal(net, net1, exclude_elms=["line_geodata", "mg"]) + assert pp.nets_equal(d["a"], d1["a"], exclude_elms=["line_geodata", "mg"]) assert d["b"] == d1["b"] assert_graphs_equal(net.mg, net1.mg) diff --git a/pandapower/toolbox.py b/pandapower/toolbox.py index 4943c7ec4..9ccc12e9b 100644 --- a/pandapower/toolbox.py +++ b/pandapower/toolbox.py @@ -694,42 +694,84 @@ def nets_equal(net1, net2, check_only_results=False, exclude_elms=None, **kwargs 'et' (elapsed time) entry which differs depending on runtime conditions and entries stating with '_'. """ - eq = isinstance(net1, pandapowerNet) and isinstance(net2, pandapowerNet) + if not (isinstance(net1, pandapowerNet) and isinstance(net2, pandapowerNet)): + logger.warning("At least one net is not of type pandapowerNet.") + return False + exclude_elms = [] if exclude_elms is None else list(exclude_elms) exclude_elms += ["res_" + ex for ex in exclude_elms] not_equal = [] - if eq: - # for two networks make sure both have the same keys that do not start with "_"... - net1_keys = [key for key in net1.keys() if not (key.startswith("_") or key in exclude_elms)] - net2_keys = [key for key in net2.keys() if not (key.startswith("_") or key in exclude_elms)] - keys_to_check = set(net1_keys) & set(net2_keys) - key_difference = set(net1_keys) ^ set(net2_keys) - - if len(key_difference) > 0: - logger.info("Networks entries mismatch at: %s" % key_difference) - if not check_only_results: - return False - - # ... and then iter through the keys, checking for equality for each table - for df_name in list(keys_to_check): - # skip 'et' (elapsed time) and entries starting with '_' (internal vars) - if (df_name != 'et' and not df_name.startswith("_")): - if check_only_results and not df_name.startswith("res_"): - continue # skip anything that is not a result table - - if isinstance(net1[df_name], pd.DataFrame) and isinstance(net2[df_name], - pd.DataFrame): - frames_equal = dataframes_equal(net1[df_name], net2[df_name], **kwargs) - eq &= frames_equal - - if not frames_equal: - not_equal.append(df_name) + # for two networks make sure both have the same keys that do not start with "_"... + net1_keys = [key for key in net1.keys() if not (key.startswith("_") or key in exclude_elms)] + net2_keys = [key for key in net2.keys() if not (key.startswith("_") or key in exclude_elms)] + keys_to_check = set(net1_keys) & set(net2_keys) + key_difference = set(net1_keys) ^ set(net2_keys) + not_checked_keys = list() - if len(not_equal) > 0: - logger.error("Networks do not match in DataFrame(s): %s" % (', '.join(not_equal))) + if len(key_difference) > 0: + logger.warning("Networks entries mismatch at: %s" % key_difference) + if not check_only_results: + return False + + # ... and then iter through the keys, checking for equality for each table + for key in list(keys_to_check): + + # skip 'et' (elapsed time) and entries starting with '_' (internal vars) + if key == 'et' or key.startswith("_"): + continue + + if check_only_results and not key.startswith("res_"): + continue # skip anything that is not a result table + + if isinstance(net1[key], pd.DataFrame): + if not isinstance(net2[key], pd.DataFrame): + not_equal.append(key) + else: + if "object" in net1[key].columns and "object" in net2[key].columns and \ + isinstance(net1[key].object.dtype, object) and \ + isinstance(net1[key].object.dtype, object): + logger.warning("net[%s]['object'] cannot be compared." % key) + if not dataframes_equal(net1[key][net1[key].columns.difference(["object"])], + net2[key][net2[key].columns.difference(["object"])], + **kwargs): + not_equal.append(key) + elif not dataframes_equal(net1[key], net2[key], **kwargs): + not_equal.append(key) + + elif isinstance(net1[key], np.ndarray): + if not isinstance(net2[key], np.array): + not_equal.append(key) + else: + if version.parse(np.__version__) < version.parse("0.19"): + if not compare_arrays(net1[key], net2[key]).all(): + not_equal.append(key) + else: + if not np.array_equal(net1[key], net2[key], equal_nan=True): + not_equal.append(key) + + elif isinstance(net1[key], int) or isinstance(net1[key], float) or \ + isinstance(net1[key], complex): + if not np.isclose(net1[key], net2[key]): + not_equal.append(key) + + else: + try: + is_eq = net1[key] == net2[key] + if not is_eq: + not_equal.append(key) + except: + not_checked_keys.append(key) + + if len(not_checked_keys) > 0: + logger.warning("These keys were ignored by the comparison of the networks: %s" % (', '.join( + not_checked_keys))) - return eq + if len(not_equal) > 0: + logger.warning("Networks do not match in DataFrame(s): %s" % (', '.join(not_equal))) + return False + else: + return True def clear_result_tables(net): From c5408199ffae5a8cc5c29a12a3ce9d907e2c7e97 Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Tue, 10 Aug 2021 14:19:12 +0200 Subject: [PATCH 166/422] resave jsons of power_system_test_cases to correct net.sn_mva (baseMVA) close #1312 --- .../GBnetwork.json | 429 +++++++++++++++++- .../GBreducednetwork.json | 429 +++++++++++++++++- .../power_system_test_case_jsons/case118.json | 429 +++++++++++++++++- .../case11_iwamoto.json | 427 ++++++++++++++++- .../case1354pegase.json | 429 +++++++++++++++++- .../power_system_test_case_jsons/case14.json | 429 +++++++++++++++++- .../power_system_test_case_jsons/case145.json | 429 +++++++++++++++++- .../case1888rte.json | 429 +++++++++++++++++- .../case24_ieee_rts.json | 429 +++++++++++++++++- .../case2848rte.json | 429 +++++++++++++++++- .../case2869pegase.json | 429 +++++++++++++++++- .../power_system_test_case_jsons/case30.json | 429 +++++++++++++++++- .../power_system_test_case_jsons/case300.json | 429 +++++++++++++++++- .../case3120sp.json | 429 +++++++++++++++++- .../case33bw.json | 429 +++++++++++++++++- .../power_system_test_case_jsons/case39.json | 429 +++++++++++++++++- .../power_system_test_case_jsons/case4gs.json | 429 +++++++++++++++++- .../power_system_test_case_jsons/case5.json | 429 +++++++++++++++++- .../power_system_test_case_jsons/case57.json | 429 +++++++++++++++++- .../case5_demo_gridcal.json | 429 +++++++++++++++++- .../case6470rte.json | 429 +++++++++++++++++- .../case6495rte.json | 429 +++++++++++++++++- .../case6515rte.json | 429 +++++++++++++++++- .../power_system_test_case_jsons/case6ww.json | 429 +++++++++++++++++- .../case89pegase.json | 429 +++++++++++++++++- .../power_system_test_case_jsons/case9.json | 429 +++++++++++++++++- .../case9241pegase.json | 429 +++++++++++++++++- .../case_ieee30.json | 429 +++++++++++++++++- .../case_illinois200.json | 429 +++++++++++++++++- .../power_system_test_case_jsons/iceland.json | 429 +++++++++++++++++- 30 files changed, 12599 insertions(+), 269 deletions(-) diff --git a/pandapower/networks/power_system_test_case_jsons/GBnetwork.json b/pandapower/networks/power_system_test_case_jsons/GBnetwork.json index fdb033195..091c09b03 100644 --- a/pandapower/networks/power_system_test_case_jsons/GBnetwork.json +++ b/pandapower/networks/power_system_test_case_jsons/GBnetwork.json @@ -52,6 +52,68 @@ "current_source": "bool" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "storage": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -74,7 +136,7 @@ "gen": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0,1,10,100,101,102,103,104,105,106,107,108,109,11,110,111,112,113,114,115,116,117,118,119,12,120,121,122,123,124,125,126,127,128,129,13,130,131,132,133,134,135,136,137,138,139,14,140,141,142,143,144,145,146,147,148,149,15,150,151,152,153,154,155,156,157,158,159,16,160,161,162,163,164,165,166,167,168,169,17,170,171,172,173,174,175,176,177,178,179,18,180,181,182,183,184,185,186,187,188,189,19,190,191,192,193,194,195,196,197,198,199,2,20,200,201,202,203,204,205,206,207,208,209,21,210,211,212,213,214,215,216,217,218,219,22,220,221,222,223,224,225,226,227,228,229,23,230,231,232,233,234,235,236,237,238,239,24,240,241,242,243,244,245,246,247,248,249,25,250,251,252,253,254,255,256,257,258,259,26,260,261,262,263,264,265,266,267,268,269,27,270,271,272,273,274,275,276,277,278,279,28,280,281,282,283,284,285,286,287,288,289,29,290,291,292,293,294,295,296,297,298,299,3,30,300,301,302,303,304,305,306,307,308,309,31,310,311,312,313,314,315,316,317,318,319,32,320,321,322,323,324,325,326,327,328,329,33,330,331,332,333,334,335,336,337,338,339,34,340,341,342,343,344,345,346,347,348,349,35,350,351,352,353,354,355,356,357,358,359,36,360,361,362,363,364,365,366,367,368,369,37,370,371,372,373,374,375,376,377,378,379,38,380,381,382,383,384,385,386,387,388,389,39,390,391,392,4,40,41,42,43,44,45,46,47,48,49,5,50,51,52,53,54,55,56,57,58,59,6,60,61,62,63,64,65,66,67,68,69,7,70,71,72,73,74,75,76,77,78,79,8,80,81,82,83,84,85,86,87,88,89,9,90,91,92,93,94,95,96,97,98,99],\"data\":[[1,true,true,null,303.796599999999955,1.0,null,null,1.05,false,820.5,0.0,298.0,-81.0],[2,true,true,null,304.382200000000012,1.0,null,null,1.05,false,820.5,0.0,298.0,-81.0],[14,true,true,null,290.462800000000016,1.0,null,null,1.05,false,742.5,0.0,263.0,-120.0],[139,true,true,null,300.629599999999982,1.0,null,null,1.05,false,388.5,0.0,114.0,-88.0],[141,true,true,null,308.819500000000005,1.0,null,null,1.05,false,892.5,0.0,386.0,-211.0],[142,true,true,null,308.81940000000003,1.0,null,null,1.05,false,892.5,0.0,385.0,-204.0],[144,true,true,null,230.25,1.0,null,null,1.05,false,230.25,0.0,72.0,-48.0],[145,true,true,null,230.25,1.0,null,null,1.05,false,230.25,0.0,72.0,-48.0],[146,true,true,null,230.25,1.0,null,null,1.05,false,230.25,0.0,72.0,-48.0],[147,true,true,null,230.25,1.0,null,null,1.05,false,230.25,0.0,72.0,-48.0],[149,true,true,null,230.25,1.0,null,null,1.05,false,230.25,0.0,72.0,-48.0],[150,true,true,null,230.25,1.0,null,null,1.05,false,230.25,0.0,72.0,-48.0],[151,true,true,null,230.25,1.0,null,null,1.05,false,230.25,0.0,72.0,-48.0],[15,true,true,null,290.180000000000007,1.0,null,null,1.05,false,757.5,0.0,243.0,-115.0],[152,true,true,null,230.25,1.0,null,null,1.05,false,230.25,0.0,72.0,-48.0],[153,true,true,null,279.995999999999981,1.0,null,null,1.05,false,485.25,0.0,192.0,-114.0],[154,true,true,null,280.0471,1.0,null,null,1.05,false,485.25,0.0,192.0,-114.0],[155,true,true,null,0.0,1.0,null,null,1.01,false,0.0,0.0,0.0,0.0],[157,true,true,null,0.0,1.0,null,null,0.99,false,0.0,0.0,0.0,0.0],[158,true,true,null,299.771200000000022,1.0,null,null,1.05,false,525.0,0.0,175.0,-60.0],[160,true,true,null,301.629799999999989,1.0,null,null,1.05,false,525.0,0.0,175.0,-60.0],[161,true,true,null,299.206400000000031,1.0,null,null,1.05,false,525.0,0.0,190.0,-56.399999999999999],[163,true,true,null,289.307099999999991,1.0,null,null,1.05,false,724.5,0.0,287.0,-110.0],[164,true,true,null,289.275100000000009,1.0,null,null,1.05,false,754.5,0.0,252.0,-107.0],[16,true,true,null,290.43180000000001,1.0,null,null,1.05,false,757.5,0.0,243.0,-120.0],[165,true,true,null,289.321599999999989,1.0,null,null,1.05,false,754.5,0.0,252.0,-107.0],[166,true,true,null,289.306400000000053,1.0,null,null,1.05,false,724.5,0.0,287.0,-110.0],[168,true,true,null,293.322099999999978,1.0,null,null,1.05,false,367.5,0.0,182.0,-85.0],[169,true,true,null,293.305999999999983,1.0,null,null,1.05,false,367.5,0.0,179.0,-83.0],[170,true,true,null,293.384900000000016,1.0,null,null,1.05,false,367.5,0.0,176.0,-83.0],[171,true,true,null,293.903099999999995,1.0,null,null,1.05,false,367.5,0.0,178.0,-80.0],[173,true,true,null,291.469299999999976,1.0,null,null,1.05,false,517.5,0.0,220.0,-124.0],[174,true,true,null,291.469200000000001,1.0,null,null,1.05,false,517.5,0.0,220.0,-124.0],[175,true,true,null,291.468799999999987,1.0,null,null,1.05,false,517.5,0.0,220.0,-124.0],[176,true,true,null,291.468999999999994,1.0,null,null,1.05,false,517.5,0.0,221.0,-124.0],[17,true,true,null,290.384700000000009,1.0,null,null,1.05,false,742.5,0.0,263.0,-120.0],[177,true,true,null,304.264599999999973,1.0,null,null,1.05,false,349.5,0.0,91.0,-62.0],[178,true,true,null,304.264599999999973,1.0,null,null,1.05,false,349.5,0.0,91.0,-62.0],[179,true,true,null,304.425900000000013,1.0,null,null,1.05,false,426.0,0.0,119.0,-73.0],[181,true,true,null,0.0,1.0,null,null,1.01,false,0.0,0.0,0.0,0.0],[183,true,true,null,253.5,1.0,null,null,1.05,false,253.5,0.0,103.0,-55.0],[184,true,true,null,253.5,1.0,null,null,1.05,false,253.5,0.0,96.0,-59.0],[185,true,true,null,253.5,1.0,null,null,1.05,false,253.5,0.0,94.0,-60.0],[186,true,true,null,281.846699999999998,1.0,null,null,1.05,false,393.0,0.0,164.0,-91.0],[187,true,true,null,304.750400000000013,1.0,null,null,1.05,false,345.0,0.0,94.0,-61.0],[188,true,true,null,304.750400000000013,1.0,null,null,1.05,false,345.0,0.0,103.0,-57.0],[19,true,true,null,290.199700000000007,1.0,null,null,1.05,false,300.0,0.0,107.400000000000006,-56.799999999999997],[189,true,true,null,304.914400000000057,1.0,null,null,1.05,false,435.0,0.0,154.0,-81.0],[190,true,true,null,261.0,1.0,null,null,1.05,false,261.0,0.0,94.0,-57.0],[191,true,true,null,261.0,1.0,null,null,1.05,false,261.0,0.0,94.0,-57.0],[192,true,true,null,252.0,1.0,null,null,1.05,false,252.0,0.0,107.0,-57.0],[194,true,true,null,290.958500000000015,1.0,null,null,1.05,false,373.5,0.0,225.599999999999994,-123.0],[195,true,true,null,290.958500000000015,1.0,null,null,1.05,false,373.5,0.0,225.599999999999994,-123.0],[196,true,true,null,290.958500000000015,1.0,null,null,1.05,false,375.0,0.0,229.400000000000006,-117.600000000000008],[198,true,true,null,294.283500000000004,1.0,null,null,1.05,false,400.050000000000011,0.0,134.289999999999992,-95.640000000000001],[199,true,true,null,294.283500000000004,1.0,null,null,1.05,false,400.050000000000011,0.0,134.289999999999992,-95.640000000000001],[200,true,true,null,294.283500000000004,1.0,null,null,1.05,false,399.900000000000034,0.0,162.75,-87.760000000000005],[20,true,true,null,290.199700000000007,1.0,null,null,1.05,false,300.0,0.0,107.400000000000006,-56.799999999999997],[202,true,true,null,306.673400000000015,1.0,null,null,1.05,false,406.0,0.0,138.0,-93.0],[203,true,true,null,306.673400000000015,1.0,null,null,1.05,false,406.0,0.0,138.0,-93.0],[204,true,true,null,306.673400000000015,1.0,null,null,1.05,false,406.0,0.0,155.0,-85.0],[205,true,true,null,305.925799999999981,1.0,null,null,1.05,false,633.0,0.0,209.0,-145.200000000000017],[207,true,true,null,306.789299999999969,1.0,null,null,1.05,false,780.0,0.0,298.720000000000027,-188.659999999999997],[208,true,true,null,48.450000000000003,1.0,null,null,1.05,false,48.450000000000003,0.0,16.899999999999999,-9.800000000000001],[210,true,true,null,291.910500000000013,1.0,null,null,1.05,false,385.5,0.0,189.900000000000006,-145.099999999999994],[211,true,true,null,291.910500000000013,1.0,null,null,1.05,false,385.5,0.0,196.200000000000017,-143.800000000000011],[212,true,true,null,292.033599999999979,1.0,null,null,1.05,false,549.0,0.0,313.0,-183.5],[214,true,true,null,302.017099999999971,1.0,null,null,1.05,false,409.5,0.0,166.0,-93.0],[21,true,true,null,144.0,1.0,null,null,1.05,false,144.0,0.0,116.200000000000003,-59.0],[215,true,true,null,302.017099999999971,1.0,null,null,1.05,false,409.5,0.0,155.0,-94.0],[216,true,true,null,302.017099999999971,1.0,null,null,1.05,false,388.5,0.0,159.0,-89.0],[218,true,true,null,301.364400000000046,1.0,null,null,1.05,false,371.5,0.0,167.0,-106.0],[219,true,true,null,301.364400000000046,1.0,null,null,1.05,false,371.5,0.0,167.0,-106.0],[220,true,true,null,301.364400000000046,1.0,null,null,1.05,false,371.5,0.0,196.0,-94.0],[221,true,true,null,290.495699999999999,1.0,null,null,1.05,false,592.5,0.0,220.0,-136.72999999999999],[223,true,true,null,284.230700000000013,1.0,null,null,1.05,false,550.5,0.0,248.680000000000007,-139.22999999999999],[224,true,true,null,284.230700000000013,1.0,null,null,1.05,false,550.5,0.0,248.680000000000007,-139.22999999999999],[225,true,true,null,284.230700000000013,1.0,null,null,1.05,false,550.5,0.0,248.680000000000007,-139.22999999999999],[227,true,true,null,316.638800000000003,1.0,null,null,1.02,false,637.5,0.0,250.0,-138.0],[23,true,true,null,305.121700000000033,1.0,null,null,1.05,false,790.5,0.0,282.70999999999998,-180.969999999999999],[228,true,true,null,316.638800000000003,1.0,null,null,1.02,false,637.5,0.0,250.0,-138.0],[230,true,true,null,304.959599999999966,1.0,null,null,1.05,false,600.0,0.0,250.0,-140.0],[231,true,true,null,304.959599999999966,1.0,null,null,1.05,false,600.0,0.0,250.0,-140.0],[233,true,true,null,66.0,1.0,null,null,1.05,false,66.0,0.0,25.0,-14.0],[234,true,true,null,66.0,1.0,null,null,1.05,false,66.0,0.0,25.0,-14.0],[235,true,true,null,67.5,1.0,null,null,1.05,false,67.5,0.0,25.0,-14.0],[236,true,true,null,67.5,1.0,null,null,1.05,false,67.5,0.0,25.0,-14.0],[237,true,true,null,67.5,1.0,null,null,1.05,false,67.5,0.0,25.0,-14.0],[238,true,true,null,67.5,1.0,null,null,1.05,false,67.5,0.0,25.0,-14.0],[240,true,true,null,282.639599999999973,1.0,null,null,1.05,false,363.75,0.0,158.629999999999996,-90.390000000000001],[24,true,true,null,305.00200000000001,1.0,null,null,1.05,false,790.5,0.0,302.660000000000025,-174.400000000000006],[241,true,true,null,282.639599999999973,1.0,null,null,1.05,false,363.75,0.0,158.629999999999996,-90.390000000000001],[242,true,true,null,175.5,1.0,null,null,1.05,false,175.5,0.0,74.570000000000007,-37.799999999999997],[243,true,true,null,175.5,1.0,null,null,1.05,false,175.5,0.0,74.570000000000007,-37.799999999999997],[248,true,true,null,310.092099999999959,1.0,null,null,1.05,false,342.0,0.0,194.0,-91.0],[250,true,true,null,310.273700000000019,1.0,null,null,1.05,false,363.0,0.0,180.0,-86.0],[252,true,true,null,90.0,1.0,null,null,1.05,false,90.0,0.0,41.0,-21.0],[253,true,true,null,253.5,1.0,null,null,1.05,false,253.5,0.0,100.0,-57.0],[255,true,true,null,55.5,1.0,null,null,1.05,false,55.5,0.0,28.0,-15.0],[256,true,true,null,55.5,1.0,null,null,1.05,false,55.5,0.0,24.0,-16.0],[257,true,true,null,55.5,1.0,null,null,1.05,false,55.5,0.0,24.0,-16.0],[26,true,true,null,304.586700000000008,1.0,null,null,1.05,false,790.5,0.0,282.70999999999998,-180.969999999999999],[258,true,true,null,66.0,1.0,null,null,1.05,false,66.0,0.0,34.0,-17.0],[260,true,true,null,307.314900000000023,1.0,null,null,1.05,false,630.0,0.0,331.5,-147.700000000000017],[262,true,true,null,105.0,1.0,null,null,1.05,false,105.0,0.0,44.399999999999999,-27.899999999999999],[263,true,true,null,105.0,1.0,null,null,1.05,false,105.0,0.0,44.399999999999999,-27.899999999999999],[264,true,true,null,105.0,1.0,null,null,1.05,false,105.0,0.0,49.0,-23.5],[269,true,true,null,304.201700000000017,1.0,null,null,1.05,false,585.0,0.0,273.400000000000034,-140.700000000000017],[271,true,true,null,255.0,1.0,null,null,1.05,false,255.0,0.0,70.0,-51.0],[272,true,true,null,112.5,1.0,null,null,1.05,false,112.5,0.0,33.0,-23.0],[274,true,true,null,181.5,1.0,null,null,1.05,false,181.5,0.0,39.799999999999997,-39.799999999999997],[275,true,true,null,181.5,1.0,null,null,1.05,false,181.5,0.0,39.799999999999997,-39.799999999999997],[3,true,true,null,303.95150000000001,1.0,null,null,1.05,false,820.5,0.0,298.0,-81.0],[27,true,true,null,304.61930000000001,1.0,null,null,1.05,false,790.5,0.0,282.70999999999998,-180.969999999999999],[276,true,true,null,181.5,1.0,null,null,1.05,false,181.5,0.0,39.799999999999997,-39.799999999999997],[351,true,true,null,0.0,1.0,null,null,1.04,false,0.0,0.0,150.0,-50.0],[352,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,150.0,-50.0],[407,true,true,null,313.804100000000005,1.0,null,null,1.05,false,2817.0,1800.0,250.0,-50.0],[424,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,150.0,-50.0],[571,true,true,null,0.0,1.0,null,null,1.03,false,0.0,0.0,150.0,-50.0],[573,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,150.0,-50.0],[584,true,true,null,0.0,1.0,null,null,1.03,false,0.0,0.0,150.0,-50.0],[854,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,158.680000000000007,-67.810000000000002],[881,true,true,null,0.0,1.0,null,null,1.02,false,0.0,0.0,158.680000000000007,-88.879999999999996],[29,true,true,null,286.843799999999988,1.0,null,null,1.05,false,300.0,0.0,115.0,-115.0],[882,true,true,null,0.0,1.0,null,null,1.02,false,0.0,0.0,158.680000000000007,-88.879999999999996],[883,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,161.990000000000009,-67.109999999999999],[884,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,161.990000000000009,-125.920000000000002],[885,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,151.659999999999997,-134.710000000000008],[886,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,151.659999999999997,-134.710000000000008],[887,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,161.990000000000009,-67.109999999999999],[888,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,161.990000000000009,-67.109999999999999],[889,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,161.990000000000009,-67.109999999999999],[890,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,161.990000000000009,-67.109999999999999],[891,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,161.990000000000009,-67.109999999999999],[30,true,true,null,286.843799999999988,1.0,null,null,1.05,false,300.0,0.0,115.0,-115.0],[892,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,161.990000000000009,-67.109999999999999],[893,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,162.110000000000014,-67.079999999999998],[894,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,161.990000000000009,-67.109999999999999],[895,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,161.990000000000009,-67.109999999999999],[896,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,158.680000000000007,-67.810000000000002],[897,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,158.680000000000007,-67.810000000000002],[900,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,142.5,-71.25],[902,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,257.600000000000023,0.0],[973,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,57.0,0.0],[974,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,57.0,0.0],[31,true,true,null,286.843799999999988,1.0,null,null,1.05,false,300.0,0.0,115.0,-115.0],[975,true,true,null,0.0,1.0,null,null,1.03,false,0.0,0.0,57.0,0.0],[976,true,true,null,0.0,1.0,null,null,1.03,false,0.0,0.0,57.0,0.0],[977,true,true,null,0.0,1.0,null,null,1.01,false,0.0,0.0,57.0,0.0],[978,true,true,null,0.0,1.0,null,null,1.04,false,0.0,0.0,57.0,0.0],[979,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,57.0,0.0],[980,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,57.0,0.0],[981,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,57.0,0.0],[982,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,57.0,0.0],[983,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,57.0,0.0],[984,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,57.0,0.0],[32,true,true,null,286.843799999999988,1.0,null,null,1.05,false,300.0,0.0,115.0,-115.0],[1082,true,true,null,196.5,1.0,null,null,1.05,false,196.5,0.0,56.0,-46.0],[1083,true,true,null,196.5,1.0,null,null,1.05,false,196.5,0.0,56.0,-46.0],[1084,true,true,null,196.5,1.0,null,null,1.05,false,196.5,0.0,56.0,-46.0],[1287,true,true,null,200.550000000000011,1.0,null,null,1.05,false,200.550000000000011,0.0,85.0,-60.0],[1288,true,true,null,200.550000000000011,1.0,null,null,1.05,false,200.550000000000011,0.0,85.0,-60.0],[1289,true,true,null,200.550000000000011,1.0,null,null,1.05,false,200.550000000000011,0.0,85.0,-60.0],[1322,true,true,null,202.5,1.0,null,null,1.05,false,202.5,0.0,83.0,-48.0],[1323,true,true,null,202.5,1.0,null,null,1.05,false,202.5,0.0,83.0,-48.0],[1324,true,true,null,202.5,1.0,null,null,1.05,false,202.5,0.0,100.0,-57.0],[1326,true,true,null,294.402600000000007,1.0,null,null,1.05,false,510.0,0.0,176.550000000000011,-129.800000000000011],[33,true,true,null,286.843799999999988,1.0,null,null,1.05,false,300.0,0.0,115.0,-115.0],[1371,true,true,null,299.390700000000038,1.0,null,null,1.05,false,630.0,0.0,138.0,-138.0],[1373,true,true,null,61.5,1.0,null,null,1.05,false,61.5,0.0,7.0,-7.0],[1374,true,true,null,61.5,1.0,null,null,1.05,false,61.5,0.0,7.0,-7.0],[1375,true,true,null,61.5,1.0,null,null,1.05,false,61.5,0.0,7.0,-7.0],[1376,true,true,null,61.5,1.0,null,null,1.05,false,61.5,0.0,15.1,-15.1],[1377,true,true,null,96.0,1.0,null,null,1.05,false,96.0,0.0,20.699999999999999,-20.699999999999999],[1386,true,true,null,237.0,1.0,null,null,1.05,false,237.0,0.0,51.93,-51.93],[1391,true,true,null,220.076400000000007,1.0,null,null,1.05,false,432.0,0.0,176.0,-52.0],[1392,true,true,null,220.076400000000007,1.0,null,null,1.05,false,432.0,0.0,176.0,-52.0],[1393,true,true,null,220.076400000000007,1.0,null,null,1.05,false,432.0,0.0,2.0,-2.0],[34,true,true,null,0.0,1.0,null,null,1.01,false,0.0,0.0,0.0,0.0],[1394,true,true,null,220.076400000000007,1.0,null,null,1.05,false,432.0,0.0,2.0,-2.0],[1396,true,true,null,247.304299999999984,1.0,null,null,1.05,false,900.0,0.0,414.400000000000034,-190.5],[1397,true,true,null,247.304299999999984,1.0,null,null,1.05,false,900.0,0.0,414.400000000000034,-190.5],[1399,true,true,null,232.051500000000004,1.0,null,null,1.05,false,907.5,0.0,405.0,-171.0],[1400,true,true,null,232.032000000000011,1.0,null,null,1.05,false,907.5,0.0,128.0,-97.0],[1402,true,true,null,105.75,1.0,null,null,1.05,false,105.75,0.0,45.0,-24.0],[1404,true,true,null,78.75,1.0,null,null,1.05,false,78.75,0.0,37.0,-20.0],[1406,true,true,null,190.583400000000012,1.0,null,null,1.05,false,864.0,0.0,371.800000000000011,-108.0],[1407,true,true,null,190.583400000000012,1.0,null,null,1.05,false,864.0,0.0,371.800000000000011,-108.0],[1408,true,true,null,190.583400000000012,1.0,null,null,1.05,false,864.0,0.0,371.800000000000011,-108.0],[36,true,true,null,288.176199999999994,1.0,null,null,1.05,false,973.5,0.0,380.0,-198.0],[1409,true,true,null,190.57650000000001,1.0,null,null,1.05,false,864.0,0.0,371.800000000000011,-108.0],[1411,true,true,null,165.0,1.0,null,null,1.05,false,165.0,0.0,68.0,-39.0],[1412,true,true,null,165.0,1.0,null,null,1.05,false,165.0,0.0,68.0,-39.0],[1414,true,true,null,165.0,1.0,null,null,1.05,false,165.0,0.0,48.0,-33.0],[1415,true,true,null,165.0,1.0,null,null,1.05,false,165.0,0.0,48.0,-33.0],[1417,true,true,null,140.400000000000006,1.0,null,null,1.05,false,140.400000000000006,0.0,10.0,-10.0],[1419,true,true,null,53.316600000000001,1.0,null,null,1.05,false,72.359999999999999,0.0,32.450000000000003,-22.02],[1421,true,true,null,53.370900000000013,1.0,null,null,1.05,false,72.359999999999999,0.0,32.450000000000003,-22.02],[1423,true,true,null,32.399999999999999,1.0,null,null,1.05,false,32.399999999999999,0.0,9.859999999999999,-9.859999999999999],[1425,true,true,null,68.040000000000006,1.0,null,null,1.05,false,68.040000000000006,0.0,30.27,-20.539999999999999],[37,true,true,null,288.176299999999969,1.0,null,null,1.05,false,973.5,0.0,380.0,-198.0],[1427,true,true,null,35.640000000000001,1.0,null,null,1.05,false,35.640000000000001,0.0,16.949999999999999,-11.5],[1429,true,true,null,41.039999999999999,1.0,null,null,1.05,false,41.039999999999999,0.0,12.49,-12.49],[1431,true,true,null,67.5,1.0,null,null,1.05,false,67.5,0.0,14.789999999999999,-14.789999999999999],[1433,true,true,null,115.920000000000002,1.0,null,null,1.05,false,115.920000000000002,0.0,35.270000000000003,-35.270000000000003],[1435,true,true,null,115.920000000000002,1.0,null,null,1.05,false,115.920000000000002,0.0,35.270000000000003,-35.270000000000003],[1437,true,true,null,115.920000000000002,1.0,null,null,1.05,false,115.920000000000002,0.0,35.270000000000003,-35.270000000000003],[1439,true,true,null,34.560000000000002,1.0,null,null,1.05,false,34.560000000000002,0.0,10.35,-10.35],[1682,true,true,null,180.0,1.0,null,null,1.05,false,180.0,0.0,88.0,-47.0],[1727,true,true,null,49.5,1.0,null,null,1.05,false,49.5,0.0,24.809999999999999,-25.5],[1785,true,true,null,20.52,1.0,null,null,1.05,false,20.52,0.0,3.5,-3.5],[38,true,true,null,288.175799999999981,1.0,null,null,1.05,false,973.5,0.0,380.0,-198.0],[1787,true,true,null,12.960000000000001,1.0,null,null,1.02,false,12.960000000000001,0.0,-1.0,-1.0],[1789,true,true,null,30.239999999999998,1.0,null,null,1.05,false,30.239999999999998,0.0,6.9,-6.9],[1791,true,true,null,31.32,1.0,null,null,1.05,false,31.32,0.0,5.0,-5.0],[1793,true,true,null,9.359999999999999,1.0,null,null,1.05,false,9.359999999999999,0.0,-1.0,-1.0],[1795,true,true,null,23.010000000000002,1.0,null,null,1.04,false,23.010000000000002,0.0,7.0,-7.0],[1797,true,true,null,39.960000000000001,1.0,null,null,1.05,false,39.960000000000001,0.0,10.699999999999999,-7.3],[1799,true,true,null,39.960000000000001,1.0,null,null,1.05,false,39.960000000000001,0.0,10.699999999999999,-7.3],[1801,true,true,null,20.25,1.0,null,null,1.05,false,20.25,0.0,3.5,-3.5],[1803,true,true,null,32.399999999999999,1.0,null,null,1.05,false,32.399999999999999,0.0,-6.0,-6.0],[1805,true,true,null,54.640000000000001,1.0,null,null,1.05,false,54.640000000000001,0.0,16.0,-16.0],[5,true,true,null,191.25,1.0,null,null,1.05,false,191.25,0.0,78.0,-45.0],[40,true,true,null,288.553900000000056,1.0,null,null,1.05,false,973.5,0.0,380.0,-184.0],[1811,true,true,null,25.920000000000002,1.0,null,null,1.05,false,25.920000000000002,0.0,-2.5,-2.5],[1813,true,true,null,25.920000000000002,1.0,null,null,1.05,false,25.920000000000002,0.0,-2.5,-2.5],[1823,true,true,null,24.0,1.0,null,null,1.05,false,24.0,0.0,5.25,-5.25],[1825,true,true,null,24.0,1.0,null,null,1.05,false,24.0,0.0,5.25,-5.25],[1827,true,true,null,31.32,1.0,null,null,1.05,false,31.32,0.0,-2.5,-2.5],[1829,true,true,null,28.649999999999999,1.0,null,null,1.05,false,28.649999999999999,0.0,8.300000000000001,0.0],[1833,true,true,null,16.199999999999999,1.0,null,null,1.05,false,16.199999999999999,0.0,-3.0,-3.0],[1837,true,true,null,32.399999999999999,1.0,null,null,1.05,false,32.399999999999999,0.0,9.859999999999999,-9.859999999999999],[1839,true,true,null,37.5,1.0,null,null,1.05,false,37.5,0.0,12.1,0.0],[1841,true,true,null,37.5,1.0,null,null,1.05,false,37.5,0.0,12.1,0.0],[41,true,true,null,288.55359999999996,1.0,null,null,1.05,false,973.5,0.0,380.0,-184.0],[1843,true,true,null,49.68,1.0,null,null,1.05,false,49.68,0.0,9.0,-9.0],[1845,true,true,null,49.68,1.0,null,null,1.05,false,49.68,0.0,9.0,-9.0],[1847,true,true,null,34.5,1.0,null,null,1.03,false,34.5,0.0,0.0,0.0],[1848,true,true,null,34.5,1.0,null,null,1.04,false,34.5,0.0,0.0,0.0],[1851,true,true,null,24.75,1.0,null,null,1.05,false,24.75,0.0,10.199999999999999,-5.4],[1853,true,true,null,158.843299999999999,1.0,null,null,1.05,false,225.0,0.0,40.0,-80.0],[1854,true,true,null,158.794499999999999,1.0,null,null,1.05,false,225.0,0.0,40.0,-80.0],[1856,true,true,null,7.5,1.0,null,null,1.05,false,7.5,0.0,-0.5,-0.5],[1860,true,true,null,55.5,1.0,null,null,1.04,false,55.5,0.0,13.74,0.0],[1862,true,true,null,14.039999999999999,1.0,null,null,1.05,false,14.039999999999999,0.0,4.2,-4.2],[42,true,true,null,288.58499999999998,1.0,null,null,1.05,false,973.5,0.0,380.0,-184.0],[1864,true,true,null,14.039999999999999,1.0,null,null,1.05,false,14.039999999999999,0.0,4.2,-4.2],[1866,true,true,null,32.549999999999997,1.0,null,null,1.05,false,32.549999999999997,0.0,5.26,0.0],[1872,true,true,null,11.23,1.0,null,null,1.05,false,11.23,0.0,1.5,-1.5],[1874,true,true,null,15.0,1.0,null,null,1.05,false,15.0,0.0,4.3,-2.7],[1875,true,true,null,15.0,1.0,null,null,1.05,false,15.0,0.0,4.3,-2.7],[1876,true,true,null,15.0,1.0,null,null,1.05,false,15.0,0.0,4.3,-2.7],[1885,true,true,null,22.5,1.0,null,null,1.05,false,22.5,0.0,7.3,-2.8],[1891,true,true,null,12.449999999999999,1.0,null,null,1.05,false,12.449999999999999,0.0,6.58,-3.9],[1893,true,true,null,70.200000000000003,1.0,null,null,1.05,false,70.200000000000003,0.0,15.0,-15.0],[1895,true,true,null,27.989999999999998,1.0,null,null,1.05,false,27.989999999999998,0.0,5.26,0.0],[44,true,true,null,314.781200000000012,1.0,null,null,1.05,false,811.5,0.0,409.0,-217.0],[1897,true,true,null,19.98,1.0,null,null,1.05,false,19.98,0.0,-1.0,-1.0],[1901,true,true,null,75.600000000000008,1.0,null,null,1.05,false,75.600000000000008,0.0,13.0,-13.0],[1903,true,true,null,176.011799999999994,1.0,null,null,1.05,false,558.0,0.0,408.0,-50.0],[1905,true,true,null,175.939600000000013,1.0,null,null,1.05,false,531.0,0.0,408.0,-50.0],[1907,true,true,null,175.497700000000009,1.0,null,null,1.05,false,399.0,0.0,165.0,-87.5],[1909,true,true,null,175.489399999999989,1.0,null,null,1.05,false,399.0,0.0,165.0,-87.5],[1911,true,true,null,175.520200000000017,1.0,null,null,1.05,false,399.0,0.0,165.0,-87.5],[1913,true,true,null,27.079999999999998,1.0,null,null,1.05,false,27.079999999999998,0.0,5.9,0.0],[1915,true,true,null,25.199999999999999,1.0,null,null,1.05,false,25.199999999999999,0.0,10.5,0.0],[1917,true,true,null,27.93,1.0,null,null,1.05,false,27.93,0.0,6.0,0.0],[45,true,true,null,314.763000000000034,1.0,null,null,1.05,false,811.5,0.0,402.0,-227.0],[1919,true,true,null,60.0,1.0,null,null,1.04,false,60.0,0.0,13.5,-7.5],[1921,true,true,null,60.0,1.0,null,null,1.04,false,60.0,0.0,13.5,-7.5],[1923,true,true,null,60.0,1.0,null,null,1.04,false,60.0,0.0,13.5,-7.5],[1925,true,true,null,48.75,1.0,null,null,1.05,false,48.75,0.0,18.899999999999999,-9.0],[1927,true,true,null,7.8,1.0,null,null,1.05,false,7.8,0.0,-1.5,-1.5],[1929,true,true,null,18.0,1.0,null,null,1.05,false,18.0,0.0,0.0,0.0],[1931,true,true,null,72.359999999999999,1.0,null,null,1.05,false,72.359999999999999,0.0,17.91,-12.210000000000001],[1938,true,true,null,20.25,1.0,null,null,1.05,false,20.25,0.0,-3.0,-3.0],[1940,true,true,null,23.100000000000001,1.0,null,null,1.05,false,23.100000000000001,0.0,0.0,-5.0],[2027,true,true,null,7.5,1.0,null,null,1.05,false,7.5,0.0,-1.0,-1.0],[47,true,true,null,289.220100000000002,1.0,null,null,1.05,false,724.5,0.0,289.0,-84.0],[2038,true,true,null,9.300000000000001,1.0,null,null,1.05,false,9.300000000000001,0.0,0.0,0.0],[2039,true,true,null,9.300000000000001,1.0,null,null,1.05,false,9.300000000000001,0.0,0.0,0.0],[2073,true,true,null,37.5,1.0,null,null,1.05,false,37.5,0.0,12.1,0.0],[2089,true,true,null,22.5,1.0,null,null,1.04,false,22.5,0.0,0.0,0.0],[2211,true,true,null,66.0,1.0,null,null,1.05,false,66.0,0.0,32.700000000000003,0.0],[351,true,true,null,0.0,1.0,null,null,1.04,false,0.0,0.0,150.0,-50.0],[352,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,150.0,-50.0],[424,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,150.0,-50.0],[571,true,true,null,0.0,1.0,null,null,1.03,false,0.0,0.0,150.0,-50.0],[573,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,150.0,-50.0],[48,true,true,null,288.636300000000006,1.0,null,null,1.05,false,724.5,0.0,308.0,-84.0],[584,true,true,null,0.0,1.0,null,null,1.03,false,0.0,0.0,150.0,-50.0],[534,true,true,null,0.0,1.0,null,null,1.03,false,0.0,0.0,150.0,-50.0],[559,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,150.0,-50.0],[559,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,150.0,-50.0],[411,true,true,null,0.0,1.0,null,null,1.02,false,0.0,0.0,150.0,-50.0],[404,true,true,null,0.0,1.0,null,null,1.04,false,0.0,0.0,150.0,-50.0],[407,true,true,null,313.804100000000005,1.0,null,null,1.05,false,0.0,0.0,250.0,-50.0],[407,true,true,null,313.804100000000005,1.0,null,null,1.05,false,0.0,0.0,250.0,-50.0],[373,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,150.0,-50.0],[373,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,150.0,-50.0],[50,true,true,null,288.172500000000014,1.0,null,null,1.05,false,732.0,0.0,241.0,-81.0],[421,true,true,null,0.0,1.0,null,null,1.03,false,0.0,0.0,150.0,-50.0],[421,true,true,null,0.0,1.0,null,null,1.03,false,0.0,0.0,150.0,-50.0],[424,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,150.0,-50.0],[424,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,150.0,-50.0],[347,true,true,null,0.0,1.0,null,null,1.04,false,0.0,0.0,150.0,-50.0],[358,true,true,null,0.0,1.0,null,null,1.04,false,0.0,0.0,150.0,-50.0],[358,true,true,null,0.0,1.0,null,null,1.04,false,0.0,0.0,150.0,-50.0],[443,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,150.0,-50.0],[521,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,150.0,-50.0],[540,true,true,null,0.0,1.0,null,null,1.03,false,0.0,0.0,150.0,-50.0],[51,true,true,null,288.448599999999999,1.0,null,null,1.05,false,732.0,0.0,268.0,-82.0],[346,true,true,null,0.0,1.0,null,null,1.04,false,0.0,0.0,150.0,-50.0],[564,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,150.0,-50.0],[613,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,150.0,-50.0],[545,true,true,null,0.0,1.0,null,null,1.03,false,0.0,0.0,150.0,-50.0],[543,true,true,null,0.0,1.0,null,null,1.03,false,0.0,0.0,150.0,-50.0],[532,true,true,null,0.0,1.0,null,null,1.01,false,0.0,0.0,150.0,-50.0],[363,true,true,null,0.0,1.0,null,null,1.04,false,0.0,0.0,150.0,-50.0],[605,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,150.0,-50.0],[605,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,150.0,-50.0],[566,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,150.0,-50.0],[53,true,true,null,0.0,1.0,null,null,1.01,false,0.0,0.0,0.0,0.0],[613,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,150.0,-50.0],[623,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,150.0,-50.0],[438,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,150.0,-50.0],[6,true,true,null,191.25,1.0,null,null,1.05,false,191.25,0.0,78.0,-45.0],[54,true,true,null,0.0,1.0,null,null,1.01,false,0.0,0.0,0.0,0.0],[56,true,true,null,289.948800000000006,1.0,null,null,1.05,false,735.0,0.0,286.0,-86.0],[58,true,true,null,290.752200000000016,1.0,null,null,1.05,false,735.0,0.0,286.0,-86.0],[60,true,true,null,291.178299999999979,1.0,null,null,1.05,false,735.0,0.0,286.0,-86.0],[61,true,true,null,289.995200000000011,1.0,null,null,1.05,false,735.0,0.0,287.0,-81.0],[63,true,true,null,270.0,1.0,null,null,1.05,false,270.0,0.0,60.0,-60.0],[64,true,true,null,135.0,1.0,null,null,1.04,false,135.0,0.0,30.0,-30.0],[66,true,true,null,292.387499999999989,1.0,null,null,1.05,false,727.5,0.0,308.0,-95.0],[68,true,true,null,292.371900000000039,1.0,null,null,1.05,false,727.5,0.0,311.0,-95.0],[70,true,true,null,292.757499999999993,1.0,null,null,1.05,false,727.5,0.0,329.0,-101.0],[8,true,true,null,191.25,1.0,null,null,1.05,false,191.25,0.0,81.0,-46.0],[72,true,true,null,292.776400000000024,1.0,null,null,1.05,false,759.0,0.0,203.0,-91.0],[74,true,true,null,0.0,1.0,null,null,1.0,false,0.0,0.0,0.0,0.0],[75,true,true,null,0.0,1.0,null,null,1.0,false,0.0,0.0,0.0,0.0],[76,true,true,null,0.0,1.0,null,null,1.0,false,0.0,0.0,0.0,0.0],[77,true,true,null,0.0,1.0,null,null,1.0,false,0.0,0.0,0.0,0.0],[79,true,true,null,287.224800000000016,1.0,null,null,1.05,false,906.0,0.0,367.0,-210.0],[80,true,true,null,287.254900000000021,1.0,null,null,1.05,false,906.0,0.0,351.0,-208.0],[82,true,true,null,300.416499999999985,1.0,null,null,1.05,false,910.5,0.0,392.0,-206.0],[83,true,true,null,300.399799999999971,1.0,null,null,1.05,false,894.0,0.0,398.0,-207.0],[84,true,true,null,300.449799999999982,1.0,null,null,1.05,false,900.75,0.0,367.0,-188.0],[9,true,true,null,191.25,1.0,null,null,1.05,false,191.25,0.0,78.0,-45.0],[85,true,true,null,300.449999999999989,1.0,null,null,1.05,false,903.75,0.0,362.0,-187.0],[87,true,true,null,320.308199999999999,1.0,null,null,1.05,false,966.0,0.0,312.0,-155.0],[88,true,true,null,320.289900000000046,1.0,null,null,1.05,false,925.5,0.0,289.0,-204.0],[90,true,true,null,298.57159999999999,1.0,null,null,1.05,false,723.0,0.0,296.0,-99.0],[91,true,true,null,298.598799999999983,1.0,null,null,1.05,false,723.0,0.0,296.0,-92.0],[93,true,true,null,285.404200000000003,1.0,null,null,1.05,false,367.5,0.0,138.0,-75.0],[95,true,true,null,285.816200000000038,1.0,null,null,1.05,false,367.5,0.0,155.0,-72.0],[96,true,true,null,285.816300000000012,1.0,null,null,1.05,false,367.5,0.0,145.900000000000006,-79.0],[98,true,true,null,216.0,1.0,null,null,1.05,false,216.0,0.0,87.200000000000003,-52.799999999999997],[99,true,true,null,216.0,1.0,null,null,1.05,false,216.0,0.0,87.200000000000003,-52.799999999999997],[10,true,true,null,191.25,1.0,null,null,1.05,false,191.25,0.0,78.0,-45.0],[100,true,true,null,216.0,1.0,null,null,1.05,false,216.0,0.0,87.200000000000003,-52.799999999999997],[101,true,true,null,216.0,1.0,null,null,1.05,false,216.0,0.0,87.200000000000003,-52.799999999999997],[102,true,true,null,243.0,1.0,null,null,1.05,false,243.0,0.0,103.0,-55.0],[103,true,true,null,243.0,1.0,null,null,1.05,false,243.0,0.0,103.0,-55.0],[104,true,true,null,216.900000000000006,1.0,null,null,1.05,false,216.900000000000006,0.0,75.920000000000002,-52.460000000000001],[105,true,true,null,216.900000000000006,1.0,null,null,1.05,false,216.900000000000006,0.0,75.920000000000002,-52.460000000000001],[106,true,true,null,216.900000000000006,1.0,null,null,1.05,false,216.900000000000006,0.0,75.920000000000002,-52.460000000000001],[107,true,true,null,281.604400000000055,1.0,null,null,1.05,false,346.800000000000011,0.0,139.819999999999993,-78.060000000000002],[109,true,true,null,303.295999999999992,1.0,null,null,1.05,false,727.5,0.0,286.0,-64.0],[110,true,true,null,303.313199999999995,1.0,null,null,1.05,false,727.5,0.0,286.0,-64.0],[11,true,true,null,209.25,1.0,null,null,1.05,false,209.25,0.0,78.0,-46.0],[112,true,true,null,302.544600000000003,1.0,null,null,1.05,false,727.5,0.0,286.0,-64.0],[113,true,true,null,302.5428,1.0,null,null,1.05,false,727.5,0.0,286.0,-64.0],[115,true,true,null,297.391500000000008,1.0,null,null,1.05,false,315.0,0.0,128.0,-78.0],[116,true,true,null,297.410200000000032,1.0,null,null,1.05,false,315.0,0.0,128.0,-78.0],[117,true,true,null,297.688199999999995,1.0,null,null,1.05,false,367.5,0.0,158.0,-84.0],[119,true,true,null,306.892900000000054,1.0,null,null,1.05,false,750.0,0.0,335.0,-204.0],[120,true,true,null,306.875499999999988,1.0,null,null,1.05,false,750.0,0.0,335.0,-204.0],[121,true,true,null,0.0,1.0,null,null,1.0,false,0.0,0.0,0.0,0.0],[123,true,true,null,291.782900000000041,1.0,null,null,1.05,false,340.050000000000011,0.0,149.0,-88.0],[124,true,true,null,291.767299999999978,1.0,null,null,1.05,false,340.050000000000011,0.0,151.0,-87.0],[12,true,true,null,302.388599999999997,1.0,null,null,1.05,false,334.5,0.0,125.0,-70.0],[125,true,true,null,291.703200000000038,1.0,null,null,1.05,false,340.050000000000011,0.0,164.0,-81.0],[127,true,true,null,299.906200000000012,1.0,null,null,1.05,false,750.0,0.0,255.0,-79.0],[128,true,true,null,300.357900000000029,1.0,null,null,1.05,false,750.0,0.0,255.0,-79.0],[130,true,true,null,300.897099999999966,1.0,null,null,1.05,false,750.0,0.0,255.0,-79.0],[131,true,true,null,300.224199999999996,1.0,null,null,1.05,false,750.0,0.0,255.0,-18.0],[133,true,true,null,299.903900000000022,1.0,null,null,1.05,false,747.0,0.0,270.0,-86.0],[134,true,true,null,299.906099999999981,1.0,null,null,1.05,false,747.0,0.0,270.0,-86.0],[136,true,true,null,228.0,1.0,null,null,1.05,false,228.0,0.0,88.0,-50.0],[137,true,true,null,228.0,1.0,null,null,1.05,false,228.0,0.0,88.0,-50.0],[138,true,true,null,228.0,1.0,null,null,1.05,false,228.0,0.0,88.0,-50.0]]}", + "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0,1,10,100,101,102,103,104,105,106,107,108,109,11,110,111,112,113,114,115,116,117,118,119,12,120,121,122,123,124,125,126,127,128,129,13,130,131,132,133,134,135,136,137,138,139,14,140,141,142,143,144,145,146,147,148,149,15,150,151,152,153,154,155,156,157,158,159,16,160,161,162,163,164,165,166,167,168,169,17,170,171,172,173,174,175,176,177,178,179,18,180,181,182,183,184,185,186,187,188,189,19,190,191,192,193,194,195,196,197,198,199,2,20,200,201,202,203,204,205,206,207,208,209,21,210,211,212,213,214,215,216,217,218,219,22,220,221,222,223,224,225,226,227,228,229,23,230,231,232,233,234,235,236,237,238,239,24,240,241,242,243,244,245,246,247,248,249,25,250,251,252,253,254,255,256,257,258,259,26,260,261,262,263,264,265,266,267,268,269,27,270,271,272,273,274,275,276,277,278,279,28,280,281,282,283,284,285,286,287,288,289,29,290,291,292,293,294,295,296,297,298,299,3,30,300,301,302,303,304,305,306,307,308,309,31,310,311,312,313,314,315,316,317,318,319,32,320,321,322,323,324,325,326,327,328,329,33,330,331,332,333,334,335,336,337,338,339,34,340,341,342,343,344,345,346,347,348,349,35,350,351,352,353,354,355,356,357,358,359,36,360,361,362,363,364,365,366,367,368,369,37,370,371,372,373,374,375,376,377,378,379,38,380,381,382,383,384,385,386,387,388,389,39,390,391,392,4,40,41,42,43,44,45,46,47,48,49,5,50,51,52,53,54,55,56,57,58,59,6,60,61,62,63,64,65,66,67,68,69,7,70,71,72,73,74,75,76,77,78,79,8,80,81,82,83,84,85,86,87,88,89,9,90,91,92,93,94,95,96,97,98,99],\"data\":[[1,true,true,null,303.796599999999955,1.0,null,null,1.05,false,820.5,0.0,298.0,-81.0,0.0],[2,true,true,null,304.382200000000012,1.0,null,null,1.05,false,820.5,0.0,298.0,-81.0,0.0],[14,true,true,null,290.462800000000016,1.0,null,null,1.05,false,742.5,0.0,263.0,-120.0,0.0],[139,true,true,null,300.629599999999982,1.0,null,null,1.05,false,388.5,0.0,114.0,-88.0,0.0],[141,true,true,null,308.819500000000005,1.0,null,null,1.05,false,892.5,0.0,386.0,-211.0,0.0],[142,true,true,null,308.81940000000003,1.0,null,null,1.05,false,892.5,0.0,385.0,-204.0,0.0],[144,true,true,null,230.25,1.0,null,null,1.05,false,230.25,0.0,72.0,-48.0,0.0],[145,true,true,null,230.25,1.0,null,null,1.05,false,230.25,0.0,72.0,-48.0,0.0],[146,true,true,null,230.25,1.0,null,null,1.05,false,230.25,0.0,72.0,-48.0,0.0],[147,true,true,null,230.25,1.0,null,null,1.05,false,230.25,0.0,72.0,-48.0,0.0],[149,true,true,null,230.25,1.0,null,null,1.05,false,230.25,0.0,72.0,-48.0,0.0],[150,true,true,null,230.25,1.0,null,null,1.05,false,230.25,0.0,72.0,-48.0,0.0],[151,true,true,null,230.25,1.0,null,null,1.05,false,230.25,0.0,72.0,-48.0,0.0],[15,true,true,null,290.180000000000007,1.0,null,null,1.05,false,757.5,0.0,243.0,-115.0,0.0],[152,true,true,null,230.25,1.0,null,null,1.05,false,230.25,0.0,72.0,-48.0,0.0],[153,true,true,null,279.995999999999981,1.0,null,null,1.05,false,485.25,0.0,192.0,-114.0,0.0],[154,true,true,null,280.0471,1.0,null,null,1.05,false,485.25,0.0,192.0,-114.0,0.0],[155,true,true,null,0.0,1.0,null,null,1.01,false,0.0,0.0,0.0,0.0,0.0],[157,true,true,null,0.0,1.0,null,null,0.99,false,0.0,0.0,0.0,0.0,0.0],[158,true,true,null,299.771200000000022,1.0,null,null,1.05,false,525.0,0.0,175.0,-60.0,0.0],[160,true,true,null,301.629799999999989,1.0,null,null,1.05,false,525.0,0.0,175.0,-60.0,0.0],[161,true,true,null,299.206400000000031,1.0,null,null,1.05,false,525.0,0.0,190.0,-56.399999999999999,0.0],[163,true,true,null,289.307099999999991,1.0,null,null,1.05,false,724.5,0.0,287.0,-110.0,0.0],[164,true,true,null,289.275100000000009,1.0,null,null,1.05,false,754.5,0.0,252.0,-107.0,0.0],[16,true,true,null,290.43180000000001,1.0,null,null,1.05,false,757.5,0.0,243.0,-120.0,0.0],[165,true,true,null,289.321599999999989,1.0,null,null,1.05,false,754.5,0.0,252.0,-107.0,0.0],[166,true,true,null,289.306400000000053,1.0,null,null,1.05,false,724.5,0.0,287.0,-110.0,0.0],[168,true,true,null,293.322099999999978,1.0,null,null,1.05,false,367.5,0.0,182.0,-85.0,0.0],[169,true,true,null,293.305999999999983,1.0,null,null,1.05,false,367.5,0.0,179.0,-83.0,0.0],[170,true,true,null,293.384900000000016,1.0,null,null,1.05,false,367.5,0.0,176.0,-83.0,0.0],[171,true,true,null,293.903099999999995,1.0,null,null,1.05,false,367.5,0.0,178.0,-80.0,0.0],[173,true,true,null,291.469299999999976,1.0,null,null,1.05,false,517.5,0.0,220.0,-124.0,0.0],[174,true,true,null,291.469200000000001,1.0,null,null,1.05,false,517.5,0.0,220.0,-124.0,0.0],[175,true,true,null,291.468799999999987,1.0,null,null,1.05,false,517.5,0.0,220.0,-124.0,0.0],[176,true,true,null,291.468999999999994,1.0,null,null,1.05,false,517.5,0.0,221.0,-124.0,0.0],[17,true,true,null,290.384700000000009,1.0,null,null,1.05,false,742.5,0.0,263.0,-120.0,0.0],[177,true,true,null,304.264599999999973,1.0,null,null,1.05,false,349.5,0.0,91.0,-62.0,0.0],[178,true,true,null,304.264599999999973,1.0,null,null,1.05,false,349.5,0.0,91.0,-62.0,0.0],[179,true,true,null,304.425900000000013,1.0,null,null,1.05,false,426.0,0.0,119.0,-73.0,0.0],[181,true,true,null,0.0,1.0,null,null,1.01,false,0.0,0.0,0.0,0.0,0.0],[183,true,true,null,253.5,1.0,null,null,1.05,false,253.5,0.0,103.0,-55.0,0.0],[184,true,true,null,253.5,1.0,null,null,1.05,false,253.5,0.0,96.0,-59.0,0.0],[185,true,true,null,253.5,1.0,null,null,1.05,false,253.5,0.0,94.0,-60.0,0.0],[186,true,true,null,281.846699999999998,1.0,null,null,1.05,false,393.0,0.0,164.0,-91.0,0.0],[187,true,true,null,304.750400000000013,1.0,null,null,1.05,false,345.0,0.0,94.0,-61.0,0.0],[188,true,true,null,304.750400000000013,1.0,null,null,1.05,false,345.0,0.0,103.0,-57.0,0.0],[19,true,true,null,290.199700000000007,1.0,null,null,1.05,false,300.0,0.0,107.400000000000006,-56.799999999999997,0.0],[189,true,true,null,304.914400000000057,1.0,null,null,1.05,false,435.0,0.0,154.0,-81.0,0.0],[190,true,true,null,261.0,1.0,null,null,1.05,false,261.0,0.0,94.0,-57.0,0.0],[191,true,true,null,261.0,1.0,null,null,1.05,false,261.0,0.0,94.0,-57.0,0.0],[192,true,true,null,252.0,1.0,null,null,1.05,false,252.0,0.0,107.0,-57.0,0.0],[194,true,true,null,290.958500000000015,1.0,null,null,1.05,false,373.5,0.0,225.599999999999994,-123.0,0.0],[195,true,true,null,290.958500000000015,1.0,null,null,1.05,false,373.5,0.0,225.599999999999994,-123.0,0.0],[196,true,true,null,290.958500000000015,1.0,null,null,1.05,false,375.0,0.0,229.400000000000006,-117.600000000000008,0.0],[198,true,true,null,294.283500000000004,1.0,null,null,1.05,false,400.050000000000011,0.0,134.289999999999992,-95.640000000000001,0.0],[199,true,true,null,294.283500000000004,1.0,null,null,1.05,false,400.050000000000011,0.0,134.289999999999992,-95.640000000000001,0.0],[200,true,true,null,294.283500000000004,1.0,null,null,1.05,false,399.900000000000034,0.0,162.75,-87.760000000000005,0.0],[20,true,true,null,290.199700000000007,1.0,null,null,1.05,false,300.0,0.0,107.400000000000006,-56.799999999999997,0.0],[202,true,true,null,306.673400000000015,1.0,null,null,1.05,false,406.0,0.0,138.0,-93.0,0.0],[203,true,true,null,306.673400000000015,1.0,null,null,1.05,false,406.0,0.0,138.0,-93.0,0.0],[204,true,true,null,306.673400000000015,1.0,null,null,1.05,false,406.0,0.0,155.0,-85.0,0.0],[205,true,true,null,305.925799999999981,1.0,null,null,1.05,false,633.0,0.0,209.0,-145.200000000000017,0.0],[207,true,true,null,306.789299999999969,1.0,null,null,1.05,false,780.0,0.0,298.720000000000027,-188.659999999999997,0.0],[208,true,true,null,48.450000000000003,1.0,null,null,1.05,false,48.450000000000003,0.0,16.899999999999999,-9.800000000000001,0.0],[210,true,true,null,291.910500000000013,1.0,null,null,1.05,false,385.5,0.0,189.900000000000006,-145.099999999999994,0.0],[211,true,true,null,291.910500000000013,1.0,null,null,1.05,false,385.5,0.0,196.200000000000017,-143.800000000000011,0.0],[212,true,true,null,292.033599999999979,1.0,null,null,1.05,false,549.0,0.0,313.0,-183.5,0.0],[214,true,true,null,302.017099999999971,1.0,null,null,1.05,false,409.5,0.0,166.0,-93.0,0.0],[21,true,true,null,144.0,1.0,null,null,1.05,false,144.0,0.0,116.200000000000003,-59.0,0.0],[215,true,true,null,302.017099999999971,1.0,null,null,1.05,false,409.5,0.0,155.0,-94.0,0.0],[216,true,true,null,302.017099999999971,1.0,null,null,1.05,false,388.5,0.0,159.0,-89.0,0.0],[218,true,true,null,301.364400000000046,1.0,null,null,1.05,false,371.5,0.0,167.0,-106.0,0.0],[219,true,true,null,301.364400000000046,1.0,null,null,1.05,false,371.5,0.0,167.0,-106.0,0.0],[220,true,true,null,301.364400000000046,1.0,null,null,1.05,false,371.5,0.0,196.0,-94.0,0.0],[221,true,true,null,290.495699999999999,1.0,null,null,1.05,false,592.5,0.0,220.0,-136.72999999999999,0.0],[223,true,true,null,284.230700000000013,1.0,null,null,1.05,false,550.5,0.0,248.680000000000007,-139.22999999999999,0.0],[224,true,true,null,284.230700000000013,1.0,null,null,1.05,false,550.5,0.0,248.680000000000007,-139.22999999999999,0.0],[225,true,true,null,284.230700000000013,1.0,null,null,1.05,false,550.5,0.0,248.680000000000007,-139.22999999999999,0.0],[227,true,true,null,316.638800000000003,1.0,null,null,1.02,false,637.5,0.0,250.0,-138.0,0.0],[23,true,true,null,305.121700000000033,1.0,null,null,1.05,false,790.5,0.0,282.70999999999998,-180.969999999999999,0.0],[228,true,true,null,316.638800000000003,1.0,null,null,1.02,false,637.5,0.0,250.0,-138.0,0.0],[230,true,true,null,304.959599999999966,1.0,null,null,1.05,false,600.0,0.0,250.0,-140.0,0.0],[231,true,true,null,304.959599999999966,1.0,null,null,1.05,false,600.0,0.0,250.0,-140.0,0.0],[233,true,true,null,66.0,1.0,null,null,1.05,false,66.0,0.0,25.0,-14.0,0.0],[234,true,true,null,66.0,1.0,null,null,1.05,false,66.0,0.0,25.0,-14.0,0.0],[235,true,true,null,67.5,1.0,null,null,1.05,false,67.5,0.0,25.0,-14.0,0.0],[236,true,true,null,67.5,1.0,null,null,1.05,false,67.5,0.0,25.0,-14.0,0.0],[237,true,true,null,67.5,1.0,null,null,1.05,false,67.5,0.0,25.0,-14.0,0.0],[238,true,true,null,67.5,1.0,null,null,1.05,false,67.5,0.0,25.0,-14.0,0.0],[240,true,true,null,282.639599999999973,1.0,null,null,1.05,false,363.75,0.0,158.629999999999996,-90.390000000000001,0.0],[24,true,true,null,305.00200000000001,1.0,null,null,1.05,false,790.5,0.0,302.660000000000025,-174.400000000000006,0.0],[241,true,true,null,282.639599999999973,1.0,null,null,1.05,false,363.75,0.0,158.629999999999996,-90.390000000000001,0.0],[242,true,true,null,175.5,1.0,null,null,1.05,false,175.5,0.0,74.570000000000007,-37.799999999999997,0.0],[243,true,true,null,175.5,1.0,null,null,1.05,false,175.5,0.0,74.570000000000007,-37.799999999999997,0.0],[248,true,true,null,310.092099999999959,1.0,null,null,1.05,false,342.0,0.0,194.0,-91.0,0.0],[250,true,true,null,310.273700000000019,1.0,null,null,1.05,false,363.0,0.0,180.0,-86.0,0.0],[252,true,true,null,90.0,1.0,null,null,1.05,false,90.0,0.0,41.0,-21.0,0.0],[253,true,true,null,253.5,1.0,null,null,1.05,false,253.5,0.0,100.0,-57.0,0.0],[255,true,true,null,55.5,1.0,null,null,1.05,false,55.5,0.0,28.0,-15.0,0.0],[256,true,true,null,55.5,1.0,null,null,1.05,false,55.5,0.0,24.0,-16.0,0.0],[257,true,true,null,55.5,1.0,null,null,1.05,false,55.5,0.0,24.0,-16.0,0.0],[26,true,true,null,304.586700000000008,1.0,null,null,1.05,false,790.5,0.0,282.70999999999998,-180.969999999999999,0.0],[258,true,true,null,66.0,1.0,null,null,1.05,false,66.0,0.0,34.0,-17.0,0.0],[260,true,true,null,307.314900000000023,1.0,null,null,1.05,false,630.0,0.0,331.5,-147.700000000000017,0.0],[262,true,true,null,105.0,1.0,null,null,1.05,false,105.0,0.0,44.399999999999999,-27.899999999999999,0.0],[263,true,true,null,105.0,1.0,null,null,1.05,false,105.0,0.0,44.399999999999999,-27.899999999999999,0.0],[264,true,true,null,105.0,1.0,null,null,1.05,false,105.0,0.0,49.0,-23.5,0.0],[269,true,true,null,304.201700000000017,1.0,null,null,1.05,false,585.0,0.0,273.400000000000034,-140.700000000000017,0.0],[271,true,true,null,255.0,1.0,null,null,1.05,false,255.0,0.0,70.0,-51.0,0.0],[272,true,true,null,112.5,1.0,null,null,1.05,false,112.5,0.0,33.0,-23.0,0.0],[274,true,true,null,181.5,1.0,null,null,1.05,false,181.5,0.0,39.799999999999997,-39.799999999999997,0.0],[275,true,true,null,181.5,1.0,null,null,1.05,false,181.5,0.0,39.799999999999997,-39.799999999999997,0.0],[3,true,true,null,303.95150000000001,1.0,null,null,1.05,false,820.5,0.0,298.0,-81.0,0.0],[27,true,true,null,304.61930000000001,1.0,null,null,1.05,false,790.5,0.0,282.70999999999998,-180.969999999999999,0.0],[276,true,true,null,181.5,1.0,null,null,1.05,false,181.5,0.0,39.799999999999997,-39.799999999999997,0.0],[351,true,true,null,0.0,1.0,null,null,1.04,false,0.0,0.0,150.0,-50.0,0.0],[352,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,150.0,-50.0,0.0],[407,true,true,null,313.804100000000005,1.0,null,null,1.05,false,2817.0,1800.0,250.0,-50.0,0.0],[424,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,150.0,-50.0,0.0],[571,true,true,null,0.0,1.0,null,null,1.03,false,0.0,0.0,150.0,-50.0,0.0],[573,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,150.0,-50.0,0.0],[584,true,true,null,0.0,1.0,null,null,1.03,false,0.0,0.0,150.0,-50.0,0.0],[854,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,158.680000000000007,-67.810000000000002,0.0],[881,true,true,null,0.0,1.0,null,null,1.02,false,0.0,0.0,158.680000000000007,-88.879999999999996,0.0],[29,true,true,null,286.843799999999988,1.0,null,null,1.05,false,300.0,0.0,115.0,-115.0,0.0],[882,true,true,null,0.0,1.0,null,null,1.02,false,0.0,0.0,158.680000000000007,-88.879999999999996,0.0],[883,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,161.990000000000009,-67.109999999999999,0.0],[884,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,161.990000000000009,-125.920000000000002,0.0],[885,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,151.659999999999997,-134.710000000000008,0.0],[886,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,151.659999999999997,-134.710000000000008,0.0],[887,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,161.990000000000009,-67.109999999999999,0.0],[888,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,161.990000000000009,-67.109999999999999,0.0],[889,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,161.990000000000009,-67.109999999999999,0.0],[890,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,161.990000000000009,-67.109999999999999,0.0],[891,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,161.990000000000009,-67.109999999999999,0.0],[30,true,true,null,286.843799999999988,1.0,null,null,1.05,false,300.0,0.0,115.0,-115.0,0.0],[892,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,161.990000000000009,-67.109999999999999,0.0],[893,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,162.110000000000014,-67.079999999999998,0.0],[894,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,161.990000000000009,-67.109999999999999,0.0],[895,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,161.990000000000009,-67.109999999999999,0.0],[896,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,158.680000000000007,-67.810000000000002,0.0],[897,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,158.680000000000007,-67.810000000000002,0.0],[900,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,142.5,-71.25,0.0],[902,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,257.600000000000023,0.0,0.0],[973,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,57.0,0.0,0.0],[974,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,57.0,0.0,0.0],[31,true,true,null,286.843799999999988,1.0,null,null,1.05,false,300.0,0.0,115.0,-115.0,0.0],[975,true,true,null,0.0,1.0,null,null,1.03,false,0.0,0.0,57.0,0.0,0.0],[976,true,true,null,0.0,1.0,null,null,1.03,false,0.0,0.0,57.0,0.0,0.0],[977,true,true,null,0.0,1.0,null,null,1.01,false,0.0,0.0,57.0,0.0,0.0],[978,true,true,null,0.0,1.0,null,null,1.04,false,0.0,0.0,57.0,0.0,0.0],[979,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,57.0,0.0,0.0],[980,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,57.0,0.0,0.0],[981,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,57.0,0.0,0.0],[982,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,57.0,0.0,0.0],[983,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,57.0,0.0,0.0],[984,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,57.0,0.0,0.0],[32,true,true,null,286.843799999999988,1.0,null,null,1.05,false,300.0,0.0,115.0,-115.0,0.0],[1082,true,true,null,196.5,1.0,null,null,1.05,false,196.5,0.0,56.0,-46.0,0.0],[1083,true,true,null,196.5,1.0,null,null,1.05,false,196.5,0.0,56.0,-46.0,0.0],[1084,true,true,null,196.5,1.0,null,null,1.05,false,196.5,0.0,56.0,-46.0,0.0],[1287,true,true,null,200.550000000000011,1.0,null,null,1.05,false,200.550000000000011,0.0,85.0,-60.0,0.0],[1288,true,true,null,200.550000000000011,1.0,null,null,1.05,false,200.550000000000011,0.0,85.0,-60.0,0.0],[1289,true,true,null,200.550000000000011,1.0,null,null,1.05,false,200.550000000000011,0.0,85.0,-60.0,0.0],[1322,true,true,null,202.5,1.0,null,null,1.05,false,202.5,0.0,83.0,-48.0,0.0],[1323,true,true,null,202.5,1.0,null,null,1.05,false,202.5,0.0,83.0,-48.0,0.0],[1324,true,true,null,202.5,1.0,null,null,1.05,false,202.5,0.0,100.0,-57.0,0.0],[1326,true,true,null,294.402600000000007,1.0,null,null,1.05,false,510.0,0.0,176.550000000000011,-129.800000000000011,0.0],[33,true,true,null,286.843799999999988,1.0,null,null,1.05,false,300.0,0.0,115.0,-115.0,0.0],[1371,true,true,null,299.390700000000038,1.0,null,null,1.05,false,630.0,0.0,138.0,-138.0,0.0],[1373,true,true,null,61.5,1.0,null,null,1.05,false,61.5,0.0,7.0,-7.0,0.0],[1374,true,true,null,61.5,1.0,null,null,1.05,false,61.5,0.0,7.0,-7.0,0.0],[1375,true,true,null,61.5,1.0,null,null,1.05,false,61.5,0.0,7.0,-7.0,0.0],[1376,true,true,null,61.5,1.0,null,null,1.05,false,61.5,0.0,15.1,-15.1,0.0],[1377,true,true,null,96.0,1.0,null,null,1.05,false,96.0,0.0,20.699999999999999,-20.699999999999999,0.0],[1386,true,true,null,237.0,1.0,null,null,1.05,false,237.0,0.0,51.93,-51.93,0.0],[1391,true,true,null,220.076400000000007,1.0,null,null,1.05,false,432.0,0.0,176.0,-52.0,0.0],[1392,true,true,null,220.076400000000007,1.0,null,null,1.05,false,432.0,0.0,176.0,-52.0,0.0],[1393,true,true,null,220.076400000000007,1.0,null,null,1.05,false,432.0,0.0,2.0,-2.0,0.0],[34,true,true,null,0.0,1.0,null,null,1.01,false,0.0,0.0,0.0,0.0,0.0],[1394,true,true,null,220.076400000000007,1.0,null,null,1.05,false,432.0,0.0,2.0,-2.0,0.0],[1396,true,true,null,247.304299999999984,1.0,null,null,1.05,false,900.0,0.0,414.400000000000034,-190.5,0.0],[1397,true,true,null,247.304299999999984,1.0,null,null,1.05,false,900.0,0.0,414.400000000000034,-190.5,0.0],[1399,true,true,null,232.051500000000004,1.0,null,null,1.05,false,907.5,0.0,405.0,-171.0,0.0],[1400,true,true,null,232.032000000000011,1.0,null,null,1.05,false,907.5,0.0,128.0,-97.0,0.0],[1402,true,true,null,105.75,1.0,null,null,1.05,false,105.75,0.0,45.0,-24.0,0.0],[1404,true,true,null,78.75,1.0,null,null,1.05,false,78.75,0.0,37.0,-20.0,0.0],[1406,true,true,null,190.583400000000012,1.0,null,null,1.05,false,864.0,0.0,371.800000000000011,-108.0,0.0],[1407,true,true,null,190.583400000000012,1.0,null,null,1.05,false,864.0,0.0,371.800000000000011,-108.0,0.0],[1408,true,true,null,190.583400000000012,1.0,null,null,1.05,false,864.0,0.0,371.800000000000011,-108.0,0.0],[36,true,true,null,288.176199999999994,1.0,null,null,1.05,false,973.5,0.0,380.0,-198.0,0.0],[1409,true,true,null,190.57650000000001,1.0,null,null,1.05,false,864.0,0.0,371.800000000000011,-108.0,0.0],[1411,true,true,null,165.0,1.0,null,null,1.05,false,165.0,0.0,68.0,-39.0,0.0],[1412,true,true,null,165.0,1.0,null,null,1.05,false,165.0,0.0,68.0,-39.0,0.0],[1414,true,true,null,165.0,1.0,null,null,1.05,false,165.0,0.0,48.0,-33.0,0.0],[1415,true,true,null,165.0,1.0,null,null,1.05,false,165.0,0.0,48.0,-33.0,0.0],[1417,true,true,null,140.400000000000006,1.0,null,null,1.05,false,140.400000000000006,0.0,10.0,-10.0,0.0],[1419,true,true,null,53.316600000000001,1.0,null,null,1.05,false,72.359999999999999,0.0,32.450000000000003,-22.02,0.0],[1421,true,true,null,53.370900000000013,1.0,null,null,1.05,false,72.359999999999999,0.0,32.450000000000003,-22.02,0.0],[1423,true,true,null,32.399999999999999,1.0,null,null,1.05,false,32.399999999999999,0.0,9.859999999999999,-9.859999999999999,0.0],[1425,true,true,null,68.040000000000006,1.0,null,null,1.05,false,68.040000000000006,0.0,30.27,-20.539999999999999,0.0],[37,true,true,null,288.176299999999969,1.0,null,null,1.05,false,973.5,0.0,380.0,-198.0,0.0],[1427,true,true,null,35.640000000000001,1.0,null,null,1.05,false,35.640000000000001,0.0,16.949999999999999,-11.5,0.0],[1429,true,true,null,41.039999999999999,1.0,null,null,1.05,false,41.039999999999999,0.0,12.49,-12.49,0.0],[1431,true,true,null,67.5,1.0,null,null,1.05,false,67.5,0.0,14.789999999999999,-14.789999999999999,0.0],[1433,true,true,null,115.920000000000002,1.0,null,null,1.05,false,115.920000000000002,0.0,35.270000000000003,-35.270000000000003,0.0],[1435,true,true,null,115.920000000000002,1.0,null,null,1.05,false,115.920000000000002,0.0,35.270000000000003,-35.270000000000003,0.0],[1437,true,true,null,115.920000000000002,1.0,null,null,1.05,false,115.920000000000002,0.0,35.270000000000003,-35.270000000000003,0.0],[1439,true,true,null,34.560000000000002,1.0,null,null,1.05,false,34.560000000000002,0.0,10.35,-10.35,0.0],[1682,true,true,null,180.0,1.0,null,null,1.05,false,180.0,0.0,88.0,-47.0,0.0],[1727,true,true,null,49.5,1.0,null,null,1.05,false,49.5,0.0,24.809999999999999,-25.5,0.0],[1785,true,true,null,20.52,1.0,null,null,1.05,false,20.52,0.0,3.5,-3.5,0.0],[38,true,true,null,288.175799999999981,1.0,null,null,1.05,false,973.5,0.0,380.0,-198.0,0.0],[1787,true,true,null,12.960000000000001,1.0,null,null,1.02,false,12.960000000000001,0.0,-1.0,-1.0,0.0],[1789,true,true,null,30.239999999999998,1.0,null,null,1.05,false,30.239999999999998,0.0,6.9,-6.9,0.0],[1791,true,true,null,31.32,1.0,null,null,1.05,false,31.32,0.0,5.0,-5.0,0.0],[1793,true,true,null,9.359999999999999,1.0,null,null,1.05,false,9.359999999999999,0.0,-1.0,-1.0,0.0],[1795,true,true,null,23.010000000000002,1.0,null,null,1.04,false,23.010000000000002,0.0,7.0,-7.0,0.0],[1797,true,true,null,39.960000000000001,1.0,null,null,1.05,false,39.960000000000001,0.0,10.699999999999999,-7.3,0.0],[1799,true,true,null,39.960000000000001,1.0,null,null,1.05,false,39.960000000000001,0.0,10.699999999999999,-7.3,0.0],[1801,true,true,null,20.25,1.0,null,null,1.05,false,20.25,0.0,3.5,-3.5,0.0],[1803,true,true,null,32.399999999999999,1.0,null,null,1.05,false,32.399999999999999,0.0,-6.0,-6.0,0.0],[1805,true,true,null,54.640000000000001,1.0,null,null,1.05,false,54.640000000000001,0.0,16.0,-16.0,0.0],[5,true,true,null,191.25,1.0,null,null,1.05,false,191.25,0.0,78.0,-45.0,0.0],[40,true,true,null,288.553900000000056,1.0,null,null,1.05,false,973.5,0.0,380.0,-184.0,0.0],[1811,true,true,null,25.920000000000002,1.0,null,null,1.05,false,25.920000000000002,0.0,-2.5,-2.5,0.0],[1813,true,true,null,25.920000000000002,1.0,null,null,1.05,false,25.920000000000002,0.0,-2.5,-2.5,0.0],[1823,true,true,null,24.0,1.0,null,null,1.05,false,24.0,0.0,5.25,-5.25,0.0],[1825,true,true,null,24.0,1.0,null,null,1.05,false,24.0,0.0,5.25,-5.25,0.0],[1827,true,true,null,31.32,1.0,null,null,1.05,false,31.32,0.0,-2.5,-2.5,0.0],[1829,true,true,null,28.649999999999999,1.0,null,null,1.05,false,28.649999999999999,0.0,8.300000000000001,0.0,0.0],[1833,true,true,null,16.199999999999999,1.0,null,null,1.05,false,16.199999999999999,0.0,-3.0,-3.0,0.0],[1837,true,true,null,32.399999999999999,1.0,null,null,1.05,false,32.399999999999999,0.0,9.859999999999999,-9.859999999999999,0.0],[1839,true,true,null,37.5,1.0,null,null,1.05,false,37.5,0.0,12.1,0.0,0.0],[1841,true,true,null,37.5,1.0,null,null,1.05,false,37.5,0.0,12.1,0.0,0.0],[41,true,true,null,288.55359999999996,1.0,null,null,1.05,false,973.5,0.0,380.0,-184.0,0.0],[1843,true,true,null,49.68,1.0,null,null,1.05,false,49.68,0.0,9.0,-9.0,0.0],[1845,true,true,null,49.68,1.0,null,null,1.05,false,49.68,0.0,9.0,-9.0,0.0],[1847,true,true,null,34.5,1.0,null,null,1.03,false,34.5,0.0,0.0,0.0,0.0],[1848,true,true,null,34.5,1.0,null,null,1.04,false,34.5,0.0,0.0,0.0,0.0],[1851,true,true,null,24.75,1.0,null,null,1.05,false,24.75,0.0,10.199999999999999,-5.4,0.0],[1853,true,true,null,158.843299999999999,1.0,null,null,1.05,false,225.0,0.0,40.0,-80.0,0.0],[1854,true,true,null,158.794499999999999,1.0,null,null,1.05,false,225.0,0.0,40.0,-80.0,0.0],[1856,true,true,null,7.5,1.0,null,null,1.05,false,7.5,0.0,-0.5,-0.5,0.0],[1860,true,true,null,55.5,1.0,null,null,1.04,false,55.5,0.0,13.74,0.0,0.0],[1862,true,true,null,14.039999999999999,1.0,null,null,1.05,false,14.039999999999999,0.0,4.2,-4.2,0.0],[42,true,true,null,288.58499999999998,1.0,null,null,1.05,false,973.5,0.0,380.0,-184.0,0.0],[1864,true,true,null,14.039999999999999,1.0,null,null,1.05,false,14.039999999999999,0.0,4.2,-4.2,0.0],[1866,true,true,null,32.549999999999997,1.0,null,null,1.05,false,32.549999999999997,0.0,5.26,0.0,0.0],[1872,true,true,null,11.23,1.0,null,null,1.05,false,11.23,0.0,1.5,-1.5,0.0],[1874,true,true,null,15.0,1.0,null,null,1.05,false,15.0,0.0,4.3,-2.7,0.0],[1875,true,true,null,15.0,1.0,null,null,1.05,false,15.0,0.0,4.3,-2.7,0.0],[1876,true,true,null,15.0,1.0,null,null,1.05,false,15.0,0.0,4.3,-2.7,0.0],[1885,true,true,null,22.5,1.0,null,null,1.05,false,22.5,0.0,7.3,-2.8,0.0],[1891,true,true,null,12.449999999999999,1.0,null,null,1.05,false,12.449999999999999,0.0,6.58,-3.9,0.0],[1893,true,true,null,70.200000000000003,1.0,null,null,1.05,false,70.200000000000003,0.0,15.0,-15.0,0.0],[1895,true,true,null,27.989999999999998,1.0,null,null,1.05,false,27.989999999999998,0.0,5.26,0.0,0.0],[44,true,true,null,314.781200000000012,1.0,null,null,1.05,false,811.5,0.0,409.0,-217.0,0.0],[1897,true,true,null,19.98,1.0,null,null,1.05,false,19.98,0.0,-1.0,-1.0,0.0],[1901,true,true,null,75.600000000000008,1.0,null,null,1.05,false,75.600000000000008,0.0,13.0,-13.0,0.0],[1903,true,true,null,176.011799999999994,1.0,null,null,1.05,false,558.0,0.0,408.0,-50.0,0.0],[1905,true,true,null,175.939600000000013,1.0,null,null,1.05,false,531.0,0.0,408.0,-50.0,0.0],[1907,true,true,null,175.497700000000009,1.0,null,null,1.05,false,399.0,0.0,165.0,-87.5,0.0],[1909,true,true,null,175.489399999999989,1.0,null,null,1.05,false,399.0,0.0,165.0,-87.5,0.0],[1911,true,true,null,175.520200000000017,1.0,null,null,1.05,false,399.0,0.0,165.0,-87.5,0.0],[1913,true,true,null,27.079999999999998,1.0,null,null,1.05,false,27.079999999999998,0.0,5.9,0.0,0.0],[1915,true,true,null,25.199999999999999,1.0,null,null,1.05,false,25.199999999999999,0.0,10.5,0.0,0.0],[1917,true,true,null,27.93,1.0,null,null,1.05,false,27.93,0.0,6.0,0.0,0.0],[45,true,true,null,314.763000000000034,1.0,null,null,1.05,false,811.5,0.0,402.0,-227.0,0.0],[1919,true,true,null,60.0,1.0,null,null,1.04,false,60.0,0.0,13.5,-7.5,0.0],[1921,true,true,null,60.0,1.0,null,null,1.04,false,60.0,0.0,13.5,-7.5,0.0],[1923,true,true,null,60.0,1.0,null,null,1.04,false,60.0,0.0,13.5,-7.5,0.0],[1925,true,true,null,48.75,1.0,null,null,1.05,false,48.75,0.0,18.899999999999999,-9.0,0.0],[1927,true,true,null,7.8,1.0,null,null,1.05,false,7.8,0.0,-1.5,-1.5,0.0],[1929,true,true,null,18.0,1.0,null,null,1.05,false,18.0,0.0,0.0,0.0,0.0],[1931,true,true,null,72.359999999999999,1.0,null,null,1.05,false,72.359999999999999,0.0,17.91,-12.210000000000001,0.0],[1938,true,true,null,20.25,1.0,null,null,1.05,false,20.25,0.0,-3.0,-3.0,0.0],[1940,true,true,null,23.100000000000001,1.0,null,null,1.05,false,23.100000000000001,0.0,0.0,-5.0,0.0],[2027,true,true,null,7.5,1.0,null,null,1.05,false,7.5,0.0,-1.0,-1.0,0.0],[47,true,true,null,289.220100000000002,1.0,null,null,1.05,false,724.5,0.0,289.0,-84.0,0.0],[2038,true,true,null,9.300000000000001,1.0,null,null,1.05,false,9.300000000000001,0.0,0.0,0.0,0.0],[2039,true,true,null,9.300000000000001,1.0,null,null,1.05,false,9.300000000000001,0.0,0.0,0.0,0.0],[2073,true,true,null,37.5,1.0,null,null,1.05,false,37.5,0.0,12.1,0.0,0.0],[2089,true,true,null,22.5,1.0,null,null,1.04,false,22.5,0.0,0.0,0.0,0.0],[2211,true,true,null,66.0,1.0,null,null,1.05,false,66.0,0.0,32.700000000000003,0.0,0.0],[351,true,true,null,0.0,1.0,null,null,1.04,false,0.0,0.0,150.0,-50.0,0.0],[352,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,150.0,-50.0,0.0],[424,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,150.0,-50.0,0.0],[571,true,true,null,0.0,1.0,null,null,1.03,false,0.0,0.0,150.0,-50.0,0.0],[573,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,150.0,-50.0,0.0],[48,true,true,null,288.636300000000006,1.0,null,null,1.05,false,724.5,0.0,308.0,-84.0,0.0],[584,true,true,null,0.0,1.0,null,null,1.03,false,0.0,0.0,150.0,-50.0,0.0],[534,true,true,null,0.0,1.0,null,null,1.03,false,0.0,0.0,150.0,-50.0,0.0],[559,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,150.0,-50.0,0.0],[559,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,150.0,-50.0,0.0],[411,true,true,null,0.0,1.0,null,null,1.02,false,0.0,0.0,150.0,-50.0,0.0],[404,true,true,null,0.0,1.0,null,null,1.04,false,0.0,0.0,150.0,-50.0,0.0],[407,true,true,null,313.804100000000005,1.0,null,null,1.05,false,0.0,0.0,250.0,-50.0,0.0],[407,true,true,null,313.804100000000005,1.0,null,null,1.05,false,0.0,0.0,250.0,-50.0,0.0],[373,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,150.0,-50.0,0.0],[373,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,150.0,-50.0,0.0],[50,true,true,null,288.172500000000014,1.0,null,null,1.05,false,732.0,0.0,241.0,-81.0,0.0],[421,true,true,null,0.0,1.0,null,null,1.03,false,0.0,0.0,150.0,-50.0,0.0],[421,true,true,null,0.0,1.0,null,null,1.03,false,0.0,0.0,150.0,-50.0,0.0],[424,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,150.0,-50.0,0.0],[424,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,150.0,-50.0,0.0],[347,true,true,null,0.0,1.0,null,null,1.04,false,0.0,0.0,150.0,-50.0,0.0],[358,true,true,null,0.0,1.0,null,null,1.04,false,0.0,0.0,150.0,-50.0,0.0],[358,true,true,null,0.0,1.0,null,null,1.04,false,0.0,0.0,150.0,-50.0,0.0],[443,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,150.0,-50.0,0.0],[521,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,150.0,-50.0,0.0],[540,true,true,null,0.0,1.0,null,null,1.03,false,0.0,0.0,150.0,-50.0,0.0],[51,true,true,null,288.448599999999999,1.0,null,null,1.05,false,732.0,0.0,268.0,-82.0,0.0],[346,true,true,null,0.0,1.0,null,null,1.04,false,0.0,0.0,150.0,-50.0,0.0],[564,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,150.0,-50.0,0.0],[613,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,150.0,-50.0,0.0],[545,true,true,null,0.0,1.0,null,null,1.03,false,0.0,0.0,150.0,-50.0,0.0],[543,true,true,null,0.0,1.0,null,null,1.03,false,0.0,0.0,150.0,-50.0,0.0],[532,true,true,null,0.0,1.0,null,null,1.01,false,0.0,0.0,150.0,-50.0,0.0],[363,true,true,null,0.0,1.0,null,null,1.04,false,0.0,0.0,150.0,-50.0,0.0],[605,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,150.0,-50.0,0.0],[605,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,150.0,-50.0,0.0],[566,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,150.0,-50.0,0.0],[53,true,true,null,0.0,1.0,null,null,1.01,false,0.0,0.0,0.0,0.0,0.0],[613,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,150.0,-50.0,0.0],[623,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,150.0,-50.0,0.0],[438,true,true,null,0.0,1.0,null,null,1.05,false,0.0,0.0,150.0,-50.0,0.0],[6,true,true,null,191.25,1.0,null,null,1.05,false,191.25,0.0,78.0,-45.0,0.0],[54,true,true,null,0.0,1.0,null,null,1.01,false,0.0,0.0,0.0,0.0,0.0],[56,true,true,null,289.948800000000006,1.0,null,null,1.05,false,735.0,0.0,286.0,-86.0,0.0],[58,true,true,null,290.752200000000016,1.0,null,null,1.05,false,735.0,0.0,286.0,-86.0,0.0],[60,true,true,null,291.178299999999979,1.0,null,null,1.05,false,735.0,0.0,286.0,-86.0,0.0],[61,true,true,null,289.995200000000011,1.0,null,null,1.05,false,735.0,0.0,287.0,-81.0,0.0],[63,true,true,null,270.0,1.0,null,null,1.05,false,270.0,0.0,60.0,-60.0,0.0],[64,true,true,null,135.0,1.0,null,null,1.04,false,135.0,0.0,30.0,-30.0,0.0],[66,true,true,null,292.387499999999989,1.0,null,null,1.05,false,727.5,0.0,308.0,-95.0,0.0],[68,true,true,null,292.371900000000039,1.0,null,null,1.05,false,727.5,0.0,311.0,-95.0,0.0],[70,true,true,null,292.757499999999993,1.0,null,null,1.05,false,727.5,0.0,329.0,-101.0,0.0],[8,true,true,null,191.25,1.0,null,null,1.05,false,191.25,0.0,81.0,-46.0,0.0],[72,true,true,null,292.776400000000024,1.0,null,null,1.05,false,759.0,0.0,203.0,-91.0,0.0],[74,true,true,null,0.0,1.0,null,null,1.0,false,0.0,0.0,0.0,0.0,0.0],[75,true,true,null,0.0,1.0,null,null,1.0,false,0.0,0.0,0.0,0.0,0.0],[76,true,true,null,0.0,1.0,null,null,1.0,false,0.0,0.0,0.0,0.0,0.0],[77,true,true,null,0.0,1.0,null,null,1.0,false,0.0,0.0,0.0,0.0,0.0],[79,true,true,null,287.224800000000016,1.0,null,null,1.05,false,906.0,0.0,367.0,-210.0,0.0],[80,true,true,null,287.254900000000021,1.0,null,null,1.05,false,906.0,0.0,351.0,-208.0,0.0],[82,true,true,null,300.416499999999985,1.0,null,null,1.05,false,910.5,0.0,392.0,-206.0,0.0],[83,true,true,null,300.399799999999971,1.0,null,null,1.05,false,894.0,0.0,398.0,-207.0,0.0],[84,true,true,null,300.449799999999982,1.0,null,null,1.05,false,900.75,0.0,367.0,-188.0,0.0],[9,true,true,null,191.25,1.0,null,null,1.05,false,191.25,0.0,78.0,-45.0,0.0],[85,true,true,null,300.449999999999989,1.0,null,null,1.05,false,903.75,0.0,362.0,-187.0,0.0],[87,true,true,null,320.308199999999999,1.0,null,null,1.05,false,966.0,0.0,312.0,-155.0,0.0],[88,true,true,null,320.289900000000046,1.0,null,null,1.05,false,925.5,0.0,289.0,-204.0,0.0],[90,true,true,null,298.57159999999999,1.0,null,null,1.05,false,723.0,0.0,296.0,-99.0,0.0],[91,true,true,null,298.598799999999983,1.0,null,null,1.05,false,723.0,0.0,296.0,-92.0,0.0],[93,true,true,null,285.404200000000003,1.0,null,null,1.05,false,367.5,0.0,138.0,-75.0,0.0],[95,true,true,null,285.816200000000038,1.0,null,null,1.05,false,367.5,0.0,155.0,-72.0,0.0],[96,true,true,null,285.816300000000012,1.0,null,null,1.05,false,367.5,0.0,145.900000000000006,-79.0,0.0],[98,true,true,null,216.0,1.0,null,null,1.05,false,216.0,0.0,87.200000000000003,-52.799999999999997,0.0],[99,true,true,null,216.0,1.0,null,null,1.05,false,216.0,0.0,87.200000000000003,-52.799999999999997,0.0],[10,true,true,null,191.25,1.0,null,null,1.05,false,191.25,0.0,78.0,-45.0,0.0],[100,true,true,null,216.0,1.0,null,null,1.05,false,216.0,0.0,87.200000000000003,-52.799999999999997,0.0],[101,true,true,null,216.0,1.0,null,null,1.05,false,216.0,0.0,87.200000000000003,-52.799999999999997,0.0],[102,true,true,null,243.0,1.0,null,null,1.05,false,243.0,0.0,103.0,-55.0,0.0],[103,true,true,null,243.0,1.0,null,null,1.05,false,243.0,0.0,103.0,-55.0,0.0],[104,true,true,null,216.900000000000006,1.0,null,null,1.05,false,216.900000000000006,0.0,75.920000000000002,-52.460000000000001,0.0],[105,true,true,null,216.900000000000006,1.0,null,null,1.05,false,216.900000000000006,0.0,75.920000000000002,-52.460000000000001,0.0],[106,true,true,null,216.900000000000006,1.0,null,null,1.05,false,216.900000000000006,0.0,75.920000000000002,-52.460000000000001,0.0],[107,true,true,null,281.604400000000055,1.0,null,null,1.05,false,346.800000000000011,0.0,139.819999999999993,-78.060000000000002,0.0],[109,true,true,null,303.295999999999992,1.0,null,null,1.05,false,727.5,0.0,286.0,-64.0,0.0],[110,true,true,null,303.313199999999995,1.0,null,null,1.05,false,727.5,0.0,286.0,-64.0,0.0],[11,true,true,null,209.25,1.0,null,null,1.05,false,209.25,0.0,78.0,-46.0,0.0],[112,true,true,null,302.544600000000003,1.0,null,null,1.05,false,727.5,0.0,286.0,-64.0,0.0],[113,true,true,null,302.5428,1.0,null,null,1.05,false,727.5,0.0,286.0,-64.0,0.0],[115,true,true,null,297.391500000000008,1.0,null,null,1.05,false,315.0,0.0,128.0,-78.0,0.0],[116,true,true,null,297.410200000000032,1.0,null,null,1.05,false,315.0,0.0,128.0,-78.0,0.0],[117,true,true,null,297.688199999999995,1.0,null,null,1.05,false,367.5,0.0,158.0,-84.0,0.0],[119,true,true,null,306.892900000000054,1.0,null,null,1.05,false,750.0,0.0,335.0,-204.0,0.0],[120,true,true,null,306.875499999999988,1.0,null,null,1.05,false,750.0,0.0,335.0,-204.0,0.0],[121,true,true,null,0.0,1.0,null,null,1.0,false,0.0,0.0,0.0,0.0,0.0],[123,true,true,null,291.782900000000041,1.0,null,null,1.05,false,340.050000000000011,0.0,149.0,-88.0,0.0],[124,true,true,null,291.767299999999978,1.0,null,null,1.05,false,340.050000000000011,0.0,151.0,-87.0,0.0],[12,true,true,null,302.388599999999997,1.0,null,null,1.05,false,334.5,0.0,125.0,-70.0,0.0],[125,true,true,null,291.703200000000038,1.0,null,null,1.05,false,340.050000000000011,0.0,164.0,-81.0,0.0],[127,true,true,null,299.906200000000012,1.0,null,null,1.05,false,750.0,0.0,255.0,-79.0,0.0],[128,true,true,null,300.357900000000029,1.0,null,null,1.05,false,750.0,0.0,255.0,-79.0,0.0],[130,true,true,null,300.897099999999966,1.0,null,null,1.05,false,750.0,0.0,255.0,-79.0,0.0],[131,true,true,null,300.224199999999996,1.0,null,null,1.05,false,750.0,0.0,255.0,-18.0,0.0],[133,true,true,null,299.903900000000022,1.0,null,null,1.05,false,747.0,0.0,270.0,-86.0,0.0],[134,true,true,null,299.906099999999981,1.0,null,null,1.05,false,747.0,0.0,270.0,-86.0,0.0],[136,true,true,null,228.0,1.0,null,null,1.05,false,228.0,0.0,88.0,-50.0,0.0],[137,true,true,null,228.0,1.0,null,null,1.05,false,228.0,0.0,88.0,-50.0,0.0],[138,true,true,null,228.0,1.0,null,null,1.05,false,228.0,0.0,88.0,-50.0,0.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -90,7 +152,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "switch": { @@ -127,7 +190,7 @@ "ext_grid": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0],\"data\":[[430,true,null,0.0,1.05,1500.0,0.0,250.0,-250.0]]}", + "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0],\"data\":[[430,true,null,0.0,1.05,1500.0,0.0,250.0,-250.0,1.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -138,7 +201,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "line": { @@ -289,7 +353,7 @@ "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\",\"in_service\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"ps_mw\",\"qs_mvar\",\"qz_mvar\",\"pz_mw\",\"r_ohm\",\"x_ohm\",\"vm_pu\",\"in_service\",\"slack_weight\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "name": "object", @@ -301,7 +365,8 @@ "r_ohm": "float64", "x_ohm": "float64", "vm_pu": "float64", - "in_service": "bool" + "in_service": "bool", + "slack_weight": "float64" } }, "measurement": { @@ -350,13 +415,14 @@ "controller": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"recycle\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"initial_run\",\"recycle\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "object": "object", "in_service": "bool", "order": "float64", "level": "object", + "initial_run": "bool", "recycle": "bool" } }, @@ -380,11 +446,11 @@ "coords": "object" } }, - "version": "2.2.1", + "version": "2.7.1", "converged": true, "name": "", "f_hz": 50.0, - "sn_mva": 1.0, + "sn_mva": 100, "std_types": { "line": { "N2XS(FL)2Y 1x300 RM/35 64/110 kV": { @@ -1022,6 +1088,16 @@ "q_mvar": "float64" } }, + "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" + } + }, "res_sgen": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -1106,6 +1182,341 @@ "va_to_degree": "float64" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_bus_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_line_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo3w_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_ext_grid_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_gen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_sgen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_shunt_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "user_pf_options": {}, "OPF_converged": false } diff --git a/pandapower/networks/power_system_test_case_jsons/GBreducednetwork.json b/pandapower/networks/power_system_test_case_jsons/GBreducednetwork.json index 89e0fce07..3161766da 100644 --- a/pandapower/networks/power_system_test_case_jsons/GBreducednetwork.json +++ b/pandapower/networks/power_system_test_case_jsons/GBreducednetwork.json @@ -57,6 +57,68 @@ "min_q_mvar": "float64" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "storage": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -79,7 +141,7 @@ "gen": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0,1,10,11,12,13,14,15,16,17,18,19,2,20,21,22,23,24,25,26,27,28,29,3,30,31,32,33,34,35,36,37,38,39,4,40,41,42,43,44,45,46,47,48,49,5,50,51,52,53,54,55,56,57,58,59,6,60,61,62,63,7,8,9],\"data\":[[0,true,true,null,493.5,1.0,null,null,1.0,false,668.0,0.0,139.219999999999999,-188.460000000000008],[0,true,true,null,549.580000000000041,1.0,null,null,1.0,false,554.279999999999973,0.0,105.230000000000004,-66.299999999999997],[2,true,true,null,15.119999999999999,1.0,null,null,1.0,false,15.119999999999999,0.0,6.51,-7.29],[3,true,true,null,25.199999999999999,1.0,null,null,1.0,false,35.0,0.0,10.66,-12.34],[3,true,true,null,2284.0,1.0,null,null,1.0,false,2284.0,0.0,641.470000000000027,-679.0],[3,true,true,null,340.0,1.0,null,null,1.0,false,440.0,0.0,150.340000000000003,-137.860000000000014],[3,true,true,null,259.0,1.0,null,null,1.0,false,259.0,0.0,137.27000000000001,-122.950000000000003],[4,true,true,null,1074.0,1.0,null,null,1.0,false,1074.0,0.0,416.470000000000027,-429.769999999999982],[4,true,true,null,23.199999999999999,1.0,null,null,1.0,false,23.199999999999999,0.0,15.390000000000001,-9.94],[5,true,true,null,1001.519999999999982,1.0,null,null,1.0,false,1390.920000000000073,0.0,439.660000000000025,-484.800000000000011],[5,true,true,null,33.0,1.0,null,null,1.0,false,33.0,0.0,24.800000000000001,-25.5],[5,true,true,null,49.399999999999999,1.0,null,null,1.0,false,49.399999999999999,0.0,12.09,-17.489999999999998],[0,true,true,null,0.0,1.0,null,null,1.0,false,300.0,0.0,180.0,-100.0],[6,true,true,null,226.800000000000011,1.0,null,null,1.0,false,314.25,0.0,125.760000000000005,-131.02000000000001],[6,true,true,null,1216.0,1.0,null,null,1.0,false,1215.0,0.0,681.340000000000032,-469.069999999999993],[6,true,true,null,1104.0,1.0,null,null,1.0,false,1102.0,0.0,220.340000000000003,-205.240000000000009],[9,true,true,null,1208.0,1.0,null,null,1.0,false,1207.0,0.0,559.190000000000055,-539.680000000000064],[9,true,true,null,1875.0,1.0,null,null,1.0,false,1875.0,0.0,697.169999999999959,-829.629999999999996],[9,true,true,null,420.0,1.0,null,null,1.0,false,420.0,0.0,167.950000000000017,-138.039999999999992],[10,true,true,null,130.319999999999993,1.0,null,null,1.0,false,180.0,0.0,-57.600000000000001,-57.600000000000001],[10,true,true,null,2406.0,1.0,null,null,1.0,false,2406.0,0.0,1216.100000000000136,-1006.32000000000005],[10,true,true,null,1961.0,1.0,null,null,1.0,false,1987.0,0.0,873.220000000000027,-571.460000000000036],[10,true,true,null,155.0,1.0,null,null,1.0,false,155.0,0.0,94.219999999999999,-75.210000000000008],[0,true,true,null,18.719999999999999,1.0,null,null,1.0,false,18.719999999999999,0.0,7.8,-8.99],[10,true,true,null,1039.0,1.0,null,null,1.0,false,1039.0,0.0,670.32000000000005,-539.07000000000005],[11,true,true,null,980.0,1.0,null,null,1.0,false,980.0,0.0,579.980000000000018,-418.120000000000005],[11,true,true,null,1885.0,1.0,null,null,1.0,false,1885.0,0.0,960.050000000000068,-853.060000000000059],[11,true,true,null,210.0,1.0,null,null,1.0,false,210.0,0.0,116.420000000000002,-94.969999999999999],[11,true,true,null,1096.0,1.0,null,null,1.0,false,2004.0,0.0,344.480000000000018,-575.519999999999982],[14,true,true,null,7800.0,1.0,null,null,1.0,false,7832.0,0.0,3535.0300000000002,-2527.869999999999891],[15,true,true,null,3972.0,1.0,null,null,1.0,false,3987.0,0.0,1587.059999999999945,-1289.620000000000118],[15,true,true,null,7041.0,1.0,null,null,1.0,false,7040.0,0.0,3653.230000000000018,-3354.579999999999927],[15,true,true,null,1218.0,1.0,null,null,1.0,false,1218.0,0.0,767.330000000000041,-562.850000000000023],[16,true,true,null,2000.0,1.0,null,null,1.0,false,2021.0,0.0,814.230000000000018,-405.939999999999998],[1,true,true,null,36.43,1.0,null,null,1.0,false,50.600000000000001,0.0,14.33,-17.670000000000002],[17,true,true,null,1960.0,1.0,null,null,1.0,false,1982.0,0.0,884.970000000000027,-534.169999999999959],[17,true,true,null,228.0,1.0,null,null,1.0,false,228.0,0.0,40.020000000000003,-73.579999999999998],[18,true,true,null,2845.0,1.0,null,null,1.0,false,2845.0,0.0,1336.630000000000109,-1468.980000000000018],[18,true,true,null,406.800000000000011,1.0,null,null,1.0,false,406.800000000000011,0.0,162.700000000000017,-162.700000000000017],[19,true,true,null,1200.0,1.0,null,null,1.0,false,1200.0,0.0,621.139999999999986,-523.379999999999995],[19,true,true,null,360.0,1.0,null,null,1.0,false,360.0,0.0,236.640000000000015,236.640000000000015],[20,true,true,null,665.0,1.0,null,null,1.0,false,665.0,0.0,326.150000000000034,-306.069999999999993],[21,true,true,null,401.100000000000023,1.0,null,null,1.0,false,401.0,0.0,189.719999999999999,-232.680000000000007],[22,true,true,null,3772.0,1.0,null,null,1.0,false,3801.0,0.0,1589.670000000000073,-1388.269999999999982],[22,true,true,null,363.0,1.0,null,null,1.0,false,363.0,0.0,84.810000000000002,-153.990000000000009],[1,true,true,null,1524.0,1.0,null,null,1.0,false,1524.0,0.0,1108.509999999999991,-473.360000000000014],[22,true,true,null,470.0,1.0,null,null,1.0,false,470.400000000000034,0.0,317.759999999999991,-211.430000000000007],[22,true,true,null,3081.010000000000218,1.0,null,null,1.0,false,4431.0,0.0,1200.809999999999945,-1262.240000000000009],[22,true,true,null,0.0,1.0,null,null,1.0,false,100.0,0.0,0.0,0.0],[24,true,true,null,2123.0,1.0,null,null,1.0,false,2123.0,0.0,949.379999999999995,-947.420000000000073],[24,true,true,null,0.0,1.0,null,null,1.0,false,1245.0,0.0,0.0,0.0],[25,true,true,null,1940.0,1.0,null,null,1.0,false,1966.0,0.0,881.440000000000055,-431.350000000000023],[25,true,true,null,1104.0,1.0,null,null,1.0,false,1131.0,0.0,384.110000000000014,-294.620000000000004],[25,true,true,null,2465.0,1.0,null,null,1.0,false,3165.0,0.0,1254.529999999999973,-1114.6400000000001],[25,true,true,null,0.0,1.0,null,null,1.0,false,1355.0,0.0,0.0,0.0],[27,true,true,null,1320.0,1.0,null,null,1.0,false,1320.0,0.0,657.82000000000005,-579.700000000000046],[1,true,true,null,12.0,1.0,null,null,1.0,false,12.0,0.0,0.0,0.0],[27,true,true,null,208.0,1.0,null,null,1.0,false,208.0,0.0,60.789999999999999,-71.210000000000008],[28,true,true,null,1261.0,1.0,null,null,1.0,false,1261.0,0.0,455.319999999999993,-480.430000000000007],[28,true,true,null,905.0,1.0,null,null,1.0,false,905.0,0.0,403.350000000000023,-412.03000000000003],[28,true,true,null,0.0,1.0,null,null,1.0,false,140.0,0.0,0.0,0.0],[2,true,true,null,387.900000000000034,1.0,null,null,1.0,false,550.990000000000009,0.0,128.340000000000003,-158.140000000000015],[2,true,true,null,13.539999999999999,1.0,null,null,1.0,false,19.0,0.0,-3.51,-3.51],[2,true,true,null,553.0,1.0,null,null,1.0,false,553.120000000000005,0.0,144.789999999999992,-66.170000000000002]]}", + "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0,1,10,11,12,13,14,15,16,17,18,19,2,20,21,22,23,24,25,26,27,28,29,3,30,31,32,33,34,35,36,37,38,39,4,40,41,42,43,44,45,46,47,48,49,5,50,51,52,53,54,55,56,57,58,59,6,60,61,62,63,7,8,9],\"data\":[[0,true,true,null,493.5,1.0,null,null,1.0,false,668.0,0.0,139.219999999999999,-188.460000000000008,0.0],[0,true,true,null,549.580000000000041,1.0,null,null,1.0,false,554.279999999999973,0.0,105.230000000000004,-66.299999999999997,0.0],[2,true,true,null,15.119999999999999,1.0,null,null,1.0,false,15.119999999999999,0.0,6.51,-7.29,0.0],[3,true,true,null,25.199999999999999,1.0,null,null,1.0,false,35.0,0.0,10.66,-12.34,0.0],[3,true,true,null,2284.0,1.0,null,null,1.0,false,2284.0,0.0,641.470000000000027,-679.0,0.0],[3,true,true,null,340.0,1.0,null,null,1.0,false,440.0,0.0,150.340000000000003,-137.860000000000014,0.0],[3,true,true,null,259.0,1.0,null,null,1.0,false,259.0,0.0,137.27000000000001,-122.950000000000003,0.0],[4,true,true,null,1074.0,1.0,null,null,1.0,false,1074.0,0.0,416.470000000000027,-429.769999999999982,0.0],[4,true,true,null,23.199999999999999,1.0,null,null,1.0,false,23.199999999999999,0.0,15.390000000000001,-9.94,0.0],[5,true,true,null,1001.519999999999982,1.0,null,null,1.0,false,1390.920000000000073,0.0,439.660000000000025,-484.800000000000011,0.0],[5,true,true,null,33.0,1.0,null,null,1.0,false,33.0,0.0,24.800000000000001,-25.5,0.0],[5,true,true,null,49.399999999999999,1.0,null,null,1.0,false,49.399999999999999,0.0,12.09,-17.489999999999998,0.0],[0,true,true,null,0.0,1.0,null,null,1.0,false,300.0,0.0,180.0,-100.0,0.0],[6,true,true,null,226.800000000000011,1.0,null,null,1.0,false,314.25,0.0,125.760000000000005,-131.02000000000001,0.0],[6,true,true,null,1216.0,1.0,null,null,1.0,false,1215.0,0.0,681.340000000000032,-469.069999999999993,0.0],[6,true,true,null,1104.0,1.0,null,null,1.0,false,1102.0,0.0,220.340000000000003,-205.240000000000009,0.0],[9,true,true,null,1208.0,1.0,null,null,1.0,false,1207.0,0.0,559.190000000000055,-539.680000000000064,0.0],[9,true,true,null,1875.0,1.0,null,null,1.0,false,1875.0,0.0,697.169999999999959,-829.629999999999996,0.0],[9,true,true,null,420.0,1.0,null,null,1.0,false,420.0,0.0,167.950000000000017,-138.039999999999992,0.0],[10,true,true,null,130.319999999999993,1.0,null,null,1.0,false,180.0,0.0,-57.600000000000001,-57.600000000000001,0.0],[10,true,true,null,2406.0,1.0,null,null,1.0,false,2406.0,0.0,1216.100000000000136,-1006.32000000000005,0.0],[10,true,true,null,1961.0,1.0,null,null,1.0,false,1987.0,0.0,873.220000000000027,-571.460000000000036,0.0],[10,true,true,null,155.0,1.0,null,null,1.0,false,155.0,0.0,94.219999999999999,-75.210000000000008,0.0],[0,true,true,null,18.719999999999999,1.0,null,null,1.0,false,18.719999999999999,0.0,7.8,-8.99,0.0],[10,true,true,null,1039.0,1.0,null,null,1.0,false,1039.0,0.0,670.32000000000005,-539.07000000000005,0.0],[11,true,true,null,980.0,1.0,null,null,1.0,false,980.0,0.0,579.980000000000018,-418.120000000000005,0.0],[11,true,true,null,1885.0,1.0,null,null,1.0,false,1885.0,0.0,960.050000000000068,-853.060000000000059,0.0],[11,true,true,null,210.0,1.0,null,null,1.0,false,210.0,0.0,116.420000000000002,-94.969999999999999,0.0],[11,true,true,null,1096.0,1.0,null,null,1.0,false,2004.0,0.0,344.480000000000018,-575.519999999999982,0.0],[14,true,true,null,7800.0,1.0,null,null,1.0,false,7832.0,0.0,3535.0300000000002,-2527.869999999999891,0.0],[15,true,true,null,3972.0,1.0,null,null,1.0,false,3987.0,0.0,1587.059999999999945,-1289.620000000000118,0.0],[15,true,true,null,7041.0,1.0,null,null,1.0,false,7040.0,0.0,3653.230000000000018,-3354.579999999999927,0.0],[15,true,true,null,1218.0,1.0,null,null,1.0,false,1218.0,0.0,767.330000000000041,-562.850000000000023,0.0],[16,true,true,null,2000.0,1.0,null,null,1.0,false,2021.0,0.0,814.230000000000018,-405.939999999999998,0.0],[1,true,true,null,36.43,1.0,null,null,1.0,false,50.600000000000001,0.0,14.33,-17.670000000000002,0.0],[17,true,true,null,1960.0,1.0,null,null,1.0,false,1982.0,0.0,884.970000000000027,-534.169999999999959,0.0],[17,true,true,null,228.0,1.0,null,null,1.0,false,228.0,0.0,40.020000000000003,-73.579999999999998,0.0],[18,true,true,null,2845.0,1.0,null,null,1.0,false,2845.0,0.0,1336.630000000000109,-1468.980000000000018,0.0],[18,true,true,null,406.800000000000011,1.0,null,null,1.0,false,406.800000000000011,0.0,162.700000000000017,-162.700000000000017,0.0],[19,true,true,null,1200.0,1.0,null,null,1.0,false,1200.0,0.0,621.139999999999986,-523.379999999999995,0.0],[19,true,true,null,360.0,1.0,null,null,1.0,false,360.0,0.0,236.640000000000015,236.640000000000015,0.0],[20,true,true,null,665.0,1.0,null,null,1.0,false,665.0,0.0,326.150000000000034,-306.069999999999993,0.0],[21,true,true,null,401.100000000000023,1.0,null,null,1.0,false,401.0,0.0,189.719999999999999,-232.680000000000007,0.0],[22,true,true,null,3772.0,1.0,null,null,1.0,false,3801.0,0.0,1589.670000000000073,-1388.269999999999982,0.0],[22,true,true,null,363.0,1.0,null,null,1.0,false,363.0,0.0,84.810000000000002,-153.990000000000009,0.0],[1,true,true,null,1524.0,1.0,null,null,1.0,false,1524.0,0.0,1108.509999999999991,-473.360000000000014,0.0],[22,true,true,null,470.0,1.0,null,null,1.0,false,470.400000000000034,0.0,317.759999999999991,-211.430000000000007,0.0],[22,true,true,null,3081.010000000000218,1.0,null,null,1.0,false,4431.0,0.0,1200.809999999999945,-1262.240000000000009,0.0],[22,true,true,null,0.0,1.0,null,null,1.0,false,100.0,0.0,0.0,0.0,0.0],[24,true,true,null,2123.0,1.0,null,null,1.0,false,2123.0,0.0,949.379999999999995,-947.420000000000073,0.0],[24,true,true,null,0.0,1.0,null,null,1.0,false,1245.0,0.0,0.0,0.0,0.0],[25,true,true,null,1940.0,1.0,null,null,1.0,false,1966.0,0.0,881.440000000000055,-431.350000000000023,0.0],[25,true,true,null,1104.0,1.0,null,null,1.0,false,1131.0,0.0,384.110000000000014,-294.620000000000004,0.0],[25,true,true,null,2465.0,1.0,null,null,1.0,false,3165.0,0.0,1254.529999999999973,-1114.6400000000001,0.0],[25,true,true,null,0.0,1.0,null,null,1.0,false,1355.0,0.0,0.0,0.0,0.0],[27,true,true,null,1320.0,1.0,null,null,1.0,false,1320.0,0.0,657.82000000000005,-579.700000000000046,0.0],[1,true,true,null,12.0,1.0,null,null,1.0,false,12.0,0.0,0.0,0.0,0.0],[27,true,true,null,208.0,1.0,null,null,1.0,false,208.0,0.0,60.789999999999999,-71.210000000000008,0.0],[28,true,true,null,1261.0,1.0,null,null,1.0,false,1261.0,0.0,455.319999999999993,-480.430000000000007,0.0],[28,true,true,null,905.0,1.0,null,null,1.0,false,905.0,0.0,403.350000000000023,-412.03000000000003,0.0],[28,true,true,null,0.0,1.0,null,null,1.0,false,140.0,0.0,0.0,0.0,0.0],[2,true,true,null,387.900000000000034,1.0,null,null,1.0,false,550.990000000000009,0.0,128.340000000000003,-158.140000000000015,0.0],[2,true,true,null,13.539999999999999,1.0,null,null,1.0,false,19.0,0.0,-3.51,-3.51,0.0],[2,true,true,null,553.0,1.0,null,null,1.0,false,553.120000000000005,0.0,144.789999999999992,-66.170000000000002,0.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -95,7 +157,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "switch": { @@ -132,7 +195,7 @@ "ext_grid": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0],\"data\":[[26,true,null,0.0,1.0,1081.0,0.0,666.029999999999973,-541.789999999999964]]}", + "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0],\"data\":[[26,true,null,0.0,1.0,1081.0,0.0,666.029999999999973,-541.789999999999964,1.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -143,7 +206,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "line": { @@ -295,7 +359,7 @@ "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\",\"in_service\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"ps_mw\",\"qs_mvar\",\"qz_mvar\",\"pz_mw\",\"r_ohm\",\"x_ohm\",\"vm_pu\",\"in_service\",\"slack_weight\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "name": "object", @@ -307,7 +371,8 @@ "r_ohm": "float64", "x_ohm": "float64", "vm_pu": "float64", - "in_service": "bool" + "in_service": "bool", + "slack_weight": "float64" } }, "measurement": { @@ -356,13 +421,14 @@ "controller": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"recycle\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"initial_run\",\"recycle\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "object": "object", "in_service": "bool", "order": "float64", "level": "object", + "initial_run": "bool", "recycle": "bool" } }, @@ -386,11 +452,11 @@ "coords": "object" } }, - "version": "2.2.1", + "version": "2.7.1", "converged": true, "name": "", "f_hz": 50.0, - "sn_mva": 1.0, + "sn_mva": 100, "std_types": { "line": { "N2XS(FL)2Y 1x300 RM/35 64/110 kV": { @@ -1014,6 +1080,16 @@ "q_mvar": "float64" } }, + "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" + } + }, "res_sgen": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -1098,6 +1174,341 @@ "va_to_degree": "float64" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_bus_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_line_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo3w_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_ext_grid_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_gen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_sgen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_shunt_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "user_pf_options": {}, "OPF_converged": false } diff --git a/pandapower/networks/power_system_test_case_jsons/case118.json b/pandapower/networks/power_system_test_case_jsons/case118.json index d436a65a8..adb514172 100644 --- a/pandapower/networks/power_system_test_case_jsons/case118.json +++ b/pandapower/networks/power_system_test_case_jsons/case118.json @@ -53,6 +53,68 @@ "current_source": "bool" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "storage": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -75,7 +137,7 @@ "gen": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0,1,10,11,12,13,14,15,16,17,18,19,2,20,21,22,23,24,25,26,27,28,29,3,30,31,32,33,34,35,36,37,38,39,4,40,41,42,43,44,45,46,47,48,49,5,50,51,52,6,7,8,9],\"data\":[[0,true,true,null,0.0,1.0,null,null,0.955,false,100.0,0.0,15.0,-5.0],[3,true,true,null,0.0,1.0,null,null,0.998,false,100.0,0.0,300.0,-300.0],[24,true,true,null,220.0,1.0,null,null,1.05,false,320.0,0.0,140.0,-47.0],[25,true,true,null,314.0,1.0,null,null,1.015,false,414.0,0.0,1000.0,-1000.0],[26,true,true,null,0.0,1.0,null,null,0.968,false,100.0,0.0,300.0,-300.0],[30,true,true,null,7.0,1.0,null,null,0.967,false,107.0,0.0,300.0,-300.0],[31,true,true,null,0.0,1.0,null,null,0.963,false,100.0,0.0,42.0,-14.0],[33,true,true,null,0.0,1.0,null,null,0.984,false,100.0,0.0,24.0,-8.0],[35,true,true,null,0.0,1.0,null,null,0.98,false,100.0,0.0,24.0,-8.0],[39,true,true,null,0.0,1.0,null,null,0.97,false,100.0,0.0,300.0,-300.0],[41,true,true,null,0.0,1.0,null,null,0.985,false,100.0,0.0,300.0,-300.0],[45,true,true,null,19.0,1.0,null,null,1.005,false,119.0,0.0,100.0,-100.0],[5,true,true,null,0.0,1.0,null,null,0.99,false,100.0,0.0,50.0,-13.0],[48,true,true,null,204.0,1.0,null,null,1.025,false,304.0,0.0,210.0,-85.0],[53,true,true,null,48.0,1.0,null,null,0.955,false,148.0,0.0,300.0,-300.0],[54,true,true,null,0.0,1.0,null,null,0.952,false,100.0,0.0,23.0,-8.0],[55,true,true,null,0.0,1.0,null,null,0.954,false,100.0,0.0,15.0,-8.0],[58,true,true,null,155.0,1.0,null,null,0.985,false,255.0,0.0,180.0,-60.0],[60,true,true,null,160.0,1.0,null,null,0.995,false,260.0,0.0,300.0,-100.0],[61,true,true,null,0.0,1.0,null,null,0.998,false,100.0,0.0,20.0,-20.0],[64,true,true,null,391.0,1.0,null,null,1.005,false,491.0,0.0,200.0,-67.0],[65,true,true,null,392.0,1.0,null,null,1.05,false,492.0,0.0,200.0,-67.0],[69,true,true,null,0.0,1.0,null,null,0.984,false,100.0,0.0,32.0,-10.0],[7,true,true,null,0.0,1.0,null,null,1.015,false,100.0,0.0,300.0,-300.0],[71,true,true,null,0.0,1.0,null,null,0.98,false,100.0,0.0,100.0,-100.0],[72,true,true,null,0.0,1.0,null,null,0.991,false,100.0,0.0,100.0,-100.0],[73,true,true,null,0.0,1.0,null,null,0.958,false,100.0,0.0,9.0,-6.0],[75,true,true,null,0.0,1.0,null,null,0.943,false,100.0,0.0,23.0,-8.0],[76,true,true,null,0.0,1.0,null,null,1.006,false,100.0,0.0,70.0,-20.0],[79,true,true,null,477.0,1.0,null,null,1.04,false,577.0,0.0,280.0,-165.0],[84,true,true,null,0.0,1.0,null,null,0.985,false,100.0,0.0,23.0,-8.0],[86,true,true,null,4.0,1.0,null,null,1.015,false,104.0,0.0,1000.0,-100.0],[88,true,true,null,607.0,1.0,null,null,1.005,false,707.0,0.0,300.0,-210.0],[89,true,true,null,0.0,1.0,null,null,0.985,false,100.0,0.0,300.0,-300.0],[9,true,true,null,450.0,1.0,null,null,1.05,false,550.0,0.0,200.0,-147.0],[90,true,true,null,0.0,1.0,null,null,0.98,false,100.0,0.0,100.0,-100.0],[91,true,true,null,0.0,1.0,null,null,0.99,false,100.0,0.0,9.0,-3.0],[98,true,true,null,0.0,1.0,null,null,1.01,false,100.0,0.0,100.0,-100.0],[99,true,true,null,252.0,1.0,null,null,1.017,false,352.0,0.0,155.0,-50.0],[102,true,true,null,40.0,1.0,null,null,1.01,false,140.0,0.0,40.0,-15.0],[103,true,true,null,0.0,1.0,null,null,0.971,false,100.0,0.0,23.0,-8.0],[104,true,true,null,0.0,1.0,null,null,0.965,false,100.0,0.0,23.0,-8.0],[106,true,true,null,0.0,1.0,null,null,0.952,false,100.0,0.0,200.0,-200.0],[109,true,true,null,0.0,1.0,null,null,0.973,false,100.0,0.0,23.0,-8.0],[110,true,true,null,36.0,1.0,null,null,0.98,false,136.0,0.0,1000.0,-100.0],[11,true,true,null,85.0,1.0,null,null,0.99,false,185.0,0.0,120.0,-35.0],[111,true,true,null,0.0,1.0,null,null,0.975,false,100.0,0.0,1000.0,-100.0],[112,true,true,null,0.0,1.0,null,null,0.993,false,100.0,0.0,200.0,-100.0],[115,true,true,null,0.0,1.0,null,null,1.005,false,100.0,0.0,1000.0,-1000.0],[14,true,true,null,0.0,1.0,null,null,0.97,false,100.0,0.0,30.0,-10.0],[17,true,true,null,0.0,1.0,null,null,0.973,false,100.0,0.0,50.0,-16.0],[18,true,true,null,0.0,1.0,null,null,0.962,false,100.0,0.0,24.0,-8.0],[23,true,true,null,0.0,1.0,null,null,0.992,false,100.0,0.0,300.0,-300.0]]}", + "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0,1,10,11,12,13,14,15,16,17,18,19,2,20,21,22,23,24,25,26,27,28,29,3,30,31,32,33,34,35,36,37,38,39,4,40,41,42,43,44,45,46,47,48,49,5,50,51,52,6,7,8,9],\"data\":[[0,true,true,null,0.0,1.0,null,null,0.955,false,100.0,0.0,15.0,-5.0,0.0],[3,true,true,null,0.0,1.0,null,null,0.998,false,100.0,0.0,300.0,-300.0,0.0],[24,true,true,null,220.0,1.0,null,null,1.05,false,320.0,0.0,140.0,-47.0,0.0],[25,true,true,null,314.0,1.0,null,null,1.015,false,414.0,0.0,1000.0,-1000.0,0.0],[26,true,true,null,0.0,1.0,null,null,0.968,false,100.0,0.0,300.0,-300.0,0.0],[30,true,true,null,7.0,1.0,null,null,0.967,false,107.0,0.0,300.0,-300.0,0.0],[31,true,true,null,0.0,1.0,null,null,0.963,false,100.0,0.0,42.0,-14.0,0.0],[33,true,true,null,0.0,1.0,null,null,0.984,false,100.0,0.0,24.0,-8.0,0.0],[35,true,true,null,0.0,1.0,null,null,0.98,false,100.0,0.0,24.0,-8.0,0.0],[39,true,true,null,0.0,1.0,null,null,0.97,false,100.0,0.0,300.0,-300.0,0.0],[41,true,true,null,0.0,1.0,null,null,0.985,false,100.0,0.0,300.0,-300.0,0.0],[45,true,true,null,19.0,1.0,null,null,1.005,false,119.0,0.0,100.0,-100.0,0.0],[5,true,true,null,0.0,1.0,null,null,0.99,false,100.0,0.0,50.0,-13.0,0.0],[48,true,true,null,204.0,1.0,null,null,1.025,false,304.0,0.0,210.0,-85.0,0.0],[53,true,true,null,48.0,1.0,null,null,0.955,false,148.0,0.0,300.0,-300.0,0.0],[54,true,true,null,0.0,1.0,null,null,0.952,false,100.0,0.0,23.0,-8.0,0.0],[55,true,true,null,0.0,1.0,null,null,0.954,false,100.0,0.0,15.0,-8.0,0.0],[58,true,true,null,155.0,1.0,null,null,0.985,false,255.0,0.0,180.0,-60.0,0.0],[60,true,true,null,160.0,1.0,null,null,0.995,false,260.0,0.0,300.0,-100.0,0.0],[61,true,true,null,0.0,1.0,null,null,0.998,false,100.0,0.0,20.0,-20.0,0.0],[64,true,true,null,391.0,1.0,null,null,1.005,false,491.0,0.0,200.0,-67.0,0.0],[65,true,true,null,392.0,1.0,null,null,1.05,false,492.0,0.0,200.0,-67.0,0.0],[69,true,true,null,0.0,1.0,null,null,0.984,false,100.0,0.0,32.0,-10.0,0.0],[7,true,true,null,0.0,1.0,null,null,1.015,false,100.0,0.0,300.0,-300.0,0.0],[71,true,true,null,0.0,1.0,null,null,0.98,false,100.0,0.0,100.0,-100.0,0.0],[72,true,true,null,0.0,1.0,null,null,0.991,false,100.0,0.0,100.0,-100.0,0.0],[73,true,true,null,0.0,1.0,null,null,0.958,false,100.0,0.0,9.0,-6.0,0.0],[75,true,true,null,0.0,1.0,null,null,0.943,false,100.0,0.0,23.0,-8.0,0.0],[76,true,true,null,0.0,1.0,null,null,1.006,false,100.0,0.0,70.0,-20.0,0.0],[79,true,true,null,477.0,1.0,null,null,1.04,false,577.0,0.0,280.0,-165.0,0.0],[84,true,true,null,0.0,1.0,null,null,0.985,false,100.0,0.0,23.0,-8.0,0.0],[86,true,true,null,4.0,1.0,null,null,1.015,false,104.0,0.0,1000.0,-100.0,0.0],[88,true,true,null,607.0,1.0,null,null,1.005,false,707.0,0.0,300.0,-210.0,0.0],[89,true,true,null,0.0,1.0,null,null,0.985,false,100.0,0.0,300.0,-300.0,0.0],[9,true,true,null,450.0,1.0,null,null,1.05,false,550.0,0.0,200.0,-147.0,0.0],[90,true,true,null,0.0,1.0,null,null,0.98,false,100.0,0.0,100.0,-100.0,0.0],[91,true,true,null,0.0,1.0,null,null,0.99,false,100.0,0.0,9.0,-3.0,0.0],[98,true,true,null,0.0,1.0,null,null,1.01,false,100.0,0.0,100.0,-100.0,0.0],[99,true,true,null,252.0,1.0,null,null,1.017,false,352.0,0.0,155.0,-50.0,0.0],[102,true,true,null,40.0,1.0,null,null,1.01,false,140.0,0.0,40.0,-15.0,0.0],[103,true,true,null,0.0,1.0,null,null,0.971,false,100.0,0.0,23.0,-8.0,0.0],[104,true,true,null,0.0,1.0,null,null,0.965,false,100.0,0.0,23.0,-8.0,0.0],[106,true,true,null,0.0,1.0,null,null,0.952,false,100.0,0.0,200.0,-200.0,0.0],[109,true,true,null,0.0,1.0,null,null,0.973,false,100.0,0.0,23.0,-8.0,0.0],[110,true,true,null,36.0,1.0,null,null,0.98,false,136.0,0.0,1000.0,-100.0,0.0],[11,true,true,null,85.0,1.0,null,null,0.99,false,185.0,0.0,120.0,-35.0,0.0],[111,true,true,null,0.0,1.0,null,null,0.975,false,100.0,0.0,1000.0,-100.0,0.0],[112,true,true,null,0.0,1.0,null,null,0.993,false,100.0,0.0,200.0,-100.0,0.0],[115,true,true,null,0.0,1.0,null,null,1.005,false,100.0,0.0,1000.0,-1000.0,0.0],[14,true,true,null,0.0,1.0,null,null,0.97,false,100.0,0.0,30.0,-10.0,0.0],[17,true,true,null,0.0,1.0,null,null,0.973,false,100.0,0.0,50.0,-16.0,0.0],[18,true,true,null,0.0,1.0,null,null,0.962,false,100.0,0.0,24.0,-8.0,0.0],[23,true,true,null,0.0,1.0,null,null,0.992,false,100.0,0.0,300.0,-300.0,0.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -91,7 +153,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "switch": { @@ -128,7 +191,7 @@ "ext_grid": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0],\"data\":[[68,true,null,30.0,1.035,805.200000000000045,0.0,300.0,-300.0]]}", + "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0],\"data\":[[68,true,null,30.0,1.035,805.200000000000045,0.0,300.0,-300.0,1.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -139,7 +202,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "line": { @@ -292,7 +356,7 @@ "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\",\"in_service\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"ps_mw\",\"qs_mvar\",\"qz_mvar\",\"pz_mw\",\"r_ohm\",\"x_ohm\",\"vm_pu\",\"in_service\",\"slack_weight\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "name": "object", @@ -304,7 +368,8 @@ "r_ohm": "float64", "x_ohm": "float64", "vm_pu": "float64", - "in_service": "bool" + "in_service": "bool", + "slack_weight": "float64" } }, "measurement": { @@ -353,13 +418,14 @@ "controller": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"recycle\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"initial_run\",\"recycle\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "object": "object", "in_service": "bool", "order": "float64", "level": "object", + "initial_run": "bool", "recycle": "bool" } }, @@ -383,11 +449,11 @@ "coords": "object" } }, - "version": "2.2.1", + "version": "2.7.1", "converged": true, "name": "", "f_hz": 60, - "sn_mva": 1.0, + "sn_mva": 100, "std_types": { "line": { "NAYY 4x150 SE": { @@ -1267,6 +1333,16 @@ "q_mvar": "float64" } }, + "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" + } + }, "res_sgen": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -1351,6 +1427,341 @@ "va_to_degree": "float64" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_bus_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_line_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo3w_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_ext_grid_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_gen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_sgen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_shunt_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "user_pf_options": {}, "OPF_converged": false } diff --git a/pandapower/networks/power_system_test_case_jsons/case11_iwamoto.json b/pandapower/networks/power_system_test_case_jsons/case11_iwamoto.json index 260fdac1f..a7b7cf818 100644 --- a/pandapower/networks/power_system_test_case_jsons/case11_iwamoto.json +++ b/pandapower/networks/power_system_test_case_jsons/case11_iwamoto.json @@ -50,6 +50,68 @@ "current_source": "bool" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "storage": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -72,7 +134,7 @@ "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\",\"in_service\",\"type\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"p_mw\",\"vm_pu\",\"sn_mva\",\"min_q_mvar\",\"max_q_mvar\",\"scaling\",\"slack\",\"in_service\",\"type\",\"slack_weight\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "name": "object", @@ -85,7 +147,8 @@ "scaling": "float64", "slack": "bool", "in_service": "bool", - "type": "object" + "type": "object", + "slack_weight": "float64" } }, "switch": { @@ -122,14 +185,15 @@ "ext_grid": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"name\",\"bus\",\"vm_pu\",\"va_degree\",\"in_service\"],\"index\":[0],\"data\":[[1,0,1.024,0.0,true]]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"vm_pu\",\"va_degree\",\"in_service\",\"slack_weight\"],\"index\":[0],\"data\":[[1,0,1.024,0.0,true,1.0]]}", "orient": "split", "dtype": { "name": "object", "bus": "uint32", "vm_pu": "float64", "va_degree": "float64", - "in_service": "bool" + "in_service": "bool", + "slack_weight": "float64" } }, "line": { @@ -280,7 +344,7 @@ "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\",\"in_service\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"ps_mw\",\"qs_mvar\",\"qz_mvar\",\"pz_mw\",\"r_ohm\",\"x_ohm\",\"vm_pu\",\"in_service\",\"slack_weight\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "name": "object", @@ -292,7 +356,8 @@ "r_ohm": "float64", "x_ohm": "float64", "vm_pu": "float64", - "in_service": "bool" + "in_service": "bool", + "slack_weight": "float64" } }, "measurement": { @@ -341,13 +406,14 @@ "controller": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"recycle\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"initial_run\",\"recycle\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "object": "object", "in_service": "bool", "order": "float64", "level": "object", + "initial_run": "bool", "recycle": "bool" } }, @@ -371,7 +437,7 @@ "coords": "object" } }, - "version": "2.2.1", + "version": "2.7.1", "converged": false, "name": "case11_iwamoto", "f_hz": 50.0, @@ -1255,6 +1321,16 @@ "q_mvar": "float64" } }, + "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" + } + }, "res_sgen": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -1339,6 +1415,341 @@ "va_to_degree": "float64" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_bus_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_line_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo3w_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_ext_grid_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_gen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_sgen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_shunt_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "user_pf_options": {}, "OPF_converged": false } diff --git a/pandapower/networks/power_system_test_case_jsons/case1354pegase.json b/pandapower/networks/power_system_test_case_jsons/case1354pegase.json index e8ded9682..bcd78ee19 100644 --- a/pandapower/networks/power_system_test_case_jsons/case1354pegase.json +++ b/pandapower/networks/power_system_test_case_jsons/case1354pegase.json @@ -54,6 +54,68 @@ "current_source": "bool" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "storage": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -76,7 +138,7 @@ "gen": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0,1,10,100,101,102,103,104,105,106,107,108,109,11,110,111,112,113,114,115,116,117,118,119,12,120,121,122,123,124,125,126,127,128,129,13,130,131,132,133,134,135,136,137,138,139,14,140,141,142,143,144,145,146,147,148,149,15,150,151,152,153,154,155,156,157,158,159,16,160,161,162,163,164,165,166,167,168,169,17,170,171,172,173,174,175,176,177,178,179,18,180,181,182,183,184,185,186,187,188,189,19,190,191,192,193,194,195,196,197,198,199,2,20,200,201,202,203,204,205,206,207,208,209,21,210,211,212,213,214,215,216,217,218,219,22,220,221,222,223,224,225,226,227,228,229,23,230,231,232,233,234,235,236,237,238,239,24,240,241,242,243,244,245,246,247,248,249,25,250,251,252,253,254,255,256,257,258,26,27,28,29,3,30,31,32,33,34,35,36,37,38,39,4,40,41,42,43,44,45,46,47,48,49,5,50,51,52,53,54,55,56,57,58,59,6,60,61,62,63,64,65,66,67,68,69,7,70,71,72,73,74,75,76,77,78,79,8,80,81,82,83,84,85,86,87,88,89,9,90,91,92,93,94,95,96,97,98,99],\"data\":[[16,true,true,null,861.300000000000068,1.0,null,null,1.081537,false,1000.0,333.329999999999984,440.319999999999993,-172.590000000000003],[20,true,true,null,67.290000000000006,1.0,null,null,1.062805,false,160.0,0.0,77.090000000000003,-22.539999999999999],[77,true,true,null,38.200000000000003,1.0,null,null,1.063876,false,40.0,0.0,17.09,-7.79],[501,true,true,null,2.4,1.0,null,null,1.039984,false,120.0,0.0,54.590000000000003,-20.190000000000001],[506,true,true,null,53.700000000000003,1.0,null,null,1.063657,false,120.0,0.0,58.189999999999998,-16.5],[509,true,true,null,521.0,1.0,null,null,1.060777,false,1200.0,400.0,550.970000000000027,-184.890000000000015],[517,true,true,null,-370.800000000000011,1.0,null,null,1.04852,false,100.0,-494.400000000000034,53.75,-21.079999999999998],[523,true,true,null,829.800000000000068,1.0,null,null,1.028771,false,900.0,300.0,387.879999999999996,-163.400000000000006],[533,true,true,null,15.880000000000001,1.0,null,null,1.081614,false,80.0,0.0,38.829999999999998,-10.970000000000001],[536,true,true,null,539.0,1.0,null,null,1.07602,false,600.0,0.0,261.699999999999989,-107.359999999999999],[544,true,true,null,-125.400000000000006,1.0,null,null,1.03905,false,100.0,-167.200000000000017,54.590000000000003,-20.120000000000001],[550,true,true,null,-26.199999999999999,1.0,null,null,1.070983,false,100.0,-34.93,116.070000000000007,-33.32],[552,true,true,null,861.200000000000045,1.0,null,null,1.059676,false,1000.0,333.329999999999984,441.04000000000002,-172.050000000000011],[78,true,true,null,379.199999999999989,1.0,null,null,1.048713,false,480.0,160.0,217.900000000000006,-81.159999999999997],[558,true,true,null,-12.58,1.0,null,null,1.041813,false,100.0,-16.780000000000001,36.340000000000003,-13.470000000000001],[564,true,true,null,854.700000000000046,1.0,null,null,1.031629,false,1200.0,400.0,548.57000000000005,-187.159999999999997],[573,true,true,null,257.0,1.0,null,null,1.084785,false,700.0,233.330000000000012,313.009999999999991,-116.730000000000004],[577,true,true,null,837.300000000000068,1.0,null,null,1.026994,false,900.0,300.0,388.170000000000016,-163.400000000000006],[584,true,true,null,855.600000000000023,1.0,null,null,1.031907,false,1000.0,333.329999999999984,440.689999999999998,-172.140000000000015],[585,true,true,null,-25.100000000000001,1.0,null,null,1.044501,false,100.0,-33.469999999999999,34.270000000000003,-15.52],[591,true,true,null,-21.27,1.0,null,null,1.043758,false,100.0,-28.370000000000001,38.020000000000003,-11.77],[597,true,true,null,-27.100000000000001,1.0,null,null,1.027439,false,100.0,-36.130000000000003,126.159999999999997,-127.560000000000002],[601,true,true,null,-134.5,1.0,null,null,1.063145,false,100.0,-179.330000000000012,55.670000000000002,-19.09],[609,true,true,null,89.5,1.0,null,null,1.040328,false,200.0,0.0,97.070000000000007,-27.440000000000001],[80,true,true,null,-46.200000000000003,1.0,null,null,1.051376,false,100.0,-61.600000000000001,135.52000000000001,-38.899999999999999],[616,true,true,null,-76.900000000000006,1.0,null,null,1.038526,false,100.0,-102.530000000000001,38.049999999999997,-11.77],[618,true,true,null,366.100000000000023,1.0,null,null,1.063234,false,600.0,0.0,264.939999999999998,-103.740000000000009],[623,true,true,null,41.0,1.0,null,null,1.027195,false,80.0,0.0,38.369999999999997,-11.4],[624,true,true,null,59.600000000000001,1.0,null,null,1.003502,false,80.0,0.0,36.890000000000001,-13.0],[626,true,true,null,67.5,1.0,null,null,1.019761,false,120.0,0.0,57.030000000000001,-17.629999999999999],[653,true,true,null,60.200000000000003,1.0,null,null,1.028646,false,80.0,0.0,36.729999999999997,-13.119999999999999],[659,true,true,null,-129.099999999999994,1.0,null,null,1.039834,false,100.0,-172.129999999999995,38.479999999999997,-11.33],[663,true,true,null,861.300000000000068,1.0,null,null,1.059565,false,1000.0,333.329999999999984,441.04000000000002,-172.050000000000011],[668,true,true,null,861.300000000000068,1.0,null,null,1.071852,false,1000.0,333.329999999999984,439.199999999999989,-173.430000000000007],[669,true,true,null,35.200000000000003,1.0,null,null,1.049914,false,80.0,0.0,38.850000000000001,-10.949999999999999],[86,true,true,null,37.399999999999999,1.0,null,null,1.0691,false,80.0,0.0,38.770000000000003,-11.06],[675,true,true,null,-171.800000000000011,1.0,null,null,1.036047,false,100.0,-229.069999999999993,37.859999999999999,-11.949999999999999],[687,true,true,null,-30.390000000000001,1.0,null,null,1.073282,false,100.0,-40.509999999999998,37.939999999999998,-11.869999999999999],[693,true,true,null,68.0,1.0,null,null,1.042135,false,80.0,0.0,35.619999999999998,-14.19],[695,true,true,null,-78.900000000000006,1.0,null,null,1.049813,false,100.0,-105.200000000000003,19.140000000000001,-5.77],[701,true,true,null,93.200000000000003,1.0,null,null,1.043063,false,281.850000000000023,0.0,98.400000000000006,-86.290000000000006],[712,true,true,null,861.300000000000068,1.0,null,null,1.071981,false,1000.0,333.329999999999984,439.199999999999989,-173.430000000000007],[714,true,true,null,-26.079999999999998,1.0,null,null,1.067305,false,100.0,-34.770000000000003,38.369999999999997,-11.44],[715,true,true,null,855.600000000000023,1.0,null,null,1.031907,false,1000.0,333.329999999999984,440.689999999999998,-172.140000000000015],[716,true,true,null,10.300000000000001,1.0,null,null,1.067114,false,10.460000000000001,0.0,4.44,-2.07],[720,true,true,null,88.799999999999997,1.0,null,null,1.054975,false,160.0,0.0,76.519999999999996,-23.190000000000001],[94,true,true,null,198.879999999999996,1.0,null,null,1.057884,false,240.0,0.0,105.689999999999998,-43.840000000000003],[725,true,true,null,-40.299999999999997,1.0,null,null,1.034991,false,100.0,-53.729999999999997,75.620000000000004,-23.960000000000001],[731,true,true,null,41.689999999999998,1.0,null,null,1.057325,false,80.0,0.0,37.270000000000003,-12.57],[738,true,true,null,-12.57,1.0,null,null,1.045386,false,100.0,-16.77,37.229999999999997,-12.609999999999999],[743,true,true,null,54.299999999999997,1.0,null,null,1.0663,false,220.120000000000005,0.0,74.730000000000004,-70.409999999999997],[746,true,true,null,49.399999999999999,1.0,null,null,1.047693,false,80.0,0.0,37.719999999999999,-12.09],[748,true,true,null,83.480000000000004,1.0,null,null,1.037373,false,160.0,0.0,74.549999999999997,-24.969999999999999],[749,true,true,null,542.0,1.0,null,null,1.021924,false,600.0,0.0,258.910000000000025,-109.579999999999998],[755,true,true,null,-52.509999999999998,1.0,null,null,1.032061,false,100.0,-70.010000000000005,38.280000000000001,-11.5],[756,true,true,null,75.600000000000008,1.0,null,null,1.055539,false,120.0,0.0,56.350000000000001,-18.420000000000002],[759,true,true,null,1713.600000000000136,1.0,null,null,1.035201,false,2000.0,666.669999999999959,882.860000000000014,-343.240000000000009],[96,true,true,null,116.700000000000003,1.0,null,null,1.017567,false,120.0,0.0,51.299999999999997,-23.41],[768,true,true,null,106.799999999999997,1.0,null,null,1.052719,false,160.0,0.0,75.019999999999996,-24.739999999999998],[773,true,true,null,119.400000000000006,1.0,null,null,1.042037,false,120.0,0.0,51.299999999999997,-23.489999999999998],[781,true,true,null,-159.0,1.0,null,null,1.054941,false,100.0,-212.0,36.369999999999997,-13.43],[787,true,true,null,19.59,1.0,null,null,1.061754,false,40.0,0.0,18.140000000000001,-6.75],[788,true,true,null,1250.600000000000136,1.0,null,null,1.107976,false,2000.0,666.669999999999959,926.470000000000027,-297.629999999999996],[792,true,true,null,-395.800000000000011,1.0,null,null,1.048137,false,100.0,-527.730000000000018,58.060000000000002,-16.66],[805,true,true,null,43.399999999999999,1.0,null,null,1.06213,false,80.0,0.0,38.259999999999998,-11.550000000000001],[808,true,true,null,1368.600000000000136,1.0,null,null,1.063711,false,2000.0,666.669999999999959,920.310000000000059,-305.639999999999986],[809,true,true,null,56.799999999999997,1.0,null,null,1.044486,false,249.060000000000002,0.0,101.320000000000007,-48.119999999999997],[810,true,true,null,861.300000000000068,1.0,null,null,1.059636,false,1000.0,333.329999999999984,441.04000000000002,-172.050000000000011],[100,true,true,null,-111.400000000000006,1.0,null,null,1.026368,false,100.0,-148.530000000000001,18.16,-6.73],[811,true,true,null,-96.400000000000006,1.0,null,null,1.041881,false,100.0,-128.530000000000001,37.490000000000002,-12.33],[812,true,true,null,3424.800000000000182,1.0,null,null,1.068845,false,4000.0,1333.329999999999927,1765.360000000000127,-686.669999999999959],[818,true,true,null,173.0,1.0,null,null,1.038212,false,200.0,0.0,88.870000000000004,-35.710000000000001],[819,true,true,null,21.5,1.0,null,null,1.05378,false,40.0,0.0,19.16,-5.75],[821,true,true,null,57.600000000000001,1.0,null,null,1.04123,false,80.0,0.0,36.799999999999997,-12.99],[835,true,true,null,229.800000000000011,1.0,null,null,1.017689,false,240.0,0.0,103.180000000000007,-46.25],[836,true,true,null,128.0,1.0,null,null,1.070507,false,160.0,0.0,72.710000000000008,-27.050000000000001],[843,true,true,null,837.0,1.0,null,null,1.027078,false,1200.0,400.0,550.690000000000055,-185.150000000000006],[852,true,true,null,1102.829999999999927,1.0,null,null,1.0396,false,1800.0,600.0,779.289999999999964,-324.79000000000002],[856,true,true,null,181.200000000000017,1.0,null,null,1.044051,false,440.0,146.670000000000016,196.980000000000018,-77.170000000000002],[101,true,true,null,16.5,1.0,null,null,1.049411,false,33.579999999999998,0.0,12.369999999999999,-9.359999999999999],[860,true,true,null,305.699999999999989,1.0,null,null,1.038417,false,480.0,160.0,214.129999999999995,-85.0],[862,true,true,null,60.0,1.0,null,null,1.065605,false,80.0,0.0,36.719999999999999,-13.130000000000001],[868,true,true,null,-74.900000000000006,1.0,null,null,1.030075,false,100.0,-99.870000000000004,17.210000000000001,-7.73],[871,true,true,null,1221.200000000000045,1.0,null,null,1.070056,false,2000.0,666.669999999999959,934.539999999999964,-291.639999999999986],[872,true,true,null,-102.5,1.0,null,null,1.066029,false,100.0,-136.670000000000016,37.270000000000003,-12.59],[876,true,true,null,-87.299999999999997,1.0,null,null,1.029184,false,100.0,-116.400000000000006,60.509999999999998,-61.079999999999998],[879,true,true,null,820.200000000000045,1.0,null,null,1.043738,false,900.0,300.0,390.400000000000034,-161.159999999999997],[892,true,true,null,94.299999999999997,1.0,null,null,0.988112,false,769.940000000000055,32.079999999999998,249.650000000000006,-261.819999999999993],[894,true,true,null,26.300000000000001,1.0,null,null,1.040343,false,53.759999999999998,0.0,19.859999999999999,-14.93],[912,true,true,null,55.5,1.0,null,null,1.040598,false,120.0,0.0,58.119999999999997,-16.600000000000001],[103,true,true,null,58.399999999999999,1.0,null,null,1.035522,false,80.0,0.0,36.75,-13.039999999999999],[916,true,true,null,48.799999999999997,1.0,null,null,1.052181,false,80.0,0.0,37.759999999999998,-12.050000000000001],[917,true,true,null,96.0,1.0,null,null,1.062214,false,200.0,0.0,96.560000000000002,-27.949999999999999],[919,true,true,null,22.079999999999998,1.0,null,null,1.064446,false,80.0,0.0,38.289999999999999,-11.56],[921,true,true,null,-145.300000000000011,1.0,null,null,1.043835,false,100.0,-193.730000000000018,51.109999999999999,-23.460000000000001],[923,true,true,null,-27.800000000000001,1.0,null,null,1.046714,false,100.0,-37.07,148.650000000000006,-50.729999999999997],[930,true,true,null,171.0,1.0,null,null,1.039574,false,200.0,0.0,88.829999999999998,-35.689999999999998],[935,true,true,null,718.5,1.0,null,null,1.06557,false,1000.0,333.329999999999984,438.720000000000027,-174.150000000000006],[941,true,true,null,228.200000000000017,1.0,null,null,1.052452,false,280.0,0.0,126.730000000000004,-47.829999999999998],[944,true,true,null,-204.200000000000017,1.0,null,null,1.048796,false,100.0,-272.269999999999982,37.579999999999998,-12.16],[970,true,true,null,382.699999999999989,1.0,null,null,1.061492,false,720.0,0.0,311.519999999999982,-132.090000000000003],[105,true,true,null,-89.200000000000003,1.0,null,null,1.041369,false,100.0,-118.930000000000007,74.030000000000001,-25.539999999999999],[984,true,true,null,44.07,1.0,null,null,1.006037,false,160.0,0.0,77.140000000000001,-22.460000000000001],[985,true,true,null,16.530000000000001,1.0,null,null,1.053803,false,160.0,0.0,77.350000000000008,-22.260000000000002],[986,true,true,null,15.9,1.0,null,null,1.049557,false,32.530000000000001,0.0,11.99,-9.06],[988,true,true,null,-57.5,1.0,null,null,1.031347,false,100.0,-76.670000000000002,35.619999999999998,-14.25],[992,true,true,null,102.900000000000006,1.0,null,null,1.055216,false,120.0,0.0,53.240000000000002,-21.469999999999999],[994,true,true,null,-344.900000000000034,1.0,null,null,1.031296,false,100.0,-459.870000000000004,18.559999999999999,-6.34],[996,true,true,null,2463.599999999999909,1.0,null,null,1.021411,false,4000.0,1333.329999999999927,1865.829999999999927,-585.950000000000046],[999,true,true,null,133.0,1.0,null,null,1.039234,false,300.0,88.670000000000002,189.310000000000002,-59.869999999999998],[1010,true,true,null,227.5,1.0,null,null,1.051367,false,280.0,0.0,126.090000000000003,-48.289999999999999],[1014,true,true,null,39.799999999999997,1.0,null,null,1.059486,false,80.0,0.0,38.530000000000001,-11.27],[33,true,true,null,-155.390000000000015,1.0,null,null,0.984682,false,100.0,-207.180000000000007,183.920000000000016,-65.299999999999997],[110,true,true,null,1274.200000000000045,1.0,null,null,1.044097,false,2000.0,666.669999999999959,926.680000000000064,-298.310000000000002],[1015,true,true,null,-12.6,1.0,null,null,1.036531,false,100.0,-16.800000000000001,56.219999999999999,-18.440000000000001],[1022,true,true,null,65.799999999999997,1.0,null,null,1.041241,false,80.0,0.0,36.159999999999997,-13.720000000000001],[1025,true,true,null,55.5,1.0,null,null,1.049669,false,120.0,0.0,58.18,-16.559999999999999],[1028,true,true,null,448.850000000000023,1.0,null,null,1.006597,false,600.0,200.0,267.360000000000014,-100.980000000000004],[1034,true,true,null,65.870000000000004,1.0,null,null,1.008722,false,272.28000000000003,0.0,95.060000000000002,-83.340000000000003],[1042,true,true,null,861.300000000000068,1.0,null,null,1.059575,false,1000.0,333.329999999999984,441.04000000000002,-172.050000000000011],[1048,true,true,null,1250.600000000000136,1.0,null,null,1.107733,false,2000.0,666.669999999999959,926.470000000000027,-297.629999999999996],[1050,true,true,null,7.3,1.0,null,null,1.051113,false,7.35,0.0,3.12,-1.46],[1059,true,true,null,-39.700000000000003,1.0,null,null,1.010817,false,100.0,-52.93,89.840000000000003,-34.840000000000003],[1062,true,true,null,2340.400000000000091,1.0,null,null,1.034538,false,4000.0,1333.329999999999927,1862.289999999999964,-588.159999999999968],[112,true,true,null,59.560000000000002,1.0,null,null,1.00025,false,200.0,0.0,96.640000000000001,-27.809999999999999],[1068,true,true,null,59.060000000000002,1.0,null,null,1.043172,false,160.0,0.0,76.109999999999999,-23.620000000000001],[1069,true,true,null,53.0,1.0,null,null,0.999675,false,80.0,0.0,37.450000000000003,-12.390000000000001],[1085,true,true,null,-202.530000000000001,1.0,null,null,1.057257,false,100.0,-270.04000000000002,75.850000000000008,-77.060000000000002],[1088,true,true,null,76.5,1.0,null,null,1.027108,false,120.0,0.0,56.270000000000003,-18.41],[1091,true,true,null,75.799999999999997,1.0,null,null,1.035256,false,200.0,50.530000000000001,214.230000000000018,-59.770000000000003],[1095,true,true,null,702.399999999999977,1.0,null,null,1.037447,false,800.0,266.670000000000016,350.360000000000014,-140.72999999999999],[1096,true,true,null,508.0,1.0,null,null,0.99994,false,800.0,266.670000000000016,371.110000000000014,-119.670000000000002],[1114,true,true,null,769.200000000000045,1.0,null,null,1.051427,false,880.0,200.0,378.20999999999998,-162.349999999999994],[1120,true,true,null,228.200000000000017,1.0,null,null,1.052424,false,280.0,0.0,126.730000000000004,-47.829999999999998],[1130,true,true,null,1221.200000000000045,1.0,null,null,1.072261,false,2000.0,666.669999999999959,934.730000000000018,-291.519999999999982],[113,true,true,null,855.600000000000023,1.0,null,null,1.031745,false,1000.0,333.329999999999984,440.670000000000016,-172.150000000000006],[1134,true,true,null,1250.400000000000091,1.0,null,null,1.054562,false,2000.0,666.669999999999959,926.350000000000023,-297.680000000000007],[1139,true,true,null,165.0,1.0,null,null,1.001912,false,200.0,0.0,90.079999999999998,-34.560000000000002],[1153,true,true,null,1368.600000000000136,1.0,null,null,1.063764,false,2000.0,666.669999999999959,920.409999999999968,-305.579999999999984],[1167,true,true,null,811.800000000000068,1.0,null,null,1.048854,false,900.0,300.0,391.569999999999993,-160.950000000000017],[1171,true,true,null,-27.0,1.0,null,null,1.066913,false,100.0,-36.0,75.670000000000002,-23.960000000000001],[1176,true,true,null,992.0,1.0,null,null,1.067387,false,1041.599999999999909,0.0,99999.0,-99999.0],[1180,true,true,null,153.0,1.0,null,null,1.052602,false,200.0,0.0,91.670000000000002,-33.009999999999998],[1190,true,true,null,66.799999999999997,1.0,null,null,1.02335,false,80.0,0.0,35.759999999999998,-14.050000000000001],[1191,true,true,null,17.0,1.0,null,null,1.071504,false,40.0,0.0,19.489999999999998,-5.42],[1195,true,true,null,203.400000000000006,1.0,null,null,1.043326,false,240.0,0.0,106.840000000000003,-42.560000000000002],[117,true,true,null,1702.799999999999954,1.0,null,null,1.064525,false,2400.0,800.0,1097.410000000000082,-373.910000000000025],[1201,true,true,null,-8.75,1.0,null,null,1.035451,false,100.0,-11.66,17.800000000000001,-7.13],[1202,true,true,null,1702.200000000000045,1.0,null,null,1.07814,false,2400.0,800.0,1096.329999999999927,-374.639999999999986],[1218,true,true,null,517.100000000000023,1.0,null,null,1.042925,false,1000.0,333.329999999999984,474.420000000000016,-138.490000000000009],[1222,true,true,null,-135.0,1.0,null,null,1.039202,false,100.0,-180.0,90.210000000000008,-34.450000000000003],[1227,true,true,null,78.799999999999997,1.0,null,null,1.04752,false,80.0,0.0,34.159999999999997,-15.67],[1233,true,true,null,32.299999999999997,1.0,null,null,1.053872,false,200.0,0.0,93.030000000000001,-31.43],[1234,true,true,null,-75.689999999999998,1.0,null,null,1.019671,false,100.0,-100.920000000000002,3.61,-1.69],[1239,true,true,null,-65.0,1.0,null,null,1.019727,false,100.0,-86.670000000000002,51.909999999999997,-22.859999999999999],[1251,true,true,null,-138.300000000000011,1.0,null,null,1.049066,false,100.0,-184.400000000000006,37.399999999999999,-12.460000000000001],[1253,true,true,null,-259.100000000000023,1.0,null,null,1.018762,false,100.0,-345.470000000000027,34.920000000000002,-14.960000000000001],[132,true,true,null,1221.200000000000045,1.0,null,null,1.072621,false,2000.0,666.669999999999959,934.730000000000018,-291.519999999999982],[1255,true,true,null,-37.280000000000001,1.0,null,null,1.041975,false,100.0,-49.700000000000003,54.32,-20.390000000000001],[1261,true,true,null,1232.600000000000136,1.0,null,null,1.054052,false,2000.0,666.669999999999959,932.680000000000064,-293.139999999999986],[1271,true,true,null,166.200000000000017,1.0,null,null,1.054157,false,240.0,0.0,111.700000000000003,-37.850000000000001],[1273,true,true,null,-304.0,1.0,null,null,1.05109,false,100.0,-405.329999999999984,35.840000000000003,-14.07],[1276,true,true,null,44.659999999999997,1.0,null,null,1.050791,false,160.0,0.0,76.870000000000004,-22.75],[1287,true,true,null,1232.600000000000136,1.0,null,null,1.053844,false,2000.0,666.669999999999959,932.680000000000064,-293.139999999999986],[1296,true,true,null,17.0,1.0,null,null,1.020268,false,86.730000000000004,0.0,28.989999999999998,-28.41],[1302,true,true,null,-255.700000000000017,1.0,null,null,1.047268,false,100.0,-340.939999999999998,38.229999999999997,-11.609999999999999],[1303,true,true,null,-61.799999999999997,1.0,null,null,1.035459,false,100.0,-82.400000000000006,53.520000000000003,-50.380000000000003],[1305,true,true,null,110.0,1.0,null,null,1.046972,false,200.0,0.0,95.650000000000006,-28.949999999999999],[134,true,true,null,92.100000000000009,1.0,null,null,1.074143,false,120.0,0.0,55.020000000000003,-19.809999999999999],[1309,true,true,null,78.200000000000003,1.0,null,null,0.997131,false,317.090000000000032,0.0,107.590000000000003,-101.480000000000004],[1324,true,true,null,369.600000000000023,1.0,null,null,1.040924,false,440.0,146.670000000000016,198.069999999999993,-76.340000000000003],[1326,true,true,null,698.800000000000068,1.0,null,null,1.02885,false,1000.0,333.329999999999984,442.990000000000009,-169.920000000000016],[1327,true,true,null,-239.230000000000018,1.0,null,null,1.046626,false,100.0,-318.970000000000027,18.649999999999999,-14.16],[1334,true,true,null,42.700000000000003,1.0,null,null,1.049768,false,100.0,28.469999999999999,335.95999999999998,-93.230000000000004],[1335,true,true,null,-37.200000000000003,1.0,null,null,1.049624,false,100.0,-49.600000000000001,73.189999999999998,-26.48],[1336,true,true,null,860.800000000000068,1.0,null,null,1.037969,false,1000.0,333.329999999999984,439.379999999999995,-173.280000000000001],[1341,true,true,null,-331.400000000000034,1.0,null,null,1.03623,false,100.0,-441.870000000000004,175.0,-49.159999999999997],[1343,true,true,null,72.0,1.0,null,null,1.061189,false,160.0,0.0,77.689999999999998,-21.969999999999999],[135,true,true,null,171.0,1.0,null,null,1.041506,false,200.0,0.0,89.549999999999997,-35.149999999999999],[144,true,true,null,829.5,1.0,null,null,1.028946,false,900.0,300.0,387.879999999999996,-163.400000000000006],[149,true,true,null,91.799999999999997,1.0,null,null,1.049472,false,120.0,0.0,54.909999999999997,-19.879999999999999],[151,true,true,null,837.0,1.0,null,null,1.027056,false,1200.0,400.0,550.690000000000055,-185.150000000000006],[42,true,true,null,83.700000000000003,1.0,null,null,1.048249,false,120.0,0.0,55.539999999999999,-19.16],[153,true,true,null,58.200000000000003,1.0,null,null,1.042801,false,80.0,0.0,36.799999999999997,-13.01],[155,true,true,null,-124.150000000000006,1.0,null,null,1.049879,false,100.0,-165.539999999999992,38.049999999999997,-11.59],[177,true,true,null,1504.799999999999954,1.0,null,null,1.108028,false,2000.0,666.669999999999959,906.610000000000014,-319.439999999999998],[180,true,true,null,837.0,1.0,null,null,1.027102,false,1200.0,400.0,550.690000000000055,-185.150000000000006],[184,true,true,null,-124.100000000000009,1.0,null,null,1.03682,false,100.0,-165.469999999999999,36.920000000000002,-12.880000000000001],[190,true,true,null,67.200000000000003,1.0,null,null,1.032899,false,120.0,0.0,57.030000000000001,-17.620000000000001],[192,true,true,null,-246.5,1.0,null,null,1.041045,false,100.0,-328.670000000000016,38.079999999999998,-11.73],[202,true,true,null,-101.0,1.0,null,null,1.04353,false,100.0,-134.670000000000016,18.09,-6.79],[204,true,true,null,49.399999999999999,1.0,null,null,1.047684,false,80.0,0.0,37.719999999999999,-12.09],[209,true,true,null,62.600000000000001,1.0,null,null,1.048068,false,80.0,0.0,36.399999999999999,-13.44],[45,true,true,null,1250.400000000000091,1.0,null,null,1.055378,false,2000.0,666.669999999999959,926.350000000000023,-297.680000000000007],[232,true,true,null,50.600000000000001,1.0,null,null,1.043862,false,80.0,0.0,37.659999999999997,-12.17],[238,true,true,null,50.399999999999999,1.0,null,null,1.028554,false,80.0,0.0,37.740000000000002,-12.109999999999999],[243,true,true,null,1250.400000000000091,1.0,null,null,1.04395,false,2000.0,666.669999999999959,928.889999999999986,-296.100000000000023],[246,true,true,null,860.800000000000068,1.0,null,null,1.037938,false,1000.0,333.329999999999984,439.370000000000005,-173.300000000000011],[249,true,true,null,28.100000000000001,1.0,null,null,1.062238,false,40.0,0.0,18.52,-6.39],[254,true,true,null,40.0,1.0,null,null,1.04286,false,41.060000000000002,0.0,16.989999999999998,-7.92],[260,true,true,null,1250.400000000000091,1.0,null,null,1.05295,false,2000.0,666.669999999999959,926.350000000000023,-297.680000000000007],[263,true,true,null,-0.6,1.0,null,null,1.046224,false,100.0,-0.8,111.230000000000004,-38.159999999999997],[269,true,true,null,15.6,1.0,null,null,1.04762,false,31.920000000000002,0.0,11.76,-8.890000000000001],[270,true,true,null,-241.800000000000011,1.0,null,null,1.054325,false,100.0,-322.400000000000034,58.159999999999997,-16.52],[50,true,true,null,231.0,1.0,null,null,1.05013,false,280.0,0.0,124.120000000000005,-49.840000000000003],[277,true,true,null,573.680000000000064,1.0,null,null,1.039377,false,912.779999999999973,312.78000000000003,396.019999999999982,-155.830000000000012],[281,true,true,null,115.5,1.0,null,null,1.035636,false,472.160000000000025,39.350000000000001,160.360000000000014,-150.950000000000017],[285,true,true,null,31.0,1.0,null,null,1.064692,false,40.0,0.0,18.140000000000001,-6.75],[295,true,true,null,855.600000000000023,1.0,null,null,1.03088,false,1000.0,333.329999999999984,441.850000000000023,-171.27000000000001],[299,true,true,null,836.200000000000045,1.0,null,null,1.009914,false,2000.0,666.669999999999959,962.200000000000045,-263.649999999999977],[306,true,true,null,176.0,1.0,null,null,1.040351,false,200.0,0.0,88.390000000000001,-36.189999999999998],[319,true,true,null,-121.299999999999997,1.0,null,null,1.07333,false,100.0,-161.72999999999999,58.350000000000001,-16.260000000000002],[322,true,true,null,-53.289999999999999,1.0,null,null,1.035528,false,100.0,-71.049999999999997,19.510000000000002,-14.74],[330,true,true,null,38.899999999999999,1.0,null,null,1.05324,false,119.299999999999997,0.0,41.670000000000002,-36.5],[333,true,true,null,110.5,1.0,null,null,1.072528,false,200.0,0.0,95.689999999999998,-28.93],[56,true,true,null,260.100000000000023,1.0,null,null,1.018914,false,540.0,0.0,257.230000000000018,-74.400000000000006],[344,true,true,null,78.200000000000003,1.0,null,null,1.024884,false,80.0,0.0,34.350000000000001,-15.5],[352,true,true,null,-320.400000000000034,1.0,null,null,1.047766,false,100.0,-427.199999999999989,37.390000000000001,-12.449999999999999],[354,true,true,null,-100.5,1.0,null,null,1.041186,false,100.0,-134.0,54.299999999999997,-20.489999999999998],[355,true,true,null,-43.200000000000003,1.0,null,null,1.037687,false,100.0,-57.600000000000001,105.340000000000003,-99.019999999999996],[359,true,true,null,1367.0,1.0,null,null,1.06157,false,2000.0,666.669999999999959,921.620000000000004,-304.730000000000018],[363,true,true,null,46.799999999999997,1.0,null,null,1.048132,false,80.0,0.0,38.020000000000003,-11.81],[366,true,true,null,31.800000000000001,1.0,null,null,1.042777,false,80.0,0.0,39.119999999999997,-10.710000000000001],[367,true,true,null,286.5,1.0,null,null,1.049366,false,360.0,0.0,162.400000000000006,-61.789999999999999],[374,true,true,null,54.299999999999997,1.0,null,null,1.049384,false,120.0,0.0,58.229999999999997,-16.489999999999998],[381,true,true,null,76.480000000000004,1.0,null,null,1.038821,false,160.0,0.0,76.079999999999998,-23.59],[63,true,true,null,539.399999999999977,1.0,null,null,1.075592,false,600.0,200.0,261.79000000000002,-106.670000000000002],[382,true,true,null,1367.0,1.0,null,null,1.061488,false,2000.0,666.669999999999959,921.519999999999982,-304.79000000000002],[386,true,true,null,41.920000000000002,1.0,null,null,1.036517,false,120.0,0.0,51.939999999999998,-22.800000000000001],[393,true,true,null,77.600000000000008,1.0,null,null,1.035384,false,196.719999999999999,0.0,70.150000000000006,-58.100000000000001],[401,true,true,null,1221.200000000000045,1.0,null,null,1.073795,false,2000.0,666.669999999999959,934.810000000000059,-291.470000000000027],[404,true,true,null,-95.100000000000009,1.0,null,null,1.042226,false,100.0,-126.799999999999997,88.329999999999998,-36.329999999999998],[405,true,true,null,66.799999999999997,1.0,null,null,1.05396,false,160.0,0.0,77.909999999999997,-21.66],[409,true,true,null,1250.400000000000091,1.0,null,null,1.053944,false,2000.0,666.669999999999959,926.259999999999991,-297.740000000000009],[410,true,true,null,80.700000000000003,1.0,null,null,1.08248,false,120.0,0.0,55.979999999999997,-18.760000000000002],[411,true,true,null,31.600000000000001,1.0,null,null,1.043712,false,40.0,0.0,18.190000000000001,-6.74],[418,true,true,null,4.5,1.0,null,null,1.063841,false,9.050000000000001,0.0,3.31,-2.54],[69,true,true,null,-51.670000000000002,1.0,null,null,1.069817,false,100.0,-68.890000000000001,18.469999999999999,-19.350000000000001],[420,true,true,null,8.949999999999999,1.0,null,null,1.057626,false,214.860000000000014,0.0,72.950000000000003,-68.710000000000008],[421,true,true,null,60.899999999999999,1.0,null,null,1.055151,false,120.0,0.0,57.689999999999998,-17.02],[425,true,true,null,20.899999999999999,1.0,null,null,1.059072,false,40.0,0.0,19.190000000000001,-5.72],[431,true,true,null,53.200000000000003,1.0,null,null,1.047695,false,80.0,0.0,37.240000000000002,-12.539999999999999],[433,true,true,null,3.4,1.0,null,null,1.051149,false,6.83,0.0,2.51,-1.91],[443,true,true,null,46.600000000000001,1.0,null,null,1.053607,false,493.350000000000023,0.0,184.460000000000008,-132.670000000000016],[446,true,true,null,162.5,1.0,null,null,1.041705,false,200.0,0.0,89.609999999999999,-34.82],[450,true,true,null,855.700000000000046,1.0,null,null,1.030654,false,1000.0,333.329999999999984,441.850000000000023,-171.27000000000001],[464,true,true,null,38.600000000000001,1.0,null,null,1.071964,false,40.0,0.0,17.329999999999998,-7.61],[467,true,true,null,85.540000000000006,1.0,null,null,1.065372,false,240.0,0.0,113.969999999999999,-35.560000000000002],[71,true,true,null,-270.0,1.0,null,null,1.045397,false,100.0,-360.0,17.879999999999999,-7.03],[468,true,true,null,-136.300000000000011,1.0,null,null,1.023117,false,100.0,-181.72999999999999,70.25,-29.329999999999998],[472,true,true,null,98.700000000000003,1.0,null,null,1.055515,false,120.0,0.0,53.700000000000003,-20.98],[478,true,true,null,416.699999999999989,1.0,null,null,1.041982,false,540.0,0.0,243.610000000000014,-88.460000000000008],[479,true,true,null,-107.400000000000006,1.0,null,null,1.028507,false,100.0,-143.200000000000017,36.789999999999999,-13.0],[483,true,true,null,-42.299999999999997,1.0,null,null,1.050305,false,100.0,-56.399999999999999,62.229999999999997,-51.369999999999997],[491,true,true,null,861.300000000000068,1.0,null,null,1.071978,false,1000.0,333.329999999999984,439.199999999999989,-173.430000000000007],[492,true,true,null,-26.48,1.0,null,null,1.014126,false,100.0,-35.299999999999997,38.130000000000003,-11.640000000000001],[497,true,true,null,56.799999999999997,1.0,null,null,1.01594,false,80.0,0.0,37.100000000000001,-12.76],[498,true,true,null,19.07,1.0,null,null,1.045739,false,80.0,0.0,38.200000000000003,-11.609999999999999],[499,true,true,null,44.5,1.0,null,null,1.0538,false,135.27000000000001,0.0,47.189999999999998,-41.439999999999998]]}", + "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0,1,10,100,101,102,103,104,105,106,107,108,109,11,110,111,112,113,114,115,116,117,118,119,12,120,121,122,123,124,125,126,127,128,129,13,130,131,132,133,134,135,136,137,138,139,14,140,141,142,143,144,145,146,147,148,149,15,150,151,152,153,154,155,156,157,158,159,16,160,161,162,163,164,165,166,167,168,169,17,170,171,172,173,174,175,176,177,178,179,18,180,181,182,183,184,185,186,187,188,189,19,190,191,192,193,194,195,196,197,198,199,2,20,200,201,202,203,204,205,206,207,208,209,21,210,211,212,213,214,215,216,217,218,219,22,220,221,222,223,224,225,226,227,228,229,23,230,231,232,233,234,235,236,237,238,239,24,240,241,242,243,244,245,246,247,248,249,25,250,251,252,253,254,255,256,257,258,26,27,28,29,3,30,31,32,33,34,35,36,37,38,39,4,40,41,42,43,44,45,46,47,48,49,5,50,51,52,53,54,55,56,57,58,59,6,60,61,62,63,64,65,66,67,68,69,7,70,71,72,73,74,75,76,77,78,79,8,80,81,82,83,84,85,86,87,88,89,9,90,91,92,93,94,95,96,97,98,99],\"data\":[[16,true,true,null,861.300000000000068,1.0,null,null,1.081537,false,1000.0,333.329999999999984,440.319999999999993,-172.590000000000003,0.0],[20,true,true,null,67.290000000000006,1.0,null,null,1.062805,false,160.0,0.0,77.090000000000003,-22.539999999999999,0.0],[77,true,true,null,38.200000000000003,1.0,null,null,1.063876,false,40.0,0.0,17.09,-7.79,0.0],[501,true,true,null,2.4,1.0,null,null,1.039984,false,120.0,0.0,54.590000000000003,-20.190000000000001,0.0],[506,true,true,null,53.700000000000003,1.0,null,null,1.063657,false,120.0,0.0,58.189999999999998,-16.5,0.0],[509,true,true,null,521.0,1.0,null,null,1.060777,false,1200.0,400.0,550.970000000000027,-184.890000000000015,0.0],[517,true,true,null,-370.800000000000011,1.0,null,null,1.04852,false,100.0,-494.400000000000034,53.75,-21.079999999999998,0.0],[523,true,true,null,829.800000000000068,1.0,null,null,1.028771,false,900.0,300.0,387.879999999999996,-163.400000000000006,0.0],[533,true,true,null,15.880000000000001,1.0,null,null,1.081614,false,80.0,0.0,38.829999999999998,-10.970000000000001,0.0],[536,true,true,null,539.0,1.0,null,null,1.07602,false,600.0,0.0,261.699999999999989,-107.359999999999999,0.0],[544,true,true,null,-125.400000000000006,1.0,null,null,1.03905,false,100.0,-167.200000000000017,54.590000000000003,-20.120000000000001,0.0],[550,true,true,null,-26.199999999999999,1.0,null,null,1.070983,false,100.0,-34.93,116.070000000000007,-33.32,0.0],[552,true,true,null,861.200000000000045,1.0,null,null,1.059676,false,1000.0,333.329999999999984,441.04000000000002,-172.050000000000011,0.0],[78,true,true,null,379.199999999999989,1.0,null,null,1.048713,false,480.0,160.0,217.900000000000006,-81.159999999999997,0.0],[558,true,true,null,-12.58,1.0,null,null,1.041813,false,100.0,-16.780000000000001,36.340000000000003,-13.470000000000001,0.0],[564,true,true,null,854.700000000000046,1.0,null,null,1.031629,false,1200.0,400.0,548.57000000000005,-187.159999999999997,0.0],[573,true,true,null,257.0,1.0,null,null,1.084785,false,700.0,233.330000000000012,313.009999999999991,-116.730000000000004,0.0],[577,true,true,null,837.300000000000068,1.0,null,null,1.026994,false,900.0,300.0,388.170000000000016,-163.400000000000006,0.0],[584,true,true,null,855.600000000000023,1.0,null,null,1.031907,false,1000.0,333.329999999999984,440.689999999999998,-172.140000000000015,0.0],[585,true,true,null,-25.100000000000001,1.0,null,null,1.044501,false,100.0,-33.469999999999999,34.270000000000003,-15.52,0.0],[591,true,true,null,-21.27,1.0,null,null,1.043758,false,100.0,-28.370000000000001,38.020000000000003,-11.77,0.0],[597,true,true,null,-27.100000000000001,1.0,null,null,1.027439,false,100.0,-36.130000000000003,126.159999999999997,-127.560000000000002,0.0],[601,true,true,null,-134.5,1.0,null,null,1.063145,false,100.0,-179.330000000000012,55.670000000000002,-19.09,0.0],[609,true,true,null,89.5,1.0,null,null,1.040328,false,200.0,0.0,97.070000000000007,-27.440000000000001,0.0],[80,true,true,null,-46.200000000000003,1.0,null,null,1.051376,false,100.0,-61.600000000000001,135.52000000000001,-38.899999999999999,0.0],[616,true,true,null,-76.900000000000006,1.0,null,null,1.038526,false,100.0,-102.530000000000001,38.049999999999997,-11.77,0.0],[618,true,true,null,366.100000000000023,1.0,null,null,1.063234,false,600.0,0.0,264.939999999999998,-103.740000000000009,0.0],[623,true,true,null,41.0,1.0,null,null,1.027195,false,80.0,0.0,38.369999999999997,-11.4,0.0],[624,true,true,null,59.600000000000001,1.0,null,null,1.003502,false,80.0,0.0,36.890000000000001,-13.0,0.0],[626,true,true,null,67.5,1.0,null,null,1.019761,false,120.0,0.0,57.030000000000001,-17.629999999999999,0.0],[653,true,true,null,60.200000000000003,1.0,null,null,1.028646,false,80.0,0.0,36.729999999999997,-13.119999999999999,0.0],[659,true,true,null,-129.099999999999994,1.0,null,null,1.039834,false,100.0,-172.129999999999995,38.479999999999997,-11.33,0.0],[663,true,true,null,861.300000000000068,1.0,null,null,1.059565,false,1000.0,333.329999999999984,441.04000000000002,-172.050000000000011,0.0],[668,true,true,null,861.300000000000068,1.0,null,null,1.071852,false,1000.0,333.329999999999984,439.199999999999989,-173.430000000000007,0.0],[669,true,true,null,35.200000000000003,1.0,null,null,1.049914,false,80.0,0.0,38.850000000000001,-10.949999999999999,0.0],[86,true,true,null,37.399999999999999,1.0,null,null,1.0691,false,80.0,0.0,38.770000000000003,-11.06,0.0],[675,true,true,null,-171.800000000000011,1.0,null,null,1.036047,false,100.0,-229.069999999999993,37.859999999999999,-11.949999999999999,0.0],[687,true,true,null,-30.390000000000001,1.0,null,null,1.073282,false,100.0,-40.509999999999998,37.939999999999998,-11.869999999999999,0.0],[693,true,true,null,68.0,1.0,null,null,1.042135,false,80.0,0.0,35.619999999999998,-14.19,0.0],[695,true,true,null,-78.900000000000006,1.0,null,null,1.049813,false,100.0,-105.200000000000003,19.140000000000001,-5.77,0.0],[701,true,true,null,93.200000000000003,1.0,null,null,1.043063,false,281.850000000000023,0.0,98.400000000000006,-86.290000000000006,0.0],[712,true,true,null,861.300000000000068,1.0,null,null,1.071981,false,1000.0,333.329999999999984,439.199999999999989,-173.430000000000007,0.0],[714,true,true,null,-26.079999999999998,1.0,null,null,1.067305,false,100.0,-34.770000000000003,38.369999999999997,-11.44,0.0],[715,true,true,null,855.600000000000023,1.0,null,null,1.031907,false,1000.0,333.329999999999984,440.689999999999998,-172.140000000000015,0.0],[716,true,true,null,10.300000000000001,1.0,null,null,1.067114,false,10.460000000000001,0.0,4.44,-2.07,0.0],[720,true,true,null,88.799999999999997,1.0,null,null,1.054975,false,160.0,0.0,76.519999999999996,-23.190000000000001,0.0],[94,true,true,null,198.879999999999996,1.0,null,null,1.057884,false,240.0,0.0,105.689999999999998,-43.840000000000003,0.0],[725,true,true,null,-40.299999999999997,1.0,null,null,1.034991,false,100.0,-53.729999999999997,75.620000000000004,-23.960000000000001,0.0],[731,true,true,null,41.689999999999998,1.0,null,null,1.057325,false,80.0,0.0,37.270000000000003,-12.57,0.0],[738,true,true,null,-12.57,1.0,null,null,1.045386,false,100.0,-16.77,37.229999999999997,-12.609999999999999,0.0],[743,true,true,null,54.299999999999997,1.0,null,null,1.0663,false,220.120000000000005,0.0,74.730000000000004,-70.409999999999997,0.0],[746,true,true,null,49.399999999999999,1.0,null,null,1.047693,false,80.0,0.0,37.719999999999999,-12.09,0.0],[748,true,true,null,83.480000000000004,1.0,null,null,1.037373,false,160.0,0.0,74.549999999999997,-24.969999999999999,0.0],[749,true,true,null,542.0,1.0,null,null,1.021924,false,600.0,0.0,258.910000000000025,-109.579999999999998,0.0],[755,true,true,null,-52.509999999999998,1.0,null,null,1.032061,false,100.0,-70.010000000000005,38.280000000000001,-11.5,0.0],[756,true,true,null,75.600000000000008,1.0,null,null,1.055539,false,120.0,0.0,56.350000000000001,-18.420000000000002,0.0],[759,true,true,null,1713.600000000000136,1.0,null,null,1.035201,false,2000.0,666.669999999999959,882.860000000000014,-343.240000000000009,0.0],[96,true,true,null,116.700000000000003,1.0,null,null,1.017567,false,120.0,0.0,51.299999999999997,-23.41,0.0],[768,true,true,null,106.799999999999997,1.0,null,null,1.052719,false,160.0,0.0,75.019999999999996,-24.739999999999998,0.0],[773,true,true,null,119.400000000000006,1.0,null,null,1.042037,false,120.0,0.0,51.299999999999997,-23.489999999999998,0.0],[781,true,true,null,-159.0,1.0,null,null,1.054941,false,100.0,-212.0,36.369999999999997,-13.43,0.0],[787,true,true,null,19.59,1.0,null,null,1.061754,false,40.0,0.0,18.140000000000001,-6.75,0.0],[788,true,true,null,1250.600000000000136,1.0,null,null,1.107976,false,2000.0,666.669999999999959,926.470000000000027,-297.629999999999996,0.0],[792,true,true,null,-395.800000000000011,1.0,null,null,1.048137,false,100.0,-527.730000000000018,58.060000000000002,-16.66,0.0],[805,true,true,null,43.399999999999999,1.0,null,null,1.06213,false,80.0,0.0,38.259999999999998,-11.550000000000001,0.0],[808,true,true,null,1368.600000000000136,1.0,null,null,1.063711,false,2000.0,666.669999999999959,920.310000000000059,-305.639999999999986,0.0],[809,true,true,null,56.799999999999997,1.0,null,null,1.044486,false,249.060000000000002,0.0,101.320000000000007,-48.119999999999997,0.0],[810,true,true,null,861.300000000000068,1.0,null,null,1.059636,false,1000.0,333.329999999999984,441.04000000000002,-172.050000000000011,0.0],[100,true,true,null,-111.400000000000006,1.0,null,null,1.026368,false,100.0,-148.530000000000001,18.16,-6.73,0.0],[811,true,true,null,-96.400000000000006,1.0,null,null,1.041881,false,100.0,-128.530000000000001,37.490000000000002,-12.33,0.0],[812,true,true,null,3424.800000000000182,1.0,null,null,1.068845,false,4000.0,1333.329999999999927,1765.360000000000127,-686.669999999999959,0.0],[818,true,true,null,173.0,1.0,null,null,1.038212,false,200.0,0.0,88.870000000000004,-35.710000000000001,0.0],[819,true,true,null,21.5,1.0,null,null,1.05378,false,40.0,0.0,19.16,-5.75,0.0],[821,true,true,null,57.600000000000001,1.0,null,null,1.04123,false,80.0,0.0,36.799999999999997,-12.99,0.0],[835,true,true,null,229.800000000000011,1.0,null,null,1.017689,false,240.0,0.0,103.180000000000007,-46.25,0.0],[836,true,true,null,128.0,1.0,null,null,1.070507,false,160.0,0.0,72.710000000000008,-27.050000000000001,0.0],[843,true,true,null,837.0,1.0,null,null,1.027078,false,1200.0,400.0,550.690000000000055,-185.150000000000006,0.0],[852,true,true,null,1102.829999999999927,1.0,null,null,1.0396,false,1800.0,600.0,779.289999999999964,-324.79000000000002,0.0],[856,true,true,null,181.200000000000017,1.0,null,null,1.044051,false,440.0,146.670000000000016,196.980000000000018,-77.170000000000002,0.0],[101,true,true,null,16.5,1.0,null,null,1.049411,false,33.579999999999998,0.0,12.369999999999999,-9.359999999999999,0.0],[860,true,true,null,305.699999999999989,1.0,null,null,1.038417,false,480.0,160.0,214.129999999999995,-85.0,0.0],[862,true,true,null,60.0,1.0,null,null,1.065605,false,80.0,0.0,36.719999999999999,-13.130000000000001,0.0],[868,true,true,null,-74.900000000000006,1.0,null,null,1.030075,false,100.0,-99.870000000000004,17.210000000000001,-7.73,0.0],[871,true,true,null,1221.200000000000045,1.0,null,null,1.070056,false,2000.0,666.669999999999959,934.539999999999964,-291.639999999999986,0.0],[872,true,true,null,-102.5,1.0,null,null,1.066029,false,100.0,-136.670000000000016,37.270000000000003,-12.59,0.0],[876,true,true,null,-87.299999999999997,1.0,null,null,1.029184,false,100.0,-116.400000000000006,60.509999999999998,-61.079999999999998,0.0],[879,true,true,null,820.200000000000045,1.0,null,null,1.043738,false,900.0,300.0,390.400000000000034,-161.159999999999997,0.0],[892,true,true,null,94.299999999999997,1.0,null,null,0.988112,false,769.940000000000055,32.079999999999998,249.650000000000006,-261.819999999999993,0.0],[894,true,true,null,26.300000000000001,1.0,null,null,1.040343,false,53.759999999999998,0.0,19.859999999999999,-14.93,0.0],[912,true,true,null,55.5,1.0,null,null,1.040598,false,120.0,0.0,58.119999999999997,-16.600000000000001,0.0],[103,true,true,null,58.399999999999999,1.0,null,null,1.035522,false,80.0,0.0,36.75,-13.039999999999999,0.0],[916,true,true,null,48.799999999999997,1.0,null,null,1.052181,false,80.0,0.0,37.759999999999998,-12.050000000000001,0.0],[917,true,true,null,96.0,1.0,null,null,1.062214,false,200.0,0.0,96.560000000000002,-27.949999999999999,0.0],[919,true,true,null,22.079999999999998,1.0,null,null,1.064446,false,80.0,0.0,38.289999999999999,-11.56,0.0],[921,true,true,null,-145.300000000000011,1.0,null,null,1.043835,false,100.0,-193.730000000000018,51.109999999999999,-23.460000000000001,0.0],[923,true,true,null,-27.800000000000001,1.0,null,null,1.046714,false,100.0,-37.07,148.650000000000006,-50.729999999999997,0.0],[930,true,true,null,171.0,1.0,null,null,1.039574,false,200.0,0.0,88.829999999999998,-35.689999999999998,0.0],[935,true,true,null,718.5,1.0,null,null,1.06557,false,1000.0,333.329999999999984,438.720000000000027,-174.150000000000006,0.0],[941,true,true,null,228.200000000000017,1.0,null,null,1.052452,false,280.0,0.0,126.730000000000004,-47.829999999999998,0.0],[944,true,true,null,-204.200000000000017,1.0,null,null,1.048796,false,100.0,-272.269999999999982,37.579999999999998,-12.16,0.0],[970,true,true,null,382.699999999999989,1.0,null,null,1.061492,false,720.0,0.0,311.519999999999982,-132.090000000000003,0.0],[105,true,true,null,-89.200000000000003,1.0,null,null,1.041369,false,100.0,-118.930000000000007,74.030000000000001,-25.539999999999999,0.0],[984,true,true,null,44.07,1.0,null,null,1.006037,false,160.0,0.0,77.140000000000001,-22.460000000000001,0.0],[985,true,true,null,16.530000000000001,1.0,null,null,1.053803,false,160.0,0.0,77.350000000000008,-22.260000000000002,0.0],[986,true,true,null,15.9,1.0,null,null,1.049557,false,32.530000000000001,0.0,11.99,-9.06,0.0],[988,true,true,null,-57.5,1.0,null,null,1.031347,false,100.0,-76.670000000000002,35.619999999999998,-14.25,0.0],[992,true,true,null,102.900000000000006,1.0,null,null,1.055216,false,120.0,0.0,53.240000000000002,-21.469999999999999,0.0],[994,true,true,null,-344.900000000000034,1.0,null,null,1.031296,false,100.0,-459.870000000000004,18.559999999999999,-6.34,0.0],[996,true,true,null,2463.599999999999909,1.0,null,null,1.021411,false,4000.0,1333.329999999999927,1865.829999999999927,-585.950000000000046,0.0],[999,true,true,null,133.0,1.0,null,null,1.039234,false,300.0,88.670000000000002,189.310000000000002,-59.869999999999998,0.0],[1010,true,true,null,227.5,1.0,null,null,1.051367,false,280.0,0.0,126.090000000000003,-48.289999999999999,0.0],[1014,true,true,null,39.799999999999997,1.0,null,null,1.059486,false,80.0,0.0,38.530000000000001,-11.27,0.0],[33,true,true,null,-155.390000000000015,1.0,null,null,0.984682,false,100.0,-207.180000000000007,183.920000000000016,-65.299999999999997,0.0],[110,true,true,null,1274.200000000000045,1.0,null,null,1.044097,false,2000.0,666.669999999999959,926.680000000000064,-298.310000000000002,0.0],[1015,true,true,null,-12.6,1.0,null,null,1.036531,false,100.0,-16.800000000000001,56.219999999999999,-18.440000000000001,0.0],[1022,true,true,null,65.799999999999997,1.0,null,null,1.041241,false,80.0,0.0,36.159999999999997,-13.720000000000001,0.0],[1025,true,true,null,55.5,1.0,null,null,1.049669,false,120.0,0.0,58.18,-16.559999999999999,0.0],[1028,true,true,null,448.850000000000023,1.0,null,null,1.006597,false,600.0,200.0,267.360000000000014,-100.980000000000004,0.0],[1034,true,true,null,65.870000000000004,1.0,null,null,1.008722,false,272.28000000000003,0.0,95.060000000000002,-83.340000000000003,0.0],[1042,true,true,null,861.300000000000068,1.0,null,null,1.059575,false,1000.0,333.329999999999984,441.04000000000002,-172.050000000000011,0.0],[1048,true,true,null,1250.600000000000136,1.0,null,null,1.107733,false,2000.0,666.669999999999959,926.470000000000027,-297.629999999999996,0.0],[1050,true,true,null,7.3,1.0,null,null,1.051113,false,7.35,0.0,3.12,-1.46,0.0],[1059,true,true,null,-39.700000000000003,1.0,null,null,1.010817,false,100.0,-52.93,89.840000000000003,-34.840000000000003,0.0],[1062,true,true,null,2340.400000000000091,1.0,null,null,1.034538,false,4000.0,1333.329999999999927,1862.289999999999964,-588.159999999999968,0.0],[112,true,true,null,59.560000000000002,1.0,null,null,1.00025,false,200.0,0.0,96.640000000000001,-27.809999999999999,0.0],[1068,true,true,null,59.060000000000002,1.0,null,null,1.043172,false,160.0,0.0,76.109999999999999,-23.620000000000001,0.0],[1069,true,true,null,53.0,1.0,null,null,0.999675,false,80.0,0.0,37.450000000000003,-12.390000000000001,0.0],[1085,true,true,null,-202.530000000000001,1.0,null,null,1.057257,false,100.0,-270.04000000000002,75.850000000000008,-77.060000000000002,0.0],[1088,true,true,null,76.5,1.0,null,null,1.027108,false,120.0,0.0,56.270000000000003,-18.41,0.0],[1091,true,true,null,75.799999999999997,1.0,null,null,1.035256,false,200.0,50.530000000000001,214.230000000000018,-59.770000000000003,0.0],[1095,true,true,null,702.399999999999977,1.0,null,null,1.037447,false,800.0,266.670000000000016,350.360000000000014,-140.72999999999999,0.0],[1096,true,true,null,508.0,1.0,null,null,0.99994,false,800.0,266.670000000000016,371.110000000000014,-119.670000000000002,0.0],[1114,true,true,null,769.200000000000045,1.0,null,null,1.051427,false,880.0,200.0,378.20999999999998,-162.349999999999994,0.0],[1120,true,true,null,228.200000000000017,1.0,null,null,1.052424,false,280.0,0.0,126.730000000000004,-47.829999999999998,0.0],[1130,true,true,null,1221.200000000000045,1.0,null,null,1.072261,false,2000.0,666.669999999999959,934.730000000000018,-291.519999999999982,0.0],[113,true,true,null,855.600000000000023,1.0,null,null,1.031745,false,1000.0,333.329999999999984,440.670000000000016,-172.150000000000006,0.0],[1134,true,true,null,1250.400000000000091,1.0,null,null,1.054562,false,2000.0,666.669999999999959,926.350000000000023,-297.680000000000007,0.0],[1139,true,true,null,165.0,1.0,null,null,1.001912,false,200.0,0.0,90.079999999999998,-34.560000000000002,0.0],[1153,true,true,null,1368.600000000000136,1.0,null,null,1.063764,false,2000.0,666.669999999999959,920.409999999999968,-305.579999999999984,0.0],[1167,true,true,null,811.800000000000068,1.0,null,null,1.048854,false,900.0,300.0,391.569999999999993,-160.950000000000017,0.0],[1171,true,true,null,-27.0,1.0,null,null,1.066913,false,100.0,-36.0,75.670000000000002,-23.960000000000001,0.0],[1176,true,true,null,992.0,1.0,null,null,1.067387,false,1041.599999999999909,0.0,99999.0,-99999.0,0.0],[1180,true,true,null,153.0,1.0,null,null,1.052602,false,200.0,0.0,91.670000000000002,-33.009999999999998,0.0],[1190,true,true,null,66.799999999999997,1.0,null,null,1.02335,false,80.0,0.0,35.759999999999998,-14.050000000000001,0.0],[1191,true,true,null,17.0,1.0,null,null,1.071504,false,40.0,0.0,19.489999999999998,-5.42,0.0],[1195,true,true,null,203.400000000000006,1.0,null,null,1.043326,false,240.0,0.0,106.840000000000003,-42.560000000000002,0.0],[117,true,true,null,1702.799999999999954,1.0,null,null,1.064525,false,2400.0,800.0,1097.410000000000082,-373.910000000000025,0.0],[1201,true,true,null,-8.75,1.0,null,null,1.035451,false,100.0,-11.66,17.800000000000001,-7.13,0.0],[1202,true,true,null,1702.200000000000045,1.0,null,null,1.07814,false,2400.0,800.0,1096.329999999999927,-374.639999999999986,0.0],[1218,true,true,null,517.100000000000023,1.0,null,null,1.042925,false,1000.0,333.329999999999984,474.420000000000016,-138.490000000000009,0.0],[1222,true,true,null,-135.0,1.0,null,null,1.039202,false,100.0,-180.0,90.210000000000008,-34.450000000000003,0.0],[1227,true,true,null,78.799999999999997,1.0,null,null,1.04752,false,80.0,0.0,34.159999999999997,-15.67,0.0],[1233,true,true,null,32.299999999999997,1.0,null,null,1.053872,false,200.0,0.0,93.030000000000001,-31.43,0.0],[1234,true,true,null,-75.689999999999998,1.0,null,null,1.019671,false,100.0,-100.920000000000002,3.61,-1.69,0.0],[1239,true,true,null,-65.0,1.0,null,null,1.019727,false,100.0,-86.670000000000002,51.909999999999997,-22.859999999999999,0.0],[1251,true,true,null,-138.300000000000011,1.0,null,null,1.049066,false,100.0,-184.400000000000006,37.399999999999999,-12.460000000000001,0.0],[1253,true,true,null,-259.100000000000023,1.0,null,null,1.018762,false,100.0,-345.470000000000027,34.920000000000002,-14.960000000000001,0.0],[132,true,true,null,1221.200000000000045,1.0,null,null,1.072621,false,2000.0,666.669999999999959,934.730000000000018,-291.519999999999982,0.0],[1255,true,true,null,-37.280000000000001,1.0,null,null,1.041975,false,100.0,-49.700000000000003,54.32,-20.390000000000001,0.0],[1261,true,true,null,1232.600000000000136,1.0,null,null,1.054052,false,2000.0,666.669999999999959,932.680000000000064,-293.139999999999986,0.0],[1271,true,true,null,166.200000000000017,1.0,null,null,1.054157,false,240.0,0.0,111.700000000000003,-37.850000000000001,0.0],[1273,true,true,null,-304.0,1.0,null,null,1.05109,false,100.0,-405.329999999999984,35.840000000000003,-14.07,0.0],[1276,true,true,null,44.659999999999997,1.0,null,null,1.050791,false,160.0,0.0,76.870000000000004,-22.75,0.0],[1287,true,true,null,1232.600000000000136,1.0,null,null,1.053844,false,2000.0,666.669999999999959,932.680000000000064,-293.139999999999986,0.0],[1296,true,true,null,17.0,1.0,null,null,1.020268,false,86.730000000000004,0.0,28.989999999999998,-28.41,0.0],[1302,true,true,null,-255.700000000000017,1.0,null,null,1.047268,false,100.0,-340.939999999999998,38.229999999999997,-11.609999999999999,0.0],[1303,true,true,null,-61.799999999999997,1.0,null,null,1.035459,false,100.0,-82.400000000000006,53.520000000000003,-50.380000000000003,0.0],[1305,true,true,null,110.0,1.0,null,null,1.046972,false,200.0,0.0,95.650000000000006,-28.949999999999999,0.0],[134,true,true,null,92.100000000000009,1.0,null,null,1.074143,false,120.0,0.0,55.020000000000003,-19.809999999999999,0.0],[1309,true,true,null,78.200000000000003,1.0,null,null,0.997131,false,317.090000000000032,0.0,107.590000000000003,-101.480000000000004,0.0],[1324,true,true,null,369.600000000000023,1.0,null,null,1.040924,false,440.0,146.670000000000016,198.069999999999993,-76.340000000000003,0.0],[1326,true,true,null,698.800000000000068,1.0,null,null,1.02885,false,1000.0,333.329999999999984,442.990000000000009,-169.920000000000016,0.0],[1327,true,true,null,-239.230000000000018,1.0,null,null,1.046626,false,100.0,-318.970000000000027,18.649999999999999,-14.16,0.0],[1334,true,true,null,42.700000000000003,1.0,null,null,1.049768,false,100.0,28.469999999999999,335.95999999999998,-93.230000000000004,0.0],[1335,true,true,null,-37.200000000000003,1.0,null,null,1.049624,false,100.0,-49.600000000000001,73.189999999999998,-26.48,0.0],[1336,true,true,null,860.800000000000068,1.0,null,null,1.037969,false,1000.0,333.329999999999984,439.379999999999995,-173.280000000000001,0.0],[1341,true,true,null,-331.400000000000034,1.0,null,null,1.03623,false,100.0,-441.870000000000004,175.0,-49.159999999999997,0.0],[1343,true,true,null,72.0,1.0,null,null,1.061189,false,160.0,0.0,77.689999999999998,-21.969999999999999,0.0],[135,true,true,null,171.0,1.0,null,null,1.041506,false,200.0,0.0,89.549999999999997,-35.149999999999999,0.0],[144,true,true,null,829.5,1.0,null,null,1.028946,false,900.0,300.0,387.879999999999996,-163.400000000000006,0.0],[149,true,true,null,91.799999999999997,1.0,null,null,1.049472,false,120.0,0.0,54.909999999999997,-19.879999999999999,0.0],[151,true,true,null,837.0,1.0,null,null,1.027056,false,1200.0,400.0,550.690000000000055,-185.150000000000006,0.0],[42,true,true,null,83.700000000000003,1.0,null,null,1.048249,false,120.0,0.0,55.539999999999999,-19.16,0.0],[153,true,true,null,58.200000000000003,1.0,null,null,1.042801,false,80.0,0.0,36.799999999999997,-13.01,0.0],[155,true,true,null,-124.150000000000006,1.0,null,null,1.049879,false,100.0,-165.539999999999992,38.049999999999997,-11.59,0.0],[177,true,true,null,1504.799999999999954,1.0,null,null,1.108028,false,2000.0,666.669999999999959,906.610000000000014,-319.439999999999998,0.0],[180,true,true,null,837.0,1.0,null,null,1.027102,false,1200.0,400.0,550.690000000000055,-185.150000000000006,0.0],[184,true,true,null,-124.100000000000009,1.0,null,null,1.03682,false,100.0,-165.469999999999999,36.920000000000002,-12.880000000000001,0.0],[190,true,true,null,67.200000000000003,1.0,null,null,1.032899,false,120.0,0.0,57.030000000000001,-17.620000000000001,0.0],[192,true,true,null,-246.5,1.0,null,null,1.041045,false,100.0,-328.670000000000016,38.079999999999998,-11.73,0.0],[202,true,true,null,-101.0,1.0,null,null,1.04353,false,100.0,-134.670000000000016,18.09,-6.79,0.0],[204,true,true,null,49.399999999999999,1.0,null,null,1.047684,false,80.0,0.0,37.719999999999999,-12.09,0.0],[209,true,true,null,62.600000000000001,1.0,null,null,1.048068,false,80.0,0.0,36.399999999999999,-13.44,0.0],[45,true,true,null,1250.400000000000091,1.0,null,null,1.055378,false,2000.0,666.669999999999959,926.350000000000023,-297.680000000000007,0.0],[232,true,true,null,50.600000000000001,1.0,null,null,1.043862,false,80.0,0.0,37.659999999999997,-12.17,0.0],[238,true,true,null,50.399999999999999,1.0,null,null,1.028554,false,80.0,0.0,37.740000000000002,-12.109999999999999,0.0],[243,true,true,null,1250.400000000000091,1.0,null,null,1.04395,false,2000.0,666.669999999999959,928.889999999999986,-296.100000000000023,0.0],[246,true,true,null,860.800000000000068,1.0,null,null,1.037938,false,1000.0,333.329999999999984,439.370000000000005,-173.300000000000011,0.0],[249,true,true,null,28.100000000000001,1.0,null,null,1.062238,false,40.0,0.0,18.52,-6.39,0.0],[254,true,true,null,40.0,1.0,null,null,1.04286,false,41.060000000000002,0.0,16.989999999999998,-7.92,0.0],[260,true,true,null,1250.400000000000091,1.0,null,null,1.05295,false,2000.0,666.669999999999959,926.350000000000023,-297.680000000000007,0.0],[263,true,true,null,-0.6,1.0,null,null,1.046224,false,100.0,-0.8,111.230000000000004,-38.159999999999997,0.0],[269,true,true,null,15.6,1.0,null,null,1.04762,false,31.920000000000002,0.0,11.76,-8.890000000000001,0.0],[270,true,true,null,-241.800000000000011,1.0,null,null,1.054325,false,100.0,-322.400000000000034,58.159999999999997,-16.52,0.0],[50,true,true,null,231.0,1.0,null,null,1.05013,false,280.0,0.0,124.120000000000005,-49.840000000000003,0.0],[277,true,true,null,573.680000000000064,1.0,null,null,1.039377,false,912.779999999999973,312.78000000000003,396.019999999999982,-155.830000000000012,0.0],[281,true,true,null,115.5,1.0,null,null,1.035636,false,472.160000000000025,39.350000000000001,160.360000000000014,-150.950000000000017,0.0],[285,true,true,null,31.0,1.0,null,null,1.064692,false,40.0,0.0,18.140000000000001,-6.75,0.0],[295,true,true,null,855.600000000000023,1.0,null,null,1.03088,false,1000.0,333.329999999999984,441.850000000000023,-171.27000000000001,0.0],[299,true,true,null,836.200000000000045,1.0,null,null,1.009914,false,2000.0,666.669999999999959,962.200000000000045,-263.649999999999977,0.0],[306,true,true,null,176.0,1.0,null,null,1.040351,false,200.0,0.0,88.390000000000001,-36.189999999999998,0.0],[319,true,true,null,-121.299999999999997,1.0,null,null,1.07333,false,100.0,-161.72999999999999,58.350000000000001,-16.260000000000002,0.0],[322,true,true,null,-53.289999999999999,1.0,null,null,1.035528,false,100.0,-71.049999999999997,19.510000000000002,-14.74,0.0],[330,true,true,null,38.899999999999999,1.0,null,null,1.05324,false,119.299999999999997,0.0,41.670000000000002,-36.5,0.0],[333,true,true,null,110.5,1.0,null,null,1.072528,false,200.0,0.0,95.689999999999998,-28.93,0.0],[56,true,true,null,260.100000000000023,1.0,null,null,1.018914,false,540.0,0.0,257.230000000000018,-74.400000000000006,0.0],[344,true,true,null,78.200000000000003,1.0,null,null,1.024884,false,80.0,0.0,34.350000000000001,-15.5,0.0],[352,true,true,null,-320.400000000000034,1.0,null,null,1.047766,false,100.0,-427.199999999999989,37.390000000000001,-12.449999999999999,0.0],[354,true,true,null,-100.5,1.0,null,null,1.041186,false,100.0,-134.0,54.299999999999997,-20.489999999999998,0.0],[355,true,true,null,-43.200000000000003,1.0,null,null,1.037687,false,100.0,-57.600000000000001,105.340000000000003,-99.019999999999996,0.0],[359,true,true,null,1367.0,1.0,null,null,1.06157,false,2000.0,666.669999999999959,921.620000000000004,-304.730000000000018,0.0],[363,true,true,null,46.799999999999997,1.0,null,null,1.048132,false,80.0,0.0,38.020000000000003,-11.81,0.0],[366,true,true,null,31.800000000000001,1.0,null,null,1.042777,false,80.0,0.0,39.119999999999997,-10.710000000000001,0.0],[367,true,true,null,286.5,1.0,null,null,1.049366,false,360.0,0.0,162.400000000000006,-61.789999999999999,0.0],[374,true,true,null,54.299999999999997,1.0,null,null,1.049384,false,120.0,0.0,58.229999999999997,-16.489999999999998,0.0],[381,true,true,null,76.480000000000004,1.0,null,null,1.038821,false,160.0,0.0,76.079999999999998,-23.59,0.0],[63,true,true,null,539.399999999999977,1.0,null,null,1.075592,false,600.0,200.0,261.79000000000002,-106.670000000000002,0.0],[382,true,true,null,1367.0,1.0,null,null,1.061488,false,2000.0,666.669999999999959,921.519999999999982,-304.79000000000002,0.0],[386,true,true,null,41.920000000000002,1.0,null,null,1.036517,false,120.0,0.0,51.939999999999998,-22.800000000000001,0.0],[393,true,true,null,77.600000000000008,1.0,null,null,1.035384,false,196.719999999999999,0.0,70.150000000000006,-58.100000000000001,0.0],[401,true,true,null,1221.200000000000045,1.0,null,null,1.073795,false,2000.0,666.669999999999959,934.810000000000059,-291.470000000000027,0.0],[404,true,true,null,-95.100000000000009,1.0,null,null,1.042226,false,100.0,-126.799999999999997,88.329999999999998,-36.329999999999998,0.0],[405,true,true,null,66.799999999999997,1.0,null,null,1.05396,false,160.0,0.0,77.909999999999997,-21.66,0.0],[409,true,true,null,1250.400000000000091,1.0,null,null,1.053944,false,2000.0,666.669999999999959,926.259999999999991,-297.740000000000009,0.0],[410,true,true,null,80.700000000000003,1.0,null,null,1.08248,false,120.0,0.0,55.979999999999997,-18.760000000000002,0.0],[411,true,true,null,31.600000000000001,1.0,null,null,1.043712,false,40.0,0.0,18.190000000000001,-6.74,0.0],[418,true,true,null,4.5,1.0,null,null,1.063841,false,9.050000000000001,0.0,3.31,-2.54,0.0],[69,true,true,null,-51.670000000000002,1.0,null,null,1.069817,false,100.0,-68.890000000000001,18.469999999999999,-19.350000000000001,0.0],[420,true,true,null,8.949999999999999,1.0,null,null,1.057626,false,214.860000000000014,0.0,72.950000000000003,-68.710000000000008,0.0],[421,true,true,null,60.899999999999999,1.0,null,null,1.055151,false,120.0,0.0,57.689999999999998,-17.02,0.0],[425,true,true,null,20.899999999999999,1.0,null,null,1.059072,false,40.0,0.0,19.190000000000001,-5.72,0.0],[431,true,true,null,53.200000000000003,1.0,null,null,1.047695,false,80.0,0.0,37.240000000000002,-12.539999999999999,0.0],[433,true,true,null,3.4,1.0,null,null,1.051149,false,6.83,0.0,2.51,-1.91,0.0],[443,true,true,null,46.600000000000001,1.0,null,null,1.053607,false,493.350000000000023,0.0,184.460000000000008,-132.670000000000016,0.0],[446,true,true,null,162.5,1.0,null,null,1.041705,false,200.0,0.0,89.609999999999999,-34.82,0.0],[450,true,true,null,855.700000000000046,1.0,null,null,1.030654,false,1000.0,333.329999999999984,441.850000000000023,-171.27000000000001,0.0],[464,true,true,null,38.600000000000001,1.0,null,null,1.071964,false,40.0,0.0,17.329999999999998,-7.61,0.0],[467,true,true,null,85.540000000000006,1.0,null,null,1.065372,false,240.0,0.0,113.969999999999999,-35.560000000000002,0.0],[71,true,true,null,-270.0,1.0,null,null,1.045397,false,100.0,-360.0,17.879999999999999,-7.03,0.0],[468,true,true,null,-136.300000000000011,1.0,null,null,1.023117,false,100.0,-181.72999999999999,70.25,-29.329999999999998,0.0],[472,true,true,null,98.700000000000003,1.0,null,null,1.055515,false,120.0,0.0,53.700000000000003,-20.98,0.0],[478,true,true,null,416.699999999999989,1.0,null,null,1.041982,false,540.0,0.0,243.610000000000014,-88.460000000000008,0.0],[479,true,true,null,-107.400000000000006,1.0,null,null,1.028507,false,100.0,-143.200000000000017,36.789999999999999,-13.0,0.0],[483,true,true,null,-42.299999999999997,1.0,null,null,1.050305,false,100.0,-56.399999999999999,62.229999999999997,-51.369999999999997,0.0],[491,true,true,null,861.300000000000068,1.0,null,null,1.071978,false,1000.0,333.329999999999984,439.199999999999989,-173.430000000000007,0.0],[492,true,true,null,-26.48,1.0,null,null,1.014126,false,100.0,-35.299999999999997,38.130000000000003,-11.640000000000001,0.0],[497,true,true,null,56.799999999999997,1.0,null,null,1.01594,false,80.0,0.0,37.100000000000001,-12.76,0.0],[498,true,true,null,19.07,1.0,null,null,1.045739,false,80.0,0.0,38.200000000000003,-11.609999999999999,0.0],[499,true,true,null,44.5,1.0,null,null,1.0538,false,135.27000000000001,0.0,47.189999999999998,-41.439999999999998,0.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -92,7 +154,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "switch": { @@ -129,7 +192,7 @@ "ext_grid": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0],\"data\":[[639,true,null,0.0,1.049182,4188.949999999999818,1333.329999999999927,99999.0,-99999.0]]}", + "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0],\"data\":[[639,true,null,0.0,1.049182,4188.949999999999818,1333.329999999999927,99999.0,-99999.0,1.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -140,7 +203,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "line": { @@ -293,7 +357,7 @@ "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\",\"in_service\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"ps_mw\",\"qs_mvar\",\"qz_mvar\",\"pz_mw\",\"r_ohm\",\"x_ohm\",\"vm_pu\",\"in_service\",\"slack_weight\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "name": "object", @@ -305,7 +369,8 @@ "r_ohm": "float64", "x_ohm": "float64", "vm_pu": "float64", - "in_service": "bool" + "in_service": "bool", + "slack_weight": "float64" } }, "measurement": { @@ -354,13 +419,14 @@ "controller": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"recycle\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"initial_run\",\"recycle\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "object": "object", "in_service": "bool", "order": "float64", "level": "object", + "initial_run": "bool", "recycle": "bool" } }, @@ -384,11 +450,11 @@ "coords": "object" } }, - "version": "2.2.1", + "version": "2.7.1", "converged": true, "name": "", "f_hz": 50, - "sn_mva": 1.0, + "sn_mva": 100, "std_types": { "line": { "NAYY 4x150 SE": { @@ -1268,6 +1334,16 @@ "q_mvar": "float64" } }, + "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" + } + }, "res_sgen": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -1352,6 +1428,341 @@ "va_to_degree": "float64" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_bus_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_line_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo3w_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_ext_grid_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_gen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_sgen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_shunt_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "user_pf_options": {}, "OPF_converged": false } diff --git a/pandapower/networks/power_system_test_case_jsons/case14.json b/pandapower/networks/power_system_test_case_jsons/case14.json index aa89c96ea..5ad7210cc 100644 --- a/pandapower/networks/power_system_test_case_jsons/case14.json +++ b/pandapower/networks/power_system_test_case_jsons/case14.json @@ -53,6 +53,68 @@ "current_source": "bool" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "storage": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -75,7 +137,7 @@ "gen": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0,1,2,3],\"data\":[[1,true,true,null,40.0,1.0,null,null,1.045,false,140.0,0.0,50.0,-40.0],[2,true,true,null,0.0,1.0,null,null,1.01,false,100.0,0.0,40.0,0.0],[5,true,true,null,0.0,1.0,null,null,1.07,false,100.0,0.0,24.0,-6.0],[7,true,true,null,0.0,1.0,null,null,1.09,false,100.0,0.0,24.0,-6.0]]}", + "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0,1,2,3],\"data\":[[1,true,true,null,40.0,1.0,null,null,1.045,false,140.0,0.0,50.0,-40.0,0.0],[2,true,true,null,0.0,1.0,null,null,1.01,false,100.0,0.0,40.0,0.0,0.0],[5,true,true,null,0.0,1.0,null,null,1.07,false,100.0,0.0,24.0,-6.0,0.0],[7,true,true,null,0.0,1.0,null,null,1.09,false,100.0,0.0,24.0,-6.0,0.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -91,7 +153,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "switch": { @@ -128,7 +191,7 @@ "ext_grid": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0],\"data\":[[0,true,null,0.0,1.06,332.400000000000034,0.0,10.0,0.0]]}", + "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0],\"data\":[[0,true,null,0.0,1.06,332.400000000000034,0.0,10.0,0.0,1.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -139,7 +202,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "line": { @@ -292,7 +356,7 @@ "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\",\"in_service\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"ps_mw\",\"qs_mvar\",\"qz_mvar\",\"pz_mw\",\"r_ohm\",\"x_ohm\",\"vm_pu\",\"in_service\",\"slack_weight\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "name": "object", @@ -304,7 +368,8 @@ "r_ohm": "float64", "x_ohm": "float64", "vm_pu": "float64", - "in_service": "bool" + "in_service": "bool", + "slack_weight": "float64" } }, "measurement": { @@ -353,13 +418,14 @@ "controller": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"recycle\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"initial_run\",\"recycle\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "object": "object", "in_service": "bool", "order": "float64", "level": "object", + "initial_run": "bool", "recycle": "bool" } }, @@ -383,11 +449,11 @@ "coords": "object" } }, - "version": "2.2.1", + "version": "2.7.1", "converged": true, "name": "", "f_hz": 60, - "sn_mva": 1.0, + "sn_mva": 100, "std_types": { "line": { "NAYY 4x150 SE": { @@ -1267,6 +1333,16 @@ "q_mvar": "float64" } }, + "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" + } + }, "res_sgen": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -1351,6 +1427,341 @@ "va_to_degree": "float64" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_bus_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_line_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo3w_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_ext_grid_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_gen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_sgen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_shunt_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "user_pf_options": {}, "OPF_converged": false } diff --git a/pandapower/networks/power_system_test_case_jsons/case145.json b/pandapower/networks/power_system_test_case_jsons/case145.json index b563a0adb..57fcc2087 100644 --- a/pandapower/networks/power_system_test_case_jsons/case145.json +++ b/pandapower/networks/power_system_test_case_jsons/case145.json @@ -54,6 +54,68 @@ "current_source": "bool" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "storage": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -76,7 +138,7 @@ "gen": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0,1,10,11,12,13,14,15,16,17,18,19,2,20,21,22,23,24,25,26,27,28,29,3,30,31,32,33,34,35,36,37,38,39,4,40,41,42,43,44,45,46,47,48,5,6,7,8,9],\"data\":[[59,true,true,null,51.0,1.0,null,null,1.137,false,151.0,0.0,53.399999999999999,-20.399999999999999],[66,true,true,null,1486.0,1.0,null,null,1.09,false,1586.0,0.0,891.600000000000023,-594.0],[94,true,true,null,131.0,1.0,null,null,0.92,false,231.0,0.0,108.600000000000008,-72.400000000000006],[95,true,true,null,60.0,1.0,null,null,1.0,false,160.0,0.0,36.0,-24.0],[96,true,true,null,140.0,1.0,null,null,0.967,false,240.0,0.0,84.0,-56.0],[97,true,true,null,426.0,1.0,null,null,0.97,false,526.0,0.0,255.599999999999994,-170.0],[98,true,true,null,200.0,1.0,null,null,1.0,false,300.0,0.0,110.0,-110.0],[99,true,true,null,170.0,1.0,null,null,1.014,false,270.0,0.0,102.0,-68.0],[100,true,true,null,310.900000000000034,1.0,null,null,1.039,false,410.900000000000034,0.0,186.5,-124.0],[101,true,true,null,2040.0,1.0,null,null,1.019,false,2140.0,0.0,640.0,0.0],[102,true,true,null,135.0,1.0,null,null,1.0,false,235.0,0.0,81.0,-54.0],[103,true,true,null,2000.0,1.0,null,null,1.045,false,2100.0,0.0,500.0,0.0],[78,true,true,null,250.200000000000017,1.0,null,null,1.052,false,350.199999999999989,0.0,150.099999999999994,-100.0],[104,true,true,null,1620.0,1.0,null,null,1.007,false,1720.0,0.0,1008.0,0.0],[105,true,true,null,1080.0,1.0,null,null,1.005,false,1180.0,0.0,671.0,0.0],[107,true,true,null,800.0,1.0,null,null,1.014,false,900.0,0.0,480.0,-320.0],[108,true,true,null,52.0,1.0,null,null,0.915,false,152.0,0.0,31.199999999999999,-20.800000000000001],[109,true,true,null,700.0,1.0,null,null,1.0,false,800.0,0.0,766.0,0.0],[110,true,true,null,2000.0,1.0,null,null,1.0,false,2100.0,0.0,1000.0,0.0],[111,true,true,null,300.0,1.0,null,null,1.037,false,400.0,0.0,160.0,0.0],[114,true,true,null,2493.0,1.0,null,null,1.049,false,2593.0,0.0,1496.0,-997.0],[115,true,true,null,2713.0,1.0,null,null,1.043,false,2813.0,0.0,1628.0,-1085.0],[116,true,true,null,2627.0,1.0,null,null,1.03,false,2727.0,0.0,1576.0,-1051.0],[79,true,true,null,47.0,1.0,null,null,1.069,false,147.0,0.0,28.199999999999999,-18.800000000000001],[117,true,true,null,4220.0,1.0,null,null,1.01,false,4320.0,0.0,2532.0,-1688.0],[118,true,true,null,8954.0,1.0,null,null,1.013,false,9054.0,0.0,5373.0,-3582.0],[120,true,true,null,2997.0,1.0,null,null,1.046,false,3097.0,0.0,1798.0,-1199.0],[121,true,true,null,1009.0,1.0,null,null,1.0,false,1109.0,0.0,605.399999999999977,-404.0],[123,true,true,null,3005.0,1.0,null,null,1.0,false,3105.0,0.0,1803.0,-1202.0],[127,true,true,null,12963.0,1.0,null,null,1.025,false,13063.0,0.0,7778.0,-5185.0],[129,true,true,null,5937.0,1.0,null,null,1.057,false,6037.0,0.0,3562.0,-2375.0],[130,true,true,null,28300.0,1.0,null,null,1.042,false,28400.0,0.0,16980.0,-9999.0],[131,true,true,null,3095.0,1.0,null,null,1.042,false,3195.0,0.0,1857.0,-1238.0],[133,true,true,null,20626.0,1.0,null,null,1.044,false,20726.0,0.0,12375.0,-8250.0],[81,true,true,null,70.0,1.0,null,null,0.975,false,170.0,0.0,42.0,-28.0],[134,true,true,null,5982.0,1.0,null,null,1.107,false,6082.0,0.0,3589.0,-2393.0],[135,true,true,null,51950.0,1.0,null,null,1.083,false,52050.0,0.0,31170.0,-9999.0],[136,true,true,null,12068.0,1.0,null,null,1.064,false,12168.0,0.0,7241.0,-4827.0],[138,true,true,null,56834.0,1.0,null,null,1.04,false,56934.0,0.0,34100.0,-9999.0],[139,true,true,null,23123.0,1.0,null,null,1.05,false,23223.0,0.0,13874.0,-9249.0],[140,true,true,null,37911.0,1.0,null,null,1.053,false,38011.0,0.0,22747.0,-9999.0],[141,true,true,null,24449.0,1.0,null,null,1.155,false,24549.0,0.0,14670.0,-9780.0],[142,true,true,null,5254.0,1.0,null,null,1.031,false,5354.0,0.0,3152.0,-2101.0],[143,true,true,null,11397.0,1.0,null,null,0.997,false,11497.0,0.0,6838.0,-4559.0],[88,true,true,null,673.0,1.0,null,null,1.066,false,773.0,0.0,403.800000000000011,-269.0],[89,true,true,null,22.0,1.0,null,null,0.95,false,122.0,0.0,13.199999999999999,-8.800000000000001],[90,true,true,null,64.0,1.0,null,null,1.0,false,164.0,0.0,38.399999999999999,-25.600000000000001],[92,true,true,null,700.0,1.0,null,null,1.0,false,800.0,0.0,766.0,-520.0],[93,true,true,null,300.0,1.0,null,null,1.02,false,400.0,0.0,288.0,-192.0]]}", + "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0,1,10,11,12,13,14,15,16,17,18,19,2,20,21,22,23,24,25,26,27,28,29,3,30,31,32,33,34,35,36,37,38,39,4,40,41,42,43,44,45,46,47,48,5,6,7,8,9],\"data\":[[59,true,true,null,51.0,1.0,null,null,1.137,false,151.0,0.0,53.399999999999999,-20.399999999999999,0.0],[66,true,true,null,1486.0,1.0,null,null,1.09,false,1586.0,0.0,891.600000000000023,-594.0,0.0],[94,true,true,null,131.0,1.0,null,null,0.92,false,231.0,0.0,108.600000000000008,-72.400000000000006,0.0],[95,true,true,null,60.0,1.0,null,null,1.0,false,160.0,0.0,36.0,-24.0,0.0],[96,true,true,null,140.0,1.0,null,null,0.967,false,240.0,0.0,84.0,-56.0,0.0],[97,true,true,null,426.0,1.0,null,null,0.97,false,526.0,0.0,255.599999999999994,-170.0,0.0],[98,true,true,null,200.0,1.0,null,null,1.0,false,300.0,0.0,110.0,-110.0,0.0],[99,true,true,null,170.0,1.0,null,null,1.014,false,270.0,0.0,102.0,-68.0,0.0],[100,true,true,null,310.900000000000034,1.0,null,null,1.039,false,410.900000000000034,0.0,186.5,-124.0,0.0],[101,true,true,null,2040.0,1.0,null,null,1.019,false,2140.0,0.0,640.0,0.0,0.0],[102,true,true,null,135.0,1.0,null,null,1.0,false,235.0,0.0,81.0,-54.0,0.0],[103,true,true,null,2000.0,1.0,null,null,1.045,false,2100.0,0.0,500.0,0.0,0.0],[78,true,true,null,250.200000000000017,1.0,null,null,1.052,false,350.199999999999989,0.0,150.099999999999994,-100.0,0.0],[104,true,true,null,1620.0,1.0,null,null,1.007,false,1720.0,0.0,1008.0,0.0,0.0],[105,true,true,null,1080.0,1.0,null,null,1.005,false,1180.0,0.0,671.0,0.0,0.0],[107,true,true,null,800.0,1.0,null,null,1.014,false,900.0,0.0,480.0,-320.0,0.0],[108,true,true,null,52.0,1.0,null,null,0.915,false,152.0,0.0,31.199999999999999,-20.800000000000001,0.0],[109,true,true,null,700.0,1.0,null,null,1.0,false,800.0,0.0,766.0,0.0,0.0],[110,true,true,null,2000.0,1.0,null,null,1.0,false,2100.0,0.0,1000.0,0.0,0.0],[111,true,true,null,300.0,1.0,null,null,1.037,false,400.0,0.0,160.0,0.0,0.0],[114,true,true,null,2493.0,1.0,null,null,1.049,false,2593.0,0.0,1496.0,-997.0,0.0],[115,true,true,null,2713.0,1.0,null,null,1.043,false,2813.0,0.0,1628.0,-1085.0,0.0],[116,true,true,null,2627.0,1.0,null,null,1.03,false,2727.0,0.0,1576.0,-1051.0,0.0],[79,true,true,null,47.0,1.0,null,null,1.069,false,147.0,0.0,28.199999999999999,-18.800000000000001,0.0],[117,true,true,null,4220.0,1.0,null,null,1.01,false,4320.0,0.0,2532.0,-1688.0,0.0],[118,true,true,null,8954.0,1.0,null,null,1.013,false,9054.0,0.0,5373.0,-3582.0,0.0],[120,true,true,null,2997.0,1.0,null,null,1.046,false,3097.0,0.0,1798.0,-1199.0,0.0],[121,true,true,null,1009.0,1.0,null,null,1.0,false,1109.0,0.0,605.399999999999977,-404.0,0.0],[123,true,true,null,3005.0,1.0,null,null,1.0,false,3105.0,0.0,1803.0,-1202.0,0.0],[127,true,true,null,12963.0,1.0,null,null,1.025,false,13063.0,0.0,7778.0,-5185.0,0.0],[129,true,true,null,5937.0,1.0,null,null,1.057,false,6037.0,0.0,3562.0,-2375.0,0.0],[130,true,true,null,28300.0,1.0,null,null,1.042,false,28400.0,0.0,16980.0,-9999.0,0.0],[131,true,true,null,3095.0,1.0,null,null,1.042,false,3195.0,0.0,1857.0,-1238.0,0.0],[133,true,true,null,20626.0,1.0,null,null,1.044,false,20726.0,0.0,12375.0,-8250.0,0.0],[81,true,true,null,70.0,1.0,null,null,0.975,false,170.0,0.0,42.0,-28.0,0.0],[134,true,true,null,5982.0,1.0,null,null,1.107,false,6082.0,0.0,3589.0,-2393.0,0.0],[135,true,true,null,51950.0,1.0,null,null,1.083,false,52050.0,0.0,31170.0,-9999.0,0.0],[136,true,true,null,12068.0,1.0,null,null,1.064,false,12168.0,0.0,7241.0,-4827.0,0.0],[138,true,true,null,56834.0,1.0,null,null,1.04,false,56934.0,0.0,34100.0,-9999.0,0.0],[139,true,true,null,23123.0,1.0,null,null,1.05,false,23223.0,0.0,13874.0,-9249.0,0.0],[140,true,true,null,37911.0,1.0,null,null,1.053,false,38011.0,0.0,22747.0,-9999.0,0.0],[141,true,true,null,24449.0,1.0,null,null,1.155,false,24549.0,0.0,14670.0,-9780.0,0.0],[142,true,true,null,5254.0,1.0,null,null,1.031,false,5354.0,0.0,3152.0,-2101.0,0.0],[143,true,true,null,11397.0,1.0,null,null,0.997,false,11497.0,0.0,6838.0,-4559.0,0.0],[88,true,true,null,673.0,1.0,null,null,1.066,false,773.0,0.0,403.800000000000011,-269.0,0.0],[89,true,true,null,22.0,1.0,null,null,0.95,false,122.0,0.0,13.199999999999999,-8.800000000000001,0.0],[90,true,true,null,64.0,1.0,null,null,1.0,false,164.0,0.0,38.399999999999999,-25.600000000000001,0.0],[92,true,true,null,700.0,1.0,null,null,1.0,false,800.0,0.0,766.0,-520.0,0.0],[93,true,true,null,300.0,1.0,null,null,1.02,false,400.0,0.0,288.0,-192.0,0.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -92,7 +154,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "switch": { @@ -129,7 +192,7 @@ "ext_grid": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0],\"data\":[[144,true,null,5.02,1.052,14218.6200000000008,0.0,9999.0,-9999.0]]}", + "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0],\"data\":[[144,true,null,5.02,1.052,14218.6200000000008,0.0,9999.0,-9999.0,1.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -140,7 +203,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "line": { @@ -293,7 +357,7 @@ "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\",\"in_service\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"ps_mw\",\"qs_mvar\",\"qz_mvar\",\"pz_mw\",\"r_ohm\",\"x_ohm\",\"vm_pu\",\"in_service\",\"slack_weight\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "name": "object", @@ -305,7 +369,8 @@ "r_ohm": "float64", "x_ohm": "float64", "vm_pu": "float64", - "in_service": "bool" + "in_service": "bool", + "slack_weight": "float64" } }, "measurement": { @@ -354,13 +419,14 @@ "controller": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"recycle\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"initial_run\",\"recycle\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "object": "object", "in_service": "bool", "order": "float64", "level": "object", + "initial_run": "bool", "recycle": "bool" } }, @@ -384,11 +450,11 @@ "coords": "object" } }, - "version": "2.2.1", + "version": "2.7.1", "converged": true, "name": "", "f_hz": 60, - "sn_mva": 1.0, + "sn_mva": 100, "std_types": { "line": { "NAYY 4x150 SE": { @@ -1268,6 +1334,16 @@ "q_mvar": "float64" } }, + "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" + } + }, "res_sgen": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -1352,6 +1428,341 @@ "va_to_degree": "float64" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_bus_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_line_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo3w_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_ext_grid_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_gen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_sgen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_shunt_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "user_pf_options": {}, "OPF_converged": false } diff --git a/pandapower/networks/power_system_test_case_jsons/case1888rte.json b/pandapower/networks/power_system_test_case_jsons/case1888rte.json index ee3719977..7af9c7605 100644 --- a/pandapower/networks/power_system_test_case_jsons/case1888rte.json +++ b/pandapower/networks/power_system_test_case_jsons/case1888rte.json @@ -58,6 +58,68 @@ "min_q_mvar": "float64" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "storage": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -80,7 +142,7 @@ "gen": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0,1,10,100,101,102,103,104,105,106,107,108,109,11,110,111,112,113,114,115,116,117,118,119,12,120,121,122,123,124,125,126,127,128,129,13,130,131,132,133,134,135,136,137,138,139,14,140,141,142,143,144,145,146,147,148,149,15,150,151,152,153,154,155,156,157,158,159,16,160,161,162,163,164,165,166,167,168,169,17,170,171,172,173,174,175,176,177,178,179,18,180,181,182,183,184,185,186,187,188,189,19,190,191,192,193,194,195,196,197,198,199,2,20,200,201,202,203,204,205,206,207,208,209,21,210,211,212,213,214,215,216,217,218,219,22,220,221,222,223,224,225,226,227,228,229,23,230,231,232,233,234,235,236,237,238,239,24,240,241,242,243,244,245,246,247,248,249,25,250,251,252,253,254,255,256,257,258,259,26,260,261,262,263,264,265,266,267,268,269,27,270,28,29,3,30,31,32,33,34,35,36,37,38,39,4,40,41,42,43,44,45,46,47,48,49,5,50,51,52,53,54,55,56,57,58,59,6,60,61,62,63,64,65,66,67,68,69,7,70,71,72,73,74,75,76,77,78,79,8,80,81,82,83,84,85,86,87,88,89,9,90,91,92,93,94,95,96,97,98,99],\"data\":[[1333,true,true,null,21.0,1.0,null,null,1.046,false,22.0,4.4,7.0,-12.0],[87,true,true,null,24.0,1.0,null,null,1.02,false,25.0,5.0,13.0,-9.0],[165,true,true,null,8.0,1.0,null,null,1.065,false,8.300000000000001,1.66,8.300000000000001,-8.300000000000001],[1682,true,true,null,588.0,1.0,null,null,0.928,false,610.0,310.0,330.28000000000003,-165.240000000000009],[1683,true,true,null,588.0,1.0,null,null,0.933,false,610.0,310.0,297.670000000000016,-191.830000000000012],[1684,true,true,null,205.0,1.0,null,null,0.954,false,700.0,205.0,254.819999999999993,-293.650000000000034],[1685,true,true,null,48.0,1.0,null,null,0.957,false,50.0,10.0,15.6,-13.800000000000001],[1686,true,true,null,48.0,1.0,null,null,0.957,false,50.0,10.0,15.199999999999999,-14.199999999999999],[1687,true,true,null,48.0,1.0,null,null,0.957,false,50.0,10.0,15.81,-13.6],[1688,true,true,null,48.0,1.0,null,null,0.957,false,50.0,10.0,15.81,-13.6],[1689,true,true,null,48.0,1.0,null,null,0.957,false,50.0,10.0,15.81,-13.6],[1690,true,true,null,48.0,1.0,null,null,0.957,false,50.0,10.0,15.6,-13.800000000000001],[1691,true,true,null,965.0,1.0,null,null,0.972,false,1000.0,280.0,532.909999999999968,-90.140000000000001],[232,true,true,null,2.6,1.0,null,null,1.011,false,13.0,2.6,5.0,-5.0],[1692,true,true,null,965.0,1.0,null,null,0.973,false,1000.0,280.0,535.450000000000046,-87.609999999999999],[1693,true,true,null,965.0,1.0,null,null,0.974,false,1000.0,280.0,567.710000000000036,-88.299999999999997],[1695,true,true,null,55.0,1.0,null,null,0.983,false,57.0,11.4,17.350000000000001,-17.350000000000001],[1696,true,true,null,420.090000000000032,1.0,null,null,0.922,false,451.0,239.0,219.77000000000001,-155.719999999999999],[1697,true,true,null,21.0,1.0,null,null,0.95,false,63.0,21.0,51.25,-10.630000000000001],[1698,true,true,null,248.800000000000011,1.0,null,null,0.99,false,433.800000000000011,248.800000000000011,258.100000000000023,-182.180000000000007],[1699,true,true,null,81.810000000000002,1.0,null,null,0.95,false,168.170000000000016,81.810000000000002,71.210000000000008,-44.25],[1700,true,true,null,82.280000000000001,1.0,null,null,0.95,false,168.599999999999994,82.280000000000001,73.340000000000003,-37.689999999999998],[1701,true,true,null,53.909999999999997,1.0,null,null,0.95,false,248.210000000000008,53.909999999999997,113.530000000000001,-43.700000000000003],[1702,true,true,null,43.969999999999999,1.0,null,null,0.95,false,238.090000000000003,43.969999999999999,100.920000000000002,-59.359999999999999],[263,true,true,null,48.0,1.0,null,null,1.029,false,50.0,10.0,27.0,-9.0],[1703,true,true,null,229.689999999999998,1.0,null,null,0.95,false,919.690000000000055,229.689999999999998,525.139999999999986,-88.609999999999999],[1704,true,true,null,229.689999999999998,1.0,null,null,0.95,false,919.690000000000055,229.689999999999998,525.139999999999986,-88.609999999999999],[1705,true,true,null,236.689999999999998,1.0,null,null,0.95,false,926.690000000000055,236.689999999999998,526.769999999999982,-86.989999999999995],[1706,true,true,null,251.689999999999998,1.0,null,null,0.95,false,941.690000000000055,251.689999999999998,530.289999999999964,-83.480000000000004],[1707,true,true,null,30.0,1.0,null,null,0.96,false,32.0,6.4,10.32,-9.68],[1708,true,true,null,38.0,1.0,null,null,0.982,false,39.880000000000002,7.98,19.219999999999999,-17.670000000000002],[1709,true,true,null,38.0,1.0,null,null,0.982,false,39.880000000000002,7.98,19.34,-17.739999999999998],[1710,true,true,null,38.0,1.0,null,null,0.982,false,39.880000000000002,7.98,19.239999999999998,-17.66],[1711,true,true,null,1332.0,1.0,null,null,0.988,false,1380.0,340.0,398.389999999999986,-396.860000000000014],[1712,true,true,null,1332.0,1.0,null,null,0.985,false,1380.0,340.0,371.079999999999984,-424.160000000000025],[43,true,true,null,28.0,1.0,null,null,1.038,false,30.0,6.0,10.0,-4.0],[1713,true,true,null,4.8,1.0,null,null,0.964,false,24.0,4.8,5.35,-2.57],[1714,true,true,null,4.8,1.0,null,null,0.964,false,24.0,4.8,5.48,-2.43],[1715,true,true,null,4.86,1.0,null,null,0.964,false,24.0,4.8,5.0,-2.93],[1716,true,true,null,12.83,1.0,null,null,0.962,false,24.0,4.8,5.29,-2.63],[1717,true,true,null,9.199999999999999,1.0,null,null,0.975,false,23.989999999999998,4.8,10.0,-4.98],[1718,true,true,null,4.8,1.0,null,null,0.976,false,23.989999999999998,4.8,8.26,-6.79],[1719,true,true,null,4.8,1.0,null,null,0.976,false,23.989999999999998,4.8,10.17,-4.8],[1720,true,true,null,9.449999999999999,1.0,null,null,0.984,false,23.989999999999998,4.8,1.81,1.8],[1721,true,true,null,9.199999999999999,1.0,null,null,0.975,false,23.989999999999998,4.8,10.16,-4.81],[1722,true,true,null,27.0,1.0,null,null,0.984,false,28.98,5.8,12.23,-7.55],[785,true,true,null,13.0,1.0,null,null,1.036,false,13.800000000000001,2.76,4.63,-5.56],[1723,true,true,null,27.0,1.0,null,null,0.984,false,28.98,5.8,12.31,-7.46],[1724,true,true,null,1262.0,1.0,null,null,0.981,false,1308.0,288.0,615.090000000000032,-439.220000000000027],[1725,true,true,null,1262.0,1.0,null,null,0.98,false,1308.0,288.0,614.629999999999996,-439.670000000000016],[1726,true,true,null,442.0,1.0,null,null,0.95,false,458.259999999999991,89.260000000000005,255.900000000000006,-84.100000000000009],[1727,true,true,null,309.70999999999998,1.0,null,null,0.95,false,947.0,237.0,524.879999999999996,-98.230000000000004],[1728,true,true,null,313.550000000000011,1.0,null,null,0.95,false,947.0,267.0,528.269999999999982,-94.909999999999997],[1729,true,true,null,349.480000000000018,1.0,null,null,0.945,false,947.0,237.0,529.5,-93.670000000000002],[1730,true,true,null,328.639999999999986,1.0,null,null,0.948,false,947.0,237.0,528.590000000000032,-94.530000000000001],[1731,true,true,null,311.180000000000007,1.0,null,null,0.95,false,947.0,237.0,529.529999999999973,-93.650000000000006],[1732,true,true,null,237.0,1.0,null,null,0.95,false,947.0,237.0,504.129999999999995,-118.980000000000004],[348,true,true,null,11.82,1.0,null,null,1.047,false,41.399999999999999,8.279999999999999,12.42,-11.59],[1733,true,true,null,125.0,1.0,null,null,0.95,false,240.0,125.0,104.810000000000002,-37.310000000000002],[1734,true,true,null,33.880000000000002,1.0,null,null,0.997,false,169.400000000000006,33.880000000000002,69.060000000000002,-76.420000000000002],[1735,true,true,null,33.880000000000002,1.0,null,null,0.997,false,169.400000000000006,33.880000000000002,69.079999999999998,-76.5],[1736,true,true,null,33.880000000000002,1.0,null,null,0.996,false,169.400000000000006,33.880000000000002,68.920000000000002,-76.489999999999995],[1737,true,true,null,33.880000000000002,1.0,null,null,0.996,false,169.400000000000006,33.880000000000002,68.969999999999999,-76.689999999999998],[1738,true,true,null,33.880000000000002,1.0,null,null,0.997,false,169.400000000000006,33.880000000000002,69.100000000000009,-76.579999999999998],[1739,true,true,null,33.880000000000002,1.0,null,null,0.997,false,169.400000000000006,33.880000000000002,69.100000000000009,-76.540000000000006],[1740,true,true,null,33.880000000000002,1.0,null,null,0.996,false,169.400000000000006,33.880000000000002,68.670000000000002,-76.850000000000008],[1741,true,true,null,33.880000000000002,1.0,null,null,0.996,false,169.400000000000006,33.880000000000002,68.689999999999998,-76.920000000000002],[1742,true,true,null,265.509999999999991,1.0,null,null,0.95,false,456.800000000000011,216.800000000000011,272.899999999999977,-127.100000000000009],[96,true,true,null,26.0,1.0,null,null,1.036,false,130.0,26.0,59.0,-26.0],[1743,true,true,null,130.0,1.0,null,null,0.969,false,260.0,130.0,159.710000000000008,-80.290000000000006],[1745,true,true,null,250.0,1.0,null,null,0.951,false,585.0,250.0,199.310000000000002,-189.680000000000007],[1746,true,true,null,19.0,1.0,null,null,1.027,false,19.98,4.0,20.640000000000001,-19.149999999999999],[1747,true,true,null,23.0,1.0,null,null,1.026,false,23.98,4.8,20.43,-19.379999999999999],[1748,true,true,null,4.8,1.0,null,null,1.029,false,23.98,4.8,21.0,-18.66],[1749,true,true,null,4.8,1.0,null,null,1.029,false,23.98,4.8,20.73,-19.0],[1750,true,true,null,4.8,1.0,null,null,1.029,false,23.98,4.8,21.260000000000002,-18.370000000000001],[1751,true,true,null,4.8,1.0,null,null,1.029,false,23.98,4.8,21.260000000000002,-18.370000000000001],[1752,true,true,null,33.0,1.0,null,null,0.979,false,35.0,7.0,9.31,-8.35],[1753,true,true,null,33.0,1.0,null,null,0.979,false,35.0,7.0,9.119999999999999,-8.539999999999999],[689,true,true,null,20.0,1.0,null,null,1.05,false,21.0,4.2,8.0,-8.0],[1754,true,true,null,33.0,1.0,null,null,0.978,false,35.0,7.0,10.16,-13.09],[1755,true,true,null,33.0,1.0,null,null,0.979,false,35.0,7.0,9.31,-8.35],[1756,true,true,null,120.0,1.0,null,null,0.943,false,235.0,120.0,104.519999999999996,-144.759999999999991],[1757,true,true,null,70.0,1.0,null,null,1.024,false,73.0,14.6,47.310000000000002,-36.189999999999998],[1758,true,true,null,66.0,1.0,null,null,1.033,false,69.0,13.800000000000001,51.140000000000001,-32.549999999999997],[1759,true,true,null,74.0,1.0,null,null,1.023,false,77.5,15.5,46.310000000000002,-34.939999999999998],[1760,true,true,null,29.0,1.0,null,null,0.969,false,31.0,6.2,13.16,-10.68],[1761,true,true,null,29.0,1.0,null,null,0.969,false,31.0,6.2,13.31,-10.529999999999999],[1762,true,true,null,29.0,1.0,null,null,0.969,false,31.0,6.2,13.470000000000001,-10.369999999999999],[1763,true,true,null,48.0,1.0,null,null,0.934,false,50.0,10.0,28.899999999999999,-16.530000000000001],[955,true,true,null,51.0,1.0,null,null,1.039,false,53.0,10.6,17.0,-10.0],[1764,true,true,null,137.0,1.0,null,null,0.958,false,250.0,137.0,158.819999999999993,-22.050000000000001],[1765,true,true,null,137.0,1.0,null,null,0.96,false,250.0,137.0,157.289999999999992,-23.579999999999998],[1766,true,true,null,18.0,1.0,null,null,0.848,false,19.0,3.8,11.15,-8.85],[1767,true,true,null,201.900000000000006,1.0,null,null,0.988,false,419.900000000000034,201.900000000000006,198.930000000000007,-170.349999999999994],[1768,true,true,null,5.0,1.0,null,null,0.95,false,185.0,5.0,83.820000000000007,-43.789999999999999],[1769,true,true,null,5.0,1.0,null,null,0.95,false,185.0,5.0,83.820000000000007,-43.789999999999999],[1770,true,true,null,219.0,1.0,null,null,0.935,false,227.0,45.399999999999999,163.700000000000017,-87.820000000000007],[1771,true,true,null,219.0,1.0,null,null,0.93,false,227.0,45.399999999999999,179.990000000000009,-71.570000000000007],[1772,true,true,null,219.0,1.0,null,null,0.936,false,227.0,45.399999999999999,157.759999999999991,-93.799999999999997],[1773,true,true,null,219.0,1.0,null,null,0.936,false,227.0,45.399999999999999,158.099999999999994,-93.469999999999999],[879,true,true,null,17.920000000000002,1.0,null,null,1.027,false,27.0,5.4,10.0,-3.0],[1774,true,true,null,917.0,1.0,null,null,0.958,false,950.0,237.0,501.439999999999998,-91.780000000000001],[1775,true,true,null,917.0,1.0,null,null,0.958,false,950.0,237.0,505.620000000000004,-87.609999999999999],[1776,true,true,null,31.329999999999998,1.0,null,null,0.965,false,37.840000000000003,7.57,19.48,-19.300000000000001],[1777,true,true,null,31.329999999999998,1.0,null,null,0.965,false,37.840000000000003,7.57,19.600000000000001,-18.32],[1778,true,true,null,31.329999999999998,1.0,null,null,0.965,false,37.850000000000001,7.57,19.120000000000001,-18.550000000000001],[1779,true,true,null,305.0,1.0,null,null,0.95,false,316.0,168.0,175.050000000000011,-169.390000000000015],[1780,true,true,null,156.0,1.0,null,null,0.946,false,304.0,156.0,158.670000000000016,-184.580000000000012],[1781,true,true,null,289.0,1.0,null,null,0.95,false,1360.0,289.0,674.32000000000005,-130.169999999999988],[1782,true,true,null,58.0,1.0,null,null,0.961,false,61.0,12.199999999999999,27.09,-26.129999999999999],[1783,true,true,null,58.0,1.0,null,null,0.961,false,61.0,12.199999999999999,27.25,-25.969999999999999],[121,true,true,null,22.0,1.0,null,null,1.034,false,23.399999999999999,4.68,8.0,-17.0],[465,true,true,null,13.220000000000001,1.0,null,null,1.036,false,52.0,10.4,10.0,-13.0],[1784,true,true,null,34.0,1.0,null,null,1.025,false,35.950000000000003,7.19,19.170000000000002,-14.98],[1785,true,true,null,1100.1400000000001,1.0,null,null,0.958,false,1380.0,350.0,644.470000000000027,-185.530000000000001],[1786,true,true,null,991.730000000000018,1.0,null,null,0.965,false,1380.0,350.0,646.629999999999996,-183.289999999999992],[1787,true,true,null,999.0,1.0,null,null,0.965,false,1380.0,350.0,637.860000000000014,-181.25],[1788,true,true,null,350.0,1.0,null,null,0.967,false,1290.0,350.0,644.279999999999973,-185.670000000000016],[1789,true,true,null,49.0,1.0,null,null,1.006,false,51.0,0.8,26.57,-21.43],[1790,true,true,null,808.330000000000041,1.0,null,null,0.959,false,1380.0,340.0,637.769999999999982,-152.219999999999999],[1791,true,true,null,804.430000000000064,1.0,null,null,0.959,false,1380.0,340.0,629.930000000000064,-160.060000000000002],[1792,true,true,null,175.0,1.0,null,null,0.95,false,585.0,175.0,232.650000000000006,-116.230000000000004],[1793,true,true,null,175.0,1.0,null,null,0.95,false,585.0,175.0,232.650000000000006,-116.230000000000004],[1201,true,true,null,11.6,1.0,null,null,1.056,false,58.0,11.6,35.0,-35.0],[1794,true,true,null,188.0,1.0,null,null,0.95,false,598.0,188.0,314.579999999999984,-33.18],[1795,true,true,null,175.0,1.0,null,null,0.952,false,585.0,175.0,231.390000000000015,-116.609999999999999],[1796,true,true,null,36.0,1.0,null,null,0.972,false,38.0,7.6,1.0,0.9],[1797,true,true,null,236.0,1.0,null,null,0.929,false,245.0,85.0,117.719999999999999,-80.390000000000001],[1798,true,true,null,582.740000000000009,1.0,null,null,0.927,false,605.0,295.0,219.390000000000015,-168.090000000000003],[1799,true,true,null,55.0,1.0,null,null,1.014,false,58.0,11.6,59.630000000000002,-30.370000000000001],[1800,true,true,null,230.800000000000011,1.0,null,null,0.958,false,439.800000000000011,230.800000000000011,187.439999999999998,-1.27],[1801,true,true,null,77.0,1.0,null,null,1.036,false,80.0,16.0,8.16,-16.52],[1802,true,true,null,77.0,1.0,null,null,1.036,false,80.0,16.0,8.16,-16.52],[1803,true,true,null,77.0,1.0,null,null,1.036,false,80.0,16.0,8.119999999999999,-16.559999999999999],[347,true,true,null,59.0,1.0,null,null,1.05,false,62.0,12.4,40.0,-40.0],[1804,true,true,null,30.0,1.0,null,null,1.036,false,32.0,6.4,19.16,-10.84],[1805,true,true,null,6.4,1.0,null,null,1.037,false,32.0,6.4,15.75,-14.25],[1806,true,true,null,30.0,1.0,null,null,1.036,false,32.0,6.4,19.16,-10.84],[1807,true,true,null,28.129999999999999,1.0,null,null,1.034,false,32.0,6.4,15.75,-14.25],[1808,true,true,null,36.0,1.0,null,null,0.982,false,180.0,36.0,110.990000000000009,-94.450000000000003],[1809,true,true,null,36.0,1.0,null,null,1.003,false,180.0,36.0,105.25,-101.329999999999998],[1810,true,true,null,36.0,1.0,null,null,0.982,false,180.0,36.0,110.689999999999998,-94.739999999999995],[1811,true,true,null,36.0,1.0,null,null,0.982,false,180.0,36.0,110.670000000000002,-94.760000000000005],[1812,true,true,null,23.359999999999999,1.0,null,null,0.964,false,37.649999999999999,7.53,11.32,-8.109999999999999],[1813,true,true,null,24.57,1.0,null,null,0.964,false,37.649999999999999,7.53,11.25,-8.16],[462,true,true,null,0.91,1.0,null,null,1.037,false,78.0,15.6,1.0,0.0],[1814,true,true,null,7.53,1.0,null,null,0.967,false,37.640000000000001,7.53,11.119999999999999,-8.27],[1815,true,true,null,38.0,1.0,null,null,1.028,false,39.969999999999999,1.0,7.16,-12.41],[1816,true,true,null,38.0,1.0,null,null,1.028,false,39.969999999999999,1.0,7.4,-12.15],[1817,true,true,null,42.0,1.0,null,null,1.001,false,44.0,8.800000000000001,10.619999999999999,-10.08],[1818,true,true,null,29.0,1.0,null,null,0.971,false,31.0,6.2,18.75,-13.93],[1819,true,true,null,31.0,1.0,null,null,0.948,false,33.0,6.6,16.719999999999999,-13.279999999999999],[1820,true,true,null,125.0,1.0,null,null,1.003,false,130.0,26.0,26.989999999999998,-17.460000000000001],[1821,true,true,null,1285.0,1.0,null,null,0.952,false,1332.0,282.0,640.850000000000023,-149.370000000000005],[1822,true,true,null,1285.0,1.0,null,null,0.952,false,1332.0,282.0,634.519999999999982,-155.700000000000017],[1823,true,true,null,150.0,1.0,null,null,0.97,false,285.0,150.0,164.140000000000015,14.19],[1297,true,true,null,10.0,1.0,null,null,1.039,false,11.0,2.2,1.0,0.9],[1824,true,true,null,225.0,1.0,null,null,0.961,false,595.0,225.0,221.300000000000011,-146.700000000000017],[1825,true,true,null,127.0,1.0,null,null,0.949,false,443.0,127.0,89.219999999999999,29.219999999999999],[1827,true,true,null,48.0,1.0,null,null,0.962,false,50.0,10.0,25.510000000000002,-26.68],[1828,true,true,null,48.0,1.0,null,null,0.961,false,50.0,10.0,26.129999999999999,-26.050000000000001],[1829,true,true,null,82.0,1.0,null,null,0.917,false,85.0,17.0,50.469999999999999,-24.649999999999999],[1830,true,true,null,920.0,1.0,null,null,0.948,false,953.370000000000005,233.370000000000005,543.740000000000009,-110.400000000000006],[1831,true,true,null,923.0,1.0,null,null,0.948,false,956.370000000000005,236.370000000000005,540.340000000000032,-113.799999999999997],[1832,true,true,null,47.0,1.0,null,null,0.977,false,49.0,9.800000000000001,18.530000000000001,-19.030000000000001],[1833,true,true,null,47.0,1.0,null,null,0.977,false,49.0,9.800000000000001,18.530000000000001,-19.030000000000001],[1834,true,true,null,18.350000000000001,1.0,null,null,1.042,false,23.690000000000001,4.74,8.619999999999999,-1.44],[198,true,true,null,0.16,1.0,null,null,1.022,false,23.5,4.7,8.0,-8.0],[1835,true,true,null,4.74,1.0,null,null,1.045,false,23.690000000000001,4.74,8.619999999999999,-1.44],[1836,true,true,null,18.34,1.0,null,null,1.042,false,23.690000000000001,4.74,8.619999999999999,-1.44],[1837,true,true,null,18.350000000000001,1.0,null,null,1.042,false,23.690000000000001,4.74,8.550000000000001,-1.52],[1838,true,true,null,32.200000000000003,1.0,null,null,1.066,false,161.0,32.200000000000003,86.739999999999995,-73.260000000000005],[1839,true,true,null,32.200000000000003,1.0,null,null,1.066,false,161.0,32.200000000000003,86.739999999999995,-73.260000000000005],[1840,true,true,null,32.200000000000003,1.0,null,null,1.066,false,161.0,32.200000000000003,86.739999999999995,-73.260000000000005],[1841,true,true,null,32.200000000000003,1.0,null,null,1.066,false,161.0,32.200000000000003,86.739999999999995,-73.260000000000005],[1842,true,true,null,950.0,1.0,null,null,0.992,false,985.0,275.0,414.210000000000036,-99.120000000000005],[1843,true,true,null,950.0,1.0,null,null,0.994,false,985.0,275.0,403.28000000000003,-110.079999999999998],[1844,true,true,null,950.0,1.0,null,null,0.993,false,985.0,275.0,416.569999999999993,-96.769999999999996],[1608,true,true,null,200.0,1.0,null,null,0.95,false,670.0,200.0,155.300000000000011,-217.550000000000011],[1845,true,true,null,950.0,1.0,null,null,0.993,false,985.0,275.0,416.79000000000002,-96.560000000000002],[1846,true,true,null,72.0,1.0,null,null,0.964,false,185.0,72.0,83.560000000000002,-45.770000000000003],[1847,true,true,null,72.0,1.0,null,null,0.964,false,185.0,72.0,83.560000000000002,-43.869999999999998],[1848,true,true,null,72.0,1.0,null,null,0.979,false,185.0,72.0,83.560000000000002,-43.869999999999998],[1849,true,true,null,138.0,1.0,null,null,0.941,false,268.0,138.0,140.780000000000001,-68.25],[1850,true,true,null,138.0,1.0,null,null,0.938,false,268.0,138.0,135.780000000000001,-73.25],[1851,true,true,null,33.0,1.0,null,null,0.978,false,34.969999999999999,6.99,12.09,-19.969999999999999],[1852,true,true,null,33.0,1.0,null,null,0.978,false,34.969999999999999,6.99,12.09,-19.969999999999999],[1853,true,true,null,24.620000000000001,1.0,null,null,0.963,false,34.960000000000001,6.99,12.08,-20.0],[1854,true,true,null,131.0,1.0,null,null,0.959,false,136.0,27.199999999999999,106.950000000000003,-73.049999999999997],[1609,true,true,null,450.03000000000003,1.0,null,null,0.95,false,700.0,140.0,231.390000000000015,-190.580000000000012],[1855,true,true,null,123.0,1.0,null,null,0.962,false,128.0,25.600000000000001,100.680000000000007,-69.320000000000007],[1610,true,true,null,26.0,1.0,null,null,0.885,false,27.0,5.4,24.620000000000001,-15.380000000000001],[1611,true,true,null,83.0,1.0,null,null,0.928,false,86.0,17.199999999999999,43.859999999999999,-8.5],[890,true,true,null,19.0,1.0,null,null,1.035,false,20.0,4.0,2.0,1.9],[1612,true,true,null,9.800000000000001,1.0,null,null,0.93,false,49.0,9.800000000000001,22.190000000000001,-9.73],[1613,true,true,null,30.0,1.0,null,null,1.034,false,32.0,6.4,8.359999999999999,-8.359999999999999],[1614,true,true,null,30.0,1.0,null,null,1.034,false,32.0,6.4,8.359999999999999,-8.359999999999999],[1615,true,true,null,30.0,1.0,null,null,1.034,false,32.0,6.4,8.15,-8.57],[1616,true,true,null,30.0,1.0,null,null,1.034,false,32.0,6.4,8.15,-8.57],[1617,true,true,null,88.0,1.0,null,null,1.01,false,92.0,18.399999999999999,54.57,-35.43],[1618,true,true,null,88.0,1.0,null,null,1.031,false,92.0,18.399999999999999,56.479999999999997,-33.520000000000003],[1619,true,true,null,912.0,1.0,null,null,1.0,false,945.080000000000041,255.069999999999993,421.389999999999986,-376.620000000000004],[1620,true,true,null,944.0,1.0,null,null,0.999,false,978.039999999999964,288.050000000000011,428.829999999999984,-369.20999999999998],[1621,true,true,null,942.0,1.0,null,null,0.999,false,976.080000000000041,256.079999999999984,428.069999999999993,-369.920000000000016],[801,true,true,null,13.0,1.0,null,null,1.039,false,14.0,2.8,1.0,0.9],[1622,true,true,null,910.0,1.0,null,null,1.0,false,943.080000000000041,253.069999999999993,420.860000000000014,-377.129999999999995],[1623,true,true,null,156.0,1.0,null,null,0.954,false,252.0,156.0,153.030000000000001,-90.230000000000004],[1624,true,true,null,154.0,1.0,null,null,0.954,false,250.0,154.0,152.439999999999998,-90.810000000000002],[1625,true,true,null,154.0,1.0,null,null,0.977,false,250.0,154.0,105.680000000000007,-58.280000000000001],[1626,true,true,null,122.0,1.0,null,null,0.983,false,305.0,122.0,228.810000000000002,-159.909999999999997],[1627,true,true,null,89.0,1.0,null,null,0.986,false,155.0,89.0,94.320000000000007,-74.640000000000001],[1628,true,true,null,11.6,1.0,null,null,0.988,false,58.0,11.6,21.649999999999999,-18.77],[1629,true,true,null,37.93,1.0,null,null,0.988,false,58.0,11.6,16.010000000000002,-10.66],[1630,true,true,null,11.6,1.0,null,null,0.988,false,58.0,11.6,21.469999999999999,-18.949999999999999],[1631,true,true,null,38.049999999999997,1.0,null,null,0.988,false,58.0,11.6,16.050000000000001,-10.619999999999999],[1312,true,true,null,28.0,1.0,null,null,1.021,false,30.0,6.0,10.0,-10.0],[1632,true,true,null,37.390000000000001,1.0,null,null,0.988,false,58.0,11.6,15.81,-10.859999999999999],[1633,true,true,null,133.0,1.0,null,null,0.95,false,263.0,133.0,146.450000000000017,-90.180000000000007],[1634,true,true,null,43.0,1.0,null,null,1.045,false,44.960000000000001,8.99,50.670000000000002,-38.090000000000003],[1635,true,true,null,30.0,1.0,null,null,1.048,false,32.0,6.4,19.75,-16.25],[1636,true,true,null,903.0,1.0,null,null,0.963,false,936.289999999999964,266.29000000000002,530.990000000000009,-158.22999999999999],[1637,true,true,null,910.0,1.0,null,null,0.946,false,942.82000000000005,272.819999999999993,533.690000000000055,-156.069999999999993],[1638,true,true,null,892.0,1.0,null,null,0.964,false,924.279999999999973,274.28000000000003,537.680000000000064,-152.819999999999993],[1639,true,true,null,890.0,1.0,null,null,0.946,false,922.800000000000068,272.800000000000011,529.889999999999986,-160.890000000000015],[1640,true,true,null,318.0,1.0,null,null,0.945,false,1308.0,318.0,681.039999999999964,-153.0],[1641,true,true,null,318.0,1.0,null,null,0.948,false,1308.0,318.0,681.029999999999973,-153.0],[388,true,true,null,10.0,1.0,null,null,1.015,false,11.0,2.2,5.0,1.0],[1642,true,true,null,33.0,1.0,null,null,1.029,false,35.0,7.0,6.08,-1.92],[1643,true,true,null,33.0,1.0,null,null,1.029,false,35.0,7.0,6.21,-1.79],[1644,true,true,null,33.0,1.0,null,null,1.029,false,35.0,7.0,6.21,-1.79],[1645,true,true,null,33.0,1.0,null,null,1.029,false,35.0,7.0,6.11,-1.89],[1646,true,true,null,33.0,1.0,null,null,1.029,false,35.0,7.0,6.11,-1.89],[1647,true,true,null,33.0,1.0,null,null,1.029,false,35.0,7.0,6.11,-1.89],[1648,true,true,null,35.0,1.0,null,null,0.979,false,36.969999999999999,7.39,18.449999999999999,-13.16],[1649,true,true,null,35.0,1.0,null,null,0.979,false,36.969999999999999,7.39,18.449999999999999,-13.16],[1650,true,true,null,35.0,1.0,null,null,0.979,false,36.969999999999999,7.39,18.449999999999999,-11.35],[1651,true,true,null,35.0,1.0,null,null,0.979,false,36.969999999999999,7.39,18.109999999999999,-11.699999999999999],[957,true,true,null,7.0,1.0,null,null,1.05,false,35.0,7.0,15.0,-15.0],[1652,true,true,null,35.0,1.0,null,null,0.978,false,36.969999999999999,7.39,18.210000000000001,-13.41],[1653,true,true,null,35.0,1.0,null,null,0.978,false,36.969999999999999,7.39,18.550000000000001,-13.050000000000001],[1654,true,true,null,19.0,1.0,null,null,0.942,false,20.0,4.0,12.32,-7.68],[1655,true,true,null,29.0,1.0,null,null,0.978,false,30.98,6.2,17.850000000000001,-13.789999999999999],[1656,true,true,null,29.0,1.0,null,null,0.978,false,30.98,6.2,17.850000000000001,-13.789999999999999],[1657,true,true,null,29.0,1.0,null,null,0.978,false,30.98,6.2,18.010000000000002,-13.619999999999999],[1658,true,true,null,29.0,1.0,null,null,0.978,false,30.98,6.2,18.010000000000002,-13.619999999999999],[1659,true,true,null,29.0,1.0,null,null,0.979,false,30.98,6.2,17.890000000000001,-13.75],[1660,true,true,null,29.0,1.0,null,null,0.979,false,30.98,6.2,17.739999999999998,-13.91],[1661,true,true,null,1283.0,1.0,null,null,0.947,false,1330.0,337.0,656.060000000000059,-184.890000000000015],[903,true,true,null,40.0,1.0,null,null,1.045,false,42.0,8.4,25.0,-20.0],[1662,true,true,null,1114.279999999999973,1.0,null,null,0.952,false,1360.0,367.0,656.919999999999959,-183.900000000000006],[1663,true,true,null,1088.809999999999945,1.0,null,null,0.953,false,1360.0,367.0,648.029999999999973,-192.800000000000011],[1664,true,true,null,1.45,1.0,null,null,0.916,false,1.5,1.4,281.45999999999998,-103.909999999999997],[1665,true,true,null,48.0,1.0,null,null,1.003,false,240.0,48.0,94.030000000000001,-45.969999999999999],[1666,true,true,null,48.0,1.0,null,null,1.003,false,240.0,48.0,95.109999999999999,-44.890000000000001],[1667,true,true,null,910.0,1.0,null,null,0.95,false,942.720000000000027,232.719999999999999,524.600000000000023,-107.200000000000003],[1668,true,true,null,920.0,1.0,null,null,0.95,false,953.740000000000009,243.740000000000009,511.639999999999986,-99.079999999999998],[1669,true,true,null,919.0,1.0,null,null,0.949,false,952.740000000000009,242.740000000000009,555.409999999999968,-99.320000000000007],[1670,true,true,null,598.269999999999982,1.0,null,null,0.944,false,1503.0,403.0,682.279999999999973,-126.359999999999999],[1671,true,true,null,505.800000000000011,1.0,null,null,0.95,false,1503.0,403.0,687.169999999999959,-121.659999999999997],[1233,true,true,null,15.609999999999999,1.0,null,null,1.046,false,87.0,17.399999999999999,26.100000000000001,-24.359999999999999],[1672,true,true,null,1446.0,1.0,null,null,0.973,false,1498.0,398.0,409.449999999999989,-352.29000000000002],[1673,true,true,null,1446.0,1.0,null,null,0.971,false,1498.0,398.0,409.420000000000016,-352.329999999999984],[1674,true,true,null,15.0,1.0,null,null,1.077,false,75.0,15.0,51.880000000000002,-38.439999999999998],[1675,true,true,null,15.0,1.0,null,null,1.077,false,75.0,15.0,51.880000000000002,-38.439999999999998],[1676,true,true,null,15.0,1.0,null,null,1.077,false,75.0,15.0,51.880000000000002,-38.439999999999998],[1677,true,true,null,15.0,1.0,null,null,1.077,false,75.0,15.0,51.880000000000002,-38.439999999999998],[1678,true,true,null,91.0,1.0,null,null,0.957,false,95.0,8.5,104.120000000000005,-61.399999999999999],[1679,true,true,null,91.0,1.0,null,null,0.957,false,95.0,8.5,103.939999999999998,-61.579999999999998],[1680,true,true,null,4.2,1.0,null,null,0.961,false,148.200000000000017,4.2,86.670000000000002,-10.65],[1681,true,true,null,180.0,1.0,null,null,0.95,false,685.0,180.0,220.219999999999999,-59.170000000000002]]}", + "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0,1,10,100,101,102,103,104,105,106,107,108,109,11,110,111,112,113,114,115,116,117,118,119,12,120,121,122,123,124,125,126,127,128,129,13,130,131,132,133,134,135,136,137,138,139,14,140,141,142,143,144,145,146,147,148,149,15,150,151,152,153,154,155,156,157,158,159,16,160,161,162,163,164,165,166,167,168,169,17,170,171,172,173,174,175,176,177,178,179,18,180,181,182,183,184,185,186,187,188,189,19,190,191,192,193,194,195,196,197,198,199,2,20,200,201,202,203,204,205,206,207,208,209,21,210,211,212,213,214,215,216,217,218,219,22,220,221,222,223,224,225,226,227,228,229,23,230,231,232,233,234,235,236,237,238,239,24,240,241,242,243,244,245,246,247,248,249,25,250,251,252,253,254,255,256,257,258,259,26,260,261,262,263,264,265,266,267,268,269,27,270,28,29,3,30,31,32,33,34,35,36,37,38,39,4,40,41,42,43,44,45,46,47,48,49,5,50,51,52,53,54,55,56,57,58,59,6,60,61,62,63,64,65,66,67,68,69,7,70,71,72,73,74,75,76,77,78,79,8,80,81,82,83,84,85,86,87,88,89,9,90,91,92,93,94,95,96,97,98,99],\"data\":[[1333,true,true,null,21.0,1.0,null,null,1.046,false,22.0,4.4,7.0,-12.0,0.0],[87,true,true,null,24.0,1.0,null,null,1.02,false,25.0,5.0,13.0,-9.0,0.0],[165,true,true,null,8.0,1.0,null,null,1.065,false,8.300000000000001,1.66,8.300000000000001,-8.300000000000001,0.0],[1682,true,true,null,588.0,1.0,null,null,0.928,false,610.0,310.0,330.28000000000003,-165.240000000000009,0.0],[1683,true,true,null,588.0,1.0,null,null,0.933,false,610.0,310.0,297.670000000000016,-191.830000000000012,0.0],[1684,true,true,null,205.0,1.0,null,null,0.954,false,700.0,205.0,254.819999999999993,-293.650000000000034,0.0],[1685,true,true,null,48.0,1.0,null,null,0.957,false,50.0,10.0,15.6,-13.800000000000001,0.0],[1686,true,true,null,48.0,1.0,null,null,0.957,false,50.0,10.0,15.199999999999999,-14.199999999999999,0.0],[1687,true,true,null,48.0,1.0,null,null,0.957,false,50.0,10.0,15.81,-13.6,0.0],[1688,true,true,null,48.0,1.0,null,null,0.957,false,50.0,10.0,15.81,-13.6,0.0],[1689,true,true,null,48.0,1.0,null,null,0.957,false,50.0,10.0,15.81,-13.6,0.0],[1690,true,true,null,48.0,1.0,null,null,0.957,false,50.0,10.0,15.6,-13.800000000000001,0.0],[1691,true,true,null,965.0,1.0,null,null,0.972,false,1000.0,280.0,532.909999999999968,-90.140000000000001,0.0],[232,true,true,null,2.6,1.0,null,null,1.011,false,13.0,2.6,5.0,-5.0,0.0],[1692,true,true,null,965.0,1.0,null,null,0.973,false,1000.0,280.0,535.450000000000046,-87.609999999999999,0.0],[1693,true,true,null,965.0,1.0,null,null,0.974,false,1000.0,280.0,567.710000000000036,-88.299999999999997,0.0],[1695,true,true,null,55.0,1.0,null,null,0.983,false,57.0,11.4,17.350000000000001,-17.350000000000001,0.0],[1696,true,true,null,420.090000000000032,1.0,null,null,0.922,false,451.0,239.0,219.77000000000001,-155.719999999999999,0.0],[1697,true,true,null,21.0,1.0,null,null,0.95,false,63.0,21.0,51.25,-10.630000000000001,0.0],[1698,true,true,null,248.800000000000011,1.0,null,null,0.99,false,433.800000000000011,248.800000000000011,258.100000000000023,-182.180000000000007,0.0],[1699,true,true,null,81.810000000000002,1.0,null,null,0.95,false,168.170000000000016,81.810000000000002,71.210000000000008,-44.25,0.0],[1700,true,true,null,82.280000000000001,1.0,null,null,0.95,false,168.599999999999994,82.280000000000001,73.340000000000003,-37.689999999999998,0.0],[1701,true,true,null,53.909999999999997,1.0,null,null,0.95,false,248.210000000000008,53.909999999999997,113.530000000000001,-43.700000000000003,0.0],[1702,true,true,null,43.969999999999999,1.0,null,null,0.95,false,238.090000000000003,43.969999999999999,100.920000000000002,-59.359999999999999,0.0],[263,true,true,null,48.0,1.0,null,null,1.029,false,50.0,10.0,27.0,-9.0,0.0],[1703,true,true,null,229.689999999999998,1.0,null,null,0.95,false,919.690000000000055,229.689999999999998,525.139999999999986,-88.609999999999999,0.0],[1704,true,true,null,229.689999999999998,1.0,null,null,0.95,false,919.690000000000055,229.689999999999998,525.139999999999986,-88.609999999999999,0.0],[1705,true,true,null,236.689999999999998,1.0,null,null,0.95,false,926.690000000000055,236.689999999999998,526.769999999999982,-86.989999999999995,0.0],[1706,true,true,null,251.689999999999998,1.0,null,null,0.95,false,941.690000000000055,251.689999999999998,530.289999999999964,-83.480000000000004,0.0],[1707,true,true,null,30.0,1.0,null,null,0.96,false,32.0,6.4,10.32,-9.68,0.0],[1708,true,true,null,38.0,1.0,null,null,0.982,false,39.880000000000002,7.98,19.219999999999999,-17.670000000000002,0.0],[1709,true,true,null,38.0,1.0,null,null,0.982,false,39.880000000000002,7.98,19.34,-17.739999999999998,0.0],[1710,true,true,null,38.0,1.0,null,null,0.982,false,39.880000000000002,7.98,19.239999999999998,-17.66,0.0],[1711,true,true,null,1332.0,1.0,null,null,0.988,false,1380.0,340.0,398.389999999999986,-396.860000000000014,0.0],[1712,true,true,null,1332.0,1.0,null,null,0.985,false,1380.0,340.0,371.079999999999984,-424.160000000000025,0.0],[43,true,true,null,28.0,1.0,null,null,1.038,false,30.0,6.0,10.0,-4.0,0.0],[1713,true,true,null,4.8,1.0,null,null,0.964,false,24.0,4.8,5.35,-2.57,0.0],[1714,true,true,null,4.8,1.0,null,null,0.964,false,24.0,4.8,5.48,-2.43,0.0],[1715,true,true,null,4.86,1.0,null,null,0.964,false,24.0,4.8,5.0,-2.93,0.0],[1716,true,true,null,12.83,1.0,null,null,0.962,false,24.0,4.8,5.29,-2.63,0.0],[1717,true,true,null,9.199999999999999,1.0,null,null,0.975,false,23.989999999999998,4.8,10.0,-4.98,0.0],[1718,true,true,null,4.8,1.0,null,null,0.976,false,23.989999999999998,4.8,8.26,-6.79,0.0],[1719,true,true,null,4.8,1.0,null,null,0.976,false,23.989999999999998,4.8,10.17,-4.8,0.0],[1720,true,true,null,9.449999999999999,1.0,null,null,0.984,false,23.989999999999998,4.8,1.81,1.8,0.0],[1721,true,true,null,9.199999999999999,1.0,null,null,0.975,false,23.989999999999998,4.8,10.16,-4.81,0.0],[1722,true,true,null,27.0,1.0,null,null,0.984,false,28.98,5.8,12.23,-7.55,0.0],[785,true,true,null,13.0,1.0,null,null,1.036,false,13.800000000000001,2.76,4.63,-5.56,0.0],[1723,true,true,null,27.0,1.0,null,null,0.984,false,28.98,5.8,12.31,-7.46,0.0],[1724,true,true,null,1262.0,1.0,null,null,0.981,false,1308.0,288.0,615.090000000000032,-439.220000000000027,0.0],[1725,true,true,null,1262.0,1.0,null,null,0.98,false,1308.0,288.0,614.629999999999996,-439.670000000000016,0.0],[1726,true,true,null,442.0,1.0,null,null,0.95,false,458.259999999999991,89.260000000000005,255.900000000000006,-84.100000000000009,0.0],[1727,true,true,null,309.70999999999998,1.0,null,null,0.95,false,947.0,237.0,524.879999999999996,-98.230000000000004,0.0],[1728,true,true,null,313.550000000000011,1.0,null,null,0.95,false,947.0,267.0,528.269999999999982,-94.909999999999997,0.0],[1729,true,true,null,349.480000000000018,1.0,null,null,0.945,false,947.0,237.0,529.5,-93.670000000000002,0.0],[1730,true,true,null,328.639999999999986,1.0,null,null,0.948,false,947.0,237.0,528.590000000000032,-94.530000000000001,0.0],[1731,true,true,null,311.180000000000007,1.0,null,null,0.95,false,947.0,237.0,529.529999999999973,-93.650000000000006,0.0],[1732,true,true,null,237.0,1.0,null,null,0.95,false,947.0,237.0,504.129999999999995,-118.980000000000004,0.0],[348,true,true,null,11.82,1.0,null,null,1.047,false,41.399999999999999,8.279999999999999,12.42,-11.59,0.0],[1733,true,true,null,125.0,1.0,null,null,0.95,false,240.0,125.0,104.810000000000002,-37.310000000000002,0.0],[1734,true,true,null,33.880000000000002,1.0,null,null,0.997,false,169.400000000000006,33.880000000000002,69.060000000000002,-76.420000000000002,0.0],[1735,true,true,null,33.880000000000002,1.0,null,null,0.997,false,169.400000000000006,33.880000000000002,69.079999999999998,-76.5,0.0],[1736,true,true,null,33.880000000000002,1.0,null,null,0.996,false,169.400000000000006,33.880000000000002,68.920000000000002,-76.489999999999995,0.0],[1737,true,true,null,33.880000000000002,1.0,null,null,0.996,false,169.400000000000006,33.880000000000002,68.969999999999999,-76.689999999999998,0.0],[1738,true,true,null,33.880000000000002,1.0,null,null,0.997,false,169.400000000000006,33.880000000000002,69.100000000000009,-76.579999999999998,0.0],[1739,true,true,null,33.880000000000002,1.0,null,null,0.997,false,169.400000000000006,33.880000000000002,69.100000000000009,-76.540000000000006,0.0],[1740,true,true,null,33.880000000000002,1.0,null,null,0.996,false,169.400000000000006,33.880000000000002,68.670000000000002,-76.850000000000008,0.0],[1741,true,true,null,33.880000000000002,1.0,null,null,0.996,false,169.400000000000006,33.880000000000002,68.689999999999998,-76.920000000000002,0.0],[1742,true,true,null,265.509999999999991,1.0,null,null,0.95,false,456.800000000000011,216.800000000000011,272.899999999999977,-127.100000000000009,0.0],[96,true,true,null,26.0,1.0,null,null,1.036,false,130.0,26.0,59.0,-26.0,0.0],[1743,true,true,null,130.0,1.0,null,null,0.969,false,260.0,130.0,159.710000000000008,-80.290000000000006,0.0],[1745,true,true,null,250.0,1.0,null,null,0.951,false,585.0,250.0,199.310000000000002,-189.680000000000007,0.0],[1746,true,true,null,19.0,1.0,null,null,1.027,false,19.98,4.0,20.640000000000001,-19.149999999999999,0.0],[1747,true,true,null,23.0,1.0,null,null,1.026,false,23.98,4.8,20.43,-19.379999999999999,0.0],[1748,true,true,null,4.8,1.0,null,null,1.029,false,23.98,4.8,21.0,-18.66,0.0],[1749,true,true,null,4.8,1.0,null,null,1.029,false,23.98,4.8,20.73,-19.0,0.0],[1750,true,true,null,4.8,1.0,null,null,1.029,false,23.98,4.8,21.260000000000002,-18.370000000000001,0.0],[1751,true,true,null,4.8,1.0,null,null,1.029,false,23.98,4.8,21.260000000000002,-18.370000000000001,0.0],[1752,true,true,null,33.0,1.0,null,null,0.979,false,35.0,7.0,9.31,-8.35,0.0],[1753,true,true,null,33.0,1.0,null,null,0.979,false,35.0,7.0,9.119999999999999,-8.539999999999999,0.0],[689,true,true,null,20.0,1.0,null,null,1.05,false,21.0,4.2,8.0,-8.0,0.0],[1754,true,true,null,33.0,1.0,null,null,0.978,false,35.0,7.0,10.16,-13.09,0.0],[1755,true,true,null,33.0,1.0,null,null,0.979,false,35.0,7.0,9.31,-8.35,0.0],[1756,true,true,null,120.0,1.0,null,null,0.943,false,235.0,120.0,104.519999999999996,-144.759999999999991,0.0],[1757,true,true,null,70.0,1.0,null,null,1.024,false,73.0,14.6,47.310000000000002,-36.189999999999998,0.0],[1758,true,true,null,66.0,1.0,null,null,1.033,false,69.0,13.800000000000001,51.140000000000001,-32.549999999999997,0.0],[1759,true,true,null,74.0,1.0,null,null,1.023,false,77.5,15.5,46.310000000000002,-34.939999999999998,0.0],[1760,true,true,null,29.0,1.0,null,null,0.969,false,31.0,6.2,13.16,-10.68,0.0],[1761,true,true,null,29.0,1.0,null,null,0.969,false,31.0,6.2,13.31,-10.529999999999999,0.0],[1762,true,true,null,29.0,1.0,null,null,0.969,false,31.0,6.2,13.470000000000001,-10.369999999999999,0.0],[1763,true,true,null,48.0,1.0,null,null,0.934,false,50.0,10.0,28.899999999999999,-16.530000000000001,0.0],[955,true,true,null,51.0,1.0,null,null,1.039,false,53.0,10.6,17.0,-10.0,0.0],[1764,true,true,null,137.0,1.0,null,null,0.958,false,250.0,137.0,158.819999999999993,-22.050000000000001,0.0],[1765,true,true,null,137.0,1.0,null,null,0.96,false,250.0,137.0,157.289999999999992,-23.579999999999998,0.0],[1766,true,true,null,18.0,1.0,null,null,0.848,false,19.0,3.8,11.15,-8.85,0.0],[1767,true,true,null,201.900000000000006,1.0,null,null,0.988,false,419.900000000000034,201.900000000000006,198.930000000000007,-170.349999999999994,0.0],[1768,true,true,null,5.0,1.0,null,null,0.95,false,185.0,5.0,83.820000000000007,-43.789999999999999,0.0],[1769,true,true,null,5.0,1.0,null,null,0.95,false,185.0,5.0,83.820000000000007,-43.789999999999999,0.0],[1770,true,true,null,219.0,1.0,null,null,0.935,false,227.0,45.399999999999999,163.700000000000017,-87.820000000000007,0.0],[1771,true,true,null,219.0,1.0,null,null,0.93,false,227.0,45.399999999999999,179.990000000000009,-71.570000000000007,0.0],[1772,true,true,null,219.0,1.0,null,null,0.936,false,227.0,45.399999999999999,157.759999999999991,-93.799999999999997,0.0],[1773,true,true,null,219.0,1.0,null,null,0.936,false,227.0,45.399999999999999,158.099999999999994,-93.469999999999999,0.0],[879,true,true,null,17.920000000000002,1.0,null,null,1.027,false,27.0,5.4,10.0,-3.0,0.0],[1774,true,true,null,917.0,1.0,null,null,0.958,false,950.0,237.0,501.439999999999998,-91.780000000000001,0.0],[1775,true,true,null,917.0,1.0,null,null,0.958,false,950.0,237.0,505.620000000000004,-87.609999999999999,0.0],[1776,true,true,null,31.329999999999998,1.0,null,null,0.965,false,37.840000000000003,7.57,19.48,-19.300000000000001,0.0],[1777,true,true,null,31.329999999999998,1.0,null,null,0.965,false,37.840000000000003,7.57,19.600000000000001,-18.32,0.0],[1778,true,true,null,31.329999999999998,1.0,null,null,0.965,false,37.850000000000001,7.57,19.120000000000001,-18.550000000000001,0.0],[1779,true,true,null,305.0,1.0,null,null,0.95,false,316.0,168.0,175.050000000000011,-169.390000000000015,0.0],[1780,true,true,null,156.0,1.0,null,null,0.946,false,304.0,156.0,158.670000000000016,-184.580000000000012,0.0],[1781,true,true,null,289.0,1.0,null,null,0.95,false,1360.0,289.0,674.32000000000005,-130.169999999999988,0.0],[1782,true,true,null,58.0,1.0,null,null,0.961,false,61.0,12.199999999999999,27.09,-26.129999999999999,0.0],[1783,true,true,null,58.0,1.0,null,null,0.961,false,61.0,12.199999999999999,27.25,-25.969999999999999,0.0],[121,true,true,null,22.0,1.0,null,null,1.034,false,23.399999999999999,4.68,8.0,-17.0,0.0],[465,true,true,null,13.220000000000001,1.0,null,null,1.036,false,52.0,10.4,10.0,-13.0,0.0],[1784,true,true,null,34.0,1.0,null,null,1.025,false,35.950000000000003,7.19,19.170000000000002,-14.98,0.0],[1785,true,true,null,1100.1400000000001,1.0,null,null,0.958,false,1380.0,350.0,644.470000000000027,-185.530000000000001,0.0],[1786,true,true,null,991.730000000000018,1.0,null,null,0.965,false,1380.0,350.0,646.629999999999996,-183.289999999999992,0.0],[1787,true,true,null,999.0,1.0,null,null,0.965,false,1380.0,350.0,637.860000000000014,-181.25,0.0],[1788,true,true,null,350.0,1.0,null,null,0.967,false,1290.0,350.0,644.279999999999973,-185.670000000000016,0.0],[1789,true,true,null,49.0,1.0,null,null,1.006,false,51.0,0.8,26.57,-21.43,0.0],[1790,true,true,null,808.330000000000041,1.0,null,null,0.959,false,1380.0,340.0,637.769999999999982,-152.219999999999999,0.0],[1791,true,true,null,804.430000000000064,1.0,null,null,0.959,false,1380.0,340.0,629.930000000000064,-160.060000000000002,0.0],[1792,true,true,null,175.0,1.0,null,null,0.95,false,585.0,175.0,232.650000000000006,-116.230000000000004,0.0],[1793,true,true,null,175.0,1.0,null,null,0.95,false,585.0,175.0,232.650000000000006,-116.230000000000004,0.0],[1201,true,true,null,11.6,1.0,null,null,1.056,false,58.0,11.6,35.0,-35.0,0.0],[1794,true,true,null,188.0,1.0,null,null,0.95,false,598.0,188.0,314.579999999999984,-33.18,0.0],[1795,true,true,null,175.0,1.0,null,null,0.952,false,585.0,175.0,231.390000000000015,-116.609999999999999,0.0],[1796,true,true,null,36.0,1.0,null,null,0.972,false,38.0,7.6,1.0,0.9,0.0],[1797,true,true,null,236.0,1.0,null,null,0.929,false,245.0,85.0,117.719999999999999,-80.390000000000001,0.0],[1798,true,true,null,582.740000000000009,1.0,null,null,0.927,false,605.0,295.0,219.390000000000015,-168.090000000000003,0.0],[1799,true,true,null,55.0,1.0,null,null,1.014,false,58.0,11.6,59.630000000000002,-30.370000000000001,0.0],[1800,true,true,null,230.800000000000011,1.0,null,null,0.958,false,439.800000000000011,230.800000000000011,187.439999999999998,-1.27,0.0],[1801,true,true,null,77.0,1.0,null,null,1.036,false,80.0,16.0,8.16,-16.52,0.0],[1802,true,true,null,77.0,1.0,null,null,1.036,false,80.0,16.0,8.16,-16.52,0.0],[1803,true,true,null,77.0,1.0,null,null,1.036,false,80.0,16.0,8.119999999999999,-16.559999999999999,0.0],[347,true,true,null,59.0,1.0,null,null,1.05,false,62.0,12.4,40.0,-40.0,0.0],[1804,true,true,null,30.0,1.0,null,null,1.036,false,32.0,6.4,19.16,-10.84,0.0],[1805,true,true,null,6.4,1.0,null,null,1.037,false,32.0,6.4,15.75,-14.25,0.0],[1806,true,true,null,30.0,1.0,null,null,1.036,false,32.0,6.4,19.16,-10.84,0.0],[1807,true,true,null,28.129999999999999,1.0,null,null,1.034,false,32.0,6.4,15.75,-14.25,0.0],[1808,true,true,null,36.0,1.0,null,null,0.982,false,180.0,36.0,110.990000000000009,-94.450000000000003,0.0],[1809,true,true,null,36.0,1.0,null,null,1.003,false,180.0,36.0,105.25,-101.329999999999998,0.0],[1810,true,true,null,36.0,1.0,null,null,0.982,false,180.0,36.0,110.689999999999998,-94.739999999999995,0.0],[1811,true,true,null,36.0,1.0,null,null,0.982,false,180.0,36.0,110.670000000000002,-94.760000000000005,0.0],[1812,true,true,null,23.359999999999999,1.0,null,null,0.964,false,37.649999999999999,7.53,11.32,-8.109999999999999,0.0],[1813,true,true,null,24.57,1.0,null,null,0.964,false,37.649999999999999,7.53,11.25,-8.16,0.0],[462,true,true,null,0.91,1.0,null,null,1.037,false,78.0,15.6,1.0,0.0,0.0],[1814,true,true,null,7.53,1.0,null,null,0.967,false,37.640000000000001,7.53,11.119999999999999,-8.27,0.0],[1815,true,true,null,38.0,1.0,null,null,1.028,false,39.969999999999999,1.0,7.16,-12.41,0.0],[1816,true,true,null,38.0,1.0,null,null,1.028,false,39.969999999999999,1.0,7.4,-12.15,0.0],[1817,true,true,null,42.0,1.0,null,null,1.001,false,44.0,8.800000000000001,10.619999999999999,-10.08,0.0],[1818,true,true,null,29.0,1.0,null,null,0.971,false,31.0,6.2,18.75,-13.93,0.0],[1819,true,true,null,31.0,1.0,null,null,0.948,false,33.0,6.6,16.719999999999999,-13.279999999999999,0.0],[1820,true,true,null,125.0,1.0,null,null,1.003,false,130.0,26.0,26.989999999999998,-17.460000000000001,0.0],[1821,true,true,null,1285.0,1.0,null,null,0.952,false,1332.0,282.0,640.850000000000023,-149.370000000000005,0.0],[1822,true,true,null,1285.0,1.0,null,null,0.952,false,1332.0,282.0,634.519999999999982,-155.700000000000017,0.0],[1823,true,true,null,150.0,1.0,null,null,0.97,false,285.0,150.0,164.140000000000015,14.19,0.0],[1297,true,true,null,10.0,1.0,null,null,1.039,false,11.0,2.2,1.0,0.9,0.0],[1824,true,true,null,225.0,1.0,null,null,0.961,false,595.0,225.0,221.300000000000011,-146.700000000000017,0.0],[1825,true,true,null,127.0,1.0,null,null,0.949,false,443.0,127.0,89.219999999999999,29.219999999999999,0.0],[1827,true,true,null,48.0,1.0,null,null,0.962,false,50.0,10.0,25.510000000000002,-26.68,0.0],[1828,true,true,null,48.0,1.0,null,null,0.961,false,50.0,10.0,26.129999999999999,-26.050000000000001,0.0],[1829,true,true,null,82.0,1.0,null,null,0.917,false,85.0,17.0,50.469999999999999,-24.649999999999999,0.0],[1830,true,true,null,920.0,1.0,null,null,0.948,false,953.370000000000005,233.370000000000005,543.740000000000009,-110.400000000000006,0.0],[1831,true,true,null,923.0,1.0,null,null,0.948,false,956.370000000000005,236.370000000000005,540.340000000000032,-113.799999999999997,0.0],[1832,true,true,null,47.0,1.0,null,null,0.977,false,49.0,9.800000000000001,18.530000000000001,-19.030000000000001,0.0],[1833,true,true,null,47.0,1.0,null,null,0.977,false,49.0,9.800000000000001,18.530000000000001,-19.030000000000001,0.0],[1834,true,true,null,18.350000000000001,1.0,null,null,1.042,false,23.690000000000001,4.74,8.619999999999999,-1.44,0.0],[198,true,true,null,0.16,1.0,null,null,1.022,false,23.5,4.7,8.0,-8.0,0.0],[1835,true,true,null,4.74,1.0,null,null,1.045,false,23.690000000000001,4.74,8.619999999999999,-1.44,0.0],[1836,true,true,null,18.34,1.0,null,null,1.042,false,23.690000000000001,4.74,8.619999999999999,-1.44,0.0],[1837,true,true,null,18.350000000000001,1.0,null,null,1.042,false,23.690000000000001,4.74,8.550000000000001,-1.52,0.0],[1838,true,true,null,32.200000000000003,1.0,null,null,1.066,false,161.0,32.200000000000003,86.739999999999995,-73.260000000000005,0.0],[1839,true,true,null,32.200000000000003,1.0,null,null,1.066,false,161.0,32.200000000000003,86.739999999999995,-73.260000000000005,0.0],[1840,true,true,null,32.200000000000003,1.0,null,null,1.066,false,161.0,32.200000000000003,86.739999999999995,-73.260000000000005,0.0],[1841,true,true,null,32.200000000000003,1.0,null,null,1.066,false,161.0,32.200000000000003,86.739999999999995,-73.260000000000005,0.0],[1842,true,true,null,950.0,1.0,null,null,0.992,false,985.0,275.0,414.210000000000036,-99.120000000000005,0.0],[1843,true,true,null,950.0,1.0,null,null,0.994,false,985.0,275.0,403.28000000000003,-110.079999999999998,0.0],[1844,true,true,null,950.0,1.0,null,null,0.993,false,985.0,275.0,416.569999999999993,-96.769999999999996,0.0],[1608,true,true,null,200.0,1.0,null,null,0.95,false,670.0,200.0,155.300000000000011,-217.550000000000011,0.0],[1845,true,true,null,950.0,1.0,null,null,0.993,false,985.0,275.0,416.79000000000002,-96.560000000000002,0.0],[1846,true,true,null,72.0,1.0,null,null,0.964,false,185.0,72.0,83.560000000000002,-45.770000000000003,0.0],[1847,true,true,null,72.0,1.0,null,null,0.964,false,185.0,72.0,83.560000000000002,-43.869999999999998,0.0],[1848,true,true,null,72.0,1.0,null,null,0.979,false,185.0,72.0,83.560000000000002,-43.869999999999998,0.0],[1849,true,true,null,138.0,1.0,null,null,0.941,false,268.0,138.0,140.780000000000001,-68.25,0.0],[1850,true,true,null,138.0,1.0,null,null,0.938,false,268.0,138.0,135.780000000000001,-73.25,0.0],[1851,true,true,null,33.0,1.0,null,null,0.978,false,34.969999999999999,6.99,12.09,-19.969999999999999,0.0],[1852,true,true,null,33.0,1.0,null,null,0.978,false,34.969999999999999,6.99,12.09,-19.969999999999999,0.0],[1853,true,true,null,24.620000000000001,1.0,null,null,0.963,false,34.960000000000001,6.99,12.08,-20.0,0.0],[1854,true,true,null,131.0,1.0,null,null,0.959,false,136.0,27.199999999999999,106.950000000000003,-73.049999999999997,0.0],[1609,true,true,null,450.03000000000003,1.0,null,null,0.95,false,700.0,140.0,231.390000000000015,-190.580000000000012,0.0],[1855,true,true,null,123.0,1.0,null,null,0.962,false,128.0,25.600000000000001,100.680000000000007,-69.320000000000007,0.0],[1610,true,true,null,26.0,1.0,null,null,0.885,false,27.0,5.4,24.620000000000001,-15.380000000000001,0.0],[1611,true,true,null,83.0,1.0,null,null,0.928,false,86.0,17.199999999999999,43.859999999999999,-8.5,0.0],[890,true,true,null,19.0,1.0,null,null,1.035,false,20.0,4.0,2.0,1.9,0.0],[1612,true,true,null,9.800000000000001,1.0,null,null,0.93,false,49.0,9.800000000000001,22.190000000000001,-9.73,0.0],[1613,true,true,null,30.0,1.0,null,null,1.034,false,32.0,6.4,8.359999999999999,-8.359999999999999,0.0],[1614,true,true,null,30.0,1.0,null,null,1.034,false,32.0,6.4,8.359999999999999,-8.359999999999999,0.0],[1615,true,true,null,30.0,1.0,null,null,1.034,false,32.0,6.4,8.15,-8.57,0.0],[1616,true,true,null,30.0,1.0,null,null,1.034,false,32.0,6.4,8.15,-8.57,0.0],[1617,true,true,null,88.0,1.0,null,null,1.01,false,92.0,18.399999999999999,54.57,-35.43,0.0],[1618,true,true,null,88.0,1.0,null,null,1.031,false,92.0,18.399999999999999,56.479999999999997,-33.520000000000003,0.0],[1619,true,true,null,912.0,1.0,null,null,1.0,false,945.080000000000041,255.069999999999993,421.389999999999986,-376.620000000000004,0.0],[1620,true,true,null,944.0,1.0,null,null,0.999,false,978.039999999999964,288.050000000000011,428.829999999999984,-369.20999999999998,0.0],[1621,true,true,null,942.0,1.0,null,null,0.999,false,976.080000000000041,256.079999999999984,428.069999999999993,-369.920000000000016,0.0],[801,true,true,null,13.0,1.0,null,null,1.039,false,14.0,2.8,1.0,0.9,0.0],[1622,true,true,null,910.0,1.0,null,null,1.0,false,943.080000000000041,253.069999999999993,420.860000000000014,-377.129999999999995,0.0],[1623,true,true,null,156.0,1.0,null,null,0.954,false,252.0,156.0,153.030000000000001,-90.230000000000004,0.0],[1624,true,true,null,154.0,1.0,null,null,0.954,false,250.0,154.0,152.439999999999998,-90.810000000000002,0.0],[1625,true,true,null,154.0,1.0,null,null,0.977,false,250.0,154.0,105.680000000000007,-58.280000000000001,0.0],[1626,true,true,null,122.0,1.0,null,null,0.983,false,305.0,122.0,228.810000000000002,-159.909999999999997,0.0],[1627,true,true,null,89.0,1.0,null,null,0.986,false,155.0,89.0,94.320000000000007,-74.640000000000001,0.0],[1628,true,true,null,11.6,1.0,null,null,0.988,false,58.0,11.6,21.649999999999999,-18.77,0.0],[1629,true,true,null,37.93,1.0,null,null,0.988,false,58.0,11.6,16.010000000000002,-10.66,0.0],[1630,true,true,null,11.6,1.0,null,null,0.988,false,58.0,11.6,21.469999999999999,-18.949999999999999,0.0],[1631,true,true,null,38.049999999999997,1.0,null,null,0.988,false,58.0,11.6,16.050000000000001,-10.619999999999999,0.0],[1312,true,true,null,28.0,1.0,null,null,1.021,false,30.0,6.0,10.0,-10.0,0.0],[1632,true,true,null,37.390000000000001,1.0,null,null,0.988,false,58.0,11.6,15.81,-10.859999999999999,0.0],[1633,true,true,null,133.0,1.0,null,null,0.95,false,263.0,133.0,146.450000000000017,-90.180000000000007,0.0],[1634,true,true,null,43.0,1.0,null,null,1.045,false,44.960000000000001,8.99,50.670000000000002,-38.090000000000003,0.0],[1635,true,true,null,30.0,1.0,null,null,1.048,false,32.0,6.4,19.75,-16.25,0.0],[1636,true,true,null,903.0,1.0,null,null,0.963,false,936.289999999999964,266.29000000000002,530.990000000000009,-158.22999999999999,0.0],[1637,true,true,null,910.0,1.0,null,null,0.946,false,942.82000000000005,272.819999999999993,533.690000000000055,-156.069999999999993,0.0],[1638,true,true,null,892.0,1.0,null,null,0.964,false,924.279999999999973,274.28000000000003,537.680000000000064,-152.819999999999993,0.0],[1639,true,true,null,890.0,1.0,null,null,0.946,false,922.800000000000068,272.800000000000011,529.889999999999986,-160.890000000000015,0.0],[1640,true,true,null,318.0,1.0,null,null,0.945,false,1308.0,318.0,681.039999999999964,-153.0,0.0],[1641,true,true,null,318.0,1.0,null,null,0.948,false,1308.0,318.0,681.029999999999973,-153.0,0.0],[388,true,true,null,10.0,1.0,null,null,1.015,false,11.0,2.2,5.0,1.0,0.0],[1642,true,true,null,33.0,1.0,null,null,1.029,false,35.0,7.0,6.08,-1.92,0.0],[1643,true,true,null,33.0,1.0,null,null,1.029,false,35.0,7.0,6.21,-1.79,0.0],[1644,true,true,null,33.0,1.0,null,null,1.029,false,35.0,7.0,6.21,-1.79,0.0],[1645,true,true,null,33.0,1.0,null,null,1.029,false,35.0,7.0,6.11,-1.89,0.0],[1646,true,true,null,33.0,1.0,null,null,1.029,false,35.0,7.0,6.11,-1.89,0.0],[1647,true,true,null,33.0,1.0,null,null,1.029,false,35.0,7.0,6.11,-1.89,0.0],[1648,true,true,null,35.0,1.0,null,null,0.979,false,36.969999999999999,7.39,18.449999999999999,-13.16,0.0],[1649,true,true,null,35.0,1.0,null,null,0.979,false,36.969999999999999,7.39,18.449999999999999,-13.16,0.0],[1650,true,true,null,35.0,1.0,null,null,0.979,false,36.969999999999999,7.39,18.449999999999999,-11.35,0.0],[1651,true,true,null,35.0,1.0,null,null,0.979,false,36.969999999999999,7.39,18.109999999999999,-11.699999999999999,0.0],[957,true,true,null,7.0,1.0,null,null,1.05,false,35.0,7.0,15.0,-15.0,0.0],[1652,true,true,null,35.0,1.0,null,null,0.978,false,36.969999999999999,7.39,18.210000000000001,-13.41,0.0],[1653,true,true,null,35.0,1.0,null,null,0.978,false,36.969999999999999,7.39,18.550000000000001,-13.050000000000001,0.0],[1654,true,true,null,19.0,1.0,null,null,0.942,false,20.0,4.0,12.32,-7.68,0.0],[1655,true,true,null,29.0,1.0,null,null,0.978,false,30.98,6.2,17.850000000000001,-13.789999999999999,0.0],[1656,true,true,null,29.0,1.0,null,null,0.978,false,30.98,6.2,17.850000000000001,-13.789999999999999,0.0],[1657,true,true,null,29.0,1.0,null,null,0.978,false,30.98,6.2,18.010000000000002,-13.619999999999999,0.0],[1658,true,true,null,29.0,1.0,null,null,0.978,false,30.98,6.2,18.010000000000002,-13.619999999999999,0.0],[1659,true,true,null,29.0,1.0,null,null,0.979,false,30.98,6.2,17.890000000000001,-13.75,0.0],[1660,true,true,null,29.0,1.0,null,null,0.979,false,30.98,6.2,17.739999999999998,-13.91,0.0],[1661,true,true,null,1283.0,1.0,null,null,0.947,false,1330.0,337.0,656.060000000000059,-184.890000000000015,0.0],[903,true,true,null,40.0,1.0,null,null,1.045,false,42.0,8.4,25.0,-20.0,0.0],[1662,true,true,null,1114.279999999999973,1.0,null,null,0.952,false,1360.0,367.0,656.919999999999959,-183.900000000000006,0.0],[1663,true,true,null,1088.809999999999945,1.0,null,null,0.953,false,1360.0,367.0,648.029999999999973,-192.800000000000011,0.0],[1664,true,true,null,1.45,1.0,null,null,0.916,false,1.5,1.4,281.45999999999998,-103.909999999999997,0.0],[1665,true,true,null,48.0,1.0,null,null,1.003,false,240.0,48.0,94.030000000000001,-45.969999999999999,0.0],[1666,true,true,null,48.0,1.0,null,null,1.003,false,240.0,48.0,95.109999999999999,-44.890000000000001,0.0],[1667,true,true,null,910.0,1.0,null,null,0.95,false,942.720000000000027,232.719999999999999,524.600000000000023,-107.200000000000003,0.0],[1668,true,true,null,920.0,1.0,null,null,0.95,false,953.740000000000009,243.740000000000009,511.639999999999986,-99.079999999999998,0.0],[1669,true,true,null,919.0,1.0,null,null,0.949,false,952.740000000000009,242.740000000000009,555.409999999999968,-99.320000000000007,0.0],[1670,true,true,null,598.269999999999982,1.0,null,null,0.944,false,1503.0,403.0,682.279999999999973,-126.359999999999999,0.0],[1671,true,true,null,505.800000000000011,1.0,null,null,0.95,false,1503.0,403.0,687.169999999999959,-121.659999999999997,0.0],[1233,true,true,null,15.609999999999999,1.0,null,null,1.046,false,87.0,17.399999999999999,26.100000000000001,-24.359999999999999,0.0],[1672,true,true,null,1446.0,1.0,null,null,0.973,false,1498.0,398.0,409.449999999999989,-352.29000000000002,0.0],[1673,true,true,null,1446.0,1.0,null,null,0.971,false,1498.0,398.0,409.420000000000016,-352.329999999999984,0.0],[1674,true,true,null,15.0,1.0,null,null,1.077,false,75.0,15.0,51.880000000000002,-38.439999999999998,0.0],[1675,true,true,null,15.0,1.0,null,null,1.077,false,75.0,15.0,51.880000000000002,-38.439999999999998,0.0],[1676,true,true,null,15.0,1.0,null,null,1.077,false,75.0,15.0,51.880000000000002,-38.439999999999998,0.0],[1677,true,true,null,15.0,1.0,null,null,1.077,false,75.0,15.0,51.880000000000002,-38.439999999999998,0.0],[1678,true,true,null,91.0,1.0,null,null,0.957,false,95.0,8.5,104.120000000000005,-61.399999999999999,0.0],[1679,true,true,null,91.0,1.0,null,null,0.957,false,95.0,8.5,103.939999999999998,-61.579999999999998,0.0],[1680,true,true,null,4.2,1.0,null,null,0.961,false,148.200000000000017,4.2,86.670000000000002,-10.65,0.0],[1681,true,true,null,180.0,1.0,null,null,0.95,false,685.0,180.0,220.219999999999999,-59.170000000000002,0.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -96,7 +158,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "switch": { @@ -133,7 +196,7 @@ "ext_grid": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0],\"data\":[[1246,true,null,-31.422612300000001,1.027,45.0,44.0,27.0,-9.0]]}", + "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0],\"data\":[[1246,true,null,-31.422612300000001,1.027,45.0,44.0,27.0,-9.0,1.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -144,7 +207,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "line": { @@ -297,7 +361,7 @@ "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\",\"in_service\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"ps_mw\",\"qs_mvar\",\"qz_mvar\",\"pz_mw\",\"r_ohm\",\"x_ohm\",\"vm_pu\",\"in_service\",\"slack_weight\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "name": "object", @@ -309,7 +373,8 @@ "r_ohm": "float64", "x_ohm": "float64", "vm_pu": "float64", - "in_service": "bool" + "in_service": "bool", + "slack_weight": "float64" } }, "measurement": { @@ -358,13 +423,14 @@ "controller": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"recycle\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"initial_run\",\"recycle\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "object": "object", "in_service": "bool", "order": "float64", "level": "object", + "initial_run": "bool", "recycle": "bool" } }, @@ -388,11 +454,11 @@ "coords": "object" } }, - "version": "2.2.1", + "version": "2.7.1", "converged": true, "name": "", "f_hz": 50, - "sn_mva": 1.0, + "sn_mva": 100, "std_types": { "line": { "NAYY 4x150 SE": { @@ -1272,6 +1338,16 @@ "q_mvar": "float64" } }, + "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" + } + }, "res_sgen": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -1356,6 +1432,341 @@ "va_to_degree": "float64" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_bus_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_line_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo3w_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_ext_grid_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_gen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_sgen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_shunt_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "user_pf_options": {}, "OPF_converged": false } diff --git a/pandapower/networks/power_system_test_case_jsons/case24_ieee_rts.json b/pandapower/networks/power_system_test_case_jsons/case24_ieee_rts.json index 36e0b1be7..0cd56fada 100644 --- a/pandapower/networks/power_system_test_case_jsons/case24_ieee_rts.json +++ b/pandapower/networks/power_system_test_case_jsons/case24_ieee_rts.json @@ -58,6 +58,68 @@ "min_q_mvar": "float64" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "storage": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -80,7 +142,7 @@ "gen": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0,1,2,3,4,5,6,7,8,9],\"data\":[[0,true,true,null,10.0,1.0,null,null,1.035,false,20.0,16.0,10.0,0.0],[1,true,true,null,10.0,1.0,null,null,1.035,false,20.0,16.0,10.0,0.0],[6,true,true,null,80.0,1.0,null,null,1.025,false,100.0,25.0,60.0,0.0],[13,true,true,null,0.0,1.0,null,null,0.98,false,0.0,0.0,200.0,-50.0],[14,true,true,null,12.0,1.0,null,null,1.014,false,12.0,2.4,6.0,0.0],[15,true,true,null,155.0,1.0,null,null,1.017,false,155.0,54.299999999999997,80.0,-50.0],[17,true,true,null,400.0,1.0,null,null,1.05,false,400.0,100.0,200.0,-50.0],[20,true,true,null,400.0,1.0,null,null,1.05,false,400.0,100.0,200.0,-50.0],[21,true,true,null,50.0,1.0,null,null,1.05,false,50.0,10.0,16.0,-10.0],[22,true,true,null,155.0,1.0,null,null,1.05,false,155.0,54.299999999999997,80.0,-50.0]]}", + "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0,1,2,3,4,5,6,7,8,9],\"data\":[[0,true,true,null,10.0,1.0,null,null,1.035,false,20.0,16.0,10.0,0.0,0.0],[1,true,true,null,10.0,1.0,null,null,1.035,false,20.0,16.0,10.0,0.0,0.0],[6,true,true,null,80.0,1.0,null,null,1.025,false,100.0,25.0,60.0,0.0,0.0],[13,true,true,null,0.0,1.0,null,null,0.98,false,0.0,0.0,200.0,-50.0,0.0],[14,true,true,null,12.0,1.0,null,null,1.014,false,12.0,2.4,6.0,0.0,0.0],[15,true,true,null,155.0,1.0,null,null,1.017,false,155.0,54.299999999999997,80.0,-50.0,0.0],[17,true,true,null,400.0,1.0,null,null,1.05,false,400.0,100.0,200.0,-50.0,0.0],[20,true,true,null,400.0,1.0,null,null,1.05,false,400.0,100.0,200.0,-50.0,0.0],[21,true,true,null,50.0,1.0,null,null,1.05,false,50.0,10.0,16.0,-10.0,0.0],[22,true,true,null,155.0,1.0,null,null,1.05,false,155.0,54.299999999999997,80.0,-50.0,0.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -96,7 +158,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "switch": { @@ -133,7 +196,7 @@ "ext_grid": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0],\"data\":[[12,true,null,0.0,1.02,197.0,69.0,80.0,0.0]]}", + "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0],\"data\":[[12,true,null,0.0,1.02,197.0,69.0,80.0,0.0,1.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -144,7 +207,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "line": { @@ -297,7 +361,7 @@ "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\",\"in_service\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"ps_mw\",\"qs_mvar\",\"qz_mvar\",\"pz_mw\",\"r_ohm\",\"x_ohm\",\"vm_pu\",\"in_service\",\"slack_weight\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "name": "object", @@ -309,7 +373,8 @@ "r_ohm": "float64", "x_ohm": "float64", "vm_pu": "float64", - "in_service": "bool" + "in_service": "bool", + "slack_weight": "float64" } }, "measurement": { @@ -358,13 +423,14 @@ "controller": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"recycle\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"initial_run\",\"recycle\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "object": "object", "in_service": "bool", "order": "float64", "level": "object", + "initial_run": "bool", "recycle": "bool" } }, @@ -388,11 +454,11 @@ "coords": "object" } }, - "version": "2.2.1", + "version": "2.7.1", "converged": true, "name": "", "f_hz": 60, - "sn_mva": 1.0, + "sn_mva": 100, "std_types": { "line": { "NAYY 4x150 SE": { @@ -1272,6 +1338,16 @@ "q_mvar": "float64" } }, + "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" + } + }, "res_sgen": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -1356,6 +1432,341 @@ "va_to_degree": "float64" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_bus_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_line_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo3w_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_ext_grid_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_gen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_sgen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_shunt_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "user_pf_options": {}, "OPF_converged": false } diff --git a/pandapower/networks/power_system_test_case_jsons/case2848rte.json b/pandapower/networks/power_system_test_case_jsons/case2848rte.json index d2d401291..7c5ce5b8b 100644 --- a/pandapower/networks/power_system_test_case_jsons/case2848rte.json +++ b/pandapower/networks/power_system_test_case_jsons/case2848rte.json @@ -58,6 +58,68 @@ "min_q_mvar": "float64" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "storage": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -80,7 +142,7 @@ "gen": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0,1,10,100,101,102,103,104,105,106,107,108,109,11,110,111,112,113,114,115,116,117,118,119,12,120,121,122,123,124,125,126,127,128,129,13,130,131,132,133,134,135,136,137,138,139,14,140,141,142,143,144,145,146,147,148,149,15,150,151,152,153,154,155,156,157,158,159,16,160,161,162,163,164,165,166,167,168,169,17,170,171,172,173,174,175,176,177,178,179,18,180,181,182,183,184,185,186,187,188,189,19,190,191,192,193,194,195,196,197,198,199,2,20,200,201,202,203,204,205,206,207,208,209,21,210,211,212,213,214,215,216,217,218,219,22,220,221,222,223,224,225,226,227,228,229,23,230,231,232,233,234,235,236,237,238,239,24,240,241,242,243,244,245,246,247,248,249,25,250,251,252,253,254,255,256,257,258,259,26,260,261,262,263,264,265,266,267,268,269,27,270,271,272,273,274,275,276,277,278,279,28,280,281,282,283,284,285,286,287,288,289,29,290,291,292,293,294,295,296,297,298,299,3,30,300,301,302,303,304,305,306,307,308,309,31,310,311,312,313,314,315,316,317,318,319,32,320,321,322,323,324,325,326,327,328,329,33,330,331,332,333,334,335,336,337,338,339,34,340,341,342,343,344,345,346,347,348,349,35,350,351,352,353,354,355,356,357,358,359,36,360,361,362,363,364,365,366,367,368,37,38,39,4,40,41,42,43,44,45,46,47,48,49,5,50,51,52,53,54,55,56,57,58,59,6,60,61,62,63,64,65,66,67,68,69,7,70,71,72,73,74,75,76,77,78,79,8,80,81,82,83,84,85,86,87,88,89,9,90,91,92,93,94,95,96,97,98,99],\"data\":[[1522,true,true,null,7.0,1.0,null,null,1.037,false,35.0,7.0,15.0,-15.0],[1442,true,true,null,20.27,1.0,null,null,1.059,false,36.100000000000001,7.22,20.0,-15.0],[1749,true,true,null,15.76,1.0,null,null,1.015,false,40.0,1.0,6.0,-6.0],[136,true,true,null,13.99,1.0,null,null,1.038,false,15.0,3.0,9.0,-9.0],[651,true,true,null,5.0,1.0,null,null,1.012,false,50.0,5.0,22.0,-10.0],[141,true,true,null,-5.91,1.0,null,null,1.047,false,0.0,-7.0,0.0,0.0],[2200,true,true,null,8.99,1.0,null,null,1.0,false,9.6,1.92,6.0,-6.0],[151,true,true,null,24.0,1.0,null,null,1.042,false,25.0,5.0,13.0,-9.0],[1436,true,true,null,8.4,1.0,null,null,0.971,false,42.0,8.4,25.0,-20.0],[755,true,true,null,2.2,1.0,null,null,1.028,false,11.0,2.2,5.0,-5.0],[1565,true,true,null,10.0,1.0,null,null,1.063,false,50.0,10.0,28.0,-28.0],[311,true,true,null,24.32,1.0,null,null,1.052,false,39.0,7.8,18.0,-18.0],[764,true,true,null,14.640000000000001,1.0,null,null,1.041,false,28.899999999999999,5.78,18.0,-18.0],[1275,true,true,null,4.88,1.0,null,null,1.08,false,12.0,2.4,1.0,0.9],[1931,true,true,null,0.88,1.0,null,null,1.042,false,2.0,0.0,1.0,-1.0],[1900,true,true,null,3.46,1.0,null,null,1.028,false,5.0,0.0,2.0,-2.0],[2136,true,true,null,34.0,1.0,null,null,1.044,false,170.0,34.0,70.0,-80.0],[2137,true,true,null,34.0,1.0,null,null,1.044,false,170.0,34.0,70.0,-80.0],[2141,true,true,null,30.0,1.0,null,null,1.044,false,150.0,30.0,70.0,-70.0],[2138,true,true,null,34.0,1.0,null,null,1.044,false,170.0,34.0,70.0,-80.0],[2139,true,true,null,34.0,1.0,null,null,1.044,false,170.0,34.0,70.0,-80.0],[1142,true,true,null,14.99,1.0,null,null,1.048,false,16.0,3.2,12.0,-9.0],[1869,true,true,null,3.8,1.0,null,null,0.987,false,19.0,3.8,5.0,-5.0],[396,true,true,null,4.07,1.0,null,null,1.013,false,13.0,2.6,5.0,-5.0],[644,true,true,null,5.0,1.0,null,null,1.011,false,50.0,5.0,22.0,-10.0],[2225,true,true,null,18.309999999999999,1.0,null,null,1.063,false,35.100000000000001,7.02,12.0,-21.0],[2223,true,true,null,15.390000000000001,1.0,null,null,1.038,false,35.100000000000001,7.02,12.0,-21.0],[2224,true,true,null,17.530000000000001,1.0,null,null,1.063,false,35.100000000000001,7.02,12.0,-21.0],[1068,true,true,null,4.8,1.0,null,null,1.058,false,24.0,4.8,20.0,-20.0],[1066,true,true,null,4.8,1.0,null,null,1.058,false,24.0,4.8,20.0,-20.0],[1067,true,true,null,4.48,1.0,null,null,1.058,false,20.0,4.0,20.0,-20.0],[1065,true,true,null,4.8,1.0,null,null,1.058,false,24.0,4.8,20.0,-20.0],[1063,true,true,null,4.8,1.0,null,null,1.058,false,24.0,4.8,20.0,-20.0],[1064,true,true,null,4.81,1.0,null,null,1.058,false,24.0,4.8,20.0,-20.0],[745,true,true,null,23.899999999999999,1.0,null,null,1.042,false,52.0,10.4,10.0,-13.0],[325,true,true,null,1.2,1.0,null,null,1.054,false,6.0,1.2,0.0,0.0],[1608,true,true,null,1.21,1.0,null,null,1.043,false,3.0,0.0,1.8,-1.8],[1371,true,true,null,7.6,1.0,null,null,1.035,false,38.0,7.6,20.0,-20.0],[1372,true,true,null,16.5,1.0,null,null,1.035,false,38.0,7.6,20.0,-20.0],[1374,true,true,null,16.550000000000001,1.0,null,null,1.035,false,38.0,7.6,20.0,-19.0],[1373,true,true,null,16.390000000000001,1.0,null,null,1.035,false,38.0,7.6,20.0,-19.0],[365,true,true,null,24.989999999999998,1.0,null,null,1.035,false,27.0,5.4,10.0,-10.0],[1865,true,true,null,11.99,1.0,null,null,1.053,false,13.0,2.6,13.0,0.0],[1540,true,true,null,12.0,1.0,null,null,1.059,false,12.800000000000001,2.56,7.6,-7.6],[73,true,true,null,3.58,1.0,null,null,1.0,false,17.899999999999999,3.58,10.0,-13.0],[1405,true,true,null,5.4,1.0,null,null,0.96,false,27.0,5.4,10.0,-3.0],[324,true,true,null,1.2,1.0,null,null,1.058,false,6.0,1.2,0.0,0.0],[2115,true,true,null,28.0,1.0,null,null,1.042,false,30.0,6.0,10.0,-10.0],[740,true,true,null,58.280000000000001,1.0,null,null,1.047,false,78.0,15.6,1.0,0.0],[164,true,true,null,106.329999999999998,1.0,null,null,1.02,false,130.0,26.0,59.0,-26.0],[300,true,true,null,2.15,1.0,null,null,0.998,false,4.0,0.0,2.5,-2.5],[1822,true,true,null,3.09,1.0,null,null,0.982,false,5.0,0.0,2.0,-2.0],[20,true,true,null,12.0,1.0,null,null,1.049,false,13.0,2.6,1.0,0.9],[1011,true,true,null,2.5,1.0,null,null,1.047,false,24.0,2.5,8.0,-8.0],[619,true,true,null,8.289999999999999,1.0,null,null,1.034,false,13.0,2.6,7.0,-5.0],[315,true,true,null,21.699999999999999,1.0,null,null,1.055,false,26.600000000000001,5.32,15.0,-15.0],[1054,true,true,null,25.989999999999998,1.0,null,null,1.034,false,28.0,5.6,12.0,-9.0],[152,true,true,null,10.32,1.0,null,null,1.066,false,13.0,2.6,5.0,-6.0],[355,true,true,null,1.0,1.0,null,null,1.03,false,32.0,1.0,6.0,-9.0],[356,true,true,null,26.870000000000001,1.0,null,null,1.031,false,32.0,1.0,6.0,-9.0],[2132,true,true,null,12.24,1.0,null,null,1.049,false,27.0,5.4,18.0,-18.0],[509,true,true,null,1.4,1.0,null,null,1.036,false,7.0,1.4,0.1,-0.1],[897,true,true,null,21.66,1.0,null,null,1.068,false,29.0,5.8,10.0,-10.0],[1501,true,true,null,1.5,1.0,null,null,1.047,false,7.5,1.5,1.0,-1.0],[1172,true,true,null,1.57,1.0,null,null,1.052,false,2.6,0.0,1.7,-1.7],[267,true,true,null,4.49,1.0,null,null,1.053,false,7.3,1.46,4.0,-4.0],[294,true,true,null,27.399999999999999,1.0,null,null,1.071,false,37.0,7.4,15.0,-17.0],[1367,true,true,null,2.51,1.0,null,null,1.053,false,9.0,1.8,12.0,0.0],[58,true,true,null,3.6,1.0,null,null,1.05,false,18.0,3.6,0.8,-0.8],[1272,true,true,null,6.0,1.0,null,null,1.044,false,22.899999999999999,6.0,8.0,-8.0],[2154,true,true,null,10.0,1.0,null,null,0.997,false,10.800000000000001,2.16,6.4,-6.4],[1249,true,true,null,13.0,1.0,null,null,1.05,false,13.800000000000001,2.76,4.63,-5.56],[1902,true,true,null,44.0,1.0,null,null,1.056,false,46.0,9.199999999999999,20.0,-34.0],[84,true,true,null,20.699999999999999,1.0,null,null,0.953,false,30.0,6.0,14.0,-14.0],[1909,true,true,null,30.289999999999999,1.0,null,null,1.055,false,44.0,8.800000000000001,25.0,-25.0],[1519,true,true,null,-8.0,1.0,null,null,1.069,false,0.0,-8.0,0.0,0.0],[585,true,true,null,1.86,1.0,null,null,1.057,false,8.0,1.6,2.6,-2.8],[1992,true,true,null,6.2,1.0,null,null,1.014,false,31.0,6.2,16.0,-14.0],[1911,true,true,null,11.6,1.0,null,null,1.061,false,58.0,11.6,35.0,-35.0],[1993,true,true,null,19.98,1.0,null,null,1.058,false,21.0,4.2,6.0,-4.0],[248,true,true,null,1.22,1.0,null,null,1.039,false,6.1,1.22,1.0,-1.0],[150,true,true,null,5.0,1.0,null,null,1.028,false,25.0,5.0,13.0,-9.0],[1055,true,true,null,9.0,1.0,null,null,1.048,false,10.0,2.0,1.0,-1.0],[829,true,true,null,1.97,1.0,null,null,1.048,false,4.0,0.0,1.0,-1.0],[362,true,true,null,5.99,1.0,null,null,1.067,false,7.0,1.4,3.0,-3.0],[2608,true,true,null,200.0,1.0,null,null,0.959,false,670.0,200.0,260.970000000000027,-173.140000000000015],[2609,true,true,null,140.0,1.0,null,null,0.959,false,700.0,140.0,269.329999999999984,-111.090000000000003],[2610,true,true,null,11.59,1.0,null,null,1.017,false,23.0,4.6,14.0,-8.869999999999999],[2611,true,true,null,4.6,1.0,null,null,1.018,false,23.0,4.6,14.0,-8.869999999999999],[2612,true,true,null,24.43,1.0,null,null,1.01,false,27.0,5.4,22.359999999999999,-13.33],[612,true,true,null,10.0,1.0,null,null,1.024,false,11.0,2.2,5.0,1.0],[2613,true,true,null,82.0,1.0,null,null,0.921,false,86.0,17.199999999999999,36.039999999999999,-3.45],[2614,true,true,null,9.800000000000001,1.0,null,null,0.93,false,49.0,9.800000000000001,22.190000000000001,-3.23],[2615,true,true,null,27.940000000000001,1.0,null,null,1.048,false,32.0,6.4,9.890000000000001,-6.8],[2616,true,true,null,28.440000000000001,1.0,null,null,1.048,false,32.0,6.4,9.890000000000001,-6.8],[2617,true,true,null,27.77,1.0,null,null,1.049,false,32.0,6.4,9.890000000000001,-6.8],[2618,true,true,null,27.530000000000001,1.0,null,null,1.049,false,32.0,6.4,9.890000000000001,-6.8],[2619,true,true,null,22.149999999999999,1.0,null,null,0.988,false,92.0,18.399999999999999,62.700000000000003,-27.300000000000001],[2620,true,true,null,35.539999999999999,1.0,null,null,0.987,false,92.0,18.399999999999999,62.700000000000003,-27.300000000000001],[2621,true,true,null,60.68,1.0,null,null,0.984,false,92.0,18.399999999999999,62.700000000000003,-27.300000000000001],[2622,true,true,null,899.990000000000009,1.0,null,null,0.964,false,935.5,245.5,338.090000000000032,-421.28000000000003],[443,true,true,null,6.0,1.0,null,null,1.055,false,8.0,1.6,5.0,-5.0],[2623,true,true,null,514.139999999999986,1.0,null,null,0.968,false,976.470000000000027,286.470000000000027,348.019999999999982,-410.590000000000032],[2624,true,true,null,935.990000000000009,1.0,null,null,0.963,false,972.509999999999991,252.510000000000019,339.680000000000007,-411.870000000000004],[2625,true,true,null,573.769999999999982,1.0,null,null,0.969,false,910.0,220.0,315.490000000000009,-438.240000000000009],[2627,true,true,null,140.0,1.0,null,null,0.968,false,236.0,140.0,153.819999999999993,-109.439999999999998],[2628,true,true,null,154.0,1.0,null,null,0.99,false,250.0,154.0,101.230000000000004,-56.189999999999998],[2629,true,true,null,112.0,1.0,null,null,0.985,false,295.0,112.0,237.670000000000016,-167.569999999999993],[2630,true,true,null,89.0,1.0,null,null,0.993,false,155.0,89.0,102.260000000000005,-66.489999999999995],[2631,true,true,null,48.560000000000002,1.0,null,null,1.007,false,58.0,11.6,19.649999999999999,-20.550000000000001],[2632,true,true,null,47.600000000000001,1.0,null,null,1.007,false,58.0,11.6,12.289999999999999,-12.49],[2633,true,true,null,47.600000000000001,1.0,null,null,1.007,false,58.0,11.6,19.649999999999999,-20.550000000000001],[905,true,true,null,44.0,1.0,null,null,1.01,false,46.0,9.199999999999999,21.0,-9.0],[1173,true,true,null,14.970000000000001,1.0,null,null,1.046,false,35.0,7.0,12.0,-15.0],[2634,true,true,null,47.600000000000001,1.0,null,null,1.007,false,58.0,11.6,12.289999999999999,-12.49],[2635,true,true,null,47.600000000000001,1.0,null,null,1.007,false,58.0,11.6,12.289999999999999,-12.49],[2636,true,true,null,120.0,1.0,null,null,0.959,false,250.0,120.0,166.050000000000011,-88.280000000000001],[2637,true,true,null,27.800000000000001,1.0,null,null,1.029,false,139.0,27.800000000000001,99.900000000000006,-56.479999999999997],[2638,true,true,null,9.800000000000001,1.0,null,null,0.992,false,49.0,9.800000000000001,31.960000000000001,-22.82],[2639,true,true,null,906.82000000000005,1.0,null,null,0.933,false,942.399999999999977,272.399999999999977,546.350000000000023,-229.840000000000003],[2640,true,true,null,872.0,1.0,null,null,0.92,false,906.0,236.0,538.049999999999955,-240.680000000000007],[2642,true,true,null,885.990000000000009,1.0,null,null,0.924,false,920.980000000000018,270.980000000000018,519.789999999999964,-223.530000000000001],[2643,true,true,null,1244.509999999999991,1.0,null,null,0.903,false,1308.0,318.0,673.870000000000004,-237.700000000000017],[2644,true,true,null,337.850000000000023,1.0,null,null,0.911,false,1308.0,318.0,673.870000000000004,-237.700000000000017],[903,true,true,null,7.69,1.0,null,null,1.0,false,8.5,1.7,5.0,-5.0],[2645,true,true,null,33.0,1.0,null,null,1.04,false,35.0,7.0,5.05,-1.45],[2646,true,true,null,33.0,1.0,null,null,1.04,false,35.0,7.0,5.05,-1.45],[2647,true,true,null,33.0,1.0,null,null,1.04,false,35.0,7.0,5.05,-1.45],[2648,true,true,null,33.0,1.0,null,null,1.04,false,35.0,7.0,5.05,-1.45],[2649,true,true,null,33.0,1.0,null,null,1.04,false,35.0,7.0,5.05,-1.45],[2650,true,true,null,33.0,1.0,null,null,1.04,false,35.0,7.0,5.05,-1.45],[2651,true,true,null,19.0,1.0,null,null,0.954,false,20.0,4.0,10.539999999999999,-7.31],[2652,true,true,null,576.159999999999968,1.0,null,null,0.933,false,1330.0,337.0,703.470000000000027,-249.560000000000002],[2653,true,true,null,520.330000000000041,1.0,null,null,0.928,false,1360.0,367.0,712.050000000000068,-240.980000000000018],[2654,true,true,null,584.169999999999959,1.0,null,null,0.928,false,1360.0,367.0,712.050000000000068,-240.980000000000018],[1419,true,true,null,19.0,1.0,null,null,1.077,false,20.0,4.0,2.0,1.9],[2655,true,true,null,18.0,1.0,null,null,0.988,false,90.0,18.0,53.82,-33.810000000000002],[2658,true,true,null,1.44,1.0,null,null,0.959,false,1.5,1.4,285.20999999999998,-103.180000000000007],[2659,true,true,null,48.0,1.0,null,null,0.973,false,240.0,48.0,109.25,-30.75],[2660,true,true,null,48.0,1.0,null,null,0.973,false,240.0,48.0,109.25,-30.75],[2661,true,true,null,905.990000000000009,1.0,null,null,0.937,false,942.090000000000032,232.090000000000003,500.900000000000034,-159.780000000000001],[2662,true,true,null,912.990000000000009,1.0,null,null,0.936,false,949.120000000000005,239.120000000000005,532.879999999999996,-153.400000000000006],[2663,true,true,null,906.990000000000009,1.0,null,null,0.935,false,943.120000000000005,233.120000000000005,551.769999999999982,-155.039999999999992],[2664,true,true,null,1026.779999999999973,1.0,null,null,0.923,false,1503.0,403.0,657.680000000000064,-222.980000000000018],[2665,true,true,null,962.810000000000059,1.0,null,null,0.925,false,1503.0,403.0,657.680000000000064,-222.980000000000018],[2666,true,true,null,405.170000000000016,1.0,null,null,0.977,false,1498.0,398.0,390.29000000000002,-446.449999999999989],[1494,true,true,null,4.57,1.0,null,null,1.024,false,24.0,4.8,7.0,-7.0],[2667,true,true,null,1441.990000000000009,1.0,null,null,0.968,false,1498.0,398.0,368.810000000000002,-446.449999999999989],[2668,true,true,null,81.760000000000005,1.0,null,null,0.944,false,125.0,8.5,93.600000000000008,-50.899999999999999],[2669,true,true,null,88.010000000000005,1.0,null,null,0.943,false,125.0,8.5,93.600000000000008,-50.899999999999999],[2670,true,true,null,137.700000000000017,1.0,null,null,0.955,false,148.200000000000017,4.2,72.700000000000003,-2.56],[2671,true,true,null,180.0,1.0,null,null,0.959,false,685.0,180.0,328.920000000000016,-51.659999999999997],[2672,true,true,null,571.649999999999977,1.0,null,null,0.951,false,610.0,310.0,359.660000000000025,-170.849999999999994],[2673,true,true,null,310.009999999999991,1.0,null,null,0.958,false,610.0,310.0,323.139999999999986,-212.840000000000003],[2674,true,true,null,205.0,1.0,null,null,0.962,false,700.0,205.0,380.920000000000016,-216.75],[2675,true,true,null,35.869999999999998,1.0,null,null,0.988,false,50.0,10.0,17.809999999999999,-10.970000000000001],[2676,true,true,null,37.18,1.0,null,null,0.988,false,50.0,10.0,17.809999999999999,-10.970000000000001],[286,true,true,null,2.21,1.0,null,null,0.998,false,11.0,2.2,8.0,-5.0],[2677,true,true,null,38.200000000000003,1.0,null,null,0.988,false,50.0,10.0,17.809999999999999,-10.970000000000001],[2678,true,true,null,34.539999999999999,1.0,null,null,0.988,false,50.0,10.0,17.809999999999999,-10.970000000000001],[2679,true,true,null,32.140000000000001,1.0,null,null,0.989,false,50.0,10.0,17.809999999999999,-10.970000000000001],[2680,true,true,null,36.770000000000003,1.0,null,null,0.988,false,50.0,10.0,17.809999999999999,-10.970000000000001],[2685,true,true,null,30.940000000000001,1.0,null,null,1.007,false,57.0,11.4,21.890000000000001,-12.76],[2686,true,true,null,239.009999999999991,1.0,null,null,0.922,false,451.0,239.0,320.29000000000002,-95.560000000000002],[2687,true,true,null,21.0,1.0,null,null,0.965,false,63.0,21.0,63.509999999999998,-8.25],[2688,true,true,null,240.0,1.0,null,null,0.988,false,425.0,240.0,267.620000000000004,-171.099999999999994],[2689,true,true,null,864.139999999999986,1.0,null,null,0.913,false,920.060000000000059,230.060000000000002,530.480000000000018,-149.360000000000014],[2690,true,true,null,864.139999999999986,1.0,null,null,0.913,false,920.07000000000005,230.069999999999993,530.549999999999954,-149.300000000000011],[603,true,true,null,10.92,1.0,null,null,0.983,false,12.4,2.48,6.5,-6.5],[2691,true,true,null,864.149999999999977,1.0,null,null,0.913,false,920.039999999999964,230.039999999999992,530.129999999999995,-149.640000000000015],[2692,true,true,null,237.080000000000012,1.0,null,null,0.92,false,927.07000000000005,237.069999999999993,531.299999999999954,-147.400000000000006],[2693,true,true,null,29.989999999999998,1.0,null,null,1.031,false,32.0,6.4,10.380000000000001,-5.76],[2694,true,true,null,860.420000000000073,1.0,null,null,0.968,false,1380.0,340.0,407.480000000000018,-463.970000000000027],[2695,true,true,null,841.330000000000041,1.0,null,null,0.968,false,1380.0,340.0,407.480000000000018,-463.970000000000027],[2696,true,true,null,13.0,1.0,null,null,1.007,false,65.0,13.0,37.340000000000003,-22.66],[2697,true,true,null,14.0,1.0,null,null,1.009,false,70.0,14.0,22.34,-21.699999999999999],[2698,true,true,null,13.0,1.0,null,null,1.005,false,65.0,13.0,53.950000000000003,-36.049999999999997],[2699,true,true,null,13.0,1.0,null,null,1.003,false,65.0,13.0,55.380000000000003,-34.619999999999998],[2700,true,true,null,36.920000000000002,1.0,null,null,1.004,false,70.0,14.0,39.630000000000002,-20.370000000000001],[1944,true,true,null,2.0,1.0,null,null,1.035,false,3.0,0.0,1.0,-1.0],[2701,true,true,null,1258.990000000000009,1.0,null,null,0.941,false,1308.0,288.0,566.82000000000005,-494.400000000000034],[2702,true,true,null,1258.990000000000009,1.0,null,null,0.941,false,1308.0,288.0,566.82000000000005,-494.400000000000034],[2703,true,true,null,13.17,1.0,null,null,1.008,false,22.0,4.4,10.52,-6.96],[2704,true,true,null,171.0,1.0,null,null,0.949,false,451.0,82.0,281.329999999999984,-122.560000000000002],[2705,true,true,null,7.2,1.0,null,null,1.024,false,36.0,7.2,10.34,-12.56],[2706,true,true,null,677.159999999999968,1.0,null,null,0.934,false,947.0,237.0,525.980000000000018,-146.099999999999994],[2707,true,true,null,681.810000000000059,1.0,null,null,0.934,false,947.0,267.0,527.889999999999986,-146.099999999999994],[2708,true,true,null,677.220000000000027,1.0,null,null,0.934,false,947.0,237.0,525.980000000000018,-146.099999999999994],[2709,true,true,null,677.220000000000027,1.0,null,null,0.934,false,947.0,237.0,525.980000000000018,-146.099999999999994],[2710,true,true,null,677.129999999999995,1.0,null,null,0.934,false,947.0,237.0,525.980000000000018,-146.099999999999994],[2150,true,true,null,2.7,1.0,null,null,1.03,false,9.0,1.8,5.5,-5.5],[2711,true,true,null,237.0,1.0,null,null,0.938,false,947.0,237.0,525.980000000000018,-146.099999999999994],[2712,true,true,null,125.0,1.0,null,null,0.959,false,240.0,125.0,132.47999999999999,-11.56],[2713,true,true,null,206.0,1.0,null,null,0.966,false,446.0,206.0,262.389999999999986,-135.969999999999999],[2716,true,true,null,272.0,1.0,null,null,0.936,false,607.0,272.0,297.579999999999984,-109.25],[2717,true,true,null,17.550000000000001,1.0,null,null,0.99,false,31.0,6.2,20.129999999999999,-7.22],[2718,true,true,null,13.99,1.0,null,null,0.988,false,31.0,6.2,33.890000000000001,-21.949999999999999],[2719,true,true,null,5.48,1.0,null,null,1.04,false,21.0,4.2,8.32,-5.51],[2720,true,true,null,24.59,1.0,null,null,1.01,false,35.0,7.0,6.13,-7.24],[2721,true,true,null,24.620000000000001,1.0,null,null,1.01,false,35.0,7.0,6.13,-7.24],[2722,true,true,null,24.690000000000001,1.0,null,null,1.01,false,35.0,7.0,11.43,-11.73],[382,true,true,null,11.1,1.0,null,null,1.06,false,14.0,2.8,7.0,-7.0],[2723,true,true,null,24.190000000000001,1.0,null,null,1.01,false,35.0,7.0,6.13,-7.24],[2724,true,true,null,120.0,1.0,null,null,0.956,false,235.0,120.0,112.629999999999996,-113.650000000000006],[2725,true,true,null,43.490000000000002,1.0,null,null,1.001,false,47.0,9.4,10.25,-4.13],[2726,true,true,null,9.4,1.0,null,null,1.005,false,47.0,9.4,10.25,-4.13],[2727,true,true,null,23.210000000000001,1.0,null,null,0.987,false,31.0,6.2,14.949999999999999,-10.67],[2728,true,true,null,29.0,1.0,null,null,0.985,false,31.0,6.2,14.949999999999999,-10.67],[2729,true,true,null,29.0,1.0,null,null,0.985,false,31.0,6.2,14.949999999999999,-10.67],[2730,true,true,null,48.0,1.0,null,null,0.949,false,50.0,10.0,31.73,-15.57],[2731,true,true,null,7.4,1.0,null,null,1.005,false,37.0,7.4,15.94,-8.359999999999999],[2732,true,true,null,7.4,1.0,null,null,1.005,false,37.0,7.4,15.94,-8.359999999999999],[381,true,true,null,12.949999999999999,1.0,null,null,1.06,false,14.0,2.8,7.0,-7.0],[2733,true,true,null,137.0,1.0,null,null,0.968,false,250.0,137.0,170.469999999999999,-33.560000000000002],[2734,true,true,null,137.0,1.0,null,null,0.968,false,250.0,137.0,170.469999999999999,-33.560000000000002],[2735,true,true,null,15.869999999999999,1.0,null,null,0.936,false,19.0,3.8,10.619999999999999,-7.12],[2739,true,true,null,196.0,1.0,null,null,1.003,false,414.0,196.0,211.590000000000003,-164.909999999999997],[2740,true,true,null,41.600000000000001,1.0,null,null,0.975,false,52.0,10.4,39.82,-19.390000000000001],[2741,true,true,null,30.690000000000001,1.0,null,null,0.977,false,52.0,10.4,39.82,-19.390000000000001],[2742,true,true,null,5.0,1.0,null,null,0.964,false,185.0,5.0,104.230000000000004,-23.379999999999999],[2743,true,true,null,5.0,1.0,null,null,0.964,false,185.0,5.0,104.230000000000004,-23.379999999999999],[2744,true,true,null,45.399999999999999,1.0,null,null,0.967,false,227.0,45.399999999999999,195.629999999999996,-56.560000000000002],[2745,true,true,null,45.399999999999999,1.0,null,null,0.967,false,227.0,45.399999999999999,195.980000000000018,-56.259999999999998],[1175,true,true,null,2.18,1.0,null,null,1.071,false,4.0,0.0,0.1,-0.1],[2168,true,true,null,11.99,1.0,null,null,1.03,false,12.800000000000001,2.56,7.7,-7.7],[2746,true,true,null,45.399999999999999,1.0,null,null,0.967,false,227.0,45.399999999999999,195.980000000000018,-56.259999999999998],[2747,true,true,null,45.399999999999999,1.0,null,null,0.967,false,227.0,45.399999999999999,196.080000000000012,-56.170000000000002],[2748,true,true,null,913.980000000000018,1.0,null,null,0.933,false,950.0,237.0,511.819999999999993,-179.840000000000003],[2749,true,true,null,913.980000000000018,1.0,null,null,0.938,false,950.0,237.0,533.700000000000046,-146.330000000000012],[2750,true,true,null,156.0,1.0,null,null,0.991,false,304.0,156.0,191.0,-152.75],[2751,true,true,null,168.0,1.0,null,null,0.929,false,316.0,168.0,197.289999999999992,-145.960000000000008],[2752,true,true,null,1308.980000000000018,1.0,null,null,0.923,false,1360.0,289.0,671.919999999999959,-213.289999999999992],[2753,true,true,null,58.0,1.0,null,null,0.976,false,61.0,12.199999999999999,28.899999999999999,-24.219999999999999],[2754,true,true,null,58.0,1.0,null,null,0.976,false,61.0,12.199999999999999,28.899999999999999,-24.219999999999999],[2755,true,true,null,726.470000000000027,1.0,null,null,0.93,false,1380.0,350.0,706.840000000000032,-235.159999999999997],[1562,true,true,null,25.629999999999999,1.0,null,null,1.084,false,39.0,7.8,19.0,-19.0],[2756,true,true,null,706.560000000000059,1.0,null,null,0.928,false,1380.0,350.0,706.840000000000032,-235.159999999999997],[2757,true,true,null,708.740000000000009,1.0,null,null,0.929,false,1380.0,350.0,695.830000000000041,-235.159999999999997],[2758,true,true,null,350.04000000000002,1.0,null,null,0.933,false,1290.0,350.0,681.310000000000059,-260.689999999999998],[2759,true,true,null,46.43,1.0,null,null,0.971,false,51.0,0.8,37.509999999999998,-10.49],[2760,true,true,null,1103.549999999999954,1.0,null,null,0.931,false,1380.0,340.0,675.480000000000018,-207.210000000000008],[2761,true,true,null,340.009999999999991,1.0,null,null,0.937,false,1380.0,340.0,675.480000000000018,-207.210000000000008],[2762,true,true,null,175.0,1.0,null,null,0.929,false,585.0,175.0,322.120000000000005,-100.079999999999998],[2763,true,true,null,175.0,1.0,null,null,0.929,false,585.0,175.0,322.120000000000005,-100.079999999999998],[2764,true,true,null,175.0,1.0,null,null,0.929,false,585.0,175.0,322.120000000000005,-100.079999999999998],[2765,true,true,null,175.0,1.0,null,null,0.939,false,585.0,175.0,311.949999999999989,-109.400000000000006],[79,true,true,null,13.35,1.0,null,null,1.079,false,30.0,6.0,10.0,-4.0],[2766,true,true,null,8.6,1.0,null,null,1.014,false,43.0,8.6,33.109999999999999,-20.489999999999998],[2767,true,true,null,8.6,1.0,null,null,1.014,false,43.0,8.6,33.109999999999999,-20.489999999999998],[2768,true,true,null,8.6,1.0,null,null,1.014,false,43.0,8.6,33.109999999999999,-20.489999999999998],[2769,true,true,null,14.0,1.0,null,null,0.978,false,70.0,14.0,78.5,-24.379999999999999],[2770,true,true,null,16.800000000000001,1.0,null,null,0.982,false,80.0,16.0,42.659999999999997,-21.780000000000001],[2771,true,true,null,184.200000000000017,1.0,null,null,0.944,false,230.0,70.0,107.829999999999998,-75.850000000000008],[2772,true,true,null,565.419999999999959,1.0,null,null,0.92,false,605.0,295.0,230.469999999999999,-115.950000000000003],[2773,true,true,null,11.199999999999999,1.0,null,null,1.046,false,56.0,11.199999999999999,24.739999999999998,-16.5],[2774,true,true,null,37.579999999999998,1.0,null,null,0.96,false,58.0,11.6,61.200000000000003,-1.88],[2775,true,true,null,10.369999999999999,1.0,null,null,1.049,false,23.100000000000001,4.62,17.140000000000001,-10.859999999999999],[103,true,true,null,3.14,1.0,null,null,1.078,false,6.0,1.2,2.0,1.9],[2776,true,true,null,220.0,1.0,null,null,0.971,false,429.0,220.0,159.050000000000011,-15.32],[2777,true,true,null,18.079999999999998,1.0,null,null,1.011,false,41.0,8.199999999999999,21.739999999999998,-17.309999999999999],[2778,true,true,null,16.0,1.0,null,null,1.035,false,80.0,16.0,18.02,-6.63],[2779,true,true,null,16.0,1.0,null,null,1.035,false,80.0,16.0,18.02,-6.63],[2780,true,true,null,16.0,1.0,null,null,1.035,false,80.0,16.0,18.02,-6.63],[2781,true,true,null,36.0,1.0,null,null,0.988,false,180.0,36.0,124.730000000000004,-79.859999999999999],[2782,true,true,null,36.0,1.0,null,null,1.01,false,180.0,36.0,116.010000000000005,-89.939999999999998],[2783,true,true,null,36.0,1.0,null,null,0.988,false,180.0,36.0,124.730000000000004,-79.859999999999999],[2784,true,true,null,36.0,1.0,null,null,0.988,false,180.0,36.0,124.730000000000004,-79.859999999999999],[2785,true,true,null,42.0,1.0,null,null,1.019,false,44.0,8.800000000000001,14.640000000000001,-6.01],[146,true,true,null,6.89,1.0,null,null,1.029,false,11.0,2.2,4.0,-4.0],[2786,true,true,null,7.6,1.0,null,null,1.039,false,38.0,7.6,27.02,-18.300000000000001],[2787,true,true,null,22.260000000000002,1.0,null,null,0.961,false,33.0,6.6,26.239999999999998,-3.76],[2788,true,true,null,124.980000000000004,1.0,null,null,1.023,false,130.0,26.0,30.84,-18.18],[2789,true,true,null,1282.0,1.0,null,null,0.926,false,1332.0,282.0,671.480000000000018,-239.659999999999997],[2790,true,true,null,762.529999999999973,1.0,null,null,0.932,false,1332.0,282.0,671.480000000000018,-239.659999999999997],[2792,true,true,null,225.0,1.0,null,null,0.959,false,595.0,225.0,204.969999999999999,-97.540000000000006],[2793,true,true,null,120.0,1.0,null,null,0.917,false,436.0,120.0,307.189999999999998,-50.960000000000001],[2794,true,true,null,127.0,1.0,null,null,0.918,false,443.0,127.0,310.329999999999984,-47.759999999999998],[2795,true,true,null,9.800000000000001,1.0,null,null,1.007,false,49.0,9.800000000000001,32.520000000000003,-21.789999999999999],[2796,true,true,null,12.57,1.0,null,null,0.983,false,30.0,6.0,21.620000000000001,-13.24],[1888,true,true,null,2.4,1.0,null,null,1.052,false,12.0,2.4,5.0,-5.0],[2797,true,true,null,770.789999999999964,1.0,null,null,0.93,false,950.090000000000032,230.090000000000003,541.659999999999968,-152.009999999999991],[2798,true,true,null,233.099999999999994,1.0,null,null,0.935,false,953.090000000000032,233.090000000000003,541.940000000000055,-151.129999999999995],[2799,true,true,null,47.0,1.0,null,null,0.992,false,49.0,9.800000000000001,21.77,-20.199999999999999],[2800,true,true,null,47.0,1.0,null,null,0.992,false,49.0,9.800000000000001,21.77,-20.199999999999999],[2801,true,true,null,11.199999999999999,1.0,null,null,0.953,false,56.0,11.199999999999999,30.300000000000001,-13.699999999999999],[2802,true,true,null,32.200000000000003,1.0,null,null,0.965,false,161.0,32.200000000000003,114.060000000000002,-45.939999999999998],[2803,true,true,null,32.200000000000003,1.0,null,null,0.965,false,161.0,32.200000000000003,114.060000000000002,-45.939999999999998],[2804,true,true,null,32.200000000000003,1.0,null,null,0.965,false,161.0,32.200000000000003,114.060000000000002,-45.939999999999998],[2805,true,true,null,32.200000000000003,1.0,null,null,0.965,false,161.0,32.200000000000003,114.060000000000002,-45.939999999999998],[2806,true,true,null,685.690000000000055,1.0,null,null,0.963,false,985.0,275.0,405.579999999999984,-162.030000000000001],[1607,true,true,null,2.16,1.0,null,null,1.032,false,5.0,0.0,2.0,-2.0],[2807,true,true,null,738.409999999999968,1.0,null,null,0.964,false,985.0,275.0,400.579999999999984,-167.030000000000001],[2808,true,true,null,744.560000000000059,1.0,null,null,0.963,false,985.0,275.0,400.579999999999984,-167.030000000000001],[2809,true,true,null,607.5,1.0,null,null,0.959,false,985.0,275.0,400.579999999999984,-167.030000000000001],[2810,true,true,null,72.0,1.0,null,null,0.962,false,185.0,72.0,102.609999999999999,-26.719999999999999],[2811,true,true,null,72.0,1.0,null,null,0.962,false,185.0,72.0,102.609999999999999,-24.82],[2812,true,true,null,72.0,1.0,null,null,0.979,false,185.0,72.0,102.609999999999999,-24.82],[2814,true,true,null,138.0,1.0,null,null,0.943,false,268.0,138.0,148.090000000000003,-87.359999999999999],[2815,true,true,null,130.0,1.0,null,null,0.947,false,136.0,27.199999999999999,133.879999999999996,-46.119999999999997],[2816,true,true,null,123.0,1.0,null,null,0.955,false,128.0,25.600000000000001,123.950000000000003,-46.049999999999997],[1673,true,true,null,15.65,1.0,null,null,1.032,false,37.799999999999997,7.56,12.0,-8.0],[1675,true,true,null,15.800000000000001,1.0,null,null,1.032,false,37.799999999999997,7.56,12.0,-8.0],[1674,true,true,null,15.02,1.0,null,null,1.032,false,37.799999999999997,7.56,12.0,-8.0],[1450,true,true,null,11.99,1.0,null,null,1.053,false,13.0,2.6,5.0,-5.0],[2021,true,true,null,44.490000000000002,1.0,null,null,1.039,false,45.0,44.0,27.0,-9.0],[261,true,true,null,1.66,1.0,null,null,1.04,false,8.300000000000001,1.66,8.300000000000001,-8.300000000000001],[1973,true,true,null,11.199999999999999,1.0,null,null,1.021,false,23.699999999999999,4.74,7.0,-3.0],[1974,true,true,null,4.74,1.0,null,null,1.021,false,23.699999999999999,4.74,7.0,-3.0],[1975,true,true,null,11.279999999999999,1.0,null,null,1.021,false,23.699999999999999,4.74,7.0,-3.0],[1972,true,true,null,11.289999999999999,1.0,null,null,1.021,false,23.699999999999999,4.74,7.0,-3.0],[597,true,true,null,14.800000000000001,1.0,null,null,1.114,false,17.0,3.4,1.0,0.9],[845,true,true,null,10.44,1.0,null,null,1.01,false,24.0,4.8,4.0,-4.0],[843,true,true,null,13.460000000000001,1.0,null,null,1.01,false,24.0,4.8,4.0,-4.0],[846,true,true,null,4.81,1.0,null,null,1.01,false,24.0,4.8,4.0,-4.0],[439,true,true,null,27.57,1.0,null,null,1.036,false,50.0,10.0,27.0,-9.0],[844,true,true,null,7.56,1.0,null,null,1.01,false,24.0,4.8,4.0,-4.0],[898,true,true,null,9.98,1.0,null,null,1.02,false,29.0,5.8,8.0,-18.0],[899,true,true,null,12.619999999999999,1.0,null,null,1.029,false,29.0,5.8,5.0,-18.0],[1588,true,true,null,0.31,1.0,null,null,1.03,false,2.0,0.0,3.0,-1.0],[345,true,true,null,14.33,1.0,null,null,1.07,false,31.0,6.2,15.0,-17.0],[344,true,true,null,29.0,1.0,null,null,1.06,false,31.0,6.2,15.0,-17.0],[346,true,true,null,29.0,1.0,null,null,1.06,false,31.0,6.2,15.0,-17.0],[889,true,true,null,10.93,1.0,null,null,1.029,false,24.0,4.8,0.0,-0.01],[885,true,true,null,4.81,1.0,null,null,1.029,false,24.0,4.8,8.0,-7.0],[887,true,true,null,4.8,1.0,null,null,1.029,false,24.0,4.8,8.0,-7.0],[549,true,true,null,12.4,1.0,null,null,1.077,false,62.0,12.4,40.0,-40.0],[884,true,true,null,10.85,1.0,null,null,1.029,false,24.0,4.8,8.0,-7.0],[886,true,true,null,6.96,1.0,null,null,1.029,false,24.0,4.8,8.0,-7.0],[888,true,true,null,11.539999999999999,1.0,null,null,1.029,false,24.0,4.8,8.0,-7.0],[322,true,true,null,8.43,1.0,null,null,1.024,false,23.5,4.7,8.0,-8.0],[1791,true,true,null,24.989999999999998,1.0,null,null,1.029,false,27.0,5.4,6.0,-11.0],[2188,true,true,null,30.0,1.0,null,null,1.035,false,32.0,6.4,12.0,-8.0],[255,true,true,null,9.0,1.0,null,null,1.05,false,45.0,9.0,45.0,-45.0],[366,true,true,null,17.530000000000001,1.0,null,null,0.986,false,20.0,4.0,10.0,-10.0],[686,true,true,null,44.009999999999998,1.0,null,null,1.022,false,239.0,44.0,100.0,-60.0],[687,true,true,null,44.009999999999998,1.0,null,null,1.022,false,239.0,44.0,100.0,-60.0],[1165,true,true,null,15.380000000000001,1.0,null,null,1.07,false,18.0,3.6,10.0,-10.0],[1725,true,true,null,4.82,1.0,null,null,1.063,false,7.0,1.4,2.0,-3.0],[1757,true,true,null,1.6,1.0,null,null,1.039,false,8.0,1.6,3.0,-3.0],[1160,true,true,null,7.99,1.0,null,null,0.977,false,8.9,1.78,1.0,-2.0],[1116,true,true,null,11.0,1.0,null,null,1.056,false,12.0,2.4,5.0,-5.0],[1379,true,true,null,14.99,1.0,null,null,1.04,false,16.0,3.2,17.300000000000001,-17.300000000000001],[314,true,true,null,5.58,1.0,null,null,1.054,false,6.7,1.34,3.7,-3.7],[2108,true,true,null,9.0,1.0,null,null,1.035,false,10.0,2.0,5.0,-5.0],[204,true,true,null,22.0,1.0,null,null,1.056,false,23.399999999999999,4.68,8.0,-17.0],[1960,true,true,null,5.2,1.0,null,null,1.038,false,26.0,5.2,16.0,-17.0],[2091,true,true,null,0.95,1.0,null,null,1.079,false,2.5,0.0,0.1,-0.1],[2166,true,true,null,21.0,1.0,null,null,1.05,false,22.0,4.4,7.0,-12.0],[2215,true,true,null,6.0,1.0,null,null,1.055,false,30.0,6.0,18.0,-18.0],[1503,true,true,null,15.210000000000001,1.0,null,null,1.051,false,23.100000000000001,4.62,14.0,-14.0],[181,true,true,null,3.6,1.0,null,null,1.063,false,18.0,3.6,5.0,-5.0],[714,true,true,null,5.82,1.0,null,null,1.054,false,10.199999999999999,2.04,6.0,-6.0],[2090,true,true,null,10.99,1.0,null,null,1.045,false,11.5,2.3,1.0,-1.0],[1687,true,true,null,11.99,1.0,null,null,1.051,false,13.0,2.6,7.8,-7.8],[784,true,true,null,21.23,1.0,null,null,1.059,false,40.0,8.0,20.0,-18.0],[786,true,true,null,23.649999999999999,1.0,null,null,1.059,false,40.0,8.0,20.0,-18.0],[785,true,true,null,23.629999999999999,1.0,null,null,1.059,false,40.0,8.0,20.0,-18.0],[1599,true,true,null,2.4,1.0,null,null,1.051,false,12.0,2.4,7.0,-7.0],[1748,true,true,null,37.990000000000002,1.0,null,null,1.07,false,40.0,1.0,5.0,-15.0],[335,true,true,null,4.35,1.0,null,null,1.045,false,8.0,1.6,26.0,-26.0],[334,true,true,null,9.73,1.0,null,null,1.054,false,19.0,3.8,26.0,-26.0],[1774,true,true,null,9.99,1.0,null,null,1.057,false,10.6,2.12,6.5,-6.5],[1983,true,true,null,20.0,1.0,null,null,1.023,false,21.399999999999999,4.28,15.0,-15.0],[1995,true,true,null,16.210000000000001,1.0,null,null,1.065,false,87.0,17.399999999999999,26.100000000000001,-24.359999999999999],[500,true,true,null,15.0,1.0,null,null,1.051,false,75.0,15.0,50.0,-40.0],[501,true,true,null,15.0,1.0,null,null,1.051,false,75.0,15.0,50.0,-40.0],[550,true,true,null,-0.68,1.0,null,null,1.06,false,41.399999999999999,8.279999999999999,12.42,-11.59],[268,true,true,null,3.0,1.0,null,null,1.024,false,15.0,3.0,7.0,0.0],[2076,true,true,null,0.48,1.0,null,null,1.04,false,1.0,0.0,1.0,-1.0]]}", + "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0,1,10,100,101,102,103,104,105,106,107,108,109,11,110,111,112,113,114,115,116,117,118,119,12,120,121,122,123,124,125,126,127,128,129,13,130,131,132,133,134,135,136,137,138,139,14,140,141,142,143,144,145,146,147,148,149,15,150,151,152,153,154,155,156,157,158,159,16,160,161,162,163,164,165,166,167,168,169,17,170,171,172,173,174,175,176,177,178,179,18,180,181,182,183,184,185,186,187,188,189,19,190,191,192,193,194,195,196,197,198,199,2,20,200,201,202,203,204,205,206,207,208,209,21,210,211,212,213,214,215,216,217,218,219,22,220,221,222,223,224,225,226,227,228,229,23,230,231,232,233,234,235,236,237,238,239,24,240,241,242,243,244,245,246,247,248,249,25,250,251,252,253,254,255,256,257,258,259,26,260,261,262,263,264,265,266,267,268,269,27,270,271,272,273,274,275,276,277,278,279,28,280,281,282,283,284,285,286,287,288,289,29,290,291,292,293,294,295,296,297,298,299,3,30,300,301,302,303,304,305,306,307,308,309,31,310,311,312,313,314,315,316,317,318,319,32,320,321,322,323,324,325,326,327,328,329,33,330,331,332,333,334,335,336,337,338,339,34,340,341,342,343,344,345,346,347,348,349,35,350,351,352,353,354,355,356,357,358,359,36,360,361,362,363,364,365,366,367,368,37,38,39,4,40,41,42,43,44,45,46,47,48,49,5,50,51,52,53,54,55,56,57,58,59,6,60,61,62,63,64,65,66,67,68,69,7,70,71,72,73,74,75,76,77,78,79,8,80,81,82,83,84,85,86,87,88,89,9,90,91,92,93,94,95,96,97,98,99],\"data\":[[1522,true,true,null,7.0,1.0,null,null,1.037,false,35.0,7.0,15.0,-15.0,0.0],[1442,true,true,null,20.27,1.0,null,null,1.059,false,36.100000000000001,7.22,20.0,-15.0,0.0],[1749,true,true,null,15.76,1.0,null,null,1.015,false,40.0,1.0,6.0,-6.0,0.0],[136,true,true,null,13.99,1.0,null,null,1.038,false,15.0,3.0,9.0,-9.0,0.0],[651,true,true,null,5.0,1.0,null,null,1.012,false,50.0,5.0,22.0,-10.0,0.0],[141,true,true,null,-5.91,1.0,null,null,1.047,false,0.0,-7.0,0.0,0.0,0.0],[2200,true,true,null,8.99,1.0,null,null,1.0,false,9.6,1.92,6.0,-6.0,0.0],[151,true,true,null,24.0,1.0,null,null,1.042,false,25.0,5.0,13.0,-9.0,0.0],[1436,true,true,null,8.4,1.0,null,null,0.971,false,42.0,8.4,25.0,-20.0,0.0],[755,true,true,null,2.2,1.0,null,null,1.028,false,11.0,2.2,5.0,-5.0,0.0],[1565,true,true,null,10.0,1.0,null,null,1.063,false,50.0,10.0,28.0,-28.0,0.0],[311,true,true,null,24.32,1.0,null,null,1.052,false,39.0,7.8,18.0,-18.0,0.0],[764,true,true,null,14.640000000000001,1.0,null,null,1.041,false,28.899999999999999,5.78,18.0,-18.0,0.0],[1275,true,true,null,4.88,1.0,null,null,1.08,false,12.0,2.4,1.0,0.9,0.0],[1931,true,true,null,0.88,1.0,null,null,1.042,false,2.0,0.0,1.0,-1.0,0.0],[1900,true,true,null,3.46,1.0,null,null,1.028,false,5.0,0.0,2.0,-2.0,0.0],[2136,true,true,null,34.0,1.0,null,null,1.044,false,170.0,34.0,70.0,-80.0,0.0],[2137,true,true,null,34.0,1.0,null,null,1.044,false,170.0,34.0,70.0,-80.0,0.0],[2141,true,true,null,30.0,1.0,null,null,1.044,false,150.0,30.0,70.0,-70.0,0.0],[2138,true,true,null,34.0,1.0,null,null,1.044,false,170.0,34.0,70.0,-80.0,0.0],[2139,true,true,null,34.0,1.0,null,null,1.044,false,170.0,34.0,70.0,-80.0,0.0],[1142,true,true,null,14.99,1.0,null,null,1.048,false,16.0,3.2,12.0,-9.0,0.0],[1869,true,true,null,3.8,1.0,null,null,0.987,false,19.0,3.8,5.0,-5.0,0.0],[396,true,true,null,4.07,1.0,null,null,1.013,false,13.0,2.6,5.0,-5.0,0.0],[644,true,true,null,5.0,1.0,null,null,1.011,false,50.0,5.0,22.0,-10.0,0.0],[2225,true,true,null,18.309999999999999,1.0,null,null,1.063,false,35.100000000000001,7.02,12.0,-21.0,0.0],[2223,true,true,null,15.390000000000001,1.0,null,null,1.038,false,35.100000000000001,7.02,12.0,-21.0,0.0],[2224,true,true,null,17.530000000000001,1.0,null,null,1.063,false,35.100000000000001,7.02,12.0,-21.0,0.0],[1068,true,true,null,4.8,1.0,null,null,1.058,false,24.0,4.8,20.0,-20.0,0.0],[1066,true,true,null,4.8,1.0,null,null,1.058,false,24.0,4.8,20.0,-20.0,0.0],[1067,true,true,null,4.48,1.0,null,null,1.058,false,20.0,4.0,20.0,-20.0,0.0],[1065,true,true,null,4.8,1.0,null,null,1.058,false,24.0,4.8,20.0,-20.0,0.0],[1063,true,true,null,4.8,1.0,null,null,1.058,false,24.0,4.8,20.0,-20.0,0.0],[1064,true,true,null,4.81,1.0,null,null,1.058,false,24.0,4.8,20.0,-20.0,0.0],[745,true,true,null,23.899999999999999,1.0,null,null,1.042,false,52.0,10.4,10.0,-13.0,0.0],[325,true,true,null,1.2,1.0,null,null,1.054,false,6.0,1.2,0.0,0.0,0.0],[1608,true,true,null,1.21,1.0,null,null,1.043,false,3.0,0.0,1.8,-1.8,0.0],[1371,true,true,null,7.6,1.0,null,null,1.035,false,38.0,7.6,20.0,-20.0,0.0],[1372,true,true,null,16.5,1.0,null,null,1.035,false,38.0,7.6,20.0,-20.0,0.0],[1374,true,true,null,16.550000000000001,1.0,null,null,1.035,false,38.0,7.6,20.0,-19.0,0.0],[1373,true,true,null,16.390000000000001,1.0,null,null,1.035,false,38.0,7.6,20.0,-19.0,0.0],[365,true,true,null,24.989999999999998,1.0,null,null,1.035,false,27.0,5.4,10.0,-10.0,0.0],[1865,true,true,null,11.99,1.0,null,null,1.053,false,13.0,2.6,13.0,0.0,0.0],[1540,true,true,null,12.0,1.0,null,null,1.059,false,12.800000000000001,2.56,7.6,-7.6,0.0],[73,true,true,null,3.58,1.0,null,null,1.0,false,17.899999999999999,3.58,10.0,-13.0,0.0],[1405,true,true,null,5.4,1.0,null,null,0.96,false,27.0,5.4,10.0,-3.0,0.0],[324,true,true,null,1.2,1.0,null,null,1.058,false,6.0,1.2,0.0,0.0,0.0],[2115,true,true,null,28.0,1.0,null,null,1.042,false,30.0,6.0,10.0,-10.0,0.0],[740,true,true,null,58.280000000000001,1.0,null,null,1.047,false,78.0,15.6,1.0,0.0,0.0],[164,true,true,null,106.329999999999998,1.0,null,null,1.02,false,130.0,26.0,59.0,-26.0,0.0],[300,true,true,null,2.15,1.0,null,null,0.998,false,4.0,0.0,2.5,-2.5,0.0],[1822,true,true,null,3.09,1.0,null,null,0.982,false,5.0,0.0,2.0,-2.0,0.0],[20,true,true,null,12.0,1.0,null,null,1.049,false,13.0,2.6,1.0,0.9,0.0],[1011,true,true,null,2.5,1.0,null,null,1.047,false,24.0,2.5,8.0,-8.0,0.0],[619,true,true,null,8.289999999999999,1.0,null,null,1.034,false,13.0,2.6,7.0,-5.0,0.0],[315,true,true,null,21.699999999999999,1.0,null,null,1.055,false,26.600000000000001,5.32,15.0,-15.0,0.0],[1054,true,true,null,25.989999999999998,1.0,null,null,1.034,false,28.0,5.6,12.0,-9.0,0.0],[152,true,true,null,10.32,1.0,null,null,1.066,false,13.0,2.6,5.0,-6.0,0.0],[355,true,true,null,1.0,1.0,null,null,1.03,false,32.0,1.0,6.0,-9.0,0.0],[356,true,true,null,26.870000000000001,1.0,null,null,1.031,false,32.0,1.0,6.0,-9.0,0.0],[2132,true,true,null,12.24,1.0,null,null,1.049,false,27.0,5.4,18.0,-18.0,0.0],[509,true,true,null,1.4,1.0,null,null,1.036,false,7.0,1.4,0.1,-0.1,0.0],[897,true,true,null,21.66,1.0,null,null,1.068,false,29.0,5.8,10.0,-10.0,0.0],[1501,true,true,null,1.5,1.0,null,null,1.047,false,7.5,1.5,1.0,-1.0,0.0],[1172,true,true,null,1.57,1.0,null,null,1.052,false,2.6,0.0,1.7,-1.7,0.0],[267,true,true,null,4.49,1.0,null,null,1.053,false,7.3,1.46,4.0,-4.0,0.0],[294,true,true,null,27.399999999999999,1.0,null,null,1.071,false,37.0,7.4,15.0,-17.0,0.0],[1367,true,true,null,2.51,1.0,null,null,1.053,false,9.0,1.8,12.0,0.0,0.0],[58,true,true,null,3.6,1.0,null,null,1.05,false,18.0,3.6,0.8,-0.8,0.0],[1272,true,true,null,6.0,1.0,null,null,1.044,false,22.899999999999999,6.0,8.0,-8.0,0.0],[2154,true,true,null,10.0,1.0,null,null,0.997,false,10.800000000000001,2.16,6.4,-6.4,0.0],[1249,true,true,null,13.0,1.0,null,null,1.05,false,13.800000000000001,2.76,4.63,-5.56,0.0],[1902,true,true,null,44.0,1.0,null,null,1.056,false,46.0,9.199999999999999,20.0,-34.0,0.0],[84,true,true,null,20.699999999999999,1.0,null,null,0.953,false,30.0,6.0,14.0,-14.0,0.0],[1909,true,true,null,30.289999999999999,1.0,null,null,1.055,false,44.0,8.800000000000001,25.0,-25.0,0.0],[1519,true,true,null,-8.0,1.0,null,null,1.069,false,0.0,-8.0,0.0,0.0,0.0],[585,true,true,null,1.86,1.0,null,null,1.057,false,8.0,1.6,2.6,-2.8,0.0],[1992,true,true,null,6.2,1.0,null,null,1.014,false,31.0,6.2,16.0,-14.0,0.0],[1911,true,true,null,11.6,1.0,null,null,1.061,false,58.0,11.6,35.0,-35.0,0.0],[1993,true,true,null,19.98,1.0,null,null,1.058,false,21.0,4.2,6.0,-4.0,0.0],[248,true,true,null,1.22,1.0,null,null,1.039,false,6.1,1.22,1.0,-1.0,0.0],[150,true,true,null,5.0,1.0,null,null,1.028,false,25.0,5.0,13.0,-9.0,0.0],[1055,true,true,null,9.0,1.0,null,null,1.048,false,10.0,2.0,1.0,-1.0,0.0],[829,true,true,null,1.97,1.0,null,null,1.048,false,4.0,0.0,1.0,-1.0,0.0],[362,true,true,null,5.99,1.0,null,null,1.067,false,7.0,1.4,3.0,-3.0,0.0],[2608,true,true,null,200.0,1.0,null,null,0.959,false,670.0,200.0,260.970000000000027,-173.140000000000015,0.0],[2609,true,true,null,140.0,1.0,null,null,0.959,false,700.0,140.0,269.329999999999984,-111.090000000000003,0.0],[2610,true,true,null,11.59,1.0,null,null,1.017,false,23.0,4.6,14.0,-8.869999999999999,0.0],[2611,true,true,null,4.6,1.0,null,null,1.018,false,23.0,4.6,14.0,-8.869999999999999,0.0],[2612,true,true,null,24.43,1.0,null,null,1.01,false,27.0,5.4,22.359999999999999,-13.33,0.0],[612,true,true,null,10.0,1.0,null,null,1.024,false,11.0,2.2,5.0,1.0,0.0],[2613,true,true,null,82.0,1.0,null,null,0.921,false,86.0,17.199999999999999,36.039999999999999,-3.45,0.0],[2614,true,true,null,9.800000000000001,1.0,null,null,0.93,false,49.0,9.800000000000001,22.190000000000001,-3.23,0.0],[2615,true,true,null,27.940000000000001,1.0,null,null,1.048,false,32.0,6.4,9.890000000000001,-6.8,0.0],[2616,true,true,null,28.440000000000001,1.0,null,null,1.048,false,32.0,6.4,9.890000000000001,-6.8,0.0],[2617,true,true,null,27.77,1.0,null,null,1.049,false,32.0,6.4,9.890000000000001,-6.8,0.0],[2618,true,true,null,27.530000000000001,1.0,null,null,1.049,false,32.0,6.4,9.890000000000001,-6.8,0.0],[2619,true,true,null,22.149999999999999,1.0,null,null,0.988,false,92.0,18.399999999999999,62.700000000000003,-27.300000000000001,0.0],[2620,true,true,null,35.539999999999999,1.0,null,null,0.987,false,92.0,18.399999999999999,62.700000000000003,-27.300000000000001,0.0],[2621,true,true,null,60.68,1.0,null,null,0.984,false,92.0,18.399999999999999,62.700000000000003,-27.300000000000001,0.0],[2622,true,true,null,899.990000000000009,1.0,null,null,0.964,false,935.5,245.5,338.090000000000032,-421.28000000000003,0.0],[443,true,true,null,6.0,1.0,null,null,1.055,false,8.0,1.6,5.0,-5.0,0.0],[2623,true,true,null,514.139999999999986,1.0,null,null,0.968,false,976.470000000000027,286.470000000000027,348.019999999999982,-410.590000000000032,0.0],[2624,true,true,null,935.990000000000009,1.0,null,null,0.963,false,972.509999999999991,252.510000000000019,339.680000000000007,-411.870000000000004,0.0],[2625,true,true,null,573.769999999999982,1.0,null,null,0.969,false,910.0,220.0,315.490000000000009,-438.240000000000009,0.0],[2627,true,true,null,140.0,1.0,null,null,0.968,false,236.0,140.0,153.819999999999993,-109.439999999999998,0.0],[2628,true,true,null,154.0,1.0,null,null,0.99,false,250.0,154.0,101.230000000000004,-56.189999999999998,0.0],[2629,true,true,null,112.0,1.0,null,null,0.985,false,295.0,112.0,237.670000000000016,-167.569999999999993,0.0],[2630,true,true,null,89.0,1.0,null,null,0.993,false,155.0,89.0,102.260000000000005,-66.489999999999995,0.0],[2631,true,true,null,48.560000000000002,1.0,null,null,1.007,false,58.0,11.6,19.649999999999999,-20.550000000000001,0.0],[2632,true,true,null,47.600000000000001,1.0,null,null,1.007,false,58.0,11.6,12.289999999999999,-12.49,0.0],[2633,true,true,null,47.600000000000001,1.0,null,null,1.007,false,58.0,11.6,19.649999999999999,-20.550000000000001,0.0],[905,true,true,null,44.0,1.0,null,null,1.01,false,46.0,9.199999999999999,21.0,-9.0,0.0],[1173,true,true,null,14.970000000000001,1.0,null,null,1.046,false,35.0,7.0,12.0,-15.0,0.0],[2634,true,true,null,47.600000000000001,1.0,null,null,1.007,false,58.0,11.6,12.289999999999999,-12.49,0.0],[2635,true,true,null,47.600000000000001,1.0,null,null,1.007,false,58.0,11.6,12.289999999999999,-12.49,0.0],[2636,true,true,null,120.0,1.0,null,null,0.959,false,250.0,120.0,166.050000000000011,-88.280000000000001,0.0],[2637,true,true,null,27.800000000000001,1.0,null,null,1.029,false,139.0,27.800000000000001,99.900000000000006,-56.479999999999997,0.0],[2638,true,true,null,9.800000000000001,1.0,null,null,0.992,false,49.0,9.800000000000001,31.960000000000001,-22.82,0.0],[2639,true,true,null,906.82000000000005,1.0,null,null,0.933,false,942.399999999999977,272.399999999999977,546.350000000000023,-229.840000000000003,0.0],[2640,true,true,null,872.0,1.0,null,null,0.92,false,906.0,236.0,538.049999999999955,-240.680000000000007,0.0],[2642,true,true,null,885.990000000000009,1.0,null,null,0.924,false,920.980000000000018,270.980000000000018,519.789999999999964,-223.530000000000001,0.0],[2643,true,true,null,1244.509999999999991,1.0,null,null,0.903,false,1308.0,318.0,673.870000000000004,-237.700000000000017,0.0],[2644,true,true,null,337.850000000000023,1.0,null,null,0.911,false,1308.0,318.0,673.870000000000004,-237.700000000000017,0.0],[903,true,true,null,7.69,1.0,null,null,1.0,false,8.5,1.7,5.0,-5.0,0.0],[2645,true,true,null,33.0,1.0,null,null,1.04,false,35.0,7.0,5.05,-1.45,0.0],[2646,true,true,null,33.0,1.0,null,null,1.04,false,35.0,7.0,5.05,-1.45,0.0],[2647,true,true,null,33.0,1.0,null,null,1.04,false,35.0,7.0,5.05,-1.45,0.0],[2648,true,true,null,33.0,1.0,null,null,1.04,false,35.0,7.0,5.05,-1.45,0.0],[2649,true,true,null,33.0,1.0,null,null,1.04,false,35.0,7.0,5.05,-1.45,0.0],[2650,true,true,null,33.0,1.0,null,null,1.04,false,35.0,7.0,5.05,-1.45,0.0],[2651,true,true,null,19.0,1.0,null,null,0.954,false,20.0,4.0,10.539999999999999,-7.31,0.0],[2652,true,true,null,576.159999999999968,1.0,null,null,0.933,false,1330.0,337.0,703.470000000000027,-249.560000000000002,0.0],[2653,true,true,null,520.330000000000041,1.0,null,null,0.928,false,1360.0,367.0,712.050000000000068,-240.980000000000018,0.0],[2654,true,true,null,584.169999999999959,1.0,null,null,0.928,false,1360.0,367.0,712.050000000000068,-240.980000000000018,0.0],[1419,true,true,null,19.0,1.0,null,null,1.077,false,20.0,4.0,2.0,1.9,0.0],[2655,true,true,null,18.0,1.0,null,null,0.988,false,90.0,18.0,53.82,-33.810000000000002,0.0],[2658,true,true,null,1.44,1.0,null,null,0.959,false,1.5,1.4,285.20999999999998,-103.180000000000007,0.0],[2659,true,true,null,48.0,1.0,null,null,0.973,false,240.0,48.0,109.25,-30.75,0.0],[2660,true,true,null,48.0,1.0,null,null,0.973,false,240.0,48.0,109.25,-30.75,0.0],[2661,true,true,null,905.990000000000009,1.0,null,null,0.937,false,942.090000000000032,232.090000000000003,500.900000000000034,-159.780000000000001,0.0],[2662,true,true,null,912.990000000000009,1.0,null,null,0.936,false,949.120000000000005,239.120000000000005,532.879999999999996,-153.400000000000006,0.0],[2663,true,true,null,906.990000000000009,1.0,null,null,0.935,false,943.120000000000005,233.120000000000005,551.769999999999982,-155.039999999999992,0.0],[2664,true,true,null,1026.779999999999973,1.0,null,null,0.923,false,1503.0,403.0,657.680000000000064,-222.980000000000018,0.0],[2665,true,true,null,962.810000000000059,1.0,null,null,0.925,false,1503.0,403.0,657.680000000000064,-222.980000000000018,0.0],[2666,true,true,null,405.170000000000016,1.0,null,null,0.977,false,1498.0,398.0,390.29000000000002,-446.449999999999989,0.0],[1494,true,true,null,4.57,1.0,null,null,1.024,false,24.0,4.8,7.0,-7.0,0.0],[2667,true,true,null,1441.990000000000009,1.0,null,null,0.968,false,1498.0,398.0,368.810000000000002,-446.449999999999989,0.0],[2668,true,true,null,81.760000000000005,1.0,null,null,0.944,false,125.0,8.5,93.600000000000008,-50.899999999999999,0.0],[2669,true,true,null,88.010000000000005,1.0,null,null,0.943,false,125.0,8.5,93.600000000000008,-50.899999999999999,0.0],[2670,true,true,null,137.700000000000017,1.0,null,null,0.955,false,148.200000000000017,4.2,72.700000000000003,-2.56,0.0],[2671,true,true,null,180.0,1.0,null,null,0.959,false,685.0,180.0,328.920000000000016,-51.659999999999997,0.0],[2672,true,true,null,571.649999999999977,1.0,null,null,0.951,false,610.0,310.0,359.660000000000025,-170.849999999999994,0.0],[2673,true,true,null,310.009999999999991,1.0,null,null,0.958,false,610.0,310.0,323.139999999999986,-212.840000000000003,0.0],[2674,true,true,null,205.0,1.0,null,null,0.962,false,700.0,205.0,380.920000000000016,-216.75,0.0],[2675,true,true,null,35.869999999999998,1.0,null,null,0.988,false,50.0,10.0,17.809999999999999,-10.970000000000001,0.0],[2676,true,true,null,37.18,1.0,null,null,0.988,false,50.0,10.0,17.809999999999999,-10.970000000000001,0.0],[286,true,true,null,2.21,1.0,null,null,0.998,false,11.0,2.2,8.0,-5.0,0.0],[2677,true,true,null,38.200000000000003,1.0,null,null,0.988,false,50.0,10.0,17.809999999999999,-10.970000000000001,0.0],[2678,true,true,null,34.539999999999999,1.0,null,null,0.988,false,50.0,10.0,17.809999999999999,-10.970000000000001,0.0],[2679,true,true,null,32.140000000000001,1.0,null,null,0.989,false,50.0,10.0,17.809999999999999,-10.970000000000001,0.0],[2680,true,true,null,36.770000000000003,1.0,null,null,0.988,false,50.0,10.0,17.809999999999999,-10.970000000000001,0.0],[2685,true,true,null,30.940000000000001,1.0,null,null,1.007,false,57.0,11.4,21.890000000000001,-12.76,0.0],[2686,true,true,null,239.009999999999991,1.0,null,null,0.922,false,451.0,239.0,320.29000000000002,-95.560000000000002,0.0],[2687,true,true,null,21.0,1.0,null,null,0.965,false,63.0,21.0,63.509999999999998,-8.25,0.0],[2688,true,true,null,240.0,1.0,null,null,0.988,false,425.0,240.0,267.620000000000004,-171.099999999999994,0.0],[2689,true,true,null,864.139999999999986,1.0,null,null,0.913,false,920.060000000000059,230.060000000000002,530.480000000000018,-149.360000000000014,0.0],[2690,true,true,null,864.139999999999986,1.0,null,null,0.913,false,920.07000000000005,230.069999999999993,530.549999999999954,-149.300000000000011,0.0],[603,true,true,null,10.92,1.0,null,null,0.983,false,12.4,2.48,6.5,-6.5,0.0],[2691,true,true,null,864.149999999999977,1.0,null,null,0.913,false,920.039999999999964,230.039999999999992,530.129999999999995,-149.640000000000015,0.0],[2692,true,true,null,237.080000000000012,1.0,null,null,0.92,false,927.07000000000005,237.069999999999993,531.299999999999954,-147.400000000000006,0.0],[2693,true,true,null,29.989999999999998,1.0,null,null,1.031,false,32.0,6.4,10.380000000000001,-5.76,0.0],[2694,true,true,null,860.420000000000073,1.0,null,null,0.968,false,1380.0,340.0,407.480000000000018,-463.970000000000027,0.0],[2695,true,true,null,841.330000000000041,1.0,null,null,0.968,false,1380.0,340.0,407.480000000000018,-463.970000000000027,0.0],[2696,true,true,null,13.0,1.0,null,null,1.007,false,65.0,13.0,37.340000000000003,-22.66,0.0],[2697,true,true,null,14.0,1.0,null,null,1.009,false,70.0,14.0,22.34,-21.699999999999999,0.0],[2698,true,true,null,13.0,1.0,null,null,1.005,false,65.0,13.0,53.950000000000003,-36.049999999999997,0.0],[2699,true,true,null,13.0,1.0,null,null,1.003,false,65.0,13.0,55.380000000000003,-34.619999999999998,0.0],[2700,true,true,null,36.920000000000002,1.0,null,null,1.004,false,70.0,14.0,39.630000000000002,-20.370000000000001,0.0],[1944,true,true,null,2.0,1.0,null,null,1.035,false,3.0,0.0,1.0,-1.0,0.0],[2701,true,true,null,1258.990000000000009,1.0,null,null,0.941,false,1308.0,288.0,566.82000000000005,-494.400000000000034,0.0],[2702,true,true,null,1258.990000000000009,1.0,null,null,0.941,false,1308.0,288.0,566.82000000000005,-494.400000000000034,0.0],[2703,true,true,null,13.17,1.0,null,null,1.008,false,22.0,4.4,10.52,-6.96,0.0],[2704,true,true,null,171.0,1.0,null,null,0.949,false,451.0,82.0,281.329999999999984,-122.560000000000002,0.0],[2705,true,true,null,7.2,1.0,null,null,1.024,false,36.0,7.2,10.34,-12.56,0.0],[2706,true,true,null,677.159999999999968,1.0,null,null,0.934,false,947.0,237.0,525.980000000000018,-146.099999999999994,0.0],[2707,true,true,null,681.810000000000059,1.0,null,null,0.934,false,947.0,267.0,527.889999999999986,-146.099999999999994,0.0],[2708,true,true,null,677.220000000000027,1.0,null,null,0.934,false,947.0,237.0,525.980000000000018,-146.099999999999994,0.0],[2709,true,true,null,677.220000000000027,1.0,null,null,0.934,false,947.0,237.0,525.980000000000018,-146.099999999999994,0.0],[2710,true,true,null,677.129999999999995,1.0,null,null,0.934,false,947.0,237.0,525.980000000000018,-146.099999999999994,0.0],[2150,true,true,null,2.7,1.0,null,null,1.03,false,9.0,1.8,5.5,-5.5,0.0],[2711,true,true,null,237.0,1.0,null,null,0.938,false,947.0,237.0,525.980000000000018,-146.099999999999994,0.0],[2712,true,true,null,125.0,1.0,null,null,0.959,false,240.0,125.0,132.47999999999999,-11.56,0.0],[2713,true,true,null,206.0,1.0,null,null,0.966,false,446.0,206.0,262.389999999999986,-135.969999999999999,0.0],[2716,true,true,null,272.0,1.0,null,null,0.936,false,607.0,272.0,297.579999999999984,-109.25,0.0],[2717,true,true,null,17.550000000000001,1.0,null,null,0.99,false,31.0,6.2,20.129999999999999,-7.22,0.0],[2718,true,true,null,13.99,1.0,null,null,0.988,false,31.0,6.2,33.890000000000001,-21.949999999999999,0.0],[2719,true,true,null,5.48,1.0,null,null,1.04,false,21.0,4.2,8.32,-5.51,0.0],[2720,true,true,null,24.59,1.0,null,null,1.01,false,35.0,7.0,6.13,-7.24,0.0],[2721,true,true,null,24.620000000000001,1.0,null,null,1.01,false,35.0,7.0,6.13,-7.24,0.0],[2722,true,true,null,24.690000000000001,1.0,null,null,1.01,false,35.0,7.0,11.43,-11.73,0.0],[382,true,true,null,11.1,1.0,null,null,1.06,false,14.0,2.8,7.0,-7.0,0.0],[2723,true,true,null,24.190000000000001,1.0,null,null,1.01,false,35.0,7.0,6.13,-7.24,0.0],[2724,true,true,null,120.0,1.0,null,null,0.956,false,235.0,120.0,112.629999999999996,-113.650000000000006,0.0],[2725,true,true,null,43.490000000000002,1.0,null,null,1.001,false,47.0,9.4,10.25,-4.13,0.0],[2726,true,true,null,9.4,1.0,null,null,1.005,false,47.0,9.4,10.25,-4.13,0.0],[2727,true,true,null,23.210000000000001,1.0,null,null,0.987,false,31.0,6.2,14.949999999999999,-10.67,0.0],[2728,true,true,null,29.0,1.0,null,null,0.985,false,31.0,6.2,14.949999999999999,-10.67,0.0],[2729,true,true,null,29.0,1.0,null,null,0.985,false,31.0,6.2,14.949999999999999,-10.67,0.0],[2730,true,true,null,48.0,1.0,null,null,0.949,false,50.0,10.0,31.73,-15.57,0.0],[2731,true,true,null,7.4,1.0,null,null,1.005,false,37.0,7.4,15.94,-8.359999999999999,0.0],[2732,true,true,null,7.4,1.0,null,null,1.005,false,37.0,7.4,15.94,-8.359999999999999,0.0],[381,true,true,null,12.949999999999999,1.0,null,null,1.06,false,14.0,2.8,7.0,-7.0,0.0],[2733,true,true,null,137.0,1.0,null,null,0.968,false,250.0,137.0,170.469999999999999,-33.560000000000002,0.0],[2734,true,true,null,137.0,1.0,null,null,0.968,false,250.0,137.0,170.469999999999999,-33.560000000000002,0.0],[2735,true,true,null,15.869999999999999,1.0,null,null,0.936,false,19.0,3.8,10.619999999999999,-7.12,0.0],[2739,true,true,null,196.0,1.0,null,null,1.003,false,414.0,196.0,211.590000000000003,-164.909999999999997,0.0],[2740,true,true,null,41.600000000000001,1.0,null,null,0.975,false,52.0,10.4,39.82,-19.390000000000001,0.0],[2741,true,true,null,30.690000000000001,1.0,null,null,0.977,false,52.0,10.4,39.82,-19.390000000000001,0.0],[2742,true,true,null,5.0,1.0,null,null,0.964,false,185.0,5.0,104.230000000000004,-23.379999999999999,0.0],[2743,true,true,null,5.0,1.0,null,null,0.964,false,185.0,5.0,104.230000000000004,-23.379999999999999,0.0],[2744,true,true,null,45.399999999999999,1.0,null,null,0.967,false,227.0,45.399999999999999,195.629999999999996,-56.560000000000002,0.0],[2745,true,true,null,45.399999999999999,1.0,null,null,0.967,false,227.0,45.399999999999999,195.980000000000018,-56.259999999999998,0.0],[1175,true,true,null,2.18,1.0,null,null,1.071,false,4.0,0.0,0.1,-0.1,0.0],[2168,true,true,null,11.99,1.0,null,null,1.03,false,12.800000000000001,2.56,7.7,-7.7,0.0],[2746,true,true,null,45.399999999999999,1.0,null,null,0.967,false,227.0,45.399999999999999,195.980000000000018,-56.259999999999998,0.0],[2747,true,true,null,45.399999999999999,1.0,null,null,0.967,false,227.0,45.399999999999999,196.080000000000012,-56.170000000000002,0.0],[2748,true,true,null,913.980000000000018,1.0,null,null,0.933,false,950.0,237.0,511.819999999999993,-179.840000000000003,0.0],[2749,true,true,null,913.980000000000018,1.0,null,null,0.938,false,950.0,237.0,533.700000000000046,-146.330000000000012,0.0],[2750,true,true,null,156.0,1.0,null,null,0.991,false,304.0,156.0,191.0,-152.75,0.0],[2751,true,true,null,168.0,1.0,null,null,0.929,false,316.0,168.0,197.289999999999992,-145.960000000000008,0.0],[2752,true,true,null,1308.980000000000018,1.0,null,null,0.923,false,1360.0,289.0,671.919999999999959,-213.289999999999992,0.0],[2753,true,true,null,58.0,1.0,null,null,0.976,false,61.0,12.199999999999999,28.899999999999999,-24.219999999999999,0.0],[2754,true,true,null,58.0,1.0,null,null,0.976,false,61.0,12.199999999999999,28.899999999999999,-24.219999999999999,0.0],[2755,true,true,null,726.470000000000027,1.0,null,null,0.93,false,1380.0,350.0,706.840000000000032,-235.159999999999997,0.0],[1562,true,true,null,25.629999999999999,1.0,null,null,1.084,false,39.0,7.8,19.0,-19.0,0.0],[2756,true,true,null,706.560000000000059,1.0,null,null,0.928,false,1380.0,350.0,706.840000000000032,-235.159999999999997,0.0],[2757,true,true,null,708.740000000000009,1.0,null,null,0.929,false,1380.0,350.0,695.830000000000041,-235.159999999999997,0.0],[2758,true,true,null,350.04000000000002,1.0,null,null,0.933,false,1290.0,350.0,681.310000000000059,-260.689999999999998,0.0],[2759,true,true,null,46.43,1.0,null,null,0.971,false,51.0,0.8,37.509999999999998,-10.49,0.0],[2760,true,true,null,1103.549999999999954,1.0,null,null,0.931,false,1380.0,340.0,675.480000000000018,-207.210000000000008,0.0],[2761,true,true,null,340.009999999999991,1.0,null,null,0.937,false,1380.0,340.0,675.480000000000018,-207.210000000000008,0.0],[2762,true,true,null,175.0,1.0,null,null,0.929,false,585.0,175.0,322.120000000000005,-100.079999999999998,0.0],[2763,true,true,null,175.0,1.0,null,null,0.929,false,585.0,175.0,322.120000000000005,-100.079999999999998,0.0],[2764,true,true,null,175.0,1.0,null,null,0.929,false,585.0,175.0,322.120000000000005,-100.079999999999998,0.0],[2765,true,true,null,175.0,1.0,null,null,0.939,false,585.0,175.0,311.949999999999989,-109.400000000000006,0.0],[79,true,true,null,13.35,1.0,null,null,1.079,false,30.0,6.0,10.0,-4.0,0.0],[2766,true,true,null,8.6,1.0,null,null,1.014,false,43.0,8.6,33.109999999999999,-20.489999999999998,0.0],[2767,true,true,null,8.6,1.0,null,null,1.014,false,43.0,8.6,33.109999999999999,-20.489999999999998,0.0],[2768,true,true,null,8.6,1.0,null,null,1.014,false,43.0,8.6,33.109999999999999,-20.489999999999998,0.0],[2769,true,true,null,14.0,1.0,null,null,0.978,false,70.0,14.0,78.5,-24.379999999999999,0.0],[2770,true,true,null,16.800000000000001,1.0,null,null,0.982,false,80.0,16.0,42.659999999999997,-21.780000000000001,0.0],[2771,true,true,null,184.200000000000017,1.0,null,null,0.944,false,230.0,70.0,107.829999999999998,-75.850000000000008,0.0],[2772,true,true,null,565.419999999999959,1.0,null,null,0.92,false,605.0,295.0,230.469999999999999,-115.950000000000003,0.0],[2773,true,true,null,11.199999999999999,1.0,null,null,1.046,false,56.0,11.199999999999999,24.739999999999998,-16.5,0.0],[2774,true,true,null,37.579999999999998,1.0,null,null,0.96,false,58.0,11.6,61.200000000000003,-1.88,0.0],[2775,true,true,null,10.369999999999999,1.0,null,null,1.049,false,23.100000000000001,4.62,17.140000000000001,-10.859999999999999,0.0],[103,true,true,null,3.14,1.0,null,null,1.078,false,6.0,1.2,2.0,1.9,0.0],[2776,true,true,null,220.0,1.0,null,null,0.971,false,429.0,220.0,159.050000000000011,-15.32,0.0],[2777,true,true,null,18.079999999999998,1.0,null,null,1.011,false,41.0,8.199999999999999,21.739999999999998,-17.309999999999999,0.0],[2778,true,true,null,16.0,1.0,null,null,1.035,false,80.0,16.0,18.02,-6.63,0.0],[2779,true,true,null,16.0,1.0,null,null,1.035,false,80.0,16.0,18.02,-6.63,0.0],[2780,true,true,null,16.0,1.0,null,null,1.035,false,80.0,16.0,18.02,-6.63,0.0],[2781,true,true,null,36.0,1.0,null,null,0.988,false,180.0,36.0,124.730000000000004,-79.859999999999999,0.0],[2782,true,true,null,36.0,1.0,null,null,1.01,false,180.0,36.0,116.010000000000005,-89.939999999999998,0.0],[2783,true,true,null,36.0,1.0,null,null,0.988,false,180.0,36.0,124.730000000000004,-79.859999999999999,0.0],[2784,true,true,null,36.0,1.0,null,null,0.988,false,180.0,36.0,124.730000000000004,-79.859999999999999,0.0],[2785,true,true,null,42.0,1.0,null,null,1.019,false,44.0,8.800000000000001,14.640000000000001,-6.01,0.0],[146,true,true,null,6.89,1.0,null,null,1.029,false,11.0,2.2,4.0,-4.0,0.0],[2786,true,true,null,7.6,1.0,null,null,1.039,false,38.0,7.6,27.02,-18.300000000000001,0.0],[2787,true,true,null,22.260000000000002,1.0,null,null,0.961,false,33.0,6.6,26.239999999999998,-3.76,0.0],[2788,true,true,null,124.980000000000004,1.0,null,null,1.023,false,130.0,26.0,30.84,-18.18,0.0],[2789,true,true,null,1282.0,1.0,null,null,0.926,false,1332.0,282.0,671.480000000000018,-239.659999999999997,0.0],[2790,true,true,null,762.529999999999973,1.0,null,null,0.932,false,1332.0,282.0,671.480000000000018,-239.659999999999997,0.0],[2792,true,true,null,225.0,1.0,null,null,0.959,false,595.0,225.0,204.969999999999999,-97.540000000000006,0.0],[2793,true,true,null,120.0,1.0,null,null,0.917,false,436.0,120.0,307.189999999999998,-50.960000000000001,0.0],[2794,true,true,null,127.0,1.0,null,null,0.918,false,443.0,127.0,310.329999999999984,-47.759999999999998,0.0],[2795,true,true,null,9.800000000000001,1.0,null,null,1.007,false,49.0,9.800000000000001,32.520000000000003,-21.789999999999999,0.0],[2796,true,true,null,12.57,1.0,null,null,0.983,false,30.0,6.0,21.620000000000001,-13.24,0.0],[1888,true,true,null,2.4,1.0,null,null,1.052,false,12.0,2.4,5.0,-5.0,0.0],[2797,true,true,null,770.789999999999964,1.0,null,null,0.93,false,950.090000000000032,230.090000000000003,541.659999999999968,-152.009999999999991,0.0],[2798,true,true,null,233.099999999999994,1.0,null,null,0.935,false,953.090000000000032,233.090000000000003,541.940000000000055,-151.129999999999995,0.0],[2799,true,true,null,47.0,1.0,null,null,0.992,false,49.0,9.800000000000001,21.77,-20.199999999999999,0.0],[2800,true,true,null,47.0,1.0,null,null,0.992,false,49.0,9.800000000000001,21.77,-20.199999999999999,0.0],[2801,true,true,null,11.199999999999999,1.0,null,null,0.953,false,56.0,11.199999999999999,30.300000000000001,-13.699999999999999,0.0],[2802,true,true,null,32.200000000000003,1.0,null,null,0.965,false,161.0,32.200000000000003,114.060000000000002,-45.939999999999998,0.0],[2803,true,true,null,32.200000000000003,1.0,null,null,0.965,false,161.0,32.200000000000003,114.060000000000002,-45.939999999999998,0.0],[2804,true,true,null,32.200000000000003,1.0,null,null,0.965,false,161.0,32.200000000000003,114.060000000000002,-45.939999999999998,0.0],[2805,true,true,null,32.200000000000003,1.0,null,null,0.965,false,161.0,32.200000000000003,114.060000000000002,-45.939999999999998,0.0],[2806,true,true,null,685.690000000000055,1.0,null,null,0.963,false,985.0,275.0,405.579999999999984,-162.030000000000001,0.0],[1607,true,true,null,2.16,1.0,null,null,1.032,false,5.0,0.0,2.0,-2.0,0.0],[2807,true,true,null,738.409999999999968,1.0,null,null,0.964,false,985.0,275.0,400.579999999999984,-167.030000000000001,0.0],[2808,true,true,null,744.560000000000059,1.0,null,null,0.963,false,985.0,275.0,400.579999999999984,-167.030000000000001,0.0],[2809,true,true,null,607.5,1.0,null,null,0.959,false,985.0,275.0,400.579999999999984,-167.030000000000001,0.0],[2810,true,true,null,72.0,1.0,null,null,0.962,false,185.0,72.0,102.609999999999999,-26.719999999999999,0.0],[2811,true,true,null,72.0,1.0,null,null,0.962,false,185.0,72.0,102.609999999999999,-24.82,0.0],[2812,true,true,null,72.0,1.0,null,null,0.979,false,185.0,72.0,102.609999999999999,-24.82,0.0],[2814,true,true,null,138.0,1.0,null,null,0.943,false,268.0,138.0,148.090000000000003,-87.359999999999999,0.0],[2815,true,true,null,130.0,1.0,null,null,0.947,false,136.0,27.199999999999999,133.879999999999996,-46.119999999999997,0.0],[2816,true,true,null,123.0,1.0,null,null,0.955,false,128.0,25.600000000000001,123.950000000000003,-46.049999999999997,0.0],[1673,true,true,null,15.65,1.0,null,null,1.032,false,37.799999999999997,7.56,12.0,-8.0,0.0],[1675,true,true,null,15.800000000000001,1.0,null,null,1.032,false,37.799999999999997,7.56,12.0,-8.0,0.0],[1674,true,true,null,15.02,1.0,null,null,1.032,false,37.799999999999997,7.56,12.0,-8.0,0.0],[1450,true,true,null,11.99,1.0,null,null,1.053,false,13.0,2.6,5.0,-5.0,0.0],[2021,true,true,null,44.490000000000002,1.0,null,null,1.039,false,45.0,44.0,27.0,-9.0,0.0],[261,true,true,null,1.66,1.0,null,null,1.04,false,8.300000000000001,1.66,8.300000000000001,-8.300000000000001,0.0],[1973,true,true,null,11.199999999999999,1.0,null,null,1.021,false,23.699999999999999,4.74,7.0,-3.0,0.0],[1974,true,true,null,4.74,1.0,null,null,1.021,false,23.699999999999999,4.74,7.0,-3.0,0.0],[1975,true,true,null,11.279999999999999,1.0,null,null,1.021,false,23.699999999999999,4.74,7.0,-3.0,0.0],[1972,true,true,null,11.289999999999999,1.0,null,null,1.021,false,23.699999999999999,4.74,7.0,-3.0,0.0],[597,true,true,null,14.800000000000001,1.0,null,null,1.114,false,17.0,3.4,1.0,0.9,0.0],[845,true,true,null,10.44,1.0,null,null,1.01,false,24.0,4.8,4.0,-4.0,0.0],[843,true,true,null,13.460000000000001,1.0,null,null,1.01,false,24.0,4.8,4.0,-4.0,0.0],[846,true,true,null,4.81,1.0,null,null,1.01,false,24.0,4.8,4.0,-4.0,0.0],[439,true,true,null,27.57,1.0,null,null,1.036,false,50.0,10.0,27.0,-9.0,0.0],[844,true,true,null,7.56,1.0,null,null,1.01,false,24.0,4.8,4.0,-4.0,0.0],[898,true,true,null,9.98,1.0,null,null,1.02,false,29.0,5.8,8.0,-18.0,0.0],[899,true,true,null,12.619999999999999,1.0,null,null,1.029,false,29.0,5.8,5.0,-18.0,0.0],[1588,true,true,null,0.31,1.0,null,null,1.03,false,2.0,0.0,3.0,-1.0,0.0],[345,true,true,null,14.33,1.0,null,null,1.07,false,31.0,6.2,15.0,-17.0,0.0],[344,true,true,null,29.0,1.0,null,null,1.06,false,31.0,6.2,15.0,-17.0,0.0],[346,true,true,null,29.0,1.0,null,null,1.06,false,31.0,6.2,15.0,-17.0,0.0],[889,true,true,null,10.93,1.0,null,null,1.029,false,24.0,4.8,0.0,-0.01,0.0],[885,true,true,null,4.81,1.0,null,null,1.029,false,24.0,4.8,8.0,-7.0,0.0],[887,true,true,null,4.8,1.0,null,null,1.029,false,24.0,4.8,8.0,-7.0,0.0],[549,true,true,null,12.4,1.0,null,null,1.077,false,62.0,12.4,40.0,-40.0,0.0],[884,true,true,null,10.85,1.0,null,null,1.029,false,24.0,4.8,8.0,-7.0,0.0],[886,true,true,null,6.96,1.0,null,null,1.029,false,24.0,4.8,8.0,-7.0,0.0],[888,true,true,null,11.539999999999999,1.0,null,null,1.029,false,24.0,4.8,8.0,-7.0,0.0],[322,true,true,null,8.43,1.0,null,null,1.024,false,23.5,4.7,8.0,-8.0,0.0],[1791,true,true,null,24.989999999999998,1.0,null,null,1.029,false,27.0,5.4,6.0,-11.0,0.0],[2188,true,true,null,30.0,1.0,null,null,1.035,false,32.0,6.4,12.0,-8.0,0.0],[255,true,true,null,9.0,1.0,null,null,1.05,false,45.0,9.0,45.0,-45.0,0.0],[366,true,true,null,17.530000000000001,1.0,null,null,0.986,false,20.0,4.0,10.0,-10.0,0.0],[686,true,true,null,44.009999999999998,1.0,null,null,1.022,false,239.0,44.0,100.0,-60.0,0.0],[687,true,true,null,44.009999999999998,1.0,null,null,1.022,false,239.0,44.0,100.0,-60.0,0.0],[1165,true,true,null,15.380000000000001,1.0,null,null,1.07,false,18.0,3.6,10.0,-10.0,0.0],[1725,true,true,null,4.82,1.0,null,null,1.063,false,7.0,1.4,2.0,-3.0,0.0],[1757,true,true,null,1.6,1.0,null,null,1.039,false,8.0,1.6,3.0,-3.0,0.0],[1160,true,true,null,7.99,1.0,null,null,0.977,false,8.9,1.78,1.0,-2.0,0.0],[1116,true,true,null,11.0,1.0,null,null,1.056,false,12.0,2.4,5.0,-5.0,0.0],[1379,true,true,null,14.99,1.0,null,null,1.04,false,16.0,3.2,17.300000000000001,-17.300000000000001,0.0],[314,true,true,null,5.58,1.0,null,null,1.054,false,6.7,1.34,3.7,-3.7,0.0],[2108,true,true,null,9.0,1.0,null,null,1.035,false,10.0,2.0,5.0,-5.0,0.0],[204,true,true,null,22.0,1.0,null,null,1.056,false,23.399999999999999,4.68,8.0,-17.0,0.0],[1960,true,true,null,5.2,1.0,null,null,1.038,false,26.0,5.2,16.0,-17.0,0.0],[2091,true,true,null,0.95,1.0,null,null,1.079,false,2.5,0.0,0.1,-0.1,0.0],[2166,true,true,null,21.0,1.0,null,null,1.05,false,22.0,4.4,7.0,-12.0,0.0],[2215,true,true,null,6.0,1.0,null,null,1.055,false,30.0,6.0,18.0,-18.0,0.0],[1503,true,true,null,15.210000000000001,1.0,null,null,1.051,false,23.100000000000001,4.62,14.0,-14.0,0.0],[181,true,true,null,3.6,1.0,null,null,1.063,false,18.0,3.6,5.0,-5.0,0.0],[714,true,true,null,5.82,1.0,null,null,1.054,false,10.199999999999999,2.04,6.0,-6.0,0.0],[2090,true,true,null,10.99,1.0,null,null,1.045,false,11.5,2.3,1.0,-1.0,0.0],[1687,true,true,null,11.99,1.0,null,null,1.051,false,13.0,2.6,7.8,-7.8,0.0],[784,true,true,null,21.23,1.0,null,null,1.059,false,40.0,8.0,20.0,-18.0,0.0],[786,true,true,null,23.649999999999999,1.0,null,null,1.059,false,40.0,8.0,20.0,-18.0,0.0],[785,true,true,null,23.629999999999999,1.0,null,null,1.059,false,40.0,8.0,20.0,-18.0,0.0],[1599,true,true,null,2.4,1.0,null,null,1.051,false,12.0,2.4,7.0,-7.0,0.0],[1748,true,true,null,37.990000000000002,1.0,null,null,1.07,false,40.0,1.0,5.0,-15.0,0.0],[335,true,true,null,4.35,1.0,null,null,1.045,false,8.0,1.6,26.0,-26.0,0.0],[334,true,true,null,9.73,1.0,null,null,1.054,false,19.0,3.8,26.0,-26.0,0.0],[1774,true,true,null,9.99,1.0,null,null,1.057,false,10.6,2.12,6.5,-6.5,0.0],[1983,true,true,null,20.0,1.0,null,null,1.023,false,21.399999999999999,4.28,15.0,-15.0,0.0],[1995,true,true,null,16.210000000000001,1.0,null,null,1.065,false,87.0,17.399999999999999,26.100000000000001,-24.359999999999999,0.0],[500,true,true,null,15.0,1.0,null,null,1.051,false,75.0,15.0,50.0,-40.0,0.0],[501,true,true,null,15.0,1.0,null,null,1.051,false,75.0,15.0,50.0,-40.0,0.0],[550,true,true,null,-0.68,1.0,null,null,1.06,false,41.399999999999999,8.279999999999999,12.42,-11.59,0.0],[268,true,true,null,3.0,1.0,null,null,1.024,false,15.0,3.0,7.0,0.0,0.0],[2076,true,true,null,0.48,1.0,null,null,1.04,false,1.0,0.0,1.0,-1.0,0.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -96,7 +158,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "switch": { @@ -133,7 +196,7 @@ "ext_grid": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0],\"data\":[[271,true,null,-4.12756264,1.075,239.0,47.799999999999997,80.0,-75.0]]}", + "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0],\"data\":[[271,true,null,-4.12756264,1.075,239.0,47.799999999999997,80.0,-75.0,1.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -144,7 +207,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "line": { @@ -297,7 +361,7 @@ "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\",\"in_service\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"ps_mw\",\"qs_mvar\",\"qz_mvar\",\"pz_mw\",\"r_ohm\",\"x_ohm\",\"vm_pu\",\"in_service\",\"slack_weight\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "name": "object", @@ -309,7 +373,8 @@ "r_ohm": "float64", "x_ohm": "float64", "vm_pu": "float64", - "in_service": "bool" + "in_service": "bool", + "slack_weight": "float64" } }, "measurement": { @@ -358,13 +423,14 @@ "controller": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"recycle\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"initial_run\",\"recycle\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "object": "object", "in_service": "bool", "order": "float64", "level": "object", + "initial_run": "bool", "recycle": "bool" } }, @@ -388,11 +454,11 @@ "coords": "object" } }, - "version": "2.2.1", + "version": "2.7.1", "converged": true, "name": "", "f_hz": 50, - "sn_mva": 1.0, + "sn_mva": 100, "std_types": { "line": { "NAYY 4x150 SE": { @@ -1272,6 +1338,16 @@ "q_mvar": "float64" } }, + "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" + } + }, "res_sgen": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -1356,6 +1432,341 @@ "va_to_degree": "float64" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_bus_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_line_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo3w_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_ext_grid_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_gen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_sgen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_shunt_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "user_pf_options": {}, "OPF_converged": false } diff --git a/pandapower/networks/power_system_test_case_jsons/case2869pegase.json b/pandapower/networks/power_system_test_case_jsons/case2869pegase.json index 27cec0edd..dd02ac580 100644 --- a/pandapower/networks/power_system_test_case_jsons/case2869pegase.json +++ b/pandapower/networks/power_system_test_case_jsons/case2869pegase.json @@ -54,6 +54,68 @@ "current_source": "bool" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "storage": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -76,7 +138,7 @@ "gen": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0,1,10,100,101,102,103,104,105,106,107,108,109,11,110,111,112,113,114,115,116,117,118,119,12,120,121,122,123,124,125,126,127,128,129,13,130,131,132,133,134,135,136,137,138,139,14,140,141,142,143,144,145,146,147,148,149,15,150,151,152,153,154,155,156,157,158,159,16,160,161,162,163,164,165,166,167,168,169,17,170,171,172,173,174,175,176,177,178,179,18,180,181,182,183,184,185,186,187,188,189,19,190,191,192,193,194,195,196,197,198,199,2,20,200,201,202,203,204,205,206,207,208,209,21,210,211,212,213,214,215,216,217,218,219,22,220,221,222,223,224,225,226,227,228,229,23,230,231,232,233,234,235,236,237,238,239,24,240,241,242,243,244,245,246,247,248,249,25,250,251,252,253,254,255,256,257,258,259,26,260,261,262,263,264,265,266,267,268,269,27,270,271,272,273,274,275,276,277,278,279,28,280,281,282,283,284,285,286,287,288,289,29,290,291,292,293,294,295,296,297,298,299,3,30,300,301,302,303,304,305,306,307,308,309,31,310,311,312,313,314,315,316,317,318,319,32,320,321,322,323,324,325,326,327,328,329,33,330,331,332,333,334,335,336,337,338,339,34,340,341,342,343,344,345,346,347,348,349,35,350,351,352,353,354,355,356,357,358,359,36,360,361,362,363,364,365,366,367,368,369,37,370,371,372,373,374,375,376,377,378,379,38,380,381,382,383,384,385,386,387,388,389,39,390,391,392,393,394,395,396,397,398,399,4,40,400,401,402,403,404,405,406,407,408,409,41,410,411,412,413,414,415,416,417,418,419,42,420,421,422,423,424,425,426,427,428,429,43,430,431,432,433,434,435,436,437,438,439,44,440,441,442,443,444,445,446,447,448,449,45,450,451,452,453,454,455,456,457,458,459,46,460,461,462,463,464,465,466,467,468,469,47,470,471,472,473,474,475,476,477,478,479,48,480,481,482,483,484,485,486,487,488,489,49,490,491,492,493,494,495,496,497,498,499,5,50,500,501,502,503,504,505,506,507,508,51,52,53,54,55,56,57,58,59,6,60,61,62,63,64,65,66,67,68,69,7,70,71,72,73,74,75,76,77,78,79,8,80,81,82,83,84,85,86,87,88,89,9,90,91,92,93,94,95,96,97,98,99],\"data\":[[8,true,true,null,8.0,1.0,null,null,1.006206,false,16.199999999999999,0.0,5.91,-4.56],[9,true,true,null,5.3,1.0,null,null,1.031909,false,5.38,0.0,2.27,-1.08],[88,true,true,null,975.899999999999977,1.0,null,null,1.046197,false,1600.0,533.330000000000041,721.25,-258.70999999999998],[598,true,true,null,573.680000000000064,1.0,null,null,1.043102,false,912.779999999999973,312.78000000000003,396.019999999999982,-155.830000000000012],[600,true,true,null,1526.0,1.0,null,null,1.050852,false,1600.0,533.330000000000041,686.730000000000018,-294.620000000000004],[605,true,true,null,246.0,1.0,null,null,1.077705,false,300.0,0.0,133.110000000000014,-51.25],[607,true,true,null,-31.18,1.0,null,null,1.021788,false,100.0,-41.57,38.670000000000002,-11.1],[611,true,true,null,115.5,1.0,null,null,1.038338,false,472.160000000000025,39.350000000000001,160.360000000000014,-150.950000000000017],[617,true,true,null,-17.02,1.0,null,null,1.056511,false,100.0,-22.699999999999999,2.05,-0.97],[620,true,true,null,31.0,1.0,null,null,1.066953,false,40.0,0.0,18.140000000000001,-6.75],[632,true,true,null,141.599999999999994,1.0,null,null,1.080207,false,180.0,0.0,80.510000000000005,-30.07],[640,true,true,null,576.0,1.0,null,null,1.072679,false,600.0,200.0,257.0,-110.850000000000008],[642,true,true,null,855.600000000000023,1.0,null,null,1.034553,false,1000.0,333.329999999999984,441.850000000000023,-171.27000000000001],[100,true,true,null,83.700000000000003,1.0,null,null,1.049578,false,120.0,0.0,55.539999999999999,-19.16],[646,true,true,null,836.200000000000045,1.0,null,null,1.008592,false,2000.0,666.669999999999959,962.200000000000045,-263.649999999999977],[658,true,true,null,176.0,1.0,null,null,1.03273,false,200.0,0.0,88.390000000000001,-36.189999999999998],[661,true,true,null,33.899999999999999,1.0,null,null,1.026543,false,40.0,0.0,17.879999999999999,-7.04],[663,true,true,null,1063.5,1.0,null,null,1.050714,false,1200.0,400.0,522.740000000000009,-212.370000000000005],[665,true,true,null,1269.400000000000091,1.0,null,null,1.048234,false,1500.0,500.0,661.899999999999977,-257.620000000000004],[677,true,true,null,498.400000000000034,1.0,null,null,1.064827,false,600.0,200.0,266.170000000000016,-101.5],[685,true,true,null,-121.299999999999997,1.0,null,null,1.070558,false,100.0,-161.72999999999999,58.350000000000001,-16.260000000000002],[690,true,true,null,7.9,1.0,null,null,1.014181,false,16.120000000000001,0.0,7.47,-2.56],[691,true,true,null,-53.289999999999999,1.0,null,null,1.036195,false,100.0,-71.049999999999997,19.510000000000002,-14.74],[693,true,true,null,204.300000000000011,1.0,null,null,1.020141,false,300.0,100.0,137.289999999999992,-46.579999999999998],[106,true,true,null,1250.400000000000091,1.0,null,null,1.054691,false,2000.0,666.669999999999959,926.350000000000023,-297.680000000000007],[695,true,true,null,-83.5,1.0,null,null,1.02967,false,100.0,-111.329999999999998,2.27,-1.04],[702,true,true,null,-38.450000000000003,1.0,null,null,1.023164,false,100.0,-51.259999999999998,2.23,-1.07],[708,true,true,null,362.0,1.0,null,null,1.000857,false,500.0,166.670000000000016,228.159999999999997,-78.829999999999998],[712,true,true,null,38.899999999999999,1.0,null,null,1.055141,false,119.299999999999997,0.0,41.670000000000002,-36.5],[715,true,true,null,110.5,1.0,null,null,1.068687,false,200.0,0.0,95.689999999999998,-28.93],[729,true,true,null,431.199999999999989,1.0,null,null,1.040978,false,600.0,200.0,273.490000000000009,-94.100000000000009],[737,true,true,null,78.200000000000003,1.0,null,null,1.025004,false,80.0,0.0,34.350000000000001,-15.5],[749,true,true,null,67.299999999999997,1.0,null,null,1.016849,false,409.090000000000032,0.0,134.539999999999992,-136.289999999999992],[751,true,true,null,-320.400000000000034,1.0,null,null,1.047704,false,100.0,-427.199999999999989,37.390000000000001,-12.449999999999999],[753,true,true,null,-100.5,1.0,null,null,1.043025,false,100.0,-134.0,54.299999999999997,-20.489999999999998],[115,true,true,null,69.0,1.0,null,null,1.020856,false,120.0,0.0,56.729999999999997,-17.84],[754,true,true,null,-43.200000000000003,1.0,null,null,1.040828,false,100.0,-57.600000000000001,105.340000000000003,-99.019999999999996],[761,true,true,null,1367.0,1.0,null,null,1.053565,false,2000.0,666.669999999999959,921.620000000000004,-304.730000000000018],[767,true,true,null,37.789999999999999,1.0,null,null,0.983266,false,80.0,0.0,38.009999999999998,-11.74],[769,true,true,null,46.799999999999997,1.0,null,null,1.049474,false,80.0,0.0,38.020000000000003,-11.81],[774,true,true,null,31.800000000000001,1.0,null,null,1.041748,false,80.0,0.0,39.119999999999997,-10.710000000000001],[776,true,true,null,286.5,1.0,null,null,1.049212,false,360.0,0.0,162.400000000000006,-61.789999999999999],[784,true,true,null,3.85,1.0,null,null,1.017237,false,234.52000000000001,0.0,78.129999999999995,-77.070000000000007],[793,true,true,null,54.299999999999997,1.0,null,null,1.050935,false,120.0,0.0,58.229999999999997,-16.489999999999998],[802,true,true,null,411.199999999999989,1.0,null,null,1.044905,false,600.0,200.0,276.189999999999998,-91.629999999999996],[807,true,true,null,76.480000000000004,1.0,null,null,1.041924,false,160.0,0.0,76.079999999999998,-23.59],[121,true,true,null,231.0,1.0,null,null,1.052152,false,280.0,0.0,124.120000000000005,-49.840000000000003],[811,true,true,null,1367.0,1.0,null,null,1.052984,false,2000.0,666.669999999999959,921.519999999999982,-304.79000000000002],[814,true,true,null,1897.0,1.0,null,null,1.054923,false,2000.0,666.669999999999959,848.759999999999991,-377.670000000000016],[817,true,true,null,41.920000000000002,1.0,null,null,1.036409,false,120.0,0.0,51.939999999999998,-22.800000000000001],[820,true,true,null,308.310000000000002,1.0,null,null,1.026597,false,700.0,200.0,124.680000000000007,-59.390000000000001],[821,true,true,null,144.900000000000006,1.0,null,null,1.013897,false,180.0,0.0,79.689999999999998,-30.77],[825,true,true,null,-72.900000000000006,1.0,null,null,1.020441,false,100.0,-97.200000000000003,69.010000000000005,-69.900000000000006],[834,true,true,null,77.600000000000008,1.0,null,null,1.039499,false,196.719999999999999,0.0,70.150000000000006,-58.100000000000001],[849,true,true,null,575.399999999999977,1.0,null,null,1.05096,false,900.0,300.0,416.699999999999989,-134.5],[854,true,true,null,1221.200000000000045,1.0,null,null,1.069288,false,2000.0,666.669999999999959,934.810000000000059,-291.470000000000027],[858,true,true,null,-95.100000000000009,1.0,null,null,1.044662,false,100.0,-126.799999999999997,88.329999999999998,-36.329999999999998],[130,true,true,null,83.100000000000009,1.0,null,null,1.029422,false,120.0,0.0,55.729999999999997,-19.010000000000002],[859,true,true,null,66.799999999999997,1.0,null,null,1.055463,false,160.0,0.0,77.909999999999997,-21.66],[860,true,true,null,1048.200000000000045,1.0,null,null,1.030206,false,1200.0,400.0,525.340000000000032,-209.840000000000003],[866,true,true,null,1250.400000000000091,1.0,null,null,1.054536,false,2000.0,666.669999999999959,926.259999999999991,-297.740000000000009],[867,true,true,null,71.799999999999997,1.0,null,null,0.991705,false,80.0,0.0,34.799999999999997,-14.94],[870,true,true,null,80.700000000000003,1.0,null,null,1.079986,false,120.0,0.0,55.979999999999997,-18.760000000000002],[871,true,true,null,31.600000000000001,1.0,null,null,1.044122,false,40.0,0.0,18.190000000000001,-6.74],[877,true,true,null,126.0,1.0,null,null,1.000604,false,160.0,0.0,72.019999999999996,-27.469999999999999],[882,true,true,null,4.5,1.0,null,null,1.060615,false,9.050000000000001,0.0,3.31,-2.54],[884,true,true,null,8.949999999999999,1.0,null,null,1.05418,false,214.860000000000014,0.0,72.950000000000003,-68.710000000000008],[885,true,true,null,60.899999999999999,1.0,null,null,1.052878,false,120.0,0.0,57.689999999999998,-17.02],[132,true,true,null,-40.350000000000001,1.0,null,null,1.013689,false,100.0,-53.799999999999997,1.95,-0.93],[889,true,true,null,-223.400000000000006,1.0,null,null,1.011629,false,100.0,-297.870000000000004,1.52,-0.73],[893,true,true,null,20.899999999999999,1.0,null,null,1.061022,false,40.0,0.0,19.190000000000001,-5.72],[906,true,true,null,53.200000000000003,1.0,null,null,1.049271,false,80.0,0.0,37.240000000000002,-12.539999999999999],[908,true,true,null,3.4,1.0,null,null,1.052968,false,6.83,0.0,2.51,-1.91],[911,true,true,null,-222.099999999999994,1.0,null,null,1.020023,false,100.0,-296.129999999999995,1.83,-0.87],[927,true,true,null,46.600000000000001,1.0,null,null,1.05077,false,493.350000000000023,0.0,184.460000000000008,-132.670000000000016],[933,true,true,null,162.5,1.0,null,null,1.043371,false,200.0,0.0,89.609999999999999,-34.82],[939,true,true,null,855.700000000000046,1.0,null,null,1.034318,false,1000.0,333.329999999999984,441.850000000000023,-171.27000000000001],[945,true,true,null,210.400000000000006,1.0,null,null,0.999852,false,400.0,133.330000000000012,167.719999999999999,-77.109999999999999],[967,true,true,null,-20.300000000000001,1.0,null,null,1.072644,false,100.0,-27.07,22.390000000000001,-20.989999999999998],[136,true,true,null,260.100000000000023,1.0,null,null,1.021096,false,540.0,0.0,257.230000000000018,-74.400000000000006],[968,true,true,null,38.600000000000001,1.0,null,null,1.0681,false,40.0,0.0,17.329999999999998,-7.61],[973,true,true,null,85.540000000000006,1.0,null,null,1.061763,false,240.0,0.0,113.969999999999999,-35.560000000000002],[974,true,true,null,-136.300000000000011,1.0,null,null,1.02503,false,100.0,-181.72999999999999,70.25,-29.329999999999998],[978,true,true,null,-31.34,1.0,null,null,1.017094,false,100.0,-41.789999999999999,6.66,-5.1],[979,true,true,null,9.0,1.0,null,null,1.023658,false,18.41,0.0,6.78,-5.13],[980,true,true,null,33.899999999999999,1.0,null,null,1.006379,false,206.860000000000014,0.0,67.920000000000002,-69.019999999999996],[986,true,true,null,98.700000000000003,1.0,null,null,1.056991,false,120.0,0.0,53.700000000000003,-20.98],[995,true,true,null,416.699999999999989,1.0,null,null,1.03763,false,540.0,0.0,243.610000000000014,-88.460000000000008],[1001,true,true,null,-107.400000000000006,1.0,null,null,1.032146,false,100.0,-143.200000000000017,36.789999999999999,-13.0],[1005,true,true,null,13.0,1.0,null,null,1.012423,false,420.0,0.0,178.469999999999999,-79.109999999999999],[144,true,true,null,-107.400000000000006,1.0,null,null,1.012805,false,100.0,-143.200000000000017,6.28,-4.82],[1007,true,true,null,-42.299999999999997,1.0,null,null,1.051571,false,100.0,-56.399999999999999,62.229999999999997,-51.369999999999997],[1024,true,true,null,326.400000000000034,1.0,null,null,1.027251,false,500.0,166.670000000000016,229.0,-77.019999999999996],[1028,true,true,null,861.300000000000068,1.0,null,null,1.069265,false,1000.0,333.329999999999984,439.199999999999989,-173.430000000000007],[1030,true,true,null,-26.48,1.0,null,null,1.016523,false,100.0,-35.299999999999997,38.130000000000003,-11.640000000000001],[1034,true,true,null,-45.5,1.0,null,null,1.03247,false,100.0,-60.670000000000002,34.409999999999997,-15.34],[1035,true,true,null,-600.0,1.0,null,null,1.08873,false,630.0,-630.0,99999.0,-99999.0],[1039,true,true,null,56.799999999999997,1.0,null,null,1.014746,false,80.0,0.0,37.100000000000001,-12.76],[1041,true,true,null,19.07,1.0,null,null,1.047796,false,80.0,0.0,38.200000000000003,-11.609999999999999],[1043,true,true,null,44.5,1.0,null,null,1.055303,false,135.27000000000001,0.0,47.189999999999998,-41.439999999999998],[1051,true,true,null,2.4,1.0,null,null,1.041678,false,120.0,0.0,54.590000000000003,-20.190000000000001],[152,true,true,null,539.399999999999977,1.0,null,null,1.074804,false,600.0,200.0,261.79000000000002,-106.670000000000002],[1059,true,true,null,171.300000000000011,1.0,null,null,0.997085,false,180.0,0.0,76.430000000000007,-34.119999999999997],[1060,true,true,null,53.700000000000003,1.0,null,null,1.065868,false,120.0,0.0,58.189999999999998,-16.5],[1067,true,true,null,521.0,1.0,null,null,1.056276,false,1200.0,400.0,550.970000000000027,-184.890000000000015],[1084,true,true,null,-370.800000000000011,1.0,null,null,1.04519,false,100.0,-494.400000000000034,53.75,-21.079999999999998],[1097,true,true,null,829.800000000000068,1.0,null,null,1.029628,false,900.0,300.0,387.879999999999996,-163.400000000000006],[1111,true,true,null,15.880000000000001,1.0,null,null,1.079121,false,80.0,0.0,38.829999999999998,-10.970000000000001],[1114,true,true,null,539.0,1.0,null,null,1.075232,false,600.0,0.0,261.699999999999989,-107.359999999999999],[1115,true,true,null,-321.800000000000011,1.0,null,null,1.045127,false,100.0,-429.069999999999993,52.829999999999998,-52.039999999999999],[1116,true,true,null,-88.400000000000006,1.0,null,null,1.019651,false,100.0,-117.870000000000004,19.800000000000001,-15.119999999999999],[1117,true,true,null,50.799999999999997,1.0,null,null,1.006097,false,80.0,0.0,37.43,-12.32],[11,true,true,null,34.299999999999997,1.0,null,null,1.005551,false,40.0,0.0,17.760000000000002,-7.14],[169,true,true,null,-51.670000000000002,1.0,null,null,1.069692,false,100.0,-68.890000000000001,18.469999999999999,-19.350000000000001],[1127,true,true,null,-125.400000000000006,1.0,null,null,1.03827,false,100.0,-167.200000000000017,54.590000000000003,-20.120000000000001],[1131,true,true,null,202.030000000000001,1.0,null,null,1.023915,false,300.0,0.0,130.009999999999991,-54.039999999999999],[1133,true,true,null,54.969999999999999,1.0,null,null,1.020807,false,160.0,0.0,76.850000000000008,-22.640000000000001],[1136,true,true,null,16.399999999999999,1.0,null,null,1.018948,false,66.090000000000003,0.0,22.350000000000001,-21.219999999999999],[1141,true,true,null,-26.199999999999999,1.0,null,null,1.067132,false,100.0,-34.93,116.070000000000007,-33.32],[1143,true,true,null,1097.400000000000091,1.0,null,null,1.065964,false,2000.0,666.669999999999959,943.639999999999986,-282.009999999999991],[1144,true,true,null,861.200000000000045,1.0,null,null,1.059844,false,1000.0,333.329999999999984,441.04000000000002,-172.050000000000011],[1150,true,true,null,424.5,1.0,null,null,1.013624,false,600.0,200.0,257.610000000000014,-110.430000000000007],[1154,true,true,null,5.2,1.0,null,null,1.032178,false,6.2,0.0,2.18,-1.05],[1155,true,true,null,239.599999999999994,1.0,null,null,1.030169,false,300.0,100.0,133.840000000000003,-49.890000000000001],[173,true,true,null,-270.0,1.0,null,null,1.043394,false,100.0,-360.0,17.879999999999999,-7.03],[1156,true,true,null,164.400000000000006,1.0,null,null,1.025431,false,420.0,0.0,180.110000000000014,-77.840000000000003],[1158,true,true,null,-12.58,1.0,null,null,1.041028,false,100.0,-16.780000000000001,36.340000000000003,-13.470000000000001],[1161,true,true,null,40.399999999999999,1.0,null,null,1.00126,false,80.0,0.0,38.359999999999999,-11.380000000000001],[1165,true,true,null,1146.299999999999954,1.0,null,null,1.062798,false,1200.0,400.0,514.149999999999977,-221.730000000000018],[1171,true,true,null,854.700000000000046,1.0,null,null,1.035379,false,1200.0,400.0,548.57000000000005,-187.159999999999997],[1183,true,true,null,90.600000000000008,1.0,null,null,0.997709,false,120.0,0.0,54.700000000000003,-19.969999999999999],[1184,true,true,null,85.400000000000006,1.0,null,null,1.058708,false,240.0,0.0,108.060000000000002,-41.25],[1188,true,true,null,257.0,1.0,null,null,1.084761,false,700.0,233.330000000000012,313.009999999999991,-116.730000000000004],[1194,true,true,null,292.0,1.0,null,null,1.029497,false,400.0,133.330000000000012,165.759999999999991,-79.170000000000002],[1195,true,true,null,837.300000000000068,1.0,null,null,1.026381,false,900.0,300.0,388.170000000000016,-163.400000000000006],[185,true,true,null,38.200000000000003,1.0,null,null,1.06611,false,40.0,0.0,17.09,-7.79],[1198,true,true,null,-22.949999999999999,1.0,null,null,1.030834,false,100.0,-30.600000000000001,36.289999999999999,-35.420000000000002],[1206,true,true,null,855.600000000000023,1.0,null,null,1.035477,false,1000.0,333.329999999999984,440.689999999999998,-172.140000000000015],[1207,true,true,null,-25.100000000000001,1.0,null,null,1.046886,false,100.0,-33.469999999999999,34.270000000000003,-15.52],[1216,true,true,null,-21.27,1.0,null,null,1.044945,false,100.0,-28.370000000000001,38.020000000000003,-11.77],[1224,true,true,null,-27.100000000000001,1.0,null,null,1.029014,false,100.0,-36.130000000000003,126.159999999999997,-127.560000000000002],[1234,true,true,null,-134.5,1.0,null,null,1.060173,false,100.0,-179.330000000000012,55.670000000000002,-19.09],[1237,true,true,null,229.900000000000006,1.0,null,null,1.012943,false,300.0,100.0,134.97999999999999,-48.75],[1239,true,true,null,44.600000000000001,1.0,null,null,1.021034,false,80.0,0.0,38.049999999999997,-11.720000000000001],[1250,true,true,null,109.200000000000003,1.0,null,null,1.026951,false,120.0,0.0,52.25,-22.440000000000001],[1253,true,true,null,89.5,1.0,null,null,1.032708,false,200.0,0.0,97.070000000000007,-27.440000000000001],[186,true,true,null,379.199999999999989,1.0,null,null,1.049295,false,480.0,160.0,217.900000000000006,-81.159999999999997],[1255,true,true,null,399.300000000000011,1.0,null,null,1.05962,false,500.0,166.670000000000016,223.069999999999993,-83.700000000000003],[1261,true,true,null,-76.900000000000006,1.0,null,null,1.042513,false,100.0,-102.530000000000001,38.049999999999997,-11.77],[1270,true,true,null,366.100000000000023,1.0,null,null,1.060214,false,600.0,0.0,264.939999999999998,-103.740000000000009],[1282,true,true,null,41.0,1.0,null,null,1.029072,false,80.0,0.0,38.369999999999997,-11.4],[1284,true,true,null,59.600000000000001,1.0,null,null,0.999283,false,80.0,0.0,36.890000000000001,-13.0],[1286,true,true,null,67.5,1.0,null,null,1.023094,false,120.0,0.0,57.030000000000001,-17.629999999999999],[1298,true,true,null,710.700000000000046,1.0,null,null,1.016453,false,800.0,266.670000000000016,344.900000000000034,-146.060000000000002],[1303,true,true,null,767.399999999999977,1.0,null,null,1.077662,false,900.0,300.0,396.379999999999995,-154.990000000000009],[1306,true,true,null,-48.159999999999997,1.0,null,null,1.017661,false,100.0,-64.209999999999994,1.83,-0.85],[1324,true,true,null,28.0,1.0,null,null,1.013671,false,40.0,0.0,18.41,-6.45],[187,true,true,null,670.300000000000068,1.0,null,null,1.028233,false,800.0,266.670000000000016,351.180000000000007,-139.110000000000014],[1329,true,true,null,515.389999999999986,1.0,null,null,1.01711,false,600.0,200.0,261.600000000000023,-106.390000000000001],[1332,true,true,null,251.0,1.0,null,null,1.02141,false,420.0,0.0,196.080000000000012,-61.880000000000002],[1346,true,true,null,60.200000000000003,1.0,null,null,1.032206,false,80.0,0.0,36.729999999999997,-13.119999999999999],[1347,true,true,null,152.400000000000006,1.0,null,null,0.999193,false,180.0,0.0,79.100000000000009,-31.460000000000001],[1349,true,true,null,1334.299999999999954,1.0,null,null,1.010847,false,2700.0,800.0,576.779999999999973,-158.189999999999998],[1350,true,true,null,-52.5,1.0,null,null,1.024208,false,100.0,-70.0,16.93,-7.97],[1364,true,true,null,115.359999999999999,1.0,null,null,1.066547,false,300.0,100.0,142.0,-41.869999999999998],[1365,true,true,null,-129.099999999999994,1.0,null,null,1.039119,false,100.0,-172.129999999999995,38.479999999999997,-11.33],[1374,true,true,null,861.300000000000068,1.0,null,null,1.059728,false,1000.0,333.329999999999984,441.04000000000002,-172.050000000000011],[1378,true,true,null,14.699999999999999,1.0,null,null,1.019796,false,60.240000000000002,0.0,20.489999999999998,-19.239999999999998],[190,true,true,null,152.400000000000006,1.0,null,null,0.98494,false,180.0,0.0,78.790000000000006,-31.690000000000001],[1382,true,true,null,-11.23,1.0,null,null,1.036687,false,100.0,-14.98,34.609999999999999,-33.920000000000002],[1388,true,true,null,861.300000000000068,1.0,null,null,1.069297,false,1000.0,333.329999999999984,439.199999999999989,-173.430000000000007],[1390,true,true,null,35.200000000000003,1.0,null,null,1.05005,false,80.0,0.0,38.850000000000001,-10.949999999999999],[1400,true,true,null,-171.800000000000011,1.0,null,null,1.040247,false,100.0,-229.069999999999993,37.859999999999999,-11.949999999999999],[1419,true,true,null,-30.390000000000001,1.0,null,null,1.073131,false,100.0,-40.509999999999998,37.939999999999998,-11.869999999999999],[1422,true,true,null,-545.700000000000046,1.0,null,null,1.042233,false,100.0,-727.600000000000023,92.960000000000008,-29.809999999999999],[1433,true,true,null,68.0,1.0,null,null,1.039942,false,80.0,0.0,35.619999999999998,-14.19],[1440,true,true,null,101.620000000000004,1.0,null,null,1.022686,false,300.0,0.0,140.97999999999999,-43.310000000000002],[1442,true,true,null,-78.900000000000006,1.0,null,null,1.051599,false,100.0,-105.200000000000003,19.140000000000001,-5.77],[1443,true,true,null,-116.0,1.0,null,null,1.028053,false,100.0,-154.670000000000016,55.07,-19.629999999999999],[191,true,true,null,-46.200000000000003,1.0,null,null,1.046182,false,100.0,-61.600000000000001,135.52000000000001,-38.899999999999999],[1452,true,true,null,541.0,1.0,null,null,1.033192,false,900.0,300.0,417.980000000000018,-132.469999999999999],[1454,true,true,null,93.200000000000003,1.0,null,null,1.044876,false,281.850000000000023,0.0,98.400000000000006,-86.290000000000006],[1478,true,true,null,78.0,1.0,null,null,1.027623,false,200.0,0.0,89.540000000000006,-34.979999999999997],[1479,true,true,null,16.0,1.0,null,null,1.020563,false,65.299999999999997,0.0,22.149999999999999,-20.899999999999999],[1481,true,true,null,805.5,1.0,null,null,1.068296,false,900.0,300.0,389.829999999999984,-161.159999999999997],[1483,true,true,null,861.300000000000068,1.0,null,null,1.069324,false,1000.0,333.329999999999984,439.199999999999989,-173.430000000000007],[1491,true,true,null,-26.079999999999998,1.0,null,null,1.062911,false,100.0,-34.770000000000003,38.369999999999997,-11.44],[1492,true,true,null,855.600000000000023,1.0,null,null,1.035474,false,1000.0,333.329999999999984,440.689999999999998,-172.140000000000015],[1493,true,true,null,10.300000000000001,1.0,null,null,1.06272,false,10.460000000000001,0.0,4.44,-2.07],[1498,true,true,null,6.8,1.0,null,null,1.053038,false,13.630000000000001,0.0,5.0,-3.81],[193,true,true,null,63.329999999999998,1.0,null,null,1.036757,false,276.090000000000032,0.0,90.129999999999995,-93.030000000000001],[1499,true,true,null,239.599999999999994,1.0,null,null,1.030285,false,300.0,100.0,133.840000000000003,-49.890000000000001],[1500,true,true,null,88.799999999999997,1.0,null,null,1.052648,false,160.0,0.0,76.519999999999996,-23.190000000000001],[1511,true,true,null,-40.299999999999997,1.0,null,null,1.03955,false,100.0,-53.729999999999997,75.620000000000004,-23.960000000000001],[1516,true,true,null,18.559999999999999,1.0,null,null,1.018589,false,80.0,0.0,37.579999999999998,-12.23],[1522,true,true,null,41.689999999999998,1.0,null,null,1.059135,false,80.0,0.0,37.270000000000003,-12.57],[1526,true,true,null,20.199999999999999,1.0,null,null,1.040167,false,102.790000000000006,0.0,34.390000000000001,-33.640000000000001],[1530,true,true,null,385.400000000000034,1.0,null,null,1.059702,false,500.0,166.670000000000016,224.400000000000006,-82.219999999999999],[1535,true,true,null,-12.57,1.0,null,null,1.044318,false,100.0,-16.77,37.229999999999997,-12.609999999999999],[1537,true,true,null,40.840000000000003,1.0,null,null,1.019681,false,120.0,0.0,54.460000000000001,-20.260000000000002],[1538,true,true,null,961.0,1.0,null,null,1.048836,false,1200.0,400.0,533.389999999999986,-201.120000000000005],[205,true,true,null,37.399999999999999,1.0,null,null,1.065269,false,80.0,0.0,38.770000000000003,-11.06],[1541,true,true,null,83.200000000000003,1.0,null,null,1.023151,false,420.0,0.0,182.200000000000017,-75.829999999999998],[1549,true,true,null,54.299999999999997,1.0,null,null,1.061776,false,220.120000000000005,0.0,74.730000000000004,-70.409999999999997],[1554,true,true,null,49.399999999999999,1.0,null,null,1.04927,false,80.0,0.0,37.719999999999999,-12.09],[1555,true,true,null,-155.099999999999994,1.0,null,null,1.006979,false,100.0,-206.800000000000011,5.65,-4.3],[1561,true,true,null,83.480000000000004,1.0,null,null,1.039098,false,160.0,0.0,74.549999999999997,-24.969999999999999],[1562,true,true,null,13.300000000000001,1.0,null,null,1.067508,false,40.68,0.0,14.220000000000001,-12.43],[1563,true,true,null,1008.300000000000068,1.0,null,null,1.072972,false,1200.0,400.0,532.960000000000036,-203.189999999999998],[1564,true,true,null,542.0,1.0,null,null,1.021364,false,600.0,0.0,258.910000000000025,-109.579999999999998],[1567,true,true,null,276.420000000000016,1.0,null,null,1.054352,false,360.0,0.0,151.810000000000002,-69.25],[1571,true,true,null,21.100000000000001,1.0,null,null,1.059554,false,21.23,7.08,8.91,-4.11],[206,true,true,null,-21.649999999999999,1.0,null,null,1.018064,false,100.0,-28.859999999999999,34.75,-34.259999999999998],[1575,true,true,null,-52.509999999999998,1.0,null,null,1.034874,false,100.0,-70.010000000000005,38.280000000000001,-11.5],[1578,true,true,null,75.600000000000008,1.0,null,null,1.057395,false,120.0,0.0,56.350000000000001,-18.420000000000002],[1583,true,true,null,1713.600000000000136,1.0,null,null,1.035348,false,2000.0,666.669999999999959,882.860000000000014,-343.240000000000009],[1591,true,true,null,-87.600000000000008,1.0,null,null,1.01545,false,100.0,-116.799999999999997,32.890000000000001,-32.289999999999999],[1608,true,true,null,106.799999999999997,1.0,null,null,1.050569,false,160.0,0.0,75.019999999999996,-24.739999999999998],[1609,true,true,null,-1344.400000000000091,1.0,null,null,1.005494,false,100.0,-1792.529999999999973,99999.0,-99999.0],[1622,true,true,null,119.400000000000006,1.0,null,null,1.041244,false,120.0,0.0,51.299999999999997,-23.489999999999998],[1624,true,true,null,-193.900000000000006,1.0,null,null,1.021983,false,100.0,-258.529999999999973,2.29,-1.06],[1628,true,true,null,332.54000000000002,1.0,null,null,1.011274,false,360.0,0.0,159.670000000000016,-61.420000000000002],[1632,true,true,null,152.300000000000011,1.0,null,null,1.061166,false,1689.1400000000001,51.189999999999998,542.730000000000018,-582.680000000000064],[14,true,true,null,-144.5,1.0,null,null,1.01198,false,100.0,-192.670000000000016,5.48,-4.19],[210,true,true,null,274.800000000000011,1.0,null,null,1.001541,false,300.0,100.0,129.939999999999998,-53.909999999999997],[1638,true,true,null,-54.780000000000001,1.0,null,null,1.018401,false,100.0,-73.049999999999997,35.25,-34.600000000000001],[1644,true,true,null,-159.0,1.0,null,null,1.051438,false,100.0,-212.0,36.369999999999997,-13.43],[1648,true,true,null,10.800000000000001,1.0,null,null,1.015924,false,32.740000000000002,0.0,11.359999999999999,-10.08],[1655,true,true,null,19.59,1.0,null,null,1.063822,false,40.0,0.0,18.140000000000001,-6.75],[1658,true,true,null,1250.600000000000136,1.0,null,null,1.105689,false,2000.0,666.669999999999959,926.470000000000027,-297.629999999999996],[1663,true,true,null,-395.800000000000011,1.0,null,null,1.049,false,100.0,-527.730000000000018,58.060000000000002,-16.66],[1665,true,true,null,219.5,1.0,null,null,1.023182,false,240.0,0.0,102.600000000000008,-44.689999999999998],[1675,true,true,null,181.099999999999994,1.0,null,null,1.077356,false,240.0,0.0,108.269999999999996,-39.200000000000003],[1685,true,true,null,43.399999999999999,1.0,null,null,1.05743,false,80.0,0.0,38.259999999999998,-11.550000000000001],[1688,true,true,null,18.5,1.0,null,null,1.001327,false,93.469999999999999,0.0,31.09,-30.760000000000002],[215,true,true,null,16.0,1.0,null,null,1.072146,false,65.299999999999997,0.0,22.23,-20.829999999999998],[1691,true,true,null,1368.600000000000136,1.0,null,null,1.063327,false,2000.0,666.669999999999959,920.310000000000059,-305.639999999999986],[1692,true,true,null,56.799999999999997,1.0,null,null,1.046078,false,249.060000000000002,0.0,101.320000000000007,-48.119999999999997],[1693,true,true,null,861.300000000000068,1.0,null,null,1.0598,false,1000.0,333.329999999999984,441.04000000000002,-172.050000000000011],[1694,true,true,null,-96.400000000000006,1.0,null,null,1.041439,false,100.0,-128.530000000000001,37.490000000000002,-12.33],[1695,true,true,null,3424.800000000000182,1.0,null,null,1.064044,false,4000.0,1333.329999999999927,1765.360000000000127,-686.669999999999959],[1701,true,true,null,75.620000000000004,1.0,null,null,1.020123,false,160.0,0.0,69.670000000000002,-30.0],[1708,true,true,null,173.0,1.0,null,null,1.041341,false,200.0,0.0,88.870000000000004,-35.710000000000001],[1709,true,true,null,21.5,1.0,null,null,1.055712,false,40.0,0.0,19.16,-5.75],[1715,true,true,null,57.600000000000001,1.0,null,null,1.042161,false,80.0,0.0,36.799999999999997,-12.99],[1739,true,true,null,229.800000000000011,1.0,null,null,1.009808,false,240.0,0.0,103.180000000000007,-46.25],[224,true,true,null,465.699999999999989,1.0,null,null,1.040583,false,500.0,166.670000000000016,212.969999999999999,-93.450000000000003],[1741,true,true,null,128.0,1.0,null,null,1.068735,false,160.0,0.0,72.710000000000008,-27.050000000000001],[1743,true,true,null,294.54000000000002,1.0,null,null,1.003946,false,600.0,100.0,34.469999999999999,-15.34],[1744,true,true,null,16.600000000000001,1.0,null,null,1.018899,false,67.760000000000005,0.0,22.969999999999999,-21.699999999999999],[1755,true,true,null,837.0,1.0,null,null,1.026473,false,1200.0,400.0,550.690000000000055,-185.150000000000006],[1759,true,true,null,18.5,1.0,null,null,1.020165,false,95.980000000000004,0.0,31.98,-31.539999999999999],[1763,true,true,null,84.5,1.0,null,null,1.028692,false,85.140000000000001,28.379999999999999,35.689999999999998,-16.43],[1776,true,true,null,1102.829999999999927,1.0,null,null,1.038035,false,1800.0,600.0,779.289999999999964,-324.79000000000002],[1778,true,true,null,63.549999999999997,1.0,null,null,1.031918,false,240.0,0.0,114.670000000000002,-32.560000000000002],[1787,true,true,null,181.200000000000017,1.0,null,null,1.048258,false,440.0,146.670000000000016,196.980000000000018,-77.170000000000002],[1789,true,true,null,-74.210000000000008,1.0,null,null,1.019461,false,100.0,-98.939999999999998,45.829999999999998,-46.299999999999997],[227,true,true,null,198.879999999999996,1.0,null,null,1.0548,false,240.0,0.0,105.689999999999998,-43.840000000000003],[1790,true,true,null,404.600000000000023,1.0,null,null,1.063184,false,500.0,166.670000000000016,220.75,-85.540000000000006],[1791,true,true,null,262.600000000000023,1.0,null,null,0.995795,false,600.0,100.0,76.5,-34.049999999999997],[1792,true,true,null,13.199999999999999,1.0,null,null,1.029274,false,39.979999999999997,0.0,13.93,-12.27],[1794,true,true,null,-179.400000000000006,1.0,null,null,1.032948,false,100.0,-239.200000000000017,1.58,-0.74],[1801,true,true,null,305.699999999999989,1.0,null,null,1.039775,false,480.0,160.0,214.129999999999995,-85.0],[1806,true,true,null,60.0,1.0,null,null,1.062314,false,80.0,0.0,36.719999999999999,-13.130000000000001],[1824,true,true,null,-74.900000000000006,1.0,null,null,1.031482,false,100.0,-99.870000000000004,17.210000000000001,-7.73],[1833,true,true,null,127.570000000000007,1.0,null,null,1.019864,false,360.0,0.0,172.469999999999999,-48.340000000000003],[1834,true,true,null,1221.200000000000045,1.0,null,null,1.067028,false,2000.0,666.669999999999959,934.539999999999964,-291.639999999999986],[1837,true,true,null,-102.5,1.0,null,null,1.064637,false,100.0,-136.670000000000016,37.270000000000003,-12.59],[229,true,true,null,65.900000000000006,1.0,null,null,1.023645,false,300.0,0.0,136.939999999999998,-47.240000000000002],[1840,true,true,null,854.600000000000023,1.0,null,null,1.018313,false,1200.0,400.0,517.549999999999954,-217.25],[1842,true,true,null,-87.299999999999997,1.0,null,null,1.034164,false,100.0,-116.400000000000006,60.509999999999998,-61.079999999999998],[1844,true,true,null,617.700000000000046,1.0,null,null,1.085651,false,900.0,300.0,411.660000000000025,-139.210000000000008],[1854,true,true,null,820.200000000000045,1.0,null,null,1.041753,false,900.0,300.0,390.400000000000034,-161.159999999999997],[1870,true,true,null,60.399999999999999,1.0,null,null,1.032192,false,80.0,0.0,36.579999999999998,-13.23],[1871,true,true,null,774.899999999999977,1.0,null,null,1.03946,false,900.0,300.0,395.590000000000032,-155.879999999999996],[1882,true,true,null,602.399999999999977,1.0,null,null,1.141159,false,900.0,300.0,415.259999999999991,-136.330000000000012],[1886,true,true,null,-121.900000000000006,1.0,null,null,1.013527,false,100.0,-162.530000000000001,16.91,-7.99],[1888,true,true,null,190.580000000000012,1.0,null,null,1.021227,false,240.0,0.0,104.760000000000005,-42.600000000000001],[1892,true,true,null,94.299999999999997,1.0,null,null,0.996786,false,769.940000000000055,32.079999999999998,249.650000000000006,-261.819999999999993],[231,true,true,null,116.700000000000003,1.0,null,null,1.016623,false,120.0,0.0,51.299999999999997,-23.41],[1895,true,true,null,26.300000000000001,1.0,null,null,1.043938,false,53.759999999999998,0.0,19.859999999999999,-14.93],[1898,true,true,null,65.900000000000006,1.0,null,null,1.038661,false,80.0,0.0,35.43,-14.41],[1916,true,true,null,879.600000000000023,1.0,null,null,1.018011,false,1200.0,400.0,545.680000000000064,-189.969999999999999],[1917,true,true,null,5.3,1.0,null,null,1.029262,false,5.32,0.0,2.24,-1.07],[1930,true,true,null,117.900000000000006,1.0,null,null,1.019445,false,120.0,0.0,51.25,-23.489999999999998],[1935,true,true,null,55.5,1.0,null,null,1.039201,false,120.0,0.0,58.119999999999997,-16.600000000000001],[1948,true,true,null,223.400000000000006,1.0,null,null,0.994824,false,300.0,100.0,134.080000000000012,-49.149999999999999],[1949,true,true,null,48.799999999999997,1.0,null,null,1.053365,false,80.0,0.0,37.759999999999998,-12.050000000000001],[1950,true,true,null,96.0,1.0,null,null,1.064292,false,200.0,0.0,96.560000000000002,-27.949999999999999],[1958,true,true,null,22.079999999999998,1.0,null,null,1.059908,false,80.0,0.0,38.289999999999999,-11.56],[236,true,true,null,-111.400000000000006,1.0,null,null,1.029038,false,100.0,-148.530000000000001,18.16,-6.73],[1963,true,true,null,-145.300000000000011,1.0,null,null,1.046268,false,100.0,-193.730000000000018,51.109999999999999,-23.460000000000001],[1965,true,true,null,-27.800000000000001,1.0,null,null,1.047648,false,100.0,-37.07,148.650000000000006,-50.729999999999997],[1977,true,true,null,310.829999999999984,1.0,null,null,0.987105,false,700.0,200.0,83.579999999999998,-38.780000000000001],[1983,true,true,null,171.0,1.0,null,null,1.03915,false,200.0,0.0,88.829999999999998,-35.689999999999998],[1985,true,true,null,-86.5,1.0,null,null,1.01651,false,100.0,-115.340000000000003,2.26,-1.04],[1993,true,true,null,77.400000000000006,1.0,null,null,1.006942,false,180.0,0.0,86.170000000000002,-24.25],[1995,true,true,null,718.5,1.0,null,null,1.062877,false,1000.0,333.329999999999984,438.720000000000027,-174.150000000000006],[2000,true,true,null,1168.799999999999954,1.0,null,null,1.030805,false,1200.0,400.0,508.020000000000039,-227.300000000000011],[2012,true,true,null,228.200000000000017,1.0,null,null,1.047972,false,280.0,0.0,126.730000000000004,-47.829999999999998],[2022,true,true,null,-204.200000000000017,1.0,null,null,1.048072,false,100.0,-272.269999999999982,37.579999999999998,-12.16],[237,true,true,null,16.5,1.0,null,null,1.051035,false,33.579999999999998,0.0,12.369999999999999,-9.359999999999999],[2045,true,true,null,2013.900000000000091,1.0,null,null,1.062949,false,3000.0,1000.0,1378.190000000000055,-459.090000000000032],[2050,true,true,null,742.759999999999991,1.0,null,null,1.02462,false,800.0,266.670000000000016,337.04000000000002,-153.259999999999991],[2051,true,true,null,249.0,1.0,null,null,1.022999,false,300.0,0.0,131.879999999999996,-52.240000000000002],[2060,true,true,null,21.300000000000001,1.0,null,null,1.07064,false,108.379999999999995,0.0,36.219999999999999,-35.5],[2072,true,true,null,382.699999999999989,1.0,null,null,1.05765,false,720.0,0.0,311.519999999999982,-132.090000000000003],[2095,true,true,null,949.700000000000046,1.0,null,null,1.019012,false,1000.0,333.329999999999984,429.610000000000014,-183.47999999999999],[2098,true,true,null,44.07,1.0,null,null,1.012126,false,160.0,0.0,77.140000000000001,-22.460000000000001],[2099,true,true,null,16.530000000000001,1.0,null,null,1.055666,false,160.0,0.0,77.350000000000008,-22.260000000000002],[2100,true,true,null,15.9,1.0,null,null,1.051187,false,32.530000000000001,0.0,11.99,-9.06],[2105,true,true,null,-57.5,1.0,null,null,1.034052,false,100.0,-76.670000000000002,35.619999999999998,-14.25],[238,true,true,null,50.799999999999997,1.0,null,null,1.006139,false,80.0,0.0,37.43,-12.32],[2111,true,true,null,578.0,1.0,null,null,1.043313,false,600.0,200.0,255.230000000000018,-112.310000000000002],[2115,true,true,null,102.900000000000006,1.0,null,null,1.051715,false,120.0,0.0,53.240000000000002,-21.469999999999999],[2117,true,true,null,-344.900000000000034,1.0,null,null,1.032911,false,100.0,-459.870000000000004,18.559999999999999,-6.34],[2119,true,true,null,2463.599999999999909,1.0,null,null,1.014858,false,4000.0,1333.329999999999927,1865.829999999999927,-585.950000000000046],[2121,true,true,null,19.800000000000001,1.0,null,null,1.066537,false,100.510000000000005,0.0,33.57,-32.950000000000003],[2128,true,true,null,133.0,1.0,null,null,1.042814,false,300.0,88.670000000000002,189.310000000000002,-59.869999999999998],[2143,true,true,null,665.800000000000068,1.0,null,null,1.030076,false,900.0,300.0,388.699999999999989,-162.640000000000015],[2145,true,true,null,227.5,1.0,null,null,1.046726,false,280.0,0.0,126.090000000000003,-48.289999999999999],[2153,true,true,null,39.799999999999997,1.0,null,null,1.061428,false,80.0,0.0,38.530000000000001,-11.27],[2155,true,true,null,-12.6,1.0,null,null,1.038963,false,100.0,-16.800000000000001,56.219999999999999,-18.440000000000001],[244,true,true,null,58.399999999999999,1.0,null,null,1.039638,false,80.0,0.0,36.75,-13.039999999999999],[2169,true,true,null,1152.700000000000046,1.0,null,null,1.063951,false,1200.0,400.0,507.730000000000018,-226.730000000000018],[2171,true,true,null,65.799999999999997,1.0,null,null,1.042173,false,80.0,0.0,36.159999999999997,-13.720000000000001],[2176,true,true,null,55.5,1.0,null,null,1.04735,false,120.0,0.0,58.18,-16.559999999999999],[2181,true,true,null,448.850000000000023,1.0,null,null,1.005566,false,600.0,200.0,267.360000000000014,-100.980000000000004],[2182,true,true,null,50.399999999999999,1.0,null,null,1.043279,false,80.0,0.0,37.590000000000003,-12.199999999999999],[2188,true,true,null,-49.369999999999997,1.0,null,null,1.026663,false,100.0,-65.829999999999998,13.41,-11.890000000000001],[2195,true,true,null,234.200000000000017,1.0,null,null,1.004388,false,300.0,100.0,133.02000000000001,-50.289999999999999],[2197,true,true,null,65.870000000000004,1.0,null,null,1.014496,false,272.28000000000003,0.0,95.060000000000002,-83.340000000000003],[2205,true,true,null,876.399999999999977,1.0,null,null,1.031779,false,1200.0,400.0,516.029999999999973,-219.170000000000016],[2213,true,true,null,861.300000000000068,1.0,null,null,1.059739,false,1000.0,333.329999999999984,441.04000000000002,-172.050000000000011],[32,true,true,null,861.300000000000068,1.0,null,null,1.079291,false,1000.0,333.329999999999984,440.319999999999993,-172.590000000000003],[247,true,true,null,-89.200000000000003,1.0,null,null,1.04396,false,100.0,-118.930000000000007,74.030000000000001,-25.539999999999999],[2220,true,true,null,1250.600000000000136,1.0,null,null,1.105479,false,2000.0,666.669999999999959,926.470000000000027,-297.629999999999996],[2226,true,true,null,7.3,1.0,null,null,1.052921,false,7.35,0.0,3.12,-1.46],[2237,true,true,null,21.300000000000001,1.0,null,null,1.030375,false,107.290000000000006,0.0,35.770000000000003,-35.229999999999997],[2239,true,true,null,32.0,1.0,null,null,1.016183,false,32.700000000000003,10.9,13.73,-6.28],[2242,true,true,null,-39.700000000000003,1.0,null,null,1.012113,false,100.0,-52.93,89.840000000000003,-34.840000000000003],[2243,true,true,null,766.800000000000068,1.0,null,null,1.06851,false,900.0,300.0,394.860000000000014,-156.120000000000005],[2247,true,true,null,-681.700000000000046,1.0,null,null,1.030612,false,100.0,-908.930000000000064,14.779999999999999,-6.64],[2248,true,true,null,2340.400000000000091,1.0,null,null,1.029503,false,4000.0,1333.329999999999927,1862.289999999999964,-588.159999999999968],[2255,true,true,null,856.399999999999977,1.0,null,null,1.033047,false,900.0,300.0,384.340000000000032,-167.039999999999992],[2262,true,true,null,59.060000000000002,1.0,null,null,1.042085,false,160.0,0.0,76.109999999999999,-23.620000000000001],[251,true,true,null,1597.5,1.0,null,null,1.057043,false,2000.0,666.669999999999959,864.470000000000027,-360.970000000000027],[2263,true,true,null,53.0,1.0,null,null,0.994679,false,80.0,0.0,37.450000000000003,-12.390000000000001],[2264,true,true,null,62.799999999999997,1.0,null,null,1.039675,false,80.0,0.0,36.259999999999998,-13.550000000000001],[2297,true,true,null,735.600000000000023,1.0,null,null,1.01868,false,900.0,300.0,399.879999999999996,-151.379999999999995],[2302,true,true,null,13.300000000000001,1.0,null,null,1.012514,false,40.960000000000001,0.0,14.279999999999999,-12.550000000000001],[2307,true,true,null,-202.530000000000001,1.0,null,null,1.057274,false,100.0,-270.04000000000002,75.850000000000008,-77.060000000000002],[2310,true,true,null,76.5,1.0,null,null,1.028765,false,120.0,0.0,56.270000000000003,-18.41],[2316,true,true,null,75.799999999999997,1.0,null,null,1.036344,false,200.0,50.530000000000001,214.230000000000018,-59.770000000000003],[2318,true,true,null,5.2,1.0,null,null,1.017989,false,5.3,0.0,2.24,-1.05],[2320,true,true,null,715.100000000000023,1.0,null,null,1.062735,false,900.0,300.0,402.150000000000034,-149.170000000000016],[2325,true,true,null,702.399999999999977,1.0,null,null,1.033404,false,800.0,266.670000000000016,350.360000000000014,-140.72999999999999],[256,true,true,null,1274.200000000000045,1.0,null,null,1.044347,false,2000.0,666.669999999999959,926.680000000000064,-298.310000000000002],[2326,true,true,null,508.0,1.0,null,null,1.000638,false,800.0,266.670000000000016,371.110000000000014,-119.670000000000002],[2357,true,true,null,243.0,1.0,null,null,1.057002,false,300.0,100.0,133.780000000000001,-50.039999999999999],[2359,true,true,null,33.090000000000003,1.0,null,null,1.019127,false,131.819999999999993,0.0,45.850000000000001,-40.5],[2364,true,true,null,769.200000000000045,1.0,null,null,1.053056,false,880.0,200.0,378.20999999999998,-162.349999999999994],[2368,true,true,null,-39.5,1.0,null,null,1.035071,false,100.0,-52.670000000000002,74.700000000000003,-24.780000000000001],[2369,true,true,null,168.599999999999994,1.0,null,null,1.039659,false,180.0,0.0,76.75,-33.789999999999999],[2380,true,true,null,228.200000000000017,1.0,null,null,1.047945,false,280.0,0.0,126.730000000000004,-47.829999999999998],[2392,true,true,null,6.3,1.0,null,null,1.06304,false,12.9,0.0,4.78,-3.57],[2393,true,true,null,106.799999999999997,1.0,null,null,1.015679,false,120.0,0.0,52.75,-21.969999999999999],[2399,true,true,null,1221.200000000000045,1.0,null,null,1.068185,false,2000.0,666.669999999999959,934.730000000000018,-291.519999999999982],[259,true,true,null,8.699999999999999,1.0,null,null,1.041392,false,17.57,0.0,6.45,-4.91],[2401,true,true,null,345.199999999999989,1.0,null,null,1.083645,false,600.0,200.0,281.920000000000016,-85.820000000000007],[2407,true,true,null,1250.400000000000091,1.0,null,null,1.055,false,2000.0,666.669999999999959,926.350000000000023,-297.680000000000007],[2410,true,true,null,25.600000000000001,1.0,null,null,1.020992,false,51.539999999999999,0.0,18.899999999999999,-14.44],[2417,true,true,null,15.5,1.0,null,null,1.02191,false,240.0,0.0,106.769999999999996,-42.810000000000002],[2420,true,true,null,165.0,1.0,null,null,1.005674,false,200.0,0.0,90.079999999999998,-34.560000000000002],[2427,true,true,null,397.0,1.0,null,null,1.058289,false,800.0,266.670000000000016,380.360000000000014,-109.909999999999997],[2446,true,true,null,1368.600000000000136,1.0,null,null,1.063382,false,2000.0,666.669999999999959,920.409999999999968,-305.579999999999984],[2452,true,true,null,1101.5,1.0,null,null,1.050833,false,1600.0,533.330000000000041,698.07000000000005,-282.170000000000016],[2460,true,true,null,419.0,1.0,null,null,1.018041,false,600.0,200.0,274.199999999999989,-93.219999999999999],[2474,true,true,null,811.800000000000068,1.0,null,null,1.042456,false,900.0,300.0,391.569999999999993,-160.950000000000017],[260,true,true,null,59.560000000000002,1.0,null,null,1.006263,false,200.0,0.0,96.640000000000001,-27.809999999999999],[2486,true,true,null,-27.0,1.0,null,null,1.063893,false,100.0,-36.0,75.670000000000002,-23.960000000000001],[2487,true,true,null,337.600000000000023,1.0,null,null,1.052835,false,600.0,200.0,281.629999999999996,-85.710000000000008],[2491,true,true,null,-188.900000000000006,1.0,null,null,1.01361,false,100.0,-251.870000000000004,10.73,-9.529999999999999],[2495,true,true,null,322.120000000000005,1.0,null,null,1.03306,false,420.0,0.0,177.219999999999999,-80.269999999999996],[2501,true,true,null,992.0,1.0,null,null,1.06101,false,1041.599999999999909,0.0,99999.0,-99999.0],[2512,true,true,null,153.0,1.0,null,null,1.05367,false,200.0,0.0,91.670000000000002,-33.009999999999998],[2513,true,true,null,698.600000000000023,1.0,null,null,1.064422,false,709.870000000000004,236.620000000000004,291.70999999999998,-137.409999999999997],[2531,true,true,null,1.75,1.0,null,null,1.030795,false,207.27000000000001,0.0,70.170000000000002,-66.450000000000003],[2533,true,true,null,1321.700000000000046,1.0,null,null,1.053137,false,1600.0,533.330000000000041,709.440000000000055,-271.310000000000002],[2537,true,true,null,66.799999999999997,1.0,null,null,1.019521,false,80.0,0.0,35.759999999999998,-14.050000000000001],[262,true,true,null,855.600000000000023,1.0,null,null,1.035299,false,1000.0,333.329999999999984,440.670000000000016,-172.150000000000006],[2538,true,true,null,401.0,1.0,null,null,1.058011,false,600.0,200.0,276.810000000000002,-90.879999999999996],[2540,true,true,null,17.0,1.0,null,null,1.067644,false,40.0,0.0,19.489999999999998,-5.42],[2544,true,true,null,-15.640000000000001,1.0,null,null,1.059307,false,100.0,-20.850000000000001,36.340000000000003,-35.590000000000003],[2545,true,true,null,358.360000000000014,1.0,null,null,1.01497,false,420.0,0.0,177.810000000000002,-79.930000000000007],[2546,true,true,null,253.400000000000006,1.0,null,null,1.059416,false,360.0,0.0,164.300000000000011,-56.850000000000001],[2553,true,true,null,203.400000000000006,1.0,null,null,1.045102,false,240.0,0.0,106.840000000000003,-42.560000000000002],[2555,true,true,null,97.200000000000003,1.0,null,null,1.006884,false,120.0,0.0,53.880000000000002,-20.800000000000001],[2566,true,true,null,-8.75,1.0,null,null,1.039615,false,100.0,-11.66,17.800000000000001,-7.13],[2567,true,true,null,1702.200000000000045,1.0,null,null,1.078014,false,2400.0,800.0,1096.329999999999927,-374.639999999999986],[2586,true,true,null,33.799999999999997,1.0,null,null,1.022564,false,40.0,0.0,17.780000000000001,-7.11],[268,true,true,null,1702.799999999999954,1.0,null,null,1.063198,false,2400.0,800.0,1097.410000000000082,-373.910000000000025],[2605,true,true,null,517.100000000000023,1.0,null,null,1.045078,false,1000.0,333.329999999999984,474.420000000000016,-138.490000000000009],[2611,true,true,null,-135.0,1.0,null,null,1.042275,false,100.0,-180.0,90.210000000000008,-34.450000000000003],[2618,true,true,null,78.799999999999997,1.0,null,null,1.046146,false,80.0,0.0,34.159999999999997,-15.67],[2631,true,true,null,32.299999999999997,1.0,null,null,1.055375,false,200.0,0.0,93.030000000000001,-31.43],[2632,true,true,null,-75.689999999999998,1.0,null,null,1.023003,false,100.0,-100.920000000000002,3.61,-1.69],[2643,true,true,null,-65.0,1.0,null,null,1.019996,false,100.0,-86.670000000000002,51.909999999999997,-22.859999999999999],[2655,true,true,null,427.0,1.0,null,null,1.009283,false,600.0,200.0,273.939999999999998,-93.650000000000006],[2658,true,true,null,20.300000000000001,1.0,null,null,1.055846,false,103.030000000000001,0.0,34.479999999999997,-33.719999999999999],[2663,true,true,null,298.199999999999989,1.0,null,null,1.064508,false,300.0,100.0,124.560000000000002,-59.189999999999998],[2675,true,true,null,-138.300000000000011,1.0,null,null,1.049183,false,100.0,-184.400000000000006,37.399999999999999,-12.460000000000001],[276,true,true,null,1249.400000000000091,1.0,null,null,1.032774,false,1700.0,566.669999999999959,772.110000000000014,-269.939999999999998],[2678,true,true,null,-259.100000000000023,1.0,null,null,1.018144,false,100.0,-345.470000000000027,34.920000000000002,-14.960000000000001],[2680,true,true,null,-37.280000000000001,1.0,null,null,1.041179,false,100.0,-49.700000000000003,54.32,-20.390000000000001],[2684,true,true,null,130.689999999999998,1.0,null,null,1.029789,false,360.0,0.0,173.200000000000017,-47.670000000000002],[2691,true,true,null,1232.600000000000136,1.0,null,null,1.056768,false,2000.0,666.669999999999959,932.680000000000064,-293.139999999999986],[2693,true,true,null,20.890000000000001,1.0,null,null,1.009953,false,100.359999999999999,0.0,34.950000000000003,-30.800000000000001],[2702,true,true,null,21.699999999999999,1.0,null,null,1.008996,false,40.0,0.0,19.07,-5.8],[2712,true,true,null,166.200000000000017,1.0,null,null,1.055026,false,240.0,0.0,111.700000000000003,-37.850000000000001],[2715,true,true,null,-304.0,1.0,null,null,1.046456,false,100.0,-405.329999999999984,35.840000000000003,-14.07],[2719,true,true,null,44.659999999999997,1.0,null,null,1.051013,false,160.0,0.0,76.870000000000004,-22.75],[2732,true,true,null,42.799999999999997,1.0,null,null,1.027559,false,360.0,0.0,163.909999999999997,-56.979999999999997],[277,true,true,null,230.200000000000017,1.0,null,null,1.024009,false,300.0,0.0,134.449999999999989,-49.759999999999998],[2739,true,true,null,-233.800000000000011,1.0,null,null,1.037687,false,100.0,-311.730000000000018,106.620000000000004,-40.75],[2740,true,true,null,1232.600000000000136,1.0,null,null,1.056528,false,2000.0,666.669999999999959,932.680000000000064,-293.139999999999986],[2743,true,true,null,443.800000000000011,1.0,null,null,1.047011,false,600.0,200.0,272.769999999999982,-95.019999999999996],[2757,true,true,null,17.0,1.0,null,null,1.021928,false,86.730000000000004,0.0,28.989999999999998,-28.41],[2763,true,true,null,37.200000000000003,1.0,null,null,1.015122,false,80.0,0.0,38.640000000000001,-11.119999999999999],[2768,true,true,null,756.800000000000068,1.0,null,null,1.041085,false,800.0,266.670000000000016,339.050000000000011,-151.210000000000008],[2770,true,true,null,-255.700000000000017,1.0,null,null,1.045004,false,100.0,-340.939999999999998,38.229999999999997,-11.609999999999999],[2772,true,true,null,498.400000000000034,1.0,null,null,1.064772,false,600.0,200.0,266.170000000000016,-101.5],[2774,true,true,null,-61.799999999999997,1.0,null,null,1.038824,false,100.0,-82.400000000000006,53.520000000000003,-50.380000000000003],[2777,true,true,null,1624.700000000000046,1.0,null,null,1.050147,false,2000.0,666.669999999999959,859.0,-367.120000000000005],[283,true,true,null,679.600000000000023,1.0,null,null,1.063763,false,900.0,300.0,406.660000000000025,-144.75],[2779,true,true,null,110.0,1.0,null,null,1.045593,false,200.0,0.0,95.650000000000006,-28.949999999999999],[2782,true,true,null,19.300000000000001,1.0,null,null,1.027038,false,97.980000000000004,0.0,32.659999999999997,-32.18],[2783,true,true,null,-21.949999999999999,1.0,null,null,1.052269,false,100.0,-29.27,31.68,-29.920000000000002],[2787,true,true,null,-46.189999999999998,1.0,null,null,1.022201,false,100.0,-61.579999999999998,38.979999999999997,-10.82],[2789,true,true,null,78.200000000000003,1.0,null,null,1.002676,false,317.090000000000032,0.0,107.590000000000003,-101.480000000000004],[2792,true,true,null,338.70999999999998,1.0,null,null,1.025721,false,500.0,166.670000000000016,220.490000000000009,-86.140000000000001],[2807,true,true,null,-39.850000000000001,1.0,null,null,1.02063,false,100.0,-53.130000000000003,2.23,-1.07],[2808,true,true,null,-10.550000000000001,1.0,null,null,1.02106,false,100.0,-14.07,17.82,-7.09],[2812,true,true,null,-90.0,1.0,null,null,0.982562,false,100.0,-120.0,11.6,-10.23],[2819,true,true,null,369.600000000000023,1.0,null,null,1.045155,false,440.0,146.670000000000016,198.069999999999993,-76.340000000000003],[43,true,true,null,67.290000000000006,1.0,null,null,1.062067,false,160.0,0.0,77.090000000000003,-22.539999999999999],[298,true,true,null,1221.200000000000045,1.0,null,null,1.068998,false,2000.0,666.669999999999959,934.730000000000018,-291.519999999999982],[2824,true,true,null,40.100000000000001,1.0,null,null,1.01907,false,41.159999999999997,0.0,17.030000000000001,-7.9],[2825,true,true,null,698.800000000000068,1.0,null,null,1.026751,false,1000.0,333.329999999999984,442.990000000000009,-169.920000000000016],[2827,true,true,null,-239.230000000000018,1.0,null,null,1.04489,false,100.0,-318.970000000000027,18.649999999999999,-14.16],[2839,true,true,null,42.700000000000003,1.0,null,null,1.048734,false,100.0,28.469999999999999,335.95999999999998,-93.230000000000004],[2840,true,true,null,-37.200000000000003,1.0,null,null,1.049339,false,100.0,-49.600000000000001,73.189999999999998,-26.48],[2842,true,true,null,860.800000000000068,1.0,null,null,1.037874,false,1000.0,333.329999999999984,439.379999999999995,-173.280000000000001],[2849,true,true,null,-331.400000000000034,1.0,null,null,1.020141,false,100.0,-441.870000000000004,175.0,-49.159999999999997],[2851,true,true,null,72.0,1.0,null,null,1.057766,false,160.0,0.0,77.689999999999998,-21.969999999999999],[2867,true,true,null,419.0,1.0,null,null,1.018061,false,600.0,200.0,274.199999999999989,-93.219999999999999],[299,true,true,null,21.300000000000001,1.0,null,null,1.029847,false,107.829999999999998,0.0,36.020000000000003,-35.350000000000001],[308,true,true,null,92.100000000000009,1.0,null,null,1.073365,false,120.0,0.0,55.020000000000003,-19.809999999999999],[309,true,true,null,171.0,1.0,null,null,1.040649,false,200.0,0.0,89.549999999999997,-35.149999999999999],[316,true,true,null,-179.300000000000011,1.0,null,null,1.019135,false,100.0,-239.069999999999993,58.340000000000003,-16.23],[321,true,true,null,164.939999999999998,1.0,null,null,1.00979,false,400.0,100.0,71.659999999999997,-27.890000000000001],[324,true,true,null,202.5,1.0,null,null,1.038657,false,300.0,100.0,137.390000000000015,-46.450000000000003],[328,true,true,null,829.5,1.0,null,null,1.029789,false,900.0,300.0,387.879999999999996,-163.400000000000006],[340,true,true,null,91.799999999999997,1.0,null,null,1.046149,false,120.0,0.0,54.909999999999997,-19.879999999999999],[343,true,true,null,837.0,1.0,null,null,1.026457,false,1200.0,400.0,550.690000000000055,-185.150000000000006],[50,true,true,null,-179.200000000000017,1.0,null,null,1.048817,false,100.0,-238.930000000000007,52.640000000000001,-51.719999999999999],[346,true,true,null,58.200000000000003,1.0,null,null,1.045212,false,80.0,0.0,36.799999999999997,-13.01],[348,true,true,null,-124.150000000000006,1.0,null,null,1.051902,false,100.0,-165.539999999999992,38.049999999999997,-11.59],[355,true,true,null,289.79000000000002,1.0,null,null,1.019674,false,360.0,0.0,158.200000000000017,-62.810000000000002],[371,true,true,null,-124.700000000000003,1.0,null,null,1.026125,false,100.0,-166.27000000000001,1.85,-0.88],[372,true,true,null,26.800000000000001,1.0,null,null,1.004865,false,40.0,0.0,18.609999999999999,-6.28],[373,true,true,null,309.54000000000002,1.0,null,null,1.040018,false,700.0,200.0,108.350000000000008,-39.119999999999997],[391,true,true,null,1504.799999999999954,1.0,null,null,1.105045,false,2000.0,666.669999999999959,906.610000000000014,-319.439999999999998],[394,true,true,null,46.130000000000003,1.0,null,null,1.021438,false,65.629999999999996,0.0,22.289999999999999,-20.98],[398,true,true,null,837.0,1.0,null,null,1.0265,false,1200.0,400.0,550.690000000000055,-185.150000000000006],[403,true,true,null,-100.5,1.0,null,null,1.015573,false,100.0,-134.0,32.539999999999999,-32.109999999999999],[53,true,true,null,268.600000000000023,1.0,null,null,1.029584,false,300.0,100.0,130.189999999999998,-53.530000000000001],[409,true,true,null,-124.100000000000009,1.0,null,null,1.038943,false,100.0,-165.469999999999999,36.920000000000002,-12.880000000000001],[420,true,true,null,67.200000000000003,1.0,null,null,1.030396,false,120.0,0.0,57.030000000000001,-17.620000000000001],[426,true,true,null,-246.5,1.0,null,null,1.04168,false,100.0,-328.670000000000016,38.079999999999998,-11.73],[432,true,true,null,26.199999999999999,1.0,null,null,1.028915,false,40.0,0.0,18.739999999999998,-6.17],[438,true,true,null,-174.599999999999994,1.0,null,null,1.052722,false,100.0,-232.800000000000011,11.640000000000001,-10.199999999999999],[441,true,true,null,628.190000000000055,1.0,null,null,1.024907,false,800.0,266.670000000000016,338.660000000000025,-151.759999999999991],[447,true,true,null,-101.0,1.0,null,null,1.045292,false,100.0,-134.670000000000016,18.09,-6.79],[450,true,true,null,49.399999999999999,1.0,null,null,1.049261,false,80.0,0.0,37.719999999999999,-12.09],[456,true,true,null,1588.0,1.0,null,null,1.05352,false,2000.0,666.669999999999959,895.230000000000018,-330.78000000000003],[464,true,true,null,783.899999999999977,1.0,null,null,1.025403,false,900.0,300.0,394.449999999999989,-157.0],[58,true,true,null,5.2,1.0,null,null,1.024675,false,5.37,0.0,2.27,-1.07],[466,true,true,null,62.600000000000001,1.0,null,null,1.046165,false,80.0,0.0,36.399999999999999,-13.44],[473,true,true,null,5.2,1.0,null,null,1.078389,false,5.31,0.0,2.25,-1.06],[498,true,true,null,121.400000000000006,1.0,null,null,1.079057,false,200.0,66.670000000000002,93.159999999999997,-29.489999999999998],[509,true,true,null,50.600000000000001,1.0,null,null,1.044277,false,80.0,0.0,37.659999999999997,-12.17],[515,true,true,null,-136.599999999999994,1.0,null,null,1.079319,false,100.0,-182.129999999999995,21.27,-20.07],[523,true,true,null,50.399999999999999,1.0,null,null,1.031925,false,80.0,0.0,37.740000000000002,-12.109999999999999],[532,true,true,null,1250.400000000000091,1.0,null,null,1.044209,false,2000.0,666.669999999999959,928.889999999999986,-296.100000000000023],[533,true,true,null,62.700000000000003,1.0,null,null,1.005778,false,120.0,0.0,57.409999999999997,-17.219999999999999],[536,true,true,null,-189.0,1.0,null,null,1.041486,false,100.0,-252.0,31.940000000000001,-31.239999999999998],[540,true,true,null,860.800000000000068,1.0,null,null,1.037844,false,1000.0,333.329999999999984,439.370000000000005,-173.300000000000011],[65,true,true,null,-155.390000000000015,1.0,null,null,0.996091,false,100.0,-207.180000000000007,183.920000000000016,-65.299999999999997],[544,true,true,null,28.100000000000001,1.0,null,null,1.061536,false,40.0,0.0,18.52,-6.39],[552,true,true,null,835.5,1.0,null,null,1.055274,false,900.0,300.0,387.670000000000016,-163.72999999999999],[555,true,true,null,40.0,1.0,null,null,1.040804,false,41.060000000000002,0.0,16.989999999999998,-7.92],[567,true,true,null,430.199999999999989,1.0,null,null,1.018729,false,600.0,200.0,272.25,-94.920000000000002],[568,true,true,null,-90.299999999999997,1.0,null,null,1.023406,false,100.0,-120.400000000000006,34.640000000000001,-15.199999999999999],[569,true,true,null,1250.400000000000091,1.0,null,null,1.052726,false,2000.0,666.669999999999959,926.350000000000023,-297.680000000000007],[573,true,true,null,-0.6,1.0,null,null,1.047818,false,100.0,-0.8,111.230000000000004,-38.159999999999997],[584,true,true,null,2.89,1.0,null,null,1.020156,false,32.969999999999999,0.0,11.52,-10.09],[585,true,true,null,15.6,1.0,null,null,1.0492,false,31.920000000000002,0.0,11.76,-8.890000000000001],[586,true,true,null,-241.800000000000011,1.0,null,null,1.056131,false,100.0,-322.400000000000034,58.159999999999997,-16.52]]}", + "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0,1,10,100,101,102,103,104,105,106,107,108,109,11,110,111,112,113,114,115,116,117,118,119,12,120,121,122,123,124,125,126,127,128,129,13,130,131,132,133,134,135,136,137,138,139,14,140,141,142,143,144,145,146,147,148,149,15,150,151,152,153,154,155,156,157,158,159,16,160,161,162,163,164,165,166,167,168,169,17,170,171,172,173,174,175,176,177,178,179,18,180,181,182,183,184,185,186,187,188,189,19,190,191,192,193,194,195,196,197,198,199,2,20,200,201,202,203,204,205,206,207,208,209,21,210,211,212,213,214,215,216,217,218,219,22,220,221,222,223,224,225,226,227,228,229,23,230,231,232,233,234,235,236,237,238,239,24,240,241,242,243,244,245,246,247,248,249,25,250,251,252,253,254,255,256,257,258,259,26,260,261,262,263,264,265,266,267,268,269,27,270,271,272,273,274,275,276,277,278,279,28,280,281,282,283,284,285,286,287,288,289,29,290,291,292,293,294,295,296,297,298,299,3,30,300,301,302,303,304,305,306,307,308,309,31,310,311,312,313,314,315,316,317,318,319,32,320,321,322,323,324,325,326,327,328,329,33,330,331,332,333,334,335,336,337,338,339,34,340,341,342,343,344,345,346,347,348,349,35,350,351,352,353,354,355,356,357,358,359,36,360,361,362,363,364,365,366,367,368,369,37,370,371,372,373,374,375,376,377,378,379,38,380,381,382,383,384,385,386,387,388,389,39,390,391,392,393,394,395,396,397,398,399,4,40,400,401,402,403,404,405,406,407,408,409,41,410,411,412,413,414,415,416,417,418,419,42,420,421,422,423,424,425,426,427,428,429,43,430,431,432,433,434,435,436,437,438,439,44,440,441,442,443,444,445,446,447,448,449,45,450,451,452,453,454,455,456,457,458,459,46,460,461,462,463,464,465,466,467,468,469,47,470,471,472,473,474,475,476,477,478,479,48,480,481,482,483,484,485,486,487,488,489,49,490,491,492,493,494,495,496,497,498,499,5,50,500,501,502,503,504,505,506,507,508,51,52,53,54,55,56,57,58,59,6,60,61,62,63,64,65,66,67,68,69,7,70,71,72,73,74,75,76,77,78,79,8,80,81,82,83,84,85,86,87,88,89,9,90,91,92,93,94,95,96,97,98,99],\"data\":[[8,true,true,null,8.0,1.0,null,null,1.006206,false,16.199999999999999,0.0,5.91,-4.56,0.0],[9,true,true,null,5.3,1.0,null,null,1.031909,false,5.38,0.0,2.27,-1.08,0.0],[88,true,true,null,975.899999999999977,1.0,null,null,1.046197,false,1600.0,533.330000000000041,721.25,-258.70999999999998,0.0],[598,true,true,null,573.680000000000064,1.0,null,null,1.043102,false,912.779999999999973,312.78000000000003,396.019999999999982,-155.830000000000012,0.0],[600,true,true,null,1526.0,1.0,null,null,1.050852,false,1600.0,533.330000000000041,686.730000000000018,-294.620000000000004,0.0],[605,true,true,null,246.0,1.0,null,null,1.077705,false,300.0,0.0,133.110000000000014,-51.25,0.0],[607,true,true,null,-31.18,1.0,null,null,1.021788,false,100.0,-41.57,38.670000000000002,-11.1,0.0],[611,true,true,null,115.5,1.0,null,null,1.038338,false,472.160000000000025,39.350000000000001,160.360000000000014,-150.950000000000017,0.0],[617,true,true,null,-17.02,1.0,null,null,1.056511,false,100.0,-22.699999999999999,2.05,-0.97,0.0],[620,true,true,null,31.0,1.0,null,null,1.066953,false,40.0,0.0,18.140000000000001,-6.75,0.0],[632,true,true,null,141.599999999999994,1.0,null,null,1.080207,false,180.0,0.0,80.510000000000005,-30.07,0.0],[640,true,true,null,576.0,1.0,null,null,1.072679,false,600.0,200.0,257.0,-110.850000000000008,0.0],[642,true,true,null,855.600000000000023,1.0,null,null,1.034553,false,1000.0,333.329999999999984,441.850000000000023,-171.27000000000001,0.0],[100,true,true,null,83.700000000000003,1.0,null,null,1.049578,false,120.0,0.0,55.539999999999999,-19.16,0.0],[646,true,true,null,836.200000000000045,1.0,null,null,1.008592,false,2000.0,666.669999999999959,962.200000000000045,-263.649999999999977,0.0],[658,true,true,null,176.0,1.0,null,null,1.03273,false,200.0,0.0,88.390000000000001,-36.189999999999998,0.0],[661,true,true,null,33.899999999999999,1.0,null,null,1.026543,false,40.0,0.0,17.879999999999999,-7.04,0.0],[663,true,true,null,1063.5,1.0,null,null,1.050714,false,1200.0,400.0,522.740000000000009,-212.370000000000005,0.0],[665,true,true,null,1269.400000000000091,1.0,null,null,1.048234,false,1500.0,500.0,661.899999999999977,-257.620000000000004,0.0],[677,true,true,null,498.400000000000034,1.0,null,null,1.064827,false,600.0,200.0,266.170000000000016,-101.5,0.0],[685,true,true,null,-121.299999999999997,1.0,null,null,1.070558,false,100.0,-161.72999999999999,58.350000000000001,-16.260000000000002,0.0],[690,true,true,null,7.9,1.0,null,null,1.014181,false,16.120000000000001,0.0,7.47,-2.56,0.0],[691,true,true,null,-53.289999999999999,1.0,null,null,1.036195,false,100.0,-71.049999999999997,19.510000000000002,-14.74,0.0],[693,true,true,null,204.300000000000011,1.0,null,null,1.020141,false,300.0,100.0,137.289999999999992,-46.579999999999998,0.0],[106,true,true,null,1250.400000000000091,1.0,null,null,1.054691,false,2000.0,666.669999999999959,926.350000000000023,-297.680000000000007,0.0],[695,true,true,null,-83.5,1.0,null,null,1.02967,false,100.0,-111.329999999999998,2.27,-1.04,0.0],[702,true,true,null,-38.450000000000003,1.0,null,null,1.023164,false,100.0,-51.259999999999998,2.23,-1.07,0.0],[708,true,true,null,362.0,1.0,null,null,1.000857,false,500.0,166.670000000000016,228.159999999999997,-78.829999999999998,0.0],[712,true,true,null,38.899999999999999,1.0,null,null,1.055141,false,119.299999999999997,0.0,41.670000000000002,-36.5,0.0],[715,true,true,null,110.5,1.0,null,null,1.068687,false,200.0,0.0,95.689999999999998,-28.93,0.0],[729,true,true,null,431.199999999999989,1.0,null,null,1.040978,false,600.0,200.0,273.490000000000009,-94.100000000000009,0.0],[737,true,true,null,78.200000000000003,1.0,null,null,1.025004,false,80.0,0.0,34.350000000000001,-15.5,0.0],[749,true,true,null,67.299999999999997,1.0,null,null,1.016849,false,409.090000000000032,0.0,134.539999999999992,-136.289999999999992,0.0],[751,true,true,null,-320.400000000000034,1.0,null,null,1.047704,false,100.0,-427.199999999999989,37.390000000000001,-12.449999999999999,0.0],[753,true,true,null,-100.5,1.0,null,null,1.043025,false,100.0,-134.0,54.299999999999997,-20.489999999999998,0.0],[115,true,true,null,69.0,1.0,null,null,1.020856,false,120.0,0.0,56.729999999999997,-17.84,0.0],[754,true,true,null,-43.200000000000003,1.0,null,null,1.040828,false,100.0,-57.600000000000001,105.340000000000003,-99.019999999999996,0.0],[761,true,true,null,1367.0,1.0,null,null,1.053565,false,2000.0,666.669999999999959,921.620000000000004,-304.730000000000018,0.0],[767,true,true,null,37.789999999999999,1.0,null,null,0.983266,false,80.0,0.0,38.009999999999998,-11.74,0.0],[769,true,true,null,46.799999999999997,1.0,null,null,1.049474,false,80.0,0.0,38.020000000000003,-11.81,0.0],[774,true,true,null,31.800000000000001,1.0,null,null,1.041748,false,80.0,0.0,39.119999999999997,-10.710000000000001,0.0],[776,true,true,null,286.5,1.0,null,null,1.049212,false,360.0,0.0,162.400000000000006,-61.789999999999999,0.0],[784,true,true,null,3.85,1.0,null,null,1.017237,false,234.52000000000001,0.0,78.129999999999995,-77.070000000000007,0.0],[793,true,true,null,54.299999999999997,1.0,null,null,1.050935,false,120.0,0.0,58.229999999999997,-16.489999999999998,0.0],[802,true,true,null,411.199999999999989,1.0,null,null,1.044905,false,600.0,200.0,276.189999999999998,-91.629999999999996,0.0],[807,true,true,null,76.480000000000004,1.0,null,null,1.041924,false,160.0,0.0,76.079999999999998,-23.59,0.0],[121,true,true,null,231.0,1.0,null,null,1.052152,false,280.0,0.0,124.120000000000005,-49.840000000000003,0.0],[811,true,true,null,1367.0,1.0,null,null,1.052984,false,2000.0,666.669999999999959,921.519999999999982,-304.79000000000002,0.0],[814,true,true,null,1897.0,1.0,null,null,1.054923,false,2000.0,666.669999999999959,848.759999999999991,-377.670000000000016,0.0],[817,true,true,null,41.920000000000002,1.0,null,null,1.036409,false,120.0,0.0,51.939999999999998,-22.800000000000001,0.0],[820,true,true,null,308.310000000000002,1.0,null,null,1.026597,false,700.0,200.0,124.680000000000007,-59.390000000000001,0.0],[821,true,true,null,144.900000000000006,1.0,null,null,1.013897,false,180.0,0.0,79.689999999999998,-30.77,0.0],[825,true,true,null,-72.900000000000006,1.0,null,null,1.020441,false,100.0,-97.200000000000003,69.010000000000005,-69.900000000000006,0.0],[834,true,true,null,77.600000000000008,1.0,null,null,1.039499,false,196.719999999999999,0.0,70.150000000000006,-58.100000000000001,0.0],[849,true,true,null,575.399999999999977,1.0,null,null,1.05096,false,900.0,300.0,416.699999999999989,-134.5,0.0],[854,true,true,null,1221.200000000000045,1.0,null,null,1.069288,false,2000.0,666.669999999999959,934.810000000000059,-291.470000000000027,0.0],[858,true,true,null,-95.100000000000009,1.0,null,null,1.044662,false,100.0,-126.799999999999997,88.329999999999998,-36.329999999999998,0.0],[130,true,true,null,83.100000000000009,1.0,null,null,1.029422,false,120.0,0.0,55.729999999999997,-19.010000000000002,0.0],[859,true,true,null,66.799999999999997,1.0,null,null,1.055463,false,160.0,0.0,77.909999999999997,-21.66,0.0],[860,true,true,null,1048.200000000000045,1.0,null,null,1.030206,false,1200.0,400.0,525.340000000000032,-209.840000000000003,0.0],[866,true,true,null,1250.400000000000091,1.0,null,null,1.054536,false,2000.0,666.669999999999959,926.259999999999991,-297.740000000000009,0.0],[867,true,true,null,71.799999999999997,1.0,null,null,0.991705,false,80.0,0.0,34.799999999999997,-14.94,0.0],[870,true,true,null,80.700000000000003,1.0,null,null,1.079986,false,120.0,0.0,55.979999999999997,-18.760000000000002,0.0],[871,true,true,null,31.600000000000001,1.0,null,null,1.044122,false,40.0,0.0,18.190000000000001,-6.74,0.0],[877,true,true,null,126.0,1.0,null,null,1.000604,false,160.0,0.0,72.019999999999996,-27.469999999999999,0.0],[882,true,true,null,4.5,1.0,null,null,1.060615,false,9.050000000000001,0.0,3.31,-2.54,0.0],[884,true,true,null,8.949999999999999,1.0,null,null,1.05418,false,214.860000000000014,0.0,72.950000000000003,-68.710000000000008,0.0],[885,true,true,null,60.899999999999999,1.0,null,null,1.052878,false,120.0,0.0,57.689999999999998,-17.02,0.0],[132,true,true,null,-40.350000000000001,1.0,null,null,1.013689,false,100.0,-53.799999999999997,1.95,-0.93,0.0],[889,true,true,null,-223.400000000000006,1.0,null,null,1.011629,false,100.0,-297.870000000000004,1.52,-0.73,0.0],[893,true,true,null,20.899999999999999,1.0,null,null,1.061022,false,40.0,0.0,19.190000000000001,-5.72,0.0],[906,true,true,null,53.200000000000003,1.0,null,null,1.049271,false,80.0,0.0,37.240000000000002,-12.539999999999999,0.0],[908,true,true,null,3.4,1.0,null,null,1.052968,false,6.83,0.0,2.51,-1.91,0.0],[911,true,true,null,-222.099999999999994,1.0,null,null,1.020023,false,100.0,-296.129999999999995,1.83,-0.87,0.0],[927,true,true,null,46.600000000000001,1.0,null,null,1.05077,false,493.350000000000023,0.0,184.460000000000008,-132.670000000000016,0.0],[933,true,true,null,162.5,1.0,null,null,1.043371,false,200.0,0.0,89.609999999999999,-34.82,0.0],[939,true,true,null,855.700000000000046,1.0,null,null,1.034318,false,1000.0,333.329999999999984,441.850000000000023,-171.27000000000001,0.0],[945,true,true,null,210.400000000000006,1.0,null,null,0.999852,false,400.0,133.330000000000012,167.719999999999999,-77.109999999999999,0.0],[967,true,true,null,-20.300000000000001,1.0,null,null,1.072644,false,100.0,-27.07,22.390000000000001,-20.989999999999998,0.0],[136,true,true,null,260.100000000000023,1.0,null,null,1.021096,false,540.0,0.0,257.230000000000018,-74.400000000000006,0.0],[968,true,true,null,38.600000000000001,1.0,null,null,1.0681,false,40.0,0.0,17.329999999999998,-7.61,0.0],[973,true,true,null,85.540000000000006,1.0,null,null,1.061763,false,240.0,0.0,113.969999999999999,-35.560000000000002,0.0],[974,true,true,null,-136.300000000000011,1.0,null,null,1.02503,false,100.0,-181.72999999999999,70.25,-29.329999999999998,0.0],[978,true,true,null,-31.34,1.0,null,null,1.017094,false,100.0,-41.789999999999999,6.66,-5.1,0.0],[979,true,true,null,9.0,1.0,null,null,1.023658,false,18.41,0.0,6.78,-5.13,0.0],[980,true,true,null,33.899999999999999,1.0,null,null,1.006379,false,206.860000000000014,0.0,67.920000000000002,-69.019999999999996,0.0],[986,true,true,null,98.700000000000003,1.0,null,null,1.056991,false,120.0,0.0,53.700000000000003,-20.98,0.0],[995,true,true,null,416.699999999999989,1.0,null,null,1.03763,false,540.0,0.0,243.610000000000014,-88.460000000000008,0.0],[1001,true,true,null,-107.400000000000006,1.0,null,null,1.032146,false,100.0,-143.200000000000017,36.789999999999999,-13.0,0.0],[1005,true,true,null,13.0,1.0,null,null,1.012423,false,420.0,0.0,178.469999999999999,-79.109999999999999,0.0],[144,true,true,null,-107.400000000000006,1.0,null,null,1.012805,false,100.0,-143.200000000000017,6.28,-4.82,0.0],[1007,true,true,null,-42.299999999999997,1.0,null,null,1.051571,false,100.0,-56.399999999999999,62.229999999999997,-51.369999999999997,0.0],[1024,true,true,null,326.400000000000034,1.0,null,null,1.027251,false,500.0,166.670000000000016,229.0,-77.019999999999996,0.0],[1028,true,true,null,861.300000000000068,1.0,null,null,1.069265,false,1000.0,333.329999999999984,439.199999999999989,-173.430000000000007,0.0],[1030,true,true,null,-26.48,1.0,null,null,1.016523,false,100.0,-35.299999999999997,38.130000000000003,-11.640000000000001,0.0],[1034,true,true,null,-45.5,1.0,null,null,1.03247,false,100.0,-60.670000000000002,34.409999999999997,-15.34,0.0],[1035,true,true,null,-600.0,1.0,null,null,1.08873,false,630.0,-630.0,99999.0,-99999.0,0.0],[1039,true,true,null,56.799999999999997,1.0,null,null,1.014746,false,80.0,0.0,37.100000000000001,-12.76,0.0],[1041,true,true,null,19.07,1.0,null,null,1.047796,false,80.0,0.0,38.200000000000003,-11.609999999999999,0.0],[1043,true,true,null,44.5,1.0,null,null,1.055303,false,135.27000000000001,0.0,47.189999999999998,-41.439999999999998,0.0],[1051,true,true,null,2.4,1.0,null,null,1.041678,false,120.0,0.0,54.590000000000003,-20.190000000000001,0.0],[152,true,true,null,539.399999999999977,1.0,null,null,1.074804,false,600.0,200.0,261.79000000000002,-106.670000000000002,0.0],[1059,true,true,null,171.300000000000011,1.0,null,null,0.997085,false,180.0,0.0,76.430000000000007,-34.119999999999997,0.0],[1060,true,true,null,53.700000000000003,1.0,null,null,1.065868,false,120.0,0.0,58.189999999999998,-16.5,0.0],[1067,true,true,null,521.0,1.0,null,null,1.056276,false,1200.0,400.0,550.970000000000027,-184.890000000000015,0.0],[1084,true,true,null,-370.800000000000011,1.0,null,null,1.04519,false,100.0,-494.400000000000034,53.75,-21.079999999999998,0.0],[1097,true,true,null,829.800000000000068,1.0,null,null,1.029628,false,900.0,300.0,387.879999999999996,-163.400000000000006,0.0],[1111,true,true,null,15.880000000000001,1.0,null,null,1.079121,false,80.0,0.0,38.829999999999998,-10.970000000000001,0.0],[1114,true,true,null,539.0,1.0,null,null,1.075232,false,600.0,0.0,261.699999999999989,-107.359999999999999,0.0],[1115,true,true,null,-321.800000000000011,1.0,null,null,1.045127,false,100.0,-429.069999999999993,52.829999999999998,-52.039999999999999,0.0],[1116,true,true,null,-88.400000000000006,1.0,null,null,1.019651,false,100.0,-117.870000000000004,19.800000000000001,-15.119999999999999,0.0],[1117,true,true,null,50.799999999999997,1.0,null,null,1.006097,false,80.0,0.0,37.43,-12.32,0.0],[11,true,true,null,34.299999999999997,1.0,null,null,1.005551,false,40.0,0.0,17.760000000000002,-7.14,0.0],[169,true,true,null,-51.670000000000002,1.0,null,null,1.069692,false,100.0,-68.890000000000001,18.469999999999999,-19.350000000000001,0.0],[1127,true,true,null,-125.400000000000006,1.0,null,null,1.03827,false,100.0,-167.200000000000017,54.590000000000003,-20.120000000000001,0.0],[1131,true,true,null,202.030000000000001,1.0,null,null,1.023915,false,300.0,0.0,130.009999999999991,-54.039999999999999,0.0],[1133,true,true,null,54.969999999999999,1.0,null,null,1.020807,false,160.0,0.0,76.850000000000008,-22.640000000000001,0.0],[1136,true,true,null,16.399999999999999,1.0,null,null,1.018948,false,66.090000000000003,0.0,22.350000000000001,-21.219999999999999,0.0],[1141,true,true,null,-26.199999999999999,1.0,null,null,1.067132,false,100.0,-34.93,116.070000000000007,-33.32,0.0],[1143,true,true,null,1097.400000000000091,1.0,null,null,1.065964,false,2000.0,666.669999999999959,943.639999999999986,-282.009999999999991,0.0],[1144,true,true,null,861.200000000000045,1.0,null,null,1.059844,false,1000.0,333.329999999999984,441.04000000000002,-172.050000000000011,0.0],[1150,true,true,null,424.5,1.0,null,null,1.013624,false,600.0,200.0,257.610000000000014,-110.430000000000007,0.0],[1154,true,true,null,5.2,1.0,null,null,1.032178,false,6.2,0.0,2.18,-1.05,0.0],[1155,true,true,null,239.599999999999994,1.0,null,null,1.030169,false,300.0,100.0,133.840000000000003,-49.890000000000001,0.0],[173,true,true,null,-270.0,1.0,null,null,1.043394,false,100.0,-360.0,17.879999999999999,-7.03,0.0],[1156,true,true,null,164.400000000000006,1.0,null,null,1.025431,false,420.0,0.0,180.110000000000014,-77.840000000000003,0.0],[1158,true,true,null,-12.58,1.0,null,null,1.041028,false,100.0,-16.780000000000001,36.340000000000003,-13.470000000000001,0.0],[1161,true,true,null,40.399999999999999,1.0,null,null,1.00126,false,80.0,0.0,38.359999999999999,-11.380000000000001,0.0],[1165,true,true,null,1146.299999999999954,1.0,null,null,1.062798,false,1200.0,400.0,514.149999999999977,-221.730000000000018,0.0],[1171,true,true,null,854.700000000000046,1.0,null,null,1.035379,false,1200.0,400.0,548.57000000000005,-187.159999999999997,0.0],[1183,true,true,null,90.600000000000008,1.0,null,null,0.997709,false,120.0,0.0,54.700000000000003,-19.969999999999999,0.0],[1184,true,true,null,85.400000000000006,1.0,null,null,1.058708,false,240.0,0.0,108.060000000000002,-41.25,0.0],[1188,true,true,null,257.0,1.0,null,null,1.084761,false,700.0,233.330000000000012,313.009999999999991,-116.730000000000004,0.0],[1194,true,true,null,292.0,1.0,null,null,1.029497,false,400.0,133.330000000000012,165.759999999999991,-79.170000000000002,0.0],[1195,true,true,null,837.300000000000068,1.0,null,null,1.026381,false,900.0,300.0,388.170000000000016,-163.400000000000006,0.0],[185,true,true,null,38.200000000000003,1.0,null,null,1.06611,false,40.0,0.0,17.09,-7.79,0.0],[1198,true,true,null,-22.949999999999999,1.0,null,null,1.030834,false,100.0,-30.600000000000001,36.289999999999999,-35.420000000000002,0.0],[1206,true,true,null,855.600000000000023,1.0,null,null,1.035477,false,1000.0,333.329999999999984,440.689999999999998,-172.140000000000015,0.0],[1207,true,true,null,-25.100000000000001,1.0,null,null,1.046886,false,100.0,-33.469999999999999,34.270000000000003,-15.52,0.0],[1216,true,true,null,-21.27,1.0,null,null,1.044945,false,100.0,-28.370000000000001,38.020000000000003,-11.77,0.0],[1224,true,true,null,-27.100000000000001,1.0,null,null,1.029014,false,100.0,-36.130000000000003,126.159999999999997,-127.560000000000002,0.0],[1234,true,true,null,-134.5,1.0,null,null,1.060173,false,100.0,-179.330000000000012,55.670000000000002,-19.09,0.0],[1237,true,true,null,229.900000000000006,1.0,null,null,1.012943,false,300.0,100.0,134.97999999999999,-48.75,0.0],[1239,true,true,null,44.600000000000001,1.0,null,null,1.021034,false,80.0,0.0,38.049999999999997,-11.720000000000001,0.0],[1250,true,true,null,109.200000000000003,1.0,null,null,1.026951,false,120.0,0.0,52.25,-22.440000000000001,0.0],[1253,true,true,null,89.5,1.0,null,null,1.032708,false,200.0,0.0,97.070000000000007,-27.440000000000001,0.0],[186,true,true,null,379.199999999999989,1.0,null,null,1.049295,false,480.0,160.0,217.900000000000006,-81.159999999999997,0.0],[1255,true,true,null,399.300000000000011,1.0,null,null,1.05962,false,500.0,166.670000000000016,223.069999999999993,-83.700000000000003,0.0],[1261,true,true,null,-76.900000000000006,1.0,null,null,1.042513,false,100.0,-102.530000000000001,38.049999999999997,-11.77,0.0],[1270,true,true,null,366.100000000000023,1.0,null,null,1.060214,false,600.0,0.0,264.939999999999998,-103.740000000000009,0.0],[1282,true,true,null,41.0,1.0,null,null,1.029072,false,80.0,0.0,38.369999999999997,-11.4,0.0],[1284,true,true,null,59.600000000000001,1.0,null,null,0.999283,false,80.0,0.0,36.890000000000001,-13.0,0.0],[1286,true,true,null,67.5,1.0,null,null,1.023094,false,120.0,0.0,57.030000000000001,-17.629999999999999,0.0],[1298,true,true,null,710.700000000000046,1.0,null,null,1.016453,false,800.0,266.670000000000016,344.900000000000034,-146.060000000000002,0.0],[1303,true,true,null,767.399999999999977,1.0,null,null,1.077662,false,900.0,300.0,396.379999999999995,-154.990000000000009,0.0],[1306,true,true,null,-48.159999999999997,1.0,null,null,1.017661,false,100.0,-64.209999999999994,1.83,-0.85,0.0],[1324,true,true,null,28.0,1.0,null,null,1.013671,false,40.0,0.0,18.41,-6.45,0.0],[187,true,true,null,670.300000000000068,1.0,null,null,1.028233,false,800.0,266.670000000000016,351.180000000000007,-139.110000000000014,0.0],[1329,true,true,null,515.389999999999986,1.0,null,null,1.01711,false,600.0,200.0,261.600000000000023,-106.390000000000001,0.0],[1332,true,true,null,251.0,1.0,null,null,1.02141,false,420.0,0.0,196.080000000000012,-61.880000000000002,0.0],[1346,true,true,null,60.200000000000003,1.0,null,null,1.032206,false,80.0,0.0,36.729999999999997,-13.119999999999999,0.0],[1347,true,true,null,152.400000000000006,1.0,null,null,0.999193,false,180.0,0.0,79.100000000000009,-31.460000000000001,0.0],[1349,true,true,null,1334.299999999999954,1.0,null,null,1.010847,false,2700.0,800.0,576.779999999999973,-158.189999999999998,0.0],[1350,true,true,null,-52.5,1.0,null,null,1.024208,false,100.0,-70.0,16.93,-7.97,0.0],[1364,true,true,null,115.359999999999999,1.0,null,null,1.066547,false,300.0,100.0,142.0,-41.869999999999998,0.0],[1365,true,true,null,-129.099999999999994,1.0,null,null,1.039119,false,100.0,-172.129999999999995,38.479999999999997,-11.33,0.0],[1374,true,true,null,861.300000000000068,1.0,null,null,1.059728,false,1000.0,333.329999999999984,441.04000000000002,-172.050000000000011,0.0],[1378,true,true,null,14.699999999999999,1.0,null,null,1.019796,false,60.240000000000002,0.0,20.489999999999998,-19.239999999999998,0.0],[190,true,true,null,152.400000000000006,1.0,null,null,0.98494,false,180.0,0.0,78.790000000000006,-31.690000000000001,0.0],[1382,true,true,null,-11.23,1.0,null,null,1.036687,false,100.0,-14.98,34.609999999999999,-33.920000000000002,0.0],[1388,true,true,null,861.300000000000068,1.0,null,null,1.069297,false,1000.0,333.329999999999984,439.199999999999989,-173.430000000000007,0.0],[1390,true,true,null,35.200000000000003,1.0,null,null,1.05005,false,80.0,0.0,38.850000000000001,-10.949999999999999,0.0],[1400,true,true,null,-171.800000000000011,1.0,null,null,1.040247,false,100.0,-229.069999999999993,37.859999999999999,-11.949999999999999,0.0],[1419,true,true,null,-30.390000000000001,1.0,null,null,1.073131,false,100.0,-40.509999999999998,37.939999999999998,-11.869999999999999,0.0],[1422,true,true,null,-545.700000000000046,1.0,null,null,1.042233,false,100.0,-727.600000000000023,92.960000000000008,-29.809999999999999,0.0],[1433,true,true,null,68.0,1.0,null,null,1.039942,false,80.0,0.0,35.619999999999998,-14.19,0.0],[1440,true,true,null,101.620000000000004,1.0,null,null,1.022686,false,300.0,0.0,140.97999999999999,-43.310000000000002,0.0],[1442,true,true,null,-78.900000000000006,1.0,null,null,1.051599,false,100.0,-105.200000000000003,19.140000000000001,-5.77,0.0],[1443,true,true,null,-116.0,1.0,null,null,1.028053,false,100.0,-154.670000000000016,55.07,-19.629999999999999,0.0],[191,true,true,null,-46.200000000000003,1.0,null,null,1.046182,false,100.0,-61.600000000000001,135.52000000000001,-38.899999999999999,0.0],[1452,true,true,null,541.0,1.0,null,null,1.033192,false,900.0,300.0,417.980000000000018,-132.469999999999999,0.0],[1454,true,true,null,93.200000000000003,1.0,null,null,1.044876,false,281.850000000000023,0.0,98.400000000000006,-86.290000000000006,0.0],[1478,true,true,null,78.0,1.0,null,null,1.027623,false,200.0,0.0,89.540000000000006,-34.979999999999997,0.0],[1479,true,true,null,16.0,1.0,null,null,1.020563,false,65.299999999999997,0.0,22.149999999999999,-20.899999999999999,0.0],[1481,true,true,null,805.5,1.0,null,null,1.068296,false,900.0,300.0,389.829999999999984,-161.159999999999997,0.0],[1483,true,true,null,861.300000000000068,1.0,null,null,1.069324,false,1000.0,333.329999999999984,439.199999999999989,-173.430000000000007,0.0],[1491,true,true,null,-26.079999999999998,1.0,null,null,1.062911,false,100.0,-34.770000000000003,38.369999999999997,-11.44,0.0],[1492,true,true,null,855.600000000000023,1.0,null,null,1.035474,false,1000.0,333.329999999999984,440.689999999999998,-172.140000000000015,0.0],[1493,true,true,null,10.300000000000001,1.0,null,null,1.06272,false,10.460000000000001,0.0,4.44,-2.07,0.0],[1498,true,true,null,6.8,1.0,null,null,1.053038,false,13.630000000000001,0.0,5.0,-3.81,0.0],[193,true,true,null,63.329999999999998,1.0,null,null,1.036757,false,276.090000000000032,0.0,90.129999999999995,-93.030000000000001,0.0],[1499,true,true,null,239.599999999999994,1.0,null,null,1.030285,false,300.0,100.0,133.840000000000003,-49.890000000000001,0.0],[1500,true,true,null,88.799999999999997,1.0,null,null,1.052648,false,160.0,0.0,76.519999999999996,-23.190000000000001,0.0],[1511,true,true,null,-40.299999999999997,1.0,null,null,1.03955,false,100.0,-53.729999999999997,75.620000000000004,-23.960000000000001,0.0],[1516,true,true,null,18.559999999999999,1.0,null,null,1.018589,false,80.0,0.0,37.579999999999998,-12.23,0.0],[1522,true,true,null,41.689999999999998,1.0,null,null,1.059135,false,80.0,0.0,37.270000000000003,-12.57,0.0],[1526,true,true,null,20.199999999999999,1.0,null,null,1.040167,false,102.790000000000006,0.0,34.390000000000001,-33.640000000000001,0.0],[1530,true,true,null,385.400000000000034,1.0,null,null,1.059702,false,500.0,166.670000000000016,224.400000000000006,-82.219999999999999,0.0],[1535,true,true,null,-12.57,1.0,null,null,1.044318,false,100.0,-16.77,37.229999999999997,-12.609999999999999,0.0],[1537,true,true,null,40.840000000000003,1.0,null,null,1.019681,false,120.0,0.0,54.460000000000001,-20.260000000000002,0.0],[1538,true,true,null,961.0,1.0,null,null,1.048836,false,1200.0,400.0,533.389999999999986,-201.120000000000005,0.0],[205,true,true,null,37.399999999999999,1.0,null,null,1.065269,false,80.0,0.0,38.770000000000003,-11.06,0.0],[1541,true,true,null,83.200000000000003,1.0,null,null,1.023151,false,420.0,0.0,182.200000000000017,-75.829999999999998,0.0],[1549,true,true,null,54.299999999999997,1.0,null,null,1.061776,false,220.120000000000005,0.0,74.730000000000004,-70.409999999999997,0.0],[1554,true,true,null,49.399999999999999,1.0,null,null,1.04927,false,80.0,0.0,37.719999999999999,-12.09,0.0],[1555,true,true,null,-155.099999999999994,1.0,null,null,1.006979,false,100.0,-206.800000000000011,5.65,-4.3,0.0],[1561,true,true,null,83.480000000000004,1.0,null,null,1.039098,false,160.0,0.0,74.549999999999997,-24.969999999999999,0.0],[1562,true,true,null,13.300000000000001,1.0,null,null,1.067508,false,40.68,0.0,14.220000000000001,-12.43,0.0],[1563,true,true,null,1008.300000000000068,1.0,null,null,1.072972,false,1200.0,400.0,532.960000000000036,-203.189999999999998,0.0],[1564,true,true,null,542.0,1.0,null,null,1.021364,false,600.0,0.0,258.910000000000025,-109.579999999999998,0.0],[1567,true,true,null,276.420000000000016,1.0,null,null,1.054352,false,360.0,0.0,151.810000000000002,-69.25,0.0],[1571,true,true,null,21.100000000000001,1.0,null,null,1.059554,false,21.23,7.08,8.91,-4.11,0.0],[206,true,true,null,-21.649999999999999,1.0,null,null,1.018064,false,100.0,-28.859999999999999,34.75,-34.259999999999998,0.0],[1575,true,true,null,-52.509999999999998,1.0,null,null,1.034874,false,100.0,-70.010000000000005,38.280000000000001,-11.5,0.0],[1578,true,true,null,75.600000000000008,1.0,null,null,1.057395,false,120.0,0.0,56.350000000000001,-18.420000000000002,0.0],[1583,true,true,null,1713.600000000000136,1.0,null,null,1.035348,false,2000.0,666.669999999999959,882.860000000000014,-343.240000000000009,0.0],[1591,true,true,null,-87.600000000000008,1.0,null,null,1.01545,false,100.0,-116.799999999999997,32.890000000000001,-32.289999999999999,0.0],[1608,true,true,null,106.799999999999997,1.0,null,null,1.050569,false,160.0,0.0,75.019999999999996,-24.739999999999998,0.0],[1609,true,true,null,-1344.400000000000091,1.0,null,null,1.005494,false,100.0,-1792.529999999999973,99999.0,-99999.0,0.0],[1622,true,true,null,119.400000000000006,1.0,null,null,1.041244,false,120.0,0.0,51.299999999999997,-23.489999999999998,0.0],[1624,true,true,null,-193.900000000000006,1.0,null,null,1.021983,false,100.0,-258.529999999999973,2.29,-1.06,0.0],[1628,true,true,null,332.54000000000002,1.0,null,null,1.011274,false,360.0,0.0,159.670000000000016,-61.420000000000002,0.0],[1632,true,true,null,152.300000000000011,1.0,null,null,1.061166,false,1689.1400000000001,51.189999999999998,542.730000000000018,-582.680000000000064,0.0],[14,true,true,null,-144.5,1.0,null,null,1.01198,false,100.0,-192.670000000000016,5.48,-4.19,0.0],[210,true,true,null,274.800000000000011,1.0,null,null,1.001541,false,300.0,100.0,129.939999999999998,-53.909999999999997,0.0],[1638,true,true,null,-54.780000000000001,1.0,null,null,1.018401,false,100.0,-73.049999999999997,35.25,-34.600000000000001,0.0],[1644,true,true,null,-159.0,1.0,null,null,1.051438,false,100.0,-212.0,36.369999999999997,-13.43,0.0],[1648,true,true,null,10.800000000000001,1.0,null,null,1.015924,false,32.740000000000002,0.0,11.359999999999999,-10.08,0.0],[1655,true,true,null,19.59,1.0,null,null,1.063822,false,40.0,0.0,18.140000000000001,-6.75,0.0],[1658,true,true,null,1250.600000000000136,1.0,null,null,1.105689,false,2000.0,666.669999999999959,926.470000000000027,-297.629999999999996,0.0],[1663,true,true,null,-395.800000000000011,1.0,null,null,1.049,false,100.0,-527.730000000000018,58.060000000000002,-16.66,0.0],[1665,true,true,null,219.5,1.0,null,null,1.023182,false,240.0,0.0,102.600000000000008,-44.689999999999998,0.0],[1675,true,true,null,181.099999999999994,1.0,null,null,1.077356,false,240.0,0.0,108.269999999999996,-39.200000000000003,0.0],[1685,true,true,null,43.399999999999999,1.0,null,null,1.05743,false,80.0,0.0,38.259999999999998,-11.550000000000001,0.0],[1688,true,true,null,18.5,1.0,null,null,1.001327,false,93.469999999999999,0.0,31.09,-30.760000000000002,0.0],[215,true,true,null,16.0,1.0,null,null,1.072146,false,65.299999999999997,0.0,22.23,-20.829999999999998,0.0],[1691,true,true,null,1368.600000000000136,1.0,null,null,1.063327,false,2000.0,666.669999999999959,920.310000000000059,-305.639999999999986,0.0],[1692,true,true,null,56.799999999999997,1.0,null,null,1.046078,false,249.060000000000002,0.0,101.320000000000007,-48.119999999999997,0.0],[1693,true,true,null,861.300000000000068,1.0,null,null,1.0598,false,1000.0,333.329999999999984,441.04000000000002,-172.050000000000011,0.0],[1694,true,true,null,-96.400000000000006,1.0,null,null,1.041439,false,100.0,-128.530000000000001,37.490000000000002,-12.33,0.0],[1695,true,true,null,3424.800000000000182,1.0,null,null,1.064044,false,4000.0,1333.329999999999927,1765.360000000000127,-686.669999999999959,0.0],[1701,true,true,null,75.620000000000004,1.0,null,null,1.020123,false,160.0,0.0,69.670000000000002,-30.0,0.0],[1708,true,true,null,173.0,1.0,null,null,1.041341,false,200.0,0.0,88.870000000000004,-35.710000000000001,0.0],[1709,true,true,null,21.5,1.0,null,null,1.055712,false,40.0,0.0,19.16,-5.75,0.0],[1715,true,true,null,57.600000000000001,1.0,null,null,1.042161,false,80.0,0.0,36.799999999999997,-12.99,0.0],[1739,true,true,null,229.800000000000011,1.0,null,null,1.009808,false,240.0,0.0,103.180000000000007,-46.25,0.0],[224,true,true,null,465.699999999999989,1.0,null,null,1.040583,false,500.0,166.670000000000016,212.969999999999999,-93.450000000000003,0.0],[1741,true,true,null,128.0,1.0,null,null,1.068735,false,160.0,0.0,72.710000000000008,-27.050000000000001,0.0],[1743,true,true,null,294.54000000000002,1.0,null,null,1.003946,false,600.0,100.0,34.469999999999999,-15.34,0.0],[1744,true,true,null,16.600000000000001,1.0,null,null,1.018899,false,67.760000000000005,0.0,22.969999999999999,-21.699999999999999,0.0],[1755,true,true,null,837.0,1.0,null,null,1.026473,false,1200.0,400.0,550.690000000000055,-185.150000000000006,0.0],[1759,true,true,null,18.5,1.0,null,null,1.020165,false,95.980000000000004,0.0,31.98,-31.539999999999999,0.0],[1763,true,true,null,84.5,1.0,null,null,1.028692,false,85.140000000000001,28.379999999999999,35.689999999999998,-16.43,0.0],[1776,true,true,null,1102.829999999999927,1.0,null,null,1.038035,false,1800.0,600.0,779.289999999999964,-324.79000000000002,0.0],[1778,true,true,null,63.549999999999997,1.0,null,null,1.031918,false,240.0,0.0,114.670000000000002,-32.560000000000002,0.0],[1787,true,true,null,181.200000000000017,1.0,null,null,1.048258,false,440.0,146.670000000000016,196.980000000000018,-77.170000000000002,0.0],[1789,true,true,null,-74.210000000000008,1.0,null,null,1.019461,false,100.0,-98.939999999999998,45.829999999999998,-46.299999999999997,0.0],[227,true,true,null,198.879999999999996,1.0,null,null,1.0548,false,240.0,0.0,105.689999999999998,-43.840000000000003,0.0],[1790,true,true,null,404.600000000000023,1.0,null,null,1.063184,false,500.0,166.670000000000016,220.75,-85.540000000000006,0.0],[1791,true,true,null,262.600000000000023,1.0,null,null,0.995795,false,600.0,100.0,76.5,-34.049999999999997,0.0],[1792,true,true,null,13.199999999999999,1.0,null,null,1.029274,false,39.979999999999997,0.0,13.93,-12.27,0.0],[1794,true,true,null,-179.400000000000006,1.0,null,null,1.032948,false,100.0,-239.200000000000017,1.58,-0.74,0.0],[1801,true,true,null,305.699999999999989,1.0,null,null,1.039775,false,480.0,160.0,214.129999999999995,-85.0,0.0],[1806,true,true,null,60.0,1.0,null,null,1.062314,false,80.0,0.0,36.719999999999999,-13.130000000000001,0.0],[1824,true,true,null,-74.900000000000006,1.0,null,null,1.031482,false,100.0,-99.870000000000004,17.210000000000001,-7.73,0.0],[1833,true,true,null,127.570000000000007,1.0,null,null,1.019864,false,360.0,0.0,172.469999999999999,-48.340000000000003,0.0],[1834,true,true,null,1221.200000000000045,1.0,null,null,1.067028,false,2000.0,666.669999999999959,934.539999999999964,-291.639999999999986,0.0],[1837,true,true,null,-102.5,1.0,null,null,1.064637,false,100.0,-136.670000000000016,37.270000000000003,-12.59,0.0],[229,true,true,null,65.900000000000006,1.0,null,null,1.023645,false,300.0,0.0,136.939999999999998,-47.240000000000002,0.0],[1840,true,true,null,854.600000000000023,1.0,null,null,1.018313,false,1200.0,400.0,517.549999999999954,-217.25,0.0],[1842,true,true,null,-87.299999999999997,1.0,null,null,1.034164,false,100.0,-116.400000000000006,60.509999999999998,-61.079999999999998,0.0],[1844,true,true,null,617.700000000000046,1.0,null,null,1.085651,false,900.0,300.0,411.660000000000025,-139.210000000000008,0.0],[1854,true,true,null,820.200000000000045,1.0,null,null,1.041753,false,900.0,300.0,390.400000000000034,-161.159999999999997,0.0],[1870,true,true,null,60.399999999999999,1.0,null,null,1.032192,false,80.0,0.0,36.579999999999998,-13.23,0.0],[1871,true,true,null,774.899999999999977,1.0,null,null,1.03946,false,900.0,300.0,395.590000000000032,-155.879999999999996,0.0],[1882,true,true,null,602.399999999999977,1.0,null,null,1.141159,false,900.0,300.0,415.259999999999991,-136.330000000000012,0.0],[1886,true,true,null,-121.900000000000006,1.0,null,null,1.013527,false,100.0,-162.530000000000001,16.91,-7.99,0.0],[1888,true,true,null,190.580000000000012,1.0,null,null,1.021227,false,240.0,0.0,104.760000000000005,-42.600000000000001,0.0],[1892,true,true,null,94.299999999999997,1.0,null,null,0.996786,false,769.940000000000055,32.079999999999998,249.650000000000006,-261.819999999999993,0.0],[231,true,true,null,116.700000000000003,1.0,null,null,1.016623,false,120.0,0.0,51.299999999999997,-23.41,0.0],[1895,true,true,null,26.300000000000001,1.0,null,null,1.043938,false,53.759999999999998,0.0,19.859999999999999,-14.93,0.0],[1898,true,true,null,65.900000000000006,1.0,null,null,1.038661,false,80.0,0.0,35.43,-14.41,0.0],[1916,true,true,null,879.600000000000023,1.0,null,null,1.018011,false,1200.0,400.0,545.680000000000064,-189.969999999999999,0.0],[1917,true,true,null,5.3,1.0,null,null,1.029262,false,5.32,0.0,2.24,-1.07,0.0],[1930,true,true,null,117.900000000000006,1.0,null,null,1.019445,false,120.0,0.0,51.25,-23.489999999999998,0.0],[1935,true,true,null,55.5,1.0,null,null,1.039201,false,120.0,0.0,58.119999999999997,-16.600000000000001,0.0],[1948,true,true,null,223.400000000000006,1.0,null,null,0.994824,false,300.0,100.0,134.080000000000012,-49.149999999999999,0.0],[1949,true,true,null,48.799999999999997,1.0,null,null,1.053365,false,80.0,0.0,37.759999999999998,-12.050000000000001,0.0],[1950,true,true,null,96.0,1.0,null,null,1.064292,false,200.0,0.0,96.560000000000002,-27.949999999999999,0.0],[1958,true,true,null,22.079999999999998,1.0,null,null,1.059908,false,80.0,0.0,38.289999999999999,-11.56,0.0],[236,true,true,null,-111.400000000000006,1.0,null,null,1.029038,false,100.0,-148.530000000000001,18.16,-6.73,0.0],[1963,true,true,null,-145.300000000000011,1.0,null,null,1.046268,false,100.0,-193.730000000000018,51.109999999999999,-23.460000000000001,0.0],[1965,true,true,null,-27.800000000000001,1.0,null,null,1.047648,false,100.0,-37.07,148.650000000000006,-50.729999999999997,0.0],[1977,true,true,null,310.829999999999984,1.0,null,null,0.987105,false,700.0,200.0,83.579999999999998,-38.780000000000001,0.0],[1983,true,true,null,171.0,1.0,null,null,1.03915,false,200.0,0.0,88.829999999999998,-35.689999999999998,0.0],[1985,true,true,null,-86.5,1.0,null,null,1.01651,false,100.0,-115.340000000000003,2.26,-1.04,0.0],[1993,true,true,null,77.400000000000006,1.0,null,null,1.006942,false,180.0,0.0,86.170000000000002,-24.25,0.0],[1995,true,true,null,718.5,1.0,null,null,1.062877,false,1000.0,333.329999999999984,438.720000000000027,-174.150000000000006,0.0],[2000,true,true,null,1168.799999999999954,1.0,null,null,1.030805,false,1200.0,400.0,508.020000000000039,-227.300000000000011,0.0],[2012,true,true,null,228.200000000000017,1.0,null,null,1.047972,false,280.0,0.0,126.730000000000004,-47.829999999999998,0.0],[2022,true,true,null,-204.200000000000017,1.0,null,null,1.048072,false,100.0,-272.269999999999982,37.579999999999998,-12.16,0.0],[237,true,true,null,16.5,1.0,null,null,1.051035,false,33.579999999999998,0.0,12.369999999999999,-9.359999999999999,0.0],[2045,true,true,null,2013.900000000000091,1.0,null,null,1.062949,false,3000.0,1000.0,1378.190000000000055,-459.090000000000032,0.0],[2050,true,true,null,742.759999999999991,1.0,null,null,1.02462,false,800.0,266.670000000000016,337.04000000000002,-153.259999999999991,0.0],[2051,true,true,null,249.0,1.0,null,null,1.022999,false,300.0,0.0,131.879999999999996,-52.240000000000002,0.0],[2060,true,true,null,21.300000000000001,1.0,null,null,1.07064,false,108.379999999999995,0.0,36.219999999999999,-35.5,0.0],[2072,true,true,null,382.699999999999989,1.0,null,null,1.05765,false,720.0,0.0,311.519999999999982,-132.090000000000003,0.0],[2095,true,true,null,949.700000000000046,1.0,null,null,1.019012,false,1000.0,333.329999999999984,429.610000000000014,-183.47999999999999,0.0],[2098,true,true,null,44.07,1.0,null,null,1.012126,false,160.0,0.0,77.140000000000001,-22.460000000000001,0.0],[2099,true,true,null,16.530000000000001,1.0,null,null,1.055666,false,160.0,0.0,77.350000000000008,-22.260000000000002,0.0],[2100,true,true,null,15.9,1.0,null,null,1.051187,false,32.530000000000001,0.0,11.99,-9.06,0.0],[2105,true,true,null,-57.5,1.0,null,null,1.034052,false,100.0,-76.670000000000002,35.619999999999998,-14.25,0.0],[238,true,true,null,50.799999999999997,1.0,null,null,1.006139,false,80.0,0.0,37.43,-12.32,0.0],[2111,true,true,null,578.0,1.0,null,null,1.043313,false,600.0,200.0,255.230000000000018,-112.310000000000002,0.0],[2115,true,true,null,102.900000000000006,1.0,null,null,1.051715,false,120.0,0.0,53.240000000000002,-21.469999999999999,0.0],[2117,true,true,null,-344.900000000000034,1.0,null,null,1.032911,false,100.0,-459.870000000000004,18.559999999999999,-6.34,0.0],[2119,true,true,null,2463.599999999999909,1.0,null,null,1.014858,false,4000.0,1333.329999999999927,1865.829999999999927,-585.950000000000046,0.0],[2121,true,true,null,19.800000000000001,1.0,null,null,1.066537,false,100.510000000000005,0.0,33.57,-32.950000000000003,0.0],[2128,true,true,null,133.0,1.0,null,null,1.042814,false,300.0,88.670000000000002,189.310000000000002,-59.869999999999998,0.0],[2143,true,true,null,665.800000000000068,1.0,null,null,1.030076,false,900.0,300.0,388.699999999999989,-162.640000000000015,0.0],[2145,true,true,null,227.5,1.0,null,null,1.046726,false,280.0,0.0,126.090000000000003,-48.289999999999999,0.0],[2153,true,true,null,39.799999999999997,1.0,null,null,1.061428,false,80.0,0.0,38.530000000000001,-11.27,0.0],[2155,true,true,null,-12.6,1.0,null,null,1.038963,false,100.0,-16.800000000000001,56.219999999999999,-18.440000000000001,0.0],[244,true,true,null,58.399999999999999,1.0,null,null,1.039638,false,80.0,0.0,36.75,-13.039999999999999,0.0],[2169,true,true,null,1152.700000000000046,1.0,null,null,1.063951,false,1200.0,400.0,507.730000000000018,-226.730000000000018,0.0],[2171,true,true,null,65.799999999999997,1.0,null,null,1.042173,false,80.0,0.0,36.159999999999997,-13.720000000000001,0.0],[2176,true,true,null,55.5,1.0,null,null,1.04735,false,120.0,0.0,58.18,-16.559999999999999,0.0],[2181,true,true,null,448.850000000000023,1.0,null,null,1.005566,false,600.0,200.0,267.360000000000014,-100.980000000000004,0.0],[2182,true,true,null,50.399999999999999,1.0,null,null,1.043279,false,80.0,0.0,37.590000000000003,-12.199999999999999,0.0],[2188,true,true,null,-49.369999999999997,1.0,null,null,1.026663,false,100.0,-65.829999999999998,13.41,-11.890000000000001,0.0],[2195,true,true,null,234.200000000000017,1.0,null,null,1.004388,false,300.0,100.0,133.02000000000001,-50.289999999999999,0.0],[2197,true,true,null,65.870000000000004,1.0,null,null,1.014496,false,272.28000000000003,0.0,95.060000000000002,-83.340000000000003,0.0],[2205,true,true,null,876.399999999999977,1.0,null,null,1.031779,false,1200.0,400.0,516.029999999999973,-219.170000000000016,0.0],[2213,true,true,null,861.300000000000068,1.0,null,null,1.059739,false,1000.0,333.329999999999984,441.04000000000002,-172.050000000000011,0.0],[32,true,true,null,861.300000000000068,1.0,null,null,1.079291,false,1000.0,333.329999999999984,440.319999999999993,-172.590000000000003,0.0],[247,true,true,null,-89.200000000000003,1.0,null,null,1.04396,false,100.0,-118.930000000000007,74.030000000000001,-25.539999999999999,0.0],[2220,true,true,null,1250.600000000000136,1.0,null,null,1.105479,false,2000.0,666.669999999999959,926.470000000000027,-297.629999999999996,0.0],[2226,true,true,null,7.3,1.0,null,null,1.052921,false,7.35,0.0,3.12,-1.46,0.0],[2237,true,true,null,21.300000000000001,1.0,null,null,1.030375,false,107.290000000000006,0.0,35.770000000000003,-35.229999999999997,0.0],[2239,true,true,null,32.0,1.0,null,null,1.016183,false,32.700000000000003,10.9,13.73,-6.28,0.0],[2242,true,true,null,-39.700000000000003,1.0,null,null,1.012113,false,100.0,-52.93,89.840000000000003,-34.840000000000003,0.0],[2243,true,true,null,766.800000000000068,1.0,null,null,1.06851,false,900.0,300.0,394.860000000000014,-156.120000000000005,0.0],[2247,true,true,null,-681.700000000000046,1.0,null,null,1.030612,false,100.0,-908.930000000000064,14.779999999999999,-6.64,0.0],[2248,true,true,null,2340.400000000000091,1.0,null,null,1.029503,false,4000.0,1333.329999999999927,1862.289999999999964,-588.159999999999968,0.0],[2255,true,true,null,856.399999999999977,1.0,null,null,1.033047,false,900.0,300.0,384.340000000000032,-167.039999999999992,0.0],[2262,true,true,null,59.060000000000002,1.0,null,null,1.042085,false,160.0,0.0,76.109999999999999,-23.620000000000001,0.0],[251,true,true,null,1597.5,1.0,null,null,1.057043,false,2000.0,666.669999999999959,864.470000000000027,-360.970000000000027,0.0],[2263,true,true,null,53.0,1.0,null,null,0.994679,false,80.0,0.0,37.450000000000003,-12.390000000000001,0.0],[2264,true,true,null,62.799999999999997,1.0,null,null,1.039675,false,80.0,0.0,36.259999999999998,-13.550000000000001,0.0],[2297,true,true,null,735.600000000000023,1.0,null,null,1.01868,false,900.0,300.0,399.879999999999996,-151.379999999999995,0.0],[2302,true,true,null,13.300000000000001,1.0,null,null,1.012514,false,40.960000000000001,0.0,14.279999999999999,-12.550000000000001,0.0],[2307,true,true,null,-202.530000000000001,1.0,null,null,1.057274,false,100.0,-270.04000000000002,75.850000000000008,-77.060000000000002,0.0],[2310,true,true,null,76.5,1.0,null,null,1.028765,false,120.0,0.0,56.270000000000003,-18.41,0.0],[2316,true,true,null,75.799999999999997,1.0,null,null,1.036344,false,200.0,50.530000000000001,214.230000000000018,-59.770000000000003,0.0],[2318,true,true,null,5.2,1.0,null,null,1.017989,false,5.3,0.0,2.24,-1.05,0.0],[2320,true,true,null,715.100000000000023,1.0,null,null,1.062735,false,900.0,300.0,402.150000000000034,-149.170000000000016,0.0],[2325,true,true,null,702.399999999999977,1.0,null,null,1.033404,false,800.0,266.670000000000016,350.360000000000014,-140.72999999999999,0.0],[256,true,true,null,1274.200000000000045,1.0,null,null,1.044347,false,2000.0,666.669999999999959,926.680000000000064,-298.310000000000002,0.0],[2326,true,true,null,508.0,1.0,null,null,1.000638,false,800.0,266.670000000000016,371.110000000000014,-119.670000000000002,0.0],[2357,true,true,null,243.0,1.0,null,null,1.057002,false,300.0,100.0,133.780000000000001,-50.039999999999999,0.0],[2359,true,true,null,33.090000000000003,1.0,null,null,1.019127,false,131.819999999999993,0.0,45.850000000000001,-40.5,0.0],[2364,true,true,null,769.200000000000045,1.0,null,null,1.053056,false,880.0,200.0,378.20999999999998,-162.349999999999994,0.0],[2368,true,true,null,-39.5,1.0,null,null,1.035071,false,100.0,-52.670000000000002,74.700000000000003,-24.780000000000001,0.0],[2369,true,true,null,168.599999999999994,1.0,null,null,1.039659,false,180.0,0.0,76.75,-33.789999999999999,0.0],[2380,true,true,null,228.200000000000017,1.0,null,null,1.047945,false,280.0,0.0,126.730000000000004,-47.829999999999998,0.0],[2392,true,true,null,6.3,1.0,null,null,1.06304,false,12.9,0.0,4.78,-3.57,0.0],[2393,true,true,null,106.799999999999997,1.0,null,null,1.015679,false,120.0,0.0,52.75,-21.969999999999999,0.0],[2399,true,true,null,1221.200000000000045,1.0,null,null,1.068185,false,2000.0,666.669999999999959,934.730000000000018,-291.519999999999982,0.0],[259,true,true,null,8.699999999999999,1.0,null,null,1.041392,false,17.57,0.0,6.45,-4.91,0.0],[2401,true,true,null,345.199999999999989,1.0,null,null,1.083645,false,600.0,200.0,281.920000000000016,-85.820000000000007,0.0],[2407,true,true,null,1250.400000000000091,1.0,null,null,1.055,false,2000.0,666.669999999999959,926.350000000000023,-297.680000000000007,0.0],[2410,true,true,null,25.600000000000001,1.0,null,null,1.020992,false,51.539999999999999,0.0,18.899999999999999,-14.44,0.0],[2417,true,true,null,15.5,1.0,null,null,1.02191,false,240.0,0.0,106.769999999999996,-42.810000000000002,0.0],[2420,true,true,null,165.0,1.0,null,null,1.005674,false,200.0,0.0,90.079999999999998,-34.560000000000002,0.0],[2427,true,true,null,397.0,1.0,null,null,1.058289,false,800.0,266.670000000000016,380.360000000000014,-109.909999999999997,0.0],[2446,true,true,null,1368.600000000000136,1.0,null,null,1.063382,false,2000.0,666.669999999999959,920.409999999999968,-305.579999999999984,0.0],[2452,true,true,null,1101.5,1.0,null,null,1.050833,false,1600.0,533.330000000000041,698.07000000000005,-282.170000000000016,0.0],[2460,true,true,null,419.0,1.0,null,null,1.018041,false,600.0,200.0,274.199999999999989,-93.219999999999999,0.0],[2474,true,true,null,811.800000000000068,1.0,null,null,1.042456,false,900.0,300.0,391.569999999999993,-160.950000000000017,0.0],[260,true,true,null,59.560000000000002,1.0,null,null,1.006263,false,200.0,0.0,96.640000000000001,-27.809999999999999,0.0],[2486,true,true,null,-27.0,1.0,null,null,1.063893,false,100.0,-36.0,75.670000000000002,-23.960000000000001,0.0],[2487,true,true,null,337.600000000000023,1.0,null,null,1.052835,false,600.0,200.0,281.629999999999996,-85.710000000000008,0.0],[2491,true,true,null,-188.900000000000006,1.0,null,null,1.01361,false,100.0,-251.870000000000004,10.73,-9.529999999999999,0.0],[2495,true,true,null,322.120000000000005,1.0,null,null,1.03306,false,420.0,0.0,177.219999999999999,-80.269999999999996,0.0],[2501,true,true,null,992.0,1.0,null,null,1.06101,false,1041.599999999999909,0.0,99999.0,-99999.0,0.0],[2512,true,true,null,153.0,1.0,null,null,1.05367,false,200.0,0.0,91.670000000000002,-33.009999999999998,0.0],[2513,true,true,null,698.600000000000023,1.0,null,null,1.064422,false,709.870000000000004,236.620000000000004,291.70999999999998,-137.409999999999997,0.0],[2531,true,true,null,1.75,1.0,null,null,1.030795,false,207.27000000000001,0.0,70.170000000000002,-66.450000000000003,0.0],[2533,true,true,null,1321.700000000000046,1.0,null,null,1.053137,false,1600.0,533.330000000000041,709.440000000000055,-271.310000000000002,0.0],[2537,true,true,null,66.799999999999997,1.0,null,null,1.019521,false,80.0,0.0,35.759999999999998,-14.050000000000001,0.0],[262,true,true,null,855.600000000000023,1.0,null,null,1.035299,false,1000.0,333.329999999999984,440.670000000000016,-172.150000000000006,0.0],[2538,true,true,null,401.0,1.0,null,null,1.058011,false,600.0,200.0,276.810000000000002,-90.879999999999996,0.0],[2540,true,true,null,17.0,1.0,null,null,1.067644,false,40.0,0.0,19.489999999999998,-5.42,0.0],[2544,true,true,null,-15.640000000000001,1.0,null,null,1.059307,false,100.0,-20.850000000000001,36.340000000000003,-35.590000000000003,0.0],[2545,true,true,null,358.360000000000014,1.0,null,null,1.01497,false,420.0,0.0,177.810000000000002,-79.930000000000007,0.0],[2546,true,true,null,253.400000000000006,1.0,null,null,1.059416,false,360.0,0.0,164.300000000000011,-56.850000000000001,0.0],[2553,true,true,null,203.400000000000006,1.0,null,null,1.045102,false,240.0,0.0,106.840000000000003,-42.560000000000002,0.0],[2555,true,true,null,97.200000000000003,1.0,null,null,1.006884,false,120.0,0.0,53.880000000000002,-20.800000000000001,0.0],[2566,true,true,null,-8.75,1.0,null,null,1.039615,false,100.0,-11.66,17.800000000000001,-7.13,0.0],[2567,true,true,null,1702.200000000000045,1.0,null,null,1.078014,false,2400.0,800.0,1096.329999999999927,-374.639999999999986,0.0],[2586,true,true,null,33.799999999999997,1.0,null,null,1.022564,false,40.0,0.0,17.780000000000001,-7.11,0.0],[268,true,true,null,1702.799999999999954,1.0,null,null,1.063198,false,2400.0,800.0,1097.410000000000082,-373.910000000000025,0.0],[2605,true,true,null,517.100000000000023,1.0,null,null,1.045078,false,1000.0,333.329999999999984,474.420000000000016,-138.490000000000009,0.0],[2611,true,true,null,-135.0,1.0,null,null,1.042275,false,100.0,-180.0,90.210000000000008,-34.450000000000003,0.0],[2618,true,true,null,78.799999999999997,1.0,null,null,1.046146,false,80.0,0.0,34.159999999999997,-15.67,0.0],[2631,true,true,null,32.299999999999997,1.0,null,null,1.055375,false,200.0,0.0,93.030000000000001,-31.43,0.0],[2632,true,true,null,-75.689999999999998,1.0,null,null,1.023003,false,100.0,-100.920000000000002,3.61,-1.69,0.0],[2643,true,true,null,-65.0,1.0,null,null,1.019996,false,100.0,-86.670000000000002,51.909999999999997,-22.859999999999999,0.0],[2655,true,true,null,427.0,1.0,null,null,1.009283,false,600.0,200.0,273.939999999999998,-93.650000000000006,0.0],[2658,true,true,null,20.300000000000001,1.0,null,null,1.055846,false,103.030000000000001,0.0,34.479999999999997,-33.719999999999999,0.0],[2663,true,true,null,298.199999999999989,1.0,null,null,1.064508,false,300.0,100.0,124.560000000000002,-59.189999999999998,0.0],[2675,true,true,null,-138.300000000000011,1.0,null,null,1.049183,false,100.0,-184.400000000000006,37.399999999999999,-12.460000000000001,0.0],[276,true,true,null,1249.400000000000091,1.0,null,null,1.032774,false,1700.0,566.669999999999959,772.110000000000014,-269.939999999999998,0.0],[2678,true,true,null,-259.100000000000023,1.0,null,null,1.018144,false,100.0,-345.470000000000027,34.920000000000002,-14.960000000000001,0.0],[2680,true,true,null,-37.280000000000001,1.0,null,null,1.041179,false,100.0,-49.700000000000003,54.32,-20.390000000000001,0.0],[2684,true,true,null,130.689999999999998,1.0,null,null,1.029789,false,360.0,0.0,173.200000000000017,-47.670000000000002,0.0],[2691,true,true,null,1232.600000000000136,1.0,null,null,1.056768,false,2000.0,666.669999999999959,932.680000000000064,-293.139999999999986,0.0],[2693,true,true,null,20.890000000000001,1.0,null,null,1.009953,false,100.359999999999999,0.0,34.950000000000003,-30.800000000000001,0.0],[2702,true,true,null,21.699999999999999,1.0,null,null,1.008996,false,40.0,0.0,19.07,-5.8,0.0],[2712,true,true,null,166.200000000000017,1.0,null,null,1.055026,false,240.0,0.0,111.700000000000003,-37.850000000000001,0.0],[2715,true,true,null,-304.0,1.0,null,null,1.046456,false,100.0,-405.329999999999984,35.840000000000003,-14.07,0.0],[2719,true,true,null,44.659999999999997,1.0,null,null,1.051013,false,160.0,0.0,76.870000000000004,-22.75,0.0],[2732,true,true,null,42.799999999999997,1.0,null,null,1.027559,false,360.0,0.0,163.909999999999997,-56.979999999999997,0.0],[277,true,true,null,230.200000000000017,1.0,null,null,1.024009,false,300.0,0.0,134.449999999999989,-49.759999999999998,0.0],[2739,true,true,null,-233.800000000000011,1.0,null,null,1.037687,false,100.0,-311.730000000000018,106.620000000000004,-40.75,0.0],[2740,true,true,null,1232.600000000000136,1.0,null,null,1.056528,false,2000.0,666.669999999999959,932.680000000000064,-293.139999999999986,0.0],[2743,true,true,null,443.800000000000011,1.0,null,null,1.047011,false,600.0,200.0,272.769999999999982,-95.019999999999996,0.0],[2757,true,true,null,17.0,1.0,null,null,1.021928,false,86.730000000000004,0.0,28.989999999999998,-28.41,0.0],[2763,true,true,null,37.200000000000003,1.0,null,null,1.015122,false,80.0,0.0,38.640000000000001,-11.119999999999999,0.0],[2768,true,true,null,756.800000000000068,1.0,null,null,1.041085,false,800.0,266.670000000000016,339.050000000000011,-151.210000000000008,0.0],[2770,true,true,null,-255.700000000000017,1.0,null,null,1.045004,false,100.0,-340.939999999999998,38.229999999999997,-11.609999999999999,0.0],[2772,true,true,null,498.400000000000034,1.0,null,null,1.064772,false,600.0,200.0,266.170000000000016,-101.5,0.0],[2774,true,true,null,-61.799999999999997,1.0,null,null,1.038824,false,100.0,-82.400000000000006,53.520000000000003,-50.380000000000003,0.0],[2777,true,true,null,1624.700000000000046,1.0,null,null,1.050147,false,2000.0,666.669999999999959,859.0,-367.120000000000005,0.0],[283,true,true,null,679.600000000000023,1.0,null,null,1.063763,false,900.0,300.0,406.660000000000025,-144.75,0.0],[2779,true,true,null,110.0,1.0,null,null,1.045593,false,200.0,0.0,95.650000000000006,-28.949999999999999,0.0],[2782,true,true,null,19.300000000000001,1.0,null,null,1.027038,false,97.980000000000004,0.0,32.659999999999997,-32.18,0.0],[2783,true,true,null,-21.949999999999999,1.0,null,null,1.052269,false,100.0,-29.27,31.68,-29.920000000000002,0.0],[2787,true,true,null,-46.189999999999998,1.0,null,null,1.022201,false,100.0,-61.579999999999998,38.979999999999997,-10.82,0.0],[2789,true,true,null,78.200000000000003,1.0,null,null,1.002676,false,317.090000000000032,0.0,107.590000000000003,-101.480000000000004,0.0],[2792,true,true,null,338.70999999999998,1.0,null,null,1.025721,false,500.0,166.670000000000016,220.490000000000009,-86.140000000000001,0.0],[2807,true,true,null,-39.850000000000001,1.0,null,null,1.02063,false,100.0,-53.130000000000003,2.23,-1.07,0.0],[2808,true,true,null,-10.550000000000001,1.0,null,null,1.02106,false,100.0,-14.07,17.82,-7.09,0.0],[2812,true,true,null,-90.0,1.0,null,null,0.982562,false,100.0,-120.0,11.6,-10.23,0.0],[2819,true,true,null,369.600000000000023,1.0,null,null,1.045155,false,440.0,146.670000000000016,198.069999999999993,-76.340000000000003,0.0],[43,true,true,null,67.290000000000006,1.0,null,null,1.062067,false,160.0,0.0,77.090000000000003,-22.539999999999999,0.0],[298,true,true,null,1221.200000000000045,1.0,null,null,1.068998,false,2000.0,666.669999999999959,934.730000000000018,-291.519999999999982,0.0],[2824,true,true,null,40.100000000000001,1.0,null,null,1.01907,false,41.159999999999997,0.0,17.030000000000001,-7.9,0.0],[2825,true,true,null,698.800000000000068,1.0,null,null,1.026751,false,1000.0,333.329999999999984,442.990000000000009,-169.920000000000016,0.0],[2827,true,true,null,-239.230000000000018,1.0,null,null,1.04489,false,100.0,-318.970000000000027,18.649999999999999,-14.16,0.0],[2839,true,true,null,42.700000000000003,1.0,null,null,1.048734,false,100.0,28.469999999999999,335.95999999999998,-93.230000000000004,0.0],[2840,true,true,null,-37.200000000000003,1.0,null,null,1.049339,false,100.0,-49.600000000000001,73.189999999999998,-26.48,0.0],[2842,true,true,null,860.800000000000068,1.0,null,null,1.037874,false,1000.0,333.329999999999984,439.379999999999995,-173.280000000000001,0.0],[2849,true,true,null,-331.400000000000034,1.0,null,null,1.020141,false,100.0,-441.870000000000004,175.0,-49.159999999999997,0.0],[2851,true,true,null,72.0,1.0,null,null,1.057766,false,160.0,0.0,77.689999999999998,-21.969999999999999,0.0],[2867,true,true,null,419.0,1.0,null,null,1.018061,false,600.0,200.0,274.199999999999989,-93.219999999999999,0.0],[299,true,true,null,21.300000000000001,1.0,null,null,1.029847,false,107.829999999999998,0.0,36.020000000000003,-35.350000000000001,0.0],[308,true,true,null,92.100000000000009,1.0,null,null,1.073365,false,120.0,0.0,55.020000000000003,-19.809999999999999,0.0],[309,true,true,null,171.0,1.0,null,null,1.040649,false,200.0,0.0,89.549999999999997,-35.149999999999999,0.0],[316,true,true,null,-179.300000000000011,1.0,null,null,1.019135,false,100.0,-239.069999999999993,58.340000000000003,-16.23,0.0],[321,true,true,null,164.939999999999998,1.0,null,null,1.00979,false,400.0,100.0,71.659999999999997,-27.890000000000001,0.0],[324,true,true,null,202.5,1.0,null,null,1.038657,false,300.0,100.0,137.390000000000015,-46.450000000000003,0.0],[328,true,true,null,829.5,1.0,null,null,1.029789,false,900.0,300.0,387.879999999999996,-163.400000000000006,0.0],[340,true,true,null,91.799999999999997,1.0,null,null,1.046149,false,120.0,0.0,54.909999999999997,-19.879999999999999,0.0],[343,true,true,null,837.0,1.0,null,null,1.026457,false,1200.0,400.0,550.690000000000055,-185.150000000000006,0.0],[50,true,true,null,-179.200000000000017,1.0,null,null,1.048817,false,100.0,-238.930000000000007,52.640000000000001,-51.719999999999999,0.0],[346,true,true,null,58.200000000000003,1.0,null,null,1.045212,false,80.0,0.0,36.799999999999997,-13.01,0.0],[348,true,true,null,-124.150000000000006,1.0,null,null,1.051902,false,100.0,-165.539999999999992,38.049999999999997,-11.59,0.0],[355,true,true,null,289.79000000000002,1.0,null,null,1.019674,false,360.0,0.0,158.200000000000017,-62.810000000000002,0.0],[371,true,true,null,-124.700000000000003,1.0,null,null,1.026125,false,100.0,-166.27000000000001,1.85,-0.88,0.0],[372,true,true,null,26.800000000000001,1.0,null,null,1.004865,false,40.0,0.0,18.609999999999999,-6.28,0.0],[373,true,true,null,309.54000000000002,1.0,null,null,1.040018,false,700.0,200.0,108.350000000000008,-39.119999999999997,0.0],[391,true,true,null,1504.799999999999954,1.0,null,null,1.105045,false,2000.0,666.669999999999959,906.610000000000014,-319.439999999999998,0.0],[394,true,true,null,46.130000000000003,1.0,null,null,1.021438,false,65.629999999999996,0.0,22.289999999999999,-20.98,0.0],[398,true,true,null,837.0,1.0,null,null,1.0265,false,1200.0,400.0,550.690000000000055,-185.150000000000006,0.0],[403,true,true,null,-100.5,1.0,null,null,1.015573,false,100.0,-134.0,32.539999999999999,-32.109999999999999,0.0],[53,true,true,null,268.600000000000023,1.0,null,null,1.029584,false,300.0,100.0,130.189999999999998,-53.530000000000001,0.0],[409,true,true,null,-124.100000000000009,1.0,null,null,1.038943,false,100.0,-165.469999999999999,36.920000000000002,-12.880000000000001,0.0],[420,true,true,null,67.200000000000003,1.0,null,null,1.030396,false,120.0,0.0,57.030000000000001,-17.620000000000001,0.0],[426,true,true,null,-246.5,1.0,null,null,1.04168,false,100.0,-328.670000000000016,38.079999999999998,-11.73,0.0],[432,true,true,null,26.199999999999999,1.0,null,null,1.028915,false,40.0,0.0,18.739999999999998,-6.17,0.0],[438,true,true,null,-174.599999999999994,1.0,null,null,1.052722,false,100.0,-232.800000000000011,11.640000000000001,-10.199999999999999,0.0],[441,true,true,null,628.190000000000055,1.0,null,null,1.024907,false,800.0,266.670000000000016,338.660000000000025,-151.759999999999991,0.0],[447,true,true,null,-101.0,1.0,null,null,1.045292,false,100.0,-134.670000000000016,18.09,-6.79,0.0],[450,true,true,null,49.399999999999999,1.0,null,null,1.049261,false,80.0,0.0,37.719999999999999,-12.09,0.0],[456,true,true,null,1588.0,1.0,null,null,1.05352,false,2000.0,666.669999999999959,895.230000000000018,-330.78000000000003,0.0],[464,true,true,null,783.899999999999977,1.0,null,null,1.025403,false,900.0,300.0,394.449999999999989,-157.0,0.0],[58,true,true,null,5.2,1.0,null,null,1.024675,false,5.37,0.0,2.27,-1.07,0.0],[466,true,true,null,62.600000000000001,1.0,null,null,1.046165,false,80.0,0.0,36.399999999999999,-13.44,0.0],[473,true,true,null,5.2,1.0,null,null,1.078389,false,5.31,0.0,2.25,-1.06,0.0],[498,true,true,null,121.400000000000006,1.0,null,null,1.079057,false,200.0,66.670000000000002,93.159999999999997,-29.489999999999998,0.0],[509,true,true,null,50.600000000000001,1.0,null,null,1.044277,false,80.0,0.0,37.659999999999997,-12.17,0.0],[515,true,true,null,-136.599999999999994,1.0,null,null,1.079319,false,100.0,-182.129999999999995,21.27,-20.07,0.0],[523,true,true,null,50.399999999999999,1.0,null,null,1.031925,false,80.0,0.0,37.740000000000002,-12.109999999999999,0.0],[532,true,true,null,1250.400000000000091,1.0,null,null,1.044209,false,2000.0,666.669999999999959,928.889999999999986,-296.100000000000023,0.0],[533,true,true,null,62.700000000000003,1.0,null,null,1.005778,false,120.0,0.0,57.409999999999997,-17.219999999999999,0.0],[536,true,true,null,-189.0,1.0,null,null,1.041486,false,100.0,-252.0,31.940000000000001,-31.239999999999998,0.0],[540,true,true,null,860.800000000000068,1.0,null,null,1.037844,false,1000.0,333.329999999999984,439.370000000000005,-173.300000000000011,0.0],[65,true,true,null,-155.390000000000015,1.0,null,null,0.996091,false,100.0,-207.180000000000007,183.920000000000016,-65.299999999999997,0.0],[544,true,true,null,28.100000000000001,1.0,null,null,1.061536,false,40.0,0.0,18.52,-6.39,0.0],[552,true,true,null,835.5,1.0,null,null,1.055274,false,900.0,300.0,387.670000000000016,-163.72999999999999,0.0],[555,true,true,null,40.0,1.0,null,null,1.040804,false,41.060000000000002,0.0,16.989999999999998,-7.92,0.0],[567,true,true,null,430.199999999999989,1.0,null,null,1.018729,false,600.0,200.0,272.25,-94.920000000000002,0.0],[568,true,true,null,-90.299999999999997,1.0,null,null,1.023406,false,100.0,-120.400000000000006,34.640000000000001,-15.199999999999999,0.0],[569,true,true,null,1250.400000000000091,1.0,null,null,1.052726,false,2000.0,666.669999999999959,926.350000000000023,-297.680000000000007,0.0],[573,true,true,null,-0.6,1.0,null,null,1.047818,false,100.0,-0.8,111.230000000000004,-38.159999999999997,0.0],[584,true,true,null,2.89,1.0,null,null,1.020156,false,32.969999999999999,0.0,11.52,-10.09,0.0],[585,true,true,null,15.6,1.0,null,null,1.0492,false,31.920000000000002,0.0,11.76,-8.890000000000001,0.0],[586,true,true,null,-241.800000000000011,1.0,null,null,1.056131,false,100.0,-322.400000000000034,58.159999999999997,-16.52,0.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -92,7 +154,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "switch": { @@ -129,7 +192,7 @@ "ext_grid": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0],\"data\":[[1313,true,null,0.0,1.050918,4188.949999999999818,1333.329999999999927,99999.0,-99999.0]]}", + "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0],\"data\":[[1313,true,null,0.0,1.050918,4188.949999999999818,1333.329999999999927,99999.0,-99999.0,1.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -140,7 +203,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "line": { @@ -293,7 +357,7 @@ "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\",\"in_service\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"ps_mw\",\"qs_mvar\",\"qz_mvar\",\"pz_mw\",\"r_ohm\",\"x_ohm\",\"vm_pu\",\"in_service\",\"slack_weight\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "name": "object", @@ -305,7 +369,8 @@ "r_ohm": "float64", "x_ohm": "float64", "vm_pu": "float64", - "in_service": "bool" + "in_service": "bool", + "slack_weight": "float64" } }, "measurement": { @@ -354,13 +419,14 @@ "controller": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"recycle\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"initial_run\",\"recycle\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "object": "object", "in_service": "bool", "order": "float64", "level": "object", + "initial_run": "bool", "recycle": "bool" } }, @@ -384,11 +450,11 @@ "coords": "object" } }, - "version": "2.2.1", + "version": "2.7.1", "converged": true, "name": "", "f_hz": 50, - "sn_mva": 1.0, + "sn_mva": 100, "std_types": { "line": { "NAYY 4x150 SE": { @@ -1268,6 +1334,16 @@ "q_mvar": "float64" } }, + "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" + } + }, "res_sgen": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -1352,6 +1428,341 @@ "va_to_degree": "float64" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_bus_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_line_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo3w_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_ext_grid_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_gen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_sgen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_shunt_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "user_pf_options": {}, "OPF_converged": false } diff --git a/pandapower/networks/power_system_test_case_jsons/case30.json b/pandapower/networks/power_system_test_case_jsons/case30.json index bd3278237..747102a28 100644 --- a/pandapower/networks/power_system_test_case_jsons/case30.json +++ b/pandapower/networks/power_system_test_case_jsons/case30.json @@ -53,6 +53,68 @@ "current_source": "bool" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "storage": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -75,7 +137,7 @@ "gen": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0,1,2,3,4],\"data\":[[1,true,true,null,60.969999999999999,1.0,null,null,1.0,false,80.0,0.0,60.0,-20.0],[21,true,true,null,21.59,1.0,null,null,1.0,false,50.0,0.0,62.5,-15.0],[26,true,true,null,26.91,1.0,null,null,1.0,false,55.0,0.0,48.700000000000003,-15.0],[22,true,true,null,19.199999999999999,1.0,null,null,1.0,false,30.0,0.0,40.0,-10.0],[12,true,true,null,37.0,1.0,null,null,1.0,false,40.0,0.0,44.700000000000003,-15.0]]}", + "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0,1,2,3,4],\"data\":[[1,true,true,null,60.969999999999999,1.0,null,null,1.0,false,80.0,0.0,60.0,-20.0,0.0],[21,true,true,null,21.59,1.0,null,null,1.0,false,50.0,0.0,62.5,-15.0,0.0],[26,true,true,null,26.91,1.0,null,null,1.0,false,55.0,0.0,48.700000000000003,-15.0,0.0],[22,true,true,null,19.199999999999999,1.0,null,null,1.0,false,30.0,0.0,40.0,-10.0,0.0],[12,true,true,null,37.0,1.0,null,null,1.0,false,40.0,0.0,44.700000000000003,-15.0,0.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -91,7 +153,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "switch": { @@ -128,7 +191,7 @@ "ext_grid": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0],\"data\":[[0,true,null,0.0,1.0,80.0,0.0,150.0,-20.0]]}", + "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0],\"data\":[[0,true,null,0.0,1.0,80.0,0.0,150.0,-20.0,1.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -139,7 +202,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "line": { @@ -291,7 +355,7 @@ "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\",\"in_service\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"ps_mw\",\"qs_mvar\",\"qz_mvar\",\"pz_mw\",\"r_ohm\",\"x_ohm\",\"vm_pu\",\"in_service\",\"slack_weight\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "name": "object", @@ -303,7 +367,8 @@ "r_ohm": "float64", "x_ohm": "float64", "vm_pu": "float64", - "in_service": "bool" + "in_service": "bool", + "slack_weight": "float64" } }, "measurement": { @@ -352,13 +417,14 @@ "controller": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"recycle\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"initial_run\",\"recycle\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "object": "object", "in_service": "bool", "order": "float64", "level": "object", + "initial_run": "bool", "recycle": "bool" } }, @@ -382,11 +448,11 @@ "coords": "object" } }, - "version": "2.2.1", + "version": "2.7.1", "converged": true, "name": "", "f_hz": 60, - "sn_mva": 1.0, + "sn_mva": 100, "std_types": { "line": { "NAYY 4x150 SE": { @@ -1266,6 +1332,16 @@ "q_mvar": "float64" } }, + "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" + } + }, "res_sgen": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -1350,6 +1426,341 @@ "va_to_degree": "float64" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_bus_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_line_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo3w_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_ext_grid_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_gen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_sgen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_shunt_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "user_pf_options": {}, "OPF_converged": false } diff --git a/pandapower/networks/power_system_test_case_jsons/case300.json b/pandapower/networks/power_system_test_case_jsons/case300.json index cec0aa5d8..ae8f4f01c 100644 --- a/pandapower/networks/power_system_test_case_jsons/case300.json +++ b/pandapower/networks/power_system_test_case_jsons/case300.json @@ -54,6 +54,68 @@ "current_source": "bool" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "storage": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -76,7 +138,7 @@ "gen": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0,1,10,11,12,13,14,15,16,17,18,19,2,20,21,22,23,24,25,26,27,28,29,3,30,31,32,33,34,35,36,37,38,39,4,40,41,42,43,44,45,46,47,48,49,5,50,51,52,53,54,55,56,57,58,59,6,60,61,62,63,64,65,66,67,7,8,9],\"data\":[[7,true,true,null,0.0,1.0,null,null,1.0153,false,100.0,0.0,10.0,-10.0],[9,true,true,null,0.0,1.0,null,null,1.0205,false,100.0,0.0,20.0,-20.0],[97,true,true,null,1930.0,1.0,null,null,1.0435,false,2030.0,0.0,1500.0,-500.0],[102,true,true,null,240.0,1.0,null,null,1.0233,false,340.0,0.0,120.0,-60.0],[103,true,true,null,0.0,1.0,null,null,1.0103,false,100.0,0.0,200.0,-25.0],[116,true,true,null,0.0,1.0,null,null,1.055,false,100.0,0.0,350.0,-125.0],[119,true,true,null,281.0,1.0,null,null,1.051,false,381.0,0.0,75.0,-50.0],[121,true,true,null,696.0,1.0,null,null,1.0435,false,796.0,0.0,300.0,-100.0],[124,true,true,null,84.0,1.0,null,null,1.0528,false,184.0,0.0,35.0,-15.0],[125,true,true,null,217.0,1.0,null,null,1.0528,false,317.0,0.0,100.0,-50.0],[127,true,true,null,103.0,1.0,null,null,1.0735,false,203.0,0.0,50.0,-25.0],[130,true,true,null,372.0,1.0,null,null,1.0535,false,472.0,0.0,175.0,-50.0],[18,true,true,null,0.0,1.0,null,null,1.001,false,100.0,0.0,20.0,-20.0],[131,true,true,null,216.0,1.0,null,null,1.0435,false,316.0,0.0,90.0,-50.0],[134,true,true,null,0.0,1.0,null,null,0.963,false,100.0,0.0,15.0,-10.0],[148,true,true,null,205.0,1.0,null,null,0.929,false,305.0,0.0,90.0,-40.0],[149,true,true,null,0.0,1.0,null,null,0.9829,false,100.0,0.0,150.0,-50.0],[154,true,true,null,228.0,1.0,null,null,1.0522,false,328.0,0.0,90.0,-45.0],[155,true,true,null,84.0,1.0,null,null,1.0077,false,184.0,0.0,35.0,-15.0],[163,true,true,null,200.0,1.0,null,null,1.0522,false,300.0,0.0,80.0,-50.0],[164,true,true,null,1200.0,1.0,null,null,1.065,false,1300.0,0.0,400.0,-100.0],[165,true,true,null,1200.0,1.0,null,null,1.065,false,1300.0,0.0,400.0,-100.0],[168,true,true,null,475.0,1.0,null,null,1.0551,false,575.0,0.0,300.0,-300.0],[54,true,true,null,0.0,1.0,null,null,0.9583,false,100.0,0.0,25.0,-25.0],[169,true,true,null,1973.0,1.0,null,null,1.0435,false,2073.0,0.0,1000.0,-1000.0],[176,true,true,null,424.0,1.0,null,null,1.015,false,524.0,0.0,260.0,-260.0],[191,true,true,null,272.0,1.0,null,null,1.01,false,372.0,0.0,150.0,-150.0],[198,true,true,null,100.0,1.0,null,null,1.008,false,200.0,0.0,60.0,-60.0],[199,true,true,null,450.0,1.0,null,null,1.0,false,550.0,0.0,320.0,-320.0],[200,true,true,null,250.0,1.0,null,null,1.05,false,350.0,0.0,300.0,-300.0],[205,true,true,null,303.0,1.0,null,null,1.0,false,403.0,0.0,300.0,-300.0],[208,true,true,null,345.0,1.0,null,null,1.04,false,445.0,0.0,250.0,-250.0],[211,true,true,null,300.0,1.0,null,null,1.0,false,400.0,0.0,500.0,-500.0],[214,true,true,null,600.0,1.0,null,null,1.0165,false,700.0,0.0,300.0,-300.0],[62,true,true,null,0.0,1.0,null,null,0.9632,false,100.0,0.0,35.0,12.0],[216,true,true,null,250.0,1.0,null,null,1.01,false,350.0,0.0,200.0,-200.0],[217,true,true,null,550.0,1.0,null,null,1.0,false,650.0,0.0,400.0,-400.0],[219,true,true,null,575.430000000000064,1.0,null,null,1.05,false,675.430000000000064,0.0,600.0,-600.0],[220,true,true,null,170.0,1.0,null,null,0.993,false,270.0,0.0,100.0,40.0],[221,true,true,null,84.0,1.0,null,null,1.01,false,184.0,0.0,80.0,40.0],[246,true,true,null,467.0,1.0,null,null,1.0507,false,567.0,0.0,210.0,-210.0],[247,true,true,null,623.0,1.0,null,null,1.0507,false,723.0,0.0,280.0,-280.0],[248,true,true,null,1210.0,1.0,null,null,1.0323,false,1310.0,0.0,420.0,-420.0],[249,true,true,null,234.0,1.0,null,null,1.0145,false,334.0,0.0,100.0,-100.0],[250,true,true,null,372.0,1.0,null,null,1.0507,false,472.0,0.0,224.0,-224.0],[68,true,true,null,375.0,1.0,null,null,1.025,false,475.0,0.0,240.0,-240.0],[251,true,true,null,330.0,1.0,null,null,1.0507,false,430.0,0.0,350.0,0.0],[252,true,true,null,185.0,1.0,null,null,1.0507,false,285.0,0.0,120.0,0.0],[253,true,true,null,410.0,1.0,null,null,1.029,false,510.0,0.0,224.0,-224.0],[254,true,true,null,500.0,1.0,null,null,1.05,false,600.0,0.0,200.0,-200.0],[255,true,true,null,37.0,1.0,null,null,1.0145,false,137.0,0.0,42.0,0.0],[257,true,true,null,45.0,1.0,null,null,0.9967,false,145.0,0.0,25.0,0.0],[258,true,true,null,165.0,1.0,null,null,1.0212,false,265.0,0.0,90.0,-90.0],[259,true,true,null,400.0,1.0,null,null,1.0145,false,500.0,0.0,150.0,-150.0],[260,true,true,null,400.0,1.0,null,null,1.0017,false,500.0,0.0,150.0,0.0],[261,true,true,null,116.0,1.0,null,null,0.9893,false,216.0,0.0,87.0,0.0],[75,true,true,null,155.0,1.0,null,null,1.052,false,255.0,0.0,96.0,-11.0],[262,true,true,null,1292.0,1.0,null,null,1.0507,false,1392.0,0.0,600.0,-100.0],[263,true,true,null,700.0,1.0,null,null,1.0507,false,800.0,0.0,325.0,-125.0],[264,true,true,null,553.0,1.0,null,null,1.0145,false,653.0,0.0,300.0,-200.0],[266,true,true,null,0.0,1.0,null,null,0.9945,false,100.0,0.0,2.0,-2.0],[291,true,true,null,0.0,1.0,null,null,1.0,false,100.0,0.0,17.350000000000001,-17.350000000000001],[293,true,true,null,0.0,1.0,null,null,1.0,false,100.0,0.0,12.83,-12.800000000000001],[294,true,true,null,50.0,1.0,null,null,1.0,false,150.0,0.0,38.0,-38.0],[295,true,true,null,8.0,1.0,null,null,1.0,false,108.0,0.0,6.0,-6.0],[76,true,true,null,290.0,1.0,null,null,1.052,false,390.0,0.0,153.0,-153.0],[79,true,true,null,68.0,1.0,null,null,1.0,false,168.0,0.0,56.0,-30.0],[87,true,true,null,117.0,1.0,null,null,0.99,false,217.0,0.0,77.0,-24.0]]}", + "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0,1,10,11,12,13,14,15,16,17,18,19,2,20,21,22,23,24,25,26,27,28,29,3,30,31,32,33,34,35,36,37,38,39,4,40,41,42,43,44,45,46,47,48,49,5,50,51,52,53,54,55,56,57,58,59,6,60,61,62,63,64,65,66,67,7,8,9],\"data\":[[7,true,true,null,0.0,1.0,null,null,1.0153,false,100.0,0.0,10.0,-10.0,0.0],[9,true,true,null,0.0,1.0,null,null,1.0205,false,100.0,0.0,20.0,-20.0,0.0],[97,true,true,null,1930.0,1.0,null,null,1.0435,false,2030.0,0.0,1500.0,-500.0,0.0],[102,true,true,null,240.0,1.0,null,null,1.0233,false,340.0,0.0,120.0,-60.0,0.0],[103,true,true,null,0.0,1.0,null,null,1.0103,false,100.0,0.0,200.0,-25.0,0.0],[116,true,true,null,0.0,1.0,null,null,1.055,false,100.0,0.0,350.0,-125.0,0.0],[119,true,true,null,281.0,1.0,null,null,1.051,false,381.0,0.0,75.0,-50.0,0.0],[121,true,true,null,696.0,1.0,null,null,1.0435,false,796.0,0.0,300.0,-100.0,0.0],[124,true,true,null,84.0,1.0,null,null,1.0528,false,184.0,0.0,35.0,-15.0,0.0],[125,true,true,null,217.0,1.0,null,null,1.0528,false,317.0,0.0,100.0,-50.0,0.0],[127,true,true,null,103.0,1.0,null,null,1.0735,false,203.0,0.0,50.0,-25.0,0.0],[130,true,true,null,372.0,1.0,null,null,1.0535,false,472.0,0.0,175.0,-50.0,0.0],[18,true,true,null,0.0,1.0,null,null,1.001,false,100.0,0.0,20.0,-20.0,0.0],[131,true,true,null,216.0,1.0,null,null,1.0435,false,316.0,0.0,90.0,-50.0,0.0],[134,true,true,null,0.0,1.0,null,null,0.963,false,100.0,0.0,15.0,-10.0,0.0],[148,true,true,null,205.0,1.0,null,null,0.929,false,305.0,0.0,90.0,-40.0,0.0],[149,true,true,null,0.0,1.0,null,null,0.9829,false,100.0,0.0,150.0,-50.0,0.0],[154,true,true,null,228.0,1.0,null,null,1.0522,false,328.0,0.0,90.0,-45.0,0.0],[155,true,true,null,84.0,1.0,null,null,1.0077,false,184.0,0.0,35.0,-15.0,0.0],[163,true,true,null,200.0,1.0,null,null,1.0522,false,300.0,0.0,80.0,-50.0,0.0],[164,true,true,null,1200.0,1.0,null,null,1.065,false,1300.0,0.0,400.0,-100.0,0.0],[165,true,true,null,1200.0,1.0,null,null,1.065,false,1300.0,0.0,400.0,-100.0,0.0],[168,true,true,null,475.0,1.0,null,null,1.0551,false,575.0,0.0,300.0,-300.0,0.0],[54,true,true,null,0.0,1.0,null,null,0.9583,false,100.0,0.0,25.0,-25.0,0.0],[169,true,true,null,1973.0,1.0,null,null,1.0435,false,2073.0,0.0,1000.0,-1000.0,0.0],[176,true,true,null,424.0,1.0,null,null,1.015,false,524.0,0.0,260.0,-260.0,0.0],[191,true,true,null,272.0,1.0,null,null,1.01,false,372.0,0.0,150.0,-150.0,0.0],[198,true,true,null,100.0,1.0,null,null,1.008,false,200.0,0.0,60.0,-60.0,0.0],[199,true,true,null,450.0,1.0,null,null,1.0,false,550.0,0.0,320.0,-320.0,0.0],[200,true,true,null,250.0,1.0,null,null,1.05,false,350.0,0.0,300.0,-300.0,0.0],[205,true,true,null,303.0,1.0,null,null,1.0,false,403.0,0.0,300.0,-300.0,0.0],[208,true,true,null,345.0,1.0,null,null,1.04,false,445.0,0.0,250.0,-250.0,0.0],[211,true,true,null,300.0,1.0,null,null,1.0,false,400.0,0.0,500.0,-500.0,0.0],[214,true,true,null,600.0,1.0,null,null,1.0165,false,700.0,0.0,300.0,-300.0,0.0],[62,true,true,null,0.0,1.0,null,null,0.9632,false,100.0,0.0,35.0,12.0,0.0],[216,true,true,null,250.0,1.0,null,null,1.01,false,350.0,0.0,200.0,-200.0,0.0],[217,true,true,null,550.0,1.0,null,null,1.0,false,650.0,0.0,400.0,-400.0,0.0],[219,true,true,null,575.430000000000064,1.0,null,null,1.05,false,675.430000000000064,0.0,600.0,-600.0,0.0],[220,true,true,null,170.0,1.0,null,null,0.993,false,270.0,0.0,100.0,40.0,0.0],[221,true,true,null,84.0,1.0,null,null,1.01,false,184.0,0.0,80.0,40.0,0.0],[246,true,true,null,467.0,1.0,null,null,1.0507,false,567.0,0.0,210.0,-210.0,0.0],[247,true,true,null,623.0,1.0,null,null,1.0507,false,723.0,0.0,280.0,-280.0,0.0],[248,true,true,null,1210.0,1.0,null,null,1.0323,false,1310.0,0.0,420.0,-420.0,0.0],[249,true,true,null,234.0,1.0,null,null,1.0145,false,334.0,0.0,100.0,-100.0,0.0],[250,true,true,null,372.0,1.0,null,null,1.0507,false,472.0,0.0,224.0,-224.0,0.0],[68,true,true,null,375.0,1.0,null,null,1.025,false,475.0,0.0,240.0,-240.0,0.0],[251,true,true,null,330.0,1.0,null,null,1.0507,false,430.0,0.0,350.0,0.0,0.0],[252,true,true,null,185.0,1.0,null,null,1.0507,false,285.0,0.0,120.0,0.0,0.0],[253,true,true,null,410.0,1.0,null,null,1.029,false,510.0,0.0,224.0,-224.0,0.0],[254,true,true,null,500.0,1.0,null,null,1.05,false,600.0,0.0,200.0,-200.0,0.0],[255,true,true,null,37.0,1.0,null,null,1.0145,false,137.0,0.0,42.0,0.0,0.0],[257,true,true,null,45.0,1.0,null,null,0.9967,false,145.0,0.0,25.0,0.0,0.0],[258,true,true,null,165.0,1.0,null,null,1.0212,false,265.0,0.0,90.0,-90.0,0.0],[259,true,true,null,400.0,1.0,null,null,1.0145,false,500.0,0.0,150.0,-150.0,0.0],[260,true,true,null,400.0,1.0,null,null,1.0017,false,500.0,0.0,150.0,0.0,0.0],[261,true,true,null,116.0,1.0,null,null,0.9893,false,216.0,0.0,87.0,0.0,0.0],[75,true,true,null,155.0,1.0,null,null,1.052,false,255.0,0.0,96.0,-11.0,0.0],[262,true,true,null,1292.0,1.0,null,null,1.0507,false,1392.0,0.0,600.0,-100.0,0.0],[263,true,true,null,700.0,1.0,null,null,1.0507,false,800.0,0.0,325.0,-125.0,0.0],[264,true,true,null,553.0,1.0,null,null,1.0145,false,653.0,0.0,300.0,-200.0,0.0],[266,true,true,null,0.0,1.0,null,null,0.9945,false,100.0,0.0,2.0,-2.0,0.0],[291,true,true,null,0.0,1.0,null,null,1.0,false,100.0,0.0,17.350000000000001,-17.350000000000001,0.0],[293,true,true,null,0.0,1.0,null,null,1.0,false,100.0,0.0,12.83,-12.800000000000001,0.0],[294,true,true,null,50.0,1.0,null,null,1.0,false,150.0,0.0,38.0,-38.0,0.0],[295,true,true,null,8.0,1.0,null,null,1.0,false,108.0,0.0,6.0,-6.0,0.0],[76,true,true,null,290.0,1.0,null,null,1.052,false,390.0,0.0,153.0,-153.0,0.0],[79,true,true,null,68.0,1.0,null,null,1.0,false,168.0,0.0,56.0,-30.0,0.0],[87,true,true,null,117.0,1.0,null,null,0.99,false,217.0,0.0,77.0,-24.0,0.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -92,7 +154,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "switch": { @@ -129,7 +192,7 @@ "ext_grid": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0],\"data\":[[256,true,null,0.0,1.0507,2399.010000000000218,0.0,10.0,0.0]]}", + "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0],\"data\":[[256,true,null,0.0,1.0507,2399.010000000000218,0.0,10.0,0.0,1.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -140,7 +203,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "line": { @@ -293,7 +357,7 @@ "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\",\"in_service\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"ps_mw\",\"qs_mvar\",\"qz_mvar\",\"pz_mw\",\"r_ohm\",\"x_ohm\",\"vm_pu\",\"in_service\",\"slack_weight\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "name": "object", @@ -305,7 +369,8 @@ "r_ohm": "float64", "x_ohm": "float64", "vm_pu": "float64", - "in_service": "bool" + "in_service": "bool", + "slack_weight": "float64" } }, "measurement": { @@ -354,13 +419,14 @@ "controller": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"recycle\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"initial_run\",\"recycle\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "object": "object", "in_service": "bool", "order": "float64", "level": "object", + "initial_run": "bool", "recycle": "bool" } }, @@ -384,11 +450,11 @@ "coords": "object" } }, - "version": "2.2.1", + "version": "2.7.1", "converged": true, "name": "", "f_hz": 60, - "sn_mva": 1.0, + "sn_mva": 100, "std_types": { "line": { "NAYY 4x150 SE": { @@ -1268,6 +1334,16 @@ "q_mvar": "float64" } }, + "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" + } + }, "res_sgen": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -1352,6 +1428,341 @@ "va_to_degree": "float64" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_bus_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_line_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo3w_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_ext_grid_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_gen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_sgen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_shunt_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "user_pf_options": {}, "OPF_converged": false } diff --git a/pandapower/networks/power_system_test_case_jsons/case3120sp.json b/pandapower/networks/power_system_test_case_jsons/case3120sp.json index 9a22f543f..a5133b081 100644 --- a/pandapower/networks/power_system_test_case_jsons/case3120sp.json +++ b/pandapower/networks/power_system_test_case_jsons/case3120sp.json @@ -58,6 +58,68 @@ "min_q_mvar": "float64" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "storage": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -80,7 +142,7 @@ "gen": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0,1,10,100,101,102,103,104,105,106,107,108,109,11,110,111,112,113,114,115,116,117,118,119,12,120,121,122,123,124,125,126,127,128,129,13,130,131,132,133,134,135,136,137,138,139,14,140,141,142,143,144,145,146,147,148,149,15,150,151,152,153,154,155,156,157,158,159,16,160,161,162,163,164,165,166,167,168,169,17,170,171,172,173,174,175,176,177,178,179,18,180,181,182,183,184,185,186,187,188,189,19,190,191,192,193,194,195,196,197,198,199,2,20,200,201,202,203,204,205,206,207,208,209,21,210,211,212,213,214,215,216,217,218,219,22,220,221,222,223,224,225,226,227,228,229,23,230,231,232,233,234,235,236,237,238,239,24,240,241,242,243,244,245,246,25,26,27,28,29,3,30,31,32,33,34,35,36,37,38,39,4,40,41,42,43,44,45,46,47,48,49,5,50,51,52,53,54,55,56,57,58,59,6,60,61,62,63,64,65,66,67,68,69,7,70,71,72,73,74,75,76,77,78,79,8,80,81,82,83,84,85,86,87,88,89,9,90,91,92,93,94,95,96,97,98,99],\"data\":[[21,true,true,null,180.0,1.0,null,null,1.06818,false,221.0,110.0,162.0,-61.0],[22,true,true,null,180.0,1.0,null,null,1.06818,false,200.0,140.0,140.0,-25.0],[67,true,true,null,210.0,1.0,null,null,1.08636,false,225.0,129.0,120.0,-14.0],[1588,true,true,null,215.0,1.0,null,null,1.09091,false,225.0,120.0,120.0,-10.0],[1647,true,true,null,32.0,1.0,null,null,1.07273,false,32.0,0.0,0.0,0.0],[1655,true,true,null,90.0,1.0,null,null,1.08182,false,120.0,70.0,73.0,-1.0],[1657,true,true,null,120.0,1.0,null,null,1.08182,false,120.0,79.0,73.0,-1.0],[1667,true,true,null,125.0,1.0,null,null,1.09091,false,125.0,70.0,83.0,-5.0],[1680,true,true,null,100.0,1.0,null,null,1.08182,false,119.0,80.0,80.0,-25.0],[1738,true,true,null,10.0,1.0,null,null,1.07273,false,12.0,0.0,0.0,0.0],[1741,true,true,null,12.0,1.0,null,null,1.08182,false,4.0,0.0,0.0,0.0],[1745,true,true,null,215.0,1.0,null,null,1.08182,false,15.0,0.0,131.0,-6.0],[1768,true,true,null,43.0,1.0,null,null,1.08182,false,46.0,3.0,35.0,-6.0],[68,true,true,null,225.0,1.0,null,null,1.08636,false,225.0,129.0,120.0,-14.0],[1953,true,true,null,14.0,1.0,null,null,1.08182,false,14.0,2.0,9.300000000000001,1.9],[1981,true,true,null,123.0,1.0,null,null,1.08182,false,123.0,70.0,79.0,0.0],[1982,true,true,null,100.0,1.0,null,null,1.08182,false,161.0,55.0,114.0,-27.0],[1983,true,true,null,100.0,1.0,null,null,1.08182,false,161.0,55.0,114.0,-27.0],[1992,true,true,null,110.0,1.0,null,null,1.08182,false,110.0,80.0,15.0,0.0],[2099,true,true,null,38.0,1.0,null,null,1.08182,false,40.0,5.0,26.0,13.0],[2143,true,true,null,205.0,1.0,null,null,1.09091,false,225.0,135.0,140.0,-35.0],[2145,true,true,null,205.0,1.0,null,null,1.09091,false,225.0,135.0,140.0,-35.0],[2213,true,true,null,30.0,1.0,null,null,1.07273,false,32.0,27.0,0.0,0.0],[2234,true,true,null,10.0,1.0,null,null,1.06364,false,11.0,0.0,0.0,0.0],[70,true,true,null,225.0,1.0,null,null,1.0325,false,225.0,129.0,99.0,-10.0],[2236,true,true,null,110.0,1.0,null,null,1.09091,false,120.0,100.0,85.0,-15.0],[2252,true,true,null,2.5,1.0,null,null,1.08182,false,3.0,1.0,0.0,0.0],[2255,true,true,null,1.8,1.0,null,null,1.08182,false,4.0,2.0,0.0,0.0],[2266,true,true,null,1.5,1.0,null,null,1.1,false,5.0,0.0,0.0,0.0],[2270,true,true,null,1.3,1.0,null,null,1.09091,false,1.0,0.0,0.0,0.0],[2273,true,true,null,25.0,1.0,null,null,1.06364,false,50.0,15.0,30.0,0.0],[2299,true,true,null,150.0,1.0,null,null,1.1,false,222.0,90.0,117.0,-19.0],[2305,true,true,null,20.0,1.0,null,null,1.04545,false,29.0,10.0,8.0,0.0],[2309,true,true,null,50.0,1.0,null,null,1.07273,false,55.0,15.0,49.0,-7.0],[2315,true,true,null,1.7,1.0,null,null,1.00909,false,2.0,0.0,0.0,0.0],[91,true,true,null,220.0,1.0,null,null,1.08182,false,220.0,140.0,134.0,-7.0],[2321,true,true,null,2.44,1.0,null,null,1.03636,false,6.0,2.0,0.0,0.0],[2322,true,true,null,52.700000000000003,1.0,null,null,1.08182,false,55.0,10.0,15.0,0.0],[2323,true,true,null,5.0,1.0,null,null,1.08182,false,5.0,1.0,2.0,0.0],[2336,true,true,null,2.7,1.0,null,null,1.02727,false,4.0,3.0,0.0,0.0],[2344,true,true,null,4.0,1.0,null,null,1.03636,false,30.0,4.0,0.0,0.0],[2348,true,true,null,2.5,1.0,null,null,1.05455,false,12.0,2.0,0.0,0.0],[2356,true,true,null,0.5,1.0,null,null,1.08182,false,7.0,0.0,0.0,0.0],[2367,true,true,null,1.1,1.0,null,null,1.04545,false,3.0,1.0,0.0,0.0],[2369,true,true,null,1.46,1.0,null,null,1.05455,false,3.0,1.0,0.0,0.0],[2374,true,true,null,3.0,1.0,null,null,1.05455,false,3.0,1.0,1.25,0.0],[92,true,true,null,225.0,1.0,null,null,1.08182,false,225.0,140.0,131.0,-6.0],[2378,true,true,null,2.5,1.0,null,null,1.03636,false,4.0,3.0,0.0,0.0],[2382,true,true,null,0.3,1.0,null,null,1.08182,false,1.0,0.0,0.0,0.0],[2389,true,true,null,2.25,1.0,null,null,1.03636,false,10.0,2.0,0.0,0.0],[2402,true,true,null,50.0,1.0,null,null,1.1,false,50.0,40.0,12.0,0.0],[2403,true,true,null,20.0,1.0,null,null,1.08182,false,28.0,20.0,10.0,0.0],[2407,true,true,null,3.9,1.0,null,null,1.04545,false,10.0,4.0,0.0,0.0],[2432,true,true,null,2.4,1.0,null,null,1.04545,false,4.0,2.0,0.0,0.0],[2437,true,true,null,2.5,1.0,null,null,1.02727,false,4.0,3.0,0.0,0.0],[2446,true,true,null,2.0,1.0,null,null,1.04545,false,3.0,1.0,0.0,0.0],[2455,true,true,null,1.9,1.0,null,null,1.08182,false,4.0,0.0,0.0,0.0],[95,true,true,null,383.0,1.0,null,null,1.0375,false,383.0,180.0,213.0,-30.0],[2494,true,true,null,1.6,1.0,null,null,1.03636,false,2.0,1.0,0.0,0.0],[2495,true,true,null,0.22,1.0,null,null,1.08182,false,0.0,0.0,0.0,0.0],[2520,true,true,null,0.7,1.0,null,null,1.03636,false,1.0,1.0,0.0,0.0],[2521,true,true,null,0.3,1.0,null,null,1.04545,false,0.0,0.0,0.0,0.0],[2523,true,true,null,3.0,1.0,null,null,1.02727,false,6.0,3.0,0.0,0.0],[2526,true,true,null,2.0,1.0,null,null,1.06364,false,4.0,2.0,0.0,0.0],[2534,true,true,null,180.0,1.0,null,null,1.09091,false,200.0,150.0,111.0,-18.0],[2546,true,true,null,1.63,1.0,null,null,1.04545,false,3.0,1.0,0.0,0.0],[2547,true,true,null,0.3,1.0,null,null,1.05455,false,0.0,0.0,0.0,0.0],[2554,true,true,null,6.0,1.0,null,null,1.03636,false,20.0,6.0,0.0,0.0],[112,true,true,null,19.0,1.0,null,null,1.07727,false,21.0,0.0,0.0,0.0],[2573,true,true,null,50.0,1.0,null,null,1.1,false,65.0,40.0,15.0,0.0],[2581,true,true,null,0.23,1.0,null,null,1.05455,false,0.0,0.0,0.0,0.0],[2584,true,true,null,2.0,1.0,null,null,1.07273,false,6.0,1.0,0.0,0.0],[2590,true,true,null,0.2,1.0,null,null,1.09091,false,1.0,0.0,0.0,0.0],[2592,true,true,null,2.7,1.0,null,null,1.01818,false,4.0,2.0,0.0,0.0],[2596,true,true,null,9.0,1.0,null,null,1.04545,false,31.0,0.0,0.0,0.0],[2597,true,true,null,9.0,1.0,null,null,1.04545,false,31.0,0.0,0.0,0.0],[2599,true,true,null,2.5,1.0,null,null,1.04545,false,7.0,2.0,0.0,0.0],[2615,true,true,null,0.7,1.0,null,null,1.1,false,1.0,0.0,0.0,0.0],[2616,true,true,null,1.0,1.0,null,null,1.06364,false,1.0,0.0,0.0,0.0],[118,true,true,null,215.0,1.0,null,null,1.08182,false,225.0,120.0,120.0,-10.0],[2618,true,true,null,2.22,1.0,null,null,1.06364,false,6.0,2.0,0.0,0.0],[2620,true,true,null,2.0,1.0,null,null,1.07273,false,4.0,2.0,0.0,0.0],[2626,true,true,null,2.5,1.0,null,null,1.00909,false,6.0,2.0,0.0,0.0],[2628,true,true,null,2.5,1.0,null,null,1.00909,false,4.0,3.0,0.0,0.0],[2629,true,true,null,2.0,1.0,null,null,1.06364,false,4.0,2.0,0.0,0.0],[2643,true,true,null,2.5,1.0,null,null,1.09091,false,10.0,2.0,1.03,0.0],[2648,true,true,null,1.69,1.0,null,null,1.07273,false,2.0,1.0,0.0,0.0],[2649,true,true,null,2.52,1.0,null,null,1.05455,false,4.0,2.0,0.0,0.0],[2654,true,true,null,0.2,1.0,null,null,1.0,false,0.0,0.0,0.0,0.0],[2666,true,true,null,225.0,1.0,null,null,1.09091,false,235.0,94.0,145.0,-38.0],[119,true,true,null,215.0,1.0,null,null,1.08182,false,225.0,120.0,120.0,-10.0],[2678,true,true,null,95.0,1.0,null,null,1.07273,false,108.0,70.0,70.0,0.0],[2683,true,true,null,5.5,1.0,null,null,1.09091,false,8.0,0.0,2.0,0.0],[2684,true,true,null,2.5,1.0,null,null,1.1,false,16.0,2.0,0.0,0.0],[2690,true,true,null,1.7,1.0,null,null,1.07273,false,10.0,2.0,0.0,0.0],[2694,true,true,null,0.3,1.0,null,null,1.06364,false,0.0,0.0,0.0,0.0],[2697,true,true,null,0.9,1.0,null,null,1.06364,false,1.0,1.0,0.0,0.0],[2773,true,true,null,5.0,1.0,null,null,1.04545,false,11.0,3.0,10.0,0.0],[2780,true,true,null,1.0,1.0,null,null,1.03636,false,1.0,0.0,0.0,0.0],[2790,true,true,null,0.7,1.0,null,null,1.07273,false,1.0,0.0,0.0,0.0],[2793,true,true,null,45.0,1.0,null,null,1.05455,false,55.0,0.0,41.700000000000003,6.0],[120,true,true,null,115.0,1.0,null,null,1.08182,false,120.0,70.0,73.0,-1.0],[2796,true,true,null,0.4,1.0,null,null,1.08182,false,1.0,0.0,1.0,0.0],[2802,true,true,null,1.8,1.0,null,null,1.04545,false,3.0,0.0,1.0,0.0],[2810,true,true,null,0.3,1.0,null,null,1.07273,false,0.0,0.0,0.0,0.0],[2813,true,true,null,49.0,1.0,null,null,1.06364,false,55.0,26.0,35.0,4.0],[2822,true,true,null,0.2,1.0,null,null,1.01818,false,1.0,0.0,0.0,0.0],[2825,true,true,null,0.2,1.0,null,null,1.02727,false,0.0,0.0,0.0,0.0],[2826,true,true,null,0.3,1.0,null,null,1.07273,false,0.0,0.0,0.0,0.0],[2827,true,true,null,1.0,1.0,null,null,1.08182,false,1.0,0.0,0.0,0.0],[2829,true,true,null,0.4,1.0,null,null,1.02727,false,1.0,0.0,0.1,0.0],[2832,true,true,null,8.0,1.0,null,null,1.09091,false,26.0,0.0,0.0,0.0],[34,true,true,null,345.0,1.0,null,null,1.09545,false,370.0,240.0,190.0,-19.0],[121,true,true,null,115.0,1.0,null,null,1.08182,false,120.0,70.0,73.0,-1.0],[2835,true,true,null,10.0,1.0,null,null,1.03636,false,13.0,2.0,5.0,0.0],[2841,true,true,null,4.5,1.0,null,null,1.07273,false,6.0,0.0,0.0,0.0],[2845,true,true,null,53.0,1.0,null,null,1.07273,false,55.0,26.0,35.0,6.0],[2855,true,true,null,4.8,1.0,null,null,1.07273,false,18.0,0.0,0.0,0.0],[2856,true,true,null,4.8,1.0,null,null,1.08182,false,22.0,0.0,0.0,0.0],[2874,true,true,null,3.2,1.0,null,null,1.05455,false,4.0,1.0,3.0,1.0],[2879,true,true,null,16.0,1.0,null,null,1.03636,false,16.0,0.0,12.0,0.0],[2886,true,true,null,10.0,1.0,null,null,1.05455,false,12.0,5.0,9.300000000000001,1.0],[2888,true,true,null,12.0,1.0,null,null,1.04545,false,41.0,0.0,1.0,0.0],[2899,true,true,null,0.85,1.0,null,null,1.08182,false,2.0,0.0,0.0,0.0],[132,true,true,null,115.0,1.0,null,null,1.07727,false,120.0,70.0,79.0,0.0],[2908,true,true,null,25.0,1.0,null,null,1.03636,false,25.0,0.0,18.780000000000001,0.0],[2919,true,true,null,0.2,1.0,null,null,1.07273,false,0.0,0.0,0.0,0.0],[2929,true,true,null,13.199999999999999,1.0,null,null,1.02727,false,13.0,0.0,10.5,0.0],[2932,true,true,null,0.3,1.0,null,null,1.07273,false,1.0,0.0,0.0,0.0],[2933,true,true,null,5.0,1.0,null,null,1.07273,false,20.0,5.0,18.75,0.0],[2950,true,true,null,0.5,1.0,null,null,1.08182,false,1.0,0.0,0.0,0.0],[2956,true,true,null,0.8,1.0,null,null,1.08182,false,1.0,0.0,0.0,0.0],[2961,true,true,null,1.1,1.0,null,null,1.08182,false,2.0,1.0,0.5,0.0],[2989,true,true,null,0.1,1.0,null,null,1.05455,false,0.0,0.0,0.0,0.0],[2992,true,true,null,0.2,1.0,null,null,1.06364,false,3.0,0.0,0.0,0.0],[133,true,true,null,105.0,1.0,null,null,1.07273,false,110.0,80.0,31.0,0.0],[2996,true,true,null,11.1,1.0,null,null,1.07273,false,15.0,0.0,0.0,0.0],[2998,true,true,null,0.3,1.0,null,null,1.02727,false,0.0,0.0,0.1,0.0],[3007,true,true,null,0.3,1.0,null,null,1.07273,false,1.0,0.0,0.0,0.0],[3019,true,true,null,0.9,1.0,null,null,1.08182,false,1.0,0.0,0.0,0.0],[3028,true,true,null,0.1,1.0,null,null,1.08182,false,0.0,0.0,0.0,0.0],[3033,true,true,null,1.4,1.0,null,null,1.02727,false,4.0,0.0,0.0,0.0],[3037,true,true,null,0.49,1.0,null,null,1.05455,false,0.0,0.0,0.0,0.0],[3042,true,true,null,32.0,1.0,null,null,1.05455,false,32.0,0.0,24.0,0.0],[3044,true,true,null,4.8,1.0,null,null,1.03636,false,18.0,0.0,2.0,0.0],[3047,true,true,null,3.4,1.0,null,null,1.06364,false,18.0,0.0,0.0,0.0],[141,true,true,null,205.0,1.0,null,null,1.08182,false,215.0,135.0,135.0,-35.0],[3059,true,true,null,17.600000000000001,1.0,null,null,1.09091,false,50.0,0.0,1.0,0.0],[3064,true,true,null,4.0,1.0,null,null,1.07273,false,9.0,0.0,0.0,0.0],[3066,true,true,null,0.2,1.0,null,null,1.07273,false,0.0,0.0,0.0,0.0],[3068,true,true,null,9.6,1.0,null,null,1.06364,false,35.0,0.0,0.0,0.0],[3072,true,true,null,26.699999999999999,1.0,null,null,1.06364,false,27.0,0.0,17.0,-10.0],[3073,true,true,null,21.600000000000001,1.0,null,null,1.06364,false,27.0,0.0,17.0,-10.0],[3085,true,true,null,4.0,1.0,null,null,1.08182,false,24.0,0.0,0.0,0.0],[3086,true,true,null,4.0,1.0,null,null,1.08182,false,24.0,0.0,0.0,0.0],[3096,true,true,null,2.7,1.0,null,null,1.04545,false,4.0,0.0,2.2,0.5],[3102,true,true,null,129.0,1.0,null,null,1.1,false,150.0,108.0,50.0,0.0],[142,true,true,null,215.0,1.0,null,null,1.08182,false,215.0,135.0,135.0,-35.0],[3112,true,true,null,0.0,1.0,null,null,1.043,false,0.0,0.0,9999.0,-9999.0],[3113,true,true,null,0.0,1.0,null,null,1.04309,false,0.0,0.0,9999.0,-9999.0],[3114,true,true,null,0.0,1.0,null,null,1.03798,false,0.0,0.0,9999.0,-9999.0],[3115,true,true,null,0.0,1.0,null,null,1.02647,false,502.0,502.0,9999.0,-9999.0],[3116,true,true,null,0.0,1.0,null,null,1.08259,false,0.0,0.0,9999.0,-9999.0],[3117,true,true,null,0.0,1.0,null,null,1.0424,false,109.0,109.0,9999.0,-9999.0],[3118,true,true,null,57.600000000000001,1.0,null,null,0.98438,false,112.0,0.0,0.0,0.0],[143,true,true,null,225.0,1.0,null,null,1.0375,false,225.0,135.0,140.0,-36.0],[151,true,true,null,110.0,1.0,null,null,1.06818,false,120.0,100.0,85.0,-15.0],[152,true,true,null,110.0,1.0,null,null,1.06818,false,120.0,100.0,85.0,-15.0],[168,true,true,null,180.0,1.0,null,null,1.08182,false,205.0,135.0,111.0,-21.0],[169,true,true,null,180.0,1.0,null,null,1.08182,false,232.0,100.0,119.0,-31.0],[35,true,true,null,370.0,1.0,null,null,1.09545,false,370.0,240.0,190.0,-19.0],[170,true,true,null,200.0,1.0,null,null,1.0325,false,222.0,90.0,102.0,-15.0],[171,true,true,null,200.0,1.0,null,null,1.0325,false,222.0,90.0,102.0,-15.0],[176,true,true,null,261.0,1.0,null,null,1.09091,false,261.0,104.0,127.0,-35.0],[177,true,true,null,235.0,1.0,null,null,1.09091,false,235.0,94.0,145.0,-38.0],[179,true,true,null,206.0,1.0,null,null,1.03,false,206.0,120.0,103.0,-17.0],[187,true,true,null,180.0,1.0,null,null,1.05455,false,225.0,150.0,112.0,-32.0],[188,true,true,null,200.0,1.0,null,null,1.05455,false,200.0,150.0,112.0,-32.0],[189,true,true,null,400.0,1.0,null,null,1.005,false,464.0,186.0,294.0,-259.0],[235,true,true,null,179.0,1.0,null,null,1.0375,false,179.0,-200.0,105.0,-62.0],[236,true,true,null,0.0,1.0,null,null,1.0375,false,179.0,-200.0,160.0,-100.0],[37,true,true,null,370.0,1.0,null,null,1.04,false,370.0,240.0,190.0,-19.0],[239,true,true,null,224.0,1.0,null,null,1.09091,false,250.0,113.0,150.0,0.0],[250,true,true,null,15.0,1.0,null,null,1.08182,false,23.0,7.0,20.0,0.0],[266,true,true,null,1.5,1.0,null,null,1.07273,false,2.0,0.0,1.0,0.0],[267,true,true,null,1.6,1.0,null,null,1.06364,false,2.0,0.0,1.0,0.0],[300,true,true,null,5.0,1.0,null,null,1.04545,false,5.0,1.0,3.75,0.0],[301,true,true,null,2.79,1.0,null,null,1.04545,false,5.0,1.0,3.75,0.0],[315,true,true,null,350.0,1.0,null,null,1.0,false,370.0,240.0,190.0,-19.0],[368,true,true,null,9.16,1.0,null,null,1.07273,false,30.0,0.0,4.0,0.0],[401,true,true,null,0.9,1.0,null,null,1.08182,false,1.0,0.0,1.0,0.0],[408,true,true,null,20.0,1.0,null,null,1.07545,false,30.0,11.0,7.0,0.0],[54,true,true,null,205.0,1.0,null,null,1.09091,false,215.0,110.0,152.0,-33.0],[410,true,true,null,20.0,1.0,null,null,1.07273,false,55.0,20.0,15.0,0.0],[414,true,true,null,30.0,1.0,null,null,1.07273,false,60.0,25.0,40.0,0.0],[427,true,true,null,2.0,1.0,null,null,1.07273,false,3.0,2.0,3.0,0.0],[491,true,true,null,38.0,1.0,null,null,1.07273,false,52.0,15.0,57.0,-22.0],[492,true,true,null,47.0,1.0,null,null,1.07273,false,55.0,15.0,57.0,-22.0],[493,true,true,null,47.0,1.0,null,null,1.08182,false,55.0,15.0,57.0,-22.0],[494,true,true,null,55.0,1.0,null,null,1.07273,false,55.0,15.0,57.0,-22.0],[516,true,true,null,180.0,1.0,null,null,1.09091,false,226.0,120.0,162.0,-61.0],[517,true,true,null,15.0,1.0,null,null,1.1,false,17.0,10.0,12.0,0.0],[541,true,true,null,0.3,1.0,null,null,1.08182,false,0.0,0.0,0.2,0.0],[55,true,true,null,205.0,1.0,null,null,1.09091,false,225.0,110.0,149.0,-33.0],[586,true,true,null,4.0,1.0,null,null,1.06364,false,7.0,1.0,4.7,3.8],[598,true,true,null,2.5,1.0,null,null,1.07273,false,3.0,2.0,2.0,0.0],[662,true,true,null,1.0,1.0,null,null,1.05455,false,2.0,1.0,0.7,0.0],[739,true,true,null,52.0,1.0,null,null,1.05455,false,52.0,37.0,35.0,2.0],[740,true,true,null,30.0,1.0,null,null,1.05455,false,30.0,10.0,25.0,2.0],[761,true,true,null,1.4,1.0,null,null,1.04545,false,2.0,1.0,0.7,0.0],[763,true,true,null,1.0,1.0,null,null,1.06364,false,1.0,0.0,1.0,0.0],[771,true,true,null,20.0,1.0,null,null,1.05455,false,20.0,9.0,30.0,2.0],[772,true,true,null,80.0,1.0,null,null,1.05455,false,97.0,30.0,65.0,6.0],[808,true,true,null,1.0,1.0,null,null,1.07273,false,8.0,1.0,4.0,0.0],[56,true,true,null,225.0,1.0,null,null,1.09091,false,225.0,110.0,149.0,-33.0],[843,true,true,null,2.5,1.0,null,null,1.07273,false,3.0,0.0,0.0,0.0],[875,true,true,null,93.0,1.0,null,null,1.08182,false,93.0,0.0,30.0,0.0],[921,true,true,null,205.0,1.0,null,null,1.09091,false,225.0,135.0,149.0,-33.0],[984,true,true,null,8.5,1.0,null,null,1.08182,false,30.0,0.0,0.0,0.0],[989,true,true,null,0.3,1.0,null,null,1.06364,false,2.0,0.0,0.0,0.0],[1010,true,true,null,190.0,1.0,null,null,1.09091,false,225.0,129.0,120.0,-14.0],[1056,true,true,null,6.1,1.0,null,null,1.07273,false,12.0,0.0,30.0,0.0],[1066,true,true,null,5.0,1.0,null,null,1.08182,false,8.0,0.0,0.0,0.0],[1070,true,true,null,60.0,1.0,null,null,1.09091,false,68.0,5.0,23.0,0.0],[1085,true,true,null,110.0,1.0,null,null,1.08182,false,125.0,92.0,74.0,-15.0],[57,true,true,null,330.0,1.0,null,null,1.035,false,535.0,255.0,363.0,-47.0],[1086,true,true,null,110.0,1.0,null,null,1.08182,false,125.0,85.0,74.0,-15.0],[1131,true,true,null,31.0,1.0,null,null,1.08182,false,31.0,0.0,0.0,0.0],[1163,true,true,null,35.0,1.0,null,null,1.08182,false,78.0,11.0,41.200000000000003,0.0],[1187,true,true,null,43.0,1.0,null,null,1.08182,false,55.0,42.0,45.0,-10.0],[1188,true,true,null,43.0,1.0,null,null,1.08182,false,55.0,42.0,45.0,-10.0],[1262,true,true,null,110.0,1.0,null,null,1.08182,false,113.0,32.0,110.0,-40.0],[1267,true,true,null,6.0,1.0,null,null,1.08182,false,17.0,0.0,0.0,0.0],[1288,true,true,null,370.0,1.0,null,null,1.09091,false,386.0,180.0,216.0,-32.0],[1289,true,true,null,370.0,1.0,null,null,1.09091,false,383.0,180.0,187.0,-30.0],[1301,true,true,null,15.0,1.0,null,null,1.08182,false,20.0,0.0,0.0,0.0],[58,true,true,null,330.0,1.0,null,null,1.035,false,560.0,250.0,348.0,-100.0],[1428,true,true,null,25.0,1.0,null,null,1.07273,false,25.0,10.0,0.0,0.0],[1446,true,true,null,17.0,1.0,null,null,1.08182,false,25.0,0.0,0.0,0.0],[1447,true,true,null,17.0,1.0,null,null,1.08182,false,25.0,0.0,0.0,0.0],[1448,true,true,null,17.0,1.0,null,null,1.08182,false,25.0,0.0,0.0,0.0],[1475,true,true,null,69.0,1.0,null,null,1.08182,false,70.0,21.0,52.5,0.0],[1476,true,true,null,69.0,1.0,null,null,1.08182,false,70.0,21.0,52.5,0.0],[1545,true,true,null,7.0,1.0,null,null,1.08182,false,15.0,3.0,0.0,0.0],[1546,true,true,null,5.5,1.0,null,null,1.07273,false,6.0,0.0,0.0,0.0],[1586,true,true,null,48.0,1.0,null,null,1.08182,false,55.0,20.0,41.0,-6.5],[1587,true,true,null,215.0,1.0,null,null,1.09091,false,230.0,120.0,113.0,-5.0]]}", + "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0,1,10,100,101,102,103,104,105,106,107,108,109,11,110,111,112,113,114,115,116,117,118,119,12,120,121,122,123,124,125,126,127,128,129,13,130,131,132,133,134,135,136,137,138,139,14,140,141,142,143,144,145,146,147,148,149,15,150,151,152,153,154,155,156,157,158,159,16,160,161,162,163,164,165,166,167,168,169,17,170,171,172,173,174,175,176,177,178,179,18,180,181,182,183,184,185,186,187,188,189,19,190,191,192,193,194,195,196,197,198,199,2,20,200,201,202,203,204,205,206,207,208,209,21,210,211,212,213,214,215,216,217,218,219,22,220,221,222,223,224,225,226,227,228,229,23,230,231,232,233,234,235,236,237,238,239,24,240,241,242,243,244,245,246,25,26,27,28,29,3,30,31,32,33,34,35,36,37,38,39,4,40,41,42,43,44,45,46,47,48,49,5,50,51,52,53,54,55,56,57,58,59,6,60,61,62,63,64,65,66,67,68,69,7,70,71,72,73,74,75,76,77,78,79,8,80,81,82,83,84,85,86,87,88,89,9,90,91,92,93,94,95,96,97,98,99],\"data\":[[21,true,true,null,180.0,1.0,null,null,1.06818,false,221.0,110.0,162.0,-61.0,0.0],[22,true,true,null,180.0,1.0,null,null,1.06818,false,200.0,140.0,140.0,-25.0,0.0],[67,true,true,null,210.0,1.0,null,null,1.08636,false,225.0,129.0,120.0,-14.0,0.0],[1588,true,true,null,215.0,1.0,null,null,1.09091,false,225.0,120.0,120.0,-10.0,0.0],[1647,true,true,null,32.0,1.0,null,null,1.07273,false,32.0,0.0,0.0,0.0,0.0],[1655,true,true,null,90.0,1.0,null,null,1.08182,false,120.0,70.0,73.0,-1.0,0.0],[1657,true,true,null,120.0,1.0,null,null,1.08182,false,120.0,79.0,73.0,-1.0,0.0],[1667,true,true,null,125.0,1.0,null,null,1.09091,false,125.0,70.0,83.0,-5.0,0.0],[1680,true,true,null,100.0,1.0,null,null,1.08182,false,119.0,80.0,80.0,-25.0,0.0],[1738,true,true,null,10.0,1.0,null,null,1.07273,false,12.0,0.0,0.0,0.0,0.0],[1741,true,true,null,12.0,1.0,null,null,1.08182,false,4.0,0.0,0.0,0.0,0.0],[1745,true,true,null,215.0,1.0,null,null,1.08182,false,15.0,0.0,131.0,-6.0,0.0],[1768,true,true,null,43.0,1.0,null,null,1.08182,false,46.0,3.0,35.0,-6.0,0.0],[68,true,true,null,225.0,1.0,null,null,1.08636,false,225.0,129.0,120.0,-14.0,0.0],[1953,true,true,null,14.0,1.0,null,null,1.08182,false,14.0,2.0,9.300000000000001,1.9,0.0],[1981,true,true,null,123.0,1.0,null,null,1.08182,false,123.0,70.0,79.0,0.0,0.0],[1982,true,true,null,100.0,1.0,null,null,1.08182,false,161.0,55.0,114.0,-27.0,0.0],[1983,true,true,null,100.0,1.0,null,null,1.08182,false,161.0,55.0,114.0,-27.0,0.0],[1992,true,true,null,110.0,1.0,null,null,1.08182,false,110.0,80.0,15.0,0.0,0.0],[2099,true,true,null,38.0,1.0,null,null,1.08182,false,40.0,5.0,26.0,13.0,0.0],[2143,true,true,null,205.0,1.0,null,null,1.09091,false,225.0,135.0,140.0,-35.0,0.0],[2145,true,true,null,205.0,1.0,null,null,1.09091,false,225.0,135.0,140.0,-35.0,0.0],[2213,true,true,null,30.0,1.0,null,null,1.07273,false,32.0,27.0,0.0,0.0,0.0],[2234,true,true,null,10.0,1.0,null,null,1.06364,false,11.0,0.0,0.0,0.0,0.0],[70,true,true,null,225.0,1.0,null,null,1.0325,false,225.0,129.0,99.0,-10.0,0.0],[2236,true,true,null,110.0,1.0,null,null,1.09091,false,120.0,100.0,85.0,-15.0,0.0],[2252,true,true,null,2.5,1.0,null,null,1.08182,false,3.0,1.0,0.0,0.0,0.0],[2255,true,true,null,1.8,1.0,null,null,1.08182,false,4.0,2.0,0.0,0.0,0.0],[2266,true,true,null,1.5,1.0,null,null,1.1,false,5.0,0.0,0.0,0.0,0.0],[2270,true,true,null,1.3,1.0,null,null,1.09091,false,1.0,0.0,0.0,0.0,0.0],[2273,true,true,null,25.0,1.0,null,null,1.06364,false,50.0,15.0,30.0,0.0,0.0],[2299,true,true,null,150.0,1.0,null,null,1.1,false,222.0,90.0,117.0,-19.0,0.0],[2305,true,true,null,20.0,1.0,null,null,1.04545,false,29.0,10.0,8.0,0.0,0.0],[2309,true,true,null,50.0,1.0,null,null,1.07273,false,55.0,15.0,49.0,-7.0,0.0],[2315,true,true,null,1.7,1.0,null,null,1.00909,false,2.0,0.0,0.0,0.0,0.0],[91,true,true,null,220.0,1.0,null,null,1.08182,false,220.0,140.0,134.0,-7.0,0.0],[2321,true,true,null,2.44,1.0,null,null,1.03636,false,6.0,2.0,0.0,0.0,0.0],[2322,true,true,null,52.700000000000003,1.0,null,null,1.08182,false,55.0,10.0,15.0,0.0,0.0],[2323,true,true,null,5.0,1.0,null,null,1.08182,false,5.0,1.0,2.0,0.0,0.0],[2336,true,true,null,2.7,1.0,null,null,1.02727,false,4.0,3.0,0.0,0.0,0.0],[2344,true,true,null,4.0,1.0,null,null,1.03636,false,30.0,4.0,0.0,0.0,0.0],[2348,true,true,null,2.5,1.0,null,null,1.05455,false,12.0,2.0,0.0,0.0,0.0],[2356,true,true,null,0.5,1.0,null,null,1.08182,false,7.0,0.0,0.0,0.0,0.0],[2367,true,true,null,1.1,1.0,null,null,1.04545,false,3.0,1.0,0.0,0.0,0.0],[2369,true,true,null,1.46,1.0,null,null,1.05455,false,3.0,1.0,0.0,0.0,0.0],[2374,true,true,null,3.0,1.0,null,null,1.05455,false,3.0,1.0,1.25,0.0,0.0],[92,true,true,null,225.0,1.0,null,null,1.08182,false,225.0,140.0,131.0,-6.0,0.0],[2378,true,true,null,2.5,1.0,null,null,1.03636,false,4.0,3.0,0.0,0.0,0.0],[2382,true,true,null,0.3,1.0,null,null,1.08182,false,1.0,0.0,0.0,0.0,0.0],[2389,true,true,null,2.25,1.0,null,null,1.03636,false,10.0,2.0,0.0,0.0,0.0],[2402,true,true,null,50.0,1.0,null,null,1.1,false,50.0,40.0,12.0,0.0,0.0],[2403,true,true,null,20.0,1.0,null,null,1.08182,false,28.0,20.0,10.0,0.0,0.0],[2407,true,true,null,3.9,1.0,null,null,1.04545,false,10.0,4.0,0.0,0.0,0.0],[2432,true,true,null,2.4,1.0,null,null,1.04545,false,4.0,2.0,0.0,0.0,0.0],[2437,true,true,null,2.5,1.0,null,null,1.02727,false,4.0,3.0,0.0,0.0,0.0],[2446,true,true,null,2.0,1.0,null,null,1.04545,false,3.0,1.0,0.0,0.0,0.0],[2455,true,true,null,1.9,1.0,null,null,1.08182,false,4.0,0.0,0.0,0.0,0.0],[95,true,true,null,383.0,1.0,null,null,1.0375,false,383.0,180.0,213.0,-30.0,0.0],[2494,true,true,null,1.6,1.0,null,null,1.03636,false,2.0,1.0,0.0,0.0,0.0],[2495,true,true,null,0.22,1.0,null,null,1.08182,false,0.0,0.0,0.0,0.0,0.0],[2520,true,true,null,0.7,1.0,null,null,1.03636,false,1.0,1.0,0.0,0.0,0.0],[2521,true,true,null,0.3,1.0,null,null,1.04545,false,0.0,0.0,0.0,0.0,0.0],[2523,true,true,null,3.0,1.0,null,null,1.02727,false,6.0,3.0,0.0,0.0,0.0],[2526,true,true,null,2.0,1.0,null,null,1.06364,false,4.0,2.0,0.0,0.0,0.0],[2534,true,true,null,180.0,1.0,null,null,1.09091,false,200.0,150.0,111.0,-18.0,0.0],[2546,true,true,null,1.63,1.0,null,null,1.04545,false,3.0,1.0,0.0,0.0,0.0],[2547,true,true,null,0.3,1.0,null,null,1.05455,false,0.0,0.0,0.0,0.0,0.0],[2554,true,true,null,6.0,1.0,null,null,1.03636,false,20.0,6.0,0.0,0.0,0.0],[112,true,true,null,19.0,1.0,null,null,1.07727,false,21.0,0.0,0.0,0.0,0.0],[2573,true,true,null,50.0,1.0,null,null,1.1,false,65.0,40.0,15.0,0.0,0.0],[2581,true,true,null,0.23,1.0,null,null,1.05455,false,0.0,0.0,0.0,0.0,0.0],[2584,true,true,null,2.0,1.0,null,null,1.07273,false,6.0,1.0,0.0,0.0,0.0],[2590,true,true,null,0.2,1.0,null,null,1.09091,false,1.0,0.0,0.0,0.0,0.0],[2592,true,true,null,2.7,1.0,null,null,1.01818,false,4.0,2.0,0.0,0.0,0.0],[2596,true,true,null,9.0,1.0,null,null,1.04545,false,31.0,0.0,0.0,0.0,0.0],[2597,true,true,null,9.0,1.0,null,null,1.04545,false,31.0,0.0,0.0,0.0,0.0],[2599,true,true,null,2.5,1.0,null,null,1.04545,false,7.0,2.0,0.0,0.0,0.0],[2615,true,true,null,0.7,1.0,null,null,1.1,false,1.0,0.0,0.0,0.0,0.0],[2616,true,true,null,1.0,1.0,null,null,1.06364,false,1.0,0.0,0.0,0.0,0.0],[118,true,true,null,215.0,1.0,null,null,1.08182,false,225.0,120.0,120.0,-10.0,0.0],[2618,true,true,null,2.22,1.0,null,null,1.06364,false,6.0,2.0,0.0,0.0,0.0],[2620,true,true,null,2.0,1.0,null,null,1.07273,false,4.0,2.0,0.0,0.0,0.0],[2626,true,true,null,2.5,1.0,null,null,1.00909,false,6.0,2.0,0.0,0.0,0.0],[2628,true,true,null,2.5,1.0,null,null,1.00909,false,4.0,3.0,0.0,0.0,0.0],[2629,true,true,null,2.0,1.0,null,null,1.06364,false,4.0,2.0,0.0,0.0,0.0],[2643,true,true,null,2.5,1.0,null,null,1.09091,false,10.0,2.0,1.03,0.0,0.0],[2648,true,true,null,1.69,1.0,null,null,1.07273,false,2.0,1.0,0.0,0.0,0.0],[2649,true,true,null,2.52,1.0,null,null,1.05455,false,4.0,2.0,0.0,0.0,0.0],[2654,true,true,null,0.2,1.0,null,null,1.0,false,0.0,0.0,0.0,0.0,0.0],[2666,true,true,null,225.0,1.0,null,null,1.09091,false,235.0,94.0,145.0,-38.0,0.0],[119,true,true,null,215.0,1.0,null,null,1.08182,false,225.0,120.0,120.0,-10.0,0.0],[2678,true,true,null,95.0,1.0,null,null,1.07273,false,108.0,70.0,70.0,0.0,0.0],[2683,true,true,null,5.5,1.0,null,null,1.09091,false,8.0,0.0,2.0,0.0,0.0],[2684,true,true,null,2.5,1.0,null,null,1.1,false,16.0,2.0,0.0,0.0,0.0],[2690,true,true,null,1.7,1.0,null,null,1.07273,false,10.0,2.0,0.0,0.0,0.0],[2694,true,true,null,0.3,1.0,null,null,1.06364,false,0.0,0.0,0.0,0.0,0.0],[2697,true,true,null,0.9,1.0,null,null,1.06364,false,1.0,1.0,0.0,0.0,0.0],[2773,true,true,null,5.0,1.0,null,null,1.04545,false,11.0,3.0,10.0,0.0,0.0],[2780,true,true,null,1.0,1.0,null,null,1.03636,false,1.0,0.0,0.0,0.0,0.0],[2790,true,true,null,0.7,1.0,null,null,1.07273,false,1.0,0.0,0.0,0.0,0.0],[2793,true,true,null,45.0,1.0,null,null,1.05455,false,55.0,0.0,41.700000000000003,6.0,0.0],[120,true,true,null,115.0,1.0,null,null,1.08182,false,120.0,70.0,73.0,-1.0,0.0],[2796,true,true,null,0.4,1.0,null,null,1.08182,false,1.0,0.0,1.0,0.0,0.0],[2802,true,true,null,1.8,1.0,null,null,1.04545,false,3.0,0.0,1.0,0.0,0.0],[2810,true,true,null,0.3,1.0,null,null,1.07273,false,0.0,0.0,0.0,0.0,0.0],[2813,true,true,null,49.0,1.0,null,null,1.06364,false,55.0,26.0,35.0,4.0,0.0],[2822,true,true,null,0.2,1.0,null,null,1.01818,false,1.0,0.0,0.0,0.0,0.0],[2825,true,true,null,0.2,1.0,null,null,1.02727,false,0.0,0.0,0.0,0.0,0.0],[2826,true,true,null,0.3,1.0,null,null,1.07273,false,0.0,0.0,0.0,0.0,0.0],[2827,true,true,null,1.0,1.0,null,null,1.08182,false,1.0,0.0,0.0,0.0,0.0],[2829,true,true,null,0.4,1.0,null,null,1.02727,false,1.0,0.0,0.1,0.0,0.0],[2832,true,true,null,8.0,1.0,null,null,1.09091,false,26.0,0.0,0.0,0.0,0.0],[34,true,true,null,345.0,1.0,null,null,1.09545,false,370.0,240.0,190.0,-19.0,0.0],[121,true,true,null,115.0,1.0,null,null,1.08182,false,120.0,70.0,73.0,-1.0,0.0],[2835,true,true,null,10.0,1.0,null,null,1.03636,false,13.0,2.0,5.0,0.0,0.0],[2841,true,true,null,4.5,1.0,null,null,1.07273,false,6.0,0.0,0.0,0.0,0.0],[2845,true,true,null,53.0,1.0,null,null,1.07273,false,55.0,26.0,35.0,6.0,0.0],[2855,true,true,null,4.8,1.0,null,null,1.07273,false,18.0,0.0,0.0,0.0,0.0],[2856,true,true,null,4.8,1.0,null,null,1.08182,false,22.0,0.0,0.0,0.0,0.0],[2874,true,true,null,3.2,1.0,null,null,1.05455,false,4.0,1.0,3.0,1.0,0.0],[2879,true,true,null,16.0,1.0,null,null,1.03636,false,16.0,0.0,12.0,0.0,0.0],[2886,true,true,null,10.0,1.0,null,null,1.05455,false,12.0,5.0,9.300000000000001,1.0,0.0],[2888,true,true,null,12.0,1.0,null,null,1.04545,false,41.0,0.0,1.0,0.0,0.0],[2899,true,true,null,0.85,1.0,null,null,1.08182,false,2.0,0.0,0.0,0.0,0.0],[132,true,true,null,115.0,1.0,null,null,1.07727,false,120.0,70.0,79.0,0.0,0.0],[2908,true,true,null,25.0,1.0,null,null,1.03636,false,25.0,0.0,18.780000000000001,0.0,0.0],[2919,true,true,null,0.2,1.0,null,null,1.07273,false,0.0,0.0,0.0,0.0,0.0],[2929,true,true,null,13.199999999999999,1.0,null,null,1.02727,false,13.0,0.0,10.5,0.0,0.0],[2932,true,true,null,0.3,1.0,null,null,1.07273,false,1.0,0.0,0.0,0.0,0.0],[2933,true,true,null,5.0,1.0,null,null,1.07273,false,20.0,5.0,18.75,0.0,0.0],[2950,true,true,null,0.5,1.0,null,null,1.08182,false,1.0,0.0,0.0,0.0,0.0],[2956,true,true,null,0.8,1.0,null,null,1.08182,false,1.0,0.0,0.0,0.0,0.0],[2961,true,true,null,1.1,1.0,null,null,1.08182,false,2.0,1.0,0.5,0.0,0.0],[2989,true,true,null,0.1,1.0,null,null,1.05455,false,0.0,0.0,0.0,0.0,0.0],[2992,true,true,null,0.2,1.0,null,null,1.06364,false,3.0,0.0,0.0,0.0,0.0],[133,true,true,null,105.0,1.0,null,null,1.07273,false,110.0,80.0,31.0,0.0,0.0],[2996,true,true,null,11.1,1.0,null,null,1.07273,false,15.0,0.0,0.0,0.0,0.0],[2998,true,true,null,0.3,1.0,null,null,1.02727,false,0.0,0.0,0.1,0.0,0.0],[3007,true,true,null,0.3,1.0,null,null,1.07273,false,1.0,0.0,0.0,0.0,0.0],[3019,true,true,null,0.9,1.0,null,null,1.08182,false,1.0,0.0,0.0,0.0,0.0],[3028,true,true,null,0.1,1.0,null,null,1.08182,false,0.0,0.0,0.0,0.0,0.0],[3033,true,true,null,1.4,1.0,null,null,1.02727,false,4.0,0.0,0.0,0.0,0.0],[3037,true,true,null,0.49,1.0,null,null,1.05455,false,0.0,0.0,0.0,0.0,0.0],[3042,true,true,null,32.0,1.0,null,null,1.05455,false,32.0,0.0,24.0,0.0,0.0],[3044,true,true,null,4.8,1.0,null,null,1.03636,false,18.0,0.0,2.0,0.0,0.0],[3047,true,true,null,3.4,1.0,null,null,1.06364,false,18.0,0.0,0.0,0.0,0.0],[141,true,true,null,205.0,1.0,null,null,1.08182,false,215.0,135.0,135.0,-35.0,0.0],[3059,true,true,null,17.600000000000001,1.0,null,null,1.09091,false,50.0,0.0,1.0,0.0,0.0],[3064,true,true,null,4.0,1.0,null,null,1.07273,false,9.0,0.0,0.0,0.0,0.0],[3066,true,true,null,0.2,1.0,null,null,1.07273,false,0.0,0.0,0.0,0.0,0.0],[3068,true,true,null,9.6,1.0,null,null,1.06364,false,35.0,0.0,0.0,0.0,0.0],[3072,true,true,null,26.699999999999999,1.0,null,null,1.06364,false,27.0,0.0,17.0,-10.0,0.0],[3073,true,true,null,21.600000000000001,1.0,null,null,1.06364,false,27.0,0.0,17.0,-10.0,0.0],[3085,true,true,null,4.0,1.0,null,null,1.08182,false,24.0,0.0,0.0,0.0,0.0],[3086,true,true,null,4.0,1.0,null,null,1.08182,false,24.0,0.0,0.0,0.0,0.0],[3096,true,true,null,2.7,1.0,null,null,1.04545,false,4.0,0.0,2.2,0.5,0.0],[3102,true,true,null,129.0,1.0,null,null,1.1,false,150.0,108.0,50.0,0.0,0.0],[142,true,true,null,215.0,1.0,null,null,1.08182,false,215.0,135.0,135.0,-35.0,0.0],[3112,true,true,null,0.0,1.0,null,null,1.043,false,0.0,0.0,9999.0,-9999.0,0.0],[3113,true,true,null,0.0,1.0,null,null,1.04309,false,0.0,0.0,9999.0,-9999.0,0.0],[3114,true,true,null,0.0,1.0,null,null,1.03798,false,0.0,0.0,9999.0,-9999.0,0.0],[3115,true,true,null,0.0,1.0,null,null,1.02647,false,502.0,502.0,9999.0,-9999.0,0.0],[3116,true,true,null,0.0,1.0,null,null,1.08259,false,0.0,0.0,9999.0,-9999.0,0.0],[3117,true,true,null,0.0,1.0,null,null,1.0424,false,109.0,109.0,9999.0,-9999.0,0.0],[3118,true,true,null,57.600000000000001,1.0,null,null,0.98438,false,112.0,0.0,0.0,0.0,0.0],[143,true,true,null,225.0,1.0,null,null,1.0375,false,225.0,135.0,140.0,-36.0,0.0],[151,true,true,null,110.0,1.0,null,null,1.06818,false,120.0,100.0,85.0,-15.0,0.0],[152,true,true,null,110.0,1.0,null,null,1.06818,false,120.0,100.0,85.0,-15.0,0.0],[168,true,true,null,180.0,1.0,null,null,1.08182,false,205.0,135.0,111.0,-21.0,0.0],[169,true,true,null,180.0,1.0,null,null,1.08182,false,232.0,100.0,119.0,-31.0,0.0],[35,true,true,null,370.0,1.0,null,null,1.09545,false,370.0,240.0,190.0,-19.0,0.0],[170,true,true,null,200.0,1.0,null,null,1.0325,false,222.0,90.0,102.0,-15.0,0.0],[171,true,true,null,200.0,1.0,null,null,1.0325,false,222.0,90.0,102.0,-15.0,0.0],[176,true,true,null,261.0,1.0,null,null,1.09091,false,261.0,104.0,127.0,-35.0,0.0],[177,true,true,null,235.0,1.0,null,null,1.09091,false,235.0,94.0,145.0,-38.0,0.0],[179,true,true,null,206.0,1.0,null,null,1.03,false,206.0,120.0,103.0,-17.0,0.0],[187,true,true,null,180.0,1.0,null,null,1.05455,false,225.0,150.0,112.0,-32.0,0.0],[188,true,true,null,200.0,1.0,null,null,1.05455,false,200.0,150.0,112.0,-32.0,0.0],[189,true,true,null,400.0,1.0,null,null,1.005,false,464.0,186.0,294.0,-259.0,0.0],[235,true,true,null,179.0,1.0,null,null,1.0375,false,179.0,-200.0,105.0,-62.0,0.0],[236,true,true,null,0.0,1.0,null,null,1.0375,false,179.0,-200.0,160.0,-100.0,0.0],[37,true,true,null,370.0,1.0,null,null,1.04,false,370.0,240.0,190.0,-19.0,0.0],[239,true,true,null,224.0,1.0,null,null,1.09091,false,250.0,113.0,150.0,0.0,0.0],[250,true,true,null,15.0,1.0,null,null,1.08182,false,23.0,7.0,20.0,0.0,0.0],[266,true,true,null,1.5,1.0,null,null,1.07273,false,2.0,0.0,1.0,0.0,0.0],[267,true,true,null,1.6,1.0,null,null,1.06364,false,2.0,0.0,1.0,0.0,0.0],[300,true,true,null,5.0,1.0,null,null,1.04545,false,5.0,1.0,3.75,0.0,0.0],[301,true,true,null,2.79,1.0,null,null,1.04545,false,5.0,1.0,3.75,0.0,0.0],[315,true,true,null,350.0,1.0,null,null,1.0,false,370.0,240.0,190.0,-19.0,0.0],[368,true,true,null,9.16,1.0,null,null,1.07273,false,30.0,0.0,4.0,0.0,0.0],[401,true,true,null,0.9,1.0,null,null,1.08182,false,1.0,0.0,1.0,0.0,0.0],[408,true,true,null,20.0,1.0,null,null,1.07545,false,30.0,11.0,7.0,0.0,0.0],[54,true,true,null,205.0,1.0,null,null,1.09091,false,215.0,110.0,152.0,-33.0,0.0],[410,true,true,null,20.0,1.0,null,null,1.07273,false,55.0,20.0,15.0,0.0,0.0],[414,true,true,null,30.0,1.0,null,null,1.07273,false,60.0,25.0,40.0,0.0,0.0],[427,true,true,null,2.0,1.0,null,null,1.07273,false,3.0,2.0,3.0,0.0,0.0],[491,true,true,null,38.0,1.0,null,null,1.07273,false,52.0,15.0,57.0,-22.0,0.0],[492,true,true,null,47.0,1.0,null,null,1.07273,false,55.0,15.0,57.0,-22.0,0.0],[493,true,true,null,47.0,1.0,null,null,1.08182,false,55.0,15.0,57.0,-22.0,0.0],[494,true,true,null,55.0,1.0,null,null,1.07273,false,55.0,15.0,57.0,-22.0,0.0],[516,true,true,null,180.0,1.0,null,null,1.09091,false,226.0,120.0,162.0,-61.0,0.0],[517,true,true,null,15.0,1.0,null,null,1.1,false,17.0,10.0,12.0,0.0,0.0],[541,true,true,null,0.3,1.0,null,null,1.08182,false,0.0,0.0,0.2,0.0,0.0],[55,true,true,null,205.0,1.0,null,null,1.09091,false,225.0,110.0,149.0,-33.0,0.0],[586,true,true,null,4.0,1.0,null,null,1.06364,false,7.0,1.0,4.7,3.8,0.0],[598,true,true,null,2.5,1.0,null,null,1.07273,false,3.0,2.0,2.0,0.0,0.0],[662,true,true,null,1.0,1.0,null,null,1.05455,false,2.0,1.0,0.7,0.0,0.0],[739,true,true,null,52.0,1.0,null,null,1.05455,false,52.0,37.0,35.0,2.0,0.0],[740,true,true,null,30.0,1.0,null,null,1.05455,false,30.0,10.0,25.0,2.0,0.0],[761,true,true,null,1.4,1.0,null,null,1.04545,false,2.0,1.0,0.7,0.0,0.0],[763,true,true,null,1.0,1.0,null,null,1.06364,false,1.0,0.0,1.0,0.0,0.0],[771,true,true,null,20.0,1.0,null,null,1.05455,false,20.0,9.0,30.0,2.0,0.0],[772,true,true,null,80.0,1.0,null,null,1.05455,false,97.0,30.0,65.0,6.0,0.0],[808,true,true,null,1.0,1.0,null,null,1.07273,false,8.0,1.0,4.0,0.0,0.0],[56,true,true,null,225.0,1.0,null,null,1.09091,false,225.0,110.0,149.0,-33.0,0.0],[843,true,true,null,2.5,1.0,null,null,1.07273,false,3.0,0.0,0.0,0.0,0.0],[875,true,true,null,93.0,1.0,null,null,1.08182,false,93.0,0.0,30.0,0.0,0.0],[921,true,true,null,205.0,1.0,null,null,1.09091,false,225.0,135.0,149.0,-33.0,0.0],[984,true,true,null,8.5,1.0,null,null,1.08182,false,30.0,0.0,0.0,0.0,0.0],[989,true,true,null,0.3,1.0,null,null,1.06364,false,2.0,0.0,0.0,0.0,0.0],[1010,true,true,null,190.0,1.0,null,null,1.09091,false,225.0,129.0,120.0,-14.0,0.0],[1056,true,true,null,6.1,1.0,null,null,1.07273,false,12.0,0.0,30.0,0.0,0.0],[1066,true,true,null,5.0,1.0,null,null,1.08182,false,8.0,0.0,0.0,0.0,0.0],[1070,true,true,null,60.0,1.0,null,null,1.09091,false,68.0,5.0,23.0,0.0,0.0],[1085,true,true,null,110.0,1.0,null,null,1.08182,false,125.0,92.0,74.0,-15.0,0.0],[57,true,true,null,330.0,1.0,null,null,1.035,false,535.0,255.0,363.0,-47.0,0.0],[1086,true,true,null,110.0,1.0,null,null,1.08182,false,125.0,85.0,74.0,-15.0,0.0],[1131,true,true,null,31.0,1.0,null,null,1.08182,false,31.0,0.0,0.0,0.0,0.0],[1163,true,true,null,35.0,1.0,null,null,1.08182,false,78.0,11.0,41.200000000000003,0.0,0.0],[1187,true,true,null,43.0,1.0,null,null,1.08182,false,55.0,42.0,45.0,-10.0,0.0],[1188,true,true,null,43.0,1.0,null,null,1.08182,false,55.0,42.0,45.0,-10.0,0.0],[1262,true,true,null,110.0,1.0,null,null,1.08182,false,113.0,32.0,110.0,-40.0,0.0],[1267,true,true,null,6.0,1.0,null,null,1.08182,false,17.0,0.0,0.0,0.0,0.0],[1288,true,true,null,370.0,1.0,null,null,1.09091,false,386.0,180.0,216.0,-32.0,0.0],[1289,true,true,null,370.0,1.0,null,null,1.09091,false,383.0,180.0,187.0,-30.0,0.0],[1301,true,true,null,15.0,1.0,null,null,1.08182,false,20.0,0.0,0.0,0.0,0.0],[58,true,true,null,330.0,1.0,null,null,1.035,false,560.0,250.0,348.0,-100.0,0.0],[1428,true,true,null,25.0,1.0,null,null,1.07273,false,25.0,10.0,0.0,0.0,0.0],[1446,true,true,null,17.0,1.0,null,null,1.08182,false,25.0,0.0,0.0,0.0,0.0],[1447,true,true,null,17.0,1.0,null,null,1.08182,false,25.0,0.0,0.0,0.0,0.0],[1448,true,true,null,17.0,1.0,null,null,1.08182,false,25.0,0.0,0.0,0.0,0.0],[1475,true,true,null,69.0,1.0,null,null,1.08182,false,70.0,21.0,52.5,0.0,0.0],[1476,true,true,null,69.0,1.0,null,null,1.08182,false,70.0,21.0,52.5,0.0,0.0],[1545,true,true,null,7.0,1.0,null,null,1.08182,false,15.0,3.0,0.0,0.0,0.0],[1546,true,true,null,5.5,1.0,null,null,1.07273,false,6.0,0.0,0.0,0.0,0.0],[1586,true,true,null,48.0,1.0,null,null,1.08182,false,55.0,20.0,41.0,-6.5,0.0],[1587,true,true,null,215.0,1.0,null,null,1.09091,false,230.0,120.0,113.0,-5.0,0.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -96,7 +158,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "switch": { @@ -133,7 +196,7 @@ "ext_grid": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0],\"data\":[[36,true,null,0.0,1.04,370.0,240.0,190.0,-19.0]]}", + "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0],\"data\":[[36,true,null,0.0,1.04,370.0,240.0,190.0,-19.0,1.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -144,7 +207,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "line": { @@ -297,7 +361,7 @@ "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\",\"in_service\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"ps_mw\",\"qs_mvar\",\"qz_mvar\",\"pz_mw\",\"r_ohm\",\"x_ohm\",\"vm_pu\",\"in_service\",\"slack_weight\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "name": "object", @@ -309,7 +373,8 @@ "r_ohm": "float64", "x_ohm": "float64", "vm_pu": "float64", - "in_service": "bool" + "in_service": "bool", + "slack_weight": "float64" } }, "measurement": { @@ -358,13 +423,14 @@ "controller": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"recycle\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"initial_run\",\"recycle\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "object": "object", "in_service": "bool", "order": "float64", "level": "object", + "initial_run": "bool", "recycle": "bool" } }, @@ -388,11 +454,11 @@ "coords": "object" } }, - "version": "2.2.1", + "version": "2.7.1", "converged": true, "name": "", "f_hz": 50, - "sn_mva": 1.0, + "sn_mva": 100, "std_types": { "line": { "NAYY 4x150 SE": { @@ -1272,6 +1338,16 @@ "q_mvar": "float64" } }, + "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" + } + }, "res_sgen": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -1356,6 +1432,341 @@ "va_to_degree": "float64" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_bus_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_line_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo3w_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_ext_grid_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_gen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_sgen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_shunt_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "user_pf_options": {}, "OPF_converged": false } diff --git a/pandapower/networks/power_system_test_case_jsons/case33bw.json b/pandapower/networks/power_system_test_case_jsons/case33bw.json index cabe50b5c..51ba901a3 100644 --- a/pandapower/networks/power_system_test_case_jsons/case33bw.json +++ b/pandapower/networks/power_system_test_case_jsons/case33bw.json @@ -53,6 +53,68 @@ "current_source": "bool" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "storage": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -75,7 +137,7 @@ "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\",\"in_service\",\"type\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"p_mw\",\"vm_pu\",\"sn_mva\",\"min_q_mvar\",\"max_q_mvar\",\"scaling\",\"slack\",\"in_service\",\"type\",\"slack_weight\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "name": "object", @@ -88,7 +150,8 @@ "scaling": "float64", "slack": "bool", "in_service": "bool", - "type": "object" + "type": "object", + "slack_weight": "float64" } }, "switch": { @@ -125,7 +188,7 @@ "ext_grid": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0],\"data\":[[0,true,null,0.0,1.0,10.0,0.0,10.0,-10.0]]}", + "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0],\"data\":[[0,true,null,0.0,1.0,10.0,0.0,10.0,-10.0,1.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -136,7 +199,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "line": { @@ -288,7 +352,7 @@ "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\",\"in_service\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"ps_mw\",\"qs_mvar\",\"qz_mvar\",\"pz_mw\",\"r_ohm\",\"x_ohm\",\"vm_pu\",\"in_service\",\"slack_weight\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "name": "object", @@ -300,7 +364,8 @@ "r_ohm": "float64", "x_ohm": "float64", "vm_pu": "float64", - "in_service": "bool" + "in_service": "bool", + "slack_weight": "float64" } }, "measurement": { @@ -349,13 +414,14 @@ "controller": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"recycle\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"initial_run\",\"recycle\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "object": "object", "in_service": "bool", "order": "float64", "level": "object", + "initial_run": "bool", "recycle": "bool" } }, @@ -379,11 +445,11 @@ "coords": "object" } }, - "version": "2.2.1", + "version": "2.7.1", "converged": true, "name": "", "f_hz": 60, - "sn_mva": 1.0, + "sn_mva": 10, "std_types": { "line": { "122-AL1/20-ST1A 10.0": { @@ -1263,6 +1329,16 @@ "q_mvar": "float64" } }, + "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" + } + }, "res_sgen": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -1347,6 +1423,341 @@ "va_to_degree": "float64" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_bus_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_line_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo3w_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_ext_grid_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_gen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_sgen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_shunt_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "user_pf_options": {}, "OPF_converged": false } diff --git a/pandapower/networks/power_system_test_case_jsons/case39.json b/pandapower/networks/power_system_test_case_jsons/case39.json index 20e80879c..d5987b743 100644 --- a/pandapower/networks/power_system_test_case_jsons/case39.json +++ b/pandapower/networks/power_system_test_case_jsons/case39.json @@ -53,6 +53,68 @@ "current_source": "bool" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "storage": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -75,7 +137,7 @@ "gen": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0,1,2,3,4,5,6,7,8],\"data\":[[29,true,true,null,250.0,1.0,null,null,1.0499,false,1040.0,0.0,400.0,140.0],[31,true,true,null,650.0,1.0,null,null,0.9841,false,725.0,0.0,300.0,150.0],[32,true,true,null,632.0,1.0,null,null,0.9972,false,652.0,0.0,250.0,0.0],[33,true,true,null,508.0,1.0,null,null,1.0123,false,508.0,0.0,167.0,0.0],[34,true,true,null,650.0,1.0,null,null,1.0494,false,687.0,0.0,300.0,-100.0],[35,true,true,null,560.0,1.0,null,null,1.0636,false,580.0,0.0,240.0,0.0],[36,true,true,null,540.0,1.0,null,null,1.0275,false,564.0,0.0,250.0,0.0],[37,true,true,null,830.0,1.0,null,null,1.0265,false,865.0,0.0,300.0,-150.0],[38,true,true,null,1000.0,1.0,null,null,1.03,false,1100.0,0.0,300.0,-100.0]]}", + "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0,1,2,3,4,5,6,7,8],\"data\":[[29,true,true,null,250.0,1.0,null,null,1.0499,false,1040.0,0.0,400.0,140.0,0.0],[31,true,true,null,650.0,1.0,null,null,0.9841,false,725.0,0.0,300.0,150.0,0.0],[32,true,true,null,632.0,1.0,null,null,0.9972,false,652.0,0.0,250.0,0.0,0.0],[33,true,true,null,508.0,1.0,null,null,1.0123,false,508.0,0.0,167.0,0.0,0.0],[34,true,true,null,650.0,1.0,null,null,1.0494,false,687.0,0.0,300.0,-100.0,0.0],[35,true,true,null,560.0,1.0,null,null,1.0636,false,580.0,0.0,240.0,0.0,0.0],[36,true,true,null,540.0,1.0,null,null,1.0275,false,564.0,0.0,250.0,0.0,0.0],[37,true,true,null,830.0,1.0,null,null,1.0265,false,865.0,0.0,300.0,-150.0,0.0],[38,true,true,null,1000.0,1.0,null,null,1.03,false,1100.0,0.0,300.0,-100.0,0.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -91,7 +153,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "switch": { @@ -128,7 +191,7 @@ "ext_grid": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0],\"data\":[[30,true,null,0.0,0.982,646.0,0.0,300.0,-100.0]]}", + "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0],\"data\":[[30,true,null,0.0,0.982,646.0,0.0,300.0,-100.0,1.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -139,7 +202,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "line": { @@ -292,7 +356,7 @@ "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\",\"in_service\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"ps_mw\",\"qs_mvar\",\"qz_mvar\",\"pz_mw\",\"r_ohm\",\"x_ohm\",\"vm_pu\",\"in_service\",\"slack_weight\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "name": "object", @@ -304,7 +368,8 @@ "r_ohm": "float64", "x_ohm": "float64", "vm_pu": "float64", - "in_service": "bool" + "in_service": "bool", + "slack_weight": "float64" } }, "measurement": { @@ -353,13 +418,14 @@ "controller": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"recycle\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"initial_run\",\"recycle\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "object": "object", "in_service": "bool", "order": "float64", "level": "object", + "initial_run": "bool", "recycle": "bool" } }, @@ -383,11 +449,11 @@ "coords": "object" } }, - "version": "2.2.1", + "version": "2.7.1", "converged": true, "name": "", "f_hz": 60, - "sn_mva": 1.0, + "sn_mva": 100, "std_types": { "line": { "NAYY 4x150 SE": { @@ -1267,6 +1333,16 @@ "q_mvar": "float64" } }, + "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" + } + }, "res_sgen": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -1351,6 +1427,341 @@ "va_to_degree": "float64" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_bus_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_line_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo3w_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_ext_grid_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_gen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_sgen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_shunt_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "user_pf_options": {}, "OPF_converged": false } diff --git a/pandapower/networks/power_system_test_case_jsons/case4gs.json b/pandapower/networks/power_system_test_case_jsons/case4gs.json index d626f3236..91b3e77bf 100644 --- a/pandapower/networks/power_system_test_case_jsons/case4gs.json +++ b/pandapower/networks/power_system_test_case_jsons/case4gs.json @@ -53,6 +53,68 @@ "current_source": "bool" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "storage": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -75,7 +137,7 @@ "gen": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0],\"data\":[[3,true,true,null,318.0,1.0,null,null,1.02,false,318.0,0.0,100.0,-100.0]]}", + "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0],\"data\":[[3,true,true,null,318.0,1.0,null,null,1.02,false,318.0,0.0,100.0,-100.0,0.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -91,7 +153,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "switch": { @@ -128,7 +191,7 @@ "ext_grid": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0],\"data\":[[0,true,null,0.0,1.0,0.0,0.0,100.0,-100.0]]}", + "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0],\"data\":[[0,true,null,0.0,1.0,0.0,0.0,100.0,-100.0,1.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -139,7 +202,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "line": { @@ -291,7 +355,7 @@ "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\",\"in_service\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"ps_mw\",\"qs_mvar\",\"qz_mvar\",\"pz_mw\",\"r_ohm\",\"x_ohm\",\"vm_pu\",\"in_service\",\"slack_weight\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "name": "object", @@ -303,7 +367,8 @@ "r_ohm": "float64", "x_ohm": "float64", "vm_pu": "float64", - "in_service": "bool" + "in_service": "bool", + "slack_weight": "float64" } }, "measurement": { @@ -352,13 +417,14 @@ "controller": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"recycle\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"initial_run\",\"recycle\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "object": "object", "in_service": "bool", "order": "float64", "level": "object", + "initial_run": "bool", "recycle": "bool" } }, @@ -382,11 +448,11 @@ "coords": "object" } }, - "version": "2.2.1", + "version": "2.7.1", "converged": true, "name": "", "f_hz": 60, - "sn_mva": 1.0, + "sn_mva": 100, "std_types": { "line": { "122-AL1/20-ST1A 10.0": { @@ -1266,6 +1332,16 @@ "q_mvar": "float64" } }, + "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" + } + }, "res_sgen": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -1350,6 +1426,341 @@ "va_to_degree": "float64" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_bus_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_line_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo3w_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_ext_grid_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_gen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_sgen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_shunt_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "user_pf_options": {}, "OPF_converged": false } diff --git a/pandapower/networks/power_system_test_case_jsons/case5.json b/pandapower/networks/power_system_test_case_jsons/case5.json index 9100a1d21..c64e9528b 100644 --- a/pandapower/networks/power_system_test_case_jsons/case5.json +++ b/pandapower/networks/power_system_test_case_jsons/case5.json @@ -58,6 +58,68 @@ "min_q_mvar": "float64" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "storage": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -80,7 +142,7 @@ "gen": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0,1,2],\"data\":[[0,true,true,null,40.0,1.0,null,null,1.0,false,40.0,0.0,30.0,-30.0],[2,true,true,null,323.490000000000009,1.0,null,null,1.0,false,520.0,0.0,390.0,-390.0],[4,true,true,null,466.509999999999991,1.0,null,null,1.0,false,600.0,0.0,450.0,-450.0]]}", + "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0,1,2],\"data\":[[0,true,true,null,40.0,1.0,null,null,1.0,false,40.0,0.0,30.0,-30.0,0.0],[2,true,true,null,323.490000000000009,1.0,null,null,1.0,false,520.0,0.0,390.0,-390.0,0.0],[4,true,true,null,466.509999999999991,1.0,null,null,1.0,false,600.0,0.0,450.0,-450.0,0.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -96,7 +158,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "switch": { @@ -133,7 +196,7 @@ "ext_grid": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0],\"data\":[[3,true,null,0.0,1.0,200.0,0.0,150.0,-150.0]]}", + "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0],\"data\":[[3,true,null,0.0,1.0,200.0,0.0,150.0,-150.0,1.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -144,7 +207,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "line": { @@ -296,7 +360,7 @@ "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\",\"in_service\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"ps_mw\",\"qs_mvar\",\"qz_mvar\",\"pz_mw\",\"r_ohm\",\"x_ohm\",\"vm_pu\",\"in_service\",\"slack_weight\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "name": "object", @@ -308,7 +372,8 @@ "r_ohm": "float64", "x_ohm": "float64", "vm_pu": "float64", - "in_service": "bool" + "in_service": "bool", + "slack_weight": "float64" } }, "measurement": { @@ -357,13 +422,14 @@ "controller": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"recycle\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"initial_run\",\"recycle\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "object": "object", "in_service": "bool", "order": "float64", "level": "object", + "initial_run": "bool", "recycle": "bool" } }, @@ -387,11 +453,11 @@ "coords": "object" } }, - "version": "2.2.1", + "version": "2.7.1", "converged": true, "name": "", "f_hz": 60, - "sn_mva": 1.0, + "sn_mva": 100, "std_types": { "line": { "122-AL1/20-ST1A 10.0": { @@ -1271,6 +1337,16 @@ "q_mvar": "float64" } }, + "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" + } + }, "res_sgen": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -1355,6 +1431,341 @@ "va_to_degree": "float64" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_bus_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_line_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo3w_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_ext_grid_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_gen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_sgen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_shunt_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "user_pf_options": {}, "OPF_converged": false } diff --git a/pandapower/networks/power_system_test_case_jsons/case57.json b/pandapower/networks/power_system_test_case_jsons/case57.json index 735d64dad..c23803be0 100644 --- a/pandapower/networks/power_system_test_case_jsons/case57.json +++ b/pandapower/networks/power_system_test_case_jsons/case57.json @@ -53,6 +53,68 @@ "current_source": "bool" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "storage": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -75,7 +137,7 @@ "gen": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0,1,2,3,4,5],\"data\":[[1,true,true,null,0.0,1.0,null,null,1.01,false,100.0,0.0,50.0,-17.0],[2,true,true,null,40.0,1.0,null,null,0.985,false,140.0,0.0,60.0,-10.0],[5,true,true,null,0.0,1.0,null,null,0.98,false,100.0,0.0,25.0,-8.0],[7,true,true,null,450.0,1.0,null,null,1.005,false,550.0,0.0,200.0,-140.0],[8,true,true,null,0.0,1.0,null,null,0.98,false,100.0,0.0,9.0,-3.0],[11,true,true,null,310.0,1.0,null,null,1.015,false,410.0,0.0,155.0,-150.0]]}", + "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0,1,2,3,4,5],\"data\":[[1,true,true,null,0.0,1.0,null,null,1.01,false,100.0,0.0,50.0,-17.0,0.0],[2,true,true,null,40.0,1.0,null,null,0.985,false,140.0,0.0,60.0,-10.0,0.0],[5,true,true,null,0.0,1.0,null,null,0.98,false,100.0,0.0,25.0,-8.0,0.0],[7,true,true,null,450.0,1.0,null,null,1.005,false,550.0,0.0,200.0,-140.0,0.0],[8,true,true,null,0.0,1.0,null,null,0.98,false,100.0,0.0,9.0,-3.0,0.0],[11,true,true,null,310.0,1.0,null,null,1.015,false,410.0,0.0,155.0,-150.0,0.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -91,7 +153,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "switch": { @@ -128,7 +191,7 @@ "ext_grid": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0],\"data\":[[0,true,null,0.0,1.04,575.879999999999996,0.0,200.0,-140.0]]}", + "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0],\"data\":[[0,true,null,0.0,1.04,575.879999999999996,0.0,200.0,-140.0,1.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -139,7 +202,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "line": { @@ -292,7 +356,7 @@ "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\",\"in_service\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"ps_mw\",\"qs_mvar\",\"qz_mvar\",\"pz_mw\",\"r_ohm\",\"x_ohm\",\"vm_pu\",\"in_service\",\"slack_weight\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "name": "object", @@ -304,7 +368,8 @@ "r_ohm": "float64", "x_ohm": "float64", "vm_pu": "float64", - "in_service": "bool" + "in_service": "bool", + "slack_weight": "float64" } }, "measurement": { @@ -353,13 +418,14 @@ "controller": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"recycle\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"initial_run\",\"recycle\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "object": "object", "in_service": "bool", "order": "float64", "level": "object", + "initial_run": "bool", "recycle": "bool" } }, @@ -383,11 +449,11 @@ "coords": "object" } }, - "version": "2.2.1", + "version": "2.7.1", "converged": true, "name": "", "f_hz": 60, - "sn_mva": 1.0, + "sn_mva": 100, "std_types": { "line": { "NAYY 4x150 SE": { @@ -1267,6 +1333,16 @@ "q_mvar": "float64" } }, + "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" + } + }, "res_sgen": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -1351,6 +1427,341 @@ "va_to_degree": "float64" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_bus_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_line_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo3w_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_ext_grid_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_gen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_sgen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_shunt_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "user_pf_options": {}, "OPF_converged": false } diff --git a/pandapower/networks/power_system_test_case_jsons/case5_demo_gridcal.json b/pandapower/networks/power_system_test_case_jsons/case5_demo_gridcal.json index 7dceb0398..a9c0e4032 100644 --- a/pandapower/networks/power_system_test_case_jsons/case5_demo_gridcal.json +++ b/pandapower/networks/power_system_test_case_jsons/case5_demo_gridcal.json @@ -52,6 +52,68 @@ "current_source": "bool" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "storage": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -74,7 +136,7 @@ "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\",\"in_service\",\"type\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"p_mw\",\"vm_pu\",\"sn_mva\",\"min_q_mvar\",\"max_q_mvar\",\"scaling\",\"slack\",\"in_service\",\"type\",\"slack_weight\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "name": "object", @@ -87,7 +149,8 @@ "scaling": "float64", "slack": "bool", "in_service": "bool", - "type": "object" + "type": "object", + "slack_weight": "float64" } }, "switch": { @@ -124,7 +187,7 @@ "ext_grid": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0],\"data\":[[0,true,null,0.0,1.0,0.0,0.0,1000000000.0,-1000000000.0]]}", + "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0],\"data\":[[0,true,null,0.0,1.0,0.0,0.0,1000000000.0,-1000000000.0,1.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -135,7 +198,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "line": { @@ -286,7 +350,7 @@ "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\",\"in_service\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"ps_mw\",\"qs_mvar\",\"qz_mvar\",\"pz_mw\",\"r_ohm\",\"x_ohm\",\"vm_pu\",\"in_service\",\"slack_weight\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "name": "object", @@ -298,7 +362,8 @@ "r_ohm": "float64", "x_ohm": "float64", "vm_pu": "float64", - "in_service": "bool" + "in_service": "bool", + "slack_weight": "float64" } }, "measurement": { @@ -347,13 +412,14 @@ "controller": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"recycle\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"initial_run\",\"recycle\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "object": "object", "in_service": "bool", "order": "float64", "level": "object", + "initial_run": "bool", "recycle": "bool" } }, @@ -377,11 +443,11 @@ "coords": "object" } }, - "version": "2.2.1", + "version": "2.7.1", "converged": true, "name": "", "f_hz": 50.0, - "sn_mva": 1.0, + "sn_mva": 100, "std_types": { "line": { "149-AL1/24-ST1A 10.0": { @@ -1019,6 +1085,16 @@ "q_mvar": "float64" } }, + "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" + } + }, "res_sgen": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -1103,6 +1179,341 @@ "va_to_degree": "float64" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_bus_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_line_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo3w_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_ext_grid_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_gen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_sgen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_shunt_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "user_pf_options": {}, "OPF_converged": false } diff --git a/pandapower/networks/power_system_test_case_jsons/case6470rte.json b/pandapower/networks/power_system_test_case_jsons/case6470rte.json index 9ecf24e6b..c7d6525c2 100644 --- a/pandapower/networks/power_system_test_case_jsons/case6470rte.json +++ b/pandapower/networks/power_system_test_case_jsons/case6470rte.json @@ -58,6 +58,68 @@ "min_q_mvar": "float64" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "storage": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -80,7 +142,7 @@ "gen": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0,1,10,100,101,102,103,104,105,106,107,108,109,11,110,111,112,113,114,115,116,117,118,119,12,120,121,122,123,124,125,126,127,128,129,13,130,131,132,133,134,135,136,137,138,139,14,140,141,142,143,144,145,146,147,148,149,15,150,151,152,153,154,155,156,157,158,159,16,160,161,162,163,164,165,166,167,168,169,17,170,171,172,173,174,175,176,177,178,179,18,180,181,182,183,184,185,186,187,188,189,19,190,191,192,193,194,195,196,197,198,199,2,20,200,201,202,203,204,205,206,207,208,209,21,210,211,212,213,214,215,216,217,218,219,22,220,221,222,223,224,225,226,227,228,229,23,230,231,232,233,234,235,236,237,238,239,24,240,241,242,243,244,245,246,247,248,249,25,250,251,252,253,254,255,256,257,258,259,26,260,261,262,263,264,265,266,267,268,269,27,270,271,272,273,274,275,276,277,278,279,28,280,281,282,283,284,285,286,287,288,289,29,290,291,292,293,294,295,296,297,298,299,3,30,300,301,302,303,304,305,306,307,308,309,31,310,311,312,313,314,315,316,317,318,319,32,320,321,322,323,324,325,326,327,328,329,33,330,331,332,333,334,335,336,337,338,339,34,340,341,342,343,344,345,346,347,348,349,35,350,351,352,353,354,355,356,357,358,359,36,360,361,362,363,364,365,366,367,368,369,37,370,371,372,373,374,375,376,377,378,379,38,380,381,382,383,384,385,386,387,388,389,39,390,391,392,393,394,395,396,397,398,399,4,40,400,401,402,403,404,405,406,407,408,409,41,410,411,412,413,414,415,416,417,418,419,42,420,421,422,423,424,425,426,427,428,429,43,430,431,432,433,434,435,436,437,438,439,44,440,441,442,443,444,445,446,447,448,449,45,450,451,46,47,48,49,5,50,51,52,53,54,55,56,57,58,59,6,60,61,62,63,64,65,66,67,68,69,7,70,71,72,73,74,75,76,77,78,79,8,80,81,82,83,84,85,86,87,88,89,9,90,91,92,93,94,95,96,97,98,99],\"data\":[[46,true,true,null,9.470000000000001,1.0,null,null,1.012,false,16.0,0.0,9.5,-9.5],[56,true,true,null,0.0,1.0,null,null,1.051,false,13.0,0.0,1.0,0.9],[306,true,true,null,1.12,1.0,null,null,1.038,false,15.0,0.0,9.0,-9.0],[2097,true,true,null,39.219999999999999,1.0,null,null,1.058,false,54.0,1.0,22.0,-10.0],[2101,true,true,null,7.2,1.0,null,null,1.014,false,16.0,0.0,5.0,-5.0],[2159,true,true,null,14.300000000000001,1.0,null,null,1.063,false,29.0,0.0,13.0,-6.0],[2191,true,true,null,7.62,1.0,null,null,0.895,false,15.0,0.0,9.0,-9.0],[2193,true,true,null,15.9,1.0,null,null,1.065,false,20.0,0.0,2.0,1.9],[2245,true,true,null,4.05,1.0,null,null,1.069,false,24.0,2.5,8.0,-8.0],[2293,true,true,null,1.35,1.0,null,null,0.997,false,56.0,0.0,17.0,-20.0],[2339,true,true,null,14.1,1.0,null,null,0.997,false,28.0,0.0,12.0,-9.0],[2341,true,true,null,2.15,1.0,null,null,1.038,false,7.0,0.0,2.0,-2.0],[2363,true,true,null,21.149999999999999,1.0,null,null,1.091,false,24.0,0.0,20.0,-20.0],[320,true,true,null,4.8,1.0,null,null,1.042,false,10.800000000000001,0.0,0.1,-0.1],[2364,true,true,null,21.140000000000001,1.0,null,null,1.096,false,24.0,0.0,20.0,-20.0],[2365,true,true,null,13.31,1.0,null,null,1.071,false,24.0,0.0,20.0,-20.0],[2366,true,true,null,21.140000000000001,1.0,null,null,1.091,false,24.0,0.0,20.0,-20.0],[2367,true,true,null,11.74,1.0,null,null,1.1,false,20.0,0.0,20.0,-20.0],[2412,true,true,null,8.779999999999999,1.0,null,null,1.058,false,36.0,0.0,14.0,-14.0],[2462,true,true,null,0.02,1.0,null,null,1.012,false,4.5,0.0,3.0,-3.0],[2524,true,true,null,40.200000000000003,1.0,null,null,1.153,false,50.0,38.0,19.0,-8.0],[2533,true,true,null,4.5,1.0,null,null,1.013,false,9.6,0.0,0.97,-0.96],[2559,true,true,null,6.66,1.0,null,null,1.016,false,16.0,0.0,12.0,-9.0],[2628,true,true,null,7.99,1.0,null,null,1.006,false,28.0,0.0,16.0,-7.0],[334,true,true,null,2.11,1.0,null,null,1.037,false,25.0,0.0,13.0,-9.0],[2645,true,true,null,7.24,1.0,null,null,1.011,false,18.0,0.0,10.0,-10.0],[2646,true,true,null,11.130000000000001,1.0,null,null,1.029,false,22.0,0.0,14.0,-14.0],[2653,true,true,null,4.11,1.0,null,null,1.066,false,28.0,0.0,4.0,3.9],[2660,true,true,null,4.5,1.0,null,null,1.018,false,9.800000000000001,0.0,6.0,-6.0],[2661,true,true,null,30.199999999999999,1.0,null,null,1.009,false,35.0,0.0,12.0,-15.0],[2665,true,true,null,3.12,1.0,null,null,1.078,false,7.0,0.0,1.0,0.9],[2663,true,true,null,0.74,1.0,null,null,1.061,false,12.0,0.0,4.0,-7.0],[2666,true,true,null,2.08,1.0,null,null,0.993,false,12.0,0.0,4.59,-7.0],[2696,true,true,null,6.05,1.0,null,null,1.018,false,15.0,0.0,6.0,-7.0],[2734,true,true,null,4.97,1.0,null,null,1.06,false,17.0,0.0,10.0,-10.0],[337,true,true,null,9.130000000000001,1.0,null,null,1.013,false,13.0,0.0,5.0,-6.0],[2833,true,true,null,8.23,1.0,null,null,1.035,false,12.0,0.0,5.0,-2.0],[2899,true,true,null,7.06,1.0,null,null,1.066,false,26.5,6.0,9.0,-9.0],[2994,true,true,null,12.039999999999999,1.0,null,null,1.033,false,34.0,0.0,17.0,-17.0],[3022,true,true,null,1.06,1.0,null,null,1.016,false,5.0,0.0,3.0,-3.0],[3115,true,true,null,35.299999999999997,1.0,null,null,1.056,false,38.0,0.0,20.0,-19.0],[3116,true,true,null,30.699999999999999,1.0,null,null,1.092,false,38.0,0.0,20.0,-19.0],[3117,true,true,null,31.739999999999998,1.0,null,null,1.093,false,38.0,0.0,20.0,-20.0],[3122,true,true,null,0.1,1.0,null,null,1.032,false,16.800000000000001,0.0,10.0,-10.0],[3135,true,true,null,0.0,1.0,null,null,1.072,false,11.0,0.0,1.0,0.9],[3156,true,true,null,40.189999999999998,1.0,null,null,1.059,false,48.0,5.0,22.0,-10.0],[365,true,true,null,127.219999999999999,1.0,null,null,1.078,false,130.0,0.0,59.0,-26.0],[3158,true,true,null,5.11,1.0,null,null,1.074,false,18.0,0.0,12.0,-12.0],[3209,true,true,null,1.12,1.0,null,null,1.073,false,20.0,0.0,2.0,0.0],[3265,true,true,null,28.59,1.0,null,null,1.051,false,42.0,0.0,25.0,-20.0],[3279,true,true,null,33.310000000000002,1.0,null,null,1.116,false,36.100000000000001,0.0,20.0,-15.0],[3280,true,true,null,33.32,1.0,null,null,1.048,false,36.100000000000001,0.0,20.0,-15.0],[3281,true,true,null,33.32,1.0,null,null,1.025,false,36.100000000000001,0.0,20.0,-15.0],[3307,true,true,null,0.0,1.0,null,null,1.0,false,17.0,0.0,1.0,0.9],[3404,true,true,null,39.939999999999998,1.0,null,null,1.02,false,43.0,0.0,22.0,-10.0],[3407,true,true,null,3.25,1.0,null,null,1.034,false,24.0,0.0,7.0,-7.26],[3417,true,true,null,4.32,1.0,null,null,1.006,false,7.5,0.0,1.0,-1.0],[464,true,true,null,7.19,1.0,null,null,1.171,false,27.0,1.0,6.0,-3.0],[3423,true,true,null,12.869999999999999,1.0,null,null,0.997,false,23.100000000000001,0.0,14.0,-14.0],[3467,true,true,null,8.76,1.0,null,null,1.014,false,13.199999999999999,0.0,8.0,-8.0],[3490,true,true,null,35.780000000000001,1.0,null,null,1.08,false,53.0,0.0,17.0,-10.0],[3544,true,true,null,2.33,1.0,null,null,1.03,false,12.800000000000001,0.0,7.6,-7.6],[3587,true,true,null,16.920000000000002,1.0,null,null,1.019,false,20.0,0.8,6.0,-10.0],[3586,true,true,null,17.129999999999999,1.0,null,null,1.028,false,20.0,0.8,4.2,-4.2],[3599,true,true,null,33.049999999999997,1.0,null,null,1.08,false,39.0,0.0,19.0,-19.0],[3605,true,true,null,12.67,1.0,null,null,1.025,false,40.0,-40.0,30.0,-10.0],[3652,true,true,null,0.0,1.0,null,null,1.03,false,7.0,0.0,1.0,0.9],[3686,true,true,null,0.19,1.0,null,null,1.016,false,3.0,0.0,1.8,-1.8],[466,true,true,null,42.780000000000001,1.0,null,null,1.042,false,48.0,1.0,19.0,-10.0],[3692,true,true,null,1.95,1.0,null,null,1.015,false,9.5,0.0,6.0,-6.0],[3715,true,true,null,12.460000000000001,1.0,null,null,1.062,false,18.0,0.0,8.0,-8.0],[3717,true,true,null,41.119999999999997,1.0,null,null,1.031,false,44.0,0.0,17.0,-17.0],[3748,true,true,null,8.35,1.0,null,null,1.02,false,11.199999999999999,5.6,4.6,-4.1],[3761,true,true,null,5.87,1.0,null,null,0.998,false,12.0,0.0,1.2,-1.2],[3816,true,true,null,35.109999999999999,1.0,null,null,1.07,false,37.799999999999997,0.0,12.0,-8.0],[3817,true,true,null,31.870000000000001,1.0,null,null,1.056,false,37.799999999999997,0.0,12.0,-8.0],[3818,true,true,null,31.170000000000002,1.0,null,null,1.087,false,37.799999999999997,0.0,12.0,-8.0],[3842,true,true,null,3.15,1.0,null,null,1.016,false,12.0,0.0,7.2,-7.2],[3853,true,true,null,5.16,1.0,null,null,1.032,false,22.0,0.0,6.0,-4.0],[528,true,true,null,1.95,1.0,null,null,1.017,false,8.0,0.0,4.8,-4.8],[3868,true,true,null,6.15,1.0,null,null,1.04,false,9.0,0.0,3.0,-3.0],[3969,true,true,null,36.789999999999999,1.0,null,null,1.016,false,40.0,1.0,6.0,-6.0],[3968,true,true,null,37.159999999999997,1.0,null,null,1.035,false,40.0,1.0,5.0,-15.0],[3987,true,true,null,1.16,1.0,null,null,0.998,false,8.0,0.0,3.0,-3.0],[4025,true,true,null,3.94,1.0,null,null,1.015,false,10.6,0.0,6.5,-6.5],[4055,true,true,null,21.210000000000001,1.0,null,null,1.027,false,27.0,0.0,6.0,-11.0],[4130,true,true,null,1.99,1.0,null,null,1.015,false,12.300000000000001,0.0,5.0,-5.0],[4170,true,true,null,19.09,1.0,null,null,1.038,false,24.0,0.0,10.0,-10.0],[4232,true,true,null,9.99,1.0,null,null,1.02,false,13.0,0.0,13.0,0.0],[4275,true,true,null,6.77,1.0,null,null,1.033,false,12.0,0.0,5.0,-5.0],[543,true,true,null,1.22,1.0,null,null,1.0,false,9.0,0.0,2.0,1.9],[4300,true,true,null,19.079999999999998,1.0,null,null,1.014,false,46.0,0.0,20.0,-34.0],[4316,true,true,null,41.130000000000003,1.0,null,null,1.043,false,44.0,0.0,25.0,-25.0],[4320,true,true,null,15.17,1.0,null,null,1.063,false,18.0,0.0,14.0,-14.0],[4327,true,true,null,2.04,1.0,null,null,1.047,false,11.0,0.0,0.0,0.0],[4328,true,true,null,22.199999999999999,1.0,null,null,0.996,false,39.0,0.0,24.0,-24.0],[4346,true,true,null,15.0,1.0,null,null,1.012,false,26.0,0.0,2.0,1.9],[4430,true,true,null,0.23,1.0,null,null,0.989,false,6.0,0.0,2.0,-2.0],[4475,true,true,null,15.16,1.0,null,null,1.014,false,23.699999999999999,0.0,3.46,-2.0],[4476,true,true,null,16.780000000000001,1.0,null,null,1.052,false,23.699999999999999,0.0,7.0,-3.0],[4477,true,true,null,18.780000000000001,1.0,null,null,1.052,false,23.699999999999999,0.0,7.0,-3.0],[581,true,true,null,4.38,1.0,null,null,1.029,false,16.0,0.0,7.0,-4.0],[4478,true,true,null,18.760000000000002,1.0,null,null,1.049,false,23.699999999999999,0.0,7.0,-3.0],[4479,true,true,null,18.789999999999999,1.0,null,null,1.052,false,23.699999999999999,0.0,7.0,-3.0],[4508,true,true,null,12.109999999999999,1.0,null,null,1.037,false,21.0,0.0,6.7,-4.5],[4512,true,true,null,12.369999999999999,1.0,null,null,1.061,false,87.0,0.0,26.100000000000001,-24.359999999999999],[4563,true,true,null,14.199999999999999,1.0,null,null,1.042,false,22.0,0.0,7.1,-7.1],[4570,true,true,null,42.0,1.0,null,null,1.053,false,45.0,44.0,27.0,-9.0],[4584,true,true,null,4.66,1.0,null,null,1.033,false,12.699999999999999,0.0,1.0,0.9],[4670,true,true,null,6.63,1.0,null,null,1.008,false,32.0,-11.0,1.18,-0.1],[4719,true,true,null,2.15,1.0,null,null,1.068,false,10.0,0.0,1.0,0.9],[4754,true,true,null,1.7,1.0,null,null,1.024,false,9.0,0.0,0.1,-0.1],[101,true,true,null,19.07,1.0,null,null,1.026,false,46.0,0.0,21.0,-9.0],[584,true,true,null,1.04,1.0,null,null,1.01,false,9.5,0.0,5.7,-5.7],[4755,true,true,null,6.09,1.0,null,null,1.013,false,10.0,0.0,5.0,-5.0],[4756,true,true,null,6.09,1.0,null,null,1.013,false,10.0,0.0,5.0,-5.0],[4765,true,true,null,13.130000000000001,1.0,null,null,1.038,false,30.0,0.0,10.0,-10.0],[4792,true,true,null,0.95,1.0,null,null,1.028,false,14.0,0.0,8.5,-8.5],[4803,true,true,null,16.289999999999999,1.0,null,null,1.001,false,27.0,0.0,18.0,-18.0],[4816,true,true,null,3.34,1.0,null,null,1.016,false,6.4,0.0,0.64,-0.64],[4817,true,true,null,10.119999999999999,1.0,null,null,1.013,false,15.0,1.0,3.6,-4.5],[4818,true,true,null,9.119999999999999,1.0,null,null,1.012,false,15.0,0.0,3.0,-4.0],[4824,true,true,null,129.5,1.0,null,null,1.085,false,150.0,0.0,70.0,-70.0],[4823,true,true,null,128.77000000000001,1.0,null,null,1.08,false,150.0,0.0,70.0,-70.0],[608,true,true,null,41.380000000000003,1.0,null,null,1.02,false,45.0,0.0,45.0,-45.0],[4850,true,true,null,1.62,1.0,null,null,0.904,false,6.4,0.0,4.0,-4.0],[4870,true,true,null,0.41,1.0,null,null,1.046,false,22.0,0.0,7.0,-12.0],[4877,true,true,null,9.58,1.0,null,null,1.027,false,12.800000000000001,0.0,7.7,-7.7],[4919,true,true,null,25.07,1.0,null,null,1.011,false,32.0,0.0,12.0,-8.0],[4922,true,true,null,27.09,1.0,null,null,1.017,false,33.0,0.0,12.0,-12.0],[4945,true,true,null,6.15,1.0,null,null,0.9,false,9.6,0.0,6.0,-6.0],[4969,true,true,null,14.130000000000001,1.0,null,null,1.031,false,30.0,0.0,18.0,-18.0],[4982,true,true,null,3.04,1.0,null,null,1.008,false,32.0,0.0,16.0,-18.0],[4983,true,true,null,26.57,1.0,null,null,1.093,false,35.100000000000001,0.0,12.0,-21.0],[4984,true,true,null,27.710000000000001,1.0,null,null,1.107,false,35.100000000000001,0.0,12.0,-21.0],[622,true,true,null,-2.11,1.0,null,null,1.049,false,8.300000000000001,-8.300000000000001,8.300000000000001,-8.300000000000001],[4985,true,true,null,27.73,1.0,null,null,1.107,false,35.100000000000001,0.0,12.0,-21.0],[5023,true,true,null,10.609999999999999,1.0,null,null,1.062,false,36.0,0.0,4.0,3.9],[5029,true,true,null,3.65,1.0,null,null,0.991,false,50.600000000000001,0.0,15.18,-14.17],[5962,true,true,null,980.409999999999968,1.0,null,null,1.098,false,1100.0,300.0,470.0,-330.0],[5972,true,true,null,132.5,1.0,null,null,1.104,false,500.0,50.0,300.0,-380.0],[5975,true,true,null,56.229999999999997,1.0,null,null,1.075,false,59.159999999999997,0.0,17.75,-27.390000000000001],[6003,true,true,null,160.170000000000016,1.0,null,null,0.993,false,163.069999999999993,0.0,68.340000000000003,-48.920000000000002],[6006,true,true,null,405.430000000000007,1.0,null,null,1.072,false,408.420000000000016,0.0,122.530000000000001,-130.52000000000001],[6014,true,true,null,1.89,1.0,null,null,1.109,false,418.0,185.0,304.0,-171.0],[6021,true,true,null,154.890000000000015,1.0,null,null,1.079,false,157.610000000000014,0.0,47.280000000000001,-90.760000000000005],[634,true,true,null,4.02,1.0,null,null,1.011,false,15.0,0.0,7.0,0.0],[6023,true,true,null,272.019999999999982,1.0,null,null,1.105,false,274.699999999999989,0.0,82.409999999999997,-82.409999999999997],[6026,true,true,null,515.850000000000023,1.0,null,null,1.013,false,518.279999999999973,0.0,155.47999999999999,-155.47999999999999],[6029,true,true,null,1053.259999999999991,1.0,null,null,1.054,false,1056.0,250.0,570.0,-100.0],[6040,true,true,null,98.0,1.0,null,null,1.04,false,600.0,100.0,400.0,-115.0],[6055,true,true,null,402.400000000000034,1.0,null,null,1.048,false,405.0,0.0,121.5,-121.5],[6058,true,true,null,1089.920000000000073,1.0,null,null,1.095,false,1092.769999999999982,0.0,327.829999999999984,-327.829999999999984],[6066,true,true,null,1045.279999999999973,1.0,null,null,1.065,false,1050.0,300.0,355.0,-215.0],[6090,true,true,null,175.47999999999999,1.0,null,null,1.08,false,178.0,0.0,64.0,-53.399999999999999],[6093,true,true,null,52.130000000000003,1.0,null,null,1.072,false,55.0,0.0,48.0,-16.5],[6092,true,true,null,6.18,1.0,null,null,1.066,false,9.0,0.0,2.7,-2.7],[639,true,true,null,94.820000000000007,1.0,null,null,1.083,false,239.0,0.0,80.0,-102.799999999999997],[6094,true,true,null,138.090000000000003,1.0,null,null,1.099,false,140.900000000000006,0.0,42.270000000000003,-42.270000000000003],[6103,true,true,null,1221.920000000000073,1.0,null,null,1.098,false,1224.730000000000018,0.0,367.420000000000016,-367.420000000000016],[6104,true,true,null,207.439999999999998,1.0,null,null,1.059,false,450.0,0.0,200.0,-200.0],[6113,true,true,null,63.380000000000003,1.0,null,null,1.054,false,66.0,0.0,19.800000000000001,-19.800000000000001],[6112,true,true,null,145.379999999999995,1.0,null,null,1.052,false,148.0,0.0,44.399999999999999,-44.399999999999999],[6115,true,true,null,398.04000000000002,1.0,null,null,1.08,false,401.0,0.0,120.299999999999997,-120.299999999999997],[6126,true,true,null,735.389999999999986,1.0,null,null,1.097,false,738.0,0.0,221.400000000000006,-221.400000000000006],[6130,true,true,null,1022.240000000000009,1.0,null,null,1.103,false,1024.809999999999945,0.0,300.0,-300.0],[6133,true,true,null,183.02000000000001,1.0,null,null,1.075,false,186.0,0.0,55.799999999999997,-55.799999999999997],[6139,true,true,null,459.460000000000036,1.0,null,null,1.083,false,462.0,0.0,138.599999999999994,-138.599999999999994],[682,true,true,null,4.2,1.0,null,null,0.89,false,9.0,0.0,6.0,-5.0],[6162,true,true,null,359.050000000000011,1.0,null,null,1.092,false,362.110000000000014,0.0,108.629999999999996,-108.629999999999996],[6165,true,true,null,44.460000000000001,1.0,null,null,1.08,false,47.399999999999999,0.0,14.220000000000001,-14.220000000000001],[6172,true,true,null,2680.289999999999964,1.0,null,null,1.086,false,2682.769999999999982,0.0,804.830000000000041,-804.830000000000041],[6174,true,true,null,2.61,1.0,null,null,1.072,false,5.62,0.0,17.390000000000001,-1.68],[6188,true,true,null,200.620000000000004,1.0,null,null,1.109,false,203.590000000000003,0.0,61.079999999999998,-61.079999999999998],[6195,true,true,null,71.400000000000006,1.0,null,null,1.062,false,200.0,0.0,100.0,-100.0],[6218,true,true,null,246.870000000000004,1.0,null,null,1.1,false,250.0,0.0,120.0,-120.0],[6219,true,true,null,639.399999999999977,1.0,null,null,1.041,false,642.0,0.0,400.0,-115.0],[6222,true,true,null,1039.3900000000001,1.0,null,null,1.097,false,1100.0,300.0,470.0,-330.0],[6226,true,true,null,144.939999999999998,1.0,null,null,1.077,false,147.860000000000014,0.0,44.359999999999999,-44.359999999999999],[697,true,true,null,31.609999999999999,1.0,null,null,1.02,false,37.0,0.0,15.0,-17.0],[6231,true,true,null,80.530000000000001,1.0,null,null,1.083,false,83.489999999999995,0.0,55.07,-25.050000000000001],[6239,true,true,null,363.70999999999998,1.0,null,null,1.089,false,366.759999999999991,0.0,110.030000000000001,-110.030000000000001],[6247,true,true,null,565.300000000000068,1.0,null,null,1.074,false,970.0,280.0,515.0,-543.0],[6255,true,true,null,13.300000000000001,1.0,null,null,0.993,false,683.300000000000068,213.300000000000011,269.670000000000016,-164.439999999999998],[6257,true,true,null,3.72,1.0,null,null,1.072,false,27.0,0.0,22.359999999999999,-13.33],[6258,true,true,null,68.609999999999999,1.0,null,null,0.995,false,86.0,0.0,44.039999999999999,-3.45],[6260,true,true,null,22.469999999999999,1.0,null,null,1.074,false,32.0,0.0,10.210000000000001,-6.8],[6261,true,true,null,22.469999999999999,1.0,null,null,1.074,false,32.0,0.0,10.210000000000001,-6.8],[6262,true,true,null,22.940000000000001,1.0,null,null,1.058,false,32.0,0.0,9.890000000000001,-6.8],[6263,true,true,null,21.91,1.0,null,null,1.058,false,32.0,0.0,9.890000000000001,-6.8],[696,true,true,null,32.520000000000003,1.0,null,null,1.02,false,37.0,0.0,15.0,-15.0],[6264,true,true,null,77.629999999999996,1.0,null,null,0.983,false,92.0,0.0,59.82,-30.18],[6265,true,true,null,45.439999999999998,1.0,null,null,0.979,false,92.0,0.0,59.82,-30.18],[6266,true,true,null,70.370000000000005,1.0,null,null,1.037,false,92.0,0.0,62.700000000000003,-27.300000000000001],[6267,true,true,null,61.329999999999998,1.0,null,null,1.035,false,92.0,0.0,62.700000000000003,-27.300000000000001],[6268,true,true,null,70.710000000000008,1.0,null,null,0.951,false,92.0,0.0,62.700000000000003,-37.700000000000003],[6269,true,true,null,76.680000000000007,1.0,null,null,0.954,false,92.0,0.0,62.700000000000003,-35.270000000000003],[6270,true,true,null,932.029999999999973,1.0,null,null,1.044,false,934.920000000000073,244.920000000000016,341.759999999999991,-418.5],[6271,true,true,null,974.0,1.0,null,null,1.044,false,976.889999999999986,286.889999999999986,351.939999999999998,-407.560000000000002],[6272,true,true,null,972.039999999999964,1.0,null,null,1.043,false,974.920000000000073,254.920000000000016,344.050000000000011,-408.310000000000002],[6273,true,true,null,934.029999999999973,1.0,null,null,1.042,false,936.920000000000073,246.920000000000016,342.100000000000023,-418.079999999999984],[695,true,true,null,31.510000000000002,1.0,null,null,1.023,false,37.0,0.0,15.0,-17.0],[6274,true,true,null,234.580000000000012,1.0,null,null,1.004,false,252.0,156.0,164.819999999999993,-101.260000000000005],[6275,true,true,null,232.539999999999992,1.0,null,null,1.007,false,250.0,154.0,164.819999999999993,-100.909999999999997],[6276,true,true,null,222.990000000000009,1.0,null,null,1.032,false,250.0,154.0,101.230000000000004,-56.189999999999998],[6277,true,true,null,10.0,1.0,null,null,1.032,false,305.0,122.0,245.170000000000016,-160.069999999999993],[6279,true,true,null,55.200000000000003,1.0,null,null,1.015,false,58.0,0.0,19.649999999999999,-20.550000000000001],[6280,true,true,null,55.200000000000003,1.0,null,null,1.017,false,58.0,0.0,12.289999999999999,-12.49],[6281,true,true,null,55.200000000000003,1.0,null,null,1.015,false,58.0,0.0,19.649999999999999,-20.550000000000001],[6282,true,true,null,55.200000000000003,1.0,null,null,1.017,false,58.0,0.0,12.289999999999999,-12.49],[6283,true,true,null,55.200000000000003,1.0,null,null,1.017,false,58.0,0.0,12.289999999999999,-12.49],[6284,true,true,null,135.289999999999992,1.0,null,null,0.992,false,263.0,133.0,173.050000000000011,-81.280000000000001],[703,true,true,null,1.17,1.0,null,null,0.896,false,4.0,0.0,2.0,-2.0],[6285,true,true,null,20.129999999999999,1.0,null,null,0.962,false,32.0,0.0,22.370000000000001,-13.630000000000001],[6286,true,true,null,16.16,1.0,null,null,0.995,false,32.0,0.0,20.370000000000001,-15.699999999999999],[6287,true,true,null,19.170000000000002,1.0,null,null,0.982,false,32.0,0.0,22.210000000000001,-14.57],[6288,true,true,null,933.120000000000005,1.0,null,null,0.99,false,935.970000000000027,265.970000000000027,552.200000000000045,-226.689999999999998],[6289,true,true,null,926.259999999999991,1.0,null,null,0.991,false,937.769999999999982,267.769999999999982,555.680000000000064,-223.620000000000004],[6290,true,true,null,921.110000000000014,1.0,null,null,0.992,false,923.960000000000036,273.95999999999998,520.67999999999995,-222.390000000000015],[6291,true,true,null,884.240000000000009,1.0,null,null,0.991,false,917.759999999999991,267.759999999999991,521.399999999999977,-222.77000000000001],[6292,true,true,null,1231.539999999999964,1.0,null,null,0.992,false,1308.0,318.0,673.870000000000004,-237.700000000000017],[6293,true,true,null,1231.539999999999964,1.0,null,null,0.992,false,1308.0,318.0,673.870000000000004,-237.700000000000017],[6294,true,true,null,29.640000000000001,1.0,null,null,1.038,false,35.0,0.0,5.05,-1.45],[121,true,true,null,7.97,1.0,null,null,1.026,false,12.0,0.0,5.0,-2.0],[731,true,true,null,27.309999999999999,1.0,null,null,0.977,false,39.0,0.0,18.0,-18.0],[6295,true,true,null,30.620000000000001,1.0,null,null,1.038,false,35.0,0.0,5.05,-1.45],[6296,true,true,null,30.620000000000001,1.0,null,null,1.038,false,35.0,0.0,5.05,-1.45],[6297,true,true,null,29.879999999999999,1.0,null,null,1.037,false,35.0,0.0,5.05,-1.45],[6298,true,true,null,29.879999999999999,1.0,null,null,1.037,false,35.0,0.0,5.05,-1.45],[6299,true,true,null,29.879999999999999,1.0,null,null,1.037,false,35.0,0.0,5.05,-1.45],[6300,true,true,null,4.99,1.0,null,null,1.018,false,20.0,0.0,10.77,-7.31],[6301,true,true,null,4.99,1.0,null,null,1.018,false,20.0,0.0,10.77,-7.31],[6302,true,true,null,1278.940000000000055,1.0,null,null,1.0,false,1330.0,337.0,703.470000000000027,-249.560000000000002],[6303,true,true,null,1229.970000000000027,1.0,null,null,1.006,false,1360.0,367.0,712.050000000000068,-240.980000000000018],[6304,true,true,null,1252.970000000000027,1.0,null,null,1.005,false,1360.0,367.0,712.050000000000068,-240.980000000000018],[735,true,true,null,0.46,1.0,null,null,1.032,false,5.0,0.0,0.1,-0.1],[6305,true,true,null,68.879999999999996,1.0,null,null,1.096,false,95.0,0.0,53.630000000000002,-33.270000000000003],[6306,true,true,null,1.4,1.0,null,null,1.026,false,1.5,1.4,285.20999999999998,-103.180000000000007],[6307,true,true,null,935.769999999999982,1.0,null,null,1.004,false,942.379999999999995,232.379999999999995,503.569999999999993,-157.599999999999994],[6308,true,true,null,948.470000000000027,1.0,null,null,1.003,false,951.399999999999977,241.400000000000006,536.07000000000005,-150.689999999999998],[6309,true,true,null,945.470000000000027,1.0,null,null,1.004,false,948.399999999999977,238.400000000000006,554.990000000000009,-151.509999999999991],[6310,true,true,null,1500.329999999999927,1.0,null,null,1.02,false,1503.0,403.0,657.680000000000064,-222.980000000000018],[6311,true,true,null,1500.329999999999927,1.0,null,null,1.022,false,1503.0,403.0,657.680000000000064,-222.980000000000018],[6312,true,true,null,1495.009999999999991,1.0,null,null,1.017,false,1498.0,398.0,390.29000000000002,-446.449999999999989],[6313,true,true,null,1451.559999999999945,1.0,null,null,1.015,false,1498.0,398.0,368.810000000000002,-446.449999999999989],[6314,true,true,null,66.900000000000006,1.0,null,null,0.992,false,125.0,8.5,93.600000000000008,-50.899999999999999],[742,true,true,null,3.56,1.0,null,null,0.983,false,6.7,0.0,3.72,-3.7],[6315,true,true,null,68.900000000000006,1.0,null,null,0.994,false,125.0,8.5,93.600000000000008,-50.899999999999999],[6316,true,true,null,121.689999999999998,1.0,null,null,1.019,false,148.200000000000017,4.2,72.700000000000003,-2.56],[6318,true,true,null,557.050000000000068,1.0,null,null,1.001,false,610.0,310.0,359.660000000000025,-170.849999999999994],[6319,true,true,null,557.009999999999991,1.0,null,null,1.0,false,610.0,310.0,323.139999999999986,-212.840000000000003],[6321,true,true,null,40.979999999999997,1.0,null,null,0.992,false,50.0,0.0,17.809999999999999,-10.970000000000001],[6322,true,true,null,39.990000000000002,1.0,null,null,0.992,false,50.0,0.0,17.809999999999999,-10.970000000000001],[6323,true,true,null,41.979999999999997,1.0,null,null,0.992,false,50.0,0.0,17.809999999999999,-10.970000000000001],[6324,true,true,null,41.979999999999997,1.0,null,null,0.992,false,50.0,0.0,17.809999999999999,-10.970000000000001],[6325,true,true,null,40.979999999999997,1.0,null,null,0.992,false,50.0,0.0,17.809999999999999,-10.970000000000001],[6326,true,true,null,38.990000000000002,1.0,null,null,0.992,false,50.0,0.0,17.809999999999999,-10.970000000000001],[743,true,true,null,3.25,1.0,null,null,0.975,false,26.600000000000001,0.0,15.0,-19.760000000000002],[6327,true,true,null,949.759999999999991,1.0,null,null,1.004,false,1000.0,280.0,521.600000000000023,-128.949999999999989],[6328,true,true,null,960.769999999999982,1.0,null,null,1.006,false,1000.0,280.0,521.600000000000023,-128.949999999999989],[6329,true,true,null,960.769999999999982,1.0,null,null,1.008,false,1000.0,280.0,566.430000000000064,-129.840000000000003],[6330,true,true,null,927.159999999999968,1.0,null,null,1.007,false,930.0,280.0,565.460000000000036,-149.319999999999993],[6331,true,true,null,24.690000000000001,1.0,null,null,1.004,false,57.0,0.0,21.890000000000001,-12.76],[6332,true,true,null,25.710000000000001,1.0,null,null,1.004,false,57.0,0.0,21.890000000000001,-12.76],[6335,true,true,null,8.800000000000001,1.0,null,null,1.021,false,433.800000000000011,248.800000000000011,274.220000000000027,-164.5],[6336,true,true,null,924.759999999999991,1.0,null,null,0.999,false,927.690000000000055,237.689999999999998,526.299999999999954,-151.259999999999991],[6337,true,true,null,924.759999999999991,1.0,null,null,0.998,false,927.690000000000055,237.689999999999998,526.299999999999954,-151.259999999999991],[6338,true,true,null,931.759999999999991,1.0,null,null,0.997,false,934.690000000000055,244.689999999999998,527.100000000000023,-149.349999999999994],[744,true,true,null,4.6,1.0,null,null,1.011,false,7.0,1.0,2.0,-2.0],[6339,true,true,null,946.769999999999982,1.0,null,null,0.997,false,949.700000000000046,259.689999999999998,528.950000000000046,-145.200000000000017],[6341,true,true,null,1244.450000000000046,1.0,null,null,1.042,false,1380.0,340.0,407.480000000000018,-463.970000000000027],[6342,true,true,null,1189.460000000000036,1.0,null,null,1.044,false,1380.0,340.0,407.480000000000018,-463.970000000000027],[6343,true,true,null,22.489999999999998,1.0,null,null,1.014,false,31.5,0.0,22.469999999999999,-13.529999999999999],[6344,true,true,null,52.789999999999999,1.0,null,null,1.03,false,65.0,0.0,37.340000000000003,-22.66],[6345,true,true,null,51.030000000000001,1.0,null,null,1.026,false,70.0,0.0,22.34,-21.699999999999999],[6346,true,true,null,55.840000000000003,1.0,null,null,1.028,false,65.0,0.0,55.380000000000003,-34.619999999999998],[6347,true,true,null,54.759999999999998,1.0,null,null,1.033,false,70.0,0.0,39.630000000000002,-20.370000000000001],[6348,true,true,null,1301.610000000000127,1.0,null,null,1.028,false,1308.0,288.0,566.82000000000005,-494.400000000000034],[6349,true,true,null,1233.610000000000127,1.0,null,null,1.03,false,1308.0,288.0,566.82000000000005,-494.400000000000034],[758,true,true,null,16.109999999999999,1.0,null,null,1.037,false,37.5,0.0,10.0,-6.0],[6350,true,true,null,7.26,1.0,null,null,0.978,false,458.259999999999991,89.260000000000005,286.78000000000003,-117.109999999999999],[6351,true,true,null,27.309999999999999,1.0,null,null,1.007,false,36.0,0.0,10.34,-12.56],[6352,true,true,null,921.180000000000064,1.0,null,null,1.011,false,947.0,237.0,525.980000000000018,-146.099999999999994],[6353,true,true,null,942.080000000000041,1.0,null,null,1.009,false,947.0,267.0,527.889999999999986,-146.099999999999994],[6354,true,true,null,944.120000000000005,1.0,null,null,1.009,false,947.0,237.0,525.980000000000018,-146.099999999999994],[6355,true,true,null,937.210000000000036,1.0,null,null,1.007,false,947.0,237.0,525.980000000000018,-146.099999999999994],[6356,true,true,null,944.120000000000005,1.0,null,null,1.007,false,947.0,237.0,525.980000000000018,-146.099999999999994],[6357,true,true,null,856.090000000000032,1.0,null,null,1.012,false,947.0,237.0,525.980000000000018,-146.099999999999994],[6358,true,true,null,166.280000000000001,1.0,null,null,1.018,false,255.0,140.0,132.47999999999999,-11.56],[6360,true,true,null,220.240000000000009,1.0,null,null,1.043,false,260.0,130.0,166.409999999999997,-98.900000000000006],[759,true,true,null,15.44,1.0,null,null,1.035,false,37.5,0.0,10.0,-6.0],[6363,true,true,null,54.119999999999997,1.0,null,null,0.967,false,57.0,0.0,32.549999999999997,-7.93],[6364,true,true,null,23.030000000000001,1.0,null,null,1.043,false,31.0,-15.0,20.129999999999999,-7.22],[6365,true,true,null,10.84,1.0,null,null,1.061,false,19.5,0.0,7.83,-4.91],[6366,true,true,null,9.869999999999999,1.0,null,null,1.061,false,19.5,0.0,7.83,-4.91],[6367,true,true,null,15.41,1.0,null,null,1.028,false,21.0,0.0,8.32,-5.51],[6368,true,true,null,28.449999999999999,1.0,null,null,1.002,false,35.0,0.0,6.13,-7.24],[6369,true,true,null,29.43,1.0,null,null,1.003,false,35.0,0.0,6.13,-7.24],[6370,true,true,null,29.43,1.0,null,null,1.003,false,35.0,0.0,11.43,-11.73],[6371,true,true,null,29.43,1.0,null,null,1.003,false,35.0,0.0,6.13,-7.24],[6372,true,true,null,241.310000000000002,1.0,null,null,0.962,false,250.0,135.0,115.629999999999996,-113.650000000000006],[799,true,true,null,25.57,1.0,null,null,1.02,false,31.0,0.0,15.0,-17.0],[6373,true,true,null,40.700000000000003,1.0,null,null,0.984,false,47.0,0.0,10.25,-5.51],[6374,true,true,null,59.729999999999997,1.0,null,null,1.01,false,73.0,0.0,51.920000000000002,-31.579999999999998],[6375,true,true,null,68.829999999999998,1.0,null,null,1.018,false,69.0,0.0,55.200000000000003,-28.489999999999998],[6376,true,true,null,69.829999999999998,1.0,null,null,1.017,false,76.0,0.0,51.280000000000001,-28.719999999999999],[6377,true,true,null,61.75,1.0,null,null,1.011,false,77.5,0.0,51.130000000000003,-30.120000000000001],[6378,true,true,null,20.600000000000001,1.0,null,null,1.042,false,31.0,0.0,15.289999999999999,-10.67],[6379,true,true,null,20.600000000000001,1.0,null,null,1.042,false,31.0,0.0,15.289999999999999,-10.67],[6380,true,true,null,19.66,1.0,null,null,1.043,false,31.0,0.0,15.41,-10.67],[6381,true,true,null,28.0,1.0,null,null,1.027,false,50.0,0.0,32.200000000000003,-15.57],[6382,true,true,null,228.02000000000001,1.0,null,null,0.994,false,250.0,137.0,170.469999999999999,-33.560000000000002],[800,true,true,null,26.91,1.0,null,null,1.022,false,31.0,0.0,15.0,-17.0],[6383,true,true,null,210.509999999999991,1.0,null,null,0.994,false,250.0,137.0,170.469999999999999,-33.560000000000002],[6384,true,true,null,9.109999999999999,1.0,null,null,0.914,false,19.0,0.0,10.619999999999999,-7.12],[6385,true,true,null,5.9,1.0,null,null,1.002,false,419.900000000000034,201.900000000000006,215.240000000000009,-161.259999999999991],[6386,true,true,null,42.079999999999998,1.0,null,null,1.067,false,52.0,0.0,39.82,-19.390000000000001],[6387,true,true,null,42.079999999999998,1.0,null,null,1.067,false,52.0,0.0,39.82,-19.390000000000001],[6390,true,true,null,53.259999999999998,1.0,null,null,0.985,false,65.0,0.0,79.870000000000004,-54.689999999999998],[6391,true,true,null,52.200000000000003,1.0,null,null,0.985,false,65.0,0.0,79.870000000000004,-54.689999999999998],[6392,true,true,null,870.060000000000059,1.0,null,null,1.056,false,950.0,237.0,511.819999999999993,-146.330000000000012],[6393,true,true,null,889.060000000000059,1.0,null,null,1.03,false,950.0,237.0,533.700000000000046,-146.330000000000012],[6394,true,true,null,12.0,1.0,null,null,1.006,false,316.0,168.0,194.0,-149.75],[801,true,true,null,25.920000000000002,1.0,null,null,1.021,false,31.0,0.0,15.0,-17.0],[6396,true,true,null,1289.259999999999991,1.0,null,null,1.015,false,1360.0,289.0,671.919999999999959,-213.289999999999992],[6397,true,true,null,43.780000000000001,1.0,null,null,1.029,false,61.0,0.0,28.899999999999999,-24.219999999999999],[6398,true,true,null,43.780000000000001,1.0,null,null,1.029,false,61.0,0.0,28.899999999999999,-24.219999999999999],[6399,true,true,null,18.25,1.0,null,null,1.004,false,35.0,0.0,23.239999999999998,-10.1],[6400,true,true,null,1286.75,1.0,null,null,1.021,false,1380.0,350.0,706.840000000000032,-235.159999999999997],[6401,true,true,null,1300.5,1.0,null,null,1.034,false,1380.0,350.0,706.840000000000032,-235.159999999999997],[6402,true,true,null,1248.509999999999991,1.0,null,null,1.036,false,1380.0,350.0,695.830000000000041,-235.159999999999997],[6403,true,true,null,1286.990000000000009,1.0,null,null,1.032,false,1290.0,350.0,681.310000000000059,-260.689999999999998],[6404,true,true,null,3.89,1.0,null,null,1.023,false,51.0,0.8,37.509999999999998,-10.49],[6405,true,true,null,1307.799999999999954,1.0,null,null,1.028,false,1380.0,340.0,675.480000000000018,-207.210000000000008],[131,true,true,null,7.12,1.0,null,null,1.065,false,17.0,0.0,3.0,-3.0],[813,true,true,null,23.280000000000001,1.0,null,null,1.023,false,32.0,1.0,6.0,-9.0],[6406,true,true,null,1232.539999999999964,1.0,null,null,1.03,false,1380.0,340.0,675.480000000000018,-207.210000000000008],[6411,true,true,null,64.900000000000006,1.0,null,null,0.998,false,80.0,0.0,42.659999999999997,-21.780000000000001],[6412,true,true,null,229.02000000000001,1.0,null,null,1.012,false,245.0,85.0,109.159999999999997,-75.850000000000008],[6413,true,true,null,576.149999999999977,1.0,null,null,0.968,false,605.0,295.0,230.469999999999999,-115.950000000000003],[6414,true,true,null,28.129999999999999,1.0,null,null,1.03,false,56.0,0.0,24.739999999999998,-16.5],[6415,true,true,null,40.920000000000002,1.0,null,null,1.032,false,56.0,0.0,24.739999999999998,-16.5],[6416,true,true,null,3.27,1.0,null,null,0.994,false,58.0,0.0,61.200000000000003,-1.88],[6417,true,true,null,15.75,1.0,null,null,1.03,false,23.100000000000001,0.0,17.149999999999999,-10.85],[6418,true,true,null,15.75,1.0,null,null,1.03,false,23.100000000000001,0.0,17.140000000000001,-10.859999999999999],[6419,true,true,null,376.470000000000027,1.0,null,null,1.002,false,439.800000000000011,230.800000000000011,169.819999999999993,-6.72],[814,true,true,null,23.25,1.0,null,null,1.024,false,32.0,1.0,6.0,-9.0],[6420,true,true,null,-1.97,1.0,null,null,1.081,false,80.0,-80.0,18.02,-6.63],[6421,true,true,null,-1.97,1.0,null,null,1.085,false,80.0,-80.0,18.02,-6.63],[6422,true,true,null,-1.97,1.0,null,null,1.085,false,80.0,-80.0,18.02,-6.63],[6423,true,true,null,29.199999999999999,1.0,null,null,0.966,false,32.0,0.0,19.57,-10.43],[6425,true,true,null,29.199999999999999,1.0,null,null,0.966,false,32.0,0.0,19.57,-10.43],[6427,true,true,null,25.620000000000001,1.0,null,null,1.032,false,44.0,0.0,14.640000000000001,-6.01],[6428,true,true,null,27.41,1.0,null,null,1.05,false,31.0,0.0,19.260000000000002,-13.380000000000001],[6429,true,true,null,26.43,1.0,null,null,1.049,false,31.0,0.0,19.260000000000002,-13.380000000000001],[6430,true,true,null,20.859999999999999,1.0,null,null,1.03,false,38.0,0.0,27.02,-18.300000000000001],[6431,true,true,null,18.879999999999999,1.0,null,null,1.024,false,38.0,0.0,26.960000000000001,-18.510000000000002],[824,true,true,null,1.16,1.0,null,null,1.042,false,7.0,0.0,3.0,-3.0],[6432,true,true,null,73.400000000000006,1.0,null,null,0.976,false,84.0,0.0,54.619999999999998,-24.010000000000002],[6434,true,true,null,36.740000000000002,1.0,null,null,1.03,false,130.0,0.0,30.84,-18.18],[6435,true,true,null,56.030000000000001,1.0,null,null,1.031,false,130.0,0.0,30.84,-18.18],[6436,true,true,null,1309.650000000000091,1.0,null,null,0.994,false,1332.0,282.0,671.480000000000018,-239.659999999999997],[6437,true,true,null,1283.650000000000091,1.0,null,null,0.994,false,1332.0,282.0,671.480000000000018,-239.659999999999997],[6438,true,true,null,278.840000000000032,1.0,null,null,1.002,false,285.0,150.0,168.900000000000006,14.279999999999999],[6439,true,true,null,580.050000000000068,1.0,null,null,0.994,false,595.0,225.0,204.969999999999999,-97.540000000000006],[6440,true,true,null,411.5,1.0,null,null,1.019,false,443.0,127.0,144.310000000000002,-19.300000000000001],[6441,true,true,null,7.0,1.0,null,null,0.985,false,443.0,127.0,45.5,-19.379999999999999],[6442,true,true,null,44.600000000000001,1.0,null,null,1.056,false,50.0,0.0,27.73,-24.25],[828,true,true,null,9.77,1.0,null,null,1.032,false,27.0,0.0,10.0,-10.0],[6443,true,true,null,46.579999999999998,1.0,null,null,1.057,false,50.0,0.0,27.73,-24.25],[6444,true,true,null,23.23,1.0,null,null,0.931,false,30.0,0.0,21.620000000000001,-13.24],[6445,true,true,null,33.490000000000002,1.0,null,null,1.007,false,85.0,0.0,57.420000000000002,-17.850000000000001],[6446,true,true,null,919.340000000000032,1.0,null,null,1.0,false,951.950000000000046,231.950000000000017,543.139999999999986,-150.490000000000009],[6447,true,true,null,911.340000000000032,1.0,null,null,1.0,false,954.940000000000055,234.939999999999998,543.370000000000005,-149.640000000000015],[6448,true,true,null,27.850000000000001,1.0,null,null,1.051,false,49.0,0.0,23.100000000000001,-20.199999999999999],[6449,true,true,null,34.789999999999999,1.0,null,null,1.049,false,49.0,0.0,22.18,-20.199999999999999],[6450,true,true,null,34.789999999999999,1.0,null,null,1.049,false,49.0,0.0,22.18,-20.199999999999999],[6451,true,true,null,133.430000000000007,1.0,null,null,0.998,false,161.0,-161.0,114.060000000000002,-45.939999999999998],[6452,true,true,null,135.360000000000014,1.0,null,null,0.998,false,156.0,0.0,112.390000000000001,-47.609999999999999],[834,true,true,null,0.0,1.0,null,null,0.984,false,15.0,0.0,3.0,2.9],[6453,true,true,null,11.369999999999999,1.0,null,null,1.011,false,99.0,0.0,22.91,-33.960000000000001],[6454,true,true,null,37.0,1.0,null,null,1.012,false,99.0,0.0,22.91,-33.960000000000001],[6455,true,true,null,932.940000000000055,1.0,null,null,0.99,false,985.0,275.0,405.579999999999984,-162.030000000000001],[6456,true,true,null,903.759999999999991,1.0,null,null,0.988,false,985.0,275.0,400.579999999999984,-167.030000000000001],[6457,true,true,null,951.789999999999964,1.0,null,null,0.987,false,985.0,275.0,400.579999999999984,-167.030000000000001],[6458,true,true,null,962.129999999999995,1.0,null,null,0.984,false,985.0,275.0,400.579999999999984,-167.030000000000001],[6462,true,true,null,61.140000000000001,1.0,null,null,0.925,false,64.0,-64.0,89.400000000000006,-50.600000000000001],[6463,true,true,null,61.140000000000001,1.0,null,null,0.925,false,64.0,-64.0,89.400000000000006,-50.600000000000001],[6464,true,true,null,61.140000000000001,1.0,null,null,0.925,false,64.0,-64.0,89.400000000000006,-50.600000000000001],[6465,true,true,null,227.560000000000002,1.0,null,null,1.011,false,268.0,138.0,148.090000000000003,-87.359999999999999],[863,true,true,null,8.029999999999999,1.0,null,null,1.006,false,14.0,0.0,7.0,-7.0],[6466,true,true,null,201.560000000000002,1.0,null,null,1.012,false,268.0,138.0,148.090000000000003,-87.359999999999999],[6467,true,true,null,157.5,1.0,null,null,1.088,false,180.0,0.0,97.799999999999997,-42.200000000000003],[968,true,true,null,41.119999999999997,1.0,null,null,1.056,false,50.0,0.0,27.0,-9.0],[976,true,true,null,4.17,1.0,null,null,1.014,false,8.0,0.0,5.0,-5.0],[990,true,true,null,1.14,1.0,null,null,1.038,false,4.0,0.0,1.0,-1.0],[1012,true,true,null,0.12,1.0,null,null,1.064,false,3.0,0.0,1.0,0.9],[136,true,true,null,4.0,1.0,null,null,1.032,false,18.0,0.0,0.8,-0.8],[1016,true,true,null,2.96,1.0,null,null,1.024,false,7.2,0.0,4.0,-4.0],[1060,true,true,null,7.24,1.0,null,null,1.073,false,11.800000000000001,7.0,6.0,-3.0],[1069,true,true,null,0.0,1.0,null,null,0.973,false,12.0,0.0,2.0,1.9],[1111,true,true,null,14.199999999999999,1.0,null,null,1.073,false,18.0,14.0,6.0,-6.0],[1213,true,true,null,32.130000000000003,1.0,null,null,1.071,false,62.0,0.0,40.0,-40.0],[1214,true,true,null,3.57,1.0,null,null,1.062,false,41.399999999999999,0.0,12.42,-11.59],[1289,true,true,null,1.0,1.0,null,null,1.058,false,8.0,0.0,2.6,-2.8],[1313,true,true,null,9.970000000000001,1.0,null,null,1.05,false,17.0,0.0,1.0,0.9],[1328,true,true,null,0.0,1.0,null,null,1.066,false,5.0,0.0,1.0,0.9],[1347,true,true,null,0.0,1.0,null,null,1.0,false,11.0,0.0,5.0,1.0],[157,true,true,null,7.05,1.0,null,null,0.947,false,17.899999999999999,0.0,10.0,-13.0],[1359,true,true,null,28.879999999999999,1.0,null,null,1.037,false,45.0,0.0,18.0,-18.0],[1365,true,true,null,7.48,1.0,null,null,1.029,false,13.0,0.0,7.0,-5.0],[1422,true,true,null,41.090000000000003,1.0,null,null,1.037,false,50.0,0.0,50.0,-50.0],[1519,true,true,null,198.950000000000017,1.0,null,null,1.091,false,239.0,44.0,100.0,-60.0],[1521,true,true,null,79.680000000000007,1.0,null,null,1.1,false,239.0,44.0,100.0,-60.0],[1522,true,true,null,76.450000000000003,1.0,null,null,0.957,false,169.0,82.0,70.0,-45.0],[1520,true,true,null,159.150000000000006,1.0,null,null,0.959,false,169.0,82.0,70.0,-45.0],[1559,true,true,null,8.220000000000001,1.0,null,null,1.047,false,49.0,1.0,22.0,-9.0],[1598,true,true,null,5.19,1.0,null,null,1.041,false,36.0,0.0,11.0,-12.0],[1604,true,true,null,39.359999999999999,1.0,null,null,1.039,false,42.0,0.0,20.0,-10.0],[195,true,true,null,2.44,1.0,null,null,1.037,false,15.0,0.0,1.0,0.9],[1629,true,true,null,30.690000000000001,1.0,null,null,1.059,false,78.0,0.0,1.0,-6.35],[1644,true,true,null,14.800000000000001,1.0,null,null,1.081,false,52.0,0.0,10.0,-13.0],[1692,true,true,null,4.07,1.0,null,null,0.982,false,7.1,0.0,2.13,-1.99],[1696,true,true,null,1.35,1.0,null,null,1.029,false,15.0,0.0,0.0,0.0],[1702,true,true,null,0.0,1.0,null,null,1.009,false,18.0,0.0,2.0,1.9],[1732,true,true,null,0.76,1.0,null,null,1.018,false,12.0,0.0,7.5,-7.5],[1738,true,true,null,7.58,1.0,null,null,1.039,false,27.0,0.0,14.0,-14.0],[1745,true,true,null,27.890000000000001,1.0,null,null,1.127,false,40.0,0.0,20.0,-18.0],[1746,true,true,null,37.240000000000002,1.0,null,null,1.109,false,40.0,0.0,20.0,-18.0],[1747,true,true,null,37.240000000000002,1.0,null,null,1.12,false,40.0,0.0,20.0,-18.0],[259,true,true,null,27.18,1.0,null,null,1.071,false,30.0,0.0,1.0,0.9],[1869,true,true,null,38.450000000000003,1.0,null,null,1.026,false,44.0,0.0,20.0,-9.0],[1892,true,true,null,18.300000000000001,1.0,null,null,1.036,false,24.0,0.0,4.0,-4.0],[1893,true,true,null,15.83,1.0,null,null,1.035,false,24.0,0.0,4.0,-4.0],[1894,true,true,null,18.73,1.0,null,null,1.04,false,24.0,0.0,4.0,-4.0],[1895,true,true,null,18.210000000000001,1.0,null,null,1.041,false,24.0,0.0,4.0,-4.0],[1947,true,true,null,18.18,1.0,null,null,1.038,false,30.0,0.0,2.0,1.9],[1966,true,true,null,14.69,1.0,null,null,1.053,false,24.0,0.0,8.0,-7.0],[1967,true,true,null,14.199999999999999,1.0,null,null,1.062,false,24.0,0.0,5.65,-0.01],[1968,true,true,null,17.190000000000001,1.0,null,null,1.053,false,24.0,0.0,8.0,-7.0],[1969,true,true,null,16.18,1.0,null,null,1.062,false,24.0,0.0,8.0,-7.0],[262,true,true,null,3.85,1.0,null,null,0.998,false,8.0,0.0,4.0,-4.0],[1970,true,true,null,15.17,1.0,null,null,1.063,false,24.0,0.0,8.0,-7.0],[1979,true,true,null,25.239999999999998,1.0,null,null,1.033,false,29.0,0.0,10.0,-10.0],[1980,true,true,null,25.010000000000002,1.0,null,null,1.003,false,29.0,0.0,5.0,-18.0],[1981,true,true,null,26.210000000000001,1.0,null,null,1.017,false,29.0,0.0,8.0,-18.0],[1985,true,true,null,1.65,1.0,null,null,1.035,false,4.6,0.5,2.0,-2.0],[2006,true,true,null,23.07,1.0,null,null,1.026,false,46.0,0.0,21.0,-9.0],[2017,true,true,null,13.630000000000001,1.0,null,null,1.025,false,24.0,0.0,9.0,-9.0],[2018,true,true,null,14.02,1.0,null,null,1.029,false,24.0,0.0,9.0,-9.0],[2027,true,true,null,21.359999999999999,1.0,null,null,1.058,false,30.0,-30.0,7.0,-7.0],[2049,true,true,null,28.199999999999999,1.0,null,null,1.027,false,34.0,0.0,19.0,-16.0]]}", + "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0,1,10,100,101,102,103,104,105,106,107,108,109,11,110,111,112,113,114,115,116,117,118,119,12,120,121,122,123,124,125,126,127,128,129,13,130,131,132,133,134,135,136,137,138,139,14,140,141,142,143,144,145,146,147,148,149,15,150,151,152,153,154,155,156,157,158,159,16,160,161,162,163,164,165,166,167,168,169,17,170,171,172,173,174,175,176,177,178,179,18,180,181,182,183,184,185,186,187,188,189,19,190,191,192,193,194,195,196,197,198,199,2,20,200,201,202,203,204,205,206,207,208,209,21,210,211,212,213,214,215,216,217,218,219,22,220,221,222,223,224,225,226,227,228,229,23,230,231,232,233,234,235,236,237,238,239,24,240,241,242,243,244,245,246,247,248,249,25,250,251,252,253,254,255,256,257,258,259,26,260,261,262,263,264,265,266,267,268,269,27,270,271,272,273,274,275,276,277,278,279,28,280,281,282,283,284,285,286,287,288,289,29,290,291,292,293,294,295,296,297,298,299,3,30,300,301,302,303,304,305,306,307,308,309,31,310,311,312,313,314,315,316,317,318,319,32,320,321,322,323,324,325,326,327,328,329,33,330,331,332,333,334,335,336,337,338,339,34,340,341,342,343,344,345,346,347,348,349,35,350,351,352,353,354,355,356,357,358,359,36,360,361,362,363,364,365,366,367,368,369,37,370,371,372,373,374,375,376,377,378,379,38,380,381,382,383,384,385,386,387,388,389,39,390,391,392,393,394,395,396,397,398,399,4,40,400,401,402,403,404,405,406,407,408,409,41,410,411,412,413,414,415,416,417,418,419,42,420,421,422,423,424,425,426,427,428,429,43,430,431,432,433,434,435,436,437,438,439,44,440,441,442,443,444,445,446,447,448,449,45,450,451,46,47,48,49,5,50,51,52,53,54,55,56,57,58,59,6,60,61,62,63,64,65,66,67,68,69,7,70,71,72,73,74,75,76,77,78,79,8,80,81,82,83,84,85,86,87,88,89,9,90,91,92,93,94,95,96,97,98,99],\"data\":[[46,true,true,null,9.470000000000001,1.0,null,null,1.012,false,16.0,0.0,9.5,-9.5,0.0],[56,true,true,null,0.0,1.0,null,null,1.051,false,13.0,0.0,1.0,0.9,0.0],[306,true,true,null,1.12,1.0,null,null,1.038,false,15.0,0.0,9.0,-9.0,0.0],[2097,true,true,null,39.219999999999999,1.0,null,null,1.058,false,54.0,1.0,22.0,-10.0,0.0],[2101,true,true,null,7.2,1.0,null,null,1.014,false,16.0,0.0,5.0,-5.0,0.0],[2159,true,true,null,14.300000000000001,1.0,null,null,1.063,false,29.0,0.0,13.0,-6.0,0.0],[2191,true,true,null,7.62,1.0,null,null,0.895,false,15.0,0.0,9.0,-9.0,0.0],[2193,true,true,null,15.9,1.0,null,null,1.065,false,20.0,0.0,2.0,1.9,0.0],[2245,true,true,null,4.05,1.0,null,null,1.069,false,24.0,2.5,8.0,-8.0,0.0],[2293,true,true,null,1.35,1.0,null,null,0.997,false,56.0,0.0,17.0,-20.0,0.0],[2339,true,true,null,14.1,1.0,null,null,0.997,false,28.0,0.0,12.0,-9.0,0.0],[2341,true,true,null,2.15,1.0,null,null,1.038,false,7.0,0.0,2.0,-2.0,0.0],[2363,true,true,null,21.149999999999999,1.0,null,null,1.091,false,24.0,0.0,20.0,-20.0,0.0],[320,true,true,null,4.8,1.0,null,null,1.042,false,10.800000000000001,0.0,0.1,-0.1,0.0],[2364,true,true,null,21.140000000000001,1.0,null,null,1.096,false,24.0,0.0,20.0,-20.0,0.0],[2365,true,true,null,13.31,1.0,null,null,1.071,false,24.0,0.0,20.0,-20.0,0.0],[2366,true,true,null,21.140000000000001,1.0,null,null,1.091,false,24.0,0.0,20.0,-20.0,0.0],[2367,true,true,null,11.74,1.0,null,null,1.1,false,20.0,0.0,20.0,-20.0,0.0],[2412,true,true,null,8.779999999999999,1.0,null,null,1.058,false,36.0,0.0,14.0,-14.0,0.0],[2462,true,true,null,0.02,1.0,null,null,1.012,false,4.5,0.0,3.0,-3.0,0.0],[2524,true,true,null,40.200000000000003,1.0,null,null,1.153,false,50.0,38.0,19.0,-8.0,0.0],[2533,true,true,null,4.5,1.0,null,null,1.013,false,9.6,0.0,0.97,-0.96,0.0],[2559,true,true,null,6.66,1.0,null,null,1.016,false,16.0,0.0,12.0,-9.0,0.0],[2628,true,true,null,7.99,1.0,null,null,1.006,false,28.0,0.0,16.0,-7.0,0.0],[334,true,true,null,2.11,1.0,null,null,1.037,false,25.0,0.0,13.0,-9.0,0.0],[2645,true,true,null,7.24,1.0,null,null,1.011,false,18.0,0.0,10.0,-10.0,0.0],[2646,true,true,null,11.130000000000001,1.0,null,null,1.029,false,22.0,0.0,14.0,-14.0,0.0],[2653,true,true,null,4.11,1.0,null,null,1.066,false,28.0,0.0,4.0,3.9,0.0],[2660,true,true,null,4.5,1.0,null,null,1.018,false,9.800000000000001,0.0,6.0,-6.0,0.0],[2661,true,true,null,30.199999999999999,1.0,null,null,1.009,false,35.0,0.0,12.0,-15.0,0.0],[2665,true,true,null,3.12,1.0,null,null,1.078,false,7.0,0.0,1.0,0.9,0.0],[2663,true,true,null,0.74,1.0,null,null,1.061,false,12.0,0.0,4.0,-7.0,0.0],[2666,true,true,null,2.08,1.0,null,null,0.993,false,12.0,0.0,4.59,-7.0,0.0],[2696,true,true,null,6.05,1.0,null,null,1.018,false,15.0,0.0,6.0,-7.0,0.0],[2734,true,true,null,4.97,1.0,null,null,1.06,false,17.0,0.0,10.0,-10.0,0.0],[337,true,true,null,9.130000000000001,1.0,null,null,1.013,false,13.0,0.0,5.0,-6.0,0.0],[2833,true,true,null,8.23,1.0,null,null,1.035,false,12.0,0.0,5.0,-2.0,0.0],[2899,true,true,null,7.06,1.0,null,null,1.066,false,26.5,6.0,9.0,-9.0,0.0],[2994,true,true,null,12.039999999999999,1.0,null,null,1.033,false,34.0,0.0,17.0,-17.0,0.0],[3022,true,true,null,1.06,1.0,null,null,1.016,false,5.0,0.0,3.0,-3.0,0.0],[3115,true,true,null,35.299999999999997,1.0,null,null,1.056,false,38.0,0.0,20.0,-19.0,0.0],[3116,true,true,null,30.699999999999999,1.0,null,null,1.092,false,38.0,0.0,20.0,-19.0,0.0],[3117,true,true,null,31.739999999999998,1.0,null,null,1.093,false,38.0,0.0,20.0,-20.0,0.0],[3122,true,true,null,0.1,1.0,null,null,1.032,false,16.800000000000001,0.0,10.0,-10.0,0.0],[3135,true,true,null,0.0,1.0,null,null,1.072,false,11.0,0.0,1.0,0.9,0.0],[3156,true,true,null,40.189999999999998,1.0,null,null,1.059,false,48.0,5.0,22.0,-10.0,0.0],[365,true,true,null,127.219999999999999,1.0,null,null,1.078,false,130.0,0.0,59.0,-26.0,0.0],[3158,true,true,null,5.11,1.0,null,null,1.074,false,18.0,0.0,12.0,-12.0,0.0],[3209,true,true,null,1.12,1.0,null,null,1.073,false,20.0,0.0,2.0,0.0,0.0],[3265,true,true,null,28.59,1.0,null,null,1.051,false,42.0,0.0,25.0,-20.0,0.0],[3279,true,true,null,33.310000000000002,1.0,null,null,1.116,false,36.100000000000001,0.0,20.0,-15.0,0.0],[3280,true,true,null,33.32,1.0,null,null,1.048,false,36.100000000000001,0.0,20.0,-15.0,0.0],[3281,true,true,null,33.32,1.0,null,null,1.025,false,36.100000000000001,0.0,20.0,-15.0,0.0],[3307,true,true,null,0.0,1.0,null,null,1.0,false,17.0,0.0,1.0,0.9,0.0],[3404,true,true,null,39.939999999999998,1.0,null,null,1.02,false,43.0,0.0,22.0,-10.0,0.0],[3407,true,true,null,3.25,1.0,null,null,1.034,false,24.0,0.0,7.0,-7.26,0.0],[3417,true,true,null,4.32,1.0,null,null,1.006,false,7.5,0.0,1.0,-1.0,0.0],[464,true,true,null,7.19,1.0,null,null,1.171,false,27.0,1.0,6.0,-3.0,0.0],[3423,true,true,null,12.869999999999999,1.0,null,null,0.997,false,23.100000000000001,0.0,14.0,-14.0,0.0],[3467,true,true,null,8.76,1.0,null,null,1.014,false,13.199999999999999,0.0,8.0,-8.0,0.0],[3490,true,true,null,35.780000000000001,1.0,null,null,1.08,false,53.0,0.0,17.0,-10.0,0.0],[3544,true,true,null,2.33,1.0,null,null,1.03,false,12.800000000000001,0.0,7.6,-7.6,0.0],[3587,true,true,null,16.920000000000002,1.0,null,null,1.019,false,20.0,0.8,6.0,-10.0,0.0],[3586,true,true,null,17.129999999999999,1.0,null,null,1.028,false,20.0,0.8,4.2,-4.2,0.0],[3599,true,true,null,33.049999999999997,1.0,null,null,1.08,false,39.0,0.0,19.0,-19.0,0.0],[3605,true,true,null,12.67,1.0,null,null,1.025,false,40.0,-40.0,30.0,-10.0,0.0],[3652,true,true,null,0.0,1.0,null,null,1.03,false,7.0,0.0,1.0,0.9,0.0],[3686,true,true,null,0.19,1.0,null,null,1.016,false,3.0,0.0,1.8,-1.8,0.0],[466,true,true,null,42.780000000000001,1.0,null,null,1.042,false,48.0,1.0,19.0,-10.0,0.0],[3692,true,true,null,1.95,1.0,null,null,1.015,false,9.5,0.0,6.0,-6.0,0.0],[3715,true,true,null,12.460000000000001,1.0,null,null,1.062,false,18.0,0.0,8.0,-8.0,0.0],[3717,true,true,null,41.119999999999997,1.0,null,null,1.031,false,44.0,0.0,17.0,-17.0,0.0],[3748,true,true,null,8.35,1.0,null,null,1.02,false,11.199999999999999,5.6,4.6,-4.1,0.0],[3761,true,true,null,5.87,1.0,null,null,0.998,false,12.0,0.0,1.2,-1.2,0.0],[3816,true,true,null,35.109999999999999,1.0,null,null,1.07,false,37.799999999999997,0.0,12.0,-8.0,0.0],[3817,true,true,null,31.870000000000001,1.0,null,null,1.056,false,37.799999999999997,0.0,12.0,-8.0,0.0],[3818,true,true,null,31.170000000000002,1.0,null,null,1.087,false,37.799999999999997,0.0,12.0,-8.0,0.0],[3842,true,true,null,3.15,1.0,null,null,1.016,false,12.0,0.0,7.2,-7.2,0.0],[3853,true,true,null,5.16,1.0,null,null,1.032,false,22.0,0.0,6.0,-4.0,0.0],[528,true,true,null,1.95,1.0,null,null,1.017,false,8.0,0.0,4.8,-4.8,0.0],[3868,true,true,null,6.15,1.0,null,null,1.04,false,9.0,0.0,3.0,-3.0,0.0],[3969,true,true,null,36.789999999999999,1.0,null,null,1.016,false,40.0,1.0,6.0,-6.0,0.0],[3968,true,true,null,37.159999999999997,1.0,null,null,1.035,false,40.0,1.0,5.0,-15.0,0.0],[3987,true,true,null,1.16,1.0,null,null,0.998,false,8.0,0.0,3.0,-3.0,0.0],[4025,true,true,null,3.94,1.0,null,null,1.015,false,10.6,0.0,6.5,-6.5,0.0],[4055,true,true,null,21.210000000000001,1.0,null,null,1.027,false,27.0,0.0,6.0,-11.0,0.0],[4130,true,true,null,1.99,1.0,null,null,1.015,false,12.300000000000001,0.0,5.0,-5.0,0.0],[4170,true,true,null,19.09,1.0,null,null,1.038,false,24.0,0.0,10.0,-10.0,0.0],[4232,true,true,null,9.99,1.0,null,null,1.02,false,13.0,0.0,13.0,0.0,0.0],[4275,true,true,null,6.77,1.0,null,null,1.033,false,12.0,0.0,5.0,-5.0,0.0],[543,true,true,null,1.22,1.0,null,null,1.0,false,9.0,0.0,2.0,1.9,0.0],[4300,true,true,null,19.079999999999998,1.0,null,null,1.014,false,46.0,0.0,20.0,-34.0,0.0],[4316,true,true,null,41.130000000000003,1.0,null,null,1.043,false,44.0,0.0,25.0,-25.0,0.0],[4320,true,true,null,15.17,1.0,null,null,1.063,false,18.0,0.0,14.0,-14.0,0.0],[4327,true,true,null,2.04,1.0,null,null,1.047,false,11.0,0.0,0.0,0.0,0.0],[4328,true,true,null,22.199999999999999,1.0,null,null,0.996,false,39.0,0.0,24.0,-24.0,0.0],[4346,true,true,null,15.0,1.0,null,null,1.012,false,26.0,0.0,2.0,1.9,0.0],[4430,true,true,null,0.23,1.0,null,null,0.989,false,6.0,0.0,2.0,-2.0,0.0],[4475,true,true,null,15.16,1.0,null,null,1.014,false,23.699999999999999,0.0,3.46,-2.0,0.0],[4476,true,true,null,16.780000000000001,1.0,null,null,1.052,false,23.699999999999999,0.0,7.0,-3.0,0.0],[4477,true,true,null,18.780000000000001,1.0,null,null,1.052,false,23.699999999999999,0.0,7.0,-3.0,0.0],[581,true,true,null,4.38,1.0,null,null,1.029,false,16.0,0.0,7.0,-4.0,0.0],[4478,true,true,null,18.760000000000002,1.0,null,null,1.049,false,23.699999999999999,0.0,7.0,-3.0,0.0],[4479,true,true,null,18.789999999999999,1.0,null,null,1.052,false,23.699999999999999,0.0,7.0,-3.0,0.0],[4508,true,true,null,12.109999999999999,1.0,null,null,1.037,false,21.0,0.0,6.7,-4.5,0.0],[4512,true,true,null,12.369999999999999,1.0,null,null,1.061,false,87.0,0.0,26.100000000000001,-24.359999999999999,0.0],[4563,true,true,null,14.199999999999999,1.0,null,null,1.042,false,22.0,0.0,7.1,-7.1,0.0],[4570,true,true,null,42.0,1.0,null,null,1.053,false,45.0,44.0,27.0,-9.0,0.0],[4584,true,true,null,4.66,1.0,null,null,1.033,false,12.699999999999999,0.0,1.0,0.9,0.0],[4670,true,true,null,6.63,1.0,null,null,1.008,false,32.0,-11.0,1.18,-0.1,0.0],[4719,true,true,null,2.15,1.0,null,null,1.068,false,10.0,0.0,1.0,0.9,0.0],[4754,true,true,null,1.7,1.0,null,null,1.024,false,9.0,0.0,0.1,-0.1,0.0],[101,true,true,null,19.07,1.0,null,null,1.026,false,46.0,0.0,21.0,-9.0,0.0],[584,true,true,null,1.04,1.0,null,null,1.01,false,9.5,0.0,5.7,-5.7,0.0],[4755,true,true,null,6.09,1.0,null,null,1.013,false,10.0,0.0,5.0,-5.0,0.0],[4756,true,true,null,6.09,1.0,null,null,1.013,false,10.0,0.0,5.0,-5.0,0.0],[4765,true,true,null,13.130000000000001,1.0,null,null,1.038,false,30.0,0.0,10.0,-10.0,0.0],[4792,true,true,null,0.95,1.0,null,null,1.028,false,14.0,0.0,8.5,-8.5,0.0],[4803,true,true,null,16.289999999999999,1.0,null,null,1.001,false,27.0,0.0,18.0,-18.0,0.0],[4816,true,true,null,3.34,1.0,null,null,1.016,false,6.4,0.0,0.64,-0.64,0.0],[4817,true,true,null,10.119999999999999,1.0,null,null,1.013,false,15.0,1.0,3.6,-4.5,0.0],[4818,true,true,null,9.119999999999999,1.0,null,null,1.012,false,15.0,0.0,3.0,-4.0,0.0],[4824,true,true,null,129.5,1.0,null,null,1.085,false,150.0,0.0,70.0,-70.0,0.0],[4823,true,true,null,128.77000000000001,1.0,null,null,1.08,false,150.0,0.0,70.0,-70.0,0.0],[608,true,true,null,41.380000000000003,1.0,null,null,1.02,false,45.0,0.0,45.0,-45.0,0.0],[4850,true,true,null,1.62,1.0,null,null,0.904,false,6.4,0.0,4.0,-4.0,0.0],[4870,true,true,null,0.41,1.0,null,null,1.046,false,22.0,0.0,7.0,-12.0,0.0],[4877,true,true,null,9.58,1.0,null,null,1.027,false,12.800000000000001,0.0,7.7,-7.7,0.0],[4919,true,true,null,25.07,1.0,null,null,1.011,false,32.0,0.0,12.0,-8.0,0.0],[4922,true,true,null,27.09,1.0,null,null,1.017,false,33.0,0.0,12.0,-12.0,0.0],[4945,true,true,null,6.15,1.0,null,null,0.9,false,9.6,0.0,6.0,-6.0,0.0],[4969,true,true,null,14.130000000000001,1.0,null,null,1.031,false,30.0,0.0,18.0,-18.0,0.0],[4982,true,true,null,3.04,1.0,null,null,1.008,false,32.0,0.0,16.0,-18.0,0.0],[4983,true,true,null,26.57,1.0,null,null,1.093,false,35.100000000000001,0.0,12.0,-21.0,0.0],[4984,true,true,null,27.710000000000001,1.0,null,null,1.107,false,35.100000000000001,0.0,12.0,-21.0,0.0],[622,true,true,null,-2.11,1.0,null,null,1.049,false,8.300000000000001,-8.300000000000001,8.300000000000001,-8.300000000000001,0.0],[4985,true,true,null,27.73,1.0,null,null,1.107,false,35.100000000000001,0.0,12.0,-21.0,0.0],[5023,true,true,null,10.609999999999999,1.0,null,null,1.062,false,36.0,0.0,4.0,3.9,0.0],[5029,true,true,null,3.65,1.0,null,null,0.991,false,50.600000000000001,0.0,15.18,-14.17,0.0],[5962,true,true,null,980.409999999999968,1.0,null,null,1.098,false,1100.0,300.0,470.0,-330.0,0.0],[5972,true,true,null,132.5,1.0,null,null,1.104,false,500.0,50.0,300.0,-380.0,0.0],[5975,true,true,null,56.229999999999997,1.0,null,null,1.075,false,59.159999999999997,0.0,17.75,-27.390000000000001,0.0],[6003,true,true,null,160.170000000000016,1.0,null,null,0.993,false,163.069999999999993,0.0,68.340000000000003,-48.920000000000002,0.0],[6006,true,true,null,405.430000000000007,1.0,null,null,1.072,false,408.420000000000016,0.0,122.530000000000001,-130.52000000000001,0.0],[6014,true,true,null,1.89,1.0,null,null,1.109,false,418.0,185.0,304.0,-171.0,0.0],[6021,true,true,null,154.890000000000015,1.0,null,null,1.079,false,157.610000000000014,0.0,47.280000000000001,-90.760000000000005,0.0],[634,true,true,null,4.02,1.0,null,null,1.011,false,15.0,0.0,7.0,0.0,0.0],[6023,true,true,null,272.019999999999982,1.0,null,null,1.105,false,274.699999999999989,0.0,82.409999999999997,-82.409999999999997,0.0],[6026,true,true,null,515.850000000000023,1.0,null,null,1.013,false,518.279999999999973,0.0,155.47999999999999,-155.47999999999999,0.0],[6029,true,true,null,1053.259999999999991,1.0,null,null,1.054,false,1056.0,250.0,570.0,-100.0,0.0],[6040,true,true,null,98.0,1.0,null,null,1.04,false,600.0,100.0,400.0,-115.0,0.0],[6055,true,true,null,402.400000000000034,1.0,null,null,1.048,false,405.0,0.0,121.5,-121.5,0.0],[6058,true,true,null,1089.920000000000073,1.0,null,null,1.095,false,1092.769999999999982,0.0,327.829999999999984,-327.829999999999984,0.0],[6066,true,true,null,1045.279999999999973,1.0,null,null,1.065,false,1050.0,300.0,355.0,-215.0,0.0],[6090,true,true,null,175.47999999999999,1.0,null,null,1.08,false,178.0,0.0,64.0,-53.399999999999999,0.0],[6093,true,true,null,52.130000000000003,1.0,null,null,1.072,false,55.0,0.0,48.0,-16.5,0.0],[6092,true,true,null,6.18,1.0,null,null,1.066,false,9.0,0.0,2.7,-2.7,0.0],[639,true,true,null,94.820000000000007,1.0,null,null,1.083,false,239.0,0.0,80.0,-102.799999999999997,0.0],[6094,true,true,null,138.090000000000003,1.0,null,null,1.099,false,140.900000000000006,0.0,42.270000000000003,-42.270000000000003,0.0],[6103,true,true,null,1221.920000000000073,1.0,null,null,1.098,false,1224.730000000000018,0.0,367.420000000000016,-367.420000000000016,0.0],[6104,true,true,null,207.439999999999998,1.0,null,null,1.059,false,450.0,0.0,200.0,-200.0,0.0],[6113,true,true,null,63.380000000000003,1.0,null,null,1.054,false,66.0,0.0,19.800000000000001,-19.800000000000001,0.0],[6112,true,true,null,145.379999999999995,1.0,null,null,1.052,false,148.0,0.0,44.399999999999999,-44.399999999999999,0.0],[6115,true,true,null,398.04000000000002,1.0,null,null,1.08,false,401.0,0.0,120.299999999999997,-120.299999999999997,0.0],[6126,true,true,null,735.389999999999986,1.0,null,null,1.097,false,738.0,0.0,221.400000000000006,-221.400000000000006,0.0],[6130,true,true,null,1022.240000000000009,1.0,null,null,1.103,false,1024.809999999999945,0.0,300.0,-300.0,0.0],[6133,true,true,null,183.02000000000001,1.0,null,null,1.075,false,186.0,0.0,55.799999999999997,-55.799999999999997,0.0],[6139,true,true,null,459.460000000000036,1.0,null,null,1.083,false,462.0,0.0,138.599999999999994,-138.599999999999994,0.0],[682,true,true,null,4.2,1.0,null,null,0.89,false,9.0,0.0,6.0,-5.0,0.0],[6162,true,true,null,359.050000000000011,1.0,null,null,1.092,false,362.110000000000014,0.0,108.629999999999996,-108.629999999999996,0.0],[6165,true,true,null,44.460000000000001,1.0,null,null,1.08,false,47.399999999999999,0.0,14.220000000000001,-14.220000000000001,0.0],[6172,true,true,null,2680.289999999999964,1.0,null,null,1.086,false,2682.769999999999982,0.0,804.830000000000041,-804.830000000000041,0.0],[6174,true,true,null,2.61,1.0,null,null,1.072,false,5.62,0.0,17.390000000000001,-1.68,0.0],[6188,true,true,null,200.620000000000004,1.0,null,null,1.109,false,203.590000000000003,0.0,61.079999999999998,-61.079999999999998,0.0],[6195,true,true,null,71.400000000000006,1.0,null,null,1.062,false,200.0,0.0,100.0,-100.0,0.0],[6218,true,true,null,246.870000000000004,1.0,null,null,1.1,false,250.0,0.0,120.0,-120.0,0.0],[6219,true,true,null,639.399999999999977,1.0,null,null,1.041,false,642.0,0.0,400.0,-115.0,0.0],[6222,true,true,null,1039.3900000000001,1.0,null,null,1.097,false,1100.0,300.0,470.0,-330.0,0.0],[6226,true,true,null,144.939999999999998,1.0,null,null,1.077,false,147.860000000000014,0.0,44.359999999999999,-44.359999999999999,0.0],[697,true,true,null,31.609999999999999,1.0,null,null,1.02,false,37.0,0.0,15.0,-17.0,0.0],[6231,true,true,null,80.530000000000001,1.0,null,null,1.083,false,83.489999999999995,0.0,55.07,-25.050000000000001,0.0],[6239,true,true,null,363.70999999999998,1.0,null,null,1.089,false,366.759999999999991,0.0,110.030000000000001,-110.030000000000001,0.0],[6247,true,true,null,565.300000000000068,1.0,null,null,1.074,false,970.0,280.0,515.0,-543.0,0.0],[6255,true,true,null,13.300000000000001,1.0,null,null,0.993,false,683.300000000000068,213.300000000000011,269.670000000000016,-164.439999999999998,0.0],[6257,true,true,null,3.72,1.0,null,null,1.072,false,27.0,0.0,22.359999999999999,-13.33,0.0],[6258,true,true,null,68.609999999999999,1.0,null,null,0.995,false,86.0,0.0,44.039999999999999,-3.45,0.0],[6260,true,true,null,22.469999999999999,1.0,null,null,1.074,false,32.0,0.0,10.210000000000001,-6.8,0.0],[6261,true,true,null,22.469999999999999,1.0,null,null,1.074,false,32.0,0.0,10.210000000000001,-6.8,0.0],[6262,true,true,null,22.940000000000001,1.0,null,null,1.058,false,32.0,0.0,9.890000000000001,-6.8,0.0],[6263,true,true,null,21.91,1.0,null,null,1.058,false,32.0,0.0,9.890000000000001,-6.8,0.0],[696,true,true,null,32.520000000000003,1.0,null,null,1.02,false,37.0,0.0,15.0,-15.0,0.0],[6264,true,true,null,77.629999999999996,1.0,null,null,0.983,false,92.0,0.0,59.82,-30.18,0.0],[6265,true,true,null,45.439999999999998,1.0,null,null,0.979,false,92.0,0.0,59.82,-30.18,0.0],[6266,true,true,null,70.370000000000005,1.0,null,null,1.037,false,92.0,0.0,62.700000000000003,-27.300000000000001,0.0],[6267,true,true,null,61.329999999999998,1.0,null,null,1.035,false,92.0,0.0,62.700000000000003,-27.300000000000001,0.0],[6268,true,true,null,70.710000000000008,1.0,null,null,0.951,false,92.0,0.0,62.700000000000003,-37.700000000000003,0.0],[6269,true,true,null,76.680000000000007,1.0,null,null,0.954,false,92.0,0.0,62.700000000000003,-35.270000000000003,0.0],[6270,true,true,null,932.029999999999973,1.0,null,null,1.044,false,934.920000000000073,244.920000000000016,341.759999999999991,-418.5,0.0],[6271,true,true,null,974.0,1.0,null,null,1.044,false,976.889999999999986,286.889999999999986,351.939999999999998,-407.560000000000002,0.0],[6272,true,true,null,972.039999999999964,1.0,null,null,1.043,false,974.920000000000073,254.920000000000016,344.050000000000011,-408.310000000000002,0.0],[6273,true,true,null,934.029999999999973,1.0,null,null,1.042,false,936.920000000000073,246.920000000000016,342.100000000000023,-418.079999999999984,0.0],[695,true,true,null,31.510000000000002,1.0,null,null,1.023,false,37.0,0.0,15.0,-17.0,0.0],[6274,true,true,null,234.580000000000012,1.0,null,null,1.004,false,252.0,156.0,164.819999999999993,-101.260000000000005,0.0],[6275,true,true,null,232.539999999999992,1.0,null,null,1.007,false,250.0,154.0,164.819999999999993,-100.909999999999997,0.0],[6276,true,true,null,222.990000000000009,1.0,null,null,1.032,false,250.0,154.0,101.230000000000004,-56.189999999999998,0.0],[6277,true,true,null,10.0,1.0,null,null,1.032,false,305.0,122.0,245.170000000000016,-160.069999999999993,0.0],[6279,true,true,null,55.200000000000003,1.0,null,null,1.015,false,58.0,0.0,19.649999999999999,-20.550000000000001,0.0],[6280,true,true,null,55.200000000000003,1.0,null,null,1.017,false,58.0,0.0,12.289999999999999,-12.49,0.0],[6281,true,true,null,55.200000000000003,1.0,null,null,1.015,false,58.0,0.0,19.649999999999999,-20.550000000000001,0.0],[6282,true,true,null,55.200000000000003,1.0,null,null,1.017,false,58.0,0.0,12.289999999999999,-12.49,0.0],[6283,true,true,null,55.200000000000003,1.0,null,null,1.017,false,58.0,0.0,12.289999999999999,-12.49,0.0],[6284,true,true,null,135.289999999999992,1.0,null,null,0.992,false,263.0,133.0,173.050000000000011,-81.280000000000001,0.0],[703,true,true,null,1.17,1.0,null,null,0.896,false,4.0,0.0,2.0,-2.0,0.0],[6285,true,true,null,20.129999999999999,1.0,null,null,0.962,false,32.0,0.0,22.370000000000001,-13.630000000000001,0.0],[6286,true,true,null,16.16,1.0,null,null,0.995,false,32.0,0.0,20.370000000000001,-15.699999999999999,0.0],[6287,true,true,null,19.170000000000002,1.0,null,null,0.982,false,32.0,0.0,22.210000000000001,-14.57,0.0],[6288,true,true,null,933.120000000000005,1.0,null,null,0.99,false,935.970000000000027,265.970000000000027,552.200000000000045,-226.689999999999998,0.0],[6289,true,true,null,926.259999999999991,1.0,null,null,0.991,false,937.769999999999982,267.769999999999982,555.680000000000064,-223.620000000000004,0.0],[6290,true,true,null,921.110000000000014,1.0,null,null,0.992,false,923.960000000000036,273.95999999999998,520.67999999999995,-222.390000000000015,0.0],[6291,true,true,null,884.240000000000009,1.0,null,null,0.991,false,917.759999999999991,267.759999999999991,521.399999999999977,-222.77000000000001,0.0],[6292,true,true,null,1231.539999999999964,1.0,null,null,0.992,false,1308.0,318.0,673.870000000000004,-237.700000000000017,0.0],[6293,true,true,null,1231.539999999999964,1.0,null,null,0.992,false,1308.0,318.0,673.870000000000004,-237.700000000000017,0.0],[6294,true,true,null,29.640000000000001,1.0,null,null,1.038,false,35.0,0.0,5.05,-1.45,0.0],[121,true,true,null,7.97,1.0,null,null,1.026,false,12.0,0.0,5.0,-2.0,0.0],[731,true,true,null,27.309999999999999,1.0,null,null,0.977,false,39.0,0.0,18.0,-18.0,0.0],[6295,true,true,null,30.620000000000001,1.0,null,null,1.038,false,35.0,0.0,5.05,-1.45,0.0],[6296,true,true,null,30.620000000000001,1.0,null,null,1.038,false,35.0,0.0,5.05,-1.45,0.0],[6297,true,true,null,29.879999999999999,1.0,null,null,1.037,false,35.0,0.0,5.05,-1.45,0.0],[6298,true,true,null,29.879999999999999,1.0,null,null,1.037,false,35.0,0.0,5.05,-1.45,0.0],[6299,true,true,null,29.879999999999999,1.0,null,null,1.037,false,35.0,0.0,5.05,-1.45,0.0],[6300,true,true,null,4.99,1.0,null,null,1.018,false,20.0,0.0,10.77,-7.31,0.0],[6301,true,true,null,4.99,1.0,null,null,1.018,false,20.0,0.0,10.77,-7.31,0.0],[6302,true,true,null,1278.940000000000055,1.0,null,null,1.0,false,1330.0,337.0,703.470000000000027,-249.560000000000002,0.0],[6303,true,true,null,1229.970000000000027,1.0,null,null,1.006,false,1360.0,367.0,712.050000000000068,-240.980000000000018,0.0],[6304,true,true,null,1252.970000000000027,1.0,null,null,1.005,false,1360.0,367.0,712.050000000000068,-240.980000000000018,0.0],[735,true,true,null,0.46,1.0,null,null,1.032,false,5.0,0.0,0.1,-0.1,0.0],[6305,true,true,null,68.879999999999996,1.0,null,null,1.096,false,95.0,0.0,53.630000000000002,-33.270000000000003,0.0],[6306,true,true,null,1.4,1.0,null,null,1.026,false,1.5,1.4,285.20999999999998,-103.180000000000007,0.0],[6307,true,true,null,935.769999999999982,1.0,null,null,1.004,false,942.379999999999995,232.379999999999995,503.569999999999993,-157.599999999999994,0.0],[6308,true,true,null,948.470000000000027,1.0,null,null,1.003,false,951.399999999999977,241.400000000000006,536.07000000000005,-150.689999999999998,0.0],[6309,true,true,null,945.470000000000027,1.0,null,null,1.004,false,948.399999999999977,238.400000000000006,554.990000000000009,-151.509999999999991,0.0],[6310,true,true,null,1500.329999999999927,1.0,null,null,1.02,false,1503.0,403.0,657.680000000000064,-222.980000000000018,0.0],[6311,true,true,null,1500.329999999999927,1.0,null,null,1.022,false,1503.0,403.0,657.680000000000064,-222.980000000000018,0.0],[6312,true,true,null,1495.009999999999991,1.0,null,null,1.017,false,1498.0,398.0,390.29000000000002,-446.449999999999989,0.0],[6313,true,true,null,1451.559999999999945,1.0,null,null,1.015,false,1498.0,398.0,368.810000000000002,-446.449999999999989,0.0],[6314,true,true,null,66.900000000000006,1.0,null,null,0.992,false,125.0,8.5,93.600000000000008,-50.899999999999999,0.0],[742,true,true,null,3.56,1.0,null,null,0.983,false,6.7,0.0,3.72,-3.7,0.0],[6315,true,true,null,68.900000000000006,1.0,null,null,0.994,false,125.0,8.5,93.600000000000008,-50.899999999999999,0.0],[6316,true,true,null,121.689999999999998,1.0,null,null,1.019,false,148.200000000000017,4.2,72.700000000000003,-2.56,0.0],[6318,true,true,null,557.050000000000068,1.0,null,null,1.001,false,610.0,310.0,359.660000000000025,-170.849999999999994,0.0],[6319,true,true,null,557.009999999999991,1.0,null,null,1.0,false,610.0,310.0,323.139999999999986,-212.840000000000003,0.0],[6321,true,true,null,40.979999999999997,1.0,null,null,0.992,false,50.0,0.0,17.809999999999999,-10.970000000000001,0.0],[6322,true,true,null,39.990000000000002,1.0,null,null,0.992,false,50.0,0.0,17.809999999999999,-10.970000000000001,0.0],[6323,true,true,null,41.979999999999997,1.0,null,null,0.992,false,50.0,0.0,17.809999999999999,-10.970000000000001,0.0],[6324,true,true,null,41.979999999999997,1.0,null,null,0.992,false,50.0,0.0,17.809999999999999,-10.970000000000001,0.0],[6325,true,true,null,40.979999999999997,1.0,null,null,0.992,false,50.0,0.0,17.809999999999999,-10.970000000000001,0.0],[6326,true,true,null,38.990000000000002,1.0,null,null,0.992,false,50.0,0.0,17.809999999999999,-10.970000000000001,0.0],[743,true,true,null,3.25,1.0,null,null,0.975,false,26.600000000000001,0.0,15.0,-19.760000000000002,0.0],[6327,true,true,null,949.759999999999991,1.0,null,null,1.004,false,1000.0,280.0,521.600000000000023,-128.949999999999989,0.0],[6328,true,true,null,960.769999999999982,1.0,null,null,1.006,false,1000.0,280.0,521.600000000000023,-128.949999999999989,0.0],[6329,true,true,null,960.769999999999982,1.0,null,null,1.008,false,1000.0,280.0,566.430000000000064,-129.840000000000003,0.0],[6330,true,true,null,927.159999999999968,1.0,null,null,1.007,false,930.0,280.0,565.460000000000036,-149.319999999999993,0.0],[6331,true,true,null,24.690000000000001,1.0,null,null,1.004,false,57.0,0.0,21.890000000000001,-12.76,0.0],[6332,true,true,null,25.710000000000001,1.0,null,null,1.004,false,57.0,0.0,21.890000000000001,-12.76,0.0],[6335,true,true,null,8.800000000000001,1.0,null,null,1.021,false,433.800000000000011,248.800000000000011,274.220000000000027,-164.5,0.0],[6336,true,true,null,924.759999999999991,1.0,null,null,0.999,false,927.690000000000055,237.689999999999998,526.299999999999954,-151.259999999999991,0.0],[6337,true,true,null,924.759999999999991,1.0,null,null,0.998,false,927.690000000000055,237.689999999999998,526.299999999999954,-151.259999999999991,0.0],[6338,true,true,null,931.759999999999991,1.0,null,null,0.997,false,934.690000000000055,244.689999999999998,527.100000000000023,-149.349999999999994,0.0],[744,true,true,null,4.6,1.0,null,null,1.011,false,7.0,1.0,2.0,-2.0,0.0],[6339,true,true,null,946.769999999999982,1.0,null,null,0.997,false,949.700000000000046,259.689999999999998,528.950000000000046,-145.200000000000017,0.0],[6341,true,true,null,1244.450000000000046,1.0,null,null,1.042,false,1380.0,340.0,407.480000000000018,-463.970000000000027,0.0],[6342,true,true,null,1189.460000000000036,1.0,null,null,1.044,false,1380.0,340.0,407.480000000000018,-463.970000000000027,0.0],[6343,true,true,null,22.489999999999998,1.0,null,null,1.014,false,31.5,0.0,22.469999999999999,-13.529999999999999,0.0],[6344,true,true,null,52.789999999999999,1.0,null,null,1.03,false,65.0,0.0,37.340000000000003,-22.66,0.0],[6345,true,true,null,51.030000000000001,1.0,null,null,1.026,false,70.0,0.0,22.34,-21.699999999999999,0.0],[6346,true,true,null,55.840000000000003,1.0,null,null,1.028,false,65.0,0.0,55.380000000000003,-34.619999999999998,0.0],[6347,true,true,null,54.759999999999998,1.0,null,null,1.033,false,70.0,0.0,39.630000000000002,-20.370000000000001,0.0],[6348,true,true,null,1301.610000000000127,1.0,null,null,1.028,false,1308.0,288.0,566.82000000000005,-494.400000000000034,0.0],[6349,true,true,null,1233.610000000000127,1.0,null,null,1.03,false,1308.0,288.0,566.82000000000005,-494.400000000000034,0.0],[758,true,true,null,16.109999999999999,1.0,null,null,1.037,false,37.5,0.0,10.0,-6.0,0.0],[6350,true,true,null,7.26,1.0,null,null,0.978,false,458.259999999999991,89.260000000000005,286.78000000000003,-117.109999999999999,0.0],[6351,true,true,null,27.309999999999999,1.0,null,null,1.007,false,36.0,0.0,10.34,-12.56,0.0],[6352,true,true,null,921.180000000000064,1.0,null,null,1.011,false,947.0,237.0,525.980000000000018,-146.099999999999994,0.0],[6353,true,true,null,942.080000000000041,1.0,null,null,1.009,false,947.0,267.0,527.889999999999986,-146.099999999999994,0.0],[6354,true,true,null,944.120000000000005,1.0,null,null,1.009,false,947.0,237.0,525.980000000000018,-146.099999999999994,0.0],[6355,true,true,null,937.210000000000036,1.0,null,null,1.007,false,947.0,237.0,525.980000000000018,-146.099999999999994,0.0],[6356,true,true,null,944.120000000000005,1.0,null,null,1.007,false,947.0,237.0,525.980000000000018,-146.099999999999994,0.0],[6357,true,true,null,856.090000000000032,1.0,null,null,1.012,false,947.0,237.0,525.980000000000018,-146.099999999999994,0.0],[6358,true,true,null,166.280000000000001,1.0,null,null,1.018,false,255.0,140.0,132.47999999999999,-11.56,0.0],[6360,true,true,null,220.240000000000009,1.0,null,null,1.043,false,260.0,130.0,166.409999999999997,-98.900000000000006,0.0],[759,true,true,null,15.44,1.0,null,null,1.035,false,37.5,0.0,10.0,-6.0,0.0],[6363,true,true,null,54.119999999999997,1.0,null,null,0.967,false,57.0,0.0,32.549999999999997,-7.93,0.0],[6364,true,true,null,23.030000000000001,1.0,null,null,1.043,false,31.0,-15.0,20.129999999999999,-7.22,0.0],[6365,true,true,null,10.84,1.0,null,null,1.061,false,19.5,0.0,7.83,-4.91,0.0],[6366,true,true,null,9.869999999999999,1.0,null,null,1.061,false,19.5,0.0,7.83,-4.91,0.0],[6367,true,true,null,15.41,1.0,null,null,1.028,false,21.0,0.0,8.32,-5.51,0.0],[6368,true,true,null,28.449999999999999,1.0,null,null,1.002,false,35.0,0.0,6.13,-7.24,0.0],[6369,true,true,null,29.43,1.0,null,null,1.003,false,35.0,0.0,6.13,-7.24,0.0],[6370,true,true,null,29.43,1.0,null,null,1.003,false,35.0,0.0,11.43,-11.73,0.0],[6371,true,true,null,29.43,1.0,null,null,1.003,false,35.0,0.0,6.13,-7.24,0.0],[6372,true,true,null,241.310000000000002,1.0,null,null,0.962,false,250.0,135.0,115.629999999999996,-113.650000000000006,0.0],[799,true,true,null,25.57,1.0,null,null,1.02,false,31.0,0.0,15.0,-17.0,0.0],[6373,true,true,null,40.700000000000003,1.0,null,null,0.984,false,47.0,0.0,10.25,-5.51,0.0],[6374,true,true,null,59.729999999999997,1.0,null,null,1.01,false,73.0,0.0,51.920000000000002,-31.579999999999998,0.0],[6375,true,true,null,68.829999999999998,1.0,null,null,1.018,false,69.0,0.0,55.200000000000003,-28.489999999999998,0.0],[6376,true,true,null,69.829999999999998,1.0,null,null,1.017,false,76.0,0.0,51.280000000000001,-28.719999999999999,0.0],[6377,true,true,null,61.75,1.0,null,null,1.011,false,77.5,0.0,51.130000000000003,-30.120000000000001,0.0],[6378,true,true,null,20.600000000000001,1.0,null,null,1.042,false,31.0,0.0,15.289999999999999,-10.67,0.0],[6379,true,true,null,20.600000000000001,1.0,null,null,1.042,false,31.0,0.0,15.289999999999999,-10.67,0.0],[6380,true,true,null,19.66,1.0,null,null,1.043,false,31.0,0.0,15.41,-10.67,0.0],[6381,true,true,null,28.0,1.0,null,null,1.027,false,50.0,0.0,32.200000000000003,-15.57,0.0],[6382,true,true,null,228.02000000000001,1.0,null,null,0.994,false,250.0,137.0,170.469999999999999,-33.560000000000002,0.0],[800,true,true,null,26.91,1.0,null,null,1.022,false,31.0,0.0,15.0,-17.0,0.0],[6383,true,true,null,210.509999999999991,1.0,null,null,0.994,false,250.0,137.0,170.469999999999999,-33.560000000000002,0.0],[6384,true,true,null,9.109999999999999,1.0,null,null,0.914,false,19.0,0.0,10.619999999999999,-7.12,0.0],[6385,true,true,null,5.9,1.0,null,null,1.002,false,419.900000000000034,201.900000000000006,215.240000000000009,-161.259999999999991,0.0],[6386,true,true,null,42.079999999999998,1.0,null,null,1.067,false,52.0,0.0,39.82,-19.390000000000001,0.0],[6387,true,true,null,42.079999999999998,1.0,null,null,1.067,false,52.0,0.0,39.82,-19.390000000000001,0.0],[6390,true,true,null,53.259999999999998,1.0,null,null,0.985,false,65.0,0.0,79.870000000000004,-54.689999999999998,0.0],[6391,true,true,null,52.200000000000003,1.0,null,null,0.985,false,65.0,0.0,79.870000000000004,-54.689999999999998,0.0],[6392,true,true,null,870.060000000000059,1.0,null,null,1.056,false,950.0,237.0,511.819999999999993,-146.330000000000012,0.0],[6393,true,true,null,889.060000000000059,1.0,null,null,1.03,false,950.0,237.0,533.700000000000046,-146.330000000000012,0.0],[6394,true,true,null,12.0,1.0,null,null,1.006,false,316.0,168.0,194.0,-149.75,0.0],[801,true,true,null,25.920000000000002,1.0,null,null,1.021,false,31.0,0.0,15.0,-17.0,0.0],[6396,true,true,null,1289.259999999999991,1.0,null,null,1.015,false,1360.0,289.0,671.919999999999959,-213.289999999999992,0.0],[6397,true,true,null,43.780000000000001,1.0,null,null,1.029,false,61.0,0.0,28.899999999999999,-24.219999999999999,0.0],[6398,true,true,null,43.780000000000001,1.0,null,null,1.029,false,61.0,0.0,28.899999999999999,-24.219999999999999,0.0],[6399,true,true,null,18.25,1.0,null,null,1.004,false,35.0,0.0,23.239999999999998,-10.1,0.0],[6400,true,true,null,1286.75,1.0,null,null,1.021,false,1380.0,350.0,706.840000000000032,-235.159999999999997,0.0],[6401,true,true,null,1300.5,1.0,null,null,1.034,false,1380.0,350.0,706.840000000000032,-235.159999999999997,0.0],[6402,true,true,null,1248.509999999999991,1.0,null,null,1.036,false,1380.0,350.0,695.830000000000041,-235.159999999999997,0.0],[6403,true,true,null,1286.990000000000009,1.0,null,null,1.032,false,1290.0,350.0,681.310000000000059,-260.689999999999998,0.0],[6404,true,true,null,3.89,1.0,null,null,1.023,false,51.0,0.8,37.509999999999998,-10.49,0.0],[6405,true,true,null,1307.799999999999954,1.0,null,null,1.028,false,1380.0,340.0,675.480000000000018,-207.210000000000008,0.0],[131,true,true,null,7.12,1.0,null,null,1.065,false,17.0,0.0,3.0,-3.0,0.0],[813,true,true,null,23.280000000000001,1.0,null,null,1.023,false,32.0,1.0,6.0,-9.0,0.0],[6406,true,true,null,1232.539999999999964,1.0,null,null,1.03,false,1380.0,340.0,675.480000000000018,-207.210000000000008,0.0],[6411,true,true,null,64.900000000000006,1.0,null,null,0.998,false,80.0,0.0,42.659999999999997,-21.780000000000001,0.0],[6412,true,true,null,229.02000000000001,1.0,null,null,1.012,false,245.0,85.0,109.159999999999997,-75.850000000000008,0.0],[6413,true,true,null,576.149999999999977,1.0,null,null,0.968,false,605.0,295.0,230.469999999999999,-115.950000000000003,0.0],[6414,true,true,null,28.129999999999999,1.0,null,null,1.03,false,56.0,0.0,24.739999999999998,-16.5,0.0],[6415,true,true,null,40.920000000000002,1.0,null,null,1.032,false,56.0,0.0,24.739999999999998,-16.5,0.0],[6416,true,true,null,3.27,1.0,null,null,0.994,false,58.0,0.0,61.200000000000003,-1.88,0.0],[6417,true,true,null,15.75,1.0,null,null,1.03,false,23.100000000000001,0.0,17.149999999999999,-10.85,0.0],[6418,true,true,null,15.75,1.0,null,null,1.03,false,23.100000000000001,0.0,17.140000000000001,-10.859999999999999,0.0],[6419,true,true,null,376.470000000000027,1.0,null,null,1.002,false,439.800000000000011,230.800000000000011,169.819999999999993,-6.72,0.0],[814,true,true,null,23.25,1.0,null,null,1.024,false,32.0,1.0,6.0,-9.0,0.0],[6420,true,true,null,-1.97,1.0,null,null,1.081,false,80.0,-80.0,18.02,-6.63,0.0],[6421,true,true,null,-1.97,1.0,null,null,1.085,false,80.0,-80.0,18.02,-6.63,0.0],[6422,true,true,null,-1.97,1.0,null,null,1.085,false,80.0,-80.0,18.02,-6.63,0.0],[6423,true,true,null,29.199999999999999,1.0,null,null,0.966,false,32.0,0.0,19.57,-10.43,0.0],[6425,true,true,null,29.199999999999999,1.0,null,null,0.966,false,32.0,0.0,19.57,-10.43,0.0],[6427,true,true,null,25.620000000000001,1.0,null,null,1.032,false,44.0,0.0,14.640000000000001,-6.01,0.0],[6428,true,true,null,27.41,1.0,null,null,1.05,false,31.0,0.0,19.260000000000002,-13.380000000000001,0.0],[6429,true,true,null,26.43,1.0,null,null,1.049,false,31.0,0.0,19.260000000000002,-13.380000000000001,0.0],[6430,true,true,null,20.859999999999999,1.0,null,null,1.03,false,38.0,0.0,27.02,-18.300000000000001,0.0],[6431,true,true,null,18.879999999999999,1.0,null,null,1.024,false,38.0,0.0,26.960000000000001,-18.510000000000002,0.0],[824,true,true,null,1.16,1.0,null,null,1.042,false,7.0,0.0,3.0,-3.0,0.0],[6432,true,true,null,73.400000000000006,1.0,null,null,0.976,false,84.0,0.0,54.619999999999998,-24.010000000000002,0.0],[6434,true,true,null,36.740000000000002,1.0,null,null,1.03,false,130.0,0.0,30.84,-18.18,0.0],[6435,true,true,null,56.030000000000001,1.0,null,null,1.031,false,130.0,0.0,30.84,-18.18,0.0],[6436,true,true,null,1309.650000000000091,1.0,null,null,0.994,false,1332.0,282.0,671.480000000000018,-239.659999999999997,0.0],[6437,true,true,null,1283.650000000000091,1.0,null,null,0.994,false,1332.0,282.0,671.480000000000018,-239.659999999999997,0.0],[6438,true,true,null,278.840000000000032,1.0,null,null,1.002,false,285.0,150.0,168.900000000000006,14.279999999999999,0.0],[6439,true,true,null,580.050000000000068,1.0,null,null,0.994,false,595.0,225.0,204.969999999999999,-97.540000000000006,0.0],[6440,true,true,null,411.5,1.0,null,null,1.019,false,443.0,127.0,144.310000000000002,-19.300000000000001,0.0],[6441,true,true,null,7.0,1.0,null,null,0.985,false,443.0,127.0,45.5,-19.379999999999999,0.0],[6442,true,true,null,44.600000000000001,1.0,null,null,1.056,false,50.0,0.0,27.73,-24.25,0.0],[828,true,true,null,9.77,1.0,null,null,1.032,false,27.0,0.0,10.0,-10.0,0.0],[6443,true,true,null,46.579999999999998,1.0,null,null,1.057,false,50.0,0.0,27.73,-24.25,0.0],[6444,true,true,null,23.23,1.0,null,null,0.931,false,30.0,0.0,21.620000000000001,-13.24,0.0],[6445,true,true,null,33.490000000000002,1.0,null,null,1.007,false,85.0,0.0,57.420000000000002,-17.850000000000001,0.0],[6446,true,true,null,919.340000000000032,1.0,null,null,1.0,false,951.950000000000046,231.950000000000017,543.139999999999986,-150.490000000000009,0.0],[6447,true,true,null,911.340000000000032,1.0,null,null,1.0,false,954.940000000000055,234.939999999999998,543.370000000000005,-149.640000000000015,0.0],[6448,true,true,null,27.850000000000001,1.0,null,null,1.051,false,49.0,0.0,23.100000000000001,-20.199999999999999,0.0],[6449,true,true,null,34.789999999999999,1.0,null,null,1.049,false,49.0,0.0,22.18,-20.199999999999999,0.0],[6450,true,true,null,34.789999999999999,1.0,null,null,1.049,false,49.0,0.0,22.18,-20.199999999999999,0.0],[6451,true,true,null,133.430000000000007,1.0,null,null,0.998,false,161.0,-161.0,114.060000000000002,-45.939999999999998,0.0],[6452,true,true,null,135.360000000000014,1.0,null,null,0.998,false,156.0,0.0,112.390000000000001,-47.609999999999999,0.0],[834,true,true,null,0.0,1.0,null,null,0.984,false,15.0,0.0,3.0,2.9,0.0],[6453,true,true,null,11.369999999999999,1.0,null,null,1.011,false,99.0,0.0,22.91,-33.960000000000001,0.0],[6454,true,true,null,37.0,1.0,null,null,1.012,false,99.0,0.0,22.91,-33.960000000000001,0.0],[6455,true,true,null,932.940000000000055,1.0,null,null,0.99,false,985.0,275.0,405.579999999999984,-162.030000000000001,0.0],[6456,true,true,null,903.759999999999991,1.0,null,null,0.988,false,985.0,275.0,400.579999999999984,-167.030000000000001,0.0],[6457,true,true,null,951.789999999999964,1.0,null,null,0.987,false,985.0,275.0,400.579999999999984,-167.030000000000001,0.0],[6458,true,true,null,962.129999999999995,1.0,null,null,0.984,false,985.0,275.0,400.579999999999984,-167.030000000000001,0.0],[6462,true,true,null,61.140000000000001,1.0,null,null,0.925,false,64.0,-64.0,89.400000000000006,-50.600000000000001,0.0],[6463,true,true,null,61.140000000000001,1.0,null,null,0.925,false,64.0,-64.0,89.400000000000006,-50.600000000000001,0.0],[6464,true,true,null,61.140000000000001,1.0,null,null,0.925,false,64.0,-64.0,89.400000000000006,-50.600000000000001,0.0],[6465,true,true,null,227.560000000000002,1.0,null,null,1.011,false,268.0,138.0,148.090000000000003,-87.359999999999999,0.0],[863,true,true,null,8.029999999999999,1.0,null,null,1.006,false,14.0,0.0,7.0,-7.0,0.0],[6466,true,true,null,201.560000000000002,1.0,null,null,1.012,false,268.0,138.0,148.090000000000003,-87.359999999999999,0.0],[6467,true,true,null,157.5,1.0,null,null,1.088,false,180.0,0.0,97.799999999999997,-42.200000000000003,0.0],[968,true,true,null,41.119999999999997,1.0,null,null,1.056,false,50.0,0.0,27.0,-9.0,0.0],[976,true,true,null,4.17,1.0,null,null,1.014,false,8.0,0.0,5.0,-5.0,0.0],[990,true,true,null,1.14,1.0,null,null,1.038,false,4.0,0.0,1.0,-1.0,0.0],[1012,true,true,null,0.12,1.0,null,null,1.064,false,3.0,0.0,1.0,0.9,0.0],[136,true,true,null,4.0,1.0,null,null,1.032,false,18.0,0.0,0.8,-0.8,0.0],[1016,true,true,null,2.96,1.0,null,null,1.024,false,7.2,0.0,4.0,-4.0,0.0],[1060,true,true,null,7.24,1.0,null,null,1.073,false,11.800000000000001,7.0,6.0,-3.0,0.0],[1069,true,true,null,0.0,1.0,null,null,0.973,false,12.0,0.0,2.0,1.9,0.0],[1111,true,true,null,14.199999999999999,1.0,null,null,1.073,false,18.0,14.0,6.0,-6.0,0.0],[1213,true,true,null,32.130000000000003,1.0,null,null,1.071,false,62.0,0.0,40.0,-40.0,0.0],[1214,true,true,null,3.57,1.0,null,null,1.062,false,41.399999999999999,0.0,12.42,-11.59,0.0],[1289,true,true,null,1.0,1.0,null,null,1.058,false,8.0,0.0,2.6,-2.8,0.0],[1313,true,true,null,9.970000000000001,1.0,null,null,1.05,false,17.0,0.0,1.0,0.9,0.0],[1328,true,true,null,0.0,1.0,null,null,1.066,false,5.0,0.0,1.0,0.9,0.0],[1347,true,true,null,0.0,1.0,null,null,1.0,false,11.0,0.0,5.0,1.0,0.0],[157,true,true,null,7.05,1.0,null,null,0.947,false,17.899999999999999,0.0,10.0,-13.0,0.0],[1359,true,true,null,28.879999999999999,1.0,null,null,1.037,false,45.0,0.0,18.0,-18.0,0.0],[1365,true,true,null,7.48,1.0,null,null,1.029,false,13.0,0.0,7.0,-5.0,0.0],[1422,true,true,null,41.090000000000003,1.0,null,null,1.037,false,50.0,0.0,50.0,-50.0,0.0],[1519,true,true,null,198.950000000000017,1.0,null,null,1.091,false,239.0,44.0,100.0,-60.0,0.0],[1521,true,true,null,79.680000000000007,1.0,null,null,1.1,false,239.0,44.0,100.0,-60.0,0.0],[1522,true,true,null,76.450000000000003,1.0,null,null,0.957,false,169.0,82.0,70.0,-45.0,0.0],[1520,true,true,null,159.150000000000006,1.0,null,null,0.959,false,169.0,82.0,70.0,-45.0,0.0],[1559,true,true,null,8.220000000000001,1.0,null,null,1.047,false,49.0,1.0,22.0,-9.0,0.0],[1598,true,true,null,5.19,1.0,null,null,1.041,false,36.0,0.0,11.0,-12.0,0.0],[1604,true,true,null,39.359999999999999,1.0,null,null,1.039,false,42.0,0.0,20.0,-10.0,0.0],[195,true,true,null,2.44,1.0,null,null,1.037,false,15.0,0.0,1.0,0.9,0.0],[1629,true,true,null,30.690000000000001,1.0,null,null,1.059,false,78.0,0.0,1.0,-6.35,0.0],[1644,true,true,null,14.800000000000001,1.0,null,null,1.081,false,52.0,0.0,10.0,-13.0,0.0],[1692,true,true,null,4.07,1.0,null,null,0.982,false,7.1,0.0,2.13,-1.99,0.0],[1696,true,true,null,1.35,1.0,null,null,1.029,false,15.0,0.0,0.0,0.0,0.0],[1702,true,true,null,0.0,1.0,null,null,1.009,false,18.0,0.0,2.0,1.9,0.0],[1732,true,true,null,0.76,1.0,null,null,1.018,false,12.0,0.0,7.5,-7.5,0.0],[1738,true,true,null,7.58,1.0,null,null,1.039,false,27.0,0.0,14.0,-14.0,0.0],[1745,true,true,null,27.890000000000001,1.0,null,null,1.127,false,40.0,0.0,20.0,-18.0,0.0],[1746,true,true,null,37.240000000000002,1.0,null,null,1.109,false,40.0,0.0,20.0,-18.0,0.0],[1747,true,true,null,37.240000000000002,1.0,null,null,1.12,false,40.0,0.0,20.0,-18.0,0.0],[259,true,true,null,27.18,1.0,null,null,1.071,false,30.0,0.0,1.0,0.9,0.0],[1869,true,true,null,38.450000000000003,1.0,null,null,1.026,false,44.0,0.0,20.0,-9.0,0.0],[1892,true,true,null,18.300000000000001,1.0,null,null,1.036,false,24.0,0.0,4.0,-4.0,0.0],[1893,true,true,null,15.83,1.0,null,null,1.035,false,24.0,0.0,4.0,-4.0,0.0],[1894,true,true,null,18.73,1.0,null,null,1.04,false,24.0,0.0,4.0,-4.0,0.0],[1895,true,true,null,18.210000000000001,1.0,null,null,1.041,false,24.0,0.0,4.0,-4.0,0.0],[1947,true,true,null,18.18,1.0,null,null,1.038,false,30.0,0.0,2.0,1.9,0.0],[1966,true,true,null,14.69,1.0,null,null,1.053,false,24.0,0.0,8.0,-7.0,0.0],[1967,true,true,null,14.199999999999999,1.0,null,null,1.062,false,24.0,0.0,5.65,-0.01,0.0],[1968,true,true,null,17.190000000000001,1.0,null,null,1.053,false,24.0,0.0,8.0,-7.0,0.0],[1969,true,true,null,16.18,1.0,null,null,1.062,false,24.0,0.0,8.0,-7.0,0.0],[262,true,true,null,3.85,1.0,null,null,0.998,false,8.0,0.0,4.0,-4.0,0.0],[1970,true,true,null,15.17,1.0,null,null,1.063,false,24.0,0.0,8.0,-7.0,0.0],[1979,true,true,null,25.239999999999998,1.0,null,null,1.033,false,29.0,0.0,10.0,-10.0,0.0],[1980,true,true,null,25.010000000000002,1.0,null,null,1.003,false,29.0,0.0,5.0,-18.0,0.0],[1981,true,true,null,26.210000000000001,1.0,null,null,1.017,false,29.0,0.0,8.0,-18.0,0.0],[1985,true,true,null,1.65,1.0,null,null,1.035,false,4.6,0.5,2.0,-2.0,0.0],[2006,true,true,null,23.07,1.0,null,null,1.026,false,46.0,0.0,21.0,-9.0,0.0],[2017,true,true,null,13.630000000000001,1.0,null,null,1.025,false,24.0,0.0,9.0,-9.0,0.0],[2018,true,true,null,14.02,1.0,null,null,1.029,false,24.0,0.0,9.0,-9.0,0.0],[2027,true,true,null,21.359999999999999,1.0,null,null,1.058,false,30.0,-30.0,7.0,-7.0,0.0],[2049,true,true,null,28.199999999999999,1.0,null,null,1.027,false,34.0,0.0,19.0,-16.0,0.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -96,7 +158,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "switch": { @@ -133,7 +196,7 @@ "ext_grid": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0],\"data\":[[5988,true,null,10.4469232,1.061,450.0,0.0,200.0,-200.0]]}", + "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0],\"data\":[[5988,true,null,10.4469232,1.061,450.0,0.0,200.0,-200.0,1.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -144,7 +207,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "line": { @@ -297,7 +361,7 @@ "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\",\"in_service\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"ps_mw\",\"qs_mvar\",\"qz_mvar\",\"pz_mw\",\"r_ohm\",\"x_ohm\",\"vm_pu\",\"in_service\",\"slack_weight\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "name": "object", @@ -309,7 +373,8 @@ "r_ohm": "float64", "x_ohm": "float64", "vm_pu": "float64", - "in_service": "bool" + "in_service": "bool", + "slack_weight": "float64" } }, "measurement": { @@ -358,13 +423,14 @@ "controller": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"recycle\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"initial_run\",\"recycle\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "object": "object", "in_service": "bool", "order": "float64", "level": "object", + "initial_run": "bool", "recycle": "bool" } }, @@ -388,11 +454,11 @@ "coords": "object" } }, - "version": "2.2.1", + "version": "2.7.1", "converged": true, "name": "", "f_hz": 50, - "sn_mva": 1.0, + "sn_mva": 100, "std_types": { "line": { "NAYY 4x150 SE": { @@ -1272,6 +1338,16 @@ "q_mvar": "float64" } }, + "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" + } + }, "res_sgen": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -1356,6 +1432,341 @@ "va_to_degree": "float64" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_bus_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_line_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo3w_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_ext_grid_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_gen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_sgen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_shunt_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "user_pf_options": {}, "OPF_converged": false } diff --git a/pandapower/networks/power_system_test_case_jsons/case6495rte.json b/pandapower/networks/power_system_test_case_jsons/case6495rte.json index d2fd91e2a..37f2fe026 100644 --- a/pandapower/networks/power_system_test_case_jsons/case6495rte.json +++ b/pandapower/networks/power_system_test_case_jsons/case6495rte.json @@ -58,6 +58,68 @@ "min_q_mvar": "float64" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "storage": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -80,7 +142,7 @@ "gen": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0,1,10,100,101,102,103,104,105,106,107,108,109,11,110,111,112,113,114,115,116,117,118,119,12,120,121,122,123,124,125,126,127,128,129,13,130,131,132,133,134,135,136,137,138,139,14,140,141,142,143,144,145,146,147,148,149,15,150,151,152,153,154,155,156,157,158,159,16,160,161,162,163,164,165,166,167,168,169,17,170,171,172,173,174,175,176,177,178,179,18,180,181,182,183,184,185,186,187,188,189,19,190,191,192,193,194,195,196,197,198,199,2,20,200,201,202,203,204,205,206,207,208,209,21,210,211,212,213,214,215,216,217,218,219,22,220,221,222,223,224,225,226,227,228,229,23,230,231,232,233,234,235,236,237,238,239,24,240,241,242,243,244,245,246,247,248,249,25,250,251,252,253,254,255,256,257,258,259,26,260,261,262,263,264,265,266,267,268,269,27,270,271,272,273,274,275,276,277,278,279,28,280,281,282,283,284,285,286,287,288,289,29,290,291,292,293,294,295,296,297,298,299,3,30,300,301,302,303,304,305,306,307,308,309,31,310,311,312,313,314,315,316,317,318,319,32,320,321,322,323,324,325,326,327,328,329,33,330,331,332,333,334,335,336,337,338,339,34,340,341,342,343,344,345,346,347,348,349,35,350,351,352,353,354,355,356,357,358,359,36,360,361,362,363,364,365,366,367,368,369,37,370,371,372,373,374,375,376,377,378,379,38,380,381,382,383,384,385,386,387,388,389,39,390,391,392,393,394,395,396,397,398,399,4,40,400,401,402,403,404,405,406,407,408,409,41,410,411,412,413,414,415,416,417,418,419,42,420,421,422,423,424,425,426,427,428,429,43,430,431,432,433,434,435,436,437,438,439,44,440,441,442,443,444,445,446,447,448,449,45,450,451,452,453,454,455,456,457,458,459,46,460,461,462,463,464,465,466,467,468,469,47,470,471,472,473,474,475,476,477,478,479,48,480,481,482,483,484,485,486,49,5,50,51,52,53,54,55,56,57,58,59,6,60,61,62,63,64,65,66,67,68,69,7,70,71,72,73,74,75,76,77,78,79,8,80,81,82,83,84,85,86,87,88,89,9,90,91,92,93,94,95,96,97,98,99],\"data\":[[46,true,true,null,8.51,1.0,null,null,1.027,false,16.0,0.0,9.5,-10.0],[56,true,true,null,4.17,1.0,null,null,1.061,false,13.0,0.0,1.0,0.9],[304,true,true,null,0.15,1.0,null,null,1.053,false,15.0,0.0,9.0,-9.0],[2356,true,true,null,19.25,1.0,null,null,1.101,false,24.0,0.0,20.0,-20.0],[2357,true,true,null,19.25,1.0,null,null,1.101,false,24.0,0.0,20.0,-20.0],[2358,true,true,null,13.58,1.0,null,null,1.084,false,24.0,0.0,20.0,-20.0],[2359,true,true,null,19.039999999999999,1.0,null,null,1.102,false,24.0,0.0,20.0,-20.0],[2360,true,true,null,15.25,1.0,null,null,1.104,false,20.0,0.0,20.0,-20.0],[2404,true,true,null,8.789999999999999,1.0,null,null,1.061,false,36.0,0.0,14.0,-14.0],[2515,true,true,null,39.32,1.0,null,null,1.145,false,50.0,38.0,19.0,-8.0],[2524,true,true,null,3.93,1.0,null,null,1.034,false,9.6,0.0,1.23,-0.96],[2550,true,true,null,4.45,1.0,null,null,1.025,false,16.0,0.0,12.0,-9.0],[2619,true,true,null,5.96,1.0,null,null,1.012,false,28.0,0.0,16.0,-7.0],[335,true,true,null,7.91,1.0,null,null,1.026,false,13.0,0.0,5.0,-6.0],[2636,true,true,null,13.109999999999999,1.0,null,null,1.012,false,18.0,0.0,10.0,-10.0],[2637,true,true,null,11.210000000000001,1.0,null,null,1.052,false,22.0,0.0,14.0,-14.0],[2644,true,true,null,2.18,1.0,null,null,1.064,false,28.0,0.0,4.0,3.9],[2651,true,true,null,5.06,1.0,null,null,1.031,false,9.800000000000001,0.0,6.0,-6.0],[2652,true,true,null,27.280000000000001,1.0,null,null,1.021,false,35.0,0.0,12.0,-15.0],[2656,true,true,null,1.18,1.0,null,null,1.095,false,7.0,0.0,1.0,0.9],[2657,true,true,null,4.07,1.0,null,null,1.058,false,12.0,0.0,4.26,-7.0],[2687,true,true,null,3.53,1.0,null,null,1.028,false,15.0,0.0,6.0,-7.0],[2726,true,true,null,2.2,1.0,null,null,1.062,false,17.0,0.0,10.0,-10.0],[2825,true,true,null,6.15,1.0,null,null,1.015,false,12.0,0.0,5.0,-2.0],[363,true,true,null,125.150000000000006,1.0,null,null,1.049,false,130.0,0.0,59.0,-26.0],[2891,true,true,null,4.0,1.0,null,null,1.071,false,26.5,6.0,9.0,-9.0],[2985,true,true,null,10.210000000000001,1.0,null,null,1.051,false,34.0,0.0,17.0,-17.0],[3014,true,true,null,8.07,1.0,null,null,1.048,false,13.0,0.0,8.0,-8.0],[3090,true,true,null,3.22,1.0,null,null,0.98,false,19.5,0.0,5.0,-10.0],[3108,true,true,null,33.299999999999997,1.0,null,null,1.066,false,38.0,0.0,20.0,-19.0],[3109,true,true,null,28.789999999999999,1.0,null,null,1.097,false,38.0,0.0,20.0,-19.0],[3110,true,true,null,30.780000000000001,1.0,null,null,1.081,false,38.0,0.0,20.0,-20.0],[3128,true,true,null,4.65,1.0,null,null,1.073,false,11.0,0.0,1.0,0.9],[3149,true,true,null,39.289999999999999,1.0,null,null,1.06,false,48.0,5.0,22.0,-10.0],[3151,true,true,null,5.05,1.0,null,null,1.076,false,16.0,0.0,1.0,0.9],[446,true,true,null,17.34,1.0,null,null,0.999,false,25.0,0.0,8.0,-9.0],[3202,true,true,null,6.19,1.0,null,null,1.098,false,20.0,0.0,2.0,0.0],[3231,true,true,null,13.609999999999999,1.0,null,null,1.07,false,22.0,0.0,2.0,1.9],[3238,true,true,null,4.93,1.0,null,null,1.041,false,10.0,0.0,4.0,-4.0],[3258,true,true,null,12.460000000000001,1.0,null,null,1.055,false,42.0,0.0,25.0,-20.0],[3272,true,true,null,30.949999999999999,1.0,null,null,1.122,false,36.100000000000001,0.0,20.0,-15.0],[3273,true,true,null,31.399999999999999,1.0,null,null,1.075,false,36.100000000000001,0.0,20.0,-15.0],[3274,true,true,null,31.399999999999999,1.0,null,null,1.052,false,36.100000000000001,0.0,20.0,-15.0],[3293,true,true,null,4.89,1.0,null,null,1.054,false,13.0,0.0,5.0,-5.0],[3300,true,true,null,3.93,1.0,null,null,1.035,false,17.0,0.0,1.0,0.9],[3397,true,true,null,38.130000000000003,1.0,null,null,1.043,false,43.0,0.0,22.0,-10.0],[463,true,true,null,4.27,1.0,null,null,1.168,false,27.0,1.0,6.0,-3.0],[3400,true,true,null,7.71,1.0,null,null,1.061,false,24.0,0.0,7.0,-7.52],[3410,true,true,null,2.24,1.0,null,null,1.043,false,7.5,0.0,1.0,-1.0],[3416,true,true,null,12.68,1.0,null,null,1.013,false,23.100000000000001,0.0,14.0,-14.0],[3460,true,true,null,7.33,1.0,null,null,1.028,false,13.199999999999999,0.0,8.0,-8.0],[3483,true,true,null,28.579999999999998,1.0,null,null,1.095,false,53.0,0.0,17.0,-10.0],[3496,true,true,null,22.02,1.0,null,null,1.048,false,35.0,0.0,15.0,-16.170000000000002],[3513,true,true,null,0.55,1.0,null,null,1.058,false,26.199999999999999,0.0,16.0,-16.0],[3536,true,true,null,3.85,1.0,null,null,1.048,false,12.800000000000001,0.0,7.6,-7.6],[3579,true,true,null,14.710000000000001,1.0,null,null,1.027,false,20.0,0.8,6.0,-10.0],[3578,true,true,null,15.220000000000001,1.0,null,null,1.038,false,20.0,0.8,4.2,-4.2],[529,true,true,null,1.87,1.0,null,null,1.044,false,8.0,0.0,4.8,-4.8],[3592,true,true,null,11.83,1.0,null,null,1.077,false,23.0,0.0,10.0,-9.0],[3596,true,true,null,10.800000000000001,1.0,null,null,1.021,false,40.0,-40.0,30.0,-10.0],[3643,true,true,null,0.0,1.0,null,null,1.053,false,7.0,0.0,1.0,0.9],[3658,true,true,null,5.72,1.0,null,null,1.013,false,12.0,0.0,7.0,-7.0],[3683,true,true,null,0.17,1.0,null,null,1.035,false,9.5,0.0,6.0,-6.0],[3706,true,true,null,6.76,1.0,null,null,1.055,false,18.0,0.0,8.0,-8.0],[3708,true,true,null,39.219999999999999,1.0,null,null,1.042,false,44.0,0.0,17.0,-17.0],[3739,true,true,null,6.36,1.0,null,null,1.034,false,11.199999999999999,5.6,4.6,-4.1],[3752,true,true,null,4.01,1.0,null,null,1.023,false,12.0,0.0,1.2,-1.2],[3807,true,true,null,33.130000000000003,1.0,null,null,1.049,false,37.799999999999997,0.0,12.0,-8.0],[545,true,true,null,0.0,1.0,null,null,1.051,false,9.0,0.0,2.0,1.9],[3808,true,true,null,30.809999999999999,1.0,null,null,1.062,false,37.799999999999997,0.0,12.0,-8.0],[3809,true,true,null,30.32,1.0,null,null,1.069,false,37.799999999999997,0.0,12.0,-8.0],[3833,true,true,null,4.58,1.0,null,null,1.027,false,12.0,0.0,7.2,-7.2],[3844,true,true,null,4.28,1.0,null,null,1.039,false,22.0,0.0,6.0,-4.0],[3859,true,true,null,3.82,1.0,null,null,1.032,false,9.0,0.0,3.0,-3.0],[3960,true,true,null,33.090000000000003,1.0,null,null,1.021,false,40.0,1.0,6.0,-6.0],[3959,true,true,null,32.299999999999997,1.0,null,null,1.032,false,40.0,1.0,5.0,-15.0],[3978,true,true,null,1.23,1.0,null,null,1.005,false,8.0,0.0,3.0,-3.0],[4046,true,true,null,18.899999999999999,1.0,null,null,1.028,false,27.0,0.0,6.0,-11.0],[4120,true,true,null,7.5,1.0,null,null,1.035,false,12.300000000000001,0.0,5.0,-5.0],[582,true,true,null,3.18,1.0,null,null,1.021,false,16.0,0.0,7.0,-4.0],[4160,true,true,null,17.16,1.0,null,null,1.054,false,24.0,0.0,10.0,-10.0],[4222,true,true,null,8.09,1.0,null,null,1.039,false,13.0,0.0,13.0,0.0],[4235,true,true,null,24.210000000000001,1.0,null,null,1.064,false,42.0,0.0,42.0,-42.0],[4236,true,true,null,10.800000000000001,1.0,null,null,0.976,false,19.0,0.0,5.32,-5.0],[4266,true,true,null,6.87,1.0,null,null,1.053,false,12.0,0.0,5.0,-5.0],[4290,true,true,null,17.199999999999999,1.0,null,null,1.022,false,46.0,0.0,20.0,-34.0],[4306,true,true,null,39.229999999999997,1.0,null,null,1.05,false,44.0,0.0,25.0,-25.0],[4310,true,true,null,13.289999999999999,1.0,null,null,1.063,false,18.0,0.0,14.0,-14.0],[4318,true,true,null,21.449999999999999,1.0,null,null,1.02,false,39.0,0.0,24.0,-24.0],[4336,true,true,null,20.170000000000002,1.0,null,null,1.045,false,26.0,0.0,2.0,1.9],[609,true,true,null,39.119999999999997,1.0,null,null,1.028,false,45.0,0.0,45.0,-45.0],[4362,true,true,null,2.71,1.0,null,null,1.055,false,15.0,0.0,3.0,2.9],[4422,true,true,null,0.04,1.0,null,null,1.037,false,6.0,0.0,2.0,-2.0],[4442,true,true,null,9.57,1.0,null,null,1.052,false,26.0,0.0,16.0,-17.0],[4469,true,true,null,18.059999999999999,1.0,null,null,1.025,false,23.699999999999999,0.0,2.11,-2.0],[4470,true,true,null,18.960000000000001,1.0,null,null,1.055,false,23.699999999999999,0.0,7.0,-3.0],[4471,true,true,null,18.960000000000001,1.0,null,null,1.055,false,23.699999999999999,0.0,7.0,-3.0],[4472,true,true,null,18.960000000000001,1.0,null,null,1.053,false,23.699999999999999,0.0,7.0,-3.0],[4473,true,true,null,18.960000000000001,1.0,null,null,1.058,false,23.699999999999999,0.0,7.0,-3.0],[4502,true,true,null,11.199999999999999,1.0,null,null,1.039,false,21.0,0.0,6.7,-4.5],[4506,true,true,null,30.789999999999999,1.0,null,null,1.079,false,87.0,0.0,26.100000000000001,-26.859999999999999],[623,true,true,null,-4.03,1.0,null,null,1.039,false,8.300000000000001,-8.300000000000001,8.300000000000001,-8.300000000000001],[4515,true,true,null,12.91,1.0,null,null,1.056,false,22.0,0.0,10.0,-10.0],[4558,true,true,null,10.18,1.0,null,null,1.038,false,22.0,0.0,7.1,-7.1],[4565,true,true,null,41.0,1.0,null,null,1.046,false,45.0,44.0,27.0,-9.0],[4579,true,true,null,1.33,1.0,null,null,1.034,false,12.699999999999999,0.0,5.0,-5.0],[4665,true,true,null,2.28,1.0,null,null,1.061,false,7.0,0.0,0.1,-0.1],[4709,true,true,null,1.13,1.0,null,null,1.056,false,11.5,0.0,1.0,-1.0],[4712,true,true,null,1.08,1.0,null,null,1.068,false,10.0,0.0,1.0,0.9],[4749,true,true,null,4.1,1.0,null,null,1.008,false,10.0,0.0,5.0,-5.0],[4750,true,true,null,3.1,1.0,null,null,1.008,false,10.0,0.0,5.0,-5.0],[4759,true,true,null,11.550000000000001,1.0,null,null,1.049,false,30.0,0.0,10.0,-10.0],[101,true,true,null,17.120000000000001,1.0,null,null,1.03,false,46.0,0.0,21.0,-9.0],[635,true,true,null,0.97,1.0,null,null,1.003,false,15.0,0.0,7.0,0.0],[4796,true,true,null,15.31,1.0,null,null,1.015,false,27.0,0.0,18.0,-18.0],[4809,true,true,null,1.5,1.0,null,null,1.035,false,6.4,0.0,0.64,-0.64],[4810,true,true,null,9.199999999999999,1.0,null,null,1.023,false,15.0,1.0,3.6,-4.5],[4811,true,true,null,9.199999999999999,1.0,null,null,1.022,false,15.0,0.0,3.0,-4.0],[4819,true,true,null,139.069999999999993,1.0,null,null,1.077,false,170.0,-170.0,70.0,-80.0],[4816,true,true,null,134.150000000000006,1.0,null,null,1.077,false,170.0,-170.0,70.0,-80.0],[4818,true,true,null,53.369999999999997,1.0,null,null,1.081,false,150.0,0.0,70.0,-70.0],[4817,true,true,null,52.630000000000002,1.0,null,null,1.082,false,150.0,0.0,70.0,-70.0],[4872,true,true,null,6.6,1.0,null,null,1.042,false,12.800000000000001,0.0,7.7,-7.7],[4892,true,true,null,0.2,1.0,null,null,1.013,false,15.9,0.2,9.800000000000001,-9.800000000000001],[640,true,true,null,160.75,1.0,null,null,1.104,false,239.0,0.0,80.0,-75.0],[4914,true,true,null,22.059999999999999,1.0,null,null,1.005,false,32.0,0.0,12.0,-8.0],[4917,true,true,null,24.68,1.0,null,null,1.03,false,33.0,0.0,12.0,-12.0],[4940,true,true,null,4.15,1.0,null,null,0.953,false,9.6,0.0,6.0,-6.0],[4962,true,true,null,24.760000000000002,1.0,null,null,1.042,false,30.0,0.0,18.0,-18.0],[4975,true,true,null,1.14,1.0,null,null,1.022,false,32.0,0.0,16.0,-18.0],[4976,true,true,null,25.93,1.0,null,null,1.1,false,35.100000000000001,0.0,12.0,-21.0],[4977,true,true,null,27.870000000000001,1.0,null,null,1.118,false,35.100000000000001,0.0,12.0,-21.0],[4978,true,true,null,28.359999999999999,1.0,null,null,1.118,false,35.100000000000001,0.0,12.0,-21.0],[5016,true,true,null,15.59,1.0,null,null,1.07,false,36.0,0.0,4.0,3.9],[5022,true,true,null,45.030000000000001,1.0,null,null,1.015,false,50.600000000000001,0.0,15.18,-14.17],[683,true,true,null,2.24,1.0,null,null,0.966,false,9.0,0.0,6.0,-5.0],[5951,true,true,null,975.310000000000059,1.0,null,null,1.061,false,1100.0,300.0,470.0,-330.0],[5961,true,true,null,495.329999999999984,1.0,null,null,1.078,false,500.0,50.0,300.0,-380.0],[5964,true,true,null,79.820000000000007,1.0,null,null,1.081,false,84.530000000000001,0.0,25.359999999999999,-33.420000000000002],[5977,true,true,null,416.090000000000032,1.0,null,null,1.067,false,450.0,0.0,200.0,-200.0],[5991,true,true,null,44.299999999999997,1.0,null,null,1.09,false,49.0,0.0,14.699999999999999,-14.699999999999999],[5992,true,true,null,204.960000000000008,1.0,null,null,0.993,false,209.670000000000016,0.0,62.899999999999999,-62.899999999999999],[5995,true,true,null,476.470000000000027,1.0,null,null,1.066,false,481.329999999999984,0.0,144.400000000000006,-144.400000000000006],[5998,true,true,null,136.27000000000001,1.0,null,null,1.078,false,600.0,300.0,280.0,-280.0],[5999,true,true,null,133.409999999999997,1.0,null,null,1.078,false,500.0,0.0,280.0,-280.0],[6003,true,true,null,1.82,1.0,null,null,1.091,false,418.0,185.0,304.0,-171.0],[698,true,true,null,27.82,1.0,null,null,1.014,false,37.0,0.0,15.0,-17.0],[6010,true,true,null,71.560000000000002,1.0,null,null,1.079,false,76.210000000000008,0.0,22.859999999999999,-84.810000000000002],[6012,true,true,null,260.70999999999998,1.0,null,null,1.106,false,265.370000000000005,0.0,79.609999999999999,-79.609999999999999],[6015,true,true,null,462.150000000000034,1.0,null,null,1.029,false,466.889999999999986,0.0,140.069999999999993,-142.150000000000006],[6018,true,true,null,1050.920000000000073,1.0,null,null,1.054,false,1056.0,250.0,570.0,-100.0],[6029,true,true,null,99.0,1.0,null,null,1.038,false,600.0,100.0,400.0,-115.0],[6038,true,true,null,2.91,1.0,null,null,1.109,false,7.73,0.0,2.32,-3.61],[6044,true,true,null,501.110000000000014,1.0,null,null,1.058,false,506.0,0.0,151.800000000000011,-151.800000000000011],[6047,true,true,null,1070.700000000000046,1.0,null,null,1.097,false,1075.450000000000046,0.0,322.629999999999996,-322.629999999999996],[6055,true,true,null,1039.130000000000109,1.0,null,null,1.072,false,1050.0,300.0,355.0,-215.0],[6079,true,true,null,216.27000000000001,1.0,null,null,1.08,false,221.0,0.0,75.0,-66.299999999999997],[697,true,true,null,26.02,1.0,null,null,1.012,false,37.0,0.0,15.0,-15.0],[6081,true,true,null,38.310000000000002,1.0,null,null,1.098,false,43.0,0.0,12.9,-24.0],[6084,true,true,null,41.289999999999999,1.0,null,null,1.111,false,46.039999999999999,0.0,71.680000000000007,-13.81],[6083,true,true,null,16.190000000000001,1.0,null,null,1.097,false,20.920000000000002,0.0,15.27,-6.28],[6092,true,true,null,1220.950000000000046,1.0,null,null,1.094,false,1225.670000000000073,0.0,367.699999999999989,-367.699999999999989],[6093,true,true,null,436.170000000000016,1.0,null,null,1.076,false,450.0,0.0,200.0,-200.0],[6102,true,true,null,187.129999999999995,1.0,null,null,1.061,false,192.0,0.0,57.600000000000001,-57.600000000000001],[6101,true,true,null,184.150000000000006,1.0,null,null,1.059,false,189.0,0.0,56.700000000000003,-56.700000000000003],[6106,true,true,null,83.939999999999998,1.0,null,null,1.109,false,88.739999999999995,0.0,44.789999999999999,-26.620000000000001],[6115,true,true,null,730.350000000000023,1.0,null,null,1.097,false,735.0,0.0,220.5,-220.5],[6121,true,true,null,1.31,1.0,null,null,1.058,false,6.11,0.0,1.83,-6.63],[696,true,true,null,27.989999999999998,1.0,null,null,1.012,false,37.0,0.0,15.0,-17.0],[6122,true,true,null,181.22999999999999,1.0,null,null,1.084,false,186.0,0.0,55.799999999999997,-55.799999999999997],[6123,true,true,null,-4.82,1.0,null,null,1.094,false,280.0,-280.0,182.0,-252.0],[6128,true,true,null,454.25,1.0,null,null,1.085,false,459.0,0.0,137.700000000000017,-137.700000000000017],[6151,true,true,null,417.740000000000009,1.0,null,null,1.076,false,422.620000000000004,0.0,126.790000000000006,-126.790000000000006],[6154,true,true,null,167.569999999999993,1.0,null,null,1.088,false,172.27000000000001,0.0,51.68,-51.68],[6163,true,true,null,14.35,1.0,null,null,1.064,false,19.210000000000001,0.0,16.390000000000001,-5.76],[6173,true,true,null,79.210000000000008,1.0,null,null,1.054,false,300.0,-30.0,200.0,-200.0],[6177,true,true,null,270.5,1.0,null,null,1.107,false,275.310000000000002,0.0,82.590000000000003,-82.590000000000003],[6182,true,true,null,353.930000000000007,1.0,null,null,1.095,false,770.0,0.0,300.0,-300.0],[6184,true,true,null,66.370000000000005,1.0,null,null,1.046,false,200.0,0.0,100.0,-100.0],[704,true,true,null,0.93,1.0,null,null,0.96,false,5.7,0.0,3.0,-3.0],[6185,true,true,null,2.77,1.0,null,null,1.103,false,7.56,0.0,2.27,-105.930000000000007],[6207,true,true,null,173.090000000000003,1.0,null,null,1.089,false,250.0,0.0,120.0,-120.0],[6208,true,true,null,651.350000000000023,1.0,null,null,1.038,false,656.0,0.0,400.0,-121.0],[6210,true,true,null,67.329999999999998,1.0,null,null,1.066,false,72.100000000000009,0.0,21.629999999999999,-21.629999999999999],[6211,true,true,null,1038.299999999999954,1.0,null,null,1.058,false,1100.0,300.0,470.0,-330.0],[6215,true,true,null,70.340000000000003,1.0,null,null,1.067,false,75.159999999999997,0.0,22.550000000000001,-22.550000000000001],[6220,true,true,null,112.140000000000001,1.0,null,null,1.086,false,116.890000000000001,0.0,38.079999999999998,-35.07],[6228,true,true,null,357.689999999999998,1.0,null,null,1.075,false,362.579999999999984,0.0,108.769999999999996,-108.769999999999996],[6236,true,true,null,494.350000000000023,1.0,null,null,1.071,false,970.0,280.0,515.0,-543.0],[6246,true,true,null,14.720000000000001,1.0,null,null,1.07,false,23.0,0.0,14.0,-8.869999999999999],[732,true,true,null,27.260000000000002,1.0,null,null,1.007,false,39.0,0.0,18.0,-18.0],[6247,true,true,null,14.720000000000001,1.0,null,null,1.07,false,23.0,0.0,14.0,-8.869999999999999],[6248,true,true,null,21.59,1.0,null,null,1.075,false,27.0,0.0,22.359999999999999,-13.33],[6249,true,true,null,65.980000000000004,1.0,null,null,0.966,false,86.0,0.0,36.039999999999999,-3.45],[6251,true,true,null,63.609999999999999,1.0,null,null,0.979,false,124.0,0.0,79.629999999999996,-22.440000000000001],[6252,true,true,null,21.260000000000002,1.0,null,null,1.072,false,32.0,0.0,10.130000000000001,-6.8],[6253,true,true,null,21.260000000000002,1.0,null,null,1.072,false,32.0,0.0,10.130000000000001,-6.8],[6254,true,true,null,19.879999999999999,1.0,null,null,1.051,false,32.0,0.0,9.890000000000001,-6.8],[6255,true,true,null,19.879999999999999,1.0,null,null,1.051,false,32.0,0.0,9.890000000000001,-6.8],[6256,true,true,null,74.760000000000005,1.0,null,null,0.958,false,92.0,0.0,59.82,-30.18],[6257,true,true,null,42.960000000000001,1.0,null,null,0.955,false,92.0,0.0,59.82,-33.640000000000001],[744,true,true,null,9.029999999999999,1.0,null,null,1.015,false,26.600000000000001,0.0,15.0,-15.0],[6258,true,true,null,71.989999999999995,1.0,null,null,1.005,false,92.0,0.0,62.700000000000003,-27.300000000000001],[6259,true,true,null,63.350000000000001,1.0,null,null,1.003,false,92.0,0.0,62.700000000000003,-27.300000000000001],[6260,true,true,null,66.099999999999994,1.0,null,null,0.947,false,92.0,0.0,62.700000000000003,-38.719999999999999],[6261,true,true,null,71.930000000000007,1.0,null,null,0.95,false,92.0,0.0,62.700000000000003,-36.390000000000001],[6262,true,true,null,934.700000000000046,1.0,null,null,1.047,false,939.590000000000032,249.590000000000003,344.579999999999984,-415.949999999999989],[6263,true,true,null,972.670000000000073,1.0,null,null,1.046,false,977.560000000000059,287.560000000000002,353.879999999999996,-406.019999999999982],[6264,true,true,null,967.710000000000036,1.0,null,null,1.045,false,972.590000000000032,252.590000000000003,345.269999999999982,-407.569999999999993],[6265,true,true,null,931.700000000000046,1.0,null,null,1.043,false,936.590000000000032,246.590000000000003,343.800000000000011,-416.800000000000011],[6266,true,true,null,190.610000000000014,1.0,null,null,1.023,false,252.0,156.0,164.819999999999993,-101.260000000000005],[6267,true,true,null,189.580000000000012,1.0,null,null,1.024,false,250.0,154.0,164.819999999999993,-100.909999999999997],[745,true,true,null,1.93,1.0,null,null,1.023,false,7.0,1.0,2.0,-2.0],[6268,true,true,null,183.580000000000012,1.0,null,null,1.032,false,250.0,154.0,101.230000000000004,-56.189999999999998],[6269,true,true,null,249.060000000000002,1.0,null,null,1.036,false,305.0,122.0,245.170000000000016,-160.069999999999993],[6270,true,true,null,123.560000000000002,1.0,null,null,1.04,false,155.0,89.0,102.260000000000005,-66.489999999999995],[6271,true,true,null,52.630000000000002,1.0,null,null,1.02,false,58.0,0.0,19.649999999999999,-20.550000000000001],[6272,true,true,null,53.32,1.0,null,null,1.023,false,58.0,0.0,14.44,-12.49],[6273,true,true,null,53.32,1.0,null,null,1.02,false,58.0,0.0,19.649999999999999,-20.550000000000001],[6274,true,true,null,53.32,1.0,null,null,1.023,false,58.0,0.0,14.44,-12.49],[6275,true,true,null,52.630000000000002,1.0,null,null,1.023,false,58.0,0.0,14.300000000000001,-12.49],[6276,true,true,null,133.0,1.0,null,null,1.024,false,263.0,133.0,173.050000000000011,-81.280000000000001],[6277,true,true,null,81.310000000000002,1.0,null,null,1.029,false,139.0,0.0,99.900000000000006,-56.479999999999997],[121,true,true,null,5.92,1.0,null,null,1.038,false,12.0,0.0,5.0,-2.0],[759,true,true,null,16.760000000000002,1.0,null,null,1.045,false,37.5,0.0,10.0,-8.42],[6278,true,true,null,30.43,1.0,null,null,0.966,false,49.0,0.0,31.969999999999999,-22.760000000000002],[6279,true,true,null,30.43,1.0,null,null,0.97,false,49.0,0.0,31.960000000000001,-22.82],[6280,true,true,null,16.170000000000002,1.0,null,null,0.978,false,32.0,0.0,22.370000000000001,-13.630000000000001],[6281,true,true,null,9.26,1.0,null,null,0.988,false,32.0,0.0,20.370000000000001,-15.630000000000001],[6282,true,true,null,12.26,1.0,null,null,0.978,false,32.0,0.0,22.210000000000001,-13.789999999999999],[6283,true,true,null,935.220000000000027,1.0,null,null,0.995,false,939.970000000000027,269.970000000000027,551.659999999999968,-226.259999999999991],[6284,true,true,null,926.759999999999991,1.0,null,null,0.995,false,940.210000000000036,270.20999999999998,551.200000000000045,-226.569999999999993],[6285,true,true,null,923.220000000000027,1.0,null,null,0.996,false,927.960000000000036,277.95999999999998,520.460000000000036,-221.960000000000008],[6286,true,true,null,874.740000000000009,1.0,null,null,0.994,false,920.200000000000045,270.199999999999989,517.110000000000014,-225.730000000000018],[6287,true,true,null,1281.600000000000136,1.0,null,null,0.99,false,1308.0,318.0,673.870000000000004,-237.700000000000017],[760,true,true,null,15.68,1.0,null,null,1.043,false,37.5,0.0,10.0,-6.0],[6288,true,true,null,1281.600000000000136,1.0,null,null,0.99,false,1308.0,318.0,673.870000000000004,-237.700000000000017],[6289,true,true,null,29.359999999999999,1.0,null,null,1.036,false,35.0,0.0,5.05,-1.45],[6290,true,true,null,29.359999999999999,1.0,null,null,1.036,false,35.0,0.0,5.05,-1.45],[6291,true,true,null,29.359999999999999,1.0,null,null,1.036,false,35.0,0.0,5.05,-1.45],[6292,true,true,null,29.120000000000001,1.0,null,null,1.035,false,35.0,0.0,5.05,-1.45],[6293,true,true,null,29.120000000000001,1.0,null,null,1.035,false,35.0,0.0,5.05,-1.45],[6294,true,true,null,29.120000000000001,1.0,null,null,1.035,false,35.0,0.0,5.05,-1.45],[6295,true,true,null,15.1,1.0,null,null,0.986,false,20.0,0.0,10.539999999999999,-7.31],[6296,true,true,null,1281.809999999999945,1.0,null,null,1.012,false,1330.0,337.0,703.470000000000027,-249.560000000000002],[6297,true,true,null,1293.839999999999918,1.0,null,null,1.016,false,1360.0,367.0,712.050000000000068,-240.980000000000018],[800,true,true,null,23.780000000000001,1.0,null,null,1.014,false,31.0,0.0,15.0,-17.0],[6298,true,true,null,1250.839999999999918,1.0,null,null,1.016,false,1360.0,367.0,712.050000000000068,-240.980000000000018],[6299,true,true,null,62.149999999999999,1.0,null,null,1.03,false,95.0,0.0,53.630000000000002,-33.270000000000003],[6300,true,true,null,1.4,1.0,null,null,0.991,false,1.5,1.4,285.20999999999998,-103.180000000000007],[6301,true,true,null,156.52000000000001,1.0,null,null,0.963,false,240.0,-240.0,109.25,-53.310000000000002],[6302,true,true,null,939.310000000000059,1.0,null,null,1.009,false,946.980000000000018,236.980000000000018,504.449999999999989,-156.159999999999997],[6303,true,true,null,952.039999999999964,1.0,null,null,1.008,false,957.009999999999991,247.010000000000019,537.919999999999959,-148.900000000000006],[6304,true,true,null,950.039999999999964,1.0,null,null,1.008,false,955.009999999999991,245.009999999999991,556.050000000000068,-149.450000000000017],[6309,true,true,null,65.540000000000006,1.0,null,null,0.983,false,125.0,8.5,93.600000000000008,-50.899999999999999],[6310,true,true,null,63.539999999999999,1.0,null,null,0.983,false,125.0,8.5,93.600000000000008,-50.899999999999999],[6311,true,true,null,123.740000000000009,1.0,null,null,1.008,false,148.200000000000017,4.2,72.700000000000003,-2.56],[801,true,true,null,25.530000000000001,1.0,null,null,1.017,false,31.0,0.0,15.0,-17.0],[6313,true,true,null,477.810000000000002,1.0,null,null,1.007,false,610.0,310.0,359.660000000000025,-170.849999999999994],[6314,true,true,null,602.830000000000041,1.0,null,null,1.005,false,610.0,310.0,323.139999999999986,-212.840000000000003],[6316,true,true,null,10.58,1.0,null,null,0.942,false,18.0,0.0,9.859999999999999,-8.039999999999999],[6317,true,true,null,23.98,1.0,null,null,1.007,false,38.0,0.0,21.609999999999999,-22.260000000000002],[6318,true,true,null,37.539999999999999,1.0,null,null,0.992,false,50.0,0.0,17.809999999999999,-10.970000000000001],[6319,true,true,null,34.659999999999997,1.0,null,null,0.991,false,50.0,0.0,17.809999999999999,-10.970000000000001],[6320,true,true,null,38.5,1.0,null,null,0.992,false,50.0,0.0,17.809999999999999,-10.970000000000001],[6321,true,true,null,37.539999999999999,1.0,null,null,0.992,false,50.0,0.0,17.809999999999999,-10.970000000000001],[6322,true,true,null,37.539999999999999,1.0,null,null,0.992,false,50.0,0.0,17.809999999999999,-10.970000000000001],[6323,true,true,null,35.619999999999998,1.0,null,null,0.991,false,50.0,0.0,17.809999999999999,-10.970000000000001],[802,true,true,null,24.52,1.0,null,null,1.016,false,31.0,0.0,15.0,-17.0],[6324,true,true,null,939.07000000000005,1.0,null,null,1.008,false,1000.0,280.0,521.600000000000023,-128.949999999999989],[6325,true,true,null,950.080000000000041,1.0,null,null,1.012,false,1000.0,280.0,521.600000000000023,-128.949999999999989],[6326,true,true,null,961.090000000000032,1.0,null,null,1.013,false,1000.0,280.0,566.430000000000064,-129.840000000000003],[6327,true,true,null,925.32000000000005,1.0,null,null,1.012,false,930.0,280.0,565.460000000000036,-149.319999999999993],[6328,true,true,null,27.0,1.0,null,null,1.014,false,57.0,0.0,21.890000000000001,-12.76],[6329,true,true,null,27.0,1.0,null,null,1.014,false,57.0,0.0,21.890000000000001,-12.76],[6332,true,true,null,402.460000000000036,1.0,null,null,1.031,false,433.800000000000011,248.800000000000011,274.220000000000027,-164.5],[6333,true,true,null,916.680000000000064,1.0,null,null,1.001,false,921.539999999999964,231.539999999999992,528.049999999999955,-151.02000000000001],[6334,true,true,null,916.680000000000064,1.0,null,null,1.0,false,921.539999999999964,231.539999999999992,528.049999999999955,-151.02000000000001],[6335,true,true,null,923.690000000000055,1.0,null,null,1.001,false,928.539999999999964,238.539999999999992,528.799999999999954,-149.120000000000005],[814,true,true,null,21.82,1.0,null,null,1.019,false,32.0,1.0,6.0,-9.0],[6336,true,true,null,938.690000000000055,1.0,null,null,1.0,false,943.550000000000068,253.550000000000011,530.560000000000059,-145.0],[6338,true,true,null,1306.490000000000009,1.0,null,null,1.031,false,1380.0,340.0,407.480000000000018,-463.970000000000027],[6339,true,true,null,1189.5,1.0,null,null,1.035,false,1380.0,340.0,407.480000000000018,-463.970000000000027],[6340,true,true,null,24.789999999999999,1.0,null,null,1.023,false,31.5,0.0,22.469999999999999,-13.529999999999999],[6341,true,true,null,51.219999999999999,1.0,null,null,1.007,false,65.0,0.0,37.340000000000003,-22.66],[6342,true,true,null,51.630000000000002,1.0,null,null,1.004,false,70.0,0.0,22.34,-21.699999999999999],[6343,true,true,null,55.729999999999997,1.0,null,null,1.005,false,65.0,0.0,53.950000000000003,-36.049999999999997],[6344,true,true,null,56.75,1.0,null,null,1.004,false,65.0,0.0,55.380000000000003,-34.619999999999998],[6345,true,true,null,54.119999999999997,1.0,null,null,1.006,false,70.0,0.0,39.630000000000002,-20.370000000000001],[6346,true,true,null,1303.110000000000127,1.0,null,null,1.027,false,1308.0,288.0,566.82000000000005,-494.400000000000034],[815,true,true,null,22.350000000000001,1.0,null,null,1.019,false,32.0,1.0,6.0,-9.0],[6347,true,true,null,1303.110000000000127,1.0,null,null,1.029,false,1308.0,288.0,566.82000000000005,-494.400000000000034],[6350,true,true,null,377.879999999999996,1.0,null,null,0.999,false,458.259999999999991,89.260000000000005,286.78000000000003,-117.109999999999999],[6351,true,true,null,23.420000000000002,1.0,null,null,1.015,false,36.0,0.0,10.34,-12.56],[6352,true,true,null,23.420000000000002,1.0,null,null,1.015,false,36.0,0.0,10.34,-12.56],[6353,true,true,null,938.840000000000032,1.0,null,null,1.018,false,947.0,237.0,525.980000000000018,-146.099999999999994],[6354,true,true,null,931.310000000000059,1.0,null,null,1.017,false,947.0,267.0,527.889999999999986,-146.099999999999994],[6355,true,true,null,939.32000000000005,1.0,null,null,1.015,false,947.0,237.0,525.980000000000018,-146.099999999999994],[6356,true,true,null,938.840000000000032,1.0,null,null,1.014,false,947.0,237.0,525.980000000000018,-146.099999999999994],[6357,true,true,null,942.279999999999973,1.0,null,null,1.014,false,947.0,237.0,525.980000000000018,-146.099999999999994],[6358,true,true,null,841.700000000000046,1.0,null,null,1.018,false,947.0,237.0,525.980000000000018,-146.099999999999994],[829,true,true,null,6.55,1.0,null,null,1.053,false,27.0,0.0,10.0,-10.0],[6360,true,true,null,428.759999999999991,1.0,null,null,1.001,false,456.800000000000011,216.800000000000011,271.840000000000032,-127.370000000000005],[6361,true,true,null,248.210000000000008,1.0,null,null,0.999,false,260.0,130.0,166.409999999999997,-98.900000000000006],[6364,true,true,null,31.93,1.0,null,null,0.967,false,57.0,0.0,32.549999999999997,-11.19],[6365,true,true,null,30.989999999999998,1.0,null,null,0.966,false,57.0,0.0,32.549999999999997,-11.33],[6366,true,true,null,10.039999999999999,1.0,null,null,1.037,false,31.0,-15.0,20.129999999999999,-7.22],[6367,true,true,null,10.039999999999999,1.0,null,null,1.037,false,31.0,0.0,33.890000000000001,-21.949999999999999],[6368,true,true,null,8.23,1.0,null,null,1.054,false,19.5,0.0,7.83,-4.91],[6369,true,true,null,7.3,1.0,null,null,1.054,false,19.5,0.0,7.83,-4.91],[6371,true,true,null,27.59,1.0,null,null,1.005,false,35.0,0.0,7.32,-7.24],[6372,true,true,null,26.579999999999998,1.0,null,null,1.005,false,35.0,0.0,7.11,-7.24],[835,true,true,null,3.01,1.0,null,null,1.033,false,15.0,0.0,3.0,2.9],[6373,true,true,null,26.579999999999998,1.0,null,null,1.005,false,35.0,0.0,11.43,-11.73],[6374,true,true,null,27.59,1.0,null,null,1.005,false,35.0,0.0,7.32,-7.24],[6376,true,true,null,38.310000000000002,1.0,null,null,0.99,false,47.0,0.0,10.25,-5.61],[6377,true,true,null,37.350000000000001,1.0,null,null,0.99,false,47.0,0.0,10.25,-5.79],[6378,true,true,null,47.829999999999998,1.0,null,null,0.977,false,73.0,0.0,51.920000000000002,-31.579999999999998],[6379,true,true,null,54.909999999999997,1.0,null,null,0.973,false,69.0,0.0,55.200000000000003,-28.489999999999998],[6380,true,true,null,54.899999999999999,1.0,null,null,0.979,false,76.0,0.0,51.280000000000001,-28.719999999999999],[6381,true,true,null,50.859999999999999,1.0,null,null,0.977,false,77.5,0.0,51.130000000000003,-30.120000000000001],[6382,true,true,null,19.420000000000002,1.0,null,null,1.006,false,31.0,0.0,14.949999999999999,-10.67],[6383,true,true,null,20.390000000000001,1.0,null,null,1.006,false,31.0,0.0,14.949999999999999,-10.67],[863,true,true,null,3.69,1.0,null,null,1.016,false,14.0,0.0,7.0,-7.0],[6384,true,true,null,19.420000000000002,1.0,null,null,1.006,false,31.0,0.0,14.949999999999999,-10.67],[6385,true,true,null,32.280000000000001,1.0,null,null,0.979,false,50.0,0.0,31.73,-15.57],[6386,true,true,null,20.559999999999999,1.0,null,null,1.017,false,37.0,0.0,15.94,-8.359999999999999],[6387,true,true,null,19.59,1.0,null,null,1.016,false,37.0,0.0,15.94,-8.359999999999999],[6388,true,true,null,20.559999999999999,1.0,null,null,1.017,false,37.0,0.0,15.94,-8.359999999999999],[6389,true,true,null,20.559999999999999,1.0,null,null,1.017,false,37.0,0.0,15.94,-8.359999999999999],[6390,true,true,null,212.810000000000002,1.0,null,null,1.002,false,250.0,137.0,170.469999999999999,-33.560000000000002],[6391,true,true,null,225.819999999999993,1.0,null,null,1.004,false,250.0,137.0,170.469999999999999,-33.560000000000002],[6392,true,true,null,0.93,1.0,null,null,0.958,false,19.0,0.0,10.619999999999999,-7.12],[6393,true,true,null,1.77,1.0,null,null,0.958,false,19.0,0.0,10.619999999999999,-7.12],[131,true,true,null,12.210000000000001,1.0,null,null,1.068,false,17.0,0.0,3.0,-3.0],[864,true,true,null,6.08,1.0,null,null,1.018,false,14.0,0.0,7.0,-7.0],[6394,true,true,null,86.140000000000001,1.0,null,null,0.984,false,122.0,0.0,25.640000000000001,-10.92],[6395,true,true,null,371.870000000000004,1.0,null,null,0.996,false,419.900000000000034,201.900000000000006,215.240000000000009,-161.259999999999991],[6396,true,true,null,25.109999999999999,1.0,null,null,1.072,false,52.0,0.0,39.82,-19.390000000000001],[6397,true,true,null,25.109999999999999,1.0,null,null,1.072,false,52.0,0.0,39.82,-19.390000000000001],[6400,true,true,null,160.710000000000008,1.0,null,null,1.015,false,227.0,-218.0,195.599999999999994,-56.560000000000002],[6401,true,true,null,167.72999999999999,1.0,null,null,1.015,false,227.0,-218.0,195.939999999999998,-56.259999999999998],[6402,true,true,null,164.710000000000008,1.0,null,null,1.015,false,227.0,-218.0,195.939999999999998,-56.259999999999998],[6403,true,true,null,167.719999999999999,1.0,null,null,1.015,false,227.0,-218.0,196.039999999999992,-56.170000000000002],[6404,true,true,null,35.740000000000002,1.0,null,null,0.985,false,65.0,0.0,79.870000000000004,-54.689999999999998],[6405,true,true,null,34.68,1.0,null,null,0.985,false,65.0,0.0,79.870000000000004,-54.689999999999998],[964,true,true,null,38.25,1.0,null,null,1.062,false,50.0,0.0,27.0,-9.0],[6406,true,true,null,874.930000000000064,1.0,null,null,1.042,false,950.0,237.0,511.819999999999993,-146.330000000000012],[6407,true,true,null,893.930000000000064,1.0,null,null,1.03,false,950.0,237.0,533.700000000000046,-146.330000000000012],[6408,true,true,null,235.700000000000017,1.0,null,null,1.025,false,316.0,168.0,194.0,-149.75],[6409,true,true,null,186.069999999999993,1.0,null,null,0.992,false,191.0,107.0,179.420000000000016,-94.620000000000004],[6411,true,true,null,1301.6400000000001,1.0,null,null,0.981,false,1360.0,289.0,671.919999999999959,-213.289999999999992],[6412,true,true,null,51.359999999999999,1.0,null,null,0.991,false,61.0,0.0,28.899999999999999,-24.219999999999999],[6413,true,true,null,51.359999999999999,1.0,null,null,0.991,false,61.0,0.0,28.899999999999999,-24.219999999999999],[6414,true,true,null,27.760000000000002,1.0,null,null,1.003,false,35.0,0.0,23.239999999999998,-10.1],[6415,true,true,null,1290.6400000000001,1.0,null,null,1.034,false,1380.0,350.0,706.840000000000032,-235.159999999999997],[6416,true,true,null,1300.610000000000127,1.0,null,null,1.047,false,1380.0,350.0,706.840000000000032,-235.159999999999997],[972,true,true,null,1.35,1.0,null,null,1.026,false,8.0,0.0,5.0,-5.0],[6417,true,true,null,1305.610000000000127,1.0,null,null,1.043,false,1380.0,350.0,695.830000000000041,-235.159999999999997],[6418,true,true,null,1285.150000000000091,1.0,null,null,1.047,false,1290.0,350.0,681.310000000000059,-260.689999999999998],[6419,true,true,null,9.83,1.0,null,null,1.035,false,51.0,0.8,37.509999999999998,-10.49],[6420,true,true,null,1318.089999999999918,1.0,null,null,1.035,false,1380.0,340.0,675.480000000000018,-207.210000000000008],[6421,true,true,null,1270.620000000000118,1.0,null,null,1.037,false,1380.0,340.0,675.480000000000018,-207.210000000000008],[6424,true,true,null,515.539999999999964,1.0,null,null,1.039,false,598.0,188.0,331.769999999999982,-92.079999999999998],[6426,true,true,null,17.649999999999999,1.0,null,null,1.075,false,43.0,0.0,33.109999999999999,-20.489999999999998],[6427,true,true,null,16.710000000000001,1.0,null,null,1.075,false,43.0,0.0,33.109999999999999,-20.489999999999998],[6428,true,true,null,16.710000000000001,1.0,null,null,1.075,false,43.0,0.0,33.109999999999999,-20.489999999999998],[6429,true,true,null,40.810000000000002,1.0,null,null,0.94,false,80.0,0.0,42.659999999999997,-33.659999999999997],[1008,true,true,null,0.0,1.0,null,null,1.062,false,3.0,0.0,1.0,0.9],[6430,true,true,null,232.280000000000001,1.0,null,null,0.967,false,245.0,85.0,109.159999999999997,-75.850000000000008],[6431,true,true,null,598.399999999999977,1.0,null,null,0.971,false,605.0,295.0,230.469999999999999,-115.950000000000003],[6432,true,true,null,37.030000000000001,1.0,null,null,1.033,false,56.0,0.0,24.739999999999998,-16.5],[6433,true,true,null,34.990000000000002,1.0,null,null,1.032,false,56.0,0.0,24.739999999999998,-16.5],[6434,true,true,null,1.18,1.0,null,null,1.007,false,58.0,0.0,61.200000000000003,-1.88],[6435,true,true,null,17.629999999999999,1.0,null,null,1.041,false,23.100000000000001,0.0,17.149999999999999,-10.85],[6436,true,true,null,17.629999999999999,1.0,null,null,1.041,false,23.100000000000001,0.0,17.140000000000001,-10.859999999999999],[6437,true,true,null,408.340000000000032,1.0,null,null,1.041,false,439.800000000000011,230.800000000000011,169.819999999999993,-6.72],[6438,true,true,null,36.049999999999997,1.0,null,null,1.039,false,41.0,0.0,21.739999999999998,-17.309999999999999],[6442,true,true,null,25.649999999999999,1.0,null,null,0.984,false,32.0,0.0,19.57,-10.43],[1012,true,true,null,1.75,1.0,null,null,1.065,false,7.2,0.0,4.0,-4.0],[6444,true,true,null,27.260000000000002,1.0,null,null,0.984,false,32.0,0.0,19.57,-10.43],[6446,true,true,null,109.379999999999995,1.0,null,null,1.096,false,180.0,-180.0,116.010000000000005,-89.939999999999998],[6447,true,true,null,23.59,1.0,null,null,1.028,false,44.0,0.0,14.640000000000001,-6.01],[6448,true,true,null,26.109999999999999,1.0,null,null,1.007,false,31.0,0.0,19.260000000000002,-13.380000000000001],[6449,true,true,null,25.149999999999999,1.0,null,null,1.006,false,31.0,0.0,19.260000000000002,-13.380000000000001],[6450,true,true,null,15.699999999999999,1.0,null,null,1.027,false,38.0,0.0,27.02,-18.300000000000001],[6451,true,true,null,15.699999999999999,1.0,null,null,1.023,false,38.0,0.0,26.960000000000001,-18.510000000000002],[6452,true,true,null,13.66,1.0,null,null,1.022,false,38.0,0.0,26.960000000000001,-18.510000000000002],[6453,true,true,null,35.159999999999997,1.0,null,null,0.974,false,66.0,0.0,41.079999999999998,-25.629999999999999],[6454,true,true,null,40.32,1.0,null,null,0.99,false,84.0,0.0,54.619999999999998,-24.010000000000002],[1056,true,true,null,7.0,1.0,null,null,1.072,false,11.800000000000001,7.0,6.0,-3.0],[6455,true,true,null,40.32,1.0,null,null,0.99,false,84.0,0.0,54.619999999999998,-24.010000000000002],[6456,true,true,null,28.280000000000001,1.0,null,null,0.978,false,33.0,0.0,26.239999999999998,-3.76],[6457,true,true,null,3.3,1.0,null,null,0.942,false,33.0,0.0,26.239999999999998,-4.63],[6458,true,true,null,113.75,1.0,null,null,1.038,false,130.0,0.0,30.84,-18.18],[6459,true,true,null,1307.720000000000027,1.0,null,null,0.998,false,1332.0,282.0,671.480000000000018,-239.659999999999997],[6460,true,true,null,1281.720000000000027,1.0,null,null,0.999,false,1332.0,282.0,671.480000000000018,-239.659999999999997],[6461,true,true,null,277.410000000000025,1.0,null,null,1.013,false,285.0,150.0,168.900000000000006,14.279999999999999],[6462,true,true,null,553.600000000000023,1.0,null,null,1.008,false,595.0,225.0,204.969999999999999,-97.540000000000006],[6463,true,true,null,362.900000000000034,1.0,null,null,1.016,false,443.0,127.0,114.040000000000006,-19.300000000000001],[6464,true,true,null,411.910000000000025,1.0,null,null,1.016,false,443.0,127.0,120.820000000000007,-19.379999999999999],[1065,true,true,null,3.11,1.0,null,null,1.046,false,12.0,0.0,2.0,1.9],[6465,true,true,null,45.07,1.0,null,null,1.022,false,50.0,0.0,27.73,-24.25],[6466,true,true,null,45.07,1.0,null,null,1.022,false,50.0,0.0,27.73,-24.25],[6467,true,true,null,35.590000000000003,1.0,null,null,0.985,false,49.0,0.0,32.520000000000003,-21.789999999999999],[6468,true,true,null,34.609999999999999,1.0,null,null,0.985,false,49.0,0.0,32.520000000000003,-21.789999999999999],[6469,true,true,null,20.41,1.0,null,null,0.981,false,30.0,0.0,21.620000000000001,-13.24],[6470,true,true,null,21.420000000000002,1.0,null,null,0.94,false,30.0,0.0,21.620000000000001,-13.24],[6471,true,true,null,52.240000000000002,1.0,null,null,0.996,false,85.0,0.0,57.420000000000002,-17.850000000000001],[6472,true,true,null,921.82000000000005,1.0,null,null,1.001,false,949.430000000000064,229.430000000000007,542.930000000000064,-151.129999999999995],[6473,true,true,null,914.830000000000041,1.0,null,null,1.001,false,952.430000000000064,232.430000000000007,543.169999999999959,-150.280000000000001],[6474,true,true,null,32.119999999999997,1.0,null,null,1.018,false,49.0,0.0,21.77,-20.199999999999999],[1107,true,true,null,14.0,1.0,null,null,1.077,false,18.0,14.0,6.0,-6.0],[6475,true,true,null,32.119999999999997,1.0,null,null,1.018,false,49.0,0.0,21.77,-20.199999999999999],[6476,true,true,null,32.119999999999997,1.0,null,null,1.018,false,49.0,0.0,21.77,-20.199999999999999],[6477,true,true,null,51.630000000000002,1.0,null,null,0.937,false,156.0,0.0,112.390000000000001,-60.200000000000003],[6478,true,true,null,62.899999999999999,1.0,null,null,1.01,false,99.0,0.0,22.91,-33.960000000000001],[6479,true,true,null,63.899999999999999,1.0,null,null,1.01,false,99.0,0.0,22.91,-33.960000000000001],[6480,true,true,null,931.060000000000059,1.0,null,null,0.996,false,985.0,275.0,405.579999999999984,-162.030000000000001],[6481,true,true,null,901.889999999999986,1.0,null,null,0.992,false,985.0,275.0,400.579999999999984,-167.030000000000001],[6482,true,true,null,959.930000000000064,1.0,null,null,0.994,false,985.0,275.0,400.579999999999984,-167.030000000000001],[6483,true,true,null,970.269999999999982,1.0,null,null,0.989,false,985.0,275.0,400.579999999999984,-167.030000000000001],[6487,true,true,null,59.289999999999999,1.0,null,null,0.928,false,64.0,-64.0,89.400000000000006,-50.600000000000001],[1109,true,true,null,11.4,1.0,null,null,1.047,false,18.0,0.0,10.0,-10.0],[6488,true,true,null,59.289999999999999,1.0,null,null,0.928,false,64.0,-64.0,89.400000000000006,-50.600000000000001],[6489,true,true,null,59.289999999999999,1.0,null,null,0.928,false,64.0,-64.0,89.400000000000006,-50.600000000000001],[6490,true,true,null,198.610000000000014,1.0,null,null,1.028,false,268.0,138.0,148.090000000000003,-87.359999999999999],[6491,true,true,null,174.610000000000014,1.0,null,null,1.03,false,268.0,138.0,148.090000000000003,-87.359999999999999],[6492,true,true,null,149.800000000000011,1.0,null,null,1.055,false,180.0,0.0,97.799999999999997,-42.200000000000003],[6493,true,true,null,46.060000000000002,1.0,null,null,1.032,false,136.0,0.0,133.879999999999996,-46.119999999999997],[6494,true,true,null,46.049999999999997,1.0,null,null,1.032,false,128.0,0.0,123.950000000000003,-46.049999999999997],[1209,true,true,null,31.23,1.0,null,null,1.095,false,62.0,0.0,40.0,-40.0],[136,true,true,null,10.140000000000001,1.0,null,null,1.032,false,18.0,0.0,0.8,-0.8],[1210,true,true,null,22.210000000000001,1.0,null,null,1.08,false,41.399999999999999,0.0,12.42,-11.99],[1285,true,true,null,1.04,1.0,null,null,1.065,false,8.0,0.0,2.6,-2.8],[1324,true,true,null,0.13,1.0,null,null,1.064,false,5.0,0.0,1.0,0.9],[1343,true,true,null,0.0,1.0,null,null,1.0,false,11.0,0.0,5.0,1.0],[1356,true,true,null,24.170000000000002,1.0,null,null,1.051,false,45.0,0.0,18.0,-18.0],[1355,true,true,null,23.66,1.0,null,null,1.053,false,45.0,0.0,18.0,-18.0],[1362,true,true,null,5.02,1.0,null,null,1.038,false,13.0,0.0,7.62,-5.0],[1419,true,true,null,39.140000000000001,1.0,null,null,1.04,false,50.0,0.0,50.0,-50.0],[1516,true,true,null,215.550000000000011,1.0,null,null,1.123,false,239.0,44.0,100.0,-60.0],[1517,true,true,null,159.509999999999991,1.0,null,null,0.97,false,169.0,82.0,70.0,-45.0],[157,true,true,null,8.199999999999999,1.0,null,null,0.963,false,17.899999999999999,0.0,10.0,-13.0],[1554,true,true,null,6.24,1.0,null,null,1.046,false,49.0,1.0,22.0,-9.0],[1592,true,true,null,18.260000000000002,1.0,null,null,1.057,false,36.0,0.0,11.0,-12.0],[1598,true,true,null,37.229999999999997,1.0,null,null,1.05,false,42.0,0.0,20.0,-10.0],[1623,true,true,null,4.56,1.0,null,null,1.056,false,78.0,0.0,1.0,-3.72],[1638,true,true,null,4.26,1.0,null,null,1.064,false,52.0,0.0,10.0,-13.0],[1677,true,true,null,4.1,1.0,null,null,1.018,false,11.0,0.0,5.0,-5.0],[1686,true,true,null,2.13,1.0,null,null,1.018,false,7.1,0.0,2.13,-1.99],[1699,true,true,null,13.27,1.0,null,null,1.044,false,28.899999999999999,0.0,18.0,-18.0],[1733,true,true,null,17.469999999999999,1.0,null,null,1.054,false,27.0,0.0,14.0,-14.0],[1740,true,true,null,35.280000000000001,1.0,null,null,1.113,false,40.0,0.0,20.0,-18.0],[193,true,true,null,2.48,1.0,null,null,1.059,false,15.0,0.0,1.0,0.9],[1741,true,true,null,35.280000000000001,1.0,null,null,1.112,false,40.0,0.0,20.0,-18.0],[1742,true,true,null,34.840000000000003,1.0,null,null,1.113,false,40.0,0.0,20.0,-18.0],[1864,true,true,null,37.590000000000003,1.0,null,null,1.014,false,44.0,0.0,20.0,-9.0],[1887,true,true,null,16.379999999999999,1.0,null,null,1.042,false,24.0,0.0,4.0,-4.0],[1888,true,true,null,14.92,1.0,null,null,1.039,false,24.0,0.0,4.0,-4.0],[1889,true,true,null,17.800000000000001,1.0,null,null,1.045,false,24.0,0.0,4.0,-4.0],[1890,true,true,null,17.280000000000001,1.0,null,null,1.046,false,24.0,0.0,4.0,-4.0],[1960,true,true,null,18.539999999999999,1.0,null,null,1.058,false,24.0,0.0,8.0,-7.0],[1961,true,true,null,17.57,1.0,null,null,1.061,false,24.0,0.0,0.22,-0.01],[1962,true,true,null,18.539999999999999,1.0,null,null,1.058,false,24.0,0.0,8.0,-7.0],[255,true,true,null,8.109999999999999,1.0,null,null,1.047,false,26.0,0.0,10.0,-10.0],[1963,true,true,null,18.039999999999999,1.0,null,null,1.061,false,24.0,0.0,8.0,-7.0],[1964,true,true,null,18.030000000000001,1.0,null,null,1.062,false,24.0,0.0,8.0,-7.0],[1973,true,true,null,23.600000000000001,1.0,null,null,1.016,false,29.0,0.0,10.0,-10.0],[1974,true,true,null,23.609999999999999,1.0,null,null,1.009,false,29.0,0.0,5.0,-18.0],[1975,true,true,null,24.309999999999999,1.0,null,null,1.014,false,29.0,0.0,8.0,-18.0],[1979,true,true,null,0.5,1.0,null,null,1.041,false,4.6,0.5,2.0,-2.0],[2000,true,true,null,40.119999999999997,1.0,null,null,1.031,false,46.0,0.0,21.0,-9.0],[2011,true,true,null,13.99,1.0,null,null,1.033,false,24.0,0.0,9.0,-9.0],[2012,true,true,null,14.07,1.0,null,null,1.037,false,24.0,0.0,9.0,-9.0],[2021,true,true,null,19.350000000000001,1.0,null,null,1.055,false,30.0,-30.0,7.0,-7.0],[257,true,true,null,25.27,1.0,null,null,1.079,false,30.0,0.0,1.0,0.9],[2043,true,true,null,27.41,1.0,null,null,1.03,false,34.0,0.0,19.0,-16.0],[2091,true,true,null,37.310000000000002,1.0,null,null,1.058,false,54.0,1.0,22.0,-10.0],[2095,true,true,null,3.64,1.0,null,null,1.029,false,16.0,0.0,5.0,-5.0],[2153,true,true,null,12.24,1.0,null,null,1.066,false,29.0,0.0,13.0,-6.0],[2157,true,true,null,39.759999999999998,1.0,null,null,1.022,false,45.0,0.0,22.0,-10.0],[2185,true,true,null,5.45,1.0,null,null,0.965,false,15.0,0.0,9.0,-9.0],[2187,true,true,null,11.609999999999999,1.0,null,null,1.068,false,20.0,0.0,2.0,1.9],[2239,true,true,null,2.5,1.0,null,null,1.077,false,24.0,2.5,8.0,-8.0],[2289,true,true,null,-4.65,1.0,null,null,1.014,false,64.0,-64.0,20.0,-20.0],[2333,true,true,null,13.08,1.0,null,null,0.988,false,28.0,0.0,12.0,-9.0]]}", + "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0,1,10,100,101,102,103,104,105,106,107,108,109,11,110,111,112,113,114,115,116,117,118,119,12,120,121,122,123,124,125,126,127,128,129,13,130,131,132,133,134,135,136,137,138,139,14,140,141,142,143,144,145,146,147,148,149,15,150,151,152,153,154,155,156,157,158,159,16,160,161,162,163,164,165,166,167,168,169,17,170,171,172,173,174,175,176,177,178,179,18,180,181,182,183,184,185,186,187,188,189,19,190,191,192,193,194,195,196,197,198,199,2,20,200,201,202,203,204,205,206,207,208,209,21,210,211,212,213,214,215,216,217,218,219,22,220,221,222,223,224,225,226,227,228,229,23,230,231,232,233,234,235,236,237,238,239,24,240,241,242,243,244,245,246,247,248,249,25,250,251,252,253,254,255,256,257,258,259,26,260,261,262,263,264,265,266,267,268,269,27,270,271,272,273,274,275,276,277,278,279,28,280,281,282,283,284,285,286,287,288,289,29,290,291,292,293,294,295,296,297,298,299,3,30,300,301,302,303,304,305,306,307,308,309,31,310,311,312,313,314,315,316,317,318,319,32,320,321,322,323,324,325,326,327,328,329,33,330,331,332,333,334,335,336,337,338,339,34,340,341,342,343,344,345,346,347,348,349,35,350,351,352,353,354,355,356,357,358,359,36,360,361,362,363,364,365,366,367,368,369,37,370,371,372,373,374,375,376,377,378,379,38,380,381,382,383,384,385,386,387,388,389,39,390,391,392,393,394,395,396,397,398,399,4,40,400,401,402,403,404,405,406,407,408,409,41,410,411,412,413,414,415,416,417,418,419,42,420,421,422,423,424,425,426,427,428,429,43,430,431,432,433,434,435,436,437,438,439,44,440,441,442,443,444,445,446,447,448,449,45,450,451,452,453,454,455,456,457,458,459,46,460,461,462,463,464,465,466,467,468,469,47,470,471,472,473,474,475,476,477,478,479,48,480,481,482,483,484,485,486,49,5,50,51,52,53,54,55,56,57,58,59,6,60,61,62,63,64,65,66,67,68,69,7,70,71,72,73,74,75,76,77,78,79,8,80,81,82,83,84,85,86,87,88,89,9,90,91,92,93,94,95,96,97,98,99],\"data\":[[46,true,true,null,8.51,1.0,null,null,1.027,false,16.0,0.0,9.5,-10.0,0.0],[56,true,true,null,4.17,1.0,null,null,1.061,false,13.0,0.0,1.0,0.9,0.0],[304,true,true,null,0.15,1.0,null,null,1.053,false,15.0,0.0,9.0,-9.0,0.0],[2356,true,true,null,19.25,1.0,null,null,1.101,false,24.0,0.0,20.0,-20.0,0.0],[2357,true,true,null,19.25,1.0,null,null,1.101,false,24.0,0.0,20.0,-20.0,0.0],[2358,true,true,null,13.58,1.0,null,null,1.084,false,24.0,0.0,20.0,-20.0,0.0],[2359,true,true,null,19.039999999999999,1.0,null,null,1.102,false,24.0,0.0,20.0,-20.0,0.0],[2360,true,true,null,15.25,1.0,null,null,1.104,false,20.0,0.0,20.0,-20.0,0.0],[2404,true,true,null,8.789999999999999,1.0,null,null,1.061,false,36.0,0.0,14.0,-14.0,0.0],[2515,true,true,null,39.32,1.0,null,null,1.145,false,50.0,38.0,19.0,-8.0,0.0],[2524,true,true,null,3.93,1.0,null,null,1.034,false,9.6,0.0,1.23,-0.96,0.0],[2550,true,true,null,4.45,1.0,null,null,1.025,false,16.0,0.0,12.0,-9.0,0.0],[2619,true,true,null,5.96,1.0,null,null,1.012,false,28.0,0.0,16.0,-7.0,0.0],[335,true,true,null,7.91,1.0,null,null,1.026,false,13.0,0.0,5.0,-6.0,0.0],[2636,true,true,null,13.109999999999999,1.0,null,null,1.012,false,18.0,0.0,10.0,-10.0,0.0],[2637,true,true,null,11.210000000000001,1.0,null,null,1.052,false,22.0,0.0,14.0,-14.0,0.0],[2644,true,true,null,2.18,1.0,null,null,1.064,false,28.0,0.0,4.0,3.9,0.0],[2651,true,true,null,5.06,1.0,null,null,1.031,false,9.800000000000001,0.0,6.0,-6.0,0.0],[2652,true,true,null,27.280000000000001,1.0,null,null,1.021,false,35.0,0.0,12.0,-15.0,0.0],[2656,true,true,null,1.18,1.0,null,null,1.095,false,7.0,0.0,1.0,0.9,0.0],[2657,true,true,null,4.07,1.0,null,null,1.058,false,12.0,0.0,4.26,-7.0,0.0],[2687,true,true,null,3.53,1.0,null,null,1.028,false,15.0,0.0,6.0,-7.0,0.0],[2726,true,true,null,2.2,1.0,null,null,1.062,false,17.0,0.0,10.0,-10.0,0.0],[2825,true,true,null,6.15,1.0,null,null,1.015,false,12.0,0.0,5.0,-2.0,0.0],[363,true,true,null,125.150000000000006,1.0,null,null,1.049,false,130.0,0.0,59.0,-26.0,0.0],[2891,true,true,null,4.0,1.0,null,null,1.071,false,26.5,6.0,9.0,-9.0,0.0],[2985,true,true,null,10.210000000000001,1.0,null,null,1.051,false,34.0,0.0,17.0,-17.0,0.0],[3014,true,true,null,8.07,1.0,null,null,1.048,false,13.0,0.0,8.0,-8.0,0.0],[3090,true,true,null,3.22,1.0,null,null,0.98,false,19.5,0.0,5.0,-10.0,0.0],[3108,true,true,null,33.299999999999997,1.0,null,null,1.066,false,38.0,0.0,20.0,-19.0,0.0],[3109,true,true,null,28.789999999999999,1.0,null,null,1.097,false,38.0,0.0,20.0,-19.0,0.0],[3110,true,true,null,30.780000000000001,1.0,null,null,1.081,false,38.0,0.0,20.0,-20.0,0.0],[3128,true,true,null,4.65,1.0,null,null,1.073,false,11.0,0.0,1.0,0.9,0.0],[3149,true,true,null,39.289999999999999,1.0,null,null,1.06,false,48.0,5.0,22.0,-10.0,0.0],[3151,true,true,null,5.05,1.0,null,null,1.076,false,16.0,0.0,1.0,0.9,0.0],[446,true,true,null,17.34,1.0,null,null,0.999,false,25.0,0.0,8.0,-9.0,0.0],[3202,true,true,null,6.19,1.0,null,null,1.098,false,20.0,0.0,2.0,0.0,0.0],[3231,true,true,null,13.609999999999999,1.0,null,null,1.07,false,22.0,0.0,2.0,1.9,0.0],[3238,true,true,null,4.93,1.0,null,null,1.041,false,10.0,0.0,4.0,-4.0,0.0],[3258,true,true,null,12.460000000000001,1.0,null,null,1.055,false,42.0,0.0,25.0,-20.0,0.0],[3272,true,true,null,30.949999999999999,1.0,null,null,1.122,false,36.100000000000001,0.0,20.0,-15.0,0.0],[3273,true,true,null,31.399999999999999,1.0,null,null,1.075,false,36.100000000000001,0.0,20.0,-15.0,0.0],[3274,true,true,null,31.399999999999999,1.0,null,null,1.052,false,36.100000000000001,0.0,20.0,-15.0,0.0],[3293,true,true,null,4.89,1.0,null,null,1.054,false,13.0,0.0,5.0,-5.0,0.0],[3300,true,true,null,3.93,1.0,null,null,1.035,false,17.0,0.0,1.0,0.9,0.0],[3397,true,true,null,38.130000000000003,1.0,null,null,1.043,false,43.0,0.0,22.0,-10.0,0.0],[463,true,true,null,4.27,1.0,null,null,1.168,false,27.0,1.0,6.0,-3.0,0.0],[3400,true,true,null,7.71,1.0,null,null,1.061,false,24.0,0.0,7.0,-7.52,0.0],[3410,true,true,null,2.24,1.0,null,null,1.043,false,7.5,0.0,1.0,-1.0,0.0],[3416,true,true,null,12.68,1.0,null,null,1.013,false,23.100000000000001,0.0,14.0,-14.0,0.0],[3460,true,true,null,7.33,1.0,null,null,1.028,false,13.199999999999999,0.0,8.0,-8.0,0.0],[3483,true,true,null,28.579999999999998,1.0,null,null,1.095,false,53.0,0.0,17.0,-10.0,0.0],[3496,true,true,null,22.02,1.0,null,null,1.048,false,35.0,0.0,15.0,-16.170000000000002,0.0],[3513,true,true,null,0.55,1.0,null,null,1.058,false,26.199999999999999,0.0,16.0,-16.0,0.0],[3536,true,true,null,3.85,1.0,null,null,1.048,false,12.800000000000001,0.0,7.6,-7.6,0.0],[3579,true,true,null,14.710000000000001,1.0,null,null,1.027,false,20.0,0.8,6.0,-10.0,0.0],[3578,true,true,null,15.220000000000001,1.0,null,null,1.038,false,20.0,0.8,4.2,-4.2,0.0],[529,true,true,null,1.87,1.0,null,null,1.044,false,8.0,0.0,4.8,-4.8,0.0],[3592,true,true,null,11.83,1.0,null,null,1.077,false,23.0,0.0,10.0,-9.0,0.0],[3596,true,true,null,10.800000000000001,1.0,null,null,1.021,false,40.0,-40.0,30.0,-10.0,0.0],[3643,true,true,null,0.0,1.0,null,null,1.053,false,7.0,0.0,1.0,0.9,0.0],[3658,true,true,null,5.72,1.0,null,null,1.013,false,12.0,0.0,7.0,-7.0,0.0],[3683,true,true,null,0.17,1.0,null,null,1.035,false,9.5,0.0,6.0,-6.0,0.0],[3706,true,true,null,6.76,1.0,null,null,1.055,false,18.0,0.0,8.0,-8.0,0.0],[3708,true,true,null,39.219999999999999,1.0,null,null,1.042,false,44.0,0.0,17.0,-17.0,0.0],[3739,true,true,null,6.36,1.0,null,null,1.034,false,11.199999999999999,5.6,4.6,-4.1,0.0],[3752,true,true,null,4.01,1.0,null,null,1.023,false,12.0,0.0,1.2,-1.2,0.0],[3807,true,true,null,33.130000000000003,1.0,null,null,1.049,false,37.799999999999997,0.0,12.0,-8.0,0.0],[545,true,true,null,0.0,1.0,null,null,1.051,false,9.0,0.0,2.0,1.9,0.0],[3808,true,true,null,30.809999999999999,1.0,null,null,1.062,false,37.799999999999997,0.0,12.0,-8.0,0.0],[3809,true,true,null,30.32,1.0,null,null,1.069,false,37.799999999999997,0.0,12.0,-8.0,0.0],[3833,true,true,null,4.58,1.0,null,null,1.027,false,12.0,0.0,7.2,-7.2,0.0],[3844,true,true,null,4.28,1.0,null,null,1.039,false,22.0,0.0,6.0,-4.0,0.0],[3859,true,true,null,3.82,1.0,null,null,1.032,false,9.0,0.0,3.0,-3.0,0.0],[3960,true,true,null,33.090000000000003,1.0,null,null,1.021,false,40.0,1.0,6.0,-6.0,0.0],[3959,true,true,null,32.299999999999997,1.0,null,null,1.032,false,40.0,1.0,5.0,-15.0,0.0],[3978,true,true,null,1.23,1.0,null,null,1.005,false,8.0,0.0,3.0,-3.0,0.0],[4046,true,true,null,18.899999999999999,1.0,null,null,1.028,false,27.0,0.0,6.0,-11.0,0.0],[4120,true,true,null,7.5,1.0,null,null,1.035,false,12.300000000000001,0.0,5.0,-5.0,0.0],[582,true,true,null,3.18,1.0,null,null,1.021,false,16.0,0.0,7.0,-4.0,0.0],[4160,true,true,null,17.16,1.0,null,null,1.054,false,24.0,0.0,10.0,-10.0,0.0],[4222,true,true,null,8.09,1.0,null,null,1.039,false,13.0,0.0,13.0,0.0,0.0],[4235,true,true,null,24.210000000000001,1.0,null,null,1.064,false,42.0,0.0,42.0,-42.0,0.0],[4236,true,true,null,10.800000000000001,1.0,null,null,0.976,false,19.0,0.0,5.32,-5.0,0.0],[4266,true,true,null,6.87,1.0,null,null,1.053,false,12.0,0.0,5.0,-5.0,0.0],[4290,true,true,null,17.199999999999999,1.0,null,null,1.022,false,46.0,0.0,20.0,-34.0,0.0],[4306,true,true,null,39.229999999999997,1.0,null,null,1.05,false,44.0,0.0,25.0,-25.0,0.0],[4310,true,true,null,13.289999999999999,1.0,null,null,1.063,false,18.0,0.0,14.0,-14.0,0.0],[4318,true,true,null,21.449999999999999,1.0,null,null,1.02,false,39.0,0.0,24.0,-24.0,0.0],[4336,true,true,null,20.170000000000002,1.0,null,null,1.045,false,26.0,0.0,2.0,1.9,0.0],[609,true,true,null,39.119999999999997,1.0,null,null,1.028,false,45.0,0.0,45.0,-45.0,0.0],[4362,true,true,null,2.71,1.0,null,null,1.055,false,15.0,0.0,3.0,2.9,0.0],[4422,true,true,null,0.04,1.0,null,null,1.037,false,6.0,0.0,2.0,-2.0,0.0],[4442,true,true,null,9.57,1.0,null,null,1.052,false,26.0,0.0,16.0,-17.0,0.0],[4469,true,true,null,18.059999999999999,1.0,null,null,1.025,false,23.699999999999999,0.0,2.11,-2.0,0.0],[4470,true,true,null,18.960000000000001,1.0,null,null,1.055,false,23.699999999999999,0.0,7.0,-3.0,0.0],[4471,true,true,null,18.960000000000001,1.0,null,null,1.055,false,23.699999999999999,0.0,7.0,-3.0,0.0],[4472,true,true,null,18.960000000000001,1.0,null,null,1.053,false,23.699999999999999,0.0,7.0,-3.0,0.0],[4473,true,true,null,18.960000000000001,1.0,null,null,1.058,false,23.699999999999999,0.0,7.0,-3.0,0.0],[4502,true,true,null,11.199999999999999,1.0,null,null,1.039,false,21.0,0.0,6.7,-4.5,0.0],[4506,true,true,null,30.789999999999999,1.0,null,null,1.079,false,87.0,0.0,26.100000000000001,-26.859999999999999,0.0],[623,true,true,null,-4.03,1.0,null,null,1.039,false,8.300000000000001,-8.300000000000001,8.300000000000001,-8.300000000000001,0.0],[4515,true,true,null,12.91,1.0,null,null,1.056,false,22.0,0.0,10.0,-10.0,0.0],[4558,true,true,null,10.18,1.0,null,null,1.038,false,22.0,0.0,7.1,-7.1,0.0],[4565,true,true,null,41.0,1.0,null,null,1.046,false,45.0,44.0,27.0,-9.0,0.0],[4579,true,true,null,1.33,1.0,null,null,1.034,false,12.699999999999999,0.0,5.0,-5.0,0.0],[4665,true,true,null,2.28,1.0,null,null,1.061,false,7.0,0.0,0.1,-0.1,0.0],[4709,true,true,null,1.13,1.0,null,null,1.056,false,11.5,0.0,1.0,-1.0,0.0],[4712,true,true,null,1.08,1.0,null,null,1.068,false,10.0,0.0,1.0,0.9,0.0],[4749,true,true,null,4.1,1.0,null,null,1.008,false,10.0,0.0,5.0,-5.0,0.0],[4750,true,true,null,3.1,1.0,null,null,1.008,false,10.0,0.0,5.0,-5.0,0.0],[4759,true,true,null,11.550000000000001,1.0,null,null,1.049,false,30.0,0.0,10.0,-10.0,0.0],[101,true,true,null,17.120000000000001,1.0,null,null,1.03,false,46.0,0.0,21.0,-9.0,0.0],[635,true,true,null,0.97,1.0,null,null,1.003,false,15.0,0.0,7.0,0.0,0.0],[4796,true,true,null,15.31,1.0,null,null,1.015,false,27.0,0.0,18.0,-18.0,0.0],[4809,true,true,null,1.5,1.0,null,null,1.035,false,6.4,0.0,0.64,-0.64,0.0],[4810,true,true,null,9.199999999999999,1.0,null,null,1.023,false,15.0,1.0,3.6,-4.5,0.0],[4811,true,true,null,9.199999999999999,1.0,null,null,1.022,false,15.0,0.0,3.0,-4.0,0.0],[4819,true,true,null,139.069999999999993,1.0,null,null,1.077,false,170.0,-170.0,70.0,-80.0,0.0],[4816,true,true,null,134.150000000000006,1.0,null,null,1.077,false,170.0,-170.0,70.0,-80.0,0.0],[4818,true,true,null,53.369999999999997,1.0,null,null,1.081,false,150.0,0.0,70.0,-70.0,0.0],[4817,true,true,null,52.630000000000002,1.0,null,null,1.082,false,150.0,0.0,70.0,-70.0,0.0],[4872,true,true,null,6.6,1.0,null,null,1.042,false,12.800000000000001,0.0,7.7,-7.7,0.0],[4892,true,true,null,0.2,1.0,null,null,1.013,false,15.9,0.2,9.800000000000001,-9.800000000000001,0.0],[640,true,true,null,160.75,1.0,null,null,1.104,false,239.0,0.0,80.0,-75.0,0.0],[4914,true,true,null,22.059999999999999,1.0,null,null,1.005,false,32.0,0.0,12.0,-8.0,0.0],[4917,true,true,null,24.68,1.0,null,null,1.03,false,33.0,0.0,12.0,-12.0,0.0],[4940,true,true,null,4.15,1.0,null,null,0.953,false,9.6,0.0,6.0,-6.0,0.0],[4962,true,true,null,24.760000000000002,1.0,null,null,1.042,false,30.0,0.0,18.0,-18.0,0.0],[4975,true,true,null,1.14,1.0,null,null,1.022,false,32.0,0.0,16.0,-18.0,0.0],[4976,true,true,null,25.93,1.0,null,null,1.1,false,35.100000000000001,0.0,12.0,-21.0,0.0],[4977,true,true,null,27.870000000000001,1.0,null,null,1.118,false,35.100000000000001,0.0,12.0,-21.0,0.0],[4978,true,true,null,28.359999999999999,1.0,null,null,1.118,false,35.100000000000001,0.0,12.0,-21.0,0.0],[5016,true,true,null,15.59,1.0,null,null,1.07,false,36.0,0.0,4.0,3.9,0.0],[5022,true,true,null,45.030000000000001,1.0,null,null,1.015,false,50.600000000000001,0.0,15.18,-14.17,0.0],[683,true,true,null,2.24,1.0,null,null,0.966,false,9.0,0.0,6.0,-5.0,0.0],[5951,true,true,null,975.310000000000059,1.0,null,null,1.061,false,1100.0,300.0,470.0,-330.0,0.0],[5961,true,true,null,495.329999999999984,1.0,null,null,1.078,false,500.0,50.0,300.0,-380.0,0.0],[5964,true,true,null,79.820000000000007,1.0,null,null,1.081,false,84.530000000000001,0.0,25.359999999999999,-33.420000000000002,0.0],[5977,true,true,null,416.090000000000032,1.0,null,null,1.067,false,450.0,0.0,200.0,-200.0,0.0],[5991,true,true,null,44.299999999999997,1.0,null,null,1.09,false,49.0,0.0,14.699999999999999,-14.699999999999999,0.0],[5992,true,true,null,204.960000000000008,1.0,null,null,0.993,false,209.670000000000016,0.0,62.899999999999999,-62.899999999999999,0.0],[5995,true,true,null,476.470000000000027,1.0,null,null,1.066,false,481.329999999999984,0.0,144.400000000000006,-144.400000000000006,0.0],[5998,true,true,null,136.27000000000001,1.0,null,null,1.078,false,600.0,300.0,280.0,-280.0,0.0],[5999,true,true,null,133.409999999999997,1.0,null,null,1.078,false,500.0,0.0,280.0,-280.0,0.0],[6003,true,true,null,1.82,1.0,null,null,1.091,false,418.0,185.0,304.0,-171.0,0.0],[698,true,true,null,27.82,1.0,null,null,1.014,false,37.0,0.0,15.0,-17.0,0.0],[6010,true,true,null,71.560000000000002,1.0,null,null,1.079,false,76.210000000000008,0.0,22.859999999999999,-84.810000000000002,0.0],[6012,true,true,null,260.70999999999998,1.0,null,null,1.106,false,265.370000000000005,0.0,79.609999999999999,-79.609999999999999,0.0],[6015,true,true,null,462.150000000000034,1.0,null,null,1.029,false,466.889999999999986,0.0,140.069999999999993,-142.150000000000006,0.0],[6018,true,true,null,1050.920000000000073,1.0,null,null,1.054,false,1056.0,250.0,570.0,-100.0,0.0],[6029,true,true,null,99.0,1.0,null,null,1.038,false,600.0,100.0,400.0,-115.0,0.0],[6038,true,true,null,2.91,1.0,null,null,1.109,false,7.73,0.0,2.32,-3.61,0.0],[6044,true,true,null,501.110000000000014,1.0,null,null,1.058,false,506.0,0.0,151.800000000000011,-151.800000000000011,0.0],[6047,true,true,null,1070.700000000000046,1.0,null,null,1.097,false,1075.450000000000046,0.0,322.629999999999996,-322.629999999999996,0.0],[6055,true,true,null,1039.130000000000109,1.0,null,null,1.072,false,1050.0,300.0,355.0,-215.0,0.0],[6079,true,true,null,216.27000000000001,1.0,null,null,1.08,false,221.0,0.0,75.0,-66.299999999999997,0.0],[697,true,true,null,26.02,1.0,null,null,1.012,false,37.0,0.0,15.0,-15.0,0.0],[6081,true,true,null,38.310000000000002,1.0,null,null,1.098,false,43.0,0.0,12.9,-24.0,0.0],[6084,true,true,null,41.289999999999999,1.0,null,null,1.111,false,46.039999999999999,0.0,71.680000000000007,-13.81,0.0],[6083,true,true,null,16.190000000000001,1.0,null,null,1.097,false,20.920000000000002,0.0,15.27,-6.28,0.0],[6092,true,true,null,1220.950000000000046,1.0,null,null,1.094,false,1225.670000000000073,0.0,367.699999999999989,-367.699999999999989,0.0],[6093,true,true,null,436.170000000000016,1.0,null,null,1.076,false,450.0,0.0,200.0,-200.0,0.0],[6102,true,true,null,187.129999999999995,1.0,null,null,1.061,false,192.0,0.0,57.600000000000001,-57.600000000000001,0.0],[6101,true,true,null,184.150000000000006,1.0,null,null,1.059,false,189.0,0.0,56.700000000000003,-56.700000000000003,0.0],[6106,true,true,null,83.939999999999998,1.0,null,null,1.109,false,88.739999999999995,0.0,44.789999999999999,-26.620000000000001,0.0],[6115,true,true,null,730.350000000000023,1.0,null,null,1.097,false,735.0,0.0,220.5,-220.5,0.0],[6121,true,true,null,1.31,1.0,null,null,1.058,false,6.11,0.0,1.83,-6.63,0.0],[696,true,true,null,27.989999999999998,1.0,null,null,1.012,false,37.0,0.0,15.0,-17.0,0.0],[6122,true,true,null,181.22999999999999,1.0,null,null,1.084,false,186.0,0.0,55.799999999999997,-55.799999999999997,0.0],[6123,true,true,null,-4.82,1.0,null,null,1.094,false,280.0,-280.0,182.0,-252.0,0.0],[6128,true,true,null,454.25,1.0,null,null,1.085,false,459.0,0.0,137.700000000000017,-137.700000000000017,0.0],[6151,true,true,null,417.740000000000009,1.0,null,null,1.076,false,422.620000000000004,0.0,126.790000000000006,-126.790000000000006,0.0],[6154,true,true,null,167.569999999999993,1.0,null,null,1.088,false,172.27000000000001,0.0,51.68,-51.68,0.0],[6163,true,true,null,14.35,1.0,null,null,1.064,false,19.210000000000001,0.0,16.390000000000001,-5.76,0.0],[6173,true,true,null,79.210000000000008,1.0,null,null,1.054,false,300.0,-30.0,200.0,-200.0,0.0],[6177,true,true,null,270.5,1.0,null,null,1.107,false,275.310000000000002,0.0,82.590000000000003,-82.590000000000003,0.0],[6182,true,true,null,353.930000000000007,1.0,null,null,1.095,false,770.0,0.0,300.0,-300.0,0.0],[6184,true,true,null,66.370000000000005,1.0,null,null,1.046,false,200.0,0.0,100.0,-100.0,0.0],[704,true,true,null,0.93,1.0,null,null,0.96,false,5.7,0.0,3.0,-3.0,0.0],[6185,true,true,null,2.77,1.0,null,null,1.103,false,7.56,0.0,2.27,-105.930000000000007,0.0],[6207,true,true,null,173.090000000000003,1.0,null,null,1.089,false,250.0,0.0,120.0,-120.0,0.0],[6208,true,true,null,651.350000000000023,1.0,null,null,1.038,false,656.0,0.0,400.0,-121.0,0.0],[6210,true,true,null,67.329999999999998,1.0,null,null,1.066,false,72.100000000000009,0.0,21.629999999999999,-21.629999999999999,0.0],[6211,true,true,null,1038.299999999999954,1.0,null,null,1.058,false,1100.0,300.0,470.0,-330.0,0.0],[6215,true,true,null,70.340000000000003,1.0,null,null,1.067,false,75.159999999999997,0.0,22.550000000000001,-22.550000000000001,0.0],[6220,true,true,null,112.140000000000001,1.0,null,null,1.086,false,116.890000000000001,0.0,38.079999999999998,-35.07,0.0],[6228,true,true,null,357.689999999999998,1.0,null,null,1.075,false,362.579999999999984,0.0,108.769999999999996,-108.769999999999996,0.0],[6236,true,true,null,494.350000000000023,1.0,null,null,1.071,false,970.0,280.0,515.0,-543.0,0.0],[6246,true,true,null,14.720000000000001,1.0,null,null,1.07,false,23.0,0.0,14.0,-8.869999999999999,0.0],[732,true,true,null,27.260000000000002,1.0,null,null,1.007,false,39.0,0.0,18.0,-18.0,0.0],[6247,true,true,null,14.720000000000001,1.0,null,null,1.07,false,23.0,0.0,14.0,-8.869999999999999,0.0],[6248,true,true,null,21.59,1.0,null,null,1.075,false,27.0,0.0,22.359999999999999,-13.33,0.0],[6249,true,true,null,65.980000000000004,1.0,null,null,0.966,false,86.0,0.0,36.039999999999999,-3.45,0.0],[6251,true,true,null,63.609999999999999,1.0,null,null,0.979,false,124.0,0.0,79.629999999999996,-22.440000000000001,0.0],[6252,true,true,null,21.260000000000002,1.0,null,null,1.072,false,32.0,0.0,10.130000000000001,-6.8,0.0],[6253,true,true,null,21.260000000000002,1.0,null,null,1.072,false,32.0,0.0,10.130000000000001,-6.8,0.0],[6254,true,true,null,19.879999999999999,1.0,null,null,1.051,false,32.0,0.0,9.890000000000001,-6.8,0.0],[6255,true,true,null,19.879999999999999,1.0,null,null,1.051,false,32.0,0.0,9.890000000000001,-6.8,0.0],[6256,true,true,null,74.760000000000005,1.0,null,null,0.958,false,92.0,0.0,59.82,-30.18,0.0],[6257,true,true,null,42.960000000000001,1.0,null,null,0.955,false,92.0,0.0,59.82,-33.640000000000001,0.0],[744,true,true,null,9.029999999999999,1.0,null,null,1.015,false,26.600000000000001,0.0,15.0,-15.0,0.0],[6258,true,true,null,71.989999999999995,1.0,null,null,1.005,false,92.0,0.0,62.700000000000003,-27.300000000000001,0.0],[6259,true,true,null,63.350000000000001,1.0,null,null,1.003,false,92.0,0.0,62.700000000000003,-27.300000000000001,0.0],[6260,true,true,null,66.099999999999994,1.0,null,null,0.947,false,92.0,0.0,62.700000000000003,-38.719999999999999,0.0],[6261,true,true,null,71.930000000000007,1.0,null,null,0.95,false,92.0,0.0,62.700000000000003,-36.390000000000001,0.0],[6262,true,true,null,934.700000000000046,1.0,null,null,1.047,false,939.590000000000032,249.590000000000003,344.579999999999984,-415.949999999999989,0.0],[6263,true,true,null,972.670000000000073,1.0,null,null,1.046,false,977.560000000000059,287.560000000000002,353.879999999999996,-406.019999999999982,0.0],[6264,true,true,null,967.710000000000036,1.0,null,null,1.045,false,972.590000000000032,252.590000000000003,345.269999999999982,-407.569999999999993,0.0],[6265,true,true,null,931.700000000000046,1.0,null,null,1.043,false,936.590000000000032,246.590000000000003,343.800000000000011,-416.800000000000011,0.0],[6266,true,true,null,190.610000000000014,1.0,null,null,1.023,false,252.0,156.0,164.819999999999993,-101.260000000000005,0.0],[6267,true,true,null,189.580000000000012,1.0,null,null,1.024,false,250.0,154.0,164.819999999999993,-100.909999999999997,0.0],[745,true,true,null,1.93,1.0,null,null,1.023,false,7.0,1.0,2.0,-2.0,0.0],[6268,true,true,null,183.580000000000012,1.0,null,null,1.032,false,250.0,154.0,101.230000000000004,-56.189999999999998,0.0],[6269,true,true,null,249.060000000000002,1.0,null,null,1.036,false,305.0,122.0,245.170000000000016,-160.069999999999993,0.0],[6270,true,true,null,123.560000000000002,1.0,null,null,1.04,false,155.0,89.0,102.260000000000005,-66.489999999999995,0.0],[6271,true,true,null,52.630000000000002,1.0,null,null,1.02,false,58.0,0.0,19.649999999999999,-20.550000000000001,0.0],[6272,true,true,null,53.32,1.0,null,null,1.023,false,58.0,0.0,14.44,-12.49,0.0],[6273,true,true,null,53.32,1.0,null,null,1.02,false,58.0,0.0,19.649999999999999,-20.550000000000001,0.0],[6274,true,true,null,53.32,1.0,null,null,1.023,false,58.0,0.0,14.44,-12.49,0.0],[6275,true,true,null,52.630000000000002,1.0,null,null,1.023,false,58.0,0.0,14.300000000000001,-12.49,0.0],[6276,true,true,null,133.0,1.0,null,null,1.024,false,263.0,133.0,173.050000000000011,-81.280000000000001,0.0],[6277,true,true,null,81.310000000000002,1.0,null,null,1.029,false,139.0,0.0,99.900000000000006,-56.479999999999997,0.0],[121,true,true,null,5.92,1.0,null,null,1.038,false,12.0,0.0,5.0,-2.0,0.0],[759,true,true,null,16.760000000000002,1.0,null,null,1.045,false,37.5,0.0,10.0,-8.42,0.0],[6278,true,true,null,30.43,1.0,null,null,0.966,false,49.0,0.0,31.969999999999999,-22.760000000000002,0.0],[6279,true,true,null,30.43,1.0,null,null,0.97,false,49.0,0.0,31.960000000000001,-22.82,0.0],[6280,true,true,null,16.170000000000002,1.0,null,null,0.978,false,32.0,0.0,22.370000000000001,-13.630000000000001,0.0],[6281,true,true,null,9.26,1.0,null,null,0.988,false,32.0,0.0,20.370000000000001,-15.630000000000001,0.0],[6282,true,true,null,12.26,1.0,null,null,0.978,false,32.0,0.0,22.210000000000001,-13.789999999999999,0.0],[6283,true,true,null,935.220000000000027,1.0,null,null,0.995,false,939.970000000000027,269.970000000000027,551.659999999999968,-226.259999999999991,0.0],[6284,true,true,null,926.759999999999991,1.0,null,null,0.995,false,940.210000000000036,270.20999999999998,551.200000000000045,-226.569999999999993,0.0],[6285,true,true,null,923.220000000000027,1.0,null,null,0.996,false,927.960000000000036,277.95999999999998,520.460000000000036,-221.960000000000008,0.0],[6286,true,true,null,874.740000000000009,1.0,null,null,0.994,false,920.200000000000045,270.199999999999989,517.110000000000014,-225.730000000000018,0.0],[6287,true,true,null,1281.600000000000136,1.0,null,null,0.99,false,1308.0,318.0,673.870000000000004,-237.700000000000017,0.0],[760,true,true,null,15.68,1.0,null,null,1.043,false,37.5,0.0,10.0,-6.0,0.0],[6288,true,true,null,1281.600000000000136,1.0,null,null,0.99,false,1308.0,318.0,673.870000000000004,-237.700000000000017,0.0],[6289,true,true,null,29.359999999999999,1.0,null,null,1.036,false,35.0,0.0,5.05,-1.45,0.0],[6290,true,true,null,29.359999999999999,1.0,null,null,1.036,false,35.0,0.0,5.05,-1.45,0.0],[6291,true,true,null,29.359999999999999,1.0,null,null,1.036,false,35.0,0.0,5.05,-1.45,0.0],[6292,true,true,null,29.120000000000001,1.0,null,null,1.035,false,35.0,0.0,5.05,-1.45,0.0],[6293,true,true,null,29.120000000000001,1.0,null,null,1.035,false,35.0,0.0,5.05,-1.45,0.0],[6294,true,true,null,29.120000000000001,1.0,null,null,1.035,false,35.0,0.0,5.05,-1.45,0.0],[6295,true,true,null,15.1,1.0,null,null,0.986,false,20.0,0.0,10.539999999999999,-7.31,0.0],[6296,true,true,null,1281.809999999999945,1.0,null,null,1.012,false,1330.0,337.0,703.470000000000027,-249.560000000000002,0.0],[6297,true,true,null,1293.839999999999918,1.0,null,null,1.016,false,1360.0,367.0,712.050000000000068,-240.980000000000018,0.0],[800,true,true,null,23.780000000000001,1.0,null,null,1.014,false,31.0,0.0,15.0,-17.0,0.0],[6298,true,true,null,1250.839999999999918,1.0,null,null,1.016,false,1360.0,367.0,712.050000000000068,-240.980000000000018,0.0],[6299,true,true,null,62.149999999999999,1.0,null,null,1.03,false,95.0,0.0,53.630000000000002,-33.270000000000003,0.0],[6300,true,true,null,1.4,1.0,null,null,0.991,false,1.5,1.4,285.20999999999998,-103.180000000000007,0.0],[6301,true,true,null,156.52000000000001,1.0,null,null,0.963,false,240.0,-240.0,109.25,-53.310000000000002,0.0],[6302,true,true,null,939.310000000000059,1.0,null,null,1.009,false,946.980000000000018,236.980000000000018,504.449999999999989,-156.159999999999997,0.0],[6303,true,true,null,952.039999999999964,1.0,null,null,1.008,false,957.009999999999991,247.010000000000019,537.919999999999959,-148.900000000000006,0.0],[6304,true,true,null,950.039999999999964,1.0,null,null,1.008,false,955.009999999999991,245.009999999999991,556.050000000000068,-149.450000000000017,0.0],[6309,true,true,null,65.540000000000006,1.0,null,null,0.983,false,125.0,8.5,93.600000000000008,-50.899999999999999,0.0],[6310,true,true,null,63.539999999999999,1.0,null,null,0.983,false,125.0,8.5,93.600000000000008,-50.899999999999999,0.0],[6311,true,true,null,123.740000000000009,1.0,null,null,1.008,false,148.200000000000017,4.2,72.700000000000003,-2.56,0.0],[801,true,true,null,25.530000000000001,1.0,null,null,1.017,false,31.0,0.0,15.0,-17.0,0.0],[6313,true,true,null,477.810000000000002,1.0,null,null,1.007,false,610.0,310.0,359.660000000000025,-170.849999999999994,0.0],[6314,true,true,null,602.830000000000041,1.0,null,null,1.005,false,610.0,310.0,323.139999999999986,-212.840000000000003,0.0],[6316,true,true,null,10.58,1.0,null,null,0.942,false,18.0,0.0,9.859999999999999,-8.039999999999999,0.0],[6317,true,true,null,23.98,1.0,null,null,1.007,false,38.0,0.0,21.609999999999999,-22.260000000000002,0.0],[6318,true,true,null,37.539999999999999,1.0,null,null,0.992,false,50.0,0.0,17.809999999999999,-10.970000000000001,0.0],[6319,true,true,null,34.659999999999997,1.0,null,null,0.991,false,50.0,0.0,17.809999999999999,-10.970000000000001,0.0],[6320,true,true,null,38.5,1.0,null,null,0.992,false,50.0,0.0,17.809999999999999,-10.970000000000001,0.0],[6321,true,true,null,37.539999999999999,1.0,null,null,0.992,false,50.0,0.0,17.809999999999999,-10.970000000000001,0.0],[6322,true,true,null,37.539999999999999,1.0,null,null,0.992,false,50.0,0.0,17.809999999999999,-10.970000000000001,0.0],[6323,true,true,null,35.619999999999998,1.0,null,null,0.991,false,50.0,0.0,17.809999999999999,-10.970000000000001,0.0],[802,true,true,null,24.52,1.0,null,null,1.016,false,31.0,0.0,15.0,-17.0,0.0],[6324,true,true,null,939.07000000000005,1.0,null,null,1.008,false,1000.0,280.0,521.600000000000023,-128.949999999999989,0.0],[6325,true,true,null,950.080000000000041,1.0,null,null,1.012,false,1000.0,280.0,521.600000000000023,-128.949999999999989,0.0],[6326,true,true,null,961.090000000000032,1.0,null,null,1.013,false,1000.0,280.0,566.430000000000064,-129.840000000000003,0.0],[6327,true,true,null,925.32000000000005,1.0,null,null,1.012,false,930.0,280.0,565.460000000000036,-149.319999999999993,0.0],[6328,true,true,null,27.0,1.0,null,null,1.014,false,57.0,0.0,21.890000000000001,-12.76,0.0],[6329,true,true,null,27.0,1.0,null,null,1.014,false,57.0,0.0,21.890000000000001,-12.76,0.0],[6332,true,true,null,402.460000000000036,1.0,null,null,1.031,false,433.800000000000011,248.800000000000011,274.220000000000027,-164.5,0.0],[6333,true,true,null,916.680000000000064,1.0,null,null,1.001,false,921.539999999999964,231.539999999999992,528.049999999999955,-151.02000000000001,0.0],[6334,true,true,null,916.680000000000064,1.0,null,null,1.0,false,921.539999999999964,231.539999999999992,528.049999999999955,-151.02000000000001,0.0],[6335,true,true,null,923.690000000000055,1.0,null,null,1.001,false,928.539999999999964,238.539999999999992,528.799999999999954,-149.120000000000005,0.0],[814,true,true,null,21.82,1.0,null,null,1.019,false,32.0,1.0,6.0,-9.0,0.0],[6336,true,true,null,938.690000000000055,1.0,null,null,1.0,false,943.550000000000068,253.550000000000011,530.560000000000059,-145.0,0.0],[6338,true,true,null,1306.490000000000009,1.0,null,null,1.031,false,1380.0,340.0,407.480000000000018,-463.970000000000027,0.0],[6339,true,true,null,1189.5,1.0,null,null,1.035,false,1380.0,340.0,407.480000000000018,-463.970000000000027,0.0],[6340,true,true,null,24.789999999999999,1.0,null,null,1.023,false,31.5,0.0,22.469999999999999,-13.529999999999999,0.0],[6341,true,true,null,51.219999999999999,1.0,null,null,1.007,false,65.0,0.0,37.340000000000003,-22.66,0.0],[6342,true,true,null,51.630000000000002,1.0,null,null,1.004,false,70.0,0.0,22.34,-21.699999999999999,0.0],[6343,true,true,null,55.729999999999997,1.0,null,null,1.005,false,65.0,0.0,53.950000000000003,-36.049999999999997,0.0],[6344,true,true,null,56.75,1.0,null,null,1.004,false,65.0,0.0,55.380000000000003,-34.619999999999998,0.0],[6345,true,true,null,54.119999999999997,1.0,null,null,1.006,false,70.0,0.0,39.630000000000002,-20.370000000000001,0.0],[6346,true,true,null,1303.110000000000127,1.0,null,null,1.027,false,1308.0,288.0,566.82000000000005,-494.400000000000034,0.0],[815,true,true,null,22.350000000000001,1.0,null,null,1.019,false,32.0,1.0,6.0,-9.0,0.0],[6347,true,true,null,1303.110000000000127,1.0,null,null,1.029,false,1308.0,288.0,566.82000000000005,-494.400000000000034,0.0],[6350,true,true,null,377.879999999999996,1.0,null,null,0.999,false,458.259999999999991,89.260000000000005,286.78000000000003,-117.109999999999999,0.0],[6351,true,true,null,23.420000000000002,1.0,null,null,1.015,false,36.0,0.0,10.34,-12.56,0.0],[6352,true,true,null,23.420000000000002,1.0,null,null,1.015,false,36.0,0.0,10.34,-12.56,0.0],[6353,true,true,null,938.840000000000032,1.0,null,null,1.018,false,947.0,237.0,525.980000000000018,-146.099999999999994,0.0],[6354,true,true,null,931.310000000000059,1.0,null,null,1.017,false,947.0,267.0,527.889999999999986,-146.099999999999994,0.0],[6355,true,true,null,939.32000000000005,1.0,null,null,1.015,false,947.0,237.0,525.980000000000018,-146.099999999999994,0.0],[6356,true,true,null,938.840000000000032,1.0,null,null,1.014,false,947.0,237.0,525.980000000000018,-146.099999999999994,0.0],[6357,true,true,null,942.279999999999973,1.0,null,null,1.014,false,947.0,237.0,525.980000000000018,-146.099999999999994,0.0],[6358,true,true,null,841.700000000000046,1.0,null,null,1.018,false,947.0,237.0,525.980000000000018,-146.099999999999994,0.0],[829,true,true,null,6.55,1.0,null,null,1.053,false,27.0,0.0,10.0,-10.0,0.0],[6360,true,true,null,428.759999999999991,1.0,null,null,1.001,false,456.800000000000011,216.800000000000011,271.840000000000032,-127.370000000000005,0.0],[6361,true,true,null,248.210000000000008,1.0,null,null,0.999,false,260.0,130.0,166.409999999999997,-98.900000000000006,0.0],[6364,true,true,null,31.93,1.0,null,null,0.967,false,57.0,0.0,32.549999999999997,-11.19,0.0],[6365,true,true,null,30.989999999999998,1.0,null,null,0.966,false,57.0,0.0,32.549999999999997,-11.33,0.0],[6366,true,true,null,10.039999999999999,1.0,null,null,1.037,false,31.0,-15.0,20.129999999999999,-7.22,0.0],[6367,true,true,null,10.039999999999999,1.0,null,null,1.037,false,31.0,0.0,33.890000000000001,-21.949999999999999,0.0],[6368,true,true,null,8.23,1.0,null,null,1.054,false,19.5,0.0,7.83,-4.91,0.0],[6369,true,true,null,7.3,1.0,null,null,1.054,false,19.5,0.0,7.83,-4.91,0.0],[6371,true,true,null,27.59,1.0,null,null,1.005,false,35.0,0.0,7.32,-7.24,0.0],[6372,true,true,null,26.579999999999998,1.0,null,null,1.005,false,35.0,0.0,7.11,-7.24,0.0],[835,true,true,null,3.01,1.0,null,null,1.033,false,15.0,0.0,3.0,2.9,0.0],[6373,true,true,null,26.579999999999998,1.0,null,null,1.005,false,35.0,0.0,11.43,-11.73,0.0],[6374,true,true,null,27.59,1.0,null,null,1.005,false,35.0,0.0,7.32,-7.24,0.0],[6376,true,true,null,38.310000000000002,1.0,null,null,0.99,false,47.0,0.0,10.25,-5.61,0.0],[6377,true,true,null,37.350000000000001,1.0,null,null,0.99,false,47.0,0.0,10.25,-5.79,0.0],[6378,true,true,null,47.829999999999998,1.0,null,null,0.977,false,73.0,0.0,51.920000000000002,-31.579999999999998,0.0],[6379,true,true,null,54.909999999999997,1.0,null,null,0.973,false,69.0,0.0,55.200000000000003,-28.489999999999998,0.0],[6380,true,true,null,54.899999999999999,1.0,null,null,0.979,false,76.0,0.0,51.280000000000001,-28.719999999999999,0.0],[6381,true,true,null,50.859999999999999,1.0,null,null,0.977,false,77.5,0.0,51.130000000000003,-30.120000000000001,0.0],[6382,true,true,null,19.420000000000002,1.0,null,null,1.006,false,31.0,0.0,14.949999999999999,-10.67,0.0],[6383,true,true,null,20.390000000000001,1.0,null,null,1.006,false,31.0,0.0,14.949999999999999,-10.67,0.0],[863,true,true,null,3.69,1.0,null,null,1.016,false,14.0,0.0,7.0,-7.0,0.0],[6384,true,true,null,19.420000000000002,1.0,null,null,1.006,false,31.0,0.0,14.949999999999999,-10.67,0.0],[6385,true,true,null,32.280000000000001,1.0,null,null,0.979,false,50.0,0.0,31.73,-15.57,0.0],[6386,true,true,null,20.559999999999999,1.0,null,null,1.017,false,37.0,0.0,15.94,-8.359999999999999,0.0],[6387,true,true,null,19.59,1.0,null,null,1.016,false,37.0,0.0,15.94,-8.359999999999999,0.0],[6388,true,true,null,20.559999999999999,1.0,null,null,1.017,false,37.0,0.0,15.94,-8.359999999999999,0.0],[6389,true,true,null,20.559999999999999,1.0,null,null,1.017,false,37.0,0.0,15.94,-8.359999999999999,0.0],[6390,true,true,null,212.810000000000002,1.0,null,null,1.002,false,250.0,137.0,170.469999999999999,-33.560000000000002,0.0],[6391,true,true,null,225.819999999999993,1.0,null,null,1.004,false,250.0,137.0,170.469999999999999,-33.560000000000002,0.0],[6392,true,true,null,0.93,1.0,null,null,0.958,false,19.0,0.0,10.619999999999999,-7.12,0.0],[6393,true,true,null,1.77,1.0,null,null,0.958,false,19.0,0.0,10.619999999999999,-7.12,0.0],[131,true,true,null,12.210000000000001,1.0,null,null,1.068,false,17.0,0.0,3.0,-3.0,0.0],[864,true,true,null,6.08,1.0,null,null,1.018,false,14.0,0.0,7.0,-7.0,0.0],[6394,true,true,null,86.140000000000001,1.0,null,null,0.984,false,122.0,0.0,25.640000000000001,-10.92,0.0],[6395,true,true,null,371.870000000000004,1.0,null,null,0.996,false,419.900000000000034,201.900000000000006,215.240000000000009,-161.259999999999991,0.0],[6396,true,true,null,25.109999999999999,1.0,null,null,1.072,false,52.0,0.0,39.82,-19.390000000000001,0.0],[6397,true,true,null,25.109999999999999,1.0,null,null,1.072,false,52.0,0.0,39.82,-19.390000000000001,0.0],[6400,true,true,null,160.710000000000008,1.0,null,null,1.015,false,227.0,-218.0,195.599999999999994,-56.560000000000002,0.0],[6401,true,true,null,167.72999999999999,1.0,null,null,1.015,false,227.0,-218.0,195.939999999999998,-56.259999999999998,0.0],[6402,true,true,null,164.710000000000008,1.0,null,null,1.015,false,227.0,-218.0,195.939999999999998,-56.259999999999998,0.0],[6403,true,true,null,167.719999999999999,1.0,null,null,1.015,false,227.0,-218.0,196.039999999999992,-56.170000000000002,0.0],[6404,true,true,null,35.740000000000002,1.0,null,null,0.985,false,65.0,0.0,79.870000000000004,-54.689999999999998,0.0],[6405,true,true,null,34.68,1.0,null,null,0.985,false,65.0,0.0,79.870000000000004,-54.689999999999998,0.0],[964,true,true,null,38.25,1.0,null,null,1.062,false,50.0,0.0,27.0,-9.0,0.0],[6406,true,true,null,874.930000000000064,1.0,null,null,1.042,false,950.0,237.0,511.819999999999993,-146.330000000000012,0.0],[6407,true,true,null,893.930000000000064,1.0,null,null,1.03,false,950.0,237.0,533.700000000000046,-146.330000000000012,0.0],[6408,true,true,null,235.700000000000017,1.0,null,null,1.025,false,316.0,168.0,194.0,-149.75,0.0],[6409,true,true,null,186.069999999999993,1.0,null,null,0.992,false,191.0,107.0,179.420000000000016,-94.620000000000004,0.0],[6411,true,true,null,1301.6400000000001,1.0,null,null,0.981,false,1360.0,289.0,671.919999999999959,-213.289999999999992,0.0],[6412,true,true,null,51.359999999999999,1.0,null,null,0.991,false,61.0,0.0,28.899999999999999,-24.219999999999999,0.0],[6413,true,true,null,51.359999999999999,1.0,null,null,0.991,false,61.0,0.0,28.899999999999999,-24.219999999999999,0.0],[6414,true,true,null,27.760000000000002,1.0,null,null,1.003,false,35.0,0.0,23.239999999999998,-10.1,0.0],[6415,true,true,null,1290.6400000000001,1.0,null,null,1.034,false,1380.0,350.0,706.840000000000032,-235.159999999999997,0.0],[6416,true,true,null,1300.610000000000127,1.0,null,null,1.047,false,1380.0,350.0,706.840000000000032,-235.159999999999997,0.0],[972,true,true,null,1.35,1.0,null,null,1.026,false,8.0,0.0,5.0,-5.0,0.0],[6417,true,true,null,1305.610000000000127,1.0,null,null,1.043,false,1380.0,350.0,695.830000000000041,-235.159999999999997,0.0],[6418,true,true,null,1285.150000000000091,1.0,null,null,1.047,false,1290.0,350.0,681.310000000000059,-260.689999999999998,0.0],[6419,true,true,null,9.83,1.0,null,null,1.035,false,51.0,0.8,37.509999999999998,-10.49,0.0],[6420,true,true,null,1318.089999999999918,1.0,null,null,1.035,false,1380.0,340.0,675.480000000000018,-207.210000000000008,0.0],[6421,true,true,null,1270.620000000000118,1.0,null,null,1.037,false,1380.0,340.0,675.480000000000018,-207.210000000000008,0.0],[6424,true,true,null,515.539999999999964,1.0,null,null,1.039,false,598.0,188.0,331.769999999999982,-92.079999999999998,0.0],[6426,true,true,null,17.649999999999999,1.0,null,null,1.075,false,43.0,0.0,33.109999999999999,-20.489999999999998,0.0],[6427,true,true,null,16.710000000000001,1.0,null,null,1.075,false,43.0,0.0,33.109999999999999,-20.489999999999998,0.0],[6428,true,true,null,16.710000000000001,1.0,null,null,1.075,false,43.0,0.0,33.109999999999999,-20.489999999999998,0.0],[6429,true,true,null,40.810000000000002,1.0,null,null,0.94,false,80.0,0.0,42.659999999999997,-33.659999999999997,0.0],[1008,true,true,null,0.0,1.0,null,null,1.062,false,3.0,0.0,1.0,0.9,0.0],[6430,true,true,null,232.280000000000001,1.0,null,null,0.967,false,245.0,85.0,109.159999999999997,-75.850000000000008,0.0],[6431,true,true,null,598.399999999999977,1.0,null,null,0.971,false,605.0,295.0,230.469999999999999,-115.950000000000003,0.0],[6432,true,true,null,37.030000000000001,1.0,null,null,1.033,false,56.0,0.0,24.739999999999998,-16.5,0.0],[6433,true,true,null,34.990000000000002,1.0,null,null,1.032,false,56.0,0.0,24.739999999999998,-16.5,0.0],[6434,true,true,null,1.18,1.0,null,null,1.007,false,58.0,0.0,61.200000000000003,-1.88,0.0],[6435,true,true,null,17.629999999999999,1.0,null,null,1.041,false,23.100000000000001,0.0,17.149999999999999,-10.85,0.0],[6436,true,true,null,17.629999999999999,1.0,null,null,1.041,false,23.100000000000001,0.0,17.140000000000001,-10.859999999999999,0.0],[6437,true,true,null,408.340000000000032,1.0,null,null,1.041,false,439.800000000000011,230.800000000000011,169.819999999999993,-6.72,0.0],[6438,true,true,null,36.049999999999997,1.0,null,null,1.039,false,41.0,0.0,21.739999999999998,-17.309999999999999,0.0],[6442,true,true,null,25.649999999999999,1.0,null,null,0.984,false,32.0,0.0,19.57,-10.43,0.0],[1012,true,true,null,1.75,1.0,null,null,1.065,false,7.2,0.0,4.0,-4.0,0.0],[6444,true,true,null,27.260000000000002,1.0,null,null,0.984,false,32.0,0.0,19.57,-10.43,0.0],[6446,true,true,null,109.379999999999995,1.0,null,null,1.096,false,180.0,-180.0,116.010000000000005,-89.939999999999998,0.0],[6447,true,true,null,23.59,1.0,null,null,1.028,false,44.0,0.0,14.640000000000001,-6.01,0.0],[6448,true,true,null,26.109999999999999,1.0,null,null,1.007,false,31.0,0.0,19.260000000000002,-13.380000000000001,0.0],[6449,true,true,null,25.149999999999999,1.0,null,null,1.006,false,31.0,0.0,19.260000000000002,-13.380000000000001,0.0],[6450,true,true,null,15.699999999999999,1.0,null,null,1.027,false,38.0,0.0,27.02,-18.300000000000001,0.0],[6451,true,true,null,15.699999999999999,1.0,null,null,1.023,false,38.0,0.0,26.960000000000001,-18.510000000000002,0.0],[6452,true,true,null,13.66,1.0,null,null,1.022,false,38.0,0.0,26.960000000000001,-18.510000000000002,0.0],[6453,true,true,null,35.159999999999997,1.0,null,null,0.974,false,66.0,0.0,41.079999999999998,-25.629999999999999,0.0],[6454,true,true,null,40.32,1.0,null,null,0.99,false,84.0,0.0,54.619999999999998,-24.010000000000002,0.0],[1056,true,true,null,7.0,1.0,null,null,1.072,false,11.800000000000001,7.0,6.0,-3.0,0.0],[6455,true,true,null,40.32,1.0,null,null,0.99,false,84.0,0.0,54.619999999999998,-24.010000000000002,0.0],[6456,true,true,null,28.280000000000001,1.0,null,null,0.978,false,33.0,0.0,26.239999999999998,-3.76,0.0],[6457,true,true,null,3.3,1.0,null,null,0.942,false,33.0,0.0,26.239999999999998,-4.63,0.0],[6458,true,true,null,113.75,1.0,null,null,1.038,false,130.0,0.0,30.84,-18.18,0.0],[6459,true,true,null,1307.720000000000027,1.0,null,null,0.998,false,1332.0,282.0,671.480000000000018,-239.659999999999997,0.0],[6460,true,true,null,1281.720000000000027,1.0,null,null,0.999,false,1332.0,282.0,671.480000000000018,-239.659999999999997,0.0],[6461,true,true,null,277.410000000000025,1.0,null,null,1.013,false,285.0,150.0,168.900000000000006,14.279999999999999,0.0],[6462,true,true,null,553.600000000000023,1.0,null,null,1.008,false,595.0,225.0,204.969999999999999,-97.540000000000006,0.0],[6463,true,true,null,362.900000000000034,1.0,null,null,1.016,false,443.0,127.0,114.040000000000006,-19.300000000000001,0.0],[6464,true,true,null,411.910000000000025,1.0,null,null,1.016,false,443.0,127.0,120.820000000000007,-19.379999999999999,0.0],[1065,true,true,null,3.11,1.0,null,null,1.046,false,12.0,0.0,2.0,1.9,0.0],[6465,true,true,null,45.07,1.0,null,null,1.022,false,50.0,0.0,27.73,-24.25,0.0],[6466,true,true,null,45.07,1.0,null,null,1.022,false,50.0,0.0,27.73,-24.25,0.0],[6467,true,true,null,35.590000000000003,1.0,null,null,0.985,false,49.0,0.0,32.520000000000003,-21.789999999999999,0.0],[6468,true,true,null,34.609999999999999,1.0,null,null,0.985,false,49.0,0.0,32.520000000000003,-21.789999999999999,0.0],[6469,true,true,null,20.41,1.0,null,null,0.981,false,30.0,0.0,21.620000000000001,-13.24,0.0],[6470,true,true,null,21.420000000000002,1.0,null,null,0.94,false,30.0,0.0,21.620000000000001,-13.24,0.0],[6471,true,true,null,52.240000000000002,1.0,null,null,0.996,false,85.0,0.0,57.420000000000002,-17.850000000000001,0.0],[6472,true,true,null,921.82000000000005,1.0,null,null,1.001,false,949.430000000000064,229.430000000000007,542.930000000000064,-151.129999999999995,0.0],[6473,true,true,null,914.830000000000041,1.0,null,null,1.001,false,952.430000000000064,232.430000000000007,543.169999999999959,-150.280000000000001,0.0],[6474,true,true,null,32.119999999999997,1.0,null,null,1.018,false,49.0,0.0,21.77,-20.199999999999999,0.0],[1107,true,true,null,14.0,1.0,null,null,1.077,false,18.0,14.0,6.0,-6.0,0.0],[6475,true,true,null,32.119999999999997,1.0,null,null,1.018,false,49.0,0.0,21.77,-20.199999999999999,0.0],[6476,true,true,null,32.119999999999997,1.0,null,null,1.018,false,49.0,0.0,21.77,-20.199999999999999,0.0],[6477,true,true,null,51.630000000000002,1.0,null,null,0.937,false,156.0,0.0,112.390000000000001,-60.200000000000003,0.0],[6478,true,true,null,62.899999999999999,1.0,null,null,1.01,false,99.0,0.0,22.91,-33.960000000000001,0.0],[6479,true,true,null,63.899999999999999,1.0,null,null,1.01,false,99.0,0.0,22.91,-33.960000000000001,0.0],[6480,true,true,null,931.060000000000059,1.0,null,null,0.996,false,985.0,275.0,405.579999999999984,-162.030000000000001,0.0],[6481,true,true,null,901.889999999999986,1.0,null,null,0.992,false,985.0,275.0,400.579999999999984,-167.030000000000001,0.0],[6482,true,true,null,959.930000000000064,1.0,null,null,0.994,false,985.0,275.0,400.579999999999984,-167.030000000000001,0.0],[6483,true,true,null,970.269999999999982,1.0,null,null,0.989,false,985.0,275.0,400.579999999999984,-167.030000000000001,0.0],[6487,true,true,null,59.289999999999999,1.0,null,null,0.928,false,64.0,-64.0,89.400000000000006,-50.600000000000001,0.0],[1109,true,true,null,11.4,1.0,null,null,1.047,false,18.0,0.0,10.0,-10.0,0.0],[6488,true,true,null,59.289999999999999,1.0,null,null,0.928,false,64.0,-64.0,89.400000000000006,-50.600000000000001,0.0],[6489,true,true,null,59.289999999999999,1.0,null,null,0.928,false,64.0,-64.0,89.400000000000006,-50.600000000000001,0.0],[6490,true,true,null,198.610000000000014,1.0,null,null,1.028,false,268.0,138.0,148.090000000000003,-87.359999999999999,0.0],[6491,true,true,null,174.610000000000014,1.0,null,null,1.03,false,268.0,138.0,148.090000000000003,-87.359999999999999,0.0],[6492,true,true,null,149.800000000000011,1.0,null,null,1.055,false,180.0,0.0,97.799999999999997,-42.200000000000003,0.0],[6493,true,true,null,46.060000000000002,1.0,null,null,1.032,false,136.0,0.0,133.879999999999996,-46.119999999999997,0.0],[6494,true,true,null,46.049999999999997,1.0,null,null,1.032,false,128.0,0.0,123.950000000000003,-46.049999999999997,0.0],[1209,true,true,null,31.23,1.0,null,null,1.095,false,62.0,0.0,40.0,-40.0,0.0],[136,true,true,null,10.140000000000001,1.0,null,null,1.032,false,18.0,0.0,0.8,-0.8,0.0],[1210,true,true,null,22.210000000000001,1.0,null,null,1.08,false,41.399999999999999,0.0,12.42,-11.99,0.0],[1285,true,true,null,1.04,1.0,null,null,1.065,false,8.0,0.0,2.6,-2.8,0.0],[1324,true,true,null,0.13,1.0,null,null,1.064,false,5.0,0.0,1.0,0.9,0.0],[1343,true,true,null,0.0,1.0,null,null,1.0,false,11.0,0.0,5.0,1.0,0.0],[1356,true,true,null,24.170000000000002,1.0,null,null,1.051,false,45.0,0.0,18.0,-18.0,0.0],[1355,true,true,null,23.66,1.0,null,null,1.053,false,45.0,0.0,18.0,-18.0,0.0],[1362,true,true,null,5.02,1.0,null,null,1.038,false,13.0,0.0,7.62,-5.0,0.0],[1419,true,true,null,39.140000000000001,1.0,null,null,1.04,false,50.0,0.0,50.0,-50.0,0.0],[1516,true,true,null,215.550000000000011,1.0,null,null,1.123,false,239.0,44.0,100.0,-60.0,0.0],[1517,true,true,null,159.509999999999991,1.0,null,null,0.97,false,169.0,82.0,70.0,-45.0,0.0],[157,true,true,null,8.199999999999999,1.0,null,null,0.963,false,17.899999999999999,0.0,10.0,-13.0,0.0],[1554,true,true,null,6.24,1.0,null,null,1.046,false,49.0,1.0,22.0,-9.0,0.0],[1592,true,true,null,18.260000000000002,1.0,null,null,1.057,false,36.0,0.0,11.0,-12.0,0.0],[1598,true,true,null,37.229999999999997,1.0,null,null,1.05,false,42.0,0.0,20.0,-10.0,0.0],[1623,true,true,null,4.56,1.0,null,null,1.056,false,78.0,0.0,1.0,-3.72,0.0],[1638,true,true,null,4.26,1.0,null,null,1.064,false,52.0,0.0,10.0,-13.0,0.0],[1677,true,true,null,4.1,1.0,null,null,1.018,false,11.0,0.0,5.0,-5.0,0.0],[1686,true,true,null,2.13,1.0,null,null,1.018,false,7.1,0.0,2.13,-1.99,0.0],[1699,true,true,null,13.27,1.0,null,null,1.044,false,28.899999999999999,0.0,18.0,-18.0,0.0],[1733,true,true,null,17.469999999999999,1.0,null,null,1.054,false,27.0,0.0,14.0,-14.0,0.0],[1740,true,true,null,35.280000000000001,1.0,null,null,1.113,false,40.0,0.0,20.0,-18.0,0.0],[193,true,true,null,2.48,1.0,null,null,1.059,false,15.0,0.0,1.0,0.9,0.0],[1741,true,true,null,35.280000000000001,1.0,null,null,1.112,false,40.0,0.0,20.0,-18.0,0.0],[1742,true,true,null,34.840000000000003,1.0,null,null,1.113,false,40.0,0.0,20.0,-18.0,0.0],[1864,true,true,null,37.590000000000003,1.0,null,null,1.014,false,44.0,0.0,20.0,-9.0,0.0],[1887,true,true,null,16.379999999999999,1.0,null,null,1.042,false,24.0,0.0,4.0,-4.0,0.0],[1888,true,true,null,14.92,1.0,null,null,1.039,false,24.0,0.0,4.0,-4.0,0.0],[1889,true,true,null,17.800000000000001,1.0,null,null,1.045,false,24.0,0.0,4.0,-4.0,0.0],[1890,true,true,null,17.280000000000001,1.0,null,null,1.046,false,24.0,0.0,4.0,-4.0,0.0],[1960,true,true,null,18.539999999999999,1.0,null,null,1.058,false,24.0,0.0,8.0,-7.0,0.0],[1961,true,true,null,17.57,1.0,null,null,1.061,false,24.0,0.0,0.22,-0.01,0.0],[1962,true,true,null,18.539999999999999,1.0,null,null,1.058,false,24.0,0.0,8.0,-7.0,0.0],[255,true,true,null,8.109999999999999,1.0,null,null,1.047,false,26.0,0.0,10.0,-10.0,0.0],[1963,true,true,null,18.039999999999999,1.0,null,null,1.061,false,24.0,0.0,8.0,-7.0,0.0],[1964,true,true,null,18.030000000000001,1.0,null,null,1.062,false,24.0,0.0,8.0,-7.0,0.0],[1973,true,true,null,23.600000000000001,1.0,null,null,1.016,false,29.0,0.0,10.0,-10.0,0.0],[1974,true,true,null,23.609999999999999,1.0,null,null,1.009,false,29.0,0.0,5.0,-18.0,0.0],[1975,true,true,null,24.309999999999999,1.0,null,null,1.014,false,29.0,0.0,8.0,-18.0,0.0],[1979,true,true,null,0.5,1.0,null,null,1.041,false,4.6,0.5,2.0,-2.0,0.0],[2000,true,true,null,40.119999999999997,1.0,null,null,1.031,false,46.0,0.0,21.0,-9.0,0.0],[2011,true,true,null,13.99,1.0,null,null,1.033,false,24.0,0.0,9.0,-9.0,0.0],[2012,true,true,null,14.07,1.0,null,null,1.037,false,24.0,0.0,9.0,-9.0,0.0],[2021,true,true,null,19.350000000000001,1.0,null,null,1.055,false,30.0,-30.0,7.0,-7.0,0.0],[257,true,true,null,25.27,1.0,null,null,1.079,false,30.0,0.0,1.0,0.9,0.0],[2043,true,true,null,27.41,1.0,null,null,1.03,false,34.0,0.0,19.0,-16.0,0.0],[2091,true,true,null,37.310000000000002,1.0,null,null,1.058,false,54.0,1.0,22.0,-10.0,0.0],[2095,true,true,null,3.64,1.0,null,null,1.029,false,16.0,0.0,5.0,-5.0,0.0],[2153,true,true,null,12.24,1.0,null,null,1.066,false,29.0,0.0,13.0,-6.0,0.0],[2157,true,true,null,39.759999999999998,1.0,null,null,1.022,false,45.0,0.0,22.0,-10.0,0.0],[2185,true,true,null,5.45,1.0,null,null,0.965,false,15.0,0.0,9.0,-9.0,0.0],[2187,true,true,null,11.609999999999999,1.0,null,null,1.068,false,20.0,0.0,2.0,1.9,0.0],[2239,true,true,null,2.5,1.0,null,null,1.077,false,24.0,2.5,8.0,-8.0,0.0],[2289,true,true,null,-4.65,1.0,null,null,1.014,false,64.0,-64.0,20.0,-20.0,0.0],[2333,true,true,null,13.08,1.0,null,null,0.988,false,28.0,0.0,12.0,-9.0,0.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -96,7 +158,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "switch": { @@ -133,7 +196,7 @@ "ext_grid": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0,1,2,3,4,5],\"data\":[[6077,true,null,8.095274659999999,1.109,1387.0,0.0,416.100000000000023,-416.100000000000023],[6161,true,null,17.0128193,1.087,2898.840000000000146,0.0,869.649999999999977,-869.649999999999977],[6305,true,null,15.044362700000001,1.049,1503.0,403.0,657.680000000000064,-222.980000000000018],[6306,true,null,15.1334157,1.022,1503.0,403.0,657.680000000000064,-222.980000000000018],[6307,true,null,0.515937805,1.0,1498.0,398.0,390.29000000000002,-446.449999999999989],[6308,true,null,0.525348674,1.002,1498.0,398.0,368.810000000000002,-446.449999999999989]]}", + "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0,1,2,3,4,5],\"data\":[[6077,true,null,8.095274659999999,1.109,1387.0,0.0,416.100000000000023,-416.100000000000023,1.0],[6161,true,null,17.0128193,1.087,2898.840000000000146,0.0,869.649999999999977,-869.649999999999977,1.0],[6305,true,null,15.044362700000001,1.049,1503.0,403.0,657.680000000000064,-222.980000000000018,1.0],[6306,true,null,15.1334157,1.022,1503.0,403.0,657.680000000000064,-222.980000000000018,1.0],[6307,true,null,0.515937805,1.0,1498.0,398.0,390.29000000000002,-446.449999999999989,1.0],[6308,true,null,0.525348674,1.002,1498.0,398.0,368.810000000000002,-446.449999999999989,1.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -144,7 +207,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "line": { @@ -297,7 +361,7 @@ "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\",\"in_service\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"ps_mw\",\"qs_mvar\",\"qz_mvar\",\"pz_mw\",\"r_ohm\",\"x_ohm\",\"vm_pu\",\"in_service\",\"slack_weight\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "name": "object", @@ -309,7 +373,8 @@ "r_ohm": "float64", "x_ohm": "float64", "vm_pu": "float64", - "in_service": "bool" + "in_service": "bool", + "slack_weight": "float64" } }, "measurement": { @@ -358,13 +423,14 @@ "controller": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"recycle\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"initial_run\",\"recycle\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "object": "object", "in_service": "bool", "order": "float64", "level": "object", + "initial_run": "bool", "recycle": "bool" } }, @@ -388,11 +454,11 @@ "coords": "object" } }, - "version": "2.2.1", + "version": "2.7.1", "converged": true, "name": "", "f_hz": 50, - "sn_mva": 1.0, + "sn_mva": 100, "std_types": { "line": { "NAYY 4x150 SE": { @@ -1272,6 +1338,16 @@ "q_mvar": "float64" } }, + "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" + } + }, "res_sgen": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -1356,6 +1432,341 @@ "va_to_degree": "float64" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_bus_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_line_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo3w_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_ext_grid_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_gen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_sgen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_shunt_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "user_pf_options": {}, "OPF_converged": false } diff --git a/pandapower/networks/power_system_test_case_jsons/case6515rte.json b/pandapower/networks/power_system_test_case_jsons/case6515rte.json index 6dbd40a0c..8f55d3dda 100644 --- a/pandapower/networks/power_system_test_case_jsons/case6515rte.json +++ b/pandapower/networks/power_system_test_case_jsons/case6515rte.json @@ -58,6 +58,68 @@ "min_q_mvar": "float64" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "storage": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -80,7 +142,7 @@ "gen": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0,1,10,100,101,102,103,104,105,106,107,108,109,11,110,111,112,113,114,115,116,117,118,119,12,120,121,122,123,124,125,126,127,128,129,13,130,131,132,133,134,135,136,137,138,139,14,140,141,142,143,144,145,146,147,148,149,15,150,151,152,153,154,155,156,157,158,159,16,160,161,162,163,164,165,166,167,168,169,17,170,171,172,173,174,175,176,177,178,179,18,180,181,182,183,184,185,186,187,188,189,19,190,191,192,193,194,195,196,197,198,199,2,20,200,201,202,203,204,205,206,207,208,209,21,210,211,212,213,214,215,216,217,218,219,22,220,221,222,223,224,225,226,227,228,229,23,230,231,232,233,234,235,236,237,238,239,24,240,241,242,243,244,245,246,247,248,249,25,250,251,252,253,254,255,256,257,258,259,26,260,261,262,263,264,265,266,267,268,269,27,270,271,272,273,274,275,276,277,278,279,28,280,281,282,283,284,285,286,287,288,289,29,290,291,292,293,294,295,296,297,298,299,3,30,300,301,302,303,304,305,306,307,308,309,31,310,311,312,313,314,315,316,317,318,319,32,320,321,322,323,324,325,326,327,328,329,33,330,331,332,333,334,335,336,337,338,339,34,340,341,342,343,344,345,346,347,348,349,35,350,351,352,353,354,355,356,357,358,359,36,360,361,362,363,364,365,366,367,368,369,37,370,371,372,373,374,375,376,377,378,379,38,380,381,382,383,384,385,386,387,388,389,39,390,391,392,393,394,395,396,397,398,399,4,40,400,401,402,403,404,405,406,407,408,409,41,410,411,412,413,414,415,416,417,418,419,42,420,421,422,423,424,425,426,427,428,429,43,430,431,432,433,434,435,436,437,438,439,44,440,441,442,443,444,445,446,447,448,449,45,450,451,452,453,454,455,456,457,458,459,46,460,461,462,463,464,465,466,467,468,469,47,470,471,472,473,474,475,476,477,478,479,48,480,481,482,483,484,485,486,487,488,489,49,490,491,5,50,51,52,53,54,55,56,57,58,59,6,60,61,62,63,64,65,66,67,68,69,7,70,71,72,73,74,75,76,77,78,79,8,80,81,82,83,84,85,86,87,88,89,9,90,91,92,93,94,95,96,97,98,99],\"data\":[[46,true,true,null,8.56,1.0,null,null,1.022,false,16.0,0.0,9.5,-10.0],[56,true,true,null,4.74,1.0,null,null,1.058,false,13.0,0.0,1.0,0.9],[335,true,true,null,6.4,1.0,null,null,1.023,false,13.0,0.0,5.0,-6.0],[2364,true,true,null,19.32,1.0,null,null,1.103,false,24.0,0.0,20.0,-20.0],[2365,true,true,null,14.09,1.0,null,null,1.081,false,24.0,0.0,20.0,-20.0],[2366,true,true,null,19.32,1.0,null,null,1.102,false,24.0,0.0,20.0,-20.0],[2367,true,true,null,10.02,1.0,null,null,1.111,false,20.0,0.0,20.0,-20.0],[2411,true,true,null,8.15,1.0,null,null,1.06,false,36.0,0.0,14.0,-14.0],[2522,true,true,null,38.229999999999997,1.0,null,null,1.135,false,50.0,38.0,19.0,-8.0],[2531,true,true,null,3.66,1.0,null,null,1.025,false,9.6,0.0,0.96,-0.96],[2557,true,true,null,3.31,1.0,null,null,1.013,false,16.0,0.0,12.0,-9.0],[2626,true,true,null,5.99,1.0,null,null,0.994,false,28.0,0.0,16.0,-7.0],[2643,true,true,null,13.17,1.0,null,null,1.029,false,18.0,0.0,10.0,-10.0],[363,true,true,null,125.150000000000006,1.0,null,null,1.035,false,130.0,0.0,59.0,-26.0],[2644,true,true,null,4.26,1.0,null,null,1.058,false,22.0,0.0,14.0,-14.0],[2651,true,true,null,3.24,1.0,null,null,1.067,false,28.0,0.0,4.0,3.9],[2658,true,true,null,5.16,1.0,null,null,1.018,false,9.800000000000001,0.0,6.0,-6.0],[2659,true,true,null,27.350000000000001,1.0,null,null,1.018,false,35.0,0.0,12.0,-15.0],[2663,true,true,null,1.22,1.0,null,null,1.098,false,7.0,0.0,1.0,0.9],[2664,true,true,null,2.05,1.0,null,null,1.048,false,12.0,0.0,4.43,-7.0],[2694,true,true,null,4.09,1.0,null,null,1.0,false,15.0,0.0,6.0,-7.0],[2733,true,true,null,2.06,1.0,null,null,1.053,false,17.0,0.0,10.0,-10.0],[2832,true,true,null,6.17,1.0,null,null,1.01,false,12.0,0.0,5.0,-2.0],[2898,true,true,null,4.0,1.0,null,null,1.072,false,26.5,6.0,9.0,-9.0],[446,true,true,null,18.399999999999999,1.0,null,null,0.997,false,25.0,0.0,8.0,-9.0],[2992,true,true,null,10.279999999999999,1.0,null,null,1.05,false,34.0,0.0,17.0,-17.0],[3021,true,true,null,7.2,1.0,null,null,1.044,false,13.0,0.0,8.0,-8.0],[3115,true,true,null,33.380000000000003,1.0,null,null,1.073,false,38.0,0.0,20.0,-19.0],[3116,true,true,null,29.859999999999999,1.0,null,null,1.108,false,38.0,0.0,20.0,-19.0],[3117,true,true,null,30.850000000000001,1.0,null,null,1.105,false,38.0,0.0,20.0,-20.0],[3135,true,true,null,5.14,1.0,null,null,1.065,false,11.0,0.0,1.0,0.9],[3156,true,true,null,38.210000000000001,1.0,null,null,1.049,false,48.0,5.0,22.0,-10.0],[3158,true,true,null,5.09,1.0,null,null,1.067,false,16.0,0.0,1.0,0.9],[3209,true,true,null,6.23,1.0,null,null,1.099,false,20.0,0.0,2.0,0.0],[3238,true,true,null,13.4,1.0,null,null,1.067,false,22.0,0.0,2.0,1.9],[463,true,true,null,3.68,1.0,null,null,1.176,false,27.0,1.0,6.0,-3.0],[3245,true,true,null,3.98,1.0,null,null,1.049,false,10.0,0.0,4.0,-4.0],[3263,true,true,null,0.08,1.0,null,null,1.042,false,6.0,0.0,0.1,-0.1],[3265,true,true,null,25.23,1.0,null,null,1.056,false,42.0,0.0,25.0,-20.0],[3279,true,true,null,30.879999999999999,1.0,null,null,1.129,false,36.100000000000001,0.0,20.0,-15.0],[3280,true,true,null,31.469999999999999,1.0,null,null,1.071,false,36.100000000000001,0.0,20.0,-15.0],[3281,true,true,null,31.469999999999999,1.0,null,null,1.05,false,36.100000000000001,0.0,20.0,-15.0],[3300,true,true,null,4.95,1.0,null,null,1.057,false,13.0,0.0,5.0,-5.0],[3307,true,true,null,3.86,1.0,null,null,1.014,false,17.0,0.0,1.0,0.9],[3404,true,true,null,38.189999999999998,1.0,null,null,1.035,false,43.0,0.0,22.0,-10.0],[3407,true,true,null,7.51,1.0,null,null,1.053,false,24.0,0.0,7.0,-7.51],[529,true,true,null,1.92,1.0,null,null,1.039,false,8.0,0.0,4.8,-4.8],[3417,true,true,null,2.27,1.0,null,null,1.031,false,7.5,0.0,1.0,-1.0],[3423,true,true,null,11.1,1.0,null,null,1.003,false,23.100000000000001,0.0,14.0,-14.0],[3467,true,true,null,6.99,1.0,null,null,1.029,false,13.199999999999999,0.0,8.0,-8.0],[3490,true,true,null,40.759999999999998,1.0,null,null,1.1,false,53.0,0.0,17.0,-10.0],[3503,true,true,null,23.359999999999999,1.0,null,null,1.073,false,35.0,0.0,15.0,-15.0],[3543,true,true,null,5.4,1.0,null,null,1.042,false,12.800000000000001,0.0,7.6,-7.6],[3586,true,true,null,15.15,1.0,null,null,1.023,false,20.0,0.8,6.0,-10.0],[3585,true,true,null,15.279999999999999,1.0,null,null,1.032,false,20.0,0.8,4.2,-4.2],[3599,true,true,null,11.960000000000001,1.0,null,null,1.069,false,23.0,0.0,10.0,-9.0],[3603,true,true,null,11.31,1.0,null,null,1.008,false,40.0,-40.0,30.0,-10.0],[545,true,true,null,0.0,1.0,null,null,1.025,false,9.0,0.0,2.0,1.9],[3650,true,true,null,0.0,1.0,null,null,1.057,false,7.0,0.0,1.0,0.9],[3691,true,true,null,0.1,1.0,null,null,1.04,false,9.5,0.0,6.0,-6.0],[3714,true,true,null,8.58,1.0,null,null,1.048,false,18.0,0.0,8.0,-8.0],[3716,true,true,null,39.270000000000003,1.0,null,null,1.036,false,44.0,0.0,17.0,-17.0],[3747,true,true,null,6.38,1.0,null,null,1.029,false,11.199999999999999,5.6,4.6,-4.1],[3760,true,true,null,4.07,1.0,null,null,1.011,false,12.0,0.0,1.2,-1.2],[3815,true,true,null,33.189999999999998,1.0,null,null,1.05,false,37.799999999999997,0.0,12.0,-8.0],[3816,true,true,null,33.189999999999998,1.0,null,null,1.063,false,37.799999999999997,0.0,12.0,-8.0],[3817,true,true,null,33.170000000000002,1.0,null,null,1.068,false,37.799999999999997,0.0,12.0,-8.0],[3841,true,true,null,5.69,1.0,null,null,1.015,false,12.0,0.0,7.2,-7.2],[582,true,true,null,2.96,1.0,null,null,1.009,false,16.0,0.0,7.0,-4.0],[3852,true,true,null,4.2,1.0,null,null,1.034,false,22.0,0.0,6.0,-4.0],[3867,true,true,null,2.77,1.0,null,null,1.011,false,9.0,0.0,3.0,-3.0],[3968,true,true,null,33.149999999999999,1.0,null,null,1.015,false,40.0,1.0,6.0,-6.0],[3967,true,true,null,32.049999999999997,1.0,null,null,1.029,false,40.0,1.0,5.0,-15.0],[3986,true,true,null,1.29,1.0,null,null,1.001,false,8.0,0.0,3.0,-3.0],[4054,true,true,null,18.93,1.0,null,null,1.025,false,27.0,0.0,6.0,-11.0],[4128,true,true,null,7.25,1.0,null,null,1.033,false,12.300000000000001,0.0,5.0,-5.0],[4168,true,true,null,17.199999999999999,1.0,null,null,1.053,false,24.0,0.0,10.0,-10.0],[4230,true,true,null,8.15,1.0,null,null,1.025,false,13.0,0.0,13.0,0.0],[4243,true,true,null,37.299999999999997,1.0,null,null,1.067,false,42.0,0.0,42.0,-42.0],[609,true,true,null,39.049999999999997,1.0,null,null,1.021,false,45.0,0.0,45.0,-45.0],[4244,true,true,null,11.880000000000001,1.0,null,null,0.971,false,19.0,0.0,5.21,-5.0],[4274,true,true,null,6.93,1.0,null,null,1.056,false,12.0,0.0,5.0,-5.0],[4298,true,true,null,17.309999999999999,1.0,null,null,1.017,false,46.0,0.0,20.0,-34.0],[4314,true,true,null,39.289999999999999,1.0,null,null,1.045,false,44.0,0.0,25.0,-25.0],[4318,true,true,null,13.359999999999999,1.0,null,null,1.062,false,18.0,0.0,14.0,-14.0],[4326,true,true,null,20.350000000000001,1.0,null,null,1.008,false,39.0,0.0,24.0,-24.0],[4344,true,true,null,20.149999999999999,1.0,null,null,1.027,false,26.0,0.0,2.0,1.9],[4370,true,true,null,2.55,1.0,null,null,1.043,false,15.0,0.0,3.0,2.9],[4450,true,true,null,1.55,1.0,null,null,1.052,false,26.0,0.0,16.07,-17.0],[4477,true,true,null,17.129999999999999,1.0,null,null,1.028,false,23.699999999999999,0.0,2.02,-2.0],[623,true,true,null,-4.11,1.0,null,null,1.047,false,8.300000000000001,-8.300000000000001,8.300000000000001,-8.300000000000001],[4478,true,true,null,18.82,1.0,null,null,1.056,false,23.699999999999999,0.0,7.0,-3.0],[4479,true,true,null,19.02,1.0,null,null,1.056,false,23.699999999999999,0.0,7.0,-3.0],[4480,true,true,null,19.02,1.0,null,null,1.055,false,23.699999999999999,0.0,7.0,-3.0],[4481,true,true,null,19.02,1.0,null,null,1.06,false,23.699999999999999,0.0,7.0,-3.0],[4510,true,true,null,11.25,1.0,null,null,1.037,false,21.0,0.0,6.7,-4.5],[4514,true,true,null,37.990000000000002,1.0,null,null,1.074,false,87.0,0.0,26.100000000000001,-25.239999999999998],[4523,true,true,null,13.300000000000001,1.0,null,null,1.056,false,22.0,0.0,10.0,-10.0],[4566,true,true,null,11.199999999999999,1.0,null,null,1.034,false,22.0,0.0,7.1,-7.1],[4573,true,true,null,41.0,1.0,null,null,1.036,false,45.0,44.0,27.0,-9.0],[4587,true,true,null,0.45,1.0,null,null,1.023,false,12.699999999999999,0.0,5.0,-5.0],[635,true,true,null,1.0,1.0,null,null,0.999,false,15.0,0.0,7.0,0.0],[4673,true,true,null,2.28,1.0,null,null,1.045,false,7.0,0.0,0.1,-0.1],[4717,true,true,null,1.19,1.0,null,null,1.056,false,11.5,0.0,1.0,-1.0],[4720,true,true,null,1.06,1.0,null,null,1.061,false,10.0,0.0,1.0,0.9],[4757,true,true,null,4.13,1.0,null,null,1.005,false,10.0,0.0,5.0,-5.0],[4758,true,true,null,4.13,1.0,null,null,1.005,false,10.0,0.0,5.0,-5.0],[4767,true,true,null,12.109999999999999,1.0,null,null,1.049,false,30.0,0.0,10.0,-10.0],[4804,true,true,null,15.380000000000001,1.0,null,null,1.007,false,27.0,0.0,18.0,-18.0],[4817,true,true,null,1.57,1.0,null,null,1.026,false,6.4,0.0,0.64,-0.64],[4818,true,true,null,9.24,1.0,null,null,1.013,false,15.0,1.0,3.6,-4.5],[4819,true,true,null,9.25,1.0,null,null,1.012,false,15.0,0.0,3.0,-4.0],[101,true,true,null,17.16,1.0,null,null,1.033,false,46.0,0.0,21.0,-9.0],[645,true,true,null,197.890000000000015,1.0,null,null,1.104,false,239.0,0.0,80.0,-75.0],[4829,true,true,null,121.5,1.0,null,null,1.079,false,170.0,-170.0,70.0,-80.0],[4828,true,true,null,122.549999999999997,1.0,null,null,1.091,false,170.0,-170.0,70.0,-80.0],[4825,true,true,null,121.579999999999998,1.0,null,null,1.087,false,170.0,-170.0,70.0,-80.0],[4824,true,true,null,124.490000000000009,1.0,null,null,1.09,false,170.0,-170.0,70.0,-80.0],[4827,true,true,null,126.600000000000008,1.0,null,null,1.087,false,150.0,0.0,70.0,-70.0],[4826,true,true,null,128.189999999999998,1.0,null,null,1.081,false,150.0,0.0,70.0,-70.0],[4882,true,true,null,6.66,1.0,null,null,1.029,false,12.800000000000001,0.0,7.7,-7.7],[4924,true,true,null,22.100000000000001,1.0,null,null,1.002,false,32.0,0.0,12.0,-8.0],[4927,true,true,null,25.34,1.0,null,null,1.026,false,33.0,0.0,12.0,-12.0],[4950,true,true,null,3.93,1.0,null,null,0.958,false,9.6,0.0,6.0,-6.0],[688,true,true,null,2.31,1.0,null,null,0.966,false,9.0,0.0,6.0,-5.0],[4972,true,true,null,25.18,1.0,null,null,1.032,false,30.0,0.0,18.0,-18.0],[4985,true,true,null,1.23,1.0,null,null,1.024,false,32.0,0.0,16.0,-18.0],[4986,true,true,null,26.309999999999999,1.0,null,null,1.108,false,35.100000000000001,0.0,12.0,-21.0],[4987,true,true,null,27.949999999999999,1.0,null,null,1.12,false,35.100000000000001,0.0,12.0,-21.0],[4988,true,true,null,28.449999999999999,1.0,null,null,1.12,false,35.100000000000001,0.0,12.0,-21.0],[5026,true,true,null,15.380000000000001,1.0,null,null,1.066,false,36.0,0.0,4.0,3.9],[5032,true,true,null,43.030000000000001,1.0,null,null,1.006,false,50.600000000000001,0.0,15.18,-14.17],[5961,true,true,null,976.350000000000023,1.0,null,null,1.103,false,1100.0,300.0,470.0,-330.0],[5971,true,true,null,495.360000000000014,1.0,null,null,1.122,false,500.0,50.0,300.0,-380.0],[5974,true,true,null,80.600000000000008,1.0,null,null,1.082,false,85.239999999999995,0.0,25.57,-32.880000000000002],[703,true,true,null,29.210000000000001,1.0,null,null,1.015,false,37.0,0.0,15.0,-17.0],[5987,true,true,null,419.430000000000007,1.0,null,null,1.057,false,450.0,0.0,200.0,-200.0],[6001,true,true,null,52.369999999999997,1.0,null,null,1.09,false,57.0,0.0,17.100000000000001,-17.100000000000001],[6002,true,true,null,244.580000000000012,1.0,null,null,0.993,false,249.219999999999999,0.0,74.769999999999996,-74.769999999999996],[6005,true,true,null,526.120000000000005,1.0,null,null,1.068,false,530.899999999999977,0.0,159.27000000000001,-159.27000000000001],[6008,true,true,null,370.449999999999989,1.0,null,null,1.069,false,600.0,300.0,280.0,-280.0],[6009,true,true,null,213.420000000000016,1.0,null,null,1.069,false,500.0,0.0,280.0,-280.0],[6013,true,true,null,1.72,1.0,null,null,1.142,false,418.0,185.0,304.0,-171.0],[6020,true,true,null,45.32,1.0,null,null,1.073,false,49.899999999999999,0.0,14.970000000000001,-81.230000000000004],[6022,true,true,null,251.280000000000001,1.0,null,null,1.101,false,255.860000000000014,0.0,76.760000000000005,-76.760000000000005],[6025,true,true,null,484.03000000000003,1.0,null,null,1.023,false,488.509999999999991,0.0,146.550000000000011,-146.550000000000011],[702,true,true,null,26.460000000000001,1.0,null,null,1.014,false,37.0,0.0,15.0,-15.0],[6028,true,true,null,1051.339999999999918,1.0,null,null,1.039,false,1056.0,250.0,570.0,-100.0],[6039,true,true,null,98.0,1.0,null,null,1.037,false,600.0,100.0,400.0,-115.0],[6054,true,true,null,503.410000000000025,1.0,null,null,1.051,false,508.0,0.0,152.400000000000006,-152.400000000000006],[6057,true,true,null,1082.769999999999982,1.0,null,null,1.097,false,1087.440000000000055,0.0,326.230000000000018,-326.230000000000018],[6065,true,true,null,1038.369999999999891,1.0,null,null,1.063,false,1050.0,300.0,355.0,-215.0],[6087,true,true,null,1380.430000000000064,1.0,null,null,1.104,false,1385.0,0.0,415.5,-415.5],[6089,true,true,null,215.490000000000009,1.0,null,null,1.08,false,220.0,0.0,67.0,-66.0],[6092,true,true,null,38.340000000000003,1.0,null,null,1.071,false,43.0,0.0,48.0,-12.9],[6091,true,true,null,38.359999999999999,1.0,null,null,1.098,false,43.0,0.0,12.9,-24.0],[6094,true,true,null,121.760000000000005,1.0,null,null,1.109,false,126.430000000000007,0.0,75.0,-37.93],[701,true,true,null,28.460000000000001,1.0,null,null,1.014,false,37.0,0.0,15.0,-17.0],[6093,true,true,null,17.91,1.0,null,null,1.096,false,22.559999999999999,0.0,17.219999999999999,-6.77],[6102,true,true,null,1217.029999999999973,1.0,null,null,1.093,false,1221.670000000000073,0.0,366.5,-366.5],[6103,true,true,null,436.439999999999998,1.0,null,null,1.065,false,450.0,0.0,200.0,-200.0],[6112,true,true,null,257.420000000000016,1.0,null,null,1.055,false,262.0,0.0,78.600000000000008,-78.600000000000008],[6111,true,true,null,253.420000000000016,1.0,null,null,1.055,false,258.0,0.0,77.400000000000006,-77.400000000000006],[6116,true,true,null,221.950000000000017,1.0,null,null,1.115,false,226.659999999999997,0.0,123.439999999999998,-68.0],[6125,true,true,null,734.440000000000055,1.0,null,null,1.097,false,739.0,0.0,221.700000000000017,-221.700000000000017],[6131,true,true,null,2.38,1.0,null,null,1.057,false,7.09,0.0,2.13,-5.59],[6132,true,true,null,180.289999999999992,1.0,null,null,1.082,false,185.0,0.0,55.5,-55.5],[6138,true,true,null,451.470000000000027,1.0,null,null,1.083,false,456.0,0.0,136.800000000000011,-136.800000000000011],[709,true,true,null,1.0,1.0,null,null,0.963,false,5.7,0.0,3.0,-3.0],[6161,true,true,null,359.259999999999991,1.0,null,null,1.084,false,364.069999999999993,0.0,109.219999999999999,-109.219999999999999],[6164,true,true,null,182.550000000000011,1.0,null,null,1.088,false,187.180000000000007,0.0,56.149999999999999,-56.149999999999999],[6173,true,true,null,16.030000000000001,1.0,null,null,1.065,false,20.809999999999999,0.0,11.41,-6.24],[6183,true,true,null,81.299999999999997,1.0,null,null,1.088,false,300.0,-30.0,200.0,-200.0],[6187,true,true,null,290.410000000000025,1.0,null,null,1.111,false,295.120000000000005,0.0,88.540000000000006,-88.540000000000006],[6192,true,true,null,345.29000000000002,1.0,null,null,1.144,false,770.0,0.0,300.0,-300.0],[6195,true,true,null,18.57,1.0,null,null,1.106,false,23.280000000000001,0.0,6.98,-109.0],[6217,true,true,null,190.170000000000016,1.0,null,null,1.09,false,250.0,0.0,120.0,-120.0],[6218,true,true,null,660.430000000000064,1.0,null,null,1.039,false,665.0,0.0,400.0,-115.0],[6220,true,true,null,85.560000000000002,1.0,null,null,1.066,false,90.239999999999995,0.0,27.07,-27.07],[737,true,true,null,26.219999999999999,1.0,null,null,0.995,false,39.0,0.0,18.0,-18.0],[6221,true,true,null,1037.349999999999909,1.0,null,null,1.1,false,1100.0,300.0,470.0,-330.0],[6225,true,true,null,90.510000000000005,1.0,null,null,1.067,false,95.25,0.0,28.579999999999998,-28.579999999999998],[6230,true,true,null,113.439999999999998,1.0,null,null,1.089,false,118.120000000000005,0.0,55.619999999999998,-35.439999999999998],[6238,true,true,null,348.269999999999982,1.0,null,null,1.081,false,353.079999999999984,0.0,105.920000000000002,-105.920000000000002],[6246,true,true,null,514.57000000000005,1.0,null,null,1.072,false,970.0,280.0,515.0,-543.0],[6256,true,true,null,10.9,1.0,null,null,1.08,false,23.0,0.0,14.0,-8.869999999999999],[6257,true,true,null,10.9,1.0,null,null,1.08,false,23.0,0.0,14.0,-8.869999999999999],[6258,true,true,null,16.82,1.0,null,null,1.084,false,27.0,0.0,22.359999999999999,-13.33],[6259,true,true,null,66.430000000000007,1.0,null,null,0.98,false,86.0,0.0,36.039999999999999,-3.45],[6261,true,true,null,95.740000000000009,1.0,null,null,0.991,false,124.0,0.0,79.629999999999996,-22.440000000000001],[749,true,true,null,5.08,1.0,null,null,1.002,false,26.600000000000001,0.0,15.0,-15.0],[6262,true,true,null,20.309999999999999,1.0,null,null,1.073,false,32.0,0.0,10.26,-6.8],[6263,true,true,null,20.309999999999999,1.0,null,null,1.073,false,32.0,0.0,10.26,-6.8],[6264,true,true,null,19.600000000000001,1.0,null,null,1.051,false,32.0,0.0,9.890000000000001,-6.8],[6265,true,true,null,19.600000000000001,1.0,null,null,1.051,false,32.0,0.0,9.890000000000001,-6.8],[6266,true,true,null,76.460000000000008,1.0,null,null,0.976,false,92.0,0.0,59.82,-30.18],[6267,true,true,null,43.810000000000002,1.0,null,null,0.972,false,92.0,0.0,59.82,-30.18],[6268,true,true,null,69.549999999999997,1.0,null,null,1.027,false,92.0,0.0,62.700000000000003,-27.300000000000001],[6269,true,true,null,61.310000000000002,1.0,null,null,1.025,false,92.0,0.0,62.700000000000003,-27.300000000000001],[6270,true,true,null,66.099999999999994,1.0,null,null,0.948,false,92.0,0.0,62.700000000000003,-38.729999999999997],[6271,true,true,null,71.840000000000003,1.0,null,null,0.951,false,92.0,0.0,62.700000000000003,-36.43],[750,true,true,null,1.88,1.0,null,null,1.014,false,7.0,1.0,2.0,-2.0],[6272,true,true,null,933.269999999999982,1.0,null,null,1.054,false,938.110000000000014,248.110000000000014,337.45999999999998,-421.550000000000011],[6273,true,true,null,970.230000000000018,1.0,null,null,1.054,false,975.080000000000041,285.079999999999984,346.449999999999989,-411.889999999999986],[6274,true,true,null,964.269999999999982,1.0,null,null,1.053,false,969.110000000000014,249.110000000000014,337.680000000000007,-413.699999999999989],[6275,true,true,null,934.259999999999991,1.0,null,null,1.049,false,939.110000000000014,249.110000000000014,337.569999999999993,-421.379999999999995],[6276,true,true,null,226.849999999999994,1.0,null,null,1.026,false,252.0,156.0,164.819999999999993,-101.260000000000005],[6277,true,true,null,223.810000000000002,1.0,null,null,1.032,false,250.0,154.0,164.819999999999993,-100.909999999999997],[6278,true,true,null,218.150000000000006,1.0,null,null,1.032,false,250.0,154.0,101.230000000000004,-56.189999999999998],[6279,true,true,null,252.379999999999995,1.0,null,null,1.035,false,305.0,122.0,245.170000000000016,-160.069999999999993],[6280,true,true,null,125.740000000000009,1.0,null,null,1.038,false,155.0,89.0,102.260000000000005,-66.489999999999995],[6281,true,true,null,53.369999999999997,1.0,null,null,1.035,false,58.0,0.0,21.300000000000001,-20.550000000000001],[764,true,true,null,16.809999999999999,1.0,null,null,1.037,false,37.5,0.0,10.0,-6.42],[6282,true,true,null,53.369999999999997,1.0,null,null,1.028,false,58.0,0.0,16.07,-12.49],[6283,true,true,null,53.369999999999997,1.0,null,null,1.035,false,58.0,0.0,21.300000000000001,-20.550000000000001],[6284,true,true,null,53.369999999999997,1.0,null,null,1.028,false,58.0,0.0,16.07,-12.49],[6285,true,true,null,52.780000000000001,1.0,null,null,1.028,false,58.0,0.0,15.970000000000001,-12.49],[6286,true,true,null,135.330000000000012,1.0,null,null,1.034,false,263.0,133.0,173.050000000000011,-81.280000000000001],[6287,true,true,null,97.329999999999998,1.0,null,null,1.045,false,139.0,0.0,99.900000000000006,-56.479999999999997],[6288,true,true,null,33.670000000000002,1.0,null,null,0.991,false,49.0,0.0,31.969999999999999,-22.760000000000002],[6289,true,true,null,33.670000000000002,1.0,null,null,0.995,false,49.0,0.0,31.960000000000001,-22.82],[6290,true,true,null,15.25,1.0,null,null,0.982,false,32.0,0.0,22.370000000000001,-13.630000000000001],[6291,true,true,null,9.33,1.0,null,null,0.995,false,32.0,0.0,20.370000000000001,-15.630000000000001],[121,true,true,null,6.17,1.0,null,null,1.026,false,12.0,0.0,5.0,-2.0],[765,true,true,null,15.91,1.0,null,null,1.036,false,37.5,0.0,10.0,-6.0],[6292,true,true,null,12.33,1.0,null,null,0.984,false,32.0,0.0,22.210000000000001,-13.789999999999999],[6293,true,true,null,932.420000000000073,1.0,null,null,1.004,false,937.100000000000023,267.100000000000023,550.490000000000009,-227.759999999999991],[6294,true,true,null,922.840000000000032,1.0,null,null,1.006,false,936.210000000000036,266.20999999999998,552.32000000000005,-226.539999999999992],[6295,true,true,null,910.710000000000036,1.0,null,null,1.006,false,917.090000000000032,267.090000000000032,517.899999999999977,-225.590000000000003],[6296,true,true,null,870.810000000000059,1.0,null,null,1.004,false,916.190000000000055,266.189999999999998,517.990000000000009,-225.659999999999997],[6297,true,true,null,1281.610000000000127,1.0,null,null,0.991,false,1308.0,318.0,673.870000000000004,-237.700000000000017],[6298,true,true,null,1281.610000000000127,1.0,null,null,0.992,false,1308.0,318.0,673.870000000000004,-237.700000000000017],[6299,true,true,null,29.239999999999998,1.0,null,null,1.034,false,35.0,0.0,5.05,-1.45],[6300,true,true,null,29.239999999999998,1.0,null,null,1.034,false,35.0,0.0,5.05,-1.45],[6301,true,true,null,29.239999999999998,1.0,null,null,1.034,false,35.0,0.0,5.05,-1.45],[805,true,true,null,23.16,1.0,null,null,1.014,false,31.0,0.0,15.0,-17.0],[6302,true,true,null,29.0,1.0,null,null,1.033,false,35.0,0.0,5.05,-1.45],[6303,true,true,null,29.0,1.0,null,null,1.033,false,35.0,0.0,5.05,-1.45],[6304,true,true,null,29.0,1.0,null,null,1.033,false,35.0,0.0,5.05,-1.45],[6305,true,true,null,15.140000000000001,1.0,null,null,1.007,false,20.0,0.0,10.539999999999999,-7.31],[6306,true,true,null,1285.880000000000109,1.0,null,null,1.022,false,1330.0,337.0,703.470000000000027,-249.560000000000002],[6307,true,true,null,1290.910000000000082,1.0,null,null,1.029,false,1360.0,367.0,712.050000000000068,-240.980000000000018],[6308,true,true,null,1251.910000000000082,1.0,null,null,1.028,false,1360.0,367.0,712.050000000000068,-240.980000000000018],[6309,true,true,null,61.920000000000002,1.0,null,null,0.989,false,90.0,0.0,53.82,-33.810000000000002],[6310,true,true,null,71.159999999999997,1.0,null,null,1.049,false,95.0,0.0,53.630000000000002,-33.270000000000003],[6311,true,true,null,66.109999999999999,1.0,null,null,1.005,false,102.0,0.0,53.950000000000003,-29.609999999999999],[806,true,true,null,25.510000000000002,1.0,null,null,1.018,false,31.0,0.0,15.0,-17.0],[6312,true,true,null,1.4,1.0,null,null,1.029,false,1.5,1.4,285.20999999999998,-103.180000000000007],[6313,true,true,null,201.050000000000011,1.0,null,null,0.965,false,240.0,-240.0,109.25,-44.369999999999997],[6314,true,true,null,206.009999999999991,1.0,null,null,0.965,false,240.0,-240.0,109.25,-43.240000000000002],[6315,true,true,null,932.350000000000023,1.0,null,null,1.024,false,939.029999999999973,229.030000000000001,500.949999999999989,-160.240000000000009],[6316,true,true,null,945.07000000000005,1.0,null,null,1.021,false,950.060000000000059,240.060000000000002,533.659999999999968,-152.719999999999999],[6317,true,true,null,943.07000000000005,1.0,null,null,1.021,false,948.060000000000059,238.060000000000002,552.850000000000023,-153.259999999999991],[6318,true,true,null,1498.319999999999936,1.0,null,null,1.045,false,1503.0,403.0,657.680000000000064,-222.980000000000018],[6319,true,true,null,1498.319999999999936,1.0,null,null,1.019,false,1503.0,403.0,657.680000000000064,-222.980000000000018],[6320,true,true,null,1493.150000000000091,1.0,null,null,1.007,false,1498.0,398.0,390.29000000000002,-446.449999999999989],[6321,true,true,null,1493.150000000000091,1.0,null,null,1.009,false,1498.0,398.0,368.810000000000002,-446.449999999999989],[807,true,true,null,25.510000000000002,1.0,null,null,1.016,false,31.0,0.0,15.0,-17.0],[6322,true,true,null,66.040000000000006,1.0,null,null,0.984,false,125.0,8.5,93.600000000000008,-50.899999999999999],[6323,true,true,null,64.040000000000006,1.0,null,null,0.983,false,125.0,8.5,93.600000000000008,-50.899999999999999],[6324,true,true,null,123.990000000000009,1.0,null,null,1.009,false,148.200000000000017,4.2,72.700000000000003,-2.56],[6326,true,true,null,543.980000000000018,1.0,null,null,1.025,false,610.0,310.0,359.660000000000025,-170.849999999999994],[6327,true,true,null,549.930000000000064,1.0,null,null,1.025,false,610.0,310.0,323.139999999999986,-212.840000000000003],[6329,true,true,null,38.450000000000003,1.0,null,null,1.003,false,50.0,0.0,17.809999999999999,-10.970000000000001],[6330,true,true,null,36.450000000000003,1.0,null,null,1.003,false,50.0,0.0,17.809999999999999,-10.970000000000001],[6331,true,true,null,38.450000000000003,1.0,null,null,1.003,false,50.0,0.0,17.809999999999999,-10.970000000000001],[6332,true,true,null,38.450000000000003,1.0,null,null,1.003,false,50.0,0.0,17.809999999999999,-10.970000000000001],[6333,true,true,null,38.450000000000003,1.0,null,null,1.003,false,50.0,0.0,17.809999999999999,-10.970000000000001],[819,true,true,null,22.510000000000002,1.0,null,null,1.022,false,32.0,1.0,6.0,-9.0],[6334,true,true,null,37.450000000000003,1.0,null,null,1.003,false,50.0,0.0,17.809999999999999,-10.970000000000001],[6335,true,true,null,955.269999999999982,1.0,null,null,1.018,false,1000.0,280.0,521.600000000000023,-128.949999999999989],[6336,true,true,null,966.269999999999982,1.0,null,null,1.021,false,1000.0,280.0,521.600000000000023,-128.949999999999989],[6337,true,true,null,966.279999999999973,1.0,null,null,1.023,false,1000.0,280.0,566.430000000000064,-129.840000000000003],[6338,true,true,null,925.379999999999995,1.0,null,null,1.021,false,930.0,280.0,565.460000000000036,-149.319999999999993],[6339,true,true,null,27.550000000000001,1.0,null,null,1.021,false,57.0,0.0,21.890000000000001,-12.76],[6340,true,true,null,28.530000000000001,1.0,null,null,1.021,false,57.0,0.0,21.890000000000001,-12.76],[6343,true,true,null,412.019999999999982,1.0,null,null,1.029,false,433.800000000000011,248.800000000000011,274.220000000000027,-164.5],[6344,true,true,null,918.080000000000041,1.0,null,null,1.006,false,922.950000000000046,232.950000000000017,526.720000000000027,-151.810000000000002],[6345,true,true,null,918.080000000000041,1.0,null,null,1.006,false,922.950000000000046,232.950000000000017,526.720000000000027,-151.810000000000002],[820,true,true,null,23.41,1.0,null,null,1.022,false,32.0,1.0,6.0,-9.0],[6346,true,true,null,925.080000000000041,1.0,null,null,1.006,false,929.950000000000046,239.950000000000017,527.480000000000018,-149.909999999999997],[6347,true,true,null,940.090000000000032,1.0,null,null,1.004,false,944.960000000000036,254.960000000000008,529.25,-145.789999999999992],[6349,true,true,null,1307.450000000000046,1.0,null,null,1.044,false,1380.0,340.0,407.480000000000018,-463.970000000000027],[6350,true,true,null,1188.460000000000036,1.0,null,null,1.044,false,1380.0,340.0,407.480000000000018,-463.970000000000027],[6351,true,true,null,24.870000000000001,1.0,null,null,1.023,false,31.5,0.0,22.469999999999999,-13.529999999999999],[6352,true,true,null,53.810000000000002,1.0,null,null,1.028,false,65.0,0.0,37.340000000000003,-22.66],[6353,true,true,null,51.119999999999997,1.0,null,null,1.026,false,70.0,0.0,22.34,-21.699999999999999],[6354,true,true,null,54.109999999999999,1.0,null,null,1.026,false,65.0,0.0,53.950000000000003,-36.049999999999997],[6355,true,true,null,57.100000000000001,1.0,null,null,1.028,false,65.0,0.0,55.380000000000003,-34.619999999999998],[6356,true,true,null,56.740000000000002,1.0,null,null,1.031,false,70.0,0.0,39.630000000000002,-20.370000000000001],[834,true,true,null,7.42,1.0,null,null,1.047,false,27.0,0.0,10.0,-10.0],[6357,true,true,null,1303.170000000000073,1.0,null,null,1.036,false,1308.0,288.0,566.82000000000005,-494.400000000000034],[6358,true,true,null,1303.170000000000073,1.0,null,null,1.039,false,1308.0,288.0,566.82000000000005,-494.400000000000034],[6361,true,true,null,409.350000000000023,1.0,null,null,1.016,false,458.259999999999991,89.260000000000005,286.78000000000003,-117.109999999999999],[6362,true,true,null,27.100000000000001,1.0,null,null,1.014,false,36.0,0.0,10.34,-12.56],[6363,true,true,null,932.860000000000014,1.0,null,null,1.023,false,947.0,237.0,525.980000000000018,-146.099999999999994],[6364,true,true,null,942.149999999999977,1.0,null,null,1.016,false,947.0,267.0,527.889999999999986,-146.099999999999994],[6365,true,true,null,942.149999999999977,1.0,null,null,1.019,false,947.0,237.0,525.980000000000018,-146.099999999999994],[6366,true,true,null,942.149999999999977,1.0,null,null,1.019,false,947.0,237.0,525.980000000000018,-146.099999999999994],[6367,true,true,null,942.149999999999977,1.0,null,null,1.016,false,947.0,237.0,525.980000000000018,-146.099999999999994],[6368,true,true,null,835.710000000000036,1.0,null,null,1.021,false,947.0,237.0,525.980000000000018,-146.099999999999994],[840,true,true,null,3.0,1.0,null,null,1.018,false,15.0,0.0,3.0,2.9],[6370,true,true,null,430.29000000000002,1.0,null,null,1.018,false,456.800000000000011,216.800000000000011,271.840000000000032,-127.370000000000005],[6371,true,true,null,248.159999999999997,1.0,null,null,1.036,false,260.0,130.0,166.409999999999997,-98.900000000000006],[6374,true,true,null,34.390000000000001,1.0,null,null,0.969,false,57.0,0.0,32.549999999999997,-11.76],[6375,true,true,null,33.409999999999997,1.0,null,null,0.969,false,57.0,0.0,32.549999999999997,-11.92],[6376,true,true,null,19.09,1.0,null,null,1.044,false,31.0,-15.0,20.129999999999999,-7.22],[6377,true,true,null,20.09,1.0,null,null,1.045,false,31.0,0.0,33.890000000000001,-21.949999999999999],[6378,true,true,null,10.85,1.0,null,null,1.053,false,19.5,0.0,7.83,-4.91],[6379,true,true,null,10.85,1.0,null,null,1.053,false,19.5,0.0,7.83,-4.91],[6381,true,true,null,27.190000000000001,1.0,null,null,1.012,false,35.0,0.0,9.050000000000001,-7.24],[6382,true,true,null,27.190000000000001,1.0,null,null,1.012,false,35.0,0.0,9.050000000000001,-7.24],[868,true,true,null,7.46,1.0,null,null,1.028,false,14.0,0.0,7.0,-7.0],[6383,true,true,null,26.199999999999999,1.0,null,null,1.012,false,35.0,0.0,11.43,-11.73],[6384,true,true,null,28.190000000000001,1.0,null,null,1.013,false,35.0,0.0,9.25,-7.24],[6386,true,true,null,39.18,1.0,null,null,0.984,false,47.0,0.0,10.25,-5.43],[6387,true,true,null,39.18,1.0,null,null,0.984,false,47.0,0.0,10.25,-5.43],[6388,true,true,null,48.770000000000003,1.0,null,null,0.995,false,73.0,0.0,51.920000000000002,-31.579999999999998],[6389,true,true,null,55.829999999999998,1.0,null,null,0.996,false,69.0,0.0,55.200000000000003,-28.489999999999998],[6390,true,true,null,55.829999999999998,1.0,null,null,0.999,false,76.0,0.0,51.280000000000001,-28.719999999999999],[6391,true,true,null,50.789999999999999,1.0,null,null,0.995,false,77.5,0.0,51.130000000000003,-30.120000000000001],[6392,true,true,null,19.98,1.0,null,null,1.017,false,31.0,0.0,14.949999999999999,-10.67],[6393,true,true,null,20.93,1.0,null,null,1.017,false,31.0,0.0,14.949999999999999,-10.67],[869,true,true,null,7.14,1.0,null,null,1.027,false,14.0,0.0,7.0,-7.0],[6394,true,true,null,19.98,1.0,null,null,1.017,false,31.0,0.0,14.949999999999999,-10.67],[6395,true,true,null,33.329999999999998,1.0,null,null,1.012,false,50.0,0.0,31.73,-15.57],[6396,true,true,null,23.920000000000002,1.0,null,null,1.011,false,37.0,0.0,15.94,-8.359999999999999],[6397,true,true,null,22.940000000000001,1.0,null,null,1.011,false,37.0,0.0,15.94,-8.359999999999999],[6398,true,true,null,23.920000000000002,1.0,null,null,1.011,false,37.0,0.0,15.94,-8.359999999999999],[6399,true,true,null,23.920000000000002,1.0,null,null,1.011,false,37.0,0.0,15.94,-8.359999999999999],[6400,true,true,null,215.560000000000002,1.0,null,null,1.009,false,250.0,137.0,170.469999999999999,-33.560000000000002],[6401,true,true,null,207.569999999999993,1.0,null,null,1.011,false,250.0,137.0,170.469999999999999,-33.560000000000002],[6402,true,true,null,6.35,1.0,null,null,0.964,false,19.0,0.0,10.619999999999999,-7.12],[6403,true,true,null,6.35,1.0,null,null,0.964,false,19.0,0.0,10.619999999999999,-7.12],[131,true,true,null,12.300000000000001,1.0,null,null,1.061,false,17.0,0.0,3.0,-3.0],[969,true,true,null,38.32,1.0,null,null,1.061,false,50.0,0.0,27.0,-9.0],[6404,true,true,null,94.430000000000007,1.0,null,null,0.981,false,122.0,0.0,25.640000000000001,-10.720000000000001],[6405,true,true,null,378.819999999999993,1.0,null,null,0.996,false,419.900000000000034,201.900000000000006,215.240000000000009,-161.259999999999991],[6406,true,true,null,37.159999999999997,1.0,null,null,1.079,false,52.0,0.0,39.82,-19.390000000000001],[6407,true,true,null,37.159999999999997,1.0,null,null,1.079,false,52.0,0.0,39.82,-19.390000000000001],[6410,true,true,null,202.259999999999991,1.0,null,null,1.018,false,227.0,-218.0,195.599999999999994,-56.560000000000002],[6411,true,true,null,198.319999999999993,1.0,null,null,1.018,false,227.0,-218.0,195.939999999999998,-56.259999999999998],[6412,true,true,null,194.300000000000011,1.0,null,null,1.018,false,227.0,-218.0,195.939999999999998,-56.259999999999998],[6413,true,true,null,195.280000000000001,1.0,null,null,1.018,false,227.0,-218.0,196.039999999999992,-56.170000000000002],[6414,true,true,null,48.020000000000003,1.0,null,null,0.984,false,65.0,0.0,79.870000000000004,-54.689999999999998],[6415,true,true,null,46.979999999999997,1.0,null,null,0.984,false,65.0,0.0,79.870000000000004,-54.689999999999998],[977,true,true,null,1.47,1.0,null,null,1.015,false,8.0,0.0,5.0,-5.0],[6416,true,true,null,868.700000000000046,1.0,null,null,1.054,false,950.0,237.0,511.819999999999993,-146.330000000000012],[6417,true,true,null,896.690000000000055,1.0,null,null,1.03,false,950.0,237.0,533.700000000000046,-146.330000000000012],[6418,true,true,null,228.599999999999994,1.0,null,null,1.035,false,316.0,168.0,194.0,-149.75],[6419,true,true,null,186.099999999999994,1.0,null,null,1.004,false,191.0,107.0,179.420000000000016,-94.620000000000004],[6421,true,true,null,1289.350000000000136,1.0,null,null,0.989,false,1360.0,289.0,671.919999999999959,-213.289999999999992],[6422,true,true,null,51.289999999999999,1.0,null,null,1.011,false,61.0,0.0,28.899999999999999,-24.219999999999999],[6423,true,true,null,51.289999999999999,1.0,null,null,1.011,false,61.0,0.0,28.899999999999999,-24.219999999999999],[6424,true,true,null,27.739999999999998,1.0,null,null,1.011,false,35.0,0.0,23.239999999999998,-10.1],[6425,true,true,null,1279.420000000000073,1.0,null,null,1.035,false,1380.0,350.0,706.840000000000032,-235.159999999999997],[6426,true,true,null,1299.529999999999973,1.0,null,null,1.049,false,1380.0,350.0,706.840000000000032,-235.159999999999997],[1013,true,true,null,0.0,1.0,null,null,1.051,false,3.0,0.0,1.0,0.9],[6427,true,true,null,1305.529999999999973,1.0,null,null,1.043,false,1380.0,350.0,695.830000000000041,-235.159999999999997],[6428,true,true,null,1285.059999999999945,1.0,null,null,1.049,false,1290.0,350.0,681.310000000000059,-260.689999999999998],[6429,true,true,null,5.14,1.0,null,null,1.05,false,51.0,0.8,37.509999999999998,-10.49],[6430,true,true,null,1311.289999999999964,1.0,null,null,1.035,false,1380.0,340.0,675.480000000000018,-207.210000000000008],[6431,true,true,null,1274.539999999999964,1.0,null,null,1.036,false,1380.0,340.0,675.480000000000018,-207.210000000000008],[6434,true,true,null,581.669999999999959,1.0,null,null,1.027,false,598.0,188.0,330.120000000000005,-92.079999999999998],[6436,true,true,null,30.710000000000001,1.0,null,null,1.08,false,43.0,0.0,33.109999999999999,-20.489999999999998],[6437,true,true,null,26.969999999999999,1.0,null,null,1.078,false,43.0,0.0,33.109999999999999,-20.489999999999998],[6438,true,true,null,27.91,1.0,null,null,1.079,false,43.0,0.0,33.109999999999999,-20.489999999999998],[6439,true,true,null,59.909999999999997,1.0,null,null,1.013,false,80.0,0.0,42.659999999999997,-21.780000000000001],[1017,true,true,null,1.7,1.0,null,null,1.061,false,7.2,0.0,4.0,-4.0],[6440,true,true,null,236.530000000000001,1.0,null,null,1.006,false,245.0,85.0,109.159999999999997,-75.850000000000008],[6441,true,true,null,419.660000000000025,1.0,null,null,0.968,false,605.0,295.0,230.469999999999999,-115.950000000000003],[6442,true,true,null,45.189999999999998,1.0,null,null,1.031,false,56.0,0.0,24.739999999999998,-16.5],[6443,true,true,null,44.18,1.0,null,null,1.031,false,56.0,0.0,24.739999999999998,-16.5],[6444,true,true,null,0.65,1.0,null,null,1.001,false,58.0,0.0,61.200000000000003,-1.88],[6445,true,true,null,16.399999999999999,1.0,null,null,1.03,false,23.100000000000001,0.0,17.149999999999999,-10.85],[6446,true,true,null,16.399999999999999,1.0,null,null,1.03,false,23.100000000000001,0.0,17.140000000000001,-10.859999999999999],[6447,true,true,null,410.430000000000007,1.0,null,null,1.06,false,439.800000000000011,230.800000000000011,184.289999999999992,-6.72],[6448,true,true,null,36.100000000000001,1.0,null,null,1.059,false,41.0,0.0,21.739999999999998,-17.309999999999999],[6452,true,true,null,25.850000000000001,1.0,null,null,0.986,false,32.0,0.0,19.57,-10.43],[1061,true,true,null,7.0,1.0,null,null,1.062,false,11.800000000000001,7.0,6.0,-3.0],[6454,true,true,null,27.34,1.0,null,null,0.986,false,32.0,0.0,19.57,-10.43],[6456,true,true,null,145.280000000000001,1.0,null,null,1.087,false,180.0,-180.0,124.730000000000004,-79.859999999999999],[6457,true,true,null,141.789999999999992,1.0,null,null,1.091,false,180.0,-180.0,116.010000000000005,-89.939999999999998],[6458,true,true,null,143.780000000000001,1.0,null,null,1.022,false,180.0,-180.0,124.730000000000004,-79.859999999999999],[6459,true,true,null,143.780000000000001,1.0,null,null,1.091,false,180.0,-180.0,124.730000000000004,-79.859999999999999],[6460,true,true,null,22.59,1.0,null,null,1.037,false,32.0,0.0,27.25,-19.059999999999999],[6462,true,true,null,21.59,1.0,null,null,1.041,false,29.0,0.0,27.25,-19.719999999999999],[6465,true,true,null,24.489999999999998,1.0,null,null,1.045,false,44.0,0.0,14.640000000000001,-6.01],[6466,true,true,null,25.52,1.0,null,null,1.009,false,31.0,0.0,19.260000000000002,-13.380000000000001],[6467,true,true,null,24.539999999999999,1.0,null,null,1.009,false,31.0,0.0,19.260000000000002,-13.380000000000001],[1070,true,true,null,4.14,1.0,null,null,1.034,false,12.0,0.0,2.0,1.9],[6468,true,true,null,19.890000000000001,1.0,null,null,1.026,false,38.0,0.0,27.02,-18.300000000000001],[6469,true,true,null,20.870000000000001,1.0,null,null,1.022,false,38.0,0.0,26.960000000000001,-18.510000000000002],[6470,true,true,null,18.899999999999999,1.0,null,null,1.021,false,38.0,0.0,26.960000000000001,-18.510000000000002],[6471,true,true,null,42.520000000000003,1.0,null,null,0.973,false,66.0,0.0,41.079999999999998,-25.629999999999999],[6472,true,true,null,42.240000000000002,1.0,null,null,0.999,false,84.0,0.0,54.619999999999998,-24.010000000000002],[6473,true,true,null,42.240000000000002,1.0,null,null,0.999,false,84.0,0.0,54.619999999999998,-24.010000000000002],[6475,true,true,null,72.460000000000008,1.0,null,null,0.976,false,81.0,0.0,51.119999999999997,-28.879999999999999],[6476,true,true,null,71.460000000000008,1.0,null,null,0.976,false,81.0,0.0,51.119999999999997,-28.879999999999999],[6477,true,true,null,72.460000000000008,1.0,null,null,0.976,false,81.0,0.0,51.119999999999997,-28.879999999999999],[6478,true,true,null,71.460000000000008,1.0,null,null,0.976,false,81.0,0.0,51.119999999999997,-28.879999999999999],[1112,true,true,null,14.0,1.0,null,null,1.078,false,18.0,14.0,6.0,-6.0],[6479,true,true,null,116.129999999999995,1.0,null,null,1.041,false,130.0,0.0,30.84,-18.18],[6480,true,true,null,1307.799999999999954,1.0,null,null,1.011,false,1332.0,282.0,671.480000000000018,-239.659999999999997],[6481,true,true,null,1281.799999999999954,1.0,null,null,1.012,false,1332.0,282.0,671.480000000000018,-239.659999999999997],[6482,true,true,null,277.70999999999998,1.0,null,null,1.011,false,285.0,150.0,168.900000000000006,14.279999999999999],[6483,true,true,null,537.889999999999986,1.0,null,null,1.013,false,595.0,225.0,204.969999999999999,-97.540000000000006],[6484,true,true,null,387.100000000000023,1.0,null,null,1.029,false,443.0,127.0,140.689999999999998,-19.300000000000001],[6485,true,true,null,410.100000000000023,1.0,null,null,1.029,false,443.0,127.0,144.349999999999994,-19.379999999999999],[6486,true,true,null,44.789999999999999,1.0,null,null,1.03,false,50.0,0.0,27.73,-24.25],[6487,true,true,null,45.100000000000001,1.0,null,null,1.03,false,50.0,0.0,27.73,-24.25],[6488,true,true,null,21.539999999999999,1.0,null,null,0.973,false,30.0,0.0,21.620000000000001,-13.24],[1114,true,true,null,7.7,1.0,null,null,1.046,false,18.0,0.0,10.0,-10.0],[6489,true,true,null,21.550000000000001,1.0,null,null,0.931,false,30.0,0.0,21.620000000000001,-13.24],[6490,true,true,null,58.630000000000002,1.0,null,null,1.002,false,85.0,0.0,57.420000000000002,-17.850000000000001],[6492,true,true,null,922.279999999999973,1.0,null,null,1.01,false,949.889999999999986,229.890000000000015,545.100000000000023,-149.319999999999993],[6493,true,true,null,915.279999999999973,1.0,null,null,1.01,false,952.889999999999986,232.890000000000015,545.340000000000032,-148.469999999999999],[6494,true,true,null,32.840000000000003,1.0,null,null,1.031,false,49.0,0.0,21.77,-20.199999999999999],[6495,true,true,null,27.879999999999999,1.0,null,null,1.03,false,49.0,0.0,21.77,-20.199999999999999],[6496,true,true,null,27.879999999999999,1.0,null,null,1.03,false,49.0,0.0,21.77,-20.199999999999999],[6497,true,true,null,122.700000000000003,1.0,null,null,0.958,false,156.0,0.0,112.390000000000001,-47.609999999999999],[6498,true,true,null,71.710000000000008,1.0,null,null,1.018,false,99.0,0.0,22.91,-33.960000000000001],[6499,true,true,null,73.689999999999998,1.0,null,null,1.018,false,99.0,0.0,22.91,-33.960000000000001],[1214,true,true,null,32.289999999999999,1.0,null,null,1.091,false,62.0,0.0,40.0,-40.0],[6500,true,true,null,931.129999999999995,1.0,null,null,1.005,false,985.0,275.0,405.579999999999984,-162.030000000000001],[6501,true,true,null,901.960000000000036,1.0,null,null,1.002,false,985.0,275.0,400.579999999999984,-167.030000000000001],[6502,true,true,null,960.0,1.0,null,null,1.004,false,985.0,275.0,400.579999999999984,-167.030000000000001],[6503,true,true,null,960.330000000000041,1.0,null,null,0.999,false,985.0,275.0,400.579999999999984,-167.030000000000001],[6507,true,true,null,59.359999999999999,1.0,null,null,0.936,false,64.0,-64.0,89.400000000000006,-50.600000000000001],[6508,true,true,null,59.359999999999999,1.0,null,null,0.936,false,64.0,-64.0,89.400000000000006,-50.600000000000001],[6509,true,true,null,59.359999999999999,1.0,null,null,0.936,false,64.0,-64.0,89.400000000000006,-50.600000000000001],[6510,true,true,null,252.870000000000004,1.0,null,null,1.039,false,268.0,138.0,148.090000000000003,-87.359999999999999],[6511,true,true,null,228.860000000000014,1.0,null,null,1.03,false,268.0,138.0,148.090000000000003,-87.359999999999999],[6512,true,true,null,163.25,1.0,null,null,1.068,false,180.0,0.0,97.799999999999997,-42.200000000000003],[1215,true,true,null,25.199999999999999,1.0,null,null,1.075,false,41.399999999999999,0.0,12.42,-11.59],[6513,true,true,null,57.640000000000001,1.0,null,null,1.08,false,136.0,0.0,133.879999999999996,-46.119999999999997],[6514,true,true,null,58.789999999999999,1.0,null,null,1.081,false,128.0,0.0,123.950000000000003,-46.049999999999997],[136,true,true,null,7.21,1.0,null,null,1.021,false,18.0,0.0,0.8,-0.8],[1290,true,true,null,1.08,1.0,null,null,1.065,false,8.0,0.0,2.6,-2.8],[1314,true,true,null,8.73,1.0,null,null,1.068,false,17.0,0.0,1.0,0.9],[1329,true,true,null,0.13,1.0,null,null,1.053,false,5.0,0.0,1.0,0.9],[1348,true,true,null,0.0,1.0,null,null,1.005,false,11.0,0.0,5.0,1.0],[1361,true,true,null,24.379999999999999,1.0,null,null,1.05,false,45.0,0.0,18.0,-18.0],[1360,true,true,null,23.870000000000001,1.0,null,null,1.052,false,45.0,0.0,18.0,-18.0],[1367,true,true,null,5.34,1.0,null,null,1.042,false,13.0,0.0,7.56,-5.0],[1424,true,true,null,38.18,1.0,null,null,1.031,false,50.0,0.0,50.0,-50.0],[1521,true,true,null,213.830000000000012,1.0,null,null,1.122,false,239.0,44.0,100.0,-60.0],[1522,true,true,null,160.830000000000012,1.0,null,null,0.969,false,169.0,82.0,70.0,-45.0],[157,true,true,null,8.289999999999999,1.0,null,null,0.959,false,17.899999999999999,0.0,10.0,-13.0],[1559,true,true,null,6.2,1.0,null,null,1.033,false,49.0,1.0,22.0,-9.0],[1593,true,true,null,13.369999999999999,1.0,null,null,1.049,false,33.0,0.0,10.0,-10.0],[1598,true,true,null,19.280000000000001,1.0,null,null,1.045,false,36.0,0.0,11.0,-12.0],[1604,true,true,null,37.240000000000002,1.0,null,null,1.034,false,42.0,0.0,20.0,-10.0],[1644,true,true,null,2.57,1.0,null,null,1.061,false,52.0,0.0,10.0,-13.0],[1683,true,true,null,4.18,1.0,null,null,1.01,false,11.0,0.0,5.0,-5.0],[1692,true,true,null,2.14,1.0,null,null,1.002,false,7.1,0.0,2.13,-1.99],[1705,true,true,null,13.279999999999999,1.0,null,null,1.041,false,28.899999999999999,0.0,18.0,-18.0],[1739,true,true,null,17.09,1.0,null,null,1.05,false,27.0,0.0,14.0,-14.0],[1746,true,true,null,35.350000000000001,1.0,null,null,1.127,false,40.0,0.0,20.0,-18.0],[193,true,true,null,0.42,1.0,null,null,1.056,false,15.0,0.0,1.0,0.9],[1747,true,true,null,31.890000000000001,1.0,null,null,1.127,false,40.0,0.0,20.0,-18.0],[1748,true,true,null,35.350000000000001,1.0,null,null,1.124,false,40.0,0.0,20.0,-18.0],[1870,true,true,null,38.509999999999998,1.0,null,null,1.009,false,44.0,0.0,20.0,-9.0],[1893,true,true,null,16.129999999999999,1.0,null,null,1.042,false,24.0,0.0,4.0,-4.0],[1894,true,true,null,13.65,1.0,null,null,1.04,false,24.0,0.0,4.0,-4.0],[1895,true,true,null,17.530000000000001,1.0,null,null,1.046,false,24.0,0.0,4.0,-4.0],[1896,true,true,null,17.030000000000001,1.0,null,null,1.046,false,24.0,0.0,4.0,-4.0],[1967,true,true,null,18.210000000000001,1.0,null,null,1.06,false,24.0,0.0,8.0,-7.0],[1968,true,true,null,17.25,1.0,null,null,1.064,false,24.0,0.0,1.42,-0.01],[1969,true,true,null,18.190000000000001,1.0,null,null,1.06,false,24.0,0.0,8.0,-7.0],[255,true,true,null,7.15,1.0,null,null,1.047,false,26.0,0.0,10.0,-10.0],[1970,true,true,null,17.699999999999999,1.0,null,null,1.064,false,24.0,0.0,8.0,-7.0],[1971,true,true,null,16.699999999999999,1.0,null,null,1.066,false,24.0,0.0,8.0,-7.0],[1980,true,true,null,24.350000000000001,1.0,null,null,1.019,false,29.0,0.0,10.0,-10.0],[1981,true,true,null,23.879999999999999,1.0,null,null,1.007,false,29.0,0.0,5.0,-18.0],[1982,true,true,null,24.359999999999999,1.0,null,null,1.01,false,29.0,0.0,8.0,-18.0],[1986,true,true,null,0.5,1.0,null,null,1.046,false,4.6,0.5,2.0,-2.0],[2007,true,true,null,40.159999999999997,1.0,null,null,1.033,false,46.0,0.0,21.0,-9.0],[2018,true,true,null,13.640000000000001,1.0,null,null,1.025,false,24.0,0.0,9.0,-9.0],[2019,true,true,null,14.289999999999999,1.0,null,null,1.03,false,24.0,0.0,9.0,-9.0],[2028,true,true,null,19.350000000000001,1.0,null,null,1.041,false,30.0,-30.0,7.0,-7.0],[257,true,true,null,25.370000000000001,1.0,null,null,1.078,false,30.0,0.0,1.0,0.9],[2050,true,true,null,26.960000000000001,1.0,null,null,1.023,false,34.0,0.0,19.0,-16.0],[2098,true,true,null,37.240000000000002,1.0,null,null,1.053,false,54.0,1.0,22.0,-10.0],[2102,true,true,null,3.43,1.0,null,null,1.011,false,16.0,0.0,5.0,-5.0],[2160,true,true,null,12.220000000000001,1.0,null,null,1.061,false,29.0,0.0,13.0,-6.0],[2164,true,true,null,39.859999999999999,1.0,null,null,1.01,false,45.0,0.0,22.0,-10.0],[2192,true,true,null,5.53,1.0,null,null,0.967,false,15.0,0.0,9.0,-9.0],[2194,true,true,null,14.800000000000001,1.0,null,null,1.063,false,20.0,0.0,2.0,1.9],[2246,true,true,null,2.5,1.0,null,null,1.082,false,24.0,2.5,8.0,-8.0],[2340,true,true,null,12.119999999999999,1.0,null,null,0.987,false,28.0,0.0,12.0,-9.0],[2363,true,true,null,19.32,1.0,null,null,1.101,false,24.0,0.0,20.0,-20.0]]}", + "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0,1,10,100,101,102,103,104,105,106,107,108,109,11,110,111,112,113,114,115,116,117,118,119,12,120,121,122,123,124,125,126,127,128,129,13,130,131,132,133,134,135,136,137,138,139,14,140,141,142,143,144,145,146,147,148,149,15,150,151,152,153,154,155,156,157,158,159,16,160,161,162,163,164,165,166,167,168,169,17,170,171,172,173,174,175,176,177,178,179,18,180,181,182,183,184,185,186,187,188,189,19,190,191,192,193,194,195,196,197,198,199,2,20,200,201,202,203,204,205,206,207,208,209,21,210,211,212,213,214,215,216,217,218,219,22,220,221,222,223,224,225,226,227,228,229,23,230,231,232,233,234,235,236,237,238,239,24,240,241,242,243,244,245,246,247,248,249,25,250,251,252,253,254,255,256,257,258,259,26,260,261,262,263,264,265,266,267,268,269,27,270,271,272,273,274,275,276,277,278,279,28,280,281,282,283,284,285,286,287,288,289,29,290,291,292,293,294,295,296,297,298,299,3,30,300,301,302,303,304,305,306,307,308,309,31,310,311,312,313,314,315,316,317,318,319,32,320,321,322,323,324,325,326,327,328,329,33,330,331,332,333,334,335,336,337,338,339,34,340,341,342,343,344,345,346,347,348,349,35,350,351,352,353,354,355,356,357,358,359,36,360,361,362,363,364,365,366,367,368,369,37,370,371,372,373,374,375,376,377,378,379,38,380,381,382,383,384,385,386,387,388,389,39,390,391,392,393,394,395,396,397,398,399,4,40,400,401,402,403,404,405,406,407,408,409,41,410,411,412,413,414,415,416,417,418,419,42,420,421,422,423,424,425,426,427,428,429,43,430,431,432,433,434,435,436,437,438,439,44,440,441,442,443,444,445,446,447,448,449,45,450,451,452,453,454,455,456,457,458,459,46,460,461,462,463,464,465,466,467,468,469,47,470,471,472,473,474,475,476,477,478,479,48,480,481,482,483,484,485,486,487,488,489,49,490,491,5,50,51,52,53,54,55,56,57,58,59,6,60,61,62,63,64,65,66,67,68,69,7,70,71,72,73,74,75,76,77,78,79,8,80,81,82,83,84,85,86,87,88,89,9,90,91,92,93,94,95,96,97,98,99],\"data\":[[46,true,true,null,8.56,1.0,null,null,1.022,false,16.0,0.0,9.5,-10.0,0.0],[56,true,true,null,4.74,1.0,null,null,1.058,false,13.0,0.0,1.0,0.9,0.0],[335,true,true,null,6.4,1.0,null,null,1.023,false,13.0,0.0,5.0,-6.0,0.0],[2364,true,true,null,19.32,1.0,null,null,1.103,false,24.0,0.0,20.0,-20.0,0.0],[2365,true,true,null,14.09,1.0,null,null,1.081,false,24.0,0.0,20.0,-20.0,0.0],[2366,true,true,null,19.32,1.0,null,null,1.102,false,24.0,0.0,20.0,-20.0,0.0],[2367,true,true,null,10.02,1.0,null,null,1.111,false,20.0,0.0,20.0,-20.0,0.0],[2411,true,true,null,8.15,1.0,null,null,1.06,false,36.0,0.0,14.0,-14.0,0.0],[2522,true,true,null,38.229999999999997,1.0,null,null,1.135,false,50.0,38.0,19.0,-8.0,0.0],[2531,true,true,null,3.66,1.0,null,null,1.025,false,9.6,0.0,0.96,-0.96,0.0],[2557,true,true,null,3.31,1.0,null,null,1.013,false,16.0,0.0,12.0,-9.0,0.0],[2626,true,true,null,5.99,1.0,null,null,0.994,false,28.0,0.0,16.0,-7.0,0.0],[2643,true,true,null,13.17,1.0,null,null,1.029,false,18.0,0.0,10.0,-10.0,0.0],[363,true,true,null,125.150000000000006,1.0,null,null,1.035,false,130.0,0.0,59.0,-26.0,0.0],[2644,true,true,null,4.26,1.0,null,null,1.058,false,22.0,0.0,14.0,-14.0,0.0],[2651,true,true,null,3.24,1.0,null,null,1.067,false,28.0,0.0,4.0,3.9,0.0],[2658,true,true,null,5.16,1.0,null,null,1.018,false,9.800000000000001,0.0,6.0,-6.0,0.0],[2659,true,true,null,27.350000000000001,1.0,null,null,1.018,false,35.0,0.0,12.0,-15.0,0.0],[2663,true,true,null,1.22,1.0,null,null,1.098,false,7.0,0.0,1.0,0.9,0.0],[2664,true,true,null,2.05,1.0,null,null,1.048,false,12.0,0.0,4.43,-7.0,0.0],[2694,true,true,null,4.09,1.0,null,null,1.0,false,15.0,0.0,6.0,-7.0,0.0],[2733,true,true,null,2.06,1.0,null,null,1.053,false,17.0,0.0,10.0,-10.0,0.0],[2832,true,true,null,6.17,1.0,null,null,1.01,false,12.0,0.0,5.0,-2.0,0.0],[2898,true,true,null,4.0,1.0,null,null,1.072,false,26.5,6.0,9.0,-9.0,0.0],[446,true,true,null,18.399999999999999,1.0,null,null,0.997,false,25.0,0.0,8.0,-9.0,0.0],[2992,true,true,null,10.279999999999999,1.0,null,null,1.05,false,34.0,0.0,17.0,-17.0,0.0],[3021,true,true,null,7.2,1.0,null,null,1.044,false,13.0,0.0,8.0,-8.0,0.0],[3115,true,true,null,33.380000000000003,1.0,null,null,1.073,false,38.0,0.0,20.0,-19.0,0.0],[3116,true,true,null,29.859999999999999,1.0,null,null,1.108,false,38.0,0.0,20.0,-19.0,0.0],[3117,true,true,null,30.850000000000001,1.0,null,null,1.105,false,38.0,0.0,20.0,-20.0,0.0],[3135,true,true,null,5.14,1.0,null,null,1.065,false,11.0,0.0,1.0,0.9,0.0],[3156,true,true,null,38.210000000000001,1.0,null,null,1.049,false,48.0,5.0,22.0,-10.0,0.0],[3158,true,true,null,5.09,1.0,null,null,1.067,false,16.0,0.0,1.0,0.9,0.0],[3209,true,true,null,6.23,1.0,null,null,1.099,false,20.0,0.0,2.0,0.0,0.0],[3238,true,true,null,13.4,1.0,null,null,1.067,false,22.0,0.0,2.0,1.9,0.0],[463,true,true,null,3.68,1.0,null,null,1.176,false,27.0,1.0,6.0,-3.0,0.0],[3245,true,true,null,3.98,1.0,null,null,1.049,false,10.0,0.0,4.0,-4.0,0.0],[3263,true,true,null,0.08,1.0,null,null,1.042,false,6.0,0.0,0.1,-0.1,0.0],[3265,true,true,null,25.23,1.0,null,null,1.056,false,42.0,0.0,25.0,-20.0,0.0],[3279,true,true,null,30.879999999999999,1.0,null,null,1.129,false,36.100000000000001,0.0,20.0,-15.0,0.0],[3280,true,true,null,31.469999999999999,1.0,null,null,1.071,false,36.100000000000001,0.0,20.0,-15.0,0.0],[3281,true,true,null,31.469999999999999,1.0,null,null,1.05,false,36.100000000000001,0.0,20.0,-15.0,0.0],[3300,true,true,null,4.95,1.0,null,null,1.057,false,13.0,0.0,5.0,-5.0,0.0],[3307,true,true,null,3.86,1.0,null,null,1.014,false,17.0,0.0,1.0,0.9,0.0],[3404,true,true,null,38.189999999999998,1.0,null,null,1.035,false,43.0,0.0,22.0,-10.0,0.0],[3407,true,true,null,7.51,1.0,null,null,1.053,false,24.0,0.0,7.0,-7.51,0.0],[529,true,true,null,1.92,1.0,null,null,1.039,false,8.0,0.0,4.8,-4.8,0.0],[3417,true,true,null,2.27,1.0,null,null,1.031,false,7.5,0.0,1.0,-1.0,0.0],[3423,true,true,null,11.1,1.0,null,null,1.003,false,23.100000000000001,0.0,14.0,-14.0,0.0],[3467,true,true,null,6.99,1.0,null,null,1.029,false,13.199999999999999,0.0,8.0,-8.0,0.0],[3490,true,true,null,40.759999999999998,1.0,null,null,1.1,false,53.0,0.0,17.0,-10.0,0.0],[3503,true,true,null,23.359999999999999,1.0,null,null,1.073,false,35.0,0.0,15.0,-15.0,0.0],[3543,true,true,null,5.4,1.0,null,null,1.042,false,12.800000000000001,0.0,7.6,-7.6,0.0],[3586,true,true,null,15.15,1.0,null,null,1.023,false,20.0,0.8,6.0,-10.0,0.0],[3585,true,true,null,15.279999999999999,1.0,null,null,1.032,false,20.0,0.8,4.2,-4.2,0.0],[3599,true,true,null,11.960000000000001,1.0,null,null,1.069,false,23.0,0.0,10.0,-9.0,0.0],[3603,true,true,null,11.31,1.0,null,null,1.008,false,40.0,-40.0,30.0,-10.0,0.0],[545,true,true,null,0.0,1.0,null,null,1.025,false,9.0,0.0,2.0,1.9,0.0],[3650,true,true,null,0.0,1.0,null,null,1.057,false,7.0,0.0,1.0,0.9,0.0],[3691,true,true,null,0.1,1.0,null,null,1.04,false,9.5,0.0,6.0,-6.0,0.0],[3714,true,true,null,8.58,1.0,null,null,1.048,false,18.0,0.0,8.0,-8.0,0.0],[3716,true,true,null,39.270000000000003,1.0,null,null,1.036,false,44.0,0.0,17.0,-17.0,0.0],[3747,true,true,null,6.38,1.0,null,null,1.029,false,11.199999999999999,5.6,4.6,-4.1,0.0],[3760,true,true,null,4.07,1.0,null,null,1.011,false,12.0,0.0,1.2,-1.2,0.0],[3815,true,true,null,33.189999999999998,1.0,null,null,1.05,false,37.799999999999997,0.0,12.0,-8.0,0.0],[3816,true,true,null,33.189999999999998,1.0,null,null,1.063,false,37.799999999999997,0.0,12.0,-8.0,0.0],[3817,true,true,null,33.170000000000002,1.0,null,null,1.068,false,37.799999999999997,0.0,12.0,-8.0,0.0],[3841,true,true,null,5.69,1.0,null,null,1.015,false,12.0,0.0,7.2,-7.2,0.0],[582,true,true,null,2.96,1.0,null,null,1.009,false,16.0,0.0,7.0,-4.0,0.0],[3852,true,true,null,4.2,1.0,null,null,1.034,false,22.0,0.0,6.0,-4.0,0.0],[3867,true,true,null,2.77,1.0,null,null,1.011,false,9.0,0.0,3.0,-3.0,0.0],[3968,true,true,null,33.149999999999999,1.0,null,null,1.015,false,40.0,1.0,6.0,-6.0,0.0],[3967,true,true,null,32.049999999999997,1.0,null,null,1.029,false,40.0,1.0,5.0,-15.0,0.0],[3986,true,true,null,1.29,1.0,null,null,1.001,false,8.0,0.0,3.0,-3.0,0.0],[4054,true,true,null,18.93,1.0,null,null,1.025,false,27.0,0.0,6.0,-11.0,0.0],[4128,true,true,null,7.25,1.0,null,null,1.033,false,12.300000000000001,0.0,5.0,-5.0,0.0],[4168,true,true,null,17.199999999999999,1.0,null,null,1.053,false,24.0,0.0,10.0,-10.0,0.0],[4230,true,true,null,8.15,1.0,null,null,1.025,false,13.0,0.0,13.0,0.0,0.0],[4243,true,true,null,37.299999999999997,1.0,null,null,1.067,false,42.0,0.0,42.0,-42.0,0.0],[609,true,true,null,39.049999999999997,1.0,null,null,1.021,false,45.0,0.0,45.0,-45.0,0.0],[4244,true,true,null,11.880000000000001,1.0,null,null,0.971,false,19.0,0.0,5.21,-5.0,0.0],[4274,true,true,null,6.93,1.0,null,null,1.056,false,12.0,0.0,5.0,-5.0,0.0],[4298,true,true,null,17.309999999999999,1.0,null,null,1.017,false,46.0,0.0,20.0,-34.0,0.0],[4314,true,true,null,39.289999999999999,1.0,null,null,1.045,false,44.0,0.0,25.0,-25.0,0.0],[4318,true,true,null,13.359999999999999,1.0,null,null,1.062,false,18.0,0.0,14.0,-14.0,0.0],[4326,true,true,null,20.350000000000001,1.0,null,null,1.008,false,39.0,0.0,24.0,-24.0,0.0],[4344,true,true,null,20.149999999999999,1.0,null,null,1.027,false,26.0,0.0,2.0,1.9,0.0],[4370,true,true,null,2.55,1.0,null,null,1.043,false,15.0,0.0,3.0,2.9,0.0],[4450,true,true,null,1.55,1.0,null,null,1.052,false,26.0,0.0,16.07,-17.0,0.0],[4477,true,true,null,17.129999999999999,1.0,null,null,1.028,false,23.699999999999999,0.0,2.02,-2.0,0.0],[623,true,true,null,-4.11,1.0,null,null,1.047,false,8.300000000000001,-8.300000000000001,8.300000000000001,-8.300000000000001,0.0],[4478,true,true,null,18.82,1.0,null,null,1.056,false,23.699999999999999,0.0,7.0,-3.0,0.0],[4479,true,true,null,19.02,1.0,null,null,1.056,false,23.699999999999999,0.0,7.0,-3.0,0.0],[4480,true,true,null,19.02,1.0,null,null,1.055,false,23.699999999999999,0.0,7.0,-3.0,0.0],[4481,true,true,null,19.02,1.0,null,null,1.06,false,23.699999999999999,0.0,7.0,-3.0,0.0],[4510,true,true,null,11.25,1.0,null,null,1.037,false,21.0,0.0,6.7,-4.5,0.0],[4514,true,true,null,37.990000000000002,1.0,null,null,1.074,false,87.0,0.0,26.100000000000001,-25.239999999999998,0.0],[4523,true,true,null,13.300000000000001,1.0,null,null,1.056,false,22.0,0.0,10.0,-10.0,0.0],[4566,true,true,null,11.199999999999999,1.0,null,null,1.034,false,22.0,0.0,7.1,-7.1,0.0],[4573,true,true,null,41.0,1.0,null,null,1.036,false,45.0,44.0,27.0,-9.0,0.0],[4587,true,true,null,0.45,1.0,null,null,1.023,false,12.699999999999999,0.0,5.0,-5.0,0.0],[635,true,true,null,1.0,1.0,null,null,0.999,false,15.0,0.0,7.0,0.0,0.0],[4673,true,true,null,2.28,1.0,null,null,1.045,false,7.0,0.0,0.1,-0.1,0.0],[4717,true,true,null,1.19,1.0,null,null,1.056,false,11.5,0.0,1.0,-1.0,0.0],[4720,true,true,null,1.06,1.0,null,null,1.061,false,10.0,0.0,1.0,0.9,0.0],[4757,true,true,null,4.13,1.0,null,null,1.005,false,10.0,0.0,5.0,-5.0,0.0],[4758,true,true,null,4.13,1.0,null,null,1.005,false,10.0,0.0,5.0,-5.0,0.0],[4767,true,true,null,12.109999999999999,1.0,null,null,1.049,false,30.0,0.0,10.0,-10.0,0.0],[4804,true,true,null,15.380000000000001,1.0,null,null,1.007,false,27.0,0.0,18.0,-18.0,0.0],[4817,true,true,null,1.57,1.0,null,null,1.026,false,6.4,0.0,0.64,-0.64,0.0],[4818,true,true,null,9.24,1.0,null,null,1.013,false,15.0,1.0,3.6,-4.5,0.0],[4819,true,true,null,9.25,1.0,null,null,1.012,false,15.0,0.0,3.0,-4.0,0.0],[101,true,true,null,17.16,1.0,null,null,1.033,false,46.0,0.0,21.0,-9.0,0.0],[645,true,true,null,197.890000000000015,1.0,null,null,1.104,false,239.0,0.0,80.0,-75.0,0.0],[4829,true,true,null,121.5,1.0,null,null,1.079,false,170.0,-170.0,70.0,-80.0,0.0],[4828,true,true,null,122.549999999999997,1.0,null,null,1.091,false,170.0,-170.0,70.0,-80.0,0.0],[4825,true,true,null,121.579999999999998,1.0,null,null,1.087,false,170.0,-170.0,70.0,-80.0,0.0],[4824,true,true,null,124.490000000000009,1.0,null,null,1.09,false,170.0,-170.0,70.0,-80.0,0.0],[4827,true,true,null,126.600000000000008,1.0,null,null,1.087,false,150.0,0.0,70.0,-70.0,0.0],[4826,true,true,null,128.189999999999998,1.0,null,null,1.081,false,150.0,0.0,70.0,-70.0,0.0],[4882,true,true,null,6.66,1.0,null,null,1.029,false,12.800000000000001,0.0,7.7,-7.7,0.0],[4924,true,true,null,22.100000000000001,1.0,null,null,1.002,false,32.0,0.0,12.0,-8.0,0.0],[4927,true,true,null,25.34,1.0,null,null,1.026,false,33.0,0.0,12.0,-12.0,0.0],[4950,true,true,null,3.93,1.0,null,null,0.958,false,9.6,0.0,6.0,-6.0,0.0],[688,true,true,null,2.31,1.0,null,null,0.966,false,9.0,0.0,6.0,-5.0,0.0],[4972,true,true,null,25.18,1.0,null,null,1.032,false,30.0,0.0,18.0,-18.0,0.0],[4985,true,true,null,1.23,1.0,null,null,1.024,false,32.0,0.0,16.0,-18.0,0.0],[4986,true,true,null,26.309999999999999,1.0,null,null,1.108,false,35.100000000000001,0.0,12.0,-21.0,0.0],[4987,true,true,null,27.949999999999999,1.0,null,null,1.12,false,35.100000000000001,0.0,12.0,-21.0,0.0],[4988,true,true,null,28.449999999999999,1.0,null,null,1.12,false,35.100000000000001,0.0,12.0,-21.0,0.0],[5026,true,true,null,15.380000000000001,1.0,null,null,1.066,false,36.0,0.0,4.0,3.9,0.0],[5032,true,true,null,43.030000000000001,1.0,null,null,1.006,false,50.600000000000001,0.0,15.18,-14.17,0.0],[5961,true,true,null,976.350000000000023,1.0,null,null,1.103,false,1100.0,300.0,470.0,-330.0,0.0],[5971,true,true,null,495.360000000000014,1.0,null,null,1.122,false,500.0,50.0,300.0,-380.0,0.0],[5974,true,true,null,80.600000000000008,1.0,null,null,1.082,false,85.239999999999995,0.0,25.57,-32.880000000000002,0.0],[703,true,true,null,29.210000000000001,1.0,null,null,1.015,false,37.0,0.0,15.0,-17.0,0.0],[5987,true,true,null,419.430000000000007,1.0,null,null,1.057,false,450.0,0.0,200.0,-200.0,0.0],[6001,true,true,null,52.369999999999997,1.0,null,null,1.09,false,57.0,0.0,17.100000000000001,-17.100000000000001,0.0],[6002,true,true,null,244.580000000000012,1.0,null,null,0.993,false,249.219999999999999,0.0,74.769999999999996,-74.769999999999996,0.0],[6005,true,true,null,526.120000000000005,1.0,null,null,1.068,false,530.899999999999977,0.0,159.27000000000001,-159.27000000000001,0.0],[6008,true,true,null,370.449999999999989,1.0,null,null,1.069,false,600.0,300.0,280.0,-280.0,0.0],[6009,true,true,null,213.420000000000016,1.0,null,null,1.069,false,500.0,0.0,280.0,-280.0,0.0],[6013,true,true,null,1.72,1.0,null,null,1.142,false,418.0,185.0,304.0,-171.0,0.0],[6020,true,true,null,45.32,1.0,null,null,1.073,false,49.899999999999999,0.0,14.970000000000001,-81.230000000000004,0.0],[6022,true,true,null,251.280000000000001,1.0,null,null,1.101,false,255.860000000000014,0.0,76.760000000000005,-76.760000000000005,0.0],[6025,true,true,null,484.03000000000003,1.0,null,null,1.023,false,488.509999999999991,0.0,146.550000000000011,-146.550000000000011,0.0],[702,true,true,null,26.460000000000001,1.0,null,null,1.014,false,37.0,0.0,15.0,-15.0,0.0],[6028,true,true,null,1051.339999999999918,1.0,null,null,1.039,false,1056.0,250.0,570.0,-100.0,0.0],[6039,true,true,null,98.0,1.0,null,null,1.037,false,600.0,100.0,400.0,-115.0,0.0],[6054,true,true,null,503.410000000000025,1.0,null,null,1.051,false,508.0,0.0,152.400000000000006,-152.400000000000006,0.0],[6057,true,true,null,1082.769999999999982,1.0,null,null,1.097,false,1087.440000000000055,0.0,326.230000000000018,-326.230000000000018,0.0],[6065,true,true,null,1038.369999999999891,1.0,null,null,1.063,false,1050.0,300.0,355.0,-215.0,0.0],[6087,true,true,null,1380.430000000000064,1.0,null,null,1.104,false,1385.0,0.0,415.5,-415.5,0.0],[6089,true,true,null,215.490000000000009,1.0,null,null,1.08,false,220.0,0.0,67.0,-66.0,0.0],[6092,true,true,null,38.340000000000003,1.0,null,null,1.071,false,43.0,0.0,48.0,-12.9,0.0],[6091,true,true,null,38.359999999999999,1.0,null,null,1.098,false,43.0,0.0,12.9,-24.0,0.0],[6094,true,true,null,121.760000000000005,1.0,null,null,1.109,false,126.430000000000007,0.0,75.0,-37.93,0.0],[701,true,true,null,28.460000000000001,1.0,null,null,1.014,false,37.0,0.0,15.0,-17.0,0.0],[6093,true,true,null,17.91,1.0,null,null,1.096,false,22.559999999999999,0.0,17.219999999999999,-6.77,0.0],[6102,true,true,null,1217.029999999999973,1.0,null,null,1.093,false,1221.670000000000073,0.0,366.5,-366.5,0.0],[6103,true,true,null,436.439999999999998,1.0,null,null,1.065,false,450.0,0.0,200.0,-200.0,0.0],[6112,true,true,null,257.420000000000016,1.0,null,null,1.055,false,262.0,0.0,78.600000000000008,-78.600000000000008,0.0],[6111,true,true,null,253.420000000000016,1.0,null,null,1.055,false,258.0,0.0,77.400000000000006,-77.400000000000006,0.0],[6116,true,true,null,221.950000000000017,1.0,null,null,1.115,false,226.659999999999997,0.0,123.439999999999998,-68.0,0.0],[6125,true,true,null,734.440000000000055,1.0,null,null,1.097,false,739.0,0.0,221.700000000000017,-221.700000000000017,0.0],[6131,true,true,null,2.38,1.0,null,null,1.057,false,7.09,0.0,2.13,-5.59,0.0],[6132,true,true,null,180.289999999999992,1.0,null,null,1.082,false,185.0,0.0,55.5,-55.5,0.0],[6138,true,true,null,451.470000000000027,1.0,null,null,1.083,false,456.0,0.0,136.800000000000011,-136.800000000000011,0.0],[709,true,true,null,1.0,1.0,null,null,0.963,false,5.7,0.0,3.0,-3.0,0.0],[6161,true,true,null,359.259999999999991,1.0,null,null,1.084,false,364.069999999999993,0.0,109.219999999999999,-109.219999999999999,0.0],[6164,true,true,null,182.550000000000011,1.0,null,null,1.088,false,187.180000000000007,0.0,56.149999999999999,-56.149999999999999,0.0],[6173,true,true,null,16.030000000000001,1.0,null,null,1.065,false,20.809999999999999,0.0,11.41,-6.24,0.0],[6183,true,true,null,81.299999999999997,1.0,null,null,1.088,false,300.0,-30.0,200.0,-200.0,0.0],[6187,true,true,null,290.410000000000025,1.0,null,null,1.111,false,295.120000000000005,0.0,88.540000000000006,-88.540000000000006,0.0],[6192,true,true,null,345.29000000000002,1.0,null,null,1.144,false,770.0,0.0,300.0,-300.0,0.0],[6195,true,true,null,18.57,1.0,null,null,1.106,false,23.280000000000001,0.0,6.98,-109.0,0.0],[6217,true,true,null,190.170000000000016,1.0,null,null,1.09,false,250.0,0.0,120.0,-120.0,0.0],[6218,true,true,null,660.430000000000064,1.0,null,null,1.039,false,665.0,0.0,400.0,-115.0,0.0],[6220,true,true,null,85.560000000000002,1.0,null,null,1.066,false,90.239999999999995,0.0,27.07,-27.07,0.0],[737,true,true,null,26.219999999999999,1.0,null,null,0.995,false,39.0,0.0,18.0,-18.0,0.0],[6221,true,true,null,1037.349999999999909,1.0,null,null,1.1,false,1100.0,300.0,470.0,-330.0,0.0],[6225,true,true,null,90.510000000000005,1.0,null,null,1.067,false,95.25,0.0,28.579999999999998,-28.579999999999998,0.0],[6230,true,true,null,113.439999999999998,1.0,null,null,1.089,false,118.120000000000005,0.0,55.619999999999998,-35.439999999999998,0.0],[6238,true,true,null,348.269999999999982,1.0,null,null,1.081,false,353.079999999999984,0.0,105.920000000000002,-105.920000000000002,0.0],[6246,true,true,null,514.57000000000005,1.0,null,null,1.072,false,970.0,280.0,515.0,-543.0,0.0],[6256,true,true,null,10.9,1.0,null,null,1.08,false,23.0,0.0,14.0,-8.869999999999999,0.0],[6257,true,true,null,10.9,1.0,null,null,1.08,false,23.0,0.0,14.0,-8.869999999999999,0.0],[6258,true,true,null,16.82,1.0,null,null,1.084,false,27.0,0.0,22.359999999999999,-13.33,0.0],[6259,true,true,null,66.430000000000007,1.0,null,null,0.98,false,86.0,0.0,36.039999999999999,-3.45,0.0],[6261,true,true,null,95.740000000000009,1.0,null,null,0.991,false,124.0,0.0,79.629999999999996,-22.440000000000001,0.0],[749,true,true,null,5.08,1.0,null,null,1.002,false,26.600000000000001,0.0,15.0,-15.0,0.0],[6262,true,true,null,20.309999999999999,1.0,null,null,1.073,false,32.0,0.0,10.26,-6.8,0.0],[6263,true,true,null,20.309999999999999,1.0,null,null,1.073,false,32.0,0.0,10.26,-6.8,0.0],[6264,true,true,null,19.600000000000001,1.0,null,null,1.051,false,32.0,0.0,9.890000000000001,-6.8,0.0],[6265,true,true,null,19.600000000000001,1.0,null,null,1.051,false,32.0,0.0,9.890000000000001,-6.8,0.0],[6266,true,true,null,76.460000000000008,1.0,null,null,0.976,false,92.0,0.0,59.82,-30.18,0.0],[6267,true,true,null,43.810000000000002,1.0,null,null,0.972,false,92.0,0.0,59.82,-30.18,0.0],[6268,true,true,null,69.549999999999997,1.0,null,null,1.027,false,92.0,0.0,62.700000000000003,-27.300000000000001,0.0],[6269,true,true,null,61.310000000000002,1.0,null,null,1.025,false,92.0,0.0,62.700000000000003,-27.300000000000001,0.0],[6270,true,true,null,66.099999999999994,1.0,null,null,0.948,false,92.0,0.0,62.700000000000003,-38.729999999999997,0.0],[6271,true,true,null,71.840000000000003,1.0,null,null,0.951,false,92.0,0.0,62.700000000000003,-36.43,0.0],[750,true,true,null,1.88,1.0,null,null,1.014,false,7.0,1.0,2.0,-2.0,0.0],[6272,true,true,null,933.269999999999982,1.0,null,null,1.054,false,938.110000000000014,248.110000000000014,337.45999999999998,-421.550000000000011,0.0],[6273,true,true,null,970.230000000000018,1.0,null,null,1.054,false,975.080000000000041,285.079999999999984,346.449999999999989,-411.889999999999986,0.0],[6274,true,true,null,964.269999999999982,1.0,null,null,1.053,false,969.110000000000014,249.110000000000014,337.680000000000007,-413.699999999999989,0.0],[6275,true,true,null,934.259999999999991,1.0,null,null,1.049,false,939.110000000000014,249.110000000000014,337.569999999999993,-421.379999999999995,0.0],[6276,true,true,null,226.849999999999994,1.0,null,null,1.026,false,252.0,156.0,164.819999999999993,-101.260000000000005,0.0],[6277,true,true,null,223.810000000000002,1.0,null,null,1.032,false,250.0,154.0,164.819999999999993,-100.909999999999997,0.0],[6278,true,true,null,218.150000000000006,1.0,null,null,1.032,false,250.0,154.0,101.230000000000004,-56.189999999999998,0.0],[6279,true,true,null,252.379999999999995,1.0,null,null,1.035,false,305.0,122.0,245.170000000000016,-160.069999999999993,0.0],[6280,true,true,null,125.740000000000009,1.0,null,null,1.038,false,155.0,89.0,102.260000000000005,-66.489999999999995,0.0],[6281,true,true,null,53.369999999999997,1.0,null,null,1.035,false,58.0,0.0,21.300000000000001,-20.550000000000001,0.0],[764,true,true,null,16.809999999999999,1.0,null,null,1.037,false,37.5,0.0,10.0,-6.42,0.0],[6282,true,true,null,53.369999999999997,1.0,null,null,1.028,false,58.0,0.0,16.07,-12.49,0.0],[6283,true,true,null,53.369999999999997,1.0,null,null,1.035,false,58.0,0.0,21.300000000000001,-20.550000000000001,0.0],[6284,true,true,null,53.369999999999997,1.0,null,null,1.028,false,58.0,0.0,16.07,-12.49,0.0],[6285,true,true,null,52.780000000000001,1.0,null,null,1.028,false,58.0,0.0,15.970000000000001,-12.49,0.0],[6286,true,true,null,135.330000000000012,1.0,null,null,1.034,false,263.0,133.0,173.050000000000011,-81.280000000000001,0.0],[6287,true,true,null,97.329999999999998,1.0,null,null,1.045,false,139.0,0.0,99.900000000000006,-56.479999999999997,0.0],[6288,true,true,null,33.670000000000002,1.0,null,null,0.991,false,49.0,0.0,31.969999999999999,-22.760000000000002,0.0],[6289,true,true,null,33.670000000000002,1.0,null,null,0.995,false,49.0,0.0,31.960000000000001,-22.82,0.0],[6290,true,true,null,15.25,1.0,null,null,0.982,false,32.0,0.0,22.370000000000001,-13.630000000000001,0.0],[6291,true,true,null,9.33,1.0,null,null,0.995,false,32.0,0.0,20.370000000000001,-15.630000000000001,0.0],[121,true,true,null,6.17,1.0,null,null,1.026,false,12.0,0.0,5.0,-2.0,0.0],[765,true,true,null,15.91,1.0,null,null,1.036,false,37.5,0.0,10.0,-6.0,0.0],[6292,true,true,null,12.33,1.0,null,null,0.984,false,32.0,0.0,22.210000000000001,-13.789999999999999,0.0],[6293,true,true,null,932.420000000000073,1.0,null,null,1.004,false,937.100000000000023,267.100000000000023,550.490000000000009,-227.759999999999991,0.0],[6294,true,true,null,922.840000000000032,1.0,null,null,1.006,false,936.210000000000036,266.20999999999998,552.32000000000005,-226.539999999999992,0.0],[6295,true,true,null,910.710000000000036,1.0,null,null,1.006,false,917.090000000000032,267.090000000000032,517.899999999999977,-225.590000000000003,0.0],[6296,true,true,null,870.810000000000059,1.0,null,null,1.004,false,916.190000000000055,266.189999999999998,517.990000000000009,-225.659999999999997,0.0],[6297,true,true,null,1281.610000000000127,1.0,null,null,0.991,false,1308.0,318.0,673.870000000000004,-237.700000000000017,0.0],[6298,true,true,null,1281.610000000000127,1.0,null,null,0.992,false,1308.0,318.0,673.870000000000004,-237.700000000000017,0.0],[6299,true,true,null,29.239999999999998,1.0,null,null,1.034,false,35.0,0.0,5.05,-1.45,0.0],[6300,true,true,null,29.239999999999998,1.0,null,null,1.034,false,35.0,0.0,5.05,-1.45,0.0],[6301,true,true,null,29.239999999999998,1.0,null,null,1.034,false,35.0,0.0,5.05,-1.45,0.0],[805,true,true,null,23.16,1.0,null,null,1.014,false,31.0,0.0,15.0,-17.0,0.0],[6302,true,true,null,29.0,1.0,null,null,1.033,false,35.0,0.0,5.05,-1.45,0.0],[6303,true,true,null,29.0,1.0,null,null,1.033,false,35.0,0.0,5.05,-1.45,0.0],[6304,true,true,null,29.0,1.0,null,null,1.033,false,35.0,0.0,5.05,-1.45,0.0],[6305,true,true,null,15.140000000000001,1.0,null,null,1.007,false,20.0,0.0,10.539999999999999,-7.31,0.0],[6306,true,true,null,1285.880000000000109,1.0,null,null,1.022,false,1330.0,337.0,703.470000000000027,-249.560000000000002,0.0],[6307,true,true,null,1290.910000000000082,1.0,null,null,1.029,false,1360.0,367.0,712.050000000000068,-240.980000000000018,0.0],[6308,true,true,null,1251.910000000000082,1.0,null,null,1.028,false,1360.0,367.0,712.050000000000068,-240.980000000000018,0.0],[6309,true,true,null,61.920000000000002,1.0,null,null,0.989,false,90.0,0.0,53.82,-33.810000000000002,0.0],[6310,true,true,null,71.159999999999997,1.0,null,null,1.049,false,95.0,0.0,53.630000000000002,-33.270000000000003,0.0],[6311,true,true,null,66.109999999999999,1.0,null,null,1.005,false,102.0,0.0,53.950000000000003,-29.609999999999999,0.0],[806,true,true,null,25.510000000000002,1.0,null,null,1.018,false,31.0,0.0,15.0,-17.0,0.0],[6312,true,true,null,1.4,1.0,null,null,1.029,false,1.5,1.4,285.20999999999998,-103.180000000000007,0.0],[6313,true,true,null,201.050000000000011,1.0,null,null,0.965,false,240.0,-240.0,109.25,-44.369999999999997,0.0],[6314,true,true,null,206.009999999999991,1.0,null,null,0.965,false,240.0,-240.0,109.25,-43.240000000000002,0.0],[6315,true,true,null,932.350000000000023,1.0,null,null,1.024,false,939.029999999999973,229.030000000000001,500.949999999999989,-160.240000000000009,0.0],[6316,true,true,null,945.07000000000005,1.0,null,null,1.021,false,950.060000000000059,240.060000000000002,533.659999999999968,-152.719999999999999,0.0],[6317,true,true,null,943.07000000000005,1.0,null,null,1.021,false,948.060000000000059,238.060000000000002,552.850000000000023,-153.259999999999991,0.0],[6318,true,true,null,1498.319999999999936,1.0,null,null,1.045,false,1503.0,403.0,657.680000000000064,-222.980000000000018,0.0],[6319,true,true,null,1498.319999999999936,1.0,null,null,1.019,false,1503.0,403.0,657.680000000000064,-222.980000000000018,0.0],[6320,true,true,null,1493.150000000000091,1.0,null,null,1.007,false,1498.0,398.0,390.29000000000002,-446.449999999999989,0.0],[6321,true,true,null,1493.150000000000091,1.0,null,null,1.009,false,1498.0,398.0,368.810000000000002,-446.449999999999989,0.0],[807,true,true,null,25.510000000000002,1.0,null,null,1.016,false,31.0,0.0,15.0,-17.0,0.0],[6322,true,true,null,66.040000000000006,1.0,null,null,0.984,false,125.0,8.5,93.600000000000008,-50.899999999999999,0.0],[6323,true,true,null,64.040000000000006,1.0,null,null,0.983,false,125.0,8.5,93.600000000000008,-50.899999999999999,0.0],[6324,true,true,null,123.990000000000009,1.0,null,null,1.009,false,148.200000000000017,4.2,72.700000000000003,-2.56,0.0],[6326,true,true,null,543.980000000000018,1.0,null,null,1.025,false,610.0,310.0,359.660000000000025,-170.849999999999994,0.0],[6327,true,true,null,549.930000000000064,1.0,null,null,1.025,false,610.0,310.0,323.139999999999986,-212.840000000000003,0.0],[6329,true,true,null,38.450000000000003,1.0,null,null,1.003,false,50.0,0.0,17.809999999999999,-10.970000000000001,0.0],[6330,true,true,null,36.450000000000003,1.0,null,null,1.003,false,50.0,0.0,17.809999999999999,-10.970000000000001,0.0],[6331,true,true,null,38.450000000000003,1.0,null,null,1.003,false,50.0,0.0,17.809999999999999,-10.970000000000001,0.0],[6332,true,true,null,38.450000000000003,1.0,null,null,1.003,false,50.0,0.0,17.809999999999999,-10.970000000000001,0.0],[6333,true,true,null,38.450000000000003,1.0,null,null,1.003,false,50.0,0.0,17.809999999999999,-10.970000000000001,0.0],[819,true,true,null,22.510000000000002,1.0,null,null,1.022,false,32.0,1.0,6.0,-9.0,0.0],[6334,true,true,null,37.450000000000003,1.0,null,null,1.003,false,50.0,0.0,17.809999999999999,-10.970000000000001,0.0],[6335,true,true,null,955.269999999999982,1.0,null,null,1.018,false,1000.0,280.0,521.600000000000023,-128.949999999999989,0.0],[6336,true,true,null,966.269999999999982,1.0,null,null,1.021,false,1000.0,280.0,521.600000000000023,-128.949999999999989,0.0],[6337,true,true,null,966.279999999999973,1.0,null,null,1.023,false,1000.0,280.0,566.430000000000064,-129.840000000000003,0.0],[6338,true,true,null,925.379999999999995,1.0,null,null,1.021,false,930.0,280.0,565.460000000000036,-149.319999999999993,0.0],[6339,true,true,null,27.550000000000001,1.0,null,null,1.021,false,57.0,0.0,21.890000000000001,-12.76,0.0],[6340,true,true,null,28.530000000000001,1.0,null,null,1.021,false,57.0,0.0,21.890000000000001,-12.76,0.0],[6343,true,true,null,412.019999999999982,1.0,null,null,1.029,false,433.800000000000011,248.800000000000011,274.220000000000027,-164.5,0.0],[6344,true,true,null,918.080000000000041,1.0,null,null,1.006,false,922.950000000000046,232.950000000000017,526.720000000000027,-151.810000000000002,0.0],[6345,true,true,null,918.080000000000041,1.0,null,null,1.006,false,922.950000000000046,232.950000000000017,526.720000000000027,-151.810000000000002,0.0],[820,true,true,null,23.41,1.0,null,null,1.022,false,32.0,1.0,6.0,-9.0,0.0],[6346,true,true,null,925.080000000000041,1.0,null,null,1.006,false,929.950000000000046,239.950000000000017,527.480000000000018,-149.909999999999997,0.0],[6347,true,true,null,940.090000000000032,1.0,null,null,1.004,false,944.960000000000036,254.960000000000008,529.25,-145.789999999999992,0.0],[6349,true,true,null,1307.450000000000046,1.0,null,null,1.044,false,1380.0,340.0,407.480000000000018,-463.970000000000027,0.0],[6350,true,true,null,1188.460000000000036,1.0,null,null,1.044,false,1380.0,340.0,407.480000000000018,-463.970000000000027,0.0],[6351,true,true,null,24.870000000000001,1.0,null,null,1.023,false,31.5,0.0,22.469999999999999,-13.529999999999999,0.0],[6352,true,true,null,53.810000000000002,1.0,null,null,1.028,false,65.0,0.0,37.340000000000003,-22.66,0.0],[6353,true,true,null,51.119999999999997,1.0,null,null,1.026,false,70.0,0.0,22.34,-21.699999999999999,0.0],[6354,true,true,null,54.109999999999999,1.0,null,null,1.026,false,65.0,0.0,53.950000000000003,-36.049999999999997,0.0],[6355,true,true,null,57.100000000000001,1.0,null,null,1.028,false,65.0,0.0,55.380000000000003,-34.619999999999998,0.0],[6356,true,true,null,56.740000000000002,1.0,null,null,1.031,false,70.0,0.0,39.630000000000002,-20.370000000000001,0.0],[834,true,true,null,7.42,1.0,null,null,1.047,false,27.0,0.0,10.0,-10.0,0.0],[6357,true,true,null,1303.170000000000073,1.0,null,null,1.036,false,1308.0,288.0,566.82000000000005,-494.400000000000034,0.0],[6358,true,true,null,1303.170000000000073,1.0,null,null,1.039,false,1308.0,288.0,566.82000000000005,-494.400000000000034,0.0],[6361,true,true,null,409.350000000000023,1.0,null,null,1.016,false,458.259999999999991,89.260000000000005,286.78000000000003,-117.109999999999999,0.0],[6362,true,true,null,27.100000000000001,1.0,null,null,1.014,false,36.0,0.0,10.34,-12.56,0.0],[6363,true,true,null,932.860000000000014,1.0,null,null,1.023,false,947.0,237.0,525.980000000000018,-146.099999999999994,0.0],[6364,true,true,null,942.149999999999977,1.0,null,null,1.016,false,947.0,267.0,527.889999999999986,-146.099999999999994,0.0],[6365,true,true,null,942.149999999999977,1.0,null,null,1.019,false,947.0,237.0,525.980000000000018,-146.099999999999994,0.0],[6366,true,true,null,942.149999999999977,1.0,null,null,1.019,false,947.0,237.0,525.980000000000018,-146.099999999999994,0.0],[6367,true,true,null,942.149999999999977,1.0,null,null,1.016,false,947.0,237.0,525.980000000000018,-146.099999999999994,0.0],[6368,true,true,null,835.710000000000036,1.0,null,null,1.021,false,947.0,237.0,525.980000000000018,-146.099999999999994,0.0],[840,true,true,null,3.0,1.0,null,null,1.018,false,15.0,0.0,3.0,2.9,0.0],[6370,true,true,null,430.29000000000002,1.0,null,null,1.018,false,456.800000000000011,216.800000000000011,271.840000000000032,-127.370000000000005,0.0],[6371,true,true,null,248.159999999999997,1.0,null,null,1.036,false,260.0,130.0,166.409999999999997,-98.900000000000006,0.0],[6374,true,true,null,34.390000000000001,1.0,null,null,0.969,false,57.0,0.0,32.549999999999997,-11.76,0.0],[6375,true,true,null,33.409999999999997,1.0,null,null,0.969,false,57.0,0.0,32.549999999999997,-11.92,0.0],[6376,true,true,null,19.09,1.0,null,null,1.044,false,31.0,-15.0,20.129999999999999,-7.22,0.0],[6377,true,true,null,20.09,1.0,null,null,1.045,false,31.0,0.0,33.890000000000001,-21.949999999999999,0.0],[6378,true,true,null,10.85,1.0,null,null,1.053,false,19.5,0.0,7.83,-4.91,0.0],[6379,true,true,null,10.85,1.0,null,null,1.053,false,19.5,0.0,7.83,-4.91,0.0],[6381,true,true,null,27.190000000000001,1.0,null,null,1.012,false,35.0,0.0,9.050000000000001,-7.24,0.0],[6382,true,true,null,27.190000000000001,1.0,null,null,1.012,false,35.0,0.0,9.050000000000001,-7.24,0.0],[868,true,true,null,7.46,1.0,null,null,1.028,false,14.0,0.0,7.0,-7.0,0.0],[6383,true,true,null,26.199999999999999,1.0,null,null,1.012,false,35.0,0.0,11.43,-11.73,0.0],[6384,true,true,null,28.190000000000001,1.0,null,null,1.013,false,35.0,0.0,9.25,-7.24,0.0],[6386,true,true,null,39.18,1.0,null,null,0.984,false,47.0,0.0,10.25,-5.43,0.0],[6387,true,true,null,39.18,1.0,null,null,0.984,false,47.0,0.0,10.25,-5.43,0.0],[6388,true,true,null,48.770000000000003,1.0,null,null,0.995,false,73.0,0.0,51.920000000000002,-31.579999999999998,0.0],[6389,true,true,null,55.829999999999998,1.0,null,null,0.996,false,69.0,0.0,55.200000000000003,-28.489999999999998,0.0],[6390,true,true,null,55.829999999999998,1.0,null,null,0.999,false,76.0,0.0,51.280000000000001,-28.719999999999999,0.0],[6391,true,true,null,50.789999999999999,1.0,null,null,0.995,false,77.5,0.0,51.130000000000003,-30.120000000000001,0.0],[6392,true,true,null,19.98,1.0,null,null,1.017,false,31.0,0.0,14.949999999999999,-10.67,0.0],[6393,true,true,null,20.93,1.0,null,null,1.017,false,31.0,0.0,14.949999999999999,-10.67,0.0],[869,true,true,null,7.14,1.0,null,null,1.027,false,14.0,0.0,7.0,-7.0,0.0],[6394,true,true,null,19.98,1.0,null,null,1.017,false,31.0,0.0,14.949999999999999,-10.67,0.0],[6395,true,true,null,33.329999999999998,1.0,null,null,1.012,false,50.0,0.0,31.73,-15.57,0.0],[6396,true,true,null,23.920000000000002,1.0,null,null,1.011,false,37.0,0.0,15.94,-8.359999999999999,0.0],[6397,true,true,null,22.940000000000001,1.0,null,null,1.011,false,37.0,0.0,15.94,-8.359999999999999,0.0],[6398,true,true,null,23.920000000000002,1.0,null,null,1.011,false,37.0,0.0,15.94,-8.359999999999999,0.0],[6399,true,true,null,23.920000000000002,1.0,null,null,1.011,false,37.0,0.0,15.94,-8.359999999999999,0.0],[6400,true,true,null,215.560000000000002,1.0,null,null,1.009,false,250.0,137.0,170.469999999999999,-33.560000000000002,0.0],[6401,true,true,null,207.569999999999993,1.0,null,null,1.011,false,250.0,137.0,170.469999999999999,-33.560000000000002,0.0],[6402,true,true,null,6.35,1.0,null,null,0.964,false,19.0,0.0,10.619999999999999,-7.12,0.0],[6403,true,true,null,6.35,1.0,null,null,0.964,false,19.0,0.0,10.619999999999999,-7.12,0.0],[131,true,true,null,12.300000000000001,1.0,null,null,1.061,false,17.0,0.0,3.0,-3.0,0.0],[969,true,true,null,38.32,1.0,null,null,1.061,false,50.0,0.0,27.0,-9.0,0.0],[6404,true,true,null,94.430000000000007,1.0,null,null,0.981,false,122.0,0.0,25.640000000000001,-10.720000000000001,0.0],[6405,true,true,null,378.819999999999993,1.0,null,null,0.996,false,419.900000000000034,201.900000000000006,215.240000000000009,-161.259999999999991,0.0],[6406,true,true,null,37.159999999999997,1.0,null,null,1.079,false,52.0,0.0,39.82,-19.390000000000001,0.0],[6407,true,true,null,37.159999999999997,1.0,null,null,1.079,false,52.0,0.0,39.82,-19.390000000000001,0.0],[6410,true,true,null,202.259999999999991,1.0,null,null,1.018,false,227.0,-218.0,195.599999999999994,-56.560000000000002,0.0],[6411,true,true,null,198.319999999999993,1.0,null,null,1.018,false,227.0,-218.0,195.939999999999998,-56.259999999999998,0.0],[6412,true,true,null,194.300000000000011,1.0,null,null,1.018,false,227.0,-218.0,195.939999999999998,-56.259999999999998,0.0],[6413,true,true,null,195.280000000000001,1.0,null,null,1.018,false,227.0,-218.0,196.039999999999992,-56.170000000000002,0.0],[6414,true,true,null,48.020000000000003,1.0,null,null,0.984,false,65.0,0.0,79.870000000000004,-54.689999999999998,0.0],[6415,true,true,null,46.979999999999997,1.0,null,null,0.984,false,65.0,0.0,79.870000000000004,-54.689999999999998,0.0],[977,true,true,null,1.47,1.0,null,null,1.015,false,8.0,0.0,5.0,-5.0,0.0],[6416,true,true,null,868.700000000000046,1.0,null,null,1.054,false,950.0,237.0,511.819999999999993,-146.330000000000012,0.0],[6417,true,true,null,896.690000000000055,1.0,null,null,1.03,false,950.0,237.0,533.700000000000046,-146.330000000000012,0.0],[6418,true,true,null,228.599999999999994,1.0,null,null,1.035,false,316.0,168.0,194.0,-149.75,0.0],[6419,true,true,null,186.099999999999994,1.0,null,null,1.004,false,191.0,107.0,179.420000000000016,-94.620000000000004,0.0],[6421,true,true,null,1289.350000000000136,1.0,null,null,0.989,false,1360.0,289.0,671.919999999999959,-213.289999999999992,0.0],[6422,true,true,null,51.289999999999999,1.0,null,null,1.011,false,61.0,0.0,28.899999999999999,-24.219999999999999,0.0],[6423,true,true,null,51.289999999999999,1.0,null,null,1.011,false,61.0,0.0,28.899999999999999,-24.219999999999999,0.0],[6424,true,true,null,27.739999999999998,1.0,null,null,1.011,false,35.0,0.0,23.239999999999998,-10.1,0.0],[6425,true,true,null,1279.420000000000073,1.0,null,null,1.035,false,1380.0,350.0,706.840000000000032,-235.159999999999997,0.0],[6426,true,true,null,1299.529999999999973,1.0,null,null,1.049,false,1380.0,350.0,706.840000000000032,-235.159999999999997,0.0],[1013,true,true,null,0.0,1.0,null,null,1.051,false,3.0,0.0,1.0,0.9,0.0],[6427,true,true,null,1305.529999999999973,1.0,null,null,1.043,false,1380.0,350.0,695.830000000000041,-235.159999999999997,0.0],[6428,true,true,null,1285.059999999999945,1.0,null,null,1.049,false,1290.0,350.0,681.310000000000059,-260.689999999999998,0.0],[6429,true,true,null,5.14,1.0,null,null,1.05,false,51.0,0.8,37.509999999999998,-10.49,0.0],[6430,true,true,null,1311.289999999999964,1.0,null,null,1.035,false,1380.0,340.0,675.480000000000018,-207.210000000000008,0.0],[6431,true,true,null,1274.539999999999964,1.0,null,null,1.036,false,1380.0,340.0,675.480000000000018,-207.210000000000008,0.0],[6434,true,true,null,581.669999999999959,1.0,null,null,1.027,false,598.0,188.0,330.120000000000005,-92.079999999999998,0.0],[6436,true,true,null,30.710000000000001,1.0,null,null,1.08,false,43.0,0.0,33.109999999999999,-20.489999999999998,0.0],[6437,true,true,null,26.969999999999999,1.0,null,null,1.078,false,43.0,0.0,33.109999999999999,-20.489999999999998,0.0],[6438,true,true,null,27.91,1.0,null,null,1.079,false,43.0,0.0,33.109999999999999,-20.489999999999998,0.0],[6439,true,true,null,59.909999999999997,1.0,null,null,1.013,false,80.0,0.0,42.659999999999997,-21.780000000000001,0.0],[1017,true,true,null,1.7,1.0,null,null,1.061,false,7.2,0.0,4.0,-4.0,0.0],[6440,true,true,null,236.530000000000001,1.0,null,null,1.006,false,245.0,85.0,109.159999999999997,-75.850000000000008,0.0],[6441,true,true,null,419.660000000000025,1.0,null,null,0.968,false,605.0,295.0,230.469999999999999,-115.950000000000003,0.0],[6442,true,true,null,45.189999999999998,1.0,null,null,1.031,false,56.0,0.0,24.739999999999998,-16.5,0.0],[6443,true,true,null,44.18,1.0,null,null,1.031,false,56.0,0.0,24.739999999999998,-16.5,0.0],[6444,true,true,null,0.65,1.0,null,null,1.001,false,58.0,0.0,61.200000000000003,-1.88,0.0],[6445,true,true,null,16.399999999999999,1.0,null,null,1.03,false,23.100000000000001,0.0,17.149999999999999,-10.85,0.0],[6446,true,true,null,16.399999999999999,1.0,null,null,1.03,false,23.100000000000001,0.0,17.140000000000001,-10.859999999999999,0.0],[6447,true,true,null,410.430000000000007,1.0,null,null,1.06,false,439.800000000000011,230.800000000000011,184.289999999999992,-6.72,0.0],[6448,true,true,null,36.100000000000001,1.0,null,null,1.059,false,41.0,0.0,21.739999999999998,-17.309999999999999,0.0],[6452,true,true,null,25.850000000000001,1.0,null,null,0.986,false,32.0,0.0,19.57,-10.43,0.0],[1061,true,true,null,7.0,1.0,null,null,1.062,false,11.800000000000001,7.0,6.0,-3.0,0.0],[6454,true,true,null,27.34,1.0,null,null,0.986,false,32.0,0.0,19.57,-10.43,0.0],[6456,true,true,null,145.280000000000001,1.0,null,null,1.087,false,180.0,-180.0,124.730000000000004,-79.859999999999999,0.0],[6457,true,true,null,141.789999999999992,1.0,null,null,1.091,false,180.0,-180.0,116.010000000000005,-89.939999999999998,0.0],[6458,true,true,null,143.780000000000001,1.0,null,null,1.022,false,180.0,-180.0,124.730000000000004,-79.859999999999999,0.0],[6459,true,true,null,143.780000000000001,1.0,null,null,1.091,false,180.0,-180.0,124.730000000000004,-79.859999999999999,0.0],[6460,true,true,null,22.59,1.0,null,null,1.037,false,32.0,0.0,27.25,-19.059999999999999,0.0],[6462,true,true,null,21.59,1.0,null,null,1.041,false,29.0,0.0,27.25,-19.719999999999999,0.0],[6465,true,true,null,24.489999999999998,1.0,null,null,1.045,false,44.0,0.0,14.640000000000001,-6.01,0.0],[6466,true,true,null,25.52,1.0,null,null,1.009,false,31.0,0.0,19.260000000000002,-13.380000000000001,0.0],[6467,true,true,null,24.539999999999999,1.0,null,null,1.009,false,31.0,0.0,19.260000000000002,-13.380000000000001,0.0],[1070,true,true,null,4.14,1.0,null,null,1.034,false,12.0,0.0,2.0,1.9,0.0],[6468,true,true,null,19.890000000000001,1.0,null,null,1.026,false,38.0,0.0,27.02,-18.300000000000001,0.0],[6469,true,true,null,20.870000000000001,1.0,null,null,1.022,false,38.0,0.0,26.960000000000001,-18.510000000000002,0.0],[6470,true,true,null,18.899999999999999,1.0,null,null,1.021,false,38.0,0.0,26.960000000000001,-18.510000000000002,0.0],[6471,true,true,null,42.520000000000003,1.0,null,null,0.973,false,66.0,0.0,41.079999999999998,-25.629999999999999,0.0],[6472,true,true,null,42.240000000000002,1.0,null,null,0.999,false,84.0,0.0,54.619999999999998,-24.010000000000002,0.0],[6473,true,true,null,42.240000000000002,1.0,null,null,0.999,false,84.0,0.0,54.619999999999998,-24.010000000000002,0.0],[6475,true,true,null,72.460000000000008,1.0,null,null,0.976,false,81.0,0.0,51.119999999999997,-28.879999999999999,0.0],[6476,true,true,null,71.460000000000008,1.0,null,null,0.976,false,81.0,0.0,51.119999999999997,-28.879999999999999,0.0],[6477,true,true,null,72.460000000000008,1.0,null,null,0.976,false,81.0,0.0,51.119999999999997,-28.879999999999999,0.0],[6478,true,true,null,71.460000000000008,1.0,null,null,0.976,false,81.0,0.0,51.119999999999997,-28.879999999999999,0.0],[1112,true,true,null,14.0,1.0,null,null,1.078,false,18.0,14.0,6.0,-6.0,0.0],[6479,true,true,null,116.129999999999995,1.0,null,null,1.041,false,130.0,0.0,30.84,-18.18,0.0],[6480,true,true,null,1307.799999999999954,1.0,null,null,1.011,false,1332.0,282.0,671.480000000000018,-239.659999999999997,0.0],[6481,true,true,null,1281.799999999999954,1.0,null,null,1.012,false,1332.0,282.0,671.480000000000018,-239.659999999999997,0.0],[6482,true,true,null,277.70999999999998,1.0,null,null,1.011,false,285.0,150.0,168.900000000000006,14.279999999999999,0.0],[6483,true,true,null,537.889999999999986,1.0,null,null,1.013,false,595.0,225.0,204.969999999999999,-97.540000000000006,0.0],[6484,true,true,null,387.100000000000023,1.0,null,null,1.029,false,443.0,127.0,140.689999999999998,-19.300000000000001,0.0],[6485,true,true,null,410.100000000000023,1.0,null,null,1.029,false,443.0,127.0,144.349999999999994,-19.379999999999999,0.0],[6486,true,true,null,44.789999999999999,1.0,null,null,1.03,false,50.0,0.0,27.73,-24.25,0.0],[6487,true,true,null,45.100000000000001,1.0,null,null,1.03,false,50.0,0.0,27.73,-24.25,0.0],[6488,true,true,null,21.539999999999999,1.0,null,null,0.973,false,30.0,0.0,21.620000000000001,-13.24,0.0],[1114,true,true,null,7.7,1.0,null,null,1.046,false,18.0,0.0,10.0,-10.0,0.0],[6489,true,true,null,21.550000000000001,1.0,null,null,0.931,false,30.0,0.0,21.620000000000001,-13.24,0.0],[6490,true,true,null,58.630000000000002,1.0,null,null,1.002,false,85.0,0.0,57.420000000000002,-17.850000000000001,0.0],[6492,true,true,null,922.279999999999973,1.0,null,null,1.01,false,949.889999999999986,229.890000000000015,545.100000000000023,-149.319999999999993,0.0],[6493,true,true,null,915.279999999999973,1.0,null,null,1.01,false,952.889999999999986,232.890000000000015,545.340000000000032,-148.469999999999999,0.0],[6494,true,true,null,32.840000000000003,1.0,null,null,1.031,false,49.0,0.0,21.77,-20.199999999999999,0.0],[6495,true,true,null,27.879999999999999,1.0,null,null,1.03,false,49.0,0.0,21.77,-20.199999999999999,0.0],[6496,true,true,null,27.879999999999999,1.0,null,null,1.03,false,49.0,0.0,21.77,-20.199999999999999,0.0],[6497,true,true,null,122.700000000000003,1.0,null,null,0.958,false,156.0,0.0,112.390000000000001,-47.609999999999999,0.0],[6498,true,true,null,71.710000000000008,1.0,null,null,1.018,false,99.0,0.0,22.91,-33.960000000000001,0.0],[6499,true,true,null,73.689999999999998,1.0,null,null,1.018,false,99.0,0.0,22.91,-33.960000000000001,0.0],[1214,true,true,null,32.289999999999999,1.0,null,null,1.091,false,62.0,0.0,40.0,-40.0,0.0],[6500,true,true,null,931.129999999999995,1.0,null,null,1.005,false,985.0,275.0,405.579999999999984,-162.030000000000001,0.0],[6501,true,true,null,901.960000000000036,1.0,null,null,1.002,false,985.0,275.0,400.579999999999984,-167.030000000000001,0.0],[6502,true,true,null,960.0,1.0,null,null,1.004,false,985.0,275.0,400.579999999999984,-167.030000000000001,0.0],[6503,true,true,null,960.330000000000041,1.0,null,null,0.999,false,985.0,275.0,400.579999999999984,-167.030000000000001,0.0],[6507,true,true,null,59.359999999999999,1.0,null,null,0.936,false,64.0,-64.0,89.400000000000006,-50.600000000000001,0.0],[6508,true,true,null,59.359999999999999,1.0,null,null,0.936,false,64.0,-64.0,89.400000000000006,-50.600000000000001,0.0],[6509,true,true,null,59.359999999999999,1.0,null,null,0.936,false,64.0,-64.0,89.400000000000006,-50.600000000000001,0.0],[6510,true,true,null,252.870000000000004,1.0,null,null,1.039,false,268.0,138.0,148.090000000000003,-87.359999999999999,0.0],[6511,true,true,null,228.860000000000014,1.0,null,null,1.03,false,268.0,138.0,148.090000000000003,-87.359999999999999,0.0],[6512,true,true,null,163.25,1.0,null,null,1.068,false,180.0,0.0,97.799999999999997,-42.200000000000003,0.0],[1215,true,true,null,25.199999999999999,1.0,null,null,1.075,false,41.399999999999999,0.0,12.42,-11.59,0.0],[6513,true,true,null,57.640000000000001,1.0,null,null,1.08,false,136.0,0.0,133.879999999999996,-46.119999999999997,0.0],[6514,true,true,null,58.789999999999999,1.0,null,null,1.081,false,128.0,0.0,123.950000000000003,-46.049999999999997,0.0],[136,true,true,null,7.21,1.0,null,null,1.021,false,18.0,0.0,0.8,-0.8,0.0],[1290,true,true,null,1.08,1.0,null,null,1.065,false,8.0,0.0,2.6,-2.8,0.0],[1314,true,true,null,8.73,1.0,null,null,1.068,false,17.0,0.0,1.0,0.9,0.0],[1329,true,true,null,0.13,1.0,null,null,1.053,false,5.0,0.0,1.0,0.9,0.0],[1348,true,true,null,0.0,1.0,null,null,1.005,false,11.0,0.0,5.0,1.0,0.0],[1361,true,true,null,24.379999999999999,1.0,null,null,1.05,false,45.0,0.0,18.0,-18.0,0.0],[1360,true,true,null,23.870000000000001,1.0,null,null,1.052,false,45.0,0.0,18.0,-18.0,0.0],[1367,true,true,null,5.34,1.0,null,null,1.042,false,13.0,0.0,7.56,-5.0,0.0],[1424,true,true,null,38.18,1.0,null,null,1.031,false,50.0,0.0,50.0,-50.0,0.0],[1521,true,true,null,213.830000000000012,1.0,null,null,1.122,false,239.0,44.0,100.0,-60.0,0.0],[1522,true,true,null,160.830000000000012,1.0,null,null,0.969,false,169.0,82.0,70.0,-45.0,0.0],[157,true,true,null,8.289999999999999,1.0,null,null,0.959,false,17.899999999999999,0.0,10.0,-13.0,0.0],[1559,true,true,null,6.2,1.0,null,null,1.033,false,49.0,1.0,22.0,-9.0,0.0],[1593,true,true,null,13.369999999999999,1.0,null,null,1.049,false,33.0,0.0,10.0,-10.0,0.0],[1598,true,true,null,19.280000000000001,1.0,null,null,1.045,false,36.0,0.0,11.0,-12.0,0.0],[1604,true,true,null,37.240000000000002,1.0,null,null,1.034,false,42.0,0.0,20.0,-10.0,0.0],[1644,true,true,null,2.57,1.0,null,null,1.061,false,52.0,0.0,10.0,-13.0,0.0],[1683,true,true,null,4.18,1.0,null,null,1.01,false,11.0,0.0,5.0,-5.0,0.0],[1692,true,true,null,2.14,1.0,null,null,1.002,false,7.1,0.0,2.13,-1.99,0.0],[1705,true,true,null,13.279999999999999,1.0,null,null,1.041,false,28.899999999999999,0.0,18.0,-18.0,0.0],[1739,true,true,null,17.09,1.0,null,null,1.05,false,27.0,0.0,14.0,-14.0,0.0],[1746,true,true,null,35.350000000000001,1.0,null,null,1.127,false,40.0,0.0,20.0,-18.0,0.0],[193,true,true,null,0.42,1.0,null,null,1.056,false,15.0,0.0,1.0,0.9,0.0],[1747,true,true,null,31.890000000000001,1.0,null,null,1.127,false,40.0,0.0,20.0,-18.0,0.0],[1748,true,true,null,35.350000000000001,1.0,null,null,1.124,false,40.0,0.0,20.0,-18.0,0.0],[1870,true,true,null,38.509999999999998,1.0,null,null,1.009,false,44.0,0.0,20.0,-9.0,0.0],[1893,true,true,null,16.129999999999999,1.0,null,null,1.042,false,24.0,0.0,4.0,-4.0,0.0],[1894,true,true,null,13.65,1.0,null,null,1.04,false,24.0,0.0,4.0,-4.0,0.0],[1895,true,true,null,17.530000000000001,1.0,null,null,1.046,false,24.0,0.0,4.0,-4.0,0.0],[1896,true,true,null,17.030000000000001,1.0,null,null,1.046,false,24.0,0.0,4.0,-4.0,0.0],[1967,true,true,null,18.210000000000001,1.0,null,null,1.06,false,24.0,0.0,8.0,-7.0,0.0],[1968,true,true,null,17.25,1.0,null,null,1.064,false,24.0,0.0,1.42,-0.01,0.0],[1969,true,true,null,18.190000000000001,1.0,null,null,1.06,false,24.0,0.0,8.0,-7.0,0.0],[255,true,true,null,7.15,1.0,null,null,1.047,false,26.0,0.0,10.0,-10.0,0.0],[1970,true,true,null,17.699999999999999,1.0,null,null,1.064,false,24.0,0.0,8.0,-7.0,0.0],[1971,true,true,null,16.699999999999999,1.0,null,null,1.066,false,24.0,0.0,8.0,-7.0,0.0],[1980,true,true,null,24.350000000000001,1.0,null,null,1.019,false,29.0,0.0,10.0,-10.0,0.0],[1981,true,true,null,23.879999999999999,1.0,null,null,1.007,false,29.0,0.0,5.0,-18.0,0.0],[1982,true,true,null,24.359999999999999,1.0,null,null,1.01,false,29.0,0.0,8.0,-18.0,0.0],[1986,true,true,null,0.5,1.0,null,null,1.046,false,4.6,0.5,2.0,-2.0,0.0],[2007,true,true,null,40.159999999999997,1.0,null,null,1.033,false,46.0,0.0,21.0,-9.0,0.0],[2018,true,true,null,13.640000000000001,1.0,null,null,1.025,false,24.0,0.0,9.0,-9.0,0.0],[2019,true,true,null,14.289999999999999,1.0,null,null,1.03,false,24.0,0.0,9.0,-9.0,0.0],[2028,true,true,null,19.350000000000001,1.0,null,null,1.041,false,30.0,-30.0,7.0,-7.0,0.0],[257,true,true,null,25.370000000000001,1.0,null,null,1.078,false,30.0,0.0,1.0,0.9,0.0],[2050,true,true,null,26.960000000000001,1.0,null,null,1.023,false,34.0,0.0,19.0,-16.0,0.0],[2098,true,true,null,37.240000000000002,1.0,null,null,1.053,false,54.0,1.0,22.0,-10.0,0.0],[2102,true,true,null,3.43,1.0,null,null,1.011,false,16.0,0.0,5.0,-5.0,0.0],[2160,true,true,null,12.220000000000001,1.0,null,null,1.061,false,29.0,0.0,13.0,-6.0,0.0],[2164,true,true,null,39.859999999999999,1.0,null,null,1.01,false,45.0,0.0,22.0,-10.0,0.0],[2192,true,true,null,5.53,1.0,null,null,0.967,false,15.0,0.0,9.0,-9.0,0.0],[2194,true,true,null,14.800000000000001,1.0,null,null,1.063,false,20.0,0.0,2.0,1.9,0.0],[2246,true,true,null,2.5,1.0,null,null,1.082,false,24.0,2.5,8.0,-8.0,0.0],[2340,true,true,null,12.119999999999999,1.0,null,null,0.987,false,28.0,0.0,12.0,-9.0,0.0],[2363,true,true,null,19.32,1.0,null,null,1.101,false,24.0,0.0,20.0,-20.0,0.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -96,7 +158,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "switch": { @@ -133,7 +196,7 @@ "ext_grid": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0],\"data\":[[6171,true,null,12.5081411,1.087,2855.260000000000218,0.0,856.580000000000041,-856.580000000000041]]}", + "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0],\"data\":[[6171,true,null,12.5081411,1.087,2855.260000000000218,0.0,856.580000000000041,-856.580000000000041,1.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -144,7 +207,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "line": { @@ -297,7 +361,7 @@ "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\",\"in_service\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"ps_mw\",\"qs_mvar\",\"qz_mvar\",\"pz_mw\",\"r_ohm\",\"x_ohm\",\"vm_pu\",\"in_service\",\"slack_weight\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "name": "object", @@ -309,7 +373,8 @@ "r_ohm": "float64", "x_ohm": "float64", "vm_pu": "float64", - "in_service": "bool" + "in_service": "bool", + "slack_weight": "float64" } }, "measurement": { @@ -358,13 +423,14 @@ "controller": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"recycle\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"initial_run\",\"recycle\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "object": "object", "in_service": "bool", "order": "float64", "level": "object", + "initial_run": "bool", "recycle": "bool" } }, @@ -388,11 +454,11 @@ "coords": "object" } }, - "version": "2.2.1", + "version": "2.7.1", "converged": true, "name": "", "f_hz": 50, - "sn_mva": 1.0, + "sn_mva": 100, "std_types": { "line": { "NAYY 4x150 SE": { @@ -1272,6 +1338,16 @@ "q_mvar": "float64" } }, + "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" + } + }, "res_sgen": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -1356,6 +1432,341 @@ "va_to_degree": "float64" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_bus_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_line_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo3w_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_ext_grid_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_gen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_sgen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_shunt_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "user_pf_options": {}, "OPF_converged": false } diff --git a/pandapower/networks/power_system_test_case_jsons/case6ww.json b/pandapower/networks/power_system_test_case_jsons/case6ww.json index ae550526b..1264714aa 100644 --- a/pandapower/networks/power_system_test_case_jsons/case6ww.json +++ b/pandapower/networks/power_system_test_case_jsons/case6ww.json @@ -53,6 +53,68 @@ "current_source": "bool" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "storage": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -75,7 +137,7 @@ "gen": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0,1],\"data\":[[1,true,true,null,50.0,1.0,null,null,1.05,false,150.0,37.5,100.0,-100.0],[2,true,true,null,60.0,1.0,null,null,1.07,false,180.0,45.0,100.0,-100.0]]}", + "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0,1],\"data\":[[1,true,true,null,50.0,1.0,null,null,1.05,false,150.0,37.5,100.0,-100.0,0.0],[2,true,true,null,60.0,1.0,null,null,1.07,false,180.0,45.0,100.0,-100.0,0.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -91,7 +153,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "switch": { @@ -128,7 +191,7 @@ "ext_grid": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0],\"data\":[[0,true,null,0.0,1.05,200.0,50.0,100.0,-100.0]]}", + "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0],\"data\":[[0,true,null,0.0,1.05,200.0,50.0,100.0,-100.0,1.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -139,7 +202,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "line": { @@ -291,7 +355,7 @@ "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\",\"in_service\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"ps_mw\",\"qs_mvar\",\"qz_mvar\",\"pz_mw\",\"r_ohm\",\"x_ohm\",\"vm_pu\",\"in_service\",\"slack_weight\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "name": "object", @@ -303,7 +367,8 @@ "r_ohm": "float64", "x_ohm": "float64", "vm_pu": "float64", - "in_service": "bool" + "in_service": "bool", + "slack_weight": "float64" } }, "measurement": { @@ -352,13 +417,14 @@ "controller": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"recycle\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"initial_run\",\"recycle\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "object": "object", "in_service": "bool", "order": "float64", "level": "object", + "initial_run": "bool", "recycle": "bool" } }, @@ -382,11 +448,11 @@ "coords": "object" } }, - "version": "2.2.1", + "version": "2.7.1", "converged": true, "name": "", "f_hz": 60, - "sn_mva": 1.0, + "sn_mva": 100, "std_types": { "line": { "122-AL1/20-ST1A 10.0": { @@ -1266,6 +1332,16 @@ "q_mvar": "float64" } }, + "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" + } + }, "res_sgen": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -1350,6 +1426,341 @@ "va_to_degree": "float64" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_bus_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_line_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo3w_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_ext_grid_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_gen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_sgen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_shunt_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "user_pf_options": {}, "OPF_converged": false } diff --git a/pandapower/networks/power_system_test_case_jsons/case89pegase.json b/pandapower/networks/power_system_test_case_jsons/case89pegase.json index b5ebdb6cd..ae1abea0b 100644 --- a/pandapower/networks/power_system_test_case_jsons/case89pegase.json +++ b/pandapower/networks/power_system_test_case_jsons/case89pegase.json @@ -54,6 +54,68 @@ "current_source": "bool" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "storage": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -76,7 +138,7 @@ "gen": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0,1,10,2,3,4,5,6,7,8,9],\"data\":[[20,true,true,null,1269.400000000000091,1.0,null,null,1.03888,false,1500.0,500.0,661.899999999999977,-257.620000000000004],[23,true,true,null,362.0,1.0,null,null,1.038741,false,500.0,166.670000000000016,228.159999999999997,-78.829999999999998],[88,true,true,null,419.0,1.0,null,null,1.052319,false,600.0,200.0,274.199999999999989,-93.219999999999999],[36,true,true,null,1097.400000000000091,1.0,null,null,1.05217,false,2000.0,666.669999999999959,943.639999999999986,-282.009999999999991],[41,true,true,null,-545.700000000000046,1.0,null,null,1.047701,false,100.0,-727.600000000000023,92.960000000000008,-29.809999999999999],[44,true,true,null,21.100000000000001,1.0,null,null,1.05444,false,21.23,7.08,8.91,-4.11],[55,true,true,null,879.600000000000023,1.0,null,null,1.052521,false,1200.0,400.0,545.680000000000064,-189.969999999999999],[59,true,true,null,949.700000000000046,1.0,null,null,1.053791,false,1000.0,333.329999999999984,429.610000000000014,-183.47999999999999],[64,true,true,null,-681.700000000000046,1.0,null,null,1.033972,false,100.0,-908.930000000000064,14.779999999999999,-6.64],[70,true,true,null,419.0,1.0,null,null,1.052291,false,600.0,200.0,274.199999999999989,-93.219999999999999],[80,true,true,null,427.0,1.0,null,null,1.023822,false,600.0,200.0,273.939999999999998,-93.650000000000006]]}", + "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0,1,10,2,3,4,5,6,7,8,9],\"data\":[[20,true,true,null,1269.400000000000091,1.0,null,null,1.03888,false,1500.0,500.0,661.899999999999977,-257.620000000000004,0.0],[23,true,true,null,362.0,1.0,null,null,1.038741,false,500.0,166.670000000000016,228.159999999999997,-78.829999999999998,0.0],[88,true,true,null,419.0,1.0,null,null,1.052319,false,600.0,200.0,274.199999999999989,-93.219999999999999,0.0],[36,true,true,null,1097.400000000000091,1.0,null,null,1.05217,false,2000.0,666.669999999999959,943.639999999999986,-282.009999999999991,0.0],[41,true,true,null,-545.700000000000046,1.0,null,null,1.047701,false,100.0,-727.600000000000023,92.960000000000008,-29.809999999999999,0.0],[44,true,true,null,21.100000000000001,1.0,null,null,1.05444,false,21.23,7.08,8.91,-4.11,0.0],[55,true,true,null,879.600000000000023,1.0,null,null,1.052521,false,1200.0,400.0,545.680000000000064,-189.969999999999999,0.0],[59,true,true,null,949.700000000000046,1.0,null,null,1.053791,false,1000.0,333.329999999999984,429.610000000000014,-183.47999999999999,0.0],[64,true,true,null,-681.700000000000046,1.0,null,null,1.033972,false,100.0,-908.930000000000064,14.779999999999999,-6.64,0.0],[70,true,true,null,419.0,1.0,null,null,1.052291,false,600.0,200.0,274.199999999999989,-93.219999999999999,0.0],[80,true,true,null,427.0,1.0,null,null,1.023822,false,600.0,200.0,273.939999999999998,-93.650000000000006,0.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -92,7 +154,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "switch": { @@ -129,7 +192,7 @@ "ext_grid": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0],\"data\":[[6,true,null,0.0,1.030951,1700.0,566.669999999999959,772.110000000000014,-269.939999999999998]]}", + "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0],\"data\":[[6,true,null,0.0,1.030951,1700.0,566.669999999999959,772.110000000000014,-269.939999999999998,1.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -140,7 +203,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "line": { @@ -293,7 +357,7 @@ "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\",\"in_service\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"ps_mw\",\"qs_mvar\",\"qz_mvar\",\"pz_mw\",\"r_ohm\",\"x_ohm\",\"vm_pu\",\"in_service\",\"slack_weight\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "name": "object", @@ -305,7 +369,8 @@ "r_ohm": "float64", "x_ohm": "float64", "vm_pu": "float64", - "in_service": "bool" + "in_service": "bool", + "slack_weight": "float64" } }, "measurement": { @@ -354,13 +419,14 @@ "controller": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"recycle\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"initial_run\",\"recycle\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "object": "object", "in_service": "bool", "order": "float64", "level": "object", + "initial_run": "bool", "recycle": "bool" } }, @@ -384,11 +450,11 @@ "coords": "object" } }, - "version": "2.2.1", + "version": "2.7.1", "converged": true, "name": "", "f_hz": 50, - "sn_mva": 1.0, + "sn_mva": 100, "std_types": { "line": { "NAYY 4x150 SE": { @@ -1268,6 +1334,16 @@ "q_mvar": "float64" } }, + "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" + } + }, "res_sgen": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -1352,6 +1428,341 @@ "va_to_degree": "float64" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_bus_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_line_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo3w_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_ext_grid_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_gen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_sgen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_shunt_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "user_pf_options": {}, "OPF_converged": false } diff --git a/pandapower/networks/power_system_test_case_jsons/case9.json b/pandapower/networks/power_system_test_case_jsons/case9.json index eba10cc91..e1c6a48ac 100644 --- a/pandapower/networks/power_system_test_case_jsons/case9.json +++ b/pandapower/networks/power_system_test_case_jsons/case9.json @@ -53,6 +53,68 @@ "current_source": "bool" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "storage": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -75,7 +137,7 @@ "gen": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0,1],\"data\":[[1,true,true,null,163.0,1.0,null,null,1.0,false,300.0,10.0,300.0,-300.0],[2,true,true,null,85.0,1.0,null,null,1.0,false,270.0,10.0,300.0,-300.0]]}", + "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0,1],\"data\":[[1,true,true,null,163.0,1.0,null,null,1.0,false,300.0,10.0,300.0,-300.0,0.0],[2,true,true,null,85.0,1.0,null,null,1.0,false,270.0,10.0,300.0,-300.0,0.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -91,7 +153,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "switch": { @@ -128,7 +191,7 @@ "ext_grid": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0],\"data\":[[0,true,null,0.0,1.0,250.0,10.0,300.0,-300.0]]}", + "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0],\"data\":[[0,true,null,0.0,1.0,250.0,10.0,300.0,-300.0,1.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -139,7 +202,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "line": { @@ -291,7 +355,7 @@ "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\",\"in_service\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"ps_mw\",\"qs_mvar\",\"qz_mvar\",\"pz_mw\",\"r_ohm\",\"x_ohm\",\"vm_pu\",\"in_service\",\"slack_weight\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "name": "object", @@ -303,7 +367,8 @@ "r_ohm": "float64", "x_ohm": "float64", "vm_pu": "float64", - "in_service": "bool" + "in_service": "bool", + "slack_weight": "float64" } }, "measurement": { @@ -352,13 +417,14 @@ "controller": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"recycle\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"initial_run\",\"recycle\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "object": "object", "in_service": "bool", "order": "float64", "level": "object", + "initial_run": "bool", "recycle": "bool" } }, @@ -382,11 +448,11 @@ "coords": "object" } }, - "version": "2.2.1", + "version": "2.7.1", "converged": true, "name": "", "f_hz": 60, - "sn_mva": 1.0, + "sn_mva": 100, "std_types": { "line": { "122-AL1/20-ST1A 10.0": { @@ -1266,6 +1332,16 @@ "q_mvar": "float64" } }, + "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" + } + }, "res_sgen": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -1350,6 +1426,341 @@ "va_to_degree": "float64" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_bus_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_line_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo3w_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_ext_grid_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_gen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_sgen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_shunt_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "user_pf_options": {}, "OPF_converged": false } diff --git a/pandapower/networks/power_system_test_case_jsons/case9241pegase.json b/pandapower/networks/power_system_test_case_jsons/case9241pegase.json index b3e6c34aa..3de502694 100644 --- a/pandapower/networks/power_system_test_case_jsons/case9241pegase.json +++ b/pandapower/networks/power_system_test_case_jsons/case9241pegase.json @@ -54,6 +54,68 @@ "current_source": "bool" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "storage": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -76,7 +138,7 @@ "gen": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0,1,10,100,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,101,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,102,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,103,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,104,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,105,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,106,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,107,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,108,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,109,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,11,110,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,111,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,112,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,113,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,114,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,115,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,116,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,117,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,118,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,119,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,12,120,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,121,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,122,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,123,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,124,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,125,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,126,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,127,1270,1271,1272,1273,1274,1275,1276,1277,1278,1279,128,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,129,1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,13,130,1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,131,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,132,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329,133,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,134,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,135,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,136,1360,1361,1362,1363,1364,1365,1366,1367,1368,1369,137,1370,1371,1372,1373,1374,1375,1376,1377,1378,1379,138,1380,1381,1382,1383,1384,1385,1386,1387,1388,1389,139,1390,1391,1392,1393,1394,1395,1396,1397,1398,1399,14,140,1400,1401,1402,1403,1404,1405,1406,1407,1408,1409,141,1410,1411,1412,1413,1414,1415,1416,1417,1418,1419,142,1420,1421,1422,1423,1424,1425,1426,1427,1428,1429,143,1430,1431,1432,1433,1434,1435,1436,1437,1438,1439,144,1440,1441,1442,1443,145,146,147,148,149,15,150,151,152,153,154,155,156,157,158,159,16,160,161,162,163,164,165,166,167,168,169,17,170,171,172,173,174,175,176,177,178,179,18,180,181,182,183,184,185,186,187,188,189,19,190,191,192,193,194,195,196,197,198,199,2,20,200,201,202,203,204,205,206,207,208,209,21,210,211,212,213,214,215,216,217,218,219,22,220,221,222,223,224,225,226,227,228,229,23,230,231,232,233,234,235,236,237,238,239,24,240,241,242,243,244,245,246,247,248,249,25,250,251,252,253,254,255,256,257,258,259,26,260,261,262,263,264,265,266,267,268,269,27,270,271,272,273,274,275,276,277,278,279,28,280,281,282,283,284,285,286,287,288,289,29,290,291,292,293,294,295,296,297,298,299,3,30,300,301,302,303,304,305,306,307,308,309,31,310,311,312,313,314,315,316,317,318,319,32,320,321,322,323,324,325,326,327,328,329,33,330,331,332,333,334,335,336,337,338,339,34,340,341,342,343,344,345,346,347,348,349,35,350,351,352,353,354,355,356,357,358,359,36,360,361,362,363,364,365,366,367,368,369,37,370,371,372,373,374,375,376,377,378,379,38,380,381,382,383,384,385,386,387,388,389,39,390,391,392,393,394,395,396,397,398,399,4,40,400,401,402,403,404,405,406,407,408,409,41,410,411,412,413,414,415,416,417,418,419,42,420,421,422,423,424,425,426,427,428,429,43,430,431,432,433,434,435,436,437,438,439,44,440,441,442,443,444,445,446,447,448,449,45,450,451,452,453,454,455,456,457,458,459,46,460,461,462,463,464,465,466,467,468,469,47,470,471,472,473,474,475,476,477,478,479,48,480,481,482,483,484,485,486,487,488,489,49,490,491,492,493,494,495,496,497,498,499,5,50,500,501,502,503,504,505,506,507,508,509,51,510,511,512,513,514,515,516,517,518,519,52,520,521,522,523,524,525,526,527,528,529,53,530,531,532,533,534,535,536,537,538,539,54,540,541,542,543,544,545,546,547,548,549,55,550,551,552,553,554,555,556,557,558,559,56,560,561,562,563,564,565,566,567,568,569,57,570,571,572,573,574,575,576,577,578,579,58,580,581,582,583,584,585,586,587,588,589,59,590,591,592,593,594,595,596,597,598,599,6,60,600,601,602,603,604,605,606,607,608,609,61,610,611,612,613,614,615,616,617,618,619,62,620,621,622,623,624,625,626,627,628,629,63,630,631,632,633,634,635,636,637,638,639,64,640,641,642,643,644,645,646,647,648,649,65,650,651,652,653,654,655,656,657,658,659,66,660,661,662,663,664,665,666,667,668,669,67,670,671,672,673,674,675,676,677,678,679,68,680,681,682,683,684,685,686,687,688,689,69,690,691,692,693,694,695,696,697,698,699,7,70,700,701,702,703,704,705,706,707,708,709,71,710,711,712,713,714,715,716,717,718,719,72,720,721,722,723,724,725,726,727,728,729,73,730,731,732,733,734,735,736,737,738,739,74,740,741,742,743,744,745,746,747,748,749,75,750,751,752,753,754,755,756,757,758,759,76,760,761,762,763,764,765,766,767,768,769,77,770,771,772,773,774,775,776,777,778,779,78,780,781,782,783,784,785,786,787,788,789,79,790,791,792,793,794,795,796,797,798,799,8,80,800,801,802,803,804,805,806,807,808,809,81,810,811,812,813,814,815,816,817,818,819,82,820,821,822,823,824,825,826,827,828,829,83,830,831,832,833,834,835,836,837,838,839,84,840,841,842,843,844,845,846,847,848,849,85,850,851,852,853,854,855,856,857,858,859,86,860,861,862,863,864,865,866,867,868,869,87,870,871,872,873,874,875,876,877,878,879,88,880,881,882,883,884,885,886,887,888,889,89,890,891,892,893,894,895,896,897,898,899,9,90,900,901,902,903,904,905,906,907,908,909,91,910,911,912,913,914,915,916,917,918,919,92,920,921,922,923,924,925,926,927,928,929,93,930,931,932,933,934,935,936,937,938,939,94,940,941,942,943,944,945,946,947,948,949,95,950,951,952,953,954,955,956,957,958,959,96,960,961,962,963,964,965,966,967,968,969,97,970,971,972,973,974,975,976,977,978,979,98,980,981,982,983,984,985,986,987,988,989,99,990,991,992,993,994,995,996,997,998,999],\"data\":[[1,true,true,null,-81.400000000000006,1.0,null,null,1.031734,false,100.0,-108.530000000000001,42.189999999999998,-20.449999999999999],[5,true,true,null,701.0,1.0,null,null,1.038476,false,1200.0,400.0,524.529999999999973,-211.569999999999993],[79,true,true,null,43.200000000000003,1.0,null,null,1.068393,false,100.0,28.800000000000001,139.939999999999998,-43.780000000000001],[671,true,true,null,67.0,1.0,null,null,1.02121,false,205.810000000000002,0.0,71.320000000000007,-62.920000000000002],[6178,true,true,null,65.900000000000006,1.0,null,null,1.036613,false,80.0,0.0,35.43,-14.41],[6180,true,true,null,540.0,1.0,null,null,1.000322,false,576.0,192.0,194.930000000000007,-133.97999999999999],[6181,true,true,null,55.799999999999997,1.0,null,null,1.054529,false,120.0,0.0,57.93,-16.699999999999999],[6200,true,true,null,310.400000000000034,1.0,null,null,1.049209,false,400.0,133.330000000000012,178.969999999999999,-66.25],[6203,true,true,null,767.5,1.0,null,null,1.02934,false,1000.0,333.329999999999984,447.129999999999995,-164.560000000000002],[6206,true,true,null,411.800000000000011,1.0,null,null,1.03672,false,600.0,200.0,274.120000000000005,-93.010000000000005],[6232,true,true,null,879.600000000000023,1.0,null,null,1.017658,false,1200.0,400.0,545.680000000000064,-189.969999999999999],[6236,true,true,null,-83.329999999999998,1.0,null,null,1.01301,false,100.0,-111.109999999999999,2.42,-3.65],[6238,true,true,null,5.3,1.0,null,null,1.026501,false,5.32,0.0,2.24,-1.07],[6241,true,true,null,81.299999999999997,1.0,null,null,1.018892,false,120.0,0.0,55.520000000000003,-19.079999999999998],[681,true,true,null,37.399999999999999,1.0,null,null,1.060787,false,80.0,0.0,38.770000000000003,-11.06],[6248,true,true,null,333.199999999999989,1.0,null,null,1.040939,false,400.0,133.330000000000012,177.289999999999992,-68.210000000000008],[6269,true,true,null,450.400000000000034,1.0,null,null,1.02754,false,472.920000000000016,0.0,265.019999999999982,-187.969999999999999],[6278,true,true,null,-32.890000000000001,1.0,null,null,1.008432,false,100.0,-43.850000000000001,38.090000000000003,-11.69],[6279,true,true,null,117.900000000000006,1.0,null,null,1.017343,false,120.0,0.0,51.25,-23.489999999999998],[6283,true,true,null,91.900000000000006,1.0,null,null,1.057119,false,100.0,0.0,42.68,-18.57],[6290,true,true,null,55.5,1.0,null,null,1.036939,false,120.0,0.0,58.119999999999997,-16.600000000000001],[6328,true,true,null,223.400000000000006,1.0,null,null,0.991058,false,300.0,100.0,134.080000000000012,-49.149999999999999],[6330,true,true,null,48.799999999999997,1.0,null,null,1.050971,false,80.0,0.0,37.759999999999998,-12.050000000000001],[6331,true,true,null,96.0,1.0,null,null,1.065904,false,200.0,0.0,96.560000000000002,-27.949999999999999],[6333,true,true,null,66.599999999999994,1.0,null,null,1.005334,false,120.0,0.0,56.240000000000002,-17.359999999999999],[685,true,true,null,-21.649999999999999,1.0,null,null,1.013903,false,100.0,-28.859999999999999,34.75,-34.259999999999998],[6337,true,true,null,29.5,1.0,null,null,1.022507,false,59.979999999999997,0.0,21.920000000000002,-16.859999999999999],[6350,true,true,null,22.079999999999998,1.0,null,null,1.0521,false,80.0,0.0,38.289999999999999,-11.56],[6357,true,true,null,40.789999999999999,1.0,null,null,0.986287,false,80.0,0.0,37.689999999999998,-12.119999999999999],[6365,true,true,null,188.900000000000006,1.0,null,null,1.077817,false,300.0,100.0,139.069999999999993,-44.619999999999998],[6367,true,true,null,-145.300000000000011,1.0,null,null,1.042432,false,100.0,-193.730000000000018,51.109999999999999,-23.460000000000001],[6369,true,true,null,450.400000000000034,1.0,null,null,1.014839,false,538.0,179.330000000000012,279.199999999999989,-177.810000000000002],[6372,true,true,null,-201.0,1.0,null,null,1.04869,false,100.0,-268.0,72.5,-27.059999999999999],[6373,true,true,null,318.400000000000034,1.0,null,null,1.077431,false,400.0,0.0,176.700000000000017,-68.150000000000006],[6375,true,true,null,-27.800000000000001,1.0,null,null,1.044986,false,100.0,-37.07,148.650000000000006,-50.729999999999997],[6402,true,true,null,52.799999999999997,1.0,null,null,1.020309,false,55.439999999999998,0.0,32.130000000000003,-45.869999999999998],[691,true,true,null,274.800000000000011,1.0,null,null,1.059006,false,400.0,133.330000000000012,182.170000000000016,-62.789999999999999],[6409,true,true,null,-57.0,1.0,null,null,1.044406,false,100.0,-76.0,23.719999999999999,-29.989999999999998],[6412,true,true,null,958.200000000000045,1.0,null,null,1.044796,false,1200.0,400.0,537.029999999999973,-198.629999999999996],[6414,true,true,null,310.829999999999984,1.0,null,null,0.983673,false,700.0,200.0,83.579999999999998,-38.780000000000001],[6418,true,true,null,1156.799999999999954,1.0,null,null,1.095905,false,1200.0,400.0,507.579999999999984,-228.200000000000017],[6428,true,true,null,171.0,1.0,null,null,1.035857,false,200.0,0.0,88.829999999999998,-35.689999999999998],[6431,true,true,null,291.199999999999989,1.0,null,null,1.049448,false,400.0,0.0,180.930000000000007,-64.200000000000003],[6433,true,true,null,767.519999999999982,1.0,null,null,1.116905,false,1200.0,400.0,551.330000000000041,-184.72999999999999],[6435,true,true,null,-86.5,1.0,null,null,1.01064,false,100.0,-115.340000000000003,2.26,-1.04],[6447,true,true,null,19.390000000000001,1.0,null,null,1.004995,false,40.0,0.0,18.359999999999999,-6.63],[6457,true,true,null,91.200000000000003,1.0,null,null,1.078056,false,100.0,0.0,43.090000000000003,-18.239999999999998],[696,true,true,null,634.800000000000068,1.0,null,null,1.031719,false,800.0,266.670000000000016,357.400000000000034,-132.75],[6458,true,true,null,77.400000000000006,1.0,null,null,1.005175,false,180.0,0.0,86.170000000000002,-24.25],[6473,true,true,null,718.5,1.0,null,null,1.055298,false,1000.0,333.329999999999984,438.720000000000027,-174.150000000000006],[6482,true,true,null,86.299999999999997,1.0,null,null,1.064876,false,120.0,0.0,55.340000000000003,-19.510000000000002],[6483,true,true,null,1168.799999999999954,1.0,null,null,1.024853,false,1200.0,400.0,508.020000000000039,-227.300000000000011],[6491,true,true,null,304.800000000000011,1.0,null,null,1.004319,false,400.0,133.330000000000012,180.02000000000001,-65.0],[6496,true,true,null,701.600000000000023,1.0,null,null,1.064333,false,800.0,266.670000000000016,348.829999999999984,-141.849999999999994],[6497,true,true,null,187.800000000000011,1.0,null,null,1.019,false,197.189999999999998,0.0,52.649999999999999,-91.350000000000008],[6501,true,true,null,44.990000000000002,1.0,null,null,1.002332,false,80.0,0.0,37.560000000000002,-12.19],[6515,true,true,null,228.200000000000017,1.0,null,null,1.050158,false,280.0,0.0,126.730000000000004,-47.829999999999998],[6517,true,true,null,1254.0,1.0,null,null,0.999167,false,1408.0,469.329999999999984,388.920000000000016,-586.539999999999964],[697,true,true,null,274.800000000000011,1.0,null,null,0.999662,false,300.0,100.0,129.939999999999998,-53.909999999999997],[6524,true,true,null,16.0,1.0,null,null,1.007591,false,16.800000000000001,0.0,6.12,-9.880000000000001],[6551,true,true,null,-204.200000000000017,1.0,null,null,1.045563,false,100.0,-272.269999999999982,37.579999999999998,-12.16],[6586,true,true,null,56.100000000000001,1.0,null,null,1.017615,false,58.909999999999997,0.0,27.23,-38.299999999999997],[6590,true,true,null,209.390000000000015,1.0,null,null,1.040735,false,400.0,133.330000000000012,188.450000000000017,-56.609999999999999],[6593,true,true,null,488.870000000000004,1.0,null,null,1.022988,false,900.0,300.0,414.319999999999993,-137.060000000000002],[6607,true,true,null,-22.07,1.0,null,null,1.019233,false,100.0,-29.43,47.560000000000002,-13.56],[6620,true,true,null,290.300000000000011,1.0,null,null,1.077535,false,300.0,0.0,125.600000000000008,-58.119999999999997],[6625,true,true,null,31.899999999999999,1.0,null,null,1.042091,false,40.0,0.0,18.32,-6.66],[6626,true,true,null,99.5,1.0,null,null,1.064448,false,100.0,33.329999999999998,42.140000000000001,-19.23],[6631,true,true,null,2013.900000000000091,1.0,null,null,1.057948,false,3000.0,1000.0,1378.190000000000055,-459.090000000000032],[708,true,true,null,16.0,1.0,null,null,1.068875,false,65.299999999999997,0.0,22.23,-20.829999999999998],[6640,true,true,null,37.799999999999997,1.0,null,null,1.007887,false,80.0,0.0,38.530000000000001,-11.19],[6653,true,true,null,742.759999999999991,1.0,null,null,1.021829,false,800.0,266.670000000000016,337.04000000000002,-153.259999999999991],[6655,true,true,null,249.0,1.0,null,null,1.021248,false,300.0,0.0,131.879999999999996,-52.240000000000002],[6660,true,true,null,79.900000000000006,1.0,null,null,0.997723,false,100.0,0.0,44.490000000000002,-16.82],[6679,true,true,null,41.409999999999997,1.0,null,null,1.025575,false,60.0,0.0,28.149999999999999,-8.66],[6680,true,true,null,21.300000000000001,1.0,null,null,1.067534,false,108.379999999999995,0.0,36.219999999999999,-35.5],[6702,true,true,null,989.700000000000046,1.0,null,null,1.089943,false,1200.0,400.0,533.980000000000018,-201.870000000000004],[6714,true,true,null,32.799999999999997,1.0,null,null,1.025113,false,40.0,0.0,18.030000000000001,-6.9],[6733,true,true,null,382.699999999999989,1.0,null,null,1.061659,false,720.0,0.0,311.519999999999982,-132.090000000000003],[6735,true,true,null,670.800000000000068,1.0,null,null,1.032666,false,900.0,300.0,405.879999999999996,-144.960000000000008],[710,true,true,null,27.800000000000001,1.0,null,null,1.070147,false,100.0,18.530000000000001,377.009999999999991,-113.629999999999996],[6738,true,true,null,59.399999999999999,1.0,null,null,1.07283,false,80.0,0.0,36.93,-12.970000000000001],[6752,true,true,null,68.200000000000003,1.0,null,null,1.045824,false,80.0,0.0,35.869999999999998,-14.02],[6755,true,true,null,32.200000000000003,1.0,null,null,1.025997,false,60.0,0.0,28.239999999999998,-8.57],[6763,true,true,null,9.9,1.0,null,null,0.99015,false,9.99,0.0,4.21,-2.0],[6777,true,true,null,276.800000000000011,1.0,null,null,1.038013,false,400.0,133.330000000000012,183.400000000000006,-62.020000000000003],[6779,true,true,null,14.5,1.0,null,null,1.074673,false,29.190000000000001,4.86,10.68,-8.06],[6792,true,true,null,32.600000000000001,1.0,null,null,1.049876,false,60.0,0.0,28.210000000000001,-8.609999999999999],[6797,true,true,null,949.700000000000046,1.0,null,null,1.018682,false,1000.0,333.329999999999984,429.610000000000014,-183.47999999999999],[6806,true,true,null,44.07,1.0,null,null,1.025274,false,160.0,0.0,77.140000000000001,-22.460000000000001],[6810,true,true,null,113.900000000000006,1.0,null,null,1.093866,false,200.0,0.0,93.150000000000006,-29.23],[712,true,true,null,99.299999999999997,1.0,null,null,1.034791,false,120.0,0.0,53.979999999999997,-20.789999999999999],[6815,true,true,null,16.530000000000001,1.0,null,null,1.062526,false,160.0,0.0,77.350000000000008,-22.260000000000002],[6819,true,true,null,15.9,1.0,null,null,1.047984,false,32.530000000000001,0.0,11.99,-9.06],[6821,true,true,null,251.0,1.0,null,null,1.039383,false,300.0,0.0,131.810000000000002,-52.359999999999999],[6830,true,true,null,-57.5,1.0,null,null,1.031732,false,100.0,-76.670000000000002,35.619999999999998,-14.25],[6837,true,true,null,578.0,1.0,null,null,1.050849,false,600.0,200.0,255.230000000000018,-112.310000000000002],[6842,true,true,null,60.670000000000002,1.0,null,null,1.013427,false,120.0,0.0,54.68,-19.960000000000001],[6844,true,true,null,102.900000000000006,1.0,null,null,1.045173,false,120.0,0.0,53.240000000000002,-21.469999999999999],[6846,true,true,null,297.699999999999989,1.0,null,null,1.018848,false,400.0,0.0,181.629999999999996,-63.960000000000001],[6849,true,true,null,30.0,1.0,null,null,1.010801,false,31.5,0.0,1.74,-3.18],[6851,true,true,null,-344.900000000000034,1.0,null,null,1.034908,false,100.0,-459.870000000000004,18.559999999999999,-6.34],[713,true,true,null,453.400000000000034,1.0,null,null,1.065017,false,800.0,266.670000000000016,376.360000000000014,-114.079999999999998],[6856,true,true,null,2463.599999999999909,1.0,null,null,1.018722,false,4000.0,1333.329999999999927,1865.829999999999927,-585.950000000000046],[6860,true,true,null,-76.400000000000006,1.0,null,null,1.037118,false,100.0,-101.870000000000004,38.340000000000003,-11.449999999999999],[6863,true,true,null,64.599999999999994,1.0,null,null,1.020438,false,80.0,0.0,36.079999999999998,-13.75],[6867,true,true,null,48.5,1.0,null,null,1.042934,false,50.920000000000002,0.0,23.34,-36.659999999999997],[6873,true,true,null,362.800000000000011,1.0,null,null,1.03371,false,400.0,133.330000000000012,172.420000000000016,-72.850000000000008],[6876,true,true,null,19.800000000000001,1.0,null,null,1.062542,false,100.510000000000005,0.0,33.57,-32.950000000000003],[6887,true,true,null,133.0,1.0,null,null,1.046712,false,300.0,88.670000000000002,189.310000000000002,-59.869999999999998],[6892,true,true,null,306.600000000000023,1.0,null,null,1.002405,false,364.0,121.329999999999998,122.240000000000009,-154.219999999999999],[6899,true,true,null,420.5,1.0,null,null,1.08427,false,500.0,166.670000000000016,218.810000000000002,-87.480000000000004],[6906,true,true,null,520.5,1.0,null,null,1.059798,false,760.0,0.0,327.04000000000002,-146.460000000000008],[106,true,true,null,570.0,1.0,null,null,1.083135,false,600.0,200.0,253.849999999999994,-113.790000000000006],[714,true,true,null,323.100000000000023,1.0,null,null,1.021604,false,366.0,122.0,66.420000000000002,-179.950000000000017],[6909,true,true,null,116.799999999999997,1.0,null,null,1.028742,false,295.829999999999984,0.0,104.799999999999997,-87.090000000000003],[6913,true,true,null,173.400000000000006,1.0,null,null,1.083288,false,200.0,0.0,87.280000000000001,-35.350000000000001],[6919,true,true,null,-9.699999999999999,1.0,null,null,1.008862,false,100.0,-12.93,14.77,-25.23],[6923,true,true,null,131.199999999999989,1.0,null,null,1.02139,false,132.840000000000003,44.280000000000001,56.009999999999998,-25.390000000000001],[6929,true,true,null,98.299999999999997,1.0,null,null,1.047953,false,199.230000000000018,33.210000000000001,72.879999999999996,-55.009999999999998],[6933,true,true,null,-42.68,1.0,null,null,1.059171,false,100.0,-56.909999999999997,28.120000000000001,-8.69],[6935,true,true,null,665.800000000000068,1.0,null,null,1.022407,false,900.0,300.0,388.699999999999989,-162.640000000000015],[6936,true,true,null,156.620000000000004,1.0,null,null,1.025063,false,400.0,100.0,188.150000000000006,-56.960000000000001],[6946,true,true,null,227.5,1.0,null,null,1.049432,false,280.0,0.0,126.090000000000003,-48.289999999999999],[6947,true,true,null,319.199999999999989,1.0,null,null,1.010398,false,400.0,0.0,179.390000000000015,-66.230000000000004],[726,true,true,null,384.259999999999991,1.0,null,null,1.070143,false,800.0,266.670000000000016,379.610000000000014,-111.090000000000003],[6949,true,true,null,10.6,1.0,null,null,1.020998,false,31.5,0.0,11.699999999999999,-14.0],[6966,true,true,null,269.0,1.0,null,null,1.065194,false,400.0,133.330000000000012,184.530000000000001,-60.729999999999997],[6968,true,true,null,39.799999999999997,1.0,null,null,1.069563,false,80.0,0.0,38.530000000000001,-11.27],[6981,true,true,null,-12.6,1.0,null,null,1.039641,false,100.0,-16.800000000000001,56.219999999999999,-18.440000000000001],[6992,true,true,null,152.189999999999998,1.0,null,null,1.069361,false,200.0,0.0,89.689999999999998,-33.049999999999997],[6998,true,true,null,1780.900000000000091,1.0,null,null,1.083106,false,2000.0,666.669999999999959,862.050000000000068,-363.970000000000027],[7007,true,true,null,862.0,1.0,null,null,1.04776,false,960.0,0.0,401.300000000000011,-186.610000000000014],[7024,true,true,null,-199.599999999999994,1.0,null,null,1.027158,false,100.0,-266.129999999999995,17.59,-7.34],[7026,true,true,null,77.299999999999997,1.0,null,null,1.043049,false,400.0,0.0,175.509999999999991,-73.700000000000003],[7027,true,true,null,438.5,1.0,null,null,1.031022,false,500.0,166.670000000000016,219.319999999999993,-87.680000000000007],[727,true,true,null,70.799999999999997,1.0,null,null,1.030375,false,74.280000000000001,0.0,35.729999999999997,-44.310000000000002],[7028,true,true,null,1152.700000000000046,1.0,null,null,1.058412,false,1200.0,400.0,507.730000000000018,-226.730000000000018],[7031,true,true,null,204.0,1.0,null,null,1.004806,false,214.200000000000017,0.0,131.740000000000009,-71.570000000000007],[7032,true,true,null,182.879999999999996,1.0,null,null,1.098728,false,400.0,133.330000000000012,190.439999999999998,-54.850000000000001],[7035,true,true,null,65.799999999999997,1.0,null,null,1.038394,false,80.0,0.0,36.159999999999997,-13.720000000000001],[7048,true,true,null,55.5,1.0,null,null,1.052472,false,120.0,0.0,58.18,-16.559999999999999],[7055,true,true,null,448.850000000000023,1.0,null,null,1.000187,false,600.0,200.0,267.360000000000014,-100.980000000000004],[7057,true,true,null,50.399999999999999,1.0,null,null,1.040913,false,80.0,0.0,37.590000000000003,-12.199999999999999],[7062,true,true,null,423.199999999999989,1.0,null,null,1.059581,false,500.0,166.670000000000016,220.659999999999997,-85.890000000000001],[7064,true,true,null,199.5,1.0,null,null,1.019881,false,300.0,100.0,136.870000000000004,-46.68],[7074,true,true,null,-49.369999999999997,1.0,null,null,1.019093,false,100.0,-65.829999999999998,13.41,-11.890000000000001],[734,true,true,null,170.0,1.0,null,null,1.026593,false,178.5,0.0,89.939999999999998,-122.060000000000002],[7084,true,true,null,292.800000000000011,1.0,null,null,1.044403,false,300.0,0.0,126.930000000000007,-57.119999999999997],[7088,true,true,null,-178.800000000000011,1.0,null,null,1.081026,false,100.0,-238.400000000000006,38.350000000000001,-11.44],[7092,true,true,null,119.200000000000003,1.0,null,null,1.03985,false,200.0,0.0,93.140000000000001,-29.420000000000002],[7103,true,true,null,234.200000000000017,1.0,null,null,1.002634,false,300.0,100.0,133.02000000000001,-50.289999999999999],[7106,true,true,null,9.5,1.0,null,null,1.040026,false,100.0,6.33,177.439999999999998,-67.549999999999997],[7112,true,true,null,159.800000000000011,1.0,null,null,1.033847,false,167.789999999999992,0.0,71.210000000000008,-63.880000000000002],[7113,true,true,null,-207.099999999999994,1.0,null,null,1.083134,false,100.0,-276.129999999999995,54.380000000000003,-20.350000000000001],[7114,true,true,null,65.870000000000004,1.0,null,null,1.026738,false,272.28000000000003,0.0,95.060000000000002,-83.340000000000003],[7127,true,true,null,490.0,1.0,null,null,1.007918,false,790.0,263.329999999999984,251.349999999999994,-126.570000000000007],[7133,true,true,null,73.299999999999997,1.0,null,null,1.039671,false,94.5,0.0,37.420000000000002,-50.579999999999998],[737,true,true,null,90.790000000000006,1.0,null,null,1.033376,false,311.389999999999986,34.600000000000001,107.859999999999999,-95.150000000000006],[7136,true,true,null,876.399999999999977,1.0,null,null,1.024472,false,1200.0,400.0,516.029999999999973,-219.170000000000016],[7152,true,true,null,13.48,1.0,null,null,1.034539,false,40.0,0.0,17.609999999999999,-7.31],[7158,true,true,null,861.300000000000068,1.0,null,null,1.055132,false,1000.0,333.329999999999984,441.04000000000002,-172.050000000000011],[7165,true,true,null,54.659999999999997,1.0,null,null,1.002006,false,120.0,0.0,55.109999999999999,-19.649999999999999],[7168,true,true,null,56.399999999999999,1.0,null,null,1.087809,false,80.0,0.0,37.060000000000002,-12.77],[7182,true,true,null,1250.600000000000136,1.0,null,null,1.104721,false,2000.0,666.669999999999959,926.470000000000027,-297.629999999999996],[7199,true,true,null,177.080000000000012,1.0,null,null,1.022531,false,200.0,0.0,86.180000000000007,-38.609999999999999],[7206,true,true,null,119.200000000000003,1.0,null,null,1.039936,false,200.0,0.0,93.140000000000001,-29.420000000000002],[7208,true,true,null,7.3,1.0,null,null,1.049275,false,7.35,0.0,3.12,-1.46],[7211,true,true,null,66.299999999999997,1.0,null,null,1.021331,false,202.700000000000017,0.0,70.219999999999999,-62.020000000000003],[738,true,true,null,465.699999999999989,1.0,null,null,1.035442,false,500.0,166.670000000000016,212.969999999999999,-93.450000000000003],[7213,true,true,null,359.100000000000023,1.0,null,null,1.0752,false,400.0,133.330000000000012,174.75,-70.609999999999999],[7222,true,true,null,49.0,1.0,null,null,1.018777,false,51.619999999999998,0.0,41.590000000000003,-54.409999999999997],[7226,true,true,null,650.0,1.0,null,null,1.008346,false,730.0,243.330000000000012,279.660000000000025,-234.090000000000003],[7227,true,true,null,524.899999999999977,1.0,null,null,1.172784,false,800.0,266.670000000000016,370.350000000000023,-120.320000000000007],[7237,true,true,null,-16.800000000000001,1.0,null,null,1.019781,false,100.0,-22.399999999999999,92.989999999999995,-82.060000000000002],[7249,true,true,null,19.579999999999998,1.0,null,null,1.041313,false,40.0,0.0,17.260000000000002,-7.7],[7256,true,true,null,21.300000000000001,1.0,null,null,1.023182,false,107.290000000000006,0.0,35.770000000000003,-35.229999999999997],[7259,true,true,null,32.0,1.0,null,null,1.020734,false,32.700000000000003,10.9,13.73,-6.28],[7266,true,true,null,-39.700000000000003,1.0,null,null,1.006635,false,100.0,-52.93,89.840000000000003,-34.840000000000003],[7269,true,true,null,766.800000000000068,1.0,null,null,1.063771,false,900.0,300.0,394.860000000000014,-156.120000000000005],[748,true,true,null,198.879999999999996,1.0,null,null,1.053546,false,240.0,0.0,105.689999999999998,-43.840000000000003],[7277,true,true,null,354.699999999999989,1.0,null,null,1.063694,false,400.0,133.330000000000012,174.009999999999991,-71.049999999999997],[7278,true,true,null,-681.700000000000046,1.0,null,null,1.02664,false,100.0,-908.930000000000064,14.779999999999999,-6.64],[7280,true,true,null,460.5,1.0,null,null,1.020691,false,673.720000000000027,0.0,318.740000000000009,-349.160000000000025],[7281,true,true,null,2340.400000000000091,1.0,null,null,1.029197,false,4000.0,1333.329999999999927,1862.289999999999964,-588.159999999999968],[7292,true,true,null,-64.700000000000003,1.0,null,null,1.029739,false,100.0,-86.269999999999996,37.710000000000001,-12.119999999999999],[7302,true,true,null,856.399999999999977,1.0,null,null,1.026431,false,900.0,300.0,384.340000000000032,-167.039999999999992],[7326,true,true,null,59.060000000000002,1.0,null,null,1.046207,false,160.0,0.0,76.109999999999999,-23.620000000000001],[7327,true,true,null,53.0,1.0,null,null,0.98954,false,80.0,0.0,37.450000000000003,-12.390000000000001],[7328,true,true,null,62.799999999999997,1.0,null,null,1.037608,false,80.0,0.0,36.259999999999998,-13.550000000000001],[7329,true,true,null,399.0,1.0,null,null,1.166291,false,401.009999999999991,133.670000000000016,167.110000000000014,-77.810000000000002],[750,true,true,null,65.900000000000006,1.0,null,null,1.020488,false,300.0,0.0,136.939999999999998,-47.240000000000002],[7330,true,true,null,32.100000000000001,1.0,null,null,1.064241,false,40.0,0.0,18.120000000000001,-6.81],[7336,true,true,null,30.600000000000001,1.0,null,null,1.015107,false,32.130000000000003,0.0,32.439999999999998,-14.31],[7349,true,true,null,165.599999999999994,1.0,null,null,1.027675,false,174.039999999999992,0.0,75.310000000000002,-122.689999999999998],[7358,true,true,null,116.799999999999997,1.0,null,null,1.046487,false,120.0,0.0,51.0,-22.789999999999999],[7362,true,true,null,-134.800000000000011,1.0,null,null,1.005537,false,100.0,-179.72999999999999,33.960000000000001,-38.990000000000002],[7369,true,true,null,-22.300000000000001,1.0,null,null,1.034338,false,100.0,-29.73,3.56,-2.33],[7375,true,true,null,80.400000000000006,1.0,null,null,1.041198,false,120.0,0.0,56.18,-18.620000000000001],[7382,true,true,null,100.600000000000008,1.0,null,null,1.011076,false,101.400000000000006,33.799999999999997,42.539999999999999,-19.539999999999999],[7385,true,true,null,124.0,1.0,null,null,1.023477,false,130.199999999999989,0.0,42.609999999999999,-69.390000000000001],[7392,true,true,null,-8.75,1.0,null,null,1.057049,false,100.0,-11.66,34.079999999999998,-29.870000000000001],[756,true,true,null,116.700000000000003,1.0,null,null,1.013994,false,120.0,0.0,51.299999999999997,-23.41],[7400,true,true,null,242.400000000000006,1.0,null,null,1.018508,false,300.0,0.0,134.009999999999991,-50.149999999999999],[7407,true,true,null,1485.200000000000045,1.0,null,null,1.010858,false,1804.0,601.330000000000041,408.240000000000009,-347.259999999999991],[7426,true,true,null,856.399999999999977,1.0,null,null,1.072596,false,1600.0,533.330000000000041,752.610000000000014,-226.420000000000016],[7428,true,true,null,159.800000000000011,1.0,null,null,1.011339,false,180.0,60.0,77.0,-59.369999999999997],[7430,true,true,null,735.600000000000023,1.0,null,null,1.016271,false,900.0,300.0,399.879999999999996,-151.379999999999995],[7431,true,true,null,49.600000000000001,1.0,null,null,1.040989,false,80.0,0.0,37.649999999999999,-12.140000000000001],[7445,true,true,null,13.300000000000001,1.0,null,null,1.008326,false,40.960000000000001,0.0,14.279999999999999,-12.550000000000001],[7464,true,true,null,-7.55,1.0,null,null,1.012708,false,100.0,-10.07,27.690000000000001,-9.109999999999999],[7465,true,true,null,-202.530000000000001,1.0,null,null,1.060565,false,100.0,-270.04000000000002,75.850000000000008,-77.060000000000002],[7473,true,true,null,76.5,1.0,null,null,1.035524,false,120.0,0.0,56.270000000000003,-18.41],[762,true,true,null,37.299999999999997,1.0,null,null,1.042899,false,60.0,0.0,27.879999999999999,-8.970000000000001],[7489,true,true,null,-2.2,1.0,null,null,1.097048,false,100.0,-2.93,83.0,-39.420000000000002],[7494,true,true,null,75.799999999999997,1.0,null,null,1.031216,false,200.0,50.530000000000001,214.230000000000018,-59.770000000000003],[7497,true,true,null,-108.900000000000006,1.0,null,null,1.000261,false,100.0,-145.200000000000017,17.850000000000001,-28.260000000000002],[7498,true,true,null,47.799999999999997,1.0,null,null,0.999526,false,100.0,31.870000000000001,90.310000000000002,-32.289999999999999],[7503,true,true,null,5.2,1.0,null,null,1.015325,false,5.3,0.0,2.24,-1.05],[7507,true,true,null,715.100000000000023,1.0,null,null,1.058554,false,900.0,300.0,402.150000000000034,-149.170000000000016],[7519,true,true,null,702.399999999999977,1.0,null,null,1.027003,false,800.0,266.670000000000016,350.360000000000014,-140.72999999999999],[7521,true,true,null,508.0,1.0,null,null,0.995659,false,800.0,266.670000000000016,371.110000000000014,-119.670000000000002],[7557,true,true,null,-75.5,1.0,null,null,1.005058,false,100.0,-100.670000000000002,6.35,-7.49],[7567,true,true,null,100.799999999999997,1.0,null,null,1.043388,false,120.0,0.0,53.399999999999999,-21.260000000000002],[122,true,true,null,24.899999999999999,1.0,null,null,1.041503,false,40.0,0.0,18.84,-6.06],[763,true,true,null,138.300000000000011,1.0,null,null,1.048246,false,400.0,133.330000000000012,174.170000000000016,-71.120000000000005],[7606,true,true,null,166.090000000000003,1.0,null,null,1.054831,false,280.0,0.0,131.890000000000015,-42.619999999999998],[7615,true,true,null,375.800000000000011,1.0,null,null,1.131608,false,600.0,200.0,276.990000000000009,-89.879999999999996],[7618,true,true,null,115.799999999999997,1.0,null,null,1.037789,false,120.0,0.0,51.090000000000003,-22.690000000000001],[7626,true,true,null,261.970000000000027,1.0,null,null,1.054377,false,400.0,133.330000000000012,180.610000000000014,-64.060000000000002],[7627,true,true,null,243.0,1.0,null,null,1.064136,false,300.0,100.0,133.780000000000001,-50.039999999999999],[7629,true,true,null,33.090000000000003,1.0,null,null,1.017306,false,131.819999999999993,0.0,45.850000000000001,-40.5],[7638,true,true,null,-72.700000000000003,1.0,null,null,1.016695,false,100.0,-96.930000000000007,27.789999999999999,-9.029999999999999],[7640,true,true,null,769.200000000000045,1.0,null,null,1.049265,false,880.0,200.0,378.20999999999998,-162.349999999999994],[7644,true,true,null,-95.799999999999997,1.0,null,null,1.028371,false,100.0,-127.730000000000004,5.32,-6.47],[7655,true,true,null,101.600000000000008,1.0,null,null,1.013707,false,312.340000000000032,34.700000000000003,108.469999999999999,-95.180000000000007],[764,true,true,null,170.700000000000017,1.0,null,null,1.017174,false,180.0,0.0,76.760000000000005,-33.840000000000003],[7656,true,true,null,378.0,1.0,null,null,1.129049,false,400.0,133.330000000000012,172.409999999999997,-72.989999999999995],[7658,true,true,null,-39.5,1.0,null,null,1.029603,false,100.0,-52.670000000000002,74.700000000000003,-24.780000000000001],[7660,true,true,null,168.599999999999994,1.0,null,null,1.037591,false,180.0,0.0,76.75,-33.789999999999999],[7669,true,true,null,-30.870000000000001,1.0,null,null,1.005135,false,100.0,-41.159999999999997,28.050000000000001,-8.67],[7670,true,true,null,285.100000000000023,1.0,null,null,1.080257,false,400.0,133.330000000000012,182.950000000000017,-62.329999999999998],[7675,true,true,null,46.600000000000001,1.0,null,null,1.074322,false,80.0,0.0,38.030000000000001,-11.81],[7680,true,true,null,330.060000000000002,1.0,null,null,1.052405,false,400.0,0.0,176.180000000000007,-73.310000000000002],[7682,true,true,null,40.5,1.0,null,null,1.038382,false,42.5,0.0,24.039999999999999,-31.960000000000001],[7686,true,true,null,-40.200000000000003,1.0,null,null,1.043409,false,100.0,-53.600000000000001,38.0,-11.94],[7696,true,true,null,228.200000000000017,1.0,null,null,1.050111,false,280.0,0.0,126.730000000000004,-47.829999999999998],[773,true,true,null,134.400000000000006,1.0,null,null,1.038992,false,141.120000000000005,0.0,81.570000000000007,-60.740000000000002],[7706,true,true,null,-93.900000000000006,1.0,null,null,1.042135,false,100.0,-125.200000000000003,38.670000000000002,-11.109999999999999],[7717,true,true,null,348.0,1.0,null,null,1.008757,false,400.0,133.330000000000012,173.909999999999997,-71.219999999999999],[7727,true,true,null,420.0,1.0,null,null,1.008042,false,472.0,157.330000000000012,193.140000000000015,-153.189999999999998],[7736,true,true,null,24.260000000000002,1.0,null,null,1.061861,false,80.0,0.0,36.899999999999999,-13.0],[7741,true,true,null,-18.640000000000001,1.0,null,null,1.016237,false,100.0,-24.859999999999999,19.100000000000001,-5.74],[7742,true,true,null,229.599999999999994,1.0,null,null,1.011249,false,240.0,0.0,97.379999999999995,-49.100000000000001],[7754,true,true,null,6.3,1.0,null,null,1.058479,false,12.9,0.0,4.78,-3.57],[7757,true,true,null,382.800000000000011,1.0,null,null,1.059721,false,440.0,0.0,195.300000000000011,-78.829999999999998],[7758,true,true,null,1425.100000000000136,1.0,null,null,1.17759,false,1600.0,400.0,700.159999999999968,-281.590000000000032],[7760,true,true,null,106.799999999999997,1.0,null,null,1.012378,false,120.0,0.0,52.75,-21.969999999999999],[775,true,true,null,-111.400000000000006,1.0,null,null,1.023986,false,100.0,-148.530000000000001,18.16,-6.73],[7775,true,true,null,1221.200000000000045,1.0,null,null,1.077614,false,2000.0,666.669999999999959,934.730000000000018,-291.519999999999982],[7778,true,true,null,345.199999999999989,1.0,null,null,1.0806,false,600.0,200.0,281.920000000000016,-85.820000000000007],[7784,true,true,null,212.400000000000006,1.0,null,null,1.048533,false,240.0,0.0,105.850000000000008,-43.630000000000002],[7797,true,true,null,47.600000000000001,1.0,null,null,1.015906,false,80.0,0.0,37.780000000000001,-11.99],[7799,true,true,null,76.489999999999995,1.0,null,null,1.005948,false,120.0,0.0,55.020000000000003,-19.59],[7807,true,true,null,1250.400000000000091,1.0,null,null,1.050047,false,2000.0,666.669999999999959,926.350000000000023,-297.680000000000007],[7818,true,true,null,25.600000000000001,1.0,null,null,1.018324,false,51.539999999999999,0.0,18.899999999999999,-14.44],[7832,true,true,null,15.5,1.0,null,null,1.015416,false,240.0,0.0,106.769999999999996,-42.810000000000002],[7834,true,true,null,23.5,1.0,null,null,1.037848,false,180.0,0.0,81.409999999999997,-29.170000000000002],[7835,true,true,null,14.9,1.0,null,null,0.997593,false,15.220000000000001,0.0,6.39,-3.07],[777,true,true,null,16.5,1.0,null,null,1.047837,false,33.579999999999998,0.0,12.369999999999999,-9.359999999999999],[7841,true,true,null,165.0,1.0,null,null,1.014075,false,200.0,0.0,90.079999999999998,-34.560000000000002],[7842,true,true,null,390.400000000000034,1.0,null,null,1.056109,false,400.0,0.0,170.140000000000015,-75.460000000000008],[7853,true,true,null,4.8,1.0,null,null,1.018633,false,100.0,3.2,175.289999999999992,-68.950000000000003],[7859,true,true,null,397.0,1.0,null,null,1.054905,false,800.0,266.670000000000016,380.360000000000014,-109.909999999999997],[7879,true,true,null,436.0,1.0,null,null,1.024905,false,500.0,166.670000000000016,217.180000000000007,-89.219999999999999],[7889,true,true,null,-99.0,1.0,null,null,1.05789,false,100.0,-132.0,18.760000000000002,-6.17],[7893,true,true,null,150.099999999999994,1.0,null,null,1.044899,false,167.789999999999992,0.0,73.030000000000001,-57.420000000000002],[7895,true,true,null,216.800000000000011,1.0,null,null,1.054626,false,320.0,0.0,149.300000000000011,-50.090000000000003],[7912,true,true,null,1368.600000000000136,1.0,null,null,1.0583,false,2000.0,666.669999999999959,920.409999999999968,-305.579999999999984],[7925,true,true,null,-157.200000000000017,1.0,null,null,1.033819,false,100.0,-209.599999999999994,35.82,-48.350000000000001],[778,true,true,null,37.799999999999997,1.0,null,null,1.039304,false,45.0,0.0,17.34,-7.58],[7928,true,true,null,1101.5,1.0,null,null,1.044801,false,1600.0,533.330000000000041,698.07000000000005,-282.170000000000016],[7933,true,true,null,207.900000000000006,1.0,null,null,1.090866,false,300.0,0.0,136.030000000000001,-47.549999999999997],[7939,true,true,null,411.800000000000011,1.0,null,null,1.036846,false,600.0,200.0,274.120000000000005,-93.010000000000005],[7948,true,true,null,75.600000000000008,1.0,null,null,1.033042,false,79.379999999999995,0.0,43.130000000000003,-54.75],[7952,true,true,null,-175.700000000000017,1.0,null,null,1.067896,false,100.0,-234.27000000000001,282.78000000000003,-84.170000000000002],[7959,true,true,null,419.0,1.0,null,null,1.017582,false,600.0,200.0,274.199999999999989,-93.219999999999999],[7963,true,true,null,144.400000000000006,1.0,null,null,1.005985,false,151.599999999999994,0.0,74.879999999999996,-53.810000000000002],[7978,true,true,null,1637.100000000000136,1.0,null,null,1.064388,false,3200.0,1066.670000000000073,1487.059999999999945,-470.650000000000034],[7982,true,true,null,189.300000000000011,1.0,null,null,1.014534,false,324.870000000000004,0.0,186.319999999999993,-199.719999999999999],[7994,true,true,null,60.0,1.0,null,null,1.024627,false,63.0,0.0,23.0,-36.990000000000002],[779,true,true,null,50.799999999999997,1.0,null,null,1.001975,false,80.0,0.0,37.43,-12.32],[7997,true,true,null,811.800000000000068,1.0,null,null,1.046131,false,900.0,300.0,391.569999999999993,-160.950000000000017],[8035,true,true,null,-4.64,1.0,null,null,1.029729,false,100.0,-6.19,28.199999999999999,-8.630000000000001],[8042,true,true,null,-27.0,1.0,null,null,1.058234,false,100.0,-36.0,75.670000000000002,-23.960000000000001],[8043,true,true,null,337.600000000000023,1.0,null,null,1.041629,false,600.0,200.0,281.629999999999996,-85.710000000000008],[8044,true,true,null,7.4,1.0,null,null,1.023558,false,10.98,0.0,4.64,-2.19],[8064,true,true,null,399.400000000000034,1.0,null,null,1.059118,false,600.0,200.0,276.939999999999998,-90.75],[8065,true,true,null,-188.900000000000006,1.0,null,null,1.011708,false,100.0,-251.870000000000004,10.73,-9.529999999999999],[8084,true,true,null,94.600000000000008,1.0,null,null,1.020835,false,99.219999999999999,0.0,30.239999999999998,-49.759999999999998],[8086,true,true,null,322.120000000000005,1.0,null,null,1.027752,false,420.0,0.0,177.219999999999999,-80.269999999999996],[8095,true,true,null,46.899999999999999,1.0,null,null,1.065973,false,80.0,0.0,37.659999999999997,-12.140000000000001],[790,true,true,null,569.740000000000009,1.0,null,null,1.052091,false,1200.0,400.0,567.629999999999996,-167.47999999999999],[8100,true,true,null,76.299999999999997,1.0,null,null,1.059601,false,461.310000000000002,0.0,151.599999999999994,-153.819999999999993],[8104,true,true,null,22.5,1.0,null,null,1.013571,false,23.620000000000001,0.0,4.1,-1.77],[8108,true,true,null,992.0,1.0,null,null,1.059636,false,1041.599999999999909,0.0,99999.0,-99999.0],[8115,true,true,null,110.5,1.0,null,null,1.035167,false,326.650000000000034,0.0,155.0,-154.689999999999998],[8116,true,true,null,962.420000000000073,1.0,null,null,1.032328,false,1200.0,400.0,525.090000000000032,-210.370000000000005],[8118,true,true,null,75.799999999999997,1.0,null,null,1.073486,false,80.0,0.0,34.530000000000001,-15.279999999999999],[8122,true,true,null,57.399999999999999,1.0,null,null,1.009241,false,80.0,0.0,36.829999999999998,-12.960000000000001],[8133,true,true,null,56.799999999999997,1.0,null,null,1.008958,false,80.0,0.0,36.869999999999998,-12.91],[8135,true,true,null,-60.600000000000001,1.0,null,null,1.028389,false,100.0,-80.799999999999997,4.32,-4.6],[8155,true,true,null,178.0,1.0,null,null,1.075225,false,200.0,66.670000000000002,87.430000000000007,-35.390000000000001],[794,true,true,null,58.399999999999999,1.0,null,null,1.041931,false,80.0,0.0,36.75,-13.039999999999999],[8156,true,true,null,314.0,1.0,null,null,1.045038,false,400.0,133.330000000000012,179.340000000000003,-66.099999999999994],[8157,true,true,null,153.0,1.0,null,null,1.051259,false,200.0,0.0,91.670000000000002,-33.009999999999998],[8158,true,true,null,698.600000000000023,1.0,null,null,1.060727,false,709.870000000000004,236.620000000000004,291.70999999999998,-137.409999999999997],[8184,true,true,null,116.799999999999997,1.0,null,null,1.028753,false,294.350000000000023,0.0,104.189999999999998,-86.739999999999995],[8186,true,true,null,386.04000000000002,1.0,null,null,1.0215,false,500.0,166.670000000000016,219.099999999999994,-87.909999999999997],[8202,true,true,null,-83.200000000000003,1.0,null,null,1.008878,false,100.0,-110.930000000000007,105.010000000000005,-96.060000000000002],[8206,true,true,null,1.75,1.0,null,null,1.029137,false,207.27000000000001,0.0,70.170000000000002,-66.450000000000003],[8209,true,true,null,1321.700000000000046,1.0,null,null,1.044939,false,1600.0,533.330000000000041,709.440000000000055,-271.310000000000002],[8211,true,true,null,49.799999999999997,1.0,null,null,1.009223,false,80.0,0.0,37.479999999999997,-12.26],[8214,true,true,null,103.799999999999997,1.0,null,null,1.031215,false,120.0,0.0,52.210000000000001,-21.449999999999999],[795,true,true,null,31.600000000000001,1.0,null,null,1.01604,false,80.0,0.0,39.0,-10.74],[8217,true,true,null,82.0,1.0,null,null,1.013588,false,86.100000000000009,0.0,32.039999999999999,-29.68],[8221,true,true,null,66.799999999999997,1.0,null,null,1.013304,false,80.0,0.0,35.759999999999998,-14.050000000000001],[8222,true,true,null,401.0,1.0,null,null,1.056121,false,600.0,200.0,276.810000000000002,-90.879999999999996],[8224,true,true,null,17.0,1.0,null,null,1.062685,false,40.0,0.0,19.489999999999998,-5.42],[8226,true,true,null,483.0,1.0,null,null,1.022197,false,558.0,186.0,192.450000000000017,-305.550000000000011],[8239,true,true,null,-15.640000000000001,1.0,null,null,1.056841,false,100.0,-20.850000000000001,36.340000000000003,-35.590000000000003],[8241,true,true,null,358.360000000000014,1.0,null,null,1.010793,false,420.0,0.0,177.810000000000002,-79.930000000000007],[8246,true,true,null,253.400000000000006,1.0,null,null,1.055867,false,360.0,0.0,164.300000000000011,-56.850000000000001],[8251,true,true,null,320.600000000000023,1.0,null,null,1.02226,false,400.0,133.330000000000012,178.090000000000003,-67.320000000000007],[8266,true,true,null,203.400000000000006,1.0,null,null,1.042576,false,240.0,0.0,106.840000000000003,-42.560000000000002],[123,true,true,null,861.300000000000068,1.0,null,null,1.077112,false,1000.0,333.329999999999984,440.319999999999993,-172.590000000000003],[802,true,true,null,-89.200000000000003,1.0,null,null,1.04662,false,100.0,-118.930000000000007,74.030000000000001,-25.539999999999999],[8268,true,true,null,12.890000000000001,1.0,null,null,1.039628,false,40.0,0.0,18.940000000000001,-6.0],[8277,true,true,null,97.200000000000003,1.0,null,null,1.005256,false,120.0,0.0,53.880000000000002,-20.800000000000001],[8296,true,true,null,87.200000000000003,1.0,null,null,1.024007,false,91.560000000000002,0.0,41.329999999999998,-61.530000000000001],[8303,true,true,null,411.800000000000011,1.0,null,null,1.036714,false,600.0,200.0,274.120000000000005,-93.010000000000005],[8310,true,true,null,-8.75,1.0,null,null,1.041866,false,100.0,-11.66,17.800000000000001,-7.13],[8311,true,true,null,1702.200000000000045,1.0,null,null,1.075986,false,2400.0,800.0,1096.329999999999927,-374.639999999999986],[8316,true,true,null,1485.200000000000045,1.0,null,null,1.000913,false,1804.0,601.330000000000041,402.460000000000036,-352.300000000000011],[8339,true,true,null,95.049999999999997,1.0,null,null,1.020459,false,160.0,0.0,72.469999999999999,-27.109999999999999],[8361,true,true,null,407.0,1.0,null,null,1.047632,false,440.0,0.0,192.700000000000017,-81.590000000000003],[8370,true,true,null,242.0,1.0,null,null,1.107597,false,400.0,133.330000000000012,185.659999999999997,-59.079999999999998],[806,true,true,null,1597.5,1.0,null,null,1.053518,false,2000.0,666.669999999999959,864.470000000000027,-360.970000000000027],[8374,true,true,null,459.199999999999989,1.0,null,null,1.024751,false,480.0,0.0,203.219999999999999,-91.519999999999996],[8376,true,true,null,163.22999999999999,1.0,null,null,1.011199,false,300.0,100.0,136.039999999999992,-48.100000000000001],[8377,true,true,null,33.799999999999997,1.0,null,null,1.020496,false,40.0,0.0,17.780000000000001,-7.11],[8382,true,true,null,331.0,1.0,null,null,1.008495,false,500.0,166.670000000000016,225.360000000000014,-79.489999999999995],[8383,true,true,null,-35.799999999999997,1.0,null,null,1.051363,false,100.0,-47.729999999999997,24.27,-4.24],[8397,true,true,null,61.780000000000001,1.0,null,null,1.034241,false,82.320000000000007,0.0,34.159999999999997,-15.710000000000001],[8400,true,true,null,414.970000000000027,1.0,null,null,1.074893,false,800.0,266.670000000000016,377.629999999999996,-112.990000000000009],[8412,true,true,null,379.199999999999989,1.0,null,null,1.031312,false,400.0,133.330000000000012,171.009999999999991,-74.430000000000007],[8414,true,true,null,425.0,1.0,null,null,1.082292,false,500.0,166.670000000000016,218.069999999999993,-88.180000000000007],[8426,true,true,null,50.0,1.0,null,null,1.012295,false,80.0,0.0,37.609999999999999,-12.19],[812,true,true,null,505.600000000000023,1.0,null,null,1.037003,false,602.0,200.670000000000016,309.079999999999984,-290.930000000000007],[8432,true,true,null,1.2,1.0,null,null,1.055181,false,100.0,0.8,380.550000000000011,-109.049999999999997],[8450,true,true,null,57.200000000000003,1.0,null,null,0.998015,false,80.0,0.0,37.149999999999999,-12.73],[8457,true,true,null,517.100000000000023,1.0,null,null,1.042019,false,1000.0,333.329999999999984,474.420000000000016,-138.490000000000009],[8463,true,true,null,194.599999999999994,1.0,null,null,1.080213,false,200.0,66.670000000000002,84.609999999999999,-38.079999999999998],[8472,true,true,null,-135.0,1.0,null,null,1.038343,false,100.0,-180.0,90.210000000000008,-34.450000000000003],[8473,true,true,null,592.440000000000055,1.0,null,null,1.093709,false,800.0,266.670000000000016,356.660000000000025,-133.719999999999999],[8480,true,true,null,61.479999999999997,1.0,null,null,1.035652,false,120.0,0.0,55.640000000000001,-18.93],[8485,true,true,null,78.799999999999997,1.0,null,null,1.043845,false,80.0,0.0,34.159999999999997,-15.67],[8514,true,true,null,32.299999999999997,1.0,null,null,1.059651,false,200.0,0.0,93.030000000000001,-31.43],[8517,true,true,null,44.799999999999997,1.0,null,null,1.031547,false,47.039999999999999,0.0,28.59,-37.409999999999997],[822,true,true,null,1274.200000000000045,1.0,null,null,1.039055,false,2000.0,666.669999999999959,926.680000000000064,-298.310000000000002],[8521,true,true,null,-75.689999999999998,1.0,null,null,1.027564,false,100.0,-100.920000000000002,3.61,-1.69],[8530,true,true,null,194.800000000000011,1.0,null,null,1.019991,false,200.0,66.670000000000002,83.350000000000008,-39.079999999999998],[8531,true,true,null,-697.25,1.0,null,null,1.032486,false,100.0,-929.670000000000073,99999.0,-99999.0],[8552,true,true,null,2486.5,1.0,null,null,1.077556,false,4000.0,1266.670000000000073,1851.269999999999982,-596.860000000000014],[8563,true,true,null,-65.0,1.0,null,null,1.01667,false,100.0,-86.670000000000002,51.909999999999997,-22.859999999999999],[8568,true,true,null,296.800000000000011,1.0,null,null,1.038006,false,400.0,133.330000000000012,181.240000000000009,-64.189999999999998],[8575,true,true,null,-1.0,1.0,null,null,1.017525,false,100.0,-1.33,12.68,-5.9],[8585,true,true,null,34.780000000000001,1.0,null,null,1.002287,false,80.0,0.0,37.75,-12.039999999999999],[8590,true,true,null,342.490000000000009,1.0,null,null,1.06486,false,600.0,200.0,278.840000000000032,-87.969999999999999],[8602,true,true,null,205.200000000000017,1.0,null,null,1.022771,false,240.0,0.0,106.870000000000004,-42.619999999999998],[827,true,true,null,55.899999999999999,1.0,null,null,1.044382,false,58.700000000000003,0.0,20.870000000000001,-22.43],[8604,true,true,null,427.0,1.0,null,null,1.005953,false,600.0,200.0,273.939999999999998,-93.650000000000006],[8607,true,true,null,285.0,1.0,null,null,1.033413,false,500.0,166.670000000000016,233.650000000000006,-72.590000000000003],[8609,true,true,null,-182.090000000000003,1.0,null,null,1.056933,false,100.0,-242.780000000000001,224.700000000000017,-70.310000000000002],[8610,true,true,null,-22.190000000000001,1.0,null,null,1.024775,false,100.0,-29.579999999999998,46.840000000000003,-14.41],[8621,true,true,null,109.200000000000003,1.0,null,null,1.028478,false,120.0,0.0,52.659999999999997,-21.809999999999999],[8622,true,true,null,183.22999999999999,1.0,null,null,1.034977,false,240.0,0.0,110.420000000000002,-36.880000000000002],[8624,true,true,null,20.300000000000001,1.0,null,null,1.051079,false,103.030000000000001,0.0,34.479999999999997,-33.719999999999999],[8629,true,true,null,298.199999999999989,1.0,null,null,1.059594,false,300.0,100.0,124.560000000000002,-59.189999999999998],[8639,true,true,null,264.300000000000011,1.0,null,null,1.174902,false,300.0,0.0,131.330000000000012,-52.840000000000003],[8662,true,true,null,461.0,1.0,null,null,1.025281,false,500.0,166.670000000000016,207.950000000000017,-97.150000000000006],[830,true,true,null,85.200000000000003,1.0,null,null,1.003271,false,120.0,0.0,55.590000000000003,-19.18],[8669,true,true,null,-138.300000000000011,1.0,null,null,1.042199,false,100.0,-184.400000000000006,37.399999999999999,-12.460000000000001],[8674,true,true,null,47.0,1.0,null,null,1.037158,false,80.0,0.0,38.020000000000003,-11.83],[8675,true,true,null,-259.100000000000023,1.0,null,null,1.019558,false,100.0,-345.470000000000027,34.920000000000002,-14.960000000000001],[8682,true,true,null,-37.280000000000001,1.0,null,null,1.039554,false,100.0,-49.700000000000003,54.32,-20.390000000000001],[8692,true,true,null,62.200000000000003,1.0,null,null,1.073334,false,80.0,0.0,36.390000000000001,-13.44],[8701,true,true,null,130.689999999999998,1.0,null,null,1.026759,false,360.0,0.0,173.200000000000017,-47.670000000000002],[8713,true,true,null,609.800000000000068,1.0,null,null,1.015463,false,804.0,268.0,376.939999999999998,-228.969999999999999],[8720,true,true,null,1232.600000000000136,1.0,null,null,1.055054,false,2000.0,666.669999999999959,932.680000000000064,-293.139999999999986],[8728,true,true,null,20.890000000000001,1.0,null,null,1.008386,false,100.359999999999999,0.0,34.950000000000003,-30.800000000000001],[8736,true,true,null,355.829999999999984,1.0,null,null,1.058573,false,800.0,266.670000000000016,379.680000000000007,-111.010000000000005],[831,true,true,null,507.0,1.0,null,null,1.004583,false,600.0,200.0,264.70999999999998,-102.829999999999998],[8757,true,true,null,675.230000000000018,1.0,null,null,1.047294,false,800.0,266.670000000000016,346.490000000000009,-144.150000000000006],[8761,true,true,null,327.230000000000018,1.0,null,null,1.046022,false,400.0,133.330000000000012,168.920000000000016,-76.299999999999997],[8763,true,true,null,128.599999999999994,1.0,null,null,1.048209,false,300.0,85.739999999999995,178.039999999999992,-67.25],[8769,true,true,null,-40.399999999999999,1.0,null,null,1.012975,false,100.0,-53.869999999999998,61.149999999999999,-47.579999999999998],[8770,true,true,null,21.699999999999999,1.0,null,null,1.006983,false,40.0,0.0,19.07,-5.8],[8794,true,true,null,166.200000000000017,1.0,null,null,1.052731,false,240.0,0.0,111.700000000000003,-37.850000000000001],[8796,true,true,null,29.699999999999999,1.0,null,null,1.072681,false,60.43,0.0,22.350000000000001,-16.77],[8806,true,true,null,-304.0,1.0,null,null,1.049311,false,100.0,-405.329999999999984,35.840000000000003,-14.07],[8817,true,true,null,44.659999999999997,1.0,null,null,1.049908,false,160.0,0.0,76.870000000000004,-22.75],[8819,true,true,null,118.799999999999997,1.0,null,null,1.063983,false,200.0,66.670000000000002,92.950000000000003,-29.510000000000002],[836,true,true,null,44.0,1.0,null,null,1.022737,false,60.0,0.0,27.190000000000001,-9.66],[8821,true,true,null,-59.719999999999999,1.0,null,null,1.064182,false,100.0,-79.629999999999996,192.719999999999999,-52.5],[8850,true,true,null,76.900000000000006,1.0,null,null,1.063062,false,100.0,0.0,44.890000000000001,-16.43],[8857,true,true,null,42.799999999999997,1.0,null,null,1.023098,false,360.0,0.0,163.909999999999997,-56.979999999999997],[8868,true,true,null,334.400000000000034,1.0,null,null,1.034597,false,800.0,266.670000000000016,384.300000000000011,-105.829999999999998],[8870,true,true,null,-233.800000000000011,1.0,null,null,1.032491,false,100.0,-311.730000000000018,106.620000000000004,-40.75],[8871,true,true,null,1232.600000000000136,1.0,null,null,1.054777,false,2000.0,666.669999999999959,932.680000000000064,-293.139999999999986],[8874,true,true,null,443.800000000000011,1.0,null,null,1.045119,false,600.0,200.0,272.769999999999982,-95.019999999999996],[8893,true,true,null,299.800000000000011,1.0,null,null,1.093076,false,400.0,133.330000000000012,179.72999999999999,-65.040000000000006],[8895,true,true,null,40.0,1.0,null,null,1.032282,false,42.0,0.0,15.33,-19.260000000000002],[8896,true,true,null,26.050000000000001,1.0,null,null,1.053267,false,120.0,0.0,56.5,-18.210000000000001],[843,true,true,null,97.5,1.0,null,null,1.064419,false,120.0,0.0,54.350000000000001,-20.469999999999999],[8902,true,true,null,17.0,1.0,null,null,1.023893,false,86.730000000000004,0.0,28.989999999999998,-28.41],[8913,true,true,null,50.399999999999999,1.0,null,null,1.034467,false,80.0,0.0,37.189999999999998,-12.460000000000001],[8919,true,true,null,38.799999999999997,1.0,null,null,1.01084,false,40.0,0.0,17.27,-7.67],[8926,true,true,null,37.200000000000003,1.0,null,null,1.012236,false,80.0,0.0,38.640000000000001,-11.119999999999999],[8943,true,true,null,88.400000000000006,1.0,null,null,1.06934,false,100.0,0.0,42.899999999999999,-18.289999999999999],[8945,true,true,null,756.800000000000068,1.0,null,null,1.036925,false,800.0,266.670000000000016,339.050000000000011,-151.210000000000008],[8949,true,true,null,-255.700000000000017,1.0,null,null,1.050158,false,100.0,-340.939999999999998,38.229999999999997,-11.609999999999999],[8955,true,true,null,498.400000000000034,1.0,null,null,1.061596,false,600.0,200.0,266.170000000000016,-101.5],[8960,true,true,null,-61.799999999999997,1.0,null,null,1.043576,false,100.0,-82.400000000000006,53.520000000000003,-50.380000000000003],[8965,true,true,null,203.099999999999994,1.0,null,null,1.087897,false,300.0,0.0,136.960000000000008,-46.75],[847,true,true,null,4.03,1.0,null,null,1.011431,false,100.0,2.69,49.630000000000002,-38.119999999999997],[8970,true,true,null,-95.400000000000006,1.0,null,null,1.043573,false,100.0,-127.200000000000003,189.200000000000017,-55.619999999999998],[8971,true,true,null,25.300000000000001,1.0,null,null,1.038393,false,40.0,0.0,18.699999999999999,-6.17],[8972,true,true,null,1624.700000000000046,1.0,null,null,1.048016,false,2000.0,666.669999999999959,859.0,-367.120000000000005],[8975,true,true,null,110.0,1.0,null,null,1.04878,false,200.0,0.0,95.650000000000006,-28.949999999999999],[8977,true,true,null,567.230000000000018,1.0,null,null,1.038763,false,800.0,266.670000000000016,359.95999999999998,-130.659999999999997],[8980,true,true,null,19.300000000000001,1.0,null,null,1.023844,false,97.980000000000004,0.0,32.659999999999997,-32.18],[8986,true,true,null,-21.949999999999999,1.0,null,null,1.045054,false,100.0,-29.27,31.68,-29.920000000000002],[8987,true,true,null,70.0,1.0,null,null,1.016047,false,73.5,0.0,27.09,-37.490000000000002],[8992,true,true,null,-46.189999999999998,1.0,null,null,1.020391,false,100.0,-61.579999999999998,38.979999999999997,-10.82],[8996,true,true,null,78.200000000000003,1.0,null,null,1.01701,false,317.090000000000032,0.0,107.590000000000003,-101.480000000000004],[140,true,true,null,-73.200000000000003,1.0,null,null,1.050716,false,100.0,-97.600000000000008,18.59,-6.33],[848,true,true,null,8.699999999999999,1.0,null,null,1.037264,false,17.57,0.0,6.45,-4.91],[8999,true,true,null,341.199999999999989,1.0,null,null,1.042081,false,400.0,133.330000000000012,175.300000000000011,-69.960000000000008],[9000,true,true,null,338.70999999999998,1.0,null,null,1.023475,false,500.0,166.670000000000016,220.490000000000009,-86.140000000000001],[9012,true,true,null,31.199999999999999,1.0,null,null,1.023407,false,60.0,0.0,28.359999999999999,-8.470000000000001],[9026,true,true,null,458.0,1.0,null,null,1.070556,false,800.0,266.670000000000016,376.25,-114.310000000000002],[9033,true,true,null,-138.300000000000011,1.0,null,null,1.005697,false,100.0,-184.400000000000006,30.469999999999999,-45.979999999999997],[9034,true,true,null,25.859999999999999,1.0,null,null,1.009337,false,80.0,0.0,36.350000000000001,-13.359999999999999],[9038,true,true,null,-39.850000000000001,1.0,null,null,1.017349,false,100.0,-53.130000000000003,2.23,-1.07],[9042,true,true,null,-10.550000000000001,1.0,null,null,1.018389,false,100.0,-14.07,17.82,-7.09],[9045,true,true,null,340.400000000000034,1.0,null,null,1.070778,false,400.0,0.0,176.140000000000015,-69.299999999999997],[9046,true,true,null,238.0,1.0,null,null,1.03154,false,400.0,133.330000000000012,186.960000000000008,-58.140000000000001],[850,true,true,null,59.560000000000002,1.0,null,null,1.018845,false,200.0,0.0,96.640000000000001,-27.809999999999999],[9047,true,true,null,144.0,1.0,null,null,1.050428,false,200.0,0.0,92.450000000000003,-32.159999999999997],[9053,true,true,null,306.370000000000005,1.0,null,null,1.116695,false,400.0,133.330000000000012,177.870000000000004,-67.510000000000005],[9054,true,true,null,-90.0,1.0,null,null,0.97622,false,100.0,-120.0,11.6,-10.23],[9057,true,true,null,4.25,1.0,null,null,1.013989,false,100.0,2.84,47.340000000000003,-13.779999999999999],[9059,true,true,null,-418.800000000000011,1.0,null,null,1.066622,false,100.0,-558.399999999999977,34.789999999999999,-15.01],[9066,true,true,null,369.600000000000023,1.0,null,null,1.03898,false,440.0,146.670000000000016,198.069999999999993,-76.340000000000003],[9096,true,true,null,40.100000000000001,1.0,null,null,1.016295,false,41.159999999999997,0.0,17.030000000000001,-7.9],[9098,true,true,null,-89.799999999999997,1.0,null,null,1.028779,false,100.0,-119.730000000000004,63.310000000000002,-68.570000000000007],[9099,true,true,null,84.5,1.0,null,null,1.07025,false,100.0,0.0,44.0,-17.329999999999998],[9100,true,true,null,698.800000000000068,1.0,null,null,1.026276,false,1000.0,333.329999999999984,442.990000000000009,-169.920000000000016],[857,true,true,null,855.600000000000023,1.0,null,null,1.028813,false,1000.0,333.329999999999984,440.670000000000016,-172.150000000000006],[9102,true,true,null,-58.600000000000001,1.0,null,null,1.027331,false,100.0,-78.129999999999995,25.09,-33.200000000000003],[9104,true,true,null,99.400000000000006,1.0,null,null,1.088711,false,100.0,33.329999999999998,40.579999999999998,-20.48],[9107,true,true,null,-34.07,1.0,null,null,1.046328,false,100.0,-45.420000000000002,18.649999999999999,-14.16],[9109,true,true,null,438.199999999999989,1.0,null,null,1.126918,false,900.0,200.0,172.530000000000001,-72.850000000000008],[9112,true,true,null,123.400000000000006,1.0,null,null,1.014547,false,125.780000000000001,0.0,49.649999999999999,-24.07],[9124,true,true,null,39.700000000000003,1.0,null,null,1.042649,false,40.0,0.0,17.280000000000001,-7.69],[9131,true,true,null,663.0,1.0,null,null,1.04609,false,800.0,266.670000000000016,355.139999999999986,-135.289999999999992],[9136,true,true,null,42.700000000000003,1.0,null,null,1.048884,false,100.0,28.469999999999999,335.95999999999998,-93.230000000000004],[9139,true,true,null,-37.200000000000003,1.0,null,null,1.042971,false,100.0,-49.600000000000001,73.189999999999998,-26.48],[9149,true,true,null,860.800000000000068,1.0,null,null,1.034687,false,1000.0,333.329999999999984,439.379999999999995,-173.280000000000001],[860,true,true,null,55.799999999999997,1.0,null,null,1.050818,false,120.0,0.0,57.979999999999997,-16.68],[9160,true,true,null,366.400000000000034,1.0,null,null,1.033176,false,400.0,0.0,175.960000000000008,-73.510000000000005],[9166,true,true,null,119.100000000000009,1.0,null,null,1.046867,false,180.0,0.0,82.760000000000005,-27.75],[9167,true,true,null,299.199999999999989,1.0,null,null,1.076561,false,301.009999999999991,100.340000000000003,126.799999999999997,-57.100000000000001],[9173,true,true,null,-331.400000000000034,1.0,null,null,1.015292,false,100.0,-441.870000000000004,175.0,-49.159999999999997],[9179,true,true,null,72.0,1.0,null,null,1.053552,false,160.0,0.0,77.689999999999998,-21.969999999999999],[9186,true,true,null,47.100000000000001,1.0,null,null,1.017206,false,60.0,0.0,26.850000000000001,-10.01],[9194,true,true,null,30.16,1.0,null,null,1.025329,false,80.0,0.0,36.149999999999999,-13.73],[9196,true,true,null,46.399999999999999,1.0,null,null,1.017237,false,95.019999999999996,0.0,34.649999999999999,-26.420000000000002],[9199,true,true,null,292.5,1.0,null,null,1.040977,false,300.0,0.0,126.900000000000006,-57.140000000000001],[9214,true,true,null,4.77,1.0,null,null,1.008696,false,40.0,0.0,18.190000000000001,-6.61],[874,true,true,null,343.5,1.0,null,null,1.038959,false,500.0,166.670000000000016,228.159999999999997,-78.189999999999998],[9229,true,true,null,-126.700000000000003,1.0,null,null,1.027519,false,100.0,-168.930000000000007,127.960000000000008,-55.880000000000002],[9234,true,true,null,353.389999999999986,1.0,null,null,1.04114,false,400.0,0.0,176.330000000000012,-72.950000000000003],[9237,true,true,null,829.800000000000068,1.0,null,null,1.097633,false,1200.0,400.0,552.080000000000041,-183.990000000000009],[9238,true,true,null,419.0,1.0,null,null,1.017601,false,600.0,200.0,274.199999999999989,-93.219999999999999],[887,true,true,null,181.97999999999999,1.0,null,null,1.037604,false,300.0,100.0,138.599999999999994,-45.270000000000003],[890,true,true,null,1702.799999999999954,1.0,null,null,1.062964,false,2400.0,800.0,1097.410000000000082,-373.910000000000025],[893,true,true,null,264.670000000000016,1.0,null,null,1.054199,false,320.0,0.0,141.930000000000007,-57.740000000000002],[895,true,true,null,-2.7,1.0,null,null,1.021987,false,100.0,-3.6,8.6,-11.4],[912,true,true,null,1249.400000000000091,1.0,null,null,1.026545,false,1700.0,566.669999999999959,772.110000000000014,-269.939999999999998],[141,true,true,null,158.700000000000017,1.0,null,null,1.042299,false,180.0,0.0,78.150000000000006,-32.399999999999999],[915,true,true,null,230.200000000000017,1.0,null,null,1.022135,false,300.0,0.0,134.449999999999989,-49.759999999999998],[916,true,true,null,32.0,1.0,null,null,1.061631,false,40.0,0.0,18.219999999999999,-6.73],[925,true,true,null,420.0,1.0,null,null,1.008066,false,472.0,157.330000000000012,201.120000000000005,-87.960000000000008],[926,true,true,null,27.399999999999999,1.0,null,null,1.067901,false,60.0,0.0,28.690000000000001,-8.16],[929,true,true,null,679.600000000000023,1.0,null,null,1.058189,false,900.0,300.0,406.660000000000025,-144.75],[971,true,true,null,1221.200000000000045,1.0,null,null,1.078612,false,2000.0,666.669999999999959,934.730000000000018,-291.519999999999982],[973,true,true,null,83.890000000000001,1.0,null,null,1.033045,false,120.0,0.0,54.359999999999999,-20.210000000000001],[975,true,true,null,21.300000000000001,1.0,null,null,1.024328,false,107.829999999999998,0.0,36.020000000000003,-35.350000000000001],[977,true,true,null,14.9,1.0,null,null,1.017319,false,15.15,0.0,6.43,-2.99],[982,true,true,null,1034.799999999999954,1.0,null,null,1.078039,false,2000.0,666.669999999999959,948.360000000000014,-277.269999999999982],[146,true,true,null,-16.0,1.0,null,null,1.058041,false,100.0,-21.329999999999998,70.120000000000005,-29.5],[983,true,true,null,1029.200000000000045,1.0,null,null,1.031963,false,1600.0,533.330000000000041,738.930000000000064,-240.840000000000003],[990,true,true,null,21.68,1.0,null,null,1.001634,false,40.0,0.0,16.829999999999998,-8.050000000000001],[991,true,true,null,14.960000000000001,1.0,null,null,1.030255,false,60.0,0.0,25.969999999999999,-10.869999999999999],[992,true,true,null,-136.900000000000006,1.0,null,null,1.037248,false,100.0,-182.530000000000001,17.850000000000001,-7.07],[1000,true,true,null,92.100000000000009,1.0,null,null,1.069874,false,120.0,0.0,55.020000000000003,-19.809999999999999],[1001,true,true,null,171.0,1.0,null,null,1.03837,false,200.0,0.0,89.549999999999997,-35.149999999999999],[1003,true,true,null,86.400000000000006,1.0,null,null,0.99944,false,100.0,0.0,43.990000000000002,-17.399999999999999],[1020,true,true,null,-179.300000000000011,1.0,null,null,1.012345,false,100.0,-239.069999999999993,58.340000000000003,-16.23],[1028,true,true,null,138.599999999999994,1.0,null,null,1.037886,false,200.0,0.0,90.640000000000001,-31.73],[1029,true,true,null,164.939999999999998,1.0,null,null,1.007808,false,400.0,100.0,71.659999999999997,-27.890000000000001],[149,true,true,null,67.290000000000006,1.0,null,null,1.062129,false,160.0,0.0,77.090000000000003,-22.539999999999999],[1035,true,true,null,202.5,1.0,null,null,1.037074,false,300.0,100.0,137.390000000000015,-46.450000000000003],[1042,true,true,null,829.5,1.0,null,null,1.027465,false,900.0,300.0,387.879999999999996,-163.400000000000006],[1049,true,true,null,337.910000000000025,1.0,null,null,1.055375,false,518.720000000000027,252.050000000000011,173.5,-71.790000000000006],[1081,true,true,null,364.400000000000034,1.0,null,null,1.027941,false,400.0,133.330000000000012,171.620000000000004,-73.5],[1082,true,true,null,91.799999999999997,1.0,null,null,1.050507,false,120.0,0.0,54.909999999999997,-19.879999999999999],[1087,true,true,null,4.6,1.0,null,null,1.025882,false,45.990000000000002,0.0,8.06,-3.66],[1092,true,true,null,837.0,1.0,null,null,1.024587,false,1200.0,400.0,550.690000000000055,-185.150000000000006],[1096,true,true,null,17.5,1.0,null,null,1.013606,false,18.379999999999999,0.0,6.17,-6.64],[1097,true,true,null,93.350000000000008,1.0,null,null,1.104358,false,200.0,66.670000000000002,91.420000000000002,-31.239999999999998],[1099,true,true,null,58.200000000000003,1.0,null,null,1.042301,false,80.0,0.0,36.799999999999997,-13.01],[150,true,true,null,-110.350000000000008,1.0,null,null,1.013748,false,100.0,-147.129999999999995,37.969999999999999,-58.18],[1101,true,true,null,-124.150000000000006,1.0,null,null,1.048163,false,100.0,-165.539999999999992,38.049999999999997,-11.59],[1102,true,true,null,405.689999999999998,1.0,null,null,1.043526,false,800.0,266.670000000000016,376.660000000000025,-112.659999999999997],[1116,true,true,null,744.100000000000023,1.0,null,null,1.009173,false,864.0,288.0,307.470000000000027,-487.110000000000014],[1118,true,true,null,298.699999999999989,1.0,null,null,1.044725,false,300.0,100.0,126.490000000000009,-57.329999999999998],[1120,true,true,null,289.79000000000002,1.0,null,null,1.017488,false,360.0,0.0,158.200000000000017,-62.810000000000002],[1121,true,true,null,75.200000000000003,1.0,null,null,1.043868,false,190.280000000000001,0.0,68.0,-56.079999999999998],[1124,true,true,null,129.599999999999994,1.0,null,null,1.04319,false,240.0,0.0,114.570000000000007,-34.740000000000002],[1130,true,true,null,667.5,1.0,null,null,1.036981,false,900.0,300.0,407.660000000000025,-143.610000000000014],[1137,true,true,null,930.300000000000068,1.0,null,null,1.088765,false,1000.0,333.329999999999984,432.439999999999998,-180.700000000000017],[1138,true,true,null,175.47999999999999,1.0,null,null,1.054186,false,240.0,0.0,107.890000000000001,-41.5],[165,true,true,null,292.199999999999989,1.0,null,null,1.040747,false,300.0,0.0,127.670000000000002,-56.530000000000001],[1144,true,true,null,173.469999999999999,1.0,null,null,1.040382,false,452.53000000000003,37.710000000000001,153.069999999999993,-144.240000000000009],[1172,true,true,null,-124.700000000000003,1.0,null,null,1.018544,false,100.0,-166.27000000000001,1.85,-0.88],[1173,true,true,null,26.800000000000001,1.0,null,null,1.002801,false,40.0,0.0,18.609999999999999,-6.28],[1174,true,true,null,309.54000000000002,1.0,null,null,1.038334,false,700.0,200.0,108.350000000000008,-39.119999999999997],[1175,true,true,null,6.7,1.0,null,null,1.016193,false,100.0,4.46,94.129999999999995,-28.09],[1183,true,true,null,329.199999999999989,1.0,null,null,1.037371,false,400.0,0.0,178.02000000000001,-67.549999999999997],[1219,true,true,null,107.400000000000006,1.0,null,null,1.008655,false,180.0,0.0,84.070000000000007,-26.48],[1224,true,true,null,282.800000000000011,1.0,null,null,1.051668,false,290.430000000000007,0.0,118.840000000000003,-55.640000000000001],[1236,true,true,null,1504.799999999999954,1.0,null,null,1.103909,false,2000.0,666.669999999999959,906.610000000000014,-319.439999999999998],[1240,true,true,null,46.130000000000003,1.0,null,null,1.019582,false,65.629999999999996,0.0,22.289999999999999,-20.98],[7,true,true,null,499.699999999999989,1.0,null,null,1.023005,false,524.680000000000064,0.0,251.730000000000018,-246.25],[178,true,true,null,-179.200000000000017,1.0,null,null,1.043661,false,100.0,-238.930000000000007,52.640000000000001,-51.719999999999999],[1242,true,true,null,81.700000000000003,1.0,null,null,1.080005,false,100.0,0.0,44.299999999999997,-17.02],[1243,true,true,null,16.199999999999999,1.0,null,null,1.026736,false,63.789999999999999,0.0,23.859999999999999,-28.850000000000001],[1250,true,true,null,837.0,1.0,null,null,1.024626,false,1200.0,400.0,550.690000000000055,-185.150000000000006],[1257,true,true,null,71.0,1.0,null,null,1.032962,false,80.0,0.0,34.909999999999997,-14.83],[1266,true,true,null,155.300000000000011,1.0,null,null,1.04637,false,400.0,133.330000000000012,191.379999999999995,-52.899999999999999],[1270,true,true,null,-100.5,1.0,null,null,1.0139,false,100.0,-134.0,32.539999999999999,-32.109999999999999],[1294,true,true,null,-124.100000000000009,1.0,null,null,1.035594,false,100.0,-165.469999999999999,36.920000000000002,-12.880000000000001],[1306,true,true,null,-410.100000000000023,1.0,null,null,1.062062,false,100.0,-546.800000000000068,35.479999999999997,-14.34],[1312,true,true,null,18.18,1.0,null,null,1.031257,false,40.0,0.0,17.510000000000002,-7.42],[1314,true,true,null,-234.900000000000006,1.0,null,null,1.091975,false,100.0,-313.199999999999989,38.259999999999998,-11.550000000000001],[189,true,true,null,90.689999999999998,1.0,null,null,1.025544,false,120.0,0.0,54.240000000000002,-20.629999999999999],[1319,true,true,null,279.600000000000023,1.0,null,null,1.01339,false,360.0,0.0,160.620000000000004,-60.299999999999997],[1336,true,true,null,184.099999999999994,1.0,null,null,1.05919,false,400.0,133.330000000000012,190.670000000000016,-54.200000000000003],[1340,true,true,null,67.200000000000003,1.0,null,null,1.035237,false,120.0,0.0,57.030000000000001,-17.620000000000001],[1353,true,true,null,-246.5,1.0,null,null,1.034497,false,100.0,-328.670000000000016,38.079999999999998,-11.73],[1360,true,true,null,-83.600000000000008,1.0,null,null,1.001499,false,100.0,-111.469999999999999,91.510000000000005,-30.760000000000002],[1364,true,true,null,314.0,1.0,null,null,1.045092,false,400.0,133.330000000000012,179.340000000000003,-66.099999999999994],[1370,true,true,null,87.100000000000009,1.0,null,null,1.02639,false,197.400000000000006,0.0,47.159999999999997,-88.840000000000003],[1377,true,true,null,-30.210000000000001,1.0,null,null,1.015715,false,100.0,-40.280000000000001,4.86,-7.37],[1386,true,true,null,-198.400000000000006,1.0,null,null,1.029614,false,100.0,-264.53000000000003,174.110000000000014,-71.239999999999995],[1389,true,true,null,299.199999999999989,1.0,null,null,1.076512,false,301.009999999999991,100.340000000000003,126.799999999999997,-57.100000000000001],[191,true,true,null,135.800000000000011,1.0,null,null,1.048355,false,200.0,0.0,91.609999999999999,-30.98],[1390,true,true,null,26.199999999999999,1.0,null,null,1.027192,false,40.0,0.0,18.739999999999998,-6.17],[1398,true,true,null,-174.599999999999994,1.0,null,null,1.04788,false,100.0,-232.800000000000011,11.640000000000001,-10.199999999999999],[1401,true,true,null,200.200000000000017,1.0,null,null,1.019959,false,300.0,100.0,136.47999999999999,-46.670000000000002],[1408,true,true,null,628.190000000000055,1.0,null,null,1.022303,false,800.0,266.670000000000016,338.660000000000025,-151.759999999999991],[1416,true,true,null,39.990000000000002,1.0,null,null,1.009035,false,80.0,0.0,38.079999999999998,-11.699999999999999],[1419,true,true,null,399.5,1.0,null,null,1.001444,false,790.0,263.329999999999984,251.080000000000012,-126.769999999999996],[1421,true,true,null,-101.0,1.0,null,null,1.047835,false,100.0,-134.670000000000016,18.09,-6.79],[1425,true,true,null,416.5,1.0,null,null,1.072946,false,500.0,0.0,220.319999999999993,-86.219999999999999],[1432,true,true,null,57.200000000000003,1.0,null,null,1.01442,false,60.060000000000002,0.0,35.740000000000002,-50.259999999999998],[1435,true,true,null,49.399999999999999,1.0,null,null,1.054052,false,80.0,0.0,37.719999999999999,-12.09],[193,true,true,null,268.600000000000023,1.0,null,null,1.02931,false,300.0,100.0,130.189999999999998,-53.530000000000001],[1439,true,true,null,115.0,1.0,null,null,1.011268,false,120.75,0.0,41.520000000000003,-57.859999999999999],[1443,true,true,null,130.319999999999993,1.0,null,null,1.023146,false,357.629999999999996,-86.359999999999999,142.870000000000004,-273.100000000000023],[1457,true,true,null,1588.0,1.0,null,null,1.045766,false,2000.0,666.669999999999959,895.230000000000018,-330.78000000000003],[1473,true,true,null,-27.0,1.0,null,null,1.010259,false,100.0,-36.0,1.9,-1.04],[1474,true,true,null,783.899999999999977,1.0,null,null,1.020467,false,900.0,300.0,394.449999999999989,-157.0],[1477,true,true,null,62.600000000000001,1.0,null,null,1.048923,false,80.0,0.0,36.399999999999999,-13.44],[1480,true,true,null,297.800000000000011,1.0,null,null,1.040265,false,600.0,100.0,539.990000000000009,-195.849999999999994],[1483,true,true,null,288.300000000000011,1.0,null,null,1.027385,false,300.0,0.0,127.719999999999999,-56.359999999999999],[1486,true,true,null,389.03000000000003,1.0,null,null,1.055167,false,400.0,0.0,176.620000000000004,-72.75],[1491,true,true,null,261.600000000000023,1.0,null,null,1.02928,false,600.0,100.0,376.310000000000002,-114.180000000000007],[196,true,true,null,292.199999999999989,1.0,null,null,1.099985,false,300.0,0.0,123.890000000000001,-59.539999999999999],[1497,true,true,null,5.2,1.0,null,null,1.073955,false,5.31,0.0,2.25,-1.06],[1506,true,true,null,-99.200000000000003,1.0,null,null,1.057885,false,100.0,-132.259999999999991,18.77,-6.16],[1507,true,true,null,149.200000000000017,1.0,null,null,1.062401,false,200.0,0.0,90.090000000000003,-32.490000000000002],[1528,true,true,null,-22.699999999999999,1.0,null,null,1.01463,false,100.0,-30.27,1.88,-1.06],[1545,true,true,null,341.199999999999989,1.0,null,null,1.042059,false,400.0,133.330000000000012,175.300000000000011,-69.960000000000008],[1549,true,true,null,350.0,1.0,null,null,1.082656,false,400.0,133.330000000000012,174.210000000000008,-70.75],[1554,true,true,null,453.400000000000034,1.0,null,null,1.065019,false,800.0,266.670000000000016,376.360000000000014,-114.079999999999998],[1556,true,true,null,993.300000000000068,1.0,null,null,1.039811,false,1100.0,366.670000000000016,478.449999999999989,-196.840000000000003],[1557,true,true,null,24.100000000000001,1.0,null,null,1.01534,false,47.25,0.0,7.91,-3.82],[1569,true,true,null,121.400000000000006,1.0,null,null,1.076277,false,200.0,66.670000000000002,93.159999999999997,-29.489999999999998],[200,true,true,null,5.2,1.0,null,null,1.01914,false,5.37,0.0,2.27,-1.07],[1581,true,true,null,312.0,1.0,null,null,1.042602,false,400.0,0.0,177.97999999999999,-67.010000000000005],[1588,true,true,null,-31.539999999999999,1.0,null,null,1.023343,false,100.0,-42.049999999999997,5.55,-17.0],[1603,true,true,null,50.600000000000001,1.0,null,null,1.037285,false,80.0,0.0,37.659999999999997,-12.17],[1605,true,true,null,358.199999999999989,1.0,null,null,1.077423,false,400.0,133.330000000000012,174.599999999999994,-70.710000000000008],[1617,true,true,null,-136.599999999999994,1.0,null,null,1.075715,false,100.0,-182.129999999999995,21.27,-20.07],[1625,true,true,null,22.800000000000001,1.0,null,null,1.038045,false,28.350000000000001,0.0,17.309999999999999,-14.75],[1641,true,true,null,50.399999999999999,1.0,null,null,1.025423,false,80.0,0.0,37.740000000000002,-12.109999999999999],[1679,true,true,null,1250.400000000000091,1.0,null,null,1.038879,false,2000.0,666.669999999999959,928.889999999999986,-296.100000000000023],[1683,true,true,null,599.300000000000068,1.0,null,null,1.033747,false,1200.0,400.0,530.299999999999954,-205.670000000000016],[1684,true,true,null,62.700000000000003,1.0,null,null,1.003785,false,120.0,0.0,57.409999999999997,-17.219999999999999],[208,true,true,null,25.399999999999999,1.0,null,null,1.026832,false,40.0,0.0,18.699999999999999,-6.17],[1696,true,true,null,-189.0,1.0,null,null,1.036203,false,100.0,-252.0,31.940000000000001,-31.239999999999998],[1707,true,true,null,860.800000000000068,1.0,null,null,1.034651,false,1000.0,333.329999999999984,439.370000000000005,-173.300000000000011],[1714,true,true,null,25.350000000000001,1.0,null,null,1.054322,false,80.0,0.0,35.109999999999999,-14.76],[1716,true,true,null,19.899999999999999,1.0,null,null,1.022926,false,40.0,0.0,19.25,-5.65],[1718,true,true,null,269.170000000000016,1.0,null,null,1.085028,false,800.0,266.670000000000016,378.699999999999989,-111.850000000000008],[1719,true,true,null,994.5,1.0,null,null,1.072226,false,1200.0,400.0,534.240000000000009,-201.819999999999993],[1720,true,true,null,28.100000000000001,1.0,null,null,1.061454,false,40.0,0.0,18.52,-6.39],[1725,true,true,null,48.659999999999997,1.0,null,null,1.067726,false,120.0,0.0,55.280000000000001,-19.440000000000001],[1735,true,true,null,200.0,1.0,null,null,1.06645,false,202.580000000000012,67.530000000000001,84.739999999999995,-38.130000000000003],[1737,true,true,null,623.600000000000023,1.0,null,null,1.015757,false,720.0,240.0,267.730000000000018,-215.509999999999991],[213,true,true,null,-175.200000000000017,1.0,null,null,1.079765,false,100.0,-233.599999999999994,192.0,-52.890000000000001],[1742,true,true,null,79.600000000000008,1.0,null,null,1.033701,false,125.0,0.0,55.210000000000001,-18.48],[1746,true,true,null,835.5,1.0,null,null,1.053359,false,900.0,300.0,387.670000000000016,-163.72999999999999],[1747,true,true,null,326.800000000000011,1.0,null,null,1.038042,false,400.0,133.330000000000012,176.689999999999998,-68.450000000000003],[1753,true,true,null,40.0,1.0,null,null,1.037047,false,41.060000000000002,0.0,16.989999999999998,-7.92],[1755,true,true,null,178.800000000000011,1.0,null,null,1.037533,false,200.0,66.670000000000002,87.480000000000004,-35.369999999999997],[1775,true,true,null,595.0,1.0,null,null,0.967759,false,624.75,0.0,99999.0,-99999.0],[1784,true,true,null,108.299999999999997,1.0,null,null,0.998,false,120.0,0.0,51.659999999999997,-22.850000000000001],[1785,true,true,null,1124.0,1.0,null,null,1.083767,false,1200.0,400.0,515.090000000000032,-220.890000000000015],[1787,true,true,null,430.199999999999989,1.0,null,null,1.021039,false,600.0,200.0,272.25,-94.920000000000002],[1792,true,true,null,-90.299999999999997,1.0,null,null,1.020092,false,100.0,-120.400000000000006,34.640000000000001,-15.199999999999999],[218,true,true,null,1171.0,1.0,null,null,1.056623,false,2000.0,666.669999999999959,937.430000000000064,-288.160000000000025],[1793,true,true,null,1250.400000000000091,1.0,null,null,1.04708,false,2000.0,666.669999999999959,926.350000000000023,-297.680000000000007],[1796,true,true,null,42.289999999999999,1.0,null,null,1.005885,false,80.0,0.0,36.93,-12.789999999999999],[1807,true,true,null,-0.6,1.0,null,null,1.04521,false,100.0,-0.8,111.230000000000004,-38.159999999999997],[1811,true,true,null,53.600000000000001,1.0,null,null,1.03994,false,70.879999999999996,0.0,12.890000000000001,-5.66],[1813,true,true,null,311.45999999999998,1.0,null,null,1.039354,false,400.0,133.330000000000012,174.219999999999999,-70.909999999999997],[1818,true,true,null,246.0,1.0,null,null,1.039397,false,300.0,0.0,132.460000000000008,-51.710000000000001],[1821,true,true,null,658.200000000000045,1.0,null,null,1.043084,false,800.0,266.670000000000016,356.050000000000011,-134.469999999999999],[1822,true,true,null,64.799999999999997,1.0,null,null,1.020728,false,80.0,0.0,36.039999999999999,-13.779999999999999],[1842,true,true,null,29.170000000000002,1.0,null,null,1.080669,false,120.0,0.0,58.009999999999998,-16.800000000000001],[1845,true,true,null,117.600000000000008,1.0,null,null,1.028122,false,123.480000000000004,0.0,40.939999999999998,-62.740000000000002],[219,true,true,null,668.700000000000046,1.0,null,null,1.047116,false,900.0,300.0,402.920000000000016,-146.950000000000017],[1846,true,true,null,40.600000000000001,1.0,null,null,1.002793,false,80.0,0.0,38.420000000000002,-11.359999999999999],[1849,true,true,null,2.89,1.0,null,null,1.014744,false,32.969999999999999,0.0,11.52,-10.09],[1850,true,true,null,15.6,1.0,null,null,1.053982,false,31.920000000000002,0.0,11.76,-8.890000000000001],[1851,true,true,null,-241.800000000000011,1.0,null,null,1.054605,false,100.0,-322.400000000000034,58.159999999999997,-16.52],[1870,true,true,null,-51.700000000000003,1.0,null,null,1.000876,false,100.0,-68.930000000000007,27.309999999999999,-9.56],[1876,true,true,null,99.0,1.0,null,null,1.050568,false,240.0,0.0,117.140000000000001,-32.369999999999997],[1887,true,true,null,573.680000000000064,1.0,null,null,1.034904,false,912.779999999999973,312.78000000000003,396.019999999999982,-155.830000000000012],[1889,true,true,null,1526.0,1.0,null,null,1.04228,false,1600.0,533.330000000000041,686.730000000000018,-294.620000000000004],[1891,true,true,null,-12.6,1.0,null,null,1.020022,false,100.0,-16.800000000000001,11.029999999999999,-8.789999999999999],[1897,true,true,null,246.0,1.0,null,null,1.074634,false,300.0,0.0,133.110000000000014,-51.25],[17,true,true,null,467.5,1.0,null,null,1.026728,false,500.0,166.670000000000016,212.969999999999999,-93.480000000000004],[220,true,true,null,296.0,1.0,null,null,1.030636,false,400.0,133.330000000000012,183.920000000000016,-65.299999999999997],[1899,true,true,null,478.199999999999989,1.0,null,null,1.077688,false,600.0,0.0,263.490000000000009,-103.769999999999996],[1904,true,true,null,313.100000000000023,1.0,null,null,1.049117,false,600.0,200.0,283.420000000000016,-84.450000000000003],[1906,true,true,null,76.200000000000003,1.0,null,null,1.038735,false,100.0,0.0,44.859999999999999,-16.43],[1908,true,true,null,-31.18,1.0,null,null,1.019677,false,100.0,-41.57,38.670000000000002,-11.1],[1913,true,true,null,115.5,1.0,null,null,1.038898,false,472.160000000000025,39.350000000000001,160.360000000000014,-150.950000000000017],[1918,true,true,null,411.800000000000011,1.0,null,null,1.036866,false,600.0,200.0,274.120000000000005,-93.010000000000005],[1924,true,true,null,-184.0,1.0,null,null,1.003974,false,100.0,-245.330000000000012,5.13,-4.7],[1926,true,true,null,349.129999999999995,1.0,null,null,1.0345,false,500.0,0.0,221.349999999999994,-85.359999999999999],[1934,true,true,null,-55.399999999999999,1.0,null,null,1.014926,false,100.0,-73.870000000000004,31.239999999999998,-26.98],[1937,true,true,null,506.100000000000023,1.0,null,null,1.038487,false,531.560000000000059,0.0,314.850000000000023,-480.329999999999984],[221,true,true,null,-147.300000000000011,1.0,null,null,1.030494,false,100.0,-196.400000000000006,12.51,-5.62],[1946,true,true,null,-17.02,1.0,null,null,1.053959,false,100.0,-22.699999999999999,2.05,-0.97],[1958,true,true,null,31.0,1.0,null,null,1.069553,false,40.0,0.0,18.140000000000001,-6.75],[1969,true,true,null,90.689999999999998,1.0,null,null,1.026295,false,120.0,0.0,54.240000000000002,-20.629999999999999],[1981,true,true,null,-2.2,1.0,null,null,1.008845,false,100.0,-2.93,20.66,-31.34],[1990,true,true,null,44.0,1.0,null,null,1.022737,false,60.0,0.0,27.190000000000001,-9.66],[1998,true,true,null,141.599999999999994,1.0,null,null,1.076837,false,180.0,0.0,80.510000000000005,-30.07],[2016,true,true,null,216.0,1.0,null,null,1.042851,false,500.0,166.670000000000016,239.75,-66.859999999999999],[2017,true,true,null,42.799999999999997,1.0,null,null,1.00366,false,80.0,0.0,38.100000000000001,-11.619999999999999],[2029,true,true,null,576.0,1.0,null,null,1.067534,false,600.0,200.0,257.0,-110.850000000000008],[2034,true,true,null,855.600000000000023,1.0,null,null,1.028122,false,1000.0,333.329999999999984,441.850000000000023,-171.27000000000001],[238,true,true,null,-7.05,1.0,null,null,1.018711,false,100.0,-9.4,38.520000000000003,-11.24],[2045,true,true,null,234.0,1.0,null,null,1.042366,false,300.0,0.0,133.490000000000009,-50.259999999999998],[2049,true,true,null,836.200000000000045,1.0,null,null,1.004886,false,2000.0,666.669999999999959,962.200000000000045,-263.649999999999977],[2050,true,true,null,71.0,1.0,null,null,1.047683,false,290.29000000000002,0.0,98.710000000000008,-92.700000000000003],[2053,true,true,null,1.8,1.0,null,null,1.055574,false,3.7,0.0,1.37,-1.02],[2062,true,true,null,47.600000000000001,1.0,null,null,1.027043,false,100.0,31.73,67.030000000000001,-30.829999999999998],[2081,true,true,null,-142.469999999999999,1.0,null,null,1.014544,false,100.0,-189.950000000000017,4.66,-7.7],[2084,true,true,null,176.0,1.0,null,null,1.029587,false,200.0,0.0,88.390000000000001,-36.189999999999998],[2085,true,true,null,64.200000000000003,1.0,null,null,1.058532,false,80.0,0.0,36.340000000000003,-13.539999999999999],[2090,true,true,null,33.899999999999999,1.0,null,null,1.02498,false,40.0,0.0,17.879999999999999,-7.04],[2095,true,true,null,1063.5,1.0,null,null,1.046008,false,1200.0,400.0,522.740000000000009,-212.370000000000005],[245,true,true,null,307.100000000000023,1.0,null,null,1.06685,false,800.0,266.670000000000016,378.079999999999984,-112.590000000000003],[2097,true,true,null,178.0,1.0,null,null,1.064541,false,200.0,66.670000000000002,86.239999999999995,-36.289999999999999],[2099,true,true,null,152.099999999999994,1.0,null,null,1.022492,false,462.730000000000018,51.409999999999997,160.689999999999998,-140.969999999999999],[2103,true,true,null,-20.899999999999999,1.0,null,null,1.005555,false,100.0,-27.870000000000001,4.45,-2.4],[2106,true,true,null,1269.400000000000091,1.0,null,null,1.040878,false,1500.0,500.0,661.899999999999977,-257.620000000000004],[2112,true,true,null,379.199999999999989,1.0,null,null,1.151426,false,400.0,133.330000000000012,172.069999999999993,-73.290000000000006],[2149,true,true,null,498.400000000000034,1.0,null,null,1.061614,false,600.0,200.0,266.170000000000016,-101.5],[2152,true,true,null,-496.600000000000023,1.0,null,null,1.065758,false,100.0,-662.129999999999995,137.409999999999997,-46.469999999999999],[2162,true,true,null,33.090000000000003,1.0,null,null,1.042967,false,40.0,0.0,17.239999999999998,-7.72],[2166,true,true,null,95.070000000000007,1.0,null,null,1.027081,false,200.0,66.670000000000002,92.350000000000008,-30.109999999999999],[2175,true,true,null,1443.549999999999954,1.0,null,null,1.0196,false,2900.0,900.0,38.200000000000003,-11.68],[247,true,true,null,-172.0,1.0,null,null,1.043991,false,100.0,-229.330000000000012,37.469999999999999,-12.35],[2176,true,true,null,-121.299999999999997,1.0,null,null,1.068942,false,100.0,-161.72999999999999,58.350000000000001,-16.260000000000002],[2180,true,true,null,502.199999999999989,1.0,null,null,1.00154,false,534.0,178.0,198.930000000000007,-274.78000000000003],[2184,true,true,null,99.299999999999997,1.0,null,null,1.056295,false,120.0,0.0,53.939999999999998,-20.829999999999998],[2186,true,true,null,511.900000000000034,1.0,null,null,1.036364,false,900.0,300.0,405.25,-145.319999999999993],[2192,true,true,null,7.9,1.0,null,null,1.009622,false,16.120000000000001,0.0,7.47,-2.56],[2196,true,true,null,-53.289999999999999,1.0,null,null,1.031798,false,100.0,-71.049999999999997,19.510000000000002,-14.74],[2205,true,true,null,204.300000000000011,1.0,null,null,1.018916,false,300.0,100.0,137.289999999999992,-46.579999999999998],[2206,true,true,null,14.08,1.0,null,null,1.006198,false,80.0,0.0,38.960000000000001,-10.76],[2224,true,true,null,-83.5,1.0,null,null,1.025903,false,100.0,-111.329999999999998,2.27,-1.04],[2235,true,true,null,-38.450000000000003,1.0,null,null,1.020813,false,100.0,-51.259999999999998,2.23,-1.07],[254,true,true,null,423.199999999999989,1.0,null,null,1.059597,false,500.0,166.670000000000016,220.659999999999997,-85.890000000000001],[2236,true,true,null,100.0,1.0,null,null,1.034951,false,200.0,0.0,94.840000000000003,-27.760000000000002],[2240,true,true,null,1170.0,1.0,null,null,1.005014,false,1208.0,402.670000000000016,216.039999999999992,-567.960000000000036],[2242,true,true,null,-30.600000000000001,1.0,null,null,1.029391,false,100.0,-40.799999999999997,4.72,-2.11],[2244,true,true,null,165.099999999999994,1.0,null,null,1.010255,false,208.469999999999999,0.0,85.189999999999998,-130.810000000000002],[2249,true,true,null,-108.5,1.0,null,null,1.024801,false,100.0,-144.670000000000016,26.07,-10.82],[2252,true,true,null,706.800000000000068,1.0,null,null,1.147706,false,800.0,266.670000000000016,351.300000000000011,-139.52000000000001],[2265,true,true,null,190.0,1.0,null,null,1.013425,false,199.5,0.0,101.159999999999997,-129.469999999999999],[2266,true,true,null,362.0,1.0,null,null,1.003207,false,500.0,166.670000000000016,228.159999999999997,-78.829999999999998],[2275,true,true,null,38.899999999999999,1.0,null,null,1.062473,false,119.299999999999997,0.0,41.670000000000002,-36.5],[2277,true,true,null,140.0,1.0,null,null,1.030091,false,147.0,0.0,53.350000000000001,-86.650000000000006],[261,true,true,null,-115.400000000000006,1.0,null,null,1.033795,false,100.0,-153.870000000000004,38.100000000000001,-11.720000000000001],[2283,true,true,null,-59.5,1.0,null,null,1.030581,false,100.0,-79.329999999999998,38.479999999999997,-11.35],[2286,true,true,null,148.800000000000011,1.0,null,null,1.034619,false,168.0,0.0,56.210000000000001,-95.790000000000006],[2288,true,true,null,36.899999999999999,1.0,null,null,1.036649,false,38.740000000000002,0.0,15.59,-20.41],[2290,true,true,null,110.5,1.0,null,null,1.063998,false,200.0,0.0,95.689999999999998,-28.93],[2309,true,true,null,164.5,1.0,null,null,1.013414,false,300.0,100.0,141.390000000000015,-42.369999999999997],[2319,true,true,null,82.200000000000003,1.0,null,null,1.025327,false,120.0,0.0,54.859999999999999,-18.800000000000001],[2334,true,true,null,431.199999999999989,1.0,null,null,1.044074,false,600.0,200.0,273.490000000000009,-94.100000000000009],[2350,true,true,null,-35.890000000000001,1.0,null,null,1.019563,false,100.0,-47.859999999999999,47.280000000000001,-13.91],[2352,true,true,null,-113.5,1.0,null,null,1.010677,false,100.0,-151.330000000000012,30.350000000000001,-35.670000000000002],[2356,true,true,null,-184.099999999999994,1.0,null,null,1.072612,false,100.0,-245.469999999999999,38.310000000000002,-11.470000000000001],[262,true,true,null,-34.399999999999999,1.0,null,null,1.028681,false,100.0,-45.869999999999998,5.05,-6.95],[2358,true,true,null,78.200000000000003,1.0,null,null,1.021762,false,80.0,0.0,34.350000000000001,-15.5],[2361,true,true,null,662.200000000000045,1.0,null,null,1.038978,false,800.0,266.670000000000016,351.420000000000016,-138.02000000000001],[2368,true,true,null,129.400000000000006,1.0,null,null,1.055918,false,200.0,66.670000000000002,92.719999999999999,-30.039999999999999],[2393,true,true,null,200.300000000000011,1.0,null,null,1.065017,false,500.0,100.0,380.310000000000002,-110.079999999999998],[2397,true,true,null,473.420000000000016,1.0,null,null,1.147454,false,800.0,266.670000000000016,368.840000000000032,-121.980000000000004],[2401,true,true,null,179.5,1.0,null,null,1.076661,false,200.0,0.0,88.700000000000003,-36.060000000000002],[2411,true,true,null,67.299999999999997,1.0,null,null,1.013238,false,409.090000000000032,0.0,134.539999999999992,-136.289999999999992],[2412,true,true,null,51.299999999999997,1.0,null,null,0.996424,false,200.0,0.0,90.680000000000007,-31.93],[2420,true,true,null,-320.400000000000034,1.0,null,null,1.043537,false,100.0,-427.199999999999989,37.390000000000001,-12.449999999999999],[2424,true,true,null,-100.5,1.0,null,null,1.037815,false,100.0,-134.0,54.299999999999997,-20.489999999999998],[277,true,true,null,-64.099999999999994,1.0,null,null,1.014153,false,100.0,-85.469999999999999,37.700000000000003,-12.09],[2425,true,true,null,-43.200000000000003,1.0,null,null,1.045936,false,100.0,-57.600000000000001,105.340000000000003,-99.019999999999996],[2428,true,true,null,370.600000000000023,1.0,null,null,1.063143,false,500.0,166.670000000000016,214.099999999999994,-92.650000000000006],[2445,true,true,null,1367.0,1.0,null,null,1.048971,false,2000.0,666.669999999999959,921.620000000000004,-304.730000000000018],[2446,true,true,null,-14.5,1.0,null,null,1.031874,false,100.0,-19.329999999999998,49.039999999999999,-32.310000000000002],[2451,true,true,null,103.0,1.0,null,null,1.026174,false,108.150000000000006,0.0,47.329999999999998,-61.689999999999998],[2459,true,true,null,37.789999999999999,1.0,null,null,0.979599,false,80.0,0.0,38.009999999999998,-11.74],[2467,true,true,null,46.799999999999997,1.0,null,null,1.046839,false,80.0,0.0,38.020000000000003,-11.81],[2480,true,true,null,31.800000000000001,1.0,null,null,1.045831,false,80.0,0.0,39.119999999999997,-10.710000000000001],[2488,true,true,null,286.5,1.0,null,null,1.046032,false,360.0,0.0,162.400000000000006,-61.789999999999999],[2500,true,true,null,76.799999999999997,1.0,null,null,1.044679,false,80.0,0.0,34.560000000000002,-15.289999999999999],[281,true,true,null,1245.700000000000046,1.0,null,null,1.077605,false,2000.0,666.669999999999959,924.639999999999986,-300.350000000000023],[2508,true,true,null,-92.5,1.0,null,null,1.025789,false,100.0,-123.329999999999998,38.460000000000001,-11.359999999999999],[2514,true,true,null,27.699999999999999,1.0,null,null,0.998497,false,40.0,0.0,18.43,-6.44],[2516,true,true,null,3.85,1.0,null,null,1.013559,false,234.52000000000001,0.0,78.129999999999995,-77.070000000000007],[2518,true,true,null,-48.0,1.0,null,null,1.028396,false,100.0,-64.0,27.239999999999998,-9.550000000000001],[2533,true,true,null,179.0,1.0,null,null,1.066932,false,200.0,66.670000000000002,86.230000000000004,-36.329999999999998],[2538,true,true,null,-122.400000000000006,1.0,null,null,1.024702,false,100.0,-163.200000000000017,25.989999999999998,-10.9],[2540,true,true,null,123.200000000000003,1.0,null,null,1.02273,false,160.0,0.0,73.340000000000003,-26.440000000000001],[2546,true,true,null,-16.699999999999999,1.0,null,null,1.014326,false,100.0,-22.27,2.6,-2.32],[2549,true,true,null,54.299999999999997,1.0,null,null,1.047876,false,120.0,0.0,58.229999999999997,-16.489999999999998],[2567,true,true,null,80.909999999999997,1.0,null,null,1.020248,false,200.0,0.0,91.25,-33.520000000000003],[24,true,true,null,319.600000000000023,1.0,null,null,1.028526,false,400.0,0.0,179.430000000000007,-66.210000000000008],[288,true,true,null,52.700000000000003,1.0,null,null,1.046783,false,60.0,0.0,26.02,-10.81],[2568,true,true,null,-17.850000000000001,1.0,null,null,1.027206,false,100.0,-23.800000000000001,18.859999999999999,-6.03],[2571,true,true,null,411.199999999999989,1.0,null,null,1.044176,false,600.0,200.0,276.189999999999998,-91.629999999999996],[2587,true,true,null,-196.099999999999994,1.0,null,null,1.028186,false,100.0,-261.470000000000027,17.059999999999999,-7.84],[2588,true,true,null,567.0,1.0,null,null,1.02499,false,600.0,200.0,250.659999999999997,-116.189999999999998],[2593,true,true,null,127.200000000000003,1.0,null,null,1.058099,false,180.0,0.0,81.790000000000006,-28.68],[2594,true,true,null,994.200000000000045,1.0,null,null,1.073729,false,1200.0,400.0,533.870000000000004,-202.069999999999993],[2599,true,true,null,76.480000000000004,1.0,null,null,1.047035,false,160.0,0.0,76.079999999999998,-23.59],[2603,true,true,null,-196.5,1.0,null,null,1.031949,false,100.0,-262.0,17.140000000000001,-7.73],[2605,true,true,null,291.900000000000034,1.0,null,null,1.041601,false,300.0,0.0,128.02000000000001,-56.229999999999997],[2619,true,true,null,201.0,1.0,null,null,1.030287,false,240.0,0.0,107.620000000000004,-41.920000000000002],[293,true,true,null,250.0,1.0,null,null,1.003375,false,480.0,160.0,45.100000000000001,-21.32],[2623,true,true,null,53.399999999999999,1.0,null,null,1.037675,false,120.0,0.0,58.270000000000003,-16.440000000000001],[2626,true,true,null,1367.0,1.0,null,null,1.048065,false,2000.0,666.669999999999959,921.519999999999982,-304.79000000000002],[2641,true,true,null,1897.0,1.0,null,null,1.052836,false,2000.0,666.669999999999959,848.759999999999991,-377.670000000000016],[2648,true,true,null,156.900000000000006,1.0,null,null,1.087006,false,300.0,100.0,141.849999999999994,-42.119999999999997],[2649,true,true,null,116.600000000000008,1.0,null,null,1.036234,false,120.0,0.0,50.850000000000001,-22.91],[2652,true,true,null,41.920000000000002,1.0,null,null,1.032593,false,120.0,0.0,51.939999999999998,-22.800000000000001],[2657,true,true,null,308.310000000000002,1.0,null,null,1.020867,false,700.0,200.0,124.680000000000007,-59.390000000000001],[2659,true,true,null,144.900000000000006,1.0,null,null,1.011944,false,180.0,0.0,79.689999999999998,-30.77],[2661,true,true,null,-27.870000000000001,1.0,null,null,1.014043,false,100.0,-37.159999999999997,27.989999999999998,-8.81],[2663,true,true,null,371.590000000000032,1.0,null,null,1.049614,false,400.0,133.330000000000012,171.719999999999999,-73.549999999999997],[298,true,true,null,975.899999999999977,1.0,null,null,1.039248,false,1600.0,533.330000000000041,721.25,-258.70999999999998],[2684,true,true,null,157.200000000000017,1.0,null,null,1.010899,false,180.0,0.0,78.090000000000003,-32.380000000000003],[2685,true,true,null,-72.900000000000006,1.0,null,null,1.016926,false,100.0,-97.200000000000003,69.010000000000005,-69.900000000000006],[2709,true,true,null,768.700000000000046,1.0,null,null,1.035068,false,1480.0,133.330000000000012,665.769999999999982,-243.0],[2718,true,true,null,77.600000000000008,1.0,null,null,1.041789,false,196.719999999999999,0.0,70.150000000000006,-58.100000000000001],[2724,true,true,null,105.450000000000003,1.0,null,null,1.014934,false,160.0,0.0,69.219999999999999,-30.350000000000001],[2728,true,true,null,38.469999999999999,1.0,null,null,1.050822,false,120.0,0.0,57.409999999999997,-17.32],[2735,true,true,null,204.300000000000011,1.0,null,null,1.032664,false,300.0,0.0,137.02000000000001,-46.75],[2742,true,true,null,69.200000000000003,1.0,null,null,1.039467,false,80.0,0.0,35.579999999999998,-14.26],[2757,true,true,null,608.899999999999977,1.0,null,null,1.050098,false,1600.0,466.670000000000016,748.509999999999991,-231.560000000000002],[2763,true,true,null,575.399999999999977,1.0,null,null,1.045688,false,900.0,300.0,416.699999999999989,-134.5],[308,true,true,null,95.100000000000009,1.0,null,null,0.989085,false,100.0,0.0,42.619999999999998,-18.719999999999999],[2774,true,true,null,660.0,1.0,null,null,1.024728,false,744.0,248.0,313.819999999999993,-111.370000000000005],[2785,true,true,null,1221.200000000000045,1.0,null,null,1.078984,false,2000.0,666.669999999999959,934.810000000000059,-291.470000000000027],[2790,true,true,null,-4.7,1.0,null,null,1.015494,false,100.0,-6.27,11.279999999999999,-11.470000000000001],[2796,true,true,null,-95.100000000000009,1.0,null,null,1.041702,false,100.0,-126.799999999999997,88.329999999999998,-36.329999999999998],[2798,true,true,null,66.799999999999997,1.0,null,null,1.059752,false,160.0,0.0,77.909999999999997,-21.66],[2799,true,true,null,1048.200000000000045,1.0,null,null,1.02478,false,1200.0,400.0,525.340000000000032,-209.840000000000003],[2809,true,true,null,283.5,1.0,null,null,1.036015,false,297.680000000000007,0.0,90.600000000000008,-146.960000000000008],[2815,true,true,null,1250.400000000000091,1.0,null,null,1.049577,false,2000.0,666.669999999999959,926.259999999999991,-297.740000000000009],[2816,true,true,null,71.799999999999997,1.0,null,null,0.987457,false,80.0,0.0,34.799999999999997,-14.94],[2821,true,true,null,86.400000000000006,1.0,null,null,1.020284,false,120.0,0.0,54.619999999999998,-19.109999999999999],[309,true,true,null,346.180000000000007,1.0,null,null,1.155322,false,700.0,200.0,99999.0,-99999.0],[2825,true,true,null,160.0,1.0,null,null,1.022551,false,168.0,0.0,57.740000000000002,-94.260000000000005],[2834,true,true,null,756.519999999999982,1.0,null,null,1.043216,false,1200.0,400.0,551.019999999999982,-184.740000000000009],[2838,true,true,null,29.199999999999999,1.0,null,null,1.03617,false,60.0,0.0,28.379999999999999,-8.380000000000001],[2840,true,true,null,80.700000000000003,1.0,null,null,1.080183,false,120.0,0.0,55.979999999999997,-18.760000000000002],[2841,true,true,null,31.600000000000001,1.0,null,null,1.037135,false,40.0,0.0,18.190000000000001,-6.74],[2851,true,true,null,138.400000000000006,1.0,null,null,1.063812,false,200.0,0.0,91.200000000000003,-31.350000000000001],[2852,true,true,null,126.0,1.0,null,null,0.998154,false,160.0,0.0,72.019999999999996,-27.469999999999999],[2861,true,true,null,-109.600000000000008,1.0,null,null,1.027949,false,100.0,-146.129999999999995,37.939999999999998,-11.890000000000001],[2866,true,true,null,-120.100000000000009,1.0,null,null,1.047385,false,100.0,-160.129999999999995,110.290000000000006,-93.129999999999995],[2871,true,true,null,4.5,1.0,null,null,1.054344,false,9.050000000000001,0.0,3.31,-2.54],[312,true,true,null,9.6,1.0,null,null,1.025259,false,10.08,0.0,4.83,-7.17],[2873,true,true,null,-144.069999999999993,1.0,null,null,1.006921,false,100.0,-192.099999999999994,21.010000000000002,-19.609999999999999],[2877,true,true,null,8.949999999999999,1.0,null,null,1.047923,false,214.860000000000014,0.0,72.950000000000003,-68.710000000000008],[2880,true,true,null,131.900000000000006,1.0,null,null,1.024879,false,186.97999999999999,0.0,134.180000000000007,-78.850000000000008],[2885,true,true,null,60.899999999999999,1.0,null,null,1.057004,false,120.0,0.0,57.689999999999998,-17.02],[2895,true,true,null,-223.400000000000006,1.0,null,null,1.009058,false,100.0,-297.870000000000004,1.52,-0.73],[2896,true,true,null,99.600000000000008,1.0,null,null,1.079272,false,200.0,66.670000000000002,94.680000000000007,-27.870000000000001],[2901,true,true,null,20.899999999999999,1.0,null,null,1.069,false,40.0,0.0,19.190000000000001,-5.72],[2919,true,true,null,658.5,1.0,null,null,1.036969,false,1200.0,400.0,563.930000000000064,-170.680000000000007],[2922,true,true,null,962.100000000000023,1.0,null,null,1.040379,false,1200.0,400.0,536.840000000000032,-198.879999999999996],[2929,true,true,null,53.200000000000003,1.0,null,null,1.054065,false,80.0,0.0,37.240000000000002,-12.539999999999999],[319,true,true,null,1760.0,1.0,null,null,1.013336,false,1812.0,604.0,320.04000000000002,-843.960000000000036],[2933,true,true,null,3.4,1.0,null,null,1.049297,false,6.83,0.0,2.51,-1.91],[2941,true,true,null,313.100000000000023,1.0,null,null,1.049098,false,600.0,200.0,283.420000000000016,-84.450000000000003],[2945,true,true,null,-222.099999999999994,1.0,null,null,1.012911,false,100.0,-296.129999999999995,1.83,-0.87],[2955,true,true,null,362.800000000000011,1.0,null,null,1.032523,false,400.0,133.330000000000012,172.530000000000001,-72.75],[2972,true,true,null,930.100000000000023,1.0,null,null,1.088757,false,1000.0,333.329999999999984,432.470000000000027,-180.670000000000016],[2974,true,true,null,-23.66,1.0,null,null,1.03823,false,100.0,-31.550000000000001,18.350000000000001,-6.58],[2981,true,true,null,79.400000000000006,1.0,null,null,1.020472,false,80.0,0.0,34.039999999999999,-15.779999999999999],[2984,true,true,null,46.600000000000001,1.0,null,null,1.046452,false,493.350000000000023,0.0,184.460000000000008,-132.670000000000016],[2986,true,true,null,296.800000000000011,1.0,null,null,1.060068,false,320.0,0.0,139.640000000000015,-59.75],[2988,true,true,null,-542.0,1.0,null,null,1.066576,false,100.0,-722.669999999999959,55.219999999999999,-19.48],[323,true,true,null,94.0,1.0,null,null,1.063285,false,200.0,0.0,95.320000000000007,-27.289999999999999],[2991,true,true,null,200.099999999999994,1.0,null,null,1.104121,false,400.0,133.330000000000012,189.580000000000012,-55.329999999999998],[2996,true,true,null,2334.5,1.0,null,null,1.089588,false,3200.0,1066.670000000000073,1434.049999999999955,-527.419999999999959],[3001,true,true,null,-18.0,1.0,null,null,1.015981,false,100.0,-24.0,21.559999999999999,-26.440000000000001],[3002,true,true,null,176.900000000000006,1.0,null,null,1.048371,false,400.0,100.0,370.579999999999984,-119.769999999999996],[3008,true,true,null,-103.0,1.0,null,null,1.016186,false,100.0,-137.330000000000012,47.719999999999999,-13.5],[3017,true,true,null,162.5,1.0,null,null,1.049496,false,200.0,0.0,89.609999999999999,-34.82],[3027,true,true,null,855.700000000000046,1.0,null,null,1.02789,false,1000.0,333.329999999999984,441.850000000000023,-171.27000000000001],[3028,true,true,null,20.870000000000001,1.0,null,null,1.011669,false,80.0,0.0,37.490000000000002,-12.24],[3034,true,true,null,676.200000000000045,1.0,null,null,1.0405,false,1200.0,400.0,564.620000000000004,-170.920000000000016],[3037,true,true,null,292.199999999999989,1.0,null,null,1.041581,false,300.0,0.0,127.909999999999997,-56.340000000000003],[324,true,true,null,-21.399999999999999,1.0,null,null,1.009625,false,100.0,-28.530000000000001,1.93,-1.01],[3038,true,true,null,-59.310000000000002,1.0,null,null,1.027247,false,100.0,-79.079999999999998,17.43,-7.49],[3044,true,true,null,-58.399999999999999,1.0,null,null,1.015762,false,100.0,-77.870000000000004,23.050000000000001,-26.170000000000002],[3053,true,true,null,210.400000000000006,1.0,null,null,0.995142,false,400.0,133.330000000000012,167.719999999999999,-77.109999999999999],[3063,true,true,null,224.0,1.0,null,null,1.022454,false,384.0,128.0,137.759999999999991,-138.960000000000008],[3077,true,true,null,340.5,1.0,null,null,1.024108,false,500.0,166.670000000000016,228.189999999999998,-78.060000000000002],[3083,true,true,null,-82.329999999999998,1.0,null,null,1.042602,false,100.0,-109.769999999999996,188.930000000000007,-56.32],[3087,true,true,null,203.400000000000006,1.0,null,null,1.043452,false,240.0,0.0,106.960000000000008,-42.490000000000002],[3089,true,true,null,47.0,1.0,null,null,1.003861,false,80.0,0.0,38.060000000000002,-11.800000000000001],[3090,true,true,null,31.399999999999999,1.0,null,null,1.021666,false,33.030000000000001,0.0,15.99,-26.25],[3095,true,true,null,-59.299999999999997,1.0,null,null,1.008864,false,100.0,-79.070000000000007,21.039999999999999,-36.549999999999997],[327,true,true,null,-77.900000000000006,1.0,null,null,1.017618,false,100.0,-103.870000000000004,188.909999999999997,-56.140000000000001],[3112,true,true,null,-20.300000000000001,1.0,null,null,1.064513,false,100.0,-27.07,22.390000000000001,-20.989999999999998],[3113,true,true,null,38.600000000000001,1.0,null,null,1.063117,false,40.0,0.0,17.329999999999998,-7.61],[3126,true,true,null,580.700000000000046,1.0,null,null,1.097365,false,600.0,200.0,250.27000000000001,-116.969999999999999],[3129,true,true,null,357.400000000000034,1.0,null,null,1.038694,false,600.0,200.0,278.160000000000025,-88.469999999999999],[3132,true,true,null,85.540000000000006,1.0,null,null,1.05743,false,240.0,0.0,113.969999999999999,-35.560000000000002],[3133,true,true,null,-136.300000000000011,1.0,null,null,1.034426,false,100.0,-181.72999999999999,70.25,-29.329999999999998],[3134,true,true,null,54.600000000000001,1.0,null,null,1.03216,false,198.080000000000012,0.0,161.689999999999998,-103.109999999999999],[3146,true,true,null,84.200000000000003,1.0,null,null,1.063849,false,200.0,56.130000000000003,187.349999999999994,-57.759999999999998],[3149,true,true,null,-31.34,1.0,null,null,1.010317,false,100.0,-41.789999999999999,6.66,-5.1],[3151,true,true,null,94.5,1.0,null,null,1.069675,false,120.0,0.0,54.68,-20.129999999999999],[31,true,true,null,8.0,1.0,null,null,1.003223,false,16.199999999999999,0.0,5.91,-4.56],[337,true,true,null,83.700000000000003,1.0,null,null,1.046957,false,120.0,0.0,55.539999999999999,-19.16],[3155,true,true,null,-63.200000000000003,1.0,null,null,1.024848,false,100.0,-84.269999999999996,21.530000000000001,-32.380000000000003],[3156,true,true,null,9.0,1.0,null,null,1.021742,false,18.41,0.0,6.78,-5.13],[3157,true,true,null,-23.699999999999999,1.0,null,null,1.058123,false,100.0,-31.600000000000001,138.810000000000002,-44.5],[3162,true,true,null,33.899999999999999,1.0,null,null,1.002654,false,206.860000000000014,0.0,67.920000000000002,-69.019999999999996],[3182,true,true,null,98.700000000000003,1.0,null,null,1.061538,false,120.0,0.0,53.700000000000003,-20.98],[3188,true,true,null,77.100000000000009,1.0,null,null,1.027406,false,100.0,0.0,44.68,-16.579999999999998],[3197,true,true,null,144.0,1.0,null,null,1.008016,false,240.0,0.0,113.549999999999997,-35.859999999999999],[3204,true,true,null,416.699999999999989,1.0,null,null,1.043987,false,540.0,0.0,243.610000000000014,-88.460000000000008],[3217,true,true,null,-107.400000000000006,1.0,null,null,1.02981,false,100.0,-143.200000000000017,36.789999999999999,-13.0],[3218,true,true,null,-36.5,1.0,null,null,1.06035,false,100.0,-48.670000000000002,180.550000000000011,-64.629999999999996],[346,true,true,null,50.799999999999997,1.0,null,null,1.020949,false,53.420000000000002,0.0,33.329999999999998,-42.670000000000002],[3226,true,true,null,360.0,1.0,null,null,1.051132,false,400.0,133.330000000000012,173.960000000000008,-71.560000000000002],[3228,true,true,null,323.199999999999989,1.0,null,null,1.034116,false,400.0,133.330000000000012,177.610000000000014,-67.659999999999997],[3232,true,true,null,13.0,1.0,null,null,1.006814,false,420.0,0.0,178.469999999999999,-79.109999999999999],[3233,true,true,null,108.240000000000009,1.0,null,null,1.034756,false,120.0,0.0,56.140000000000001,-17.530000000000001],[3235,true,true,null,359.300000000000011,1.0,null,null,1.022886,false,400.0,133.330000000000012,173.849999999999994,-71.310000000000002],[3239,true,true,null,-42.299999999999997,1.0,null,null,1.048993,false,100.0,-56.399999999999999,62.229999999999997,-51.369999999999997],[3250,true,true,null,285.600000000000023,1.0,null,null,1.085025,false,800.0,266.670000000000016,378.639999999999986,-111.909999999999997],[3252,true,true,null,123.100000000000009,1.0,null,null,1.024777,false,129.25,0.0,64.469999999999999,-72.730000000000004],[3262,true,true,null,30.390000000000001,1.0,null,null,1.036588,false,80.0,0.0,38.649999999999999,-11.199999999999999],[3263,true,true,null,37.799999999999997,1.0,null,null,1.039352,false,45.0,0.0,17.359999999999999,-7.56],[347,true,true,null,160.400000000000006,1.0,null,null,1.057894,false,240.0,0.0,110.570000000000007,-36.899999999999999],[3277,true,true,null,46.729999999999997,1.0,null,null,1.024557,false,120.0,0.0,52.310000000000002,-22.52],[3283,true,true,null,130.199999999999989,1.0,null,null,1.031123,false,180.0,0.0,81.969999999999999,-28.66],[3284,true,true,null,654.800000000000068,1.0,null,null,1.04544,false,800.0,266.670000000000016,356.439999999999998,-134.090000000000003],[3289,true,true,null,176.700000000000017,1.0,null,null,1.076876,false,180.0,0.0,76.540000000000006,-34.200000000000003],[3290,true,true,null,326.400000000000034,1.0,null,null,1.020441,false,500.0,166.670000000000016,229.0,-77.019999999999996],[3291,true,true,null,309.0,1.0,null,null,0.995766,false,320.0,106.670000000000002,115.170000000000002,-182.610000000000014],[3297,true,true,null,206.480000000000018,1.0,null,null,1.06827,false,240.0,0.0,103.579999999999998,-45.890000000000001],[3303,true,true,null,334.5,1.0,null,null,1.024949,false,414.0,138.0,83.579999999999998,-174.420000000000016],[3305,true,true,null,861.300000000000068,1.0,null,null,1.065504,false,1000.0,333.329999999999984,439.199999999999989,-173.430000000000007],[3309,true,true,null,29.800000000000001,1.0,null,null,1.032355,false,61.060000000000002,0.0,22.579999999999998,-16.940000000000001],[351,true,true,null,1250.400000000000091,1.0,null,null,1.048835,false,2000.0,666.669999999999959,926.350000000000023,-297.680000000000007],[3321,true,true,null,-25.59,1.0,null,null,1.029763,false,100.0,-34.119999999999997,46.859999999999999,-14.26],[3322,true,true,null,-12.51,1.0,null,null,1.021399,false,100.0,-16.68,4.45,-7.55],[3323,true,true,null,-26.48,1.0,null,null,1.012342,false,100.0,-35.299999999999997,38.130000000000003,-11.640000000000001],[3325,true,true,null,441.180000000000007,1.0,null,null,1.057931,false,1200.0,400.0,564.440000000000055,-170.469999999999999],[3329,true,true,null,44.119999999999997,1.0,null,null,1.049026,false,200.0,0.0,93.359999999999999,-29.109999999999999],[3333,true,true,null,-45.5,1.0,null,null,1.027102,false,100.0,-60.670000000000002,34.409999999999997,-15.34],[3334,true,true,null,-600.0,1.0,null,null,1.08064,false,630.0,-630.0,99999.0,-99999.0],[3335,true,true,null,-42.299999999999997,1.0,null,null,1.010354,false,100.0,-56.399999999999999,4.85,-4.13],[3339,true,true,null,-287.699999999999989,1.0,null,null,1.027329,false,100.0,-383.600000000000023,55.0,-19.809999999999999],[3344,true,true,null,-111.900000000000006,1.0,null,null,0.998722,false,100.0,-149.200000000000017,39.100000000000001,-47.420000000000002],[360,true,true,null,238.300000000000011,1.0,null,null,1.05949,false,400.0,133.330000000000012,186.390000000000015,-58.5],[3345,true,true,null,56.799999999999997,1.0,null,null,1.014446,false,80.0,0.0,37.100000000000001,-12.76],[3348,true,true,null,136.800000000000011,1.0,null,null,1.047992,false,200.0,0.0,91.480000000000004,-31.109999999999999],[3352,true,true,null,19.07,1.0,null,null,1.045086,false,80.0,0.0,38.200000000000003,-11.609999999999999],[3361,true,true,null,59.200000000000003,1.0,null,null,1.060735,false,80.0,0.0,36.829999999999998,-13.029999999999999],[3363,true,true,null,44.5,1.0,null,null,1.059596,false,135.27000000000001,0.0,47.189999999999998,-41.439999999999998],[3370,true,true,null,61.799999999999997,1.0,null,null,1.029674,false,80.0,0.0,36.310000000000002,-13.470000000000001],[3374,true,true,null,25.600000000000001,1.0,null,null,1.035048,false,100.0,17.07,175.659999999999997,-69.570000000000007],[3388,true,true,null,78.600000000000008,1.0,null,null,1.037252,false,120.0,0.0,56.350000000000001,-18.440000000000001],[3389,true,true,null,2.4,1.0,null,null,1.035344,false,120.0,0.0,54.590000000000003,-20.190000000000001],[3395,true,true,null,249.099999999999994,1.0,null,null,1.095689,false,300.0,0.0,131.75,-52.039999999999999],[365,true,true,null,185.599999999999994,1.0,null,null,1.008853,false,196.0,65.329999999999998,61.969999999999999,-120.269999999999996],[3410,true,true,null,-123.700000000000003,1.0,null,null,1.024699,false,100.0,-164.930000000000007,25.57,-11.26],[3415,true,true,null,171.300000000000011,1.0,null,null,0.99364,false,180.0,0.0,76.430000000000007,-34.119999999999997],[3421,true,true,null,53.700000000000003,1.0,null,null,1.068276,false,120.0,0.0,58.189999999999998,-16.5],[3425,true,true,null,70.0,1.0,null,null,1.01782,false,73.420000000000002,0.0,44.780000000000001,-57.030000000000001],[3430,true,true,null,127.600000000000008,1.0,null,null,1.037857,false,200.0,0.0,92.260000000000005,-30.260000000000002],[3435,true,true,null,521.0,1.0,null,null,1.052704,false,1200.0,400.0,550.970000000000027,-184.890000000000015],[3437,true,true,null,-87.5,1.0,null,null,1.048328,false,100.0,-116.670000000000002,37.399999999999999,-12.42],[3440,true,true,null,159.200000000000017,1.0,null,null,1.059719,false,200.0,66.670000000000002,89.450000000000003,-33.280000000000001],[3479,true,true,null,239.599999999999994,1.0,null,null,1.039565,false,400.0,133.330000000000012,185.189999999999998,-59.549999999999997],[3491,true,true,null,-370.800000000000011,1.0,null,null,1.049517,false,100.0,-494.400000000000034,53.75,-21.079999999999998],[371,true,true,null,-54.899999999999999,1.0,null,null,1.074991,false,100.0,-73.200000000000003,282.949999999999989,-84.299999999999997],[3506,true,true,null,109.799999999999997,1.0,null,null,1.009668,false,120.0,0.0,51.579999999999998,-22.129999999999999],[3507,true,true,null,96.900000000000006,1.0,null,null,1.05417,false,120.0,0.0,54.090000000000003,-20.640000000000001],[3510,true,true,null,522.799999999999954,1.0,null,null,1.086282,false,800.0,266.670000000000016,366.740000000000009,-122.450000000000003],[3512,true,true,null,829.800000000000068,1.0,null,null,1.027289,false,900.0,300.0,387.879999999999996,-163.400000000000006],[3514,true,true,null,-85.400000000000006,1.0,null,null,1.053923,false,100.0,-113.870000000000004,38.539999999999999,-11.220000000000001],[3517,true,true,null,808.659999999999968,1.0,null,null,1.006674,false,1000.0,333.329999999999984,433.829999999999984,-177.900000000000006],[3546,true,true,null,140.0,1.0,null,null,1.05946,false,200.0,66.670000000000002,91.060000000000002,-31.5],[3549,true,true,null,341.100000000000023,1.0,null,null,1.042925,false,360.0,0.0,157.150000000000006,-67.400000000000006],[3550,true,true,null,-37.100000000000001,1.0,null,null,1.039557,false,100.0,-49.469999999999999,175.509999999999991,-69.760000000000005],[3564,true,true,null,15.880000000000001,1.0,null,null,1.079183,false,80.0,0.0,38.829999999999998,-10.970000000000001],[381,true,true,null,25.68,1.0,null,null,1.060853,false,80.0,0.0,38.399999999999999,-11.44],[3569,true,true,null,298.900000000000034,1.0,null,null,1.062522,false,300.0,100.0,124.150000000000006,-59.210000000000001],[3570,true,true,null,233.599999999999994,1.0,null,null,0.997978,false,240.0,0.0,100.909999999999997,-46.43],[3579,true,true,null,539.0,1.0,null,null,1.071709,false,600.0,0.0,261.699999999999989,-107.359999999999999],[3581,true,true,null,-321.800000000000011,1.0,null,null,1.040375,false,100.0,-429.069999999999993,52.829999999999998,-52.039999999999999],[3582,true,true,null,36.299999999999997,1.0,null,null,1.041006,false,40.0,0.0,17.699999999999999,-7.25],[3583,true,true,null,-88.400000000000006,1.0,null,null,1.016191,false,100.0,-117.870000000000004,19.800000000000001,-15.119999999999999],[3584,true,true,null,50.799999999999997,1.0,null,null,1.001933,false,80.0,0.0,37.43,-12.32],[3589,true,true,null,-31.0,1.0,null,null,1.014988,false,100.0,-41.329999999999998,2.66,-1.25],[3598,true,true,null,-85.600000000000008,1.0,null,null,1.035573,false,100.0,-114.129999999999995,38.119999999999997,-11.640000000000001],[3604,true,true,null,158.700000000000017,1.0,null,null,1.037656,false,180.0,0.0,78.600000000000008,-32.039999999999999],[388,true,true,null,69.0,1.0,null,null,1.017731,false,120.0,0.0,56.729999999999997,-17.84],[3610,true,true,null,-125.400000000000006,1.0,null,null,1.0427,false,100.0,-167.200000000000017,54.590000000000003,-20.120000000000001],[3617,true,true,null,54.490000000000002,1.0,null,null,1.059129,false,80.0,0.0,36.219999999999999,-13.68],[3620,true,true,null,202.030000000000001,1.0,null,null,1.018584,false,300.0,0.0,130.009999999999991,-54.039999999999999],[3624,true,true,null,150.0,1.0,null,null,1.035196,false,157.5,0.0,58.770000000000003,-75.060000000000002],[3627,true,true,null,490.0,1.0,null,null,1.011525,false,790.0,263.329999999999984,253.060000000000002,-125.280000000000001],[3628,true,true,null,54.969999999999999,1.0,null,null,1.019084,false,160.0,0.0,76.850000000000008,-22.640000000000001],[3633,true,true,null,412.0,1.0,null,null,1.058312,false,500.0,166.670000000000016,217.439999999999998,-88.200000000000003],[3634,true,true,null,78.200000000000003,1.0,null,null,1.027369,false,82.109999999999999,0.0,22.559999999999999,-41.439999999999998],[3637,true,true,null,214.099999999999994,1.0,null,null,1.027553,false,335.579999999999984,0.0,153.72999999999999,-109.030000000000001],[3643,true,true,null,16.399999999999999,1.0,null,null,1.01566,false,66.090000000000003,0.0,22.350000000000001,-21.219999999999999],[393,true,true,null,2404.400000000000091,1.0,null,null,1.063147,false,2800.0,933.330000000000041,1224.259999999999991,-490.170000000000016],[3655,true,true,null,-26.199999999999999,1.0,null,null,1.062208,false,100.0,-34.93,116.070000000000007,-33.32],[3658,true,true,null,1097.400000000000091,1.0,null,null,1.057396,false,2000.0,666.669999999999959,943.639999999999986,-282.009999999999991],[3659,true,true,null,-128.539999999999992,1.0,null,null,1.032448,false,100.0,-171.379999999999995,35.560000000000002,-48.530000000000001],[3660,true,true,null,861.200000000000045,1.0,null,null,1.055245,false,1000.0,333.329999999999984,441.04000000000002,-172.050000000000011],[3672,true,true,null,424.5,1.0,null,null,1.011536,false,600.0,200.0,257.610000000000014,-110.430000000000007],[3688,true,true,null,5.2,1.0,null,null,1.029361,false,6.2,0.0,2.18,-1.05],[3690,true,true,null,239.599999999999994,1.0,null,null,1.030004,false,300.0,100.0,133.840000000000003,-49.890000000000001],[3691,true,true,null,164.400000000000006,1.0,null,null,1.024383,false,420.0,0.0,180.110000000000014,-77.840000000000003],[3695,true,true,null,662.800000000000068,1.0,null,null,1.041264,false,800.0,266.670000000000016,354.579999999999984,-135.699999999999989],[3697,true,true,null,-12.58,1.0,null,null,1.039409,false,100.0,-16.780000000000001,36.340000000000003,-13.470000000000001],[32,true,true,null,5.3,1.0,null,null,1.026534,false,5.38,0.0,2.27,-1.08],[405,true,true,null,31.0,1.0,null,null,1.012399,false,61.229999999999997,0.0,22.219999999999999,-17.350000000000001],[3710,true,true,null,40.399999999999999,1.0,null,null,0.999169,false,80.0,0.0,38.359999999999999,-11.380000000000001],[3719,true,true,null,-75.400000000000006,1.0,null,null,1.050724,false,100.0,-100.530000000000001,18.399999999999999,-6.49],[3722,true,true,null,1146.299999999999954,1.0,null,null,1.048349,false,1200.0,400.0,514.149999999999977,-221.730000000000018],[3723,true,true,null,94.900000000000006,1.0,null,null,1.020045,false,100.0,0.0,42.939999999999998,-18.469999999999999],[3738,true,true,null,34.100000000000001,1.0,null,null,1.035011,false,80.0,0.0,38.899999999999999,-10.9],[3740,true,true,null,854.700000000000046,1.0,null,null,1.029075,false,1200.0,400.0,548.57000000000005,-187.159999999999997],[3742,true,true,null,-41.479999999999997,1.0,null,null,1.026432,false,100.0,-55.310000000000002,28.379999999999999,-8.4],[3745,true,true,null,10.66,1.0,null,null,1.035948,false,80.0,0.0,38.060000000000002,-11.720000000000001],[3749,true,true,null,169.920000000000016,1.0,null,null,1.066155,false,320.0,0.0,148.02000000000001,-51.700000000000003],[3752,true,true,null,572.399999999999977,1.0,null,null,1.055722,false,600.0,200.0,255.789999999999992,-112.329999999999998],[408,true,true,null,-62.0,1.0,null,null,1.032831,false,100.0,-82.670000000000002,24.32,-29.670000000000002],[3754,true,true,null,-141.700000000000017,1.0,null,null,0.993935,false,100.0,-188.930000000000007,32.420000000000002,-42.82],[3758,true,true,null,147.599999999999994,1.0,null,null,1.031969,false,200.0,0.0,90.310000000000002,-32.270000000000003],[3765,true,true,null,16.699999999999999,1.0,null,null,1.0335,false,66.780000000000001,0.0,32.060000000000002,-37.75],[3768,true,true,null,162.400000000000006,1.0,null,null,1.021894,false,240.0,0.0,110.340000000000003,-37.119999999999997],[3781,true,true,null,-126.900000000000006,1.0,null,null,1.02915,false,100.0,-169.200000000000017,17.760000000000002,-7.18],[3790,true,true,null,90.600000000000008,1.0,null,null,0.995335,false,120.0,0.0,54.700000000000003,-19.969999999999999],[3791,true,true,null,85.400000000000006,1.0,null,null,1.052349,false,240.0,0.0,108.060000000000002,-41.25],[3796,true,true,null,-204.200000000000017,1.0,null,null,1.060935,false,100.0,-272.269999999999982,35.409999999999997,-14.369999999999999],[3799,true,true,null,71.900000000000006,1.0,null,null,1.036528,false,76.969999999999999,0.0,35.399999999999999,-48.460000000000001],[3807,true,true,null,615.0,1.0,null,null,1.073884,false,1000.0,333.329999999999984,467.019999999999982,-146.120000000000005],[410,true,true,null,35.899999999999999,1.0,null,null,1.03248,false,40.0,0.0,17.66,-7.27],[3808,true,true,null,257.0,1.0,null,null,1.081564,false,700.0,233.330000000000012,313.009999999999991,-116.730000000000004],[3809,true,true,null,89.600000000000008,1.0,null,null,1.038535,false,200.0,66.670000000000002,94.810000000000002,-27.359999999999999],[3820,true,true,null,292.0,1.0,null,null,1.022257,false,400.0,133.330000000000012,165.759999999999991,-79.170000000000002],[3824,true,true,null,837.300000000000068,1.0,null,null,1.024468,false,900.0,300.0,388.170000000000016,-163.400000000000006],[3839,true,true,null,-22.949999999999999,1.0,null,null,1.027073,false,100.0,-30.600000000000001,36.289999999999999,-35.420000000000002],[3840,true,true,null,143.400000000000006,1.0,null,null,1.03976,false,180.0,0.0,79.519999999999996,-30.850000000000001],[3849,true,true,null,239.599999999999994,1.0,null,null,1.039563,false,400.0,133.330000000000012,185.189999999999998,-59.549999999999997],[3850,true,true,null,-41.479999999999997,1.0,null,null,1.022667,false,100.0,-55.310000000000002,28.23,-8.550000000000001],[3852,true,true,null,287.0,1.0,null,null,1.080197,false,400.0,133.330000000000012,182.72999999999999,-62.539999999999999],[3868,true,true,null,855.600000000000023,1.0,null,null,1.028967,false,1000.0,333.329999999999984,440.689999999999998,-172.140000000000015],[412,true,true,null,231.0,1.0,null,null,1.048421,false,280.0,0.0,124.120000000000005,-49.840000000000003],[3869,true,true,null,134.400000000000006,1.0,null,null,1.023622,false,154.560000000000002,0.0,85.5,-135.090000000000003],[3875,true,true,null,-25.100000000000001,1.0,null,null,1.04066,false,100.0,-33.469999999999999,34.270000000000003,-15.52],[3878,true,true,null,140.689999999999998,1.0,null,null,1.042235,false,160.0,0.0,71.019999999999996,-28.68],[3887,true,true,null,70.200000000000003,1.0,null,null,1.064956,false,120.0,0.0,56.840000000000003,-17.84],[3899,true,true,null,99.600000000000008,1.0,null,null,1.061016,false,120.0,0.0,54.189999999999998,-20.649999999999999],[3906,true,true,null,319.600000000000023,1.0,null,null,1.025805,false,360.0,120.0,152.360000000000014,-110.070000000000007],[3907,true,true,null,4.69,1.0,null,null,0.982046,false,10.08,0.0,4.25,-2.02],[3909,true,true,null,362.0,1.0,null,null,1.069291,false,400.0,133.330000000000012,173.840000000000003,-71.400000000000006],[3915,true,true,null,-21.27,1.0,null,null,1.039177,false,100.0,-28.370000000000001,38.020000000000003,-11.77],[3919,true,true,null,349.300000000000011,1.0,null,null,1.064621,false,400.0,133.330000000000012,175.530000000000001,-69.730000000000004],[422,true,true,null,-19.199999999999999,1.0,null,null,1.030299,false,100.0,-25.600000000000001,5.22,-2.6],[3921,true,true,null,571.200000000000045,1.0,null,null,1.07194,false,600.0,200.0,256.110000000000014,-112.060000000000002],[3937,true,true,null,-43.799999999999997,1.0,null,null,1.049226,false,100.0,-58.399999999999999,25.390000000000001,-11.449999999999999],[3939,true,true,null,660.600000000000023,1.0,null,null,1.018221,false,1000.0,333.329999999999984,450.569999999999993,-161.530000000000001],[3947,true,true,null,-23.68,1.0,null,null,1.03639,false,100.0,-31.579999999999998,26.309999999999999,-10.52],[3948,true,true,null,124.0,1.0,null,null,1.052164,false,200.0,0.0,94.120000000000005,-30.350000000000001],[3950,true,true,null,-27.100000000000001,1.0,null,null,1.03485,false,100.0,-36.130000000000003,126.159999999999997,-127.560000000000002],[3957,true,true,null,79.200000000000003,1.0,null,null,1.034533,false,120.0,0.0,55.299999999999997,-18.399999999999999],[3958,true,true,null,56.399999999999999,1.0,null,null,1.052799,false,59.25,0.0,20.0,-28.579999999999998],[3962,true,true,null,207.0,1.0,null,null,1.020596,false,400.0,133.330000000000012,177.090000000000003,-68.409999999999997],[3970,true,true,null,-134.5,1.0,null,null,1.053061,false,100.0,-179.330000000000012,55.670000000000002,-19.09],[423,true,true,null,636.300000000000068,1.0,null,null,1.051241,false,700.0,233.330000000000012,304.379999999999995,-125.480000000000004],[3978,true,true,null,304.0,1.0,null,null,1.027309,false,319.199999999999989,0.0,120.700000000000003,-206.800000000000011],[3982,true,true,null,229.900000000000006,1.0,null,null,1.014828,false,300.0,100.0,134.97999999999999,-48.75],[3986,true,true,null,44.600000000000001,1.0,null,null,1.019043,false,80.0,0.0,38.049999999999997,-11.720000000000001],[3990,true,true,null,-210.890000000000015,1.0,null,null,1.035055,false,100.0,-281.189999999999998,37.630000000000002,-12.220000000000001],[3995,true,true,null,-121.200000000000003,1.0,null,null,1.034652,false,100.0,-161.599999999999994,18.620000000000001,-6.31],[4008,true,true,null,66.469999999999999,1.0,null,null,1.043192,false,120.0,0.0,54.880000000000002,-19.800000000000001],[4011,true,true,null,46.0,1.0,null,null,1.04188,false,80.0,0.0,37.869999999999998,-11.869999999999999],[4015,true,true,null,109.200000000000003,1.0,null,null,1.022786,false,120.0,0.0,52.25,-22.440000000000001],[4023,true,true,null,89.5,1.0,null,null,1.029565,false,200.0,0.0,97.070000000000007,-27.440000000000001],[4025,true,true,null,399.300000000000011,1.0,null,null,1.05562,false,500.0,166.670000000000016,223.069999999999993,-83.700000000000003],[432,true,true,null,436.0,1.0,null,null,1.024885,false,500.0,166.670000000000016,217.180000000000007,-89.219999999999999],[4027,true,true,null,-63.700000000000003,1.0,null,null,1.022221,false,100.0,-84.939999999999998,18.440000000000001,-6.51],[4045,true,true,null,323.100000000000023,1.0,null,null,1.071125,false,400.0,133.330000000000012,178.680000000000007,-66.570000000000007],[4051,true,true,null,68.200000000000003,1.0,null,null,1.059535,false,80.0,0.0,35.729999999999997,-14.119999999999999],[4055,true,true,null,-76.900000000000006,1.0,null,null,1.038451,false,100.0,-102.530000000000001,38.049999999999997,-11.77],[4070,true,true,null,100.0,1.0,null,null,1.026598,false,105.0,0.0,38.719999999999999,-50.469999999999999],[4074,true,true,null,79.600000000000008,1.0,null,null,1.033829,false,120.0,0.0,55.210000000000001,-18.48],[4075,true,true,null,162.800000000000011,1.0,null,null,1.042958,false,200.0,66.670000000000002,88.510000000000005,-34.079999999999998],[4083,true,true,null,366.100000000000023,1.0,null,null,1.053107,false,600.0,0.0,264.939999999999998,-103.740000000000009],[4084,true,true,null,188.0,1.0,null,null,1.028863,false,200.0,0.0,85.829999999999998,-36.920000000000002],[4089,true,true,null,-107.200000000000003,1.0,null,null,1.010258,false,100.0,-142.930000000000007,38.670000000000002,-58.850000000000001],[433,true,true,null,-2.8,1.0,null,null,1.037999,false,100.0,-3.73,2.75,-3.25],[4093,true,true,null,165.200000000000017,1.0,null,null,1.026088,false,400.0,100.0,223.909999999999997,-82.75],[4105,true,true,null,57.0,1.0,null,null,1.022601,false,64.260000000000005,0.0,30.600000000000001,-36.619999999999998],[4117,true,true,null,41.0,1.0,null,null,1.025736,false,80.0,0.0,38.369999999999997,-11.4],[4121,true,true,null,216.0,1.0,null,null,1.016568,false,300.0,0.0,134.140000000000015,-49.119999999999997],[4124,true,true,null,59.600000000000001,1.0,null,null,1.002666,false,80.0,0.0,36.890000000000001,-13.0],[4127,true,true,null,67.5,1.0,null,null,1.027647,false,120.0,0.0,57.030000000000001,-17.629999999999999],[4130,true,true,null,229.259999999999991,1.0,null,null,1.034065,false,400.0,133.330000000000012,184.189999999999998,-60.960000000000001],[4162,true,true,null,191.969999999999999,1.0,null,null,1.047216,false,400.0,133.330000000000012,188.069999999999993,-56.82],[4171,true,true,null,26.199999999999999,1.0,null,null,1.02637,false,40.0,0.0,18.579999999999998,-6.28],[4174,true,true,null,1530.200000000000045,1.0,null,null,1.078047,false,2000.0,666.669999999999959,904.670000000000073,-321.610000000000014],[437,true,true,null,74.0,1.0,null,null,1.038705,false,100.0,0.0,45.100000000000001,-16.18],[4177,true,true,null,514.600000000000023,1.0,null,null,1.031771,false,600.0,200.0,264.0,-103.609999999999999],[4178,true,true,null,95.100000000000009,1.0,null,null,1.010218,false,120.0,0.0,54.590000000000003,-20.210000000000001],[4181,true,true,null,710.700000000000046,1.0,null,null,1.011247,false,800.0,266.670000000000016,344.900000000000034,-146.060000000000002],[4182,true,true,null,-2.55,1.0,null,null,1.031152,false,100.0,-3.4,38.270000000000003,-11.43],[4191,true,true,null,767.399999999999977,1.0,null,null,1.076318,false,900.0,300.0,396.379999999999995,-154.990000000000009],[4194,true,true,null,-488.900000000000034,1.0,null,null,1.076653,false,100.0,-651.870000000000004,465.420000000000016,-147.310000000000002],[4197,true,true,null,87.5,1.0,null,null,1.01015,false,91.829999999999998,0.0,64.150000000000006,-56.210000000000001],[4199,true,true,null,260.100000000000023,1.0,null,null,1.016165,false,300.0,100.0,131.25,-52.450000000000003],[4203,true,true,null,-48.159999999999997,1.0,null,null,1.014828,false,100.0,-64.209999999999994,1.83,-0.85],[4206,true,true,null,423.930000000000007,1.0,null,null,1.009702,false,800.0,200.0,373.45999999999998,-118.659999999999997],[438,true,true,null,308.600000000000023,1.0,null,null,1.072491,false,400.0,0.0,175.159999999999997,-69.210000000000008],[4209,true,true,null,141.890000000000015,1.0,null,null,1.031932,false,160.0,0.0,71.609999999999999,-28.239999999999998],[4210,true,true,null,16.0,1.0,null,null,1.042563,false,40.0,0.0,19.550000000000001,-5.36],[4220,true,true,null,110.400000000000006,1.0,null,null,1.036578,false,203.75,0.0,72.120000000000005,-76.5],[4227,true,true,null,-73.100000000000009,1.0,null,null,1.060932,false,100.0,-97.469999999999999,47.619999999999998,-13.630000000000001],[4243,true,true,null,354.699999999999989,1.0,null,null,1.039687,false,800.0,266.670000000000016,354.480000000000018,-135.039999999999992],[4258,true,true,null,28.0,1.0,null,null,1.01039,false,40.0,0.0,18.41,-6.45],[4277,true,true,null,153.800000000000011,1.0,null,null,1.038839,false,167.360000000000014,0.0,75.890000000000001,-136.310000000000002],[4278,true,true,null,515.389999999999986,1.0,null,null,1.01498,false,600.0,200.0,261.600000000000023,-106.390000000000001],[4290,true,true,null,251.0,1.0,null,null,1.019753,false,420.0,0.0,196.080000000000012,-61.880000000000002],[4295,true,true,null,33.5,1.0,null,null,1.040271,false,40.0,0.0,18.02,-6.93],[38,true,true,null,34.299999999999997,1.0,null,null,1.003511,false,40.0,0.0,17.760000000000002,-7.14],[439,true,true,null,83.100000000000009,1.0,null,null,1.028093,false,120.0,0.0,55.729999999999997,-19.010000000000002],[4321,true,true,null,108.740000000000009,1.0,null,null,1.055269,false,300.0,100.0,141.75,-41.969999999999999],[4322,true,true,null,212.800000000000011,1.0,null,null,1.038456,false,320.0,0.0,149.97999999999999,-49.469999999999999],[4329,true,true,null,1176.0,1.0,null,null,1.049093,false,1600.0,533.330000000000041,723.460000000000036,-256.990000000000009],[4330,true,true,null,60.200000000000003,1.0,null,null,1.029918,false,80.0,0.0,36.729999999999997,-13.119999999999999],[4332,true,true,null,152.400000000000006,1.0,null,null,0.997274,false,180.0,0.0,79.100000000000009,-31.460000000000001],[4333,true,true,null,73.299999999999997,1.0,null,null,1.057462,false,100.0,0.0,45.090000000000003,-16.170000000000002],[4336,true,true,null,490.5,1.0,null,null,1.026934,false,1200.0,400.0,576.779999999999973,-158.189999999999998],[4337,true,true,null,-52.5,1.0,null,null,1.021243,false,100.0,-70.0,16.93,-7.97],[4349,true,true,null,167.0,1.0,null,null,1.028107,false,200.0,0.0,87.370000000000005,-35.060000000000002],[4374,true,true,null,59.200000000000003,1.0,null,null,1.045136,false,80.0,0.0,36.93,-12.949999999999999],[441,true,true,null,-40.350000000000001,1.0,null,null,1.011727,false,100.0,-53.799999999999997,1.95,-0.93],[4375,true,true,null,273.600000000000023,1.0,null,null,1.018032,false,300.0,100.0,129.289999999999992,-54.380000000000003],[4392,true,true,null,115.359999999999999,1.0,null,null,1.061357,false,300.0,100.0,142.0,-41.869999999999998],[4394,true,true,null,-129.099999999999994,1.0,null,null,1.036974,false,100.0,-172.129999999999995,38.479999999999997,-11.33],[4395,true,true,null,147.599999999999994,1.0,null,null,1.08226,false,300.0,100.0,142.819999999999993,-41.020000000000003],[4397,true,true,null,236.0,1.0,null,null,1.046214,false,300.0,0.0,134.390000000000015,-49.990000000000002],[4398,true,true,null,-9.15,1.0,null,null,1.054017,false,100.0,-12.19,18.100000000000001,-6.81],[4399,true,true,null,358.199999999999989,1.0,null,null,1.077395,false,400.0,133.330000000000012,174.599999999999994,-70.710000000000008],[4418,true,true,null,861.300000000000068,1.0,null,null,1.055121,false,1000.0,333.329999999999984,441.04000000000002,-172.050000000000011],[4419,true,true,null,84.0,1.0,null,null,1.009808,false,88.200000000000003,0.0,51.759999999999998,-57.390000000000001],[4427,true,true,null,14.699999999999999,1.0,null,null,1.016576,false,60.240000000000002,0.0,20.489999999999998,-19.239999999999998],[446,true,true,null,37.700000000000003,1.0,null,null,1.035215,false,40.0,0.0,16.84,-8.039999999999999],[4428,true,true,null,5.0,1.0,null,null,1.007433,false,46.200000000000003,0.0,24.739999999999998,-4.75],[4439,true,true,null,-50.600000000000001,1.0,null,null,1.012622,false,100.0,-67.469999999999999,94.730000000000004,-27.43],[4441,true,true,null,-11.23,1.0,null,null,1.031243,false,100.0,-14.98,34.609999999999999,-33.920000000000002],[4444,true,true,null,252.599999999999994,1.0,null,null,1.031204,false,772.539999999999964,85.840000000000003,269.009999999999991,-234.650000000000006],[4446,true,true,null,261.769999999999982,1.0,null,null,1.115565,false,400.0,133.330000000000012,182.870000000000004,-62.520000000000003],[4454,true,true,null,742.600000000000023,1.0,null,null,1.01091,false,902.0,300.670000000000016,204.120000000000005,-173.629999999999996],[4463,true,true,null,50.100000000000001,1.0,null,null,1.054883,false,120.0,0.0,58.409999999999997,-16.260000000000002],[4467,true,true,null,-76.700000000000003,1.0,null,null,1.041888,false,100.0,-102.269999999999996,38.009999999999998,-11.83],[4477,true,true,null,410.5,1.0,null,null,1.062733,false,500.0,166.670000000000016,220.620000000000004,-85.810000000000002],[4479,true,true,null,861.300000000000068,1.0,null,null,1.065482,false,1000.0,333.329999999999984,439.199999999999989,-173.430000000000007],[451,true,true,null,-56.799999999999997,1.0,null,null,1.013382,false,100.0,-75.730000000000004,37.859999999999999,-11.94],[4481,true,true,null,35.200000000000003,1.0,null,null,1.043069,false,80.0,0.0,38.850000000000001,-10.949999999999999],[4485,true,true,null,38.5,1.0,null,null,1.026359,false,40.0,0.0,16.899999999999999,-7.98],[4497,true,true,null,156.800000000000011,1.0,null,null,1.085986,false,200.0,0.0,89.579999999999998,-33.109999999999999],[4501,true,true,null,115.0,1.0,null,null,1.022423,false,120.0,0.0,51.149999999999999,-22.620000000000001],[4505,true,true,null,-171.800000000000011,1.0,null,null,1.032581,false,100.0,-229.069999999999993,37.859999999999999,-11.949999999999999],[4515,true,true,null,364.800000000000011,1.0,null,null,1.018246,false,400.0,133.330000000000012,173.069999999999993,-72.390000000000001],[4525,true,true,null,6.45,1.0,null,null,1.059432,false,60.0,0.0,26.829999999999998,-10.039999999999999],[4532,true,true,null,1530.100000000000136,1.0,null,null,1.087859,false,2400.0,800.0,1074.339999999999918,-397.660000000000025],[4551,true,true,null,-117.740000000000009,1.0,null,null,1.021862,false,100.0,-156.990000000000009,3.57,-4.42],[4563,true,true,null,318.0,1.0,null,null,1.026639,false,325.0,0.0,122.640000000000001,-61.659999999999997],[452,true,true,null,260.100000000000023,1.0,null,null,1.024712,false,540.0,0.0,257.230000000000018,-74.400000000000006],[4565,true,true,null,-30.390000000000001,1.0,null,null,1.07048,false,100.0,-40.509999999999998,37.939999999999998,-11.869999999999999],[4572,true,true,null,61.100000000000001,1.0,null,null,1.021097,false,93.489999999999995,0.0,51.689999999999998,-46.859999999999999],[4585,true,true,null,-545.700000000000046,1.0,null,null,1.037111,false,100.0,-727.600000000000023,92.960000000000008,-29.809999999999999],[4601,true,true,null,428.860000000000014,1.0,null,null,1.120537,false,800.0,266.670000000000016,375.699999999999989,-114.930000000000007],[4607,true,true,null,25.199999999999999,1.0,null,null,1.034566,false,26.460000000000001,0.0,17.309999999999999,-17.23],[4608,true,true,null,60.700000000000003,1.0,null,null,1.019251,false,72.579999999999998,0.0,45.93,-39.149999999999999],[4612,true,true,null,689.200000000000045,1.0,null,null,1.021632,false,772.0,257.329999999999984,254.860000000000014,-368.110000000000014],[4619,true,true,null,115.200000000000003,1.0,null,null,1.089892,false,200.0,0.0,93.850000000000008,-28.850000000000001],[4623,true,true,null,68.0,1.0,null,null,1.045235,false,80.0,0.0,35.619999999999998,-14.19],[4632,true,true,null,-66.099999999999994,1.0,null,null,1.009572,false,100.0,-88.129999999999995,-0.72,-6.6],[455,true,true,null,-28.079999999999998,1.0,null,null,0.999847,false,100.0,-37.439999999999998,44.799999999999997,-39.810000000000002],[4637,true,true,null,-236.300000000000011,1.0,null,null,1.050874,false,100.0,-315.069999999999993,38.280000000000001,-11.57],[4646,true,true,null,78.400000000000006,1.0,null,null,1.050276,false,100.0,0.0,45.009999999999998,-16.399999999999999],[4653,true,true,null,200.0,1.0,null,null,1.017349,false,210.0,0.0,133.340000000000003,-115.590000000000003],[4656,true,true,null,101.620000000000004,1.0,null,null,1.020179,false,300.0,0.0,140.97999999999999,-43.310000000000002],[4660,true,true,null,-78.900000000000006,1.0,null,null,1.056504,false,100.0,-105.200000000000003,19.140000000000001,-5.77],[4661,true,true,null,1509.299999999999954,1.0,null,null,1.066687,false,2000.0,666.669999999999959,897.580000000000041,-328.800000000000011],[4662,true,true,null,-116.0,1.0,null,null,1.021171,false,100.0,-154.670000000000016,55.07,-19.629999999999999],[4665,true,true,null,491.0,1.0,null,null,1.011313,false,500.0,166.670000000000016,198.840000000000003,-105.439999999999998],[4666,true,true,null,-20.780000000000001,1.0,null,null,1.01948,false,100.0,-27.699999999999999,37.780000000000001,-12.039999999999999],[4669,true,true,null,450.199999999999989,1.0,null,null,1.092961,false,500.0,166.670000000000016,214.710000000000008,-91.579999999999998],[483,true,true,null,229.5,1.0,null,null,1.054091,false,300.0,0.0,132.409999999999997,-50.850000000000001],[4675,true,true,null,763.600000000000023,1.0,null,null,1.088792,false,800.0,266.670000000000016,343.25,-147.430000000000007],[4689,true,true,null,541.0,1.0,null,null,1.026559,false,900.0,300.0,417.980000000000018,-132.469999999999999],[4694,true,true,null,-85.900000000000006,1.0,null,null,1.053968,false,100.0,-114.530000000000001,38.530000000000001,-11.220000000000001],[4700,true,true,null,93.200000000000003,1.0,null,null,1.042354,false,281.850000000000023,0.0,98.400000000000006,-86.290000000000006],[4707,true,true,null,79.5,1.0,null,null,0.996652,false,120.0,0.0,56.030000000000001,-18.68],[4738,true,true,null,49.600000000000001,1.0,null,null,1.021645,false,80.0,0.0,37.439999999999998,-12.279999999999999],[4748,true,true,null,527.299999999999954,1.0,null,null,1.030135,false,553.659999999999968,0.0,280.0,-279.319999999999993],[4754,true,true,null,55.200000000000003,1.0,null,null,1.0132,false,57.960000000000001,0.0,30.48,-41.520000000000003],[4757,true,true,null,570.600000000000023,1.0,null,null,1.064718,false,600.0,200.0,257.490000000000009,-110.950000000000003],[4771,true,true,null,78.0,1.0,null,null,1.023126,false,200.0,0.0,89.540000000000006,-34.979999999999997],[488,true,true,null,-107.400000000000006,1.0,null,null,1.008032,false,100.0,-143.200000000000017,6.28,-4.82],[4772,true,true,null,16.0,1.0,null,null,1.017383,false,65.299999999999997,0.0,22.149999999999999,-20.899999999999999],[4775,true,true,null,805.5,1.0,null,null,1.063105,false,900.0,300.0,389.829999999999984,-161.159999999999997],[4782,true,true,null,861.300000000000068,1.0,null,null,1.06564,false,1000.0,333.329999999999984,439.199999999999989,-173.430000000000007],[4787,true,true,null,387.470000000000027,1.0,null,null,1.009861,false,800.0,266.670000000000016,379.509999999999991,-111.070000000000007],[4804,true,true,null,-183.5,1.0,null,null,1.046224,false,100.0,-244.670000000000016,190.289999999999992,-54.520000000000003],[4815,true,true,null,-26.079999999999998,1.0,null,null,1.060527,false,100.0,-34.770000000000003,38.369999999999997,-11.44],[4818,true,true,null,855.600000000000023,1.0,null,null,1.028949,false,1000.0,333.329999999999984,440.689999999999998,-172.140000000000015],[4822,true,true,null,10.300000000000001,1.0,null,null,1.055712,false,10.460000000000001,0.0,4.44,-2.07],[4823,true,true,null,728.399999999999977,1.0,null,null,1.089599,false,1200.0,400.0,558.519999999999982,-176.390000000000015],[4833,true,true,null,10.5,1.0,null,null,1.038553,false,11.029999999999999,0.0,7.0,-6.84],[490,true,true,null,105.400000000000006,1.0,null,null,1.033193,false,200.0,0.0,94.560000000000002,-28.100000000000001],[4842,true,true,null,6.8,1.0,null,null,1.048394,false,13.630000000000001,0.0,5.0,-3.81],[4843,true,true,null,226.599999999999994,1.0,null,null,1.00703,false,500.0,100.0,377.480000000000018,-111.420000000000002],[4844,true,true,null,-6.25,1.0,null,null,1.024167,false,100.0,-8.33,27.539999999999999,-9.24],[4845,true,true,null,239.599999999999994,1.0,null,null,1.030121,false,300.0,100.0,133.840000000000003,-49.890000000000001],[4846,true,true,null,-173.700000000000017,1.0,null,null,1.081656,false,100.0,-231.599999999999994,192.099999999999994,-53.149999999999999],[4847,true,true,null,160.939999999999998,1.0,null,null,1.070363,false,400.0,133.330000000000012,187.310000000000002,-57.240000000000002],[4849,true,true,null,88.799999999999997,1.0,null,null,1.057137,false,160.0,0.0,76.519999999999996,-23.190000000000001],[4870,true,true,null,58.270000000000003,1.0,null,null,1.054823,false,100.0,0.0,43.869999999999998,-17.530000000000001],[4879,true,true,null,-40.299999999999997,1.0,null,null,1.041763,false,100.0,-53.729999999999997,75.620000000000004,-23.960000000000001],[4881,true,true,null,13.0,1.0,null,null,1.028068,false,13.65,0.0,6.22,-9.779999999999999],[504,true,true,null,110.600000000000008,1.0,null,null,1.022173,false,116.030000000000001,0.0,37.340000000000003,-58.329999999999998],[4891,true,true,null,357.0,1.0,null,null,1.033418,false,400.0,0.0,176.300000000000011,-72.859999999999999],[4896,true,true,null,18.559999999999999,1.0,null,null,1.014069,false,80.0,0.0,37.579999999999998,-12.23],[4899,true,true,null,23.800000000000001,1.0,null,null,1.023832,false,24.989999999999998,0.0,14.789999999999999,-19.210000000000001],[4917,true,true,null,41.689999999999998,1.0,null,null,1.053068,false,80.0,0.0,37.270000000000003,-12.57],[4930,true,true,null,20.199999999999999,1.0,null,null,1.035713,false,102.790000000000006,0.0,34.390000000000001,-33.640000000000001],[4937,true,true,null,1201.0,1.0,null,null,1.031692,false,2000.0,666.669999999999959,933.870000000000004,-291.319999999999993],[4943,true,true,null,-8.84,1.0,null,null,1.0154,false,100.0,-11.789999999999999,18.640000000000001,-6.3],[4944,true,true,null,385.400000000000034,1.0,null,null,1.055797,false,500.0,166.670000000000016,224.400000000000006,-82.219999999999999],[4948,true,true,null,60.0,1.0,null,null,1.046901,false,120.0,0.0,57.630000000000002,-17.0],[4951,true,true,null,-12.57,1.0,null,null,1.047958,false,100.0,-16.77,37.229999999999997,-12.609999999999999],[48,true,true,null,309.199999999999989,1.0,null,null,1.020323,false,480.0,0.0,218.52000000000001,-75.969999999999999],[510,true,true,null,101.400000000000006,1.0,null,null,1.081589,false,200.0,0.0,94.379999999999995,-28.039999999999999],[4953,true,true,null,40.840000000000003,1.0,null,null,1.016721,false,120.0,0.0,54.460000000000001,-20.260000000000002],[4954,true,true,null,123.900000000000006,1.0,null,null,1.037342,false,159.400000000000006,0.0,73.859999999999999,-66.079999999999998],[4956,true,true,null,961.0,1.0,null,null,1.045811,false,1200.0,400.0,533.389999999999986,-201.120000000000005],[4958,true,true,null,853.899999999999977,1.0,null,null,1.051773,false,876.0,292.0,460.829999999999984,-440.490000000000009],[4966,true,true,null,83.200000000000003,1.0,null,null,1.020942,false,420.0,0.0,182.200000000000017,-75.829999999999998],[4968,true,true,null,453.400000000000034,1.0,null,null,1.065019,false,800.0,266.670000000000016,375.730000000000018,-114.450000000000003],[4978,true,true,null,246.0,1.0,null,null,1.039397,false,300.0,0.0,132.460000000000008,-51.710000000000001],[4993,true,true,null,360.400000000000034,1.0,null,null,1.047685,false,400.0,133.330000000000012,173.759999999999991,-71.719999999999999],[4995,true,true,null,130.800000000000011,1.0,null,null,1.040488,false,160.0,0.0,71.890000000000001,-27.719999999999999],[5003,true,true,null,54.299999999999997,1.0,null,null,1.054301,false,220.120000000000005,0.0,74.730000000000004,-70.409999999999997],[514,true,true,null,324.819999999999993,1.0,null,null,1.045162,false,700.0,200.0,72.5,-27.239999999999998],[5004,true,true,null,406.0,1.0,null,null,1.062291,false,500.0,166.670000000000016,220.879999999999996,-85.450000000000003],[5018,true,true,null,49.399999999999999,1.0,null,null,1.05406,false,80.0,0.0,37.719999999999999,-12.09],[5019,true,true,null,35.200000000000003,1.0,null,null,1.067392,false,80.0,0.0,38.869999999999998,-10.93],[5024,true,true,null,-155.099999999999994,1.0,null,null,1.002981,false,100.0,-206.800000000000011,5.65,-4.3],[5026,true,true,null,-10.300000000000001,1.0,null,null,1.046647,false,100.0,-13.73,93.579999999999998,-29.18],[5035,true,true,null,75.200000000000003,1.0,null,null,1.060776,false,80.0,0.0,35.060000000000002,-14.85],[5042,true,true,null,179.5,1.0,null,null,1.07576,false,200.0,0.0,88.650000000000006,-36.100000000000001],[5050,true,true,null,83.480000000000004,1.0,null,null,1.042576,false,160.0,0.0,74.549999999999997,-24.969999999999999],[5058,true,true,null,130.199999999999989,1.0,null,null,1.031064,false,180.0,0.0,81.969999999999999,-28.66],[5059,true,true,null,13.300000000000001,1.0,null,null,1.06427,false,40.68,0.0,14.220000000000001,-12.43],[515,true,true,null,539.399999999999977,1.0,null,null,1.07129,false,600.0,200.0,261.79000000000002,-106.670000000000002],[5064,true,true,null,1008.300000000000068,1.0,null,null,1.06654,false,1200.0,400.0,532.960000000000036,-203.189999999999998],[5066,true,true,null,542.0,1.0,null,null,1.016664,false,600.0,0.0,258.910000000000025,-109.579999999999998],[5074,true,true,null,-92.600000000000008,1.0,null,null,1.027964,false,100.0,-123.469999999999999,25.91,-10.99],[5090,true,true,null,276.420000000000016,1.0,null,null,1.051243,false,360.0,0.0,151.810000000000002,-69.25],[5091,true,true,null,416.400000000000034,1.0,null,null,1.061075,false,500.0,166.670000000000016,221.620000000000004,-84.960000000000008],[5096,true,true,null,21.100000000000001,1.0,null,null,1.052774,false,21.23,7.08,8.91,-4.11],[5097,true,true,null,517.200000000000045,1.0,null,null,1.006462,false,804.0,268.0,278.620000000000004,-562.090000000000032],[5109,true,true,null,-52.509999999999998,1.0,null,null,1.033935,false,100.0,-70.010000000000005,38.280000000000001,-11.5],[5119,true,true,null,75.600000000000008,1.0,null,null,1.06465,false,120.0,0.0,56.350000000000001,-18.420000000000002],[5133,true,true,null,197.300000000000011,1.0,null,null,1.022715,false,220.450000000000017,0.0,100.900000000000006,-35.130000000000003],[517,true,true,null,-410.300000000000011,1.0,null,null,1.067615,false,100.0,-547.07000000000005,85.629999999999996,-37.210000000000001],[5137,true,true,null,308.800000000000011,1.0,null,null,1.048344,false,400.0,133.330000000000012,179.860000000000014,-65.560000000000002],[5143,true,true,null,1713.600000000000136,1.0,null,null,1.032838,false,2000.0,666.669999999999959,882.860000000000014,-343.240000000000009],[5144,true,true,null,422.0,1.0,null,null,1.049287,false,1290.519999999999982,143.390000000000015,450.400000000000034,-391.110000000000014],[5151,true,true,null,50.590000000000003,1.0,null,null,1.033193,false,80.0,0.0,37.75,-12.109999999999999],[5153,true,true,null,-54.090000000000003,1.0,null,null,1.021968,false,100.0,-72.120000000000005,28.420000000000002,-8.32],[5157,true,true,null,690.050000000000068,1.0,null,null,1.043194,false,800.0,266.670000000000016,345.70999999999998,-144.759999999999991],[5163,true,true,null,629.300000000000068,1.0,null,null,1.083362,false,700.0,233.330000000000012,301.889999999999986,-127.189999999999998],[5170,true,true,null,-87.600000000000008,1.0,null,null,1.011094,false,100.0,-116.799999999999997,32.890000000000001,-32.289999999999999],[5179,true,true,null,-17.5,1.0,null,null,1.010906,false,100.0,-23.329999999999998,4.03,-1.82],[5191,true,true,null,143.400000000000006,1.0,null,null,1.039762,false,180.0,0.0,79.519999999999996,-30.850000000000001],[523,true,true,null,69.0,1.0,null,null,1.046979,false,72.450000000000003,0.0,30.149999999999999,-43.07],[5192,true,true,null,38.490000000000002,1.0,null,null,1.022466,false,80.0,0.0,37.469999999999999,-12.26],[5224,true,true,null,178.819999999999993,1.0,null,null,1.050345,false,320.0,0.0,145.280000000000001,-54.149999999999999],[5225,true,true,null,235.099999999999994,1.0,null,null,0.992484,false,320.0,0.0,145.530000000000001,-53.810000000000002],[5230,true,true,null,120.790000000000006,1.0,null,null,1.026163,false,200.0,66.670000000000002,91.909999999999997,-30.539999999999999],[5235,true,true,null,403.699999999999989,1.0,null,null,1.047863,false,440.0,0.0,193.560000000000002,-80.829999999999998],[5236,true,true,null,106.799999999999997,1.0,null,null,1.0542,false,160.0,0.0,75.019999999999996,-24.739999999999998],[5238,true,true,null,-1344.400000000000091,1.0,null,null,0.990479,false,100.0,-1792.529999999999973,99999.0,-99999.0],[5250,true,true,null,137.300000000000011,1.0,null,null,1.038759,false,160.0,0.0,71.439999999999998,-28.359999999999999],[5261,true,true,null,418.199999999999989,1.0,null,null,1.059967,false,500.0,166.670000000000016,221.330000000000012,-85.219999999999999],[5263,true,true,null,120.600000000000008,1.0,null,null,1.034663,false,126.63000000000001,0.0,38.049999999999997,-73.950000000000003],[540,true,true,null,118.200000000000003,1.0,null,null,1.03819,false,124.189999999999998,0.0,7.81,-27.190000000000001],[5272,true,true,null,-5.35,1.0,null,null,1.026805,false,100.0,-7.13,47.909999999999997,-13.289999999999999],[5277,true,true,null,119.400000000000006,1.0,null,null,1.03962,false,120.0,0.0,51.299999999999997,-23.489999999999998],[5279,true,true,null,-193.900000000000006,1.0,null,null,1.018895,false,100.0,-258.529999999999973,2.29,-1.06],[5284,true,true,null,151.0,1.0,null,null,1.057359,false,200.0,0.0,91.719999999999999,-32.909999999999997],[5289,true,true,null,332.54000000000002,1.0,null,null,1.009333,false,360.0,0.0,159.670000000000016,-61.420000000000002],[5292,true,true,null,306.0,1.0,null,null,1.008689,false,344.0,114.670000000000002,151.050000000000011,-97.5],[5298,true,true,null,152.300000000000011,1.0,null,null,1.045101,false,1689.1400000000001,51.189999999999998,542.730000000000018,-582.680000000000064],[5300,true,true,null,102.600000000000008,1.0,null,null,1.034956,false,200.0,0.0,94.659999999999997,-27.949999999999999],[5304,true,true,null,75.799999999999997,1.0,null,null,1.029341,false,200.0,50.530000000000001,185.680000000000007,-59.560000000000002],[5308,true,true,null,44.899999999999999,1.0,null,null,1.042975,false,409.090000000000032,0.0,132.580000000000012,-139.969999999999999],[563,true,true,null,-51.670000000000002,1.0,null,null,1.06702,false,100.0,-68.890000000000001,18.469999999999999,-19.350000000000001],[5322,true,true,null,41.0,1.0,null,null,1.031211,false,80.0,0.0,38.420000000000002,-11.380000000000001],[5328,true,true,null,-54.780000000000001,1.0,null,null,1.015053,false,100.0,-73.049999999999997,35.25,-34.600000000000001],[5339,true,true,null,-159.0,1.0,null,null,1.044898,false,100.0,-212.0,36.369999999999997,-13.43],[5347,true,true,null,10.800000000000001,1.0,null,null,1.013341,false,32.740000000000002,0.0,11.359999999999999,-10.08],[5351,true,true,null,10.0,1.0,null,null,1.022029,false,10.5,0.0,4.29,-5.71],[5364,true,true,null,19.59,1.0,null,null,1.065324,false,40.0,0.0,18.140000000000001,-6.75],[5367,true,true,null,200.0,1.0,null,null,1.058977,false,300.0,100.0,137.650000000000006,-45.909999999999997],[5368,true,true,null,-76.5,1.0,null,null,1.037177,false,100.0,-101.990000000000009,38.340000000000003,-11.449999999999999],[5378,true,true,null,1250.600000000000136,1.0,null,null,1.10493,false,2000.0,666.669999999999959,926.470000000000027,-297.629999999999996],[5394,true,true,null,-395.800000000000011,1.0,null,null,1.05041,false,100.0,-527.730000000000018,58.060000000000002,-16.66],[577,true,true,null,-110.299999999999997,1.0,null,null,1.042146,false,100.0,-147.069999999999993,25.879999999999999,-11.01],[5396,true,true,null,-131.0,1.0,null,null,1.016845,false,100.0,-174.670000000000016,36.810000000000002,-12.890000000000001],[5397,true,true,null,333.199999999999989,1.0,null,null,1.041434,false,400.0,133.330000000000012,177.289999999999992,-68.210000000000008],[5400,true,true,null,91.799999999999997,1.0,null,null,1.056816,false,100.0,0.0,42.68,-18.57],[5402,true,true,null,439.0,1.0,null,null,1.032334,false,500.0,166.670000000000016,219.430000000000007,-87.600000000000008],[5408,true,true,null,219.5,1.0,null,null,1.021468,false,240.0,0.0,102.600000000000008,-44.689999999999998],[5411,true,true,null,359.100000000000023,1.0,null,null,1.07527,false,400.0,133.330000000000012,174.75,-70.609999999999999],[5424,true,true,null,181.099999999999994,1.0,null,null,1.074405,false,240.0,0.0,108.269999999999996,-39.200000000000003],[5428,true,true,null,292.5,1.0,null,null,1.043614,false,300.0,0.0,127.120000000000005,-56.960000000000001],[5443,true,true,null,865.800000000000068,1.0,null,null,1.059208,false,900.0,200.0,382.870000000000004,-169.370000000000005],[5456,true,true,null,33.990000000000002,1.0,null,null,1.044659,false,80.0,0.0,38.490000000000002,-11.300000000000001],[582,true,true,null,-270.0,1.0,null,null,1.048595,false,100.0,-360.0,17.879999999999999,-7.03],[5460,true,true,null,43.399999999999999,1.0,null,null,1.055685,false,80.0,0.0,38.259999999999998,-11.550000000000001],[5464,true,true,null,18.5,1.0,null,null,0.997959,false,93.469999999999999,0.0,31.09,-30.760000000000002],[5470,true,true,null,519.600000000000023,1.0,null,null,1.026437,false,600.0,200.0,263.389999999999986,-104.859999999999999],[5478,true,true,null,179.069999999999993,1.0,null,null,1.05048,false,400.0,133.330000000000012,188.349999999999994,-56.109999999999999],[5479,true,true,null,47.799999999999997,1.0,null,null,1.043829,false,80.0,0.0,37.890000000000001,-11.93],[5480,true,true,null,1368.600000000000136,1.0,null,null,1.05825,false,2000.0,666.669999999999959,920.310000000000059,-305.639999999999986],[5481,true,true,null,56.799999999999997,1.0,null,null,1.042942,false,249.060000000000002,0.0,101.320000000000007,-48.119999999999997],[5485,true,true,null,861.300000000000068,1.0,null,null,1.055199,false,1000.0,333.329999999999984,441.04000000000002,-172.050000000000011],[5486,true,true,null,265.800000000000011,1.0,null,null,1.050272,false,300.0,100.0,129.300000000000011,-54.43],[5487,true,true,null,-96.400000000000006,1.0,null,null,1.037007,false,100.0,-128.530000000000001,37.490000000000002,-12.33],[586,true,true,null,246.0,1.0,null,null,1.040079,false,400.0,133.330000000000012,185.560000000000002,-59.390000000000001],[5489,true,true,null,3424.800000000000182,1.0,null,null,1.062487,false,4000.0,1333.329999999999927,1765.360000000000127,-686.669999999999959],[5503,true,true,null,29.579999999999998,1.0,null,null,1.033273,false,80.0,0.0,37.979999999999997,-11.859999999999999],[5511,true,true,null,75.620000000000004,1.0,null,null,1.017916,false,160.0,0.0,69.670000000000002,-30.0],[5512,true,true,null,-196.0,1.0,null,null,1.030251,false,100.0,-261.329999999999984,185.060000000000002,-60.090000000000003],[5529,true,true,null,-95.900000000000006,1.0,null,null,1.011393,false,100.0,-127.870000000000004,36.939999999999998,-12.94],[5532,true,true,null,173.0,1.0,null,null,1.046404,false,200.0,0.0,88.870000000000004,-35.710000000000001],[5545,true,true,null,21.5,1.0,null,null,1.063123,false,40.0,0.0,19.16,-5.75],[5555,true,true,null,571.800000000000068,1.0,null,null,1.067161,false,600.0,200.0,255.930000000000007,-112.200000000000003],[5563,true,true,null,57.600000000000001,1.0,null,null,1.038385,false,80.0,0.0,36.799999999999997,-12.99],[5571,true,true,null,79.600000000000008,1.0,null,null,1.033768,false,120.0,0.0,55.210000000000001,-18.48],[50,true,true,null,-144.5,1.0,null,null,1.006665,false,100.0,-192.670000000000016,5.48,-4.19],[589,true,true,null,100.700000000000003,1.0,null,null,1.065004,false,300.0,67.129999999999995,380.310000000000002,-110.079999999999998],[5593,true,true,null,-238.200000000000017,1.0,null,null,1.048652,false,100.0,-317.600000000000023,17.52,-7.42],[5601,true,true,null,42.0,1.0,null,null,1.032916,false,44.100000000000001,0.0,25.84,-34.159999999999997],[5602,true,true,null,228.599999999999994,1.0,null,null,1.027661,false,240.030000000000001,0.0,141.02000000000001,-122.879999999999996],[5610,true,true,null,33.700000000000003,1.0,null,null,1.079526,false,40.0,0.0,17.989999999999998,-6.95],[5619,true,true,null,-165.099999999999994,1.0,null,null,1.055555,false,100.0,-220.129999999999995,80.730000000000004,-29.739999999999998],[5644,true,true,null,78.170000000000002,1.0,null,null,1.000282,false,120.0,0.0,52.509999999999998,-21.239999999999998],[5655,true,true,null,35.689999999999998,1.0,null,null,1.039989,false,100.0,23.789999999999999,187.060000000000002,-57.960000000000001],[5657,true,true,null,229.800000000000011,1.0,null,null,1.005722,false,240.0,0.0,103.180000000000007,-46.25],[5663,true,true,null,128.0,1.0,null,null,1.063661,false,160.0,0.0,72.710000000000008,-27.050000000000001],[5667,true,true,null,152.099999999999994,1.0,null,null,1.028943,false,360.0,0.0,164.819999999999993,-56.07],[614,true,true,null,38.200000000000003,1.0,null,null,1.068592,false,40.0,0.0,17.09,-7.79],[5668,true,true,null,294.54000000000002,1.0,null,null,1.000678,false,600.0,100.0,34.469999999999999,-15.34],[5669,true,true,null,16.600000000000001,1.0,null,null,1.013301,false,67.760000000000005,0.0,22.969999999999999,-21.699999999999999],[5676,true,true,null,64.349999999999994,1.0,null,null,1.033561,false,120.0,0.0,52.140000000000001,-21.629999999999999],[5678,true,true,null,-36.090000000000003,1.0,null,null,1.057325,false,100.0,-48.119999999999997,27.25,-9.550000000000001],[5691,true,true,null,654.800000000000068,1.0,null,null,1.048689,false,800.0,266.670000000000016,356.53000000000003,-134.009999999999991],[5704,true,true,null,33.399999999999999,1.0,null,null,1.084017,false,60.0,0.0,28.170000000000002,-8.65],[5708,true,true,null,837.0,1.0,null,null,1.024594,false,1200.0,400.0,550.690000000000055,-185.150000000000006],[5713,true,true,null,74.799999999999997,1.0,null,null,1.020678,false,120.0,0.0,55.479999999999997,-18.129999999999999],[5716,true,true,null,84.5,1.0,null,null,1.070074,false,100.0,0.0,44.0,-17.329999999999998],[5720,true,true,null,114.990000000000009,1.0,null,null,1.054563,false,180.0,0.0,82.650000000000006,-27.940000000000001],[615,true,true,null,379.199999999999989,1.0,null,null,1.04484,false,480.0,160.0,217.900000000000006,-81.159999999999997],[5721,true,true,null,-42.07,1.0,null,null,1.009245,false,100.0,-56.090000000000003,31.420000000000002,-63.030000000000001],[5725,true,true,null,18.5,1.0,null,null,1.01699,false,95.980000000000004,0.0,31.98,-31.539999999999999],[5736,true,true,null,13.859999999999999,1.0,null,null,1.008529,false,80.0,0.0,38.009999999999998,-11.779999999999999],[5741,true,true,null,84.5,1.0,null,null,1.023074,false,85.140000000000001,28.379999999999999,35.689999999999998,-16.43],[5749,true,true,null,128.099999999999994,1.0,null,null,1.026001,false,306.0,102.0,123.760000000000005,-59.950000000000003],[5758,true,true,null,448.400000000000034,1.0,null,null,1.075601,false,800.0,266.670000000000016,376.650000000000034,-113.740000000000009],[5780,true,true,null,1652.700000000000046,1.0,null,null,1.046351,false,1800.0,600.0,779.289999999999964,-324.79000000000002],[5785,true,true,null,31.699999999999999,1.0,null,null,1.006382,false,63.840000000000003,0.0,23.300000000000001,-17.98],[5786,true,true,null,63.549999999999997,1.0,null,null,1.028374,false,240.0,0.0,114.670000000000002,-32.560000000000002],[5808,true,true,null,354.400000000000034,1.0,null,null,1.010105,false,400.0,133.330000000000012,169.189999999999998,-75.030000000000001],[617,true,true,null,670.300000000000068,1.0,null,null,1.022784,false,800.0,266.670000000000016,351.180000000000007,-139.110000000000014],[5810,true,true,null,2.66,1.0,null,null,1.018688,false,40.0,0.0,17.420000000000002,-7.41],[5811,true,true,null,292.5,1.0,null,null,1.031099,false,300.0,0.0,126.980000000000004,-57.079999999999998],[5813,true,true,null,181.200000000000017,1.0,null,null,1.040708,false,440.0,146.670000000000016,196.980000000000018,-77.170000000000002],[5820,true,true,null,-74.210000000000008,1.0,null,null,1.016327,false,100.0,-98.939999999999998,45.829999999999998,-46.299999999999997],[5821,true,true,null,111.700000000000003,1.0,null,null,1.063749,false,300.0,74.469999999999999,185.22999999999999,-59.899999999999999],[5822,true,true,null,404.600000000000023,1.0,null,null,1.060066,false,500.0,166.670000000000016,220.75,-85.540000000000006],[5823,true,true,null,935.399999999999977,1.0,null,null,1.050736,false,1200.0,400.0,539.220000000000027,-196.319999999999993],[5824,true,true,null,262.600000000000023,1.0,null,null,0.992342,false,600.0,100.0,76.5,-34.049999999999997],[5827,true,true,null,13.199999999999999,1.0,null,null,1.027766,false,39.979999999999997,0.0,13.93,-12.27],[5830,true,true,null,-179.400000000000006,1.0,null,null,1.026046,false,100.0,-239.200000000000017,1.58,-0.74],[627,true,true,null,152.400000000000006,1.0,null,null,0.982057,false,180.0,0.0,78.790000000000006,-31.690000000000001],[5837,true,true,null,16.100000000000001,1.0,null,null,1.030725,false,16.91,0.0,13.029999999999999,-16.969999999999999],[5838,true,true,null,101.400000000000006,1.0,null,null,1.013483,false,120.0,0.0,53.009999999999998,-20.760000000000002],[5843,true,true,null,696.800000000000068,1.0,null,null,1.050341,false,800.0,0.0,351.25,-139.879999999999996],[5845,true,true,null,-46.5,1.0,null,null,1.02116,false,100.0,-62.0,51.990000000000002,-57.170000000000002],[5854,true,true,null,453.400000000000034,1.0,null,null,1.065097,false,800.0,266.670000000000016,376.389999999999986,-114.060000000000002],[5855,true,true,null,305.699999999999989,1.0,null,null,1.036185,false,480.0,160.0,214.129999999999995,-85.0],[5861,true,true,null,68.200000000000003,1.0,null,null,1.059582,false,80.0,0.0,35.729999999999997,-14.119999999999999],[5862,true,true,null,438.199999999999989,1.0,null,null,1.048267,false,800.0,266.670000000000016,358.199999999999989,-131.840000000000003],[5863,true,true,null,46.399999999999999,1.0,null,null,1.024889,false,48.719999999999999,0.0,28.390000000000001,-26.469999999999999],[5867,true,true,null,514.799999999999954,1.0,null,null,1.048327,false,800.0,266.670000000000016,369.720000000000027,-120.260000000000005],[635,true,true,null,101.890000000000001,1.0,null,null,1.04241,false,120.0,0.0,52.990000000000002,-21.870000000000001],[5873,true,true,null,16.16,1.0,null,null,1.045045,false,100.0,10.77,46.530000000000001,-14.59],[5880,true,true,null,60.0,1.0,null,null,1.056126,false,80.0,0.0,36.719999999999999,-13.130000000000001],[5881,true,true,null,106.799999999999997,1.0,null,null,1.077465,false,120.0,0.0,52.960000000000001,-21.809999999999999],[5882,true,true,null,1031.400000000000091,1.0,null,null,1.175144,false,1200.0,400.0,526.769999999999982,-209.310000000000002],[5884,true,true,null,107.799999999999997,1.0,null,null,1.031733,false,120.0,0.0,52.109999999999999,-21.649999999999999],[5893,true,true,null,182.599999999999994,1.0,null,null,1.035315,false,200.0,0.0,86.299999999999997,-36.390000000000001],[5895,true,true,null,55.600000000000001,1.0,null,null,0.986344,false,80.0,0.0,37.32,-12.57],[5921,true,true,null,-10.23,1.0,null,null,1.030869,false,100.0,-13.640000000000001,19.489999999999998,-5.39],[5929,true,true,null,155.189999999999998,1.0,null,null,1.042525,false,164.920000000000016,0.0,68.329999999999998,-31.420000000000002],[5939,true,true,null,-74.900000000000006,1.0,null,null,1.026879,false,100.0,-99.870000000000004,17.210000000000001,-7.73],[636,true,true,null,21.300000000000001,1.0,null,null,1.031148,false,22.32,0.0,11.199999999999999,-8.44],[5940,true,true,null,51.200000000000003,1.0,null,null,1.051545,false,80.0,0.0,37.530000000000001,-12.279999999999999],[5954,true,true,null,-32.289999999999999,1.0,null,null,1.015926,false,100.0,-43.049999999999997,37.780000000000001,-11.99],[5963,true,true,null,9.35,1.0,null,null,1.005428,false,80.0,0.0,37.049999999999997,-12.630000000000001],[5969,true,true,null,127.570000000000007,1.0,null,null,1.017378,false,360.0,0.0,172.469999999999999,-48.340000000000003],[5970,true,true,null,1221.200000000000045,1.0,null,null,1.076888,false,2000.0,666.669999999999959,934.539999999999964,-291.639999999999986],[5972,true,true,null,102.799999999999997,1.0,null,null,1.055332,false,160.0,0.0,75.260000000000005,-24.440000000000001],[5974,true,true,null,60.399999999999999,1.0,null,null,1.0347,false,80.0,0.0,35.899999999999999,-13.720000000000001],[5976,true,true,null,310.699999999999989,1.0,null,null,1.030489,false,400.0,133.330000000000012,179.909999999999997,-65.269999999999996],[5979,true,true,null,269.100000000000023,1.0,null,null,1.05163,false,300.0,0.0,129.719999999999999,-54.219999999999999],[5982,true,true,null,-102.5,1.0,null,null,1.061878,false,100.0,-136.670000000000016,37.270000000000003,-12.59],[638,true,true,null,-46.200000000000003,1.0,null,null,1.033532,false,100.0,-61.600000000000001,135.52000000000001,-38.899999999999999],[5984,true,true,null,560.659999999999968,1.0,null,null,1.120491,false,800.0,266.670000000000016,362.20999999999998,-128.129999999999995],[5985,true,true,null,1499.600000000000136,1.0,null,null,1.103376,false,2000.0,666.669999999999959,884.389999999999986,-341.629999999999996],[5987,true,true,null,492.0,1.0,null,null,1.069038,false,800.0,266.670000000000016,373.579999999999984,-117.060000000000002],[5990,true,true,null,854.600000000000023,1.0,null,null,1.012716,false,1200.0,400.0,517.549999999999954,-217.25],[5993,true,true,null,-87.299999999999997,1.0,null,null,1.036793,false,100.0,-116.400000000000006,60.509999999999998,-61.079999999999998],[5997,true,true,null,-68.099999999999994,1.0,null,null,1.02348,false,100.0,-90.799999999999997,27.48,-36.060000000000002],[5999,true,true,null,617.700000000000046,1.0,null,null,1.085353,false,900.0,300.0,411.660000000000025,-139.210000000000008],[6000,true,true,null,19.199999999999999,1.0,null,null,1.036406,false,20.100000000000001,0.0,7.11,-7.7],[6032,true,true,null,49.869999999999998,1.0,null,null,1.013332,false,120.0,0.0,56.859999999999999,-17.93],[6035,true,true,null,820.200000000000045,1.0,null,null,1.036335,false,900.0,300.0,390.400000000000034,-161.159999999999997],[641,true,true,null,63.329999999999998,1.0,null,null,1.031368,false,276.090000000000032,0.0,90.129999999999995,-93.030000000000001],[6045,true,true,null,636.629999999999996,1.0,null,null,1.094629,false,800.0,266.670000000000016,351.660000000000025,-138.950000000000017],[6085,true,true,null,88.200000000000003,1.0,null,null,1.017402,false,92.609999999999999,0.0,42.009999999999998,-57.990000000000002],[6087,true,true,null,-278.199999999999989,1.0,null,null,1.069764,false,100.0,-370.930000000000007,34.670000000000002,-15.140000000000001],[6089,true,true,null,60.399999999999999,1.0,null,null,1.030088,false,80.0,0.0,36.579999999999998,-13.23],[6091,true,true,null,774.899999999999977,1.0,null,null,1.035378,false,900.0,300.0,395.590000000000032,-155.879999999999996],[6099,true,true,null,-139.509999999999991,1.0,null,null,1.041341,false,100.0,-186.009999999999991,185.629999999999996,-59.549999999999997],[6102,true,true,null,164.5,1.0,null,null,1.013429,false,300.0,100.0,141.390000000000015,-42.369999999999997],[6104,true,true,null,84.900000000000006,1.0,null,null,1.010683,false,120.0,0.0,55.729999999999997,-19.07],[6119,true,true,null,58.600000000000001,1.0,null,null,1.024222,false,80.0,0.0,36.729999999999997,-13.07],[6123,true,true,null,490.0,1.0,null,null,1.025031,false,790.0,263.329999999999984,254.710000000000008,-124.049999999999997],[647,true,true,null,47.200000000000003,1.0,null,null,1.02749,false,80.0,0.0,37.950000000000003,-11.869999999999999],[6128,true,true,null,356.0,1.0,null,null,1.033744,false,400.0,133.330000000000012,173.490000000000009,-71.799999999999997],[6129,true,true,null,49.399999999999999,1.0,null,null,1.026444,false,80.0,0.0,37.68,-12.119999999999999],[6130,true,true,null,602.399999999999977,1.0,null,null,1.133869,false,900.0,300.0,415.259999999999991,-136.330000000000012],[6137,true,true,null,-121.900000000000006,1.0,null,null,1.010882,false,100.0,-162.530000000000001,16.91,-7.99],[6143,true,true,null,9.9,1.0,null,null,0.987224,false,10.039999999999999,0.0,4.21,-2.03],[6144,true,true,null,190.580000000000012,1.0,null,null,1.019556,false,240.0,0.0,104.760000000000005,-42.600000000000001],[6152,true,true,null,94.299999999999997,1.0,null,null,1.019885,false,769.940000000000055,32.079999999999998,249.650000000000006,-261.819999999999993],[6167,true,true,null,26.300000000000001,1.0,null,null,1.047693,false,53.759999999999998,0.0,19.859999999999999,-14.93],[6168,true,true,null,-85.799999999999997,1.0,null,null,1.033616,false,100.0,-114.400000000000006,38.479999999999997,-11.27],[6174,true,true,null,405.800000000000011,1.0,null,null,1.023886,false,426.090000000000032,0.0,258.800000000000011,-147.689999999999998]]}", + "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0,1,10,100,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,101,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,102,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,103,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,104,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,105,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,106,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,107,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,108,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,109,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,11,110,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,111,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,112,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,113,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,114,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,115,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,116,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,117,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,118,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,119,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,12,120,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,121,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,122,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,123,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,124,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,125,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,126,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,127,1270,1271,1272,1273,1274,1275,1276,1277,1278,1279,128,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,129,1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,13,130,1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,131,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,132,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329,133,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,134,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,135,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,136,1360,1361,1362,1363,1364,1365,1366,1367,1368,1369,137,1370,1371,1372,1373,1374,1375,1376,1377,1378,1379,138,1380,1381,1382,1383,1384,1385,1386,1387,1388,1389,139,1390,1391,1392,1393,1394,1395,1396,1397,1398,1399,14,140,1400,1401,1402,1403,1404,1405,1406,1407,1408,1409,141,1410,1411,1412,1413,1414,1415,1416,1417,1418,1419,142,1420,1421,1422,1423,1424,1425,1426,1427,1428,1429,143,1430,1431,1432,1433,1434,1435,1436,1437,1438,1439,144,1440,1441,1442,1443,145,146,147,148,149,15,150,151,152,153,154,155,156,157,158,159,16,160,161,162,163,164,165,166,167,168,169,17,170,171,172,173,174,175,176,177,178,179,18,180,181,182,183,184,185,186,187,188,189,19,190,191,192,193,194,195,196,197,198,199,2,20,200,201,202,203,204,205,206,207,208,209,21,210,211,212,213,214,215,216,217,218,219,22,220,221,222,223,224,225,226,227,228,229,23,230,231,232,233,234,235,236,237,238,239,24,240,241,242,243,244,245,246,247,248,249,25,250,251,252,253,254,255,256,257,258,259,26,260,261,262,263,264,265,266,267,268,269,27,270,271,272,273,274,275,276,277,278,279,28,280,281,282,283,284,285,286,287,288,289,29,290,291,292,293,294,295,296,297,298,299,3,30,300,301,302,303,304,305,306,307,308,309,31,310,311,312,313,314,315,316,317,318,319,32,320,321,322,323,324,325,326,327,328,329,33,330,331,332,333,334,335,336,337,338,339,34,340,341,342,343,344,345,346,347,348,349,35,350,351,352,353,354,355,356,357,358,359,36,360,361,362,363,364,365,366,367,368,369,37,370,371,372,373,374,375,376,377,378,379,38,380,381,382,383,384,385,386,387,388,389,39,390,391,392,393,394,395,396,397,398,399,4,40,400,401,402,403,404,405,406,407,408,409,41,410,411,412,413,414,415,416,417,418,419,42,420,421,422,423,424,425,426,427,428,429,43,430,431,432,433,434,435,436,437,438,439,44,440,441,442,443,444,445,446,447,448,449,45,450,451,452,453,454,455,456,457,458,459,46,460,461,462,463,464,465,466,467,468,469,47,470,471,472,473,474,475,476,477,478,479,48,480,481,482,483,484,485,486,487,488,489,49,490,491,492,493,494,495,496,497,498,499,5,50,500,501,502,503,504,505,506,507,508,509,51,510,511,512,513,514,515,516,517,518,519,52,520,521,522,523,524,525,526,527,528,529,53,530,531,532,533,534,535,536,537,538,539,54,540,541,542,543,544,545,546,547,548,549,55,550,551,552,553,554,555,556,557,558,559,56,560,561,562,563,564,565,566,567,568,569,57,570,571,572,573,574,575,576,577,578,579,58,580,581,582,583,584,585,586,587,588,589,59,590,591,592,593,594,595,596,597,598,599,6,60,600,601,602,603,604,605,606,607,608,609,61,610,611,612,613,614,615,616,617,618,619,62,620,621,622,623,624,625,626,627,628,629,63,630,631,632,633,634,635,636,637,638,639,64,640,641,642,643,644,645,646,647,648,649,65,650,651,652,653,654,655,656,657,658,659,66,660,661,662,663,664,665,666,667,668,669,67,670,671,672,673,674,675,676,677,678,679,68,680,681,682,683,684,685,686,687,688,689,69,690,691,692,693,694,695,696,697,698,699,7,70,700,701,702,703,704,705,706,707,708,709,71,710,711,712,713,714,715,716,717,718,719,72,720,721,722,723,724,725,726,727,728,729,73,730,731,732,733,734,735,736,737,738,739,74,740,741,742,743,744,745,746,747,748,749,75,750,751,752,753,754,755,756,757,758,759,76,760,761,762,763,764,765,766,767,768,769,77,770,771,772,773,774,775,776,777,778,779,78,780,781,782,783,784,785,786,787,788,789,79,790,791,792,793,794,795,796,797,798,799,8,80,800,801,802,803,804,805,806,807,808,809,81,810,811,812,813,814,815,816,817,818,819,82,820,821,822,823,824,825,826,827,828,829,83,830,831,832,833,834,835,836,837,838,839,84,840,841,842,843,844,845,846,847,848,849,85,850,851,852,853,854,855,856,857,858,859,86,860,861,862,863,864,865,866,867,868,869,87,870,871,872,873,874,875,876,877,878,879,88,880,881,882,883,884,885,886,887,888,889,89,890,891,892,893,894,895,896,897,898,899,9,90,900,901,902,903,904,905,906,907,908,909,91,910,911,912,913,914,915,916,917,918,919,92,920,921,922,923,924,925,926,927,928,929,93,930,931,932,933,934,935,936,937,938,939,94,940,941,942,943,944,945,946,947,948,949,95,950,951,952,953,954,955,956,957,958,959,96,960,961,962,963,964,965,966,967,968,969,97,970,971,972,973,974,975,976,977,978,979,98,980,981,982,983,984,985,986,987,988,989,99,990,991,992,993,994,995,996,997,998,999],\"data\":[[1,true,true,null,-81.400000000000006,1.0,null,null,1.031734,false,100.0,-108.530000000000001,42.189999999999998,-20.449999999999999,0.0],[5,true,true,null,701.0,1.0,null,null,1.038476,false,1200.0,400.0,524.529999999999973,-211.569999999999993,0.0],[79,true,true,null,43.200000000000003,1.0,null,null,1.068393,false,100.0,28.800000000000001,139.939999999999998,-43.780000000000001,0.0],[671,true,true,null,67.0,1.0,null,null,1.02121,false,205.810000000000002,0.0,71.320000000000007,-62.920000000000002,0.0],[6178,true,true,null,65.900000000000006,1.0,null,null,1.036613,false,80.0,0.0,35.43,-14.41,0.0],[6180,true,true,null,540.0,1.0,null,null,1.000322,false,576.0,192.0,194.930000000000007,-133.97999999999999,0.0],[6181,true,true,null,55.799999999999997,1.0,null,null,1.054529,false,120.0,0.0,57.93,-16.699999999999999,0.0],[6200,true,true,null,310.400000000000034,1.0,null,null,1.049209,false,400.0,133.330000000000012,178.969999999999999,-66.25,0.0],[6203,true,true,null,767.5,1.0,null,null,1.02934,false,1000.0,333.329999999999984,447.129999999999995,-164.560000000000002,0.0],[6206,true,true,null,411.800000000000011,1.0,null,null,1.03672,false,600.0,200.0,274.120000000000005,-93.010000000000005,0.0],[6232,true,true,null,879.600000000000023,1.0,null,null,1.017658,false,1200.0,400.0,545.680000000000064,-189.969999999999999,0.0],[6236,true,true,null,-83.329999999999998,1.0,null,null,1.01301,false,100.0,-111.109999999999999,2.42,-3.65,0.0],[6238,true,true,null,5.3,1.0,null,null,1.026501,false,5.32,0.0,2.24,-1.07,0.0],[6241,true,true,null,81.299999999999997,1.0,null,null,1.018892,false,120.0,0.0,55.520000000000003,-19.079999999999998,0.0],[681,true,true,null,37.399999999999999,1.0,null,null,1.060787,false,80.0,0.0,38.770000000000003,-11.06,0.0],[6248,true,true,null,333.199999999999989,1.0,null,null,1.040939,false,400.0,133.330000000000012,177.289999999999992,-68.210000000000008,0.0],[6269,true,true,null,450.400000000000034,1.0,null,null,1.02754,false,472.920000000000016,0.0,265.019999999999982,-187.969999999999999,0.0],[6278,true,true,null,-32.890000000000001,1.0,null,null,1.008432,false,100.0,-43.850000000000001,38.090000000000003,-11.69,0.0],[6279,true,true,null,117.900000000000006,1.0,null,null,1.017343,false,120.0,0.0,51.25,-23.489999999999998,0.0],[6283,true,true,null,91.900000000000006,1.0,null,null,1.057119,false,100.0,0.0,42.68,-18.57,0.0],[6290,true,true,null,55.5,1.0,null,null,1.036939,false,120.0,0.0,58.119999999999997,-16.600000000000001,0.0],[6328,true,true,null,223.400000000000006,1.0,null,null,0.991058,false,300.0,100.0,134.080000000000012,-49.149999999999999,0.0],[6330,true,true,null,48.799999999999997,1.0,null,null,1.050971,false,80.0,0.0,37.759999999999998,-12.050000000000001,0.0],[6331,true,true,null,96.0,1.0,null,null,1.065904,false,200.0,0.0,96.560000000000002,-27.949999999999999,0.0],[6333,true,true,null,66.599999999999994,1.0,null,null,1.005334,false,120.0,0.0,56.240000000000002,-17.359999999999999,0.0],[685,true,true,null,-21.649999999999999,1.0,null,null,1.013903,false,100.0,-28.859999999999999,34.75,-34.259999999999998,0.0],[6337,true,true,null,29.5,1.0,null,null,1.022507,false,59.979999999999997,0.0,21.920000000000002,-16.859999999999999,0.0],[6350,true,true,null,22.079999999999998,1.0,null,null,1.0521,false,80.0,0.0,38.289999999999999,-11.56,0.0],[6357,true,true,null,40.789999999999999,1.0,null,null,0.986287,false,80.0,0.0,37.689999999999998,-12.119999999999999,0.0],[6365,true,true,null,188.900000000000006,1.0,null,null,1.077817,false,300.0,100.0,139.069999999999993,-44.619999999999998,0.0],[6367,true,true,null,-145.300000000000011,1.0,null,null,1.042432,false,100.0,-193.730000000000018,51.109999999999999,-23.460000000000001,0.0],[6369,true,true,null,450.400000000000034,1.0,null,null,1.014839,false,538.0,179.330000000000012,279.199999999999989,-177.810000000000002,0.0],[6372,true,true,null,-201.0,1.0,null,null,1.04869,false,100.0,-268.0,72.5,-27.059999999999999,0.0],[6373,true,true,null,318.400000000000034,1.0,null,null,1.077431,false,400.0,0.0,176.700000000000017,-68.150000000000006,0.0],[6375,true,true,null,-27.800000000000001,1.0,null,null,1.044986,false,100.0,-37.07,148.650000000000006,-50.729999999999997,0.0],[6402,true,true,null,52.799999999999997,1.0,null,null,1.020309,false,55.439999999999998,0.0,32.130000000000003,-45.869999999999998,0.0],[691,true,true,null,274.800000000000011,1.0,null,null,1.059006,false,400.0,133.330000000000012,182.170000000000016,-62.789999999999999,0.0],[6409,true,true,null,-57.0,1.0,null,null,1.044406,false,100.0,-76.0,23.719999999999999,-29.989999999999998,0.0],[6412,true,true,null,958.200000000000045,1.0,null,null,1.044796,false,1200.0,400.0,537.029999999999973,-198.629999999999996,0.0],[6414,true,true,null,310.829999999999984,1.0,null,null,0.983673,false,700.0,200.0,83.579999999999998,-38.780000000000001,0.0],[6418,true,true,null,1156.799999999999954,1.0,null,null,1.095905,false,1200.0,400.0,507.579999999999984,-228.200000000000017,0.0],[6428,true,true,null,171.0,1.0,null,null,1.035857,false,200.0,0.0,88.829999999999998,-35.689999999999998,0.0],[6431,true,true,null,291.199999999999989,1.0,null,null,1.049448,false,400.0,0.0,180.930000000000007,-64.200000000000003,0.0],[6433,true,true,null,767.519999999999982,1.0,null,null,1.116905,false,1200.0,400.0,551.330000000000041,-184.72999999999999,0.0],[6435,true,true,null,-86.5,1.0,null,null,1.01064,false,100.0,-115.340000000000003,2.26,-1.04,0.0],[6447,true,true,null,19.390000000000001,1.0,null,null,1.004995,false,40.0,0.0,18.359999999999999,-6.63,0.0],[6457,true,true,null,91.200000000000003,1.0,null,null,1.078056,false,100.0,0.0,43.090000000000003,-18.239999999999998,0.0],[696,true,true,null,634.800000000000068,1.0,null,null,1.031719,false,800.0,266.670000000000016,357.400000000000034,-132.75,0.0],[6458,true,true,null,77.400000000000006,1.0,null,null,1.005175,false,180.0,0.0,86.170000000000002,-24.25,0.0],[6473,true,true,null,718.5,1.0,null,null,1.055298,false,1000.0,333.329999999999984,438.720000000000027,-174.150000000000006,0.0],[6482,true,true,null,86.299999999999997,1.0,null,null,1.064876,false,120.0,0.0,55.340000000000003,-19.510000000000002,0.0],[6483,true,true,null,1168.799999999999954,1.0,null,null,1.024853,false,1200.0,400.0,508.020000000000039,-227.300000000000011,0.0],[6491,true,true,null,304.800000000000011,1.0,null,null,1.004319,false,400.0,133.330000000000012,180.02000000000001,-65.0,0.0],[6496,true,true,null,701.600000000000023,1.0,null,null,1.064333,false,800.0,266.670000000000016,348.829999999999984,-141.849999999999994,0.0],[6497,true,true,null,187.800000000000011,1.0,null,null,1.019,false,197.189999999999998,0.0,52.649999999999999,-91.350000000000008,0.0],[6501,true,true,null,44.990000000000002,1.0,null,null,1.002332,false,80.0,0.0,37.560000000000002,-12.19,0.0],[6515,true,true,null,228.200000000000017,1.0,null,null,1.050158,false,280.0,0.0,126.730000000000004,-47.829999999999998,0.0],[6517,true,true,null,1254.0,1.0,null,null,0.999167,false,1408.0,469.329999999999984,388.920000000000016,-586.539999999999964,0.0],[697,true,true,null,274.800000000000011,1.0,null,null,0.999662,false,300.0,100.0,129.939999999999998,-53.909999999999997,0.0],[6524,true,true,null,16.0,1.0,null,null,1.007591,false,16.800000000000001,0.0,6.12,-9.880000000000001,0.0],[6551,true,true,null,-204.200000000000017,1.0,null,null,1.045563,false,100.0,-272.269999999999982,37.579999999999998,-12.16,0.0],[6586,true,true,null,56.100000000000001,1.0,null,null,1.017615,false,58.909999999999997,0.0,27.23,-38.299999999999997,0.0],[6590,true,true,null,209.390000000000015,1.0,null,null,1.040735,false,400.0,133.330000000000012,188.450000000000017,-56.609999999999999,0.0],[6593,true,true,null,488.870000000000004,1.0,null,null,1.022988,false,900.0,300.0,414.319999999999993,-137.060000000000002,0.0],[6607,true,true,null,-22.07,1.0,null,null,1.019233,false,100.0,-29.43,47.560000000000002,-13.56,0.0],[6620,true,true,null,290.300000000000011,1.0,null,null,1.077535,false,300.0,0.0,125.600000000000008,-58.119999999999997,0.0],[6625,true,true,null,31.899999999999999,1.0,null,null,1.042091,false,40.0,0.0,18.32,-6.66,0.0],[6626,true,true,null,99.5,1.0,null,null,1.064448,false,100.0,33.329999999999998,42.140000000000001,-19.23,0.0],[6631,true,true,null,2013.900000000000091,1.0,null,null,1.057948,false,3000.0,1000.0,1378.190000000000055,-459.090000000000032,0.0],[708,true,true,null,16.0,1.0,null,null,1.068875,false,65.299999999999997,0.0,22.23,-20.829999999999998,0.0],[6640,true,true,null,37.799999999999997,1.0,null,null,1.007887,false,80.0,0.0,38.530000000000001,-11.19,0.0],[6653,true,true,null,742.759999999999991,1.0,null,null,1.021829,false,800.0,266.670000000000016,337.04000000000002,-153.259999999999991,0.0],[6655,true,true,null,249.0,1.0,null,null,1.021248,false,300.0,0.0,131.879999999999996,-52.240000000000002,0.0],[6660,true,true,null,79.900000000000006,1.0,null,null,0.997723,false,100.0,0.0,44.490000000000002,-16.82,0.0],[6679,true,true,null,41.409999999999997,1.0,null,null,1.025575,false,60.0,0.0,28.149999999999999,-8.66,0.0],[6680,true,true,null,21.300000000000001,1.0,null,null,1.067534,false,108.379999999999995,0.0,36.219999999999999,-35.5,0.0],[6702,true,true,null,989.700000000000046,1.0,null,null,1.089943,false,1200.0,400.0,533.980000000000018,-201.870000000000004,0.0],[6714,true,true,null,32.799999999999997,1.0,null,null,1.025113,false,40.0,0.0,18.030000000000001,-6.9,0.0],[6733,true,true,null,382.699999999999989,1.0,null,null,1.061659,false,720.0,0.0,311.519999999999982,-132.090000000000003,0.0],[6735,true,true,null,670.800000000000068,1.0,null,null,1.032666,false,900.0,300.0,405.879999999999996,-144.960000000000008,0.0],[710,true,true,null,27.800000000000001,1.0,null,null,1.070147,false,100.0,18.530000000000001,377.009999999999991,-113.629999999999996,0.0],[6738,true,true,null,59.399999999999999,1.0,null,null,1.07283,false,80.0,0.0,36.93,-12.970000000000001,0.0],[6752,true,true,null,68.200000000000003,1.0,null,null,1.045824,false,80.0,0.0,35.869999999999998,-14.02,0.0],[6755,true,true,null,32.200000000000003,1.0,null,null,1.025997,false,60.0,0.0,28.239999999999998,-8.57,0.0],[6763,true,true,null,9.9,1.0,null,null,0.99015,false,9.99,0.0,4.21,-2.0,0.0],[6777,true,true,null,276.800000000000011,1.0,null,null,1.038013,false,400.0,133.330000000000012,183.400000000000006,-62.020000000000003,0.0],[6779,true,true,null,14.5,1.0,null,null,1.074673,false,29.190000000000001,4.86,10.68,-8.06,0.0],[6792,true,true,null,32.600000000000001,1.0,null,null,1.049876,false,60.0,0.0,28.210000000000001,-8.609999999999999,0.0],[6797,true,true,null,949.700000000000046,1.0,null,null,1.018682,false,1000.0,333.329999999999984,429.610000000000014,-183.47999999999999,0.0],[6806,true,true,null,44.07,1.0,null,null,1.025274,false,160.0,0.0,77.140000000000001,-22.460000000000001,0.0],[6810,true,true,null,113.900000000000006,1.0,null,null,1.093866,false,200.0,0.0,93.150000000000006,-29.23,0.0],[712,true,true,null,99.299999999999997,1.0,null,null,1.034791,false,120.0,0.0,53.979999999999997,-20.789999999999999,0.0],[6815,true,true,null,16.530000000000001,1.0,null,null,1.062526,false,160.0,0.0,77.350000000000008,-22.260000000000002,0.0],[6819,true,true,null,15.9,1.0,null,null,1.047984,false,32.530000000000001,0.0,11.99,-9.06,0.0],[6821,true,true,null,251.0,1.0,null,null,1.039383,false,300.0,0.0,131.810000000000002,-52.359999999999999,0.0],[6830,true,true,null,-57.5,1.0,null,null,1.031732,false,100.0,-76.670000000000002,35.619999999999998,-14.25,0.0],[6837,true,true,null,578.0,1.0,null,null,1.050849,false,600.0,200.0,255.230000000000018,-112.310000000000002,0.0],[6842,true,true,null,60.670000000000002,1.0,null,null,1.013427,false,120.0,0.0,54.68,-19.960000000000001,0.0],[6844,true,true,null,102.900000000000006,1.0,null,null,1.045173,false,120.0,0.0,53.240000000000002,-21.469999999999999,0.0],[6846,true,true,null,297.699999999999989,1.0,null,null,1.018848,false,400.0,0.0,181.629999999999996,-63.960000000000001,0.0],[6849,true,true,null,30.0,1.0,null,null,1.010801,false,31.5,0.0,1.74,-3.18,0.0],[6851,true,true,null,-344.900000000000034,1.0,null,null,1.034908,false,100.0,-459.870000000000004,18.559999999999999,-6.34,0.0],[713,true,true,null,453.400000000000034,1.0,null,null,1.065017,false,800.0,266.670000000000016,376.360000000000014,-114.079999999999998,0.0],[6856,true,true,null,2463.599999999999909,1.0,null,null,1.018722,false,4000.0,1333.329999999999927,1865.829999999999927,-585.950000000000046,0.0],[6860,true,true,null,-76.400000000000006,1.0,null,null,1.037118,false,100.0,-101.870000000000004,38.340000000000003,-11.449999999999999,0.0],[6863,true,true,null,64.599999999999994,1.0,null,null,1.020438,false,80.0,0.0,36.079999999999998,-13.75,0.0],[6867,true,true,null,48.5,1.0,null,null,1.042934,false,50.920000000000002,0.0,23.34,-36.659999999999997,0.0],[6873,true,true,null,362.800000000000011,1.0,null,null,1.03371,false,400.0,133.330000000000012,172.420000000000016,-72.850000000000008,0.0],[6876,true,true,null,19.800000000000001,1.0,null,null,1.062542,false,100.510000000000005,0.0,33.57,-32.950000000000003,0.0],[6887,true,true,null,133.0,1.0,null,null,1.046712,false,300.0,88.670000000000002,189.310000000000002,-59.869999999999998,0.0],[6892,true,true,null,306.600000000000023,1.0,null,null,1.002405,false,364.0,121.329999999999998,122.240000000000009,-154.219999999999999,0.0],[6899,true,true,null,420.5,1.0,null,null,1.08427,false,500.0,166.670000000000016,218.810000000000002,-87.480000000000004,0.0],[6906,true,true,null,520.5,1.0,null,null,1.059798,false,760.0,0.0,327.04000000000002,-146.460000000000008,0.0],[106,true,true,null,570.0,1.0,null,null,1.083135,false,600.0,200.0,253.849999999999994,-113.790000000000006,0.0],[714,true,true,null,323.100000000000023,1.0,null,null,1.021604,false,366.0,122.0,66.420000000000002,-179.950000000000017,0.0],[6909,true,true,null,116.799999999999997,1.0,null,null,1.028742,false,295.829999999999984,0.0,104.799999999999997,-87.090000000000003,0.0],[6913,true,true,null,173.400000000000006,1.0,null,null,1.083288,false,200.0,0.0,87.280000000000001,-35.350000000000001,0.0],[6919,true,true,null,-9.699999999999999,1.0,null,null,1.008862,false,100.0,-12.93,14.77,-25.23,0.0],[6923,true,true,null,131.199999999999989,1.0,null,null,1.02139,false,132.840000000000003,44.280000000000001,56.009999999999998,-25.390000000000001,0.0],[6929,true,true,null,98.299999999999997,1.0,null,null,1.047953,false,199.230000000000018,33.210000000000001,72.879999999999996,-55.009999999999998,0.0],[6933,true,true,null,-42.68,1.0,null,null,1.059171,false,100.0,-56.909999999999997,28.120000000000001,-8.69,0.0],[6935,true,true,null,665.800000000000068,1.0,null,null,1.022407,false,900.0,300.0,388.699999999999989,-162.640000000000015,0.0],[6936,true,true,null,156.620000000000004,1.0,null,null,1.025063,false,400.0,100.0,188.150000000000006,-56.960000000000001,0.0],[6946,true,true,null,227.5,1.0,null,null,1.049432,false,280.0,0.0,126.090000000000003,-48.289999999999999,0.0],[6947,true,true,null,319.199999999999989,1.0,null,null,1.010398,false,400.0,0.0,179.390000000000015,-66.230000000000004,0.0],[726,true,true,null,384.259999999999991,1.0,null,null,1.070143,false,800.0,266.670000000000016,379.610000000000014,-111.090000000000003,0.0],[6949,true,true,null,10.6,1.0,null,null,1.020998,false,31.5,0.0,11.699999999999999,-14.0,0.0],[6966,true,true,null,269.0,1.0,null,null,1.065194,false,400.0,133.330000000000012,184.530000000000001,-60.729999999999997,0.0],[6968,true,true,null,39.799999999999997,1.0,null,null,1.069563,false,80.0,0.0,38.530000000000001,-11.27,0.0],[6981,true,true,null,-12.6,1.0,null,null,1.039641,false,100.0,-16.800000000000001,56.219999999999999,-18.440000000000001,0.0],[6992,true,true,null,152.189999999999998,1.0,null,null,1.069361,false,200.0,0.0,89.689999999999998,-33.049999999999997,0.0],[6998,true,true,null,1780.900000000000091,1.0,null,null,1.083106,false,2000.0,666.669999999999959,862.050000000000068,-363.970000000000027,0.0],[7007,true,true,null,862.0,1.0,null,null,1.04776,false,960.0,0.0,401.300000000000011,-186.610000000000014,0.0],[7024,true,true,null,-199.599999999999994,1.0,null,null,1.027158,false,100.0,-266.129999999999995,17.59,-7.34,0.0],[7026,true,true,null,77.299999999999997,1.0,null,null,1.043049,false,400.0,0.0,175.509999999999991,-73.700000000000003,0.0],[7027,true,true,null,438.5,1.0,null,null,1.031022,false,500.0,166.670000000000016,219.319999999999993,-87.680000000000007,0.0],[727,true,true,null,70.799999999999997,1.0,null,null,1.030375,false,74.280000000000001,0.0,35.729999999999997,-44.310000000000002,0.0],[7028,true,true,null,1152.700000000000046,1.0,null,null,1.058412,false,1200.0,400.0,507.730000000000018,-226.730000000000018,0.0],[7031,true,true,null,204.0,1.0,null,null,1.004806,false,214.200000000000017,0.0,131.740000000000009,-71.570000000000007,0.0],[7032,true,true,null,182.879999999999996,1.0,null,null,1.098728,false,400.0,133.330000000000012,190.439999999999998,-54.850000000000001,0.0],[7035,true,true,null,65.799999999999997,1.0,null,null,1.038394,false,80.0,0.0,36.159999999999997,-13.720000000000001,0.0],[7048,true,true,null,55.5,1.0,null,null,1.052472,false,120.0,0.0,58.18,-16.559999999999999,0.0],[7055,true,true,null,448.850000000000023,1.0,null,null,1.000187,false,600.0,200.0,267.360000000000014,-100.980000000000004,0.0],[7057,true,true,null,50.399999999999999,1.0,null,null,1.040913,false,80.0,0.0,37.590000000000003,-12.199999999999999,0.0],[7062,true,true,null,423.199999999999989,1.0,null,null,1.059581,false,500.0,166.670000000000016,220.659999999999997,-85.890000000000001,0.0],[7064,true,true,null,199.5,1.0,null,null,1.019881,false,300.0,100.0,136.870000000000004,-46.68,0.0],[7074,true,true,null,-49.369999999999997,1.0,null,null,1.019093,false,100.0,-65.829999999999998,13.41,-11.890000000000001,0.0],[734,true,true,null,170.0,1.0,null,null,1.026593,false,178.5,0.0,89.939999999999998,-122.060000000000002,0.0],[7084,true,true,null,292.800000000000011,1.0,null,null,1.044403,false,300.0,0.0,126.930000000000007,-57.119999999999997,0.0],[7088,true,true,null,-178.800000000000011,1.0,null,null,1.081026,false,100.0,-238.400000000000006,38.350000000000001,-11.44,0.0],[7092,true,true,null,119.200000000000003,1.0,null,null,1.03985,false,200.0,0.0,93.140000000000001,-29.420000000000002,0.0],[7103,true,true,null,234.200000000000017,1.0,null,null,1.002634,false,300.0,100.0,133.02000000000001,-50.289999999999999,0.0],[7106,true,true,null,9.5,1.0,null,null,1.040026,false,100.0,6.33,177.439999999999998,-67.549999999999997,0.0],[7112,true,true,null,159.800000000000011,1.0,null,null,1.033847,false,167.789999999999992,0.0,71.210000000000008,-63.880000000000002,0.0],[7113,true,true,null,-207.099999999999994,1.0,null,null,1.083134,false,100.0,-276.129999999999995,54.380000000000003,-20.350000000000001,0.0],[7114,true,true,null,65.870000000000004,1.0,null,null,1.026738,false,272.28000000000003,0.0,95.060000000000002,-83.340000000000003,0.0],[7127,true,true,null,490.0,1.0,null,null,1.007918,false,790.0,263.329999999999984,251.349999999999994,-126.570000000000007,0.0],[7133,true,true,null,73.299999999999997,1.0,null,null,1.039671,false,94.5,0.0,37.420000000000002,-50.579999999999998,0.0],[737,true,true,null,90.790000000000006,1.0,null,null,1.033376,false,311.389999999999986,34.600000000000001,107.859999999999999,-95.150000000000006,0.0],[7136,true,true,null,876.399999999999977,1.0,null,null,1.024472,false,1200.0,400.0,516.029999999999973,-219.170000000000016,0.0],[7152,true,true,null,13.48,1.0,null,null,1.034539,false,40.0,0.0,17.609999999999999,-7.31,0.0],[7158,true,true,null,861.300000000000068,1.0,null,null,1.055132,false,1000.0,333.329999999999984,441.04000000000002,-172.050000000000011,0.0],[7165,true,true,null,54.659999999999997,1.0,null,null,1.002006,false,120.0,0.0,55.109999999999999,-19.649999999999999,0.0],[7168,true,true,null,56.399999999999999,1.0,null,null,1.087809,false,80.0,0.0,37.060000000000002,-12.77,0.0],[7182,true,true,null,1250.600000000000136,1.0,null,null,1.104721,false,2000.0,666.669999999999959,926.470000000000027,-297.629999999999996,0.0],[7199,true,true,null,177.080000000000012,1.0,null,null,1.022531,false,200.0,0.0,86.180000000000007,-38.609999999999999,0.0],[7206,true,true,null,119.200000000000003,1.0,null,null,1.039936,false,200.0,0.0,93.140000000000001,-29.420000000000002,0.0],[7208,true,true,null,7.3,1.0,null,null,1.049275,false,7.35,0.0,3.12,-1.46,0.0],[7211,true,true,null,66.299999999999997,1.0,null,null,1.021331,false,202.700000000000017,0.0,70.219999999999999,-62.020000000000003,0.0],[738,true,true,null,465.699999999999989,1.0,null,null,1.035442,false,500.0,166.670000000000016,212.969999999999999,-93.450000000000003,0.0],[7213,true,true,null,359.100000000000023,1.0,null,null,1.0752,false,400.0,133.330000000000012,174.75,-70.609999999999999,0.0],[7222,true,true,null,49.0,1.0,null,null,1.018777,false,51.619999999999998,0.0,41.590000000000003,-54.409999999999997,0.0],[7226,true,true,null,650.0,1.0,null,null,1.008346,false,730.0,243.330000000000012,279.660000000000025,-234.090000000000003,0.0],[7227,true,true,null,524.899999999999977,1.0,null,null,1.172784,false,800.0,266.670000000000016,370.350000000000023,-120.320000000000007,0.0],[7237,true,true,null,-16.800000000000001,1.0,null,null,1.019781,false,100.0,-22.399999999999999,92.989999999999995,-82.060000000000002,0.0],[7249,true,true,null,19.579999999999998,1.0,null,null,1.041313,false,40.0,0.0,17.260000000000002,-7.7,0.0],[7256,true,true,null,21.300000000000001,1.0,null,null,1.023182,false,107.290000000000006,0.0,35.770000000000003,-35.229999999999997,0.0],[7259,true,true,null,32.0,1.0,null,null,1.020734,false,32.700000000000003,10.9,13.73,-6.28,0.0],[7266,true,true,null,-39.700000000000003,1.0,null,null,1.006635,false,100.0,-52.93,89.840000000000003,-34.840000000000003,0.0],[7269,true,true,null,766.800000000000068,1.0,null,null,1.063771,false,900.0,300.0,394.860000000000014,-156.120000000000005,0.0],[748,true,true,null,198.879999999999996,1.0,null,null,1.053546,false,240.0,0.0,105.689999999999998,-43.840000000000003,0.0],[7277,true,true,null,354.699999999999989,1.0,null,null,1.063694,false,400.0,133.330000000000012,174.009999999999991,-71.049999999999997,0.0],[7278,true,true,null,-681.700000000000046,1.0,null,null,1.02664,false,100.0,-908.930000000000064,14.779999999999999,-6.64,0.0],[7280,true,true,null,460.5,1.0,null,null,1.020691,false,673.720000000000027,0.0,318.740000000000009,-349.160000000000025,0.0],[7281,true,true,null,2340.400000000000091,1.0,null,null,1.029197,false,4000.0,1333.329999999999927,1862.289999999999964,-588.159999999999968,0.0],[7292,true,true,null,-64.700000000000003,1.0,null,null,1.029739,false,100.0,-86.269999999999996,37.710000000000001,-12.119999999999999,0.0],[7302,true,true,null,856.399999999999977,1.0,null,null,1.026431,false,900.0,300.0,384.340000000000032,-167.039999999999992,0.0],[7326,true,true,null,59.060000000000002,1.0,null,null,1.046207,false,160.0,0.0,76.109999999999999,-23.620000000000001,0.0],[7327,true,true,null,53.0,1.0,null,null,0.98954,false,80.0,0.0,37.450000000000003,-12.390000000000001,0.0],[7328,true,true,null,62.799999999999997,1.0,null,null,1.037608,false,80.0,0.0,36.259999999999998,-13.550000000000001,0.0],[7329,true,true,null,399.0,1.0,null,null,1.166291,false,401.009999999999991,133.670000000000016,167.110000000000014,-77.810000000000002,0.0],[750,true,true,null,65.900000000000006,1.0,null,null,1.020488,false,300.0,0.0,136.939999999999998,-47.240000000000002,0.0],[7330,true,true,null,32.100000000000001,1.0,null,null,1.064241,false,40.0,0.0,18.120000000000001,-6.81,0.0],[7336,true,true,null,30.600000000000001,1.0,null,null,1.015107,false,32.130000000000003,0.0,32.439999999999998,-14.31,0.0],[7349,true,true,null,165.599999999999994,1.0,null,null,1.027675,false,174.039999999999992,0.0,75.310000000000002,-122.689999999999998,0.0],[7358,true,true,null,116.799999999999997,1.0,null,null,1.046487,false,120.0,0.0,51.0,-22.789999999999999,0.0],[7362,true,true,null,-134.800000000000011,1.0,null,null,1.005537,false,100.0,-179.72999999999999,33.960000000000001,-38.990000000000002,0.0],[7369,true,true,null,-22.300000000000001,1.0,null,null,1.034338,false,100.0,-29.73,3.56,-2.33,0.0],[7375,true,true,null,80.400000000000006,1.0,null,null,1.041198,false,120.0,0.0,56.18,-18.620000000000001,0.0],[7382,true,true,null,100.600000000000008,1.0,null,null,1.011076,false,101.400000000000006,33.799999999999997,42.539999999999999,-19.539999999999999,0.0],[7385,true,true,null,124.0,1.0,null,null,1.023477,false,130.199999999999989,0.0,42.609999999999999,-69.390000000000001,0.0],[7392,true,true,null,-8.75,1.0,null,null,1.057049,false,100.0,-11.66,34.079999999999998,-29.870000000000001,0.0],[756,true,true,null,116.700000000000003,1.0,null,null,1.013994,false,120.0,0.0,51.299999999999997,-23.41,0.0],[7400,true,true,null,242.400000000000006,1.0,null,null,1.018508,false,300.0,0.0,134.009999999999991,-50.149999999999999,0.0],[7407,true,true,null,1485.200000000000045,1.0,null,null,1.010858,false,1804.0,601.330000000000041,408.240000000000009,-347.259999999999991,0.0],[7426,true,true,null,856.399999999999977,1.0,null,null,1.072596,false,1600.0,533.330000000000041,752.610000000000014,-226.420000000000016,0.0],[7428,true,true,null,159.800000000000011,1.0,null,null,1.011339,false,180.0,60.0,77.0,-59.369999999999997,0.0],[7430,true,true,null,735.600000000000023,1.0,null,null,1.016271,false,900.0,300.0,399.879999999999996,-151.379999999999995,0.0],[7431,true,true,null,49.600000000000001,1.0,null,null,1.040989,false,80.0,0.0,37.649999999999999,-12.140000000000001,0.0],[7445,true,true,null,13.300000000000001,1.0,null,null,1.008326,false,40.960000000000001,0.0,14.279999999999999,-12.550000000000001,0.0],[7464,true,true,null,-7.55,1.0,null,null,1.012708,false,100.0,-10.07,27.690000000000001,-9.109999999999999,0.0],[7465,true,true,null,-202.530000000000001,1.0,null,null,1.060565,false,100.0,-270.04000000000002,75.850000000000008,-77.060000000000002,0.0],[7473,true,true,null,76.5,1.0,null,null,1.035524,false,120.0,0.0,56.270000000000003,-18.41,0.0],[762,true,true,null,37.299999999999997,1.0,null,null,1.042899,false,60.0,0.0,27.879999999999999,-8.970000000000001,0.0],[7489,true,true,null,-2.2,1.0,null,null,1.097048,false,100.0,-2.93,83.0,-39.420000000000002,0.0],[7494,true,true,null,75.799999999999997,1.0,null,null,1.031216,false,200.0,50.530000000000001,214.230000000000018,-59.770000000000003,0.0],[7497,true,true,null,-108.900000000000006,1.0,null,null,1.000261,false,100.0,-145.200000000000017,17.850000000000001,-28.260000000000002,0.0],[7498,true,true,null,47.799999999999997,1.0,null,null,0.999526,false,100.0,31.870000000000001,90.310000000000002,-32.289999999999999,0.0],[7503,true,true,null,5.2,1.0,null,null,1.015325,false,5.3,0.0,2.24,-1.05,0.0],[7507,true,true,null,715.100000000000023,1.0,null,null,1.058554,false,900.0,300.0,402.150000000000034,-149.170000000000016,0.0],[7519,true,true,null,702.399999999999977,1.0,null,null,1.027003,false,800.0,266.670000000000016,350.360000000000014,-140.72999999999999,0.0],[7521,true,true,null,508.0,1.0,null,null,0.995659,false,800.0,266.670000000000016,371.110000000000014,-119.670000000000002,0.0],[7557,true,true,null,-75.5,1.0,null,null,1.005058,false,100.0,-100.670000000000002,6.35,-7.49,0.0],[7567,true,true,null,100.799999999999997,1.0,null,null,1.043388,false,120.0,0.0,53.399999999999999,-21.260000000000002,0.0],[122,true,true,null,24.899999999999999,1.0,null,null,1.041503,false,40.0,0.0,18.84,-6.06,0.0],[763,true,true,null,138.300000000000011,1.0,null,null,1.048246,false,400.0,133.330000000000012,174.170000000000016,-71.120000000000005,0.0],[7606,true,true,null,166.090000000000003,1.0,null,null,1.054831,false,280.0,0.0,131.890000000000015,-42.619999999999998,0.0],[7615,true,true,null,375.800000000000011,1.0,null,null,1.131608,false,600.0,200.0,276.990000000000009,-89.879999999999996,0.0],[7618,true,true,null,115.799999999999997,1.0,null,null,1.037789,false,120.0,0.0,51.090000000000003,-22.690000000000001,0.0],[7626,true,true,null,261.970000000000027,1.0,null,null,1.054377,false,400.0,133.330000000000012,180.610000000000014,-64.060000000000002,0.0],[7627,true,true,null,243.0,1.0,null,null,1.064136,false,300.0,100.0,133.780000000000001,-50.039999999999999,0.0],[7629,true,true,null,33.090000000000003,1.0,null,null,1.017306,false,131.819999999999993,0.0,45.850000000000001,-40.5,0.0],[7638,true,true,null,-72.700000000000003,1.0,null,null,1.016695,false,100.0,-96.930000000000007,27.789999999999999,-9.029999999999999,0.0],[7640,true,true,null,769.200000000000045,1.0,null,null,1.049265,false,880.0,200.0,378.20999999999998,-162.349999999999994,0.0],[7644,true,true,null,-95.799999999999997,1.0,null,null,1.028371,false,100.0,-127.730000000000004,5.32,-6.47,0.0],[7655,true,true,null,101.600000000000008,1.0,null,null,1.013707,false,312.340000000000032,34.700000000000003,108.469999999999999,-95.180000000000007,0.0],[764,true,true,null,170.700000000000017,1.0,null,null,1.017174,false,180.0,0.0,76.760000000000005,-33.840000000000003,0.0],[7656,true,true,null,378.0,1.0,null,null,1.129049,false,400.0,133.330000000000012,172.409999999999997,-72.989999999999995,0.0],[7658,true,true,null,-39.5,1.0,null,null,1.029603,false,100.0,-52.670000000000002,74.700000000000003,-24.780000000000001,0.0],[7660,true,true,null,168.599999999999994,1.0,null,null,1.037591,false,180.0,0.0,76.75,-33.789999999999999,0.0],[7669,true,true,null,-30.870000000000001,1.0,null,null,1.005135,false,100.0,-41.159999999999997,28.050000000000001,-8.67,0.0],[7670,true,true,null,285.100000000000023,1.0,null,null,1.080257,false,400.0,133.330000000000012,182.950000000000017,-62.329999999999998,0.0],[7675,true,true,null,46.600000000000001,1.0,null,null,1.074322,false,80.0,0.0,38.030000000000001,-11.81,0.0],[7680,true,true,null,330.060000000000002,1.0,null,null,1.052405,false,400.0,0.0,176.180000000000007,-73.310000000000002,0.0],[7682,true,true,null,40.5,1.0,null,null,1.038382,false,42.5,0.0,24.039999999999999,-31.960000000000001,0.0],[7686,true,true,null,-40.200000000000003,1.0,null,null,1.043409,false,100.0,-53.600000000000001,38.0,-11.94,0.0],[7696,true,true,null,228.200000000000017,1.0,null,null,1.050111,false,280.0,0.0,126.730000000000004,-47.829999999999998,0.0],[773,true,true,null,134.400000000000006,1.0,null,null,1.038992,false,141.120000000000005,0.0,81.570000000000007,-60.740000000000002,0.0],[7706,true,true,null,-93.900000000000006,1.0,null,null,1.042135,false,100.0,-125.200000000000003,38.670000000000002,-11.109999999999999,0.0],[7717,true,true,null,348.0,1.0,null,null,1.008757,false,400.0,133.330000000000012,173.909999999999997,-71.219999999999999,0.0],[7727,true,true,null,420.0,1.0,null,null,1.008042,false,472.0,157.330000000000012,193.140000000000015,-153.189999999999998,0.0],[7736,true,true,null,24.260000000000002,1.0,null,null,1.061861,false,80.0,0.0,36.899999999999999,-13.0,0.0],[7741,true,true,null,-18.640000000000001,1.0,null,null,1.016237,false,100.0,-24.859999999999999,19.100000000000001,-5.74,0.0],[7742,true,true,null,229.599999999999994,1.0,null,null,1.011249,false,240.0,0.0,97.379999999999995,-49.100000000000001,0.0],[7754,true,true,null,6.3,1.0,null,null,1.058479,false,12.9,0.0,4.78,-3.57,0.0],[7757,true,true,null,382.800000000000011,1.0,null,null,1.059721,false,440.0,0.0,195.300000000000011,-78.829999999999998,0.0],[7758,true,true,null,1425.100000000000136,1.0,null,null,1.17759,false,1600.0,400.0,700.159999999999968,-281.590000000000032,0.0],[7760,true,true,null,106.799999999999997,1.0,null,null,1.012378,false,120.0,0.0,52.75,-21.969999999999999,0.0],[775,true,true,null,-111.400000000000006,1.0,null,null,1.023986,false,100.0,-148.530000000000001,18.16,-6.73,0.0],[7775,true,true,null,1221.200000000000045,1.0,null,null,1.077614,false,2000.0,666.669999999999959,934.730000000000018,-291.519999999999982,0.0],[7778,true,true,null,345.199999999999989,1.0,null,null,1.0806,false,600.0,200.0,281.920000000000016,-85.820000000000007,0.0],[7784,true,true,null,212.400000000000006,1.0,null,null,1.048533,false,240.0,0.0,105.850000000000008,-43.630000000000002,0.0],[7797,true,true,null,47.600000000000001,1.0,null,null,1.015906,false,80.0,0.0,37.780000000000001,-11.99,0.0],[7799,true,true,null,76.489999999999995,1.0,null,null,1.005948,false,120.0,0.0,55.020000000000003,-19.59,0.0],[7807,true,true,null,1250.400000000000091,1.0,null,null,1.050047,false,2000.0,666.669999999999959,926.350000000000023,-297.680000000000007,0.0],[7818,true,true,null,25.600000000000001,1.0,null,null,1.018324,false,51.539999999999999,0.0,18.899999999999999,-14.44,0.0],[7832,true,true,null,15.5,1.0,null,null,1.015416,false,240.0,0.0,106.769999999999996,-42.810000000000002,0.0],[7834,true,true,null,23.5,1.0,null,null,1.037848,false,180.0,0.0,81.409999999999997,-29.170000000000002,0.0],[7835,true,true,null,14.9,1.0,null,null,0.997593,false,15.220000000000001,0.0,6.39,-3.07,0.0],[777,true,true,null,16.5,1.0,null,null,1.047837,false,33.579999999999998,0.0,12.369999999999999,-9.359999999999999,0.0],[7841,true,true,null,165.0,1.0,null,null,1.014075,false,200.0,0.0,90.079999999999998,-34.560000000000002,0.0],[7842,true,true,null,390.400000000000034,1.0,null,null,1.056109,false,400.0,0.0,170.140000000000015,-75.460000000000008,0.0],[7853,true,true,null,4.8,1.0,null,null,1.018633,false,100.0,3.2,175.289999999999992,-68.950000000000003,0.0],[7859,true,true,null,397.0,1.0,null,null,1.054905,false,800.0,266.670000000000016,380.360000000000014,-109.909999999999997,0.0],[7879,true,true,null,436.0,1.0,null,null,1.024905,false,500.0,166.670000000000016,217.180000000000007,-89.219999999999999,0.0],[7889,true,true,null,-99.0,1.0,null,null,1.05789,false,100.0,-132.0,18.760000000000002,-6.17,0.0],[7893,true,true,null,150.099999999999994,1.0,null,null,1.044899,false,167.789999999999992,0.0,73.030000000000001,-57.420000000000002,0.0],[7895,true,true,null,216.800000000000011,1.0,null,null,1.054626,false,320.0,0.0,149.300000000000011,-50.090000000000003,0.0],[7912,true,true,null,1368.600000000000136,1.0,null,null,1.0583,false,2000.0,666.669999999999959,920.409999999999968,-305.579999999999984,0.0],[7925,true,true,null,-157.200000000000017,1.0,null,null,1.033819,false,100.0,-209.599999999999994,35.82,-48.350000000000001,0.0],[778,true,true,null,37.799999999999997,1.0,null,null,1.039304,false,45.0,0.0,17.34,-7.58,0.0],[7928,true,true,null,1101.5,1.0,null,null,1.044801,false,1600.0,533.330000000000041,698.07000000000005,-282.170000000000016,0.0],[7933,true,true,null,207.900000000000006,1.0,null,null,1.090866,false,300.0,0.0,136.030000000000001,-47.549999999999997,0.0],[7939,true,true,null,411.800000000000011,1.0,null,null,1.036846,false,600.0,200.0,274.120000000000005,-93.010000000000005,0.0],[7948,true,true,null,75.600000000000008,1.0,null,null,1.033042,false,79.379999999999995,0.0,43.130000000000003,-54.75,0.0],[7952,true,true,null,-175.700000000000017,1.0,null,null,1.067896,false,100.0,-234.27000000000001,282.78000000000003,-84.170000000000002,0.0],[7959,true,true,null,419.0,1.0,null,null,1.017582,false,600.0,200.0,274.199999999999989,-93.219999999999999,0.0],[7963,true,true,null,144.400000000000006,1.0,null,null,1.005985,false,151.599999999999994,0.0,74.879999999999996,-53.810000000000002,0.0],[7978,true,true,null,1637.100000000000136,1.0,null,null,1.064388,false,3200.0,1066.670000000000073,1487.059999999999945,-470.650000000000034,0.0],[7982,true,true,null,189.300000000000011,1.0,null,null,1.014534,false,324.870000000000004,0.0,186.319999999999993,-199.719999999999999,0.0],[7994,true,true,null,60.0,1.0,null,null,1.024627,false,63.0,0.0,23.0,-36.990000000000002,0.0],[779,true,true,null,50.799999999999997,1.0,null,null,1.001975,false,80.0,0.0,37.43,-12.32,0.0],[7997,true,true,null,811.800000000000068,1.0,null,null,1.046131,false,900.0,300.0,391.569999999999993,-160.950000000000017,0.0],[8035,true,true,null,-4.64,1.0,null,null,1.029729,false,100.0,-6.19,28.199999999999999,-8.630000000000001,0.0],[8042,true,true,null,-27.0,1.0,null,null,1.058234,false,100.0,-36.0,75.670000000000002,-23.960000000000001,0.0],[8043,true,true,null,337.600000000000023,1.0,null,null,1.041629,false,600.0,200.0,281.629999999999996,-85.710000000000008,0.0],[8044,true,true,null,7.4,1.0,null,null,1.023558,false,10.98,0.0,4.64,-2.19,0.0],[8064,true,true,null,399.400000000000034,1.0,null,null,1.059118,false,600.0,200.0,276.939999999999998,-90.75,0.0],[8065,true,true,null,-188.900000000000006,1.0,null,null,1.011708,false,100.0,-251.870000000000004,10.73,-9.529999999999999,0.0],[8084,true,true,null,94.600000000000008,1.0,null,null,1.020835,false,99.219999999999999,0.0,30.239999999999998,-49.759999999999998,0.0],[8086,true,true,null,322.120000000000005,1.0,null,null,1.027752,false,420.0,0.0,177.219999999999999,-80.269999999999996,0.0],[8095,true,true,null,46.899999999999999,1.0,null,null,1.065973,false,80.0,0.0,37.659999999999997,-12.140000000000001,0.0],[790,true,true,null,569.740000000000009,1.0,null,null,1.052091,false,1200.0,400.0,567.629999999999996,-167.47999999999999,0.0],[8100,true,true,null,76.299999999999997,1.0,null,null,1.059601,false,461.310000000000002,0.0,151.599999999999994,-153.819999999999993,0.0],[8104,true,true,null,22.5,1.0,null,null,1.013571,false,23.620000000000001,0.0,4.1,-1.77,0.0],[8108,true,true,null,992.0,1.0,null,null,1.059636,false,1041.599999999999909,0.0,99999.0,-99999.0,0.0],[8115,true,true,null,110.5,1.0,null,null,1.035167,false,326.650000000000034,0.0,155.0,-154.689999999999998,0.0],[8116,true,true,null,962.420000000000073,1.0,null,null,1.032328,false,1200.0,400.0,525.090000000000032,-210.370000000000005,0.0],[8118,true,true,null,75.799999999999997,1.0,null,null,1.073486,false,80.0,0.0,34.530000000000001,-15.279999999999999,0.0],[8122,true,true,null,57.399999999999999,1.0,null,null,1.009241,false,80.0,0.0,36.829999999999998,-12.960000000000001,0.0],[8133,true,true,null,56.799999999999997,1.0,null,null,1.008958,false,80.0,0.0,36.869999999999998,-12.91,0.0],[8135,true,true,null,-60.600000000000001,1.0,null,null,1.028389,false,100.0,-80.799999999999997,4.32,-4.6,0.0],[8155,true,true,null,178.0,1.0,null,null,1.075225,false,200.0,66.670000000000002,87.430000000000007,-35.390000000000001,0.0],[794,true,true,null,58.399999999999999,1.0,null,null,1.041931,false,80.0,0.0,36.75,-13.039999999999999,0.0],[8156,true,true,null,314.0,1.0,null,null,1.045038,false,400.0,133.330000000000012,179.340000000000003,-66.099999999999994,0.0],[8157,true,true,null,153.0,1.0,null,null,1.051259,false,200.0,0.0,91.670000000000002,-33.009999999999998,0.0],[8158,true,true,null,698.600000000000023,1.0,null,null,1.060727,false,709.870000000000004,236.620000000000004,291.70999999999998,-137.409999999999997,0.0],[8184,true,true,null,116.799999999999997,1.0,null,null,1.028753,false,294.350000000000023,0.0,104.189999999999998,-86.739999999999995,0.0],[8186,true,true,null,386.04000000000002,1.0,null,null,1.0215,false,500.0,166.670000000000016,219.099999999999994,-87.909999999999997,0.0],[8202,true,true,null,-83.200000000000003,1.0,null,null,1.008878,false,100.0,-110.930000000000007,105.010000000000005,-96.060000000000002,0.0],[8206,true,true,null,1.75,1.0,null,null,1.029137,false,207.27000000000001,0.0,70.170000000000002,-66.450000000000003,0.0],[8209,true,true,null,1321.700000000000046,1.0,null,null,1.044939,false,1600.0,533.330000000000041,709.440000000000055,-271.310000000000002,0.0],[8211,true,true,null,49.799999999999997,1.0,null,null,1.009223,false,80.0,0.0,37.479999999999997,-12.26,0.0],[8214,true,true,null,103.799999999999997,1.0,null,null,1.031215,false,120.0,0.0,52.210000000000001,-21.449999999999999,0.0],[795,true,true,null,31.600000000000001,1.0,null,null,1.01604,false,80.0,0.0,39.0,-10.74,0.0],[8217,true,true,null,82.0,1.0,null,null,1.013588,false,86.100000000000009,0.0,32.039999999999999,-29.68,0.0],[8221,true,true,null,66.799999999999997,1.0,null,null,1.013304,false,80.0,0.0,35.759999999999998,-14.050000000000001,0.0],[8222,true,true,null,401.0,1.0,null,null,1.056121,false,600.0,200.0,276.810000000000002,-90.879999999999996,0.0],[8224,true,true,null,17.0,1.0,null,null,1.062685,false,40.0,0.0,19.489999999999998,-5.42,0.0],[8226,true,true,null,483.0,1.0,null,null,1.022197,false,558.0,186.0,192.450000000000017,-305.550000000000011,0.0],[8239,true,true,null,-15.640000000000001,1.0,null,null,1.056841,false,100.0,-20.850000000000001,36.340000000000003,-35.590000000000003,0.0],[8241,true,true,null,358.360000000000014,1.0,null,null,1.010793,false,420.0,0.0,177.810000000000002,-79.930000000000007,0.0],[8246,true,true,null,253.400000000000006,1.0,null,null,1.055867,false,360.0,0.0,164.300000000000011,-56.850000000000001,0.0],[8251,true,true,null,320.600000000000023,1.0,null,null,1.02226,false,400.0,133.330000000000012,178.090000000000003,-67.320000000000007,0.0],[8266,true,true,null,203.400000000000006,1.0,null,null,1.042576,false,240.0,0.0,106.840000000000003,-42.560000000000002,0.0],[123,true,true,null,861.300000000000068,1.0,null,null,1.077112,false,1000.0,333.329999999999984,440.319999999999993,-172.590000000000003,0.0],[802,true,true,null,-89.200000000000003,1.0,null,null,1.04662,false,100.0,-118.930000000000007,74.030000000000001,-25.539999999999999,0.0],[8268,true,true,null,12.890000000000001,1.0,null,null,1.039628,false,40.0,0.0,18.940000000000001,-6.0,0.0],[8277,true,true,null,97.200000000000003,1.0,null,null,1.005256,false,120.0,0.0,53.880000000000002,-20.800000000000001,0.0],[8296,true,true,null,87.200000000000003,1.0,null,null,1.024007,false,91.560000000000002,0.0,41.329999999999998,-61.530000000000001,0.0],[8303,true,true,null,411.800000000000011,1.0,null,null,1.036714,false,600.0,200.0,274.120000000000005,-93.010000000000005,0.0],[8310,true,true,null,-8.75,1.0,null,null,1.041866,false,100.0,-11.66,17.800000000000001,-7.13,0.0],[8311,true,true,null,1702.200000000000045,1.0,null,null,1.075986,false,2400.0,800.0,1096.329999999999927,-374.639999999999986,0.0],[8316,true,true,null,1485.200000000000045,1.0,null,null,1.000913,false,1804.0,601.330000000000041,402.460000000000036,-352.300000000000011,0.0],[8339,true,true,null,95.049999999999997,1.0,null,null,1.020459,false,160.0,0.0,72.469999999999999,-27.109999999999999,0.0],[8361,true,true,null,407.0,1.0,null,null,1.047632,false,440.0,0.0,192.700000000000017,-81.590000000000003,0.0],[8370,true,true,null,242.0,1.0,null,null,1.107597,false,400.0,133.330000000000012,185.659999999999997,-59.079999999999998,0.0],[806,true,true,null,1597.5,1.0,null,null,1.053518,false,2000.0,666.669999999999959,864.470000000000027,-360.970000000000027,0.0],[8374,true,true,null,459.199999999999989,1.0,null,null,1.024751,false,480.0,0.0,203.219999999999999,-91.519999999999996,0.0],[8376,true,true,null,163.22999999999999,1.0,null,null,1.011199,false,300.0,100.0,136.039999999999992,-48.100000000000001,0.0],[8377,true,true,null,33.799999999999997,1.0,null,null,1.020496,false,40.0,0.0,17.780000000000001,-7.11,0.0],[8382,true,true,null,331.0,1.0,null,null,1.008495,false,500.0,166.670000000000016,225.360000000000014,-79.489999999999995,0.0],[8383,true,true,null,-35.799999999999997,1.0,null,null,1.051363,false,100.0,-47.729999999999997,24.27,-4.24,0.0],[8397,true,true,null,61.780000000000001,1.0,null,null,1.034241,false,82.320000000000007,0.0,34.159999999999997,-15.710000000000001,0.0],[8400,true,true,null,414.970000000000027,1.0,null,null,1.074893,false,800.0,266.670000000000016,377.629999999999996,-112.990000000000009,0.0],[8412,true,true,null,379.199999999999989,1.0,null,null,1.031312,false,400.0,133.330000000000012,171.009999999999991,-74.430000000000007,0.0],[8414,true,true,null,425.0,1.0,null,null,1.082292,false,500.0,166.670000000000016,218.069999999999993,-88.180000000000007,0.0],[8426,true,true,null,50.0,1.0,null,null,1.012295,false,80.0,0.0,37.609999999999999,-12.19,0.0],[812,true,true,null,505.600000000000023,1.0,null,null,1.037003,false,602.0,200.670000000000016,309.079999999999984,-290.930000000000007,0.0],[8432,true,true,null,1.2,1.0,null,null,1.055181,false,100.0,0.8,380.550000000000011,-109.049999999999997,0.0],[8450,true,true,null,57.200000000000003,1.0,null,null,0.998015,false,80.0,0.0,37.149999999999999,-12.73,0.0],[8457,true,true,null,517.100000000000023,1.0,null,null,1.042019,false,1000.0,333.329999999999984,474.420000000000016,-138.490000000000009,0.0],[8463,true,true,null,194.599999999999994,1.0,null,null,1.080213,false,200.0,66.670000000000002,84.609999999999999,-38.079999999999998,0.0],[8472,true,true,null,-135.0,1.0,null,null,1.038343,false,100.0,-180.0,90.210000000000008,-34.450000000000003,0.0],[8473,true,true,null,592.440000000000055,1.0,null,null,1.093709,false,800.0,266.670000000000016,356.660000000000025,-133.719999999999999,0.0],[8480,true,true,null,61.479999999999997,1.0,null,null,1.035652,false,120.0,0.0,55.640000000000001,-18.93,0.0],[8485,true,true,null,78.799999999999997,1.0,null,null,1.043845,false,80.0,0.0,34.159999999999997,-15.67,0.0],[8514,true,true,null,32.299999999999997,1.0,null,null,1.059651,false,200.0,0.0,93.030000000000001,-31.43,0.0],[8517,true,true,null,44.799999999999997,1.0,null,null,1.031547,false,47.039999999999999,0.0,28.59,-37.409999999999997,0.0],[822,true,true,null,1274.200000000000045,1.0,null,null,1.039055,false,2000.0,666.669999999999959,926.680000000000064,-298.310000000000002,0.0],[8521,true,true,null,-75.689999999999998,1.0,null,null,1.027564,false,100.0,-100.920000000000002,3.61,-1.69,0.0],[8530,true,true,null,194.800000000000011,1.0,null,null,1.019991,false,200.0,66.670000000000002,83.350000000000008,-39.079999999999998,0.0],[8531,true,true,null,-697.25,1.0,null,null,1.032486,false,100.0,-929.670000000000073,99999.0,-99999.0,0.0],[8552,true,true,null,2486.5,1.0,null,null,1.077556,false,4000.0,1266.670000000000073,1851.269999999999982,-596.860000000000014,0.0],[8563,true,true,null,-65.0,1.0,null,null,1.01667,false,100.0,-86.670000000000002,51.909999999999997,-22.859999999999999,0.0],[8568,true,true,null,296.800000000000011,1.0,null,null,1.038006,false,400.0,133.330000000000012,181.240000000000009,-64.189999999999998,0.0],[8575,true,true,null,-1.0,1.0,null,null,1.017525,false,100.0,-1.33,12.68,-5.9,0.0],[8585,true,true,null,34.780000000000001,1.0,null,null,1.002287,false,80.0,0.0,37.75,-12.039999999999999,0.0],[8590,true,true,null,342.490000000000009,1.0,null,null,1.06486,false,600.0,200.0,278.840000000000032,-87.969999999999999,0.0],[8602,true,true,null,205.200000000000017,1.0,null,null,1.022771,false,240.0,0.0,106.870000000000004,-42.619999999999998,0.0],[827,true,true,null,55.899999999999999,1.0,null,null,1.044382,false,58.700000000000003,0.0,20.870000000000001,-22.43,0.0],[8604,true,true,null,427.0,1.0,null,null,1.005953,false,600.0,200.0,273.939999999999998,-93.650000000000006,0.0],[8607,true,true,null,285.0,1.0,null,null,1.033413,false,500.0,166.670000000000016,233.650000000000006,-72.590000000000003,0.0],[8609,true,true,null,-182.090000000000003,1.0,null,null,1.056933,false,100.0,-242.780000000000001,224.700000000000017,-70.310000000000002,0.0],[8610,true,true,null,-22.190000000000001,1.0,null,null,1.024775,false,100.0,-29.579999999999998,46.840000000000003,-14.41,0.0],[8621,true,true,null,109.200000000000003,1.0,null,null,1.028478,false,120.0,0.0,52.659999999999997,-21.809999999999999,0.0],[8622,true,true,null,183.22999999999999,1.0,null,null,1.034977,false,240.0,0.0,110.420000000000002,-36.880000000000002,0.0],[8624,true,true,null,20.300000000000001,1.0,null,null,1.051079,false,103.030000000000001,0.0,34.479999999999997,-33.719999999999999,0.0],[8629,true,true,null,298.199999999999989,1.0,null,null,1.059594,false,300.0,100.0,124.560000000000002,-59.189999999999998,0.0],[8639,true,true,null,264.300000000000011,1.0,null,null,1.174902,false,300.0,0.0,131.330000000000012,-52.840000000000003,0.0],[8662,true,true,null,461.0,1.0,null,null,1.025281,false,500.0,166.670000000000016,207.950000000000017,-97.150000000000006,0.0],[830,true,true,null,85.200000000000003,1.0,null,null,1.003271,false,120.0,0.0,55.590000000000003,-19.18,0.0],[8669,true,true,null,-138.300000000000011,1.0,null,null,1.042199,false,100.0,-184.400000000000006,37.399999999999999,-12.460000000000001,0.0],[8674,true,true,null,47.0,1.0,null,null,1.037158,false,80.0,0.0,38.020000000000003,-11.83,0.0],[8675,true,true,null,-259.100000000000023,1.0,null,null,1.019558,false,100.0,-345.470000000000027,34.920000000000002,-14.960000000000001,0.0],[8682,true,true,null,-37.280000000000001,1.0,null,null,1.039554,false,100.0,-49.700000000000003,54.32,-20.390000000000001,0.0],[8692,true,true,null,62.200000000000003,1.0,null,null,1.073334,false,80.0,0.0,36.390000000000001,-13.44,0.0],[8701,true,true,null,130.689999999999998,1.0,null,null,1.026759,false,360.0,0.0,173.200000000000017,-47.670000000000002,0.0],[8713,true,true,null,609.800000000000068,1.0,null,null,1.015463,false,804.0,268.0,376.939999999999998,-228.969999999999999,0.0],[8720,true,true,null,1232.600000000000136,1.0,null,null,1.055054,false,2000.0,666.669999999999959,932.680000000000064,-293.139999999999986,0.0],[8728,true,true,null,20.890000000000001,1.0,null,null,1.008386,false,100.359999999999999,0.0,34.950000000000003,-30.800000000000001,0.0],[8736,true,true,null,355.829999999999984,1.0,null,null,1.058573,false,800.0,266.670000000000016,379.680000000000007,-111.010000000000005,0.0],[831,true,true,null,507.0,1.0,null,null,1.004583,false,600.0,200.0,264.70999999999998,-102.829999999999998,0.0],[8757,true,true,null,675.230000000000018,1.0,null,null,1.047294,false,800.0,266.670000000000016,346.490000000000009,-144.150000000000006,0.0],[8761,true,true,null,327.230000000000018,1.0,null,null,1.046022,false,400.0,133.330000000000012,168.920000000000016,-76.299999999999997,0.0],[8763,true,true,null,128.599999999999994,1.0,null,null,1.048209,false,300.0,85.739999999999995,178.039999999999992,-67.25,0.0],[8769,true,true,null,-40.399999999999999,1.0,null,null,1.012975,false,100.0,-53.869999999999998,61.149999999999999,-47.579999999999998,0.0],[8770,true,true,null,21.699999999999999,1.0,null,null,1.006983,false,40.0,0.0,19.07,-5.8,0.0],[8794,true,true,null,166.200000000000017,1.0,null,null,1.052731,false,240.0,0.0,111.700000000000003,-37.850000000000001,0.0],[8796,true,true,null,29.699999999999999,1.0,null,null,1.072681,false,60.43,0.0,22.350000000000001,-16.77,0.0],[8806,true,true,null,-304.0,1.0,null,null,1.049311,false,100.0,-405.329999999999984,35.840000000000003,-14.07,0.0],[8817,true,true,null,44.659999999999997,1.0,null,null,1.049908,false,160.0,0.0,76.870000000000004,-22.75,0.0],[8819,true,true,null,118.799999999999997,1.0,null,null,1.063983,false,200.0,66.670000000000002,92.950000000000003,-29.510000000000002,0.0],[836,true,true,null,44.0,1.0,null,null,1.022737,false,60.0,0.0,27.190000000000001,-9.66,0.0],[8821,true,true,null,-59.719999999999999,1.0,null,null,1.064182,false,100.0,-79.629999999999996,192.719999999999999,-52.5,0.0],[8850,true,true,null,76.900000000000006,1.0,null,null,1.063062,false,100.0,0.0,44.890000000000001,-16.43,0.0],[8857,true,true,null,42.799999999999997,1.0,null,null,1.023098,false,360.0,0.0,163.909999999999997,-56.979999999999997,0.0],[8868,true,true,null,334.400000000000034,1.0,null,null,1.034597,false,800.0,266.670000000000016,384.300000000000011,-105.829999999999998,0.0],[8870,true,true,null,-233.800000000000011,1.0,null,null,1.032491,false,100.0,-311.730000000000018,106.620000000000004,-40.75,0.0],[8871,true,true,null,1232.600000000000136,1.0,null,null,1.054777,false,2000.0,666.669999999999959,932.680000000000064,-293.139999999999986,0.0],[8874,true,true,null,443.800000000000011,1.0,null,null,1.045119,false,600.0,200.0,272.769999999999982,-95.019999999999996,0.0],[8893,true,true,null,299.800000000000011,1.0,null,null,1.093076,false,400.0,133.330000000000012,179.72999999999999,-65.040000000000006,0.0],[8895,true,true,null,40.0,1.0,null,null,1.032282,false,42.0,0.0,15.33,-19.260000000000002,0.0],[8896,true,true,null,26.050000000000001,1.0,null,null,1.053267,false,120.0,0.0,56.5,-18.210000000000001,0.0],[843,true,true,null,97.5,1.0,null,null,1.064419,false,120.0,0.0,54.350000000000001,-20.469999999999999,0.0],[8902,true,true,null,17.0,1.0,null,null,1.023893,false,86.730000000000004,0.0,28.989999999999998,-28.41,0.0],[8913,true,true,null,50.399999999999999,1.0,null,null,1.034467,false,80.0,0.0,37.189999999999998,-12.460000000000001,0.0],[8919,true,true,null,38.799999999999997,1.0,null,null,1.01084,false,40.0,0.0,17.27,-7.67,0.0],[8926,true,true,null,37.200000000000003,1.0,null,null,1.012236,false,80.0,0.0,38.640000000000001,-11.119999999999999,0.0],[8943,true,true,null,88.400000000000006,1.0,null,null,1.06934,false,100.0,0.0,42.899999999999999,-18.289999999999999,0.0],[8945,true,true,null,756.800000000000068,1.0,null,null,1.036925,false,800.0,266.670000000000016,339.050000000000011,-151.210000000000008,0.0],[8949,true,true,null,-255.700000000000017,1.0,null,null,1.050158,false,100.0,-340.939999999999998,38.229999999999997,-11.609999999999999,0.0],[8955,true,true,null,498.400000000000034,1.0,null,null,1.061596,false,600.0,200.0,266.170000000000016,-101.5,0.0],[8960,true,true,null,-61.799999999999997,1.0,null,null,1.043576,false,100.0,-82.400000000000006,53.520000000000003,-50.380000000000003,0.0],[8965,true,true,null,203.099999999999994,1.0,null,null,1.087897,false,300.0,0.0,136.960000000000008,-46.75,0.0],[847,true,true,null,4.03,1.0,null,null,1.011431,false,100.0,2.69,49.630000000000002,-38.119999999999997,0.0],[8970,true,true,null,-95.400000000000006,1.0,null,null,1.043573,false,100.0,-127.200000000000003,189.200000000000017,-55.619999999999998,0.0],[8971,true,true,null,25.300000000000001,1.0,null,null,1.038393,false,40.0,0.0,18.699999999999999,-6.17,0.0],[8972,true,true,null,1624.700000000000046,1.0,null,null,1.048016,false,2000.0,666.669999999999959,859.0,-367.120000000000005,0.0],[8975,true,true,null,110.0,1.0,null,null,1.04878,false,200.0,0.0,95.650000000000006,-28.949999999999999,0.0],[8977,true,true,null,567.230000000000018,1.0,null,null,1.038763,false,800.0,266.670000000000016,359.95999999999998,-130.659999999999997,0.0],[8980,true,true,null,19.300000000000001,1.0,null,null,1.023844,false,97.980000000000004,0.0,32.659999999999997,-32.18,0.0],[8986,true,true,null,-21.949999999999999,1.0,null,null,1.045054,false,100.0,-29.27,31.68,-29.920000000000002,0.0],[8987,true,true,null,70.0,1.0,null,null,1.016047,false,73.5,0.0,27.09,-37.490000000000002,0.0],[8992,true,true,null,-46.189999999999998,1.0,null,null,1.020391,false,100.0,-61.579999999999998,38.979999999999997,-10.82,0.0],[8996,true,true,null,78.200000000000003,1.0,null,null,1.01701,false,317.090000000000032,0.0,107.590000000000003,-101.480000000000004,0.0],[140,true,true,null,-73.200000000000003,1.0,null,null,1.050716,false,100.0,-97.600000000000008,18.59,-6.33,0.0],[848,true,true,null,8.699999999999999,1.0,null,null,1.037264,false,17.57,0.0,6.45,-4.91,0.0],[8999,true,true,null,341.199999999999989,1.0,null,null,1.042081,false,400.0,133.330000000000012,175.300000000000011,-69.960000000000008,0.0],[9000,true,true,null,338.70999999999998,1.0,null,null,1.023475,false,500.0,166.670000000000016,220.490000000000009,-86.140000000000001,0.0],[9012,true,true,null,31.199999999999999,1.0,null,null,1.023407,false,60.0,0.0,28.359999999999999,-8.470000000000001,0.0],[9026,true,true,null,458.0,1.0,null,null,1.070556,false,800.0,266.670000000000016,376.25,-114.310000000000002,0.0],[9033,true,true,null,-138.300000000000011,1.0,null,null,1.005697,false,100.0,-184.400000000000006,30.469999999999999,-45.979999999999997,0.0],[9034,true,true,null,25.859999999999999,1.0,null,null,1.009337,false,80.0,0.0,36.350000000000001,-13.359999999999999,0.0],[9038,true,true,null,-39.850000000000001,1.0,null,null,1.017349,false,100.0,-53.130000000000003,2.23,-1.07,0.0],[9042,true,true,null,-10.550000000000001,1.0,null,null,1.018389,false,100.0,-14.07,17.82,-7.09,0.0],[9045,true,true,null,340.400000000000034,1.0,null,null,1.070778,false,400.0,0.0,176.140000000000015,-69.299999999999997,0.0],[9046,true,true,null,238.0,1.0,null,null,1.03154,false,400.0,133.330000000000012,186.960000000000008,-58.140000000000001,0.0],[850,true,true,null,59.560000000000002,1.0,null,null,1.018845,false,200.0,0.0,96.640000000000001,-27.809999999999999,0.0],[9047,true,true,null,144.0,1.0,null,null,1.050428,false,200.0,0.0,92.450000000000003,-32.159999999999997,0.0],[9053,true,true,null,306.370000000000005,1.0,null,null,1.116695,false,400.0,133.330000000000012,177.870000000000004,-67.510000000000005,0.0],[9054,true,true,null,-90.0,1.0,null,null,0.97622,false,100.0,-120.0,11.6,-10.23,0.0],[9057,true,true,null,4.25,1.0,null,null,1.013989,false,100.0,2.84,47.340000000000003,-13.779999999999999,0.0],[9059,true,true,null,-418.800000000000011,1.0,null,null,1.066622,false,100.0,-558.399999999999977,34.789999999999999,-15.01,0.0],[9066,true,true,null,369.600000000000023,1.0,null,null,1.03898,false,440.0,146.670000000000016,198.069999999999993,-76.340000000000003,0.0],[9096,true,true,null,40.100000000000001,1.0,null,null,1.016295,false,41.159999999999997,0.0,17.030000000000001,-7.9,0.0],[9098,true,true,null,-89.799999999999997,1.0,null,null,1.028779,false,100.0,-119.730000000000004,63.310000000000002,-68.570000000000007,0.0],[9099,true,true,null,84.5,1.0,null,null,1.07025,false,100.0,0.0,44.0,-17.329999999999998,0.0],[9100,true,true,null,698.800000000000068,1.0,null,null,1.026276,false,1000.0,333.329999999999984,442.990000000000009,-169.920000000000016,0.0],[857,true,true,null,855.600000000000023,1.0,null,null,1.028813,false,1000.0,333.329999999999984,440.670000000000016,-172.150000000000006,0.0],[9102,true,true,null,-58.600000000000001,1.0,null,null,1.027331,false,100.0,-78.129999999999995,25.09,-33.200000000000003,0.0],[9104,true,true,null,99.400000000000006,1.0,null,null,1.088711,false,100.0,33.329999999999998,40.579999999999998,-20.48,0.0],[9107,true,true,null,-34.07,1.0,null,null,1.046328,false,100.0,-45.420000000000002,18.649999999999999,-14.16,0.0],[9109,true,true,null,438.199999999999989,1.0,null,null,1.126918,false,900.0,200.0,172.530000000000001,-72.850000000000008,0.0],[9112,true,true,null,123.400000000000006,1.0,null,null,1.014547,false,125.780000000000001,0.0,49.649999999999999,-24.07,0.0],[9124,true,true,null,39.700000000000003,1.0,null,null,1.042649,false,40.0,0.0,17.280000000000001,-7.69,0.0],[9131,true,true,null,663.0,1.0,null,null,1.04609,false,800.0,266.670000000000016,355.139999999999986,-135.289999999999992,0.0],[9136,true,true,null,42.700000000000003,1.0,null,null,1.048884,false,100.0,28.469999999999999,335.95999999999998,-93.230000000000004,0.0],[9139,true,true,null,-37.200000000000003,1.0,null,null,1.042971,false,100.0,-49.600000000000001,73.189999999999998,-26.48,0.0],[9149,true,true,null,860.800000000000068,1.0,null,null,1.034687,false,1000.0,333.329999999999984,439.379999999999995,-173.280000000000001,0.0],[860,true,true,null,55.799999999999997,1.0,null,null,1.050818,false,120.0,0.0,57.979999999999997,-16.68,0.0],[9160,true,true,null,366.400000000000034,1.0,null,null,1.033176,false,400.0,0.0,175.960000000000008,-73.510000000000005,0.0],[9166,true,true,null,119.100000000000009,1.0,null,null,1.046867,false,180.0,0.0,82.760000000000005,-27.75,0.0],[9167,true,true,null,299.199999999999989,1.0,null,null,1.076561,false,301.009999999999991,100.340000000000003,126.799999999999997,-57.100000000000001,0.0],[9173,true,true,null,-331.400000000000034,1.0,null,null,1.015292,false,100.0,-441.870000000000004,175.0,-49.159999999999997,0.0],[9179,true,true,null,72.0,1.0,null,null,1.053552,false,160.0,0.0,77.689999999999998,-21.969999999999999,0.0],[9186,true,true,null,47.100000000000001,1.0,null,null,1.017206,false,60.0,0.0,26.850000000000001,-10.01,0.0],[9194,true,true,null,30.16,1.0,null,null,1.025329,false,80.0,0.0,36.149999999999999,-13.73,0.0],[9196,true,true,null,46.399999999999999,1.0,null,null,1.017237,false,95.019999999999996,0.0,34.649999999999999,-26.420000000000002,0.0],[9199,true,true,null,292.5,1.0,null,null,1.040977,false,300.0,0.0,126.900000000000006,-57.140000000000001,0.0],[9214,true,true,null,4.77,1.0,null,null,1.008696,false,40.0,0.0,18.190000000000001,-6.61,0.0],[874,true,true,null,343.5,1.0,null,null,1.038959,false,500.0,166.670000000000016,228.159999999999997,-78.189999999999998,0.0],[9229,true,true,null,-126.700000000000003,1.0,null,null,1.027519,false,100.0,-168.930000000000007,127.960000000000008,-55.880000000000002,0.0],[9234,true,true,null,353.389999999999986,1.0,null,null,1.04114,false,400.0,0.0,176.330000000000012,-72.950000000000003,0.0],[9237,true,true,null,829.800000000000068,1.0,null,null,1.097633,false,1200.0,400.0,552.080000000000041,-183.990000000000009,0.0],[9238,true,true,null,419.0,1.0,null,null,1.017601,false,600.0,200.0,274.199999999999989,-93.219999999999999,0.0],[887,true,true,null,181.97999999999999,1.0,null,null,1.037604,false,300.0,100.0,138.599999999999994,-45.270000000000003,0.0],[890,true,true,null,1702.799999999999954,1.0,null,null,1.062964,false,2400.0,800.0,1097.410000000000082,-373.910000000000025,0.0],[893,true,true,null,264.670000000000016,1.0,null,null,1.054199,false,320.0,0.0,141.930000000000007,-57.740000000000002,0.0],[895,true,true,null,-2.7,1.0,null,null,1.021987,false,100.0,-3.6,8.6,-11.4,0.0],[912,true,true,null,1249.400000000000091,1.0,null,null,1.026545,false,1700.0,566.669999999999959,772.110000000000014,-269.939999999999998,0.0],[141,true,true,null,158.700000000000017,1.0,null,null,1.042299,false,180.0,0.0,78.150000000000006,-32.399999999999999,0.0],[915,true,true,null,230.200000000000017,1.0,null,null,1.022135,false,300.0,0.0,134.449999999999989,-49.759999999999998,0.0],[916,true,true,null,32.0,1.0,null,null,1.061631,false,40.0,0.0,18.219999999999999,-6.73,0.0],[925,true,true,null,420.0,1.0,null,null,1.008066,false,472.0,157.330000000000012,201.120000000000005,-87.960000000000008,0.0],[926,true,true,null,27.399999999999999,1.0,null,null,1.067901,false,60.0,0.0,28.690000000000001,-8.16,0.0],[929,true,true,null,679.600000000000023,1.0,null,null,1.058189,false,900.0,300.0,406.660000000000025,-144.75,0.0],[971,true,true,null,1221.200000000000045,1.0,null,null,1.078612,false,2000.0,666.669999999999959,934.730000000000018,-291.519999999999982,0.0],[973,true,true,null,83.890000000000001,1.0,null,null,1.033045,false,120.0,0.0,54.359999999999999,-20.210000000000001,0.0],[975,true,true,null,21.300000000000001,1.0,null,null,1.024328,false,107.829999999999998,0.0,36.020000000000003,-35.350000000000001,0.0],[977,true,true,null,14.9,1.0,null,null,1.017319,false,15.15,0.0,6.43,-2.99,0.0],[982,true,true,null,1034.799999999999954,1.0,null,null,1.078039,false,2000.0,666.669999999999959,948.360000000000014,-277.269999999999982,0.0],[146,true,true,null,-16.0,1.0,null,null,1.058041,false,100.0,-21.329999999999998,70.120000000000005,-29.5,0.0],[983,true,true,null,1029.200000000000045,1.0,null,null,1.031963,false,1600.0,533.330000000000041,738.930000000000064,-240.840000000000003,0.0],[990,true,true,null,21.68,1.0,null,null,1.001634,false,40.0,0.0,16.829999999999998,-8.050000000000001,0.0],[991,true,true,null,14.960000000000001,1.0,null,null,1.030255,false,60.0,0.0,25.969999999999999,-10.869999999999999,0.0],[992,true,true,null,-136.900000000000006,1.0,null,null,1.037248,false,100.0,-182.530000000000001,17.850000000000001,-7.07,0.0],[1000,true,true,null,92.100000000000009,1.0,null,null,1.069874,false,120.0,0.0,55.020000000000003,-19.809999999999999,0.0],[1001,true,true,null,171.0,1.0,null,null,1.03837,false,200.0,0.0,89.549999999999997,-35.149999999999999,0.0],[1003,true,true,null,86.400000000000006,1.0,null,null,0.99944,false,100.0,0.0,43.990000000000002,-17.399999999999999,0.0],[1020,true,true,null,-179.300000000000011,1.0,null,null,1.012345,false,100.0,-239.069999999999993,58.340000000000003,-16.23,0.0],[1028,true,true,null,138.599999999999994,1.0,null,null,1.037886,false,200.0,0.0,90.640000000000001,-31.73,0.0],[1029,true,true,null,164.939999999999998,1.0,null,null,1.007808,false,400.0,100.0,71.659999999999997,-27.890000000000001,0.0],[149,true,true,null,67.290000000000006,1.0,null,null,1.062129,false,160.0,0.0,77.090000000000003,-22.539999999999999,0.0],[1035,true,true,null,202.5,1.0,null,null,1.037074,false,300.0,100.0,137.390000000000015,-46.450000000000003,0.0],[1042,true,true,null,829.5,1.0,null,null,1.027465,false,900.0,300.0,387.879999999999996,-163.400000000000006,0.0],[1049,true,true,null,337.910000000000025,1.0,null,null,1.055375,false,518.720000000000027,252.050000000000011,173.5,-71.790000000000006,0.0],[1081,true,true,null,364.400000000000034,1.0,null,null,1.027941,false,400.0,133.330000000000012,171.620000000000004,-73.5,0.0],[1082,true,true,null,91.799999999999997,1.0,null,null,1.050507,false,120.0,0.0,54.909999999999997,-19.879999999999999,0.0],[1087,true,true,null,4.6,1.0,null,null,1.025882,false,45.990000000000002,0.0,8.06,-3.66,0.0],[1092,true,true,null,837.0,1.0,null,null,1.024587,false,1200.0,400.0,550.690000000000055,-185.150000000000006,0.0],[1096,true,true,null,17.5,1.0,null,null,1.013606,false,18.379999999999999,0.0,6.17,-6.64,0.0],[1097,true,true,null,93.350000000000008,1.0,null,null,1.104358,false,200.0,66.670000000000002,91.420000000000002,-31.239999999999998,0.0],[1099,true,true,null,58.200000000000003,1.0,null,null,1.042301,false,80.0,0.0,36.799999999999997,-13.01,0.0],[150,true,true,null,-110.350000000000008,1.0,null,null,1.013748,false,100.0,-147.129999999999995,37.969999999999999,-58.18,0.0],[1101,true,true,null,-124.150000000000006,1.0,null,null,1.048163,false,100.0,-165.539999999999992,38.049999999999997,-11.59,0.0],[1102,true,true,null,405.689999999999998,1.0,null,null,1.043526,false,800.0,266.670000000000016,376.660000000000025,-112.659999999999997,0.0],[1116,true,true,null,744.100000000000023,1.0,null,null,1.009173,false,864.0,288.0,307.470000000000027,-487.110000000000014,0.0],[1118,true,true,null,298.699999999999989,1.0,null,null,1.044725,false,300.0,100.0,126.490000000000009,-57.329999999999998,0.0],[1120,true,true,null,289.79000000000002,1.0,null,null,1.017488,false,360.0,0.0,158.200000000000017,-62.810000000000002,0.0],[1121,true,true,null,75.200000000000003,1.0,null,null,1.043868,false,190.280000000000001,0.0,68.0,-56.079999999999998,0.0],[1124,true,true,null,129.599999999999994,1.0,null,null,1.04319,false,240.0,0.0,114.570000000000007,-34.740000000000002,0.0],[1130,true,true,null,667.5,1.0,null,null,1.036981,false,900.0,300.0,407.660000000000025,-143.610000000000014,0.0],[1137,true,true,null,930.300000000000068,1.0,null,null,1.088765,false,1000.0,333.329999999999984,432.439999999999998,-180.700000000000017,0.0],[1138,true,true,null,175.47999999999999,1.0,null,null,1.054186,false,240.0,0.0,107.890000000000001,-41.5,0.0],[165,true,true,null,292.199999999999989,1.0,null,null,1.040747,false,300.0,0.0,127.670000000000002,-56.530000000000001,0.0],[1144,true,true,null,173.469999999999999,1.0,null,null,1.040382,false,452.53000000000003,37.710000000000001,153.069999999999993,-144.240000000000009,0.0],[1172,true,true,null,-124.700000000000003,1.0,null,null,1.018544,false,100.0,-166.27000000000001,1.85,-0.88,0.0],[1173,true,true,null,26.800000000000001,1.0,null,null,1.002801,false,40.0,0.0,18.609999999999999,-6.28,0.0],[1174,true,true,null,309.54000000000002,1.0,null,null,1.038334,false,700.0,200.0,108.350000000000008,-39.119999999999997,0.0],[1175,true,true,null,6.7,1.0,null,null,1.016193,false,100.0,4.46,94.129999999999995,-28.09,0.0],[1183,true,true,null,329.199999999999989,1.0,null,null,1.037371,false,400.0,0.0,178.02000000000001,-67.549999999999997,0.0],[1219,true,true,null,107.400000000000006,1.0,null,null,1.008655,false,180.0,0.0,84.070000000000007,-26.48,0.0],[1224,true,true,null,282.800000000000011,1.0,null,null,1.051668,false,290.430000000000007,0.0,118.840000000000003,-55.640000000000001,0.0],[1236,true,true,null,1504.799999999999954,1.0,null,null,1.103909,false,2000.0,666.669999999999959,906.610000000000014,-319.439999999999998,0.0],[1240,true,true,null,46.130000000000003,1.0,null,null,1.019582,false,65.629999999999996,0.0,22.289999999999999,-20.98,0.0],[7,true,true,null,499.699999999999989,1.0,null,null,1.023005,false,524.680000000000064,0.0,251.730000000000018,-246.25,0.0],[178,true,true,null,-179.200000000000017,1.0,null,null,1.043661,false,100.0,-238.930000000000007,52.640000000000001,-51.719999999999999,0.0],[1242,true,true,null,81.700000000000003,1.0,null,null,1.080005,false,100.0,0.0,44.299999999999997,-17.02,0.0],[1243,true,true,null,16.199999999999999,1.0,null,null,1.026736,false,63.789999999999999,0.0,23.859999999999999,-28.850000000000001,0.0],[1250,true,true,null,837.0,1.0,null,null,1.024626,false,1200.0,400.0,550.690000000000055,-185.150000000000006,0.0],[1257,true,true,null,71.0,1.0,null,null,1.032962,false,80.0,0.0,34.909999999999997,-14.83,0.0],[1266,true,true,null,155.300000000000011,1.0,null,null,1.04637,false,400.0,133.330000000000012,191.379999999999995,-52.899999999999999,0.0],[1270,true,true,null,-100.5,1.0,null,null,1.0139,false,100.0,-134.0,32.539999999999999,-32.109999999999999,0.0],[1294,true,true,null,-124.100000000000009,1.0,null,null,1.035594,false,100.0,-165.469999999999999,36.920000000000002,-12.880000000000001,0.0],[1306,true,true,null,-410.100000000000023,1.0,null,null,1.062062,false,100.0,-546.800000000000068,35.479999999999997,-14.34,0.0],[1312,true,true,null,18.18,1.0,null,null,1.031257,false,40.0,0.0,17.510000000000002,-7.42,0.0],[1314,true,true,null,-234.900000000000006,1.0,null,null,1.091975,false,100.0,-313.199999999999989,38.259999999999998,-11.550000000000001,0.0],[189,true,true,null,90.689999999999998,1.0,null,null,1.025544,false,120.0,0.0,54.240000000000002,-20.629999999999999,0.0],[1319,true,true,null,279.600000000000023,1.0,null,null,1.01339,false,360.0,0.0,160.620000000000004,-60.299999999999997,0.0],[1336,true,true,null,184.099999999999994,1.0,null,null,1.05919,false,400.0,133.330000000000012,190.670000000000016,-54.200000000000003,0.0],[1340,true,true,null,67.200000000000003,1.0,null,null,1.035237,false,120.0,0.0,57.030000000000001,-17.620000000000001,0.0],[1353,true,true,null,-246.5,1.0,null,null,1.034497,false,100.0,-328.670000000000016,38.079999999999998,-11.73,0.0],[1360,true,true,null,-83.600000000000008,1.0,null,null,1.001499,false,100.0,-111.469999999999999,91.510000000000005,-30.760000000000002,0.0],[1364,true,true,null,314.0,1.0,null,null,1.045092,false,400.0,133.330000000000012,179.340000000000003,-66.099999999999994,0.0],[1370,true,true,null,87.100000000000009,1.0,null,null,1.02639,false,197.400000000000006,0.0,47.159999999999997,-88.840000000000003,0.0],[1377,true,true,null,-30.210000000000001,1.0,null,null,1.015715,false,100.0,-40.280000000000001,4.86,-7.37,0.0],[1386,true,true,null,-198.400000000000006,1.0,null,null,1.029614,false,100.0,-264.53000000000003,174.110000000000014,-71.239999999999995,0.0],[1389,true,true,null,299.199999999999989,1.0,null,null,1.076512,false,301.009999999999991,100.340000000000003,126.799999999999997,-57.100000000000001,0.0],[191,true,true,null,135.800000000000011,1.0,null,null,1.048355,false,200.0,0.0,91.609999999999999,-30.98,0.0],[1390,true,true,null,26.199999999999999,1.0,null,null,1.027192,false,40.0,0.0,18.739999999999998,-6.17,0.0],[1398,true,true,null,-174.599999999999994,1.0,null,null,1.04788,false,100.0,-232.800000000000011,11.640000000000001,-10.199999999999999,0.0],[1401,true,true,null,200.200000000000017,1.0,null,null,1.019959,false,300.0,100.0,136.47999999999999,-46.670000000000002,0.0],[1408,true,true,null,628.190000000000055,1.0,null,null,1.022303,false,800.0,266.670000000000016,338.660000000000025,-151.759999999999991,0.0],[1416,true,true,null,39.990000000000002,1.0,null,null,1.009035,false,80.0,0.0,38.079999999999998,-11.699999999999999,0.0],[1419,true,true,null,399.5,1.0,null,null,1.001444,false,790.0,263.329999999999984,251.080000000000012,-126.769999999999996,0.0],[1421,true,true,null,-101.0,1.0,null,null,1.047835,false,100.0,-134.670000000000016,18.09,-6.79,0.0],[1425,true,true,null,416.5,1.0,null,null,1.072946,false,500.0,0.0,220.319999999999993,-86.219999999999999,0.0],[1432,true,true,null,57.200000000000003,1.0,null,null,1.01442,false,60.060000000000002,0.0,35.740000000000002,-50.259999999999998,0.0],[1435,true,true,null,49.399999999999999,1.0,null,null,1.054052,false,80.0,0.0,37.719999999999999,-12.09,0.0],[193,true,true,null,268.600000000000023,1.0,null,null,1.02931,false,300.0,100.0,130.189999999999998,-53.530000000000001,0.0],[1439,true,true,null,115.0,1.0,null,null,1.011268,false,120.75,0.0,41.520000000000003,-57.859999999999999,0.0],[1443,true,true,null,130.319999999999993,1.0,null,null,1.023146,false,357.629999999999996,-86.359999999999999,142.870000000000004,-273.100000000000023,0.0],[1457,true,true,null,1588.0,1.0,null,null,1.045766,false,2000.0,666.669999999999959,895.230000000000018,-330.78000000000003,0.0],[1473,true,true,null,-27.0,1.0,null,null,1.010259,false,100.0,-36.0,1.9,-1.04,0.0],[1474,true,true,null,783.899999999999977,1.0,null,null,1.020467,false,900.0,300.0,394.449999999999989,-157.0,0.0],[1477,true,true,null,62.600000000000001,1.0,null,null,1.048923,false,80.0,0.0,36.399999999999999,-13.44,0.0],[1480,true,true,null,297.800000000000011,1.0,null,null,1.040265,false,600.0,100.0,539.990000000000009,-195.849999999999994,0.0],[1483,true,true,null,288.300000000000011,1.0,null,null,1.027385,false,300.0,0.0,127.719999999999999,-56.359999999999999,0.0],[1486,true,true,null,389.03000000000003,1.0,null,null,1.055167,false,400.0,0.0,176.620000000000004,-72.75,0.0],[1491,true,true,null,261.600000000000023,1.0,null,null,1.02928,false,600.0,100.0,376.310000000000002,-114.180000000000007,0.0],[196,true,true,null,292.199999999999989,1.0,null,null,1.099985,false,300.0,0.0,123.890000000000001,-59.539999999999999,0.0],[1497,true,true,null,5.2,1.0,null,null,1.073955,false,5.31,0.0,2.25,-1.06,0.0],[1506,true,true,null,-99.200000000000003,1.0,null,null,1.057885,false,100.0,-132.259999999999991,18.77,-6.16,0.0],[1507,true,true,null,149.200000000000017,1.0,null,null,1.062401,false,200.0,0.0,90.090000000000003,-32.490000000000002,0.0],[1528,true,true,null,-22.699999999999999,1.0,null,null,1.01463,false,100.0,-30.27,1.88,-1.06,0.0],[1545,true,true,null,341.199999999999989,1.0,null,null,1.042059,false,400.0,133.330000000000012,175.300000000000011,-69.960000000000008,0.0],[1549,true,true,null,350.0,1.0,null,null,1.082656,false,400.0,133.330000000000012,174.210000000000008,-70.75,0.0],[1554,true,true,null,453.400000000000034,1.0,null,null,1.065019,false,800.0,266.670000000000016,376.360000000000014,-114.079999999999998,0.0],[1556,true,true,null,993.300000000000068,1.0,null,null,1.039811,false,1100.0,366.670000000000016,478.449999999999989,-196.840000000000003,0.0],[1557,true,true,null,24.100000000000001,1.0,null,null,1.01534,false,47.25,0.0,7.91,-3.82,0.0],[1569,true,true,null,121.400000000000006,1.0,null,null,1.076277,false,200.0,66.670000000000002,93.159999999999997,-29.489999999999998,0.0],[200,true,true,null,5.2,1.0,null,null,1.01914,false,5.37,0.0,2.27,-1.07,0.0],[1581,true,true,null,312.0,1.0,null,null,1.042602,false,400.0,0.0,177.97999999999999,-67.010000000000005,0.0],[1588,true,true,null,-31.539999999999999,1.0,null,null,1.023343,false,100.0,-42.049999999999997,5.55,-17.0,0.0],[1603,true,true,null,50.600000000000001,1.0,null,null,1.037285,false,80.0,0.0,37.659999999999997,-12.17,0.0],[1605,true,true,null,358.199999999999989,1.0,null,null,1.077423,false,400.0,133.330000000000012,174.599999999999994,-70.710000000000008,0.0],[1617,true,true,null,-136.599999999999994,1.0,null,null,1.075715,false,100.0,-182.129999999999995,21.27,-20.07,0.0],[1625,true,true,null,22.800000000000001,1.0,null,null,1.038045,false,28.350000000000001,0.0,17.309999999999999,-14.75,0.0],[1641,true,true,null,50.399999999999999,1.0,null,null,1.025423,false,80.0,0.0,37.740000000000002,-12.109999999999999,0.0],[1679,true,true,null,1250.400000000000091,1.0,null,null,1.038879,false,2000.0,666.669999999999959,928.889999999999986,-296.100000000000023,0.0],[1683,true,true,null,599.300000000000068,1.0,null,null,1.033747,false,1200.0,400.0,530.299999999999954,-205.670000000000016,0.0],[1684,true,true,null,62.700000000000003,1.0,null,null,1.003785,false,120.0,0.0,57.409999999999997,-17.219999999999999,0.0],[208,true,true,null,25.399999999999999,1.0,null,null,1.026832,false,40.0,0.0,18.699999999999999,-6.17,0.0],[1696,true,true,null,-189.0,1.0,null,null,1.036203,false,100.0,-252.0,31.940000000000001,-31.239999999999998,0.0],[1707,true,true,null,860.800000000000068,1.0,null,null,1.034651,false,1000.0,333.329999999999984,439.370000000000005,-173.300000000000011,0.0],[1714,true,true,null,25.350000000000001,1.0,null,null,1.054322,false,80.0,0.0,35.109999999999999,-14.76,0.0],[1716,true,true,null,19.899999999999999,1.0,null,null,1.022926,false,40.0,0.0,19.25,-5.65,0.0],[1718,true,true,null,269.170000000000016,1.0,null,null,1.085028,false,800.0,266.670000000000016,378.699999999999989,-111.850000000000008,0.0],[1719,true,true,null,994.5,1.0,null,null,1.072226,false,1200.0,400.0,534.240000000000009,-201.819999999999993,0.0],[1720,true,true,null,28.100000000000001,1.0,null,null,1.061454,false,40.0,0.0,18.52,-6.39,0.0],[1725,true,true,null,48.659999999999997,1.0,null,null,1.067726,false,120.0,0.0,55.280000000000001,-19.440000000000001,0.0],[1735,true,true,null,200.0,1.0,null,null,1.06645,false,202.580000000000012,67.530000000000001,84.739999999999995,-38.130000000000003,0.0],[1737,true,true,null,623.600000000000023,1.0,null,null,1.015757,false,720.0,240.0,267.730000000000018,-215.509999999999991,0.0],[213,true,true,null,-175.200000000000017,1.0,null,null,1.079765,false,100.0,-233.599999999999994,192.0,-52.890000000000001,0.0],[1742,true,true,null,79.600000000000008,1.0,null,null,1.033701,false,125.0,0.0,55.210000000000001,-18.48,0.0],[1746,true,true,null,835.5,1.0,null,null,1.053359,false,900.0,300.0,387.670000000000016,-163.72999999999999,0.0],[1747,true,true,null,326.800000000000011,1.0,null,null,1.038042,false,400.0,133.330000000000012,176.689999999999998,-68.450000000000003,0.0],[1753,true,true,null,40.0,1.0,null,null,1.037047,false,41.060000000000002,0.0,16.989999999999998,-7.92,0.0],[1755,true,true,null,178.800000000000011,1.0,null,null,1.037533,false,200.0,66.670000000000002,87.480000000000004,-35.369999999999997,0.0],[1775,true,true,null,595.0,1.0,null,null,0.967759,false,624.75,0.0,99999.0,-99999.0,0.0],[1784,true,true,null,108.299999999999997,1.0,null,null,0.998,false,120.0,0.0,51.659999999999997,-22.850000000000001,0.0],[1785,true,true,null,1124.0,1.0,null,null,1.083767,false,1200.0,400.0,515.090000000000032,-220.890000000000015,0.0],[1787,true,true,null,430.199999999999989,1.0,null,null,1.021039,false,600.0,200.0,272.25,-94.920000000000002,0.0],[1792,true,true,null,-90.299999999999997,1.0,null,null,1.020092,false,100.0,-120.400000000000006,34.640000000000001,-15.199999999999999,0.0],[218,true,true,null,1171.0,1.0,null,null,1.056623,false,2000.0,666.669999999999959,937.430000000000064,-288.160000000000025,0.0],[1793,true,true,null,1250.400000000000091,1.0,null,null,1.04708,false,2000.0,666.669999999999959,926.350000000000023,-297.680000000000007,0.0],[1796,true,true,null,42.289999999999999,1.0,null,null,1.005885,false,80.0,0.0,36.93,-12.789999999999999,0.0],[1807,true,true,null,-0.6,1.0,null,null,1.04521,false,100.0,-0.8,111.230000000000004,-38.159999999999997,0.0],[1811,true,true,null,53.600000000000001,1.0,null,null,1.03994,false,70.879999999999996,0.0,12.890000000000001,-5.66,0.0],[1813,true,true,null,311.45999999999998,1.0,null,null,1.039354,false,400.0,133.330000000000012,174.219999999999999,-70.909999999999997,0.0],[1818,true,true,null,246.0,1.0,null,null,1.039397,false,300.0,0.0,132.460000000000008,-51.710000000000001,0.0],[1821,true,true,null,658.200000000000045,1.0,null,null,1.043084,false,800.0,266.670000000000016,356.050000000000011,-134.469999999999999,0.0],[1822,true,true,null,64.799999999999997,1.0,null,null,1.020728,false,80.0,0.0,36.039999999999999,-13.779999999999999,0.0],[1842,true,true,null,29.170000000000002,1.0,null,null,1.080669,false,120.0,0.0,58.009999999999998,-16.800000000000001,0.0],[1845,true,true,null,117.600000000000008,1.0,null,null,1.028122,false,123.480000000000004,0.0,40.939999999999998,-62.740000000000002,0.0],[219,true,true,null,668.700000000000046,1.0,null,null,1.047116,false,900.0,300.0,402.920000000000016,-146.950000000000017,0.0],[1846,true,true,null,40.600000000000001,1.0,null,null,1.002793,false,80.0,0.0,38.420000000000002,-11.359999999999999,0.0],[1849,true,true,null,2.89,1.0,null,null,1.014744,false,32.969999999999999,0.0,11.52,-10.09,0.0],[1850,true,true,null,15.6,1.0,null,null,1.053982,false,31.920000000000002,0.0,11.76,-8.890000000000001,0.0],[1851,true,true,null,-241.800000000000011,1.0,null,null,1.054605,false,100.0,-322.400000000000034,58.159999999999997,-16.52,0.0],[1870,true,true,null,-51.700000000000003,1.0,null,null,1.000876,false,100.0,-68.930000000000007,27.309999999999999,-9.56,0.0],[1876,true,true,null,99.0,1.0,null,null,1.050568,false,240.0,0.0,117.140000000000001,-32.369999999999997,0.0],[1887,true,true,null,573.680000000000064,1.0,null,null,1.034904,false,912.779999999999973,312.78000000000003,396.019999999999982,-155.830000000000012,0.0],[1889,true,true,null,1526.0,1.0,null,null,1.04228,false,1600.0,533.330000000000041,686.730000000000018,-294.620000000000004,0.0],[1891,true,true,null,-12.6,1.0,null,null,1.020022,false,100.0,-16.800000000000001,11.029999999999999,-8.789999999999999,0.0],[1897,true,true,null,246.0,1.0,null,null,1.074634,false,300.0,0.0,133.110000000000014,-51.25,0.0],[17,true,true,null,467.5,1.0,null,null,1.026728,false,500.0,166.670000000000016,212.969999999999999,-93.480000000000004,0.0],[220,true,true,null,296.0,1.0,null,null,1.030636,false,400.0,133.330000000000012,183.920000000000016,-65.299999999999997,0.0],[1899,true,true,null,478.199999999999989,1.0,null,null,1.077688,false,600.0,0.0,263.490000000000009,-103.769999999999996,0.0],[1904,true,true,null,313.100000000000023,1.0,null,null,1.049117,false,600.0,200.0,283.420000000000016,-84.450000000000003,0.0],[1906,true,true,null,76.200000000000003,1.0,null,null,1.038735,false,100.0,0.0,44.859999999999999,-16.43,0.0],[1908,true,true,null,-31.18,1.0,null,null,1.019677,false,100.0,-41.57,38.670000000000002,-11.1,0.0],[1913,true,true,null,115.5,1.0,null,null,1.038898,false,472.160000000000025,39.350000000000001,160.360000000000014,-150.950000000000017,0.0],[1918,true,true,null,411.800000000000011,1.0,null,null,1.036866,false,600.0,200.0,274.120000000000005,-93.010000000000005,0.0],[1924,true,true,null,-184.0,1.0,null,null,1.003974,false,100.0,-245.330000000000012,5.13,-4.7,0.0],[1926,true,true,null,349.129999999999995,1.0,null,null,1.0345,false,500.0,0.0,221.349999999999994,-85.359999999999999,0.0],[1934,true,true,null,-55.399999999999999,1.0,null,null,1.014926,false,100.0,-73.870000000000004,31.239999999999998,-26.98,0.0],[1937,true,true,null,506.100000000000023,1.0,null,null,1.038487,false,531.560000000000059,0.0,314.850000000000023,-480.329999999999984,0.0],[221,true,true,null,-147.300000000000011,1.0,null,null,1.030494,false,100.0,-196.400000000000006,12.51,-5.62,0.0],[1946,true,true,null,-17.02,1.0,null,null,1.053959,false,100.0,-22.699999999999999,2.05,-0.97,0.0],[1958,true,true,null,31.0,1.0,null,null,1.069553,false,40.0,0.0,18.140000000000001,-6.75,0.0],[1969,true,true,null,90.689999999999998,1.0,null,null,1.026295,false,120.0,0.0,54.240000000000002,-20.629999999999999,0.0],[1981,true,true,null,-2.2,1.0,null,null,1.008845,false,100.0,-2.93,20.66,-31.34,0.0],[1990,true,true,null,44.0,1.0,null,null,1.022737,false,60.0,0.0,27.190000000000001,-9.66,0.0],[1998,true,true,null,141.599999999999994,1.0,null,null,1.076837,false,180.0,0.0,80.510000000000005,-30.07,0.0],[2016,true,true,null,216.0,1.0,null,null,1.042851,false,500.0,166.670000000000016,239.75,-66.859999999999999,0.0],[2017,true,true,null,42.799999999999997,1.0,null,null,1.00366,false,80.0,0.0,38.100000000000001,-11.619999999999999,0.0],[2029,true,true,null,576.0,1.0,null,null,1.067534,false,600.0,200.0,257.0,-110.850000000000008,0.0],[2034,true,true,null,855.600000000000023,1.0,null,null,1.028122,false,1000.0,333.329999999999984,441.850000000000023,-171.27000000000001,0.0],[238,true,true,null,-7.05,1.0,null,null,1.018711,false,100.0,-9.4,38.520000000000003,-11.24,0.0],[2045,true,true,null,234.0,1.0,null,null,1.042366,false,300.0,0.0,133.490000000000009,-50.259999999999998,0.0],[2049,true,true,null,836.200000000000045,1.0,null,null,1.004886,false,2000.0,666.669999999999959,962.200000000000045,-263.649999999999977,0.0],[2050,true,true,null,71.0,1.0,null,null,1.047683,false,290.29000000000002,0.0,98.710000000000008,-92.700000000000003,0.0],[2053,true,true,null,1.8,1.0,null,null,1.055574,false,3.7,0.0,1.37,-1.02,0.0],[2062,true,true,null,47.600000000000001,1.0,null,null,1.027043,false,100.0,31.73,67.030000000000001,-30.829999999999998,0.0],[2081,true,true,null,-142.469999999999999,1.0,null,null,1.014544,false,100.0,-189.950000000000017,4.66,-7.7,0.0],[2084,true,true,null,176.0,1.0,null,null,1.029587,false,200.0,0.0,88.390000000000001,-36.189999999999998,0.0],[2085,true,true,null,64.200000000000003,1.0,null,null,1.058532,false,80.0,0.0,36.340000000000003,-13.539999999999999,0.0],[2090,true,true,null,33.899999999999999,1.0,null,null,1.02498,false,40.0,0.0,17.879999999999999,-7.04,0.0],[2095,true,true,null,1063.5,1.0,null,null,1.046008,false,1200.0,400.0,522.740000000000009,-212.370000000000005,0.0],[245,true,true,null,307.100000000000023,1.0,null,null,1.06685,false,800.0,266.670000000000016,378.079999999999984,-112.590000000000003,0.0],[2097,true,true,null,178.0,1.0,null,null,1.064541,false,200.0,66.670000000000002,86.239999999999995,-36.289999999999999,0.0],[2099,true,true,null,152.099999999999994,1.0,null,null,1.022492,false,462.730000000000018,51.409999999999997,160.689999999999998,-140.969999999999999,0.0],[2103,true,true,null,-20.899999999999999,1.0,null,null,1.005555,false,100.0,-27.870000000000001,4.45,-2.4,0.0],[2106,true,true,null,1269.400000000000091,1.0,null,null,1.040878,false,1500.0,500.0,661.899999999999977,-257.620000000000004,0.0],[2112,true,true,null,379.199999999999989,1.0,null,null,1.151426,false,400.0,133.330000000000012,172.069999999999993,-73.290000000000006,0.0],[2149,true,true,null,498.400000000000034,1.0,null,null,1.061614,false,600.0,200.0,266.170000000000016,-101.5,0.0],[2152,true,true,null,-496.600000000000023,1.0,null,null,1.065758,false,100.0,-662.129999999999995,137.409999999999997,-46.469999999999999,0.0],[2162,true,true,null,33.090000000000003,1.0,null,null,1.042967,false,40.0,0.0,17.239999999999998,-7.72,0.0],[2166,true,true,null,95.070000000000007,1.0,null,null,1.027081,false,200.0,66.670000000000002,92.350000000000008,-30.109999999999999,0.0],[2175,true,true,null,1443.549999999999954,1.0,null,null,1.0196,false,2900.0,900.0,38.200000000000003,-11.68,0.0],[247,true,true,null,-172.0,1.0,null,null,1.043991,false,100.0,-229.330000000000012,37.469999999999999,-12.35,0.0],[2176,true,true,null,-121.299999999999997,1.0,null,null,1.068942,false,100.0,-161.72999999999999,58.350000000000001,-16.260000000000002,0.0],[2180,true,true,null,502.199999999999989,1.0,null,null,1.00154,false,534.0,178.0,198.930000000000007,-274.78000000000003,0.0],[2184,true,true,null,99.299999999999997,1.0,null,null,1.056295,false,120.0,0.0,53.939999999999998,-20.829999999999998,0.0],[2186,true,true,null,511.900000000000034,1.0,null,null,1.036364,false,900.0,300.0,405.25,-145.319999999999993,0.0],[2192,true,true,null,7.9,1.0,null,null,1.009622,false,16.120000000000001,0.0,7.47,-2.56,0.0],[2196,true,true,null,-53.289999999999999,1.0,null,null,1.031798,false,100.0,-71.049999999999997,19.510000000000002,-14.74,0.0],[2205,true,true,null,204.300000000000011,1.0,null,null,1.018916,false,300.0,100.0,137.289999999999992,-46.579999999999998,0.0],[2206,true,true,null,14.08,1.0,null,null,1.006198,false,80.0,0.0,38.960000000000001,-10.76,0.0],[2224,true,true,null,-83.5,1.0,null,null,1.025903,false,100.0,-111.329999999999998,2.27,-1.04,0.0],[2235,true,true,null,-38.450000000000003,1.0,null,null,1.020813,false,100.0,-51.259999999999998,2.23,-1.07,0.0],[254,true,true,null,423.199999999999989,1.0,null,null,1.059597,false,500.0,166.670000000000016,220.659999999999997,-85.890000000000001,0.0],[2236,true,true,null,100.0,1.0,null,null,1.034951,false,200.0,0.0,94.840000000000003,-27.760000000000002,0.0],[2240,true,true,null,1170.0,1.0,null,null,1.005014,false,1208.0,402.670000000000016,216.039999999999992,-567.960000000000036,0.0],[2242,true,true,null,-30.600000000000001,1.0,null,null,1.029391,false,100.0,-40.799999999999997,4.72,-2.11,0.0],[2244,true,true,null,165.099999999999994,1.0,null,null,1.010255,false,208.469999999999999,0.0,85.189999999999998,-130.810000000000002,0.0],[2249,true,true,null,-108.5,1.0,null,null,1.024801,false,100.0,-144.670000000000016,26.07,-10.82,0.0],[2252,true,true,null,706.800000000000068,1.0,null,null,1.147706,false,800.0,266.670000000000016,351.300000000000011,-139.52000000000001,0.0],[2265,true,true,null,190.0,1.0,null,null,1.013425,false,199.5,0.0,101.159999999999997,-129.469999999999999,0.0],[2266,true,true,null,362.0,1.0,null,null,1.003207,false,500.0,166.670000000000016,228.159999999999997,-78.829999999999998,0.0],[2275,true,true,null,38.899999999999999,1.0,null,null,1.062473,false,119.299999999999997,0.0,41.670000000000002,-36.5,0.0],[2277,true,true,null,140.0,1.0,null,null,1.030091,false,147.0,0.0,53.350000000000001,-86.650000000000006,0.0],[261,true,true,null,-115.400000000000006,1.0,null,null,1.033795,false,100.0,-153.870000000000004,38.100000000000001,-11.720000000000001,0.0],[2283,true,true,null,-59.5,1.0,null,null,1.030581,false,100.0,-79.329999999999998,38.479999999999997,-11.35,0.0],[2286,true,true,null,148.800000000000011,1.0,null,null,1.034619,false,168.0,0.0,56.210000000000001,-95.790000000000006,0.0],[2288,true,true,null,36.899999999999999,1.0,null,null,1.036649,false,38.740000000000002,0.0,15.59,-20.41,0.0],[2290,true,true,null,110.5,1.0,null,null,1.063998,false,200.0,0.0,95.689999999999998,-28.93,0.0],[2309,true,true,null,164.5,1.0,null,null,1.013414,false,300.0,100.0,141.390000000000015,-42.369999999999997,0.0],[2319,true,true,null,82.200000000000003,1.0,null,null,1.025327,false,120.0,0.0,54.859999999999999,-18.800000000000001,0.0],[2334,true,true,null,431.199999999999989,1.0,null,null,1.044074,false,600.0,200.0,273.490000000000009,-94.100000000000009,0.0],[2350,true,true,null,-35.890000000000001,1.0,null,null,1.019563,false,100.0,-47.859999999999999,47.280000000000001,-13.91,0.0],[2352,true,true,null,-113.5,1.0,null,null,1.010677,false,100.0,-151.330000000000012,30.350000000000001,-35.670000000000002,0.0],[2356,true,true,null,-184.099999999999994,1.0,null,null,1.072612,false,100.0,-245.469999999999999,38.310000000000002,-11.470000000000001,0.0],[262,true,true,null,-34.399999999999999,1.0,null,null,1.028681,false,100.0,-45.869999999999998,5.05,-6.95,0.0],[2358,true,true,null,78.200000000000003,1.0,null,null,1.021762,false,80.0,0.0,34.350000000000001,-15.5,0.0],[2361,true,true,null,662.200000000000045,1.0,null,null,1.038978,false,800.0,266.670000000000016,351.420000000000016,-138.02000000000001,0.0],[2368,true,true,null,129.400000000000006,1.0,null,null,1.055918,false,200.0,66.670000000000002,92.719999999999999,-30.039999999999999,0.0],[2393,true,true,null,200.300000000000011,1.0,null,null,1.065017,false,500.0,100.0,380.310000000000002,-110.079999999999998,0.0],[2397,true,true,null,473.420000000000016,1.0,null,null,1.147454,false,800.0,266.670000000000016,368.840000000000032,-121.980000000000004,0.0],[2401,true,true,null,179.5,1.0,null,null,1.076661,false,200.0,0.0,88.700000000000003,-36.060000000000002,0.0],[2411,true,true,null,67.299999999999997,1.0,null,null,1.013238,false,409.090000000000032,0.0,134.539999999999992,-136.289999999999992,0.0],[2412,true,true,null,51.299999999999997,1.0,null,null,0.996424,false,200.0,0.0,90.680000000000007,-31.93,0.0],[2420,true,true,null,-320.400000000000034,1.0,null,null,1.043537,false,100.0,-427.199999999999989,37.390000000000001,-12.449999999999999,0.0],[2424,true,true,null,-100.5,1.0,null,null,1.037815,false,100.0,-134.0,54.299999999999997,-20.489999999999998,0.0],[277,true,true,null,-64.099999999999994,1.0,null,null,1.014153,false,100.0,-85.469999999999999,37.700000000000003,-12.09,0.0],[2425,true,true,null,-43.200000000000003,1.0,null,null,1.045936,false,100.0,-57.600000000000001,105.340000000000003,-99.019999999999996,0.0],[2428,true,true,null,370.600000000000023,1.0,null,null,1.063143,false,500.0,166.670000000000016,214.099999999999994,-92.650000000000006,0.0],[2445,true,true,null,1367.0,1.0,null,null,1.048971,false,2000.0,666.669999999999959,921.620000000000004,-304.730000000000018,0.0],[2446,true,true,null,-14.5,1.0,null,null,1.031874,false,100.0,-19.329999999999998,49.039999999999999,-32.310000000000002,0.0],[2451,true,true,null,103.0,1.0,null,null,1.026174,false,108.150000000000006,0.0,47.329999999999998,-61.689999999999998,0.0],[2459,true,true,null,37.789999999999999,1.0,null,null,0.979599,false,80.0,0.0,38.009999999999998,-11.74,0.0],[2467,true,true,null,46.799999999999997,1.0,null,null,1.046839,false,80.0,0.0,38.020000000000003,-11.81,0.0],[2480,true,true,null,31.800000000000001,1.0,null,null,1.045831,false,80.0,0.0,39.119999999999997,-10.710000000000001,0.0],[2488,true,true,null,286.5,1.0,null,null,1.046032,false,360.0,0.0,162.400000000000006,-61.789999999999999,0.0],[2500,true,true,null,76.799999999999997,1.0,null,null,1.044679,false,80.0,0.0,34.560000000000002,-15.289999999999999,0.0],[281,true,true,null,1245.700000000000046,1.0,null,null,1.077605,false,2000.0,666.669999999999959,924.639999999999986,-300.350000000000023,0.0],[2508,true,true,null,-92.5,1.0,null,null,1.025789,false,100.0,-123.329999999999998,38.460000000000001,-11.359999999999999,0.0],[2514,true,true,null,27.699999999999999,1.0,null,null,0.998497,false,40.0,0.0,18.43,-6.44,0.0],[2516,true,true,null,3.85,1.0,null,null,1.013559,false,234.52000000000001,0.0,78.129999999999995,-77.070000000000007,0.0],[2518,true,true,null,-48.0,1.0,null,null,1.028396,false,100.0,-64.0,27.239999999999998,-9.550000000000001,0.0],[2533,true,true,null,179.0,1.0,null,null,1.066932,false,200.0,66.670000000000002,86.230000000000004,-36.329999999999998,0.0],[2538,true,true,null,-122.400000000000006,1.0,null,null,1.024702,false,100.0,-163.200000000000017,25.989999999999998,-10.9,0.0],[2540,true,true,null,123.200000000000003,1.0,null,null,1.02273,false,160.0,0.0,73.340000000000003,-26.440000000000001,0.0],[2546,true,true,null,-16.699999999999999,1.0,null,null,1.014326,false,100.0,-22.27,2.6,-2.32,0.0],[2549,true,true,null,54.299999999999997,1.0,null,null,1.047876,false,120.0,0.0,58.229999999999997,-16.489999999999998,0.0],[2567,true,true,null,80.909999999999997,1.0,null,null,1.020248,false,200.0,0.0,91.25,-33.520000000000003,0.0],[24,true,true,null,319.600000000000023,1.0,null,null,1.028526,false,400.0,0.0,179.430000000000007,-66.210000000000008,0.0],[288,true,true,null,52.700000000000003,1.0,null,null,1.046783,false,60.0,0.0,26.02,-10.81,0.0],[2568,true,true,null,-17.850000000000001,1.0,null,null,1.027206,false,100.0,-23.800000000000001,18.859999999999999,-6.03,0.0],[2571,true,true,null,411.199999999999989,1.0,null,null,1.044176,false,600.0,200.0,276.189999999999998,-91.629999999999996,0.0],[2587,true,true,null,-196.099999999999994,1.0,null,null,1.028186,false,100.0,-261.470000000000027,17.059999999999999,-7.84,0.0],[2588,true,true,null,567.0,1.0,null,null,1.02499,false,600.0,200.0,250.659999999999997,-116.189999999999998,0.0],[2593,true,true,null,127.200000000000003,1.0,null,null,1.058099,false,180.0,0.0,81.790000000000006,-28.68,0.0],[2594,true,true,null,994.200000000000045,1.0,null,null,1.073729,false,1200.0,400.0,533.870000000000004,-202.069999999999993,0.0],[2599,true,true,null,76.480000000000004,1.0,null,null,1.047035,false,160.0,0.0,76.079999999999998,-23.59,0.0],[2603,true,true,null,-196.5,1.0,null,null,1.031949,false,100.0,-262.0,17.140000000000001,-7.73,0.0],[2605,true,true,null,291.900000000000034,1.0,null,null,1.041601,false,300.0,0.0,128.02000000000001,-56.229999999999997,0.0],[2619,true,true,null,201.0,1.0,null,null,1.030287,false,240.0,0.0,107.620000000000004,-41.920000000000002,0.0],[293,true,true,null,250.0,1.0,null,null,1.003375,false,480.0,160.0,45.100000000000001,-21.32,0.0],[2623,true,true,null,53.399999999999999,1.0,null,null,1.037675,false,120.0,0.0,58.270000000000003,-16.440000000000001,0.0],[2626,true,true,null,1367.0,1.0,null,null,1.048065,false,2000.0,666.669999999999959,921.519999999999982,-304.79000000000002,0.0],[2641,true,true,null,1897.0,1.0,null,null,1.052836,false,2000.0,666.669999999999959,848.759999999999991,-377.670000000000016,0.0],[2648,true,true,null,156.900000000000006,1.0,null,null,1.087006,false,300.0,100.0,141.849999999999994,-42.119999999999997,0.0],[2649,true,true,null,116.600000000000008,1.0,null,null,1.036234,false,120.0,0.0,50.850000000000001,-22.91,0.0],[2652,true,true,null,41.920000000000002,1.0,null,null,1.032593,false,120.0,0.0,51.939999999999998,-22.800000000000001,0.0],[2657,true,true,null,308.310000000000002,1.0,null,null,1.020867,false,700.0,200.0,124.680000000000007,-59.390000000000001,0.0],[2659,true,true,null,144.900000000000006,1.0,null,null,1.011944,false,180.0,0.0,79.689999999999998,-30.77,0.0],[2661,true,true,null,-27.870000000000001,1.0,null,null,1.014043,false,100.0,-37.159999999999997,27.989999999999998,-8.81,0.0],[2663,true,true,null,371.590000000000032,1.0,null,null,1.049614,false,400.0,133.330000000000012,171.719999999999999,-73.549999999999997,0.0],[298,true,true,null,975.899999999999977,1.0,null,null,1.039248,false,1600.0,533.330000000000041,721.25,-258.70999999999998,0.0],[2684,true,true,null,157.200000000000017,1.0,null,null,1.010899,false,180.0,0.0,78.090000000000003,-32.380000000000003,0.0],[2685,true,true,null,-72.900000000000006,1.0,null,null,1.016926,false,100.0,-97.200000000000003,69.010000000000005,-69.900000000000006,0.0],[2709,true,true,null,768.700000000000046,1.0,null,null,1.035068,false,1480.0,133.330000000000012,665.769999999999982,-243.0,0.0],[2718,true,true,null,77.600000000000008,1.0,null,null,1.041789,false,196.719999999999999,0.0,70.150000000000006,-58.100000000000001,0.0],[2724,true,true,null,105.450000000000003,1.0,null,null,1.014934,false,160.0,0.0,69.219999999999999,-30.350000000000001,0.0],[2728,true,true,null,38.469999999999999,1.0,null,null,1.050822,false,120.0,0.0,57.409999999999997,-17.32,0.0],[2735,true,true,null,204.300000000000011,1.0,null,null,1.032664,false,300.0,0.0,137.02000000000001,-46.75,0.0],[2742,true,true,null,69.200000000000003,1.0,null,null,1.039467,false,80.0,0.0,35.579999999999998,-14.26,0.0],[2757,true,true,null,608.899999999999977,1.0,null,null,1.050098,false,1600.0,466.670000000000016,748.509999999999991,-231.560000000000002,0.0],[2763,true,true,null,575.399999999999977,1.0,null,null,1.045688,false,900.0,300.0,416.699999999999989,-134.5,0.0],[308,true,true,null,95.100000000000009,1.0,null,null,0.989085,false,100.0,0.0,42.619999999999998,-18.719999999999999,0.0],[2774,true,true,null,660.0,1.0,null,null,1.024728,false,744.0,248.0,313.819999999999993,-111.370000000000005,0.0],[2785,true,true,null,1221.200000000000045,1.0,null,null,1.078984,false,2000.0,666.669999999999959,934.810000000000059,-291.470000000000027,0.0],[2790,true,true,null,-4.7,1.0,null,null,1.015494,false,100.0,-6.27,11.279999999999999,-11.470000000000001,0.0],[2796,true,true,null,-95.100000000000009,1.0,null,null,1.041702,false,100.0,-126.799999999999997,88.329999999999998,-36.329999999999998,0.0],[2798,true,true,null,66.799999999999997,1.0,null,null,1.059752,false,160.0,0.0,77.909999999999997,-21.66,0.0],[2799,true,true,null,1048.200000000000045,1.0,null,null,1.02478,false,1200.0,400.0,525.340000000000032,-209.840000000000003,0.0],[2809,true,true,null,283.5,1.0,null,null,1.036015,false,297.680000000000007,0.0,90.600000000000008,-146.960000000000008,0.0],[2815,true,true,null,1250.400000000000091,1.0,null,null,1.049577,false,2000.0,666.669999999999959,926.259999999999991,-297.740000000000009,0.0],[2816,true,true,null,71.799999999999997,1.0,null,null,0.987457,false,80.0,0.0,34.799999999999997,-14.94,0.0],[2821,true,true,null,86.400000000000006,1.0,null,null,1.020284,false,120.0,0.0,54.619999999999998,-19.109999999999999,0.0],[309,true,true,null,346.180000000000007,1.0,null,null,1.155322,false,700.0,200.0,99999.0,-99999.0,0.0],[2825,true,true,null,160.0,1.0,null,null,1.022551,false,168.0,0.0,57.740000000000002,-94.260000000000005,0.0],[2834,true,true,null,756.519999999999982,1.0,null,null,1.043216,false,1200.0,400.0,551.019999999999982,-184.740000000000009,0.0],[2838,true,true,null,29.199999999999999,1.0,null,null,1.03617,false,60.0,0.0,28.379999999999999,-8.380000000000001,0.0],[2840,true,true,null,80.700000000000003,1.0,null,null,1.080183,false,120.0,0.0,55.979999999999997,-18.760000000000002,0.0],[2841,true,true,null,31.600000000000001,1.0,null,null,1.037135,false,40.0,0.0,18.190000000000001,-6.74,0.0],[2851,true,true,null,138.400000000000006,1.0,null,null,1.063812,false,200.0,0.0,91.200000000000003,-31.350000000000001,0.0],[2852,true,true,null,126.0,1.0,null,null,0.998154,false,160.0,0.0,72.019999999999996,-27.469999999999999,0.0],[2861,true,true,null,-109.600000000000008,1.0,null,null,1.027949,false,100.0,-146.129999999999995,37.939999999999998,-11.890000000000001,0.0],[2866,true,true,null,-120.100000000000009,1.0,null,null,1.047385,false,100.0,-160.129999999999995,110.290000000000006,-93.129999999999995,0.0],[2871,true,true,null,4.5,1.0,null,null,1.054344,false,9.050000000000001,0.0,3.31,-2.54,0.0],[312,true,true,null,9.6,1.0,null,null,1.025259,false,10.08,0.0,4.83,-7.17,0.0],[2873,true,true,null,-144.069999999999993,1.0,null,null,1.006921,false,100.0,-192.099999999999994,21.010000000000002,-19.609999999999999,0.0],[2877,true,true,null,8.949999999999999,1.0,null,null,1.047923,false,214.860000000000014,0.0,72.950000000000003,-68.710000000000008,0.0],[2880,true,true,null,131.900000000000006,1.0,null,null,1.024879,false,186.97999999999999,0.0,134.180000000000007,-78.850000000000008,0.0],[2885,true,true,null,60.899999999999999,1.0,null,null,1.057004,false,120.0,0.0,57.689999999999998,-17.02,0.0],[2895,true,true,null,-223.400000000000006,1.0,null,null,1.009058,false,100.0,-297.870000000000004,1.52,-0.73,0.0],[2896,true,true,null,99.600000000000008,1.0,null,null,1.079272,false,200.0,66.670000000000002,94.680000000000007,-27.870000000000001,0.0],[2901,true,true,null,20.899999999999999,1.0,null,null,1.069,false,40.0,0.0,19.190000000000001,-5.72,0.0],[2919,true,true,null,658.5,1.0,null,null,1.036969,false,1200.0,400.0,563.930000000000064,-170.680000000000007,0.0],[2922,true,true,null,962.100000000000023,1.0,null,null,1.040379,false,1200.0,400.0,536.840000000000032,-198.879999999999996,0.0],[2929,true,true,null,53.200000000000003,1.0,null,null,1.054065,false,80.0,0.0,37.240000000000002,-12.539999999999999,0.0],[319,true,true,null,1760.0,1.0,null,null,1.013336,false,1812.0,604.0,320.04000000000002,-843.960000000000036,0.0],[2933,true,true,null,3.4,1.0,null,null,1.049297,false,6.83,0.0,2.51,-1.91,0.0],[2941,true,true,null,313.100000000000023,1.0,null,null,1.049098,false,600.0,200.0,283.420000000000016,-84.450000000000003,0.0],[2945,true,true,null,-222.099999999999994,1.0,null,null,1.012911,false,100.0,-296.129999999999995,1.83,-0.87,0.0],[2955,true,true,null,362.800000000000011,1.0,null,null,1.032523,false,400.0,133.330000000000012,172.530000000000001,-72.75,0.0],[2972,true,true,null,930.100000000000023,1.0,null,null,1.088757,false,1000.0,333.329999999999984,432.470000000000027,-180.670000000000016,0.0],[2974,true,true,null,-23.66,1.0,null,null,1.03823,false,100.0,-31.550000000000001,18.350000000000001,-6.58,0.0],[2981,true,true,null,79.400000000000006,1.0,null,null,1.020472,false,80.0,0.0,34.039999999999999,-15.779999999999999,0.0],[2984,true,true,null,46.600000000000001,1.0,null,null,1.046452,false,493.350000000000023,0.0,184.460000000000008,-132.670000000000016,0.0],[2986,true,true,null,296.800000000000011,1.0,null,null,1.060068,false,320.0,0.0,139.640000000000015,-59.75,0.0],[2988,true,true,null,-542.0,1.0,null,null,1.066576,false,100.0,-722.669999999999959,55.219999999999999,-19.48,0.0],[323,true,true,null,94.0,1.0,null,null,1.063285,false,200.0,0.0,95.320000000000007,-27.289999999999999,0.0],[2991,true,true,null,200.099999999999994,1.0,null,null,1.104121,false,400.0,133.330000000000012,189.580000000000012,-55.329999999999998,0.0],[2996,true,true,null,2334.5,1.0,null,null,1.089588,false,3200.0,1066.670000000000073,1434.049999999999955,-527.419999999999959,0.0],[3001,true,true,null,-18.0,1.0,null,null,1.015981,false,100.0,-24.0,21.559999999999999,-26.440000000000001,0.0],[3002,true,true,null,176.900000000000006,1.0,null,null,1.048371,false,400.0,100.0,370.579999999999984,-119.769999999999996,0.0],[3008,true,true,null,-103.0,1.0,null,null,1.016186,false,100.0,-137.330000000000012,47.719999999999999,-13.5,0.0],[3017,true,true,null,162.5,1.0,null,null,1.049496,false,200.0,0.0,89.609999999999999,-34.82,0.0],[3027,true,true,null,855.700000000000046,1.0,null,null,1.02789,false,1000.0,333.329999999999984,441.850000000000023,-171.27000000000001,0.0],[3028,true,true,null,20.870000000000001,1.0,null,null,1.011669,false,80.0,0.0,37.490000000000002,-12.24,0.0],[3034,true,true,null,676.200000000000045,1.0,null,null,1.0405,false,1200.0,400.0,564.620000000000004,-170.920000000000016,0.0],[3037,true,true,null,292.199999999999989,1.0,null,null,1.041581,false,300.0,0.0,127.909999999999997,-56.340000000000003,0.0],[324,true,true,null,-21.399999999999999,1.0,null,null,1.009625,false,100.0,-28.530000000000001,1.93,-1.01,0.0],[3038,true,true,null,-59.310000000000002,1.0,null,null,1.027247,false,100.0,-79.079999999999998,17.43,-7.49,0.0],[3044,true,true,null,-58.399999999999999,1.0,null,null,1.015762,false,100.0,-77.870000000000004,23.050000000000001,-26.170000000000002,0.0],[3053,true,true,null,210.400000000000006,1.0,null,null,0.995142,false,400.0,133.330000000000012,167.719999999999999,-77.109999999999999,0.0],[3063,true,true,null,224.0,1.0,null,null,1.022454,false,384.0,128.0,137.759999999999991,-138.960000000000008,0.0],[3077,true,true,null,340.5,1.0,null,null,1.024108,false,500.0,166.670000000000016,228.189999999999998,-78.060000000000002,0.0],[3083,true,true,null,-82.329999999999998,1.0,null,null,1.042602,false,100.0,-109.769999999999996,188.930000000000007,-56.32,0.0],[3087,true,true,null,203.400000000000006,1.0,null,null,1.043452,false,240.0,0.0,106.960000000000008,-42.490000000000002,0.0],[3089,true,true,null,47.0,1.0,null,null,1.003861,false,80.0,0.0,38.060000000000002,-11.800000000000001,0.0],[3090,true,true,null,31.399999999999999,1.0,null,null,1.021666,false,33.030000000000001,0.0,15.99,-26.25,0.0],[3095,true,true,null,-59.299999999999997,1.0,null,null,1.008864,false,100.0,-79.070000000000007,21.039999999999999,-36.549999999999997,0.0],[327,true,true,null,-77.900000000000006,1.0,null,null,1.017618,false,100.0,-103.870000000000004,188.909999999999997,-56.140000000000001,0.0],[3112,true,true,null,-20.300000000000001,1.0,null,null,1.064513,false,100.0,-27.07,22.390000000000001,-20.989999999999998,0.0],[3113,true,true,null,38.600000000000001,1.0,null,null,1.063117,false,40.0,0.0,17.329999999999998,-7.61,0.0],[3126,true,true,null,580.700000000000046,1.0,null,null,1.097365,false,600.0,200.0,250.27000000000001,-116.969999999999999,0.0],[3129,true,true,null,357.400000000000034,1.0,null,null,1.038694,false,600.0,200.0,278.160000000000025,-88.469999999999999,0.0],[3132,true,true,null,85.540000000000006,1.0,null,null,1.05743,false,240.0,0.0,113.969999999999999,-35.560000000000002,0.0],[3133,true,true,null,-136.300000000000011,1.0,null,null,1.034426,false,100.0,-181.72999999999999,70.25,-29.329999999999998,0.0],[3134,true,true,null,54.600000000000001,1.0,null,null,1.03216,false,198.080000000000012,0.0,161.689999999999998,-103.109999999999999,0.0],[3146,true,true,null,84.200000000000003,1.0,null,null,1.063849,false,200.0,56.130000000000003,187.349999999999994,-57.759999999999998,0.0],[3149,true,true,null,-31.34,1.0,null,null,1.010317,false,100.0,-41.789999999999999,6.66,-5.1,0.0],[3151,true,true,null,94.5,1.0,null,null,1.069675,false,120.0,0.0,54.68,-20.129999999999999,0.0],[31,true,true,null,8.0,1.0,null,null,1.003223,false,16.199999999999999,0.0,5.91,-4.56,0.0],[337,true,true,null,83.700000000000003,1.0,null,null,1.046957,false,120.0,0.0,55.539999999999999,-19.16,0.0],[3155,true,true,null,-63.200000000000003,1.0,null,null,1.024848,false,100.0,-84.269999999999996,21.530000000000001,-32.380000000000003,0.0],[3156,true,true,null,9.0,1.0,null,null,1.021742,false,18.41,0.0,6.78,-5.13,0.0],[3157,true,true,null,-23.699999999999999,1.0,null,null,1.058123,false,100.0,-31.600000000000001,138.810000000000002,-44.5,0.0],[3162,true,true,null,33.899999999999999,1.0,null,null,1.002654,false,206.860000000000014,0.0,67.920000000000002,-69.019999999999996,0.0],[3182,true,true,null,98.700000000000003,1.0,null,null,1.061538,false,120.0,0.0,53.700000000000003,-20.98,0.0],[3188,true,true,null,77.100000000000009,1.0,null,null,1.027406,false,100.0,0.0,44.68,-16.579999999999998,0.0],[3197,true,true,null,144.0,1.0,null,null,1.008016,false,240.0,0.0,113.549999999999997,-35.859999999999999,0.0],[3204,true,true,null,416.699999999999989,1.0,null,null,1.043987,false,540.0,0.0,243.610000000000014,-88.460000000000008,0.0],[3217,true,true,null,-107.400000000000006,1.0,null,null,1.02981,false,100.0,-143.200000000000017,36.789999999999999,-13.0,0.0],[3218,true,true,null,-36.5,1.0,null,null,1.06035,false,100.0,-48.670000000000002,180.550000000000011,-64.629999999999996,0.0],[346,true,true,null,50.799999999999997,1.0,null,null,1.020949,false,53.420000000000002,0.0,33.329999999999998,-42.670000000000002,0.0],[3226,true,true,null,360.0,1.0,null,null,1.051132,false,400.0,133.330000000000012,173.960000000000008,-71.560000000000002,0.0],[3228,true,true,null,323.199999999999989,1.0,null,null,1.034116,false,400.0,133.330000000000012,177.610000000000014,-67.659999999999997,0.0],[3232,true,true,null,13.0,1.0,null,null,1.006814,false,420.0,0.0,178.469999999999999,-79.109999999999999,0.0],[3233,true,true,null,108.240000000000009,1.0,null,null,1.034756,false,120.0,0.0,56.140000000000001,-17.530000000000001,0.0],[3235,true,true,null,359.300000000000011,1.0,null,null,1.022886,false,400.0,133.330000000000012,173.849999999999994,-71.310000000000002,0.0],[3239,true,true,null,-42.299999999999997,1.0,null,null,1.048993,false,100.0,-56.399999999999999,62.229999999999997,-51.369999999999997,0.0],[3250,true,true,null,285.600000000000023,1.0,null,null,1.085025,false,800.0,266.670000000000016,378.639999999999986,-111.909999999999997,0.0],[3252,true,true,null,123.100000000000009,1.0,null,null,1.024777,false,129.25,0.0,64.469999999999999,-72.730000000000004,0.0],[3262,true,true,null,30.390000000000001,1.0,null,null,1.036588,false,80.0,0.0,38.649999999999999,-11.199999999999999,0.0],[3263,true,true,null,37.799999999999997,1.0,null,null,1.039352,false,45.0,0.0,17.359999999999999,-7.56,0.0],[347,true,true,null,160.400000000000006,1.0,null,null,1.057894,false,240.0,0.0,110.570000000000007,-36.899999999999999,0.0],[3277,true,true,null,46.729999999999997,1.0,null,null,1.024557,false,120.0,0.0,52.310000000000002,-22.52,0.0],[3283,true,true,null,130.199999999999989,1.0,null,null,1.031123,false,180.0,0.0,81.969999999999999,-28.66,0.0],[3284,true,true,null,654.800000000000068,1.0,null,null,1.04544,false,800.0,266.670000000000016,356.439999999999998,-134.090000000000003,0.0],[3289,true,true,null,176.700000000000017,1.0,null,null,1.076876,false,180.0,0.0,76.540000000000006,-34.200000000000003,0.0],[3290,true,true,null,326.400000000000034,1.0,null,null,1.020441,false,500.0,166.670000000000016,229.0,-77.019999999999996,0.0],[3291,true,true,null,309.0,1.0,null,null,0.995766,false,320.0,106.670000000000002,115.170000000000002,-182.610000000000014,0.0],[3297,true,true,null,206.480000000000018,1.0,null,null,1.06827,false,240.0,0.0,103.579999999999998,-45.890000000000001,0.0],[3303,true,true,null,334.5,1.0,null,null,1.024949,false,414.0,138.0,83.579999999999998,-174.420000000000016,0.0],[3305,true,true,null,861.300000000000068,1.0,null,null,1.065504,false,1000.0,333.329999999999984,439.199999999999989,-173.430000000000007,0.0],[3309,true,true,null,29.800000000000001,1.0,null,null,1.032355,false,61.060000000000002,0.0,22.579999999999998,-16.940000000000001,0.0],[351,true,true,null,1250.400000000000091,1.0,null,null,1.048835,false,2000.0,666.669999999999959,926.350000000000023,-297.680000000000007,0.0],[3321,true,true,null,-25.59,1.0,null,null,1.029763,false,100.0,-34.119999999999997,46.859999999999999,-14.26,0.0],[3322,true,true,null,-12.51,1.0,null,null,1.021399,false,100.0,-16.68,4.45,-7.55,0.0],[3323,true,true,null,-26.48,1.0,null,null,1.012342,false,100.0,-35.299999999999997,38.130000000000003,-11.640000000000001,0.0],[3325,true,true,null,441.180000000000007,1.0,null,null,1.057931,false,1200.0,400.0,564.440000000000055,-170.469999999999999,0.0],[3329,true,true,null,44.119999999999997,1.0,null,null,1.049026,false,200.0,0.0,93.359999999999999,-29.109999999999999,0.0],[3333,true,true,null,-45.5,1.0,null,null,1.027102,false,100.0,-60.670000000000002,34.409999999999997,-15.34,0.0],[3334,true,true,null,-600.0,1.0,null,null,1.08064,false,630.0,-630.0,99999.0,-99999.0,0.0],[3335,true,true,null,-42.299999999999997,1.0,null,null,1.010354,false,100.0,-56.399999999999999,4.85,-4.13,0.0],[3339,true,true,null,-287.699999999999989,1.0,null,null,1.027329,false,100.0,-383.600000000000023,55.0,-19.809999999999999,0.0],[3344,true,true,null,-111.900000000000006,1.0,null,null,0.998722,false,100.0,-149.200000000000017,39.100000000000001,-47.420000000000002,0.0],[360,true,true,null,238.300000000000011,1.0,null,null,1.05949,false,400.0,133.330000000000012,186.390000000000015,-58.5,0.0],[3345,true,true,null,56.799999999999997,1.0,null,null,1.014446,false,80.0,0.0,37.100000000000001,-12.76,0.0],[3348,true,true,null,136.800000000000011,1.0,null,null,1.047992,false,200.0,0.0,91.480000000000004,-31.109999999999999,0.0],[3352,true,true,null,19.07,1.0,null,null,1.045086,false,80.0,0.0,38.200000000000003,-11.609999999999999,0.0],[3361,true,true,null,59.200000000000003,1.0,null,null,1.060735,false,80.0,0.0,36.829999999999998,-13.029999999999999,0.0],[3363,true,true,null,44.5,1.0,null,null,1.059596,false,135.27000000000001,0.0,47.189999999999998,-41.439999999999998,0.0],[3370,true,true,null,61.799999999999997,1.0,null,null,1.029674,false,80.0,0.0,36.310000000000002,-13.470000000000001,0.0],[3374,true,true,null,25.600000000000001,1.0,null,null,1.035048,false,100.0,17.07,175.659999999999997,-69.570000000000007,0.0],[3388,true,true,null,78.600000000000008,1.0,null,null,1.037252,false,120.0,0.0,56.350000000000001,-18.440000000000001,0.0],[3389,true,true,null,2.4,1.0,null,null,1.035344,false,120.0,0.0,54.590000000000003,-20.190000000000001,0.0],[3395,true,true,null,249.099999999999994,1.0,null,null,1.095689,false,300.0,0.0,131.75,-52.039999999999999,0.0],[365,true,true,null,185.599999999999994,1.0,null,null,1.008853,false,196.0,65.329999999999998,61.969999999999999,-120.269999999999996,0.0],[3410,true,true,null,-123.700000000000003,1.0,null,null,1.024699,false,100.0,-164.930000000000007,25.57,-11.26,0.0],[3415,true,true,null,171.300000000000011,1.0,null,null,0.99364,false,180.0,0.0,76.430000000000007,-34.119999999999997,0.0],[3421,true,true,null,53.700000000000003,1.0,null,null,1.068276,false,120.0,0.0,58.189999999999998,-16.5,0.0],[3425,true,true,null,70.0,1.0,null,null,1.01782,false,73.420000000000002,0.0,44.780000000000001,-57.030000000000001,0.0],[3430,true,true,null,127.600000000000008,1.0,null,null,1.037857,false,200.0,0.0,92.260000000000005,-30.260000000000002,0.0],[3435,true,true,null,521.0,1.0,null,null,1.052704,false,1200.0,400.0,550.970000000000027,-184.890000000000015,0.0],[3437,true,true,null,-87.5,1.0,null,null,1.048328,false,100.0,-116.670000000000002,37.399999999999999,-12.42,0.0],[3440,true,true,null,159.200000000000017,1.0,null,null,1.059719,false,200.0,66.670000000000002,89.450000000000003,-33.280000000000001,0.0],[3479,true,true,null,239.599999999999994,1.0,null,null,1.039565,false,400.0,133.330000000000012,185.189999999999998,-59.549999999999997,0.0],[3491,true,true,null,-370.800000000000011,1.0,null,null,1.049517,false,100.0,-494.400000000000034,53.75,-21.079999999999998,0.0],[371,true,true,null,-54.899999999999999,1.0,null,null,1.074991,false,100.0,-73.200000000000003,282.949999999999989,-84.299999999999997,0.0],[3506,true,true,null,109.799999999999997,1.0,null,null,1.009668,false,120.0,0.0,51.579999999999998,-22.129999999999999,0.0],[3507,true,true,null,96.900000000000006,1.0,null,null,1.05417,false,120.0,0.0,54.090000000000003,-20.640000000000001,0.0],[3510,true,true,null,522.799999999999954,1.0,null,null,1.086282,false,800.0,266.670000000000016,366.740000000000009,-122.450000000000003,0.0],[3512,true,true,null,829.800000000000068,1.0,null,null,1.027289,false,900.0,300.0,387.879999999999996,-163.400000000000006,0.0],[3514,true,true,null,-85.400000000000006,1.0,null,null,1.053923,false,100.0,-113.870000000000004,38.539999999999999,-11.220000000000001,0.0],[3517,true,true,null,808.659999999999968,1.0,null,null,1.006674,false,1000.0,333.329999999999984,433.829999999999984,-177.900000000000006,0.0],[3546,true,true,null,140.0,1.0,null,null,1.05946,false,200.0,66.670000000000002,91.060000000000002,-31.5,0.0],[3549,true,true,null,341.100000000000023,1.0,null,null,1.042925,false,360.0,0.0,157.150000000000006,-67.400000000000006,0.0],[3550,true,true,null,-37.100000000000001,1.0,null,null,1.039557,false,100.0,-49.469999999999999,175.509999999999991,-69.760000000000005,0.0],[3564,true,true,null,15.880000000000001,1.0,null,null,1.079183,false,80.0,0.0,38.829999999999998,-10.970000000000001,0.0],[381,true,true,null,25.68,1.0,null,null,1.060853,false,80.0,0.0,38.399999999999999,-11.44,0.0],[3569,true,true,null,298.900000000000034,1.0,null,null,1.062522,false,300.0,100.0,124.150000000000006,-59.210000000000001,0.0],[3570,true,true,null,233.599999999999994,1.0,null,null,0.997978,false,240.0,0.0,100.909999999999997,-46.43,0.0],[3579,true,true,null,539.0,1.0,null,null,1.071709,false,600.0,0.0,261.699999999999989,-107.359999999999999,0.0],[3581,true,true,null,-321.800000000000011,1.0,null,null,1.040375,false,100.0,-429.069999999999993,52.829999999999998,-52.039999999999999,0.0],[3582,true,true,null,36.299999999999997,1.0,null,null,1.041006,false,40.0,0.0,17.699999999999999,-7.25,0.0],[3583,true,true,null,-88.400000000000006,1.0,null,null,1.016191,false,100.0,-117.870000000000004,19.800000000000001,-15.119999999999999,0.0],[3584,true,true,null,50.799999999999997,1.0,null,null,1.001933,false,80.0,0.0,37.43,-12.32,0.0],[3589,true,true,null,-31.0,1.0,null,null,1.014988,false,100.0,-41.329999999999998,2.66,-1.25,0.0],[3598,true,true,null,-85.600000000000008,1.0,null,null,1.035573,false,100.0,-114.129999999999995,38.119999999999997,-11.640000000000001,0.0],[3604,true,true,null,158.700000000000017,1.0,null,null,1.037656,false,180.0,0.0,78.600000000000008,-32.039999999999999,0.0],[388,true,true,null,69.0,1.0,null,null,1.017731,false,120.0,0.0,56.729999999999997,-17.84,0.0],[3610,true,true,null,-125.400000000000006,1.0,null,null,1.0427,false,100.0,-167.200000000000017,54.590000000000003,-20.120000000000001,0.0],[3617,true,true,null,54.490000000000002,1.0,null,null,1.059129,false,80.0,0.0,36.219999999999999,-13.68,0.0],[3620,true,true,null,202.030000000000001,1.0,null,null,1.018584,false,300.0,0.0,130.009999999999991,-54.039999999999999,0.0],[3624,true,true,null,150.0,1.0,null,null,1.035196,false,157.5,0.0,58.770000000000003,-75.060000000000002,0.0],[3627,true,true,null,490.0,1.0,null,null,1.011525,false,790.0,263.329999999999984,253.060000000000002,-125.280000000000001,0.0],[3628,true,true,null,54.969999999999999,1.0,null,null,1.019084,false,160.0,0.0,76.850000000000008,-22.640000000000001,0.0],[3633,true,true,null,412.0,1.0,null,null,1.058312,false,500.0,166.670000000000016,217.439999999999998,-88.200000000000003,0.0],[3634,true,true,null,78.200000000000003,1.0,null,null,1.027369,false,82.109999999999999,0.0,22.559999999999999,-41.439999999999998,0.0],[3637,true,true,null,214.099999999999994,1.0,null,null,1.027553,false,335.579999999999984,0.0,153.72999999999999,-109.030000000000001,0.0],[3643,true,true,null,16.399999999999999,1.0,null,null,1.01566,false,66.090000000000003,0.0,22.350000000000001,-21.219999999999999,0.0],[393,true,true,null,2404.400000000000091,1.0,null,null,1.063147,false,2800.0,933.330000000000041,1224.259999999999991,-490.170000000000016,0.0],[3655,true,true,null,-26.199999999999999,1.0,null,null,1.062208,false,100.0,-34.93,116.070000000000007,-33.32,0.0],[3658,true,true,null,1097.400000000000091,1.0,null,null,1.057396,false,2000.0,666.669999999999959,943.639999999999986,-282.009999999999991,0.0],[3659,true,true,null,-128.539999999999992,1.0,null,null,1.032448,false,100.0,-171.379999999999995,35.560000000000002,-48.530000000000001,0.0],[3660,true,true,null,861.200000000000045,1.0,null,null,1.055245,false,1000.0,333.329999999999984,441.04000000000002,-172.050000000000011,0.0],[3672,true,true,null,424.5,1.0,null,null,1.011536,false,600.0,200.0,257.610000000000014,-110.430000000000007,0.0],[3688,true,true,null,5.2,1.0,null,null,1.029361,false,6.2,0.0,2.18,-1.05,0.0],[3690,true,true,null,239.599999999999994,1.0,null,null,1.030004,false,300.0,100.0,133.840000000000003,-49.890000000000001,0.0],[3691,true,true,null,164.400000000000006,1.0,null,null,1.024383,false,420.0,0.0,180.110000000000014,-77.840000000000003,0.0],[3695,true,true,null,662.800000000000068,1.0,null,null,1.041264,false,800.0,266.670000000000016,354.579999999999984,-135.699999999999989,0.0],[3697,true,true,null,-12.58,1.0,null,null,1.039409,false,100.0,-16.780000000000001,36.340000000000003,-13.470000000000001,0.0],[32,true,true,null,5.3,1.0,null,null,1.026534,false,5.38,0.0,2.27,-1.08,0.0],[405,true,true,null,31.0,1.0,null,null,1.012399,false,61.229999999999997,0.0,22.219999999999999,-17.350000000000001,0.0],[3710,true,true,null,40.399999999999999,1.0,null,null,0.999169,false,80.0,0.0,38.359999999999999,-11.380000000000001,0.0],[3719,true,true,null,-75.400000000000006,1.0,null,null,1.050724,false,100.0,-100.530000000000001,18.399999999999999,-6.49,0.0],[3722,true,true,null,1146.299999999999954,1.0,null,null,1.048349,false,1200.0,400.0,514.149999999999977,-221.730000000000018,0.0],[3723,true,true,null,94.900000000000006,1.0,null,null,1.020045,false,100.0,0.0,42.939999999999998,-18.469999999999999,0.0],[3738,true,true,null,34.100000000000001,1.0,null,null,1.035011,false,80.0,0.0,38.899999999999999,-10.9,0.0],[3740,true,true,null,854.700000000000046,1.0,null,null,1.029075,false,1200.0,400.0,548.57000000000005,-187.159999999999997,0.0],[3742,true,true,null,-41.479999999999997,1.0,null,null,1.026432,false,100.0,-55.310000000000002,28.379999999999999,-8.4,0.0],[3745,true,true,null,10.66,1.0,null,null,1.035948,false,80.0,0.0,38.060000000000002,-11.720000000000001,0.0],[3749,true,true,null,169.920000000000016,1.0,null,null,1.066155,false,320.0,0.0,148.02000000000001,-51.700000000000003,0.0],[3752,true,true,null,572.399999999999977,1.0,null,null,1.055722,false,600.0,200.0,255.789999999999992,-112.329999999999998,0.0],[408,true,true,null,-62.0,1.0,null,null,1.032831,false,100.0,-82.670000000000002,24.32,-29.670000000000002,0.0],[3754,true,true,null,-141.700000000000017,1.0,null,null,0.993935,false,100.0,-188.930000000000007,32.420000000000002,-42.82,0.0],[3758,true,true,null,147.599999999999994,1.0,null,null,1.031969,false,200.0,0.0,90.310000000000002,-32.270000000000003,0.0],[3765,true,true,null,16.699999999999999,1.0,null,null,1.0335,false,66.780000000000001,0.0,32.060000000000002,-37.75,0.0],[3768,true,true,null,162.400000000000006,1.0,null,null,1.021894,false,240.0,0.0,110.340000000000003,-37.119999999999997,0.0],[3781,true,true,null,-126.900000000000006,1.0,null,null,1.02915,false,100.0,-169.200000000000017,17.760000000000002,-7.18,0.0],[3790,true,true,null,90.600000000000008,1.0,null,null,0.995335,false,120.0,0.0,54.700000000000003,-19.969999999999999,0.0],[3791,true,true,null,85.400000000000006,1.0,null,null,1.052349,false,240.0,0.0,108.060000000000002,-41.25,0.0],[3796,true,true,null,-204.200000000000017,1.0,null,null,1.060935,false,100.0,-272.269999999999982,35.409999999999997,-14.369999999999999,0.0],[3799,true,true,null,71.900000000000006,1.0,null,null,1.036528,false,76.969999999999999,0.0,35.399999999999999,-48.460000000000001,0.0],[3807,true,true,null,615.0,1.0,null,null,1.073884,false,1000.0,333.329999999999984,467.019999999999982,-146.120000000000005,0.0],[410,true,true,null,35.899999999999999,1.0,null,null,1.03248,false,40.0,0.0,17.66,-7.27,0.0],[3808,true,true,null,257.0,1.0,null,null,1.081564,false,700.0,233.330000000000012,313.009999999999991,-116.730000000000004,0.0],[3809,true,true,null,89.600000000000008,1.0,null,null,1.038535,false,200.0,66.670000000000002,94.810000000000002,-27.359999999999999,0.0],[3820,true,true,null,292.0,1.0,null,null,1.022257,false,400.0,133.330000000000012,165.759999999999991,-79.170000000000002,0.0],[3824,true,true,null,837.300000000000068,1.0,null,null,1.024468,false,900.0,300.0,388.170000000000016,-163.400000000000006,0.0],[3839,true,true,null,-22.949999999999999,1.0,null,null,1.027073,false,100.0,-30.600000000000001,36.289999999999999,-35.420000000000002,0.0],[3840,true,true,null,143.400000000000006,1.0,null,null,1.03976,false,180.0,0.0,79.519999999999996,-30.850000000000001,0.0],[3849,true,true,null,239.599999999999994,1.0,null,null,1.039563,false,400.0,133.330000000000012,185.189999999999998,-59.549999999999997,0.0],[3850,true,true,null,-41.479999999999997,1.0,null,null,1.022667,false,100.0,-55.310000000000002,28.23,-8.550000000000001,0.0],[3852,true,true,null,287.0,1.0,null,null,1.080197,false,400.0,133.330000000000012,182.72999999999999,-62.539999999999999,0.0],[3868,true,true,null,855.600000000000023,1.0,null,null,1.028967,false,1000.0,333.329999999999984,440.689999999999998,-172.140000000000015,0.0],[412,true,true,null,231.0,1.0,null,null,1.048421,false,280.0,0.0,124.120000000000005,-49.840000000000003,0.0],[3869,true,true,null,134.400000000000006,1.0,null,null,1.023622,false,154.560000000000002,0.0,85.5,-135.090000000000003,0.0],[3875,true,true,null,-25.100000000000001,1.0,null,null,1.04066,false,100.0,-33.469999999999999,34.270000000000003,-15.52,0.0],[3878,true,true,null,140.689999999999998,1.0,null,null,1.042235,false,160.0,0.0,71.019999999999996,-28.68,0.0],[3887,true,true,null,70.200000000000003,1.0,null,null,1.064956,false,120.0,0.0,56.840000000000003,-17.84,0.0],[3899,true,true,null,99.600000000000008,1.0,null,null,1.061016,false,120.0,0.0,54.189999999999998,-20.649999999999999,0.0],[3906,true,true,null,319.600000000000023,1.0,null,null,1.025805,false,360.0,120.0,152.360000000000014,-110.070000000000007,0.0],[3907,true,true,null,4.69,1.0,null,null,0.982046,false,10.08,0.0,4.25,-2.02,0.0],[3909,true,true,null,362.0,1.0,null,null,1.069291,false,400.0,133.330000000000012,173.840000000000003,-71.400000000000006,0.0],[3915,true,true,null,-21.27,1.0,null,null,1.039177,false,100.0,-28.370000000000001,38.020000000000003,-11.77,0.0],[3919,true,true,null,349.300000000000011,1.0,null,null,1.064621,false,400.0,133.330000000000012,175.530000000000001,-69.730000000000004,0.0],[422,true,true,null,-19.199999999999999,1.0,null,null,1.030299,false,100.0,-25.600000000000001,5.22,-2.6,0.0],[3921,true,true,null,571.200000000000045,1.0,null,null,1.07194,false,600.0,200.0,256.110000000000014,-112.060000000000002,0.0],[3937,true,true,null,-43.799999999999997,1.0,null,null,1.049226,false,100.0,-58.399999999999999,25.390000000000001,-11.449999999999999,0.0],[3939,true,true,null,660.600000000000023,1.0,null,null,1.018221,false,1000.0,333.329999999999984,450.569999999999993,-161.530000000000001,0.0],[3947,true,true,null,-23.68,1.0,null,null,1.03639,false,100.0,-31.579999999999998,26.309999999999999,-10.52,0.0],[3948,true,true,null,124.0,1.0,null,null,1.052164,false,200.0,0.0,94.120000000000005,-30.350000000000001,0.0],[3950,true,true,null,-27.100000000000001,1.0,null,null,1.03485,false,100.0,-36.130000000000003,126.159999999999997,-127.560000000000002,0.0],[3957,true,true,null,79.200000000000003,1.0,null,null,1.034533,false,120.0,0.0,55.299999999999997,-18.399999999999999,0.0],[3958,true,true,null,56.399999999999999,1.0,null,null,1.052799,false,59.25,0.0,20.0,-28.579999999999998,0.0],[3962,true,true,null,207.0,1.0,null,null,1.020596,false,400.0,133.330000000000012,177.090000000000003,-68.409999999999997,0.0],[3970,true,true,null,-134.5,1.0,null,null,1.053061,false,100.0,-179.330000000000012,55.670000000000002,-19.09,0.0],[423,true,true,null,636.300000000000068,1.0,null,null,1.051241,false,700.0,233.330000000000012,304.379999999999995,-125.480000000000004,0.0],[3978,true,true,null,304.0,1.0,null,null,1.027309,false,319.199999999999989,0.0,120.700000000000003,-206.800000000000011,0.0],[3982,true,true,null,229.900000000000006,1.0,null,null,1.014828,false,300.0,100.0,134.97999999999999,-48.75,0.0],[3986,true,true,null,44.600000000000001,1.0,null,null,1.019043,false,80.0,0.0,38.049999999999997,-11.720000000000001,0.0],[3990,true,true,null,-210.890000000000015,1.0,null,null,1.035055,false,100.0,-281.189999999999998,37.630000000000002,-12.220000000000001,0.0],[3995,true,true,null,-121.200000000000003,1.0,null,null,1.034652,false,100.0,-161.599999999999994,18.620000000000001,-6.31,0.0],[4008,true,true,null,66.469999999999999,1.0,null,null,1.043192,false,120.0,0.0,54.880000000000002,-19.800000000000001,0.0],[4011,true,true,null,46.0,1.0,null,null,1.04188,false,80.0,0.0,37.869999999999998,-11.869999999999999,0.0],[4015,true,true,null,109.200000000000003,1.0,null,null,1.022786,false,120.0,0.0,52.25,-22.440000000000001,0.0],[4023,true,true,null,89.5,1.0,null,null,1.029565,false,200.0,0.0,97.070000000000007,-27.440000000000001,0.0],[4025,true,true,null,399.300000000000011,1.0,null,null,1.05562,false,500.0,166.670000000000016,223.069999999999993,-83.700000000000003,0.0],[432,true,true,null,436.0,1.0,null,null,1.024885,false,500.0,166.670000000000016,217.180000000000007,-89.219999999999999,0.0],[4027,true,true,null,-63.700000000000003,1.0,null,null,1.022221,false,100.0,-84.939999999999998,18.440000000000001,-6.51,0.0],[4045,true,true,null,323.100000000000023,1.0,null,null,1.071125,false,400.0,133.330000000000012,178.680000000000007,-66.570000000000007,0.0],[4051,true,true,null,68.200000000000003,1.0,null,null,1.059535,false,80.0,0.0,35.729999999999997,-14.119999999999999,0.0],[4055,true,true,null,-76.900000000000006,1.0,null,null,1.038451,false,100.0,-102.530000000000001,38.049999999999997,-11.77,0.0],[4070,true,true,null,100.0,1.0,null,null,1.026598,false,105.0,0.0,38.719999999999999,-50.469999999999999,0.0],[4074,true,true,null,79.600000000000008,1.0,null,null,1.033829,false,120.0,0.0,55.210000000000001,-18.48,0.0],[4075,true,true,null,162.800000000000011,1.0,null,null,1.042958,false,200.0,66.670000000000002,88.510000000000005,-34.079999999999998,0.0],[4083,true,true,null,366.100000000000023,1.0,null,null,1.053107,false,600.0,0.0,264.939999999999998,-103.740000000000009,0.0],[4084,true,true,null,188.0,1.0,null,null,1.028863,false,200.0,0.0,85.829999999999998,-36.920000000000002,0.0],[4089,true,true,null,-107.200000000000003,1.0,null,null,1.010258,false,100.0,-142.930000000000007,38.670000000000002,-58.850000000000001,0.0],[433,true,true,null,-2.8,1.0,null,null,1.037999,false,100.0,-3.73,2.75,-3.25,0.0],[4093,true,true,null,165.200000000000017,1.0,null,null,1.026088,false,400.0,100.0,223.909999999999997,-82.75,0.0],[4105,true,true,null,57.0,1.0,null,null,1.022601,false,64.260000000000005,0.0,30.600000000000001,-36.619999999999998,0.0],[4117,true,true,null,41.0,1.0,null,null,1.025736,false,80.0,0.0,38.369999999999997,-11.4,0.0],[4121,true,true,null,216.0,1.0,null,null,1.016568,false,300.0,0.0,134.140000000000015,-49.119999999999997,0.0],[4124,true,true,null,59.600000000000001,1.0,null,null,1.002666,false,80.0,0.0,36.890000000000001,-13.0,0.0],[4127,true,true,null,67.5,1.0,null,null,1.027647,false,120.0,0.0,57.030000000000001,-17.629999999999999,0.0],[4130,true,true,null,229.259999999999991,1.0,null,null,1.034065,false,400.0,133.330000000000012,184.189999999999998,-60.960000000000001,0.0],[4162,true,true,null,191.969999999999999,1.0,null,null,1.047216,false,400.0,133.330000000000012,188.069999999999993,-56.82,0.0],[4171,true,true,null,26.199999999999999,1.0,null,null,1.02637,false,40.0,0.0,18.579999999999998,-6.28,0.0],[4174,true,true,null,1530.200000000000045,1.0,null,null,1.078047,false,2000.0,666.669999999999959,904.670000000000073,-321.610000000000014,0.0],[437,true,true,null,74.0,1.0,null,null,1.038705,false,100.0,0.0,45.100000000000001,-16.18,0.0],[4177,true,true,null,514.600000000000023,1.0,null,null,1.031771,false,600.0,200.0,264.0,-103.609999999999999,0.0],[4178,true,true,null,95.100000000000009,1.0,null,null,1.010218,false,120.0,0.0,54.590000000000003,-20.210000000000001,0.0],[4181,true,true,null,710.700000000000046,1.0,null,null,1.011247,false,800.0,266.670000000000016,344.900000000000034,-146.060000000000002,0.0],[4182,true,true,null,-2.55,1.0,null,null,1.031152,false,100.0,-3.4,38.270000000000003,-11.43,0.0],[4191,true,true,null,767.399999999999977,1.0,null,null,1.076318,false,900.0,300.0,396.379999999999995,-154.990000000000009,0.0],[4194,true,true,null,-488.900000000000034,1.0,null,null,1.076653,false,100.0,-651.870000000000004,465.420000000000016,-147.310000000000002,0.0],[4197,true,true,null,87.5,1.0,null,null,1.01015,false,91.829999999999998,0.0,64.150000000000006,-56.210000000000001,0.0],[4199,true,true,null,260.100000000000023,1.0,null,null,1.016165,false,300.0,100.0,131.25,-52.450000000000003,0.0],[4203,true,true,null,-48.159999999999997,1.0,null,null,1.014828,false,100.0,-64.209999999999994,1.83,-0.85,0.0],[4206,true,true,null,423.930000000000007,1.0,null,null,1.009702,false,800.0,200.0,373.45999999999998,-118.659999999999997,0.0],[438,true,true,null,308.600000000000023,1.0,null,null,1.072491,false,400.0,0.0,175.159999999999997,-69.210000000000008,0.0],[4209,true,true,null,141.890000000000015,1.0,null,null,1.031932,false,160.0,0.0,71.609999999999999,-28.239999999999998,0.0],[4210,true,true,null,16.0,1.0,null,null,1.042563,false,40.0,0.0,19.550000000000001,-5.36,0.0],[4220,true,true,null,110.400000000000006,1.0,null,null,1.036578,false,203.75,0.0,72.120000000000005,-76.5,0.0],[4227,true,true,null,-73.100000000000009,1.0,null,null,1.060932,false,100.0,-97.469999999999999,47.619999999999998,-13.630000000000001,0.0],[4243,true,true,null,354.699999999999989,1.0,null,null,1.039687,false,800.0,266.670000000000016,354.480000000000018,-135.039999999999992,0.0],[4258,true,true,null,28.0,1.0,null,null,1.01039,false,40.0,0.0,18.41,-6.45,0.0],[4277,true,true,null,153.800000000000011,1.0,null,null,1.038839,false,167.360000000000014,0.0,75.890000000000001,-136.310000000000002,0.0],[4278,true,true,null,515.389999999999986,1.0,null,null,1.01498,false,600.0,200.0,261.600000000000023,-106.390000000000001,0.0],[4290,true,true,null,251.0,1.0,null,null,1.019753,false,420.0,0.0,196.080000000000012,-61.880000000000002,0.0],[4295,true,true,null,33.5,1.0,null,null,1.040271,false,40.0,0.0,18.02,-6.93,0.0],[38,true,true,null,34.299999999999997,1.0,null,null,1.003511,false,40.0,0.0,17.760000000000002,-7.14,0.0],[439,true,true,null,83.100000000000009,1.0,null,null,1.028093,false,120.0,0.0,55.729999999999997,-19.010000000000002,0.0],[4321,true,true,null,108.740000000000009,1.0,null,null,1.055269,false,300.0,100.0,141.75,-41.969999999999999,0.0],[4322,true,true,null,212.800000000000011,1.0,null,null,1.038456,false,320.0,0.0,149.97999999999999,-49.469999999999999,0.0],[4329,true,true,null,1176.0,1.0,null,null,1.049093,false,1600.0,533.330000000000041,723.460000000000036,-256.990000000000009,0.0],[4330,true,true,null,60.200000000000003,1.0,null,null,1.029918,false,80.0,0.0,36.729999999999997,-13.119999999999999,0.0],[4332,true,true,null,152.400000000000006,1.0,null,null,0.997274,false,180.0,0.0,79.100000000000009,-31.460000000000001,0.0],[4333,true,true,null,73.299999999999997,1.0,null,null,1.057462,false,100.0,0.0,45.090000000000003,-16.170000000000002,0.0],[4336,true,true,null,490.5,1.0,null,null,1.026934,false,1200.0,400.0,576.779999999999973,-158.189999999999998,0.0],[4337,true,true,null,-52.5,1.0,null,null,1.021243,false,100.0,-70.0,16.93,-7.97,0.0],[4349,true,true,null,167.0,1.0,null,null,1.028107,false,200.0,0.0,87.370000000000005,-35.060000000000002,0.0],[4374,true,true,null,59.200000000000003,1.0,null,null,1.045136,false,80.0,0.0,36.93,-12.949999999999999,0.0],[441,true,true,null,-40.350000000000001,1.0,null,null,1.011727,false,100.0,-53.799999999999997,1.95,-0.93,0.0],[4375,true,true,null,273.600000000000023,1.0,null,null,1.018032,false,300.0,100.0,129.289999999999992,-54.380000000000003,0.0],[4392,true,true,null,115.359999999999999,1.0,null,null,1.061357,false,300.0,100.0,142.0,-41.869999999999998,0.0],[4394,true,true,null,-129.099999999999994,1.0,null,null,1.036974,false,100.0,-172.129999999999995,38.479999999999997,-11.33,0.0],[4395,true,true,null,147.599999999999994,1.0,null,null,1.08226,false,300.0,100.0,142.819999999999993,-41.020000000000003,0.0],[4397,true,true,null,236.0,1.0,null,null,1.046214,false,300.0,0.0,134.390000000000015,-49.990000000000002,0.0],[4398,true,true,null,-9.15,1.0,null,null,1.054017,false,100.0,-12.19,18.100000000000001,-6.81,0.0],[4399,true,true,null,358.199999999999989,1.0,null,null,1.077395,false,400.0,133.330000000000012,174.599999999999994,-70.710000000000008,0.0],[4418,true,true,null,861.300000000000068,1.0,null,null,1.055121,false,1000.0,333.329999999999984,441.04000000000002,-172.050000000000011,0.0],[4419,true,true,null,84.0,1.0,null,null,1.009808,false,88.200000000000003,0.0,51.759999999999998,-57.390000000000001,0.0],[4427,true,true,null,14.699999999999999,1.0,null,null,1.016576,false,60.240000000000002,0.0,20.489999999999998,-19.239999999999998,0.0],[446,true,true,null,37.700000000000003,1.0,null,null,1.035215,false,40.0,0.0,16.84,-8.039999999999999,0.0],[4428,true,true,null,5.0,1.0,null,null,1.007433,false,46.200000000000003,0.0,24.739999999999998,-4.75,0.0],[4439,true,true,null,-50.600000000000001,1.0,null,null,1.012622,false,100.0,-67.469999999999999,94.730000000000004,-27.43,0.0],[4441,true,true,null,-11.23,1.0,null,null,1.031243,false,100.0,-14.98,34.609999999999999,-33.920000000000002,0.0],[4444,true,true,null,252.599999999999994,1.0,null,null,1.031204,false,772.539999999999964,85.840000000000003,269.009999999999991,-234.650000000000006,0.0],[4446,true,true,null,261.769999999999982,1.0,null,null,1.115565,false,400.0,133.330000000000012,182.870000000000004,-62.520000000000003,0.0],[4454,true,true,null,742.600000000000023,1.0,null,null,1.01091,false,902.0,300.670000000000016,204.120000000000005,-173.629999999999996,0.0],[4463,true,true,null,50.100000000000001,1.0,null,null,1.054883,false,120.0,0.0,58.409999999999997,-16.260000000000002,0.0],[4467,true,true,null,-76.700000000000003,1.0,null,null,1.041888,false,100.0,-102.269999999999996,38.009999999999998,-11.83,0.0],[4477,true,true,null,410.5,1.0,null,null,1.062733,false,500.0,166.670000000000016,220.620000000000004,-85.810000000000002,0.0],[4479,true,true,null,861.300000000000068,1.0,null,null,1.065482,false,1000.0,333.329999999999984,439.199999999999989,-173.430000000000007,0.0],[451,true,true,null,-56.799999999999997,1.0,null,null,1.013382,false,100.0,-75.730000000000004,37.859999999999999,-11.94,0.0],[4481,true,true,null,35.200000000000003,1.0,null,null,1.043069,false,80.0,0.0,38.850000000000001,-10.949999999999999,0.0],[4485,true,true,null,38.5,1.0,null,null,1.026359,false,40.0,0.0,16.899999999999999,-7.98,0.0],[4497,true,true,null,156.800000000000011,1.0,null,null,1.085986,false,200.0,0.0,89.579999999999998,-33.109999999999999,0.0],[4501,true,true,null,115.0,1.0,null,null,1.022423,false,120.0,0.0,51.149999999999999,-22.620000000000001,0.0],[4505,true,true,null,-171.800000000000011,1.0,null,null,1.032581,false,100.0,-229.069999999999993,37.859999999999999,-11.949999999999999,0.0],[4515,true,true,null,364.800000000000011,1.0,null,null,1.018246,false,400.0,133.330000000000012,173.069999999999993,-72.390000000000001,0.0],[4525,true,true,null,6.45,1.0,null,null,1.059432,false,60.0,0.0,26.829999999999998,-10.039999999999999,0.0],[4532,true,true,null,1530.100000000000136,1.0,null,null,1.087859,false,2400.0,800.0,1074.339999999999918,-397.660000000000025,0.0],[4551,true,true,null,-117.740000000000009,1.0,null,null,1.021862,false,100.0,-156.990000000000009,3.57,-4.42,0.0],[4563,true,true,null,318.0,1.0,null,null,1.026639,false,325.0,0.0,122.640000000000001,-61.659999999999997,0.0],[452,true,true,null,260.100000000000023,1.0,null,null,1.024712,false,540.0,0.0,257.230000000000018,-74.400000000000006,0.0],[4565,true,true,null,-30.390000000000001,1.0,null,null,1.07048,false,100.0,-40.509999999999998,37.939999999999998,-11.869999999999999,0.0],[4572,true,true,null,61.100000000000001,1.0,null,null,1.021097,false,93.489999999999995,0.0,51.689999999999998,-46.859999999999999,0.0],[4585,true,true,null,-545.700000000000046,1.0,null,null,1.037111,false,100.0,-727.600000000000023,92.960000000000008,-29.809999999999999,0.0],[4601,true,true,null,428.860000000000014,1.0,null,null,1.120537,false,800.0,266.670000000000016,375.699999999999989,-114.930000000000007,0.0],[4607,true,true,null,25.199999999999999,1.0,null,null,1.034566,false,26.460000000000001,0.0,17.309999999999999,-17.23,0.0],[4608,true,true,null,60.700000000000003,1.0,null,null,1.019251,false,72.579999999999998,0.0,45.93,-39.149999999999999,0.0],[4612,true,true,null,689.200000000000045,1.0,null,null,1.021632,false,772.0,257.329999999999984,254.860000000000014,-368.110000000000014,0.0],[4619,true,true,null,115.200000000000003,1.0,null,null,1.089892,false,200.0,0.0,93.850000000000008,-28.850000000000001,0.0],[4623,true,true,null,68.0,1.0,null,null,1.045235,false,80.0,0.0,35.619999999999998,-14.19,0.0],[4632,true,true,null,-66.099999999999994,1.0,null,null,1.009572,false,100.0,-88.129999999999995,-0.72,-6.6,0.0],[455,true,true,null,-28.079999999999998,1.0,null,null,0.999847,false,100.0,-37.439999999999998,44.799999999999997,-39.810000000000002,0.0],[4637,true,true,null,-236.300000000000011,1.0,null,null,1.050874,false,100.0,-315.069999999999993,38.280000000000001,-11.57,0.0],[4646,true,true,null,78.400000000000006,1.0,null,null,1.050276,false,100.0,0.0,45.009999999999998,-16.399999999999999,0.0],[4653,true,true,null,200.0,1.0,null,null,1.017349,false,210.0,0.0,133.340000000000003,-115.590000000000003,0.0],[4656,true,true,null,101.620000000000004,1.0,null,null,1.020179,false,300.0,0.0,140.97999999999999,-43.310000000000002,0.0],[4660,true,true,null,-78.900000000000006,1.0,null,null,1.056504,false,100.0,-105.200000000000003,19.140000000000001,-5.77,0.0],[4661,true,true,null,1509.299999999999954,1.0,null,null,1.066687,false,2000.0,666.669999999999959,897.580000000000041,-328.800000000000011,0.0],[4662,true,true,null,-116.0,1.0,null,null,1.021171,false,100.0,-154.670000000000016,55.07,-19.629999999999999,0.0],[4665,true,true,null,491.0,1.0,null,null,1.011313,false,500.0,166.670000000000016,198.840000000000003,-105.439999999999998,0.0],[4666,true,true,null,-20.780000000000001,1.0,null,null,1.01948,false,100.0,-27.699999999999999,37.780000000000001,-12.039999999999999,0.0],[4669,true,true,null,450.199999999999989,1.0,null,null,1.092961,false,500.0,166.670000000000016,214.710000000000008,-91.579999999999998,0.0],[483,true,true,null,229.5,1.0,null,null,1.054091,false,300.0,0.0,132.409999999999997,-50.850000000000001,0.0],[4675,true,true,null,763.600000000000023,1.0,null,null,1.088792,false,800.0,266.670000000000016,343.25,-147.430000000000007,0.0],[4689,true,true,null,541.0,1.0,null,null,1.026559,false,900.0,300.0,417.980000000000018,-132.469999999999999,0.0],[4694,true,true,null,-85.900000000000006,1.0,null,null,1.053968,false,100.0,-114.530000000000001,38.530000000000001,-11.220000000000001,0.0],[4700,true,true,null,93.200000000000003,1.0,null,null,1.042354,false,281.850000000000023,0.0,98.400000000000006,-86.290000000000006,0.0],[4707,true,true,null,79.5,1.0,null,null,0.996652,false,120.0,0.0,56.030000000000001,-18.68,0.0],[4738,true,true,null,49.600000000000001,1.0,null,null,1.021645,false,80.0,0.0,37.439999999999998,-12.279999999999999,0.0],[4748,true,true,null,527.299999999999954,1.0,null,null,1.030135,false,553.659999999999968,0.0,280.0,-279.319999999999993,0.0],[4754,true,true,null,55.200000000000003,1.0,null,null,1.0132,false,57.960000000000001,0.0,30.48,-41.520000000000003,0.0],[4757,true,true,null,570.600000000000023,1.0,null,null,1.064718,false,600.0,200.0,257.490000000000009,-110.950000000000003,0.0],[4771,true,true,null,78.0,1.0,null,null,1.023126,false,200.0,0.0,89.540000000000006,-34.979999999999997,0.0],[488,true,true,null,-107.400000000000006,1.0,null,null,1.008032,false,100.0,-143.200000000000017,6.28,-4.82,0.0],[4772,true,true,null,16.0,1.0,null,null,1.017383,false,65.299999999999997,0.0,22.149999999999999,-20.899999999999999,0.0],[4775,true,true,null,805.5,1.0,null,null,1.063105,false,900.0,300.0,389.829999999999984,-161.159999999999997,0.0],[4782,true,true,null,861.300000000000068,1.0,null,null,1.06564,false,1000.0,333.329999999999984,439.199999999999989,-173.430000000000007,0.0],[4787,true,true,null,387.470000000000027,1.0,null,null,1.009861,false,800.0,266.670000000000016,379.509999999999991,-111.070000000000007,0.0],[4804,true,true,null,-183.5,1.0,null,null,1.046224,false,100.0,-244.670000000000016,190.289999999999992,-54.520000000000003,0.0],[4815,true,true,null,-26.079999999999998,1.0,null,null,1.060527,false,100.0,-34.770000000000003,38.369999999999997,-11.44,0.0],[4818,true,true,null,855.600000000000023,1.0,null,null,1.028949,false,1000.0,333.329999999999984,440.689999999999998,-172.140000000000015,0.0],[4822,true,true,null,10.300000000000001,1.0,null,null,1.055712,false,10.460000000000001,0.0,4.44,-2.07,0.0],[4823,true,true,null,728.399999999999977,1.0,null,null,1.089599,false,1200.0,400.0,558.519999999999982,-176.390000000000015,0.0],[4833,true,true,null,10.5,1.0,null,null,1.038553,false,11.029999999999999,0.0,7.0,-6.84,0.0],[490,true,true,null,105.400000000000006,1.0,null,null,1.033193,false,200.0,0.0,94.560000000000002,-28.100000000000001,0.0],[4842,true,true,null,6.8,1.0,null,null,1.048394,false,13.630000000000001,0.0,5.0,-3.81,0.0],[4843,true,true,null,226.599999999999994,1.0,null,null,1.00703,false,500.0,100.0,377.480000000000018,-111.420000000000002,0.0],[4844,true,true,null,-6.25,1.0,null,null,1.024167,false,100.0,-8.33,27.539999999999999,-9.24,0.0],[4845,true,true,null,239.599999999999994,1.0,null,null,1.030121,false,300.0,100.0,133.840000000000003,-49.890000000000001,0.0],[4846,true,true,null,-173.700000000000017,1.0,null,null,1.081656,false,100.0,-231.599999999999994,192.099999999999994,-53.149999999999999,0.0],[4847,true,true,null,160.939999999999998,1.0,null,null,1.070363,false,400.0,133.330000000000012,187.310000000000002,-57.240000000000002,0.0],[4849,true,true,null,88.799999999999997,1.0,null,null,1.057137,false,160.0,0.0,76.519999999999996,-23.190000000000001,0.0],[4870,true,true,null,58.270000000000003,1.0,null,null,1.054823,false,100.0,0.0,43.869999999999998,-17.530000000000001,0.0],[4879,true,true,null,-40.299999999999997,1.0,null,null,1.041763,false,100.0,-53.729999999999997,75.620000000000004,-23.960000000000001,0.0],[4881,true,true,null,13.0,1.0,null,null,1.028068,false,13.65,0.0,6.22,-9.779999999999999,0.0],[504,true,true,null,110.600000000000008,1.0,null,null,1.022173,false,116.030000000000001,0.0,37.340000000000003,-58.329999999999998,0.0],[4891,true,true,null,357.0,1.0,null,null,1.033418,false,400.0,0.0,176.300000000000011,-72.859999999999999,0.0],[4896,true,true,null,18.559999999999999,1.0,null,null,1.014069,false,80.0,0.0,37.579999999999998,-12.23,0.0],[4899,true,true,null,23.800000000000001,1.0,null,null,1.023832,false,24.989999999999998,0.0,14.789999999999999,-19.210000000000001,0.0],[4917,true,true,null,41.689999999999998,1.0,null,null,1.053068,false,80.0,0.0,37.270000000000003,-12.57,0.0],[4930,true,true,null,20.199999999999999,1.0,null,null,1.035713,false,102.790000000000006,0.0,34.390000000000001,-33.640000000000001,0.0],[4937,true,true,null,1201.0,1.0,null,null,1.031692,false,2000.0,666.669999999999959,933.870000000000004,-291.319999999999993,0.0],[4943,true,true,null,-8.84,1.0,null,null,1.0154,false,100.0,-11.789999999999999,18.640000000000001,-6.3,0.0],[4944,true,true,null,385.400000000000034,1.0,null,null,1.055797,false,500.0,166.670000000000016,224.400000000000006,-82.219999999999999,0.0],[4948,true,true,null,60.0,1.0,null,null,1.046901,false,120.0,0.0,57.630000000000002,-17.0,0.0],[4951,true,true,null,-12.57,1.0,null,null,1.047958,false,100.0,-16.77,37.229999999999997,-12.609999999999999,0.0],[48,true,true,null,309.199999999999989,1.0,null,null,1.020323,false,480.0,0.0,218.52000000000001,-75.969999999999999,0.0],[510,true,true,null,101.400000000000006,1.0,null,null,1.081589,false,200.0,0.0,94.379999999999995,-28.039999999999999,0.0],[4953,true,true,null,40.840000000000003,1.0,null,null,1.016721,false,120.0,0.0,54.460000000000001,-20.260000000000002,0.0],[4954,true,true,null,123.900000000000006,1.0,null,null,1.037342,false,159.400000000000006,0.0,73.859999999999999,-66.079999999999998,0.0],[4956,true,true,null,961.0,1.0,null,null,1.045811,false,1200.0,400.0,533.389999999999986,-201.120000000000005,0.0],[4958,true,true,null,853.899999999999977,1.0,null,null,1.051773,false,876.0,292.0,460.829999999999984,-440.490000000000009,0.0],[4966,true,true,null,83.200000000000003,1.0,null,null,1.020942,false,420.0,0.0,182.200000000000017,-75.829999999999998,0.0],[4968,true,true,null,453.400000000000034,1.0,null,null,1.065019,false,800.0,266.670000000000016,375.730000000000018,-114.450000000000003,0.0],[4978,true,true,null,246.0,1.0,null,null,1.039397,false,300.0,0.0,132.460000000000008,-51.710000000000001,0.0],[4993,true,true,null,360.400000000000034,1.0,null,null,1.047685,false,400.0,133.330000000000012,173.759999999999991,-71.719999999999999,0.0],[4995,true,true,null,130.800000000000011,1.0,null,null,1.040488,false,160.0,0.0,71.890000000000001,-27.719999999999999,0.0],[5003,true,true,null,54.299999999999997,1.0,null,null,1.054301,false,220.120000000000005,0.0,74.730000000000004,-70.409999999999997,0.0],[514,true,true,null,324.819999999999993,1.0,null,null,1.045162,false,700.0,200.0,72.5,-27.239999999999998,0.0],[5004,true,true,null,406.0,1.0,null,null,1.062291,false,500.0,166.670000000000016,220.879999999999996,-85.450000000000003,0.0],[5018,true,true,null,49.399999999999999,1.0,null,null,1.05406,false,80.0,0.0,37.719999999999999,-12.09,0.0],[5019,true,true,null,35.200000000000003,1.0,null,null,1.067392,false,80.0,0.0,38.869999999999998,-10.93,0.0],[5024,true,true,null,-155.099999999999994,1.0,null,null,1.002981,false,100.0,-206.800000000000011,5.65,-4.3,0.0],[5026,true,true,null,-10.300000000000001,1.0,null,null,1.046647,false,100.0,-13.73,93.579999999999998,-29.18,0.0],[5035,true,true,null,75.200000000000003,1.0,null,null,1.060776,false,80.0,0.0,35.060000000000002,-14.85,0.0],[5042,true,true,null,179.5,1.0,null,null,1.07576,false,200.0,0.0,88.650000000000006,-36.100000000000001,0.0],[5050,true,true,null,83.480000000000004,1.0,null,null,1.042576,false,160.0,0.0,74.549999999999997,-24.969999999999999,0.0],[5058,true,true,null,130.199999999999989,1.0,null,null,1.031064,false,180.0,0.0,81.969999999999999,-28.66,0.0],[5059,true,true,null,13.300000000000001,1.0,null,null,1.06427,false,40.68,0.0,14.220000000000001,-12.43,0.0],[515,true,true,null,539.399999999999977,1.0,null,null,1.07129,false,600.0,200.0,261.79000000000002,-106.670000000000002,0.0],[5064,true,true,null,1008.300000000000068,1.0,null,null,1.06654,false,1200.0,400.0,532.960000000000036,-203.189999999999998,0.0],[5066,true,true,null,542.0,1.0,null,null,1.016664,false,600.0,0.0,258.910000000000025,-109.579999999999998,0.0],[5074,true,true,null,-92.600000000000008,1.0,null,null,1.027964,false,100.0,-123.469999999999999,25.91,-10.99,0.0],[5090,true,true,null,276.420000000000016,1.0,null,null,1.051243,false,360.0,0.0,151.810000000000002,-69.25,0.0],[5091,true,true,null,416.400000000000034,1.0,null,null,1.061075,false,500.0,166.670000000000016,221.620000000000004,-84.960000000000008,0.0],[5096,true,true,null,21.100000000000001,1.0,null,null,1.052774,false,21.23,7.08,8.91,-4.11,0.0],[5097,true,true,null,517.200000000000045,1.0,null,null,1.006462,false,804.0,268.0,278.620000000000004,-562.090000000000032,0.0],[5109,true,true,null,-52.509999999999998,1.0,null,null,1.033935,false,100.0,-70.010000000000005,38.280000000000001,-11.5,0.0],[5119,true,true,null,75.600000000000008,1.0,null,null,1.06465,false,120.0,0.0,56.350000000000001,-18.420000000000002,0.0],[5133,true,true,null,197.300000000000011,1.0,null,null,1.022715,false,220.450000000000017,0.0,100.900000000000006,-35.130000000000003,0.0],[517,true,true,null,-410.300000000000011,1.0,null,null,1.067615,false,100.0,-547.07000000000005,85.629999999999996,-37.210000000000001,0.0],[5137,true,true,null,308.800000000000011,1.0,null,null,1.048344,false,400.0,133.330000000000012,179.860000000000014,-65.560000000000002,0.0],[5143,true,true,null,1713.600000000000136,1.0,null,null,1.032838,false,2000.0,666.669999999999959,882.860000000000014,-343.240000000000009,0.0],[5144,true,true,null,422.0,1.0,null,null,1.049287,false,1290.519999999999982,143.390000000000015,450.400000000000034,-391.110000000000014,0.0],[5151,true,true,null,50.590000000000003,1.0,null,null,1.033193,false,80.0,0.0,37.75,-12.109999999999999,0.0],[5153,true,true,null,-54.090000000000003,1.0,null,null,1.021968,false,100.0,-72.120000000000005,28.420000000000002,-8.32,0.0],[5157,true,true,null,690.050000000000068,1.0,null,null,1.043194,false,800.0,266.670000000000016,345.70999999999998,-144.759999999999991,0.0],[5163,true,true,null,629.300000000000068,1.0,null,null,1.083362,false,700.0,233.330000000000012,301.889999999999986,-127.189999999999998,0.0],[5170,true,true,null,-87.600000000000008,1.0,null,null,1.011094,false,100.0,-116.799999999999997,32.890000000000001,-32.289999999999999,0.0],[5179,true,true,null,-17.5,1.0,null,null,1.010906,false,100.0,-23.329999999999998,4.03,-1.82,0.0],[5191,true,true,null,143.400000000000006,1.0,null,null,1.039762,false,180.0,0.0,79.519999999999996,-30.850000000000001,0.0],[523,true,true,null,69.0,1.0,null,null,1.046979,false,72.450000000000003,0.0,30.149999999999999,-43.07,0.0],[5192,true,true,null,38.490000000000002,1.0,null,null,1.022466,false,80.0,0.0,37.469999999999999,-12.26,0.0],[5224,true,true,null,178.819999999999993,1.0,null,null,1.050345,false,320.0,0.0,145.280000000000001,-54.149999999999999,0.0],[5225,true,true,null,235.099999999999994,1.0,null,null,0.992484,false,320.0,0.0,145.530000000000001,-53.810000000000002,0.0],[5230,true,true,null,120.790000000000006,1.0,null,null,1.026163,false,200.0,66.670000000000002,91.909999999999997,-30.539999999999999,0.0],[5235,true,true,null,403.699999999999989,1.0,null,null,1.047863,false,440.0,0.0,193.560000000000002,-80.829999999999998,0.0],[5236,true,true,null,106.799999999999997,1.0,null,null,1.0542,false,160.0,0.0,75.019999999999996,-24.739999999999998,0.0],[5238,true,true,null,-1344.400000000000091,1.0,null,null,0.990479,false,100.0,-1792.529999999999973,99999.0,-99999.0,0.0],[5250,true,true,null,137.300000000000011,1.0,null,null,1.038759,false,160.0,0.0,71.439999999999998,-28.359999999999999,0.0],[5261,true,true,null,418.199999999999989,1.0,null,null,1.059967,false,500.0,166.670000000000016,221.330000000000012,-85.219999999999999,0.0],[5263,true,true,null,120.600000000000008,1.0,null,null,1.034663,false,126.63000000000001,0.0,38.049999999999997,-73.950000000000003,0.0],[540,true,true,null,118.200000000000003,1.0,null,null,1.03819,false,124.189999999999998,0.0,7.81,-27.190000000000001,0.0],[5272,true,true,null,-5.35,1.0,null,null,1.026805,false,100.0,-7.13,47.909999999999997,-13.289999999999999,0.0],[5277,true,true,null,119.400000000000006,1.0,null,null,1.03962,false,120.0,0.0,51.299999999999997,-23.489999999999998,0.0],[5279,true,true,null,-193.900000000000006,1.0,null,null,1.018895,false,100.0,-258.529999999999973,2.29,-1.06,0.0],[5284,true,true,null,151.0,1.0,null,null,1.057359,false,200.0,0.0,91.719999999999999,-32.909999999999997,0.0],[5289,true,true,null,332.54000000000002,1.0,null,null,1.009333,false,360.0,0.0,159.670000000000016,-61.420000000000002,0.0],[5292,true,true,null,306.0,1.0,null,null,1.008689,false,344.0,114.670000000000002,151.050000000000011,-97.5,0.0],[5298,true,true,null,152.300000000000011,1.0,null,null,1.045101,false,1689.1400000000001,51.189999999999998,542.730000000000018,-582.680000000000064,0.0],[5300,true,true,null,102.600000000000008,1.0,null,null,1.034956,false,200.0,0.0,94.659999999999997,-27.949999999999999,0.0],[5304,true,true,null,75.799999999999997,1.0,null,null,1.029341,false,200.0,50.530000000000001,185.680000000000007,-59.560000000000002,0.0],[5308,true,true,null,44.899999999999999,1.0,null,null,1.042975,false,409.090000000000032,0.0,132.580000000000012,-139.969999999999999,0.0],[563,true,true,null,-51.670000000000002,1.0,null,null,1.06702,false,100.0,-68.890000000000001,18.469999999999999,-19.350000000000001,0.0],[5322,true,true,null,41.0,1.0,null,null,1.031211,false,80.0,0.0,38.420000000000002,-11.380000000000001,0.0],[5328,true,true,null,-54.780000000000001,1.0,null,null,1.015053,false,100.0,-73.049999999999997,35.25,-34.600000000000001,0.0],[5339,true,true,null,-159.0,1.0,null,null,1.044898,false,100.0,-212.0,36.369999999999997,-13.43,0.0],[5347,true,true,null,10.800000000000001,1.0,null,null,1.013341,false,32.740000000000002,0.0,11.359999999999999,-10.08,0.0],[5351,true,true,null,10.0,1.0,null,null,1.022029,false,10.5,0.0,4.29,-5.71,0.0],[5364,true,true,null,19.59,1.0,null,null,1.065324,false,40.0,0.0,18.140000000000001,-6.75,0.0],[5367,true,true,null,200.0,1.0,null,null,1.058977,false,300.0,100.0,137.650000000000006,-45.909999999999997,0.0],[5368,true,true,null,-76.5,1.0,null,null,1.037177,false,100.0,-101.990000000000009,38.340000000000003,-11.449999999999999,0.0],[5378,true,true,null,1250.600000000000136,1.0,null,null,1.10493,false,2000.0,666.669999999999959,926.470000000000027,-297.629999999999996,0.0],[5394,true,true,null,-395.800000000000011,1.0,null,null,1.05041,false,100.0,-527.730000000000018,58.060000000000002,-16.66,0.0],[577,true,true,null,-110.299999999999997,1.0,null,null,1.042146,false,100.0,-147.069999999999993,25.879999999999999,-11.01,0.0],[5396,true,true,null,-131.0,1.0,null,null,1.016845,false,100.0,-174.670000000000016,36.810000000000002,-12.890000000000001,0.0],[5397,true,true,null,333.199999999999989,1.0,null,null,1.041434,false,400.0,133.330000000000012,177.289999999999992,-68.210000000000008,0.0],[5400,true,true,null,91.799999999999997,1.0,null,null,1.056816,false,100.0,0.0,42.68,-18.57,0.0],[5402,true,true,null,439.0,1.0,null,null,1.032334,false,500.0,166.670000000000016,219.430000000000007,-87.600000000000008,0.0],[5408,true,true,null,219.5,1.0,null,null,1.021468,false,240.0,0.0,102.600000000000008,-44.689999999999998,0.0],[5411,true,true,null,359.100000000000023,1.0,null,null,1.07527,false,400.0,133.330000000000012,174.75,-70.609999999999999,0.0],[5424,true,true,null,181.099999999999994,1.0,null,null,1.074405,false,240.0,0.0,108.269999999999996,-39.200000000000003,0.0],[5428,true,true,null,292.5,1.0,null,null,1.043614,false,300.0,0.0,127.120000000000005,-56.960000000000001,0.0],[5443,true,true,null,865.800000000000068,1.0,null,null,1.059208,false,900.0,200.0,382.870000000000004,-169.370000000000005,0.0],[5456,true,true,null,33.990000000000002,1.0,null,null,1.044659,false,80.0,0.0,38.490000000000002,-11.300000000000001,0.0],[582,true,true,null,-270.0,1.0,null,null,1.048595,false,100.0,-360.0,17.879999999999999,-7.03,0.0],[5460,true,true,null,43.399999999999999,1.0,null,null,1.055685,false,80.0,0.0,38.259999999999998,-11.550000000000001,0.0],[5464,true,true,null,18.5,1.0,null,null,0.997959,false,93.469999999999999,0.0,31.09,-30.760000000000002,0.0],[5470,true,true,null,519.600000000000023,1.0,null,null,1.026437,false,600.0,200.0,263.389999999999986,-104.859999999999999,0.0],[5478,true,true,null,179.069999999999993,1.0,null,null,1.05048,false,400.0,133.330000000000012,188.349999999999994,-56.109999999999999,0.0],[5479,true,true,null,47.799999999999997,1.0,null,null,1.043829,false,80.0,0.0,37.890000000000001,-11.93,0.0],[5480,true,true,null,1368.600000000000136,1.0,null,null,1.05825,false,2000.0,666.669999999999959,920.310000000000059,-305.639999999999986,0.0],[5481,true,true,null,56.799999999999997,1.0,null,null,1.042942,false,249.060000000000002,0.0,101.320000000000007,-48.119999999999997,0.0],[5485,true,true,null,861.300000000000068,1.0,null,null,1.055199,false,1000.0,333.329999999999984,441.04000000000002,-172.050000000000011,0.0],[5486,true,true,null,265.800000000000011,1.0,null,null,1.050272,false,300.0,100.0,129.300000000000011,-54.43,0.0],[5487,true,true,null,-96.400000000000006,1.0,null,null,1.037007,false,100.0,-128.530000000000001,37.490000000000002,-12.33,0.0],[586,true,true,null,246.0,1.0,null,null,1.040079,false,400.0,133.330000000000012,185.560000000000002,-59.390000000000001,0.0],[5489,true,true,null,3424.800000000000182,1.0,null,null,1.062487,false,4000.0,1333.329999999999927,1765.360000000000127,-686.669999999999959,0.0],[5503,true,true,null,29.579999999999998,1.0,null,null,1.033273,false,80.0,0.0,37.979999999999997,-11.859999999999999,0.0],[5511,true,true,null,75.620000000000004,1.0,null,null,1.017916,false,160.0,0.0,69.670000000000002,-30.0,0.0],[5512,true,true,null,-196.0,1.0,null,null,1.030251,false,100.0,-261.329999999999984,185.060000000000002,-60.090000000000003,0.0],[5529,true,true,null,-95.900000000000006,1.0,null,null,1.011393,false,100.0,-127.870000000000004,36.939999999999998,-12.94,0.0],[5532,true,true,null,173.0,1.0,null,null,1.046404,false,200.0,0.0,88.870000000000004,-35.710000000000001,0.0],[5545,true,true,null,21.5,1.0,null,null,1.063123,false,40.0,0.0,19.16,-5.75,0.0],[5555,true,true,null,571.800000000000068,1.0,null,null,1.067161,false,600.0,200.0,255.930000000000007,-112.200000000000003,0.0],[5563,true,true,null,57.600000000000001,1.0,null,null,1.038385,false,80.0,0.0,36.799999999999997,-12.99,0.0],[5571,true,true,null,79.600000000000008,1.0,null,null,1.033768,false,120.0,0.0,55.210000000000001,-18.48,0.0],[50,true,true,null,-144.5,1.0,null,null,1.006665,false,100.0,-192.670000000000016,5.48,-4.19,0.0],[589,true,true,null,100.700000000000003,1.0,null,null,1.065004,false,300.0,67.129999999999995,380.310000000000002,-110.079999999999998,0.0],[5593,true,true,null,-238.200000000000017,1.0,null,null,1.048652,false,100.0,-317.600000000000023,17.52,-7.42,0.0],[5601,true,true,null,42.0,1.0,null,null,1.032916,false,44.100000000000001,0.0,25.84,-34.159999999999997,0.0],[5602,true,true,null,228.599999999999994,1.0,null,null,1.027661,false,240.030000000000001,0.0,141.02000000000001,-122.879999999999996,0.0],[5610,true,true,null,33.700000000000003,1.0,null,null,1.079526,false,40.0,0.0,17.989999999999998,-6.95,0.0],[5619,true,true,null,-165.099999999999994,1.0,null,null,1.055555,false,100.0,-220.129999999999995,80.730000000000004,-29.739999999999998,0.0],[5644,true,true,null,78.170000000000002,1.0,null,null,1.000282,false,120.0,0.0,52.509999999999998,-21.239999999999998,0.0],[5655,true,true,null,35.689999999999998,1.0,null,null,1.039989,false,100.0,23.789999999999999,187.060000000000002,-57.960000000000001,0.0],[5657,true,true,null,229.800000000000011,1.0,null,null,1.005722,false,240.0,0.0,103.180000000000007,-46.25,0.0],[5663,true,true,null,128.0,1.0,null,null,1.063661,false,160.0,0.0,72.710000000000008,-27.050000000000001,0.0],[5667,true,true,null,152.099999999999994,1.0,null,null,1.028943,false,360.0,0.0,164.819999999999993,-56.07,0.0],[614,true,true,null,38.200000000000003,1.0,null,null,1.068592,false,40.0,0.0,17.09,-7.79,0.0],[5668,true,true,null,294.54000000000002,1.0,null,null,1.000678,false,600.0,100.0,34.469999999999999,-15.34,0.0],[5669,true,true,null,16.600000000000001,1.0,null,null,1.013301,false,67.760000000000005,0.0,22.969999999999999,-21.699999999999999,0.0],[5676,true,true,null,64.349999999999994,1.0,null,null,1.033561,false,120.0,0.0,52.140000000000001,-21.629999999999999,0.0],[5678,true,true,null,-36.090000000000003,1.0,null,null,1.057325,false,100.0,-48.119999999999997,27.25,-9.550000000000001,0.0],[5691,true,true,null,654.800000000000068,1.0,null,null,1.048689,false,800.0,266.670000000000016,356.53000000000003,-134.009999999999991,0.0],[5704,true,true,null,33.399999999999999,1.0,null,null,1.084017,false,60.0,0.0,28.170000000000002,-8.65,0.0],[5708,true,true,null,837.0,1.0,null,null,1.024594,false,1200.0,400.0,550.690000000000055,-185.150000000000006,0.0],[5713,true,true,null,74.799999999999997,1.0,null,null,1.020678,false,120.0,0.0,55.479999999999997,-18.129999999999999,0.0],[5716,true,true,null,84.5,1.0,null,null,1.070074,false,100.0,0.0,44.0,-17.329999999999998,0.0],[5720,true,true,null,114.990000000000009,1.0,null,null,1.054563,false,180.0,0.0,82.650000000000006,-27.940000000000001,0.0],[615,true,true,null,379.199999999999989,1.0,null,null,1.04484,false,480.0,160.0,217.900000000000006,-81.159999999999997,0.0],[5721,true,true,null,-42.07,1.0,null,null,1.009245,false,100.0,-56.090000000000003,31.420000000000002,-63.030000000000001,0.0],[5725,true,true,null,18.5,1.0,null,null,1.01699,false,95.980000000000004,0.0,31.98,-31.539999999999999,0.0],[5736,true,true,null,13.859999999999999,1.0,null,null,1.008529,false,80.0,0.0,38.009999999999998,-11.779999999999999,0.0],[5741,true,true,null,84.5,1.0,null,null,1.023074,false,85.140000000000001,28.379999999999999,35.689999999999998,-16.43,0.0],[5749,true,true,null,128.099999999999994,1.0,null,null,1.026001,false,306.0,102.0,123.760000000000005,-59.950000000000003,0.0],[5758,true,true,null,448.400000000000034,1.0,null,null,1.075601,false,800.0,266.670000000000016,376.650000000000034,-113.740000000000009,0.0],[5780,true,true,null,1652.700000000000046,1.0,null,null,1.046351,false,1800.0,600.0,779.289999999999964,-324.79000000000002,0.0],[5785,true,true,null,31.699999999999999,1.0,null,null,1.006382,false,63.840000000000003,0.0,23.300000000000001,-17.98,0.0],[5786,true,true,null,63.549999999999997,1.0,null,null,1.028374,false,240.0,0.0,114.670000000000002,-32.560000000000002,0.0],[5808,true,true,null,354.400000000000034,1.0,null,null,1.010105,false,400.0,133.330000000000012,169.189999999999998,-75.030000000000001,0.0],[617,true,true,null,670.300000000000068,1.0,null,null,1.022784,false,800.0,266.670000000000016,351.180000000000007,-139.110000000000014,0.0],[5810,true,true,null,2.66,1.0,null,null,1.018688,false,40.0,0.0,17.420000000000002,-7.41,0.0],[5811,true,true,null,292.5,1.0,null,null,1.031099,false,300.0,0.0,126.980000000000004,-57.079999999999998,0.0],[5813,true,true,null,181.200000000000017,1.0,null,null,1.040708,false,440.0,146.670000000000016,196.980000000000018,-77.170000000000002,0.0],[5820,true,true,null,-74.210000000000008,1.0,null,null,1.016327,false,100.0,-98.939999999999998,45.829999999999998,-46.299999999999997,0.0],[5821,true,true,null,111.700000000000003,1.0,null,null,1.063749,false,300.0,74.469999999999999,185.22999999999999,-59.899999999999999,0.0],[5822,true,true,null,404.600000000000023,1.0,null,null,1.060066,false,500.0,166.670000000000016,220.75,-85.540000000000006,0.0],[5823,true,true,null,935.399999999999977,1.0,null,null,1.050736,false,1200.0,400.0,539.220000000000027,-196.319999999999993,0.0],[5824,true,true,null,262.600000000000023,1.0,null,null,0.992342,false,600.0,100.0,76.5,-34.049999999999997,0.0],[5827,true,true,null,13.199999999999999,1.0,null,null,1.027766,false,39.979999999999997,0.0,13.93,-12.27,0.0],[5830,true,true,null,-179.400000000000006,1.0,null,null,1.026046,false,100.0,-239.200000000000017,1.58,-0.74,0.0],[627,true,true,null,152.400000000000006,1.0,null,null,0.982057,false,180.0,0.0,78.790000000000006,-31.690000000000001,0.0],[5837,true,true,null,16.100000000000001,1.0,null,null,1.030725,false,16.91,0.0,13.029999999999999,-16.969999999999999,0.0],[5838,true,true,null,101.400000000000006,1.0,null,null,1.013483,false,120.0,0.0,53.009999999999998,-20.760000000000002,0.0],[5843,true,true,null,696.800000000000068,1.0,null,null,1.050341,false,800.0,0.0,351.25,-139.879999999999996,0.0],[5845,true,true,null,-46.5,1.0,null,null,1.02116,false,100.0,-62.0,51.990000000000002,-57.170000000000002,0.0],[5854,true,true,null,453.400000000000034,1.0,null,null,1.065097,false,800.0,266.670000000000016,376.389999999999986,-114.060000000000002,0.0],[5855,true,true,null,305.699999999999989,1.0,null,null,1.036185,false,480.0,160.0,214.129999999999995,-85.0,0.0],[5861,true,true,null,68.200000000000003,1.0,null,null,1.059582,false,80.0,0.0,35.729999999999997,-14.119999999999999,0.0],[5862,true,true,null,438.199999999999989,1.0,null,null,1.048267,false,800.0,266.670000000000016,358.199999999999989,-131.840000000000003,0.0],[5863,true,true,null,46.399999999999999,1.0,null,null,1.024889,false,48.719999999999999,0.0,28.390000000000001,-26.469999999999999,0.0],[5867,true,true,null,514.799999999999954,1.0,null,null,1.048327,false,800.0,266.670000000000016,369.720000000000027,-120.260000000000005,0.0],[635,true,true,null,101.890000000000001,1.0,null,null,1.04241,false,120.0,0.0,52.990000000000002,-21.870000000000001,0.0],[5873,true,true,null,16.16,1.0,null,null,1.045045,false,100.0,10.77,46.530000000000001,-14.59,0.0],[5880,true,true,null,60.0,1.0,null,null,1.056126,false,80.0,0.0,36.719999999999999,-13.130000000000001,0.0],[5881,true,true,null,106.799999999999997,1.0,null,null,1.077465,false,120.0,0.0,52.960000000000001,-21.809999999999999,0.0],[5882,true,true,null,1031.400000000000091,1.0,null,null,1.175144,false,1200.0,400.0,526.769999999999982,-209.310000000000002,0.0],[5884,true,true,null,107.799999999999997,1.0,null,null,1.031733,false,120.0,0.0,52.109999999999999,-21.649999999999999,0.0],[5893,true,true,null,182.599999999999994,1.0,null,null,1.035315,false,200.0,0.0,86.299999999999997,-36.390000000000001,0.0],[5895,true,true,null,55.600000000000001,1.0,null,null,0.986344,false,80.0,0.0,37.32,-12.57,0.0],[5921,true,true,null,-10.23,1.0,null,null,1.030869,false,100.0,-13.640000000000001,19.489999999999998,-5.39,0.0],[5929,true,true,null,155.189999999999998,1.0,null,null,1.042525,false,164.920000000000016,0.0,68.329999999999998,-31.420000000000002,0.0],[5939,true,true,null,-74.900000000000006,1.0,null,null,1.026879,false,100.0,-99.870000000000004,17.210000000000001,-7.73,0.0],[636,true,true,null,21.300000000000001,1.0,null,null,1.031148,false,22.32,0.0,11.199999999999999,-8.44,0.0],[5940,true,true,null,51.200000000000003,1.0,null,null,1.051545,false,80.0,0.0,37.530000000000001,-12.279999999999999,0.0],[5954,true,true,null,-32.289999999999999,1.0,null,null,1.015926,false,100.0,-43.049999999999997,37.780000000000001,-11.99,0.0],[5963,true,true,null,9.35,1.0,null,null,1.005428,false,80.0,0.0,37.049999999999997,-12.630000000000001,0.0],[5969,true,true,null,127.570000000000007,1.0,null,null,1.017378,false,360.0,0.0,172.469999999999999,-48.340000000000003,0.0],[5970,true,true,null,1221.200000000000045,1.0,null,null,1.076888,false,2000.0,666.669999999999959,934.539999999999964,-291.639999999999986,0.0],[5972,true,true,null,102.799999999999997,1.0,null,null,1.055332,false,160.0,0.0,75.260000000000005,-24.440000000000001,0.0],[5974,true,true,null,60.399999999999999,1.0,null,null,1.0347,false,80.0,0.0,35.899999999999999,-13.720000000000001,0.0],[5976,true,true,null,310.699999999999989,1.0,null,null,1.030489,false,400.0,133.330000000000012,179.909999999999997,-65.269999999999996,0.0],[5979,true,true,null,269.100000000000023,1.0,null,null,1.05163,false,300.0,0.0,129.719999999999999,-54.219999999999999,0.0],[5982,true,true,null,-102.5,1.0,null,null,1.061878,false,100.0,-136.670000000000016,37.270000000000003,-12.59,0.0],[638,true,true,null,-46.200000000000003,1.0,null,null,1.033532,false,100.0,-61.600000000000001,135.52000000000001,-38.899999999999999,0.0],[5984,true,true,null,560.659999999999968,1.0,null,null,1.120491,false,800.0,266.670000000000016,362.20999999999998,-128.129999999999995,0.0],[5985,true,true,null,1499.600000000000136,1.0,null,null,1.103376,false,2000.0,666.669999999999959,884.389999999999986,-341.629999999999996,0.0],[5987,true,true,null,492.0,1.0,null,null,1.069038,false,800.0,266.670000000000016,373.579999999999984,-117.060000000000002,0.0],[5990,true,true,null,854.600000000000023,1.0,null,null,1.012716,false,1200.0,400.0,517.549999999999954,-217.25,0.0],[5993,true,true,null,-87.299999999999997,1.0,null,null,1.036793,false,100.0,-116.400000000000006,60.509999999999998,-61.079999999999998,0.0],[5997,true,true,null,-68.099999999999994,1.0,null,null,1.02348,false,100.0,-90.799999999999997,27.48,-36.060000000000002,0.0],[5999,true,true,null,617.700000000000046,1.0,null,null,1.085353,false,900.0,300.0,411.660000000000025,-139.210000000000008,0.0],[6000,true,true,null,19.199999999999999,1.0,null,null,1.036406,false,20.100000000000001,0.0,7.11,-7.7,0.0],[6032,true,true,null,49.869999999999998,1.0,null,null,1.013332,false,120.0,0.0,56.859999999999999,-17.93,0.0],[6035,true,true,null,820.200000000000045,1.0,null,null,1.036335,false,900.0,300.0,390.400000000000034,-161.159999999999997,0.0],[641,true,true,null,63.329999999999998,1.0,null,null,1.031368,false,276.090000000000032,0.0,90.129999999999995,-93.030000000000001,0.0],[6045,true,true,null,636.629999999999996,1.0,null,null,1.094629,false,800.0,266.670000000000016,351.660000000000025,-138.950000000000017,0.0],[6085,true,true,null,88.200000000000003,1.0,null,null,1.017402,false,92.609999999999999,0.0,42.009999999999998,-57.990000000000002,0.0],[6087,true,true,null,-278.199999999999989,1.0,null,null,1.069764,false,100.0,-370.930000000000007,34.670000000000002,-15.140000000000001,0.0],[6089,true,true,null,60.399999999999999,1.0,null,null,1.030088,false,80.0,0.0,36.579999999999998,-13.23,0.0],[6091,true,true,null,774.899999999999977,1.0,null,null,1.035378,false,900.0,300.0,395.590000000000032,-155.879999999999996,0.0],[6099,true,true,null,-139.509999999999991,1.0,null,null,1.041341,false,100.0,-186.009999999999991,185.629999999999996,-59.549999999999997,0.0],[6102,true,true,null,164.5,1.0,null,null,1.013429,false,300.0,100.0,141.390000000000015,-42.369999999999997,0.0],[6104,true,true,null,84.900000000000006,1.0,null,null,1.010683,false,120.0,0.0,55.729999999999997,-19.07,0.0],[6119,true,true,null,58.600000000000001,1.0,null,null,1.024222,false,80.0,0.0,36.729999999999997,-13.07,0.0],[6123,true,true,null,490.0,1.0,null,null,1.025031,false,790.0,263.329999999999984,254.710000000000008,-124.049999999999997,0.0],[647,true,true,null,47.200000000000003,1.0,null,null,1.02749,false,80.0,0.0,37.950000000000003,-11.869999999999999,0.0],[6128,true,true,null,356.0,1.0,null,null,1.033744,false,400.0,133.330000000000012,173.490000000000009,-71.799999999999997,0.0],[6129,true,true,null,49.399999999999999,1.0,null,null,1.026444,false,80.0,0.0,37.68,-12.119999999999999,0.0],[6130,true,true,null,602.399999999999977,1.0,null,null,1.133869,false,900.0,300.0,415.259999999999991,-136.330000000000012,0.0],[6137,true,true,null,-121.900000000000006,1.0,null,null,1.010882,false,100.0,-162.530000000000001,16.91,-7.99,0.0],[6143,true,true,null,9.9,1.0,null,null,0.987224,false,10.039999999999999,0.0,4.21,-2.03,0.0],[6144,true,true,null,190.580000000000012,1.0,null,null,1.019556,false,240.0,0.0,104.760000000000005,-42.600000000000001,0.0],[6152,true,true,null,94.299999999999997,1.0,null,null,1.019885,false,769.940000000000055,32.079999999999998,249.650000000000006,-261.819999999999993,0.0],[6167,true,true,null,26.300000000000001,1.0,null,null,1.047693,false,53.759999999999998,0.0,19.859999999999999,-14.93,0.0],[6168,true,true,null,-85.799999999999997,1.0,null,null,1.033616,false,100.0,-114.400000000000006,38.479999999999997,-11.27,0.0],[6174,true,true,null,405.800000000000011,1.0,null,null,1.023886,false,426.090000000000032,0.0,258.800000000000011,-147.689999999999998,0.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -92,7 +154,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "switch": { @@ -129,7 +192,7 @@ "ext_grid": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0],\"data\":[[4230,true,null,0.0,1.042866,4188.949999999999818,1333.329999999999927,99999.0,-99999.0]]}", + "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0],\"data\":[[4230,true,null,0.0,1.042866,4188.949999999999818,1333.329999999999927,99999.0,-99999.0,1.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -140,7 +203,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "line": { @@ -293,7 +357,7 @@ "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\",\"in_service\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"ps_mw\",\"qs_mvar\",\"qz_mvar\",\"pz_mw\",\"r_ohm\",\"x_ohm\",\"vm_pu\",\"in_service\",\"slack_weight\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "name": "object", @@ -305,7 +369,8 @@ "r_ohm": "float64", "x_ohm": "float64", "vm_pu": "float64", - "in_service": "bool" + "in_service": "bool", + "slack_weight": "float64" } }, "measurement": { @@ -354,13 +419,14 @@ "controller": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"recycle\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"initial_run\",\"recycle\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "object": "object", "in_service": "bool", "order": "float64", "level": "object", + "initial_run": "bool", "recycle": "bool" } }, @@ -384,11 +450,11 @@ "coords": "object" } }, - "version": "2.2.1", + "version": "2.7.1", "converged": true, "name": "", "f_hz": 50, - "sn_mva": 1.0, + "sn_mva": 100, "std_types": { "line": { "NAYY 4x150 SE": { @@ -1268,6 +1334,16 @@ "q_mvar": "float64" } }, + "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" + } + }, "res_sgen": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -1352,6 +1428,341 @@ "va_to_degree": "float64" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_bus_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_line_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo3w_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_ext_grid_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_gen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_sgen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_shunt_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "user_pf_options": {}, "OPF_converged": false } diff --git a/pandapower/networks/power_system_test_case_jsons/case_ieee30.json b/pandapower/networks/power_system_test_case_jsons/case_ieee30.json index 1c998d7d9..029dc67bf 100644 --- a/pandapower/networks/power_system_test_case_jsons/case_ieee30.json +++ b/pandapower/networks/power_system_test_case_jsons/case_ieee30.json @@ -53,6 +53,68 @@ "current_source": "bool" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "storage": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -75,7 +137,7 @@ "gen": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0,1,2,3,4],\"data\":[[1,true,true,null,40.0,1.0,null,null,1.045,false,140.0,0.0,40.0,-50.0],[4,true,true,null,0.0,1.0,null,null,1.01,false,100.0,0.0,40.0,-40.0],[7,true,true,null,0.0,1.0,null,null,1.01,false,100.0,0.0,10.0,-40.0],[10,true,true,null,0.0,1.0,null,null,1.082,false,100.0,0.0,6.0,-24.0],[12,true,true,null,0.0,1.0,null,null,1.071,false,100.0,0.0,6.0,-24.0]]}", + "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0,1,2,3,4],\"data\":[[1,true,true,null,40.0,1.0,null,null,1.045,false,140.0,0.0,40.0,-50.0,0.0],[4,true,true,null,0.0,1.0,null,null,1.01,false,100.0,0.0,40.0,-40.0,0.0],[7,true,true,null,0.0,1.0,null,null,1.01,false,100.0,0.0,10.0,-40.0,0.0],[10,true,true,null,0.0,1.0,null,null,1.082,false,100.0,0.0,6.0,-24.0,0.0],[12,true,true,null,0.0,1.0,null,null,1.071,false,100.0,0.0,6.0,-24.0,0.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -91,7 +153,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "switch": { @@ -128,7 +191,7 @@ "ext_grid": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0],\"data\":[[0,true,null,0.0,1.06,360.199999999999989,0.0,0.0,-10.0]]}", + "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0],\"data\":[[0,true,null,0.0,1.06,360.199999999999989,0.0,0.0,-10.0,1.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -139,7 +202,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "line": { @@ -292,7 +356,7 @@ "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\",\"in_service\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"ps_mw\",\"qs_mvar\",\"qz_mvar\",\"pz_mw\",\"r_ohm\",\"x_ohm\",\"vm_pu\",\"in_service\",\"slack_weight\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "name": "object", @@ -304,7 +368,8 @@ "r_ohm": "float64", "x_ohm": "float64", "vm_pu": "float64", - "in_service": "bool" + "in_service": "bool", + "slack_weight": "float64" } }, "measurement": { @@ -353,13 +418,14 @@ "controller": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"recycle\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"initial_run\",\"recycle\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "object": "object", "in_service": "bool", "order": "float64", "level": "object", + "initial_run": "bool", "recycle": "bool" } }, @@ -383,11 +449,11 @@ "coords": "object" } }, - "version": "2.2.1", + "version": "2.7.1", "converged": true, "name": "", "f_hz": 60, - "sn_mva": 1.0, + "sn_mva": 100, "std_types": { "line": { "122-AL1/20-ST1A 10.0": { @@ -1267,6 +1333,16 @@ "q_mvar": "float64" } }, + "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" + } + }, "res_sgen": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -1351,6 +1427,341 @@ "va_to_degree": "float64" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_bus_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_line_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo3w_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_ext_grid_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_gen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_sgen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_shunt_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "user_pf_options": {}, "OPF_converged": false } diff --git a/pandapower/networks/power_system_test_case_jsons/case_illinois200.json b/pandapower/networks/power_system_test_case_jsons/case_illinois200.json index 5db37869b..d8cc78beb 100644 --- a/pandapower/networks/power_system_test_case_jsons/case_illinois200.json +++ b/pandapower/networks/power_system_test_case_jsons/case_illinois200.json @@ -58,6 +58,68 @@ "min_q_mvar": "float64" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "storage": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -80,7 +142,7 @@ "gen": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0,1,10,11,12,13,14,15,16,17,18,19,2,20,21,22,23,24,25,26,27,28,29,3,30,31,32,33,34,35,36,4,5,6,7,8,9],\"data\":[[48,true,true,null,4.53,1.0,null,null,1.04,false,4.53,1.36,0.55,-2.11],[49,true,true,null,4.53,1.0,null,null,1.04,false,4.53,1.36,0.55,-2.11],[70,true,true,null,27.920000000000002,1.0,null,null,1.04,false,27.920000000000002,8.380000000000001,3.41,-13.01],[71,true,true,null,27.920000000000002,1.0,null,null,1.04,false,27.920000000000002,8.380000000000001,3.41,-13.01],[72,true,true,null,27.920000000000002,1.0,null,null,1.04,false,27.920000000000002,8.380000000000001,3.41,-13.01],[75,true,true,null,1.2,1.0,null,null,1.04,false,4.0,1.2,0.44,-2.04],[76,true,true,null,0.72,1.0,null,null,1.04,false,2.4,0.72,0.27,-1.22],[89,true,true,null,0.96,1.0,null,null,1.04,false,3.2,0.96,0.36,-1.63],[90,true,true,null,1.5,1.0,null,null,1.04,false,5.0,1.5,0.55,-2.55],[93,true,true,null,18.0,1.0,null,null,1.04,false,18.0,5.4,2.2,-8.390000000000001],[103,true,true,null,52.0,1.0,null,null,1.04,false,99.0,29.699999999999999,14.26,-21.09],[104,true,true,null,63.0,1.0,null,null,1.04,false,198.0,59.399999999999999,28.510000000000002,-42.170000000000002],[50,true,true,null,4.53,1.0,null,null,1.04,false,4.53,1.36,0.55,-2.11],[113,true,true,null,1.08,1.0,null,null,1.04,false,1.7,0.51,0.24,-0.36],[114,true,true,null,75.120000000000005,1.0,null,null,1.04,false,150.0,45.0,21.600000000000001,-31.949999999999999],[124,true,true,null,130.050000000000011,1.0,null,null,1.04,false,130.050000000000011,39.020000000000003,15.869999999999999,-60.600000000000001],[125,true,true,null,130.050000000000011,1.0,null,null,1.04,false,130.050000000000011,39.020000000000003,15.869999999999999,-60.600000000000001],[126,true,true,null,130.050000000000011,1.0,null,null,1.04,false,130.050000000000011,39.020000000000003,15.869999999999999,-60.600000000000001],[134,true,true,null,216.77000000000001,1.0,null,null,1.04,false,446.400000000000034,133.920000000000016,54.460000000000001,-208.02000000000001],[135,true,true,null,196.420000000000016,1.0,null,null,1.04,false,446.400000000000034,133.920000000000016,54.460000000000001,-208.02000000000001],[146,true,true,null,42.0,1.0,null,null,1.04,false,100.5,30.149999999999999,14.470000000000001,-21.41],[150,true,true,null,5.4,1.0,null,null,1.04,false,5.4,1.62,0.66,-2.52],[151,true,true,null,77.219999999999999,1.0,null,null,1.04,false,77.219999999999999,23.170000000000002,9.42,-35.990000000000002],[51,true,true,null,4.53,1.0,null,null,1.04,false,4.53,1.36,0.55,-2.11],[152,true,true,null,77.219999999999999,1.0,null,null,1.04,false,77.219999999999999,23.170000000000002,9.42,-35.990000000000002],[153,true,true,null,77.219999999999999,1.0,null,null,1.04,false,77.219999999999999,23.170000000000002,9.42,-35.990000000000002],[154,true,true,null,77.219999999999999,1.0,null,null,1.04,false,77.219999999999999,23.170000000000002,9.42,-35.990000000000002],[166,true,true,null,2.82,1.0,null,null,1.04,false,9.4,2.82,1.04,-4.78],[169,true,true,null,2.82,1.0,null,null,1.04,false,9.4,2.82,1.04,-4.78],[181,true,true,null,17.5,1.0,null,null,1.04,false,17.5,5.25,2.14,-8.16],[182,true,true,null,26.600000000000001,1.0,null,null,1.04,false,26.600000000000001,7.98,3.25,-12.4],[52,true,true,null,9.07,1.0,null,null,1.04,false,9.07,2.72,1.11,-4.23],[64,true,true,null,60.659999999999997,1.0,null,null,1.04,false,150.400000000000006,45.119999999999997,21.66,-32.039999999999999],[66,true,true,null,4.7,1.0,null,null,1.04,false,4.7,1.41,0.57,-2.19],[67,true,true,null,27.920000000000002,1.0,null,null,1.04,false,27.920000000000002,8.380000000000001,3.41,-13.01],[68,true,true,null,27.920000000000002,1.0,null,null,1.04,false,27.920000000000002,8.380000000000001,3.41,-13.01],[69,true,true,null,27.920000000000002,1.0,null,null,1.04,false,27.920000000000002,8.380000000000001,3.41,-13.01]]}", + "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0,1,10,11,12,13,14,15,16,17,18,19,2,20,21,22,23,24,25,26,27,28,29,3,30,31,32,33,34,35,36,4,5,6,7,8,9],\"data\":[[48,true,true,null,4.53,1.0,null,null,1.04,false,4.53,1.36,0.55,-2.11,0.0],[49,true,true,null,4.53,1.0,null,null,1.04,false,4.53,1.36,0.55,-2.11,0.0],[70,true,true,null,27.920000000000002,1.0,null,null,1.04,false,27.920000000000002,8.380000000000001,3.41,-13.01,0.0],[71,true,true,null,27.920000000000002,1.0,null,null,1.04,false,27.920000000000002,8.380000000000001,3.41,-13.01,0.0],[72,true,true,null,27.920000000000002,1.0,null,null,1.04,false,27.920000000000002,8.380000000000001,3.41,-13.01,0.0],[75,true,true,null,1.2,1.0,null,null,1.04,false,4.0,1.2,0.44,-2.04,0.0],[76,true,true,null,0.72,1.0,null,null,1.04,false,2.4,0.72,0.27,-1.22,0.0],[89,true,true,null,0.96,1.0,null,null,1.04,false,3.2,0.96,0.36,-1.63,0.0],[90,true,true,null,1.5,1.0,null,null,1.04,false,5.0,1.5,0.55,-2.55,0.0],[93,true,true,null,18.0,1.0,null,null,1.04,false,18.0,5.4,2.2,-8.390000000000001,0.0],[103,true,true,null,52.0,1.0,null,null,1.04,false,99.0,29.699999999999999,14.26,-21.09,0.0],[104,true,true,null,63.0,1.0,null,null,1.04,false,198.0,59.399999999999999,28.510000000000002,-42.170000000000002,0.0],[50,true,true,null,4.53,1.0,null,null,1.04,false,4.53,1.36,0.55,-2.11,0.0],[113,true,true,null,1.08,1.0,null,null,1.04,false,1.7,0.51,0.24,-0.36,0.0],[114,true,true,null,75.120000000000005,1.0,null,null,1.04,false,150.0,45.0,21.600000000000001,-31.949999999999999,0.0],[124,true,true,null,130.050000000000011,1.0,null,null,1.04,false,130.050000000000011,39.020000000000003,15.869999999999999,-60.600000000000001,0.0],[125,true,true,null,130.050000000000011,1.0,null,null,1.04,false,130.050000000000011,39.020000000000003,15.869999999999999,-60.600000000000001,0.0],[126,true,true,null,130.050000000000011,1.0,null,null,1.04,false,130.050000000000011,39.020000000000003,15.869999999999999,-60.600000000000001,0.0],[134,true,true,null,216.77000000000001,1.0,null,null,1.04,false,446.400000000000034,133.920000000000016,54.460000000000001,-208.02000000000001,0.0],[135,true,true,null,196.420000000000016,1.0,null,null,1.04,false,446.400000000000034,133.920000000000016,54.460000000000001,-208.02000000000001,0.0],[146,true,true,null,42.0,1.0,null,null,1.04,false,100.5,30.149999999999999,14.470000000000001,-21.41,0.0],[150,true,true,null,5.4,1.0,null,null,1.04,false,5.4,1.62,0.66,-2.52,0.0],[151,true,true,null,77.219999999999999,1.0,null,null,1.04,false,77.219999999999999,23.170000000000002,9.42,-35.990000000000002,0.0],[51,true,true,null,4.53,1.0,null,null,1.04,false,4.53,1.36,0.55,-2.11,0.0],[152,true,true,null,77.219999999999999,1.0,null,null,1.04,false,77.219999999999999,23.170000000000002,9.42,-35.990000000000002,0.0],[153,true,true,null,77.219999999999999,1.0,null,null,1.04,false,77.219999999999999,23.170000000000002,9.42,-35.990000000000002,0.0],[154,true,true,null,77.219999999999999,1.0,null,null,1.04,false,77.219999999999999,23.170000000000002,9.42,-35.990000000000002,0.0],[166,true,true,null,2.82,1.0,null,null,1.04,false,9.4,2.82,1.04,-4.78,0.0],[169,true,true,null,2.82,1.0,null,null,1.04,false,9.4,2.82,1.04,-4.78,0.0],[181,true,true,null,17.5,1.0,null,null,1.04,false,17.5,5.25,2.14,-8.16,0.0],[182,true,true,null,26.600000000000001,1.0,null,null,1.04,false,26.600000000000001,7.98,3.25,-12.4,0.0],[52,true,true,null,9.07,1.0,null,null,1.04,false,9.07,2.72,1.11,-4.23,0.0],[64,true,true,null,60.659999999999997,1.0,null,null,1.04,false,150.400000000000006,45.119999999999997,21.66,-32.039999999999999,0.0],[66,true,true,null,4.7,1.0,null,null,1.04,false,4.7,1.41,0.57,-2.19,0.0],[67,true,true,null,27.920000000000002,1.0,null,null,1.04,false,27.920000000000002,8.380000000000001,3.41,-13.01,0.0],[68,true,true,null,27.920000000000002,1.0,null,null,1.04,false,27.920000000000002,8.380000000000001,3.41,-13.01,0.0],[69,true,true,null,27.920000000000002,1.0,null,null,1.04,false,27.920000000000002,8.380000000000001,3.41,-13.01,0.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -96,7 +158,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "switch": { @@ -133,7 +196,7 @@ "ext_grid": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0],\"data\":[[188,true,null,-29.418351999999999,1.04,569.149999999999977,170.75,46.670000000000002,-209.450000000000017]]}", + "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0],\"data\":[[188,true,null,-29.418351999999999,1.04,569.149999999999977,170.75,46.670000000000002,-209.450000000000017,1.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -144,7 +207,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "line": { @@ -297,7 +361,7 @@ "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\",\"in_service\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"ps_mw\",\"qs_mvar\",\"qz_mvar\",\"pz_mw\",\"r_ohm\",\"x_ohm\",\"vm_pu\",\"in_service\",\"slack_weight\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "name": "object", @@ -309,7 +373,8 @@ "r_ohm": "float64", "x_ohm": "float64", "vm_pu": "float64", - "in_service": "bool" + "in_service": "bool", + "slack_weight": "float64" } }, "measurement": { @@ -358,13 +423,14 @@ "controller": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"recycle\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"initial_run\",\"recycle\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "object": "object", "in_service": "bool", "order": "float64", "level": "object", + "initial_run": "bool", "recycle": "bool" } }, @@ -388,11 +454,11 @@ "coords": "object" } }, - "version": "2.2.1", + "version": "2.7.1", "converged": true, "name": "", "f_hz": 60, - "sn_mva": 1.0, + "sn_mva": 100, "std_types": { "line": { "122-AL1/20-ST1A 10.0": { @@ -1272,6 +1338,16 @@ "q_mvar": "float64" } }, + "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" + } + }, "res_sgen": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -1356,6 +1432,341 @@ "va_to_degree": "float64" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_bus_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_line_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo3w_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_ext_grid_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_gen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_sgen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_shunt_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "user_pf_options": {}, "OPF_converged": false } diff --git a/pandapower/networks/power_system_test_case_jsons/iceland.json b/pandapower/networks/power_system_test_case_jsons/iceland.json index c978a519f..94b0b91e5 100644 --- a/pandapower/networks/power_system_test_case_jsons/iceland.json +++ b/pandapower/networks/power_system_test_case_jsons/iceland.json @@ -52,6 +52,68 @@ "current_source": "bool" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "storage": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -74,7 +136,7 @@ "gen": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0,1,10,11,12,13,14,15,16,17,18,19,2,20,21,22,23,24,25,26,27,28,29,3,30,31,32,33,4,5,6,7,8,9],\"data\":[[1,true,true,null,90.0,1.0,null,null,0.99,false,2000.0,0.0,34.0,-20.0],[2,true,true,null,90.0,1.0,null,null,0.99,false,2000.0,0.0,34.0,-20.0],[26,true,true,null,13.0,1.0,null,null,1.02,false,2000.0,0.0,11.6,-5.0],[27,true,true,null,13.0,1.0,null,null,1.02,false,2000.0,0.0,11.6,-5.0],[28,true,true,null,13.0,1.0,null,null,1.02,false,2000.0,0.0,12.6,-5.0],[31,true,true,null,11.0,1.0,null,null,1.03,false,2000.0,0.0,9.9,-5.0],[32,true,true,null,11.0,1.0,null,null,1.03,false,2000.0,0.0,9.9,-5.0],[35,true,true,null,14.6,1.0,null,null,1.02,false,2000.0,0.0,3.3,-2.0],[41,true,true,null,40.0,1.0,null,null,1.05,false,2000.0,0.0,22.0,-20.0],[42,true,true,null,40.0,1.0,null,null,1.05,false,2000.0,0.0,22.0,-20.0],[49,true,true,null,30.0,1.0,null,null,1.05,false,2000.0,0.0,20.0,-20.0],[50,true,true,null,30.0,1.0,null,null,1.05,false,2000.0,0.0,20.0,-20.0],[3,true,true,null,45.0,1.0,null,null,0.99,false,2000.0,0.0,17.0,-10.0],[51,true,true,null,30.0,1.0,null,null,1.05,false,2000.0,0.0,20.0,-20.0],[52,true,true,null,30.0,1.0,null,null,1.05,false,2000.0,0.0,20.0,-20.0],[97,true,true,null,50.0,1.0,null,null,1.03,false,2000.0,0.0,23.0,-16.0],[98,true,true,null,50.0,1.0,null,null,1.03,false,2000.0,0.0,23.0,-16.0],[101,true,true,null,60.0,1.0,null,null,1.05,false,2000.0,0.0,30.0,-26.0],[103,true,true,null,4.0,1.0,null,null,1.0,false,2000.0,0.0,3.3,-3.3],[116,true,true,null,6.0,1.0,null,null,1.03,false,2000.0,0.0,2.5,0.0],[125,true,true,null,38.0,1.0,null,null,1.02,false,2000.0,0.0,22.0,-12.0],[126,true,true,null,38.0,1.0,null,null,1.02,false,2000.0,0.0,22.0,-12.0],[137,true,true,null,30.0,1.0,null,null,1.0,false,2000.0,0.0,18.699999999999999,-16.0],[7,true,true,null,29.010000000000002,1.0,null,null,0.99,false,2000.0,0.0,38.0,-20.0],[138,true,true,null,30.0,1.0,null,null,1.0,false,2000.0,0.0,18.699999999999999,-16.0],[141,true,true,null,3.0,1.0,null,null,1.02,false,2000.0,0.0,1.3,0.0],[143,true,true,null,20.0,1.0,null,null,1.06,false,2000.0,0.0,16.800000000000001,0.0],[185,true,true,null,6.0,1.0,null,null,1.01,false,2000.0,0.0,6.0,0.0],[8,true,true,null,29.010000000000002,1.0,null,null,0.99,false,2000.0,0.0,38.0,-20.0],[12,true,true,null,60.0,1.0,null,null,0.99,false,2000.0,0.0,42.0,-20.0],[13,true,true,null,60.0,1.0,null,null,0.99,false,2000.0,0.0,42.0,-20.0],[15,true,true,null,45.0,1.0,null,null,0.99,false,2000.0,0.0,17.0,-10.0],[17,true,true,null,60.0,1.0,null,null,1.06,false,2000.0,0.0,42.0,-20.0],[18,true,true,null,60.0,1.0,null,null,1.06,false,2000.0,0.0,42.0,-20.0]]}", + "_object": "{\"columns\":[\"bus\",\"controllable\",\"in_service\",\"name\",\"p_mw\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0,1,10,11,12,13,14,15,16,17,18,19,2,20,21,22,23,24,25,26,27,28,29,3,30,31,32,33,4,5,6,7,8,9],\"data\":[[1,true,true,null,90.0,1.0,null,null,0.99,false,2000.0,0.0,34.0,-20.0,0.0],[2,true,true,null,90.0,1.0,null,null,0.99,false,2000.0,0.0,34.0,-20.0,0.0],[26,true,true,null,13.0,1.0,null,null,1.02,false,2000.0,0.0,11.6,-5.0,0.0],[27,true,true,null,13.0,1.0,null,null,1.02,false,2000.0,0.0,11.6,-5.0,0.0],[28,true,true,null,13.0,1.0,null,null,1.02,false,2000.0,0.0,12.6,-5.0,0.0],[31,true,true,null,11.0,1.0,null,null,1.03,false,2000.0,0.0,9.9,-5.0,0.0],[32,true,true,null,11.0,1.0,null,null,1.03,false,2000.0,0.0,9.9,-5.0,0.0],[35,true,true,null,14.6,1.0,null,null,1.02,false,2000.0,0.0,3.3,-2.0,0.0],[41,true,true,null,40.0,1.0,null,null,1.05,false,2000.0,0.0,22.0,-20.0,0.0],[42,true,true,null,40.0,1.0,null,null,1.05,false,2000.0,0.0,22.0,-20.0,0.0],[49,true,true,null,30.0,1.0,null,null,1.05,false,2000.0,0.0,20.0,-20.0,0.0],[50,true,true,null,30.0,1.0,null,null,1.05,false,2000.0,0.0,20.0,-20.0,0.0],[3,true,true,null,45.0,1.0,null,null,0.99,false,2000.0,0.0,17.0,-10.0,0.0],[51,true,true,null,30.0,1.0,null,null,1.05,false,2000.0,0.0,20.0,-20.0,0.0],[52,true,true,null,30.0,1.0,null,null,1.05,false,2000.0,0.0,20.0,-20.0,0.0],[97,true,true,null,50.0,1.0,null,null,1.03,false,2000.0,0.0,23.0,-16.0,0.0],[98,true,true,null,50.0,1.0,null,null,1.03,false,2000.0,0.0,23.0,-16.0,0.0],[101,true,true,null,60.0,1.0,null,null,1.05,false,2000.0,0.0,30.0,-26.0,0.0],[103,true,true,null,4.0,1.0,null,null,1.0,false,2000.0,0.0,3.3,-3.3,0.0],[116,true,true,null,6.0,1.0,null,null,1.03,false,2000.0,0.0,2.5,0.0,0.0],[125,true,true,null,38.0,1.0,null,null,1.02,false,2000.0,0.0,22.0,-12.0,0.0],[126,true,true,null,38.0,1.0,null,null,1.02,false,2000.0,0.0,22.0,-12.0,0.0],[137,true,true,null,30.0,1.0,null,null,1.0,false,2000.0,0.0,18.699999999999999,-16.0,0.0],[7,true,true,null,29.010000000000002,1.0,null,null,0.99,false,2000.0,0.0,38.0,-20.0,0.0],[138,true,true,null,30.0,1.0,null,null,1.0,false,2000.0,0.0,18.699999999999999,-16.0,0.0],[141,true,true,null,3.0,1.0,null,null,1.02,false,2000.0,0.0,1.3,0.0,0.0],[143,true,true,null,20.0,1.0,null,null,1.06,false,2000.0,0.0,16.800000000000001,0.0,0.0],[185,true,true,null,6.0,1.0,null,null,1.01,false,2000.0,0.0,6.0,0.0,0.0],[8,true,true,null,29.010000000000002,1.0,null,null,0.99,false,2000.0,0.0,38.0,-20.0,0.0],[12,true,true,null,60.0,1.0,null,null,0.99,false,2000.0,0.0,42.0,-20.0,0.0],[13,true,true,null,60.0,1.0,null,null,0.99,false,2000.0,0.0,42.0,-20.0,0.0],[15,true,true,null,45.0,1.0,null,null,0.99,false,2000.0,0.0,17.0,-10.0,0.0],[17,true,true,null,60.0,1.0,null,null,1.06,false,2000.0,0.0,42.0,-20.0,0.0],[18,true,true,null,60.0,1.0,null,null,1.06,false,2000.0,0.0,42.0,-20.0,0.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -90,7 +152,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "switch": { @@ -127,7 +190,7 @@ "ext_grid": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\"],\"index\":[0],\"data\":[[9,true,null,0.0,0.99,2000.0,0.0,38.0,-20.0]]}", + "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"va_degree\",\"vm_pu\",\"max_p_mw\",\"min_p_mw\",\"max_q_mvar\",\"min_q_mvar\",\"slack_weight\"],\"index\":[0],\"data\":[[9,true,null,0.0,0.99,2000.0,0.0,38.0,-20.0,1.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -138,7 +201,8 @@ "max_p_mw": "float64", "min_p_mw": "float64", "max_q_mvar": "float64", - "min_q_mvar": "float64" + "min_q_mvar": "float64", + "slack_weight": "float64" } }, "line": { @@ -289,7 +353,7 @@ "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\",\"in_service\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"ps_mw\",\"qs_mvar\",\"qz_mvar\",\"pz_mw\",\"r_ohm\",\"x_ohm\",\"vm_pu\",\"in_service\",\"slack_weight\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "name": "object", @@ -301,7 +365,8 @@ "r_ohm": "float64", "x_ohm": "float64", "vm_pu": "float64", - "in_service": "bool" + "in_service": "bool", + "slack_weight": "float64" } }, "measurement": { @@ -350,13 +415,14 @@ "controller": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"recycle\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"initial_run\",\"recycle\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "object": "object", "in_service": "bool", "order": "float64", "level": "object", + "initial_run": "bool", "recycle": "bool" } }, @@ -380,11 +446,11 @@ "coords": "object" } }, - "version": "2.2.1", + "version": "2.7.1", "converged": true, "name": "", "f_hz": 50.0, - "sn_mva": 1.0, + "sn_mva": 100, "std_types": { "line": { "N2XS(FL)2Y 1x300 RM/35 64/110 kV": { @@ -1022,6 +1088,16 @@ "q_mvar": "float64" } }, + "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" + } + }, "res_sgen": { "_module": "pandas.core.frame", "_class": "DataFrame", @@ -1106,6 +1182,341 @@ "va_to_degree": "float64" } }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_bus_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_line_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo3w_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_ext_grid_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_gen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_sgen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_shunt_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, "user_pf_options": {}, "OPF_converged": false } From 521ea07f0e00520c9e0f7a0ceb04e9e50828214e Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Tue, 10 Aug 2021 16:14:45 +0200 Subject: [PATCH 167/422] fix failing tests --- pandapower/test/estimation/test_opt_lp_estimation.py | 1 + pandapower/test/loadflow/test_dist_slack.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/pandapower/test/estimation/test_opt_lp_estimation.py b/pandapower/test/estimation/test_opt_lp_estimation.py index c88ef7fee..6f45d3e34 100644 --- a/pandapower/test/estimation/test_opt_lp_estimation.py +++ b/pandapower/test/estimation/test_opt_lp_estimation.py @@ -123,6 +123,7 @@ def test_opt_lav(): def test_ql_qc(): net = nw.case9() + net.sn_mva = 1. pp.runpp(net) add_virtual_meas_from_loadflow(net, p_std_dev=0.01, q_std_dev=0.01) pf_vm_pu, pf_va_degree = net.res_bus.vm_pu, net.res_bus.va_degree diff --git a/pandapower/test/loadflow/test_dist_slack.py b/pandapower/test/loadflow/test_dist_slack.py index 9eaa32f6d..d074110dc 100644 --- a/pandapower/test/loadflow/test_dist_slack.py +++ b/pandapower/test/loadflow/test_dist_slack.py @@ -403,7 +403,7 @@ def test_case9(): assert abs(net.res_ext_grid.p_mw.sum() + net.res_gen.p_mw.sum() - consumed_p_mw - xward_p_mw) < 1e-6 # check the distribution formula of the slack power difference - assert_results_correct(net) + assert_results_correct(net, tol=1e-6) def test_case2848rte(): From 80f2b134455f74c1e446fc74141c72aaa63f2e1a Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Tue, 10 Aug 2021 17:38:49 +0200 Subject: [PATCH 168/422] add reason for failing PowerModels test --- pandapower/test/opf/test_powermodels.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/pandapower/test/opf/test_powermodels.py b/pandapower/test/opf/test_powermodels.py index 6d7796ba1..5d58b03f5 100644 --- a/pandapower/test/opf/test_powermodels.py +++ b/pandapower/test/opf/test_powermodels.py @@ -411,6 +411,8 @@ def test_storage_opt(): @pytest.mark.slow @pytest.mark.skipif(julia_installed == False, reason="requires julia installation") +@pytest.mark.xfail(reason="OTS does not correctly consider net.sn_mva. Probably the impedances [pu]" + " are not correctly calculated.") def test_ots_opt(): net = nw.case5() branch_status = net["line"].loc[:, "in_service"].values @@ -426,6 +428,26 @@ def test_ots_opt(): assert np.array_equal(np.array([0, 1, 1, 1, 1, 0]).astype(bool), branch_status.astype(bool)) +@pytest.mark.slow +@pytest.mark.skipif(julia_installed == False, reason="requires julia installation") +def test_ots_opt2(): + """ This is a copy of test_ots_opt() which passes, since net.sn_mva is set to 1.0. If + test_ots_opt() passes too, this function can be removed. """ + net = nw.case5() + net.sn_mva = 1. + branch_status = net["line"].loc[:, "in_service"].values + assert np.array_equal(np.array([1, 1, 1, 1, 1, 1]).astype(bool), branch_status.astype(bool)) + pp.runpm_ots(net) + branch_status = net["res_line"].loc[:, "in_service"].values + pp.runpp(net) + net.line.loc[:, "in_service"] = branch_status.astype(bool) + pp.runpp(net) + try: + assert np.array_equal(np.array([1, 1, 1, 0, 1, 0]).astype(bool), branch_status.astype(bool)) + except AssertionError: + assert np.array_equal(np.array([0, 1, 1, 1, 1, 0]).astype(bool), branch_status.astype(bool)) + + def assert_pf(net, dc=False): custom_file = os.path.join(os.path.abspath(os.path.dirname(pp.__file__)), "opf", "run_powermodels_powerflow.jl") From 99f01656a7a5c04ed39bd59aa7678d4e0fa18bae Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Wed, 11 Aug 2021 15:01:52 +0200 Subject: [PATCH 169/422] WIP sphinx warnings fix --- doc/networks/kerber.rst | 900 +++++++++--------- doc/networks/test.rst | 1 - doc/opf/powermodels.rst | 24 +- pandapower/create.py | 11 +- pandapower/networks/dickert_lv_networks.py | 7 +- .../networks/power_system_test_cases.py | 4 +- pandapower/plotting/collections.py | 6 +- pandapower/plotting/colormaps.py | 33 +- pandapower/plotting/plotly/pf_res_plotly.py | 59 +- pandapower/plotting/simple_plot.py | 78 +- pandapower/run.py | 109 +-- pandapower/runpm.py | 187 ++-- 12 files changed, 710 insertions(+), 709 deletions(-) diff --git a/doc/networks/kerber.rst b/doc/networks/kerber.rst index d0d9d0170..ce4ef9e4f 100644 --- a/doc/networks/kerber.rst +++ b/doc/networks/kerber.rst @@ -1,451 +1,451 @@ -=============== -Kerber Networks -=============== - - -The kerber networks are based on the grids used in the dissertation "Aufnahmefähigkeit von Niederspannungsverteilnetzen -für die Einspeisung aus Photvoltaikanlagen" (Capacity of low voltage distribution networks -with increased feed-in of photovoltaic power) by Georg Kerber. -The following introduction shows the basic idea behind his network concepts and demonstrate how you can use them in pandapower. - - -*"The increasing amount of new distributed power plants demands a reconsideration of conventional planning -strategies in all classes and voltage levels of the electrical power networks. To get reliable results on -loadability of low voltage networks statistically firm network models are required. A strategy for the classification -of low voltage networks, exemplary results and a method for the generation of reference networks are shown."* -(source: https:/mediatum.ub.tum.de/doc/681082/681082.pdf) - - -.. warning:: - - The representative grids for sub-urban areas (Vorstadt) were deduced as open-ring grids from meshed grids. - They are therefore only valid under the assumption of homogeneous load and generation profiles, and not for - inhomogeneous operation or even short-circuit situations. - -.. seealso:: - - - Georg Kerber, `Aufnahmefähigkeit von Niederspannungsverteilnetzen für die Einspeisung aus Photovoltaikkleinanlagen `_, Dissertation - - Georg Kerber, `Statistische Analyse von NS-Verteilungsnetzen und Modellierung von Referenznetzen `_ - - - -Average Kerber networks -======================== - - -**Kerber Landnetze:** - - - Low number of loads per transformer station - - High proportion of agriculture and industry - - Typical network topologies: line - -**Kerber Dorfnetz:** - - - Higher number of loads per transformer station (compared to Kerber Landnetze) - - Lower proportion of agriculture and industry - - Typical network topologies: line, open ring - -**Kerber Vorstadtnetze:** - - - Highest number of loads per transformer station (compared to Kerber Landnetze/Dorfnetz) - - no agriculture and industry - - high building density - - Typical network topologies: open ring, meshed networks - - - -.. tabularcolumns:: |l|l|l|l|l| -.. csv-table:: - :file: kerber.csv - :delim: ; - -You can include the kerber networks by simply using: - - - -.. code:: python - - import pandapower.networks as pn - - net1 = pn.create_kerber_net() - - - - - - -Kerber Landnetze ----------------- - - - -.. code:: python - - import pandapower.networks as pn - - net1 = pn.create_kerber_landnetz_freileitung_1() - - ''' - This pandapower network includes the following parameter tables: - - load (13 elements) p_load_in_mw=8, q_load_in_mw=0 - - bus (15 elements) - - line (13 elements) std_type="Al 120", l_lines_in_km=0.021 - - trafo (1 elements) std_type="0.125 MVA 10/0.4 kV Dyn5 ASEA" - - ext_grid (1 elements) - ''' - - net2 = pn.create_kerber_landnetz_freileitung_2() - - ''' - This pandapower network includes the following parameter tables: - - load (8 elements) p_load_in_mw=8, q_load_in_mw=0 - - bus (10 elements) - - line (8 elements) std_type="AL 50", l_lines_1_in_km=0.038, l_lines_2_in_km=0.081 - - trafo (1 elements) std_type="0.125 MVA 10/0.4 kV Dyn5 ASEA" - - ext_grid (1 elements) - ''' - - - - - -.. image:: /pics/networks/kerber//kerber_landnetz_freileitung.png - :height: 918.0px - :width: 1282.0px - :scale: 52% - :alt: alternate Text - :align: center - --------------------- - - -.. code:: python - - import pandapower.networks as pn - - net1 = pn.create_kerber_landnetz_kabel_1() - - ''' - This pandapower network includes the following parameter tables: - - load (8 elements) p_load_in_mw=8, q_load_in_mw=0 - - bus (18 elements) - - line (16 elements) std_type="NAYY 150", std_type_branchout_line="NAYY 50" - - trafo (1 elements) std_type = "0.125 MVA 10/0.4 kV Dyn5 ASEA" - - ext_grid (1 elements) - ''' - - net2 = pn.create_kerber_landnetz_kabel_2() - - ''' - This pandapower network includes the following parameter tables: - - load (14 elements) p_load_in_mw=8, q_load_in_mw=0 - - bus (30 elements) - - line (28 elements) std_type="NAYY 150", std_type_branchout_line="NAYY 50" - - trafo (1 elements) std_type="0.125 MVA 10/0.4 kV Dyn5 ASEA" - - ext_grid (1 elements) - ''' - - -.. image:: /pics/networks/kerber//kerber_landnetz_kabel.png - :height: 918.0px - :width: 1282.0px - :scale: 52% - :alt: alternate Text - :align: center - ---------------------------- - -Kerber Dorfnetz ---------------- - - -.. code:: python - - import pandapower.networks as pn - - net = pn.create_kerber_dorfnetz() - - ''' - This pandapower network includes the following parameter tables: - - load (57 elements) p_load_in_mw=6, q_load_in_mw=0 - - bus (116 elements) - - line (114 elements) std_type="NAYY 150"; std_type_branchout_line="NAYY 50" - - trafo (1 elements) std_type="0.4 MVA 10/0.4 kV Yyn6 4 ASEA" - - ext_grid (1 elements) - ''' - - - -.. image:: /pics/networks/kerber//kerber_dorfnetz_1.PNG - :height: 918.0px - :width: 1282.0px - :scale: 52% - :alt: alternate Text - :align: center - - ---------------------------- - -Kerber Vorstadtnetze --------------------- - - -.. code:: python - - import pandapower.networks as pn - - net1 = pn.create_kerber_vorstadtnetz_kabel_1() - - ''' - This pandapower network includes the following parameter tables: - - load (146 elements) p_load_in_mw=2, q_load_in_mw=0 - - bus (294 elements) - - line (292 elements) std_type="NAYY 150", std_type_branchout_line_1="NAYY 50", std_type_branchout_line_2="NYY 35" - - trafo (1 elements) std_type="0.63 MVA 20/0.4 kV Yyn6 wnr ASEA" - - ext_grid (1 elements) - ''' - - - - -.. image:: /pics/networks/kerber//kerber_vorstadtnetz_a.PNG - :height: 918.0px - :width: 1282.0px - :scale: 52% - :alt: alternate Text - :align: center - --------------------- - - -.. code:: python - - import pandapower.networks as pn - - net2 = pn.create_kerber_vorstadtnetz_kabel_2() - - ''' - This pandapower network includes the following parameter tables: - - load (144 elements) p_load_in_mw=2, q_load_in_mw=0 - - bus (290 elements) - - line (288 elements) std_type="NAYY 150", std_type_branchout_line_1="NAYY 50", std_type_branchout_line_2="NYY 35" - - trafo (1 elements) "std_type=0.63 MVA 20/0.4 kV Yyn6 wnr ASEA" - - ext_grid (1 elements) - ''' - - - - -.. image:: /pics/networks/kerber//kerber_vorstadtnetz_b.PNG - :height: 918.0px - :width: 1282.0px - :scale: 52% - :alt: alternate Text - :align: center - - - ---------------------------- - -Extreme Kerber networks -======================= - - -The typical kerber networks represent the most common low-voltage distribution grids. -To produce statements of universal validity or check limit value, a significant part of all existing grids have to be involved. -The following grids obtain special builds of parameters (very high line length, great number of branches or -high loaded transformers). These parameters results in high loaded lines and low voltage magnitudes within the -extreme network. By including the extreme networks, kerber reached the 95% confidence interval. - -Therefore 95% of all parameter results in an considered distribution grid are equal or better compared to the outcomes from kerber extreme networks. -Besides testing for extreme parameters you are able to check for functional capability of reactive power control. -Since more rare network combination exist, the total number of extreme grids is higher than the amount of typical kerber networks. - -.. seealso:: - - - Georg Kerber, `Aufnahmefähigkeit von Niederspannungsverteilnetzen für die Einspeisung aus Photovoltaikkleinanlagen `_, Dissertation - - Georg Kerber, `Statistische Analyse von NS-Verteilungsnetzen und Modellierung von Referenznetzen `_ - -.. tabularcolumns:: |l|l|l|l|l| -.. csv-table:: - :file: kerber_extreme.csv - :delim: ; - --------------- - -The Kerber extreme networks are categorized into two groups: - - **Type I:** Kerber networks with extreme lines - - **Type II:** Kerber networks with extreme lines and high loaded transformer - - - - -.. note:: Note that all Kerber exteme networks (no matter what type / territory) consist of various branches, linetypes or line length. - - - -Extreme Kerber Landnetze ------------------------- - - - -.. code:: python - - import pandapower.networks as pn - - '''Extrem Landnetz Freileitung Typ I''' - net = pn.kb_extrem_landnetz_freileitung() - - - '''Extrem Landnetz Kabel Typ I''' - net = pn.kb_extrem_landnetz_kabel() - - - - - -.. image:: /pics/networks/kerber//kerber_extrem_landnetz_typ_1.png - :height: 918.0px - :width: 1282.0px - :scale: 52% - :alt: alternate Text - :align: center - ---------------------------- - - -.. code:: python - - import pandapower.networks as pn - - '''Extrem Landnetz Freileitung Typ II''' - net = pn.kb_extrem_landnetz_freileitung_trafo() - - - '''Extrem Landnetz Kabel Typ II''' - net = pn.kb_extrem_landnetz_kabel_trafo() - - - - -.. image:: /pics/networks/kerber//kerber_extrem_landnetz_typ_2.png - :height: 918.0px - :width: 1282.0px - :scale: 52% - :alt: alternate Text - :align: center - -Extreme Kerber Dorfnetze ------------------------- - - - -.. code:: python - - import pandapower.networks as pn - - '''Extrem Dorfnetz Kabel Typ I''' - net = pn.kb_extrem_dorfnetz() - - - - - -.. image:: /pics/networks/kerber//kerber_extrem_dorfnetz_typ_1.png - :height: 918.0px - :width: 1282.0px - :scale: 52% - :alt: alternate Text - :align: center - ---------------------------- - -.. code:: python - - import pandapower.networks as pn - - '''Extrem Dorfnetz Kabel Typ II''' - net = pn.kb_extrem_dorfnetz_trafo() - - - -.. image:: /pics/networks/kerber//kerber_extrem_dorfnetz_typ_2.png - :height: 918.0px - :width: 1582.0px - :scale: 52% - :alt: alternate Text - :align: center - -Extreme Kerber Vorstadtnetze ----------------------------- - -.. code:: python - - import pandapower.networks as pn - - '''Extrem Vorstadtnetz Kabel_a Typ I''' - net = pn.kb_extrem_vorstadtnetz_1() - - -.. image:: /pics/networks/kerber//kerber_extrem_vorstadt_a_typ_1.png - :height: 718.0px - :width: 1402.0px - :scale: 52% - :alt: alternate Text - :align: center - ---------------------------- - - -.. code:: python - - import pandapower.networks as pn - - '''Extrem Vorstadtnetz Kabel_b Typ I''' - net = pn.kb_extrem_vorstadtnetz_2() - - -.. image:: /pics/networks/kerber//kerber_extrem_vorstadt_b_typ_1.png - :height: 818.0px - :width: 1452.0px - :scale: 52% - :alt: alternate Text - :align: center - - ---------------------------- - -.. code:: python - - import pandapower.networks as pn - - '''Extrem Vorstadtnetz Kabel_c Typ II''' - net = pn.kb_extrem_vorstadtnetz_trafo_1() - - -.. image:: /pics/networks/kerber//kerber_extrem_vorstadt_c_typ_2.png - :height: 918.0px - :width: 1482.0px - :scale: 52% - :alt: alternate Text - :align: center - - ---------------------------- - -.. code:: python - - import pandapower.networks as pn - - '''Extrem Vorstadtnetz Kabel_d Typ II''' - net = pn.kb_extrem_vorstadtnetz_trafo_2() - - -.. image:: /pics/networks/kerber//kerber_extrem_vorstadt_d_typ_2.png - :height: 918.0px - :width: 1482.0px - :scale: 52% - :alt: alternate Text +=============== +Kerber Networks +=============== + + +The kerber networks are based on the grids used in the dissertation "Aufnahmefähigkeit von Niederspannungsverteilnetzen +für die Einspeisung aus Photvoltaikanlagen" (Capacity of low voltage distribution networks +with increased feed-in of photovoltaic power) by Georg Kerber. +The following introduction shows the basic idea behind his network concepts and demonstrate how you can use them in pandapower. + + +*"The increasing amount of new distributed power plants demands a reconsideration of conventional planning +strategies in all classes and voltage levels of the electrical power networks. To get reliable results on +loadability of low voltage networks statistically firm network models are required. A strategy for the classification +of low voltage networks, exemplary results and a method for the generation of reference networks are shown."* +(source: https:/mediatum.ub.tum.de/doc/681082/681082.pdf) + + +.. warning:: + + The representative grids for sub-urban areas (Vorstadt) were deduced as open-ring grids from meshed grids. + They are therefore only valid under the assumption of homogeneous load and generation profiles, and not for + inhomogeneous operation or even short-circuit situations. + +.. seealso:: + + - Georg Kerber, `Aufnahmefähigkeit von Niederspannungsverteilnetzen für die Einspeisung aus Photovoltaikkleinanlagen `__, Dissertation + - Georg Kerber, `Statistische Analyse von NS-Verteilungsnetzen und Modellierung von Referenznetzen `__ + + + +Average Kerber networks +======================== + + +**Kerber Landnetze:** + + - Low number of loads per transformer station + - High proportion of agriculture and industry + - Typical network topologies: line + +**Kerber Dorfnetz:** + + - Higher number of loads per transformer station (compared to Kerber Landnetze) + - Lower proportion of agriculture and industry + - Typical network topologies: line, open ring + +**Kerber Vorstadtnetze:** + + - Highest number of loads per transformer station (compared to Kerber Landnetze/Dorfnetz) + - no agriculture and industry + - high building density + - Typical network topologies: open ring, meshed networks + + + +.. tabularcolumns:: |l|l|l|l|l| +.. csv-table:: + :file: kerber.csv + :delim: ; + +You can include the kerber networks by simply using: + + + +.. code:: python + + import pandapower.networks as pn + + net1 = pn.create_kerber_net() + + + + + + +Kerber Landnetze +---------------- + + + +.. code:: python + + import pandapower.networks as pn + + net1 = pn.create_kerber_landnetz_freileitung_1() + + ''' + This pandapower network includes the following parameter tables: + - load (13 elements) p_load_in_mw=8, q_load_in_mw=0 + - bus (15 elements) + - line (13 elements) std_type="Al 120", l_lines_in_km=0.021 + - trafo (1 elements) std_type="0.125 MVA 10/0.4 kV Dyn5 ASEA" + - ext_grid (1 elements) + ''' + + net2 = pn.create_kerber_landnetz_freileitung_2() + + ''' + This pandapower network includes the following parameter tables: + - load (8 elements) p_load_in_mw=8, q_load_in_mw=0 + - bus (10 elements) + - line (8 elements) std_type="AL 50", l_lines_1_in_km=0.038, l_lines_2_in_km=0.081 + - trafo (1 elements) std_type="0.125 MVA 10/0.4 kV Dyn5 ASEA" + - ext_grid (1 elements) + ''' + + + + + +.. image:: /pics/networks/kerber//kerber_landnetz_freileitung.png + :height: 918.0px + :width: 1282.0px + :scale: 52% + :alt: alternate Text + :align: center + +-------------------- + + +.. code:: python + + import pandapower.networks as pn + + net1 = pn.create_kerber_landnetz_kabel_1() + + ''' + This pandapower network includes the following parameter tables: + - load (8 elements) p_load_in_mw=8, q_load_in_mw=0 + - bus (18 elements) + - line (16 elements) std_type="NAYY 150", std_type_branchout_line="NAYY 50" + - trafo (1 elements) std_type = "0.125 MVA 10/0.4 kV Dyn5 ASEA" + - ext_grid (1 elements) + ''' + + net2 = pn.create_kerber_landnetz_kabel_2() + + ''' + This pandapower network includes the following parameter tables: + - load (14 elements) p_load_in_mw=8, q_load_in_mw=0 + - bus (30 elements) + - line (28 elements) std_type="NAYY 150", std_type_branchout_line="NAYY 50" + - trafo (1 elements) std_type="0.125 MVA 10/0.4 kV Dyn5 ASEA" + - ext_grid (1 elements) + ''' + + +.. image:: /pics/networks/kerber//kerber_landnetz_kabel.png + :height: 918.0px + :width: 1282.0px + :scale: 52% + :alt: alternate Text + :align: center + +--------------------------- + +Kerber Dorfnetz +--------------- + + +.. code:: python + + import pandapower.networks as pn + + net = pn.create_kerber_dorfnetz() + + ''' + This pandapower network includes the following parameter tables: + - load (57 elements) p_load_in_mw=6, q_load_in_mw=0 + - bus (116 elements) + - line (114 elements) std_type="NAYY 150"; std_type_branchout_line="NAYY 50" + - trafo (1 elements) std_type="0.4 MVA 10/0.4 kV Yyn6 4 ASEA" + - ext_grid (1 elements) + ''' + + + +.. image:: /pics/networks/kerber//kerber_dorfnetz_1.PNG + :height: 918.0px + :width: 1282.0px + :scale: 52% + :alt: alternate Text + :align: center + + +--------------------------- + +Kerber Vorstadtnetze +-------------------- + + +.. code:: python + + import pandapower.networks as pn + + net1 = pn.create_kerber_vorstadtnetz_kabel_1() + + ''' + This pandapower network includes the following parameter tables: + - load (146 elements) p_load_in_mw=2, q_load_in_mw=0 + - bus (294 elements) + - line (292 elements) std_type="NAYY 150", std_type_branchout_line_1="NAYY 50", std_type_branchout_line_2="NYY 35" + - trafo (1 elements) std_type="0.63 MVA 20/0.4 kV Yyn6 wnr ASEA" + - ext_grid (1 elements) + ''' + + + + +.. image:: /pics/networks/kerber//kerber_vorstadtnetz_a.PNG + :height: 918.0px + :width: 1282.0px + :scale: 52% + :alt: alternate Text + :align: center + +-------------------- + + +.. code:: python + + import pandapower.networks as pn + + net2 = pn.create_kerber_vorstadtnetz_kabel_2() + + ''' + This pandapower network includes the following parameter tables: + - load (144 elements) p_load_in_mw=2, q_load_in_mw=0 + - bus (290 elements) + - line (288 elements) std_type="NAYY 150", std_type_branchout_line_1="NAYY 50", std_type_branchout_line_2="NYY 35" + - trafo (1 elements) "std_type=0.63 MVA 20/0.4 kV Yyn6 wnr ASEA" + - ext_grid (1 elements) + ''' + + + + +.. image:: /pics/networks/kerber//kerber_vorstadtnetz_b.PNG + :height: 918.0px + :width: 1282.0px + :scale: 52% + :alt: alternate Text + :align: center + + + +--------------------------- + +Extreme Kerber networks +======================= + + +The typical kerber networks represent the most common low-voltage distribution grids. +To produce statements of universal validity or check limit value, a significant part of all existing grids have to be involved. +The following grids obtain special builds of parameters (very high line length, great number of branches or +high loaded transformers). These parameters results in high loaded lines and low voltage magnitudes within the +extreme network. By including the extreme networks, kerber reached the 95% confidence interval. + +Therefore 95% of all parameter results in an considered distribution grid are equal or better compared to the outcomes from kerber extreme networks. +Besides testing for extreme parameters you are able to check for functional capability of reactive power control. +Since more rare network combination exist, the total number of extreme grids is higher than the amount of typical kerber networks. + +.. seealso:: + + - Georg Kerber, `Aufnahmefähigkeit von Niederspannungsverteilnetzen für die Einspeisung aus Photovoltaikkleinanlagen `_, Dissertation + - Georg Kerber, `Statistische Analyse von NS-Verteilungsnetzen und Modellierung von Referenznetzen `_ + +.. tabularcolumns:: |l|l|l|l|l| +.. csv-table:: + :file: kerber_extreme.csv + :delim: ; + +-------------- + +The Kerber extreme networks are categorized into two groups: + + **Type I:** Kerber networks with extreme lines + + **Type II:** Kerber networks with extreme lines and high loaded transformer + + + + +.. note:: Note that all Kerber exteme networks (no matter what type / territory) consist of various branches, linetypes or line length. + + + +Extreme Kerber Landnetze +------------------------ + + + +.. code:: python + + import pandapower.networks as pn + + '''Extrem Landnetz Freileitung Typ I''' + net = pn.kb_extrem_landnetz_freileitung() + + + '''Extrem Landnetz Kabel Typ I''' + net = pn.kb_extrem_landnetz_kabel() + + + + + +.. image:: /pics/networks/kerber//kerber_extrem_landnetz_typ_1.png + :height: 918.0px + :width: 1282.0px + :scale: 52% + :alt: alternate Text + :align: center + +--------------------------- + + +.. code:: python + + import pandapower.networks as pn + + '''Extrem Landnetz Freileitung Typ II''' + net = pn.kb_extrem_landnetz_freileitung_trafo() + + + '''Extrem Landnetz Kabel Typ II''' + net = pn.kb_extrem_landnetz_kabel_trafo() + + + + +.. image:: /pics/networks/kerber//kerber_extrem_landnetz_typ_2.png + :height: 918.0px + :width: 1282.0px + :scale: 52% + :alt: alternate Text + :align: center + +Extreme Kerber Dorfnetze +------------------------ + + + +.. code:: python + + import pandapower.networks as pn + + '''Extrem Dorfnetz Kabel Typ I''' + net = pn.kb_extrem_dorfnetz() + + + + + +.. image:: /pics/networks/kerber//kerber_extrem_dorfnetz_typ_1.png + :height: 918.0px + :width: 1282.0px + :scale: 52% + :alt: alternate Text + :align: center + +--------------------------- + +.. code:: python + + import pandapower.networks as pn + + '''Extrem Dorfnetz Kabel Typ II''' + net = pn.kb_extrem_dorfnetz_trafo() + + + +.. image:: /pics/networks/kerber//kerber_extrem_dorfnetz_typ_2.png + :height: 918.0px + :width: 1582.0px + :scale: 52% + :alt: alternate Text + :align: center + +Extreme Kerber Vorstadtnetze +---------------------------- + +.. code:: python + + import pandapower.networks as pn + + '''Extrem Vorstadtnetz Kabel_a Typ I''' + net = pn.kb_extrem_vorstadtnetz_1() + + +.. image:: /pics/networks/kerber//kerber_extrem_vorstadt_a_typ_1.png + :height: 718.0px + :width: 1402.0px + :scale: 52% + :alt: alternate Text + :align: center + +--------------------------- + + +.. code:: python + + import pandapower.networks as pn + + '''Extrem Vorstadtnetz Kabel_b Typ I''' + net = pn.kb_extrem_vorstadtnetz_2() + + +.. image:: /pics/networks/kerber//kerber_extrem_vorstadt_b_typ_1.png + :height: 818.0px + :width: 1452.0px + :scale: 52% + :alt: alternate Text + :align: center + + +--------------------------- + +.. code:: python + + import pandapower.networks as pn + + '''Extrem Vorstadtnetz Kabel_c Typ II''' + net = pn.kb_extrem_vorstadtnetz_trafo_1() + + +.. image:: /pics/networks/kerber//kerber_extrem_vorstadt_c_typ_2.png + :height: 918.0px + :width: 1482.0px + :scale: 52% + :alt: alternate Text + :align: center + + +--------------------------- + +.. code:: python + + import pandapower.networks as pn + + '''Extrem Vorstadtnetz Kabel_d Typ II''' + net = pn.kb_extrem_vorstadtnetz_trafo_2() + + +.. image:: /pics/networks/kerber//kerber_extrem_vorstadt_d_typ_2.png + :height: 918.0px + :width: 1482.0px + :scale: 52% + :alt: alternate Text :align: center \ No newline at end of file diff --git a/doc/networks/test.rst b/doc/networks/test.rst index c5a18364d..b4e7e234e 100644 --- a/doc/networks/test.rst +++ b/doc/networks/test.rst @@ -50,5 +50,4 @@ Medium voltage open ring :alt: alternate Text :align: center ---------------------------------------- diff --git a/doc/opf/powermodels.rst b/doc/opf/powermodels.rst index 1900cce37..fe55060e4 100644 --- a/doc/opf/powermodels.rst +++ b/doc/opf/powermodels.rst @@ -6,20 +6,20 @@ Optimization with PowerModels.jl Installation -------------- -If you are not yet using Julia, install it. Note that you need a version that is supported PowerModels, PyCall and pyjulia for the interface to work. Currently, `Julia 1.5 `_ is the most recent version of Julia that supports all these packages. +If you are not yet using Julia, install it. Note that you need a version that is supported PowerModels, PyCall and pyjulia for the interface to work. Currently, `Julia 1.5 `__ is the most recent version of Julia that supports all these packages. -.. note:: You don't necessarily need a Julia IDE if you are using PowerModels through pandapower, but it might help for debugging to install an IDE such as `Juno `_. Also, PyCharm has a Julia Plugin. +.. note:: You don't necessarily need a Julia IDE if you are using PowerModels through pandapower, but it might help for debugging to install an IDE such as `Juno `__. Also, PyCharm has a Julia Plugin. -1. Add the Julia binary folder (e.g. /Julia-1.5.0/bin) to the `system variable PATH `_. Providing the path is correct, you can now enter the julia prompt by executing :code:`julia` in your shell. +1. Add the Julia binary folder (e.g. /Julia-1.5.0/bin) to the `system variable PATH `__. Providing the path is correct, you can now enter the julia prompt by executing :code:`julia` in your shell. -2. The library `PyCall `_ allows to use Python from inside julia. By default, PyCall uses the Conda.jl package to install a Miniconda distribution private to Julia. To use an already installed Python distribution (e.g. Anaconda), set the :literal:`PYTHON` environment variable inside the Julia prompt to e.g.: :code:`ENV["PYTHON"]="C:\\Anaconda3\\python.exe"`. +2. The library `PyCall `__ allows to use Python from inside julia. By default, PyCall uses the Conda.jl package to install a Miniconda distribution private to Julia. To use an already installed Python distribution (e.g. Anaconda), set the :literal:`PYTHON` environment variable inside the Julia prompt to e.g.: :code:`ENV["PYTHON"]="C:\\Anaconda3\\python.exe"`. 3. Access the package mode by typing :kbd:`]`. Now install the packages: :code:`add Ipopt PowerModels PyCall`. -4. Test your `PowerModels `_ installation by executing :code:`test PowerModels`. Alternatively, you can call :code:`using Pkg` and then :code:`Pkg.test("PowerModels")` Then, test if calling Python from Julia works as described `here `_. +4. Test your `PowerModels `__ installation by executing :code:`test PowerModels`. Alternatively, you can call :code:`using Pkg` and then :code:`Pkg.test("PowerModels")` Then, test if calling Python from Julia works as described `here `__. -.. note:: If you cannot plot using PyCall and PyPlot in Julia, see the workarounds offered `here `_. +.. note:: If you cannot plot using PyCall and PyPlot in Julia, see the workarounds offered `here `__. 5. To call Julia from Python, install the pyjulia package with :code:`pip install julia`. Afterwards, test if everything works by importing PowerModels from Python with: :code:`from julia.PowerModels import run_ac_opf`. This takes some time, since Python starts a julia instance in the background, but it if the import completes without error everything is configured correctly and you can now use PowerModels to optimize pandapower networks. @@ -30,11 +30,11 @@ If you are not yet using Julia, install it. Note that you need a version that is Additional Solvers -------------------- -Optional additional solvers, such as `Gurobi `_ are compatible to PowerModels.jl. To use these solvers, you first have to install the solver itself on your system and then the julia interface. Gurobi is very fast for linear problems such as the DC model and free for academic usage. Let's do this step by step for Gurobi: +Optional additional solvers, such as `Gurobi `__ are compatible to PowerModels.jl. To use these solvers, you first have to install the solver itself on your system and then the julia interface. Gurobi is very fast for linear problems such as the DC model and free for academic usage. Let's do this step by step for Gurobi: -1. Download and install from `Gurobi download `_ (you'll need an account for this) +1. Download and install from `Gurobi download `__ (you'll need an account for this) -2. Get your Gurobi license at `Gurobi license `_ and download it (remember where you stored it). +2. Get your Gurobi license at `Gurobi license `__ and download it (remember where you stored it). 3. Activate the license by calling :code:`grbgetkey YOUR_KEY` as described on the Gurobi license page. @@ -48,7 +48,7 @@ Optional additional solvers, such as `Gurobi `_ are com export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${GUROBI_HOME}/lib" export GRB_LICENSE_FILE="/PATH_TO_YOUR_LICENSE_DIR/gurobi.lic" -5. Install the julia - `Gurobi interface `_ with :code:`julia -e 'import Pkg; Pkg.add("Gurobi");'` +5. Install the julia - `Gurobi interface `__ with :code:`julia -e 'import Pkg; Pkg.add("Gurobi");'` 6. Build and test your Gurobi installation by calling :code:`julia` and then :code:`import Pkg; Pkg.build("Gurobi")`. This should compile without an error. @@ -58,7 +58,7 @@ Optional additional solvers, such as `Gurobi `_ are com Usage ------ -The usage is explained in the `PowerModels tutorial `_. +The usage is explained in the `PowerModels tutorial `__. .. autofunction:: pandapower.runpm_ac_opf @@ -66,6 +66,6 @@ The usage is explained in the `PowerModels tutorial `_. Additional packages including "juniper" +The TNEP optimization is explained in the `PowerModels TNEP tutorial `__. Additional packages including "juniper" .. autofunction:: pandapower.runpm_tnep \ No newline at end of file diff --git a/pandapower/create.py b/pandapower/create.py index 19b80c76d..e3c5b1497 100644 --- a/pandapower/create.py +++ b/pandapower/create.py @@ -2627,6 +2627,7 @@ def create_transformer3w_from_parameters(net, hv_bus, mv_bus, lv_bus, vn_hv_kv, vector_group=None): """ Adds a three-winding transformer in table net["trafo3w"]. + The model currently only supports one tap-changer per 3W Transformer. Input: **net** (pandapowerNet) - The net within this transformer should be created @@ -2695,9 +2696,6 @@ def create_transformer3w_from_parameters(net, hv_bus, mv_bus, lv_bus, vn_hv_kv, **in_service** (boolean, True) - True for in_service or False for out of service - ** only considered in loadflow if calculate_voltage_angles = True - **The model currently only supports one tap-changer per 3W Transformer. - **max_loading_percent (float)** - maximum current loading (only needed for OPF) **vk0_hv_percent** (float) - zero sequence short circuit voltage from high to medium voltage @@ -3475,12 +3473,11 @@ def create_pwl_cost(net, element, et, points, power_type="p", index=None): INPUT: **element** (int) - ID of the element in the respective element table - **et** (string) - element type, one of "gen", "sgen", "ext_ - grid", "load", "dcline",\ - "storage"] + **et** (string) - element type, one of "gen", "sgen", "ext_grid", "load", + "dcline", "storage"] **points** - (list) list of lists with [[p1, p2, c1], [p2, p3, c2], ...] where c(n) \ - defines the costs between p(n) and p(n+1) + defines the costs between p(n) and p(n+1) OPTIONAL: **type** - (string) - Type of cost ["p", "q"] are allowed for active or reactive power diff --git a/pandapower/networks/dickert_lv_networks.py b/pandapower/networks/dickert_lv_networks.py index c0f744481..de6b42929 100644 --- a/pandapower/networks/dickert_lv_networks.py +++ b/pandapower/networks/dickert_lv_networks.py @@ -226,9 +226,10 @@ def create_dickert_lv_network(feeders_range='short', linetype='cable', customer= distributed peak system demand, described in Dickert, Schegner - \ 'Residential Load Models for Network Planning Purposes', Modern Electric Power Systems 2010, \ Wroclaw, Poland, with the given example assumptions: - - c_inf = 0.1 - - P_max1 = 10 kW - - powerfactor = 0.95 ind. (in range of 0.9 to 1) + + - c_inf = 0.1 + - P_max1 = 10 kW + - powerfactor = 0.95 ind. (in range of 0.9 to 1) OPTIONAL: diff --git a/pandapower/networks/power_system_test_cases.py b/pandapower/networks/power_system_test_cases.py index 3caca4350..9f622a5ec 100644 --- a/pandapower/networks/power_system_test_cases.py +++ b/pandapower/networks/power_system_test_cases.py @@ -684,7 +684,7 @@ def GBreducednetwork(): """ Calls the json file GBreducednetwork.json which data is provided by `W. A. Bukhsh, Ken \ McKinnon, Network data of real transmission networks, April 2013 \ - `_. + `__. This data is a representative model of electricity transmission network in Great Britain (GB). \ It was originally developed at the University of Strathclyde in 2010. @@ -726,7 +726,7 @@ def iceland(): """ Calls the json file iceland.json which data is provided by `W. A. Bukhsh, Ken McKinnon, Network \ data of real transmission networks, April 2013 \ - `_. + `__. This data represents electricity transmission network of Iceland. It consists of 118 nodes, \ 206 branches and 35 generators. It was originally developed in PSAT format by Patrick McNabb, \ Durham University in January 2011. diff --git a/pandapower/plotting/collections.py b/pandapower/plotting/collections.py index 4f7313ab6..f02428dc8 100644 --- a/pandapower/plotting/collections.py +++ b/pandapower/plotting/collections.py @@ -366,7 +366,7 @@ def create_bus_collection(net, buses=None, size=5, patch_type="circle", color=No **cbar_title** (str, "Bus Voltage [pu]") - colormap bar title in case of given cmap - **kwargs - key word arguments are passed to the patch function + **kwargs** - key word arguments are passed to the patch function OUTPUT: **pc** - patch collection @@ -428,7 +428,7 @@ def create_line_collection(net, lines=None, line_geodata=None, bus_geodata=None, **clim** (tuple of floats, None) - setting the norm limits for image scaling - **kwargs - key word arguments are passed to the patch function + **kwargs** - key word arguments are passed to the patch function OUTPUT: **lc** - line collection @@ -651,7 +651,7 @@ def create_trafo_collection(net, trafos=None, picker=False, size=None, infofunc= **infofunc** (function, None) - infofunction for the patch element - **kwargs - key word arguments are passed to the patch function + **kwargs** - key word arguments are passed to the patch function OUTPUT: **lc** - line collection diff --git a/pandapower/plotting/colormaps.py b/pandapower/plotting/colormaps.py index 7ebf11b82..190f81069 100644 --- a/pandapower/plotting/colormaps.py +++ b/pandapower/plotting/colormaps.py @@ -80,27 +80,28 @@ def cmap_continuous(cmap_list): def cmap_logarithmic(min_value, max_value, colors): """ - Can be used to create a logarithmic colormap. The colormap itself has a linear segmentation of - the given colors. The values however will be matched to the colors based on a logarithmic - normalization (c.f. matplotlib.colors.LogNorm for more information on how the logarithmic - normalization works).\nPlease note: There are numerous ways of how a logarithmic scale might - be created, the intermediate values on the scale are created automatically based on the minimum - and maximum given values in analogy to the LogNorm. Also, the logarithmic colormap can only be - used with at least 3 colors and increasing values which all have to be above 0. + Can be used to create a logarithmic colormap. The colormap itself has a linear segmentation of + the given colors. The values however will be matched to the colors based on a logarithmic + normalization (c.f. matplotlib.colors.LogNorm for more information on how the logarithmic + normalization works).\nPlease note: There are numerous ways of how a logarithmic scale might + be created, the intermediate values on the scale are created automatically based on the minimum + and maximum given values in analogy to the LogNorm. Also, the logarithmic colormap can only be + used with at least 3 colors and increasing values which all have to be above 0. - INPUT: - - min_value (float) - the minimum value of the colorbar + INPUT: + **min_value** (float) - the minimum value of the colorbar - - max_value (float) - the maximum value for the colorbar + **max_value** (float) - the maximum value for the colorbar - - colors (list) - list of colors to be used for the colormap + **colors** (list) - list of colors to be used for the colormap - OUTPUT: - - cmap - matplotlib colormap + OUTPUT: + **cmap** - matplotlib colormap - - norm - matplotlib norm object + **norm** - matplotlib norm object + + EXAMPLE: - EXAMPLE: >>> from pandapower.plotting import cmap_logarithmic, create_bus_collection, draw_collections >>> from pandapower.networks import mv_oberrhein >>> net = mv_oberrhein("generation") @@ -109,7 +110,9 @@ def cmap_logarithmic(min_value, max_value, colors): >>> cmap, norm = cmap_logarithmic(min_value, max_value, colors) >>> bc = create_bus_collection(net, size=70, cmap=cmap, norm=norm) >>> draw_collections([bc]) + """ + num_values = len(colors) if num_values < 2: raise UserWarning("Cannot create a logarithmic colormap less than 2 colors.") diff --git a/pandapower/plotting/plotly/pf_res_plotly.py b/pandapower/plotting/plotly/pf_res_plotly.py index 2782910ef..ee0b0054f 100644 --- a/pandapower/plotting/plotly/pf_res_plotly.py +++ b/pandapower/plotting/plotly/pf_res_plotly.py @@ -24,29 +24,29 @@ def pf_res_plotly(net, cmap="Jet", use_line_geodata=None, on_map=False, projecti climits_volt=(0.9, 1.1), climits_load=(0, 100), cpos_volt=1.0, cpos_load=1.1, filename="temp-plot.html", auto_open=True): """ - Plots a pandapower network in plotly - using colormap for coloring lines according to line loading and buses according to voltage in p.u. - If no geodata is available, artificial geodata is generated. For advanced plotting see the tutorial + Plots a pandapower network in plotly - INPUT: - **net** - The pandapower format network. If none is provided, mv_oberrhein() will be - plotted as an example + using colormap for coloring lines according to line loading and buses according to voltage in p.u. + If no geodata is available, artificial geodata is generated. For advanced plotting see the tutorial - OPTIONAL: - **respect_switches** (bool, False) - Respect switches when artificial geodata is created + INPUT: + **net** - The pandapower format network. If none is provided, mv_oberrhein() will be plotted as an example - *cmap** (str, True) - name of the colormap + OPTIONAL: + **respect_switches** (bool, False) - Respect switches when artificial geodata is created - *colors_dict** (dict, None) - by default 6 basic colors from default collor palette is used. - Otherwise, user can define a dictionary in the form: voltage_kv : color + **cmap** (str, True) - name of the colormap - **on_map** (bool, False) - enables using mapbox plot in plotly - If provided geodata are not real geo-coordinates in lon/lat form, on_map will be set to False. + **colors_dict** (dict, None) - by default 6 basic colors from default collor palette is used. + Otherwise, user can define a dictionary in the form: voltage_kv : color - **projection** (String, None) - defines a projection from which network geo-data will be transformed to - lat-long. For each projection a string can be found at http://spatialreference.org/ref/epsg/ + **on_map** (bool, False) - enables using mapbox plot in plotly. If provided geodata are not + real geo-coordinates in lon/lat form, on_map will be set to False. - **map_style** (str, 'basic') - enables using mapbox plot in plotly + **projection** (String, None) - defines a projection from which network geo-data will be transformed to + lat-long. For each projection a string can be found at http://spatialreference.org/ref/epsg/ + + **map_style** (str, 'basic') - enables using mapbox plot in plotly - 'streets' - 'bright' @@ -54,31 +54,32 @@ def pf_res_plotly(net, cmap="Jet", use_line_geodata=None, on_map=False, projecti - 'dark' - 'satellite' - **figsize** (float, 1) - aspectratio is multiplied by it in order to get final image size + **figsize** (float, 1) - aspectratio is multiplied by it in order to get final image size - **aspectratio** (tuple, 'auto') - when 'auto' it preserves original aspect ratio of the network geodata - any custom aspectration can be given as a tuple, e.g. (1.2, 1) + **aspectratio** (tuple, 'auto') - when 'auto' it preserves original aspect ratio of the network geodata + any custom aspectration can be given as a tuple, e.g. (1.2, 1) - **line_width** (float, 1.0) - width of lines + **line_width** (float, 1.0) - width of lines - **bus_size** (float, 10.0) - size of buses to plot. + **bus_size** (float, 10.0) - size of buses to plot. - **climits_volt** (tuple, (0.9, 1.0)) - limits of the colorbar for voltage + **climits_volt** (tuple, (0.9, 1.0)) - limits of the colorbar for voltage - **climits_load** (tuple, (0, 100)) - limits of the colorbar for line_loading + **climits_load** (tuple, (0, 100)) - limits of the colorbar for line_loading - **cpos_volt** (float, 1.0) - position of the bus voltage colorbar + **cpos_volt** (float, 1.0) - position of the bus voltage colorbar - **cpos_load** (float, 1.1) - position of the loading percent colorbar + **cpos_load** (float, 1.1) - position of the loading percent colorbar - **filename** (str, "temp-plot.html") - filename / path to plot to. Should end on *.html + **filename** (str, "temp-plot.html") - filename / path to plot to. Should end on *.html - **auto_open** (bool, True) - automatically open plot in browser + **auto_open** (bool, True) - automatically open plot in browser - OUTPUT: - **figure** (graph_objs._figure.Figure) figure object + OUTPUT: + **figure** (graph_objs._figure.Figure) figure object """ + version_check() if 'res_bus' not in net or net.get('res_bus').shape[0] == 0: logger.warning('There are no Power Flow results. A Newton-Raphson power flow will be executed.') diff --git a/pandapower/plotting/simple_plot.py b/pandapower/plotting/simple_plot.py index 5127212fa..3ec409726 100644 --- a/pandapower/plotting/simple_plot.py +++ b/pandapower/plotting/simple_plot.py @@ -27,72 +27,66 @@ def simple_plot(net, respect_switches=False, line_width=1.0, bus_size=1.0, ext_g bus_color="b", line_color='grey', trafo_color='k', ext_grid_color='y', switch_color='k', library="igraph", show_plot=True, ax=None): """ - Plots a pandapower network as simple as possible. If no geodata is available, artificial - geodata is generated. For advanced plotting see the tutorial + Plots a pandapower network as simple as possible. If no geodata is available, artificial + geodata is generated. For advanced plotting see the tutorial - INPUT: - **net** - The pandapower format network. + INPUT: + **net** - The pandapower format network. - OPTIONAL: - **respect_switches** (bool, False) - Respect switches if artificial geodata is created. - - .. note:: + OPTIONAL: + **respect_switches** (bool, False) - Respect switches if artificial geodata is created. This Flag is ignored if plot_line_switches is True - **line_width** (float, 1.0) - width of lines - - **bus_size** (float, 1.0) - Relative size of buses to plot. - - The value bus_size is multiplied with mean_distance_between_buses, which equals the - distance between - the max geoocord and the min divided by 200. - mean_distance_between_buses = sum((net['bus_geodata'].max() - - net['bus_geodata'].min()) / 200) + **line_width** (float, 1.0) - width of lines - **ext_grid_size** (float, 1.0) - Relative size of ext_grids to plot. + **bus_size** (float, 1.0) - Relative size of buses to plot. + The value bus_size is multiplied with mean_distance_between_buses, which equals the + distance between + the max geoocord and the min divided by 200. + mean_distance_between_buses = sum((net['bus_geodata'].max() - net['bus_geodata'].min()) / 200) - See bus sizes for details. Note: ext_grids are plottet as rectangles + **ext_grid_size** (float, 1.0) - Relative size of ext_grids to plot. See bus sizes for details. + Note: ext_grids are plottet as rectangles - **trafo_size** (float, 1.0) - Relative size of trafos to plot. + **trafo_size** (float, 1.0) - Relative size of trafos to plot. - **plot_loads** (bool, False) - Flag to decide whether load symbols should be drawn. + **plot_loads** (bool, False) - Flag to decide whether load symbols should be drawn. - **plot_sgens** (bool, False) - Flag to decide whether sgen symbols should be drawn. + **plot_sgens** (bool, False) - Flag to decide whether sgen symbols should be drawn. - **load_size** (float, 1.0) - Relative size of loads to plot. + **load_size** (float, 1.0) - Relative size of loads to plot. - **sgen_size** (float, 1.0) - Relative size of sgens to plot. + **sgen_size** (float, 1.0) - Relative size of sgens to plot. - **switch_size** (float, 2.0) - Relative size of switches to plot. See bus size for details + **switch_size** (float, 2.0) - Relative size of switches to plot. See bus size for details - **switch_distance** (float, 1.0) - Relative distance of the switch to its corresponding \ - bus. See bus size for details + **switch_distance** (float, 1.0) - Relative distance of the switch to its corresponding \ + bus. See bus size for details - **plot_line_switches** (bool, False) - Flag if line switches are plotted + **plot_line_switches** (bool, False) - Flag if line switches are plotted - **scale_size** (bool, True) - Flag if bus_size, ext_grid_size, bus_size- and distance \ - will be scaled with respect to grid mean distances + **scale_size** (bool, True) - Flag if bus_size, ext_grid_size, bus_size- and distance \ + will be scaled with respect to grid mean distances - **bus_color** (String, colors[0]) - Bus Color. Init as first value of color palette. - Usually colors[0] = "b". + **bus_color** (String, colors[0]) - Bus Color. Init as first value of color palette. Usually colors[0] = "b". - **line_color** (String, 'grey') - Line Color. Init is grey + **line_color** (String, 'grey') - Line Color. Init is grey - **trafo_color** (String, 'k') - Trafo Color. Init is black + **trafo_color** (String, 'k') - Trafo Color. Init is black - **ext_grid_color** (String, 'y') - External Grid Color. Init is yellow + **ext_grid_color** (String, 'y') - External Grid Color. Init is yellow - **switch_color** (String, 'k') - Switch Color. Init is black + **switch_color** (String, 'k') - Switch Color. Init is black - **library** (String, "igraph") - library name to create generic coordinates (case of - missing geodata). "igraph" to use igraph package or "networkx" to use networkx package. + **library** (String, "igraph") - library name to create generic coordinates (case of + missing geodata). "igraph" to use igraph package or "networkx" to use networkx package. - **show_plot** (bool, True) - Shows plot at the end of plotting + **show_plot** (bool, True) - Shows plot at the end of plotting - **ax** (object, None) - matplotlib axis to plot to + **ax** (object, None) - matplotlib axis to plot to - OUTPUT: - **ax** - axes of figure + OUTPUT: + **ax** - axes of figure """ # don't hide lines if switches are plotted if plot_line_switches: diff --git a/pandapower/run.py b/pandapower/run.py index a2bb72e4b..ab8b6bc2d 100644 --- a/pandapower/run.py +++ b/pandapower/run.py @@ -157,7 +157,7 @@ def runpp(net, algorithm='nr', calculate_voltage_angles="auto", init="auto", and generators. - **KWARGS: + **KWARGS**: **numba** (bool, True) - Activation of numba JIT compiler in the newton solver @@ -233,35 +233,35 @@ def runpp(net, algorithm='nr', calculate_voltage_angles="auto", init="auto", def rundcpp(net, trafo_model="t", trafo_loading="current", recycle=None, check_connectivity=True, switch_rx_ratio=2, trafo3w_losses="hv", **kwargs): """ - Runs PANDAPOWER DC Flow + Runs PANDAPOWER DC Flow - INPUT: - **net** - The pandapower format network + INPUT: + **net** - The pandapower format network - OPTIONAL: - **trafo_model** (str, "t") - transformer equivalent circuit model - pandapower provides two equivalent circuit models for the transformer: + OPTIONAL: + **trafo_model** (str, "t") - transformer equivalent circuit model + pandapower provides two equivalent circuit models for the transformer: - "t" - transformer is modeled as equivalent with the T-model. This is consistent with PowerFactory and is also more accurate than the PI-model. We recommend using this transformer model. - "pi" - transformer is modeled as equivalent PI-model. This is consistent with Sincal, but the method is questionable since the transformer is physically T-shaped. We therefore recommend the use of the T-model. - **trafo_loading** (str, "current") - mode of calculation for transformer loading + **trafo_loading** (str, "current") - mode of calculation for transformer loading Transformer loading can be calculated relative to the rated current or the rated power. In both cases the overall transformer loading is defined as the maximum loading on the two sides of the transformer. - "current"- transformer loading is given as ratio of current flow and rated current of the transformer. This is the recommended setting, since thermal as well as magnetic effects in the transformer depend on the current. - "power" - transformer loading is given as ratio of apparent power flow to the rated apparent power of the transformer. - **check_connectivity** (bool, False) - Perform an extra connectivity test after the conversion from pandapower to PYPOWER + **check_connectivity** (bool, False) - Perform an extra connectivity test after the conversion from pandapower to PYPOWER If true, an extra connectivity test based on SciPy Compressed Sparse Graph Routines is perfomed. If check finds unsupplied buses, they are put out of service in the PYPOWER matrix - **switch_rx_ratio** (float, 2) - rx_ratio of bus-bus-switches. If impedance is zero, buses connected by a closed bus-bus switch are fused to model an ideal bus. Otherwise, they are modelled as branches with resistance defined as z_ohm column in switch table and this parameter + **switch_rx_ratio** (float, 2) - rx_ratio of bus-bus-switches. If impedance is zero, buses connected by a closed bus-bus switch are fused to model an ideal bus. Otherwise, they are modelled as branches with resistance defined as z_ohm column in switch table and this parameter - **trafo3w_losses** (str, "hv") - defines where open loop losses of three-winding transformers are considered. Valid options are "hv", "mv", "lv" for HV/MV/LV side or "star" for the star point. + **trafo3w_losses** (str, "hv") - defines where open loop losses of three-winding transformers are considered. Valid options are "hv", "mv", "lv" for HV/MV/LV side or "star" for the star point. - ****kwargs** - options to use for PYPOWER.runpf + **kwargs** - options to use for PYPOWER.runpf """ _init_rundcpp_options(net, trafo_model=trafo_model, trafo_loading=trafo_loading, recycle=recycle, check_connectivity=check_connectivity, @@ -276,13 +276,14 @@ def runopp(net, verbose=False, calculate_voltage_angles=True, check_connectivity suppress_warnings=True, switch_rx_ratio=2, delta=1e-10, init="flat", numba=True, trafo3w_losses="hv", consider_line_temperature=False, **kwargs): """ - Runs the pandapower Optimal Power Flow. - Flexibilities, constraints and cost parameters are defined in the pandapower element tables. + Runs the pandapower Optimal Power Flow. + Flexibilities, constraints and cost parameters are defined in the pandapower element tables. + + Flexibilities can be defined in net.sgen / net.gen /net.load / net.storage /net.ext_grid + net.sgen.controllable if a static generator is controllable. If False, + the active and reactive power are assigned as in a normal power flow. If True, the following + flexibilities apply: - Flexibilities can be defined in net.sgen / net.gen /net.load / net.storage /net.ext_grid - net.sgen.controllable if a static generator is controllable. If False, - the active and reactive power are assigned as in a normal power flow. If True, the following - flexibilities apply: - net.gen.min_p_mw / net.gen.max_p_mw - net.gen.min_q_mvar / net.gen.max_q_mvar - net.sgen.min_p_mw / net.sgen.max_p_mw @@ -296,60 +297,60 @@ def runopp(net, verbose=False, calculate_voltage_angles=True, check_connectivity - net.storage.min_p_mw / net.storage.max_p_mw - net.storage.min_q_mvar / net.storage.max_q_mvar - Controllable loads behave just like controllable static generators. It must be stated if they are controllable. - Otherwise, they are not respected as flexibilities. - Dc lines are controllable per default + Controllable loads behave just like controllable static generators. It must be stated if they are controllable. + Otherwise, they are not respected as flexibilities. + Dc lines are controllable per default + + Network constraints can be defined for buses, lines and transformers the elements in the following columns: - Network constraints can be defined for buses, lines and transformers the elements in the following columns: - net.bus.min_vm_pu / net.bus.max_vm_pu - net.line.max_loading_percent - net.trafo.max_loading_percent - net.trafo3w.max_loading_percent - If the external grid ist controllable, the voltage setpoint of the external grid can be optimized within the - voltage constraints by the OPF. The same applies to the voltage setpoints of the controllable generator elements. + If the external grid ist controllable, the voltage setpoint of the external grid can be optimized within the + voltage constraints by the OPF. The same applies to the voltage setpoints of the controllable generator elements. - How these costs are combined into a cost function depends on the cost_function parameter. + How these costs are combined into a cost function depends on the cost_function parameter. - INPUT: - **net** - The pandapower format network + INPUT: + **net** - The pandapower format network - OPTIONAL: - **verbose** (bool, False) - If True, some basic information is printed + OPTIONAL: + **verbose** (bool, False) - If True, some basic information is printed - **suppress_warnings** (bool, True) - suppress warnings in pypower + **suppress_warnings** (bool, True) - suppress warnings in pypower - If set to True, warnings are disabled during the loadflow. Because of the way data is - processed in pypower, ComplexWarnings are raised during the loadflow. - These warnings are suppressed by this option, however keep in mind all other pypower - warnings are suppressed, too. - - **init** (str, "flat") - init of starting opf vector. Options are "flat" or "pf" + If set to True, warnings are disabled during the loadflow. Because of the way data is + processed in pypower, ComplexWarnings are raised during the loadflow. + These warnings are suppressed by this option, however keep in mind all other pypower + warnings are suppressed, too. - Starting solution vector (x0) for opf calculations is determined by this flag. Options are: - "flat" (default): starting vector is (upper bound - lower bound) / 2 - "pf": a power flow is executed prior to the opf and the pf solution is the starting vector. This may improve - convergence, but takes a longer runtime (which are probably neglectible for opf calculations) + **init** (str, "flat") - init of starting opf vector. Options are "flat" or "pf" - **delta** (float, 1e-10) - power tolerance + Starting solution vector (x0) for opf calculations is determined by this flag. Options are: + "flat" (default): starting vector is (upper bound - lower bound) / 2 + "pf": a power flow is executed prior to the opf and the pf solution is the starting vector. This may improve + convergence, but takes a longer runtime (which are probably neglectible for opf calculations) - **trafo3w_losses** (str, "hv") - defines where open loop losses of three-winding transformers are considered. Valid options are "hv", "mv", "lv" for HV/MV/LV side or "star" for the star point. + **delta** (float, 1e-10) - power tolerance - **consider_line_temperature** (bool, False) - adjustment of line impedance based on provided\ - line temperature. If True, net.line must contain a column "temperature_degree_celsius".\ - The temperature dependency coefficient alpha must be provided in the net.line.alpha\ - column, otherwise the default value of 0.004 is used + **trafo3w_losses** (str, "hv") - defines where open loop losses of three-winding transformers are considered. Valid options are "hv", "mv", "lv" for HV/MV/LV side or "star" for the star point. - **kwargs** - Pypower / Matpower keyword arguments: + **consider_line_temperature** (bool, False) - adjustment of line impedance based on provided\ + line temperature. If True, net.line must contain a column "temperature_degree_celsius".\ + The temperature dependency coefficient alpha must be provided in the net.line.alpha\ + column, otherwise the default value of 0.004 is used - - OPF_VIOLATION (5e-6) constraint violation tolerance - - PDIPM_COSTTOL (1e-6) optimality tolerance - - PDIPM_GRADTOL (1e-6) gradient tolerance - - PDIPM_COMPTOL (1e-6) complementarity condition (inequality) tolerance - - PDIPM_FEASTOL (set to OPF_VIOLATION if not specified) feasibiliy (equality) tolerance - - PDIPM_MAX_IT (150) maximum number of iterations - - SCPDIPM_RED_IT(20) maximum number of step size reductions per iteration + **kwargs** - Pypower / Matpower keyword arguments: + - OPF_VIOLATION (5e-6) constraint violation tolerance + - PDIPM_COSTTOL (1e-6) optimality tolerance + - PDIPM_GRADTOL (1e-6) gradient tolerance + - PDIPM_COMPTOL (1e-6) complementarity condition (inequality) tolerance + - PDIPM_FEASTOL (set to OPF_VIOLATION if not specified) feasibiliy (equality) tolerance + - PDIPM_MAX_IT (150) maximum number of iterations + - SCPDIPM_RED_IT(20) maximum number of step size reductions per iteration """ _check_necessary_opf_parameters(net, logger) _init_runopp_options(net, calculate_voltage_angles=calculate_voltage_angles, diff --git a/pandapower/runpm.py b/pandapower/runpm.py index d1b76b6d6..6121b6790 100644 --- a/pandapower/runpm.py +++ b/pandapower/runpm.py @@ -19,14 +19,15 @@ def runpm(net, julia_file=None, pp_to_pm_callback=None, calculate_voltage_angles pm_mip_solver="cbc", pm_nl_solver="ipopt", pm_time_limits=None, pm_log_level=0, delete_buffer_file=True, pm_file_path = None, opf_flow_lim="S", **kwargs): # pragma: no cover """ - Runs a power system optimization using PowerModels.jl. with a custom julia file. - - Flexibilities, constraints and cost parameters are defined in the pandapower element tables. - - Flexibilities can be defined in net.sgen / net.gen /net.load - net.sgen.controllable if a static generator is controllable. If False, - the active and reactive power are assigned as in a normal power flow. If True, the following - flexibilities apply: + Runs a power system optimization using PowerModels.jl. with a custom julia file. + + Flexibilities, constraints and cost parameters are defined in the pandapower element tables. + + Flexibilities can be defined in net.sgen / net.gen /net.load + net.sgen.controllable if a static generator is controllable. If False, + the active and reactive power are assigned as in a normal power flow. If True, the following + flexibilities apply: + - net.sgen.min_p_mw / net.sgen.max_p_mw - net.sgen.min_q_mvar / net.sgen.max_q_mvar - net.load.min_p_mw / net.load.max_p_mw @@ -37,54 +38,54 @@ def runpm(net, julia_file=None, pp_to_pm_callback=None, calculate_voltage_angles - net.ext_grid.min_q_mvar / net.ext_grid.max_q_mvar - net.dcline.min_q_to_mvar / net.dcline.max_q_to_mvar / net.dcline.min_q_from_mvar / net.dcline.max_q_from_mvar - Controllable loads behave just like controllable static generators. It must be stated if they are controllable. - Otherwise, they are not respected as flexibilities. - Dc lines are controllable per default + Controllable loads behave just like controllable static generators. It must be stated if they are controllable. + Otherwise, they are not respected as flexibilities. + Dc lines are controllable per default + + Network constraints can be defined for buses, lines and transformers the elements in the following columns: - Network constraints can be defined for buses, lines and transformers the elements in the following columns: - net.bus.min_vm_pu / net.bus.max_vm_pu - net.line.max_loading_percent - net.trafo.max_loading_percent - net.trafo3w.max_loading_percent - How these costs are combined into a cost function depends on the cost_function parameter. + How these costs are combined into a cost function depends on the cost_function parameter. - INPUT: - **net** - The pandapower format network + INPUT: + **net** - The pandapower format network - OPTIONAL: - **julia_file** (str, None) - path to a custom julia optimization file + OPTIONAL: + **julia_file** (str, None) - path to a custom julia optimization file - **pp_to_pm_callback** (function, None) - callback function to add data to the PowerModels data structure + **pp_to_pm_callback** (function, None) - callback function to add data to the PowerModels data structure - **correct_pm_network_data** (bool, True) - checks if network data is correct. If not tries to correct it + **correct_pm_network_data** (bool, True) - checks if network data is correct. If not tries to correct it - **pm_model** (str, "ACPPowerModel") - The PowerModels.jl model to use + **pm_model** (str, "ACPPowerModel") - The PowerModels.jl model to use - **pm_solver** (str, "ipopt") - The "main" power models solver + **pm_solver** (str, "ipopt") - The "main" power models solver - **pm_mip_solver** (str, "cbc") - The mixed integer solver (when "main" solver == juniper) + **pm_mip_solver** (str, "cbc") - The mixed integer solver (when "main" solver == juniper) - **pm_nl_solver** (str, "ipopt") - The nonlinear solver (when "main" solver == juniper) + **pm_nl_solver** (str, "ipopt") - The nonlinear solver (when "main" solver == juniper) - **pm_time_limits** (Dict, None) - Time limits in seconds for power models interface. To be set as a dict like - {"pm_time_limit": 300., "pm_nl_time_limit": 300., "pm_mip_time_limit": 300.} - - **pm_log_level** (int, 0) - solver log level in power models + **pm_time_limits** (Dict, None) - Time limits in seconds for power models interface. To be set as a dict like + {"pm_time_limit": 300., "pm_nl_time_limit": 300., "pm_mip_time_limit": 300.} - **delete_buffer_file** (Bool, True) - If True, the .json file used by powermodels will be deleted after - optimization. + **pm_log_level** (int, 0) - solver log level in power models - **pm_file_path** (str, None) - Specifiy the filename, under which the .json file for powermodels is stored. If - you want to keep the file after optimization, you should also set - delete_buffer_file to False! + **delete_buffer_file** (Bool, True) - If True, the .json file used by powermodels will be deleted after + optimization. - **opf_flow_lim** (str, "I") - Quantity to limit for branch flow constraints, in line with matpower's - "opf.flowlim" parameter - "S" - apparent power flow (limit in MVA), - "I" - current magnitude (limit in MVA at 1 p.u. voltage) + **pm_file_path** (str, None) - Specifiy the filename, under which the .json file for powermodels is stored. If + you want to keep the file after optimization, you should also set + delete_buffer_file to False! - """ + **opf_flow_lim** (str, "I") - Quantity to limit for branch flow constraints, in line with matpower's + "opf.flowlim" parameter + "S" - apparent power flow (limit in MVA), + "I" - current magnitude (limit in MVA at 1 p.u. voltage) + """ net._options = {} ac = True if "DC" not in pm_model else False julia_file = os.path.join(pp_dir, "opf", 'run_powermodels.jl') if julia_file is None else julia_file @@ -106,14 +107,15 @@ def runpm_dc_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, correct_pm_network_data=True, pm_model="DCPPowerModel", pm_solver="ipopt", pm_time_limits=None, pm_log_level=0, delete_buffer_file=True, pm_file_path = None, **kwargs): # pragma: no cover """ - Runs a linearized power system optimization using PowerModels.jl. + Runs a linearized power system optimization using PowerModels.jl. - Flexibilities, constraints and cost parameters are defined in the pandapower element tables. + Flexibilities, constraints and cost parameters are defined in the pandapower element tables. + + Flexibilities can be defined in net.sgen / net.gen /net.load + net.sgen.controllable if a static generator is controllable. If False, + the active and reactive power are assigned as in a normal power flow. If True, the following + flexibilities apply: - Flexibilities can be defined in net.sgen / net.gen /net.load - net.sgen.controllable if a static generator is controllable. If False, - the active and reactive power are assigned as in a normal power flow. If True, the following - flexibilities apply: - net.sgen.min_p_mw / net.sgen.max_p_mw - net.sgen.min_q_mvar / net.sgen.max_q_mvar - net.load.min_p_mw / net.load.max_p_mw @@ -124,35 +126,36 @@ def runpm_dc_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, - net.ext_grid.min_q_mvar / net.ext_grid.max_q_mvar - net.dcline.min_q_to_mvar / net.dcline.max_q_to_mvar / net.dcline.min_q_from_mvar / net.dcline.max_q_from_mvar - Controllable loads behave just like controllable static generators. It must be stated if they are controllable. - Otherwise, they are not respected as flexibilities. - Dc lines are controllable per default + Controllable loads behave just like controllable static generators. It must be stated if they are controllable. + Otherwise, they are not respected as flexibilities. + Dc lines are controllable per default + + Network constraints can be defined for buses, lines and transformers the elements in the following columns: - Network constraints can be defined for buses, lines and transformers the elements in the following columns: - net.bus.min_vm_pu / net.bus.max_vm_pu - net.line.max_loading_percent - net.trafo.max_loading_percent - net.trafo3w.max_loading_percent - How these costs are combined into a cost function depends on the cost_function parameter. + How these costs are combined into a cost function depends on the cost_function parameter. - INPUT: - **net** - The pandapower format network + INPUT: + **net** - The pandapower format network - OPTIONAL: - **pp_to_pm_callback** (function, None) - callback function to add data to the PowerModels data structure + OPTIONAL: + **pp_to_pm_callback** (function, None) - callback function to add data to the PowerModels data structure - **pm_model** (str, "DCPPowerModel") - model to use. Default is DC model + **pm_model** (str, "DCPPowerModel") - model to use. Default is DC model - **pm_solver** (str, "ipopt") - The "main" power models solver + **pm_solver** (str, "ipopt") - The "main" power models solver - **correct_pm_network_data** (bool, True) - checks if network data is correct. If not tries to correct it + **correct_pm_network_data** (bool, True) - checks if network data is correct. If not tries to correct it - **pm_time_limits** (Dict, None) - Time limits in seconds for power models interface. To be set as a dict like - {"pm_time_limit": 300.} - - **pm_log_level** (int, 0) - solver log level in power models - """ + **pm_time_limits** (Dict, None) - Time limits in seconds for power models interface. To be set as a dict like + {"pm_time_limit": 300.} + + **pm_log_level** (int, 0) - solver log level in power models + """ julia_file = os.path.join(pp_dir, "opf", 'run_powermodels.jl') ac = True if "DC" not in pm_model else False @@ -175,14 +178,15 @@ def runpm_ac_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, pm_time_limits=None, pm_log_level=0, pm_file_path = None, delete_buffer_file=True, opf_flow_lim="S", tol=1e-8, **kwargs): # pragma: no cover """ - Runs a non-linear power system optimization using PowerModels.jl. + Runs a non-linear power system optimization using PowerModels.jl. - Flexibilities, constraints and cost parameters are defined in the pandapower element tables. + Flexibilities, constraints and cost parameters are defined in the pandapower element tables. + + Flexibilities can be defined in net.sgen / net.gen /net.load + net.sgen.controllable if a static generator is controllable. If False, + the active and reactive power are assigned as in a normal power flow. If True, the following + flexibilities apply: - Flexibilities can be defined in net.sgen / net.gen /net.load - net.sgen.controllable if a static generator is controllable. If False, - the active and reactive power are assigned as in a normal power flow. If True, the following - flexibilities apply: - net.sgen.min_p_mw / net.sgen.max_p_mw - net.sgen.min_q_mvar / net.sgen.max_q_mvar - net.load.min_p_mw / net.load.max_p_mw @@ -193,48 +197,49 @@ def runpm_ac_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, - net.ext_grid.min_q_mvar / net.ext_grid.max_q_mvar - net.dcline.min_q_to_mvar / net.dcline.max_q_to_mvar / net.dcline.min_q_from_mvar / net.dcline.max_q_from_mvar - Controllable loads behave just like controllable static generators. It must be stated if they are controllable. - Otherwise, they are not respected as flexibilities. - Dc lines are controllable per default + Controllable loads behave just like controllable static generators. It must be stated if they are controllable. + Otherwise, they are not respected as flexibilities. + Dc lines are controllable per default + + Network constraints can be defined for buses, lines and transformers the elements in the following columns: - Network constraints can be defined for buses, lines and transformers the elements in the following columns: - net.bus.min_vm_pu / net.bus.max_vm_pu - net.line.max_loading_percent - net.trafo.max_loading_percent - net.trafo3w.max_loading_percent - How these costs are combined into a cost function depends on the cost_function parameter. + How these costs are combined into a cost function depends on the cost_function parameter. - INPUT: - **net** - The pandapower format network + INPUT: + **net** - The pandapower format network - OPTIONAL: + OPTIONAL: + **pp_to_pm_callback** (function, None) - callback function to add data to the PowerModels data structure - **pp_to_pm_callback** (function, None) - callback function to add data to the PowerModels data structure + **pm_model** (str, "ACPPowerModel") - model to use. Default is AC model - **pm_model** (str, "ACPPowerModel") - model to use. Default is AC model + **pm_solver** (str, "ipopt") - default solver to use. If ipopt is not available use Ipopt - **pm_solver** (str, "ipopt") - default solver to use. If ipopt is not available use Ipopt + **correct_pm_network_data** (bool, True) - checks if network data is correct. If not tries to correct it - **correct_pm_network_data** (bool, True) - checks if network data is correct. If not tries to correct it + **pm_time_limits** (Dict, None) - Time limits in seconds for power models interface. To be set as a dict like + {"pm_time_limit": 300.} - **pm_time_limits** (Dict, None) - Time limits in seconds for power models interface. To be set as a dict like - {"pm_time_limit": 300.} + **pm_log_level** (int, 0) - solver log level in power models - **pm_log_level** (int, 0) - solver log level in power models + **opf_flow_lim** (str, "I") - Quantity to limit for branch flow constraints, in line with matpower's + "opf.flowlim" parameter + "S" - apparent power flow (limit in MVA), + "I" - current magnitude (limit in MVA at 1 p.u. voltage) - **opf_flow_lim** (str, "I") - Quantity to limit for branch flow constraints, in line with matpower's - "opf.flowlim" parameter - "S" - apparent power flow (limit in MVA), - "I" - current magnitude (limit in MVA at 1 p.u. voltage) + **delete_buffer_file** (Bool, True) - If True, the .json file used by powermodels will be deleted after + optimization. - **delete_buffer_file** (Bool, True) - If True, the .json file used by powermodels will be deleted after - optimization. + **pm_file_path** (str, None) - Specifiy the filename, under which the .json file for powermodels is stored. If + you want to keep the file after optimization, you should also set + delete_buffer_file to False! + """ - **pm_file_path** (str, None) - Specifiy the filename, under which the .json file for powermodels is stored. If - you want to keep the file after optimization, you should also set - delete_buffer_file to False! - """ julia_file = os.path.join(pp_dir, "opf", 'run_powermodels.jl') ac = True if "DC" not in pm_model else False From 2f084bd42a72c7e7bd16b32cc72f7a01759ffddf Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Thu, 12 Aug 2021 19:01:24 +0200 Subject: [PATCH 170/422] add tol option --- pandapower/runpm.py | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/pandapower/runpm.py b/pandapower/runpm.py index 5a2f851a1..6c96a826e 100644 --- a/pandapower/runpm.py +++ b/pandapower/runpm.py @@ -17,7 +17,7 @@ def runpm(net, julia_file=None, pp_to_pm_callback=None, calculate_voltage_angles trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, correct_pm_network_data=True, pm_model="ACPPowerModel", pm_solver="ipopt", pm_mip_solver="cbc", pm_nl_solver="ipopt", pm_time_limits=None, pm_log_level=0, - delete_buffer_file=True, pm_file_path = None, opf_flow_lim="S", **kwargs): # pragma: no cover + delete_buffer_file=True, pm_file_path = None, opf_flow_lim="S", tol=1e-8, **kwargs): # pragma: no cover """ Runs a power system optimization using PowerModels.jl. with a custom julia file. @@ -98,14 +98,15 @@ def runpm(net, julia_file=None, pp_to_pm_callback=None, calculate_voltage_angles pp_to_pm_callback=pp_to_pm_callback, julia_file=julia_file, pm_solver=pm_solver, pm_model=pm_model, correct_pm_network_data=correct_pm_network_data, pm_mip_solver=pm_mip_solver, pm_nl_solver=pm_nl_solver, pm_time_limits=pm_time_limits, pm_log_level=pm_log_level, - opf_flow_lim=opf_flow_lim) + opf_flow_lim=opf_flow_lim, tol=tol) _runpm(net, delete_buffer_file=delete_buffer_file, pm_file_path = pm_file_path) def runpm_dc_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, correct_pm_network_data=True, pm_model="DCPPowerModel", pm_solver="ipopt", - pm_time_limits=None, pm_log_level=0, delete_buffer_file=True, pm_file_path = None, **kwargs): # pragma: no cover + pm_time_limits=None, pm_log_level=0, delete_buffer_file=True, pm_file_path = None, + tol=1e-8, **kwargs): # pragma: no cover """ Runs a linearized power system optimization using PowerModels.jl. @@ -168,7 +169,7 @@ def runpm_dc_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, _add_opf_options(net, trafo_loading='power', ac=ac, init="flat", numba=True, pp_to_pm_callback=pp_to_pm_callback, julia_file=julia_file, correct_pm_network_data=correct_pm_network_data, pm_model=pm_model, pm_solver=pm_solver, - pm_time_limits=pm_time_limits, pm_log_level=pm_log_level, opf_flow_lim="S") + pm_time_limits=pm_time_limits, pm_log_level=pm_log_level, opf_flow_lim="S", tol=tol) _runpm(net, delete_buffer_file, pm_file_path) @@ -260,7 +261,7 @@ def runpm_tnep(net, pp_to_pm_callback=None, calculate_voltage_angles=True, trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, pm_model="DCPPowerModel", pm_solver=None, correct_pm_network_data=True, pm_nl_solver="ipopt", pm_mip_solver="cbc", pm_time_limits=None, pm_log_level=0, - opf_flow_lim="S", **kwargs): # pragma: no cover + opf_flow_lim="S", tol=1e-8, **kwargs): # pragma: no cover """ Runs a non-linear transmission network extension planning (tnep) optimization using PowerModels.jl. OPTIONAL: @@ -295,7 +296,7 @@ def runpm_tnep(net, pp_to_pm_callback=None, calculate_voltage_angles=True, pp_to_pm_callback=pp_to_pm_callback, julia_file=julia_file, pm_model=pm_model, pm_solver=pm_solver, correct_pm_network_data=correct_pm_network_data, pm_nl_solver=pm_nl_solver, pm_mip_solver=pm_mip_solver, pm_time_limits=pm_time_limits, pm_log_level=pm_log_level, - opf_flow_lim=opf_flow_lim) + opf_flow_lim=opf_flow_lim, tol=tol) _runpm(net) read_tnep_results(net) @@ -303,7 +304,7 @@ def runpm_tnep(net, pp_to_pm_callback=None, calculate_voltage_angles=True, def runpm_ots(net, pp_to_pm_callback=None, calculate_voltage_angles=True, trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, pm_model="DCPPowerModel", pm_solver="juniper", pm_nl_solver="ipopt", pm_mip_solver="cbc", - correct_pm_network_data=True, pm_time_limits=None, pm_log_level=0, **kwargs): # pragma: no cover + correct_pm_network_data=True, pm_time_limits=None, pm_log_level=0, tol=1e-8, **kwargs): # pragma: no cover """ Runs a non-linear optimal transmission switching (OTS) optimization using PowerModels.jl. OPTIONAL: @@ -333,7 +334,7 @@ def runpm_ots(net, pp_to_pm_callback=None, calculate_voltage_angles=True, pp_to_pm_callback=pp_to_pm_callback, julia_file=julia_file, pm_model=pm_model, pm_solver=pm_solver, correct_pm_network_data=correct_pm_network_data, pm_mip_solver=pm_mip_solver, pm_nl_solver=pm_nl_solver, pm_time_limits=pm_time_limits, pm_log_level=pm_log_level, - opf_flow_lim="S") + opf_flow_lim="S", tol=tol) _runpm(net) read_ots_results(net) @@ -342,7 +343,7 @@ def runpm_storage_opf(net, calculate_voltage_angles=True, n_timesteps=24, time_elapsed=1.0, correct_pm_network_data=True, pm_model="ACPPowerModel", pm_time_limits=None, pm_log_level=0, opf_flow_lim="S", charge_efficiency=1.0, discharge_efficiency=1.0, - standby_loss=1e-8, p_loss=1e-8, q_loss=1e-8, **kwargs): # pragma: no cover + standby_loss=1e-8, p_loss=1e-8, q_loss=1e-8, tol=1e-8, **kwargs): # pragma: no cover """ Runs a non-linear power system optimization with storages and time series using PowerModels.jl. INPUT: @@ -365,7 +366,7 @@ def runpm_storage_opf(net, calculate_voltage_angles=True, _add_opf_options(net, trafo_loading='power', ac=ac, init="flat", numba=True, pp_to_pm_callback=add_storage_opf_settings, julia_file=julia_file, correct_pm_network_data=correct_pm_network_data, pm_model=pm_model, pm_time_limits=pm_time_limits, - pm_log_level=pm_log_level, opf_flow_lim=opf_flow_lim) + pm_log_level=pm_log_level, opf_flow_lim=opf_flow_lim, tol=tol) net._options["n_time_steps"] = n_timesteps net._options["time_elapsed"] = time_elapsed From 7845babd5161e3bdc073ec03c1f04d51704e11bb Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Thu, 12 Aug 2021 19:55:06 +0200 Subject: [PATCH 171/422] fix tol option --- pandapower/converter/powermodels/to_pm.py | 8 +++--- pandapower/opf/run_powermodels.jl | 15 +---------- pandapower/runpm.py | 33 ++++++++++++++--------- 3 files changed, 26 insertions(+), 30 deletions(-) diff --git a/pandapower/converter/powermodels/to_pm.py b/pandapower/converter/powermodels/to_pm.py index 1abd9cde0..8e9419e5d 100644 --- a/pandapower/converter/powermodels/to_pm.py +++ b/pandapower/converter/powermodels/to_pm.py @@ -29,7 +29,7 @@ def convert_pp_to_pm(net, pm_file_path=None, correct_pm_network_data=True, calculate_voltage_angles=True, ac=True, trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, pp_to_pm_callback=None, pm_model="ACPPowerModel", pm_solver="ipopt", - pm_mip_solver="cbc", pm_nl_solver="ipopt", opf_flow_lim = "S"): + pm_mip_solver="cbc", pm_nl_solver="ipopt", opf_flow_lim = "S", pm_tol=1e-8): """ Converts a pandapower net to a PowerModels.jl datastructure and saves it to a json file INPUT: @@ -43,6 +43,7 @@ def convert_pp_to_pm(net, pm_file_path=None, correct_pm_network_data=True, calcu **pm_solver** (str, "ipopt") - default solver to use. **pm_nl_solver** (str, "ipopt") - default nonlinear solver to use. **pm_mip_solver** (str, "cbc") - default mip solver to use. + **pm_tol** (float, 1e-8) - default desired convergence tolerance for solver to use. **correct_pm_network_data** (bool, True) - checks if network data is correct. If not tries to correct it Returns ------- @@ -59,7 +60,7 @@ def convert_pp_to_pm(net, pm_file_path=None, correct_pm_network_data=True, calcu _add_opf_options(net, trafo_loading='power', ac=ac, init="flat", numba=True, pp_to_pm_callback=pp_to_pm_callback, pm_solver=pm_solver, pm_model=pm_model, correct_pm_network_data=correct_pm_network_data, pm_mip_solver=pm_mip_solver, - pm_nl_solver=pm_nl_solver, opf_flow_lim=opf_flow_lim) + pm_nl_solver=pm_nl_solver, opf_flow_lim=opf_flow_lim, pm_tol=pm_tol) net, pm, ppc, ppci = convert_to_pm_structure(net) buffer_file = dump_pm_json(pm, pm_file_path) @@ -341,7 +342,8 @@ def add_pm_options(pm, net): pm["pm_nl_solver"] = net._options["pm_nl_solver"] if "pm_nl_solver" in net._options else "ipopt" pm["pm_model"] = net._options["pm_model"] if "pm_model" in net._options else "DCPPowerModel" pm["pm_log_level"] = net._options["pm_log_level"] if "pm_log_level" in net._options else 0 - + pm["pm_tol"] = net._options["pm_tol"] if "pm_tol" in net._options else 1e-8 + if "pm_time_limits" in net._options and isinstance(net._options["pm_time_limits"], dict): # write time limits to power models data structure for key, val in net._options["pm_time_limits"].items(): diff --git a/pandapower/opf/run_powermodels.jl b/pandapower/opf/run_powermodels.jl index e52f54c26..2f8cb84f9 100644 --- a/pandapower/opf/run_powermodels.jl +++ b/pandapower/opf/run_powermodels.jl @@ -1,14 +1,12 @@ using PowerModels using .PP2PM -#using Debugger -# include("pp_2_pm.jl") function run_powermodels(json_path) pm = PP2PM.load_pm_from_json(json_path) model = PP2PM.get_model(pm["pm_model"]) # solver = PP2PM.get_solver(pm["pm_solver"], pm["pm_nl_solver"], pm["pm_mip_solver"], - pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"], pm["tol"]) + pm["pm_log_level"], pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"], pm["pm_tol"]) if haskey(pm["branch"]["1"],"c_rating_a") for (key, value) in pm["gen"] @@ -30,9 +28,6 @@ function run_powermodels(json_path) value["qd"] *= 0.01 end - # pm["bus"]["4"]["vmax"] = 1.1 - # pm["bus"]["4"]["vmin"] = 0.9 - result = PowerModels._run_opf_cl(pm, model, solver, setting = Dict("output" => Dict("branch_flows" => true))) else @@ -47,11 +42,3 @@ function run_powermodels(json_path) return result end - -# json_path = "C:/Users/fmeier/pandapower/pandapower/test/opf/case5_clm_matfile_va.json" -# # #@enter run_powermodels(json_path) -# # -# result = run_powermodels(json_path) -# println(result["termination_status"] == LOCALLY_SOLVED) -# println(isapprox(result["objective"], 17015.5; atol = 1e0)) -# mit eingeschränkter slack spannung: 17082.819507648066 diff --git a/pandapower/runpm.py b/pandapower/runpm.py index 6c96a826e..25089de0a 100644 --- a/pandapower/runpm.py +++ b/pandapower/runpm.py @@ -17,7 +17,7 @@ def runpm(net, julia_file=None, pp_to_pm_callback=None, calculate_voltage_angles trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, correct_pm_network_data=True, pm_model="ACPPowerModel", pm_solver="ipopt", pm_mip_solver="cbc", pm_nl_solver="ipopt", pm_time_limits=None, pm_log_level=0, - delete_buffer_file=True, pm_file_path = None, opf_flow_lim="S", tol=1e-8, **kwargs): # pragma: no cover + delete_buffer_file=True, pm_file_path = None, opf_flow_lim="S", pm_tol=1e-8, **kwargs): # pragma: no cover """ Runs a power system optimization using PowerModels.jl. with a custom julia file. @@ -85,6 +85,8 @@ def runpm(net, julia_file=None, pp_to_pm_callback=None, calculate_voltage_angles "opf.flowlim" parameter "S" - apparent power flow (limit in MVA), "I" - current magnitude (limit in MVA at 1 p.u. voltage) + + **pm_tol** (float, 1e-8) - default desired convergence tolerance for solver to use. """ net._options = {} ac = True if "DC" not in pm_model else False @@ -98,7 +100,7 @@ def runpm(net, julia_file=None, pp_to_pm_callback=None, calculate_voltage_angles pp_to_pm_callback=pp_to_pm_callback, julia_file=julia_file, pm_solver=pm_solver, pm_model=pm_model, correct_pm_network_data=correct_pm_network_data, pm_mip_solver=pm_mip_solver, pm_nl_solver=pm_nl_solver, pm_time_limits=pm_time_limits, pm_log_level=pm_log_level, - opf_flow_lim=opf_flow_lim, tol=tol) + opf_flow_lim=opf_flow_lim, pm_tol=pm_tol) _runpm(net, delete_buffer_file=delete_buffer_file, pm_file_path = pm_file_path) @@ -106,7 +108,7 @@ def runpm_dc_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, correct_pm_network_data=True, pm_model="DCPPowerModel", pm_solver="ipopt", pm_time_limits=None, pm_log_level=0, delete_buffer_file=True, pm_file_path = None, - tol=1e-8, **kwargs): # pragma: no cover + pm_tol=1e-8, **kwargs): # pragma: no cover """ Runs a linearized power system optimization using PowerModels.jl. @@ -156,6 +158,7 @@ def runpm_dc_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, {"pm_time_limit": 300.} **pm_log_level** (int, 0) - solver log level in power models + **pm_tol** (float, 1e-8) - default desired convergence tolerance for solver to use. """ julia_file = os.path.join(pp_dir, "opf", 'run_powermodels.jl') ac = True if "DC" not in pm_model else False @@ -169,7 +172,7 @@ def runpm_dc_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, _add_opf_options(net, trafo_loading='power', ac=ac, init="flat", numba=True, pp_to_pm_callback=pp_to_pm_callback, julia_file=julia_file, correct_pm_network_data=correct_pm_network_data, pm_model=pm_model, pm_solver=pm_solver, - pm_time_limits=pm_time_limits, pm_log_level=pm_log_level, opf_flow_lim="S", tol=tol) + pm_time_limits=pm_time_limits, pm_log_level=pm_log_level, opf_flow_lim="S", pm_tol=pm_tol) _runpm(net, delete_buffer_file, pm_file_path) @@ -177,7 +180,7 @@ def runpm_ac_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, pm_model="ACPPowerModel", pm_solver="ipopt", correct_pm_network_data=True, pm_time_limits=None, pm_log_level=0, pm_file_path = None, delete_buffer_file=True, - opf_flow_lim="S", tol=1e-8, **kwargs): # pragma: no cover + opf_flow_lim="S", pm_tol=1e-8, **kwargs): # pragma: no cover """ Runs a non-linear power system optimization using PowerModels.jl. @@ -250,10 +253,12 @@ def runpm_ac_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, mode="opf", switch_rx_ratio=2, init_vm_pu="flat", init_va_degree="flat", enforce_q_lims=True, recycle=dict(_is_elements=False, ppc=False, Ybus=False), voltage_depend_loads=False, delta=delta, trafo3w_losses=trafo3w_losses) + _add_opf_options(net, trafo_loading='power', ac=ac, init="flat", numba=True, pp_to_pm_callback=pp_to_pm_callback, julia_file=julia_file, pm_model=pm_model, pm_solver=pm_solver, correct_pm_network_data=correct_pm_network_data, pm_time_limits=pm_time_limits, - pm_log_level=pm_log_level, opf_flow_lim=opf_flow_lim, tol=tol) + pm_log_level=pm_log_level, opf_flow_lim=opf_flow_lim, pm_tol=pm_tol) + _runpm(net, pm_file_path=pm_file_path, delete_buffer_file=delete_buffer_file) @@ -261,7 +266,7 @@ def runpm_tnep(net, pp_to_pm_callback=None, calculate_voltage_angles=True, trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, pm_model="DCPPowerModel", pm_solver=None, correct_pm_network_data=True, pm_nl_solver="ipopt", pm_mip_solver="cbc", pm_time_limits=None, pm_log_level=0, - opf_flow_lim="S", tol=1e-8, **kwargs): # pragma: no cover + opf_flow_lim="S", pm_tol=1e-8, **kwargs): # pragma: no cover """ Runs a non-linear transmission network extension planning (tnep) optimization using PowerModels.jl. OPTIONAL: @@ -274,7 +279,8 @@ def runpm_tnep(net, pp_to_pm_callback=None, calculate_voltage_angles=True, **pm_nl_solver** (str, "ipopt") - The nonlinear solver (when "main" solver == juniper) **pm_time_limits** (Dict, None) - Time limits in seconds for power models interface. To be set as a dict like {"pm_time_limit": 300., "pm_nl_time_limit": 300., "pm_mip_time_limit": 300.} - **pm_log_level** (int, 0) - solver log level in power models + **pm_log_level** (int, 0) - solver log level in power model + **pm_tol** (float, 1e-8) - default desired convergence tolerance for solver to use. """ julia_file = os.path.join(pp_dir, "opf", 'run_powermodels_tnep.jl') ac = True if "DC" not in pm_model else False @@ -296,7 +302,7 @@ def runpm_tnep(net, pp_to_pm_callback=None, calculate_voltage_angles=True, pp_to_pm_callback=pp_to_pm_callback, julia_file=julia_file, pm_model=pm_model, pm_solver=pm_solver, correct_pm_network_data=correct_pm_network_data, pm_nl_solver=pm_nl_solver, pm_mip_solver=pm_mip_solver, pm_time_limits=pm_time_limits, pm_log_level=pm_log_level, - opf_flow_lim=opf_flow_lim, tol=tol) + opf_flow_lim=opf_flow_lim, pm_tol=pm_tol) _runpm(net) read_tnep_results(net) @@ -304,7 +310,7 @@ def runpm_tnep(net, pp_to_pm_callback=None, calculate_voltage_angles=True, def runpm_ots(net, pp_to_pm_callback=None, calculate_voltage_angles=True, trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, pm_model="DCPPowerModel", pm_solver="juniper", pm_nl_solver="ipopt", pm_mip_solver="cbc", - correct_pm_network_data=True, pm_time_limits=None, pm_log_level=0, tol=1e-8, **kwargs): # pragma: no cover + correct_pm_network_data=True, pm_time_limits=None, pm_log_level=0, pm_tol=1e-8, **kwargs): # pragma: no cover """ Runs a non-linear optimal transmission switching (OTS) optimization using PowerModels.jl. OPTIONAL: @@ -318,6 +324,7 @@ def runpm_ots(net, pp_to_pm_callback=None, calculate_voltage_angles=True, **pm_time_limits** (Dict, None) - Time limits in seconds for power models interface. To be set as a dict like {"pm_time_limit": 300., "pm_nl_time_limit": 300., "pm_mip_time_limit": 300.} **pm_log_level** (int, 0) - solver log level in power models + **pm_tol** (float, 1e-8) - default desired convergence tolerance for solver to use. """ julia_file = os.path.join(pp_dir, "opf", 'run_powermodels_ots.jl') ac = True if "DC" not in pm_model else False @@ -334,7 +341,7 @@ def runpm_ots(net, pp_to_pm_callback=None, calculate_voltage_angles=True, pp_to_pm_callback=pp_to_pm_callback, julia_file=julia_file, pm_model=pm_model, pm_solver=pm_solver, correct_pm_network_data=correct_pm_network_data, pm_mip_solver=pm_mip_solver, pm_nl_solver=pm_nl_solver, pm_time_limits=pm_time_limits, pm_log_level=pm_log_level, - opf_flow_lim="S", tol=tol) + opf_flow_lim="S", pm_tol=pm_tol) _runpm(net) read_ots_results(net) @@ -343,7 +350,7 @@ def runpm_storage_opf(net, calculate_voltage_angles=True, n_timesteps=24, time_elapsed=1.0, correct_pm_network_data=True, pm_model="ACPPowerModel", pm_time_limits=None, pm_log_level=0, opf_flow_lim="S", charge_efficiency=1.0, discharge_efficiency=1.0, - standby_loss=1e-8, p_loss=1e-8, q_loss=1e-8, tol=1e-8, **kwargs): # pragma: no cover + standby_loss=1e-8, p_loss=1e-8, q_loss=1e-8, pm_tol=1e-8, **kwargs): # pragma: no cover """ Runs a non-linear power system optimization with storages and time series using PowerModels.jl. INPUT: @@ -366,7 +373,7 @@ def runpm_storage_opf(net, calculate_voltage_angles=True, _add_opf_options(net, trafo_loading='power', ac=ac, init="flat", numba=True, pp_to_pm_callback=add_storage_opf_settings, julia_file=julia_file, correct_pm_network_data=correct_pm_network_data, pm_model=pm_model, pm_time_limits=pm_time_limits, - pm_log_level=pm_log_level, opf_flow_lim=opf_flow_lim, tol=tol) + pm_log_level=pm_log_level, opf_flow_lim=opf_flow_lim, pm_tol=pm_tol) net._options["n_time_steps"] = n_timesteps net._options["time_elapsed"] = time_elapsed From 20a265485ac379ba81a0b5e745d265cbf65d31a2 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Thu, 12 Aug 2021 19:56:26 +0200 Subject: [PATCH 172/422] xfail: direct pm pf --- pandapower/test/opf/test_powermodels.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pandapower/test/opf/test_powermodels.py b/pandapower/test/opf/test_powermodels.py index caffaf011..69bbd1421 100644 --- a/pandapower/test/opf/test_powermodels.py +++ b/pandapower/test/opf/test_powermodels.py @@ -448,6 +448,7 @@ def test_ots_opt2(): assert np.array_equal(np.array([0, 1, 1, 1, 1, 0]).astype(bool), branch_status.astype(bool)) +@pytest.mark.xfail() @pytest.mark.skipif(julia_installed == False, reason="requires julia installation") def test_runpm_dc_pf(): net = nw.simple_four_bus_system() @@ -462,7 +463,7 @@ def test_runpm_dc_pf(): assert np.allclose(va_pm, va_pp) - +@pytest.mark.xfail() @pytest.mark.skipif(julia_installed == False, reason="requires julia installation") def test_runpm_ac_pf(): net = nw.simple_four_bus_system() From 85c6ac6f10071d0aa875bf1dd56ed9216ae536e4 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Thu, 12 Aug 2021 20:17:30 +0200 Subject: [PATCH 173/422] delete extra files --- tutorials/mary_mns_test.py | 119 ------------------------------------- tutorials/mary_test.py | 82 ------------------------- 2 files changed, 201 deletions(-) delete mode 100644 tutorials/mary_mns_test.py delete mode 100644 tutorials/mary_test.py diff --git a/tutorials/mary_mns_test.py b/tutorials/mary_mns_test.py deleted file mode 100644 index 9f5670d59..000000000 --- a/tutorials/mary_mns_test.py +++ /dev/null @@ -1,119 +0,0 @@ -# -*- coding: utf-8 -*- -""" -Created on Tue May 25 10:02:21 2021 - -@author: x230 -""" -import json -import os -import tempfile - -import matplotlib.pyplot as plt -import numpy as np -import pandas as pd - -import pandapower as pp -import pandapower.networks as nw - - -net = nw.create_cigre_network_mv("pv_wind") -# set some limits -min_vm_pu = 0.95 -max_vm_pu = 1.05 - -net["bus"].loc[:, "min_vm_pu"] = min_vm_pu -net["bus"].loc[:, "max_vm_pu"] = max_vm_pu - -net["line"].loc[:, "max_loading_percent"] = 100. - -# close all switches -net.switch.loc[:, "closed"] = True -# add storage to bus 10 -pp.create_storage(net, 10, p_mw=0.5, max_e_mwh=.2, soc_percent=0., q_mvar=0., controllable=True) - - -# set the load type in the cigre grid, since it is not specified -net["load"].loc[:, "type"] = "residential" -# change the type of the last sgen to wind -net.sgen.loc[:, "type"] = "pv" -net.sgen.loc[8, "type"] = "wind" - -# read the example time series -input_file = "cigre_timeseries_15min.json" -time_series = pd.read_json(input_file) -time_series.sort_index(inplace=True) -# this example time series has a 15min resolution with 96 time steps for one day -n_timesteps = time_series.shape[0] - -n_load = len(net.load) -n_sgen = len(net.sgen) -p_timeseries = np.zeros((n_timesteps, n_load + n_sgen), dtype=float) -# p -load_p = net["load"].loc[:, "p_mw"].values -sgen_p = net["sgen"].loc[:7, "p_mw"].values -wind_p = net["sgen"].loc[8, "p_mw"] - -p_timeseries_dict = dict() -for t in range(n_timesteps): - # print(time_series.at[t, "residential"]) - p_timeseries[t, :n_load] = load_p * time_series.at[t, "residential"] - p_timeseries[t, n_load:-1] = - sgen_p * time_series.at[t, "pv"] - p_timeseries[t, -1] = - wind_p * time_series.at[t, "wind"] - p_timeseries_dict[t] = p_timeseries[t, :].tolist() - -time_series_file = os.path.join(tempfile.gettempdir(), "timeseries.json") -with open(time_series_file, 'w') as fp: - json.dump(p_timeseries_dict, fp) - - -storage_results = pp.runpm_storage_opf(net, n_timesteps=96, time_elapsed=0.25) - -# storage_results = pp.runpm_storage_opf(net, calculate_voltage_angles=True, -# trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, -# n_timesteps=24, time_elapsed=1.0, correct_pm_network_data=True, -# pm_model="ACPPowerModel", pm_time_limits=None, pm_log_level=0, opf_flow_lim="S") - -# def store_results(storage_results, grid_name): -# for key, val in storage_results.items(): -# file = grid_name + "_strg_res" + str(key) + ".json" -# print("Storing results to file {}".format(file)) -# print(val) -# val.to_json(file) -# # store the results to disk optionally -# store_results(storage_results, "cigre_ts") - - -# def plot_storage_results(storage_results): -# n_res = len(storage_results.keys()) -# fig, axes = plt.subplots(n_res, 2) -# if n_res == 1: -# axes = [axes] -# for i, (key, val) in enumerate(storage_results.items()): -# res = val -# axes[i][0].set_title("Storage {}".format(key)) -# el = res.loc[:, ["p_mw", "q_mvar", "soc_mwh"]] -# el.plot(ax=axes[i][0]) -# axes[i][0].set_xlabel("time step") -# axes[i][0].legend(loc=4) -# axes[i][0].grid() -# ax2 = axes[i][1] -# patch = plt.plot([], [], ms=8, ls="--", mec=None, color="grey", label="{:s}".format("soc_percent")) -# ax2.legend(handles=patch) -# ax2.set_label("SOC percent") -# res.loc[:, "soc_percent"].plot(ax=ax2, linestyle="--", color="grey") -# ax2.grid() - -# plt.show() -# # plot the result -# plot_storage_results(storage_results) - - - -# import pandapower as pp -# import pandapower.networks as nw -# net = nw.case5() -# pp.create_storage(net, 2, p_mw=1., max_e_mwh=.2, soc_percent=100., q_mvar=1.) -# pp.create_storage(net, 3, p_mw=1., max_e_mwh=.3, soc_percent=100., q_mvar=1.) - -# # optimize for 24 time steps. At the end the SOC is 0% -# storage_results = pp.runpm_storage_opf(net, n_timesteps=24) \ No newline at end of file diff --git a/tutorials/mary_test.py b/tutorials/mary_test.py deleted file mode 100644 index c8e0aceed..000000000 --- a/tutorials/mary_test.py +++ /dev/null @@ -1,82 +0,0 @@ -from pandapower.converter.powermodels.to_pm import convert_pp_to_pm - -import json -import os -import tempfile -import matplotlib.pyplot as plt -import numpy as np -import pandas as pd -import pandapower as pp -import pandapower.networks as nw -from pandapower.control.controller.const_control import ConstControl -from pandapower.timeseries.data_sources.frame_data import DFData - -from timeseries.run_profile_cython.run_cython import profiles_from_ds - -net = nw.create_cigre_network_mv("pv_wind") -pp.runpp(net) -# set some limits -min_vm_pu = 0.95 -max_vm_pu = 1.05 - -net["bus"].loc[:, "min_vm_pu"] = 0.9 -net["bus"].loc[:, "max_vm_pu"] = 1.1 - -net["line"].loc[:, "max_loading_percent"] = 100. - -# close all switches -net.switch.loc[:, "closed"] = True -# add storage to bus 10 -pp.create_storage(net, 10, p_mw=0.5, max_e_mwh=.2, soc_percent=0., q_mvar=0., controllable=True) - -# net.load["controllable"] = False -# net.sgen["controllable"] = False - - -pp.runpp(net) - - -net.ext_grid.loc[:, "max_p_mw"] = 99999. -net.ext_grid.loc[:, "min_p_mw"] = -99999. - -net.ext_grid.loc[:, "max_q_mvar"] = 99999. -net.ext_grid.loc[:, "min_q_mvar"] = -99999. - - -net["load"].loc[:, "type"] = "residential" -net.sgen.loc[:, "type"] = "pv" -net.sgen.loc[8, "type"] = "wind" - -input_file = r"C:\Users\x230\pandapower\tutorials\cigre_timeseries_15min.json" -time_series = pd.read_json(input_file) - - -time_series.sort_index(inplace=True) - -load_df = pd.DataFrame(time_series["residential"]).dot([net["load"]["p_mw"].values]) - -ConstControl(net, "load", "p_mw", element_index=net.load.index[net.load.type == "residential"], - profile_name=net.load.index[net.load.type == "residential"], data_source=DFData(load_df)) - -pv_df = pd.DataFrame(time_series["pv"]).dot([net["sgen"].loc[:7, "p_mw"].values]) - -ConstControl(net, "sgen", "p_mw", element_index=net.sgen.index[net.sgen.type == "pv"], - profile_name=net.sgen.index[net.sgen.type == "pv"], data_source=DFData(pv_df)) - -wind_df = pd.DataFrame(time_series["wind"]).dot([net["sgen"].loc[8, "p_mw"]]) - -ConstControl(net, "sgen", "p_mw", element_index=net.sgen.index[net.sgen.type == "wind"], - profile_name=net.sgen.index[net.sgen.type == "wind"], data_source=DFData(time_series["wind"])) - - -storage_results = pp.runpm_storage_opf(net, n_timesteps=96, time_elapsed=0.25) - -# time_series.sort_values(by="timestep", inplace=True) -# time_series["residential"].plot() -# time_series["pv"].plot() -# time_series["wind"].plot() -# plt.xlabel("time step") -# plt.xlabel("relative value") -# plt.legend() -# plt.grid() -# plt.show() \ No newline at end of file From 2a8c6f17b8594f537853eae1da2b253ff72a48a9 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Thu, 12 Aug 2021 20:18:02 +0200 Subject: [PATCH 174/422] update git ignore --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 8a99350a8..12b34147f 100644 --- a/.gitignore +++ b/.gitignore @@ -29,3 +29,5 @@ pandapower/timeseries/logs/* /.vscode/ pandapower/test/opf/buffer_file.json + +pandapower/test/buffer_file.json From 50b8b518377d23326f3acaf31c81f70a0f14ad8a Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Thu, 12 Aug 2021 20:30:39 +0200 Subject: [PATCH 175/422] codecov --- pandapower/converter/powermodels/to_pm.py | 3 +-- pandapower/runpm.py | 7 +++---- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/pandapower/converter/powermodels/to_pm.py b/pandapower/converter/powermodels/to_pm.py index 8e9419e5d..d85f392a1 100644 --- a/pandapower/converter/powermodels/to_pm.py +++ b/pandapower/converter/powermodels/to_pm.py @@ -342,8 +342,7 @@ def add_pm_options(pm, net): pm["pm_nl_solver"] = net._options["pm_nl_solver"] if "pm_nl_solver" in net._options else "ipopt" pm["pm_model"] = net._options["pm_model"] if "pm_model" in net._options else "DCPPowerModel" pm["pm_log_level"] = net._options["pm_log_level"] if "pm_log_level" in net._options else 0 - pm["pm_tol"] = net._options["pm_tol"] if "pm_tol" in net._options else 1e-8 - + pm["pm_tol"] = net._options["pm_tol"] if "pm_tol" in net._options else 1e-8 if "pm_time_limits" in net._options and isinstance(net._options["pm_time_limits"], dict): # write time limits to power models data structure for key, val in net._options["pm_time_limits"].items(): diff --git a/pandapower/runpm.py b/pandapower/runpm.py index 25089de0a..ef449106e 100644 --- a/pandapower/runpm.py +++ b/pandapower/runpm.py @@ -84,8 +84,7 @@ def runpm(net, julia_file=None, pp_to_pm_callback=None, calculate_voltage_angles **opf_flow_lim** (str, "I") - Quantity to limit for branch flow constraints, in line with matpower's "opf.flowlim" parameter "S" - apparent power flow (limit in MVA), - "I" - current magnitude (limit in MVA at 1 p.u. voltage) - + "I" - current magnitude (limit in MVA at 1 p.u. voltage) **pm_tol** (float, 1e-8) - default desired convergence tolerance for solver to use. """ net._options = {} @@ -349,8 +348,8 @@ def runpm_storage_opf(net, calculate_voltage_angles=True, trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, n_timesteps=24, time_elapsed=1.0, correct_pm_network_data=True, pm_model="ACPPowerModel", pm_time_limits=None, pm_log_level=0, - opf_flow_lim="S", charge_efficiency=1.0, discharge_efficiency=1.0, - standby_loss=1e-8, p_loss=1e-8, q_loss=1e-8, pm_tol=1e-8, **kwargs): # pragma: no cover + opf_flow_lim="S", charge_efficiency=1.0, discharge_efficiency=1., + standby_loss=1e-8, p_loss=1e-8, q_loss=1e-8, pm_tol=1e-8, **kwargs): """ Runs a non-linear power system optimization with storages and time series using PowerModels.jl. INPUT: From 72ddb14697ffe6033ebd2fceb0b84cc2f62ca3b4 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Thu, 12 Aug 2021 20:41:48 +0200 Subject: [PATCH 176/422] delete comments --- pandapower/opf/pm_storage.py | 150 ---------------------- pandapower/opf/run_powermodels_storage.jl | 45 ------- 2 files changed, 195 deletions(-) diff --git a/pandapower/opf/pm_storage.py b/pandapower/opf/pm_storage.py index 6601e8cb9..f52793c92 100644 --- a/pandapower/opf/pm_storage.py +++ b/pandapower/opf/pm_storage.py @@ -88,154 +88,4 @@ def read_pm_storage_results(net): # print("\n") return storage_results -# def add_storage_opf_settings(net, ppci, pm): -# # callback function to add storage settings. Must be called after initializing pm data structure since the -# # pm["storage"] dict is filled -# # n time steps to optimize (here 3 hours) -# pm["n_time_steps"] = net._options["n_time_steps"] -# # time step (here 1 hour) -# pm["time_elapsed"] = net._options["time_elapsed"] - -# # add storage systems to pm -# # Todo: Some variables are not used and not included in pandapower as well (energy_rating, thermal_rating, -# # (efficiencies, r, x...) -# bus_lookup = net._pd2ppc_lookups["bus"] - -# for idx in net["storage"].index: -# energy = (net["storage"].at[idx, "soc_percent"] * 1e-2 * -# (net["storage"].at[idx, "max_e_mwh"] - -# net["storage"].at[idx, "min_e_mwh"])) / pm["baseMVA"] - -# qs = net["storage"].at[idx, "q_mvar"].item() / pm["baseMVA"] -# ps = net["storage"].at[idx, "p_mw"].item() / pm["baseMVA"] -# # max_p_mw = ps -# # max_q_mvar, min_q_mvar = qs, -qs -# if "max_p_mw" in net["storage"]: -# max_p_mw = net["storage"].at[idx, "max_p_mw"].item() / pm["baseMVA"] -# else: -# max_p_mw = ps - -# if "max_q_mvar" in net["storage"]: -# max_q_mvar = net["storage"].at[idx, "max_q_mvar"].item() / pm["baseMVA"] -# else: -# max_q_mvar = qs - -# if "max_q_mvar" in net["storage"]: -# min_q_mvar = net["storage"].at[idx, "min_q_mvar"].item() / pm["baseMVA"] -# else: -# min_q_mvar = -qs - -# pm_idx = int(idx) + 1 - -# pm["storage"][str(pm_idx)] = { -# "energy_rating": net["storage"].at[idx, "max_e_mwh"], -# "standby_loss": -1e-8, -# "x": 0.0, -# "energy": energy, -# "r": 0.0, -# "qs": qs, -# "thermal_rating": net["storage"].at[idx, "max_e_mwh"], # Todo: include in DataFrame? -# "status": int(net["storage"].at[idx, "in_service"]), -# "discharge_rating": max_p_mw, -# "storage_bus": bus_lookup[net["storage"].at[idx, "bus"]].item(), -# "charge_efficiency": 1., -# "index": pm_idx, -# "ps": ps, -# "qmax": max_q_mvar, -# "qmin": min_q_mvar, -# "charge_rating": max_p_mw, -# "discharge_efficiency": 1.0, -# "p_loss": -1e-8, -# "q_loss": -1e-8, -# } - -# def add_storage_opf_settings(net, ppci, pm): -# # callback function to add storage settings. Must be called after initializing pm data structure since the -# # pm["storage"] dict is filled -# -# # n time steps to optimize (here 3 hours) -# pm["n_time_steps"] = net._options["n_time_steps"] -# # time step (here 1 hour) -# pm["time_elapsed"] = net._options["time_elapsed"] -# -# # add storage systems to pm -# # Todo: Some variables are not used and not included in pandapower as well (energy_rating, thermal_rating, -# # (efficiencies, r, x...) -# bus_lookup = net._pd2ppc_lookups["bus"] -# -# for idx in net["storage"].index: -# energy = (net["storage"].at[idx, "soc_percent"] * 1e-2 * -# (net["storage"].at[idx, "max_e_mwh"] - -# net["storage"].at[idx, "min_e_mwh"])) / pm["baseMVA"] -# qs = net["storage"].at[idx, "q_mvar"].item() / pm["baseMVA"] -# ps = net["storage"].at[idx, "p_mw"].item() / pm["baseMVA"] -# max_p_mw = ps -# max_q_mvar, min_q_mvar = qs, -qs -# if "max_p_mw" in net["storage"]: -# max_p_mw = net["storage"].at[idx, "max_p_mw"].item() / pm["baseMVA"] -# if "max_q_mvar" in net["storage"]: -# max_q_mvar = net["storage"].at[idx, "max_q_mvar"].item() / pm["baseMVA"] -# if "max_q_mvar" in net["storage"]: -# min_q_mvar = net["storage"].at[idx, "min_q_mvar"].item() / pm["baseMVA"] -# -# pm_idx = int(idx) + 1 -# pm["storage"][str(pm_idx)] = { -# "energy_rating": net["storage"].at[idx, "max_e_mwh"], -# "standby_loss": 0., -# "x": 0.0, -# "energy": energy, -# "r": 0.1, -# "qs": qs, -# "thermal_rating": net["storage"].at[idx, "max_e_mwh"], # Todo: include in DataFrame? -# "status": int(net["storage"].at[idx, "in_service"]), -# "discharge_rating": max_p_mw, -# "storage_bus": bus_lookup[net["storage"].at[idx, "bus"]].item(), -# "charge_efficiency": 1., -# "index": pm_idx, -# "ps": ps, -# "qmax": max_q_mvar, -# "qmin": min_q_mvar, -# "charge_rating": max_p_mw, -# "discharge_efficiency": 1.0, -# "p_loss": 0, -# "q_loss": 0 -# } -# -# def read_pm_storage_results(net): -# # reads the storage results from multiple time steps from the PowerModels optimization -# pm_result = net._pm_result -# # power model networks (each network represents the result of one time step) -# networks = pm_result["solution"]["nw"] -# storage_results = dict() -# n_timesteps = len(networks) -# timesteps = np.arange(n_timesteps) -# for idx in net["storage"].index: -# # read storage results for each storage from power models to a dataframe with rows = timesteps -# pm_idx = str(int(idx) + 1) -# res_storage = pd.DataFrame(data=None, -# index=timesteps, -# columns=["p_mw", "q_mvar", "soc_mwh", "soc_percent"], -# dtype=float) -# for t in range(n_timesteps): -# pm_storage = networks[str(t + 1)]["storage"][pm_idx] -# res_storage.at[t, "p_mw"] = pm_storage["ps"] * pm_result["solution"]["baseMVA"] -# res_storage.at[t, "q_mvar"] = pm_storage["qs"] * pm_result["solution"]["baseMVA"] -# res_storage.at[t, "soc_percent"] = pm_storage["se"] * 1e2 -# res_storage.at[t, "soc_mwh"] = pm_storage["se"] * \ -# pm_result["solution"]["baseMVA"] * \ -# (net["storage"].at[idx, "max_e_mwh"] - net["storage"].at[idx, "min_e_mwh"]) -# -# storage_results[idx] = res_storage -# -# # DEBUG print for storage result -# # for key, val in net._pm_result.items(): -# # if key == "solution": -# # for subkey, subval in val.items(): -# # if subkey == "nw": -# # for i, nw in subval.items(): -# # print("Network {}\n".format(i)) -# # print(nw["storage"]) -# # print("\n") -# -# return storage_results diff --git a/pandapower/opf/run_powermodels_storage.jl b/pandapower/opf/run_powermodels_storage.jl index 6e2843633..6abfd413f 100644 --- a/pandapower/opf/run_powermodels_storage.jl +++ b/pandapower/opf/run_powermodels_storage.jl @@ -53,48 +53,3 @@ function run_powermodels(json_path) print_summary(result) return result end -# function read_time_series(ts_path) -# time_series = Dict() -# open(ts_path, "r") do f -# time_series = JSON.parse(f) -# else -# @error "no time series data is available at $(ts_path)" -# end -# return time_series -# end -# -# function set_pq_from_timeseries!(mn, ts_data, variable) -# # This function iterates over multinetwork entries and sets p, q values -# # of loads and "sgens" (which are loads with negative P and Q values) -# for step in 1:steps -# network = mn["nw"]["$(step)"] -# for idx in keys(ts_data) -# network["load"][idx][viable] = ts_data [idx]["$(step-1)"] / network["baseMVA"] -# end -# end -# return mn -# end -# -# function run_powermodels(json_path) -# # load converted pandapower network -# pm = PP2PM.load_pm_from_json(files["net"]) -# # copy network n_time_steps time step times -# n_time_steps = pm["n_time_steps"] -# mn = PowerModels.replicate(pm, pm["n_time_steps"]) -# -# for key in keys(files) -# if key != "net" -# ts_data = read_time_series(files[key]) -# if key == "load_p" -# mn = set_pq_from_timeseries!(mn, ts_data, "pd") -# elseif key == "load_q" -# mn = set_pq_from_timeseries!(mn, ts_data, "qd") -# end -# end -# end -# -# result = _PM.run_mn_opf_strg(mn, model, solver, setting = Dict("output" => Dict("branch_flows" => true))) -# # pm_res = get_result_for_pandapower(result) -# -# return result -# end From 84ac001a94dbbaa4a263f9fe2dfa69113d1ef047 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Thu, 12 Aug 2021 20:58:33 +0200 Subject: [PATCH 177/422] codecov --- pandapower/runpm.py | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/pandapower/runpm.py b/pandapower/runpm.py index ef449106e..ddca8a523 100644 --- a/pandapower/runpm.py +++ b/pandapower/runpm.py @@ -82,9 +82,9 @@ def runpm(net, julia_file=None, pp_to_pm_callback=None, calculate_voltage_angles delete_buffer_file to False! **opf_flow_lim** (str, "I") - Quantity to limit for branch flow constraints, in line with matpower's - "opf.flowlim" parameter - "S" - apparent power flow (limit in MVA), - "I" - current magnitude (limit in MVA at 1 p.u. voltage) + "opf.flowlim" parameter: + "S" - apparent power flow (limit in MVA), + "I" - current magnitude (limit in MVA at 1 p.u. voltage) **pm_tol** (float, 1e-8) - default desired convergence tolerance for solver to use. """ net._options = {} @@ -251,8 +251,7 @@ def runpm_ac_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, trafo_model=trafo_model, check_connectivity=check_connectivity, mode="opf", switch_rx_ratio=2, init_vm_pu="flat", init_va_degree="flat", enforce_q_lims=True, recycle=dict(_is_elements=False, ppc=False, Ybus=False), - voltage_depend_loads=False, delta=delta, trafo3w_losses=trafo3w_losses) - + voltage_depend_loads=False, delta=delta, trafo3w_losses=trafo3w_losses) _add_opf_options(net, trafo_loading='power', ac=ac, init="flat", numba=True, pp_to_pm_callback=pp_to_pm_callback, julia_file=julia_file, pm_model=pm_model, pm_solver=pm_solver, correct_pm_network_data=correct_pm_network_data, pm_time_limits=pm_time_limits, @@ -346,9 +345,9 @@ def runpm_ots(net, pp_to_pm_callback=None, calculate_voltage_angles=True, def runpm_storage_opf(net, calculate_voltage_angles=True, trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, - n_timesteps=24, time_elapsed=1.0, correct_pm_network_data=True, + n_timesteps=24, time_elapsed=1., correct_pm_network_data=True, pm_model="ACPPowerModel", pm_time_limits=None, pm_log_level=0, - opf_flow_lim="S", charge_efficiency=1.0, discharge_efficiency=1., + opf_flow_lim="S", charge_efficiency=1., discharge_efficiency=1., standby_loss=1e-8, p_loss=1e-8, q_loss=1e-8, pm_tol=1e-8, **kwargs): """ Runs a non-linear power system optimization with storages and time series using PowerModels.jl. @@ -360,7 +359,7 @@ def runpm_storage_opf(net, calculate_voltage_angles=True, **pm_time_limits** (Dict, None) - Time limits in seconds for power models interface. To be set as a dict like {"pm_time_limit": 300., "pm_nl_time_limit": 300., "pm_mip_time_limit": 300.} **pm_log_level** (int, 0) - solver log level in power models - """ + """ julia_file = os.path.join(pp_dir, "opf", 'run_powermodels_storage.jl') ac = True if "DC" not in pm_model else False net._options = {} From 1e811b768cc7786a6f2a636e98a1994f126b1279 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Fri, 13 Aug 2021 11:32:56 +0200 Subject: [PATCH 178/422] style --- pandapower/runpm.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pandapower/runpm.py b/pandapower/runpm.py index ddca8a523..a4d172365 100644 --- a/pandapower/runpm.py +++ b/pandapower/runpm.py @@ -160,7 +160,6 @@ def runpm_dc_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, **pm_tol** (float, 1e-8) - default desired convergence tolerance for solver to use. """ julia_file = os.path.join(pp_dir, "opf", 'run_powermodels.jl') - ac = True if "DC" not in pm_model else False net._options = {} _add_ppc_options(net, calculate_voltage_angles=calculate_voltage_angles, @@ -168,7 +167,7 @@ def runpm_dc_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, mode="opf", switch_rx_ratio=2, init_vm_pu="flat", init_va_degree="flat", enforce_q_lims=True, recycle=dict(_is_elements=False, ppc=False, Ybus=False), voltage_depend_loads=False, delta=delta, trafo3w_losses=trafo3w_losses) - _add_opf_options(net, trafo_loading='power', ac=ac, init="flat", numba=True, + _add_opf_options(net, trafo_loading='power', ac=False, init="flat", numba=True, pp_to_pm_callback=pp_to_pm_callback, julia_file=julia_file, correct_pm_network_data=correct_pm_network_data, pm_model=pm_model, pm_solver=pm_solver, pm_time_limits=pm_time_limits, pm_log_level=pm_log_level, opf_flow_lim="S", pm_tol=pm_tol) @@ -244,7 +243,6 @@ def runpm_ac_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, """ julia_file = os.path.join(pp_dir, "opf", 'run_powermodels.jl') - ac = True if "DC" not in pm_model else False net._options = {} _add_ppc_options(net, calculate_voltage_angles=calculate_voltage_angles, @@ -252,7 +250,7 @@ def runpm_ac_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, mode="opf", switch_rx_ratio=2, init_vm_pu="flat", init_va_degree="flat", enforce_q_lims=True, recycle=dict(_is_elements=False, ppc=False, Ybus=False), voltage_depend_loads=False, delta=delta, trafo3w_losses=trafo3w_losses) - _add_opf_options(net, trafo_loading='power', ac=ac, init="flat", numba=True, + _add_opf_options(net, trafo_loading='power', ac=True, init="flat", numba=True, pp_to_pm_callback=pp_to_pm_callback, julia_file=julia_file, pm_model=pm_model, pm_solver=pm_solver, correct_pm_network_data=correct_pm_network_data, pm_time_limits=pm_time_limits, pm_log_level=pm_log_level, opf_flow_lim=opf_flow_lim, pm_tol=pm_tol) From c0a188255bee8bc4b691598fc9db25955889f5c2 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Fri, 13 Aug 2021 19:02:45 +0200 Subject: [PATCH 179/422] pdm dev mode otion --- pandapower/runpm.py | 83 +++++++++++++++------------------------------ 1 file changed, 27 insertions(+), 56 deletions(-) diff --git a/pandapower/runpm.py b/pandapower/runpm.py index 0bc8903cc..a15ecdfb8 100644 --- a/pandapower/runpm.py +++ b/pandapower/runpm.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - # Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. # Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. @@ -12,12 +10,11 @@ from pandapower.opf.pm_storage import add_storage_opf_settings, read_pm_storage_results from pandapower.opf.run_powermodels import _runpm - def runpm(net, julia_file=None, pp_to_pm_callback=None, calculate_voltage_angles=True, trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, correct_pm_network_data=True, pm_model="ACPPowerModel", pm_solver="ipopt", pm_mip_solver="cbc", pm_nl_solver="ipopt", pm_time_limits=None, pm_log_level=0, - delete_buffer_file=True, pm_file_path = None, opf_flow_lim="S", pm_tol=1e-8, **kwargs): # pragma: no cover + delete_buffer_file=True, pm_file_path = None, opf_flow_lim="S", pm_tol=1e-8, pdm_dev_mode=False, **kwargs): # pragma: no cover """ Runs a power system optimization using PowerModels.jl. with a custom julia file. @@ -56,37 +53,28 @@ def runpm(net, julia_file=None, pp_to_pm_callback=None, calculate_voltage_angles OPTIONAL: **julia_file** (str, None) - path to a custom julia optimization file - **pp_to_pm_callback** (function, None) - callback function to add data to the PowerModels data structure - **correct_pm_network_data** (bool, True) - checks if network data is correct. If not tries to correct it - **pm_model** (str, "ACPPowerModel") - The PowerModels.jl model to use - **pm_solver** (str, "ipopt") - The "main" power models solver - **pm_mip_solver** (str, "cbc") - The mixed integer solver (when "main" solver == juniper) - **pm_nl_solver** (str, "ipopt") - The nonlinear solver (when "main" solver == juniper) - **pm_time_limits** (Dict, None) - Time limits in seconds for power models interface. To be set as a dict like {"pm_time_limit": 300., "pm_nl_time_limit": 300., "pm_mip_time_limit": 300.} - **pm_log_level** (int, 0) - solver log level in power models - **delete_buffer_file** (Bool, True) - If True, the .json file used by powermodels will be deleted after optimization. - **pm_file_path** (str, None) - Specifiy the filename, under which the .json file for powermodels is stored. If you want to keep the file after optimization, you should also set delete_buffer_file to False! - **opf_flow_lim** (str, "I") - Quantity to limit for branch flow constraints, in line with matpower's "opf.flowlim" parameter: "S" - apparent power flow (limit in MVA), "I" - current magnitude (limit in MVA at 1 p.u. voltage) **pm_tol** (float, 1e-8) - default desired convergence tolerance for solver to use. + **pdm_dev_mode** (bool, False) - If True, the develope mode of PdM is called. """ + ac = True if "DC" not in pm_model else False net._options = {} _add_ppc_options(net, calculate_voltage_angles=calculate_voltage_angles, trafo_model=trafo_model, check_connectivity=check_connectivity, @@ -94,18 +82,18 @@ def runpm(net, julia_file=None, pp_to_pm_callback=None, calculate_voltage_angles enforce_q_lims=True, recycle=dict(_is_elements=False, ppc=False, Ybus=False), voltage_depend_loads=False, delta=delta, trafo3w_losses=trafo3w_losses) _add_opf_options(net, trafo_loading='power', ac=ac, init="flat", numba=True, - pp_to_pm_callback=pp_to_pm_callback, julia_file=julia_file, pm_solver=pm_solver, pm_model=pm_model, + pp_to_pm_callback=pp_to_pm_callback, julia_file="run_powermodels_opf", pm_solver=pm_solver, pm_model=pm_model, correct_pm_network_data=correct_pm_network_data, pm_mip_solver=pm_mip_solver, pm_nl_solver=pm_nl_solver, pm_time_limits=pm_time_limits, pm_log_level=pm_log_level, opf_flow_lim=opf_flow_lim, pm_tol=pm_tol) - _runpm(net, delete_buffer_file=delete_buffer_file, pm_file_path = pm_file_path) + _runpm(net, delete_buffer_file=delete_buffer_file, pm_file_path=pm_file_path, pdm_dev_mode=pdm_dev_mode) def runpm_dc_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, correct_pm_network_data=True, pm_model="DCPPowerModel", pm_solver="ipopt", pm_time_limits=None, pm_log_level=0, delete_buffer_file=True, pm_file_path = None, - pm_tol=1e-8, **kwargs): # pragma: no cover + pm_tol=1e-8, pdm_dev_mode=False, **kwargs): # pragma: no cover """ Runs a linearized power system optimization using PowerModels.jl. @@ -144,21 +132,15 @@ def runpm_dc_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, OPTIONAL: **pp_to_pm_callback** (function, None) - callback function to add data to the PowerModels data structure - **pm_model** (str, "DCPPowerModel") - model to use. Default is DC model - **pm_solver** (str, "ipopt") - The "main" power models solver - **correct_pm_network_data** (bool, True) - checks if network data is correct. If not tries to correct it - **pm_time_limits** (Dict, None) - Time limits in seconds for power models interface. To be set as a dict like {"pm_time_limit": 300.} - **pm_log_level** (int, 0) - solver log level in power models **pm_tol** (float, 1e-8) - default desired convergence tolerance for solver to use. + **pdm_dev_mode** (bool, False) - If True, the develope mode of PdM is called. """ - julia_file = "run_powermodels_opf" - net._options = {} _add_ppc_options(net, calculate_voltage_angles=calculate_voltage_angles, trafo_model=trafo_model, check_connectivity=check_connectivity, @@ -166,17 +148,17 @@ def runpm_dc_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, enforce_q_lims=True, recycle=dict(_is_elements=False, ppc=False, Ybus=False), voltage_depend_loads=False, delta=delta, trafo3w_losses=trafo3w_losses) _add_opf_options(net, trafo_loading='power', ac=False, init="flat", numba=True, - pp_to_pm_callback=pp_to_pm_callback, julia_file=julia_file, + pp_to_pm_callback=pp_to_pm_callback, julia_file="run_powermodels_opf", correct_pm_network_data=correct_pm_network_data, pm_model=pm_model, pm_solver=pm_solver, pm_time_limits=pm_time_limits, pm_log_level=pm_log_level, opf_flow_lim="S", pm_tol=pm_tol) - _runpm(net, delete_buffer_file, pm_file_path) + _runpm(net, delete_buffer_file, pm_file_path, pdm_dev_mode=pdm_dev_mode) def runpm_ac_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, pm_model="ACPPowerModel", pm_solver="ipopt", correct_pm_network_data=True, pm_time_limits=None, pm_log_level=0, pm_file_path = None, delete_buffer_file=True, - opf_flow_lim="S", pm_tol=1e-8, **kwargs): # pragma: no cover + opf_flow_lim="S", pm_tol=1e-8, pdm_dev_mode=False, **kwargs): # pragma: no cover """ Runs a non-linear power system optimization using PowerModels.jl. @@ -215,33 +197,23 @@ def runpm_ac_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, OPTIONAL: **pp_to_pm_callback** (function, None) - callback function to add data to the PowerModels data structure - **pm_model** (str, "ACPPowerModel") - model to use. Default is AC model - **pm_solver** (str, "ipopt") - default solver to use. If ipopt is not available use Ipopt - **correct_pm_network_data** (bool, True) - checks if network data is correct. If not tries to correct it - **pm_time_limits** (Dict, None) - Time limits in seconds for power models interface. To be set as a dict like {"pm_time_limit": 300.} - **pm_log_level** (int, 0) - solver log level in power models - **opf_flow_lim** (str, "I") - Quantity to limit for branch flow constraints, in line with matpower's "opf.flowlim" parameter "S" - apparent power flow (limit in MVA), "I" - current magnitude (limit in MVA at 1 p.u. voltage) - **delete_buffer_file** (Bool, True) - If True, the .json file used by powermodels will be deleted after optimization. - **pm_file_path** (str, None) - Specifiy the filename, under which the .json file for powermodels is stored. If you want to keep the file after optimization, you should also set delete_buffer_file to False! + **pdm_dev_mode** (bool, False) - If True, the develope mode of PdM is called. """ - - julia_file = "run_powermodels_opf" - net._options = {} _add_ppc_options(net, calculate_voltage_angles=calculate_voltage_angles, trafo_model=trafo_model, check_connectivity=check_connectivity, @@ -249,18 +221,18 @@ def runpm_ac_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, enforce_q_lims=True, recycle=dict(_is_elements=False, ppc=False, Ybus=False), voltage_depend_loads=False, delta=delta, trafo3w_losses=trafo3w_losses) _add_opf_options(net, trafo_loading='power', ac=True, init="flat", numba=True, - pp_to_pm_callback=pp_to_pm_callback, julia_file=julia_file, pm_model=pm_model, pm_solver=pm_solver, + pp_to_pm_callback=pp_to_pm_callback, julia_file="run_powermodels_opf", pm_model=pm_model, pm_solver=pm_solver, correct_pm_network_data=correct_pm_network_data, pm_time_limits=pm_time_limits, pm_log_level=pm_log_level, opf_flow_lim=opf_flow_lim, pm_tol=pm_tol) - _runpm(net, pm_file_path=pm_file_path, delete_buffer_file=delete_buffer_file) + _runpm(net, pm_file_path=pm_file_path, delete_buffer_file=delete_buffer_file, pdm_dev_mode=pdm_dev_mode) def runpm_tnep(net, pp_to_pm_callback=None, calculate_voltage_angles=True, trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, pm_model="DCPPowerModel", pm_solver=None, correct_pm_network_data=True, pm_nl_solver="ipopt", pm_mip_solver="cbc", pm_time_limits=None, pm_log_level=0, - opf_flow_lim="S", pm_tol=1e-8, **kwargs): # pragma: no cover + opf_flow_lim="S", pm_tol=1e-8, pdm_dev_mode=False, **kwargs): # pragma: no cover """ Runs a non-linear transmission network extension planning (tnep) optimization using PowerModels.jl. OPTIONAL: @@ -275,9 +247,8 @@ def runpm_tnep(net, pp_to_pm_callback=None, calculate_voltage_angles=True, {"pm_time_limit": 300., "pm_nl_time_limit": 300., "pm_mip_time_limit": 300.} **pm_log_level** (int, 0) - solver log level in power model **pm_tol** (float, 1e-8) - default desired convergence tolerance for solver to use. + **pdm_dev_mode** (bool, False) - If True, the develope mode of PdM is called. """ - # julia_file = os.path.join(pp_dir, "opf", "PpPmInterface", "src", "pm_models", 'run_powermodels_tnep.jl') - julia_file = "run_powermodels_tnep" ac = True if "DC" not in pm_model else False if pm_solver is None: if pm_model == "DCPPowerModel": @@ -294,18 +265,19 @@ def runpm_tnep(net, pp_to_pm_callback=None, calculate_voltage_angles=True, enforce_q_lims=True, recycle=dict(_is_elements=False, ppc=False, Ybus=False), voltage_depend_loads=False, delta=delta, trafo3w_losses=trafo3w_losses) _add_opf_options(net, trafo_loading='power', ac=ac, init="flat", numba=True, - pp_to_pm_callback=pp_to_pm_callback, julia_file=julia_file, pm_model=pm_model, pm_solver=pm_solver, + pp_to_pm_callback=pp_to_pm_callback, julia_file="run_powermodels_tnep", pm_model=pm_model, pm_solver=pm_solver, correct_pm_network_data=correct_pm_network_data, pm_nl_solver=pm_nl_solver, pm_mip_solver=pm_mip_solver, pm_time_limits=pm_time_limits, pm_log_level=pm_log_level, - opf_flow_lim=opf_flow_lim, pm_tol=pm_tol) + opf_flow_lim=opf_flow_lim, pm_tol=pm_tol, pdm_dev_mode=pdm_dev_mode) _runpm(net) read_tnep_results(net) def runpm_ots(net, pp_to_pm_callback=None, calculate_voltage_angles=True, trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, - pm_model="DCPPowerModel", pm_solver="juniper", pm_nl_solver="ipopt", pm_mip_solver="cbc", - correct_pm_network_data=True, pm_time_limits=None, pm_log_level=0, pm_tol=1e-8, **kwargs): # pragma: no cover + pm_model="DCPPowerModel", pm_solver="juniper", pm_nl_solver="ipopt", + pm_mip_solver="cbc", correct_pm_network_data=True, pm_time_limits=None, + pm_log_level=0, pm_tol=1e-8, pdm_dev_mode=False, **kwargs): # pragma: no cover """ Runs a non-linear optimal transmission switching (OTS) optimization using PowerModels.jl. OPTIONAL: @@ -320,9 +292,8 @@ def runpm_ots(net, pp_to_pm_callback=None, calculate_voltage_angles=True, {"pm_time_limit": 300., "pm_nl_time_limit": 300., "pm_mip_time_limit": 300.} **pm_log_level** (int, 0) - solver log level in power models **pm_tol** (float, 1e-8) - default desired convergence tolerance for solver to use. + **pdm_dev_mode** (bool, False) - If True, the develope mode of PdM is called. """ - # julia_file = os.path.join(pp_dir, "opf", "PpPmInterface", "src", "pm_models", 'run_powermodels_ots.jl') - julia_file = "run_powermodels_ots" ac = True if "DC" not in pm_model else False if pm_solver is None: pm_solver = "juniper" @@ -334,10 +305,10 @@ def runpm_ots(net, pp_to_pm_callback=None, calculate_voltage_angles=True, enforce_q_lims=True, recycle=dict(_is_elements=False, ppc=False, Ybus=False), voltage_depend_loads=False, delta=delta, trafo3w_losses=trafo3w_losses) _add_opf_options(net, trafo_loading='power', ac=ac, init="flat", numba=True, - pp_to_pm_callback=pp_to_pm_callback, julia_file=julia_file, pm_model=pm_model, pm_solver=pm_solver, + pp_to_pm_callback=pp_to_pm_callback, julia_file="run_powermodels_ots", pm_model=pm_model, pm_solver=pm_solver, correct_pm_network_data=correct_pm_network_data, pm_mip_solver=pm_mip_solver, pm_nl_solver=pm_nl_solver, pm_time_limits=pm_time_limits, pm_log_level=pm_log_level, - opf_flow_lim="S", pm_tol=pm_tol) + opf_flow_lim="S", pm_tol=pm_tol, pdm_dev_mode=pdm_dev_mode) _runpm(net) read_ots_results(net) @@ -346,7 +317,7 @@ def runpm_storage_opf(net, calculate_voltage_angles=True, n_timesteps=24, time_elapsed=1., correct_pm_network_data=True, pm_model="ACPPowerModel", pm_time_limits=None, pm_log_level=0, opf_flow_lim="S", charge_efficiency=1., discharge_efficiency=1., - standby_loss=1e-8, p_loss=1e-8, q_loss=1e-8, pm_tol=1e-8, **kwargs): + standby_loss=1e-8, p_loss=1e-8, q_loss=1e-8, pm_tol=1e-8, pdm_dev_mode=False, **kwargs): """ Runs a non-linear power system optimization with storages and time series using PowerModels.jl. INPUT: @@ -357,8 +328,8 @@ def runpm_storage_opf(net, calculate_voltage_angles=True, **pm_time_limits** (Dict, None) - Time limits in seconds for power models interface. To be set as a dict like {"pm_time_limit": 300., "pm_nl_time_limit": 300., "pm_mip_time_limit": 300.} **pm_log_level** (int, 0) - solver log level in power models + **pdm_dev_mode** (bool, False) - If True, the develope mode of PdM is called. """ - julia_file = "run_powermodels_mn_storage" ac = True if "DC" not in pm_model else False net._options = {} _add_ppc_options(net, calculate_voltage_angles=calculate_voltage_angles, @@ -367,9 +338,9 @@ def runpm_storage_opf(net, calculate_voltage_angles=True, enforce_q_lims=True, recycle=dict(_is_elements=False, ppc=False, Ybus=False), voltage_depend_loads=False, delta=delta, trafo3w_losses=trafo3w_losses) _add_opf_options(net, trafo_loading='power', ac=ac, init="flat", numba=True, - pp_to_pm_callback=add_storage_opf_settings, julia_file=julia_file, + pp_to_pm_callback=add_storage_opf_settings, julia_file="run_powermodels_mn_storage", correct_pm_network_data=correct_pm_network_data, pm_model=pm_model, pm_time_limits=pm_time_limits, - pm_log_level=pm_log_level, opf_flow_lim=opf_flow_lim, pm_tol=pm_tol) + pm_log_level=pm_log_level, opf_flow_lim=opf_flow_lim, pm_tol=pm_tol, pdm_dev_mode=pdm_dev_mode) net._options["n_time_steps"] = n_timesteps net._options["time_elapsed"] = time_elapsed From 9f34b2b82c0d693b2da922d8ecd4635dcf064513 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Fri, 13 Aug 2021 19:03:31 +0200 Subject: [PATCH 180/422] fix the pdm setting --- pandapower/opf/run_powermodels.py | 87 +++++++++---------------------- 1 file changed, 26 insertions(+), 61 deletions(-) diff --git a/pandapower/opf/run_powermodels.py b/pandapower/opf/run_powermodels.py index 524dfe042..43cc88904 100644 --- a/pandapower/opf/run_powermodels.py +++ b/pandapower/opf/run_powermodels.py @@ -1,6 +1,5 @@ import os -# from pandapower import pp_dir from pandapower.converter.powermodels.to_pm import convert_to_pm_structure, dump_pm_json from pandapower.converter.powermodels.from_pm import read_pm_results_to_net @@ -9,8 +8,7 @@ except ImportError: import logging - -def _runpm(net, delete_buffer_file=True, pm_file_path=None): # pragma: no cover +def _runpm(net, delete_buffer_file=True, pm_file_path=None, pdm_dev_mode=False): """ Converts the pandapower net to a pm json file, saves it to disk, runs a PowerModels.jl julia function and reads the results back to the pandapower net @@ -20,6 +18,8 @@ def _runpm(net, delete_buffer_file=True, pm_file_path=None): # pragma: no cover OPTIONAL ---------- **delete_buffer_file** (bool, True) - deletes the pm buffer json file if True. + **pm_file_path** -path to save the converted net json file. + **pdm_dev_mode** (bool, False) - If True, the develope mode of PdM is called. """ logger = logging.getLogger("run_pm") logger.setLevel(logging.WARNING) @@ -31,38 +31,15 @@ def _runpm(net, delete_buffer_file=True, pm_file_path=None): # pragma: no cover # writes pm json to disk, which is loaded afterwards in julia buffer_file = dump_pm_json(pm, pm_file_path) # run power models optimization in julia - result_pm = _call_pandamodels(buffer_file, net._options["julia_file"]) + result_pm = _call_pandamodels(buffer_file, net._options["julia_file"], pdm_dev_mode) # read results and write back to net read_pm_results_to_net(net, ppc, ppci, result_pm) if pm_file_path is None and delete_buffer_file: # delete buffer file after calculation os.remove(buffer_file) + +def _call_pandamodels(buffer_file, julia_file, dev_mode): # pragma: no cover -# def _add_julia_package(): - # Pkg.add("PandaModels") - # Pkg.build("PandaModels") - # Pkg.update() - # Pkg.resolve() - -# def _activate_dev_mode() - # if str(type(Base.find_package("PandaModels"))) == "": - # print("PandaModels is not exist") - # Pkg.Registry.update() - # Pkg.add(url = "https://github.com/e2nIEE/PandaModels.jl") - # # Pkg.build() - # Pkg.resolve() - # Pkg.develop("PandaModels") - # Pkg.build() - # Pkg.resolve() - # print("add PandaModels") - # Pkg.activate("PandaModels") - # Pkg.instantiate() - # Pkg.resolve() - # print("activate PandaModels") - - -def _call_powermodels(buffer_file, julia_file): # pragma: no cover -# def _call_powermodels(buffer_file, julia_file, pkg = False, dev = False, instantiate = False): # pragma: no cover try: import julia from julia import Main @@ -71,51 +48,39 @@ def _call_powermodels(buffer_file, julia_file): # pragma: no cover except ImportError: raise ImportError( "Please install pyjulia properlly to run pandapower with PowerModels.jl. \nMore info on https://pandapower.readthedocs.io/en/v2.6.0/opf/powermodels.html") - + try: - j = julia.Julia() + julia.Julia() except: raise UserWarning( "Could not connect to julia, please check that Julia is installed and pyjulia is correctly configured") - - # if Pkg: - # _add_julia_package() - - inst, dev_mode = None, False + if not Base.find_package("PandaModels"): - inst = input("PandaModels is not installed in julia. Add now? (Y/n)") - if inst in ["Y", "y"]: - - Pkg.Registry.update() - Pkg.add(url="https://github.com/e2nIEE/PandaModels.jl") - # Pkg.build() + print("PandaModels is not installed in julia. It is added now!") + # Pkg.Registry.update() + Pkg.update() + Pkg.add("PandaModels") + + if dev_mode: + print("installing dev mode is a slow process!") Pkg.resolve() - deve = input("Add PandaModels in develop mode? (Y/n)") - if deve in ["Y", "y"]: - dev_mode = True - Pkg.develop("PandaModels") - Pkg.build() - print("Successfully added PandaModels") - else: - raise ImportError("PandaModels not found") - - # print(Base.find_package("PandaModels")) - Pkg_path = Base.find_package("PandaModels").split(".jl")[0] - dev_mode = True if "julia/dev/PandaModels" in Pkg_path else False + Pkg.develop("PandaModels") + Pkg.instantiate() + + Pkg.build() + Pkg.resolve() + print("Successfully added PandaModels") - if dev_mode: + if dev_mode or "julia/dev/PandaModels" in Base.find_package("PandaModels").split(".jl")[0]: Pkg.activate("PandaModels") - Pkg.instantiate() - Pkg.resolve() - # print("activate PandaModels") try: Main.using("PandaModels") - # print("using PandaModels") except ImportError: raise ImportError("cannot use PandaModels") - # if not os.path.isfile(julia_file): - # raise UserWarning("File %s could not be imported" % julia_file) + Main.buffer_file = buffer_file result_pm = Main.eval(julia_file + "(buffer_file)") return result_pm + + From aca86b4ad202458fb06b320977ee289789a4d55b Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Mon, 16 Aug 2021 12:20:16 +0200 Subject: [PATCH 181/422] registry udate --- pandapower/opf/run_powermodels.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pandapower/opf/run_powermodels.py b/pandapower/opf/run_powermodels.py index 43cc88904..c538d5630 100644 --- a/pandapower/opf/run_powermodels.py +++ b/pandapower/opf/run_powermodels.py @@ -57,8 +57,8 @@ def _call_pandamodels(buffer_file, julia_file, dev_mode): # pragma: no cover if not Base.find_package("PandaModels"): print("PandaModels is not installed in julia. It is added now!") - # Pkg.Registry.update() - Pkg.update() + Pkg.Registry.update() + # Pkg.update() Pkg.add("PandaModels") if dev_mode: From dd63ae922d1a85b061cf6b43ac0ed9ac0b3a3dae Mon Sep 17 00:00:00 2001 From: Jan Wiemer Date: Tue, 17 Aug 2021 18:51:56 +0200 Subject: [PATCH 182/422] Finnished Bugfixing the sphinx documentation --- doc/conf.py | 2 +- doc/networks/dickert_lv_networks.rst | 2 +- doc/powerflow/ac_3ph.rst | 2 +- doc/shortcircuit/elements.rst | 29 ++--- doc/timeseries/timeseries_example.rst | 2 +- pandapower/pf/runpp_3ph.py | 97 ++++++++--------- pandapower/plotting/colormaps.py | 10 +- pandapower/plotting/plotly/pf_res_plotly.py | 2 +- pandapower/run.py | 16 +-- pandapower/runpm.py | 8 +- pandapower/std_types.py | 5 +- pandapower/toolbox.py | 114 ++++++++++++-------- pandapower/topology/graph_searches.py | 20 ++-- 13 files changed, 169 insertions(+), 140 deletions(-) diff --git a/doc/conf.py b/doc/conf.py index c6e429d93..822b490de 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -127,7 +127,7 @@ # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['_static'] +html_static_path = [''] # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, # using the given strftime format. diff --git a/doc/networks/dickert_lv_networks.rst b/doc/networks/dickert_lv_networks.rst index ede9a3fdf..3df975bb1 100644 --- a/doc/networks/dickert_lv_networks.rst +++ b/doc/networks/dickert_lv_networks.rst @@ -15,7 +15,7 @@ For all given Dickert LV Networks (in numbers: 12) the number of delivery points The next figure shows the topology of the paper's example with lv network with mid-range, cable type and in good case: -.. image:: /pics/networks/example_of_dickert_lv-feeders_for_neutral-range_cable.PNG +.. image:: /pics/networks/example_of_dickert_lv-feeders_for_mid-range_cable.PNG :height: 918.0px :width: 1282.0px :scale: 34% diff --git a/doc/powerflow/ac_3ph.rst b/doc/powerflow/ac_3ph.rst index dc85ebae4..9ba26e9a4 100644 --- a/doc/powerflow/ac_3ph.rst +++ b/doc/powerflow/ac_3ph.rst @@ -12,6 +12,6 @@ pandapower uses Sequence Frame to solve three phase power flow : .. note:: - If you are interested in the pypower casefile that pandapower is using for power flow internally, you can find it in net["_ppc0"],net["_ppc1"], net["_ppc2"]. + If you are interested in the pypower casefile that pandapower is using for power flow internally, you can find it in net["_ppc0"],net["_ppc1"], net["_ppc2"]. However all necessary informations are written into the pandpower format net, so the pandapower user should not usually have to deal with pypower. \ No newline at end of file diff --git a/doc/shortcircuit/elements.rst b/doc/shortcircuit/elements.rst index 238444726..1eb39af30 100644 --- a/doc/shortcircuit/elements.rst +++ b/doc/shortcircuit/elements.rst @@ -1,14 +1,15 @@ -.. _sc_elements: -================== -Network Elements -================== - -Correction factors for generator and branch elements are implemented as defined in the IEC 60909 standard. The results for all elements are tested against commercial software to ensure that correction factors are correctly applied. - - -.. toctree:: - :maxdepth: 1 - - voltage_source - current_source - branch_elements +.. _sc_elements: + +================== +Network Elements +================== + +Correction factors for generator and branch elements are implemented as defined in the IEC 60909 standard. The results for all elements are tested against commercial software to ensure that correction factors are correctly applied. + + +.. toctree:: + :maxdepth: 1 + + voltage_source + current_source + branch_elements diff --git a/doc/timeseries/timeseries_example.rst b/doc/timeseries/timeseries_example.rst index 54d8acc17..b717ed718 100644 --- a/doc/timeseries/timeseries_example.rst +++ b/doc/timeseries/timeseries_example.rst @@ -26,7 +26,7 @@ for each time step in the corresponding row. Here is a schematic example for a g :file: datasource_example.csv :delim: ; -This structure is saved to a *.csv file and can be read by pandas and passed to the DataSource constructor like so: +This structure is saved to a ``*.csv`` file and can be read by pandas and passed to the DataSource constructor like so: :: diff --git a/pandapower/pf/runpp_3ph.py b/pandapower/pf/runpp_3ph.py index 1efa17711..34211214f 100644 --- a/pandapower/pf/runpp_3ph.py +++ b/pandapower/pf/runpp_3ph.py @@ -165,8 +165,7 @@ def runpp_3ph(net, calculate_voltage_angles=True, init="auto", The following algorithms are available: - - "nr" Newton-Raphson (pypower implementation with numba - accelerations) + - "nr" Newton-Raphson (pypower implementation with numba accelerations) Used only for positive sequence network @@ -206,12 +205,11 @@ def runpp_3ph(net, calculate_voltage_angles=True, init="auto", referring to P / Q mismatch of node power in MVA **trafo_model** - - transformer equivalent models + - transformer equivalent models - "t" - transformer is modeled as equivalent with the T-model. - - "pi" - This is not recommended, since it is less exact than the T-model. - So, for three phase load flow, its not - implemented + - "pi" - This is not recommended, since it is less exact than the T-model. So, for three phase load flow, its not implemented + **trafo_loading** (str, "current") - mode of calculation for transformer loading @@ -222,16 +220,14 @@ def runpp_3ph(net, calculate_voltage_angles=True, init="auto", the transformer. - "current"- transformer loading is given as ratio of current - flow and rated current of the transformer. This is the recommended - setting, since thermal as well as magnetic effects in the - transformer depend on the current. + flow and rated current of the transformer. This is the recommended + setting, since thermal as well as magnetic effects in the + transformer depend on the current. - "power" - transformer loading is given as ratio of apparent - power flow to the rated apparent power of the transformer. - - **enforce_q_lims** (bool, False) + power flow to the rated apparent power of the transformer. - (Not tested with 3 Phase load flow) - respect generator reactive power - limits + **enforce_q_lims** (bool, False) (Not tested with 3 Phase load flow) + - respect generator reactive power limits If True, the reactive power limits in net.gen.max_q_mvar/min_q_mvar are respected in the loadflow. This is done by running a second @@ -243,29 +239,28 @@ def runpp_3ph(net, calculate_voltage_angles=True, init="auto", **check_connectivity** (bool, True) - Perform an extra connectivity - test after the conversion from pandapower to PYPOWER + test after the conversion from pandapower to PYPOWER. If True, an extra connectivity test based on SciPy Compressed Sparse Graph Routines is perfomed. If check finds unsupplied buses, they are set out of service in the ppc **voltage_depend_loads** (bool, True) + (Not tested with 3 Phase load flow) - consideration of voltage-dependent loads. - (Not tested with 3 Phase load flow) - consideration of - voltage-dependent loads. If False, net.load.const_z_percent and - net.load.const_i_percent are not considered, i.e. net.load.p_mw and - net.load.q_mvar are considered as constant-power loads. + If False, ``net.load.const_z_percent`` and ``net.load.const_i_percent`` + are not considered, i.e. ``net.load.p_mw`` and ``net.load.q_mvar`` + are considered as constant-power loads. - **consider_line_temperature** (bool, False) + **consider_line_temperature** (bool, False) (Not tested with 3 Phase + load flow) - adjustment of line impedance based on provided line temperature. - (Not tested with 3 Phase load flow) - adjustment of line - impedance based on provided line temperature. If True, net.line must - contain a column "temperature_degree_celsius". The temperature - dependency coefficient alpha must be provided in the net.line.alpha - column, otherwise the default value of 0.004 is used + If True, ``net.line`` must contain a column ``temperature_degree_celsius``. + The temperature dependency coefficient alpha must be provided in + the ``net.line.alpha`` column, otherwise the default value of 0.004 is used. - **KWARGS: + **KWARGS**: **numba** (bool, True) - Activation of numba JIT compiler in the newton solver @@ -293,53 +288,48 @@ def runpp_3ph(net, calculate_voltage_angles=True, init="auto", transformers are considered. Valid options are "hv", "mv", "lv" for HV/MV/LV side or "star" for the star point. - **v_debug** (bool, False) - - (Not tested with 3 Phase load flow) - if True, voltage values in each - newton-raphson iteration are logged in the ppc + **v_debug** (bool, False) (Not tested with 3 Phase load flow) - if True, + voltage values in each newton-raphson iteration are logged in the ppc. - **init_vm_pu** (string/float/array/Series, None) - - (Not tested with 3 Phase load flow) - Allows to define - initialization specifically for voltage magnitudes. - Only works with init == "auto"! + **init_vm_pu** (string/float/array/Series, None) (Not tested with 3 + Phase load flow) - Allows to define initialization specifically for + voltage magnitudes. Only works with ``init == "auto"``! - "auto": all buses are initialized with the mean value of all - voltage controlled elements in the grid + voltage controlled elements in the grid - "flat" for flat start from 1.0 - "results": voltage magnitude vector is taken from result table - a float with which all voltage magnitudes are initialized - an iterable with a voltage magnitude value for each bus - (length and order has to match with the buses in net.bus) + (length and order has to match with the buses in net.bus) - a pandas Series with a voltage magnitude value for each bus - (indexes have to match the indexes in net.bus) - - **init_va_degree** (string/float/array/Series, None) + (indexes have to match the indexes in net.bus) - (Not tested with 3 Phase load flow)- - Allows to define initialization specifically for voltage angles. - Only works with init == "auto"! + **init_va_degree** (string/float/array/Series, None) (Not tested with + 3 Phase load flow) - Allows to define initialization specifically for voltage angles. + Only works with ``init == "auto"``! - "auto": voltage angles are initialized from DC power flow - if angles are calculated or as 0 otherwise + if angles are calculated or as 0 otherwise - "dc": voltage angles are initialized from DC power flow - "flat" for flat start from 0 - "results": voltage angle vector is taken from result table - a float with which all voltage angles are initialized - an iterable with a voltage angle value for each bus (length - and order has to match with the buses in net.bus) + and order has to match with the buses in net.bus) - a pandas Series with a voltage angle value for each bus (indexes - have to match the indexes in net.bus) + have to match the indexes in net.bus) - **recycle** (dict, none) - - - Reuse of internal powerflow variables for - time series calculation + **recycle** (dict, none) - Reuse of internal powerflow variables for + time series calculation. Contains a dict with the following parameters: bus_pq: If True PQ values of buses are updated + gen: If True Sbus and the gen table in the ppc are recalculated + Ybus: If True the admittance matrix (Ybus, Yf, Yt) is taken from + ppc["internal"] and not reconstructed **neglect_open_switch_branches** (bool, False) @@ -353,9 +343,12 @@ def runpp_3ph(net, calculate_voltage_angles=True, init="auto", To add zero sequence parameters into network from the standard type EXAMPLES: - >>> from pandapower.pf.runpp_3ph import runpp_3ph + Use this module like this: + + .. code-block:: python - >>> runpp_3ph(net) + from pandapower.pf.runpp_3ph import runpp_3ph + runpp_3ph(net) NOTES: - Three phase load flow uses Sequence Frame for power flow solution. diff --git a/pandapower/plotting/colormaps.py b/pandapower/plotting/colormaps.py index 190f81069..bc44cb2fb 100644 --- a/pandapower/plotting/colormaps.py +++ b/pandapower/plotting/colormaps.py @@ -83,10 +83,12 @@ def cmap_logarithmic(min_value, max_value, colors): Can be used to create a logarithmic colormap. The colormap itself has a linear segmentation of the given colors. The values however will be matched to the colors based on a logarithmic normalization (c.f. matplotlib.colors.LogNorm for more information on how the logarithmic - normalization works).\nPlease note: There are numerous ways of how a logarithmic scale might - be created, the intermediate values on the scale are created automatically based on the minimum - and maximum given values in analogy to the LogNorm. Also, the logarithmic colormap can only be - used with at least 3 colors and increasing values which all have to be above 0. + normalization works). + + \nPlease note: {There are numerous ways of how a logarithmic scale might + be created, the intermediate values on the scale are created automatically based on the minimum + and maximum given values in analogy to the LogNorm. Also, the logarithmic colormap can only be + used with at least 3 colors and increasing values which all have to be above 0.} INPUT: **min_value** (float) - the minimum value of the colorbar diff --git a/pandapower/plotting/plotly/pf_res_plotly.py b/pandapower/plotting/plotly/pf_res_plotly.py index ee0b0054f..bbabfc688 100644 --- a/pandapower/plotting/plotly/pf_res_plotly.py +++ b/pandapower/plotting/plotly/pf_res_plotly.py @@ -71,7 +71,7 @@ def pf_res_plotly(net, cmap="Jet", use_line_geodata=None, on_map=False, projecti **cpos_load** (float, 1.1) - position of the loading percent colorbar - **filename** (str, "temp-plot.html") - filename / path to plot to. Should end on *.html + **filename** (str, "temp-plot.html") - filename / path to plot to. Should end on `*.html` **auto_open** (bool, True) - automatically open plot in browser diff --git a/pandapower/run.py b/pandapower/run.py index ab8b6bc2d..b2cdac9c7 100644 --- a/pandapower/run.py +++ b/pandapower/run.py @@ -373,14 +373,14 @@ def rundcopp(net, verbose=False, check_connectivity=True, suppress_warnings=True net.sgen.controllable / net.gen.controllable signals if a generator is controllable. If False, the active and reactive power are assigned as in a normal power flow. If yes, the following flexibilities apply: - - net.sgen.min_p_mw / net.sgen.max_p_mw - - net.gen.min_p_mw / net.gen.max_p_mw - - net.load.min_p_mw / net.load.max_p_mw - - Network constraints can be defined for buses, lines and transformers the elements in the following columns: - - net.line.max_loading_percent - - net.trafo.max_loading_percent - - net.trafo3w.max_loading_percent + - net.sgen.min_p_mw / net.sgen.max_p_mw + - net.gen.min_p_mw / net.gen.max_p_mw + - net.load.min_p_mw / net.load.max_p_mw + + Network constraints can be defined for buses, lines and transformers the elements in the following columns: + - net.line.max_loading_percent + - net.trafo.max_loading_percent + - net.trafo3w.max_loading_percent INPUT: **net** - The pandapower format network diff --git a/pandapower/runpm.py b/pandapower/runpm.py index 6121b6790..30f9acb16 100644 --- a/pandapower/runpm.py +++ b/pandapower/runpm.py @@ -83,8 +83,8 @@ def runpm(net, julia_file=None, pp_to_pm_callback=None, calculate_voltage_angles **opf_flow_lim** (str, "I") - Quantity to limit for branch flow constraints, in line with matpower's "opf.flowlim" parameter - "S" - apparent power flow (limit in MVA), - "I" - current magnitude (limit in MVA at 1 p.u. voltage) + "S" - apparent power flow (limit in MVA), + "I" - current magnitude (limit in MVA at 1 p.u. voltage) """ net._options = {} ac = True if "DC" not in pm_model else False @@ -229,8 +229,8 @@ def runpm_ac_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, **opf_flow_lim** (str, "I") - Quantity to limit for branch flow constraints, in line with matpower's "opf.flowlim" parameter - "S" - apparent power flow (limit in MVA), - "I" - current magnitude (limit in MVA at 1 p.u. voltage) + "S" - apparent power flow (limit in MVA), + "I" - current magnitude (limit in MVA at 1 p.u. voltage) **delete_buffer_file** (Bool, True) - If True, the .json file used by powermodels will be deleted after optimization. diff --git a/pandapower/std_types.py b/pandapower/std_types.py index 2073bf279..5eb5bda76 100644 --- a/pandapower/std_types.py +++ b/pandapower/std_types.py @@ -19,9 +19,11 @@ def create_std_type(net, data, name, element="line", overwrite=True, check_requi """ Creates type data in the type database. The parameters that are used for the loadflow have to be at least contained in data. These parameters are: + - c_nf_per_km, r_ohm_per_km, x_ohm_per_km and max_i_ka (for lines) - sn_mva, vn_hv_kv, vn_lv_kv, vk_percent, vkr_percent, pfe_kw, i0_percent, shift_degree* (for transformers) - 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* (for 3-winding-transformers) + additional parameters can be added and later loaded into pandapower with the function "parameter_from_std_type". @@ -312,7 +314,8 @@ def find_std_type_by_parameter(net, data, element="line", epsilon=0.): def add_zero_impedance_parameters(net): """ - Adds all parameters required for zero sequence impedance calculations + Adds all parameters required for zero sequence impedance calculations. + INPUT: **net** - pandapower network diff --git a/pandapower/toolbox.py b/pandapower/toolbox.py index 9ccc12e9b..7768dbe01 100644 --- a/pandapower/toolbox.py +++ b/pandapower/toolbox.py @@ -776,7 +776,7 @@ def nets_equal(net1, net2, check_only_results=False, exclude_elms=None, **kwargs def clear_result_tables(net): """ - Clears all 'res_...' DataFrames in net. + Clears all ``res_`` DataFrames in net. """ for key in net.keys(): if isinstance(net[key], pd.DataFrame) and key[:3] == "res" and net[key].shape[0]: @@ -1766,6 +1766,7 @@ def replace_zero_branches_with_switches(net, elements=('line', 'impedance'), zer def replace_impedance_by_line(net, index=None, only_valid_replace=True, max_i_ka=np.nan): """ Creates lines by given impedances data, while the impedances are dropped. + INPUT: **net** - pandapower net @@ -1804,6 +1805,7 @@ def replace_impedance_by_line(net, index=None, only_valid_replace=True, max_i_ka def replace_line_by_impedance(net, index=None, sn_mva=None, only_valid_replace=True): """ Creates impedances by given lines data, while the lines are dropped. + INPUT: **net** - pandapower net @@ -2318,7 +2320,8 @@ def replace_pq_elmtype(net, old_elm, new_elm, old_indices=None, new_indices=None def replace_ward_by_internal_elements(net, wards=None): """ - Replaces wards by loads and shunts + Replaces wards by loads and shunts. + INPUT: **net** - pandapower net @@ -2374,6 +2377,7 @@ def replace_ward_by_internal_elements(net, wards=None): def replace_xward_by_internal_elements(net, xwards=None): """ Replaces xward by loads, shunts, impedance and generators + INPUT: **net** - pandapower net @@ -2430,9 +2434,9 @@ def get_element_index(net, element, name, exact_match=True): **name** - Name of the element to match. OPTIONAL: - **exact_match** (boolean, True) - True: Expects exactly one match, raises - UserWarning otherwise. - False: returns all indices containing the name + **exact_match** (boolean, True) - + True: Expects exactly one match, raises UserWarning otherwise. + False: returns all indices containing the name OUTPUT: **index** - The indices of matching element(s). @@ -2456,26 +2460,27 @@ def get_element_indices(net, element, name, exact_match=True): INPUT: **net** - pandapower network - **element** (str or iterable of strings) - Element table to get indices from ("line", "bus", - "trafo" etc.) + **element** (str, string iterable) - Element table to get indices from + ("line", "bus", "trafo" etc.). - **name** (str or iterable of strings) - Name of the element to match. + **name** (str) - Name of the element to match. OPTIONAL: - **exact_match** (boolean, True) - True: Expects exactly one match, raises - UserWarning otherwise. - False: returns all indices containing the name + **exact_match** (boolean, True) + + - True: Expects exactly one match, raises UserWarning otherwise. + - False: returns all indices containing the name OUTPUT: **index** (list) - List of the indices of matching element(s). EXAMPLE: - import pandapower.networks as pn - import pandapower as pp - net = pn.example_multivoltage() - idx1 = pp.get_element_indices(net, "bus", ["Bus HV%i" % i for i in range(1, 4)]) - idx2 = pp.get_element_indices(net, ["bus", "line"], "HV", exact_match=False) - idx3 = pp.get_element_indices(net, ["bus", "line"], ["Bus HV3", "MV Line6"]) + >>> import pandapower.networks as pn + >>> import pandapower as pp + >>> net = pn.example_multivoltage() + >>> idx1 = pp.get_element_indices(net, "bus", ["Bus HV%i" % i for i in range(1, 4)]) + >>> idx2 = pp.get_element_indices(net, ["bus", "line"], "HV", exact_match=False) + >>> idx3 = pp.get_element_indices(net, ["bus", "line"], ["Bus HV3", "MV Line6"]) """ if isinstance(element, str) and isinstance(name, str): element = [element] @@ -2523,11 +2528,16 @@ def get_connected_elements(net, element, buses, respect_switches=True, respect_i **buses** (single integer or iterable of ints) OPTIONAL: - **respect_switches** (boolean, True) - True: open switches will be respected - False: open switches will be ignored - **respect_in_service** (boolean, False) - True: in_service status of connected lines will be - respected - False: in_service status will be ignored + **respect_switches** (boolean, True) + + - True: open switches will be respected + - False: open switches will be ignored + + **respect_in_service** (boolean, False) + + - True: in_service status of connected lines will be respected + - False: in_service status will be ignored + OUTPUT: **connected_elements** (set) - Returns connected elements. @@ -2598,19 +2608,29 @@ def get_connected_buses(net, buses, consider=("l", "s", "t", "t3", "i"), respect **buses** (single integer or iterable of ints) OPTIONAL: - **respect_switches** (boolean, True) - True: open switches will be respected - False: open switches will be ignored - **respect_in_service** (boolean, False) - True: in_service status of connected buses - will be respected - False: in_service status will be - ignored - **consider** (iterable, ("l", "s", "t", "t3", "i")) - Determines, which types of + **respect_switches** (boolean, True) + + - True: open switches will be respected + - False: open switches will be ignored + + **respect_in_service** (boolean, False) + + - True: in_service status of connected buses will be respected + - False: in_service status will be ignored + + **consider** (iterable, ("l", "s", "t", "t3", "i")) - Determines, which types of connections will be considered. - l: lines - s: switches - t: trafos - t3: trafo3ws - i: impedances + + l: lines + + s: switches + + t: trafos + + t3: trafo3ws + + i: impedances + OUTPUT: **cl** (set) - Returns connected buses. @@ -2708,17 +2728,25 @@ def get_connected_buses_at_element(net, element, et, respect_in_service=False): **element** (integer) - **et** (string) - Type of the source element: - l, line: line - s, switch: switch - t, trafo: trafo - t3, trafo3w: trafo3w - i, impedance: impedance + **et** (string) - Type of the source element: + + l, line: line + + s, switch: switch + + t, trafo: trafo + + t3, trafo3w: trafo3w + + i, impedance: impedance OPTIONAL: - **respect_in_service** (boolean, False) - True: in_service status of connected buses - will be respected - False: in_service status will be ignored + **respect_in_service** (boolean, False) + + True: in_service status of connected buses will be respected + + False: in_service status will be ignored + OUTPUT: **cl** (set) - Returns connected switches. diff --git a/pandapower/topology/graph_searches.py b/pandapower/topology/graph_searches.py index 6aef72e80..92180d1e8 100644 --- a/pandapower/topology/graph_searches.py +++ b/pandapower/topology/graph_searches.py @@ -58,8 +58,8 @@ def connected_components(mg, notravbuses=set()): OPTIONAL: - **notravbuses** (set) - Indices of notravbuses: lines connected to these buses are - not being considered in the graph + **notravbuses** (set) - Indices of notravbuses: lines connected to these buses are + not being considered in the graph OUTPUT: **cc** (generator) - Returns a generator that yields all clusters of buses connected @@ -98,15 +98,17 @@ def calc_distance_to_bus(net, bus, respect_switches=True, nogobuses=None, OPTIONAL: - **respect_switches** (boolean, True) - True: open line switches are being considered - (no edge between nodes) - False: open line switches are being ignored + **respect_switches** (boolean, True) - **nogobuses** (integer/list, None) - nogobuses are not being considered + True: open line switches are being considered (no edge between nodes). - **notravbuses** (integer/list, None) - lines connected to these buses are not being - considered - **weight** (string, None) – Edge data key corresponding to the edge weight + False: open line switches are being ignored. + + **nogobuses** (integer/list, None) - nogobuses are not being considered. + + **notravbuses** (integer/list, None) - lines connected to these buses are not being considered. + + **weight** (string, None) – Edge data key corresponding to the edge weight. OUTPUT: **dist** - Returns a pandas series with containing all distances to the source bus From 40bc3c4ff0c6ea4a4b2380c57b23123031aa4b47 Mon Sep 17 00:00:00 2001 From: Jan Wiemer Date: Wed, 18 Aug 2021 10:57:43 +0200 Subject: [PATCH 183/422] Remove trainling whitespaces --- pandapower/plotting/colormaps.py | 2 +- pandapower/toolbox.py | 32 +++++++++++++-------------- pandapower/topology/graph_searches.py | 2 +- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/pandapower/plotting/colormaps.py b/pandapower/plotting/colormaps.py index bc44cb2fb..95dc2f1a4 100644 --- a/pandapower/plotting/colormaps.py +++ b/pandapower/plotting/colormaps.py @@ -84,7 +84,7 @@ def cmap_logarithmic(min_value, max_value, colors): the given colors. The values however will be matched to the colors based on a logarithmic normalization (c.f. matplotlib.colors.LogNorm for more information on how the logarithmic normalization works). - + \nPlease note: {There are numerous ways of how a logarithmic scale might be created, the intermediate values on the scale are created automatically based on the minimum and maximum given values in analogy to the LogNorm. Also, the logarithmic colormap can only be diff --git a/pandapower/toolbox.py b/pandapower/toolbox.py index 7768dbe01..ceeb30c51 100644 --- a/pandapower/toolbox.py +++ b/pandapower/toolbox.py @@ -1766,7 +1766,7 @@ def replace_zero_branches_with_switches(net, elements=('line', 'impedance'), zer def replace_impedance_by_line(net, index=None, only_valid_replace=True, max_i_ka=np.nan): """ Creates lines by given impedances data, while the impedances are dropped. - + INPUT: **net** - pandapower net @@ -1805,7 +1805,7 @@ def replace_impedance_by_line(net, index=None, only_valid_replace=True, max_i_ka def replace_line_by_impedance(net, index=None, sn_mva=None, only_valid_replace=True): """ Creates impedances by given lines data, while the lines are dropped. - + INPUT: **net** - pandapower net @@ -2321,7 +2321,7 @@ def replace_pq_elmtype(net, old_elm, new_elm, old_indices=None, new_indices=None def replace_ward_by_internal_elements(net, wards=None): """ Replaces wards by loads and shunts. - + INPUT: **net** - pandapower net @@ -2377,7 +2377,7 @@ def replace_ward_by_internal_elements(net, wards=None): def replace_xward_by_internal_elements(net, xwards=None): """ Replaces xward by loads, shunts, impedance and generators - + INPUT: **net** - pandapower net @@ -2434,7 +2434,7 @@ def get_element_index(net, element, name, exact_match=True): **name** - Name of the element to match. OPTIONAL: - **exact_match** (boolean, True) - + **exact_match** (boolean, True) - True: Expects exactly one match, raises UserWarning otherwise. False: returns all indices containing the name @@ -2467,7 +2467,7 @@ def get_element_indices(net, element, name, exact_match=True): OPTIONAL: **exact_match** (boolean, True) - + - True: Expects exactly one match, raises UserWarning otherwise. - False: returns all indices containing the name @@ -2528,16 +2528,16 @@ def get_connected_elements(net, element, buses, respect_switches=True, respect_i **buses** (single integer or iterable of ints) OPTIONAL: - **respect_switches** (boolean, True) - + **respect_switches** (boolean, True) + - True: open switches will be respected - False: open switches will be ignored - + **respect_in_service** (boolean, False) - + - True: in_service status of connected lines will be respected - False: in_service status will be ignored - + OUTPUT: **connected_elements** (set) - Returns connected elements. @@ -2609,16 +2609,16 @@ def get_connected_buses(net, buses, consider=("l", "s", "t", "t3", "i"), respect OPTIONAL: **respect_switches** (boolean, True) - + - True: open switches will be respected - False: open switches will be ignored - + **respect_in_service** (boolean, False) - + - True: in_service status of connected buses will be respected - False: in_service status will be ignored - - **consider** (iterable, ("l", "s", "t", "t3", "i")) - Determines, which types of + + **consider** (iterable, ("l", "s", "t", "t3", "i")) - Determines, which types of connections will be considered. l: lines diff --git a/pandapower/topology/graph_searches.py b/pandapower/topology/graph_searches.py index 92180d1e8..7a3d039dc 100644 --- a/pandapower/topology/graph_searches.py +++ b/pandapower/topology/graph_searches.py @@ -58,7 +58,7 @@ def connected_components(mg, notravbuses=set()): OPTIONAL: - **notravbuses** (set) - Indices of notravbuses: lines connected to these buses are + **notravbuses** (set) - Indices of notravbuses: lines connected to these buses are not being considered in the graph OUTPUT: From 77de6545fa5694551cd26dbc46af2066ff6f33be Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Wed, 18 Aug 2021 15:11:11 +0200 Subject: [PATCH 184/422] test CI --- pandapower/opf/run_powermodels.py | 1 + 1 file changed, 1 insertion(+) diff --git a/pandapower/opf/run_powermodels.py b/pandapower/opf/run_powermodels.py index c538d5630..09e655c9a 100644 --- a/pandapower/opf/run_powermodels.py +++ b/pandapower/opf/run_powermodels.py @@ -79,6 +79,7 @@ def _call_pandamodels(buffer_file, julia_file, dev_mode): # pragma: no cover except ImportError: raise ImportError("cannot use PandaModels") + Main.buffer_file = buffer_file result_pm = Main.eval(julia_file + "(buffer_file)") return result_pm From 03f26b8349b07e227c17193dc9583a51d0b00a4a Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Wed, 18 Aug 2021 15:16:51 +0200 Subject: [PATCH 185/422] Update github_test_action.yml run test for PR for all branches --- .github/workflows/github_test_action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/github_test_action.yml b/.github/workflows/github_test_action.yml index b718f3a83..41256f0e1 100644 --- a/.github/workflows/github_test_action.yml +++ b/.github/workflows/github_test_action.yml @@ -9,7 +9,7 @@ on: paths-ignore: - 'CHANGELOG.rst' pull_request: - branches: [ master, develop ] + branches: '*' paths-ignore: - 'CHANGELOG.rst' From f0b47502a1573c0bb133a887be375bd1208c007c Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Wed, 18 Aug 2021 15:20:22 +0200 Subject: [PATCH 186/422] simple_plot: added docstring for plot_gens fixes #1322 (added docstring for plot_gens) --- pandapower/plotting/simple_plot.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pandapower/plotting/simple_plot.py b/pandapower/plotting/simple_plot.py index 3ec409726..a92c1de93 100644 --- a/pandapower/plotting/simple_plot.py +++ b/pandapower/plotting/simple_plot.py @@ -51,6 +51,8 @@ def simple_plot(net, respect_switches=False, line_width=1.0, bus_size=1.0, ext_g **trafo_size** (float, 1.0) - Relative size of trafos to plot. **plot_loads** (bool, False) - Flag to decide whether load symbols should be drawn. + + **plot_gens** (bool, False) - Flag to decide whether gen symbols should be drawn. **plot_sgens** (bool, False) - Flag to decide whether sgen symbols should be drawn. From 13e7d114a5da4f215e54a60d19269effdf201d10 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 27 Aug 2021 18:23:51 +0200 Subject: [PATCH 187/422] check tap_pos inside control step for more stability --- pandapower/control/controller/trafo/ContinuousTapControl.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pandapower/control/controller/trafo/ContinuousTapControl.py b/pandapower/control/controller/trafo/ContinuousTapControl.py index 5b9255344..ed5fa0b9a 100644 --- a/pandapower/control/controller/trafo/ContinuousTapControl.py +++ b/pandapower/control/controller/trafo/ContinuousTapControl.py @@ -61,10 +61,6 @@ def __init__(self, net, tid, vm_set_pu, tol=1e-3, side="lv", trafotype="2W", in_ self.check_tap_bounds = check_tap_bounds self.vm_set_pu = vm_set_pu self.trafotype = trafotype - if trafotype == "2W": - net.trafo["tap_pos"] = net.trafo.tap_pos.astype(float) - elif trafotype == "3W": - net.trafo3w["tap_pos"] = net.trafo3w.tap_pos.astype(float) self.tol = tol def control_step(self, net): @@ -78,6 +74,8 @@ def control_step(self, net): self.tap_pos = np.clip(self.tap_pos, self.tap_min, self.tap_max) # WRITE TO NET + if net[self.trafotable].tap_pos.dtype != "float": + net[self.trafotable].tap_pos = net[self.trafotable].tap_pos.astype(float) net[self.trafotable].at[self.tid, "tap_pos"] = self.tap_pos def is_converged(self, net): From 8f72e5dea0d3bf59075ec639420b2a0a3f2c2c04 Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Tue, 31 Aug 2021 15:31:09 +0200 Subject: [PATCH 188/422] add "results" to runopp init parameter close #764 --- CHANGELOG.rst | 1 + pandapower/optimal_powerflow.py | 8 ++++++-- pandapower/run.py | 3 ++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 0723d5964..d9446059d 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,5 +1,6 @@ Change Log +- [ADDED] "results" initialization for runopp() - [CHANGED] toolbox function nets_equal() - [ADDED] toolbox function merge_same_bus_generation_plants() diff --git a/pandapower/optimal_powerflow.py b/pandapower/optimal_powerflow.py index e6df7cc13..55bce65e2 100644 --- a/pandapower/optimal_powerflow.py +++ b/pandapower/optimal_powerflow.py @@ -17,7 +17,7 @@ from pandapower.pypower.printpf import printpf from pandapower.pd2ppc import _pd2ppc from pandapower.pf.run_newton_raphson_pf import _run_newton_raphson_pf -from pandapower.results import _copy_results_ppci_to_ppc, init_results, \ +from pandapower.results import _copy_results_ppci_to_ppc, init_results, verify_results, \ _extract_results @@ -36,7 +36,11 @@ def _optimal_powerflow(net, verbose, suppress_warnings, **kwargs): net["OPF_converged"] = False net["converged"] = False _add_auxiliary_elements(net) - init_results(net, "opf") + + if not ac or net["_options"]["init_results"]: + verify_results(net) + else: + init_results(net, "opf") ppc, ppci = _pd2ppc(net) diff --git a/pandapower/run.py b/pandapower/run.py index ab8b6bc2d..49c2dacec 100644 --- a/pandapower/run.py +++ b/pandapower/run.py @@ -326,12 +326,13 @@ def runopp(net, verbose=False, calculate_voltage_angles=True, check_connectivity These warnings are suppressed by this option, however keep in mind all other pypower warnings are suppressed, too. - **init** (str, "flat") - init of starting opf vector. Options are "flat" or "pf" + **init** (str, "flat") - init of starting opf vector. Options are "flat", "pf" or "results" Starting solution vector (x0) for opf calculations is determined by this flag. Options are: "flat" (default): starting vector is (upper bound - lower bound) / 2 "pf": a power flow is executed prior to the opf and the pf solution is the starting vector. This may improve convergence, but takes a longer runtime (which are probably neglectible for opf calculations) + "results": voltage magnitude vector is taken from result table **delta** (float, 1e-10) - power tolerance From 3612125d0e1296abec9d4b5bff48ce39a027292f Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Tue, 7 Sep 2021 11:14:24 +0200 Subject: [PATCH 189/422] OPF.validate_opf_input: correct logging of na_col --- pandapower/opf/validate_opf_input.py | 33 +++++++++++++++------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/pandapower/opf/validate_opf_input.py b/pandapower/opf/validate_opf_input.py index 98db3422b..760f24d29 100644 --- a/pandapower/opf/validate_opf_input.py +++ b/pandapower/opf/validate_opf_input.py @@ -30,22 +30,25 @@ def _check_necessary_opf_parameters(net, logger): else: controllables = net[element_type].index if element_type == 'gen' else [] - missing_col = columns.loc[~columns.isin(net[element_type].columns)].values - na_col = [col for col in set(columns)-set(missing_col) if - net[element_type][col].isnull().any()] - # --- logging for missing data in element tables with controllables - if len(controllables) and len(missing_col): - if element_type != "ext_grid": - logger.error("These columns are missing in " + element_type + ": " + - str(missing_col)) - error = True - else: # "ext_grid" -> no error due to missing columns at ext_grid - logger.debug("These missing columns in ext_grid are considered in OPF as " + - "+- 1000 TW.: " + str(missing_col)) - # determine missing values - if len(na_col): - missing_val.append(element_type) + if len(controllables): + + missing_col = columns.loc[~columns.isin(net[element_type].columns)].values + na_col = [col for col in set(columns)-set(missing_col) if + net[element_type][col].isnull().any()] + + if len(missing_col): + if element_type != "ext_grid": + logger.error("These columns are missing in " + element_type + ": " + + str(missing_col)) + error = True + else: # "ext_grid" -> no error due to missing columns at ext_grid + logger.debug("These missing columns in ext_grid are considered in OPF as " + + "+- 1000 TW.: " + str(missing_col)) + + # determine missing values + if len(na_col): + missing_val.append(element_type) if missing_val: logger.info("These elements have missing power constraint values, which are considered " + From 82a3122c6434edb8edab459e1e6e704ea4baee50 Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Tue, 7 Sep 2021 17:46:15 +0200 Subject: [PATCH 190/422] poly_cost and pwl_cost consideration in merge_nets() --- CHANGELOG.rst | 1 + pandapower/test/api/test_toolbox.py | 10 +++++++++- pandapower/toolbox.py | 7 +++++-- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index d9446059d..692d70734 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,5 +1,6 @@ Change Log +- [FIXED] poly_cost and pwl_cost consideration in merge_nets() - [ADDED] "results" initialization for runopp() - [CHANGED] toolbox function nets_equal() - [ADDED] toolbox function merge_same_bus_generation_plants() diff --git a/pandapower/test/api/test_toolbox.py b/pandapower/test/api/test_toolbox.py index 9e3884b51..6ded24e62 100644 --- a/pandapower/test/api/test_toolbox.py +++ b/pandapower/test/api/test_toolbox.py @@ -460,17 +460,25 @@ def test_get_connected_lines_at_bus(): def test_merge_and_split_nets(): net1 = nw.mv_oberrhein() + pp.create_poly_cost(net1, 2, "sgen", 8) + pp.create_poly_cost(net1, 0, "sgen", 9) # TODO there are some geodata values in oberrhein without corresponding lines net1.line_geodata.drop(set(net1.line_geodata.index) - set(net1.line.index), inplace=True) n1 = len(net1.bus) pp.runpp(net1) - net2 = nw.create_cigre_network_mv() + net2 = nw.create_cigre_network_mv(with_der="pv_wind") + pp.create_poly_cost(net2, 3, "sgen", 10) + pp.create_poly_cost(net2, 0, "sgen", 11) pp.runpp(net2) net = pp.merge_nets(net1, net2) pp.runpp(net) assert np.allclose(net.res_bus.vm_pu.iloc[:n1].values, net1.res_bus.vm_pu.values) assert np.allclose(net.res_bus.vm_pu.iloc[n1:].values, net2.res_bus.vm_pu.values) + assert (net1.sgen.name.loc[net1.poly_cost.element].append( + net2.sgen.name.loc[net2.poly_cost.element]).values == + net.sgen.name.loc[net.poly_cost.element].values).all() + net3 = pp.select_subnet(net, net.bus.index[:n1], include_results=True) assert pp.dataframes_equal(net3.res_bus[["vm_pu"]], net1.res_bus[["vm_pu"]]) diff --git a/pandapower/toolbox.py b/pandapower/toolbox.py index ceeb30c51..19622a0bc 100644 --- a/pandapower/toolbox.py +++ b/pandapower/toolbox.py @@ -1613,11 +1613,11 @@ def merge_nets(net1, net2, validate=True, merge_results=True, tol=1e-9, def adapt_element_idx_references(net, element, element_type, offset=0): """ - used for switch and measurement + used for switch, measurement, poly_cost and pwl_cost """ # element_type[0] == "l" for "line", etc.: et = element_type[0] if element == "switch" else element_type - et_col = "et" if element == "switch" else "element_type" + et_col = "et" if element in ["switch", "poly_cost", "pwl_cost"] else "element_type" elements = net[element][net[element][et_col] == et] new_index = [net[element_type].index.get_loc(ix) + offset for ix in elements.element.values] if len(new_index): @@ -1633,6 +1633,9 @@ def adapt_element_idx_references(net, element, element_type, offset=0): adapt_element_idx_references(net1, element, "line") adapt_element_idx_references(net2, element, "trafo", offset=len(net1.trafo)) adapt_element_idx_references(net1, element, "trafo") + if element in ["poly_cost", "pwl_cost"]: + for et in ["gen", "sgen", "ext_grid", "load", "dcline", "storage"]: + adapt_element_idx_references(net2, element, et, offset=len(net1[et])) if element == "line_geodata": ni = [net1.line.index.get_loc(ix) for ix in net1["line_geodata"].index] net1.line_geodata.set_index(np.array(ni), inplace=True) From e58c07f2bc54b87787908e6e75ad98bfb6f07779 Mon Sep 17 00:00:00 2001 From: elodin Date: Mon, 13 Sep 2021 12:58:57 +0200 Subject: [PATCH 191/422] minor linting corrections --- pandapower/results_branch.py | 53 ++++++++++------------ pandapower/test/loadflow/test_runpp_3ph.py | 3 +- 2 files changed, 25 insertions(+), 31 deletions(-) diff --git a/pandapower/results_branch.py b/pandapower/results_branch.py index c0bb28c11..c71fc5db9 100644 --- a/pandapower/results_branch.py +++ b/pandapower/results_branch.py @@ -7,12 +7,10 @@ import numpy as np import pandas as pd from pandapower.auxiliary import _sum_by_group, I_from_SV_elementwise, sequence_to_phase, S_from_VI_elementwise -from pandapower.auxiliary import _sum_by_group from pandapower.pypower.idx_brch import F_BUS, T_BUS, PF, QF, PT, QT, BR_R from pandapower.pypower.idx_bus import BASE_KV, VM, VA - def _get_branch_results(net, ppc, bus_lookup_aranged, pq_buses, suffix=None): """ Extract the branch results and writes it in the Dataframe net.res_line, net.res_trafo, net.res_trafo3w... @@ -62,7 +60,7 @@ def _get_branch_results_3ph(net, ppc0, ppc1, ppc2, bus_lookup_aranged, pq_buses) # _get_xward_branch_results(net, ppc, bus_lookup_aranged, pq_buses) # _get_switch_results(net, i_ft) - + def _get_branch_flows(ppc): br_idx = ppc["branch"][:, (F_BUS, T_BUS)].real.astype(int) vm_ft = ppc["bus"][br_idx, VM] * ppc["bus"][br_idx, BASE_KV] @@ -76,17 +74,17 @@ def _get_branch_flows_3ph(ppc0, ppc1, ppc2): br_from_idx = ppc1["branch"][:, F_BUS].real.astype(int) br_to_idx = ppc1["branch"][:, T_BUS].real.astype(int) V012_f = np.array([(ppc["bus"][br_from_idx, VM] * ppc["bus"][br_from_idx, BASE_KV] * - np.exp(1j * np.deg2rad(ppc["bus"][br_from_idx, VA]))).flatten() for ppc in [ppc0, ppc1, ppc2]]) + np.exp(1j * np.deg2rad(ppc["bus"][br_from_idx, VA]))).flatten() for ppc in [ppc0, ppc1, ppc2]]) V012_t = np.array([(ppc["bus"][br_to_idx, VM] * ppc["bus"][br_to_idx, BASE_KV] * - np.exp(1j * np.deg2rad(ppc["bus"][br_to_idx, VA]))).flatten() for ppc in [ppc0, ppc1, ppc2]]) + np.exp(1j * np.deg2rad(ppc["bus"][br_to_idx, VA]))).flatten() for ppc in [ppc0, ppc1, ppc2]]) S012_f = np.array([((ppc["branch"][:, PF].real + - 1j * ppc["branch"][:, QF].real) ) - for ppc in [ppc0, ppc1, ppc2]]) + 1j * ppc["branch"][:, QF].real)) + for ppc in [ppc0, ppc1, ppc2]]) S012_t = np.array([((ppc["branch"][:, PT].real + - 1j * ppc["branch"][:, QT].real) ) - for ppc in [ppc0, ppc1, ppc2]]) - I012_f = I_from_SV_elementwise(S012_f , V012_f / np.sqrt(3)) - I012_t = I_from_SV_elementwise(S012_t , V012_t / np.sqrt(3)) + 1j * ppc["branch"][:, QT].real)) + for ppc in [ppc0, ppc1, ppc2]]) + I012_f = I_from_SV_elementwise(S012_f, V012_f / np.sqrt(3)) + I012_t = I_from_SV_elementwise(S012_t, V012_t / np.sqrt(3)) return I012_f, S012_f, V012_f, I012_t, S012_t, V012_t @@ -123,7 +121,7 @@ def _get_line_results(net, ppc, i_ft, suffix=None): to_bus = ppc["branch"][f:t, T_BUS].real.astype(int) # write to line - res_line_df = net["res_line"] if suffix is None else net["res_line%s"%suffix] + res_line_df = net["res_line"] if suffix is None else net["res_line%s" % suffix] res_line_df["p_from_mw"].values[:] = p_from_mw res_line_df["q_from_mvar"].values[:] = q_from_mvar @@ -177,15 +175,15 @@ def _get_line_results_3ph(net, ppc0, ppc1, ppc2, I012_f, V012_f, I012_t, V012_t) else: Pabcl_mw = np.zeros_like(Pabcf_mw) Qabcl_mvar = np.zeros_like(Qabct_mvar) - - #getting complex values of the sequence current line + + # getting complex values of the sequence current line Iabc_f_ka_complex = sequence_to_phase(I012_from_ka) Iabc_t_ka_complex = sequence_to_phase(I012_to_ka) - + Iabc_f_ka = np.abs(Iabc_f_ka_complex) Iabc_t_ka = np.abs(Iabc_t_ka_complex) Iabc_ka = np.maximum.reduce([Iabc_t_ka, Iabc_f_ka]) - + In_f_ka_complex = Iabc_f_ka_complex.sum(axis=0) In_f_ka = np.abs(In_f_ka_complex) # In_f_ia_n_degree = np.angle(In_f_ka_complex).flatten()*180/np.pi @@ -306,9 +304,9 @@ def _get_trafo_results_3ph(net, ppc0, ppc1, ppc2, I012_f, V012_f, I012_t, V012_t trafo_df = net["trafo"] Vabc_hv, Vabc_lv, Iabc_hv, Iabc_lv = [sequence_to_phase(X012) for X012 in - [V012_f[:, f:t], V012_t[:, f:t], I012_f[:, f:t], I012_t[:, f:t]]] + [V012_f[:, f:t], V012_t[:, f:t], I012_f[:, f:t], I012_t[:, f:t]]] Sabc_hv, Sabc_lv = [S_from_VI_elementwise(*Xabc_tup) / np.sqrt(3) for Xabc_tup in - [(Vabc_hv, Iabc_hv), (Vabc_lv, Iabc_lv)]] + [(Vabc_hv, Iabc_hv), (Vabc_lv, Iabc_lv)]] # Todo: Check why the sqrt(3) is necessary in the previous line as opposed to _get_line_results() Pabc_hv_mw = Sabc_hv.real Qabc_hv_mvar = Sabc_hv.imag @@ -320,17 +318,17 @@ def _get_trafo_results_3ph(net, ppc0, ppc1, ppc2, I012_f, V012_f, I012_t, V012_t else: Pabcl_mw = np.zeros_like(Pabc_hv_mw) Qabcl_mvar = np.zeros_like(Qabc_lv_mvar) - + Iabc_hv_ka = np.abs(sequence_to_phase(I012_hv_ka)) Iabc_lv_ka = np.abs(sequence_to_phase(I012_lv_ka)) - - #geting complex values of the sequence current + + # geting complex values of the sequence current # Iabc_hv_ka_complex = sequence_to_phase(I012_hv_ka) # Iabc_lv_ka_complex = sequence_to_phase(I012_lv_ka) -# +# # Iabc_hv_ka = np.abs(Iabc_hv_ka_complex) # Iabc_lv_ka = np.abs(Iabc_lv_ka_complex) -# +# # In_hv_ka_complex = Iabc_hv_ka_complex.sum(axis=0) # In_hv_ka = np.abs(In_hv_ka_complex) # In_hv_ia_n_degree = np.angle(In_hv_ka_complex).flatten()*180/np.pi @@ -338,7 +336,6 @@ def _get_trafo_results_3ph(net, ppc0, ppc1, ppc2, I012_f, V012_f, I012_t, V012_t # In_lv_ka = np.abs(In_lv_ka_complex) # In_lv_ia_n_degree = np.angle(In_lv_ka_complex).flatten()*180/np.pi - if trafo_loading == "current": trafo_df = net["trafo"] vns = np.vstack([trafo_df["vn_hv_kv"].values, trafo_df["vn_lv_kv"].values]).T @@ -390,7 +387,6 @@ def _get_trafo_results_3ph(net, ppc0, ppc1, ppc2, I012_f, V012_f, I012_t, V012_t res_trafo_df.index = net["trafo"].index.values - def _get_trafo3w_lookups(net): f, t = net._pd2ppc_lookups["branch"]["trafo3w"] hv = int(f + (t - f) / 3) @@ -456,7 +452,7 @@ def _get_trafo3w_results(net, ppc, s_ft, i_ft, suffix=None): lv_buses = ppc["branch"][mv:lv, T_BUS].real.astype(int) # write results to trafo3w dataframe - res_trafo3w_df = net["res_trafo3w"] if suffix is None else net["res_trafo3w%s"%suffix] + res_trafo3w_df = net["res_trafo3w"] if suffix is None else net["res_trafo3w%s" % suffix] res_trafo3w_df["p_hv_mw"].values[:] = p_hv_mw res_trafo3w_df["q_hv_mvar"].values[:] = q_hv_mvar @@ -480,7 +476,6 @@ def _get_trafo3w_results(net, ppc, s_ft, i_ft, suffix=None): res_trafo3w_df["loading_percent"].values[:] = loading_percent - def _get_impedance_results(net, ppc, i_ft, suffix=None): ac = net["_options"]["ac"] @@ -510,7 +505,7 @@ def _get_impedance_results(net, ppc, i_ft, suffix=None): i_to_ka = i_ft[f:t][:, 1] # write to impedance - res_impedance_df = net["res_impedance"] if suffix is None else net["res_impedance%s"%suffix] + res_impedance_df = net["res_impedance"] if suffix is None else net["res_impedance%s" % suffix] res_impedance_df["p_from_mw"].values[:] = p_from_mw res_impedance_df["q_from_mvar"].values[:] = q_from_mvar @@ -522,7 +517,6 @@ def _get_impedance_results(net, ppc, i_ft, suffix=None): res_impedance_df["i_to_ka"].values[:] = i_to_ka - def _get_xward_branch_results(net, ppc, bus_lookup_aranged, pq_buses, suffix=None): ac = net["_options"]["ac"] @@ -550,7 +544,6 @@ def _get_xward_branch_results(net, ppc, bus_lookup_aranged, pq_buses, suffix=Non res_xward_df.index = net["xward"].index - def _get_switch_results(net, i_ft, suffix=None): if not "switch" in net._pd2ppc_lookups["branch"]: return diff --git a/pandapower/test/loadflow/test_runpp_3ph.py b/pandapower/test/loadflow/test_runpp_3ph.py index 3c9895b3f..aa4cbcdcf 100644 --- a/pandapower/test/loadflow/test_runpp_3ph.py +++ b/pandapower/test/loadflow/test_runpp_3ph.py @@ -10,6 +10,7 @@ from pandapower.test.loadflow.PF_Results import get_PF_Results from pandapower.test.consistency_checks import runpp_3ph_with_consistency_checks, runpp_with_consistency_checks + @pytest.fixture def net(): v_base = 110 # 110kV Base Voltage @@ -406,7 +407,7 @@ def test_3ph_isolated_nodes(): "c_nf_per_km": 230}, "example_type") # Loads on supplied buses pp.create_asymmetric_load(net, busk, p_a_mw=50, q_a_mvar=50, p_b_mw=10, q_b_mvar=15, - p_c_mw=10, q_c_mvar=5) + p_c_mw=10, q_c_mvar=5) pp.create_load(net, bus=busl, p_mw=7, q_mvar=0.070, name="Load 1") # Loads on unsupplied buses pp.create_load(net, bus=busy, p_mw=70, q_mvar=70, name="Load Y") From f8b045c39bf1283423eb292412c54e5f9a368f12 Mon Sep 17 00:00:00 2001 From: elodin Date: Mon, 13 Sep 2021 13:29:47 +0200 Subject: [PATCH 192/422] PowerFactory results of the new validation network --- pandapower/test/loadflow/PF_Results.py | 824 +++---------------------- 1 file changed, 86 insertions(+), 738 deletions(-) diff --git a/pandapower/test/loadflow/PF_Results.py b/pandapower/test/loadflow/PF_Results.py index a020ff330..5612579f6 100644 --- a/pandapower/test/loadflow/PF_Results.py +++ b/pandapower/test/loadflow/PF_Results.py @@ -1,738 +1,86 @@ -import numpy as np - -def get_PF_Results(): - results=\ - { - 10: - { - - 0: - { - - 'delta' : - { - - 'Yyn': np.array - ([ -#10,0,deltaYyn -#BusTr_HV,Tr_LV,Load - 1.0000001787261197, 0.9990664471050634, 0.9408623912831601, - 0.9999997973033823, 0.9989329879720452, 0.9398981202882926, - 1.000000023970535, 0.9990124767159095, 0.9422153531204793, - - ] ) -, - 'YNyn': np.array - ([ -#10,0,deltaYNyn -#BusTr_HV,Tr_LV,Load - 1.0000001786899793, 0.9990638105447855, 0.9408586320432043, - 0.9999997971517767, 0.9989338020819162, 0.9398997093459485, - 1.000000024158281, 0.9990142941344189, 0.9422174830541402, - - ] ) -, - 'Dyn': np.array - ([ -#10,0,deltaDyn -#BusTr_HV,Tr_LV,Load - 1.000000178603741, 0.9990638106892, 0.9408586322473715, - 0.9999997971832201, 0.9989338020666364, 0.9398997093074486, - 1.000000024213076, 0.9990142940055439, 0.9422174828921106, - - ] ) -, - 'Yzn': np.array - ([ -#10,0,deltaYzn -#BusTr_HV,Tr_LV,Load - 1.000000178603741, 0.9990638106892, 0.9408586322473715, - 0.9999997971832201, 0.9989338020666364, 0.9398997093074486, - 1.000000024213076, 0.9990142940055439, 0.9422174828921106, - - ] ) -, - }, - 'wye' : - { - - 'Yyn': np.array - ([ -#10,0,wyeYyn -#BusTr_HV,Tr_LV,Load - 0.9999998021362442, 0.9915031010358111, 0.9206318374527404, - 0.9999997791045989, 1.0143417780460269, 0.9616365638634155, - 1.000000418759289, 0.9913387390190033, 0.9408558778822637, - - ] ) -, - 'YNyn': np.array - ([ -#10,0,wyeYNyn -#BusTr_HV,Tr_LV,Load - 0.9999997083766274, 0.9988968962217385, 0.9287452455114519, - 1.0000001672319114, 0.999061839981782, 0.9452915718541725, - 1.0000001243918462, 0.9990504923797096, 0.9488965582258678, - - ] ) -, - 'Dyn': np.array - ([ -#10,0,wyeDyn -#BusTr_HV,Tr_LV,Load - 0.9999999599731432, 0.9988963012384348, 0.9287445940341739, - 0.999999734429128, 0.9990625733649781, 0.9452923634430362, - 1.000000305597812, 0.9990503538577492, 0.9488964199625295, - - ] ) -, - 'Yzn': np.array - ([ -#10,0,wyeYzn -#BusTr_HV,Tr_LV,Load - 0.9999999599731432, 0.9988963012384348, 0.9287445940341739, - 0.999999734429128, 0.9990625733649781, 0.9452923634430362, - 1.000000305597812, 0.9990503538577492, 0.9488964199625295, - - ] ) -, - }, - 'delta_wye' : - { - - 'Yyn': np.array - ([ -#10,0,delta_wyeYyn -#BusTr_HV,Tr_LV,Load - 1.000000289039923, 0.9945259444558469, 0.9241479442057374, - 0.9999996598061066, 1.0028660964609941, 0.9332827547884484, - 1.0000000511540714, 0.9989227003917809, 0.9366758414321353, - - ] ) -, - 'YNyn': np.array - ([ -#10,0,delta_wyeYNyn -#BusTr_HV,Tr_LV,Load - 1.0000001633660651, 0.9988186334488024, 0.9284513283443013, - 0.9999997731436624, 0.9986857571039884, 0.9290168825920521, - 1.0000000634904662, 0.9987917974558278, 0.9366076053493121, - - ] ) -, - 'Dyn': np.array - ([ -#10,0,delta_wyeDyn -#BusTr_HV,Tr_LV,Load - 1.0000002947774138, 0.9988183812973129, 0.928451074375663, - 0.9999996601592913, 0.9986859152711799, 0.9290170457925304, - 1.0000000450633972, 0.9987918914643369, 0.936607696605823, - - ] ) -, - 'Yzn': np.array - ([ -#10,0,delta_wyeYzn -#BusTr_HV,Tr_LV,Load - 1.0000002947774138, 0.9988183812973129, 0.928451074375663, - 0.9999996601592913, 0.9986859152711799, 0.9290170457925304, - 1.0000000450633972, 0.9987918914643369, 0.936607696605823, - - ] ) -, - }, - 'bal_wye' : - { - - 'Yyn': np.array - ([ -#10,0,bal_wyeYyn -#BusTr_HV,Tr_LV,Load - 0.9999999999999879, 0.9990668908275987, 0.9446728357045939, - 0.9999999999999739, 0.9990668910254652, 0.9446728363197381, - 1.0000000000000384, 0.9990668908667012, 0.9446728362625954, - - ] ) -, - 'YNyn': np.array - ([ -#10,0,bal_wyeYNyn -#BusTr_HV,Tr_LV,Load - 0.9999999999999863, 0.9990668909016067, 0.9446728357836535, - 0.9999999999999772, 0.9990668908990621, 0.9446728361848189, - 1.0000000000000362, 0.9990668909190944, 0.9446728363184529, - - ] ) -, - 'Dyn': np.array - ([ -#10,0,bal_wyeDyn -#BusTr_HV,Tr_LV,Load - 0.999999999999989, 0.999066890901618, 0.9446728357836652, - 0.9999999999999737, 0.999066890899081, 0.9446728361848393, - 1.0000000000000375, 0.999066890919066, 0.9446728363184226, - - ] ) -, - 'Yzn': np.array - ([ -#10,0,bal_wyeYzn -#BusTr_HV,Tr_LV,Load - 0.999999999999989, 0.999066890901618, 0.9446728357836652, - 0.9999999999999737, 0.999066890899081, 0.9446728361848393, - 1.0000000000000375, 0.999066890919066, 0.9446728363184226, - - ] ) -, - }, - }, - 1: - { - - 'delta' : - { - - 'Yyn': np.array - ([ -#10,1,deltaYyn -#BusTr_HV,Tr_LV,Load - 1.0000001795040512, 1.0240495841864894, 0.9674397511496959, - 0.9999997971910463, 1.0239111614639989, 0.9664923222986317, - 1.0000000233049395, 1.0239935208058917, 0.9687543048259518, - - ] ) -, - 'YNyn': np.array - ([ -#10,1,deltaYNyn -#BusTr_HV,Tr_LV,Load - 1.0000001782704175, 1.0240459468337655, 0.9674352916726019, - 0.9999997977852046, 1.0239130527637306, 0.9664952324047731, - 1.0000000239444145, 1.023995255504894, 0.9687558295327158, - - ] ) -, - 'Dyn': np.array - ([ -#10,1,deltaDyn -#BusTr_HV,Tr_LV,Load - 1.0000001782214243, 1.024045946940332, 0.967435291834159, - 0.9999997978066542, 1.0239130527420286, 0.9664952323430777, - 1.0000000239719584, 1.023995255420507, 0.9687558294364838, - - ] ) -, - 'Yzn': np.array - ([ -#10,1,deltaYzn -#BusTr_HV,Tr_LV,Load - 1.0000001782214243, 1.024045946940332, 0.967435291834159, - 0.9999997978066542, 1.0239130527420286, 0.9664952323430777, - 1.0000000239719584, 1.023995255420507, 0.9687558294364838, - - ] ) -, - }, - 'wye' : - { - - 'Yyn': np.array - ([ -#10,1,wyeYyn -#BusTr_HV,Tr_LV,Load - 0.9999998049723338, 1.0163471727161444, 0.9474851372085454, - 0.9999997835047069, 1.0396033478524176, 0.9883119194148919, - 1.0000004115230865, 1.016177862041642, 0.9670415224711911, - - ] ) -, - 'YNyn': np.array - ([ -#10,1,wyeYNyn -#BusTr_HV,Tr_LV,Load - 0.9999997111904564, 1.023876123903735, 0.9557104532156954, - 1.000000169840967, 1.024045000904823, 0.97172789408756, - 1.0000001189689527, 1.024030547850082, 0.9752090807560196, - - ] ) -, - 'Dyn': np.array - ([ -#10,1,wyeDyn -#BusTr_HV,Tr_LV,Load - 0.9999999610844935, 1.0238755180281829, 0.9557097928361534, - 0.9999997396431541, 1.0240457481759326, 0.9717286975282872, - 1.0000002992724317, 1.0240304063318828, 0.975208939465858, - - ] ) -, - 'Yzn': np.array - ([ -#10,1,wyeYzn -#BusTr_HV,Tr_LV,Load - 0.9999999610844935, 1.0238755180281829, 0.9557097928361534, - 0.9999997396431541, 1.0240457481759326, 0.9717286975282872, - 1.0000002992724317, 1.0240304063318828, 0.975208939465858, - - ] ) -, - }, - 'delta_wye' : - { - - 'Yyn': np.array - ([ -#10,1,delta_wyeYyn -#BusTr_HV,Tr_LV,Load - 1.0000002896605282, 1.0194026014413138, 0.9509830141499932, - 0.9999996606572187, 1.0279455302463374, 0.9603073239465667, - 1.0000000496823542, 1.0238970684816717, 0.9633884768515291, - - ] ) -, - 'YNyn': np.array - ([ -#10,1,delta_wyeYNyn -#BusTr_HV,Tr_LV,Load - 1.0000001631049464, 1.0237965435008547, 0.9553922424619002, - 0.9999997741736003, 1.0236607923322103, 0.9559358029296258, - 1.000000062721646, 1.0237688359303385, 0.9633200580357987, - - ] ) -, - 'Dyn': np.array - ([ -#10,1,delta_wyeDyn -#BusTr_HV,Tr_LV,Load - 1.0000002940160242, 1.023796285978077, 0.9553919829548445, - 0.9999996614657936, 1.0236609541452617, 0.9559359697011912, - 1.000000044518284, 1.0237689316654306, 0.9633201512377196, - - ] ) -, - 'Yzn': np.array - ([ -#10,1,delta_wyeYzn -#BusTr_HV,Tr_LV,Load - 1.0000002940160242, 1.023796285978077, 0.9553919829548445, - 0.9999996614657936, 1.0236609541452617, 0.9559359697011912, - 1.000000044518284, 1.0237689316654306, 0.9633201512377196, - - ] ) -, - }, - 'bal_wye' : - { - - 'Yyn': np.array - ([ -#10,1,bal_wyeYyn -#BusTr_HV,Tr_LV,Load - 0.99999999999999, 1.02404859308445, 0.971134029249497, - 0.9999999999999845, 1.0240485931685195, 0.9711340295967834, - 1.0000000000000258, 1.0240485931044616, 0.9711340295607079, - - ] ) -, - 'YNyn': np.array - ([ -#10,1,bal_wyeYNyn -#BusTr_HV,Tr_LV,Load - 0.9999999999999892, 1.0240485931151249, 0.9711340292823146, - 0.9999999999999865, 1.024048593114567, 0.9711340295398108, - 1.0000000000000244, 1.0240485931277552, 0.9711340295848808, - - ] ) -, - 'Dyn': np.array - ([ -#10,1,bal_wyeDyn -#BusTr_HV,Tr_LV,Load - 0.9999999999999902, 1.024048593115119, 0.9711340292823075, - 0.9999999999999848, 1.0240485931145844, 0.9711340295398292, - 1.0000000000000249, 1.024048593127728, 0.9711340295848522, - - ] ) -, - 'Yzn': np.array - ([ -#10,1,bal_wyeYzn -#BusTr_HV,Tr_LV,Load - 0.9999999999999902, 1.024048593115119, 0.9711340292823075, - 0.9999999999999848, 1.0240485931145844, 0.9711340295398292, - 1.0000000000000249, 1.024048593127728, 0.9711340295848522, - - ] ) -, - }, - }, - }, - 11: - { - - 0: - { - - 'delta' : - { - - 'Yyn': np.array - ([ -#11,0,deltaYyn -#BusTr_HV,Tr_LV,Load - 1.0000001770832512, 1.0991666419999009, 1.046863039382953, - 0.9999997998271506, 1.0990478952608114, 1.0459974904307656, - 1.0000000230896342, 1.0991196058562567, 1.0480820977965253, - - ] ) -, - 'YNyn': np.array - ([ -#11,0,deltaYNyn -#BusTr_HV,Tr_LV,Load - 1.000000177064337, 1.0991653032170863, 1.0468611006390927, - 0.9999997997417357, 1.0990483460592901, 1.0459983357170173, - 1.0000000231939636, 1.0991204912844936, 1.0480831713683516, - - ] ) -, - 'Dyn': np.array - ([ -#11,0,deltaDyn -#BusTr_HV,Tr_LV,Load - 1.0000001770170086, 1.099165303280019, 1.046861100729514, - 0.9999997997589116, 1.0990483460550085, 1.0459983357036897, - 1.0000000232241157, 1.0991204912259542, 1.0480831712929268, - - ] ) -, - 'Yzn': np.array - ([ -#11,0,deltaYzn -#BusTr_HV,Tr_LV,Load - 1.0000001770170086, 1.099165303280019, 1.046861100729514, - 0.9999997997589116, 1.0990483460550085, 1.0459983357036897, - 1.0000000232241157, 1.0991204912259542, 1.0480831712929268, - - ] ) -, - }, - 'wye' : - { - - 'Yyn': np.array - ([ -#11,0,wyeYyn -#BusTr_HV,Tr_LV,Load - 0.9999998409135958, 1.0924753274233265, 1.0291805067306592, - 0.9999997887228856, 1.112638254093763, 1.0649872145063082, - 1.0000003703636224, 1.0923417509837368, 1.0468846408299153, - - ] ) -, - 'YNyn': np.array - ([ -#11,0,wyeYNyn -#BusTr_HV,Tr_LV,Load - 0.9999997198861459, 1.0990179190476412, 1.0362148303868974, - 1.0000001764446427, 1.0991669773561135, 1.0507765134998273, - 1.0000001036695618, 1.0991473807202723, 1.0539233691792418, - - ] ) -, - 'Dyn': np.array - ([ -#11,0,wyeDyn -#BusTr_HV,Tr_LV,Load - 0.9999999645965844, 1.0990174387140366, 1.036214314982853, - 0.9999997540341666, 1.0991675482923782, 1.0507771199594842, - 1.0000002813693196, 1.0991472900387962, 1.0539232794875342, - - ] ) -, - 'Yzn': np.array - ([ -#11,0,wyeYzn -#BusTr_HV,Tr_LV,Load - 0.9999999645965844, 1.0990174387140366, 1.036214314982853, - 0.9999997540341666, 1.0991675482923782, 1.0507771199594842, - 1.0000002813693196, 1.0991472900387962, 1.0539232794875342, - - ] ) -, - }, - 'delta_wye' : - { - - 'Yyn': np.array - ([ -#11,0,delta_wyeYyn -#BusTr_HV,Tr_LV,Load - 1.0000002867915057, 1.09511471406464, 1.0320045668742739, - 0.9999996655448716, 1.102582851029247, 1.0401766570762196, - 1.0000000476637207, 1.0990187740288424, 1.0431968194073924, - - ] ) -, - 'YNyn': np.array - ([ -#11,0,delta_wyeYNyn -#BusTr_HV,Tr_LV,Load - 1.0000001623852481, 1.0989490480618516, 1.0358488170212126, - 0.9999997776678232, 1.098829878782537, 1.0363599386677118, - 1.0000000599471168, 1.0989238972185933, 1.0431472226133363, - - ] ) -, - 'Dyn': np.array - ([ -#11,0,delta_wyeDyn -#BusTr_HV,Tr_LV,Load - 1.000000291479138, 1.0989488469146447, 1.0358486145520418, - 0.9999996659434413, 1.0988300000349813, 1.0363600632236267, - 1.0000000425775202, 1.098923977128452, 1.0431473008280179, - - ] ) -, - 'Yzn': np.array - ([ -#11,0,delta_wyeYzn -#BusTr_HV,Tr_LV,Load - 1.000000291479138, 1.0989488469146447, 1.0358486145520418, - 0.9999996659434413, 1.0988300000349813, 1.0363600632236267, - 1.0000000425775202, 1.098923977128452, 1.0431473008280179, - - ] ) -, - }, - 'bal_wye' : - { - - 'Yyn': np.array - ([ -#11,0,bal_wyeYyn -#BusTr_HV,Tr_LV,Load - 0.999999999999994, 1.0991663222840553, 1.0502483483014522, - 0.999999999999986, 1.0991663223629755, 1.0502483485683893, - 1.00000000000002, 1.0991663223022374, 1.0502483485566558, - - ] ) -, - 'YNyn': np.array - ([ -#11,0,bal_wyeYNyn -#BusTr_HV,Tr_LV,Load - 0.9999999999999934, 1.0991663223142185, 1.050248348333234, - 0.9999999999999878, 1.0991663223125718, 1.0502483485153113, - 1.000000000000019, 1.0991663223224817, 1.0502483485779557, - - ] ) -, - 'Dyn': np.array - ([ -#11,0,bal_wyeDyn -#BusTr_HV,Tr_LV,Load - 0.9999999999999944, 1.099166322314217, 1.0502483483332314, - 0.999999999999986, 1.0991663223125883, 1.050248348515329, - 1.0000000000000195, 1.099166322322463, 1.0502483485779364, - - ] ) -, - 'Yzn': np.array - ([ -#11,0,bal_wyeYzn -#BusTr_HV,Tr_LV,Load - 0.9999999999999944, 1.099166322314217, 1.0502483483332314, - 0.999999999999986, 1.0991663223125883, 1.050248348515329, - 1.0000000000000195, 1.099166322322463, 1.0502483485779364, - - ] ) -, - }, - }, - 1: - { - - 'delta' : - { - - 'Yyn': np.array - ([ -#11,1,deltaYyn -#BusTr_HV,Tr_LV,Load - 1.000000177759738, 1.1266508599188314, 1.075749945733859, - 0.9999997996753168, 1.1265276819882335, 1.0748995015125222, - 1.0000000225649812, 1.1266018378562361, 1.076934372664356, - - ] ) -, - 'YNyn': np.array - ([ -#11,1,deltaYNyn -#BusTr_HV,Tr_LV,Load - 1.000000176730594, 1.1266486259211201, 1.0757473443700512, - 0.9999998002521623, 1.1265290107226675, 1.0749013345769867, - 1.0000000230172796, 1.1266027366684568, 1.0769351304583261, - - ] ) -, - 'Dyn': np.array - ([ -#11,1,deltaDyn -#BusTr_HV,Tr_LV,Load - 1.0000001767039686, 1.1266486259729462, 1.0757473444450258, - 0.9999998002646232, 1.1265290107113315, 1.0749013345478544, - 1.0000000230314439, 1.126602736628164, 1.0769351304141572, - - ] ) -, - 'Yzn': np.array - ([ -#11,1,deltaYzn -#BusTr_HV,Tr_LV,Load - 1.0000001767039686, 1.1266486259729462, 1.0757473444450258, - 0.9999998002646232, 1.1265290107113315, 1.0749013345478544, - 1.0000000230314439, 1.126602736628164, 1.0769351304141572, - - ] ) -, - }, - 'wye' : - { - - 'Yyn': np.array - ([ -#11,1,wyeYyn -#BusTr_HV,Tr_LV,Load - 0.9999998425139852, 1.1198215550651343, 1.0582701679876008, - 0.999999792808548, 1.1404037383383383, 1.0940119347447643, - 1.000000364677568, 1.119678656475928, 1.0754147798091545, - - ] ) -, - 'YNyn': np.array - ([ -#11,1,wyeYNyn -#BusTr_HV,Tr_LV,Load - 0.9999997220234313, 1.1264984365036237, 1.065423794124721, - 1.0000001785338588, 1.126651120595415, 1.0795452055229118, - 1.0000000994430542, 1.126629015453866, 1.0825891788506536, - - ] ) -, - 'Dyn': np.array - ([ -#11,1,wyeDyn -#BusTr_HV,Tr_LV,Load - 0.9999999654333293, 1.1264979466596041, 1.0654232703853377, - 0.9999997580954444, 1.1266517031402583, 1.079545822405393, - 1.0000002764712945, 1.1266289226736226, 1.0825890870214312, - - ] ) -, - 'Yzn': np.array - ([ -#11,1,wyeYzn -#BusTr_HV,Tr_LV,Load - 0.9999999654333293, 1.1264979466596041, 1.0654232703853377, - 0.9999997580954444, 1.1266517031402583, 1.079545822405393, - 1.0000002764712945, 1.1266289226736226, 1.0825890870214312, - - ] ) -, - }, - 'delta_wye' : - { - - 'Yyn': np.array - ([ -#11,1,delta_wyeYyn -#BusTr_HV,Tr_LV,Load - 1.0000002872593454, 1.122503013135439, 1.061107915739188, - 0.9999996662661563, 1.1301536319129346, 1.069448792307849, - 1.0000000464745962, 1.1264944198323028, 1.0721922685731713, - - ] ) -, - 'YNyn': np.array - ([ -#11,1,delta_wyeYNyn -#BusTr_HV,Tr_LV,Load - 1.0000001621739123, 1.126428316031026, 1.0650458103409908, - 0.9999997785161929, 1.1263065012425137, 1.0655375147447366, - 1.0000000593100822, 1.12640238251751, 1.0721435619381965, - - ] ) -, - 'Dyn': np.array - ([ -#11,1,delta_wyeDyn -#BusTr_HV,Tr_LV,Load - 1.0000002908474748, 1.1264281104824707, 1.0650456033928053, - 0.9999996670234566, 1.1263066253385652, 1.065537642082384, - 1.0000000421291677, 1.126402463985756, 1.0721436418376473, - - ] ) -, - 'Yzn': np.array - ([ -#11,1,delta_wyeYzn -#BusTr_HV,Tr_LV,Load - 1.0000002908474748, 1.1264281104824707, 1.0650456033928053, - 0.9999996670234566, 1.1263066253385652, 1.065537642082384, - 1.0000000421291677, 1.126402463985756, 1.0721436418376473, - - ] ) -, - }, - 'bal_wye' : - { - - 'Yyn': np.array - ([ -#11,1,bal_wyeYyn -#BusTr_HV,Tr_LV,Load - 0.9999999999999946, 1.126649305937712, 1.0790357881145098, - 0.9999999999999919, 1.1266493059651883, 1.0790357882640247, - 1.0000000000000135, 1.1266493059449603, 1.0790357882526134, - - ] ) -, - 'YNyn': np.array - ([ -#11,1,bal_wyeYNyn -#BusTr_HV,Tr_LV,Load - 0.9999999999999944, 1.126649305947411, 1.079035788124742, - 0.9999999999999928, 1.126649305946962, 1.0790357882450081, - 1.000000000000013, 1.1266493059535365, 1.079035788261449, - - ] ) -, - 'Dyn': np.array - ([ -#11,1,bal_wyeDyn -#BusTr_HV,Tr_LV,Load - 0.9999999999999944, 1.1266493059473897, 1.0790357881247188, - 0.9999999999999922, 1.1266493059469642, 1.079035788245011, - 1.0000000000000133, 1.1266493059535063, 1.0790357882614174, - - ] ) -, - 'Yzn': np.array - ([ -#11,1,bal_wyeYzn -#BusTr_HV,Tr_LV,Load - 0.9999999999999944, 1.1266493059473897, 1.0790357881247188, - 0.9999999999999922, 1.1266493059469642, 1.079035788245011, - 1.0000000000000133, 1.1266493059535063, 1.0790357882614174, - - ] ) -, - }, - }, - }, - - - } - - return results \ No newline at end of file +def get_PF_Results(trafo_vector_group): + """ + Returns the PF loadflow results of the validation network for the given + trafo vector groups. For info about the test network see runpp_3ph Validation.pfd + """ + data_map = {"YNyn": 0, + "Dyn": 1, + "Yzn": 2} + + # Create lists to put in the PF loadflow results of the validation network + bus_vm_pu = [[], [], []] + + # vm_pu -> L1 L2 L3 + # Bus #1 ExtGrid + # Bus #2 TR1_HV + # Bus #3 TR1_LV + # Bus #4 Load A1 + # Bus #5 Load B1 + # Bus #6 Load B3 + # Bus #7 TR2_LV + + line_i_ka = [[], [], []] + + # i_ka -> L1_from, L2_from, L3_from, L1_to, L2_to, L3_to + # Leitung #1 ExtGrid_TR1 + # Leitung #2 TR1_LoadA1 + # Leitung #3 TR2_LoadB1 + # Leitung #4 TR2_LoadB3 + + trafo_i_ka = [[], [], []] + + # i_ka -> L1_hv, L2_hv, L3_hv, L1_lv, L2_lv, L3_lv + # Trafo 1 + # Trafo 2 + + bus_vm_pu[data_map['YNyn']] = [0.99999787338, 1.0000016161, 1.0000005105, + 0.99968050244, 0.99969237855, 0.99963282587, + 0.99705343554, 0.99746838183, 0.99718586395, + 0.9948995116, 0.99458439962, 0.98674300489, + 0.99395111068, 0.99418423529, 0.9863564418, + 0.97850425826, 0.99234507124, 0.99521892713, + 0.99742536231, 0.99837274406, 0.99814767609] + + line_i_ka[data_map['YNyn']] = [0.014003237709, 0.013578415289, 0.015018686616, 0.014052352411, 0.013615497541, 0.015055831313, + 0.045318234753, 0.087462622072, 0.13170744039, 0.045439631098, 0.087508398891, 0.13172221072, + 0.067006161071, 0.10938206657, 0.15377206679, 0.067102516557, 0.10942952686, 0.15379184651, + 0.24518449462, 0.11090275423, 0.15370539768, 0.24521447354, 0.1109479239, 0.15373201528] + + trafo_i_ka[data_map['YNyn']] = [0.014052351784, 0.013615496912, 0.015055830683, 0.34745891513, 0.3364754264, 0.37259351695, + 0.015806285559, 0.011022367484, 0.014341144957, 0.39152062339, 0.27144774298, 0.3546449925] + + bus_vm_pu[data_map['Dyn']] = [0.99999633365, 1.0000007177, 1.0000029487, + 0.99966300361, 0.99968280267, 0.99965990087, + 0.99703737513, 0.99745820246, 0.99721210683, + 0.99488339811, 0.99457396301, 0.98676946744, + 0.9939515775, 0.99418757133, 0.98635265387, + 0.97850473318, 0.99234834683, 0.99521515379, + 0.99742581829, 0.99837603162, 0.99814393136] + + line_i_ka[data_map['Dyn']] = [0.014110688122, 0.01373849924, 0.014763703519, 0.014164968965, 0.013770898582, 0.014800144789, + 0.045318951491, 0.087463575817, 0.13170390089, 0.045440367054, 0.087509317164, 0.13171867828, + 0.067006134761, 0.1093816954, 0.1537726556, 0.067102485041, 0.10942915967, 0.15379243712, + 0.24518438107, 0.11090238404, 0.15370597872, 0.24521435453, 0.11094755768, 0.15373259815] + + trafo_i_ka[data_map['Dyn']] = [0.014164968341, 0.013770897951, 0.014800144159, 0.34746449192, 0.33647892194, 0.37258362522, + 0.01492317272, 0.012146394959, 0.014229967227, 0.39152039065, 0.27144661055, 0.35464662852] + + bus_vm_pu[data_map['Yzn']] = [0.99999633365, 1.0000007177, 1.0000029487, + 0.99966300361, 0.99968280267, 0.99965990087, + 0.99703737513, 0.99745820246, 0.99721210683, + 0.99488339811, 0.99457396301, 0.98676946744, + 0.9939515775, 0.99418757133, 0.98635265387, + 0.97850473318, 0.99234834683, 0.99521515379, + 0.99742581829, 0.99837603162, 0.99814393136] + + line_i_ka[data_map['Yzn']] = [0.014110688122, 0.01373849924, 0.014763703519, 0.014164968965, 0.013770898582, 0.014800144789, + 0.045318951491, 0.087463575817, 0.13170390089, 0.045440367054, 0.087509317164, 0.13171867828, + 0.067006134761, 0.1093816954, 0.1537726556, 0.067102485041, 0.10942915967, 0.15379243712, + 0.24518438107, 0.11090238404, 0.15370597872, 0.24521435453, 0.11094755768, 0.15373259815] + + trafo_i_ka[data_map['Yzn']] = [0.014164968341, 0.013770897951, 0.014800144159, 0.34746449192, 0.33647892194, 0.37258362522, + 0.01492317272, 0.012146394959, 0.014229967227, 0.39152039065, 0.27144661055, 0.35464662852] + + return [bus_vm_pu[data_map[trafo_vector_group]], + line_i_ka[data_map[trafo_vector_group]], + trafo_i_ka[data_map[trafo_vector_group]]] From 8b79b56192512bccccef54b95a06d46606eeba65 Mon Sep 17 00:00:00 2001 From: elodin Date: Mon, 13 Sep 2021 13:31:39 +0200 Subject: [PATCH 193/422] new trafo 3ph validation network --- pandapower/test/loadflow/runpp_3ph Validation.p | Bin 0 -> 68053 bytes .../test/loadflow/runpp_3ph Validation.pfd | Bin 0 -> 45904 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 pandapower/test/loadflow/runpp_3ph Validation.p create mode 100644 pandapower/test/loadflow/runpp_3ph Validation.pfd diff --git a/pandapower/test/loadflow/runpp_3ph Validation.p b/pandapower/test/loadflow/runpp_3ph Validation.p new file mode 100644 index 0000000000000000000000000000000000000000..423aa9b80d494fd8e0dd24ba705e5e80802dd8ed GIT binary patch literal 68053 zcmeEv2Yi%8^MB~QcT@~Wi6D?hQ{awzK&YVwDM!jBmm}@=E+LeI(2Er5y@N>ay#$}f zUJ#`SR>Xp0MQo_Z|2wnKbN5^lim31V^Zk4I-0bY^?9A+J-)EmoR(_8&ASkLpKtMoD zy33i*WY2;{|?h1S;B(OuK+ae&d zip5+TRD7cH0mL|~a>nj9_ef{8sXn}V6!AFk^HJ`%-$#G8!OjPQqDmo=C5Hy~i43uJ z>gTNC6>K+%e9#~=&~A`c(<`l(L0T9~>)Oxxki~Ri$&%I3Vw6_fAgzv3T3xTSdWKRr z3GA909T(U(#2J*QxQ7km>Kny1@QQoHATC^rYZKyZn5Vc#262sz;)1>6LJZ=XYSx80 zL-Q0DW)K%{6xYNnuBpLw&EUFFD_qwsPif5!(png$J*r8wrE_bGqgL#4KIU<@46+xC zMaxSYQJjgzovpa<^l0vEJ#Fd~rzz5D4vHwi&1kf*W4miCd(4tkcB&W`?B0^CkZjJ<^2Y%hs#DJ^SEh_e%A?HuXsf~@u&dXOn1#$Fm3 z%HUfT-*Wht$G3vroSx3DHwlfv+12Ch7Gy`K?;d1FSMOm*ckYQ2+Ve3_nl*X2vln~7 zX-&?E7S711GH89VsVOeEb)+@TCSq+VZf9=;HPK7$BRgse<#hIyeL6NeDKRC%*$*Wt zVY8!8_D{FNt5KxWY|p0^FFo8jfQt8cq;nt@FSkzy#n^kdmFb*kQU?7dN$*JyC;Y{>69cMbsrKMVudh?JLD^+ZvnM*!c*u-R<(M_a>5M85A-4GV#MnezO6&-4HW5|PKOx1N z(60z2_bf+7Q7Cz#ZE;60z?3E1m%5dE)3HB6tKNa6Je4Y3Td|mju@hy(8UOVab z4k$b|q-fWOgiqLTTgmW`KTE4t=EpmvI87jEO<)Trx1QO{jBHM1G5D z<-uMTVS>fv+Em}n$nvd4C6esPmdLUV9}Nv49_R9lS%i%J8ITauw-TAklko5nHs@qH z-ta^+#i%dLIhFLS`|0FG&gm{PZ73rv7X28=NXnz0)r>5k^M;ub=dUKFX~NH zgV|tuL;;IwmR_zTy*Nwcgkv$qjr>rGU-QMJK-LpA&wYZBJLq}Bs3+7pBciay|7kgqepKn(h^;g(HeY6pbhrQ9J?@Kg{17ghdAV-__Z5=*NSwrOB6@o*jgZP9F3VK4nSHXL3qYNLqkB7hRRoa?zg+!d5C@ zZvN-U+Wfic&trX&7ySj|FOZx6#UO0da?$08@)G=RPq6R9cRxl7T3H@IjneY#AkWLR zC~?`-Q6n#VoUd?&zRDH)8dcj#%3chMre1crzjL{5Y0lSqE=@)&6&#>aNtoWQZIK3rX{ATWF8PV1_ zTY|9JoaeDHDM?0KU6{*Z1FbhN7)a<1M0%TBl|Xu8it`h|)@O>BG_waom-w*J;h%crJ zZJCT!xy|{B$N4F{{W81#Gj9jx4*NNDuq#~dI4ke!uW&S8q$XSGAmIyksXLV;UvecS z*-{eRcI&WY=T}@Gg8DEGphWtbNts5{H$2G3T2tb6rf->&U`@wbR%W}(TB)8Bt;3?7 z-*L~6i+5gQdRnxIPD-*RIlo8KF2y@?5o}cP1Jh8`21|ZqOJai!dVk_UGCC>E9_{=& zsyb@RZA*p)(e89%(^{T2)|TW-M9Ht)OS5wFB916Boxj-2%IU%uOD7sk`;{BYZy335 z1VvSbz^=ALcX~>K;T*z>Qv>JkQB{%Hy-nzV-U9+dGDAXxMRH)%#v#GO`UNHm=S@0| zv6wD`2Oo>+RPu8d8993GDkJ9f4{lyRfh17*V==w?p=C8t@47Q0A3H79B?55VF%|UW z!Nh7Yy{ik!xV~hbnJ8)Fl#7&P?v;fAClB{|1$$3HL_Ua#2(S$n`GEvQRRW*4bn+~u zD^|~KLPPt679r+6(KoL%C6D6ht8rg(3hBiuoVz%57=sf96sK*7D1vkc zn~!n$zhu4{<)V+z{Gz(~#d4b;?lV736gQZU#qvd#^B?xUnMQtmeCC&s=JRwVN>UMc z?zn;(>I=*lU*h`}2CuL2{RZD}@x6-gclchz_j{z%tVRRi4~YMW?@##tjPG@PX?^?) zLOK@t)t;bj!`&h}K2?;0HjgOHItzG28Ab{X7G(*cjz=S*D97Yt_A5N#*)wRs6XikV zc#@1)Kpe|4DjkkP!89yGR3sja0ya=85v4fs4Aa+@qB7CwOf+Md@Di&Kk$1iEHtVqA zqN<)TG1$vfjc7a*+7sj5+8`yW6P1*@qtmReM4Y1DM-);(loVS!%AO?dCt?weh#68m z;75qg6g7xYRu_b6->djRN}*i_tDqD)HH$!_jI>mjs7Zu!8Yjk9m(A)TV{JmzLJ}(P z8b)ndcwfODqFhukc*IAoty7bu6MWPIsk0r2G4_~gPJ)n6nS)@mK`=+Gy~Bingh~`QM6zLBjuyS zj4|>tCSZ(YfAPqbEC&>_mB~k#G~?2ExsQ8wWQHZW!KyG#cmC?r2OFsfietIwPap zfQc?ZX%8kMfaGezR1@Bo>>&T6{>kSE$j=D0rcLfeOl#rfP{hcA2*_aw$Ug|k9SErO z2>e?=l@~-R9Rfoqa8Og0#bk`Sf~4i{4U*1fUW)C3LGJ7(i7}gSBaDTO$pSWWCHRtImXKm2~Mes6JovmoS^f^fvmaD29(_w55&)XbXwq` zA|arHARyZjkiiJZN(5vR0#z!^XoE>aQI3YP|y3+DtP3y0$n2Z@A@BnSaz zN5I*1i%D80n=Fv(5iUSB+06({PN!TjIfDr>nWeH!mdNthD&BaD;o##aZ@NV$W#6os zIRX(jbEGDW9>?9*Ob3aB(JZC|1nGv;@-5jG?ZQr(*GZ$m=Mke>F6IgkBQSpq<%juW znNW<^mWF(M$RM(i$gNyECzRB2lyx7MB_ld1-6qBp8%tS@B@aEvA6#5mN!VPNp$} zLQN-b6zT~gaKB4S9gdR=Ix!J5C~=>Czg)@FXzda+L1WWq0b$c-Q&tD_vORQA=O8w= zf=0Wv)T9y8j3+_%h&hyl=Ha=Fz>Ims4m0L6fmD)nV$*`HHay{60IGc4nHE9>n*FHR zE+jhj`Pj5j13gqMq6C)UloA#bfi?rNPJ;yM8cQgJmiVzwgAAmEils>6qAml%MO_Xg zhv8k}zCAK3TO`DJ%K-hwvKpaH2n_cN#1nf_(y8K;8@QB@jEPoFp zkiVBQK>j`=L;(b3iv0)}9U%??WuaW!gNU)NLqLKY#D^jh4+5zgLoThNtT;7ukFW}x zi+9O~!Qv4|C>J%?ql`fNG0F<<$CRA${u3^#Qw9b=AQb0IE1R4zK$W)v~jHgk#&W)D&w6*6sN~FnEZn&dKf|m3asPfLfrD z#!w6LwB~Ivdc-?`+?d{F1l8~!2|zWxPXx`qSjoeAAAq8{mk8v(i$s!DKwFIA;zJ(~ z5s2p!NL&ss1#>6zkxsPuNY9>V1vi}gF%h(-6>T5V#V17J(~D@zq&f3b10QmN@3Mgp z6pimQP&KE24wRjK1xS#C3Ijh;0T7Vc2*^|f{!S+&K_t@<00g8J0jtryowLp3 zuv2^iK9Bekke&S%BXIWDlpoIih6#Fi`W7)Z^{PhJyHk#eFN`ycl{?t8u#%e{{K9NSS6IoOU;-mGW=f3)+$W}4*< zHftN0(vXU?Q<6<%d|5_da5*4kaCsu!+F%+C9NtlghXJ;_0 zq;@%zyjNsIdn9R-R|lZnC_4fPa!^}AL!{P$fLa6sY6A$U-VsnuBcR$vK=p}$>JS0d z8Um^*1XMQ&s6r4>9UvgbBOqTRAO|BLpCTYXA|T%(Ab%ksA0Z&WARu2LpmHOiG9uve z=(8l>I-!I|eugv>)4*@M7uUE)7((Irz1;5qzHn;aUs zdLzF_^Z{i5_hkhB??-as|NcZ^ujA1U8hE;(hv7VKVX)P2m52dEq;(;<(ALw%;|8u6 z-FX8ITy#@b3^H)V>Rf|CG~TJ>QF;i7>{u(1AO{(NVv||~qznOxM?gXmu$T_Fy7C5( zRPk?-`c{bDG88gAA{vn062l1G5=*k-mN+IDF8;BRHc;8fcr7{4JBU!7V;9C-TB?l% zLbS*M5GZ}PDi}8L8o)-Qc0P9Iw^d7F-#mTTs}TYA~kLwU#!NL?&Fgr;>!S$2Pht% zcyQvOi3cVgmbhSvdU?^GhwGw=DED!hy68mR0pJ_q<72x(8tLQH3J>BaA0OKV(r6;l z*)yp?+~bSKP<)Ip9!v4D6z4+`Yl?I#h*?CG^Hhpv=Qv+Jyb2U8#v{%{DG#JPjB@ju z06I6Xi9muJRPAWzRLuyeVi8b9BA|*xK$V4nss{m82?DAF1mt)G~>~hJO#uasQn=>Ldv8h{=H5 zQKvA19y65$qsL5RLe7pl9aQ$@6I$}EI_j-0p#2hCFashyVkQehpPj`BESL?1EO?R$ zIW3q2DqApDOTLu_ImT`6{;imYY#uS6GeheFMxb>e5YoDc3HnZLF=DK3iAL6UYIL*8 zFe_`)xm-)Z>JiI012imW1R7QVAq^{;pleu#7;9Lqk#!9@jU z;WpJ!CwEexQVu-QfK9wtBg&ek(m!HEEoFTcDK{in>RdTTT8s(lOtesVORIT zGaI}lWhUD5+|kOuM(WO+XGMIYn;;q|dU ztfD$!nc7jE<#W9Xn13a@=F>z?~*t0yxJO}6&&(nNj-{3!Uy+FKj=6aENUjpQp#v&?B7B3^> zUCi$M!-ji@|D1?TovF@jL-H6?$Ngc^cbP%FLgkZl`m0>N*8tt(Bw!4m8tP9S#Ook= z#3{faeuO-LZo9vMXsjzXF>OR67cNx0Y>f~rjxS!B!t30b#l@T8czB#R&AHETZknrc z-8&kWP0oUVeL<1Q;v6tmh>K@wg6=QAMQNeDqrs1m;3q;{;yg(H^>cwJvVPtM8Y$iZ zr1~i{NxTcxcWL%L#AsRZKC^wmYAFJ+LTc#Xvt!X)8l!f zQ%GszL!@f%y#zE;d<5tg9|OuI6H1om7UC1)^II}~N)%bJ%RnQ=XMj|&qLakultv}c zRzHDIMITVSrqLq`dMH8Xy!1d+T%k;|roR9hDZT`Bi?0A<>=pf$e@(nn`8Uk_EuiMr ztCU8oGEF%>T?-3U_o_=WRpuO>Lz8ovKb?Db}Mg!l5J}xu=dKP1k;`AIRwS4 zCdgIHZ3P_mWm2z6ZLGGmpgO7_?S%Itde)Rn??C#p%A-bZ=5 znR-ZFChjcb&v4fYSC(QFocD;b))cR-C{jMNx^n2wDvgB^-;v8@)m;M`DZU4Eiyr`E z(qp0!1Pq85KO)T87X|tvZggpV@h5PgFaC_cBd!AmIk*EBqz?EC;ttv8ayExwDM>bm z-+)Gn8W7y7+>w?s6}6be{=9v*B^7W(M$I#!(XGgN#&8grY;;Q@&UR< ze!v(* zJ}QrN=lxvP2LRoo24G%I=s{wat_fuJnt+;XYEhb@3InPB@VRXhdWbSf{k2(O9YD9J z3z%0Esz>Zne-N`j45&4s`jlqSf6FG+fEcCDM_5QhK(}ZFNKJ?y3&_&}YobduCT73c zE|@6Nh7h2UA{3BpC_G7o0kwD0W*h1w`S3wc38y?#WfRWR6woc20m`|R&at7bIq~^v zYe5vL?NOkS;xRzdmT!`13Dm2N+?-FeB6g{$HM5%l-NFnQBVUi|+EKJ2CO<80i6XVM z0~#sX1Ckb;sCJ+7>p=^rPT0CZi+vX}RIwJMqNMS+X7M%cN_#r12TsD^# zw>_;f@h-fuhfBkqNsgb^E<}-9BY;MVu7H}>Za`_dDg}2(Os?^SEgttmQ(U44NdDq_ z5=DyZ1vFAb0&1@6O=(TwBdu;|RYV`rhZ3a2`f{dzfNs$rFecr;-(tF!{i7L-ytZ?t z$6{&c66DFL^0$!aygOJ70Kp?32Mluf9dbMLgKd9P2ZB>Gbr8@;8d z*yWHF$Luyh8V3r~VRJmC8WtPnXllyy@V%#lVkYf-;-nie(2vs zIF^&)_D@lie@~8eAO5!=X#LYpj&;BJhdEF6{ZsE4`|B$qhsxV`haAlRN258rctC*p zPg(k}({JlOkwB{?x#Y6*8Y&UcEgXQk9+3ucFBa&1q zpY%l=csL#m@h#i=nOeSFQXU9$&oV- zMs<9ox>?=XNj-)uQtA`YC5OAz*%?Zex+z*AW&o~pp~do@U3wUa?R>trgc)t$Jy zHsADk>;owId}YVb+nBVtXOc(VuN;R(kE;`vb;<&DrTR1;5dRsA^vCS5s7Zt}sj9LJ z52DwZnxf2y`>2bQS+-kSR988sZ0=QESqF=1s#7Cj%V^@`UN}LSxk3%9Q3kZf%Y_rJ6FXL58{m<|xyP^-*`EC|lH3_vjum3cXqz+C~G7 z6dpjg7z3Es&U!4d%aJ~d*~bBTch=)6)v&W3f0sLJ^-1MvJQ!STEVaCpHOWg-cRp0M ze!phw9{*bcfBiI$O7ZKqw_iLdS)K6+an+-^hq>36Pdz?boulqi*D4dd#6}PFRF*1J z(EepxW+eq$BKKawO(5G(?cX0U`>W7r?3 zaC!3>2A>^6eN?Ax%HKqXk2q^V3qMyERNSEU@f)^gY|J{`fpDu@i1|E9c4uW!;FG8 z*%tJm-QATPN|v{HBde%S;i~cz>Skq+uOie#6{82KOO&Z&d^ElEe{Yy`>NM=p|7U8a zvNAqBS(#4LxVIkK;3Cp`b@o`A#=S&!L%HO_y)g$FrhDaBu)0)T<*KYq{?FBom_W-i zxqY3;i?&ICZZR1!*H(TC@yZ3>ROX!q=-tXsN5s1!JYZ-{b@Hp@^TP{S>O>R3mWnYo zJ1cX&zA$hC^){27$batA;}cX&>5>^-%$b00F$+-N(a#31?dadcJ|4HGo&*KIu*G!W zwZ*xJYgb>e- zZt>84L;6sf_wL~$QXosY7-*ze0_YY?0rR>BvW(cJt;?Bx1t8gq3x_Ky&0uRFDZ>Y3 z)=4XUdL5L04UjGy(p$h{6=jn8R|Aa{YXI?sTY$MP9Ihi?seC>2ZUEFA^%SKU_7(J- zLD*G}Qx-Q<*Lm`p)je2NOvT!IHkNHWmF&Kq)LH62>|(K(QnJA#D zX)UgYuWJ~ePtB^BFI1g?JA|9m?WWrayk(}_X}VpSy1H4MvN9GMpIIhlu`Sf4>{XA@ ztw8lCOjQoGPD)a;$5c~h6=-k8zVJ>|Q)zbtbw+-$-dV!E^4_jEJ=H~hl&A2z(>`?i z>hSadb%ruO0XyeER3NdDDq1#}r@0Z(H4V4e42U~K@=#5?f3^iQkJt*R-9N*>6`3ry zA%2VdXWJ=BHn1H)BgIb2i`HFolGsIQh6Yv}4a`vI=7N}Im%+K~simMyw`xPadioi*Eag zUDm+?W{tj%W&=`~)l77AsMx>XkTETCIF2S|;V&w;hZ z`#fkK@dBW+@xF-oEgJ7jlq3y(8EB+ZgCzkuf}_U*kzk|o7vw1)Ee)*lxDE!j*a&{${=;W&%!6C)OZ_H zvfnMk4~ZhRUjmBv8URTBcF-*sra1O zrHU)e{skbZz$MKufszUnLcGEN7$cvh_(}L0bWOrHKqJMsfFuDIFt1XY>^2slZt)#p zjC>5^C*&G2N;AF(8YzAN)P(#9lorHN!cU0B$j3K+5`G3jr1~9ndXq0><#`H*M+l8yXfJZ_4#)KHwgaA5a@r__dk>#38R_=dnI5NU5@L zg@8ti!jv5z!uqrbr5PF#txxsQmIgz8T}n8O(qLyA@xV&IxV}E6P)`>{Nr5b4F`$v6 zIG|gU0L-hwmn3#+YbjQ7o`)wPSaN@M5oVxQlF?zg_d5g12j_9 z1$2vgfO+-tAYzyPdzjhl1CswrO%e?#&EUUqSsX4Wm79K!r98fs@udkb5Z}7^*2lLI zzM=Rw$5%W;f}~9iSxF;6w`dHQtKSC`uQVuxc|!rU3JnA5Jr1D@>dGoScHP|!4^9u` zY@=?g*2>~B%0wCglw(8GIr;mK&S!qCLb$R|%`Q(zKoMAuEl@V7doqZp7ErhU9w6=GKs&txO;NxH4CL3a`zZ5=_cuoS^SlXE~JY;keh< z1`k;GD$`8{T*(g0RHrEOtd$%lb+@{wiCx)QF$Hq=DXT`Q(}t^umFfO5Q)6YmvQ1ss zNI96SWOr5$4t%V#GRa{wmr2L*<9xi;H{FP%7$st(m7VGuyGfb#pgOIfx}k6?c1cTH zl#eMJPWHDgjJM{Oss|cVq(F0J+oS5%&dM=UL!nG)r|fsa`Vj1eCy!E(#wIG+m6fF} zn#9x5tx4G+!g2U{WF&U$DChVx>c*i3l*uM_KI{hLQROH+{RrNc-BEA^%!V7yc%J?w zhS^Cim1!nx?Qj>)=GJ2GpFO%P#=Y?)mBnzxB4tW(b)32^lXBqg<#p=HI8@6za{Pg6 z4-Hec#gVOj)s-!kS+xtnUtSbP2gx2$*qLXlPgv9=>dO4Yt*lh%hgPVktV=fe zP`m=Eu569u<)xShzcit2P-Yf>0J%#K#DT>zb(y*!3JejbC>2sreKH?-%0m1BWp)M{ z1?maM6-U&=>f(~k9VTT>-I28|)e}v4tX>KwT3QgNjoIp9v@|rORMs}3Ufq1^jIoT* zQ+D;jLGiZ!@Vp48b}jor6K>Z{0rBn(U=07;HY@%olQlLvB{d}x|Et@I|A|E}5jIEq zRQVfklbIrEc*U#qsY6{MJV;LDc$K zE1;30H6Zmdes9Bsh_{!~BHaJudqn0>&l$^k*yu~IZI-x~BS0hgSo|?BqZjc{&m9Bf zzqe3wyM@n!|GkCs|NSi#GYtT8FlxgCKwCh!Xa^XR^Y<9q6R(_*J1}oYKpHIa(Pcvm zBHqE`pZtWP6BSdsq%#+@3!qy>0OoZurz^2buXJPf?ttVKe&wYHr5ZLU|6a`b_hJr4 z<2ya+_C2Y~Yv?9g&I$1Lm!7i_EKNe5;@yfuAM~5Y=3%lX$I2$+hXQ?ZC z|Irdq{@77kh8Rpde!dt&6zK~q&`2>9kbHrsJ<&kz3HpPY7{oL|P7#ZUzo0mxNI^EB zks=5PX z6e*p!{Iq2dMQR%kG*V;&YVB$Sr5Sb;YoQGXa1$IJ+@xGMz*MSd2OMcFO{nKRk=M<^ z&#cZeQ+)-JTTv^F>_EZ)WESnGv@)Tua(XsdAS3wWsg61L|11<>& zZ&M#_a#Gbtaj|FDKwL99-hL>4T(H@Y79cOkUsYZ4fU+1jXpZ;7Vc#ZbKca4`iKKan z9XmHiWSw$cj3l$AD@JjVMgzKq2QVhx;YPhhadHN*`Mb&+10#l>tyL10d3_%>#R6a2vd4f}(todSIO)~! zM{MY>OvBA6b$UOiNnL=0==JCfyVW^E{)`>^I~#w*jtpgCRgCV3&}2+4Li)BX+nlT7 zUR|NzhyNocsM+d@+QWJ~ag`Zo@CV?GO(lm7%eR>L@TTBJa>#$}TvCF}AIYzN4rcNxa?lybhB#O?bY^sH4R8LrZzaN`|*A=I!Pxe(O#d-OZZPoFr$j($e7xL1) zUH|VzsOK6!dS}FB_)mXpI~X z7#&do<2_h4^+v%Ua{(=2h=I*Qm>mE!}o`~D-(Mt zGki6o?Ctij^5ozW$^c^@>ni)b^^#9Lo`PExQ}6=sdM`1j z*Z!V(?&XVFSM)zqIfhx>Pz_tX)3||%f2+{=ksjFB&G6PkUF>HTk5(4cS9~2wchTP! zikY+|lk2-#ykMIR=oU``=6XIkhj``UZZ7lA1LS==J)fM9hAv@;mLq=a`*bTPReEzJ&`7b0vSYW5`>Crb&2Z;ae}789-$q^|oK9x+5Lvu;LWxds zI-$`|XK2T*$Hf{_AWOLxXrx#N=oae%^SZmXf!L+3Pci#OK(ZD0Q=g_ZgROzkLm$#d zy7RoBx`{GL{hL|f7C^Vy3YhDj+BV{q%C|G`4nWOOJ1Nbuqo9AwuIw+MPAHDMX0s}q ziw)_Idt^I9O}Jxqt5;iYcQgN%nQr$^)$Ih{F72LQox1be2fnu&jPE4)sCi4sn`)GB z+v42etqY@^+q`Bac2OP6wz8Y+e-EHr>;=T#dcdg;?RJ*mYgGG?;t~4+jc=kHK>QYO zq8y|o+0G6DjTDC|FB&;sqdG!qhIaPvYgBjl@|8GBj+2#ljGcNM&@Hk7^Li8I1hLCH zc!t>(K&=i`N;3>J_w**pvm`{?^BgO99?&gb0L*LPdy&|sJufl)%YbALUZZ-2(hT<8 z@lBLhDTCDg8VfrK=oYU7=6sFn6lfmt2B5L=zKQrP8t-XJl7^lE8Y#|FUfFohQQEB= z@4v56-Qul6@fJBwR@ixV>IFczcpEUU#`_Mj%Q|?M+1~@y>fn7!Gc=ZaYP=ti5NXdv zR`4O9TU-LntMPtB?9!f(nf(($t?_~wkhJ49s;`0O^%~VTlt(K0mh)T%#QRHtdA&w;jo77%@0tAvKvIDRM?V7fy+-vD zVtKtr^)u+2gzG@@{t_Tbz=O44DNS}8`4ZG`AmsHL)eT~lX8aB`Qrra8gwT?UR>e|6 zKE(2RjVeFrnuG#CBSk?#tssRc&G2pjWb;Q9rUdD%BAlrxpj#9J)Svp~&-K(No&PyH z{&j%WmSjt|rQmn=iz9s zAZppm1C10F0JZEDf%>vnLM+BU*gtz^5Vh=8fJTa{fLiuyKz-S(BNk)N^v`}Dh+6jh zfkui404X~fU=5&@ou75mDwSX3%O@VBJkqCuoTnzBThs!KvCs9F{}A!YYOl?_bpS~| zT3=nDBwxP7R}ZmVyQv@$wd@ZAjTH3(wbC^J>MPwNh{ZS(u(b6zpdsj*ghoIkMPoos zLNHLDgb>7H93q#5P|!6AVL&5AIG`q>2~eMerijJZU-mbk8Hif;=0GDw3qURVqdb zSPVb!#3Ny9`-yRxq9cg@0xd+571{}Cr05Jt0x{Wl0qT7YO|RPMAKHG=hqhew(I0H; z-4yxwqi@4R1Snb)>k2edbOUsY?tn4;f5-X%%4pE;7y=lS^W_RFh?=QGfkujG;*#|hLurOlQ=i|+QmQJdCaNN^ z@h(-wQU+;h9MDK%19Xdcz+4SCfp}#@u`_QXASp(}bx@i?vEB{@9x&(%k~mW`pj)H> zVr=NnKlbktsfY&IKZyv4C^%W9A>t?nlkvY~3r`kKMAM_l^62zTArSKj7t#2ihVZK> zp^ch0!oMp9k^e0X{s(r3O(fXjL^?=Q?ZvngSZuE7WH#9>nR8>+Q)(q7Z8{m|8jgBBM?6x2#KG-1YP_@#8~_!jjW5O69|_(&gveK zhX1oS8L1vIg?T>lh^d4`(f|Hw5#F#(*O0~`O&a#@6VfIyBqSKFoW|VKnfqIdxn|c_ z@p;YuwZ(LL!MMV;-)n6D#$tLm=m%x?poi_>Sxo2R`C~7^|G6wRNj!n9Ts2N>a&oAc zfoQ}K`_C3r+BoH-);FuA^D9Tqf~D>dO*g5Y$*O1Rs%w*Gsrqf_`-$7yK1-_4?rvDR zU%_gm`pwyc$PRl62kCUMrjCA^?n5cNw+W5v9XcQ|Br`NTI54tXibgHw|=@RL08je zEx1_Co62H^hEloau$H+}i^W_|^B8n(V2|EMy53kqpQWVhJKd$ea&_C7-%lAepz!8W zm$CNdv8wq}RYXxL&qw(lox843Z_@Ez+Pb%jw{nt>m$jl9eHZMff?7z&>|MGs>Qmhx?%jGQk_J5P+$6nN_A#y(U7{IkKkHr z#U=D>5hMLdMYR;tTsHhLT@@E=3F}&_>#C{M2XsAq-`l;aoh(ASE@)H~>%$rcdwntK zK|fsw{dASfRY}2(!o@Pyvs~8`DwNw^S zf@*1d6VvFg=GaNgDb!Ksncqpv*W|bw2mQ2M@z>(taa%Oe`fW&P<52FnYgpG>P1kwS zb%t6&=2_Bp;*+6mrZwwIx=sZ?yKKWpeW1(NZ>@d>@>dnoBEjCgs7 zEEseh^$mq*G}NeTp`R{pec^J92-Tb?husaVbOdhyJSYx_H_rETc-X{k0Mjr6I$ zVg5O;Js0`$t)wT~A;Hg&nXIqs<^FSLl}eAI1&42}_4(0TXPa2pW=+>Gq|4yPW4>|y zjAP98cWS-irz^J~L&L-JXz^QE$yQBCF;a5eH&mRbX)EYQD$vI?6sE2BbKo^U2h#7K zb#F6ZKwx+#m8N$Gv5kdqm%_Uhl1)LI7*IWXsqa)AMbh8kiKEkPijdcs$Fs!_R!&E1lCo%K zj}IOreV0yg?=lvx+at2~>P;b+LT%>tYkGTF;a*MQ6jHcH8}*=2EzcTB;YF7dr!=BUN|qRn?K-*UG&ElfIxhzzPpa zh20+G7GfBfvS~CFJ4w~+AMiTE=*9^Dfr)X4pWGzBGa& z?*h%Yn#i#p<54N+^viSN5!Q87*Hx3eC;ew=i|=48$AC_Sx?@{(6vXPuBaX2|s)qCJ zFOo#m_~ozaW)X@-=iCQx{$$oxSr*XvL-N0sXcYZCge@h`ZA(tG#@P~t%_fdRq{ZAT zOY+LLV*kNn`s~7IX3*?EVgXw_kdo~`S|4^DTdU`G3UIR$2{P_E~VvLj;iJM`V6a3G!?~3g`raQn!M{u&AA+vQ;o_> zo|Q^0=7&Dz7DT!X%TXE}F+!5l?_xQcR|n(<^c?GYUf0Dn47XFw`=&L0-h{3@cR*H^ zV*$s$dx2HGsH>`z1s_XQhV|Q7ZP5l*cV54ds+_Y7t9pr5y)0G9m5yPOIpdoK?mWp* zC-+~-vxZk#!>f8>9-^Yi!Wb5bZ=JkQc}j!)R7ZDS&ihZ#zO9hAdB4UgPfC^Df^+VL zjv7|kS2z87Iq3<%q04_Slt=sK=I}b}IHecMP)CMlZm1)@#T(}~|GlJtrwwVYuN3tG z`3=_irdFzjTq;@-_WtR0>a~W|+c_*xvC{G@)giwHK@MGVIc3;Qo@QNVG+ljIm%i*J zT|D;Jr0RNu*1x^J^wT9*Q~Dm6#^jvcS1z;9vX*mFi^befn=}2p?oZ;t`u6@+{c0-^di>YFvT^t=Lf&Du?@F~19vYYqMU{=| z_U3n_PyLB|7?tZiZ7FPAgvfH~ix8@@oEsy#|9_8_yss(YQQfdHdegV4zl)7gj;ivu zL2p%kz{)Oa%08tM8QLHpVnmgt61_=NSKZJ3YRbP2(%2LxYf3xM;74%X#VAP)L9XNFGX4`5{;3om@g}+GW8U4=A=&$Un;wOZnySw8lO5`3d0v$+ zXW7fF^R3h)r}E#6yoke*IBE;}`~$D) zXMsiqW&PSh?x~!+%T?C!onDgKzVX^Hl^Yb@aVodp^oVOLj{0`;a~G*y!PukMt}==R zbovK3ubgvz=u2ihnCeq9dflCa{@RLe5>VelLs>etL1k!aab*9TwgNJ3_inZ zIh~K`J>q*ZB&r57g*NP;7&|N}Jte{A7SSm#`72ZSQK=DWK_L%|AJ`2)vfX_xrt3?V ztVSkBMeGN#$puQWN))3*w$&7?%xP6A1+gle_PG|T%4vl(&T5?YoEEE2G0BH~L5T5* zfBO+B!Qv+v;CP5L>w@WOlf|S9uES{qG&OZ8<`q?sIlp}M)e|5&?n8_Zy^}J;&m{Ii z&Pop#C^^tCYc0g4Icfk#Utsf5JgBzo1((%l7 zcG@qx(>|6P3wByWai6zvM6i^-6;V)g)71{mzX?CL#=&kfeJ2ll9nwuNTo)E3JIGBD z3;q1lMEptx@s`Y-!k$#c0j#i{o%FoUAt_?R9$>A-D<4+a=D?F+dUlDF{5$Gve5S|&Cw6&J3mD?8K zC%LK8itxES+0lxi?HY_l;8r_eWJ(i}54yNk{#;o?aPGrJL0Pl|!2FQx5e29$njzY$ z4;vZLOmqGz?X;|KM4YT6^S~@><$4Dmrp08J4dSE#Sr)Aa(o?(vBZ5W2TNmXg>Ji+s zigEAJTbAi(O`g`W$|8zKIowsySL8`%AudQ^Du}&rM3AhF6gC!JMcNfC$6l>WXXUy? z7PP!p`b}D;eV0}fda11vl@n< zU^9hMus zEG;k1mX|SDuKSG!`iRp09_EVRDb;)%%S-;%meWFu<}d$2vn-olj!dUP6LUO1OYdUP z{E?QkufE20V=?`p<&#s{SuJMht$)S1Z!CdtGA_?0sE}s~ZaW$Opba~6GXC0c<~pgx z{^AnkX!ml6tjGnZBnyB>O>3_RzabLMST3{l*@&A}Wv!3uy~JqiU(iSCSmid0M^Ty0 zuA=+>`hRKVSQQ5Rg)2wLpItKMm<8nkQH_07oqUyJLgSj$t5=))c%r=10AVrf)8=1X z?{dwnk8$1w;(c6%`>6=IR#&&}X4m|>*+*JT4iqQlqb$Fn?$0j}(;dywg*@T`GB&Cj z&o#JS(m1TScX2{1EuM60aIqdFPDd;1cqT_{3aU9w6x7vwqnToI6^V6A8^o|Z(uTmc zezA6bvGx?x4;CFAIHvdFjvUkWm~xVPNNXNnYBQe&ELd-Kk^%3T=oZm{?!nkK(Z(qd zmfvCt`lEN=j{{kqM;`Hq}JW}MArR(*C&p9@U)dfPAyy`Jwv;DkXzvvYN3SabkSWD`F#12T-FMQGO1d({UNh#`s z$s-ytE95`I2;?^eLh>6C!SNbu+HsNqy+Y5P5s(H1qyqtIK|p#CkR}AA3ju5EU{AGo zfFr3dfCGjQDD{X?QcbQ5V+2JF2SP<{LIlSLkmI;W;6nnJ2>6Qn5k)^H@CkuW z30x-d8Gu&GrjWy>Y~~dR!$>3o5{iJtBJeLI2?vqHBOnC`NCg5?f`HZN#iQT#_ZBZ~ zxM&W29?^odQUM=j1Oxlchsb4Edb32 zt)Pm1(AujL)@wc>y@-)!1b5*PvI3lWI)2SP%ln4k+CfEWvXTqEm3 z^|6XBy^4WI^oT*s0-1vufy^O5NT!tuy3C=7vCL?VtjpB9jSF^0C)h*`(mf)Uxga)< z5s0+`A+hmH(8VSo#$xRnSr@C9-(^ovaf?KxdW3^{Aaocb5Sj#pgeEfqLhYNm$)q68 zVpFvQ7Hi+knrSs{M}BalB52+1GC1fSuf5ohThEx~BG?vqRwJq8>eF_!rtI*SpA9tVU( zk7ojl_6;cPoe4-`B@;CkuM+=0jxJMN>oRe%Jikps29KD`*`RX@BhWb&2HRF_VN-KcB@2%$^N|%zlyy#%X^J zC~VPOEh*=;ua71C0tM-q2S$&W&+O2#fD!0e2!wPjBEqd*^T($C#Sq5kE%8ddgTwyZ z)UOZoJoU3nmqIaqg@DwPOP4c(;;sNf#a&4R!|Zs=IWfm{=$!<$sc#kJa7kBt1)`*X z!}L$@gBYfNF60{M^oX^jnF_g%5fpMg5Gv#bA{Yw!H!cC5f-3gIMz2nvAO5RL06MYp zTLQ4_o`#tov5AZ&*KKA5uG<2HT(^}7ciSC!kl2PC?1AmxtoP974PzRO4z5_S1L8bl zCkZ7>cQFD>cLO0y_fUxC_Fjane;*;JeAzn}Ot2z*K0aTB88<54k!wAH@3xveH zM2MS4n1bP_F#t!Xw9i#K4!Cy>H^NsG5; zBwM4cY3brqe_9ODF8kABiS`-M=>8?;jYeMW{^jTX^cbCf#h)Il)4u?nyVRFJf(DDP zD6p8mx%qRi)Rm_#*%jj6Jl=3t7~lEK&Ri5`IWhR=Z;o-!y+kQc<=mJpml_*9)sn3SZ1mJmnqtYG)2{7-O)Ex&XK-5ef{r1r+MUT3ANj<#uF z8!W!oOuo^oMc(*)!@Xd`@?VXL|S=URyy!Jh-P_}G;n#_3aYQtjjQhQY8>#VeJ z=a+th$=_%uUp{!>(v{y@vM=7hdT#fnFCzCBjlM0^dn__NxOC{xuRaON=k=d|>e@Br zey`xKMIJa}G40y)>u0EVi)q670jC(*R`X^sBc69_q%pGfzPEcaGVax~Wf@t&#yz5L z7aIg#KK$jSM$<`G!;G^VA0ZVF4>q?`$c$yB#;#vW+Lv^-E&ZO97I?eIiDzN*x0=Z( z)5~nFm}bfTVf?qJpF8~ka-WKvmX$gSnYxA!s^%F8%9CyH`(S=CMJ z_PWScByHs%5VV-^#9%d3;zoXGW@OD5lL8run&&>j$UD75i=DQUfhS$lKKXt#>56gJ zXw!vMgr%Kp8xJ!k+HM?=n?u?g{yzMjo}~1*nPtwt0h6z4CZ8*Rb=sjTOXX)#T0S)o$jzCA6b@DneAvf5&r-1w!wOzHV_6Hvf>WYAd0(y9d@ z@XF^i4(2OMx^{P2(Zx+FUYUOMS_POLC!38Yg73*} z9>TG5pg|k~4dV!CAV)w$IRYNcJ775PfC0S&hV%{?)H`5U?_eK~WE#W~(726&hH3;f zIwPRL7y*sF2xzF~O{d>}fu^4ykm3 zBQTyoTLSF}vcOShDxd&#)^Y+b!9%Tqz9?%{>B2v&Y(9UOvW>J$`u2gyyYwrJ*fYXD?z-mp zH!x7Qv}bPH*#=0D35g-wrW%>OJX%uAp<~L#@A#^SrRCrnX9F{S{oLZEm@9-|`L%iV zvKDjstu>}JSb@2qV!7CpS1$Iz#m+s4o|?Q7d`3%OS!m=tRW^~$8chOdh z$-Ze!`3hM_EvESsJB|#A-)=EQKVGk6VB&d;X~3}WOMiH%nk9SU$cxnrjxJ%zw$F>3 zbl5rEl0ARq#T)nSS#QZ68q>~K zzdx-uV?db>7*F%R{7ZxQia=`Icq}dDQkKOOR%zVOpiw6*rnVKHs8>EM!(!SPUi^h$ zw|juJ`~JjL_YR9`e_XzC10KXczds@1Qb6J7@%H39o3C28zY65tx>p7SUN$m&dGw?` z(eEUL?`Vg2x1y(Rb6T-p^HSccc=c+-H{Q0Gz6^M#dREa)JiMfG_9x^&(6iu^WY|{Q)IeN9Jn?SOz@xvS z)$ECW``dLtqkzyJ)bpihNnohh`sfR&iXyTqW*uG>6qJIdmc0I(%P$>E!3tnY!i`N= zF)PHcTD$0(HKi@4nB&9Gd{FclI>W&porbTkZplvC^3~-M9#jRE3mt#BaKMrsH}ZuC z_jN`MtodT%OTj~vEZI@>+9jO4)WOpF&DJ+2M;3+S9}F~CdExhq7E`&C`}bCD2ueuZ zcTU6{Tx~Hmw?DdSY7G^E^r2TMh1Hx2U1|k zmed*HxPZR>#dDv2f%T)hBjtGgUC$Yry*zr-p1w;KzP25&JniW_;_Y1vDiESkJ{eJ{ z;I*gjx0tSuH_{@~%_;E{P=V@>%;BH4eui`{FFoUtON5O6XrTQu64-CSrS48t zMNwH5Tc1yhuFzqh#guWn<50)M!l;Uyqo3`626bY;;;Fp+>>PBD&k7xx`tUMK_ST*q zRu$NZ0V?Ur_Ze@T?1!rOtW_p{wgFXf=!L7lmn&$=UR(Y`=IQnsmh1uLnk+6d>KBWt z+w`3iK528pVj6m6ahC!u_FGIT%9**N%EPH;Hw69oM0HR)c(xobw;k>B z^_a$WZqyqAB)0zMw@zWLdNi(X#|fX$2a<4q$ph7HprBiqTN>qu57cd=o@hG~*?r7j z9zE&k+Ns^IKiLP_*PJ`O^wBy%G>W;vieENAf60WZIN_Y~U0Q4SY4O`B6{=>TD(-uv zRQKrxEIyvsW5PC7dg(3F)wt@?iZK3YTs8Bk)@RAEG7r7sevu4Y7k0TSj90gf&)RWe z9qF3aJEM9-AZtDh`S9~!NZ^gsp0%nw;I|E>zZfw?TMP3-(u=N^u)ZzgR#x% zu|6#9s0%%~>(WmreLvuY#nk=xmb;66j4o(?By-n}cUN0Xy#_VS-tjt;I<;D|Bz{9x z%>Pd=?zw0q`t*egt?E1yjuCw7#q(Rnb*hG27XxcPAGCcU))5a4_~NYqbjou(r}ht< zQVDlweyaWA=q8=ETneAi4IE_dmY@d(Q2i^4yCPA4c}?OSuZYRtUpu73spg^G7`PNqsvk zb&V?O4#FhAw^{2dWzO`%vTt~!wp9vrfD3nhn*WPYzgtX`zIrL+^)u7qo<5BOA9Ta1 zGroKN-MtrjTeA23aB6Yl$3I%K$CY-bCBE1iZchDrbXJ2;uv9Vq)F-JeCexnfCtppT zM(!!m_Q?0&!C^fIS~rb42TI2$UaNk3Cl*ybJs&PTQ`l@Vb$PE=-4?Yl)6L93#d#?- z8HMN&`2DDB82e^~edY{#`VqX^H7ziIm7}PoSv{uAd!TPuyg_ua+3W63kHTSFiVP~X zq#0gyJGJ;y>n~2C==Fv*edfbMK7{n|B)5ELU!RAvcmcO|d-@bep8Ef4yVlsK ziYQzNFCm7Yi3;TV&g5nYvDxhEm>+Rj!OLyCSwCC;?3ao%Aw8%q5MW6)) z1YZ~+{y`EXDv41s68>P6x1zyB6AV;C6u-D{g*0z~)6oHJ+UoS8E-XXf5BvvW_J zE#1&rAK>=&n6ey_kA?r75#A2=K7EcI8~0&mTD*hJsKyG@r?~>qU;${d05nrOLFV zClZVOcu0D+h}+V;S-cwg?`#ndNuL&RTlyld6GtA966uE!^G4S5XJkEpM%MFZWIcaI z*7Ilhp1(tR<=_5Ni6_ZVauzfV9f84msN{zOvvQ{djK+fL-_2Z(r{6WkmHy#XF#JVd zZafiPGRCp=^}RpK{nwXrDvg$a9q8bb5;-4Qq}RDpGyf@F>dF^#lRT8+hn zzOtXg)K9MVgTFzUL9fgk^RbdEH+VuFvYY>E(=%Yu4_jIGYruf7cHE^sxdDSN+PuRz z!%4R``Ps!uolxc^uT0-(>mGj{x}a?vhj;UoiJjYUN+}HkFCJ8+`bbfsBIIf_7G*MX ztL{HTPvmLaGy-i4Is49_waMNgz8iXiD|hfvlsVZe^TxcK;L6*xYdrLXOLXdd^d3B+ z3xA)`4SJrx@J{vleCWCFi}J!PaIMley0vu>Wfpm5-k39(T&<$L;B}aH+PHG-CT}cG z?SfU6PUU`!@PtBNa_iIku}p_1pFKIJFtZ3g#&Z9Y>Fp|}=uae5P)b^+YFRMFX^ONh zk;j2#)|Mxfc766Y9Xus6gPfSZyL5p+7jLhXMT_CRefJtEoe$)%K0c9|C;qtp^YuV( z88YD0nw^l-bJUE2pZ)-{vT|?VgGYfF-#0C6s?4kmPiAU-b$9LctPGqWQ?4T>meNF( z_q9SEAx+Cu2>l&RcTOZ}hh?Uw%+k`)m`^K$#w;Pyd|tx`txBqP#r99lMf+#T`2t zsfi?OC8<38`zLct3eoKI51*%M7-!FV-Db*MQ@=zhbC3`yL;`>6A$H<8+lu|#Y8>c| zxiS|S>MM5OtYMMf+nB9unNx*JaCCulrIwlWyfrH2Mo_LPMIyw5~sJ^OZT^e z7m`^M`NFA*csxl(arN>dB-MMvi@ISmc(#QESqyq$+~LCx7`)-9y8G$RwMg%dOmPPt zWhc?K+}Br2Fhls?F*?STC4MoBAzG*ETej3`gy-R`Xn8^+$#6{SnV-!Q7grEnNxIxthQ*;STZDXT!O^Y-r@iP@%G z<=C4DW%VViyA5V7`GAPoa%K zr%3}sDulE~puEf1yS{r9Vj;EU=2wH8vm}^HxEY7W78Sl00 zjNIu8CKLeILAKtk0Yu>z`R3G8m$8=(hG(<8D5$C!d`O!9`v{+UE5lG3v5gk19H#Ab z+&6vSMs8ijO@j^;)VdwR$uSKk`BS=iCoIAQI@x+!k;^4Ty7Fwpto_6zlIJ7%Gc2Y^ zF3g{Q*2=N3u2<s$Az8x>#P-g^tUmzo!@~@DtHhKtTM>6?_$7$@K8WRxilg z$-Y_Y44L&}py(HaI&UUXkLf#-pC{*c*EWJC!hPnNE${NNeS|wdX+IIyGyV7UWloJx z%D%xz+Ii=J(>{wTE+J2w3Kd!F#==QF({ODOL%;LlUx@vT6~Lo2dX}Q*ad#*Z5z9D8 z%HFQF&Imf57Ozk`VoXscE>^ng`7R}qP{Em~cldigbUr`+6B(pZcZ}Z8QOf&KHe)ST z^23QtoDvbag4x2V11p=dfS5*l2#r0gd_g4wjsBs!Dqq^VAw&->25f~q!$jwhldV+9 zl}mBo)N#X#`V`cH^ti$lh-l0gx2$i}M2J`q2-|X7#}>NtPrNn%iV-bDcu6CAFI0J(k4*j>bfXjPc1tqGx<#Bp%vAN=)05Bp(=dyW4oOU zVr+6QSgvDbem%DLRN9gbsne94rDQ%)xn_ zT~;&bqHDboDn#>tF>xF?_e1^kE46$l1c8hXOFVVMoh>KPf-?BahHRFUt{5$3{Q=-i zS}!k4$5<*$jjwoAGPlw@_C^)%;jt!T#Uv>ivg>*o3F_Ws1uM#EgUkHsPmqX}%=WD) zy_HWbpW&C1h+XaBYa7GExO|YjePdh#j6%c$ZC|z-Iw`PhN!+)S#L=2p`Av0;l}C!G zBNFQ-xH3=V23>7uvAsC;+0vh8#d2iAoZma53O4C(a{PKh@5+vF^R10s5O#<0V}ON0 zQ$6{YlFV7`SUS}R*{N}?rF`X}V!ucN@PgUnRUN3&JLA_})bSwP?#D3qRlH{R3_Dk)}@K*5*jx6uAzX3UL(?MGSV*>Ngn6Pa?zD?8T|^jsS_cDK|+0gRmZ*gh4cIh2C`ab zzws(E6BJk4f|nJ+zfabHGHg4bfMJBLa9EvA)8Xrx zel!7(B{!v8(<5jI)0w*q>mjtl_%ywUw>Hv2;C#NYmaPx6~bplrJl$HX^e7vg&%w+P2U0cqzCu=BCScx4#@F<`?V5~sIKu61C;jh}$ z;b07Ef>rKFEj(iu{3=pL4h$xI_AqGH>6XcAlfGaT7le%EoyH9Sok8e}JVZoAP|mR`*^Fx=UPbbwSthQ2K+Jij0k`-x zD*d`Fh=7`H$3pv&>T&K5y*DdCCVs9jn`W}hd6p8~)WjeFEpi?_F2=ORuHe~MA~Rx* z3@M9qsPjLq$-Ysm3eM!~;Q>GExsvWir?~nbo^L=;tG+>I5-P~7na~bNLVVL{ALFOL z;f4Q)PFv;DKiH2Nd_o_Cr>$Qa75DU~5O=AgSjQf~k}ln)Me19o=UycDl`2=w>%Kg!xJGt1_QsAjaVeeul+I<k;XiGJhCKiu#P*EEmMPLCwe+SU>4grboSBC-lB@IX>335oUIQPq|*cgzu# z`++Jz_a689xCL<+$5qMB>ljC0gegh}-cEa(Ze~7Qw<#M%E09MOD}Z6=)qObfF0d$W zwaz{-^WvW$PM)zDikm@VC&Db03&^~g_H-Zx46sp1>^;-R(0;63Ct*xHo1PzX!$idk z=?rW7B;pEXq(C2eO=}$fDB#CJqwy_!s;tHw$BWxS(dExD5FdvVuwJ%jpU>;r2TrZ|7^Z{V9n^=bOcF&$T9EYgNdyrNhS%c~0S4yFb| zvKS;-D!ztv49?z*jv)c~JVJ`*I}_JpCycOHp(83aN@IaI{?4r9KcufsB>ME&)imeo z{3kiPFMgL0o}x%DNKF=e>q;OpMn<)i2fPiKhUEK3X>eC4fga1O$RQSdRm@pJ!K#z1&F#I!zY;`*fPuajcbXfPW8=+uUDDY zuEXh|P2P68?XKR5+G5I7mlCW;1*FFX6$(r!6FuoY@T&D*grJ@g!&RI^EoI%Le^)sB zNV}X3QW*WZz-~T`o@4%mMJ%ey54GH0WLX%ai;Sn^EU4t9G! zdV9c#rg6cI)MzB*NQ2wH+IfsyA5mJP?ilslU%6j`*7hS2OpMA)Os`LerQYvr zqZ_y^2j*`OGI3~^rmX89O2be>2VjdB4^{OsY9;FWmF^AB<&YSKdI!Ton(Cs~3&oJR%U{rKq9U?JZHbzwjAunu zw)sh{Q#8BYkiV+BS<%UG6gSsIriIrOOFLP&SZe`I$M*I+REJ4H&cN;rDjLX~RpDlU z_;1p|2?PDX^Fu@E`Dt@+{0SOM635SM1xN^Q^@PA67Tr)4AGuYJQ^*EFgug&8kp;3j zY9}&73>K0%%J_w~e7fw&S!%1S-s^kr&Q6w9@Y|18gtimOOgyM-i~zj-Gbb#-!6Vpv@#*GO1jN5wbo<&>_t>rSpGo;;Y+?Ye$9DPh0Z# zH=$B|>>rB<;ko?FSd#iuvyT$t7M02rBSNQ1xFcxQ zT*`(~gEXbXi2%$9U~J8t)jw|&c_S9mO5Wuo1P*I}o&Z(IA6}TdDr|cEccz`xZR&I) zOrp&nd4N%ARYodaSWuM{2>01U(WHk|rE|x!Zz~#XB-x8XC9qkVLi322l2A|TD3BU9 z(EoeEOZ$-V*Xg)dB172qs--oD&1Y zDT9k8S26tIR-{6jlOwBEWx$}&d^`Mv0qK?lM_%N31(VQMtM@1k`Wj9@fD$F&U2sW9 zt&5Z5Z)S?Yc8OrA8gI!ZW_YmIrl+w$x4wVR=A$}!|Lsn0Cze*W z99Q)W#}bm-DrEF@AMsx z+=wj)1P2SQn^UvM>AC}3w`}aZfzNh*RNf3Ea6q=Oj%6^v)8yZ;WpM7>lHqy?w~XW^ zkYrk+CvETa46-Wt|DNSca;u&?N&j$`)!K9u60XtH4qbh>X0M=vZ_p1lBvIUv_%ae4 zP1oXPU9KT9L9|l$Na-c!rE5G5(v43crFpx!4!z^RcL3nbIuhG8jR1`ycpn@S0P4=7 zJ4uoKG90A-#PC{dRY~J!^Ae<=aJ!TM3csNVpV9Ka2&)cAy3_x00)LQJ3p@ZFX`QeM z|I=A~Xj`C`?ZJDP5i-V6&B#QhGW~fC7m-n-{ynZbe-p3JI*M6uiRAK{E)^$+chsO)d&5*$6xdUJ6*qj%U! zJ+)13Tt*EL9QF~z#|%<~*SHEoK4;*5D*JkaeW<`s=LFk;cNqLa)jLz`pirwy2Nm3# zkspc7$do!v6o1*WUrwK~#hEaECIzA{VSs1%&omlr`e6US6$1d&qkbM}VyBQx&01_s z$|uzd>fxCgrDg+P!D5vy##D9|#bxnW7ZCfB6qrq4K7EeXAK-$T82qhLuf-)8M!2)? zHO=!!A`&OL1Gw1lKm6a@56>qB29%=<`cr*V-o}9S&5S;a-nyL6FhVtTZ+jp>cSMa| zB8JwWR>%#HRLSW@&!I~oT`Le3yEyihmt=;hNUPTGkNCvg5Gqur^UbMe?dMJF&~#h? zayD@U*m8YpHU6_ElhYjU+82_HbX2AigDf7gQmWGM8VLA`FQwIR#|8;Qa{nqbAg}a$ zxIw~a@I|e*p2jDae9)JJ1eU_x@BRE{3-&sWNX+T@?Xs)vz2K0;A_cTUmt6-ehy>NVLa&6A%g|WRvw@TKyRvB@BK@1tk+G@?p+!y346s=TzX()mb|w zj;opjj9(EA3U(wJ>kV>WtJl2tGjzxAsXEzN#hBjmb;;V~B{5E$9iMC2n7nZ$s4_kv z#*Z8=aD^Ww`1{y$7s()?;2aj}^Em5%YW0Uz&^Jd?Q_s|?^Kr;KV{C!`;j4)ecJD(# zEBF#rd6vK_3Z=z09YJE(T9f%RID8n!cE`mIEj}MY*F7L0FH0>dS?-PDHj1DoCL~W9 z)ma!P?eBiqwB9(wlxo5to;%EMVS4o|j?5FXur-S$!3 z5K!c=*$vh(H`Eb>W7-&1>cFh&M*J$^?=AeNA`H}tFZPTqPGmc?*b^E;pmD?>eb3?M z3Pkf4_C|Mn$8i7YSf2-Ghjd|a%d@X}fJlbJy&h07#>xAQtV!R4u%Sp6Ad2{FGI zGgH=Q${v}=mu~O}&!N8P_}T+{CJ#T#6&Pdwie(v|6>!BPaX4m1r^3cq1W#|>yDFl)S+)%_Uah=3gkD8m6B+SU-g%3RyC6~>#LpL=W_3dus zTKe9eLgqpkj!4SXlNHXQ>ilKHFr*H?<$84u_lWGaVUZBC9BEI6*5k;SLcNIw9VAE# zB;>L3mroc7OLp(p6WM93ODBd31dq>L>PkbhMr798&x!Y*&4TwP-Ee+~hmYmbKYLBz z<$I$GB>Lvki44xEpFbw2r-UT$gr-~2J;WiYtuv`3LS6YN0~fVYL*%<>)_SkEwdLcB zcSPFUMVh$^&DaO{G)9e6&j2Iey$Jno2q&OlH?v#xA51a~LrlhV!Gav-rGC0oT~emn z=@BVvMph5BZ-06pB_#i<@`_bxo;_5Ml8{XToSLFU>6X-^3uv-|n2q)UupKV!tA8^M zLe0!X{X%)n{F28qI2`EJ);cP}b`_Eb5Q?q~FDP(mAPs#pXI^ch2&*mtDTyGF|&C2Jb0*#t-eX-gC;|9EZz8F_Cz9u_)p){Y~g0r>Co+ z2LaMU+J6TNkkr_Ok?EJh>+t9Z8ZLqW@0XP8imYjn%L8}!Le^{-syEFsTe#wMzjQ-B zONLfIJ9ZS-E9ODz4rSo0=?DnI4H75m!#VZ8lLYufY`*%w1)t?bIFi*j||$JG-Vh2=}{yxkFVF zA*uqB$WNk1=kBK|T>L9|L*5+tWTwQE%t);ushb)vO$xSdVqzGNCXA)gK zmM1$Pm&jI!zzD<*xJky1p{|ft07`!}Lt(A2P5FxnVT{2QpX7Y-ckN)V8!=K1>5cuO z0b;`l&-ZVkQ8rN5XkoB3R>JaBM6yT~VF8VIubNmVst2T2c!we^diD6beMlMq+6-VD zq^6bSlvXm|YikX?aZ{s|O0FqBtnwvqH!PhaKE>My-`$nt$LLFfRijwQ?9x}v8@HB9 zmCCyiY-Rhw*2Kpda;>VZ^L~pOZ5F)(u{4bu4EBmbh=P^ z;|!>ly7k(gDD^I|K94VU+{B zdX^~$9MTY3XH$&5z%E9yw?C$EzE7JWbTCY_L}bqumKTq2A5K_#uPF)JB(V{lW@DEDLo9w}jx}v^i)>jP`!z9Qn zNfX!4t8!n__;0-ok@B>?X>7G(>hPkyVpX{`RQl;Ur6&gGw*q)oS^=&o7^31K`T2fD z&SD&NOW^S{y;hN#JBM1e#k%Xw%L(_KZ;3tOucWnIsX-su25NIMl49}xqm z^Bzu_gZ7u%PR`y*`zO9Mg&Ph%utBYvZCF^0*T~N3{?2$GuOdz&Bna$ppp= z{WP}2yyV1)^ADXZ23(XkD7BAyzsQFBcPI{G&ONjkB2@xR*+Y;+yi>Ju$s^Iac&HfE zwiiPr!*+63rQoag^f$Zif>_yRgm-W)uEs-AfEANF`{ixf4*A0;j^R-s+-T&jV;kY{ zJtsa@#&J#y+Gy9yb~s~f&VbH^H6?6H{|G8Bt9NK|Zb-Toq7yOSZ}4H@nH1ox36KgQ zO2t)|nBbOAlVF^-8qP6&qjRzN(zm)*ruo`#?cVfg)kq?v{$_WuLc9~;Kk<1MJ;6kE zUEP$i-75ctmIhMASg4}i7asf@eT`cF4QrBzpc#gebv$4t`{ZQIQe8278_Z_wzKV9Z7YHur?5*-TZ{(iHNjDNqXX zR{br<+$4>Q8|<|(t>?sOrQKA62#RHL;gfLN40uIGcBHJkQx81b{#?@zj90MQS!IM_ zRB=DTmK83;>{#>^NpH}zuyz+c3Uhz{kif^j5pgwlDB|;r#9P*Q ztFjLuU@jGP>|HO;-^aO61wJ0>4y|G{xOCkUf>&QciO)$#r&Fl`JaY&MYV>^q|QhnPC&zkGg@ zrEmIvXoEhuY=}Y@vD)tXj1a%Qyg0GSp*q63|G0lfvb|X%BO`stPgErLRgkNDWKEJ8 zY`&|)0fCA5Rbk~Y#pN3avbF3}%ju)+a8*nFg|JjxE?D4%u-Lj0F5 z9XQ%nMKp`-Suh^}z%Y(;4D@p-|48J0?=ylaWMAg?5f~L$bnNwTNy4N#F}8u;vVR$; z;W5!`Ur8`J9*5<5nnJJ9W3Kz((CPQC!gX-716MQxRe`+N812Y90A5HM?ht;Qu0v4! zmNcOUe>?2^R2~UFkq87`JeBt=Nt6eP9CWI8X(Rn%E;MpoV%7X9&8*tZ%a$IqWDO(b z?e0jAL+XV-sNn^W-!0+E+seX})OH-l4^KBkl1*zrDEPBJH8>&?Brsy}d^8XJ4a=&3 zF(X%K2Lf@@M_RGJ4HAm@UpewDY8E_k$PwyvdF7g_(LSe}Au}~v0f@trXFFyR9I6VY zjKw?@bSLxy9E6`ko&hA3%d9sjQ;XY*;y0jUzqJrRn4)zw==nl?lT34w#DY$_8I)2r z`F5yM^mLx2T%VNoe%5VnL(7Tj+qrG@QH;qC!|$Y4N2tiRS+4sPBpmd{Ue_~e8T>Vb zF6KIe2u{=)KsC$-a(nTrsraRW7xz3DOY8_iipVr zUm_khTLA^r3~-hG4ZmPdxeMFt0F}n)x@^5R?+d_9-$ccadFf0tK;^Xj1W0=UjVr}W zZ4Td^U)wHs6vpB(s|5k`qU0jW3l_U4>;HKVdKm2mAnrSRy%%t#|0pawxD=}x$impV zjY3=C0X*6K#(D9$BIr*_^7X|em(2Ip9{R^*ZMI3G!{H<5J!|@n{jbXXuI!?nWU`-)HW! zo*Qmn+E@>$*k>#V`|SrM#sgqA!oe|B_|+Y;0GU?s8*fD-W4*mnF{0XFa7xB( zIZPQ^%{?IkuG)s5O8xS`mE#qSz>i0%dZJEE1M^}WLdG{6Fno6KTgUF<>xP;wV@e;< zo?95lnjteoX_obQtt!)$pRJRoFE71-BLN0y|>6Ojcntr7@%1Pd$? z0D4a5_V24xa+zSuL}&b<(A;YC9SjPVsX8@JmvGwe=shMV3xb6DxP=Z$EK@i%=6R%N zRT3Ve*5J8>$#K{Ks39cW798rh($KS`3aJ8G0n|=Lj6XCPOdIe*D4u_!rYh0Mj(TtR|A?p|Pq{jFeTM zkPZ;Byk^2%a3s}Xg)+y*$&ECL;n1pLW}crcq|w2p*xYuq01#&QFNjF|Hy$4Z7TM4x zmjg)lP{WaA*LY#9A>*!c!?j3M;vIlgI|=w^pIEApFZ-yZiQ{F-m>asn%&!C~(u161 zhy`X>AJ|^k9bEQo#3EZgHeQ{$46m%BOJkT8<5_ea6LVrYu)<^Uxc<*7O z6coWx^sLU~TcNdyBORNVCDg&<9(q*%Z8q&s$g1m(l)k6{Y4nf(zJ z-`G{v_;r>urpX?|kM7h776i9iY^NqW{0AFxf7@JVx!nEs$@ZI0$^}m6Sn$V+2dgm2S<_TlDIQ5WJl|ZX;-t zugxvkXDScKDWNHJ$)_!*tRLUmano|`yUZap8yG{eYEei2>HuN!HILOtLh~QE4G?aIOoRU8y zu*S#xTBxmT!6(J%eLwBkDlwR)Yp2>Gb6}~LnVhs|rbfWTIL%@p=K_rmEJ4+0uXnsm zKux4G8QmDM*-)li3LXfT{BQ>zD%Vzqf9E}|0*=A@07b9#`_o#Nq5E7;q-vEe?I=y; zbppG?u)>ovU^B4AEQMzN2!l6Xus(D%DUg6o$iWP946QCr@PBkC`XAlU+a)o2{F6t+ zR<_t;-6bCmEtBb4u20R|pvfZ4%ey;MPCbSGKV!4VQf8hCg`={z6U-H9Tr}6JV;l z3M3Og6G&jBx@!U+qq}l3ux__=IR`zN*OJl7?r&HlbgWH_S@)m$r!j0EeSl0e_8FFj zL%X9Eu0!#1%cO)S(_`*RD{$_*W=!OsXIH@~ING$LrROa7m=Zwh4dSuvF*ps>jp)3I z;seff7%4oOCPFp&o~y??B%g>);B-YBsw>95;&YI zyEaTU{E4Lf`b45e3k!Vq7h8gvDM3R#Wl!>}&|W>Q;Zo&um935zV#Ug?c= zKqVF!Foa+98z)^mKqHbC=<0oIpAPX^i&}4~1bZt~Qz5Kdsn30R2!*`Mt2Udv6DnLA z%9jZmHegakZ8?T@>n!}`FX#PjN9!?wqKvNmV2B;JDy>7A z5i*$~qIk4c5stm)k+^MNaAnF!U13eK1SD!TfQwo9D~%i?u)Vha0Xo!PubByyR+mnx ziY7ji*kz+LZoq(l>C)A`;R=o{%LS(+cx)tq^fN7{rHg)NVrRThPFq=rBPskCHT zlv3d+H%;(aU+{*KHP=2dNVC9LTR01)sY4KJN9O+AE@q1u#O7q)x+$uk3BM`|caYAb z|6Lo7MzXl4`o#5Amh({!jXoU<2i&!;#Xc}N-9G6c1iXBAL8bc9zH2Tjf)P&e_gH7N z6Q7W*WmUlJxR_l{Ca5wlbL>0Mt8siHH?uS2X|C)zdsKXE_Ykt-pA5FSu*`c5>h9n7 zGNs3;7lx#vK&!^an3tZyf?=<@fUbRTLJ;;)_0Y_z($=;MW@Vji>?Sy{^8^?HoG6XX z&mt}b^!v1AmiDH0uA8=@o$F&DRnV~OmUXcBWD+5g_Qau(J-Sk#tV~b#Zt~|FTClYsZz74XH?#wL33@;t$g4pBZNHF=_#QZP;afXD}gZ>D~rELY> z->1xDjNN*OqH16LSEWLbrfSBKd2%BM@UJ^CBhmSxTjA3!dGSd~zO5F6mTrM{MGzL&D(!7=K_5QhLVpKz-eo{wx8mZ5d^RM?&G1;=(jjd*QRvG zzd$i*#?>dYIA+nFz#^#EFEr1QrJjB-`gFRP_6IN;t#({=V7L`jv5Q z=eTEn&rI@)d#f6bV;i`WqU+w49?Zbg3u#4;*WSrvkjEscxlP^#m|Z@W7x5p3brE(G z?1buO%i85lxHK|5y}pK{^)f1YXaixuCTFMgfOG|eJCOvRo77FW=mjRdjQ|k z?+&8Pq>!ECtSx+qZ&-hkqliZqves)@@;5i_Iif{LE-&X#@w`o- zl4l&%vCV7n1K^P1bsk86AGb4us=BZ~UD!c|MjV=-s^80~YAq3IV_y5Ha~2qI9i;73 z|Am9xC-kS*(Q*psfIrU_6~S=|0a&LzBOZi^^m_CKeXc0tUXEUexHU5hHf13Kf` z>xe8>)%>@5U?N+Sh5a}5MvG-eQ;nNnnaEG;h4v65oYNC#kj&Z*>w%H) z3A;o^dKs1QD0Y}Z?L2z)<2LH`VbKJ6aF8l;;F#bbjCFil7rdRAAHptKogv$5x3;HjFD8@i+IZOGCrhp?6*(BK}lD7Kp^I)=N{rIspX;Xe<% zho-#=^4{DPvB@XgTF>##l7y4t@3Z{8`q0OLsjdQ3JnJ{895!C4n>8*!9fgc;F89{hHu<5XTsMM;Ev_6bZ~iR~T0 zhVm7~bqp_bt9?f>;*B!g;z`n%AAiA3eOMZxifgUXwyO)}e;^r>ox;sdo}kPqK(S}I zy`?S9eW8)wkPpu?FIgiYx_UP~!Dt?fkY~7bY)nQ>_N}f{W6X8Hi4!g#u!z zDUnu>D#?&A$=gK}utj=ElIoESM~P?m<9{dc4wrCClm7GX0vZgmU;h1q>LtGHXh?$D zdg^`X^<3IRi%(fCPxW9?Vg18{o1R^d zEa!+T=v1B$@REfhF&|8IB0Q_}t^5HAJ(mTeXY0rkL0_L~(Y0`I1|Ixej2?k+br4au zYPKJoEAf~L_T_G6RaM5vjUzzrmDof-YMknAi(}7x|E^qP54byj)cI=9g38zRz=SGZ zOcv+7*$U7v{*n6wBhEY~{W^qs7p*8xV@Rg!6u!0OtwR46fuTycF}egf3$s=$WAlS4 z68W!I1tZ+(Y3gG{%*qxMBzvlKX3GR9YMn%zKNDjgk4vAEcZvw&l7J2(;H2$PH-d)n z?92axD6A(I(MQ3xo_1|gE|G0rkF&nAJ2efxOj7h~fJ8dBIJlS!SEaQ_=Q{@)i=NQP zkxD&U)Egi_83|`Gm=9PcUhZqRAEdh6LUeEe-}XF?vGNTQgQT=`kT&N z*3}^2CX;?vlMRIBGL0st9q?QsUh+c}{P>x-MD2C&w_2jL*;TXP9GME z!s>yQG4vyoklJpIA4;_e+$CT5Cp{Hl_HMCopFZeo zM_1e#k@=yLwrM)r)8z|T|73QW?3S%0?T1j*1`T>hc{Y(p$_3IWVI>S2mOK<2Nd2O0 zxxFwhucLMikwF!7yyk;l+h#72dea2g%j4f190A4xhD%z#0-YHKauFZa78*Etb3{Wz zleyLEYn)j`jh=$UAJhR)vSzo)OxKfOW(; zh^sViw9uqw-eYfTbUXzw-r9K9spJU2AhEes?cw?-f9KYSyh|32%F4*-;aY_xwcwAv zzKBo|hMNv-%Vp5Cv4^ihZ^O<;U zbimS_Up0^%+f(TYg1mN{g;YcJ_$%XVve|iTAoT%B&VV2EAwLmKW`wulOo8{e5)MfR zr&fQ4g;%mfN+(uJbMh=!`qTfdH?UXhtSlFCxSvW2^;_T80AhqBgNQ6XtG6DuKOZ z-qX7OpaKZxlJ@{Gc97S_%UEAf?DB%3;Vj4}sf)Ifj_&nxcARb8V`hWcx-bqbBDB#M z6#Y3M1WJp>ajA4kQMAaL0I|l(!T@8>nXJ6|ncznXy+lmQ-)v2CRZQw9Fr&!y()U~8 zLbR&lK2`=SQFCMep){xJZQ-<{#Rsz6p5^O0_#3-j*g#6vBhA*q^j~uCc$zJGzUg?t zDBj+nBh)+BXysPyK5zn_i;t8Kl)- z9`t27-YtWbr*l$S!mN5n@%h~*ayIRmabB$lFFXRq7&CRhbjf?ch%=nT-< z1oCb9W#IkJ^zuDg+O?~7z^&b@I1H%Xw&}MIo9Zl`qNiiQ7dh?V`&@J${WsPFKVN_h z#{%hC2z7fdUZ!6$ePuW+pmQs|lL}WGdj{6%b0!}}E>wxjP*CRiA6-6U!Jgw*yDr${ z*bg243yoE*U9W7Zv4L=9Ud?~@fy5NFIQ0y*Q?Ylc+;52NqFMDr#U#O+X6caM;kOB^ z-+#LkTRR32i}hW6@KwYmbz-M}#+lomu?|NBLqsu-c~CJTA!S=yYD(&);#+ z92(soUOj=Tw}PZaQmDwV4wBB`7RTct-88`(mVl=U5Xq75UIccjr8#X9>PfO8l%?m= z%raVRa0jV$oegoFGN`_=8~w7xPl92~I04Pr=5TWbFd6Exa;F|izHJMW`3EVHO~#|o zxf*j5@LEu3VJx`<926H<2`68ef&JzQ%ds2fs0{EO?=$&-Mw|X^DZb!I7^x~ft8Hvt z{=;KhP*9}7u*c5QnV9JX<2)u7@gerJezQsD9?rZZYB>JAlntk5WvUE0svWEAbDMq; zU*)MW;nYOf-KUv&(wh8qIi_R^)1EL0TV3X1^qmShQadMBF2G=QS=bYo0H4<>L(R`q zZwvBaR&KxqTPRYoxb46wtbX3w7|yfeL?r)qdJi}j9wAMZb)LfgoDU}g8iT2KJVGiy zPPM*GbfK8|kl9Tg8W~s>qh2T+5g2V;k`xnOaH2aiXC*I86}YyS(}kDHBs&2qxp^&G z1o*}iKHUdts8|tVhRz}54dEa)?+uOfirYra*;zOo_OvenQwV-Sy>jE#e@3kU$`R9{ zTZrgpDozf((zToerx(l7V3f>tUtIF0gjYqPgB*xSL6nm;tjTvWlgACl*&7tHe;S)f z|Ik{3%hrBfLe_S(etVs0vgF(_CzB>RK!Sr>I*?}Q` zUMDK6-^<-5W39f5{^CGii5Qw?g|>%TzznwxPMj3 zk>Pjg+w8qSYKk{nrzNwx&>kvMiWDpC6^US7_ImuQt>F0{KQww%r{OEH#954{_gT^a z0;4n=ml}P&)=S1rc~~XKG<|;7;47$LA`O=;>qa3b9jg?ik&F|8jlmUoSVVN$?a-xpqN0GU~z>d9ohUDs`fDnyXuyCZrK|fAS z^zEOXY;<60Emk{Y6&(pyqd&>`05L$$zqNbNV2Bx{_%0?_ZZ*wGL~{cS6t>yIiJ@oH zE`tr(k7utsOpJ1=QMml*^U0e*&L3q+xi52m@U)!EWzZl|uj-MvAd!pX0pwZOo~_jG zNxZ<6+Mm1+h*7cp1m^#LZP)!|Ny~YmA1Pbrp-`$bn~SaI;@V{3$Uk!D3jLul;)x zc4T?~?i8;e1B0>Ch4*Y=o{%%7l|H0**lDf=pOyxvcDOuIrcpCXzL?9^DMIXwwFE>D zdjcQc?I)m`H;*ozquMoSEzonGMIx_P3oTi>JvEpsyG$^YV!Vat{`;tGr>MwwBz_no zPYGx5a`mVIeUS+!#>GeC*GFt*dP+j+ZD&fPdS9!tlxXh@zKt;Krlz#k`?XJzizm0B(@ z1-CmuP;q6a;99NgSsUS0YX= zJE!WW`IU^Eg|-JA7c_;XiIY=QR5|j~&tb_i$6bT7dM@Z|q(A}$bHV2;5P!l`QY4B! zu&wCW+bZ~6V#=5*a@Bz6{2%4v8n&OpJ^u)5ey^Z$4|3#wwbuIya1UO;NRIo{fU`!CI$l+|w9n*36T(s@^QcgL>(H{sY5u`&WU0S%tB3zJENPC9UG8({RH zTD9vf;+h+sSbEXs7|Wl>%G4+fwo9XocFG~(r?5k$IM#84AjJ&?CR+KZ=rLG5C%PPS z?hcV3b9(g&lzohLxcek({h`a%z4UlOIA)+`8=sYRBl z0R`Ybt}q2&pta?Fv0vF!mh*y4G*O3vH`TPF!rg+QD%h4ul>+V@1Lni%Hyp%g67$v% zq3yhPlIyz{Xl1d-@{H4NzBEZWSN7Ehb<^|4g%Pyl^R5l;NHT7?p#E)hovkIx81?>F z?2w35`kclqOo+`ra}FUJhRC%#Kv-N#bDOI8_UDoU`?!FXIM7u2R&aa>q=C#72AI70 zUKl8rc7Qxu6s*DKLOYuWLp@d0w1cUHheiq6>ul(6gxhy~)mM?_V~D~6$C^rU*734{ zlbxb?P^{+-cwiWC4I!cOS45Uv;V4ZnmlYQfXlJPCkS!~CUczKS#rl_*+}y6{*v#%d zA+`42);FbT<`9-|l`Bibp=$N_a?x)UO9W7GD7}mYI+Szd)FdRdb<=02XT&^ce1{{-y@L$1u z91L&pzHIVF%{@ckd&F8sphgvk?jTXF>r}GBJpD8lR=cF{oJ(L<5&05&)#Ctk^>kJ@ z=IWXRq;AQb4Wm#CuW;PBCJ@BJ(N;vMRP&uk9Il@|-YBx=6hhwb#$p)+$h-8Zi8k_+ zmJ+i;j;|(os(FQcmf2@eM9+2wa9dpJq6uZ7sK(X(R`=1`?}iTL(H%YoKGSM%?C~3# zR=Job)r{!K@2j#};fvKw^FB(#uxcF~l5^u2fU? zD-_Hkc2Av#_%Ce8rr*Bjl*ayC$NoQK?rt8Vc%RB|LR*xemA$d?k25-Po9;r>s zIX@&NZ)&`$)X)GFXcxIO;l64Evj)-3hwrIIG0;;w8F(I15sqZ^KV$GE#L?h2TmZ*h zCjl%ml^5FO&Ef3KYGO8<>~H{w>91LoHg<{5gl*i*h)kvY!MrKgkqr6G&I1MR!YPY; z7_`180BxIM?Z}Hw)G|*>@eI#%Da<#*t99RFzLx)r<%syurh~Yo)cUNyQ{fMOwFV}y zp;x1lUIj1q89|@<&IBCwm1a8Utkp+306w8Fs};$4VAIaZ9Rcl#WW2@n-}p>eR-n*h z(4^P1hSf$lj`ZIlX65v!kwXLA^wPH#T0EBNdqn0=TX0gVwtscn`ktJuC{|ZUT(X>; zaP*-5A+@fu0c+G_W`hj;eJ2s!$l2W zDxq+P1Zk2;k>W7eVY;Q8?&~Cu?MZGYNg?31x5DA3kz_XP-JgK2?42*OL|gOonS)er*;=6awm0( zQDisxlyD(k`>&~xg%gP|BtzSMXBlE3wLeHA)%qj#mJ$DOPPeL+IyO79snBS;24156 zR6^iXxT0tyr@=y@{yYD48tW@}mwct<&fo>0IH_w_(0 zHRVLXd3sKj?6v&na1{MdN*vLN>mnC} z-#A3ys7k~->-j`fzqrt2RO!FL;!&@d7&+A0aT9Z5mQ&Xk@J|cwg~m+&e>c_U@^T^G zf%xT*^b_qx1O(d*#!WmDgJ`zw*i9!e$T9DR^c8KJaE{JBxTp!WA(%R#cAT2lGF{p! z2l=>`*SqRf?N7;k$CyX9C%fT=Rl~|I2Tjb%jGDjkSg8R$MjUgy#2m6x%b6@IKc|PvykKcz*ndJvL8$?!oy&JWEP#01{=K$rXPz?=9ivNPU7Xf`ZJu|`K`s{ zvfqGy7x?^`a=6&*Y5~3WX1f4T&4l<3^@N7;sTwsUpDM{<73kA1-lI>*WmQ@H)8qDC zPUkKCdEaNHf%WzS^45lx4Teex59m4{zehy8OFhy%sWj-A3MP{jt&A^#QgL4vML-i_ zf}SQL$%D;>6n4Ft3nj(4ZFQSN)dzqD| zXbebeEo91SI_`QhsKRNbtewAU}>p< z>N`cZQAMqaIGNDq@i$g`4fnurV0LKYlyf&rE8sW3<{$tcA^$x$LdfrPhA16Ae%=bg~_EkZsHp6!ILbP2+%*_5G4J~{bkjodEoJjYNK~eer z#hM2xYAUcY>s}*i{DL{O54cki0^#h74alP4sx&d&u9t+^2J{0NqEBbE+YT5LN5--* z#09*zpg~EJy)9tw=wyU8CJx{0OY;D|1qN0Q^1IkPuV9!wrJ1DkrV~thYy)9<-do3> zUTIH48eC>#<*DoDv+`K5Y_lF6v_vmytm_rWw3TE?QeD_5_S-C?C0ca#jkUry2^p~M zrJk#*@d2DCK;->bzR_fDUr8f~?blw@0V!f;>Gf^HN9!4u$Ve4u{P zDkRo^IXEpPk*~gZh5#0A=2$B^PAQSvDuESHle%ir|9rQ)c1@TZgd(Womvwyyq{nw4uE*o*(ch6qJbvPYZ>YPDa0kB)%?;G{LVJ*K6$>p9+I|N+o0d$tdrlCAcmweoAPzVJQbA4OVP>O{ zGTk09@W3nGor34Erl|iq6q^W-9Cd$3-A`b#KuLbx4d1jEHTBOg1&-L9)OZ%x=i+sk z9n%w*{AT9H!8A|-V{EX3k)xk%M=8_xMz9w3YqEwSvNwhhAx2fe?xStD6O4@$d=U69 zMFh!h{e9YX7&ovKA8Pp3DPQL?9i!G+=0_=U+cLQh#<4qmmPyd>wrfxltnu~t3iZ=d z8b&z*1cUt6}V0)x~g{H zY5O({>^M*c&0r?XKFROACE3OcgS%pfC|H2qC^e0D7-;a+&Co>O!6>p_5;2&tXSl6= zf^mchHw}h_OJMUWx}~xQobW$@$Nv;f-FI#5uTi?bmIO{95y@Fs#S=0wFQRUYh6P}1 zTe+wQ0Bc{Ep3XwG$)?PBHD5M4n!Uc_KgJX8;=(Xhdu_UB!`y&bDKa~PwrM;&nC@d? z=j)>h{_`WfKiZ)4R!h;i^EC%tDEsb~f`&_~!V^<&2X^Jtr69VTZESU;gmsCXwYzjw z`WW68mdjt9LM&n#_5&1@e*Y7xhYA-^qT6|d^1Y>1p7V#HBv)_Kn|&UpioCWwhDES#dx<(S0|Vyc;8T|U`x6M zVP7heg;b=R0bAzE=hC7YZOeNq*+zFAz0x`u)rtV2EHzzcDp)~gd}Bj6=)816w5^wI z4uli@Mb^^L#C|L@+LCxg`E$p$N1i-RE6fRi))f#an2BMG8(aRV=oN(u<&VWRF|3d+zLK7D;?RsL1(0b=KX>THbC1pQt#^J5jJ=bLMI-OjL-N*`Fl*8t1 z*O>p^`Wn2IJzsADiu8A`NDKLOhL@G&)u@c~c;+j9g<9eakIITsmp#Ke92}})Is%n3 z$j#b#54{l?TGJv7oCrc^@9L4ZT3bB_Rr;@;^lvmfSdTrI62;z(;uFN!=gKx2k`tv4 z_o))V3JrO4D6TKiTKMHK)YSH`MHc%%byOHb&kj*0Q)OO$fF48VCs*)C6UcZdcdP&l zt!*9BN{nmS+}q(aJ}(C_;Uo8J4J=7VPY*H??VCiN>Gn=w)nrWlND()IDB%sM112fT z->}(Ci{F@!$@;KJ3SNE~OpA0UiY#A|%iRs)?|vVa+-k;3HNcjr>3(d#_sf@wge zhvTwzRo`>_yeM1HGO?50GQe@1gcp0>>M-JSQ6Zn=t+5D{lVA7o!3InO12pg$+g{>Y znAHW%T&m@GNMGk%N#j~f6t;m?>xj&Z;avO$BWMabzk~rX$Doe_rSym)Ptp|6fz=)+ zBA!zjSiSnhmKrPRWIYH?KunWis5CyeAz|0t0BMEjMo6h)xk?ji~02m;GuPOBPB6h?uNG5P;PE{5g_gCuJZmle%xzNR(5mYGsg-D$%}h?vq`0%TY#ri@&oTeBES-C zFVWEbLC0Pq1V}^Ewq{E?dVnezl70DC-~GKTE1zR*h4bUOMxl*ET9o0TDs8$dh##T1 zTBvwmT4~k!rBzi4mRobT_%Lm3#qF2WZATLrRbELh-}B);s5q9o+IGeMllL*mDGNfn zG%zk%z*Y>N6toU>rUO{7_ z>~ z8`Tv+6X9qGut8bs?^ZwxUG8;x6hLNsP;*3O^g=lAv18 zf6wecjdLddK?!yKhpFD_MikEgs35n@kw@%V^|Do;kefEV7?ZSQK!dkU>$%9unL$CN z60TuFmnu)YlXHu#y=P>i-6mC{z{(59F;HtuZ>E*LNoU~XIWB3yrxN9k`Dpd_SB(~xE{>rvEQmpwQae}LAa!-jev;k<)Nu~dM`PLV}ac& zD~LNzGD(23=S5MIOF3Ssvc_EU&qU1HG4_~1?3W<`LvT(1l*asnjI$x(PSH>(FCUgs zM*~hOTgc1XBytL4sHY8QU!)JO1-u+zWFJ$tJjN^a3qx7!R3G64r3mZ&6&unq<=o~0 z%vBCZl#|nTY1Z{gRj2Ek?Z?tL4MAyZ{OZdtnB`pG`9}^bTNFI7jM?HZx#j7Td0#ve z&YmW-$}Q;4o}Xbpz4Hc7!djVSJka>ic}cM=aZ8oVyw%omQbRIhj|dQ&>}&(v&G}{d zhAmiHrM?xUyf=^l4ZH4@<15Q!dcZiSRTFx#X`vpO!Pcn@VmXj+8t-&abFljq@YUx+ zRTq-%akqxAX+ZAx{^wl6tF}Xg|tjMa!LyrttX=!%=6kJr+!0B==vJ988IY6Oro3jpO9#P z3oH~TseJrh1fA)ouRM7-bH|)dx?7&8QqQ@1}-D4u+4Z>zD}&rCH`$yqM?;h#ufN4wR6sUQ4KJr(}CfYJEF8) zF##O{q5SJuiLxg;X5xP*P@@}HiBDv$j#KF*ZAvN(v_R}8nXr>b9?FH_`^{13ocM|O zV!Yo>AkT{h{oMgRP%l@yhH9W!nzrB>#OzI0kD+DCf3tm7i0lC$FBop0=Bpz1weZJ1 zmlHu-GkLPI!(7`#XFu%$n%f5Qk!~jzKk6HPa%6IFvKi$+rb!+~pX6fdDUtNZn#`PW z`XrXZFV+=74{Imu7kit7al0#{+rSXvwr{L}+5(J(1FG(B&mofymepKUTHCR`6IbXJ z(LWq}L(hWqiZj9Id9(l~J8t;5jkS~`orB|)_eJEP=`$##vB^fFfIG6 zR1|c0eyJ7>3wv zKLLUa!SDXCm4KCF_4}Jg1{9)#a7%?|ojNRdyAeS6?XfR7Z9$MGAe~yhEA-4vLwm+^ zpG`H@XWv6W?uiP*l>HBa$MP*EzV;;hQC#I4@myTiPdaJ=`|reupn_zVIbmaqYFQ&{ zAbm+N3$eR!n$oQWo0Fo#=;UAVJINEr@wJybx9XVN3~?kSaP*{8cGXbqU}mV@%2hT$ z+sUyQFzXAw*lw9Xfmzq5XQyvet&y4qn!RG7L0EW7$_B&VgZ2QBsFHBH2XRtb1>)AG z^UW_Dm$Td4R8!YH2ViiMG98t=ro7Y*9t*Q`#G-C}PmUGD&0;2xWKStvfG9?!#bRl%byR)WEZFqlJ-za4`OTo7l1 z8$1!SVqjSc+l(NtXLjOr-!Yw@h*|0{+2R)Zjm6jp+$~G#NE!Vj65^W>Rt&CZ@HABC zBtFS6e#_ck!Ue0r$^eFzNGV`Vl<9m^|4wjX=LWDpcy%TRaDEknxYGmo+ZWEYs-JZ2 znIok)d**Tkz>k*cN-u6no8hH5N_I2B>l>xw7p{Mr?4cm8LJ~ z3OEC4@_qd!JZv-C*oSrc)?o@cg?Bs_IVe9hSmOowh3G&zJgTNiR^GTySr09}{lC_Q zlcTnrwq|qLn26Xu(S&7Z0dsyJ2xP73zoC28=|ZOu-5bkH`MXoM)u}@-3)PM(p_)jY zI1;6Gdk((>Qc-&~r7wF1P1{|(KU);d=G)R*w-W3!*x1*-YnrY53|9~tblP@A`+g++nM@RKg0*(yk4B)W?~T7js+{@aQK~P< z6(Z(!qvj&^Y|m~J!wKF}9>~AZh%AIm_4>{PYhq>$juCO$;Y=e0wMDGsS`W5g?>BH| zCEYbXY0F^Bfj9-*Jb4E5hm_sJ?v~W_oMhvxY_7fstdwmPQD)y7Wda7b^-rU+A-;h;6McGm5o!f4 zswFNwtC;bz)bC3oag1E7`}qbsPNUAP$%+IHE(^u>u)lOAMTVHq>Ir!!z*mbO%qF4O4E1YoSV`)4vYv{Ooi+pFs+gmTd}`l>#T4dck- zSXN44Iqzg!N7n$K2C|>-V=vIhkn)DtT~y6nsk|VylV*;$0n$oV9HvjM5(;E8Ocs;<=}aZL-FO zB|pzeM<6w*r_<=r29zJuA~{>|U30{389nvsbAR+1%YF5IG^YdP42+QO?x6KUa~>r@0XjRBE(D?J?pClWXl zS5rG0zV0c(OG4*$;O0U<=Tb%;5DZPZTc>rR-I|nA(?y#&nG_8;O2FY6yaQlCj5lF? z3fh8vMO|$Y)l(Xx`1n*_Q@RQCLQ~?=^Uienw3Q-ndJ2av?GE|zukbxxASD3!o5iIZCkRmnGIzHktb4{+9pe=SR&@gFi^=qTi06_U-N&v z^H~1EuNs!StDM`4&I*Yk(Dmi{WP=uU0vd|9k7B;R*&|5uc#1ZbLQToTWKke|`)4L^ zAo4}oR>UgIGJ^csp>3u#6MYeq%_=BeSs#ETL>2&-6i;i*JrU;6F&9^*V%|WwQuM zoSsxRZ9h6~}N z3qfe)SCYh~UO6Cma;2jb1>Y7#LEf8duJgWz1N+%sLU_j9ba*px(}=11#dE{LjMTDE7hsAD($@Z3oY zUKwt$6`{ZFk{=xxV*IogD=)zLZN7;%-p|q&{3!Id`k@hBqzZ!MCKi`r2~qs0V&IqW@j1Z`j3XToQF?s@v#};#f$R>Xs=52&#HFK42%(B2)jY`{xL<1i2*AUr9QB-`KR(%2>6^lxy>$9r3 zY(^zl%1@2o#u}G?{Mp_ivHS6^c?0vIfyMZLC3=ZO+G9KI4eejViaP;gQbhP;4`4<6 zy2Tvf=or^dPBfK6qSYxG3*>F2X|-F?JejS`&7RNxd;i;TbQ35p#8+m32R7H^XvVkS ziuM47#?Yi+Ve@iqlq<#?%(~ZxZB`_bVuhI18#+rhU3|{z2PjcV z1e>?iDuhQ^!7La>fJu!J@XJOa7%e%#xjyR?>;Zs4exPZ_0s0~eFKIBaa`#Lw!fcxvTu;?igi14I zfdY<(Euc+PYOOHq0usKaOioS13 zV@A(w_snS0HkDw)k@IEq4T5`n!7Rh&5AMXMqx`jTgt$G#OUl7T-PQTh?@h&Vw+RW^ zmXAI#diG;Q>M3Yy_L4tu{)q%RSJQD{%Pkx5-U&O&c2DQ1(@Oq>C7nBPh*(i2GQnjP z?*xn|Q2VXX67nIGDi3M&n}J06Gf}7)5<~U>j;tnHI#4%&Xw_z9S&g^Rjc$8P_W6|k z?w`)fuD^4Bl`!{GlvuQWXjjlw6VZAmIHYE@)TWlmnnc)umFTkS%!Wcqb_pb$!I()y zmbp2nVFSS|Q&n2h0pGXL@fO0IYlFJRx%bE&(->^+xRBw|`opI_`pEwyAMFBp_PJ%* z_HidW-)&l3*epDX0@Zi2r=!PH6-sYutZV)vF%Q^bT7D z6)5HfevFw(XalvizxzSn61UYN-4Pb>CUWrkx#XA;qd;}v^ORN!r#Pv-$#pIUF$BA` z&=8|;?Ws>#D8XCE6s~MKd}~4wFdzazn($Tm2>HnSkpve1`lTi)q&2LEFA@=dR~h5x zeA*IqQRZmF{zu~XykGr_)|3_M1!$F;x`;>vsUMPdF{M33wDdzJObELB^LTt3jXmF!6@q!OZtq0?4PgNuTS`^f~c+ndy_k&jbxr zIMCJ;D&+ZmeDfP;@^E)Aj-3KRn-u{x@zLgjPE@y@pMzW6y{QQn$40FKh>*ybTXn`l z*kV-1Ml90o!p}x60a($~+e5L?_7nIuS(=OF!Cv{Qja6?P-ktC$8jrF?>`U4S_>JZo z6Th8?IO$ZDn-mYjzmDyvDGs6UJPg$>({Nj&3-?BTw!az}Go^IH3#po;RtbM|==Y%p zBU4t{J#?xCR%D10C%O>EFR=IX%fTfpQ#{pnT0lD)@Y3&c>pMF&PFNTVh^hdo%?H2_ zk1-({I-QK5c4J-*H2M};<3n<*rM@yn@=bVRP1Ll8-l6CU22&$gdJDZ*T05I&w%wqM zOAn=|T?Y;;R+UaMXMM2zZKE)bD`J3Y3YcPD^OL)v-RCTKqz42!TZakdU9%UyBYGY! zrZVp>-!6wd&uEG2pX7&|b{Ko#zmlCLG^&WA$3*NM3$tA;0}4IpZ+D7^UmB4l5ds1; z5ta9PN~7d(&`_qMbtN+50dCDa^u}zZObZ=}7=%F)_xVVn67=SUFlw98%vz$N&lx#i znOanZl){i~2=?VEnRk~Y4$CXAkASZ4A6hhWr{1Z+2_2WK$3o;Z*LVf@07BqNwMtkI z{BnNd6k8z!wW0t3+{CeZ!|WQz%f`hwEfLklwzQZ537l~^St}a~Mi!O8mv*YwI5t|% z3sdnWDcsCLN7P7wK+o-{`i#}!hG~o9VB`PVEqhlnt+zTe?zb2vXm$T=iX_cdA3?2A zu7H#x5Au%+aIL%2`&u(M2gLBbg1Z=*@VS<@iC(5)ExA3oUrP>^`cjkJ=@wrxni{#! zJ~G`9wFnB_pgVzJI?w2V4Ttpc4)unGU)r=!lfmkfBts-v4*nwIHR)qg+}(uYm=btZ zF3=o5GPRUq`NkouJWZZ6XCB0hBkg}O-!Fd-2t|##MV4jZf?5bXjYv`p#!7@vM{jGd zfrJ7h0MID0P^ejB!K5cgxpM2o*y-q&%a_W zGYr2c2N;Ki<_Wp<+N$|o#~yN*?f?z$23MLU_Mo&^VZpw%J=)- zYjHX$PfOOdJ4!E29PTd7I*mR_NKT=1t^W$1S4S^F^~u!dM(p zGR>#4FILztS*?dx5>7)nKJl}K)*iovN?33^tZfC3e1RgqGhtv3ZzR6gEr=1(zdzVO zyN6ZYDzEV$NIG&}DBu3Q>F#=|HZW!f zZv-F1j}5(*@2GYvWS!aP0-6AhEs=^MC$OMs-WkdeX63ge#bhqvJUm0dxIldY??(zW z=k_4379FDOcI4f|ZJOWq1=fbIgAn-K7GW<(7h+W^k$K%1$bz?iSnt9auDn2+QF|w6 z=NVK%K!vx+0fS`e)||Zvn5W?Bje0%EYa9r80Xd6L{_@<1knCN3)0iPV(<_dWt;Obf zd8VnGGRid()&*AH^wLpASuDXsP9LB&c*1-}$fDSG+AL!Vo@%qRtnfVDM;G7sX1I;d zCJzWAX&+Xt6Jyx@c);77Gm6@jBOY@N}GsYZEnnIAW z{3w`Da8@J3T)-^R`QL?e-AetA=5bNz-ywT-tjQ51`h440{kx4sD`)#xER(C*=~4SLe)Z z`7L`|rMEx7AuA*yRk}7F%KT9nDM9)a6b2+K4mzYZsFX7(&LCFqmA%;~PW7%j()J1t$h3I`BHGFwr`$oNVsB}I$-h`LbAzNpKe}Y7+JDO z4HOuaVn#pVGNrTEEi&VML?#VQyM zl94;?(50MJsUE^DR1ndRDuVxR@G?p_Yd%67ro8u4k`J55LzOa|?7#1tm%}P%A&~?* zuH7SAu{a>!Vjyv_BNB-+$p$Ej1^hqm2c>V58KWSGfnEJfd4v_Fo>|yw%4ydya=oL#!;%uq z%Se*3$7SEG!z>YgN~{x(SWlnjqr#pfwcrx`7QzvVXRhR$Q0pDi(qHf~m@_J`YRhB` zqfcc`eS7O|B1il&b>0+aqK%muL}aQihu6TkrG*g5q>N`aht6i4V4($G!!edhid#Lf zzG9KEM{1z!{|BvOw>_HlO9X0Q+g_{;uk9u%Z<&!@ntVK|?_vLqAG0WDfmK-u=ZScZ zl}H5D2q%Bn=iBGy3%j(GF6x{toQ&RFfnq4_(^M2dpxlB?1_`ljw4WLq#xqc9j5X?m z6>rBpc?O)AZ6V#-;(+T;d%%{JJ7$B5>*%LQ>tVoA;?0FFdZYp(6?yz(dv_@n0kM5s zd0A865RpFy9bW78m;p~2oDUAsU4r_^$gmk56IchIMp9SePSa>UD38cF06v4P?)en9 zKZ2J3SEM<$3P3)PiN^#7n7{c?OB2yyw#Cf$JXTZCm8e&L@u5$d(fzf3{tAUv=@*Eg zvJ78k?&1msrGT#wCC^nGK;oQ!&T*PxxmjBsmh+m!i=z7UKDIVHt4qz`g^$&E@;dej zA*H+H$nc}9{W}FvxaM%Wv)a;79Daan@Ca1$Uxng5sI&2~od|#>tw(xjA zXv%$H5hfZ(R8rKze43qW=JlBilTL4E>0J$t*Jq4*(%7yL-F{~dt`&2-xa-u!aCE2D zIf6T{Jf9$D#)Ir)s|_eRwq^_W#Ayo{*1aq7k}6jsG`3~ye>pR{CuW*zGsoPJkEzy? zTtlbHG_CKDPv9(CT1WuMQ868gC;;h7L8bTyjd>pF6TcJV)Bi@3&uNEwViqLAtb$`D zmR9S)^YM!$JYE`q2~sNBf2znvUZLgy#o@ZnO-PVpHA?jBuF14EjMX!K1ye4}Ni*g% zL95i9VM7R{w~$sy-Rm0EBUJd?MJl*Sk1r~5t~+j0+b|kJef`^CMni-LWESkM5953u zvlEYbqhMuU^*u=WkeO20C(QZ$4vkwgLpL7_)D57Y9f_zBb{m>G-_Wm;8c-@{!@>8? z>sQi3*NKnV3MS0Phr<~=2S*6_jw&+n=I3zAyGhla;HYIr&xwD}a8=gjGIy$Ds;G%9 zT8XHX`?o?pP&)5l;>tdy-z#La!OoLBTr{~8~azN(qOxz=u&L0m%Uhuk) z9wb?t5LmPrmv4Uup&=s@*_tRh0bS3whl4QO-XNF>lEQo7cfLl= zuGMmVQc6YW+BT$H$$STX8@7O{d-}qc3+@pBDRm(-OLiSkz6=&e(P!}e0(seNDOMMT zsjXr05hr@BJCJ$?I1?Uu#(W9|EqQq6@r$T26dSO5PJO1$ZcK*AZ-)LVe6qe-DmV7h z>DsA+1eKz}#p}a*aqb@4*^kSxp$RVw76V_m$5`f4S7M`A_>6byX69pBFQ;(Ul)&x4 zA7OhijQ{-aD@VwIOtH0e^pa5kx+=o$&ut3<+h)EtD0m2iYlnVnd};QsMF}ibCS{f6PUdDXu4}iq~H0zvLV$3YayWptP$KBYGeE% zA-EMG+9!Oa6@3+vRB-$JDb#Pw=_jrr<`WmMKe&~)?DhlS( zrQjO+4lv&eI<(H0wLw3HlQG9HPHeL84UcxmZQ(wMKosIX;l-tJ+S^vGBa@>vT zJJ7NuQ4-*!NmHZ$2IO7Rg;7vCAYPX5vja?tnZeP9+~ZB4u{-KsAW#}g5Kt~wjp636 zj!kJs?_rTme%=JAIrb9KQqE=6v?^=-*ijtGSkc{>&$MEiL~Mf=Gk$cfqYHaRJbD@- zQ1PB%n|R(JA3SLph!R1tNL9l!BWRv29`JCxor-q8evcZC7Vn+PYZ*e*bTM7BK76X} zZL7IXJ-%GmMx0t5lQ`MbmXIY^4C5GC>IwHw^*IN^(}vSWmIwYDqLhDrXT*KX#z&glAM z$IK@Pgo^&mOpZXqe)ou~Pb5-ysyQzA2Nfegl)B5jyAvJ&G-R>~t3YxMu$x5`t zDaRLPqkc{xNxY=OKAF0WYwPQrIu2wl(2f9SQO(t&^2m!dmvzft5e2TYFl3utXX(ur zP=1MY9af4w3>xicthnlQh@jATZa2`M`?mDJ{b}e-F!NT3@;~UL&jA@Z2$~A46#V|m8U9~Vz7gS6QoUX&{I&v}c-jB4QU{2U#KL+LxTnDVl= zP-a*Isx2&BKV8gPOgM#Yu=nIEjBoLzQGV!n-RHv`Ue{X482RTtC1zjA9qJW8(8!!?|t=czV0^G@rxpOauLyY!MKJ zb1Ehc+MuV}o_l|5)Ml>D-9R!CigoXsP7dmaISa#KzDo>F6iFrc(flx1cn z5H^wL0rVuBo3g0Hl@2T}D}?+>27uJzEW`~oY}KZ!C@FaOr3*?}_n4;GzVbD7WMCK} zOe_}g7B6JhGl~-_!TB`^1F0A153uEDc+@N)0mEt*tZH%qBubAlhaAGW`l)Z#7ObS- zvsB=F#NdjkqWf?u+2jI>gG?S?!mvYGlL?d^Z)_H^Dic6=5Z;Lf4wl)Xtmy(b!4Jv5 z{8C&mVCyR&56b?9yQq0H|oF&QC_i@^}z zA1skOkql}mUpS~$)pYE_tLMu$eM65YH4a?*9fzm(1aq|`i|fx^$1r*MRl(1q2xer5 zxHHn8Y@0Y;>9xu_k?f54fXGu~R$9UZ8Fsq(Yuo&_f!?&P`@7a#XH9_D8go7C1@&C5 zezSbyKgQSkd*9S%ZG8QDIiYl{ayJLHs5WR=KO^3kBmNh}$R3O-#Co}(3&ud;CQ=3n zN#O|^uz1vIPQ4GhgGEm|;+0H2N-i1FAxrV-Z(AcAT|=r3(74$=5~mH{agiZm>&f*w z@~l&BYzzp4YWZhi?Z~aDhXkir1AjuN5~1tAs&EVr1k!{E9Z-d-rT&LHE0Gx6epaGV zSoyMoCxuaGi)uXcNeCHdX|Q!Wxp==b&rg4CY1uy4f^p_>9E7Ab3RdQ3Ka<1-JKn#J z_;f}2dn9kAKq8l5U|JaxLUE@}9hCn_`HXU`&1_HMsn;BF1N~S^6q$=Z?OGXV-wcjju)Vva~&Ov2iq zCS^|0bh(RJugvrUNeAc2+`J4x)rthf3AaLVhRblwXc4v&O3*1z8#DB%a3c#Wy$c&S zFwLoQ32L!#?;ahZL>$h_YN#w}!4!G{-2Yi~z`t`!Li!=^#QFdB6Er_G`=#U{c4%W}gIb>mq(AqAmt}yv%{!zG$ z3{p~+TEHUTIqA?ckYIBZzzUZ0O5gtnXkw-`I@`+*n1Y!uA}5u-n)^;g&OPH$Ka}De zUd>l?fo>VI-31E+TC14!+o?j8QA@2(Kcsm(?Q@ko{~KX^GQ@W<4Dt}PP+X!oc9#9) zHzs_b@2#5`oEZakvm~u+ox&b%5l4C@(xIWa{x{UcC$(1fYD5W9owO;qurn^=NRoWOBZHVzm=XtdKf8?x1pI(RM?2CHv9nL zDRR$dH6I}fU!;*S&;a-gm-B7@AB>N$aDhC(ko%)`%LBdy_H&66Hf8(S>9zID?woj+ zqe)0ryG@etAfjyW-X{&lmp1d%Ed{N~NRIC)0gCyZ9?AOLoG<{sG-ihJ+YO=8F^`i; zX6a)0zU>JLa?b+JvoW6?km2yXGB4eRw`C30asHP>c4Q8kX-evM}VgJnUWgnTsx z-(=R@)qkEMgSy{2Vkr=xL8Sl;6OF)7`2b3sc~o@X^7X}5PYN-5hwh!=GB3@1B4JM` zVhG^kQOIztnsiR+bJ66`lGv?0gyyeAJFWp1GwIBn$`iM|ZA*bSpW}spLkC73F(>!E zpd;Z7IPFx+BbP@uoZ5$oua(d&88l?Vf5zGaQ4(=8DH`5!TDKajy|Uj0xXEJmeC!xE-OzE)~zC6C4rf`@zTgCIlX>*E5W&!vq#7hZX?G>bThU@lMuEw;%ZCdtLcQ z-gU!=EgGNZS|gwqw6FO)=OF`x8WPGqOjzUWy23-v`Ni8`!q-tO-NT14p5-_%76DD>1kA2|CgojIt zmDOQ*`XL#5!5=W2XE?so1i?u(1UvAIYDptbb*{X{P^cTgXkJRjrkQ)qBn6kE?E2r} zy#8?MDMRQJQfZ}C@$ww&3~2dpf6I@anOnK1TRMBSg}fNY?^Xb#7~VE1r@2kV6okqlFOPOSL~b0=tte!S-OTFR-}OA zkIoUo)lDh{{X^WEWbg~q^(~;yyJm#tR+^a#_2XcopDDNyPe_^P0VXBDZt|o@GSWT+ zgPiKys6|%bDD~-9IkR<889l_*XI1rp%=<3gL5>kLZ+Y=;6Q3HBQKfAcp%i{m1H8;| z?#o?Olnw2HQ^W}l%W*Gj;)YcG21I@pL~>@}6rGF97LcUx5AAoIU=k7I)RH;9b``|! zN|NkWSQilDE0zlpO58x{eJ}JAguXw7xeh(85c+9e)zf>`wASNCUx8i5C^Ig|;xooOp zdue3A+5y#Qmlq>ea3YP(D}%?vZVQD+IiGt*zxrc zgnJ2g<1M!!lsms7G9vKFMLbcsh`P=Z_#zytY{q}|xQN%b3m0a>H;}HZ7akkG1ChyR zGODMk7Ra}b*vzZnm0&AIv#4Wc7A2_w$` zF~tU9HrLN|RLkXa%vR2v3zXsXT>Y^2BesiWDXztf{rQ=&;Wq&<8I$tP*W|J-l*ZYB z2HB7tX=T^iCD-S z-}%!n3r&N$2oC{0G!dbBr_7jFT%+W@KLOjua))+<1n~yeJW%!i*vH?i=|NgumA5k3 zFzEtjFP))RkEdiBr~Z%2x2DQD=^kfH`;_`ezF^m7&wcH{MByKTo*4{EP=&c?MY7tR zt0{ljt)7=qZ^mS0N48LfP(^&uWdGxhjhpCp9;>Y3X^hk|CRjG)hBv%>I)(S)&a2>j zGj<%26}e`Bj|wawNL_9pw8wuohb^KPUqga7<+~6@97oTS?t!c2W6t#O=VTX^4-(!@rna@UnloMvW+jeD8zn=UmJiCfl6ZsoIpU|j;l^A^7 znhgKVhjE2QS%w+lf5!lSTTPS1b2{5Iu5{NEP&YuLT1z4$CR#d1WB~>eArGKh8q7TX z7bD|Wn`#p?_s_l*JZ*rLbN_BUwEqB&n~7HjaFQ{bs{_@hoCJsN60?ZP8R5>YuO+At zdkFeElx3kIBC2sVPru5#97@XAkDy(FrJi zg>+B?K>M)aY-L}TeOYm9T`AV7Z^`e}d>%IHKdFgjSN;3!+N4ExsvhZg%$H3Rh`E8u za&|$xCBc^3`!LZlybQYm#kt9kO2I5 zUgeZ3CeLgZaIoD`liNVpyj+O!lV9op+Zr->j&=4R;O$Z$2W>x8@#e;(yQb)yAA()zXWZdXPify{6n zpC~Dw<@Dty{DK-$H$x#JUu1g~yz^hhQkRyeo)t4oB?yNBm>hETVjmS8audtd8C*L) zJkFeW#DG*ARH%orn+B+rJK2|;?8w=G4v3QC`@19&_pzckk~i-&Kj7OX6q8H;uh!c= zmXTh&_j!fy`7wYGA$6b-n?E^MwYJM8jl-^M5@(z&@|R-4mu5)?7ZQ55~#qh6~)K6WARwY$eEW%N<1;mm1rVyA}fTvNsJuwi+nXNJ7T8luve1 zt~TslIx+n-6ALkXbVJ#yq342Ha8s4v9?rPIA0+jh%868V;A(F%aA<_4ApnQW<3O8K z(h{A2Twbjw1iYwe+(LXRod5OQ-kSxb?SB;Fhi3jQW0}~{eG*}c#%u2(56$IXDyy*o&s&oF+Pl(I12@@_c0n6zNb zBg@hmCj?u)8kkCvg%CLya>wr4b^F}kW;e`n4-;ml4R3Xy=UFATG<_2I?X*NcI#s}$C6@7P zs#%}TQSYH#@;rr!;OPN>(s}kD7gw>DF!aN%HTCe%S9eoyru(%tzjr?0qqj}lcqeMa z5v7Vbb#8yCD~eUMzb`jjEo}6<{s*Cb1q5(gNAo22jqm z4H5eIgJ7ZBlltG!VhFSIG`z*Px@!Zu{a6~o_SiW8nf)u*t+vDPRK8Jpk=f{iUaWc0 z{*uXnPF2~9ZZ=H{j!E2b$VFy3@Qv}5J9v(V3Wm$)YKi%F8%l?q86>!}Pe0PCpp)}^ z6z_D()}jRN>VbM>9<44N3V1G*IQrZC^+xwT`-4f@(30X#NwIZtFS-n%OF`0w?;B4I z#F`Z`@&+?*F#l4JJ2IVg)CHGc_+$r?Ze1qaDG0+EGERuO&aUImOPr}`mz_s)Y<*!Zf8vuL|!eHG!bZ+2E7;xbZc@<w*LfON&Df~em52}4xPo1FRa#Ir_ z3nRvRhQNqYd9huCMOFxMYs>6q=Ix{q{|q>u_ar8BW+#n=Xf4ljTb~&CQeSC%=Z!7T z^1$T|SsB27IloUyD&g7r&~W|AOuu2F~?=cSjl1uz^jy ze&uI+Cw&m8upx|P++QMWa5Ry4#!z&@aPDHdalC^T129zxyUdMYTXX%)iFrhsnQ*v@ zR94OA#KfWf4p^9&3PAKA=^LfFyw3*aqFubLc#N%H&?&x!^KEC7K^`8M3M6+<9WHp* z5KdQrI20unRAnHzZAT8i=dpBTx)Mks?X{c=|G|`POT`Az+vH1j?e1(8UigamXMgl& zr-of)_^FuZ%Ag!ad};_Eskt}A6st13ohtOFwWnD$*fZM}+S{W=(|M@w-?^u%grE(S z9cYsv0>^GB+GBC~&LxBG?r%~BQjlNP&WL28vQ?%gN)K9BIRlO_VHQBi=+vrWj zEwgIy)#$#fqJJb3=69nSRK*Yb5om8bp-ff%SIA-vGMxV4CXmX5bKCzDAcC%-Y$SLe zgoczP-#25hMcElnPk*J08zi6%1+%Z*-ec#4lIah{b6VH(j=>Z|D5cCKB{b*Y4^w5Y zf5ka>wekq8lL{Bdpy^E8LgC>fT`9#2TTON}GcCJnFf{IHv_Qz?(>l(gYw+VX_sI3& z|0rCsd_~4&BRO2h20>txgck(w@qu6Xe!Dfw>_nSl+E)=#$*{BqU7E zhJ|O-okn#zs?8o8`1`Lt%n zZV@+H><0KPc469HiDiOTqLgdY5fqo)t;(WofA7;6Gtp0BonQa~oRtjxF5snw`8p^F zkGqn>>8!on`C45{u%^{oH)y2(J#$P4owBFQqJ6HX^Hqo(nU z*iscFT{_j)M6k^Pl7J7*m+R;C14tJ3^9$R&$` znxp&hKT{=SC~J=R;AKCT(+jT>;W~q)i)zRXbp&jIizHK>_F?Sg-E6`k%J5btRRXwt zVU1oW|I(7QEO*8n+)PI0CvyNiGcxYrKfHtbsHl=wkO^MOe{d#nf=e^e_N}V!!9gKH zknAJh?BLQ+tcG>@14+9O#BvbuYa|&XEzJ?x;4ayaNgI^3?^>4%=7hARK0+TqCuw|< zv-uS^T*`Y@f7u__kaI-+$Ou6uHXd?QuScFXUihr(EWGe$qNku%EZpnb?jHAyZpOH6PP}Z`t4;mhb-bgrk!xM z`m}d<%6qLEnW?p>y`G@$*NUUaM94OnmgQnCd$p6`w{7R06==6Lj6>H>)*x#W^@l<|owYdn6Zh&8SY>FWrunOO`ctG{kiJ zEH3qZ6QHHYsFBh^oZ|E@oA-JS;l5B58BwC0a($5N6ZH|Y9+;JR9W&JzzfZ;$ZkPC# zLa9hV40~<1uPN=6x`_&`;1tY2;YF#!7{~Dx`I#(SU-vk!L+1k9bM_1}(Q+FoyU$V(|b>=Ej%mrE6-R;TNBpKiz zaBt7E=B57y?!#rQ*v@&YP+3qDxyi|)8jtG}F!nSc=)_k@T07%UOPaNw(XBoBs4P^x zi+m#67GBy+?#jdXI+0#E1QIMRpmIo2cO_lEa-Ew|VI4WP@aU=D&5O1jVMb!Y=KCF& zCK7%<%^|z~lznIhAW(~lbkFxrQ)xq}ZPjBOrEv*w;kSI|hyuUstz!!T;yWmee}kh5 zxW~Kv^AEIH#;6NrKeLd0axJ{~=i5R^tPbtE~^^-tsH{oT=|Qa6rGvtO)olWC2eGL*!MD_(`B} z%}O3Dxgq%kw6(WTG&&*L~noJe&Up6_u8{9 z9{&IProyygIOv4Bu9N?)D+%p=UEuG7jfm@3aRyHh6TdW~)%=_O{vWc0ILj2isy+OC zF|;5Y3N>)*aP#!`?Z3j1hpa!_Ji4AQLqMX^iniTB-#qi;$t~NdMmnj`;cC+Ru5xsB z2Cnj+G`a#+ixj#Z^_?^)U^q0wxUieZ4FlKpL)uJyr@DzFFxv>Kt@u!cuEO&D+`Mok zYX-WE>@nE$^{6qM8(~tzWwuw4?n%j6LaJs-)Q=GK(j=4KZfPhz4)o2y4;rToPMfuq zkDR5LWhlZL_#$h|5Qj-oIozW#NTa=x-4%~RG}07PE3eVoBUzwmbG17-O4KCJFSBo^HbiOHy`mIH0Abq^ zdq03th!^(!d}R1s&`7a1d9xob)dZ{X4IGkB}eFfRr zWIi%f3#?nc?s+u^o z1*Ab|q*^Z8$LaMC^9W6UYv1~)1%aaOXeF;l>e#LQ8Ef27^}&O!?QHGU~skYtz< zwHYRy%>>Xs;Q(UqLpVWRchf@iasoyRBsIxzKl+RX``~;Z>{!SRnPf56lu&lF#ZFil zGU;E%OLQNtw+fK^q`e;N_KNUe=M7{}Aca!iw+shoDY4~^2!8wr#4+V$KoDG=Yu0iWkIh{r{gF^5EpG{0@IO; z-4=Y&c)roqeXrGvVb3LoOu>+w2+0-*CW?8j&6_w<)XuAfUf>3p$E#PJjet<+b`=F&C3^OLA8cm=(-^BH`q%Y6!FeZ^4?J>!U}ddVbjsM79C{v#{Hmpxd3uMrT~g+?#x+n| z75tUG<}wC3VTxVcyF}UqBXtDx&zR!w$RANd<(m#tnOYz&%Y$KN-mv`aq!*3}0zDD> z2feE!o@WEHA{uN2)~-oJxFF`lyLA+89q<{g&p$tMtfq@{96HwE+HS~sUxn`EkGFPi zM$2pv#E@)D2mID1qKLuQ6|o~k+#(`(D>L+s(mj76)kLUl4NwZ&Z7erLpF>Fl2<0Kp zpSRvN59ZzMw&FXh!TYS1{OUNDebl1jYN5(pv#G}Cp>^4pnC4By)->=GadyBAAs-a3 zQmA&zlYliY6vS}<)HYikqTI8`K5qlU%X%DF>Jf?=#T>V*N+Jyv)t6JEx&p}p=-iGS zp4en26@CRh350~G{-wl1>Z%+bBr+!lrDKnRbnvn8mXvrHgMjs=Nf$g4-T{)RH_U?` zBhpddB@Y_<3{tf-KX5?xytDvF`_m3nJg>$|b@F~p{)2u22sX+Cu(PC@-|&;-kN=fp z45uQAsDOqs+0?TuF;GfPz<2(OPz*({N~AIAtAr;g_?Iq1CUcN8Fnr{{mIMmp(B_Zz za|cQ==TocW40;r6rmjEdybnIOOKaT9BJLTvpeZ4f7FMB#c)5f}oWK`VYO#&ct*N*E zgBBP>C4ko(!>DxBxcE|Bq`5r>`g`I|wY4Q46Xtk=VwZ=5P7I7!L~ zJ-U7R^Oz4Z;)~Zi0uY`aWAh`D+w?1v>HgDI%I@4F&Ypwtl4M`fCDGU-^3Kw6I8Q^C z>S}0=&tY1&vE!V$2`$(yw+`wgJE?nuR#D)J??~g<%tgRR)1F^@M+|!a+V29dn}yz+ zKmaZ}-WHZrrW3w=C)$Pw&@66k74O<|M`sKiFRABeu2Tg7e}*e{j67G44uZ%6QphP5LO3Pk{wX@djcGXcZ%d2d ziz@$Be5rePtjo%@WK*CMU!zRRPL>~}KkdD6A6_C^H`C0B@~ zq1Xp+wDV;?GKbzTuvNI$CID^%&OvOPcAmTbUr^JDXNiwQk0*u}tgE$c`FzVqq!IEPJPszo^%zqa| zNk*I$zKZ(~f_FQ~kmbS+8(`smZQGQ?GQYJbd8Nv)$pAxklLjfkC9T>-T>}+x=?{d) zAM-V98GE1zl{sQ_VCyVnJ(ZAm0}W8~pCz(#)KIpa$j|tEg${IsWl@;bP$M`R4T#Jg z-kO<%Ps~q=cBE%~p!OtP0!5ES_6XGDy-WlloZ=K@F!D)iw3CAVdGO^dLfNs`GXM-4 z-F}l}#h!+XeEp9tZlkFvVnZN1?h)6TRoR3%{HtcQVE*TP$uAaT3b-%v>-*jAf$~x3 z>rhrY*vv@_P5S;EN9K{YR^yuKt?WEm&ja!2QR#zseZp8ZUUvWwli3Ut`N5RI1|~uy zr02)m6hB!OEKDia0VCUPt({m8nQ$0L-xLF*CEpKQN*P(P*vEhR%@bHQn3Xt06IgFk z+F3gO*y%N-PL~W4U3{al0CRiapR`g~{Z|czxdAP02JMxy!|>;|8Qc$nV|n=j^gIM; zhj^VXtnAC~;h~obLlf7$Xc4`UL$cMf92a^@N|K5AzcWaTK0&_WD0Vcf7Sp`v|4gKC z6}JGI$AXGn;M|elJotoP<%HEPq(^`^ zPcWtgtu#fIlR_!SS#94oE(V>LrjnGsWEiPZkOm2gQaxnnq)KJdiuWEa{*uC&q_w|1 z;A=vxr<*qw+>;So943_JnY>S-vy+lpfy%Yl?mweTBGITS$h{>~dzT$bSjM;E?Ug>8~YA ztG8|Nd-(39Mm1UDQdd?TFcx_C;t3eB;W8VwI|)ZpVK%|J&>kEkyaZvCY=t2E8l3yI z(wkJLhjHQ#x$YO-&luadc06TP@T{_ZSP7c{?A%kJFDo})N4 ziZRSgC=GfF`v>W2+sjGIhOOnSkc0!z6(TWULz)9P8x+wQIu=L<1aKikZzKxtK(O!i zetas@re*8;&uTKHjz#bP7Enj)W!9#88DdJHh$Jf~j zZ?~Q(&&G!CkLvDQ*+43(zqd<~L6_{W+baXFF4VqY($TBYw|Miz*lVxmN9e25(}5`( zqV4Bcts0p&TVn>5;CXX0y7;+Rcqxi}>4aJo!M=PLd0?=0Yu-s~`^md+DR@a?E4ekl zvmsG`M#+(*Vqd|PlA?97$I|$uIV)Z6at34x7(tG;QSvbXd?d10XwF;k?jx&g$2I%x zP6s&A;QaDUPI4(z+@fV_Frt}${Zo=S?Pey)^u4{aaDhAhDP7A+vf}LoA_|7Ze_KjD zq3qE9k9GC~yTY7z;s9@CROTopS$Su?tirzr(wxWS%*hCEATUIv*@X4rfzf;*I6X$0 zE%}t7H#$;Py6i)!pW+N(b^#2tt1${{cG~cIMva}EVs-KVTu)=;qd-IDoz(U1x^OYH zREb`rjysQs&|!_;5Gtn&)XZ`K`95B|n(6{Tb+IBXZ)hg6OE$~o`O(555N zC!}EDrTsBT9i(DL6IB^4{ob%1i$pz8fplXEiDunX<5%h2<6&eA_He%U?~hMH1$~!ZObC|^x(HCJyZ5*DckAFOpwC9| z74uWxdJCU^_X>2IpufaG+(!C=-#kK*udqe2zuK7|tVydIZNy-V2DZW026 z=1Pv$#OS2k)%mDr#I|!3Hl~pY%JUh1X`_aS4dz<_DU8~zp_wxfbVnygsiqeHgGKE1 z94~6oFW9hn?WvD|_|FJN6zwh%O5eu0!-cn{@@ibR*X7Fg;rj-t6GG!#|AF=wm#;yB z^6FQ+kJIGNH) zR_N_ko?0XRcXwm=j{#fK0_pt0B%dtJqfMQlmHXo6z8lN6q8n`yJI@0c2 ztbpIyL&ydDrPkSjD!9P=HeN_^1N3S--r%&ch@fiHj+fB&JMZtT$1rlZb`)Pf{U^wv zUTDs5;;pp#w~Iz;KVn1dGD!#rOB(9YF8UE+7y+0n5K9cEfX0S(tX@B+ew$txodQ#e z>7=^tDTOoTCMFYo`rnxb9QZ&Vz5p!|jjQhktk47-F!-I`RwGWKvKj#A#F_HHfb`?xH=?cA%5aec?D6fe{Ne!5LZGSJ>Qv4xF2@8doX(UJ4WD8}%92mt1566Dfy;0Vc4 z6d~5BZ0a3Pit*04n0JTEoMXgXLpkLfb441OR$)TzD#nfjdgR<%iGJDEiihv^(?M517AAHbRUTfe%@LEoi5pQ`Qb15_X zyxB?-8WE9vV4&2+^;niJiJsS);2rzJ#O>nERr1`z)i<3^B(}6RxT1SiRu`7Ev#nX? z>eG!}*r=f&RDL(Uh~Dm#nKQPn+wqPQI~kygQ+AkTEEWSIuMwGD)YC$8C(0?KH^@UyEfLf>`1 zA8f{hq3wE{Ex1}Pl+Bt5VQlERP4cQwY+ez5Li3)+7B>>*X*3o&;n$A6VOPO%d9NO{ zbj9NDJA$S;jzmnNO2X+mwAQEaH$*+Jv%C*2IDE5d+(8ilxN#iG=!}GxNR8VpjB~yt;$Vtg;->BY3tT-DAOm= zioHt-t)6SSBe4}tS$-mWbhEB2i8TDkaJk1K9#AKB0du3`!mNay>~Ev4rr@p3{nL2w zz*D#%>w}*vZ8B^wM;aU}hK&XnXcQ20K~;JX?GbD>e6YiFq=pzbt*iy)oZ^TQJ%4S9 zLNZ>Pi(lww&O*FtKK$MCfcxm)0`m??jKE7t3I_LLU20H%ru5|yWOND1=l4vz4xk&Wv&me_Ir_REVhMxWVTJsizakdnoWkjLvi&d;l zFR@~pQSsx_g2`EQ0_L(Zilh^RxiKxC^cMlLQ#lxu7wvYY$@os~u71};E%?QlgjH^b z@rivWq3h!G$N;~+{|rtwDZ~g{`F*NN_ny>s?*Ax@{@$f~^XUF_kRRCrNlA5Gwneup zmV5&Vg5VhjU@c|;YW6(9od?^!<*Efw9-M*6c{?_iZ7=jM0emF{FA{*i+ZEnXg8cUf z8dXkd)P5;}2{cj&{VkC*bm7*OBM)yKpxHxFlYbCLr>4y^agnpAhkKu8{^HIT0uP>J zaV(W7!6Ug|b-lK*Pb|_rikJC0WAO>@cq}n$Z@c2rUXsZIUDaC`|H^q+ zc!|PckDlODh1OggZHI6RIN}mGXL#D5Kv=c^+(Q=@3hg^eeIG>G7UAqm!3L7ph%hya*}gKqh^B$#Wdfl zccMV5mxx@vE$ENR^%gGZUc{ytFQXK?kLx2|3w_51tD~|b4 zcHz1?bTi7;_|jN<+l=^U7ajTuY9u1_PzJMG+TE1i3RHVsxGO|2huFo{fX^Ny zI|^a}!kRvEd#{0!h=Zjm+_G>ogm|no zAYTj8Z^=)?x*5`-sN)m$Cm991^=L+g1TADD+%ms~+NGak%8sy8y+!vJNj<^FX|9;A zk?(8H1%ASkmYj+lB9{u`hXZEgr`phcBjAtcO9G$$TU6xRVW_DO${+Z@lDTKX zIoqb`h8v$jhHr{&I~KR2fPEMuKIl$4&XI&Xrw}Xt5VLebKFn) zkk;uZD6Ll#B;jie+4UAEmGPJ`^mv!XM6&!y^9eT8NMT9G5*Y<{` zzL2=83D#r%iO5BKwNIAz+^N|*&;F>NW9>2|IeS)odR*wS^;Z0e*^4UzGBMl^K++QY IiV9ijE=-$(4FCWD literal 0 HcmV?d00001 From d840ab9dae0ccfac2c5986d46a1433075ea398e0 Mon Sep 17 00:00:00 2001 From: elodin Date: Mon, 13 Sep 2021 13:35:04 +0200 Subject: [PATCH 194/422] test of 3ph trafos for new validation network --- pandapower/test/loadflow/test_runpp_3ph.py | 109 +++++++++++++++++---- 1 file changed, 89 insertions(+), 20 deletions(-) diff --git a/pandapower/test/loadflow/test_runpp_3ph.py b/pandapower/test/loadflow/test_runpp_3ph.py index aa4cbcdcf..02fb592db 100644 --- a/pandapower/test/loadflow/test_runpp_3ph.py +++ b/pandapower/test/loadflow/test_runpp_3ph.py @@ -303,16 +303,88 @@ def test_3ph_two_bus_line_powerfactory(): assert np.max(np.abs(line_load_pp - line_load_pf)) < 1e-2 -def check_results(net, vc, result): - res_vm_kv = np.concatenate( - ( - net.res_bus_3ph[(net.bus.zone == vc) & (net.bus.in_service)].vm_a_pu, - net.res_bus_3ph[(net.bus.zone == vc) & (net.bus.in_service)].vm_b_pu, - net.res_bus_3ph[(net.bus.zone == vc) & (net.bus.in_service)].vm_c_pu - ), axis=0) - assert np.allclose(result, res_vm_kv, atol=1e-4) - if not np.allclose(result, res_vm_kv, atol=1e-4): - raise ValueError("Incorrect results for vector group %s" % vc, res_vm_kv, result) +def check_bus_voltages(net, result, trafo_vector_group): + res_vm_pu = [] + ordered_bus_table = net.bus.sort_values(by='name').reset_index(drop=True) + for i in range(len(ordered_bus_table)): + index = net.bus[net.bus.name == ordered_bus_table['name'][i]].index[0] + res_vm_pu.append(net.res_bus_3ph.vm_a_pu[index]) + res_vm_pu.append(net.res_bus_3ph.vm_b_pu[index]) + res_vm_pu.append(net.res_bus_3ph.vm_c_pu[index]) + + # max_tol = 0 + # for tol in [1e-1, 1e-2, 1e-3, 1e-4, 1e-5, 1e-6, 1e-7]: + # if np.allclose(result, res_vm_pu, atol=tol): + # max_tol = tol + # print('Voltage Magnitude for %s is within tolerance of %s' % (trafo_vector_group, max_tol)) + + tolerances = {'YNyn': 1e-07, + 'Dyn': 1e-07, + 'Yzn': 1e-03} + + assert np.allclose(result, res_vm_pu, atol=tolerances[trafo_vector_group]) + if not np.allclose(result, res_vm_pu, atol=tolerances[trafo_vector_group]): + raise ValueError("Incorrect results for vector group %s" % trafo_vector_group, res_vm_pu, result) + + +def check_line_currents(net, result, trafo_vector_group): + res_line_i_ka = [] + ordered_line_table = net.line.sort_values(by='name').reset_index(drop=True) + for i in range(len(ordered_line_table)): + index = net.line[net.line.name == ordered_line_table['name'][i]].index[0] + res_line_i_ka.append(net.res_line_3ph.i_a_from_ka[index]) + res_line_i_ka.append(net.res_line_3ph.i_b_from_ka[index]) + res_line_i_ka.append(net.res_line_3ph.i_c_from_ka[index]) + res_line_i_ka.append(net.res_line_3ph.i_a_to_ka[index]) + res_line_i_ka.append(net.res_line_3ph.i_b_to_ka[index]) + res_line_i_ka.append(net.res_line_3ph.i_c_to_ka[index]) + + # max_tol = 0 + # for tol in [1e-1, 1e-2, 1e-3, 1e-4, 1e-5, 1e-6, 1e-7]: + # if np.allclose(result, res_line_i_ka, atol=tol): + # max_tol = tol + # print('Line current for %s is within tolerance of %s' % (trafo_vector_group, max_tol)) + + tolerances = {'YNyn': 1e-07, + 'Dyn': 1e-07, + 'Yzn': 1e-04} + + assert np.allclose(result, res_line_i_ka, atol=tolerances[trafo_vector_group]) + if not np.allclose(result, res_line_i_ka, atol=tolerances[trafo_vector_group]): + raise ValueError("Incorrect results for vector group %s" % trafo_vector_group, res_line_i_ka, result) + + +def check_trafo_currents(net, result, trafo_vector_group): + res_trafo_i_ka = [] + ordered_trafo_table = net.trafo.sort_values(by='name').reset_index(drop=True) + for i in range(len(ordered_trafo_table)): + index = net.trafo[net.trafo.name == ordered_trafo_table['name'][i]].index[0] + res_trafo_i_ka.append(net.res_trafo_3ph.i_a_hv_ka[index]) + res_trafo_i_ka.append(net.res_trafo_3ph.i_b_hv_ka[index]) + res_trafo_i_ka.append(net.res_trafo_3ph.i_c_hv_ka[index]) + res_trafo_i_ka.append(net.res_trafo_3ph.i_a_lv_ka[index]) + res_trafo_i_ka.append(net.res_trafo_3ph.i_b_lv_ka[index]) + res_trafo_i_ka.append(net.res_trafo_3ph.i_c_lv_ka[index]) + + # max_tol = 0 + # for tol in [1e-1, 1e-2, 1e-3, 1e-4, 1e-5, 1e-6, 1e-7]: + # if np.allclose(result, res_trafo_i_ka, atol=tol): + # max_tol = tol + # print('Trafo current for %s is within tolerance of %s' % (trafo_vector_group, max_tol)) + + tolerances = {'YNyn': 1e-03, + 'Dyn': 1e-03, + 'Yzn': 1e-03} + + assert np.allclose(result, res_trafo_i_ka, atol=tolerances[trafo_vector_group]) + if not np.allclose(result, res_trafo_i_ka, atol=tolerances[trafo_vector_group]): + raise ValueError("Incorrect results for vector group %s" % trafo_vector_group, res_trafo_i_ka, result) + + +def check_results(net, trafo_vector_group, results): + check_bus_voltages(net, results[0], trafo_vector_group) + check_line_currents(net, results[1], trafo_vector_group) + check_trafo_currents(net, results[2], trafo_vector_group) def make_nw(net, bushv, tap_ps, case, vector_group): @@ -364,16 +436,13 @@ def make_nw(net, bushv, tap_ps, case, vector_group): def test_trafo_asym(): - results = get_PF_Results() # Results taken out from PF - for bushv in [10]: - for tap_ps in [0]: - for loadtyp in ["delta", "wye", "delta_wye", "bal_wye"]: - for vc in ["YNyn", "Dyn", "Yzn"]: # ,"Yyn"]: - net = pp.create_empty_network(sn_mva=100) - make_nw(net, bushv, tap_ps, loadtyp, vc) - runpp_3ph_with_consistency_checks(net) - assert net['converged'] - check_results(net, vc, results[bushv][tap_ps][loadtyp][vc]) + nw_dir = os.path.abspath(os.path.join(pp.pp_dir, "test/loadflow")) + for trafo_vector_group in ["YNyn", "Dyn", "Yzn"]: + net = pp.from_pickle(nw_dir + '/runpp_3ph Validation.p') + net['trafo'].vector_group = trafo_vector_group + runpp_3ph_with_consistency_checks(net) + assert net['converged'] + check_results(net, trafo_vector_group, get_PF_Results(trafo_vector_group)) def test_2trafos(): From 0aca8805cf1c571c6d1f3d0ffc71f56e8a610412 Mon Sep 17 00:00:00 2001 From: elodin Date: Mon, 13 Sep 2021 13:42:24 +0200 Subject: [PATCH 195/422] added missing import os --- pandapower/test/loadflow/test_runpp_3ph.py | 1 + 1 file changed, 1 insertion(+) diff --git a/pandapower/test/loadflow/test_runpp_3ph.py b/pandapower/test/loadflow/test_runpp_3ph.py index 02fb592db..f5e9fec1f 100644 --- a/pandapower/test/loadflow/test_runpp_3ph.py +++ b/pandapower/test/loadflow/test_runpp_3ph.py @@ -9,6 +9,7 @@ import pytest from pandapower.test.loadflow.PF_Results import get_PF_Results from pandapower.test.consistency_checks import runpp_3ph_with_consistency_checks, runpp_with_consistency_checks +import os @pytest.fixture From 050cddd9ceabd9b7bd151e2c0d7a7942c4d75a58 Mon Sep 17 00:00:00 2001 From: elodin Date: Mon, 13 Sep 2021 13:44:02 +0200 Subject: [PATCH 196/422] Added summation of currents for trafo lv side in case of certain trafo vector groups (Dyn, Yzn) --- pandapower/results_branch.py | 47 ++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/pandapower/results_branch.py b/pandapower/results_branch.py index c71fc5db9..3127912cf 100644 --- a/pandapower/results_branch.py +++ b/pandapower/results_branch.py @@ -322,6 +322,53 @@ def _get_trafo_results_3ph(net, ppc0, ppc1, ppc2, I012_f, V012_f, I012_t, V012_t Iabc_hv_ka = np.abs(sequence_to_phase(I012_hv_ka)) Iabc_lv_ka = np.abs(sequence_to_phase(I012_lv_ka)) + # current calculation for trafo lv side for vector groups with zero seq. gap (Dyn, Yzn) + # in this case, the currents of elemnts that go out from the trafo are summed and the sum applied to the trafo lv side + gap_trafo_index = np.where(I012_lv_ka[0] == 0)[0] + if len(gap_trafo_index > 0): + for i_trafo in gap_trafo_index: + Iabc_sum = [0, 0, 0] + lv_bus = net.trafo.lv_bus[i_trafo] + V_bus_abc = np.array([[net.res_bus_3ph['vm_a_pu'][lv_bus] * net.bus['vn_kv'][lv_bus]], + [net.res_bus_3ph['vm_b_pu'][lv_bus] * net.bus['vn_kv'][lv_bus]], + [net.res_bus_3ph['vm_c_pu'][lv_bus] * net.bus['vn_kv'][lv_bus]]]) + + # Branch Elements + i_branch = np.where(ppc0['branch'][:, F_BUS] == lv_bus)[0] + if len(i_branch > 0): + I_branch_012 = I012_f[:, i_branch] + I_branch_abc = sequence_to_phase(I_branch_012) + for x in range(len(I_branch_abc[0])): + Iabc_sum += abs(I_branch_abc[:, x]) + + # Loads + load_index = np.where(net.asymmetric_load['bus'] == lv_bus)[0] + if len(load_index > 0): + S_load_abc = abs(np.array([net.res_asymmetric_load_3ph['p_a_mw'][load_index] + + (1j * net.res_asymmetric_load_3ph['q_a_mvar'][load_index]), + net.res_asymmetric_load_3ph['p_b_mw'][load_index] + + (1j * net.res_asymmetric_load_3ph['q_b_mvar'][load_index]), + net.res_asymmetric_load_3ph['p_c_mw'][load_index] + + (1j * net.res_asymmetric_load_3ph['q_c_mvar'][load_index])])) + I_load_abc = S_load_abc / (V_bus_abc / np.sqrt(3)) + for x in range(len(I_load_abc[0])): + Iabc_sum += I_load_abc[:, x] + + # Sgens + sgen_bus_index = np.where(net.asymmetric_sgen['bus'] == lv_bus)[0] + if len(sgen_bus_index > 0): + S_sgen_abc = abs(np.array([net.res_asymmetric_sgen_3ph['p_a_mw'][sgen_bus_index] + + (1j * net.res_asymmetric_sgen_3ph['q_a_mvar'][sgen_bus_index]), + net.res_asymmetric_sgen_3ph['p_b_mw'][sgen_bus_index] + + (1j * net.res_asymmetric_sgen_3ph['q_b_mvar'][sgen_bus_index]), + net.res_asymmetric_sgen_3ph['p_c_mw'][sgen_bus_index] + + (1j * net.res_asymmetric_sgen_3ph['q_c_mvar'][sgen_bus_index])])) + I_sgen_abc = S_sgen_abc / (V_bus_abc / np.sqrt(3)) + for x in range(len(I_sgen_abc[0])): + Iabc_sum -= I_sgen_abc[:, x] + + Iabc_lv_ka[:, i_trafo] = Iabc_sum + # geting complex values of the sequence current # Iabc_hv_ka_complex = sequence_to_phase(I012_hv_ka) # Iabc_lv_ka_complex = sequence_to_phase(I012_lv_ka) From f9495bd2bb85203f53dc9025a15966d2aab6d378 Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Mon, 13 Sep 2021 16:32:09 +0200 Subject: [PATCH 197/422] improve replace_pq_elmtype() for empty list --- pandapower/toolbox.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pandapower/toolbox.py b/pandapower/toolbox.py index 19622a0bc..4741d3e0e 100644 --- a/pandapower/toolbox.py +++ b/pandapower/toolbox.py @@ -2233,6 +2233,9 @@ def replace_pq_elmtype(net, old_elm, new_elm, old_indices=None, new_indices=None **add_cols_to_keep** (list, None) - list of column names which should be added to 'cols_to_keep' to be kept while replacing. + + OUTPUT: + **new_idx** (list) - list of indices of the new elements """ if old_elm == new_elm: logger.warning("'old_elm' and 'new_elm' are both '%s'. No replacement is done." % old_elm) @@ -2241,6 +2244,8 @@ def replace_pq_elmtype(net, old_elm, new_elm, old_indices=None, new_indices=None old_indices = net[old_elm].index else: old_indices = ensure_iterability(old_indices) + if not len(old_indices): + return [] if new_indices is None: new_indices = [None] * len(old_indices) elif len(new_indices) != len(old_indices): From a2ef74a4275f2abdc2fde097b303e01d492734e7 Mon Sep 17 00:00:00 2001 From: David Heck Date: Thu, 16 Sep 2021 09:51:30 +0200 Subject: [PATCH 198/422] fix typo in LICENSE --- LICENSE | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/LICENSE b/LICENSE index ff02e4edf..4d21a5995 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for for Energy Economics +Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics and Energy System Technology (IEE) Kassel and individual contributors (see AUTHORS file for details). All rights reserved. @@ -22,4 +22,4 @@ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY -WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file +WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. From 1dd651ccf93b23a4e921e6521345106b1dd38502 Mon Sep 17 00:00:00 2001 From: Muhammad Junaid Muzammil Date: Sun, 19 Sep 2021 01:09:20 +0100 Subject: [PATCH 199/422] Fixing out issue with plotting of transformers in simple_plotly --- pandapower/plotting/plotly/simple_plotly.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pandapower/plotting/plotly/simple_plotly.py b/pandapower/plotting/plotly/simple_plotly.py index d68c074ab..4c250def3 100644 --- a/pandapower/plotting/plotly/simple_plotly.py +++ b/pandapower/plotting/plotly/simple_plotly.py @@ -191,20 +191,19 @@ def _simple_plotly_generic(net, respect_separators, use_branch_geodata, on_map, respect_separators, color=branch_color, width=branch_width, infofunc=hoverinfo) + trans_trace = [] # ----- Trafos ------ if 'trafo' in net: hoverinfo = hoverinfo_func(net, element=trans_element) - trans_trace = create_trafo_trace(net, color=trafo_color, width=branch_width * 5, + trans_trace += create_trafo_trace(net, color=trafo_color, width=branch_width * 5, infofunc=hoverinfo, use_line_geodata=use_branch_geodata) # ----- 3W Trafos ------ if 'trafo3w' in net: hoverinfo = hoverinfo_func(net, element=trans3w_element) - trans_trace = create_trafo_trace(net, color=trafo3w_color, trafotype='3W', width=branch_width * 5, trace_name='3w_trafos', + trans_trace += create_trafo_trace(net, color=trafo3w_color, trafotype='3W', width=branch_width * 5, trace_name='3w_trafos', infofunc=hoverinfo, use_line_geodata=use_branch_geodata) - else: - trans_trace = [] # ----- Ext grid ------ # get external grid from _create_node_trace marker_type = 'circle' if on_map else 'square' # workaround because doesn't appear on mapbox if square From 22ecebe42233c0ae3eb51ea7b06d1b8be4a47be0 Mon Sep 17 00:00:00 2001 From: sdrauz Date: Sun, 19 Sep 2021 13:24:40 +0200 Subject: [PATCH 200/422] LF line endings --- doc/networks/cigre.rst | 388 ++++++------ doc/networks/kerber.rst | 900 +++++++++++++-------------- doc/networks/mv_oberrhein.rst | 52 +- doc/shortcircuit.rst | 22 +- doc/shortcircuit/branch_elements.rst | 184 +++--- doc/shortcircuit/currents.rst | 46 +- doc/shortcircuit/elements.rst | 28 +- doc/shortcircuit/ikss.rst | 548 ++++++++-------- doc/shortcircuit/ip.rst | 164 ++--- doc/shortcircuit/ith.rst | 80 +-- doc/shortcircuit/run.rst | 40 +- 11 files changed, 1226 insertions(+), 1226 deletions(-) diff --git a/doc/networks/cigre.rst b/doc/networks/cigre.rst index 21d4e079c..91750e2e7 100644 --- a/doc/networks/cigre.rst +++ b/doc/networks/cigre.rst @@ -1,194 +1,194 @@ - -============== -CIGRE Networks -============== - -CIGRE-Networks were developed by the CIGRE Task Force C6.04.02 to "facilitate the analysis -and validation of new methods and techniques" that aim to "enable the economic, robust and -environmentally responsible integration of DER" (Distributed Energy Resources). -CIGRE-Networks are a set of comprehensive reference systems to allow the "analysis of DER -integration at high voltage, medium voltage and low voltage and at the desired degree of detail". - -.. note:: - - Source for this network is the final Report of Task Force C6.04.02 [1]: `"Benchmark Systems for Network Integration of Renewable and Distributed Energy Resources" `_, 2014 - - See also a correlating Paper with tiny changed network parameters [2]: - `K. Rudion, A. Orths, Z. A. Styczynski and K. Strunz, Design of benchmark of medium voltage distribution network for investigation of DG integration `_ 2006 IEEE Power Engineering Society General Meeting, Montreal, 2006 - -High voltage transmission network ---------------------------------- - -.. code:: python - - import pandapower.networks as pn - - # You may specify a length for the connection line between buses 6a and 6b - net = pn.create_cigre_network_hv(length_km_6a_6b=0.1) - - ''' - This pandapower network includes the following parameter tables: - - shunt (3 elements) - - trafo (6 elements) - - bus (13 elements) - - line (9 elements) - - load (5 elements) - - ext_grid (1 elements) - - gen (3 elements) - - bus_geodata (13 elements) - ''' - - -.. image:: /pics/networks/cigre//cigre_network_hv.png - :width: 42em - :alt: alternate Text - :align: center - -`[Source: 1] `_ - - - -Medium voltage distribution network ------------------------------------ - -.. code:: python - - import pandapower.networks as pn - - net = pn.create_cigre_network_mv(with_der=False) - - ''' - This pandapower network includes the following parameter tables: - - switch (8 elements) - - load (18 elements) - - ext_grid (1 elements) - - line (15 elements) - - trafo (2 elements) - - bus (15 elements) - - bus_geodata (15 elements) - ''' - - -.. image:: /pics/networks/cigre//cigre_network_mv.png - :width: 42em - :alt: alternate Text - :align: center - -`[Source: 1] `_ - - ---------------------------- - - -Medium voltage distribution network with PV and Wind DER --------------------------------------------------------- - -.. note:: This network contains additional 9 distributed energy resources compared to medium voltage distribution network: - - - 8 photovoltaic generators - - 1 wind turbine - -Compared to the case study of CIGRE Task Force C6.04.02 paper all pv and wind energy resources are -considered but 2 Batteries, 2 residential fuel cells, 1 CHP diesel and 1 CHP fuel cell are neglected. -Although the case study mentions the High Voltage as 220 kV, we assume 110 kV again because of no given 220 kV-Trafo data. - -.. code:: python - - import pandapower.networks as pn - - net = pn.create_cigre_network_mv(with_der="pv_wind") - - ''' - This pandapower network includes the following parameter tables: - - switch (8 elements) - - load (18 elements) - - ext_grid (1 elements) - - sgen (9 elements) - - line (15 elements) - - trafo (2 elements) - - bus (15 elements) - - bus_geodata (15 elements) - ''' - -.. image:: /pics/networks/cigre//cigre_network_mv_der.png - :width: 42em - :alt: alternate Text - :align: center - -`[Source: 1] `_ - - ---------------------------- - - -Medium voltage distribution network with all DER ------------------------------------------------- - -.. note:: This network contains additional 15 distributed energy resources compared to medium voltage distribution network: - - - 8 photovoltaic generators - - 1 wind turbine - - 2 Batteries - - 2 residential fuel cells - - 1 CHP diesel - - 1 CHP fuel cell - -Compared to the case study of CIGRE Task Force C6.04.02 paper all distributed energy resources are -considered. Although the case study mentions the High Voltage as 220 kV, we assume 110 kV again because of no given 220 kV-Trafo data. - -.. code:: python - - import pandapower.networks as pn - - net = pn.create_cigre_network_mv(with_der="all") - - ''' - This pandapower network includes the following parameter tables: - - switch (8 elements) - - load (18 elements) - - ext_grid (1 elements) - - sgen (15 elements) - - line (15 elements) - - trafo (2 elements) - - bus (15 elements) - - bus_geodata (15 elements) - ''' - -.. image:: /pics/networks/cigre//cigre_network_mv_der_all.png - :width: 42em - :alt: alternate Text - :align: center - -`[Source: 1] `_ - - ---------------------------- - - -Low voltage distribution network ---------------------------------- - -.. code:: python - - import pandapower.networks as pn - - net = pn.create_cigre_network_lv() - - ''' - This pandapower network includes the following parameter tables: - - switch (3 elements) - - load (15 elements) - - ext_grid (1 elements) - - line (37 elements) - - trafo (3 elements) - - bus (44 elements) - - bus_geodata (44 elements) - ''' - - -.. image:: /pics/networks/cigre//cigre_network_lv.png - :width: 42em - :alt: alternate Text - :align: center - -`[Source: 1] `_ + +============== +CIGRE Networks +============== + +CIGRE-Networks were developed by the CIGRE Task Force C6.04.02 to "facilitate the analysis +and validation of new methods and techniques" that aim to "enable the economic, robust and +environmentally responsible integration of DER" (Distributed Energy Resources). +CIGRE-Networks are a set of comprehensive reference systems to allow the "analysis of DER +integration at high voltage, medium voltage and low voltage and at the desired degree of detail". + +.. note:: + + Source for this network is the final Report of Task Force C6.04.02 [1]: `"Benchmark Systems for Network Integration of Renewable and Distributed Energy Resources" `_, 2014 + + See also a correlating Paper with tiny changed network parameters [2]: + `K. Rudion, A. Orths, Z. A. Styczynski and K. Strunz, Design of benchmark of medium voltage distribution network for investigation of DG integration `_ 2006 IEEE Power Engineering Society General Meeting, Montreal, 2006 + +High voltage transmission network +--------------------------------- + +.. code:: python + + import pandapower.networks as pn + + # You may specify a length for the connection line between buses 6a and 6b + net = pn.create_cigre_network_hv(length_km_6a_6b=0.1) + + ''' + This pandapower network includes the following parameter tables: + - shunt (3 elements) + - trafo (6 elements) + - bus (13 elements) + - line (9 elements) + - load (5 elements) + - ext_grid (1 elements) + - gen (3 elements) + - bus_geodata (13 elements) + ''' + + +.. image:: /pics/networks/cigre//cigre_network_hv.png + :width: 42em + :alt: alternate Text + :align: center + +`[Source: 1] `_ + + + +Medium voltage distribution network +----------------------------------- + +.. code:: python + + import pandapower.networks as pn + + net = pn.create_cigre_network_mv(with_der=False) + + ''' + This pandapower network includes the following parameter tables: + - switch (8 elements) + - load (18 elements) + - ext_grid (1 elements) + - line (15 elements) + - trafo (2 elements) + - bus (15 elements) + - bus_geodata (15 elements) + ''' + + +.. image:: /pics/networks/cigre//cigre_network_mv.png + :width: 42em + :alt: alternate Text + :align: center + +`[Source: 1] `_ + + +--------------------------- + + +Medium voltage distribution network with PV and Wind DER +-------------------------------------------------------- + +.. note:: This network contains additional 9 distributed energy resources compared to medium voltage distribution network: + + - 8 photovoltaic generators + - 1 wind turbine + +Compared to the case study of CIGRE Task Force C6.04.02 paper all pv and wind energy resources are +considered but 2 Batteries, 2 residential fuel cells, 1 CHP diesel and 1 CHP fuel cell are neglected. +Although the case study mentions the High Voltage as 220 kV, we assume 110 kV again because of no given 220 kV-Trafo data. + +.. code:: python + + import pandapower.networks as pn + + net = pn.create_cigre_network_mv(with_der="pv_wind") + + ''' + This pandapower network includes the following parameter tables: + - switch (8 elements) + - load (18 elements) + - ext_grid (1 elements) + - sgen (9 elements) + - line (15 elements) + - trafo (2 elements) + - bus (15 elements) + - bus_geodata (15 elements) + ''' + +.. image:: /pics/networks/cigre//cigre_network_mv_der.png + :width: 42em + :alt: alternate Text + :align: center + +`[Source: 1] `_ + + +--------------------------- + + +Medium voltage distribution network with all DER +------------------------------------------------ + +.. note:: This network contains additional 15 distributed energy resources compared to medium voltage distribution network: + + - 8 photovoltaic generators + - 1 wind turbine + - 2 Batteries + - 2 residential fuel cells + - 1 CHP diesel + - 1 CHP fuel cell + +Compared to the case study of CIGRE Task Force C6.04.02 paper all distributed energy resources are +considered. Although the case study mentions the High Voltage as 220 kV, we assume 110 kV again because of no given 220 kV-Trafo data. + +.. code:: python + + import pandapower.networks as pn + + net = pn.create_cigre_network_mv(with_der="all") + + ''' + This pandapower network includes the following parameter tables: + - switch (8 elements) + - load (18 elements) + - ext_grid (1 elements) + - sgen (15 elements) + - line (15 elements) + - trafo (2 elements) + - bus (15 elements) + - bus_geodata (15 elements) + ''' + +.. image:: /pics/networks/cigre//cigre_network_mv_der_all.png + :width: 42em + :alt: alternate Text + :align: center + +`[Source: 1] `_ + + +--------------------------- + + +Low voltage distribution network +--------------------------------- + +.. code:: python + + import pandapower.networks as pn + + net = pn.create_cigre_network_lv() + + ''' + This pandapower network includes the following parameter tables: + - switch (3 elements) + - load (15 elements) + - ext_grid (1 elements) + - line (37 elements) + - trafo (3 elements) + - bus (44 elements) + - bus_geodata (44 elements) + ''' + + +.. image:: /pics/networks/cigre//cigre_network_lv.png + :width: 42em + :alt: alternate Text + :align: center + +`[Source: 1] `_ diff --git a/doc/networks/kerber.rst b/doc/networks/kerber.rst index d0d9d0170..7f407efd5 100644 --- a/doc/networks/kerber.rst +++ b/doc/networks/kerber.rst @@ -1,451 +1,451 @@ -=============== -Kerber Networks -=============== - - -The kerber networks are based on the grids used in the dissertation "Aufnahmefähigkeit von Niederspannungsverteilnetzen -für die Einspeisung aus Photvoltaikanlagen" (Capacity of low voltage distribution networks -with increased feed-in of photovoltaic power) by Georg Kerber. -The following introduction shows the basic idea behind his network concepts and demonstrate how you can use them in pandapower. - - -*"The increasing amount of new distributed power plants demands a reconsideration of conventional planning -strategies in all classes and voltage levels of the electrical power networks. To get reliable results on -loadability of low voltage networks statistically firm network models are required. A strategy for the classification -of low voltage networks, exemplary results and a method for the generation of reference networks are shown."* -(source: https:/mediatum.ub.tum.de/doc/681082/681082.pdf) - - -.. warning:: - - The representative grids for sub-urban areas (Vorstadt) were deduced as open-ring grids from meshed grids. - They are therefore only valid under the assumption of homogeneous load and generation profiles, and not for - inhomogeneous operation or even short-circuit situations. - -.. seealso:: - - - Georg Kerber, `Aufnahmefähigkeit von Niederspannungsverteilnetzen für die Einspeisung aus Photovoltaikkleinanlagen `_, Dissertation - - Georg Kerber, `Statistische Analyse von NS-Verteilungsnetzen und Modellierung von Referenznetzen `_ - - - -Average Kerber networks -======================== - - -**Kerber Landnetze:** - - - Low number of loads per transformer station - - High proportion of agriculture and industry - - Typical network topologies: line - -**Kerber Dorfnetz:** - - - Higher number of loads per transformer station (compared to Kerber Landnetze) - - Lower proportion of agriculture and industry - - Typical network topologies: line, open ring - -**Kerber Vorstadtnetze:** - - - Highest number of loads per transformer station (compared to Kerber Landnetze/Dorfnetz) - - no agriculture and industry - - high building density - - Typical network topologies: open ring, meshed networks - - - -.. tabularcolumns:: |l|l|l|l|l| -.. csv-table:: - :file: kerber.csv - :delim: ; - -You can include the kerber networks by simply using: - - - -.. code:: python - - import pandapower.networks as pn - - net1 = pn.create_kerber_net() - - - - - - -Kerber Landnetze ----------------- - - - -.. code:: python - - import pandapower.networks as pn - - net1 = pn.create_kerber_landnetz_freileitung_1() - - ''' - This pandapower network includes the following parameter tables: - - load (13 elements) p_load_in_mw=8, q_load_in_mw=0 - - bus (15 elements) - - line (13 elements) std_type="Al 120", l_lines_in_km=0.021 - - trafo (1 elements) std_type="0.125 MVA 10/0.4 kV Dyn5 ASEA" - - ext_grid (1 elements) - ''' - - net2 = pn.create_kerber_landnetz_freileitung_2() - - ''' - This pandapower network includes the following parameter tables: - - load (8 elements) p_load_in_mw=8, q_load_in_mw=0 - - bus (10 elements) - - line (8 elements) std_type="AL 50", l_lines_1_in_km=0.038, l_lines_2_in_km=0.081 - - trafo (1 elements) std_type="0.125 MVA 10/0.4 kV Dyn5 ASEA" - - ext_grid (1 elements) - ''' - - - - - -.. image:: /pics/networks/kerber//kerber_landnetz_freileitung.png - :height: 918.0px - :width: 1282.0px - :scale: 52% - :alt: alternate Text - :align: center - --------------------- - - -.. code:: python - - import pandapower.networks as pn - - net1 = pn.create_kerber_landnetz_kabel_1() - - ''' - This pandapower network includes the following parameter tables: - - load (8 elements) p_load_in_mw=8, q_load_in_mw=0 - - bus (18 elements) - - line (16 elements) std_type="NAYY 150", std_type_branchout_line="NAYY 50" - - trafo (1 elements) std_type = "0.125 MVA 10/0.4 kV Dyn5 ASEA" - - ext_grid (1 elements) - ''' - - net2 = pn.create_kerber_landnetz_kabel_2() - - ''' - This pandapower network includes the following parameter tables: - - load (14 elements) p_load_in_mw=8, q_load_in_mw=0 - - bus (30 elements) - - line (28 elements) std_type="NAYY 150", std_type_branchout_line="NAYY 50" - - trafo (1 elements) std_type="0.125 MVA 10/0.4 kV Dyn5 ASEA" - - ext_grid (1 elements) - ''' - - -.. image:: /pics/networks/kerber//kerber_landnetz_kabel.png - :height: 918.0px - :width: 1282.0px - :scale: 52% - :alt: alternate Text - :align: center - ---------------------------- - -Kerber Dorfnetz ---------------- - - -.. code:: python - - import pandapower.networks as pn - - net = pn.create_kerber_dorfnetz() - - ''' - This pandapower network includes the following parameter tables: - - load (57 elements) p_load_in_mw=6, q_load_in_mw=0 - - bus (116 elements) - - line (114 elements) std_type="NAYY 150"; std_type_branchout_line="NAYY 50" - - trafo (1 elements) std_type="0.4 MVA 10/0.4 kV Yyn6 4 ASEA" - - ext_grid (1 elements) - ''' - - - -.. image:: /pics/networks/kerber//kerber_dorfnetz_1.PNG - :height: 918.0px - :width: 1282.0px - :scale: 52% - :alt: alternate Text - :align: center - - ---------------------------- - -Kerber Vorstadtnetze --------------------- - - -.. code:: python - - import pandapower.networks as pn - - net1 = pn.create_kerber_vorstadtnetz_kabel_1() - - ''' - This pandapower network includes the following parameter tables: - - load (146 elements) p_load_in_mw=2, q_load_in_mw=0 - - bus (294 elements) - - line (292 elements) std_type="NAYY 150", std_type_branchout_line_1="NAYY 50", std_type_branchout_line_2="NYY 35" - - trafo (1 elements) std_type="0.63 MVA 20/0.4 kV Yyn6 wnr ASEA" - - ext_grid (1 elements) - ''' - - - - -.. image:: /pics/networks/kerber//kerber_vorstadtnetz_a.PNG - :height: 918.0px - :width: 1282.0px - :scale: 52% - :alt: alternate Text - :align: center - --------------------- - - -.. code:: python - - import pandapower.networks as pn - - net2 = pn.create_kerber_vorstadtnetz_kabel_2() - - ''' - This pandapower network includes the following parameter tables: - - load (144 elements) p_load_in_mw=2, q_load_in_mw=0 - - bus (290 elements) - - line (288 elements) std_type="NAYY 150", std_type_branchout_line_1="NAYY 50", std_type_branchout_line_2="NYY 35" - - trafo (1 elements) "std_type=0.63 MVA 20/0.4 kV Yyn6 wnr ASEA" - - ext_grid (1 elements) - ''' - - - - -.. image:: /pics/networks/kerber//kerber_vorstadtnetz_b.PNG - :height: 918.0px - :width: 1282.0px - :scale: 52% - :alt: alternate Text - :align: center - - - ---------------------------- - -Extreme Kerber networks -======================= - - -The typical kerber networks represent the most common low-voltage distribution grids. -To produce statements of universal validity or check limit value, a significant part of all existing grids have to be involved. -The following grids obtain special builds of parameters (very high line length, great number of branches or -high loaded transformers). These parameters results in high loaded lines and low voltage magnitudes within the -extreme network. By including the extreme networks, kerber reached the 95% confidence interval. - -Therefore 95% of all parameter results in an considered distribution grid are equal or better compared to the outcomes from kerber extreme networks. -Besides testing for extreme parameters you are able to check for functional capability of reactive power control. -Since more rare network combination exist, the total number of extreme grids is higher than the amount of typical kerber networks. - -.. seealso:: - - - Georg Kerber, `Aufnahmefähigkeit von Niederspannungsverteilnetzen für die Einspeisung aus Photovoltaikkleinanlagen `_, Dissertation - - Georg Kerber, `Statistische Analyse von NS-Verteilungsnetzen und Modellierung von Referenznetzen `_ - -.. tabularcolumns:: |l|l|l|l|l| -.. csv-table:: - :file: kerber_extreme.csv - :delim: ; - --------------- - -The Kerber extreme networks are categorized into two groups: - - **Type I:** Kerber networks with extreme lines - - **Type II:** Kerber networks with extreme lines and high loaded transformer - - - - -.. note:: Note that all Kerber exteme networks (no matter what type / territory) consist of various branches, linetypes or line length. - - - -Extreme Kerber Landnetze ------------------------- - - - -.. code:: python - - import pandapower.networks as pn - - '''Extrem Landnetz Freileitung Typ I''' - net = pn.kb_extrem_landnetz_freileitung() - - - '''Extrem Landnetz Kabel Typ I''' - net = pn.kb_extrem_landnetz_kabel() - - - - - -.. image:: /pics/networks/kerber//kerber_extrem_landnetz_typ_1.png - :height: 918.0px - :width: 1282.0px - :scale: 52% - :alt: alternate Text - :align: center - ---------------------------- - - -.. code:: python - - import pandapower.networks as pn - - '''Extrem Landnetz Freileitung Typ II''' - net = pn.kb_extrem_landnetz_freileitung_trafo() - - - '''Extrem Landnetz Kabel Typ II''' - net = pn.kb_extrem_landnetz_kabel_trafo() - - - - -.. image:: /pics/networks/kerber//kerber_extrem_landnetz_typ_2.png - :height: 918.0px - :width: 1282.0px - :scale: 52% - :alt: alternate Text - :align: center - -Extreme Kerber Dorfnetze ------------------------- - - - -.. code:: python - - import pandapower.networks as pn - - '''Extrem Dorfnetz Kabel Typ I''' - net = pn.kb_extrem_dorfnetz() - - - - - -.. image:: /pics/networks/kerber//kerber_extrem_dorfnetz_typ_1.png - :height: 918.0px - :width: 1282.0px - :scale: 52% - :alt: alternate Text - :align: center - ---------------------------- - -.. code:: python - - import pandapower.networks as pn - - '''Extrem Dorfnetz Kabel Typ II''' - net = pn.kb_extrem_dorfnetz_trafo() - - - -.. image:: /pics/networks/kerber//kerber_extrem_dorfnetz_typ_2.png - :height: 918.0px - :width: 1582.0px - :scale: 52% - :alt: alternate Text - :align: center - -Extreme Kerber Vorstadtnetze ----------------------------- - -.. code:: python - - import pandapower.networks as pn - - '''Extrem Vorstadtnetz Kabel_a Typ I''' - net = pn.kb_extrem_vorstadtnetz_1() - - -.. image:: /pics/networks/kerber//kerber_extrem_vorstadt_a_typ_1.png - :height: 718.0px - :width: 1402.0px - :scale: 52% - :alt: alternate Text - :align: center - ---------------------------- - - -.. code:: python - - import pandapower.networks as pn - - '''Extrem Vorstadtnetz Kabel_b Typ I''' - net = pn.kb_extrem_vorstadtnetz_2() - - -.. image:: /pics/networks/kerber//kerber_extrem_vorstadt_b_typ_1.png - :height: 818.0px - :width: 1452.0px - :scale: 52% - :alt: alternate Text - :align: center - - ---------------------------- - -.. code:: python - - import pandapower.networks as pn - - '''Extrem Vorstadtnetz Kabel_c Typ II''' - net = pn.kb_extrem_vorstadtnetz_trafo_1() - - -.. image:: /pics/networks/kerber//kerber_extrem_vorstadt_c_typ_2.png - :height: 918.0px - :width: 1482.0px - :scale: 52% - :alt: alternate Text - :align: center - - ---------------------------- - -.. code:: python - - import pandapower.networks as pn - - '''Extrem Vorstadtnetz Kabel_d Typ II''' - net = pn.kb_extrem_vorstadtnetz_trafo_2() - - -.. image:: /pics/networks/kerber//kerber_extrem_vorstadt_d_typ_2.png - :height: 918.0px - :width: 1482.0px - :scale: 52% - :alt: alternate Text +=============== +Kerber Networks +=============== + + +The kerber networks are based on the grids used in the dissertation "Aufnahmefähigkeit von Niederspannungsverteilnetzen +für die Einspeisung aus Photvoltaikanlagen" (Capacity of low voltage distribution networks +with increased feed-in of photovoltaic power) by Georg Kerber. +The following introduction shows the basic idea behind his network concepts and demonstrate how you can use them in pandapower. + + +*"The increasing amount of new distributed power plants demands a reconsideration of conventional planning +strategies in all classes and voltage levels of the electrical power networks. To get reliable results on +loadability of low voltage networks statistically firm network models are required. A strategy for the classification +of low voltage networks, exemplary results and a method for the generation of reference networks are shown."* +(source: https:/mediatum.ub.tum.de/doc/681082/681082.pdf) + + +.. warning:: + + The representative grids for sub-urban areas (Vorstadt) were deduced as open-ring grids from meshed grids. + They are therefore only valid under the assumption of homogeneous load and generation profiles, and not for + inhomogeneous operation or even short-circuit situations. + +.. seealso:: + + - Georg Kerber, `Aufnahmefähigkeit von Niederspannungsverteilnetzen für die Einspeisung aus Photovoltaikkleinanlagen `_, Dissertation + - Georg Kerber, `Statistische Analyse von NS-Verteilungsnetzen und Modellierung von Referenznetzen `_ + + + +Average Kerber networks +======================== + + +**Kerber Landnetze:** + + - Low number of loads per transformer station + - High proportion of agriculture and industry + - Typical network topologies: line + +**Kerber Dorfnetz:** + + - Higher number of loads per transformer station (compared to Kerber Landnetze) + - Lower proportion of agriculture and industry + - Typical network topologies: line, open ring + +**Kerber Vorstadtnetze:** + + - Highest number of loads per transformer station (compared to Kerber Landnetze/Dorfnetz) + - no agriculture and industry + - high building density + - Typical network topologies: open ring, meshed networks + + + +.. tabularcolumns:: |l|l|l|l|l| +.. csv-table:: + :file: kerber.csv + :delim: ; + +You can include the kerber networks by simply using: + + + +.. code:: python + + import pandapower.networks as pn + + net1 = pn.create_kerber_net() + + + + + + +Kerber Landnetze +---------------- + + + +.. code:: python + + import pandapower.networks as pn + + net1 = pn.create_kerber_landnetz_freileitung_1() + + ''' + This pandapower network includes the following parameter tables: + - load (13 elements) p_load_in_mw=8, q_load_in_mw=0 + - bus (15 elements) + - line (13 elements) std_type="Al 120", l_lines_in_km=0.021 + - trafo (1 elements) std_type="0.125 MVA 10/0.4 kV Dyn5 ASEA" + - ext_grid (1 elements) + ''' + + net2 = pn.create_kerber_landnetz_freileitung_2() + + ''' + This pandapower network includes the following parameter tables: + - load (8 elements) p_load_in_mw=8, q_load_in_mw=0 + - bus (10 elements) + - line (8 elements) std_type="AL 50", l_lines_1_in_km=0.038, l_lines_2_in_km=0.081 + - trafo (1 elements) std_type="0.125 MVA 10/0.4 kV Dyn5 ASEA" + - ext_grid (1 elements) + ''' + + + + + +.. image:: /pics/networks/kerber//kerber_landnetz_freileitung.png + :height: 918.0px + :width: 1282.0px + :scale: 52% + :alt: alternate Text + :align: center + +-------------------- + + +.. code:: python + + import pandapower.networks as pn + + net1 = pn.create_kerber_landnetz_kabel_1() + + ''' + This pandapower network includes the following parameter tables: + - load (8 elements) p_load_in_mw=8, q_load_in_mw=0 + - bus (18 elements) + - line (16 elements) std_type="NAYY 150", std_type_branchout_line="NAYY 50" + - trafo (1 elements) std_type = "0.125 MVA 10/0.4 kV Dyn5 ASEA" + - ext_grid (1 elements) + ''' + + net2 = pn.create_kerber_landnetz_kabel_2() + + ''' + This pandapower network includes the following parameter tables: + - load (14 elements) p_load_in_mw=8, q_load_in_mw=0 + - bus (30 elements) + - line (28 elements) std_type="NAYY 150", std_type_branchout_line="NAYY 50" + - trafo (1 elements) std_type="0.125 MVA 10/0.4 kV Dyn5 ASEA" + - ext_grid (1 elements) + ''' + + +.. image:: /pics/networks/kerber//kerber_landnetz_kabel.png + :height: 918.0px + :width: 1282.0px + :scale: 52% + :alt: alternate Text + :align: center + +--------------------------- + +Kerber Dorfnetz +--------------- + + +.. code:: python + + import pandapower.networks as pn + + net = pn.create_kerber_dorfnetz() + + ''' + This pandapower network includes the following parameter tables: + - load (57 elements) p_load_in_mw=6, q_load_in_mw=0 + - bus (116 elements) + - line (114 elements) std_type="NAYY 150"; std_type_branchout_line="NAYY 50" + - trafo (1 elements) std_type="0.4 MVA 10/0.4 kV Yyn6 4 ASEA" + - ext_grid (1 elements) + ''' + + + +.. image:: /pics/networks/kerber//kerber_dorfnetz_1.PNG + :height: 918.0px + :width: 1282.0px + :scale: 52% + :alt: alternate Text + :align: center + + +--------------------------- + +Kerber Vorstadtnetze +-------------------- + + +.. code:: python + + import pandapower.networks as pn + + net1 = pn.create_kerber_vorstadtnetz_kabel_1() + + ''' + This pandapower network includes the following parameter tables: + - load (146 elements) p_load_in_mw=2, q_load_in_mw=0 + - bus (294 elements) + - line (292 elements) std_type="NAYY 150", std_type_branchout_line_1="NAYY 50", std_type_branchout_line_2="NYY 35" + - trafo (1 elements) std_type="0.63 MVA 20/0.4 kV Yyn6 wnr ASEA" + - ext_grid (1 elements) + ''' + + + + +.. image:: /pics/networks/kerber//kerber_vorstadtnetz_a.PNG + :height: 918.0px + :width: 1282.0px + :scale: 52% + :alt: alternate Text + :align: center + +-------------------- + + +.. code:: python + + import pandapower.networks as pn + + net2 = pn.create_kerber_vorstadtnetz_kabel_2() + + ''' + This pandapower network includes the following parameter tables: + - load (144 elements) p_load_in_mw=2, q_load_in_mw=0 + - bus (290 elements) + - line (288 elements) std_type="NAYY 150", std_type_branchout_line_1="NAYY 50", std_type_branchout_line_2="NYY 35" + - trafo (1 elements) "std_type=0.63 MVA 20/0.4 kV Yyn6 wnr ASEA" + - ext_grid (1 elements) + ''' + + + + +.. image:: /pics/networks/kerber//kerber_vorstadtnetz_b.PNG + :height: 918.0px + :width: 1282.0px + :scale: 52% + :alt: alternate Text + :align: center + + + +--------------------------- + +Extreme Kerber networks +======================= + + +The typical kerber networks represent the most common low-voltage distribution grids. +To produce statements of universal validity or check limit value, a significant part of all existing grids have to be involved. +The following grids obtain special builds of parameters (very high line length, great number of branches or +high loaded transformers). These parameters results in high loaded lines and low voltage magnitudes within the +extreme network. By including the extreme networks, kerber reached the 95% confidence interval. + +Therefore 95% of all parameter results in an considered distribution grid are equal or better compared to the outcomes from kerber extreme networks. +Besides testing for extreme parameters you are able to check for functional capability of reactive power control. +Since more rare network combination exist, the total number of extreme grids is higher than the amount of typical kerber networks. + +.. seealso:: + + - Georg Kerber, `Aufnahmefähigkeit von Niederspannungsverteilnetzen für die Einspeisung aus Photovoltaikkleinanlagen `_, Dissertation + - Georg Kerber, `Statistische Analyse von NS-Verteilungsnetzen und Modellierung von Referenznetzen `_ + +.. tabularcolumns:: |l|l|l|l|l| +.. csv-table:: + :file: kerber_extreme.csv + :delim: ; + +-------------- + +The Kerber extreme networks are categorized into two groups: + + **Type I:** Kerber networks with extreme lines + + **Type II:** Kerber networks with extreme lines and high loaded transformer + + + + +.. note:: Note that all Kerber exteme networks (no matter what type / territory) consist of various branches, linetypes or line length. + + + +Extreme Kerber Landnetze +------------------------ + + + +.. code:: python + + import pandapower.networks as pn + + '''Extrem Landnetz Freileitung Typ I''' + net = pn.kb_extrem_landnetz_freileitung() + + + '''Extrem Landnetz Kabel Typ I''' + net = pn.kb_extrem_landnetz_kabel() + + + + + +.. image:: /pics/networks/kerber//kerber_extrem_landnetz_typ_1.png + :height: 918.0px + :width: 1282.0px + :scale: 52% + :alt: alternate Text + :align: center + +--------------------------- + + +.. code:: python + + import pandapower.networks as pn + + '''Extrem Landnetz Freileitung Typ II''' + net = pn.kb_extrem_landnetz_freileitung_trafo() + + + '''Extrem Landnetz Kabel Typ II''' + net = pn.kb_extrem_landnetz_kabel_trafo() + + + + +.. image:: /pics/networks/kerber//kerber_extrem_landnetz_typ_2.png + :height: 918.0px + :width: 1282.0px + :scale: 52% + :alt: alternate Text + :align: center + +Extreme Kerber Dorfnetze +------------------------ + + + +.. code:: python + + import pandapower.networks as pn + + '''Extrem Dorfnetz Kabel Typ I''' + net = pn.kb_extrem_dorfnetz() + + + + + +.. image:: /pics/networks/kerber//kerber_extrem_dorfnetz_typ_1.png + :height: 918.0px + :width: 1282.0px + :scale: 52% + :alt: alternate Text + :align: center + +--------------------------- + +.. code:: python + + import pandapower.networks as pn + + '''Extrem Dorfnetz Kabel Typ II''' + net = pn.kb_extrem_dorfnetz_trafo() + + + +.. image:: /pics/networks/kerber//kerber_extrem_dorfnetz_typ_2.png + :height: 918.0px + :width: 1582.0px + :scale: 52% + :alt: alternate Text + :align: center + +Extreme Kerber Vorstadtnetze +---------------------------- + +.. code:: python + + import pandapower.networks as pn + + '''Extrem Vorstadtnetz Kabel_a Typ I''' + net = pn.kb_extrem_vorstadtnetz_1() + + +.. image:: /pics/networks/kerber//kerber_extrem_vorstadt_a_typ_1.png + :height: 718.0px + :width: 1402.0px + :scale: 52% + :alt: alternate Text + :align: center + +--------------------------- + + +.. code:: python + + import pandapower.networks as pn + + '''Extrem Vorstadtnetz Kabel_b Typ I''' + net = pn.kb_extrem_vorstadtnetz_2() + + +.. image:: /pics/networks/kerber//kerber_extrem_vorstadt_b_typ_1.png + :height: 818.0px + :width: 1452.0px + :scale: 52% + :alt: alternate Text + :align: center + + +--------------------------- + +.. code:: python + + import pandapower.networks as pn + + '''Extrem Vorstadtnetz Kabel_c Typ II''' + net = pn.kb_extrem_vorstadtnetz_trafo_1() + + +.. image:: /pics/networks/kerber//kerber_extrem_vorstadt_c_typ_2.png + :height: 918.0px + :width: 1482.0px + :scale: 52% + :alt: alternate Text + :align: center + + +--------------------------- + +.. code:: python + + import pandapower.networks as pn + + '''Extrem Vorstadtnetz Kabel_d Typ II''' + net = pn.kb_extrem_vorstadtnetz_trafo_2() + + +.. image:: /pics/networks/kerber//kerber_extrem_vorstadt_d_typ_2.png + :height: 918.0px + :width: 1482.0px + :scale: 52% + :alt: alternate Text :align: center \ No newline at end of file diff --git a/doc/networks/mv_oberrhein.rst b/doc/networks/mv_oberrhein.rst index 1c83f9228..ff6508d80 100644 --- a/doc/networks/mv_oberrhein.rst +++ b/doc/networks/mv_oberrhein.rst @@ -1,27 +1,27 @@ -============== -MV Oberrhein -============== - -.. note:: - - The MV Oberrhein network is a generic network assembled from openly available data supplemented with parameters based on experience. - -.. autofunction:: pandapower.networks.mv_oberrhein() - -The geographical representation of the network looks like this: - -.. image:: /pics/plotting/plotting_tutorial1.png - :width: 30em - :align: center - -The different colors of the MV/LV stations indicate the feeders which are galvanically seperated by open switches. -If you are interested in how to make plots such as these, check out the pandapower tutorial on plotting. - -The power flow results of the network in the different worst case scenarios look like this: - -.. image:: /pics/networks/oberrhein_loadcases.png - :width: 40em - :align: center - -As you can see, the network is designed to comply with a voltage band of 0.975 < u < 1.03 and line loading of <60 % in the high +============== +MV Oberrhein +============== + +.. note:: + + The MV Oberrhein network is a generic network assembled from openly available data supplemented with parameters based on experience. + +.. autofunction:: pandapower.networks.mv_oberrhein() + +The geographical representation of the network looks like this: + +.. image:: /pics/plotting/plotting_tutorial1.png + :width: 30em + :align: center + +The different colors of the MV/LV stations indicate the feeders which are galvanically seperated by open switches. +If you are interested in how to make plots such as these, check out the pandapower tutorial on plotting. + +The power flow results of the network in the different worst case scenarios look like this: + +.. image:: /pics/networks/oberrhein_loadcases.png + :width: 40em + :align: center + +As you can see, the network is designed to comply with a voltage band of 0.975 < u < 1.03 and line loading of <60 % in the high load case (for n-1 security) and <100% in the low load case. \ No newline at end of file diff --git a/doc/shortcircuit.rst b/doc/shortcircuit.rst index ca65db417..20df9ccbc 100644 --- a/doc/shortcircuit.rst +++ b/doc/shortcircuit.rst @@ -1,12 +1,12 @@ -############################ -Short-Circuit -############################ - -The shortcircuit module is used to calculate short-circuits according to DIN/IEC EN 60909. - -.. toctree:: - :maxdepth: 1 - - shortcircuit/run - shortcircuit/currents +############################ +Short-Circuit +############################ + +The shortcircuit module is used to calculate short-circuits according to DIN/IEC EN 60909. + +.. toctree:: + :maxdepth: 1 + + shortcircuit/run + shortcircuit/currents shortcircuit/elements \ No newline at end of file diff --git a/doc/shortcircuit/branch_elements.rst b/doc/shortcircuit/branch_elements.rst index 6b877d3af..74b937806 100644 --- a/doc/shortcircuit/branch_elements.rst +++ b/doc/shortcircuit/branch_elements.rst @@ -1,92 +1,92 @@ -Branch Elements -================= - -Branches are represented by a single short circuit impedance: - -.. image:: branch2.png - :width: 15em - :align: center - -Shunt admittances are neglected for all branch elements. - -Line ------------------------ - -.. math:: - :nowrap: - - \begin{align*} - \underline{R}_k &= r\_ohm\_per\_km \cdot \frac{length\_km}{parallel} \cdot K_L\\ - \underline{X}_k &= x\_ohm\_per\_km \cdot \frac{length\_km}{parallel} - \end{align*} - -where the correction factor for the short-circuit resistance :math:`K_L` is defined as: - -.. math:: - - K_L=\left\{ - \begin{array}{@{}ll@{}} - 1 & \text{ for maximum short-circuit calculations} \\ - 1 + 0.04 K^{-1} (endtemp\_degree - 20°C) & \text{ for minimum short-circuit calculations} - \end{array}\right. - -The end temperature in degree after a fault has to be defined with the parameter endtemp\_degre in the line table. - -Two-Winding Transformer -------------------------- - -The short-circuit impedance is calculated as: - -.. math:: - :nowrap: - - \begin{align*} - z_k &= \frac{vk\_percent}{100} \cdot \frac{1000}{sn\_kva} \cdot K_T \\ - r_k &= \frac{vkr\_percent}{100} \cdot \frac{1000}{sn\_kva} \cdot K_T \\ - x_k &= \sqrt{z^2 - r^2} \\ - \end{align*} - -where the correction factor :math:`K_T` is defined in the standard as: - -.. math:: - - K_{T} = 0.95 \frac{c_{max}}{1 + 0.6 x_T} - -where :math:`c_{max}` is the :ref:`voltage correction factor ` on the low voltage side of the transformer and :math:`x_T` is the transformer impedance relative to the -rated values of the transformer. - -The ratio of the transformer is considered to be the nominal ratio, the tap changer positions are not considered according to the standard. - -Three-Winding Transformer --------------------------- -Three Winding Transformers are modelled by three two-winding transformers: - -.. image:: branch3.png - :width: 15em - :alt: alternate Text - :align: center - -The conversion from one two to three two winding transformer parameter is described :ref:`here`. - -For the short-circuit calculation, the loss parameters are neglected and the transformer correction factor is -applied for the equivalent two-winding transformers as follows: - -.. math:: - :nowrap: - - \begin{align*} - v'_{k, t1} &= \frac{1}{2} (v'_{k, h} \cdot K_{T, h} + v'_{k, l} \cdot K_{T, l} - v'_{k, m} \cdot K_{T, m}) \\ - v'_{k, t2} &= \frac{1}{2} (v'_{k, m} \cdot K_{T, m} + v'_{k, h} \cdot K_{T, h} - v'_{k, l} \cdot K_{T, l}) \\ - v'_{k, t3} &= \frac{1}{2} (v'_{k, m} \cdot K_{T, m} + v'_{k, l} \cdot K_{T, l} - v'_{k, h} \cdot K_{T, h}) - \end{align*} - -Note that the correction factor has to be applied to the transformers before the wye-delta and not on the resulting -two-winding transformers. - - -Impedance --------------------------- -The impedance element is a generic element that is not desribed in the standard. It is considered in the short-circuit calculation just as in the power flow as described :ref:`here `. - - - +Branch Elements +================= + +Branches are represented by a single short circuit impedance: + +.. image:: branch2.png + :width: 15em + :align: center + +Shunt admittances are neglected for all branch elements. + +Line +----------------------- + +.. math:: + :nowrap: + + \begin{align*} + \underline{R}_k &= r\_ohm\_per\_km \cdot \frac{length\_km}{parallel} \cdot K_L\\ + \underline{X}_k &= x\_ohm\_per\_km \cdot \frac{length\_km}{parallel} + \end{align*} + +where the correction factor for the short-circuit resistance :math:`K_L` is defined as: + +.. math:: + + K_L=\left\{ + \begin{array}{@{}ll@{}} + 1 & \text{ for maximum short-circuit calculations} \\ + 1 + 0.04 K^{-1} (endtemp\_degree - 20°C) & \text{ for minimum short-circuit calculations} + \end{array}\right. + +The end temperature in degree after a fault has to be defined with the parameter endtemp\_degre in the line table. + +Two-Winding Transformer +------------------------- + +The short-circuit impedance is calculated as: + +.. math:: + :nowrap: + + \begin{align*} + z_k &= \frac{vk\_percent}{100} \cdot \frac{1000}{sn\_kva} \cdot K_T \\ + r_k &= \frac{vkr\_percent}{100} \cdot \frac{1000}{sn\_kva} \cdot K_T \\ + x_k &= \sqrt{z^2 - r^2} \\ + \end{align*} + +where the correction factor :math:`K_T` is defined in the standard as: + +.. math:: + + K_{T} = 0.95 \frac{c_{max}}{1 + 0.6 x_T} + +where :math:`c_{max}` is the :ref:`voltage correction factor ` on the low voltage side of the transformer and :math:`x_T` is the transformer impedance relative to the +rated values of the transformer. + +The ratio of the transformer is considered to be the nominal ratio, the tap changer positions are not considered according to the standard. + +Three-Winding Transformer +-------------------------- +Three Winding Transformers are modelled by three two-winding transformers: + +.. image:: branch3.png + :width: 15em + :alt: alternate Text + :align: center + +The conversion from one two to three two winding transformer parameter is described :ref:`here`. + +For the short-circuit calculation, the loss parameters are neglected and the transformer correction factor is +applied for the equivalent two-winding transformers as follows: + +.. math:: + :nowrap: + + \begin{align*} + v'_{k, t1} &= \frac{1}{2} (v'_{k, h} \cdot K_{T, h} + v'_{k, l} \cdot K_{T, l} - v'_{k, m} \cdot K_{T, m}) \\ + v'_{k, t2} &= \frac{1}{2} (v'_{k, m} \cdot K_{T, m} + v'_{k, h} \cdot K_{T, h} - v'_{k, l} \cdot K_{T, l}) \\ + v'_{k, t3} &= \frac{1}{2} (v'_{k, m} \cdot K_{T, m} + v'_{k, l} \cdot K_{T, l} - v'_{k, h} \cdot K_{T, h}) + \end{align*} + +Note that the correction factor has to be applied to the transformers before the wye-delta and not on the resulting +two-winding transformers. + + +Impedance +-------------------------- +The impedance element is a generic element that is not desribed in the standard. It is considered in the short-circuit calculation just as in the power flow as described :ref:`here `. + + + diff --git a/doc/shortcircuit/currents.rst b/doc/shortcircuit/currents.rst index 5727c0d81..4e53347a4 100644 --- a/doc/shortcircuit/currents.rst +++ b/doc/shortcircuit/currents.rst @@ -1,24 +1,24 @@ -======================= -Short-Circuit Currents -======================= - -The short-circuit currents are calculated with the equivalent voltage source at the fault location. -For an explanation of the theory behind short-circuit calculations according to IEC 60909 -please refer to the norm or secondary literature: - -.. seealso:: - - `IEC 60909-0:2016 `_ Short-circuit currents in three-phase a.c. systems - - `According to the IEC 60909 `_ on openelectrical - - -pandapower currently implements symmetrical and two-phase faults. One phase faults and two-phase faults with earthing are not yet available. - - -.. toctree:: - :maxdepth: 1 - - ikss - ip +======================= +Short-Circuit Currents +======================= + +The short-circuit currents are calculated with the equivalent voltage source at the fault location. +For an explanation of the theory behind short-circuit calculations according to IEC 60909 +please refer to the norm or secondary literature: + +.. seealso:: + + `IEC 60909-0:2016 `_ Short-circuit currents in three-phase a.c. systems + + `According to the IEC 60909 `_ on openelectrical + + +pandapower currently implements symmetrical and two-phase faults. One phase faults and two-phase faults with earthing are not yet available. + + +.. toctree:: + :maxdepth: 1 + + ikss + ip ith \ No newline at end of file diff --git a/doc/shortcircuit/elements.rst b/doc/shortcircuit/elements.rst index 238444726..fb2b82e15 100644 --- a/doc/shortcircuit/elements.rst +++ b/doc/shortcircuit/elements.rst @@ -1,14 +1,14 @@ -.. _sc_elements: -================== -Network Elements -================== - -Correction factors for generator and branch elements are implemented as defined in the IEC 60909 standard. The results for all elements are tested against commercial software to ensure that correction factors are correctly applied. - - -.. toctree:: - :maxdepth: 1 - - voltage_source - current_source - branch_elements +.. _sc_elements: +================== +Network Elements +================== + +Correction factors for generator and branch elements are implemented as defined in the IEC 60909 standard. The results for all elements are tested against commercial software to ensure that correction factors are correctly applied. + + +.. toctree:: + :maxdepth: 1 + + voltage_source + current_source + branch_elements diff --git a/doc/shortcircuit/ikss.rst b/doc/shortcircuit/ikss.rst index 3945d95dc..8c294218f 100644 --- a/doc/shortcircuit/ikss.rst +++ b/doc/shortcircuit/ikss.rst @@ -1,274 +1,274 @@ -Initial Short-Circuit Current -================================== - -The general ohmic network equation is given as: - -The SC is calculated in two steps: - - calculate the SC contribution :math:`I''_{kI}` of all voltage source elements - - calculate the SC contribution :math:`I''_{kII}` of all current source elements - -These two currents are then combined into the total initial SC current :math:`I''_{k} = I''_{kI} + I''_{kII}`. - -.. _c: - -Equivalent Voltage Source ------------------------------ - -For the short-circuit calculation with the equivalent voltage source, all voltage sources are replaced by one equivalent voltage source :math:`V_Q` at the fault location. -The voltage magnitude at the fault bus is assumed to be: - -.. math:: - - V_Q = - \left\{ - \begin{array}{@{}ll@{}} - \frac{c \cdot \underline{V}_{N}}{\sqrt{3}} & \text{for three phase short circuit currents} \\ - \frac{c \cdot \underline{V}_{N}}{2} & \text{for two phase short circuit currents} - \end{array}\right. - -where :math:`V_N` is the nominal voltage at the fault bus and c is the voltage correction factor, which accounts for operational deviations from the nominal voltage in the network. - -The voltage correction factors :math:`c_{min}` for minimum and :math:`c_{max}` for maximum short-circuit currents are defined for each bus depending on the voltage level. -In the low voltage level, there is an additional distinction between networks with a tolerance of 6% vs. a tolerance of 10% for :math:`c_{max}`: - -.. |cmin| replace:: :math:`c_{min}` -.. |cmax| replace:: :math:`c_{max}` - -+--------------+---------------+--------+--------+ -|Voltage Level | |cmin| | |cmax| | -+==============+===============+========+========+ -| | Tolerance 6% | | 1.05 | -|< 1 kV +---------------+ 0.95 +--------+ -| | Tolerance 10% | | | -+--------------+---------------+--------+ 1.10 + -|> 1 kV | 1.00 | | -+--------------+---------------+--------+--------+ - - -Voltage Source Contribution ------------------------------ - -To calculate the contribution of all voltage source elements, the following assumptions are made: - -1. Operational currents at all buses are neglected -2. All current source elements are neglected -3. The voltage at the fault bus is equal to :math:`V_Q` - -For the calculation of a short-circuit at bus :math:`j`, this yields the following network equations: - -.. math:: - - \begin{bmatrix} - \underline{Y}_{11} & \dots & \dots & \underline{Y}_{n1} \\[0.3em] - \vdots & \ddots & & \vdots \\[0.3em] - \vdots & & \ddots & \vdots \\[0.3em] - \underline{Y}_{1n} & \dots & \dots & \underline{Y}_{nn} - \end{bmatrix} - \begin{bmatrix} - \underline{V}_{1} \\ - \vdots \\ - V_{Qj} \\ - \vdots \\ - \underline{V}_{n} - \end{bmatrix} - = - \begin{bmatrix} - 0 \\ - \vdots \\ - \underline{I}''_{kIj} \\ - \vdots \\ - 0 - \end{bmatrix} - -where :math:`\underline{I}''_{kIj}` is the voltage source contribution of the short-circuit current at bus :math:`j`. -The voltages at all non-fault buses and the current at the fault bus are unknown. To solve for :math:`\underline{I}''_{kIj}` , -we multipliy with the inverted nodal point admittance matrix (impedance matrix): - -.. math:: - - \begin{bmatrix} - \underline{V}_{1} \\ - \vdots \\[0.4em] - V_{Qj} \\[0.4em] - \vdots \\ - \underline{V}_{n} - \end{bmatrix} - = - \begin{bmatrix} - \underline{Z}_{11} & \dots & \dots & \dots & \underline{Z}_{n1} \\ - \vdots & \ddots & & & \vdots \\ - \vdots & & \underline{Z}_{jj} & & \vdots \\ - \vdots & & & \ddots & \vdots \\ - \underline{Z}_{1n} & \dots & \dots & \dots & \underline{Z}_{nn} - \end{bmatrix} - \begin{bmatrix} - 0 \\ - \vdots \\[0.25em] - \underline{I}''_{kIj} \\[0.25em] - \vdots \\ - 0 - \end{bmatrix} - -The short-circuit current for bus m is now given as: - -.. math:: - - I''_{kIj} = \frac{V_{Qj}}{Z_{jj}} - -To calculate the vector of the short-circuit currents at all buses, the equation can be expanded as follows: - -.. math:: - - \begin{bmatrix} - \underline{V}_{Q1} & \dots & \underline{V}_{n1} \\[0.4em] - \vdots & \ddots & \vdots \\[0.4em] - \underline{V}_{1n} & \dots & \underline{V}_{Qn} - \end{bmatrix} - = - \begin{bmatrix} - \underline{Z}_{11} & \dots & \underline{Z}_{n1} \\[0.8em] - \vdots & \ddots & \vdots \\[0.8em] - \underline{Z}_{1n} & \dots & \underline{Z}_{nn} - \end{bmatrix} - \begin{bmatrix} - \underline{I}''_{kI1} & \dots & 0 \\[0.8em] - \vdots & \ddots & \vdots \\[0.8em] - 0 & \dots & \underline{I}''_{kIn} - \end{bmatrix} - -which yields: - -.. math:: - - \begin{bmatrix} - I''_{kI1} \\[0.25em] - \vdots \\[0.25em] - I''_{kIn} \\ - \end{bmatrix} - = - \begin{bmatrix} - \frac{V_{Q1}}{Z_{11}} \\ - \vdots \\ - \frac{V_{Qn}}{Z_{nn}} - \end{bmatrix} - -In that way, all short-circuit currents can be calculated at once with one inversion of the nodal point admittance matrix. - -In case a fault impedance is specified, it is added to the diagonal of the impedance matrix. The short-circuit currents -at all buses are then calculated as: - -.. math:: - - \begin{bmatrix} - I''_{kI1} \\[0.25em] - \vdots \\[0.25em] - I''_{kIn} \\ - \end{bmatrix} - = - \begin{bmatrix} - \frac{V_{Q1}}{Z_{11} + Z_{fault}} \\ - \vdots \\ - \frac{V_{Qn}}{Z_{nn} + Z_{fault}} - \end{bmatrix} - - -Current Source Contribution ------------------------------ - -To calculate the current source component of the SC current, all voltage sources are short circuited and only current sources are considered. The bus currents are then given as: - -.. math:: - \begin{bmatrix} - I_1 \\[0.2em] - \vdots \\[0.2em] - I_m \\[0.2em] - \vdots \\ - I_n - \end{bmatrix} - = - \begin{bmatrix} - 0 \\[0.2em] - \vdots \\[0.2em] - \underline{I}''_{kIIj} \\[0.2em] - \vdots \\ - 0 - \end{bmatrix} - - - \begin{bmatrix} - I''_{kC1} \\[0.2em] - \vdots \\[0.2em] - \underline{I}''_{kCj} \\[0.2em] - \vdots \\ - I''_{kCn} - \end{bmatrix} - = - \begin{bmatrix} - -I''_{kC1} \\[0.2em] - \vdots \\[0.2em] - \underline{I}''_{kIIj} - \underline{I}''_{kCj} \\[0.2em] - \vdots \\ - -I''_{kCn} - \end{bmatrix} - -where :math:`I''_{kC}` are the SC currents that are fed in by converter element at each bus and :math:`\underline{I}''_{kIIj}` is the contribution of converter elements at the fault bus :math:`j`. -With the voltage at the fault bus known to be zero, the network equations are given as: - -.. math:: - - \begin{bmatrix} - \underline{V}_{1} \\ - \vdots \\[0.4em] - 0 \\[0.4em] - \vdots \\ - \underline{V}_{n} - \end{bmatrix} - = - \begin{bmatrix} - \underline{Z}_{11} & \dots & \dots & \dots & \underline{Z}_{n1} \\ - \vdots & \ddots & & & \vdots \\ - \vdots & & {Z}_{jj} & & \vdots \\ - \vdots & & & \ddots & \vdots \\ - \underline{Z}_{1n} & \dots & \dots & \dots & \underline{Z}_{nn} - \end{bmatrix} - \begin{bmatrix} - -I''_{kC1} \\[0.2em] - \vdots \\[0.2em] - \underline{I}''_{kIIj} - \underline{I}''_{kCj} \\[0.2em] - \vdots \\ - -I''_{kCn} - \end{bmatrix} - -From which row :math:`j` of the equation yields: - -.. math:: - - 0 = \underline{Z}_{jj} \cdot \underline{I}''_{kIIj} - \sum_{m=1}^{n}{\underline{Z}_{jm} \cdot \underline{I}_{kCj}} - -which can be converted into: - -.. math:: - - \underline{I}''_{kIIj} = \frac{1}{\underline{Z}_{jj}} \cdot \sum_{m=1}^{n}{\underline{Z}_{jm} \cdot \underline{I}_{kC, m}} - -To calculate all SC currents for faults at each bus simultaneously, this can be generalized into the following matrix equation: - -.. math:: - - \begin{bmatrix} - \underline{I}''_{kII1} \\[0.5em] - \vdots \\[0.5em] - \vdots \\[0.5em] - \underline{I}''_{kIIn} - \end{bmatrix} = - \begin{bmatrix} - \underline{Z}_{11} & \dots & \dots & \underline{Z}_{n1} \\[0.3em] - \vdots & \ddots & & \vdots \\[0.3em] - \vdots & & \ddots & \vdots \\[0.3em] - \underline{Z}_{1n} & \dots & \dots & \underline{Z}_{nn} - \end{bmatrix} - \begin{bmatrix} - \frac{I''_{kC1}}{\underline{Z}_{11}} \\[0.25em] - \vdots \\ - \vdots \\[0.25em] - \frac{I''_{kCn}}{\underline{Z}_{nn}} - \end{bmatrix} +Initial Short-Circuit Current +================================== + +The general ohmic network equation is given as: + +The SC is calculated in two steps: + - calculate the SC contribution :math:`I''_{kI}` of all voltage source elements + - calculate the SC contribution :math:`I''_{kII}` of all current source elements + +These two currents are then combined into the total initial SC current :math:`I''_{k} = I''_{kI} + I''_{kII}`. + +.. _c: + +Equivalent Voltage Source +----------------------------- + +For the short-circuit calculation with the equivalent voltage source, all voltage sources are replaced by one equivalent voltage source :math:`V_Q` at the fault location. +The voltage magnitude at the fault bus is assumed to be: + +.. math:: + + V_Q = + \left\{ + \begin{array}{@{}ll@{}} + \frac{c \cdot \underline{V}_{N}}{\sqrt{3}} & \text{for three phase short circuit currents} \\ + \frac{c \cdot \underline{V}_{N}}{2} & \text{for two phase short circuit currents} + \end{array}\right. + +where :math:`V_N` is the nominal voltage at the fault bus and c is the voltage correction factor, which accounts for operational deviations from the nominal voltage in the network. + +The voltage correction factors :math:`c_{min}` for minimum and :math:`c_{max}` for maximum short-circuit currents are defined for each bus depending on the voltage level. +In the low voltage level, there is an additional distinction between networks with a tolerance of 6% vs. a tolerance of 10% for :math:`c_{max}`: + +.. |cmin| replace:: :math:`c_{min}` +.. |cmax| replace:: :math:`c_{max}` + ++--------------+---------------+--------+--------+ +|Voltage Level | |cmin| | |cmax| | ++==============+===============+========+========+ +| | Tolerance 6% | | 1.05 | +|< 1 kV +---------------+ 0.95 +--------+ +| | Tolerance 10% | | | ++--------------+---------------+--------+ 1.10 + +|> 1 kV | 1.00 | | ++--------------+---------------+--------+--------+ + + +Voltage Source Contribution +----------------------------- + +To calculate the contribution of all voltage source elements, the following assumptions are made: + +1. Operational currents at all buses are neglected +2. All current source elements are neglected +3. The voltage at the fault bus is equal to :math:`V_Q` + +For the calculation of a short-circuit at bus :math:`j`, this yields the following network equations: + +.. math:: + + \begin{bmatrix} + \underline{Y}_{11} & \dots & \dots & \underline{Y}_{n1} \\[0.3em] + \vdots & \ddots & & \vdots \\[0.3em] + \vdots & & \ddots & \vdots \\[0.3em] + \underline{Y}_{1n} & \dots & \dots & \underline{Y}_{nn} + \end{bmatrix} + \begin{bmatrix} + \underline{V}_{1} \\ + \vdots \\ + V_{Qj} \\ + \vdots \\ + \underline{V}_{n} + \end{bmatrix} + = + \begin{bmatrix} + 0 \\ + \vdots \\ + \underline{I}''_{kIj} \\ + \vdots \\ + 0 + \end{bmatrix} + +where :math:`\underline{I}''_{kIj}` is the voltage source contribution of the short-circuit current at bus :math:`j`. +The voltages at all non-fault buses and the current at the fault bus are unknown. To solve for :math:`\underline{I}''_{kIj}` , +we multipliy with the inverted nodal point admittance matrix (impedance matrix): + +.. math:: + + \begin{bmatrix} + \underline{V}_{1} \\ + \vdots \\[0.4em] + V_{Qj} \\[0.4em] + \vdots \\ + \underline{V}_{n} + \end{bmatrix} + = + \begin{bmatrix} + \underline{Z}_{11} & \dots & \dots & \dots & \underline{Z}_{n1} \\ + \vdots & \ddots & & & \vdots \\ + \vdots & & \underline{Z}_{jj} & & \vdots \\ + \vdots & & & \ddots & \vdots \\ + \underline{Z}_{1n} & \dots & \dots & \dots & \underline{Z}_{nn} + \end{bmatrix} + \begin{bmatrix} + 0 \\ + \vdots \\[0.25em] + \underline{I}''_{kIj} \\[0.25em] + \vdots \\ + 0 + \end{bmatrix} + +The short-circuit current for bus m is now given as: + +.. math:: + + I''_{kIj} = \frac{V_{Qj}}{Z_{jj}} + +To calculate the vector of the short-circuit currents at all buses, the equation can be expanded as follows: + +.. math:: + + \begin{bmatrix} + \underline{V}_{Q1} & \dots & \underline{V}_{n1} \\[0.4em] + \vdots & \ddots & \vdots \\[0.4em] + \underline{V}_{1n} & \dots & \underline{V}_{Qn} + \end{bmatrix} + = + \begin{bmatrix} + \underline{Z}_{11} & \dots & \underline{Z}_{n1} \\[0.8em] + \vdots & \ddots & \vdots \\[0.8em] + \underline{Z}_{1n} & \dots & \underline{Z}_{nn} + \end{bmatrix} + \begin{bmatrix} + \underline{I}''_{kI1} & \dots & 0 \\[0.8em] + \vdots & \ddots & \vdots \\[0.8em] + 0 & \dots & \underline{I}''_{kIn} + \end{bmatrix} + +which yields: + +.. math:: + + \begin{bmatrix} + I''_{kI1} \\[0.25em] + \vdots \\[0.25em] + I''_{kIn} \\ + \end{bmatrix} + = + \begin{bmatrix} + \frac{V_{Q1}}{Z_{11}} \\ + \vdots \\ + \frac{V_{Qn}}{Z_{nn}} + \end{bmatrix} + +In that way, all short-circuit currents can be calculated at once with one inversion of the nodal point admittance matrix. + +In case a fault impedance is specified, it is added to the diagonal of the impedance matrix. The short-circuit currents +at all buses are then calculated as: + +.. math:: + + \begin{bmatrix} + I''_{kI1} \\[0.25em] + \vdots \\[0.25em] + I''_{kIn} \\ + \end{bmatrix} + = + \begin{bmatrix} + \frac{V_{Q1}}{Z_{11} + Z_{fault}} \\ + \vdots \\ + \frac{V_{Qn}}{Z_{nn} + Z_{fault}} + \end{bmatrix} + + +Current Source Contribution +----------------------------- + +To calculate the current source component of the SC current, all voltage sources are short circuited and only current sources are considered. The bus currents are then given as: + +.. math:: + \begin{bmatrix} + I_1 \\[0.2em] + \vdots \\[0.2em] + I_m \\[0.2em] + \vdots \\ + I_n + \end{bmatrix} + = + \begin{bmatrix} + 0 \\[0.2em] + \vdots \\[0.2em] + \underline{I}''_{kIIj} \\[0.2em] + \vdots \\ + 0 + \end{bmatrix} + - + \begin{bmatrix} + I''_{kC1} \\[0.2em] + \vdots \\[0.2em] + \underline{I}''_{kCj} \\[0.2em] + \vdots \\ + I''_{kCn} + \end{bmatrix} + = + \begin{bmatrix} + -I''_{kC1} \\[0.2em] + \vdots \\[0.2em] + \underline{I}''_{kIIj} - \underline{I}''_{kCj} \\[0.2em] + \vdots \\ + -I''_{kCn} + \end{bmatrix} + +where :math:`I''_{kC}` are the SC currents that are fed in by converter element at each bus and :math:`\underline{I}''_{kIIj}` is the contribution of converter elements at the fault bus :math:`j`. +With the voltage at the fault bus known to be zero, the network equations are given as: + +.. math:: + + \begin{bmatrix} + \underline{V}_{1} \\ + \vdots \\[0.4em] + 0 \\[0.4em] + \vdots \\ + \underline{V}_{n} + \end{bmatrix} + = + \begin{bmatrix} + \underline{Z}_{11} & \dots & \dots & \dots & \underline{Z}_{n1} \\ + \vdots & \ddots & & & \vdots \\ + \vdots & & {Z}_{jj} & & \vdots \\ + \vdots & & & \ddots & \vdots \\ + \underline{Z}_{1n} & \dots & \dots & \dots & \underline{Z}_{nn} + \end{bmatrix} + \begin{bmatrix} + -I''_{kC1} \\[0.2em] + \vdots \\[0.2em] + \underline{I}''_{kIIj} - \underline{I}''_{kCj} \\[0.2em] + \vdots \\ + -I''_{kCn} + \end{bmatrix} + +From which row :math:`j` of the equation yields: + +.. math:: + + 0 = \underline{Z}_{jj} \cdot \underline{I}''_{kIIj} - \sum_{m=1}^{n}{\underline{Z}_{jm} \cdot \underline{I}_{kCj}} + +which can be converted into: + +.. math:: + + \underline{I}''_{kIIj} = \frac{1}{\underline{Z}_{jj}} \cdot \sum_{m=1}^{n}{\underline{Z}_{jm} \cdot \underline{I}_{kC, m}} + +To calculate all SC currents for faults at each bus simultaneously, this can be generalized into the following matrix equation: + +.. math:: + + \begin{bmatrix} + \underline{I}''_{kII1} \\[0.5em] + \vdots \\[0.5em] + \vdots \\[0.5em] + \underline{I}''_{kIIn} + \end{bmatrix} = + \begin{bmatrix} + \underline{Z}_{11} & \dots & \dots & \underline{Z}_{n1} \\[0.3em] + \vdots & \ddots & & \vdots \\[0.3em] + \vdots & & \ddots & \vdots \\[0.3em] + \underline{Z}_{1n} & \dots & \dots & \underline{Z}_{nn} + \end{bmatrix} + \begin{bmatrix} + \frac{I''_{kC1}}{\underline{Z}_{11}} \\[0.25em] + \vdots \\ + \vdots \\[0.25em] + \frac{I''_{kCn}}{\underline{Z}_{nn}} + \end{bmatrix} diff --git a/doc/shortcircuit/ip.rst b/doc/shortcircuit/ip.rst index 3ecec99e5..a7380c618 100644 --- a/doc/shortcircuit/ip.rst +++ b/doc/shortcircuit/ip.rst @@ -1,82 +1,82 @@ -Peak Short-Circuit Current -=============================== - -Current Calculation ---------------------------- - -The peak short-circuit current is calculated as: - -.. math:: - - \begin{bmatrix} - i_{p, 1} \\ - \vdots \\ - i_{p, n} \\ - \end{bmatrix} - = \sqrt{2} \left( - \begin{bmatrix} - \kappa_{1} \\ - \vdots \\ - \kappa_{1} \\ - \end{bmatrix} - \begin{bmatrix} - \underline{I}''_{kI, 1} \\ - \vdots \\ - \underline{I}''_{kI, n} \\ - \end{bmatrix} + - \begin{bmatrix} - \underline{I}''_{kII, 1} \\ - \vdots \\ - \underline{I}''_{kII, n} \\ - \end{bmatrix} \right) - -where :math:`\kappa` is the peak factor. - -.. _kappa: - -Peak Factor :math:`\kappa` -------------------------------- - -In radial networks, :math:`\kappa` is given as: - -.. math:: - - \kappa = 1.02 + 0.98 e^{-{3}{R/X}} - -where :math:`R/X` is the R/X ratio of the equivalent short-circuit impedance :math:`Z_k` at the fault location. - -In meshed networks, the standard defines three possibilities for the calculation of :math:`\kappa`: - -- Method A: Uniform Ratio R/X -- Method B: R/X ratio at short-circuit location -- Method C: Equivalent frequency - -The user can chose between Methods B and C when running a short circuit calculation. Method C yields the most accurate results according to the standard and is therefore the default option. -Method A is only suited for estimated manual calculations with low accuracy and therefore not implemented in pandapower. - -**Method C: Equivalent frequency** - -For method C, the same formula for :math:`\kappa` is used as for radial grids. The R/X value that is inserter is however not the - - -**Method B: R/X Ratio at short-circuit location** - -For method B, :math:`\kappa` is given as: - -.. math:: - - \kappa = [1.02 + 0.98 e^{-{3}{R/X}}] \cdot 1.15 - - -while being limited with :math:`\kappa_{min} < \kappa < \kappa_{max}` depending on the voltage level: - -.. |kmin| replace:: :math:`\kappa_{min}` -.. |kmax| replace:: :math:`\kappa_{max}` - -+-------------+--------+--------+ -|Voltage Level| |kmin| | |kmax| | -+=============+========+========+ -| < 1 kV | | 1.8 | -+-------------+ 1.0 +--------+ -| > 1 kV | | 2.0 | -+-------------+--------+--------+ +Peak Short-Circuit Current +=============================== + +Current Calculation +--------------------------- + +The peak short-circuit current is calculated as: + +.. math:: + + \begin{bmatrix} + i_{p, 1} \\ + \vdots \\ + i_{p, n} \\ + \end{bmatrix} + = \sqrt{2} \left( + \begin{bmatrix} + \kappa_{1} \\ + \vdots \\ + \kappa_{1} \\ + \end{bmatrix} + \begin{bmatrix} + \underline{I}''_{kI, 1} \\ + \vdots \\ + \underline{I}''_{kI, n} \\ + \end{bmatrix} + + \begin{bmatrix} + \underline{I}''_{kII, 1} \\ + \vdots \\ + \underline{I}''_{kII, n} \\ + \end{bmatrix} \right) + +where :math:`\kappa` is the peak factor. + +.. _kappa: + +Peak Factor :math:`\kappa` +------------------------------- + +In radial networks, :math:`\kappa` is given as: + +.. math:: + + \kappa = 1.02 + 0.98 e^{-{3}{R/X}} + +where :math:`R/X` is the R/X ratio of the equivalent short-circuit impedance :math:`Z_k` at the fault location. + +In meshed networks, the standard defines three possibilities for the calculation of :math:`\kappa`: + +- Method A: Uniform Ratio R/X +- Method B: R/X ratio at short-circuit location +- Method C: Equivalent frequency + +The user can chose between Methods B and C when running a short circuit calculation. Method C yields the most accurate results according to the standard and is therefore the default option. +Method A is only suited for estimated manual calculations with low accuracy and therefore not implemented in pandapower. + +**Method C: Equivalent frequency** + +For method C, the same formula for :math:`\kappa` is used as for radial grids. The R/X value that is inserter is however not the + + +**Method B: R/X Ratio at short-circuit location** + +For method B, :math:`\kappa` is given as: + +.. math:: + + \kappa = [1.02 + 0.98 e^{-{3}{R/X}}] \cdot 1.15 + + +while being limited with :math:`\kappa_{min} < \kappa < \kappa_{max}` depending on the voltage level: + +.. |kmin| replace:: :math:`\kappa_{min}` +.. |kmax| replace:: :math:`\kappa_{max}` + ++-------------+--------+--------+ +|Voltage Level| |kmin| | |kmax| | ++=============+========+========+ +| < 1 kV | | 1.8 | ++-------------+ 1.0 +--------+ +| > 1 kV | | 2.0 | ++-------------+--------+--------+ diff --git a/doc/shortcircuit/ith.rst b/doc/shortcircuit/ith.rst index 61a4103f2..607d01e85 100644 --- a/doc/shortcircuit/ith.rst +++ b/doc/shortcircuit/ith.rst @@ -1,40 +1,40 @@ -Thermal Short-Circuit Current -================================== - -Current Calculation ---------------------------- - -The equivalent thermal current is calculated as: - -.. math:: - - \begin{bmatrix} - \underline{I}_{th, 1} \\ - \vdots \\ - \underline{I}_{th, n} \\ - \end{bmatrix} = - \begin{bmatrix} - \sqrt{m_1 + n_1} \\ - \vdots \\ - \sqrt{m_n + n_n} \\ - \end{bmatrix} - \begin{bmatrix} - \underline{I}''_{k, 1} \\ - \vdots \\ - \underline{I}''_{k, n} \\ - \end{bmatrix} - -where m and n represent the dc and ac part of the thermal load. - -Correction Factors m and n ----------------------------- - -For short-circuit currents far from synchronous generators, the factors are given as: - -.. math:: - - n = 1 - m = \frac{1}{2 \cdot f \cdot T_k \cdot ln(\kappa - 1)} [e^{4 \cdot f \cdot T_k \cdot ln(\kappa - 1)} - 1] - -where :math:`\kappa` is the peak factor defined :ref:`here ` and :math:`T_k` is the duration of the short-circuit current that can be defined as a parameter when -running the short-circuit calculation. +Thermal Short-Circuit Current +================================== + +Current Calculation +--------------------------- + +The equivalent thermal current is calculated as: + +.. math:: + + \begin{bmatrix} + \underline{I}_{th, 1} \\ + \vdots \\ + \underline{I}_{th, n} \\ + \end{bmatrix} = + \begin{bmatrix} + \sqrt{m_1 + n_1} \\ + \vdots \\ + \sqrt{m_n + n_n} \\ + \end{bmatrix} + \begin{bmatrix} + \underline{I}''_{k, 1} \\ + \vdots \\ + \underline{I}''_{k, n} \\ + \end{bmatrix} + +where m and n represent the dc and ac part of the thermal load. + +Correction Factors m and n +---------------------------- + +For short-circuit currents far from synchronous generators, the factors are given as: + +.. math:: + + n = 1 + m = \frac{1}{2 \cdot f \cdot T_k \cdot ln(\kappa - 1)} [e^{4 \cdot f \cdot T_k \cdot ln(\kappa - 1)} - 1] + +where :math:`\kappa` is the peak factor defined :ref:`here ` and :math:`T_k` is the duration of the short-circuit current that can be defined as a parameter when +running the short-circuit calculation. diff --git a/doc/shortcircuit/run.rst b/doc/shortcircuit/run.rst index c71fcc910..5e24f3b40 100644 --- a/doc/shortcircuit/run.rst +++ b/doc/shortcircuit/run.rst @@ -1,21 +1,21 @@ -==================================== -Running a Short-Circuit Calculation -==================================== - -The short circuit calculation is carried out with the calc_sc function: - -.. autofunction:: pandapower.shortcircuit.calc_sc - - -.. code:: python - - import pandapower.shortcircuit as sc - import pandapower.networks as nw - - net = nw.mv_oberrhein() - net.ext_grid["s_sc_min_mva"] = 100 - net.ext_grid["rx_min"] = 0.1 - - net.line["endtemp_degree"] = 20 - sc.calc_sc(net, case="min") +==================================== +Running a Short-Circuit Calculation +==================================== + +The short circuit calculation is carried out with the calc_sc function: + +.. autofunction:: pandapower.shortcircuit.calc_sc + + +.. code:: python + + import pandapower.shortcircuit as sc + import pandapower.networks as nw + + net = nw.mv_oberrhein() + net.ext_grid["s_sc_min_mva"] = 100 + net.ext_grid["rx_min"] = 0.1 + + net.line["endtemp_degree"] = 20 + sc.calc_sc(net, case="min") print(net.res_bus_sc) \ No newline at end of file From 1dcc47c9345f4c05564bc56cba173ed3ee5e31a7 Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Fri, 24 Sep 2021 11:57:57 +0200 Subject: [PATCH 201/422] include missing toolbox functions to documentation --- doc/toolbox.rst | 24 ++- pandapower/toolbox.py | 414 +++++++++++++++++++++--------------------- 2 files changed, 230 insertions(+), 208 deletions(-) diff --git a/doc/toolbox.rst b/doc/toolbox.rst index fe693a7b4..1f7d6c8d6 100644 --- a/doc/toolbox.rst +++ b/doc/toolbox.rst @@ -21,6 +21,10 @@ General Issues .. autofunction:: pandapower.pp_elements +.. autofunction:: pandapower.branch_element_bus_dict + +.. autofunction:: pandapower.signing_system_value + .. autofunction:: pandapower.pq_from_cosphi .. autofunction:: pandapower.cosphi_from_pq @@ -69,7 +73,7 @@ Simulation Setup and Preparation .. autofunction:: pandapower.set_scaling_by_type -.. autofunction:: pandapower.convert_format +#.. autofunction:: pandapower.convert_format .. autofunction:: pandapower.set_data_type_of_columns_to_default @@ -91,12 +95,22 @@ Topology Modification .. autofunction:: pandapower.drop_lines +.. autofunction:: pandapower.drop_measurements_at_elements + .. autofunction:: pandapower.drop_duplicated_measurements +.. autofunction:: pandapower.get_connecting_branches + +.. autofunction:: pandapower.get_inner_branches + +.. autofunction:: pandapower.drop_inner_branches + .. autofunction:: pandapower.set_element_status .. autofunction:: pandapower.set_isolated_areas_out_of_service +.. autofunction:: pandapower.drop_elements_simple + .. autofunction:: pandapower.drop_out_of_service_elements .. autofunction:: pandapower.drop_inactive_elements @@ -105,6 +119,12 @@ Topology Modification .. autofunction:: pandapower.merge_nets +.. autofunction:: pandapower.repl_to_line + +.. autofunction:: pandapower.merge_parallel_line + +.. autofunction:: pandapower.merge_same_bus_generation_plants + .. autofunction:: pandapower.create_replacement_switch_for_branch .. autofunction:: pandapower.replace_zero_branches_with_switches @@ -121,6 +141,8 @@ Topology Modification .. autofunction:: pandapower.replace_sgen_by_gen +.. autofunction:: pandapower.replace_pq_elmtype + .. autofunction:: pandapower.replace_ward_by_internal_elements .. autofunction:: pandapower.replace_xward_by_internal_elements diff --git a/pandapower/toolbox.py b/pandapower/toolbox.py index 4741d3e0e..696a252a3 100644 --- a/pandapower/toolbox.py +++ b/pandapower/toolbox.py @@ -1665,6 +1665,213 @@ def adapt_element_idx_references(net, element, element_type, offset=0): return net +def repl_to_line(net, idx, std_type, name=None, in_service=False, **kwargs): + """ + creates a power line in parallel to the existing power line based on the values of the new + std_type. The new parallel line has an impedance value, which is chosen so that the resulting + impedance of the new line and the already existing line is equal to the impedance of the + replaced line. Or for electrical engineers: + + Z0 = impedance of the existing line + Z1 = impedance of the replaced line + Z2 = impedance of the created line + + --- Z2 --- + ---| |--- = --- Z1 --- + --- Z0 --- + + + Parameters + ---------- + net - pandapower net + idx (int) - idx of the existing line + std_type (str) - pandapower standard type + name (str, None) - name of the new power line + in_service (bool, False) - if the new power line is in service + **kwargs - additional line parameters you want to set for the new line + + Returns + ------- + new_idx (int) - index of the created power line + + """ + + # impedance before changing the standard type + r0 = net.line.at[idx, "r_ohm_per_km"] + p0 = net.line.at[idx, "parallel"] + x0 = net.line.at[idx, "x_ohm_per_km"] + c0 = net.line.at[idx, "c_nf_per_km"] + g0 = net.line.at[idx, "g_us_per_km"] + i_ka0 = net.line.at[idx, "max_i_ka"] + bak = net.line.loc[idx, :].values + + change_std_type(net, idx, std_type) + + # impedance after changing the standard type + r1 = net.line.at[idx, "r_ohm_per_km"] + x1 = net.line.at[idx, "x_ohm_per_km"] + c1 = net.line.at[idx, "c_nf_per_km"] + g1 = net.line.at[idx, "g_us_per_km"] + i_ka1 = net.line.at[idx, "max_i_ka"] + + # complex resistance of the line parallel to the existing line + y1 = 1 / complex(r1, x1) + y0 = p0 / complex(r0, x0) + z2 = 1 / (y1 - y0) + + # required parameters + c_nf_per_km = c1 * 1 - c0 * p0 + r_ohm_per_km = z2.real + x_ohm_per_km = z2.imag + g_us_per_km = g1 * 1 - g0 * p0 + max_i_ka = i_ka1 - i_ka0 + name = "repl_" + str(idx) if name is None else name + + # if this line is in service to the existing line, the power flow result should be the same as + # when replacing the existing line with the desired standard type + new_idx = create_line_from_parameters( + net, from_bus=net.line.at[idx, "from_bus"], to_bus=net.line.at[idx, "to_bus"], + length_km=net.line.at[idx, "length_km"], r_ohm_per_km=r_ohm_per_km, + x_ohm_per_km=x_ohm_per_km, c_nf_per_km=c_nf_per_km, max_i_ka=max_i_ka, + g_us_per_km=g_us_per_km, in_service=in_service, name=name, **kwargs) + # restore the previous line parameters before changing the standard type + net.line.loc[idx, :] = bak + + # check switching state and add line switch if necessary: + for bus in net.line.at[idx, "to_bus"], net.line.at[idx, "from_bus"]: + if bus in net.switch[(net.switch.closed == False) & (net.switch.element == idx) & + (net.switch.et == "l")].bus.values: + create_switch(net, bus=bus, element=new_idx, closed=False, et="l", type="LBS") + + return new_idx + + +def merge_parallel_line(net, idx): + """ + Changes the impedances of the parallel line so that it equals a single line. + Args: + net: pandapower net + idx: idx of the line to merge + + Returns: + net + + Z0 = impedance of the existing parallel lines + Z1 = impedance of the respective single line + + --- Z0 --- + ---| |--- = --- Z1 --- + --- Z0 --- + + """ + # impedance before changing the standard type + + r0 = net.line.at[idx, "r_ohm_per_km"] + p0 = net.line.at[idx, "parallel"] + x0 = net.line.at[idx, "x_ohm_per_km"] + c0 = net.line.at[idx, "c_nf_per_km"] + g0 = net.line.at[idx, "g_us_per_km"] + i_ka0 = net.line.at[idx, "max_i_ka"] + + # complex resistance of the line to the existing line + y0 = 1 / complex(r0, x0) + y1 = p0*y0 + z1 = 1 / y1 + r1 = z1.real + x1 = z1.imag + + g1 = p0*g0 + c1 = p0*c0 + i_ka1 = p0*i_ka0 + + net.line.at[idx, "r_ohm_per_km"] = r1 + net.line.at[idx, "parallel"] = 1 + net.line.at[idx, "x_ohm_per_km"] = x1 + net.line.at[idx, "c_nf_per_km"] = c1 + net.line.at[idx, "g_us_per_km"] = g1 + net.line.at[idx, "max_i_ka"] = i_ka1 + + return net + + +def merge_same_bus_generation_plants(net, add_info=True, error=True, + gen_elms=["ext_grid", "gen", "sgen"]): + """ + Merge generation plants connected to the same buses so that a maximum of one generation plants + per node remains. + + ATTENTION: + * gen_elms should always be given in order of slack (1.), PV (2.) and PQ (3.) elements. + + INPUT: + **net** - pandapower net + + OPTIONAL: + **add_info** (bool, True) - If True, the column 'includes_other_plants' is added to the + elements dataframes. This column informs about which lines are the result of a merge of + generation plants. + + **error** (bool, True) - If True, raises an Error, if vm_pu values differ with same buses. + + **gen_elms** (list, ["ext_grid", "gen", "sgen"]) - list of elements to be merged by same + buses. Should be in order of slack (1.), PV (2.) and PQ (3.) elements. + """ + if add_info: + for elm in gen_elms: + # adding column 'includes_other_plants' if missing or overwriting if its no bool column + if "includes_other_plants" not in net[elm].columns or net[elm][ + "includes_other_plants"].dtype != bool: + net[elm]["includes_other_plants"] = False + + # --- construct gen_df with all relevant plants data + limit_cols = ["min_p_mw", "max_p_mw", "min_q_mvar", "max_q_mvar"] + cols = pd.Index(["bus", "vm_pu", "p_mw", "q_mvar"]+limit_cols) + cols_dict = {elm: cols.intersection(net[elm].columns) for elm in gen_elms} + gen_df = pd.concat([net[elm][cols_dict[elm]] for elm in gen_elms]) + gen_df["elm_type"] = np.repeat(gen_elms, [net[elm].shape[0] for elm in gen_elms]) + gen_df.reset_index(inplace=True) + + # --- merge data and drop duplicated rows - directly in the net tables + something_merged = False + for bus in gen_df["bus"].loc[gen_df["bus"].duplicated()].unique(): + idxs = gen_df.index[gen_df.bus == bus] + if len(gen_df.vm_pu.loc[idxs].dropna().unique()) > 1: + message = "Generation plants connected to bus %i have different vm_pu." % bus + if error: + raise ValueError(message) + else: + logger.error(message + " Only the first value is considered.") + uniq_et = gen_df["elm_type"].at[idxs[0]] + uniq_idx = gen_df.at[idxs[0], "index"] + + if add_info: # add includes_other_plants information + net[uniq_et].at[uniq_idx, "includes_other_plants"] = True + + # sum p_mw + col = "p_mw" if uniq_et != "ext_grid" else "p_disp_mw" + net[uniq_et].at[uniq_idx, col] = gen_df.loc[idxs, "p_mw"].sum() + + # sum q_mvar (if available) + if "q_mvar" in net[uniq_et].columns: + net[uniq_et].at[uniq_idx, "q_mvar"] = gen_df.loc[idxs, "q_mvar"].sum() + + # sum limits + for col in limit_cols: + if col in gen_df.columns and not gen_df.loc[idxs, col].isnull().all(): + if col not in net[uniq_et].columns: + net[uniq_et][col] = np.nan + net[uniq_et].at[uniq_idx, col] = gen_df.loc[idxs, col].sum() + + # drop duplicated elements + for elm in gen_df["elm_type"].loc[idxs[1:]].unique(): + dupl_idx_elm = gen_df.loc[gen_df.index.isin(idxs[1:]) & + (gen_df.elm_type == elm), "index"].values + net[elm].drop(dupl_idx_elm, inplace=True) + + something_merged |= True + return something_merged + + def create_replacement_switch_for_branch(net, element, idx): """ Creates a switch parallel to a branch, connecting the same buses as the branch. @@ -2875,210 +3082,3 @@ def get_gc_objects_dict(): _type = type(obj) nums_by_types[_type] = nums_by_types.get(_type, 0) + 1 return nums_by_types - - -def repl_to_line(net, idx, std_type, name=None, in_service=False, **kwargs): - """ - creates a power line in parallel to the existing power line based on the values of the new - std_type. The new parallel line has an impedance value, which is chosen so that the resulting - impedance of the new line and the already existing line is equal to the impedance of the - replaced line. Or for electrical engineers: - - Z0 = impedance of the existing line - Z1 = impedance of the replaced line - Z2 = impedance of the created line - - --- Z2 --- - ---| |--- = --- Z1 --- - --- Z0 --- - - - Parameters - ---------- - net - pandapower net - idx (int) - idx of the existing line - std_type (str) - pandapower standard type - name (str, None) - name of the new power line - in_service (bool, False) - if the new power line is in service - **kwargs - additional line parameters you want to set for the new line - - Returns - ------- - new_idx (int) - index of the created power line - - """ - - # impedance before changing the standard type - r0 = net.line.at[idx, "r_ohm_per_km"] - p0 = net.line.at[idx, "parallel"] - x0 = net.line.at[idx, "x_ohm_per_km"] - c0 = net.line.at[idx, "c_nf_per_km"] - g0 = net.line.at[idx, "g_us_per_km"] - i_ka0 = net.line.at[idx, "max_i_ka"] - bak = net.line.loc[idx, :].values - - change_std_type(net, idx, std_type) - - # impedance after changing the standard type - r1 = net.line.at[idx, "r_ohm_per_km"] - x1 = net.line.at[idx, "x_ohm_per_km"] - c1 = net.line.at[idx, "c_nf_per_km"] - g1 = net.line.at[idx, "g_us_per_km"] - i_ka1 = net.line.at[idx, "max_i_ka"] - - # complex resistance of the line parallel to the existing line - y1 = 1 / complex(r1, x1) - y0 = p0 / complex(r0, x0) - z2 = 1 / (y1 - y0) - - # required parameters - c_nf_per_km = c1 * 1 - c0 * p0 - r_ohm_per_km = z2.real - x_ohm_per_km = z2.imag - g_us_per_km = g1 * 1 - g0 * p0 - max_i_ka = i_ka1 - i_ka0 - name = "repl_" + str(idx) if name is None else name - - # if this line is in service to the existing line, the power flow result should be the same as - # when replacing the existing line with the desired standard type - new_idx = create_line_from_parameters( - net, from_bus=net.line.at[idx, "from_bus"], to_bus=net.line.at[idx, "to_bus"], - length_km=net.line.at[idx, "length_km"], r_ohm_per_km=r_ohm_per_km, - x_ohm_per_km=x_ohm_per_km, c_nf_per_km=c_nf_per_km, max_i_ka=max_i_ka, - g_us_per_km=g_us_per_km, in_service=in_service, name=name, **kwargs) - # restore the previous line parameters before changing the standard type - net.line.loc[idx, :] = bak - - # check switching state and add line switch if necessary: - for bus in net.line.at[idx, "to_bus"], net.line.at[idx, "from_bus"]: - if bus in net.switch[(net.switch.closed == False) & (net.switch.element == idx) & - (net.switch.et == "l")].bus.values: - create_switch(net, bus=bus, element=new_idx, closed=False, et="l", type="LBS") - - return new_idx - - -def merge_parallel_line(net, idx): - """ - Changes the impedances of the parallel line so that it equals a single line. - Args: - net: pandapower net - idx: idx of the line to merge - - Returns: - net - - Z0 = impedance of the existing parallel lines - Z1 = impedance of the respective single line - - --- Z0 --- - ---| |--- = --- Z1 --- - --- Z0 --- - - """ - # impedance before changing the standard type - - r0 = net.line.at[idx, "r_ohm_per_km"] - p0 = net.line.at[idx, "parallel"] - x0 = net.line.at[idx, "x_ohm_per_km"] - c0 = net.line.at[idx, "c_nf_per_km"] - g0 = net.line.at[idx, "g_us_per_km"] - i_ka0 = net.line.at[idx, "max_i_ka"] - - # complex resistance of the line to the existing line - y0 = 1 / complex(r0, x0) - y1 = p0*y0 - z1 = 1 / y1 - r1 = z1.real - x1 = z1.imag - - g1 = p0*g0 - c1 = p0*c0 - i_ka1 = p0*i_ka0 - - net.line.at[idx, "r_ohm_per_km"] = r1 - net.line.at[idx, "parallel"] = 1 - net.line.at[idx, "x_ohm_per_km"] = x1 - net.line.at[idx, "c_nf_per_km"] = c1 - net.line.at[idx, "g_us_per_km"] = g1 - net.line.at[idx, "max_i_ka"] = i_ka1 - - return net - - -def merge_same_bus_generation_plants(net, add_info=True, error=True, - gen_elms=["ext_grid", "gen", "sgen"]): - """ - Merge generation plants connected to the same buses so that a maximum of one generation plants - per node remains. - - ATTENTION: - * gen_elms should always be given in order of slack (1.), PV (2.) and PQ (3.) elements. - - INPUT: - **net** - pandapower net - - OPTIONAL: - **add_info** (bool, True) - If True, the column 'includes_other_plants' is added to the - elements dataframes. This column informs about which lines are the result of a merge of - generation plants. - - **error** (bool, True) - If True, raises an Error, if vm_pu values differ with same buses. - - **gen_elms** (list, ["ext_grid", "gen", "sgen"]) - list of elements to be merged by same - buses. Should be in order of slack (1.), PV (2.) and PQ (3.) elements. - """ - if add_info: - for elm in gen_elms: - # adding column 'includes_other_plants' if missing or overwriting if its no bool column - if "includes_other_plants" not in net[elm].columns or net[elm][ - "includes_other_plants"].dtype != bool: - net[elm]["includes_other_plants"] = False - - # --- construct gen_df with all relevant plants data - limit_cols = ["min_p_mw", "max_p_mw", "min_q_mvar", "max_q_mvar"] - cols = pd.Index(["bus", "vm_pu", "p_mw", "q_mvar"]+limit_cols) - cols_dict = {elm: cols.intersection(net[elm].columns) for elm in gen_elms} - gen_df = pd.concat([net[elm][cols_dict[elm]] for elm in gen_elms]) - gen_df["elm_type"] = np.repeat(gen_elms, [net[elm].shape[0] for elm in gen_elms]) - gen_df.reset_index(inplace=True) - - # --- merge data and drop duplicated rows - directly in the net tables - something_merged = False - for bus in gen_df["bus"].loc[gen_df["bus"].duplicated()].unique(): - idxs = gen_df.index[gen_df.bus == bus] - if len(gen_df.vm_pu.loc[idxs].dropna().unique()) > 1: - message = "Generation plants connected to bus %i have different vm_pu." % bus - if error: - raise ValueError(message) - else: - logger.error(message + " Only the first value is considered.") - uniq_et = gen_df["elm_type"].at[idxs[0]] - uniq_idx = gen_df.at[idxs[0], "index"] - - if add_info: # add includes_other_plants information - net[uniq_et].at[uniq_idx, "includes_other_plants"] = True - - # sum p_mw - col = "p_mw" if uniq_et != "ext_grid" else "p_disp_mw" - net[uniq_et].at[uniq_idx, col] = gen_df.loc[idxs, "p_mw"].sum() - - # sum q_mvar (if available) - if "q_mvar" in net[uniq_et].columns: - net[uniq_et].at[uniq_idx, "q_mvar"] = gen_df.loc[idxs, "q_mvar"].sum() - - # sum limits - for col in limit_cols: - if col in gen_df.columns and not gen_df.loc[idxs, col].isnull().all(): - if col not in net[uniq_et].columns: - net[uniq_et][col] = np.nan - net[uniq_et].at[uniq_idx, col] = gen_df.loc[idxs, col].sum() - - # drop duplicated elements - for elm in gen_df["elm_type"].loc[idxs[1:]].unique(): - dupl_idx_elm = gen_df.loc[gen_df.index.isin(idxs[1:]) & - (gen_df.elm_type == elm), "index"].values - net[elm].drop(dupl_idx_elm, inplace=True) - - something_merged |= True - return something_merged From adc996d31ffef0b2b7561439b1c0c61baa13b116 Mon Sep 17 00:00:00 2001 From: Maryam Majidi <48760814+MMajidi137@users.noreply.github.com> Date: Fri, 24 Sep 2021 12:37:38 +0200 Subject: [PATCH 202/422] update gurobi installation for linux --- doc/opf/powermodels.rst | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/doc/opf/powermodels.rst b/doc/opf/powermodels.rst index a65ff1031..9ca7e5ade 100644 --- a/doc/opf/powermodels.rst +++ b/doc/opf/powermodels.rst @@ -6,7 +6,7 @@ Optimization with PandaModels.jl Installation -------------- -If you are not yet using Julia, install it. Note that you need a version that is supported PowerModels, PyCall and pyjulia for the interface to work. Currently, `Julia 1.5 `_ is the most recent version of Julia that supports all these packages. +If you are not yet using Julia, install it. Note that you need a version that is supported PowerModels, PyCall and pyjulia for the interface to work. Currently, `Julia 1.5 `_ is the most recent version of Julia that supports all these packages. .. note:: You don't necessarily need a Julia IDE if you are using PandaModels through pandapower, but it might help for debugging to install an IDE such as `Juno `_. Also, PyCharm has a Julia Plugin. @@ -45,11 +45,13 @@ Optional additional solvers, such as `Gurobi `__ are co 1. Download and install from `Gurobi download `__ (you'll need an account for this) -2. Get your Gurobi license at `Gurobi license `__ and download it (remember where you stored it). +2. Run the file to get the gurobi folder, e.g., in linux you need to run :code:`tar -xzf gurobi_linux64.tar.gz` -3. Activate the license by calling :code:`grbgetkey YOUR_KEY` as described on the Gurobi license page. +3. Get your Gurobi license at `Gurobi license `__ and download it (remember where you stored it). -4. Add some Gurobi paths and the license path to your local PATH environment variables. In linux you can just open your `.bashrc` file with, e.g., :code:`nano .bashrc` in your home folder and add: +4. Activate the license by calling :code:`grbgetkey YOUR_KEY` as described on the Gurobi license page. + +5. Add some Gurobi paths and the license path to your local PATH environment variables. In linux you can just open your `.bashrc` file with, e.g., :code:`nano .bashrc` in your home folder and add: :: @@ -73,7 +75,7 @@ Optional additional solvers, such as `Gurobi `__ are co export GRB_LICENSE_FILE="/PATH_TO_YOUR_LICENSE_DIR/gurobi.lic" -5. Install the `julia - Gurobi interface `_ with +7. Install the `julia - Gurobi interface `_ and set the GUROBI_HOME environment with :code:`julia -e 'import Pkg; Pkg.add("Gurobi");'` @@ -83,9 +85,9 @@ Optional additional solvers, such as `Gurobi `__ are co inside Julia package mode. -6. Build and test your Gurobi installation by entering :code:`julia` prompt and then :code:`import Pkg; Pkg.build("Gurobi")`. This should compile without an error. +8. Build and test your Gurobi installation by entering :code:`julia` prompt and then :code:`import Pkg; Pkg.build("Gurobi")`. This should compile without an error. -7. Now, you can use Gurobi to solve your linear problems, e.g., the DC OPF, with :code:`runpm_dc_opf(net, pm_model="DCPPowerModel", pm_solver="gurobi")` +9. Now, you can use Gurobi to solve your linear problems, e.g., the DC OPF, with :code:`runpm_dc_opf(net, pm_model="DCPPowerModel", pm_solver="gurobi")` Usage @@ -101,4 +103,4 @@ The usage is explained in the `PowerModels tutorial `__. Additional packages including "juniper" -.. autofunction:: pandapower.runpm_tnep \ No newline at end of file +.. autofunction:: pandapower.runpm_tnep From 72ec5a9dd54511b16266a11c94a1df306512060a Mon Sep 17 00:00:00 2001 From: elodin Date: Mon, 4 Oct 2021 12:11:59 +0200 Subject: [PATCH 203/422] minor linting corrections --- pandapower/results_bus.py | 52 +++++++++++++++++++++------------------ 1 file changed, 28 insertions(+), 24 deletions(-) diff --git a/pandapower/results_bus.py b/pandapower/results_bus.py index 48669ab79..ff733b19f 100644 --- a/pandapower/results_bus.py +++ b/pandapower/results_bus.py @@ -8,7 +8,7 @@ from numpy import complex128 import pandas as pd from pandapower.auxiliary import _sum_by_group, sequence_to_phase, _sum_by_group_nvals -from pandapower.pypower.idx_bus import VM, VA, PD, QD, LAM_P, LAM_Q, BASE_KV,NONE +from pandapower.pypower.idx_bus import VM, VA, PD, QD, LAM_P, LAM_Q, BASE_KV, NONE from pandapower.pypower.idx_gen import PG, QG from pandapower.build_bus import _get_motor_pq, _get_symmetric_pq_of_unsymetric_element @@ -112,6 +112,7 @@ def _get_bus_results_3ph(net, bus_pq): # net["res_bus"].index = net["bus"].index net["res_bus_3ph"].index = net["bus"].index + def write_voltage_dependend_load_results(net, p, q, b): l = net["load"] _is_elements = net["_is_elements"] @@ -171,7 +172,7 @@ def write_pq_results_to_element(net, ppc, element, suffix=None): el_data = net[element] res_ = "res_%s" % element if suffix is not None: - res_ += "_%s"%suffix + res_ += "_%s" % suffix ctrl_ = "%s_controllable" % element is_controllable = False @@ -265,30 +266,30 @@ def write_pq_results_to_element_3ph(net, element): element_in_service = _is_elements[element] - net[res_]["p_a_mw"] = pd.Series((el_data["p_mw"].values/3)\ - * scaling * element_in_service) if element in[ "load","sgen"] else\ - pd.Series(el_data["p_a_mw"].values * scaling * element_in_service) + net[res_]["p_a_mw"] = pd.series( + (el_data["p_mw"].values / 3) * scaling * element_in_service) if element in ["load", "sgen"] \ + else pd.series(el_data["p_a_mw"].values * scaling * element_in_service) - net[res_]["p_b_mw"] = pd.Series((el_data["p_mw"].values/3) \ - * scaling * element_in_service)if element in[ "load","sgen"] else\ - pd.Series(el_data["p_b_mw"].values * scaling * element_in_service) + net[res_]["p_b_mw"] = pd.series( + (el_data["p_mw"].values / 3) * scaling * element_in_service)if element in ["load", "sgen"] \ + else pd.series(el_data["p_b_mw"].values * scaling * element_in_service) - net[res_]["p_c_mw"] = pd.Series((el_data["p_mw"].values/3) \ - * scaling * element_in_service) if element in[ "load","sgen"] else\ - pd.Series(el_data["p_c_mw"].values * scaling * element_in_service) + net[res_]["p_c_mw"] = pd.series( + (el_data["p_mw"].values / 3) * scaling * element_in_service) if element in ["load", "sgen"] \ + else pd.series(el_data["p_c_mw"].values * scaling * element_in_service) if ac: # Q result in kvar to element - net[res_]["q_a_mvar"] = pd.Series((el_data["q_mvar"].values/3)\ - * scaling * element_in_service) if element in[ "load","sgen"] else\ - pd.Series(el_data["q_a_mvar"].values * scaling * element_in_service) + net[res_]["q_a_mvar"] = pd.series( + (el_data["q_mvar"].values / 3) * scaling * element_in_service) if element in ["load", "sgen"] \ + else pd.series(el_data["q_a_mvar"].values * scaling * element_in_service) - net[res_]["q_b_mvar"] = pd.Series((el_data["q_mvar"].values/3)\ - * scaling * element_in_service) if element in[ "load","sgen"] else\ - pd.Series(el_data["q_b_mvar"].values * scaling * element_in_service) + net[res_]["q_b_mvar"] = pd.series( + (el_data["q_mvar"].values / 3) * scaling * element_in_service) if element in ["load", "sgen"] \ + else pd.series(el_data["q_b_mvar"].values * scaling * element_in_service) - net[res_]["q_c_mvar"] = pd.Series((el_data["q_mvar"].values/3)\ - * scaling * element_in_service) if element in[ "load","sgen"] else\ - pd.Series(el_data["q_c_mvar"].values * scaling * element_in_service) + net[res_]["q_c_mvar"] = pd.series( + (el_data["q_mvar"].values / 3) * scaling * element_in_service) if element in ["load", "sgen"] \ + else pd.series(el_data["q_c_mvar"].values * scaling * element_in_service) # update index of result table net[res_].index = net[element].index @@ -299,7 +300,7 @@ def get_p_q_b(net, element, suffix=None): ac = net["_options"]["ac"] res_ = "res_" + element if suffix != None: - res_ += "_%s"%suffix + res_ += "_%s" % suffix # bus values are needed for stacking b = net[element]["bus"].values @@ -307,6 +308,7 @@ def get_p_q_b(net, element, suffix=None): q = net[res_]["q_mvar"] if ac else np.zeros_like(p) return p, q, b + def get_p_q_b_3ph(net, element): ac = net["_options"]["ac"] res_ = "res_" + element+"_3ph" @@ -358,18 +360,19 @@ def _get_p_q_results(net, ppc, bus_lookup_aranged): bus_pq[b_ppc, 1] = vq return bus_pq + def _get_p_q_results_3ph(net, bus_lookup_aranged): # results to be filled (bus, p in kw, q in kvar) bus_pq = np.zeros(shape=(len(net["bus"].index), 6), dtype=np.float) b, pA, pB, pC, qA, qB, qC = np.array([]), np.array([]), np.array([]), np.array([]), \ - np.array([]), np.array([]), np.array([]) + np.array([]), np.array([]), np.array([]) ac = net["_options"]["ac"] # Todo: Voltage dependent loads elements = ["storage", "sgen", "load"] elements_3ph = ["asymmetric_load", "asymmetric_sgen"] for element in elements: - sign = -1 if element in ['sgen','asymmetric_sgen'] else 1 + sign = -1 if element in ['sgen', 'asymmetric_sgen'] else 1 if len(net[element]): write_pq_results_to_element(net, net._ppc1, element, suffix="3ph") p_el, q_el, bus_el = get_p_q_b(net, element, suffix="3ph") @@ -381,7 +384,7 @@ def _get_p_q_results_3ph(net, bus_lookup_aranged): qC = np.hstack([qC, sign * q_el/3 if ac else np.zeros(len(p_el/3))]) b = np.hstack([b, bus_el]) for element in elements_3ph: - sign = -1 if element in ['sgen','asymmetric_sgen'] else 1 + sign = -1 if element in ['sgen', 'asymmetric_sgen'] else 1 if len(net[element]): write_pq_results_to_element_3ph(net, element) p_el_A, q_el_A, p_el_B, q_el_B, p_el_C, q_el_C, bus_el = get_p_q_b_3ph(net, element) @@ -404,6 +407,7 @@ def _get_p_q_results_3ph(net, bus_lookup_aranged): bus_pq[b_ppc, 5] = vq_C return bus_pq + def _get_shunt_results(net, ppc, bus_lookup_aranged, bus_pq): ac = net["_options"]["ac"] From 89025a21006339d6c6ec10db396ba78200af30d4 Mon Sep 17 00:00:00 2001 From: elodin Date: Mon, 4 Oct 2021 13:05:44 +0200 Subject: [PATCH 204/422] Changed dataframe input datatype from pandas.series to list. This solves index issues without breaking the result tables. --- pandapower/results_bus.py | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/pandapower/results_bus.py b/pandapower/results_bus.py index ff733b19f..edbc0a2b8 100644 --- a/pandapower/results_bus.py +++ b/pandapower/results_bus.py @@ -266,30 +266,30 @@ def write_pq_results_to_element_3ph(net, element): element_in_service = _is_elements[element] - net[res_]["p_a_mw"] = pd.series( + net[res_]["p_a_mw"] = list( (el_data["p_mw"].values / 3) * scaling * element_in_service) if element in ["load", "sgen"] \ - else pd.series(el_data["p_a_mw"].values * scaling * element_in_service) + else list(el_data["p_a_mw"].values * scaling * element_in_service) - net[res_]["p_b_mw"] = pd.series( + net[res_]["p_b_mw"] = list( (el_data["p_mw"].values / 3) * scaling * element_in_service)if element in ["load", "sgen"] \ - else pd.series(el_data["p_b_mw"].values * scaling * element_in_service) + else list(el_data["p_b_mw"].values * scaling * element_in_service) - net[res_]["p_c_mw"] = pd.series( + net[res_]["p_c_mw"] = list( (el_data["p_mw"].values / 3) * scaling * element_in_service) if element in ["load", "sgen"] \ - else pd.series(el_data["p_c_mw"].values * scaling * element_in_service) + else list(el_data["p_c_mw"].values * scaling * element_in_service) if ac: # Q result in kvar to element - net[res_]["q_a_mvar"] = pd.series( + net[res_]["q_a_mvar"] = list( (el_data["q_mvar"].values / 3) * scaling * element_in_service) if element in ["load", "sgen"] \ - else pd.series(el_data["q_a_mvar"].values * scaling * element_in_service) + else list(el_data["q_a_mvar"].values * scaling * element_in_service) - net[res_]["q_b_mvar"] = pd.series( + net[res_]["q_b_mvar"] = list( (el_data["q_mvar"].values / 3) * scaling * element_in_service) if element in ["load", "sgen"] \ - else pd.series(el_data["q_b_mvar"].values * scaling * element_in_service) + else list(el_data["q_b_mvar"].values * scaling * element_in_service) - net[res_]["q_c_mvar"] = pd.series( + net[res_]["q_c_mvar"] = list( (el_data["q_mvar"].values / 3) * scaling * element_in_service) if element in ["load", "sgen"] \ - else pd.series(el_data["q_c_mvar"].values * scaling * element_in_service) + else list(el_data["q_c_mvar"].values * scaling * element_in_service) # update index of result table net[res_].index = net[element].index From 02d53ecdf8b109fd062023a38b98371dfb1da61e Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Mon, 4 Oct 2021 15:23:48 +0200 Subject: [PATCH 205/422] merge_same_bus_generation_plants(): tiny fix --- pandapower/toolbox.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandapower/toolbox.py b/pandapower/toolbox.py index 696a252a3..3f5023532 100644 --- a/pandapower/toolbox.py +++ b/pandapower/toolbox.py @@ -1835,7 +1835,7 @@ def merge_same_bus_generation_plants(net, add_info=True, error=True, something_merged = False for bus in gen_df["bus"].loc[gen_df["bus"].duplicated()].unique(): idxs = gen_df.index[gen_df.bus == bus] - if len(gen_df.vm_pu.loc[idxs].dropna().unique()) > 1: + if "vm_pu" in gen_df.columns and len(gen_df.vm_pu.loc[idxs].dropna().unique()) > 1: message = "Generation plants connected to bus %i have different vm_pu." % bus if error: raise ValueError(message) From 59a8bf5dc9cbd530671321f87fd7dd7c15da97af Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Tue, 12 Oct 2021 10:33:38 +0200 Subject: [PATCH 206/422] update element --- doc/shortcircuit/elements.rst | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/doc/shortcircuit/elements.rst b/doc/shortcircuit/elements.rst index 238444726..fb2b82e15 100644 --- a/doc/shortcircuit/elements.rst +++ b/doc/shortcircuit/elements.rst @@ -1,14 +1,14 @@ -.. _sc_elements: -================== -Network Elements -================== - -Correction factors for generator and branch elements are implemented as defined in the IEC 60909 standard. The results for all elements are tested against commercial software to ensure that correction factors are correctly applied. - - -.. toctree:: - :maxdepth: 1 - - voltage_source - current_source - branch_elements +.. _sc_elements: +================== +Network Elements +================== + +Correction factors for generator and branch elements are implemented as defined in the IEC 60909 standard. The results for all elements are tested against commercial software to ensure that correction factors are correctly applied. + + +.. toctree:: + :maxdepth: 1 + + voltage_source + current_source + branch_elements From a8cada8b299aacf3c7869445962bb7e1432ed8b5 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Tue, 12 Oct 2021 13:21:12 +0200 Subject: [PATCH 207/422] add test file --- .../test/opf/test_pandamodels_installation.py | 572 ++++++++++++++++++ 1 file changed, 572 insertions(+) create mode 100644 pandapower/test/opf/test_pandamodels_installation.py diff --git a/pandapower/test/opf/test_pandamodels_installation.py b/pandapower/test/opf/test_pandamodels_installation.py new file mode 100644 index 000000000..eeec76621 --- /dev/null +++ b/pandapower/test/opf/test_pandamodels_installation.py @@ -0,0 +1,572 @@ +# -*- coding: utf-8 -*- +""" +Created on Tue Oct 12 12:52:03 2021 + +@author: x230 +""" +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + +import copy +import json +import os +from functools import partial + +import numpy as np +import pandas as pd +import pytest + +import pandapower as pp +import pandapower.networks as nw +from pandapower.converter.powermodels.from_pm import read_pm_results_to_net +from pandapower.converter.powermodels.to_pm import init_ne_line +from pandapower.pd2ppc import _pd2ppc +from pandapower.test.consistency_checks import consistency_checks +from pandapower.test.toolbox import add_grid_connection, create_test_line +from pandapower.converter import convert_pp_to_pm +from pandapower.test.opf.test_basic import simple_opf_test_net +import pandapower.control +import pandapower.timeseries + +try: + from julia.core import UnsupportedPythonError +except ImportError: + UnsupportedPythonError = Exception +try: + from julia import Main + + julia_installed = True +except (ImportError, RuntimeError, UnsupportedPythonError) as e: + julia_installed = False + print(e) + + +@pytest.fixture +def net_3w_trafo_opf(): + net = pp.create_empty_network() + + # create buses + bus1 = pp.create_bus(net, vn_kv=220.) + bus2 = pp.create_bus(net, vn_kv=110.) + bus3 = pp.create_bus(net, vn_kv=110.) + bus4 = pp.create_bus(net, vn_kv=110.) + bus5 = pp.create_bus(net, vn_kv=110.) + + pp.create_bus(net, vn_kv=110., in_service=False) + + # create 220/110 kV transformer + pp.create_transformer3w_from_parameters(net, bus1, bus2, bus5, vn_hv_kv=220, vn_mv_kv=110, + vn_lv_kv=110, vk_hv_percent=10., vk_mv_percent=10., + vk_lv_percent=10., vkr_hv_percent=0.5, + vkr_mv_percent=0.5, vkr_lv_percent=0.5, pfe_kw=100, + i0_percent=0.1, shift_mv_degree=0, shift_lv_degree=0, + sn_hv_mva=100, sn_mv_mva=50, sn_lv_mva=50) + + # create 110 kV lines + pp.create_line(net, bus2, bus3, length_km=70., std_type='149-AL1/24-ST1A 110.0') + pp.create_line(net, bus3, bus4, length_km=50., std_type='149-AL1/24-ST1A 110.0') + pp.create_line(net, bus4, bus2, length_km=40., std_type='149-AL1/24-ST1A 110.0') + pp.create_line(net, bus4, bus5, length_km=30., std_type='149-AL1/24-ST1A 110.0') + + # create loads + pp.create_load(net, bus2, p_mw=60, controllable=False) + pp.create_load(net, bus3, p_mw=70, controllable=False) + pp.create_sgen(net, bus3, p_mw=10, controllable=False) + + # create generators + pp.create_ext_grid(net, bus1, min_p_mw=0, max_p_mw=1000, max_q_mvar=0.01, min_q_mvar=0) + pp.create_gen(net, bus3, p_mw=80, min_p_mw=0, max_p_mw=80, vm_pu=1.01) + pp.create_gen(net, bus4, p_mw=80, min_p_mw=0, max_p_mw=80, vm_pu=1.01) + net.gen["controllable"] = False + return net + + +@pytest.mark.slow +@pytest.mark.skipif(julia_installed == False, reason="requires julia installation") +def test_compare_pwl_and_poly(net_3w_trafo_opf): + net = net_3w_trafo_opf + net.ext_grid.loc[:, "min_p_mw"] = -999. + net.ext_grid.loc[:, "max_p_mw"] = 999. + net.ext_grid.loc[:, "max_q_mvar"] = 999. + net.ext_grid.loc[:, "min_q_mvar"] = -999. + pp.create_pwl_cost(net, 0, 'ext_grid', [[0, 1, 1]]) + pp.create_pwl_cost(net, 0, 'gen', [[0, 30, 3], [30, 80, 3]]) + pp.create_pwl_cost(net, 1, 'gen', [[0, 80, 2]]) + net.bus.loc[:, "max_vm_pu"] = 1.1 + net.bus.loc[:, "min_vm_pu"] = .9 + pp.runpm_ac_opf(net) + consistency_checks(net) + + p_gen = net.res_gen.p_mw.values + q_gen = net.res_gen.q_mvar.values + vm_bus = net.res_bus.vm_pu.values + va_bus = net.res_bus.va_degree.values + + net.pwl_cost.drop(net.pwl_cost.index, inplace=True) + + pp.create_poly_cost(net, 0, 'ext_grid', cp1_eur_per_mw=1) + pp.create_poly_cost(net, 0, 'gen', cp1_eur_per_mw=3) + pp.create_poly_cost(net, 1, 'gen', cp1_eur_per_mw=2) + + # pp.runopp(net) + pp.runpm_ac_opf(net, correct_pm_network_data=False) + consistency_checks(net) + + np.allclose(p_gen, net.res_gen.p_mw.values) + np.allclose(q_gen, net.res_gen.q_mvar.values) + np.allclose(vm_bus, net.res_bus.vm_pu.values) + np.allclose(va_bus, net.res_bus.va_degree.values) + + # pp.rundcopp(net) + pp.runpm_dc_opf(net, correct_pm_network_data=False) + consistency_checks(net, test_q=False) + + np.allclose(p_gen, net.res_gen.p_mw.values) + np.allclose(va_bus, net.res_bus.va_degree.values) + + +@pytest.mark.slow +@pytest.mark.skipif(julia_installed == False, reason="requires julia installation") +def test_pwl(): + net = pp.create_empty_network() + + # create buses + bus1 = pp.create_bus(net, vn_kv=110., min_vm_pu=0.9, max_vm_pu=1.1) + bus2 = pp.create_bus(net, vn_kv=110., min_vm_pu=0.9, max_vm_pu=1.1) + bus3 = pp.create_bus(net, vn_kv=110., min_vm_pu=0.9, max_vm_pu=1.1) + + # create 110 kV lines + pp.create_line(net, bus1, bus2, length_km=50., std_type='149-AL1/24-ST1A 110.0') + pp.create_line(net, bus2, bus3, length_km=50., std_type='149-AL1/24-ST1A 110.0') + + # create loads + pp.create_load(net, bus2, p_mw=80, controllable=False) + + # create generators + g1 = pp.create_gen(net, bus1, p_mw=80, min_p_mw=0, max_p_mw=80, vm_pu=1.01, slack=True) + g2 = pp.create_gen(net, bus3, p_mw=80, min_p_mw=0, max_p_mw=80, vm_pu=1.01) + # net.gen["controllable"] = False + + pp.create_pwl_cost(net, g1, 'gen', [[0, 2, 2], [2, 80, 5]]) + pp.create_pwl_cost(net, g2, 'gen', [[0, 2, 2], [2, 80, 5]]) + + pp.runpm_ac_opf(net) + consistency_checks(net, rtol=1e-3) + assert np.isclose(net.res_gen.p_mw.iloc[0], net.res_gen.p_mw.iloc[1]) + assert np.isclose(net.res_gen.q_mvar.iloc[0], net.res_gen.q_mvar.iloc[1]) + + net.pwl_cost.drop(net.pwl_cost.index, inplace=True) + g3 = pp.create_gen(net, bus1, p_mw=80, min_p_mw=0, max_p_mw=80, vm_pu=1.01) + + pp.create_pwl_cost(net, g1, 'gen', [[0, 2, 1.], [2, 80, 8.]]) + pp.create_pwl_cost(net, g2, 'gen', [[0, 3, 2.], [3, 80, 14]]) + pp.create_pwl_cost(net, g3, 'gen', [[0, 1, 3.], [1, 80, 10.]]) + + net.load.p_mw = 1 + pp.runpm_ac_opf(net) + consistency_checks(net, rtol=1e-3) + assert np.isclose(net.res_gen.p_mw.at[g2], 0) + assert np.isclose(net.res_gen.p_mw.at[g3], 0) + assert np.isclose(net.res_cost, net.res_gen.p_mw.at[g1], atol=1e-4) + + net.load.p_mw = 3 + pp.runpm_ac_opf(net) + consistency_checks(net, rtol=1e-3) + assert np.isclose(net.res_gen.p_mw.at[g3], 0) + assert np.isclose(net.res_gen.p_mw.at[g1], 2) + assert np.isclose(net.res_cost, net.res_gen.p_mw.at[g1] + net.res_gen.p_mw.at[g2] * 2, atol=1e-4) + + net.load.p_mw = 5 + pp.runpm_ac_opf(net) + consistency_checks(net, rtol=1e-3) + assert np.isclose(net.res_gen.p_mw.at[g1], 2) + assert np.isclose(net.res_gen.p_mw.at[g2], 3) + assert np.isclose(net.res_cost, net.res_gen.p_mw.at[g1] + net.res_gen.p_mw.at[g2] * 2 + + net.res_gen.p_mw.at[g3] * 3, atol=1e-4) + + +@pytest.mark.slow +@pytest.mark.skipif(julia_installed == False, reason="requires julia installation") +def test_without_ext_grid(): + net = pp.create_empty_network() + + min_vm_pu = 0.95 + max_vm_pu = 1.05 + + # create buses + bus1 = pp.create_bus(net, vn_kv=220., geodata=(5, 9)) + bus2 = pp.create_bus(net, vn_kv=110., geodata=(6, 10), min_vm_pu=min_vm_pu, max_vm_pu=max_vm_pu) + bus3 = pp.create_bus(net, vn_kv=110., geodata=(10, 9), min_vm_pu=min_vm_pu, max_vm_pu=max_vm_pu) + bus4 = pp.create_bus(net, vn_kv=110., geodata=(8, 8), min_vm_pu=min_vm_pu, max_vm_pu=max_vm_pu) + bus5 = pp.create_bus(net, vn_kv=110., geodata=(6, 8), min_vm_pu=min_vm_pu, max_vm_pu=max_vm_pu) + + # create 220/110/110 kV 3W-transformer + pp.create_transformer3w_from_parameters(net, bus1, bus2, bus5, vn_hv_kv=220, vn_mv_kv=110, + vn_lv_kv=110, vk_hv_percent=10., vk_mv_percent=10., + vk_lv_percent=10., vkr_hv_percent=0.5, + vkr_mv_percent=0.5, vkr_lv_percent=0.5, pfe_kw=100, + i0_percent=0.1, shift_mv_degree=0, shift_lv_degree=0, + sn_hv_mva=100, sn_mv_mva=50, sn_lv_mva=50) + + # create 110 kV lines + pp.create_line(net, bus2, bus3, length_km=70., std_type='149-AL1/24-ST1A 110.0') + pp.create_line(net, bus3, bus4, length_km=50., std_type='149-AL1/24-ST1A 110.0') + pp.create_line(net, bus4, bus2, length_km=40., std_type='149-AL1/24-ST1A 110.0') + pp.create_line(net, bus4, bus5, length_km=30., std_type='149-AL1/24-ST1A 110.0') + + # create loads + pp.create_load(net, bus2, p_mw=60, controllable=False) + pp.create_load(net, bus3, p_mw=70, controllable=False) + pp.create_load(net, bus4, p_mw=10, controllable=False) + + # create generators + g1 = pp.create_gen(net, bus1, p_mw=40, min_p_mw=0, min_q_mvar=-20, max_q_mvar=20, slack=True, min_vm_pu=min_vm_pu, + max_vm_pu=max_vm_pu) + pp.create_poly_cost(net, g1, 'gen', cp1_eur_per_mw=1000) + + g2 = pp.create_gen(net, bus3, p_mw=40, min_p_mw=0, min_q_mvar=-20, max_q_mvar=20, vm_pu=1.01, + min_vm_pu=min_vm_pu, max_vm_pu=max_vm_pu, max_p_mw=40.) + pp.create_poly_cost(net, g2, 'gen', cp1_eur_per_mw=2000) + + g3 = pp.create_gen(net, bus4, p_mw=0.050, min_p_mw=0, min_q_mvar=-20, max_q_mvar=20, vm_pu=1.01, + min_vm_pu=min_vm_pu, + max_vm_pu=max_vm_pu, max_p_mw=0.05) + pp.create_poly_cost(net, g3, 'gen', cp1_eur_per_mw=3000) + + pp.runpm_ac_opf(net) + consistency_checks(net, rtol=1e-3) + assert np.isclose(net.res_gen.p_mw.at[g2], 0, atol=1e-5, rtol=1e-5) + assert np.isclose(net.res_gen.p_mw.at[g3], 0, atol=1e-5, rtol=1e-5) + assert np.isclose(net.res_cost, net.res_gen.p_mw.at[g1] * 1e3) + net.trafo3w["max_loading_percent"] = 150. + + pp.runpm_ac_opf(net) + consistency_checks(net, rtol=1e-3) + assert 149. < net.res_trafo3w.loading_percent.values[0] < 150.01 + assert np.isclose(net.res_cost, net.res_gen.p_mw.at[g1] * 1e3 + net.res_gen.p_mw.at[g2] * 2e3) + + pp.runpm_dc_opf(net) + consistency_checks(net, rtol=1e-3, test_q=False) + assert 149. < net.res_trafo3w.loading_percent.values[0] < 150.01 + assert np.isclose(net.res_cost, net.res_gen.p_mw.at[g1] * 1e3 + net.res_gen.p_mw.at[g2] * 2e3) + + +@pytest.mark.slow +@pytest.mark.skipif(julia_installed == False, reason="requires julia installation") +def test_multiple_ext_grids(): + net = pp.create_empty_network() + # generate three ext grids + b11, b12, l11 = add_grid_connection(net, vn_kv=110.) + b21, b22, l21 = add_grid_connection(net, vn_kv=110.) + b31, b32, l31 = add_grid_connection(net, vn_kv=110.) + # connect them + l12_22 = create_test_line(net, b12, b22) + l22_32 = create_test_line(net, b22, b32) + + # create load and sgen to optimize + pp.create_load(net, b12, p_mw=60) + + g3 = pp.create_sgen(net, b12, p_mw=50, min_p_mw=20, max_p_mw=200, controllable=True) + pp.create_poly_cost(net, g3, 'sgen', cp1_eur_per_mw=10.) + # set positive costs for ext_grid -> minimize ext_grid usage + ext_grids = net.ext_grid.index + net["ext_grid"].loc[0, "vm_pu"] = .99 + net["ext_grid"].loc[1, "vm_pu"] = 1.0 + net["ext_grid"].loc[2, "vm_pu"] = 1.01 + for idx in ext_grids: + # eg = net["ext_grid"].loc[idx] + pp.create_poly_cost(net, idx, 'ext_grid', cp1_eur_per_mw=10.) + + pp.runpm_ac_opf(net) + assert np.allclose(net.res_sgen.loc[0, "p_mw"], 60.) + + +@pytest.mark.slow +@pytest.mark.skipif(julia_installed == False, reason="requires julia installation") +def test_voltage_angles(): + net = pp.create_empty_network() + b1, b2, l1 = add_grid_connection(net, vn_kv=110.) + b3 = pp.create_bus(net, vn_kv=20.) + b4 = pp.create_bus(net, vn_kv=10.) + b5 = pp.create_bus(net, vn_kv=10., in_service=False) + tidx = pp.create_transformer3w( + net, b2, b3, b4, std_type='63/25/38 MVA 110/20/10 kV', max_loading_percent=120) + pp.create_load(net, b3, p_mw=5, controllable=False) + load_id = pp.create_load(net, b4, p_mw=5, controllable=True, max_p_mw=25, min_p_mw=0, min_q_mvar=-1e-6, + max_q_mvar=1e-6) + pp.create_poly_cost(net, 0, "ext_grid", cp1_eur_per_mw=1) + pp.create_poly_cost(net, load_id, "load", cp1_eur_per_mw=1000) + net.trafo3w.shift_lv_degree.at[tidx] = 10 + net.trafo3w.shift_mv_degree.at[tidx] = 30 + net.bus.loc[:, "max_vm_pu"] = 1.1 + net.bus.loc[:, "min_vm_pu"] = .9 + + # custom_file = os.path.join(pp_dir, "opf", "PpPmInterface", "src", "pm_models", "run_powermodels.jl") + custom_file = "run_powermodels_custom" #custom_file = os.path.join(os.path.abspath(os.path.dirname(pp.test.__file__)),"test_files", "run_powermodels_custom.jl") + + # load is zero since costs are high. PF results should be the same as OPF + net.load.loc[1, "p_mw"] = 0. + pp.runpp(net, calculate_voltage_angles=True) + va_degree = net.res_bus.loc[:, "va_degree"].values + vm_pu = net.res_bus.loc[:, "vm_pu"].values + loading3w = net.res_trafo3w.loc[:, "loading_percent"].values + + for run in [pp.runpm_ac_opf, partial(pp.runpm, julia_file=custom_file)]: + run(net, calculate_voltage_angles=True) + consistency_checks(net) + + assert 30. < (net.res_bus.va_degree.at[b1] - net.res_bus.va_degree.at[b3]) % 360 < 32. + assert 10. < (net.res_bus.va_degree.at[b1] - net.res_bus.va_degree.at[b4]) % 360 < 11. + assert np.isnan(net.res_bus.va_degree.at[b5]) + assert np.allclose(net.res_bus.va_degree.values, va_degree, atol=1e-6, rtol=1e-6, equal_nan=True) + assert np.allclose(net.res_bus.vm_pu.values, vm_pu, atol=1e-6, rtol=1e-6, equal_nan=True) + assert np.allclose(net.res_trafo3w.loading_percent, loading3w, atol=1e-2, rtol=1e-2, equal_nan=True) + + + +def tnep_grid(): + net = pp.create_empty_network() + + min_vm_pu = 0.95 + max_vm_pu = 1.05 + + # create buses + bus1 = pp.create_bus(net, vn_kv=110., geodata=(5, 9), min_vm_pu=min_vm_pu, max_vm_pu=max_vm_pu) + bus2 = pp.create_bus(net, vn_kv=110., geodata=(6, 10), min_vm_pu=min_vm_pu, max_vm_pu=max_vm_pu) + bus3 = pp.create_bus(net, vn_kv=110., geodata=(10, 9), min_vm_pu=min_vm_pu, max_vm_pu=max_vm_pu) + bus4 = pp.create_bus(net, vn_kv=110., geodata=(8, 8), min_vm_pu=min_vm_pu, max_vm_pu=max_vm_pu) + + # create 110 kV lines + pp.create_line(net, bus1, bus2, length_km=70., std_type='149-AL1/24-ST1A 110.0') + pp.create_line(net, bus1, bus3, length_km=50., std_type='149-AL1/24-ST1A 110.0') + pp.create_line(net, bus1, bus4, length_km=100., std_type='149-AL1/24-ST1A 110.0') + + # create loads + pp.create_load(net, bus2, p_mw=60) + pp.create_load(net, bus3, p_mw=70) + pp.create_load(net, bus4, p_mw=50) + + # create generators + g1 = pp.create_gen(net, bus1, p_mw=9.513270, min_p_mw=0, max_p_mw=200, vm_pu=1.01, slack=True) + pp.create_poly_cost(net, g1, 'gen', cp1_eur_per_mw=1) + + g2 = pp.create_gen(net, bus2, p_mw=78.403291, min_p_mw=0, max_p_mw=200, vm_pu=1.01) + pp.create_poly_cost(net, g2, 'gen', cp1_eur_per_mw=3) + + g3 = pp.create_gen(net, bus3, p_mw=92.375601, min_p_mw=0, max_p_mw=200, vm_pu=1.01) + pp.create_poly_cost(net, g3, 'gen', cp1_eur_per_mw=3) + + net.line["max_loading_percent"] = 20 + + # possible new lines (set out of service in line DataFrame) + l1 = pp.create_line(net, bus1, bus4, 10., std_type="305-AL1/39-ST1A 110.0", name="new_line1", + max_loading_percent=20., in_service=False) + l2 = pp.create_line(net, bus2, bus4, 20., std_type="149-AL1/24-ST1A 110.0", name="new_line2", + max_loading_percent=20., in_service=False) + l3 = pp.create_line(net, bus3, bus4, 30., std_type='149-AL1/24-ST1A 110.0', name="new_line3", + max_loading_percent=20., in_service=False) + l4 = pp.create_line(net, bus3, bus4, 40., std_type='149-AL1/24-ST1A 110.0', name="new_line4", + max_loading_percent=20., in_service=False) + + new_line_index = [l1, l2, l3, l4] + construction_costs = [10., 20., 30., 45.] + # create new line dataframe + init_ne_line(net, new_line_index, construction_costs) + + return net + + +@pytest.mark.slow +@pytest.mark.skipif(julia_installed == False, reason="requires julia installation") +def test_pm_tnep(): + net = tnep_grid() + # check if max line loading percent is violated (should be) + pp.runpp(net) + assert np.any(net["res_line"].loc[:, "loading_percent"] > + net["line"].loc[:, "max_loading_percent"]) + + # run power models tnep optimization + pp.runpm_tnep(net, pm_model="ACPPowerModel") + # set lines to be built in service + lines_to_built = net["res_ne_line"].loc[net["res_ne_line"].loc[:, "built"], "built"].index + net["line"].loc[lines_to_built, "in_service"] = True + # run a power flow calculation again and check if max_loading percent is still violated + pp.runpp(net) + # check max line loading results + assert not np.any(net["res_line"].loc[:, "loading_percent"] > + net["line"].loc[:, "max_loading_percent"]) + + +@pytest.mark.slow +@pytest.mark.skipif(julia_installed == False, reason="requires julia installation") +@pytest.mark.xfail(reason="experimental. SOC is wrong since update") +def test_storage_opt(): + net = nw.case5() + pp.create_storage(net, 2, p_mw=1., max_e_mwh=.2, soc_percent=100., q_mvar=1.) + pp.create_storage(net, 3, p_mw=1., max_e_mwh=.3, soc_percent=100., q_mvar=1.) + + # optimize for 24 time steps. At the end the SOC is 0% + storage_results = pp.runpm_storage_opf(net, n_timesteps=24) + assert np.allclose(storage_results[0].loc[22, "soc_mwh"], 0.004960, rtol=1e-4, atol=1e-4) + assert np.allclose(storage_results[0].loc[23, "soc_mwh"], 0.) + assert np.allclose(storage_results[1].loc[22, "soc_percent"], 29.998074, rtol=1e-4, atol=1e-4) + assert np.allclose(storage_results[1].loc[23, "soc_mwh"], 0.) + + +@pytest.mark.slow +@pytest.mark.skipif(julia_installed == False, reason="requires julia installation") +def test_ots_opt(): + net = nw.case5() + branch_status = net["line"].loc[:, "in_service"].values + assert np.array_equal(np.array([1, 1, 1, 1, 1, 1]).astype(bool), branch_status.astype(bool)) + pp.runpm_ots(net) + branch_status = net["res_line"].loc[:, "in_service"].values + pp.runpp(net) + net.line.loc[:, "in_service"] = branch_status.astype(bool) + pp.runpp(net) + try: + assert np.array_equal(np.array([1, 1, 1, 0, 1, 0]).astype(bool), branch_status.astype(bool)) + except AssertionError: + assert np.array_equal(np.array([0, 1, 1, 1, 1, 0]).astype(bool), branch_status.astype(bool)) + + +def assert_pf(net, dc=False): + # custom_file = os.path.join(os.path.abspath(os.path.dirname(pp.__file__)), + # "opf", "run_powermodels_powerflow.jl") + # custom_file = os.path.join(pp_dir, "opf", "PpPmInterface", "src", "pm_models", "run_powermodels.jl") + + custom_file = "run_powermodels_powerflow" + + if dc: + # see https://github.com/lanl-ansi/PowerModels.jl/issues/612 for details + pp.runpm(net, julia_file=custom_file, pm_model="DCMPPowerModel") + else: + pp.runpm(net, julia_file=custom_file, pm_model="ACPPowerModel") + + va_pm = copy.copy(net.res_bus.va_degree) + vm_pm = copy.copy(net.res_bus.vm_pu) + + if dc: + pp.rundcpp(net, calculate_voltage_angles=True) + else: + pp.runpp(net, calculate_voltage_angles=True) + va_pp = copy.copy(net.res_bus.va_degree) + vm_pp = copy.copy(net.res_bus.vm_pu) + + assert np.allclose(va_pm, va_pp) + if not dc: + assert np.allclose(vm_pm, vm_pp) + + +@pytest.mark.skipif(julia_installed == False, reason="requires julia installation") +def test_pm_ac_powerflow_simple(): + net = nw.simple_four_bus_system() + net.trafo.loc[0, "shift_degree"] = 0. + assert_pf(net) + + +@pytest.mark.skipif(julia_installed == False, reason="requires julia installation") +@pytest.mark.xfail(reason="DCMPPowerModel not released yet") +def test_pm_dc_powerflow_simple(): + net = nw.simple_four_bus_system() + net.trafo.loc[0, "shift_degree"] = 0. + assert_pf(net, dc=True) + + +@pytest.mark.skipif(julia_installed == False, reason="requires julia installation") +def test_pm_ac_powerflow_shunt(): + net = nw.simple_four_bus_system() + pp.create_shunt(net, 2, q_mvar=-0.5) + net.trafo.loc[0, "shift_degree"] = 0. + assert_pf(net) + + +@pytest.mark.skipif(julia_installed == False, reason="requires julia installation") +@pytest.mark.xfail(reason="DCMPPowerModel not released yet") +def test_pm_dc_powerflow_shunt(): + net = nw.simple_four_bus_system() + pp.create_shunt(net, 2, q_mvar=-0.5) + net.trafo.loc[0, "shift_degree"] = 0. + assert_pf(net, dc=True) + + +@pytest.mark.skipif(julia_installed == False, reason="requires julia installation") +def test_pm_ac_powerflow_tap(): + net = nw.simple_four_bus_system() + net.trafo.loc[0, "shift_degree"] = 30. + net.trafo.loc[0, "tap_pos"] = -2. + assert_pf(net) + + +@pytest.mark.skipif(julia_installed == False, reason="requires julia installation") +@pytest.mark.xfail(reason="DCMPPowerModel not released yet") +def test_pm_dc_powerflow_tap(): + net = nw.simple_four_bus_system() + net.trafo.loc[0, "shift_degree"] = 0. + assert_pf(net, dc=True) + net.trafo.loc[0, "shift_degree"] = 30. + net.trafo.loc[0, "tap_pos"] = -2. + assert_pf(net, dc=True) + + +def test_pp_to_pm_conversion(net_3w_trafo_opf): + # tests if the conversion to power models works + net = net_3w_trafo_opf + pm_S = convert_pp_to_pm(net) + pm_I = convert_pp_to_pm(net, opf_flow_lim="I") + + + +def test_pm_to_pp_conversion(simple_opf_test_net): + # this tests checks if the runopp results are the same as the ones from powermodels. + # Results are read from a result file containing the simple_opf_test_net + + net = simple_opf_test_net + pp.create_poly_cost(net, 0, "gen", cp1_eur_per_mw=100) + + # get pandapower opf results + pp.runopp(net, delta=1e-13) + va_degree = copy.deepcopy(net.res_bus.va_degree) + vm_pu = copy.deepcopy(net.res_bus.vm_pu) + + # get previously calculated power models results + pm_res_file = os.path.join(os.path.abspath(os.path.dirname(pp.test.__file__)), + "test_files", "pm_example_res.json") + + with open(pm_res_file, "r") as fp: + result_pm = json.load(fp) + net._options["correct_pm_network_data"] = True + ppc, ppci = _pd2ppc(net) + read_pm_results_to_net(net, ppc, ppci, result_pm) + assert np.allclose(net.res_bus.vm_pu, vm_pu, atol=1e-4) + assert np.allclose(net.res_bus.va_degree, va_degree, atol=1e-2, rtol=1e-2) + + +@pytest.mark.skipif(not julia_installed, reason="requires julia installation") +def test_timeseries_powermodels(): + profiles = pd.DataFrame() + n_timesteps = 3 + profiles['load1'] = np.random.random(n_timesteps) * 2e1 + ds = pp.timeseries.DFData(profiles) + + net = nw.simple_four_bus_system() + time_steps = range(3) + pp.control.ConstControl(net, 'load', 'p_mw', element_index=0, data_source=ds, profile_name='load1', scale_factor=0.85) + net.load['controllable'] = False + pp.timeseries.run_timeseries(net, time_steps, continue_on_divergence=True, verbose=False, recycle=False, run=pp.runpm_dc_opf) + + +if __name__ == '__main__': + # all run_powermodels_custom are setting julia_file to run_powermodels.jl + # test_pwl() + # test_without_ext_grid() + # test_multiple_ext_grids() + # test_ots_opt() + # test_pm_tnep() + # test_compare_pwl_and_poly(net_3w_trafo_opf) + # test_storage_opt() # missing net._options["opf_flow_lim"] + # test_voltage_angles() + # test_timeseries_powermodels() + pytest.main([__file__]) From 00a6592d13f5a88f4a0c904b90ab58cc07bc05d1 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Tue, 12 Oct 2021 13:29:33 +0200 Subject: [PATCH 208/422] reset --- doc/shortcircuit/run.rst | 21 - .../test/opf/test_pandamodels_installation.py | 572 ------------------ 2 files changed, 593 deletions(-) delete mode 100644 doc/shortcircuit/run.rst delete mode 100644 pandapower/test/opf/test_pandamodels_installation.py diff --git a/doc/shortcircuit/run.rst b/doc/shortcircuit/run.rst deleted file mode 100644 index c71fcc910..000000000 --- a/doc/shortcircuit/run.rst +++ /dev/null @@ -1,21 +0,0 @@ -==================================== -Running a Short-Circuit Calculation -==================================== - -The short circuit calculation is carried out with the calc_sc function: - -.. autofunction:: pandapower.shortcircuit.calc_sc - - -.. code:: python - - import pandapower.shortcircuit as sc - import pandapower.networks as nw - - net = nw.mv_oberrhein() - net.ext_grid["s_sc_min_mva"] = 100 - net.ext_grid["rx_min"] = 0.1 - - net.line["endtemp_degree"] = 20 - sc.calc_sc(net, case="min") - print(net.res_bus_sc) \ No newline at end of file diff --git a/pandapower/test/opf/test_pandamodels_installation.py b/pandapower/test/opf/test_pandamodels_installation.py deleted file mode 100644 index eeec76621..000000000 --- a/pandapower/test/opf/test_pandamodels_installation.py +++ /dev/null @@ -1,572 +0,0 @@ -# -*- coding: utf-8 -*- -""" -Created on Tue Oct 12 12:52:03 2021 - -@author: x230 -""" -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - -import copy -import json -import os -from functools import partial - -import numpy as np -import pandas as pd -import pytest - -import pandapower as pp -import pandapower.networks as nw -from pandapower.converter.powermodels.from_pm import read_pm_results_to_net -from pandapower.converter.powermodels.to_pm import init_ne_line -from pandapower.pd2ppc import _pd2ppc -from pandapower.test.consistency_checks import consistency_checks -from pandapower.test.toolbox import add_grid_connection, create_test_line -from pandapower.converter import convert_pp_to_pm -from pandapower.test.opf.test_basic import simple_opf_test_net -import pandapower.control -import pandapower.timeseries - -try: - from julia.core import UnsupportedPythonError -except ImportError: - UnsupportedPythonError = Exception -try: - from julia import Main - - julia_installed = True -except (ImportError, RuntimeError, UnsupportedPythonError) as e: - julia_installed = False - print(e) - - -@pytest.fixture -def net_3w_trafo_opf(): - net = pp.create_empty_network() - - # create buses - bus1 = pp.create_bus(net, vn_kv=220.) - bus2 = pp.create_bus(net, vn_kv=110.) - bus3 = pp.create_bus(net, vn_kv=110.) - bus4 = pp.create_bus(net, vn_kv=110.) - bus5 = pp.create_bus(net, vn_kv=110.) - - pp.create_bus(net, vn_kv=110., in_service=False) - - # create 220/110 kV transformer - pp.create_transformer3w_from_parameters(net, bus1, bus2, bus5, vn_hv_kv=220, vn_mv_kv=110, - vn_lv_kv=110, vk_hv_percent=10., vk_mv_percent=10., - vk_lv_percent=10., vkr_hv_percent=0.5, - vkr_mv_percent=0.5, vkr_lv_percent=0.5, pfe_kw=100, - i0_percent=0.1, shift_mv_degree=0, shift_lv_degree=0, - sn_hv_mva=100, sn_mv_mva=50, sn_lv_mva=50) - - # create 110 kV lines - pp.create_line(net, bus2, bus3, length_km=70., std_type='149-AL1/24-ST1A 110.0') - pp.create_line(net, bus3, bus4, length_km=50., std_type='149-AL1/24-ST1A 110.0') - pp.create_line(net, bus4, bus2, length_km=40., std_type='149-AL1/24-ST1A 110.0') - pp.create_line(net, bus4, bus5, length_km=30., std_type='149-AL1/24-ST1A 110.0') - - # create loads - pp.create_load(net, bus2, p_mw=60, controllable=False) - pp.create_load(net, bus3, p_mw=70, controllable=False) - pp.create_sgen(net, bus3, p_mw=10, controllable=False) - - # create generators - pp.create_ext_grid(net, bus1, min_p_mw=0, max_p_mw=1000, max_q_mvar=0.01, min_q_mvar=0) - pp.create_gen(net, bus3, p_mw=80, min_p_mw=0, max_p_mw=80, vm_pu=1.01) - pp.create_gen(net, bus4, p_mw=80, min_p_mw=0, max_p_mw=80, vm_pu=1.01) - net.gen["controllable"] = False - return net - - -@pytest.mark.slow -@pytest.mark.skipif(julia_installed == False, reason="requires julia installation") -def test_compare_pwl_and_poly(net_3w_trafo_opf): - net = net_3w_trafo_opf - net.ext_grid.loc[:, "min_p_mw"] = -999. - net.ext_grid.loc[:, "max_p_mw"] = 999. - net.ext_grid.loc[:, "max_q_mvar"] = 999. - net.ext_grid.loc[:, "min_q_mvar"] = -999. - pp.create_pwl_cost(net, 0, 'ext_grid', [[0, 1, 1]]) - pp.create_pwl_cost(net, 0, 'gen', [[0, 30, 3], [30, 80, 3]]) - pp.create_pwl_cost(net, 1, 'gen', [[0, 80, 2]]) - net.bus.loc[:, "max_vm_pu"] = 1.1 - net.bus.loc[:, "min_vm_pu"] = .9 - pp.runpm_ac_opf(net) - consistency_checks(net) - - p_gen = net.res_gen.p_mw.values - q_gen = net.res_gen.q_mvar.values - vm_bus = net.res_bus.vm_pu.values - va_bus = net.res_bus.va_degree.values - - net.pwl_cost.drop(net.pwl_cost.index, inplace=True) - - pp.create_poly_cost(net, 0, 'ext_grid', cp1_eur_per_mw=1) - pp.create_poly_cost(net, 0, 'gen', cp1_eur_per_mw=3) - pp.create_poly_cost(net, 1, 'gen', cp1_eur_per_mw=2) - - # pp.runopp(net) - pp.runpm_ac_opf(net, correct_pm_network_data=False) - consistency_checks(net) - - np.allclose(p_gen, net.res_gen.p_mw.values) - np.allclose(q_gen, net.res_gen.q_mvar.values) - np.allclose(vm_bus, net.res_bus.vm_pu.values) - np.allclose(va_bus, net.res_bus.va_degree.values) - - # pp.rundcopp(net) - pp.runpm_dc_opf(net, correct_pm_network_data=False) - consistency_checks(net, test_q=False) - - np.allclose(p_gen, net.res_gen.p_mw.values) - np.allclose(va_bus, net.res_bus.va_degree.values) - - -@pytest.mark.slow -@pytest.mark.skipif(julia_installed == False, reason="requires julia installation") -def test_pwl(): - net = pp.create_empty_network() - - # create buses - bus1 = pp.create_bus(net, vn_kv=110., min_vm_pu=0.9, max_vm_pu=1.1) - bus2 = pp.create_bus(net, vn_kv=110., min_vm_pu=0.9, max_vm_pu=1.1) - bus3 = pp.create_bus(net, vn_kv=110., min_vm_pu=0.9, max_vm_pu=1.1) - - # create 110 kV lines - pp.create_line(net, bus1, bus2, length_km=50., std_type='149-AL1/24-ST1A 110.0') - pp.create_line(net, bus2, bus3, length_km=50., std_type='149-AL1/24-ST1A 110.0') - - # create loads - pp.create_load(net, bus2, p_mw=80, controllable=False) - - # create generators - g1 = pp.create_gen(net, bus1, p_mw=80, min_p_mw=0, max_p_mw=80, vm_pu=1.01, slack=True) - g2 = pp.create_gen(net, bus3, p_mw=80, min_p_mw=0, max_p_mw=80, vm_pu=1.01) - # net.gen["controllable"] = False - - pp.create_pwl_cost(net, g1, 'gen', [[0, 2, 2], [2, 80, 5]]) - pp.create_pwl_cost(net, g2, 'gen', [[0, 2, 2], [2, 80, 5]]) - - pp.runpm_ac_opf(net) - consistency_checks(net, rtol=1e-3) - assert np.isclose(net.res_gen.p_mw.iloc[0], net.res_gen.p_mw.iloc[1]) - assert np.isclose(net.res_gen.q_mvar.iloc[0], net.res_gen.q_mvar.iloc[1]) - - net.pwl_cost.drop(net.pwl_cost.index, inplace=True) - g3 = pp.create_gen(net, bus1, p_mw=80, min_p_mw=0, max_p_mw=80, vm_pu=1.01) - - pp.create_pwl_cost(net, g1, 'gen', [[0, 2, 1.], [2, 80, 8.]]) - pp.create_pwl_cost(net, g2, 'gen', [[0, 3, 2.], [3, 80, 14]]) - pp.create_pwl_cost(net, g3, 'gen', [[0, 1, 3.], [1, 80, 10.]]) - - net.load.p_mw = 1 - pp.runpm_ac_opf(net) - consistency_checks(net, rtol=1e-3) - assert np.isclose(net.res_gen.p_mw.at[g2], 0) - assert np.isclose(net.res_gen.p_mw.at[g3], 0) - assert np.isclose(net.res_cost, net.res_gen.p_mw.at[g1], atol=1e-4) - - net.load.p_mw = 3 - pp.runpm_ac_opf(net) - consistency_checks(net, rtol=1e-3) - assert np.isclose(net.res_gen.p_mw.at[g3], 0) - assert np.isclose(net.res_gen.p_mw.at[g1], 2) - assert np.isclose(net.res_cost, net.res_gen.p_mw.at[g1] + net.res_gen.p_mw.at[g2] * 2, atol=1e-4) - - net.load.p_mw = 5 - pp.runpm_ac_opf(net) - consistency_checks(net, rtol=1e-3) - assert np.isclose(net.res_gen.p_mw.at[g1], 2) - assert np.isclose(net.res_gen.p_mw.at[g2], 3) - assert np.isclose(net.res_cost, net.res_gen.p_mw.at[g1] + net.res_gen.p_mw.at[g2] * 2 + - net.res_gen.p_mw.at[g3] * 3, atol=1e-4) - - -@pytest.mark.slow -@pytest.mark.skipif(julia_installed == False, reason="requires julia installation") -def test_without_ext_grid(): - net = pp.create_empty_network() - - min_vm_pu = 0.95 - max_vm_pu = 1.05 - - # create buses - bus1 = pp.create_bus(net, vn_kv=220., geodata=(5, 9)) - bus2 = pp.create_bus(net, vn_kv=110., geodata=(6, 10), min_vm_pu=min_vm_pu, max_vm_pu=max_vm_pu) - bus3 = pp.create_bus(net, vn_kv=110., geodata=(10, 9), min_vm_pu=min_vm_pu, max_vm_pu=max_vm_pu) - bus4 = pp.create_bus(net, vn_kv=110., geodata=(8, 8), min_vm_pu=min_vm_pu, max_vm_pu=max_vm_pu) - bus5 = pp.create_bus(net, vn_kv=110., geodata=(6, 8), min_vm_pu=min_vm_pu, max_vm_pu=max_vm_pu) - - # create 220/110/110 kV 3W-transformer - pp.create_transformer3w_from_parameters(net, bus1, bus2, bus5, vn_hv_kv=220, vn_mv_kv=110, - vn_lv_kv=110, vk_hv_percent=10., vk_mv_percent=10., - vk_lv_percent=10., vkr_hv_percent=0.5, - vkr_mv_percent=0.5, vkr_lv_percent=0.5, pfe_kw=100, - i0_percent=0.1, shift_mv_degree=0, shift_lv_degree=0, - sn_hv_mva=100, sn_mv_mva=50, sn_lv_mva=50) - - # create 110 kV lines - pp.create_line(net, bus2, bus3, length_km=70., std_type='149-AL1/24-ST1A 110.0') - pp.create_line(net, bus3, bus4, length_km=50., std_type='149-AL1/24-ST1A 110.0') - pp.create_line(net, bus4, bus2, length_km=40., std_type='149-AL1/24-ST1A 110.0') - pp.create_line(net, bus4, bus5, length_km=30., std_type='149-AL1/24-ST1A 110.0') - - # create loads - pp.create_load(net, bus2, p_mw=60, controllable=False) - pp.create_load(net, bus3, p_mw=70, controllable=False) - pp.create_load(net, bus4, p_mw=10, controllable=False) - - # create generators - g1 = pp.create_gen(net, bus1, p_mw=40, min_p_mw=0, min_q_mvar=-20, max_q_mvar=20, slack=True, min_vm_pu=min_vm_pu, - max_vm_pu=max_vm_pu) - pp.create_poly_cost(net, g1, 'gen', cp1_eur_per_mw=1000) - - g2 = pp.create_gen(net, bus3, p_mw=40, min_p_mw=0, min_q_mvar=-20, max_q_mvar=20, vm_pu=1.01, - min_vm_pu=min_vm_pu, max_vm_pu=max_vm_pu, max_p_mw=40.) - pp.create_poly_cost(net, g2, 'gen', cp1_eur_per_mw=2000) - - g3 = pp.create_gen(net, bus4, p_mw=0.050, min_p_mw=0, min_q_mvar=-20, max_q_mvar=20, vm_pu=1.01, - min_vm_pu=min_vm_pu, - max_vm_pu=max_vm_pu, max_p_mw=0.05) - pp.create_poly_cost(net, g3, 'gen', cp1_eur_per_mw=3000) - - pp.runpm_ac_opf(net) - consistency_checks(net, rtol=1e-3) - assert np.isclose(net.res_gen.p_mw.at[g2], 0, atol=1e-5, rtol=1e-5) - assert np.isclose(net.res_gen.p_mw.at[g3], 0, atol=1e-5, rtol=1e-5) - assert np.isclose(net.res_cost, net.res_gen.p_mw.at[g1] * 1e3) - net.trafo3w["max_loading_percent"] = 150. - - pp.runpm_ac_opf(net) - consistency_checks(net, rtol=1e-3) - assert 149. < net.res_trafo3w.loading_percent.values[0] < 150.01 - assert np.isclose(net.res_cost, net.res_gen.p_mw.at[g1] * 1e3 + net.res_gen.p_mw.at[g2] * 2e3) - - pp.runpm_dc_opf(net) - consistency_checks(net, rtol=1e-3, test_q=False) - assert 149. < net.res_trafo3w.loading_percent.values[0] < 150.01 - assert np.isclose(net.res_cost, net.res_gen.p_mw.at[g1] * 1e3 + net.res_gen.p_mw.at[g2] * 2e3) - - -@pytest.mark.slow -@pytest.mark.skipif(julia_installed == False, reason="requires julia installation") -def test_multiple_ext_grids(): - net = pp.create_empty_network() - # generate three ext grids - b11, b12, l11 = add_grid_connection(net, vn_kv=110.) - b21, b22, l21 = add_grid_connection(net, vn_kv=110.) - b31, b32, l31 = add_grid_connection(net, vn_kv=110.) - # connect them - l12_22 = create_test_line(net, b12, b22) - l22_32 = create_test_line(net, b22, b32) - - # create load and sgen to optimize - pp.create_load(net, b12, p_mw=60) - - g3 = pp.create_sgen(net, b12, p_mw=50, min_p_mw=20, max_p_mw=200, controllable=True) - pp.create_poly_cost(net, g3, 'sgen', cp1_eur_per_mw=10.) - # set positive costs for ext_grid -> minimize ext_grid usage - ext_grids = net.ext_grid.index - net["ext_grid"].loc[0, "vm_pu"] = .99 - net["ext_grid"].loc[1, "vm_pu"] = 1.0 - net["ext_grid"].loc[2, "vm_pu"] = 1.01 - for idx in ext_grids: - # eg = net["ext_grid"].loc[idx] - pp.create_poly_cost(net, idx, 'ext_grid', cp1_eur_per_mw=10.) - - pp.runpm_ac_opf(net) - assert np.allclose(net.res_sgen.loc[0, "p_mw"], 60.) - - -@pytest.mark.slow -@pytest.mark.skipif(julia_installed == False, reason="requires julia installation") -def test_voltage_angles(): - net = pp.create_empty_network() - b1, b2, l1 = add_grid_connection(net, vn_kv=110.) - b3 = pp.create_bus(net, vn_kv=20.) - b4 = pp.create_bus(net, vn_kv=10.) - b5 = pp.create_bus(net, vn_kv=10., in_service=False) - tidx = pp.create_transformer3w( - net, b2, b3, b4, std_type='63/25/38 MVA 110/20/10 kV', max_loading_percent=120) - pp.create_load(net, b3, p_mw=5, controllable=False) - load_id = pp.create_load(net, b4, p_mw=5, controllable=True, max_p_mw=25, min_p_mw=0, min_q_mvar=-1e-6, - max_q_mvar=1e-6) - pp.create_poly_cost(net, 0, "ext_grid", cp1_eur_per_mw=1) - pp.create_poly_cost(net, load_id, "load", cp1_eur_per_mw=1000) - net.trafo3w.shift_lv_degree.at[tidx] = 10 - net.trafo3w.shift_mv_degree.at[tidx] = 30 - net.bus.loc[:, "max_vm_pu"] = 1.1 - net.bus.loc[:, "min_vm_pu"] = .9 - - # custom_file = os.path.join(pp_dir, "opf", "PpPmInterface", "src", "pm_models", "run_powermodels.jl") - custom_file = "run_powermodels_custom" #custom_file = os.path.join(os.path.abspath(os.path.dirname(pp.test.__file__)),"test_files", "run_powermodels_custom.jl") - - # load is zero since costs are high. PF results should be the same as OPF - net.load.loc[1, "p_mw"] = 0. - pp.runpp(net, calculate_voltage_angles=True) - va_degree = net.res_bus.loc[:, "va_degree"].values - vm_pu = net.res_bus.loc[:, "vm_pu"].values - loading3w = net.res_trafo3w.loc[:, "loading_percent"].values - - for run in [pp.runpm_ac_opf, partial(pp.runpm, julia_file=custom_file)]: - run(net, calculate_voltage_angles=True) - consistency_checks(net) - - assert 30. < (net.res_bus.va_degree.at[b1] - net.res_bus.va_degree.at[b3]) % 360 < 32. - assert 10. < (net.res_bus.va_degree.at[b1] - net.res_bus.va_degree.at[b4]) % 360 < 11. - assert np.isnan(net.res_bus.va_degree.at[b5]) - assert np.allclose(net.res_bus.va_degree.values, va_degree, atol=1e-6, rtol=1e-6, equal_nan=True) - assert np.allclose(net.res_bus.vm_pu.values, vm_pu, atol=1e-6, rtol=1e-6, equal_nan=True) - assert np.allclose(net.res_trafo3w.loading_percent, loading3w, atol=1e-2, rtol=1e-2, equal_nan=True) - - - -def tnep_grid(): - net = pp.create_empty_network() - - min_vm_pu = 0.95 - max_vm_pu = 1.05 - - # create buses - bus1 = pp.create_bus(net, vn_kv=110., geodata=(5, 9), min_vm_pu=min_vm_pu, max_vm_pu=max_vm_pu) - bus2 = pp.create_bus(net, vn_kv=110., geodata=(6, 10), min_vm_pu=min_vm_pu, max_vm_pu=max_vm_pu) - bus3 = pp.create_bus(net, vn_kv=110., geodata=(10, 9), min_vm_pu=min_vm_pu, max_vm_pu=max_vm_pu) - bus4 = pp.create_bus(net, vn_kv=110., geodata=(8, 8), min_vm_pu=min_vm_pu, max_vm_pu=max_vm_pu) - - # create 110 kV lines - pp.create_line(net, bus1, bus2, length_km=70., std_type='149-AL1/24-ST1A 110.0') - pp.create_line(net, bus1, bus3, length_km=50., std_type='149-AL1/24-ST1A 110.0') - pp.create_line(net, bus1, bus4, length_km=100., std_type='149-AL1/24-ST1A 110.0') - - # create loads - pp.create_load(net, bus2, p_mw=60) - pp.create_load(net, bus3, p_mw=70) - pp.create_load(net, bus4, p_mw=50) - - # create generators - g1 = pp.create_gen(net, bus1, p_mw=9.513270, min_p_mw=0, max_p_mw=200, vm_pu=1.01, slack=True) - pp.create_poly_cost(net, g1, 'gen', cp1_eur_per_mw=1) - - g2 = pp.create_gen(net, bus2, p_mw=78.403291, min_p_mw=0, max_p_mw=200, vm_pu=1.01) - pp.create_poly_cost(net, g2, 'gen', cp1_eur_per_mw=3) - - g3 = pp.create_gen(net, bus3, p_mw=92.375601, min_p_mw=0, max_p_mw=200, vm_pu=1.01) - pp.create_poly_cost(net, g3, 'gen', cp1_eur_per_mw=3) - - net.line["max_loading_percent"] = 20 - - # possible new lines (set out of service in line DataFrame) - l1 = pp.create_line(net, bus1, bus4, 10., std_type="305-AL1/39-ST1A 110.0", name="new_line1", - max_loading_percent=20., in_service=False) - l2 = pp.create_line(net, bus2, bus4, 20., std_type="149-AL1/24-ST1A 110.0", name="new_line2", - max_loading_percent=20., in_service=False) - l3 = pp.create_line(net, bus3, bus4, 30., std_type='149-AL1/24-ST1A 110.0', name="new_line3", - max_loading_percent=20., in_service=False) - l4 = pp.create_line(net, bus3, bus4, 40., std_type='149-AL1/24-ST1A 110.0', name="new_line4", - max_loading_percent=20., in_service=False) - - new_line_index = [l1, l2, l3, l4] - construction_costs = [10., 20., 30., 45.] - # create new line dataframe - init_ne_line(net, new_line_index, construction_costs) - - return net - - -@pytest.mark.slow -@pytest.mark.skipif(julia_installed == False, reason="requires julia installation") -def test_pm_tnep(): - net = tnep_grid() - # check if max line loading percent is violated (should be) - pp.runpp(net) - assert np.any(net["res_line"].loc[:, "loading_percent"] > - net["line"].loc[:, "max_loading_percent"]) - - # run power models tnep optimization - pp.runpm_tnep(net, pm_model="ACPPowerModel") - # set lines to be built in service - lines_to_built = net["res_ne_line"].loc[net["res_ne_line"].loc[:, "built"], "built"].index - net["line"].loc[lines_to_built, "in_service"] = True - # run a power flow calculation again and check if max_loading percent is still violated - pp.runpp(net) - # check max line loading results - assert not np.any(net["res_line"].loc[:, "loading_percent"] > - net["line"].loc[:, "max_loading_percent"]) - - -@pytest.mark.slow -@pytest.mark.skipif(julia_installed == False, reason="requires julia installation") -@pytest.mark.xfail(reason="experimental. SOC is wrong since update") -def test_storage_opt(): - net = nw.case5() - pp.create_storage(net, 2, p_mw=1., max_e_mwh=.2, soc_percent=100., q_mvar=1.) - pp.create_storage(net, 3, p_mw=1., max_e_mwh=.3, soc_percent=100., q_mvar=1.) - - # optimize for 24 time steps. At the end the SOC is 0% - storage_results = pp.runpm_storage_opf(net, n_timesteps=24) - assert np.allclose(storage_results[0].loc[22, "soc_mwh"], 0.004960, rtol=1e-4, atol=1e-4) - assert np.allclose(storage_results[0].loc[23, "soc_mwh"], 0.) - assert np.allclose(storage_results[1].loc[22, "soc_percent"], 29.998074, rtol=1e-4, atol=1e-4) - assert np.allclose(storage_results[1].loc[23, "soc_mwh"], 0.) - - -@pytest.mark.slow -@pytest.mark.skipif(julia_installed == False, reason="requires julia installation") -def test_ots_opt(): - net = nw.case5() - branch_status = net["line"].loc[:, "in_service"].values - assert np.array_equal(np.array([1, 1, 1, 1, 1, 1]).astype(bool), branch_status.astype(bool)) - pp.runpm_ots(net) - branch_status = net["res_line"].loc[:, "in_service"].values - pp.runpp(net) - net.line.loc[:, "in_service"] = branch_status.astype(bool) - pp.runpp(net) - try: - assert np.array_equal(np.array([1, 1, 1, 0, 1, 0]).astype(bool), branch_status.astype(bool)) - except AssertionError: - assert np.array_equal(np.array([0, 1, 1, 1, 1, 0]).astype(bool), branch_status.astype(bool)) - - -def assert_pf(net, dc=False): - # custom_file = os.path.join(os.path.abspath(os.path.dirname(pp.__file__)), - # "opf", "run_powermodels_powerflow.jl") - # custom_file = os.path.join(pp_dir, "opf", "PpPmInterface", "src", "pm_models", "run_powermodels.jl") - - custom_file = "run_powermodels_powerflow" - - if dc: - # see https://github.com/lanl-ansi/PowerModels.jl/issues/612 for details - pp.runpm(net, julia_file=custom_file, pm_model="DCMPPowerModel") - else: - pp.runpm(net, julia_file=custom_file, pm_model="ACPPowerModel") - - va_pm = copy.copy(net.res_bus.va_degree) - vm_pm = copy.copy(net.res_bus.vm_pu) - - if dc: - pp.rundcpp(net, calculate_voltage_angles=True) - else: - pp.runpp(net, calculate_voltage_angles=True) - va_pp = copy.copy(net.res_bus.va_degree) - vm_pp = copy.copy(net.res_bus.vm_pu) - - assert np.allclose(va_pm, va_pp) - if not dc: - assert np.allclose(vm_pm, vm_pp) - - -@pytest.mark.skipif(julia_installed == False, reason="requires julia installation") -def test_pm_ac_powerflow_simple(): - net = nw.simple_four_bus_system() - net.trafo.loc[0, "shift_degree"] = 0. - assert_pf(net) - - -@pytest.mark.skipif(julia_installed == False, reason="requires julia installation") -@pytest.mark.xfail(reason="DCMPPowerModel not released yet") -def test_pm_dc_powerflow_simple(): - net = nw.simple_four_bus_system() - net.trafo.loc[0, "shift_degree"] = 0. - assert_pf(net, dc=True) - - -@pytest.mark.skipif(julia_installed == False, reason="requires julia installation") -def test_pm_ac_powerflow_shunt(): - net = nw.simple_four_bus_system() - pp.create_shunt(net, 2, q_mvar=-0.5) - net.trafo.loc[0, "shift_degree"] = 0. - assert_pf(net) - - -@pytest.mark.skipif(julia_installed == False, reason="requires julia installation") -@pytest.mark.xfail(reason="DCMPPowerModel not released yet") -def test_pm_dc_powerflow_shunt(): - net = nw.simple_four_bus_system() - pp.create_shunt(net, 2, q_mvar=-0.5) - net.trafo.loc[0, "shift_degree"] = 0. - assert_pf(net, dc=True) - - -@pytest.mark.skipif(julia_installed == False, reason="requires julia installation") -def test_pm_ac_powerflow_tap(): - net = nw.simple_four_bus_system() - net.trafo.loc[0, "shift_degree"] = 30. - net.trafo.loc[0, "tap_pos"] = -2. - assert_pf(net) - - -@pytest.mark.skipif(julia_installed == False, reason="requires julia installation") -@pytest.mark.xfail(reason="DCMPPowerModel not released yet") -def test_pm_dc_powerflow_tap(): - net = nw.simple_four_bus_system() - net.trafo.loc[0, "shift_degree"] = 0. - assert_pf(net, dc=True) - net.trafo.loc[0, "shift_degree"] = 30. - net.trafo.loc[0, "tap_pos"] = -2. - assert_pf(net, dc=True) - - -def test_pp_to_pm_conversion(net_3w_trafo_opf): - # tests if the conversion to power models works - net = net_3w_trafo_opf - pm_S = convert_pp_to_pm(net) - pm_I = convert_pp_to_pm(net, opf_flow_lim="I") - - - -def test_pm_to_pp_conversion(simple_opf_test_net): - # this tests checks if the runopp results are the same as the ones from powermodels. - # Results are read from a result file containing the simple_opf_test_net - - net = simple_opf_test_net - pp.create_poly_cost(net, 0, "gen", cp1_eur_per_mw=100) - - # get pandapower opf results - pp.runopp(net, delta=1e-13) - va_degree = copy.deepcopy(net.res_bus.va_degree) - vm_pu = copy.deepcopy(net.res_bus.vm_pu) - - # get previously calculated power models results - pm_res_file = os.path.join(os.path.abspath(os.path.dirname(pp.test.__file__)), - "test_files", "pm_example_res.json") - - with open(pm_res_file, "r") as fp: - result_pm = json.load(fp) - net._options["correct_pm_network_data"] = True - ppc, ppci = _pd2ppc(net) - read_pm_results_to_net(net, ppc, ppci, result_pm) - assert np.allclose(net.res_bus.vm_pu, vm_pu, atol=1e-4) - assert np.allclose(net.res_bus.va_degree, va_degree, atol=1e-2, rtol=1e-2) - - -@pytest.mark.skipif(not julia_installed, reason="requires julia installation") -def test_timeseries_powermodels(): - profiles = pd.DataFrame() - n_timesteps = 3 - profiles['load1'] = np.random.random(n_timesteps) * 2e1 - ds = pp.timeseries.DFData(profiles) - - net = nw.simple_four_bus_system() - time_steps = range(3) - pp.control.ConstControl(net, 'load', 'p_mw', element_index=0, data_source=ds, profile_name='load1', scale_factor=0.85) - net.load['controllable'] = False - pp.timeseries.run_timeseries(net, time_steps, continue_on_divergence=True, verbose=False, recycle=False, run=pp.runpm_dc_opf) - - -if __name__ == '__main__': - # all run_powermodels_custom are setting julia_file to run_powermodels.jl - # test_pwl() - # test_without_ext_grid() - # test_multiple_ext_grids() - # test_ots_opt() - # test_pm_tnep() - # test_compare_pwl_and_poly(net_3w_trafo_opf) - # test_storage_opt() # missing net._options["opf_flow_lim"] - # test_voltage_angles() - # test_timeseries_powermodels() - pytest.main([__file__]) From 6448b8bba7c1d4ed892a0fe3231d95649dfa8166 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Tue, 12 Oct 2021 14:07:44 +0200 Subject: [PATCH 209/422] add test file --- .../test/opf/test_pandamodels_installation.py | 131 ++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100644 pandapower/test/opf/test_pandamodels_installation.py diff --git a/pandapower/test/opf/test_pandamodels_installation.py b/pandapower/test/opf/test_pandamodels_installation.py new file mode 100644 index 000000000..fb5b484bd --- /dev/null +++ b/pandapower/test/opf/test_pandamodels_installation.py @@ -0,0 +1,131 @@ +# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import pytest + +julia_installed = [] + +@pytest.mark.slow +@pytest.mark.skipif(julia_installed == False, reason="requires julia installation") +def test_julia_installation(): + + try: + from julia.core import UnsupportedPythonError + except AssertionError: + UnsupportedPythonError = Exception + + try: + from julia import Main + status = True + + except (AssertionError, RuntimeError, UnsupportedPythonError) as e: + status = False + print(e) + + + julia_installed.append(status) + + +@pytest.mark.slow +@pytest.mark.skipif(julia_installed == False, reason="requires julia installation") +@pytest.mark.dependency(depends=['test_julia_installation']) +def test_julia_connection(): + + try: + import julia + except: + raise AssertionError( + "install pyjulia properlly to run PandaModels.jl") + + try: + julia.Julia() + except: + raise AssertionError( + "cannot connect to julia, check pyjulia configuration") + + +@pytest.mark.slow +@pytest.mark.skipif(julia_installed == False, reason="requires julia installation") +@pytest.mark.dependency(depends=['test_julia_connection']) +def test_pandamodels_installation(): + + from julia import Main + from julia import Pkg + from julia import Base + + if Base.find_package("PandaModels"): + # remove PandaModels to reinstall it + Pkg.rm("PandaModels") + Pkg.resolve() + + else: + print("PandaModels is not installed yet!") + + Pkg.Registry.update() + Pkg.add("PandaModels") + Pkg.build() + Pkg.resolve() + print("PandaModels is added to julia packages") + + try: + Main.using("PandaModels") + print("using PandaModels in its base mode!") + except: + raise AssertionError("cannot use PandaModels in its base mode") + + +@pytest.mark.slow +@pytest.mark.skipif(julia_installed == False, reason="requires julia installation") +@pytest.mark.dependency(depends=['test_pandamodels_installation']) +def test_pandamodels_dev_mode(): + + from julia import Main + from julia import Pkg + from julia import Base + + if Base.find_package("PandaModels"): + # remove PandaModels to reinstall it + Pkg.rm("PandaModels") + Pkg.resolve() + + + Pkg.Registry.update() + Pkg.add("PandaModels") + print("installing dev mode is a slow process!") + Pkg.resolve() + Pkg.develop("PandaModels") + # add pandamodels dependencies: slow process + Pkg.instantiate() + Pkg.build() + Pkg.resolve() + print("dev mode of PandaModels is added to julia packages") + + try: + Pkg.activate("PandaModels") + Main.using("PandaModels") + print("using PandaModels in its dev mode!") + except: + raise AssertionError("cannot use PandaModels in its base mode") + + # activate julia base mode + Pkg.activate() + # remove dev mod + Pkg.rm("PandaModels") + Pkg.resolve() + # reinstall base mode + Pkg.Registry.update() + Pkg.add("PandaModels") + Pkg.build() + Pkg.resolve() + print("PandaModels is added to julia packages") + + +if __name__ == '__main__': + + # test_julia_installation() + # test_julia_connection() + # test_pandamodels_installation() + # test_pandamodels_dev_mode() + + pytest.main([__file__]) \ No newline at end of file From 86ec0de85a6f22685f72a6b4115fdfff24df2d22 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Tue, 12 Oct 2021 14:35:19 +0200 Subject: [PATCH 210/422] deleted by mistake --- doc/shortcircuit/run.rst | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 doc/shortcircuit/run.rst diff --git a/doc/shortcircuit/run.rst b/doc/shortcircuit/run.rst new file mode 100644 index 000000000..a713411af --- /dev/null +++ b/doc/shortcircuit/run.rst @@ -0,0 +1,21 @@ +==================================== +Running a Short-Circuit Calculation +==================================== + +The short circuit calculation is carried out with the calc_sc function: + +.. autofunction:: pandapower.shortcircuit.calc_sc + + +.. code:: python + + import pandapower.shortcircuit as sc + import pandapower.networks as nw + + net = nw.mv_oberrhein() + net.ext_grid["s_sc_min_mva"] = 100 + net.ext_grid["rx_min"] = 0.1 + + net.line["endtemp_degree"] = 20 + sc.calc_sc(net, case="min") + print(net.res_bus_sc) From e4312339c7e67d5ac4d5f54541157b7faac8e812 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Tue, 12 Oct 2021 14:36:49 +0200 Subject: [PATCH 211/422] update ci --- .github/workflows/github_test_action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/github_test_action.yml b/.github/workflows/github_test_action.yml index b718f3a83..41256f0e1 100644 --- a/.github/workflows/github_test_action.yml +++ b/.github/workflows/github_test_action.yml @@ -9,7 +9,7 @@ on: paths-ignore: - 'CHANGELOG.rst' pull_request: - branches: [ master, develop ] + branches: '*' paths-ignore: - 'CHANGELOG.rst' From 2da178513966dce62ee6037fa7deb3d2f1332975 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Tue, 12 Oct 2021 16:51:46 +0200 Subject: [PATCH 212/422] edit test --- .../test/opf/test_pandamodels_installation.py | 42 ++++++++++--------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/pandapower/test/opf/test_pandamodels_installation.py b/pandapower/test/opf/test_pandamodels_installation.py index fb5b484bd..be4bdb091 100644 --- a/pandapower/test/opf/test_pandamodels_installation.py +++ b/pandapower/test/opf/test_pandamodels_installation.py @@ -4,45 +4,46 @@ import pytest -julia_installed = [] - @pytest.mark.slow -@pytest.mark.skipif(julia_installed == False, reason="requires julia installation") def test_julia_installation(): try: from julia.core import UnsupportedPythonError - except AssertionError: + except ImportError: UnsupportedPythonError = Exception - + assert False + try: from julia import Main - status = True - - except (AssertionError, RuntimeError, UnsupportedPythonError) as e: + status = True + except (ImportError, RuntimeError, UnsupportedPythonError) as e: status = False print(e) - - - julia_installed.append(status) - + assert status + + return status + +julia_installed = test_julia_installation() + @pytest.mark.slow -@pytest.mark.skipif(julia_installed == False, reason="requires julia installation") @pytest.mark.dependency(depends=['test_julia_installation']) +@pytest.mark.skipif(julia_installed == False, reason="requires julia installation") def test_julia_connection(): try: import julia except: - raise AssertionError( - "install pyjulia properlly to run PandaModels.jl") + # raise ImportError( + # "install pyjulia properlly to run PandaModels.jl") + assert False try: julia.Julia() except: - raise AssertionError( - "cannot connect to julia, check pyjulia configuration") + # raise AssertionError( + # "cannot connect to julia, check pyjulia configuration") + assert False @pytest.mark.slow @@ -72,8 +73,8 @@ def test_pandamodels_installation(): Main.using("PandaModels") print("using PandaModels in its base mode!") except: - raise AssertionError("cannot use PandaModels in its base mode") - + # raise AssertionError("cannot use PandaModels in its base mode") + assert False @pytest.mark.slow @pytest.mark.skipif(julia_installed == False, reason="requires julia installation") @@ -106,7 +107,8 @@ def test_pandamodels_dev_mode(): Main.using("PandaModels") print("using PandaModels in its dev mode!") except: - raise AssertionError("cannot use PandaModels in its base mode") + # raise AssertionError("cannot use PandaModels in its base mode") + assert False # activate julia base mode Pkg.activate() From e6ed6bba988a368d360bd01db68eae044bf21296 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Tue, 12 Oct 2021 16:57:41 +0200 Subject: [PATCH 213/422] remove assert --- .../test/opf/test_pandamodels_installation.py | 23 ++++++++----------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/pandapower/test/opf/test_pandamodels_installation.py b/pandapower/test/opf/test_pandamodels_installation.py index be4bdb091..579f8f5c5 100644 --- a/pandapower/test/opf/test_pandamodels_installation.py +++ b/pandapower/test/opf/test_pandamodels_installation.py @@ -11,7 +11,6 @@ def test_julia_installation(): from julia.core import UnsupportedPythonError except ImportError: UnsupportedPythonError = Exception - assert False try: from julia import Main @@ -24,28 +23,26 @@ def test_julia_installation(): return status + + julia_installed = test_julia_installation() + @pytest.mark.slow -@pytest.mark.dependency(depends=['test_julia_installation']) @pytest.mark.skipif(julia_installed == False, reason="requires julia installation") def test_julia_connection(): try: import julia except: - # raise ImportError( - # "install pyjulia properlly to run PandaModels.jl") assert False try: julia.Julia() except: - # raise AssertionError( - # "cannot connect to julia, check pyjulia configuration") assert False - + @pytest.mark.slow @pytest.mark.skipif(julia_installed == False, reason="requires julia installation") @pytest.mark.dependency(depends=['test_julia_connection']) @@ -73,13 +70,13 @@ def test_pandamodels_installation(): Main.using("PandaModels") print("using PandaModels in its base mode!") except: - # raise AssertionError("cannot use PandaModels in its base mode") assert False + @pytest.mark.slow @pytest.mark.skipif(julia_installed == False, reason="requires julia installation") @pytest.mark.dependency(depends=['test_pandamodels_installation']) -def test_pandamodels_dev_mode(): +def test_pandamodels_dev_mode(): from julia import Main from julia import Pkg @@ -89,8 +86,7 @@ def test_pandamodels_dev_mode(): # remove PandaModels to reinstall it Pkg.rm("PandaModels") Pkg.resolve() - - + Pkg.Registry.update() Pkg.add("PandaModels") print("installing dev mode is a slow process!") @@ -107,7 +103,6 @@ def test_pandamodels_dev_mode(): Main.using("PandaModels") print("using PandaModels in its dev mode!") except: - # raise AssertionError("cannot use PandaModels in its base mode") assert False # activate julia base mode @@ -122,12 +117,12 @@ def test_pandamodels_dev_mode(): Pkg.resolve() print("PandaModels is added to julia packages") - if __name__ == '__main__': + pytest.main([__file__]) # test_julia_installation() # test_julia_connection() # test_pandamodels_installation() # test_pandamodels_dev_mode() - pytest.main([__file__]) \ No newline at end of file + \ No newline at end of file From d236049c492220a80ddb0d39b648d5bb49e77cab Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Tue, 12 Oct 2021 17:05:20 +0200 Subject: [PATCH 214/422] remove test --- .../test/opf/test_pandamodels_installation.py | 47 ++++++++++++------- 1 file changed, 30 insertions(+), 17 deletions(-) diff --git a/pandapower/test/opf/test_pandamodels_installation.py b/pandapower/test/opf/test_pandamodels_installation.py index 579f8f5c5..342b1841b 100644 --- a/pandapower/test/opf/test_pandamodels_installation.py +++ b/pandapower/test/opf/test_pandamodels_installation.py @@ -4,29 +4,40 @@ import pytest -@pytest.mark.slow -def test_julia_installation(): +# @pytest.mark.slow +# def test_julia_installation(): - try: - from julia.core import UnsupportedPythonError - except ImportError: - UnsupportedPythonError = Exception +# try: +# from julia.core import UnsupportedPythonError +# except ImportError: +# UnsupportedPythonError = Exception - try: - from julia import Main - status = True - except (ImportError, RuntimeError, UnsupportedPythonError) as e: - status = False - print(e) +# try: +# from julia import Main +# status = True +# except (ImportError, RuntimeError, UnsupportedPythonError) as e: +# status = False +# print(e) - assert status +# assert status - return status +# return status -julia_installed = test_julia_installation() - +# julia_installed = test_julia_installation() + +try: + from julia.core import UnsupportedPythonError +except ImportError: + UnsupportedPythonError = Exception +try: + from julia import Main + + julia_installed = True +except (ImportError, RuntimeError, UnsupportedPythonError) as e: + julia_installed = False + print(e) @pytest.mark.slow @pytest.mark.skipif(julia_installed == False, reason="requires julia installation") @@ -35,7 +46,9 @@ def test_julia_connection(): try: import julia except: - assert False + # assert False + raise ImportError( + "install pyjulia properlly to run PandaModels.jl") try: julia.Julia() From f64d580231b11fc8c49aefcc482669e9f43c0561 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Tue, 12 Oct 2021 17:23:33 +0200 Subject: [PATCH 215/422] change assert to error --- .../test/opf/test_pandamodels_installation.py | 50 ++++++------------- 1 file changed, 15 insertions(+), 35 deletions(-) diff --git a/pandapower/test/opf/test_pandamodels_installation.py b/pandapower/test/opf/test_pandamodels_installation.py index 342b1841b..b1264dd93 100644 --- a/pandapower/test/opf/test_pandamodels_installation.py +++ b/pandapower/test/opf/test_pandamodels_installation.py @@ -1,44 +1,23 @@ # Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. - import pytest -# @pytest.mark.slow -# def test_julia_installation(): - -# try: -# from julia.core import UnsupportedPythonError -# except ImportError: -# UnsupportedPythonError = Exception - -# try: -# from julia import Main -# status = True -# except (ImportError, RuntimeError, UnsupportedPythonError) as e: -# status = False -# print(e) - -# assert status - -# return status - - - -# julia_installed = test_julia_installation() - try: from julia.core import UnsupportedPythonError except ImportError: UnsupportedPythonError = Exception + + try: from julia import Main - - julia_installed = True + julia_installed = True except (ImportError, RuntimeError, UnsupportedPythonError) as e: julia_installed = False print(e) + + @pytest.mark.slow @pytest.mark.skipif(julia_installed == False, reason="requires julia installation") def test_julia_connection(): @@ -46,14 +25,13 @@ def test_julia_connection(): try: import julia except: - # assert False raise ImportError( - "install pyjulia properlly to run PandaModels.jl") - + "install pyjulia properlly to run PandaModels.jl") try: julia.Julia() except: - assert False + raise UserWarning( + "cannot connect to julia, check pyjulia configuration") @pytest.mark.slow @@ -82,13 +60,14 @@ def test_pandamodels_installation(): try: Main.using("PandaModels") print("using PandaModels in its base mode!") - except: - assert False + except ImportError: + # assert False + raise ImportError("cannot use PandaModels in its base mode") @pytest.mark.slow @pytest.mark.skipif(julia_installed == False, reason="requires julia installation") -@pytest.mark.dependency(depends=['test_pandamodels_installation']) +@pytest.mark.dependency(depends=['test_julia_connection']) def test_pandamodels_dev_mode(): from julia import Main @@ -115,8 +94,9 @@ def test_pandamodels_dev_mode(): Pkg.activate("PandaModels") Main.using("PandaModels") print("using PandaModels in its dev mode!") - except: - assert False + except ImportError: + # assert False + raise ImportError("cannot use PandaModels in its dev mode") # activate julia base mode Pkg.activate() From cd55032349c5413549499a68663b70b6af97130e Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Tue, 12 Oct 2021 17:24:46 +0200 Subject: [PATCH 216/422] delete comment --- pandapower/test/opf/test_pandamodels_installation.py | 1 - 1 file changed, 1 deletion(-) diff --git a/pandapower/test/opf/test_pandamodels_installation.py b/pandapower/test/opf/test_pandamodels_installation.py index b1264dd93..12e9c1fe9 100644 --- a/pandapower/test/opf/test_pandamodels_installation.py +++ b/pandapower/test/opf/test_pandamodels_installation.py @@ -61,7 +61,6 @@ def test_pandamodels_installation(): Main.using("PandaModels") print("using PandaModels in its base mode!") except ImportError: - # assert False raise ImportError("cannot use PandaModels in its base mode") From 41ec782c3bcfca5d5a10af352ba1c95c4d8d513b Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Tue, 12 Oct 2021 18:21:42 +0200 Subject: [PATCH 217/422] delete spaces --- pandapower/opf/run_powermodels.py | 12 +++++------- pandapower/runpm.py | 5 ++--- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/pandapower/opf/run_powermodels.py b/pandapower/opf/run_powermodels.py index 09e655c9a..c6cb9cbf1 100644 --- a/pandapower/opf/run_powermodels.py +++ b/pandapower/opf/run_powermodels.py @@ -1,5 +1,4 @@ import os - from pandapower.converter.powermodels.to_pm import convert_to_pm_structure, dump_pm_json from pandapower.converter.powermodels.from_pm import read_pm_results_to_net @@ -10,8 +9,8 @@ def _runpm(net, delete_buffer_file=True, pm_file_path=None, pdm_dev_mode=False): """ - Converts the pandapower net to a pm json file, saves it to disk, runs a PowerModels.jl julia function and reads - the results back to the pandapower net + Converts the pandapower net to a pm json file, saves it to disk, runs a PandaModels.jl, and reads + the results back to the pandapower net: INPUT ---------- **net** - pandapower net @@ -47,7 +46,7 @@ def _call_pandamodels(buffer_file, julia_file, dev_mode): # pragma: no cover from julia import Base except ImportError: raise ImportError( - "Please install pyjulia properlly to run pandapower with PowerModels.jl. \nMore info on https://pandapower.readthedocs.io/en/v2.6.0/opf/powermodels.html") + "Please install pyjulia properlly to run pandapower with PandaModels.jl.") try: julia.Julia() @@ -56,9 +55,8 @@ def _call_pandamodels(buffer_file, julia_file, dev_mode): # pragma: no cover "Could not connect to julia, please check that Julia is installed and pyjulia is correctly configured") if not Base.find_package("PandaModels"): - print("PandaModels is not installed in julia. It is added now!") + print("PandaModels.jl is not installed in julia. It is added now!") Pkg.Registry.update() - # Pkg.update() Pkg.add("PandaModels") if dev_mode: @@ -79,9 +77,9 @@ def _call_pandamodels(buffer_file, julia_file, dev_mode): # pragma: no cover except ImportError: raise ImportError("cannot use PandaModels") - Main.buffer_file = buffer_file result_pm = Main.eval(julia_file + "(buffer_file)") + return result_pm diff --git a/pandapower/runpm.py b/pandapower/runpm.py index a15ecdfb8..07637ade7 100644 --- a/pandapower/runpm.py +++ b/pandapower/runpm.py @@ -3,8 +3,6 @@ # Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. import os - -from pandapower import pp_dir from pandapower.auxiliary import _add_ppc_options, _add_opf_options from pandapower.converter.powermodels.from_pm import read_ots_results, read_tnep_results from pandapower.opf.pm_storage import add_storage_opf_settings, read_pm_storage_results @@ -14,7 +12,8 @@ def runpm(net, julia_file=None, pp_to_pm_callback=None, calculate_voltage_angles trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, correct_pm_network_data=True, pm_model="ACPPowerModel", pm_solver="ipopt", pm_mip_solver="cbc", pm_nl_solver="ipopt", pm_time_limits=None, pm_log_level=0, - delete_buffer_file=True, pm_file_path = None, opf_flow_lim="S", pm_tol=1e-8, pdm_dev_mode=False, **kwargs): # pragma: no cover + delete_buffer_file=True, pm_file_path = None, opf_flow_lim="S", pm_tol=1e-8, + pdm_dev_mode=False, **kwargs): # pragma: no cover """ Runs a power system optimization using PowerModels.jl. with a custom julia file. From b0c354cbfac6c2b68c9b92d20552c966a3d0907e Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Tue, 12 Oct 2021 19:13:21 +0200 Subject: [PATCH 218/422] delete space --- CHANGELOG.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index f2012decb..692d70734 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -27,7 +27,6 @@ Change Log - [CHANGED] ConstControl now writes values from the datasource to net at time_step instead of control_step, which ensures that the values for the time step are set before running the initial power flow - [CHANGED] replaced naming for "inductive" or "ind" by "underexcited" and "capacitive" or "cap" for "overexcited" - [2.6.0]- 2021-03-09 ---------------------- - [ADDED] Factorization mode instead of inversion of Ybus in short-circuit calculation. From 6884e196b81ef994f099e698f9370e28f530c820 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Tue, 12 Oct 2021 19:23:17 +0200 Subject: [PATCH 219/422] small changes --- pandapower/__init__.py | 2 -- pandapower/auxiliary.py | 2 +- pandapower/create.py | 3 --- pandapower/test/buffer_file.json | 1 - 4 files changed, 1 insertion(+), 7 deletions(-) delete mode 100644 pandapower/test/buffer_file.json diff --git a/pandapower/__init__.py b/pandapower/__init__.py index 936c62f78..e3cee95c8 100644 --- a/pandapower/__init__.py +++ b/pandapower/__init__.py @@ -1,7 +1,5 @@ __version__ = "2.7.1" - - import os pp_dir = os.path.dirname(os.path.realpath(__file__)) diff --git a/pandapower/auxiliary.py b/pandapower/auxiliary.py index ab6f3ad8b..15086b31e 100644 --- a/pandapower/auxiliary.py +++ b/pandapower/auxiliary.py @@ -343,7 +343,7 @@ def _get_values(source, selection, lookup): """ v = np.zeros(len(selection)) for i, k in enumerate(selection): - v[i] = source[lookup[np.int64(k)]] + v[i] = source[lookup[np.int(k)]] return v diff --git a/pandapower/create.py b/pandapower/create.py index 79db9a43b..e3c5b1497 100644 --- a/pandapower/create.py +++ b/pandapower/create.py @@ -286,10 +286,7 @@ def create_empty_network(name="", f_hz=50., sn_mva=1, add_stdtypes=True): ('order', "float64"), ('level', dtype(object)), ('initial_run', "bool"), - - ("recycle", dtype(object)), - ], # geodata "line_geodata": [("coords", dtype(object))], diff --git a/pandapower/test/buffer_file.json b/pandapower/test/buffer_file.json deleted file mode 100644 index adfde5de7..000000000 --- a/pandapower/test/buffer_file.json +++ /dev/null @@ -1 +0,0 @@ -{"gen": {"1": {"pg": 0.0, "qg": 0.0, "gen_bus": 4, "vg": 1.06414, "qmax": 150.00000001, "gen_status": 1, "qmin": -150.00000001, "pmin": -1e-08, "pmax": 200.00000001, "index": 1, "model": 2, "ncost": 3, "cost": [0, 40.0, 0.0]}, "2": {"pg": 40.0, "qg": 0.0, "gen_bus": 1, "vg": 1.07762, "qmax": 30.00000001, "gen_status": 1, "qmin": -30.00000001, "pmin": -1e-08, "pmax": 40.00000001, "index": 2, "model": 2, "ncost": 3, "cost": [0, 14.0, 0.0]}, "3": {"pg": 324.49, "qg": 0.0, "gen_bus": 3, "vg": 1.1, "qmax": 390.00000001, "gen_status": 1, "qmin": -390.00000001, "pmin": -1e-08, "pmax": 520.00000001, "index": 3, "model": 2, "ncost": 3, "cost": [0, 30.0, 0.0]}, "4": {"pg": 470.69, "qg": 0.0, "gen_bus": 5, "vg": 1.06907, "qmax": 450.00000001, "gen_status": 1, "qmin": -450.00000001, "pmin": -1e-08, "pmax": 600.00000001, "index": 4, "model": 2, "ncost": 3, "cost": [0, 10.0, 0.0]}, "5": {"pg": 170.0, "qg": 127.5, "gen_bus": 1, "vg": 1.0, "qmax": 127.50000001, "gen_status": 1, "qmin": -127.50000001, "pmin": -1e-08, "pmax": 170.00000001, "index": 5, "model": 2, "ncost": 3, "cost": [0, 15.0, 0.0]}}, "branch": {"1": {"index": 1, "transformer": false, "br_r": 0.00281, "br_x": 0.0281, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.00356, "b_to": 0.00356, "c_rating_a": 400.00000000000006, "c_rating_b": 250.0, "c_rating_c": 250.0, "f_bus": 1, "t_bus": 2, "br_status": 1, "angmin": -6.283185307179586, "angmax": 6.283185307179586, "tap": 1.0, "shift": 0.0}, "2": {"index": 2, "transformer": false, "br_r": 0.00304, "br_x": 0.030400000000000003, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.003290000000000001, "b_to": 0.003290000000000001, "c_rating_a": 426.0, "c_rating_b": 250.0, "c_rating_c": 250.0, "f_bus": 1, "t_bus": 4, "br_status": 1, "angmin": -6.283185307179586, "angmax": 6.283185307179586, "tap": 1.0, "shift": 0.0}, "3": {"index": 3, "transformer": false, "br_r": 0.00064, "br_x": 0.0064, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.015630000000000005, "b_to": 0.015630000000000005, "c_rating_a": 426.0, "c_rating_b": 250.0, "c_rating_c": 250.0, "f_bus": 1, "t_bus": 5, "br_status": 1, "angmin": -6.283185307179586, "angmax": 6.283185307179586, "tap": 1.0, "shift": 0.0}, "4": {"index": 4, "transformer": false, "br_r": 0.00108, "br_x": 0.0108, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.00926, "b_to": 0.00926, "c_rating_a": 426.0, "c_rating_b": 250.0, "c_rating_c": 250.0, "f_bus": 2, "t_bus": 3, "br_status": 1, "angmin": -6.283185307179586, "angmax": 6.283185307179586, "tap": 1.0, "shift": 0.0}, "5": {"index": 5, "transformer": false, "br_r": 0.00297, "br_x": 0.0297, "g_fr": -0.0, "g_to": -0.0, "b_fr": 0.0033700000000000006, "b_to": 0.0033700000000000006, "c_rating_a": 240.0, "c_rating_b": 250.0, "c_rating_c": 250.0, "f_bus": 4, "t_bus": 5, "br_status": 1, "angmin": -6.283185307179586, "angmax": 6.283185307179586, "tap": 1.0, "shift": 0.0}, "6": {"index": 6, "transformer": true, "br_r": 0.00296970273567, "br_x": 0.0296985285415665, "g_fr": 1.686668462693209e-08, "g_to": 1.686668462693209e-08, "b_fr": 0.0033701686583210125, "b_to": 0.0033701686583210125, "c_rating_a": 426.0, "c_rating_b": 250.0, "c_rating_c": 250.0, "f_bus": 3, "t_bus": 4, "br_status": 1, "angmin": -6.283185307179586, "angmax": 6.283185307179586, "tap": 1.05, "shift": 0.017453292519943295}, "7": {"index": 7, "transformer": true, "br_r": 0.00296970273567, "br_x": 0.0296985285415665, "g_fr": 1.686668462693209e-08, "g_to": 1.686668462693209e-08, "b_fr": 0.0033701686583210125, "b_to": 0.0033701686583210125, "c_rating_a": 426.0, "c_rating_b": 250.0, "c_rating_c": 250.0, "f_bus": 3, "t_bus": 4, "br_status": 1, "angmin": -6.283185307179586, "angmax": 6.283185307179586, "tap": 1.05, "shift": -0.017453292519943295}}, "bus": {"1": {"index": 1, "bus_i": 1, "zone": 1, "bus_type": 2, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.07762, "base_kv": 230.0}, "2": {"index": 2, "bus_i": 2, "zone": 1, "bus_type": 1, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.0, "base_kv": 230.0}, "3": {"index": 3, "bus_i": 3, "zone": 1, "bus_type": 2, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.1, "base_kv": 230.0}, "4": {"index": 4, "bus_i": 4, "zone": 1, "bus_type": 3, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.06414, "base_kv": 230.0}, "5": {"index": 5, "bus_i": 5, "zone": 1, "bus_type": 2, "vmax": 1.1, "vmin": 0.9, "va": 0.0, "vm": 1.06907, "base_kv": 230.0}}, "dcline": {}, "load": {"1": {"pd": 300.0, "qd": 98.61, "load_bus": 2, "status": 1, "index": 1}, "2": {"pd": 300.0, "qd": 98.61, "load_bus": 3, "status": 1, "index": 2}, "3": {"pd": 400.0, "qd": 131.47, "load_bus": 4, "status": 1, "index": 3}}, "storage": {}, "ne_branch": {}, "switch": {}, "baseMVA": 100.0, "source_version": "2.0.0", "shunt": {}, "sourcetype": "matpower", "per_unit": true, "name": "", "pm_solver": "ipopt", "pm_mip_solver": "cbc", "pm_nl_solver": "ipopt", "pm_model": "ACPPowerModel", "pm_log_level": 0, "pm_time_limit": Infinity, "pm_nl_time_limit": Infinity, "pm_mip_time_limit": Infinity, "correct_pm_network_data": false} \ No newline at end of file From b3a379cff83e2d58c198a8ce8b63e6f93c948f98 Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Wed, 13 Oct 2021 16:43:42 +0200 Subject: [PATCH 220/422] toolbox.pp_elements(): add cost_tables --- pandapower/auxiliary.py | 6 +++--- pandapower/toolbox.py | 12 +++++++++++- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/pandapower/auxiliary.py b/pandapower/auxiliary.py index 15086b31e..8f5fa424a 100644 --- a/pandapower/auxiliary.py +++ b/pandapower/auxiliary.py @@ -396,9 +396,9 @@ def _check_connectivity_opf(ppc): demoted_slacks = list(intersection - {slack}) ppc['bus'][demoted_slacks, BUS_TYPE] = PV logger.warning("Multiple connected slacks in one area found. This would probably lead " - "to non-convergence of the OPF. I'll change all but one slack (ext_grid)" - " to gens. To avoid undesired behaviour, rather convert the slacks to " - "gens yourself and set slack=True for one of them.") + "to non-convergence of the OPF. Therefore, all but one slack (ext_grid)" + " were changed to gens. To avoid undesired behaviour, rather convert the " + "slacks to gens yourself and set slack=True for only one of them.") isolated_nodes, pus, qus, ppc = _set_isolated_nodes_out_of_service(ppc, bus_not_reachable) return isolated_nodes, pus, qus diff --git a/pandapower/toolbox.py b/pandapower/toolbox.py index 3f5023532..4bdc59f1d 100644 --- a/pandapower/toolbox.py +++ b/pandapower/toolbox.py @@ -57,7 +57,7 @@ def element_bus_tuples(bus_elements=True, branch_elements=True, res_elements=Fal def pp_elements(bus=True, bus_elements=True, branch_elements=True, other_elements=True, - res_elements=False): + cost_tables=False, res_elements=False): """ Returns a set of pandapower elements. """ @@ -66,6 +66,8 @@ def pp_elements(bus=True, bus_elements=True, branch_elements=True, other_element bus_elements=bus_elements, branch_elements=branch_elements, res_elements=res_elements)]) if other_elements: pp_elms |= {"measurement"} + if cost_tables: + pp_elms |= {"poly_cost", "pwl_cost"} return pp_elms @@ -1851,6 +1853,14 @@ def merge_same_bus_generation_plants(net, add_info=True, error=True, col = "p_mw" if uniq_et != "ext_grid" else "p_disp_mw" net[uniq_et].at[uniq_idx, col] = gen_df.loc[idxs, "p_mw"].sum() + if "profiles" in net and col == "p_mw": + elm = "gen" if "gen" in gen_df["elm_type"].loc[idxs[1:]].unique() else "sgen" + net.profiles["%s.p_mw" % elm].loc[:, uniq_idx] = net.profiles["%s.p_mw" % elm].loc[ + :, gen_df["index"].loc[idxs]].sum(axis=1) + net.profiles["%s.p_mw" % elm].drop(columns=gen_df["index"].loc[idxs[1:]], inplace=True) + if elm == "gen": + net.profiles["%s.vm_pu" % elm].drop(columns=gen_df["index"].loc[idxs[1:]], inplace=True) + # sum q_mvar (if available) if "q_mvar" in net[uniq_et].columns: net[uniq_et].at[uniq_idx, "q_mvar"] = gen_df.loc[idxs, "q_mvar"].sum() From c30b0f483741772ca8412b43b01fc89439a0b19e Mon Sep 17 00:00:00 2001 From: Mateus Luis Sousa Date: Thu, 14 Oct 2021 16:15:03 -0300 Subject: [PATCH 221/422] Included DC line elements and results in to_html --- pandapower/plotting/to_html.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pandapower/plotting/to_html.py b/pandapower/plotting/to_html.py index 4c1278824..d59e2155d 100644 --- a/pandapower/plotting/to_html.py +++ b/pandapower/plotting/to_html.py @@ -194,8 +194,8 @@ def _net_to_html(net, respect_switches=True, include_lines=True, include_trafos= tables = [] if show_tables: - for name in ['bus', 'trafo', 'line', 'load', 'ext_grid', 'gen', 'sgen', - 'res_bus', 'res_trafo', 'res_line', 'res_load', 'res_ext_grid', 'res_gen', 'res_sgen']: + for name in ['bus', 'trafo', 'line', 'dcline', 'load', 'ext_grid', 'gen', 'sgen', + 'res_bus', 'res_trafo', 'res_line', 'res_dcline', 'res_load', 'res_ext_grid', 'res_gen', 'res_sgen']: item = getattr(net, name) table = TABLE(TR(*map(TH, item.columns)), *[TR(*map(TD, row)) for row in item.values]) From 87166274f4c656e3f70532b425183063608526f0 Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Mon, 18 Oct 2021 12:30:30 +0200 Subject: [PATCH 222/422] plot ext grid as a symbol instead of a patch --- pandapower/plotting/simple_plot.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pandapower/plotting/simple_plot.py b/pandapower/plotting/simple_plot.py index a92c1de93..3dd81ee99 100644 --- a/pandapower/plotting/simple_plot.py +++ b/pandapower/plotting/simple_plot.py @@ -9,7 +9,7 @@ from pandapower.plotting.plotting_toolbox import get_collection_sizes from pandapower.plotting.collections import create_bus_collection, create_line_collection, \ create_trafo_collection, create_trafo3w_collection, \ - create_line_switch_collection, draw_collections, create_bus_bus_switch_collection, create_sgen_collection, \ + create_line_switch_collection, draw_collections, create_bus_bus_switch_collection, create_ext_grid_collection, create_sgen_collection, \ create_gen_collection, create_load_collection from pandapower.plotting.generic_geodata import create_generic_coordinates @@ -130,8 +130,9 @@ def simple_plot(net, respect_switches=False, line_width=1.0, bus_size=1.0, ext_g # create ext_grid collections eg_buses_with_geo_coordinates = set(net.ext_grid.bus.values) & set(net.bus_geodata.index) if len(eg_buses_with_geo_coordinates) > 0: - sc = create_bus_collection(net, eg_buses_with_geo_coordinates, patch_type="rect", - size=ext_grid_size, color=ext_grid_color, zorder=11) + sc = create_ext_grid_collection(net, size=ext_grid_size, orientation=0, ext_grids=eg_buses_with_geo_coordinates) + # sc = create_bus_collection(net, eg_buses_with_geo_coordinates, patch_type="rect", + # size=ext_grid_size, color=ext_grid_color, zorder=11) collections.append(sc) # create trafo collection if trafo is available @@ -159,7 +160,7 @@ def simple_plot(net, respect_switches=False, line_width=1.0, bus_size=1.0, ext_g collections.append(sc) if plot_sgens and len(net.sgen): - sgc = create_sgen_collection(net, size=sgen_size) + sgc = create_sgen_collection(net, size=sgen_size, orientation=0) collections.append(sgc) if plot_gens and len(net.gen): gc = create_gen_collection(net, size=gen_size) From ee59a68bafe761cf55ab05a6649a86d2ff751fe8 Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Mon, 18 Oct 2021 14:11:28 +0200 Subject: [PATCH 223/422] bugfix import --- pandapower/control/controller/trafo/TapDependentImpedance.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandapower/control/controller/trafo/TapDependentImpedance.py b/pandapower/control/controller/trafo/TapDependentImpedance.py index 10eae2538..8b0b19ca4 100644 --- a/pandapower/control/controller/trafo/TapDependentImpedance.py +++ b/pandapower/control/controller/trafo/TapDependentImpedance.py @@ -4,7 +4,7 @@ # and Energy System Technology (IEE), Kassel. All rights reserved. from pandapower.control.controller.characteristic_control import CharacteristicControl -from control.util.characteristic import Characteristic +from pandapower.control.characteristic import Characteristic class TapDependentImpedance(CharacteristicControl): """ From ca1bc6149f217ecc157f9937ffe1e6b15e5bd56b Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Mon, 18 Oct 2021 14:18:44 +0200 Subject: [PATCH 224/422] bugfix import --- pandapower/control/controller/trafo/TapDependentImpedance.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandapower/control/controller/trafo/TapDependentImpedance.py b/pandapower/control/controller/trafo/TapDependentImpedance.py index 8b0b19ca4..f399cf39d 100644 --- a/pandapower/control/controller/trafo/TapDependentImpedance.py +++ b/pandapower/control/controller/trafo/TapDependentImpedance.py @@ -4,7 +4,7 @@ # and Energy System Technology (IEE), Kassel. All rights reserved. from pandapower.control.controller.characteristic_control import CharacteristicControl -from pandapower.control.characteristic import Characteristic +from pandapower.control import Characteristic class TapDependentImpedance(CharacteristicControl): """ From 421169ffade5a31405ddab2866cd288345de0432 Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Mon, 18 Oct 2021 14:23:56 +0200 Subject: [PATCH 225/422] bugfix import --- pandapower/control/controller/trafo/TapDependentImpedance.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandapower/control/controller/trafo/TapDependentImpedance.py b/pandapower/control/controller/trafo/TapDependentImpedance.py index f399cf39d..c6878825b 100644 --- a/pandapower/control/controller/trafo/TapDependentImpedance.py +++ b/pandapower/control/controller/trafo/TapDependentImpedance.py @@ -4,7 +4,7 @@ # and Energy System Technology (IEE), Kassel. All rights reserved. from pandapower.control.controller.characteristic_control import CharacteristicControl -from pandapower.control import Characteristic +from pandapower.control.util.characteristic import Characteristic class TapDependentImpedance(CharacteristicControl): """ From 8a1ea146024a0c8cd783becace308c6cf7f19021 Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Mon, 18 Oct 2021 14:27:59 +0200 Subject: [PATCH 226/422] remove old not relevant file --- .../control/controller/trafo/u_setofp.py | 94 ------------------- 1 file changed, 94 deletions(-) delete mode 100644 pandapower/control/controller/trafo/u_setofp.py diff --git a/pandapower/control/controller/trafo/u_setofp.py b/pandapower/control/controller/trafo/u_setofp.py deleted file mode 100644 index 6f02eab2d..000000000 --- a/pandapower/control/controller/trafo/u_setofp.py +++ /dev/null @@ -1,94 +0,0 @@ - - -from pandapower.control import ContinuousTapControl -from pandapower.control import DiscreteTapControl -from pandapower.control.basic_controller import Controller - -__author__ = 'jdollichon' - -from pandapower.control.controller.trafo_control import TrafoController -from control.util.characteristic import Characteristic - -try: - import pplog -except: - import logging as pplog - -logger = pplog.getLogger(__name__) - - -class UsetOfP(Controller): - """ - Trafo Controller which changes its voltage setpoint in respect to the powerflow at the - transformator. It can be used as a con - - INPUT: - **net** (attrdict) - Pandapower struct - - **tid** (int) - ID of the trafo that is controlled - - OPTIONAL: - - **continuous** (boolean, True) - Switch for using continuous or discrete controlling - - **discrete_band** (float, None) - Only used when continuous is False. Voltage limits being - used around the set-point. E.g. 0.05 would result in an upper limit of set_point + 0.05 - and a lower limit of set_point - 0.05. - - **side** (string) - Side of the transformer where the voltage is controlled ("hv" or "lv") - - **tol** (float, 1e-3) - Voltage tolerance band at bus in Percent - - **characteristic** (Characteristic, [10000, 20000]) - Expects a characteristic curve as an - instance of control.util.characteristic (also accepts an epsilon for tolerance) - - **in_service** (bool, True) - Indicates if the controller is currently in_service - - """ - - def __init__(self, net, tid, continuous=True, discrete_band=None, side="lv", tol=1e-3, - characteristic=Characteristic([10, 20], [0.95, 1.05]), in_service=True, **kwargs): - super(UsetOfP, self).__init__(net, in_service=in_service, **kwargs) - - self.controlled_bus = net.trafo.at[tid, side+"_bus"] - - self.hv_bus = net.trafo.at[tid, "hv_bus"] - self.lv_bus = net.trafo.at[tid, "lv_bus"] - - # characteristic curve - self.cc = characteristic - self.u_target = None - self.diff = None - - self.continuous = continuous - - if continuous: - if len(net.ext_grid.query("bus==%u" % self.hv_bus).index.values) != 1: - raise NotImplementedError("Continuous control is only available for \ - transformers connected to an external grid.") - - self.t_nom = net.trafo.at[tid, "vn_lv_kv"]/net.trafo.at[tid, "vn_hv_kv"] * \ - net.bus.at[self.hv_bus, "vn_kv"] / net.bus.at[self.lv_bus, "vn_kv"] - - self.ctrl = ContinuousTapControl(net, tid, 1.0, tol=tol, side=side, - trafotype="2W", in_service=in_service, - check_tap_bounds=True) - else: - self.discrete_band = discrete_band - self.ctrl = DiscreteTapControl(net, tid, -discrete_band + 1, discrete_band + 1, side=side, - trafotype="2W", tol=tol, in_service=in_service) - - def control_step(self, net): - # empty control step: control is executd by underlying trafo controller - pass - - def is_converged(self, net): - self.setpoint = self.cc(net.res_bus.at[self.controlled_bus, "p_mw"]) - - if self.continuous: - self.ctrl.vm_set_pu = self.setpoint - else: - self.ctrl.vm_lower_pu = -self.discrete_band + self.setpoint - self.ctrl.vm_upper_pu = self.discrete_band + self.setpoint - - return self.ctrl.is_converged(net) From 1ba5bfe9ac1e5d471967f63e29bcac4c47dd50ff Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Tue, 19 Oct 2021 16:59:04 +0200 Subject: [PATCH 227/422] add draft for vd --- tutorials/voltage_deviation_draft.py | 56 ++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 tutorials/voltage_deviation_draft.py diff --git a/tutorials/voltage_deviation_draft.py b/tutorials/voltage_deviation_draft.py new file mode 100644 index 000000000..6c781a438 --- /dev/null +++ b/tutorials/voltage_deviation_draft.py @@ -0,0 +1,56 @@ +# -*- coding: utf-8 -*- +""" +voltage deviation minimization + +Created on Fri Oct 15 2021 + +@author: Zheng, Maryam +""" +import pandapower as pp +import pandapower.networks as nw +# get net +net = nw.create_cigre_network_mv(with_der="pv_wind") +# add scale +net.sgen.p_mw = net.sgen.p_mw * 8 #TODO: why dont you scale up q? +net.sgen.sn_mva = net.sgen.sn_mva * 8 #TODO: why scale sn_mva? +# set controllable sgen +net.load['controllable'] = True +#set limits: +net.sgen["max_p_mw"] = net.sgen.p_mw.values +net.sgen["min_p_mw"] = net.sgen.p_mw.values #TODO: why min and max are same? +net.sgen["max_q_mvar"] = net.sgen.p_mw.values * 0.328 #TODO: why * 0.328? +net.sgen["min_q_mvar"] = -net.sgen.p_mw.values * 0.328 + +net.bus.loc["max_vm_pu"] = 1.1 +net.bus.loc["min_vm_pu"] = 0.9 + +net.ext_grid["max_q_mvar"] = 10000.0 +net.ext_grid["min_q_mvar"]= -10000.0 +net.ext_grid["max_p_mw"] = 10000.0 +net.ext_grid["min_p_mw"] = -10000.0 + +net.gen["max_p_mw"]= net.gen.p_mw.values +net.gen["min_p_mw"] = net.gen.p_mw.values +net.gen["max_q_mvar"]= 10000.0 +net.gen["min_q_mvar"] = -10000.0 + +net.trafo["max_loading_percent"] = 500.0 +net.line["max_loading_percent"] = 500.0 + +# add new column to bus for voltage threshold: +net.bus["pm_param/v_threshold"] = None +# for buses with controllable sgen set threshold: +net.bus["pm_param/v_threshold"].loc[net.sgen.bus] = 0.99 +# add new column to line for reactive power flexibility: +net.bus["pm_param/q_flex"] = None #TODO: where do u use this param? +# for selected buses set reactive power flexibility: +net.line["pm_param/q_flex"].loc[0] = 1.3 + + +results = pp.runpm_vd(net, calculate_voltage_angles=True, + trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, + n_timesteps=96, time_elapsed=0.25, correct_pm_network_data=True, + pm_model="ACPPowerModel", pm_time_limits=None, pm_log_level=0, + delete_buffer_file=False, pm_file_path = None, + pm_tol=1e-8, pdm_dev_mode=True) + From de396e6ec10ce7fa29ce826dafd0ca0f085c903f Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Tue, 19 Oct 2021 18:05:10 +0200 Subject: [PATCH 228/422] Change directory --- .../opf}/voltage_deviation_draft.py | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) rename {tutorials => pandapower/opf}/voltage_deviation_draft.py (66%) diff --git a/tutorials/voltage_deviation_draft.py b/pandapower/opf/voltage_deviation_draft.py similarity index 66% rename from tutorials/voltage_deviation_draft.py rename to pandapower/opf/voltage_deviation_draft.py index 6c781a438..a897d886f 100644 --- a/tutorials/voltage_deviation_draft.py +++ b/pandapower/opf/voltage_deviation_draft.py @@ -41,16 +41,11 @@ net.bus["pm_param/v_threshold"] = None # for buses with controllable sgen set threshold: net.bus["pm_param/v_threshold"].loc[net.sgen.bus] = 0.99 -# add new column to line for reactive power flexibility: -net.bus["pm_param/q_flex"] = None #TODO: where do u use this param? -# for selected buses set reactive power flexibility: -net.line["pm_param/q_flex"].loc[0] = 1.3 - - -results = pp.runpm_vd(net, calculate_voltage_angles=True, - trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, - n_timesteps=96, time_elapsed=0.25, correct_pm_network_data=True, - pm_model="ACPPowerModel", pm_time_limits=None, pm_log_level=0, - delete_buffer_file=False, pm_file_path = None, - pm_tol=1e-8, pdm_dev_mode=True) +print("ok") +# results = pp.runpm_vd(net, calculate_voltage_angles=True, +# trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, +# n_timesteps=96, time_elapsed=0.25, correct_pm_network_data=True, +# pm_model="ACPPowerModel", pm_time_limits=None, pm_log_level=0, +# delete_buffer_file=False, pm_file_path = None, +# pm_tol=1e-8, pdm_dev_mode=True) From 732ffa254878275506d8137dce21f7523badd16a Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Wed, 20 Oct 2021 15:47:00 +0200 Subject: [PATCH 229/422] Update characteristic_control.py bugfix read from object attribute --- pandapower/control/controller/characteristic_control.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandapower/control/controller/characteristic_control.py b/pandapower/control/controller/characteristic_control.py index dc40a4158..c47b4ba2c 100644 --- a/pandapower/control/controller/characteristic_control.py +++ b/pandapower/control/controller/characteristic_control.py @@ -196,7 +196,7 @@ def _read_from_object_attribute(self, net, element, object_attribute, index): if hasattr(index, '__iter__') and len(index) > 1: values = np.array(shape=index.shape) for i, idx in enumerate(index): - values[i] = setattr(net[element]["object"].at[idx], object_attribute) + values[i] = getattr(net[element]["object"].at[idx], object_attribute) else: values = getattr(net[element]["object"].at[index], object_attribute) return values From 1129d16f7ee828013188ffbb78e1b8aaf8989680 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Wed, 20 Oct 2021 19:11:33 +0200 Subject: [PATCH 230/422] add vd --- pandapower/runpm.py | 71 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/pandapower/runpm.py b/pandapower/runpm.py index 0554f2dd9..e24358edd 100644 --- a/pandapower/runpm.py +++ b/pandapower/runpm.py @@ -368,7 +368,78 @@ def runpm_storage_opf(net, calculate_voltage_angles=True, return storage_results +def runpm_vd(net, pp_to_pm_callback=None, calculate_voltage_angles=True, + trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, + pm_model="ACPPowerModel", pm_solver="ipopt", correct_pm_network_data=True, + pm_time_limits=None, pm_log_level=0, pm_file_path = None, delete_buffer_file=True, + opf_flow_lim="S", pm_tol=1e-8, pdm_dev_mode=False, **kwargs): # pragma: no cover + """ + Runs a non-linear power system optimization using PowerModels.jl. + + Flexibilities, constraints and cost parameters are defined in the pandapower element tables. + + Flexibilities can be defined in net.sgen / net.gen /net.load + net.sgen.controllable if a static generator is controllable. If False, + the active and reactive power are assigned as in a normal power flow. If True, the following + flexibilities apply: + - net.sgen.min_p_mw / net.sgen.max_p_mw + - net.sgen.min_q_mvar / net.sgen.max_q_mvar + - net.load.min_p_mw / net.load.max_p_mw + - net.load.min_q_mvar / net.load.max_q_mvar + - net.gen.min_p_mw / net.gen.max_p_mw + - net.gen.min_q_mvar / net.gen.max_q_mvar + - net.ext_grid.min_p_mw / net.ext_grid.max_p_mw + - net.ext_grid.min_q_mvar / net.ext_grid.max_q_mvar + - net.dcline.min_q_to_mvar / net.dcline.max_q_to_mvar / net.dcline.min_q_from_mvar / net.dcline.max_q_from_mvar + + Controllable loads behave just like controllable static generators. It must be stated if they are controllable. + Otherwise, they are not respected as flexibilities. + Dc lines are controllable per default + + Network constraints can be defined for buses, lines and transformers the elements in the following columns: + + - net.bus.min_vm_pu / net.bus.max_vm_pu + - net.line.max_loading_percent + - net.trafo.max_loading_percent + - net.trafo3w.max_loading_percent + + How these costs are combined into a cost function depends on the cost_function parameter. + + INPUT: + **net** - The pandapower format network + + OPTIONAL: + **pp_to_pm_callback** (function, None) - callback function to add data to the PowerModels data structure + **pm_model** (str, "ACPPowerModel") - model to use. Default is AC model + **pm_solver** (str, "ipopt") - default solver to use. If ipopt is not available use Ipopt + **correct_pm_network_data** (bool, True) - checks if network data is correct. If not tries to correct it + **pm_time_limits** (Dict, None) - Time limits in seconds for power models interface. To be set as a dict like + {"pm_time_limit": 300.} + **pm_log_level** (int, 0) - solver log level in power models + **opf_flow_lim** (str, "I") - Quantity to limit for branch flow constraints, in line with matpower's + "opf.flowlim" parameter + "S" - apparent power flow (limit in MVA), + "I" - current magnitude (limit in MVA at 1 p.u. voltage) + **delete_buffer_file** (Bool, True) - If True, the .json file used by powermodels will be deleted after + optimization. + **pm_file_path** (str, None) - Specifiy the filename, under which the .json file for powermodels is stored. If + you want to keep the file after optimization, you should also set + delete_buffer_file to False! + **pdm_dev_mode** (bool, False) - If True, the develope mode of PdM is called. + """ + net._options = {} + _add_ppc_options(net, calculate_voltage_angles=calculate_voltage_angles, + trafo_model=trafo_model, check_connectivity=check_connectivity, + mode="opf", switch_rx_ratio=2, init_vm_pu="flat", init_va_degree="flat", + enforce_q_lims=True, recycle=dict(_is_elements=False, ppc=False, Ybus=False), + voltage_depend_loads=False, delta=delta, trafo3w_losses=trafo3w_losses) + _add_opf_options(net, trafo_loading='power', ac=True, init="flat", numba=True, + pp_to_pm_callback=pp_to_pm_callback, julia_file="run_vd", pm_model=pm_model, pm_solver=pm_solver, + correct_pm_network_data=correct_pm_network_data, pm_time_limits=pm_time_limits, + pm_log_level=pm_log_level, opf_flow_lim=opf_flow_lim, pm_tol=pm_tol) + + _runpm(net, pm_file_path=pm_file_path, delete_buffer_file=delete_buffer_file, pdm_dev_mode=pdm_dev_mode) From f050dca531cc2ec28a91e637c28af8aec7a259d5 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Wed, 20 Oct 2021 19:15:55 +0200 Subject: [PATCH 231/422] add json encoder --- pandapower/converter/powermodels/to_pm.py | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/pandapower/converter/powermodels/to_pm.py b/pandapower/converter/powermodels/to_pm.py index d85f392a1..498cba0b6 100644 --- a/pandapower/converter/powermodels/to_pm.py +++ b/pandapower/converter/powermodels/to_pm.py @@ -25,6 +25,23 @@ except ImportError: import logging +class NumpyEncoder(json.JSONEncoder): + def default(self, obj): + if isinstance(obj, (np.int_, np.intc, np.intp, np.int8, + np.int16, np.int32, np.int64, np.uint8, + np.uint16, np.uint32, np.uint64)): + return int(obj) + elif isinstance(obj, (np.float_, np.float16, np.float32, np.float64)): + return float(obj) + elif isinstance(obj, (np.complex_, np.complex64, np.complex128)): + return {'real': obj.real, 'imag': obj.imag} + elif isinstance(obj, (np.ndarray,)): + return obj.tolist() + elif isinstance(obj, (np.bool_)): + return bool(obj) + elif isinstance(obj, (np.void)): + return None + return json.JSONEncoder.default(self, obj) def convert_pp_to_pm(net, pm_file_path=None, correct_pm_network_data=True, calculate_voltage_angles=True, ac=True, trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, @@ -86,6 +103,7 @@ def convert_to_pm_structure(net, opf_flow_lim = "S"): return net, pm, ppc, ppci + def dump_pm_json(pm, buffer_file=None): # dump pm dict to buffer_file (*.json) if buffer_file is None: @@ -93,9 +111,8 @@ def dump_pm_json(pm, buffer_file=None): temp_name = next(tempfile._get_candidate_names()) buffer_file = os.path.join(tempfile.gettempdir(), "pp_to_pm_" + temp_name + ".json") logger.debug("writing PowerModels data structure to %s" % buffer_file) - with open(buffer_file, 'w') as outfile: - json.dump(pm, outfile) + json.dump(pm, outfile, indent=4, sort_keys=True, cls=NumpyEncoder) return buffer_file From 3ce8116cf98003cbb43faafd26e29f420614e715 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Wed, 20 Oct 2021 19:16:38 +0200 Subject: [PATCH 232/422] add params --- pandapower/converter/powermodels/to_pm.py | 33 ++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/pandapower/converter/powermodels/to_pm.py b/pandapower/converter/powermodels/to_pm.py index 498cba0b6..541b212ce 100644 --- a/pandapower/converter/powermodels/to_pm.py +++ b/pandapower/converter/powermodels/to_pm.py @@ -99,6 +99,7 @@ def convert_to_pm_structure(net, opf_flow_lim = "S"): net["_ppc_opf"] = ppci pm = ppc_to_pm(net, ppci) pm = add_pm_options(pm, net) + pm = add_params_to_pm(net, pm) net._pm = pm return net, pm, ppc, ppci @@ -403,4 +404,34 @@ def init_ne_line(net, new_line_index, construction_costs=None): # set in service, but only in ne line dataframe net["ne_line"].loc[new_line_index, "in_service"] = True # init res_ne_line to save built status afterwards - net["res_ne_line"] = pd.DataFrame(data=0, index=new_line_index, columns=["built"], dtype=int) \ No newline at end of file + net["res_ne_line"] = pd.DataFrame(data=0, index=new_line_index, columns=["built"], dtype=int) + + +def add_params_to_pm(net, pm): + # add user defined parameters to pm + for elm in ["bus", "line", "gen", "load", "trafo", "sgen"]: + param_cols = [col for col in net[elm].columns if 'pm_param' in col] + if not param_cols: + continue + elif "user_defined_params" not in pm.keys(): + pm["user_defined_params"] = dict() + params = [param_col.split("/")[-1] for param_col in param_cols] + for param, param_col in zip(params, param_cols): + pd_idxs = net[elm].index[net[elm][param_col].notna()].tolist() + target_values = net[elm][param_col][pd_idxs].values.tolist() + if elm in ["line", "trafo"]: + start, end = net._pd2pm_lookups["branch"][elm] + pd_pos = [net[elm].index.tolist().index(p) for p in pd_idxs] + pm_idxs = [int(v) + start for v in pd_pos] + elif elm == "sgen": + pm_idxs = [int(v) for v in net._pd2pm_lookups[elm+"_controllable"][pd_idxs]] + elm = "gen" + else: + pm_idxs = [int(v) for v in net._pd2pm_lookups[elm][pd_idxs]] + df = pd.DataFrame(index=pm_idxs) + df["element"] = elm + df["element_index"] = pm_idxs + df["value"] = target_values + pm["user_defined_params"][param] = df.to_dict("index") + return pm + From 671242f8ac098ad34660f35978e4ecb9ef0a589e Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Wed, 20 Oct 2021 19:17:01 +0200 Subject: [PATCH 233/422] add info --- pandapower/opf/run_powermodels.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pandapower/opf/run_powermodels.py b/pandapower/opf/run_powermodels.py index c6cb9cbf1..5360903ec 100644 --- a/pandapower/opf/run_powermodels.py +++ b/pandapower/opf/run_powermodels.py @@ -29,6 +29,7 @@ def _runpm(net, delete_buffer_file=True, pm_file_path=None, pdm_dev_mode=False): net._options["pp_to_pm_callback"](net, ppci, pm) # writes pm json to disk, which is loaded afterwards in julia buffer_file = dump_pm_json(pm, pm_file_path) + print("the json file for convertet net is stored in: ", buffer_file) # run power models optimization in julia result_pm = _call_pandamodels(buffer_file, net._options["julia_file"], pdm_dev_mode) # read results and write back to net @@ -36,7 +37,9 @@ def _runpm(net, delete_buffer_file=True, pm_file_path=None, pdm_dev_mode=False): if pm_file_path is None and delete_buffer_file: # delete buffer file after calculation os.remove(buffer_file) - + print("the json file for convertet net is deleted from ", buffer_file) + + def _call_pandamodels(buffer_file, julia_file, dev_mode): # pragma: no cover try: @@ -79,7 +82,6 @@ def _call_pandamodels(buffer_file, julia_file, dev_mode): # pragma: no cover Main.buffer_file = buffer_file result_pm = Main.eval(julia_file + "(buffer_file)") - return result_pm From 263355f00f20c258fc8907ccd3bd81fb7d23faca Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Thu, 21 Oct 2021 12:10:45 +0200 Subject: [PATCH 234/422] add test for vd --- pandapower/test/opf/test_powermodels.py | 71 ++++++++++++++++++++++++- 1 file changed, 70 insertions(+), 1 deletion(-) diff --git a/pandapower/test/opf/test_powermodels.py b/pandapower/test/opf/test_powermodels.py index b1a060d4f..d97a733c2 100644 --- a/pandapower/test/opf/test_powermodels.py +++ b/pandapower/test/opf/test_powermodels.py @@ -607,6 +607,75 @@ def test_timeseries_powermodels(): pp.timeseries.run_timeseries(net, time_steps, continue_on_divergence=True, verbose=False, recycle=False, run=pp.runpm_dc_opf) +def test_runpm_vd(): + # import pandapower.networks as pn + net = pw.create_cigre_network_mv(with_der="pv_wind") + net.sgen.p_mw = net.sgen.p_mw * 8 + net.sgen.sn_mva = net.sgen.sn_mva * 8 + + + + if __name__ == '__main__': - pytest.main([__file__]) + # pytest.main([__file__]) + + import pandapower as pp + import pandapower.networks as nw + + # get net + net = nw.create_cigre_network_mv(with_der="pv_wind") + # pp.runpp(net) + # add scale + net.sgen.p_mw = net.sgen.p_mw * 8 # TODO: why dont you scale up q? + net.sgen.sn_mva = net.sgen.sn_mva * 8 # TODO: why scale sn_mva? + # set controllable sgen + net.load['controllable'] = False + net.sgen['controllable'] = True + # set limits: + net.sgen["max_p_mw"] = net.sgen.p_mw.values + net.sgen["min_p_mw"] = net.sgen.p_mw.values # TODO: why min and max are same? + net.sgen["max_q_mvar"] = net.sgen.p_mw.values * 0.328 # TODO: why * 0.328? + net.sgen["min_q_mvar"] = -net.sgen.p_mw.values * 0.328 + + net.bus["max_vm_pu"] = 1.1 + net.bus["min_vm_pu"] = 0.9 + + net.ext_grid["max_q_mvar"] = 10000.0 + net.ext_grid["min_q_mvar"] = -10000.0 + net.ext_grid["max_p_mw"] = 10000.0 + net.ext_grid["min_p_mw"] = -10000.0 + + net.gen["max_p_mw"] = net.gen.p_mw.values + net.gen["min_p_mw"] = net.gen.p_mw.values + net.gen["max_q_mvar"] = 10000.0 + net.gen["min_q_mvar"] = -10000.0 + + net.trafo["max_loading_percent"] = 500.0 + net.line["max_loading_percent"] = 500.0 + + # add new column to bus for voltage threshold: + net.bus["pm_param/threshold_v"] = None + # for buses with controllable sgen set threshold: + net.bus["pm_param/threshold_v"].loc[net.sgen.bus] = 0.99 + + for idx in net.sgen.index: + pp.create_poly_cost(net, idx, "sgen", 1.0) + + for idx in net.gen.index: + pp.create_poly_cost(net, idx, "gen", 1.0) + + for idx in net.ext_grid.index: + pp.create_poly_cost(net, idx, "ext_grid", 1.0) + + # TODO: pm_logger + # TODO: specific results? + + pp.runpm_vd(net, calculate_voltage_angles=True, + trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, + n_timesteps=96, time_elapsed=0.25, correct_pm_network_data=True, + pm_model="ACPPowerModel", pm_time_limits=None, pm_log_level=0, + delete_buffer_file=False, pm_file_path=None, + pm_tol=1e-8, pdm_dev_mode=True) + + From bae97c30da8f63d0e4609434145681f8290050a7 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Thu, 21 Oct 2021 12:14:54 +0200 Subject: [PATCH 235/422] working draft --- pandapower/opf/voltage_deviation_draft.py | 42 ++++++++++++++++------- 1 file changed, 30 insertions(+), 12 deletions(-) diff --git a/pandapower/opf/voltage_deviation_draft.py b/pandapower/opf/voltage_deviation_draft.py index a897d886f..3ebd9a7db 100644 --- a/pandapower/opf/voltage_deviation_draft.py +++ b/pandapower/opf/voltage_deviation_draft.py @@ -10,19 +10,21 @@ import pandapower.networks as nw # get net net = nw.create_cigre_network_mv(with_der="pv_wind") +# pp.runpp(net) # add scale net.sgen.p_mw = net.sgen.p_mw * 8 #TODO: why dont you scale up q? net.sgen.sn_mva = net.sgen.sn_mva * 8 #TODO: why scale sn_mva? # set controllable sgen -net.load['controllable'] = True +net.load['controllable'] = False +net.sgen['controllable'] = True #set limits: net.sgen["max_p_mw"] = net.sgen.p_mw.values net.sgen["min_p_mw"] = net.sgen.p_mw.values #TODO: why min and max are same? net.sgen["max_q_mvar"] = net.sgen.p_mw.values * 0.328 #TODO: why * 0.328? net.sgen["min_q_mvar"] = -net.sgen.p_mw.values * 0.328 -net.bus.loc["max_vm_pu"] = 1.1 -net.bus.loc["min_vm_pu"] = 0.9 +net.bus["max_vm_pu"] = 1.1 +net.bus["min_vm_pu"] = 0.9 net.ext_grid["max_q_mvar"] = 10000.0 net.ext_grid["min_q_mvar"]= -10000.0 @@ -38,14 +40,30 @@ net.line["max_loading_percent"] = 500.0 # add new column to bus for voltage threshold: -net.bus["pm_param/v_threshold"] = None +net.bus["pm_param/threshold_v"] = None # for buses with controllable sgen set threshold: -net.bus["pm_param/v_threshold"].loc[net.sgen.bus] = 0.99 -print("ok") -# results = pp.runpm_vd(net, calculate_voltage_angles=True, -# trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, -# n_timesteps=96, time_elapsed=0.25, correct_pm_network_data=True, -# pm_model="ACPPowerModel", pm_time_limits=None, pm_log_level=0, -# delete_buffer_file=False, pm_file_path = None, -# pm_tol=1e-8, pdm_dev_mode=True) +net.bus["pm_param/threshold_v"].loc[net.sgen.bus] = 0.99 + +# net = get_network("cigre_mv_ts") +# net.bus["pm_param/threshold_v"].loc[net.sgen.bus] = 0.99 +# net.bus["pm_param/threshold_v"] = None + +for idx in net.sgen.index: + pp.create_poly_cost(net, idx, "sgen", 1.0) + +for idx in net.gen.index: + pp.create_poly_cost(net, idx, "gen", 1.0) + +for idx in net.ext_grid.index: + pp.create_poly_cost(net, idx, "ext_grid", 1.0) + +# TODO: pm_logger +# TODO: specific results? + +pp.runpm_vd(net, calculate_voltage_angles=True, + trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, + n_timesteps=96, time_elapsed=0.25, correct_pm_network_data=True, + pm_model="ACPPowerModel", pm_time_limits=None, pm_log_level=0, + delete_buffer_file=False, pm_file_path=None, + pm_tol=1e-8, pdm_dev_mode=True) From 520fccfe41e54d2d8097ee9d5ed4d4aa980bfdd6 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Thu, 21 Oct 2021 13:30:44 +0200 Subject: [PATCH 236/422] set xfail --- pandapower/test/opf/test_powermodels.py | 1 + 1 file changed, 1 insertion(+) diff --git a/pandapower/test/opf/test_powermodels.py b/pandapower/test/opf/test_powermodels.py index b1a060d4f..7c4a8cf68 100644 --- a/pandapower/test/opf/test_powermodels.py +++ b/pandapower/test/opf/test_powermodels.py @@ -594,6 +594,7 @@ def test_pm_to_pp_conversion(simple_opf_test_net): @pytest.mark.skipif(not julia_installed, reason="requires julia installation") +@pytest.mark.xfail(reason="not complited yet") def test_timeseries_powermodels(): profiles = pd.DataFrame() n_timesteps = 3 From 86e3ea357f6b232388333a5971c44c414213ed2c Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Thu, 21 Oct 2021 17:55:39 +0200 Subject: [PATCH 237/422] test for vd --- pandapower/test/opf/test_powermodels.py | 46 +++++++++---------------- 1 file changed, 17 insertions(+), 29 deletions(-) diff --git a/pandapower/test/opf/test_powermodels.py b/pandapower/test/opf/test_powermodels.py index d97a733c2..277327b80 100644 --- a/pandapower/test/opf/test_powermodels.py +++ b/pandapower/test/opf/test_powermodels.py @@ -23,6 +23,7 @@ from pandapower.test.opf.test_basic import simple_opf_test_net import pandapower.control import pandapower.timeseries +from copy import deepcopy try: from julia.core import UnsupportedPythonError @@ -608,34 +609,20 @@ def test_timeseries_powermodels(): def test_runpm_vd(): - # import pandapower.networks as pn - net = pw.create_cigre_network_mv(with_der="pv_wind") - net.sgen.p_mw = net.sgen.p_mw * 8 - net.sgen.sn_mva = net.sgen.sn_mva * 8 - + net = nw.create_cigre_network_mv(with_der="pv_wind") + net.sgen.p_mw = net.sgen.p_mw * 8 + net.sgen.sn_mva = net.sgen.sn_mva * 8 + pp.runpp(net) + net_org = deepcopy(net) -if __name__ == '__main__': - - # pytest.main([__file__]) - - import pandapower as pp - import pandapower.networks as nw - - # get net - net = nw.create_cigre_network_mv(with_der="pv_wind") - # pp.runpp(net) - # add scale - net.sgen.p_mw = net.sgen.p_mw * 8 # TODO: why dont you scale up q? - net.sgen.sn_mva = net.sgen.sn_mva * 8 # TODO: why scale sn_mva? - # set controllable sgen net.load['controllable'] = False net.sgen['controllable'] = True - # set limits: + net.sgen["max_p_mw"] = net.sgen.p_mw.values - net.sgen["min_p_mw"] = net.sgen.p_mw.values # TODO: why min and max are same? - net.sgen["max_q_mvar"] = net.sgen.p_mw.values * 0.328 # TODO: why * 0.328? + net.sgen["min_p_mw"] = net.sgen.p_mw.values + net.sgen["max_q_mvar"] = net.sgen.p_mw.values * 0.328 net.sgen["min_q_mvar"] = -net.sgen.p_mw.values * 0.328 net.bus["max_vm_pu"] = 1.1 @@ -654,11 +641,6 @@ def test_runpm_vd(): net.trafo["max_loading_percent"] = 500.0 net.line["max_loading_percent"] = 500.0 - # add new column to bus for voltage threshold: - net.bus["pm_param/threshold_v"] = None - # for buses with controllable sgen set threshold: - net.bus["pm_param/threshold_v"].loc[net.sgen.bus] = 0.99 - for idx in net.sgen.index: pp.create_poly_cost(net, idx, "sgen", 1.0) @@ -668,8 +650,8 @@ def test_runpm_vd(): for idx in net.ext_grid.index: pp.create_poly_cost(net, idx, "ext_grid", 1.0) - # TODO: pm_logger - # TODO: specific results? + net.bus["pm_param/threshold_v"] = None + net.bus["pm_param/threshold_v"].loc[net.sgen.bus] = 0.99 pp.runpm_vd(net, calculate_voltage_angles=True, trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, @@ -678,4 +660,10 @@ def test_runpm_vd(): delete_buffer_file=False, pm_file_path=None, pm_tol=1e-8, pdm_dev_mode=True) + assert np.allclose(net.res_bus.vm_pu[net.sgen.bus], 0.99, atol=1e-2, rtol=1e-2) + assert np.not_equal(net_org.res_sgen.q_mvar.values.all(), net.res_sgen.q_mvar.values.all()) + +if __name__ == '__main__': + pytest.main([__file__]) + From 1fb339fcec32fc18b25b8c1be648a5bef95765a3 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Thu, 21 Oct 2021 19:15:13 +0200 Subject: [PATCH 238/422] fix dir issue --- pandapower/opf/run_powermodels.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandapower/opf/run_powermodels.py b/pandapower/opf/run_powermodels.py index 5360903ec..66a3dbe3c 100644 --- a/pandapower/opf/run_powermodels.py +++ b/pandapower/opf/run_powermodels.py @@ -72,7 +72,7 @@ def _call_pandamodels(buffer_file, julia_file, dev_mode): # pragma: no cover Pkg.resolve() print("Successfully added PandaModels") - if dev_mode or "julia/dev/PandaModels" in Base.find_package("PandaModels").split(".jl")[0]: + if dev_mode or "julia\dev\PandaModels" in Base.find_package("PandaModels").split(".jl")[0]: Pkg.activate("PandaModels") try: From 4c56f9ee0fd0ddcebf6cdc059fc4669c50b4c47e Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Fri, 22 Oct 2021 09:39:31 +0200 Subject: [PATCH 239/422] PeP8 --- pandapower/toolbox.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pandapower/toolbox.py b/pandapower/toolbox.py index 4bdc59f1d..5ebd6f2da 100644 --- a/pandapower/toolbox.py +++ b/pandapower/toolbox.py @@ -1859,7 +1859,8 @@ def merge_same_bus_generation_plants(net, add_info=True, error=True, :, gen_df["index"].loc[idxs]].sum(axis=1) net.profiles["%s.p_mw" % elm].drop(columns=gen_df["index"].loc[idxs[1:]], inplace=True) if elm == "gen": - net.profiles["%s.vm_pu" % elm].drop(columns=gen_df["index"].loc[idxs[1:]], inplace=True) + net.profiles["%s.vm_pu" % elm].drop(columns=gen_df["index"].loc[idxs[1:]], + inplace=True) # sum q_mvar (if available) if "q_mvar" in net[uniq_et].columns: From 3131ce8b4cb042bada7d9e8cb7dc55a205268d5e Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Fri, 22 Oct 2021 11:09:35 +0200 Subject: [PATCH 240/422] delete white spaces --- pandapower/test/opf/test_powermodels.py | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/pandapower/test/opf/test_powermodels.py b/pandapower/test/opf/test_powermodels.py index 277327b80..747a584e0 100644 --- a/pandapower/test/opf/test_powermodels.py +++ b/pandapower/test/opf/test_powermodels.py @@ -320,7 +320,6 @@ def test_voltage_angles(): assert np.allclose(net.res_trafo3w.loading_percent, loading3w, atol=1e-2, rtol=1e-2, equal_nan=True) - def tnep_grid(): net = pp.create_empty_network() @@ -607,11 +606,10 @@ def test_timeseries_powermodels(): net.load['controllable'] = False pp.timeseries.run_timeseries(net, time_steps, continue_on_divergence=True, verbose=False, recycle=False, run=pp.runpm_dc_opf) - +@pytest.mark.skipif(not julia_installed, reason="requires julia installation") +# @pytest.mark.xfail(reason="develop mode") def test_runpm_vd(): - net = nw.create_cigre_network_mv(with_der="pv_wind") - net.sgen.p_mw = net.sgen.p_mw * 8 net.sgen.sn_mva = net.sgen.sn_mva * 8 pp.runpp(net) @@ -619,34 +617,27 @@ def test_runpm_vd(): net.load['controllable'] = False net.sgen['controllable'] = True - net.sgen["max_p_mw"] = net.sgen.p_mw.values net.sgen["min_p_mw"] = net.sgen.p_mw.values net.sgen["max_q_mvar"] = net.sgen.p_mw.values * 0.328 net.sgen["min_q_mvar"] = -net.sgen.p_mw.values * 0.328 - net.bus["max_vm_pu"] = 1.1 net.bus["min_vm_pu"] = 0.9 - net.ext_grid["max_q_mvar"] = 10000.0 net.ext_grid["min_q_mvar"] = -10000.0 net.ext_grid["max_p_mw"] = 10000.0 net.ext_grid["min_p_mw"] = -10000.0 - net.gen["max_p_mw"] = net.gen.p_mw.values net.gen["min_p_mw"] = net.gen.p_mw.values net.gen["max_q_mvar"] = 10000.0 net.gen["min_q_mvar"] = -10000.0 - net.trafo["max_loading_percent"] = 500.0 net.line["max_loading_percent"] = 500.0 for idx in net.sgen.index: pp.create_poly_cost(net, idx, "sgen", 1.0) - for idx in net.gen.index: pp.create_poly_cost(net, idx, "gen", 1.0) - for idx in net.ext_grid.index: pp.create_poly_cost(net, idx, "ext_grid", 1.0) @@ -667,3 +658,4 @@ def test_runpm_vd(): pytest.main([__file__]) + From e0ba60448b223de937c460e331baeaa4ef6a3e90 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Fri, 22 Oct 2021 11:10:14 +0200 Subject: [PATCH 241/422] fix null json issue --- pandapower/converter/powermodels/to_pm.py | 3 +-- pandapower/opf/voltage_deviation_draft.py | 11 ++++++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/pandapower/converter/powermodels/to_pm.py b/pandapower/converter/powermodels/to_pm.py index 541b212ce..4d044d28e 100644 --- a/pandapower/converter/powermodels/to_pm.py +++ b/pandapower/converter/powermodels/to_pm.py @@ -104,7 +104,6 @@ def convert_to_pm_structure(net, opf_flow_lim = "S"): return net, pm, ppc, ppci - def dump_pm_json(pm, buffer_file=None): # dump pm dict to buffer_file (*.json) if buffer_file is None: @@ -412,7 +411,7 @@ def add_params_to_pm(net, pm): for elm in ["bus", "line", "gen", "load", "trafo", "sgen"]: param_cols = [col for col in net[elm].columns if 'pm_param' in col] if not param_cols: - continue + return pm elif "user_defined_params" not in pm.keys(): pm["user_defined_params"] = dict() params = [param_col.split("/")[-1] for param_col in param_cols] diff --git a/pandapower/opf/voltage_deviation_draft.py b/pandapower/opf/voltage_deviation_draft.py index 3ebd9a7db..cd54db828 100644 --- a/pandapower/opf/voltage_deviation_draft.py +++ b/pandapower/opf/voltage_deviation_draft.py @@ -8,12 +8,16 @@ """ import pandapower as pp import pandapower.networks as nw +from copy import deepcopy + # get net net = nw.create_cigre_network_mv(with_der="pv_wind") -# pp.runpp(net) + # add scale net.sgen.p_mw = net.sgen.p_mw * 8 #TODO: why dont you scale up q? net.sgen.sn_mva = net.sgen.sn_mva * 8 #TODO: why scale sn_mva? +pp.runpp(net) +net_org = deepcopy(net) # set controllable sgen net.load['controllable'] = False net.sgen['controllable'] = True @@ -67,3 +71,8 @@ delete_buffer_file=False, pm_file_path=None, pm_tol=1e-8, pdm_dev_mode=True) +df = pd.DataFrame(columns=["org_vm_pu", "opt_vm_pu", "org_sgen_q_mvar","opt_sgen_q_mvar"]) +df.org_vm_pu = net_org.res_bus.vm_pu[net_org.sgen.bus] +df.opt_vm_pu = net.res_bus.vm_pu[net.sgen.bus] +df.org_sgen_q_mvar = net_org.res_sgen.q_mvar.values +df.opt_sgen_q_mvar = net.res_sgen.q_mvar.values From f298109845b0cbab48f4cd2a7044a90791659281 Mon Sep 17 00:00:00 2001 From: fmeier Date: Fri, 22 Oct 2021 18:04:51 +0200 Subject: [PATCH 242/422] Making OPF_FLOW_LIM for pypower OPF accessible through the kwargs --- pandapower/optimal_powerflow.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pandapower/optimal_powerflow.py b/pandapower/optimal_powerflow.py index e6df7cc13..bd1f5196e 100644 --- a/pandapower/optimal_powerflow.py +++ b/pandapower/optimal_powerflow.py @@ -32,7 +32,10 @@ def _optimal_powerflow(net, verbose, suppress_warnings, **kwargs): ac = net["_options"]["ac"] init = net["_options"]["init"] - ppopt = ppoption(VERBOSE=verbose, OPF_FLOW_LIM=2, PF_DC=not ac, INIT=init, **kwargs) + if not "OPF_FLOW_LIM" in kwargs: + kwargs["OPF_FLOW_LIM"] = 2 + + ppopt = ppoption(VERBOSE=verbose, PF_DC=not ac, INIT=init, **kwargs) net["OPF_converged"] = False net["converged"] = False _add_auxiliary_elements(net) From 2e280cb68c261fcdf8b4b72356b1877185a31561 Mon Sep 17 00:00:00 2001 From: sdrauz Date: Mon, 25 Oct 2021 10:20:47 +0200 Subject: [PATCH 243/422] trying to solve .gitattributes bug --- .gitattributes | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitattributes b/.gitattributes index 4c28b5aca..50535cd13 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,2 +1,2 @@ tutorials/* linguist-vendored -*.rst text eol=lf +*.rst text=auto eol=lf From d58ee071205849eb8d1091160cf56da62b302cb4 Mon Sep 17 00:00:00 2001 From: sdrauz Date: Mon, 25 Oct 2021 12:00:50 +0200 Subject: [PATCH 244/422] range in matplotlib boxplot is deprecated (https://github.com/matplotlib/matplotlib/pull/14360). Use the entire possible range instead. --- pandapower/plotting/powerflow_results.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandapower/plotting/powerflow_results.py b/pandapower/plotting/powerflow_results.py index 6b308a394..923496475 100644 --- a/pandapower/plotting/powerflow_results.py +++ b/pandapower/plotting/powerflow_results.py @@ -99,7 +99,7 @@ def plot_loading(net, element="line", boxcolor="b", mediancolor="r", whiskercolo if index_subset is None: index_subset = net[element].index loadings = net["res_%s" % element].loading_percent.values[net["res_%s" % element].index.isin(index_subset)] - boxplot = ax.boxplot(loadings[~np.isnan(loadings)], whis="range") + boxplot = ax.boxplot(loadings[~np.isnan(loadings)], whis=[0, 100]) for l in list(boxplot.keys()): plt.setp(boxplot[l], lw=3) if l == "medians": From 2cda63927d478780a70df9b1f0b3a2ec7d55ad6f Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Wed, 27 Oct 2021 12:29:54 +0200 Subject: [PATCH 245/422] implemented tap dependent impedance in build_branch. TODO: implement for trafo3w --- pandapower/build_branch.py | 22 ++++++++++++++++++++-- pandapower/test/loadflow/test_runpp.py | 13 +++++++++++++ pandapower/toolbox.py | 22 ++++++++++++++++++++++ 3 files changed, 55 insertions(+), 2 deletions(-) diff --git a/pandapower/build_branch.py b/pandapower/build_branch.py index 4e20341f6..2887320eb 100644 --- a/pandapower/build_branch.py +++ b/pandapower/build_branch.py @@ -418,13 +418,31 @@ def _calc_r_x_from_dataframe(mode, trafo_df, vn_lv, vn_trafo_lv, sn_mva, sequenc if sequence == 1: vk_percent = get_trafo_values(trafo_df, "vk_percent") vkr_percent = get_trafo_values(trafo_df, "vkr_percent") + + if "tap_dependent_impedance" in trafo_df: + tap_dependent_impedance = get_trafo_values(trafo_df, "tap_dependent_impedance") + tap_pos = get_trafo_values(trafo_df, "tap_pos") + vk_percent_characteristic = get_trafo_values(trafo_df, "vk_percent_characteristic") + vkr_percent_characteristic = get_trafo_values(trafo_df, "vkr_percent_characteristic") + + vk_percent = np.where(tap_dependent_impedance, + [c(t).item() if f else None for f, t, c in zip(tap_dependent_impedance, tap_pos, vk_percent_characteristic)], + vk_percent) + vkr_percent = np.where(tap_dependent_impedance, + [c(t).item() if f else None for f, t, c in zip(tap_dependent_impedance, tap_pos, vkr_percent_characteristic)], + vkr_percent) + elif sequence == 0: vk_percent = get_trafo_values(trafo_df, "vk0_percent") vkr_percent = get_trafo_values(trafo_df, "vkr0_percent") else: raise UserWarning("Unsupported sequence") - tap_lv = np.square(vn_trafo_lv / vn_lv) * (3* sn_mva) if mode == 'pf_3ph' else\ - np.square(vn_trafo_lv / vn_lv) * sn_mva # adjust for low voltage side voltage converter + + # adjust for low voltage side voltage converter: + if mode == 'pf_3ph': + tap_lv = np.square(vn_trafo_lv / vn_lv) * (3 * sn_mva) + else: + tap_lv = np.square(vn_trafo_lv / vn_lv) * sn_mva sn_trafo_mva = get_trafo_values(trafo_df, "sn_mva") z_sc = vk_percent / 100. / sn_trafo_mva * tap_lv diff --git a/pandapower/test/loadflow/test_runpp.py b/pandapower/test/loadflow/test_runpp.py index dce4c3bac..0da531047 100644 --- a/pandapower/test/loadflow/test_runpp.py +++ b/pandapower/test/loadflow/test_runpp.py @@ -1236,6 +1236,19 @@ def test_results_for_line_temperature(): assert np.allclose(net.res_bus.va_degree, va_res_80, rtol=0, atol=1e-6) +def test_tap_dependent_impedance(): + net = pp.create_empty_network() + b1, b2, l1 = add_grid_connection(net) + b3 = pp.create_bus(net, vn_kv=0.4) + pp.create_transformer(net, hv_bus=b2, lv_bus=b3, std_type="0.25 MVA 20/0.4 kV", tap_pos=2) + pp.create_transformer(net, hv_bus=b2, lv_bus=b3, std_type="0.25 MVA 20/0.4 kV") + + pp.toolbox.create_trafo_characteristics(net, 'trafo', [0], [[-2, -1, 0, 1, 2]], [[5.5, 5.8, 6, 6.2, 6.5]], + [[-2, -1, 0, 1, 2]], [[1.4, 1.42, 1.44, 1.46, 1.48]]) + pp.runpp(net) + # todo: trafo3w, check results + + @pytest.mark.skipif(not lightsim2grid_available, reason="lightsim2grid is not installed") def test_lightsim2grid(): # test several nets diff --git a/pandapower/toolbox.py b/pandapower/toolbox.py index 696a252a3..eb15dd5e8 100644 --- a/pandapower/toolbox.py +++ b/pandapower/toolbox.py @@ -11,6 +11,7 @@ import numpy as np import pandas as pd +from scipy.interpolate import interp1d from packaging import version from pandapower.auxiliary import get_indices, pandapowerNet, _preserve_dtypes @@ -3082,3 +3083,24 @@ def get_gc_objects_dict(): _type = type(obj) nums_by_types[_type] = nums_by_types.get(_type, 0) + 1 return nums_by_types + + +def create_trafo_characteristics(net, trafotable, trafo_index, vk_percent_x, vk_percent_y, vkr_percent_x, vkr_percent_y): + if len(trafo_index) != len(vk_percent_x) or len(trafo_index) != len(vkr_percent_x) or \ + len(trafo_index) != len(vk_percent_y) or len(trafo_index) != len(vkr_percent_y): + raise UserWarning("the lengths of the trafo index and points do not match!") + + if 'tap_dependent_impedance' not in net[trafotable]: + net[trafotable]['tap_dependent_impedance'] = False + + net[trafotable].loc[trafo_index, 'tap_dependent_impedance'] = True + + for col in ('vk_percent_characteristic', 'vkr_percent_characteristic'): + if col not in net[trafotable]: + net[trafotable][col] = pd.Series(index=net[trafotable].index, dtype=object, data=None) + elif net[trafotable][col].dtype != object: + net[trafotable][col] = net[trafotable][col].astype(object) + + for tid, vk_x, vk_y, vkr_x, vkr_y in zip(trafo_index, vk_percent_x, vk_percent_y, vkr_percent_x, vkr_percent_y): + net[trafotable].at[tid, 'vk_percent_characteristic'] = interp1d(vk_x, vk_y, kind='quadratic', fill_value='extrapolate') + net[trafotable].at[tid, 'vkr_percent_characteristic'] = interp1d(vkr_x, vkr_y, kind='quadratic', fill_value='extrapolate') From eff2f4afd29efe98dd1945ce408e6f8791f5ff45 Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Wed, 27 Oct 2021 13:02:09 +0200 Subject: [PATCH 246/422] added a tutorial for tap dependent impedance --- tutorials/Tap dependent impedance.ipynb | 400 ++++++++++++++++++++++++ 1 file changed, 400 insertions(+) create mode 100644 tutorials/Tap dependent impedance.ipynb diff --git a/tutorials/Tap dependent impedance.ipynb b/tutorials/Tap dependent impedance.ipynb new file mode 100644 index 000000000..273293ac2 --- /dev/null +++ b/tutorials/Tap dependent impedance.ipynb @@ -0,0 +1,400 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Tap dependent impedance of transformers" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "With an adjustment of a tap position of a transformer, the number of windings is adjusted, which influences the impedance. The user can provide characteristics of the dependance of the variables vk_percent and vkr_percent on the tap position. A helper function in pandapower toolbox converts the provided points in a scipy.interpolate.interp1 object and writes it in the trafo table." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import pandapower as pp\n", + "from pandapower.control.util.auxiliary import plot_characteristic\n", + "from pandapower.control import TapDependentImpedance" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "def create_net():\n", + " net = pp.create_empty_network()\n", + " vn_kv = 20\n", + " b1 = pp.create_bus(net, vn_kv=vn_kv)\n", + " pp.create_ext_grid(net, b1, vm_pu=1.01)\n", + " b2 = pp.create_bus(net, vn_kv=vn_kv)\n", + " l1 = pp.create_line_from_parameters(net, b1, b2, 12.2, r_ohm_per_km=0.08, x_ohm_per_km=0.12,\n", + " c_nf_per_km=300, max_i_ka=.2, df=.8)\n", + " b3 = pp.create_bus(net, vn_kv=0.4)\n", + " b4 = pp.create_bus(net, vn_kv=0.4)\n", + " pp.create_transformer(net, hv_bus=b2, lv_bus=b3, std_type=\"0.25 MVA 20/0.4 kV\", tap_pos=2)\n", + " pp.create_transformer(net, hv_bus=b2, lv_bus=b4, std_type=\"0.25 MVA 20/0.4 kV\", tap_pos=2)\n", + " pp.create_load(net, b3, 0.2, 0.05)\n", + " pp.create_load(net, b4, 0.2, 0.05)\n", + " return net" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "net = create_net()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can create the characteristics for vk_percent and vkr_percent:" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "pp.toolbox.create_trafo_characteristics(net, 'trafo', [0], [[-2, -1, 0, 1, 2]], [[5, 5.2, 6, 6.8, 7]],\n", + " [[-2, -1, 0, 1, 2]], [[1.3, 1.4, 1.44, 1.5, 1.6]])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us check the characteristic:" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAD4CAYAAADiry33AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAApVUlEQVR4nO3de3xV5ZX/8c9KQsItgJJwB4FwUaQgEK4iiFarVks7tZWLCgginaK92N+M8+u0nRmnfdXpdFodrJSreEHbqlinYxXbXytaIBCuchMTyiUgJOESkkDu6/fHOaGHEMgJJDnJyff9euV1ztn72dlrb8I6+zz7Oc8yd0dERKJXTKQDEBGR+qVELyIS5ZToRUSinBK9iEiUU6IXEYlycZEOoDpJSUneu3fvSIchItJkbNq0Kdfdk6tb1ygTfe/evUlPT490GCIiTYaZHbjYOnXdiIhEOSV6EZEop0QvIhLllOhFRKKcEr2ISJRTohcRuQIL389kbWbuecvWZuay8P3MCEV0ISV6EZErMKRHe+av3HIu2a/NzGX+yi0M6dE+wpH9TY2J3swGmtnWkJ/TZvbNKm3MzJ4xswwz225mw0PW3WFmHwfXPVEPxyAictku54rc3TlZWMLeY/lUVMCUkT2ZvSKdqYvW8/CKdB66sTet4+PIOnmGotLyOt9/bVlt5qM3s1jgMDDa3Q+ELL8LeBS4CxgNPO3uo4Pt9wK3AVnARmCqu++61H5SU1NdX5gSkYZQeQW+YNowhvW8ind3HuX7v93B7PF9uLpNPDn5xeQUFJN9OvCYk19MbkExpeXh587ElnEkt00gqW0CSYnxJLVNCLxOTCC3oJjFa/bx5OTBfG5wFzYfPHkunnEpSWHvw8w2uXtqdetq+83YW4HM0CQfNBl4wQPvGuvNrIOZdQV6Axnuvi8YyKvBtpdM9CIiDaGwuIyzJeWkXnMV9y9JoyIkd//sD58AYAYd2yTQKTGB5MQEBnROJDkxkKiTEwPLs06e4d//dzdTR/ViZdpBHr99AF3btyK3oDj4U3LuDWPP0Xxy83M5XVR2Xizf+NVWEl6PoU1CXK2TfE1qm+inAK9Us7w7cCjkdVZwWXXLR1f3i81sLjAXoFevXrUMS0SkZu7OnqP5vL83hzV7c9i4/wSl5U6rFrH0vLo1B46f4bPXdeL+MdcEknliAle3jicu9uK93Gszc/nh23t4dvpwxqUkMb5/0rkr8imDLp7LisvKOR58A8gtKGZl2kH+uCebRyb0qtMkD7VI9GYWD3wB+KfqVlezzC+x/MKF7ouARRDougk3LhFp3ha+n8mQHu3PS45rM3PZnpXHvIkpnCws4YOMXNYEk3t2fjEA13ZJZNaNfZg4IJmyigq+9attPHZLP15KO8hD4/twfbfwbqZuz8o77wp8XEoSC6YNY3tW3iUTdkJcLN06tKJbh1aszcxly6FT5/Y/JqVjxK7o7wQ2u/uxatZlAT1DXvcAjgDxF1kuIlInKke9VCbbDz7J4esvb+bW6zoz+dm/sD3rFO7QvlULbuqfxIQByUzon0yX9i2BwJvCt3617dz2Y1I61qqPfN7ElAuWjUtJCjtRh94juJz9hyPsm7HB/vV33X15Nes+D8znbzdjn3H3UWYWR+Bm7K0EbuJuBKa5+85L7Us3Y0WkNj78JJd5L22iS/sEMrMLcSDG4IaeHZgwIJmJA5IZ0qMDsTEXdjLU9ImgvtXV/i91MzasRG9mrQn0tfd197zgsnkA7r7QzAxYANwBnAFmuXt6sN1dwM+BWGCZu/+wpv0p0YtIOIpKy3l9cxaL1+xj//EzAAzq2o6vT+rH+H5JtG/dIsIRNpwrHnXj7meAjlWWLQx57sDXL7Lt28DbYUcrIlKDvLOlvLT+AMv/sp/cgmL6JrWhbUIcM8f1ZuWGg1zVpkWzSvI1aZSFR0REqnM0r4ilH+5jZdpBCkvKmTAgmZv6d+S5P+9j0YMjAn3j/eq+j7upU6IXkUYvIzufX76/jze3HqbC4e4hXZk7oS/Xd2vPwvczL2vUS3NSq2/GNhT10YsIwKYDJ1n4fibv7TpGyxYx3Jfakzk39aXn1a0jHVqjU5ffjBURqVNVR51UVDjP/TmDVzYeIuvkWTq0bsFjt/Znxthr6Ng2IcLRNk1K9CISUZXj4J+ecgPZp4v52R8+JutkEUlt4vnBPYO4b2RPWscrVV0JnT0RiahxKUk8dms/ZizbQIVDrBl/f3MK37ptAC0uMfWAhE+JXkQiprC4jJ+8+zEr1u2nbXwc+cVl/P2kFB6/fWCkQ4sqersUkYhYszeH23+2hhXr9nP7oM7ExRqP3dKPl9MOXjA/u1wZJXoRaVCnzpTwnd9s48FlG0hoEcMP7h7Exv0neXb6cL59+0AWTBt2XsUmuXJK9CLSYH7/0ad89r/WsGrLYeZP6sfbj91EUVnFRcfBS93QOHoRqXfZp4v43m938O7OYwzu3o6nvjwk7GmAJTwaRy8iEeHu/CY9i3//310Ul1XwxJ3XMmd8n0sW8pC6p0QvIvXi0Ikz/NMbH/FhRi6jel/Nj7/8Gfomt410WM2SEr2IXJGq32wtr3D+5a2dvLLhIC1bxPLkFwczfVQvYqqZC14ahhK9iFyR0ApPyW0T+NrLm8jILuSGnu35xfQRdOvQKtIhNnthJXoz6wAsAQYTqPn6kLuvC1n/f4DpIb/zOiDZ3U+Y2X4gHygHyi52s0BEmqZxKUksmDqM2SvSKS4txx3mB7/0FKhJJJEW7hX908A77n5vsEj4eVPHuftPgJ8AmNk9wLfc/URIk0nurkGxIlGoqLSc1zZlcbakHIA54/vwnc9dG+GoJFSNt77NrB0wAVgK4O4l7n7qEptMBV6pk+hEpFHLyS9m2uL1vLHlMK1axPLoLf14Y8thfdmpkQlnjFNfIAdYbmZbzGyJmbWprmGwtuwdwOshix1YbWabzGzuxXZiZnPNLN3M0nNycmpxCCISCbuOnOaLz/6Fjw7n0TYhjqUzU3lc32xtlMJJ9HHAcOA5dx8GFAJPXKTtPcBfqnTb3Ojuw4E7ga+b2YTqNnT3Re6e6u6pycnJ4R+BiDS41TuPcu/CtZRXONNHX3OujB/om62NUTh99FlAlrunBV+/xsUT/RSqdNu4+5HgY7aZrQJGAWsuL1wRiSR3Z+H7+/iPd/cwpHt7Fj+YSqd2LS9oNy4lSWX8GpEar+jd/ShwyMwq5w29FdhVtZ2ZtQcmAr8NWdbGzBIrnwO3AzvqIG4RaWBFpeU8/pttPPXOHu4e0o1fPTK22iQvjU+4o24eBV4OjrjZB8wys3kA7r4w2OZLwGp3LwzZrjOwKjjEKg5Y6e7v1EnkItJgcvKLeeTFdDYfPMXjtw1g/i39NHSyCdGkZiJySbuOnObhF9I5XljMz756A3d+pmukQ5JqaFIzEbksq3ce5Zu/2kq7li14bd44BnfXjJNNkRK9iFwg3Juu0jQo0Ys0c1UnJSsuK2fOinQ++CSXe4Z24yf3DqFli9gIRylXQpNCizRzlZOSrc3MJSe/mLuf+YAPPsnlKyN68MyUG5Tko4Cu6EWaucovOH3tpU1UVEB+cRnfvLU/37xtQKRDkzqiRC8itG/VgqLSCorLKpgysqeSfJRR141IM7fn6Gnu++U6SssrmDH2GlbvOqZ5aqKMEr1IM7b3WD5fXbiOwpJyfvrVofzr5MGalCwKKdGLNFMZ2QVMW5xGeYXz068M5UvDegCalCwaqY9epBnal1PAtMXrAXjr0fGkVCnarUnJoouu6EWamQPHC89dyb/y8OgLkrxEHyV6kWbk0IkzTF20nuKyclY+PIb+nRMjHZI0AHXdiDQTWSfPMGXRegpLyln58GgGdlGSby50RS/SDBw5dZZpi9PILyrl5Tmjub6bJidrTpToRaLc0bwipi1ez8nCEl6cPVozUDZDYSV6M+tgZq+Z2R4z221mY6usv9nM8sxsa/Dn+yHr7jCzj80sw8wuVoJQROpB9ulAks8tKGHF7FEM7dkh0iFJBITbR/808I673xusMtW6mjYfuPvdoQvMLBZ4FriNQO3ZjWb2lrtfUIpQROpWTn4x05akcfR0ES88NIrhva6KdEgSITVe0ZtZO2ACsBTA3Uvc/VSYv38UkOHu+9y9BHgVmHyZsYpImI4XFHP/kjQOnzzL8pkjSe19daRDkggKp+umL5ADLDezLWa2JFjou6qxZrbNzH5vZtcHl3UHDoW0yQouu4CZzTWzdDNLz8nJqc0xiEiIk4UlTF+Sxv7jhSydkcrovh0jHZJEWDiJPg4YDjzn7sOAQqBqX/tm4Bp3Hwr8N/BmcHl11YOrLVLr7ovcPdXdU5OTk8OJXUQIFA6pnJcm70wp9y9NIyO7gC8O6864fvp2q4SX6LOALHdPC75+jUDiP8fdT7t7QfD520ALM0sKbtszpGkP4MgVRy0i51QWDnlv1zEeWJbGx0fzadUilsk3dIt0aNJI1Hgz1t2PmtkhMxvo7h8DtwLn3Uw1sy7AMXd3MxtF4A3kOHAK6G9mfYDDwBRgWh0fg0izNi4lif/66lDmrEinwp3W8XH88sERmqtGzgl31M2jwMvBETf7gFlmNg/A3RcC9wJfM7My4Cwwxd0dKDOz+cC7QCywzN131vVBiDRn5RXOKxsOUlYR6BV96MbeSvJynrASvbtvBVKrLF4Ysn4BsOAi274NvH2Z8YnIJbg7T/5uF+/uPEbr+FjmjO/DS2kHGZPSUcleztE3Y0WasMUf7OP5tftpGRfDkhmpfPv2gSocIhdQohdpot7adoQfvb2Ha7sksnTGyHNX8CocIlVp9kqRJmhd5nG+8+ttjOp9NS/MHkXLFrHnrVfhEAmlK3qRJmbvsXzmvphOr46tWfTgiAuSvEhVSvQiTcjRvCJmLttAqxaxPD9rJB1ax0c6JGkClOhFmoj8olJmLt9A3tlSls8aSY+rqptbUORC6qMXaQJKyir42kubycguYNnMkSocIrWiRC/SyLk7T7y+nQ8zcvnPrwxlwgDNBSW1o64bkUbup6v38saWwzx+2wDuHdEj0uFIE6REL9KIvZx2gAV/ymDqqJ7Mv6VfpMORJkqJXqSR+uPuY3zvzR1MGpjMk5MHY1bdrN8iNVOiF2mEth46xfyVWxjcvT0Lpg0nLlb/VeXy6a9HpJHZn1vI7Oc3kpQYz9IZI2mToDETcmWU6EUiLLRC1PGCYmYu30BxWTl3Xt+F5MSECEcn0UCJXiTCKitE/XlPNrNXpHP45FlizLj52k6RDk2ihD4TikTYuJQknpkyjFnPb6C03GmbEMfCB1QhSupOWFf0ZtbBzF4zsz1mttvMxlZZP93Mtgd/1prZ0JB1+83sIzPbambpdX0AIk2du/POzk8pLVeFKKkf4V7RPw284+73BssJVp1k46/ARHc/aWZ3AouA0SHrJ7m7qiCIVGPh+/t4af1BWraIYe5NfVUhSupcjYnezNoBE4CZAO5eApSEtnH3tSEv1wP6+p5IGH679TBPvbOH+NgYlj44khv7JzEmpSPzV25hwbRhSvZSJ8LpuukL5ADLzWyLmS0xszaXaD8b+H3IawdWm9kmM5t7sY3MbK6ZpZtZek5OTljBizRlazNz+c5vttHzqlYsnjGCG/urQpTUD3P3SzcwSyVwlX6ju6eZ2dPAaXf/XjVtJwG/AMa7+/Hgsm7ufsTMOgHvAY+6+5pL7TM1NdXT09WdL9Frz9HTfOW5dXTt0JLfzBtH+1YtIh2SNHFmtsndU6tbF84VfRaQ5e5pwdevAcOr2ckQYAkwuTLJA7j7keBjNrAKGFW78EWiy6d5Z5m1fCOtE2JZPmuUkrzUuxoTvbsfBQ6Z2cDgoluBXaFtzKwX8AbwgLvvDVnexswSK58DtwM76ih2kSbndFEps5ZvJL+ojOUzR9G9Q6tIhyTNQLijbh4FXg6OuNkHzDKzeQDuvhD4PtAR+EVw4qWy4EeIzsCq4LI4YKW7v1O3hyDSNASKh2wiI7uA5bNGMqhbu0iHJM1EWIne3bcCVft+FoasnwPMqWa7fcDQqstFmht35x9f385fMo7z068M5ab+Kh4iDUdTIIg0gP9c/TGrthzmO7cP4MsqHiINTIlepJ69tP4Az/4pk6mjevH1SSoeIg1PiV6kHv1h1zG+/9sd3HJtJ56cfL2Kh0hEKNGL1JOth04x/5XNweIhw1Q8RCJGf3ki9eDA8UDxkOTEBJbOGEnreE0UK5GjRC9Sx44XFDNj2QYq3Fkxa5SKh0jEKdGLXKHQClFnS8qZ80KgeMjdQ7rSN7lthKMTUaIXuWKVFaI+/CSXx17dwpaDp0hoEcudn+ka6dBEAFWYErli41KSWDB1GLOe30hxWQWt42NZ9KAqREnjoSt6kTqw/XAexWUVAMwZ30dJXhoVJXqRK/TbrYf58e8DxUMendSPl9IOnuuzF2kMlOhFrsDazFy+/eutxMUYi2eM4PHPDWTBtGHMX7lFyV4aDSV6kcv08dF8HnlxEx1axfPc9BFMHNAJUIUoaXx0M1bkMhzNK2Lm8g20ahHLqq/feMG88uNSktRPL42GruhFaim/qJSZyzdw+mwpy2eNVPEQafTCSvRm1sHMXjOzPWa228zGVllvZvaMmWWY2XYzGx6y7g4z+zi47om6PgCRhhQoHrKZjOwCnrt/BNd3ax/pkERqFO4V/dPAO+5+LYFCIrurrL8T6B/8mQs8B2BmscCzwfWDgKlmNqgO4hZpcO7OE69v58OMXH785SFMGKDiIdI01NhHb2btgAnATAB3LwFKqjSbDLzg7g6sD34C6Ar0BjKClaYws1eDbXch0sT8dPVe3thymMdvG8C9Kh4iTUg4V/R9gRxguZltMbMlwULfoboDh0JeZwWXXWz5Bcxsrpmlm1l6Tk5O2Acg0hBeTjvAgj9lMHVUT+bfouIh0rSEk+jjgOHAc+4+DCgEqva1V1dNwS+x/MKF7ovcPdXdU5OT9ZFYGo8/7j7G997cwaSByTw5ebCKh0iTE06izwKy3D0t+Po1Aom/apueIa97AEcusVykSdh26BTzV27h+m7tWTBtuIqHSJNU41+tux8FDpnZwOCiW7mwj/0t4MHg6JsxQJ67fwpsBPqbWR8ziwemBNuKNHoHjhfy0PMbSUqMZ9nMkbRJ0NdOpGkK9y/3UeDlYLLeB8wys3kA7r4QeBu4C8gAzgCzguvKzGw+8C4QCyxz9511ewgide9EYQkzl2+k3J3nVTxEmriwEr27bwVSqyxeGLLega9fZNu3CbwRiDQJZ0vKmb1iI0dOnWXlw6NJUfEQaeLU4SjNXmiFqPIK5xvB4iF3faYLI665OsLRiVw5JXpp9iorRK3NyOVf/2cnq3cdo3V8LF9J7VnzxiJNgO4uSbNXOdvk7OfTOVtaTsu4GJbMSNWkZBI1dEUvAuQWlHC2tByAh2/qqyQvUUWJXpq9dZnH+favAsVD/v7mFF7eoApREl2U6KVZ23ssn4ee30CFO89NH8E/3HGtKkRJ1FGil2braF4RM5dtIMaMn993A7dd3xlQhSiJProZK81SZfGQvLOl/Hre2AvmlVeFKIkmSvTS7IQWD1k2c6SKh0jUU6KXZsXdeeKNQPGQn9yr4iHSPKiPXpqV/3pvL29sPsy3bxugL0RJs6FEL83GyrSD/Pf/y2DKyJ48quIh0owo0Uuz8Mfdx/jnNz9i0sBk/v2LKh4izYsSvUQ9FQ+R5k5/8RLVDh4/w+wVG+nYNp6lM1NVPESapbD+6s1sP5APlANl7p5aZf3/AaaH/M7rgGR3P1HTtiL15URhCTOWb6Cswlnx0Cg6JbaMdEgiEVGby5tJ7l7td8Ld/SfATwDM7B7gW+5+IpxtRepDUWk5c1Zs5PCps6yco+Ih0rzVR9fNVOCVevi9ImE5Vzzk0Cmevu8GUnureIg0b+EmegdWm9kmM5t7sUZm1hq4A3j9Mrada2bpZpaek5MTZlgi51eIcnf+7X928u7OY9wysBN3fqZrhKMTibxwu25udPcjZtYJeM/M9rj7mmra3QP8pUq3TVjbuvsiYBFAamqq1/I4pBmrrBC1YNowdhzOY8W6A7SMi2H2TX0iHZpIoxBucfAjwcdsM1sFjAKqS/RTqNJtU4ttRS5L5WyTc1/YREFxGfGxMSydMVKTkokE1dh1Y2ZtzCyx8jlwO7CjmnbtgYnAb2u7rciVijHjTEkZAHNu6sON/ZXkRSqFc0XfGVgV/CZhHLDS3d8xs3kA7r4w2O5LwGp3L6xp27oKXgSCxUOWbwBg7k19eHXjIcb31zTDIpXMvfF1h6empnp6enqkw5Am4GheEZ9/Zg0nzpTy9H038IUburM2M/dcn72SvTQXZrbpYt9T0jdjpcmqLB5yuqiMH35xMF+4oTugClEiVen74NIkVS0eUnVeeVWIEvkbJXppctydJ15X8RCRcKnrRpqcn67eyxtbVDxEJFxK9NKkvJx2gAV/ymDqKBUPEQmXEr00GX/cfYzvvbmDSQOTeXKyioeIhEuJXpqErcHiIYO7q3iISG3pf4s0egeOFzL7+Y0kJcazdMZIFQ8RqSUlemnUjhcUM2PZBircWTFrFMmJCZEOSaTJ0aWRNFpnS8qZ80I6n+YVsfLh0fRV8RCRy6JEL41SeYXz2Ktb2HroFM9NH8GIa1Q8RORyqetGGh135wdv7eC9Xcf4l3uu547BXSIdkkiTpkQvERdaISrweh8vrT/I6D5XM2Nc78gFJhIllOgl4iorRK3NzOXNLYd56p09xMfG8Ngt/SMdmkhUUB+9RFzlbJOPvLiJwuIy4mKMxTNGqHiISB3RFb00CglxsRSVlFPh8ND4Pkwc0CnSIYlEjbASvZntN7OPzGyrmV1QEcTMbjazvOD6rWb2/ZB1d5jZx2aWYWZP1GXwEh22HjrF9CXrKXfnoRt789qmrPP67EXkytSm62aSu1/qf98H7n536AIziwWeBW4DsoCNZvaWu++qfagSjT7KymPqonWUlFXwzNRh3D2kG58d1FkVokTqUH133YwCMtx9n7uXAK8Ck+t5n9JE7Dicx/1L04iPi+HnUwJJHlQhSqSuhXtF78BqM3Pgl+6+qJo2Y81sG3AE+I677wS6A4dC2mQBo6vbgZnNBeYC9OrVK8ywpKna/elpHliaRpv4WH71yFh6Xt36vPWqECVSd8JN9De6+xEz6wS8Z2Z73H1NyPrNwDXuXmBmdwFvAv2B6uaRrbYaefDNYxEEioOHewDS9Ow9ls/0JWkkxMXyytwxFyR5EalbYXXduPuR4GM2sIpAl0zo+tPuXhB8/jbQwsySCFzBh5YA6kHgil+aqYzsfKYtXk9cjPHK3DFc07FNpEMSiXo1Jnoza2NmiZXPgduBHVXadLFgFQgzGxX8vceBjUB/M+tjZvHAFOCtuj0EaSr25RQwdXEaEEjyfZKU5EUaQjhdN52BVcE8HgesdPd3zGwegLsvBO4FvmZmZcBZYIq7O1BmZvOBd4FYYFmw716amf25hUxdvJ6KCufVuWNI0UyUIg3GAvm4cUlNTfX09AuG60sTdejEGe775TrOlpbz6tyxDOySGOmQRKKOmW1y99Tq1mkKBKlXWSfPMGXRes6UlrNyzhgleZEI0BQIUm+OnDrL1MXryS8q5aXZoxnUrV2kQxJplpTopV4czSti2uL1nCos5cXZoxncvX2kQxJpttR1I3Uu+3QgyecWlPDC7FEM7dkh0iGJNGu6opcrFlo4JCe/mGlL0jh86ixfvKEbw3tdFeHoRESJXq5YZeGQd3Z8yvQl6zl4/AzxcTHcNaRrpEMTEdR1I3VgXEoSP7h7EF9/eTMYtI6P45cPjNBcNSKNhK7o5Ypt+OsJ/vV3u4iNMcorYNa43kryIo2IEr1ckV+nH2L6kvUkxMbQKj6Ox27px0tpB1U4RKQRUdeNXJbyCuepd/awaM0+Bndrx+FTZ3nu/uGMS0liTEpHFQ4RaUSU6KXW8otK+earW/njnmxmjL2Gzu1ackOvDueSemjhECV6kchTopdaOXTiDHNWpJORU8CTXxzMA2OuqbadCoeINB5K9BK2jftP8MiLmygrr2DFrFGM769ELtIUKNFLWH6dfojvrvqInle1ZsmMVPpqmmGRJkOJXi4p9Kbr+H5JPDttOO1bt4h0WCJSC2ElejPbD+QD5UBZ1TmPzWw68I/BlwXA19x9WzjbSuMVetP1wbHX8L27B9EiViNyRZqa2lzRT3L3iw2O/isw0d1PmtmdBIp8jw5zW2mEwr3pKiKNX5103bj72pCX6wkUAZcmYuH7mQzp0f7cKJmN+0/w0PMbKSnTTVeRaBDu53AHVpvZJjObW0Pb2cDva7utmc01s3QzS8/JyQkzLKkLlZOSrc3M5Tfph5iyaB2FxWX86EuDleRFokBYNWPNrJu7HzGzTsB7wKPuvqaadpOAXwDj3f14bbYNpZqxDe/PH2cz78VNFJVVEBdjPDd9BLdd3znSYYlImC5VMzasK3p3PxJ8zAZWAaOq2ckQYAkwuTLJh7utRNaGv57g3/5nF0VlFQA8MrGvkrxIFKkx0ZtZGzNLrHwO3A7sqNKmF/AG8IC7763NthI5+UWlfO/NHXz1l+vILy4lsWVgUrJXNhzSpGQiUSScm7GdgVVmVtl+pbu/Y2bzANx9IfB9oCPwi2C7ymGU1W5b50chtfanPdl8d9VHHD1dxF2Du7Bu3/Fzc8hrUjKR6BJWH31DUx99/TlRWMKTv9vFqi2H6d+pLf9x7xDS/nrivFE3AGszc9melce8iSkRjFZEwnWpPnp9M7aZcHd+t/1T/uWtnZwuKuUbt/bn7yelkBAXy7Bq6rpqUjKR6KFE3wwczSvin9/cwR92H2Noj/Y8de9oru3SLtJhiUgDUaKPYu7OqxsP8aP/3U1pRQX//PnrmHVjH2JjLNKhiUgDUqKPUgeOF/LE6x+xbt9xxvbtyI+//Bmu6dgm0mGJSAQo0UeB0CkMyiucZR/+lf94dw+G8eO/+wz3jexJcOSTiDRDSvRRoHIKg3/43EBe2XCQbVl5tIg1fnbfUD4/pFukwxORCFOijwIJcTH07tiGJ974iFYtYmibEMeiB0Ywrp9GzYiIEn2TVVHh/OnjbBa+n8nG/Sfp0LoFo3pfzYb9J3jslr5K8iJyjhJ9E1NSVsFb246waE0me48V0L1DK35wzyB6d2zN47/ZzmO39OOltIOMSemocfAiAijRNxmFxWW8suEgSz/8K5/mFXFtl0R+ft8NfH5IVzbuP3HelAWawkBEQinRN3K5BcU8/5f9vLj+AHlnSxnd52p+9Hef4eYByedG0mzPyjsvqY9LSWLBtGFsz8pTohcRzXXTGFSt8ASwaksWL6w7wK4jpykpr+Bzg7rwyMS+1U5XICKiuW4aucrhkQumDaNdyxY8+b+7SNt3grgY494RPXh4Ql9SkttGOkwRaaKU6COsosJp17IFtw3qzINLN1BW4Rhw95CufP/uQXRq1zLSIYpIE6dEHwHHC4r54JNc1uzNYc0nueQWFAOQ1Dae3IIS5k7oyz/ddV2EoxSRaBFWojez/UA+UM7fioqErjfgaeAu4Aww0903B9fdEVwXCyxx9x/XWfRB1fVxN+R86jXtv7S8gi0HT7Fmbw7v781hx5E83OHqNvHc1D+JCf2TaRUfwz+/ufPc8MiJA5N1I1VE6kRtrugnufvF6svdCfQP/owGngNGm1ks8CxwG5AFbDSzt9x91xXEfIHQPu5xKUmszcw997ohVLf/r720mXtHdOeRF9NZm3Gc/OIyYmOM4b068O3PDmDiwGQGd2tPTIydF6+GR4pIXaurrpvJwAseGMKz3sw6mFlXoDeQ4e77AMzs1WDbOk30lcMJH3lhE58b3Jn3dmXz8/uGhp0kr+QTwdmScnp0aM1jt/Zj7gubSEluw0eH86hwWPrhfrp3aMXdQ7sycUAyY1OSaN+qxQW/Q8MjRaQ+hZvoHVhtZg780t0XVVnfHTgU8joruKy65aOr24GZzQXmAvTq1SvMsP5mbN+OnCkp47VNhwGY9Xw6reNjSWqbQFLb+MBjYgLJ5x6Dy9omMKBz2/OuoD/8JJf5r2zmHz43kD9/nE1OfjE5BcXk5BeTnR94zA0+5heXnRfHtqw8el3dmhnjejNxQBIpyW1rnDmyujcTVXgSkboSbqK/0d2PmFkn4D0z2+Pua0LWV5fJ/BLLL1wYePNYBIFx9GHGdc66zOO0SYjj5oGd+OPuY9wztBut4+PILSgmt6CY/ccLST9wkhOFJdVuHx8bw/1L0mjZIpYzJeUA/N9VO85r0zYhjk6JgTeK67q1Y0LbBJITAz/HC4p57s+Z3D/mGl7deIjruibSr1NibQ9DRKTOhZXo3f1I8DHbzFYBo4DQRJ8F9Ax53QM4AsRfZHmdWpuZy/xXtrDwgREX9NFXvSouK6/gRGEJ2fnFwTeBksBjfjEffJLDx8cKGNn7Kr4wtNu5JJ7ctiVJifG0jq/+dK3NzOXHv99zbv/j+yepj11EGo0aE72ZtQFi3D0/+Px24N+qNHsLmB/sgx8N5Ln7p2aWA/Q3sz7AYWAKMK1Oj4Da9XHHxcbQqV3LC8anr83M5Y0th8+Neknp1DbsJK0+dhFpzGqcAsHM+gKrgi/jgJXu/kMzmwfg7guDwysXAHcQGF45y93Tg9vfBfycwPDKZe7+w5qCaugpEKp+ArjUJwIRkcboUlMgaK4bIj8OX0TkSinRi4hEuUsl+piGDkZERBqWEr2ISJRTohcRiXJK9CIiUU6JXkQkyjXKUTfBL1oduMzNk4CLzbIZSYqrdhRX7Siu2onGuK5x9+TqVjTKRH8lzCz9YkOMIklx1Y7iqh3FVTvNLS513YiIRDklehGRKBeNib7qXPmNheKqHcVVO4qrdppVXFHXRy8iIueLxit6EREJoUQvIhLlmnyiN7OfmNkeM9tuZqvMrMNF2t1hZh+bWYaZPdEAcX3FzHaaWYWZXXS4lJntN7OPzGyrmdX7lJ21iKuhz9fVZvaemX0SfLzqIu0a5HzVdPwW8Exw/XYzG15fsdQyrpvNLC94fraa2fcbIKZlZpZtZjsusj5S56qmuBr8XAX329PM/mRmu4P/F79RTZu6PWfu3qR/CFS8igs+fwp4qpo2sUAm0JdAecNtwKB6jus6YCDwZyD1Eu32A0kNeL5qjCtC5+s/gCeCz5+o7t+xoc5XOMcP3AX8nkBd5DFAWgP824UT183A7xrq7ym4zwnAcGDHRdY3+LkKM64GP1fB/XYFhgefJwJ76/vvq8lf0bv7ancvC75cT6AubVWjgAx33+fuJcCrwOR6jmu3u39cn/u4HGHG1eDnK/j7VwSfrwC+WM/7u5Rwjn8y8IIHrAc6mFnXRhBXg3P3NcCJSzSJxLkKJ66IcPdP3X1z8Hk+sBvoXqVZnZ6zJp/oq3iIwLtgVd2BQyGvs7jwxEaKA6vNbJOZzY10MEGROF+d3f1TCPxHADpdpF1DnK9wjj8S5yjcfY41s21m9nszu76eYwpHY/7/F9FzZWa9gWFAWpVVdXrOaiwO3hiY2R+ALtWs+q67/zbY5rtAGfBydb+immVXPK40nLjCcKO7HzGzTsB7ZrYneCUSybga/HzV4tfU+fmqRjjHXy/nqAbh7HMzgTlPCoL1mt8E+tdzXDWJxLkKR0TPlZm1BV4Hvunup6uurmaTyz5nTSLRu/tnL7XezGYAdwO3erCDq4osoGfI6x7AkfqOK8zfcST4mG1mqwh8PL+ixFUHcTX4+TKzY2bW1d0/DX5Ezb7I76jz81WNcI6/Xs7RlcYVmjDc/W0z+4WZJbl7JCfwisS5qlEkz5WZtSCQ5F929zeqaVKn56zJd92Y2R3APwJfcPczF2m2EehvZn3MLB6YArzVUDFejJm1MbPEyucEbixXO0KggUXifL0FzAg+nwFc8MmjAc9XOMf/FvBgcHTEGCCvsuupHtUYl5l1MTMLPh9F4P/48XqOqyaROFc1itS5Cu5zKbDb3f/rIs3q9pw19B3nuv4BMgj0ZW0N/iwMLu8GvB3S7i4Cd7czCXRh1HdcXyLwrlwMHAPerRoXgdET24I/OxtLXBE6Xx2BPwKfBB+vjuT5qu74gXnAvOBzA54Nrv+IS4ysauC45gfPzTYCgxPGNUBMrwCfAqXBv63ZjeRc1RRXg5+r4H7HE+iG2R6St+6qz3OmKRBERKJck++6ERGRS1OiFxGJckr0IiJRToleRCTKKdGLiEQ5JXoRkSinRC8iEuX+P8uspP3k7BpEAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plot_characteristic(net.trafo.at[0, 'vk_percent_characteristic'], -2, 2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "plot_characteristic(net.trafo.at[0, 'vkr_percent_characteristic'], -2, 2)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "pp.runpp(net)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us verify that the adjusted values were considered in the calculation:" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
vm_puva_degreep_mwq_mvar
20.931359-3.3907360.20.05
30.935414-2.8906450.20.05
\n", + "
" + ], + "text/plain": [ + " vm_pu va_degree p_mw q_mvar\n", + "2 0.931359 -3.390736 0.2 0.05\n", + "3 0.935414 -2.890645 0.2 0.05" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "net.res_bus.loc[[2,3]]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now let us compare the computation time" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "net2 = create_net()" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "8.45 ms ± 154 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" + ] + } + ], + "source": [ + "%timeit pp.runpp(net2)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "8.7 ms ± 225 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" + ] + } + ], + "source": [ + "%timeit pp.runpp(net)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The calculation with tap dependent impedance is about 4 percent slower" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, let us compare the performance of the controller for reference" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "net3 = create_net()\n", + "TapDependentImpedance(net3, [0], net.trafo.at[0, 'vk_percent_characteristic'], output_variable=\"vk_percent\")\n", + "TapDependentImpedance(net3, [0], net.trafo.at[0, 'vkr_percent_characteristic'], output_variable=\"vkr_percent\");" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "30 ms ± 1.63 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" + ] + } + ], + "source": [ + "%timeit pp.runpp(net3, run_control=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The computational time is 3,3 times higher!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The results are identical:" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
vm_puva_degreep_mwq_mvar
20.931359-3.3907360.20.05
30.935414-2.8906450.20.05
\n", + "
" + ], + "text/plain": [ + " vm_pu va_degree p_mw q_mvar\n", + "2 0.931359 -3.390736 0.2 0.05\n", + "3 0.935414 -2.890645 0.2 0.05" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "net3.res_bus.loc[[2,3]]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Further work:\n", + "\n", + "* implementation for trafo3w (only possible with the controller now)\n", + "* further testing\n", + "* file I/O with the new implementation" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.6" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} From 30bbcf423d34ffc85a72846f6cea054d52d48593 Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Wed, 27 Oct 2021 13:03:25 +0200 Subject: [PATCH 247/422] added a tutorial for tap dependent impedance --- tutorials/Tap dependent impedance.ipynb | 43 +++++++++++++++++-------- 1 file changed, 29 insertions(+), 14 deletions(-) diff --git a/tutorials/Tap dependent impedance.ipynb b/tutorials/Tap dependent impedance.ipynb index 273293ac2..52179ff91 100644 --- a/tutorials/Tap dependent impedance.ipynb +++ b/tutorials/Tap dependent impedance.ipynb @@ -104,15 +104,30 @@ ] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": 6, "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAD4CAYAAADiry33AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAAmV0lEQVR4nO3dd3xW5f3/8dcniyU7gLIhYS+BMF2AlqKlUqpYQC3WkTpQWzv0W9vaZbWt/bUqKlVEnFAn2gqOuqgiI+w9wgwrBBDCCGR8fn/khkZISCB3co+8n48HD+6cc3Kfz30R3hyuc13XMXdHRESiV0yoCxARkYqloBcRiXIKehGRKKegFxGJcgp6EZEoFxfqAoqTmJjorVu3DnUZIiIRY8GCBVnu3qi4fWEZ9K1btyYtLS3UZYiIRAwz21zSPnXdiIhEOQW9iEiUU9CLiEQ5Bb2ISJRT0IuIRLlSg97MJptZppktP80xg8xssZmtMLPPimwfZmZrzGy9md0XrKJFRKLFxM/SmZ2e9bVts9OzmPhZetDOUZYr+inAsJJ2mlk94EngSnfvAowKbI8FngAuBzoDY8yscznrFRGJKt2b12X8K4tOhP3s9CzGv7KI7s3rBu0cpY6jd/dZZtb6NIeMBd509y2B4zMD2/sC6919A4CZTQNGACvLVbGISBQZmJTIhLE9ufXFBXRvXo+VOw4wYWxPBiYlBu0cweijbw/UN7NPzWyBmX0/sL0ZsLXIcRmBbcUys1QzSzOztN27dwehLBGRyFA9PpYjufl8vj6La1KaBzXkIThBHwf0Br4FfBP4lZm1B6yYY0t8yom7P+3uKe6e0qhRsbN4RUSizqIt+7j2mTnkFzg/uKA1r6ZlnNJnX17BWAIhA8hy90PAITObBfQIbG9R5LjmwPYgnE9EJCos3voVY5+Zw9G8Ah4b05Ph3Zvyjc5NGP/KoqB23wTjiv5t4CIzizOzmkA/YBUwH2hnZm3MLAEYDbwThPOJiES8pRlfcf2zc6kWF8ujowtDHv7XZ780Y3/QzlXqFb2ZTQUGAYlmlgE8AMQDuPtEd19lZu8BS4ECYJK7Lw9873jgfSAWmOzuK4JWuYhIhFqWsZ/rJs2lXs14pqUOoFm9Gl/bPzApMaj99BaODwdPSUlxrV4pItFo+bb9jH1mDnVqxDMttT/N69cMyvua2QJ3Tylun2bGiohUkuXb9nPtpLnUrh7P1FuCF/KlUdCLiFSCFdv3c92zczmnWhzTUvvTokHlhDwo6EVEKtzK7Qe4dtJcasbHMvWWyg15UNCLiFSoVTsOcO2kOdSIj2Va6gBaNqzckAcFvYhIhVm9s/BKvlpcLNNS+4ck5EFBLyJSIdbszGbsM3NJiI1hWmp/WjWsFbJaFPQiIkG2dlc2Y5+ZQ3ysMTW1P60TQxfyoKAXESmXk9eTX7crm6ufmk1Obj5Tb+lPmxCHPCjoRUTKpeh68ut2ZXPVU7PJPprHb0d0oW2jc0JdHhCcRc1ERKqs42vT3PbSQo7lFZCTl89frurO1b1blP7NlURX9CIi5VSnejxH8/I5kpvPtX1bcnVK+IQ8KOhFRMpl7oY9jJo4m2N5BVzfvyUzlu8M+nry5aWgFxE5Sx+v3sV1k+aeWE/+99/pxoSxPb/2DNhwoKAXETkLby/eRuoLC2h4TjWeuq53ha4nX166GSsicoZenLOZX7+9nL6tGzBpXAq1q8d/bX+w15MvLwW9iEgZuTtPfLKeRz5Yy2WdGjNhbC+qx8eGuqxSKehFRMrA3fnjjFU889+NjOzZjD9f3Z342Mjo/VbQi4iUIi+/gF+8tYxX0zIYN6AVD3y7CzExFuqyykxBLyJyGkfz8rl76mLeW7GTuy5tx48va4dZ5IQ8KOhFREp06Gget760gP+uy+JXwztz04VtQl3SWVHQi4gU46vDx/jBlPks2foVf766O9eE2WzXM6GgFxE5SeaBHK5/dh4bsw7x5LW9Gdb13FCXVC6RcctYRKSCnLzM8JY9hxn++OdsyDrIcz/oE/EhDwp6Eaniii4zvGZnNldO+Jzd2Uf51fDOXJAcPpOeyqPUrhszmwwMBzLdvWsx+wcBbwMbA5vedPffBfZtArKBfCDP3VOCUrWISJAcX7Lg1hcXcDSvgGP5BTx8VXe+1ydy++RPVpY++inABOCF0xzzX3cfXsK+we4ePqv7iIicZP/hXA4dzSPfYdyAVlEV8lCGrht3nwXsrYRaREQqlbsz8bN0bnt5IWbGzRe24V9Ld4TVypPBEKw++gFmtsTMZppZlyLbHfjAzBaYWerp3sDMUs0szczSdu/eHaSyRESKlxuY7frwzNUkxMYwaVwKvxzeOSyXGS6vYAT9QqCVu/cAHgemF9l3gbv3Ai4H7jCzi0t6E3d/2t1T3D2lUaNGQShLRKR4B3JyuXHKfKbO28qAtg147oY+DOrQGAjPZYbLq9zj6N39QJHXM8zsSTNLdPcsd98e2J5pZm8BfYFZ5T2niMjZ2rr3MDdOmc/GrEMlToQKt2WGy6vcV/Rmdq4FFn4ws76B99xjZrXMrHZgey1gKLC8vOcTETlbi7bsY+STX7DrQA4v3Ng3ome7nomyDK+cCgwCEs0sA3gAiAdw94nA1cBtZpYHHAFGu7ubWRPgrcC/AXHAK+7+XoV8ChGRUsxctoMf/XMxjetUY1rqAJIbnxPqkipNqUHv7mNK2T+BwuGXJ2/fAPQ4+9JERMrP3fnHrA08PHM1vVrW45nvp9DwnGqhLqtSaa0bEYlaufkF/Gr6cqbN38rw7ufxyKgeEfFEqGBT0ItIVNp/JJc7Xl7I5+uzGD84mXu+0T6iHhYSTAp6EYk6RUfW/OXq7oyqIjddS6KgF5GINvGzdLo3r3tiOOSiLfsYN3keR/MKeOGmvlE1TPJsafVKEYloRVefnLFsB9dM/JKDR/N48DtdFfIBuqIXkYg2MCmRx0f35KYpaRzJzScuxnjy2l4M63peqEsLG7qiF5GIdiAnlylfbuJIbj4AqRe3VcifREEvIhFrzc5srnz8cz5atYuaCbHcOSSZafO3RtWCZMGgrhsRiUhvL97GfW8sIyEuhlrV4vjH9b0ZmJTIgKSGjH9lERPG9lQffYCCXkQiyrG8Av44YxVTZm+ib+sG9G3TgIHJDU+EetHVJxX0hRT0IhIxdh3I4Y6XF5K2eR83XdiG+y7vSHzsqT3Q0bb6ZHkp6EUkIszdsIc7XlnEoaN5PDamJ1f2aBrqkiKGgl5Ewpq78+znG3lo5mpaNajJK7f0o32T2qEuK6Io6EUkbB06mse9byzl30t3MLRzEx65pgd1qseHuqyIo6AXkbCUvvsgt764gPTdB7l3WEduvaQtgedbyBlS0ItI2Hlv+Q5++tpSEuJiePGmflyQrBur5aGgF5GQKrooWV5+AY98sJaJn6VzXt3qvHHbQJrWqxHqEiOegl5EQur4omR/HNmVF77czOz0PVSLi+Hhq7op5INEQS8iITUwKZHUi9ty28sLiQFqJcTyzLgUjYMPIgW9iIRMTm4+D89czZTZm2hQM569h3O56cI2Cvkg06JmIhISK7cf4MoJnzNl9ia+2aUJDtw1JJmX5m7RomRBpqAXkUpVUOA8M2sD33niC/YdzuW+yzsyf9M+nri2F/cM7cCEsT1PPEhEgkNBLyKVZsf+I1w/eS4PzljFJR0a8d7dFwF8baXJoouSSXCYu4e6hlOkpKR4WlpaqMsQkSCasWwH//fmMo7lFfDrb3dmdJ8WmgAVRGa2wN1TittX6hW9mU02s0wzW17C/kFmtt/MFgd+/brIvmFmtsbM1pvZfWf/EUQkUh08msdPX1vC7S8vpHXDmsy4+yLG9G2pkK9EZRl1MwWYALxwmmP+6+7Di24ws1jgCeAbQAYw38zecfeVZ1mriESYBZv38eN/LiZj32HGD07m7svaFbussFSsUoPe3WeZWeuzeO++wHp33wBgZtOAEYCCXiTK5eUX8PjH65nwyXrOq1udf/5wAH1aNwh1WVVWsMbRDzCzJcB24KfuvgJoBmwtckwG0K+kNzCzVCAVoGXLlkEqS0QqWtElDAA2ZR3ipufnk777EN/t2YzfjOiiFSdDLBhBvxBo5e4HzewKYDrQDiiuA67EO7/u/jTwNBTejA1CXSJSCY4vYTBhTE8y9h3hV28v51heAXcOSeYnQzuEujwhCEHv7geKvJ5hZk+aWSKFV/AtihzanMIrfhGJIgOTEvndiC6Me24euflOXIzx2JiefFtPgAob5Q56MzsX2OXubmZ9KRzJswf4CmhnZm2AbcBoYGx5zyci4SO/wHlpzmb+8v4aCgJDtW+7JEkhH2ZKDXozmwoMAhLNLAN4AIgHcPeJwNXAbWaWBxwBRnvh4Pw8MxsPvA/EApMDffciEgVW7TjA/725jMVbv6Jbszps2XuEcQNa8dLcLQxIbqj1asKIJkyJyBnJyc3n0Y/W8cysDdStEc/oPi2YOn/ridmts9OzCvvsi8x2lYpXrglTIiLHfb4ui2/+fRZPfZrOyJ7N+M89l1C7RryWMAhzuqIXkVLtOXiUB99dxZuLttEmsRYPjuyqq/Uwc7oreq1HLyIlcnfeXLiNP7y7kuycPO4ckswdg5OpHh8b6tLkDCjoRaRYm7IOcf/0ZXyxfg+9W9Xnoe92o32T2qEuS86Cgl6kijt5ZmtufgG/fGs5ry/MoGZ8LH/4TlfG9m1JTIwWIYtUCnqRKu7EzNaxPakeH8vdUxexdd8R+rWpz2NjetGkTvVQlyjlpKAXqeIGJiXyx5Fd+cFz8zmaV0CMwU+GtufOIe1CXZoEiYJepArLyc3n2c838tSn6RzLKwAg9eK2Cvkoo6AXqYIKCpzpi7fxl/fXsGN/Dimt6rMu8+CJma0Xt2+k4ZNRREEvUsXMTs/iwXdXsWL7Abo3r8vNF7XhiU/Seeq6XgxMSqR/UkPNbI0ymhkrUkWszzzIzc/PZ+wzc/nqcC6Pjj6f6bdfQG6+a2ZrlNPMWJEol3XwKI/+Zx2vzNtCzfhYbh+czA8uaK1JT1FGM2NFqqCc3Hwmf7GRJz9J50huPtf2a8ndl7aj4TnVQl2aVDIFvUiEO3nCU0GB89cP1vDinM0cyMnjsk6Nue/yTiQ3PifElUqoKOhFIlzRCU8xZvzfm8vYmHWI1ok1mXh9b91QFQW9SKQbmJTIjy9rx7jJhY/yizG4bVASPxvaQcsWCKCgF4lo8zft5bGP1vHfdVlUi4sBnB9enMS9wzqGujQJIxpeKRJh3J3Z67MY/fSXjJr4JSu3H2BM3xbUTIjlriHJ/DNtK7PTs0JdpoQRXdGLRAh359O1u5nw8XoWbN5H49rV+NXwziQl1uKe15bwxLWa8CTFU9CLhDl358OVu5jwyXqWZuynad3q/H5EF0altKB6fCwTP0svccKTgl5AE6ZEwlZBgTNz+U4e/3gdq3dm07JBTW4flMR3ezUnIU69rvJ1mjAlEsZOHgefl1/A3z5cy7T5W9lz6BhtG9Xir6N6MOL8psTFKuDlzCnoRULs+Dj4R0efz479Ofz1gzXsOnCUFvVr8Jsre3JFt/OI1TBJKQcFvUiIdTy3Dt/o1IRxk+dR4BAbY/z4svbcOSRZ4+AlKEoNejObDAwHMt2962mO6wPMAb7n7q8Htm0CsoF8IK+k/iORqmjF9v08P3sT0xdv51heAS3q12DrviPcPiiJuy/Tgz8keMpyRT8FmAC8UNIBZhYL/Al4v5jdg91dg3pFKOx//3DlLp6bvYl5G/dSIz6WUb2b06NFPR6euZq7hiTz0twtDEhqqBEzEjSlBr27zzKz1qUcdifwBtAnGEWJRJt9h44xbf5WXvxyE9v359C8fg3uv6IT16S0YMWO/V8b965x8BJs5e6jN7NmwEhgCKcGvQMfmJkD/3D3p0/zPqlAKkDLli3LW5ZIWFi14wBTvtjE9MXbOJpXwMCkhvzmyi5c2qnJiRusSzP2axy8VKhg3Iz9O3Cvu+ebnXLj6AJ3325mjYEPzWy1u88q7k0C/wg8DYXj6INQl0ilKG545BOfrOf1BRls3XeE6vExXNW7OeMGtKbDubVP+f5bL0k6ZdvApESFvARNMII+BZgWCPlE4Aozy3P36e6+HcDdM83sLaAvUGzQi0Sq48MjH/5uNzZkHWLSrA1kHTpGYq0EfnFFR65JaUG9mgmhLlOqsHIHvbu3Of7azKYA/3b36WZWC4hx9+zA66HA78p7PpFwkptfwOGj+SQ3qkXqiwsAiIsx7vlGe+4YnKzx7xIWyjK8ciowCEg0swzgASAewN0nnuZbmwBvBa7044BX3P298hYsEg5WbN/PGwu28fbibew5dIyGtRI4v3k9Fmd8xe2DkrjrUg2PlPBRllE3Y8r6Zu5+Q5HXG4AeZ1eWSPjZnX2Utxdv4/UFGazemU1CbAyXdmrMVb2aUy0+hrunLT4xPLK/hkdKGNHMWJHTyMnN56NVmbyxMIPP1u4mv8Dp0aIevx/RhW/3aEq9mgnMTs/S8EgJawp6qfJOHjXj7rwwZzNvLdzGht0HOZCTx7l1qpN6cVuu6tWM5MZfHzmj4ZES7hT0UuUdHzXzm293Zuu+I7w0ZzM79ucQH2t8q9t5XNW7OQOTEku8sarhkRLuFPRSZbk7q3dmM3/jPupUj+OuaYuBwlEzqRe15c5Lk6ldPT60RYoEgYJeqpT8Aidt014+WLmLD1buZOveI5hB75b1aVa/Bl+s38Ptg5K4Z2iHUJcqEjQKeol6Obn5/HddFh+s2MlHqzPZe+gYCbExXNgukTsGJXNppyasy8xm/CuLNGpGopKCXiLeyTdTAT5csZO3l2wnL9/5bO1ujuTmU7t6HEM6NmZo53O5pEMjzqlW+OOvUTMS7RT0EvGO30x9YHhn9h0+xmsLMlix/QAATepU4+rezRnapQn92jQs9lmrGjUj0U4PB5eItXN/Dl9uyGL2+j18siaTrIPHAIg1GN6jKTde0IZuzerqKU1SJejh4BIVsg4eZc6GPcxO38Oc9D1syDoEQN0a8fRv24Cc3AI+W7ubOwYn62aqSBEKegm54vrYZ6dnMW/DXjo1rcOX6Xv4Mn0Pa3ZlA3BOtTj6tmnA2H4t6d+2IZ3Pq8OcjXt0M1WkBAp6CbnjfeyPjOqOYbyxMIOZy3eSX1DYrVg9PoY+rRswomdTBrRtSLdmdYmL/V9fu26mipyegl5CKuvgUbbuPUyrBjW5ccr/7st0PLc2l3c9jwFJDenRoi7V4mJLfA/dTBU5Pd2MlUq3de9h3l+xkw9W7CJt814KHJrXr0HiOdVYvLVwmd+fD+sY6jJFIopuxkpIuTtrdmXz/vJdvL9iJyt3FA597HhubcYPacc3uzRh/+Fcxk/9Xx/7he20VoxIsCjopdyKu5n6xbosZi7fQc1qcby/Yieb9xw+sdTA/Vd0YmiXJrRqWAsI9LFPVR+7SEVR0Eu5Hb+Z+vfvnU+BOy98uZlPVmfiQHysMTApkR9enMRlnRvTuHb1U75ffewiFUt99FJuWQeP8tCMVby5cBvHf5r6BYY/Du7YmDpaAVKkwqmPXirE+syDPPv5Bt5YuI1jeQW0bliTTXsO62aqSJhR0MsZcXe+3LCHSf/dyMerM6kWF8NVvZrTu2U9/jhztW6mioQhBb2USW5+Ae8u3cGkzzewfNsBGtZK4EeXteP6/q1YsytbE5ZEwpiCXk7rQE4uU+duYcrsTezYn0NSo1o89N1ujOzZjOrxhZOYli7I0M1UkTCmm7FS7PDItxdt48U5m1m14wCHjuUzoG1Dbrm4DYPaN9ZqkCJhSDdj5bSOD4+cMLYnNRPieGjmKuZu2EuMwZU9mnLzRW3p2qxuqMsUkbNUatCb2WRgOJDp7l1Pc1wfYA7wPXd/PbBtGPAoEAtMcveHg1K1BNXApER+/s0OfP/ZeeQVOAYM734e93+rE+fVrRHq8kSknE593M6ppgDDTneAmcUCfwLeP2nbE8DlQGdgjJl1PutKpULsO3SMX05fxi/eWkZcoEvmh5e0ZcLYXgp5kShRatC7+yxgbymH3Qm8AWQW2dYXWO/uG9z9GDANGHG2hUpw5eUX8PzsTQx65FOmztvKNzo3oUZCLHcNSebVtAxmp2eFukQRCZJy99GbWTNgJDAE6FNkVzNga5GvM4B+p3mfVCAVoGXLluUtS05j9vosfvuvlazZlc2FyYlceX5THp65mieu7aXhkSJRqCxdN6X5O3Cvu+eftL24oRklDvFx96fdPcXdUxo1ahSEsuRkW/ce5tYXFzB20lwO5+bxj+t78+JNfdl76FiJwyNFJPIFY9RNCjDNzAASgSvMLI/CK/gWRY5rDmwPwvnkDB0+lsfET9OZOGsDsWb8dGh7br6o7Ylx8LdeknTK9wxM0sxWkWhR7qB39zbHX5vZFODf7j7dzOKAdmbWBtgGjAbGlvd8Unbuzr+W7uChGavYsT+HEec35b7LO+omq0gVU5bhlVOBQUCimWUADwDxAO4+saTvc/c8MxtP4UicWGCyu68IRtHydcVNeHpl7mae+jSdrfuO0LVZHR4f05OU1g1CWKWIhEqpQe/uY8r6Zu5+w0lfzwBmnHlZciaKTnjqeG4dfvbaEj5anUnt6nE89N1uXJPSgljNZhWpsjQzNgoMTEpkwpie3Px8Gnn5BRzLdy7vci4PX92dujW0FrxIVaegjwK7s4/yj1kbOHyscODTdf1a8oeR3UJclYiEi2AMr5QQ+nj1Lob9fRaz12dRMyGWO4ckM2P5Tk14EpETdEUfoXJy83l45mqmzN5Ei/o1yCtwnrqucMLTAE14EpEiFPQRaM3ObO6auog1u7K58YI2NKgVT69W9bUevIgUS0EfQdydF77czIMzVlGnejxTftCHQR0aF3usJjyJyHEK+giRdfAoP399KR+vzmRwh0b8ZVQPEs+pFuqyRCQCKOgjwKdrMvnpa0s5kJPLb6/swvcHtCKw5ISISKkU9GEsJzefP7+3hslfbKRDk9q8fHM/OpxbO9RliUiEUdCHqXW7srlz6iJW78zmhoGtue/yjicWIRMRORMK+jBQdK0ad+elOZv53b9WEh8bw3M39GFwx+JvuIqIlIWCPgwcX6vmjyO78vqCDP6zKpP4WOORa7or5EWk3BT0YWBgUiI/Hdqe215eiAE1E2J55voULmin4ZEiUn5aAiEMfLhyF7//9ypqJcRS4HDzhW0U8iISNAr6EHJ3npm1gdQX02hatzpxsTHcNSSZl+Zu0Vo1IhI06roJkdz8An799gqmzttCvzb1WbvrIE/q4dwiUgEU9CGw/0gut7+8gC/W7+GOwUmcUy2Ouy9rr7VqRKRCKOgr2eY9h7hxyny27D3MX67uzqiUFsUep7VqRCRYFPSVKG3TXlJfXECBOy/e1I/+bRuGuiQRqQIU9JVk+qJt/Pz1pTSrX4PJN/ShTWKtUJckIlWEgr6CuTt/+886HvtoHf3bNmDidb2pVzMh1GWJSBWioK9AObn5/Pz1pbyzZDujejfnwZHdSIjTiFYRqVwK+gqSdfAoqS+ksXDLV9w7rCO3XtJWSwuLSEgo6IOg6KJkAGt3ZTP2mTl8dTiXp67txeXdzgtxhSJSlZXaj2Bmk80s08yWl7B/hJktNbPFZpZmZhcW2bfJzJYd3xfMwsPJ8UXJZqdnMWvtbkZM+Jw9h47xmys7K+RFJOTKckU/BZgAvFDC/o+Ad9zdzaw78CrQscj+we4e1fP5j09wuvn5NI4cyycmxnhsdE++3aNpqEsTESn9it7dZwF7T7P/oLt74MtagJd0bDRbse0Ah4/l48AtF7VRyItI2AjKEBAzG2lmq4F3gRuL7HLgAzNbYGappbxHaqDrJ2337t3BKKvSPPnpeh6csYqE2BjuGJzEq2kZWpRMRMJGUILe3d9y947Ad4DfF9l1gbv3Ai4H7jCzi0/zHk+7e4q7pzRq1CgYZVWKxz9ax5/fW0NCbAzP3pDCz77ZkQlje57osxcRCbWgDuoOdPMkmVli4Ovtgd8zgbeAvsE8Xyi5O3/7cC1//XAtXZvWYfINfbioXeE/UEUXJRMRCbVyD680s2QgPXAztheQAOwxs1pAjLtnB14PBX5X3vOFA3fnrx+sZcIn67kmpTkPfbc7sTFfHyOvRclEJFyUGvRmNhUYBCSaWQbwABAP4O4TgauA75tZLnAE+F4g9JsAbwUmCcUBr7j7exXyKSqRu/Pwe6v5x2cbGNO3BQ9+pxsxMZoIJSLhq9Sgd/cxpez/E/CnYrZvAHqcfWnhx935w7urePbzjVzXvyW/u7KrQl5Ewp5mxpaRu/Pbf61kyuxN3DCwNQ98u7OWNBCRiKCgL4OCAufX7yznpTlbuPnCNtz/rU4KeRGJGAr6UhQUOPdPX8bUeVv54SVtuW9YR4W8iEQUBf1p5Bc4972xlNcWZDB+cDI/GdpeIS8iEUdBX4L8Audnry3hzUXbuPvSdvzosnYKeRGJSAr6YuTlF3DPq0t4Z8l2fvKN9tx5abtQlyQictb0uCMK15M/vlxBbn4Bd09bzDtLtnNJ+0SFvIhEPAU9/1tPftba3Yx/ZSHvLttBzYRYfnhJUqhLExEpN3XdULhcwaOjz+fGKfPJzXdqJsQyaVyKljAQkaigK3oKJ0P9a8l2cvMLl9K/+cI2CnkRiRoKeuBvH67l1bQMqsfHcNeQZF6au0VLDItI1KjyQf/SnM089vF6qsXFMHlcH+4Z2kHryYtIVKnSQf/+ip38+u3lJDWqVdgnn1zYXaP15EUkmlTZm7HzN+3lrqmL6Na8HlNv6UfNhK83hdaTF5FoUSWv6NftyuamKfNpVq8Gz93Q55SQFxGJJlUu6HfsP8K4yfOoFh/L8zf2pUGthFCXJCJSoapU0O8/kssNk+dzICeP527oQ4sGNUNdkohIhasyQZ+Tm88tL6SxIesg/7i+N12b1Q11SSIilaJKdE7nFzj3vLqYeRv38ujo87kgWTdZRaTqiPorenfnd/9awYxlO/nltzox4vxmoS5JRKRSRX3QP/VZOs9/uZmbL2zDzRe1DXU5IiKVLqqD/vUFGfz5vTVc2aMpv7iiU6jLEREJiagN+k/XZHLvG0u5ILkhj4zqQUyMng4lIlVTVAb9kq1fcfvLC+nQpDYTr+tNQlxUfkwRkTIpNQHNbLKZZZrZ8hL2jzCzpWa22MzSzOzCIvuGmdkaM1tvZvcFs/Ciij4halPWIW6cMp+aCbEM6diY2tXjK+q0IiIRoSyXulOAYafZ/xHQw93PB24EJgGYWSzwBHA50BkYY2ady1NsSY4/IWrmsh18f/I8jublk5vvDExuWBGnExGJKKUGvbvPAvaeZv9Bd/fAl7WA46/7AuvdfYO7HwOmASPKWW+xBiYl8sio7oyfuohtXx0mxoynruulRclERAhSH72ZjTSz1cC7FF7VAzQDthY5LCOwraT3SA10/aTt3r37jGu4IDmR5Ea1yC+AGwa2VsiLiAQEJejd/S137wh8B/h9YHNxw1y8mG3H3+Npd09x95RGjRqdcQ0LNu9j98FjekKUiMhJgjocJdDNk2RmiRRewbcosrs5sD2Y5ztudnoW419ZxISxPfWEKBGRk5Q76M0s2cws8LoXkADsAeYD7cysjZklAKOBd8p7vuIszdjPhLE9T3TX6AlRIiL/U+qiZmY2FRgEJJpZBvAAEA/g7hOBq4Dvm1kucAT4XuDmbJ6ZjQfeB2KBye6+oiI+xK2XJJ2yTU+IEhEpZP8bMBM+UlJSPC0tLdRliIhEDDNb4O4pxe3TlFERkSinoBcRiXIKehGRKKegFxGJcmF5M9bMdgObz/LbE4FwHECvus6M6jozquvMRGNdrdy92NmmYRn05WFmaSXdeQ4l1XVmVNeZUV1npqrVpa4bEZEop6AXEYly0Rj0T4e6gBKorjOjus6M6jozVaquqOujFxGRr4vGK3oRESlCQS8iEuUiPujN7C9mtjrwgPK3zKxeCcdVyoPKi5xvlJmtMLMCMytxuJSZbTKzZccfrh5GdVV2ezUwsw/NbF3g9/olHFcp7VXa57dCjwX2Lw0s0V3hylDXIDPbH2ifxWb260qoabKZZZrZ8hL2h6qtSqur0tsqcN4WZvaJma0K/F28u5hjgttm7h7Rv4ChQFzg9Z+APxVzTCyQDrSlcL38JUDnCq6rE9AB+BRIOc1xm4DESmyvUusKUXv9Gbgv8Pq+4v4cK6u9yvL5gSuAmRQ+Sa0/MLcS/uzKUtcg4N+V9fMUOOfFQC9geQn7K72tylhXpbdV4LznAb0Cr2sDayv65yvir+jd/QN3zwt8OYfCJ1mdrNIeVF6krlXuvqYiz3E2ylhXpbdX4P2fD7x+nsLHUoZKWT7/COAFLzQHqGdm54VBXZXOC58st/c0h4SircpSV0i4+w53Xxh4nQ2s4tTnaQe1zSI+6E9yI4X/Cp7sjB5UXskc+MDMFphZaqiLCQhFezVx9x1Q+BcBaFzCcZXRXmX5/KFoo7Kec4CZLTGzmWbWpYJrKotw/vsX0rYys9ZAT2DuSbuC2malPmEqHJjZf4Bzi9l1v7u/HTjmfiAPeLm4tyhmW7nHlZalrjK4wN23m1lj4EMzWx24EgllXZXeXmfwNkFvr2KU5fNXSBuVoiznXEjhmicHzewKYDrQroLrKk0o2qosQtpWZnYO8AbwI3c/cPLuYr7lrNssIoLe3S873X4zGwcMBy71QAfXSSrkQeWl1VXG99ge+D3TzN6i8L/n5QquINRV6e1lZrvM7Dx33xH4L2pmCe8R9PYqRlk+f4W0UXnrKhoY7j7DzJ40s0R3D+UCXqFoq1KFsq3MLJ7CkH/Z3d8s5pCgtlnEd92Y2TDgXuBKdz9cwmGV9qDyM2Fmtcys9vHXFN5YLnaEQCULRXu9A4wLvB4HnPI/j0psr7J8/ncofFaymVl/YP/xrqcKVGpdZnaumVngdV8K/47vqeC6ShOKtipVqNoqcM5ngVXu/v9KOCy4bVbZd5yD/QtYT2Ff1uLAr4mB7U2BGUWOu4LCu9vpFHZhVHRdIyn8V/kosAt4/+S6KBw9sSTwa0W41BWi9moIfASsC/zeIJTtVdznB24Fbg28NuCJwP5lnGZkVSXXNT7QNksoHJwwsBJqmgrsAHIDP1s3hUlblVZXpbdV4LwXUtgNs7RIbl1RkW2mJRBERKJcxHfdiIjI6SnoRUSinIJeRCTKKehFRKKcgl5EJMop6EVEopyCXkQkyv1/R1uvMY8W9qIAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "plot_characteristic(net.trafo.at[0, 'vkr_percent_characteristic'], -2, 2)" ] }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ @@ -128,7 +143,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 8, "metadata": {}, "outputs": [ { @@ -183,7 +198,7 @@ "3 0.935414 -2.890645 0.2 0.05" ] }, - "execution_count": 7, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -201,7 +216,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ @@ -210,14 +225,14 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "8.45 ms ± 154 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" + "8.24 ms ± 45.7 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" ] } ], @@ -227,14 +242,14 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "8.7 ms ± 225 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" + "8.63 ms ± 116 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" ] } ], @@ -258,7 +273,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 12, "metadata": {}, "outputs": [], "source": [ @@ -269,14 +284,14 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "30 ms ± 1.63 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" + "32.4 ms ± 5.35 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" ] } ], @@ -300,7 +315,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 14, "metadata": {}, "outputs": [ { @@ -355,7 +370,7 @@ "3 0.935414 -2.890645 0.2 0.05" ] }, - "execution_count": 13, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } From f8f1335f532cbef062b0f41273228e149da43167 Mon Sep 17 00:00:00 2001 From: sdrauz Date: Wed, 27 Oct 2021 13:25:30 +0200 Subject: [PATCH 248/422] bugfix in ext grid plotting --- pandapower/plotting/simple_plot.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pandapower/plotting/simple_plot.py b/pandapower/plotting/simple_plot.py index 3dd81ee99..465d98d1f 100644 --- a/pandapower/plotting/simple_plot.py +++ b/pandapower/plotting/simple_plot.py @@ -129,10 +129,10 @@ def simple_plot(net, respect_switches=False, line_width=1.0, bus_size=1.0, ext_g # create ext_grid collections eg_buses_with_geo_coordinates = set(net.ext_grid.bus.values) & set(net.bus_geodata.index) - if len(eg_buses_with_geo_coordinates) > 0: - sc = create_ext_grid_collection(net, size=ext_grid_size, orientation=0, ext_grids=eg_buses_with_geo_coordinates) - # sc = create_bus_collection(net, eg_buses_with_geo_coordinates, patch_type="rect", - # size=ext_grid_size, color=ext_grid_color, zorder=11) + if len(net.ext_grid) > 0: + sc = create_ext_grid_collection(net, size=ext_grid_size, orientation=0, + ext_grids=net.ext_grid.index, + zorder=11) collections.append(sc) # create trafo collection if trafo is available From 401576e70708d266229ff0340d933e2c0e3945e1 Mon Sep 17 00:00:00 2001 From: sdrauz Date: Wed, 27 Oct 2021 16:52:31 +0200 Subject: [PATCH 249/422] include ext_grid color --- pandapower/plotting/simple_plot.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandapower/plotting/simple_plot.py b/pandapower/plotting/simple_plot.py index 465d98d1f..cc052651a 100644 --- a/pandapower/plotting/simple_plot.py +++ b/pandapower/plotting/simple_plot.py @@ -131,7 +131,7 @@ def simple_plot(net, respect_switches=False, line_width=1.0, bus_size=1.0, ext_g eg_buses_with_geo_coordinates = set(net.ext_grid.bus.values) & set(net.bus_geodata.index) if len(net.ext_grid) > 0: sc = create_ext_grid_collection(net, size=ext_grid_size, orientation=0, - ext_grids=net.ext_grid.index, + ext_grids=net.ext_grid.index, patch_edgecolor=ext_grid_color, zorder=11) collections.append(sc) From 320cd0b6436a3946abb14a1380cca2bdaf0e6814 Mon Sep 17 00:00:00 2001 From: sdrauz Date: Wed, 27 Oct 2021 17:07:28 +0200 Subject: [PATCH 250/422] if there are no geo-coordinates an error is risen in case of the ext grids. However, this is not consistent in case of all components. Needs to be considered in the future and aligned. --- pandapower/plotting/simple_plot.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandapower/plotting/simple_plot.py b/pandapower/plotting/simple_plot.py index cc052651a..a8ad7a4e8 100644 --- a/pandapower/plotting/simple_plot.py +++ b/pandapower/plotting/simple_plot.py @@ -128,7 +128,7 @@ def simple_plot(net, respect_switches=False, line_width=1.0, bus_size=1.0, ext_g collections = [bc, lc] # create ext_grid collections - eg_buses_with_geo_coordinates = set(net.ext_grid.bus.values) & set(net.bus_geodata.index) + #eg_buses_with_geo_coordinates = set(net.ext_grid.bus.values) & set(net.bus_geodata.index) if len(net.ext_grid) > 0: sc = create_ext_grid_collection(net, size=ext_grid_size, orientation=0, ext_grids=net.ext_grid.index, patch_edgecolor=ext_grid_color, From bcafb48194da93011b48f0fca4de2a0fe805ff53 Mon Sep 17 00:00:00 2001 From: sdrauz Date: Wed, 27 Oct 2021 17:08:08 +0200 Subject: [PATCH 251/422] just an additional space --- pandapower/plotting/simple_plot.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandapower/plotting/simple_plot.py b/pandapower/plotting/simple_plot.py index a8ad7a4e8..0a7e280e6 100644 --- a/pandapower/plotting/simple_plot.py +++ b/pandapower/plotting/simple_plot.py @@ -128,7 +128,7 @@ def simple_plot(net, respect_switches=False, line_width=1.0, bus_size=1.0, ext_g collections = [bc, lc] # create ext_grid collections - #eg_buses_with_geo_coordinates = set(net.ext_grid.bus.values) & set(net.bus_geodata.index) + # eg_buses_with_geo_coordinates = set(net.ext_grid.bus.values) & set(net.bus_geodata.index) if len(net.ext_grid) > 0: sc = create_ext_grid_collection(net, size=ext_grid_size, orientation=0, ext_grids=net.ext_grid.index, patch_edgecolor=ext_grid_color, From 3fc146b441d071bc209d8f564cbf5592aa04455a Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Wed, 27 Oct 2021 19:56:00 +0200 Subject: [PATCH 252/422] defined a new type of Characteristic for quadratic spline interpolation (benefit: ready for file I/O), moved the helper function to pp.control.util.auxiliary, updated the jupyter notebook --- pandapower/control/__init__.py | 4 +- pandapower/control/util/auxiliary.py | 24 ++ pandapower/control/util/characteristic.py | 25 ++ pandapower/toolbox.py | 24 +- tutorials/Tap dependent impedance.ipynb | 293 +++++++++++++++++++++- 5 files changed, 338 insertions(+), 32 deletions(-) diff --git a/pandapower/control/__init__.py b/pandapower/control/__init__.py index 4e9b0a70a..171e93425 100644 --- a/pandapower/control/__init__.py +++ b/pandapower/control/__init__.py @@ -12,7 +12,7 @@ # --- Other --- from pandapower.control.run_control import * from pandapower.control.run_control import ControllerNotConverged -from pandapower.control.util.characteristic import Characteristic -from pandapower.control.util.auxiliary import get_controller_index +from pandapower.control.util.characteristic import Characteristic, SplineCharacteristic +from pandapower.control.util.auxiliary import get_controller_index, plot_characteristic, create_trafo_characteristics from pandapower.control.util.diagnostic import control_diagnostic diff --git a/pandapower/control/util/auxiliary.py b/pandapower/control/util/auxiliary.py index 79b489802..2e159fff8 100644 --- a/pandapower/control/util/auxiliary.py +++ b/pandapower/control/util/auxiliary.py @@ -14,6 +14,8 @@ from pandas import Int64Index from pandapower.toolbox import ensure_iterability +from .characteristic import SplineCharacteristic + try: import matplotlib.pyplot as plt MATPLOTLIB_INSTALLED = True @@ -208,3 +210,25 @@ def plot_characteristic(characteristic, start, stop, num=20): plt.plot(x, y, marker='x') else: logger.info("matplotlib not installed. y-values: %s" % y) + + +def create_trafo_characteristics(net, trafotable, trafo_index, vk_percent_x, vk_percent_y, vkr_percent_x, vkr_percent_y): + if len(trafo_index) != len(vk_percent_x) or len(trafo_index) != len(vkr_percent_x) or \ + len(trafo_index) != len(vk_percent_y) or len(trafo_index) != len(vkr_percent_y): + raise UserWarning("the lengths of the trafo index and points do not match!") + + if 'tap_dependent_impedance' not in net[trafotable]: + net[trafotable]['tap_dependent_impedance'] = False + + net[trafotable].loc[trafo_index, 'tap_dependent_impedance'] = True + + for col in ('vk_percent_characteristic', 'vkr_percent_characteristic'): + if col not in net[trafotable]: + net[trafotable][col] = pd.Series(index=net[trafotable].index, dtype=object, data=None) + elif net[trafotable][col].dtype != object: + net[trafotable][col] = net[trafotable][col].astype(object) + + for tid, vk_x, vk_y, vkr_x, vkr_y in zip(trafo_index, vk_percent_x, vk_percent_y, vkr_percent_x, vkr_percent_y): + net[trafotable].at[tid, 'vk_percent_characteristic'] = SplineCharacteristic(vk_x, vk_y) + net[trafotable].at[tid, 'vkr_percent_characteristic'] = SplineCharacteristic(vkr_x, vkr_y) + diff --git a/pandapower/control/util/characteristic.py b/pandapower/control/util/characteristic.py index 91625c907..543ed364a 100644 --- a/pandapower/control/util/characteristic.py +++ b/pandapower/control/util/characteristic.py @@ -7,6 +7,7 @@ from builtins import object from numpy import interp +from scipy.interpolate import interp1d from pandapower.io_utils import JSONSerializableClass @@ -115,3 +116,27 @@ def __call__(self, x): :return: The corresponding target value of this characteristics """ return interp(x, self.x_vals, self.y_vals) + + + def __repr__(self): + return self.__class__.__name__ + + +class SplineCharacteristic(Characteristic): + json_excludes = ["self", "__class__", "_interpolator"] + def __init__(self, x_values, y_values): + super().__init__(x_values=x_values, y_values=y_values) + + @property + def interpolator(self): + return self._interpolator + + @interpolator.getter + def interpolator(self): + if not hasattr(self, '_interpolator'): + self._interpolator = interp1d(self.x_vals, self.y_vals, kind='quadratic', fill_value='extrapolate') + return self._interpolator + + def __call__(self, x): + return self.interpolator(x) + diff --git a/pandapower/toolbox.py b/pandapower/toolbox.py index eb15dd5e8..f7db29504 100644 --- a/pandapower/toolbox.py +++ b/pandapower/toolbox.py @@ -11,7 +11,6 @@ import numpy as np import pandas as pd -from scipy.interpolate import interp1d from packaging import version from pandapower.auxiliary import get_indices, pandapowerNet, _preserve_dtypes @@ -3082,25 +3081,4 @@ def get_gc_objects_dict(): for obj in objs: _type = type(obj) nums_by_types[_type] = nums_by_types.get(_type, 0) + 1 - return nums_by_types - - -def create_trafo_characteristics(net, trafotable, trafo_index, vk_percent_x, vk_percent_y, vkr_percent_x, vkr_percent_y): - if len(trafo_index) != len(vk_percent_x) or len(trafo_index) != len(vkr_percent_x) or \ - len(trafo_index) != len(vk_percent_y) or len(trafo_index) != len(vkr_percent_y): - raise UserWarning("the lengths of the trafo index and points do not match!") - - if 'tap_dependent_impedance' not in net[trafotable]: - net[trafotable]['tap_dependent_impedance'] = False - - net[trafotable].loc[trafo_index, 'tap_dependent_impedance'] = True - - for col in ('vk_percent_characteristic', 'vkr_percent_characteristic'): - if col not in net[trafotable]: - net[trafotable][col] = pd.Series(index=net[trafotable].index, dtype=object, data=None) - elif net[trafotable][col].dtype != object: - net[trafotable][col] = net[trafotable][col].astype(object) - - for tid, vk_x, vk_y, vkr_x, vkr_y in zip(trafo_index, vk_percent_x, vk_percent_y, vkr_percent_x, vkr_percent_y): - net[trafotable].at[tid, 'vk_percent_characteristic'] = interp1d(vk_x, vk_y, kind='quadratic', fill_value='extrapolate') - net[trafotable].at[tid, 'vkr_percent_characteristic'] = interp1d(vkr_x, vkr_y, kind='quadratic', fill_value='extrapolate') + return nums_by_types \ No newline at end of file diff --git a/tutorials/Tap dependent impedance.ipynb b/tutorials/Tap dependent impedance.ipynb index 52179ff91..3b6c0efb6 100644 --- a/tutorials/Tap dependent impedance.ipynb +++ b/tutorials/Tap dependent impedance.ipynb @@ -20,9 +20,11 @@ "metadata": {}, "outputs": [], "source": [ + "import numpy as np\n", "import pandapower as pp\n", - "from pandapower.control.util.auxiliary import plot_characteristic\n", - "from pandapower.control import TapDependentImpedance" + "from pandapower.control.util.auxiliary import plot_characteristic, SplineCharacteristic\n", + "from pandapower.control import TapDependentImpedance\n", + "import json" ] }, { @@ -70,7 +72,7 @@ "metadata": {}, "outputs": [], "source": [ - "pp.toolbox.create_trafo_characteristics(net, 'trafo', [0], [[-2, -1, 0, 1, 2]], [[5, 5.2, 6, 6.8, 7]],\n", + "pp.control.create_trafo_characteristics(net, 'trafo', [0], [[-2, -1, 0, 1, 2]], [[5, 5.2, 6, 6.8, 7]],\n", " [[-2, -1, 0, 1, 2]], [[1.3, 1.4, 1.44, 1.5, 1.6]])" ] }, @@ -232,7 +234,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "8.24 ms ± 45.7 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" + "7.89 ms ± 187 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" ] } ], @@ -249,7 +251,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "8.63 ms ± 116 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" + "8.93 ms ± 815 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" ] } ], @@ -291,7 +293,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "32.4 ms ± 5.35 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" + "30.3 ms ± 3.4 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" ] } ], @@ -379,6 +381,282 @@ "net3.res_bus.loc[[2,3]]" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# File I/O" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The file I/O for characteristics is not implemented yet:" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
vk_percent_characteristicvkr_percent_characteristic
0{'_module': 'pandapower.control.util.character...{'_module': 'pandapower.control.util.character...
1NoneNone
\n", + "
" + ], + "text/plain": [ + " vk_percent_characteristic \\\n", + "0 {'_module': 'pandapower.control.util.character... \n", + "1 None \n", + "\n", + " vkr_percent_characteristic \n", + "0 {'_module': 'pandapower.control.util.character... \n", + "1 None " + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "net2 = pp.from_json_string(pp.to_json(net))\n", + "net2.trafo[['vk_percent_characteristic', 'vkr_percent_characteristic']]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "De-serialization is missing:" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'_module': 'pandapower.control.util.characteristic',\n", + " '_class': 'SplineCharacteristic',\n", + " '_object': '{\"x_vals\": [-2, -1, 0, 1, 2], \"y_vals\": [5, 5.2, 6, 6.8, 7]}'}" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "net2.trafo['vk_percent_characteristic'].at[0]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Workaround for right now:" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
namestd_typehv_buslv_bussn_mvavn_hv_kvvn_lv_kvvk_percentvkr_percentpfe_kw...tap_step_percenttap_step_degreetap_postap_phase_shifterparalleldfin_servicetap_dependent_impedancevk_percent_characteristicvkr_percent_characteristic
0None0.25 MVA 20/0.4 kV120.2520.00.46.01.440.8...2.50.02False11.0TrueTrueSplineCharacteristicSplineCharacteristic
1None0.25 MVA 20/0.4 kV130.2520.00.46.01.440.8...2.50.02False11.0TrueFalseNaNNaN
\n", + "

2 rows × 26 columns

\n", + "
" + ], + "text/plain": [ + " name std_type hv_bus lv_bus sn_mva vn_hv_kv vn_lv_kv \\\n", + "0 None 0.25 MVA 20/0.4 kV 1 2 0.25 20.0 0.4 \n", + "1 None 0.25 MVA 20/0.4 kV 1 3 0.25 20.0 0.4 \n", + "\n", + " vk_percent vkr_percent pfe_kw ... tap_step_percent tap_step_degree \\\n", + "0 6.0 1.44 0.8 ... 2.5 0.0 \n", + "1 6.0 1.44 0.8 ... 2.5 0.0 \n", + "\n", + " tap_pos tap_phase_shifter parallel df in_service \\\n", + "0 2 False 1 1.0 True \n", + "1 2 False 1 1.0 True \n", + "\n", + " tap_dependent_impedance vk_percent_characteristic \\\n", + "0 True SplineCharacteristic \n", + "1 False NaN \n", + "\n", + " vkr_percent_characteristic \n", + "0 SplineCharacteristic \n", + "1 NaN \n", + "\n", + "[2 rows x 26 columns]" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "for col in ['vk_percent_characteristic','vkr_percent_characteristic']:\n", + " net2.trafo[col] = net2.trafo[col].apply(lambda x: SplineCharacteristic.from_dict(json.loads(x['_object'])) if x is not None else np.nan)\n", + "\n", + "net2.trafo" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAD4CAYAAADiry33AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAApVUlEQVR4nO3de3xV5ZX/8c9KQsItgJJwB4FwUaQgEK4iiFarVks7tZWLCgginaK92N+M8+u0nRmnfdXpdFodrJSreEHbqlinYxXbXytaIBCuchMTyiUgJOESkkDu6/fHOaGHEMgJJDnJyff9euV1ztn72dlrb8I6+zz7Oc8yd0dERKJXTKQDEBGR+qVELyIS5ZToRUSinBK9iEiUU6IXEYlycZEOoDpJSUneu3fvSIchItJkbNq0Kdfdk6tb1ygTfe/evUlPT490GCIiTYaZHbjYOnXdiIhEOSV6EZEop0QvIhLllOhFRKKcEr2ISJRTohcRuQIL389kbWbuecvWZuay8P3MCEV0ISV6EZErMKRHe+av3HIu2a/NzGX+yi0M6dE+wpH9TY2J3swGmtnWkJ/TZvbNKm3MzJ4xswwz225mw0PW3WFmHwfXPVEPxyAictku54rc3TlZWMLeY/lUVMCUkT2ZvSKdqYvW8/CKdB66sTet4+PIOnmGotLyOt9/bVlt5qM3s1jgMDDa3Q+ELL8LeBS4CxgNPO3uo4Pt9wK3AVnARmCqu++61H5SU1NdX5gSkYZQeQW+YNowhvW8ind3HuX7v93B7PF9uLpNPDn5xeQUFJN9OvCYk19MbkExpeXh587ElnEkt00gqW0CSYnxJLVNCLxOTCC3oJjFa/bx5OTBfG5wFzYfPHkunnEpSWHvw8w2uXtqdetq+83YW4HM0CQfNBl4wQPvGuvNrIOZdQV6Axnuvi8YyKvBtpdM9CIiDaGwuIyzJeWkXnMV9y9JoyIkd//sD58AYAYd2yTQKTGB5MQEBnROJDkxkKiTEwPLs06e4d//dzdTR/ViZdpBHr99AF3btyK3oDj4U3LuDWPP0Xxy83M5XVR2Xizf+NVWEl6PoU1CXK2TfE1qm+inAK9Us7w7cCjkdVZwWXXLR1f3i81sLjAXoFevXrUMS0SkZu7OnqP5vL83hzV7c9i4/wSl5U6rFrH0vLo1B46f4bPXdeL+MdcEknliAle3jicu9uK93Gszc/nh23t4dvpwxqUkMb5/0rkr8imDLp7LisvKOR58A8gtKGZl2kH+uCebRyb0qtMkD7VI9GYWD3wB+KfqVlezzC+x/MKF7ouARRDougk3LhFp3ha+n8mQHu3PS45rM3PZnpXHvIkpnCws4YOMXNYEk3t2fjEA13ZJZNaNfZg4IJmyigq+9attPHZLP15KO8hD4/twfbfwbqZuz8o77wp8XEoSC6YNY3tW3iUTdkJcLN06tKJbh1aszcxly6FT5/Y/JqVjxK7o7wQ2u/uxatZlAT1DXvcAjgDxF1kuIlInKke9VCbbDz7J4esvb+bW6zoz+dm/sD3rFO7QvlULbuqfxIQByUzon0yX9i2BwJvCt3617dz2Y1I61qqPfN7ElAuWjUtJCjtRh94juJz9hyPsm7HB/vV33X15Nes+D8znbzdjn3H3UWYWR+Bm7K0EbuJuBKa5+85L7Us3Y0WkNj78JJd5L22iS/sEMrMLcSDG4IaeHZgwIJmJA5IZ0qMDsTEXdjLU9ImgvtXV/i91MzasRG9mrQn0tfd197zgsnkA7r7QzAxYANwBnAFmuXt6sN1dwM+BWGCZu/+wpv0p0YtIOIpKy3l9cxaL1+xj//EzAAzq2o6vT+rH+H5JtG/dIsIRNpwrHnXj7meAjlWWLQx57sDXL7Lt28DbYUcrIlKDvLOlvLT+AMv/sp/cgmL6JrWhbUIcM8f1ZuWGg1zVpkWzSvI1aZSFR0REqnM0r4ilH+5jZdpBCkvKmTAgmZv6d+S5P+9j0YMjAn3j/eq+j7upU6IXkUYvIzufX76/jze3HqbC4e4hXZk7oS/Xd2vPwvczL2vUS3NSq2/GNhT10YsIwKYDJ1n4fibv7TpGyxYx3Jfakzk39aXn1a0jHVqjU5ffjBURqVNVR51UVDjP/TmDVzYeIuvkWTq0bsFjt/Znxthr6Ng2IcLRNk1K9CISUZXj4J+ecgPZp4v52R8+JutkEUlt4vnBPYO4b2RPWscrVV0JnT0RiahxKUk8dms/ZizbQIVDrBl/f3MK37ptAC0uMfWAhE+JXkQiprC4jJ+8+zEr1u2nbXwc+cVl/P2kFB6/fWCkQ4sqersUkYhYszeH23+2hhXr9nP7oM7ExRqP3dKPl9MOXjA/u1wZJXoRaVCnzpTwnd9s48FlG0hoEcMP7h7Exv0neXb6cL59+0AWTBt2XsUmuXJK9CLSYH7/0ad89r/WsGrLYeZP6sfbj91EUVnFRcfBS93QOHoRqXfZp4v43m938O7OYwzu3o6nvjwk7GmAJTwaRy8iEeHu/CY9i3//310Ul1XwxJ3XMmd8n0sW8pC6p0QvIvXi0Ikz/NMbH/FhRi6jel/Nj7/8Gfomt410WM2SEr2IXJGq32wtr3D+5a2dvLLhIC1bxPLkFwczfVQvYqqZC14ahhK9iFyR0ApPyW0T+NrLm8jILuSGnu35xfQRdOvQKtIhNnthJXoz6wAsAQYTqPn6kLuvC1n/f4DpIb/zOiDZ3U+Y2X4gHygHyi52s0BEmqZxKUksmDqM2SvSKS4txx3mB7/0FKhJJJEW7hX908A77n5vsEj4eVPHuftPgJ8AmNk9wLfc/URIk0nurkGxIlGoqLSc1zZlcbakHIA54/vwnc9dG+GoJFSNt77NrB0wAVgK4O4l7n7qEptMBV6pk+hEpFHLyS9m2uL1vLHlMK1axPLoLf14Y8thfdmpkQlnjFNfIAdYbmZbzGyJmbWprmGwtuwdwOshix1YbWabzGzuxXZiZnPNLN3M0nNycmpxCCISCbuOnOaLz/6Fjw7n0TYhjqUzU3lc32xtlMJJ9HHAcOA5dx8GFAJPXKTtPcBfqnTb3Ojuw4E7ga+b2YTqNnT3Re6e6u6pycnJ4R+BiDS41TuPcu/CtZRXONNHX3OujB/om62NUTh99FlAlrunBV+/xsUT/RSqdNu4+5HgY7aZrQJGAWsuL1wRiSR3Z+H7+/iPd/cwpHt7Fj+YSqd2LS9oNy4lSWX8GpEar+jd/ShwyMwq5w29FdhVtZ2ZtQcmAr8NWdbGzBIrnwO3AzvqIG4RaWBFpeU8/pttPPXOHu4e0o1fPTK22iQvjU+4o24eBV4OjrjZB8wys3kA7r4w2OZLwGp3LwzZrjOwKjjEKg5Y6e7v1EnkItJgcvKLeeTFdDYfPMXjtw1g/i39NHSyCdGkZiJySbuOnObhF9I5XljMz756A3d+pmukQ5JqaFIzEbksq3ce5Zu/2kq7li14bd44BnfXjJNNkRK9iFwg3Juu0jQo0Ys0c1UnJSsuK2fOinQ++CSXe4Z24yf3DqFli9gIRylXQpNCizRzlZOSrc3MJSe/mLuf+YAPPsnlKyN68MyUG5Tko4Cu6EWaucovOH3tpU1UVEB+cRnfvLU/37xtQKRDkzqiRC8itG/VgqLSCorLKpgysqeSfJRR141IM7fn6Gnu++U6SssrmDH2GlbvOqZ5aqKMEr1IM7b3WD5fXbiOwpJyfvrVofzr5MGalCwKKdGLNFMZ2QVMW5xGeYXz068M5UvDegCalCwaqY9epBnal1PAtMXrAXjr0fGkVCnarUnJoouu6EWamQPHC89dyb/y8OgLkrxEHyV6kWbk0IkzTF20nuKyclY+PIb+nRMjHZI0AHXdiDQTWSfPMGXRegpLyln58GgGdlGSby50RS/SDBw5dZZpi9PILyrl5Tmjub6bJidrTpToRaLc0bwipi1ez8nCEl6cPVozUDZDYSV6M+tgZq+Z2R4z221mY6usv9nM8sxsa/Dn+yHr7jCzj80sw8wuVoJQROpB9ulAks8tKGHF7FEM7dkh0iFJBITbR/808I673xusMtW6mjYfuPvdoQvMLBZ4FriNQO3ZjWb2lrtfUIpQROpWTn4x05akcfR0ES88NIrhva6KdEgSITVe0ZtZO2ACsBTA3Uvc/VSYv38UkOHu+9y9BHgVmHyZsYpImI4XFHP/kjQOnzzL8pkjSe19daRDkggKp+umL5ADLDezLWa2JFjou6qxZrbNzH5vZtcHl3UHDoW0yQouu4CZzTWzdDNLz8nJqc0xiEiIk4UlTF+Sxv7jhSydkcrovh0jHZJEWDiJPg4YDjzn7sOAQqBqX/tm4Bp3Hwr8N/BmcHl11YOrLVLr7ovcPdXdU5OTk8OJXUQIFA6pnJcm70wp9y9NIyO7gC8O6864fvp2q4SX6LOALHdPC75+jUDiP8fdT7t7QfD520ALM0sKbtszpGkP4MgVRy0i51QWDnlv1zEeWJbGx0fzadUilsk3dIt0aNJI1Hgz1t2PmtkhMxvo7h8DtwLn3Uw1sy7AMXd3MxtF4A3kOHAK6G9mfYDDwBRgWh0fg0izNi4lif/66lDmrEinwp3W8XH88sERmqtGzgl31M2jwMvBETf7gFlmNg/A3RcC9wJfM7My4Cwwxd0dKDOz+cC7QCywzN131vVBiDRn5RXOKxsOUlYR6BV96MbeSvJynrASvbtvBVKrLF4Ysn4BsOAi274NvH2Z8YnIJbg7T/5uF+/uPEbr+FjmjO/DS2kHGZPSUcleztE3Y0WasMUf7OP5tftpGRfDkhmpfPv2gSocIhdQohdpot7adoQfvb2Ha7sksnTGyHNX8CocIlVp9kqRJmhd5nG+8+ttjOp9NS/MHkXLFrHnrVfhEAmlK3qRJmbvsXzmvphOr46tWfTgiAuSvEhVSvQiTcjRvCJmLttAqxaxPD9rJB1ax0c6JGkClOhFmoj8olJmLt9A3tlSls8aSY+rqptbUORC6qMXaQJKyir42kubycguYNnMkSocIrWiRC/SyLk7T7y+nQ8zcvnPrwxlwgDNBSW1o64bkUbup6v38saWwzx+2wDuHdEj0uFIE6REL9KIvZx2gAV/ymDqqJ7Mv6VfpMORJkqJXqSR+uPuY3zvzR1MGpjMk5MHY1bdrN8iNVOiF2mEth46xfyVWxjcvT0Lpg0nLlb/VeXy6a9HpJHZn1vI7Oc3kpQYz9IZI2mToDETcmWU6EUiLLRC1PGCYmYu30BxWTl3Xt+F5MSECEcn0UCJXiTCKitE/XlPNrNXpHP45FlizLj52k6RDk2ihD4TikTYuJQknpkyjFnPb6C03GmbEMfCB1QhSupOWFf0ZtbBzF4zsz1mttvMxlZZP93Mtgd/1prZ0JB1+83sIzPbambpdX0AIk2du/POzk8pLVeFKKkf4V7RPw284+73BssJVp1k46/ARHc/aWZ3AouA0SHrJ7m7qiCIVGPh+/t4af1BWraIYe5NfVUhSupcjYnezNoBE4CZAO5eApSEtnH3tSEv1wP6+p5IGH679TBPvbOH+NgYlj44khv7JzEmpSPzV25hwbRhSvZSJ8LpuukL5ADLzWyLmS0xszaXaD8b+H3IawdWm9kmM5t7sY3MbK6ZpZtZek5OTljBizRlazNz+c5vttHzqlYsnjGCG/urQpTUD3P3SzcwSyVwlX6ju6eZ2dPAaXf/XjVtJwG/AMa7+/Hgsm7ufsTMOgHvAY+6+5pL7TM1NdXT09WdL9Frz9HTfOW5dXTt0JLfzBtH+1YtIh2SNHFmtsndU6tbF84VfRaQ5e5pwdevAcOr2ckQYAkwuTLJA7j7keBjNrAKGFW78EWiy6d5Z5m1fCOtE2JZPmuUkrzUuxoTvbsfBQ6Z2cDgoluBXaFtzKwX8AbwgLvvDVnexswSK58DtwM76ih2kSbndFEps5ZvJL+ojOUzR9G9Q6tIhyTNQLijbh4FXg6OuNkHzDKzeQDuvhD4PtAR+EVw4qWy4EeIzsCq4LI4YKW7v1O3hyDSNASKh2wiI7uA5bNGMqhbu0iHJM1EWIne3bcCVft+FoasnwPMqWa7fcDQqstFmht35x9f385fMo7z068M5ab+Kh4iDUdTIIg0gP9c/TGrthzmO7cP4MsqHiINTIlepJ69tP4Az/4pk6mjevH1SSoeIg1PiV6kHv1h1zG+/9sd3HJtJ56cfL2Kh0hEKNGL1JOth04x/5XNweIhw1Q8RCJGf3ki9eDA8UDxkOTEBJbOGEnreE0UK5GjRC9Sx44XFDNj2QYq3Fkxa5SKh0jEKdGLXKHQClFnS8qZ80KgeMjdQ7rSN7lthKMTUaIXuWKVFaI+/CSXx17dwpaDp0hoEcudn+ka6dBEAFWYErli41KSWDB1GLOe30hxWQWt42NZ9KAqREnjoSt6kTqw/XAexWUVAMwZ30dJXhoVJXqRK/TbrYf58e8DxUMendSPl9IOnuuzF2kMlOhFrsDazFy+/eutxMUYi2eM4PHPDWTBtGHMX7lFyV4aDSV6kcv08dF8HnlxEx1axfPc9BFMHNAJUIUoaXx0M1bkMhzNK2Lm8g20ahHLqq/feMG88uNSktRPL42GruhFaim/qJSZyzdw+mwpy2eNVPEQafTCSvRm1sHMXjOzPWa228zGVllvZvaMmWWY2XYzGx6y7g4z+zi47om6PgCRhhQoHrKZjOwCnrt/BNd3ax/pkERqFO4V/dPAO+5+LYFCIrurrL8T6B/8mQs8B2BmscCzwfWDgKlmNqgO4hZpcO7OE69v58OMXH785SFMGKDiIdI01NhHb2btgAnATAB3LwFKqjSbDLzg7g6sD34C6Ar0BjKClaYws1eDbXch0sT8dPVe3thymMdvG8C9Kh4iTUg4V/R9gRxguZltMbMlwULfoboDh0JeZwWXXWz5Bcxsrpmlm1l6Tk5O2Acg0hBeTjvAgj9lMHVUT+bfouIh0rSEk+jjgOHAc+4+DCgEqva1V1dNwS+x/MKF7ovcPdXdU5OT9ZFYGo8/7j7G997cwaSByTw5ebCKh0iTE06izwKy3D0t+Po1Aom/apueIa97AEcusVykSdh26BTzV27h+m7tWTBtuIqHSJNU41+tux8FDpnZwOCiW7mwj/0t4MHg6JsxQJ67fwpsBPqbWR8ziwemBNuKNHoHjhfy0PMbSUqMZ9nMkbRJ0NdOpGkK9y/3UeDlYLLeB8wys3kA7r4QeBu4C8gAzgCzguvKzGw+8C4QCyxz9511ewgide9EYQkzl2+k3J3nVTxEmriwEr27bwVSqyxeGLLega9fZNu3CbwRiDQJZ0vKmb1iI0dOnWXlw6NJUfEQaeLU4SjNXmiFqPIK5xvB4iF3faYLI665OsLRiVw5JXpp9iorRK3NyOVf/2cnq3cdo3V8LF9J7VnzxiJNgO4uSbNXOdvk7OfTOVtaTsu4GJbMSNWkZBI1dEUvAuQWlHC2tByAh2/qqyQvUUWJXpq9dZnH+favAsVD/v7mFF7eoApREl2U6KVZ23ssn4ee30CFO89NH8E/3HGtKkRJ1FGil2braF4RM5dtIMaMn993A7dd3xlQhSiJProZK81SZfGQvLOl/Hre2AvmlVeFKIkmSvTS7IQWD1k2c6SKh0jUU6KXZsXdeeKNQPGQn9yr4iHSPKiPXpqV/3pvL29sPsy3bxugL0RJs6FEL83GyrSD/Pf/y2DKyJ48quIh0owo0Uuz8Mfdx/jnNz9i0sBk/v2LKh4izYsSvUQ9FQ+R5k5/8RLVDh4/w+wVG+nYNp6lM1NVPESapbD+6s1sP5APlANl7p5aZf3/AaaH/M7rgGR3P1HTtiL15URhCTOWb6Cswlnx0Cg6JbaMdEgiEVGby5tJ7l7td8Ld/SfATwDM7B7gW+5+IpxtRepDUWk5c1Zs5PCps6yco+Ih0rzVR9fNVOCVevi9ImE5Vzzk0Cmevu8GUnureIg0b+EmegdWm9kmM5t7sUZm1hq4A3j9Mrada2bpZpaek5MTZlgi51eIcnf+7X928u7OY9wysBN3fqZrhKMTibxwu25udPcjZtYJeM/M9rj7mmra3QP8pUq3TVjbuvsiYBFAamqq1/I4pBmrrBC1YNowdhzOY8W6A7SMi2H2TX0iHZpIoxBucfAjwcdsM1sFjAKqS/RTqNJtU4ttRS5L5WyTc1/YREFxGfGxMSydMVKTkokE1dh1Y2ZtzCyx8jlwO7CjmnbtgYnAb2u7rciVijHjTEkZAHNu6sON/ZXkRSqFc0XfGVgV/CZhHLDS3d8xs3kA7r4w2O5LwGp3L6xp27oKXgSCxUOWbwBg7k19eHXjIcb31zTDIpXMvfF1h6empnp6enqkw5Am4GheEZ9/Zg0nzpTy9H038IUburM2M/dcn72SvTQXZrbpYt9T0jdjpcmqLB5yuqiMH35xMF+4oTugClEiVen74NIkVS0eUnVeeVWIEvkbJXppctydJ15X8RCRcKnrRpqcn67eyxtbVDxEJFxK9NKkvJx2gAV/ymDqKBUPEQmXEr00GX/cfYzvvbmDSQOTeXKyioeIhEuJXpqErcHiIYO7q3iISG3pf4s0egeOFzL7+Y0kJcazdMZIFQ8RqSUlemnUjhcUM2PZBircWTFrFMmJCZEOSaTJ0aWRNFpnS8qZ80I6n+YVsfLh0fRV8RCRy6JEL41SeYXz2Ktb2HroFM9NH8GIa1Q8RORyqetGGh135wdv7eC9Xcf4l3uu547BXSIdkkiTpkQvERdaISrweh8vrT/I6D5XM2Nc78gFJhIllOgl4iorRK3NzOXNLYd56p09xMfG8Ngt/SMdmkhUUB+9RFzlbJOPvLiJwuIy4mKMxTNGqHiISB3RFb00CglxsRSVlFPh8ND4Pkwc0CnSIYlEjbASvZntN7OPzGyrmV1QEcTMbjazvOD6rWb2/ZB1d5jZx2aWYWZP1GXwEh22HjrF9CXrKXfnoRt789qmrPP67EXkytSm62aSu1/qf98H7n536AIziwWeBW4DsoCNZvaWu++qfagSjT7KymPqonWUlFXwzNRh3D2kG58d1FkVokTqUH133YwCMtx9n7uXAK8Ck+t5n9JE7Dicx/1L04iPi+HnUwJJHlQhSqSuhXtF78BqM3Pgl+6+qJo2Y81sG3AE+I677wS6A4dC2mQBo6vbgZnNBeYC9OrVK8ywpKna/elpHliaRpv4WH71yFh6Xt36vPWqECVSd8JN9De6+xEz6wS8Z2Z73H1NyPrNwDXuXmBmdwFvAv2B6uaRrbYaefDNYxEEioOHewDS9Ow9ls/0JWkkxMXyytwxFyR5EalbYXXduPuR4GM2sIpAl0zo+tPuXhB8/jbQwsySCFzBh5YA6kHgil+aqYzsfKYtXk9cjPHK3DFc07FNpEMSiXo1Jnoza2NmiZXPgduBHVXadLFgFQgzGxX8vceBjUB/M+tjZvHAFOCtuj0EaSr25RQwdXEaEEjyfZKU5EUaQjhdN52BVcE8HgesdPd3zGwegLsvBO4FvmZmZcBZYIq7O1BmZvOBd4FYYFmw716amf25hUxdvJ6KCufVuWNI0UyUIg3GAvm4cUlNTfX09AuG60sTdejEGe775TrOlpbz6tyxDOySGOmQRKKOmW1y99Tq1mkKBKlXWSfPMGXRes6UlrNyzhgleZEI0BQIUm+OnDrL1MXryS8q5aXZoxnUrV2kQxJplpTopV4czSti2uL1nCos5cXZoxncvX2kQxJpttR1I3Uu+3QgyecWlPDC7FEM7dkh0iGJNGu6opcrFlo4JCe/mGlL0jh86ixfvKEbw3tdFeHoRESJXq5YZeGQd3Z8yvQl6zl4/AzxcTHcNaRrpEMTEdR1I3VgXEoSP7h7EF9/eTMYtI6P45cPjNBcNSKNhK7o5Ypt+OsJ/vV3u4iNMcorYNa43kryIo2IEr1ckV+nH2L6kvUkxMbQKj6Ox27px0tpB1U4RKQRUdeNXJbyCuepd/awaM0+Bndrx+FTZ3nu/uGMS0liTEpHFQ4RaUSU6KXW8otK+earW/njnmxmjL2Gzu1ackOvDueSemjhECV6kchTopdaOXTiDHNWpJORU8CTXxzMA2OuqbadCoeINB5K9BK2jftP8MiLmygrr2DFrFGM769ELtIUKNFLWH6dfojvrvqInle1ZsmMVPpqmmGRJkOJXi4p9Kbr+H5JPDttOO1bt4h0WCJSC2ElejPbD+QD5UBZ1TmPzWw68I/BlwXA19x9WzjbSuMVetP1wbHX8L27B9EiViNyRZqa2lzRT3L3iw2O/isw0d1PmtmdBIp8jw5zW2mEwr3pKiKNX5103bj72pCX6wkUAZcmYuH7mQzp0f7cKJmN+0/w0PMbKSnTTVeRaBDu53AHVpvZJjObW0Pb2cDva7utmc01s3QzS8/JyQkzLKkLlZOSrc3M5Tfph5iyaB2FxWX86EuDleRFokBYNWPNrJu7HzGzTsB7wKPuvqaadpOAXwDj3f14bbYNpZqxDe/PH2cz78VNFJVVEBdjPDd9BLdd3znSYYlImC5VMzasK3p3PxJ8zAZWAaOq2ckQYAkwuTLJh7utRNaGv57g3/5nF0VlFQA8MrGvkrxIFKkx0ZtZGzNLrHwO3A7sqNKmF/AG8IC7763NthI5+UWlfO/NHXz1l+vILy4lsWVgUrJXNhzSpGQiUSScm7GdgVVmVtl+pbu/Y2bzANx9IfB9oCPwi2C7ymGU1W5b50chtfanPdl8d9VHHD1dxF2Du7Bu3/Fzc8hrUjKR6BJWH31DUx99/TlRWMKTv9vFqi2H6d+pLf9x7xDS/nrivFE3AGszc9melce8iSkRjFZEwnWpPnp9M7aZcHd+t/1T/uWtnZwuKuUbt/bn7yelkBAXy7Bq6rpqUjKR6KFE3wwczSvin9/cwR92H2Noj/Y8de9oru3SLtJhiUgDUaKPYu7OqxsP8aP/3U1pRQX//PnrmHVjH2JjLNKhiUgDUqKPUgeOF/LE6x+xbt9xxvbtyI+//Bmu6dgm0mGJSAQo0UeB0CkMyiucZR/+lf94dw+G8eO/+wz3jexJcOSTiDRDSvRRoHIKg3/43EBe2XCQbVl5tIg1fnbfUD4/pFukwxORCFOijwIJcTH07tiGJ974iFYtYmibEMeiB0Ywrp9GzYiIEn2TVVHh/OnjbBa+n8nG/Sfp0LoFo3pfzYb9J3jslr5K8iJyjhJ9E1NSVsFb246waE0me48V0L1DK35wzyB6d2zN47/ZzmO39OOltIOMSemocfAiAijRNxmFxWW8suEgSz/8K5/mFXFtl0R+ft8NfH5IVzbuP3HelAWawkBEQinRN3K5BcU8/5f9vLj+AHlnSxnd52p+9Hef4eYByedG0mzPyjsvqY9LSWLBtGFsz8pTohcRzXXTGFSt8ASwaksWL6w7wK4jpykpr+Bzg7rwyMS+1U5XICKiuW4aucrhkQumDaNdyxY8+b+7SNt3grgY494RPXh4Ql9SkttGOkwRaaKU6COsosJp17IFtw3qzINLN1BW4Rhw95CufP/uQXRq1zLSIYpIE6dEHwHHC4r54JNc1uzNYc0nueQWFAOQ1Dae3IIS5k7oyz/ddV2EoxSRaBFWojez/UA+UM7fioqErjfgaeAu4Aww0903B9fdEVwXCyxx9x/XWfRB1fVxN+R86jXtv7S8gi0HT7Fmbw7v781hx5E83OHqNvHc1D+JCf2TaRUfwz+/ufPc8MiJA5N1I1VE6kRtrugnufvF6svdCfQP/owGngNGm1ks8CxwG5AFbDSzt9x91xXEfIHQPu5xKUmszcw997ohVLf/r720mXtHdOeRF9NZm3Gc/OIyYmOM4b068O3PDmDiwGQGd2tPTIydF6+GR4pIXaurrpvJwAseGMKz3sw6mFlXoDeQ4e77AMzs1WDbOk30lcMJH3lhE58b3Jn3dmXz8/uGhp0kr+QTwdmScnp0aM1jt/Zj7gubSEluw0eH86hwWPrhfrp3aMXdQ7sycUAyY1OSaN+qxQW/Q8MjRaQ+hZvoHVhtZg780t0XVVnfHTgU8joruKy65aOr24GZzQXmAvTq1SvMsP5mbN+OnCkp47VNhwGY9Xw6reNjSWqbQFLb+MBjYgLJ5x6Dy9omMKBz2/OuoD/8JJf5r2zmHz43kD9/nE1OfjE5BcXk5BeTnR94zA0+5heXnRfHtqw8el3dmhnjejNxQBIpyW1rnDmyujcTVXgSkboSbqK/0d2PmFkn4D0z2+Pua0LWV5fJ/BLLL1wYePNYBIFx9GHGdc66zOO0SYjj5oGd+OPuY9wztBut4+PILSgmt6CY/ccLST9wkhOFJdVuHx8bw/1L0mjZIpYzJeUA/N9VO85r0zYhjk6JgTeK67q1Y0LbBJITAz/HC4p57s+Z3D/mGl7deIjruibSr1NibQ9DRKTOhZXo3f1I8DHbzFYBo4DQRJ8F9Ax53QM4AsRfZHmdWpuZy/xXtrDwgREX9NFXvSouK6/gRGEJ2fnFwTeBksBjfjEffJLDx8cKGNn7Kr4wtNu5JJ7ctiVJifG0jq/+dK3NzOXHv99zbv/j+yepj11EGo0aE72ZtQFi3D0/+Px24N+qNHsLmB/sgx8N5Ln7p2aWA/Q3sz7AYWAKMK1Oj4Da9XHHxcbQqV3LC8anr83M5Y0th8+Neknp1DbsJK0+dhFpzGqcAsHM+gKrgi/jgJXu/kMzmwfg7guDwysXAHcQGF45y93Tg9vfBfycwPDKZe7+w5qCaugpEKp+ArjUJwIRkcboUlMgaK4bIj8OX0TkSinRi4hEuUsl+piGDkZERBqWEr2ISJRTohcRiXJK9CIiUU6JXkQkyjXKUTfBL1oduMzNk4CLzbIZSYqrdhRX7Siu2onGuK5x9+TqVjTKRH8lzCz9YkOMIklx1Y7iqh3FVTvNLS513YiIRDklehGRKBeNib7qXPmNheKqHcVVO4qrdppVXFHXRy8iIueLxit6EREJoUQvIhLlmnyiN7OfmNkeM9tuZqvMrMNF2t1hZh+bWYaZPdEAcX3FzHaaWYWZXXS4lJntN7OPzGyrmdX7lJ21iKuhz9fVZvaemX0SfLzqIu0a5HzVdPwW8Exw/XYzG15fsdQyrpvNLC94fraa2fcbIKZlZpZtZjsusj5S56qmuBr8XAX329PM/mRmu4P/F79RTZu6PWfu3qR/CFS8igs+fwp4qpo2sUAm0JdAecNtwKB6jus6YCDwZyD1Eu32A0kNeL5qjCtC5+s/gCeCz5+o7t+xoc5XOMcP3AX8nkBd5DFAWgP824UT183A7xrq7ym4zwnAcGDHRdY3+LkKM64GP1fB/XYFhgefJwJ76/vvq8lf0bv7ancvC75cT6AubVWjgAx33+fuJcCrwOR6jmu3u39cn/u4HGHG1eDnK/j7VwSfrwC+WM/7u5Rwjn8y8IIHrAc6mFnXRhBXg3P3NcCJSzSJxLkKJ66IcPdP3X1z8Hk+sBvoXqVZnZ6zJp/oq3iIwLtgVd2BQyGvs7jwxEaKA6vNbJOZzY10MEGROF+d3f1TCPxHADpdpF1DnK9wjj8S5yjcfY41s21m9nszu76eYwpHY/7/F9FzZWa9gWFAWpVVdXrOaiwO3hiY2R+ALtWs+q67/zbY5rtAGfBydb+immVXPK40nLjCcKO7HzGzTsB7ZrYneCUSybga/HzV4tfU+fmqRjjHXy/nqAbh7HMzgTlPCoL1mt8E+tdzXDWJxLkKR0TPlZm1BV4Hvunup6uurmaTyz5nTSLRu/tnL7XezGYAdwO3erCDq4osoGfI6x7AkfqOK8zfcST4mG1mqwh8PL+ixFUHcTX4+TKzY2bW1d0/DX5Ezb7I76jz81WNcI6/Xs7RlcYVmjDc/W0z+4WZJbl7JCfwisS5qlEkz5WZtSCQ5F929zeqaVKn56zJd92Y2R3APwJfcPczF2m2EehvZn3MLB6YArzVUDFejJm1MbPEyucEbixXO0KggUXifL0FzAg+nwFc8MmjAc9XOMf/FvBgcHTEGCCvsuupHtUYl5l1MTMLPh9F4P/48XqOqyaROFc1itS5Cu5zKbDb3f/rIs3q9pw19B3nuv4BMgj0ZW0N/iwMLu8GvB3S7i4Cd7czCXRh1HdcXyLwrlwMHAPerRoXgdET24I/OxtLXBE6Xx2BPwKfBB+vjuT5qu74gXnAvOBzA54Nrv+IS4ysauC45gfPzTYCgxPGNUBMrwCfAqXBv63ZjeRc1RRXg5+r4H7HE+iG2R6St+6qz3OmKRBERKJck++6ERGRS1OiFxGJckr0IiJRToleRCTKKdGLiEQ5JXoRkSinRC8iEuX+P8uspP3k7BpEAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plot_characteristic(net2.trafo.at[0, 'vk_percent_characteristic'], -2, 2)" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -387,7 +665,8 @@ "\n", "* implementation for trafo3w (only possible with the controller now)\n", "* further testing\n", - "* file I/O with the new implementation" + "* file I/O with the new implementation\n", + " * a new pandapower table net.characteristic?" ] } ], From ddd9d187edf0d73fd6e59f106a5a76d606974329 Mon Sep 17 00:00:00 2001 From: sdrauz Date: Thu, 28 Oct 2021 14:53:05 +0200 Subject: [PATCH 253/422] generic geodata problems if passing buses which are not connected to bus switches --- pandapower/plotting/generic_geodata.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pandapower/plotting/generic_geodata.py b/pandapower/plotting/generic_geodata.py index 9c49fe2db..602f26ae2 100644 --- a/pandapower/plotting/generic_geodata.py +++ b/pandapower/plotting/generic_geodata.py @@ -85,7 +85,8 @@ def build_igraph_from_pp(net, respect_switches=False, buses=None): pp_bus_mapping[trafo3w.mv_bus], weight=0.01) # add switches - mask = net.switch.et.values == "b" + #mask = net.switch.et.values == "b" + mask = _get_element_mask_from_nodes(net, 'switch', ['element', 'bus'], buses) & (net.switch.et.values == 'b') if respect_switches: mask &= ~open_switches for switch in net.switch[mask].itertuples(): From ddea099e0953e70f958b180c31e8cfcf5da42069 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Fri, 29 Oct 2021 13:18:22 +0200 Subject: [PATCH 254/422] delete draft file --- pandapower/opf/voltage_deviation_draft.py | 78 ----------------------- 1 file changed, 78 deletions(-) delete mode 100644 pandapower/opf/voltage_deviation_draft.py diff --git a/pandapower/opf/voltage_deviation_draft.py b/pandapower/opf/voltage_deviation_draft.py deleted file mode 100644 index cd54db828..000000000 --- a/pandapower/opf/voltage_deviation_draft.py +++ /dev/null @@ -1,78 +0,0 @@ -# -*- coding: utf-8 -*- -""" -voltage deviation minimization - -Created on Fri Oct 15 2021 - -@author: Zheng, Maryam -""" -import pandapower as pp -import pandapower.networks as nw -from copy import deepcopy - -# get net -net = nw.create_cigre_network_mv(with_der="pv_wind") - -# add scale -net.sgen.p_mw = net.sgen.p_mw * 8 #TODO: why dont you scale up q? -net.sgen.sn_mva = net.sgen.sn_mva * 8 #TODO: why scale sn_mva? -pp.runpp(net) -net_org = deepcopy(net) -# set controllable sgen -net.load['controllable'] = False -net.sgen['controllable'] = True -#set limits: -net.sgen["max_p_mw"] = net.sgen.p_mw.values -net.sgen["min_p_mw"] = net.sgen.p_mw.values #TODO: why min and max are same? -net.sgen["max_q_mvar"] = net.sgen.p_mw.values * 0.328 #TODO: why * 0.328? -net.sgen["min_q_mvar"] = -net.sgen.p_mw.values * 0.328 - -net.bus["max_vm_pu"] = 1.1 -net.bus["min_vm_pu"] = 0.9 - -net.ext_grid["max_q_mvar"] = 10000.0 -net.ext_grid["min_q_mvar"]= -10000.0 -net.ext_grid["max_p_mw"] = 10000.0 -net.ext_grid["min_p_mw"] = -10000.0 - -net.gen["max_p_mw"]= net.gen.p_mw.values -net.gen["min_p_mw"] = net.gen.p_mw.values -net.gen["max_q_mvar"]= 10000.0 -net.gen["min_q_mvar"] = -10000.0 - -net.trafo["max_loading_percent"] = 500.0 -net.line["max_loading_percent"] = 500.0 - -# add new column to bus for voltage threshold: -net.bus["pm_param/threshold_v"] = None -# for buses with controllable sgen set threshold: -net.bus["pm_param/threshold_v"].loc[net.sgen.bus] = 0.99 - -# net = get_network("cigre_mv_ts") -# net.bus["pm_param/threshold_v"].loc[net.sgen.bus] = 0.99 -# net.bus["pm_param/threshold_v"] = None - -for idx in net.sgen.index: - pp.create_poly_cost(net, idx, "sgen", 1.0) - -for idx in net.gen.index: - pp.create_poly_cost(net, idx, "gen", 1.0) - -for idx in net.ext_grid.index: - pp.create_poly_cost(net, idx, "ext_grid", 1.0) - -# TODO: pm_logger -# TODO: specific results? - -pp.runpm_vd(net, calculate_voltage_angles=True, - trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, - n_timesteps=96, time_elapsed=0.25, correct_pm_network_data=True, - pm_model="ACPPowerModel", pm_time_limits=None, pm_log_level=0, - delete_buffer_file=False, pm_file_path=None, - pm_tol=1e-8, pdm_dev_mode=True) - -df = pd.DataFrame(columns=["org_vm_pu", "opt_vm_pu", "org_sgen_q_mvar","opt_sgen_q_mvar"]) -df.org_vm_pu = net_org.res_bus.vm_pu[net_org.sgen.bus] -df.opt_vm_pu = net.res_bus.vm_pu[net.sgen.bus] -df.org_sgen_q_mvar = net_org.res_sgen.q_mvar.values -df.opt_sgen_q_mvar = net.res_sgen.q_mvar.values From aa6b1308e2fd62c020dc2d01fb8a9ad208b3837f Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Fri, 29 Oct 2021 14:07:56 +0200 Subject: [PATCH 255/422] fix dev activate --- pandapower/opf/run_powermodels.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pandapower/opf/run_powermodels.py b/pandapower/opf/run_powermodels.py index 66a3dbe3c..2235334d3 100644 --- a/pandapower/opf/run_powermodels.py +++ b/pandapower/opf/run_powermodels.py @@ -72,7 +72,8 @@ def _call_pandamodels(buffer_file, julia_file, dev_mode): # pragma: no cover Pkg.resolve() print("Successfully added PandaModels") - if dev_mode or "julia\dev\PandaModels" in Base.find_package("PandaModels").split(".jl")[0]: + # if dev_mode or "julia\dev\PandaModels" in Base.find_package("PandaModels").split(".jl")[0]: + if dev_mode: Pkg.activate("PandaModels") try: From a62f340879c04cf78a1dfe05d63b2d69614f3588 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Fri, 29 Oct 2021 15:01:41 +0200 Subject: [PATCH 256/422] fix dev activate --- pandapower/opf/run_powermodels.py | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/pandapower/opf/run_powermodels.py b/pandapower/opf/run_powermodels.py index 2235334d3..9df9f5acd 100644 --- a/pandapower/opf/run_powermodels.py +++ b/pandapower/opf/run_powermodels.py @@ -7,6 +7,9 @@ except ImportError: import logging +logger = logging.getLogger(__name__) + + def _runpm(net, delete_buffer_file=True, pm_file_path=None, pdm_dev_mode=False): """ Converts the pandapower net to a pm json file, saves it to disk, runs a PandaModels.jl, and reads @@ -20,8 +23,8 @@ def _runpm(net, delete_buffer_file=True, pm_file_path=None, pdm_dev_mode=False): **pm_file_path** -path to save the converted net json file. **pdm_dev_mode** (bool, False) - If True, the develope mode of PdM is called. """ - logger = logging.getLogger("run_pm") - logger.setLevel(logging.WARNING) + # logger = logging.getLogger("run_pm") + # logger.setLevel(logging.WARNING) # convert pandapower to power models file -> this is done in python net, pm, ppc, ppci = convert_to_pm_structure(net) # call optinal callback function @@ -58,12 +61,12 @@ def _call_pandamodels(buffer_file, julia_file, dev_mode): # pragma: no cover "Could not connect to julia, please check that Julia is installed and pyjulia is correctly configured") if not Base.find_package("PandaModels"): - print("PandaModels.jl is not installed in julia. It is added now!") + print("PandaModels.jl is not installed in julia. It is added now!") Pkg.Registry.update() Pkg.add("PandaModels") if dev_mode: - print("installing dev mode is a slow process!") + print("installing dev mode is a slow process!") Pkg.resolve() Pkg.develop("PandaModels") Pkg.instantiate() @@ -73,9 +76,16 @@ def _call_pandamodels(buffer_file, julia_file, dev_mode): # pragma: no cover print("Successfully added PandaModels") # if dev_mode or "julia\dev\PandaModels" in Base.find_package("PandaModels").split(".jl")[0]: + # Pkg.activate("PandaModels") if dev_mode: - Pkg.activate("PandaModels") - + if "julia\dev\PandaModels" in Base.find_package("PandaModels").split(".jl")[0]: + Pkg.activate("PandaModels") + else: + Pkg.develop("PandaModels") + # add pandamodels dependencies: slow process + Pkg.build() + Pkg.resolve() + Pkg.activate("PandaModels") try: Main.using("PandaModels") except ImportError: From 77c5e6785fd4fe7b7323971439e7d41475a7a899 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Fri, 29 Oct 2021 15:46:05 +0200 Subject: [PATCH 257/422] delete dependency --- pandapower/test/opf/test_pandamodels_installation.py | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/pandapower/test/opf/test_pandamodels_installation.py b/pandapower/test/opf/test_pandamodels_installation.py index 12e9c1fe9..bd4af59ee 100644 --- a/pandapower/test/opf/test_pandamodels_installation.py +++ b/pandapower/test/opf/test_pandamodels_installation.py @@ -36,7 +36,7 @@ def test_julia_connection(): @pytest.mark.slow @pytest.mark.skipif(julia_installed == False, reason="requires julia installation") -@pytest.mark.dependency(depends=['test_julia_connection']) +# @pytest.mark.dependency(depends=['test_julia_connection']) def test_pandamodels_installation(): from julia import Main @@ -66,7 +66,7 @@ def test_pandamodels_installation(): @pytest.mark.slow @pytest.mark.skipif(julia_installed == False, reason="requires julia installation") -@pytest.mark.dependency(depends=['test_julia_connection']) +# @pytest.mark.dependency(depends=['test_julia_connection']) def test_pandamodels_dev_mode(): from julia import Main @@ -110,11 +110,6 @@ def test_pandamodels_dev_mode(): print("PandaModels is added to julia packages") if __name__ == '__main__': - pytest.main([__file__]) - # test_julia_installation() - # test_julia_connection() - # test_pandamodels_installation() - # test_pandamodels_dev_mode() - + \ No newline at end of file From b1c57584f1671badb0ce9b7de9b8149c21071c3c Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Fri, 29 Oct 2021 15:46:44 +0200 Subject: [PATCH 258/422] change condition --- pandapower/opf/run_powermodels.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandapower/opf/run_powermodels.py b/pandapower/opf/run_powermodels.py index 9df9f5acd..08d515637 100644 --- a/pandapower/opf/run_powermodels.py +++ b/pandapower/opf/run_powermodels.py @@ -78,7 +78,7 @@ def _call_pandamodels(buffer_file, julia_file, dev_mode): # pragma: no cover # if dev_mode or "julia\dev\PandaModels" in Base.find_package("PandaModels").split(".jl")[0]: # Pkg.activate("PandaModels") if dev_mode: - if "julia\dev\PandaModels" in Base.find_package("PandaModels").split(".jl")[0]: + if ".julia\dev\PandaModels" or ".julia/dev/PandaModels" in Base.find_package("PandaModels"): Pkg.activate("PandaModels") else: Pkg.develop("PandaModels") From 946ae6e6f75b23721f17ec5637a389809a846fce Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Fri, 29 Oct 2021 16:10:54 +0200 Subject: [PATCH 259/422] call dev --- pandapower/opf/run_powermodels.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pandapower/opf/run_powermodels.py b/pandapower/opf/run_powermodels.py index 08d515637..70463890b 100644 --- a/pandapower/opf/run_powermodels.py +++ b/pandapower/opf/run_powermodels.py @@ -74,14 +74,17 @@ def _call_pandamodels(buffer_file, julia_file, dev_mode): # pragma: no cover Pkg.build() Pkg.resolve() print("Successfully added PandaModels") - + # print(Base.find_package("PandaModels")) # if dev_mode or "julia\dev\PandaModels" in Base.find_package("PandaModels").split(".jl")[0]: # Pkg.activate("PandaModels") if dev_mode: + Pkg.develop("PandaModels") + # print(Base.find_package("PandaModels")) if ".julia\dev\PandaModels" or ".julia/dev/PandaModels" in Base.find_package("PandaModels"): + # print("from dev", Base.find_package("PandaModels")) Pkg.activate("PandaModels") else: - Pkg.develop("PandaModels") + # Pkg.develop("PandaModels") # add pandamodels dependencies: slow process Pkg.build() Pkg.resolve() @@ -95,4 +98,3 @@ def _call_pandamodels(buffer_file, julia_file, dev_mode): # pragma: no cover result_pm = Main.eval(julia_file + "(buffer_file)") return result_pm - From 2dbab21d176c3335a90c0e500e9789829f2641b6 Mon Sep 17 00:00:00 2001 From: sdrauz Date: Fri, 29 Oct 2021 16:24:38 +0200 Subject: [PATCH 260/422] adapting gen size in respect to the other components --- pandapower/plotting/plotting_toolbox.py | 5 +++-- pandapower/plotting/simple_plot.py | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/pandapower/plotting/plotting_toolbox.py b/pandapower/plotting/plotting_toolbox.py index 49fdf8967..06da2d144 100644 --- a/pandapower/plotting/plotting_toolbox.py +++ b/pandapower/plotting/plotting_toolbox.py @@ -21,7 +21,7 @@ def _rotate_dim2(arr, ang): def get_collection_sizes(net, bus_size=1.0, ext_grid_size=1.0, trafo_size=1.0, load_size=1.0, - sgen_size=1.0, switch_size=2.0, switch_distance=1.0): + sgen_size=1.0, switch_size=2.0, switch_distance=1.0, gen_size=1.0): """ Calculates the size for most collection types according to the distance between min and max geocoord so that the collections fit the plot nicely @@ -58,7 +58,8 @@ def get_collection_sizes(net, bus_size=1.0, ext_grid_size=1.0, trafo_size=1.0, l "switch_distance": switch_distance * mean_distance_between_buses * 2, "load": load_size * mean_distance_between_buses, "sgen": sgen_size * mean_distance_between_buses, - "trafo": trafo_size * mean_distance_between_buses + "trafo": trafo_size * mean_distance_between_buses, + "gen": gen_size * mean_distance_between_buses } return sizes diff --git a/pandapower/plotting/simple_plot.py b/pandapower/plotting/simple_plot.py index 0a7e280e6..1a97800f9 100644 --- a/pandapower/plotting/simple_plot.py +++ b/pandapower/plotting/simple_plot.py @@ -103,7 +103,7 @@ def simple_plot(net, respect_switches=False, line_width=1.0, bus_size=1.0, ext_g if scale_size: # if scale_size -> calc size from distance between min and max geocoord sizes = get_collection_sizes(net, bus_size, ext_grid_size, trafo_size, - load_size, sgen_size, switch_size, switch_distance) + load_size, sgen_size, switch_size, switch_distance, gen_size) bus_size = sizes["bus"] ext_grid_size = sizes["ext_grid"] trafo_size = sizes["trafo"] @@ -111,6 +111,7 @@ def simple_plot(net, respect_switches=False, line_width=1.0, bus_size=1.0, ext_g load_size = sizes["load"] switch_size = sizes["switch"] switch_distance = sizes["switch_distance"] + gen_size = sizes["gen"] # create bus collections to plot bc = create_bus_collection(net, net.bus.index, size=bus_size, color=bus_color, zorder=10) From 272cc7e195bfc16c0b0f6f2fc07846064f52304a Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Fri, 29 Oct 2021 16:59:41 +0200 Subject: [PATCH 261/422] free dev to registered --- pandapower/opf/run_powermodels.py | 28 ++++++++++--------- .../test/opf/test_pandamodels_installation.py | 13 +++++---- 2 files changed, 22 insertions(+), 19 deletions(-) diff --git a/pandapower/opf/run_powermodels.py b/pandapower/opf/run_powermodels.py index 70463890b..beff4ca3a 100644 --- a/pandapower/opf/run_powermodels.py +++ b/pandapower/opf/run_powermodels.py @@ -69,26 +69,24 @@ def _call_pandamodels(buffer_file, julia_file, dev_mode): # pragma: no cover print("installing dev mode is a slow process!") Pkg.resolve() Pkg.develop("PandaModels") + # add pandamodels dependencies: slow process Pkg.instantiate() Pkg.build() Pkg.resolve() print("Successfully added PandaModels") - # print(Base.find_package("PandaModels")) - # if dev_mode or "julia\dev\PandaModels" in Base.find_package("PandaModels").split(".jl")[0]: - # Pkg.activate("PandaModels") + if dev_mode: Pkg.develop("PandaModels") - # print(Base.find_package("PandaModels")) - if ".julia\dev\PandaModels" or ".julia/dev/PandaModels" in Base.find_package("PandaModels"): - # print("from dev", Base.find_package("PandaModels")) - Pkg.activate("PandaModels") - else: - # Pkg.develop("PandaModels") - # add pandamodels dependencies: slow process - Pkg.build() - Pkg.resolve() - Pkg.activate("PandaModels") + Pkg.activate("PandaModels") + + # if ".julia\dev\PandaModels" or ".julia/dev/PandaModels" in Base.find_package("PandaModels"): + # Pkg.activate("PandaModels") + # else: + # Pkg.build() + # Pkg.resolve() + # Pkg.activate("PandaModels") + try: Main.using("PandaModels") except ImportError: @@ -96,5 +94,9 @@ def _call_pandamodels(buffer_file, julia_file, dev_mode): # pragma: no cover Main.buffer_file = buffer_file result_pm = Main.eval(julia_file + "(buffer_file)") + + if dev_mode: + Pkg.activate() + Pkg.free("PandaModels") return result_pm diff --git a/pandapower/test/opf/test_pandamodels_installation.py b/pandapower/test/opf/test_pandamodels_installation.py index bd4af59ee..f6f7b5e47 100644 --- a/pandapower/test/opf/test_pandamodels_installation.py +++ b/pandapower/test/opf/test_pandamodels_installation.py @@ -99,15 +99,16 @@ def test_pandamodels_dev_mode(): # activate julia base mode Pkg.activate() + Pkg.free("PandaModels") # remove dev mod - Pkg.rm("PandaModels") + # Pkg.rm("PandaModels") Pkg.resolve() # reinstall base mode - Pkg.Registry.update() - Pkg.add("PandaModels") - Pkg.build() - Pkg.resolve() - print("PandaModels is added to julia packages") + # Pkg.Registry.update() + # Pkg.add("PandaModels") + # Pkg.build() + # Pkg.resolve() + # print("PandaModels is added to julia packages") if __name__ == '__main__': pytest.main([__file__]) From 06867b6dfb94ab7bf06bb58b6c60d9689c705e53 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Fri, 29 Oct 2021 17:35:55 +0200 Subject: [PATCH 262/422] bulid --- pandapower/opf/run_powermodels.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pandapower/opf/run_powermodels.py b/pandapower/opf/run_powermodels.py index beff4ca3a..0e9aa2192 100644 --- a/pandapower/opf/run_powermodels.py +++ b/pandapower/opf/run_powermodels.py @@ -78,6 +78,8 @@ def _call_pandamodels(buffer_file, julia_file, dev_mode): # pragma: no cover if dev_mode: Pkg.develop("PandaModels") + Pkg.build() + Pkg.resolve() Pkg.activate("PandaModels") # if ".julia\dev\PandaModels" or ".julia/dev/PandaModels" in Base.find_package("PandaModels"): @@ -94,7 +96,7 @@ def _call_pandamodels(buffer_file, julia_file, dev_mode): # pragma: no cover Main.buffer_file = buffer_file result_pm = Main.eval(julia_file + "(buffer_file)") - + if dev_mode: Pkg.activate() Pkg.free("PandaModels") From 5477fbec922868ce6de274bc559c6dc3c7bb9ae1 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Fri, 29 Oct 2021 18:10:07 +0200 Subject: [PATCH 263/422] xfail --- pandapower/opf/run_powermodels.py | 8 +++----- pandapower/runpm.py | 2 +- pandapower/test/opf/test_powermodels.py | 3 +-- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/pandapower/opf/run_powermodels.py b/pandapower/opf/run_powermodels.py index 0e9aa2192..ef6abec1a 100644 --- a/pandapower/opf/run_powermodels.py +++ b/pandapower/opf/run_powermodels.py @@ -78,8 +78,6 @@ def _call_pandamodels(buffer_file, julia_file, dev_mode): # pragma: no cover if dev_mode: Pkg.develop("PandaModels") - Pkg.build() - Pkg.resolve() Pkg.activate("PandaModels") # if ".julia\dev\PandaModels" or ".julia/dev/PandaModels" in Base.find_package("PandaModels"): @@ -97,8 +95,8 @@ def _call_pandamodels(buffer_file, julia_file, dev_mode): # pragma: no cover Main.buffer_file = buffer_file result_pm = Main.eval(julia_file + "(buffer_file)") - if dev_mode: - Pkg.activate() - Pkg.free("PandaModels") + # if dev_mode: + # Pkg.activate() + # Pkg.free("PandaModels") return result_pm diff --git a/pandapower/runpm.py b/pandapower/runpm.py index e24358edd..34a61089a 100644 --- a/pandapower/runpm.py +++ b/pandapower/runpm.py @@ -372,7 +372,7 @@ def runpm_vd(net, pp_to_pm_callback=None, calculate_voltage_angles=True, trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, pm_model="ACPPowerModel", pm_solver="ipopt", correct_pm_network_data=True, pm_time_limits=None, pm_log_level=0, pm_file_path = None, delete_buffer_file=True, - opf_flow_lim="S", pm_tol=1e-8, pdm_dev_mode=False, **kwargs): # pragma: no cover + opf_flow_lim="S", pm_tol=1e-8, pdm_dev_mode=True, **kwargs): # pragma: no cover """ Runs a non-linear power system optimization using PowerModels.jl. diff --git a/pandapower/test/opf/test_powermodels.py b/pandapower/test/opf/test_powermodels.py index 747a584e0..cae751ffc 100644 --- a/pandapower/test/opf/test_powermodels.py +++ b/pandapower/test/opf/test_powermodels.py @@ -607,7 +607,7 @@ def test_timeseries_powermodels(): pp.timeseries.run_timeseries(net, time_steps, continue_on_divergence=True, verbose=False, recycle=False, run=pp.runpm_dc_opf) @pytest.mark.skipif(not julia_installed, reason="requires julia installation") -# @pytest.mark.xfail(reason="develop mode") +@pytest.mark.xfail(reason="develop mode") def test_runpm_vd(): net = nw.create_cigre_network_mv(with_der="pv_wind") net.sgen.p_mw = net.sgen.p_mw * 8 @@ -658,4 +658,3 @@ def test_runpm_vd(): pytest.main([__file__]) - From 212229145dfdbac4a88b515a52caeb7063ef177f Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Mon, 1 Nov 2021 17:39:49 +0100 Subject: [PATCH 264/422] plot characteristic adjusted --- pandapower/control/util/auxiliary.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pandapower/control/util/auxiliary.py b/pandapower/control/util/auxiliary.py index 2e159fff8..1d25219ab 100644 --- a/pandapower/control/util/auxiliary.py +++ b/pandapower/control/util/auxiliary.py @@ -203,11 +203,15 @@ def drop_same_type_existing_controllers(net, this_ctrl_type, index=None, matchin "same type controllers should be dropped.") -def plot_characteristic(characteristic, start, stop, num=20): +def plot_characteristic(characteristic, start, stop, num=20, xlabel=None, ylabel=None): x = np.linspace(start, stop, num) y = characteristic(x) if MATPLOTLIB_INSTALLED: plt.plot(x, y, marker='x') + if xlabel is not None: + plt.xlabel(xlabel) + if ylabel is not None: + plt.ylabel(ylabel) else: logger.info("matplotlib not installed. y-values: %s" % y) From 1192c56dd6bafa7e5cc15664e71305c3e86d0471 Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Mon, 1 Nov 2021 17:41:41 +0100 Subject: [PATCH 265/422] plot characteristic adjusted --- tutorials/u_set_tap.ipynb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tutorials/u_set_tap.ipynb b/tutorials/u_set_tap.ipynb index 25195172b..5912489d7 100644 --- a/tutorials/u_set_tap.ipynb +++ b/tutorials/u_set_tap.ipynb @@ -212,7 +212,7 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAD4CAYAAADiry33AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAAqbUlEQVR4nO3deXiV5Z3/8fc3KxAgLIkIhLAElE0UjIBgXdCpYlU6dkNEXEvpiDrTTlt1FnVmOuPMr9OpikqpoiIitS51qdVaqiBGlkAAWVQSliSAhLATCCHJ9/fHOUkPMRvmhJOcfF7XlUvOfT/nnPtRrw937vt5vo+5OyIiEr1iIj0AERFpXgp6EZEop6AXEYlyCnoRkSinoBcRiXJxkR5AbVJSUrxfv36RHoaISKuxatWqYndPra2vRQZ9v379yM7OjvQwRERaDTPbXleflm5ERKKcgl5EJMop6EVEopyCXkQkyinoRUSiXINBb2ZzzazIzNbX0W9m9qiZ5ZrZOjMbFdL3D2a2wczWm9mLZtYunIMXEWlOsxfnkZVXfFJbVl4xsxfn1dl3yzMrwtI+e3Fe2M6jMTP6Z4Gr6umfCAwK/kwHngQws97A3UCmuw8HYoHJTRmsiMjpNCItmZkLcqqDOCuvmJkLchiRllxn3/iB3cPSPiItOWzn0eB19O6+xMz61XPIJGCeB+odLzOzLmbWM+Tz25vZCaADsLOpAxYRCbfZi/MYkZbMuIyU6rasvGLWFhzg/omD+f68bIb1TGbdjgNMHH4my/L2AnDJWSnc9uxKRvROZt2Og0wcfiaHj5V/5fZR6V359IvDzJoy8qSxNJU1ph59MOjfCs7Ma/a9BTzs7kuDrxcBP3P3bDO7B/g5cAz4k7vfWM93TCfwGwHp6ennb99e57X/IiJhVTWL/sV3RnDkeAXvrt/Fuxt2ExdjlJZXnnSs2cnvDY3Q0L6v2n73hIH86Otnn/I5mNkqd8+srS8cd8ZaLW1uZl0JzPb7AweA35nZVHefX9uHuPscYA5AZmamnoYiIqfNuIwUZk0ZybS5KyivCMRPRmoS4wem0D4+loUrC7hpbDoLVhScNNuu+gti6ph05i/Pr+5ravvYjO5hndGHI+gLgT4hr9MILNFcAWx19z0AZvYqMA6oNehFRCIpPjamOuTvvCyDn1w5uDqAn5w6inEZKYwbmMLMBTnMmjISoPrP4zJSGJsRWGv/4aUDePKDLU1uD+fyTTiWbr4BzASuBsYAj7r7aDMbA8wFLiCwdPMskO3ujzX0fZmZma5aNyJyOl372Ies33GIGZcM4LfZhcyaMpJ1hQdrXbtfV3gQoNa+OUu2MP3iAU1uX1d4kBmXZDR6/PUt3TQY9Gb2InApkALsBh4A4gHcfbaZGTCLwJU5R4Fb3T07+N6HgO8B5UAOcIe7H29owAp6ETmdnvt4Gw+8voEpo/vwn9ePqJ7Jh3tTtDk1KegjQUEvIqfThF98QNHhUpbffwVJiYEV7a8yq46k5t6MFRFptdYWHGBLcQk/ufLs6pCHwAZta5nNN0QlEESkTXvsL5tJbh/PtAv7RnoozUZBLyJt1vodB/nzpiJuv6g/ndrFR3o4zUZBLyJt1mN/2UyndnHcMr5fpIfSrBT0ItImbdp1iHc37Oa28f3pHMWzeVDQi0gbElpxctZfcumYGMfwXslhrRTZEinoRaTNqKo4+VJ2AW+v38UVQ87gZ6+uC2ulyJZIl1eKSJtRVdPmlrkriTXjg8/38MSNo6LmMsq6KOhFpE05o1M7yioCFSmnje0b9SEPWroRkTbmwTc2AHDHRf2Zvzz/S093ikYKehFpM15dXcjS3GKuGdGTf75mKLOmjDzp6U7RSkEvIm3GMx9tIz7GeODaYcBf1+yrqlFGK63Ri0ibkL/3KBt3HeLmC/uR2imxuj2aatrURTN6EWkTnvggl9gY4weXDIj0UE47Bb2IRL3C/Ud5eVUhN1zQhx6d20V6OKedgl5Eot6TH+QRY8aMS1tHbflwazDozWyumRWZ2fo6+s3MHjWzXDNbZ2ajQvq6mNnLZvapmW0yswvDOXgRkYbsPHCMl7IL+O4FafRMbh/p4UREY2b0zxJ4TGBdJgKDgj/TgSdD+h4B3nH3wcC5wKavNkwRka+mqo7NDy8dGOGRRE6DQe/uS4B99RwyCZjnAcuALmbW08w6AxcDTwc/p8zdD4RhzCIi9aoqXvbFwVIWrijg2+ensX1vSdQXL6tLONboewMFIa8Lg20DgD3AM2aWY2ZPmVlSXR9iZtPNLNvMsvfs2ROGYYlIW1VVvOzBN9ZT4c7Y/t2ZuSAn6ouX1SUcQW+1tDmBa/RHAU+6+0igBLi3rg9x9znununumampqWEYloi0VeMyUviPbw7jnQ27OatHRx56ayOzpoyM+uvl6xKOoC8E+oS8TgN2BtsL3X15sP1lAsEvItLscvIPALBp12GmjklvsyEP4Qn6N4BpwatvxgIH3X2Xu38BFJjZ2cHjLgc2huH7RETqVXzkOM9lbSchLoa7JwxsM8XL6tJgCQQzexG4FEgxs0LgASAewN1nA28DVwO5wFHg1pC33wW8YGYJwJYafSIizeKhNzZSVlHJL74zgm+f34exGYE1+ra6fNNg0Lv7DQ30O3BnHX1rgMyvNDIRka9gX0kZ72zYxbiM7nz7/MCqcmjxMgW9iEgr9/TSLZRXOg9dN+yk9rZQvKwuKoEgIlHjwNEynsvaztXn9GRQj06RHk6LoaAXkagx96NtHDlezl0T2u5dsLVR0ItIVDh47ATPfLSVq4adyeAzO0d6OC2Kgl5EosJzWds4XFrOXZdrNl+Tgl5EWqWqejYAh0tP8PTSrYxK78qHm9vu9fJ1UdCLSKtUVc8mK6+YeR9v5+CxE+QWHW6z9Wzqo8srRaRVqro2/s4XVnOsrIL4WGP2Tee32Uso66MZvYi0WuMyUhjSszOl5ZV8c2RvhXwdFPQi0mq9/+luPs7bS3q3DizaVNSm69nUR0EvIq1SVl4xdy7IwYH/+965zJoysnrNXk6mNXoRaZVWb99PXEwM4wd24fy+3QDadD2b+ijoRaRVSkqM41DpCe6eMKi6rS3Xs6mPlm5EpNUpPVHB7MV5jOnfjTEDukd6OC2egl5EWp2XsgvYfeg491w+qOGDRUEvIq3L8fIKnvwgj8y+XbkwQ7P5xmgw6M1srpkVmdn6OvrNzB41s1wzW2dmo2r0x5pZjpm9Fa5Bi0jb9fKqQnYdLOWeKwZhZpEeTqvQmBn9s8BV9fRPBAYFf6YDT9bovwfY9FUGJyISqqy8kifez2NkehcuGqhN18ZqMOjdfQmwr55DJgHzPGAZ0MXMegKYWRrwDeCpcAxWRNqe0OJlr+UUsuPAMf5maA9+vWRLhEfWeoRjjb43UBDyujDYBvAr4KdAZUMfYmbTzSzbzLL37NkThmGJSDSoKl724eY9zHo/lwEpSTz14VYVLzsF4Qj62hbJ3MyuAYrcfVVjPsTd57h7prtnpqamhmFYIhINqoqXzXh+FQX7jlF0+DizpozU9fKnIBxBXwj0CXmdBuwExgPXmdk2YCEwwczmh+H7RKSNGdYrmUp3AG4d308hf4rCEfRvANOCV9+MBQ66+y53v8/d09y9HzAZ+Iu7Tw3D94lIG/PTl9dy7EQlky/owwvL81XP5hQ1WALBzF4ELgVSzKwQeACIB3D32cDbwNVALnAUuLW5Bisibc+Ly/N5d8Nu/mZIDx7+1giuO6+YmQtytHxzCsyDvw61JJmZmZ6dnR3pYYhIhFVWOl/7n/c5VHqCpT+dQHKHeCBQuXJd4UFmXJIR4RG2HGa2yt0za+tTUTMRabFezdnBjgPH+J9vjagOeVDxslOlEggi0iIdPHaCh/+4iZHpXfj2+WmRHk6rphm9iLRI//fe5+wrKePZW0cTE6NSB02hGb2ItAihd8Bu2HmQeR9v44ohPViaqytsmkpBLyItQtUdsB9tLuZfX99Ax8Q4Vm7bpztgw0BBLyKnVejMvUpWXjE5+Qf4x6+fxe3zVrJq+34qKp3HbxylTdcw0Bq9iDSL2YvzGJGWfFJQZ+UVs31vCb9enMe9E4cQY/Dext0s+rQIA8or/3q5923j+yvkw0RBLyJfWV1hvq7wYPVSzGOTR9IjuR2vri7k6aVb6du9AyXHK/jZK+uq3zP4zE58bVAKifGxPP/xdqaN7csLK/K5cGB3hX0YaOlGRBpU13LL9r0lzFyQU92XlVvMD+ev5sjxct7/tIgzOiVy49PLueKXi3nigzzcoXO7eG4cm87fDO0BwF2XDeSdv7+YywafwYLl+Tw5dRQ/vvJsZk0ZedJny1enO2NFpEFZeSeXHah6/cA1Q9lSXMKvl+SR0jGRHfuPUZUoCXExDO3ZmcpKZ92Og0wZk86/XTeMuNiY6vdPHZPO/OX5zJoysvq3gNp+O9AdsA2r785YBb2IVKtrKWZtwQHSunbgvlc/YfCZnVhTeIDEuBhKjlcAEGNQ6TC8d2emjunLOWnJnNWjEyu37ftSoAO1/qWh2jVNoxIIInKS+jZK5yzZwn9MGkZCXCx/+GQXb63bSfv4WA6VlgOQvX0/KR0TuHxwD85JSwac//3T59w0ti/zl+eT3r0Dw3olfynAx2Z0Z+aCHK4c1uOkUK+qN7+u8KCCvploRi8SxeoK9DfX7uTdDbuZNWUkZ/XoxEvZBTy2KJchPTuztfgI+4+eqD6+T9f2jBnQnY6Jcby6upCpY/uycGVBg7NzLcWcXlq6EYlijbnypSqI39vwBT/63VquHt6TLcVHWLV9PyFXNJKRmsSItC4UHznOh5uL+eElA/jZxCF1rtFfOawH157bS2HeAijoRaJYXSH8398aQVJCLG+u28krq3bQLj6mevkFoF/3DsTHxrC56AjXj+rNQ9cNo1O7eG2UtlJNCnozmwtUPf91eC39BjxC4OEjR4Fb3H21mfUB5gFnEng4+Bx3f6QxA1bQi3xZfTP3s3p05J6Fazg3rQsrtu6jW1ICXxwqrT6uU2Ich4+XMy6jO3deNpDhvZLZsOugNkqjSFM3Y58FZhEI7dpMBAYFf8YATwb/WQ78OBj6nYBVZvaeu288xfGLCH+tBfOr751HUmIsr6/ZycKVBaR0TGDXwVLcYWluMR0TYxmRlszUtHTOSetC6YkK7nv1E+4eP5D5y/MxozrktVHaNjQY9O6+xMz61XPIJGCeB341WGZmXcysp7vvAnYFP+OwmW0CegMKepF61DVzX75lH1cMOYObn1lB1S/iye3jGdqzM+MGpPDOhi/43gV9eC1nB7cEH6CdlVfMP/z2kyYFuh7y0fqF4/LK3kBByOvCYNuuqobgXxQjgeV1fYiZTQemA6Snp4dhWCKtU80N1FdWFXD/a+updOdEhZPerQP5+45y2/h+/Ou1w6qXV+ZMO59xGSlcPuSMk658UaBLozZjg0H9Vh1r9H8A/svdlwZfLwJ+6u6rgq87AouBn7v7q40ZlNbopa3LyitmxvOr6N4xka3FJcTFGNeP6s35fbvx3+98qo1S+ZLmvmGqEOgT8joN2Bn84njgFeCFxoa8SFvn7nz+xWEOl5ZzqLSc0f268fiNo9hcdLjWdfXaNko1O5dQ4Shq9gYwzQLGAgfdfVfwapyngU3u/sswfI9I1DteHqjq+OCbG4mLNX5w8QBy9xxhc9HhepdhROrT4IzezF4ELgVSzKwQeACIB3D32cDbBC6tzCVweeWtwbeOB24CPjGzNcG2+9397TCOX6TVqrnpWnSolClPLSO3qIR28TE8Pe0Cxg9K4ZKzUzVzlyZpzFU3NzTQ78CdtbQvBfREX5E6hG66dkiI49ZnVrD/6AnGDwxc665LHCVcdGesSARl5RXz/eeyOXYiUAXy5988hxvG6KozOXX1bcbqwSMiEVJeUcmiTUWUlFVQ6XD7Rf0V8tIsFPQiEXDgaBm3PLOSp5duJTEuhjsvy+CV1Tv0NCVpFgp6kWZW8zF8n+8+zNf/bwlZucUkJcTyzK0X8JMrB+vRedJsFPQizaxq0zUrr5h3N3zBdY8tZc+R40wY0oPf3JypyyWl2WkzVuQ0+GhzMXfMC2y6xsYYj04+j2+M6BXpYUkU0WasSASVHC/n+WXbq6+s+cHFAxTyclop6EWaUf7eo1z/RBbvbviCDgmx3DVhIAtXFmgdXk4rPRxcpJl8lFvMnQtWc6K8ko7t4vj1TYHqkhfWU6NGpDloRi8SBqFX1rg7c5du5aanlxMXY0wd27c65EGbrnL6aUYvEgZVV9b88rvn8ta6Xby8qpD4WON/vj2CCYN7fOl41aiR00lBLxIG4zJS+PdJw7j9uWwqKp328bE8NS2T8YMU5hJ5WroRCYOc/P089ObG6ip+3/9af4W8tBgKepEm+l12Ad/79TIAkhJjuXtC4CHcurJGWgoFvcgpCN10La+o5KE3N/CTl9fRNSmeExWVPDn1fH709bNVzkBaFK3Ri5yCqk3Xh68/h+c+3sZHuXtpFxfDpWefwaTzeqmGvLRIjXnC1FzgGqCojoeDG/AIgadMHQVucffVwb6rgn2xwFPu/nAYxy5y2o3LSOFnV53NjPmrAEhKiD2pXk3NYxXy0hI0ZunmWeCqevonAoOCP9OBJwHMLBZ4PNg/FLjBzIY2ZbAikfbO+l089OZG2sXHVteQV5hLS9dg0Lv7EmBfPYdMAuZ5wDKgi5n1BEYDue6+xd3LgIXBY0VancpK55fvfc6M+avpmdyOhNgYbbpKqxGOzdjeQEHI68JgW13ttTKz6WaWbWbZe/bsCcOwRL660E3XI8fL+cH8VTy6aDP9U5LYV1LGE1NHadNVWo1wBH1tDwD3etpr5e5z3D3T3TNTU1PDMCyRr65q0/W11YVc/8RHLNq0mw4JsYzt343HbxylcgbSqoTjqptCoE/I6zRgJ5BQR7tIizcuI4UfXDyAH720loS4GJIS406qV1PzWK3TS0sWjhn9G8A0CxgLHHT3XcBKYJCZ9TezBGBy8FiRFs3deerDLfz3O5/SLSmB4+WV3Dqun8JcWq3GXF75InApkGJmhcADQDyAu88G3iZwaWUugcsrbw32lZvZTOBdApdXznX3Dc1wDiJhU3qigvtf/YRXc3Ywul9XNhcdqd50HZvRXWEvrVKDQe/uNzTQ78CddfS9TeAvApEWafbiPEakJTMuI4UvDpbyg+ezWVt4kHN6dya3qKR6PX6sashLK6YSCNKmVW26Ppu1jWtnLeWzLw7TMTGO4b2TmXXjSG26SlRQCQRp08ZlpPDtUb158I0NJLePIzE+lienjtKmq0QVzeilzTpRUckDr69nzodb6dOtPQePlXPzhX0V5hJ1FPTSJu0rKeOmp5fz3MfbuWZET46UlutOV4laCnqJeqF3uQJs3HmIr/9yMSu37efvLs0gK28vj9+oO10leinoJepVbbhm5RXzh3W7+ObjH7H3aBkPXjuUzu3jT7qSRpuuEo0scHVky5KZmenZ2dmRHoZEkY82F3P7vJWUnqgkLsZ49IbzuPqcXpEelkjYmNkqd8+srU8zeol6h0tP8EzWVkpPVAIw/eIBCnlpUxT0EtW2Fpfwt09k8ZdPi+iQEMtdEwaycGWB1uClTVHQS9Souen6wWdFfOORJeTvPUpSYhxP3ZzJj7XhKm2Qgl6iRvWma24xv16cx63PrOR4hXPVsB4nVZ7Uhqu0NdqMlajywWdFTJ+3irKKShJiY/j1TaO4bHCPSA9LpNlpM1bahJ0HjvGLP31GWUVg0/UHlwxQyIugoJcosXLbPq6btZTcoiN0TIzj7gkDeUF3uYoACnpphWpuur64Ip/Jcz6m9EQFiXGxzJl2vu5yFQmh6pXS6lRtuj4y+Tz+tGE3zy/bTnysceWwM/nW+Wm1brqqUJm0ZY0KejO7CniEwJOinnL3h2v0dwXmAhlAKXCbu68P9v0DcAeBB4N/Atzq7qVhOwNpc87v25XvZvbhlrkrqXCnXXwMT027gIsGqbSwSG0aXLoxs1jgcWAiMBS4wcyG1jjsfmCNu48AphH4SwEz6w3cDWS6+3ACf1FMDt/wJZrVXKLZX1LGz15ex6h/e4/Zi/Po0iEegOlfG1BryItIQGPW6EcDue6+xd3LgIXApBrHDAUWAbj7p0A/M6u63CEOaG9mcUAHYGdYRi5Ro2agA2TlFbN9bwkzX8hh4Yp8/vn3nzD6P//Mb7MLyDijI/dNHIyDSguLNEJjlm56AwUhrwuBMTWOWQtcDyw1s9FAXyDN3VeZ2S+AfOAY8Cd3/1NtX2Jm04HpAOnp6ad0EtLyhT6btUpWXjHrCg9Wr7k/Nnkkvbq255VVBTz14Vb6pSRxtKyce1/9hBiD+NgY/vtb59CnW/uTnt+q57mK1K8xM3qrpa3mXVYPA13NbA1wF5ADlAfX7icB/YFeQJKZTa3tS9x9jrtnuntmampqY8cvLUy9s/OQK2Cycov54fzVHCurYPHne+iZ3I6pTy/nsl98wKz38yivdNonxPK9C/pwxZAzqHT4wcUD+N4FfVhXeFClhUVOQWNm9IVAn5DXadRYfnH3Q8CtAGZmwNbgz5XAVnffE+x7FRgHzG/yyKVFqpqdVwVxVl4xMxfk8NB1wzizc3tue3YlqZ0SKdx3DAceWbSZ+FhjSM/ODOvdmfU7DnHD6D7826ThxMfGVL+/aolmbEZ3ZlyS8aXv1aarSN0aE/QrgUFm1h/YQWAzdUroAWbWBTgaXMO/A1ji7ofMLB8Ya2YdCCzdXA6otkEUqG8p5t8nDWP6vFUM7dmZnIL9tI+P5a4Xc4DAr4cF+44xrFdnpoxJZ0TvLpx1ZkdWbd9/UqBfe26gjLCWaESarsGgd/dyM5sJvEvgqpm57r7BzGYE+2cDQ4B5ZlYBbARuD/YtN7OXgdVAOYElnTnNcibSLOoK9O17S5izZAv/+bfDSYyL5Q/rdvH62h0kJcRx4NgJAFZs20f3pAQmDD6DEWnJAPzyvc+5aWxf5i/Pp39KEuekJVfP2msG+pXDetS5RKOgF2k8FTUToO5Af3PtTt7dsJtZU0Yy5MzO/Da7gEf+vJlhvTuzdc8R9pacqD6+V5d2jO3fnY7t4vh9zg5uHJPOb7MLmTVlJECtSzpVwV3Xbwe1LdOIyJfVV9RMQd+GNObKl6ogfm/jbn700hquGdGTLXtKWLltH5Uh/6v0T0ninN7J7CspY2luMTMuGcC9E4d8aXZe9frKYT249txeCnORZqKgF4A6Q/gX3xlBUkIcb67dyUvZhXRIiK1efgFI79aBhLgYcouO8Lcje/PgdcNIbh9f/f6pY9KZvzxfs3ORCFLQtzH1zdwH9+jE3QtzOK9PF5Zt3UdKxwR2HSyl6n+DjomxHDlewYUDuvN3l2UwvFcym7449KVAh7qXYrR+LnL61Rf0KmrWijW0UfrL755Lcvt4Xl+zkwUr8unRKZEdB45R6bBkczFJCbEM7ZnM5AvSOSctmeMnKrj/tfXcPb4/85fnExtj1SGvjVKR1ksz+lYsdBad2bcbv8su4Odvb2JM/25s2VPC9n1Hq4/t3C6OUX270rVDPO9tLOK7mWn8fs3OOmfkWlsXaV20dBPFsnKLueXZlZRXVFZvlnbpEM85vZM5VlZB9vb93DKuHw9cO5SPt+zVlS8iUUpLN1Fs39EyysoDj86bOPxM7r96CGld21eHetUNSF8f1qPe0gG621QkeinoW7GS4+X8y+/XExtj/PCSDBasyKdg/1EK9h9t9B2lCnOR6Kegb8V+9so69h89wYPXDeOWcf0YN1AbpSLyZQr6Viq36DBvf7KLS85K4ZZx/YD6A10zd5G2S0HfCrk7//r6BjomxvG/3z3vpD4FuojU1Jh69NLCvLVuF1l5e/nJlWeT0jEx0sMRkRZOQd/KHDlezn/8YWOwzG/fSA9HRFoBBX0rEPrUpscWbWb3oeN894I+/ObDLREemYi0Bgr6VqCqsuTvsgt4eulWLj0rlUf+vLm6xruISH0aFfRmdpWZfWZmuWZ2by39Xc3sNTNbZ2YrzGx4SF8XM3vZzD41s01mdmE4T6AtGJeRwqwbRnLfq58QG2OsKTyg4mEi0mgNBr2ZxQKPAxOBocANZja0xmH3A2vcfQQwDXgkpO8R4B13HwycC2wKx8DbmvJKp7zSOV5eybSxfRXyItJojZnRjwZy3X1L8JmwC4FJNY4ZCiwCcPdPgX5m1sPMOgMXA08H+8rc/UC4Bt9WuDv/8YeNxBj83aUZzF+eX71mLyLSkMYEfW+gIOR1YbAt1FrgegAzGw30BdKAAcAe4BkzyzGzp8wsqbYvMbPpZpZtZtl79uw5xdOIbk99uIXPdx/h5gv78dOrBjNrykhmLshR2ItIozQm6K2WtpolLx8GuprZGuAuAg8BLydwQ9Yo4El3HwmUAF9a4wdw9znununumampqY0cftsw7+PtdO0Qz71XDwZOvgNWRKQhjbkzthDoE/I6DdgZeoC7HwJuBTAzA7YGfzoAhe6+PHjoy9QR9FK7ZVv2UrD/GA9eO5TEuNjqdt0BKyKN1ZgZ/UpgkJn1N7MEYDLwRugBwStrEoIv7wCWuPshd/8CKDCzs4N9lwMbwzT2NuHRRZtJ7ZTI5NHpkR6KiLRSDc7o3b3czGYC7wKxwFx332BmM4L9s4EhwDwzqyAQ5LeHfMRdwAvBvwi2EJz5S8NWbttHVt5e/vkbQ2gXH9vwG0REatGoombu/jbwdo222SF//hgYVMd71wC1PvVE6vfoos2kdEzgRpU6EJEm0J2xLdTq/P18uLmY739tAO0TNJsXka9OQd9CPbpoM92SEpg6VrN5EWkaBX0LEVq4bG3BAT74bA9/M7QHzy/bHuGRiUhrp6BvIaoKl2XlFfPYXzaTlBjLnzZ8ocJlItJkesJUC1F1E9SM51dxqLSc9vGxPD5tlK6VF5Em04y+BRmXkUJKp8ATo6ZdqMJlIhIeCvoWZOGKfLbsKWF0v278blWhatmISFgo6FuIrLxi/vX1DbSPj+E30zJVuExEwkZB30L8ZVMRZRWV3PG1ASR3iFfhMhEJG23GthC7Dx8nKSGW28b3r25T4TIRCQfN6FuA3KIjvLVuJ9PG9aNrUkLDbxAROQUK+hbg8fdzaRcXyx0X9W/4YBGRU6Sgj7CtxSW8vmYHN13Yl+4dEyM9HBGJQgr6CHv8/VwS4mL4/tcGRHooIhKlFPSnWWhNm/y9R3ktZweXnX0Gr6wujPDIRCRaKehPs9CaNo+/n4sBH+ftVU0bEWk2jQp6M7vKzD4zs1wz+9IzX82sq5m9ZmbrzGyFmQ2v0R9rZjlm9la4Bt5aVV0f/8P5q3kpu4DYGOOJqappIyLNp8GgN7NY4HFgIjAUuMHMhtY47H5gjbuPAKYBj9TovwfY1PThRodxGSn06dYeB6aMSVfIi0izasyMfjSQ6+5b3L0MWAhMqnHMUGARgLt/CvQzsx4AZpYGfAN4KmyjbuXeXLuT9TsOcU7vzry+ZqfKHIhIs2pM0PcGCkJeFwbbQq0Frgcws9FAXyAt2Pcr4KdAZX1fYmbTzSzbzLL37NnTiGG1Tll5xfzj79YSGwOzb1JNGxFpfo0JequlzWu8fhjoamZrgLuAHKDczK4Bitx9VUNf4u5z3D3T3TNTU1MbMazW6aPcvVRUOt/N7EPvLu1V00ZEml1jat0UAn1CXqcBO0MPcPdDwK0AZmbA1uDPZOA6M7saaAd0NrP57j41DGNvlY6WlQPwd5cOrG5TTRsRaU6NmdGvBAaZWX8zSyAQ3m+EHmBmXYJ9AHcAS9z9kLvf5+5p7t4v+L6/tOWQLzpcyoLl+Vw/qjd9unWI9HBEpI1ocEbv7uVmNhN4F4gF5rr7BjObEeyfDQwB5plZBbARuL0Zx9xq/WbJFsornTsvG9jwwSIiYdKoMsXu/jbwdo222SF//hgY1MBnfAB8cMojjBLFR44zf1k+k87rRd/uSZEejoi0Iboz9jT5zYdbOF5eodm8iJx2CvrTYF9JGc9/vJ1rz+1FRmrHSA9HRNoYBX0zCS1e9vTSLRw7UcFFA1OYvTgvwiMTkbZGQd9MqoqXvbfhC57L2s7o/t34rz9+quJlInLa6ZmxzaTqRqjbns2m9EQFn+46zJMqXiYiEaAZfTMa1iuZyspA5YebL+yrkBeRiFDQN6N/f2sjZRXO5NF9mL88X/VsRCQiFPTNZNGm3byyqpDz+3bl4etHqHiZiESMgr6ZPPfxNhx48NphACpeJiIRo83YZnDkeDnrCg8yYfAZnBNylY2Kl4lIJGhG3wzmL9vOgaMnuGuC7oIVkchT0IfZ0bJyfrNkCxeflcrI9K6RHo6IiII+3F5Yls/ekjLuuVyzeRFpGRT0YXSsrIJfL9nC+IHdOb9vt0gPR0QEUNCH1Ysr8ik+cpx7Lj8r0kMREammoG+iquJlpScqmL04j7EDulFeWaniZSLSYjQq6M3sKjP7zMxyzezeWvq7mtlrZrbOzFaY2fBgex8ze9/MNpnZBjO7J9wnACdXiqySlVfMLc+sCEv77MV5dX7H9r0lzFyQw8N//JSiw8e5fMgZzFyQo+JlItJiNBj0ZhYLPA5MBIYCN5jZ0BqH3Q+scfcRwDTgkWB7OfBjdx8CjAXurOW9TVZVKbIqiLPyipm5IIfxA7uHpX1EWvJJ33GsrIJnP9rKHc9lU7DvGO3iYng2axs9k9vx5AdbmDVlpK6XF5EWw9y9/gPMLgQedPcrg6/vA3D3/wo55g/Af7n70uDrPGCcu++u8VmvA7Pc/b36vjMzM9Ozs7NP6USy8oq56ekVJLeL4+CxE5yZ3I4OCXEcLSvni4OlJLePb1I7BC6d3HWwlMqQf2VndEpkRFoyh0vLWb51H3dPGMiPvn72KY1dRKSpzGyVu2fW1teYO2N7AwUhrwuBMTWOWQtcDyw1s9FAXyANqA56M+sHjASW1zHI6cB0gPT09EYM62TjMlIYmJrEZ7uPMPCMJM7q0am6r33CYXKLSprcHug7Qm7REa4Z0ZN/uWYoPTq3q5753z1hIPOX5zM2o7tm9CLSYjRmjd5qaav5a8DDQFczWwPcBeQQWLYJfIBZR+AV4O/d/VBtX+Luc9w9090zU1NTGzP2k2TlFbPnSBl3TxjIvpITTB3blyduPJ+pY/uyr+REk9v/2hf4jqy8veTtOVId8rOmjORHXz9bxctEpMVpzIy+EOgT8joN2Bl6QDC8bwUwMwO2Bn8ws3gCIf+Cu78ahjF/SWjYjstIYWxGYK39h5cOOGnN/Ku2z5oyEqDW77hyWI+T1uRDi5dpVi8iLUFj1ujjgM+By4EdwEpgirtvCDmmC3DU3cvM7PvA19x9WjD0nwP2ufvfN3ZQp7pGP3txHiPSkk8K1qy8YuYs2cL0iwc0ub2q4mRt37Gu8CAzLslo9FhFRJpDfWv0DQZ98AOuBn4FxAJz3f3nZjYDwN1nBzds5wEVwEbgdnffb2YXAR8CnwCVwY+7393fru/7vspmrIhIW9bUzViCwfx2jbbZIX/+GBhUy/uWUvsav4iInCa6M1ZEJMop6EVEopyCXkQkyinoRUSiXKOuujndzGwPsD3S4zhFKUBbu0tK59w26Jxbh77uXuvdpi0y6FsjM8uu69KmaKVzbht0zq2flm5ERKKcgl5EJMop6MNnTqQHEAE657ZB59zKaY1eRCTKaUYvIhLlFPQiIlFOQd9EZvb/zOzT4IPRXwuWbK7quy/4QPXPzOzKCA4zrMzsO8GHvVeaWWaNvmg956uC55RrZvdGejzNxczmmlmRma0PaetmZu+Z2ebgP7tGcozhZGZ9zOx9M9sU/H/6nmB7VJ2zgr7p3gOGBx+M/jlwH0DwIeiTgWHAVcATwQetR4P1BB4duSS0MVrPOXgOjwMTgaHADc3xkPsW4lkC/+1C3QsscvdBwKLg62hRDvzY3YcAY4E7g/9to+qcFfRN5O5/cveqxyYuI/AELoBJwEJ3P+7uW4FcYHQkxhhu7r7J3T+rpStaz3k0kOvuW9y9DFhI4FyjjrsvAfbVaJ5E4AFCBP/5zdM5pubk7rvcfXXwz4eBTQSekx1V56ygD6/bgD8G/1zbQ9V7n/YRnV7Res7Rel6N1cPdd0EgGIEzIjyeZmFm/YCRwHKi7Jwb9eCRts7M/gycWUvXP7n768Fj/onAr4EvVL2tluNbzbWsjTnn2t5WS1urOed6ROt5SZCZdSTwbOu/d/dDgaegRg8FfSO4+xX19ZvZzcA1wOX+1xsTGnyoekvW0DnXoVWfcz2i9bwaa7eZ9XT3XWbWEyiK9IDCycziCYT8C+7+arA5qs5ZSzdNZGZXAT8DrnP3oyFdbwCTzSzRzPoTeNTiikiM8TSK1nNeCQwys/5mlkBgw/mNCI/pdHoDuDn455uBun6ja3UsMHV/Gtjk7r8M6Yqqc9adsU1kZrlAIrA32LTM3WcE+/6JwLp9OYFfCf9Y+6e0Lmb2t8BjQCpwAFjj7lcG+6L1nK8GfgXEAnPd/eeRHVHzMLMXgUsJlOndDTwA/B54CUgH8oHvuHvNDdtWycwuAj4EPgEqg833E1inj5pzVtCLiEQ5Ld2IiEQ5Bb2ISJRT0IuIRDkFvYhIlFPQi4hEOQW9iEiUU9CLiES5/w+MI3aVxyrcGwAAAABJRU5ErkJggg==\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYgAAAEHCAYAAAC0pdErAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAAusElEQVR4nO3deXzU5bn//9eVhbCHJSxCgEBAVlEwRcRdW8GtVE+tiojVWooVtfW0p9aeHu053556+u3PoxYE+bmhiNa1osWlLoAaQQJhFZSENawJSICwZbm+f8wkTsJkQTJMMnk/Hw8ezNz3Zz5zfWofc3F/7s993ebuiIiIVBUX7QBERKRhUoIQEZGwlCBERCQsJQgREQlLCUJERMJKiHYA9SklJcXT0tKiHYaISKOyZMmSAnfvVLU9phJEWloaWVlZ0Q5DRKRRMbNN4dp1i0lERMJSghARkbCUIEREJCwlCBERCUsJQkREwopogjCzp8xsl5mtqqbfzOxRM8sxsxVmNjyk75dmttrMVpnZC2bWPJKxiojUp+nzc8nMLajUlplbwI+f/rxe2qfPz632O6bPz62Xa4j0COIZYEwN/ZcB/YJ/JgLTAMysO3AXkOHuQ4B44PqIRioiUo+GpiYzeXZ2xQ94Zm4Bk2dnc07fjvXSPjQ1udrvGJqaXC/XENF1EO6+wMzSajhkLPCsB2qOLzSzdmZ2SkhsLcysGGgJbItkrCIi38b0+bkMTU1mVHpKRVtmbgHZm/fy60v789OZWXwnrQOfb9zDdRk9aJ4Qz9jTu3HbzCxGnEB77q4DABV9156ZypsrtjNl3LBKsZwIi/R+EMEE8VZwJFC17y3gQXf/JPj+A+A37p5lZncDfwQOAe+5+43VnH8igdEHPXv2PHPTprDrPUREIqL8X+3/fsVAyhzeW72DD9fuwoDispO7385dF/flnkv7H/fnzGyJu2dUbY/2SmoL0+Zm1p7A6KI3sBd42czGu/usYw52nwHMAMjIyNDuRyJyUo1KT+Fn5/fhnpeWV7QN6NqGc/um0DwxjucWbubaM1N5ZWkeD15zGhlpHcjauId7X1vJD4efWDtQ0TduRE9mLdrMyPSO9TaCiHaCyAN6hLxPJXAr6bvABnfPBzCz14BRwDEJQkQkmtydt1ftoE1SAvuPlDD5or78anT/ipHFtPHDGZWewsUDOzN5dja3X9iHafPW89iNJ9Y+ZdwwAO57fVVF37n9Uir66iNJRPsx1znAhODTTCOBQnffDmwGRppZSzMz4BJgTTQDFREJ55OcApZt2UupO3dd3JfZn28mM7eAFXmFlX6oR6WnMGXcMD7N2V0v7SvyCqv9jhV5hfVybRGdgzCzF4ALgRRgJ3A/kAjg7tODP/5TCDzpdBC4xd2zgp/9A3AdUAJkA7e5+5Gavi8jI8NVrE9EThZ3Z/TDC8jZdYCnb/kOF5zauWLkUJ+TxZEWlTkId7+hln4H7qim734CCUVEpEH6LHc3X+08wI9HpXHBqZ2Byv+KbywJojrRnoMQEWm0HvlgHZ3bJHHvZQMqtY9KT2n0yQGiPwchItIoLVy/m0Ub9jDpgnSaJ8ZHO5yIUIIQEfkW/vrhOlJaJzHurJ7RDiVilCBERI5T1sY9fJqzm0kX9InZ0QMoQYiIHLdHP8yhY6tmMT16ACUIEZFahVZNzd78NQu+yufSwV149rPYLu2jBCEiUovQqql//TCH1knxvLNqR71VTW2o9JiriEgtytc2THpuCfsOl9AiMZ4ZE4bHxKOsNdEIQkSkDkalp9CxdRIAE87uFfPJAZQgRETqZPaiTWwoKOKs3h14eUneMTu5xSIlCBGRWmTmFnD/nNW0SIxjxoQMpowbVmknt1ilBCEiUosP1uykuNT56fnpJLdIrPeqqQ2VJqlFRGqxY98RWiclcOs5aRVtsVJvqSYaQYiI1GDdzv3MXbmdm0f1ol3LZtEO56RSghARqcGUj3JokRjPT87tE+1QTjolCBGRauTmH+DN5duYcHYaHVo1rdEDRDhBmNlTZrbLzFZV029m9qiZ5ZjZCjMbHtLXzsxeMbO1ZrbGzM6OZKwiIlVN/TCHpIR4bjuvd7RDiYpIjyCeIbCdaHUuA/oF/0wEpoX0PQK84+4DgNPRntQichJtLCji78u2Mn5kT1KCC+SamogmCHdfAOyp4ZCxwLMesBBoZ2anmFlb4HzgyeB5jrr73kjGKiISWpRv6kc5JMbHMaxnO6bPz41yZNER7TmI7sCWkPd5wbY+QD7wtJllm9kTZtYq3AnMbKKZZZlZVn5+fuQjFpGYVV6U743srbyWvZWL+nfi3/++OuaL8lUn2gnCwrQ5gfUZw4Fp7j4MKALuDXcCd5/h7hnuntGpU6fIRSoiMa98Ady/vboCd2fh+j1MGTcs5tc7VCfaCSIP6BHyPhXYFmzPc/dFwfZXCCQMEZGI6tmhJcWlZZR50ynKV51oJ4g5wITg00wjgUJ33+7uO4AtZtY/eNwlwBdRi1JEmowH5qymzOGWUWnMWrQ55ust1SSipTbM7AXgQiDFzPKA+4FEAHefDswFLgdygIPALSEfvxN43syaAeur9ImI1Lu3Vmzj/TW7uGRAZ+7//mC+N7gLk2dnN9nbTBFNEO5+Qy39DtxRTd8yICMCYYmIhPX0JxuIM/jD2MEAlYryKUGIiDRRO/cdZuW2ffwoowep7VtWtDeFonzVifYchIhIg/D4/PWUljk/v7BvtENpMJQgRKTJ27X/MM8v2sTVw7rTs2PL2j/QRChBiEiT98THGyguLeOOizR6CKUEISJN2u4DR3jus02MPaM7vVPCFmxospQgRKTJCa259MQnGzhcUso56R2bbM2l6ihBiEiTU15z6b3VO3g2cyNn9+nIf7+9tsnWXKqOHnMVkSanfH3Drc8s5nBxGau37WPa+OFN9nHW6mgEISJN0uBTkiktcwBubuI1l6qjBCEiTdIf3lxNcalzw4geTb7mUnWUIESkyXl/zU5ez95KRlp7/nTNUKaMG8bk2dlKElUoQYhIkzMzcyMOPHDVsTWX5BuapBaRJmX/4WJW5BXy3YGdGdL9m6eWmnLNpepoBCEiTcqzn22i8FAxd13SL9qhNHhKECLSZBQdKeGJj9dzUf9ODE1tF+1wGjwlCBFpMmYt3MTXB4u5U6OHOologjCzp8xsl5mtqqbfzOxRM8sxsxVmNrxKf7yZZZvZW5GMU0Ri36GjpcxYsJ7z+qUwvGf7aIfTKER6BPEMMKaG/suAfsE/E4FpVfrvBtZEJDIRaVKeX7SJ3UVHuVujhzqLaIJw9wXAnhoOGQs86wELgXZmdgqAmaUCVwBPRDJGEYld5UX5DheX8viC9YxK78jR0jIV5aujaM9BdAe2hLzPC7YBPAz8G1BW0wnMbKKZZZlZVn5+fkSCFJHGqbwo33/PXUP+/iNcMrAzk2dnqyhfHUU7QViYNjezK4Fd7r6kthO4+wx3z3D3jE6dOtV/hCLSaI1KT+GhH53Ocws30a1dc6Z+lMuUccO03qGOop0g8oAeIe9TgW3AOcD3zWwj8CJwsZnNOvnhiUhjt3TzXtxh297DjD+rp5LDcYh2gpgDTAg+zTQSKHT37e7+W3dPdfc04HrgQ3cfH9VIRaTR2VhQxGMf5dAsPo67Lu6ronzHKaKlNszsBeBCIMXM8oD7gUQAd58OzAUuB3KAg8AtkYxHRJoOd+cXf8umpMyZOu4MrhjajZHpHZk8O1u3meooognC3W+opd+BO2o5Zh4wr/6iEpGm4P01u1i2pZDxZ/XkiqHdgMpF+ZQgaqdifSIScw4dLeWBOas5tUtr7v/+4Ep9KspXd0oQIhJzps3LYeveQ7w4cSSJ8dGeam289L+ciMSUjQVFTJ+/nh+c0Y2RfTpGO5xGTQlCRBq18tXSEJiYfuDN1cTFQWr7llGOrPFTghCRRq18tXRmbgH//GIn877MJ86MUX01ejhRmoMQkUZh+vxchqYmV5pgzswtYEVeIQ/96HQmPbcEd4g34/GbztREdD1QghCRBqW6RLBpdxEzFqzn4evOoH3LZvx9WR6zFm6ma9vmbN17iJIyB+BfhnfnvH4qu1MfdItJRKIidO6gXHkiKL9lVFxaxguLNvPTmVns2neEdi0SmfDU51w15ROe/GQjCfFGz44tueK0U2idlMCt56Tx0Zf5Wi1dT5QgRCSi6pIIAD5ZV8Dts5aS3KIZGb3aM+HJzxnw72/z29dXUnS0lM837KFrcnOG92wHwM1n92LVA6O5/cJ0Ps4pYMaEM/mPqwYzZdywSueVb88Ci5ljQ0ZGhmdlZUU7DBEJkZlbUKm8RWZuAZOfz+a+KwawIb+IJz/ZQIdWzdhWeLjiM62axZPcMpFtew8zenAX7r1sIL06tGThht1Mnp3N+LN6MmvR5opV0dXNTUy6ID0al9zomNkSd884pl0JQkROVE0TyD87vw9/z97Kv7+xmlM7t2bl1kIS4o3DxYGtXuLjoLQMTk9N5uZRaQxNTWZH4RHuerFyIgCOTTSqq1QvqksQmqQWkTqrbQJ5yg3D6NGhJa8syePxBbmkd2rNYx/lsO9wCQDZW/bSpW0Slw7qymmpybg7D769lptG9mLWos10TW7Orv2B5FD+w19eYG/04C6VkoHqKkWeRhAicozqEsGby7fx7uqdTBk3jLP7dOQfK7dz76sr+e7AzqwvKGJlXiHlvyjxcTDwlLac1r0drZLieWnxFm46uxcvfL6lxhHB6MFduOr0brpldBLpFpOIHKMuiaD8x/vnzy/lp+f2Jje/iDdXbCMhLo5DxaUAxMcZp3Zpg+F8sX0/P8pI5T/HDqF5Ynz4OQglggZFCUJEjlHdj/d/Xz2EDQVFPPpBDl2Tm7NxdxHlPxVxBu1aJLLnYDEXnNqJu7/bj0GntGXp5q+PmUAelZ5S4/yEEkHDEJUEYWZPAeX7Sw8J02/AIwQ2DToI/Njdl5pZD+BZoCtQBsxw90dq+z4lCJHwavqRTk9pxT0vL2dIt2SyNu0huXkiBUVHK32+f5fW/Og7PRmamsz+w8X86uUVmkCOIdGapH4GmELgxz6cy4B+wT9nAdOCf5cA/xpMFm2AJWb2T3f/IsLxisSk8npFf/7hUFo2i+et5dt4ZclW2rVMZNf+IwB8tn43yS0SGJnekaGpycSZMfWjnIoJ5IGntKG4tIxfvbxCE8hNRKR3lFtgZmk1HDIWeDa4s9xCM2tnZqe4+3Zge/Ac+81sDdAdUIIQqUZNo4RR6R0Z0LUNt838ZoSd0roZGWntads8kX+s3M4N3+nJK0vzGHdWTyAwIph64/BvnQi0MU/jF+3HXLsDW0Le5wXbtpc3BBPMMGBRuBOY2URgIkDPnj0jFadIg1c+Sij/Af9kXQGTZi0htV0LHnx7LW2SEjijRzuWbdnLT8/rze+uGFRxK6i8uN2FAzopEUiFaCcIC9NWMSliZq2BV4FfuPu+cCdw9xnADAjMQUQiSJHGoPxH/I7nlzI0tR0fr8unzGH/kRJ+f+Ug0jq25NevrOCui/sya9FmLhrQmRV5hUoEUq1oJ4g8oEfI+1RgG4CZJRJIDs+7+2tRiE2k0emT0ppmCXHM/yqfLm2T+I8rBzN6cBc+37in0uii/JZRuElkJQIpF+1ifXOACRYwEih09+3Bp5ueBNa4+0PRDVGkcVi6+WvGPLyAnfuOcPmQrhSXOu1bJZIQH1fjSEGkOhEdQZjZC8CFQIqZ5QH3A4kA7j4dmEvgEdccAo+53hL86DnATcBKM1sWbLvP3edGMl6RxuqlrC3c99pKytz5n385jeu+07PSo6bh1htopCC10UI5kUYm9Gml4tIy/viPNTyTuZH2LRP5878M5XuDu1YcqwVpUhffeh2EmU0I1+7u1a1tEJEIKn9a6cFrTuOZzI1k5u6meUIcj94w7Jid1DRKkBNRl1tM3wl53Ry4BFhK9YvfRCSCRqWn8Jsx/Zk0awkQ2Dvh/785Q4lA6l2tCcLd7wx9b2bJwHMRi0hEavT2yu384c0vaJ4Yz8Gjpfzk3N5KDhIR3+YppoMESmOIyElUVuY89N6X3P78Uk5Jbk6z+LiKNQ3aXlMioS5zEG/yzeK1eGAg8FIkgxKRypPR+w8X88u/Lef9NTvpndKKPUVHeWz88FrXNIiciLrMQfwl5HUJsMnd8yIUj4gElU9G//6KgTw2L5fc/AO0bBbPyN4duOqMbnVa/SxyIuoyBzHfzLoCIwiMJHIjHpWIMCo9hYnn9+Gel5bTLCGOVkkJFTWTwh2r5CD1rdY5CDO7DfgcuAb4IYGqq7dGOjCRpszdeeLj9fz5nbV0aNWMIyVl3DIqTUlATqq63GL6NTDM3XcDmFlHIBN4KpKBiTRVh4tLue+1lbyWvZURae1Zt+tAxWT0yPSOShJy0tTlKaY8YH/I+/1ULtEtIidg+vzciqeQdhQe5rrHP+O17K2c1r0tObuKmHrjcO65tD9Txg1j8uxsPbEkJ01dRhBbgUVm9gaBOYixwOdmdg+AiumJnJjyyei7LunL1I9y2X+omNZJCQzpnsxvLx+oyWiJmrokiFwqT0y/Efy7Tf2HI9L0jEpP4YfDu/PAnC9IbpFAUmI804KPsIY7VslBTpa6PMX0h5r6zeyvVVdbi0jdFJeW8X/e+oKZn22iR4cWbNlziLsu7qskIA1CfewHcU49nEOkydlTdJSbnlzEzM82ceXQUzhwuEQro6VBifaGQSJNQuhENMAX2/Zx6f/OZ/HGr/n5helk5u7WZLQ0OEoQIidB+UR0Zm4B/1ixnR9M/ZTdRUd54KpBtG2RqN3epEGqjx3lrNoOs6eAK4Fd7j4kTL8BjxDYVe4g8GN3XxrsGxPsiweecPcH6yFWkagYlZ7CX68fxq3PLOZwcRkJccbUccO4/LRu1R6veQiJtrqspL62lrZHavj4M8CYGvovI1AZth8wEZgWPH88MDXYPwi4wcwG1RarSEO1/3AxT2du4HBxGQATz+9TbXIQaSjqcovptzW1ufsz1X3Q3RcAe2o491jgWQ9YCLQzs1MI1H3Kcff17n4UeDF4rEijs6GgiKsfy+TDtbto2SyeOy/uy4uLt2iOQRq8am8xmdllBG79dDezR0O62hKo6lofulN5VXZesC1c+1nVxDmRwOiDnj171lNYIt9OaIlugHlf7uLns5ZQUkalYntnq0S3NAI1jSC2AVnAYWBJyJ85wOh6+v5w8xdeQ/uxje4z3D3D3TM6deoU7hCRk6ZiMjqngMfn53LL04s5UuqMGdylUiVWTURLY1DtCMLdlwPLzWx28Lie7v5lPX9/HtAj5H0qgcTUrJp2kQZtVHoKD/3odH789GKOlpbRLD6Ox28azkUDuoQ9VqMHacjqMgcxBlgGvANgZmeY2Zx6+v45wAQLGAkUuvt2YDHQz8x6m1kz4PrgsSIN2ra9h/jLe19ytDQwGf2zC/qETQ4ijUFdHnN9gMCk8TwAd19mZml1ObmZvQBcCKSYWR5wP5AYPM90YC6BeY4cAo+53hLsKzGzycC7BB5zfcrdV9fxmkSiYvHGPdw+awkHjpTQOimBW89JY9aizZytEt3SSNUlQZS4e2FgycLxcfcbaul34I5q+uYSSCAiDU7VyejZizbz+zdW0iIxnqSEb4rtab9oaczqkiBWmdk4IN7M+gF3EdgwSKTJKp+Mfvi6M3jvix3MWriZxHhj9OCu/MuZqSrRLTHBAv+Ir+EAs5bA74BLCTxd9C7wX+5+OPLhHZ+MjAzPysqKdhjSRLyzajuTZ2dTUuY0T4zjiQnf4dx+SgLS+JjZEnfPqNpel3LfBwkkiN8FVzi3aojJQeRkWrW1kP96aw3l/8CaeF4fJQeJOXUptTHbzNqaWStgNfClmf068qGJNExzlm/jh9MzOVRcQqukBJXolphVl8dcB7n7PuAHBCaNewI3RTIokYYitEx3aZnzP++s5a4XsmmdlECZw/SbzlSJbolZdUkQiWaWSCBBvOHuxVSzqlkk1pRPRr+/Zie3zVzMtHm5JCXEccmALjx243CtjJaYVpenmB4HNgLLgQVm1gvYF8mgRBqKUekp3Hf5ACY+m4U7tGwWzxM3Z2i/aGkSah1BuPuj7t7d3S8PrlvYDFxU3m9mN0cyQJFo+mjtLv4w5wuSEuJw4LZzeysJSJNx3DvKBUtzh1Zzvbse4xFpENydx+blcOvMxXRs3YykhHhNRkuTUx9bjh7/EmuRBiZ0MvrQ0VLufCGbP7/zJT3at6DwUDGPjdd+0dL01MeWo5qwlkavfDL6gasG8fiC9azeto8WifGck57CVWd008poaZIiuie1SGMxKj2FOy5K5+4Xl5EYb7ROSmDGhDM1GS1NWq0Jwsz+I1y7u/9n8OWn9RqRSBQ8t3ATf5q7luSWiew9WMykC9KUBKTJq8scRFHIn1LgMiCtvNPdJ0ckMpGT4GhJGfe9vpLf/30VQ7q3xUCT0SJBdanF9P+Fvjezv6DNe6QRqlqiO3//EcY/sZAvdx5g7Ond+HhdAVNvVJlukXLf5immlkCf+g5EJNIq9ovOLWDV1kLGPDyfL3ce4M6L+zKwW1um3DhMK6NFQtRlDmIl3zypFA90Av6z+k9U+uwY4JHg555w9wer9LcHngLSgcPAre6+Ktj3S+C24HevBG5RFVk5EaPSU/jD9wdz6zOLKS4pw4H/vnoI487qVe3xGj1IU1aXp5iuDHldAuysslAurGBp8KnA94A8YLGZzXH3L0IOuw9Y5u5Xm9mA4PGXmFl3AhsTDXL3Q2b2EoF9qZ+py0VJ01b1VhLArIUbeX7RZr7aeYCyMq9YFV1dchCRus1BbPqW5x4B5Lj7egAzexEYC4QmiEHAn4Lfs9bM0sysfIf3BKCFmRUTuK217VvGITEqXCLIzC1g0+4iZixYzyPXn8Gho6U89N5XrN25nxaJcYwZ3IVPc3Yz4exezFq0mYsHdtYoQaQa9bGSujrdgS0h7/OCbaGWA9cAmNkIoBeQ6u5bgb8QqPu0HSh09/fCfYmZTTSzLDPLys/Pr+dLkIYgdJVzufJEUD6nUFJaxt8Wb+GnM7PYfeAoHVolctOTnzPxuSV8tWs/N43sxZRxw/ls/R6tihapo0gmiHAL6Kquun4QaG9my4A7gWygJDg3MRboDXQDWpnZ+HBf4u4z3D3D3TM6depUb8HLyVeXRADw6boCbp+1lPYtmzEirT0TnvycAb9/h9+8uoKio6V8mlNAh1ZJDOvRDoCfX5jOf/1gCOt2Haj0VJImokVqVh8rqauTB/QIeZ9KldtEwY2IbgEwMwM2BP+MBja4e36w7zVgFDArgvFKlJU/ZVT+I56ZW8Dk2dn8/oqBdGydxK1PBwrnbd0beFbhsXm5NE+Mo1ObJLYXHuZ7g7rwmzH96Z3SmkUbdjN5dnbFmoZRfVOYdEH6Md+piWiR6kUyQSwG+plZb2ArgUnmcaEHmFk74KC7HyXwxNICd99nZpuBkWbWEjgEXAJkRTBWOUmqmzdYkVfIz87vw/1XDmLis0vo36UNy/P20ize+OVLywGIM9i69zBDuydz09m9GJrajl37D3P3i8sqEsGu/UfYtf9IpUSjNQ0i307EEoS7l5jZZOBdAo+5PuXuq81sUrB/OjAQeNbMSglMXv8k2LfIzF4BlhJ4ciobmBGpWKX+1TaBPOWGYaSltOLlrDymzc+hX+fWPD4/l68PFgOwZPPXdG6TxHcHdWFo92TK3Pm/737JTSMDk8vd27dgd9ER7n5x2TGJYPTgLtXeSlKCEKk7C+wBFBsyMjI8K0sDjZOpukTw5vJtvLt6Z8UP9dwV2/i3V1fyvUFd2FBwgOVbCismpOIM+ndty9DuybRKiueVJXmMH9mLFxdvYcq4YQBhbz2NHtyFq07vFnY0Eu52koiEZ2ZL3D3jmHYlCKmLuiaCzNwCfv78Uiae34f1+UW8sWwrzeLjKDpaCgSSQb/ObYiLgzXb93NtRir/NXYIzRPjK374lQhETi4lCDkh1f14/881p7G+oIiH319Ht3bN2VBQRFnw/1Jm0K5FIl8fLOa8fincfUk/BnVry7Ite5k8O5vxZ/Vk1qLNFeesaX5CiUAkcpQgpE5q+pHu27k1v/zbMoZ2T2bxxq9p1zKRXfuPVPp8vy6t+dGZPTgtNZmDR0v41csrKiUCCH+7SBPIItFTXYKI5FNM0kDVlATKHzX9y7VDadUsgTeXb+OlrDw6tGrGjn2Bx0s/zd1Nm+YJZKS157Tu7YiPg2nzcismkAd3b0uZO796eYUmkEUaMY0gmqCq/2qft3YXd72YzQ+GdefA4RIWbtjNtr3f1EXs0CqRjF4daNcykbdX7uD6ET14delWTSCLxAjdYpJKMnMLmPTcEhLj49hddLSivVObJIZ2T2b/4RI+37iHn5ybxu+vHKwJZJEYpltMUsmZvdoTZ8buoqN8J609Pz2vD0NT29GlbRKfra+8CvmSgV1YkVdY51tDWp0sEhuUIJqo//j7avYeKub7p3fjk5wCWjdPoGty82NGCjWtQlYiEIltkSzWJw3UnOXb+FvWFjLS2vPoDcMqVTWtaaQgIk2LRhBN0JQP15EYbzx83RlA5SSggnYiUk4JoomZ/1U+X+08wK9H9ye1fcuKdiUBEalKt5iakCMlpTwwZzW9U1px23m9ox2OiDRwGkE0IU98vIENBUXMvHUESQnx0Q5HRBo4jSBiWOgObXlfH+SvH65jRFp71mzfF+XIRKQxUIKIYeVlMzJzC/g/b62hrAy+2nmAoanJ0Q5NRBqBiCYIMxtjZl+aWY6Z3Rumv72ZvW5mK8zsczMbEtLXzsxeMbO1ZrbGzM6OZKyxqPzppJ89t4R3Vu8gPs54bPxwTUaLSJ1ELEGYWTwwFbgMGATcYGaDqhx2H7DM3YcCE4BHQvoeAd5x9wHA6cCaSMUay0b27kiz+MB/5lvOSVNyEJE6i+QIYgSQ4+7rg3tOvwiMrXLMIOADAHdfC6SZWRczawucDzwZ7Dvq7nsjGGvMmvJRDruLjnLpoC68uHhLxZyEiEhtIpkgugNbQt7nBdtCLQeuATCzEUAvIBXoA+QDT5tZtpk9YWatIhhrTMrMKeCRD9bRtW1zHrtxeKUV0yIitYlkgrAwbVVLxz4ItDezZcCdQDZQQuDx2+HANHcfBhQBx8xhAJjZRDPLMrOs/Pz8+oo9Jry6NI/SMudXo/uTEB+nshkiclwiuQ4iD+gR8j4V2BZ6gLvvA24BMDMDNgT/tATy3H1R8NBXqCZBuPsMYAYEyn3XY/yNmruzbtcBenZoydgzulW0a8W0iNRVJEcQi4F+ZtbbzJoB1wNzQg8IPqnULPj2NmCBu+9z9x3AFjPrH+y7BPgigrHGnHlf5bMir5A7LkonMV5PM4vI8YvYCMLdS8xsMvAuEA885e6rzWxSsH86MBB41sxKCSSAn4Sc4k7g+WACWU9wpCG1c3ceeX8d3du14OphqdEOR0QaqYiW2nD3ucDcKm3TQ15/BvSr5rPLgGN2OJLafZJTwLIte/nj1UNolqDRg4h8O/r1iDHlo4duyc354ZkaPYjIt6cEEWM+y91N1qavuf3CdBXkE5ETogQRA0KL8j3ywTq6tE2iR4eWTJ+fG+XIRKQxU4KIAeVF+Z78ZD2LNuxh9OCu3PPSchXlE5ETogQRA8oXwP1p7lpaJMbz5vJtlfaVFhH5NpQgYkSz+DhKypxDxaXcNLKXkoOInDAliBjxhzdXY8DtF6Qza9Fm1VsSkROmBBEDZn62kZVb93HDiB785rIBKsonIvVCCSIGzPx0I62T4vndFYHtNlSUT0TqQ0RXUkvkrcjby/qCIn49uj+tkr75z6mifCJyojSCaOQe/SCH5BaJTDi7V7RDEZEYowTRiK3aWsj7a3byk3N706Z5YrTDEZEYowTRiE35MIc2zRO4eVRatEMRkRikBNFIrd2xj3dW7+DWc3qT3EKjBxGpf0oQjdRfP8ihdVICt57TO9qhiEiMUoJoRMqL8n21cz9zV23nx6PSWL29UEX5RCQiIpogzGyMmX1pZjlmdsye0mbW3sxeN7MVZva5mQ2p0h9vZtlm9lYk42wsyovyPTBnNS0S4yveqyifiERCxBKEmcUDU4HLgEHADWY2qMph9wHL3H0oMAF4pEr/3cCaSMXY2IxKT+G+yweQmbubAV3bcO9rK1WUT0QiJpIjiBFAjruvd/ejwIvA2CrHDAI+AHD3tUCamXUBMLNU4ArgiQjG2Ohk5uwmIc5Yunkv48/qqeQgIhETyQTRHdgS8j4v2BZqOXANgJmNAHoB5ftkPgz8G1BW05eY2UQzyzKzrPz8/HoIu+HaWFDE69lbSYgz7rq4r4ryiUhERTJBWJg2r/L+QaC9mS0D7gSygRIzuxLY5e5LavsSd5/h7hnuntGpU6cTjblBu3/OKhz43+vO4J5L+6son4hEVCQTRB7QI+R9KrAt9AB33+fut7j7GQTmIDoBG4BzgO+b2UYCt6YuNrNZEYy1wduy5yAL1hVw2eCuXHbaKYCK8olIZEUyQSwG+plZbzNrBlwPzAk9wMzaBfsAbgMWBJPGb9091d3Tgp/70N3HRzDWBu+xeTkkxsfxwNjBldpHpacw6YL0KEUlIrEsYtVc3b3EzCYD7wLxwFPuvtrMJgX7pwMDgWfNrBT4AvhJpOJpzPK+PsjLWXnceFZPurRtHu1wRKSJiGi5b3efC8yt0jY95PVnQL9azjEPmBeB8BqNafNyiTNj0oUaKYjIyaOV1A3ctr2HeClrC9dmpHJKcotohyMiTYgSRAP3+Pxc3OF2jR5E5CRTgmhgyustAezcd5gXFm/hvH4pvLVie5QjE5GmRgmigSmvr5SZW8Dj89dTUlrG0s17VW9JRE467UndwJSvbfj580vZf6iYhPg4po0frpIaInLSaQTRAI1KT6FPSitKHa7L6KHkICJRoQTRAL2zajtLN+9lQNc2/GPldpXSEJGoUIJoYDJzC/jF35YBMPXG4aq3JCJRowTRwCxcvwd3+P7p3Ujv1Fr1lkQkajRJ3cCUlTlHS8uYfHHfirZR6SmahxCRk04jiAak8GAxz2Ru5PIhp3BqlzbRDkdEmjgliAbkyU83cOBICXde0rf2g0VEIkwJooEoPFTM059uYMzgrgzo2jba4YiIKEE0FDMzN7L/sEYPItJwKEE0APsPF/PkJxv47sAuDO6mkhoi0jAoQURJaFG+Zz/bROGhYi7sn8L0+blRjkxEJCCiCcLMxpjZl2aWY2b3hulvb2avm9kKM/vczIYE23uY2UdmtsbMVpvZ3ZGIL/RHulxmbgE/fvrzsO3T5+ce92eqa9+0u4jJs7P5cO1Onvh4PWf0SOahf65TUT4RaTAiliDMLB6YClwGDAJuMLNBVQ67D1jm7kOBCcAjwfYS4F/dfSAwErgjzGdPWGjlVAj8cE+enc05fTuGbR+amnzcn6na/v6anfzsuSUA9OvcmttmZvH1wWLW5xcxZdwwrXcQkQbD3D0yJzY7G3jA3UcH3/8WwN3/FHLMP4A/ufsnwfe5wCh331nlXG8AU9z9nzV9Z0ZGhmdlZR1XnJm5Bdw2M4sOrZqxo/Aw/bu2IblFIoWHivlyx366Jjev1A5U21dbe+ukBPYeKq747tT2LWieGEfOriLuurgv91za/7hiFxGpD2a2xN0zqrZH8hZTd2BLyPu8YFuo5cA1AGY2AugFpIYeYGZpwDBgUbgvMbOJZpZlZln5+fnHHeSo9BS+k9aBvK8P0blNEi2bxVNcWkbLZvF0bpN0THtNfbW17z1UzMg+HZh56wiW/v57/PmHQ9lTVMxdF/dl1qLNqrckIg1KJBOEhWmrOlx5EGhvZsuAO4FsAreXAicwaw28CvzC3feF+xJ3n+HuGe6e0alTp+MOMjO3gJVbC7nr4r4cLinjl987lZcnjeKX3zuVwyVlx7TX1FeX9q92HiAx3li7Yx+TZ2czZdww7rm0v4ryiUiDE8laTHlAj5D3qcC20AOCP/q3AJiZARuCfzCzRALJ4Xl3fy0SAZbPE5Tf+x+ZHpgvuP3CPkybt/6Y9injhgEc12eqax89uEulOYfQonyahxCRhiCScxAJwFfAJcBWYDEwzt1XhxzTDjjo7kfN7KfAee4+IZgsZgJ73P0Xdf3O452DmD4/l6GpyZV+kDNzC5ixYD0Tz+9zTHt5RdXj+UxN55p0QXqdYxURiZTq5iAiliCCX3o58DAQDzzl7n80s0kA7j49OJH9LFAKfAH8xN2/NrNzgY+BlUBZ8HT3ufvcmr7v20xSi4g0ddUliIiW+w7+oM+t0jY95PVnQL8wn/uE8HMYIiJykmgltYiIhKUEISIiYSlBiIhIWEoQIiISVkSfYjrZzCwf2BTtOL6FFKCprZBratfc1K4XdM2NSS93P2alcUwliMbKzLLCPWIWy5raNTe16wVdcyzQLSYREQlLCUJERMJSgmgYZkQ7gChoatfc1K4XdM2NnuYgREQkLI0gREQkLCUIEREJSwkiSszs/5rZWjNbYWavB0ufl/f91sxyzOxLMxsdxTDrlZlda2arzazMzDKq9MXkNQOY2ZjgdeWY2b3RjicSzOwpM9tlZqtC2jqY2T/NbF3w7/bRjLG+mVkPM/vIzNYE/399d7A9Zq5bCSJ6/gkMcfehBPbN+C2AmQ0CrgcGA2OAx8wsPmpR1q9VBLaYXRDaGMvXHLyOqcBlwCDghuD1xppnCPy3C3Uv8IG79wM+CL6PJSXAv7r7QGAkcEfwv23MXLcSRJS4+3vuXr696kK+2Yt7LPCiux9x9w1ADjAiGjHWN3df4+5fhumK2WsmcB057r7e3Y8CLxK43pji7guAPVWaxxLY+Ivg3z84mTFFmrtvd/elwdf7gTVAd2LoupUgGoZbgbeDr7sDW0L68oJtsSyWrzmWr602Xdx9OwR+TIHOUY4nYswsDRgGLCKGrjuiGwY1dWb2PtA1TNfv3P2N4DG/IzBUfb78Y2GObzTPItflmsN9LExbo7nmWsTytQlgZq2BV4FfuPu+wI7JsUEJIoLc/bs19ZvZzcCVwCX+zYKUPKBHyGGpwLbIRFj/arvmajTqa65FLF9bbXaa2Snuvt3MTgF2RTug+mZmiQSSw/Pu/lqwOWauW7eYosTMxgC/Ab7v7gdDuuYA15tZkpn1JrAl6+fRiPEkiuVrXgz0M7PeZtaMwGT8nCjHdLLMAW4Ovr4ZqG4E2ShZYKjwJLDG3R8K6YqZ69ZK6igxsxwgCdgdbFro7pOCfb8jMC9RQmDY+nb4szQuZnY18FegE7AXWObuo4N9MXnNAGZ2OfAwEA885e5/jG5E9c/MXgAuJFDueidwP/B34CWgJ7AZuNbdq05kN1pmdi7wMbASKAs230dgHiImrlsJQkREwtItJhERCUsJQkREwlKCEBGRsJQgREQkLCUIEREJSwlCRETCUoIQ+ZbMbKOZpUQ7DpFIUYIQEZGwlCBEQphZWnAjp5nBzZxeMbOWNXzkTjNbamYrzWyAmcUFRxbtQs6ZY2Zdqvm+Z8xsWnDjmfVmdkFw8501ZvZM8JgfmdlDwdd3m9n64Ot0M/uk3i5epAolCJFj9QdmBDdz2gf8vIZjC9x9ODAN+JW7lxGovXM1gJmdBWx09501nKM9cDHwS+BN4H8JbJ50mpmdQWCDpfOCx54H7Daz7kB5qQeRiFCCEDnWFnf/NPh6FoEf4uqUV/BcAqQFX/8NuC74+vrg+5q8GazmuxLY6e4rg4lmNZDm7juA1mbWhkBl2NnA+QSShRKERIwShMixqhYoq6lg2ZHg36V8Uz7/M6CvmXUisJvYa2E+F+4cZSGvy9+HnvMW4EsCSeE84GzgU0QiRAlC5Fg9zezs4OsbgOO6zx8cDbwOPESgFPTuWj5SFwuAXwX/zgYuAo64e2E9nFskLCUIkWOtAW42sxVABwLzC8frb8B4ar+9VFcfE7i9tMDdSwlsY6oJaokolfsWCRHcW/gtdx8S7VhEok0jCBERCUsjCJFamNnrQO8qzb9x93eP4xy/A66t0vxyLO4uJ7FDCUJERMLSLSYREQlLCUJERMJSghARkbCUIEREJKz/B24+YPe/OqsOAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] @@ -224,7 +224,7 @@ } ], "source": [ - "plot_characteristic(c,-25,25,50)" + "plot_characteristic(c,-25,25,50, 'p_hv_mw', 'u_set_pu')" ] }, { From 3610f6728e69bc7b7245955ec2d7daaa894c2c11 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 1 Nov 2021 22:27:31 +0100 Subject: [PATCH 266/422] fixes for graph creation --- pandapower/plotting/generic_geodata.py | 3 ++- pandapower/topology/create_graph.py | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/pandapower/plotting/generic_geodata.py b/pandapower/plotting/generic_geodata.py index 9c49fe2db..f82a710f3 100644 --- a/pandapower/plotting/generic_geodata.py +++ b/pandapower/plotting/generic_geodata.py @@ -88,7 +88,8 @@ def build_igraph_from_pp(net, respect_switches=False, buses=None): mask = net.switch.et.values == "b" if respect_switches: mask &= ~open_switches - for switch in net.switch[mask].itertuples(): + bus_mask = _get_element_mask_from_nodes(net, "switch", ["element", "bus"], buses) + for switch in net.switch[mask & bus_mask].itertuples(): g.add_edge(pp_bus_mapping[switch.element], pp_bus_mapping[switch.bus], weight=0.001) diff --git a/pandapower/topology/create_graph.py b/pandapower/topology/create_graph.py index 9b3c19fb1..9ac864e05 100644 --- a/pandapower/topology/create_graph.py +++ b/pandapower/topology/create_graph.py @@ -272,7 +272,8 @@ def create_nxgraph(net, respect_switches=True, include_lines=True, include_imped # remove out of service buses if not include_out_of_service: for b in net.bus.index[~net.bus.in_service.values]: - mg.remove_node(b) + if b in mg: + mg.remove_node(b) return mg From cd0dde0246ac1cb96f84f1c03eac54016fd88caa Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Tue, 2 Nov 2021 11:40:24 +0100 Subject: [PATCH 267/422] Tutorial for VD: empty for now --- .../new_optimization_model_pandamodels.ipynb | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 tutorials/new_optimization_model_pandamodels.ipynb diff --git a/tutorials/new_optimization_model_pandamodels.ipynb b/tutorials/new_optimization_model_pandamodels.ipynb new file mode 100644 index 000000000..e19f29ed7 --- /dev/null +++ b/tutorials/new_optimization_model_pandamodels.ipynb @@ -0,0 +1,41 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Add New Optimization Model to PandaModels.jl" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.6" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} \ No newline at end of file From 696ea5a51c802bfd690cd1b9433b8a7edceeebdf Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Tue, 2 Nov 2021 11:40:38 +0100 Subject: [PATCH 268/422] update test --- pandapower/test/opf/test_pandamodels_installation.py | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/pandapower/test/opf/test_pandamodels_installation.py b/pandapower/test/opf/test_pandamodels_installation.py index f6f7b5e47..63a6a8b98 100644 --- a/pandapower/test/opf/test_pandamodels_installation.py +++ b/pandapower/test/opf/test_pandamodels_installation.py @@ -100,16 +100,8 @@ def test_pandamodels_dev_mode(): # activate julia base mode Pkg.activate() Pkg.free("PandaModels") - # remove dev mod - # Pkg.rm("PandaModels") Pkg.resolve() - # reinstall base mode - # Pkg.Registry.update() - # Pkg.add("PandaModels") - # Pkg.build() - # Pkg.resolve() - # print("PandaModels is added to julia packages") - + if __name__ == '__main__': pytest.main([__file__]) From b34f5bbf954e490c016609824d4d0fde61af0b35 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Tue, 2 Nov 2021 11:41:26 +0100 Subject: [PATCH 269/422] change dev mode --- pandapower/runpm.py | 2 +- pandapower/test/opf/test_powermodels.py | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/pandapower/runpm.py b/pandapower/runpm.py index 34a61089a..e24358edd 100644 --- a/pandapower/runpm.py +++ b/pandapower/runpm.py @@ -372,7 +372,7 @@ def runpm_vd(net, pp_to_pm_callback=None, calculate_voltage_angles=True, trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, pm_model="ACPPowerModel", pm_solver="ipopt", correct_pm_network_data=True, pm_time_limits=None, pm_log_level=0, pm_file_path = None, delete_buffer_file=True, - opf_flow_lim="S", pm_tol=1e-8, pdm_dev_mode=True, **kwargs): # pragma: no cover + opf_flow_lim="S", pm_tol=1e-8, pdm_dev_mode=False, **kwargs): # pragma: no cover """ Runs a non-linear power system optimization using PowerModels.jl. diff --git a/pandapower/test/opf/test_powermodels.py b/pandapower/test/opf/test_powermodels.py index 5bd9d4661..4708ba819 100644 --- a/pandapower/test/opf/test_powermodels.py +++ b/pandapower/test/opf/test_powermodels.py @@ -608,7 +608,6 @@ def test_timeseries_powermodels(): pp.timeseries.run_timeseries(net, time_steps, continue_on_divergence=True, verbose=False, recycle=False, run=pp.runpm_dc_opf) @pytest.mark.skipif(not julia_installed, reason="requires julia installation") -@pytest.mark.xfail(reason="develop mode") def test_runpm_vd(): net = nw.create_cigre_network_mv(with_der="pv_wind") net.sgen.p_mw = net.sgen.p_mw * 8 @@ -650,7 +649,7 @@ def test_runpm_vd(): n_timesteps=96, time_elapsed=0.25, correct_pm_network_data=True, pm_model="ACPPowerModel", pm_time_limits=None, pm_log_level=0, delete_buffer_file=False, pm_file_path=None, - pm_tol=1e-8, pdm_dev_mode=True) + pm_tol=1e-8, pdm_dev_mode=False) assert np.allclose(net.res_bus.vm_pu[net.sgen.bus], 0.99, atol=1e-2, rtol=1e-2) assert np.not_equal(net_org.res_sgen.q_mvar.values.all(), net.res_sgen.q_mvar.values.all()) From 577f432569176a585e87ffb7d3f9b327f7637604 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Tue, 2 Nov 2021 11:41:41 +0100 Subject: [PATCH 270/422] update activate --- pandapower/opf/run_powermodels.py | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/pandapower/opf/run_powermodels.py b/pandapower/opf/run_powermodels.py index ef6abec1a..ae2f0a345 100644 --- a/pandapower/opf/run_powermodels.py +++ b/pandapower/opf/run_powermodels.py @@ -78,15 +78,10 @@ def _call_pandamodels(buffer_file, julia_file, dev_mode): # pragma: no cover if dev_mode: Pkg.develop("PandaModels") + Pkg.build() + Pkg.resolve() Pkg.activate("PandaModels") - # if ".julia\dev\PandaModels" or ".julia/dev/PandaModels" in Base.find_package("PandaModels"): - # Pkg.activate("PandaModels") - # else: - # Pkg.build() - # Pkg.resolve() - # Pkg.activate("PandaModels") - try: Main.using("PandaModels") except ImportError: @@ -95,8 +90,9 @@ def _call_pandamodels(buffer_file, julia_file, dev_mode): # pragma: no cover Main.buffer_file = buffer_file result_pm = Main.eval(julia_file + "(buffer_file)") - # if dev_mode: - # Pkg.activate() - # Pkg.free("PandaModels") + if dev_mode: + Pkg.activate() + Pkg.free("PandaModels") + Pkg.resolve() return result_pm From 47d372807297578129a77c67cc86ac618773639a Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Tue, 2 Nov 2021 12:51:19 +0100 Subject: [PATCH 271/422] pytest --- pandapower/test/opf/test_pp_vs_pm.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pandapower/test/opf/test_pp_vs_pm.py b/pandapower/test/opf/test_pp_vs_pm.py index 13440102e..7953ff37a 100644 --- a/pandapower/test/opf/test_pp_vs_pm.py +++ b/pandapower/test/opf/test_pp_vs_pm.py @@ -303,5 +303,4 @@ def test_opf_ext_grid_controllable_pm(): if __name__ == "__main__": - test_opf_ext_grid_controllable() - # pytest.main([__file__, "-xs"]) + pytest.main([__file__, "-xs"]) From f0a2c7a68a5b3b097d17fb831522d2d97a82829d Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Tue, 2 Nov 2021 14:29:21 +0100 Subject: [PATCH 272/422] xfail --- pandapower/test/opf/test_pp_vs_pm.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pandapower/test/opf/test_pp_vs_pm.py b/pandapower/test/opf/test_pp_vs_pm.py index 7953ff37a..8bfd20839 100644 --- a/pandapower/test/opf/test_pp_vs_pm.py +++ b/pandapower/test/opf/test_pp_vs_pm.py @@ -284,14 +284,18 @@ def test_opf_create_ext_grid_controllable(): @pytest.mark.slow @pytest.mark.skipif(julia_installed == False, reason="requires julia installation") +@pytest.xfail() def test_opf_ext_grid_controllable_pm(): # load net net = case14_pm_file() + net_old = copy.deepcopy(net) - net_new = copy.deepcopy(net) - # run pd2ppc with ext_grid controllable = False + pp.runpp(net_old) pp.runpm_ac_opf(net_old, calculate_voltage_angles=True, correct_pm_network_data=False, opf_flow_lim="I") + + net_new = copy.deepcopy(net) net_new.ext_grid["controllable"] = True + pp.runpp(net_new) pp.runpm_ac_opf(net_new, calculate_voltage_angles=True, correct_pm_network_data=False, opf_flow_lim="I") @@ -304,3 +308,4 @@ def test_opf_ext_grid_controllable_pm(): if __name__ == "__main__": pytest.main([__file__, "-xs"]) + From 1afd34889094d6f46d123c49c152bf8a64616f52 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Tue, 2 Nov 2021 14:30:52 +0100 Subject: [PATCH 273/422] keep dev --- pandapower/opf/run_powermodels.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pandapower/opf/run_powermodels.py b/pandapower/opf/run_powermodels.py index ae2f0a345..fea77bdf5 100644 --- a/pandapower/opf/run_powermodels.py +++ b/pandapower/opf/run_powermodels.py @@ -90,9 +90,9 @@ def _call_pandamodels(buffer_file, julia_file, dev_mode): # pragma: no cover Main.buffer_file = buffer_file result_pm = Main.eval(julia_file + "(buffer_file)") - if dev_mode: - Pkg.activate() - Pkg.free("PandaModels") - Pkg.resolve() + # if dev_mode: + # Pkg.activate() + # Pkg.free("PandaModels") + # Pkg.resolve() return result_pm From ff006cf38dc60924c5b51f02eb52b25295884f71 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Tue, 2 Nov 2021 14:36:22 +0100 Subject: [PATCH 274/422] fix xfail --- pandapower/test/opf/test_pp_vs_pm.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandapower/test/opf/test_pp_vs_pm.py b/pandapower/test/opf/test_pp_vs_pm.py index 8bfd20839..20c7c97fd 100644 --- a/pandapower/test/opf/test_pp_vs_pm.py +++ b/pandapower/test/opf/test_pp_vs_pm.py @@ -284,7 +284,7 @@ def test_opf_create_ext_grid_controllable(): @pytest.mark.slow @pytest.mark.skipif(julia_installed == False, reason="requires julia installation") -@pytest.xfail() +@pytest.mark.xfail(reason="not complited yet") def test_opf_ext_grid_controllable_pm(): # load net net = case14_pm_file() From fbb8f33eda03ca4c78c4c5ac280d872bb4f33553 Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Wed, 3 Nov 2021 16:29:56 +0100 Subject: [PATCH 275/422] fix replace_ward_by_internal_elements() index usage --- CHANGELOG.rst | 1 + pandapower/toolbox.py | 17 +++++++++-------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 9067dc10c..871c6f733 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -4,6 +4,7 @@ Change Log - [ADDED] "results" initialization for runopp() - [CHANGED] toolbox function nets_equal() - [ADDED] toolbox function merge_same_bus_generation_plants() +- [FIXED] toolbox replace_ward_by_internal_elements() index usage - [ADDED] TapDependentImpedance controller that adjusts the transformer parameters (e.g. vk_percent, vkr_percent) according to the tap position, based on a specified characteristic [2.7.1]- 2021-07-22 diff --git a/pandapower/toolbox.py b/pandapower/toolbox.py index 5ebd6f2da..4066d0498 100644 --- a/pandapower/toolbox.py +++ b/pandapower/toolbox.py @@ -2577,21 +2577,22 @@ def replace_ward_by_internal_elements(net, wards=None): # --- result data if net.res_ward.shape[0]: - sign_in_service = np.multiply(net.ward.in_service.values[wards], 1) - sign_not_isolated = np.multiply(net.res_ward.vm_pu.values[wards] != 0, 1) + sign_in_service = np.multiply(net.ward.in_service.loc[wards].values, 1) + sign_not_isolated = np.multiply(net.res_ward.vm_pu.loc[wards].values != 0, 1) to_add_load = net.res_ward.loc[wards, ["p_mw", "q_mvar"]] to_add_load.index = new_load_idx - to_add_load.p_mw = net.ward.ps_mw[wards].values * sign_in_service * sign_not_isolated - to_add_load.q_mvar = net.ward.qs_mvar[wards].values * sign_in_service * sign_not_isolated + to_add_load.p_mw = net.ward.ps_mw.loc[wards].values * sign_in_service * sign_not_isolated + to_add_load.q_mvar = net.ward.qs_mvar.loc[wards].values * sign_in_service * \ + sign_not_isolated net.res_load = pd.concat([net.res_load, to_add_load]) to_add_shunt = net.res_ward.loc[wards, ["p_mw", "q_mvar", "vm_pu"]] to_add_shunt.index = new_shunt_idx - to_add_shunt.p_mw = net.res_ward.vm_pu[wards].values ** 2 * net.ward.pz_mw[wards].values * \ - sign_in_service * sign_not_isolated - to_add_shunt.q_mvar = net.res_ward.vm_pu[wards].values ** 2 * net.ward.qz_mvar[ + to_add_shunt.p_mw = net.res_ward.vm_pu.loc[wards].values ** 2 * net.ward.pz_mw.loc[ wards].values * sign_in_service * sign_not_isolated - to_add_shunt.vm_pu = net.res_ward.vm_pu[wards].values + to_add_shunt.q_mvar = net.res_ward.vm_pu.loc[wards].values ** 2 * net.ward.qz_mvar.loc[ + wards].values * sign_in_service * sign_not_isolated + to_add_shunt.vm_pu = net.res_ward.vm_pu.loc[wards].values net.res_shunt = pd.concat([net.res_shunt, to_add_shunt]) net.res_ward.drop(wards, inplace=True) From 153fb290fde7d4954865b4faf5ca73e44eeec2f6 Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Thu, 4 Nov 2021 16:19:33 +0100 Subject: [PATCH 276/422] refactored JSONSerializableObject, Controller (self.add_to_net); added new table net.characteristic; changed the way characteristics are used for tap dependent impedance in build_branch.py --- pandapower/build_branch.py | 18 +- pandapower/control/basic_controller.py | 22 +- pandapower/control/util/auxiliary.py | 8 +- pandapower/create.py | 5 +- pandapower/io_utils.py | 7 +- tutorials/Tap dependent impedance.ipynb | 370 ++---------------------- 6 files changed, 67 insertions(+), 363 deletions(-) diff --git a/pandapower/build_branch.py b/pandapower/build_branch.py index 2887320eb..96731e4a6 100644 --- a/pandapower/build_branch.py +++ b/pandapower/build_branch.py @@ -260,7 +260,7 @@ def _calc_r_x_y_from_dataframe(net, trafo_df, vn_trafo_lv, vn_lv, ppc, sequence= mode = net["_options"]["mode"] trafo_model = net["_options"]["trafo_model"] - r, x = _calc_r_x_from_dataframe(mode, trafo_df, vn_lv, vn_trafo_lv, net.sn_mva, sequence=sequence) + r, x = _calc_r_x_from_dataframe(mode, trafo_df, vn_lv, vn_trafo_lv, net.sn_mva, sequence=sequence, characteristic=net.get("characteristic")) if mode == "sc": y = 0 @@ -408,11 +408,10 @@ def _replace_nan(array, value=0): array[mask] = value return array -def _calc_r_x_from_dataframe(mode, trafo_df, vn_lv, vn_trafo_lv, sn_mva, sequence=1): +def _calc_r_x_from_dataframe(mode, trafo_df, vn_lv, vn_trafo_lv, sn_mva, sequence=1, characteristic=None): """ Calculates (Vectorized) the resitance and reactance according to the transformer values - """ parallel = get_trafo_values(trafo_df, "parallel") if sequence == 1: @@ -421,9 +420,18 @@ def _calc_r_x_from_dataframe(mode, trafo_df, vn_lv, vn_trafo_lv, sn_mva, sequenc if "tap_dependent_impedance" in trafo_df: tap_dependent_impedance = get_trafo_values(trafo_df, "tap_dependent_impedance") + else: + tap_dependent_impedance = False + + if np.any(tap_dependent_impedance): + if characteristic is None: + raise UserWarning("tap_dependent_impedance of transformers requires net.characteristic") + tap_pos = get_trafo_values(trafo_df, "tap_pos") - vk_percent_characteristic = get_trafo_values(trafo_df, "vk_percent_characteristic") - vkr_percent_characteristic = get_trafo_values(trafo_df, "vkr_percent_characteristic") + vk_percent_characteristic_idx = get_trafo_values(trafo_df, "vk_percent_characteristic") + vk_percent_characteristic = characteristic.loc[vk_percent_characteristic_idx[tap_dependent_impedance], 'object'].values + vkr_percent_characteristic_idx = get_trafo_values(trafo_df, "vkr_percent_characteristic") + vkr_percent_characteristic = characteristic.loc[vkr_percent_characteristic_idx[tap_dependent_impedance], 'object'].values vk_percent = np.where(tap_dependent_impedance, [c(t).item() if f else None for f, t, c in zip(tap_dependent_impedance, tap_pos, vk_percent_characteristic)], diff --git a/pandapower/control/basic_controller.py b/pandapower/control/basic_controller.py index d4a467e9e..7ce918946 100644 --- a/pandapower/control/basic_controller.py +++ b/pandapower/control/basic_controller.py @@ -26,15 +26,11 @@ def __init__(self, net, in_service=True, order=0, level=0, index=None, recycle=F drop_same_existing_ctrl=False, initial_run=True, overwrite=False, matching_params=None, **kwargs): super().__init__() - # add oneself to net, creating the ['controller'] DataFrame, if necessary - if index is None: - index = get_free_id(net.controller) self.matching_params = dict() if matching_params is None else matching_params - self.index = index - self.add_controller_to_net(net=net, in_service=in_service, initial_run=initial_run, order=order, - level=level, index=index, recycle=recycle, - drop_same_existing_ctrl=drop_same_existing_ctrl, - overwrite=overwrite, matching_params=matching_params, **kwargs) + # add oneself to net, creating the ['controller'] DataFrame, if necessary + self.index = self.add_controller_to_net(net=net, in_service=in_service, initial_run=initial_run, order=order, level=level, + index=index, recycle=recycle, drop_same_existing_ctrl=drop_same_existing_ctrl, + overwrite=overwrite, matching_params=matching_params, **kwargs) def __repr__(self): rep = "This " + self.__class__.__name__ + " has the following parameters: \n" @@ -89,14 +85,14 @@ def add_controller_to_net(self, net, in_service, initial_run, order, level, inde dtypes = net.controller.dtypes # use base class method to raise an error if the object is in DF and overwrite = False - super().add_to_net(net=net, element='controller', index=index, overwrite=overwrite) + # if the index is None, the base class is in charge of obtaining the next free index in the data frame + added_index = super().add_to_net(net=net, element='controller', index=index, overwrite=overwrite) - columns = ['object', 'in_service', 'initial_run', 'recycle'] - net.controller.loc[index,columns] = (self, in_service, initial_run, recycle) - net.controller['order'][index] = order - net.controller['level'][index] = level + columns = ['in_service', 'order', 'level', 'initial_run', 'recycle'] + net.controller.loc[added_index,columns] = (in_service, order, level, initial_run, recycle) _preserve_dtypes(net.controller, dtypes) + return added_index def time_step(self, net, time): """ diff --git a/pandapower/control/util/auxiliary.py b/pandapower/control/util/auxiliary.py index 1d25219ab..deb7e9ffb 100644 --- a/pandapower/control/util/auxiliary.py +++ b/pandapower/control/util/auxiliary.py @@ -233,6 +233,10 @@ def create_trafo_characteristics(net, trafotable, trafo_index, vk_percent_x, vk_ net[trafotable][col] = net[trafotable][col].astype(object) for tid, vk_x, vk_y, vkr_x, vkr_y in zip(trafo_index, vk_percent_x, vk_percent_y, vkr_percent_x, vkr_percent_y): - net[trafotable].at[tid, 'vk_percent_characteristic'] = SplineCharacteristic(vk_x, vk_y) - net[trafotable].at[tid, 'vkr_percent_characteristic'] = SplineCharacteristic(vkr_x, vkr_y) + s1 = SplineCharacteristic(vk_x, vk_y) + net[trafotable].at[tid, 'vk_percent_characteristic'] = s1.add_to_net(net, "characteristic") + s2 = SplineCharacteristic(vkr_x, vkr_y) + net[trafotable].at[tid, 'vkr_percent_characteristic'] = s2.add_to_net(net, "characteristic") + + diff --git a/pandapower/create.py b/pandapower/create.py index e3c5b1497..53fb64918 100644 --- a/pandapower/create.py +++ b/pandapower/create.py @@ -280,13 +280,16 @@ def create_empty_network(name="", f_hz=50., sn_mva=1, add_stdtypes=True): ("cq1_eur_per_mvar", dtype("f8")), ("cq2_eur_per_mvar2", dtype("f8")) ], + 'characteristic': [ + ('object', dtype(object)) + ], 'controller': [ ('object', dtype(object)), ('in_service', "bool"), ('order', "float64"), ('level', dtype(object)), ('initial_run', "bool"), - ("recycle", dtype(object)), + ("recycle", dtype(object)) ], # geodata "line_geodata": [("coords", dtype(object))], diff --git a/pandapower/io_utils.py b/pandapower/io_utils.py index f240d1d18..07ab2fa67 100644 --- a/pandapower/io_utils.py +++ b/pandapower/io_utils.py @@ -23,7 +23,7 @@ from packaging import version from pandas.testing import assert_series_equal, assert_frame_equal -from pandapower.auxiliary import pandapowerNet +from pandapower.auxiliary import pandapowerNet, get_free_id from pandapower.create import create_empty_network try: @@ -600,9 +600,11 @@ def consider_callable(value): if key not in self.json_excludes} return d - def add_to_net(self, net, element, index, column="object", overwrite=False): + def add_to_net(self, net, element, index=None, column="object", overwrite=False): if element not in net: net[element] = pd.DataFrame(columns=[column]) + if index is None: + index = get_free_id(net[element]) if index in net[element].index.values: obj = net[element].object.at[index] if overwrite or not isinstance(obj, JSONSerializableClass): @@ -610,6 +612,7 @@ def add_to_net(self, net, element, index, column="object", overwrite=False): else: raise UserWarning("%s with index %s already exists" % (element, index)) net[element].at[index, column] = self + return index def equals(self, other): diff --git a/tutorials/Tap dependent impedance.ipynb b/tutorials/Tap dependent impedance.ipynb index 3b6c0efb6..4f410a2a6 100644 --- a/tutorials/Tap dependent impedance.ipynb +++ b/tutorials/Tap dependent impedance.ipynb @@ -76,6 +76,13 @@ " [[-2, -1, 0, 1, 2]], [[1.3, 1.4, 1.44, 1.5, 1.6]])" ] }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, { "cell_type": "markdown", "metadata": {}, @@ -102,7 +109,7 @@ } ], "source": [ - "plot_characteristic(net.trafo.at[0, 'vk_percent_characteristic'], -2, 2)" + "plot_characteristic(net.characteristic.object.at[0], -2, 2)" ] }, { @@ -124,7 +131,7 @@ } ], "source": [ - "plot_characteristic(net.trafo.at[0, 'vkr_percent_characteristic'], -2, 2)" + "plot_characteristic(net.characteristic.object.at[1], -2, 2)" ] }, { @@ -227,34 +234,18 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "7.89 ms ± 187 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" - ] - } - ], + "outputs": [], "source": [ "%timeit pp.runpp(net2)" ] }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "8.93 ms ± 815 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" - ] - } - ], + "outputs": [], "source": [ "%timeit pp.runpp(net)" ] @@ -275,28 +266,20 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ "net3 = create_net()\n", - "TapDependentImpedance(net3, [0], net.trafo.at[0, 'vk_percent_characteristic'], output_variable=\"vk_percent\")\n", - "TapDependentImpedance(net3, [0], net.trafo.at[0, 'vkr_percent_characteristic'], output_variable=\"vkr_percent\");" + "TapDependentImpedance(net3, [0], net.characteristic.object.at[0], output_variable=\"vk_percent\")\n", + "TapDependentImpedance(net3, [0], net.characteristic.object.at[1], output_variable=\"vkr_percent\");" ] }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "30.3 ms ± 3.4 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" - ] - } - ], + "outputs": [], "source": [ "%timeit pp.runpp(net3, run_control=True)" ] @@ -317,66 +300,9 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
vm_puva_degreep_mwq_mvar
20.931359-3.3907360.20.05
30.935414-2.8906450.20.05
\n", - "
" - ], - "text/plain": [ - " vm_pu va_degree p_mw q_mvar\n", - "2 0.931359 -3.390736 0.2 0.05\n", - "3 0.935414 -2.890645 0.2 0.05" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "net3.res_bus.loc[[2,3]]" ] @@ -397,264 +323,28 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
vk_percent_characteristicvkr_percent_characteristic
0{'_module': 'pandapower.control.util.character...{'_module': 'pandapower.control.util.character...
1NoneNone
\n", - "
" - ], - "text/plain": [ - " vk_percent_characteristic \\\n", - "0 {'_module': 'pandapower.control.util.character... \n", - "1 None \n", - "\n", - " vkr_percent_characteristic \n", - "0 {'_module': 'pandapower.control.util.character... \n", - "1 None " - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "net2 = pp.from_json_string(pp.to_json(net))\n", - "net2.trafo[['vk_percent_characteristic', 'vkr_percent_characteristic']]" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "De-serialization is missing:" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'_module': 'pandapower.control.util.characteristic',\n", - " '_class': 'SplineCharacteristic',\n", - " '_object': '{\"x_vals\": [-2, -1, 0, 1, 2], \"y_vals\": [5, 5.2, 6, 6.8, 7]}'}" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "net2.trafo['vk_percent_characteristic'].at[0]" + "net2.characteristic" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "Workaround for right now:" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
namestd_typehv_buslv_bussn_mvavn_hv_kvvn_lv_kvvk_percentvkr_percentpfe_kw...tap_step_percenttap_step_degreetap_postap_phase_shifterparalleldfin_servicetap_dependent_impedancevk_percent_characteristicvkr_percent_characteristic
0None0.25 MVA 20/0.4 kV120.2520.00.46.01.440.8...2.50.02False11.0TrueTrueSplineCharacteristicSplineCharacteristic
1None0.25 MVA 20/0.4 kV130.2520.00.46.01.440.8...2.50.02False11.0TrueFalseNaNNaN
\n", - "

2 rows × 26 columns

\n", - "
" - ], - "text/plain": [ - " name std_type hv_bus lv_bus sn_mva vn_hv_kv vn_lv_kv \\\n", - "0 None 0.25 MVA 20/0.4 kV 1 2 0.25 20.0 0.4 \n", - "1 None 0.25 MVA 20/0.4 kV 1 3 0.25 20.0 0.4 \n", - "\n", - " vk_percent vkr_percent pfe_kw ... tap_step_percent tap_step_degree \\\n", - "0 6.0 1.44 0.8 ... 2.5 0.0 \n", - "1 6.0 1.44 0.8 ... 2.5 0.0 \n", - "\n", - " tap_pos tap_phase_shifter parallel df in_service \\\n", - "0 2 False 1 1.0 True \n", - "1 2 False 1 1.0 True \n", - "\n", - " tap_dependent_impedance vk_percent_characteristic \\\n", - "0 True SplineCharacteristic \n", - "1 False NaN \n", - "\n", - " vkr_percent_characteristic \n", - "0 SplineCharacteristic \n", - "1 NaN \n", - "\n", - "[2 rows x 26 columns]" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "for col in ['vk_percent_characteristic','vkr_percent_characteristic']:\n", - " net2.trafo[col] = net2.trafo[col].apply(lambda x: SplineCharacteristic.from_dict(json.loads(x['_object'])) if x is not None else np.nan)\n", - "\n", - "net2.trafo" + "De-serialization is working:" ] }, { "cell_type": "code", - "execution_count": 18, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAD4CAYAAADiry33AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAApVUlEQVR4nO3de3xV5ZX/8c9KQsItgJJwB4FwUaQgEK4iiFarVks7tZWLCgginaK92N+M8+u0nRmnfdXpdFodrJSreEHbqlinYxXbXytaIBCuchMTyiUgJOESkkDu6/fHOaGHEMgJJDnJyff9euV1ztn72dlrb8I6+zz7Oc8yd0dERKJXTKQDEBGR+qVELyIS5ZToRUSinBK9iEiUU6IXEYlycZEOoDpJSUneu3fvSIchItJkbNq0Kdfdk6tb1ygTfe/evUlPT490GCIiTYaZHbjYOnXdiIhEOSV6EZEop0QvIhLllOhFRKKcEr2ISJRTohcRuQIL389kbWbuecvWZuay8P3MCEV0ISV6EZErMKRHe+av3HIu2a/NzGX+yi0M6dE+wpH9TY2J3swGmtnWkJ/TZvbNKm3MzJ4xswwz225mw0PW3WFmHwfXPVEPxyAictku54rc3TlZWMLeY/lUVMCUkT2ZvSKdqYvW8/CKdB66sTet4+PIOnmGotLyOt9/bVlt5qM3s1jgMDDa3Q+ELL8LeBS4CxgNPO3uo4Pt9wK3AVnARmCqu++61H5SU1NdX5gSkYZQeQW+YNowhvW8ind3HuX7v93B7PF9uLpNPDn5xeQUFJN9OvCYk19MbkExpeXh587ElnEkt00gqW0CSYnxJLVNCLxOTCC3oJjFa/bx5OTBfG5wFzYfPHkunnEpSWHvw8w2uXtqdetq+83YW4HM0CQfNBl4wQPvGuvNrIOZdQV6Axnuvi8YyKvBtpdM9CIiDaGwuIyzJeWkXnMV9y9JoyIkd//sD58AYAYd2yTQKTGB5MQEBnROJDkxkKiTEwPLs06e4d//dzdTR/ViZdpBHr99AF3btyK3oDj4U3LuDWPP0Xxy83M5XVR2Xizf+NVWEl6PoU1CXK2TfE1qm+inAK9Us7w7cCjkdVZwWXXLR1f3i81sLjAXoFevXrUMS0SkZu7OnqP5vL83hzV7c9i4/wSl5U6rFrH0vLo1B46f4bPXdeL+MdcEknliAle3jicu9uK93Gszc/nh23t4dvpwxqUkMb5/0rkr8imDLp7LisvKOR58A8gtKGZl2kH+uCebRyb0qtMkD7VI9GYWD3wB+KfqVlezzC+x/MKF7ouARRDougk3LhFp3ha+n8mQHu3PS45rM3PZnpXHvIkpnCws4YOMXNYEk3t2fjEA13ZJZNaNfZg4IJmyigq+9attPHZLP15KO8hD4/twfbfwbqZuz8o77wp8XEoSC6YNY3tW3iUTdkJcLN06tKJbh1aszcxly6FT5/Y/JqVjxK7o7wQ2u/uxatZlAT1DXvcAjgDxF1kuIlInKke9VCbbDz7J4esvb+bW6zoz+dm/sD3rFO7QvlULbuqfxIQByUzon0yX9i2BwJvCt3617dz2Y1I61qqPfN7ElAuWjUtJCjtRh94juJz9hyPsm7HB/vV33X15Nes+D8znbzdjn3H3UWYWR+Bm7K0EbuJuBKa5+85L7Us3Y0WkNj78JJd5L22iS/sEMrMLcSDG4IaeHZgwIJmJA5IZ0qMDsTEXdjLU9ImgvtXV/i91MzasRG9mrQn0tfd197zgsnkA7r7QzAxYANwBnAFmuXt6sN1dwM+BWGCZu/+wpv0p0YtIOIpKy3l9cxaL1+xj//EzAAzq2o6vT+rH+H5JtG/dIsIRNpwrHnXj7meAjlWWLQx57sDXL7Lt28DbYUcrIlKDvLOlvLT+AMv/sp/cgmL6JrWhbUIcM8f1ZuWGg1zVpkWzSvI1aZSFR0REqnM0r4ilH+5jZdpBCkvKmTAgmZv6d+S5P+9j0YMjAn3j/eq+j7upU6IXkUYvIzufX76/jze3HqbC4e4hXZk7oS/Xd2vPwvczL2vUS3NSq2/GNhT10YsIwKYDJ1n4fibv7TpGyxYx3Jfakzk39aXn1a0jHVqjU5ffjBURqVNVR51UVDjP/TmDVzYeIuvkWTq0bsFjt/Znxthr6Ng2IcLRNk1K9CISUZXj4J+ecgPZp4v52R8+JutkEUlt4vnBPYO4b2RPWscrVV0JnT0RiahxKUk8dms/ZizbQIVDrBl/f3MK37ptAC0uMfWAhE+JXkQiprC4jJ+8+zEr1u2nbXwc+cVl/P2kFB6/fWCkQ4sqersUkYhYszeH23+2hhXr9nP7oM7ExRqP3dKPl9MOXjA/u1wZJXoRaVCnzpTwnd9s48FlG0hoEcMP7h7Exv0neXb6cL59+0AWTBt2XsUmuXJK9CLSYH7/0ad89r/WsGrLYeZP6sfbj91EUVnFRcfBS93QOHoRqXfZp4v43m938O7OYwzu3o6nvjwk7GmAJTwaRy8iEeHu/CY9i3//310Ul1XwxJ3XMmd8n0sW8pC6p0QvIvXi0Ikz/NMbH/FhRi6jel/Nj7/8Gfomt410WM2SEr2IXJGq32wtr3D+5a2dvLLhIC1bxPLkFwczfVQvYqqZC14ahhK9iFyR0ApPyW0T+NrLm8jILuSGnu35xfQRdOvQKtIhNnthJXoz6wAsAQYTqPn6kLuvC1n/f4DpIb/zOiDZ3U+Y2X4gHygHyi52s0BEmqZxKUksmDqM2SvSKS4txx3mB7/0FKhJJJEW7hX908A77n5vsEj4eVPHuftPgJ8AmNk9wLfc/URIk0nurkGxIlGoqLSc1zZlcbakHIA54/vwnc9dG+GoJFSNt77NrB0wAVgK4O4l7n7qEptMBV6pk+hEpFHLyS9m2uL1vLHlMK1axPLoLf14Y8thfdmpkQlnjFNfIAdYbmZbzGyJmbWprmGwtuwdwOshix1YbWabzGzuxXZiZnPNLN3M0nNycmpxCCISCbuOnOaLz/6Fjw7n0TYhjqUzU3lc32xtlMJJ9HHAcOA5dx8GFAJPXKTtPcBfqnTb3Ojuw4E7ga+b2YTqNnT3Re6e6u6pycnJ4R+BiDS41TuPcu/CtZRXONNHX3OujB/om62NUTh99FlAlrunBV+/xsUT/RSqdNu4+5HgY7aZrQJGAWsuL1wRiSR3Z+H7+/iPd/cwpHt7Fj+YSqd2LS9oNy4lSWX8GpEar+jd/ShwyMwq5w29FdhVtZ2ZtQcmAr8NWdbGzBIrnwO3AzvqIG4RaWBFpeU8/pttPPXOHu4e0o1fPTK22iQvjU+4o24eBV4OjrjZB8wys3kA7r4w2OZLwGp3LwzZrjOwKjjEKg5Y6e7v1EnkItJgcvKLeeTFdDYfPMXjtw1g/i39NHSyCdGkZiJySbuOnObhF9I5XljMz756A3d+pmukQ5JqaFIzEbksq3ce5Zu/2kq7li14bd44BnfXjJNNkRK9iFwg3Juu0jQo0Ys0c1UnJSsuK2fOinQ++CSXe4Z24yf3DqFli9gIRylXQpNCizRzlZOSrc3MJSe/mLuf+YAPPsnlKyN68MyUG5Tko4Cu6EWaucovOH3tpU1UVEB+cRnfvLU/37xtQKRDkzqiRC8itG/VgqLSCorLKpgysqeSfJRR141IM7fn6Gnu++U6SssrmDH2GlbvOqZ5aqKMEr1IM7b3WD5fXbiOwpJyfvrVofzr5MGalCwKKdGLNFMZ2QVMW5xGeYXz068M5UvDegCalCwaqY9epBnal1PAtMXrAXjr0fGkVCnarUnJoouu6EWamQPHC89dyb/y8OgLkrxEHyV6kWbk0IkzTF20nuKyclY+PIb+nRMjHZI0AHXdiDQTWSfPMGXRegpLyln58GgGdlGSby50RS/SDBw5dZZpi9PILyrl5Tmjub6bJidrTpToRaLc0bwipi1ez8nCEl6cPVozUDZDYSV6M+tgZq+Z2R4z221mY6usv9nM8sxsa/Dn+yHr7jCzj80sw8wuVoJQROpB9ulAks8tKGHF7FEM7dkh0iFJBITbR/808I673xusMtW6mjYfuPvdoQvMLBZ4FriNQO3ZjWb2lrtfUIpQROpWTn4x05akcfR0ES88NIrhva6KdEgSITVe0ZtZO2ACsBTA3Uvc/VSYv38UkOHu+9y9BHgVmHyZsYpImI4XFHP/kjQOnzzL8pkjSe19daRDkggKp+umL5ADLDezLWa2JFjou6qxZrbNzH5vZtcHl3UHDoW0yQouu4CZzTWzdDNLz8nJqc0xiEiIk4UlTF+Sxv7jhSydkcrovh0jHZJEWDiJPg4YDjzn7sOAQqBqX/tm4Bp3Hwr8N/BmcHl11YOrLVLr7ovcPdXdU5OTk8OJXUQIFA6pnJcm70wp9y9NIyO7gC8O6864fvp2q4SX6LOALHdPC75+jUDiP8fdT7t7QfD520ALM0sKbtszpGkP4MgVRy0i51QWDnlv1zEeWJbGx0fzadUilsk3dIt0aNJI1Hgz1t2PmtkhMxvo7h8DtwLn3Uw1sy7AMXd3MxtF4A3kOHAK6G9mfYDDwBRgWh0fg0izNi4lif/66lDmrEinwp3W8XH88sERmqtGzgl31M2jwMvBETf7gFlmNg/A3RcC9wJfM7My4Cwwxd0dKDOz+cC7QCywzN131vVBiDRn5RXOKxsOUlYR6BV96MbeSvJynrASvbtvBVKrLF4Ysn4BsOAi274NvH2Z8YnIJbg7T/5uF+/uPEbr+FjmjO/DS2kHGZPSUcleztE3Y0WasMUf7OP5tftpGRfDkhmpfPv2gSocIhdQohdpot7adoQfvb2Ha7sksnTGyHNX8CocIlVp9kqRJmhd5nG+8+ttjOp9NS/MHkXLFrHnrVfhEAmlK3qRJmbvsXzmvphOr46tWfTgiAuSvEhVSvQiTcjRvCJmLttAqxaxPD9rJB1ax0c6JGkClOhFmoj8olJmLt9A3tlSls8aSY+rqptbUORC6qMXaQJKyir42kubycguYNnMkSocIrWiRC/SyLk7T7y+nQ8zcvnPrwxlwgDNBSW1o64bkUbup6v38saWwzx+2wDuHdEj0uFIE6REL9KIvZx2gAV/ymDqqJ7Mv6VfpMORJkqJXqSR+uPuY3zvzR1MGpjMk5MHY1bdrN8iNVOiF2mEth46xfyVWxjcvT0Lpg0nLlb/VeXy6a9HpJHZn1vI7Oc3kpQYz9IZI2mToDETcmWU6EUiLLRC1PGCYmYu30BxWTl3Xt+F5MSECEcn0UCJXiTCKitE/XlPNrNXpHP45FlizLj52k6RDk2ihD4TikTYuJQknpkyjFnPb6C03GmbEMfCB1QhSupOWFf0ZtbBzF4zsz1mttvMxlZZP93Mtgd/1prZ0JB1+83sIzPbambpdX0AIk2du/POzk8pLVeFKKkf4V7RPw284+73BssJVp1k46/ARHc/aWZ3AouA0SHrJ7m7qiCIVGPh+/t4af1BWraIYe5NfVUhSupcjYnezNoBE4CZAO5eApSEtnH3tSEv1wP6+p5IGH679TBPvbOH+NgYlj44khv7JzEmpSPzV25hwbRhSvZSJ8LpuukL5ADLzWyLmS0xszaXaD8b+H3IawdWm9kmM5t7sY3MbK6ZpZtZek5OTljBizRlazNz+c5vttHzqlYsnjGCG/urQpTUD3P3SzcwSyVwlX6ju6eZ2dPAaXf/XjVtJwG/AMa7+/Hgsm7ufsTMOgHvAY+6+5pL7TM1NdXT09WdL9Frz9HTfOW5dXTt0JLfzBtH+1YtIh2SNHFmtsndU6tbF84VfRaQ5e5pwdevAcOr2ckQYAkwuTLJA7j7keBjNrAKGFW78EWiy6d5Z5m1fCOtE2JZPmuUkrzUuxoTvbsfBQ6Z2cDgoluBXaFtzKwX8AbwgLvvDVnexswSK58DtwM76ih2kSbndFEps5ZvJL+ojOUzR9G9Q6tIhyTNQLijbh4FXg6OuNkHzDKzeQDuvhD4PtAR+EVw4qWy4EeIzsCq4LI4YKW7v1O3hyDSNASKh2wiI7uA5bNGMqhbu0iHJM1EWIne3bcCVft+FoasnwPMqWa7fcDQqstFmht35x9f385fMo7z068M5ab+Kh4iDUdTIIg0gP9c/TGrthzmO7cP4MsqHiINTIlepJ69tP4Az/4pk6mjevH1SSoeIg1PiV6kHv1h1zG+/9sd3HJtJ56cfL2Kh0hEKNGL1JOth04x/5XNweIhw1Q8RCJGf3ki9eDA8UDxkOTEBJbOGEnreE0UK5GjRC9Sx44XFDNj2QYq3Fkxa5SKh0jEKdGLXKHQClFnS8qZ80KgeMjdQ7rSN7lthKMTUaIXuWKVFaI+/CSXx17dwpaDp0hoEcudn+ka6dBEAFWYErli41KSWDB1GLOe30hxWQWt42NZ9KAqREnjoSt6kTqw/XAexWUVAMwZ30dJXhoVJXqRK/TbrYf58e8DxUMendSPl9IOnuuzF2kMlOhFrsDazFy+/eutxMUYi2eM4PHPDWTBtGHMX7lFyV4aDSV6kcv08dF8HnlxEx1axfPc9BFMHNAJUIUoaXx0M1bkMhzNK2Lm8g20ahHLqq/feMG88uNSktRPL42GruhFaim/qJSZyzdw+mwpy2eNVPEQafTCSvRm1sHMXjOzPWa228zGVllvZvaMmWWY2XYzGx6y7g4z+zi47om6PgCRhhQoHrKZjOwCnrt/BNd3ax/pkERqFO4V/dPAO+5+LYFCIrurrL8T6B/8mQs8B2BmscCzwfWDgKlmNqgO4hZpcO7OE69v58OMXH785SFMGKDiIdI01NhHb2btgAnATAB3LwFKqjSbDLzg7g6sD34C6Ar0BjKClaYws1eDbXch0sT8dPVe3thymMdvG8C9Kh4iTUg4V/R9gRxguZltMbMlwULfoboDh0JeZwWXXWz5Bcxsrpmlm1l6Tk5O2Acg0hBeTjvAgj9lMHVUT+bfouIh0rSEk+jjgOHAc+4+DCgEqva1V1dNwS+x/MKF7ovcPdXdU5OT9ZFYGo8/7j7G997cwaSByTw5ebCKh0iTE06izwKy3D0t+Po1Aom/apueIa97AEcusVykSdh26BTzV27h+m7tWTBtuIqHSJNU41+tux8FDpnZwOCiW7mwj/0t4MHg6JsxQJ67fwpsBPqbWR8ziwemBNuKNHoHjhfy0PMbSUqMZ9nMkbRJ0NdOpGkK9y/3UeDlYLLeB8wys3kA7r4QeBu4C8gAzgCzguvKzGw+8C4QCyxz9511ewgide9EYQkzl2+k3J3nVTxEmriwEr27bwVSqyxeGLLega9fZNu3CbwRiDQJZ0vKmb1iI0dOnWXlw6NJUfEQaeLU4SjNXmiFqPIK5xvB4iF3faYLI665OsLRiVw5JXpp9iorRK3NyOVf/2cnq3cdo3V8LF9J7VnzxiJNgO4uSbNXOdvk7OfTOVtaTsu4GJbMSNWkZBI1dEUvAuQWlHC2tByAh2/qqyQvUUWJXpq9dZnH+favAsVD/v7mFF7eoApREl2U6KVZ23ssn4ee30CFO89NH8E/3HGtKkRJ1FGil2braF4RM5dtIMaMn993A7dd3xlQhSiJProZK81SZfGQvLOl/Hre2AvmlVeFKIkmSvTS7IQWD1k2c6SKh0jUU6KXZsXdeeKNQPGQn9yr4iHSPKiPXpqV/3pvL29sPsy3bxugL0RJs6FEL83GyrSD/Pf/y2DKyJ48quIh0owo0Uuz8Mfdx/jnNz9i0sBk/v2LKh4izYsSvUQ9FQ+R5k5/8RLVDh4/w+wVG+nYNp6lM1NVPESapbD+6s1sP5APlANl7p5aZf3/AaaH/M7rgGR3P1HTtiL15URhCTOWb6Cswlnx0Cg6JbaMdEgiEVGby5tJ7l7td8Ld/SfATwDM7B7gW+5+IpxtRepDUWk5c1Zs5PCps6yco+Ih0rzVR9fNVOCVevi9ImE5Vzzk0Cmevu8GUnureIg0b+EmegdWm9kmM5t7sUZm1hq4A3j9Mrada2bpZpaek5MTZlgi51eIcnf+7X928u7OY9wysBN3fqZrhKMTibxwu25udPcjZtYJeM/M9rj7mmra3QP8pUq3TVjbuvsiYBFAamqq1/I4pBmrrBC1YNowdhzOY8W6A7SMi2H2TX0iHZpIoxBucfAjwcdsM1sFjAKqS/RTqNJtU4ttRS5L5WyTc1/YREFxGfGxMSydMVKTkokE1dh1Y2ZtzCyx8jlwO7CjmnbtgYnAb2u7rciVijHjTEkZAHNu6sON/ZXkRSqFc0XfGVgV/CZhHLDS3d8xs3kA7r4w2O5LwGp3L6xp27oKXgSCxUOWbwBg7k19eHXjIcb31zTDIpXMvfF1h6empnp6enqkw5Am4GheEZ9/Zg0nzpTy9H038IUburM2M/dcn72SvTQXZrbpYt9T0jdjpcmqLB5yuqiMH35xMF+4oTugClEiVen74NIkVS0eUnVeeVWIEvkbJXppctydJ15X8RCRcKnrRpqcn67eyxtbVDxEJFxK9NKkvJx2gAV/ymDqKBUPEQmXEr00GX/cfYzvvbmDSQOTeXKyioeIhEuJXpqErcHiIYO7q3iISG3pf4s0egeOFzL7+Y0kJcazdMZIFQ8RqSUlemnUjhcUM2PZBircWTFrFMmJCZEOSaTJ0aWRNFpnS8qZ80I6n+YVsfLh0fRV8RCRy6JEL41SeYXz2Ktb2HroFM9NH8GIa1Q8RORyqetGGh135wdv7eC9Xcf4l3uu547BXSIdkkiTpkQvERdaISrweh8vrT/I6D5XM2Nc78gFJhIllOgl4iorRK3NzOXNLYd56p09xMfG8Ngt/SMdmkhUUB+9RFzlbJOPvLiJwuIy4mKMxTNGqHiISB3RFb00CglxsRSVlFPh8ND4Pkwc0CnSIYlEjbASvZntN7OPzGyrmV1QEcTMbjazvOD6rWb2/ZB1d5jZx2aWYWZP1GXwEh22HjrF9CXrKXfnoRt789qmrPP67EXkytSm62aSu1/qf98H7n536AIziwWeBW4DsoCNZvaWu++qfagSjT7KymPqonWUlFXwzNRh3D2kG58d1FkVokTqUH133YwCMtx9n7uXAK8Ck+t5n9JE7Dicx/1L04iPi+HnUwJJHlQhSqSuhXtF78BqM3Pgl+6+qJo2Y81sG3AE+I677wS6A4dC2mQBo6vbgZnNBeYC9OrVK8ywpKna/elpHliaRpv4WH71yFh6Xt36vPWqECVSd8JN9De6+xEz6wS8Z2Z73H1NyPrNwDXuXmBmdwFvAv2B6uaRrbYaefDNYxEEioOHewDS9Ow9ls/0JWkkxMXyytwxFyR5EalbYXXduPuR4GM2sIpAl0zo+tPuXhB8/jbQwsySCFzBh5YA6kHgil+aqYzsfKYtXk9cjPHK3DFc07FNpEMSiXo1Jnoza2NmiZXPgduBHVXadLFgFQgzGxX8vceBjUB/M+tjZvHAFOCtuj0EaSr25RQwdXEaEEjyfZKU5EUaQjhdN52BVcE8HgesdPd3zGwegLsvBO4FvmZmZcBZYIq7O1BmZvOBd4FYYFmw716amf25hUxdvJ6KCufVuWNI0UyUIg3GAvm4cUlNTfX09AuG60sTdejEGe775TrOlpbz6tyxDOySGOmQRKKOmW1y99Tq1mkKBKlXWSfPMGXRes6UlrNyzhgleZEI0BQIUm+OnDrL1MXryS8q5aXZoxnUrV2kQxJplpTopV4czSti2uL1nCos5cXZoxncvX2kQxJpttR1I3Uu+3QgyecWlPDC7FEM7dkh0iGJNGu6opcrFlo4JCe/mGlL0jh86ixfvKEbw3tdFeHoRESJXq5YZeGQd3Z8yvQl6zl4/AzxcTHcNaRrpEMTEdR1I3VgXEoSP7h7EF9/eTMYtI6P45cPjNBcNSKNhK7o5Ypt+OsJ/vV3u4iNMcorYNa43kryIo2IEr1ckV+nH2L6kvUkxMbQKj6Ox27px0tpB1U4RKQRUdeNXJbyCuepd/awaM0+Bndrx+FTZ3nu/uGMS0liTEpHFQ4RaUSU6KXW8otK+earW/njnmxmjL2Gzu1ackOvDueSemjhECV6kchTopdaOXTiDHNWpJORU8CTXxzMA2OuqbadCoeINB5K9BK2jftP8MiLmygrr2DFrFGM769ELtIUKNFLWH6dfojvrvqInle1ZsmMVPpqmmGRJkOJXi4p9Kbr+H5JPDttOO1bt4h0WCJSC2ElejPbD+QD5UBZ1TmPzWw68I/BlwXA19x9WzjbSuMVetP1wbHX8L27B9EiViNyRZqa2lzRT3L3iw2O/isw0d1PmtmdBIp8jw5zW2mEwr3pKiKNX5103bj72pCX6wkUAZcmYuH7mQzp0f7cKJmN+0/w0PMbKSnTTVeRaBDu53AHVpvZJjObW0Pb2cDva7utmc01s3QzS8/JyQkzLKkLlZOSrc3M5Tfph5iyaB2FxWX86EuDleRFokBYNWPNrJu7HzGzTsB7wKPuvqaadpOAXwDj3f14bbYNpZqxDe/PH2cz78VNFJVVEBdjPDd9BLdd3znSYYlImC5VMzasK3p3PxJ8zAZWAaOq2ckQYAkwuTLJh7utRNaGv57g3/5nF0VlFQA8MrGvkrxIFKkx0ZtZGzNLrHwO3A7sqNKmF/AG8IC7763NthI5+UWlfO/NHXz1l+vILy4lsWVgUrJXNhzSpGQiUSScm7GdgVVmVtl+pbu/Y2bzANx9IfB9oCPwi2C7ymGU1W5b50chtfanPdl8d9VHHD1dxF2Du7Bu3/Fzc8hrUjKR6BJWH31DUx99/TlRWMKTv9vFqi2H6d+pLf9x7xDS/nrivFE3AGszc9melce8iSkRjFZEwnWpPnp9M7aZcHd+t/1T/uWtnZwuKuUbt/bn7yelkBAXy7Bq6rpqUjKR6KFE3wwczSvin9/cwR92H2Noj/Y8de9oru3SLtJhiUgDUaKPYu7OqxsP8aP/3U1pRQX//PnrmHVjH2JjLNKhiUgDUqKPUgeOF/LE6x+xbt9xxvbtyI+//Bmu6dgm0mGJSAQo0UeB0CkMyiucZR/+lf94dw+G8eO/+wz3jexJcOSTiDRDSvRRoHIKg3/43EBe2XCQbVl5tIg1fnbfUD4/pFukwxORCFOijwIJcTH07tiGJ974iFYtYmibEMeiB0Ywrp9GzYiIEn2TVVHh/OnjbBa+n8nG/Sfp0LoFo3pfzYb9J3jslr5K8iJyjhJ9E1NSVsFb246waE0me48V0L1DK35wzyB6d2zN47/ZzmO39OOltIOMSemocfAiAijRNxmFxWW8suEgSz/8K5/mFXFtl0R+ft8NfH5IVzbuP3HelAWawkBEQinRN3K5BcU8/5f9vLj+AHlnSxnd52p+9Hef4eYByedG0mzPyjsvqY9LSWLBtGFsz8pTohcRzXXTGFSt8ASwaksWL6w7wK4jpykpr+Bzg7rwyMS+1U5XICKiuW4aucrhkQumDaNdyxY8+b+7SNt3grgY494RPXh4Ql9SkttGOkwRaaKU6COsosJp17IFtw3qzINLN1BW4Rhw95CufP/uQXRq1zLSIYpIE6dEHwHHC4r54JNc1uzNYc0nueQWFAOQ1Dae3IIS5k7oyz/ddV2EoxSRaBFWojez/UA+UM7fioqErjfgaeAu4Aww0903B9fdEVwXCyxx9x/XWfRB1fVxN+R86jXtv7S8gi0HT7Fmbw7v781hx5E83OHqNvHc1D+JCf2TaRUfwz+/ufPc8MiJA5N1I1VE6kRtrugnufvF6svdCfQP/owGngNGm1ks8CxwG5AFbDSzt9x91xXEfIHQPu5xKUmszcw997ohVLf/r720mXtHdOeRF9NZm3Gc/OIyYmOM4b068O3PDmDiwGQGd2tPTIydF6+GR4pIXaurrpvJwAseGMKz3sw6mFlXoDeQ4e77AMzs1WDbOk30lcMJH3lhE58b3Jn3dmXz8/uGhp0kr+QTwdmScnp0aM1jt/Zj7gubSEluw0eH86hwWPrhfrp3aMXdQ7sycUAyY1OSaN+qxQW/Q8MjRaQ+hZvoHVhtZg780t0XVVnfHTgU8joruKy65aOr24GZzQXmAvTq1SvMsP5mbN+OnCkp47VNhwGY9Xw6reNjSWqbQFLb+MBjYgLJ5x6Dy9omMKBz2/OuoD/8JJf5r2zmHz43kD9/nE1OfjE5BcXk5BeTnR94zA0+5heXnRfHtqw8el3dmhnjejNxQBIpyW1rnDmyujcTVXgSkboSbqK/0d2PmFkn4D0z2+Pua0LWV5fJ/BLLL1wYePNYBIFx9GHGdc66zOO0SYjj5oGd+OPuY9wztBut4+PILSgmt6CY/ccLST9wkhOFJdVuHx8bw/1L0mjZIpYzJeUA/N9VO85r0zYhjk6JgTeK67q1Y0LbBJITAz/HC4p57s+Z3D/mGl7deIjruibSr1NibQ9DRKTOhZXo3f1I8DHbzFYBo4DQRJ8F9Ax53QM4AsRfZHmdWpuZy/xXtrDwgREX9NFXvSouK6/gRGEJ2fnFwTeBksBjfjEffJLDx8cKGNn7Kr4wtNu5JJ7ctiVJifG0jq/+dK3NzOXHv99zbv/j+yepj11EGo0aE72ZtQFi3D0/+Px24N+qNHsLmB/sgx8N5Ln7p2aWA/Q3sz7AYWAKMK1Oj4Da9XHHxcbQqV3LC8anr83M5Y0th8+Neknp1DbsJK0+dhFpzGqcAsHM+gKrgi/jgJXu/kMzmwfg7guDwysXAHcQGF45y93Tg9vfBfycwPDKZe7+w5qCaugpEKp+ArjUJwIRkcboUlMgaK4bIj8OX0TkSinRi4hEuUsl+piGDkZERBqWEr2ISJRTohcRiXJK9CIiUU6JXkQkyjXKUTfBL1oduMzNk4CLzbIZSYqrdhRX7Siu2onGuK5x9+TqVjTKRH8lzCz9YkOMIklx1Y7iqh3FVTvNLS513YiIRDklehGRKBeNib7qXPmNheKqHcVVO4qrdppVXFHXRy8iIueLxit6EREJoUQvIhLlmnyiN7OfmNkeM9tuZqvMrMNF2t1hZh+bWYaZPdEAcX3FzHaaWYWZXXS4lJntN7OPzGyrmdX7lJ21iKuhz9fVZvaemX0SfLzqIu0a5HzVdPwW8Exw/XYzG15fsdQyrpvNLC94fraa2fcbIKZlZpZtZjsusj5S56qmuBr8XAX329PM/mRmu4P/F79RTZu6PWfu3qR/CFS8igs+fwp4qpo2sUAm0JdAecNtwKB6jus6YCDwZyD1Eu32A0kNeL5qjCtC5+s/gCeCz5+o7t+xoc5XOMcP3AX8nkBd5DFAWgP824UT183A7xrq7ym4zwnAcGDHRdY3+LkKM64GP1fB/XYFhgefJwJ76/vvq8lf0bv7ancvC75cT6AubVWjgAx33+fuJcCrwOR6jmu3u39cn/u4HGHG1eDnK/j7VwSfrwC+WM/7u5Rwjn8y8IIHrAc6mFnXRhBXg3P3NcCJSzSJxLkKJ66IcPdP3X1z8Hk+sBvoXqVZnZ6zJp/oq3iIwLtgVd2BQyGvs7jwxEaKA6vNbJOZzY10MEGROF+d3f1TCPxHADpdpF1DnK9wjj8S5yjcfY41s21m9nszu76eYwpHY/7/F9FzZWa9gWFAWpVVdXrOaiwO3hiY2R+ALtWs+q67/zbY5rtAGfBydb+immVXPK40nLjCcKO7HzGzTsB7ZrYneCUSybga/HzV4tfU+fmqRjjHXy/nqAbh7HMzgTlPCoL1mt8E+tdzXDWJxLkKR0TPlZm1BV4Hvunup6uurmaTyz5nTSLRu/tnL7XezGYAdwO3erCDq4osoGfI6x7AkfqOK8zfcST4mG1mqwh8PL+ixFUHcTX4+TKzY2bW1d0/DX5Ezb7I76jz81WNcI6/Xs7RlcYVmjDc/W0z+4WZJbl7JCfwisS5qlEkz5WZtSCQ5F929zeqaVKn56zJd92Y2R3APwJfcPczF2m2EehvZn3MLB6YArzVUDFejJm1MbPEyucEbixXO0KggUXifL0FzAg+nwFc8MmjAc9XOMf/FvBgcHTEGCCvsuupHtUYl5l1MTMLPh9F4P/48XqOqyaROFc1itS5Cu5zKbDb3f/rIs3q9pw19B3nuv4BMgj0ZW0N/iwMLu8GvB3S7i4Cd7czCXRh1HdcXyLwrlwMHAPerRoXgdET24I/OxtLXBE6Xx2BPwKfBB+vjuT5qu74gXnAvOBzA54Nrv+IS4ysauC45gfPzTYCgxPGNUBMrwCfAqXBv63ZjeRc1RRXg5+r4H7HE+iG2R6St+6qz3OmKRBERKJck++6ERGRS1OiFxGJckr0IiJRToleRCTKKdGLiEQ5JXoRkSinRC8iEuX+P8uspP3k7BpEAAAAAElFTkSuQmCC\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ - "plot_characteristic(net2.trafo.at[0, 'vk_percent_characteristic'], -2, 2)" + "plot_characteristic(net2.characteristic.object.at[0], -2, 2)" ] }, { @@ -664,9 +354,9 @@ "# Further work:\n", "\n", "* implementation for trafo3w (only possible with the controller now)\n", - "* further testing\n", - "* file I/O with the new implementation\n", - " * a new pandapower table net.characteristic?" + "* test coverage\n", + "* File I/O: convert_format, tests\n", + "* documentation" ] } ], From 53cb774aa6698a962f12c4dfa7b0eb4c4c1d09f0 Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Thu, 4 Nov 2021 16:20:47 +0100 Subject: [PATCH 277/422] refactored JSONSerializableObject, Controller (self.add_to_net); added new table net.characteristic; changed the way characteristics are used for tap dependent impedance in build_branch.py --- tutorials/Tap dependent impedance.ipynb | 168 ++++++++++++++++++++++-- 1 file changed, 155 insertions(+), 13 deletions(-) diff --git a/tutorials/Tap dependent impedance.ipynb b/tutorials/Tap dependent impedance.ipynb index 4f410a2a6..f075a1226 100644 --- a/tutorials/Tap dependent impedance.ipynb +++ b/tutorials/Tap dependent impedance.ipynb @@ -234,18 +234,34 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "8 ms ± 187 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" + ] + } + ], "source": [ "%timeit pp.runpp(net2)" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "9.43 ms ± 212 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" + ] + } + ], "source": [ "%timeit pp.runpp(net)" ] @@ -266,7 +282,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "metadata": {}, "outputs": [], "source": [ @@ -277,9 +293,17 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "27.1 ms ± 131 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" + ] + } + ], "source": [ "%timeit pp.runpp(net3, run_control=True)" ] @@ -300,9 +324,66 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
vm_puva_degreep_mwq_mvar
20.931359-3.3907360.20.05
30.935414-2.8906450.20.05
\n", + "
" + ], + "text/plain": [ + " vm_pu va_degree p_mw q_mvar\n", + "2 0.931359 -3.390736 0.2 0.05\n", + "3 0.935414 -2.890645 0.2 0.05" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "net3.res_bus.loc[[2,3]]" ] @@ -323,9 +404,57 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
object
0SplineCharacteristic
1SplineCharacteristic
\n", + "
" + ], + "text/plain": [ + " object\n", + "0 SplineCharacteristic\n", + "1 SplineCharacteristic" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "net2 = pp.from_json_string(pp.to_json(net))\n", "net2.characteristic" @@ -340,9 +469,22 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAD4CAYAAADiry33AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAApVUlEQVR4nO3de3xV5ZX/8c9KQsItgJJwB4FwUaQgEK4iiFarVks7tZWLCgginaK92N+M8+u0nRmnfdXpdFodrJSreEHbqlinYxXbXytaIBCuchMTyiUgJOESkkDu6/fHOaGHEMgJJDnJyff9euV1ztn72dlrb8I6+zz7Oc8yd0dERKJXTKQDEBGR+qVELyIS5ZToRUSinBK9iEiUU6IXEYlycZEOoDpJSUneu3fvSIchItJkbNq0Kdfdk6tb1ygTfe/evUlPT490GCIiTYaZHbjYOnXdiIhEOSV6EZEop0QvIhLllOhFRKKcEr2ISJRTohcRuQIL389kbWbuecvWZuay8P3MCEV0ISV6EZErMKRHe+av3HIu2a/NzGX+yi0M6dE+wpH9TY2J3swGmtnWkJ/TZvbNKm3MzJ4xswwz225mw0PW3WFmHwfXPVEPxyAictku54rc3TlZWMLeY/lUVMCUkT2ZvSKdqYvW8/CKdB66sTet4+PIOnmGotLyOt9/bVlt5qM3s1jgMDDa3Q+ELL8LeBS4CxgNPO3uo4Pt9wK3AVnARmCqu++61H5SU1NdX5gSkYZQeQW+YNowhvW8ind3HuX7v93B7PF9uLpNPDn5xeQUFJN9OvCYk19MbkExpeXh587ElnEkt00gqW0CSYnxJLVNCLxOTCC3oJjFa/bx5OTBfG5wFzYfPHkunnEpSWHvw8w2uXtqdetq+83YW4HM0CQfNBl4wQPvGuvNrIOZdQV6Axnuvi8YyKvBtpdM9CIiDaGwuIyzJeWkXnMV9y9JoyIkd//sD58AYAYd2yTQKTGB5MQEBnROJDkxkKiTEwPLs06e4d//dzdTR/ViZdpBHr99AF3btyK3oDj4U3LuDWPP0Xxy83M5XVR2Xizf+NVWEl6PoU1CXK2TfE1qm+inAK9Us7w7cCjkdVZwWXXLR1f3i81sLjAXoFevXrUMS0SkZu7OnqP5vL83hzV7c9i4/wSl5U6rFrH0vLo1B46f4bPXdeL+MdcEknliAle3jicu9uK93Gszc/nh23t4dvpwxqUkMb5/0rkr8imDLp7LisvKOR58A8gtKGZl2kH+uCebRyb0qtMkD7VI9GYWD3wB+KfqVlezzC+x/MKF7ouARRDougk3LhFp3ha+n8mQHu3PS45rM3PZnpXHvIkpnCws4YOMXNYEk3t2fjEA13ZJZNaNfZg4IJmyigq+9attPHZLP15KO8hD4/twfbfwbqZuz8o77wp8XEoSC6YNY3tW3iUTdkJcLN06tKJbh1aszcxly6FT5/Y/JqVjxK7o7wQ2u/uxatZlAT1DXvcAjgDxF1kuIlInKke9VCbbDz7J4esvb+bW6zoz+dm/sD3rFO7QvlULbuqfxIQByUzon0yX9i2BwJvCt3617dz2Y1I61qqPfN7ElAuWjUtJCjtRh94juJz9hyPsm7HB/vV33X15Nes+D8znbzdjn3H3UWYWR+Bm7K0EbuJuBKa5+85L7Us3Y0WkNj78JJd5L22iS/sEMrMLcSDG4IaeHZgwIJmJA5IZ0qMDsTEXdjLU9ImgvtXV/i91MzasRG9mrQn0tfd197zgsnkA7r7QzAxYANwBnAFmuXt6sN1dwM+BWGCZu/+wpv0p0YtIOIpKy3l9cxaL1+xj//EzAAzq2o6vT+rH+H5JtG/dIsIRNpwrHnXj7meAjlWWLQx57sDXL7Lt28DbYUcrIlKDvLOlvLT+AMv/sp/cgmL6JrWhbUIcM8f1ZuWGg1zVpkWzSvI1aZSFR0REqnM0r4ilH+5jZdpBCkvKmTAgmZv6d+S5P+9j0YMjAn3j/eq+j7upU6IXkUYvIzufX76/jze3HqbC4e4hXZk7oS/Xd2vPwvczL2vUS3NSq2/GNhT10YsIwKYDJ1n4fibv7TpGyxYx3Jfakzk39aXn1a0jHVqjU5ffjBURqVNVR51UVDjP/TmDVzYeIuvkWTq0bsFjt/Znxthr6Ng2IcLRNk1K9CISUZXj4J+ecgPZp4v52R8+JutkEUlt4vnBPYO4b2RPWscrVV0JnT0RiahxKUk8dms/ZizbQIVDrBl/f3MK37ptAC0uMfWAhE+JXkQiprC4jJ+8+zEr1u2nbXwc+cVl/P2kFB6/fWCkQ4sqersUkYhYszeH23+2hhXr9nP7oM7ExRqP3dKPl9MOXjA/u1wZJXoRaVCnzpTwnd9s48FlG0hoEcMP7h7Exv0neXb6cL59+0AWTBt2XsUmuXJK9CLSYH7/0ad89r/WsGrLYeZP6sfbj91EUVnFRcfBS93QOHoRqXfZp4v43m938O7OYwzu3o6nvjwk7GmAJTwaRy8iEeHu/CY9i3//310Ul1XwxJ3XMmd8n0sW8pC6p0QvIvXi0Ikz/NMbH/FhRi6jel/Nj7/8Gfomt410WM2SEr2IXJGq32wtr3D+5a2dvLLhIC1bxPLkFwczfVQvYqqZC14ahhK9iFyR0ApPyW0T+NrLm8jILuSGnu35xfQRdOvQKtIhNnthJXoz6wAsAQYTqPn6kLuvC1n/f4DpIb/zOiDZ3U+Y2X4gHygHyi52s0BEmqZxKUksmDqM2SvSKS4txx3mB7/0FKhJJJEW7hX908A77n5vsEj4eVPHuftPgJ8AmNk9wLfc/URIk0nurkGxIlGoqLSc1zZlcbakHIA54/vwnc9dG+GoJFSNt77NrB0wAVgK4O4l7n7qEptMBV6pk+hEpFHLyS9m2uL1vLHlMK1axPLoLf14Y8thfdmpkQlnjFNfIAdYbmZbzGyJmbWprmGwtuwdwOshix1YbWabzGzuxXZiZnPNLN3M0nNycmpxCCISCbuOnOaLz/6Fjw7n0TYhjqUzU3lc32xtlMJJ9HHAcOA5dx8GFAJPXKTtPcBfqnTb3Ojuw4E7ga+b2YTqNnT3Re6e6u6pycnJ4R+BiDS41TuPcu/CtZRXONNHX3OujB/om62NUTh99FlAlrunBV+/xsUT/RSqdNu4+5HgY7aZrQJGAWsuL1wRiSR3Z+H7+/iPd/cwpHt7Fj+YSqd2LS9oNy4lSWX8GpEar+jd/ShwyMwq5w29FdhVtZ2ZtQcmAr8NWdbGzBIrnwO3AzvqIG4RaWBFpeU8/pttPPXOHu4e0o1fPTK22iQvjU+4o24eBV4OjrjZB8wys3kA7r4w2OZLwGp3LwzZrjOwKjjEKg5Y6e7v1EnkItJgcvKLeeTFdDYfPMXjtw1g/i39NHSyCdGkZiJySbuOnObhF9I5XljMz756A3d+pmukQ5JqaFIzEbksq3ce5Zu/2kq7li14bd44BnfXjJNNkRK9iFwg3Juu0jQo0Ys0c1UnJSsuK2fOinQ++CSXe4Z24yf3DqFli9gIRylXQpNCizRzlZOSrc3MJSe/mLuf+YAPPsnlKyN68MyUG5Tko4Cu6EWaucovOH3tpU1UVEB+cRnfvLU/37xtQKRDkzqiRC8itG/VgqLSCorLKpgysqeSfJRR141IM7fn6Gnu++U6SssrmDH2GlbvOqZ5aqKMEr1IM7b3WD5fXbiOwpJyfvrVofzr5MGalCwKKdGLNFMZ2QVMW5xGeYXz068M5UvDegCalCwaqY9epBnal1PAtMXrAXjr0fGkVCnarUnJoouu6EWamQPHC89dyb/y8OgLkrxEHyV6kWbk0IkzTF20nuKyclY+PIb+nRMjHZI0AHXdiDQTWSfPMGXRegpLyln58GgGdlGSby50RS/SDBw5dZZpi9PILyrl5Tmjub6bJidrTpToRaLc0bwipi1ez8nCEl6cPVozUDZDYSV6M+tgZq+Z2R4z221mY6usv9nM8sxsa/Dn+yHr7jCzj80sw8wuVoJQROpB9ulAks8tKGHF7FEM7dkh0iFJBITbR/808I673xusMtW6mjYfuPvdoQvMLBZ4FriNQO3ZjWb2lrtfUIpQROpWTn4x05akcfR0ES88NIrhva6KdEgSITVe0ZtZO2ACsBTA3Uvc/VSYv38UkOHu+9y9BHgVmHyZsYpImI4XFHP/kjQOnzzL8pkjSe19daRDkggKp+umL5ADLDezLWa2JFjou6qxZrbNzH5vZtcHl3UHDoW0yQouu4CZzTWzdDNLz8nJqc0xiEiIk4UlTF+Sxv7jhSydkcrovh0jHZJEWDiJPg4YDjzn7sOAQqBqX/tm4Bp3Hwr8N/BmcHl11YOrLVLr7ovcPdXdU5OTk8OJXUQIFA6pnJcm70wp9y9NIyO7gC8O6864fvp2q4SX6LOALHdPC75+jUDiP8fdT7t7QfD520ALM0sKbtszpGkP4MgVRy0i51QWDnlv1zEeWJbGx0fzadUilsk3dIt0aNJI1Hgz1t2PmtkhMxvo7h8DtwLn3Uw1sy7AMXd3MxtF4A3kOHAK6G9mfYDDwBRgWh0fg0izNi4lif/66lDmrEinwp3W8XH88sERmqtGzgl31M2jwMvBETf7gFlmNg/A3RcC9wJfM7My4Cwwxd0dKDOz+cC7QCywzN131vVBiDRn5RXOKxsOUlYR6BV96MbeSvJynrASvbtvBVKrLF4Ysn4BsOAi274NvH2Z8YnIJbg7T/5uF+/uPEbr+FjmjO/DS2kHGZPSUcleztE3Y0WasMUf7OP5tftpGRfDkhmpfPv2gSocIhdQohdpot7adoQfvb2Ha7sksnTGyHNX8CocIlVp9kqRJmhd5nG+8+ttjOp9NS/MHkXLFrHnrVfhEAmlK3qRJmbvsXzmvphOr46tWfTgiAuSvEhVSvQiTcjRvCJmLttAqxaxPD9rJB1ax0c6JGkClOhFmoj8olJmLt9A3tlSls8aSY+rqptbUORC6qMXaQJKyir42kubycguYNnMkSocIrWiRC/SyLk7T7y+nQ8zcvnPrwxlwgDNBSW1o64bkUbup6v38saWwzx+2wDuHdEj0uFIE6REL9KIvZx2gAV/ymDqqJ7Mv6VfpMORJkqJXqSR+uPuY3zvzR1MGpjMk5MHY1bdrN8iNVOiF2mEth46xfyVWxjcvT0Lpg0nLlb/VeXy6a9HpJHZn1vI7Oc3kpQYz9IZI2mToDETcmWU6EUiLLRC1PGCYmYu30BxWTl3Xt+F5MSECEcn0UCJXiTCKitE/XlPNrNXpHP45FlizLj52k6RDk2ihD4TikTYuJQknpkyjFnPb6C03GmbEMfCB1QhSupOWFf0ZtbBzF4zsz1mttvMxlZZP93Mtgd/1prZ0JB1+83sIzPbambpdX0AIk2du/POzk8pLVeFKKkf4V7RPw284+73BssJVp1k46/ARHc/aWZ3AouA0SHrJ7m7qiCIVGPh+/t4af1BWraIYe5NfVUhSupcjYnezNoBE4CZAO5eApSEtnH3tSEv1wP6+p5IGH679TBPvbOH+NgYlj44khv7JzEmpSPzV25hwbRhSvZSJ8LpuukL5ADLzWyLmS0xszaXaD8b+H3IawdWm9kmM5t7sY3MbK6ZpZtZek5OTljBizRlazNz+c5vttHzqlYsnjGCG/urQpTUD3P3SzcwSyVwlX6ju6eZ2dPAaXf/XjVtJwG/AMa7+/Hgsm7ufsTMOgHvAY+6+5pL7TM1NdXT09WdL9Frz9HTfOW5dXTt0JLfzBtH+1YtIh2SNHFmtsndU6tbF84VfRaQ5e5pwdevAcOr2ckQYAkwuTLJA7j7keBjNrAKGFW78EWiy6d5Z5m1fCOtE2JZPmuUkrzUuxoTvbsfBQ6Z2cDgoluBXaFtzKwX8AbwgLvvDVnexswSK58DtwM76ih2kSbndFEps5ZvJL+ojOUzR9G9Q6tIhyTNQLijbh4FXg6OuNkHzDKzeQDuvhD4PtAR+EVw4qWy4EeIzsCq4LI4YKW7v1O3hyDSNASKh2wiI7uA5bNGMqhbu0iHJM1EWIne3bcCVft+FoasnwPMqWa7fcDQqstFmht35x9f385fMo7z068M5ab+Kh4iDUdTIIg0gP9c/TGrthzmO7cP4MsqHiINTIlepJ69tP4Az/4pk6mjevH1SSoeIg1PiV6kHv1h1zG+/9sd3HJtJ56cfL2Kh0hEKNGL1JOth04x/5XNweIhw1Q8RCJGf3ki9eDA8UDxkOTEBJbOGEnreE0UK5GjRC9Sx44XFDNj2QYq3Fkxa5SKh0jEKdGLXKHQClFnS8qZ80KgeMjdQ7rSN7lthKMTUaIXuWKVFaI+/CSXx17dwpaDp0hoEcudn+ka6dBEAFWYErli41KSWDB1GLOe30hxWQWt42NZ9KAqREnjoSt6kTqw/XAexWUVAMwZ30dJXhoVJXqRK/TbrYf58e8DxUMendSPl9IOnuuzF2kMlOhFrsDazFy+/eutxMUYi2eM4PHPDWTBtGHMX7lFyV4aDSV6kcv08dF8HnlxEx1axfPc9BFMHNAJUIUoaXx0M1bkMhzNK2Lm8g20ahHLqq/feMG88uNSktRPL42GruhFaim/qJSZyzdw+mwpy2eNVPEQafTCSvRm1sHMXjOzPWa228zGVllvZvaMmWWY2XYzGx6y7g4z+zi47om6PgCRhhQoHrKZjOwCnrt/BNd3ax/pkERqFO4V/dPAO+5+LYFCIrurrL8T6B/8mQs8B2BmscCzwfWDgKlmNqgO4hZpcO7OE69v58OMXH785SFMGKDiIdI01NhHb2btgAnATAB3LwFKqjSbDLzg7g6sD34C6Ar0BjKClaYws1eDbXch0sT8dPVe3thymMdvG8C9Kh4iTUg4V/R9gRxguZltMbMlwULfoboDh0JeZwWXXWz5Bcxsrpmlm1l6Tk5O2Acg0hBeTjvAgj9lMHVUT+bfouIh0rSEk+jjgOHAc+4+DCgEqva1V1dNwS+x/MKF7ovcPdXdU5OT9ZFYGo8/7j7G997cwaSByTw5ebCKh0iTE06izwKy3D0t+Po1Aom/apueIa97AEcusVykSdh26BTzV27h+m7tWTBtuIqHSJNU41+tux8FDpnZwOCiW7mwj/0t4MHg6JsxQJ67fwpsBPqbWR8ziwemBNuKNHoHjhfy0PMbSUqMZ9nMkbRJ0NdOpGkK9y/3UeDlYLLeB8wys3kA7r4QeBu4C8gAzgCzguvKzGw+8C4QCyxz9511ewgide9EYQkzl2+k3J3nVTxEmriwEr27bwVSqyxeGLLega9fZNu3CbwRiDQJZ0vKmb1iI0dOnWXlw6NJUfEQaeLU4SjNXmiFqPIK5xvB4iF3faYLI665OsLRiVw5JXpp9iorRK3NyOVf/2cnq3cdo3V8LF9J7VnzxiJNgO4uSbNXOdvk7OfTOVtaTsu4GJbMSNWkZBI1dEUvAuQWlHC2tByAh2/qqyQvUUWJXpq9dZnH+favAsVD/v7mFF7eoApREl2U6KVZ23ssn4ee30CFO89NH8E/3HGtKkRJ1FGil2braF4RM5dtIMaMn993A7dd3xlQhSiJProZK81SZfGQvLOl/Hre2AvmlVeFKIkmSvTS7IQWD1k2c6SKh0jUU6KXZsXdeeKNQPGQn9yr4iHSPKiPXpqV/3pvL29sPsy3bxugL0RJs6FEL83GyrSD/Pf/y2DKyJ48quIh0owo0Uuz8Mfdx/jnNz9i0sBk/v2LKh4izYsSvUQ9FQ+R5k5/8RLVDh4/w+wVG+nYNp6lM1NVPESapbD+6s1sP5APlANl7p5aZf3/AaaH/M7rgGR3P1HTtiL15URhCTOWb6Cswlnx0Cg6JbaMdEgiEVGby5tJ7l7td8Ld/SfATwDM7B7gW+5+IpxtRepDUWk5c1Zs5PCps6yco+Ih0rzVR9fNVOCVevi9ImE5Vzzk0Cmevu8GUnureIg0b+EmegdWm9kmM5t7sUZm1hq4A3j9Mrada2bpZpaek5MTZlgi51eIcnf+7X928u7OY9wysBN3fqZrhKMTibxwu25udPcjZtYJeM/M9rj7mmra3QP8pUq3TVjbuvsiYBFAamqq1/I4pBmrrBC1YNowdhzOY8W6A7SMi2H2TX0iHZpIoxBucfAjwcdsM1sFjAKqS/RTqNJtU4ttRS5L5WyTc1/YREFxGfGxMSydMVKTkokE1dh1Y2ZtzCyx8jlwO7CjmnbtgYnAb2u7rciVijHjTEkZAHNu6sON/ZXkRSqFc0XfGVgV/CZhHLDS3d8xs3kA7r4w2O5LwGp3L6xp27oKXgSCxUOWbwBg7k19eHXjIcb31zTDIpXMvfF1h6empnp6enqkw5Am4GheEZ9/Zg0nzpTy9H038IUburM2M/dcn72SvTQXZrbpYt9T0jdjpcmqLB5yuqiMH35xMF+4oTugClEiVen74NIkVS0eUnVeeVWIEvkbJXppctydJ15X8RCRcKnrRpqcn67eyxtbVDxEJFxK9NKkvJx2gAV/ymDqKBUPEQmXEr00GX/cfYzvvbmDSQOTeXKyioeIhEuJXpqErcHiIYO7q3iISG3pf4s0egeOFzL7+Y0kJcazdMZIFQ8RqSUlemnUjhcUM2PZBircWTFrFMmJCZEOSaTJ0aWRNFpnS8qZ80I6n+YVsfLh0fRV8RCRy6JEL41SeYXz2Ktb2HroFM9NH8GIa1Q8RORyqetGGh135wdv7eC9Xcf4l3uu547BXSIdkkiTpkQvERdaISrweh8vrT/I6D5XM2Nc78gFJhIllOgl4iorRK3NzOXNLYd56p09xMfG8Ngt/SMdmkhUUB+9RFzlbJOPvLiJwuIy4mKMxTNGqHiISB3RFb00CglxsRSVlFPh8ND4Pkwc0CnSIYlEjbASvZntN7OPzGyrmV1QEcTMbjazvOD6rWb2/ZB1d5jZx2aWYWZP1GXwEh22HjrF9CXrKXfnoRt789qmrPP67EXkytSm62aSu1/qf98H7n536AIziwWeBW4DsoCNZvaWu++qfagSjT7KymPqonWUlFXwzNRh3D2kG58d1FkVokTqUH133YwCMtx9n7uXAK8Ck+t5n9JE7Dicx/1L04iPi+HnUwJJHlQhSqSuhXtF78BqM3Pgl+6+qJo2Y81sG3AE+I677wS6A4dC2mQBo6vbgZnNBeYC9OrVK8ywpKna/elpHliaRpv4WH71yFh6Xt36vPWqECVSd8JN9De6+xEz6wS8Z2Z73H1NyPrNwDXuXmBmdwFvAv2B6uaRrbYaefDNYxEEioOHewDS9Ow9ls/0JWkkxMXyytwxFyR5EalbYXXduPuR4GM2sIpAl0zo+tPuXhB8/jbQwsySCFzBh5YA6kHgil+aqYzsfKYtXk9cjPHK3DFc07FNpEMSiXo1Jnoza2NmiZXPgduBHVXadLFgFQgzGxX8vceBjUB/M+tjZvHAFOCtuj0EaSr25RQwdXEaEEjyfZKU5EUaQjhdN52BVcE8HgesdPd3zGwegLsvBO4FvmZmZcBZYIq7O1BmZvOBd4FYYFmw716amf25hUxdvJ6KCufVuWNI0UyUIg3GAvm4cUlNTfX09AuG60sTdejEGe775TrOlpbz6tyxDOySGOmQRKKOmW1y99Tq1mkKBKlXWSfPMGXRes6UlrNyzhgleZEI0BQIUm+OnDrL1MXryS8q5aXZoxnUrV2kQxJplpTopV4czSti2uL1nCos5cXZoxncvX2kQxJpttR1I3Uu+3QgyecWlPDC7FEM7dkh0iGJNGu6opcrFlo4JCe/mGlL0jh86ixfvKEbw3tdFeHoRESJXq5YZeGQd3Z8yvQl6zl4/AzxcTHcNaRrpEMTEdR1I3VgXEoSP7h7EF9/eTMYtI6P45cPjNBcNSKNhK7o5Ypt+OsJ/vV3u4iNMcorYNa43kryIo2IEr1ckV+nH2L6kvUkxMbQKj6Ox27px0tpB1U4RKQRUdeNXJbyCuepd/awaM0+Bndrx+FTZ3nu/uGMS0liTEpHFQ4RaUSU6KXW8otK+earW/njnmxmjL2Gzu1ackOvDueSemjhECV6kchTopdaOXTiDHNWpJORU8CTXxzMA2OuqbadCoeINB5K9BK2jftP8MiLmygrr2DFrFGM769ELtIUKNFLWH6dfojvrvqInle1ZsmMVPpqmmGRJkOJXi4p9Kbr+H5JPDttOO1bt4h0WCJSC2ElejPbD+QD5UBZ1TmPzWw68I/BlwXA19x9WzjbSuMVetP1wbHX8L27B9EiViNyRZqa2lzRT3L3iw2O/isw0d1PmtmdBIp8jw5zW2mEwr3pKiKNX5103bj72pCX6wkUAZcmYuH7mQzp0f7cKJmN+0/w0PMbKSnTTVeRaBDu53AHVpvZJjObW0Pb2cDva7utmc01s3QzS8/JyQkzLKkLlZOSrc3M5Tfph5iyaB2FxWX86EuDleRFokBYNWPNrJu7HzGzTsB7wKPuvqaadpOAXwDj3f14bbYNpZqxDe/PH2cz78VNFJVVEBdjPDd9BLdd3znSYYlImC5VMzasK3p3PxJ8zAZWAaOq2ckQYAkwuTLJh7utRNaGv57g3/5nF0VlFQA8MrGvkrxIFKkx0ZtZGzNLrHwO3A7sqNKmF/AG8IC7763NthI5+UWlfO/NHXz1l+vILy4lsWVgUrJXNhzSpGQiUSScm7GdgVVmVtl+pbu/Y2bzANx9IfB9oCPwi2C7ymGU1W5b50chtfanPdl8d9VHHD1dxF2Du7Bu3/Fzc8hrUjKR6BJWH31DUx99/TlRWMKTv9vFqi2H6d+pLf9x7xDS/nrivFE3AGszc9melce8iSkRjFZEwnWpPnp9M7aZcHd+t/1T/uWtnZwuKuUbt/bn7yelkBAXy7Bq6rpqUjKR6KFE3wwczSvin9/cwR92H2Noj/Y8de9oru3SLtJhiUgDUaKPYu7OqxsP8aP/3U1pRQX//PnrmHVjH2JjLNKhiUgDUqKPUgeOF/LE6x+xbt9xxvbtyI+//Bmu6dgm0mGJSAQo0UeB0CkMyiucZR/+lf94dw+G8eO/+wz3jexJcOSTiDRDSvRRoHIKg3/43EBe2XCQbVl5tIg1fnbfUD4/pFukwxORCFOijwIJcTH07tiGJ974iFYtYmibEMeiB0Ywrp9GzYiIEn2TVVHh/OnjbBa+n8nG/Sfp0LoFo3pfzYb9J3jslr5K8iJyjhJ9E1NSVsFb246waE0me48V0L1DK35wzyB6d2zN47/ZzmO39OOltIOMSemocfAiAijRNxmFxWW8suEgSz/8K5/mFXFtl0R+ft8NfH5IVzbuP3HelAWawkBEQinRN3K5BcU8/5f9vLj+AHlnSxnd52p+9Hef4eYByedG0mzPyjsvqY9LSWLBtGFsz8pTohcRzXXTGFSt8ASwaksWL6w7wK4jpykpr+Bzg7rwyMS+1U5XICKiuW4aucrhkQumDaNdyxY8+b+7SNt3grgY494RPXh4Ql9SkttGOkwRaaKU6COsosJp17IFtw3qzINLN1BW4Rhw95CufP/uQXRq1zLSIYpIE6dEHwHHC4r54JNc1uzNYc0nueQWFAOQ1Dae3IIS5k7oyz/ddV2EoxSRaBFWojez/UA+UM7fioqErjfgaeAu4Aww0903B9fdEVwXCyxx9x/XWfRB1fVxN+R86jXtv7S8gi0HT7Fmbw7v781hx5E83OHqNvHc1D+JCf2TaRUfwz+/ufPc8MiJA5N1I1VE6kRtrugnufvF6svdCfQP/owGngNGm1ks8CxwG5AFbDSzt9x91xXEfIHQPu5xKUmszcw997ohVLf/r720mXtHdOeRF9NZm3Gc/OIyYmOM4b068O3PDmDiwGQGd2tPTIydF6+GR4pIXaurrpvJwAseGMKz3sw6mFlXoDeQ4e77AMzs1WDbOk30lcMJH3lhE58b3Jn3dmXz8/uGhp0kr+QTwdmScnp0aM1jt/Zj7gubSEluw0eH86hwWPrhfrp3aMXdQ7sycUAyY1OSaN+qxQW/Q8MjRaQ+hZvoHVhtZg780t0XVVnfHTgU8joruKy65aOr24GZzQXmAvTq1SvMsP5mbN+OnCkp47VNhwGY9Xw6reNjSWqbQFLb+MBjYgLJ5x6Dy9omMKBz2/OuoD/8JJf5r2zmHz43kD9/nE1OfjE5BcXk5BeTnR94zA0+5heXnRfHtqw8el3dmhnjejNxQBIpyW1rnDmyujcTVXgSkboSbqK/0d2PmFkn4D0z2+Pua0LWV5fJ/BLLL1wYePNYBIFx9GHGdc66zOO0SYjj5oGd+OPuY9wztBut4+PILSgmt6CY/ccLST9wkhOFJdVuHx8bw/1L0mjZIpYzJeUA/N9VO85r0zYhjk6JgTeK67q1Y0LbBJITAz/HC4p57s+Z3D/mGl7deIjruibSr1NibQ9DRKTOhZXo3f1I8DHbzFYBo4DQRJ8F9Ax53QM4AsRfZHmdWpuZy/xXtrDwgREX9NFXvSouK6/gRGEJ2fnFwTeBksBjfjEffJLDx8cKGNn7Kr4wtNu5JJ7ctiVJifG0jq/+dK3NzOXHv99zbv/j+yepj11EGo0aE72ZtQFi3D0/+Px24N+qNHsLmB/sgx8N5Ln7p2aWA/Q3sz7AYWAKMK1Oj4Da9XHHxcbQqV3LC8anr83M5Y0th8+Neknp1DbsJK0+dhFpzGqcAsHM+gKrgi/jgJXu/kMzmwfg7guDwysXAHcQGF45y93Tg9vfBfycwPDKZe7+w5qCaugpEKp+ArjUJwIRkcboUlMgaK4bIj8OX0TkSinRi4hEuUsl+piGDkZERBqWEr2ISJRTohcRiXJK9CIiUU6JXkQkyjXKUTfBL1oduMzNk4CLzbIZSYqrdhRX7Siu2onGuK5x9+TqVjTKRH8lzCz9YkOMIklx1Y7iqh3FVTvNLS513YiIRDklehGRKBeNib7qXPmNheKqHcVVO4qrdppVXFHXRy8iIueLxit6EREJoUQvIhLlmnyiN7OfmNkeM9tuZqvMrMNF2t1hZh+bWYaZPdEAcX3FzHaaWYWZXXS4lJntN7OPzGyrmdX7lJ21iKuhz9fVZvaemX0SfLzqIu0a5HzVdPwW8Exw/XYzG15fsdQyrpvNLC94fraa2fcbIKZlZpZtZjsusj5S56qmuBr8XAX329PM/mRmu4P/F79RTZu6PWfu3qR/CFS8igs+fwp4qpo2sUAm0JdAecNtwKB6jus6YCDwZyD1Eu32A0kNeL5qjCtC5+s/gCeCz5+o7t+xoc5XOMcP3AX8nkBd5DFAWgP824UT183A7xrq7ym4zwnAcGDHRdY3+LkKM64GP1fB/XYFhgefJwJ76/vvq8lf0bv7ancvC75cT6AubVWjgAx33+fuJcCrwOR6jmu3u39cn/u4HGHG1eDnK/j7VwSfrwC+WM/7u5Rwjn8y8IIHrAc6mFnXRhBXg3P3NcCJSzSJxLkKJ66IcPdP3X1z8Hk+sBvoXqVZnZ6zJp/oq3iIwLtgVd2BQyGvs7jwxEaKA6vNbJOZzY10MEGROF+d3f1TCPxHADpdpF1DnK9wjj8S5yjcfY41s21m9nszu76eYwpHY/7/F9FzZWa9gWFAWpVVdXrOaiwO3hiY2R+ALtWs+q67/zbY5rtAGfBydb+immVXPK40nLjCcKO7HzGzTsB7ZrYneCUSybga/HzV4tfU+fmqRjjHXy/nqAbh7HMzgTlPCoL1mt8E+tdzXDWJxLkKR0TPlZm1BV4Hvunup6uurmaTyz5nTSLRu/tnL7XezGYAdwO3erCDq4osoGfI6x7AkfqOK8zfcST4mG1mqwh8PL+ixFUHcTX4+TKzY2bW1d0/DX5Ezb7I76jz81WNcI6/Xs7RlcYVmjDc/W0z+4WZJbl7JCfwisS5qlEkz5WZtSCQ5F929zeqaVKn56zJd92Y2R3APwJfcPczF2m2EehvZn3MLB6YArzVUDFejJm1MbPEyucEbixXO0KggUXifL0FzAg+nwFc8MmjAc9XOMf/FvBgcHTEGCCvsuupHtUYl5l1MTMLPh9F4P/48XqOqyaROFc1itS5Cu5zKbDb3f/rIs3q9pw19B3nuv4BMgj0ZW0N/iwMLu8GvB3S7i4Cd7czCXRh1HdcXyLwrlwMHAPerRoXgdET24I/OxtLXBE6Xx2BPwKfBB+vjuT5qu74gXnAvOBzA54Nrv+IS4ysauC45gfPzTYCgxPGNUBMrwCfAqXBv63ZjeRc1RRXg5+r4H7HE+iG2R6St+6qz3OmKRBERKJck++6ERGRS1OiFxGJckr0IiJRToleRCTKKdGLiEQ5JXoRkSinRC8iEuX+P8uspP3k7BpEAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "plot_characteristic(net2.characteristic.object.at[0], -2, 2)" ] From 140ac40926e22271024c4edebb9ecc29410d219f Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Fri, 5 Nov 2021 17:56:53 +0100 Subject: [PATCH 278/422] small change --- pandapower/build_branch.py | 1 + 1 file changed, 1 insertion(+) diff --git a/pandapower/build_branch.py b/pandapower/build_branch.py index 96731e4a6..54116bb11 100644 --- a/pandapower/build_branch.py +++ b/pandapower/build_branch.py @@ -866,6 +866,7 @@ def _trafo_df_from_trafo3w(net, sequence=1): def _calculate_sc_voltages_of_equivalent_transformers(t3, t2, mode): + # todo: add here characteristics vk_3w = np.stack([t3.vk_hv_percent.values, t3.vk_mv_percent.values, t3.vk_lv_percent.values]) vkr_3w = np.stack([t3.vkr_hv_percent.values, t3.vkr_mv_percent.values, t3.vkr_lv_percent.values]) sn = np.stack([t3.sn_hv_mva.values, t3.sn_mv_mva.values, t3.sn_lv_mva.values]) From a7dc2919b71dd80b50a2899deb8ae852abdf3326 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Mon, 8 Nov 2021 13:59:05 +0100 Subject: [PATCH 279/422] change threshhold to setpoint --- pandapower/test/opf/test_powermodels.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pandapower/test/opf/test_powermodels.py b/pandapower/test/opf/test_powermodels.py index 4708ba819..e17c8abd7 100644 --- a/pandapower/test/opf/test_powermodels.py +++ b/pandapower/test/opf/test_powermodels.py @@ -641,8 +641,8 @@ def test_runpm_vd(): for idx in net.ext_grid.index: pp.create_poly_cost(net, idx, "ext_grid", 1.0) - net.bus["pm_param/threshold_v"] = None - net.bus["pm_param/threshold_v"].loc[net.sgen.bus] = 0.99 + net.bus["pm_param/setpoint_v"] = None + net.bus["pm_param/setpoint_v"].loc[net.sgen.bus] = 0.99 pp.runpm_vd(net, calculate_voltage_angles=True, trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, From 9cda2e2118d14064b519bbdf49e5960893bdf16e Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Wed, 10 Nov 2021 16:56:15 +0100 Subject: [PATCH 280/422] add checks to create functions and runopp(); close #493 --- CHANGELOG.rst | 1 + pandapower/create.py | 27 ++++++++++++++++++++++----- pandapower/opf/validate_opf_input.py | 5 +++++ 3 files changed, 28 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 871c6f733..6d6a2545c 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -6,6 +6,7 @@ Change Log - [ADDED] toolbox function merge_same_bus_generation_plants() - [FIXED] toolbox replace_ward_by_internal_elements() index usage - [ADDED] TapDependentImpedance controller that adjusts the transformer parameters (e.g. vk_percent, vkr_percent) according to the tap position, based on a specified characteristic +- [ADDED] multiple costs check in create functions and runopp [2.7.1]- 2021-07-22 ---------------------- diff --git a/pandapower/create.py b/pandapower/create.py index e3c5b1497..7aaca7be8 100644 --- a/pandapower/create.py +++ b/pandapower/create.py @@ -329,11 +329,11 @@ def create_empty_network(name="", f_hz=50., sn_mva=1, add_stdtypes=True): "_empty_res_load": [("p_mw", "f8"), ("q_mvar", "f8")], "_empty_res_asymmetric_load": [("p_mw", "f8"), - ("q_mvar", "f8")], + ("q_mvar", "f8")], "_empty_res_asymmetric_sgen": [("p_mw", "f8"), - ("q_mvar", "f8")], + ("q_mvar", "f8")], "_empty_res_motor": [("p_mw", "f8"), - ("q_mvar", "f8")], + ("q_mvar", "f8")], "_empty_res_sgen": [("p_mw", "f8"), ("q_mvar", "f8")], "_empty_res_shunt": [("p_mw", "f8"), @@ -3460,7 +3460,7 @@ def create_measurement(net, meas_type, element_type, value, std_dev, element, si return index -def create_pwl_cost(net, element, et, points, power_type="p", index=None): +def create_pwl_cost(net, element, et, points, power_type="p", index=None, check=True): """ Creates an entry for piecewise linear costs for an element. The currently supported elements are - Generator @@ -3485,6 +3485,8 @@ def create_pwl_cost(net, element, et, points, power_type="p", index=None): **index** (int, index) - Force a specified ID if it is available. If None, the index one \ higher than the highest already existing index is selected. + **check** (bool, True) - raises UserWarning if costs already exist to this element. + OUTPUT: **index** (int) - The unique ID of created cost entry @@ -3498,6 +3500,9 @@ def create_pwl_cost(net, element, et, points, power_type="p", index=None): create_pwl_cost(net, 0, "gen", [[0, 20, 1], [20, 30, 2]]) """ + element = element if not hasattr(element, "__iter__") else element[0] + if check and _cost_existance_check(net, element, et): + raise UserWarning("There already exist costs for %s %i" % (et, element)) index = _get_index_with_check(net, "pwl_cost", index, "piecewise_linear_cost") @@ -3508,7 +3513,7 @@ def create_pwl_cost(net, element, et, points, power_type="p", index=None): def create_poly_cost(net, element, et, cp1_eur_per_mw, cp0_eur=0, cq1_eur_per_mvar=0, - cq0_eur=0, cp2_eur_per_mw2=0, cq2_eur_per_mvar2=0, index=None): + cq0_eur=0, cp2_eur_per_mw2=0, cq2_eur_per_mvar2=0, index=None, check=True): """ Creates an entry for polynimoal costs for an element. The currently supported elements are: - Generator ("gen") @@ -3541,6 +3546,8 @@ def create_poly_cost(net, element, et, cp1_eur_per_mw, cp0_eur=0, cq1_eur_per_mv **index** (int, index) - Force a specified ID if it is available. If None, the index one \ higher than the highest already existing index is selected. + **check** (bool, True) - raises UserWarning if costs already exist to this element. + OUTPUT: **index** (int) - The unique ID of created cost entry @@ -3549,6 +3556,9 @@ def create_poly_cost(net, element, et, cp1_eur_per_mw, cp0_eur=0, cq1_eur_per_mv create_poly_cost(net, 0, "load", cp1_eur_per_mw = 0.1) """ + element = element if not hasattr(element, "__iter__") else element[0] + if check and _cost_existance_check(net, element, et): + raise UserWarning("There already exist costs for %s %i" % (et, element)) index = _get_index_with_check(net, "poly_cost", index) columns = ["element", "et", "cp0_eur", "cp1_eur_per_mw", "cq0_eur", "cq1_eur_per_mvar", @@ -3569,6 +3579,13 @@ def _get_index_with_check(net, table, index, name=None): return index +def _cost_existance_check(net, element, et): + return (bool(net.poly_cost.shape[0]) and + np_any((net.poly_cost.element == element).values & (net.poly_cost.et == et).values)) \ + or (bool(net.pwl_cost.shape[0]) and + np_any((net.pwl_cost.element == element & net.pwl_cost.et == et).values)) + + def _get_multiple_index_with_check(net, table, index, number, name=None): if name is None: name = table.capitalize() + "s" diff --git a/pandapower/opf/validate_opf_input.py b/pandapower/opf/validate_opf_input.py index 760f24d29..9cdbd9750 100644 --- a/pandapower/opf/validate_opf_input.py +++ b/pandapower/opf/validate_opf_input.py @@ -72,3 +72,8 @@ def _check_necessary_opf_parameters(net, logger): if error: raise KeyError("OPF parameters are not set correctly. See error log.") + + # --- log multiple costs to elements + if pd.concat([net.poly_cost[["element", "et"]], net.pwl_cost[["element", "et"]]]).duplicated( + ).any(): + raise UserWarning("There are multiple costs to one or multiple elements.") From 6e7f9262fbbf5eee6ce218a7bd84601d5fc4e38d Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Wed, 10 Nov 2021 16:57:38 +0100 Subject: [PATCH 281/422] add correct_dtypes() and PeP8 --- pandapower/convert_format.py | 123 +++++++++++++++++++++++++++-------- pandapower/file_io.py | 47 +++++++------ 2 files changed, 122 insertions(+), 48 deletions(-) diff --git a/pandapower/convert_format.py b/pandapower/convert_format.py index d3ad0e576..c20048948 100644 --- a/pandapower/convert_format.py +++ b/pandapower/convert_format.py @@ -11,6 +11,13 @@ from pandapower.create import create_empty_network, create_poly_cost from pandapower.results import reset_results +try: + import pplog as logging +except ImportError: + import logging + +logger = logging.getLogger(__name__) + def convert_format(net, elements_to_deserialize=None): """ @@ -35,14 +42,49 @@ def convert_format(net, elements_to_deserialize=None): if isinstance(net.version, float) and net.version < 1.6: set_data_type_of_columns_to_default(net) _convert_objects(net, elements_to_deserialize) + correct_dtypes(net, error=False) net.version = __version__ return net +def correct_dtypes(net, error): + """ + Corrects all dtypes of pp element tables if possile. If not and error is True, an Error is + raised. + """ + empty_net = create_empty_network() + not_corrected = list() + failed = dict() + for key, table in empty_net.items(): + if isinstance(table, pd.DataFrame): + if key in net.keys() and isinstance(net[key], pd.DataFrame): + cols = table.columns.intersection(net[key].columns) + diff_cols = cols[~(table.dtypes.loc[cols] == net[key].dtypes.loc[cols])] + for col in diff_cols: + try: + net[key][col] = net[key][col].astype(table[col].dtype) + except ValueError: + if key not in failed.keys(): + failed[key] = [col] + else: + failed[key].append(col) + else: + not_corrected.append(key) + if not_corrected: + logger.warning("These keys were not corrected since they miss or are no dataframes: " + str( + not_corrected)) + if failed: + msg = "These dtypes could not be corrected: " + str(failed) + if error: + raise ValueError(msg) + else: + logger.warning(msg) + + def _convert_bus_pq_meas_to_load_reference(net, elements_to_deserialize): if _check_elements_to_deserialize('measurement', elements_to_deserialize): - bus_pq_meas_mask = net.measurement.measurement_type.isin(["p", "q"])&\ - (net.measurement.element_type=="bus") + bus_pq_meas_mask = net.measurement.measurement_type.isin(["p", "q"]) & \ + (net.measurement.element_type == "bus") net.measurement.loc[bus_pq_meas_mask, "value"] *= -1 @@ -117,29 +159,34 @@ def _create_seperate_cost_tables(net, elements_to_deserialize): if not np.isnan(cost): create_poly_cost(net, index, "gen", cp1_eur_per_mw=cost * 1e3) - if _check_elements_to_deserialize('sgen', elements_to_deserialize) and "cost_per_kw" in net.sgen: + if _check_elements_to_deserialize('sgen', elements_to_deserialize) and \ + "cost_per_kw" in net.sgen: for index, cost in net.sgen.cost_per_kw.iteritems(): if not np.isnan(cost): create_poly_cost(net, index, "sgen", cp1_eur_per_kw=cost) - if _check_elements_to_deserialize('ext_grid', elements_to_deserialize) and "cost_per_kw" in net.ext_grid: + if _check_elements_to_deserialize('ext_grid', elements_to_deserialize) and \ + "cost_per_kw" in net.ext_grid: for index, cost in net.ext_grid.cost_per_kw.iteritems(): if not np.isnan(cost): create_poly_cost(net, index, "ext_grid", cp1_eur_per_kw=cost) - if _check_elements_to_deserialize('gen', elements_to_deserialize) and "cost_per_kvar" in net.gen: + if _check_elements_to_deserialize('gen', elements_to_deserialize) and \ + "cost_per_kvar" in net.gen: for index, cost in net.gen.cost_per_kvar.iteritems(): if not np.isnan(cost): create_poly_cost(net, index, "ext_grid", cp1_eur_per_mw=0, cq1_eur_per_mvar=cost * 1e3) - if _check_elements_to_deserialize('sgen', elements_to_deserialize) and "cost_per_kvar" in net.sgen: + if _check_elements_to_deserialize('sgen', elements_to_deserialize) and \ + "cost_per_kvar" in net.sgen: for index, cost in net.sgen.cost_per_kvar.iteritems(): if not np.isnan(cost): create_poly_cost(net, index, "sgen", cp1_eur_per_mw=0, cq1_eur_per_mvar=cost * 1e3) - if _check_elements_to_deserialize('ext_grid', elements_to_deserialize) and "cost_per_kvar" in net.ext_grid: + if _check_elements_to_deserialize('ext_grid', elements_to_deserialize) and \ + "cost_per_kvar" in net.ext_grid: for index, cost in net.ext_grid.cost_per_kvar.iteritems(): if not np.isnan(cost): create_poly_cost(net, index, "ext_grid", cp1_eur_per_mw=0, @@ -196,51 +243,67 @@ def _add_missing_columns(net, elements_to_deserialize): if "df" not in net[element]: net[element]["df"] = 1.0 - if _check_elements_to_deserialize('bus_geodata', elements_to_deserialize) and "coords" not in net.bus_geodata: + if _check_elements_to_deserialize('bus_geodata', elements_to_deserialize) \ + and "coords" not in net.bus_geodata: net.bus_geodata["coords"] = None - if _check_elements_to_deserialize('trafo3w', elements_to_deserialize) and not "tap_at_star_point" in net.trafo3w: + if _check_elements_to_deserialize('trafo3w', elements_to_deserialize) and \ + "tap_at_star_point" not in net.trafo3w: net.trafo3w["tap_at_star_point"] = False - if _check_elements_to_deserialize('trafo3w', elements_to_deserialize) and not "tap_step_degree" in net.trafo3w: + if _check_elements_to_deserialize('trafo3w', elements_to_deserialize) and \ + "tap_step_degree" not in net.trafo3w: net.trafo3w["tap_step_degree"] = 0 - if _check_elements_to_deserialize('load', elements_to_deserialize) and "const_z_percent" not in net.load or "const_i_percent" not in net.load: + if _check_elements_to_deserialize('load', elements_to_deserialize) and \ + "const_z_percent" not in net.load or "const_i_percent" not in net.load: net.load["const_z_percent"] = np.zeros(net.load.shape[0]) net.load["const_i_percent"] = np.zeros(net.load.shape[0]) - if _check_elements_to_deserialize('shunt', elements_to_deserialize) and "vn_kv" not in net["shunt"]: + if _check_elements_to_deserialize('shunt', elements_to_deserialize) and \ + "vn_kv" not in net["shunt"]: net.shunt["vn_kv"] = net.bus.vn_kv.loc[net.shunt.bus.values].values - if _check_elements_to_deserialize('shunt', elements_to_deserialize) and "step" not in net["shunt"]: + if _check_elements_to_deserialize('shunt', elements_to_deserialize) and \ + "step" not in net["shunt"]: net.shunt["step"] = 1 - if _check_elements_to_deserialize('shunt', elements_to_deserialize) and "max_step" not in net["shunt"]: + if _check_elements_to_deserialize('shunt', elements_to_deserialize) and \ + "max_step" not in net["shunt"]: net.shunt["max_step"] = 1 - if _check_elements_to_deserialize('trafo3w', elements_to_deserialize) and "std_type" not in net.trafo3w: + if _check_elements_to_deserialize('trafo3w', elements_to_deserialize) and \ + "std_type" not in net.trafo3w: net.trafo3w["std_type"] = None - if _check_elements_to_deserialize('sgen', elements_to_deserialize) and "current_source" not in net.sgen: + if _check_elements_to_deserialize('sgen', elements_to_deserialize) and \ + "current_source" not in net.sgen: net.sgen["current_source"] = net.sgen["type"].apply( func=lambda x: False if x == "motor" else True) - if _check_elements_to_deserialize('line', elements_to_deserialize) and "g_us_per_km" not in net.line: + if _check_elements_to_deserialize('line', elements_to_deserialize) and \ + "g_us_per_km" not in net.line: net.line["g_us_per_km"] = 0. - if _check_elements_to_deserialize('gen', elements_to_deserialize) and "slack" not in net.gen: + if _check_elements_to_deserialize('gen', elements_to_deserialize) and \ + "slack" not in net.gen: net.gen["slack"] = False - if _check_elements_to_deserialize('trafo', elements_to_deserialize) and "tap_phase_shifter" not in net.trafo and "tp_phase_shifter" not in net.trafo: + if _check_elements_to_deserialize('trafo', elements_to_deserialize) and \ + "tap_phase_shifter" not in net.trafo and "tp_phase_shifter" not in net.trafo: net.trafo["tap_phase_shifter"] = False # unsymmetric impedance - if _check_elements_to_deserialize('impedance', elements_to_deserialize) and "r_pu" in net.impedance: + if _check_elements_to_deserialize('impedance', elements_to_deserialize) and \ + "r_pu" in net.impedance: net.impedance["rft_pu"] = net.impedance["rtf_pu"] = net.impedance["r_pu"] net.impedance["xft_pu"] = net.impedance["xtf_pu"] = net.impedance["x_pu"] # Update the switch table with 'z_ohm' - if _check_elements_to_deserialize('switch', elements_to_deserialize) and 'z_ohm' not in net.switch: + if _check_elements_to_deserialize('switch', elements_to_deserialize) and \ + 'z_ohm' not in net.switch: net.switch['z_ohm'] = 0 - if _check_elements_to_deserialize('measurement', elements_to_deserialize) and "name" not in net.measurement: + if _check_elements_to_deserialize('measurement', elements_to_deserialize) and \ + "name" not in net.measurement: net.measurement.insert(0, "name", None) - if _check_elements_to_deserialize('controller', elements_to_deserialize) and "initial_run" not in net.controller: + if _check_elements_to_deserialize('controller', elements_to_deserialize) and \ + "initial_run" not in net.controller: net.controller.insert(4, 'initial_run', False) for _, ctrl in net.controller.iterrows(): if hasattr(ctrl['object'], 'initial_run'): @@ -249,13 +312,16 @@ def _add_missing_columns(net, elements_to_deserialize): net.controller.at[ctrl.name, 'initial_run'] = ctrl['object'].initial_powerflow # distributed slack - if _check_elements_to_deserialize('ext_grid', elements_to_deserialize) and "slack_weight" not in net.ext_grid: + if _check_elements_to_deserialize('ext_grid', elements_to_deserialize) and \ + "slack_weight" not in net.ext_grid: net.ext_grid['slack_weight'] = 1.0 - if _check_elements_to_deserialize('gen', elements_to_deserialize) and "slack_weight" not in net.gen: + if _check_elements_to_deserialize('gen', elements_to_deserialize) and \ + "slack_weight" not in net.gen: net.gen['slack_weight'] = 0.0 - if _check_elements_to_deserialize('xward', elements_to_deserialize) and "slack_weight" not in net.xward: + if _check_elements_to_deserialize('xward', elements_to_deserialize) and \ + "slack_weight" not in net.xward: net.xward['slack_weight'] = 0.0 @@ -351,7 +417,8 @@ def _convert_objects(net, elements_to_deserialize): Should be expanded for other objects if necessary. """ _check_elements_to_deserialize('controller', elements_to_deserialize) - if _check_elements_to_deserialize('controller', elements_to_deserialize) and "controller" in net.keys(): + if _check_elements_to_deserialize('controller', elements_to_deserialize) and \ + "controller" in net.keys(): for obj in net["controller"].object.values: _update_object_attributes(obj) @@ -360,4 +427,4 @@ def _check_elements_to_deserialize(element, elements_to_deserialize): if elements_to_deserialize is None: return True else: - return element in elements_to_deserialize \ No newline at end of file + return element in elements_to_deserialize diff --git a/pandapower/file_io.py b/pandapower/file_io.py index 80428e11d..12cfea429 100644 --- a/pandapower/file_io.py +++ b/pandapower/file_io.py @@ -26,7 +26,8 @@ def to_pickle(net, filename): INPUT: **net** (dict) - The pandapower format network - **filename** (string) - The absolute or relative path to the output file or an writable file-like objectxs + **filename** (string) - The absolute or relative path to the output file or an writable + file-like objectxs EXAMPLE: @@ -127,10 +128,11 @@ def from_pickle(filename, convert=True): Load a pandapower format Network from pickle file INPUT: - **filename** (string or file) - The absolute or relative path to the input file or file-like object + **filename** (string or file) - The absolute or relative path to the input file or + file-like object - **convert** (bool, True) - If True, converts the format of the net loaded from pickle from the older - version of pandapower to the newer version format + **convert** (bool, True) - If True, converts the format of the net loaded from pickle + from the older version of pandapower to the newer version format OUTPUT: **net** (dict) - The pandapower format network @@ -165,7 +167,7 @@ def from_excel(filename, convert=True): EXAMPLE: - >>> net1 = pp.from_excel(os.path.join("C:", "example_folder", "example1.xlsx")) #absolute path + >>> net1 = pp.from_excel(os.path.join("C:", "example_folder", "example1.xlsx")) >>> net2 = pp.from_excel("example2.xlsx") #relative path """ @@ -212,23 +214,27 @@ def _from_excel_old(xls): return net -def from_json(filename, convert=True, encryption_key=None, elements_to_deserialize=None, keep_serialized_elements=True): +def from_json(filename, convert=True, encryption_key=None, elements_to_deserialize=None, + keep_serialized_elements=True): """ Load a pandapower network from a JSON file. The index of the returned network is not necessarily in the same order as the original network. Index columns of all pandas DataFrames are sorted in ascending order. INPUT: - **filename** (string or file) - The absolute or relative path to the input file or file-like object + **filename** (string or file) - The absolute or relative path to the input file or + file-like object - **convert** (bool, True) - If True, converts the format of the net loaded from json from the older - version of pandapower to the newer version format + **convert** (bool, True) - If True, converts the format of the net loaded from json + from the older version of pandapower to the newer version format **encrytion_key** (string, "") - If given, key to decrypt an encrypted pandapower network - **elements_to_deserialize** (list, None) - Deserialize only certain pandapower elements. If None all elements are deserialized. + **elements_to_deserialize** (list, None) - Deserialize only certain pandapower elements. + If None all elements are deserialized. - **keep_serialized_elements** (bool, True) - Keep serialized elements if given. Default: Serialized elements are kept. + **keep_serialized_elements** (bool, True) - Keep serialized elements if given. + Default: Serialized elements are kept. OUTPUT: **net** (dict) - The pandapower format network @@ -261,8 +267,8 @@ def from_json_string(json_string, convert=False, encryption_key=None, elements_t INPUT: **json_string** (string) - The json string representation of the network - **convert** (bool, False) - If True, converts the format of the net loaded from json_string from the - older version of pandapower to the newer version format + **convert** (bool, False) - If True, converts the format of the net loaded from json_string + from the older version of pandapower to the newer version format **encrytion_key** (string, "") - If given, key to decrypt an encrypted json_string @@ -288,18 +294,19 @@ def from_json_string(json_string, convert=False, encryption_key=None, elements_t else: net = json.loads(json_string, cls=io_utils.PPJSONDecoder, deserialize_pandas=False) net_dummy = create_empty_network() - if (not 'version' in net.keys()) | (version.parse(net.version) < version.parse('2.1.0')): - raise UserWarning('table selection is only possible for nets above version 2.0.1. Convert and save ' - 'your net first.') + if ('version' not in net.keys()) | (version.parse(net.version) < version.parse('2.1.0')): + raise UserWarning('table selection is only possible for nets above version 2.0.1. ' + 'Convert and save your net first.') if keep_serialized_elements: for key in elements_to_deserialize: net[key] = json.loads(net[key], cls=io_utils.PPJSONDecoder) else: - if ((not 'version' in net.keys()) or (net['version'] != net_dummy.version)) and not convert: + if (('version' not in net.keys()) or (net['version'] != net_dummy.version)) and \ + not convert: raise UserWarning( - 'The version of your net %s you are trying to load differs from the actual pandapower ' - 'version %s. Before you can load only distinct tables, convert and save your net ' - 'first or set convert to True!' + 'The version of your net %s you are trying to load differs from the actual ' + 'pandapower version %s. Before you can load only distinct tables, convert ' + 'and save your net first or set convert to True!' % (net['version'], net_dummy.version)) for key in net.keys(): if key in elements_to_deserialize: From e84fe0df624265b333e3e21e97928cdfeb1d0498 Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Wed, 10 Nov 2021 17:00:23 +0100 Subject: [PATCH 282/422] add correct_dtypes() CHANGELOG --- CHANGELOG.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 6d6a2545c..c9c4375df 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -7,6 +7,7 @@ Change Log - [FIXED] toolbox replace_ward_by_internal_elements() index usage - [ADDED] TapDependentImpedance controller that adjusts the transformer parameters (e.g. vk_percent, vkr_percent) according to the tap position, based on a specified characteristic - [ADDED] multiple costs check in create functions and runopp +- [ADDED] correct_dtypes() function for fileIO convert [2.7.1]- 2021-07-22 ---------------------- From 2b3c64e91d038d5c6483eef93cb9a579211dbe41 Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Wed, 10 Nov 2021 17:31:23 +0100 Subject: [PATCH 283/422] from_ppc(): change trafo tap behaviour for zero values at ratio --- pandapower/converter/pypower/from_ppc.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pandapower/converter/pypower/from_ppc.py b/pandapower/converter/pypower/from_ppc.py index 147fe96e3..a8db0ccee 100644 --- a/pandapower/converter/pypower/from_ppc.py +++ b/pandapower/converter/pypower/from_ppc.py @@ -269,9 +269,8 @@ def from_ppc(ppc, f_hz=50, validate_conversion=False, **kwargs): vn_lv_kv=vn_lv_kv, vk_percent=sign(xk) * zk * sn * 100 / baseMVA, vkr_percent=rk * sn * 100 / baseMVA, max_loading_percent=100, pfe_kw=0, i0_percent=i0_percent, shift_degree=ppc['branch'][i, 9], - tap_step_percent=abs(ratio_1) if ratio_1 else nan, - tap_pos=sign(ratio_1) if ratio_1 else nan, - tap_side=tap_side if ratio_1 else None, tap_neutral=0 if ratio_1 else nan) + tap_step_percent=abs(ratio_1), tap_pos=sign(ratio_1), + tap_side=tap_side, tap_neutral=0) # unused data of ppc: rateB, rateC # --- gencost -> create polynomial_cost, piecewise_cost From 6d68fa0a1415a64499247768a1d733a04888c599 Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Wed, 10 Nov 2021 17:31:34 +0100 Subject: [PATCH 284/422] correct_dtypes to network jsons (mostly poly_cost.element and pwl_cost.element) --- pandapower/convert_format.py | 2 +- .../networks/IEEE_European_LV_Off_Peak_1.json | 610 ++++++++++++------ .../IEEE_European_LV_Off_Peak_1440.json | 610 ++++++++++++------ .../IEEE_European_LV_On_Peak_566.json | 610 ++++++++++++------ pandapower/networks/mv_oberrhein.json | 21 +- .../networks/mv_oberrhein_substations.json | 21 +- .../GBnetwork.json | 8 +- .../GBreducednetwork.json | 8 +- .../power_system_test_case_jsons/case118.json | 8 +- .../case11_iwamoto.json | 6 +- .../case1354pegase.json | 8 +- .../power_system_test_case_jsons/case14.json | 8 +- .../power_system_test_case_jsons/case145.json | 8 +- .../case1888rte.json | 8 +- .../case24_ieee_rts.json | 8 +- .../case2848rte.json | 8 +- .../case2869pegase.json | 8 +- .../power_system_test_case_jsons/case30.json | 8 +- .../power_system_test_case_jsons/case300.json | 8 +- .../case3120sp.json | 8 +- .../case33bw.json | 6 +- .../power_system_test_case_jsons/case39.json | 8 +- .../power_system_test_case_jsons/case4gs.json | 6 +- .../power_system_test_case_jsons/case5.json | 8 +- .../power_system_test_case_jsons/case57.json | 8 +- .../case5_demo_gridcal.json | 6 +- .../case6470rte.json | 8 +- .../case6495rte.json | 8 +- .../case6515rte.json | 8 +- .../power_system_test_case_jsons/case6ww.json | 8 +- .../case89pegase.json | 8 +- .../power_system_test_case_jsons/case9.json | 8 +- .../case9241pegase.json | 8 +- .../case_ieee30.json | 8 +- .../case_illinois200.json | 8 +- .../power_system_test_case_jsons/iceland.json | 8 +- 36 files changed, 1350 insertions(+), 756 deletions(-) diff --git a/pandapower/convert_format.py b/pandapower/convert_format.py index c20048948..54be115ed 100644 --- a/pandapower/convert_format.py +++ b/pandapower/convert_format.py @@ -78,7 +78,7 @@ def correct_dtypes(net, error): if error: raise ValueError(msg) else: - logger.warning(msg) + logger.info(msg) def _convert_bus_pq_meas_to_load_reference(net, elements_to_deserialize): diff --git a/pandapower/networks/IEEE_European_LV_Off_Peak_1.json b/pandapower/networks/IEEE_European_LV_Off_Peak_1.json index ffeb0e22f..b8f7d819d 100644 --- a/pandapower/networks/IEEE_European_LV_Off_Peak_1.json +++ b/pandapower/networks/IEEE_European_LV_Off_Peak_1.json @@ -6,6 +6,7 @@ "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"name\",\"vn_kv\",\"type\",\"zone\",\"in_service\",\"description\",\"substat\",\"folder_id\",\"sernum\",\"for_name\",\"chr_name\",\"pf_converged\",\"pf_name\"],\"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,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906],\"data\":[[\"SOURCEBUS\",11.0,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"SOURCEBUS\"],[\"1\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"1\"],[\"2\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"2\"],[\"3\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"3\"],[\"4\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"4\"],[\"5\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"5\"],[\"6\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"6\"],[\"7\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"7\"],[\"8\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"8\"],[\"9\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"9\"],[\"10\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"10\"],[\"11\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"11\"],[\"12\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"12\"],[\"13\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"13\"],[\"14\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"14\"],[\"15\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"15\"],[\"16\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"16\"],[\"17\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"17\"],[\"18\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"18\"],[\"19\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"19\"],[\"20\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"20\"],[\"21\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"21\"],[\"22\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"22\"],[\"23\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"23\"],[\"24\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"24\"],[\"25\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"25\"],[\"26\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"26\"],[\"27\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"27\"],[\"28\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"28\"],[\"29\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"29\"],[\"30\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"30\"],[\"31\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"31\"],[\"32\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"32\"],[\"33\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"33\"],[\"34\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"34\"],[\"35\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"35\"],[\"36\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"36\"],[\"37\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"37\"],[\"38\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"38\"],[\"39\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"39\"],[\"40\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"40\"],[\"41\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"41\"],[\"42\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"42\"],[\"43\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"43\"],[\"44\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"44\"],[\"45\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"45\"],[\"46\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"46\"],[\"47\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"47\"],[\"48\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"48\"],[\"49\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"49\"],[\"50\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"50\"],[\"51\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"51\"],[\"52\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"52\"],[\"53\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"53\"],[\"54\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"54\"],[\"55\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"55\"],[\"56\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"56\"],[\"57\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"57\"],[\"58\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"58\"],[\"59\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"59\"],[\"60\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"60\"],[\"61\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"61\"],[\"62\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"62\"],[\"63\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"63\"],[\"64\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"64\"],[\"65\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"65\"],[\"66\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"66\"],[\"67\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"67\"],[\"68\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"68\"],[\"69\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"69\"],[\"70\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"70\"],[\"71\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"71\"],[\"72\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"72\"],[\"73\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"73\"],[\"74\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"74\"],[\"75\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"75\"],[\"76\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"76\"],[\"77\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"77\"],[\"78\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"78\"],[\"79\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"79\"],[\"80\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"80\"],[\"81\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"81\"],[\"82\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"82\"],[\"83\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"83\"],[\"84\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"84\"],[\"85\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"85\"],[\"86\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"86\"],[\"87\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"87\"],[\"88\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"88\"],[\"89\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"89\"],[\"90\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"90\"],[\"91\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"91\"],[\"92\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"92\"],[\"93\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"93\"],[\"94\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"94\"],[\"95\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"95\"],[\"96\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"96\"],[\"97\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"97\"],[\"98\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"98\"],[\"99\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"99\"],[\"100\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"100\"],[\"101\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"101\"],[\"102\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"102\"],[\"103\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"103\"],[\"104\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"104\"],[\"105\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"105\"],[\"106\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"106\"],[\"107\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"107\"],[\"108\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"108\"],[\"109\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"109\"],[\"110\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"110\"],[\"111\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"111\"],[\"112\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"112\"],[\"113\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"113\"],[\"114\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"114\"],[\"115\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"115\"],[\"116\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"116\"],[\"117\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"117\"],[\"118\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"118\"],[\"119\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"119\"],[\"120\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"120\"],[\"121\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"121\"],[\"122\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"122\"],[\"123\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"123\"],[\"124\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"124\"],[\"125\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"125\"],[\"126\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"126\"],[\"127\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"127\"],[\"128\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"128\"],[\"129\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"129\"],[\"130\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"130\"],[\"131\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"131\"],[\"132\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"132\"],[\"133\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"133\"],[\"134\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"134\"],[\"135\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"135\"],[\"136\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"136\"],[\"137\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"137\"],[\"138\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"138\"],[\"139\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"139\"],[\"140\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"140\"],[\"141\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"141\"],[\"142\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"142\"],[\"143\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"143\"],[\"144\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"144\"],[\"145\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"145\"],[\"146\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"146\"],[\"147\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"147\"],[\"148\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"148\"],[\"149\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"149\"],[\"150\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"150\"],[\"151\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"151\"],[\"152\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"152\"],[\"153\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"153\"],[\"154\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"154\"],[\"155\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"155\"],[\"156\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"156\"],[\"157\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"157\"],[\"158\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"158\"],[\"159\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"159\"],[\"160\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"160\"],[\"161\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"161\"],[\"162\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"162\"],[\"163\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"163\"],[\"164\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"164\"],[\"165\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"165\"],[\"166\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"166\"],[\"167\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"167\"],[\"168\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"168\"],[\"169\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"169\"],[\"170\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"170\"],[\"171\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"171\"],[\"172\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"172\"],[\"173\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"173\"],[\"174\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"174\"],[\"175\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"175\"],[\"176\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"176\"],[\"177\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"177\"],[\"178\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"178\"],[\"179\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"179\"],[\"180\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"180\"],[\"181\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"181\"],[\"182\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"182\"],[\"183\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"183\"],[\"184\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"184\"],[\"185\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"185\"],[\"186\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"186\"],[\"187\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"187\"],[\"188\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"188\"],[\"189\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"189\"],[\"190\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"190\"],[\"191\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"191\"],[\"192\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"192\"],[\"193\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"193\"],[\"194\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"194\"],[\"195\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"195\"],[\"196\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"196\"],[\"197\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"197\"],[\"198\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"198\"],[\"199\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"199\"],[\"200\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"200\"],[\"201\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"201\"],[\"202\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"202\"],[\"203\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"203\"],[\"204\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"204\"],[\"205\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"205\"],[\"206\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"206\"],[\"207\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"207\"],[\"208\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"208\"],[\"209\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"209\"],[\"210\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"210\"],[\"211\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"211\"],[\"212\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"212\"],[\"213\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"213\"],[\"214\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"214\"],[\"215\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"215\"],[\"216\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"216\"],[\"217\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"217\"],[\"218\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"218\"],[\"219\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"219\"],[\"220\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"220\"],[\"221\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"221\"],[\"222\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"222\"],[\"223\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"223\"],[\"224\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"224\"],[\"225\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"225\"],[\"226\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"226\"],[\"227\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"227\"],[\"228\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"228\"],[\"229\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"229\"],[\"230\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"230\"],[\"231\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"231\"],[\"232\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"232\"],[\"233\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"233\"],[\"234\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"234\"],[\"235\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"235\"],[\"236\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"236\"],[\"237\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"237\"],[\"238\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"238\"],[\"239\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"239\"],[\"240\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"240\"],[\"241\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"241\"],[\"242\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"242\"],[\"243\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"243\"],[\"244\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"244\"],[\"245\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"245\"],[\"246\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"246\"],[\"247\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"247\"],[\"248\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"248\"],[\"249\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"249\"],[\"250\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"250\"],[\"251\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"251\"],[\"252\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"252\"],[\"253\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"253\"],[\"254\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"254\"],[\"255\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"255\"],[\"256\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"256\"],[\"257\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"257\"],[\"258\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"258\"],[\"259\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"259\"],[\"260\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"260\"],[\"261\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"261\"],[\"262\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"262\"],[\"263\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"263\"],[\"264\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"264\"],[\"265\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"265\"],[\"266\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"266\"],[\"267\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"267\"],[\"268\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"268\"],[\"269\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"269\"],[\"270\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"270\"],[\"271\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"271\"],[\"272\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"272\"],[\"273\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"273\"],[\"274\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"274\"],[\"275\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"275\"],[\"276\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"276\"],[\"277\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"277\"],[\"278\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"278\"],[\"279\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"279\"],[\"280\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"280\"],[\"281\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"281\"],[\"282\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"282\"],[\"283\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"283\"],[\"284\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"284\"],[\"285\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"285\"],[\"286\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"286\"],[\"287\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"287\"],[\"288\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"288\"],[\"289\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"289\"],[\"290\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"290\"],[\"291\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"291\"],[\"292\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"292\"],[\"293\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"293\"],[\"294\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"294\"],[\"295\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"295\"],[\"296\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"296\"],[\"297\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"297\"],[\"298\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"298\"],[\"299\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"299\"],[\"300\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"300\"],[\"301\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"301\"],[\"302\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"302\"],[\"303\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"303\"],[\"304\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"304\"],[\"305\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"305\"],[\"306\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"306\"],[\"307\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"307\"],[\"308\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"308\"],[\"309\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"309\"],[\"310\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"310\"],[\"311\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"311\"],[\"312\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"312\"],[\"313\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"313\"],[\"314\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"314\"],[\"315\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"315\"],[\"316\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"316\"],[\"317\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"317\"],[\"318\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"318\"],[\"319\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"319\"],[\"320\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"320\"],[\"321\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"321\"],[\"322\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"322\"],[\"323\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"323\"],[\"324\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"324\"],[\"325\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"325\"],[\"326\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"326\"],[\"327\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"327\"],[\"328\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"328\"],[\"329\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"329\"],[\"330\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"330\"],[\"331\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"331\"],[\"332\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"332\"],[\"333\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"333\"],[\"334\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"334\"],[\"335\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"335\"],[\"336\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"336\"],[\"337\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"337\"],[\"338\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"338\"],[\"339\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"339\"],[\"340\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"340\"],[\"341\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"341\"],[\"342\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"342\"],[\"343\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"343\"],[\"344\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"344\"],[\"345\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"345\"],[\"346\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"346\"],[\"347\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"347\"],[\"348\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"348\"],[\"349\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"349\"],[\"350\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"350\"],[\"351\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"351\"],[\"352\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"352\"],[\"353\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"353\"],[\"354\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"354\"],[\"355\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"355\"],[\"356\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"356\"],[\"357\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"357\"],[\"358\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"358\"],[\"359\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"359\"],[\"360\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"360\"],[\"361\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"361\"],[\"362\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"362\"],[\"363\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"363\"],[\"364\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"364\"],[\"365\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"365\"],[\"366\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"366\"],[\"367\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"367\"],[\"368\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"368\"],[\"369\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"369\"],[\"370\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"370\"],[\"371\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"371\"],[\"372\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"372\"],[\"373\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"373\"],[\"374\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"374\"],[\"375\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"375\"],[\"376\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"376\"],[\"377\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"377\"],[\"378\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"378\"],[\"379\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"379\"],[\"380\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"380\"],[\"381\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"381\"],[\"382\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"382\"],[\"383\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"383\"],[\"384\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"384\"],[\"385\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"385\"],[\"386\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"386\"],[\"387\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"387\"],[\"388\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"388\"],[\"389\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"389\"],[\"390\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"390\"],[\"391\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"391\"],[\"392\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"392\"],[\"393\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"393\"],[\"394\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"394\"],[\"395\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"395\"],[\"396\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"396\"],[\"397\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"397\"],[\"398\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"398\"],[\"399\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"399\"],[\"400\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"400\"],[\"401\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"401\"],[\"402\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"402\"],[\"403\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"403\"],[\"404\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"404\"],[\"405\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"405\"],[\"406\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"406\"],[\"407\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"407\"],[\"408\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"408\"],[\"409\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"409\"],[\"410\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"410\"],[\"411\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"411\"],[\"412\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"412\"],[\"413\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"413\"],[\"414\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"414\"],[\"415\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"415\"],[\"416\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"416\"],[\"417\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"417\"],[\"418\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"418\"],[\"419\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"419\"],[\"420\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"420\"],[\"421\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"421\"],[\"422\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"422\"],[\"423\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"423\"],[\"424\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"424\"],[\"425\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"425\"],[\"426\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"426\"],[\"427\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"427\"],[\"428\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"428\"],[\"429\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"429\"],[\"430\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"430\"],[\"431\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"431\"],[\"432\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"432\"],[\"433\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"433\"],[\"434\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"434\"],[\"435\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"435\"],[\"436\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"436\"],[\"437\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"437\"],[\"438\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"438\"],[\"439\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"439\"],[\"440\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"440\"],[\"441\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"441\"],[\"442\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"442\"],[\"443\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"443\"],[\"444\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"444\"],[\"445\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"445\"],[\"446\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"446\"],[\"447\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"447\"],[\"448\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"448\"],[\"449\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"449\"],[\"450\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"450\"],[\"451\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"451\"],[\"452\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"452\"],[\"453\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"453\"],[\"454\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"454\"],[\"455\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"455\"],[\"456\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"456\"],[\"457\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"457\"],[\"458\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"458\"],[\"459\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"459\"],[\"460\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"460\"],[\"461\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"461\"],[\"462\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"462\"],[\"463\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"463\"],[\"464\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"464\"],[\"465\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"465\"],[\"466\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"466\"],[\"467\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"467\"],[\"468\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"468\"],[\"469\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"469\"],[\"470\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"470\"],[\"471\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"471\"],[\"472\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"472\"],[\"473\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"473\"],[\"474\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"474\"],[\"475\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"475\"],[\"476\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"476\"],[\"477\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"477\"],[\"478\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"478\"],[\"479\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"479\"],[\"480\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"480\"],[\"481\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"481\"],[\"482\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"482\"],[\"483\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"483\"],[\"484\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"484\"],[\"485\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"485\"],[\"486\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"486\"],[\"487\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"487\"],[\"488\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"488\"],[\"489\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"489\"],[\"490\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"490\"],[\"491\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"491\"],[\"492\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"492\"],[\"493\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"493\"],[\"494\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"494\"],[\"495\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"495\"],[\"496\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"496\"],[\"497\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"497\"],[\"498\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"498\"],[\"499\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"499\"],[\"500\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"500\"],[\"501\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"501\"],[\"502\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"502\"],[\"503\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"503\"],[\"504\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"504\"],[\"505\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"505\"],[\"506\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"506\"],[\"507\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"507\"],[\"508\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"508\"],[\"509\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"509\"],[\"510\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"510\"],[\"511\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"511\"],[\"512\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"512\"],[\"513\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"513\"],[\"514\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"514\"],[\"515\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"515\"],[\"516\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"516\"],[\"517\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"517\"],[\"518\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"518\"],[\"519\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"519\"],[\"520\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"520\"],[\"521\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"521\"],[\"522\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"522\"],[\"523\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"523\"],[\"524\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"524\"],[\"525\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"525\"],[\"526\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"526\"],[\"527\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"527\"],[\"528\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"528\"],[\"529\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"529\"],[\"530\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"530\"],[\"531\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"531\"],[\"532\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"532\"],[\"533\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"533\"],[\"534\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"534\"],[\"535\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"535\"],[\"536\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"536\"],[\"537\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"537\"],[\"538\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"538\"],[\"539\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"539\"],[\"540\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"540\"],[\"541\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"541\"],[\"542\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"542\"],[\"543\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"543\"],[\"544\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"544\"],[\"545\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"545\"],[\"546\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"546\"],[\"547\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"547\"],[\"548\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"548\"],[\"549\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"549\"],[\"550\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"550\"],[\"551\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"551\"],[\"552\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"552\"],[\"553\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"553\"],[\"554\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"554\"],[\"555\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"555\"],[\"556\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"556\"],[\"557\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"557\"],[\"558\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"558\"],[\"559\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"559\"],[\"560\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"560\"],[\"561\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"561\"],[\"562\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"562\"],[\"563\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"563\"],[\"564\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"564\"],[\"565\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"565\"],[\"566\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"566\"],[\"567\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"567\"],[\"568\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"568\"],[\"569\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"569\"],[\"570\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"570\"],[\"571\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"571\"],[\"572\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"572\"],[\"573\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"573\"],[\"574\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"574\"],[\"575\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"575\"],[\"576\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"576\"],[\"577\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"577\"],[\"578\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"578\"],[\"579\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"579\"],[\"580\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"580\"],[\"581\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"581\"],[\"582\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"582\"],[\"583\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"583\"],[\"584\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"584\"],[\"585\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"585\"],[\"586\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"586\"],[\"587\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"587\"],[\"588\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"588\"],[\"589\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"589\"],[\"590\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"590\"],[\"591\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"591\"],[\"592\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"592\"],[\"593\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"593\"],[\"594\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"594\"],[\"595\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"595\"],[\"596\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"596\"],[\"597\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"597\"],[\"598\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"598\"],[\"599\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"599\"],[\"600\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"600\"],[\"601\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"601\"],[\"602\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"602\"],[\"603\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"603\"],[\"604\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"604\"],[\"605\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"605\"],[\"606\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"606\"],[\"607\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"607\"],[\"608\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"608\"],[\"609\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"609\"],[\"610\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"610\"],[\"611\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"611\"],[\"612\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"612\"],[\"613\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"613\"],[\"614\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"614\"],[\"615\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"615\"],[\"616\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"616\"],[\"617\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"617\"],[\"618\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"618\"],[\"619\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"619\"],[\"620\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"620\"],[\"621\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"621\"],[\"622\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"622\"],[\"623\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"623\"],[\"624\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"624\"],[\"625\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"625\"],[\"626\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"626\"],[\"627\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"627\"],[\"628\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"628\"],[\"629\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"629\"],[\"630\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"630\"],[\"631\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"631\"],[\"632\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"632\"],[\"633\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"633\"],[\"634\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"634\"],[\"635\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"635\"],[\"636\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"636\"],[\"637\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"637\"],[\"638\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"638\"],[\"639\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"639\"],[\"640\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"640\"],[\"641\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"641\"],[\"642\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"642\"],[\"643\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"643\"],[\"644\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"644\"],[\"645\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"645\"],[\"646\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"646\"],[\"647\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"647\"],[\"648\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"648\"],[\"649\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"649\"],[\"650\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"650\"],[\"651\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"651\"],[\"652\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"652\"],[\"653\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"653\"],[\"654\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"654\"],[\"655\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"655\"],[\"656\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"656\"],[\"657\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"657\"],[\"658\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"658\"],[\"659\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"659\"],[\"660\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"660\"],[\"661\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"661\"],[\"662\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"662\"],[\"663\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"663\"],[\"664\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"664\"],[\"665\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"665\"],[\"666\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"666\"],[\"667\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"667\"],[\"668\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"668\"],[\"669\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"669\"],[\"670\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"670\"],[\"671\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"671\"],[\"672\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"672\"],[\"673\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"673\"],[\"674\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"674\"],[\"675\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"675\"],[\"676\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"676\"],[\"677\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"677\"],[\"678\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"678\"],[\"679\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"679\"],[\"680\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"680\"],[\"681\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"681\"],[\"682\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"682\"],[\"683\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"683\"],[\"684\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"684\"],[\"685\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"685\"],[\"686\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"686\"],[\"687\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"687\"],[\"688\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"688\"],[\"689\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"689\"],[\"690\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"690\"],[\"691\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"691\"],[\"692\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"692\"],[\"693\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"693\"],[\"694\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"694\"],[\"695\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"695\"],[\"696\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"696\"],[\"697\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"697\"],[\"698\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"698\"],[\"699\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"699\"],[\"700\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"700\"],[\"701\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"701\"],[\"702\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"702\"],[\"703\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"703\"],[\"704\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"704\"],[\"705\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"705\"],[\"706\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"706\"],[\"707\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"707\"],[\"708\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"708\"],[\"709\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"709\"],[\"710\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"710\"],[\"711\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"711\"],[\"712\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"712\"],[\"713\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"713\"],[\"714\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"714\"],[\"715\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"715\"],[\"716\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"716\"],[\"717\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"717\"],[\"718\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"718\"],[\"719\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"719\"],[\"720\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"720\"],[\"721\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"721\"],[\"722\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"722\"],[\"723\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"723\"],[\"724\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"724\"],[\"725\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"725\"],[\"726\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"726\"],[\"727\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"727\"],[\"728\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"728\"],[\"729\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"729\"],[\"730\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"730\"],[\"731\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"731\"],[\"732\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"732\"],[\"733\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"733\"],[\"734\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"734\"],[\"735\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"735\"],[\"736\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"736\"],[\"737\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"737\"],[\"738\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"738\"],[\"739\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"739\"],[\"740\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"740\"],[\"741\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"741\"],[\"742\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"742\"],[\"743\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"743\"],[\"744\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"744\"],[\"745\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"745\"],[\"746\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"746\"],[\"747\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"747\"],[\"748\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"748\"],[\"749\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"749\"],[\"750\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"750\"],[\"751\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"751\"],[\"752\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"752\"],[\"753\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"753\"],[\"754\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"754\"],[\"755\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"755\"],[\"756\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"756\"],[\"757\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"757\"],[\"758\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"758\"],[\"759\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"759\"],[\"760\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"760\"],[\"761\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"761\"],[\"762\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"762\"],[\"763\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"763\"],[\"764\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"764\"],[\"765\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"765\"],[\"766\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"766\"],[\"767\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"767\"],[\"768\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"768\"],[\"769\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"769\"],[\"770\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"770\"],[\"771\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"771\"],[\"772\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"772\"],[\"773\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"773\"],[\"774\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"774\"],[\"775\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"775\"],[\"776\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"776\"],[\"777\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"777\"],[\"778\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"778\"],[\"779\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"779\"],[\"780\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"780\"],[\"781\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"781\"],[\"782\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"782\"],[\"783\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"783\"],[\"784\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"784\"],[\"785\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"785\"],[\"786\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"786\"],[\"787\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"787\"],[\"788\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"788\"],[\"789\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"789\"],[\"790\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"790\"],[\"791\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"791\"],[\"792\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"792\"],[\"793\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"793\"],[\"794\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"794\"],[\"795\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"795\"],[\"796\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"796\"],[\"797\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"797\"],[\"798\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"798\"],[\"799\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"799\"],[\"800\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"800\"],[\"801\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"801\"],[\"802\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"802\"],[\"803\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"803\"],[\"804\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"804\"],[\"805\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"805\"],[\"806\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"806\"],[\"807\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"807\"],[\"808\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"808\"],[\"809\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"809\"],[\"810\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"810\"],[\"811\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"811\"],[\"812\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"812\"],[\"813\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"813\"],[\"814\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"814\"],[\"815\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"815\"],[\"816\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"816\"],[\"817\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"817\"],[\"818\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"818\"],[\"819\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"819\"],[\"820\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"820\"],[\"821\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"821\"],[\"822\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"822\"],[\"823\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"823\"],[\"824\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"824\"],[\"825\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"825\"],[\"826\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"826\"],[\"827\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"827\"],[\"828\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"828\"],[\"829\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"829\"],[\"830\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"830\"],[\"831\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"831\"],[\"832\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"832\"],[\"833\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"833\"],[\"834\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"834\"],[\"835\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"835\"],[\"836\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"836\"],[\"837\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"837\"],[\"838\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"838\"],[\"839\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"839\"],[\"840\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"840\"],[\"841\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"841\"],[\"842\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"842\"],[\"843\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"843\"],[\"844\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"844\"],[\"845\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"845\"],[\"846\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"846\"],[\"847\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"847\"],[\"848\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"848\"],[\"849\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"849\"],[\"850\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"850\"],[\"851\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"851\"],[\"852\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"852\"],[\"853\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"853\"],[\"854\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"854\"],[\"855\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"855\"],[\"856\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"856\"],[\"857\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"857\"],[\"858\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"858\"],[\"859\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"859\"],[\"860\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"860\"],[\"861\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"861\"],[\"862\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"862\"],[\"863\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"863\"],[\"864\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"864\"],[\"865\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"865\"],[\"866\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"866\"],[\"867\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"867\"],[\"868\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"868\"],[\"869\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"869\"],[\"870\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"870\"],[\"871\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"871\"],[\"872\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"872\"],[\"873\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"873\"],[\"874\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"874\"],[\"875\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"875\"],[\"876\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"876\"],[\"877\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"877\"],[\"878\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"878\"],[\"879\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"879\"],[\"880\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"880\"],[\"881\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"881\"],[\"882\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"882\"],[\"883\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"883\"],[\"884\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"884\"],[\"885\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"885\"],[\"886\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"886\"],[\"887\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"887\"],[\"888\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"888\"],[\"889\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"889\"],[\"890\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"890\"],[\"891\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"891\"],[\"892\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"892\"],[\"893\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"893\"],[\"894\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"894\"],[\"895\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"895\"],[\"896\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"896\"],[\"897\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"897\"],[\"898\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"898\"],[\"899\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"899\"],[\"900\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"900\"],[\"901\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"901\"],[\"902\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"902\"],[\"903\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"903\"],[\"904\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"904\"],[\"905\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"905\"],[\"906\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"906\"]]}", + "orient": "split", "dtype": { "name": "object", "vn_kv": "float64", @@ -20,13 +21,13 @@ "chr_name": "object", "pf_converged": "bool", "pf_name": "object" - }, - "orient": "split" + } }, "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\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "name": "object", "bus": "uint32", @@ -38,13 +39,13 @@ "scaling": "float64", "in_service": "bool", "type": "object" - }, - "orient": "split" + } }, "sgen": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"name\",\"bus\",\"p_mw\",\"q_mvar\",\"sn_mva\",\"scaling\",\"in_service\",\"type\",\"current_source\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "name": "object", "bus": "int64", @@ -55,13 +56,34 @@ "in_service": "bool", "type": "object", "current_source": "bool" - }, - "orient": "split" + } + }, + "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" + } }, "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\",\"description\",\"sernum\",\"for_name\",\"chr_name\"],\"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],\"data\":[[\"LOAD1\",34,0.000036000001273,0.000011832627933,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD2\",47,0.0,0.0,0.000044000000344,0.000000014462101,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD3\",70,0.000054000000091,0.0000177489419,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD4\",73,0.000048000001698,0.000015776837245,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD5\",74,0.000035000000935,0.000011503943824,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD6\",83,0.0,0.0,0.000051999999414,0.000000017091573,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD7\",178,0.0,0.0,0.00005500000043,0.000000018077627,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD8\",208,0.0,0.0,0.0,0.0,0.000043000000005,0.000000014133416,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD9\",225,0.000059000001784,0.000019392362447,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD10\",248,0.0,0.0,0.000057000001107,0.000000018734994,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD11\",249,0.0,0.0,0.000048999998398,0.00000001610552,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD12\",264,0.0,0.0,0.0,0.0,0.000092000002041,0.000000030238937,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD13\",276,0.0,0.0,0.000056000000768,0.000000018406309,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD14\",289,0.000048999998398,0.000016105521354,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD15\",314,0.0,0.0,0.000052999999753,0.000000017420257,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD16\",320,0.0,0.0,0.0,0.0,0.000087000000349,0.000000028595517,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD17\",327,0.0,0.0,0.0,0.0,0.000048000001698,0.000000015776838,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD18\",337,0.0,0.0,0.0,0.0,0.000048999998398,0.00000001610552,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD19\",342,0.0,0.0,0.0,0.0,0.000052999999753,0.000000017420257,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD20\",349,0.000050999999075,0.000016762889572,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD21\",387,0.000045000000682,0.000014790784917,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD22\",388,0.000054000000091,0.0000177489419,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD23\",406,0.0,0.0,0.00005500000043,0.000000018077627,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD24\",458,0.0,0.0,0.0,0.0,0.000054000000091,0.000000017748942,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD25\",502,0.000049999998737,0.000016434205463,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD26\",522,0.0,0.0,0.000034000000596,0.00000001117526,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD27\",539,0.0,0.0,0.0,0.0,0.000050999999075,0.00000001676289,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD28\",556,0.0,0.0,0.0,0.0,0.000028000000384,0.000000009203155,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD29\",562,0.000054000000091,0.0000177489419,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD30\",563,0.000052999999753,0.000017420257791,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD31\",611,0.000052999999753,0.000017420257791,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD32\",614,0.0,0.0,0.0,0.0,0.000056000000768,0.000000018406309,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD33\",619,0.0,0.0,0.0,0.0,0.000057000001107,0.000000018734994,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD34\",629,0.000045000000682,0.000014790784917,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD35\",639,0.0,0.0,0.000043000000005,0.000000014133416,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD36\",676,0.0,0.0,0.00005500000043,0.000000018077627,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD37\",682,0.0,0.0,0.000045000000682,0.000000014790785,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD38\",688,0.0,0.0,0.000051999999414,0.000000017091573,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD39\",701,0.0,0.0,0.0,0.0,0.000048000001698,0.000000015776838,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD40\",702,0.0,0.0,0.000043000000005,0.000000014133416,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD41\",755,0.0,0.0,0.000051999999414,0.000000017091573,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD42\",778,0.0,0.0,0.0,0.0,0.000054000000091,0.000000017748942,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD43\",780,0.0,0.0,0.0,0.0,0.000049999998737,0.000000016434205,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD44\",785,0.0,0.0,0.000029000000723,0.000000009531839,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD45\",813,0.0,0.0,0.000052999999753,0.000000017420257,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD46\",817,0.000061999999161,0.000020378414774,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD47\",835,0.0,0.0,0.0,0.0,0.000045000000682,0.000000014790785,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD48\",860,0.000046000001021,0.000015119469026,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD49\",861,0.000054000000091,0.0000177489419,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD50\",886,0.0,0.0,0.000051999999414,0.000000017091573,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD51\",896,0.000052999999753,0.000017420257791,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD52\",898,0.000051999999414,0.000017091573682,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD53\",899,0.0,0.0,0.000047000001359,0.000000015448153,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD54\",900,0.000048000001698,0.000015776837245,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD55\",906,0.00005500000043,0.000018077626009,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"]]}", + "orient": "split", "dtype": { "name": "object", "bus": "uint32", @@ -79,13 +101,13 @@ "sernum": "object", "for_name": "object", "chr_name": "object" - }, - "orient": "split" + } }, "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", @@ -100,13 +122,13 @@ "in_service": "bool", "type": "object", "current_source": "bool" - }, - "orient": "split" + } }, "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", @@ -119,13 +141,13 @@ "scaling": "float64", "in_service": "bool", "type": "object" - }, - "orient": "split" + } }, "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\",\"in_service\",\"type\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"p_mw\",\"vm_pu\",\"sn_mva\",\"min_q_mvar\",\"max_q_mvar\",\"scaling\",\"slack\",\"in_service\",\"type\",\"slack_weight\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "name": "object", "bus": "uint32", @@ -137,14 +159,15 @@ "scaling": "float64", "slack": "bool", "in_service": "bool", - "type": "object" - }, - "orient": "split" + "type": "object", + "slack_weight": "float64" + } }, "switch": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"bus\",\"element\",\"et\",\"type\",\"closed\",\"name\",\"z_ohm\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "bus": "int64", "element": "int64", @@ -153,13 +176,13 @@ "closed": "bool", "name": "object", "z_ohm": "float64" - }, - "orient": "split" + } }, "shunt": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"bus\",\"name\",\"q_mvar\",\"p_mw\",\"vn_kv\",\"step\",\"max_step\",\"in_service\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "bus": "uint32", "name": "object", @@ -169,13 +192,13 @@ "step": "uint32", "max_step": "uint32", "in_service": "bool" - }, - "orient": "split" + } }, "ext_grid": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"name\",\"bus\",\"vm_pu\",\"va_degree\",\"in_service\",\"s_sc_max_mva\",\"s_sc_min_mva\",\"rx_min\",\"rx_max\",\"r0x0_max\",\"x0x_max\",\"r0x0_min\",\"x0x_min\",\"description\"],\"index\":[0],\"data\":[[\"Source\",0,1.049999952316284,0.0,true,10000.0,8000.0,0.100000001490116,0.100000001490116,0.100000001490116,1.0,0.100000001490116,1.0,\"\"]]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"vm_pu\",\"va_degree\",\"in_service\",\"s_sc_max_mva\",\"s_sc_min_mva\",\"rx_min\",\"rx_max\",\"r0x0_max\",\"x0x_max\",\"r0x0_min\",\"x0x_min\",\"description\",\"slack_weight\"],\"index\":[0],\"data\":[[\"Source\",0,1.049999952316284,0.0,true,10000.0,8000.0,0.100000001490116,0.100000001490116,0.100000001490116,1.0,0.100000001490116,1.0,\"\",1.0]]}", + "orient": "split", "dtype": { "name": "object", "bus": "uint32", @@ -190,14 +213,15 @@ "x0x_max": "float64", "r0x0_min": "float64", "x0x_min": "float64", - "description": "object" - }, - "orient": "split" + "description": "object", + "slack_weight": "float64" + } }, "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\",\"alpha\",\"temperature_degree_celsius\",\"description\",\"line_idx\",\"folder_id\",\"section_idx\",\"c0_nf_per_km\",\"r0_ohm_per_km\",\"x0_ohm_per_km\",\"pf_name\"],\"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,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904],\"data\":[[\"LINE1\",\"4c_70\",1,2,0.001097999978811,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",0.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE1\"],[\"LINE2\",\"4c_70\",2,3,0.000115110000479,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",1.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE2\"],[\"LINE3\",\"4c_70\",3,4,0.000107840001874,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",2.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE3\"],[\"LINE4\",\"4c_70\",4,5,0.000094021001132,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",3.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE4\"],[\"LINE5\",\"4c_70\",5,6,0.000148120001541,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",4.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE5\"],[\"LINE6\",\"4c_70\",6,7,0.010086299851537,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",5.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE6\"],[\"LINE7\",\"4c_70\",7,8,0.000451750005595,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",6.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE7\"],[\"LINE8\",\"4c_70\",8,9,0.000376000010874,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",7.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE8\"],[\"LINE9\",\"4c_70\",9,10,0.000329970003804,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",8.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE9\"],[\"LINE10\",\"4c_70\",10,11,0.000246220006375,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",9.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE10\"],[\"LINE11\",\"4c_70\",11,12,0.000231140002143,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",10.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE11\"],[\"LINE12\",\"4c_70\",12,13,0.000142129996675,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",11.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE12\"],[\"LINE13\",\"4c_70\",13,14,0.000353840005118,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",12.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE13\"],[\"LINE14\",\"4c_70\",14,15,0.002866399940103,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",13.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE14\"],[\"LINE15\",\"2c_007\",15,16,0.000096540003142,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",14.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE15\"],[\"LINE16\",\"4c_70\",15,17,0.003475999925286,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",15.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE16\"],[\"LINE17\",\"2c_007\",16,18,0.000044044998504,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",16.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE17\"],[\"LINE18\",\"4c_70\",17,19,0.000239169996348,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",17.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE18\"],[\"LINE19\",\"2c_007\",18,20,0.000046173998271,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",18.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE19\"],[\"LINE20\",\"4c_70\",19,21,0.000268559990218,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",19.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE20\"],[\"LINE21\",\"2c_007\",20,22,0.00004197599992,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",20.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE21\"],[\"LINE22\",\"4c_70\",21,23,0.000437270005932,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",21.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE22\"],[\"LINE23\",\"2c_007\",22,24,0.000051244998758,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",22.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE23\"],[\"LINE24\",\"4c_70\",23,25,0.000795500003733,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",23.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE24\"],[\"LINE25\",\"2c_007\",24,26,0.000055902000895,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",24.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE25\"],[\"LINE26\",\"2c_16\",25,27,0.005904899910092,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",25.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE26\"],[\"LINE27\",\"4c_70\",25,28,0.009968600235879,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",26.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE27\"],[\"LINE28\",\"2c_007\",26,29,0.000054561998695,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",27.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE28\"],[\"LINE29\",\"2c_16\",27,30,0.001626500044949,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",28.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE29\"],[\"LINE30\",\"2c_16\",27,31,0.001584699959494,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",29.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE30\"],[\"LINE31\",\"4c_70\",28,32,0.002653799951077,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",30.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE31\"],[\"LINE32\",\"2c_007\",29,33,0.000146289996337,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",31.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE32\"],[\"LINE33\",\"2c_16\",30,34,0.003724799957126,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",32.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE33\"],[\"LINE34\",\"2c_16\",31,35,0.000053666000895,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",33.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE34\"],[\"LINE35\",\"2c_16\",32,36,0.005726499948651,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",34.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE35\"],[\"LINE36\",\"4c_70\",32,37,0.008024400100112,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",35.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE36\"],[\"LINE37\",\"2c_007\",33,38,0.000136479997309,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",36.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE37\"],[\"LINE38\",\"2c_16\",35,39,0.000077162003436,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",37.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE38\"],[\"LINE39\",\"2c_16\",36,40,0.000400040007662,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",38.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE39\"],[\"LINE40\",\"2c_16\",36,41,0.001806300017051,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",39.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE40\"],[\"LINE41\",\"4c_70\",37,42,0.005568400025368,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",40.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE41\"],[\"LINE42\",\"4c_185\",37,43,0.000216750006075,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",41.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE42\"],[\"LINE43\",\"2c_007\",38,44,0.0000338380014,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",42.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE43\"],[\"LINE44\",\"2c_16\",39,45,0.000098955002613,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",43.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE44\"],[\"LINE45\",\"2c_16\",40,46,0.000180310002179,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",44.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE45\"],[\"LINE46\",\"2c_16\",41,47,0.004346299916506,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",45.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE46\"],[\"LINE47\",\"4c_70\",42,48,0.004207800142467,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",46.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE47\"],[\"LINE48\",\"4c_185\",43,49,0.000104359998659,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",47.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE48\"],[\"LINE49\",\"2c_007\",44,50,0.000048104000598,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",48.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE49\"],[\"LINE50\",\"2c_16\",45,51,0.000241000001552,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",49.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE50\"],[\"LINE51\",\"2c_16\",46,52,0.000191090002772,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",50.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE51\"],[\"LINE52\",\"4c_70\",48,53,0.000606679997873,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",51.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE52\"],[\"LINE53\",\"4c_70\",48,54,0.000639490026515,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",52.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE53\"],[\"LINE54\",\"4c_185\",49,55,0.000116249997518,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",53.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE54\"],[\"LINE55\",\"2c_007\",50,56,0.000087663996965,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",54.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE55\"],[\"LINE56\",\"2c_16\",51,57,0.000206340002478,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",55.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE56\"],[\"LINE57\",\"2c_16\",52,58,0.000182000003406,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",56.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE57\"],[\"LINE58\",\"4c_70\",53,59,0.002748100087047,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",57.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE58\"],[\"LINE59\",\"4c_70\",54,60,0.000065368003561,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",58.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE59\"],[\"LINE60\",\"4c_185\",55,61,0.000100279998151,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",59.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE60\"],[\"LINE61\",\"2c_007\",56,62,0.000077999997302,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",60.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE61\"],[\"LINE62\",\"2c_16\",57,63,0.000989119987935,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",61.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE62\"],[\"LINE63\",\"2c_16\",58,64,0.000109000000521,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",62.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE63\"],[\"LINE64\",\"4c_70\",59,65,0.000558679981623,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",63.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE64\"],[\"LINE65\",\"2c_16\",59,66,0.008258299902081,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",64.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE65\"],[\"LINE66\",\"4c_70\",60,67,0.000074000003224,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",65.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE66\"],[\"LINE67\",\"4c_185\",61,68,0.000096042000223,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",66.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE67\"],[\"LINE68\",\"2c_007\",62,69,0.000083241000539,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",67.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE68\"],[\"LINE69\",\"2c_16\",63,70,0.003496200079098,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",68.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE69\"],[\"LINE70\",\"2c_16\",64,71,0.000213849998545,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",69.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE70\"],[\"LINE71\",\"4c_70\",65,72,0.006600600201637,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",70.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE71\"],[\"LINE72\",\"2c_16\",66,73,0.004036599770188,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",71.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE72\"],[\"LINE73\",\"2c_16\",66,74,0.004036599770188,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",72.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE73\"],[\"LINE74\",\"4c_70\",67,75,0.000179509996087,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",73.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE74\"],[\"LINE75\",\"4c_185\",68,76,0.000235510000493,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",74.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE75\"],[\"LINE76\",\"2c_007\",69,77,0.000389069988159,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",75.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE76\"],[\"LINE77\",\"2c_16\",71,78,0.0010837999871,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",76.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE77\"],[\"LINE78\",\"4c_70\",72,79,0.002300800057128,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",77.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE78\"],[\"LINE79\",\"4c_70\",75,80,0.00010361999739,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",78.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE79\"],[\"LINE80\",\"4c_185\",76,81,0.000746899982914,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",79.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE80\"],[\"LINE81\",\"2c_007\",77,82,0.000510880025104,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",80.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE81\"],[\"LINE82\",\"2c_16\",78,83,0.004083999898285,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",81.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE82\"],[\"LINE83\",\"4c_70\",79,84,0.000502109993249,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",82.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE83\"],[\"LINE84\",\"4c_70\",80,85,0.000111219997052,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",83.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE84\"],[\"LINE85\",\"4c_185\",81,86,0.001438800012693,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",84.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE85\"],[\"LINE86\",\"2c_007\",82,87,0.000310450006509,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",85.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE86\"],[\"LINE87\",\"4c_70\",84,88,0.001018199953251,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",86.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE87\"],[\"LINE88\",\"4c_70\",85,89,0.000104799997644,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",87.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE88\"],[\"LINE89\",\"4c_185\",86,90,0.000342510000337,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",88.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE89\"],[\"LINE90\",\"2c_007\",87,91,0.000112059999083,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",89.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE90\"],[\"LINE91\",\"4c_70\",88,92,0.000960209988989,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",90.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE91\"],[\"LINE92\",\"4c_185\",90,93,0.000065307001933,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",91.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE92\"],[\"LINE93\",\"2c_007\",91,94,0.000034785000025,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",92.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE93\"],[\"LINE94\",\"4c_70\",92,95,0.000558110012207,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",93.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE94\"],[\"LINE95\",\"4c_185\",93,96,0.000086052001279,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",94.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE95\"],[\"LINE96\",\"2c_007\",94,97,0.000036770001316,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",95.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE96\"],[\"LINE97\",\"4c_70\",95,98,0.000368590001017,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",96.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE97\"],[\"LINE98\",\"4c_185\",96,99,0.000037215999328,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",97.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE98\"],[\"LINE99\",\"2c_007\",97,100,0.000089588000264,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",98.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE99\"],[\"LINE100\",\"4c_70\",98,101,0.000508919998538,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",99.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE100\"],[\"LINE101\",\"4c_185\",99,102,0.005081899929792,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",100.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE101\"],[\"LINE102\",\"2c_007\",100,103,0.000285829999484,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",101.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE102\"],[\"LINE103\",\"4c_35\",101,104,0.000288379989797,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",102.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE103\"],[\"LINE104\",\"4c_70\",101,105,0.000336019991664,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",103.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE104\"],[\"LINE105\",\"4c_185\",102,106,0.000221080001211,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",104.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE105\"],[\"LINE106\",\"4c_35\",104,107,0.000348900008248,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",105.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE106\"],[\"LINE107\",\"4c_70\",105,108,0.000190539998584,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",106.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE107\"],[\"LINE108\",\"4c_185\",106,109,0.000450849998742,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",107.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE108\"],[\"LINE109\",\"4c_35\",107,110,0.000404399994295,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",108.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE109\"],[\"LINE110\",\"4c_70\",108,111,0.007518200203776,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",109.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE110\"],[\"LINE111\",\"4c_185\",109,112,0.011976599693298,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",110.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE111\"],[\"LINE112\",\"4c_35\",110,113,0.000616590026766,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",111.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE112\"],[\"LINE113\",\"4c_70\",111,114,0.000753159984015,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",112.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE113\"],[\"LINE114\",\"4c_185\",112,115,0.010661300271749,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",113.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE114\"],[\"LINE115\",\"4c_35\",113,116,0.00079270999413,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",114.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE115\"],[\"LINE116\",\"4c_35\",114,117,0.001105600036681,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",115.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE116\"],[\"LINE117\",\"4c_1\",114,118,0.003655599895865,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",116.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE117\"],[\"LINE118\",\"4c_185\",115,119,0.00099464005325,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",117.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE118\"],[\"LINE119\",\"4c_35\",116,120,0.000569090014324,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",118.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE119\"],[\"LINE120\",\"2c_007\",117,121,0.000194809996174,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",119.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE120\"],[\"LINE121\",\"4c_35\",117,122,0.000538309977856,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",120.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE121\"],[\"LINE122\",\"4c_1\",118,123,0.006592399906367,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",121.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE122\"],[\"LINE123\",\"4c_185\",119,124,0.000724799989257,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",122.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE123\"],[\"LINE124\",\"4c_35\",120,125,0.000804119976237,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",123.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE124\"],[\"LINE125\",\"2c_007\",121,126,0.000168690006831,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",124.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE125\"],[\"LINE126\",\"4c_35\",122,127,0.002528799930587,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",125.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE126\"],[\"LINE127\",\"4c_1\",123,128,0.002964599989355,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",126.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE127\"],[\"LINE128\",\"4c_185\",124,129,0.000625120010227,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",127.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE128\"],[\"LINE129\",\"4c_35\",125,130,0.000869999988936,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",128.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE129\"],[\"LINE130\",\"2c_007\",126,131,0.000119149997772,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",129.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE130\"],[\"LINE131\",\"2c_16\",127,132,0.003821199992672,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",130.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE131\"],[\"LINE132\",\"4c_35\",127,133,0.007178199943155,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",131.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE132\"],[\"LINE133\",\"4c_1\",128,134,0.000882050022483,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",132.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE133\"],[\"LINE134\",\"4c_185\",129,135,0.001920299953781,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",133.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE134\"],[\"LINE135\",\"4c_35\",130,136,0.000820479996037,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",134.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE135\"],[\"LINE136\",\"2c_007\",131,137,0.000184360003914,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",135.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE136\"],[\"LINE137\",\"2c_16\",132,138,0.000329080008669,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",136.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE137\"],[\"LINE138\",\"4c_35\",133,139,0.005340199917555,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",137.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE138\"],[\"LINE139\",\"4c_1\",134,140,0.000995659967884,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",138.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE139\"],[\"LINE140\",\"4c_185\",135,141,0.001412700046785,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",139.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE140\"],[\"LINE141\",\"4c_35\",136,142,0.001349000027403,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",140.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE141\"],[\"LINE142\",\"2c_007\",137,143,0.000217809996684,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",141.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE142\"],[\"LINE143\",\"2c_16\",138,144,0.00032289000228,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",142.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE143\"],[\"LINE144\",\"4c_35\",139,145,0.003576199989766,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",143.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE144\"],[\"LINE145\",\"4c_1\",140,146,0.000936400028877,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",144.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE145\"],[\"LINE146\",\"4c_185\",141,147,0.000240530003794,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",145.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE146\"],[\"LINE147\",\"4c_35\",142,148,0.006414200179279,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",146.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE147\"],[\"LINE148\",\"2c_007\",143,149,0.000194010004634,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",147.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE148\"],[\"LINE149\",\"2c_16\",144,150,0.000260720000369,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",148.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE149\"],[\"LINE150\",\"4c_35\",145,151,0.00357130006887,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",149.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE150\"],[\"LINE151\",\"2c_16\",145,152,0.005131400190294,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",150.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE151\"],[\"LINE152\",\"4c_1\",146,153,0.001092600054108,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",151.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE152\"],[\"LINE153\",\"4c_185\",147,154,0.000083095997979,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",152.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE153\"],[\"LINE154\",\"4c_35\",148,155,0.001397300045937,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",153.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE154\"],[\"LINE155\",\"2c_007\",149,156,0.000219099994865,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",154.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE155\"],[\"LINE156\",\"2c_16\",150,157,0.000391320005292,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",155.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE156\"],[\"LINE157\",\"4c_35\",151,158,0.009471300058067,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",156.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE157\"],[\"LINE158\",\"2c_16\",152,159,0.000312329997541,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",157.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE158\"],[\"LINE159\",\"4c_1\",153,160,0.000314389995765,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",158.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE159\"],[\"LINE160\",\"4c_185\",154,161,0.000122559998999,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",159.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE160\"],[\"LINE161\",\"2c_16\",155,162,0.011742199771106,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",160.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE161\"],[\"LINE162\",\"4c_35\",155,163,0.005284400191158,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",161.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE162\"],[\"LINE163\",\"2c_007\",156,164,0.000203420000616,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",162.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE163\"],[\"LINE164\",\"2c_16\",157,165,0.000471779989311,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",163.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE164\"],[\"LINE165\",\"4c_35\",158,166,0.003289900021628,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",164.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE165\"],[\"LINE166\",\"2c_16\",159,167,0.000285329995677,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",165.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE166\"],[\"LINE167\",\"4c_1\",160,168,0.001786099979654,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",166.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE167\"],[\"LINE168\",\"4c_185\",161,169,0.000249580014497,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",167.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE168\"],[\"LINE169\",\"2c_16\",162,170,0.002218300011009,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",168.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE169\"],[\"LINE170\",\"4c_35\",163,171,0.007015599869192,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",169.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE170\"],[\"LINE171\",\"2c_007\",164,172,0.000172700005351,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",170.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE171\"],[\"LINE172\",\"2c_16\",165,173,0.000356420001481,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",171.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE172\"],[\"LINE173\",\"4c_35\",166,174,0.003918299917132,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",172.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE173\"],[\"LINE174\",\"2c_16\",166,175,0.004204500000924,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",173.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE174\"],[\"LINE175\",\"2c_16\",167,176,0.000118529998872,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",174.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE175\"],[\"LINE176\",\"4c_1\",168,177,0.00100879999809,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",175.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE176\"],[\"LINE177\",\"2c_16\",170,178,0.004576799925417,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",176.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE177\"],[\"LINE178\",\"4c_35\",171,179,0.001181800034828,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",177.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE178\"],[\"LINE179\",\"2c_16\",171,180,0.002422400051728,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",178.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE179\"],[\"LINE180\",\"2c_007\",172,181,0.000179609996849,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",179.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE180\"],[\"LINE181\",\"2c_16\",173,182,0.000412439985666,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",180.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE181\"],[\"LINE182\",\"4c_35\",174,183,0.000587630027439,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",181.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE182\"],[\"LINE183\",\"2c_16\",175,184,0.000454090011772,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",182.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE183\"],[\"LINE184\",\"2c_16\",176,185,0.000255490012933,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",183.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE184\"],[\"LINE185\",\"4c_1\",177,186,0.00074886000948,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",184.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE185\"],[\"LINE186\",\"4c_35\",179,187,0.004650699906051,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",185.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE186\"],[\"LINE187\",\"2c_16\",180,188,0.010025800205767,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",186.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE187\"],[\"LINE188\",\"2c_007\",181,189,0.000154120003572,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",187.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE188\"],[\"LINE189\",\"2c_16\",182,190,0.000387800013414,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",188.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE189\"],[\"LINE190\",\"4c_35\",183,191,0.0023151000496,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",189.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE190\"],[\"LINE191\",\"4c_35\",183,192,0.000277910003206,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",190.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE191\"],[\"LINE192\",\"2c_16\",184,193,0.000439230003394,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",191.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE192\"],[\"LINE193\",\"2c_16\",185,194,0.000650729984045,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",192.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE193\"],[\"LINE194\",\"4c_1\",186,195,0.000673260015901,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",193.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE194\"],[\"LINE195\",\"4c_35\",187,196,0.008303600363433,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",194.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE195\"],[\"LINE196\",\"2c_16\",188,197,0.001959499903023,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",195.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE196\"],[\"LINE197\",\"2c_16\",188,198,0.00113250000868,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",196.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE197\"],[\"LINE198\",\"2c_007\",189,199,0.000191479994101,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",197.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE198\"],[\"LINE199\",\"2c_16\",190,200,0.00041725000483,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",198.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE199\"],[\"LINE200\",\"4c_35\",191,201,0.000931399990804,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",199.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE200\"],[\"LINE201\",\"4c_35\",192,202,0.00016446999507,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",200.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE201\"],[\"LINE202\",\"2c_16\",193,203,0.000351339986082,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",201.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE202\"],[\"LINE203\",\"2c_16\",194,204,0.000381780002499,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",202.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE203\"],[\"LINE204\",\"4c_1\",195,205,0.000836380000692,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",203.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE204\"],[\"LINE205\",\"2c_16\",196,206,0.003247499931604,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",204.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE205\"],[\"LINE206\",\"4c_35\",196,207,0.002137100091204,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",205.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE206\"],[\"LINE207\",\"2c_16\",197,208,0.004954100120813,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",206.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE207\"],[\"LINE208\",\"2c_16\",198,209,0.000160080002388,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",207.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE208\"],[\"LINE209\",\"2c_007\",199,210,0.000448379985755,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",208.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE209\"],[\"LINE210\",\"2c_16\",200,211,0.000637850025669,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",209.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE210\"],[\"LINE211\",\"4c_35\",202,212,0.000155260000611,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",210.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE211\"],[\"LINE212\",\"2c_16\",203,213,0.000279870000668,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",211.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE212\"],[\"LINE213\",\"2c_16\",204,214,0.000267399998847,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",212.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE213\"],[\"LINE214\",\"4c_1\",205,215,0.001543399994262,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",213.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE214\"],[\"LINE215\",\"2c_16\",206,216,0.010629500262439,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",214.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE215\"],[\"LINE216\",\"4c_35\",207,217,0.003857099916786,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",215.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE216\"],[\"LINE217\",\"2c_16\",209,218,0.000129099993501,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",216.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE217\"],[\"LINE218\",\"2c_007\",210,219,0.000672149995808,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",217.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE218\"],[\"LINE219\",\"2c_16\",211,220,0.001741899992339,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",218.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE219\"],[\"LINE220\",\"4c_35\",212,221,0.00017005999689,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",219.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE220\"],[\"LINE221\",\"2c_16\",213,222,0.000591690011788,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",220.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE221\"],[\"LINE222\",\"2c_16\",214,223,0.000514369981829,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",221.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE222\"],[\"LINE223\",\"4c_1\",215,224,0.001345600001514,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",222.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE223\"],[\"LINE224\",\"2c_16\",216,225,0.004582200199366,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",223.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE224\"],[\"LINE225\",\"4c_35\",217,226,0.001377200009301,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",224.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE225\"],[\"LINE226\",\"2c_16\",218,227,0.000103170001239,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",225.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE226\"],[\"LINE227\",\"2c_16\",220,228,0.000148520004586,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",226.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE227\"],[\"LINE228\",\"4c_35\",221,229,0.000232730002608,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",227.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE228\"],[\"LINE229\",\"2c_16\",222,230,0.000465969991637,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",228.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE229\"],[\"LINE230\",\"2c_16\",223,231,0.000256019993685,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",229.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE230\"],[\"LINE231\",\"4c_1\",224,232,0.00091533997329,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",230.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE231\"],[\"LINE232\",\"2c_16\",226,233,0.011894900351763,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",231.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE232\"],[\"LINE233\",\"4c_35\",226,234,0.001127299969085,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",232.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE233\"],[\"LINE234\",\"2c_16\",227,235,0.000157489994308,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",233.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE234\"],[\"LINE235\",\"2c_16\",228,236,0.000068599998485,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",234.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE235\"],[\"LINE236\",\"4c_35\",229,237,0.000207420001971,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",235.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE236\"],[\"LINE237\",\"2c_16\",230,238,0.000323220010614,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",236.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE237\"],[\"LINE238\",\"2c_16\",231,239,0.000181790004717,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",237.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE238\"],[\"LINE239\",\"4c_1\",232,240,0.00060129998019,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",238.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE239\"],[\"LINE240\",\"2c_16\",233,241,0.001727399998344,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",239.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE240\"],[\"LINE241\",\"2c_16\",235,242,0.000184610005817,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",240.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE241\"],[\"LINE242\",\"2c_16\",236,243,0.000073376002547,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",241.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE242\"],[\"LINE243\",\"4c_35\",237,244,0.000168810001924,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",242.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE243\"],[\"LINE244\",\"2c_16\",238,245,0.000322450010572,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",243.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE244\"],[\"LINE245\",\"2c_16\",239,246,0.002079600002617,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",244.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE245\"],[\"LINE246\",\"4c_1\",240,247,0.001294099958614,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",245.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE246\"],[\"LINE247\",\"2c_16\",241,248,0.005302200093865,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",246.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE247\"],[\"LINE248\",\"2c_16\",241,249,0.005302200093865,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",247.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE248\"],[\"LINE249\",\"2c_16\",242,250,0.000283550005406,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",248.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE249\"],[\"LINE250\",\"2c_16\",243,251,0.000070114001574,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",249.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE250\"],[\"LINE251\",\"4c_35\",244,252,0.000132970002596,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",250.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE251\"],[\"LINE252\",\"2c_16\",245,253,0.000471729988931,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",251.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE252\"],[\"LINE253\",\"2c_16\",246,254,0.000613240001258,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",252.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE253\"],[\"LINE254\",\"2c_16\",247,255,0.00456180004403,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",253.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE254\"],[\"LINE255\",\"4c_1\",247,256,0.000856779981405,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",254.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE255\"],[\"LINE256\",\"2c_16\",250,257,0.001037599984556,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",255.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE256\"],[\"LINE257\",\"2c_16\",251,258,0.000078110002505,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",256.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE257\"],[\"LINE258\",\"4c_35\",252,259,0.000173230000655,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",257.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE258\"],[\"LINE259\",\"2c_16\",253,260,0.001774200005457,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",258.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE259\"],[\"LINE260\",\"2c_16\",254,261,0.000137199996971,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",259.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE260\"],[\"LINE261\",\"2c_16\",255,262,0.000630600028671,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",260.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE261\"],[\"LINE262\",\"4c_1\",256,263,0.003212800016627,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",261.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE262\"],[\"LINE263\",\"2c_16\",257,264,0.005049999803305,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",262.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE263\"],[\"LINE264\",\"2c_16\",258,265,0.000161229996593,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",263.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE264\"],[\"LINE265\",\"4c_35\",259,266,0.000194359992747,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",264.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE265\"],[\"LINE266\",\"2c_16\",260,267,0.000414100009948,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",265.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE266\"],[\"LINE267\",\"2c_16\",261,268,0.003457800019532,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",266.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE267\"],[\"LINE268\",\"2c_16\",261,269,0.000118709998787,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",267.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE268\"],[\"LINE269\",\"2c_16\",262,270,0.000289910007268,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",268.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE269\"],[\"LINE270\",\"2c_16\",263,271,0.004254700150341,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",269.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE270\"],[\"LINE271\",\"4c_1\",263,272,0.001079199952073,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",270.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE271\"],[\"LINE272\",\"2c_16\",265,273,0.000167920006788,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",271.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE272\"],[\"LINE273\",\"4c_35\",266,274,0.000178880000021,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",272.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE273\"],[\"LINE274\",\"2c_16\",267,275,0.000189710000996,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",273.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE274\"],[\"LINE275\",\"2c_16\",268,276,0.003426800016314,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",274.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE275\"],[\"LINE276\",\"2c_16\",269,277,0.000139180003316,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",275.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE276\"],[\"LINE277\",\"2c_16\",270,278,0.000344330008375,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",276.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE277\"],[\"LINE278\",\"2c_16\",271,279,0.000309269991703,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",277.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE278\"],[\"LINE279\",\"4c_1\",272,280,0.003912100102752,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",278.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE279\"],[\"LINE280\",\"2c_16\",273,281,0.000638540019281,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",279.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE280\"],[\"LINE281\",\"4c_35\",274,282,0.000605419976637,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",280.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE281\"],[\"LINE282\",\"2c_16\",275,283,0.000124719997984,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",281.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE282\"],[\"LINE283\",\"2c_16\",277,284,0.000125780003145,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",282.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE283\"],[\"LINE284\",\"2c_16\",278,285,0.000531259982381,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",283.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE284\"],[\"LINE285\",\"2c_16\",279,286,0.000254910002695,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",284.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE285\"],[\"LINE286\",\"4c_06\",280,287,0.001754199969582,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",285.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE286\"],[\"LINE287\",\"4c_1\",280,288,0.000913059979212,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",286.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE287\"],[\"LINE288\",\"2c_16\",281,289,0.003390100086108,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",287.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE288\"],[\"LINE289\",\"4c_35\",282,290,0.000810439989436,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",288.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE289\"],[\"LINE290\",\"2c_16\",283,291,0.00087618001271,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",289.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE290\"],[\"LINE291\",\"2c_16\",283,292,0.00010807000217,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",290.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE291\"],[\"LINE292\",\"2c_16\",284,293,0.000127389997942,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",291.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE292\"],[\"LINE293\",\"2c_16\",285,294,0.000473390013212,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",292.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE293\"],[\"LINE294\",\"2c_16\",286,295,0.000362079998013,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",293.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE294\"],[\"LINE295\",\"4c_06\",287,296,0.000807420001365,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",294.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE295\"],[\"LINE296\",\"4c_1\",288,297,0.00382660003379,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",295.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE296\"],[\"LINE297\",\"2c_16\",291,298,0.000402479985496,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",296.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE297\"],[\"LINE298\",\"2c_16\",292,299,0.000076484997408,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",297.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE298\"],[\"LINE299\",\"2c_16\",293,300,0.00013697000395,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",298.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE299\"],[\"LINE300\",\"2c_16\",294,301,0.000368050008547,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",299.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE300\"],[\"LINE301\",\"2c_16\",295,302,0.001626300043426,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",300.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE301\"],[\"LINE302\",\"4c_06\",296,303,0.005274599883705,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",301.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE302\"],[\"LINE303\",\"4c_1\",297,304,0.000844680005684,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",302.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE303\"],[\"LINE304\",\"2c_16\",298,305,0.000681189994793,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",303.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE304\"],[\"LINE305\",\"2c_16\",299,306,0.000089005996415,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",304.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE305\"],[\"LINE306\",\"2c_16\",300,307,0.000794349994976,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",305.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE306\"],[\"LINE307\",\"2c_16\",301,308,0.000458130001789,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",306.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE307\"],[\"LINE308\",\"2c_16\",302,309,0.000313080003252,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",307.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE308\"],[\"LINE309\",\"4c_06\",303,310,0.000393969996367,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",308.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE309\"],[\"LINE310\",\"4c_1\",304,311,0.000280670006759,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",309.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE310\"],[\"LINE311\",\"2c_16\",305,312,0.001307499944232,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",310.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE311\"],[\"LINE312\",\"2c_16\",306,313,0.000170240004081,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",311.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE312\"],[\"LINE313\",\"2c_16\",307,314,0.003359799971804,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",312.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE313\"],[\"LINE314\",\"2c_16\",308,315,0.000473839987535,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",313.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE314\"],[\"LINE315\",\"2c_16\",309,316,0.000231810001424,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",314.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE315\"],[\"LINE316\",\"2c_16\",310,317,0.0006490299711,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",315.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE316\"],[\"LINE317\",\"4c_06\",310,318,0.007216299884021,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",316.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE317\"],[\"LINE318\",\"4c_1\",311,319,0.00014648999786,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",317.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE318\"],[\"LINE319\",\"2c_16\",312,320,0.003849500091746,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",318.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE319\"],[\"LINE320\",\"2c_16\",313,321,0.000652900023852,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",319.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE320\"],[\"LINE321\",\"2c_16\",315,322,0.000558919971809,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",320.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE321\"],[\"LINE322\",\"2c_16\",316,323,0.000267019990133,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",321.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE322\"],[\"LINE323\",\"2c_16\",317,324,0.003342699958012,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",322.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE323\"],[\"LINE324\",\"4c_06\",318,325,0.003463099943474,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",323.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE324\"],[\"LINE325\",\"4c_1\",319,326,0.000125399994431,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",324.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE325\"],[\"LINE326\",\"2c_16\",321,327,0.002228100085631,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",325.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE326\"],[\"LINE327\",\"2c_16\",322,328,0.000318509992212,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",326.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE327\"],[\"LINE328\",\"2c_16\",323,329,0.00026487998548,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",327.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE328\"],[\"LINE329\",\"2c_16\",324,330,0.001167000038549,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",328.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE329\"],[\"LINE330\",\"2c_16\",325,331,0.009133200161159,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",329.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE330\"],[\"LINE331\",\"4c_06\",325,332,0.006672900170088,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",330.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE331\"],[\"LINE332\",\"4c_1\",326,333,0.000142620003317,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",331.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE332\"],[\"LINE333\",\"2c_16\",328,334,0.001438900013454,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",332.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE333\"],[\"LINE334\",\"2c_16\",329,335,0.002327000023797,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",333.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE334\"],[\"LINE335\",\"2c_16\",330,336,0.002539899898693,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",334.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE335\"],[\"LINE336\",\"2c_16\",331,337,0.003617200069129,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",335.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE336\"],[\"LINE337\",\"2c_16\",332,338,0.006806700024754,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",336.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE337\"],[\"LINE338\",\"4c_06\",332,339,0.001212900038809,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",337.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE338\"],[\"LINE339\",\"4c_1\",333,340,0.000112360001367,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",338.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE339\"],[\"LINE340\",\"2c_16\",334,341,0.000559990003239,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",339.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE340\"],[\"LINE341\",\"2c_16\",335,342,0.004756699781865,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",340.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE341\"],[\"LINE342\",\"2c_16\",336,343,0.002082000020891,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",341.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE342\"],[\"LINE343\",\"2c_16\",336,344,0.000979600008577,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",342.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE343\"],[\"LINE344\",\"2c_16\",338,345,0.003422100096941,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",343.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE344\"],[\"LINE345\",\"4c_06\",339,346,0.001039099995978,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",344.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE345\"],[\"LINE346\",\"4c_1\",340,347,0.000094201997854,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",345.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE346\"],[\"LINE347\",\"2c_16\",341,348,0.000194539999939,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",346.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE347\"],[\"LINE348\",\"2c_16\",343,349,0.003115300089121,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",347.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE348\"],[\"LINE349\",\"2c_16\",344,350,0.000136400005431,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",348.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE349\"],[\"LINE350\",\"2c_16\",345,351,0.000318459991831,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",349.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE350\"],[\"LINE351\",\"4c_06\",346,352,0.000730909989215,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",350.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE351\"],[\"LINE352\",\"4c_1\",347,353,0.000084999999672,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",351.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE352\"],[\"LINE353\",\"2c_16\",348,354,0.000146560007124,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",352.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE353\"],[\"LINE354\",\"2c_16\",350,355,0.000148139995872,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",353.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE354\"],[\"LINE355\",\"2c_16\",351,356,0.000131520006107,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",354.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE355\"],[\"LINE356\",\"4c_06\",352,357,0.000923520012293,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",355.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE356\"],[\"LINE357\",\"4c_1\",353,358,0.000070349000453,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",356.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE357\"],[\"LINE358\",\"2c_16\",354,359,0.00010723000014,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",357.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE358\"],[\"LINE359\",\"2c_16\",355,360,0.000129759995616,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",358.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE359\"],[\"LINE360\",\"2c_16\",356,361,0.000092800997663,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",359.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE360\"],[\"LINE361\",\"4c_06\",357,362,0.00057867000578,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",360.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE361\"],[\"LINE362\",\"4c_1\",358,363,0.000081609003246,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",361.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE362\"],[\"LINE363\",\"2c_16\",359,364,0.000054452000768,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",362.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE363\"],[\"LINE364\",\"2c_16\",360,365,0.000137869996252,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",363.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE364\"],[\"LINE365\",\"2c_16\",361,366,0.000094921000709,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",364.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE365\"],[\"LINE366\",\"4c_06\",362,367,0.000888610025868,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",365.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE366\"],[\"LINE367\",\"4c_1\",363,368,0.000089693996415,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",366.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE367\"],[\"LINE368\",\"2c_16\",364,369,0.000080056001025,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",367.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE368\"],[\"LINE369\",\"2c_16\",365,370,0.000196769993636,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",368.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE369\"],[\"LINE370\",\"2c_16\",366,371,0.000112000001536,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",369.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE370\"],[\"LINE371\",\"4c_06\",367,372,0.000885839981493,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",370.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE371\"],[\"LINE372\",\"4c_1\",368,373,0.000488979974762,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",371.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE372\"],[\"LINE373\",\"2c_16\",369,374,0.000134200003231,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",372.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE373\"],[\"LINE374\",\"2c_16\",370,375,0.000239209999563,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",373.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE374\"],[\"LINE375\",\"2c_16\",371,376,0.000141280004755,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",374.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE375\"],[\"LINE376\",\"4c_06\",372,377,0.00099394004792,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",375.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE376\"],[\"LINE377\",\"4c_1\",373,378,0.003684799885377,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",376.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE377\"],[\"LINE378\",\"2c_16\",373,379,0.001411500037648,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",377.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE378\"],[\"LINE379\",\"2c_16\",374,380,0.000598590006121,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",378.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE379\"],[\"LINE380\",\"2c_16\",375,381,0.001482699997723,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",379.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE380\"],[\"LINE381\",\"2c_16\",376,382,0.000126529994304,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",380.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE381\"],[\"LINE382\",\"4c_06\",377,383,0.000719250005204,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",381.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE382\"],[\"LINE383\",\"4c_1\",378,384,0.003529200097546,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",382.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE383\"],[\"LINE384\",\"2c_16\",379,385,0.00866680033505,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",383.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE384\"],[\"LINE385\",\"2c_16\",379,386,0.001456100028008,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",384.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE385\"],[\"LINE386\",\"2c_16\",380,387,0.002200399991125,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",385.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE386\"],[\"LINE387\",\"2c_16\",381,388,0.005073400214314,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",386.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE387\"],[\"LINE388\",\"2c_16\",382,389,0.000100119999843,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",387.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE388\"],[\"LINE389\",\"4c_06\",383,390,0.000857279985212,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",388.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE389\"],[\"LINE390\",\"4c_1\",384,391,0.000157110000146,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",389.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE390\"],[\"LINE391\",\"2c_16\",385,392,0.003167500020936,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",390.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE391\"],[\"LINE392\",\"2c_16\",386,393,0.007833500392735,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",391.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE392\"],[\"LINE393\",\"2c_16\",389,394,0.000171830004547,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",392.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE393\"],[\"LINE394\",\"4c_06\",390,395,0.001243900042027,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",393.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE394\"],[\"LINE395\",\"2c_16\",391,396,0.004060099832714,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",394.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE395\"],[\"LINE396\",\"4c_1\",391,397,0.002879299921915,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",395.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE396\"],[\"LINE397\",\"2c_16\",392,398,0.000322409992805,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",396.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE397\"],[\"LINE398\",\"2c_16\",393,399,0.000568800023757,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",397.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE398\"],[\"LINE399\",\"2c_16\",394,400,0.000599840015639,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",398.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE399\"],[\"LINE400\",\"4c_06\",395,401,0.000922199978959,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",399.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE400\"],[\"LINE401\",\"2c_16\",396,402,0.000372009992134,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",400.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE401\"],[\"LINE402\",\"4c_1\",397,403,0.001389099983498,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",401.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE402\"],[\"LINE403\",\"2c_16\",398,404,0.000224999996135,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",402.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE403\"],[\"LINE404\",\"2c_16\",399,405,0.000248069991358,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",403.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE404\"],[\"LINE405\",\"2c_16\",400,406,0.003667199984193,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",404.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE405\"],[\"LINE406\",\"4c_06\",401,407,0.000889609975275,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",405.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE406\"],[\"LINE407\",\"2c_16\",402,408,0.000211480000871,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",406.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE407\"],[\"LINE408\",\"4c_1\",403,409,0.004190700128675,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",407.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE408\"],[\"LINE409\",\"4c_1\",403,410,0.000379100005375,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",408.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE409\"],[\"LINE410\",\"2c_16\",404,411,0.000233080005273,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",409.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE410\"],[\"LINE411\",\"2c_16\",405,412,0.00016706000315,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",410.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE411\"],[\"LINE412\",\"4c_06\",407,413,0.000870660005603,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",411.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE412\"],[\"LINE413\",\"2c_16\",408,414,0.000143600002048,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",412.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE413\"],[\"LINE414\",\"4c_1\",409,415,0.00596860004589,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",413.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE414\"],[\"LINE415\",\"4c_1\",410,416,0.000094921000709,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",414.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE415\"],[\"LINE416\",\"2c_16\",411,417,0.000978800002486,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",415.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE416\"],[\"LINE417\",\"2c_16\",412,418,0.000279539992334,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",416.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE417\"],[\"LINE418\",\"4c_06\",413,419,0.001047100056894,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",417.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE418\"],[\"LINE419\",\"2c_16\",414,420,0.000234029997955,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",418.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE419\"],[\"LINE420\",\"4c_1\",415,421,0.001248999964446,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",419.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE420\"],[\"LINE421\",\"4c_1\",416,422,0.00006657299673,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",420.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE421\"],[\"LINE422\",\"2c_16\",417,423,0.000239000000875,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",421.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE422\"],[\"LINE423\",\"2c_16\",418,424,0.003194400109351,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",422.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE423\"],[\"LINE424\",\"4c_06\",419,425,0.001753699965775,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",423.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE424\"],[\"LINE425\",\"4c_06\",419,426,0.001753699965775,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",424.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE425\"],[\"LINE426\",\"2c_16\",420,427,0.000777930021286,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",425.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE426\"],[\"LINE427\",\"4c_1\",421,428,0.000319229991874,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",426.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE427\"],[\"LINE428\",\"4c_1\",422,429,0.000082872997154,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",427.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE428\"],[\"LINE429\",\"2c_16\",423,430,0.000227979995543,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",428.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE429\"],[\"LINE430\",\"2c_16\",424,431,0.001133100013249,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",429.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE430\"],[\"LINE431\",\"4c_06\",425,432,0.005915100220591,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",430.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE431\"],[\"LINE432\",\"4c_06\",425,433,0.005915100220591,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",431.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE432\"],[\"LINE433\",\"2c_16\",427,434,0.000866079994012,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",432.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE433\"],[\"LINE434\",\"4c_1\",428,435,0.00016723999579,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",433.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE434\"],[\"LINE435\",\"4c_1\",429,436,0.000071344002208,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",434.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE435\"],[\"LINE436\",\"2c_16\",430,437,0.000226739997743,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",435.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE436\"],[\"LINE437\",\"2c_16\",431,438,0.000384000013582,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",436.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE437\"],[\"LINE438\",\"4c_06\",432,439,0.008366299793124,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",437.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE438\"],[\"LINE439\",\"4c_06\",432,440,0.008366299793124,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",438.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE439\"],[\"LINE440\",\"2c_16\",434,441,0.000487079989398,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",439.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE440\"],[\"LINE441\",\"4c_1\",435,442,0.000138639996294,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",440.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE441\"],[\"LINE442\",\"4c_1\",436,443,0.000077999997302,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",441.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE442\"],[\"LINE443\",\"2c_16\",437,444,0.000260100001469,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",442.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE443\"],[\"LINE444\",\"2c_16\",438,445,0.000678580021486,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",443.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE444\"],[\"LINE445\",\"4c_06\",439,446,0.006003300193697,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",444.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE445\"],[\"LINE446\",\"4c_06\",439,447,0.006003300193697,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",445.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE446\"],[\"LINE447\",\"2c_16\",441,448,0.000457560003269,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",446.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE447\"],[\"LINE448\",\"4c_1\",442,449,0.000112360001367,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",447.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE448\"],[\"LINE449\",\"4c_1\",443,450,0.000079245997767,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",448.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE449\"],[\"LINE450\",\"2c_16\",444,451,0.000898240017705,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",449.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE450\"],[\"LINE451\",\"2c_16\",445,452,0.000593659991864,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",450.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE451\"],[\"LINE452\",\"4c_06\",446,453,0.001821400015615,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",451.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE452\"],[\"LINE453\",\"4c_06\",446,454,0.001821400015615,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",452.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE453\"],[\"LINE454\",\"2c_16\",448,455,0.00043655000627,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",453.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE454\"],[\"LINE455\",\"4c_1\",449,456,0.000171749998117,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",454.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE455\"],[\"LINE456\",\"4c_1\",450,457,0.000054231000831,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",455.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE456\"],[\"LINE457\",\"2c_16\",451,458,0.004377299919724,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",456.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE457\"],[\"LINE458\",\"2c_16\",452,459,0.000670639972668,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",457.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE458\"],[\"LINE459\",\"4c_06\",453,460,0.005390500184149,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",458.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE459\"],[\"LINE460\",\"4c_06\",453,461,0.005390500184149,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",459.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE460\"],[\"LINE461\",\"2c_16\",453,462,0.003685900010169,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",460.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE461\"],[\"LINE462\",\"2c_16\",455,463,0.000716749986168,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",461.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE462\"],[\"LINE463\",\"4c_1\",456,464,0.000154830006068,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",462.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE463\"],[\"LINE464\",\"4c_1\",457,465,0.000040310998884,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",463.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE464\"],[\"LINE465\",\"2c_16\",459,466,0.000634210009594,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",464.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE465\"],[\"LINE466\",\"4c_06\",460,467,0.005989099852741,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",465.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE466\"],[\"LINE467\",\"4c_06\",460,468,0.005989099852741,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",466.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE467\"],[\"LINE468\",\"4c_06\",460,469,0.000882919994183,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",467.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE468\"],[\"LINE469\",\"2c_16\",462,470,0.00053828000091,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",468.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE469\"],[\"LINE470\",\"2c_16\",463,471,0.000499229994603,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",469.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE470\"],[\"LINE471\",\"4c_1\",464,472,0.000147359998664,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",470.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE471\"],[\"LINE472\",\"4c_1\",465,473,0.000049497000873,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",471.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE472\"],[\"LINE473\",\"2c_16\",466,474,0.003200999926776,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",472.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE473\"],[\"LINE474\",\"4c_06\",467,475,0.002194700064138,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",473.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE474\"],[\"LINE475\",\"4c_06\",467,476,0.002194700064138,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",474.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE475\"],[\"LINE476\",\"2c_16\",470,477,0.000293510005577,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",475.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE476\"],[\"LINE477\",\"2c_16\",471,478,0.000350769987563,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",476.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE477\"],[\"LINE478\",\"4c_1\",472,479,0.000166009995155,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",477.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE478\"],[\"LINE479\",\"4c_1\",473,480,0.000063952997152,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",478.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE479\"],[\"LINE480\",\"2c_16\",474,481,0.000189839993254,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",479.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE480\"],[\"LINE481\",\"4c_06\",475,482,0.004643199965358,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",480.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE481\"],[\"LINE482\",\"4c_06\",475,483,0.004643199965358,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",481.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE482\"],[\"LINE483\",\"2c_16\",475,484,0.010276899673045,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",482.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE483\"],[\"LINE484\",\"2c_16\",477,485,0.000198830006411,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",483.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE484\"],[\"LINE485\",\"2c_16\",478,486,0.000167599995621,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",484.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE485\"],[\"LINE486\",\"4c_1\",479,487,0.000175359993591,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",485.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE486\"],[\"LINE487\",\"4c_1\",480,488,0.000111629997264,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",486.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE487\"],[\"LINE488\",\"2c_16\",481,489,0.00017129999469,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",487.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE488\"],[\"LINE489\",\"4c_06\",482,490,0.00665479991585,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",488.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE489\"],[\"LINE490\",\"4c_06\",482,491,0.00665479991585,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",489.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE490\"],[\"LINE491\",\"2c_16\",484,492,0.000577959988732,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",490.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE491\"],[\"LINE492\",\"2c_16\",484,493,0.00407260004431,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",491.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE492\"],[\"LINE493\",\"2c_16\",485,494,0.000302010012092,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",492.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE493\"],[\"LINE494\",\"2c_16\",486,495,0.000106170002255,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",493.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE494\"],[\"LINE495\",\"4c_1\",487,496,0.000383420003345,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",494.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE495\"],[\"LINE496\",\"4c_1\",488,497,0.000139719995786,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",495.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE496\"],[\"LINE497\",\"2c_16\",489,498,0.00023283000337,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",496.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE497\"],[\"LINE498\",\"4c_06\",490,499,0.004061200190336,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",497.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE498\"],[\"LINE499\",\"4c_06\",490,500,0.004061200190336,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",498.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE499\"],[\"LINE500\",\"2c_16\",492,501,0.000244289985858,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",499.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE500\"],[\"LINE501\",\"2c_16\",493,502,0.002606000052765,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",500.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE501\"],[\"LINE502\",\"2c_16\",494,503,0.000458330003312,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",501.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE502\"],[\"LINE503\",\"2c_16\",495,504,0.000071784001193,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",502.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE503\"],[\"LINE504\",\"4c_1\",496,505,0.008696099743247,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",503.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE504\"],[\"LINE505\",\"4c_1\",497,506,0.000096167001175,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",504.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE505\"],[\"LINE506\",\"2c_16\",498,507,0.000305639987346,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",505.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE506\"],[\"LINE507\",\"4c_06\",499,508,0.000699380005244,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",506.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE507\"],[\"LINE508\",\"4c_06\",499,509,0.000699380005244,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",507.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE508\"],[\"LINE509\",\"2c_16\",501,510,0.000143540004501,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",508.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE509\"],[\"LINE510\",\"2c_16\",503,511,0.000325169996358,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",509.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE510\"],[\"LINE511\",\"2c_16\",504,512,0.000100129997008,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",510.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE511\"],[\"LINE512\",\"2c_16\",505,513,0.005564799997956,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",511.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE512\"],[\"LINE513\",\"4c_1\",505,514,0.001336900051683,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",512.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE513\"],[\"LINE514\",\"4c_1\",506,515,0.000085491999926,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",513.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE514\"],[\"LINE515\",\"4c_06\",508,516,0.001885700039566,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",514.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE515\"],[\"LINE516\",\"4c_06\",508,517,0.001885700039566,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",515.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE516\"],[\"LINE517\",\"2c_16\",508,518,0.004731600172818,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",516.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE517\"],[\"LINE518\",\"2c_16\",510,519,0.000132100001792,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",517.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE518\"],[\"LINE519\",\"2c_16\",511,520,0.000222160000703,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",518.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE519\"],[\"LINE520\",\"2c_16\",512,521,0.000076420001278,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",519.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE520\"],[\"LINE521\",\"2c_16\",513,522,0.004907399881631,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",520.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE521\"],[\"LINE522\",\"4c_1\",514,523,0.00072121998528,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",521.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE522\"],[\"LINE523\",\"4c_1\",515,524,0.00006657299673,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",522.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE523\"],[\"LINE524\",\"4c_06\",516,525,0.001388099975884,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",523.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE524\"],[\"LINE525\",\"4c_06\",516,526,0.001388099975884,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",524.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE525\"],[\"LINE526\",\"2c_16\",518,527,0.002796000102535,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",525.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE526\"],[\"LINE527\",\"2c_16\",519,528,0.000117689996841,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",526.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE527\"],[\"LINE528\",\"2c_16\",520,529,0.000175549997948,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",527.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE528\"],[\"LINE529\",\"2c_16\",521,530,0.00054535001982,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",528.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE529\"],[\"LINE530\",\"4c_1\",523,531,0.000107710002339,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",529.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE530\"],[\"LINE531\",\"4c_1\",524,532,0.000060802998632,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",530.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE531\"],[\"LINE532\",\"4c_06\",525,533,0.001889899955131,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",531.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE532\"],[\"LINE533\",\"4c_06\",525,534,0.001889899955131,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",532.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE533\"],[\"LINE534\",\"2c_16\",527,535,0.002215400105342,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",533.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE534\"],[\"LINE535\",\"2c_16\",528,536,0.000122090001241,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",534.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE535\"],[\"LINE536\",\"2c_16\",529,537,0.000562859990168,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",535.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE536\"],[\"LINE537\",\"2c_16\",530,538,0.001922699972056,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",536.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE537\"],[\"LINE538\",\"2c_16\",530,539,0.005583699792624,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",537.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE538\"],[\"LINE539\",\"4c_1\",531,540,0.000082218997704,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",538.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE539\"],[\"LINE540\",\"4c_1\",532,541,0.000065512998844,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",539.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE540\"],[\"LINE541\",\"4c_06\",533,542,0.00133740005549,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",540.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE541\"],[\"LINE542\",\"4c_06\",533,543,0.00133740005549,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",541.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE542\"],[\"LINE543\",\"2c_16\",535,544,0.000915420008823,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",542.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE543\"],[\"LINE544\",\"2c_16\",536,545,0.000368570006685,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",543.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE544\"],[\"LINE545\",\"2c_16\",537,546,0.004552700091153,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",544.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE545\"],[\"LINE546\",\"2c_16\",538,547,0.002123099984601,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",545.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE546\"],[\"LINE547\",\"4c_1\",540,548,0.000076896001701,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",546.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE547\"],[\"LINE548\",\"4c_1\",541,549,0.00008614500257,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",547.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE548\"],[\"LINE549\",\"4c_06\",542,550,0.003740099957213,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",548.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE549\"],[\"LINE550\",\"4c_06\",542,551,0.003740099957213,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",549.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE550\"],[\"LINE551\",\"2c_16\",544,552,0.00028803999885,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",550.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE551\"],[\"LINE552\",\"2c_16\",544,553,0.003788999980316,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",551.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE552\"],[\"LINE553\",\"2c_16\",545,554,0.000371430011,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",552.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE553\"],[\"LINE554\",\"2c_16\",546,555,0.000226720003411,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",553.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE554\"],[\"LINE555\",\"2c_16\",547,556,0.005754800047725,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",554.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE555\"],[\"LINE556\",\"4c_1\",548,557,0.000081999998656,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",555.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE556\"],[\"LINE557\",\"4c_1\",549,558,0.000061612001446,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",556.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE557\"],[\"LINE558\",\"4c_06\",550,559,0.002708199899644,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",557.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE558\"],[\"LINE559\",\"4c_06\",550,560,0.002708199899644,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",558.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE559\"],[\"LINE560\",\"2c_16\",552,561,0.000105990002339,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",559.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE560\"],[\"LINE561\",\"2c_16\",553,562,0.002866399940103,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",560.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE561\"],[\"LINE562\",\"2c_16\",554,563,0.003470499999821,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",561.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE562\"],[\"LINE563\",\"2c_16\",555,564,0.000178889997187,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",562.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE563\"],[\"LINE564\",\"4c_1\",557,565,0.000072559996624,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",563.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE564\"],[\"LINE565\",\"4c_1\",558,566,0.000120210002933,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",564.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE565\"],[\"LINE566\",\"4c_06\",559,567,0.000600680010393,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",565.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE566\"],[\"LINE567\",\"4c_06\",559,568,0.000600680010393,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",566.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE567\"],[\"LINE568\",\"2c_16\",559,569,0.003848199965432,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",567.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE568\"],[\"LINE569\",\"2c_16\",561,570,0.000157880000188,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",568.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE569\"],[\"LINE570\",\"2c_16\",564,571,0.000202240000363,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",569.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE570\"],[\"LINE571\",\"4c_1\",565,572,0.000074215997302,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",570.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE571\"],[\"LINE572\",\"4c_06\",567,573,0.000142229997437,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",571.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE572\"],[\"LINE573\",\"4c_06\",567,574,0.000142229997437,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",572.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE573\"],[\"LINE574\",\"2c_16\",569,575,0.000486480013933,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",573.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE574\"],[\"LINE575\",\"2c_16\",570,576,0.000095000003057,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",574.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE575\"],[\"LINE576\",\"2c_16\",571,577,0.000180000002729,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",575.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE576\"],[\"LINE577\",\"4c_1\",572,578,0.000383050006349,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",576.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE577\"],[\"LINE578\",\"4c_06\",573,579,0.003855800023302,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",577.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE578\"],[\"LINE579\",\"4c_06\",573,580,0.003855800023302,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",578.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE579\"],[\"LINE580\",\"4c_06\",573,581,0.000319790007779,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",579.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE580\"],[\"LINE581\",\"2c_16\",575,582,0.000358989986125,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",580.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE581\"],[\"LINE582\",\"2c_16\",576,583,0.000114629998279,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",581.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE582\"],[\"LINE583\",\"2c_16\",577,584,0.000207179997233,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",582.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE583\"],[\"LINE584\",\"2c_16\",578,585,0.00473179994151,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",583.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE584\"],[\"LINE585\",\"4c_1\",578,586,0.000826229981612,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",584.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE585\"],[\"LINE586\",\"4c_06\",579,587,0.002702200086787,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",585.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE586\"],[\"LINE587\",\"4c_06\",579,588,0.002702200086787,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",586.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE587\"],[\"LINE588\",\"4c_06\",581,589,0.000116280003567,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",587.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE588\"],[\"LINE589\",\"2c_16\",582,590,0.000349300011294,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",588.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE589\"],[\"LINE590\",\"2c_16\",583,591,0.000100650002423,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",589.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE590\"],[\"LINE591\",\"2c_16\",584,592,0.000212429993553,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",590.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE591\"],[\"LINE592\",\"2c_16\",585,593,0.000272679986665,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",591.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE592\"],[\"LINE593\",\"4c_1\",586,594,0.003948300145566,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",592.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE593\"],[\"LINE594\",\"4c_06\",587,595,0.005414200015366,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",593.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE594\"],[\"LINE595\",\"4c_06\",587,596,0.000642379978672,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",594.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE595\"],[\"LINE596\",\"4c_06\",589,597,0.00008927500312,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",595.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE596\"],[\"LINE597\",\"2c_16\",590,598,0.003281200071797,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",596.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE597\"],[\"LINE598\",\"2c_16\",591,599,0.000658619974274,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",597.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE598\"],[\"LINE599\",\"2c_16\",592,600,0.00025534001179,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",598.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE599\"],[\"LINE600\",\"2c_16\",593,601,0.000136949995067,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",599.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE600\"],[\"LINE601\",\"2c_16\",594,602,0.009166900068522,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",600.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE601\"],[\"LINE602\",\"4c_1\",594,603,0.004642399959266,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",601.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE602\"],[\"LINE603\",\"4c_06\",595,604,0.004828299861401,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",602.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE603\"],[\"LINE604\",\"4c_06\",595,605,0.004828299861401,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",603.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE604\"],[\"LINE605\",\"4c_06\",595,606,0.004771899897605,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",604.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE605\"],[\"LINE606\",\"2c_16\",596,607,0.011664199642837,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",605.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE606\"],[\"LINE607\",\"2c_16\",596,608,0.011664199642837,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",606.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE607\"],[\"LINE608\",\"4c_06\",597,609,0.000110369997856,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",607.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE608\"],[\"LINE609\",\"2c_16\",598,610,0.001527099986561,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",608.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE609\"],[\"LINE610\",\"2c_16\",599,611,0.00485619995743,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",609.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE610\"],[\"LINE611\",\"2c_16\",600,612,0.000160080002388,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",610.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE611\"],[\"LINE612\",\"2c_16\",601,613,0.000114839996968,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",611.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE612\"],[\"LINE613\",\"2c_16\",602,614,0.004837399814278,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",612.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE613\"],[\"LINE614\",\"4c_1\",603,615,0.004446600098163,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",613.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE614\"],[\"LINE615\",\"2c_0225\",604,616,0.003930099774152,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",614.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE615\"],[\"LINE616\",\"4c_06\",604,617,0.003108799923211,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",615.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE616\"],[\"LINE617\",\"4c_06\",604,618,0.003108799923211,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",616.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE617\"],[\"LINE618\",\"2c_16\",607,619,0.002745399950072,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",617.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE618\"],[\"LINE619\",\"4c_06\",609,620,0.000063640000008,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",618.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE619\"],[\"LINE620\",\"2c_16\",610,621,0.00071673002094,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",619.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE620\"],[\"LINE621\",\"2c_16\",612,622,0.000687970023137,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",620.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE621\"],[\"LINE622\",\"2c_16\",613,623,0.000093647999165,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",621.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE622\"],[\"LINE623\",\"2c_16\",615,624,0.001632199971937,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",622.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE623\"],[\"LINE624\",\"4c_1\",615,625,0.001251099980436,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",623.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE624\"],[\"LINE625\",\"2c_0225\",616,626,0.005353699903935,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",624.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE625\"],[\"LINE626\",\"4c_06\",620,627,0.000077896998846,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",625.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE626\"],[\"LINE627\",\"2c_16\",621,628,0.000478069996461,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",626.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE627\"],[\"LINE628\",\"2c_16\",622,629,0.002900399966165,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",627.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE628\"],[\"LINE629\",\"2c_16\",623,630,0.000146999998833,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",628.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE629\"],[\"LINE630\",\"2c_16\",624,631,0.00040021998575,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",629.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE630\"],[\"LINE631\",\"4c_1\",625,632,0.000287839997327,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",630.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE631\"],[\"LINE632\",\"2c_0225\",626,633,0.001570299966261,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",631.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE632\"],[\"LINE633\",\"4c_06\",627,634,0.000065298998379,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",632.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE633\"],[\"LINE634\",\"2c_16\",628,635,0.00073088001227,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",633.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE634\"],[\"LINE635\",\"2c_16\",630,636,0.000350529997377,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",634.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE635\"],[\"LINE636\",\"2c_16\",631,637,0.000274819991319,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",635.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE636\"],[\"LINE637\",\"4c_1\",632,638,0.000142839999171,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",636.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE637\"],[\"LINE638\",\"2c_0225\",633,639,0.005197400227189,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",637.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE638\"],[\"LINE639\",\"4c_06\",634,640,0.000069123001595,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",638.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE639\"],[\"LINE640\",\"2c_16\",635,641,0.001427400042303,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",639.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE640\"],[\"LINE641\",\"2c_16\",636,642,0.000242509995587,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",640.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE641\"],[\"LINE642\",\"2c_16\",637,643,0.000380960002076,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",641.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE642\"],[\"LINE643\",\"4c_1\",638,644,0.000156969996169,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",642.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE643\"],[\"LINE644\",\"4c_06\",640,645,0.000068592999014,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",643.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE644\"],[\"LINE645\",\"2c_16\",641,646,0.000394570000935,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",644.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE645\"],[\"LINE646\",\"2c_16\",642,647,0.000308349990519,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",645.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE646\"],[\"LINE647\",\"2c_16\",643,648,0.000903369975276,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",646.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE647\"],[\"LINE648\",\"4c_1\",644,649,0.000181120005436,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",647.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE648\"],[\"LINE649\",\"4c_06\",645,650,0.000093984002888,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",648.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE649\"],[\"LINE650\",\"2c_16\",646,651,0.000114549999125,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",649.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE650\"],[\"LINE651\",\"2c_16\",647,652,0.000187319994438,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",650.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE651\"],[\"LINE652\",\"2c_16\",648,653,0.000686710001901,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",651.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE652\"],[\"LINE653\",\"4c_1\",649,654,0.00018309999723,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",652.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE653\"],[\"LINE654\",\"4c_06\",650,655,0.000123940000776,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",653.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE654\"],[\"LINE655\",\"2c_16\",651,656,0.000099368000519,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",654.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE655\"],[\"LINE656\",\"2c_16\",651,657,0.000527810014319,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",655.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE656\"],[\"LINE657\",\"2c_16\",652,658,0.000169110004208,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",656.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE657\"],[\"LINE658\",\"2c_16\",653,659,0.000482059986098,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",657.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE658\"],[\"LINE659\",\"4c_1\",654,660,0.000202990006073,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",658.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE659\"],[\"LINE660\",\"4c_06\",655,661,0.000364659994375,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",659.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE660\"],[\"LINE661\",\"2c_16\",656,662,0.00009300000238,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",660.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE661\"],[\"LINE662\",\"2c_16\",657,663,0.000696479983162,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",661.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE662\"],[\"LINE663\",\"2c_16\",658,664,0.000285210000584,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",662.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE663\"],[\"LINE664\",\"2c_16\",659,665,0.000505000003614,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",663.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE664\"],[\"LINE665\",\"4c_1\",660,666,0.000295189995086,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",664.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE665\"],[\"LINE666\",\"4c_06\",661,667,0.000260189990513,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",665.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE666\"],[\"LINE667\",\"2c_16\",662,668,0.000095802002761,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",666.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE667\"],[\"LINE668\",\"2c_16\",663,669,0.002893500030041,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",667.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE668\"],[\"LINE669\",\"2c_16\",664,670,0.000280400010524,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",668.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE669\"],[\"LINE670\",\"2c_16\",665,671,0.000414609996369,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",669.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE670\"],[\"LINE671\",\"2c_16\",666,672,0.000480099988636,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",670.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE671\"],[\"LINE672\",\"4c_1\",666,673,0.000811610021628,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",671.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE672\"],[\"LINE673\",\"4c_06\",667,674,0.000201839997317,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",672.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE673\"],[\"LINE674\",\"2c_16\",668,675,0.000692670000717,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",673.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE674\"],[\"LINE675\",\"2c_16\",669,676,0.001228800043464,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",674.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE675\"],[\"LINE676\",\"2c_16\",670,677,0.000132670000312,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",675.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE676\"],[\"LINE677\",\"2c_16\",671,678,0.000686480023433,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",676.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE677\"],[\"LINE678\",\"2c_16\",672,679,0.000288300012471,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",677.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE678\"],[\"LINE679\",\"4c_1\",673,680,0.005139300134033,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",678.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE679\"],[\"LINE680\",\"4c_06\",674,681,0.000402520003263,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",679.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE680\"],[\"LINE681\",\"2c_16\",675,682,0.005044099874794,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",680.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE681\"],[\"LINE682\",\"2c_16\",677,683,0.000145719997818,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",681.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE682\"],[\"LINE683\",\"2c_16\",678,684,0.002218500012532,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",682.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE683\"],[\"LINE684\",\"2c_16\",679,685,0.00026743998751,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",683.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE684\"],[\"LINE685\",\"4c_1\",680,686,0.003678699955344,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",684.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE685\"],[\"LINE686\",\"2c_16\",683,687,0.000139859999763,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",685.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE686\"],[\"LINE687\",\"2c_16\",684,688,0.005183800123632,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",686.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE687\"],[\"LINE688\",\"2c_16\",685,689,0.000260950007942,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",687.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE688\"],[\"LINE689\",\"2c_16\",686,690,0.008144499734044,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",688.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE689\"],[\"LINE690\",\"4c_1\",686,691,0.010525399819016,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",689.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE690\"],[\"LINE691\",\"2c_16\",687,692,0.000168669997947,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",690.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE691\"],[\"LINE692\",\"2c_16\",689,693,0.000195729997358,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",691.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE692\"],[\"LINE693\",\"2c_16\",690,694,0.000761570001487,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",692.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE693\"],[\"LINE694\",\"2c_16\",690,695,0.002126100007445,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",693.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE694\"],[\"LINE695\",\"2c_16\",691,696,0.009481700137258,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",694.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE695\"],[\"LINE696\",\"4c_1\",691,697,0.00219070003368,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",695.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE696\"],[\"LINE697\",\"2c_16\",692,698,0.000269050011411,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",696.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE697\"],[\"LINE698\",\"2c_16\",693,699,0.000310929986881,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",697.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE698\"],[\"LINE699\",\"2c_16\",694,700,0.000238299995544,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",698.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE699\"],[\"LINE700\",\"2c_16\",695,701,0.004331199917942,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",699.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE700\"],[\"LINE701\",\"2c_16\",696,702,0.005493000149727,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",700.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE701\"],[\"LINE702\",\"4c_06\",697,703,0.002400000113994,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",701.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE702\"],[\"LINE703\",\"2c_16\",698,704,0.000736359972507,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",702.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE703\"],[\"LINE704\",\"2c_16\",699,705,0.00052424002206,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",703.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE704\"],[\"LINE705\",\"2c_16\",700,706,0.000153219996719,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",704.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE705\"],[\"LINE706\",\"4c_06\",703,707,0.006330799777061,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",705.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE706\"],[\"LINE707\",\"4c_06\",703,708,0.000111319997814,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",706.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE707\"],[\"LINE708\",\"2c_16\",704,709,0.000979959964752,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",707.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE708\"],[\"LINE709\",\"2c_16\",705,710,0.003928100224584,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",708.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE709\"],[\"LINE710\",\"2c_16\",706,711,0.00009241799853,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",709.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE710\"],[\"LINE711\",\"4c_06\",707,712,0.007502499967813,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",710.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE711\"],[\"LINE712\",\"2c_16\",707,713,0.00394479976967,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",711.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE712\"],[\"LINE713\",\"4c_06\",708,714,0.000104740000097,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",712.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE713\"],[\"LINE714\",\"2c_16\",709,715,0.000093337999715,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",713.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE714\"],[\"LINE715\",\"2c_16\",710,716,0.003222499974072,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",714.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE715\"],[\"LINE716\",\"2c_16\",711,717,0.000093408001703,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",715.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE716\"],[\"LINE717\",\"4c_06\",712,718,0.007743400055915,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",716.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE717\"],[\"LINE718\",\"2c_16\",713,719,0.000422300014179,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",717.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE718\"],[\"LINE719\",\"4c_06\",714,720,0.000096999996458,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",718.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE719\"],[\"LINE720\",\"2c_16\",715,721,0.000073816998338,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",719.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE720\"],[\"LINE721\",\"2c_16\",716,722,0.001020999974571,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",720.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE721\"],[\"LINE722\",\"2c_16\",717,723,0.000083432998508,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",721.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE722\"],[\"LINE723\",\"4c_06\",718,724,0.003253499977291,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",722.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE723\"],[\"LINE724\",\"2c_16\",718,725,0.009347500279546,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",723.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE724\"],[\"LINE725\",\"2c_16\",719,726,0.000161239993758,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",724.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE725\"],[\"LINE726\",\"4c_06\",720,727,0.000109770000563,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",725.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE726\"],[\"LINE727\",\"2c_16\",721,728,0.000071693997597,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",726.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE727\"],[\"LINE728\",\"2c_16\",722,729,0.000929490022827,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",727.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE728\"],[\"LINE729\",\"2c_16\",723,730,0.000094000002719,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",728.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE729\"],[\"LINE730\",\"4c_06\",724,731,0.004420999903232,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",729.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE730\"],[\"LINE731\",\"2c_16\",725,732,0.001253900001757,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",730.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE731\"],[\"LINE732\",\"2c_16\",726,733,0.000170560000697,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",731.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE732\"],[\"LINE733\",\"4c_06\",727,734,0.000089888999355,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",732.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE733\"],[\"LINE734\",\"2c_16\",728,735,0.000076791999163,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",733.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE734\"],[\"LINE735\",\"2c_16\",729,736,0.000506250013132,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",734.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE735\"],[\"LINE736\",\"2c_16\",730,737,0.000075313000707,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",735.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE736\"],[\"LINE737\",\"4c_06\",731,738,0.005176099948585,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",736.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE737\"],[\"LINE738\",\"2c_16\",732,739,0.000658769975416,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",737.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE738\"],[\"LINE739\",\"2c_16\",733,740,0.00014155000099,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",738.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE739\"],[\"LINE740\",\"4c_06\",734,741,0.000137609997182,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",739.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE740\"],[\"LINE741\",\"2c_16\",735,742,0.000071000002208,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",740.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE741\"],[\"LINE742\",\"2c_16\",736,743,0.000404319987865,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",741.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE742\"],[\"LINE743\",\"2c_16\",737,744,0.000090337998699,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",742.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE743\"],[\"LINE744\",\"4c_06\",738,745,0.00415620021522,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",743.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE744\"],[\"LINE745\",\"2c_16\",739,746,0.003738699946553,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",744.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE745\"],[\"LINE746\",\"2c_16\",739,747,0.000122019999253,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",745.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE746\"],[\"LINE747\",\"2c_16\",740,748,0.00016763000167,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",746.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE747\"],[\"LINE748\",\"4c_06\",741,749,0.000164269993547,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",747.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE748\"],[\"LINE749\",\"2c_16\",742,750,0.000066909997258,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",748.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE749\"],[\"LINE750\",\"2c_16\",743,751,0.000344770000083,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",749.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE750\"],[\"LINE751\",\"2c_16\",744,752,0.000097349999123,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",750.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE751\"],[\"LINE752\",\"4c_06\",745,753,0.001543399994262,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",751.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE752\"],[\"LINE753\",\"2c_16\",745,754,0.0059226998128,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",752.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE753\"],[\"LINE754\",\"2c_16\",746,755,0.003039099974558,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",753.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE754\"],[\"LINE755\",\"2c_16\",747,756,0.000088237997261,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",754.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE755\"],[\"LINE756\",\"2c_16\",748,757,0.000163479999173,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",755.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE756\"],[\"LINE757\",\"4c_06\",749,758,0.000124540005345,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",756.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE757\"],[\"LINE758\",\"2c_16\",750,759,0.00009305900312,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",757.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE758\"],[\"LINE759\",\"2c_16\",751,760,0.000404590013204,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",758.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE759\"],[\"LINE760\",\"2c_16\",752,761,0.000177609996172,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",759.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE760\"],[\"LINE761\",\"4c_06\",753,762,0.002127900021151,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",760.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE761\"],[\"LINE762\",\"2c_16\",754,763,0.004950600210577,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",761.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE762\"],[\"LINE763\",\"2c_16\",756,764,0.000074465002399,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",762.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE763\"],[\"LINE764\",\"2c_16\",757,765,0.000224749994231,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",763.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE764\"],[\"LINE765\",\"4c_06\",758,766,0.000121669996588,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",764.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE765\"],[\"LINE766\",\"2c_16\",759,767,0.000114039998152,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",765.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE766\"],[\"LINE767\",\"2c_16\",760,768,0.000369690009393,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",766.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE767\"],[\"LINE768\",\"2c_16\",761,769,0.001328799990006,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",767.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE768\"],[\"LINE769\",\"4c_06\",762,770,0.005234700161964,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",768.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE769\"],[\"LINE770\",\"2c_16\",763,771,0.003600700059906,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",769.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE770\"],[\"LINE771\",\"2c_16\",763,772,0.000130379994516,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",770.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE771\"],[\"LINE772\",\"2c_16\",764,773,0.000125780003145,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",771.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE772\"],[\"LINE773\",\"2c_16\",765,774,0.00030918000266,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",772.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE773\"],[\"LINE774\",\"4c_06\",766,775,0.000079309997091,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",773.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE774\"],[\"LINE775\",\"2c_16\",767,776,0.000540520006325,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",774.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE775\"],[\"LINE776\",\"2c_16\",768,777,0.000573529978283,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",775.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE776\"],[\"LINE777\",\"2c_16\",769,778,0.004072099924088,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",776.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE777\"],[\"LINE778\",\"4c_06\",770,779,0.004242800176144,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",777.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE778\"],[\"LINE779\",\"2c_16\",771,780,0.003528299974278,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",778.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE779\"],[\"LINE780\",\"2c_16\",772,781,0.000124660000438,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",779.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE780\"],[\"LINE781\",\"2c_16\",773,782,0.000176140005351,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",780.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE781\"],[\"LINE782\",\"2c_16\",774,783,0.000327199988533,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",781.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE782\"],[\"LINE783\",\"4c_06\",775,784,0.000096999996458,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",782.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE783\"],[\"LINE784\",\"2c_16\",776,785,0.004621599800885,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",783.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE784\"],[\"LINE785\",\"2c_16\",777,786,0.001157899969257,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",784.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE785\"],[\"LINE786\",\"4c_06\",779,787,0.003315200097859,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",785.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE786\"],[\"LINE787\",\"2c_16\",781,788,0.000134389993036,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",786.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE787\"],[\"LINE788\",\"2c_16\",782,789,0.000130700005684,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",787.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE788\"],[\"LINE789\",\"2c_16\",783,790,0.000217349996092,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",788.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE789\"],[\"LINE790\",\"4c_06\",784,791,0.000091984002211,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",789.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE790\"],[\"LINE791\",\"2c_16\",786,792,0.000345879991073,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",790.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE791\"],[\"LINE792\",\"2c_16\",786,793,0.002062000101432,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",791.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE792\"],[\"LINE793\",\"4c_06\",787,794,0.002996300114319,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",792.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE793\"],[\"LINE794\",\"2c_16\",788,795,0.000119999996969,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",793.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE794\"],[\"LINE795\",\"2c_16\",789,796,0.000216510001337,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",794.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE795\"],[\"LINE796\",\"2c_16\",790,797,0.00022120999347,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",795.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE796\"],[\"LINE797\",\"4c_06\",791,798,0.000091706002422,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",796.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE797\"],[\"LINE798\",\"2c_16\",792,799,0.000301639985992,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",797.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE798\"],[\"LINE799\",\"2c_16\",793,800,0.003299500094727,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",798.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE799\"],[\"LINE800\",\"2c_16\",794,801,0.000205549993552,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",799.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE800\"],[\"LINE801\",\"4c_95_SAC_XC\",794,802,0.002803100040182,0.321999996900558,0.074000000953674,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",800.0,\"LV_Grid\",0,0,0.804000020027161,0.093000002205372,\"LINE801\"],[\"LINE802\",\"2c_16\",795,803,0.00013251999917,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",801.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE802\"],[\"LINE803\",\"2c_16\",796,804,0.001502800034359,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",802.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE803\"],[\"LINE804\",\"2c_16\",797,805,0.000105769999209,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",803.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE804\"],[\"LINE805\",\"4c_06\",798,806,0.000123110003187,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",804.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE805\"],[\"LINE806\",\"2c_16\",799,807,0.000249470002018,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",805.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE806\"],[\"LINE807\",\"2c_16\",800,808,0.002819099929184,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",806.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE807\"],[\"LINE808\",\"2c_16\",801,809,0.000206090000574,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",807.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE808\"],[\"LINE809\",\"4c_06\",802,810,0.003074900014326,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",808.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE809\"],[\"LINE810\",\"4c_06\",802,811,0.003074900014326,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",809.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE810\"],[\"LINE811\",\"2c_16\",803,812,0.000085439998657,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",810.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE811\"],[\"LINE812\",\"2c_16\",804,813,0.003319500014186,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",811.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE812\"],[\"LINE813\",\"2c_16\",805,814,0.000168240003404,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",812.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE813\"],[\"LINE814\",\"4c_06\",806,815,0.000420859985752,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",813.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE814\"],[\"LINE815\",\"2c_16\",807,816,0.000193999992916,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",814.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE815\"],[\"LINE816\",\"2c_16\",808,817,0.001595500041731,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",815.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE816\"],[\"LINE817\",\"2c_16\",809,818,0.00020649000362,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",816.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE817\"],[\"LINE818\",\"4c_06\",810,819,0.002578200073913,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",817.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE818\"],[\"LINE819\",\"4c_06\",810,820,0.002578200073913,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",818.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE819\"],[\"LINE820\",\"2c_16\",812,821,0.000131230000989,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",819.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE820\"],[\"LINE821\",\"2c_16\",814,822,0.000157939997735,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",820.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE821\"],[\"LINE822\",\"4c_06\",815,823,0.000486509990878,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",821.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE822\"],[\"LINE823\",\"2c_16\",816,824,0.000197310000658,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",822.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE823\"],[\"LINE824\",\"2c_16\",818,825,0.000205239994102,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",823.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE824\"],[\"LINE825\",\"4c_06\",819,826,0.002771500032395,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",824.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE825\"],[\"LINE826\",\"4c_06\",819,827,0.002771500032395,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",825.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE826\"],[\"LINE827\",\"2c_16\",821,828,0.001079399953596,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",826.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE827\"],[\"LINE828\",\"2c_16\",822,829,0.000225669995416,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",827.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE828\"],[\"LINE829\",\"4c_06\",823,830,0.000496589986142,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",828.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE829\"],[\"LINE830\",\"2c_16\",824,831,0.000171229999978,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",829.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE830\"],[\"LINE831\",\"2c_16\",825,832,0.000206020005862,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",830.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE831\"],[\"LINE832\",\"4c_06\",826,833,0.002275499980897,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",831.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE832\"],[\"LINE833\",\"4c_06\",826,834,0.002275499980897,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",832.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE833\"],[\"LINE834\",\"2c_16\",828,835,0.003720100037754,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",833.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE834\"],[\"LINE835\",\"2c_16\",829,836,0.00238210009411,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",834.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE835\"],[\"LINE836\",\"2c_16\",831,837,0.000122979996377,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",835.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE836\"],[\"LINE837\",\"2c_16\",832,838,0.000205880001886,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",836.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE837\"],[\"LINE838\",\"4c_06\",833,839,0.002442999975756,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",837.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE838\"],[\"LINE839\",\"4c_06\",833,840,0.002442999975756,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",838.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE839\"],[\"LINE840\",\"2c_16\",836,841,0.000952780013904,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",839.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE840\"],[\"LINE841\",\"2c_16\",837,842,0.000142780001624,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",840.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE841\"],[\"LINE842\",\"2c_16\",838,843,0.000206009994145,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",841.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE842\"],[\"LINE843\",\"2c_0225\",839,844,0.00480919983238,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",842.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE843\"],[\"LINE844\",\"4c_06\",839,845,0.003621200099587,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",843.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE844\"],[\"LINE845\",\"4c_06\",839,846,0.003621200099587,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",844.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE845\"],[\"LINE846\",\"2c_16\",841,847,0.000483820011141,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",845.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE846\"],[\"LINE847\",\"2c_16\",842,848,0.000215099993511,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",846.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE847\"],[\"LINE848\",\"2c_16\",843,849,0.000100559998828,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",847.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE848\"],[\"LINE849\",\"2c_0225\",844,850,0.000703600002453,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",848.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE849\"],[\"LINE850\",\"4c_06\",845,851,0.004364000167698,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",849.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE850\"],[\"LINE851\",\"4c_06\",845,852,0.004364000167698,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",850.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE851\"],[\"LINE852\",\"2c_16\",847,853,0.00010705999739,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",851.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE852\"],[\"LINE853\",\"2c_16\",848,854,0.00035143000423,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",852.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE853\"],[\"LINE854\",\"2c_16\",849,855,0.002260100096464,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",853.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE854\"],[\"LINE855\",\"2c_0225\",850,856,0.001982199959457,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",854.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE855\"],[\"LINE856\",\"4c_06\",851,857,0.006862100213766,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",855.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE856\"],[\"LINE857\",\"4c_06\",851,858,0.006862100213766,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",856.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE857\"],[\"LINE858\",\"2c_16\",853,859,0.000084314997366,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",857.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE858\"],[\"LINE859\",\"2c_16\",854,860,0.002820000052452,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",858.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE859\"],[\"LINE860\",\"2c_16\",854,861,0.007509099785239,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",859.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE860\"],[\"LINE861\",\"2c_16\",855,862,0.00146970001515,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",860.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE861\"],[\"LINE862\",\"2c_0225\",856,863,0.002327600028366,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",861.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE862\"],[\"LINE863\",\"4c_06\",857,864,0.002788800047711,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",862.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE863\"],[\"LINE864\",\"4c_06\",857,865,0.002788800047711,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",863.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE864\"],[\"LINE865\",\"2c_16\",859,866,0.000090337998699,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",864.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE865\"],[\"LINE866\",\"2c_16\",862,867,0.001285400008783,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",865.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE866\"],[\"LINE867\",\"2c_0225\",863,868,0.000301939988276,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",866.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE867\"],[\"LINE868\",\"4c_06\",864,869,0.001737299957313,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",867.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE868\"],[\"LINE869\",\"4c_06\",864,870,0.001737299957313,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",868.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE869\"],[\"LINE870\",\"2c_16\",866,871,0.000072276998253,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",869.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE870\"],[\"LINE871\",\"2c_16\",867,872,0.001348300022073,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",870.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE871\"],[\"LINE872\",\"2c_0225\",868,873,0.000379520002753,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",871.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE872\"],[\"LINE873\",\"2c_0225\",868,874,0.000844390015118,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",872.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE873\"],[\"LINE874\",\"4c_06\",869,875,0.001200000056997,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",873.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE874\"],[\"LINE875\",\"4c_06\",869,876,0.001200000056997,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",874.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE875\"],[\"LINE876\",\"2c_16\",871,877,0.000070178000897,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",875.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE876\"],[\"LINE877\",\"2c_16\",872,878,0.002302200067788,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",876.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE877\"],[\"LINE878\",\"2c_0225\",873,879,0.000351180002326,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",877.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE878\"],[\"LINE879\",\"2c_0225\",874,880,0.001976100029424,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",878.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE879\"],[\"LINE880\",\"4c_06\",875,881,0.001011200016364,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",879.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE880\"],[\"LINE881\",\"4c_06\",875,882,0.001011200016364,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",880.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE881\"],[\"LINE882\",\"2c_16\",877,883,0.00007000000187,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",881.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE882\"],[\"LINE883\",\"2c_16\",878,884,0.00056468002731,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",882.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE883\"],[\"LINE884\",\"2c_0225\",879,885,0.000533999991603,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",883.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE884\"],[\"LINE885\",\"2c_0225\",880,886,0.00468790018931,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",884.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE885\"],[\"LINE886\",\"2c_16\",883,887,0.000069180998253,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",885.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE886\"],[\"LINE887\",\"2c_16\",884,888,0.000622930005193,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",886.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE887\"],[\"LINE888\",\"35_SAC_XSC\",884,889,0.003157400060445,0.867999970912933,0.092000000178814,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",887.0,\"LV_Grid\",0,0,0.759999990463257,0.092000000178814,\"LINE888\"],[\"LINE889\",\"2c_0225\",885,890,0.000674829992931,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",888.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE889\"],[\"LINE890\",\"2c_16\",887,891,0.001237099990249,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",889.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE890\"],[\"LINE891\",\"2c_16\",888,892,0.001022799988277,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",890.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE891\"],[\"LINE892\",\"35_SAC_XSC\",889,893,0.00267790001817,0.867999970912933,0.092000000178814,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",891.0,\"LV_Grid\",0,0,0.759999990463257,0.092000000178814,\"LINE892\"],[\"LINE893\",\"2c_0225\",890,894,0.002627100097016,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",892.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE893\"],[\"LINE894\",\"2c_16\",891,895,0.005824900232255,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",893.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE894\"],[\"LINE895\",\"2c_16\",891,896,0.003258700016886,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",894.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE895\"],[\"LINE896\",\"2c_16\",892,897,0.000202230003197,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",895.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE896\"],[\"LINE897\",\"35_SAC_XSC\",893,898,0.00450100004673,0.867999970912933,0.092000000178814,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",896.0,\"LV_Grid\",0,0,0.759999990463257,0.092000000178814,\"LINE897\"],[\"LINE898\",\"2c_0225\",894,899,0.004772299900651,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",897.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE898\"],[\"LINE899\",\"2c_16\",895,900,0.003868399886414,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",898.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE899\"],[\"LINE900\",\"2c_16\",897,901,0.000170879997313,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",899.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE900\"],[\"LINE901\",\"2c_16\",901,902,0.000144000005093,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",900.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE901\"],[\"LINE902\",\"2c_16\",902,903,0.000187319994438,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",901.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE902\"],[\"LINE903\",\"2c_16\",903,904,0.000339020014508,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",902.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE903\"],[\"LINE904\",\"2c_16\",904,905,0.000587799993809,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",903.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE904\"],[\"LINE905\",\"2c_16\",905,906,0.004814700223505,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",904.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE905\"]]}", + "orient": "split", "dtype": { "name": "object", "std_type": "object", @@ -223,13 +247,13 @@ "r0_ohm_per_km": "object", "x0_ohm_per_km": "object", "pf_name": "object" - }, - "orient": "split" + } }, "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_phase_shifter\",\"parallel\",\"df\",\"in_service\",\"tap_set_vm_pu\",\"description\",\"equipment\",\"vector_group\",\"vk0_percent\",\"vkr0_percent\",\"mag0_percent\",\"mag0_rx\",\"si0_hv_partial\"],\"index\":[0],\"data\":[[\"Trafo\",\"08 MVA 10\\/04 kV Dyn1 ASEA\",0,1,0.800000011920929,11.0,0.416000008583069,4.019950389862061,0.400000005960464,0.0,0.0,30.0,\"hv\",0,-2,2,2.5,0.0,0,false,1,1.0,true,1.0,\"\",\"\",\"Dyn\",4.019950389862061,0.400000005960464,1,0,0.899999976158142]]}", + "orient": "split", "dtype": { "name": "object", "std_type": "object", @@ -263,13 +287,13 @@ "mag0_percent": "int64", "mag0_rx": "int64", "si0_hv_partial": "object" - }, - "orient": "split" + } }, "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\",\"in_service\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "name": "object", "std_type": "object", @@ -301,13 +325,13 @@ "tap_pos": "int32", "tap_at_star_point": "bool", "in_service": "bool" - }, - "orient": "split" + } }, "impedance": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"name\",\"from_bus\",\"to_bus\",\"rft_pu\",\"xft_pu\",\"rtf_pu\",\"xtf_pu\",\"sn_mva\",\"in_service\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "name": "object", "from_bus": "uint32", @@ -318,13 +342,13 @@ "xtf_pu": "float64", "sn_mva": "float64", "in_service": "bool" - }, - "orient": "split" + } }, "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", @@ -340,13 +364,13 @@ "max_q_from_mvar": "float64", "max_q_to_mvar": "float64", "in_service": "bool" - }, - "orient": "split" + } }, "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", @@ -355,13 +379,13 @@ "qz_mvar": "float64", "pz_mw": "float64", "in_service": "bool" - }, - "orient": "split" + } }, "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\",\"in_service\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"ps_mw\",\"qs_mvar\",\"qz_mvar\",\"pz_mw\",\"r_ohm\",\"x_ohm\",\"vm_pu\",\"in_service\",\"slack_weight\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "name": "object", "bus": "uint32", @@ -372,14 +396,15 @@ "r_ohm": "float64", "x_ohm": "float64", "vm_pu": "float64", - "in_service": "bool" - }, - "orient": "split" + "in_service": "bool", + "slack_weight": "float64" + } }, "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", @@ -388,25 +413,25 @@ "value": "float64", "std_dev": "float64", "side": "object" - }, - "orient": "split" + } }, "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" - }, - "orient": "split" + } }, "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", @@ -416,43 +441,43 @@ "cq0_eur": "float64", "cq1_eur_per_mvar": "float64", "cq2_eur_per_mvar2": "float64" - }, - "orient": "split" + } }, "controller": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"controller\",\"in_service\",\"order\",\"level\",\"recycle\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"initial_run\",\"recycle\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { - "controller": "object", + "object": "object", "in_service": "bool", "order": "float64", "level": "object", - "recycle": "bool" - }, - "orient": "split" + "initial_run": "bool", + "recycle": "object" + } }, "line_geodata": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"coords\"],\"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,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904],\"data\":[[[[390872.662999999942258,392887.378999999957159],[390871.596000000019558,392887.637999999977183]]],[[[390871.596000000019558,392887.637999999977183],[390871.481000000028871,392887.642999999981839]]],[[[390871.481000000028871,392887.642999999981839],[390871.378999999957159,392887.607999999949243]]],[[[390871.378999999957159,392887.607999999949243],[390871.304999999993015,392887.549999999988358]]],[[[390871.304999999993015,392887.549999999988358],[390871.23399999999674,392887.419999999983702]]],[[[390871.23399999999674,392887.419999999983702],[390868.778999999980442,392877.6370000000461]]],[[[390868.778999999980442,392877.6370000000461],[390868.752999999967869,392877.185999999986961]]],[[[390868.752999999967869,392877.185999999986961],[390868.752999999967869,392876.809999999997672]]],[[[390868.752999999967869,392876.809999999997672],[390868.804000000003725,392876.48399999999674]]],[[[390868.804000000003725,392876.48399999999674],[390868.903999999980442,392876.258999999961816]]],[[[390868.903999999980442,392876.258999999961816],[390869.078999999968801,392876.107999999949243]]],[[[390869.078999999968801,392876.107999999949243],[390869.179999999993015,392876.007999999972526]]],[[[390869.179999999993015,392876.007999999972526],[390869.5,392875.857000000018161]]],[[[390869.5,392875.857000000018161],[390872.292000000015832,392875.207999999984168]]],[[[390872.292000000015832,392875.207999999984168],[390872.314000000013038,392875.302000000025146]]],[[[390872.292000000015832,392875.207999999984168],[390875.677999999956228,392874.422000000020489]]],[[[390872.314000000013038,392875.302000000025146],[390872.315999999991618,392875.346000000019558]]],[[[390875.677999999956228,392874.422000000020489],[390875.907000000006519,392874.352999999944586]]],[[[390872.315999999991618,392875.346000000019558],[390872.312000000034459,392875.392000000050757]]],[[[390875.907000000006519,392874.352999999944586],[390876.142000000050757,392874.222999999998137]]],[[[390872.312000000034459,392875.392000000050757],[390872.302999999956228,392875.432999999960884]]],[[[390876.142000000050757,392874.222999999998137],[390876.440000000002328,392873.902999999991152]]],[[[390872.302999999956228,392875.432999999960884],[390872.287999999942258,392875.482000000018161]]],[[[390876.440000000002328,392873.902999999991152],[390877.002999999967869,392873.341000000014901]]],[[[390872.287999999942258,392875.482000000018161],[390872.262999999977183,392875.532000000006519]]],[[[390877.002999999967869,392873.341000000014901],[390880.364000000001397,392878.195999999996275]]],[[[390877.002999999967869,392873.341000000014901],[390884.190000000002328,392866.432999999960884]]],[[[390872.262999999977183,392875.532000000006519],[390872.239000000001397,392875.581000000005588]]],[[[390880.364000000001397,392878.195999999996275],[390881.306000000040513,392879.522000000055414]]],[[[390880.364000000001397,392878.195999999996275],[390879.232000000018161,392879.304999999993015]]],[[[390884.190000000002328,392866.432999999960884],[390886.111000000033528,392864.602000000013504]]],[[[390872.239000000001397,392875.581000000005588],[390872.169999999983702,392875.710000000020955]]],[[[390881.306000000040513,392879.522000000055414],[390885.0,392880.0]]],[[[390879.232000000018161,392879.304999999993015],[390879.207999999984168,392879.352999999944586]]],[[[390886.111000000033528,392864.602000000013504],[390890.169500000018161,392868.642000000050757]]],[[[390886.111000000033528,392864.602000000013504],[390891.918999999994412,392859.065000000002328]]],[[[390872.169999999983702,392875.710000000020955],[390872.092000000004191,392875.822000000043772]]],[[[390879.207999999984168,392879.352999999944586],[390879.182999999960884,392879.426000000035856]]],[[[390890.169500000018161,392868.642000000050757],[390890.443999999959487,392868.351000000024214]]],[[[390890.169500000018161,392868.642000000050757],[390891.409999999974389,392869.955000000016298]]],[[[390891.918999999994412,392859.065000000002328],[390895.962999999988824,392855.237000000022817]]],[[[390891.918999999994412,392859.065000000002328],[390891.775000000023283,392858.902999999991152]]],[[[390872.092000000004191,392875.822000000043772],[390872.072999999974854,392875.849999999976717]]],[[[390879.182999999960884,392879.426000000035856],[390879.158999999985099,392879.522000000055414]]],[[[390890.443999999959487,392868.351000000024214],[390890.570999999996275,392868.222999999998137]]],[[[390891.409999999974389,392869.955000000016298],[390893.0,392874.0]]],[[[390895.962999999988824,392855.237000000022817],[390899.026000000012573,392852.352000000013504]]],[[[390891.775000000023283,392858.902999999991152],[390891.742000000027474,392858.804000000003725]]],[[[390872.072999999974854,392875.849999999976717],[390872.037999999942258,392875.882999999972526]]],[[[390879.158999999985099,392879.522000000055414],[390879.158999999985099,392879.762999999977183]]],[[[390890.570999999996275,392868.222999999998137],[390890.753999999957159,392868.167999999946915]]],[[[390899.026000000012573,392852.352000000013504],[390899.474999999976717,392851.943999999959488]]],[[[390899.026000000012573,392852.352000000013504],[390899.491000000038184,392852.791000000026543]]],[[[390891.742000000027474,392858.804000000003725],[390891.758999999961816,392858.689000000013038]]],[[[390872.037999999942258,392875.882999999972526],[390871.963999999978114,392875.929999999993015]]],[[[390879.158999999985099,392879.762999999977183],[390879.232000000018161,392879.956000000005588]]],[[[390890.753999999957159,392868.167999999946915],[390890.935999999986962,392868.167999999946915]]],[[[390899.474999999976717,392851.943999999959488],[390901.468999999982771,392850.052999999956228]]],[[[390899.491000000038184,392852.791000000026543],[390899.547999999951571,392852.822999999974854]]],[[[390891.758999999961816,392858.689000000013038],[390891.775000000023283,392858.590000000025611]]],[[[390871.963999999978114,392875.929999999993015],[390871.892000000050757,392875.960000000020955]]],[[[390879.232000000018161,392879.956000000005588],[390879.907000000006519,392880.679000000003725]]],[[[390890.935999999986962,392868.167999999946915],[390891.044999999983702,392868.167999999946915]]],[[[390901.468999999982771,392850.052999999956228],[390901.869999999995343,392849.663999999989756]]],[[[390901.468999999982771,392850.052999999956228],[390907.229999999981374,392855.96999999997206]]],[[[390899.547999999951571,392852.822999999974854],[390899.617999999958556,392852.847000000008848]]],[[[390891.775000000023283,392858.590000000025611],[390891.825000000011642,392858.507999999972526]]],[[[390871.892000000050757,392875.960000000020955],[390871.812000000034459,392875.982999999949243]]],[[[390879.907000000006519,392880.679000000003725],[390881.0,392884.0]]],[[[390891.044999999983702,392868.167999999946915],[390891.246000000042841,392868.241000000038184]]],[[[390901.869999999995343,392849.663999999989756],[390906.932000000029802,392845.427999999956228]]],[[[390907.229999999981374,392855.96999999997206],[390907.0,392860.0]]],[[[390907.229999999981374,392855.96999999997206],[390907.0,392860.0]]],[[[390899.617999999958556,392852.847000000008848],[390899.792999999946915,392852.8870000000461]]],[[[390891.825000000011642,392858.507999999972526],[390891.972000000008848,392858.323999999964144]]],[[[390871.812000000034459,392875.982999999949243],[390871.435999999986962,392876.082999999984168]]],[[[390891.246000000042841,392868.241000000038184],[390892.047999999951571,392868.96999999997206]]],[[[390906.932000000029802,392845.427999999956228],[390908.6129999999539,392843.857000000018161]]],[[[390899.792999999946915,392852.8870000000461],[390899.888999999966472,392852.926000000035856]]],[[[390891.972000000008848,392858.323999999964144],[390892.5120000000461,392857.807999999960884]]],[[[390871.435999999986962,392876.082999999984168],[390870.934999999997672,392876.182999999960884]]],[[[390892.047999999951571,392868.96999999997206],[390896.0,392870.0]]],[[[390908.6129999999539,392843.857000000018161],[390909.025000000023283,392843.570000000006985]]],[[[390899.888999999966472,392852.926000000035856],[390899.982000000018161,392852.987000000022817]]],[[[390892.5120000000461,392857.807999999960884],[390893.557999999960884,392856.820000000006985]]],[[[390870.934999999997672,392876.182999999960884],[390870.633999999961816,392876.258999999961816]]],[[[390909.025000000023283,392843.570000000006985],[390909.877999999967869,392843.013999999966472]]],[[[390899.982000000018161,392852.987000000022817],[390900.059999999997672,392853.057000000029802]]],[[[390893.557999999960884,392856.820000000006985],[390893.775000000023283,392856.554999999993015]]],[[[390870.633999999961816,392876.258999999961816],[390870.525000000023283,392876.284999999974389]]],[[[390909.877999999967869,392843.013999999966472],[390910.741000000038184,392842.592999999993481]]],[[[390893.775000000023283,392856.554999999993015],[390893.802999999956228,392856.496000000042841]]],[[[390870.525000000023283,392876.284999999974389],[390870.492000000027474,392876.296000000031199]]],[[[390910.741000000038184,392842.592999999993481],[390911.229999999981374,392842.323999999964144]]],[[[390893.802999999956228,392856.496000000042841],[390893.799999999988358,392856.409999999974389]]],[[[390870.492000000027474,392876.296000000031199],[390870.457999999984168,392876.309999999997672]]],[[[390911.229999999981374,392842.323999999964144],[390911.556000000040513,392842.152000000001863]]],[[[390893.799999999988358,392856.409999999974389],[390893.78100000001723,392856.377999999967869]]],[[[390870.457999999984168,392876.309999999997672],[390870.382999999972526,392876.35899999999674]]],[[[390911.556000000040513,392842.152000000001863],[390911.997000000032131,392841.897999999986496]]],[[[390893.78100000001723,392856.377999999967869],[390890.706000000005588,392852.332000000053085]]],[[[390870.382999999972526,392876.35899999999674],[390870.157000000006519,392876.533999999985099]]],[[[390911.997000000032131,392841.897999999986496],[390912.282000000006519,392841.942000000039116]]],[[[390911.997000000032131,392841.897999999986496],[390912.282000000006519,392841.71999999997206]]],[[[390890.706000000005588,392852.332000000053085],[390890.64000000001397,392852.121000000042841]]],[[[390912.282000000006519,392841.942000000039116],[390912.630000000004657,392841.967000000004191]]],[[[390912.282000000006519,392841.71999999997206],[390912.429999999993015,392841.599999999976717]]],[[[390890.64000000001397,392852.121000000042841],[390890.510999999998603,392851.689000000013038]]],[[[390912.630000000004657,392841.967000000004191],[390913.032000000006519,392842.010999999998603]]],[[[390912.429999999993015,392841.599999999976717],[390917.462999999988824,392836.01500000001397]]],[[[390890.510999999998603,392851.689000000013038],[390883.277000000001863,392842.143999999971129]]],[[[390913.032000000006519,392842.010999999998603],[390913.6370000000461,392842.130000000004657]]],[[[390917.462999999988824,392836.01500000001397],[390918.003999999957159,392835.491000000038184]]],[[[390883.277000000001863,392842.143999999971129],[390876.522999999986496,392833.895000000018626]]],[[[390913.6370000000461,392842.130000000004657],[390914.400000000023283,392842.34499999997206]]],[[[390918.003999999957159,392835.491000000038184],[390918.76500000001397,392836.292999999946915]]],[[[390918.003999999957159,392835.491000000038184],[390915.4879999999539,392832.838999999978114]]],[[[390876.522999999986496,392833.895000000018626],[390875.777999999991152,392833.236000000033528]]],[[[390914.400000000023283,392842.34499999997206],[390914.923999999999069,392842.567000000039116]]],[[[390918.76500000001397,392836.292999999946915],[390918.948999999964144,392836.228999999992084]]],[[[390918.76500000001397,392836.292999999946915],[390919.135000000009313,392836.684000000008382]]],[[[390915.4879999999539,392832.838999999978114],[390910.895000000018626,392828.10999999998603]]],[[[390875.777999999991152,392833.236000000033528],[390875.198999999964144,392832.799999999988358]]],[[[390914.923999999999069,392842.567000000039116],[390915.64000000001397,392842.932999999960884]]],[[[390918.948999999964144,392836.228999999992084],[390919.114999999990687,392836.198999999964144]]],[[[390919.135000000009313,392836.684000000008382],[390920.87599999998929,392838.517999999981839]]],[[[390910.895000000018626,392828.10999999998603],[390908.833999999973457,392825.978999999992084]]],[[[390875.198999999964144,392832.799999999988358],[390874.662000000011176,392832.479999999981374]]],[[[390915.64000000001397,392842.932999999960884],[390916.402999999991152,392843.351000000024214]]],[[[390919.114999999990687,392836.198999999964144],[390919.23399999999674,392836.205000000016298]]],[[[390920.87599999998929,392838.517999999981839],[390923.576000000000931,392835.814000000013038]]],[[[390920.87599999998929,392838.517999999981839],[390925.817000000039116,392843.724999999976717]]],[[[390908.833999999973457,392825.978999999992084],[390908.271000000007916,392825.299999999988358]]],[[[390874.662000000011176,392832.479999999981374],[390872.864999999990687,392831.802999999956228]]],[[[390916.402999999991152,392843.351000000024214],[390917.072000000043772,392843.826000000000931]]],[[[390919.23399999999674,392836.205000000016298],[390919.412000000011176,392836.252999999967869]]],[[[390923.576000000000931,392835.814000000013038],[390923.798999999999069,392835.572000000043772]]],[[[390925.817000000039116,392843.724999999976717],[390929.523999999975786,392847.568999999959488]]],[[[390908.271000000007916,392825.299999999988358],[390907.614999999990687,392824.551000000035856]]],[[[390872.864999999990687,392831.802999999956228],[390871.466000000014901,392831.607000000018161]]],[[[390917.072000000043772,392843.826000000000931],[390918.076000000000931,392844.727000000013504]]],[[[390919.412000000011176,392836.252999999967869],[390919.607999999949243,392836.347999999998137]]],[[[390923.798999999999069,392835.572000000043772],[390923.972999999998137,392835.299999999988358]]],[[[390929.523999999975786,392847.568999999959488],[390932.01500000001397,392850.135000000009313]]],[[[390907.614999999990687,392824.551000000035856],[390907.052999999956228,392823.802000000025146]]],[[[390871.466000000014901,392831.607000000018161],[390871.226000000024214,392831.622999999963213]]],[[[390918.076000000000931,392844.727000000013504],[390922.542000000015832,392849.331000000005588]]],[[[390919.607999999949243,392836.347999999998137],[390919.7620000000461,392836.466000000014901]]],[[[390923.972999999998137,392835.299999999988358],[390924.070000000006985,392835.057999999960884]]],[[[390932.01500000001397,392850.135000000009313],[390934.502999999967869,392852.697000000043772]]],[[[390932.01500000001397,392850.135000000009313],[390935.583999999973457,392846.447999999974854]]],[[[390907.052999999956228,392823.802000000025146],[390906.491000000038184,392822.864999999990687]]],[[[390871.226000000024214,392831.622999999963213],[390871.172999999951571,392831.687000000034459]]],[[[390922.542000000015832,392849.331000000005588],[390923.521000000007916,392850.327999999979511]]],[[[390919.7620000000461,392836.466000000014901],[390919.90500000002794,392836.632000000041444]]],[[[390924.070000000006985,392835.057999999960884],[390924.127999999967869,392834.671000000031199]]],[[[390934.502999999967869,392852.697000000043772],[390941.046000000031199,392859.544999999983702]]],[[[390935.583999999973457,392846.447999999974854],[390935.817000000039116,392846.239999999990687]]],[[[390906.491000000038184,392822.864999999990687],[390906.349999999976717,392822.583999999973457]]],[[[390871.172999999951571,392831.687000000034459],[390871.127999999967869,392831.801000000035856]]],[[[390923.521000000007916,392850.327999999979511],[390915.060999999986961,392858.471000000019558]]],[[[390923.521000000007916,392850.327999999979511],[390927.222000000008848,392854.099999999976717]]],[[[390919.90500000002794,392836.632000000041444],[390920.0120000000461,392836.804999999993015]]],[[[390924.127999999967869,392834.671000000031199],[390924.168999999994412,392834.201000000000931]]],[[[390941.046000000031199,392859.544999999983702],[390943.336000000010245,392861.907000000006519]]],[[[390935.817000000039116,392846.239999999990687],[390935.994999999995343,392846.017000000050757]]],[[[390906.349999999976717,392822.583999999973457],[390905.502000000036787,392821.0120000000461]]],[[[390871.127999999967869,392831.801000000035856],[390871.099999999976717,392832.048999999999069]]],[[[390915.060999999986961,392858.471000000019558],[390913.477999999944586,392860.025000000023283]]],[[[390927.222000000008848,392854.099999999976717],[390931.986000000033528,392859.25]]],[[[390920.0120000000461,392836.804999999993015],[390920.077000000048429,392836.965000000025611]]],[[[390924.168999999994412,392834.201000000000931],[390924.246000000042841,392833.852999999944586]]],[[[390943.336000000010245,392861.907000000006519],[390946.010000000009313,392864.771000000007916]]],[[[390943.336000000010245,392861.907000000006519],[390946.317000000039116,392858.942000000039116]]],[[[390935.994999999995343,392846.017000000050757],[390936.049999999988358,392845.912000000011176]]],[[[390905.502000000036787,392821.0120000000461],[390905.189000000013039,392820.052999999956228]]],[[[390913.477999999944586,392860.025000000023283],[390910.0,392863.0]]],[[[390931.986000000033528,392859.25],[390932.787999999942258,392860.117999999958556]]],[[[390931.986000000033528,392859.25],[390930.205000000016298,392860.892000000050757]]],[[[390920.077000000048429,392836.965000000025611],[390920.101000000024214,392837.142999999981839]]],[[[390924.246000000042841,392833.852999999944586],[390924.411000000021886,392833.474999999976717]]],[[[390946.010000000009313,392864.771000000007916],[390946.422000000020489,392865.190000000002328]]],[[[390946.317000000039116,392858.942000000039116],[390946.617999999958556,392858.602000000013504]]],[[[390936.049999999988358,392845.912000000011176],[390936.119000000006054,392845.666000000026543]]],[[[390905.189000000013039,392820.052999999956228],[390905.022000000055414,392819.322999999974854]]],[[[390932.787999999942258,392860.117999999958556],[390935.932000000029802,392863.544999999983702]]],[[[390930.205000000016298,392860.892000000050757],[390923.046000000031199,392867.911000000021886]]],[[[390920.101000000024214,392837.142999999981839],[390920.09499999997206,392837.297000000020489]]],[[[390924.411000000021886,392833.474999999976717],[390924.643999999971129,392833.164999999979045]]],[[[390946.422000000020489,392865.190000000002328],[390948.046000000031199,392866.840000000025611]]],[[[390946.422000000020489,392865.190000000002328],[390946.652000000001863,392865.033999999985099]]],[[[390946.617999999958556,392858.602000000013504],[390946.840000000025611,392858.222999999998137]]],[[[390936.119000000006054,392845.666000000026543],[390936.242000000027474,392845.027000000001863]]],[[[390905.022000000055414,392819.322999999974854],[390904.937999999965541,392818.65500000002794]]],[[[390935.932000000029802,392863.544999999983702],[390941.567999999970198,392869.642999999981839]]],[[[390923.046000000031199,392867.911000000021886],[390921.647000000055414,392869.282999999995809]]],[[[390923.046000000031199,392867.911000000021886],[390923.823999999964144,392868.73399999999674]]],[[[390920.09499999997206,392837.297000000020489],[390920.042000000015832,392837.481000000028871]]],[[[390924.643999999971129,392833.164999999979045],[390924.934000000008382,392832.864999999990687]]],[[[390948.046000000031199,392866.840000000025611],[390948.692999999970198,392867.510000000009313]]],[[[390946.652000000001863,392865.033999999985099],[390946.807000000029802,392864.978999999992084]]],[[[390946.840000000025611,392858.222999999998137],[390946.971000000019558,392857.897000000055414]]],[[[390936.242000000027474,392845.027000000001863],[390936.287999999942258,392844.647999999986496]]],[[[390904.937999999965541,392818.65500000002794],[390905.00099999998929,392817.820999999996275]]],[[[390941.567999999970198,392869.642999999981839],[390939.127999999967869,392871.786000000021886]]],[[[390941.567999999970198,392869.642999999981839],[390943.018999999971129,392871.212000000057742]]],[[[390921.647000000055414,392869.282999999995809],[390917.0,392871.0]]],[[[390923.823999999964144,392868.73399999999674],[390923.916000000026543,392868.864999999990687]]],[[[390920.042000000015832,392837.481000000028871],[390919.804000000003725,392837.861000000033528]]],[[[390924.934000000008382,392832.864999999990687],[390925.39000000001397,392832.418999999994412]]],[[[390946.807000000029802,392864.978999999992084],[390946.962000000057742,392864.96999999997206]]],[[[390946.971000000019558,392857.897000000055414],[390947.022999999986496,392857.622000000032131]]],[[[390936.287999999942258,392844.647999999986496],[390936.387999999977183,392844.400000000023283]]],[[[390905.00099999998929,392817.820999999996275],[390905.25099999998929,392816.297999999951571]]],[[[390939.127999999967869,392871.786000000021886],[390931.5120000000461,392879.201000000000931]]],[[[390943.018999999971129,392871.212000000057742],[390945.597000000008848,392874.081000000005588]]],[[[390923.916000000026543,392868.864999999990687],[390923.961000000010244,392868.986000000033528]]],[[[390919.804000000003725,392837.861000000033528],[390919.412000000011176,392838.407000000006519]]],[[[390925.39000000001397,392832.418999999994412],[390926.642999999981839,392831.208999999973457]]],[[[390946.962000000057742,392864.96999999997206],[390947.12599999998929,392865.01500000001397]]],[[[390947.022999999986496,392857.622000000032131],[390947.088999999978114,392857.033999999985099]]],[[[390936.387999999977183,392844.400000000023283],[390936.60999999998603,392843.935999999986962]]],[[[390905.25099999998929,392816.297999999951571],[390905.690000000002328,392815.026000000012573]]],[[[390931.5120000000461,392879.201000000000931],[390927.0,392880.0]]],[[[390945.597000000008848,392874.081000000005588],[390946.518999999971129,392875.103999999992084]]],[[[390923.961000000010244,392868.986000000033528],[390923.967000000004191,392869.088999999978114]]],[[[390926.642999999981839,392831.208999999973457],[390926.75,392831.106000000028871]]],[[[390947.12599999998929,392865.01500000001397],[390947.326000000000931,392865.133999999961816]]],[[[390947.088999999978114,392857.033999999985099],[390947.179999999993015,392856.577000000048429]]],[[[390936.60999999998603,392843.935999999986962],[390936.74900000001071,392843.721000000019558]]],[[[390905.690000000002328,392815.026000000012573],[390906.065000000002328,392814.190999999991618]]],[[[390946.518999999971129,392875.103999999992084],[390937.556000000040513,392882.923999999999069]]],[[[390946.518999999971129,392875.103999999992084],[390947.272999999986496,392875.942000000039116]]],[[[390923.967000000004191,392869.088999999978114],[390923.916000000026543,392869.2379999999539]]],[[[390926.75,392831.106000000028871],[390926.804999999993015,392831.065000000002328]]],[[[390947.326000000000931,392865.133999999961816],[390947.489999999990687,392865.260999999998603]]],[[[390947.179999999993015,392856.577000000048429],[390947.287000000011176,392856.272000000055414]]],[[[390936.74900000001071,392843.721000000019558],[390936.87400000001071,392843.588999999978114]]],[[[390906.065000000002328,392814.190999999991618],[390906.398999999975786,392813.690999999991618]]],[[[390937.556000000040513,392882.923999999999069],[390936.301000000035856,392884.111000000033528]]],[[[390923.916000000026543,392869.2379999999539],[390923.807000000029802,392869.3870000000461]]],[[[390926.804999999993015,392831.065000000002328],[390926.875,392831.042999999946915]]],[[[390947.489999999990687,392865.260999999998603],[390947.590000000025611,392865.397000000055414]]],[[[390947.287000000011176,392856.272000000055414],[390947.457000000053085,392855.997999999963213]]],[[[390936.87400000001071,392843.588999999978114],[390938.352000000013504,392842.12599999998929]]],[[[390906.398999999975786,392813.690999999991618],[390907.212999999988824,392812.684999999997672]]],[[[390936.301000000035856,392884.111000000033528],[390931.0,392884.0]]],[[[390936.301000000035856,392884.111000000033528],[390931.0,392884.0]]],[[[390923.807000000029802,392869.3870000000461],[390923.606000000028871,392869.587000000057742]]],[[[390926.875,392831.042999999946915],[390926.945000000006985,392831.047000000020489]]],[[[390947.590000000025611,392865.397000000055414],[390947.62599999998929,392865.525000000023283]]],[[[390947.457000000053085,392855.997999999963213],[390947.783999999985099,392855.657999999995809]]],[[[390938.352000000013504,392842.12599999998929],[390938.796000000031199,392841.702999999979511]]],[[[390907.212999999988824,392812.684999999997672],[390910.804999999993015,392815.497000000032131]]],[[[390907.212999999988824,392812.684999999997672],[390907.752000000036787,392812.018999999971129]]],[[[390923.606000000028871,392869.587000000057742],[390922.854999999981374,392870.302999999956228]]],[[[390926.945000000006985,392831.047000000020489],[390927.018999999971129,392831.072000000043772]]],[[[390947.62599999998929,392865.525000000023283],[390947.635000000009313,392865.697999999974854]]],[[[390947.783999999985099,392855.657999999995809],[390949.052000000025146,392854.417000000015832]]],[[[390938.796000000031199,392841.702999999979511],[390938.913999999989756,392841.632999999972526]]],[[[390910.804999999993015,392815.497000000032131],[390911.309000000008382,392815.87599999998929]]],[[[390907.752000000036787,392812.018999999971129],[390909.871000000042841,392809.603999999992084]]],[[[390922.854999999981374,392870.302999999956228],[390921.0,392875.0]]],[[[390927.018999999971129,392831.072000000043772],[390927.156000000017229,392831.157000000006519]]],[[[390947.635000000009313,392865.697999999974854],[390947.598999999987427,392865.888999999966472]]],[[[390949.052000000025146,392854.417000000015832],[390949.357999999949243,392854.137999999977183]]],[[[390938.913999999989756,392841.632999999972526],[390936.706000000005588,392838.972000000008848]]],[[[390938.913999999989756,392841.632999999972526],[390939.032000000006519,392841.619999999995343]]],[[[390911.309000000008382,392815.87599999998929],[390911.513999999966472,392816.081000000005588]]],[[[390909.871000000042841,392809.603999999992084],[390913.164999999979045,392812.297000000020489]]],[[[390909.871000000042841,392809.603999999992084],[390910.582999999984168,392808.792999999946915]]],[[[390927.156000000017229,392831.157000000006519],[390927.282000000006519,392831.267999999981839]]],[[[390947.598999999987427,392865.888999999966472],[390947.507999999972526,392866.042999999946915]]],[[[390949.357999999949243,392854.137999999977183],[390949.51600000000326,392854.032999999995809]]],[[[390936.706000000005588,392838.972000000008848],[390935.0,392836.0]]],[[[390939.032000000006519,392841.619999999995343],[390939.171000000031199,392841.6129999999539]]],[[[390911.513999999966472,392816.081000000005588],[390911.682999999960884,392816.380999999993946]]],[[[390913.164999999979045,392812.297000000020489],[390913.419999999983702,392812.472000000008848]]],[[[390910.582999999984168,392808.792999999946915],[390913.172999999951571,392805.861000000033528]]],[[[390927.282000000006519,392831.267999999981839],[390927.695000000006985,392831.755000000004657]]],[[[390947.507999999972526,392866.042999999946915],[390947.070999999996275,392866.462000000057742]]],[[[390949.51600000000326,392854.032999999995809],[390949.635999999998603,392853.99900000001071]]],[[[390939.171000000031199,392841.6129999999539],[390939.296000000031199,392841.627000000036787]]],[[[390911.682999999960884,392816.380999999993946],[390911.851000000024214,392816.885000000009313]]],[[[390913.419999999983702,392812.472000000008848],[390913.647999999986496,392812.586000000010244]]],[[[390913.172999999951571,392805.861000000033528],[390914.333999999973457,392804.546000000031199]]],[[[390913.172999999951571,392805.861000000033528],[390912.467000000004191,392805.282000000006519]]],[[[390927.695000000006985,392831.755000000004657],[390931.0,392831.0]]],[[[390947.070999999996275,392866.462000000057742],[390946.507000000041444,392867.043999999994412]]],[[[390949.635999999998603,392853.99900000001071],[390949.096000000019558,392853.309000000008382]]],[[[390949.635999999998603,392853.99900000001071],[390949.744000000006054,392853.994999999995343]]],[[[390939.296000000031199,392841.627000000036787],[390939.413999999989755,392841.674999999988358]]],[[[390911.851000000024214,392816.885000000009313],[390912.00099999998929,392817.333999999973457]]],[[[390913.647999999986496,392812.586000000010244],[390913.996000000042841,392812.685999999986962]]],[[[390914.333999999973457,392804.546000000031199],[390914.838999999978114,392803.916000000026543]]],[[[390912.467000000004191,392805.282000000006519],[390909.292000000015832,392803.146000000007916]]],[[[390949.096000000019558,392853.309000000008382],[390948.847999999998137,392852.992000000027474]]],[[[390949.744000000006054,392853.994999999995343],[390949.818999999959488,392854.010000000009313]]],[[[390939.413999999989755,392841.674999999988358],[390939.538999999989755,392841.731000000028871]]],[[[390912.00099999998929,392817.333999999973457],[390912.187999999965541,392817.651000000012573]]],[[[390913.996000000042841,392812.685999999986962],[390915.583999999973457,392813.037000000011176]]],[[[390914.838999999978114,392803.916000000026543],[390918.268999999971129,392799.908999999985099]]],[[[390909.292000000015832,392803.146000000007916],[390908.726000000024214,392802.518999999971129]]],[[[390948.847999999998137,392852.992000000027474],[390948.392500000016298,392852.485500000009779]]],[[[390949.818999999959488,392854.010000000009313],[390949.897999999986496,392854.051000000035856]]],[[[390939.538999999989755,392841.731000000028871],[390940.114999999990687,392842.277999999991152]]],[[[390912.187999999965541,392817.651000000012573],[390912.453999999968801,392818.023999999975786]]],[[[390915.583999999973457,392813.037000000011176],[390915.882000000041444,392813.132999999972526]]],[[[390918.268999999971129,392799.908999999985099],[390918.528999999980442,392799.6129999999539]]],[[[390908.726000000024214,392802.518999999971129],[390908.547999999951571,392802.302000000025146]]],[[[390948.392500000016298,392852.485500000009779],[390947.472000000008848,392851.557000000029802]]],[[[390949.897999999986496,392854.051000000035856],[390950.032000000006519,392854.156000000017229]]],[[[390940.114999999990687,392842.277999999991152],[390943.0,392844.0]]],[[[390912.453999999968801,392818.023999999975786],[390912.782999999995809,392818.364999999990687]]],[[[390915.882000000041444,392813.132999999972526],[390916.092999999993481,392813.228999999992084]]],[[[390918.528999999980442,392799.6129999999539],[390919.049999999988358,392800.0]]],[[[390918.528999999980442,392799.6129999999539],[390923.291000000026543,392794.190999999991618]]],[[[390908.547999999951571,392802.302000000025146],[390908.46999999997206,392802.177999999956228]]],[[[390947.472000000008848,392851.557000000029802],[390946.0,392848.0]]],[[[390950.032000000006519,392854.156000000017229],[390950.481000000028871,392854.630000000004657]]],[[[390912.782999999995809,392818.364999999990687],[390913.190999999991618,392818.747000000032131]]],[[[390916.092999999993481,392813.228999999992084],[390916.330000000016298,392813.352000000013504]]],[[[390919.049999999988358,392800.0],[390921.635999999998603,392802.117999999958556]]],[[[390923.291000000026543,392794.190999999991618],[390925.510999999998603,392791.532999999995809]]],[[[390908.46999999997206,392802.177999999956228],[390908.407999999995809,392802.068999999959487]]],[[[390950.481000000028871,392854.630000000004657],[390952.0,392853.0]]],[[[390913.190999999991618,392818.747000000032131],[390913.426000000035856,392818.962000000057742]]],[[[390916.330000000016298,392813.352000000013504],[390916.548999999999069,392813.50099999998929]]],[[[390921.635999999998603,392802.117999999958556],[390922.556000000040513,392802.836000000010244]]],[[[390925.510999999998603,392791.532999999995809],[390932.59399999998277,392797.298999999999069]]],[[[390925.510999999998603,392791.532999999995809],[390929.741900000022724,392786.372900000016671]]],[[[390908.407999999995809,392802.068999999959487],[390908.353999999992084,392801.937000000034459]]],[[[390913.426000000035856,392818.962000000057742],[390914.5120000000461,392819.90600000001723]]],[[[390916.548999999999069,392813.50099999998929],[390918.357000000018161,392814.966000000014901]]],[[[390922.556000000040513,392802.836000000010244],[390924.531000000017229,392804.432999999960884]]],[[[390932.59399999998277,392797.298999999999069],[390935.0,392800.0]]],[[[390929.741900000022724,392786.372900000016671],[390934.962999999988824,392790.739999999990687]]],[[[390929.741900000022724,392786.372900000016671],[390930.510999999998603,392785.434999999997672]]],[[[390908.353999999992084,392801.937000000034459],[390908.322999999974854,392801.828999999968801]]],[[[390914.5120000000461,392819.90600000001723],[390914.974999999976717,392820.221000000019558]]],[[[390918.357000000018161,392814.966000000014901],[390923.0,392816.0]]],[[[390924.531000000017229,392804.432999999960884],[390926.150000000023283,392805.742000000027474]]],[[[390924.531000000017229,392804.432999999960884],[390923.880000000004657,392805.164999999979045]]],[[[390934.962999999988824,392790.739999999990687],[390937.604999999981374,392792.914999999979045]]],[[[390930.510999999998603,392785.434999999997672],[390931.167999999946915,392784.630000000004657]]],[[[390908.322999999974854,392801.828999999968801],[390908.307999999960884,392801.736000000033528]]],[[[390914.974999999976717,392820.221000000019558],[390915.148999999975786,392820.307999999960884]]],[[[390926.150000000023283,392805.742000000027474],[390929.0,392807.0]]],[[[390923.880000000004657,392805.164999999979045],[390923.818999999959488,392805.287000000011176]]],[[[390937.604999999981374,392792.914999999979045],[390937.856000000028871,392793.111000000033528]]],[[[390931.167999999946915,392784.630000000004657],[390931.702999999979511,392784.132000000041444]]],[[[390908.307999999960884,392801.736000000033528],[390908.307999999960884,392801.651000000012573]]],[[[390915.148999999975786,392820.307999999960884],[390915.289999999979045,392820.347999999998137]]],[[[390923.818999999959488,392805.287000000011176],[390923.757999999972526,392805.422000000020489]]],[[[390937.856000000028871,392793.111000000033528],[390937.948999999964144,392793.203999999968801]]],[[[390931.702999999979511,392784.132000000041444],[390932.460000000020955,392783.602999999944586]]],[[[390908.307999999960884,392801.651000000012573],[390908.315000000002328,392801.581000000005588]]],[[[390915.289999999979045,392820.347999999998137],[390915.397000000055414,392820.354999999981374]]],[[[390923.757999999972526,392805.422000000020489],[390923.744000000006054,392805.551000000035856]]],[[[390937.948999999964144,392793.203999999968801],[390938.005000000004657,392793.277999999991152]]],[[[390932.460000000020955,392783.602999999944586],[390932.952999999979511,392783.299999999988358]]],[[[390908.315000000002328,392801.581000000005588],[390908.338999999978114,392801.502999999967869]]],[[[390915.397000000055414,392820.354999999981374],[390915.451000000000931,392820.347999999998137]]],[[[390923.744000000006054,392805.551000000035856],[390923.772000000055414,392805.685999999986962]]],[[[390938.005000000004657,392793.277999999991152],[390938.023999999975786,392793.371000000042841]]],[[[390932.952999999979511,392783.299999999988358],[390933.747999999963213,392782.902999999991152]]],[[[390908.338999999978114,392801.502999999967869],[390908.385000000009313,392801.426000000035856]]],[[[390915.451000000000931,392820.347999999998137],[390915.510999999998603,392820.294999999983702]]],[[[390923.772000000055414,392805.685999999986962],[390923.85999999998603,392805.862000000022817]]],[[[390938.023999999975786,392793.371000000042841],[390938.023999999975786,392793.482999999949243]]],[[[390933.747999999963213,392782.902999999991152],[390934.598999999987427,392782.657000000006519]]],[[[390908.385000000009313,392801.426000000035856],[390908.689000000013038,392801.042999999946915]]],[[[390915.510999999998603,392820.294999999983702],[390915.592000000004191,392820.187999999965541]]],[[[390923.85999999998603,392805.862000000022817],[390924.022000000055414,392806.037999999942258]]],[[[390938.023999999975786,392793.482999999949243],[390938.005000000004657,392793.622999999963213]]],[[[390934.598999999987427,392782.657000000006519],[390935.583999999973457,392782.523999999975786]]],[[[390908.689000000013038,392801.042999999946915],[390910.979999999981374,392798.157000000006519]]],[[[390908.689000000013038,392801.042999999946915],[390907.282000000006519,392801.15500000002794]]],[[[390915.592000000004191,392820.187999999965541],[390915.907000000006519,392819.679000000003725]]],[[[390924.022000000055414,392806.037999999942258],[390925.152000000001863,392806.997999999963213]]],[[[390938.005000000004657,392793.622999999963213],[390937.967999999993481,392793.744000000006054]]],[[[390935.583999999973457,392782.523999999975786],[390936.302999999956228,392782.505000000004657]]],[[[390910.979999999981374,392798.157000000006519],[390913.207999999984168,392795.419999999983702]]],[[[390907.282000000006519,392801.15500000002794],[390898.776000000012573,392802.817000000039116]]],[[[390907.282000000006519,392801.15500000002794],[390906.35999999998603,392802.282000000006519]]],[[[390915.907000000006519,392819.679000000003725],[390918.0,392819.0]]],[[[390925.152000000001863,392806.997999999963213],[390926.0,392812.0]]],[[[390937.967999999993481,392793.744000000006054],[390937.912000000011176,392793.827000000048429]]],[[[390936.302999999956228,392782.505000000004657],[390937.15500000002794,392782.599999999976717]]],[[[390913.207999999984168,392795.419999999983702],[390913.306700000015553,392795.297800000000279]]],[[[390898.776000000012573,392802.817000000039116],[390895.65500000002794,392803.357999999949243]]],[[[390906.35999999998603,392802.282000000006519],[390901.453999999968801,392808.388999999966472]]],[[[390937.912000000011176,392793.827000000048429],[390937.791000000026543,392793.948999999964144]]],[[[390937.15500000002794,392782.599999999976717],[390938.366000000038184,392782.883999999961816]]],[[[390913.306700000015553,392795.297800000000279],[390910.051000000035856,392792.872000000032131]]],[[[390913.306700000015553,392795.297800000000279],[390915.116000000038184,392793.057999999960884]]],[[[390895.65500000002794,392803.357999999949243],[390895.343999999982771,392803.442999999970198]]],[[[390901.453999999968801,392808.388999999966472],[390901.096000000019558,392808.831000000005588]]],[[[390937.791000000026543,392793.948999999964144],[390937.343999999982771,392794.348999999987427]]],[[[390938.366000000038184,392782.883999999961816],[390939.237000000022817,392783.187000000034459]]],[[[390910.051000000035856,392792.872000000032131],[390909.746000000042841,392792.658999999985099]]],[[[390915.116000000038184,392793.057999999960884],[390916.01500000001397,392791.99900000001071]]],[[[390895.343999999982771,392803.442999999970198],[390895.119000000006054,392803.442999999970198]]],[[[390901.096000000019558,392808.831000000005588],[390900.932999999960884,392809.017999999981839]]],[[[390937.343999999982771,392794.348999999987427],[390937.0,392798.0]]],[[[390939.237000000022817,392783.187000000034459],[390940.012999999977183,392783.622000000032131]]],[[[390909.746000000042841,392792.658999999985099],[390909.562999999965541,392792.552999999956228]]],[[[390916.01500000001397,392791.99900000001071],[390918.607000000018161,392788.706000000005588]]],[[[390916.01500000001397,392791.99900000001071],[390915.752999999967869,392791.724999999976717]]],[[[390895.119000000006054,392803.442999999970198],[390894.892999999981839,392803.385999999998603]]],[[[390900.932999999960884,392809.017999999981839],[390900.791000000026543,392809.106000000028871]]],[[[390940.012999999977183,392783.622000000032131],[390940.732000000018161,392784.1129999999539]]],[[[390909.562999999965541,392792.552999999956228],[390909.432999999960884,392792.492000000027474]]],[[[390918.607000000018161,392788.706000000005588],[390922.397999999986496,392784.096000000019558]]],[[[390915.752999999967869,392791.724999999976717],[390915.690000000002328,392791.653999999980442]]],[[[390894.892999999981839,392803.385999999998603],[390894.073999999964144,392802.849999999976717]]],[[[390900.791000000026543,392809.106000000028871],[390900.538999999989755,392809.227000000013504]]],[[[390940.732000000018161,392784.1129999999539],[390941.548999999999069,392784.767999999981839]]],[[[390909.432999999960884,392792.492000000027474],[390909.212000000057742,392792.414999999979045]]],[[[390922.397999999986496,392784.096000000019558],[390923.197000000043772,392783.135999999998603]]],[[[390915.690000000002328,392791.653999999980442],[390915.653999999980442,392791.597999999998137]]],[[[390894.073999999964144,392802.849999999976717],[390893.90500000002794,392802.681000000040512]]],[[[390900.538999999989755,392809.227000000013504],[390897.658999999985099,392810.60899999999674]]],[[[390941.548999999999069,392784.767999999981839],[390942.909999999974389,392785.87400000001071]]],[[[390941.548999999999069,392784.767999999981839],[390942.909999999974389,392785.87400000001071]]],[[[390909.212000000057742,392792.414999999979045],[390908.472999999998137,392792.172000000020489]]],[[[390923.197000000043772,392783.135999999998603],[390923.397999999986496,392782.887999999977183]]],[[[390915.653999999980442,392791.597999999998137],[390915.62599999998929,392791.520000000018626]]],[[[390893.90500000002794,392802.681000000040512],[390893.792000000015832,392802.482999999949243]]],[[[390897.658999999985099,392810.60899999999674],[390896.587000000057742,392810.976000000024214]]],[[[390942.909999999974389,392785.87400000001071],[390947.432999999960884,392789.685999999986962]]],[[[390942.909999999974389,392785.87400000001071],[390947.432999999960884,392789.685999999986962]]],[[[390908.472999999998137,392792.172000000020489],[390907.642000000050757,392791.927999999956228]]],[[[390923.397999999986496,392782.887999999977183],[390923.491000000038184,392782.74900000001071]]],[[[390915.62599999998929,392791.520000000018626],[390915.619000000006054,392791.448999999964144]]],[[[390893.792000000015832,392802.482999999949243],[390893.763999999966472,392802.257999999972526]]],[[[390896.587000000057742,392810.976000000024214],[390896.21999999997206,392811.088999999978114]]],[[[390947.432999999960884,392789.685999999986962],[390953.846000000019558,392795.059000000008382]]],[[[390947.432999999960884,392789.685999999986962],[390953.846000000019558,392795.059000000008382]]],[[[390907.642000000050757,392791.927999999956228],[390907.177000000025146,392791.782999999995809]]],[[[390923.491000000038184,392782.74900000001071],[390923.552999999956228,392782.625]]],[[[390915.619000000006054,392791.448999999964144],[390915.619000000006054,392791.371000000042841]]],[[[390893.763999999966472,392802.257999999972526],[390893.820000000006985,392802.003999999957159]]],[[[390896.21999999997206,392811.088999999978114],[390895.542000000015832,392811.117000000027474]]],[[[390953.846000000019558,392795.059000000008382],[390958.462999999988824,392798.896000000007916]]],[[[390953.846000000019558,392795.059000000008382],[390958.462999999988824,392798.896000000007916]]],[[[390907.177000000025146,392791.782999999995809],[390906.75099999998929,392791.616000000038184]]],[[[390923.552999999956228,392782.625],[390923.583999999973457,392782.517000000050757]]],[[[390915.619000000006054,392791.371000000042841],[390915.632999999972526,392791.292999999946915]]],[[[390893.820000000006985,392802.003999999957159],[390894.440999999991618,392801.354999999981374]]],[[[390895.542000000015832,392811.117000000027474],[390894.948999999964144,392811.145000000018626]]],[[[390958.462999999988824,392798.896000000007916],[390959.827000000048429,392800.102999999944586]]],[[[390958.462999999988824,392798.896000000007916],[390959.827000000048429,392800.102999999944586]]],[[[390906.75099999998929,392791.616000000038184],[390906.364000000001397,392791.413999999989755]]],[[[390923.583999999973457,392782.517000000050757],[390923.599999999976717,392782.346000000019558]]],[[[390915.632999999972526,392791.292999999946915],[390915.653999999980442,392791.242999999958556]]],[[[390894.440999999991618,392801.354999999981374],[390894.0,392797.0]]],[[[390894.948999999964144,392811.145000000018626],[390894.299999999988358,392810.976000000024214]]],[[[390959.827000000048429,392800.102999999944586],[390963.864999999990687,392803.673999999999069]]],[[[390959.827000000048429,392800.102999999944586],[390963.864999999990687,392803.673999999999069]]],[[[390959.827000000048429,392800.102999999944586],[390957.304999999993015,392802.791000000026543]]],[[[390906.364000000001397,392791.413999999989755],[390905.7620000000461,392791.025000000023283]]],[[[390923.599999999976717,392782.346000000019558],[390923.583999999973457,392782.192000000039116]]],[[[390915.653999999980442,392791.242999999958556],[390915.682999999960884,392791.215000000025611]]],[[[390894.299999999988358,392810.976000000024214],[390893.763999999966472,392810.6370000000461]]],[[[390963.864999999990687,392803.673999999999069],[390968.351000000024214,392807.642000000050757]]],[[[390963.864999999990687,392803.673999999999069],[390968.351000000024214,392807.642000000050757]]],[[[390963.864999999990687,392803.673999999999069],[390964.468999999982771,392803.03000000002794]]],[[[390957.304999999993015,392802.791000000026543],[390956.914999999979045,392803.162000000011176]]],[[[390905.7620000000461,392791.025000000023283],[390905.366000000038184,392790.721000000019558]]],[[[390923.583999999973457,392782.192000000039116],[390923.537999999942258,392782.052000000025146]]],[[[390915.682999999960884,392791.215000000025611],[390915.717999999993481,392791.179999999993015]]],[[[390893.763999999966472,392810.6370000000461],[390891.222499999974389,392808.690999999991618]]],[[[390968.351000000024214,392807.642000000050757],[390970.01500000001397,392809.072999999974854]]],[[[390968.351000000024214,392807.642000000050757],[390970.01500000001397,392809.072999999974854]]],[[[390956.914999999979045,392803.162000000011176],[390956.692999999970198,392803.353999999992084]]],[[[390905.366000000038184,392790.721000000019558],[390905.122000000032131,392790.468999999982771]]],[[[390923.537999999942258,392782.052000000025146],[390923.476000000024214,392781.897999999986496]]],[[[390915.717999999993481,392791.179999999993015],[390915.775000000023283,392791.151000000012573]]],[[[390891.222499999974389,392808.690999999991618],[390891.137999999977183,392808.521000000007916]]],[[[390970.01500000001397,392809.072999999974854],[390973.534999999974389,392812.101000000024214]]],[[[390970.01500000001397,392809.072999999974854],[390973.534999999974389,392812.101000000024214]]],[[[390970.01500000001397,392809.072999999974854],[390963.032999999995809,392816.614000000001397]]],[[[390956.692999999970198,392803.353999999992084],[390956.520000000018626,392803.452000000048429]]],[[[390905.122000000032131,392790.468999999982771],[390905.01500000001397,392790.340000000025611]]],[[[390923.476000000024214,392781.897999999986496],[390923.352000000013504,392781.773999999975786]]],[[[390915.775000000023283,392791.151000000012573],[390915.880999999993946,392791.116000000038184]]],[[[390891.137999999977183,392808.521000000007916],[390891.10999999998603,392808.352000000013504]]],[[[390973.534999999974389,392812.101000000024214],[390978.625,392816.387999999977183]]],[[[390973.534999999974389,392812.101000000024214],[390978.625,392816.387999999977183]]],[[[390963.032999999995809,392816.614000000001397],[390962.662999999942258,392817.057999999960884]]],[[[390963.032999999995809,392816.614000000001397],[390965.489999999990687,392819.862000000022817]]],[[[390956.520000000018626,392803.452000000048429],[390956.242000000027474,392803.570000000006985]]],[[[390905.01500000001397,392790.340000000025611],[390904.962000000057742,392790.247999999963213]]],[[[390923.352000000013504,392781.773999999975786],[390923.072999999974854,392781.510999999998603]]],[[[390915.880999999993946,392791.116000000038184],[390916.01600000000326,392791.080000000016298]]],[[[390891.10999999998603,392808.352000000013504],[390891.166000000026543,392808.12599999998929]]],[[[390978.625,392816.387999999977183],[390981.878999999957159,392818.817999999970198]]],[[[390978.625,392816.387999999977183],[390981.878999999957159,392818.817999999970198]]],[[[390962.662999999942258,392817.057999999960884],[390962.507000000041444,392817.246000000042841]]],[[[390965.489999999990687,392819.862000000022817],[390964.0,392822.0]]],[[[390956.242000000027474,392803.570000000006985],[390955.804000000003725,392803.705000000016298]]],[[[390904.962000000057742,392790.247999999963213],[390904.939000000013038,392790.179999999993015]]],[[[390923.072999999974854,392781.510999999998603],[390916.237000000022817,392776.135999999998603]]],[[[390916.01600000000326,392791.080000000016298],[390916.107999999949243,392791.052000000025146]]],[[[390891.166000000026543,392808.12599999998929],[390891.336000000010245,392807.872000000032131]]],[[[390981.878999999957159,392818.817999999970198],[390982.421000000031199,392819.260000000009313]]],[[[390981.878999999957159,392818.817999999970198],[390982.421000000031199,392819.260000000009313]]],[[[390962.507000000041444,392817.246000000042841],[390962.383999999961816,392817.320000000006985]]],[[[390955.804000000003725,392803.705000000016298],[390955.50099999998929,392803.822999999974854]]],[[[390904.939000000013038,392790.179999999993015],[390904.923999999999069,392790.081000000005588]]],[[[390916.237000000022817,392776.135999999998603],[390912.695000000006985,392780.427999999956228]]],[[[390916.237000000022817,392776.135999999998603],[390915.184999999997672,392775.310999999986962]]],[[[390916.107999999949243,392791.052000000025146],[390916.185999999986961,392791.017000000050757]]],[[[390982.421000000031199,392819.260000000009313],[390983.882999999972526,392820.451000000000931]]],[[[390982.421000000031199,392819.260000000009313],[390983.882999999972526,392820.451000000000931]]],[[[390982.421000000031199,392819.260000000009313],[390979.167000000015832,392822.695000000006985]]],[[[390962.383999999961816,392817.320000000006985],[390962.252999999967869,392817.337000000057742]]],[[[390955.50099999998929,392803.822999999974854],[390955.315999999991618,392803.945999999996275]]],[[[390904.923999999999069,392790.081000000005588],[390904.932000000029802,392790.005000000004657]]],[[[390912.695000000006985,392780.427999999956228],[390908.0,392779.0]]],[[[390915.184999999997672,392775.310999999986962],[390914.619000000006054,392774.864000000001397]]],[[[390916.185999999986961,392791.017000000050757],[390916.242000000027474,392790.981000000028871]]],[[[390983.882999999972526,392820.451000000000931],[390985.002999999967869,392821.271000000007916]]],[[[390983.882999999972526,392820.451000000000931],[390985.002999999967869,392821.271000000007916]]],[[[390979.167000000015832,392822.695000000006985],[390977.208999999973457,392824.690999999991618]]],[[[390962.252999999967869,392817.337000000057742],[390962.137999999977183,392817.312000000034459]]],[[[390955.315999999991618,392803.945999999996275],[390955.179999999993015,392804.057000000029802]]],[[[390904.932000000029802,392790.005000000004657],[390905.076000000000931,392789.478999999992084]]],[[[390914.619000000006054,392774.864000000001397],[390914.547999999951571,392774.782999999995809]]],[[[390916.242000000027474,392790.981000000028871],[390916.277999999991152,392790.932000000029802]]],[[[390985.002999999967869,392821.271000000007916],[390986.567000000039116,392822.332000000053085]]],[[[390985.002999999967869,392821.271000000007916],[390986.567000000039116,392822.332000000053085]]],[[[390977.208999999973457,392824.690999999991618],[390975.742999999958556,392826.352000000013504]]],[[[390962.137999999977183,392817.312000000034459],[390962.022999999986496,392817.271000000007916]]],[[[390955.179999999993015,392804.057000000029802],[390954.783999999985099,392804.457000000053085]]],[[[390905.076000000000931,392789.478999999992084],[390903.8870000000461,392790.989999999990687]]],[[[390905.076000000000931,392789.478999999992084],[390904.0,392784.0]]],[[[390914.547999999951571,392774.782999999995809],[390914.494000000006054,392774.721000000019558]]],[[[390916.277999999991152,392790.932000000029802],[390916.292000000015832,392790.867999999958556]]],[[[390986.567000000039116,392822.332000000053085],[390987.708999999973457,392823.027999999991152]]],[[[390986.567000000039116,392822.332000000053085],[390987.708999999973457,392823.027999999991152]]],[[[390975.742999999958556,392826.352000000013504],[390975.137999999977183,392827.038999999989755]]],[[[390962.022999999986496,392817.271000000007916],[390961.73499999998603,392817.041000000026543]]],[[[390954.783999999985099,392804.457000000053085],[390951.687999999965541,392807.794999999983702]]],[[[390903.8870000000461,392790.989999999990687],[390902.522999999986496,392792.617000000027474]]],[[[390914.494000000006054,392774.721000000019558],[390914.467000000004191,392774.648999999975786]]],[[[390916.292000000015832,392790.867999999958556],[390916.277999999991152,392790.782999999995809]]],[[[390987.708999999973457,392823.027999999991152],[390991.0,392824.804999999993015]]],[[[390987.708999999973457,392823.027999999991152],[390991.0,392824.804999999993015]]],[[[390975.137999999977183,392827.038999999989755],[390974.926000000035856,392827.23399999999674]]],[[[390975.137999999977183,392827.038999999989755],[390977.78100000001723,392829.753999999957159]]],[[[390961.73499999998603,392817.041000000026543],[390961.463999999978114,392816.787000000011176]]],[[[390951.687999999965541,392807.794999999983702],[390951.537999999942258,392807.965000000025611]]],[[[390902.522999999986496,392792.617000000027474],[390897.0,392791.0]]],[[[390914.467000000004191,392774.648999999975786],[390914.448999999964144,392774.568999999959488]]],[[[390916.277999999991152,392790.782999999995809],[390916.242000000027474,392790.732999999949243]]],[[[390991.0,392824.804999999993015],[390993.402999999991152,392826.054000000003725]]],[[[390991.0,392824.804999999993015],[390993.402999999991152,392826.054000000003725]]],[[[390974.926000000035856,392827.23399999999674],[390974.831000000005588,392827.281000000017229]]],[[[390977.78100000001723,392829.753999999957159],[390976.0,392832.0]]],[[[390961.463999999978114,392816.787000000011176],[390958.0,392817.0]]],[[[390951.537999999942258,392807.965000000025611],[390951.457999999984168,392808.125]]],[[[390914.448999999964144,392774.568999999959488],[390914.457999999984168,392774.497000000032131]]],[[[390916.242000000027474,392790.732999999949243],[390916.157000000006519,392790.647999999986496]]],[[[390993.402999999991152,392826.054000000003725],[390993.935999999986962,392826.331000000005588]]],[[[390993.402999999991152,392826.054000000003725],[390993.935999999986962,392826.331000000005588]]],[[[390993.402999999991152,392826.054000000003725],[390991.103999999992084,392829.14000000001397]]],[[[390974.831000000005588,392827.281000000017229],[390974.676000000035856,392827.310999999986962]]],[[[390951.457999999984168,392808.125],[390951.427999999956228,392808.325000000011642]]],[[[390914.457999999984168,392774.497000000032131],[390914.476000000024214,392774.424999999988358]]],[[[390993.935999999986962,392826.331000000005588],[390994.064000000013039,392826.392999999981839]]],[[[390993.935999999986962,392826.331000000005588],[390994.064000000013039,392826.392999999981839]]],[[[390991.103999999992084,392829.14000000001397],[390990.836000000010244,392829.546000000031199]]],[[[390974.676000000035856,392827.310999999986962],[390974.581000000005588,392827.310999999986962]]],[[[390951.427999999956228,392808.325000000011642],[390951.427999999956228,392808.505000000004657]]],[[[390914.476000000024214,392774.424999999988358],[390914.701000000000931,392774.114999999990687]]],[[[390994.064000000013039,392826.392999999981839],[390997.536000000021886,392828.070000000006985]]],[[[390994.064000000013039,392826.392999999981839],[390997.536000000021886,392828.070000000006985]]],[[[390994.064000000013039,392826.392999999981839],[390993.887999999977183,392826.659999999974389]]],[[[390990.836000000010244,392829.546000000031199],[390990.662000000011176,392829.85999999998603]]],[[[390974.581000000005588,392827.310999999986962],[390974.467000000004191,392827.298999999999069]]],[[[390951.427999999956228,392808.505000000004657],[390951.457999999984168,392808.710000000020955]]],[[[390914.701000000000931,392774.114999999990687],[390910.991000000038184,392771.177999999956228]]],[[[390914.701000000000931,392774.114999999990687],[390915.202000000048429,392773.457999999984168]]],[[[390997.536000000021886,392828.070000000006985],[390999.98499999998603,392829.212000000057742]]],[[[390997.536000000021886,392828.070000000006985],[390999.98499999998603,392829.212000000057742]]],[[[390993.887999999977183,392826.659999999974389],[390993.812000000034459,392826.747999999963213]]],[[[390990.662000000011176,392829.85999999998603],[390990.533999999985099,392830.184999999997672]]],[[[390974.467000000004191,392827.298999999999069],[390974.377999999967869,392827.252000000036787]]],[[[390951.457999999984168,392808.710000000020955],[390951.552999999956228,392808.900000000023283]]],[[[390910.991000000038184,392771.177999999956228],[390910.777000000001863,392771.008999999961816]]],[[[390915.202000000048429,392773.457999999984168],[390917.646000000007916,392770.357000000018161]]],[[[390999.98499999998603,392829.212000000057742],[391004.979999999981374,392831.301000000035856]]],[[[390999.98499999998603,392829.212000000057742],[391000.57760000001872,392829.459900000016205]]],[[[390993.812000000034459,392826.747999999963213],[390993.744999999995343,392826.807000000029802]]],[[[390990.533999999985099,392830.184999999997672],[390989.572000000043772,392833.322000000043772]]],[[[390974.377999999967869,392827.252000000036787],[390973.853999999992084,392826.852999999944586]]],[[[390951.552999999956228,392808.900000000023283],[390951.712999999988824,392809.098999999987427]]],[[[390910.777000000001863,392771.008999999961816],[390910.657000000006519,392770.942999999970198]]],[[[390917.646000000007916,392770.357000000018161],[390910.517999999981839,392764.592999999993481]]],[[[390917.646000000007916,392770.357000000018161],[390920.544999999983702,392766.731000000028871]]],[[[391004.979999999981374,392831.301000000035856],[391009.465000000025611,392833.088999999978114]]],[[[391004.979999999981374,392831.301000000035856],[391009.465000000025611,392833.088999999978114]]],[[[391004.979999999981374,392831.301000000035856],[391000.57760000001872,392829.459900000016205]]],[[[391000.57760000001872,392829.459900000016205],[390996.172000000020489,392840.260000000009313]]],[[[391000.57760000001872,392829.459900000016205],[390996.172000000020489,392840.260000000009313]]],[[[390993.744999999995343,392826.807000000029802],[390993.64000000001397,392826.841000000014901]]],[[[390989.572000000043772,392833.322000000043772],[390989.096000000019558,392834.772999999986496]]],[[[390973.853999999992084,392826.852999999944586],[390969.0,392827.0]]],[[[390951.712999999988824,392809.098999999987427],[390951.837999999988824,392809.198999999964144]]],[[[390910.657000000006519,392770.942999999970198],[390910.547000000020489,392770.909999999974389]]],[[[390910.517999999981839,392764.592999999993481],[390909.0,392760.0]]],[[[390920.544999999983702,392766.731000000028871],[390923.418999999994412,392763.337999999988824]]],[[[391009.465000000025611,392833.088999999978114],[391008.022999999986496,392836.744999999995343]]],[[[391009.465000000025611,392833.088999999978114],[391012.375,392834.182999999960884]]],[[[391009.465000000025611,392833.088999999978114],[391012.375,392834.182999999960884]]],[[[390996.172000000020489,392840.260000000009313],[390996.0,392843.0]]],[[[390993.64000000001397,392826.841000000014901],[390993.577000000048429,392826.832000000053085]]],[[[390989.096000000019558,392834.772999999986496],[390988.793999999994412,392835.422999999951571]]],[[[390951.837999999988824,392809.198999999964144],[390952.417999999946915,392809.568999999959488]]],[[[390910.547000000020489,392770.909999999974389],[390910.453999999968801,392770.898999999975786]]],[[[390923.418999999994412,392763.337999999988824],[390922.171000000031199,392762.286000000021886]]],[[[390923.418999999994412,392763.337999999988824],[390924.232000000018161,392762.3870000000461]]],[[[391008.022999999986496,392836.744999999995343],[391006.125,392841.75099999998929]]],[[[390993.577000000048429,392826.832000000053085],[390993.508999999961816,392826.793999999994412]]],[[[390988.793999999994412,392835.422999999951571],[390988.562000000034459,392835.841000000014901]]],[[[390952.417999999946915,392809.568999999959488],[390954.0,392812.0]]],[[[390910.453999999968801,392770.898999999975786],[390910.307000000029802,392770.898999999975786]]],[[[390922.171000000031199,392762.286000000021886],[390921.887999999977183,392762.002999999967869]]],[[[390924.232000000018161,392762.3870000000461],[390924.413999999989755,392762.163999999989755]]],[[[391006.125,392841.75099999998929],[391005.565000000002328,392843.217999999993481]]],[[[390993.508999999961816,392826.793999999994412],[390993.467000000004191,392826.744000000006054]]],[[[390988.562000000034459,392835.841000000014901],[390988.132000000041444,392836.432000000029802]]],[[[390910.307000000029802,392770.898999999975786],[390909.958999999973457,392770.940999999991618]]],[[[390921.887999999977183,392762.002999999967869],[390921.726000000024214,392761.78100000001723]]],[[[390924.413999999989755,392762.163999999989755],[390924.51500000001397,392762.062999999965541]]],[[[391005.565000000002328,392843.217999999993481],[391002.0,392847.0]]],[[[390993.467000000004191,392826.744000000006054],[390993.450000000011642,392826.677000000025146]]],[[[390988.132000000041444,392836.432000000029802],[390987.226000000024214,392837.534999999974389]]],[[[390909.958999999973457,392770.940999999991618],[390909.717999999993481,392770.967999999993481]]],[[[390921.726000000024214,392761.78100000001723],[390921.523999999975786,392761.457999999984168]]],[[[390924.51500000001397,392762.062999999965541],[390924.635999999998603,392761.962999999988824]]],[[[390993.450000000011642,392826.677000000025146],[390993.458999999973457,392826.60899999999674]]],[[[390987.226000000024214,392837.534999999974389],[390986.947000000043772,392837.814000000013038]]],[[[390909.717999999993481,392770.967999999993481],[390909.412000000011176,392771.005999999993946]]],[[[390921.523999999975786,392761.457999999984168],[390921.119999999995343,392760.650000000023283]]],[[[390924.635999999998603,392761.962999999988824],[390924.797999999951571,392761.882000000041444]]],[[[390993.458999999973457,392826.60899999999674],[390993.492000000027474,392826.521000000007916]]],[[[390986.947000000043772,392837.814000000013038],[390986.866000000038184,392837.895000000018626]]],[[[390909.412000000011176,392771.005999999993946],[390909.224999999976717,392771.017000000050757]]],[[[390921.119999999995343,392760.650000000023283],[390920.797000000020489,392760.043999999994412]]],[[[390924.797999999951571,392761.882000000041444],[390924.979999999981374,392761.862000000022817]]],[[[390993.492000000027474,392826.521000000007916],[390993.551000000035856,392826.412000000011176]]],[[[390986.866000000038184,392837.895000000018626],[390986.772999999986496,392837.929999999993015]]],[[[390986.866000000038184,392837.895000000018626],[390987.307000000029802,392838.184999999997672]]],[[[390909.224999999976717,392771.017000000050757],[390909.056000000040513,392771.022999999986496]]],[[[390920.797000000020489,392760.043999999994412],[390920.533999999985099,392759.64000000001397]]],[[[390924.979999999981374,392761.862000000022817],[390925.182000000029802,392761.882000000041444]]],[[[390993.551000000035856,392826.412000000011176],[390993.787000000011176,392826.133999999961816]]],[[[390986.772999999986496,392837.929999999993015],[390986.679999999993015,392837.929999999993015]]],[[[390987.307000000029802,392838.184999999997672],[390987.922999999951571,392838.510000000009313]]],[[[390909.056000000040513,392771.022999999986496],[390908.771000000007916,392771.0120000000461]]],[[[390920.533999999985099,392759.64000000001397],[390920.231000000028871,392759.236000000033528]]],[[[390925.182000000029802,392761.882000000041444],[390925.443999999959487,392762.017999999981839]]],[[[390993.787000000011176,392826.133999999961816],[390993.989000000001397,392825.96999999997206]]],[[[390986.679999999993015,392837.929999999993015],[390986.587000000057742,392837.907000000006519]]],[[[390987.922999999951571,392838.510000000009313],[390990.477999999944586,392839.867999999958556]]],[[[390908.771000000007916,392771.0120000000461],[390908.492000000027474,392770.98399999999674]]],[[[390920.231000000028871,392759.236000000033528],[390919.947999999974854,392758.932999999960884]]],[[[390925.443999999959487,392762.017999999981839],[390925.739999999990687,392761.64000000001397]]],[[[390925.443999999959487,392762.017999999981839],[390926.091000000014901,392762.507999999972526]]],[[[390993.989000000001397,392825.96999999997206],[390994.166000000026543,392825.872999999963213]]],[[[390986.587000000057742,392837.907000000006519],[390986.017999999981839,392837.5120000000461]]],[[[390990.477999999944586,392839.867999999958556],[390990.0,392841.0]]],[[[390908.492000000027474,392770.98399999999674],[390908.361000000033528,392770.962999999988824]]],[[[390919.947999999974854,392758.932999999960884],[390919.442999999970198,392758.467999999993481]]],[[[390925.739999999990687,392761.64000000001397],[390925.918999999994412,392761.413999999989755]]],[[[390926.091000000014901,392762.507999999972526],[390929.951000000000931,392765.901000000012573]]],[[[390994.166000000026543,392825.872999999963213],[390994.527999999991152,392825.697000000043772]]],[[[390986.017999999981839,392837.5120000000461],[390981.0,392837.0]]],[[[390908.361000000033528,392770.962999999988824],[390908.217999999993481,392770.934999999997672]]],[[[390919.442999999970198,392758.467999999993481],[390917.784999999974389,392756.994000000006054]]],[[[390925.918999999994412,392761.413999999989755],[390926.062000000034459,392761.187999999965541]]],[[[390929.951000000000931,392765.901000000012573],[390932.739000000001397,392768.301000000035856]]],[[[390908.217999999993481,392770.934999999997672],[390908.087000000057742,392770.885999999998603]]],[[[390917.784999999974389,392756.994000000006054],[390913.0,392755.0]]],[[[390926.062000000034459,392761.187999999965541],[390926.168999999994412,392760.950000000011642]]],[[[390932.739000000001397,392768.301000000035856],[390938.130999999993946,392762.197000000043772]]],[[[390932.739000000001397,392768.301000000035856],[390940.702000000048429,392775.184000000008382]]],[[[390908.087000000057742,392770.885999999998603],[390907.934000000008382,392770.815000000002328]]],[[[390926.168999999994412,392760.950000000011642],[390926.216000000014901,392760.760000000009313]]],[[[390938.130999999993946,392762.197000000043772],[390937.547999999951571,392761.707000000053085]]],[[[390938.130999999993946,392762.197000000043772],[390939.538999999989755,392760.603999999992084]]],[[[390940.702000000048429,392775.184000000008382],[390947.038999999989755,392768.130999999993946]]],[[[390940.702000000048429,392775.184000000008382],[390942.352000000013504,392776.625]]],[[[390907.934000000008382,392770.815000000002328],[390907.698999999964144,392770.684000000008382]]],[[[390926.216000000014901,392760.760000000009313],[390926.239999999990687,392760.450000000011642]]],[[[390937.547999999951571,392761.707000000053085],[390937.378999999957159,392761.538999999989755]]],[[[390939.538999999989755,392760.603999999992084],[390943.0,392758.0]]],[[[390947.038999999989755,392768.130999999993946],[390949.0,392763.0]]],[[[390942.352000000013504,392776.625],[390944.147999999986496,392778.217000000004191]]],[[[390907.698999999964144,392770.684000000008382],[390907.12400000001071,392770.223999999987427]]],[[[390926.239999999990687,392760.450000000011642],[390926.203999999968801,392759.927000000025146]]],[[[390937.378999999957159,392761.538999999989755],[390937.284999999974389,392761.417999999946915]]],[[[390944.147999999986496,392778.217000000004191],[390948.940999999991618,392782.352999999944586]]],[[[390944.147999999986496,392778.217000000004191],[390944.182000000029802,392778.111000000033528]]],[[[390907.12400000001071,392770.223999999987427],[390906.396000000007916,392769.567999999970198]]],[[[390926.203999999968801,392759.927000000025146],[390925.585000000020955,392756.047999999951571]]],[[[390937.284999999974389,392761.417999999946915],[390937.231000000028871,392761.342999999993481]]],[[[390948.940999999991618,392782.352999999944586],[390954.592000000004191,392787.287999999942258]]],[[[390948.940999999991618,392782.352999999944586],[390951.512999999977183,392779.362000000022817]]],[[[390944.182000000029802,392778.111000000033528],[390944.201000000000931,392778.007999999972526]]],[[[390906.396000000007916,392769.567999999970198],[390906.330000000016298,392769.502000000036787]]],[[[390925.585000000020955,392756.047999999951571],[390925.09499999997206,392752.8629999999539]]],[[[390937.231000000028871,392761.342999999993481],[390937.197000000043772,392761.255999999993946]]],[[[390954.592000000004191,392787.287999999942258],[390960.502999999967869,392792.289999999979045]]],[[[390951.512999999977183,392779.362000000022817],[390951.778999999980442,392779.033999999985099]]],[[[390944.201000000000931,392778.007999999972526],[390944.201000000000931,392777.911000000021886]]],[[[390906.330000000016298,392769.502000000036787],[390906.287000000011176,392769.442000000039116]]],[[[390925.09499999997206,392752.8629999999539],[390924.960000000020955,392751.851000000024214]]],[[[390937.197000000043772,392761.255999999993946],[390937.177000000025146,392761.174999999988358]]],[[[390960.502999999967869,392792.289999999979045],[390962.99900000001071,392794.377000000036787]]],[[[390960.502999999967869,392792.289999999979045],[390966.597000000008848,392785.202000000048429]]],[[[390951.778999999980442,392779.033999999985099],[390951.872999999963213,392778.902999999991152]]],[[[390944.201000000000931,392777.911000000021886],[390944.187999999965541,392777.802000000025146]]],[[[390906.287000000011176,392769.442000000039116],[390906.258999999961816,392769.37599999998929]]],[[[390924.960000000020955,392751.851000000024214],[390924.892000000050757,392750.923999999999069]]],[[[390937.177000000025146,392761.174999999988358],[390937.177000000025146,392761.081000000005588]]],[[[390962.99900000001071,392794.377000000036787],[390966.382999999972526,392797.222000000008848]]],[[[390966.597000000008848,392785.202000000048429],[390967.382999999972526,392784.224999999976717]]],[[[390951.872999999963213,392778.902999999991152],[390951.956000000005588,392778.753999999957159]]],[[[390944.187999999965541,392777.802000000025146],[390944.156000000017229,392777.717999999993481]]],[[[390906.258999999961816,392769.37599999998929],[390906.247999999963213,392769.299999999988358]]],[[[390924.892000000050757,392750.923999999999069],[390924.87599999998929,392750.417999999946915]]],[[[390937.177000000025146,392761.081000000005588],[390937.190999999991618,392761.007000000041444]]],[[[390966.382999999972526,392797.222000000008848],[390970.343999999982771,392800.554000000003725]]],[[[390967.382999999972526,392784.224999999976717],[390967.789999999979045,392783.707000000053085]]],[[[390951.956000000005588,392778.753999999957159],[390952.0120000000461,392778.62400000001071]]],[[[390944.156000000017229,392777.717999999993481],[390944.072000000043772,392777.60899999999674]]],[[[390906.247999999963213,392769.299999999988358],[390906.247999999963213,392769.228999999992084]]],[[[390924.87599999998929,392750.417999999946915],[390924.892000000050757,392750.013999999966472]]],[[[390937.190999999991618,392761.007000000041444],[390937.231000000028871,392760.926000000035856]]],[[[390970.343999999982771,392800.554000000003725],[390973.518999999971129,392803.236000000033528]]],[[[390967.789999999979045,392783.707000000053085],[390965.176000000035856,392781.033999999985099]]],[[[390967.789999999979045,392783.707000000053085],[390967.869000000006054,392783.614000000001397]]],[[[390952.0120000000461,392778.62400000001071],[390952.067999999970198,392778.466000000014901]]],[[[390944.072000000043772,392777.60899999999674],[390943.950000000011642,392777.49900000001071]]],[[[390906.247999999963213,392769.228999999992084],[390906.258999999961816,392769.162999999942258]]],[[[390924.892000000050757,392750.013999999966472],[390924.960000000020955,392749.676000000035856]]],[[[390937.231000000028871,392760.926000000035856],[390937.284999999974389,392760.84499999997206]]],[[[390973.518999999971129,392803.236000000033528],[390974.707999999984168,392804.21999999997206]]],[[[390973.518999999971129,392803.236000000033528],[390977.440999999991618,392798.797999999951571]]],[[[390965.176000000035856,392781.033999999985099],[390965.0,392778.0]]],[[[390967.869000000006054,392783.614000000001397],[390967.937999999965541,392783.559000000008382]]],[[[390952.067999999970198,392778.466000000014901],[390952.106000000028871,392778.307000000029802]]],[[[390943.950000000011642,392777.49900000001071],[390943.847000000008848,392777.429000000003725]]],[[[390906.258999999961816,392769.162999999942258],[390906.302999999956228,392769.081000000005588]]],[[[390924.960000000020955,392749.676000000035856],[390925.077999999979511,392749.288999999989755]]],[[[390937.284999999974389,392760.84499999997206],[390937.392999999981839,392760.703999999968801]]],[[[390974.707999999984168,392804.21999999997206],[390976.271000000007916,392805.663999999989756]]],[[[390977.440999999991618,392798.797999999951571],[390980.71999999997206,392795.088999999978114]]],[[[390967.937999999965541,392783.559000000008382],[390968.007000000041444,392783.531000000017229]]],[[[390952.106000000028871,392778.307000000029802],[390952.133999999961816,392778.083999999973457]]],[[[390943.847000000008848,392777.429000000003725],[390943.737000000022817,392777.377000000036787]]],[[[390906.302999999956228,392769.081000000005588],[390906.369000000006054,392768.9879999999539]]],[[[390925.077999999979511,392749.288999999989755],[390925.229999999981374,392748.952000000048429]]],[[[390937.392999999981839,392760.703999999968801],[390938.215000000025611,392759.659999999974389]]],[[[390976.271000000007916,392805.663999999989756],[390980.318999999959487,392808.982999999949243]]],[[[390980.71999999997206,392795.088999999978114],[390978.193999999959487,392792.522999999986496]]],[[[390980.71999999997206,392795.088999999978114],[390980.830000000016298,392795.018999999971129]]],[[[390968.007000000041444,392783.531000000017229],[390968.132000000041444,392783.517000000050757]]],[[[390952.133999999961816,392778.083999999973457],[390952.161000000021886,392777.776000000012573]]],[[[390943.737000000022817,392777.377000000036787],[390943.659999999974389,392777.357999999949243]]],[[[390906.369000000006054,392768.9879999999539],[390906.707999999984168,392768.567000000039116]]],[[[390925.229999999981374,392748.952000000048429],[390925.5,392748.445999999996275]]],[[[390938.215000000025611,392759.659999999974389],[390940.0,392756.0]]],[[[390980.318999999959487,392808.982999999949243],[390983.289999999979045,392812.0120000000461]]],[[[390978.193999999959487,392792.522999999986496],[390978.0,392789.0]]],[[[390980.830000000016298,392795.018999999971129],[390980.951000000000931,392794.989000000001397]]],[[[390968.132000000041444,392783.517000000050757],[390968.298999999999069,392783.572999999974854]]],[[[390952.161000000021886,392777.776000000012573],[390952.189000000013039,392777.450000000011642]]],[[[390943.659999999974389,392777.357999999949243],[390943.562999999965541,392777.357999999949243]]],[[[390906.707999999984168,392768.567000000039116],[390906.0,392764.0]]],[[[390925.5,392748.445999999996275],[390926.112000000022817,392747.462999999988824]]],[[[390983.289999999979045,392812.0120000000461],[390985.7620000000461,392814.221000000019558]]],[[[390980.951000000000931,392794.989000000001397],[390981.082000000053085,392794.958999999973457]]],[[[390968.298999999999069,392783.572999999974854],[390968.409999999974389,392783.642000000050757]]],[[[390952.189000000013039,392777.450000000011642],[390952.227000000013504,392777.236000000033528]]],[[[390943.562999999965541,392777.357999999949243],[390943.472999999998137,392777.377000000036787]]],[[[390926.112000000022817,392747.462999999988824],[390926.443999999959487,392747.366000000038184]]],[[[390926.112000000022817,392747.462999999988824],[390924.179000000003725,392748.181000000040513]]],[[[390985.7620000000461,392814.221000000019558],[390988.242999999958556,392815.901000000012573]]],[[[390981.082000000053085,392794.958999999973457],[390981.202000000048429,392794.958999999973457]]],[[[390968.409999999974389,392783.642000000050757],[390968.576000000000931,392783.78100000001723]]],[[[390952.227000000013504,392777.236000000033528],[390952.282999999995809,392777.022000000055414]]],[[[390943.472999999998137,392777.377000000036787],[390943.39000000001397,392777.416000000026543]]],[[[390926.443999999959487,392747.366000000038184],[390926.73399999999674,392747.282999999995809]]],[[[390924.179000000003725,392748.181000000040513],[390921.099999999976717,392749.367000000027474]]],[[[390988.242999999958556,392815.901000000012573],[390988.443999999959487,392815.943999999959488]]],[[[390988.242999999958556,392815.901000000012573],[390990.62599999998929,392817.377000000036787]]],[[[390981.202000000048429,392794.958999999973457],[390981.332999999984168,392794.978999999992084]]],[[[390968.576000000000931,392783.78100000001723],[390969.687000000034459,392784.792999999946915]]],[[[390952.282999999995809,392777.022000000055414],[390952.310999999986962,392776.919999999983702]]],[[[390943.39000000001397,392777.416000000026543],[390943.306000000040513,392777.505999999993946]]],[[[390926.73399999999674,392747.282999999995809],[390926.982000000018161,392747.255999999993946]]],[[[390921.099999999976717,392749.367000000027474],[390918.462000000057742,392750.361000000033528]]],[[[390988.443999999959487,392815.943999999959488],[390988.650000000023283,392815.950000000011642]]],[[[390990.62599999998929,392817.377000000036787],[390993.25,392818.979999999981374]]],[[[390990.62599999998929,392817.377000000036787],[390993.25,392818.979999999981374]]],[[[390981.332999999984168,392794.978999999992084],[390981.412999999942258,392795.008999999961816]]],[[[390969.687000000034459,392784.792999999946915],[390973.0,392785.0]]],[[[390952.310999999986962,392776.919999999983702],[390952.366000000038184,392776.760999999998603]]],[[[390943.306000000040513,392777.505999999993946],[390943.034999999974389,392777.827999999979511]]],[[[390926.982000000018161,392747.255999999993946],[390927.176000000035856,392747.255999999993946]]],[[[390918.462000000057742,392750.361000000033528],[390917.0,392751.0]]],[[[390988.650000000023283,392815.950000000011642],[390988.853999999992084,392815.917999999946915]]],[[[390993.25,392818.979999999981374],[390995.557000000029802,392820.130999999993946]]],[[[390993.25,392818.979999999981374],[390995.557000000029802,392820.130999999993946]]],[[[390981.412999999942258,392795.008999999961816],[390981.523999999975786,392795.078999999968801]]],[[[390952.366000000038184,392776.760999999998603],[390952.440999999991618,392776.622000000032131]]],[[[390943.034999999974389,392777.827999999979511],[390942.693999999959488,392778.174999999988358]]],[[[390927.176000000035856,392747.255999999993946],[390927.369000000006054,392747.297000000020489]]],[[[390988.853999999992084,392815.917999999946915],[390989.047999999951571,392815.851000000024214]]],[[[390995.557000000029802,392820.130999999993946],[390997.982999999949243,392821.471000000019558]]],[[[390995.557000000029802,392820.130999999993946],[390997.982999999949243,392821.471000000019558]]],[[[390981.523999999975786,392795.078999999968801],[390982.35899999999674,392795.762999999977183]]],[[[390952.440999999991618,392776.622000000032131],[390952.581000000005588,392776.445000000006985]]],[[[390942.693999999959488,392778.174999999988358],[390942.332999999984168,392778.51600000000326]]],[[[390927.369000000006054,392747.297000000020489],[390927.534999999974389,392747.338999999978114]]],[[[390989.047999999951571,392815.851000000024214],[390989.227000000013504,392815.74900000001071]]],[[[390997.982999999949243,392821.471000000019558],[390999.996000000042841,392822.532000000006519]]],[[[390997.982999999949243,392821.471000000019558],[390999.996000000042841,392822.532000000006519]]],[[[390982.35899999999674,392795.762999999977183],[390986.0,392795.0]]],[[[390952.581000000005588,392776.445000000006985],[390954.099999999976717,392774.60999999998603]]],[[[390927.534999999974389,392747.338999999978114],[390927.645000000018626,392747.393999999971129]]],[[[390989.227000000013504,392815.74900000001071],[390989.385000000009313,392815.617000000027474]]],[[[390999.996000000042841,392822.532000000006519],[391002.28000000002794,392823.398999999975786]]],[[[390999.996000000042841,392822.532000000006519],[391002.28000000002794,392823.398999999975786]]],[[[390954.099999999976717,392774.60999999998603],[390954.732000000018161,392773.897000000055414]]],[[[390927.645000000018626,392747.393999999971129],[390927.770000000018626,392747.462999999988824]]],[[[390989.385000000009313,392815.617000000027474],[390989.51600000000326,392815.457999999984168]]],[[[391002.28000000002794,392823.398999999975786],[391004.255000000004657,392819.013999999966472]]],[[[391002.28000000002794,392823.398999999975786],[391005.614999999990687,392824.809999999997672]]],[[[391002.28000000002794,392823.398999999975786],[391005.614999999990687,392824.809999999997672]]],[[[390954.732000000018161,392773.897000000055414],[390955.052999999956228,392773.534999999974389]]],[[[390927.770000000018626,392747.462999999988824],[390927.934999999997672,392747.601000000024214]]],[[[390989.51600000000326,392815.457999999984168],[390989.573499999998603,392815.375500000023749]]],[[[391004.255000000004657,392819.013999999966472],[391004.582000000053085,392818.39100000000326]]],[[[391005.614999999990687,392824.809999999997672],[391009.669999999983702,392826.422999999951571]]],[[[391005.614999999990687,392824.809999999997672],[391009.669999999983702,392826.422999999951571]]],[[[390955.052999999956228,392773.534999999974389],[390955.133999999961816,392773.465000000025611]]],[[[390927.934999999997672,392747.601000000024214],[390928.184000000008382,392747.848999999987427]]],[[[390989.573499999998603,392815.375500000023749],[390990.602000000013504,392813.3629999999539]]],[[[391004.582000000053085,392818.39100000000326],[391005.270000000018626,392816.532000000006519]]],[[[391009.669999999983702,392826.422999999951571],[391016.00099999998929,392829.070000000006985]]],[[[391009.669999999983702,392826.422999999951571],[391016.00099999998929,392829.070000000006985]]],[[[390955.133999999961816,392773.465000000025611],[390955.203999999968801,392773.417999999946915]]],[[[390928.184000000008382,392747.848999999987427],[390931.0,392748.0]]],[[[390928.184000000008382,392747.848999999987427],[390935.0,392751.0]]],[[[390990.602000000013504,392813.3629999999539],[390991.411000000021886,392812.135999999998603]]],[[[391005.270000000018626,392816.532000000006519],[391006.257000000041444,392814.423999999999069]]],[[[391016.00099999998929,392829.070000000006985],[391018.607000000018161,392830.062999999965541]]],[[[391016.00099999998929,392829.070000000006985],[391018.607000000018161,392830.062999999965541]]],[[[390955.203999999968801,392773.417999999946915],[390955.284999999974389,392773.377999999967869]]],[[[390991.411000000021886,392812.135999999998603],[390991.997000000032131,392810.992000000027474]]],[[[391006.257000000041444,392814.423999999999069],[391006.471000000019558,392814.211000000010245]]],[[[391018.607000000018161,392830.062999999965541],[391020.304000000003725,392830.434999999997672]]],[[[391018.607000000018161,392830.062999999965541],[391020.304000000003725,392830.434999999997672]]],[[[390955.284999999974389,392773.377999999967869],[390955.354999999981374,392773.35999999998603]]],[[[390991.997000000032131,392810.992000000027474],[390992.556000000040513,392809.76500000001397]]],[[[391006.471000000019558,392814.211000000010245],[391006.76500000001397,392813.971000000019558]]],[[[391006.471000000019558,392814.211000000010245],[391005.777000000001863,392813.729999999981374]]],[[[391020.304000000003725,392830.434999999997672],[391021.503999999957159,392830.434999999997672]]],[[[391020.304000000003725,392830.434999999997672],[391021.503999999957159,392830.434999999997672]]],[[[390955.354999999981374,392773.35999999998603],[390955.424999999988358,392773.354999999981374]]],[[[390992.556000000040513,392809.76500000001397],[390993.7620000000461,392807.804000000003725]]],[[[391006.76500000001397,392813.971000000019558],[391007.112000000022817,392813.917000000015832]]],[[[391005.777000000001863,392813.729999999981374],[391004.148999999975786,392812.60999999998603]]],[[[391021.503999999957159,392830.434999999997672],[391022.496000000042841,392830.239000000001397]]],[[[391021.503999999957159,392830.434999999997672],[391022.496000000042841,392830.239000000001397]]],[[[390955.424999999988358,392773.354999999981374],[390955.494999999995343,392773.354999999981374]]],[[[390993.7620000000461,392807.804000000003725],[390994.075000000011642,392807.333999999973457]]],[[[391007.112000000022817,392813.917000000015832],[391007.646000000007916,392813.917000000015832]]],[[[391004.148999999975786,392812.60999999998603],[391005.0,392808.0]]],[[[390955.494999999995343,392773.354999999981374],[390955.564000000013038,392773.35999999998603]]],[[[390994.075000000011642,392807.333999999973457],[390994.421000000031199,392806.815999999991618]]],[[[390994.075000000011642,392807.333999999973457],[390992.315999999991618,392804.712000000057742]]],[[[391007.646000000007916,392813.917000000015832],[391008.286000000021886,392814.130999999993946]]],[[[390955.564000000013038,392773.35999999998603],[390956.755999999993946,392773.690999999991618]]],[[[390994.421000000031199,392806.815999999991618],[390994.96999999997206,392805.952999999979511]]],[[[390992.315999999991618,392804.712000000057742],[390990.810999999986962,392802.497000000032131]]],[[[391008.286000000021886,392814.130999999993946],[391010.60899999999674,392815.357999999949243]]],[[[390956.755999999993946,392773.690999999991618],[390952.377000000036787,392769.849999999976717]]],[[[390956.755999999993946,392773.690999999991618],[390960.0,392774.0]]],[[[390994.96999999997206,392805.952999999979511],[390995.1129999999539,392805.809999999997672]]],[[[390990.810999999986962,392802.497000000032131],[390991.0,392798.0]]],[[[391010.60899999999674,392815.357999999949243],[391014.0,392812.0]]],[[[390952.377000000036787,392769.849999999976717],[390952.0,392766.0]]],[[[390995.1129999999539,392805.809999999997672],[390995.257000000041444,392805.717999999993481]]],[[[390995.257000000041444,392805.717999999993481],[390995.401000000012573,392805.717999999993481]]],[[[390995.401000000012573,392805.717999999993481],[390995.583999999973457,392805.757999999972526]]],[[[390995.583999999973457,392805.757999999972526],[390995.885000000009313,392805.913999999989756]]],[[[390995.885000000009313,392805.913999999989756],[390996.354999999981374,392806.267000000050757]]],[[[390996.354999999981374,392806.267000000050757],[391001.0,392805.0]]]]}", + "orient": "split", "dtype": { "coords": "object" - }, - "orient": "split" + } }, "bus_geodata": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"x\",\"y\",\"coords\"],\"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,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906],\"data\":[[390883.0,392897.0,null],[390872.662999999942258,392887.378999999957159,null],[390871.596000000019558,392887.637999999977183,null],[390871.481000000028871,392887.642999999981839,null],[390871.378999999957159,392887.607999999949243,null],[390871.304999999993015,392887.549999999988358,null],[390871.23399999999674,392887.419999999983702,null],[390868.778999999980442,392877.6370000000461,null],[390868.752999999967869,392877.185999999986961,null],[390868.752999999967869,392876.809999999997672,null],[390868.804000000003725,392876.48399999999674,null],[390868.903999999980442,392876.258999999961816,null],[390869.078999999968801,392876.107999999949243,null],[390869.179999999993015,392876.007999999972526,null],[390869.5,392875.857000000018161,null],[390872.292000000015832,392875.207999999984168,null],[390872.314000000013038,392875.302000000025146,null],[390875.677999999956228,392874.422000000020489,null],[390872.315999999991618,392875.346000000019558,null],[390875.907000000006519,392874.352999999944586,null],[390872.312000000034459,392875.392000000050757,null],[390876.142000000050757,392874.222999999998137,null],[390872.302999999956228,392875.432999999960884,null],[390876.440000000002328,392873.902999999991152,null],[390872.287999999942258,392875.482000000018161,null],[390877.002999999967869,392873.341000000014901,null],[390872.262999999977183,392875.532000000006519,null],[390880.364000000001397,392878.195999999996275,null],[390884.190000000002328,392866.432999999960884,null],[390872.239000000001397,392875.581000000005588,null],[390881.306000000040513,392879.522000000055414,null],[390879.232000000018161,392879.304999999993015,null],[390886.111000000033528,392864.602000000013504,null],[390872.169999999983702,392875.710000000020955,null],[390885.0,392880.0,null],[390879.207999999984168,392879.352999999944586,null],[390890.169500000018161,392868.642000000050757,null],[390891.918999999994412,392859.065000000002328,null],[390872.092000000004191,392875.822000000043772,null],[390879.182999999960884,392879.426000000035856,null],[390890.443999999959487,392868.351000000024214,null],[390891.409999999974389,392869.955000000016298,null],[390895.962999999988824,392855.237000000022817,null],[390891.775000000023283,392858.902999999991152,null],[390872.072999999974854,392875.849999999976717,null],[390879.158999999985099,392879.522000000055414,null],[390890.570999999996275,392868.222999999998137,null],[390893.0,392874.0,null],[390899.026000000012573,392852.352000000013504,null],[390891.742000000027474,392858.804000000003725,null],[390872.037999999942258,392875.882999999972526,null],[390879.158999999985099,392879.762999999977183,null],[390890.753999999957159,392868.167999999946915,null],[390899.474999999976717,392851.943999999959488,null],[390899.491000000038184,392852.791000000026543,null],[390891.758999999961816,392858.689000000013038,null],[390871.963999999978114,392875.929999999993015,null],[390879.232000000018161,392879.956000000005588,null],[390890.935999999986962,392868.167999999946915,null],[390901.468999999982771,392850.052999999956228,null],[390899.547999999951571,392852.822999999974854,null],[390891.775000000023283,392858.590000000025611,null],[390871.892000000050757,392875.960000000020955,null],[390879.907000000006519,392880.679000000003725,null],[390891.044999999983702,392868.167999999946915,null],[390901.869999999995343,392849.663999999989756,null],[390907.229999999981374,392855.96999999997206,null],[390899.617999999958556,392852.847000000008848,null],[390891.825000000011642,392858.507999999972526,null],[390871.812000000034459,392875.982999999949243,null],[390881.0,392884.0,null],[390891.246000000042841,392868.241000000038184,null],[390906.932000000029802,392845.427999999956228,null],[390907.0,392860.0,null],[390907.0,392860.0,null],[390899.792999999946915,392852.8870000000461,null],[390891.972000000008848,392858.323999999964144,null],[390871.435999999986962,392876.082999999984168,null],[390892.047999999951571,392868.96999999997206,null],[390908.6129999999539,392843.857000000018161,null],[390899.888999999966472,392852.926000000035856,null],[390892.5120000000461,392857.807999999960884,null],[390870.934999999997672,392876.182999999960884,null],[390896.0,392870.0,null],[390909.025000000023283,392843.570000000006985,null],[390899.982000000018161,392852.987000000022817,null],[390893.557999999960884,392856.820000000006985,null],[390870.633999999961816,392876.258999999961816,null],[390909.877999999967869,392843.013999999966472,null],[390900.059999999997672,392853.057000000029802,null],[390893.775000000023283,392856.554999999993015,null],[390870.525000000023283,392876.284999999974389,null],[390910.741000000038184,392842.592999999993481,null],[390893.802999999956228,392856.496000000042841,null],[390870.492000000027474,392876.296000000031199,null],[390911.229999999981374,392842.323999999964144,null],[390893.799999999988358,392856.409999999974389,null],[390870.457999999984168,392876.309999999997672,null],[390911.556000000040513,392842.152000000001863,null],[390893.78100000001723,392856.377999999967869,null],[390870.382999999972526,392876.35899999999674,null],[390911.997000000032131,392841.897999999986496,null],[390890.706000000005588,392852.332000000053085,null],[390870.157000000006519,392876.533999999985099,null],[390912.282000000006519,392841.942000000039116,null],[390912.282000000006519,392841.71999999997206,null],[390890.64000000001397,392852.121000000042841,null],[390912.630000000004657,392841.967000000004191,null],[390912.429999999993015,392841.599999999976717,null],[390890.510999999998603,392851.689000000013038,null],[390913.032000000006519,392842.010999999998603,null],[390917.462999999988824,392836.01500000001397,null],[390883.277000000001863,392842.143999999971129,null],[390913.6370000000461,392842.130000000004657,null],[390918.003999999957159,392835.491000000038184,null],[390876.522999999986496,392833.895000000018626,null],[390914.400000000023283,392842.34499999997206,null],[390918.76500000001397,392836.292999999946915,null],[390915.4879999999539,392832.838999999978114,null],[390875.777999999991152,392833.236000000033528,null],[390914.923999999999069,392842.567000000039116,null],[390918.948999999964144,392836.228999999992084,null],[390919.135000000009313,392836.684000000008382,null],[390910.895000000018626,392828.10999999998603,null],[390875.198999999964144,392832.799999999988358,null],[390915.64000000001397,392842.932999999960884,null],[390919.114999999990687,392836.198999999964144,null],[390920.87599999998929,392838.517999999981839,null],[390908.833999999973457,392825.978999999992084,null],[390874.662000000011176,392832.479999999981374,null],[390916.402999999991152,392843.351000000024214,null],[390919.23399999999674,392836.205000000016298,null],[390923.576000000000931,392835.814000000013038,null],[390925.817000000039116,392843.724999999976717,null],[390908.271000000007916,392825.299999999988358,null],[390872.864999999990687,392831.802999999956228,null],[390917.072000000043772,392843.826000000000931,null],[390919.412000000011176,392836.252999999967869,null],[390923.798999999999069,392835.572000000043772,null],[390929.523999999975786,392847.568999999959488,null],[390907.614999999990687,392824.551000000035856,null],[390871.466000000014901,392831.607000000018161,null],[390918.076000000000931,392844.727000000013504,null],[390919.607999999949243,392836.347999999998137,null],[390923.972999999998137,392835.299999999988358,null],[390932.01500000001397,392850.135000000009313,null],[390907.052999999956228,392823.802000000025146,null],[390871.226000000024214,392831.622999999963213,null],[390922.542000000015832,392849.331000000005588,null],[390919.7620000000461,392836.466000000014901,null],[390924.070000000006985,392835.057999999960884,null],[390934.502999999967869,392852.697000000043772,null],[390935.583999999973457,392846.447999999974854,null],[390906.491000000038184,392822.864999999990687,null],[390871.172999999951571,392831.687000000034459,null],[390923.521000000007916,392850.327999999979511,null],[390919.90500000002794,392836.632000000041444,null],[390924.127999999967869,392834.671000000031199,null],[390941.046000000031199,392859.544999999983702,null],[390935.817000000039116,392846.239999999990687,null],[390906.349999999976717,392822.583999999973457,null],[390871.127999999967869,392831.801000000035856,null],[390915.060999999986961,392858.471000000019558,null],[390927.222000000008848,392854.099999999976717,null],[390920.0120000000461,392836.804999999993015,null],[390924.168999999994412,392834.201000000000931,null],[390943.336000000010245,392861.907000000006519,null],[390935.994999999995343,392846.017000000050757,null],[390905.502000000036787,392821.0120000000461,null],[390871.099999999976717,392832.048999999999069,null],[390913.477999999944586,392860.025000000023283,null],[390931.986000000033528,392859.25,null],[390920.077000000048429,392836.965000000025611,null],[390924.246000000042841,392833.852999999944586,null],[390946.010000000009313,392864.771000000007916,null],[390946.317000000039116,392858.942000000039116,null],[390936.049999999988358,392845.912000000011176,null],[390905.189000000013039,392820.052999999956228,null],[390910.0,392863.0,null],[390932.787999999942258,392860.117999999958556,null],[390930.205000000016298,392860.892000000050757,null],[390920.101000000024214,392837.142999999981839,null],[390924.411000000021886,392833.474999999976717,null],[390946.422000000020489,392865.190000000002328,null],[390946.617999999958556,392858.602000000013504,null],[390936.119000000006054,392845.666000000026543,null],[390905.022000000055414,392819.322999999974854,null],[390935.932000000029802,392863.544999999983702,null],[390923.046000000031199,392867.911000000021886,null],[390920.09499999997206,392837.297000000020489,null],[390924.643999999971129,392833.164999999979045,null],[390948.046000000031199,392866.840000000025611,null],[390946.652000000001863,392865.033999999985099,null],[390946.840000000025611,392858.222999999998137,null],[390936.242000000027474,392845.027000000001863,null],[390904.937999999965541,392818.65500000002794,null],[390941.567999999970198,392869.642999999981839,null],[390921.647000000055414,392869.282999999995809,null],[390923.823999999964144,392868.73399999999674,null],[390920.042000000015832,392837.481000000028871,null],[390924.934000000008382,392832.864999999990687,null],[390948.692999999970198,392867.510000000009313,null],[390946.807000000029802,392864.978999999992084,null],[390946.971000000019558,392857.897000000055414,null],[390936.287999999942258,392844.647999999986496,null],[390905.00099999998929,392817.820999999996275,null],[390939.127999999967869,392871.786000000021886,null],[390943.018999999971129,392871.212000000057742,null],[390917.0,392871.0,null],[390923.916000000026543,392868.864999999990687,null],[390919.804000000003725,392837.861000000033528,null],[390925.39000000001397,392832.418999999994412,null],[390946.962000000057742,392864.96999999997206,null],[390947.022999999986496,392857.622000000032131,null],[390936.387999999977183,392844.400000000023283,null],[390905.25099999998929,392816.297999999951571,null],[390931.5120000000461,392879.201000000000931,null],[390945.597000000008848,392874.081000000005588,null],[390923.961000000010244,392868.986000000033528,null],[390919.412000000011176,392838.407000000006519,null],[390926.642999999981839,392831.208999999973457,null],[390947.12599999998929,392865.01500000001397,null],[390947.088999999978114,392857.033999999985099,null],[390936.60999999998603,392843.935999999986962,null],[390905.690000000002328,392815.026000000012573,null],[390927.0,392880.0,null],[390946.518999999971129,392875.103999999992084,null],[390923.967000000004191,392869.088999999978114,null],[390926.75,392831.106000000028871,null],[390947.326000000000931,392865.133999999961816,null],[390947.179999999993015,392856.577000000048429,null],[390936.74900000001071,392843.721000000019558,null],[390906.065000000002328,392814.190999999991618,null],[390937.556000000040513,392882.923999999999069,null],[390947.272999999986496,392875.942000000039116,null],[390923.916000000026543,392869.2379999999539,null],[390926.804999999993015,392831.065000000002328,null],[390947.489999999990687,392865.260999999998603,null],[390947.287000000011176,392856.272000000055414,null],[390936.87400000001071,392843.588999999978114,null],[390906.398999999975786,392813.690999999991618,null],[390936.301000000035856,392884.111000000033528,null],[390923.807000000029802,392869.3870000000461,null],[390926.875,392831.042999999946915,null],[390947.590000000025611,392865.397000000055414,null],[390947.457000000053085,392855.997999999963213,null],[390938.352000000013504,392842.12599999998929,null],[390907.212999999988824,392812.684999999997672,null],[390931.0,392884.0,null],[390931.0,392884.0,null],[390923.606000000028871,392869.587000000057742,null],[390926.945000000006985,392831.047000000020489,null],[390947.62599999998929,392865.525000000023283,null],[390947.783999999985099,392855.657999999995809,null],[390938.796000000031199,392841.702999999979511,null],[390910.804999999993015,392815.497000000032131,null],[390907.752000000036787,392812.018999999971129,null],[390922.854999999981374,392870.302999999956228,null],[390927.018999999971129,392831.072000000043772,null],[390947.635000000009313,392865.697999999974854,null],[390949.052000000025146,392854.417000000015832,null],[390938.913999999989756,392841.632999999972526,null],[390911.309000000008382,392815.87599999998929,null],[390909.871000000042841,392809.603999999992084,null],[390921.0,392875.0,null],[390927.156000000017229,392831.157000000006519,null],[390947.598999999987427,392865.888999999966472,null],[390949.357999999949243,392854.137999999977183,null],[390936.706000000005588,392838.972000000008848,null],[390939.032000000006519,392841.619999999995343,null],[390911.513999999966472,392816.081000000005588,null],[390913.164999999979045,392812.297000000020489,null],[390910.582999999984168,392808.792999999946915,null],[390927.282000000006519,392831.267999999981839,null],[390947.507999999972526,392866.042999999946915,null],[390949.51600000000326,392854.032999999995809,null],[390935.0,392836.0,null],[390939.171000000031199,392841.6129999999539,null],[390911.682999999960884,392816.380999999993946,null],[390913.419999999983702,392812.472000000008848,null],[390913.172999999951571,392805.861000000033528,null],[390927.695000000006985,392831.755000000004657,null],[390947.070999999996275,392866.462000000057742,null],[390949.635999999998603,392853.99900000001071,null],[390939.296000000031199,392841.627000000036787,null],[390911.851000000024214,392816.885000000009313,null],[390913.647999999986496,392812.586000000010244,null],[390914.333999999973457,392804.546000000031199,null],[390912.467000000004191,392805.282000000006519,null],[390931.0,392831.0,null],[390946.507000000041444,392867.043999999994412,null],[390949.096000000019558,392853.309000000008382,null],[390949.744000000006054,392853.994999999995343,null],[390939.413999999989755,392841.674999999988358,null],[390912.00099999998929,392817.333999999973457,null],[390913.996000000042841,392812.685999999986962,null],[390914.838999999978114,392803.916000000026543,null],[390909.292000000015832,392803.146000000007916,null],[390948.847999999998137,392852.992000000027474,null],[390949.818999999959488,392854.010000000009313,null],[390939.538999999989755,392841.731000000028871,null],[390912.187999999965541,392817.651000000012573,null],[390915.583999999973457,392813.037000000011176,null],[390918.268999999971129,392799.908999999985099,null],[390908.726000000024214,392802.518999999971129,null],[390948.392500000016298,392852.485500000009779,null],[390949.897999999986496,392854.051000000035856,null],[390940.114999999990687,392842.277999999991152,null],[390912.453999999968801,392818.023999999975786,null],[390915.882000000041444,392813.132999999972526,null],[390918.528999999980442,392799.6129999999539,null],[390908.547999999951571,392802.302000000025146,null],[390947.472000000008848,392851.557000000029802,null],[390950.032000000006519,392854.156000000017229,null],[390943.0,392844.0,null],[390912.782999999995809,392818.364999999990687,null],[390916.092999999993481,392813.228999999992084,null],[390919.049999999988358,392800.0,null],[390923.291000000026543,392794.190999999991618,null],[390908.46999999997206,392802.177999999956228,null],[390946.0,392848.0,null],[390950.481000000028871,392854.630000000004657,null],[390913.190999999991618,392818.747000000032131,null],[390916.330000000016298,392813.352000000013504,null],[390921.635999999998603,392802.117999999958556,null],[390925.510999999998603,392791.532999999995809,null],[390908.407999999995809,392802.068999999959487,null],[390952.0,392853.0,null],[390913.426000000035856,392818.962000000057742,null],[390916.548999999999069,392813.50099999998929,null],[390922.556000000040513,392802.836000000010244,null],[390932.59399999998277,392797.298999999999069,null],[390929.741900000022724,392786.372900000016671,null],[390908.353999999992084,392801.937000000034459,null],[390914.5120000000461,392819.90600000001723,null],[390918.357000000018161,392814.966000000014901,null],[390924.531000000017229,392804.432999999960884,null],[390935.0,392800.0,null],[390934.962999999988824,392790.739999999990687,null],[390930.510999999998603,392785.434999999997672,null],[390908.322999999974854,392801.828999999968801,null],[390914.974999999976717,392820.221000000019558,null],[390923.0,392816.0,null],[390926.150000000023283,392805.742000000027474,null],[390923.880000000004657,392805.164999999979045,null],[390937.604999999981374,392792.914999999979045,null],[390931.167999999946915,392784.630000000004657,null],[390908.307999999960884,392801.736000000033528,null],[390915.148999999975786,392820.307999999960884,null],[390929.0,392807.0,null],[390923.818999999959488,392805.287000000011176,null],[390937.856000000028871,392793.111000000033528,null],[390931.702999999979511,392784.132000000041444,null],[390908.307999999960884,392801.651000000012573,null],[390915.289999999979045,392820.347999999998137,null],[390923.757999999972526,392805.422000000020489,null],[390937.948999999964144,392793.203999999968801,null],[390932.460000000020955,392783.602999999944586,null],[390908.315000000002328,392801.581000000005588,null],[390915.397000000055414,392820.354999999981374,null],[390923.744000000006054,392805.551000000035856,null],[390938.005000000004657,392793.277999999991152,null],[390932.952999999979511,392783.299999999988358,null],[390908.338999999978114,392801.502999999967869,null],[390915.451000000000931,392820.347999999998137,null],[390923.772000000055414,392805.685999999986962,null],[390938.023999999975786,392793.371000000042841,null],[390933.747999999963213,392782.902999999991152,null],[390908.385000000009313,392801.426000000035856,null],[390915.510999999998603,392820.294999999983702,null],[390923.85999999998603,392805.862000000022817,null],[390938.023999999975786,392793.482999999949243,null],[390934.598999999987427,392782.657000000006519,null],[390908.689000000013038,392801.042999999946915,null],[390915.592000000004191,392820.187999999965541,null],[390924.022000000055414,392806.037999999942258,null],[390938.005000000004657,392793.622999999963213,null],[390935.583999999973457,392782.523999999975786,null],[390910.979999999981374,392798.157000000006519,null],[390907.282000000006519,392801.15500000002794,null],[390915.907000000006519,392819.679000000003725,null],[390925.152000000001863,392806.997999999963213,null],[390937.967999999993481,392793.744000000006054,null],[390936.302999999956228,392782.505000000004657,null],[390913.207999999984168,392795.419999999983702,null],[390898.776000000012573,392802.817000000039116,null],[390906.35999999998603,392802.282000000006519,null],[390918.0,392819.0,null],[390926.0,392812.0,null],[390937.912000000011176,392793.827000000048429,null],[390937.15500000002794,392782.599999999976717,null],[390913.306700000015553,392795.297800000000279,null],[390895.65500000002794,392803.357999999949243,null],[390901.453999999968801,392808.388999999966472,null],[390937.791000000026543,392793.948999999964144,null],[390938.366000000038184,392782.883999999961816,null],[390910.051000000035856,392792.872000000032131,null],[390915.116000000038184,392793.057999999960884,null],[390895.343999999982771,392803.442999999970198,null],[390901.096000000019558,392808.831000000005588,null],[390937.343999999982771,392794.348999999987427,null],[390939.237000000022817,392783.187000000034459,null],[390909.746000000042841,392792.658999999985099,null],[390916.01500000001397,392791.99900000001071,null],[390895.119000000006054,392803.442999999970198,null],[390900.932999999960884,392809.017999999981839,null],[390937.0,392798.0,null],[390940.012999999977183,392783.622000000032131,null],[390909.562999999965541,392792.552999999956228,null],[390918.607000000018161,392788.706000000005588,null],[390915.752999999967869,392791.724999999976717,null],[390894.892999999981839,392803.385999999998603,null],[390900.791000000026543,392809.106000000028871,null],[390940.732000000018161,392784.1129999999539,null],[390909.432999999960884,392792.492000000027474,null],[390922.397999999986496,392784.096000000019558,null],[390915.690000000002328,392791.653999999980442,null],[390894.073999999964144,392802.849999999976717,null],[390900.538999999989755,392809.227000000013504,null],[390941.548999999999069,392784.767999999981839,null],[390909.212000000057742,392792.414999999979045,null],[390923.197000000043772,392783.135999999998603,null],[390915.653999999980442,392791.597999999998137,null],[390893.90500000002794,392802.681000000040512,null],[390897.658999999985099,392810.60899999999674,null],[390942.909999999974389,392785.87400000001071,null],[390942.909999999974389,392785.87400000001071,null],[390908.472999999998137,392792.172000000020489,null],[390923.397999999986496,392782.887999999977183,null],[390915.62599999998929,392791.520000000018626,null],[390893.792000000015832,392802.482999999949243,null],[390896.587000000057742,392810.976000000024214,null],[390947.432999999960884,392789.685999999986962,null],[390947.432999999960884,392789.685999999986962,null],[390907.642000000050757,392791.927999999956228,null],[390923.491000000038184,392782.74900000001071,null],[390915.619000000006054,392791.448999999964144,null],[390893.763999999966472,392802.257999999972526,null],[390896.21999999997206,392811.088999999978114,null],[390953.846000000019558,392795.059000000008382,null],[390953.846000000019558,392795.059000000008382,null],[390907.177000000025146,392791.782999999995809,null],[390923.552999999956228,392782.625,null],[390915.619000000006054,392791.371000000042841,null],[390893.820000000006985,392802.003999999957159,null],[390895.542000000015832,392811.117000000027474,null],[390958.462999999988824,392798.896000000007916,null],[390958.462999999988824,392798.896000000007916,null],[390906.75099999998929,392791.616000000038184,null],[390923.583999999973457,392782.517000000050757,null],[390915.632999999972526,392791.292999999946915,null],[390894.440999999991618,392801.354999999981374,null],[390894.948999999964144,392811.145000000018626,null],[390959.827000000048429,392800.102999999944586,null],[390959.827000000048429,392800.102999999944586,null],[390906.364000000001397,392791.413999999989755,null],[390923.599999999976717,392782.346000000019558,null],[390915.653999999980442,392791.242999999958556,null],[390894.0,392797.0,null],[390894.299999999988358,392810.976000000024214,null],[390963.864999999990687,392803.673999999999069,null],[390963.864999999990687,392803.673999999999069,null],[390957.304999999993015,392802.791000000026543,null],[390905.7620000000461,392791.025000000023283,null],[390923.583999999973457,392782.192000000039116,null],[390915.682999999960884,392791.215000000025611,null],[390893.763999999966472,392810.6370000000461,null],[390968.351000000024214,392807.642000000050757,null],[390968.351000000024214,392807.642000000050757,null],[390964.468999999982771,392803.03000000002794,null],[390956.914999999979045,392803.162000000011176,null],[390905.366000000038184,392790.721000000019558,null],[390923.537999999942258,392782.052000000025146,null],[390915.717999999993481,392791.179999999993015,null],[390891.222499999974389,392808.690999999991618,null],[390970.01500000001397,392809.072999999974854,null],[390970.01500000001397,392809.072999999974854,null],[390956.692999999970198,392803.353999999992084,null],[390905.122000000032131,392790.468999999982771,null],[390923.476000000024214,392781.897999999986496,null],[390915.775000000023283,392791.151000000012573,null],[390891.137999999977183,392808.521000000007916,null],[390973.534999999974389,392812.101000000024214,null],[390973.534999999974389,392812.101000000024214,null],[390963.032999999995809,392816.614000000001397,null],[390956.520000000018626,392803.452000000048429,null],[390905.01500000001397,392790.340000000025611,null],[390923.352000000013504,392781.773999999975786,null],[390915.880999999993946,392791.116000000038184,null],[390891.10999999998603,392808.352000000013504,null],[390978.625,392816.387999999977183,null],[390978.625,392816.387999999977183,null],[390962.662999999942258,392817.057999999960884,null],[390965.489999999990687,392819.862000000022817,null],[390956.242000000027474,392803.570000000006985,null],[390904.962000000057742,392790.247999999963213,null],[390923.072999999974854,392781.510999999998603,null],[390916.01600000000326,392791.080000000016298,null],[390891.166000000026543,392808.12599999998929,null],[390981.878999999957159,392818.817999999970198,null],[390981.878999999957159,392818.817999999970198,null],[390962.507000000041444,392817.246000000042841,null],[390964.0,392822.0,null],[390955.804000000003725,392803.705000000016298,null],[390904.939000000013038,392790.179999999993015,null],[390916.237000000022817,392776.135999999998603,null],[390916.107999999949243,392791.052000000025146,null],[390891.336000000010245,392807.872000000032131,null],[390982.421000000031199,392819.260000000009313,null],[390982.421000000031199,392819.260000000009313,null],[390962.383999999961816,392817.320000000006985,null],[390955.50099999998929,392803.822999999974854,null],[390904.923999999999069,392790.081000000005588,null],[390912.695000000006985,392780.427999999956228,null],[390915.184999999997672,392775.310999999986962,null],[390916.185999999986961,392791.017000000050757,null],[390983.882999999972526,392820.451000000000931,null],[390983.882999999972526,392820.451000000000931,null],[390979.167000000015832,392822.695000000006985,null],[390962.252999999967869,392817.337000000057742,null],[390955.315999999991618,392803.945999999996275,null],[390904.932000000029802,392790.005000000004657,null],[390908.0,392779.0,null],[390914.619000000006054,392774.864000000001397,null],[390916.242000000027474,392790.981000000028871,null],[390985.002999999967869,392821.271000000007916,null],[390985.002999999967869,392821.271000000007916,null],[390977.208999999973457,392824.690999999991618,null],[390962.137999999977183,392817.312000000034459,null],[390955.179999999993015,392804.057000000029802,null],[390905.076000000000931,392789.478999999992084,null],[390914.547999999951571,392774.782999999995809,null],[390916.277999999991152,392790.932000000029802,null],[390986.567000000039116,392822.332000000053085,null],[390986.567000000039116,392822.332000000053085,null],[390975.742999999958556,392826.352000000013504,null],[390962.022999999986496,392817.271000000007916,null],[390954.783999999985099,392804.457000000053085,null],[390903.8870000000461,392790.989999999990687,null],[390904.0,392784.0,null],[390914.494000000006054,392774.721000000019558,null],[390916.292000000015832,392790.867999999958556,null],[390987.708999999973457,392823.027999999991152,null],[390987.708999999973457,392823.027999999991152,null],[390975.137999999977183,392827.038999999989755,null],[390961.73499999998603,392817.041000000026543,null],[390951.687999999965541,392807.794999999983702,null],[390902.522999999986496,392792.617000000027474,null],[390914.467000000004191,392774.648999999975786,null],[390916.277999999991152,392790.782999999995809,null],[390991.0,392824.804999999993015,null],[390991.0,392824.804999999993015,null],[390974.926000000035856,392827.23399999999674,null],[390977.78100000001723,392829.753999999957159,null],[390961.463999999978114,392816.787000000011176,null],[390951.537999999942258,392807.965000000025611,null],[390897.0,392791.0,null],[390914.448999999964144,392774.568999999959488,null],[390916.242000000027474,392790.732999999949243,null],[390993.402999999991152,392826.054000000003725,null],[390993.402999999991152,392826.054000000003725,null],[390974.831000000005588,392827.281000000017229,null],[390976.0,392832.0,null],[390958.0,392817.0,null],[390951.457999999984168,392808.125,null],[390914.457999999984168,392774.497000000032131,null],[390916.157000000006519,392790.647999999986496,null],[390993.935999999986962,392826.331000000005588,null],[390993.935999999986962,392826.331000000005588,null],[390991.103999999992084,392829.14000000001397,null],[390974.676000000035856,392827.310999999986962,null],[390951.427999999956228,392808.325000000011642,null],[390914.476000000024214,392774.424999999988358,null],[390994.064000000013039,392826.392999999981839,null],[390994.064000000013039,392826.392999999981839,null],[390990.836000000010244,392829.546000000031199,null],[390974.581000000005588,392827.310999999986962,null],[390951.427999999956228,392808.505000000004657,null],[390914.701000000000931,392774.114999999990687,null],[390997.536000000021886,392828.070000000006985,null],[390997.536000000021886,392828.070000000006985,null],[390993.887999999977183,392826.659999999974389,null],[390990.662000000011176,392829.85999999998603,null],[390974.467000000004191,392827.298999999999069,null],[390951.457999999984168,392808.710000000020955,null],[390910.991000000038184,392771.177999999956228,null],[390915.202000000048429,392773.457999999984168,null],[390999.98499999998603,392829.212000000057742,null],[390999.98499999998603,392829.212000000057742,null],[390993.812000000034459,392826.747999999963213,null],[390990.533999999985099,392830.184999999997672,null],[390974.377999999967869,392827.252000000036787,null],[390951.552999999956228,392808.900000000023283,null],[390910.777000000001863,392771.008999999961816,null],[390917.646000000007916,392770.357000000018161,null],[391004.979999999981374,392831.301000000035856,null],[391000.57760000001872,392829.459900000016205,null],[390993.744999999995343,392826.807000000029802,null],[390989.572000000043772,392833.322000000043772,null],[390973.853999999992084,392826.852999999944586,null],[390951.712999999988824,392809.098999999987427,null],[390910.657000000006519,392770.942999999970198,null],[390910.517999999981839,392764.592999999993481,null],[390920.544999999983702,392766.731000000028871,null],[391009.465000000025611,392833.088999999978114,null],[391009.465000000025611,392833.088999999978114,null],[391000.57760000001872,392829.459900000016205,null],[390996.172000000020489,392840.260000000009313,null],[390996.172000000020489,392840.260000000009313,null],[390993.64000000001397,392826.841000000014901,null],[390989.096000000019558,392834.772999999986496,null],[390969.0,392827.0,null],[390951.837999999988824,392809.198999999964144,null],[390910.547000000020489,392770.909999999974389,null],[390909.0,392760.0,null],[390923.418999999994412,392763.337999999988824,null],[391008.022999999986496,392836.744999999995343,null],[391012.375,392834.182999999960884,null],[391012.375,392834.182999999960884,null],[390996.0,392843.0,null],[390993.577000000048429,392826.832000000053085,null],[390988.793999999994412,392835.422999999951571,null],[390952.417999999946915,392809.568999999959488,null],[390910.453999999968801,392770.898999999975786,null],[390922.171000000031199,392762.286000000021886,null],[390924.232000000018161,392762.3870000000461,null],[391006.125,392841.75099999998929,null],[390993.508999999961816,392826.793999999994412,null],[390988.562000000034459,392835.841000000014901,null],[390954.0,392812.0,null],[390910.307000000029802,392770.898999999975786,null],[390921.887999999977183,392762.002999999967869,null],[390924.413999999989755,392762.163999999989755,null],[391005.565000000002328,392843.217999999993481,null],[390993.467000000004191,392826.744000000006054,null],[390988.132000000041444,392836.432000000029802,null],[390909.958999999973457,392770.940999999991618,null],[390921.726000000024214,392761.78100000001723,null],[390924.51500000001397,392762.062999999965541,null],[391002.0,392847.0,null],[390993.450000000011642,392826.677000000025146,null],[390987.226000000024214,392837.534999999974389,null],[390909.717999999993481,392770.967999999993481,null],[390921.523999999975786,392761.457999999984168,null],[390924.635999999998603,392761.962999999988824,null],[390993.458999999973457,392826.60899999999674,null],[390986.947000000043772,392837.814000000013038,null],[390909.412000000011176,392771.005999999993946,null],[390921.119999999995343,392760.650000000023283,null],[390924.797999999951571,392761.882000000041444,null],[390993.492000000027474,392826.521000000007916,null],[390986.866000000038184,392837.895000000018626,null],[390909.224999999976717,392771.017000000050757,null],[390920.797000000020489,392760.043999999994412,null],[390924.979999999981374,392761.862000000022817,null],[390993.551000000035856,392826.412000000011176,null],[390986.772999999986496,392837.929999999993015,null],[390987.307000000029802,392838.184999999997672,null],[390909.056000000040513,392771.022999999986496,null],[390920.533999999985099,392759.64000000001397,null],[390925.182000000029802,392761.882000000041444,null],[390993.787000000011176,392826.133999999961816,null],[390986.679999999993015,392837.929999999993015,null],[390987.922999999951571,392838.510000000009313,null],[390908.771000000007916,392771.0120000000461,null],[390920.231000000028871,392759.236000000033528,null],[390925.443999999959487,392762.017999999981839,null],[390993.989000000001397,392825.96999999997206,null],[390986.587000000057742,392837.907000000006519,null],[390990.477999999944586,392839.867999999958556,null],[390908.492000000027474,392770.98399999999674,null],[390919.947999999974854,392758.932999999960884,null],[390925.739999999990687,392761.64000000001397,null],[390926.091000000014901,392762.507999999972526,null],[390994.166000000026543,392825.872999999963213,null],[390986.017999999981839,392837.5120000000461,null],[390990.0,392841.0,null],[390908.361000000033528,392770.962999999988824,null],[390919.442999999970198,392758.467999999993481,null],[390925.918999999994412,392761.413999999989755,null],[390929.951000000000931,392765.901000000012573,null],[390994.527999999991152,392825.697000000043772,null],[390981.0,392837.0,null],[390908.217999999993481,392770.934999999997672,null],[390917.784999999974389,392756.994000000006054,null],[390926.062000000034459,392761.187999999965541,null],[390932.739000000001397,392768.301000000035856,null],[390908.087000000057742,392770.885999999998603,null],[390913.0,392755.0,null],[390926.168999999994412,392760.950000000011642,null],[390938.130999999993946,392762.197000000043772,null],[390940.702000000048429,392775.184000000008382,null],[390907.934000000008382,392770.815000000002328,null],[390926.216000000014901,392760.760000000009313,null],[390937.547999999951571,392761.707000000053085,null],[390939.538999999989755,392760.603999999992084,null],[390947.038999999989755,392768.130999999993946,null],[390942.352000000013504,392776.625,null],[390907.698999999964144,392770.684000000008382,null],[390926.239999999990687,392760.450000000011642,null],[390937.378999999957159,392761.538999999989755,null],[390943.0,392758.0,null],[390949.0,392763.0,null],[390944.147999999986496,392778.217000000004191,null],[390907.12400000001071,392770.223999999987427,null],[390926.203999999968801,392759.927000000025146,null],[390937.284999999974389,392761.417999999946915,null],[390948.940999999991618,392782.352999999944586,null],[390944.182000000029802,392778.111000000033528,null],[390906.396000000007916,392769.567999999970198,null],[390925.585000000020955,392756.047999999951571,null],[390937.231000000028871,392761.342999999993481,null],[390954.592000000004191,392787.287999999942258,null],[390951.512999999977183,392779.362000000022817,null],[390944.201000000000931,392778.007999999972526,null],[390906.330000000016298,392769.502000000036787,null],[390925.09499999997206,392752.8629999999539,null],[390937.197000000043772,392761.255999999993946,null],[390960.502999999967869,392792.289999999979045,null],[390951.778999999980442,392779.033999999985099,null],[390944.201000000000931,392777.911000000021886,null],[390906.287000000011176,392769.442000000039116,null],[390924.960000000020955,392751.851000000024214,null],[390937.177000000025146,392761.174999999988358,null],[390962.99900000001071,392794.377000000036787,null],[390966.597000000008848,392785.202000000048429,null],[390951.872999999963213,392778.902999999991152,null],[390944.187999999965541,392777.802000000025146,null],[390906.258999999961816,392769.37599999998929,null],[390924.892000000050757,392750.923999999999069,null],[390937.177000000025146,392761.081000000005588,null],[390966.382999999972526,392797.222000000008848,null],[390967.382999999972526,392784.224999999976717,null],[390951.956000000005588,392778.753999999957159,null],[390944.156000000017229,392777.717999999993481,null],[390906.247999999963213,392769.299999999988358,null],[390924.87599999998929,392750.417999999946915,null],[390937.190999999991618,392761.007000000041444,null],[390970.343999999982771,392800.554000000003725,null],[390967.789999999979045,392783.707000000053085,null],[390952.0120000000461,392778.62400000001071,null],[390944.072000000043772,392777.60899999999674,null],[390906.247999999963213,392769.228999999992084,null],[390924.892000000050757,392750.013999999966472,null],[390937.231000000028871,392760.926000000035856,null],[390973.518999999971129,392803.236000000033528,null],[390965.176000000035856,392781.033999999985099,null],[390967.869000000006054,392783.614000000001397,null],[390952.067999999970198,392778.466000000014901,null],[390943.950000000011642,392777.49900000001071,null],[390906.258999999961816,392769.162999999942258,null],[390924.960000000020955,392749.676000000035856,null],[390937.284999999974389,392760.84499999997206,null],[390974.707999999984168,392804.21999999997206,null],[390977.440999999991618,392798.797999999951571,null],[390965.0,392778.0,null],[390967.937999999965541,392783.559000000008382,null],[390952.106000000028871,392778.307000000029802,null],[390943.847000000008848,392777.429000000003725,null],[390906.302999999956228,392769.081000000005588,null],[390925.077999999979511,392749.288999999989755,null],[390937.392999999981839,392760.703999999968801,null],[390976.271000000007916,392805.663999999989756,null],[390980.71999999997206,392795.088999999978114,null],[390968.007000000041444,392783.531000000017229,null],[390952.133999999961816,392778.083999999973457,null],[390943.737000000022817,392777.377000000036787,null],[390906.369000000006054,392768.9879999999539,null],[390925.229999999981374,392748.952000000048429,null],[390938.215000000025611,392759.659999999974389,null],[390980.318999999959487,392808.982999999949243,null],[390978.193999999959487,392792.522999999986496,null],[390980.830000000016298,392795.018999999971129,null],[390968.132000000041444,392783.517000000050757,null],[390952.161000000021886,392777.776000000012573,null],[390943.659999999974389,392777.357999999949243,null],[390906.707999999984168,392768.567000000039116,null],[390925.5,392748.445999999996275,null],[390940.0,392756.0,null],[390983.289999999979045,392812.0120000000461,null],[390978.0,392789.0,null],[390980.951000000000931,392794.989000000001397,null],[390968.298999999999069,392783.572999999974854,null],[390952.189000000013039,392777.450000000011642,null],[390943.562999999965541,392777.357999999949243,null],[390906.0,392764.0,null],[390926.112000000022817,392747.462999999988824,null],[390985.7620000000461,392814.221000000019558,null],[390981.082000000053085,392794.958999999973457,null],[390968.409999999974389,392783.642000000050757,null],[390952.227000000013504,392777.236000000033528,null],[390943.472999999998137,392777.377000000036787,null],[390926.443999999959487,392747.366000000038184,null],[390924.179000000003725,392748.181000000040513,null],[390988.242999999958556,392815.901000000012573,null],[390981.202000000048429,392794.958999999973457,null],[390968.576000000000931,392783.78100000001723,null],[390952.282999999995809,392777.022000000055414,null],[390943.39000000001397,392777.416000000026543,null],[390926.73399999999674,392747.282999999995809,null],[390921.099999999976717,392749.367000000027474,null],[390988.443999999959487,392815.943999999959488,null],[390990.62599999998929,392817.377000000036787,null],[390981.332999999984168,392794.978999999992084,null],[390969.687000000034459,392784.792999999946915,null],[390952.310999999986962,392776.919999999983702,null],[390943.306000000040513,392777.505999999993946,null],[390926.982000000018161,392747.255999999993946,null],[390918.462000000057742,392750.361000000033528,null],[390988.650000000023283,392815.950000000011642,null],[390993.25,392818.979999999981374,null],[390993.25,392818.979999999981374,null],[390981.412999999942258,392795.008999999961816,null],[390973.0,392785.0,null],[390952.366000000038184,392776.760999999998603,null],[390943.034999999974389,392777.827999999979511,null],[390927.176000000035856,392747.255999999993946,null],[390917.0,392751.0,null],[390988.853999999992084,392815.917999999946915,null],[390995.557000000029802,392820.130999999993946,null],[390995.557000000029802,392820.130999999993946,null],[390981.523999999975786,392795.078999999968801,null],[390952.440999999991618,392776.622000000032131,null],[390942.693999999959488,392778.174999999988358,null],[390927.369000000006054,392747.297000000020489,null],[390989.047999999951571,392815.851000000024214,null],[390997.982999999949243,392821.471000000019558,null],[390997.982999999949243,392821.471000000019558,null],[390982.35899999999674,392795.762999999977183,null],[390952.581000000005588,392776.445000000006985,null],[390942.332999999984168,392778.51600000000326,null],[390927.534999999974389,392747.338999999978114,null],[390989.227000000013504,392815.74900000001071,null],[390999.996000000042841,392822.532000000006519,null],[390999.996000000042841,392822.532000000006519,null],[390986.0,392795.0,null],[390954.099999999976717,392774.60999999998603,null],[390927.645000000018626,392747.393999999971129,null],[390989.385000000009313,392815.617000000027474,null],[391002.28000000002794,392823.398999999975786,null],[391002.28000000002794,392823.398999999975786,null],[390954.732000000018161,392773.897000000055414,null],[390927.770000000018626,392747.462999999988824,null],[390989.51600000000326,392815.457999999984168,null],[391004.255000000004657,392819.013999999966472,null],[391005.614999999990687,392824.809999999997672,null],[391005.614999999990687,392824.809999999997672,null],[390955.052999999956228,392773.534999999974389,null],[390927.934999999997672,392747.601000000024214,null],[390989.573499999998603,392815.375500000023749,null],[391004.582000000053085,392818.39100000000326,null],[391009.669999999983702,392826.422999999951571,null],[391009.669999999983702,392826.422999999951571,null],[390955.133999999961816,392773.465000000025611,null],[390928.184000000008382,392747.848999999987427,null],[390990.602000000013504,392813.3629999999539,null],[391005.270000000018626,392816.532000000006519,null],[391016.00099999998929,392829.070000000006985,null],[391016.00099999998929,392829.070000000006985,null],[390955.203999999968801,392773.417999999946915,null],[390931.0,392748.0,null],[390935.0,392751.0,null],[390991.411000000021886,392812.135999999998603,null],[391006.257000000041444,392814.423999999999069,null],[391018.607000000018161,392830.062999999965541,null],[391018.607000000018161,392830.062999999965541,null],[390955.284999999974389,392773.377999999967869,null],[390991.997000000032131,392810.992000000027474,null],[391006.471000000019558,392814.211000000010245,null],[391020.304000000003725,392830.434999999997672,null],[391020.304000000003725,392830.434999999997672,null],[390955.354999999981374,392773.35999999998603,null],[390992.556000000040513,392809.76500000001397,null],[391006.76500000001397,392813.971000000019558,null],[391005.777000000001863,392813.729999999981374,null],[391021.503999999957159,392830.434999999997672,null],[391021.503999999957159,392830.434999999997672,null],[390955.424999999988358,392773.354999999981374,null],[390993.7620000000461,392807.804000000003725,null],[391007.112000000022817,392813.917000000015832,null],[391004.148999999975786,392812.60999999998603,null],[391022.496000000042841,392830.239000000001397,null],[391022.496000000042841,392830.239000000001397,null],[390955.494999999995343,392773.354999999981374,null],[390994.075000000011642,392807.333999999973457,null],[391007.646000000007916,392813.917000000015832,null],[391005.0,392808.0,null],[390955.564000000013038,392773.35999999998603,null],[390994.421000000031199,392806.815999999991618,null],[390992.315999999991618,392804.712000000057742,null],[391008.286000000021886,392814.130999999993946,null],[390956.755999999993946,392773.690999999991618,null],[390994.96999999997206,392805.952999999979511,null],[390990.810999999986962,392802.497000000032131,null],[391010.60899999999674,392815.357999999949243,null],[390952.377000000036787,392769.849999999976717,null],[390960.0,392774.0,null],[390995.1129999999539,392805.809999999997672,null],[390991.0,392798.0,null],[391014.0,392812.0,null],[390952.0,392766.0,null],[390995.257000000041444,392805.717999999993481,null],[390995.401000000012573,392805.717999999993481,null],[390995.583999999973457,392805.757999999972526,null],[390995.885000000009313,392805.913999999989756,null],[390996.354999999981374,392806.267000000050757,null],[391001.0,392805.0,null]]}", + "orient": "split", "dtype": { "x": "float64", "y": "float64", "coords": "object" - }, - "orient": "split" + } }, - "version": "2.1.0", + "version": "2.7.1", "converged": true, "name": "Summary Grid", "f_hz": 50.0, @@ -1381,18 +1406,19 @@ "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"vm_pu\",\"va_degree\",\"p_mw\",\"q_mvar\"],\"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,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906],\"data\":[[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0],[1.049999952316284,0.0,0.0,0.0]]}", + "orient": "split", "dtype": { "vm_pu": "float64", "va_degree": "float64", "p_mw": "float64", "q_mvar": "float64" - }, - "orient": "split" + } }, "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\",\"loading_pf_percent\",\"diff_pp2pf_percent\",\"diff_pp2pf\"],\"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,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904],\"data\":[[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,1.050243450799996,-0.210316965327468,0.002208840154273],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,1.050239833079605,-0.209966791048545,0.002205154875831],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,1.05023621492425,-0.20962186607326,0.002201524751901],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,1.050232597516489,-0.209277058312593,0.002197895885522],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,1.050228979711698,-0.208932014601752,0.002194264565243],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,1.050225361708592,-0.208534275255491,0.002190079846588],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,1.050221744556464,-0.208135004585932,0.002185879076195],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,1.050218127465783,-0.207786949928104,0.002182216214653],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,1.050214510332058,-0.20743950730776,0.002178559805907],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,1.050210893192918,-0.207092763965749,0.002174910766183],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,1.050207276116399,-0.206746546434996,0.00217126727378],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,1.050203658873523,-0.206400849361423,0.00216762927194],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,1.050200041886556,-0.206054540611078,0.002163984871807],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,1.050196424753866,-0.205693836584198,0.002160189317746],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000083755711877,-99.999868220900538,0.000083755601505],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,1.050113237498341,-0.197754953847903,0.002076650948166],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000079948772903,-99.999886715498704,0.000079948682333],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,1.050109620803214,-0.197391624682366,0.002072828441449],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000076141665278,-99.999918396824313,0.000076141603144],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,1.05010600420281,-0.197045229923793,0.002069183790425],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000072334557654,-99.999914116279953,0.00007233449553],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,1.050102387588725,-0.196697790562114,0.002065528195027],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000068527412552,-99.999884429699819,0.000068527333354],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,1.050098771034707,-0.196347563202989,0.002061843348151],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000064720379883,-99.999772362793323,0.000064720232555],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.08927057500145,-0.015090416857274,0.000013471301899],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.960824613150444,-0.212762162565088,0.002044271225397],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000060913272258,-99.999927875164701,0.000060913228325],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.035699553876336,0.00902004488338,-0.000003220115783],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.053567405856362,-0.024400071073026,0.000013070485101],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.960820997126292,-0.212324908940273,0.002040062307227],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000057106145895,-99.999741293745188,0.000057105998158],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.035695938572444,0.019151052891222,-0.000006836148076],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.053563790499765,-0.017651205416055,0.00000945465469],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.090462411434138,-0.019933980920465,0.000018032759835],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.960777606752468,-0.207766560074909,0.00199617458352],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000053299113226,-99.999793962465972,0.00005329900341],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.053560175236008,-0.010902718166284,0.000005839514955],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.049008241377881,-0.035733577649002,0.000017512397987],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.041450364808038,0.007924867212723,-0.00000328488637],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.960679991475274,-0.197560434099971,0.00189792356147],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000098966434116,-99.99733724548102,0.000098963798883],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000049491986863,-99.999603105962322,0.000049491790432],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.053556559845868,-0.004152730009477,0.000002224059333],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.049004436267795,-0.027971619362297,0.000013707334383],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.041446559575112,0.017106644047766,-0.000007090115417],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.960676376447828,-0.197137510841462,0.001893853495771],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.00009515943893,-99.996074973125047,0.000095155703897],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000045684954194,-99.999546484190105,0.000045684747005],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.053552944385663,0.002598242479124,-0.00000139143535],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.049000630939141,-0.020207969927904,0.000009902032765],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.960647457638396,-0.194109683150222,0.001864709736213],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000026642557634,-99.99704881541858,0.000026641771363],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000091352593649,-99.998279871161046,0.000091351022266],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000041877884047,-99.999444398461151,0.000041877651373],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.053549329165654,0.009349879016904,-0.000005006797491],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.048996825723078,-0.012443521947783,0.000006096930763],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.960643842898398,-0.193717880515834,0.001860938891769],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000022835974699,-99.996153397532424,0.00002283509629],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000087545748367,-99.99641021840128,0.000087542605666],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000038070776423,-99.999653893740501,0.000038070644657],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.053545713843118,0.016102926712056,-0.000008622427058],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.048993020470753,-0.004677461017522,0.000002291629434],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.878338794767699,-0.215984364180397,0.001897074461229],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.08230147399922,0.048438523088065,-0.000039865618485],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000019030028886,-99.995292657725827,0.000019029133077],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000083739202912,-99.998269969005449,0.000083737754198],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000034263743754,-99.999665401982867,0.000034263629108],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.053542098576914,0.022858756445645,-0.00001223905791],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.048989215327463,0.003089383738566,-0.000001513464852],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.878335180129711,-0.215541568968483,0.001893177428054],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.047593377719619,0.054072469094392,-0.000025734914458],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.034704482929788,0.051150250194198,-0.000017751429847],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000015223858206,-99.99510407134909,0.000015223112857],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000079932357633,-99.997542711520154,0.000079930393465],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000030456654868,-99.999673394342565,0.000030456555395],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.048985410113926,0.010857702101032,-0.000005318689903],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.878331565810257,-0.215090987299542,0.001889212036665],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000011417837438,-99.995134305713549,0.000011417281881],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000076126149476,-99.997287763926124,0.000076124084756],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000026649575352,-99.999655717409837,0.000026649483602],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.048981604878433,0.01862724161311,-0.000009123921887],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.878327951576221,-0.214667802856715,0.001885487315525],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000007611891625,-99.996735879585032,0.000007611643164],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.00007231977267,-99.997205725437254,0.000072317751857],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000022842514575,-99.999639452365102,0.000022842432217],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.878324337432898,-0.214250370895777,0.001881813150618],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003806095724,-100.0,0.000003806095724],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.00006851362073,-99.997167773528389,0.000068511680269],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000019035500645,-99.999549443875068,0.000019035414879],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.87832072331113,-0.213830889928811,0.001878121019085],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000064707075269,-99.99656575588844,0.00006470485307],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000015228355542,-99.999999888798527,0.000015228355525],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.878317109217418,-0.213413468051612,0.001874447003272],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000060901729096,-99.99826911548989,0.000060900674957],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000011421360351,-99.999140143674055,0.000011421262144],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.878313495166078,-0.212998718186487,0.001870796486363],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000057096982573,-99.999999675042346,0.000057096982387],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000007614177771,-99.999592112315895,0.000007614146714],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.878309881236364,-0.212584182698965,0.001867147882591],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000053290362166,-99.998886383691115,0.000053289768716],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003807079516,-99.999999995749235,0.000003807079516],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.151810152047445,-0.0618142860859,0.000093840361694],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.819651533765655,-0.213218803536873,0.001747651193467],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000049484341397,-99.999644873200623,0.000049484165664],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.151806349160712,-0.05931064373392,0.000090037322916],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.819647919662939,-0.212776652187238,0.001744019403181],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000045677795942,-99.997955715952798,0.000045676862158],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.151802545908146,-0.056806703874142,0.000086234022727],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.819644305689196,-0.212305006521075,0.001740145896643],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000041871405083,-99.997601623327881,0.000041870400849],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.151798743003931,-0.054302708260239,0.000082430828556],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.819640692143212,-0.211831103680706,0.001736253924383],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000038065028277,-99.997381144148861,0.000038064031409],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.151794939750119,-0.051798526893725,0.00007862754269],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.12756868242298,-0.29449169874294,0.000375679179931],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.770662012831898,-0.178731334148712,0.001377414497312],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000034258609308,-99.996731375364547,0.000034257489523],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.151791136278431,-0.049294118819512,0.000074824103075],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000053275296082,-99.99994843511891,0.000053275268611],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.127511601671398,-0.249857925429745,0.000318597842618],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.770658399505264,-0.178236197096984,0.001373592223887],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000030452288717,-99.996322818148371,0.000030451168931],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.151787332796129,-0.046789315993156,0.00007102025478],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000049469893698,-99.999944495756793,0.00004946986624],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.127507796362888,-0.246881211095917,0.000314792791902],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.770654786391817,-0.177742910837287,0.00136978424984],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000026645893177,-99.995420121904459,0.000026644672828],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.151783529466153,-0.044284758035135,0.000067216968761],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000045664566269,-99.999855711925988,0.000045664500381],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.048657078318385,-0.076327866319362,0.000037138909694],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.127424077842853,-0.181337919755876,0.000231068172028],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.770651173308902,-0.177264733968209,0.001366092752189],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000022839385203,-99.995146450147232,0.000022838276682],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.151779725940777,-0.041779876185196,0.000063413381572],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000041859145146,-99.999868828740617,0.000041859090239],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.048653465480615,-0.068905790704503,0.000033525055095],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.12742027250626,-0.17835670888931,0.0002272626045],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.770647560403153,-0.176791772374224,0.001362441480795],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000019033064616,-99.994141602278091,0.000019031949584],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.151775922530579,-0.039274810772766,0.000059609706373],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000038053780239,-99.999971125402538,0.000038053769251],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.048649852643336,-0.061484394861793,0.000029912067499],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.127416467141565,-0.17537538209021,0.000223457116095],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.770643947432844,-0.176318677725125,0.001358789218082],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000015226631595,-99.993786443403309,0.000015225685479],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.151772119062246,-0.036769225483753,0.000055805432679],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000034248424702,-99.99989242500807,0.000034248387859],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.048646239853411,-0.054062102058613,0.000026299179837],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.127325138932152,-0.10377408291187,0.000132130495243],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.102752471967728,-0.033078789880078,0.000033989274299],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.770640334500082,-0.175845323868861,0.001355134992066],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000011419636373,-99.993846393187923,0.000011418933654],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.151768315611237,-0.034263547147191,0.000052001208374],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000030443041056,-99.999925609037547,0.000030443018409],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.048642627041772,-0.046638500948959,0.000022686192074],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.127321333576818,-0.100788351274022,0.000128325072932],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.102748668995939,-0.029378786771182,0.000030186312375],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.770636721854906,-0.175373625569058,0.001351493559083],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000007613390739,-99.999999215288469,0.000007613390679],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.051814852889305,0.025246344829742,-0.000013081356433],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.127264264218566,-0.058332922980895,0.000074236965229],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.00002663767615,-99.999874612912478,0.000026637642749],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.048639014286613,-0.039213892704041,0.000019073250875],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.127317528315188,-0.097802491117498,0.000124519714321],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.10274486601041,-0.02567847118343,0.000026383310811],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.770633108813935,-0.174900052842517,0.001347837714538],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003806545458,-100.0,0.000003806545458],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.051811049553451,0.032588984163581,-0.000016884694734],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.127260458657107,-0.055343494083292,0.000070430384407],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000022832283135,-99.999847854139332,0.000022832248396],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.048635401598602,-0.03178826635852,0.000015460351005],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000064689010962,-99.998709536470258,0.000064688176174],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.127249034022724,-0.044028615560673,0.000056025987995],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.102741063070704,-0.021977983762532,0.000022580414159],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.770629496023538,-0.17442468117364,0.001344168041469],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.051807246239069,0.039932658917497,-0.000020688010935],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.099892608141524,-0.004231943692741,0.00000422739893],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.127203375160223,-0.010482496223112,0.000013334088997],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000019026908858,-99.99991838033695,0.000019026893329],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.048631788906641,-0.024361461312785,0.00001184741444],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000060883514883,-99.999354781341012,0.000060883122051],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.127245228840728,-0.041039492790019,0.000052220796516],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.102737260224104,-0.018277261275554,0.000018777557479],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.770625883244756,-0.17395203152555,0.001340519379366],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.099888804703078,-0.000424240004269,0.000000423768269],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.127199569654394,-0.007491039196384,0.00000952856962],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000015221515843,-99.999783539797392,0.000015221482895],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.048628176295519,-0.016933953658757,0.000008234672839],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000007610692336,-99.998767176469599,0.000007610598509],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000049468450803,-99.998324716689041,0.000049467622066],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.127241423663413,-0.038050173652928,0.000048415582662],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.102733457233411,-0.014576100047869,0.000014974531509],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.770622270410683,-0.173480252473693,0.001336877460327],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.099885001361045,0.003384107113593,-0.000003380215436],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.040508483890538,0.009099222459372,-0.000003685957064],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.086687280451273,-0.010854189386308,0.000009409201594],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000011416160306,-99.999892456619548,0.000011416148029],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.048624563700128,-0.009505170120766,0.0000046218475],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003805421124,-100.0,0.000003805421124],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000045663554369,-99.997823557566207,0.000045662560528],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.127237618467361,-0.035060708973033,0.000044610411115],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.102729654267762,-0.010874681370586,0.000011171522575],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.770618657712016,-0.173008292174144,0.001333234178883],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.058506589816433,0.055204114197123,-0.000032298044655],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.099869787815188,0.018630882084007,-0.000018606622405],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.040504678585567,0.018494805850522,-0.000007491261665],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.086683475189637,-0.006464793829664,0.000005603907955],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000007610762606,-99.999999981362791,0.000007610762605],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.048620951128916,-0.002075349185302,0.000001009054513],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.00004185850804,-99.998123070396332,0.000041857722386],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.127233813252571,-0.032071091274961,0.000040805272381],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.102725851424152,-0.007173181225344,0.000007368711488],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.770615045001714,-0.172533986983391,0.001329572861435],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.058502977060276,0.061391425459102,-0.000035915811553],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.099865984395628,0.022440271401329,-0.000022410197936],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.086679670031065,-0.002075005899721,0.000001798608267],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003805378961,-99.99978359924657,0.000003805370726],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.048617338590041,0.005356288209369,-0.000002604084775],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000038054960809,-99.997691604737639,0.00003805408235],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.127230008056521,-0.029081202538195,0.000037000016332],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.102722048380897,-0.003471107988241,0.000003565593227],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.770611432358657,-0.172058356769793,0.001325901367596],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.058499364416401,0.067580145130869,-0.000039533955373],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.099862180972945,0.026249767797672,-0.000026213590623],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.086675864610138,0.002315251745236,-0.000002006764468],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.048613725991875,0.012788621014039,-0.000006217025178],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.00003424901501,-99.997948111233242,0.000034248312258],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.12722620286047,-0.026091174642849,0.00003319481078],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.10271824541141,0.000231124750257,-0.000000237407288],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.770607819753983,-0.17158436714149,0.001322242550668],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.099854574150669,0.033869564822478,-0.00003382030972],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.00000380564599,-99.999999863924202,0.000003805645985],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.08667205945157,0.006705691669033,-0.00000581196107],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.048610113577286,0.020220996150861,-0.000009829449195],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000030444268478,-99.997691640655006,0.000030443565715],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.127222397701897,-0.023101005972572,0.000029389653692],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.102714442432139,0.003933606043535,-0.000004040381515],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.770604207165698,-0.171112385856345,0.001318599244391],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.09985077096547,0.037679733303737,-0.000037623504202],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.086668254143082,0.011096558473973,-0.000009617193499],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.048606501265244,0.027654515023511,-0.000013441892195],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000026639222151,-99.999999197434846,0.000026639221937],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.127218592599543,-0.02011070342744,0.000025584553862],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.102710639539122,0.007636294268653,-0.00000784328668],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.770600594598796,-0.170639349907388,0.001314947845006],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.053691008263982,0.042057853647587,-0.000022581285678],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.046155959529742,0.040829799722725,-0.000018845385836],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.086664448984512,0.015487782172682,-0.00001342240108],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.048602888709077,0.035088606302828,-0.000017054076271],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000022833875949,-99.986920255385883,0.000022830889336],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.12721478740349,-0.017120115315378,0.000021779318302],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.102706836644862,0.011339252761249,-0.00001164618781],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.044691248309026,-0.075907016517141,0.000033923793236],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.725905737435072,-0.1759694529138,0.001277372354834],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.086660643657286,0.019879501438206,-0.000017227703902],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.048599276325471,0.042525113497406,-0.000020666897416],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000019027330484,-99.999998910288042,0.000019027330277],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.127210982221493,-0.014129385874221,0.000017974130552],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.102703033858611,0.015042381426316,-0.000015448982089],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.04468763631963,-0.067827983801744,0.000030310722724],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.7259021248749,-0.175462386253544,0.001273685190171],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.08665683838628,0.024271571564101,-0.000021032976544],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.048595663971685,0.049961220308469,-0.000024278986737],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000015222583987,-99.988230457173188,0.000015220792359],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.127207177123821,-0.011138555987572,0.000014169042644],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.052752929735368,0.037771439093789,-0.000019925540725],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.049946301125208,-0.001348405811827,0.000000673478827],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.044684024376772,-0.05974977050276,0.000026698602017],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.049961536444791,-0.051589782000581,0.000025775047736],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.725858776068429,-0.169490106233402,0.001230258810663],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.048592051658913,0.057399234598728,-0.000027891465728],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000011416038504,-99.990639388905706,0.000011414969893],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.127203372021463,-0.008147529487501,0.000010363932245],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.052749126880572,0.044983476484461,-0.000023728391086],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.049942498220973,0.006265600267905,-0.000003129197302],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.044680412454212,-0.051670398671726,0.000023086547243],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.049957731400995,-0.043977090971796,0.000021969956986],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.725855163653939,-0.16898081351047,0.00122655596045],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.048588439327891,0.064838480191957,-0.000031504005609],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000007610767292,-99.999422810019738,0.000007610723363],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.127199566900365,-0.005156255846936,0.000006558735106],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.049938695264211,0.013881568305252,-0.000006932274094],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.044676800556751,-0.043589682200656,0.00001947447538],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.049953926298639,-0.036363353223617,0.000018164922669],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.357623598582254,-0.077109336473027,0.000275761183938],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.36822798520227,-0.25721262154288,0.000947128853993],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.048584827070492,0.07228024704735,-0.000035117233034],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003805421124,-99.997419181449615,0.000003805322913],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.081962652974029,0.00780585583606,-0.000006397886531],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.045233109254977,-0.020232863795975,0.000009151953386],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.049934892389717,0.021497746349892,-0.000010734876506],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.044673188723044,-0.035507781471977,0.000015862458228],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.049950121233758,-0.02874838920481,0.000014359855261],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.357619986755603,-0.076095649812462,0.000272133252781],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.368224372596186,-0.256227564444755,0.000943492341595],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.081958847946628,0.012448796453613,-0.000010202890157],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.045229304058921,-0.011821011633929,0.000005346561295],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.049931089558905,0.029116139186343,-0.000014538005533],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.044669576867203,-0.027424582044171,0.000012250444757],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.049946316136087,-0.021132186365224,0.000010554748608],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.357616374972742,-0.075075759931914,0.000268483211152],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.368220760071418,-0.255242597995057,0.000939856234363],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.08195504287238,0.01709231908085,-0.000014008017431],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.045225499162683,-0.003409729739594,0.000001542067295],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.049927286521321,0.036735316671307,-0.000018340946809],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.044665965092003,-0.019340320526164,0.000008638540815],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.049942511104002,-0.013515006305737,0.000006749733525],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.357612763421384,-0.074056635114765,0.000264835979331],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.368217147614824,-0.254262534152209,0.000936238250708],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.081951237788762,0.021736199664492,-0.000017813084673],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.045221693966637,0.005004628519821,-0.000002263177793],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.049923483625784,0.044355546715801,-0.000022143834102],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.04466235335345,-0.011254672437362,0.000005026601573],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.049938706039124,-0.005896472689451,0.000002944622163],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.10415676889299,0.05106995080967,-0.000053192810639],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.253452398394855,-0.124049341762239,0.000314406031889],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.368213535135691,-0.253283334083046,0.000932623518337],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.08194743273091,0.026380506278796,-0.000021618147637],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.045217888957975,0.013419930484169,-0.000006068209265],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.044658741607343,-0.003167674575002,0.000001414643603],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.049934900955507,0.001722970128977,-0.000000860363427],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.104153157820213,0.054543178298237,-0.000056808442573],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.253448786685345,-0.122612348360561,0.000310759509246],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.368209922927384,-0.25230439213652,0.000929009807828],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.045214083850934,0.021836806306884,-0.000009873311914],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.04465512992806,0.004920303404429,-0.000002197167878],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.049931095871886,0.009343792541284,-0.000004665458012],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.104149546816483,0.058017147593562,-0.000060424596295],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.046159766593776,0.015342014168642,-0.000007081837931],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.253437951784455,-0.118329856664754,0.000299892765081],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.36820631011761,-0.251325382265692,0.000925395916429],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.04465151824901,0.01301024463267,-0.000005809271756],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.049927290849169,0.016965670685851,-0.000008470499748],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.10414593582516,0.061490482393964,-0.000064039838333],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.046155961500788,0.02358726613763,-0.000010886929478],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.051852866650142,-0.034244578882501,0.000017756795823],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.253387391265571,-0.098390124505218,0.000249308169747],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.368202698224816,-0.250346653914313,0.000921783134628],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.04464790661032,0.021101385920658,-0.000009421327079],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.049923485814741,0.024588711426538,-0.000012275541861],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.050571343788588,0.088656076555094,-0.000044834569264],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.053570981404263,0.042597043148429,-0.000022819654064],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.051849064812841,-0.026914575403335,0.000013954955645],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.253383779856273,-0.096963472291794,0.000245689711173],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.368199085215734,-0.249367540347344,0.000918169002384],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.044644294998423,0.02919305921795,-0.000013033035476],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.050567732989819,0.095805705432097,-0.000048446773312],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.053567370393299,0.049341688562041,-0.00002643104507],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.051845263044318,-0.01958355501015,0.000010153145608],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.253380168490896,-0.095537380371916,0.000242072775358],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.368195473414255,-0.248388643050915,0.000914555740189],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.044640683532013,0.037285798643167,-0.000016644635375],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.053563759343639,0.056087172127965,-0.000030042397901],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.051841461311205,-0.012251738936718,0.000006351480501],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.253376557128554,-0.094111399925203,0.000238456224996],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.36819186001923,-0.247409407047073,0.000910941297669],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.04463707200318,0.045379966324532,-0.000020256288243],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.053560148379911,0.062832449613373,-0.000033653153244],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.051837659297959,-0.004918152905389,0.000002549455347],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.253372945864774,-0.092685637968556,0.000234840331314],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.368188247611408,-0.246430385716157,0.00090732771875],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.044633460500781,0.053475457991785,-0.00002386794742],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.053556537447872,0.069579471436217,-0.000037264355676],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.051833857435214,0.002416025968495,-0.000001252319456],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.253369334590381,-0.091259827274687,0.000231224417114],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.368184634730081,-0.245451448789105,0.000903714520164],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.04462984887188,0.061571752157132,-0.000027479379935],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.053552926492351,0.07632737482056,-0.000040875542931],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.051830055553419,0.009751907884907,-0.000005054419274],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.253365723337565,-0.089833626487039,0.000227607617549],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.368181022183142,-0.244471794062932,0.00090009875033],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.044626237368099,0.069669833030861,-0.000031091025062],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.053549315676374,0.083075494703583,-0.000044486358909],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.051826253585355,0.017088380405608,-0.000008856267363],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.253362112139454,-0.088407256868566,0.000223990493287],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.368065426041179,-0.2131367603883,0.000784482725174],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.050979515136912,-0.197317529137808,0.000100591519635],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.044622625968775,0.077768913439425,-0.000034702531364],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.053545704831978,0.089825602233417,-0.000048097751835],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.051822451920528,0.02442547133417,-0.000012657878139],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.253358500949378,-0.086981061542898,0.000220373913635],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.368061813771383,-0.212147730972107,0.000780834786491],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.050907220552061,-0.055585204490831,0.000028296882644],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.00006848957871,-99.99991822463987,0.000068489522702],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.044619014635326,0.08587028350753,-0.000038314474366],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.053542094053378,0.09657916715853,-0.000051710508516],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.051818650233423,0.03176399456194,-0.000016459673242],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.253354889739991,-0.085554989629229,0.000216757749642],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.368058201274387,-0.211163221856355,0.000777203556118],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.050903415635922,-0.048114569914754,0.000024491959505],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000064684595608,-99.999913414737122,0.000064684539601],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.051814848294131,0.039103421416255,-0.000020261378485],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.253351278535539,-0.084128234100974,0.000213139956704],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.074496091796627,-0.082814030169358,0.000061693215935],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.367971509373371,-0.187650024595584,0.000690498627844],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.050899610695188,-0.040642739370585,0.000020686996115],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000060879598453,-99.999925602857061,0.00006087955316],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.051811046513123,0.046444134684302,-0.000024063192224],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.253347667437309,-0.082701382560016,0.000209522023654],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.074492286846522,-0.077710491388497,0.000057888322155],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.36796789730364,-0.186664675417785,0.000686866081143],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.050895805892653,-0.033170075217813,0.000016882177097],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.00005707468328,-99.999945537897446,0.000057074652196],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.051807244721516,0.053785887210738,-0.000027864986213],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.253344056315261,-0.08127493464323,0.000205905216193],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.074488481969034,-0.072606295897124,0.000054083327628],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.367888432743561,-0.16509731528481,0.000607373925703],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000079902075562,-99.99810187401691,0.00007990055892],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.050892001071382,-0.025696369880802,0.000013077396835],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000053269674412,-99.999907799451265,0.000053269625297],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.253340445176352,-0.079848517260684,0.000202288589095],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.074484676997842,-0.067501515052765,0.000050278285456],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.367884820841216,-0.164103878562366,0.000603713259643],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.00007609732904,-99.99804046757832,0.000076095837888],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.050888196128303,-0.018221172483737,0.00000927242599],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.0000494647405,-99.999900715340289,0.000049464691389],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.253336834081211,-0.078421855662252,0.000198671446362],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.074480872326485,-0.062396790827027,0.000046473674112],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.367881209003163,-0.163114265922568,0.000600066733533],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000072292582518,-99.997825864889961,0.00007229101078],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.050884391316401,-0.010745143560133,0.000005467600897],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000045659724605,-99.999860104191839,0.000045659660729],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.253329612014314,-0.075569760849481,0.00019144058196],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003805271212,-99.99999991404917,0.000003805271209],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.074477067355298,-0.057291120289724,0.000042668746247],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.36787759727593,-0.16213211989872,0.000596447747096],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000068488135815,-99.997884189756718,0.000068486686736],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.050880586307736,-0.0032676357795,0.000001662592243],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000041854722765,-99.999879026390204,0.000041854672132],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.253322390021836,-0.072711494494749,0.000184194495675],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003805292293,-99.9999999847483,0.000003805292293],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.074473262487178,-0.052184971582828,0.000038863850866],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.36787398562516,-0.161151224678397,0.000592833433108],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000064683389292,-99.999999369808933,0.000064683388884],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.050876781486464,0.004210647875236,-0.000002142242119],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000038049751375,-99.999753401849134,0.000038049657545],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.253315168319706,-0.069844993323985,0.000176927962402],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003805332114,-99.99999998047484,0.000003805332113],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.074469457637797,-0.047078342721142,0.000035058986489],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.367870373693505,-0.160170688205712,0.00058922050925],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000060878043125,-99.99826812086188,0.000060876988791],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.050872976477802,0.011690436011762,-0.000005947272762],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000034244751877,-99.999827288854092,0.000034244692733],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.253307946979159,-0.066978360976588,0.00016966151111],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003805381303,-99.999999983537236,0.000003805381303],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.074465652816523,-0.041971264611283,0.000031254176188],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.367866762053254,-0.159190005505637,0.000585607118766],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000057072996783,-99.999383733658391,0.000057072645062],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.050869171628421,0.019170997689557,-0.000009752127718],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.00003043973364,-99.999637432846427,0.000030439623276],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.253300725914633,-0.064119796913741,0.000162415911037],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003805430493,-99.999999949097656,0.000003805430491],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.074461847939033,-0.036863536068773,0.000027449270172],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.367863150264739,-0.158209413210044,0.00058199413145],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000053268849908,-99.998134156298974,0.000053267855994],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.050865366741561,0.02665275955968,-0.000013557023897],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000026634734142,-99.999667564448487,0.000026634645599],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.208602291193393,-0.063854920541088,0.000133202827288],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003805435178,-99.999999982380928,0.000003805435177],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.044691213857918,-0.04916878851563,0.000021974128427],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.074458043089651,-0.031755326652615,0.000023644394802],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.367859538674544,-0.157228673742666,0.000578380673894],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000049461105176,-99.999999405761315,0.000049461104882],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000022829753383,-99.999614406078635,0.000022829665353],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.208591460072403,-0.058653934515803,0.000122347098396],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003805458601,-99.999999987274506,0.000003805458601],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003805402384,-99.999999929557475,0.000003805402382],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.044687603480097,-0.041091596273641,0.000018362849606],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.07445423822153,-0.026646630426019,0.000019839545695],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.367855927035237,-0.156248040323358,0.000574767677206],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000045659356858,-99.996826965712813,0.000045657908071],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000019024770281,-99.999610056869997,0.000019024696096],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.20858423950216,-0.055185776678037,0.000115108832597],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.00000380547734,-99.99999998238971,0.000003805477339],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.044683993144393,-0.033014866257982,0.000014752360575],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.074450433456475,-0.021537438911742,0.000016034716625],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.367852315325596,-0.155267361023311,0.000571154582469],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000041854010687,-99.995802501584066,0.000041852253865],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000015219773126,-99.998959492262301,0.000015219614763],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.135034842514351,-0.186501287689638,0.000251841720119],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003805498421,-99.999999991194912,0.000003805498421],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.102163011926259,0.083154798134641,-0.000084953446336],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.04468038291019,-0.024937320258248,0.000011142090179],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.074446628635199,-0.016427757819642,0.000012229911857],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.367848704283619,-0.154286751951233,0.000567541817934],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000038048364697,-99.995742534075106,0.0000380467448],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000011414876691,-99.999038089207843,0.000011414766891],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.135027239952778,-0.180876284553993,0.000244232254762],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003805503106,-99.999999987191629,0.000003805503106],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.052579515395999,0.063717736750829,-0.000033502477205],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.049579887293621,0.111078785047543,-0.000055072736434],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.04467677265226,-0.016858143022024,0.000007531674231],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.07444282388888,-0.011317405944421,0.000008424996576],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.367845092532018,-0.153305650471316,0.000563927311833],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.00003424316844,-99.995132548711311,0.000034241501671],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000007609905302,-99.99895942007511,0.000007609826115],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.135019637547626,-0.175251036678289,0.000236623314521],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003805514818,-99.999999973584835,0.000003805514817],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.052575905759587,0.07058804735963,-0.000037112305257],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.049576277896416,0.11837086972064,-0.000058683871321],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.044673162398695,-0.008777625282662,0.000003921242797],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.074439018842735,-0.006206721452539,0.000004620222552],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.367841480644213,-0.152313425108574,0.000560271958139],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000030438571828,-99.994524018741501,0.000030436905018],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.00000380497139,-99.999999929549503,0.000003804971387],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.135012035153498,-0.1696278797229,0.000229018052602],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003805533557,-99.99999992955992,0.000003805533554],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.052572296185066,0.077458989443487,-0.000040721969352],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.044669552169054,-0.000695880992842,0.000000310846923],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.07443521439624,-0.001095968015897,0.000000815786142],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.032031550055884,0.040405035672212,-0.000012942359226],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.367830645871382,-0.149359416333724,0.00054938970577],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.00002663292584,-99.992895294157947,0.000026631033649],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.134951216592681,-0.124614361497673,0.00016816859689],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003805514818,-99.999999948766686,0.000003805514816],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.106136044086038,0.080235276154462,-0.000085158548072],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.052568686510443,0.084330797091375,-0.000044331592355],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.04466594198504,0.007386776441409,-0.00000329937328],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.074431409574967,0.004016220072951,-0.000002989329212],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.032027748448137,0.05227956363523,-0.000016743967131],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.367827034230092,-0.14837632974739,0.000545768253209],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000022830278078,-99.998460164442022,0.000022829926529],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.134943614330726,-0.118987740729277,0.000160566357951],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003805496079,-99.999999895260515,0.000003805496075],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.10613243455445,0.083647405441835,-0.000088777027837],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.052565076970346,0.091203675693976,-0.000047941282328],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.04466233189461,0.015470785415601,-0.000006909613529],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.074427604716217,0.009128352160801,-0.000006794013863],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.367823422791401,-0.147395107437443,0.000542153729203],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.00001902373262,-99.992611284663298,0.000019022327011],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.134936012145908,-0.113360479663308,0.000152964110607],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003805496079,-99.999999964779604,0.000003805496078],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.106128825069695,0.087056898029653,-0.000092392463021],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.052561467425745,0.098077110391378,-0.00005155076843],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.044658721743042,0.023556299191316,-0.000010519942109],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.026384076465559,-0.00859103611192,0.000002266665537],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.048039723417673,0.026780978351591,-0.000012865507929],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.367819811530687,-0.146414359646174,0.000538541021704],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000015220185382,-99.992698358119682,0.000015219074058],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.134928409981418,-0.107732641801908,0.000145361940614],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003805514818,-99.999999894339339,0.000003805514814],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.106125215636555,0.09046448432112,-0.00009600562906],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.052557857868797,0.104951890323359,-0.000055160465347],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.044655111667779,0.031644962477478,-0.000014131093332],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.026380271648971,0.005830671321269,-0.000001538146934],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.367816199214472,-0.145433493330026,0.000534927947551],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000011413340105,-99.987304906574664,0.000011411891171],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.134920807844143,-0.102104190821037,0.000137759799098],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003805491394,-99.999999998899369,0.000003805491394],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.052575904617474,0.072913048205887,-0.000038334694678],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.053545701835834,0.114448742402351,-0.000061282382362],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.052554248397067,0.111827480988613,-0.000058770092135],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.044651501598323,0.039734716201817,-0.00001774214744],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.026376466837067,0.02025652055246,-0.000005342954426],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.367812588150673,-0.144452947739136,0.000531316125739],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000007609193223,-99.99346705278856,0.000007608696119],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.134913205831452,-0.096475169054157,0.000130157743402],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003805505448,-100.0,0.000003805505448],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.052572295003892,0.07978433105166,-0.000041944453887],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.053542092561027,0.121201222310101,-0.000064893670634],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.052550638988894,0.118705731862623,-0.00006238062061],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.044647891564049,0.04782353834763,-0.000021352201544],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.367808975846148,-0.143472196000018,0.000527703614732],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003805046346,-99.999999310775735,0.000003805046319],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.053824201851924,-0.22553393745982,0.000121391841743],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003805496079,-99.999999826592926,0.000003805496072],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.09426789572881,-0.014684023466293,0.00001384231993],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.052568685692048,0.086655730563084,-0.000045553778634],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.044644281637198,0.055913493483678,-0.000024962177504],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.367805363900759,-0.14249121510735,0.000524090332252],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.053816590878897,-0.211422650165327,0.000113780462665],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003805346168,-99.999999248546644,0.000003805346139],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.09426409478608,-0.010652377744789,0.000010041367454],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.0525650762393,0.093528800747791,-0.000049163485419],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.044640671702305,0.064004942914662,-0.00002857223644],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.367801752693986,-0.141510188000102,0.000520476951705],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.053751897701946,-0.091320980398302,0.000049086759964],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003805482025,-99.999999976517927,0.000003805482024],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000057082403708,-99.999444877701265,0.000057082086831],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.094260293873007,-0.006620470445034,0.000006240474897],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.052561466810473,0.100402318874632,-0.000052772931512],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.044637061776591,0.072097811660619,-0.000032182344731],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.027428589923303,-0.351329154671668,0.000096364633116],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.367689796861055,-0.111103437094136,0.000408516002157],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.053744286766416,-0.077172571631427,0.000041475848203],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003805463286,-99.999999991194826,0.000003805463286],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000053276795196,-99.999175366491713,0.000053276355858],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.094256493004862,-0.002588263367471,0.00000243960628],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.052557857474173,0.107276726059321,-0.000056382348785],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.04463345194834,0.080191223137634,-0.000035792111046],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.027424788364068,-0.337516129019107,0.000092563084078],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.36768618543721,-0.11011623465528,0.000404882182751],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.040538882212664,-0.024391772797691,0.000009888152044],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.053702426714693,0.000713370264869,-0.000000383097144],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000049471299116,-99.998995290691312,0.000049470802074],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.094252692095063,0.001444310843495,-0.000001361301852],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.052554248141425,0.114152281315741,-0.000059991873182],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.044629842153136,0.088286286395327,-0.000039402030261],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.027420986736009,-0.323699376140001,0.000088761562996],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.052752933636656,0.020723391487522,-0.000010932196959],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.36767535146503,-0.107162301034043,0.000394009366965],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.04052747941521,0.003737353788954,-0.000001514655287],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003805456259,-99.999999991194812,0.000003805456258],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003805456259,-99.99999998238961,0.000003805456258],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.053694815874614,0.014887678682995,-0.000007993911657],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003805448061,-99.99999999944967,0.000003805448061],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.00004566595295,-99.99945563155093,0.000045665704359],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.094248891232935,0.00547716726426,-0.000005162169418],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.052550638871493,0.121031371824592,-0.000063602759129],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.044626232379965,0.096382625422538,-0.000043011934395],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.027417185302429,-0.309878532102414,0.000084959971359],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.052749128852861,0.027937876619007,-0.000014736986537],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.367671740212457,-0.106169805275652,0.000390356370637],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.040516076656369,0.031882211344061,-0.000012917421188],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003805458601,-99.999999982389625,0.000003805458601],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003805458601,-99.999999982389625,0.000003805458601],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.053691010517526,0.021976253735872,-0.000011799272705],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000041860906604,-99.998672658593208,0.000041860350967],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.09424509037773,0.00951033160356,-0.000008963020615],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.044622622705669,0.104480035454939,-0.000046621732024],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.027413383659402,-0.296054239516327,0.000081158484519],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.049023416174289,-0.026291919017508,0.00001288919688],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.367624795228245,-0.093406720495879,0.000343386264952],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.040512275767774,0.041267270607702,-0.00001671831047],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000038055110702,-99.998967678964405,0.000038054717851],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.094241289492916,0.013543865683561,-0.000012763913667],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.044619012986773,0.112580259498974,-0.000050232200606],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.027409582210458,-0.28222565686207,0.000077356873437],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.049019614772415,-0.01853910199635,0.000009087796381],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.367621184085482,-0.092423418485717,0.000339768065409],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.040508474919724,0.0506539870705,-0.000020519157648],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000034249014977,-99.999999996086572,0.000034249014976],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.09423748871432,0.0175776079064,-0.000016564696267],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.027405780660976,-0.268393671672686,0.000073555380967],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.049015813416544,-0.010785123470921,0.000005286415997],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.367617572903404,-0.091441436271829,0.000336154788651],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.040504674072986,0.060042481762089,-0.000024320011543],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000030443968632,-99.998367757031886,0.000030443471713],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.09423368791514,0.021611651187902,-0.000020365455934],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.027401979018563,-0.254557360813584,0.0000697537546],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.049012012001832,-0.003029939404737,0.000001485034265],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.367613961730764,-0.090459705372295,0.000332542506689],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000026638622465,-99.998525001772848,0.000026638229546],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.094229887123406,0.025646074106913,-0.000024166266683],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.02739817746078,-0.240717479877382,0.000065952202316],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.049008210622552,0.00472656260127,-0.000002316403755],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.367610351114487,-0.089477932041256,0.000328930140147],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000022832976474,-99.999999579972311,0.000022832976378],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.094226086257769,0.02968075169736,-0.000027967010696],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.027394375877391,-0.226873613435593,0.000062150610431],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.049004409229512,0.012484092543946,-0.000006117755799],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.367606740321177,-0.088496070746423,0.000325317520983],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000019027330484,-99.998539815957315,0.00001902705265],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.042403639382122,0.025176905798457,-0.000010675924342],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.05181864599333,0.040703522503023,-0.000021092014233],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.027390574316808,-0.213026317653623,0.000058349131851],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.049000607884324,0.020242831981621,-0.000009919110724],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.367603129325405,-0.087514127607943,0.000321704671689],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000015222096749,-99.999354489800879,0.000015221998489],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.042399838667035,0.034143019889559,-0.000014476585349],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.051814845229578,0.048041832680762,-0.000024892801249],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.027386772761658,-0.199174499888475,0.000054547467684],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.048996806530509,0.028002792473194,-0.000013720474051],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.367599518099891,-0.086531948064766,0.000318091024089],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000011416488237,-99.998782830516248,0.000011416349279],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.042396037926088,0.0431108783715,-0.000018277304345],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.051811044444971,0.05538119182983,-0.000028693573913],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.027382971172105,-0.18531924008955,0.00005074591409],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.048993005099732,0.035764175519581,-0.000017521944336],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.160738194643372,0.041109829089279,-0.000066079197099],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.233313472983896,-0.210889080447549,0.000492032637736],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000007610917202,-99.998709503267278,0.000007610818984],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.042392236978741,0.052080582368577,-0.000022078123898],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.051807243699649,0.062721619090083,-0.000032494342054],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.027379169622506,-0.171460413874303,0.00004694443755],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.048989203708309,0.043526604650877,-0.00002132333702],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.160734584086619,0.043358311424468,-0.000069691801535],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.233309671569805,-0.209259157772324,0.000488221853728],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003805533557,-99.998268723419514,0.000003805467672],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.042388436200035,0.061051817857489,-0.000025878910861],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.027375368147139,-0.157597683816576,0.000043142946136],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.048985402340009,0.051290179563395,-0.00002512470082],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.160730973592989,0.0456065454963,-0.000073303844598],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.233305870242333,-0.207627317065231,0.00048440671894],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.027371566602221,-0.143730608482996,0.000039341319229],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.048981600985681,0.059054946848765,-0.000028926058428],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.160727363005571,0.047854920743618,-0.00007691595218],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.096132715532449,-0.027013760328283,0.000025969061371],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.233241247976827,-0.17997047210078,0.000419765375118],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.027367764938466,-0.129859349036105,0.000035539601395],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.160723752569664,0.050103033685877,-0.000080527475891],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.05091102273231,-0.060784949445445,0.00003094623943],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.045217888138148,0.019421201678732,-0.00000878185725],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.0405084754267,0.050604287616287,-0.000020499025414],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.206778289419307,-0.14560046164864,0.000301070143984],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.027363963425823,-0.115984596960969,0.000031737982692],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.16072014207144,0.05235149756986,-0.000084139401271],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.050907217920406,-0.053315314298622,0.000027141343235],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.04521408344102,0.027837692331854,-0.000012586557439],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.040504674328184,0.059993386691908,-0.000024300125898],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.206774678294118,-0.143852640300492,0.000297450834199],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.027360161909788,-0.102106454100863,0.000027936491162],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.160716531606904,0.054600579808269,-0.000087752158105],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.050903413398952,-0.045845587373158,0.000023336968866],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.206709679847584,-0.112444308370177,0.000232433269839],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000064682190002,-99.999392644626781,0.000064681797152],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.027356360346507,-0.088224234080726,0.000024134939388],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.160712921168783,0.056855875232213,-0.000091374737942],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.050899608577684,-0.038373716595179,0.000019532071544],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.192538921956879,-0.127931427388115,0.000246317791137],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.100245095278757,0.012124884740729,-0.000012154602261],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000060877743302,-99.999479739541854,0.000060877426579],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.0273525588303,-0.074338380377118,0.000020333449226],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.160709310824526,0.059115779647865,-0.000095004562061],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.050895804056233,-0.030902041606355,0.000015727842545],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.192535121100498,-0.12595460288503,0.000242506847196],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.100241484981744,0.015731559397704,-0.000015769548751],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000057072846869,-99.999999918726232,0.000057072846822],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.027348757249858,-0.060447977938242,0.000016531770749],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.160705700571452,0.061370801272654,-0.000098626376132],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.050891999534787,-0.02342884765885,0.000011923409042],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.106403211670951,-0.172153230112149,0.000183176565835],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.098950687973583,0.021609156650895,-0.000021382409171],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.10023787472094,0.019334307317145,-0.000019380298747],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000053267950434,-99.998670509461718,0.000053267242242],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.027344955656909,-0.046553265651779,0.000012729969849],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.160702090372428,0.063622003843717,-0.000102241890114],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.050888194713507,-0.015953860729338,0.000008118631712],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.106399600651596,-0.168760873893041,0.000179560895878],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.098946887377904,0.025451038263537,-0.000025183010167],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.100234264331664,0.022937384542515,-0.000022991118653],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000049462754177,-99.999644707898284,0.00004946257844],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.027341153897122,-0.032655315656245,0.000008928340109],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.160698480182025,0.065872435946162,-0.000105856003424],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.050884390267015,-0.008478170216392,0.00000431406522],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.106395989669979,-0.165367219528476,0.000175944089807],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.098943086787604,0.029293222909713,-0.000028983618966],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.1002306540399,0.026540343881642,-0.000026601560257],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000045658157566,-99.999139438049582,0.000045657764649],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.027337352274638,-0.018753737834056,0.000005126775376],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.160694870003842,0.068122071176687,-0.000109468673721],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.050880585520704,-0.001000622945161,0.000000509122813],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.106392378743726,-0.161973546440764,0.000172327508994],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.048985400711008,0.059933099488003,-0.000029358468943],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.049953885530609,0.006857969228926,-0.000003425822098],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.100227043800593,0.03014373221439,-0.00003021217169],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000041853261131,-99.99970299804292,0.000041853136826],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.027333550819424,-0.004849088978503,0.0000013254282],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.160691259885065,0.070371464995878,-0.000113080793701],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.050876780774386,0.006477763481523,-0.000003295677526],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.106341827195945,-0.114512471249795,0.000121774654294],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.089528133218814,-0.018680207046722,0.00001672404065],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.048981600172913,0.067696873715147,-0.000033159012013],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.049950084944563,0.014466778523147,-0.000007226168161],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.100223433654722,0.033747234375072,-0.000033822637054],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000038048214786,-99.997934845134637,0.000038047429032],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.027329749349762,0.009059876103486,-0.00000247604143],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.160687649700471,0.072621029277089,-0.000116693025134],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.050872975840673,0.013957670273572,-0.000007100682226],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.106338216501658,-0.111118930207375,0.000118161888578],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.089524328511145,-0.01443108427237,0.000012919331292],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.049946284432738,0.022077358173329,-0.000011026820108],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.100219823384603,0.037351250865915,-0.00003743335765],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000034243318351,-99.999999646175681,0.00003424331823],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.0273259478373,0.022973248396353,-0.000006277657873],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.160684039587875,0.074870707687692,-0.000120305277581],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.050869171230218,0.02143793352856,-0.000010905299115],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.106334605832332,-0.10772325659281,0.000114547100288],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.047101646742931,0.020505140372081,-0.000009658258782],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.042418877141359,-0.044256052948309,0.000018772920728],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.049942483962701,0.029688919992925,-0.000014827384106],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.100216213154303,0.040955647955439,-0.000041044199454],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000030438421917,-99.998845406043529,0.000030438070477],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.027322146188162,0.03689037628269,-0.000010079242537],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.160680429441805,0.077120752733684,-0.000123917956681],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.050865366558857,0.028919414304992,-0.000014709966093],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.106330995230093,-0.104326295944754,0.000110931188765],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.047097842125443,0.02858491249956,-0.000013462876961],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.042415072395043,-0.035289715501585,0.000014968158378],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.04993868351035,0.037301406675742,-0.000018627831425],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.100212603002124,0.044560265848693,-0.000044655002312],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000026633675394,-99.99934033675801,0.000026633499702],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.027318344643665,0.050811290754052,-0.000013880803526],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.160676819380334,0.079372210398671,-0.00012753274314],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.106327384684278,-0.100930162569371,0.000107316402218],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.042411267723677,-0.026322163118055,0.000011163563071],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.049934883030433,0.044915018923056,-0.000022428262162],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.100208992806051,0.048165112535714,-0.000048265774156],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000022828778961,-99.999999791454272,0.000022828778913],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.099188660155769,0.073816220940377,-0.000073217320528],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.061484549276658,0.094218358407164,-0.000057929733003],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.106323774158661,-0.09753448826374,0.000103702349028],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.042407463427094,-0.017353682263589,0.000007359256459],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.049931082409109,0.052530248213848,-0.000026228921525],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.100205382683793,0.051769995259156,-0.000051876321865],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000019023582704,-99.997934860973544,0.000019023189841],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.09918505005316,0.077459297327471,-0.000076828042825],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.06148093929255,0.100099069201374,-0.000061541847968],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.106179364551359,0.038338016290037,-0.000040707062078],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.093394407208453,-0.079004224810348,0.000073785527431],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.042403658755726,-0.008382793810133,0.000003554611281],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.049927281818817,0.060146579676808,-0.00003002955234],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.100201772491067,0.055375187507142,-0.000055486919402],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000015219435827,-99.998709443107401,0.000015219239411],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.099181440028922,0.081102540308677,-0.000080438667378],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.061477329370173,0.105980876215266,-0.00006515421234],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.106175754615378,0.041739773980877,-0.000044317519999],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.09338680638071,-0.070871578937147,0.000066184704201],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003804896434,-99.999999982387024,0.000003804896433],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.042399854384196,0.000588030925936,-0.000000249324256],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.049923481278526,0.067763904530595,-0.000033830100192],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.100198162446087,0.058980319248,-0.000059097196091],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000011414614347,-99.999999886504071,0.000011414614334],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.09917782998692,0.084745987425134,-0.000084049231329],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.061473719492051,0.111862186277668,-0.00006876584661],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.106172144633425,0.045141821765962,-0.000047928040296],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.093379205596629,-0.062737662530261,0.000058583930881],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003804915173,-100.0,0.000003804915173],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.042396049263094,0.009563493364692,-0.000004054543358],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.100194552407869,0.062585749566772,-0.00006270751165],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000007609605479,-99.999999887859758,0.000007609605471],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.099174219975753,0.088389484567575,-0.00008765958186],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.106168534794256,0.04854389575376,-0.000051538342854],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.09337160486487,-0.0546024459869,0.000050983180113],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003804919858,-99.999999946432567,0.000003804919856],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.042392244732277,0.018539094168874,-0.000007859138171],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.100190942290817,0.066191698930857,-0.000066318086877],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003804896434,-99.999999663637055,0.000003804896421],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.099170609947599,0.092033444700051,-0.000091270128465],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.106164924891936,0.051946223275784,-0.000055148668925],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.093364004229894,-0.046466009831607,0.000043382527385],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003804910488,-99.999999981845036,0.000003804910488],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.042388440100735,0.027516392620541,-0.000011663769604],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.100187332267068,0.069800064451721,-0.000069930822495],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.099167000041921,0.095677286872212,-0.000094880295113],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.106161314962904,0.055348844669119,-0.000058759061318],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.093356403614018,-0.038328280252249,0.000035781904011],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003804915173,-99.99999998184505,0.000003804915172],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.100183722260952,0.073409492763209,-0.000073544362343],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.099163389962847,0.099321736997209,-0.000098490801376],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.106157705173622,0.058751660674526,-0.000062369414723],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.093299399160538,0.022746729319358,-0.000021222561784],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000049464197072,-99.999882004904791,0.000049464138707],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003804924542,-99.999999982250088,0.000003804924542],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.100180112256754,0.077017206302006,-0.00007715592373],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.099159779931071,0.102966299648086,-0.000102101156134],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.106154095402574,0.062154377752676,-0.000065979417456],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.093295598950846,0.026820962020886,-0.000025022777162],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000041854329248,-99.999897539250142,0.000041854286364],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003804938597,-99.999999990922589,0.000003804938596],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.100176502263668,0.080624107335522,-0.00008076641071],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.099156169966501,0.106611360811586,-0.00010571174213],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.10615048543956,0.065560053581939,-0.000069592315132],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.093291798743418,0.030895519475588,-0.00002882298585],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000034244470794,-99.999868514184499,0.000034244425767],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003804933912,-99.999999998899199,0.000003804933912],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.100172892368387,0.084231107426521,-0.000084376736583],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.045610466892502,0.109338832864901,-0.000049869952164],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.053542093173988,0.111043314653096,-0.000059454914995],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.106146875656674,0.06896718136414,-0.000073206508247],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.093287998556942,0.034970415028785,-0.000032623200267],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.00002663460297,-99.999867999045293,0.000026634567812],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003804915173,-99.999999982387109,0.000003804915172],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.100169282363239,0.087837878962583,-0.000087986573],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.106143265898705,0.072373438692302,-0.000076819531471],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.09328419841321,0.039045525047459,-0.000036423305057],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000019024735146,-99.999767313067807,0.000019024690878],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003804933912,-99.999999964500262,0.000003804933911],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.100165672362888,0.091445177206429,-0.000091596676592],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.10613965617941,0.075779778653235,-0.000080432396516],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.044291198255525,0.028341194939442,-0.000012552654839],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.04898919999544,0.056483539686406,-0.000027670834221],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000011414839214,-99.999439070629734,0.000011414775184],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003804943281,-99.999999991193619,0.000003804943281],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.100162062583759,0.095052607386208,-0.000095206652098],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.106136046502991,0.079187416360869,-0.000084046393053],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.044287398152898,0.036924097244551,-0.000016352721961],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.048985399856702,0.064245632729215,-0.000031470980083],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003804933912,-99.99999989432321,0.000003804933908],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.000003804933912,-99.999999982387195,0.000003804933911],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.100158452736589,0.098660403315936,-0.000098816733425],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.106132436856394,0.082594397121702,-0.000087659446372],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.044283598039385,0.045508627038138,-0.000020152857471],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.048981599745833,0.07200885770104,-0.000035271090461],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.100154842971263,0.102268522175881,-0.000102426877794],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.05456242308792,0.067307972257432,-0.000036724860595],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.051566404329936,0.10577733798701,-0.000054545569796],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.044279797931686,0.054094555057352,-0.000023952959671],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.100151233153578,0.105877799578252,-0.000106037921913],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.054558813434369,0.073929464214387,-0.000040335038454],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.051562794816632,0.112787417764432,-0.000058156344801],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.044275997815228,0.062681976826047,-0.00002775307069],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.047596983927708,0.105424200736122,-0.00005017873988],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.052550639405352,0.113172092408925,-0.000059472658189],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.054555203810871,0.080551737034699,-0.000043945164312],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.051559185350467,0.119798958894548,-0.000061767367264],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.044272197703642,0.071270880641317,-0.000031553185183],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.04759337414055,0.113021703364929,-0.000053790842142],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.054551594139108,0.087174137547162,-0.000047554881709],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.054547984534343,0.093797321619388,-0.000051164548491],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.054544374923463,0.100421680978985,-0.000054774378178],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.054540765489906,0.107046312833674,-0.000058383878448],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.054537155923724,0.113672496264769,-0.00006199374653],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0,0.054533546435055,0.120301913537888,-0.000065604899881]]}", + "orient": "split", "dtype": { "p_from_mw": "float64", "q_from_mvar": "float64", @@ -1411,13 +1437,13 @@ "loading_pf_percent": "float64", "diff_pp2pf_percent": "float64", "diff_pp2pf": "float64" - }, - "orient": "split" + } }, "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\"],\"index\":[0],\"data\":[[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999952316284,0.0,1.049999952316284,0.0,0.0]]}", + "orient": "split", "dtype": { "p_hv_mw": "float64", "q_hv_mvar": "float64", @@ -1432,13 +1458,13 @@ "vm_lv_pu": "float64", "va_lv_degree": "float64", "loading_percent": "float64" - }, - "orient": "split" + } }, "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", @@ -1460,13 +1486,13 @@ "va_internal_degree": "float64", "vm_internal_pu": "float64", "loading_percent": "float64" - }, - "orient": "split" + } }, "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", @@ -1476,100 +1502,110 @@ "ql_mvar": "float64", "i_from_ka": "float64", "i_to_ka": "float64" - }, - "orient": "split" + } }, "res_ext_grid": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"p_mw\",\"q_mvar\"],\"index\":[0],\"data\":[[0.0,0.0]]}", + "orient": "split", "dtype": { "p_mw": "float64", "q_mvar": "float64" - }, - "orient": "split" + } }, "res_load": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"p_mw\",\"q_mvar\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "p_mw": "float64", "q_mvar": "float64" - }, - "orient": "split" + } + }, + "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" + } }, "res_sgen": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"p_mw\",\"q_mvar\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "p_mw": "float64", "q_mvar": "float64" - }, - "orient": "split" + } }, "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" - }, - "orient": "split" + } }, "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" - }, - "orient": "split" + } }, "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" - }, - "orient": "split" + } }, "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" - }, - "orient": "split" + } }, "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" - }, - "orient": "split" + } }, "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", @@ -1580,24 +1616,174 @@ "va_from_degree": "float64", "vm_to_pu": "float64", "va_to_degree": "float64" - }, - "orient": "split" + } }, - "user_pf_options": {}, - "res_switch": { + "res_asymmetric_load": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"pf_closed\",\"pf_in_service\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"p_mw\",\"q_mvar\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { - "pf_closed": "bool", - "pf_in_service": "bool" - }, + "p_mw": "float64", + "q_mvar": "float64" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_bus_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_line_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo3w_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_ext_grid_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_gen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_sgen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", "orient": "split" }, "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\",\"unbalance_percent\"],\"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,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906],\"data\":[[1.049999924257417,-0.000000918370925,1.049999951770489,-119.999998214843259,1.049999980920947,119.999999133214203,0.000995126356877,0.000199664224564,0.000829555699059,0.00012824313494,0.000974193587468,0.000020565251111,0.000003116119809],[1.04994472669927,-30.007840877367286,1.049979796586926,-150.00683531934709,1.049985592770176,89.993129004194884,0.0,0.0,0.0,0.0,0.0,0.0,0.001426639360717],[1.049934511079529,-30.007607851575493,1.04997047071945,-150.007034888391985,1.049982056735728,89.993052562503678,0.0,0.0,0.0,0.0,0.0,0.0,0.001449452177444],[1.049933440115066,-30.00758342180514,1.049969493032848,-150.007055810631272,1.049981686031826,89.993044548627509,0.0,0.0,0.0,0.0,0.0,0.0,0.001452085889309],[1.049932436789635,-30.007560534899785,1.049968577094085,-150.007075411520731,1.049981338740467,89.99303704087832,0.0,0.0,0.0,0.0,0.0,0.0,0.001454594116049],[1.049931562034014,-30.007540580768058,1.049967778527058,-150.007092500710542,1.049981035952261,89.993030495194716,0.0,0.0,0.0,0.0,0.0,0.0,0.00145681301493],[1.049930183950612,-30.007509145106575,1.049966520470544,-150.007119422948563,1.049980558941936,89.993020183164717,0.0,0.0,0.0,0.0,0.0,0.0,0.001460368942081],[1.049836343423253,-30.005368325083086,1.049880853031291,-150.008952856963191,1.049948076737897,89.992317958676921,0.0,0.0,0.0,0.0,0.0,0.0,0.0018448384318],[1.049832140481164,-30.005272432060959,1.049877016140228,-150.009034980680497,1.049946621911035,89.992286506095127,0.0,0.0,0.0,0.0,0.0,0.0,0.001867183737768],[1.049828642295661,-30.005192617912883,1.049873822625268,-150.00910333425,1.049945411031428,89.992260327454304,0.0,0.0,0.0,0.0,0.0,0.0,0.001886031536495],[1.0498255723604,-30.005122574192786,1.049871020062264,-150.009163320302491,1.049944348388055,89.992237353558934,0.0,0.0,0.0,0.0,0.0,0.0,0.00190275295518],[1.049823281609257,-30.005070308068383,1.049868928821103,-150.009208081447184,1.049943555455244,89.992220210659269,0.0,0.0,0.0,0.0,0.0,0.0,0.001915337738176],[1.049821131158333,-30.005021242830384,1.049866965660749,-150.009250101310585,1.049942811086477,89.992204117671008,0.0,0.0,0.0,0.0,0.0,0.0,0.001927233529211],[1.049819808827724,-30.00499107208919,1.049865758496638,-150.009275939767861,1.049942353367669,89.992194221941332,0.0,0.0,0.0,0.0,0.0,0.0,0.001934587027807],[1.049816516818213,-30.004915960132639,1.049862753199764,-150.009340266206863,1.049941213852992,89.992169585970998,0.0,0.0,0.0,0.0,0.0,0.0,0.001953019408075],[1.049789848850641,-30.004307473107215,1.049838407826593,-150.009861377731482,1.049931982834247,89.991970012038237,0.0,0.0,0.0,0.0,0.0,0.0,0.002108378291926],[1.04978984885064,-30.004307473107236,1.049838407826592,-150.009861377731482,1.049931982834247,89.991970012038223,0.0,0.0,0.0,0.0,0.0,0.0,0.002108378291926],[1.049757509530264,-30.003569537093934,1.049808885006622,-150.010493346963415,1.049920788653322,89.991727989819779,0.0,0.0,0.0,0.0,0.0,0.0,0.002308898980206],[1.04978984885064,-30.004307473107236,1.049838407826591,-150.009861377731482,1.049931982834247,89.991970012038223,0.0,0.0,0.0,0.0,0.0,0.0,0.002108378291926],[1.049755284393781,-30.003518760923484,1.049806853660838,-150.010536831608192,1.049920018425691,89.991711337025166,0.0,0.0,0.0,0.0,0.0,0.0,0.002323105823118],[1.04978984885064,-30.004307473107236,1.049838407826592,-150.009861377731482,1.049931982834247,89.991970012038223,0.0,0.0,0.0,0.0,0.0,0.0,0.002108378291926],[1.049752785826148,-30.003461744954027,1.04980457269728,-150.010585659989374,1.049919153550007,89.991692637851415,0.0,0.0,0.0,0.0,0.0,0.0,0.002339115061746],[1.04978984885064,-30.004307473107225,1.049838407826592,-150.009861377731482,1.049931982834247,89.991970012038223,0.0,0.0,0.0,0.0,0.0,0.0,0.002108378291926],[1.049748717654555,-30.003368910838116,1.04980085882856,-150.010665162928149,1.049917745357492,89.991662191746912,0.0,0.0,0.0,0.0,0.0,0.0,0.002365306432598],[1.049789848850639,-30.004307473107222,1.049838407826591,-150.009861377731482,1.049931982834247,89.991970012038223,0.0,0.0,0.0,0.0,0.0,0.0,0.002108378291926],[1.049741316672155,-30.003200021260994,1.04979410240698,-150.010809799463971,1.049915183514708,89.99160680270235,0.0,0.0,0.0,0.0,0.0,0.0,0.002413337527225],[1.049789848850639,-30.004307473107222,1.049838407826591,-150.009861377731482,1.049931982834246,89.991970012038223,0.0,0.0,0.0,0.0,0.0,0.0,0.002108378291926],[1.049730823523987,-30.003058454858792,1.049794133922262,-150.010818025311181,1.049915298287869,89.991612404257495,0.0,0.0,0.0,0.0,0.0,0.0,0.002750794981285],[1.049660777453211,-30.001235219077355,1.049708248567971,-150.012328985182222,1.049879018364919,89.990709850696817,0.0,0.0,0.0,0.0,0.0,0.0,0.00282635295318],[1.049789848850639,-30.004307473107215,1.049838407826591,-150.009861377731482,1.049931982834246,89.991970012038237,0.0,0.0,0.0,0.0,0.0,0.0,0.002108378291926],[1.049729667394722,-30.003042856989666,1.049794137394508,-150.010818931630496,1.049915310933416,89.991613021434063,0.0,0.0,0.0,0.0,0.0,0.0,0.002787989012991],[1.049729133892535,-30.003035659216163,1.049794138996834,-150.010819349857115,1.04991531676883,89.991613306232992,0.0,0.0,0.0,0.0,0.0,0.0,0.002805153167445],[1.049639336827453,-30.0007121066641,1.049685393022145,-150.012733458471018,1.049869390657523,89.990471057389357,0.0,0.0,0.0,0.0,0.0,0.0,0.002945097679112],[1.049789848850637,-30.004307473107197,1.049838407826589,-150.009861377731426,1.049931982834245,89.991970012038252,0.0,0.0,0.0,0.0,0.0,0.0,0.002108378291926],[1.049727019777302,-30.003007136638491,1.049794145346142,-150.010821007165617,1.049915339892557,89.99161443481195,-0.000036000001273,-0.000011832627933,0.0,0.0,0.0,0.0,0.002873174246166],[1.049729076673022,-30.003034887238474,1.049794139168684,-150.010819394712939,1.049915317394689,89.991613336778457,0.0,0.0,0.0,0.0,0.0,0.0,0.002806994095638],[1.049639412556072,-30.000704956070223,1.049674801010446,-150.012776864444533,1.049869466259537,89.990463904369221,0.0,0.0,0.0,0.0,0.0,0.0,0.0026823974063],[1.049572302862488,-29.999343843668178,1.049626449002866,-150.013904687430795,1.049837991143119,89.989959893267013,0.0,0.0,0.0,0.0,0.0,0.0,0.003484943853603],[1.049789848850637,-30.004307473107172,1.049838407826589,-150.009861377731426,1.049931982834243,89.99197001203828,0.0,0.0,0.0,0.0,0.0,0.0,0.002108378291926],[1.049728994401713,-30.00303377727402,1.049794139415774,-150.010819459207596,1.049915318294561,89.991613380697331,0.0,0.0,0.0,0.0,0.0,0.0,0.002809641026825],[1.049639415421614,-30.000704685494718,1.04967440021301,-150.012778506921194,1.049869469120285,89.990463633701793,0.0,0.0,0.0,0.0,0.0,0.0,0.002672762080726],[1.04963942350425,-30.000703922300062,1.049673269710571,-150.012783139793697,1.049869477189421,89.990462870248749,0.0,0.0,0.0,0.0,0.0,0.0,0.002645717632946],[1.049525786072187,-29.998394257415892,1.049585546002844,-150.01471751975734,1.049816201989,89.98960516138753,0.0,0.0,0.0,0.0,0.0,0.0,0.003877505998862],[1.049572302862489,-29.999343843668178,1.049626449002868,-150.013904687430795,1.04983799114312,89.989959893267013,0.0,0.0,0.0,0.0,0.0,0.0,0.003484943853603],[1.049789848850636,-30.004307473107175,1.049838407826588,-150.009861377731426,1.049931982834243,89.99197001203828,0.0,0.0,0.0,0.0,0.0,0.0,0.002108378291926],[1.049728888894373,-30.003032353820114,1.04979413973265,-150.010819541917527,1.049915319448585,89.991613437020291,0.0,0.0,0.0,0.0,0.0,0.0,0.002813035551573],[1.049639416713199,-30.000704563538243,1.049674219561613,-150.012779247235017,1.04986947040971,89.990463511703894,0.0,0.0,0.0,0.0,0.0,0.0,0.002668427169469],[1.049639449847639,-30.000701434853326,1.049669585113126,-150.012798239547323,1.049869503488793,89.990460381959196,0.0,0.0,-0.000044000000344,-0.000000014462101,0.0,0.0,0.002559005109109],[1.049490635512501,-29.997676640134042,1.049554637491651,-150.01533178417543,1.04979973687474,89.989337096010857,0.0,0.0,0.0,0.0,0.0,0.0,0.004181000499375],[1.049572302862491,-29.999343843668168,1.049626449002869,-150.013904687430795,1.049837991143122,89.989959893267042,0.0,0.0,0.0,0.0,0.0,0.0,0.003484943853603],[1.049789848850635,-30.004307473107175,1.049838407826587,-150.009861377731426,1.049931982834242,89.99197001203828,0.0,0.0,0.0,0.0,0.0,0.0,0.002108378291926],[1.049728631936484,-30.003028887067511,1.049794140504385,-150.010819743353409,1.049915322259154,89.991613574192087,0.0,0.0,0.0,0.0,0.0,0.0,0.002821302823884],[1.049639418082003,-30.00070443429048,1.049674028109805,-150.012780031809456,1.049869471776225,89.990463382412216,0.0,0.0,0.0,0.0,0.0,0.0,0.002663838567575],[1.049485567522527,-29.997573170216285,1.049550181115967,-150.015420351712066,1.04979736293782,89.989298445691091,0.0,0.0,0.0,0.0,0.0,0.0,0.004225159369596],[1.049490635512506,-29.997676640134014,1.049554637491655,-150.01533178417543,1.049799736874745,89.9893370960109,0.0,0.0,0.0,0.0,0.0,0.0,0.004181000499375],[1.049572302862491,-29.999343843668178,1.04962644900287,-150.013904687430795,1.049837991143122,89.989959893267013,0.0,0.0,0.0,0.0,0.0,0.0,0.003484943853603],[1.049789848850634,-30.004307473107197,1.049838407826586,-150.009861377731426,1.049931982834241,89.991970012038252,0.0,0.0,0.0,0.0,0.0,0.0,0.002108378291926],[1.049728411933618,-30.003025918892973,1.049794141165131,-150.010819915819354,1.049915324665514,89.991613691636218,0.0,0.0,0.0,0.0,0.0,0.0,0.002828381203049],[1.049639419385695,-30.000704311190916,1.049673845765208,-150.012780779062552,1.049869473077736,89.990463259270882,0.0,0.0,0.0,0.0,0.0,0.0,0.002659473507296],[1.049462610906484,-29.99710446631304,1.049529994939596,-150.015821548670772,1.049786609633377,89.989123367765643,0.0,0.0,0.0,0.0,0.0,0.0,0.00442629674157],[1.049490635512506,-29.997676640133999,1.049554637491656,-150.01533178417543,1.049799736874745,89.989337096010914,0.0,0.0,0.0,0.0,0.0,0.0,0.004181000499375],[1.049572302862492,-29.999343843668186,1.049626449002871,-150.013904687430795,1.049837991143123,89.989959893267013,0.0,0.0,0.0,0.0,0.0,0.0,0.003484943853603],[1.049789848850633,-30.004307473107215,1.049838407826585,-150.009861377731482,1.04993198283424,89.991970012038237,0.0,0.0,0.0,0.0,0.0,0.0,0.002108378291926],[1.049727357318796,-30.003011690511169,1.049794144332502,-150.010820742559133,1.049915336200733,89.991614254621197,0.0,0.0,0.0,0.0,0.0,0.0,0.002862313480733],[1.049639420166477,-30.000704237466458,1.049673736558829,-150.012781226593347,1.049869473857212,89.990463185521378,0.0,0.0,0.0,0.0,0.0,0.0,0.002656861738285],[1.049458574848857,-29.99701702745973,1.049525829700983,-150.01588793871997,1.049784213521754,89.989077285510646,0.0,0.0,0.0,0.0,0.0,0.0,0.004456814576923],[1.049449072892846,-29.996921741897321,1.049530035630412,-150.015832163892867,1.049786757697426,89.989130596615169,0.0,0.0,0.0,0.0,0.0,0.0,0.004841448155978],[1.049490635512506,-29.997676640133996,1.049554637491656,-150.015331784175402,1.049799736874745,89.989337096010914,0.0,0.0,0.0,0.0,0.0,0.0,0.004181000499375],[1.049572302862492,-29.9993438436682,1.049626449002871,-150.013904687430824,1.049837991143123,89.989959893266999,0.0,0.0,0.0,0.0,0.0,0.0,0.003484943853603],[1.049789848850632,-30.004307473107222,1.049838407826585,-150.009861377731482,1.049931982834239,89.991970012038223,0.0,0.0,0.0,0.0,0.0,0.0,0.002108378291926],[1.04972362961735,-30.002961397830042,1.049794155527976,-150.010823664800824,1.049915376973678,89.991616244579987,-0.000054000000091,-0.0000177489419,0.0,0.0,0.0,0.0,0.002982265833357],[1.049639421698314,-30.000704092824481,1.049673522303933,-150.012782104616264,1.049869475386487,89.99046304083032,0.0,0.0,0.0,0.0,0.0,0.0,0.002651743040877],[1.049410890470257,-29.995983918387751,1.049476619017786,-150.016672352829289,1.049755904373382,89.988532824550518,0.0,0.0,0.0,0.0,0.0,0.0,0.00482487044242],[1.049445246027908,-29.996870089292631,1.049530047132369,-150.015835164557387,1.04978679955118,89.989132640034256,-0.000048000001698,-0.000015776837245,0.0,0.0,0.0,0.0,0.004959470394379],[1.049446282473164,-29.996884078633102,1.049530044017236,-150.015834351875128,1.049786788215738,89.989132086606958,-0.000035000000935,-0.000011503943824,0.0,0.0,0.0,0.0,0.004927479795008],[1.049490635512507,-29.997676640133996,1.049554637491657,-150.015331784175402,1.049799736874747,89.989337096010914,0.0,0.0,0.0,0.0,0.0,0.0,0.004181000499375],[1.049572302862494,-29.999343843668235,1.049626449002872,-150.013904687430852,1.049837991143125,89.98995989326697,0.0,0.0,0.0,0.0,0.0,0.0,0.003484943853603],[1.04978984885063,-30.004307473107225,1.049838407826582,-150.009861377731482,1.049931982834237,89.991970012038223,0.0,0.0,0.0,0.0,0.0,0.0,0.002108378291926],[1.049639429461725,-30.000703359773397,1.049672436451913,-150.012786554475383,1.049869483136913,89.990462307530379,0.0,0.0,0.0,0.0,0.0,0.0,0.002625912728011],[1.049394268991746,-29.995623780976658,1.049459465474651,-150.016945796774309,1.049746036545625,89.988343032511821,0.0,0.0,0.0,0.0,0.0,0.0,0.004956069526262],[1.049490635512508,-29.997676640133978,1.049554637491658,-150.015331784175402,1.049799736874747,89.989337096010928,0.0,0.0,0.0,0.0,0.0,0.0,0.004181000499375],[1.049572302862498,-29.999343843668392,1.049626449002876,-150.013904687431022,1.049837991143129,89.989959893266814,0.0,0.0,0.0,0.0,0.0,0.0,0.003484943853603],[1.049789848850627,-30.004307473107215,1.049838407826578,-150.009861377731482,1.049931982834234,89.991970012038237,0.0,0.0,0.0,0.0,0.0,0.0,0.002108378291926],[1.049639458715991,-30.000700597473568,1.049668344719554,-150.012803322618964,1.049869512342247,89.990459544293017,0.0,0.0,-0.000051999999414,-0.000000017091573,0.0,0.0,0.002530334964688],[1.049390641645345,-29.995545185671656,1.049455722011974,-150.01700547239497,1.049743883063225,89.988301613193187,0.0,0.0,0.0,0.0,0.0,0.0,0.004984879808017],[1.049490635512508,-29.997676640133982,1.049554637491658,-150.015331784175402,1.049799736874747,89.989337096010914,0.0,0.0,0.0,0.0,0.0,0.0,0.004181000499375],[1.049572302862505,-29.99934384366869,1.049626449002883,-150.013904687431278,1.049837991143136,89.989959893266516,0.0,0.0,0.0,0.0,0.0,0.0,0.003484943853603],[1.049789848850625,-30.004307473107204,1.049838407826577,-150.009861377731426,1.049931982834232,89.991970012038252,0.0,0.0,0.0,0.0,0.0,0.0,0.002108378291926],[1.049383285963945,-29.99538580510864,1.049448130862495,-150.017126486458125,1.049739516141417,89.98821762081937,0.0,0.0,0.0,0.0,0.0,0.0,0.005043490195614],[1.049490635512508,-29.997676640133982,1.049554637491658,-150.015331784175402,1.049799736874747,89.989337096010914,0.0,0.0,0.0,0.0,0.0,0.0,0.004181000499375],[1.049572302862507,-29.999343843668765,1.049626449002885,-150.013904687431392,1.049837991143137,89.989959893266445,0.0,0.0,0.0,0.0,0.0,0.0,0.003484943853603],[1.049789848850624,-30.004307473107197,1.049838407826576,-150.009861377731426,1.049931982834231,89.991970012038252,0.0,0.0,0.0,0.0,0.0,0.0,0.002108378291926],[1.049376349220558,-29.995235499765848,1.049440972058589,-150.017240609961164,1.049735397932184,89.988138411457754,0.0,0.0,0.0,0.0,0.0,0.0,0.005098986410536],[1.049572302862507,-29.999343843668782,1.049626449002885,-150.013904687431392,1.049837991143138,89.989959893266416,0.0,0.0,0.0,0.0,0.0,0.0,0.003484943853603],[1.049789848850624,-30.004307473107197,1.049838407826576,-150.009861377731426,1.049931982834231,89.991970012038252,0.0,0.0,0.0,0.0,0.0,0.0,0.002108378291926],[1.049372317328522,-29.995148135757475,1.049436811095256,-150.017306943531423,1.049733004275376,89.988092371724221,0.0,0.0,0.0,0.0,0.0,0.0,0.005131339918497],[1.049572302862507,-29.99934384366879,1.049626449002886,-150.013904687431392,1.049837991143138,89.989959893266402,0.0,0.0,0.0,0.0,0.0,0.0,0.003484943853603],[1.049789848850624,-30.004307473107197,1.049838407826576,-150.009861377731426,1.049931982834231,89.991970012038252,0.0,0.0,0.0,0.0,0.0,0.0,0.002108378291926],[1.049369654566036,-29.995090437983457,1.049434063090248,-150.017350752191277,1.049731423444001,89.988061965801862,0.0,0.0,0.0,0.0,0.0,0.0,0.005152745280241],[1.049572302862507,-29.99934384366879,1.049626449002886,-150.013904687431392,1.049837991143138,89.989959893266402,0.0,0.0,0.0,0.0,0.0,0.0,0.003484943853603],[1.049789848850624,-30.004307473107197,1.049838407826576,-150.009861377731426,1.049931982834231,89.991970012038252,0.0,0.0,0.0,0.0,0.0,0.0,0.002108378291926],[1.049365978035246,-29.995010772967127,1.049430268862566,-150.017411240110221,1.049729240757081,89.988019983552206,0.0,0.0,0.0,0.0,0.0,0.0,0.005182349368236],[1.049572302862498,-29.999343843668648,1.049626449002877,-150.013904687431278,1.049837991143129,89.989959893266544,0.0,0.0,0.0,0.0,0.0,0.0,0.003484943853603],[1.049789848850624,-30.004307473107197,1.049838407826576,-150.009861377731426,1.049931982834231,89.991970012038252,0.0,0.0,0.0,0.0,0.0,0.0,0.002108378291926],[1.049365978722375,-29.995010459871821,1.049430170333425,-150.017413005253843,1.049729181839006,89.988015655724013,0.0,0.0,0.0,0.0,0.0,0.0,0.00518192589354],[1.049363530816783,-29.994964110107414,1.049428321751949,-150.017453629359579,1.04972814771606,89.988005654958371,0.0,0.0,0.0,0.0,0.0,0.0,0.005206882933943],[1.049572302862498,-29.999343843668644,1.049626449002877,-150.013904687431278,1.049837991143129,89.989959893266544,0.0,0.0,0.0,0.0,0.0,0.0,0.003484943853603],[1.049365979553705,-29.995010081069694,1.049430051126756,-150.017415140834572,1.049729110556272,89.988010419648219,0.0,0.0,0.0,0.0,0.0,0.0,0.005181414084683],[1.049362143122838,-29.994937649855249,1.0494272176439,-150.017477666235948,1.049727527907599,89.987997529921856,0.0,0.0,0.0,0.0,0.0,0.0,0.005220797978293],[1.049572302862497,-29.999343843668648,1.049626449002875,-150.013904687431278,1.049837991143128,89.989959893266544,0.0,0.0,0.0,0.0,0.0,0.0,0.003484943853603],[1.049365980517276,-29.995009642010981,1.049429912957726,-150.017417616125556,1.04972902793451,89.988004350662052,0.0,0.0,0.0,0.0,0.0,0.0,0.005180821597816],[1.04930738858353,-29.993893543009669,1.049383652616536,-150.018426137647481,1.049703071919864,89.987676929989263,0.0,0.0,0.0,0.0,0.0,0.0,0.005771560691433],[1.04957230286246,-29.999343843668242,1.049626449002838,-150.013904687430852,1.049837991143091,89.989959893266942,0.0,0.0,0.0,0.0,0.0,0.0,0.003484943853603],[1.049365981986436,-29.995008972576706,1.049429702290946,-150.01742139021124,1.049728901960853,89.987995097256658,0.0,0.0,0.0,0.0,0.0,0.0,0.005179919752865],[1.049301903388258,-29.993788940229958,1.049379288363401,-150.018521158173968,1.049700621962446,89.987644812032329,0.0,0.0,0.0,0.0,0.0,0.0,0.00582689985049],[1.049572302862427,-29.999343843667901,1.049626449002805,-150.013904687430511,1.049837991143058,89.989959893267297,0.0,0.0,0.0,0.0,0.0,0.0,0.003484943853603],[1.049365983875239,-29.995008111928278,1.049429431450273,-150.017426242311785,1.049728740004696,89.987983200747436,0.0,0.0,0.0,0.0,0.0,0.0,0.005178763010926],[1.049301906382478,-29.993791096563154,1.049379064404117,-150.018523500721926,1.049700346749324,89.987631029343106,0.0,0.0,0.0,0.0,0.0,0.0,0.005828299634154],[1.049284844770757,-29.993545176752441,1.049368400375726,-150.018902536041367,1.049696330874425,89.987560589825406,0.0,0.0,0.0,0.0,0.0,0.0,0.006004158018221],[1.049572302862424,-29.999343843667862,1.049626449002802,-150.013904687430482,1.049837991143055,89.989959893267326,0.0,0.0,0.0,0.0,0.0,0.0,0.003484943853603],[1.04936598523122,-29.99500749406495,1.049429237012559,-150.01742972565782,1.049728623735681,89.987974660188527,0.0,0.0,0.0,0.0,0.0,0.0,0.005177934456139],[1.049301906382478,-29.993791096563154,1.049379064404117,-150.018523500721926,1.049700346749324,89.987631029343106,0.0,0.0,0.0,0.0,0.0,0.0,0.005828299634154],[1.049301907840345,-29.993792146468756,1.049378955359694,-150.018524641294732,1.049700212749738,89.987624318632399,0.0,0.0,0.0,0.0,0.0,0.0,0.00582898283395],[1.049254081809496,-29.993105560926978,1.049348765413914,-150.019590321527517,1.049688592453049,89.987408704266258,0.0,0.0,0.0,0.0,0.0,0.0,0.006324058342114],[1.049572302862421,-29.99934384366783,1.0496264490028,-150.013904687430454,1.049837991143052,89.989959893267382,0.0,0.0,0.0,0.0,0.0,0.0,0.003484943853603],[1.04936598714721,-29.995006621028662,1.049428962273516,-150.01743464760213,1.049728459448463,89.987962592438819,0.0,0.0,0.0,0.0,0.0,0.0,0.005176766388079],[1.049301906382478,-29.993791096563172,1.049379064404117,-150.018523500721926,1.049700346749324,89.987631029343078,0.0,0.0,0.0,0.0,0.0,0.0,0.005828299634154],[1.049301914688924,-29.993797078573497,1.049378443105538,-150.01852999932683,1.049699583264773,89.987592793938703,0.0,0.0,0.0,0.0,0.0,0.0,0.005832206757618],[1.04924024773357,-29.992907857437576,1.049339935624697,-150.019899626816425,1.049685112487123,89.98734040065186,0.0,0.0,0.0,0.0,0.0,0.0,0.006468007800815],[1.049572302862419,-29.999343843667816,1.049626449002797,-150.013904687430454,1.04983799114305,89.989959893267382,0.0,0.0,0.0,0.0,0.0,0.0,0.003484943853603],[1.049365989220175,-29.995005676466178,1.049428665025637,-150.017439972794875,1.049728281701561,89.987949535997188,0.0,0.0,0.0,0.0,0.0,0.0,0.005175506151322],[1.049301906382479,-29.993791096563164,1.049379064404118,-150.018523500721926,1.049700346749325,89.987631029343106,0.0,0.0,0.0,0.0,0.0,0.0,0.005828299634154],[1.049298215907957,-29.993747144346664,1.049378454227487,-150.018532899939345,1.049699623715855,89.98759476928106,0.0,0.0,0.0,0.0,0.0,0.0,0.00593922138313],[1.049303031294838,-29.99380604514711,1.049376875962599,-150.01852033774793,1.049697458439277,89.987485533912235,0.0,0.0,0.0,0.0,0.0,0.0,0.005830542259044],[1.049236131717616,-29.992849034206376,1.049337308525148,-150.019991654650482,1.049684077101506,89.987320078360824,0.0,0.0,0.0,0.0,0.0,0.0,0.006510846742057],[1.049572302862412,-29.999343843667784,1.049626449002791,-150.013904687430397,1.049837991143043,89.989959893267411,0.0,0.0,0.0,0.0,0.0,0.0,0.003484943853603],[1.049365991175146,-29.995004785667735,1.049428384696976,-150.017444994882851,1.049728114071978,89.98793722271806,0.0,0.0,0.0,0.0,0.0,0.0,0.005174321009547],[1.049301906382479,-29.99379109656314,1.049379064404119,-150.018523500721898,1.049700346749325,89.98763102934312,0.0,0.0,0.0,0.0,0.0,0.0,0.005828299634154],[1.049297897370649,-29.993742844017262,1.049378455185298,-150.018533149738772,1.049699627199477,89.987594939396644,0.0,0.0,0.0,0.0,0.0,0.0,0.005948459318022],[1.049303861990411,-29.993812715789787,1.049375710091413,-150.018513150027132,1.049695877684224,89.987405737861536,0.0,0.0,0.0,0.0,0.0,0.0,0.005829606546799],[1.049231485551068,-29.992782633861626,1.049334343052572,-150.020095536421707,1.049682908355956,89.987297138466673,0.0,0.0,0.0,0.0,0.0,0.0,0.006559208763133],[1.049572302862407,-29.999343843667763,1.049626449002786,-150.013904687430397,1.049837991143038,89.989959893267439,0.0,0.0,0.0,0.0,0.0,0.0,0.003484943853603],[1.049365994389432,-29.995003321052962,1.049427923791945,-150.017453252002667,1.049727838462302,89.987916977713965,0.0,0.0,0.0,0.0,0.0,0.0,0.005172379549224],[1.04930190638248,-29.993791096563132,1.049379064404119,-150.018523500721898,1.049700346749325,89.987631029343134,0.0,0.0,0.0,0.0,0.0,0.0,0.005828299634154],[1.049297584825045,-29.993738624574647,1.049378456125091,-150.018533394839466,1.049699630617571,89.987595106312355,0.0,0.0,0.0,0.0,0.0,0.0,0.005957526789153],[1.049304418286726,-29.993817182948515,1.049374929336284,-150.018508336579089,1.049694819092745,89.987352300282851,0.0,0.0,0.0,0.0,0.0,0.0,0.005829124326283],[1.049227115917325,-29.99272018501264,1.049331554082698,-150.020193235867509,1.049681809172067,89.987275563868209,0.0,0.0,0.0,0.0,0.0,0.0,0.006604697419336],[1.049572302862407,-29.999343843667752,1.049626449002785,-150.01390468743034,1.049837991143038,89.989959893267454,0.0,0.0,0.0,0.0,0.0,0.0,0.003484943853603],[1.049366009672652,-29.994996357130091,1.049425732289585,-150.017492512901214,1.049726528000334,89.987820717000517,0.0,0.0,0.0,0.0,0.0,0.0,0.005163269451526],[1.04930190638248,-29.993791096563118,1.049379064404119,-150.018523500721869,1.049700346749326,89.987631029343134,0.0,0.0,0.0,0.0,0.0,0.0,0.005828299634154],[1.049297332457711,-29.993735217551627,1.049378456883933,-150.0185335927479,1.049699633377536,89.987595241089707,0.0,0.0,0.0,0.0,0.0,0.0,0.005964850764528],[1.049304742760641,-29.993845443504036,1.049375215085931,-150.018478857814358,1.04969349987907,89.987321748806266,0.0,0.0,0.0,0.0,0.0,0.0,0.005850351224089],[1.049304495386187,-29.993809904568117,1.049364149985467,-150.018552514010651,1.049694896023494,89.98734501928385,0.0,0.0,0.0,0.0,0.0,0.0,0.005501645291838],[1.049222017390358,-29.992647318471221,1.049328299890965,-150.020307233124271,1.04968052663429,89.98725039037376,0.0,0.0,0.0,0.0,0.0,0.0,0.006657780064135],[1.049572302862407,-29.999343843667738,1.049626449002785,-150.01390468743034,1.049837991143038,89.989959893267454,0.0,0.0,0.0,0.0,0.0,0.0,0.003484943853603],[1.049366013002021,-29.99499484007583,1.049425254882291,-150.017501065704835,1.049726242523422,89.987799747074433,0.0,0.0,0.0,0.0,0.0,0.0,0.005161311481167],[1.04930190638248,-29.993791096563118,1.049379064404119,-150.018523500721869,1.049700346749326,89.987631029343134,0.0,0.0,0.0,0.0,0.0,0.0,0.005828299634154],[1.0492969536744,-29.993730103877699,1.049378458022894,-150.018533889792707,1.049699637520024,89.987595443379817,0.0,0.0,0.0,0.0,0.0,0.0,0.00597584743657],[1.049305603285984,-29.993920392092445,1.049375972912325,-150.018400678455748,1.049690001247434,89.987240724102506,0.0,0.0,0.0,0.0,0.0,0.0,0.005906931178174],[1.049304500078956,-29.993809461559135,1.049363493884913,-150.018555202962403,1.049694900705994,89.98734457611549,0.0,0.0,0.0,0.0,0.0,0.0,0.005481755757428],[1.04922055031595,-29.992626351370856,1.049327363514905,-150.020340035374346,1.049680157590693,89.987243146819964,0.0,0.0,0.0,0.0,0.0,0.0,0.006673055510834],[1.049572302862407,-29.999343843667738,1.049626449002785,-150.01390468743034,1.049837991143038,89.989959893267454,0.0,0.0,0.0,0.0,0.0,0.0,0.003484943853603],[1.049366102014061,-29.994986436798779,1.049412809124044,-150.017552072915947,1.049726331349233,89.98779134080246,0.0,0.0,0.0,0.0,0.0,0.0,0.004787564427561],[1.049365853098613,-29.995006870727945,1.049424244838697,-150.017514992085836,1.049724967222515,89.987737472929524,0.0,0.0,0.0,0.0,0.0,0.0,0.005170301706479],[1.049301906382481,-29.9937910965631,1.04937906440412,-150.018523500721841,1.049700346749327,89.987631029343149,0.0,0.0,0.0,0.0,0.0,0.0,0.005828299634154],[1.049296497008805,-29.993723938767495,1.049378459396037,-150.018534247913408,1.049699642514254,89.987595687263152,0.0,0.0,0.0,0.0,0.0,0.0,0.005989111450683],[1.049305902193874,-29.99394642580361,1.049376236147295,-150.018373522519227,1.049688785981993,89.987212579669304,0.0,0.0,0.0,0.0,0.0,0.0,0.005926679740355],[1.04930450436605,-29.993809056846974,1.049362894502307,-150.018557659465188,1.049694904983706,89.987344171257718,0.0,0.0,0.0,0.0,0.0,0.0,0.005463590209914],[1.049212215633275,-29.992507232798765,1.049322043818505,-150.02052639132819,1.049678060994777,89.987201994932576,0.0,0.0,0.0,0.0,0.0,0.0,0.006759847655371],[1.049572302862407,-29.999343843667749,1.049626449002785,-150.01390468743034,1.049837991143038,89.989959893267454,0.0,0.0,0.0,0.0,0.0,0.0,0.003484943853603],[1.049366118829943,-29.994984849277827,1.049410457910039,-150.017561709176135,1.049726348129932,89.987789752715813,0.0,0.0,0.0,0.0,0.0,0.0,0.004717266493922],[1.049365640809988,-29.995022842695995,1.049422903899133,-150.017533480870128,1.049723274127647,89.9876547971854,0.0,0.0,0.0,0.0,0.0,0.0,0.00518237755271],[1.049301906382481,-29.99379109656309,1.04937906440412,-150.018523500721841,1.049700346749327,89.987631029343177,0.0,0.0,0.0,0.0,0.0,0.0,0.005828299634154],[1.049296152007422,-29.993719281151012,1.049378460433417,-150.018534518466197,1.049699646287289,89.987595871511942,0.0,0.0,0.0,0.0,0.0,0.0,0.005999136677395],[1.049305902193868,-29.993946425803472,1.04937623614729,-150.018373522519084,1.049688785981987,89.987212579669446,0.0,0.0,0.0,0.0,0.0,0.0,0.005926679740354],[1.049305980236542,-29.993953816159571,1.049376314280935,-150.01836613553337,1.049677849416178,89.98716768394091,0.0,0.0,0.0,0.0,0.0,0.0,0.006034017611172],[1.049304506146967,-29.993808888723976,1.049362645510541,-150.018558679931004,1.049694906760727,89.987344003074242,0.0,0.0,0.0,0.0,0.0,0.0,0.005456045292836],[1.04920750815615,-29.992439953077369,1.049319039226641,-150.020631647125356,1.049676876824762,89.987178752026708,0.0,0.0,0.0,0.0,0.0,0.0,0.00680887565069],[1.049366153524497,-29.994981573902457,1.049405606881853,-150.017581590859152,1.049726382751899,89.987786476173085,0.0,0.0,-0.00005500000043,-0.000000018077627,0.0,0.0,0.004572578187321],[1.049365497675084,-29.99501618222655,1.049422583453315,-150.017546349593573,1.049723425460732,89.987650979435742,0.0,0.0,0.0,0.0,0.0,0.0,0.005177582729563],[1.049365685774089,-29.995027100227695,1.049422948915705,-150.017529225227946,1.04971697322619,89.987628935813973,0.0,0.0,0.0,0.0,0.0,0.0,0.005234603562476],[1.049301906382481,-29.993791096563086,1.04937906440412,-150.018523500721841,1.049700346749327,89.987631029343191,0.0,0.0,0.0,0.0,0.0,0.0,0.005828299634154],[1.049295752780772,-29.993713891474133,1.049378461633844,-150.018534831542866,1.049699650653346,89.98759608471984,0.0,0.0,0.0,0.0,0.0,0.0,0.006010742457666],[1.049305902193868,-29.993946425803454,1.049376236147289,-150.018373522519028,1.049688785981986,89.98721257966946,0.0,0.0,0.0,0.0,0.0,0.0,0.005926679740354],[1.049305988665225,-29.993954614324998,1.049376322719444,-150.018365337731893,1.049676668256673,89.987162835103433,0.0,0.0,0.0,0.0,0.0,0.0,0.006046663289914],[1.049304509985714,-29.993808526336888,1.049362108811732,-150.018560879534675,1.049694910591074,89.987343640556716,0.0,0.0,0.0,0.0,0.0,0.0,0.005439784930007],[1.049204013667091,-29.992390009097654,1.049316808837544,-150.020709781790998,1.049675997782739,89.987161498143891,0.0,0.0,0.0,0.0,0.0,0.0,0.00684527379469],[1.049364934401009,-29.994989971476361,1.04942132241364,-150.017596991545958,1.049724020997028,89.987635955578227,0.0,0.0,0.0,0.0,0.0,0.0,0.005158718228217],[1.049365871871029,-29.995044721244817,1.049423135229808,-150.017511612031285,1.049690895133277,89.987521897779374,0.0,0.0,0.0,0.0,0.0,0.0,0.005521343042611],[1.049301906382481,-29.993791096563072,1.049379064404121,-150.018523500721813,1.049700346749327,89.987631029343191,0.0,0.0,0.0,0.0,0.0,0.0,0.005828299634154],[1.049295377404712,-29.993708823783368,1.049378462762553,-150.018535125915747,1.049699654758565,89.987596285190307,0.0,0.0,0.0,0.0,0.0,0.0,0.006021659604513],[1.049305902193868,-29.993946425803436,1.049376236147289,-150.018373522519028,1.049688785981986,89.987212579669475,0.0,0.0,0.0,0.0,0.0,0.0,0.005926679740354],[1.049305902193868,-29.993946425803454,1.049376236147289,-150.018373522519084,1.049688785981986,89.98721257966946,0.0,0.0,0.0,0.0,0.0,0.0,0.005926679740354],[1.049305996818082,-29.993955386370612,1.049376330881804,-150.018364566038343,1.049675525750394,89.987158144932863,0.0,0.0,0.0,0.0,0.0,0.0,0.006059086049385],[1.049304519762956,-29.993807603341363,1.049360741846339,-150.01856648190892,1.04969492034692,89.987342717228955,0.0,0.0,0.0,0.0,0.0,0.0,0.005398386326131],[1.049200871959305,-29.992345106850454,1.049314803615466,-150.020780028776954,1.049675207483016,89.98714598607522,0.0,0.0,0.0,0.0,0.0,0.0,0.006877999791957],[1.049363928702848,-29.994943173376193,1.049419070890152,-150.017687410611984,1.049725084298526,89.987609131247609,0.0,0.0,0.0,0.0,0.0,0.0,0.005125054267061],[1.049365883456127,-29.995045818199934,1.049423146828327,-150.017510515559849,1.049689271700485,89.987515233974733,0.0,0.0,0.0,0.0,0.0,0.0,0.005542703942744],[1.049365886196629,-29.995046077700113,1.049423149572182,-150.017510256179861,1.049688887658348,89.987513657964271,0.0,0.0,0.0,0.0,0.0,0.0,0.0055478133823],[1.049301906382481,-29.993791096563086,1.04937906440412,-150.018523500721841,1.049700346749327,89.987631029343191,0.0,0.0,0.0,0.0,0.0,0.0,0.005828299634154],[1.049294973522156,-29.99370337124213,1.049378463976976,-150.018535442643582,1.049699659175537,89.98759650088472,0.0,0.0,0.0,0.0,0.0,0.0,0.006033410890868],[1.049305902193868,-29.993946425803436,1.049376236147289,-150.018373522519028,1.049688785981986,89.987212579669475,0.0,0.0,0.0,0.0,0.0,0.0,0.005926679740354],[1.049305902193868,-29.99394642580344,1.049376236147289,-150.018373522519028,1.049688785981986,89.98721257966946,0.0,0.0,0.0,0.0,0.0,0.0,0.005926679740354],[1.04930600333955,-29.993956003929721,1.049376337410874,-150.018363948760879,1.049674611859869,89.987154393259061,0.0,0.0,0.0,0.0,0.0,0.0,0.006069157372088],[1.049304525499214,-29.993807061824562,1.049359939854635,-150.018569768800489,1.049694926070626,89.987342175517199,0.0,0.0,0.0,0.0,0.0,0.0,0.005374109066149],[1.049196969067435,-29.992289325142345,1.049312312562663,-150.020867295842493,1.049674225706464,89.987126715651314,0.0,0.0,0.0,0.0,0.0,0.0,0.006918657847697],[1.049360143935658,-29.99489208362235,1.049419082269669,-150.01769037854811,1.049725125690602,89.987611152434965,0.0,0.0,0.0,0.0,0.0,0.0,0.005235160896562],[1.049364063154598,-29.994929324473446,1.049418450888687,-150.017701766993866,1.049725236806043,89.987595856296309,0.0,0.0,0.0,0.0,0.0,0.0,0.005112349896785],[1.049365912746121,-29.99504859157355,1.049423176152253,-150.017507743409084,1.049685167261156,89.987498386137403,0.0,0.0,0.0,0.0,-0.000043000000005,-0.000000014133416,0.005598416535311],[1.049365888221566,-29.995046269436411,1.049423151599491,-150.017510064528921,1.049688603899772,89.987512493255679,0.0,0.0,0.0,0.0,0.0,0.0,0.005551602544391],[1.049301906382481,-29.993791096563086,1.04937906440412,-150.018523500721841,1.049700346749327,89.987631029343191,0.0,0.0,0.0,0.0,0.0,0.0,0.005828299634154],[1.049294356106964,-29.99369503593497,1.049378465833462,-150.018535926825479,1.049699665927759,89.987596830616738,0.0,0.0,0.0,0.0,0.0,0.0,0.006051385187241],[1.049305902193867,-29.993946425803429,1.049376236147288,-150.018373522519028,1.049688785981985,89.987212579669475,0.0,0.0,0.0,0.0,0.0,0.0,0.005926679740354],[1.049306008534414,-29.993956495864236,1.049376342611794,-150.018363457050697,1.049673883874014,89.987151404750378,0.0,0.0,0.0,0.0,0.0,0.0,0.006077264998001],[1.049304529516909,-29.993806682544378,1.049359378136948,-150.018572070953383,1.049694930079529,89.987341796100466,0.0,0.0,0.0,0.0,0.0,0.0,0.005357110151768],[1.049189766932745,-29.99218638820081,1.049307715745611,-150.021028333765628,1.049672414001289,89.987091155198797,0.0,0.0,0.0,0.0,0.0,0.0,0.006993694298282],[1.049347755892751,-29.99472485746913,1.049419119515254,-150.017700092998439,1.049725261171287,89.987617768049461,0.0,0.0,0.0,0.0,0.0,0.0,0.00559902807092],[1.04936430581715,-29.994904329583111,1.049417331892317,-150.017727677849109,1.049725512056152,89.987571897290877,0.0,0.0,0.0,0.0,0.0,0.0,0.005089428045547],[1.049365889854621,-29.995046424066327,1.049423153234457,-150.017509909967856,1.049688375056508,89.987511553950668,0.0,0.0,0.0,0.0,0.0,0.0,0.005554666924578],[1.049301906382482,-29.993791096563079,1.049379064404121,-150.018523500721841,1.049700346749328,89.987631029343191,0.0,0.0,0.0,0.0,0.0,0.0,0.005828299634154],[1.049292670012401,-29.993672273055342,1.049378470903304,-150.018537249074228,1.04969968436733,89.987597731079461,0.0,0.0,0.0,0.0,0.0,0.0,0.006100532509035],[1.049305902193867,-29.993946425803422,1.049376236147288,-150.018373522519028,1.049688785981985,89.987212579669503,0.0,0.0,0.0,0.0,0.0,0.0,0.005926679740354],[1.049306019517189,-29.993957535892559,1.049376353607371,-150.018362417496576,1.049672344795313,89.987145086550754,0.0,0.0,0.0,0.0,0.0,0.0,0.006094652571423],[1.049304537245336,-29.993805952961928,1.049358297618189,-150.018576499375996,1.049694937791044,89.987341066255396,0.0,0.0,0.0,0.0,0.0,0.0,0.005324422731896],[1.04918348781597,-29.992096642361155,1.049303708056597,-150.021168734444245,1.049670834481661,89.9870601520241,0.0,0.0,0.0,0.0,0.0,0.0,0.007059123250192],[1.049342415616393,-29.994652767846933,1.049419135570689,-150.017704280735671,1.049725319574229,89.987620619929899,-0.000059000001784,-0.000019392362447,0.0,0.0,0.0,0.0,0.005757346408942],[1.049364392461277,-29.994895405014617,1.049416932348193,-150.017736929484442,1.049725610335853,89.987563342591358,0.0,0.0,0.0,0.0,0.0,0.0,0.005081245980429],[1.049365891159674,-29.995046547638495,1.049423154541038,-150.017509786450688,1.049688192176872,89.987510803306677,0.0,0.0,0.0,0.0,0.0,0.0,0.005557121282725],[1.049292526250554,-29.993670332215515,1.049378471335574,-150.018537361813401,1.049699685939546,89.98759780785582,0.0,0.0,0.0,0.0,0.0,0.0,0.006104727081275],[1.049305902193867,-29.993946425803422,1.049376236147288,-150.018373522519028,1.049688785981985,89.987212579669503,0.0,0.0,0.0,0.0,0.0,0.0,0.005926679740354],[1.049306028166386,-29.993958354939654,1.049376362266651,-150.018361598822963,1.049671132734149,89.987140110804859,0.0,0.0,0.0,0.0,0.0,0.0,0.006108579998421],[1.049304541092045,-29.993805589823168,1.049357759806079,-150.018578703560763,1.049694941629336,89.987340702985875,0.0,0.0,0.0,0.0,0.0,0.0,0.005308158841114],[1.049179216468706,-29.992035592435137,1.049300981842723,-150.021264242156803,1.049669760018595,89.987039062163191,0.0,0.0,0.0,0.0,0.0,0.0,0.007103635788775],[1.049364566249951,-29.994878998800466,1.049392633590218,-150.017836506191998,1.049725783754544,89.987546930343015,0.0,0.0,0.0,0.0,0.0,0.0,0.004352205967968],[1.049364392461277,-29.994895405014617,1.049416932348193,-150.017736929484442,1.049725610335853,89.987563342591358,0.0,0.0,0.0,0.0,0.0,0.0,0.005081245980429],[1.049365893151849,-29.995046736272592,1.049423156535545,-150.017509597900556,1.049687913009357,89.987509657440924,0.0,0.0,0.0,0.0,0.0,0.0,0.005560877230127],[1.049292459848304,-29.993669435759607,1.049378471535235,-150.018537413886577,1.049699686665738,89.987597843318099,0.0,0.0,0.0,0.0,0.0,0.0,0.006106664731121],[1.049305902193866,-29.993946425803408,1.049376236147288,-150.018373522519028,1.049688785981985,89.987212579669503,0.0,0.0,0.0,0.0,0.0,0.0,0.005926679740354],[1.0493060341659,-29.993958923071535,1.049376368273158,-150.018361030950103,1.04967029198812,89.987136659372737,0.0,0.0,0.0,0.0,0.0,0.0,0.006118361207628],[1.049304543823447,-29.993805331972194,1.049357377926273,-150.01858026866941,1.049694944354761,89.987340445042122,0.0,0.0,0.0,0.0,0.0,0.0,0.005296612835618],[1.049176410559874,-29.991995487591048,1.049299190955154,-150.021326982815594,1.049669054188356,89.987025207907038,0.0,0.0,0.0,0.0,0.0,0.0,0.007132878752106],[1.049364591487878,-29.994876616259368,1.049389104878744,-150.017850967293867,1.049725808938742,89.987544546925591,0.0,0.0,0.0,0.0,0.0,0.0,0.004247321677336],[1.049365895487079,-29.995046957389771,1.04942315887351,-150.017509376881804,1.049687585768782,89.987508314254612,0.0,0.0,0.0,0.0,0.0,0.0,0.005565294308408],[1.04929238882306,-29.993668476891369,1.049378471748797,-150.018537469585169,1.049699687442488,89.987597881249286,0.0,0.0,0.0,0.0,0.0,0.0,0.006108737433225],[1.049305902193866,-29.993946425803408,1.049376236147288,-150.018373522519028,1.049688785981985,89.987212579669503,0.0,0.0,0.0,0.0,0.0,0.0,0.005926679740354],[1.049306040151122,-29.993959489849956,1.049376374265357,-150.018360464430145,1.049669453244986,89.987133216157403,0.0,0.0,0.0,0.0,0.0,0.0,0.006128216888307],[1.04930457506951,-29.99380238226745,1.049353009384461,-150.018598172924953,1.049694975532451,89.987337494275565,0.0,0.0,0.0,0.0,0.0,0.0,0.00516467531035],[1.049170371767713,-29.99190917440912,1.049295336664134,-150.021462012124431,1.049667535121434,89.986995391125191,0.0,0.0,0.0,0.0,0.0,0.0,0.007195819970882],[1.049364633144706,-29.994872683723656,1.049383280515058,-150.017874836430849,1.049725850506863,89.987540612942794,0.0,0.0,-0.000057000001107,-0.000000018734994,0.0,0.0,0.004074886875728],[1.049364627298086,-29.994873235660407,1.049384097973543,-150.017871486435013,1.049725844672734,89.987541165083925,0.0,0.0,-0.000048999998398,-0.00000001610552,0.0,0.0,0.004099033828848],[1.049365899073855,-29.995047297012604,1.049423162464486,-150.017509037410093,1.049687083146693,89.987506251198582,0.0,0.0,0.0,0.0,0.0,0.0,0.005572108762188],[1.049292320955312,-29.993667560650422,1.049378471952866,-150.018537522807577,1.049699688184708,89.987597917494213,0.0,0.0,0.0,0.0,0.0,0.0,0.006110718137074],[1.049305902193866,-29.993946425803372,1.049376236147288,-150.018373522518971,1.049688785981985,89.987212579669546,0.0,0.0,0.0,0.0,0.0,0.0,0.005926679740354],[1.049306048907235,-29.9939603190215,1.049376383031676,-150.018359635636642,1.049668226201183,89.987128178876958,0.0,0.0,0.0,0.0,0.0,0.0,0.006142810268321],[1.049304584283464,-29.993801512447831,1.049351721173005,-150.018603452625314,1.049694984726242,89.987336624142827,0.0,0.0,0.0,0.0,0.0,0.0,0.005125821404008],[1.04916631602566,-29.991854407587414,1.049295348862737,-150.021465192906135,1.049667579476043,89.986997557220604,0.0,0.0,0.0,0.0,0.0,0.0,0.007314782490874],[1.049166709443491,-29.99185516656328,1.049292752170889,-150.02154324162737,1.049666416165928,89.986970022276424,0.0,0.0,0.0,0.0,0.0,0.0,0.007232566600373],[1.049365912199012,-29.995048539800955,1.049423175605011,-150.017507795174822,1.049685243892035,89.987498701801158,0.0,0.0,0.0,0.0,0.0,0.0,0.005597353672482],[1.049292245347733,-29.993666539918593,1.049378472180206,-150.01853758209964,1.049699689011571,89.987597957872637,0.0,0.0,0.0,0.0,0.0,0.0,0.006112924893566],[1.049305902193866,-29.993946425803372,1.049376236147288,-150.018373522518971,1.049688785981985,89.987212579669546,0.0,0.0,0.0,0.0,0.0,0.0,0.005926679740354],[1.049306081839412,-29.993963437576891,1.049376416002242,-150.018356518503225,1.049663611228341,89.987109233308686,0.0,0.0,0.0,0.0,0.0,0.0,0.006199533490046],[1.049304586344899,-29.99380131784336,1.049351432961854,-150.018604633852789,1.049694986783166,89.9873364294683,0.0,0.0,0.0,0.0,0.0,0.0,0.005117132007479],[1.049165755380574,-29.991846836867318,1.049295350548996,-150.021465632601235,1.049667585607384,89.986997856650561,0.0,0.0,0.0,0.0,0.0,0.0,0.007331259109289],[1.049152976268714,-29.991652641657559,1.049283060715614,-150.021847843984261,1.049662220246554,89.986874892310368,0.0,0.0,0.0,0.0,0.0,0.0,0.0073703641343],[1.049365976079168,-29.995054588452248,1.049423239559963,-150.017501749215455,1.049676292238672,89.987461958501214,0.0,0.0,0.0,0.0,-0.000092000002041,-0.000000030238937,0.005726951055804],[1.049292089283089,-29.993664432984527,1.049378472649469,-150.018537704486732,1.049699690718334,89.987598041219329,0.0,0.0,0.0,0.0,0.0,0.0,0.006117480505911],[1.049305902193866,-29.993946425803362,1.049376236147287,-150.018373522518971,1.049688785981984,89.987212579669546,0.0,0.0,0.0,0.0,0.0,0.0,0.005926679740354],[1.049306089525815,-29.993964165450723,1.049376423697605,-150.018355790961266,1.0496625340892,89.987104811370614,0.0,0.0,0.0,0.0,0.0,0.0,0.006213184740754],[1.049304613036698,-29.993798798075979,1.049347701160146,-150.018619928523123,1.049695013416512,89.987333908792451,0.0,0.0,0.0,0.0,0.0,0.0,0.005004735442621],[1.049304587212163,-29.993801235971428,1.049351311708757,-150.018605130809817,1.049694987648534,89.987336347566952,0.0,0.0,0.0,0.0,0.0,0.0,0.005113476669906],[1.04916549763143,-29.991843356326353,1.04929535132423,-150.021465834745214,1.049667588426186,89.986997994309547,0.0,0.0,0.0,0.0,0.0,0.0,0.007338836561136],[1.049153007273622,-29.991655578179575,1.049283091751877,-150.021844908818849,1.049657875317324,89.986857046017889,0.0,0.0,0.0,0.0,0.0,0.0,0.007402129304572],[1.049148253832217,-29.991574458188232,1.049279699086071,-150.021960414405612,1.049661285344004,89.986846799932152,0.0,0.0,0.0,0.0,0.0,0.0,0.007413266370977],[1.049291926742766,-29.993662238625564,1.049378473138202,-150.018537831952187,1.049699692495916,89.987598128024374,0.0,0.0,0.0,0.0,0.0,0.0,0.006122225944012],[1.049305902193866,-29.993946425803358,1.049376236147287,-150.018373522518971,1.049688785981984,89.987212579669546,0.0,0.0,0.0,0.0,0.0,0.0,0.005926679740354],[1.049306093047156,-29.993964498908674,1.049376427223051,-150.018355457655332,1.049662040623704,89.98710278556257,0.0,0.0,0.0,0.0,0.0,0.0,0.006219490165247],[1.049304639489201,-29.993796300899056,1.049344002815006,-150.01863508618041,1.049695039811085,89.987331410715171,0.0,0.0,-0.000056000000768,-0.000000018406309,0.0,0.0,0.004893567280682],[1.049304588228975,-29.993801139981731,1.049351169547131,-150.018605713460772,1.049694988663123,89.987336251542786,0.0,0.0,0.0,0.0,0.0,0.0,0.005109191298586],[1.049165191499315,-29.99183922243887,1.049295352244985,-150.021466074834308,1.049667591774114,89.986998157808969,0.0,0.0,0.0,0.0,0.0,0.0,0.007347838475653],[1.049153009527338,-29.991655791632468,1.049283094007873,-150.021844695464495,1.049657559488673,89.986855748782617,0.0,0.0,0.0,0.0,0.0,0.0,0.007404530997501],[1.049131135013325,-29.991291037191747,1.04926751321031,-150.022368488258479,1.049657896322377,89.986744964634198,0.0,0.0,0.0,0.0,0.0,0.0,0.007568881789796],[1.049291308659779,-29.993653894253221,1.04937847499668,-150.018538316657811,1.049699699255426,89.98759845811307,0.0,0.0,0.0,0.0,0.0,0.0,0.006140278549395],[1.049305902193866,-29.993946425803362,1.049376236147287,-150.018373522518971,1.049688785981984,89.987212579669546,0.0,0.0,0.0,0.0,0.0,0.0,0.005926679740354],[1.049306095362172,-29.993964718132105,1.049376429540766,-150.018355238531882,1.04966171620741,89.987101453745751,0.0,0.0,0.0,0.0,0.0,0.0,0.00622365304465],[1.049304589147891,-29.993801053233739,1.049351041072571,-150.018606240015288,1.04969498958003,89.987336164763661,0.0,0.0,0.0,0.0,0.0,0.0,0.005105318777506],[1.049164719174118,-29.991832844340667,1.049295353665598,-150.021466445263087,1.049667596939564,89.986998410068978,0.0,0.0,0.0,0.0,0.0,0.0,0.007361731749792],[1.049153011384922,-29.991655967566999,1.049283095867335,-150.021844519611221,1.049657299172818,89.986854679560125,0.0,0.0,0.0,0.0,0.0,0.0,0.007406519947502],[1.049123716365582,-29.991131466534164,1.049264141957841,-150.022556284322121,1.049659402866122,89.986782391791181,0.0,0.0,0.0,0.0,0.0,0.0,0.007643219160827],[1.049129481286783,-29.991266864446498,1.049265710965954,-150.022399217510127,1.049656596902026,89.986711826364498,0.0,0.0,0.0,0.0,0.0,0.0,0.007584065098929],[1.049288027169298,-29.993609592625035,1.049378484863535,-150.018540890029101,1.049699735142558,89.987600210600902,-0.000048999998398,-0.000016105521354,0.0,0.0,0.0,0.0,0.006236314758979],[1.049305902193865,-29.993946425803362,1.049376236147286,-150.018373522518971,1.049688785981984,89.987212579669546,0.0,0.0,0.0,0.0,0.0,0.0,0.005926679740354],[1.049306105843035,-29.993965710633582,1.049376440033891,-150.018354246484307,1.049660247461694,89.987095424238447,0.0,0.0,0.0,0.0,0.0,0.0,0.006242673068386],[1.049306096075403,-29.99396478567207,1.049376430254822,-150.018355171022563,1.049661616258751,89.987101043416601,0.0,0.0,0.0,0.0,0.0,0.0,0.00622493838164],[1.049304590078569,-29.99380096537536,1.049350910953526,-150.018606773309841,1.049694990508673,89.98733607687376,0.0,0.0,0.0,0.0,0.0,0.0,0.005101396942364],[1.049164298299153,-29.991827161001687,1.049295354931463,-150.021466775341167,1.049667601542342,89.986998634850394,0.0,0.0,0.0,0.0,0.0,0.0,0.007374116109054],[1.049153014023477,-29.991656217468464,1.049283098508558,-150.021844269825181,1.049656929414225,89.986853160811123,0.0,0.0,0.0,0.0,0.0,0.0,0.007409359684425],[1.049120301726391,-29.991058018880999,1.049262590247508,-150.022642723161482,1.049660096295404,89.986799618659418,0.0,0.0,0.0,0.0,0.0,0.0,0.007677569083243],[1.049122550582616,-29.991165556551277,1.049258157830467,-150.022528003796197,1.049651151083568,89.986572944230005,0.0,0.0,0.0,0.0,0.0,0.0,0.007647901361579],[1.049306110657499,-29.993966166546706,1.049376444853989,-150.018353790779656,1.049659572782127,89.987092654532518,0.0,0.0,0.0,0.0,0.0,0.0,0.006251504716037],[1.049306096580182,-29.993964833472507,1.049376430760185,-150.018355123243794,1.049661545521518,89.987100753011987,0.0,0.0,0.0,0.0,0.0,0.0,0.006225848856276],[1.049304591079236,-29.993800870909876,1.049350771049243,-150.01860734670953,1.049694991507152,89.987335982374333,0.0,0.0,0.0,0.0,0.0,0.0,0.005097180463106],[1.049163971078411,-29.991822742331227,1.049295355915642,-150.021467031969394,1.049667605120896,89.986998809612871,0.0,0.0,0.0,0.0,0.0,0.0,0.007383747567436],[1.049153025874674,-29.991657339913033,1.049283110371739,-150.021843147898892,1.049655268625405,89.98684633926247,0.0,0.0,0.0,0.0,0.0,0.0,0.007422325142976],[1.049097995092204,-29.990578198613491,1.049252453509425,-150.023207404950966,1.049664626233371,89.986912155362589,0.0,0.0,0.0,0.0,0.0,0.0,0.007903956834519],[1.049121020705996,-29.991143193763712,1.049256490559229,-150.022556432206784,1.049649948979579,89.986542287327239,0.0,0.0,0.0,0.0,0.0,0.0,0.007662036271173],[1.049306118805891,-29.993966938171315,1.049376453011916,-150.018353019507941,1.049658430899338,89.987087966847938,0.0,0.0,0.0,0.0,0.0,0.0,0.00626658695797],[1.049306097167596,-29.99396488909812,1.049376431348279,-150.01835506764337,1.049661463204226,89.987100415066578,0.0,0.0,0.0,0.0,0.0,0.0,0.006226909210389],[1.049304596882549,-29.993800323062455,1.049349959682069,-150.018610672112288,1.049694997297776,89.987335434330035,0.0,0.0,0.0,0.0,0.0,0.0,0.005072733113997],[1.049163563770618,-29.991817242190315,1.049295357140698,-150.021467351407182,1.049667609575297,89.986999027148343,0.0,0.0,0.0,0.0,0.0,0.0,0.007395739846441],[1.049153028156155,-29.991657555995509,1.049283112655528,-150.021842931916183,1.049654948905948,89.986845026039546,0.0,0.0,0.0,0.0,0.0,0.0,0.00742486058492],[1.049096328969686,-29.990542359097184,1.04925169638096,-150.02324958255636,1.049664964583182,89.986920560906071,0.0,0.0,0.0,0.0,0.0,0.0,0.00792099994655],[1.049120512359101,-29.991135763049254,1.049255936558916,-150.02256587841012,1.049649549544902,89.986532100645661,0.0,0.0,0.0,0.0,0.0,0.0,0.007666736479327],[1.049306134446202,-29.9939684192546,1.049376468670526,-150.018351539102014,1.049656239129522,89.987078969113298,0.0,0.0,0.0,0.0,0.0,0.0,0.006296007300633],[1.049306098291131,-29.993964995492124,1.049376432473115,-150.018354961297547,1.049661305757573,89.987099768684914,0.0,0.0,0.0,0.0,0.0,0.0,0.006228939813847],[1.049304621428368,-29.993798005875206,1.049346527905903,-150.018624737364917,1.049695021789928,89.987333116310111,0.0,0.0,-0.000052999999753,-0.000000017420257,0.0,0.0,0.004969444156425],[1.04916314249562,-29.991811553436548,1.049295358407761,-150.02146768179901,1.049667614182445,89.986999252143434,0.0,0.0,0.0,0.0,0.0,0.0,0.007408147456129],[1.049153029845404,-29.991657715986811,1.049283114346485,-150.021842771998735,1.049654712179978,89.986844053705426,0.0,0.0,0.0,0.0,0.0,0.0,0.007426746059398],[1.049094982448506,-29.99052417346789,1.049251700431802,-150.023250638629349,1.049664979309264,89.98692128006671,0.0,0.0,0.0,0.0,0.0,0.0,0.007961131898384],[1.049076655999475,-29.990019780311695,1.049236757781869,-150.02376179692061,1.049667567621182,89.986893832094154,0.0,0.0,0.0,0.0,0.0,0.0,0.008057563762116],[1.049120247037791,-29.991131884736212,1.049255647409737,-150.022570808667638,1.049649341068113,89.986526783911486,0.0,0.0,0.0,0.0,0.0,0.0,0.007669190341848],[1.049306180493914,-29.993972779813024,1.049376514772119,-150.018347180537802,1.049649786190118,89.987052478048625,0.0,0.0,0.0,0.0,-0.000087000000349,-0.000000028595517,0.006386146501978],[1.049306102600083,-29.993965403531689,1.049376436787056,-150.018354553442947,1.049660701922279,89.98709728969699,0.0,0.0,0.0,0.0,0.0,0.0,0.006236757740865],[1.049162645578915,-29.991804843237024,1.049295359902328,-150.021468071514079,1.049667619616824,89.986999517537342,0.0,0.0,0.0,0.0,0.0,0.0,0.007422788231891],[1.049153031791236,-29.991657900279435,1.049283116294285,-150.021842587791156,1.049654439497325,89.986842933681402,0.0,0.0,0.0,0.0,0.0,0.0,0.007428926548525],[1.049088047459962,-29.990430511256818,1.04925172129455,-150.023256077723403,1.049665055152711,89.986924983960392,0.0,0.0,0.0,0.0,0.0,0.0,0.008168360036994],[1.049067214977508,-29.989768987964478,1.049229588781835,-150.024007613605221,1.049668816817327,89.986881004993052,0.0,0.0,0.0,0.0,0.0,0.0,0.008123798588215],[1.0491200199145,-29.991128564778048,1.049255399889052,-150.022575029123573,1.049649162605504,89.986522232619961,0.0,0.0,0.0,0.0,0.0,0.0,0.007671291297022],[1.049306117304902,-29.993966796015876,1.049376451508899,-150.018353161589857,1.049658641261517,89.987088829830213,0.0,0.0,0.0,0.0,-0.000048000001698,-0.000000015776838,0.006263796075608],[1.049162362402539,-29.991801019313563,1.049295360754031,-150.02146829359981,1.049667622713695,89.986999668776548,0.0,0.0,0.0,0.0,0.0,0.0,0.007431134092238],[1.049153033721474,-29.991658083095064,1.049283118226475,-150.021842405059914,1.049654169000059,89.986841822633153,0.0,0.0,0.0,0.0,0.0,0.0,0.007431098679828],[1.04908562632429,-29.990397811708537,1.049251728578008,-150.023257976614417,1.049665081630975,89.98692627705988,0.0,0.0,0.0,0.0,0.0,0.0,0.00824091071564],[1.049067276509111,-29.989774816276874,1.049229650369467,-150.024001787967677,1.049660193896386,89.986845574866649,0.0,0.0,0.0,0.0,0.0,0.0,0.008172450742809],[1.049047998766661,-29.989191813618593,1.049214799412604,-150.024576725557722,1.049675758110192,89.986879929803422,0.0,0.0,0.0,0.0,0.0,0.0,0.008234252952015],[1.049119761602494,-29.991124788919333,1.049255118378671,-150.022579829137698,1.0496489596363,89.986517056340276,0.0,0.0,0.0,0.0,0.0,0.0,0.007673681174011],[1.049161083125631,-29.991783744339951,1.049295364601672,-150.021469296893741,1.049667636704103,89.98700035201442,0.0,0.0,0.0,0.0,0.0,0.0,0.007468860368852],[1.049153050678824,-29.991659689150609,1.049283135200973,-150.021840799745661,1.049651792651628,89.986832061926293,0.0,0.0,0.0,0.0,0.0,0.0,0.007450570164477],[1.049080356880479,-29.99032664274073,1.049251744429763,-150.023262109427492,1.049665139258975,89.98692909140675,0.0,0.0,0.0,0.0,0.0,0.0,0.00839915748431],[1.04906730087868,-29.989777124577348,1.049229674761226,-150.02399948072653,1.049656778792297,89.986831542619114,0.0,0.0,0.0,0.0,-0.000048999998398,-0.00000001610552,0.008194114035118],[1.049048050391911,-29.989186940896481,1.04920758387733,-150.024606304224307,1.049675809598282,89.986875055663475,0.0,0.0,0.0,0.0,0.0,0.0,0.008024571533658],[1.049044306438134,-29.989106372595561,1.049213036613138,-150.024675355505309,1.049676810655438,89.986898890233476,0.0,0.0,0.0,0.0,0.0,0.0,0.008270670738852],[1.049119558097121,-29.991121814191619,1.049254896596976,-150.022583610724041,1.049648799731528,89.986512978321883,0.0,0.0,0.0,0.0,0.0,0.0,0.007675564298001],[1.049160585257647,-29.991777021267602,1.049295366099089,-150.021469687354937,1.049667642148874,89.98700061791638,0.0,0.0,0.0,0.0,0.0,0.0,0.007483552766955],[1.049153085341922,-29.991662972143125,1.049283169899125,-150.021837518268455,1.049646935077185,89.986812109596471,0.0,0.0,0.0,0.0,-0.000052999999753,-0.000000017420257,0.007492527967195],[1.049078258863994,-29.990298306809947,1.049251750740975,-150.023263754897215,1.049665162203289,89.98693021193256,0.0,0.0,0.0,0.0,0.0,0.0,0.008462290054178],[1.049079311673934,-29.990312526108781,1.04925174757398,-150.023262929180902,1.049665150689616,89.986929649638995,0.0,0.0,0.0,0.0,0.0,0.0,0.008430600541973],[1.049048076346748,-29.989184491112972,1.049203956233515,-150.024621175190219,1.049675835484161,89.986872605167108,0.0,0.0,0.0,0.0,0.0,0.0,0.007919504481085],[1.049041143196103,-29.989033174191725,1.049211526412845,-150.024759852738867,1.049677712378386,89.986915133737014,0.0,0.0,0.0,0.0,0.0,0.0,0.008301955051194],[1.049119387479355,-29.991119320195601,1.049254710656444,-150.022586781186106,1.049648665668263,89.986509559333072,0.0,0.0,0.0,0.0,0.0,0.0,0.007677143310722],[1.04916041229878,-29.991774685677086,1.04929536661929,-150.021469823000785,1.049667644040381,89.987000710290502,0.0,0.0,0.0,0.0,0.0,0.0,0.007488658208429],[1.049075119598833,-29.990255907497996,1.049251760184362,-150.023266217016243,1.049665196534814,89.98693188857709,-0.000050999999075,-0.000016762889572,0.0,0.0,0.0,0.0,0.00855688552227],[1.049079166138845,-29.990310560499498,1.049251748011782,-150.023263043323794,1.049665152281223,89.986929727367539,0.0,0.0,0.0,0.0,0.0,0.0,0.008434980085652],[1.049048078762101,-29.989184263136583,1.049203618645667,-150.024622559084719,1.049675837893096,89.986872377124385,0.0,0.0,0.0,0.0,0.0,0.0,0.007909739404975],[1.049038918151183,-29.988981685673238,1.049210464129042,-150.024819288812154,1.049678346656442,89.986926559510906,0.0,0.0,0.0,0.0,0.0,0.0,0.008324007101902],[1.049119233528161,-29.991117069821623,1.049254542879271,-150.022589641946752,1.049648544700794,89.986506474322937,0.0,0.0,0.0,0.0,0.0,0.0,0.007678568245577],[1.049160281997287,-29.991772926119875,1.049295367011192,-150.021469925191866,1.049667645465381,89.987000779882081,0.0,0.0,0.0,0.0,0.0,0.0,0.007492504926172],[1.049079008077506,-29.990308425709021,1.049251748487264,-150.023263167290992,1.049665154009819,89.986929811786183,0.0,0.0,0.0,0.0,0.0,0.0,0.008439736962788],[1.049048079759611,-29.98918416898518,1.049203479226095,-150.024623130616163,1.049675838887956,89.986872282945569,0.0,0.0,0.0,0.0,0.0,0.0,0.00790570717783],[1.0490361067617,-29.988916628544139,1.049209121912881,-150.024894387702204,1.049679148080012,89.986940996194733,0.0,0.0,0.0,0.0,0.0,0.0,0.008351924656634],[1.049119106112719,-29.991115207332161,1.04925440402096,-150.02259200961393,1.049648444583848,89.986503921059111,0.0,0.0,0.0,0.0,0.0,0.0,0.00767974769094],[1.049160186662759,-29.991771638747124,1.049295367297925,-150.02146999995955,1.049667646507975,89.987000830798465,0.0,0.0,0.0,0.0,0.0,0.0,0.007495319603568],[1.049078869627129,-29.990306555785352,1.049251748903752,-150.023263275877355,1.049665155523946,89.986929885730874,0.0,0.0,0.0,0.0,0.0,0.0,0.008443903974136],[1.049048080463458,-29.989184102551597,1.049203380851135,-150.024623533890946,1.049675839589933,89.986872216492685,0.0,0.0,0.0,0.0,0.0,0.0,0.007902862244803],[1.049034345168955,-29.988875864107122,1.049208280892225,-150.024941444143877,1.049679650245408,89.986950042090243,0.0,0.0,0.0,0.0,0.0,0.0,0.008369448226243],[1.049118958303268,-29.991113046733631,1.049254242937106,-150.022594756248765,1.049648328442269,89.986500959121372,0.0,0.0,0.0,0.0,0.0,0.0,0.007681116052285],[1.049160138251346,-29.991770985011861,1.049295367443529,-150.021470037927031,1.04966764703741,89.987000856654078,0.0,0.0,0.0,0.0,0.0,0.0,0.007496748991161],[1.049078722523602,-29.990304568990926,1.049251749346271,-150.023263391250339,1.049665157132705,89.98692996429709,0.0,0.0,0.0,0.0,0.0,0.0,0.008448331759489],[1.049048081183385,-29.989184034600356,1.049203280228837,-150.024623946378426,1.049675840307947,89.986872148521698,0.0,0.0,0.0,0.0,0.0,0.0,0.007899952509953],[1.049031640054848,-29.988813265663609,1.049206989415905,-150.025013704517505,1.049680421374394,89.986963933018771,0.0,0.0,0.0,0.0,0.0,0.0,0.00839640314448],[1.049118795850356,-29.991110672084172,1.049254065894697,-150.022597774993272,1.049648200794562,89.986497703744106,0.0,0.0,0.0,0.0,0.0,0.0,0.007682620144102],[1.049160067076293,-29.99177002388215,1.049295367657599,-150.02147009374724,1.049667647815792,89.987000894667346,0.0,0.0,0.0,0.0,0.0,0.0,0.007498850590291],[1.049078512575387,-29.990301733409051,1.049251749977839,-150.023263555912308,1.049665159428748,89.98693007642791,0.0,0.0,0.0,0.0,0.0,0.0,0.008454651755027],[1.049048082032846,-29.989183954422756,1.049203161501711,-150.024624433084284,1.049675841155151,89.986872068320778,0.0,0.0,0.0,0.0,0.0,0.0,0.007896519477497],[1.049028943374539,-29.98875086203553,1.049205701967095,-150.025085739812511,1.049681190099576,89.986977780625068,0.0,0.0,0.0,0.0,0.0,0.0,0.008423328536981],[1.049117910214505,-29.991097726321488,1.049253100722089,-150.022614232139745,1.049647504904421,89.986479956563599,0.0,0.0,0.0,0.0,0.0,0.0,0.007690822993994],[1.049159947763659,-29.991768412714521,1.04929536801645,-150.021470187320119,1.049667649120615,89.987000958390013,0.0,0.0,0.0,0.0,0.0,0.0,0.007502373812669],[1.049078257344845,-29.990298286237938,1.049251750745626,-150.023263756089108,1.049665162220008,89.986930212743488,0.0,0.0,0.0,0.0,0.0,0.0,0.00846233581349],[1.049048083104381,-29.989183853284438,1.04920301173592,-150.02462504702919,1.049675842223839,89.98687196715305,0.0,0.0,0.0,0.0,0.0,0.0,0.007892189333849],[1.049025917616678,-29.988680842839354,1.049204257411358,-150.025166565867522,1.049682052633195,89.986993318046487,0.0,0.0,0.0,0.0,0.0,0.0,0.008453603802969],[1.049110855837607,-29.990964848326183,1.049245457987141,-150.022773913295111,1.049643911735415,89.986359656631265,0.0,0.0,0.0,0.0,0.0,0.0,0.007740700130287],[1.049117920694448,-29.991098718955456,1.049253111212688,-150.022613239970468,1.049646036246098,89.986473923871401,0.0,0.0,0.0,0.0,0.0,0.0,0.007701594143581],[1.049159415577758,-29.991761226206325,1.049295369617076,-150.021470604695764,1.049667654940686,89.987001242620522,0.0,0.0,0.0,0.0,0.0,0.0,0.007518092799353],[1.049076675344477,-29.99027691953264,1.049251755504595,-150.023264996848923,1.049665179521116,89.98693105767093,0.0,0.0,0.0,0.0,0.0,0.0,0.00850998703637],[1.049048084064045,-29.989183762705228,1.049202877606079,-150.024625596876717,1.049675843180953,89.986871876547525,0.0,0.0,0.0,0.0,0.0,0.0,0.007888311630744],[1.049023728072727,-29.988630174232426,1.049203212081249,-150.025225054584752,1.049682676792899,89.98700456145562,0.0,0.0,0.0,0.0,0.0,0.0,0.00847555395543],[1.049104099353882,-29.990837579757475,1.049238137992591,-150.022926853699829,1.049640470300569,89.98624443588885,0.0,0.0,0.0,0.0,0.0,0.0,0.007788521591494],[1.049117985042709,-29.991104813860961,1.049253175626373,-150.022607147917626,1.049637018486437,89.986436881959094,0.0,0.0,0.0,0.0,0.0,0.0,0.007773404238074],[1.049117920694449,-29.991098718955516,1.049253111212689,-150.022613239970553,1.049646036246099,89.98647392387133,0.0,0.0,0.0,0.0,0.0,0.0,0.007701594143581],[1.049157459277504,-29.991734808742077,1.049295375500908,-150.021472138956739,1.049667676335076,89.987002287443858,-0.000045000000682,-0.000014790784917,0.0,0.0,0.0,0.0,0.007575929448624],[1.049071262166027,-29.99020380793203,1.049251771788301,-150.023269242394861,1.049665238720643,89.98693394878498,-0.000054000000091,-0.0000177489419,0.0,0.0,0.0,0.0,0.008673328464693],[1.049048084823402,-29.989183691032185,1.049202771472511,-150.024626031957354,1.049675843938294,89.986871804853621,0.0,0.0,0.0,0.0,0.0,0.0,0.007885243544615],[1.049021118338356,-29.988569781627625,1.049201966145103,-150.025294767919206,1.04968342073399,89.987017962549786,0.0,0.0,0.0,0.0,0.0,0.0,0.008501762060897],[1.049103798574455,-29.990831914082872,1.049237812127309,-150.022933662223437,1.049640317097714,89.986239306569914,0.0,0.0,0.0,0.0,0.0,0.0,0.007790651602072],[1.049118008560401,-29.991107041397182,1.049253199167976,-150.022604921423948,1.049633722719618,89.986423343902388,0.0,0.0,0.0,0.0,0.0,0.0,0.007802049504235],[1.049117920694456,-29.991098718955861,1.049253111212695,-150.022613239970866,1.049646036246105,89.986473923870974,0.0,0.0,0.0,0.0,0.0,0.0,0.007701594143581],[1.049048086126644,-29.989183568024,1.049202589321778,-150.024626778660576,1.049675845238073,89.986871681809646,0.0,0.0,0.0,0.0,0.0,0.0,0.0078799784714],[1.04901733165602,-29.988482152354816,1.049200158313657,-150.025395921187112,1.049684500181076,89.987037407297009,0.0,0.0,0.0,0.0,0.0,0.0,0.00853987679494],[1.049103842675208,-29.990836091311305,1.04923785627303,-150.022929486953529,1.049634136759278,89.986213918807977,0.0,0.0,0.0,0.0,0.0,0.0,0.007838688694753],[1.04909785132275,-29.990687701077359,1.04923141771598,-150.023099211187429,1.049639396583133,89.986160665231878,0.0,0.0,0.0,0.0,0.0,0.0,0.007815841336858],[1.049118010954194,-29.991107268131188,1.049253201564203,-150.022604694796087,1.049633387253749,89.986421965900846,0.0,0.0,0.0,0.0,0.0,0.0,0.007805036286653],[1.049117920694456,-29.991098718955893,1.049253111212695,-150.022613239970894,1.049646036246105,89.98647392387096,0.0,0.0,0.0,0.0,0.0,0.0,0.007701594143581],[1.049048090676119,-29.989183138615708,1.049201953453214,-150.024629385323038,1.04967584977546,89.986871252276444,0.0,0.0,0.0,0.0,0.0,0.0,0.007861603644576],[1.04901452429502,-29.988417185541753,1.049198818029465,-150.025470914207744,1.049685300459296,89.987051823176728,0.0,0.0,0.0,0.0,0.0,0.0,0.008568200124601],[1.049103846715976,-29.990836474053282,1.049237860317918,-150.022929104390983,1.049633570480688,89.986211592618417,0.0,0.0,0.0,0.0,0.0,0.0,0.007843315628648],[1.049094982111125,-29.990618125842918,1.049228332775785,-150.023179079956577,1.049638952487278,89.98612272516786,0.0,0.0,0.0,0.0,0.0,0.0,0.007828004428294],[1.049118012624748,-29.991107426361854,1.049253203236456,-150.022604536639477,1.04963315314246,89.986421004235524,0.0,0.0,0.0,0.0,0.0,0.0,0.007807128415706],[1.049117920694456,-29.99109871895589,1.049253111212695,-150.022613239970894,1.049646036246105,89.98647392387096,0.0,0.0,0.0,0.0,0.0,0.0,0.007701594143581],[1.049048118489925,-29.989180513372332,1.049198065988057,-150.024645321561877,1.049675877515369,89.986868626269299,0.0,0.0,-0.00005500000043,-0.000000018077627,0.0,0.0,0.007749437921281],[1.049011816145738,-29.988354514288066,1.049197525111788,-150.025543257200752,1.049686072456176,89.987065729586874,0.0,0.0,0.0,0.0,0.0,0.0,0.008595575125448],[1.049103849013069,-29.990836691634197,1.049237862617353,-150.022928886912069,1.049633248563,89.98621027022655,0.0,0.0,0.0,0.0,0.0,0.0,0.007845962699776],[1.049086326151549,-29.990408225797882,1.049219025999411,-150.023420034543165,1.04963761272088,89.986008265660715,0.0,0.0,0.0,0.0,0.0,0.0,0.007864739477768],[1.049094982111127,-29.990618125843056,1.049228332775787,-150.023179079956748,1.049638952487279,89.986122725167718,0.0,0.0,0.0,0.0,0.0,0.0,0.007828004428294],[1.049118014355294,-29.991107590274766,1.049253204968761,-150.022604372803301,1.049632910623965,89.986420008035253,0.0,0.0,0.0,0.0,0.0,0.0,0.007809302383734],[1.049117920694456,-29.99109871895589,1.049253111212695,-150.022613239970894,1.049646036246106,89.98647392387096,0.0,0.0,0.0,0.0,0.0,0.0,0.007701594143581],[1.049009165685098,-29.988293177708737,1.049196259736692,-150.025614059356798,1.049686828008434,89.987079339750736,0.0,0.0,0.0,0.0,0.0,0.0,0.008622416537534],[1.04910385057285,-29.990836839376858,1.049237864178725,-150.022928739238694,1.049633029973155,89.986209372290247,0.0,0.0,0.0,0.0,0.0,0.0,0.007847767039996],[1.049073997933507,-29.990109269910082,1.04920577086399,-150.023763221227711,1.049635704565845,89.98584524632912,0.0,0.0,0.0,0.0,0.0,0.0,0.007917164000257],[1.049094982111127,-29.990618125843088,1.049228332775787,-150.023179079956748,1.049638952487279,89.986122725167689,0.0,0.0,0.0,0.0,0.0,0.0,0.007828004428294],[1.049118021622577,-29.991108278613382,1.049253212243432,-150.022603684786986,1.049631892187818,89.986415824570372,0.0,0.0,0.0,0.0,0.0,0.0,0.007818506179801],[1.049117920694456,-29.991098718955886,1.049253111212696,-150.022613239970894,1.049646036246106,89.98647392387096,0.0,0.0,0.0,0.0,0.0,0.0,0.007701594143581],[1.04900597810771,-29.988219410804657,1.049194737934238,-150.025699209861159,1.049687736674076,89.987095708000851,0.0,0.0,0.0,0.0,0.0,0.0,0.008654761645784],[1.049103853114881,-29.990837080158304,1.049237866723348,-150.022928498570138,1.04963267372956,89.986207908890918,0.0,0.0,0.0,0.0,0.0,0.0,0.007850719611593],[1.049071418111858,-29.990046708975108,1.049202997075094,-150.023835038186803,1.049635305262755,89.985811132536014,0.0,0.0,0.0,0.0,0.0,0.0,0.007928149816279],[1.049094982111127,-29.99061812584311,1.049228332775787,-150.023179079956776,1.049638952487279,89.986122725167661,0.0,0.0,0.0,0.0,0.0,0.0,0.007828004428294],[1.049118023397076,-29.991108446689506,1.049253214019736,-150.02260351678953,1.0496316435096,89.986414803065145,0.0,0.0,0.0,0.0,0.0,0.0,0.00782077175432],[1.049117920694459,-29.991098718955737,1.049253111212699,-150.022613239970752,1.049646036246109,89.986473923871102,0.0,0.0,0.0,0.0,0.0,0.0,0.007701594143581],[1.049000639505752,-29.988095863806649,1.049192189200145,-150.025841821844551,1.049689258521926,89.987123121745128,0.0,0.0,0.0,0.0,0.0,0.0,0.008709088885302],[1.04900597810771,-29.988219410804657,1.049194737934238,-150.025699209861159,1.049687736674076,89.987095708000851,0.0,0.0,0.0,0.0,0.0,0.0,0.008654761645784],[1.049103861564747,-29.990837880530488,1.04923787518183,-150.022927698573085,1.049631489554077,89.986203044454939,0.0,0.0,0.0,0.0,0.0,0.0,0.00786064060773],[1.049070758739375,-29.990030719071989,1.049202288126883,-150.023853393834543,1.049635203205537,89.9858024134396,0.0,0.0,0.0,0.0,0.0,0.0,0.007930958510499],[1.049094982111127,-29.990618125843138,1.049228332775787,-150.023179079956805,1.049638952487279,89.986122725167647,0.0,0.0,0.0,0.0,0.0,0.0,0.007828004428294],[1.049118025089756,-29.991108607015853,1.049253215714137,-150.022603356538212,1.04963140629764,89.986413828659877,0.0,0.0,0.0,0.0,0.0,0.0,0.007822939520033],[1.04911792069446,-29.991098718955691,1.049253111212699,-150.022613239970696,1.049646036246109,89.986473923871159,0.0,0.0,0.0,0.0,0.0,0.0,0.007701594143581],[1.048982632831144,-29.9876791396503,1.049183592555379,-150.026322846622065,1.049694391602689,89.987215585689697,0.0,0.0,0.0,0.0,0.0,0.0,0.008893719826278],[1.049000639505752,-29.988095863806649,1.049192189200145,-150.025841821844551,1.049689258521926,89.987123121745128,0.0,0.0,0.0,0.0,0.0,0.0,0.008709088885302],[1.049103870972098,-29.990838771595623,1.049237884598772,-150.022926807925614,1.049630171195536,89.986197628799815,0.0,0.0,0.0,0.0,0.0,0.0,0.007871877763648],[1.049070413303656,-29.990022342183973,1.049201916719165,-150.02386301010398,1.049635149739237,89.98579784562989,0.0,0.0,0.0,0.0,0.0,0.0,0.007932430082226],[1.049094982111127,-29.990618125843142,1.049228332775787,-150.023179079956805,1.049638952487279,89.986122725167618,0.0,0.0,0.0,0.0,0.0,0.0,0.007828004428294],[1.049118026773229,-29.991108766470184,1.049253217399322,-150.022603197158588,1.04963117037589,89.986412859553994,0.0,0.0,0.0,0.0,0.0,0.0,0.007825101933898],[1.04911792069446,-29.991098718955669,1.0492531112127,-150.022613239970696,1.04964603624611,89.986473923871174,0.0,0.0,0.0,0.0,0.0,0.0,0.007701594143581],[1.048957164336836,-29.987089701840294,1.049171433610228,-150.027003220066945,1.049701651818038,89.987346364867648,0.0,0.0,0.0,0.0,0.0,0.0,0.009158320107877],[1.048982632831144,-29.9876791396503,1.049183592555379,-150.026322846622065,1.049694391602689,89.987215585689697,0.0,0.0,0.0,0.0,0.0,0.0,0.008893719826278],[1.049103876262754,-29.990839272727158,1.049237889894823,-150.022926307028996,1.04962942975587,89.986194583050661,0.0,0.0,0.0,0.0,0.0,0.0,0.007878286050913],[1.049070126941511,-29.990015397837809,1.049201608826541,-150.023870981883761,1.049635105416306,89.985794058968807,0.0,0.0,0.0,0.0,0.0,0.0,0.007933650069441],[1.049094982111127,-29.990618125843156,1.049228332775787,-150.023179079956833,1.049638952487279,89.986122725167604,0.0,0.0,0.0,0.0,0.0,0.0,0.007828004428294],[1.04911802870439,-29.991108949384866,1.049253219332446,-150.022603014329576,1.049630899743237,89.986411747864082,0.0,0.0,0.0,0.0,0.0,0.0,0.007827590402256],[1.049117920694461,-29.991098718955659,1.049253111212701,-150.022613239970667,1.049646036246111,89.986473923871174,0.0,0.0,0.0,0.0,0.0,0.0,0.007701594143581],[1.048938889296815,-29.986666728749221,1.049162708958236,-150.027491436774369,1.049706861440257,89.987440205317341,0.0,0.0,0.0,0.0,0.0,0.0,0.009350512219745],[1.048957164336836,-29.987089701840294,1.049171433610228,-150.027003220066945,1.049701651818038,89.987346364867648,0.0,0.0,0.0,0.0,0.0,0.0,0.009158320107877],[1.049103881232766,-29.99083974348709,1.049237894869902,-150.022925836489719,1.049628733251925,89.986191721888346,0.0,0.0,0.0,0.0,0.0,0.0,0.007884363855736],[1.049069894860939,-29.99000976982893,1.049201359296719,-150.023877442571091,1.049635069495039,89.985790990090521,0.0,0.0,0.0,0.0,0.0,0.0,0.007934638848714],[1.049094982111127,-29.990618125843149,1.049228332775787,-150.023179079956805,1.049638952487279,89.986122725167604,0.0,0.0,0.0,0.0,0.0,0.0,0.007828004428294],[1.049118035373539,-29.991109581069868,1.049253226008375,-150.022602382940363,1.04962996512933,89.986407908704237,0.0,0.0,0.0,0.0,0.0,0.0,0.007836248991384],[1.049117920694462,-29.991098718955627,1.049253111212702,-150.022613239970639,1.049646036246112,89.98647392387123,0.0,0.0,0.0,0.0,0.0,0.0,0.007701594143581],[1.048933344664444,-29.986538395888253,1.049160061915342,-150.027639563226217,1.049708442038723,89.987468676305809,0.0,0.0,0.0,0.0,0.0,0.0,0.00940918651274],[1.048938889296815,-29.986666728749221,1.049162708958236,-150.027491436774369,1.049706861440257,89.987440205317341,0.0,0.0,0.0,0.0,0.0,0.0,0.009350512219745],[1.049103885974566,-29.990840192630937,1.049237899616538,-150.022925387556427,1.049628068729679,89.986188992099798,0.0,0.0,0.0,0.0,0.0,0.0,0.007890214746711],[1.049069540109825,-29.990001167025085,1.04920097787323,-150.023887318182403,1.049635014586915,89.985786299098322,0.0,0.0,0.0,0.0,0.0,0.0,0.007936150348109],[1.049094982111127,-29.990618125843149,1.049228332775787,-150.023179079956805,1.04963895248728,89.986122725167618,0.0,0.0,0.0,0.0,0.0,0.0,0.007828004428294],[1.049118067873612,-29.991112659394798,1.049253258541493,-150.022599306056918,1.049625410572373,89.986389199626785,0.0,0.0,0.0,0.0,-0.000054000000091,-0.000000017748942,0.007879872563385],[1.049117920694463,-29.99109871895558,1.049253111212703,-150.022613239970582,1.049646036246113,89.986473923871273,0.0,0.0,0.0,0.0,0.0,0.0,0.007701594143581],[1.048920407661246,-29.986201474417268,1.04915188503865,-150.027994582886748,1.049711968956936,89.987495082262143,0.0,0.0,0.0,0.0,0.0,0.0,0.009523316721555],[1.048933344664444,-29.986538395888253,1.049160061915342,-150.027639563226217,1.049708442038723,89.987468676305809,0.0,0.0,0.0,0.0,0.0,0.0,0.00940918651274],[1.048930066839573,-29.986494110005779,1.049160071780489,-150.027642134222845,1.049708477886096,89.987470426917866,0.0,0.0,0.0,0.0,0.0,0.0,0.009511728590482],[1.049103893759895,-29.990840930058098,1.049237907409805,-150.022924650474948,1.04962697768329,89.986184510186774,0.0,0.0,0.0,0.0,0.0,0.0,0.007899931206757],[1.04906922030712,-29.989993411723525,1.049200634025792,-150.02389622090169,1.049634965088082,89.985782070239907,0.0,0.0,0.0,0.0,0.0,0.0,0.007937513026917],[1.049094982111127,-29.990618125843149,1.049228332775787,-150.023179079956805,1.04963895248728,89.986122725167618,0.0,0.0,0.0,0.0,0.0,0.0,0.007828004428294],[1.049117920694464,-29.991098718955559,1.049253111212704,-150.022613239970582,1.049646036246114,89.986473923871301,0.0,0.0,0.0,0.0,0.0,0.0,0.007701594143581],[1.048906034082041,-29.985827129031577,1.049142800189123,-150.028389032957989,1.049715887528374,89.987524420316305,0.0,0.0,0.0,0.0,0.0,0.0,0.009651213665684],[1.048920407661246,-29.986201474417268,1.04915188503865,-150.027994582886748,1.049711968956936,89.987495082262143,0.0,0.0,0.0,0.0,0.0,0.0,0.009523316721555],[1.048920407661246,-29.986201474417268,1.04915188503865,-150.027994582886748,1.049711968956936,89.987495082262143,0.0,0.0,0.0,0.0,0.0,0.0,0.009523316721555],[1.04892958815393,-29.986487642578506,1.049160073221161,-150.027642509685023,1.049708483121151,89.987470682573033,0.0,0.0,0.0,0.0,0.0,0.0,0.009526709484931],[1.049103899182525,-29.990841443690112,1.049237912837964,-150.022924137083663,1.049626217748737,89.98618138844364,0.0,0.0,0.0,0.0,0.0,0.0,0.007906779582654],[1.049068915933796,-29.9899860305838,1.049200306767816,-150.023904694101276,1.049634917977399,89.985778045408793,0.0,0.0,0.0,0.0,0.0,0.0,0.007938810036167],[1.049094982111128,-29.990618125843156,1.049228332775787,-150.023179079956805,1.04963895248728,89.986122725167604,0.0,0.0,0.0,0.0,0.0,0.0,0.007828004428294],[1.049117920694468,-29.991098718955392,1.049253111212707,-150.022613239970411,1.049646036246118,89.986473923871458,0.0,0.0,0.0,0.0,0.0,0.0,0.007701594143581],[1.048900766908208,-29.985689947944955,1.049139471066595,-150.028533580529682,1.04971732348497,89.98753517116404,0.0,0.0,0.0,0.0,0.0,0.0,0.009698360823013],[1.048906034082041,-29.985827129031577,1.049142800189123,-150.028389032957989,1.049715887528374,89.987524420316305,0.0,0.0,0.0,0.0,0.0,0.0,0.009651213665684],[1.048929327139173,-29.986484116057092,1.049160074006722,-150.027642714414753,1.049708485975688,89.987470821975108,0.0,0.0,0.0,0.0,0.0,0.0,0.009534878799502],[1.049103902992584,-29.990841804579279,1.049237916651908,-150.022923776363655,1.049625683801988,89.986179195035447,0.0,0.0,0.0,0.0,0.0,0.0,0.007911630919355],[1.049068573038767,-29.989977715276144,1.04919993809184,-150.023914239681943,1.049634864904356,89.985773511191468,0.0,0.0,0.0,0.0,0.0,0.0,0.007940271283422],[1.049094982111128,-29.990618125843142,1.049228332775788,-150.023179079956805,1.04963895248728,89.986122725167618,0.0,0.0,0.0,0.0,0.0,0.0,0.007828004428294],[1.049117920694469,-29.991098718955392,1.049253111212708,-150.022613239970383,1.049646036246118,89.986473923871458,0.0,0.0,0.0,0.0,0.0,0.0,0.007701594143581],[1.048896470103897,-29.985484292515384,1.049131751729631,-150.028675012963845,1.049718092223051,89.98744384630568,0.0,0.0,0.0,0.0,0.0,0.0,0.009678605183059],[1.048900766908208,-29.985689947944955,1.049139471066595,-150.028533580529682,1.04971732348497,89.98753517116404,0.0,0.0,0.0,0.0,0.0,0.0,0.009698360823013],[1.048879847521505,-29.985407283422859,1.049139534033554,-150.02854998918346,1.049717552267467,89.987546343703087,0.0,0.0,0.0,0.0,0.0,0.0,0.010357574845367],[1.048929150322151,-29.986481727114434,1.049160074538876,-150.02764285310306,1.049708487909413,89.987470916409094,0.0,0.0,0.0,0.0,0.0,0.0,0.009540413119056],[1.049103904813053,-29.990841977014284,1.049237918474234,-150.022923604009492,1.049625428679041,89.986178147011131,0.0,0.0,0.0,0.0,0.0,0.0,0.007913960411379],[1.04906821083126,-29.989968931628642,1.049199548651364,-150.023924322895112,1.049634808842145,89.985768721597921,0.0,0.0,0.0,0.0,0.0,0.0,0.007941814931534],[1.049094982111129,-29.990618125843142,1.049228332775789,-150.023179079956805,1.049638952487281,89.986122725167618,0.0,0.0,0.0,0.0,0.0,0.0,0.007828004428294],[1.049117920694469,-29.991098718955392,1.049253111212709,-150.022613239970411,1.049646036246118,89.986473923871458,0.0,0.0,0.0,0.0,0.0,0.0,0.007701594143581],[1.048890311793771,-29.985189536875463,1.049120688111134,-150.028877722605699,1.049719194010169,89.987312956492303,0.0,0.0,0.0,0.0,0.0,0.0,0.009650607661693],[1.048896470103897,-29.985484292515384,1.049131751729631,-150.028675012963845,1.049718092223051,89.98744384630568,0.0,0.0,0.0,0.0,0.0,0.0,0.009678605183059],[1.04887924214874,-29.985399103404557,1.04913953585564,-150.028550464023226,1.049717558887984,89.987546667018137,0.0,0.0,0.0,0.0,0.0,0.0,0.010376681683694],[1.048875823212914,-29.985352905287588,1.049139546146138,-150.028553145754074,1.04971759627837,89.987548492989788,0.0,0.0,0.0,0.0,0.0,0.0,0.010484620070823],[1.048928881748452,-29.986478098462406,1.049160075347185,-150.027643063761673,1.049708490846616,89.987471059848261,0.0,0.0,0.0,0.0,0.0,0.0,0.009548819780042],[1.04910390596627,-29.990842086247128,1.049237919628626,-150.022923494827864,1.049625267065649,89.986177483116194,0.0,0.0,0.0,0.0,0.0,0.0,0.007915439922054],[1.049067418874176,-29.989949726393821,1.049198697150136,-150.02394636960102,1.049634686263617,89.985758249276088,0.0,0.0,0.0,0.0,0.0,0.0,0.00794519043732],[1.04909498211113,-29.990618125843117,1.04922833277579,-150.023179079956776,1.049638952487282,89.986122725167647,0.0,0.0,0.0,0.0,0.0,0.0,0.007828004428294],[1.049117920694469,-29.991098718955374,1.049253111212709,-150.022613239970383,1.049646036246118,89.986473923871486,0.0,0.0,0.0,0.0,0.0,0.0,0.007701594143581],[1.048886553597989,-29.985009655738033,1.049113936363724,-150.029001431571658,1.049719866396197,89.98723307898382,0.0,0.0,0.0,0.0,0.0,0.0,0.00963370642369],[1.048890311793771,-29.985189536875463,1.049120688111134,-150.028877722605699,1.049719194010169,89.987312956492303,0.0,0.0,0.0,0.0,0.0,0.0,0.009650607661693],[1.048878986272029,-29.985395645901907,1.049139536625792,-150.028550664726737,1.049717561686319,89.987546803675755,0.0,0.0,0.0,0.0,0.0,0.0,0.010384758169294],[1.048873248114291,-29.985318109257214,1.049139553896719,-150.02855516559967,1.049717624440241,89.987549868288298,-0.000049999998737,-0.000016434205463,0.0,0.0,0.0,0.0,0.010565950401719],[1.04892847416136,-29.986472591621229,1.049160076573872,-150.027643383456933,1.04970849530411,89.987471277531341,0.0,0.0,0.0,0.0,0.0,0.0,0.009561578602321],[1.049103906745987,-29.990842160101977,1.049237920409138,-150.022923421007619,1.049625157795086,89.986177034241322,0.0,0.0,0.0,0.0,0.0,0.0,0.00791644194074],[1.04904945704035,-29.989514137165582,1.049179384844381,-150.024446406209705,1.049631906147292,89.985520732698532,0.0,0.0,0.0,0.0,0.0,0.0,0.008021879381432],[1.049094982111131,-29.990618125843106,1.04922833277579,-150.023179079956748,1.049638952487283,89.986122725167661,0.0,0.0,0.0,0.0,0.0,0.0,0.007828004428294],[1.049117920694469,-29.991098718955374,1.049253111212709,-150.022613239970383,1.049646036246118,89.986473923871486,0.0,0.0,0.0,0.0,0.0,0.0,0.007701594143581],[1.048885906399454,-29.984978678245348,1.049112773644582,-150.029022735675369,1.049719982188104,89.987219323274246,0.0,0.0,0.0,0.0,0.0,0.0,0.009630810059525],[1.048886553597989,-29.985009655738033,1.049113936363724,-150.029001431571658,1.049719866396197,89.98723307898382,0.0,0.0,0.0,0.0,0.0,0.0,0.00963370642369],[1.048878835923893,-29.985393614340374,1.049139537078318,-150.028550782656225,1.049717563330565,89.987546883973081,0.0,0.0,0.0,0.0,0.0,0.0,0.010389503885899],[1.048928184991787,-29.986468684696746,1.049160077444164,-150.027643610270161,1.049708498466554,89.987471431970278,0.0,0.0,0.0,0.0,0.0,0.0,0.009570631209808],[1.049103907833598,-29.990842263120562,1.049237921497858,-150.022923318037272,1.049625005375871,89.986176408115014,0.0,0.0,0.0,0.0,0.0,0.0,0.00791784190803],[1.049049483131913,-29.989511674446199,1.049175738052837,-150.024461355607968,1.049631932170901,89.985518269199517,0.0,0.0,0.0,0.0,0.0,0.0,0.007912660897324],[1.049046611096222,-29.989455316962527,1.049176793101752,-150.024520213033526,1.049631391792485,89.985492285026595,0.0,0.0,0.0,0.0,0.0,0.0,0.008040406471021],[1.049094982111131,-29.990618125843088,1.049228332775791,-150.023179079956748,1.049638952487284,89.986122725167689,0.0,0.0,0.0,0.0,0.0,0.0,0.007828004428294],[1.048887050004252,-29.984930837728367,1.049109353390767,-150.029010822812438,1.049719337011834,89.987134107450899,0.0,0.0,0.0,0.0,0.0,0.0,0.009572249886475],[1.048885906399454,-29.984978678245348,1.049112773644582,-150.029022735675369,1.049719982188104,89.987219323274246,0.0,0.0,0.0,0.0,0.0,0.0,0.009630810059525],[1.048875900611619,-29.984843477331349,1.049112803765375,-150.029030584142305,1.049720091614672,89.987224667205453,0.0,0.0,0.0,0.0,0.0,0.0,0.009946863768385],[1.048878697558363,-29.985391744691846,1.049139537494779,-150.028550891186768,1.049717564843767,89.987546957870805,0.0,0.0,0.0,0.0,0.0,0.0,0.010393871459616],[1.048927987427706,-29.986466015438317,1.049160078038758,-150.027643765231659,1.049708500627173,89.987471537484808,0.0,0.0,0.0,0.0,0.0,0.0,0.009576816365419],[1.049103908663671,-29.990842341745136,1.049237922328777,-150.022923239449511,1.049624889048327,89.986175930250397,0.0,0.0,0.0,0.0,0.0,0.0,0.007918912154417],[1.049049506141139,-29.989509502661395,1.049172522076689,-150.024474539038692,1.0496319551202,89.98551609672711,0.0,0.0,-0.000034000000596,-0.00000001117526,0.0,0.0,0.007816470626601],[1.049045075789815,-29.989423584984436,1.04917539493017,-150.024560029891006,1.049631114312602,89.985476938295932,0.0,0.0,0.0,0.0,0.0,0.0,0.00805040320089],[1.049094982111131,-29.990618125843078,1.049228332775791,-150.023179079956748,1.049638952487284,89.986122725167689,0.0,0.0,0.0,0.0,0.0,0.0,0.007828004428294],[1.048887891834151,-29.984895621472653,1.049106835676346,-150.029002053475836,1.049718862086688,89.987071378381586,0.0,0.0,0.0,0.0,0.0,0.0,0.009529142799532],[1.048887050004252,-29.984930837728367,1.049109353390767,-150.029010822812438,1.049719337011834,89.987134107450899,0.0,0.0,0.0,0.0,0.0,0.0,0.009572249886475],[1.048869987987503,-29.984763583111135,1.049112821563861,-150.029035221963142,1.04972015627657,89.987227825043974,0.0,0.0,0.0,0.0,0.0,0.0,0.010133828294763],[1.048878574286308,-29.98539007899177,1.049139537865809,-150.02855098787839,1.049717566191902,89.98754702370745,0.0,0.0,0.0,0.0,0.0,0.0,0.010397762670187],[1.048927831313312,-29.986463906199635,1.049160078508604,-150.027643887681648,1.049708502334485,89.987471620861996,0.0,0.0,0.0,0.0,0.0,0.0,0.009581704027902],[1.049103914587255,-29.99084290282752,1.049237928258402,-150.02292267862984,1.049624058909266,89.986172520099714,0.0,0.0,0.0,0.0,0.0,0.0,0.007926594355889],[1.049044846500775,-29.989418845990428,1.049175186121432,-150.024565976315756,1.049631072872603,89.98547464635044,0.0,0.0,0.0,0.0,0.0,0.0,0.008051896267273],[1.049094982111132,-29.99061812584306,1.049228332775791,-150.023179079956748,1.049638952487284,89.986122725167689,0.0,0.0,0.0,0.0,0.0,0.0,0.007828004428294],[1.048889037987309,-29.984847674584756,1.049103407804867,-150.028990113944815,1.049718215477495,89.986985972579362,0.0,0.0,0.0,0.0,0.0,0.0,0.009470452694595],[1.048887891834151,-29.984895621472653,1.049106835676346,-150.029002053475836,1.049718862086688,89.987071378381586,0.0,0.0,0.0,0.0,0.0,0.0,0.009529142799532],[1.048865303143323,-29.984700278588399,1.049112835666154,-150.029038896722909,1.049720207510908,89.987230327145056,0.0,0.0,0.0,0.0,0.0,0.0,0.010282068703275],[1.048878446405557,-29.985388351016745,1.049139538250712,-150.028551088184969,1.04971756759044,89.987547092005499,0.0,0.0,0.0,0.0,0.0,0.0,0.010401799428251],[1.048927330769046,-29.986457143415112,1.049160080015051,-150.027644280288882,1.049708507808581,89.987471888191408,0.0,0.0,0.0,0.0,0.0,0.0,0.009597376217309],[1.0491039219893,-29.990843603949667,1.049237935667993,-150.022921977835892,1.04962302157689,89.986168258803502,0.0,0.0,0.0,0.0,0.0,0.0,0.007936303871963],[1.049103953741103,-29.990846611482546,1.049237967452176,-150.022918971711107,1.04961857183704,89.986149979480132,0.0,0.0,0.0,0.0,-0.000050999999075,-0.00000001676289,0.007979328861043],[1.049044671476041,-29.989415228541009,1.049175026730067,-150.024570515441638,1.049631041239932,89.985472896824192,0.0,0.0,0.0,0.0,0.0,0.0,0.008053035999377],[1.049094982111132,-29.990618125843056,1.049228332775792,-150.023179079956748,1.049638952487284,89.986122725167718,0.0,0.0,0.0,0.0,0.0,0.0,0.007828004428294],[1.048889849070527,-29.984813744719467,1.049100982049238,-150.028981664810487,1.049717757901683,89.986925534541669,0.0,0.0,0.0,0.0,0.0,0.0,0.009428920436787],[1.048889037987309,-29.984847674584756,1.049103407804867,-150.028990113944815,1.049718215477495,89.986985972579362,0.0,0.0,0.0,0.0,0.0,0.0,0.009470452694595],[1.048863367330727,-29.984674120517724,1.049112841493258,-150.02904041516129,1.049720228681252,89.987231361031974,0.0,0.0,0.0,0.0,0.0,0.0,0.010343347530363],[1.048878060354215,-29.985383134536566,1.049139539412668,-150.028551390994295,1.049717571812397,89.987547298186257,0.0,0.0,0.0,0.0,0.0,0.0,0.010413986175719],[1.048923282110909,-29.986402442310372,1.049160092199868,-150.027647455897267,1.049708552085771,89.987474050488771,0.0,0.0,0.0,0.0,0.0,0.0,0.00972419849994],[1.04910393016285,-29.990844378148672,1.049237943849875,-150.022921203999289,1.049621876124989,89.986163553349215,0.0,0.0,0.0,0.0,0.0,0.0,0.007947166765752],[1.049044507782704,-29.989411845290252,1.049174877657972,-150.02457476069813,1.049631011655213,89.985471260565106,0.0,0.0,0.0,0.0,0.0,0.0,0.008054101958768],[1.049094982111132,-29.990618125843028,1.049228332775792,-150.023179079956691,1.049638952487284,89.986122725167732,0.0,0.0,0.0,0.0,0.0,0.0,0.007828004428294],[1.04889211730351,-29.984718858589709,1.049094198313642,-150.028958036215414,1.049716478276355,89.986756516546364,0.0,0.0,0.0,0.0,0.0,0.0,0.009312774403326],[1.048889849070527,-29.984813744719467,1.049100982049238,-150.028981664810487,1.049717757901683,89.986925534541669,0.0,0.0,0.0,0.0,0.0,0.0,0.009428920436787],[1.048863065622125,-29.984670043608961,1.049112842401444,-150.029040651819514,1.04972023198078,89.987231522169765,0.0,0.0,0.0,0.0,0.0,0.0,0.010352899499856],[1.048859323643824,-29.98461947903187,1.049112853665275,-150.029043587002491,1.049720272903516,89.987233520701494,0.0,0.0,0.0,0.0,0.0,0.0,0.010471397117386],[1.048877671307226,-29.98537787757401,1.049139540583641,-150.028551696153329,1.049717576067114,89.987547505966944,0.0,0.0,0.0,0.0,0.0,0.0,0.010426268135482],[1.048923080491722,-29.986399718237934,1.049160092806656,-150.027647614039466,1.049708554290727,89.987474158169036,0.0,0.0,0.0,0.0,0.0,0.0,0.009730516763612],[1.049103952317785,-29.99084647666518,1.049237966027396,-150.022919106465082,1.049618771303441,89.986150798858944,0.0,0.0,0.0,0.0,-0.000028000000384,-0.000000009203155,0.007977352771626],[1.049044333224174,-29.989408237473938,1.049174718691176,-150.024579287736145,1.0496309801068,89.985469515698753,0.0,0.0,0.0,0.0,0.0,0.0,0.008055238688013],[1.049094982111132,-29.990618125843028,1.049228332775792,-150.023179079956719,1.049638952487285,89.986122725167732,0.0,0.0,0.0,0.0,0.0,0.0,0.007828004428294],[1.048893759728879,-29.984650151963688,1.049089286222559,-150.028940926599887,1.049715551707573,89.986634130651581,0.0,0.0,0.0,0.0,0.0,0.0,0.009228674033626],[1.04889211730351,-29.984718858589709,1.049094198313642,-150.028958036215414,1.049716478276355,89.986756516546364,0.0,0.0,0.0,0.0,0.0,0.0,0.009312774403326],[1.048862954602492,-29.984668543429308,1.04911284273563,-150.029040738902552,1.049720233194906,89.987231581463618,0.0,0.0,0.0,0.0,0.0,0.0,0.010356414421637],[1.048856264572298,-29.984578142158497,1.049112862873357,-150.02904598651827,1.04972030635779,89.987235154503551,-0.000054000000091,-0.0000177489419,0.0,0.0,0.0,0.0,0.010568306912929],[1.048874036201263,-29.985328758337449,1.049139551524677,-150.028554547442951,1.049717615821482,89.98754944739008,-0.000052999999753,-0.000017420257791,0.0,0.0,0.0,0.0,0.010541057016324],[1.048922921407146,-29.986397568848926,1.049160093285432,-150.027647738819155,1.049708556030515,89.987474243132539,0.0,0.0,0.0,0.0,0.0,0.0,0.009735502268376],[1.049044178761171,-29.9894050449956,1.049174578024956,-150.024583293613802,1.049630952190304,89.985467971704722,0.0,0.0,0.0,0.0,0.0,0.0,0.008056244568896],[1.049094982111132,-29.990618125843028,1.049228332775792,-150.023179079956719,1.049638952487285,89.986122725167732,0.0,0.0,0.0,0.0,0.0,0.0,0.007828004428294],[1.048893944305523,-29.984652448011605,1.049089030045235,-150.028932794922383,1.049715157890183,89.98662423597105,0.0,0.0,0.0,0.0,0.0,0.0,0.009223562470883],[1.048893759728879,-29.984650151963688,1.049089286222559,-150.028940926599887,1.049715551707573,89.986634130651581,0.0,0.0,0.0,0.0,0.0,0.0,0.009228674033626],[1.048893812816348,-29.984645142539989,1.04908186857315,-150.028971328487444,1.049715604629154,89.986629119907363,0.0,0.0,0.0,0.0,0.0,0.0,0.009027659467207],[1.048862789230484,-29.984666308799458,1.049112843233423,-150.029040868619262,1.049720235003437,89.987231669786212,0.0,0.0,0.0,0.0,0.0,0.0,0.010361650245064],[1.048922741557714,-29.986395138905483,1.049160093826702,-150.027647879885961,1.049708557997391,89.987474339186079,0.0,0.0,0.0,0.0,0.0,0.0,0.009741138701611],[1.049044020772938,-29.98940177965591,1.049174434148386,-150.024587390916651,1.049630923636683,89.985466392472844,0.0,0.0,0.0,0.0,0.0,0.0,0.008057273420244],[1.048893988009883,-29.984652991673489,1.04908896938715,-150.028930869489869,1.049715064641459,89.986621893091296,0.0,0.0,0.0,0.0,0.0,0.0,0.009222352672363],[1.048893944305523,-29.984652448011605,1.049089030045235,-150.028932794922383,1.049715157890183,89.98662423597105,0.0,0.0,0.0,0.0,0.0,0.0,0.009223562470883],[1.048893819527536,-29.984644509260939,1.049080930852101,-150.028975171850192,1.049715611319372,89.986628486461385,0.0,0.0,0.0,0.0,0.0,0.0,0.009002357208817],[1.048862689722368,-29.98466496417128,1.049112843532956,-150.029040946672751,1.049720236091671,89.987231722931924,0.0,0.0,0.0,0.0,0.0,0.0,0.010364800809015],[1.048922581486027,-29.986392976178184,1.049160094308448,-150.027648005439914,1.049708559747973,89.987474424676833,0.0,0.0,0.0,0.0,0.0,0.0,0.009746155470225],[1.049043205350494,-29.989384926287535,1.049173691560304,-150.024608538287623,1.049630776263281,89.985458241603595,0.0,0.0,0.0,0.0,0.0,0.0,0.008062583837393],[1.048895172818143,-29.98466773011889,1.049087324970467,-150.028878671677433,1.04971253670542,89.986558378371484,0.0,0.0,0.0,0.0,0.0,0.0,0.009189632524014],[1.048893988009883,-29.984652991673489,1.04908896938715,-150.028930869489869,1.049715064641459,89.986621893091296,0.0,0.0,0.0,0.0,0.0,0.0,0.009222352672363],[1.048893988009884,-29.984652991673478,1.049088969387151,-150.028930869489869,1.04971506464146,89.986621893091296,0.0,0.0,0.0,0.0,0.0,0.0,0.009222352672363],[1.048893824479948,-29.984644041943024,1.049080238876161,-150.028978008001417,1.049715616256308,89.986628019020273,0.0,0.0,0.0,0.0,0.0,0.0,0.008983702011768],[1.04886256965274,-29.984663341700166,1.049112843894383,-150.029041040854537,1.049720237404769,89.987231787059258,0.0,0.0,0.0,0.0,0.0,0.0,0.010368602428123],[1.048922397243522,-29.986390486878335,1.049160094862938,-150.027648149952483,1.049708561762892,89.987474523076628,0.0,0.0,0.0,0.0,0.0,0.0,0.009751929962315],[1.049043224274085,-29.989383140152004,1.049171046659492,-150.024619380475059,1.049630795137284,89.985456454902291,0.0,0.0,0.0,0.0,0.0,0.0,0.007983397049109],[1.049041401919863,-29.98935286830261,1.049172288672434,-150.024652535411036,1.049630412546287,89.985444912888269,0.0,0.0,0.0,0.0,0.0,0.0,0.008077578845536],[1.048896003148846,-29.984678059013444,1.049086172540135,-150.028842090602524,1.049710765092272,89.98651386616045,0.0,0.0,0.0,0.0,0.0,0.0,0.009166790861319],[1.048895172818143,-29.98466773011889,1.049087324970467,-150.028878671677433,1.04971253670542,89.986558378371484,0.0,0.0,0.0,0.0,0.0,0.0,0.009189632524014],[1.048893988009884,-29.984652991673478,1.049088969387152,-150.028930869489869,1.04971506464146,89.986621893091311,0.0,0.0,0.0,0.0,0.0,0.0,0.009222352672363],[1.048893829298683,-29.984643587239074,1.049079565578264,-150.028980767601894,1.049715621059985,89.98662756419651,0.0,0.0,0.0,0.0,0.0,0.0,0.008965563651655],[1.048862464226513,-29.984661917101406,1.04911284421173,-150.029041123550172,1.049720238557724,89.98723184336572,0.0,0.0,0.0,0.0,0.0,0.0,0.010371940455447],[1.048922208332265,-29.986387934498058,1.049160095431479,-150.027648298127076,1.04970856382887,89.987474623969888,0.0,0.0,0.0,0.0,0.0,0.0,0.009757850994097],[1.049043225364598,-29.989383037222162,1.049170894241486,-150.024620005280696,1.049630796224939,89.98545635193986,0.0,0.0,0.0,0.0,0.0,0.0,0.007978836136291],[1.049032783881064,-29.98919967148478,1.049165584708874,-150.02486278581938,1.049628674454461,89.985381218910547,0.0,0.0,0.0,0.0,0.0,0.0,0.008149253883709],[1.048896699671913,-29.984610096811,1.049082942766473,-150.028858899458839,1.049711494925137,89.986447007015485,0.0,0.0,0.0,0.0,0.0,0.0,0.009114157606618],[1.048896117898606,-29.984688577978982,1.049086281782722,-150.028831400046812,1.049710257343383,89.986511217144425,0.0,0.0,0.0,0.0,0.0,0.0,0.009167622769589],[1.048893988009885,-29.984652991673478,1.049088969387152,-150.028930869489869,1.049715064641461,89.986621893091311,0.0,0.0,0.0,0.0,0.0,0.0,0.009222352672363],[1.048893874564169,-29.98463931591224,1.04907324085741,-150.029006690480344,1.049715666184026,89.986623291743953,0.0,0.0,0.0,0.0,0.0,0.0,0.008795833300702],[1.04886177435253,-29.984652594996195,1.049112846288343,-150.029041664682723,1.049720246102273,89.987232211816561,0.0,0.0,0.0,0.0,0.0,0.0,0.010393784413311],[1.048921981261684,-29.986384866545834,1.049160096114862,-150.027648476232315,1.049708566312167,89.987474745243233,0.0,0.0,0.0,0.0,0.0,0.0,0.0097649683351],[1.049043225912293,-29.989382985526991,1.049170817691515,-150.02462031908135,1.049630796771199,89.985456300228279,0.0,0.0,0.0,0.0,0.0,0.0,0.007976545576299],[1.049032854460689,-29.989206357559613,1.04916565535778,-150.02485610278319,1.049618782999046,89.985340573239881,0.0,0.0,0.0,0.0,0.0,0.0,0.008221707039967],[1.049022153698875,-29.988973385035127,1.049157219496065,-150.02515660358668,1.049628787712859,89.98532388816227,0.0,0.0,0.0,0.0,0.0,0.0,0.008218628940463],[1.048897320821659,-29.984549489245804,1.049080062504335,-150.028873889424261,1.049712145780008,89.986387383142187,0.0,0.0,0.0,0.0,0.0,0.0,0.009067275629383],[1.048896699671913,-29.984610096811,1.049082942766473,-150.028858899458839,1.049711494925137,89.986447007015485,0.0,0.0,0.0,0.0,0.0,0.0,0.009114157606618],[1.048896699671913,-29.984610096811,1.049082942766473,-150.028858899458839,1.049711494925137,89.986447007015485,0.0,0.0,0.0,0.0,0.0,0.0,0.009114157606618],[1.04889620930448,-29.984697238020985,1.049086373253935,-150.028822743648362,1.049697447287704,89.986458538835507,0.0,0.0,0.0,0.0,0.0,0.0,0.00918030360975],[1.048896117898606,-29.984688577978982,1.049086281782722,-150.028831400046812,1.049710257343383,89.986511217144425,0.0,0.0,0.0,0.0,0.0,0.0,0.009167622769589],[1.048893988009885,-29.984652991673489,1.049088969387152,-150.028930869489869,1.049715064641461,89.986621893091296,0.0,0.0,0.0,0.0,0.0,0.0,0.009222352672363],[1.048893895631135,-29.984637327998506,1.049070297275586,-150.029018755327428,1.049715687185161,89.986621303306265,0.0,0.0,0.0,0.0,0.0,0.0,0.008717255338586],[1.048856687708216,-29.984583859977501,1.04911286159966,-150.029045654613043,1.04972030173031,89.98723492851343,-0.000052999999753,-0.000017420257791,0.0,0.0,0.0,0.0,0.010554900190737],[1.048921838904602,-29.98638294315758,1.049160096543294,-150.027648587891576,1.049708567869017,89.987474821272997,0.0,0.0,0.0,0.0,0.0,0.0,0.009769430558986],[1.049043226371566,-29.989382942177794,1.049170753500213,-150.024620582220223,1.049630797229268,89.985456256865348,0.0,0.0,0.0,0.0,0.0,0.0,0.007974624868861],[1.049032891705767,-29.98920988582039,1.049165692639419,-150.024852576125909,1.049613563249481,89.985319124092498,0.0,0.0,0.0,0.0,-0.000056000000768,-0.000000018406309,0.008264393019376],[1.049011971874248,-29.988756638240279,1.049149207123022,-150.025438033562494,1.049628896194482,89.985268975431836,0.0,0.0,0.0,0.0,0.0,0.0,0.008285403056375],[1.048897320821566,-29.984549489248071,1.04907655284382,-150.028886778487589,1.049712145779915,89.986387383139899,0.0,0.0,0.0,0.0,0.0,0.0,0.008971019717676],[1.048897320821659,-29.984549489245804,1.049080062504335,-150.028873889424261,1.049712145780008,89.986387383142187,0.0,0.0,0.0,0.0,0.0,0.0,0.009067275629383],[1.048897320821659,-29.984549489245804,1.049080062504335,-150.028873889424261,1.049712145780008,89.986387383142187,0.0,0.0,0.0,0.0,0.0,0.0,0.009067275629383],[1.048896230818662,-29.98469927633279,1.049086394783496,-150.028820706194068,1.049694432188015,89.986446139767324,0.0,0.0,0.0,0.0,-0.000057000001107,-0.000000018734994,0.009185847977557],[1.048893988009885,-29.984652991673499,1.049088969387152,-150.028930869489869,1.049715064641461,89.986621893091282,0.0,0.0,0.0,0.0,0.0,0.0,0.009222352672363],[1.048893905518717,-29.984636394989895,1.049068915733149,-150.029024417873302,1.049715697041847,89.986620370051767,0.0,0.0,0.0,0.0,0.0,0.0,0.008680469629605],[1.048921227101744,-29.986374677075826,1.049160098384549,-150.027649067765793,1.049708574559831,89.987475148023222,0.0,0.0,0.0,0.0,0.0,0.0,0.009788609078368],[1.049043226746086,-29.989382906828002,1.049170701154452,-150.024620796800775,1.049630797602807,89.985456221504393,0.0,0.0,0.0,0.0,0.0,0.0,0.00797305863383],[1.049011983579652,-29.988755533446124,1.049147571169809,-150.025444739622884,1.049628907868329,89.985267870290414,0.0,0.0,0.0,0.0,0.0,0.0,0.008236651969536],[1.049008986047436,-29.988707313877264,1.049147492698996,-150.025512826236337,1.049628802265095,89.985265071811,0.0,0.0,0.0,0.0,0.0,0.0,0.008313836824253],[1.048897320821438,-29.98454948925114,1.049071771878983,-150.028904336495287,1.049712145779788,89.98638738313683,0.0,0.0,0.0,0.0,0.0,0.0,0.008840482961712],[1.048893988009885,-29.984652991673499,1.049088969387152,-150.028930869489869,1.049715064641461,89.986621893091282,0.0,0.0,0.0,0.0,0.0,0.0,0.009222352672363],[1.048893912113888,-29.984635772658752,1.049067994223006,-150.029028194887189,1.049715703616409,89.986619747556617,0.0,0.0,0.0,0.0,0.0,0.0,0.008655966962186],[1.048918647813701,-29.986339828150101,1.049160106147018,-150.027651090858285,1.049708602767466,89.987476525563366,-0.000045000000682,-0.000014790784917,0.0,0.0,0.0,0.0,0.009869487824926],[1.049043227333974,-29.989382851339212,1.049170618986901,-150.024621133629637,1.049630798189155,89.985456165998016,0.0,0.0,0.0,0.0,0.0,0.0,0.007970600165295],[1.04901198644985,-29.988755262547514,1.049147170029521,-150.025446383970802,1.049628910730789,89.985267599306653,0.0,0.0,0.0,0.0,0.0,0.0,0.008224702932904],[1.049008299099733,-29.988695965803998,1.049147098262492,-150.025530033786964,1.049628780654794,89.985264173706653,0.0,0.0,0.0,0.0,0.0,0.0,0.008320381417263],[1.048897320821401,-29.98454948925205,1.049070369568627,-150.028909486485361,1.04971214577975,89.98638738313592,0.0,0.0,0.0,0.0,0.0,0.0,0.008802327109704],[1.048893988009885,-29.984652991673499,1.049088969387152,-150.028930869489869,1.049715064641461,89.986621893091282,0.0,0.0,0.0,0.0,0.0,0.0,0.009222352672363],[1.048893922196676,-29.984634821230312,1.049066585405582,-150.029033969250975,1.04971571366769,89.986618795877448,0.0,0.0,0.0,0.0,0.0,0.0,0.008618560095002],[1.049043228735827,-29.989382719022938,1.049170423053625,-150.024621936817709,1.049630799587334,89.985456033639835,0.0,0.0,0.0,0.0,0.0,0.0,0.007964738115287],[1.049011988420735,-29.988755076528939,1.049146894577583,-150.025447513099749,1.049628912696361,89.985267413229607,0.0,0.0,0.0,0.0,0.0,0.0,0.00821649897911],[1.049007958203381,-29.988690334340777,1.049146902524231,-150.02553857300299,1.049628769930726,89.985263728024222,0.0,0.0,0.0,0.0,0.0,0.0,0.008323629551782],[1.048897320821277,-29.984549489255056,1.049065728182758,-150.028926532090992,1.049712145779626,89.986387383132922,0.0,0.0,-0.000043000000005,-0.000000014133416,0.0,0.0,0.008676480012869],[1.048893988009885,-29.984652991673499,1.049088969387152,-150.028930869489869,1.049715064641461,89.986621893091282,0.0,0.0,0.0,0.0,0.0,0.0,0.009222352672363],[1.048893941888244,-29.984632963101856,1.049063834001806,-150.029045246560031,1.049715733297726,89.986616937259313,0.0,0.0,0.0,0.0,0.0,0.0,0.008545693159431],[1.049043229705682,-29.989382627481483,1.049170287499526,-150.024622492493933,1.049630800554648,89.985455942069464,0.0,0.0,0.0,0.0,0.0,0.0,0.007960682782291],[1.049011991152809,-29.988754818666958,1.049146512741568,-150.025449078317905,1.049628915421069,89.985267155286522,0.0,0.0,0.0,0.0,0.0,0.0,0.008205128035936],[1.049007583584941,-29.988684145798569,1.049146687423206,-150.025547956937686,1.049628758145813,89.985263238254035,0.0,0.0,0.0,0.0,0.0,0.0,0.008327199298603],[1.048893988009885,-29.984652991673492,1.049088969387152,-150.028930869489869,1.049715064641461,89.986621893091282,0.0,0.0,0.0,0.0,0.0,0.0,0.009222352672363],[1.048893947331499,-29.98463244946749,1.049063073443204,-150.029048363908089,1.049715738723972,89.986616423489551,0.0,0.0,0.0,0.0,0.0,0.0,0.008525595465589],[1.049043230938847,-29.989382511087086,1.04917011514331,-150.02462319903313,1.049630801784581,89.985455825638255,0.0,0.0,0.0,0.0,0.0,0.0,0.007955526754285],[1.049011997631372,-29.988754207199111,1.049145607294306,-150.025452789922298,1.049628921882166,89.985266543626437,0.0,0.0,0.0,0.0,0.0,0.0,0.008178171198377],[1.049007151331049,-29.988677005136733,1.049146439228682,-150.025558784606034,1.049628744547776,89.985262673132169,0.0,0.0,0.0,0.0,0.0,0.0,0.008331318645877],[1.048893988009885,-29.984652991673492,1.049088969387152,-150.028930869489869,1.049715064641461,89.986621893091282,0.0,0.0,0.0,0.0,0.0,0.0,0.009222352672363],[1.048893948911763,-29.984632300351166,1.049062852640845,-150.029049268925064,1.049715740299298,89.986616274333983,0.0,0.0,0.0,0.0,0.0,0.0,0.008519764442596],[1.049043231687985,-29.989382440378478,1.049170010438377,-150.02462362824977,1.049630802531755,89.985455754907292,0.0,0.0,0.0,0.0,0.0,0.0,0.007952394677231],[1.049012002556147,-29.988753742382837,1.049144919005227,-150.025455611357359,1.049628926793665,89.985266078663983,0.0,0.0,0.0,0.0,0.0,0.0,0.008157686258782],[1.049006714351802,-29.988669786407698,1.049146188320948,-150.025569730646907,1.049628730801084,89.985262101832376,0.0,0.0,0.0,0.0,0.0,0.0,0.008335483450711],[1.048893988009885,-29.984652991673478,1.049088969387152,-150.028930869489869,1.049715064641461,89.986621893091296,0.0,0.0,0.0,0.0,0.0,0.0,0.009222352672363],[1.048893949528633,-29.984632242142322,1.049062766448719,-150.029049622206884,1.04971574091424,89.986616216109795,0.0,0.0,0.0,0.0,0.0,0.0,0.008517488700183],[1.048893952916512,-29.984631922456792,1.049062293077821,-150.029051562441595,1.049715744291531,89.986615896340069,0.0,0.0,0.0,0.0,0.0,0.0,0.008504994725327],[1.049043232364296,-29.989382376543684,1.049169915912153,-150.024624015740955,1.049630803206294,89.985455691052323,0.0,0.0,0.0,0.0,0.0,0.0,0.007949567187606],[1.049012006013264,-29.988753416088869,1.049144435836755,-150.025457591964084,1.049628930241462,89.985265752267452,0.0,0.0,0.0,0.0,0.0,0.0,0.008143309624726],[1.04900622990386,-29.988661783506775,1.049145910157347,-150.025581865753765,1.049628715561099,89.985261468472714,0.0,0.0,0.0,0.0,0.0,0.0,0.008340101173866],[1.048893988009885,-29.984652991673489,1.049088969387152,-150.028930869489869,1.049715064641461,89.986621893091296,0.0,0.0,0.0,0.0,0.0,0.0,0.009222352672363],[1.04889395010597,-29.984632187663788,1.049062685780216,-150.029049952848737,1.049715741489774,89.986616161616908,0.0,0.0,0.0,0.0,0.0,0.0,0.008515359027092],[1.048893958201039,-29.984631423800348,1.049061554697659,-150.029054588891086,1.049715749559544,89.986615397552271,0.0,0.0,0.0,0.0,0.0,0.0,0.008485521454605],[1.049043233504918,-29.98938226888405,1.049169756490334,-150.024624669258657,1.049630804343928,89.985455583358643,0.0,0.0,0.0,0.0,0.0,0.0,0.007944798758794],[1.049012009634897,-29.9887530742674,1.049143929675516,-150.025459666824872,1.049628933853331,89.985265410338499,0.0,0.0,0.0,0.0,0.0,0.0,0.008128251942719],[1.049005525415093,-29.988650145599042,1.049145505649276,-150.025599512752933,1.049628693398964,89.985260547435047,0.0,0.0,0.0,0.0,0.0,0.0,0.008346817245044],[1.048893988009885,-29.984652991673478,1.049088969387152,-150.028930869489869,1.049715064641461,89.986621893091311,0.0,0.0,0.0,0.0,0.0,0.0,0.009222352672363],[1.048893950700703,-29.984632131543862,1.049062602681249,-150.029050293452514,1.049715742082648,89.986616105482213,0.0,0.0,0.0,0.0,0.0,0.0,0.008513165420078],[1.048893980155416,-29.984629352150829,1.049058487124933,-150.029067162207809,1.049715771445312,89.98661332535707,0.0,0.0,0.0,0.0,0.0,0.0,0.008404822278937],[1.049043234626305,-29.989382163040105,1.049169599757122,-150.024625311755159,1.049630805462376,89.985455477481168,0.0,0.0,0.0,0.0,0.0,0.0,0.007940111033142],[1.049012012608294,-29.988752793628588,1.049143514112135,-150.025461370307596,1.049628936818711,89.985265129611463,0.0,0.0,0.0,0.0,0.0,0.0,0.008115891820162],[1.049003988439801,-29.988629384639577,1.04914551027501,-150.025600718310585,1.049628710207892,89.985261368389857,0.0,0.0,0.0,0.0,0.0,0.0,0.008392372825131],[1.049004733717593,-29.988628854422096,1.049144281887277,-150.025620163070556,1.049628246245886,89.985238815737318,0.0,0.0,0.0,0.0,0.0,0.0,0.008348173651663],[1.048893988009885,-29.984652991673467,1.049088969387152,-150.028930869489869,1.049715064641461,89.986621893091311,0.0,0.0,0.0,0.0,0.0,0.0,0.009222352672363],[1.048893955000753,-29.984631725784173,1.049062001857051,-150.029052756095979,1.049715746369263,89.986615699615754,0.0,0.0,0.0,0.0,0.0,0.0,0.008497312142357],[1.048893989478912,-29.984628472371007,1.049057184400407,-150.029072501816017,1.049715780739671,89.986612445345514,0.0,0.0,-0.00005500000043,-0.000000018077627,0.0,0.0,0.008370651262449],[1.049043235156884,-29.989382112960495,1.04916952559951,-150.024625615749557,1.049630805991564,89.985455427385744,0.0,0.0,0.0,0.0,0.0,0.0,0.007937893155479],[1.049012017531419,-29.98875232896799,1.049142826053571,-150.025464190809004,1.049628941728564,89.985264664804774,0.0,0.0,0.0,0.0,0.0,0.0,0.008095431612341],[1.04900306548629,-29.98861691765552,1.049145513052751,-150.025601442247876,1.04962872030164,89.985261861373161,0.0,0.0,0.0,0.0,0.0,0.0,0.008419750863736],[1.048999720511209,-29.988494033078002,1.049136532749551,-150.025750926719581,1.049625414773669,89.985101205230961,0.0,0.0,0.0,0.0,0.0,0.0,0.008356790437344],[1.048893988009885,-29.98465299167346,1.049088969387152,-150.028930869489869,1.049715064641461,89.986621893091311,0.0,0.0,0.0,0.0,0.0,0.0,0.009222352672363],[1.048893986314195,-29.984628770997244,1.049057626588571,-150.0290706894246,1.049715777584867,89.986612744051087,0.0,0.0,-0.000045000000682,-0.000000014790785,0.0,0.0,0.008382243262412],[1.049043235739653,-29.989382057954863,1.049169444147433,-150.024625949646236,1.049630806572806,89.985455372362679,0.0,0.0,0.0,0.0,0.0,0.0,0.007935457190799],[1.049012033441503,-29.988750827322704,1.049140602452199,-150.025473305859151,1.049628957595755,89.985263162687218,0.0,0.0,0.0,0.0,0.0,0.0,0.008029351306106],[1.049002209313364,-29.988605352703839,1.049145515629499,-150.025602113804496,1.049628729665044,89.98526231868648,0.0,0.0,0.0,0.0,0.0,0.0,0.008445162489449],[1.048996132072194,-29.988397527459249,1.049130985936569,-150.025844528243795,1.049623388015418,89.985002703471267,0.0,0.0,0.0,0.0,0.0,0.0,0.0083629876477],[1.049043236298987,-29.989382005161218,1.049169365970877,-150.02462627011559,1.049630807130674,89.985455319552344,0.0,0.0,0.0,0.0,0.0,0.0,0.007933119258238],[1.049012070617386,-29.988747318542554,1.049135406732222,-150.025494604453655,1.049628994671415,89.985259652803705,0.0,0.0,-0.000051999999414,-0.000000017091573,0.0,0.0,0.00787519821528],[1.049001373917262,-29.988594068381214,1.04914551814371,-150.025602769064392,1.049628738801217,89.985262764902174,0.0,0.0,0.0,0.0,0.0,0.0,0.008469970808549],[1.048996246288606,-29.988408348000036,1.049131100264212,-150.025833712616588,1.049607380676624,89.984936919481413,0.0,0.0,0.0,0.0,0.0,0.0,0.008479788878844],[1.048983812041495,-29.987930792402466,1.049113122121941,-150.026304806068481,1.049626496357811,89.984793395802711,0.0,0.0,0.0,0.0,0.0,0.0,0.008320810787088],[1.049043236973538,-29.989381941492528,1.0491692716906,-150.024626656599025,1.049630807803458,89.985455255863485,0.0,0.0,0.0,0.0,0.0,0.0,0.00793029982489],[1.049000747314212,-29.988585604371057,1.049145520029532,-150.025603260553254,1.049628745653955,89.985263099593837,0.0,0.0,0.0,0.0,0.0,0.0,0.00848858730062],[1.04899625194276,-29.988408883658941,1.049131105923879,-150.025833177201207,1.04960658825116,89.984933662879882,0.0,0.0,0.0,0.0,0.0,0.0,0.008486302968736],[1.048996260319613,-29.988409677256538,1.049131114308866,-150.025832383962864,1.049605414243793,89.984928838023322,0.0,0.0,0.0,0.0,0.0,0.0,0.008496078713681],[1.048983868275825,-29.987925485106612,1.049105263251377,-150.026337019987864,1.049626552435985,89.984788086823812,0.0,0.0,0.0,0.0,0.0,0.0,0.008087863243188],[1.048981072518937,-29.987850531756742,1.049110185884809,-150.026394248860584,1.049626963110817,89.984766551468354,0.0,0.0,0.0,0.0,0.0,0.0,0.008326066993259],[1.049043238049532,-29.989381839932939,1.049169121301617,-150.024627273089237,1.049630808876632,89.98545515427169,0.0,0.0,0.0,0.0,0.0,0.0,0.007925802684334],[1.048999751914051,-29.98857215871292,1.049145523025275,-150.02560404131566,1.049628756539972,89.985263631273582,0.0,0.0,0.0,0.0,0.0,0.0,0.008518175833241],[1.04899625371198,-29.988409051269954,1.049131107694824,-150.0258330096664,1.049606340296298,89.984932643867964,0.0,0.0,0.0,0.0,0.0,0.0,0.008488355230524],[1.048996288902981,-29.988412385160864,1.049131142920035,-150.025829677286566,1.049601408311075,89.98491237472922,0.0,0.0,0.0,0.0,-0.000048000001698,-0.000000015776838,0.008530550830704],[1.048983900853866,-29.98792241044973,1.049100710399554,-150.026355682585802,1.049626584923561,89.984785011191931,0.0,0.0,-0.000043000000005,-0.000000014133416,0.0,0.0,0.007953292177155],[1.048976105310331,-29.987684860360755,1.049104779238247,-150.02653459915669,1.049627704639152,89.984728522011125,0.0,0.0,0.0,0.0,0.0,0.0,0.008339570675439],[1.049043240994409,-29.989381561975602,1.049168709703686,-150.024628960355329,1.049630811813792,89.985454876226242,0.0,0.0,0.0,0.0,0.0,0.0,0.007913495851378],[1.048998073630864,-29.988549488753812,1.049145528076189,-150.025605357711328,1.049628774894193,89.985264527706221,0.0,0.0,0.0,0.0,0.0,0.0,0.008568104484668],[1.048996254849537,-29.988409159038976,1.04913110883349,-150.025832901946359,1.049606180868503,89.984931988672571,0.0,0.0,0.0,0.0,0.0,0.0,0.008489678286647],[1.04896300268404,-29.987247839338576,1.049090517436085,-150.026904826756919,1.049629660668349,89.984628206906748,0.0,0.0,0.0,0.0,0.0,0.0,0.008375935519578],[1.048976105310331,-29.987684860360741,1.049104779238247,-150.026534599156633,1.049627704639152,89.984728522011153,0.0,0.0,0.0,0.0,0.0,0.0,0.008339570675439],[1.049043244913499,-29.989381192065402,1.049168161942391,-150.02463120579884,1.049630815722613,89.98545450619882,0.0,0.0,0.0,0.0,0.0,0.0,0.007897120774554],[1.048985498356054,-29.988379621750841,1.049145565921424,-150.025615221388136,1.049628912420327,89.985271244623121,0.0,0.0,0.0,0.0,0.0,0.0,0.008943780625902],[1.04899625553568,-29.988409224042226,1.049131109520302,-150.025832836972683,1.049606084706134,89.984931593477015,0.0,0.0,0.0,0.0,0.0,0.0,0.008490477645029],[1.048958322635562,-29.986863885299449,1.0490725449545,-150.027083136567995,1.049628383707965,89.984328571061241,0.0,0.0,0.0,0.0,0.0,0.0,0.00824168022147],[1.048955129003337,-29.987141477249782,1.049090541135114,-150.02691100291284,1.049629746772779,89.984632412672568,0.0,0.0,0.0,0.0,0.0,0.0,0.008612297355408],[1.048976105310331,-29.987684860360737,1.049104779238246,-150.026534599156633,1.049627704639152,89.984728522011153,0.0,0.0,0.0,0.0,0.0,0.0,0.008339570675439],[1.04904324528678,-29.989381156832657,1.049168109769909,-150.024631419670101,1.049630816094915,89.985454470954906,0.0,0.0,0.0,0.0,0.0,0.0,0.007895561284635],[1.048975181969371,-29.988240264726791,1.049145596967277,-150.025623313263424,1.049629025241498,89.98527675498616,0.0,0.0,0.0,0.0,0.0,0.0,0.009253871231314],[1.048996256229173,-29.988409289741767,1.049131110214471,-150.02583277130293,1.049605987513653,89.984931194048002,0.0,0.0,0.0,0.0,0.0,0.0,0.008491286581441],[1.048953492362704,-29.986467599168673,1.049053995398952,-150.027267178190925,1.049627065774711,89.98401931335124,0.0,0.0,0.0,0.0,0.0,0.0,0.00810318286807],[1.04895428610763,-29.987130090845547,1.04909054367211,-150.026911664084707,1.049629755990418,89.984632862909578,0.0,0.0,0.0,0.0,0.0,0.0,0.008637659977829],[1.048976105310331,-29.987684860360737,1.049104779238246,-150.026534599156633,1.049627704639152,89.984728522011153,0.0,0.0,0.0,0.0,0.0,0.0,0.008339570675439],[1.049043245581991,-29.989381128968585,1.049168068508944,-150.024631588811729,1.049630816389353,89.985454443082034,0.0,0.0,0.0,0.0,0.0,0.0,0.007894327973901],[1.048971913380621,-29.98819611100706,1.049145606803441,-150.025625877050629,1.049629060986922,89.985278500860375,0.0,0.0,0.0,0.0,0.0,0.0,0.009352445439219],[1.048996256848609,-29.988409348425282,1.049131110834511,-150.025832712646064,1.049605900700318,89.984930837273751,0.0,0.0,0.0,0.0,0.0,0.0,0.008492009994492],[1.048950440836681,-29.986400821209099,1.049050941078961,-150.027319844056763,1.049625440936802,89.983987491083823,0.0,0.0,0.0,0.0,0.0,0.0,0.008127015938896],[1.048953627758376,-29.98645482224267,1.049035075575049,-150.02734471582275,1.049627200774361,89.984006532112304,0.0,0.0,0.0,0.0,0.0,0.0,0.007549026602326],[1.048953964278386,-29.987125743353889,1.049090544640769,-150.026911916529315,1.049629759509839,89.984633034816312,0.0,0.0,0.0,0.0,0.0,0.0,0.00864734672049],[1.04897610531033,-29.987684860360726,1.049104779238246,-150.026534599156633,1.049627704639151,89.984728522011167,0.0,0.0,0.0,0.0,0.0,0.0,0.008339570675439],[1.049043245868712,-29.989381101905888,1.049168028434656,-150.024631753088755,1.049630816675322,89.985454416010796,0.0,0.0,0.0,0.0,0.0,0.0,0.007893130152684],[1.048968937748633,-29.98815591444756,1.04914561575791,-150.025628211051298,1.049629093528461,89.985280090255671,0.0,0.0,0.0,0.0,0.0,0.0,0.009442314164153],[1.048996257546498,-29.988409414541252,1.04913111153308,-150.025832646560161,1.04960580289185,89.984930435313061,0.0,0.0,0.0,0.0,0.0,0.0,0.008492826004542],[1.048946294290045,-29.986310079736608,1.049046790734895,-150.027391409259877,1.049623233035415,89.983944249419125,0.0,0.0,0.0,0.0,0.0,0.0,0.008159432580655],[1.048953645920736,-29.986453108310119,1.049032537616755,-150.027355117151757,1.049627218883598,89.984004817601146,0.0,0.0,0.0,0.0,0.0,0.0,0.007475157587161],[1.048953623846747,-29.987121144565272,1.049090545665417,-150.026912183565685,1.049629763232689,89.984633216659574,0.0,0.0,0.0,0.0,0.0,0.0,0.008657595137391],[1.04897610531033,-29.987684860360723,1.049104779238246,-150.026534599156633,1.049627704639151,89.984728522011167,0.0,0.0,0.0,0.0,0.0,0.0,0.008339570675439],[1.049043246175821,-29.989381072918814,1.049167985510775,-150.024631929047189,1.049630816981627,89.985454387014599,0.0,0.0,0.0,0.0,0.0,0.0,0.007891847177939],[1.048967317060371,-29.988134021153996,1.049145620634953,-150.025629482272933,1.049629111252284,89.985280955925347,0.0,0.0,0.0,0.0,0.0,0.0,0.009491312104385],[1.048996258105648,-29.988409467513499,1.049131112092775,-150.025832593611938,1.0496057245275,89.984930113261242,0.0,0.0,0.0,0.0,0.0,0.0,0.008493480538652],[1.048941439522653,-29.986203838847249,1.049041931520214,-150.027475198410286,1.049620648028342,89.983893621912827,0.0,0.0,0.0,0.0,0.0,0.0,0.008197431107819],[1.04895365546282,-29.986452207849709,1.049031204232352,-150.027360581788855,1.049627228397771,89.984003916836826,0.0,0.0,0.0,0.0,0.0,0.0,0.007436396756078],[1.048953341318031,-29.987117327967503,1.049090546515785,-150.02691240518277,1.04962976632233,89.984633367573707,0.0,0.0,0.0,0.0,0.0,0.0,0.008666101803911],[1.048976105310329,-29.987684860360726,1.049104779238245,-150.026534599156633,1.049627704639151,89.984728522011167,0.0,0.0,0.0,0.0,0.0,0.0,0.008339570675439],[1.049043246459767,-29.989381046118115,1.049167945824406,-150.024632091734105,1.049630817264828,89.985454360205381,0.0,0.0,0.0,0.0,0.0,0.0,0.007890660990134],[1.048966022686848,-29.988116535878824,1.049145624530015,-150.025630497542721,1.049629125407514,89.985281647298251,0.0,0.0,0.0,0.0,0.0,0.0,0.009530469803098],[1.048996258776348,-29.98840953105374,1.049131112764129,-150.025832530100558,1.049605630529404,89.98492972695982,0.0,0.0,0.0,0.0,0.0,0.0,0.008494266527014],[1.048937541341977,-29.98611853097141,1.049038029767557,-150.027542478292162,1.049618572371957,89.983852969879635,0.0,0.0,0.0,0.0,0.0,0.0,0.008227977239241],[1.048953682281925,-29.986449677004582,1.049027456604971,-150.027375940804774,1.049627255138416,89.984001385136665,0.0,0.0,0.0,0.0,0.0,0.0,0.007327638391598],[1.048953656354946,-29.986452123662072,1.049031079568947,-150.027361092701454,1.049627229287289,89.9840038326208,0.0,0.0,0.0,0.0,0.0,0.0,0.007432774576741],[1.048953006734575,-29.987112808174743,1.049090547522829,-150.026912667631791,1.049629769981223,89.984633546293154,0.0,0.0,0.0,0.0,0.0,0.0,0.008676177390025],[1.048976105310329,-29.987684860360741,1.049104779238245,-150.02653459915669,1.049627704639151,89.984728522011125,0.0,0.0,0.0,0.0,0.0,0.0,0.008339570675439],[1.049043246727356,-29.989381020861277,1.049167908424197,-150.024632245049304,1.049630817531716,89.985454334940513,0.0,0.0,0.0,0.0,0.0,0.0,0.00788954315043],[1.04896491895429,-29.988101625876148,1.049145627851381,-150.025631363279189,1.049629137477886,89.985282236842764,0.0,0.0,0.0,0.0,0.0,0.0,0.009563877615309],[1.048996259499107,-29.988409599525962,1.049131113487593,-150.02583246165949,1.049605529235212,89.984929310673721,0.0,0.0,0.0,0.0,0.0,0.0,0.00849511459061],[1.048935634262486,-29.986044727004138,1.049036143297517,-150.02761027465715,1.049619834957572,89.983848479759132,0.0,0.0,0.0,0.0,0.0,0.0,0.008230028781343],[1.048937618695653,-29.986125860263602,1.049038107196884,-150.027535152097585,1.04960773065198,89.983808400340962,0.0,0.0,0.0,0.0,0.0,0.0,0.008294562269431],[1.048953704082538,-29.986447619741021,1.049024410248154,-150.027388425863165,1.04962727687525,89.983999327178154,0.0,0.0,-0.000051999999414,-0.000000017091573,0.0,0.0,0.007239437062043],[1.048953657000083,-29.986452062782316,1.049030989419387,-150.027361462164748,1.049627229930539,89.984003771720509,0.0,0.0,0.0,0.0,0.0,0.0,0.007430155405373],[1.04895268043438,-29.987108400275371,1.04909054850494,-150.026912923583438,1.049629773549533,89.98463372058805,0.0,0.0,0.0,0.0,0.0,0.0,0.008686005202898],[1.048976105310329,-29.987684860360748,1.049104779238245,-150.02653459915669,1.04962770463915,89.984728522011125,0.0,0.0,0.0,0.0,0.0,0.0,0.008339570675439],[1.049043247099521,-29.989380985733849,1.049167856407665,-150.024632458281445,1.049630817902905,89.985454299801958,0.0,0.0,0.0,0.0,0.0,0.0,0.007887988476607],[1.048963623716466,-29.988084128843429,1.049145631749011,-150.025632379227005,1.049629151642535,89.985282928677364,0.0,0.0,0.0,0.0,0.0,0.0,0.009603102138584],[1.048996260817744,-29.988409724449955,1.049131114807516,-150.025832336792263,1.049605344429242,89.984928551181255,0.0,0.0,0.0,0.0,0.0,0.0,0.008496664689534],[1.048933004956953,-29.985942972343508,1.049033542405982,-150.027703746540084,1.049621575696154,89.983842289205626,0.0,0.0,0.0,0.0,0.0,0.0,0.008233029915755],[1.048937683353193,-29.98613198658974,1.049038171917659,-150.027529028360647,1.049598668396587,89.983771145345955,0.0,0.0,0.0,0.0,0.0,0.0,0.008360459973846],[1.04895365754452,-29.986452011405245,1.049030913341197,-150.027361773958916,1.049627230473384,89.984003720326072,0.0,0.0,0.0,0.0,0.0,0.0,0.007427945179152],[1.048952231841488,-29.987102340353065,1.049090549855131,-150.026913275462135,1.049629778455193,89.984633960206239,0.0,0.0,0.0,0.0,0.0,0.0,0.008699519018446],[1.048976105310329,-29.987684860360748,1.049104779238245,-150.02653459915669,1.04962770463915,89.984728522011125,0.0,0.0,0.0,0.0,0.0,0.0,0.008339570675439],[1.049043247555593,-29.98938094268663,1.049167792663533,-150.024632719588709,1.049630818357783,89.985454256741093,0.0,0.0,0.0,0.0,0.0,0.0,0.007886083330842],[1.048962440206147,-29.988068141069974,1.049145635310414,-150.025633307538982,1.049629164585323,89.985283560834162,0.0,0.0,0.0,0.0,0.0,0.0,0.009638962024729],[1.048996270683206,-29.988410659076305,1.049131124682596,-150.025831402590484,1.049603961792144,89.984922868983745,0.0,0.0,0.0,0.0,0.0,0.0,0.00850837852032],[1.048926536797554,-29.985692650545968,1.049027144143704,-150.027933692248752,1.049625857967017,89.983827060339067,0.0,0.0,0.0,0.0,0.0,0.0,0.008241263254582],[1.048937708104321,-29.986134331768866,1.049038196693025,-150.027526684173921,1.049595199334082,89.983756883906253,0.0,0.0,0.0,0.0,0.0,0.0,0.008388105522666],[1.048937684159798,-29.98613206301582,1.049038172725051,-150.027528951966843,1.049598555344677,89.983770680582097,0.0,0.0,0.0,0.0,0.0,0.0,0.0083613399648],[1.048953658464138,-29.986451924623413,1.049030784836333,-150.027362300615437,1.049627231390313,89.984003633514945,0.0,0.0,0.0,0.0,0.0,0.0,0.007424212102984],[1.048951614729356,-29.987094003940399,1.049090551712533,-150.026913759528242,1.049629785203718,89.984634289839832,0.0,0.0,0.0,0.0,0.0,0.0,0.008718114500292],[1.048976105310329,-29.987684860360755,1.049104779238245,-150.02653459915669,1.049627704639151,89.984728522011125,0.0,0.0,0.0,0.0,0.0,0.0,0.008339570675439],[1.04904324971726,-29.989380738653981,1.049167490532886,-150.024633958117874,1.049630820513785,89.985454052643704,0.0,0.0,0.0,0.0,0.0,0.0,0.00787705408462],[1.048960604131106,-29.988043337873958,1.049145640835478,-150.025634747704288,1.049629184664486,89.985284541550044,0.0,0.0,0.0,0.0,0.0,0.0,0.009694629557976],[1.048996300915858,-29.988413523233284,1.049131154944724,-150.02582853973459,1.049599724708776,89.984905455828951,0.0,0.0,0.0,0.0,-0.000054000000091,-0.000000017748942,0.008545549897081],[1.048921294275331,-29.985489758844221,1.049021958271814,-150.028120068628795,1.049629328809338,89.983814717213662,0.0,0.0,0.0,0.0,0.0,0.0,0.008248821821473],[1.048937732357774,-29.986136629792849,1.04903822097023,-150.027524387122384,1.049591800024859,89.983742909133113,0.0,0.0,0.0,0.0,-0.000049999998737,-0.000000016434205,0.008416475568365],[1.048937684931016,-29.986132136088966,1.049038173497022,-150.027528878924556,1.049598447252548,89.983770236208159,0.0,0.0,0.0,0.0,0.0,0.0,0.008362182672487],[1.048953659751953,-29.986451803095704,1.049030604880482,-150.027363038135661,1.049627232674362,89.98400351194627,0.0,0.0,0.0,0.0,0.0,0.0,0.007418984903743],[1.048950961650002,-29.987085181644634,1.049090553678186,-150.026914271807186,1.049629792345564,89.984634638685492,0.0,0.0,0.0,0.0,0.0,0.0,0.008737800105983],[1.048976105310329,-29.987684860360748,1.049104779238245,-150.02653459915669,1.049627704639151,89.984728522011125,0.0,0.0,0.0,0.0,0.0,0.0,0.008339570675439],[1.049043268200123,-29.989378994116684,1.04916490722994,-150.0246445479236,1.049630838948214,89.985452307553203,0.0,0.0,-0.000029000000723,-0.000000009531839,0.0,0.0,0.00779989581861],[1.048956897278744,-29.987993262424112,1.049145651989919,-150.025637655254826,1.049629225202205,89.985286521517764,0.0,0.0,0.0,0.0,0.0,0.0,0.009807144493526],[1.048917197930669,-29.985331223784794,1.049017906190638,-150.028265698969363,1.049632040824037,89.983805072712869,0.0,0.0,0.0,0.0,0.0,0.0,0.008255278030269],[1.048937685762429,-29.986132214865638,1.049038174329248,-150.02752880018113,1.049598330723586,89.983769757149716,0.0,0.0,0.0,0.0,0.0,0.0,0.008363092604121],[1.048953660707542,-29.986451712919312,1.049030471349029,-150.027363585393175,1.049627233627157,89.984003421739459,0.0,0.0,0.0,0.0,0.0,0.0,0.0074151066015],[1.048950527827275,-29.987079321228961,1.049090554983913,-150.026914612100114,1.049629797089694,89.98463487041414,0.0,0.0,0.0,0.0,0.0,0.0,0.008750880286629],[1.048976105310329,-29.987684860360748,1.049104779238245,-150.02653459915669,1.049627704639151,89.984728522011125,0.0,0.0,0.0,0.0,0.0,0.0,0.008339570675439],[1.048956213769603,-29.987984028940296,1.049145654046674,-150.025638191380153,1.049629232676962,89.985286886605465,0.0,0.0,0.0,0.0,0.0,0.0,0.009827909499292],[1.0489543708909,-29.987959133507118,1.049145659592117,-150.025639636882659,1.04962925283045,89.985287870955432,0.0,0.0,0.0,0.0,0.0,0.0,0.009883924007965],[1.048913495633672,-29.985187937667988,1.049014243898199,-150.028397321617234,1.049634491961074,89.98379635599116,0.0,0.0,0.0,0.0,0.0,0.0,0.008261527409537],[1.048937686504817,-29.986132285207198,1.049038175072361,-150.027528729869346,1.049598226672126,89.983769329387016,0.0,0.0,0.0,0.0,0.0,0.0,0.008363906373493],[1.048953662290515,-29.986451563538363,1.049030250148619,-150.027364491948248,1.049627235205501,89.984003272308101,0.0,0.0,0.0,0.0,0.0,0.0,0.00740868278731],[1.048950086300142,-29.987073356731077,1.049090556312827,-150.026914958436407,1.049629801918075,89.984635106258096,0.0,0.0,0.0,0.0,0.0,0.0,0.008764195675112],[1.048976105310329,-29.987684860360741,1.049104779238245,-150.026534599156633,1.04962770463915,89.984728522011125,0.0,0.0,0.0,0.0,0.0,0.0,0.008339570675439],[1.048955617685161,-29.987975976461403,1.049145655840354,-150.025638658932024,1.049629239195651,89.985287204996368,0.0,0.0,0.0,0.0,0.0,0.0,0.009846023122503],[1.048950328303498,-29.987904521933643,1.049145671756596,-150.025642807775398,1.049629297039515,89.985290030251804,0.0,0.0,0.0,0.0,0.0,0.0,0.010006938376146],[1.048913060963002,-29.985182065456502,1.049014245206872,-150.028397662596802,1.049634496714359,89.983796588182969,0.0,0.0,0.0,0.0,0.0,0.0,0.008274759982131],[1.048913839592797,-29.985152316163926,1.049012030587806,-150.028417391222519,1.049634885074445,89.983762309042348,0.0,0.0,0.0,0.0,0.0,0.0,0.008214823441896],[1.048937687324662,-29.986132362887705,1.049038175893006,-150.027528652221633,1.049598111764628,89.983768856994331,0.0,0.0,0.0,0.0,0.0,0.0,0.008364806437842],[1.048953673277963,-29.9864505266824,1.049028714792372,-150.027370784374938,1.049627246160818,89.984002235102295,0.0,0.0,0.0,0.0,0.0,0.0,0.007364121112719],[1.048949875187058,-29.987070504846674,1.049090556948237,-150.026915124034673,1.04962980422673,89.984635219025222,0.0,0.0,0.0,0.0,0.0,0.0,0.008770563368556],[1.048976105310329,-29.987684860360737,1.049104779238245,-150.026534599156633,1.049627704639151,89.984728522011153,0.0,0.0,0.0,0.0,0.0,0.0,0.008339570675439],[1.048955124696201,-29.987969316687813,1.049145657323807,-150.025639045618703,1.049629244586901,89.985287468320138,0.0,0.0,0.0,0.0,0.0,0.0,0.00986100711922],[1.048946874308797,-29.987857861355174,1.049145682149812,-150.025645516992881,1.049629334811692,89.985291875159078,0.0,0.0,0.0,0.0,0.0,0.0,0.010112189621723],[1.048912625150404,-29.985176177813045,1.04901424651898,-150.028398004472137,1.049634501480129,89.983796820984779,0.0,0.0,0.0,0.0,0.0,0.0,0.008288029937917],[1.048914750458829,-29.985063444108345,1.049007806997444,-150.028439367057842,1.049635839520284,89.983674872335356,0.0,0.0,0.0,0.0,0.0,0.0,0.008142622671977],[1.048913839592797,-29.985152316163926,1.049012030587806,-150.028417391222519,1.049634885074445,89.983762309042348,0.0,0.0,0.0,0.0,0.0,0.0,0.008214823441896],[1.048937687853243,-29.986132412970896,1.049038176422104,-150.027528602159578,1.049598037679988,89.983768552427179,0.0,0.0,0.0,0.0,0.0,0.0,0.008365387513163],[1.048953697547879,-29.986448236395436,1.049025323379743,-150.027384683635063,1.049627270359762,89.983999944042608,0.0,0.0,-0.000052999999753,-0.000000017420257,0.0,0.0,0.007265855159057],[1.048949539386116,-29.987065968576506,1.049090557958933,-150.026915387438748,1.049629807898926,89.984635398395042,0.0,0.0,0.0,0.0,0.0,0.0,0.008780693330743],[1.048976105310329,-29.987684860360737,1.049104779238245,-150.026534599156633,1.049627704639151,89.984728522011153,0.0,0.0,0.0,0.0,0.0,0.0,0.008339570675439],[1.048954741324043,-29.987964137720002,1.049145658477409,-150.02563934632505,1.049629248779397,89.985287673093524,0.0,0.0,0.0,0.0,0.0,0.0,0.00987266139987],[1.048944919483454,-29.987831453160847,1.049145688031907,-150.025647050303775,1.049629356189206,89.985292919304172,-0.000061999999161,-0.000020378414774,0.0,0.0,0.0,0.0,0.010171816231969],[1.048912188491939,-29.985170278737264,1.049014247833634,-150.028398347011034,1.049634506255146,89.983797054238437,0.0,0.0,0.0,0.0,0.0,0.0,0.008301328267509],[1.048915514191257,-29.984988928002611,1.049004265659331,-150.028457793191819,1.04963663979285,89.983601559724718,0.0,0.0,0.0,0.0,0.0,0.0,0.008082136833102],[1.048914750458829,-29.985063444108345,1.049007806997444,-150.028439367057842,1.049635839520284,89.983674872335356,0.0,0.0,0.0,0.0,0.0,0.0,0.008142622671977],[1.048937688665108,-29.98613248989523,1.049038177234761,-150.027528525267712,1.049597923891042,89.983768084632771,0.0,0.0,0.0,0.0,0.0,0.0,0.008366281186988],[1.048949224143616,-29.987061710023653,1.049090558907751,-150.026915634716715,1.049629811346301,89.984635566783453,0.0,0.0,0.0,0.0,0.0,0.0,0.008790204646319],[1.048976105310329,-29.987684860360737,1.049104779238245,-150.026534599156633,1.049627704639151,89.984728522011153,0.0,0.0,0.0,0.0,0.0,0.0,0.008339570675439],[1.048954351410837,-29.987958870385295,1.049145659650693,-150.025639652162027,1.049629253043423,89.985287881360705,0.0,0.0,0.0,0.0,0.0,0.0,0.00988451630975],[1.048911754476843,-29.98516441536729,1.049014249140327,-150.02839868747634,1.049634511001256,89.983797286080076,0.0,0.0,0.0,0.0,0.0,0.0,0.00831454867857],[1.048916335186327,-29.984908825190008,1.049000458810326,-150.028477600959746,1.049637500067584,89.983522750642621,0.0,0.0,0.0,0.0,0.0,0.0,0.008017170364944],[1.048915514191257,-29.984988928002611,1.049004265659331,-150.028457793191819,1.04963663979285,89.983601559724718,0.0,0.0,0.0,0.0,0.0,0.0,0.008082136833102],[1.048937695342898,-29.986133122617392,1.049038183919073,-150.027527892812685,1.049596987948182,89.983764236901507,0.0,0.0,0.0,0.0,0.0,0.0,0.008373686137478],[1.048948773714509,-29.987055625255284,1.049090560263452,-150.026915988035739,1.049629816272025,89.984635807382489,0.0,0.0,0.0,0.0,0.0,0.0,0.00880379729764],[1.048976105310329,-29.987684860360737,1.049104779238245,-150.026534599156633,1.049627704639151,89.984728522011153,0.0,0.0,0.0,0.0,0.0,0.0,0.008339570675439],[1.048954013035504,-29.987954299272104,1.049145660668893,-150.025639917574125,1.049629256743838,89.985288062099585,0.0,0.0,0.0,0.0,0.0,0.0,0.009894805717824],[1.048911318812287,-29.985158529708805,1.049014250451984,-150.028399029235601,1.049634515765401,89.983797518802817,0.0,0.0,0.0,0.0,0.0,0.0,0.008327821912462],[1.048917009253976,-29.984843058029025,1.048997333252153,-150.028493863948285,1.049638206385185,89.983458045683193,0.0,0.0,0.0,0.0,0.0,0.0,0.007963873578239],[1.048916335186327,-29.984908825190008,1.049000458810326,-150.028477600959746,1.049637500067584,89.983522750642621,0.0,0.0,0.0,0.0,0.0,0.0,0.008017170364944],[1.048937718357584,-29.986135303263939,1.049038206956234,-150.027525713086959,1.049593762266156,89.98375097582813,0.0,0.0,0.0,0.0,-0.000045000000682,-0.000000014790785,0.008399945262331],[1.048944019129901,-29.986991396073119,1.049090574573666,-150.026919717558314,1.049629868266251,89.984638347068653,0.0,0.0,0.0,0.0,0.0,0.0,0.00894745744767],[1.048953770009185,-29.987951016227111,1.049145661400179,-150.025640108197138,1.049629259401532,89.985288191909007,0.0,0.0,0.0,0.0,0.0,0.0,0.009902196558767],[1.048910883443803,-29.985152648045108,1.049014251762748,-150.028399370762543,1.049634520526307,89.983797751367419,0.0,0.0,0.0,0.0,0.0,0.0,0.008341088695144],[1.048917732941414,-29.984772449828668,1.04899397762113,-150.028511324166487,1.049638964696452,89.98338857787607,0.0,0.0,0.0,0.0,0.0,0.0,0.00790669771572],[1.048917009253976,-29.984843058029025,1.048997333252153,-150.028493863948285,1.049638206385185,89.983458045683193,0.0,0.0,0.0,0.0,0.0,0.0,0.007963873578239],[1.048942117416162,-29.986965705855688,1.049090580297321,-150.026921209273354,1.049629889062562,89.984639362879022,0.0,0.0,0.0,0.0,0.0,0.0,0.009005008005471],[1.048953487855185,-29.987947204603927,1.049145662249202,-150.02564032951085,1.049629262487118,89.985288342617977,0.0,0.0,0.0,0.0,0.0,0.0,0.009910778208079],[1.048910447800437,-29.985146762662872,1.049014253074337,-150.028399712505205,1.049634525290217,89.983797984078834,0.0,0.0,0.0,0.0,0.0,0.0,0.00835436641259],[1.048917732941163,-29.984772449835606,1.048984088744337,-150.028547628634783,1.049638964696201,89.983388577869121,0.0,0.0,0.0,0.0,0.0,0.0,0.007619679643505],[1.048917732941415,-29.984772449828686,1.048993977621132,-150.028511324166516,1.049638964696454,89.983388577876056,0.0,0.0,0.0,0.0,0.0,0.0,0.00790669771572],[1.048917732941414,-29.984772449828668,1.04899397762113,-150.028511324166487,1.049638964696452,89.98338857787607,0.0,0.0,0.0,0.0,0.0,0.0,0.00790669771572],[1.048941151729343,-29.986952660372907,1.049090583203768,-150.026921966763609,1.049629899622876,89.984639878705721,0.0,0.0,0.0,0.0,0.0,0.0,0.009034251288119],[1.048953062786395,-29.987941462338462,1.049145663528266,-150.02564066292291,1.049629267135594,89.985288569663055,0.0,0.0,0.0,0.0,0.0,0.0,0.009923708336875],[1.048910235149125,-29.985143889819735,1.049014253714565,-150.028399879320574,1.049634527615631,89.983798097672647,0.0,0.0,0.0,0.0,0.0,0.0,0.008360848612496],[1.048917732941126,-29.984772449836612,1.048982641972772,-150.028552940142077,1.049638964696164,89.983388577868126,0.0,0.0,0.0,0.0,0.0,0.0,0.007577873371226],[1.048917732941417,-29.9847724498287,1.048993977621133,-150.028511324166516,1.049638964696455,89.983388577876028,0.0,0.0,0.0,0.0,0.0,0.0,0.00790669771572],[1.048917732941415,-29.984772449828686,1.048993977621132,-150.028511324166516,1.049638964696454,89.983388577876056,0.0,0.0,0.0,0.0,0.0,0.0,0.00790669771572],[1.04894093804156,-29.986949773656995,1.049090583846908,-150.026922134381493,1.049629901959668,89.984639992848173,0.0,0.0,0.0,0.0,0.0,0.0,0.009040723990597],[1.048952368309746,-29.987932080624862,1.049145665617993,-150.025641207650921,1.04962927473026,89.985288940608953,0.0,0.0,0.0,0.0,0.0,0.0,0.009944838088323],[1.048905455781566,-29.985079321959489,1.049014268103635,-150.028403628519953,1.049634579879511,89.983800650709355,0.0,0.0,0.0,0.0,0.0,0.0,0.008506694067042],[1.048917732941022,-29.984772449839493,1.048978566090889,-150.028567903935368,1.04963896469606,89.983388577865227,0.0,0.0,0.0,0.0,0.0,0.0,0.007460365230482],[1.048917732941419,-29.984772449828732,1.048993977621136,-150.028511324166573,1.049638964696458,89.983388577876013,0.0,0.0,0.0,0.0,0.0,0.0,0.00790669771572],[1.048917732941417,-29.9847724498287,1.048993977621133,-150.028511324166516,1.049638964696455,89.983388577876028,0.0,0.0,0.0,0.0,0.0,0.0,0.00790669771572],[1.048940769751955,-29.986947500225867,1.049090584353411,-150.026922266388851,1.049629903800006,89.984640082740938,0.0,0.0,0.0,0.0,0.0,0.0,0.009045822000571],[1.048949804861641,-29.98789745084051,1.049145673331466,-150.02564321834754,1.049629302763512,89.985290309842611,-0.000046000001021,-0.000015119469026,0.0,0.0,0.0,0.0,0.010022880194763],[1.048944355194781,-29.987823830066926,1.049145689729817,-150.025647492915937,1.049629362360078,89.985293220712052,-0.000054000000091,-0.0000177489419,0.0,0.0,0.0,0.0,0.01018903603581],[1.048902347850517,-29.985037334394932,1.049014277460442,-150.028406066552776,1.049634613865583,89.983802310900288,0.0,0.0,0.0,0.0,0.0,0.0,0.008601691365052],[1.048917732940899,-29.984772449842868,1.04897377998313,-150.028585475331113,1.049638964695937,89.983388577861874,0.0,0.0,0.0,0.0,0.0,0.0,0.007322909740317],[1.04891773294142,-29.984772449828746,1.048993977621137,-150.028511324166573,1.049638964696459,89.983388577875999,0.0,0.0,0.0,0.0,0.0,0.0,0.00790669771572],[1.048917732941419,-29.984772449828732,1.048993977621136,-150.028511324166573,1.049638964696458,89.983388577876013,0.0,0.0,0.0,0.0,0.0,0.0,0.00790669771572],[1.048940589440665,-29.986945064392415,1.049090584896096,-150.026922407826049,1.049629905771807,89.984640179055205,0.0,0.0,0.0,0.0,0.0,0.0,0.009051284613281],[1.048899629653602,-29.985000611856286,1.049014285643821,-150.028408198856937,1.049634643589723,89.983803762903634,0.0,0.0,0.0,0.0,0.0,0.0,0.008684873538534],[1.048917732940883,-29.984772449843316,1.048973159121604,-150.028587754732342,1.049638964695921,89.983388577861419,0.0,0.0,0.0,0.0,0.0,0.0,0.007305122189956],[1.048917732941421,-29.98477244982875,1.048993977621137,-150.028511324166573,1.049638964696459,89.983388577875985,0.0,0.0,0.0,0.0,0.0,0.0,0.00790669771572],[1.04891773294142,-29.984772449828746,1.048993977621137,-150.028511324166573,1.049638964696459,89.983388577875999,0.0,0.0,0.0,0.0,0.0,0.0,0.00790669771572],[1.048940445178462,-29.986943115547142,1.049090585330283,-150.026922520986147,1.049629907349392,89.984640256113607,0.0,0.0,0.0,0.0,0.0,0.0,0.00905565542143],[1.048896778444287,-29.984962092125294,1.04901429422756,-150.028410435503616,1.049634674768303,89.983805285959448,0.0,0.0,0.0,0.0,0.0,0.0,0.00877222098706],[1.048917732940873,-29.984772449843582,1.048972788635723,-150.028589114913501,1.049638964695912,89.983388577861149,0.0,0.0,0.0,0.0,0.0,0.0,0.007294512705329],[1.04891773294086,-29.984772449843959,1.048972247141938,-150.028591102945086,1.049638964695898,89.983388577860765,0.0,0.0,0.0,0.0,0.0,0.0,0.007279012684965],[1.048917732941421,-29.984772449828746,1.048993977621138,-150.028511324166573,1.04963896469646,89.983388577875985,0.0,0.0,0.0,0.0,0.0,0.0,0.00790669771572],[1.048917732941421,-29.98477244982875,1.048993977621137,-150.028511324166573,1.049638964696459,89.983388577875985,0.0,0.0,0.0,0.0,0.0,0.0,0.00790669771572],[1.048940305105781,-29.986941223297784,1.049090585751861,-150.026922630859985,1.049629908881162,89.984640330934184,0.0,0.0,0.0,0.0,0.0,0.0,0.009059899567734],[1.048891910052257,-29.984896319835396,1.04901430888395,-150.028414254540991,1.049634728005008,89.983807886551944,0.0,0.0,0.0,0.0,0.0,0.0,0.00892158170109],[1.048917732940865,-29.984772449843845,1.048972445815235,-150.028590373526356,1.049638964695903,89.983388577860893,0.0,0.0,0.0,0.0,0.0,0.0,0.007284698715545],[1.048917732940805,-29.984772449845483,1.048970112863937,-150.028598938687367,1.049638964695844,89.983388577859245,0.0,0.0,0.0,0.0,0.0,0.0,0.007217996803902],[1.048917732941421,-29.984772449828746,1.048993977621138,-150.028511324166573,1.04963896469646,89.983388577875985,0.0,0.0,0.0,0.0,0.0,0.0,0.00790669771572],[1.048917732941421,-29.984772449828746,1.048993977621138,-150.028511324166573,1.04963896469646,89.983388577875985,0.0,0.0,0.0,0.0,0.0,0.0,0.00790669771572],[1.04894016538838,-29.986939335847435,1.04909058617237,-150.026922740455092,1.049629910409047,89.98464040556496,0.0,0.0,0.0,0.0,0.0,0.0,0.009064133214689],[1.048890715940855,-29.984880187217897,1.049014312478807,-150.028415191268465,1.049634741062783,89.983808524421164,0.0,0.0,0.0,0.0,0.0,0.0,0.008958257074816],[1.048917732940851,-29.984772449844215,1.04897192452662,-150.028592287359118,1.04963896469589,89.983388577860509,0.0,0.0,0.0,0.0,0.0,0.0,0.007269781699065],[1.048917732940677,-29.984772449849093,1.048965049718376,-150.028617527538756,1.049638964695715,89.983388577855621,0.0,0.0,-0.000051999999414,-0.000000017091573,0.0,0.0,0.007073754776384],[1.048940027305681,-29.986937470479841,1.049090586587958,-150.026922848767953,1.049629911919055,89.984640479322579,0.0,0.0,0.0,0.0,0.0,0.0,0.009068317587897],[1.04889003882837,-29.984871039314616,1.049014314517242,-150.028415722433209,1.049634748467099,89.983808886120457,0.0,0.0,0.0,0.0,0.0,0.0,0.008979060498871],[1.048888375814701,-29.984853259658699,1.049014291379488,-150.028409693177224,1.049634664421058,89.983804780450456,0.0,0.0,0.0,0.0,0.0,0.0,0.009032994125265],[1.048917732940834,-29.984772449844691,1.048971265760332,-150.028594705923211,1.049638964695873,89.98338857786004,0.0,0.0,0.0,0.0,0.0,0.0,0.007250941112751],[1.048937558100264,-29.986904113748722,1.049090594019502,-150.026924785627131,1.049629938921098,89.984641798261663,0.0,0.0,0.0,0.0,0.0,0.0,0.009143186137914],[1.048888927065238,-29.984856019181972,1.049014317864173,-150.028416594562145,1.049634760624368,89.983809480001014,0.0,0.0,0.0,0.0,0.0,0.0,0.009013228751897],[1.048886391073031,-29.984830421371775,1.049014273484382,-150.028405030056064,1.049634599418514,89.98380160505917,0.0,0.0,0.0,0.0,0.0,0.0,0.0090964409554],[1.048917732940769,-29.98477244984652,1.048968701195949,-150.028604121375338,1.049638964695808,89.983388577858193,0.0,0.0,0.0,0.0,0.0,0.0,0.007177707793101],[1.048932032723005,-29.986829470206438,1.0490906106491,-150.026929119766947,1.049629999343946,89.984644749670565,0.0,0.0,0.0,0.0,0.0,0.0,0.009311009654478],[1.048934144991657,-29.986858005537133,1.049090604291705,-150.026927462889432,1.04962997624499,89.984643621392138,-0.000052999999753,-0.000017420257791,0.0,0.0,0.0,0.0,0.009246806938747],[1.048888707245275,-29.984853049368358,1.049014318525932,-150.028416767001175,1.049634763028124,89.983809597424255,0.0,0.0,0.0,0.0,0.0,0.0,0.009019986134749],[1.048883055130101,-29.984792034706409,1.049014243406289,-150.028397192306556,1.049634490162484,89.983796267877523,-0.000051999999414,-0.000017091573682,0.0,0.0,0.0,0.0,0.009203202331414],[1.048917732940651,-29.984772449849856,1.048964042496352,-150.028621225280375,1.04963896469569,89.983388577854868,0.0,0.0,-0.000047000001359,-0.000000015448153,0.0,0.0,0.00704514816759],[1.048928363241424,-29.986779897923622,1.049090621692872,-150.026931998131374,1.049630039471442,89.984646709743387,-0.000048000001698,-0.000015776837245,0.0,0.0,0.0,0.0,0.009422676111421],[1.048888521502143,-29.98485053993884,1.049014319085105,-150.028416912708451,1.049634765059247,89.983809696644329,0.0,0.0,0.0,0.0,0.0,0.0,0.009025696379538],[1.048888364977025,-29.984848425250249,1.049014319556318,-150.028417035495494,1.049634766770867,89.983809780256763,0.0,0.0,0.0,0.0,0.0,0.0,0.009030508669036],[1.048888161363949,-29.984845674392069,1.049014320169286,-150.028417195220925,1.049634768997398,89.983809889022624,0.0,0.0,0.0,0.0,0.0,0.0,0.009036769044882],[1.048887792856,-29.984840695764493,1.049014321278662,-150.028417484299098,1.049634773027072,89.983810085871866,0.0,0.0,0.0,0.0,0.0,0.0,0.009048100467674],[1.048887153929223,-29.984832063707525,1.049014323202119,-150.028417985508838,1.049634780013803,89.983810427173239,0.0,0.0,0.0,0.0,0.0,0.0,0.009067750523603],[1.048881920447595,-29.984761357685677,1.04901433895709,-150.028422090943991,1.049634837242307,89.983813222790104,-0.00005500000043,-0.000018077626009,0.0,0.0,0.0,0.0,0.009228864024463]]}", + "orient": "split", "dtype": { "vm_a_pu": "float64", "va_a_degree": "float64", @@ -1612,13 +1798,13 @@ "p_c_mw": "float64", "q_c_mvar": "float64", "unbalance_percent": "float64" - }, - "orient": "split" + } }, "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\",\"loading_percentA\",\"loading_percentB\",\"loading_percentC\",\"p_c_from_mw\",\"loading_percent\"],\"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,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904],\"data\":[[0.001057066329231,0.000347262314608,0.000926528307285,0.000000604791493,0.000000236589694,-0.001057054631986,-0.000347263234974,-0.000926520080008,-0.000000601558925,-0.000815241797058,-0.000000235501235,0.000000011697245,-0.000000000920366,0.000000008227277,0.000000003232568,0.000000002745183,0.000000001088459,0.004412225750798,0.004412225750798,0.003674050573817,0.003674050573817,0.003232748107275,0.003232748107275,0.004412225750798,0.003674050573817,0.003232748107275,1.048034610645723,0.8726960903862,0.767873652727621,0.00081524454224,1.048034610645723],[0.00105705470391,0.000347263245839,0.000926520151934,0.000000601569791,0.000000235512102,-0.001057053477617,-0.000347263342327,-0.000926519289419,-0.000000601230902,-0.000815241581191,-0.000000235397992,0.000000001226293,-0.000000000096488,0.000000000862515,0.00000000033889,0.000000000287794,0.00000000011411,0.004412226035217,0.004412226035217,0.003674050859063,0.003674050859063,0.003232748392507,0.003232748392507,0.004412226035217,0.003674050859063,0.003232748392507,1.048034678203775,0.872696158140772,0.767873720478502,0.000815241868985,1.048034678203775],[0.001057053490281,0.00034726334449,0.000926519302083,0.000000601233064,0.000000235400155,-0.001057052341437,-0.000347263434883,-0.000926518494042,-0.000000600915578,-0.000815241324237,-0.000000235293252,0.000000001148844,-0.000000000090394,0.000000000808042,0.000000000317487,0.000000000269618,0.000000000106903,0.004412226085605,0.004412226085605,0.003674050909288,0.003674050909288,0.003232748442729,0.003232748442729,0.004412226085605,0.003674050909288,0.003232748442729,1.048034690172349,0.872696170070708,0.767873732407708,0.000815241593855,1.048034690172349],[0.001057052353659,0.000347263436655,0.000926518506265,0.00000060091735,0.000000235295024,-0.001057051352032,-0.000347263515465,-0.000926517801768,-0.000000600640547,-0.000815241101392,-0.00000023520182,0.000000001001627,-0.00000000007881,0.000000000704496,0.000000000276803,0.000000000235068,0.000000000093204,0.004412226133846,0.004412226133846,0.003674050957762,0.003674050957762,0.0032327484912,0.0032327484912,0.004412226133846,0.003674050957762,0.0032327484912,1.048034701630966,0.872696181584706,0.767873743921101,0.00081524133646,1.048034701630966],[0.001057051366305,0.000347263517991,0.000926517816042,0.000000600643073,0.000000235204346,-0.001057049788349,-0.000347263642148,-0.000926516706184,-0.000000600207,-0.000815240745341,-0.000000235057513,0.000000001577957,-0.000000000124157,0.000000001109858,0.000000000436073,0.000000000370325,0.000000000146833,0.004412226190746,0.004412226190746,0.003674051014371,0.003674051014371,0.003232748547805,0.003232748547805,0.004412226190746,0.003674051014371,0.003232748547805,1.048034715146455,0.872696195030854,0.767873757366389,0.000815241115666,1.048034715146455],[0.001057050390392,0.000347263737231,0.000926517308247,0.00000060030209,0.000000235152606,-0.001056942938611,-0.000347272191774,-0.000926441731841,-0.000000570607476,-0.000815216129922,-0.000000225153937,0.000000107451781,-0.000000008454542,0.000000075576406,0.000000029694614,0.00000002521749,0.000000009998669,0.004412228576618,0.004412228576618,0.003674053402063,0.003674053402063,0.003232750935361,0.003232750935361,0.004412228576618,0.003674053402063,0.003232750935361,1.048035281862004,0.872696762178689,0.767874324481904,0.000815241347412,1.048035281862004],[0.001056943558511,0.00034727228983,0.000926442351774,0.000000570705499,0.000000225251979,-0.001056938745904,-0.000347272668496,-0.000926438966818,-0.000000569375521,-0.000815215620437,-0.000000224804154,0.000000004812606,-0.000000000378666,0.000000003384956,0.000000001329978,0.000000001129455,0.000000000447826,0.004412231033651,0.004412231033651,0.00367405586081,0.00367405586081,0.003232753393967,0.003232753393967,0.004412231033651,0.00367405586081,0.003232753393967,1.048035865480269,0.872697346204065,0.767874908473956,0.000815216749892,1.048035865480269],[0.001056938794549,0.000347272676099,0.000926439015465,0.000000569383121,0.000000224811755,-0.001056934788926,-0.00034727299127,-0.000926436198102,-0.000000568276155,-0.00081521472902,-0.000000224439022,0.000000004005623,-0.000000000315171,0.000000002817363,0.000000001106966,0.000000000940067,0.000000000372734,0.004412231226347,0.004412231226347,0.003674056053753,0.003674056053753,0.0032327535869,0.0032327535869,0.004412231226347,0.003674056053753,0.0032327535869,1.04803591125113,0.872697392033793,0.7678749543011,0.000815215669087,1.04803591125113],[0.001056934830621,0.000347272997933,0.0009264362398,0.000000568282816,0.000000224445684,-0.001056931315367,-0.000347273274521,-0.000926433767339,-0.000000567311365,-0.000815213945736,-0.00000022411858,0.000000003515254,-0.000000000276588,0.000000002472461,0.000000000971451,0.000000000824984,0.000000000327104,0.004412231391694,0.004412231391694,0.003674056219133,0.003674056219133,0.00323275375227,0.00323275375227,0.004412231391694,0.003674056219133,0.00323275375227,1.048035950526151,0.872697431316359,0.7678749935814,0.00081521477072,1.048035950526151],[0.001056931349273,0.000347273279814,0.000926433801246,0.000000567316657,0.000000224123873,-0.001056928726229,-0.000347273486201,-0.000926431956323,-0.000000566591771,-0.000815213364052,-0.000000223879791,0.000000002623044,-0.000000000206387,0.000000001844923,0.000000000724886,0.000000000615594,0.000000000244081,0.004412231525996,0.004412231525996,0.003674056353614,0.003674056353614,0.003232753886744,0.003232753886744,0.004412231525996,0.003674056353614,0.003232753886744,1.048035982426736,0.87269746325975,0.767875025522992,0.000815213979646,1.048035982426736],[0.001056928754295,0.000347273490613,0.000926431984391,0.000000566596181,0.000000223884203,-0.001056926291902,-0.000347273684359,-0.000926430252462,-0.000000565915691,-0.00081521281423,-0.00000022365507,0.000000002462393,-0.000000000193746,0.000000001731929,0.00000000068049,0.000000000577891,0.000000000229132,0.004412231637207,0.004412231637207,0.003674056464937,0.003674056464937,0.00323275399806,0.00323275399806,0.004412231637207,0.003674056464937,0.00323275399806,1.048036008842619,0.872697489702196,0.767875051963938,0.000815213392121,1.048036008842619],[0.00105692631387,0.000347273688093,0.000926430274431,0.000000565919424,0.000000223658804,-0.001056924799723,-0.00034727380723,-0.000926429209453,-0.000000565500985,-0.00081521248085,-0.000000223517909,0.000000001514147,-0.000000000119136,0.000000001064978,0.000000000418439,0.00000000035535,0.000000000140895,0.004412231724602,0.004412231724602,0.003674056552073,0.003674056552073,0.003232754085191,0.003232754085191,0.004412231724602,0.003674056552073,0.003232754085191,1.048036029601583,0.872697510399565,0.76787507266004,0.000815212836201,1.048036029601583],[0.001056924828968,0.000347273811445,0.000926429238699,0.000000565505199,0.000000223522124,-0.00105692105942,-0.000347274108041,-0.00092642658738,-0.000000564463474,-0.000815211625435,-0.000000223171357,0.000000003769548,-0.000000000296596,0.000000002651319,0.000000001041725,0.000000000884664,0.000000000350766,0.004412231840012,0.004412231840011,0.00367405666807,0.00367405666807,0.003232754201182,0.003232754201182,0.004412231840012,0.00367405666807,0.003232754201182,1.04803605701475,0.872697537952351,0.767875100211399,0.000815212510099,1.04803605701475],[0.001056921248904,0.000347274138097,0.000926426776875,0.000000564493516,0.000000223201407,-0.001056890712406,-0.000347276540771,-0.000926405298967,-0.000000556054666,-0.000815204648424,-0.000000220359906,0.000000030536498,-0.000000002402674,0.000000021477908,0.00000000843885,0.00000000716652,0.000000002841501,0.004412232591165,0.004412232591165,0.003674057419647,0.003674057419647,0.003232754952716,0.003232754952716,0.004412232591165,0.003674057419647,0.003232754952716,1.048036235436119,0.872697716474278,0.767875278723112,0.000815211814943,1.048036235436119],[0.000000000000107,-0.000000000000048,0.000000000000107,-0.000000000000048,-0.000000000000048,-0.000000000000107,0.000000000000048,-0.000000000000107,0.000000000000048,-0.000000000000107,0.000000000000048,8.83524213847533e-29,6.31088724176809e-30,8.83524213847533e-29,1.89326617253043e-29,8.83524213847533e-29,1.26217744835362e-29,0.000000000000465,0.000000000000465,0.000000000000464,0.000000000000464,0.000000000000465,0.000000000000465,0.000000000000465,0.000000000000464,0.000000000000465,0.000000000110333,0.000000000110332,0.000000000110373,0.000000000000107,0.000000000110373],[0.00105689108532,0.0003472765998,0.000926405671904,0.000000556113661,0.000000220418918,-0.001056854054573,-0.000347279513453,-0.00092637962625,-0.000000545880107,-0.00081519633075,-0.00000021697311,0.000000037030746,-0.000000002913653,0.000000026045654,0.000000010233554,0.000000008690642,0.000000003445808,0.004412234069356,0.004412234069356,0.003674058898828,0.003674058898828,0.003232756431812,0.003232756431812,0.004412234069356,0.003674058898828,0.003232756431812,1.048036586550175,0.872698067823487,0.767875630052226,0.000815205021392,1.048036586550175],[0.000000000000092,-0.000000000000026,0.000000000000092,-0.000000000000026,-0.000000000000026,-0.000000000000092,0.000000000000026,-0.000000000000092,0.000000000000026,-0.000000000000092,0.000000000000026,1.26217744835362e-29,6.31088724176809e-30,1.26217744835362e-29,1.57772181044202e-29,1.26217744835362e-29,6.31088724176809e-30,0.000000000000381,0.000000000000381,0.000000000000381,0.000000000000381,0.000000000000381,0.000000000000381,0.000000000000381,0.000000000000381,0.000000000000381,0.000000000090526,0.00000000009053,0.00000000009057,0.000000000000092,0.00000000009057],[0.001056854273149,0.000347279548078,0.00092637984484,0.000000545914708,0.000000217007722,-0.001056851725206,-0.000347279748556,-0.000926378052739,-0.000000545210577,-0.000815195951392,-0.00000021677063,0.000000002547942,-0.000000000200477,0.000000001792101,0.000000000704131,0.00000000059797,0.000000000237093,0.004412234935822,0.004412234935822,0.003674059765845,0.003674059765845,0.00323275729878,0.00323275729878,0.004412234935822,0.003674059765845,0.00323275729878,1.048036792361764,0.872698273765785,0.767875835982754,0.000815196549362,1.048036792361764],[-0.000000000000064,-0.000000000000017,-0.000000000000064,-0.000000000000017,-0.000000000000017,0.000000000000064,0.000000000000017,0.000000000000064,0.000000000000017,0.000000000000064,0.000000000000017,1.26217744835362e-29,-3.15544362088405e-30,0.0,3.15544362088405e-30,2.52435489670724e-29,6.31088724176809e-30,0.000000000000262,0.000000000000262,0.000000000000261,0.000000000000261,0.000000000000261,0.000000000000261,0.000000000000262,0.000000000000261,0.000000000000261,0.000000000062134,0.000000000062113,0.000000000062087,-0.000000000000064,0.000000000062134],[0.001056851755001,0.000347279753261,0.000926378082536,0.000000545215279,0.000000216775333,-0.001056848893959,-0.000347279978373,-0.000926376070216,-0.000000544424622,-0.000815195309742,-0.000000216509106,0.000000002861042,-0.000000000225112,0.00000000201232,0.000000000790657,0.00000000067145,0.000000000266227,0.004412235053916,0.004412235053916,0.003674059884031,0.003674059884031,0.003232757416959,0.003232757416959,0.004412235053916,0.003674059884031,0.003232757416959,1.048036820412385,0.872698301838498,0.767875864053872,0.000815195981192,1.048036820412385],[-0.000000000000017,0.000000000000064,-0.000000000000017,0.000000000000064,0.000000000000064,0.000000000000017,-0.000000000000064,0.000000000000017,-0.000000000000064,0.000000000000017,-0.000000000000064,1.26217744835362e-29,0.0,6.31088724176809e-30,0.0,6.31088724176809e-30,-1.26217744835362e-29,0.000000000000261,0.000000000000261,0.000000000000262,0.000000000000262,0.000000000000261,0.000000000000261,0.000000000000261,0.000000000000262,0.000000000000261,0.0000000000621,0.000000000062124,0.00000000006211,-0.000000000000017,0.000000000062124],[0.001056848935345,0.000347279984972,0.000926376111604,0.000000544431216,0.000000216515702,-0.001056844276989,-0.000347280351501,-0.00092637283514,-0.000000543143866,-0.000815194257877,-0.00000021608223,0.000000004658355,-0.000000000366528,0.000000003276464,0.00000000128735,0.000000001093257,0.000000000433472,0.004412235218027,0.004412235218027,0.003674060048194,0.003674060048194,0.003232757581112,0.003232757581112,0.004412235218027,0.003674060048194,0.003232757581112,1.048036859393698,0.872698340832018,0.767875903045158,0.000815195351134,1.048036859393698],[0.000000000000075,0.000000000000037,0.000000000000075,0.000000000000037,0.000000000000037,-0.000000000000075,-0.000000000000037,-0.000000000000075,-0.000000000000037,-0.000000000000075,-0.000000000000037,1.26217744835362e-29,0.0,2.52435489670724e-29,6.31088724176809e-30,3.78653234506086e-29,0.0,0.000000000000333,0.000000000000333,0.000000000000333,0.000000000000333,0.000000000000333,0.000000000000333,0.000000000000333,0.000000000000333,0.000000000000333,0.000000000079155,0.000000000079178,0.000000000079197,0.000000000000075,0.000000000079197],[0.001056844349526,0.000347280362964,0.000926372907681,0.00000054315532,0.000000216093688,-0.001056835874849,-0.000347281029768,-0.000926366946999,-0.000000540813319,-0.000815192341527,-0.000000215305097,0.000000008474677,-0.000000000666804,0.000000005960682,0.000000002342001,0.000000001988899,0.000000000788591,0.00441223550554,0.00441223550554,0.003674060335924,0.003674060335924,0.003232757868826,0.003232757868826,0.00441223550554,0.003674060335924,0.003232757868826,1.048036927686556,0.872698409176495,0.76787597138574,0.000815194330426,1.048036927686556],[0.000000000000156,-0.000000000000009,0.000000000000156,-0.000000000000009,-0.000000000000009,-0.000000000000156,0.000000000000009,-0.000000000000156,0.000000000000009,-0.000000000000156,0.000000000000009,5.04870979341448e-29,-1.41994962939782e-29,2.52435489670724e-29,-7.88860905221012e-30,2.52435489670724e-29,0.0,0.00000000000062,0.00000000000062,0.00000000000062,0.00000000000062,0.00000000000062,0.00000000000062,0.00000000000062,0.00000000000062,0.00000000000062,0.000000000147295,0.000000000147307,0.000000000147328,0.000000000000156,0.000000000147328],[0.000090002978314,0.000029587171258,-0.000000000010469,-0.000000000001193,-0.000000000001193,-0.000090002005546,-0.000029587097884,0.000000000010469,0.000000000001193,0.00000000001047,0.000000000001193,0.000000000972768,0.000000000073374,4.90157210158802e-19,-1.47872635055631e-18,1.03338444787558e-18,1.16942758579462e-18,0.00037577240998,0.00037577240998,0.00000000004179,0.00000000004179,0.00000000004179,0.00000000004179,0.00037577240998,0.00000000004179,0.00000000004179,0.089257103699551,0.000000009926314,0.000000009926288,-0.00000000001047,0.089257103699551],[0.00096683344605,0.000317693944954,0.000926367507022,0.000000540900887,0.0000002153927,-0.000966748373586,-0.000317702722727,-0.000926291761222,-0.000000516296218,-0.000815164824925,-0.000000202624066,0.000000085072463,-0.000000008777773,0.0000000757458,0.00000002460467,0.000000028076685,0.000000012768634,0.004036465276079,0.004036465276079,0.003674062557231,0.003674062557231,0.003232760090008,0.003232760090008,0.004036465276079,0.003674062557231,0.003232760090008,0.958780341925048,0.872698936802823,0.767876498982267,0.000815192901611,0.958780341925048],[0.000000000000023,0.00000000000004,0.000000000000023,0.00000000000004,0.00000000000004,-0.000000000000023,-0.00000000000004,-0.000000000000023,-0.00000000000004,-0.000000000000023,-0.00000000000004,6.31088724176809e-30,6.31088724176809e-30,1.26217744835362e-29,0.0,1.89326617253043e-29,1.26217744835362e-29,0.000000000000185,0.000000000000185,0.000000000000185,0.000000000000185,0.000000000000185,0.000000000000185,0.000000000000185,0.000000000000185,0.000000000000185,0.000000000043897,0.000000000043928,0.000000000043934,0.000000000000023,0.000000000043934],[0.000036000737208,0.000011834807535,-0.000000000001099,-0.000000000000163,-0.000000000000163,-0.000036000694336,-0.000011834804301,0.000000000001099,0.000000000000163,0.000000000001099,0.000000000000163,0.000000000042872,0.000000000003234,1.32121110320025e-20,-1.23476307534441e-20,1.279632150774e-20,8.4454997158306e-21,0.000150308679869,0.000150308679869,0.000000000004406,0.000000000004406,0.000000000004406,0.000000000004406,0.000150308679869,0.000000000004406,0.000000000004406,0.035702773992119,0.000000001046657,0.000000001046657,-0.000000000001099,0.035702773992119],[0.000054001274514,0.000017752290815,-0.000000000003194,-0.000000000000565,-0.000000000000565,-0.000054001180531,-0.000017752283726,0.000000000003194,0.000000000000565,0.000000000003195,0.000000000000565,0.000000000093983,0.000000000007089,2.60506506588286e-20,-6.98350853082557e-20,5.01312737536341e-20,5.87585169246081e-20,0.000225463753956,0.000225463753956,0.000000000012866,0.000000000012866,0.000000000012866,0.000000000012866,0.000225463753956,0.000000000012866,0.000000000012866,0.053554335371262,0.000000003056018,0.000000003055995,-0.000000000003195,0.053554335371262],[0.000966749003254,0.000317702822285,0.000926292390937,0.000000516395658,0.000000202723556,-0.000966726355585,-0.000317705159068,-0.000926272226176,-0.000000509845497,-0.000815157980262,-0.000000199324339,0.000000022647668,-0.000000002336783,0.000000020164761,0.000000006550161,0.000000007474475,0.000000003399217,0.004036467772163,0.004036467772163,0.003674065055163,0.003674065055163,0.003232762587798,0.003232762587798,0.004036467772163,0.003674065055163,0.003232762587798,0.958780934819065,0.872699530136021,0.767877092281647,0.000815165454737,0.958780934819065],[0.000000000000153,0.000000000000033,0.000000000000153,0.000000000000033,0.000000000000033,-0.000000000000153,-0.000000000000033,-0.000000000000153,-0.000000000000033,-0.000000000000153,-0.000000000000033,2.52435489670724e-28,-1.89326617253043e-29,2.52435489670724e-28,-6.31088724176809e-30,2.01948391736579e-28,-1.26217744835362e-29,0.000000000000622,0.000000000000622,0.000000000000622,0.000000000000622,0.000000000000622,0.000000000000622,0.000000000000622,0.000000000000622,0.000000000000622,0.000000000147702,0.000000000147717,0.000000000147737,0.000000000000153,0.000000000147737],[0.000036000695132,0.000011834804357,-0.000000000000303,-0.000000000000108,-0.000000000000108,-0.000036000596953,-0.000011834796951,0.000000000000303,0.000000000000108,0.000000000000303,0.000000000000108,0.000000000098179,0.000000000007405,-8.38913713138727e-22,-6.07615967255744e-21,8.90301228269688e-21,1.49499267231743e-20,0.000150308682935,0.000150308682935,0.000000000001276,0.000000000001276,0.000000000001276,0.000000000001276,0.000150308682935,0.000000000001276,0.000000000001276,0.03570277472052,0.000000000303168,0.000000000303168,-0.000000000000303,0.03570277472052],[0.000054001181047,0.000017752283768,-0.000000000002679,-0.000000000000523,-0.000000000000523,-0.000054001177864,-0.000017752283528,0.000000000002679,0.000000000000523,0.000000000002679,0.000000000000523,0.000000000003183,0.00000000000024,5.9992748148668e-21,1.59495905483418e-20,8.83996005680308e-21,1.5099925607698e-21,0.000225463755951,0.000225463755951,0.000000000010825,0.000000000010825,0.000000000010825,0.000000000010825,0.000225463755951,0.000000000010825,0.000000000010825,0.053554335845075,0.000000002571246,0.000000002571232,-0.000000000002679,0.053554335845075],[0.000000000001001,-0.000000000000199,0.000095996526456,0.000000033621173,-0.000000000000199,-0.000000000001001,0.000000000000199,-0.000095995557813,-0.00000003354811,-0.000000000001001,0.000000000000199,-1.077370454283e-19,-9.65401257743788e-20,0.000000000968642,0.000000000073063,-6.09790394562057e-20,1.18823629240487e-19,0.000000000004049,0.000000000004049,0.000380770837669,0.000380770837669,0.000000000004049,0.000000000004049,0.000000000004049,0.000380770837669,0.000000000004049,0.000000000961675,0.090444378674302,0.000000000961699,0.000000000001001,0.090444378674302],[0.000966726883653,0.000317705242943,0.00083027622883,0.000000476307893,0.000000199408151,-0.00096665755798,-0.000317708037621,-0.000830229615072,-0.000000459309757,-0.000815134130428,-0.000000192129971,0.000000069325673,-0.000000002794678,0.000000046613757,0.000000016998136,0.00000002437803,0.000000007278181,0.004036469866006,0.004036469866006,0.003293296324914,0.003293296324914,0.003232764682606,0.003232764682606,0.004036469866006,0.003293296324914,0.003232764682606,0.958781432168949,0.782255652036328,0.767877589860805,0.000815158508458,0.958781432168949],[0.000000000000107,0.000000000000046,0.000000000000107,0.000000000000046,0.000000000000046,-0.000000000000107,-0.000000000000046,-0.000000000000107,-0.000000000000046,-0.000000000000107,-0.000000000000046,1.0097419586829e-28,-6.31088724176809e-30,1.0097419586829e-28,0.0,8.83524213847533e-29,-1.26217744835362e-29,0.000000000000462,0.000000000000462,0.000000000000462,0.000000000000462,0.000000000000462,0.000000000000462,0.000000000000462,0.000000000000462,0.000000000000462,0.00000000010978,0.000000000109799,0.000000000109816,0.000000000000107,0.000000000109816],[0.000054001177737,0.000017752283494,-0.000000000002806,-0.000000000000557,-0.000000000000557,-0.000054001173161,-0.000017752283148,0.000000000002806,0.000000000000557,0.000000000002807,0.000000000000557,0.000000000004576,0.000000000000345,4.73372119330013e-21,-1.03734778886489e-20,-1.87285322909369e-22,8.77724538764607e-21,0.000225463755429,0.000225463755429,0.000000000011347,0.000000000011347,0.000000000011347,0.000000000011347,0.000225463755429,0.000000000011347,0.000000000011347,0.053554335721053,0.000000002695181,0.000000002695185,-0.000000000002807,0.053554335721053],[0.000000000000627,-0.000000000000138,0.000051997619141,0.000000018183786,-0.000000000000138,-0.000000000000627,0.000000000000138,-0.000051997599287,-0.000000018182289,-0.000000000000627,0.000000000000138,5.44149537637429e-22,-1.61003826861482e-20,0.000000000019854,0.000000000001498,-7.88950418845649e-21,1.35940656683296e-20,0.000000000002548,0.000000000002548,0.000206250970874,0.000206250970874,0.000000000002548,0.000000000002548,0.000000000002548,0.000206250970874,0.000000000002548,0.000000000605217,0.048990728979894,0.000000000605245,0.000000000000627,0.048990728979894],[0.000000000000374,-0.00000000000006,0.000043997938673,0.000000015364323,-0.00000000000006,-0.000000000000374,0.00000000000006,-0.000043997874489,-0.000000015359482,-0.000000000000374,0.00000000000006,-4.68083302996243e-21,-1.61566387175714e-20,0.000000000064184,0.000000000004841,-1.09219430634177e-21,1.76299046156538e-20,0.000000000001502,0.000000000001502,0.000174519866795,0.000174519866795,0.000000000001502,0.000000000001502,0.000000000001502,0.000174519866795,0.000000000001502,0.000000000356819,0.041453649694408,0.00000000035682,0.000000000000374,0.041453649694408],[0.000966658232962,0.000317708144792,0.000830230290117,0.000000459416763,0.000000192237043,-0.000966610125498,-0.00031771008411,-0.000830197943222,-0.000000447621173,-0.000815117888834,-0.000000187186464,0.000000048107464,-0.000000001939318,0.000000032346895,0.000000011795589,0.000000016916767,0.00000000505058,0.004036472542492,0.004036472542492,0.003293299002865,0.003293299002865,0.003232767360395,0.003232767360395,0.004036472542492,0.003293299002865,0.003232767360395,0.958782067913804,0.782256288129394,0.767878225915032,0.000815134805601,0.958782067913804],[-0.000000000002572,-0.000000000001098,-0.000000000002572,-0.000000000001098,-0.000000000001098,0.000000000002572,0.000000000001098,0.000000000002572,0.000000000001098,0.000000000002573,0.000000000001098,4.03896783473158e-27,2.22143230910237e-27,4.03896783473158e-27,2.01948391736579e-27,4.8467614016779e-27,1.81753552562921e-27,0.000000000011094,0.000000000011094,0.000000000011094,0.000000000011094,0.000000000011094,0.000000000011094,0.000000000011094,0.000000000011094,0.000000000011094,0.000000002635084,0.000000002635233,0.000000002635157,-0.000000000002573,0.000000002635233],[0.000000000000208,-0.000000000000013,0.000000000000208,-0.000000000000013,-0.000000000000013,-0.000000000000208,0.000000000000013,-0.000000000000208,0.000000000000013,-0.000000000000208,0.000000000000013,1.26217744835362e-28,2.83989925879564e-29,1.0097419586829e-28,1.41994962939782e-29,1.26217744835362e-28,2.05103835357463e-29,0.000000000000827,0.000000000000827,0.000000000000827,0.000000000000827,0.000000000000827,0.000000000000827,0.000000000000827,0.000000000000827,0.000000000000827,0.000000000196399,0.000000000196409,0.000000000196431,0.000000000000208,0.000000000196431],[0.000054001173207,0.000017752283229,-0.00000000000276,-0.000000000000476,-0.000000000000476,-0.000054001167338,-0.000017752282786,0.00000000000276,0.000000000000476,0.00000000000276,0.000000000000476,0.000000000005869,0.000000000000443,-6.73392873277788e-21,-1.3006441640174e-20,4.67084536932651e-21,5.17392849955592e-21,0.000225463755704,0.000225463755704,0.000000000011106,0.000000000011106,0.000000000011106,0.000000000011106,0.000225463755704,0.000000000011106,0.000000000011106,0.053554335786535,0.000000002638112,0.000000002638111,-0.00000000000276,0.053554335786535],[0.000000000000578,-0.000000000000177,0.000051997599238,0.00000001818225,-0.000000000000177,-0.000000000000578,0.000000000000177,-0.000051997590289,-0.000000018181575,-0.000000000000578,0.000000000000177,1.35131181391118e-21,9.41466410843122e-21,0.000000000008949,0.000000000000675,4.7930398983017e-21,1.44758548425695e-21,0.000000000002398,0.000000000002398,0.000206250970679,0.000206250970679,0.000000000002398,0.000000000002398,0.000000000002398,0.000206250970679,0.000000000002398,0.000000000569541,0.048990728933412,0.000000000569555,0.000000000000578,0.048990728933412],[0.00000000000037,-0.000000000000053,0.000043997874484,0.00000001535949,-0.000000000000053,-0.00000000000037,0.000000000000053,-0.000043997720046,-0.00000001534784,-0.00000000000037,0.000000000000053,-2.50878811387572e-20,-1.28411584241504e-20,0.000000000154439,0.000000000011649,3.29033828031876e-21,2.4221088235569e-20,0.000000000001482,0.000000000001482,0.000174519866778,0.000174519866778,0.000000000001482,0.000000000001482,0.000000000001482,0.000174519866778,0.000000000001482,0.000000000351926,0.041453649690528,0.000000000351926,0.00000000000037,0.041453649690528],[0.000966610608698,0.000317710160518,0.000830198426471,0.000000447697448,0.000000187262791,-0.000966574255927,-0.000317711625976,-0.00083017398329,-0.000000438784021,-0.000815105588892,-0.000000183446282,0.000000036352771,-0.000000001465458,0.000000024443181,0.000000008913427,0.000000012783292,0.000000003816509,0.004036474458203,0.004036474458203,0.003293300920023,0.003293300920023,0.003232769277436,0.003232769277436,0.004036474458203,0.003293300920023,0.003232769277436,0.958782522952057,0.782256743511178,0.767878681269208,0.000815118372184,0.958782522952057],[-0.000000000003752,-0.000000000001278,-0.000000000003753,-0.000000000001278,-0.000000000001278,0.000000000003752,0.000000000001278,0.000000000003753,0.000000000001278,0.000000000003753,0.000000000001278,5.65455496862421e-27,2.42338070083895e-27,4.03896783473158e-27,2.42338070083895e-27,4.8467614016779e-27,2.22143230910237e-27,0.000000000015724,0.000000000015724,0.000000000015724,0.000000000015724,0.000000000015724,0.000000000015724,0.000000000015724,0.000000000015724,0.000000000015724,0.000000003734862,0.000000003735034,0.00000000373495,-0.000000000003753,0.000000003735034],[0.00000000000022,0.000000000000008,0.00000000000022,0.000000000000008,0.000000000000008,-0.00000000000022,-0.000000000000008,-0.00000000000022,-0.000000000000008,-0.00000000000022,-0.000000000000008,1.51461293802434e-28,1.41994962939782e-29,1.51461293802434e-28,2.99767143983984e-29,1.51461293802434e-28,2.20881053461883e-29,0.000000000000872,0.000000000000872,0.000000000000872,0.000000000000872,0.000000000000872,0.000000000000872,0.000000000000872,0.000000000000872,0.000000000000872,0.00000000020715,0.000000000207162,0.000000000207188,0.00000000000022,0.000000000207188],[0.000054001167353,0.000017752282859,-0.000000000002745,-0.000000000000404,-0.000000000000404,-0.00005400115306,-0.000017752281781,0.000000000002745,0.000000000000404,0.000000000002745,0.000000000000404,0.000000000014293,0.000000000001078,7.61806404245881e-21,-4.96791736056148e-21,8.0880742865219e-21,-3.62092805002703e-21,0.000225463755849,0.000225463755849,0.000000000011003,0.000000000011003,0.000000000011003,0.000000000011003,0.000225463755849,0.000000000011003,0.000000000011003,0.053554335821013,0.000000002613614,0.000000002613613,-0.000000000002745,0.053554335821013],[0.000000000000549,-0.000000000000133,0.00005199759026,0.000000018181619,-0.000000000000134,-0.000000000000549,0.000000000000133,-0.000051997580777,-0.000000018180903,-0.000000000000549,0.000000000000134,-6.59395789856847e-21,-5.7356041283702e-21,0.000000000009484,0.000000000000715,3.00366536908078e-21,1.41306048817986e-21,0.000000000002242,0.000000000002242,0.000206250970565,0.000206250970565,0.000000000002242,0.000000000002242,0.000000000002242,0.000206250970565,0.000000000002242,0.000000000532592,0.048990728906377,0.000000000532613,0.000000000000549,0.048990728906377],[0.000966574494837,0.000317711663611,0.000830174222225,0.000000438821585,0.000000183483874,-0.000966569253497,-0.000317711874901,-0.000830170698009,-0.000000437536448,-0.000815103984786,-0.00000018293361,0.000000005241339,-0.000000000211289,0.000000003524216,0.000000001285137,0.000000001843094,0.000000000550264,0.004036475405243,0.004036475405243,0.003293301867959,0.003293301867959,0.003232770225314,0.003232770225314,0.004036475405243,0.003293301867959,0.003232770225314,0.958782747902184,0.782256968674124,0.767878906418564,0.000815105827881,0.958782747902184],[-0.00000000000083,-0.000000000000086,-0.00000000000083,-0.000000000000086,-0.000000000000086,0.00000000000083,0.000000000000086,0.00000000000083,0.000000000000086,0.00000000000083,0.000000000000086,3.33214846365355e-27,6.9419759659449e-28,3.33214846365355e-27,7.57306469012171e-28,3.33214846365355e-27,7.06819371078027e-28,0.00000000000331,0.00000000000331,0.00000000000331,0.00000000000331,0.00000000000331,0.00000000000331,0.00000000000331,0.00000000000331,0.00000000000331,0.000000000786271,0.00000000078626,0.000000000786267,-0.00000000000083,0.000000000786271],[-0.000000000001392,-0.000000000000919,-0.000000000001392,-0.000000000000919,-0.000000000000919,0.000000000001392,0.000000000000919,0.000000000001392,0.000000000000919,0.000000000001392,0.000000000000919,1.0097419586829e-27,2.01948391736579e-28,8.07793566946316e-28,0.0,4.03896783473158e-28,-2.01948391736579e-28,0.000000000006615,0.000000000006615,0.000000000006616,0.000000000006616,0.000000000006615,0.000000000006615,0.000000000006615,0.000000000006616,0.000000000006615,0.000000001571199,0.000000001571382,0.000000001571332,-0.000000000001392,0.000000001571382],[0.000000000000243,-0.000000000000046,0.000000000000243,-0.000000000000046,-0.000000000000046,-0.000000000000243,0.000000000000046,-0.000000000000243,0.000000000000046,-0.000000000000243,0.000000000000046,4.03896783473158e-28,-1.26217744835362e-29,3.53409685539013e-28,0.0,4.03896783473158e-28,0.0,0.000000000000979,0.000000000000979,0.000000000000979,0.000000000000979,0.00000000000098,0.00000000000098,0.000000000000979,0.000000000000979,0.00000000000098,0.000000000232647,0.000000000232654,0.000000000232674,0.000000000000243,0.000000000232674],[0.000054001153191,0.000017752281867,-0.000000000002614,-0.000000000000318,-0.000000000000318,-0.000054001140954,-0.000017752280944,0.000000000002614,0.000000000000318,0.000000000002615,0.000000000000318,0.000000000012237,0.000000000000923,4.42627819289463e-21,-1.03358640919202e-21,-1.20527243053009e-21,-2.68367157905144e-21,0.000225463756448,0.000225463756448,0.000000000010445,0.000000000010445,0.000000000010445,0.000000000010445,0.000225463756448,0.000000000010445,0.000000000010445,0.053554335963146,0.000000002480946,0.000000002480947,-0.000000000002615,0.053554335963146],[0.000000000000428,-0.000000000000064,0.000051997580656,0.000000018180973,-0.000000000000064,-0.000000000000428,0.000000000000064,-0.000051997571623,-0.000000018180292,-0.000000000000428,0.000000000000064,-3.8727930354911e-21,1.00913731257626e-21,0.000000000009033,0.000000000000681,8.14916963249978e-21,9.97896865092203e-22,0.000000000001717,0.000000000001717,0.000206250970084,0.000206250970084,0.000000000001717,0.000000000001717,0.000000000001717,0.000206250970084,0.000000000001717,0.000000000407849,0.048990728792316,0.000000000407857,0.000000000000428,0.048990728792316],[0.000966569419243,0.000317711901155,0.000830170863773,0.000000437562653,0.000000182959835,-0.000966545677353,-0.000317712858241,-0.0008301549,-0.00000043174132,-0.000815095801852,-0.000000180467284,0.000000023741889,-0.000000000957085,0.000000015963773,0.000000005821333,0.000000008348735,0.000000002492551,0.004036476062443,0.004036476062443,0.003293302525601,0.003293302525601,0.003232770882917,0.003232770882917,0.004036476062443,0.003293302525601,0.003232770882917,0.958782904006629,0.782257124883671,0.767879062618624,0.000815104150587,0.958782904006629],[-0.000000000000807,0.000000000000466,-0.000000000000807,0.000000000000466,0.000000000000466,0.000000000000807,-0.000000000000466,0.000000000000807,-0.000000000000466,0.000000000000807,-0.000000000000466,2.01948391736579e-28,3.02922587604869e-28,0.0,3.02922587604869e-28,0.0,2.01948391736579e-28,0.000000000003698,0.000000000003698,0.000000000003698,0.000000000003698,0.000000000003698,0.000000000003698,0.000000000003698,0.000000000003698,0.000000000003698,0.000000000878395,0.000000000878353,0.000000000878409,-0.000000000000807,0.000000000878409],[-0.000000000002783,-0.000000000001838,-0.000000000002784,-0.000000000001837,-0.000000000001838,0.000000000002783,0.000000000001838,0.000000000002784,0.000000000001837,0.000000000002784,0.000000000001838,2.82727748431211e-27,2.01948391736579e-27,3.23117426778526e-27,2.42338070083895e-27,3.23117426778526e-27,2.01948391736579e-27,0.00000000001323,0.00000000001323,0.000000000013231,0.000000000013231,0.00000000001323,0.00000000001323,0.00000000001323,0.000000000013231,0.00000000001323,0.000000003142509,0.000000003142701,0.000000003142618,-0.000000000002784,0.000000003142701],[0.000000000000121,-0.00000000000007,0.000000000000121,-0.00000000000007,-0.00000000000007,-0.000000000000121,0.00000000000007,-0.000000000000121,0.00000000000007,-0.000000000000121,0.00000000000007,1.0097419586829e-28,-1.26217744835362e-29,7.57306469012171e-29,-3.78653234506086e-29,7.57306469012171e-29,-2.52435489670724e-29,0.000000000000555,0.000000000000555,0.000000000000555,0.000000000000555,0.000000000000555,0.000000000000555,0.000000000000555,0.000000000000555,0.000000000000555,0.000000000131754,0.000000000131754,0.000000000131765,0.000000000000121,0.000000000131765],[0.000054001141287,0.000017752280973,-0.000000000002281,-0.000000000000288,-0.000000000000288,-0.000054001082626,-0.000017752276549,0.000000000002281,0.000000000000288,0.000000000002281,0.000000000000288,0.000000000058661,0.000000000004425,2.98409121828913e-21,-4.747080488359e-20,2.47300737745526e-20,2.11432795465679e-20,0.00022546375774,0.00022546375774,0.000000000009118,0.000000000009118,0.000000000009118,0.000000000009118,0.00022546375774,0.000000000009118,0.000000000009118,0.053554336270176,0.000000002165859,0.000000002165859,-0.000000000002281,0.053554336270176],[0.00000000000048,-0.000000000000067,0.000051997571675,0.000000018180289,-0.000000000000067,-0.00000000000048,0.000000000000067,-0.000051997566265,-0.000000018179881,-0.00000000000048,0.000000000000067,-2.19548143589324e-21,4.43549640491448e-22,0.00000000000541,0.000000000000408,-3.68746423908797e-21,4.08572330503967e-21,0.000000000001923,0.000000000001923,0.000206250970291,0.000206250970291,0.000000000001923,0.000000000001923,0.000000000001923,0.000206250970291,0.000000000001923,0.000000000456781,0.048990728841319,0.000000000456808,0.00000000000048,0.048990728841319],[0.000883539498167,0.000290422269709,0.000830155074079,0.000000431768185,0.000000180494171,-0.00088353565701,-0.000290422501154,-0.000830151779967,-0.000000430804554,-0.00081509411568,-0.000000179838189,0.000000003841157,-0.000000000231445,0.000000003294112,0.000000000963631,0.000000001860291,0.000000000655982,0.003689819675924,0.003689819675924,0.003293303216246,0.003293303216246,0.003232771573521,0.003232771573521,0.003689819675924,0.003293303216246,0.003232771573521,0.876441720306471,0.782257288932342,0.767879226657565,0.000815095975971,0.876441720306471],[0.00008300634474,0.00002729061415,-0.000000000008507,-0.000000000001299,-0.000000000001301,-0.00008300518693,-0.000027290526818,0.000000000008507,0.000000000001299,0.000000000008509,0.000000000001301,0.000000001157811,0.000000000087332,5.67095022150877e-19,-1.51102249978909e-18,1.0386596839878e-18,1.26130580981237e-18,0.000346657042932,0.000346657042932,0.000000000034139,0.000000000034139,0.000000000034139,0.000000000034139,0.000346657042932,0.000000000034139,0.000000000034139,0.082341339617705,0.000000008109114,0.000000008109108,-0.000000000008509,0.082341339617705],[-0.0000000000009,0.000000000000305,-0.0000000000009,0.000000000000305,0.000000000000305,0.0000000000009,-0.000000000000305,0.0000000000009,-0.000000000000305,0.000000000000901,-0.000000000000305,4.03896783473158e-28,-2.01948391736579e-28,7.06819371078027e-28,-2.52435489670724e-28,6.05845175209737e-28,-2.01948391736579e-28,0.000000000003771,0.000000000003771,0.000000000003771,0.000000000003771,0.000000000003771,0.000000000003771,0.000000000003771,0.000000000003771,0.000000000003771,0.000000000895781,0.000000000895755,0.000000000895809,-0.000000000000901,0.000000000895809],[-0.000000000000423,-0.000000000001478,-0.000000000000423,-0.000000000001478,-0.000000000001478,0.000000000000423,0.000000000001478,0.000000000000423,0.000000000001478,0.000000000000423,0.000000000001478,5.04870979341448e-28,-2.01948391736579e-28,5.55358077275592e-28,-2.01948391736579e-28,6.05845175209737e-28,0.0,0.000000000006099,0.000000000006099,0.000000000006099,0.000000000006099,0.000000000006099,0.000000000006099,0.000000000006099,0.000000000006099,0.000000000006099,0.000000001448595,0.000000001448714,0.000000001448705,-0.000000000000423,0.000000001448714],[0.000000000000118,-0.000000000000028,0.000000000000118,-0.000000000000028,-0.000000000000028,-0.000000000000118,0.000000000000028,-0.000000000000118,0.000000000000028,-0.000000000000118,0.000000000000028,7.57306469012171e-29,-1.26217744835362e-29,1.0097419586829e-28,0.0,5.04870979341448e-29,-2.20881053461883e-29,0.000000000000483,0.000000000000483,0.000000000000483,0.000000000000483,0.000000000000483,0.000000000000483,0.000000000000483,0.000000000000483,0.000000000000483,0.000000000114624,0.000000000114628,0.000000000114646,0.000000000000118,0.000000000114646],[0.000054001084118,0.00001775227665,-0.000000000000789,-0.000000000000187,-0.000000000000188,-0.000054000876771,-0.00001775226101,0.000000000000789,0.000000000000187,0.000000000000789,0.000000000000188,0.000000000207346,0.00000000001564,2.20314574086675e-20,-3.05978235903621e-20,4.15565593788348e-21,4.37473642958206e-20,0.000225463763486,0.000225463763486,0.000000000003217,0.000000000003217,0.000000000003217,0.000000000003217,0.000225463763486,0.000000000003217,0.000000000003217,0.053554337634824,0.000000000764223,0.000000000764223,-0.000000000000789,0.053554337634824],[0.000000000000428,-0.000000000000064,0.000051997566213,0.000000018179884,-0.000000000000064,-0.000000000000428,0.000000000000064,-0.0000519975556,-0.000000018179083,-0.000000000000428,0.000000000000064,-6.19492145752634e-21,-9.70035430092968e-21,0.000000000010613,0.000000000000801,-7.29727366699826e-21,4.59268282202668e-21,0.000000000001717,0.000000000001717,0.000206250970084,0.000206250970084,0.000000000001717,0.000000000001717,0.000000000001717,0.000206250970084,0.000000000001717,0.000000000407849,0.048990728792315,0.000000000407858,0.000000000000428,0.048990728792315],[0.000883535956848,0.000290422548618,0.00083015207984,0.000000430851923,0.000000179885595,-0.000883490574956,-0.000290425283056,-0.000830113161082,-0.000000419466966,-0.000815072436941,-0.000000172135407,0.000000045381892,-0.000000002734437,0.000000038918758,0.000000011384957,0.000000021978682,0.000000007750188,0.003689820864808,0.003689820864808,0.003293304405972,0.003293304405972,0.003232772763174,0.003232772763174,0.003689820864808,0.003293304405972,0.003232772763174,0.876442002701657,0.782257571527585,0.767879509235659,0.000815094415623,0.876442002701657],[0.000048003024099,0.000015782482829,-0.000000000000387,-0.000000000000413,-0.000000000000413,-0.000048002834826,-0.000015782468553,0.000000000000387,0.000000000000413,0.000000000000387,0.000000000000413,0.000000000189273,0.000000000014277,2.40541411478132e-20,-1.60415737493745e-20,-5.05219471583648e-21,2.85406556487144e-20,0.000200476466006,0.000200476466006,0.000000000002243,0.000000000002243,0.000000000002243,0.000000000002243,0.000200476466006,0.000000000002243,0.000000000002243,0.047619112634077,0.000000000532848,0.000000000532848,-0.000000000000387,0.047619112634077],[0.000035002170872,0.000011508044591,-0.000000000000078,-0.000000000000287,-0.000000000000287,-0.000035002070239,-0.000011508037,0.000000000000078,0.000000000000287,0.000000000000078,0.000000000000287,0.000000000100633,0.000000000007591,1.0885222295099e-20,-3.79160629840324e-22,-1.09482078401582e-20,1.33471339791531e-20,0.000146180607979,0.000146180607979,0.000000000001181,0.000000000001181,0.000000000001181,0.000000000001181,0.000146180607979,0.000000000001181,0.000000000001181,0.034722234359635,0.000000000280526,0.000000000280526,-0.000000000000078,0.034722234359635],[-0.000000000000764,-0.000000000000205,-0.000000000000764,-0.000000000000205,-0.000000000000205,0.000000000000764,0.000000000000205,0.000000000000764,0.000000000000205,0.000000000000764,0.000000000000205,1.0097419586829e-27,1.26217744835362e-28,1.21169035041947e-27,1.0097419586829e-28,1.11071615455118e-27,7.57306469012171e-29,0.000000000003138,0.000000000003138,0.000000000003138,0.000000000003138,0.000000000003138,0.000000000003138,0.000000000003138,0.000000000003138,0.000000000003138,0.000000000745338,0.000000000745319,0.000000000745349,-0.000000000000764,0.000000000745349],[-0.000000000001348,-0.00000000000159,-0.000000000001349,-0.000000000001589,-0.00000000000159,0.000000000001348,0.00000000000159,0.000000000001349,0.000000000001589,0.000000000001349,0.00000000000159,2.62532909257553e-27,1.61558713389263e-27,2.82727748431211e-27,1.41363874215605e-27,2.62532909257553e-27,2.01948391736579e-27,0.000000000008269,0.000000000008269,0.000000000008269,0.000000000008269,0.000000000008269,0.000000000008269,0.000000000008269,0.000000000008269,0.000000000008269,0.000000001964075,0.000000001964169,0.000000001964149,-0.000000000001349,0.000000001964169],[0.000000000000106,-0.000000000000004,0.000000000000106,-0.000000000000004,-0.000000000000004,-0.000000000000106,0.000000000000004,-0.000000000000106,0.000000000000004,-0.000000000000106,0.000000000000004,2.90300813121332e-28,7.09974814698911e-30,2.77679038637796e-28,7.09974814698911e-30,2.39813715187188e-28,1.10440526730942e-29,0.000000000000419,0.000000000000419,0.000000000000419,0.000000000000419,0.000000000000419,0.000000000000419,0.000000000000419,0.000000000000419,0.000000000000419,0.000000000099458,0.000000000099463,0.000000000099473,0.000000000000106,0.000000000099473],[0.00000000000044,-0.000000000000077,0.000051997555612,0.00000001817907,-0.000000000000077,-0.00000000000044,0.000000000000077,-0.000051997501824,-0.000000018175012,-0.00000000000044,0.000000000000077,-6.27224365970283e-21,-3.8931957552905e-21,0.000000000053788,0.000000000004057,-5.52327993118879e-22,6.20879588001849e-21,0.000000000001774,0.000000000001774,0.000206250970133,0.000206250970133,0.000000000001774,0.000000000001774,0.000000000001774,0.000206250970133,0.000000000001774,0.0000000004213,0.048990728803829,0.000000000421298,0.00000000000044,0.048990728803829],[0.000883490947708,0.000290425342027,0.000830113533878,0.000000419525806,0.000000172194297,-0.000883475128732,-0.000290426295181,-0.000830099967786,-0.000000415557299,-0.000815065148618,-0.000000169492778,0.000000015818976,-0.000000000953154,0.000000013566093,0.000000003968507,0.000000007661213,0.000000002701519,0.00368982234282,0.00368982234282,0.003293305885084,0.003293305885084,0.003232774242197,0.003232774242197,0.00368982234282,0.003293305885084,0.003232774242197,0.876442353773592,0.782257922860643,0.767879860547415,0.000815072809832,0.876442353773592],[-0.000000000000578,0.000000000000118,-0.000000000000578,0.000000000000118,0.000000000000118,0.000000000000578,-0.000000000000118,0.000000000000578,-0.000000000000118,0.000000000000578,-0.000000000000118,2.01948391736579e-28,1.51461293802434e-28,1.0097419586829e-28,-2.52435489670724e-29,4.03896783473158e-28,1.51461293802434e-28,0.000000000002339,0.000000000002339,0.000000000002339,0.000000000002339,0.000000000002339,0.000000000002339,0.000000000002339,0.000000000002339,0.000000000002339,0.000000000555552,0.000000000555511,0.000000000555557,-0.000000000000578,0.000000000555557],[-0.000000000001136,-0.000000000001874,-0.000000000001136,-0.000000000001874,-0.000000000001874,0.000000000001136,0.000000000001874,0.000000000001136,0.000000000001874,0.000000000001136,0.000000000001874,9.69352280335579e-27,4.03896783473158e-27,9.28962601988264e-27,4.44286461820474e-27,9.28962601988264e-27,4.44286461820474e-27,0.000000000008692,0.000000000008692,0.000000000008692,0.000000000008692,0.000000000008692,0.000000000008692,0.000000000008692,0.000000000008692,0.000000000008692,0.000000002064604,0.000000002064721,0.000000002064698,-0.000000000001136,0.000000002064721],[0.000000000000096,0.000000000000015,0.000000000000096,0.000000000000015,0.000000000000015,-0.000000000000096,-0.000000000000015,-0.000000000000096,-0.000000000000015,-0.000000000000096,-0.000000000000015,3.15544362088405e-28,0.0,3.02922587604869e-28,1.26217744835362e-29,3.02922587604869e-28,3.15544362088405e-30,0.000000000000386,0.000000000000386,0.000000000000386,0.000000000000386,0.000000000000386,0.000000000000386,0.000000000000386,0.000000000000386,0.000000000000386,0.000000000091733,0.00000000009174,0.00000000009175,0.000000000000096,0.00000000009175],[0.000000000000437,-0.000000000000063,0.00005199750182,0.000000018175026,-0.000000000000063,-0.000000000000437,0.000000000000063,-0.000051997299134,-0.000000018159738,-0.000000000000437,0.000000000000063,-3.11655381324216e-21,-2.23325082249818e-20,0.000000000202686,0.000000000015288,-5.67307136422705e-21,9.15981298782919e-21,0.00000000000175,0.00000000000175,0.000206250970118,0.000206250970118,0.00000000000175,0.00000000000175,0.00000000000175,0.000206250970118,0.00000000000175,0.000000000415749,0.04899072880032,0.000000000415748,0.000000000000437,0.04899072880032],[0.000883475246029,0.000290426313776,0.000830100085096,0.000000415575851,0.000000169511346,-0.000883471793809,-0.000290426521785,-0.00083009712453,-0.000000414709793,-0.000815063594031,-0.000000168921786,0.00000000345222,-0.00000000020801,0.000000002960567,0.000000000866058,0.000000001671928,0.00000000058956,0.003689822807971,0.003689822807971,0.003293306350535,0.003293306350535,0.00323277470762,0.00323277470762,0.003689822807971,0.003293306350535,0.00323277470762,0.876442464260696,0.78225803341911,0.767879971099164,0.000815065265959,0.876442464260696],[-0.000000000000255,-0.000000000000068,-0.000000000000255,-0.000000000000068,-0.000000000000068,0.000000000000255,0.000000000000068,0.000000000000255,0.000000000000068,0.000000000000255,0.000000000000068,-5.04870979341448e-29,1.26217744835362e-29,0.0,5.04870979341448e-29,0.0,1.26217744835362e-29,0.000000000001046,0.000000000001046,0.000000000001046,0.000000000001046,0.000000000001046,0.000000000001046,0.000000000001046,0.000000000001046,0.000000000001046,0.000000000248436,0.000000000248438,0.000000000248461,-0.000000000000255,0.000000000248461],[-0.000000000001112,-0.000000000001833,-0.000000000001113,-0.000000000001833,-0.000000000001834,0.000000000001112,0.000000000001833,0.000000000001113,0.000000000001833,0.000000000001113,0.000000000001834,1.73675616893458e-26,7.27014210251684e-27,1.73675616893458e-26,7.67403888599e-27,1.71656132976092e-26,7.67403888599e-27,0.000000000008507,0.000000000008507,0.000000000008508,0.000000000008508,0.000000000008508,0.000000000008508,0.000000000008507,0.000000000008508,0.000000000008508,0.000000002020696,0.000000002020813,0.000000002020786,-0.000000000001113,0.000000002020813],[0.000000000000087,0.00000000000001,0.000000000000087,0.00000000000001,0.00000000000001,-0.000000000000087,-0.00000000000001,-0.000000000000087,-0.00000000000001,-0.000000000000087,-0.00000000000001,1.51461293802434e-28,7.88860905221012e-30,1.38839519318898e-28,-7.88860905221012e-30,1.6408306828597e-28,3.15544362088405e-30,0.000000000000347,0.000000000000347,0.000000000000347,0.000000000000347,0.000000000000347,0.000000000000347,0.000000000000347,0.000000000000347,0.000000000000347,0.00000000008234,0.000000000082347,0.000000000082358,0.000000000000087,0.000000000082358],[0.000883471857552,0.000290426531817,0.000830097188281,0.000000414719801,0.000000168931803,-0.000883464856993,-0.000290426953628,-0.000830091184717,-0.000000412963571,-0.00081506026739,-0.000000167736268,0.000000007000559,-0.00000000042181,0.000000006003564,0.00000000175623,0.000000003390408,0.000000001195535,0.003689823060662,0.003689823060662,0.00329330660348,0.00329330660348,0.003232774960549,0.003232774960549,0.003689823060662,0.00329330660348,0.003232774960549,0.87644252428228,0.78225809350094,0.767880031177374,0.000815063657799,0.87644252428228],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],[-0.000000000000864,-0.000000000001869,-0.000000000000864,-0.000000000001869,-0.00000000000187,0.000000000000864,0.000000000001869,0.000000000000864,0.000000000001869,0.000000000000865,0.00000000000187,4.03896783473158e-27,2.01948391736579e-27,4.24091622646816e-27,1.61558713389263e-27,3.93799363886329e-27,1.61558713389263e-27,0.000000000008169,0.000000000008169,0.000000000008169,0.000000000008169,0.000000000008169,0.000000000008169,0.000000000008169,0.000000000008169,0.000000000008169,0.000000001940361,0.000000001940461,0.000000001940432,-0.000000000000865,0.000000001940461],[0.00000000000009,0.000000000000015,0.00000000000009,0.000000000000015,0.000000000000015,-0.00000000000009,-0.000000000000015,-0.00000000000009,-0.000000000000015,-0.00000000000009,-0.000000000000015,6.31088724176809e-29,-1.57772181044202e-29,6.31088724176809e-29,-3.15544362088405e-30,6.31088724176809e-29,-9.46633086265214e-30,0.000000000000361,0.000000000000361,0.000000000000361,0.000000000000361,0.000000000000361,0.000000000000361,0.000000000000361,0.000000000000361,0.000000000000361,0.000000000085746,0.000000000085754,0.000000000085766,0.00000000000009,0.000000000085766],[0.000883464939825,0.000290426966712,0.000830091267558,0.000000412976625,0.000000167749333,-0.000883458337971,-0.000290427364499,-0.000830085605917,-0.000000411320418,-0.00081505715294,-0.000000166621888,0.000000006601854,-0.000000000397787,0.000000005661641,0.000000001656207,0.000000003197314,0.000000001127445,0.003689823389083,0.003689823389083,0.003293306932171,0.003293306932171,0.00323277528922,0.00323277528922,0.003689823389083,0.003293306932171,0.00323277528922,0.876442602292044,0.782258171574854,0.767880109246554,0.000815060350254,0.876442602292044],[-0.000000000001764,-0.000000000001565,-0.000000000001765,-0.000000000001564,-0.000000000001565,0.000000000001764,0.000000000001565,0.000000000001765,0.000000000001564,0.000000000001765,0.000000000001565,8.07793566946316e-28,2.01948391736579e-28,1.21169035041947e-27,2.01948391736579e-28,1.41363874215605e-27,4.03896783473158e-28,0.000000000009355,0.000000000009355,0.000000000009355,0.000000000009355,0.000000000009355,0.000000000009355,0.000000000009355,0.000000000009355,0.000000000009355,0.000000002222121,0.000000002222199,0.000000002222161,-0.000000000001765,0.000000002222199],[-1.04333078879338e-17,-1.45115189968781e-17,-7.51500476329929e-18,1.35424802603494e-17,9.69358673271948e-19,1.04333078879338e-17,1.45115189968781e-17,7.51500476329929e-18,-1.35424802603494e-17,-1.79517709038536e-17,-9.69358673271949e-19,-1.54074395550979e-33,0.0,1.54074395550979e-33,0.0,0.0,-7.70371977754894e-34,7.08856414775833e-17,7.08856414775833e-17,6.14237717508623e-17,6.14237717508623e-17,7.12927966659877e-17,7.12927966659877e-17,7.08856414775833e-17,6.14237717508623e-17,7.12927966659877e-17,0.000000000000017,0.000000000000015,0.000000000000017,1.79517709038536e-17,0.000000000000017],[0.000883458401603,0.000290427374527,0.000830085669557,0.000000411330422,0.000000166631901,-0.000883454564358,-0.000290427605736,-0.000830082378799,-0.000000410367772,-0.000815055358199,-0.000000165976587,0.000000003837246,-0.000000000231209,0.000000003290759,0.00000000096265,0.000000001858399,0.000000000655314,0.003689823641355,0.003689823641355,0.00329330718468,0.00329330718468,0.003232775541714,0.003232775541714,0.003689823641355,0.00329330718468,0.003232775541714,0.876442662214146,0.782258231553169,0.767880169221241,0.000815057216597,0.876442662214146],[-0.000000000000559,-0.000000000000969,-0.00000000000056,-0.000000000000969,-0.000000000000969,0.000000000000559,0.000000000000969,0.00000000000056,0.000000000000969,0.00000000000056,0.000000000000969,3.02922587604869e-28,2.01948391736579e-28,2.01948391736579e-28,2.01948391736579e-28,3.02922587604869e-28,0.0,0.000000000004437,0.000000000004437,0.000000000004438,0.000000000004438,0.000000000004438,0.000000000004438,0.000000000004437,0.000000000004438,0.000000000004438,0.000000001053977,0.000000001054139,0.000000001054074,-0.00000000000056,0.000000001054139],[0.000000000000104,-0.000000000000006,0.000000000000104,-0.000000000000006,-0.000000000000006,-0.000000000000104,0.000000000000006,-0.000000000000104,0.000000000000006,-0.000000000000104,0.000000000000006,7.57306469012171e-29,0.0,3.78653234506086e-29,-7.88860905221012e-30,5.04870979341448e-29,4.73316543132607e-30,0.000000000000413,0.000000000000413,0.000000000000413,0.000000000000413,0.000000000000413,0.000000000000413,0.000000000000413,0.000000000000413,0.000000000000413,0.000000000098205,0.000000000098207,0.000000000098207,0.000000000000104,0.000000000098207],[0.000883454603077,0.00029042761185,0.000830082417523,0.000000410373872,0.000000165982692,-0.000883452068863,-0.000290427764546,-0.000830080244223,-0.000000409738113,-0.0008150541696,-0.000000165549907,0.000000002534214,-0.000000000152696,0.000000002173301,0.000000000635758,0.000000001227334,0.000000000432786,0.003689823794875,0.003689823794875,0.003293307338329,0.003293307338329,0.003232775695354,0.003232775695354,0.003689823794875,0.003293307338329,0.003232775695354,0.876442698679716,0.782258268049437,0.767880205715299,0.000815055396934,0.876442698679716],[-3.94199554606804e-17,2.27585199795611e-17,1.16811539345828e-16,-1.58532319012883e-16,1.35784747191479e-16,3.94199554606805e-17,-2.27585199795611e-17,-1.16811539345828e-16,1.58532319012883e-16,7.74200926565703e-17,-1.35784747191479e-16,2.46519032881566e-32,-6.16297582203915e-33,-2.46519032881566e-32,0.0,-1.23259516440783e-32,0.0,1.80566654776543e-16,1.80566654776543e-16,7.81127709154567e-16,7.81127709154567e-16,6.19896092030972e-16,6.19896092030972e-16,1.80566654776543e-16,7.81127709154567e-16,6.19896092030972e-16,0.000000000000043,0.000000000000186,0.000000000000147,-7.74200926565704e-17,0.000000000000186],[-0.000000000000032,-0.000000000000009,-0.000000000000032,-0.000000000000009,-0.000000000000009,0.000000000000032,0.000000000000009,0.000000000000032,0.000000000000009,0.000000000000032,0.000000000000009,2.52435489670724e-29,6.31088724176809e-30,1.89326617253043e-29,3.15544362088405e-30,1.26217744835362e-29,3.15544362088405e-30,0.000000000000131,0.000000000000131,0.000000000000131,0.000000000000131,0.000000000000131,0.000000000000131,0.000000000000131,0.000000000000131,0.000000000000131,0.000000000031057,0.000000000031056,0.000000000031054,-0.000000000000032,0.000000000031057],[0.000883452105703,0.000290427770292,0.000830080281067,0.000000409743846,0.000000165555644,-0.000883448606659,-0.000290427981123,-0.000830077280344,-0.000000408866041,-0.000815052511848,-0.000000164958088,0.000000003499044,-0.000000000210831,0.000000003000722,0.000000000877805,0.000000001694606,0.000000000597556,0.003689823940853,0.003689823940853,0.003293307484517,0.003293307484517,0.003232775841533,0.003232775841533,0.003689823940853,0.003293307484517,0.003232775841533,0.876442733353773,0.782258302773424,0.767880240437217,0.000815054206454,0.876442733353773],[0.000000000000498,0.000000000000385,0.000000000000498,0.000000000000385,0.000000000000385,-0.000000000000498,-0.000000000000385,-0.000000000000498,-0.000000000000385,-0.000000000000498,-0.000000000000385,5.35163238101934e-27,2.22143230910237e-27,5.25065818515105e-27,2.12045811323408e-27,5.25065818515105e-27,2.01948391736579e-27,0.000000000002498,0.000000000002498,0.000000000002498,0.000000000002498,0.000000000002498,0.000000000002498,0.000000000002498,0.000000000002498,0.000000000002498,0.00000000059345,0.000000000593311,0.000000000593266,0.000000000000498,0.00000000059345],[-1.21470325613453e-19,-3.25380881060668e-20,1.65943533832016e-19,4.44338255702771e-20,-1.19084902657557e-20,1.21470325613453e-19,3.25380881060668e-20,-1.65943533832016e-19,-4.4433825570277e-20,4.44680185002267e-20,1.19084902657557e-20,-2.40741243048404e-35,-3.00926553810506e-35,4.81482486096809e-35,1.20370621524202e-35,0.0,1.20370621524202e-35,4.98749633002594e-19,4.98749633002594e-19,6.81304668809708e-19,6.81304668809708e-19,1.82555035807115e-19,1.82555035807115e-19,4.98749633002594e-19,6.81304668809708e-19,1.82555035807115e-19,1.18467845245464e-16,1.61830086136907e-16,4.33622408914433e-17,-4.44680185002267e-20,1.61830086136907e-16],[0.000059006075368,0.000019400355882,0.000160990646608,0.000000059798626,0.000000031986703,-0.000059006075301,-0.000019400356218,-0.000160990631494,-0.000000059793661,-0.000135003529215,-0.000000031976503,0.000000000000067,-0.000000000000335,0.000000000015113,0.000000000004965,0.000000000007575,0.000000000010199,0.00024644869735,0.00024644869735,0.000638725677985,0.000638725677985,0.000535470008649,0.000535470008649,0.00024644869735,0.000638725677985,0.000535470008649,0.058538882450525,0.151716311685751,0.127190024654786,0.00013500353679,0.151716311685751],[0.000824442564885,0.000271027630492,0.000669086667335,0.000000349072654,0.000000132976629,-0.000824440421479,-0.000271027669872,-0.000669085426172,-0.000000348576995,-0.000680048300591,-0.000000132806423,0.000000002143407,-0.00000000003938,0.000000001241164,0.000000000495658,0.000000000708075,0.000000000170206,0.003443375376829,0.003443375376829,0.002654581945657,0.002654581945657,0.002697305966571,0.002697305966571,0.003443375376829,0.002654581945657,0.002697305966571,0.817903882572188,0.630542024133942,0.640690247536896,0.000680049008665,0.817903882572188],[-0.000000000000162,0.000000000000093,-0.000000000000161,0.000000000000093,0.000000000000093,0.000000000000162,-0.000000000000093,0.000000000000161,-0.000000000000093,0.000000000000161,-0.000000000000093,2.52435489670724e-29,1.26217744835362e-29,0.0,-1.26217744835362e-29,2.52435489670724e-29,0.0,0.00000000000074,0.00000000000074,0.000000000000739,0.000000000000739,0.00000000000074,0.00000000000074,0.00000000000074,0.000000000000739,0.00000000000074,0.000000000175732,0.000000000175594,0.000000000175705,-0.000000000000161,0.000000000175732],[0.000059006075462,0.000019400356124,0.000160990631656,0.000000059793567,0.00000003197641,-0.000059006075381,-0.00001940035653,-0.000160990613371,-0.00000005978756,-0.000135003520212,-0.000000031964071,0.000000000000082,-0.000000000000405,0.000000000018285,0.000000000006007,0.000000000009165,0.00000000001234,0.000246448697843,0.000246448697843,0.000638725678625,0.000638725678625,0.000535470009289,0.000535470009289,0.000246448697843,0.000638725678625,0.000535470009289,0.058538882567601,0.151716311837796,0.127190024806948,0.000135003529377,0.151716311837796],[0.000824440440294,0.000271027672732,0.000669085444989,0.000000348579848,0.000000132809279,-0.000824439224877,-0.000271027695063,-0.000669084741188,-0.000000348298785,-0.0006800479179,-0.000000132712764,0.000000001215418,-0.00000000002233,0.000000000703801,0.000000000281063,0.000000000401513,0.000000000096515,0.003443375451294,0.003443375451294,0.002654582020322,0.002654582020322,0.002697306041231,0.002697306041231,0.003443375451294,0.002654582020322,0.002697306041231,0.817903900259758,0.630542041869104,0.640690265270934,0.000680048319414,0.817903900259758],[0.000000000000938,0.00000000000032,0.000000000000938,0.000000000000319,0.00000000000032,-0.000000000000938,-0.00000000000032,-0.000000000000938,-0.000000000000319,-0.000000000000938,-0.00000000000032,1.21169035041947e-27,2.52435489670724e-28,1.0097419586829e-27,2.01948391736579e-28,1.21169035041947e-27,3.53409685539013e-28,0.000000000003931,0.000000000003931,0.000000000003931,0.000000000003931,0.000000000003931,0.000000000003931,0.000000000003931,0.000000000003931,0.000000000003931,0.000000000933645,0.000000000933784,0.000000000933782,0.000000000000938,0.000000000933784],[0.00005900607543,0.000019400357362,0.000160990613421,0.000000059788392,0.000000031964903,-0.000059006075336,-0.000019400357832,-0.000160990592227,-0.000000059781429,-0.00013500350964,-0.0000000319506,0.000000000000094,-0.00000000000047,0.000000000021194,0.000000000006963,0.000000000010622,0.000000000014303,0.000246448699062,0.000246448699062,0.000638725678825,0.000638725678825,0.000535470009489,0.000535470009489,0.000246448699062,0.000638725678825,0.000535470009489,0.058538882857221,0.151716311885419,0.12719002485434,0.000135003520262,0.151716311885419],[0.000824439500406,0.000271027738713,0.000669085016751,0.00000034834233,0.000000132756347,-0.000824391543232,-0.000271028619806,-0.0006690572466,-0.00000033725233,-0.000680032350873,-0.000000128948116,0.000000047957174,-0.000000000881093,0.000000027770151,0.00000001109,0.000000015842665,0.00000000380823,0.003443376543927,0.003443376543927,0.002654583113704,0.002654583113704,0.00269730713454,0.00269730713454,0.003443376543927,0.002654583113704,0.00269730713454,0.817904159792553,0.630542301579801,0.640690524964387,0.000680048193538,0.817904159792553],[0.000000000000886,0.000000000000592,0.000000000000887,0.000000000000591,0.000000000000592,-0.000000000000886,-0.000000000000592,-0.000000000000887,-0.000000000000591,-0.000000000000887,-0.000000000000592,3.53409685539013e-26,1.47422325967703e-26,3.56438911415062e-26,1.49441809885068e-26,3.55429169456379e-26,1.47422325967703e-26,0.000000000004227,0.000000000004227,0.000000000004228,0.000000000004228,0.000000000004228,0.000000000004228,0.000000000004227,0.000000000004228,0.000000000004228,0.000000001004083,0.000000001004205,0.000000001004234,0.000000000000887,0.000000001004234],[0.000059006075643,0.000019400358085,0.000160990592535,0.000000059781682,0.000000031950853,-0.000059006075499,-0.000019400358802,-0.000160990560221,-0.000000059771066,-0.000135003493751,-0.000000031929046,0.000000000000144,-0.000000000000717,0.000000000032314,0.000000000010616,0.000000000016196,0.000000000021807,0.000246448700534,0.000246448700534,0.000638725680046,0.000638725680046,0.000535470010709,0.000535470010709,0.000246448700534,0.000638725680046,0.000535470010709,0.058538883206951,0.151716312175375,0.127190025144222,0.000135003509947,0.151716312175375],[0.000824391838853,0.000271028666484,0.000669057542263,0.000000337298885,0.000000128994717,-0.000824387034585,-0.00027102875475,-0.000669054760296,-0.000000336187908,-0.000680031059528,-0.000000128613215,0.000000004804268,-0.000000000088266,0.000000002781967,0.000000001110977,0.000000001587092,0.000000000381502,0.003443377716102,0.003443377716102,0.002654584286881,0.002654584286881,0.002697308307639,0.002697308307639,0.003443377716102,0.002654584286881,0.002697308307639,0.817904438218829,0.630542580244025,0.640690803610165,0.00068003264662,0.817904438218829],[0.000000000000886,0.000000000000578,0.000000000000886,0.000000000000578,0.000000000000579,-0.000000000000886,-0.000000000000578,-0.000000000000886,-0.000000000000578,-0.000000000000886,-0.000000000000579,3.13020007191697e-26,1.29246970711411e-26,3.11000523274332e-26,1.28237228752728e-26,3.1402974915038e-26,1.28237228752728e-26,0.000000000004196,0.000000000004196,0.000000000004197,0.000000000004197,0.000000000004197,0.000000000004197,0.000000000004196,0.000000000004197,0.000000000004197,0.000000000996718,0.00000000099684,0.000000000996868,0.000000000000886,0.000000000996868],[0.000059006075533,0.000019400358674,0.000160990560255,0.000000059770938,0.000000031928919,-0.000059006075348,-0.000019400359595,-0.000160990518711,-0.000000059757289,-0.000135003472963,-0.000000031900883,0.000000000000185,-0.000000000000921,0.000000000041544,0.000000000013649,0.000000000020822,0.000000000028036,0.000246448700505,0.000246448700505,0.000638725680181,0.000638725680181,0.000535470010844,0.000535470010844,0.000246448700505,0.000638725680181,0.000535470010844,0.058538883200028,0.15171631220743,0.127190025176338,0.000135003493785,0.15171631220743],[0.000049004789042,0.000016112716677,0.000108992307639,0.000000039864722,0.00000003077969,-0.000049004789788,-0.000016112714879,-0.000108992284379,-0.000000039860257,-0.00013500298256,-0.000000030747206,-0.000000000000746,0.000000000001798,0.00000000002326,0.000000000004465,0.000000000035388,0.000000000032483,0.000204689952867,0.000204689952867,0.000432444797116,0.000432444797116,0.000535482548505,0.000535482548505,0.000204689952867,0.000432444797116,0.000535482548505,0.048619940857974,0.102718478194295,0.127193003243049,0.000135003017948,0.127193003243049],[0.000775382350384,0.000254916062118,0.000560062557516,0.000000296347187,0.000000097857545,-0.000775368660384,-0.000254915216709,-0.000560056748465,-0.000000292616207,-0.000545025918583,-0.000000097055982,0.00000001369,0.00000000084541,0.000000005809051,0.00000000373098,0.000000002227886,0.000000000801564,0.003238688188334,0.003238688188334,0.002222139910688,0.002222139910688,0.00216182617569,0.00216182617569,0.003238688188334,0.002222139910688,0.00216182617569,0.769284598334586,0.527824202031585,0.513497899311554,0.000545028146469,0.769284598334586],[0.00000000000098,0.000000000000672,0.00000000000098,0.000000000000672,0.000000000000672,-0.00000000000098,-0.000000000000672,-0.00000000000098,-0.000000000000672,-0.00000000000098,-0.000000000000672,4.03896783473158e-27,1.21169035041947e-27,4.03896783473158e-27,1.31266454628776e-27,4.44286461820474e-27,1.51461293802434e-27,0.000000000004714,0.000000000004714,0.000000000004714,0.000000000004714,0.000000000004714,0.000000000004714,0.000000000004714,0.000000000004714,0.000000000004714,0.000000001119638,0.000000001119757,0.000000001119785,0.00000000000098,0.000000001119785],[0.000059006075314,0.000019400359723,0.000160990518677,0.000000059757417,0.00000003190101,-0.000059006075181,-0.000019400360384,-0.000160990488852,-0.000000059747618,-0.000135003457981,-0.000000031880883,0.000000000000133,-0.000000000000661,0.000000000029825,0.000000000009799,0.000000000014948,0.000000000020127,0.000246448700534,0.000246448700534,0.000638725680046,0.000638725680046,0.000535470010709,0.000535470010709,0.000246448700534,0.000638725680046,0.000535470010709,0.058538883206951,0.151716312175357,0.127190025144241,0.000135003472929,0.151716312175357],[-0.000000000000029,-0.000000000000003,-0.000000000000029,-0.000000000000003,-0.000000000000003,0.000000000000029,0.000000000000003,0.000000000000029,0.000000000000003,0.000000000000029,0.000000000000003,-6.31088724176809e-30,-3.54987407349455e-30,6.31088724176809e-30,0.0,-6.31088724176809e-30,-4.33873497871556e-30,0.000000000000116,0.000000000000116,0.000000000000115,0.000000000000115,0.000000000000116,0.000000000000116,0.000000000000116,0.000000000000115,0.000000000000116,0.000000000027453,0.000000000027425,0.000000000027471,-0.000000000000029,0.000000000027471],[0.000049004790409,0.000016112715489,0.000108992285001,0.000000039860867,0.000000030747816,-0.000049004790773,-0.000016112714613,-0.000108992273676,-0.000000039858693,-0.000135002965951,-0.000000030732,-0.000000000000363,0.000000000000876,0.000000000011325,0.000000000002174,0.00000000001723,0.000000000015816,0.000204689955964,0.000204689955964,0.000432444799583,0.000432444799583,0.000535482550971,0.000535482550971,0.000204689955964,0.000432444799583,0.000535482550971,0.04861994159364,0.102718478780115,0.12719300382878,0.000135002983181,0.12719300382878],[0.000775368875045,0.00025491527359,0.000560056963169,0.000000292672998,0.000000097112815,-0.000775344186895,-0.000254913749002,-0.000560046487294,-0.000000285944655,-0.000545022115639,-0.000000095667298,0.000000024688151,0.000000001524588,0.000000010475876,0.000000006728342,0.000000004017708,0.000000001445517,0.003238689068,0.003238689068,0.002222140762688,0.002222140762688,0.002161827027587,0.002161827027587,0.003238689068,0.002222140762688,0.002161827027587,0.769284807281378,0.527824404406797,0.513498101662322,0.000545026133347,0.769284807281378],[0.00000000000098,0.000000000000672,0.00000000000098,0.000000000000672,0.000000000000672,-0.00000000000098,-0.000000000000672,-0.00000000000098,-0.000000000000672,-0.00000000000098,-0.000000000000672,2.42338070083895e-27,1.21169035041947e-27,2.22143230910237e-27,1.41363874215605e-27,2.22143230910237e-27,1.31266454628776e-27,0.000000000004714,0.000000000004714,0.000000000004714,0.000000000004714,0.000000000004714,0.000000000004714,0.000000000004714,0.000000000004714,0.000000000004714,0.000000001119634,0.00000000111976,0.000000001119786,0.00000000000098,0.000000001119786],[0.000059006075569,0.000019400360591,0.000160990489241,0.000000059747824,0.000000031881089,-0.000059006075381,-0.000019400361525,-0.000160990447099,-0.000000059733979,-0.000135003437247,-0.000000031852649,0.000000000000188,-0.000000000000935,0.000000000042142,0.000000000013845,0.000000000021122,0.00000000002844,0.000246448702253,0.000246448702253,0.000638725681587,0.000638725681587,0.00053547001225,0.00053547001225,0.000246448702253,0.000638725681587,0.00053547001225,0.058538883615244,0.151716312541349,0.127190025510172,0.000135003458369,0.151716312541349],[-0.000000000000015,-0.000000000000025,-0.000000000000015,-0.000000000000025,-0.000000000000025,0.000000000000015,0.000000000000025,0.000000000000015,0.000000000000025,0.000000000000015,0.000000000000025,6.31088724176809e-30,-3.15544362088405e-30,0.0,-6.31088724176809e-30,6.31088724176809e-30,-3.15544362088405e-30,0.000000000000116,0.000000000000116,0.000000000000116,0.000000000000116,0.000000000000116,0.000000000000116,0.000000000000116,0.000000000000116,0.000000000000116,0.000000000027451,0.00000000002744,0.000000000027458,-0.000000000000015,0.000000000027458],[0.000049004790499,0.000016112714233,0.000108992273402,0.000000039858313,0.00000003073162,-0.000049004792206,-0.000016112710119,-0.000108992220201,-0.000000039848101,-0.000135002884736,-0.000000030657322,-0.000000000001707,0.000000000004113,0.000000000053201,0.000000000010212,0.000000000080942,0.000000000074298,0.000204689954462,0.000204689954462,0.000432444798497,0.000432444798497,0.000535482549886,0.000535482549886,0.000204689954462,0.000432444798497,0.000535482549886,0.048619941236979,0.102718478522244,0.127193003570985,0.000135002965678,0.127193003570985],[0.000775344387076,0.000254913802058,0.000560046687517,0.000000285997624,0.000000095720308,-0.000775333284818,-0.000254913116451,-0.000560041976517,-0.000000282971889,-0.000545020509157,-0.000000095070259,0.000000011102258,0.000000000685607,0.000000004711001,0.000000003025735,0.000000001806764,0.000000000650049,0.003238689888364,0.003238689888364,0.002222141557237,0.002222141557237,0.00216182782204,0.00216182782204,0.003238689888364,0.002222141557237,0.00216182782204,0.769285002141977,0.5278245931358,0.513498290368523,0.000545022315921,0.769285002141977],[0.000000000001124,0.000000000000642,0.000000000001125,0.000000000000642,0.000000000000643,-0.000000000001124,-0.000000000000642,-0.000000000001125,-0.000000000000642,-0.000000000001125,-0.000000000000643,2.62532909257553e-27,1.41363874215605e-27,2.82727748431211e-27,1.31266454628776e-27,3.02922587604869e-27,1.31266454628776e-27,0.000000000005137,0.000000000005137,0.000000000005138,0.000000000005138,0.000000000005138,0.000000000005138,0.000000000005137,0.000000000005138,0.000000000005138,0.000000001220196,0.000000001220333,0.000000001220349,0.000000000001125,0.000000001220349],[0.000059006075335,0.000019400361444,0.000160990447052,0.000000059733898,0.000000031852569,-0.000059006075132,-0.000019400362455,-0.000160990401457,-0.000000059718918,-0.000135003414348,-0.000000031821799,0.000000000000203,-0.000000000001011,0.000000000045595,0.00000000001498,0.000000000022852,0.00000000003077,0.000246448701978,0.000246448701978,0.000638725681402,0.000638725681402,0.000535470012065,0.000535470012065,0.000246448701978,0.000638725681402,0.000535470012065,0.058538883549768,0.151716312497392,0.127190025466202,0.000135003437201,0.151716312497392],[-0.000000000000061,0.000000000000035,-0.000000000000061,0.000000000000035,0.000000000000035,0.000000000000061,-0.000000000000035,0.000000000000061,-0.000000000000035,0.000000000000061,-0.000000000000035,5.04870979341448e-29,0.0,5.04870979341448e-29,0.0,2.52435489670724e-29,6.31088724176809e-30,0.000000000000277,0.000000000000277,0.000000000000277,0.000000000000277,0.000000000000277,0.000000000000277,0.000000000000277,0.000000000000277,0.000000000000277,0.000000000065888,0.000000000065861,0.000000000065889,-0.000000000000061,0.000000000065889],[0.000049004789631,0.000016112711743,-0.000000000005372,-0.000000000000951,-0.000000000000952,-0.000049004602847,-0.000016112697654,0.000000000005372,0.000000000000951,0.000000000005374,0.000000000000952,0.000000000186784,0.000000000014089,1.05388732781689e-19,-2.5214191184105e-19,1.83050205832918e-19,2.20267183059534e-19,0.000204689946765,0.000204689946765,0.000000000021648,0.000000000021648,0.000000000021649,0.000000000021649,0.000204689946765,0.000000000021648,0.000000000021649,0.048619939408691,0.000000005142018,0.000000005142282,-0.000000000005374,0.048619939408691],[0.000000000003675,-0.000000000001373,0.000108992226673,0.000000039849302,0.000000030658523,-0.000000000003675,0.000000000001373,-0.000108992063897,-0.000000039867621,-0.000135002617991,-0.000000030405731,-3.68806107090256e-18,2.04984177623406e-18,0.000000000162776,-0.000000000018319,0.000000000273219,0.000000000252792,0.000000000015567,0.000000000015567,0.000432444824177,0.000432444824177,0.000535482575566,0.000535482575566,0.000000000015567,0.000432444824177,0.000535482575566,0.000000003697617,0.102718484622065,0.127193009670824,0.00013500289121,0.127193009670824],[0.000775333365363,0.00025491313783,0.000560042057079,0.000000282993233,0.00000009509162,-0.000775330062135,-0.000254912933843,-0.000560040655427,-0.000000282092993,-0.000545020052181,-0.000000094898213,0.000000003303228,0.000000000203987,0.000000001401653,0.000000000900239,0.000000000537562,0.000000000193407,0.00323869021849,0.00323869021849,0.002222141876937,0.002222141876937,0.002161828141702,0.002161828141702,0.00323869021849,0.002222141876937,0.002161828141702,0.769285080556714,0.527824669074202,0.513498366297748,0.000545020589743,0.769285080556714],[0.000000000001054,0.000000000000521,0.000000000001055,0.000000000000521,0.000000000000521,-0.000000000001054,-0.000000000000521,-0.000000000001055,-0.000000000000521,-0.000000000001055,-0.000000000000521,6.66429692730711e-27,2.62532909257553e-27,6.66429692730711e-27,2.52435489670724e-27,6.46234853557053e-27,2.62532909257553e-27,0.000000000004666,0.000000000004666,0.000000000004667,0.000000000004667,0.000000000004667,0.000000000004667,0.000000000004666,0.000000000004667,0.000000000004667,0.000000001108377,0.000000001108521,0.000000001108521,0.000000000001055,0.000000001108521],[0.000059006075197,0.000019400362848,0.000160990401523,0.000000059719311,0.000000031822192,-0.000059006075005,-0.000019400363802,-0.000160990358524,-0.000000059705184,-0.000135003392862,-0.000000031793174,0.000000000000192,-0.000000000000954,0.000000000042999,0.000000000014127,0.000000000021552,0.000000000029018,0.000246448702711,0.000246448702711,0.000638725681662,0.000638725681662,0.000535470012325,0.000535470012325,0.000246448702711,0.000638725681662,0.000535470012325,0.058538883723865,0.151716312559205,0.127190025527934,0.000135003414414,0.151716312559205],[-0.00000000000005,0.000000000000029,-0.00000000000005,0.000000000000029,0.000000000000029,0.00000000000005,-0.000000000000029,0.00000000000005,-0.000000000000029,0.00000000000005,-0.000000000000029,3.78653234506086e-29,-6.31088724176809e-30,4.41762106923767e-29,-6.31088724176809e-30,3.78653234506086e-29,-1.26217744835362e-29,0.000000000000231,0.000000000000231,0.000000000000231,0.000000000000231,0.000000000000231,0.000000000000231,0.000000000000231,0.000000000000231,0.000000000000231,0.000000000054907,0.000000000054886,0.000000000054904,-0.00000000000005,0.000000000054907],[0.000049004603963,0.000016112697712,-0.000000000004256,-0.000000000000893,-0.000000000000894,-0.000049004587877,-0.000016112696499,0.000000000004256,0.000000000000893,0.000000000004257,0.000000000000894,0.000000000016086,0.000000000001213,7.26613302304409e-21,-2.71019397630661e-20,9.08044141337335e-21,2.07334400782582e-20,0.000204689951046,0.000204689951046,0.000000000017254,0.000000000017254,0.000000000017255,0.000000000017255,0.000204689951046,0.000000000017254,0.000000000017255,0.048619940425521,0.000000004098358,0.000000004098609,-0.000000000004257,0.048619940425521],[0.00000000000392,-0.000000000001205,0.000108992064143,0.000000039867789,0.000000030405899,-0.00000000000392,0.000000000001205,-0.000108991943046,-0.000000039881418,-0.000135002414976,-0.000000030217835,-2.95003218581423e-18,1.44654344590367e-18,0.000000000121097,-0.000000000013629,0.00000000020326,0.000000000188064,0.000000000016273,0.000000000016273,0.00043244482515,0.00043244482515,0.000535482576538,0.000535482576538,0.000000000016273,0.00043244482515,0.000535482576538,0.000000003865228,0.102718484853038,0.127193009901761,0.000135002618236,0.127193009901761],[0.000775330101548,0.000254912944289,0.000560040694848,0.000000282103422,0.00000009490865,-0.000775326372857,-0.000254912714028,-0.000560039112659,-0.00000028108723,-0.000545019484812,-0.000000094690331,0.000000003728691,0.000000000230261,0.000000001582189,0.000000001016192,0.000000000606802,0.000000000218319,0.003238690380009,0.003238690380009,0.002222142033374,0.002222142033374,0.00216182829812,0.00216182829812,0.003238690380009,0.002222142033374,0.00216182829812,0.769285118922357,0.527824706232542,0.513498403451603,0.000545020091614,0.769285118922357],[0.000000000001046,0.000000000000553,0.000000000001046,0.000000000000553,0.000000000000553,-0.000000000001046,-0.000000000000553,-0.000000000001046,-0.000000000000553,-0.000000000001046,-0.000000000000553,5.04870979341448e-27,2.42338070083895e-27,5.04870979341448e-27,2.42338070083895e-27,4.8467614016779e-27,2.32240650497066e-27,0.000000000004694,0.000000000004694,0.000000000004694,0.000000000004694,0.000000000004694,0.000000000004694,0.000000000004694,0.000000000004694,0.000000000004694,0.000000001114881,0.000000001115025,0.000000001115033,0.000000000001046,0.000000001115033],[0.000059006075286,0.000019400363962,0.000160990358805,0.000000059705345,0.000000031793334,-0.000059006074971,-0.00001940036553,-0.000160990288107,-0.000000059682117,-0.000135003357709,-0.000000031745623,0.000000000000315,-0.000000000001568,0.000000000070698,0.000000000023227,0.000000000035434,0.000000000047711,0.000246448703969,0.000246448703969,0.000638725682777,0.000638725682777,0.00053547001344,0.00053547001344,0.000246448703969,0.000638725682777,0.00053547001344,0.058538884022765,0.151716312824207,0.127190025792864,0.000135003393143,0.151716312824207],[-0.00000000000001,0.000000000000006,-0.00000000000001,0.000000000000006,0.000000000000006,0.00000000000001,-0.000000000000006,0.00000000000001,-0.000000000000006,0.00000000000001,-0.000000000000006,0.0,3.15544362088405e-30,0.0,1.57772181044202e-30,-1.57772181044202e-30,7.88860905221012e-31,0.000000000000046,0.000000000000046,0.000000000000046,0.000000000000046,0.000000000000046,0.000000000000046,0.000000000000046,0.000000000000046,0.000000000000046,0.000000000010988,0.000000000010968,0.000000000010983,-0.00000000000001,0.000000000010988],[0.000049004588014,0.000016112696595,-0.00000000000412,-0.000000000000797,-0.000000000000798,-0.00004900457223,-0.000016112695405,0.00000000000412,0.000000000000797,0.000000000004121,0.000000000000798,0.000000000015783,0.000000000001191,4.25781284450798e-21,-1.24401224100401e-20,7.50977648753217e-21,1.09588145988326e-20,0.000204689951679,0.000204689951679,0.000000000016649,0.000000000016649,0.00000000001665,0.00000000001665,0.000204689951679,0.000000000016649,0.00000000001665,0.048619940575837,0.00000000395452,0.000000003954771,-0.000000000004121,0.048619940575837],[0.000000000004051,-0.000000000001106,0.000108991943177,0.000000039881517,0.000000030217934,-0.000000000004051,0.000000000001106,-0.000108991862082,-0.000000039890644,-0.000135002278989,-0.000000030091992,-2.09720130427214e-18,8.67726656106942e-19,0.000000000081095,-0.000000000009127,0.000000000136118,0.000000000125942,0.000000000016663,0.000000000016663,0.000432444825671,0.000432444825671,0.000535482577059,0.000535482577059,0.000000000016663,0.000432444825671,0.000535482577059,0.000000003957957,0.102718484976771,0.127193010025469,0.000135002415107,0.127193010025469],[0.000775326413241,0.000254912724667,0.000560039153052,0.00000028109785,0.00000009470096,-0.000775322906475,-0.00025491250811,-0.000560037665032,-0.00000028014214,-0.000545018954531,-0.000000094495636,0.000000003506766,0.000000000216557,0.00000000148802,0.00000000095571,0.000000000570686,0.000000000205325,0.00323869054543,0.00323869054543,0.002222142193668,0.002222142193668,0.002161828458394,0.002161828458394,0.00323869054543,0.002222142193668,0.002161828458394,0.769285158214762,0.527824744307034,0.513498441521531,0.000545019525217,0.769285158214762],[0.000000000000789,0.000000000000621,0.000000000000789,0.000000000000621,0.000000000000621,-0.000000000000789,-0.000000000000621,-0.000000000000789,-0.000000000000621,-0.000000000000789,-0.000000000000621,6.05845175209737e-28,1.0097419586829e-28,4.03896783473158e-28,2.01948391736579e-28,5.04870979341448e-28,3.02922587604869e-28,0.000000000003982,0.000000000003982,0.000000000003983,0.000000000003983,0.000000000003983,0.000000000003983,0.000000000003982,0.000000000003983,0.000000000003983,0.00000000094596,0.000000000946077,0.000000000946115,0.000000000000789,0.000000000946115],[0.000059006075825,0.000019400366194,0.000160990288961,0.000000059682781,0.000000031746287,-0.000059006074327,-0.000019400373648,-0.000160989952809,-0.000000059572341,-0.000135003190081,-0.000000031519433,0.000000000001499,-0.000000000007454,0.000000000336152,0.00000000011044,0.000000000168483,0.000000000226854,0.000246448708011,0.000246448708011,0.000638725686168,0.000638725686168,0.00053547001683,0.00053547001683,0.000246448708011,0.000638725686168,0.00053547001683,0.058538884982809,0.151716313629566,0.127190026598086,0.000135003358563,0.151716313629566],[-0.000000000000039,0.000000000000002,-0.000000000000039,0.000000000000002,0.000000000000002,0.000000000000039,-0.000000000000002,0.000000000000039,-0.000000000000002,0.000000000000039,-0.000000000000002,1.89326617253043e-29,5.52202633654708e-30,1.89326617253043e-29,5.52202633654708e-30,1.26217744835362e-29,7.09974814698911e-30,0.000000000000155,0.000000000000155,0.000000000000155,0.000000000000155,0.000000000000155,0.000000000000155,0.000000000000155,0.000000000000155,0.000000000000155,0.000000000036843,0.000000000036813,0.000000000036826,-0.000000000000039,0.000000000036843],[0.000049004572349,0.000016112695377,-0.000000000004001,-0.000000000000825,-0.000000000000826,-0.000049004559605,-0.000016112694415,0.000000000004001,0.000000000000825,0.000000000004003,0.000000000000826,0.000000000012744,0.000000000000961,4.5783372539366e-21,-1.12033096796886e-20,4.53931032333673e-21,1.15878772757693e-20,0.00020468995209,0.00020468995209,0.00000000001621,0.00000000001621,0.000000000016211,0.000000000016211,0.00020468995209,0.00000000001621,0.000000000016211,0.048619940673574,0.000000003850311,0.000000003850548,-0.000000000004003,0.048619940673574],[0.000000000002365,-0.000000000000373,0.000000000002365,-0.000000000000374,0.000000030092726,-0.000000000002365,0.000000000000373,-0.000000000002365,0.000000000000374,-0.000135002107653,-0.000000030020702,-5.49031694533726e-19,1.30653468593776e-18,-8.17939643170856e-19,-1.10444789689835e-18,0.000000000169649,0.000000000072024,0.000000000009501,0.000000000009501,0.000000000009501,0.000000000009501,0.000535482570371,0.000535482570371,0.000000000009501,0.000000000009501,0.000535482570371,0.000000002256792,0.000000002256883,0.127193008436909,0.000135002277303,0.127193008436909],[0.000000000001628,-0.000000000000516,0.000108991859659,0.000000039891235,-0.000000000000517,-0.000000000001628,0.000000000000516,-0.000108990740107,-0.000000039806789,-0.000000000001629,0.000000000000517,-1.74285608674995e-19,-1.75190426327267e-19,0.000000001119551,0.000000000084446,-4.34614418248063e-20,2.72137700380444e-19,0.000000000006777,0.000000000006777,0.000432444816058,0.000432444816058,0.000000000006777,0.000000000006777,0.000000000006777,0.000432444816058,0.000000000006777,0.000000001609651,0.102718482693429,0.000000001609664,0.000000000001629,0.102718482693429],[0.000775322948907,0.000254912519315,0.000560037707474,0.000000280153325,0.000000094506831,-0.00077531885718,-0.000254912266635,-0.000560035971239,-0.000000279038194,-0.000545018331104,-0.000000094267256,0.000000004091727,0.00000000025268,0.000000001736235,0.000000001115132,0.000000000665882,0.000000000239575,0.003238690719275,0.003238690719275,0.002222142362092,0.002222142362092,0.002161828626798,0.002161828626798,0.003238690719275,0.002222142362092,0.002161828626798,0.769285199508017,0.5278247843128,0.51349848152248,0.000545018996986,0.769285199508017],[-0.000000000000646,0.000000000000373,-0.000000000000646,0.000000000000373,0.000000000000373,0.000000000000646,-0.000000000000373,0.000000000000646,-0.000000000000373,0.000000000000646,-0.000000000000373,1.0097419586829e-28,5.04870979341448e-29,1.0097419586829e-28,0.0,0.0,5.04870979341448e-29,0.000000000002958,0.000000000002958,0.000000000002958,0.000000000002958,0.000000000002958,0.000000000002958,0.000000000002958,0.000000000002958,0.000000000002958,0.00000000070272,0.000000000702703,0.000000000702703,-0.000000000000646,0.00000000070272],[0.000059006075146,0.00001940037444,0.000160989953629,0.000000059573132,0.000000031520225,-0.00005900607482,-0.000019400376064,-0.0001609898804,-0.000000059549073,-0.000135003154198,-0.000000031470806,0.000000000000326,-0.000000000001624,0.000000000073229,0.000000000024059,0.000000000036703,0.000000000049419,0.000246448712082,0.000246448712082,0.000638725689424,0.000638725689424,0.000535470020085,0.000535470020085,0.000246448712082,0.000638725689424,0.000535470020085,0.05853888594978,0.151716314402863,0.127190027371201,0.000135003190901,0.151716314402863],[-0.000000000000023,0.000000000000007,-0.000000000000023,0.000000000000007,0.000000000000007,0.000000000000023,-0.000000000000007,0.000000000000023,-0.000000000000007,0.000000000000023,-0.000000000000007,3.15544362088405e-30,-2.36658271566304e-30,1.26217744835362e-29,-1.57772181044202e-30,6.31088724176809e-30,-3.15544362088405e-30,0.000000000000095,0.000000000000095,0.000000000000095,0.000000000000095,0.000000000000095,0.000000000000095,0.000000000000095,0.000000000000095,0.000000000000095,0.000000000022647,0.000000000022623,0.000000000022637,-0.000000000000023,0.000000000022647],[0.000049004559798,0.000016112694425,-0.000000000003808,-0.000000000000816,-0.000000000000817,-0.00004900454067,-0.000016112692982,0.000000000003808,0.000000000000816,0.000000000003809,0.000000000000817,0.000000000019128,0.000000000001443,1.52471278099187e-20,-2.22415623949721e-20,1.85250183952676e-20,2.26487405368884e-20,0.000204689952832,0.000204689952832,0.00000000001545,0.00000000001545,0.000000000015451,0.000000000015451,0.000204689952832,0.00000000001545,0.000000000015451,0.048619940849697,0.000000003669905,0.000000003670124,-0.000000000003809,0.048619940849697],[0.000000000002436,-0.00000000000032,0.000000000002436,-0.000000000000321,0.000000030020755,-0.000000000002436,0.00000000000032,-0.000000000002436,0.000000000000321,-0.000135001657804,-0.000000029829743,-1.57543659758015e-18,3.4427793858641e-18,-2.18989545169324e-18,-3.12007992450278e-18,0.00000000044992,0.000000000191012,0.00000000000975,0.00000000000975,0.00000000000975,0.00000000000975,0.000535482570653,0.000535482570653,0.00000000000975,0.00000000000975,0.000535482570653,0.000000002315899,0.00000000231599,0.127193008503886,0.000135002107725,0.127193008503886],[0.000000000001618,-0.000000000000479,0.000108990740097,0.000000039806826,-0.000000000000479,-0.000000000001618,0.000000000000479,-0.000108990671954,-0.000000039801686,-0.000000000001618,0.000000000000479,-1.53906652546746e-20,-3.14566249286836e-20,0.000000000068143,0.00000000000514,-3.50589254105181e-21,3.51541347875959e-20,0.000000000006694,0.000000000006694,0.000432444816016,0.000432444816016,0.000000000006694,0.000000000006694,0.000000000006694,0.000432444816016,0.000000000006694,0.000000001589933,0.102718482683564,0.000000001589949,0.000000000001618,0.102718482683564],[0.000775318886741,0.000254912274509,0.000560036000807,0.000000279046054,0.000000094275122,-0.000775317709368,-0.000254912201802,-0.000560035501214,-0.000000278725181,-0.000545018169077,-0.000000094206186,0.000000001177373,0.000000000072707,0.000000000499593,0.000000000320873,0.000000000191604,0.000000000068936,0.003238690840471,0.003238690840471,0.002222142479429,0.002222142479429,0.002161828744121,0.002161828744121,0.003238690840471,0.002222142479429,0.002161828744121,0.769285228295823,0.527824812183803,0.513498509390082,0.000545018360681,0.769285228295823],[1.87705016386561e-17,1.54427552341714e-17,-5.44286137380974e-17,3.2526655911871e-17,-4.79726984211884e-17,-1.87705016386561e-17,-1.54427552341714e-17,5.44286137380973e-17,-3.2526655911871e-17,-3.566364100427e-17,4.79726984211884e-17,1.54074395550979e-32,9.24446373305873e-33,-1.84889274661175e-32,6.16297582203915e-33,0.0,-1.84889274661175e-32,9.64226359181401e-17,9.64226359181401e-17,2.51518683448338e-16,2.51518683448338e-16,2.37070889112106e-16,2.37070889112106e-16,9.64226359181401e-17,2.51518683448338e-16,2.37070889112106e-16,0.000000000000023,0.00000000000006,0.000000000000056,3.566364100427e-17,0.00000000000006],[0.000000000000765,-0.00000000000027,0.000054995884867,0.000000019915956,-0.00000000000027,-0.000000000000765,0.00000000000027,-0.000054995232655,-0.00000001986676,-0.000000000000765,0.00000000000027,-9.93061057876164e-20,-8.83746217229182e-20,0.000000000652211,0.000000000049195,-1.99920423967276e-20,1.31732631639929e-19,0.000000000003219,0.000000000003219,0.000218195605152,0.000218195605152,0.000000000003219,0.000000000003219,0.000000000003219,0.000218195605152,0.000000000003219,0.000000000764661,0.051827934245738,0.000000000764653,0.000000000000765,0.051827934245738],[0.000059006074694,0.000019400376804,0.000105993996173,0.000000039633587,0.000000031471546,-0.000059006069777,-0.000019400361458,-0.000105993894167,-0.000000039607786,-0.000135002990093,-0.000000031324775,0.000000000004918,0.000000000015346,0.000000000102007,0.000000000025801,0.00000000016398,0.000000000146771,0.000246448712526,0.000246448712526,0.000420530086821,0.000420530086821,0.000535470019588,0.000535470019588,0.000246448712526,0.000420530086821,0.000535470019588,0.058538886055311,0.099888380762699,0.127190027253337,0.000135003154073,0.127190027253337],[-0.000000000000027,0.000000000000023,-0.000000000000027,0.000000000000023,0.000000000000023,0.000000000000027,-0.000000000000023,0.000000000000027,-0.000000000000023,0.000000000000027,-0.000000000000023,1.57772181044202e-29,6.31088724176809e-30,9.46633086265214e-30,0.0,1.57772181044202e-29,0.0,0.000000000000141,0.000000000000141,0.000000000000141,0.000000000000141,0.000000000000141,0.000000000000141,0.000000000000141,0.000000000000141,0.000000000000141,0.0000000000334,0.000000000033381,0.0000000000334,-0.000000000000027,0.0000000000334],[0.000049004540861,0.000016112693033,-0.000000000003617,-0.000000000000765,-0.000000000000766,-0.0000490045178,-0.000016112691293,0.000000000003617,0.000000000000765,0.000000000003618,0.000000000000766,0.000000000023061,0.000000000001739,-7.86448025836543e-22,-2.16313468546168e-20,1.22459077329393e-20,1.86458081712299e-20,0.000204689953615,0.000204689953615,0.000000000014667,0.000000000014667,0.000000000014668,0.000000000014668,0.000204689953615,0.000000000014667,0.000000000014668,0.048619941035739,0.000000003483822,0.000000003484035,-0.000000000003618,0.048619941035739],[0.000000000002539,-0.000000000000258,0.000000000002539,-0.000000000000259,0.000000029829804,-0.000000000002539,0.000000000000258,-0.000000000002539,0.000000000000259,-0.000135001501626,-0.000000029763455,-6.0602728782654e-19,1.22724439262988e-18,-7.82689744455899e-19,-1.15171754018114e-18,0.000000000156282,0.000000000066349,0.000000000010127,0.000000000010127,0.000000000010127,0.000000000010127,0.000535482571062,0.000535482571062,0.000000000010127,0.000000000010127,0.000535482571062,0.000000002405481,0.000000002405572,0.127193008600867,0.000135001657907,0.127193008600867],[0.000000000001635,-0.000000000000542,0.000108990671971,0.000000039801622,-0.000000000000543,-0.000000000001635,0.000000000000542,-0.000108990609718,-0.000000039796927,-0.000000000001635,0.000000000000543,3.0603824739258e-21,6.49852819579531e-21,0.000000000062252,0.000000000004696,-1.30767480542474e-20,1.37689984644487e-20,0.000000000006834,0.000000000006834,0.000432444816084,0.000432444816084,0.000000000006834,0.000000000006834,0.000000000006834,0.000432444816084,0.000000000006834,0.00000000162324,0.1027184826996,0.000000001623255,0.000000000001635,0.1027184826996],[0.000775317753358,0.000254912213398,0.000560035545214,0.000000278736757,0.000000094217773,-0.000775311064511,-0.000254911800336,-0.000560032706947,-0.000000276913824,-0.000545017124556,-0.000000093826133,0.000000006688847,0.000000000413063,0.000000002838267,0.000000001822933,0.000000001088534,0.000000000391639,0.003238691020674,0.003238691020674,0.002222142654036,0.002222142654036,0.002161828918707,0.002161828918707,0.003238691020674,0.002222142654036,0.002161828918707,0.769285271099398,0.527824853658275,0.513498550859591,0.00054501821309,0.769285271099398],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],[0.000000000000768,-0.000000000000257,0.000054995232658,0.000000019866774,-0.000000000000257,-0.000000000000768,0.000000000000257,-0.000054995109444,-0.00000001985748,-0.000000000000768,0.000000000000257,-7.64616031440755e-21,-2.00082508251355e-20,0.000000000123214,0.000000000009294,-3.44301277908455e-21,3.22260609734615e-20,0.000000000003212,0.000000000003212,0.000218195605162,0.000218195605162,0.000000000003212,0.000000000003212,0.000000000003212,0.000218195605162,0.000000000003212,0.000000000762919,0.051827934248185,0.000000000762911,0.000000000000768,0.051827934248185],[0.000059006070858,0.00001940036234,0.000105993895248,0.000000039608668,0.000000031325657,-0.000059006064329,-0.000019400341967,-0.000105993759823,-0.000000039574415,-0.000135002773474,-0.000000031130802,0.000000000006529,0.000000000020373,0.000000000135425,0.000000000034254,0.0000000002177,0.000000000194855,0.000246448717695,0.000246448717695,0.000420530091114,0.000420530091114,0.00053547002388,0.00053547002388,0.000246448717695,0.000420530091114,0.00053547002388,0.058538887283049,0.099888381782258,0.1271900282727,0.000135002991175,0.1271900282727],[-0.000000000000036,0.000000000000007,-0.000000000000036,0.000000000000007,0.000000000000007,0.000000000000036,-0.000000000000007,0.000000000000036,-0.000000000000007,0.000000000000036,-0.000000000000007,1.26217744835362e-29,-1.57772181044202e-30,2.52435489670724e-29,3.15544362088405e-30,3.15544362088405e-29,0.0,0.000000000000146,0.000000000000146,0.000000000000146,0.000000000000146,0.000000000000146,0.000000000000146,0.000000000000146,0.000000000000146,0.000000000000146,0.000000000034729,0.000000000034696,0.000000000034738,-0.000000000000036,0.000000000034738],[0.000049004518048,0.000016112691258,-0.000000000003368,-0.000000000000801,-0.000000000000801,-0.000049004500626,-0.000016112689944,0.000000000003368,0.000000000000801,0.000000000003369,0.000000000000801,0.000000000017422,0.000000000001314,1.20897402338158e-20,-1.56560485645073e-20,1.59101962736174e-20,1.60479501183823e-20,0.000204689954507,0.000204689954507,0.000000000013736,0.000000000013736,0.000000000013737,0.000000000013737,0.000204689954507,0.000000000013736,0.000000000013737,0.048619941247598,0.000000003262817,0.000000003263029,-0.000000000003369,0.048619941247598],[0.000000000000422,0.000000000000778,0.000000000000423,0.000000000000778,0.000000000000779,-0.000000000000422,-0.000000000000778,-0.000000000000423,-0.000000000000778,-0.000000000000423,-0.000000000000779,4.19042912853401e-27,3.43312265952184e-27,4.2914033244023e-27,3.43312265952184e-27,4.2914033244023e-27,3.13020007191697e-27,0.000000000003514,0.000000000003514,0.000000000003514,0.000000000003514,0.000000000003514,0.000000000003514,0.000000000003514,0.000000000003514,0.000000000003514,0.000000000834751,0.000000000834788,0.000000000834728,0.000000000000423,0.000000000834788],[0.000000000001939,-0.000000000000818,0.000000000001938,-0.000000000000819,0.000000029762895,-0.000000000001939,0.000000000000818,-0.000000000001938,0.000000000000819,-0.000135000094486,-0.000000029656802,-2.51684059899911e-20,3.0701545728289e-19,-2.53734990413045e-19,-1.75425674797111e-19,0.000000001406539,0.000000000106093,0.000000000008349,0.000000000008349,0.000000000008349,0.000000000008349,0.000535482568678,0.000535482568678,0.000000000008349,0.000000000008349,0.000535482568678,0.000000001983134,0.00000000198306,0.127193008034729,0.000135001501025,0.127193008034729],[0.000000000001589,-0.000000000000435,0.000108990609673,0.000000039797034,-0.000000000000436,-0.000000000001589,0.000000000000435,-0.000108990583812,-0.000000039795083,-0.000000000001589,0.000000000000436,5.69002861727148e-21,6.27289741713398e-21,0.00000000002586,0.000000000001951,2.00402274849444e-21,-1.43121426020179e-21,0.000000000006537,0.000000000006537,0.000432444815902,0.000432444815902,0.000000000006537,0.000000000006537,0.000000000006537,0.000432444815902,0.000000000006537,0.000000001552687,0.102718482656545,0.00000000155268,0.000000000001589,0.102718482656545],[0.00077531112294,0.000254911815838,0.00056003276539,0.000000276929299,0.000000093841622,-0.000775307345038,-0.000254911582538,-0.000560031162319,-0.000000275899695,-0.000545016568206,-0.000000093620422,0.000000003777901,0.0000000002333,0.00000000160307,0.000000001029604,0.00000000061481,0.0000000002212,0.00323869126015,0.00323869126015,0.002222142885958,0.002222142885958,0.002161829150601,0.002161829150601,0.00323869126015,0.002222142885958,0.002161829150601,0.769285327982069,0.527824908746689,0.513498605941347,0.000545017183016,0.769285327982069],[0.00000000000077,-0.000000000000268,0.000054995109446,0.000000019857469,-0.000000000000268,-0.00000000000077,0.000000000000268,-0.000054994855232,-0.000000019838294,-0.00000000000077,0.000000000000268,-4.01246869183373e-20,-3.15658057518339e-20,0.000000000254215,0.000000000019175,-1.51339236194469e-21,4.60354501259995e-20,0.000000000003234,0.000000000003234,0.00021819560517,0.00021819560517,0.000000000003234,0.000000000003234,0.000000000003234,0.00021819560517,0.000000000003234,0.000000000768055,0.051827934250004,0.000000000768055,0.00000000000077,0.051827934250004],[0.000059006063225,0.000019400343264,0.00010599375872,0.000000039575712,-0.000000000003119,-0.000059006052921,-0.000019400347477,-0.000105993726363,-0.000000039551894,0.000000000013071,0.000000000003119,0.000000000010304,-0.000000000004213,0.000000000032357,0.000000000023818,2.09911767253289e-18,-4.41764956415574e-19,0.00024644871514,0.00024644871514,0.000420530086737,0.000420530086737,0.000000000053302,0.000000000053302,0.00024644871514,0.000420530086737,0.000000000053302,0.058538886676292,0.099888380742594,0.000000012660755,-0.000000000013071,0.099888380742594],[0.000000000001616,-0.000000000000678,0.000000000001616,-0.000000000000679,0.000000031134541,-0.000000000001616,0.000000000000678,-0.000000000001616,0.000000000000679,-0.000135001976726,-0.000000031073419,-3.07194894689348e-20,1.55971218312367e-19,-1.18414752207725e-19,-1.05943184514582e-19,0.000000000810332,0.000000000061122,0.000000000006954,0.000000000006954,0.000000000006954,0.000000000006954,0.000535470077762,0.000535470077762,0.000000000006954,0.000000000006954,0.000535470077762,0.000000001651729,0.00000000165178,0.127190041071226,0.000135002787058,0.127190041071226],[-0.000000000000004,0.000000000000016,-0.000000000000004,0.000000000000016,0.000000000000016,0.000000000000004,-0.000000000000016,0.000000000000004,-0.000000000000016,0.000000000000004,-0.000000000000016,3.15544362088405e-30,-3.15544362088405e-30,4.73316543132607e-30,-3.15544362088405e-30,4.73316543132607e-30,-3.15544362088405e-30,0.000000000000065,0.000000000000065,0.000000000000065,0.000000000000065,0.000000000000065,0.000000000000065,0.000000000000065,0.000000000000065,0.000000000000065,0.000000000015527,0.000000000015526,0.00000000001553,-0.000000000000004,0.00000000001553],[0.000049004500898,0.000016112689948,-0.000000000003096,-0.000000000000796,-0.000000000000797,-0.000049004480737,-0.000016112688428,0.000000000003096,0.000000000000796,0.000000000003098,0.000000000000797,0.00000000002016,0.000000000001521,1.45798248923421e-20,-1.73450775632034e-20,5.87483623536264e-21,6.30018478479962e-21,0.000204689955537,0.000204689955537,0.000000000012686,0.000000000012686,0.000000000012687,0.000000000012687,0.000204689955537,0.000000000012686,0.000000000012687,0.048619941492201,0.000000003013228,0.000000003013452,-0.000000000003098,0.048619941492201],[0.000000000000025,0.000000000000416,0.000000000000025,0.000000000000416,0.000000000000416,-0.000000000000025,-0.000000000000416,-0.000000000000025,-0.000000000000416,-0.000000000000025,-0.000000000000416,1.76704842769507e-28,1.51461293802434e-28,1.45150406560666e-28,2.01948391736579e-28,1.45150406560666e-28,2.52435489670724e-28,0.000000000001654,0.000000000001654,0.000000000001654,0.000000000001654,0.000000000001654,0.000000000001654,0.000000000001654,0.000000000001654,0.000000000001654,0.000000000392827,0.000000000392819,0.000000000392832,0.000000000000025,0.000000000392832],[0.000000000001949,-0.000000000000792,0.000000000001948,-0.000000000000792,0.000000029656828,-0.000000000001949,0.000000000000792,-0.000000000001948,0.000000000000792,-0.000134999942588,-0.00000002964537,-1.21064021878244e-21,3.9422228723753e-20,-1.7312138164924e-20,-3.11150398263517e-20,0.000000000151908,0.000000000011458,0.000000000008346,0.000000000008346,0.000000000008346,0.000000000008346,0.000535482568718,0.000535482568718,0.000000000008346,0.000000000008346,0.000535482568718,0.000000001982457,0.000000001982385,0.127193008044212,0.000135000094496,0.127193008044212],[0.0000000000016,-0.000000000000603,0.000108990583823,0.000000039794916,-0.000000000000604,-0.0000000000016,0.000000000000603,-0.000108990528081,-0.000000039790711,-0.0000000000016,0.000000000000604,-6.93843298336028e-21,-1.73737493880686e-20,0.000000000055742,0.000000000004205,-5.43681380875705e-21,1.23273772482627e-20,0.000000000006783,0.000000000006783,0.000432444815945,0.000432444815945,0.000000000006783,0.000000000006783,0.000000000006783,0.000432444815945,0.000000000006783,0.000000001611238,0.102718482666626,0.000000001611249,0.0000000000016,0.102718482666626],[0.000775307381912,0.00025491159227,0.000560031199202,0.00000027590941,0.000000093630145,-0.000775304577472,-0.000254911419084,-0.000560030009198,-0.000000275145107,-0.000545016148709,-0.000000093465942,0.00000000280444,0.000000000173185,0.000000001190003,0.000000000764303,0.000000000456391,0.000000000164203,0.003238691411219,0.003238691411219,0.002222143032323,0.002222143032323,0.002161829296949,0.002161829296949,0.003238691411219,0.002222143032323,0.002161829296949,0.76928536386539,0.527824943512698,0.513498640703182,0.0005450166051,0.76928536386539],[0.000059006053125,0.000019400347655,0.000105993726567,0.000000039552072,-0.000000000002941,-0.000059006012577,-0.000019400364234,-0.000105993599234,-0.00000003945834,0.000000000012867,0.000000000002941,0.000000000040548,-0.000000000016579,0.000000000127333,0.000000000093732,8.04735480383266e-18,-1.69862007267643e-18,0.000246448716129,0.000246448716129,0.000420530087546,0.000420530087546,0.000000000052353,0.000000000052353,0.000246448716129,0.000420530087546,0.000000000052353,0.058538886911247,0.099888380934808,0.000000012435454,-0.000000000012867,0.099888380934808],[0.000000000001631,-0.000000000000675,0.00000000000163,-0.000000000000676,0.000000031073422,-0.000000000001631,0.000000000000675,-0.00000000000163,0.000000000000676,-0.000134998622947,-0.00000003082045,-7.91542610226625e-20,6.11809743678871e-19,-5.0486691815929e-19,-3.54191536108738e-19,0.000000003353793,0.000000000252972,0.000000000007002,0.000000000007002,0.000000000007002,0.000000000007002,0.000535470077819,0.000535470077819,0.000000000007002,0.000000000007002,0.000535470077819,0.000000001663127,0.000000001663178,0.127190041084774,0.00013500197674,0.127190041084774],[-0.00000000000003,0.000000000000017,-0.00000000000003,0.000000000000017,0.000000000000017,0.00000000000003,-0.000000000000017,0.00000000000003,-0.000000000000017,0.00000000000003,-0.000000000000017,1.89326617253043e-29,3.15544362088405e-30,1.26217744835362e-29,-3.15544362088405e-30,6.31088724176809e-30,0.0,0.000000000000139,0.000000000000139,0.000000000000139,0.000000000000139,0.000000000000139,0.000000000000139,0.000000000000139,0.000000000000139,0.000000000000139,0.000000000032949,0.000000000032925,0.000000000032945,-0.00000000000003,0.000000000032949],[0.000049004480879,0.00001611268844,-0.000000000002955,-0.000000000000784,-0.000000000000785,-0.000049004461923,-0.00001611268701,0.000000000002955,0.000000000000784,0.000000000002956,0.000000000000785,0.000000000018956,0.00000000000143,5.72658995995665e-21,-1.68992175195145e-20,1.71288021447635e-20,1.59712623370784e-20,0.000204689956086,0.000204689956086,0.000000000012129,0.000000000012129,0.00000000001213,0.00000000001213,0.000204689956086,0.000000000012129,0.00000000001213,0.04861994162268,0.000000002881106,0.000000002881323,-0.000000000002956,0.04861994162268],[0.000000000000016,0.000000000000098,0.000000000000016,0.000000000000098,0.000000000000098,-0.000000000000016,-0.000000000000098,-0.000000000000016,-0.000000000000098,-0.000000000000016,-0.000000000000098,3.15544362088405e-29,0.0,3.78653234506086e-29,0.0,4.10207670714926e-29,2.52435489670724e-29,0.000000000000395,0.000000000000395,0.000000000000395,0.000000000000395,0.000000000000395,0.000000000000395,0.000000000000395,0.000000000000395,0.000000000000395,0.000000000093798,0.00000000009381,0.000000000093826,0.000000000000016,0.000000000093826],[0.000000000000776,0.000000000000413,0.000000000000777,0.000000000000412,0.000000000000413,-0.000000000000776,-0.000000000000413,-0.000000000000777,-0.000000000000412,-0.000000000000777,-0.000000000000413,0.0,2.52435489670724e-28,-1.0097419586829e-28,1.0097419586829e-28,0.0,1.51461293802434e-28,0.000000000003489,0.000000000003489,0.000000000003489,0.000000000003489,0.000000000003488,0.000000000003488,0.000000000003489,0.000000000003489,0.000000000003488,0.000000000828648,0.000000000828737,0.000000000828619,0.000000000000777,0.000000000828737],[0.000000000001988,-0.000000000000841,0.000000000001987,-0.000000000000842,0.000000029645321,-0.000000000001988,0.000000000000841,-0.000000000001987,0.000000000000842,-0.00013499979569,-0.000000029634238,2.59862586063298e-21,1.76113604521471e-20,-3.10596448776274e-20,-6.90512826044026e-21,0.000000000146936,0.000000000011083,0.000000000008563,0.000000000008563,0.000000000008563,0.000000000008563,0.000535482568872,0.000535482568872,0.000000000008563,0.000000000008563,0.000535482568872,0.000000002034036,0.000000002033966,0.127193008080751,0.000134999942627,0.127193008080751],[0.000000000001637,-0.000000000000631,0.000108990528118,0.000000039790683,-0.000000000000632,-0.000000000001637,0.000000000000631,-0.000108990386144,-0.000000039779974,-0.000000000001638,0.000000000000632,-3.81041878064062e-20,-2.10598966207199e-20,0.000000000141974,0.000000000010709,5.20992398284744e-21,1.17598415819912e-20,0.000000000006962,0.000000000006962,0.000432444816093,0.000432444816093,0.000000000006962,0.000000000006962,0.000000000006962,0.000432444816093,0.000000000006962,0.000000001653731,0.102718482701902,0.000000001653733,0.000000000001638,0.102718482701902],[0.000775304607322,0.000254911427087,0.000560030039056,0.000000275153095,0.000000093473937,-0.000775302086,-0.000254911271385,-0.000560028969187,-0.000000274465951,-0.000545015768258,-0.000000093326311,0.000000002521323,0.000000000155702,0.000000001069869,0.000000000687144,0.000000000410317,0.000000000147626,0.003238691533667,0.003238691533667,0.00222214315081,0.00222214315081,0.002161829415421,0.002161829415421,0.003238691533667,0.00222214315081,0.002161829415421,0.769285392950356,0.527824971656724,0.513498668843758,0.000545016178575,0.769285392950356],[0.000059006013257,0.000019400364703,0.000105993599915,0.000000039458808,-0.000000000002473,-0.000059005940861,-0.000019400394304,-0.000105993372569,-0.000000039291454,0.000000000012187,0.000000000002473,0.000000000072396,-0.000000000029602,0.000000000227346,0.000000000167354,1.34781340052881e-17,-3.17986784705049e-18,0.000246448719274,0.000246448719274,0.000420530090247,0.000420530090247,0.000000000049322,0.000000000049322,0.000246448719274,0.000420530090247,0.000000000049322,0.058538887658291,0.099888381576482,0.000000011715365,-0.000000000012187,0.099888381576482],[0.000000000000566,-0.000000000000186,0.000000000000566,-0.000000000000186,0.00000000971206,-0.000000000000566,0.000000000000186,-0.000000000000566,0.000000000000186,-0.000042999268183,-0.000000009707043,-3.93344879030726e-21,1.75501525451844e-20,-1.08005832881198e-20,-9.3331732875525e-21,0.000000000066501,0.000000000005016,0.000000000002363,0.000000000002363,0.000000000002363,0.000000000002363,0.000170556236604,0.000170556236604,0.000000000002363,0.000000000002363,0.000170556236604,0.000000000561221,0.000000000561221,0.040512169847602,0.000042999334684,0.040512169847602],[0.000000000001078,-0.000000000000491,0.000000000001078,-0.000000000000491,0.000000021108388,-0.000000000001078,0.000000000000491,-0.000000000001078,0.000000000000491,-0.000091999112336,-0.000000021095117,1.72132058692446e-20,2.64129224456422e-20,-2.91174714494314e-20,-2.03842981680817e-20,0.00000000017594,0.000000000013271,0.0000000000047,0.0000000000047,0.0000000000047,0.0000000000047,0.000364913841268,0.000364913841268,0.0000000000047,0.0000000000047,0.000364913841268,0.000000001116294,0.000000001116349,0.086677871249679,0.000091999288277,0.086677871249679],[0.000000000000007,-0.000000000000011,0.000000000000007,-0.000000000000011,-0.000000000000011,-0.000000000000007,0.000000000000011,-0.000000000000007,0.000000000000011,-0.000000000000007,0.000000000000011,3.15544362088405e-30,1.57772181044202e-30,3.15544362088405e-30,0.0,1.57772181044202e-30,3.15544362088405e-30,0.000000000000052,0.000000000000052,0.000000000000052,0.000000000000052,0.000000000000052,0.000000000000052,0.000000000000052,0.000000000000052,0.000000000000052,0.000000000012277,0.000000000012274,0.000000000012277,0.000000000000007,0.000000000012277],[0.000049004462174,0.000016112687026,-0.000000000002703,-0.000000000000768,-0.000000000000768,-0.000049004441779,-0.000016112685488,0.000000000002703,0.000000000000768,0.000000000002704,0.000000000000768,0.000000000020396,0.000000000001538,2.9359204684082e-21,-1.49075817804982e-20,3.58986490376819e-21,1.08520792192448e-20,0.000204689957054,0.000204689957054,0.00000000001115,0.00000000001115,0.000000000011151,0.000000000011151,0.000204689957054,0.00000000001115,0.000000000011151,0.048619941852628,0.000000002648497,0.000000002648691,-0.000000000002704,0.048619941852628],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],[-0.000000000000273,0.000000000001019,-0.000000000000272,0.000000000001019,0.000000000001019,0.000000000000273,-0.000000000001019,0.000000000000272,-0.000000000001019,0.000000000000273,-0.000000000001019,2.01948391736579e-28,2.01948391736579e-28,2.01948391736579e-28,4.03896783473158e-28,3.02922587604869e-28,2.01948391736579e-28,0.000000000004184,0.000000000004184,0.000000000004184,0.000000000004184,0.000000000004184,0.000000000004184,0.000000000004184,0.000000000004184,0.000000000004184,0.000000000993841,0.000000000993724,0.000000000993776,-0.000000000000273,0.000000000993841],[0.000000000001962,-0.000000000000839,0.000000000001961,-0.00000000000084,0.000000029634239,-0.000000000001962,0.000000000000839,-0.000000000001961,0.00000000000084,-0.00013499967813,-0.000000029625374,-1.75973894604584e-20,1.49834368276088e-20,-3.72381169823145e-20,-2.51235604213543e-20,0.000000000117534,0.000000000008865,0.000000000008466,0.000000000008466,0.000000000008466,0.000000000008466,0.000535482568769,0.000535482568769,0.000000000008466,0.000000000008466,0.000535482568769,0.00000000201091,0.000000002010835,0.127193008056246,0.000134999795664,0.127193008056246],[0.000000000001683,-0.000000000000691,0.00010899038619,0.000000039779914,-0.000000000000692,-0.000000000001683,0.000000000000691,-0.000108990302895,-0.000000039773631,-0.000000000001684,0.000000000000692,1.53342382486943e-20,-1.42873911003073e-20,0.000000000083295,0.000000000006283,7.85224218582619e-22,4.0191309591797e-20,0.00000000000722,0.00000000000722,0.000432444816276,0.000432444816276,0.00000000000722,0.00000000000722,0.00000000000722,0.000432444816276,0.00000000000722,0.000000001714967,0.102718482745188,0.00000000171498,0.000000000001684,0.102718482745188],[0.000775302117423,0.00025491127969,0.000560029000618,0.000000274474241,0.000000093334609,-0.000775298985224,-0.000254911086265,-0.000560027671537,-0.000000273620613,-0.000545015289969,-0.000000093151215,0.000000003132198,0.000000000193426,0.00000000132908,0.000000000853628,0.00000000050973,0.000000000183394,0.00323869166242,0.00323869166242,0.002222143275541,0.002222143275541,0.002161829540136,0.002161829540136,0.00323869166242,0.002222143275541,0.002161829540136,0.769285423533133,0.527825001283986,0.513498698467463,0.000545015799699,0.769285423533133],[0.000059005940776,0.00001940039525,-0.000000000012267,-0.000000000001525,-0.000000000001527,-0.000059005710659,-0.000019400377893,0.000000000012267,0.000000000001525,0.000000000012271,0.000000000001527,0.000000000230117,0.000000000017357,2.27684754556213e-19,-6.24744909855614e-19,4.15531952821356e-19,4.8493455656103e-19,0.000246448720128,0.000246448720128,0.000000000049046,0.000000000049046,0.000000000049046,0.000000000049046,0.000246448720128,0.000000000049046,0.000000000049046,0.058538887861088,0.000000011649855,0.000000011649854,-0.000000000012271,0.058538887861088],[0.000000000001463,-0.000000000000701,0.000105993386215,0.000000039293224,-0.000000000000702,-0.000000000001463,0.000000000000701,-0.000105993323604,-0.000000039266642,-0.000000000001464,0.000000000000702,-3.70535878712504e-19,-2.63941254124568e-19,0.000000000062612,0.000000000026582,-5.35046447308025e-20,4.20573324517034e-19,0.000000000006438,0.000000000006438,0.000420530144393,0.000420530144393,0.000000000006438,0.000000000006438,0.000000000006438,0.000420530144393,0.000000000006438,0.000000001529265,0.099888394437594,0.000000001529277,0.000000000001464,0.099888394437594],[0.000000000000565,-0.000000000000193,0.000000000000565,-0.000000000000193,0.000000009707037,-0.000000000000565,0.000000000000193,-0.000000000000565,0.000000000000193,-0.000042999100052,-0.000000009694355,-3.46896274352592e-21,3.79142587771006e-20,-2.6344722555243e-20,-3.05531229196964e-20,0.000000000168131,0.000000000012682,0.000000000002369,0.000000000002369,0.000000000002369,0.000000000002369,0.000170556236602,0.000170556236602,0.000000000002369,0.000000000002369,0.000170556236602,0.000000000562818,0.000000000562818,0.040512169847231,0.000042999268183,0.040512169847231],[0.000000000001112,-0.00000000000049,0.000000000001112,-0.000000000000491,0.000000021095118,-0.000000000001112,0.00000000000049,-0.000000000001112,0.000000000000491,-0.000091999087501,-0.000000021093242,-3.86039981609991e-21,1.25195691092977e-20,8.48028148928778e-22,-9.54124361856683e-23,0.000000000024869,0.000000000001876,0.000000000004822,0.000000000004822,0.000000000004822,0.000000000004822,0.000364913841402,0.000364913841402,0.000000000004822,0.000000000004822,0.000364913841402,0.000000001145283,0.00000000114534,0.086677871281681,0.00009199911237,0.086677871281681],[7.1090116717832e-19,1.23162514808039e-18,7.87709209327844e-19,-1.09856458699681e-18,-1.33045878909657e-19,-7.1090116717832e-19,-1.23162514808039e-18,-7.87709209327844e-19,1.09856458699681e-18,1.49963898643771e-18,1.33045878909657e-19,1.92592994438724e-34,5.77778983316171e-34,2.88889491658085e-34,-3.85185988877447e-34,-3.85185988877447e-34,-2.40741243048404e-35,5.64270796176697e-18,5.64270796176697e-18,5.36343940501538e-18,5.36343940501538e-18,5.97160594995732e-18,5.97160594995732e-18,5.64270796176697e-18,5.36343940501538e-18,5.97160594995732e-18,0.000000000000001,0.000000000000001,0.000000000000001,-1.49963898643771e-18,0.000000000000001],[0.000049004442025,0.000016112685494,-0.000000000002458,-0.000000000000762,-0.000000000000762,-0.000049004410846,-0.000016112683142,0.000000000002458,0.000000000000762,0.000000000002459,0.000000000000762,0.000000000031179,0.000000000002352,1.2577607158573e-20,-1.91084596178465e-20,1.71801034986131e-20,2.75926473948756e-20,0.000204689957988,0.000204689957988,0.000000000010209,0.000000000010209,0.00000000001021,0.00000000001021,0.000204689957988,0.000000000010209,0.00000000001021,0.048619942074403,0.000000002424887,0.000000002425083,-0.000000000002459,0.048619942074403],[0.00000000000005,0.000000000000832,0.00000000000005,0.000000000000832,0.000000000000832,-0.00000000000005,-0.000000000000832,-0.00000000000005,-0.000000000000832,-0.00000000000005,-0.000000000000832,1.76704842769507e-28,1.0097419586829e-28,1.76704842769507e-28,1.0097419586829e-28,1.19906857593594e-28,1.0097419586829e-28,0.000000000003308,0.000000000003308,0.000000000003308,0.000000000003308,0.000000000003308,0.000000000003308,0.000000000003308,0.000000000003308,0.000000000003308,0.000000000785648,0.000000000785655,0.000000000785655,0.00000000000005,0.000000000785655],[0.000000000001881,-0.000000000000793,0.000000000001881,-0.000000000000794,0.00000002962542,-0.000000000001881,0.000000000000793,-0.000000000001881,0.000000000000794,-0.000134999584424,-0.000000029618358,-6.71366927011887e-21,2.64463634837266e-20,5.88608718416307e-21,-1.52775304334753e-20,0.000000000093625,0.000000000007062,0.000000000008099,0.000000000008099,0.000000000008099,0.000000000008099,0.000535482568449,0.000535482568449,0.000000000008099,0.000000000008099,0.000535482568449,0.000000001923724,0.000000001923651,0.12719300798019,0.000134999678049,0.12719300798019],[0.000000000001649,-0.000000000000658,0.00010899030286,0.000000039773664,-0.000000000000659,-0.000000000001649,0.000000000000658,-0.00010899024452,-0.000000039769264,-0.000000000001649,0.000000000000659,-3.52777861722691e-20,-9.96352366316557e-21,0.00000000005834,0.000000000004401,-1.93263177058325e-21,2.71027431137684e-20,0.000000000007043,0.000000000007043,0.000432444816139,0.000432444816139,0.000000000007043,0.000000000007043,0.000000000007043,0.000432444816139,0.000000000007043,0.000000001672988,0.102718482712664,0.000000001673001,0.000000000001649,0.102718482712664],[0.000775299035138,0.000254911099552,0.000560027721463,0.000000273633877,0.000000093164491,-0.000775293255187,-0.000254910742618,-0.000560025268866,-0.000000272058648,-0.000545014399288,-0.000000092826069,0.000000005779951,0.000000000356935,0.000000002452597,0.000000001575229,0.000000000940622,0.000000000338422,0.003238691867056,0.003238691867056,0.002222143473668,0.002222143473668,0.00216182973824,0.00216182973824,0.003238691867056,0.002222143473668,0.00216182973824,0.769285472140279,0.527825048345236,0.513498745523002,0.00054501533991,0.769285472140279],[0.000059005716122,0.0000194003783,-0.000000000006804,-0.00000000000112,-0.000000000001121,-0.000059004962918,-0.000019400321487,0.000000000006804,0.00000000000112,0.000000000006806,0.000000000001121,0.000000000753204,0.000000000056813,4.12637791645288e-19,-1.11629993266696e-18,7.45079964884607e-19,9.31864814240865e-19,0.000246448741223,0.000246448741223,0.000000000027359,0.000000000027359,0.000000000027359,0.000000000027359,0.000246448741223,0.000000000027359,0.000000000027359,0.058538892871829,0.000000006498564,0.000000006498563,-0.000000000006806,0.058538892871829],[0.000000000001629,-0.000000000000554,0.000105993323769,0.000000039266789,-0.000000000000555,-0.000000000001629,0.000000000000554,-0.000105993210766,-0.000000039218813,-0.000000000001629,0.000000000000555,-6.30022312470179e-19,-5.59917395332918e-19,0.000000000113003,0.000000000047975,-1.95111941883252e-19,8.4046432438732e-19,0.000000000006827,0.000000000006827,0.000420530145049,0.000420530145049,0.000000000006827,0.000000000006827,0.000000000006827,0.000420530145049,0.000000000006827,0.000000001621516,0.099888394593563,0.000000001621527,0.000000000001629,0.099888394593563],[0.000000000001262,-0.000000000000604,0.000000000001262,-0.000000000000604,0.000000021093129,-0.000000000001262,0.000000000000604,-0.000000000001262,0.000000000000604,-0.000091999067594,-0.000000021091616,1.1955186261318e-20,5.13821019043206e-21,5.02493885211995e-21,1.03987755597849e-20,0.000000000020056,0.000000000001513,0.00000000000555,0.00000000000555,0.00000000000555,0.00000000000555,0.000364913841996,0.000364913841996,0.00000000000555,0.00000000000555,0.000364913841996,0.000000001318196,0.00000000131824,0.086677871422798,0.000091999087651,0.086677871422798],[-0.000000000000008,0.000000000000004,-0.000000000000008,0.000000000000004,0.000000000000004,0.000000000000008,-0.000000000000004,0.000000000000008,-0.000000000000004,0.000000000000008,-0.000000000000004,3.15544362088405e-30,-7.88860905221012e-31,1.57772181044202e-30,-1.57772181044202e-30,3.15544362088405e-30,0.0,0.000000000000035,0.000000000000035,0.000000000000035,0.000000000000035,0.000000000000035,0.000000000000035,0.000000000000035,0.000000000000035,0.000000000000035,0.000000000008235,0.000000000008235,0.000000000008235,-0.000000000000008,0.000000000008235],[0.000049004411499,0.000016112683196,-0.000000000001805,-0.000000000000709,-0.000000000000709,-0.000049004326353,-0.000016112676773,0.000000000001805,0.000000000000709,0.000000000001805,0.000000000000709,0.000000000085146,0.000000000006422,1.73003122690523e-20,-4.34261061069106e-20,3.31531307636611e-20,3.4904463971408e-20,0.000204689960516,0.000204689960516,0.000000000007692,0.000000000007692,0.000000000007693,0.000000000007693,0.000204689960516,0.000000000007692,0.000000000007693,0.048619942674816,0.000000001827098,0.000000001827278,-0.000000000001805,0.048619942674816],[-0.000000000000112,0.000000000000925,-0.000000000000111,0.000000000000925,0.000000000000926,0.000000000000112,-0.000000000000925,0.000000000000111,-0.000000000000925,0.000000000000111,-0.000000000000926,5.04870979341448e-29,0.0,1.13595970351826e-28,0.0,1.0097419586829e-28,2.01948391736579e-28,0.000000000003698,0.000000000003698,0.000000000003697,0.000000000003697,0.000000000003698,0.000000000003698,0.000000000003698,0.000000000003697,0.000000000003698,0.000000000878459,0.000000000878253,0.000000000878446,-0.000000000000111,0.000000000878459],[0.000000000001944,-0.000000000000776,0.000000000001944,-0.000000000000777,0.000000029618375,-0.000000000001944,0.000000000000776,-0.000000000001944,0.000000000000777,-0.000134999386548,-0.000000029603445,-8.09892416581634e-21,1.29206272052024e-20,-7.53775187317362e-20,1.23502595156594e-20,0.000000000197939,0.00000000001493,0.000000000008307,0.000000000008307,0.000000000008307,0.000000000008307,0.000535482568701,0.000535482568701,0.000000000008307,0.000000000008307,0.000535482568701,0.000000001973128,0.000000001973061,0.127193008040189,0.000134999584488,0.127193008040189],[0.000000000001728,-0.000000000000637,0.0001089902446,0.000000039769285,-0.000000000000637,-0.000000000001728,0.000000000000637,-0.000108990132376,-0.00000003976082,-0.000000000001729,0.000000000000637,-4.30205252757988e-20,-4.51129462879629e-21,0.000000000112223,0.000000000008465,-4.5796862691934e-21,2.67022822802322e-20,0.000000000007308,0.000000000007308,0.000432444816454,0.000432444816454,0.000000000007308,0.000000000007308,0.000000000007308,0.000432444816454,0.000000000007308,0.000000001735807,0.10271848278767,0.000000001735825,0.000000000001729,0.10271848278767],[0.000775293315639,0.000254910758645,0.000560025329333,0.000000272074647,0.000000092842082,-0.000775288276438,-0.000254910447455,-0.000560023191057,-0.000000270701297,-0.000545013639701,-0.000000092547031,0.000000005039201,0.000000000311191,0.000000002138276,0.00000000137335,0.000000000820073,0.000000000295051,0.003238692114818,0.003238692114818,0.002222143713629,0.002222143713629,0.002161829978172,0.002161829978172,0.003238692114818,0.002222143713629,0.002161829978172,0.76928553099106,0.527825105342932,0.513498802513808,0.000545014459774,0.76928553099106],[0.000059004968912,0.000019400321939,-0.000000000000809,-0.000000000000671,-0.000000000000671,-0.000059004644218,-0.000019400297448,0.000000000000809,0.000000000000671,0.000000000000809,0.000000000000671,0.000000000324694,0.000000000024491,7.90465641667816e-20,-4.43459013626302e-20,1.65125443085274e-20,7.12405512999724e-20,0.000246448764378,0.000246448764378,0.00000000000417,0.00000000000417,0.00000000000417,0.00000000000417,0.000246448764378,0.00000000000417,0.00000000000417,0.058538898371775,0.000000000990464,0.000000000990464,-0.000000000000809,0.058538898371775],[0.000000000001597,-0.000000000000563,0.000105993210734,0.000000039218805,-0.000000000000564,-0.000000000001597,0.000000000000563,-0.000105993170386,-0.000000039201675,-0.000000000001597,0.000000000000564,-2.15852992891524e-19,-2.04395520154647e-19,0.000000000040348,0.00000000001713,-7.22501057495736e-20,2.70755694329499e-19,0.000000000006718,0.000000000006718,0.000420530144923,0.000420530144923,0.000000000006718,0.000000000006718,0.000000000006718,0.000420530144923,0.000000000006718,0.000000001595802,0.099888394563568,0.000000001595807,0.000000000001597,0.099888394563568],[0.000000000001211,-0.000000000000413,0.000000000001211,-0.000000000000413,0.000000021091807,-0.000000000001211,0.000000000000413,-0.000000000001211,0.000000000000413,-0.000091999051515,-0.000000021090598,-1.80284604195236e-20,-6.54436740100654e-21,-1.10749285627068e-20,-7.1011902099674e-21,0.000000000016028,0.000000000001209,0.000000000005075,0.000000000005075,0.000000000005075,0.000000000005075,0.000364913841794,0.000364913841794,0.000000000005075,0.000000000005075,0.000364913841794,0.000000001205353,0.000000001205424,0.086677871374606,0.000091999067543,0.086677871374606],[0.000049004326732,0.000016112676783,-0.000000000001426,-0.000000000000699,-0.000000000000699,-0.000049004319472,-0.000016112676236,0.000000000001426,0.000000000000699,0.000000000001426,0.000000000000699,0.00000000000726,0.000000000000548,6.20364416392352e-21,4.59490994675607e-21,-4.55236507517215e-21,-1.76933458446372e-21,0.000204689961956,0.000204689961956,0.000000000006299,0.000000000006299,0.0000000000063,0.0000000000063,0.000204689961956,0.000000000006299,0.0000000000063,0.048619943017053,0.000000001496235,0.000000001496397,-0.000000000001426,0.048619943017053],[0.000000000000373,0.000000000000646,0.000000000000373,0.000000000000646,0.000000000000646,-0.000000000000373,-0.000000000000646,-0.000000000000373,-0.000000000000646,-0.000000000000373,-0.000000000000646,1.0097419586829e-28,1.0097419586829e-28,2.52435489670724e-28,2.01948391736579e-28,2.01948391736579e-28,2.01948391736579e-28,0.000000000002959,0.000000000002959,0.000000000002958,0.000000000002958,0.000000000002958,0.000000000002958,0.000000000002959,0.000000000002958,0.000000000002958,0.000000000702752,0.000000000702711,0.000000000702664,0.000000000000373,0.000000000702752],[0.000000000001955,-0.000000000000782,0.000000000001954,-0.000000000000782,0.000000029603439,-0.000000000001955,0.000000000000782,-0.000000000001954,0.000000000000782,-0.000134999230677,-0.000000029591681,-8.35407545745914e-21,2.84664865677523e-20,-1.02293900335513e-20,-2.73906237773631e-20,0.000000000155882,0.000000000011758,0.000000000008353,0.000000000008353,0.000000000008352,0.000000000008352,0.000535482568741,0.000535482568741,0.000000000008353,0.000000000008352,0.000535482568741,0.000000001983995,0.000000001983933,0.12719300804969,0.000134999386559,0.12719300804969],[0.000000000001761,-0.000000000000696,0.000108990132409,0.000000039760761,-0.000000000000697,-0.000000000001761,0.000000000000696,-0.000108990076551,-0.000000039756547,-0.000000000001762,0.000000000000697,1.99783650380005e-20,-3.43022666909724e-20,0.000000000055858,0.000000000004213,-5.43858489615258e-21,2.05513291780161e-20,0.000000000007514,0.000000000007514,0.000432444816585,0.000432444816585,0.000000000007514,0.000000000007514,0.000000000007514,0.000432444816585,0.000000000007514,0.000000001784809,0.102718482818698,0.000000001784835,0.000000000001762,0.102718482818698],[0.000775288323891,0.000254910460091,0.000560023238522,0.000000270713911,0.000000092559657,-0.00077528489599,-0.000254910248405,-0.000560021783967,-0.000000269779694,-0.000545013129328,-0.000000092358949,0.0000000034279,0.000000000211687,0.000000001454555,0.000000000934217,0.000000000557852,0.000000000200707,0.003238692309372,0.003238692309372,0.00222214390199,0.00222214390199,0.00216183016651,0.00216183016651,0.003238692309372,0.00222214390199,0.00216183016651,0.769285577203315,0.527825150084346,0.513498847249795,0.00054501368718,0.769285577203315],[0.000000000001487,-0.00000000000055,0.000105993170277,0.000000039201688,-0.000000000000551,-0.000000000001487,0.00000000000055,-0.000105990716122,-0.000000039016575,-0.000000000001488,0.000000000000551,-3.78923882509517e-19,-3.33437433680779e-19,0.000000002454154,0.000000000185113,-8.11994426709283e-20,5.30827394317369e-19,0.000000000006292,0.000000000006292,0.000420530144489,0.000420530144489,0.000000000006292,0.000000000006292,0.000000000006292,0.000420530144489,0.000000000006292,0.000000001494649,0.099888394460389,0.000000001494651,0.000000000001488,0.099888394460389],[1.04143509572784e-18,-3.88530405911055e-18,3.80643786303081e-19,-1.42234305058663e-18,5.30968643832786e-18,-1.04143509572784e-18,3.88530405911055e-18,-3.80643786303082e-19,1.42234305058663e-18,1.42149099371696e-18,-5.30968643832786e-18,1.92592994438724e-34,0.0,-1.15555796663234e-33,-1.92592994438724e-34,7.70371977754894e-34,0.0,1.5959988256083e-17,1.5959988256083e-17,5.84176114582767e-18,5.84176114582767e-18,2.18017494019107e-17,2.18017494019107e-17,1.5959988256083e-17,5.84176114582767e-18,2.18017494019107e-17,0.000000000000004,0.000000000000001,0.000000000000005,-1.42149099371696e-18,0.000000000000005],[0.000000000001251,-0.000000000000436,0.000000000001251,-0.000000000000437,0.000000021090575,-0.000000000001251,0.000000000000436,-0.000000000001251,0.000000000000437,-0.000091999027088,-0.000000021088729,2.2786102399825e-20,5.05417946463046e-21,-1.05165392400712e-21,-1.69298940860645e-21,0.000000000024467,0.000000000001846,0.000000000005256,0.000000000005256,0.000000000005256,0.000000000005256,0.000364913841954,0.000364913841954,0.000000000005256,0.000000000005256,0.000364913841954,0.000000001248467,0.000000001248534,0.08667787141264,0.000091999051555,0.08667787141264],[0.000049004319518,0.000016112676129,-0.00000000000138,-0.000000000000806,-0.000000000000806,-0.000049004316165,-0.000016112675876,0.00000000000138,0.000000000000806,0.00000000000138,0.000000000000806,0.000000000003353,0.000000000000253,-3.55842113527802e-21,-6.87864333470918e-21,3.18747202996829e-21,8.24513884040146e-21,0.000204689961996,0.000204689961996,0.00000000000634,0.00000000000634,0.000000000006341,0.000000000006341,0.000204689961996,0.00000000000634,0.000000000006341,0.048619943026481,0.000000001506,0.0000000015061,-0.00000000000138,0.048619943026481],[0.000000000000373,0.000000000000646,0.000000000000373,0.000000000000646,0.000000000000646,-0.000000000000373,-0.000000000000646,-0.000000000000373,-0.000000000000646,-0.000000000000373,-0.000000000000646,1.51461293802434e-28,2.01948391736579e-28,1.0097419586829e-28,1.0097419586829e-28,2.01948391736579e-28,1.0097419586829e-28,0.000000000002958,0.000000000002958,0.000000000002959,0.000000000002959,0.000000000002958,0.000000000002958,0.000000000002958,0.000000000002959,0.000000000002958,0.00000000070273,0.000000000702763,0.000000000702633,0.000000000000373,0.000000000702763],[0.000000000001953,-0.000000000000808,0.000000000001953,-0.000000000000808,0.000000029591655,-0.000000000001953,0.000000000000808,-0.000000000001953,0.000000000000808,-0.000134999122548,-0.000000029583499,-1.4519160403258e-21,2.6940855426449e-20,-2.22636744312027e-20,-7.27286032786962e-22,0.000000000108127,0.000000000008156,0.000000000008386,0.000000000008386,0.000000000008386,0.000000000008386,0.000535482568735,0.000535482568735,0.000000000008386,0.000000000008386,0.000535482568735,0.000000001991866,0.000000001991806,0.127193008048205,0.000134999230675,0.127193008048205],[0.000000000001756,-0.000000000000612,0.000108990076546,0.000000039756631,-0.000000000000613,-0.000000000001756,0.000000000000612,-0.000108990036884,-0.00000003975364,-0.000000000001756,0.000000000000613,-9.67572650523079e-21,1.87106962089788e-20,0.000000000039662,0.000000000002992,-5.21555915077045e-21,1.6332255083753e-20,0.000000000007378,0.000000000007378,0.000432444816564,0.000432444816564,0.000000000007378,0.000000000007378,0.000000000007378,0.000432444816564,0.000000000007378,0.000000001752484,0.102718482813654,0.000000001752519,0.000000000001756,0.102718482813654],[0.000775284927578,0.000254910256669,0.000560021815562,0.000000269787942,0.000000092367206,-0.00077528267574,-0.000254910117609,-0.000560020860043,-0.000000269174242,-0.000545012794472,-0.000000092235358,0.000000002251837,0.00000000013906,0.000000000955518,0.000000000613701,0.000000000366461,0.000000000131848,0.003238692438695,0.003238692438695,0.002222144027374,0.002222144027374,0.002161830291879,0.002161830291879,0.003238692438695,0.002222144027374,0.002161830291879,0.769285607921307,0.527825179866666,0.513498877028562,0.000545013160933,0.769285607921307],[0.000000000001497,-0.000000000000549,0.000105990716132,0.000000039016576,-0.00000000000055,-0.000000000001497,0.000000000000549,-0.000105990359735,-0.000000038989693,-0.000000000001498,0.00000000000055,-7.42734519299313e-20,-6.38140438898824e-20,0.000000000356397,0.000000000026883,-2.81821303074901e-21,5.49847102564783e-20,0.000000000006328,0.000000000006328,0.000420530144528,0.000420530144528,0.000000000006328,0.000000000006328,0.000000000006328,0.000420530144528,0.000000000006328,0.00000000150302,0.099888394469671,0.000000001503024,0.000000000001498,0.099888394469671],[0.00000000000117,-0.000000000000389,0.00000000000117,-0.00000000000039,0.000000021088776,-0.00000000000117,0.000000000000389,-0.00000000000117,0.00000000000039,-0.000091998998327,-0.000000021086612,-3.66337633979261e-21,9.45077023419786e-22,-5.00513942789731e-22,-9.44936134124291e-21,0.00000000002868,0.000000000002163,0.000000000004893,0.000000000004893,0.000000000004894,0.000000000004894,0.000364913841634,0.000364913841634,0.000000000004893,0.000000000004894,0.000364913841634,0.000000001162298,0.000000001162365,0.086677871336581,0.000091999027007,0.086677871336581],[0.000049004316258,0.000016112676037,-0.000000000001287,-0.000000000000645,-0.000000000000645,-0.000049004312671,-0.000016112675766,0.000000000001287,0.000000000000645,0.000000000001287,0.000000000000645,0.000000000003587,0.000000000000271,1.35531471376314e-20,1.18690320481773e-21,-1.22276120164415e-20,-5.3340129896855e-21,0.000204689962548,0.000204689962548,0.00000000000571,0.00000000000571,0.00000000000571,0.00000000000571,0.000204689962548,0.00000000000571,0.00000000000571,0.048619943157439,0.000000001356188,0.000000001356292,-0.000000000001287,0.048619943157439],[-1.66630623241545e-17,6.21611239747975e-17,2.18381850850471e-16,-6.14202266987907e-17,-7.72061826362622e-19,1.66630623241546e-17,-6.21611239747975e-17,-2.18381850850471e-16,6.14202266987907e-17,2.01804190129382e-16,7.72061826362597e-19,2.46519032881566e-32,4.93038065763132e-32,2.46519032881566e-32,-2.46519032881566e-32,-9.86076131526265e-32,-2.48444962825953e-32,2.55359812097328e-16,2.55359812097328e-16,9.00085856511854e-16,9.00085856511854e-16,8.00460835564323e-16,8.00460835564323e-16,2.55359812097328e-16,9.00085856511854e-16,8.00460835564323e-16,0.000000000000061,0.000000000000214,0.00000000000019,-2.01804190129382e-16,0.000000000000214],[0.00000000000195,-0.000000000000766,0.00000000000195,-0.000000000000766,0.000000029583541,-0.00000000000195,0.000000000000766,-0.00000000000195,0.000000000000766,-0.000134999014675,-0.000000029575405,4.98623099997901e-21,3.84502397042407e-20,-4.66238575119667e-21,-3.83458428870292e-20,0.00000000010787,0.000000000008136,0.000000000008314,0.000000000008314,0.000000000008313,0.000000000008313,0.000535482568724,0.000535482568724,0.000000000008314,0.000000000008313,0.000535482568724,0.000000001974732,0.000000001974667,0.127193008045681,0.000134999122545,0.127193008045681],[0.000000000001769,-0.000000000000636,0.000108990036897,0.000000039753615,-0.000000000000637,-0.000000000001769,0.000000000000636,-0.000108989583177,-0.000000039719392,-0.000000000001769,0.000000000000637,-7.58320405438951e-20,-9.3415740629697e-20,0.00000000045372,0.000000000034223,-2.99774357580537e-20,1.10039321010763e-19,0.000000000007458,0.000000000007458,0.000432444816615,0.000432444816615,0.000000000007458,0.000000000007458,0.000000000007458,0.000432444816615,0.000000000007458,0.000000001771577,0.102718482825803,0.000000001771603,0.000000000001769,0.102718482825803],[0.000775282715619,0.000254910128215,0.000560020899932,0.000000269184829,0.000000092245955,-0.000775277869281,-0.000254909828934,-0.000560018843493,-0.00000026786404,-0.000545012045686,-0.000000091962196,0.000000004846338,0.000000000299281,0.000000002056439,0.000000001320789,0.000000000788687,0.000000000283758,0.003238692602179,0.003238692602179,0.002222144185671,0.002222144185671,0.002161830450157,0.002161830450157,0.003238692602179,0.002222144185671,0.002161830450157,0.76928564675379,0.527825217467061,0.513498914624403,0.000545012834373,0.76928564675379],[0.000000000000804,-0.000000000000297,0.000056994836176,0.000000020974845,-0.000000000000297,-0.000000000000804,0.000000000000297,-0.00005699451985,-0.000000020950985,-0.000000000000804,0.000000000000297,-4.75216477641033e-20,-4.22078672769665e-20,0.000000000316326,0.00000000002386,-2.17040803854362e-20,7.72278963670071e-20,0.0000000000034,0.0000000000034,0.000226134214053,0.000226134214053,0.0000000000034,0.0000000000034,0.0000000000034,0.000226134214053,0.0000000000034,0.000000000807646,0.05371358954966,0.000000000807646,0.000000000000804,0.05371358954966],[0.000000000000689,-0.000000000000255,0.000048995523554,0.000000018014846,-0.000000000000255,-0.000000000000689,0.000000000000255,-0.00004899528979,-0.000000017997213,-0.000000000000689,0.000000000000255,-5.38529342168175e-20,-3.49229076655898e-20,0.000000000233764,0.000000000017632,-1.52252067158925e-20,4.93380592449841e-20,0.000000000002913,0.000000000002913,0.000194395930456,0.000194395930456,0.000000000002913,0.000000000002913,0.000000000002913,0.000194395930456,0.000000000002913,0.00000000069197,0.046174804915578,0.00000000069197,0.000000000000689,0.046174804915578],[0.000000000001222,-0.000000000000392,0.000000000001222,-0.000000000000393,0.000000021086609,-0.000000000001222,0.000000000000392,-0.000000000001222,0.000000000000393,-0.000091998954328,-0.000000021083287,-1.67031108889057e-20,3.35501078864656e-21,-1.38483999272665e-20,-1.80167892666071e-20,0.000000000044051,0.000000000003323,0.000000000005093,0.000000000005093,0.000000000005094,0.000000000005094,0.00036491384184,0.00036491384184,0.000000000005093,0.000000000005094,0.00036491384184,0.000000001209803,0.000000001209871,0.086677871385592,0.000091998998379,0.086677871385592],[0.000049004312289,0.000016112675664,-0.000000000001669,-0.000000000000747,-0.000000000000747,-0.000049004308862,-0.000016112675406,0.000000000001669,0.000000000000747,0.000000000001669,0.000000000000747,0.000000000003427,0.000000000000259,-6.60624342897977e-21,-2.31750966036783e-21,9.64813894128083e-21,1.16037465823403e-20,0.000204689960981,0.000204689960981,0.000000000007253,0.000000000007253,0.000000000007254,0.000000000007254,0.000204689960981,0.000000000007253,0.000000000007254,0.048619942785348,0.000000001722839,0.000000001722955,-0.000000000001669,0.048619942785348],[-0.000000000001676,0.000000000002689,-0.000000000001675,0.00000000000269,0.000000000002691,0.000000000001676,-0.000000000002689,0.000000000001675,-0.00000000000269,0.000000000001676,-0.000000000002691,1.81753552562921e-27,1.61558713389263e-27,2.42338070083895e-27,2.01948391736579e-27,2.62532909257553e-27,1.61558713389263e-27,0.000000000012573,0.000000000012573,0.000000000012573,0.000000000012573,0.000000000012574,0.000000000012574,0.000000000012573,0.000000000012573,0.000000000012574,0.000000002986561,0.000000002986364,0.000000002986613,-0.000000000001676,0.000000002986613],[0.000000000001992,-0.000000000000763,0.000000000001992,-0.000000000000764,0.000000029575408,-0.000000000001992,0.000000000000763,-0.000000000001992,0.000000000000764,-0.000134998856908,-0.000000029563504,-1.32075140807614e-20,3.56539660438473e-20,-3.57698362560127e-20,-2.70964446463527e-20,0.000000000157809,0.000000000011903,0.000000000008465,0.000000000008465,0.000000000008465,0.000000000008465,0.000535482568891,0.000535482568891,0.000000000008465,0.000000000008465,0.000535482568891,0.000000002010644,0.000000002010579,0.127193008085188,0.000134999014717,0.127193008085188],[0.000000000001776,-0.000000000000624,0.000108989583184,0.000000039719405,-0.000000000000625,-0.000000000001776,0.000000000000624,-0.000108989449389,-0.000000039709313,-0.000000000001776,0.000000000000625,-4.64093580276837e-20,-1.27499248744805e-21,0.000000000133795,0.000000000010092,-1.29076734275628e-20,2.56162812766811e-20,0.000000000007469,0.000000000007469,0.000432444816644,0.000432444816644,0.000000000007469,0.000000000007469,0.000000000007469,0.000432444816644,0.000000000007469,0.00000000177406,0.102718482832672,0.000000001774087,0.000000000001776,0.102718482832672],[0.000045004746098,0.00001479891791,-0.000000000004539,-0.000000000000942,-0.000000000000943,-0.000045004557979,-0.00001479890372,0.000000000004539,0.000000000000942,0.000000000004541,0.000000000000943,0.000000000188119,0.00000000001419,1.13529615764856e-19,-2.39118936181173e-19,1.60496329947203e-19,2.129781763519e-19,0.000188007337915,0.000188007337915,0.000000000018395,0.000000000018395,0.000000000018395,0.000000000018395,0.000188007337915,0.000000000018395,0.000000000018395,0.044657324515791,0.000000004369458,0.000000004369334,-0.000000000004541,0.044657324515791],[0.000730273167217,0.000240110922544,0.000560018892077,0.00000026787648,0.000000091974648,-0.000730270391731,-0.000240110772756,-0.000560017513088,-0.000000267081871,-0.000545011513338,-0.000000091733235,0.000000002775486,0.000000000149788,0.000000001378989,0.000000000794609,0.000000000580947,0.000000000241413,0.00305068544463,0.00305068544463,0.002222144378476,0.002222144378476,0.002161830642939,0.002161830642939,0.00305068544463,0.002222144378476,0.002161830642939,0.724628365080237,0.527825263263863,0.513498960415706,0.000545012094285,0.724628365080237],[0.000000000001196,-0.000000000000391,0.000000000001196,-0.000000000000391,0.000000021083288,-0.000000000001196,0.000000000000391,-0.000000000001196,0.000000000000391,-0.000091998793105,-0.000000021071129,1.99551143157631e-21,3.18578533680567e-20,-3.98525202630003e-20,-1.47128823767701e-20,0.000000000161197,0.000000000012159,0.000000000004993,0.000000000004993,0.000000000004993,0.000000000004993,0.000364913841737,0.000364913841737,0.000000000004993,0.000000000004993,0.000364913841737,0.000000001186021,0.000000001186021,0.086677871361189,0.000091998954302,0.086677871361189],[0.000049004309291,0.000016112675589,-0.00000000000124,-0.000000000000564,-0.000000000000564,-0.000049004305472,-0.000016112675301,0.00000000000124,0.000000000000564,0.00000000000124,0.000000000000564,0.000000000003818,0.000000000000288,1.29436129711498e-20,-2.52958293667251e-21,-7.31809272865078e-22,4.27784148015523e-21,0.000204689962823,0.000204689962823,0.000000000005405,0.000000000005405,0.000000000005405,0.000000000005405,0.000204689962823,0.000000000005405,0.000000000005405,0.048619943222887,0.000000001283732,0.000000001283828,-0.00000000000124,0.048619943222887],[2.88349993264883e-17,1.4098531027375e-16,1.85755938485921e-16,-1.17888138078045e-16,-2.31221277411556e-17,-2.88349993264883e-17,-1.4098531027375e-16,-1.85755938485921e-16,1.17888138078045e-16,2.14714658419634e-16,2.31221277411556e-17,-1.84889274661175e-32,-2.46519032881566e-32,0.0,4.93038065763132e-32,4.93038065763132e-32,-6.16297582203915e-33,5.71001898571198e-16,5.71001898571198e-16,8.72914428974964e-16,8.72914428974964e-16,8.56588252123483e-16,8.56588252123483e-16,5.71001898571198e-16,8.72914428974964e-16,8.56588252123483e-16,0.000000000000136,0.000000000000207,0.000000000000203,-2.14714658419634e-16,0.000000000000207],[0.000000000001998,-0.00000000000077,0.000000000001998,-0.000000000000771,0.000000029563497,-0.000000000001998,0.00000000000077,-0.000000000001998,0.000000000000771,-0.000134998263388,-0.000000029518729,-1.83170297271342e-20,1.23596145830556e-19,-1.17449704255411e-19,-7.60706327742348e-20,0.000000000593526,0.000000000044769,0.000000000008497,0.000000000008497,0.000000000008497,0.000000000008497,0.000535482568915,0.000535482568915,0.000000000008497,0.000000000008497,0.000535482568915,0.00000000201835,0.000000002018287,0.127193008090941,0.000134998856915,0.127193008090941],[0.000000000001784,-0.000000000000656,0.000108989449398,0.000000039709281,-0.000000000000656,-0.000000000001784,0.000000000000656,-0.000108989419464,-0.000000039707023,-0.000000000001785,0.000000000000656,-5.19845533368072e-21,-1.29683078263366e-20,0.000000000029934,0.000000000002258,-8.09915761815719e-21,1.41860139164233e-20,0.000000000007543,0.000000000007543,0.000432444816678,0.000432444816678,0.000000000007543,0.000000000007543,0.000000000007543,0.000432444816678,0.000000000007543,0.000000001791771,0.102718482840701,0.000000001791785,0.000000000001785,0.102718482840701],[0.00004500455916,0.000014798903802,-0.000000000003359,-0.00000000000086,-0.000000000000861,-0.000045004533155,-0.00001479890184,0.000000000003359,0.00000000000086,0.00000000000336,0.000000000000861,0.000000000026005,0.000000000001961,8.27171080588938e-21,-2.55577896513179e-20,1.59781272697329e-20,2.39001349508652e-20,0.000188007342467,0.000188007342467,0.000000000013758,0.000000000013758,0.000000000013757,0.000000000013757,0.000188007342467,0.000000000013758,0.000000000013757,0.044657325596906,0.000000003267868,0.000000003267753,-0.00000000000336,0.044657325596906],[0.000730270468361,0.000240110793083,0.000560017589738,0.000000267102161,0.000000091753544,-0.000730260060692,-0.0002401102314,-0.000560012418727,-0.000000264122492,-0.000545009411543,-0.000000090848281,0.000000010407669,0.000000000561684,0.00000000517101,0.000000002979669,0.000000002178469,0.000000000905263,0.003050685758715,0.003050685758715,0.002222144682659,0.002222144682659,0.002161830947085,0.002161830947085,0.003050685758715,0.002222144682659,0.002161830947085,0.72462843968473,0.527825335516502,0.513499032659608,0.000545011590012,0.72462843968473],[0.000000000001198,-0.000000000000405,0.000000000001198,-0.000000000000406,0.000000021071115,-0.000000000001198,0.000000000000405,-0.000000000001198,0.000000000000406,-0.00009199800856,-0.000000021011938,-1.77792908392441e-20,1.65704198398345e-19,-1.11764105174164e-19,-7.56576148401876e-20,0.000000000784547,0.000000000059177,0.000000000005018,0.000000000005018,0.000000000005018,0.000000000005018,0.000364913841744,0.000364913841744,0.000000000005018,0.000000000005018,0.000364913841744,0.00000000119188,0.00000000119188,0.086677871362824,0.000091998793107,0.086677871362824],[0.000049004305206,0.000016112675212,-0.000000000001506,-0.000000000000652,-0.000000000000653,-0.000049004297325,-0.000016112674618,0.000000000001506,0.000000000000652,0.000000000001507,0.000000000000653,0.000000000007881,0.000000000000594,1.24819326943491e-20,-9.31304294564645e-22,-6.98147989864606e-21,-3.80785223872488e-21,0.00020468996171,0.00020468996171,0.000000000006513,0.000000000006513,0.000000000006513,0.000000000006513,0.00020468996171,0.000000000006513,0.000000000006513,0.048619942958423,0.00000000154692,0.000000001546973,-0.000000000001507,0.048619942958423],[0.000000000001255,0.000000000001428,0.000000000001255,0.000000000001428,0.000000000001428,-0.000000000001255,-0.000000000001428,-0.000000000001255,-0.000000000001428,-0.000000000001256,-0.000000000001428,1.0097419586829e-27,1.0097419586829e-27,1.21169035041947e-27,6.05845175209737e-28,4.03896783473158e-28,8.07793566946316e-28,0.000000000007542,0.000000000007542,0.000000000007543,0.000000000007543,0.000000000007543,0.000000000007543,0.000000000007542,0.000000000007543,0.000000000007543,0.000000001791454,0.000000001791607,0.000000001791629,0.000000000001256,0.000000001791629],[0.000000000001988,-0.000000000000747,0.000000000001988,-0.000000000000748,0.000000029518751,-0.000000000001988,0.000000000000747,-0.000000000001988,0.000000000000748,-0.000134998124848,-0.000000029508302,-2.21470851817886e-20,1.14554013522224e-21,-2.0137184927301e-20,-1.74856151655742e-20,0.00000000013853,0.000000000010449,0.000000000008427,0.000000000008427,0.000000000008426,0.000000000008426,0.000535482568874,0.000535482568874,0.000000000008427,0.000000000008426,0.000535482568874,0.000000002001567,0.000000002001497,0.127193008081177,0.000134998263378,0.127193008081177],[0.000000000000863,-0.000000000000329,0.000055994624335,0.000000020427687,-0.00000000000033,-0.000000000000863,0.000000000000329,-0.000055994425207,-0.000000020412667,-0.000000000000863,0.00000000000033,-1.91736318979568e-20,-2.77220272981159e-20,0.000000000199128,0.00000000001502,-7.40765724428273e-21,4.29326220886114e-20,0.000000000003666,0.000000000003666,0.000222173722725,0.000222173722725,0.000000000003666,0.000000000003666,0.000000000003666,0.000222173722725,0.000000000003666,0.000000000870748,0.052772855276093,0.000000000870755,0.000000000000863,0.052772855276093],[0.000000000001008,-0.000000000000316,0.000052994795215,0.000000019279346,-0.000000000000316,-0.000000000001008,0.000000000000316,-0.000052994789092,-0.000000019278884,-0.000000000001008,0.000000000000316,-8.34765289275674e-21,2.89771258999811e-21,0.000000000006123,0.000000000000462,1.3309951998573e-21,8.53527001687374e-21,0.000000000004191,0.000000000004191,0.000210271094297,0.000210271094297,0.000000000004192,0.000000000004192,0.000000000004191,0.000210271094297,0.000000000004192,0.000000000995586,0.04994562764638,0.000000000995611,0.000000000001008,0.04994562764638],[0.00004500453334,0.000014798901882,-0.000000000003174,-0.000000000000819,-0.00000000000082,-0.000045004521385,-0.00001479890098,0.000000000003174,0.000000000000819,0.000000000003174,0.00000000000082,0.000000000011955,0.000000000000902,1.76570627868359e-21,-1.35785937457064e-20,9.11832652776635e-21,1.72875340855394e-20,0.000188007343215,0.000188007343215,0.000000000013006,0.000000000013006,0.000000000013005,0.000000000013005,0.000188007343215,0.000000000013006,0.000000000013005,0.044657325774755,0.000000003089234,0.000000003089103,-0.000000000003174,0.044657325774755],[0.000000000001027,-0.000000000000447,0.000000000001027,-0.000000000000447,0.000000009557626,-0.000000000001027,0.000000000000447,-0.000000000001027,0.000000000000447,-0.000052999802308,-0.000000009541078,-5.97434428590692e-21,6.49605240948682e-20,-6.08608376488835e-20,-4.37440501207638e-20,0.000000000219383,0.000000000016548,0.000000000004443,0.000000000004443,0.000000000004443,0.000000000004443,0.000210229557386,0.000210229557386,0.000000000004443,0.000000000004443,0.000210229557386,0.000000001055338,0.000000001055313,0.049935761397055,0.000053000021692,0.049935761397055],[0.000730260140168,0.000240110253148,0.000560012498225,0.000000264144201,0.000000081311937,-0.000730256525485,-0.000240110168845,-0.000560010704609,-0.000000263043089,-0.000492009032223,-0.00000008107063,0.000000003614683,0.000000000084303,0.000000001793616,0.000000001101113,0.000000000438178,0.000000000241307,0.003050686085298,0.003050686085298,0.00222214499815,0.00222214499815,0.001951601709245,0.001951601709245,0.003050686085298,0.00222214499815,0.001951601709245,0.724628517257766,0.52782541045485,0.463563347164204,0.000492009470402,0.724628517257766],[0.000049004297521,0.000016112674585,-0.00000000000131,-0.000000000000685,-0.000000000000685,-0.000049004289313,-0.000016112673966,0.00000000000131,0.000000000000685,0.00000000000131,0.000000000000685,0.000000000008208,0.000000000000619,-1.12427080943551e-20,-1.34632548597597e-20,1.41608873965492e-20,1.4956641204277e-21,0.000204689962409,0.000204689962409,0.000000000005865,0.000000000005865,0.000000000005865,0.000000000005865,0.000204689962409,0.000000000005865,0.000000000005865,0.048619943124641,0.000000001393067,0.000000001393119,-0.00000000000131,0.048619943124641],[0.000000000000721,0.000000000000875,0.000000000000721,0.000000000000875,0.000000000000876,-0.000000000000721,-0.000000000000875,-0.000000000000721,-0.000000000000875,-0.000000000000721,-0.000000000000876,3.02922587604869e-28,3.02922587604869e-28,1.0097419586829e-28,2.01948391736579e-28,2.01948391736579e-28,3.02922587604869e-28,0.000000000004499,0.000000000004499,0.000000000004499,0.000000000004499,0.000000000004499,0.000000000004499,0.000000000004499,0.000000000004499,0.000000000004499,0.000000001068604,0.000000001068593,0.000000001068611,0.000000000000721,0.000000001068611],[0.000000000001996,-0.000000000000779,0.000000000001996,-0.00000000000078,0.000000029508271,-0.000000000001996,0.000000000000779,-0.000000000001996,0.00000000000078,-0.000134998061393,-0.000000029503484,4.01596995188062e-20,5.5761555737262e-21,9.07290429549696e-21,2.72676413467376e-21,0.000000000063464,0.000000000004787,0.000000000008503,0.000000000008503,0.000000000008503,0.000000000008503,0.000535482568908,0.000535482568908,0.000000000008503,0.000000000008503,0.000535482568908,0.000000002019802,0.000000002019718,0.127193008089219,0.000134998124857,0.127193008089219],[0.000000000000859,-0.000000000000332,0.000055994425203,0.000000020412665,-0.000000000000332,-0.000000000000859,0.000000000000332,-0.00005599422786,-0.000000020397779,-0.000000000000859,0.000000000000332,-4.13846178927812e-20,-2.99488790437718e-20,0.000000000197343,0.000000000014885,1.16725171788946e-20,4.91994512594963e-20,0.000000000003652,0.000000000003652,0.000222173722707,0.000222173722707,0.000000000003652,0.000000000003652,0.000000000003652,0.000222173722707,0.000000000003652,0.000000000867396,0.052772855271659,0.000000000867395,0.000000000000859,0.052772855271659],[0.000000000000766,-0.000000000000176,0.00005299478885,0.000000019279024,-0.000000000000177,-0.000000000000766,0.000000000000176,-0.000052994781671,-0.000000019278483,-0.000000000000766,0.000000000000177,-1.17345494644359e-20,1.11863437428633e-21,0.000000000007179,0.000000000000542,-3.86284682476258e-21,-5.37834677061053e-21,0.000000000003118,0.000000000003118,0.000210271093336,0.000210271093336,0.000000000003118,0.000000000003118,0.000000000003118,0.000210271093336,0.000000000003118,0.000000000740639,0.049945627418275,0.000000000740635,0.000000000000766,0.049945627418275],[0.000045004521518,0.000014798901024,-0.00000000000304,-0.000000000000775,-0.000000000000776,-0.000045004507318,-0.000014798899953,0.00000000000304,0.000000000000775,0.000000000003041,0.000000000000776,0.000000000014199,0.000000000001071,1.4509817058966e-20,-7.36723606198631e-21,7.71368499035894e-21,7.27908912309015e-21,0.000188007343772,0.000188007343772,0.00000000001245,0.00000000001245,0.00000000001245,0.00000000001245,0.000188007343772,0.00000000001245,0.00000000001245,0.044657325906969,0.000000002957333,0.000000002957204,-0.000000000003041,0.044657325906969],[0.000000000001076,-0.000000000000378,0.000000000001076,-0.000000000000378,0.000000009541147,-0.000000000001076,0.000000000000378,-0.000000000001076,0.000000000000378,-0.000052999786411,-0.000000009539944,2.28101536454872e-21,6.92586452325216e-21,-3.64159943691809e-21,-7.09060483257904e-21,0.000000000015947,0.000000000001203,0.000000000004527,0.000000000004527,0.000000000004527,0.000000000004527,0.000210229557584,0.000210229557584,0.000000000004527,0.000000000004527,0.000210229557584,0.000000001075354,0.000000001075341,0.049935761444009,0.000052999802358,0.049935761444009],[0.000730256618372,0.000240110193493,0.000560010797521,0.00000026306769,0.000000081095255,-0.000730243515142,-0.000240109887892,-0.000560004295659,-0.000000259076154,-0.000492007536768,-0.000000080220518,0.00000001310323,0.0000000003056,0.000000006501861,0.000000003991536,0.000000001588397,0.000000000874737,0.003050686466032,0.003050686466032,0.002222145366873,0.002222145366873,0.001951602077923,0.001951602077923,0.003050686466032,0.002222145366873,0.001951602077923,0.724628607693489,0.527825498037445,0.463563434736165,0.000492009125165,0.724628607693489],[0.00004900428953,0.000016112674016,-0.000000000001093,-0.000000000000635,-0.000000000000636,-0.000049004258318,-0.000016112671661,0.000000000001093,0.000000000000635,0.000000000001093,0.000000000000636,0.000000000031212,0.000000000002354,1.2288179772246e-20,-9.45641247031459e-21,1.87653474827505e-22,3.70727668898188e-22,0.000204689963289,0.000204689963289,0.000000000005016,0.000000000005016,0.000000000005016,0.000000000005016,0.000204689963289,0.000000000005016,0.000000000005016,0.0486199433335,0.000000001191399,0.000000001191441,-0.000000000001093,0.0486199433335],[0.00000000000004,-0.000000000000023,0.00000000000004,-0.000000000000023,-0.000000000000023,-0.00000000000004,0.000000000000023,-0.00000000000004,0.000000000000023,-0.00000000000004,0.000000000000023,6.31088724176809e-30,0.0,0.0,-1.57772181044202e-29,0.0,-6.31088724176809e-30,0.000000000000185,0.000000000000185,0.000000000000185,0.000000000000185,0.000000000000185,0.000000000000185,0.000000000000185,0.000000000000185,0.000000000000185,0.000000000043919,0.000000000043929,0.00000000004391,0.00000000000004,0.000000000043929],[0.000000000002077,-0.000000000000825,0.000000000002077,-0.000000000000826,0.000000029503437,-0.000000000002077,0.000000000000825,-0.000000000002077,0.000000000000826,-0.000134998019751,-0.00000002950029,-5.63339845120911e-21,1.61417567619311e-20,-1.14480795113316e-20,-3.98005287505219e-20,0.000000000041723,0.000000000003147,0.000000000008869,0.000000000008869,0.000000000008869,0.000000000008869,0.000535482569228,0.000535482569228,0.000000000008869,0.000000000008869,0.000535482569228,0.000000002106674,0.000000002106602,0.12719300816526,0.000134998061473,0.12719300816526],[0.000000000000893,-0.000000000000142,0.000052994781798,0.000000019278517,-0.000000000000142,-0.000000000000893,0.000000000000142,-0.00005299477531,-0.000000019278027,-0.000000000000893,0.000000000000142,7.47554330688114e-21,-6.11834888777997e-21,0.000000000006488,0.000000000000489,1.14299144554433e-21,-1.93965720172208e-21,0.000000000003588,0.000000000003588,0.000210271093842,0.000210271093842,0.000000000003588,0.000000000003588,0.000000000003588,0.000210271093842,0.000000000003588,0.000000000852353,0.049945627538305,0.000000000852323,0.000000000000893,0.049945627538305],[0.000045004507521,0.00001479889993,-0.000000000002838,-0.000000000000798,-0.000000000000799,-0.000045004485613,-0.000014798898278,0.000000000002838,0.000000000000798,0.000000000002839,0.000000000000799,0.000000000021908,0.000000000001652,1.37241861163224e-20,-2.68315229905435e-20,9.14484477498206e-21,2.59932334998836e-20,0.000188007344506,0.000188007344506,0.000000000011699,0.000000000011699,0.000000000011698,0.000000000011698,0.000188007344506,0.000000000011699,0.000000000011698,0.044657326081371,0.000000002778775,0.000000002778659,-0.000000000002839,0.044657326081371],[0.000000000001004,-0.000000000000363,0.000000000001004,-0.000000000000364,0.000000009539959,-0.000000000001004,0.000000000000363,-0.000000000001004,0.000000000000364,-0.000052999773195,-0.000000009538968,5.25202901083416e-21,3.12280017797277e-22,2.59640765949815e-21,4.67298142795301e-21,0.000000000013144,0.000000000000991,0.000000000004238,0.000000000004238,0.000000000004238,0.000000000004238,0.000210229557298,0.000210229557298,0.000000000004238,0.000000000004238,0.000210229557298,0.000000001006599,0.000000001006589,0.04993576137597,0.000052999786339,0.04993576137597],[0.000360115616402,0.000118412899277,0.0001979946611,0.00000009253713,0.000000012602312,-0.000360112740158,-0.000118413064879,-0.000197994025254,-0.000000091887876,-0.000105997141732,-0.00000001267157,0.000000002876243,-0.000000000165602,0.000000000635846,0.000000000649254,-0.000000000152126,-0.000000000069258,0.001504434409079,0.001504434409079,0.000785659901555,0.000785659901555,0.000420448729789,0.000420448729789,0.001504434409079,0.000785659901555,0.000420448729789,0.357347837398317,0.18661755212264,0.099869056051993,0.000105996989606,0.357347837398317],[0.000370127987413,0.000121697011068,0.000362009723256,0.000000166561431,0.000000067640636,-0.000370127352644,-0.000121696975393,-0.00036200910155,-0.00000016636699,-0.000386010158067,-0.000000067417295,0.000000000634769,0.000000000035674,0.000000000621706,0.000000000194441,0.000000000477821,0.000000000223341,0.001546252419237,0.001546252419237,0.001436485817328,0.001436485817328,0.001531153700615,0.001531153700615,0.001546252419237,0.001436485817328,0.001531153700615,0.367280856348276,0.341208029527861,0.363694462408712,0.000386010635888,0.367280856348276],[0.000049004259377,0.000016112671736,-0.000000000000034,-0.000000000000561,-0.000000000000561,-0.000049004093665,-0.000016112659237,0.000000000000034,0.000000000000561,0.000000000000034,0.000000000000561,0.000000000165711,0.000000000012499,2.24689255184922e-20,-8.99818318860603e-22,-1.34939004840295e-20,3.06402819775473e-20,0.000204689967373,0.000204689967373,0.00000000000223,0.00000000000223,0.00000000000223,0.00000000000223,0.000204689967373,0.00000000000223,0.00000000000223,0.048619944303526,0.000000000529581,0.000000000529581,-0.000000000000034,0.048619944303526],[0.000000000000087,0.000000000000057,0.000000000000087,0.000000000000057,0.000000000000057,-0.000000000000087,-0.000000000000057,-0.000000000000087,-0.000000000000057,-0.000000000000087,-0.000000000000057,2.52435489670724e-29,1.26217744835362e-29,1.26217744835362e-29,2.52435489670724e-29,1.26217744835362e-29,0.0,0.000000000000413,0.000000000000413,0.000000000000413,0.000000000000413,0.000000000000413,0.000000000000413,0.000000000000413,0.000000000000413,0.000000000000413,0.000000000098202,0.000000000098211,0.000000000098207,0.000000000000087,0.000000000098211],[0.000000000001227,-0.00000000000044,0.000000000001227,-0.000000000000441,0.000000019121822,-0.000000000001227,0.00000000000044,-0.000000000001227,0.000000000000441,-0.000086998839167,-0.00000001911264,3.04984783607087e-21,3.89662310727473e-20,-1.52960807059208e-20,-2.20699714913265e-20,0.000000000121732,0.000000000009182,0.000000000005173,0.000000000005173,0.000000000005173,0.000000000005173,0.00034508970725,0.00034508970725,0.000000000005173,0.000000000005173,0.00034508970725,0.000000001228804,0.000000001228759,0.08196905086056,0.000086998960899,0.08196905086056],[0.000000000000847,-0.000000000000356,0.000000000000846,-0.000000000000357,0.000000010378496,-0.000000000000847,0.000000000000356,-0.000000000000846,0.000000000000357,-0.000047999054278,-0.000000010378151,-1.23746189345674e-21,-4.05081029037141e-21,1.96243713177126e-21,9.52354536638601e-22,0.00000000000457,0.000000000000345,0.000000000003644,0.000000000003644,0.000000000003644,0.000000000003644,0.000190392861965,0.000190392861965,0.000000000003644,0.000000000003644,0.000190392861965,0.000000000865635,0.000000000865626,0.045223957301591,0.000047999058849,0.045223957301591],[0.000000000000604,-0.000000000000083,0.000052994775021,0.000000019278087,-0.000000000000083,-0.000000000000604,0.000000000000083,-0.00005299476845,-0.000000019277591,-0.000000000000605,0.000000000000083,-4.0720429423302e-21,1.11434539434263e-21,0.000000000006571,0.000000000000496,-7.23912131493317e-21,7.83603591574176e-21,0.000000000002421,0.000000000002421,0.000210271092696,0.000210271092696,0.00000000000242,0.00000000000242,0.000000000002421,0.000210271092696,0.00000000000242,0.00000000057499,0.049945627266223,0.000000000574931,0.000000000000605,0.049945627266223],[0.000045004485816,0.000014798898281,-0.000000000002635,-0.000000000000794,-0.000000000000795,-0.000045004466295,-0.000014798896809,0.000000000002635,0.000000000000794,0.000000000002635,0.000000000000795,0.000000000019522,0.000000000001472,-2.45739082949131e-21,-5.85196891214693e-21,8.03620909276255e-21,2.32478151903168e-21,0.000188007345278,0.000188007345278,0.000000000010919,0.000000000010919,0.000000000010918,0.000000000010918,0.000188007345278,0.000000000010919,0.000000000010918,0.044657326264816,0.000000002593506,0.000000002593386,-0.000000000002635,0.044657326264816],[0.000000000001007,-0.000000000000405,0.000000000001007,-0.000000000000405,0.000000009538926,-0.000000000001007,0.000000000000405,-0.000000000001007,0.000000000000405,-0.000052999754528,-0.000000009537517,-1.03242437795113e-20,-9.02285673823743e-22,-1.21530787215549e-20,-1.18337213718821e-23,0.00000000001867,0.000000000001408,0.000000000004307,0.000000000004307,0.000000000004307,0.000000000004307,0.000210229557308,0.000210229557308,0.000000000004307,0.000000000004307,0.000210229557308,0.000000001023072,0.000000001023066,0.049935761378498,0.000052999773198,0.049935761378498],[0.000360112757262,0.000118413067555,0.000197994042361,0.000000091890543,0.000000012674241,-0.00036011143339,-0.000118413143777,-0.000197993749695,-0.000000091591705,-0.000105997228866,-0.000000012706119,0.000000001323872,-0.000000000076223,0.000000000292666,0.000000000298838,-0.00000000007002,-0.000000000031878,0.001504434476879,0.001504434476879,0.000785659969445,0.000785659969445,0.000420448797673,0.000420448797673,0.001504434476879,0.000785659969445,0.000420448797673,0.357347853502822,0.186617568248579,0.099869072176648,0.000105997158846,0.357347853502822],[0.00037012737718,0.000121696981963,0.000362009126093,0.000000166373548,0.000000067423859,-0.000370124716885,-0.000121696832453,-0.000362006520544,-0.000000165558652,-0.000386008180086,-0.000000066487844,0.000000002660295,0.00000000014951,0.000000002605548,0.000000000814896,0.000000002002532,0.000000000936015,0.001546252519882,0.001546252519882,0.001436485914728,0.001436485914728,0.001531153798003,0.001531153798003,0.001546252519882,0.001436485914728,0.001531153798003,0.367280880254591,0.341208052663153,0.363694485541261,0.000386010182618,0.367280880254591],[0.000000000001202,-0.000000000000426,0.000000000001202,-0.000000000000426,0.000000019112655,-0.000000000001202,0.000000000000426,-0.000000000001202,0.000000000000426,-0.000086998783223,-0.000000019108437,-8.10472392167863e-21,1.1638703344079e-21,2.18970621676055e-21,-9.08502306702378e-21,0.000000000055918,0.000000000004218,0.00000000000506,0.00000000000506,0.000000000005059,0.000000000005059,0.00034508970715,0.00034508970715,0.00000000000506,0.000000000005059,0.00034508970715,0.000000001201803,0.000000001201767,0.081969050836784,0.000086998839141,0.081969050836784],[0.000000000001055,-0.000000000000369,0.000000000001054,-0.000000000000369,0.000000010378139,-0.000000000001055,0.000000000000369,-0.000000000001054,0.000000000000369,-0.000047999051252,-0.000000010377895,-6.34422932514059e-21,6.60236541401325e-22,1.00742540868128e-21,3.5035809387858e-22,0.000000000003235,0.000000000000244,0.000000000004433,0.000000000004433,0.000000000004433,0.000000000004433,0.00019039286279,0.00019039286279,0.000000000004433,0.000000000004433,0.00019039286279,0.000000001052921,0.000000001052926,0.045223957497626,0.000047999054486,0.045223957497626],[0.000000000000921,-0.000000000000373,0.000052994768766,0.0000000192773,-0.000000000000374,-0.000000000000921,0.000000000000373,-0.000052994761701,-0.000000019276768,-0.000000000000921,0.000000000000374,8.10905975364921e-21,9.06925978335839e-21,0.000000000007065,0.000000000000533,8.28146410541669e-21,-1.54370405823788e-21,0.000000000003943,0.000000000003943,0.000210271093952,0.000210271093952,0.000000000003943,0.000000000003943,0.000000000003943,0.000210271093952,0.000000000003943,0.000000000936655,0.049945627564438,0.00000000093666,0.000000000000921,0.049945627564438],[0.000045004466441,0.000014798896899,-0.000000000002488,-0.000000000000704,-0.000000000000705,-0.000045004451263,-0.000014798895754,0.000000000002488,0.000000000000704,0.000000000002489,0.000000000000705,0.000000000015178,0.000000000001145,8.36165538839458e-21,-1.07975069072942e-20,1.20904119141667e-21,7.2039285764988e-21,0.000188007345942,0.000188007345942,0.000000000010261,0.000000000010261,0.00000000001026,0.00000000001026,0.000188007345942,0.000000000010261,0.00000000001026,0.044657326422446,0.000000002437197,0.000000002437069,-0.000000000002489,0.044657326422446],[0.000000000001016,-0.000000000000377,0.000000000001016,-0.000000000000377,0.000000009537546,-0.000000000001016,0.000000000000377,-0.000000000001016,0.000000000000377,-0.000052999670682,-0.00000000953122,2.27090703974874e-21,2.83776006492037e-20,-7.55850602861303e-21,-1.30485301083926e-20,0.000000000083856,0.000000000006325,0.000000000004302,0.000000000004302,0.000000000004302,0.000000000004302,0.000210229557346,0.000210229557346,0.000000000004302,0.000000000004302,0.000210229557346,0.00000000102188,0.000000001021875,0.049935761387479,0.000052999754538,0.049935761387479],[0.000360111473995,0.000118413150222,0.000197993790309,0.000000091598128,0.000000012712551,-0.000360102825587,-0.000118413648159,-0.000197991878419,-0.000000089645923,-0.000105997726913,-0.0000000129208,0.000000008648408,-0.000000000497938,0.000000001911889,0.000000001952205,-0.000000000457419,-0.000000000208249,0.001504434637948,0.001504434637948,0.000785660130616,0.000785660130616,0.000420448958831,0.000420448958831,0.001504434637948,0.000785660130616,0.000420448958831,0.35734789176159,0.186617606531264,0.099869110456267,0.000105997269494,0.35734789176159],[0.000370124741078,0.000121696838966,0.000362006544744,0.000000165565151,0.00000006649435,-0.000370124153847,-0.000121696805963,-0.000362005969598,-0.000000165385272,-0.000386007762256,-0.000000066287735,0.000000000587231,0.000000000033003,0.000000000575146,0.000000000179879,0.000000000442037,0.000000000206615,0.001546252619165,0.001546252619165,0.001436486010767,0.001436486010767,0.001531153894031,0.001531153894031,0.001546252619165,0.001436486010767,0.001531153894031,0.367280903837055,0.341208075475389,0.363694508350777,0.000386008204293,0.367280903837055],[0.000000000001258,-0.000000000000445,0.000000000001258,-0.000000000000445,0.000000019108418,-0.000000000001258,0.000000000000445,-0.000000000001258,0.000000000000445,-0.000086998688638,-0.000000019101279,-8.25338641271998e-22,1.86908129761736e-20,-3.93620764767645e-20,-1.13101516375401e-20,0.000000000094641,0.000000000007139,0.000000000005295,0.000000000005295,0.000000000005295,0.000000000005295,0.000345089707373,0.000345089707373,0.000000000005295,0.000000000005295,0.000345089707373,0.000000001257784,0.000000001257749,0.08196905088981,0.000086998783279,0.08196905088981],[0.000000000000628,-0.000000000000176,0.000000000000628,-0.000000000000176,0.000000010378088,-0.000000000000628,0.000000000000176,-0.000000000000628,0.000000000000176,-0.000047999047061,-0.000000010377804,7.90010476246133e-21,7.87482960857095e-21,-8.63554112941619e-21,-1.2470515390561e-21,0.000000000003764,0.000000000000284,0.000000000002587,0.000000000002587,0.000000000002587,0.000000000002587,0.000190392861097,0.000190392861097,0.000000000002587,0.000000000002587,0.000190392861097,0.000000000614427,0.000000000614452,0.045223957095388,0.000047999050825,0.045223957095388],[0.000000000000819,-0.000000000000294,0.000052994761599,0.000000019276847,-0.000000000000295,-0.000000000000819,0.000000000000294,-0.000052994720624,-0.000000019273756,-0.000000000000819,0.000000000000295,-7.03927399426422e-21,-1.03193984822354e-20,0.000000000040975,0.000000000003091,-1.36574458079245e-20,1.629446791433e-20,0.000000000003452,0.000000000003452,0.000210271093546,0.000210271093546,0.000000000003452,0.000000000003452,0.000000000003452,0.000210271093546,0.000000000003452,0.000000000819966,0.04994562746813,0.000000000819965,0.000000000000819,0.04994562746813],[0.000045004451414,0.000014798895735,-0.000000000002338,-0.000000000000724,-0.000000000000724,-0.000045004432521,-0.00001479889431,0.000000000002338,0.000000000000724,0.000000000002338,0.000000000000724,0.000000000018892,0.000000000001425,1.14297074583418e-20,-1.2191563925594e-20,1.46349838643707e-20,2.45344635330907e-20,0.000188007346484,0.000188007346484,0.000000000009711,0.000000000009711,0.000000000009711,0.000000000009711,0.000188007346484,0.000000000009711,0.000000000009711,0.044657326551188,0.000000002306696,0.00000000230655,-0.000000000002338,0.044657326551188],[0.000000000000998,-0.000000000000373,0.000000000000998,-0.000000000000374,0.000000009531224,-0.000000000000998,0.000000000000373,-0.000000000000998,0.000000000000374,-0.00005299965452,-0.000000009530006,-9.9233723848947e-22,7.65488307129183e-22,-9.41136475133767e-21,1.57268971090383e-21,0.000000000016143,0.000000000001218,0.00000000000423,0.00000000000423,0.00000000000423,0.00000000000423,0.000210229557275,0.000210229557275,0.00000000000423,0.00000000000423,0.000210229557275,0.000000001004726,0.000000001004718,0.049935761370478,0.000052999670664,0.049935761370478],[0.00036010286348,0.00011841365409,0.000197991916321,0.000000089651833,0.000000012926719,-0.000360102217514,-0.000118413691282,-0.000197991773519,-0.000000089506019,-0.000105997798994,-0.000000012942273,0.000000000645966,-0.000000000037192,0.000000000142803,0.000000000145814,-0.000000000034166,-0.000000000015555,0.001504434788163,0.001504434788163,0.000785660281027,0.000785660281027,0.00042044910923,0.00042044910923,0.001504434788163,0.000785660281027,0.00042044910923,0.357347927442053,0.186617642258526,0.09986914618068,0.000105997764829,0.357347927442053],[0.000370124159566,0.000121696807343,0.000362005975318,0.000000165386649,0.000000066289113,-0.000370123964441,-0.000121696796376,-0.000362005784208,-0.000000165326879,-0.000386007621098,-0.000000066220459,0.000000000195125,0.000000000010966,0.000000000191109,0.00000000005977,0.00000000014688,0.000000000068654,0.001546252642434,0.001546252642434,0.001436486033467,0.001436486033467,0.001531153916728,0.001531153916728,0.001546252642434,0.001436486033467,0.001531153916728,0.367280909364116,0.341208080867205,0.36369451374201,0.000386007767978,0.367280909364116],[0.000000000001241,-0.000000000000451,0.000000000001241,-0.000000000000452,0.000000019101273,-0.000000000001241,0.000000000000451,-0.000000000001241,0.000000000000452,-0.000086998506964,-0.000000019087571,-5.14609132739377e-22,2.92458545858971e-20,-3.76743790247893e-20,-5.97047768102454e-21,0.000000000181657,0.000000000013702,0.000000000005239,0.000000000005239,0.000000000005239,0.000000000005239,0.000345089707304,0.000345089707304,0.000000000005239,0.000000000005239,0.000345089707304,0.000000001244534,0.000000001244499,0.081969050873435,0.000086998688621,0.081969050873435],[0.00000000000068,-0.000000000000179,0.00000000000068,-0.00000000000018,0.000000010377801,-0.00000000000068,0.000000000000179,-0.00000000000068,0.00000000000018,-0.000047999039913,-0.000000010377258,-9.3289048811012e-21,-7.19182689485463e-21,4.5175309970815e-21,-5.7368787508882e-21,0.0000000000072,0.000000000000543,0.000000000002789,0.000000000002789,0.000000000002789,0.000000000002789,0.000190392861303,0.000190392861303,0.000000000002789,0.000000000002789,0.000190392861303,0.000000000662496,0.000000000662489,0.04522395714443,0.000047999047113,0.04522395714443],[0.00000000000081,-0.000000000000309,0.000052994720615,0.000000019273741,-0.00000000000031,-0.00000000000081,0.000000000000309,-0.000052994547307,-0.000000019260669,-0.00000000000081,0.00000000000031,-3.4960068037692e-20,-2.74449712702666e-20,0.000000000173308,0.000000000013072,-1.24981850970193e-21,4.00032617622475e-20,0.00000000000344,0.00000000000344,0.000210271093511,0.000210271093511,0.00000000000344,0.00000000000344,0.00000000000344,0.000210271093511,0.00000000000344,0.000000000817202,0.049945627459885,0.000000000817201,0.00000000000081,0.049945627459885],[0.000045004432732,0.00001479889435,-0.000000000002127,-0.000000000000684,-0.000000000000685,-0.000045004413192,-0.000014798892876,0.000000000002127,0.000000000000684,0.000000000002127,0.000000000000685,0.00000000001954,0.000000000001474,1.64859519462519e-21,-1.49658340970172e-20,8.98168582253668e-21,1.39215958189289e-20,0.000188007347329,0.000188007347329,0.000000000008865,0.000000000008865,0.000000000008865,0.000000000008865,0.000188007347329,0.000000000008865,0.000000000008865,0.044657326751878,0.000000002105713,0.000000002105582,-0.000000000002127,0.044657326751878],[0.000000000001048,-0.000000000000334,0.000000000001048,-0.000000000000335,0.000000009530045,-0.000000000001048,0.000000000000334,-0.000000000001048,0.000000000000335,-0.000052999642617,-0.000000009529144,2.03533403883963e-21,1.17117473200636e-20,-4.01934511535171e-21,-7.13293760786454e-21,0.000000000011953,0.000000000000902,0.000000000004364,0.000000000004364,0.000000000004364,0.000000000004364,0.00021022955747,0.00021022955747,0.000000000004364,0.000000000004364,0.00021022955747,0.000000001036679,0.000000001036669,0.049935761416961,0.00005299965457,0.049935761416961],[0.000105012562432,0.000034533697926,-0.000000000024667,-0.000000000003411,-0.000000000003416,-0.000105012416687,-0.000034533686933,0.000000000024667,0.000000000003411,0.000000000024676,0.000000000003416,0.000000000145745,0.000000000010993,1.65034290447489e-19,-4.41438215630751e-19,3.06720829725476e-19,3.39782040043567e-19,0.000438723942748,0.000438723942748,0.000000000098814,0.000000000098814,0.000000000098814,0.000000000098814,0.000438723942748,0.000000000098814,0.000000000098814,0.104209961703629,0.000000023471299,0.000000023471231,-0.000000000024676,0.104209961703629],[0.000255089683314,0.000083879997837,0.000197991826424,0.000000089513896,0.000000012950163,-0.000255084134753,-0.000083880751449,-0.000197989008331,-0.000000087742634,-0.000105998114787,-0.000000012900746,0.000000005548561,-0.000000000753612,0.000000002818093,0.000000001771262,-0.000000000262867,0.000000000049417,0.001065710957505,0.001065710957505,0.000785660490979,0.000785660490979,0.000420449319166,0.000420449319166,0.001065710957505,0.000785660490979,0.000420449319166,0.253137992362966,0.186617692128215,0.099869196046546,0.000105997851919,0.253137992362966],[0.000370123966629,0.000121696797373,0.000362005786398,0.000000165327874,0.000000066221455,-0.000370123864788,-0.000121696791649,-0.000362005686652,-0.000000165296678,-0.000386007546627,-0.000000066185623,0.000000000101841,0.000000000005724,0.000000000099746,0.000000000031196,0.000000000076661,0.000000000035833,0.00154625265192,0.00154625265192,0.001436486042157,0.001436486042157,0.001531153925416,0.001531153925416,0.00154625265192,0.001436486042157,0.001531153925416,0.367280911617355,0.341208082931395,0.363694515805756,0.000386007623288,0.367280911617355],[0.000000000001246,-0.000000000000448,0.000000000001246,-0.000000000000448,0.000000019087574,-0.000000000001246,0.000000000000448,-0.000000000001246,0.000000000000448,-0.00008699797214,-0.000000019047233,-3.03394886328107e-20,1.18148398283435e-19,-1.0157722063226e-19,-8.24404790004317e-20,0.000000000534829,0.000000000040341,0.000000000005255,0.000000000005255,0.000000000005255,0.000000000005255,0.000345089707326,0.000345089707326,0.000000000005255,0.000000000005255,0.000345089707326,0.000000001248192,0.000000001248193,0.081969050878547,0.000086998506969,0.081969050878547],[0.000000000000704,-0.000000000000254,0.000000000000704,-0.000000000000254,0.000000010377183,-0.000000000000704,0.000000000000254,-0.000000000000704,0.000000000000254,-0.000047999012325,-0.0000000103751,6.76924637629254e-21,9.4102716046932e-21,-4.50455601486082e-21,-3.85121651590828e-21,0.000000000027612,0.000000000002083,0.000000000002969,0.000000000002969,0.000000000002969,0.000000000002969,0.000190392861399,0.000190392861399,0.000000000002969,0.000000000002969,0.000190392861399,0.000000000705241,0.000000000705235,0.04522395716724,0.000047999039937,0.04522395716724],[0.000045004413441,0.00001479889284,-0.000000000001878,-0.00000000000072,-0.000000000000721,-0.000045004390392,-0.000014798891101,0.000000000001878,0.00000000000072,0.000000000001879,0.000000000000721,0.000000000023049,0.000000000001739,3.73091131511198e-21,-1.22603416913161e-20,4.90721222936354e-21,3.72515608887008e-21,0.000188007348221,0.000188007348221,0.000000000007983,0.000000000007983,0.000000000007982,0.000000000007982,0.000188007348221,0.000000000007983,0.000000000007982,0.04465732696374,0.000000001896083,0.00000000189596,-0.000000000001879,0.04465732696374],[0.000000000000944,-0.000000000000328,0.000000000000944,-0.000000000000329,0.00000000952915,-0.000000000000944,0.000000000000328,-0.000000000000944,0.000000000000329,-0.000052999628745,-0.000000009528111,-6.21343704533561e-21,9.14432263741523e-22,-1.92258423224918e-21,-1.91316424854243e-21,0.000000000013768,0.000000000001039,0.000000000003965,0.000000000003965,0.000000000003965,0.000000000003965,0.000210229557058,0.000210229557058,0.000000000003965,0.000000000003965,0.000210229557058,0.000000000941814,0.0000000009418,0.049935761318935,0.000052999642513,0.049935761318935],[0.000105012421659,0.000034533687294,-0.000000000019694,-0.000000000003052,-0.000000000003057,-0.000105011671027,-0.000034533630675,0.000000000019694,0.000000000003052,0.000000000019701,0.000000000003057,0.000000000750632,0.000000000056619,6.96303336708935e-19,-1.82046147630942e-18,1.2024154520919e-18,1.49821814275484e-18,0.000438723961942,0.000438723961942,0.000000000079081,0.000000000079081,0.000000000079081,0.000000000079081,0.000438723961942,0.000000000079081,0.000000000079081,0.104209966262786,0.000000018784142,0.000000018784076,-0.000000000019701,0.104209966262786],[0.00025508417171,0.00008388075728,0.000197989045297,0.000000087748444,0.000000012906565,-0.000255081508957,-0.000083881118937,-0.000197987692894,-0.000000086898415,-0.000105998277917,-0.00000001288285,0.000000002662753,-0.000000000361658,0.000000001352402,0.000000000850028,-0.00000000012615,0.000000000023715,0.001065711104068,0.001065711104068,0.000785660637677,0.000785660637677,0.000420449465853,0.000420449465853,0.001065711104068,0.000785660637677,0.000420449465853,0.253138027176099,0.186617726973478,0.099869230889034,0.000105998151767,0.253138027176099],[0.000370123866247,0.000121696792313,0.000362005688112,0.000000165297341,0.000000066186286,-0.000370123779068,-0.000121696787414,-0.000362005602726,-0.000000165270636,-0.000386007482463,-0.000000066155613,0.000000000087179,0.0000000000049,0.000000000085385,0.000000000026705,0.000000000065624,0.000000000030674,0.001546252658244,0.001546252658244,0.00143648604795,0.00143648604795,0.001531153931209,0.001531153931209,0.001546252658244,0.00143648604795,0.001531153931209,0.367280913119555,0.341208084307448,0.363694517181637,0.000386007548087,0.367280913119555],[0.000000000000699,-0.000000000000244,0.000000000000699,-0.000000000000245,0.00000001037511,-0.000000000000699,0.000000000000244,-0.000000000000699,0.000000000000245,-0.000047998918092,-0.000000010368002,-4.48425212355562e-21,2.27519510587597e-20,-1.5556144594141e-20,-1.34373269581801e-20,0.000000000094229,0.000000000007108,0.000000000002939,0.000000000002939,0.000000000002939,0.000000000002939,0.000190392861381,0.000190392861381,0.000000000002939,0.000000000002939,0.000190392861381,0.000000000698139,0.000000000698139,0.045223957162848,0.000047999012321,0.045223957162848],[0.000045004390525,0.000014798891146,-0.000000000001745,-0.000000000000676,-0.000000000000677,-0.00004500437739,-0.000014798890155,0.000000000001745,0.000000000000676,0.000000000001746,0.000000000000677,0.000000000013135,0.000000000000991,4.6649484762878e-21,2.48957544565656e-21,8.09323507767273e-21,8.08216709411522e-21,0.000188007348777,0.000188007348777,0.000000000007427,0.000000000007427,0.000000000007426,0.000000000007426,0.000188007348777,0.000000000007427,0.000000000007426,0.044657327095938,0.000000001764022,0.000000001763876,-0.000000000001746,0.044657327095938],[0.000000000000955,-0.000000000000308,0.000000000000955,-0.000000000000308,0.000000009528132,-0.000000000000955,0.000000000000308,-0.000000000000955,0.000000000000308,-0.000052999615099,-0.000000009527101,9.57667788727771e-21,-2.35996930973045e-21,3.65703374665334e-21,9.09868346208601e-21,0.000000000013658,0.00000000000103,0.000000000003983,0.000000000003983,0.000000000003983,0.000000000003983,0.000210229557104,0.000210229557104,0.000000000003983,0.000000000003983,0.000210229557104,0.000000000946187,0.000000000946191,0.049935761329898,0.000052999628756,0.049935761329898],[0.000105011676642,0.000034533631089,-0.000000000014078,-0.000000000002641,-0.000000000002645,-0.000105011414582,-0.000034533611322,0.000000000014078,0.000000000002641,0.000000000014083,0.000000000002645,0.00000000026206,0.000000000019767,1.81229695203582e-19,-4.35323896471667e-19,3.09681241283144e-19,3.80682327935724e-19,0.000438723983623,0.000438723983623,0.000000000056839,0.000000000056839,0.000000000056838,0.000000000056838,0.000438723983623,0.000000000056839,0.000000000056838,0.104209971412778,0.000000013500876,0.000000013500811,-0.000000000014083,0.104209971412778],[0.000000000001034,-0.000000000000324,0.000000000001034,-0.000000000000325,0.000000007536405,-0.000000000001034,0.000000000000324,-0.000000000001034,0.000000000000325,-0.000048999738611,-0.000000007506043,-4.69812896055723e-20,1.21502951406539e-19,-9.52482794062193e-20,-8.30318811800741e-20,0.000000000402526,0.000000000030362,0.0000000000043,0.0000000000043,0.0000000000043,0.0000000000043,0.000194362433659,0.000194362433659,0.0000000000043,0.0000000000043,0.000194362433659,0.000000001021426,0.000000001021425,0.046166848431707,0.000049000141138,0.046166848431707],[0.000255081542602,0.000083881124753,0.000197987726548,0.000000086904212,0.000000005351926,-0.000255076025183,-0.000083882157803,-0.000197984936674,-0.000000084936427,-0.0000569985484,-0.000000005350892,0.000000005517419,-0.00000000103305,0.000000002789874,0.000000001967785,-0.00000000037692,0.000000000001034,0.001065711238128,0.001065711238128,0.000785660771234,0.000785660771234,0.000226087170029,0.000226087170029,0.001065711238128,0.000785660771234,0.000226087170029,0.253138059019375,0.186617758697065,0.053702415197252,0.00005699817148,0.253138059019375],[0.000370123780384,0.000121696787084,0.000362005604042,0.000000165270306,0.000000066155283,-0.000370123681233,-0.000121696781512,-0.000362005506932,-0.000000165239935,-0.000386007409144,-0.000000066120397,0.000000000099151,0.000000000005572,0.000000000097111,0.000000000030372,0.000000000074636,0.000000000034886,0.001546252662798,0.001546252662798,0.001436486053173,0.001436486053173,0.001531153936431,0.001531153936431,0.001546252662798,0.001436486053173,0.001531153936431,0.36728091420118,0.341208085547866,0.363694518422191,0.00038600748378,0.36728091420118],[0.000045004377858,0.000014798890174,-0.000000000001277,-0.000000000000657,-0.000000000000658,-0.000045004318521,-0.000014798885698,0.000000000001277,0.000000000000657,0.000000000001277,0.000000000000658,0.000000000059337,0.000000000004476,8.73626622194328e-21,-1.80738206536368e-20,1.06577552880641e-20,2.01839550641111e-20,0.000188007350566,0.000188007350566,0.000000000005699,0.000000000005699,0.000000000005698,0.000000000005698,0.000188007350566,0.000000000005699,0.000000000005698,0.044657327520767,0.000000001353675,0.000000001353562,-0.000000000001277,0.044657327520767],[0.000000000000976,-0.00000000000032,0.000000000000976,-0.00000000000032,0.00000000952709,-0.000000000000976,0.00000000000032,-0.000000000000976,0.00000000000032,-0.000052999495133,-0.000000009518039,-1.4205718525876e-20,3.67777976357257e-20,-3.3455857461326e-20,-2.32335803530542e-20,0.000000000119986,0.00000000000905,0.000000000004074,0.000000000004074,0.000000000004074,0.000000000004074,0.000210229557184,0.000210229557184,0.000000000004074,0.000000000004074,0.000210229557184,0.000000000967667,0.000000000967667,0.049935761348917,0.000052999615119,0.049935761348917],[0.000105011419217,0.000034533611663,-0.000000000009443,-0.000000000002303,-0.000000000002306,-0.00010501084886,-0.000034533568642,0.000000000009443,0.000000000002303,0.000000000009446,0.000000000002306,0.000000000570356,0.000000000043021,2.80325552924458e-19,-6.52342055247019e-19,4.1341957910614e-19,5.86809710847826e-19,0.000438724001519,0.000438724001519,0.000000000038568,0.000000000038568,0.000000000038568,0.000000000038568,0.000438724001519,0.000000000038568,0.000000000038568,0.104209975663493,0.000000009161084,0.000000009161025,-0.000000000009446,0.104209975663493],[0.000000000001032,-0.000000000000322,0.000000000001032,-0.000000000000323,0.000000007506044,-0.000000000001032,0.000000000000322,-0.000000000001032,0.000000000000323,-0.000048999579189,-0.00000000749402,-1.54401682580958e-20,5.16376190759621e-20,-3.86772931083476e-20,-3.5035703718362e-20,0.00000000015942,0.000000000012025,0.000000000004292,0.000000000004292,0.000000000004292,0.000000000004292,0.000194362433653,0.000194362433653,0.000000000004292,0.000000000004292,0.000194362433653,0.000000001019567,0.000000001019567,0.046166848430266,0.00004899973861,0.046166848430266],[0.000000000001376,-0.000000000000417,0.000054992468534,0.000000019774013,-0.000000000000418,-0.000000000001376,0.000000000000417,-0.000054992090356,-0.000000019745488,-0.000000000001377,0.000000000000418,-9.96677450720671e-20,-9.45971631066243e-20,0.000000000378177,0.000000000028525,-3.19326912011181e-20,1.37631650235947e-19,0.000000000005707,0.000000000005707,0.000218225814464,0.000218225814464,0.000000000005707,0.000000000005707,0.000000000005707,0.000218225814464,0.000000000005707,0.000000001355693,0.051835109854319,0.000000001355594,0.000000000001377,0.051835109854319],[0.000255076050534,0.000083882162466,0.000142992494875,0.000000065166643,0.000000005355547,-0.000255075027657,-0.000083882247601,-0.000142992254743,-0.000000064920384,-0.000056998630921,-0.000000005374415,0.000000001022877,-0.000000000085135,0.000000000240132,0.000000000246259,-0.000000000057153,-0.000000000018867,0.00106571133949,0.00106571133949,0.000567435063593,0.000567435063593,0.000226087270655,0.000226087270655,0.00106571133949,0.000567435063593,0.000226087270655,0.253138083095824,0.134782674216579,0.053702439098897,0.000056998573769,0.253138083095824],[0.000370123682021,0.000121696782133,0.000362005507721,0.000000165240555,0.000000066121017,-0.000370123603907,-0.000121696777743,-0.000362005431214,-0.000000165216627,-0.000386007351133,-0.000000066093533,0.000000000078114,0.00000000000439,0.000000000076506,0.000000000023928,0.0000000000588,0.000000000027484,0.00154625266654,0.00154625266654,0.001436486056304,0.001436486056304,0.001531153939562,0.001531153939562,0.00154625266654,0.001436486056304,0.001531153939562,0.367280915090188,0.341208086291774,0.363694519165936,0.000386007409934,0.367280915090188],[0.000045004318984,0.000014798885707,-0.000000000000815,-0.000000000000649,-0.000000000000649,-0.000045004295891,-0.000014798883965,0.000000000000815,0.000000000000649,0.000000000000815,0.000000000000649,0.000000000023093,0.000000000001742,8.14148923223945e-21,-1.24790576560701e-20,5.88067951110334e-21,8.85470875174839e-21,0.00018800735232,0.00018800735232,0.000000000004132,0.000000000004132,0.000000000004132,0.000000000004132,0.00018800735232,0.000000000004132,0.000000000004132,0.044657327937399,0.000000000981443,0.000000000981361,-0.000000000000815,0.044657327937399],[0.000000000000984,-0.000000000000314,0.000000000000984,-0.000000000000315,0.000000009518045,-0.000000000000984,0.000000000000314,-0.000000000000984,0.000000000000315,-0.000052999249873,-0.000000009499545,-1.17122726383176e-20,7.49920417115604e-20,-6.85057909177536e-20,-4.84014342666294e-20,0.000000000245268,0.0000000000185,0.000000000004098,0.000000000004098,0.000000000004098,0.000000000004098,0.000210229557216,0.000210229557216,0.000000000004098,0.000000000004098,0.000210229557216,0.000000000973415,0.000000000973415,0.049935761356602,0.000052999495141,0.049935761356602],[0.000051005177187,0.000016773403771,-0.000000000001201,-0.000000000000849,-0.00000000000085,-0.000051005066889,-0.000016773395451,0.000000000001201,0.000000000000849,0.000000000001201,0.00000000000085,0.000000000110299,0.00000000000832,4.39624664950787e-20,-3.38153502363209e-20,2.57068084802965e-21,4.88392147085746e-20,0.000213094112817,0.000213094112817,0.000000000005836,0.000000000005836,0.000000000005836,0.000000000005836,0.000213094112817,0.000000000005836,0.000000000005836,0.050616178357852,0.00000000138624,0.000000001386239,-0.000000000001201,0.050616178357852],[0.000054005675762,0.000017760165181,-0.000000000004152,-0.000000000001146,-0.000000000001148,-0.00005400561758,-0.000017760160792,0.000000000004152,0.000000000001146,0.000000000004154,0.000000000001148,0.000000000058182,0.000000000004389,3.97993613878435e-20,-5.45853257068959e-20,3.32015079047984e-20,6.14478002455691e-20,0.0002256299045,0.0002256299045,0.000000000017094,0.000000000017094,0.000000000017094,0.000000000017094,0.0002256299045,0.000000000017094,0.000000000017094,0.053593801058326,0.000000004060315,0.000000004060257,-0.000000000004154,0.053593801058326],[0.000000000001379,-0.000000000000421,0.000054992090359,0.000000019745484,-0.000000000000422,-0.000000000001379,0.000000000000421,-0.000054991900229,-0.000000019731143,-0.00000000000138,0.000000000000422,-4.76171422923102e-20,-3.93254979179789e-20,0.00000000019013,0.000000000014341,-1.42731109256308e-20,7.28269770356112e-20,0.000000000005723,0.000000000005723,0.000218225814476,0.000218225814476,0.000000000005723,0.000000000005723,0.000000000005723,0.000218225814476,0.000000000005723,0.000000001359394,0.051835109857196,0.000000001359296,0.00000000000138,0.051835109857196],[0.000255075035151,0.00008388224875,0.000142992262239,0.000000064921528,0.000000005375561,-0.000255074158845,-0.000083882321686,-0.000142992056516,-0.000000064710556,-0.000056998687383,-0.000000005391724,0.000000000876306,-0.000000000072936,0.000000000205722,0.000000000210972,-0.000000000048963,-0.000000000016164,0.001065711369167,0.001065711369167,0.00056743509334,0.00056743509334,0.0002260873004,0.0002260873004,0.001065711369167,0.00056743509334,0.0002260873004,0.2531380901451,0.134782681282404,0.053702446164114,0.00005699863842,0.2531380901451],[0.000370123605019,0.000121696778177,0.000362005432326,0.000000165217061,0.000000066093968,-0.000370123539529,-0.000121696774496,-0.000362005368184,-0.000000165197,-0.000386007302948,-0.000000066070925,0.00000000006549,0.000000000003681,0.000000000064143,0.000000000020061,0.000000000049298,0.000000000023043,0.001546252671269,0.001546252671269,0.001436486060717,0.001436486060717,0.001531153943974,0.001531153943974,0.001546252671269,0.001436486060717,0.001531153943974,0.36728091621335,0.341208087339833,0.363694520213905,0.000386007352246,0.36728091621335],[0.000045004295969,0.000014798884054,-0.000000000000736,-0.000000000000559,-0.00000000000056,-0.000045004287947,-0.000014798883449,0.000000000000736,0.000000000000559,0.000000000000736,0.00000000000056,0.000000000008022,0.000000000000605,1.32240835424066e-21,-5.16264251270952e-21,-8.51313021273926e-21,6.86500727442815e-21,0.000188007352726,0.000188007352726,0.000000000003669,0.000000000003669,0.000000000003668,0.000000000003668,0.000188007352726,0.000000000003669,0.000000000003668,0.0446573280339,0.000000000871444,0.000000000871377,-0.000000000000736,0.0446573280339],[0.000051005068421,0.000016773395562,0.000000000000333,-0.00000000000074,-0.00000000000074,-0.000051004903381,-0.000016773383113,-0.000000000000333,0.00000000000074,-0.000000000000333,0.00000000000074,0.00000000016504,0.000000000012449,2.82559756651803e-20,2.35924492084929e-20,-2.31422416198267e-20,1.70250798351804e-20,0.000213094118734,0.000213094118734,0.000000000003218,0.000000000003218,0.000000000003218,0.000000000003218,0.000213094118734,0.000000000003218,0.000000000003218,0.050616179763131,0.000000000764462,0.000000000764462,0.000000000000333,0.050616179763131],[0.000054005617992,0.00001776016083,-0.000000000003741,-0.000000000001109,-0.00000000000111,-0.00005400560989,-0.000017760160219,0.000000000003741,0.000000000001109,0.000000000003742,0.00000000000111,0.000000000008101,0.000000000000611,2.88568419037659e-21,-4.5417108838693e-21,1.35647603818466e-20,1.06309987417461e-20,0.0002256299061,0.0002256299061,0.000000000015481,0.000000000015481,0.000000000015481,0.000000000015481,0.0002256299061,0.000000000015481,0.000000000015481,0.053593801438369,0.0000000036772,0.000000003677121,-0.000000000003742,0.053593801438369],[0.000000000001423,-0.000000000000426,0.000054991900273,0.000000019731138,-0.000000000000427,-0.000000000001423,0.000000000000426,-0.000054991882579,-0.000000019729803,-0.000000000001424,0.000000000000427,-1.22720844854246e-20,-8.35407000485256e-21,0.000000000017694,0.000000000001335,-1.01084292073013e-20,1.00654393929232e-20,0.000000000005896,0.000000000005896,0.000218225814651,0.000218225814651,0.000000000005896,0.000000000005896,0.000000000005896,0.000218225814651,0.000000000005896,0.000000001400569,0.05183510989871,0.000000001400459,0.000000000001424,0.05183510989871],[0.000255074164764,0.0000838823226,0.000142992062438,0.000000064711467,0.000000005392636,-0.000255073548365,-0.000083882373903,-0.000142991917731,-0.000000064563068,-0.000056998727748,-0.000000005404006,0.0000000006164,-0.000000000051304,0.000000000144707,0.000000000148399,-0.000000000034441,-0.00000000001137,0.001065711392619,0.001065711392619,0.000567435116839,0.000567435116839,0.000226087323896,0.000226087323896,0.001065711392619,0.000567435116839,0.000226087323896,0.253138095715538,0.134782686863942,0.053702451745175,0.000056998693307,0.253138095715538],[0.000370123541193,0.000121696774397,0.000362005369848,0.0000001651969,0.000000066070825,-0.0003701234821,-0.000121696771076,-0.000362005311971,-0.000000165178799,-0.00038600726013,-0.000000066050033,0.000000000059093,0.000000000003321,0.000000000057877,0.000000000018101,0.000000000044482,0.000000000020792,0.001546252677418,0.001546252677418,0.00143648606732,0.00143648606732,0.001531153950578,0.001531153950578,0.001546252677418,0.00143648606732,0.001531153950578,0.367280917674066,0.341208088908193,0.363694521782374,0.000386007304613,0.367280917674066],[0.00004500428812,0.000014798883376,-0.000000000000563,-0.000000000000633,-0.000000000000633,-0.000045004282076,-0.00001479888292,0.000000000000563,0.000000000000633,0.000000000000563,0.000000000000633,0.000000000006044,0.000000000000456,8.48177297913495e-21,-1.31203739555723e-21,-4.50197299395631e-21,1.0878729136812e-20,0.000188007353288,0.000188007353288,0.00000000000336,0.00000000000336,0.00000000000336,0.00000000000336,0.000188007353288,0.00000000000336,0.00000000000336,0.044657328167388,0.000000000798174,0.000000000798159,-0.000000000000563,0.044657328167388],[0.000054005610243,0.000017760160177,-0.000000000003388,-0.000000000001151,-0.000000000001152,-0.000054005601444,-0.000017760159514,0.000000000003388,0.000000000001151,0.000000000003389,0.000000000001152,0.000000000008799,0.000000000000664,9.14698098506985e-21,-9.76908623698865e-21,-1.24011781773067e-21,9.85058352021591e-21,0.000225629907376,0.000225629907376,0.000000000014199,0.000000000014199,0.000000000014199,0.000000000014199,0.000225629907376,0.000000000014199,0.000000000014199,0.05359380174154,0.000000003372676,0.000000003372621,-0.000000000003389,0.05359380174154],[0.000000000001351,-0.000000000000411,0.000054991882507,0.000000019729818,-0.000000000000412,-0.000000000001351,0.000000000000411,-0.0000549918752,-0.000000019729267,-0.000000000001352,0.000000000000412,6.06520187709117e-21,5.36678997097082e-21,0.000000000007307,0.000000000000551,1.13513876311101e-20,-1.44740055506593e-20,0.000000000005605,0.000000000005605,0.000218225814365,0.000218225814365,0.000000000005605,0.000000000005605,0.000000000005605,0.000218225814365,0.000000000005605,0.000000001331415,0.051835109830704,0.000000001331285,0.000000000001352,0.051835109830704],[0.000255073553861,0.000083882374806,0.000142991923229,0.000000064563967,0.000000005404907,-0.000255072775027,-0.000083882439629,-0.000142991740389,-0.000000064376462,-0.000056998776764,-0.000000005419273,0.000000000778834,-0.000000000064823,0.00000000018284,0.000000000187505,-0.000000000043517,-0.000000000014366,0.00106571141446,0.00106571141446,0.000567435138657,0.000567435138657,0.000226087345712,0.000226087345712,0.00106571141446,0.000567435138657,0.000226087345712,0.253138100903558,0.134782692046394,0.053702456927157,0.000056998733248,0.253138100903558],[0.000370123482845,0.000121696772367,0.000362005312717,0.00000016518009,0.000000066051325,-0.000370123433937,-0.000121696769618,-0.000362005264816,-0.000000165165109,-0.000386007224062,-0.000000066034117,0.000000000048907,0.000000000002749,0.000000000047901,0.000000000014981,0.000000000036815,0.000000000017208,0.001546252681828,0.001546252681828,0.001436486070283,0.001436486070283,0.001531153953538,0.001531153953538,0.001546252681828,0.001436486070283,0.001531153953538,0.367280918721561,0.34120808961203,0.363694522485549,0.000386007260877,0.367280918721561],[0.000045004282203,0.000014798882954,-0.000000000000436,-0.000000000000598,-0.000000000000599,-0.000045004277781,-0.000014798882621,0.000000000000436,0.000000000000598,0.000000000000436,0.000000000000599,0.000000000004422,0.000000000000334,2.49300675078056e-21,-1.45770448707815e-21,1.60874916134843e-21,1.2743852286341e-22,0.00018800735381,0.00018800735381,0.000000000002938,0.000000000002938,0.000000000002938,0.000000000002938,0.00018800735381,0.000000000002938,0.000000000002938,0.044657328291424,0.000000000697757,0.000000000697752,-0.000000000000436,0.044657328291424],[0.000054005601179,0.000017760159613,-0.000000000003654,-0.000000000001051,-0.000000000001052,-0.000054005593472,-0.000017760159032,0.000000000003654,0.000000000001051,0.000000000003655,0.000000000001052,0.000000000007707,0.000000000000581,-4.86637543727692e-21,-4.85709308139914e-21,8.57958032129822e-21,-1.4199476099139e-22,0.000225629906499,0.000225629906499,0.000000000015086,0.000000000015086,0.000000000015086,0.000000000015086,0.000225629906499,0.000000000015086,0.000000000015086,0.053593801533155,0.000000003583342,0.00000000358331,-0.000000000003655,0.053593801533155],[0.000000000001363,-0.000000000000203,0.000054991875212,0.000000019729475,-0.000000000000204,-0.000000000001363,0.000000000000203,-0.000054991870056,-0.000000019729086,-0.000000000001364,0.000000000000204,-1.57672228707196e-20,-8.77923028790135e-21,0.000000000005156,0.000000000000389,-1.09254813002151e-20,1.72099965054031e-21,0.000000000005471,0.000000000005471,0.000218225814415,0.000218225814415,0.000000000005471,0.000000000005471,0.000000000005471,0.000218225814415,0.000000000005471,0.000000001299634,0.051835109842612,0.000000001299505,0.000000000001364,0.051835109842612],[0.000255072779951,0.000083882440378,0.000142991745314,0.000000064377208,0.00000000542002,-0.00025507229194,-0.000083882480996,-0.000142991630748,-0.000000064259719,-0.000056998808958,-0.000000005429022,0.000000000488011,-0.000000000040618,0.000000000114566,0.000000000117489,-0.000000000027267,-0.000000000009002,0.001065711433952,0.001065711433952,0.000567435158201,0.000567435158201,0.000226087365255,0.000226087365255,0.001065711433952,0.000567435158201,0.000226087365255,0.25313810553346,0.134782696688764,0.05370246156913,0.000056998781691,0.25313810553346],[0.000370123435551,0.000121696768687,0.00036200526643,0.000000165164176,0.000000066033184,-0.000370123378816,-0.000121696765498,-0.000362005210862,-0.000000165146797,-0.000386007182969,-0.000000066013222,0.000000000056735,0.000000000003189,0.000000000055568,0.000000000017379,0.000000000042708,0.000000000019962,0.001546252686759,0.001546252686759,0.001436486076685,0.001436486076685,0.001531153959942,0.001531153959942,0.001546252686759,0.001436486076685,0.001531153959942,0.367280919892657,0.341208091132665,0.363694524006648,0.000386007225676,0.367280919892657],[0.000045004277932,0.000014798882695,-0.000000000000285,-0.000000000000524,-0.000000000000524,-0.000045004275687,-0.000014798882526,0.000000000000285,0.000000000000524,0.000000000000285,0.000000000000524,0.000000000002245,0.000000000000169,-4.30969863700329e-21,-8.53913026038178e-22,1.61369952227507e-21,-7.46235001844899e-21,0.00018800735447,0.00018800735447,0.000000000002367,0.000000000002367,0.000000000002367,0.000000000002367,0.00018800735447,0.000000000002367,0.000000000002367,0.044657328448201,0.000000000562319,0.00000000056234,-0.000000000000285,0.044657328448201],[0.000054005593801,0.000017760158949,-0.000000000003324,-0.000000000001134,-0.000000000001135,-0.000054005585612,-0.000017760158332,0.000000000003324,0.000000000001134,0.000000000003326,0.000000000001135,0.000000000008189,0.000000000000618,7.02925806085345e-23,-9.28684922949626e-21,6.10296562050073e-21,5.04815362754363e-21,0.000225629907637,0.000225629907637,0.000000000013938,0.000000000013938,0.000000000013938,0.000000000013938,0.000225629907637,0.000000000013938,0.000000000013938,0.053593801803547,0.000000003310696,0.000000003310646,-0.000000000003326,0.053593801803547],[0.00000000000127,-0.000000000000365,0.000054991869963,0.000000019728925,-0.000000000000366,-0.00000000000127,0.000000000000365,-0.000054991864689,-0.000000019728527,-0.000000000001271,0.000000000000366,3.23278702764167e-21,6.78090192869581e-23,0.000000000005274,0.000000000000398,9.81628117224071e-21,8.58876185444143e-21,0.000000000005246,0.000000000005246,0.000218225814045,0.000218225814045,0.000000000005245,0.000000000005245,0.000000000005246,0.000218225814045,0.000000000005245,0.000000001246001,0.05183510975467,0.000000001245876,0.000000000001271,0.05183510975467],[0.000255072296861,0.000083882481787,0.00014299163567,0.000000064260507,0.000000005429811,-0.000255071547468,-0.00008388254416,-0.000142991459742,-0.000000064080089,-0.000056998855755,-0.000000005443634,0.000000000749393,-0.000000000062373,0.000000000175928,0.000000000180417,-0.000000000041872,-0.000000000013823,0.001065711453486,0.001065711453486,0.000567435177735,0.000567435177735,0.000226087384787,0.000226087384787,0.001065711453486,0.000567435177735,0.000226087384787,0.253138110173267,0.134782701328624,0.053702466208569,0.000056998813883,0.253138110173267],[0.000370123378729,0.000121696766839,0.000362005210776,0.000000165148138,0.000000066014564,-0.000370123316373,-0.000121696763335,-0.000362005149703,-0.000000165129037,-0.000386007135944,-0.000000065992624,0.000000000062356,0.000000000003504,0.000000000061073,0.000000000019101,0.000000000046939,0.00000000002194,0.001546252688094,0.001546252688094,0.001436486076346,0.001436486076346,0.001531153959601,0.001531153959601,0.001546252688094,0.001436486076346,0.001531153959601,0.367280920209917,0.341208091052227,0.363694523925592,0.000386007182882,0.367280920209917],[0.000045004275547,0.000014798882284,-0.000000000000425,-0.000000000000766,-0.000000000000767,-0.000045004272245,-0.000014798882035,0.000000000000425,0.000000000000766,0.000000000000425,0.000000000000767,0.000000000003301,0.000000000000249,4.16367354147091e-21,-3.52938913545617e-21,-4.23358337939001e-21,8.93529898377416e-21,0.000188007353644,0.000188007353644,0.000000000003477,0.000000000003477,0.000000000003477,0.000000000003477,0.000188007353644,0.000000000003477,0.000000000003477,0.044657328251816,0.000000000825801,0.000000000825825,-0.000000000000425,0.044657328251816],[0.000054005585855,0.00001776015838,-0.000000000003081,-0.000000000001086,-0.000000000001087,-0.000054005574168,-0.000017760157498,0.000000000003081,0.000000000001086,0.000000000003083,0.000000000001087,0.000000000011687,0.000000000000882,4.40644282185826e-21,-7.15679048971902e-22,2.96600431642842e-21,-3.71562967836089e-21,0.000225629908613,0.000225629908613,0.000000000012965,0.000000000012965,0.000000000012965,0.000000000012965,0.000225629908613,0.000000000012965,0.000000000012965,0.053593802035282,0.000000003079501,0.000000003079508,-0.000000000003083,0.053593802035282],[0.000000000001502,-0.000000000000337,0.000054991864921,0.000000019728555,-0.000000000000338,-0.000000000001502,0.000000000000337,-0.000054991858698,-0.000000019728085,-0.000000000001502,0.000000000000338,2.41196879917031e-21,7.63328938609571e-21,0.000000000006223,0.000000000000469,-1.09912138861382e-20,-4.45561614452997e-21,0.000000000006108,0.000000000006108,0.000218225814962,0.000218225814962,0.000000000006107,0.000000000006107,0.000000000006108,0.000218225814962,0.000000000006107,0.000000001450798,0.051835109972693,0.000000001450703,0.000000000001502,0.051835109972693],[0.000255071553365,0.000083882545059,0.000142991465641,0.000000064080985,0.000000005444532,-0.000255070806308,-0.000083882607238,-0.000142991290261,-0.00000006390113,-0.000056998903398,-0.000000005458311,0.000000000747057,-0.000000000062178,0.00000000017538,0.000000000179855,-0.000000000041741,-0.00000000001378,0.001065711476838,0.001065711476838,0.000567435201147,0.000567435201147,0.000226087408197,0.000226087408197,0.001065711476838,0.000567435201147,0.000226087408197,0.253138115720016,0.134782706889666,0.053702471769135,0.000056998861656,0.253138115720016],[0.000370123319876,0.000121696763626,0.000362005153206,0.000000165129327,0.000000065992914,-0.000370122979932,-0.000121696744521,-0.000362004820258,-0.000000165025196,-0.000386006883556,-0.000000065873306,0.000000000339944,0.000000000019105,0.000000000332949,0.000000000104131,0.000000000255893,0.000000000119608,0.001546252701663,0.001546252701663,0.00143648609025,0.00143648609025,0.001531153973505,0.001531153973505,0.001546252701663,0.00143648609025,0.001531153973505,0.367280923432812,0.34120809435487,0.363694527228214,0.000386007139449,0.367280923432812],[0.000045004272287,0.000014798882387,-0.000000000000383,-0.000000000000414,-0.000000000000414,-0.000045004266753,-0.00001479888197,0.000000000000383,0.000000000000414,0.000000000000383,0.000000000000414,0.000000000005534,0.000000000000417,-4.9392207465312e-21,5.60171885748449e-21,1.40796660253122e-20,5.83351724100365e-21,0.000188007354239,0.000188007354239,0.000000000002237,0.000000000002237,0.000000000002237,0.000000000002237,0.000188007354239,0.000000000002237,0.000000000002237,0.044657328393161,0.000000000531346,0.000000000531354,-0.000000000000383,0.044657328393161],[0.000054005574168,0.000017760157498,-0.000000000003081,-0.000000000001086,-0.000000000001087,-0.000054005559961,-0.000017760156427,0.000000000003081,0.000000000001086,0.000000000003083,0.000000000001087,0.000000000014208,0.000000000001072,1.67203805056251e-20,-1.24228094753907e-20,1.11303694546902e-21,1.6539089818776e-20,0.000225629908613,0.000225629908613,0.000000000012965,0.000000000012965,0.000000000012965,0.000000000012965,0.000225629908613,0.000000000012965,0.000000000012965,0.053593802035283,0.000000003079503,0.000000003079507,-0.000000000003083,0.053593802035283],[0.000000000001374,-0.000000000000371,0.000054991858571,0.000000019728051,-0.000000000000372,-0.000000000001374,0.000000000000371,-0.000054991850721,-0.000000019727459,-0.000000000001375,0.000000000000372,2.63493820095114e-21,-1.26406892223417e-20,0.000000000007849,0.000000000000592,-2.44971012630839e-21,9.63998911198391e-21,0.00000000000565,0.00000000000565,0.000218225814457,0.000218225814457,0.000000000005649,0.000000000005649,0.00000000000565,0.000218225814457,0.000000000005649,0.000000001342014,0.051835109852718,0.000000001341859,0.000000000001375,0.051835109852718],[0.000255070812598,0.000083882608234,0.000142991296552,0.000000063902123,0.000000005459305,-0.000255069974377,-0.000083882678,-0.000142991099771,-0.00000006370032,-0.000056998956527,-0.000000005474767,0.000000000838221,-0.000000000069766,0.000000000196782,0.000000000201803,-0.000000000046835,-0.000000000015461,0.001065711501787,0.001065711501787,0.000567435226115,0.000567435226115,0.000226087433162,0.000226087433162,0.001065711501787,0.000567435226115,0.000226087433162,0.253138121646168,0.134782712820267,0.053702477699211,0.000056998909692,0.253138121646168],[0.000370123000174,0.000121696750485,0.000362004840506,0.00000016503115,0.000000056328903,-0.000370120229196,-0.000121696790552,-0.00036200220413,-0.000000164021061,-0.000332005465123,-0.000000055631622,0.000000002770978,-0.000000000040066,0.000000002636376,0.000000001010088,0.000000001136412,0.000000000697281,0.001546252785371,0.001546252785371,0.001436486170608,0.001436486170608,0.001316953786942,0.001316953786942,0.001546252785371,0.001436486170608,0.001316953786942,0.367280943316006,0.341208113442349,0.312815623517543,0.000332006601536,0.367280943316006],[0.000000000000871,-0.000000000000304,0.00000000000087,-0.000000000000304,0.000000009550058,-0.000000000000871,0.000000000000304,-0.00000000000087,0.000000000000304,-0.000054000227591,-0.000000009544359,-8.31554814718042e-23,1.02641171799685e-20,-1.29169188268849e-20,-7.48183576633216e-21,0.000000000075556,0.000000000005699,0.000000000003659,0.000000000003659,0.000000000003659,0.000000000003659,0.00021420027037,0.00021420027037,0.000000000003659,0.000000000003659,0.00021420027037,0.00000000086912,0.000000000869139,0.050878923617277,0.000054000303147,0.050878923617277],[0.000045004266942,0.00001479888176,-0.000000000000195,-0.000000000000624,-0.000000000000624,-0.000045004242257,-0.000014798879898,0.000000000000195,0.000000000000624,0.000000000000195,0.000000000000624,0.000000000024685,0.000000000001862,7.56878315702496e-21,8.44573720713928e-22,-5.20594486746731e-21,-4.51344618696185e-21,0.000188007354689,0.000188007354689,0.000000000002592,0.000000000002592,0.000000000002592,0.000000000002592,0.000188007354689,0.000000000002592,0.000000000002592,0.044657328500139,0.000000000615659,0.000000000615677,-0.000000000000195,0.044657328500139],[0.000054005560546,0.000017760156509,-0.000000000002496,-0.000000000001004,-0.000000000001005,-0.000054005472483,-0.000017760149867,0.000000000002496,0.000000000001004,0.000000000002497,0.000000000001005,0.000000000088063,0.000000000006642,2.95248528524039e-20,-5.69205139294764e-20,2.41690680085537e-20,4.48971410053789e-20,0.000225629910922,0.000225629910922,0.000000000010675,0.000000000010675,0.000000000010675,0.000000000010675,0.000225629910922,0.000000000010675,0.000000000010675,0.053593802583813,0.000000002535642,0.000000002535642,-0.000000000002497,0.053593802583813],[0.000000000001317,-0.000000000000284,0.000054991850664,0.000000019727546,-0.000000000000285,-0.000000000001317,0.000000000000284,-0.000054991843634,-0.000000019727016,-0.000000000001317,0.000000000000285,-1.37680416329687e-20,-2.71595126242211e-21,0.00000000000703,0.00000000000053,-7.58712393325763e-21,-1.13221831168746e-20,0.000000000005347,0.000000000005347,0.00021822581423,0.00021822581423,0.000000000005346,0.000000000005346,0.000000000005347,0.00021822581423,0.000000000005346,0.000000001270073,0.051835109798667,0.000000001269902,0.000000000001317,0.051835109798667],[0.00025506998008,0.000083882678958,0.000142991105475,0.000000063701274,0.000000005475723,-0.000255069373513,-0.000083882729443,-0.000142990963077,-0.000000063555243,-0.000056998996125,-0.000000005486911,0.000000000606566,-0.000000000050485,0.000000000142398,0.000000000146032,-0.000000000033892,-0.000000000011188,0.001065711524477,0.001065711524477,0.000567435248754,0.000567435248754,0.000226087455799,0.000226087455799,0.001065711524477,0.000567435248754,0.000226087455799,0.253138127035744,0.134782718197749,0.053702483076189,0.000056998962234,0.253138127035744],[0.00037012026583,0.000121696800272,0.000362002240775,0.000000164030762,0.000000055641332,-0.000370117611863,-0.000121696838646,-0.000361999715725,-0.000000163063327,-0.000332004413355,-0.000000054973495,0.000000002653967,-0.000000000038374,0.000000002525049,0.000000000967435,0.000000001088425,0.000000000667837,0.001546252935537,0.001546252935537,0.001436486316038,0.001436486316038,0.001316953932355,0.001316953932355,0.001546252935537,0.001436486316038,0.001316953932355,0.367280978984892,0.341208147986295,0.312815658057422,0.00033200550178,0.367280978984892],[0.000000000000926,-0.000000000000263,0.000000000000926,-0.000000000000264,0.000000009544399,-0.000000000000926,0.000000000000263,-0.000000000000926,0.000000000000264,-0.000053999763723,-0.000000009509406,-3.68106285877187e-20,1.21225414792004e-19,-9.76278720411748e-20,-8.56488771247001e-20,0.000000000463923,0.000000000034993,0.00000000000382,0.00000000000382,0.00000000000382,0.00000000000382,0.000214200270589,0.000214200270589,0.00000000000382,0.00000000000382,0.000214200270589,0.000000000907311,0.000000000907311,0.050878923669417,0.000054000227646,0.050878923669417],[-0.000000000000039,-0.000000000000045,-0.000000000000039,-0.000000000000045,-0.000000000000045,0.000000000000039,0.000000000000045,0.000000000000039,0.000000000000045,0.000000000000039,0.000000000000045,9.46633086265214e-29,-6.31088724176809e-30,9.46633086265214e-29,0.0,1.0097419586829e-28,-6.31088724176809e-30,0.000000000000236,0.000000000000236,0.000000000000236,0.000000000000236,0.000000000000236,0.000000000000236,0.000000000000236,0.000000000000236,0.000000000000236,0.00000000005595,0.000000000056002,0.000000000056008,-0.000000000000039,0.000000000056008],[0.000045004242923,0.000014798879945,0.000000000000471,-0.000000000000578,-0.000000000000578,-0.000045004152183,-0.0000147988731,-0.000000000000471,0.000000000000578,-0.000000000000471,0.000000000000578,0.00000000009074,0.000000000006844,9.2963548393211e-21,1.38882171828975e-20,-4.82872337132799e-21,7.67767506775742e-21,0.000188007357255,0.000188007357255,0.000000000002958,0.000000000002958,0.000000000002958,0.000000000002958,0.000188007357255,0.000000000002958,0.000000000002958,0.044657329109692,0.00000000070255,0.00000000070255,0.000000000000471,0.044657329109692],[0.000054005474638,0.000017760150032,-0.000000000000341,-0.00000000000084,-0.00000000000084,-0.00005400517331,-0.000017760127303,0.000000000000341,0.00000000000084,0.000000000000341,0.00000000000084,0.000000000301328,0.000000000022729,5.9977188176546e-20,-1.48724240801098e-20,-2.80642065831034e-20,6.01498394607095e-20,0.00022562991925,0.00022562991925,0.000000000003597,0.000000000003597,0.000000000003597,0.000000000003597,0.00022562991925,0.000000000003597,0.000000000003597,0.053593804561894,0.000000000854281,0.000000000854281,-0.000000000000341,0.053593804561894],[0.000000000001432,-0.000000000000458,0.000054991843749,0.000000019726842,-0.000000000000459,-0.000000000001432,0.000000000000458,-0.000054991838186,-0.000000019726422,-0.000000000001432,0.000000000000459,-1.18435081948425e-20,5.04248170501332e-22,0.000000000005563,0.00000000000042,-4.5918055960783e-22,2.12343240914758e-21,0.000000000005966,0.000000000005966,0.000218225814684,0.000218225814684,0.000000000005966,0.000000000005966,0.000000000005966,0.000218225814684,0.000000000005966,0.000000001417109,0.051835109906665,0.000000001417112,0.000000000001432,0.051835109906665],[0.000255069378775,0.000083882730266,0.00014299096834,0.000000063556062,0.000000005487732,-0.000255068655803,-0.00008388279044,-0.000142990798615,-0.000000063382006,-0.000056999041786,-0.000000005501068,0.000000000722972,-0.000000000060174,0.000000000169726,0.000000000174056,-0.000000000040396,-0.000000000013336,0.001065711545336,0.001065711545336,0.000567435269642,0.000567435269642,0.000226087476685,0.000226087476685,0.001065711545336,0.000567435269642,0.000226087476685,0.253138131990349,0.134782723159176,0.053702488037178,0.000056999001391,0.253138131990349],[0.000370117631174,0.000121696843538,0.000361999735041,0.000000163068209,0.000000054978382,-0.000370117513026,-0.000121696845246,-0.000361999622633,-0.000000163025141,-0.000332004384224,-0.000000054948652,0.000000000118147,-0.000000000001708,0.000000000112408,0.000000000043067,0.000000000048454,0.00000000002973,0.001546253014405,0.001546253014405,0.001436486392696,0.001436486392696,0.001316954009004,0.001316954009004,0.001546253014405,0.001436486392696,0.001316954009004,0.367280997718269,0.341208166194733,0.312815676263819,0.000332004432678,0.367280997718269],[0.000000000000933,-0.000000000000259,0.000000000000933,-0.00000000000026,0.00000000950941,-0.000000000000933,0.000000000000259,-0.000000000000933,0.00000000000026,-0.000053999594179,-0.000000009496621,-2.82953728681564e-21,3.54891781756742e-20,-1.95623723536559e-20,-2.77661417126004e-20,0.000000000169552,0.000000000012789,0.000000000003844,0.000000000003844,0.000000000003844,0.000000000003844,0.000214200270619,0.000214200270619,0.000000000003844,0.000000000003844,0.000214200270619,0.000000000912996,0.000000000912995,0.050878923676417,0.000053999763731,0.050878923676417],[-0.000000000000039,-0.000000000000045,-0.000000000000039,-0.000000000000045,-0.000000000000045,0.000000000000039,0.000000000000045,0.000000000000039,0.000000000000045,0.000000000000039,0.000000000000045,4.98560092099679e-28,3.15544362088405e-29,4.98560092099679e-28,3.15544362088405e-29,5.04870979341448e-28,2.52435489670724e-29,0.000000000000236,0.000000000000236,0.000000000000236,0.000000000000236,0.000000000000236,0.000000000000236,0.000000000000236,0.000000000000236,0.000000000000236,0.00000000005595,0.000000000056001,0.000000000056007,-0.000000000000039,0.000000000056007],[0.000000000001183,-0.000000000000422,0.000054991837938,0.000000019726458,-0.000000000000423,-0.000000000001183,0.000000000000422,-0.000054991828391,-0.000000019725738,-0.000000000001184,0.000000000000423,7.99181922067171e-21,-7.99967011586177e-21,0.000000000009547,0.00000000000072,1.1401093592665e-20,3.06355265977929e-21,0.000000000004987,0.000000000004987,0.000218225813699,0.000218225813699,0.000000000004987,0.000000000004987,0.000000000004987,0.000218225813699,0.000000000004987,0.00000000118453,0.051835109672615,0.000000001184504,0.000000000001184,0.051835109672615],[0.000255068662798,0.000083882791539,0.000142990805612,0.000000063383102,0.000000005502166,-0.000255067613778,-0.000083882878851,-0.000142990559342,-0.000000063130549,-0.0000569991074,-0.000000005521515,0.000000001049021,-0.000000000087311,0.000000000246269,0.000000000252553,-0.000000000058613,-0.00000000001935,0.001065711573073,0.001065711573073,0.00056743529741,0.00056743529741,0.000226087504451,0.000226087504451,0.001065711573073,0.00056743529741,0.000226087504451,0.253138138578835,0.134782729754903,0.053702494632326,0.000056999048786,0.253138138578835],[0.000000000001386,-0.000000000000867,0.000000000001386,-0.000000000000867,0.000000013742207,-0.000000000001386,0.000000000000867,-0.000000000001386,0.000000000000867,-0.000078999880756,-0.000000013707121,1.37338913521325e-20,1.18612941935995e-19,-1.17938444808911e-19,-5.45398025004306e-20,0.000000000465152,0.000000000035086,0.000000000006488,0.000000000006488,0.000000000006488,0.000000000006488,0.000313368820864,0.000313368820864,0.000000000006488,0.000000000006488,0.000313368820864,0.000000001541184,0.000000001541095,0.074434398580692,0.000079000345909,0.074434398580692],[0.000370117525981,0.000121696850091,0.000361999635592,0.000000163029979,0.000000041210419,-0.000370115121516,-0.000121697091782,-0.000361997429912,-0.00000016198304,-0.000253003830842,-0.000000040863123,0.000000002404464,-0.000000000241691,0.000000002205679,0.00000000104694,0.000000000221823,0.000000000347297,0.001546253069249,0.001546253069249,0.001436486444126,0.001436486444126,0.001003585245076,0.001003585245076,0.001546253069249,0.001436486444126,0.001003585245076,0.367281010745527,0.341208178410972,0.23838129120714,0.000253004052665,0.367281010745527],[0.000000000000957,-0.000000000000293,0.000000000000957,-0.000000000000294,0.000000009496587,-0.000000000000957,0.000000000000293,-0.000000000000957,0.000000000000294,-0.000053999576944,-0.000000009495286,-3.58489232851846e-21,2.05169468584777e-23,1.17786298506164e-21,-1.23331519625244e-20,0.000000000017258,0.000000000001302,0.000000000003973,0.000000000003973,0.000000000003973,0.000000000003973,0.000214200270714,0.000214200270714,0.000000000003973,0.000000000003973,0.000214200270714,0.000000000943758,0.000000000943757,0.050878923699072,0.000053999594203,0.050878923699072],[-0.000000000000013,-0.000000000000046,-0.000000000000013,-0.000000000000046,-0.000000000000046,0.000000000000013,0.000000000000046,0.000000000000013,0.000000000000046,0.000000000000013,0.000000000000046,1.89326617253043e-29,-1.26217744835362e-29,2.20881053461883e-29,-6.31088724176809e-30,1.89326617253043e-29,-2.52435489670724e-29,0.00000000000019,0.00000000000019,0.000000000000191,0.000000000000191,0.000000000000191,0.000000000000191,0.00000000000019,0.000000000000191,0.000000000000191,0.000000000045243,0.000000000045293,0.000000000045277,-0.000000000000013,0.000000000045293],[0.000000000001218,-0.000000000000409,0.000054991828426,0.000000019725752,-0.00000000000041,-0.000000000001218,0.000000000000409,-0.000054991795099,-0.000000019723238,-0.000000000001219,0.00000000000041,-5.53719649778594e-21,-1.29199947533266e-20,0.000000000033327,0.000000000002514,-1.58623421788147e-20,2.11595147331376e-20,0.000000000005099,0.000000000005099,0.000218225813837,0.000218225813837,0.0000000000051,0.0000000000051,0.000000000005099,0.000218225813837,0.0000000000051,0.000000001211281,0.051835109705347,0.000000001211286,0.000000000001219,0.051835109705347],[0.000255067621036,0.000083882879987,0.000142990566603,0.000000063131681,0.000000005522649,-0.000255066843315,-0.000083882944718,-0.000142990384024,-0.000000062944443,-0.000056999158117,-0.000000005536995,0.000000000777721,-0.000000000064731,0.000000000182579,0.000000000187237,-0.000000000043455,-0.000000000014345,0.001065711601848,0.001065711601848,0.000567435326222,0.000567435326222,0.00022608753326,0.00022608753326,0.001065711601848,0.000567435326222,0.00022608753326,0.253138145413655,0.134782736598672,0.053702501475505,0.000056999114663,0.253138145413655],[0.000000000001326,-0.000000000000863,0.000000000001326,-0.000000000000863,0.000000013707125,-0.000000000001326,0.000000000000863,-0.000000000001326,0.000000000000863,-0.000078999838077,-0.00000001370391,1.56531773632478e-21,2.7427402517492e-20,-1.4832991435191e-20,7.96165449232061e-21,0.00000000004262,0.000000000003215,0.000000000006279,0.000000000006279,0.000000000006279,0.000000000006279,0.000313368820627,0.000313368820627,0.000000000006279,0.000000000006279,0.000313368820627,0.000000001491543,0.000000001491447,0.074434398524368,0.000078999880697,0.074434398524368],[0.00037011514255,0.000121697097354,0.000361997450952,0.0000001619886,0.000000040868689,-0.000370113982532,-0.000121697213956,-0.000361996386836,-0.000000161483511,-0.000253003744871,-0.000000040701138,0.000000001160019,-0.000000000116602,0.000000001064116,0.000000000505089,0.000000000107017,0.000000000167551,0.001546253155457,0.001546253155457,0.001436486527627,0.001436486527627,0.001003585328566,0.001003585328566,0.001546253155457,0.001436486527627,0.001003585328566,0.367281031222497,0.34120819824481,0.23838131103864,0.000253003851889,0.367281031222497],[0.000000000000975,-0.000000000000263,0.000000000000975,-0.000000000000263,0.000000009495316,-0.000000000000975,0.000000000000263,-0.000000000000975,0.000000000000263,-0.000053999564918,-0.000000009494407,-5.88812060251946e-21,8.00324162365673e-21,-3.98724763991749e-21,6.87837282483845e-22,0.000000000012044,0.000000000000908,0.000000000004007,0.000000000004007,0.000000000004007,0.000000000004007,0.000214200270783,0.000214200270783,0.000000000004007,0.000000000004007,0.000214200270783,0.000000000951692,0.000000000951684,0.050878923715555,0.000053999576962,0.050878923715555],[-0.000000000000032,-0.000000000000009,-0.000000000000032,-0.000000000000009,-0.000000000000009,0.000000000000032,0.000000000000009,0.000000000000032,0.000000000000009,0.000000000000032,0.000000000000009,1.26217744835362e-29,4.73316543132607e-30,1.26217744835362e-29,3.15544362088405e-30,1.26217744835362e-29,4.73316543132607e-30,0.000000000000131,0.000000000000131,0.000000000000131,0.000000000000131,0.000000000000131,0.000000000000131,0.000000000000131,0.000000000000131,0.000000000000131,0.000000000031032,0.00000000003105,0.000000000031084,-0.000000000000032,0.000000000031084],[0.000000000001221,-0.00000000000041,0.000054991795101,0.000000019723237,-0.000000000000411,-0.000000000001221,0.00000000000041,-0.000054991591353,-0.000000019707868,-0.000000000001221,0.000000000000411,-5.42908740465308e-20,-3.93016642717088e-20,0.000000000203748,0.000000000015368,-4.89648331715575e-21,5.99952210572119e-20,0.000000000005111,0.000000000005111,0.000218225813847,0.000218225813847,0.000000000005111,0.000000000005111,0.000000000005111,0.000218225813847,0.000000000005111,0.000000001213971,0.051835109707728,0.000000001213971,0.000000000001221,0.051835109707728],[0.00025506684936,0.00008388294564,0.000142990390071,0.000000062945362,0.000000005537915,-0.000255066099124,-0.000083883008083,-0.000142990213944,-0.000000062764741,-0.000056999206086,-0.000000005551753,0.000000000750237,-0.000000000062443,0.000000000176126,0.00000000018062,-0.000000000041919,-0.000000000013839,0.001065711625784,0.001065711625784,0.000567435350219,0.000567435350219,0.000226087557256,0.000226087557256,0.001065711625784,0.000567435350219,0.000226087557256,0.253138151099068,0.134782742298741,0.053702507175087,0.000056999164167,0.253138151099068],[0.000000000001451,-0.00000000000088,0.00000000000145,-0.000000000000881,0.000000013703892,-0.000000000001451,0.00000000000088,-0.00000000000145,0.000000000000881,-0.000078999813972,-0.000000013702065,-5.74815764429733e-21,1.08503500361406e-20,-8.20157009047143e-21,-4.54209276827807e-21,0.000000000024229,0.000000000001828,0.000000000006734,0.000000000006734,0.000000000006734,0.000000000006734,0.00031336882112,0.00031336882112,0.000000000006734,0.000000000006734,0.00031336882112,0.000000001599626,0.000000001599538,0.074434398641406,0.000078999838201,0.074434398641406],[0.00037011401044,0.000121697222795,0.000361996414754,0.000000161492334,0.00000004070997,-0.000370110510843,-0.000121697574567,-0.00036199320448,-0.000000159968557,-0.000253003449943,-0.000000040204494,0.000000003499597,-0.000000000351772,0.000000003210274,0.000000001523777,0.000000000322855,0.000000000505476,0.001546253271634,0.001546253271634,0.001436486638426,0.001436486638426,0.001003585439348,0.001003585439348,0.001546253271634,0.001436486638426,0.001003585439348,0.367281058817858,0.341208224562996,0.238381337352566,0.000253003772798,0.367281058817858],[-0.000000000000549,-0.000000000001512,-0.000000000000551,-0.000000000001511,-0.000000000001513,0.000000000000549,0.000000000001512,0.000000000000551,0.000000000001511,0.00000000000055,0.000000000001513,4.13994203059987e-27,1.21169035041947e-27,4.34189042233645e-27,1.21169035041947e-27,4.24091622646816e-27,1.0097419586829e-27,0.000000000006383,0.000000000006383,0.000000000006383,0.000000000006383,0.000000000006385,0.000000000006385,0.000000000006383,0.000000000006383,0.000000000006385,0.0000000015162,0.000000001516146,0.000000001516642,-0.00000000000055,0.000000001516642],[0.000000000000931,-0.000000000000292,0.000000000000931,-0.000000000000292,0.000000009494379,-0.000000000000931,0.000000000000292,-0.000000000000931,0.000000000000292,-0.000053999552398,-0.000000009493438,5.21306205890663e-21,-2.6883380005393e-22,-5.58806346064494e-21,3.85060602592006e-21,0.000000000012476,0.000000000000941,0.000000000003873,0.000000000003873,0.000000000003873,0.000000000003873,0.000214200270611,0.000214200270611,0.000000000003873,0.000000000003873,0.000214200270611,0.000000000919916,0.000000000919925,0.050878923674547,0.000053999564874,0.050878923674547],[-0.000000000000052,0.000000000000003,-0.000000000000052,0.000000000000003,0.000000000000003,0.000000000000052,-0.000000000000003,0.000000000000052,-0.000000000000003,0.000000000000052,-0.000000000000003,0.0,0.0,6.31088724176809e-30,3.94430452610506e-30,0.0,-1.18329135783152e-30,0.000000000000207,0.000000000000207,0.000000000000207,0.000000000000207,0.000000000000207,0.000000000000207,0.000000000000207,0.000000000000207,0.000000000000207,0.0000000000491,0.000000000049095,0.000000000049115,-0.000000000000052,0.000000000049115],[0.000255066104941,0.000083883009029,0.000142990219763,0.000000062765684,0.000000005552697,-0.000255065370685,-0.000083883070142,-0.000142990047388,-0.000000062588911,-0.000056999252933,-0.000000005566241,0.000000000734255,-0.000000000061113,0.000000000172375,0.000000000176773,-0.000000000041026,-0.000000000013544,0.001065711648889,0.001065711648889,0.000567435373311,0.000567435373311,0.000226087580346,0.000226087580346,0.001065711648889,0.000567435373311,0.000226087580346,0.253138156587257,0.134782747783748,0.053702512659602,0.000056999211907,0.253138156587257],[0.000000000001526,-0.000000000000843,0.000000000001526,-0.000000000000844,0.000000013702102,-0.000000000001526,0.000000000000843,-0.000000000001526,0.000000000000844,-0.000078999797596,-0.000000013700861,9.17551184995761e-21,-6.07595976889317e-21,-5.29583121310504e-21,4.71873682458167e-21,0.000000000016452,0.000000000001241,0.000000000006919,0.000000000006919,0.000000000006919,0.000000000006919,0.000313368821419,0.000313368821419,0.000000000006919,0.000000000006919,0.000313368821419,0.000000001643438,0.00000000164337,0.074434398712386,0.000078999814048,0.074434398712386],[0.000370110560926,0.000121697587855,0.000361993254577,0.000000159981818,0.000000040217769,-0.000370105576627,-0.000121698088865,-0.000361988682347,-0.00000015781158,-0.000253003040232,-0.000000039497845,0.000000004984299,-0.00000000050101,0.00000000457223,0.000000002170238,0.000000000459826,0.000000000719923,0.001546253476929,0.001546253476929,0.001436486837248,0.001436486837248,0.001003585638146,0.001003585638146,0.001546253476929,0.001436486837248,0.001003585638146,0.367281107581573,0.341208271789009,0.238381384572987,0.000253003500058,0.367281107581573],[0.00000000000041,-0.000000000001527,0.000000000000408,-0.000000000001527,-0.000000000001529,-0.00000000000041,0.000000000001527,-0.000000000000408,0.000000000001527,-0.000000000000409,0.000000000001529,9.08767762814606e-28,4.03896783473158e-28,6.56332273143882e-28,2.01948391736579e-28,9.08767762814606e-28,6.05845175209737e-28,0.000000000006276,0.000000000006276,0.000000000006274,0.000000000006274,0.000000000006278,0.000000000006278,0.000000000006276,0.000000000006274,0.000000000006278,0.00000000149064,0.000000001490219,0.000000001491152,0.000000000000409,0.000000001491152],[0.000000000000961,-0.000000000000322,0.000000000000961,-0.000000000000323,0.000000009493407,-0.000000000000961,0.000000000000322,-0.000000000000961,0.000000000000323,-0.000053999500034,-0.000000009489455,7.39532082287672e-21,1.77531955224477e-20,-1.6084680289923e-20,-8.55707605080377e-21,0.000000000052394,0.000000000003952,0.000000000004021,0.000000000004021,0.000000000004022,0.000000000004022,0.000214200270728,0.000214200270728,0.000000000004021,0.000000000004022,0.000214200270728,0.000000000955216,0.000000000955232,0.050878923702313,0.000053999552427,0.050878923702313],[-0.000000000000052,0.000000000000003,-0.000000000000052,0.000000000000003,0.000000000000003,0.000000000000052,-0.000000000000003,0.000000000000052,-0.000000000000003,0.000000000000052,-0.000000000000003,1.26217744835362e-29,7.49417859959961e-30,1.89326617253043e-29,1.06496222204837e-29,1.26217744835362e-29,8.67746995743113e-30,0.000000000000207,0.000000000000207,0.000000000000207,0.000000000000207,0.000000000000207,0.000000000000207,0.000000000000207,0.000000000000207,0.000000000000207,0.000000000049098,0.000000000049101,0.000000000049111,-0.000000000000052,0.000000000049111],[0.000255065377115,0.000083883071124,0.00014299005382,0.000000062589889,0.000000005567221,-0.000255064494062,-0.000083883144622,-0.000142989846513,-0.000000062377293,-0.000056999308707,-0.00000000558351,0.000000000883053,-0.000000000073498,0.000000000207306,0.000000000212596,-0.00000000004934,-0.000000000016288,0.001065711674349,0.001065711674349,0.000567435398835,0.000567435398835,0.000226087605867,0.000226087605867,0.001065711674349,0.000567435398835,0.000226087605867,0.253138162634848,0.134782753846382,0.05370251872172,0.000056999259367,0.253138162634848],[0.000000000001462,-0.00000000000086,0.000000000001462,-0.000000000000861,0.000000013700844,-0.000000000001462,0.00000000000086,-0.000000000001462,0.000000000000861,-0.00007899977072,-0.000000013698822,-7.81691535365972e-22,6.75059775498021e-21,-2.56560784384471e-20,-6.83499632977735e-21,0.000000000026812,0.000000000002022,0.000000000006733,0.000000000006733,0.000000000006733,0.000000000006733,0.000313368821166,0.000313368821166,0.000000000006733,0.000000000006733,0.000313368821166,0.000000001599286,0.000000001599228,0.074434398652373,0.000078999797532,0.074434398652373],[0.000370105612255,0.000121698098311,0.000361988717985,0.000000157821006,0.000000039507282,-0.000370104569231,-0.000121698203154,-0.000361987761191,-0.000000157366858,-0.000253002979658,-0.000000039356629,0.000000001043024,-0.000000000104842,0.000000000956793,0.000000000454148,0.000000000096224,0.000000000150652,0.001546253622966,0.001546253622966,0.001436486978687,0.001436486978687,0.001003585779569,0.001003585779569,0.001546253622966,0.001436486978687,0.001003585779569,0.367281142269631,0.341208305385072,0.238381418165077,0.000253003075883,0.367281142269631],[0.000000000000919,-0.000000000001391,0.000000000000918,-0.000000000001391,-0.000000000001392,-0.000000000000919,0.000000000001391,-0.000000000000918,0.000000000001391,-0.000000000000919,0.000000000001392,6.05845175209737e-28,0.0,1.0097419586829e-27,0.0,8.07793566946316e-28,4.03896783473158e-28,0.000000000006616,0.000000000006616,0.000000000006613,0.000000000006613,0.000000000006617,0.000000000006617,0.000000000006616,0.000000000006613,0.000000000006617,0.000000001571401,0.000000001570775,0.000000001571738,0.000000000000919,0.000000001571738],[0.000000000000975,-0.000000000000263,0.000000000000975,-0.000000000000264,0.000000009489514,-0.000000000000975,0.000000000000263,-0.000000000000975,0.000000000000264,-0.000053999487254,-0.000000009488549,-4.2919166772141e-21,-2.61132573865702e-21,-1.08965917749836e-20,4.52863896642058e-21,0.000000000012793,0.000000000000965,0.000000000004007,0.000000000004007,0.000000000004007,0.000000000004007,0.000214200270783,0.000214200270783,0.000000000004007,0.000000000004007,0.000214200270783,0.000000000951706,0.000000000951717,0.050878923715505,0.000053999500048,0.050878923715505],[-0.000000000000053,0.000000000000042,-0.000000000000053,0.000000000000042,0.000000000000042,0.000000000000053,-0.000000000000042,0.000000000000053,-0.000000000000042,0.000000000000053,-0.000000000000042,2.58746376912492e-28,2.52435489670724e-29,2.52435489670724e-28,2.52435489670724e-29,2.6505726415426e-28,1.89326617253043e-29,0.000000000000269,0.000000000000269,0.000000000000269,0.000000000000269,0.000000000000269,0.000000000000269,0.000000000000269,0.000000000000269,0.000000000000269,0.000000000063864,0.000000000063842,0.000000000063876,-0.000000000000053,0.000000000063876],[0.000255064503394,0.000083883146114,0.000142989855848,0.00000006237878,0.000000005584999,-0.000255063024443,-0.000083883269209,-0.000142989508648,-0.00000006202272,-0.000056999400682,-0.000000005612279,0.000000001478952,-0.000000000123095,0.0000000003472,0.000000000356059,-0.000000000082636,-0.00000000002728,0.001065711711387,0.001065711711387,0.000567435435882,0.000567435435882,0.000226087642911,0.000226087642911,0.001065711711387,0.000567435435882,0.000226087642911,0.253138171432354,0.134782762646264,0.05370252752081,0.000056999318046,0.253138171432354],[-7.28529241278161e-19,-2.86239558964986e-18,-1.49748412691339e-18,3.13004351676169e-18,-2.67238084514433e-19,7.28529241278161e-19,2.86239558964986e-18,1.49748412691339e-18,-3.13004351676169e-18,-2.22912370685618e-18,2.67238084514433e-19,0.0,0.0,0.0,3.85185988877447e-34,0.0,0.0,1.17232689989684e-17,1.17232689989684e-17,1.37694874497013e-17,1.37694874497013e-17,8.90512541757714e-18,8.90512541757714e-18,1.17232689989684e-17,1.37694874497013e-17,8.90512541757714e-18,0.000000000000003,0.000000000000003,0.000000000000002,2.22912370685618e-18,0.000000000000003],[0.000000000001416,-0.0000000000008,0.000000000001416,-0.000000000000801,0.000000013698882,-0.000000000001416,0.0000000000008,-0.000000000001416,0.000000000000801,-0.000078999681549,-0.000000013692159,3.57934218086836e-21,2.60002446431737e-20,-2.74306433852826e-20,-1.6103620019842e-20,0.000000000089125,0.000000000006723,0.000000000006456,0.000000000006456,0.000000000006456,0.000000000006456,0.000313368820984,0.000313368820984,0.000000000006456,0.000000000006456,0.000313368820984,0.000000001533419,0.000000001533375,0.074434398609051,0.000078999770674,0.074434398609051],[0.00037010457666,0.000121698205214,0.000361987768622,0.000000157368914,0.000000039358687,-0.000370104310075,-0.00012169823201,-0.000361987524077,-0.000000157252839,-0.000253002962498,-0.000000039320182,0.000000000266585,-0.000000000026796,0.000000000244545,0.000000000116075,0.000000000024594,0.000000000038505,0.001546253653527,0.001546253653527,0.001436487008178,0.001436487008178,0.001003585809056,0.001003585809056,0.001546253653527,0.001436487008178,0.001003585809056,0.367281149528834,0.341208312390055,0.238381425169173,0.000253002987092,0.367281149528834],[-0.000000000000422,-0.000000000001477,-0.000000000000424,-0.000000000001477,-0.000000000001479,0.000000000000422,0.000000000001477,0.000000000000424,0.000000000001477,0.000000000000423,0.000000000001479,7.06819371078027e-28,2.01948391736579e-28,5.04870979341448e-28,-4.03896783473158e-28,6.05845175209737e-28,0.0,0.000000000006098,0.000000000006098,0.000000000006098,0.000000000006098,0.000000000006101,0.000000000006101,0.000000000006098,0.000000000006098,0.000000000006101,0.000000001448478,0.000000001448457,0.000000001449079,-0.000000000000423,0.000000001449079],[0.000000000000975,-0.000000000000263,0.000000000000975,-0.000000000000264,0.000000009488549,-0.000000000000975,0.000000000000263,-0.000000000000975,0.000000000000264,-0.000053999475051,-0.000000009487629,-8.45976736970679e-21,3.60795054345145e-21,4.0602608692595e-21,-6.51105707401865e-21,0.000000000012203,0.00000000000092,0.000000000004007,0.000000000004007,0.000000000004007,0.000000000004007,0.000214200270783,0.000214200270783,0.000000000004007,0.000000000004007,0.000214200270783,0.000000000951705,0.000000000951731,0.050878923715493,0.000053999487254,0.050878923715493],[-0.00000000000004,0.000000000000036,-0.00000000000004,0.000000000000036,0.000000000000036,0.00000000000004,-0.000000000000036,0.00000000000004,-0.000000000000036,0.00000000000004,-0.000000000000036,5.67979851759128e-29,0.0,6.9419759659449e-29,-6.31088724176809e-30,5.04870979341448e-29,0.0,0.000000000000213,0.000000000000213,0.000000000000213,0.000000000000213,0.000000000000213,0.000000000000213,0.000000000000213,0.000000000000213,0.000000000000213,0.00000000005062,0.00000000005059,0.000000000050633,-0.00000000000004,0.000000000050633],[0.000255063050025,0.000083883273224,0.000142989534238,0.000000062026719,0.000000005616286,-0.00025505806163,-0.000083883688414,-0.000142988363157,-0.000000060825757,-0.000056999705006,-0.000000005708299,0.000000004988395,-0.00000000041519,0.000000001171081,0.000000001200962,-0.000000000278724,-0.000000000092014,0.001065711812822,0.001065711812822,0.000567435537439,0.000567435537439,0.000226087744458,0.000226087744458,0.001065711812822,0.000567435537439,0.000226087744458,0.253138195526161,0.134782786768877,0.053702551641305,0.000056999426283,0.253138195526161],[1.34920879724693e-34,3.41867330518958e-35,-5.33081306934947e-19,3.08095296820848e-19,-3.08120570047274e-19,3.8563310634705e-35,3.37691276887822e-35,5.33081306934947e-19,-3.08095296820848e-19,-5.33403597054204e-19,3.08120570047274e-19,1.73484190359398e-34,6.79558607406779e-35,-9.62964972193618e-35,2.88889491658085e-34,-9.62964972193618e-35,-1.44444745829043e-34,5.52437288923443e-34,2.0345177582641e-34,2.44336422051345e-18,2.44336422051345e-18,2.44336422051345e-18,2.44336422051345e-18,5.52437288923443e-34,2.44336422051345e-18,2.44336422051345e-18,1.31220257462657e-31,5.80371543556778e-16,5.80371543556778e-16,5.33403597054204e-19,5.80371543556778e-16],[0.000000000001445,-0.000000000000797,0.000000000001445,-0.000000000000797,0.000000013692163,-0.000000000001445,0.000000000000797,-0.000000000001445,0.000000000000797,-0.000078999582354,-0.000000013684679,-1.76288768498012e-21,4.80488766518423e-20,-1.9738173275424e-20,-1.20605029534538e-20,0.000000000099224,0.000000000007484,0.000000000006549,0.000000000006549,0.000000000006549,0.000000000006549,0.000313368821098,0.000313368821098,0.000000000006549,0.000000000006549,0.000313368821098,0.000000001555615,0.000000001555565,0.074434398636313,0.000078999681578,0.074434398636313],[0.000370104312829,0.00012169823268,0.000361987526831,0.000000157253508,0.000000039320852,-0.000370104173169,-0.000121698246718,-0.000361987398717,-0.000000157192698,-0.000253002952369,-0.000000039300679,0.00000000013966,-0.000000000014038,0.000000000128114,0.00000000006081,0.000000000012884,0.000000000020172,0.001546253664739,0.001546253664739,0.001436487019109,0.001436487019109,0.001003585819985,0.001003585819985,0.001546253664739,0.001436487019109,0.001003585819985,0.367281152192052,0.341208314986422,0.238381427765281,0.000253002965253,0.367281152192052],[2.73219077195459e-16,5.24394366241975e-17,-3.13474831831421e-16,2.97923703383916e-16,-3.50345033872324e-16,-2.73219077195459e-16,-5.24394366241974e-17,3.1347483183142e-16,-2.97923703383916e-16,-4.02638719828358e-17,3.50345033872324e-16,-4.93038065763132e-32,1.66400347195057e-31,-1.97215226305253e-31,-1.4791141972894e-31,2.2186712959341e-31,1.4791141972894e-31,0.000000000000001,0.000000000000001,0.000000000000002,0.000000000000002,0.000000000000001,0.000000000000001,0.000000000000001,0.000000000000002,0.000000000000001,0.000000000000262,0.000000000000408,0.000000000000332,4.0263871982836e-17,0.000000000000408],[0.000000000000989,-0.000000000000378,0.000000000000989,-0.000000000000379,0.000000009487513,-0.000000000000989,0.000000000000378,-0.000000000000989,0.000000000000379,-0.000053999462928,-0.000000009486598,-3.88831716177358e-21,1.12093237027945e-20,-8.58889721035099e-21,-1.6281811909594e-21,0.000000000012137,0.000000000000915,0.000000000004202,0.000000000004202,0.000000000004202,0.000000000004202,0.000214200270838,0.000214200270838,0.000000000004202,0.000000000004202,0.000214200270838,0.000000000997985,0.000000000998025,0.050878923728582,0.000053999475065,0.050878923728582],[-0.000000000000063,0.000000000000077,-0.000000000000063,0.000000000000077,0.000000000000077,0.000000000000063,-0.000000000000077,0.000000000000063,-0.000000000000077,0.000000000000063,-0.000000000000077,6.31088724176809e-29,0.0,6.31088724176809e-29,1.26217744835362e-29,7.57306469012171e-29,0.0,0.000000000000395,0.000000000000395,0.000000000000395,0.000000000000395,0.000000000000395,0.000000000000395,0.000000000000395,0.000000000000395,0.000000000000395,0.000000000093818,0.000000000093787,0.00000000009383,-0.000000000000063,0.00000000009383],[0.000255058109222,0.000083883695908,0.000142988410763,0.00000006083322,0.000000005715778,-0.00025505105365,-0.000083884283152,-0.000142986754389,-0.000000059134582,-0.00005700014686,-0.000000005845922,0.000000007055572,-0.000000000587244,0.000000001656374,0.000000001698638,-0.000000000394226,-0.000000000130144,0.001065712001561,0.001065712001561,0.000567435726373,0.000567435726373,0.000226087933376,0.000226087933376,0.001065712001561,0.000567435726373,0.000226087933376,0.253138240357305,0.134782831646343,0.053702596514823,0.000056999752634,0.253138240357305],[-2.59079397110622e-19,-6.71175094756898e-19,-3.74399366045306e-19,6.93637343813866e-19,-2.23696742471209e-20,2.59079397110622e-19,6.71175094756898e-19,3.74399366045307e-19,-6.93637343813866e-19,-6.34295064529505e-19,2.23696742471209e-20,0.0,9.62964972193618e-35,1.44444745829043e-34,-9.62964972193618e-35,0.0,-3.00926553810506e-36,2.85558665735263e-18,2.85558665735263e-18,3.12801731158353e-18,3.12801731158354e-18,2.51747782838684e-18,2.51747782838684e-18,2.85558665735263e-18,3.12801731158354e-18,2.51747782838684e-18,6.78286610802388e-16,7.42996979392031e-16,5.97975725789995e-16,6.34295064529505e-19,7.42996979392031e-16],[0.000000000001461,-0.000000000000792,0.000000000001461,-0.000000000000793,0.000000013684683,-0.000000000001461,0.000000000000792,-0.000000000001461,0.000000000000793,-0.000078999526567,-0.000000013680474,-6.35415104962661e-21,2.01890015524722e-20,-1.02655091092586e-20,-6.43677470000877e-21,0.000000000055803,0.000000000004209,0.000000000006596,0.000000000006596,0.000000000006596,0.000000000006596,0.000313368821161,0.000313368821161,0.000000000006596,0.000000000006596,0.000313368821161,0.000000001566845,0.000000001566801,0.074434398651308,0.00007899958237,0.074434398651308],[0.000370104174187,0.000121698246991,0.000361987399736,0.00000015719297,0.000000039300952,-0.000370104058411,-0.000121698258629,-0.000361987293531,-0.00000015714256,-0.000253002942707,-0.000000039284229,0.000000000115776,-0.000000000011638,0.000000000106205,0.000000000050411,0.000000000010681,0.000000000016723,0.001546253668916,0.001546253668916,0.001436487023151,0.001436487023151,0.001003585824027,0.001003585824027,0.001546253668916,0.001436487023151,0.001003585824027,0.367281153184255,0.341208315946535,0.238381428725353,0.000253002953388,0.367281153184255],[0.000000000000969,-0.000000000000559,0.000000000000968,-0.000000000000559,-0.00000000000056,-0.000000000000969,0.000000000000559,-0.000000000000968,0.000000000000559,-0.000000000000969,0.00000000000056,2.01948391736579e-28,2.01948391736579e-28,0.0,0.0,0.0,1.0097419586829e-28,0.000000000004438,0.000000000004438,0.000000000004436,0.000000000004436,0.000000000004439,0.000000000004439,0.000000000004438,0.000000000004436,0.000000000004439,0.000000001054264,0.000000001053591,0.000000001054334,0.000000000000969,0.000000001054334],[0.000000000001012,-0.000000000000338,0.000000000001012,-0.000000000000339,0.000000009486638,-0.000000000001012,0.000000000000338,-0.000000000001012,0.000000000000339,-0.000053999449028,-0.000000009485588,-8.0086261736256e-21,-1.83400199359463e-21,-1.66430152884411e-21,-1.86575191584667e-21,0.000000000013923,0.00000000000105,0.000000000004235,0.000000000004235,0.000000000004235,0.000000000004235,0.000214200270931,0.000214200270931,0.000000000004235,0.000000000004235,0.000214200270931,0.000000001005821,0.000000001005866,0.050878923750565,0.000053999462951,0.050878923750565],[-0.000000000000062,0.000000000000009,-0.000000000000062,0.000000000000009,0.000000000000009,0.000000000000062,-0.000000000000009,0.000000000000062,-0.000000000000009,0.000000000000062,-0.000000000000009,5.04870979341448e-29,1.10440526730942e-29,5.04870979341448e-29,7.88860905221012e-30,3.78653234506086e-29,7.88860905221012e-30,0.000000000000249,0.000000000000249,0.000000000000249,0.000000000000249,0.000000000000249,0.000000000000249,0.000000000000249,0.000000000000249,0.000000000000249,0.000000000059122,0.000000000059118,0.000000000059145,-0.000000000000062,0.000000000059145],[0.000255051101536,0.000083884290698,0.00014298680229,0.000000059142097,0.000000005853451,-0.000255046038757,-0.000083884712079,-0.000142985613746,-0.000000057923226,-0.000057000477663,-0.000000005946837,0.00000000506278,-0.000000000421381,0.000000001188544,0.000000001218871,-0.00000000028288,-0.000000000093386,0.001065712191477,0.001065712191477,0.000567435916479,0.000567435916479,0.000226088123466,0.000226088123466,0.001065712191477,0.000567435916479,0.000226088123466,0.253138285468049,0.134782876802234,0.053702641666741,0.000057000194783,0.253138285468049],[-7.6956476065676e-20,4.44077246620098e-20,-5.33106399317317e-19,2.19231740052604e-19,-2.63682541965347e-19,7.69564760656761e-20,-4.44077246620098e-20,5.33106399317317e-19,-2.19231740052604e-19,-6.10421991432903e-19,2.63682541965347e-19,1.08333559371782e-34,-7.22223729145213e-35,0.0,1.92592994438724e-34,0.0,-1.92592994438724e-34,3.52669247610436e-19,3.52669247610436e-19,2.28751063188976e-18,2.28751063188976e-18,2.63744265029255e-18,2.63744265029255e-18,3.52669247610436e-19,2.28751063188976e-18,2.63744265029255e-18,8.37694167256263e-17,5.43351689112242e-16,6.26470932635291e-16,6.10421991432903e-19,6.26470932635291e-16],[0.000000000001449,-0.000000000000812,0.000000000001449,-0.000000000000813,0.000000013680454,-0.000000000001449,0.000000000000812,-0.000000000001449,0.000000000000813,-0.000078999474134,-0.000000013676499,-2.35442623027406e-21,5.17853645698437e-21,-2.19932326170796e-20,-5.02988800135623e-21,0.000000000052421,0.000000000003954,0.000000000006595,0.000000000006595,0.000000000006594,0.000000000006594,0.000313368821115,0.000313368821115,0.000000000006595,0.000000000006594,0.000313368821115,0.000000001566416,0.000000001566358,0.074434398640335,0.000078999526555,0.074434398640335],[0.000370104060124,0.000121698259361,0.000361987295245,0.000000157143291,0.000000039284962,-0.000370103966294,-0.000121698268793,-0.000361987209172,-0.000000157102436,-0.000253002935765,-0.000000039271409,0.00000000009383,-0.000000000009432,0.000000000086073,0.000000000040855,0.000000000008656,0.000000000013553,0.001546253676285,0.001546253676285,0.001436487029955,0.001436487029955,0.00100358583083,0.00100358583083,0.001546253676285,0.001436487029955,0.00100358583083,0.367281154934489,0.341208317562727,0.238381430341147,0.000253002944422,0.367281154934489],[-0.000000000000323,0.000000000000186,-0.000000000000323,0.000000000000187,0.000000000000186,0.000000000000323,-0.000000000000186,0.000000000000323,-0.000000000000187,0.000000000000323,-0.000000000000186,1.0097419586829e-28,0.0,1.0097419586829e-28,-1.0097419586829e-28,1.0097419586829e-28,0.0,0.000000000001478,0.000000000001478,0.000000000001481,0.000000000001481,0.000000000001479,0.000000000001479,0.000000000001478,0.000000000001481,0.000000000001479,0.00000000035114,0.000000000351722,0.000000000351202,-0.000000000000323,0.000000000351722],[0.000000000001018,-0.000000000000328,0.000000000001018,-0.000000000000329,0.000000009485598,-0.000000000001018,0.000000000000328,-0.000000000001018,0.000000000000329,-0.000053999400952,-0.000000009481971,2.66522965191806e-21,1.60361563323049e-20,-1.39060188326549e-21,-8.04456147629638e-21,0.000000000048082,0.000000000003627,0.000000000004244,0.000000000004244,0.000000000004244,0.000000000004244,0.000214200270954,0.000214200270954,0.000000000004244,0.000000000004244,0.000214200270954,0.000000001008055,0.000000001008054,0.050878923756139,0.000053999449034,0.050878923756139],[-0.000000000000107,0.000000000000048,-0.000000000000107,0.000000000000048,0.000000000000048,0.000000000000107,-0.000000000000048,0.000000000000107,-0.000000000000048,0.000000000000107,-0.000000000000048,1.89326617253043e-28,-3.15544362088405e-29,2.14570166220115e-28,-3.15544362088405e-29,2.27191940703651e-28,-2.52435489670724e-29,0.000000000000465,0.000000000000465,0.000000000000464,0.000000000000464,0.000000000000465,0.000000000000465,0.000000000000465,0.000000000000464,0.000000000000465,0.000000000110344,0.000000000110329,0.000000000110364,-0.000000000000107,0.000000000110364],[0.000255046064803,0.000083884716178,0.0001429856398,0.000000057927308,0.000000005950928,-0.000255044528757,-0.000083884844025,-0.000142985279196,-0.000000057557503,-0.000057000589556,-0.000000005979261,0.000000001536046,-0.000000000127847,0.000000000360604,0.000000000369805,-0.000000000085826,-0.000000000028333,0.001065712294772,0.001065712294772,0.000567436019883,0.000567436019883,0.000226088226861,0.000226088226861,0.001065712294772,0.000567436019883,0.000226088226861,0.253138310003595,0.134782901363797,0.05370266622615,0.00005700050373,0.253138310003595],[-1.4031012943935e-18,-8.31629964377242e-19,-6.33707648990339e-19,5.65182321813903e-19,2.66293995010014e-19,1.4031012943935e-18,8.31629964377241e-19,6.33707648990339e-19,-5.65182321813903e-19,-2.03868819401074e-18,-2.66293995010014e-19,0.0,-1.92592994438724e-34,-9.62964972193618e-35,1.92592994438724e-34,3.85185988877447e-34,0.0,6.47414678523799e-18,6.47414678523799e-18,3.36974491001753e-18,3.36974491001753e-18,8.15499501661039e-18,8.15499501661039e-18,6.47414678523799e-18,3.36974491001753e-18,8.15499501661039e-18,0.000000000000002,8.00414460685069e-16,0.000000000000002,2.03868819401074e-18,0.000000000000002],[0.00000000000148,-0.00000000000083,0.000000000001479,-0.000000000000831,0.000000013676482,-0.00000000000148,0.00000000000083,-0.000000000001479,0.000000000000831,-0.00007899942415,-0.000000013672709,-1.62800954492385e-20,1.47847099166172e-20,-1.6160478387587e-20,-9.54038382328901e-21,0.000000000050014,0.000000000003772,0.000000000006733,0.000000000006733,0.000000000006733,0.000000000006733,0.000313368821235,0.000313368821235,0.000000000006733,0.000000000006733,0.000313368821235,0.000000001599354,0.000000001599289,0.07443439866886,0.000078999474165,0.07443439866886],[0.000370103967771,0.000121698268371,0.000361987210649,0.000000157102012,0.000000039270986,-0.000370103824345,-0.000121698282787,-0.000361987079081,-0.000000157039563,-0.000253002924012,-0.000000039250269,0.000000000143426,-0.000000000014417,0.000000000131569,0.00000000006245,0.000000000013232,0.000000000020716,0.001546253681332,0.001546253681332,0.001436487035817,0.001436487035817,0.001003585836693,0.001003585836693,0.001546253681332,0.001436487035817,0.001003585836693,0.367281156133289,0.341208318955156,0.23838143173382,0.000253002937244,0.367281156133289],[-0.000000000001018,-0.000000000000273,-0.000000000001019,-0.000000000000272,-0.000000000000273,0.000000000001018,0.000000000000273,0.000000000001019,0.000000000000272,0.000000000001019,0.000000000000273,4.03896783473158e-28,1.0097419586829e-28,4.03896783473158e-28,2.52435489670724e-28,6.05845175209737e-28,3.02922587604869e-28,0.000000000004183,0.000000000004183,0.000000000004184,0.000000000004184,0.000000000004184,0.000000000004184,0.000000000004183,0.000000000004184,0.000000000004184,0.000000000993606,0.000000000993822,0.000000000993913,-0.000000000001019,0.000000000993913],[0.000000000001028,-0.000000000000337,0.000000000001028,-0.000000000000338,0.000000009481962,-0.000000000001028,0.000000000000337,-0.000000000001028,0.000000000000338,-0.000053999166651,-0.000000009464288,-1.96372770316349e-20,6.90725771535434e-20,-5.89392748715997e-20,-5.38116257742619e-20,0.000000000234311,0.000000000017674,0.000000000004292,0.000000000004292,0.000000000004292,0.000000000004292,0.000214200270993,0.000214200270993,0.000000000004292,0.000000000004292,0.000214200270993,0.00000000101957,0.00000000101957,0.050878923765458,0.000053999400962,0.050878923765458],[-0.000000000000075,0.000000000000057,-0.000000000000075,0.000000000000057,0.000000000000057,0.000000000000075,-0.000000000000057,0.000000000000075,-0.000000000000057,0.000000000000075,-0.000000000000057,7.57306469012171e-29,1.26217744835362e-29,8.83524213847533e-29,3.78653234506086e-29,7.57306469012171e-29,3.15544362088405e-29,0.000000000000373,0.000000000000373,0.000000000000373,0.000000000000373,0.000000000000373,0.000000000000373,0.000000000000373,0.000000000000373,0.000000000000373,0.000000000088526,0.000000000088498,0.000000000088543,-0.000000000000075,0.000000000088543],[0.000210039032776,0.000069082075202,0.000142985303612,0.000000057561832,0.0000000059836,-0.000210036036035,-0.000069082458274,-0.000142984189576,-0.000000056675416,-0.000057000805497,-0.00000000600989,0.000000002996741,-0.000000000383072,0.000000001114036,0.000000000886416,-0.000000000191514,-0.00000000002629,0.000877654869974,0.000877654869974,0.000567436116785,0.000567436116785,0.000226088323752,0.000226088323752,0.000877654869974,0.000567436116785,0.000226088323752,0.208469088366105,0.134782924380854,0.05370268924077,0.000057000613984,0.208469088366105],[-3.74486595235366e-19,-6.04539752645287e-19,1.97128806574848e-19,3.18858761885788e-19,2.85738971006081e-19,3.74486595235366e-19,6.04539752645287e-19,-1.97128806574848e-19,-3.18858761885788e-19,-1.77890026124789e-19,-2.85738971006081e-19,0.0,0.0,4.81482486096809e-35,0.0,4.81482486096809e-35,9.62964972193618e-35,2.82273125896448e-18,2.82273125896448e-18,1.4876854175435e-18,1.4876854175435e-18,1.33504988331081e-18,1.33504988331081e-18,2.82273125896448e-18,1.4876854175435e-18,1.33504988331081e-18,6.70482478239337e-16,3.53369454646919e-16,3.17113983661253e-16,1.77890026124789e-19,6.70482478239337e-16],[0.000045005515201,0.000014802771798,-0.000000000005189,-0.000000000001368,-0.00000000000137,-0.000045005363121,-0.000014802760326,0.000000000005189,0.000000000001368,0.000000000005192,0.00000000000137,0.00000000015208,0.000000000011471,1.11971801219078e-19,-2.15018688347504e-19,1.42261168886389e-19,2.07744077329026e-19,0.000188057500965,0.000188057500965,0.000000000021297,0.000000000021297,0.000000000021297,0.000000000021297,0.000188057500965,0.000000000021297,0.000000000021297,0.044669239729491,0.00000000505876,0.000000005058639,-0.000000000005192,0.044669239729491],[0.000000000001507,-0.000000000000806,0.000000000001507,-0.000000000000806,0.000000013672734,-0.000000000001507,0.000000000000806,-0.000000000001507,0.000000000000806,-0.000078999342062,-0.00000001366654,7.71651448927557e-21,4.01653055051866e-20,-2.56419285204833e-20,-2.36345668582541e-20,0.000000000082116,0.000000000006194,0.000000000006783,0.000000000006783,0.000000000006782,0.000000000006782,0.000313368821345,0.000313368821345,0.000000000006783,0.000000000006782,0.000313368821345,0.000000001611071,0.000000001611011,0.074434398694849,0.000078999424178,0.074434398694849],[0.00037010382622,0.000121698283427,0.000361987080956,0.000000157040201,0.000000039250908,-0.000370103696924,-0.000121698296423,-0.000361986962349,-0.000000156983903,-0.00025300291396,-0.000000039232233,0.000000000129297,-0.000000000012997,0.000000000118607,0.000000000056298,0.000000000011928,0.000000000018675,0.001546253689193,0.001546253689193,0.001436487043261,0.001436487043261,0.001003585844136,0.001003585844136,0.001546253689193,0.001436487043261,0.001003585844136,0.367281158000651,0.341208320723364,0.23838143350176,0.000253002925888,0.367281158000651],[1.4661743596218e-16,-1.89679058312794e-16,-4.04520990173235e-17,3.09189008995726e-16,-1.19466493490658e-16,-1.4661743596218e-16,1.89679058312794e-16,4.04520990173235e-17,-3.09189008995726e-16,1.06098261997323e-16,1.19466493490658e-16,2.46519032881566e-32,-2.46519032881566e-32,-2.46519032881566e-32,0.0,3.69778549322349e-32,-2.46519032881566e-32,9.5146163040205e-16,9.5146163040205e-16,0.000000000000001,0.000000000000001,6.33789393588346e-16,6.33789393588346e-16,9.5146163040205e-16,0.000000000000001,6.33789393588346e-16,0.000000000000226,0.000000000000294,0.000000000000151,-1.06098261997323e-16,0.000000000000294],[-0.000000000000084,0.000000000000042,-0.000000000000084,0.000000000000042,0.000000000000042,0.000000000000084,-0.000000000000042,0.000000000000084,-0.000000000000042,0.000000000000084,-0.000000000000042,8.83524213847533e-29,-1.26217744835362e-29,8.83524213847533e-29,-1.26217744835362e-29,8.83524213847533e-29,-1.26217744835362e-29,0.000000000000371,0.000000000000371,0.00000000000037,0.00000000000037,0.000000000000371,0.000000000000371,0.000000000000371,0.00000000000037,0.000000000000371,0.000000000088008,0.000000000087992,0.00000000008803,-0.000000000000084,0.00000000008803],[0.000210036062162,0.00006908246237,0.000142984215713,0.000000056679494,0.000000006013977,-0.000210032732641,-0.000069082887982,-0.000142982977966,-0.000000055694644,-0.000057001044427,-0.000000006043187,0.000000003329521,-0.000000000425611,0.000000001237747,0.00000000098485,-0.000000000212781,-0.00000000002921,0.000877654973573,0.000877654973573,0.000567436220514,0.000567436220514,0.000226088427473,0.000226088427473,0.000877654973573,0.000567436220514,0.000226088427473,0.208469112974006,0.134782949019691,0.053702713877445,0.000057000831647,0.208469112974006],[-4.47234974048331e-21,-4.07729066336204e-19,-1.96741583154532e-19,4.7456410559173e-19,-6.67295561993164e-20,4.47234974048325e-21,4.07729066336204e-19,1.96741583154532e-19,-4.7456410559173e-19,-2.01638016695616e-19,6.67295561993165e-20,-5.56714124549435e-35,-4.81482486096809e-35,0.0,0.0,7.22223729145213e-35,3.61111864572607e-35,1.6185366963095e-18,1.6185366963095e-18,2.0387487541526e-18,2.0387487541526e-18,8.42436227504382e-19,8.42436227504382e-19,1.6185366963095e-18,2.0387487541526e-18,8.42436227504382e-19,3.84450518205195e-16,4.84263357643567e-16,2.00103615171267e-16,2.01638016695616e-19,4.84263357643567e-16],[-1.42095921865821e-18,-2.46254297019439e-18,-1.42066248066948e-18,2.46343847821233e-18,-6.20981460185565e-22,1.42095921865821e-18,2.46254297019439e-18,1.42066248066948e-18,-2.46343847821233e-18,-2.84524992530265e-18,6.20981460185537e-22,-1.92592994438724e-34,-7.70371977754894e-34,-1.92592994438724e-34,3.85185988877447e-34,3.85185988877447e-34,-2.7741666679406e-35,1.12854159235339e-17,1.12854159235339e-17,1.12854159235339e-17,1.12854159235339e-17,1.12854159235339e-17,1.12854159235339e-17,1.12854159235339e-17,1.12854159235339e-17,1.12854159235339e-17,0.000000000000003,0.000000000000003,0.000000000000003,2.84524992530265e-18,0.000000000000003],[0.000045005364104,0.000014802760396,-0.000000000004206,-0.000000000001299,-0.000000000001301,-0.000045005341895,-0.000014802758721,0.000000000004206,0.000000000001299,0.000000000004208,0.000000000001301,0.000000000022209,0.000000000001675,1.43689786544657e-20,-3.05886685124582e-20,1.93904367241056e-20,2.80528794997592e-20,0.000188057504758,0.000188057504758,0.000000000017469,0.000000000017469,0.000000000017469,0.000000000017469,0.000188057504758,0.000000000017469,0.000000000017469,0.044669240630491,0.0000000041495,0.000000004149378,-0.000000000004208,0.044669240630491],[0.000000000001487,-0.000000000000794,0.000000000001487,-0.000000000000795,0.000000013666552,-0.000000000001487,0.000000000000794,-0.000000000001487,0.000000000000795,-0.000078999284847,-0.000000013662238,-3.13043534179335e-21,1.29982322361015e-20,-1.64882501189499e-20,-1.01782798238545e-20,0.000000000057195,0.000000000004314,0.00000000000669,0.00000000000669,0.00000000000669,0.00000000000669,0.000313368821265,0.000313368821265,0.00000000000669,0.00000000000669,0.000313368821265,0.000000001589123,0.000000001589064,0.074434398675835,0.000078999342042,0.074434398675835],[0.000370103698358,0.000121698296671,0.000361986963784,0.00000015698415,0.00000003923248,-0.000370103575299,-0.000121698309041,-0.000361986850899,-0.000000156930569,-0.000253002904042,-0.000000039214706,0.000000000123058,-0.00000000001237,0.000000000112885,0.000000000053581,0.000000000011353,0.000000000017774,0.001546253694908,0.001546253694908,0.001436487048954,0.001436487048954,0.001003585849828,0.001003585849828,0.001546253694908,0.001436487048954,0.001003585849828,0.367281159358032,0.34120832207561,0.238381434853904,0.000253002915395,0.367281159358032],[-0.000000000001068,-0.000000000001105,-0.000000000001069,-0.000000000001104,-0.000000000001105,0.000000000001068,0.000000000001105,0.000000000001069,0.000000000001104,0.000000000001069,0.000000000001105,4.03896783473158e-28,2.01948391736579e-28,4.03896783473158e-28,4.03896783473158e-28,4.03896783473158e-28,2.01948391736579e-28,0.000000000006099,0.000000000006099,0.000000000006098,0.000000000006098,0.000000000006099,0.000000000006099,0.000000000006099,0.000000000006098,0.000000000006099,0.000000001448787,0.000000001448465,0.000000001448762,-0.000000000001069,0.000000001448787],[-0.000000000000067,0.000000000000042,-0.000000000000067,0.000000000000042,0.000000000000042,0.000000000000067,-0.000000000000042,0.000000000000067,-0.000000000000042,0.000000000000067,-0.000000000000042,3.78653234506086e-28,3.78653234506086e-29,3.78653234506086e-28,3.15544362088405e-29,3.91275008989622e-28,3.15544362088405e-29,0.000000000000312,0.000000000000312,0.000000000000312,0.000000000000312,0.000000000000312,0.000000000000312,0.000000000000312,0.000000000000312,0.000000000000312,0.000000000074165,0.000000000074143,0.000000000074186,-0.000000000000067,0.000000000074186],[0.000210032751432,0.00006908289092,0.000142982996763,0.000000055697569,0.000000006046118,-0.000210031531331,-0.000069083046885,-0.000142982543192,-0.000000055336671,-0.000057001141207,-0.000000006056822,0.0000000012201,-0.000000000155965,0.000000000453571,0.000000000360898,-0.000000000077973,-0.000000000010704,0.000877655048071,0.000877655048071,0.000567436295116,0.000567436295116,0.000226088502068,0.000226088502068,0.000877655048071,0.000567436295116,0.000226088502068,0.208469130669563,0.134782966739742,0.053702731595948,0.000057001063234,0.208469130669563],[3.55230914492803e-19,6.15629627296678e-19,-7.10926727240702e-19,3.52251494149768e-22,-6.16094419365945e-19,-3.55230914492803e-19,-6.15629627296679e-19,7.10926727240702e-19,-3.52251494149545e-22,-3.55523436863115e-19,6.16094419365945e-19,1.44444745829043e-34,-9.62964972193618e-35,0.0,2.22356511401544e-34,-2.40741243048404e-34,-9.62964972193618e-35,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,6.70155333805009e-16,6.70155333805009e-16,6.70155333805009e-16,3.55523436863115e-19,6.70155333805009e-16],[0.000045005342062,0.000014802758732,-0.000000000004038,-0.000000000001288,-0.00000000000129,-0.000045005329952,-0.000014802757818,0.000000000004038,0.000000000001288,0.00000000000404,0.00000000000129,0.00000000001211,0.000000000000913,4.04463127542944e-21,-1.28386214159247e-20,3.89785437652173e-22,1.90896988142026e-20,0.000188057505404,0.000188057505404,0.000000000016822,0.000000000016822,0.000000000016821,0.000000000016821,0.000188057505404,0.000000000016822,0.000000000016821,0.044669240783818,0.000000003995692,0.000000003995592,-0.00000000000404,0.044669240783818],[0.000000000001555,-0.000000000000793,0.000000000001555,-0.000000000000794,0.000000013662239,-0.000000000001555,0.000000000000793,-0.000000000001555,0.000000000000794,-0.000078999244728,-0.000000013659207,-1.80620038454427e-20,3.00626121370816e-21,-1.07543906227359e-20,-6.96564623596615e-21,0.000000000040187,0.000000000003031,0.000000000006927,0.000000000006927,0.000000000006927,0.000000000006927,0.000313368821534,0.000313368821534,0.000000000006927,0.000000000006927,0.000313368821534,0.000000001645376,0.000000001645318,0.07443439873985,0.000078999284915,0.07443439873985],[0.000370103576597,0.000121698309798,0.000361986852197,0.000000156931325,0.000000039215463,-0.000370103437964,-0.000121698323733,-0.000361986725026,-0.000000156870963,-0.000253002892551,-0.000000039195439,0.000000000138633,-0.000000000013935,0.000000000127172,0.000000000060363,0.00000000001279,0.000000000020024,0.001546253700739,0.001546253700739,0.001436487054108,0.001436487054108,0.00100358585498,0.00100358585498,0.001546253700739,0.001436487054108,0.00100358585498,0.367281160743126,0.341208323299629,0.238381436077636,0.000253002905341,0.367281160743126],[-0.00000000000185,-0.000000000000223,-0.000000000001851,-0.000000000000222,-0.000000000000223,0.00000000000185,0.000000000000223,0.000000000001851,0.000000000000222,0.000000000001851,0.000000000000223,1.21169035041947e-27,3.28166136571941e-28,1.21169035041947e-27,4.54383881407303e-28,1.21169035041947e-27,4.54383881407303e-28,0.000000000007396,0.000000000007396,0.000000000007396,0.000000000007396,0.000000000007396,0.000000000007396,0.000000000007396,0.000000000007396,0.000000000007396,0.000000001756755,0.00000000175674,0.000000001756821,-0.000000000001851,0.000000001756821],[-0.000000000000168,-0.000000000000011,-0.000000000000168,-0.000000000000011,-0.000000000000011,0.000000000000168,0.000000000000011,0.000000000000168,0.000000000000011,0.000000000000168,0.000000000000011,5.04870979341448e-29,-1.41994962939782e-29,2.52435489670724e-29,-1.41994962939782e-29,1.0097419586829e-28,-1.89326617253043e-29,0.000000000000667,0.000000000000667,0.000000000000667,0.000000000000667,0.000000000000667,0.000000000000667,0.000000000000667,0.000000000000667,0.000000000000667,0.00000000015835,0.000000000158347,0.000000000158363,-0.000000000000168,0.000000000158363],[0.000107017446687,0.000035199327491,0.000142982579316,0.000000055342122,0.000000006062287,-0.000107016881948,-0.00003519956742,-0.000142981527418,-0.000000054988771,-0.000057001219103,-0.000000005971436,0.000000000564739,-0.000000000239929,0.000000001051898,0.000000000353352,-0.000000000041753,0.000000000090851,0.000447191188991,0.000447191188991,0.000567436438485,0.000567436438485,0.000226088645424,0.000226088645424,0.000447191188991,0.000567436438485,0.000226088645424,0.106221184070942,0.134783000794232,0.053702765647364,0.000057001177349,0.134783000794232],[1.77613828348767e-19,3.07813693184057e-19,-3.55462235224437e-19,1.7702195936094e-22,-3.08047597720643e-19,-1.77613828348766e-19,-3.07813693184057e-19,3.55462235224437e-19,-1.77021959360829e-22,-1.77762019401662e-19,3.08047597720643e-19,1.20370621524202e-34,0.0,0.0,1.11178255700772e-34,-7.22223729145213e-35,-9.62964972193618e-35,1.41067699044174e-18,1.41067699044174e-18,1.41067699044174e-18,1.41067699044174e-18,1.41067699044174e-18,1.41067699044174e-18,1.41067699044174e-18,1.41067699044174e-18,1.41067699044174e-18,3.35077666902505e-16,3.35077666902505e-16,3.35077666902505e-16,1.77762019401662e-19,3.35077666902505e-16],[0.000103014104879,0.000033883721592,-0.000000000015883,-0.000000000003267,-0.000000000003274,-0.000103011883194,-0.000033883554014,0.000000000015883,0.000000000003267,0.000000000015891,0.000000000003274,0.000000002221685,0.000000000167579,1.89997061679801e-18,-4.34867946843989e-18,2.83738749901623e-18,3.82015636090901e-18,0.000430463938119,0.000430463938119,0.000000000064352,0.000000000064352,0.000000000064352,0.000000000064352,0.000430463938119,0.000000000064352,0.000000000064352,0.102247965372595,0.000000015285587,0.000000015285413,-0.000000000015891,0.102247965372595],[0.000045005329958,0.000014802757922,-0.000000000004032,-0.000000000001184,-0.000000000001186,-0.000045005321755,-0.000014802757304,0.000000000004032,0.000000000001184,0.000000000004034,0.000000000001186,0.000000000008204,0.000000000000619,1.61067655679917e-21,-9.81330889581113e-21,1.293647308576e-20,1.5893991732716e-20,0.000188057505556,0.000188057505556,0.000000000016677,0.000000000016677,0.000000000016677,0.000000000016677,0.000188057505556,0.000000000016677,0.000000000016677,0.044669240820011,0.000000003961315,0.000000003961196,-0.000000000004034,0.044669240820011],[0.000000000001538,-0.000000000000823,0.000000000001537,-0.000000000000824,0.000000013659177,-0.000000000001538,0.000000000000823,-0.000000000001537,0.000000000000824,-0.00007899922551,-0.000000013657729,1.24925600265158e-20,7.06421330797914e-22,1.496552107701e-20,8.40830294253083e-21,0.000000000019201,0.000000000001448,0.000000000006921,0.000000000006921,0.000000000006921,0.000000000006921,0.000313368821465,0.000313368821465,0.000000000006921,0.000000000006921,0.000313368821465,0.000000001643992,0.000000001643954,0.074434398723342,0.000078999244711,0.074434398723342],[0.000370103439814,0.000121698323956,0.000361986726876,0.000000156871185,0.000000039195662,-0.000370103293373,-0.000121698338676,-0.000361986592542,-0.000000156807422,-0.000253002880893,-0.00000003917451,0.000000000146441,-0.00000000001472,0.000000000134334,0.000000000063763,0.00000000001351,0.000000000021152,0.001546253707991,0.001546253707991,0.001436487061451,0.001436487061451,0.001003585862324,0.001003585862324,0.001546253707991,0.001436487061451,0.001003585862324,0.367281162465685,0.341208325043937,0.238381437821926,0.000253002894402,0.367281162465685],[-0.000000000001689,-0.000000000000316,-0.000000000001689,-0.000000000000315,-0.000000000000316,0.000000000001689,0.000000000000316,0.000000000001689,0.000000000000315,0.00000000000169,0.000000000000316,1.61558713389263e-27,4.54383881407303e-28,1.61558713389263e-27,4.03896783473158e-28,1.61558713389263e-27,3.02922587604869e-28,0.000000000006818,0.000000000006818,0.000000000006818,0.000000000006818,0.00000000000682,0.00000000000682,0.000000000006818,0.000000000006818,0.00000000000682,0.000000001619517,0.000000001619578,0.000000001619896,-0.00000000000169,0.000000001619896],[-0.000000000000116,-0.000000000000014,-0.000000000000116,-0.000000000000014,-0.000000000000014,0.000000000000116,0.000000000000014,0.000000000000116,0.000000000000014,0.000000000000116,0.000000000000014,5.04870979341448e-29,0.0,7.57306469012171e-29,-7.88860905221012e-30,2.52435489670724e-29,9.46633086265214e-30,0.000000000000462,0.000000000000462,0.000000000000462,0.000000000000462,0.000000000000462,0.000000000000462,0.000000000000462,0.000000000000462,0.000000000000462,0.000000000109801,0.000000000109796,0.000000000109798,-0.000000000000116,0.000000000109801],[0.000107016889269,0.000035199568574,0.000142981534741,0.000000054989919,0.000000005972587,-0.000107016079866,-0.000035199912449,-0.000142980027123,-0.000000054483483,-0.000057001286272,-0.000000005842376,0.000000000809404,-0.000000000343875,0.000000001507618,0.000000000506436,-0.000000000059842,0.000000000130211,0.000447191218026,0.000447191218026,0.00056743646755,0.00056743646755,0.000226088674486,0.000226088674486,0.000447191218026,0.00056743646755,0.000226088674486,0.106221190967783,0.134783007698015,0.05370277255054,0.00005700122643,0.134783007698015],[-3.31518530777893e-19,-2.19007071794309e-19,-1.77664694464639e-19,1.30196199757945e-19,8.88028881112819e-20,3.31518530777893e-19,2.19007071794309e-19,1.77664694464639e-19,-1.30196199757945e-19,-5.09682368561927e-19,-8.88028881112819e-20,0.0,4.81482486096809e-35,-2.40741243048404e-35,-4.81482486096809e-35,0.0,-2.40741243048404e-35,1.57718482246128e-18,1.57718482246128e-18,8.74135642579994e-19,8.74135642579994e-19,2.05205039089582e-18,2.05205039089582e-18,1.57718482246128e-18,8.74135642579994e-19,2.05205039089582e-18,3.74628220468016e-16,2.07633167377534e-16,4.87422891283162e-16,5.09682368561927e-19,4.87422891283162e-16],[0.000053006103051,0.000017435218472,-0.000000000001239,-0.000000000001192,-0.000000000001193,-0.000053006069968,-0.000017435215977,0.000000000001239,0.000000000001192,0.000000000001239,0.000000000001193,0.000000000033082,0.000000000002495,8.41947805971017e-21,-5.80805250806053e-21,7.45568925561854e-21,1.25777588218152e-20,0.000221500807253,0.000221500807253,0.000000000006823,0.000000000006823,0.000000000006822,0.000000000006822,0.000221500807253,0.000000000006823,0.000000000006822,0.052613017873204,0.000000001620612,0.000000001620522,-0.000000000001239,0.052613017873204],[0.000050005793796,0.000016448336568,-0.000000000000987,-0.000000000001059,-0.00000000000106,-0.000050005586325,-0.000016448320919,0.000000000000987,0.000000000001059,0.000000000000988,0.00000000000106,0.000000000207471,0.000000000015649,7.38006438928491e-20,-4.42324910838246e-20,3.52714377226264e-22,8.73969730492404e-20,0.00020896318362,0.00020896318362,0.000000000005746,0.000000000005746,0.000000000005746,0.000000000005746,0.00020896318362,0.000000000005746,0.000000000005746,0.049634960030054,0.000000001364776,0.000000001364774,-0.000000000000988,0.049634960030054],[0.000045005321945,0.000014802757261,-0.000000000003842,-0.000000000001227,-0.000000000001229,-0.000045005309484,-0.000014802756321,0.000000000003842,0.000000000001227,0.000000000003843,0.000000000001229,0.000000000012461,0.00000000000094,1.52367412002349e-20,-1.73064298916832e-20,6.59354632774611e-21,1.0893533872436e-20,0.000188057506221,0.000188057506221,0.000000000016004,0.000000000016004,0.000000000016004,0.000000000016004,0.000188057506221,0.000000000016004,0.000000000016004,0.044669240978029,0.000000003801448,0.000000003801324,-0.000000000003843,0.044669240978029],[0.000000000001717,-0.000000000000792,0.000000000001717,-0.000000000000793,0.00000001365776,-0.000000000001717,0.000000000000792,-0.000000000001717,0.000000000000793,-0.000078999213525,-0.000000013656842,1.19092076612293e-20,4.93800956105176e-21,-1.88224005287452e-20,2.02469134849769e-20,0.000000000012164,0.000000000000917,0.000000000007504,0.000000000007504,0.000000000007504,0.000000000007504,0.000313368822176,0.000313368822176,0.000000000007504,0.000000000007504,0.000313368822176,0.000000001782325,0.000000001782338,0.074434398892304,0.000078999225689,0.074434398892304],[0.000370103296231,0.00012169833934,0.0003619865954,0.000000156808085,0.000000039175173,-0.000370102976042,-0.000121698371525,-0.000361986301682,-0.000000156668669,-0.000253002854213,-0.000000039128926,0.000000000320189,-0.000000000032185,0.000000000293718,0.000000000139415,0.000000000029539,0.000000000046248,0.001546253719588,0.001546253719588,0.001436487072795,0.001436487072795,0.001003585873666,0.001003585873666,0.001546253719588,0.001436487072795,0.001003585873666,0.367281165220184,0.341208327738354,0.238381440516047,0.000253002883752,0.367281165220184],[-0.000000000001732,0.000000000000354,-0.000000000001732,0.000000000000355,0.000000000000355,0.000000000001732,-0.000000000000354,0.000000000001732,-0.000000000000355,0.000000000001733,-0.000000000000355,2.22143230910237e-27,-1.51461293802434e-28,2.42338070083895e-27,-2.01948391736579e-28,2.62532909257553e-27,-1.0097419586829e-28,0.000000000007016,0.000000000007016,0.000000000007017,0.000000000007017,0.000000000007017,0.000000000007017,0.000000000007016,0.000000000007017,0.000000000007017,0.000000001666446,0.000000001666645,0.00000000166677,-0.000000000001733,0.00000000166677],[-0.000000000000005,0.000000000000084,-0.000000000000005,0.000000000000084,0.000000000000084,0.000000000000005,-0.000000000000084,0.000000000000005,-0.000000000000084,0.000000000000005,-0.000000000000084,2.91878534931774e-29,0.0,3.31321580192825e-29,0.0,2.60324098722934e-29,2.52435489670724e-29,0.000000000000333,0.000000000000333,0.000000000000333,0.000000000000333,0.000000000000333,0.000000000000333,0.000000000000333,0.000000000000333,0.000000000000333,0.000000000079169,0.000000000079174,0.000000000079187,-0.000000000000005,0.000000000079187],[0.000107016086795,0.000035199913543,0.000142980034055,0.000000054484571,0.000000005843467,-0.000107015592844,-0.000035200123398,-0.000142979114007,-0.00000005417551,-0.000057001329727,-0.000000005764004,0.000000000493952,-0.000000000209856,0.000000000920049,0.000000000309061,-0.00000000003652,0.000000000079463,0.000447191245513,0.000447191245513,0.000567436495063,0.000567436495063,0.000226088701997,0.000226088701997,0.000447191245513,0.000567436495063,0.000226088701997,0.106221197496745,0.134783014233105,0.053702779085052,0.000057001293208,0.134783014233105],[-5.3282810874039e-19,-9.23436528641043e-19,3.1030349197656e-22,6.15667627108998e-19,3.07891328573663e-19,5.3282810874039e-19,9.23436528641043e-19,-3.10303491976505e-22,-6.15667627108998e-19,-5.33556235281822e-19,-3.07891328573663e-19,0.0,0.0,5.55773729068778e-35,0.0,1.92592994438724e-34,9.62964972193618e-35,4.23203097132523e-18,4.23203097132523e-18,2.44336422051345e-18,2.44336422051345e-18,2.44336422051345e-18,2.44336422051345e-18,4.23203097132523e-18,2.44336422051345e-18,2.44336422051345e-18,0.000000000000001,5.80371543556779e-16,5.80371543556778e-16,5.33556235281823e-19,0.000000000000001],[0.000053006070178,0.000017435215991,-0.000000000001029,-0.000000000001179,-0.00000000000118,-0.000053006056195,-0.000017435214936,0.000000000001029,0.000000000001179,0.000000000001029,0.00000000000118,0.000000000013983,0.000000000001055,5.19787755933196e-21,-1.11618895596725e-21,-1.32100097589865e-21,4.9747231728243e-21,0.00022150080806,0.00022150080806,0.00000000000621,0.00000000000621,0.00000000000621,0.00000000000621,0.00022150080806,0.00000000000621,0.00000000000621,0.052613018064845,0.000000001475071,0.000000001475001,-0.000000000001029,0.052613018064845],[0.000050005588222,0.000016448321051,0.00000000000091,-0.000000000000928,-0.000000000000928,-0.000050005455463,-0.000016448311037,-0.00000000000091,0.000000000000928,-0.00000000000091,0.000000000000928,0.000000000132758,0.000000000010014,2.14027070449186e-20,4.04827537357381e-20,-4.35083332316256e-20,-1.45712428934869e-22,0.000208963190936,0.000208963190936,0.000000000005156,0.000000000005156,0.000000000005156,0.000000000005156,0.000208963190936,0.000000000005156,0.000000000005156,0.049634961767738,0.000000001224672,0.000000001224676,0.00000000000091,0.049634961767738],[0.000045005309669,0.000014802756362,-0.000000000003656,-0.000000000001186,-0.000000000001188,-0.000045005290759,-0.000014802754936,0.000000000003656,0.000000000001186,0.000000000003658,0.000000000001188,0.000000000018911,0.000000000001426,1.5673915847492e-20,-1.62580782277778e-20,1.44372162082399e-20,1.93367348097234e-20,0.00018805750697,0.00018805750697,0.000000000015255,0.000000000015255,0.000000000015254,0.000000000015254,0.00018805750697,0.000000000015255,0.000000000015254,0.044669241155898,0.000000003623486,0.00000000362338,-0.000000000003658,0.044669241155898],[0.000000000001428,-0.000000000000733,0.000000000001428,-0.000000000000734,0.000000013656902,-0.000000000001428,0.000000000000733,-0.000000000001428,0.000000000000734,-0.000078999205012,-0.000000013656281,4.09143362300796e-21,-3.98592760425491e-21,7.35582658369837e-21,4.10704625317312e-21,0.000000000008224,0.00000000000062,0.000000000006371,0.000000000006371,0.000000000006371,0.000000000006371,0.00031336882103,0.00031336882103,0.000000000006371,0.000000000006371,0.00031336882103,0.00000000151322,0.000000001513258,0.074434398620184,0.000078999213237,0.074434398620184],[0.000370103020626,0.000121698383541,0.000361986346279,0.000000156680661,0.00000003914093,-0.000370095758625,-0.0001216991135,-0.000361979684652,-0.000000153518677,-0.00025300222887,-0.000000038092019,0.000000007262001,-0.000000000729959,0.000000006661627,0.000000003161984,0.000000000669956,0.000000001048911,0.001546253902579,0.001546253902579,0.001436487249792,0.001436487249792,0.001003586050642,0.001003586050642,0.001546253902579,0.001436487249792,0.001003586050642,0.367281208686074,0.341208369780433,0.238381482553083,0.000253002898826,0.367281208686074],[-0.000000000001732,0.000000000000354,-0.000000000001732,0.000000000000355,0.000000000000355,0.000000000001732,-0.000000000000354,0.000000000001732,-0.000000000000355,0.000000000001733,-0.000000000000355,1.0097419586829e-27,3.53409685539013e-28,8.07793566946316e-28,4.54383881407303e-28,1.0097419586829e-27,4.03896783473158e-28,0.000000000007016,0.000000000007016,0.000000000007016,0.000000000007016,0.000000000007017,0.000000000007017,0.000000000007016,0.000000000007016,0.000000000007017,0.000000001666438,0.000000001666612,0.00000000166681,-0.000000000001733,0.00000000166681],[-1.4214373025474e-18,-2.46288518456283e-18,2.84400603515634e-18,-1.12245953953357e-21,2.46423976169264e-18,1.4214373025474e-18,2.46288518456283e-18,-2.84400603515635e-18,1.12245953953313e-21,1.4219539363519e-18,-2.46423976169264e-18,1.92592994438724e-34,7.70371977754894e-34,-7.70371977754894e-34,-4.44807062351154e-34,5.77778983316171e-34,0.0,1.12854159235339e-17,1.12854159235339e-17,1.12854159235339e-17,1.12854159235339e-17,1.12854159235339e-17,1.12854159235339e-17,1.12854159235339e-17,1.12854159235339e-17,1.12854159235339e-17,0.000000000000003,0.000000000000003,0.000000000000003,-1.4219539363519e-18,0.000000000000003],[0.000107015595885,0.000035200123869,0.000142979117049,0.000000054175979,0.000000005764473,-0.000107015510821,-0.000035200160008,-0.000142978958607,-0.000000054122755,-0.00005700133906,-0.000000005750789,0.000000000085064,-0.000000000036139,0.000000000158442,0.000000000053223,-0.000000000006289,0.000000000013684,0.000447191257564,0.000447191257564,0.000567436507136,0.000567436507136,0.000226088714069,0.000226088714069,0.000447191257564,0.000567436507136,0.000226088714069,0.106221200359049,0.134783017100896,0.053702781952586,0.000057001332771,0.134783017100896],[1.42086213458203e-18,2.4624930473646e-18,-2.84362865819491e-18,1.43936097370124e-21,-2.46439424964995e-18,-1.42086213458203e-18,-2.4624930473646e-18,2.84362865819491e-18,-1.43936097370124e-21,-1.42208660669518e-18,2.46439424964995e-18,3.85185988877447e-34,1.15555796663234e-33,-7.70371977754894e-34,0.0,1.92592994438724e-34,-3.85185988877447e-34,1.12854159235339e-17,1.12854159235339e-17,1.12854159235339e-17,1.12854159235339e-17,1.12854159235339e-17,1.12854159235339e-17,1.12854159235339e-17,1.12854159235339e-17,1.12854159235339e-17,0.000000000000003,0.000000000000003,0.000000000000003,1.42208660669518e-18,0.000000000000003],[0.000053006056307,0.000017435214898,-0.000000000000917,-0.000000000001217,-0.000000000001218,-0.000053006048091,-0.000017435214278,0.000000000000917,0.000000000001217,0.000000000000917,0.000000000001218,0.000000000008216,0.00000000000062,8.10638353356192e-21,-1.051901310787e-21,-3.06071609266895e-21,1.1277228344645e-20,0.000221500808437,0.000221500808437,0.000000000006046,0.000000000006046,0.000000000006046,0.000000000006046,0.000221500808437,0.000000000006046,0.000000000006046,0.052613018154419,0.000000001436132,0.000000001436083,-0.000000000000917,0.052613018154419],[0.000045005290955,0.000014802754903,-0.00000000000346,-0.000000000001219,-0.00000000000122,-0.000045005277539,-0.000014802753891,0.00000000000346,0.000000000001219,0.000000000003461,0.00000000000122,0.000000000013416,0.000000000001012,5.64504925782517e-21,-1.16333784698599e-20,8.61709102337294e-21,8.33939078015402e-21,0.00018805750767,0.00018805750767,0.000000000014558,0.000000000014558,0.000000000014558,0.000000000014558,0.00018805750767,0.000000000014558,0.000000000014558,0.04466924132213,0.000000003458059,0.000000003457972,-0.000000000003461,0.04466924132213],[0.000000000001417,-0.000000000000565,0.000000000001417,-0.000000000000566,0.000000013656449,-0.000000000001417,0.000000000000565,-0.000000000001417,0.000000000000566,-0.00007899919353,-0.000000013655584,-9.72313934279753e-21,1.43986068059399e-20,-1.77681243048714e-20,-1.07734910026005e-20,0.000000000011472,0.000000000000865,0.000000000006056,0.000000000006056,0.000000000006056,0.000000000006056,0.000313368820988,0.000313368820988,0.000000000006056,0.000000000006056,0.000313368820988,0.000000001438434,0.00000000143841,0.074434398610098,0.000078999205002,0.074434398610098],[0.000000000000734,-0.000000000000251,0.000033995225711,0.000000012284908,-0.000000000000251,-0.000000000000734,0.000000000000251,-0.000033995107552,-0.000000012275995,-0.000000000000734,0.000000000000251,-2.9175234848894e-20,-2.32642330392069e-20,0.000000000118159,0.000000000008913,-5.7037190016699e-21,4.12162617984745e-20,0.000000000003079,0.000000000003079,0.00013490731429,0.00013490731429,0.000000000003079,0.000000000003079,0.000000000003079,0.00013490731429,0.000000000003079,0.000000000731257,0.03204449241511,0.000000000731259,0.000000000000734,0.03204449241511],[0.000370095807236,0.000121699126899,0.0003279845083,0.000000141246889,0.000000038105404,-0.000370094678273,-0.000121699176686,-0.000327983698276,-0.000000140824041,-0.000253002153553,-0.000000037979769,0.000000001128962,-0.000000000049787,0.000000000810024,0.000000000422848,0.000000000123961,0.000000000125636,0.001546254102468,0.001546254102468,0.001301580131694,0.001301580131694,0.001003586243605,0.001003586243605,0.001546254102468,0.001301580131694,0.001003586243605,0.367281256165612,0.309163923966771,0.23838152838742,0.000253002277513,0.367281256165612],[-0.000000000001987,0.000000000000286,-0.000000000001987,0.000000000000287,0.000000000000287,0.000000000001987,-0.000000000000286,0.000000000001987,-0.000000000000287,0.000000000001988,-0.000000000000287,1.21169035041947e-27,2.01948391736579e-28,1.61558713389263e-27,5.55358077275592e-28,1.61558713389263e-27,2.52435489670724e-28,0.000000000007965,0.000000000007965,0.000000000007966,0.000000000007966,0.000000000007966,0.000000000007966,0.000000000007965,0.000000000007966,0.000000000007966,0.000000001891953,0.00000000189216,0.000000001892191,-0.000000000001988,0.000000001892191],[0.000000000004762,-0.000000000002176,0.000142978991379,0.00000005412749,0.000000005755536,-0.000000000004762,0.000000000002176,-0.000142978525236,-0.000000054157041,-0.000057001336824,-0.000000005670754,-7.00638184867734e-18,-1.60568667820733e-18,0.000000000466143,-0.000000000029551,0.000000000035026,0.000000000084781,0.000000000020784,0.000000000020784,0.000567436637204,0.000567436637204,0.000226088844125,0.000226088844125,0.000000000020784,0.000567436637204,0.000226088844125,0.00000000493688,0.134783047995791,0.053702812844825,0.000057001371849,0.134783047995791],[-1.32605303727757e-18,-8.76031166438954e-19,-7.10642761971068e-19,5.20779691220237e-19,3.55204202868525e-19,1.32605303727757e-18,8.76031166438954e-19,7.10642761971068e-19,-5.20779691220237e-19,-2.03873453682075e-18,-3.55204202868524e-19,-3.85185988877447e-34,-1.92592994438724e-34,2.88889491658085e-34,1.92592994438724e-34,0.0,9.62964972193618e-35,6.30873928984512e-18,6.30873928984512e-18,3.49654257031998e-18,3.49654257031998e-18,8.20820156358329e-18,8.20820156358329e-18,6.30873928984512e-18,3.49654257031998e-18,8.20820156358329e-18,0.000000000000001,8.30532669510135e-16,0.000000000000002,2.03873453682075e-18,0.000000000000002],[0.000107015512462,0.000035200162743,-0.000000000026367,-0.000000000004181,-0.000000000004191,-0.000107014408532,-0.000035200079475,0.000000000026367,0.00000000000418,0.000000000026381,0.000000000004191,0.00000000110393,0.000000000083268,1.3320532462557e-18,-3.5164261675492e-18,2.34758733361402e-18,2.90762862882911e-18,0.000447191267142,0.000447191267142,0.00000000010595,0.00000000010595,0.000000000105949,0.000000000105949,0.000447191267142,0.00000000010595,0.000000000105949,0.10622120263411,0.000000025166189,0.000000025166048,-0.000000000026381,0.10622120263411],[0.000053006047976,0.000017435214452,-0.000000000001031,-0.000000000001043,-0.000000000001044,-0.000053006040415,-0.000017435213882,0.000000000001031,0.000000000001043,0.000000000001031,0.000000000001044,0.000000000007561,0.00000000000057,-1.42461443529854e-21,1.64845625413168e-21,-1.11045624697102e-21,1.12699117544124e-21,0.00022150080822,0.00022150080822,0.000000000005821,0.000000000005821,0.000000000005821,0.000000000005821,0.00022150080822,0.000000000005821,0.000000000005821,0.052613018102798,0.000000001382679,0.000000001382606,-0.000000000001031,0.052613018102798],[0.000045005277545,0.000014802753995,-0.000000000003454,-0.000000000001115,-0.000000000001116,-0.000045005268378,-0.000014802753304,0.000000000003454,0.000000000001115,0.000000000003455,0.000000000001116,0.000000000009166,0.000000000000691,-3.39280649038912e-21,-1.59622323157161e-20,5.45327542996107e-21,1.31607575754678e-20,0.000188057507823,0.000188057507823,0.000000000014403,0.000000000014403,0.000000000014402,0.000000000014402,0.000188057507823,0.000000000014403,0.000000000014402,0.04466924135832,0.000000003421092,0.000000003420996,-0.000000000003455,0.04466924135832],[0.000000000001729,-0.000000000000584,0.000000000001729,-0.000000000000585,0.000000013655565,-0.000000000001729,0.000000000000584,-0.000000000001729,0.000000000000585,-0.000078999185087,-0.000000013654904,9.15933497598595e-21,-8.06986682147133e-22,9.83168377607846e-22,-8.88018575305631e-23,0.000000000008755,0.00000000000066,0.000000000007244,0.000000000007244,0.000000000007244,0.000000000007244,0.000313368822226,0.000313368822226,0.000000000007244,0.000000000007244,0.000313368822226,0.000000001720617,0.000000001720607,0.074434398904179,0.000078999193842,0.074434398904179],[0.000000000000734,-0.000000000000253,0.000033995107552,0.000000012275993,-0.000000000000254,-0.000000000000734,0.000000000000253,-0.000033995003351,-0.000000012268133,-0.000000000000735,0.000000000000254,-2.83584604350187e-20,-2.46875442510464e-20,0.0000000001042,0.00000000000786,-4.73186003692189e-21,3.85226356278363e-20,0.000000000003083,0.000000000003083,0.000134907314291,0.000134907314291,0.000000000003083,0.000000000003083,0.000000000003083,0.000134907314291,0.000000000003083,0.00000000073221,0.032044492415268,0.00000000073221,0.000000000000735,0.032044492415268],[0.000370094688357,0.000121699179338,0.000327983708362,0.000000140826688,0.000000037982418,-0.000370094079313,-0.000121699206197,-0.000327983271376,-0.000000140598573,-0.000253002096769,-0.000000037914641,0.000000000609043,-0.000000000026858,0.000000000436985,0.000000000228115,0.000000000066873,0.000000000067777,0.001546254143773,0.001546254143773,0.001301580171724,0.001301580171724,0.00100358628363,0.00100358628363,0.001546254143773,0.001301580171724,0.00100358628363,0.367281265976883,0.309163933475156,0.23838153789467,0.000253002163643,0.367281265976883],[0.000000000000186,0.000000000000323,0.000000000000187,0.000000000000323,0.000000000000323,-0.000000000000186,-0.000000000000323,-0.000000000000187,-0.000000000000323,-0.000000000000186,-0.000000000000323,7.57306469012171e-29,0.0,7.57306469012171e-29,0.0,7.57306469012171e-29,5.04870979341448e-29,0.000000000001479,0.000000000001479,0.00000000000148,0.00000000000148,0.000000000001479,0.000000000001479,0.000000000001479,0.00000000000148,0.000000000001479,0.000000000351226,0.000000000351549,0.000000000351289,0.000000000000186,0.000000000351549],[0.000000000004738,-0.000000000002148,0.000142978525212,0.000000054157069,0.000000005670782,-0.000000000004738,0.000000000002148,-0.000142978182075,-0.000000054178822,-0.000057001311016,-0.000000005608373,-5.08631052569782e-18,-1.18541736629435e-18,0.000000000343137,-0.000000000021753,0.000000000025783,0.000000000062409,0.000000000020651,0.000000000020651,0.000567436637107,0.000567436637107,0.000226088844028,0.000226088844028,0.000000000020651,0.000567436637107,0.000226088844028,0.000000004905146,0.134783047972775,0.053702812821801,0.000057001336799,0.134783047972775],[1.17214774115312e-18,9.64836942522255e-19,2.9966895076862e-18,-1.66439458585385e-18,6.99486866814545e-19,-1.17214774115312e-18,-9.64836942522255e-19,-2.9966895076862e-18,1.66439458585385e-18,4.17244950657714e-18,-6.99486866814544e-19,0.0,3.85185988877447e-34,3.85185988877447e-34,-7.70371977754894e-34,-7.70371977754894e-34,4.81482486096809e-34,6.02641474488376e-18,6.02641474488376e-18,1.36041704873951e-17,1.3604170487395e-17,1.67804585704392e-17,1.67804585704392e-17,6.02641474488376e-18,1.36041704873951e-17,1.67804585704392e-17,0.000000000000001,0.000000000000003,0.000000000000004,-4.17244950657715e-18,0.000000000000004],[0.000107014418286,0.000035200080193,-0.00000000001661,-0.00000000000347,-0.000000000003477,-0.000107013765951,-0.000035200030988,0.00000000001661,0.00000000000347,0.000000000016618,0.000000000003477,0.000000000652335,0.000000000049205,5.45696258754152e-19,-1.28163899393373e-18,8.43994622391514e-19,1.12419828734466e-18,0.000447191304813,0.000447191304813,0.000000000067343,0.000000000067343,0.000000000067343,0.000000000067343,0.000447191304813,0.000000000067343,0.000000000067343,0.106221211582287,0.000000015996007,0.000000015995874,-0.000000000016618,0.106221211582287],[0.0000530060406,0.000017435213829,-0.000000000000847,-0.000000000001096,-0.000000000001097,-0.000053006033863,-0.000017435213321,0.000000000000847,0.000000000001096,0.000000000000847,0.000000000001097,0.000000000006737,0.000000000000508,-2.09275675136538e-21,-8.150992115761e-21,5.57730001526217e-21,2.75418226392305e-22,0.000221500808851,0.000221500808851,0.000000000005496,0.000000000005496,0.000000000005496,0.000000000005496,0.000221500808851,0.000000000005496,0.000000000005496,0.052613018252675,0.000000001305458,0.000000001305421,-0.000000000000847,0.052613018252675],[0.000045005268563,0.000014802753251,-0.000000000003269,-0.000000000001168,-0.000000000001169,-0.00004500526132,-0.000014802752704,0.000000000003269,0.000000000001168,0.00000000000327,0.000000000001169,0.000000000007243,0.000000000000546,4.47112891121541e-21,-4.72582905015106e-21,-4.46905490123227e-21,-3.98419175685373e-21,0.000188057508453,0.000188057508453,0.000000000013776,0.000000000013776,0.000000000013776,0.000000000013776,0.000188057508453,0.000000000013776,0.000000000013776,0.044669241508139,0.000000003272316,0.000000003272188,-0.00000000000327,0.044669241508139],[0.000000000001545,-0.000000000000531,0.000000000001545,-0.000000000000532,0.000000013654957,-0.000000000001545,0.000000000000531,-0.000000000001545,0.000000000000532,-0.000078999122423,-0.000000013650245,-1.96184974467905e-20,1.75585657909148e-20,-8.10132371660696e-21,-2.45166004910222e-20,0.000000000062479,0.000000000004713,0.000000000006482,0.000000000006482,0.000000000006482,0.000000000006482,0.000313368821493,0.000313368821493,0.000000000006482,0.000000000006482,0.000313368821493,0.000000001539761,0.000000001539762,0.07443439873008,0.000078999184902,0.07443439873008],[0.000370094082387,0.000121699207328,0.000327983274451,0.000000140599702,0.000000037915772,-0.000370093991429,-0.000121699211339,-0.000327983209189,-0.000000140565635,-0.000253002089858,-0.00000003790565,0.000000000090957,-0.000000000004011,0.000000000065261,0.000000000034068,0.000000000009987,0.000000000010122,0.001546254156763,0.001546254156763,0.001301580183926,0.001301580183926,0.00100358629583,0.00100358629583,0.001546254156763,0.001301580183926,0.00100358629583,0.367281269062198,0.309163936373455,0.238381540792515,0.000253002099845,0.367281269062198],[-0.000000000001291,0.000000000000745,-0.000000000001291,0.000000000000746,0.000000000000746,0.000000000001291,-0.000000000000745,0.000000000001291,-0.000000000000746,0.000000000001292,-0.000000000000746,6.05845175209737e-28,0.0,4.03896783473158e-28,-2.01948391736579e-28,8.07793566946316e-28,-1.0097419586829e-28,0.000000000005916,0.000000000005916,0.000000000005917,0.000000000005917,0.000000000005918,0.000000000005918,0.000000000005916,0.000000000005917,0.000000000005918,0.000000001405257,0.000000001405387,0.000000001405609,-0.000000000001292,0.000000001405609],[0.000000000004804,-0.000000000002173,0.000142978182141,0.000000054178797,0.000000005608348,-0.000000000004804,0.000000000002173,-0.00014297771496,-0.000000054208415,-0.000057001275979,-0.000000005523377,-7.06800602156057e-18,-1.6379550346966e-18,0.000000000467181,-0.000000000029617,0.000000000035104,0.00000000008497,0.000000000020931,0.000000000020931,0.00056743663737,0.00056743663737,0.000226088844292,0.000226088844292,0.000000000020931,0.00056743663737,0.000226088844292,0.000000004971782,0.1347830480353,0.053702812884334,0.000057001311083,0.1347830480353],[-7.10429523182418e-19,-1.23124950853632e-18,-7.10279082201618e-19,1.23167884002363e-18,-3.21013189167487e-22,7.10429523182418e-19,1.23124950853632e-18,7.10279082201618e-19,-1.23167884002363e-18,-1.42263430224891e-18,3.21013189167474e-22,0.0,0.0,0.0,0.0,0.0,-1.29774576330781e-35,5.64270796176697e-18,5.64270796176697e-18,5.64270796176697e-18,5.64270796176697e-18,5.64270796176697e-18,5.64270796176697e-18,5.64270796176697e-18,5.64270796176697e-18,5.64270796176697e-18,0.000000000000001,0.000000000000001,0.000000000000001,1.42263430224891e-18,0.000000000000001],[0.000107013772438,0.000035200031465,-0.000000000010122,-0.000000000002998,-0.000000000003003,-0.000107013255562,-0.000035199992478,0.000000000010122,0.000000000002998,0.000000000010126,0.000000000003003,0.000000000516875,0.000000000038987,3.16176176211205e-19,-5.97762368948962e-19,3.5423328439489e-19,5.83788579871111e-19,0.000447191329865,0.000447191329865,0.000000000041895,0.000000000041895,0.000000000041894,0.000000000041894,0.000447191329865,0.000000000041895,0.000000000041894,0.106221217532716,0.000000009951258,0.000000009951135,-0.000000000010126,0.106221217532716],[0.000053006033782,0.000017435213367,-0.000000000000927,-0.000000000001049,-0.00000000000105,-0.000053006026794,-0.00001743521284,0.000000000000927,0.000000000001049,0.000000000000928,0.00000000000105,0.000000000006988,0.000000000000527,6.04353321855461e-21,2.76888854970609e-21,6.98490211609243e-21,1.02371799908142e-21,0.000221500808605,0.000221500808605,0.000000000005557,0.000000000005557,0.000000000005557,0.000000000005557,0.000221500808605,0.000000000005557,0.000000000005557,0.052613018194176,0.000000001320067,0.000000001320052,-0.000000000000928,0.052613018194176],[0.000045005261509,0.00001480275273,-0.00000000000308,-0.000000000001143,-0.000000000001144,-0.000045005238286,-0.000014802750978,0.00000000000308,0.000000000001143,0.000000000003081,0.000000000001144,0.000000000023224,0.000000000001752,1.70943368244361e-20,-1.647677056457e-20,5.43732312260101e-21,2.94488683563743e-20,0.000188057509198,0.000188057509198,0.000000000013036,0.000000000013036,0.000000000013036,0.000000000013036,0.000188057509198,0.000000000013036,0.000000000013036,0.044669241685151,0.000000003096469,0.000000003096374,-0.000000000003081,0.044669241685151],[0.000000000000551,-0.000000000000177,0.000000000000551,-0.000000000000177,0.000000004836619,-0.000000000000551,0.000000000000177,-0.000000000000551,0.000000000000177,-0.000027999658733,-0.000000004834532,2.51181056943193e-21,8.50332937960925e-21,-4.48016499102946e-21,-4.58050585149772e-21,0.000000000027671,0.000000000002087,0.000000000002297,0.000000000002297,0.000000000002297,0.000000000002297,0.000111067420264,0.000111067420264,0.000000000002297,0.000000000002297,0.000111067420264,0.000000000545668,0.000000000545668,0.026381809800022,0.000027999686405,0.026381809800022],[0.000000000000989,-0.000000000000325,0.000000000000989,-0.000000000000325,0.000000008813655,-0.000000000000989,0.000000000000325,-0.000000000000989,0.000000000000325,-0.00005099916941,-0.000000008793546,-5.69923827172824e-21,8.00935503566364e-20,-6.35239882421086e-20,-5.1068850514759e-20,0.000000000266604,0.00000000002011,0.00000000000413,0.00000000000413,0.00000000000413,0.00000000000413,0.00020230140121,0.00020230140121,0.00000000000413,0.00000000000413,0.00020230140121,0.000000000980987,0.000000000980987,0.048052588925601,0.000050999436014,0.048052588925601],[0.000370093993161,0.000121699210985,0.000327983210921,0.000000140565279,0.000000037905295,-0.000370093923731,-0.000121699214047,-0.000327983161105,-0.000000140539274,-0.000253002083967,-0.000000037897568,0.000000000069431,-0.000000000003062,0.000000000049816,0.000000000026005,0.000000000007624,0.000000000007727,0.001546254162853,0.001546254162853,0.001301580190799,0.001301580190799,0.001003586302703,0.001003586302703,0.001546254162853,0.001301580190799,0.001003586302703,0.367281270508983,0.309163938006034,0.238381542425135,0.00025300209159,0.367281270508983],[-0.000000000001155,0.000000000000236,-0.000000000001155,0.000000000000237,0.000000000000237,0.000000000001155,-0.000000000000236,0.000000000001155,-0.000000000000237,0.000000000001155,-0.000000000000237,4.03896783473158e-28,5.04870979341448e-29,4.03896783473158e-28,2.01948391736579e-28,4.03896783473158e-28,1.0097419586829e-28,0.000000000004677,0.000000000004677,0.000000000004677,0.000000000004677,0.000000000004679,0.000000000004679,0.000000000004677,0.000000000004677,0.000000000004679,0.000000001110967,0.000000001110951,0.000000001111323,-0.000000000001155,0.000000001111323],[0.00000000000481,-0.000000000002163,0.000142977714966,0.000000054208425,0.000000005523388,-0.00000000000481,0.000000000002163,-0.000142977384363,-0.000000054229384,-0.000057001251144,-0.000000005463258,-5.01580990431846e-18,-1.17484511716704e-18,0.000000000330604,-0.000000000020959,0.000000000024841,0.00000000006013,0.000000000020936,0.000000000020936,0.000567436637393,0.000567436637393,0.000226088844315,0.000226088844315,0.000000000020936,0.000567436637393,0.000226088844315,0.000000004972874,0.134783048040804,0.053702812889819,0.000057001275985,0.134783048040804],[-2.13128780742644e-18,-3.69375434541459e-18,1.24602421582007e-21,2.46262994278859e-18,1.23155198633278e-18,2.13128780742644e-18,3.69375434541459e-18,-1.24602421582007e-21,-2.46262994278859e-18,-2.13422998006972e-18,-1.23155198633278e-18,0.0,0.0,0.0,0.0,0.0,0.0,1.69281238853009e-17,1.69281238853009e-17,9.77345688205382e-18,9.77345688205382e-18,9.77345688205382e-18,9.77345688205382e-18,1.69281238853009e-17,9.77345688205382e-18,9.77345688205382e-18,0.000000000000004,0.000000000000002,0.000000000000002,2.13422998006972e-18,0.000000000000004],[0.000107013259632,0.000035199992775,-0.00000000000605,-0.000000000002705,-0.000000000002708,-0.000107013046056,-0.000035199976665,0.00000000000605,0.000000000002705,0.000000000006053,0.000000000002708,0.000000000213577,0.00000000001611,1.21271723375765e-19,-1.47543579417172e-19,5.23725309324565e-20,1.56092961991557e-19,0.00044719134558,0.00044719134558,0.000000000026302,0.000000000026302,0.000000000026302,0.000000000026302,0.00044719134558,0.000000000026302,0.000000000026302,0.106221221265615,0.000000006247498,0.000000006247393,-0.000000000006053,0.106221221265615],[0.000053006026981,0.000017435212746,-0.00000000000074,-0.000000000001144,-0.000000000001145,-0.000053006005885,-0.000017435211154,0.00000000000074,0.000000000001144,0.00000000000074,0.000000000001145,0.000000000021097,0.000000000001591,4.98732596415901e-21,-1.13475823175646e-20,2.04560674963048e-21,1.32472262222545e-20,0.000221500809194,0.000221500809194,0.000000000005408,0.000000000005408,0.000000000005408,0.000000000005408,0.000221500809194,0.000000000005408,0.000000000005408,0.052613018334144,0.000000001284483,0.000000001284473,-0.00000000000074,0.052613018334144],[0.000045005239457,0.00001480275107,-0.000000000001908,-0.000000000001051,-0.000000000001052,-0.000045005051613,-0.000014802736902,0.000000000001908,0.000000000001051,0.000000000001909,0.000000000001052,0.000000000187844,0.000000000014169,8.35468667446157e-20,-9.88610676738819e-20,4.35432810066608e-20,1.11367757625471e-19,0.000188057513728,0.000188057513728,0.000000000008647,0.000000000008647,0.000000000008646,0.000000000008646,0.000188057513728,0.000000000008647,0.000000000008646,0.04466924276111,0.000000002053823,0.000000002053752,-0.000000000001909,0.04466924276111],[0.000000000000547,-0.000000000000184,0.000000000000547,-0.000000000000185,0.000000004834524,-0.000000000000547,0.000000000000184,-0.000000000000547,0.000000000000185,-0.000027999628173,-0.00000000483222,-9.39180433303665e-21,9.28129653224771e-21,-1.18507467320217e-20,-6.91142415301394e-21,0.000000000030556,0.000000000002305,0.00000000000229,0.00000000000229,0.00000000000229,0.00000000000229,0.000111067420247,0.000111067420247,0.00000000000229,0.00000000000229,0.000111067420247,0.000000000543985,0.000000000543985,0.026381809795904,0.000027999658729,0.026381809795904],[0.000370093924426,0.000121699214506,0.000327983161801,0.000000140539733,0.000000037898027,-0.00037009385949,-0.00012169921737,-0.00032798311521,-0.000000140515412,-0.000253002077533,-0.000000037890801,0.000000000064936,-0.000000000002864,0.000000000046591,0.000000000024321,0.00000000000713,0.000000000007226,0.001546254166044,0.001546254166044,0.001301580193561,0.001301580193561,0.001003586305465,0.001003586305465,0.001546254166044,0.001301580193561,0.001003586305465,0.367281271266921,0.309163938662048,0.238381543080995,0.000253002084663,0.367281271266921],[-0.000000000001105,0.000000000001068,-0.000000000001104,0.000000000001069,0.000000000001069,0.000000000001105,-0.000000000001068,0.000000000001104,-0.000000000001069,0.000000000001105,-0.000000000001069,1.0097419586829e-27,-2.01948391736579e-28,6.05845175209737e-28,2.01948391736579e-28,1.0097419586829e-27,2.01948391736579e-28,0.000000000006098,0.000000000006098,0.000000000006099,0.000000000006099,0.0000000000061,0.0000000000061,0.000000000006098,0.000000000006099,0.0000000000061,0.000000001448479,0.000000001448601,0.000000001448934,-0.000000000001105,0.000000001448934],[0.000000000004815,-0.000000000002132,0.000142977384367,0.000000054229415,0.000000005463289,-0.000000000004815,0.000000000002132,-0.000142976459819,-0.000000054288027,-0.000057001181678,-0.000000005295133,-1.39443938988878e-17,-3.39303954367995e-18,0.000000000924548,-0.000000000058612,0.00000000006947,0.000000000168156,0.000000000020902,0.000000000020902,0.000567436637411,0.000567436637411,0.000226088844333,0.000226088844333,0.000000000020902,0.000567436637411,0.000226088844333,0.000000004964791,0.134783048045045,0.053702812894046,0.000057001251148,0.134783048045045],[3.84766506649799e-20,-2.22009090427778e-20,-3.84897410925447e-20,-2.21961111686669e-20,4.44572751555467e-20,-3.84766506649799e-20,2.22009090427778e-20,3.84897410925447e-20,2.21961111686669e-20,-1.01448156115784e-23,-4.44572751555467e-20,-6.01853107621011e-36,-3.00926553810506e-36,6.01853107621011e-36,3.00926553810506e-36,4.04076183095161e-37,-6.01853107621011e-36,1.76334623805218e-19,1.76334623805218e-19,1.76334623805218e-19,1.76334623805218e-19,1.76334623805218e-19,1.76334623805218e-19,1.76334623805218e-19,1.76334623805218e-19,1.76334623805218e-19,4.18847083628131e-17,4.18847083628131e-17,4.18847083628131e-17,1.01448156115788e-23,4.18847083628131e-17],[0.000053006451996,0.000017435497521,-0.000000000002253,-0.000000000001343,-0.000000000001344,-0.000053006435508,-0.000017435496277,0.000000000002253,0.000000000001343,0.000000000002254,0.000000000001344,0.000000000016488,0.000000000001244,-8.5176480002108e-21,-7.71892595502129e-21,3.47359271332907e-21,1.39816757683931e-20,0.000221505949511,0.000221505949511,0.00000000001041,0.00000000001041,0.00000000001041,0.00000000001041,0.000221505949511,0.00000000001041,0.00000000001041,0.052614239312152,0.00000000247278,0.000000002472695,-0.000000000002254,0.052614239312152],[0.000054006596537,0.000017764479297,-0.000000000001318,-0.000000000001211,-0.000000000001212,-0.000054006371384,-0.000017764462314,0.000000000001318,0.000000000001211,0.000000000001319,0.000000000001212,0.000000000225153,0.000000000016983,7.56821067877277e-20,-5.16446134070486e-20,2.24623518648383e-20,1.03763679922778e-19,0.000225685405604,0.000225685405604,0.000000000007103,0.000000000007103,0.000000000007103,0.000000000007103,0.000225685405604,0.000000000007103,0.000000000007103,0.053606984218196,0.000000001687117,0.000000001687119,-0.000000000001319,0.053606984218196],[0.000053006006044,0.000017435211197,-0.000000000000581,-0.000000000001102,-0.000000000001102,-0.000053005984783,-0.000017435209593,0.000000000000581,0.000000000001102,0.000000000000581,0.000000000001102,0.000000000021261,0.000000000001604,1.44260290751312e-20,1.05111750868899e-20,-6.70919782980323e-21,-2.59151828698581e-21,0.000221500809847,0.000221500809847,0.000000000004942,0.000000000004942,0.000000000004942,0.000000000004942,0.000221500809847,0.000000000004942,0.000000000004942,0.052613018489202,0.00000000117397,0.000000001173973,-0.000000000000581,0.052613018489202],[0.000045005052703,0.00001480273693,-0.000000000000818,-0.000000000001024,-0.000000000001025,-0.000045005043348,-0.000014802736224,0.000000000000818,0.000000000001024,0.000000000000818,0.000000000001025,0.000000000009354,0.000000000000706,-8.23122156698494e-22,1.60614564268216e-21,5.14722607540694e-21,5.16826081794183e-21,0.000188057517874,0.000188057517874,0.000000000005201,0.000000000005201,0.000000000005201,0.000000000005201,0.000188057517874,0.000000000005201,0.000000000005201,0.044669243745763,0.000000001235361,0.000000001235341,-0.000000000000818,0.044669243745763],[0.000000000000542,-0.000000000000181,0.000000000000542,-0.000000000000181,0.000000004832223,-0.000000000000542,0.000000000000181,-0.000000000000542,0.000000000000181,-0.000027999545346,-0.000000004825976,-2.92208508506452e-21,2.35604920114603e-20,-2.05349426816138e-20,-1.34863911025025e-20,0.000000000082823,0.000000000006247,0.000000000002268,0.000000000002268,0.000000000002268,0.000000000002268,0.000111067420229,0.000111067420229,0.000000000002268,0.000000000002268,0.000111067420229,0.000000000538741,0.000000000538741,0.026381809791493,0.000027999628169,0.026381809791493],[0.000370093860185,0.000121699217829,0.000327983115906,0.000000140515871,0.00000003789126,-0.00037009379094,-0.000121699220883,-0.000327983066222,-0.000000140489935,-0.000253002070626,-0.000000037883554,0.000000000069246,-0.000000000003054,0.000000000049684,0.000000000025936,0.000000000007603,0.000000000007706,0.001546254169236,0.001546254169236,0.001301580196323,0.001301580196323,0.001003586308225,0.001003586308225,0.001546254169236,0.001301580196323,0.001003586308225,0.367281272024934,0.309163939318064,0.238381543736797,0.000253002078229,0.367281272024934],[-0.000000000000509,-0.000000000000137,-0.000000000000509,-0.000000000000136,-0.000000000000136,0.000000000000509,0.000000000000137,0.000000000000509,0.000000000000136,0.00000000000051,0.000000000000136,2.01948391736579e-28,0.0,2.01948391736579e-28,1.0097419586829e-28,1.0097419586829e-28,0.0,0.000000000002092,0.000000000002092,0.000000000002091,0.000000000002091,0.000000000002093,0.000000000002093,0.000000000002092,0.000000000002091,0.000000000002093,0.000000000496974,0.000000000496592,0.000000000497105,-0.00000000000051,0.000000000497105],[0.00000000000486,-0.000000000002111,0.000142976459865,0.000000054288048,0.000000005295154,-0.00000000000486,0.000000000002111,-0.000142975790401,-0.000000054330489,-0.000057001131421,-0.000000005173393,-1.01613968244064e-17,-2.53460460355679e-18,0.000000000669464,-0.000000000042441,0.000000000050303,0.000000000121761,0.000000000021034,0.000000000021034,0.000567436637592,0.000567436637592,0.000226088844514,0.000226088844514,0.000000000021034,0.000567436637592,0.000226088844514,0.000000004996293,0.13478304808805,0.053702812937038,0.000057001181724,0.13478304808805],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],[0.000053006435622,0.000017435496427,-0.00000000000214,-0.000000000001193,-0.000000000001194,-0.000053006429554,-0.000017435495969,0.00000000000214,0.000000000001193,0.000000000002141,0.000000000001194,0.000000000006067,0.000000000000458,1.13900496409661e-20,-1.78396463472888e-20,8.40896866540419e-21,3.82422964744954e-21,0.000221505950124,0.000221505950124,0.000000000009724,0.000000000009724,0.000000000009723,0.000000000009723,0.000221505950124,0.000000000009724,0.000000000009723,0.052614239457779,0.000000002309649,0.000000002309613,-0.000000000002141,0.052614239457779],[0.000054006373577,0.000017764462481,0.000000000000876,-0.000000000001046,-0.000000000001046,-0.000054006203248,-0.000017764449633,-0.000000000000876,0.000000000001046,-0.000000000000877,0.000000000001046,0.00000000017033,0.000000000012848,4.22887192341079e-20,4.15301635123445e-20,-6.11873900158571e-20,4.70550213672921e-21,0.00022568541408,0.00022568541408,0.000000000005414,0.000000000005414,0.000000000005414,0.000000000005414,0.00022568541408,0.000000000005414,0.000000000005414,0.053606986231662,0.000000001285938,0.000000001285937,0.000000000000877,0.053606986231662],[0.000053005986001,0.000017435209694,0.000000000000637,-0.000000000001002,-0.000000000001002,-0.00005300578735,-0.00001743519471,-0.000000000000637,0.000000000001002,-0.000000000000638,0.000000000001002,0.00000000019865,0.000000000014984,4.04819998623917e-20,4.30117344623065e-20,-6.19273427566447e-20,1.44063584939825e-20,0.000221500814563,0.000221500814563,0.000000000004712,0.000000000004712,0.000000000004712,0.000000000004712,0.000221500814563,0.000000000004712,0.000000000004712,0.052613019609504,0.000000001119201,0.0000000011192,0.000000000000638,0.052613019609504],[0.000045005043343,0.000014802736308,-0.000000000000823,-0.00000000000094,-0.000000000000941,-0.000045005035962,-0.000014802735751,0.000000000000823,0.00000000000094,0.000000000000824,0.000000000000941,0.000000000007381,0.000000000000557,5.83739873957992e-21,-2.61599019114806e-21,-5.78062236288193e-21,3.40704183252263e-21,0.000188057517957,0.000188057517957,0.000000000004959,0.000000000004959,0.000000000004959,0.000000000004959,0.000188057517957,0.000000000004959,0.000000000004959,0.044669243765593,0.000000001177996,0.000000001177971,-0.000000000000824,0.044669243765593],[0.000370093791399,0.000121699220187,0.000327983066681,0.000000140489239,0.000000037882858,-0.000370093730125,-0.000121699222889,-0.000327983022717,-0.000000140466289,-0.000253002064357,-0.000000037876039,0.000000000061274,-0.000000000002702,0.000000000043964,0.00000000002295,0.000000000006728,0.000000000006819,0.001546254170105,0.001546254170105,0.001301580198143,0.001301580198143,0.001003586310047,0.001003586310047,0.001546254170105,0.001301580198143,0.001003586310047,0.367281272231417,0.309163939750341,0.238381544169523,0.000253002071085,0.367281272231417],[6.44539800770213e-18,2.25455171867885e-17,1.13654833788704e-17,-2.53958662095596e-17,2.84937113768019e-18,-6.44539800770213e-18,-2.25455171867885e-17,-1.13654833788704e-17,2.53958662095596e-17,1.78319522904182e-17,-2.84937113768019e-18,7.70371977754894e-34,3.08148791101958e-33,0.0,-3.08148791101958e-33,-3.08148791101958e-33,7.70371977754894e-34,9.30619237635159e-17,9.30619237635158e-17,1.10408525414285e-16,1.10408525414285e-16,7.16310046346968e-17,7.16310046346968e-17,9.30619237635159e-17,1.10408525414285e-16,7.16310046346968e-17,0.000000000000022,0.000000000000026,0.000000000000017,-1.78319522904182e-17,0.000000000000026],[0.000000000001755,-0.000000000000946,0.000042992536014,0.000000016182298,0.00000000517456,-0.000000000001755,0.000000000000946,-0.000042992525513,-0.000000016188396,-0.00005700110693,-0.000000005164715,-2.74765262416387e-19,2.37079044369081e-19,0.000000000010501,-0.000000000006098,0.000000000021384,0.000000000009846,0.000000000007915,0.000000000007915,0.00017062706893,0.00017062706893,0.000226088832191,0.000226088832191,0.000000000007915,0.00017062706893,0.000226088832191,0.000000001880139,0.04052899462805,0.053702810010181,0.000057001128314,0.053702810010181],[-3.76515747057862e-18,-4.39221659425233e-18,-3.14970659052632e-18,3.32728186362719e-18,1.06535747775445e-18,3.76515747057862e-18,4.39221659425233e-18,3.14970659052632e-18,-3.32728186362719e-18,-6.92280171361778e-18,-1.06535747775445e-18,7.70371977754894e-34,0.0,3.85185988877447e-34,0.0,0.0,-1.92592994438724e-34,2.2964157646447e-17,2.2964157646447e-17,1.81834430022976e-17,1.81834430022976e-17,2.77817872556216e-17,2.77817872556216e-17,2.2964157646447e-17,1.81834430022976e-17,2.77817872556216e-17,0.000000000000005,0.000000000000004,0.000000000000007,6.92280171361778e-18,0.000000000000007],[0.00000000000305,-0.000000000001216,0.000099983254332,0.00000003814814,-0.000000000001219,-0.00000000000305,0.000000000001216,-0.000099982547415,-0.000000038094818,-0.000000000003052,0.000000000001219,-2.50606069078344e-19,-1.87331947138467e-19,0.000000000706917,0.000000000053322,-5.07212728463379e-20,3.28350975492033e-19,0.000000000013035,0.000000000013035,0.000396809568447,0.000396809568447,0.000000000013035,0.000000000013035,0.000000000013035,0.000396809568447,0.000000000013035,0.000000003096251,0.09425405340888,0.000000003096185,0.000000000003052,0.09425405340888],[0.000053006429583,0.000017435495926,-0.000000000002111,-0.000000000001236,-0.000000000001238,-0.000053006420546,-0.000017435495244,0.000000000002111,0.000000000001236,0.000000000002112,0.000000000001238,0.000000000009037,0.000000000000682,1.04346515906027e-20,-4.38818709114206e-22,-1.0166853078979e-20,6.18412080315238e-21,0.000221505950179,0.000221505950179,0.00000000000971,0.00000000000971,0.00000000000971,0.00000000000971,0.000221505950179,0.00000000000971,0.00000000000971,0.052614239470682,0.00000000230652,0.000000002306466,-0.000000000002112,0.052614239470682],[0.000045005035997,0.000014802735812,-0.000000000000788,-0.00000000000088,-0.00000000000088,-0.000045005027652,-0.000014802735182,0.000000000000788,0.00000000000088,0.000000000000789,0.00000000000088,0.000000000008344,0.000000000000629,-2.63526586221673e-21,-3.96258004776365e-21,2.9622410081484e-21,9.17896910544995e-21,0.000188057518164,0.000188057518164,0.000000000004688,0.000000000004688,0.000000000004687,0.000000000004687,0.000188057518164,0.000000000004688,0.000000000004687,0.044669243814702,0.000000001113442,0.000000001113417,-0.000000000000789,0.044669243814702],[0.000370093730919,0.000121699225012,0.000327983023513,0.000000140468412,0.000000037878163,-0.000370093668247,-0.000121699227776,-0.000327982978546,-0.000000140444938,-0.000253002058272,-0.000000037871189,0.000000000062673,-0.000000000002764,0.000000000044967,0.000000000023474,0.000000000006881,0.000000000006974,0.001546254175734,0.001546254175734,0.001301580201307,0.001301580201307,0.001003586313207,0.001003586313207,0.001546254175734,0.001301580201307,0.001003586313207,0.367281273568506,0.309163940501919,0.23838154492005,0.000253002065153,0.367281273568506],[0.000000000002186,-0.000000000000899,0.000042992525944,0.000000016188443,0.000000005164762,-0.000000000002186,0.000000000000899,-0.000042992523458,-0.000000016189887,-0.000057001102298,-0.000000005162431,-8.03866001922402e-20,6.87757498732721e-20,0.000000000002486,-0.000000000001444,0.000000000005063,0.000000000002331,0.000000000009382,0.000000000009382,0.00017062707064,0.00017062707064,0.000226088833901,0.000226088833901,0.000000000009382,0.00017062707064,0.000226088833901,0.000000002228473,0.040528995034152,0.053702810416232,0.000057001107361,0.053702810416232],[-5.06779736131668e-18,-1.02052912264493e-17,-2.33543693999521e-17,1.93571226585115e-17,-9.15159241862733e-18,5.06779736131668e-18,1.02052912264493e-17,2.33543693999521e-17,-1.93571226585115e-17,-2.84504506926528e-17,9.15159241862733e-18,2.31111593326468e-33,6.16297582203915e-33,6.16297582203915e-33,-6.16297582203915e-33,-6.16297582203915e-33,0.0,4.52297450729042e-17,4.52297450729042e-17,1.20386642521735e-16,1.20386642521735e-16,1.18540092770156e-16,1.18540092770156e-16,4.52297450729042e-17,1.20386642521735e-16,1.18540092770156e-16,0.000000000000011,0.000000000000029,0.000000000000028,2.84504506926528e-17,0.000000000000029],[0.000000000003061,-0.000000000001207,0.000099982547425,0.000000038094827,-0.000000000001209,-0.000000000003061,0.000000000001207,-0.000099982458059,-0.000000038088086,-0.000000000003062,0.000000000001209,-4.12994457546695e-20,-2.91579754305684e-20,0.000000000089367,0.000000000006741,-2.73219493082434e-21,3.47307683616238e-20,0.00000000001306,0.00000000001306,0.000396809568488,0.000396809568488,0.00000000001306,0.00000000001306,0.00000000001306,0.000396809568488,0.00000000001306,0.000000003102118,0.094254053418626,0.000000003102062,0.000000000003062,0.094254053418626],[0.000053006420863,0.000017435495142,-0.000000000001794,-0.000000000001339,-0.000000000001341,-0.000053006415425,-0.000017435494731,0.000000000001794,0.000000000001339,0.000000000001795,0.000000000001341,0.000000000005438,0.00000000000041,-7.62294977990009e-21,-1.1676342586305e-20,-1.15356495846468e-21,-1.33275639178164e-22,0.000221505951248,0.000221505951248,0.000000000008885,0.000000000008885,0.000000000008885,0.000000000008885,0.000221505951248,0.000000000008885,0.000000000008885,0.052614239724719,0.000000002110415,0.000000002110345,-0.000000000001795,0.052614239724719],[0.00004500502778,0.000014802735216,-0.000000000000661,-0.000000000000845,-0.000000000000846,-0.000045005020353,-0.000014802734656,0.000000000000661,0.000000000000845,0.000000000000661,0.000000000000846,0.000000000007427,0.00000000000056,7.39233390518874e-21,-2.96874455415589e-21,-4.43046579474568e-21,4.27457274348659e-21,0.000188057518686,0.000188057518686,0.000000000004259,0.000000000004259,0.000000000004259,0.000000000004259,0.000188057518686,0.000000000004259,0.000000000004259,0.044669243938745,0.000000001011731,0.000000001011717,-0.000000000000661,0.044669243938745],[0.000370093670828,0.000121699227309,0.000327982981127,0.000000140444469,0.00000003787072,-0.000370093347356,-0.000121699241574,-0.000327982749038,-0.000000140323314,-0.000253002025337,-0.000000037834723,0.000000000323471,-0.000000000014265,0.000000000232089,0.000000000121155,0.000000000035517,0.000000000035997,0.001546254184886,0.001546254184886,0.001301580211548,0.001301580211548,0.00100358632345,0.00100358632345,0.001546254184886,0.001301580211548,0.00100358632345,0.367281275742281,0.309163942934592,0.238381547353005,0.000253002060854,0.367281275742281],[0.000000000002744,-0.000000000000992,0.000042992524016,0.000000016189793,0.000000005162337,-0.000000000002744,0.000000000000992,-0.000042992456611,-0.000000016228935,-0.000057000965591,-0.000000005099136,-2.84891095011022e-18,1.8320736617092e-18,0.000000000067404,-0.000000000039142,0.000000000137265,0.0000000000632,0.000000000011582,0.000000000011582,0.000170627072854,0.000170627072854,0.000226088836114,0.000226088836114,0.000000000011582,0.000170627072854,0.000226088836114,0.00000000275107,0.040528995560075,0.053702810941982,0.000057001102856,0.053702810941982],[-1.58368677165997e-19,-3.18915362612106e-19,-7.29824021878332e-19,6.04910023576889e-19,-2.85987274032364e-19,1.58368677165997e-19,3.18915362612106e-19,7.29824021878332e-19,-6.04910023576888e-19,-8.89076493472293e-19,2.85987274032364e-19,7.22223729145213e-35,-9.62964972193618e-35,-9.62964972193618e-35,1.92592994438724e-34,1.92592994438724e-34,-4.81482486096809e-35,1.41342953352826e-18,1.41342953352826e-18,3.76208257880422e-18,3.76208257880422e-18,3.70437789906738e-18,3.70437789906738e-18,1.41342953352826e-18,3.76208257880422e-18,3.70437789906738e-18,3.35731477605966e-16,8.93606305158159e-16,8.79899730523009e-16,8.89076493472293e-19,8.93606305158159e-16],[-0.000000000000335,-0.000000000000022,-0.000000000000335,-0.000000000000021,-0.000000000000021,0.000000000000335,0.000000000000022,0.000000000000335,0.000000000000021,0.000000000000335,0.000000000000021,3.53409685539013e-28,2.83989925879564e-29,3.53409685539013e-28,5.67979851759128e-29,2.01948391736579e-28,3.47098798297245e-29,0.000000000001334,0.000000000001334,0.000000000001333,0.000000000001333,0.000000000001332,0.000000000001332,0.000000000001334,0.000000000001333,0.000000000001332,0.000000000316877,0.000000000316737,0.000000000316506,-0.000000000000335,0.000000000316877],[0.000000000003039,-0.000000000001221,0.000099982458037,0.000000038088072,-0.000000000001224,-0.000000000003039,0.000000000001221,-0.00009998239209,-0.000000038083098,-0.000000000003041,0.000000000001224,-2.11605680959489e-20,-2.87209070081654e-20,0.000000000065947,0.000000000004974,-9.03525182565124e-22,1.68945834097693e-20,0.000000000013001,0.000000000013001,0.000396809568402,0.000396809568402,0.000000000013001,0.000000000013001,0.000000000013001,0.000396809568402,0.000000000013001,0.000000003088085,0.09425405339811,0.000000003088066,0.000000000003041,0.09425405339811],[0.00005300641534,0.00001743549505,-0.000000000001879,-0.000000000001021,-0.000000000001022,-0.000053006408778,-0.000017435494555,0.000000000001879,0.000000000001021,0.00000000000188,0.000000000001022,0.000000000006562,0.000000000000495,1.27385204449023e-20,-7.45119287467652e-22,-7.27353443160124e-21,3.15547754821386e-21,0.000221505951321,0.000221505951321,0.000000000008487,0.000000000008487,0.000000000008487,0.000000000008487,0.000221505951321,0.000000000008487,0.000000000008487,0.052614239741985,0.000000002015988,0.00000000201585,-0.00000000000188,0.052614239741985],[0.000045005020561,0.000014802734644,-0.000000000000453,-0.000000000000858,-0.000000000000859,-0.000045005012013,-0.000014802733999,0.000000000000453,0.000000000000858,0.000000000000453,0.000000000000859,0.000000000008548,0.000000000000645,8.57807883500566e-21,-8.06926097629612e-22,-7.66601375982498e-21,9.42909571915795e-21,0.000188057519455,0.000188057519455,0.000000000003851,0.000000000003851,0.000000000003851,0.000000000003851,0.000188057519455,0.000000000003851,0.000000000003851,0.044669244121321,0.000000000914714,0.000000000914712,-0.000000000000453,0.044669244121321],[0.000000000000468,-0.000000000000169,0.000028995938317,0.00000001051416,-0.000000000000169,-0.000000000000468,0.000000000000169,-0.000028995865222,-0.000000010508646,-0.000000000000468,0.000000000000169,-1.85618023860547e-20,-1.46381708119407e-20,0.000000000073095,0.000000000005513,-5.73447907387984e-22,1.76400267486751e-20,0.000000000001974,0.000000000001974,0.000115068669514,0.000115068669514,0.000000000001974,0.000000000001974,0.000000000001974,0.000115068669514,0.000000000001974,0.000000000468798,0.027332225290187,0.000000000468982,0.000000000000468,0.027332225290187],[0.00037009335254,0.000121699243185,0.000298986816374,0.000000129810593,0.000000037836332,-0.000370092648212,-0.000121699241042,-0.000298986416688,-0.000000129580829,-0.000253001942862,-0.000000037777463,0.000000000704327,0.000000000002142,0.000000000399686,0.000000000229764,0.000000000087661,0.000000000058869,0.001546254206427,0.001546254206427,0.001186511564738,0.001186511564737,0.001003586344026,0.001003586344026,0.001546254206427,0.001186511564738,0.001003586344026,0.367281280858898,0.281831723037167,0.238381552240401,0.000253002030524,0.367281280858898],[0.000000000002719,-0.000000000000978,0.000042992456586,0.000000016228949,0.000000005099151,-0.000000000002719,0.000000000000978,-0.000042992409348,-0.00000001625638,-0.000057000869369,-0.000000005054859,-1.97682544900372e-18,1.26245441087936e-18,0.000000000047238,-0.000000000027431,0.000000000096197,0.000000000044292,0.000000000011468,0.000000000011468,0.000170627072754,0.000170627072754,0.000226088836014,0.000226088836014,0.000000000011468,0.000170627072754,0.000226088836014,0.000000002724052,0.040528995536315,0.053702810918213,0.000057000965566,0.053702810918213],[-3.07815220279201e-19,1.77607389359414e-19,-1.79153995079075e-22,-3.55444566369439e-19,1.77755957120797e-19,3.07815220279201e-19,-1.77607389359414e-19,1.79153995079019e-22,3.55444566369439e-19,-3.08049223476302e-19,-1.77755957120797e-19,9.62964972193618e-35,4.81482486096809e-35,-5.56008827938942e-35,4.81482486096809e-35,0.0,-7.22223729145213e-35,1.41067699044174e-18,1.41067699044174e-18,1.41067699044174e-18,1.41067699044174e-18,1.41067699044174e-18,1.41067699044174e-18,1.41067699044174e-18,1.41067699044174e-18,1.41067699044174e-18,3.35077666902505e-16,3.35077666902505e-16,3.35077666902505e-16,3.08049223476302e-19,3.35077666902505e-16],[-0.000000000000463,-0.000000000000056,-0.000000000000463,-0.000000000000055,-0.000000000000056,0.000000000000463,0.000000000000056,0.000000000000463,0.000000000000055,0.000000000000463,0.000000000000056,3.02922587604869e-28,6.31088724176809e-29,2.01948391736579e-28,5.67979851759128e-29,4.03896783473158e-28,3.15544362088405e-29,0.00000000000185,0.00000000000185,0.000000000001849,0.000000000001849,0.000000000001848,0.000000000001848,0.00000000000185,0.000000000001849,0.000000000001848,0.000000000439338,0.000000000439205,0.000000000439036,-0.000000000000463,0.000000000439338],[0.000000000003039,-0.000000000001127,0.000099982392091,0.000000038083192,-0.00000000000113,-0.000000000003039,0.000000000001127,-0.000099982327924,-0.000000038078352,-0.000000000003041,0.00000000000113,-1.53060397908593e-20,-2.33290545854478e-20,0.000000000064167,0.00000000000484,-2.20342856958937e-20,2.24816023933322e-20,0.000000000012868,0.000000000012868,0.000396809568404,0.000396809568404,0.000000000012868,0.000000000012868,0.000000000012868,0.000396809568404,0.000000000012868,0.000000003056531,0.094254053398583,0.000000003056508,0.000000000003041,0.094254053398583],[0.000053006408933,0.000017435494358,-0.000000000001724,-0.000000000001218,-0.000000000001219,-0.000053006403172,-0.000017435493923,0.000000000001724,0.000000000001218,0.000000000001725,0.000000000001219,0.000000000005761,0.000000000000435,-3.32321790187418e-21,-3.5732536388059e-21,1.11158443166146e-20,1.11162825446246e-20,0.000221505951662,0.000221505951662,0.000000000008378,0.000000000008378,0.000000000008378,0.000000000008378,0.000221505951662,0.000000000008378,0.000000000008378,0.052614239822958,0.000000001990012,0.000000001989992,-0.000000000001725,0.052614239822958],[0.000045005011949,0.000014802733982,-0.000000000000517,-0.000000000000875,-0.000000000000876,-0.000045005003184,-0.000014802733321,0.000000000000517,0.000000000000875,0.000000000000517,0.000000000000876,0.000000000008765,0.000000000000661,-6.84785912966642e-21,-6.28936459191877e-22,1.40885175747833e-21,-1.39316698125023e-20,0.000188057519194,0.000188057519194,0.000000000004033,0.000000000004033,0.000000000004033,0.000000000004033,0.000188057519194,0.000000000004033,0.000000000004033,0.044669244059386,0.000000000958063,0.000000000958057,-0.000000000000517,0.044669244059386],[0.000000000000457,-0.000000000000133,0.000028995865211,0.000000010508683,-0.000000000000133,-0.000000000000457,0.000000000000133,-0.000028995860999,-0.000000010508365,-0.000000000000457,0.000000000000133,-4.09815890834957e-22,-2.82890814184473e-21,0.000000000004212,0.000000000000318,-1.94297263895632e-21,2.66789867759389e-21,0.000000000001888,0.000000000001888,0.000115068669471,0.000115068669471,0.000000000001888,0.000000000001888,0.000000000001888,0.000115068669471,0.000000000001888,0.000000000448392,0.02733222527999,0.000000000448571,0.000000000000457,0.02733222527999],[0.000370092671191,0.000121699247212,0.000298986439672,0.000000129586986,0.000000037783627,-0.000370089305425,-0.000121699236975,-0.000298984529693,-0.000000128489016,-0.00025300154695,-0.00000003750231,0.000000003365766,0.000000000010237,0.000000001909979,0.00000000109797,0.000000000418906,0.000000000281317,0.001546254300712,0.001546254300712,0.001186511655963,0.001186511655963,0.001003586435239,0.001003586435239,0.001546254300712,0.001186511655963,0.001003586435239,0.367281303254459,0.281831744705818,0.23838157390639,0.000253001965856,0.367281303254459],[0.000000000001153,-0.000000000000445,0.000042992407783,0.000000016256914,-0.000000000000446,-0.000000000001153,0.000000000000445,-0.000042992275429,-0.000000016244251,-0.000000000001154,0.000000000000446,-1.29546326648079e-18,-1.06510865124263e-18,0.000000000132354,0.000000000012663,-2.78016385954102e-19,1.6564707429176e-18,0.000000000004906,0.000000000004906,0.000170627066541,0.000170627066541,0.000000000004906,0.000000000004906,0.000000000004906,0.000170627066541,0.000000000004906,0.000000001165387,0.04052899406062,0.000000001165388,0.000000000001154,0.04052899406062],[0.000000000001545,-0.000000000000551,0.000000000001545,-0.000000000000552,0.000000005055287,-0.000000000001545,0.000000000000551,-0.000000000001545,0.000000000000552,-0.000057000840623,-0.000000005052649,-6.70979178021817e-20,3.45366330199487e-19,-2.66205206869499e-19,-2.32156578674767e-19,0.000000000027571,0.000000000002638,0.000000000006511,0.000000000006511,0.000000000006511,0.000000000006511,0.000226088831356,0.000226088831356,0.000000000006511,0.000000000006511,0.000226088831356,0.000000001546508,0.000000001546515,0.053702809811837,0.000057000868194,0.053702809811837],[-0.000000000000509,-0.000000000000137,-0.000000000000509,-0.000000000000136,-0.000000000000136,0.000000000000509,0.000000000000137,0.000000000000509,0.000000000000136,0.000000000000509,0.000000000000136,0.0,5.04870979341448e-29,0.0,5.04870979341448e-29,-1.0097419586829e-28,1.0097419586829e-28,0.000000000002093,0.000000000002093,0.000000000002092,0.000000000002092,0.000000000002091,0.000000000002091,0.000000000002093,0.000000000002092,0.000000000002091,0.000000000497043,0.000000000496905,0.000000000496723,-0.000000000000509,0.000000000497043],[0.000000000003038,-0.000000000001189,0.000099982327922,0.000000038078291,-0.000000000001191,-0.000000000003038,0.000000000001189,-0.000099981725163,-0.000000038032825,-0.000000000003039,0.000000000001191,-2.24975137455584e-19,-1.72117681380593e-19,0.000000000602759,0.000000000045465,-1.45049343507506e-20,2.91504270439718e-19,0.000000000012948,0.000000000012948,0.000396809568397,0.000396809568397,0.000000000012948,0.000000000012948,0.000000000012948,0.000396809568397,0.000000000012948,0.000000003075579,0.094254053396915,0.000000003075555,0.000000000003039,0.094254053396915],[0.000053006403381,0.000017435493937,-0.000000000001514,-0.000000000001205,-0.000000000001206,-0.00005300636568,-0.000017435491093,0.000000000001514,0.000000000001205,0.000000000001515,0.000000000001206,0.000000000037701,0.000000000002844,1.50820156126285e-20,-1.86040416087477e-20,9.27936683963403e-21,1.22616136632614e-20,0.000221505952469,0.000221505952469,0.00000000000768,0.00000000000768,0.00000000000768,0.00000000000768,0.000221505952469,0.00000000000768,0.00000000000768,0.052614240014607,0.000000001824338,0.000000001824336,-0.000000000001515,0.052614240014607],[0.000045005003312,0.000014802733355,-0.00000000000039,-0.000000000000841,-0.000000000000842,-0.000045004992776,-0.00001480273256,0.00000000000039,0.000000000000841,0.000000000000389,0.000000000000842,0.000000000010535,0.000000000000795,1.09530463974065e-20,9.12074294124767e-21,-5.29715998303557e-21,9.58871805039304e-21,0.000188057519716,0.000188057519716,0.000000000003678,0.000000000003678,0.000000000003678,0.000000000003678,0.000188057519716,0.000000000003678,0.000000000003678,0.044669244183397,0.000000000873734,0.000000000873734,-0.000000000000389,0.044669244183397],[0.000000000000343,-0.000000000000282,0.000028995860885,0.000000010508216,-0.000000000000283,-0.000000000000343,0.000000000000282,-0.00002899585877,-0.000000010508056,-0.000000000000344,0.000000000000283,-3.02902554324408e-21,-2.60734306393649e-21,0.000000000002116,0.00000000000016,-7.77578401984375e-22,2.1658185492956e-21,0.000000000001765,0.000000000001765,0.000115068669021,0.000115068669021,0.000000000001765,0.000000000001765,0.000000000001765,0.000115068669021,0.000000000001765,0.000000000419188,0.027332225173013,0.000000000419281,0.000000000000344,0.027332225173013],[0.000000000001197,-0.000000000000407,0.000000000001197,-0.000000000000407,0.000000008432859,-0.000000000001197,0.000000000000407,-0.000000000001197,0.000000000000407,-0.000055999352869,-0.000000008393053,-3.60272624962884e-20,1.68703640016813e-19,-1.26184005721451e-19,-1.14982110892195e-19,0.000000000527724,0.000000000039805,0.000000000005016,0.000000000005016,0.000000000005016,0.000000000005016,0.000222135877172,0.000222135877172,0.000000000005016,0.000000000005016,0.000222135877172,0.000000001191484,0.000000001191484,0.052763865833615,0.000055999880593,0.052763865833615],[0.00037008934509,0.000121699248251,0.00029898456937,0.000000128500269,0.000000029080309,-0.000370085114215,-0.000121699476666,-0.00029898218616,-0.000000126966037,-0.000197001728533,-0.00000002888319,0.000000004230875,-0.000000000228414,0.00000000238321,0.000000001534231,-0.000000000021286,0.000000000197119,0.001546254464244,0.001546254464244,0.001186511813439,0.001186511813439,0.000781450720272,0.000781450720272,0.001546254464244,0.001186511813439,0.000781450720272,0.367281342098066,0.281831782111082,0.185617746601272,0.000197001707247,0.367281342098066],[0.000000000001163,-0.000000000000445,0.000042992275439,0.000000016244252,-0.000000000000446,-0.000000000001163,0.000000000000445,-0.000042992157408,-0.000000016232959,-0.000000000001164,0.000000000000446,-1.15818420379848e-18,-9.70058094357076e-19,0.000000000118031,0.000000000011292,-2.5647133275799e-19,1.48770690698246e-18,0.000000000004944,0.000000000004944,0.000170627066583,0.000170627066583,0.000000000004944,0.000000000004944,0.000000000004944,0.000170627066583,0.000000000004944,0.000000001174378,0.040528994070497,0.000000001174378,0.000000000001164,0.040528994070497],[-3.07815847012862e-19,1.77607338269513e-19,-1.79030586759454e-22,-3.55443081682964e-19,1.77755181923217e-19,3.07815847012862e-19,-1.77607338269513e-19,1.79030586759482e-22,3.55443081682964e-19,-3.08049263275427e-19,-1.77755181923217e-19,0.0,-2.40741243048404e-35,2.78121963404553e-35,-4.81482486096809e-35,-4.81482486096809e-35,0.0,1.41067699044174e-18,1.41067699044174e-18,1.41067699044174e-18,1.41067699044174e-18,1.41067699044174e-18,1.41067699044174e-18,1.41067699044174e-18,1.41067699044174e-18,1.41067699044174e-18,3.35077666902505e-16,3.35077666902505e-16,3.35077666902505e-16,3.08049263275427e-19,3.35077666902505e-16],[3.55214676539025e-19,6.15631694025725e-19,3.55132991610588e-19,-6.15824507260508e-19,1.68256875766245e-22,-3.55214676539025e-19,-6.15631694025725e-19,-3.55132991610588e-19,6.15824507260508e-19,7.11312157150418e-19,-1.68256875766238e-22,0.0,0.0,0.0,0.0,0.0,6.48872881653903e-36,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,6.70155333805009e-16,6.70155333805009e-16,6.70155333805009e-16,-7.11312157150418e-19,6.70155333805009e-16],[0.000000000001518,-0.000000000000519,0.000000000001518,-0.00000000000052,0.000000005052681,-0.000000000001518,0.000000000000519,-0.000000000001518,0.00000000000052,-0.000057000144995,-0.000000005000213,-5.76530768737394e-20,2.74878254359099e-19,-2.10876685231618e-19,-1.91807335949057e-19,0.000000000695601,0.000000000052468,0.000000000006368,0.000000000006368,0.000000000006368,0.000000000006368,0.000226088831249,0.000226088831249,0.000000000006368,0.000000000006368,0.000226088831249,0.00000000151253,0.000000001512539,0.053702809786271,0.000057000840596,0.053702809786271],[1.92384645627088e-20,-1.11004788369353e-20,-1.92445717767275e-20,-1.10979505467289e-20,2.22284787100169e-20,-1.92384645627088e-20,1.11004788369353e-20,1.92445717767275e-20,1.10979505467289e-20,-5.23311019793209e-24,-2.22284787100169e-20,6.01853107621011e-36,-3.00926553810506e-36,-6.01853107621011e-36,-3.00926553810506e-36,1.02121071727686e-37,6.01853107621011e-36,8.81673119026089e-20,8.81673119026089e-20,8.81673119026089e-20,8.81673119026089e-20,8.81673119026089e-20,8.81673119026089e-20,8.81673119026089e-20,8.81673119026089e-20,8.81673119026089e-20,2.09423541814065e-17,2.09423541814065e-17,2.09423541814065e-17,5.23311019793219e-24,2.09423541814065e-17],[-0.000000000000255,-0.000000000000068,-0.000000000000255,-0.000000000000068,-0.000000000000068,0.000000000000255,0.000000000000068,0.000000000000255,0.000000000000068,0.000000000000255,0.000000000000068,5.04870979341448e-29,-5.04870979341448e-29,5.04870979341448e-29,-2.52435489670724e-29,5.04870979341448e-29,-3.78653234506086e-29,0.000000000001047,0.000000000001047,0.000000000001046,0.000000000001046,0.000000000001045,0.000000000001045,0.000000000001047,0.000000000001046,0.000000000001045,0.000000000248591,0.000000000248482,0.000000000248262,-0.000000000000255,0.000000000248591],[0.000000000003043,-0.00000000000119,0.000099981725169,0.000000038032824,-0.000000000001193,-0.000000000003043,0.00000000000119,-0.000099981444639,-0.000000038011664,-0.000000000003045,0.000000000001193,-1.02993566290659e-19,-8.13596931626359e-20,0.000000000280529,0.00000000002116,-3.66213080289174e-20,1.09047361718688e-19,0.000000000012972,0.000000000012972,0.000396809568419,0.000396809568419,0.000000000012972,0.000000000012972,0.000000000012972,0.000396809568419,0.000000000012972,0.000000003081212,0.094254053402352,0.000000003081194,0.000000000003045,0.094254053402352],[0.000053006367441,0.000017435491226,0.000000000000247,-0.000000000001073,-0.000000000001074,-0.00005300608946,-0.000017435470258,-0.000000000000247,0.000000000001073,-0.000000000000247,0.000000000001074,0.00000000027798,0.000000000020968,7.43643256769869e-20,3.61318275365102e-20,-6.52558345407691e-20,5.30533609591568e-20,0.000221505959272,0.000221505959272,0.000000000004371,0.000000000004371,0.000000000004371,0.000000000004371,0.000221505959272,0.000000000004371,0.000000000004371,0.052614241630622,0.000000001038152,0.000000001038152,0.000000000000247,0.052614241630622],[0.000045004992869,0.000014802732722,-0.000000000000296,-0.00000000000068,-0.00000000000068,-0.000045004986264,-0.000014802732224,0.000000000000296,0.00000000000068,0.000000000000296,0.00000000000068,0.000000000006605,0.000000000000498,2.55664800964595e-21,-4.85091527814753e-21,-7.92137628948553e-21,5.21675872421737e-21,0.000188057520267,0.000188057520267,0.000000000002943,0.000000000002943,0.000000000002943,0.000000000002943,0.000188057520267,0.000000000002943,0.000000000002943,0.04466924431436,0.000000000698957,0.000000000698964,-0.000000000000296,0.04466924431436],[0.000000000000511,-0.000000000000272,0.000028995858937,0.000000010508067,-0.000000000000272,-0.000000000000511,0.000000000000272,-0.000028995857163,-0.000000010507933,-0.000000000000511,0.000000000000272,-2.48408517570461e-21,-1.05310729609535e-21,0.000000000001774,0.000000000000134,2.54404819705002e-21,-2.91151616647009e-21,0.000000000002297,0.000000000002297,0.000115068669686,0.000115068669686,0.000000000002297,0.000000000002297,0.000000000002297,0.000115068669686,0.000000000002297,0.000000000545586,0.02733222533107,0.00000000054572,0.000000000000511,0.02733222533107],[0.000000000001203,-0.000000000000408,0.000000000001203,-0.000000000000408,0.000000008393052,-0.000000000001203,0.000000000000408,-0.000000000001203,0.000000000000408,-0.000055999074394,-0.000000008372047,-1.37952697287813e-20,8.83107258071308e-20,-7.04067995896749e-20,-6.49203172807896e-20,0.000000000278481,0.000000000021005,0.000000000005041,0.000000000005041,0.000000000005041,0.000000000005041,0.000222135877197,0.000222135877197,0.000000000005041,0.000000000005041,0.000222135877197,0.000000001197271,0.000000001197271,0.052763865839397,0.000055999352875,0.052763865839397],[0.000370085157095,0.000121699488011,0.000298982229053,0.000000126977357,0.000000028894522,-0.000370081104662,-0.000121699706791,-0.000298979946357,-0.000000125507833,-0.000197001791831,-0.000000028705717,0.000000004052433,-0.00000000021878,0.000000002282696,0.000000001469523,-0.000000000020388,0.000000000188805,0.001546254639985,0.001546254639985,0.001186511983678,0.001186511983678,0.000781450890491,0.000781450890491,0.001546254639985,0.001186511983678,0.000781450890491,0.36728138384182,0.281831822548018,0.185617787033298,0.000197001771443,0.36728138384182],[0.000000000001171,-0.000000000000429,0.000042992157415,0.000000016232975,-0.00000000000043,-0.000000000001171,0.000000000000429,-0.00004299201359,-0.00000001622325,-0.000000000001172,0.00000000000043,9.88065828055849e-22,9.28431780640584e-21,0.000000000143825,0.000000000009726,1.02506071354839e-20,-2.42736918157575e-24,0.00000000000495,0.00000000000495,0.000170627066613,0.000170627066613,0.00000000000495,0.00000000000495,0.00000000000495,0.000170627066613,0.00000000000495,0.000000001175733,0.040528994077557,0.000000001175736,0.000000000001172,0.040528994077557],[-3.55214235678073e-19,-6.15632434345295e-19,-3.55131855477099e-19,6.15822909422563e-19,-1.6899719538423e-22,3.55214235678073e-19,6.15632434345294e-19,3.55131855477098e-19,-6.15822909422563e-19,-7.11312598011343e-19,1.68997195384233e-22,-4.81482486096809e-35,-9.62964972193618e-35,-4.81482486096809e-35,9.62964972193618e-35,9.62964972193618e-35,3.24436440826951e-36,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,6.70155333805009e-16,6.70155333805009e-16,6.70155333805009e-16,7.11312598011343e-19,6.70155333805009e-16],[-3.55214235678073e-19,-6.15632434345295e-19,-3.55131855477099e-19,6.15822909422563e-19,-1.6899719538423e-22,3.55214235678073e-19,6.15632434345294e-19,3.55131855477098e-19,-6.15822909422563e-19,-7.11312598011343e-19,1.68997195384233e-22,-4.81482486096809e-35,-9.62964972193618e-35,-4.81482486096809e-35,9.62964972193618e-35,9.62964972193618e-35,3.24436440826951e-36,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,6.70155333805009e-16,6.70155333805009e-16,6.70155333805009e-16,7.11312598011343e-19,6.70155333805009e-16],[0.000000000001522,-0.000000000000509,0.000000000001522,-0.00000000000051,0.000000005000223,-0.000000000001522,0.000000000000509,-0.000000000001522,0.00000000000051,-0.000056999981276,-0.000000004987874,-9.70886926554064e-21,7.04993904029312e-20,-3.89888053688466e-20,-4.16106411581419e-20,0.000000000163723,0.000000000012349,0.000000000006371,0.000000000006371,0.000000000006371,0.000000000006371,0.000226088831265,0.000226088831265,0.000000000006371,0.000000000006371,0.000226088831265,0.000000001513207,0.000000001513207,0.05370280979023,0.000057000144999,0.05370280979023],[-0.000000000000118,-0.000000000000577,-0.000000000000118,-0.000000000000577,-0.000000000000578,0.000000000000118,0.000000000000577,0.000000000000118,0.000000000000577,0.000000000000118,0.000000000000578,1.76704842769507e-28,0.0,1.76704842769507e-28,0.0,1.51461293802434e-28,0.0,0.000000000002339,0.000000000002339,0.000000000002339,0.000000000002339,0.000000000002339,0.000000000002339,0.000000000002339,0.000000000002339,0.000000000002339,0.000000000555637,0.000000000555497,0.000000000555486,-0.000000000000118,0.000000000555637],[0.000000000003039,-0.000000000001174,0.000099981444635,0.00000003801168,-0.000000000001177,-0.000000000003039,0.000000000001174,-0.000099981312971,-0.000000038001748,-0.000000000003041,0.000000000001177,-5.43000859224199e-20,-4.25371739170808e-20,0.000000000131664,0.000000000009931,-1.96339662897008e-20,7.42513595836689e-20,0.000000000012933,0.000000000012933,0.000396809568403,0.000396809568403,0.000000000012933,0.000000000012933,0.000000000012933,0.000396809568403,0.000000000012933,0.000000003072028,0.094254053398345,0.000000003072014,0.000000000003041,0.094254053398345],[0.000045004986464,0.000014802732034,-0.000000000000096,-0.000000000000869,-0.00000000000087,-0.000045004958079,-0.000014802729893,0.000000000000096,0.000000000000869,0.000000000000096,0.00000000000087,0.000000000028386,0.000000000002141,6.59827303082891e-21,5.61283404647857e-21,-5.59884113076756e-21,9.67360564322077e-22,0.000188057520787,0.000188057520787,0.000000000003471,0.000000000003471,0.000000000003471,0.000000000003471,0.000188057520787,0.000000000003471,0.000000000003471,0.044669244437692,0.000000000824434,0.000000000824431,-0.000000000000096,0.044669244437692],[0.000000000000345,0.000000000000093,0.000028995856998,0.000000010508298,0.000000000000093,-0.000000000000345,-0.000000000000093,-0.000028995855551,-0.000000010508189,-0.000000000000346,-0.000000000000093,2.69662485182001e-21,4.07344842740604e-21,0.000000000001447,0.000000000000109,-1.8887848367436e-21,1.80499023909905e-22,0.000000000001418,0.000000000001418,0.000115068669029,0.000115068669029,0.00000000000142,0.00000000000142,0.000000000001418,0.000115068669029,0.00000000000142,0.000000000336902,0.027332225174883,0.000000000337199,0.000000000000346,0.027332225174883],[0.000000000001099,-0.000000000000369,0.000051992585163,0.000000019037498,-0.00000000000037,-0.000000000001099,0.000000000000369,-0.000051992504092,-0.000000019031383,-0.0000000000011,0.00000000000037,-2.1991980133154e-20,-1.1634843151058e-20,0.000000000081071,0.000000000006115,-3.39497420442602e-21,2.53269443632336e-20,0.000000000004603,0.000000000004603,0.000206334320444,0.000206334320444,0.000000000004603,0.000000000004603,0.000000000004603,0.000206334320444,0.000000000004603,0.000000001093336,0.049010526977409,0.000000001093341,0.0000000000011,0.049010526977409],[0.000370081130264,0.000121699714237,0.000246987387903,0.000000106477397,0.000000028713156,-0.000370079972126,-0.000121699686432,-0.000246986984438,-0.000000106154811,-0.000197001799824,-0.000000028699732,0.000000001158138,0.000000000027805,0.000000000403465,0.000000000322585,0.000000000017627,0.000000000013425,0.001546254745746,0.001546254745746,0.000980177769601,0.000980177769601,0.000781450992123,0.000781450992123,0.001546254745746,0.000980177769601,0.000781450992123,0.367281408963293,0.232821320836069,0.185617811173973,0.000197001817452,0.367281408963293],[0.000000000001172,-0.000000000000427,0.000042992013591,0.000000016223251,-0.000000000000428,-0.000000000001172,0.000000000000427,-0.000042991817668,-0.000000016210002,-0.000000000001172,0.000000000000428,-3.22181436372506e-21,-6.0244125428766e-21,0.000000000195923,0.000000000013249,-6.83268048659511e-21,3.41846347820117e-21,0.000000000004951,0.000000000004951,0.000170627066615,0.000170627066615,0.000000000004951,0.000000000004951,0.000000000004951,0.000170627066615,0.000000000004951,0.00000000117597,0.040528994078245,0.000000001175971,0.000000000001172,0.040528994078245],[-0.000000000000416,0.000000000000025,-0.000000000000416,0.000000000000025,0.000000000000025,0.000000000000416,-0.000000000000025,0.000000000000416,-0.000000000000025,0.000000000000416,-0.000000000000025,5.04870979341448e-29,0.0,0.0,2.83989925879564e-29,1.0097419586829e-28,2.52435489670724e-29,0.000000000001654,0.000000000001654,0.000000000001654,0.000000000001654,0.000000000001654,0.000000000001654,0.000000000001654,0.000000000001654,0.000000000001654,0.000000000392844,0.000000000392851,0.000000000392783,-0.000000000000416,0.000000000392851],[0.000000000003048,-0.000000000001159,0.00009998131298,0.000000038001763,-0.000000000001162,-0.000000000003048,0.000000000001159,-0.000099981225158,-0.000000037995139,-0.00000000000305,0.000000000001162,-4.72274335950469e-20,-2.47729355031632e-20,0.000000000087822,0.000000000006624,-9.89399374065843e-21,5.40774040951489e-20,0.000000000012944,0.000000000012944,0.000396809568437,0.000396809568437,0.000000000012944,0.000000000012944,0.000000000012944,0.000396809568437,0.000000000012944,0.000000003074606,0.094254053406583,0.000000003074608,0.00000000000305,0.094254053406583],[0.00004500495889,0.000014802729971,0.000000000000715,-0.000000000000792,-0.000000000000792,-0.00004500483922,-0.000014802720945,-0.000000000000715,0.000000000000792,-0.000000000000716,0.000000000000792,0.00000000011967,0.000000000009027,1.43856674676104e-20,2.41741941655553e-20,-3.12765580490884e-20,1.22170746522833e-20,0.000188057523943,0.000188057523943,0.000000000004235,0.000000000004235,0.000000000004235,0.000000000004235,0.000188057523943,0.000000000004235,0.000000000004235,0.044669245187379,0.000000001005848,0.000000001005847,0.000000000000716,0.044669245187379],[0.000000000000517,-0.000000000000168,0.000028995855723,0.000000010507928,-0.000000000000168,-0.000000000000517,0.000000000000168,-0.000028995853452,-0.000000010507757,-0.000000000000518,0.000000000000168,-3.80513320557854e-21,-6.35694959995219e-21,0.000000000002271,0.000000000000171,2.43525758867956e-21,-1.11363021935685e-21,0.000000000002158,0.000000000002158,0.000115068669712,0.000115068669712,0.000000000002159,0.000000000002159,0.000000000002158,0.000115068669712,0.000000000002159,0.000000000512593,0.027332225337022,0.00000000051281,0.000000000000518,0.027332225337022],[0.000000000001098,-0.000000000000371,0.000051992504091,0.00000001903138,-0.000000000000372,-0.000000000001098,0.000000000000371,-0.000051992484212,-0.000000019029881,-0.000000000001098,0.000000000000372,-4.27770900201026e-21,-1.62807145220333e-20,0.000000000019879,0.000000000001499,2.17937837405875e-21,-6.23665252757867e-22,0.000000000004601,0.000000000004601,0.000206334320439,0.000206334320439,0.000000000004601,0.000000000004601,0.000000000004601,0.000206334320439,0.000000000004601,0.000000001092795,0.049010526976034,0.0000000010928,0.000000000001098,0.049010526976034],[0.000370079979351,0.000121699688421,0.000246986991665,0.000000106156796,0.000000028701718,-0.000370079712899,-0.000121699682024,-0.00024698689884,-0.000000106082578,-0.000197001802999,-0.00000002869863,0.000000000266452,0.000000000006397,0.000000000092825,0.000000000074217,0.000000000004056,0.000000000003089,0.001546254775455,0.001546254775455,0.000980177798288,0.000980177798288,0.000781451020806,0.000781451020806,0.001546254775455,0.000980177798288,0.000781451020806,0.367281416020072,0.232821327650054,0.185617817987107,0.000197001807055,0.367281416020072],[0.000000000001171,-0.000000000000432,0.000042991817667,0.000000016209998,-0.000000000000433,-0.000000000001171,0.000000000000432,-0.000042991760201,-0.000000016206112,-0.000000000001171,0.000000000000433,8.09948154337754e-21,5.18105010861631e-21,0.000000000057466,0.000000000003886,-3.41596855728256e-21,3.41764376967912e-21,0.000000000004954,0.000000000004954,0.000170627066612,0.000170627066612,0.000000000004954,0.000000000004954,0.000000000004954,0.000170627066612,0.000000000004954,0.00000000117662,0.040528994077373,0.000000001176616,0.000000000001171,0.040528994077373],[1.23125967305904e-18,-7.10428438230181e-19,-1.23165698210019e-18,-7.10268516353933e-19,1.42262915318897e-18,-1.23125967305904e-18,7.10428438230181e-19,1.23165698210019e-18,7.10268516353933e-19,-3.3217255110999e-22,-1.42262915318897e-18,-1.92592994438724e-34,9.62964972193618e-35,1.92592994438724e-34,9.62964972193618e-35,0.0,-1.92592994438724e-34,5.64270796176697e-18,5.64270796176697e-18,5.64270796176697e-18,5.64270796176697e-18,5.64270796176697e-18,5.64270796176697e-18,5.64270796176697e-18,5.64270796176697e-18,5.64270796176697e-18,0.000000000000001,0.000000000000001,0.000000000000001,3.3217255110999e-22,0.000000000000001],[0.000000000003052,-0.000000000001175,0.000099981225162,0.000000037995123,-0.000000000001178,-0.000000000003052,0.000000000001175,-0.000099981090899,-0.000000037984996,-0.000000000003054,0.000000000001178,-3.78718023589123e-20,-2.99561451469065e-20,0.000000000134263,0.000000000010127,-2.6774249921776e-20,3.46708001905944e-20,0.000000000012982,0.000000000012982,0.000396809568454,0.000396809568454,0.000000000012983,0.000000000012983,0.000000000012982,0.000396809568454,0.000000000012983,0.000000003083722,0.094254053410587,0.000000003083729,0.000000000003054,0.094254053410587],[0.000000000000457,-0.000000000000133,0.000028995853392,0.000000010507792,-0.000000000000133,-0.000000000000457,0.000000000000133,-0.000028995847977,-0.000000010507383,-0.000000000000457,0.000000000000133,2.80313859304783e-22,4.02978928032715e-22,0.000000000005415,0.000000000000408,5.52287048082454e-22,2.9410820673526e-21,0.000000000001888,0.000000000001888,0.000115068669471,0.000115068669471,0.000000000001888,0.000000000001888,0.000000000001888,0.000115068669471,0.000000000001888,0.000000000448378,0.027332225280009,0.000000000448569,0.000000000000457,0.027332225280009],[0.000000000001124,-0.000000000000373,0.000051992484238,0.000000019029879,-0.000000000000374,-0.000000000001124,0.000000000000373,-0.000051992470588,-0.000000019028849,-0.000000000001124,0.000000000000374,-2.17101003660197e-21,8.2139491734752e-21,0.00000000001365,0.00000000000103,8.18959899370607e-22,1.46010887958146e-20,0.0000000000047,0.0000000000047,0.000206334320542,0.000206334320542,0.0000000000047,0.0000000000047,0.0000000000047,0.000206334320542,0.0000000000047,0.000000001116496,0.049010527000547,0.0000000011165,0.000000000001124,0.049010527000547],[0.000370079715131,0.000121699682349,0.000246986901073,0.000000106082903,0.000000028698955,-0.000370079582904,-0.000121699679175,-0.000246986855008,-0.000000106046073,-0.00019700180322,-0.000000028697422,0.000000000132226,0.000000000003175,0.000000000046064,0.00000000003683,0.000000000002013,0.000000000001533,0.001546254784274,0.001546254784274,0.000980177807148,0.000980177807148,0.000781451029665,0.000781451029665,0.001546254784274,0.000980177807148,0.000781451029665,0.367281418114753,0.232821329754478,0.18561782009133,0.000197001805233,0.367281418114753],[0.000000000001178,-0.00000000000043,0.000042991760208,0.000000016206113,-0.000000000000431,-0.000000000001178,0.00000000000043,-0.000042991570005,-0.000000016193252,-0.000000000001179,0.000000000000431,-5.62866053999057e-21,-6.60655533827081e-21,0.000000000190203,0.000000000012862,1.70857629035166e-21,-3.94960567138814e-25,0.00000000000498,0.00000000000498,0.000170627066642,0.000170627066642,0.00000000000498,0.00000000000498,0.00000000000498,0.000170627066642,0.00000000000498,0.000000001182848,0.040528994084529,0.000000001182847,0.000000000001179,0.040528994084529],[0.000000000000509,0.000000000000137,0.000000000000509,0.000000000000136,0.000000000000136,-0.000000000000509,-0.000000000000137,-0.000000000000509,-0.000000000000136,-0.000000000000509,-0.000000000000136,1.0097419586829e-28,7.57306469012171e-29,0.0,7.57306469012171e-29,-1.0097419586829e-28,5.04870979341448e-29,0.000000000002092,0.000000000002092,0.000000000002092,0.000000000002092,0.000000000002092,0.000000000002092,0.000000000002092,0.000000000002092,0.000000000002092,0.00000000049692,0.000000000496876,0.000000000496875,0.000000000000509,0.00000000049692],[0.00000000000301,-0.000000000001178,0.000099981090857,0.000000037984993,-0.00000000000118,-0.00000000000301,0.000000000001178,-0.000099980828643,-0.000000037965215,-0.000000000003012,0.00000000000118,-8.67251483052245e-20,-8.01200357872384e-20,0.000000000262215,0.000000000019778,-7.78691672786081e-21,1.3344365882645e-19,0.000000000012831,0.000000000012831,0.000396809568288,0.000396809568288,0.000000000012831,0.000000000012831,0.000000000012831,0.000396809568288,0.000000000012831,0.000000003047818,0.094254053371074,0.000000003047834,0.000000000003012,0.094254053371074],[0.00000000000044,-0.000000000000069,0.00002899584796,0.000000010507447,-0.000000000000069,-0.00000000000044,0.000000000000069,-0.000028995844214,-0.000000010507164,-0.00000000000044,0.000000000000069,1.73280681569868e-21,5.94808436854956e-21,0.000000000003746,0.000000000000283,5.58080089160712e-22,-2.64962494822728e-21,0.000000000001766,0.000000000001766,0.000115068669404,0.000115068669404,0.000000000001767,0.000000000001767,0.000000000001766,0.000115068669404,0.000000000001767,0.000000000419573,0.027332225263963,0.000000000419806,0.00000000000044,0.027332225263963],[0.000000000001089,-0.000000000000434,0.000051992470553,0.000000019028789,-0.000000000000434,-0.000000000001089,0.000000000000434,-0.000051992451631,-0.000000019027362,-0.000000000001089,0.000000000000434,-3.80234227880474e-21,-1.22255381579197e-20,0.000000000018922,0.000000000001427,-9.41356295958172e-21,9.45100212143867e-21,0.000000000004652,0.000000000004652,0.000206334320403,0.000206334320403,0.000000000004652,0.000000000004652,0.000000000004652,0.000206334320403,0.000000000004652,0.000000001105104,0.049010526967567,0.000000001105092,0.000000000001089,0.049010526967567],[0.000370079584084,0.000121699679355,0.000246986856188,0.000000106046252,0.000000028697601,-0.000370079438777,-0.000121699675866,-0.000246986805567,-0.000000106005778,-0.000197001802189,-0.000000028695917,0.000000000145306,0.000000000003489,0.000000000050621,0.000000000040473,0.000000000002212,0.000000000001684,0.001546254788944,0.001546254788944,0.00098017781183,0.00098017781183,0.000781451034347,0.000781451034347,0.001546254788944,0.00098017781183,0.000781451034347,0.367281419224075,0.232821330866698,0.185617821203464,0.0001970018044,0.367281419224075],[-0.00000000000023,0.000000000000348,-0.000000000000229,0.000000000000348,0.000000000000348,0.00000000000023,-0.000000000000348,0.000000000000229,-0.000000000000348,0.00000000000023,-0.000000000000348,5.04870979341448e-29,1.0097419586829e-28,0.0,1.0097419586829e-28,1.0097419586829e-28,1.0097419586829e-28,0.000000000001654,0.000000000001654,0.000000000001654,0.000000000001654,0.000000000001654,0.000000000001654,0.000000000001654,0.000000000001654,0.000000000001654,0.000000000392801,0.000000000392919,0.000000000392758,-0.00000000000023,0.000000000392919],[0.00000000000303,-0.000000000001189,0.000099980828663,0.000000037965203,-0.000000000001192,-0.00000000000303,0.000000000001189,-0.00009998075618,-0.000000037959736,-0.000000000003032,0.000000000001192,-2.19803828428618e-20,-1.56546661267917e-20,0.000000000072483,0.000000000005467,-1.57454798951749e-21,1.28491798836899e-20,0.000000000012923,0.000000000012923,0.000396809568368,0.000396809568368,0.000000000012923,0.000000000012923,0.000000000012923,0.000396809568368,0.000000000012923,0.000000003069533,0.094254053390089,0.000000003069535,0.000000000003032,0.094254053390089],[0.000000000000434,-0.000000000000079,0.000028995844208,0.000000010507154,-0.000000000000079,-0.000000000000434,0.000000000000079,-0.000028995839445,-0.000000010506795,-0.000000000000434,0.000000000000079,-3.00134397231777e-21,-5.35701689312289e-21,0.000000000004763,0.000000000000359,-1.2025912122201e-21,-7.32633020354971e-22,0.00000000000175,0.00000000000175,0.000115068669381,0.000115068669381,0.000000000001751,0.000000000001751,0.00000000000175,0.000115068669381,0.000000000001751,0.000000000415747,0.027332225258464,0.00000000041599,0.000000000000434,0.027332225258464],[0.000000000001151,-0.000000000000396,0.000051992451693,0.0000000190274,-0.000000000000396,-0.000000000001151,0.000000000000396,-0.000051992406823,-0.000000019024015,-0.000000000001152,0.000000000000396,-1.19953164359819e-21,7.7683386875114e-23,0.00000000004487,0.000000000003384,3.9723666687756e-21,1.13176294330764e-20,0.000000000004832,0.000000000004832,0.00020633432065,0.00020633432065,0.000000000004832,0.000000000004832,0.000000000004832,0.00020633432065,0.000000000004832,0.000000001147715,0.049010527026307,0.000000001147726,0.000000000001152,0.049010527026307],[0.000370079440491,0.000121699676598,0.000246986807281,0.00000010600651,0.000000028696649,-0.000370079272829,-0.000121699672573,-0.000246986748872,-0.000000105959809,-0.000197001801352,-0.000000028694705,0.000000000167662,0.000000000004025,0.000000000058409,0.0000000000467,0.000000000002552,0.000000000001943,0.001546254796313,0.001546254796313,0.000980177818634,0.000980177818634,0.00078145104115,0.00078145104115,0.001546254796313,0.000980177818634,0.00078145104115,0.36728142097434,0.232821332482834,0.185617822819309,0.000197001803904,0.36728142097434],[8.48677295846208e-17,5.60669090524128e-17,-5.68581942265611e-17,2.58249238701781e-17,-8.18931017633138e-17,-8.48677295846208e-17,-5.60669090524128e-17,5.68581942265611e-17,-2.58249238701781e-17,2.80631452673875e-17,8.18931017633138e-17,0.0,-1.23259516440783e-32,1.23259516440783e-32,-3.08148791101958e-33,1.23259516440783e-32,1.23259516440783e-32,4.03759314550087e-16,4.03759314550087e-16,2.47842096122818e-16,2.47842096122818e-16,3.43362837074719e-16,3.43362837074719e-16,4.03759314550087e-16,2.47842096122818e-16,3.43362837074719e-16,0.000000000000096,0.000000000000059,0.000000000000082,-2.80631452673875e-17,0.000000000000096],[0.000000000002901,-0.000000000000994,0.000099980756051,0.000000037959932,-0.000000000000996,-0.000000000002901,0.000000000000994,-0.000099980735008,-0.000000037958344,-0.000000000002903,0.000000000000996,6.99649233819098e-21,-1.41047544274273e-20,0.000000000021043,0.000000000001587,-8.59560694566644e-21,1.58877149747525e-20,0.000000000012174,0.000000000012174,0.000396809567856,0.000396809567856,0.000000000012174,0.000000000012174,0.000000000012174,0.000396809567856,0.000000000012174,0.00000000289159,0.094254053268465,0.000000002891649,0.000000000002903,0.094254053268465],[0.000000000000443,-0.000000000000017,0.000028995839454,0.000000010506857,-0.000000000000017,-0.000000000000443,0.000000000000017,-0.00002899583656,-0.000000010506639,-0.000000000000443,0.000000000000017,-8.51786479180933e-21,2.44316719405363e-22,0.000000000002894,0.000000000000218,-1.14901733311826e-21,-1.14868905338572e-21,0.000000000001759,0.000000000001759,0.000115068669417,0.000115068669417,0.00000000000176,0.00000000000176,0.000000000001759,0.000115068669417,0.00000000000176,0.000000000417743,0.027332225266959,0.000000000417964,0.000000000000443,0.027332225266959],[0.000000000001108,-0.000000000000424,0.00005199240678,0.000000019023986,-0.000000000000425,-0.000000000001108,0.000000000000424,-0.000051992372671,-0.000000019021414,-0.000000000001108,0.000000000000425,-1.47116426660804e-20,-1.53208852695714e-20,0.000000000034109,0.000000000002573,-1.73395817396707e-21,2.46492575622765e-20,0.000000000004709,0.000000000004709,0.000206334320478,0.000206334320478,0.000000000004709,0.000000000004709,0.000000000004709,0.000206334320478,0.000000000004709,0.000000001118435,0.049010526985311,0.000000001118441,0.000000000001108,0.049010526985311],[0.000370079274908,0.000121699672449,0.000246986750952,0.000000105959684,0.00000002869458,-0.000370079105413,-0.000121699668379,-0.000246986691904,-0.000000105912473,-0.000197001800853,-0.000000028692615,0.000000000169495,0.000000000004069,0.000000000059048,0.000000000047211,0.00000000000258,0.000000000001965,0.001546254803999,0.001546254803999,0.000980177826888,0.000980177826888,0.000781451049404,0.000781451049404,0.001546254803999,0.000980177826888,0.000781451049404,0.367281422800194,0.232821334443351,0.185617824779846,0.000197001803432,0.367281422800194],[0.00000000000022,0.000000000000196,0.000000000000221,0.000000000000195,0.000000000000195,-0.00000000000022,-0.000000000000196,-0.000000000000221,-0.000000000000195,-0.000000000000221,-0.000000000000195,5.04870979341448e-29,5.04870979341448e-29,2.52435489670724e-29,7.57306469012171e-29,2.52435489670724e-29,2.52435489670724e-29,0.00000000000117,0.00000000000117,0.000000000001169,0.000000000001169,0.000000000001169,0.000000000001169,0.00000000000117,0.000000000001169,0.000000000001169,0.000000000277834,0.00000000027776,0.000000000277716,0.000000000000221,0.000000000277834],[0.000000000001446,-0.000000000000551,0.000044991321565,0.000000017076733,-0.000000000000552,-0.000000000001446,0.000000000000551,-0.000044991317868,-0.000000017076454,-0.000000000001447,0.000000000000552,-7.15437377331511e-21,2.16973230912745e-21,0.000000000003696,0.000000000000279,-7.11972245851899e-21,1.79525052060108e-21,0.000000000006142,0.000000000006142,0.000178564269058,0.000178564269058,0.000000000006142,0.000000000006142,0.000000000006142,0.000178564269058,0.000000000006142,0.000000001458882,0.042414315306464,0.00000000145888,0.000000000001447,0.042414315306464],[0.000000000001504,-0.000000000000592,0.000054989413492,0.000000020881462,-0.000000000000593,-0.000000000001504,0.000000000000592,-0.000054989384162,-0.00000002087925,-0.000000000001505,0.000000000000593,-1.35690152325121e-20,-5.39656832156143e-21,0.00000000002933,0.000000000002212,-1.81013876188508e-21,2.24335266601696e-20,0.000000000006415,0.000000000006415,0.000218245298989,0.000218245298989,0.000000000006416,0.000000000006416,0.000000000006415,0.000218245298989,0.000000000006416,0.000000001523869,0.051839738007562,0.000000001523893,0.000000000001505,0.051839738007562],[0.000000000000356,-0.000000000000074,0.000028995836473,0.000000010506581,-0.000000000000074,-0.000000000000356,0.000000000000074,-0.000028995833861,-0.000000010506384,-0.000000000000356,0.000000000000074,2.66825120375522e-22,-4.62522333436705e-21,0.000000000002612,0.000000000000197,-1.85378203077166e-21,2.15365206746123e-21,0.000000000001443,0.000000000001443,0.000115068669071,0.000115068669071,0.000000000001444,0.000000000001444,0.000000000001443,0.000115068669071,0.000000000001444,0.000000000342759,0.027332225184957,0.000000000342947,0.000000000000356,0.027332225184957],[0.000000000001118,-0.000000000000383,0.000051992372682,0.000000019021455,-0.000000000000384,-0.000000000001118,0.000000000000383,-0.000051992348738,-0.000000019019649,-0.000000000001119,0.000000000000384,-8.21808361241212e-21,4.13626712522834e-21,0.000000000023944,0.000000000001806,-1.49058047356251e-21,-2.61616235215202e-21,0.000000000004691,0.000000000004691,0.000206334320519,0.000206334320519,0.000000000004691,0.000000000004691,0.000000000004691,0.000206334320519,0.000000000004691,0.000000001114333,0.049010526995048,0.000000001114341,0.000000000001119,0.049010526995048],[0.000370079107357,0.000121699668764,0.000246986693848,0.000000105912856,0.000000028692999,-0.00037007891945,-0.000121699664253,-0.000246986628386,-0.000000105860517,-0.000197001799937,-0.000000028690821,0.000000000187907,0.000000000004511,0.000000000065462,0.000000000052339,0.00000000000286,0.000000000002178,0.001546254811803,0.001546254811803,0.000980177834602,0.000980177834602,0.000781451057117,0.000781451057117,0.001546254811803,0.000980177834602,0.000781451057117,0.367281424653717,0.23282133627564,0.185617826612018,0.000197001802797,0.367281424653717],[0.000000000000104,-0.000000000000006,0.000000000000104,-0.000000000000006,-0.000000000000006,-0.000000000000104,0.000000000000006,-0.000000000000104,0.000000000000006,-0.000000000000104,0.000000000000006,3.78653234506086e-29,0.0,0.0,0.0,1.26217744835362e-29,1.26217744835362e-29,0.000000000000414,0.000000000000414,0.000000000000413,0.000000000000413,0.000000000000413,0.000000000000413,0.000000000000414,0.000000000000413,0.000000000000413,0.00000000009826,0.000000000098145,0.000000000098214,0.000000000000104,0.00000000009826],[0.000000000001388,-0.000000000000464,0.000044991317811,0.000000017076541,-0.000000000000465,-0.000000000001388,0.000000000000464,-0.000044991314351,-0.00000001707628,-0.000000000001389,0.000000000000465,-1.06266112109872e-20,-3.51210326189128e-21,0.00000000000346,0.000000000000261,1.39022827874077e-21,4.99289499398373e-21,0.000000000005811,0.000000000005811,0.000178564268831,0.000178564268831,0.000000000005811,0.000000000005811,0.000000000005811,0.000178564268831,0.000000000005811,0.000000001380303,0.042414315252384,0.00000000138034,0.000000000001389,0.042414315252384],[0.000000000001529,-0.000000000000572,0.000054989384186,0.000000020879269,-0.000000000000573,-0.000000000001529,0.000000000000572,-0.000054989345483,-0.00000002087635,-0.00000000000153,0.000000000000573,-1.09542957006449e-20,-1.53599209344392e-20,0.000000000038703,0.000000000002919,-1.46432615269996e-20,1.61962243636405e-20,0.000000000006479,0.000000000006479,0.000218245299087,0.000218245299087,0.000000000006479,0.000000000006479,0.000000000006479,0.000218245299087,0.000000000006479,0.00000000153901,0.051839738030827,0.000000001539006,0.00000000000153,0.051839738030827],[0.000000000000471,-0.000000000000061,0.000028995833976,0.000000010506398,-0.000000000000061,-0.000000000000471,0.000000000000061,-0.00002899582957,-0.000000010506066,-0.000000000000472,0.000000000000061,-2.1311031158851e-21,4.82538516441258e-23,0.000000000004406,0.000000000000332,1.3101758352822e-21,-7.55895644925725e-22,0.000000000001887,0.000000000001887,0.00011506866953,0.00011506866953,0.000000000001888,0.000000000001888,0.000000000001887,0.00011506866953,0.000000000001888,0.000000000448139,0.027332225293975,0.00000000044836,0.000000000000472,0.027332225293975],[0.000000000001128,-0.000000000000389,0.000051992348748,0.000000019019643,-0.00000000000039,-0.000000000001128,0.000000000000389,-0.000051992323665,-0.000000019017751,-0.000000000001129,0.00000000000039,3.91469202563116e-21,-1.51767450593533e-20,0.000000000025083,0.000000000001892,-4.9743368455509e-21,1.1494399252741e-20,0.000000000004737,0.000000000004737,0.000206334320559,0.000206334320559,0.000000000004737,0.000000000004737,0.000000000004737,0.000206334320559,0.000000000004737,0.000000001125112,0.04901052700456,0.000000001125106,0.000000000001129,0.04901052700456],[0.000370078921914,0.000121699664982,0.000246986630851,0.000000105861245,0.00000002869155,-0.000370078648658,-0.000121699658422,-0.000246986535656,-0.000000105785133,-0.000197001798244,-0.000000028688382,0.000000000273256,0.00000000000656,0.000000000095195,0.000000000076112,0.000000000004159,0.000000000003167,0.001546254822,0.001546254822,0.000980177844387,0.000980177844387,0.000781451066901,0.000781451066901,0.001546254822,0.000980177844387,0.000781451066901,0.367281427075803,0.232821338599975,0.185617828935975,0.000197001802403,0.367281427075803],[-0.000000000000098,0.00000000000011,-0.000000000000098,0.00000000000011,0.00000000000011,0.000000000000098,-0.00000000000011,0.000000000000098,-0.00000000000011,0.000000000000098,-0.00000000000011,0.0,1.26217744835362e-29,-1.26217744835362e-29,1.26217744835362e-29,0.0,2.52435489670724e-29,0.000000000000585,0.000000000000585,0.000000000000585,0.000000000000585,0.000000000000585,0.000000000000585,0.000000000000585,0.000000000000585,0.000000000000585,0.000000000138852,0.000000000138958,0.000000000138845,-0.000000000000098,0.000000000138958],[0.000000000001365,-0.000000000000505,0.000044991314328,0.00000001707624,-0.000000000000506,-0.000000000001365,0.000000000000505,-0.000044991310764,-0.000000017075971,-0.000000000001366,0.000000000000506,1.52378119306079e-21,1.27986307875995e-21,0.000000000003564,0.000000000000269,-2.76676970717999e-22,-1.79298496256838e-21,0.000000000005777,0.000000000005777,0.000178564268738,0.000178564268738,0.000000000005777,0.000000000005777,0.000000000005777,0.000178564268738,0.000000000005777,0.000000001372214,0.042414315230433,0.000000001372226,0.000000000001366,0.042414315230433],[0.000000000001516,-0.000000000000577,0.000054989345471,0.000000020876345,-0.000000000000578,-0.000000000001516,0.000000000000577,-0.00005498918468,-0.000000020864217,-0.000000000001517,0.000000000000578,-6.36833138101821e-20,-3.63390946430399e-20,0.00000000016079,0.000000000012128,4.64824754623958e-21,6.34895797702536e-20,0.000000000006438,0.000000000006438,0.000218245299037,0.000218245299037,0.000000000006438,0.000000000006438,0.000000000006438,0.000218245299037,0.000000000006438,0.000000001529327,0.051839738018884,0.000000001529332,0.000000000001517,0.051839738018884],[0.000000000000433,-0.000000000000173,0.000028995829532,0.000000010505953,-0.000000000000173,-0.000000000000433,0.000000000000173,-0.000028995825201,-0.000000010505627,-0.000000000000434,0.000000000000173,2.4069466960775e-21,-4.85448845201672e-22,0.000000000004332,0.000000000000327,-1.85018770280843e-21,2.6949670322287e-21,0.000000000001852,0.000000000001852,0.000115068669379,0.000115068669379,0.000000000001853,0.000000000001853,0.000000000001852,0.000115068669379,0.000000000001853,0.000000000439987,0.027332225258015,0.000000000440147,0.000000000000434,0.027332225258015],[0.00000000000117,-0.000000000000386,0.000051992323707,0.000000019017754,-0.000000000000387,-0.00000000000117,0.000000000000386,-0.000051992303113,-0.0000000190162,-0.000000000001171,0.000000000000387,-1.63628098754227e-21,1.18636990960225e-21,0.000000000020593,0.000000000001553,2.96930374925261e-22,6.82868271623229e-21,0.000000000004891,0.000000000004891,0.000206334320725,0.000206334320725,0.000000000004891,0.000000000004891,0.000000000004891,0.000206334320725,0.000000000004891,0.000000001161726,0.049010527044068,0.000000001161727,0.000000000001171,0.049010527044068],[0.000162027932708,0.000053286045022,-0.000000000104234,-0.000000000010503,-0.000000000010527,-0.000162027676001,-0.000053286025659,0.000000000104234,0.000000000010503,0.00000000010428,0.000000000010527,0.000000000256707,0.000000000019363,7.28696514671858e-19,-2.15564560101026e-18,1.48927646048533e-18,1.65908829896609e-18,0.000676985999003,0.000676985999003,0.000000000415752,0.000000000415752,0.00000000041575,0.00000000041575,0.000676985999003,0.000000000415752,0.00000000041575,0.160804273840471,0.000000098753372,0.000000098753077,-0.00000000010428,0.160804273840471],[0.000208050719646,0.000068413614143,0.000246986643588,0.000000105796377,0.000000028699652,-0.000208050537205,-0.000068413639822,-0.000246986355532,-0.000000105707236,-0.000197001822309,-0.000000028624919,0.000000000182441,-0.000000000025679,0.000000000288056,0.000000000089141,0.000000000083914,0.000000000074733,0.000869268838083,0.000869268838083,0.000980178272739,0.000980178272739,0.00078145149523,0.00078145149523,0.000869268838083,0.000980178272739,0.00078145149523,0.206477156818752,0.23282144034616,0.185617930676863,0.000197001906223,0.23282144034616],[-0.000000000000057,0.000000000000087,-0.000000000000057,0.000000000000087,0.000000000000087,0.000000000000057,-0.000000000000087,0.000000000000057,-0.000000000000087,0.000000000000057,-0.000000000000087,1.26217744835362e-29,-2.52435489670724e-29,1.26217744835362e-29,-1.26217744835362e-29,1.26217744835362e-29,-2.52435489670724e-29,0.000000000000413,0.000000000000413,0.000000000000414,0.000000000000414,0.000000000000413,0.000000000000413,0.000000000000413,0.000000000000414,0.000000000000413,0.000000000098212,0.000000000098219,0.000000000098189,-0.000000000000057,0.000000000098219],[0.000000000001229,-0.00000000000046,0.000044991310629,0.000000017076016,-0.000000000000461,-0.000000000001229,0.00000000000046,-0.000044991284862,-0.000000017074072,-0.00000000000123,0.000000000000461,-3.87215099106667e-21,-3.46196442395868e-21,0.000000000025767,0.000000000001944,-4.97709889370468e-23,7.17985804476513e-21,0.000000000005211,0.000000000005211,0.0001785642682,0.0001785642682,0.000000000005211,0.000000000005211,0.000000000005211,0.0001785642682,0.000000000005211,0.00000000123773,0.042414315102638,0.00000000123773,0.00000000000123,0.042414315102638],[0.00000000000154,-0.000000000000576,0.000054989184704,0.000000020864218,-0.000000000000577,-0.00000000000154,0.000000000000576,-0.000054989116421,-0.000000020859068,-0.000000000001541,0.000000000000577,-1.87728700603427e-20,-2.46426644521573e-20,0.000000000068284,0.000000000005151,-1.16195324842256e-20,3.56120790191495e-20,0.000000000006527,0.000000000006527,0.000218245299133,0.000218245299133,0.000000000006527,0.000000000006527,0.000000000006527,0.000218245299133,0.000000000006527,0.00000000155029,0.051839738041703,0.000000001550292,0.000000000001541,0.051839738041703],[0.000000000000356,-0.000000000000074,0.000028995825123,0.000000010505725,-0.000000000000075,-0.000000000000356,0.000000000000074,-0.000028995823074,-0.000000010505571,-0.000000000000356,0.000000000000075,-2.06072278870036e-22,-2.95890227111847e-22,0.000000000002049,0.000000000000155,7.37922755553923e-22,-6.48427364332104e-21,0.000000000001443,0.000000000001443,0.000115068669071,0.000115068669071,0.000000000001444,0.000000000001444,0.000000000001443,0.000115068669071,0.000000000001444,0.000000000342751,0.027332225184956,0.000000000342955,0.000000000000356,0.027332225184956],[0.000000000001172,-0.000000000000407,0.000051992303115,0.000000019016179,-0.000000000000408,-0.000000000001172,0.000000000000407,-0.000051992269018,-0.000000019013607,-0.000000000001172,0.000000000000408,-1.50411434795733e-20,-7.93069484461253e-21,0.000000000034097,0.000000000002572,-9.00875276353274e-21,1.16817622752941e-21,0.000000000004923,0.000000000004923,0.00020633432073,0.00020633432073,0.000000000004923,0.000000000004923,0.000000000004923,0.00020633432073,0.000000000004923,0.000000001169276,0.049010527045329,0.000000001169271,0.000000000001172,0.049010527045329],[0.000162027678234,0.000053286025823,-0.000000000102001,-0.00000000001034,-0.000000000010364,-0.000162027524081,-0.000053286014196,0.000000000102001,0.00000000001034,0.000000000102046,0.000000000010364,0.000000000154153,0.000000000011628,4.07414110534098e-19,-1.26437506206161e-18,9.25400413303789e-19,1.00251131445463e-18,0.000676986007623,0.000676986007623,0.00000000040687,0.00000000040687,0.000000000406869,0.000000000406869,0.000676986007623,0.00000000040687,0.000000000406869,0.160804275888154,0.000000096643764,0.000000096643463,-0.000000000102046,0.160804275888154],[0.000208050547141,0.000068413642419,0.00024698636547,0.000000105709826,0.000000028627513,-0.000208049391883,-0.000068413805025,-0.000246984541433,-0.000000105145363,-0.000197001300889,-0.000000028154286,0.000000001155258,-0.000000000162607,0.000000001824038,0.000000000564463,0.000000000531363,0.000000000473226,0.000869268878765,0.000869268878765,0.000980178312186,0.000980178312186,0.000781451534673,0.000781451534673,0.000869268878765,0.000980178312186,0.000781451534673,0.206477166481881,0.232821449716076,0.185617940045621,0.000197001832252,0.232821449716076],[0.000000000000035,0.000000000000061,0.000000000000035,0.000000000000061,0.000000000000061,-0.000000000000035,-0.000000000000061,-0.000000000000035,-0.000000000000061,-0.000000000000035,-0.000000000000061,1.89326617253043e-29,0.0,1.26217744835362e-29,0.0,1.26217744835362e-29,1.26217744835362e-29,0.000000000000277,0.000000000000277,0.000000000000277,0.000000000000277,0.000000000000277,0.000000000000277,0.000000000000277,0.000000000000277,0.000000000000277,0.000000000065884,0.000000000065879,0.000000000065874,0.000000000000035,0.000000000065884],[0.000000000001238,-0.000000000000477,0.00004499128487,0.000000017074056,-0.000000000000478,-0.000000000001238,0.000000000000477,-0.000044991097233,-0.000000017059902,-0.000000000001239,0.000000000000478,-6.78056350358094e-20,-5.19276547813322e-20,0.000000000187637,0.000000000014153,-1.56071684709004e-20,7.47066788900267e-20,0.000000000005267,0.000000000005267,0.000178564268235,0.000178564268235,0.000000000005267,0.000000000005267,0.000000000005267,0.000178564268235,0.000000000005267,0.000000001251098,0.042414315110897,0.000000001251097,0.000000000001239,0.042414315110897],[0.000000000000373,-0.000000000000138,0.000028995823091,0.000000010505507,-0.000000000000138,-0.000000000000373,0.000000000000138,-0.00002899582084,-0.000000010505337,-0.000000000000373,0.000000000000138,-7.6567168131759e-21,-1.97238334249977e-21,0.000000000002251,0.00000000000017,7.6136823682033e-21,2.14134477711073e-21,0.000000000001578,0.000000000001578,0.000115068669139,0.000115068669139,0.000000000001579,0.000000000001579,0.000000000001578,0.000115068669139,0.000000000001579,0.000000000374901,0.027332225201003,0.000000000375054,0.000000000000373,0.027332225201003],[0.000000000001167,-0.000000000000421,0.000051992269013,0.000000019013593,-0.000000000000422,-0.000000000001167,0.000000000000421,-0.000051992158821,-0.000000019005282,-0.000000000001167,0.000000000000422,-3.19229175048032e-20,-2.23513503254751e-20,0.000000000110192,0.000000000008312,-8.29084279067733e-21,3.3565275725298e-20,0.000000000004923,0.000000000004923,0.000206334320711,0.000206334320711,0.000000000004924,0.000000000004924,0.000000000004923,0.000206334320711,0.000000000004924,0.000000001169477,0.049010527040829,0.000000001169479,0.000000000001167,0.049010527040829],[0.000162027525769,0.000053286014324,-0.000000000100313,-0.000000000010213,-0.000000000010236,-0.00016202738277,-0.000053286003538,0.000000000100313,0.000000000010213,0.000000000100357,0.000000000010236,0.000000000142999,0.000000000010786,3.57208900243075e-19,-1.1321306650757e-18,8.34052156997871e-19,9.14406236228899e-19,0.000676986014146,0.000676986014146,0.000000000400154,0.000000000400154,0.000000000400153,0.000000000400153,0.000676986014146,0.000000000400154,0.000000000400153,0.160804277437588,0.000000095048471,0.000000095048178,-0.000000000100357,0.160804277437588],[0.000208049406524,0.000068413808913,0.000246984556078,0.000000105149242,0.00000002815817,-0.000208048579592,-0.000068413925307,-0.000246983250436,-0.000000104745201,-0.000197000935192,-0.000000027819435,0.000000000826932,-0.000000000116393,0.000000001305643,0.000000000404041,0.000000000380349,0.000000000338734,0.00086926893879,0.00086926893879,0.000980178370315,0.000980178370315,0.000781451592794,0.000781451592794,0.00086926893879,0.000980178370315,0.000781451592794,0.206477180739502,0.232821463523393,0.185617953851208,0.000197001315541,0.232821463523393],[0.00000000000046,-0.000000000000081,0.000028995820927,0.000000010505394,-0.000000000000081,-0.00000000000046,0.000000000000081,-0.000028995818766,-0.000000010505232,-0.00000000000046,0.000000000000081,6.93958671452227e-21,5.28622707770858e-21,0.000000000002161,0.000000000000163,-4.44263298339942e-21,-6.36484593353039e-21,0.000000000001853,0.000000000001853,0.000115068669484,0.000115068669484,0.000000000001854,0.000000000001854,0.000000000001853,0.000115068669484,0.000000000001854,0.000000000440146,0.027332225282992,0.000000000440329,0.00000000000046,0.027332225282992],[0.00000000000117,-0.000000000000412,0.000051992158825,0.000000019005291,-0.000000000000413,-0.00000000000117,0.000000000000412,-0.000051991901348,-0.00000001898587,-0.000000000001171,0.000000000000413,-6.72215489920157e-20,-4.49372978372305e-20,0.000000000257477,0.000000000019421,-1.94632821343341e-20,9.31430499182835e-20,0.000000000004925,0.000000000004925,0.000206334320725,0.000206334320725,0.000000000004925,0.000000000004925,0.000000000004925,0.000206334320725,0.000000000004925,0.000000001169731,0.049010527044109,0.000000001169731,0.000000000001171,0.049010527044109],[0.000162027384418,0.00005328600369,-0.000000000098665,-0.000000000010062,-0.000000000010085,-0.000162027244889,-0.000053285993166,0.000000000098665,0.000000000010062,0.000000000098708,0.000000000010085,0.000000000139529,0.000000000010524,3.48088742851189e-19,-1.12883887397865e-18,7.72882111925483e-19,8.48100827731583e-19,0.000676986020546,0.000676986020546,0.000000000393588,0.000000000393588,0.000000000393587,0.000000000393587,0.000676986020546,0.000000000393588,0.000000000393587,0.16080427895775,0.000000093488811,0.000000093488495,-0.000000000098708,0.16080427895775],[0.000000000002202,-0.000000000000905,0.000000000002202,-0.000000000000906,0.000000014617108,-0.000000000002202,0.000000000000905,-0.000000000002202,0.000000000000906,-0.000101998916577,-0.000000014499775,-8.20543978516421e-20,4.98442580148063e-19,-3.99889685114126e-19,-3.26241348375919e-19,0.000000001555547,0.000000000117333,0.000000000009451,0.000000000009451,0.00000000000945,0.00000000000945,0.000404609406309,0.000404609406309,0.000000000009451,0.00000000000945,0.000404609406309,0.000000002244875,0.000000002244694,0.096106746471078,0.000102000472124,0.096106746471078],[0.000208048599821,0.000068413932237,0.000246983270671,0.000000104752118,0.000000013208345,-0.000208045599071,-0.000068414823498,-0.000246979066059,-0.000000102766262,-0.000095000766897,-0.000000012861336,0.00000000300075,-0.000000000891261,0.000000004204612,0.000000001985856,-0.000000000281381,0.000000000347009,0.000869269023654,0.000869269023654,0.000980178450635,0.000980178450635,0.000376842275533,0.000376842275533,0.000869269023654,0.000980178450635,0.000376842275533,0.206477200897293,0.23282148260171,0.089511228531584,0.000095000485516,0.23282148260171],[0.000000000000517,-0.000000000000168,0.000028995818824,0.000000010505144,-0.000000000000168,-0.000000000000517,0.000000000000168,-0.000028995816218,-0.000000010504948,-0.000000000000518,0.000000000000168,6.46772844072639e-22,-7.05346902245003e-21,0.000000000002606,0.000000000000197,-1.85317063201568e-21,2.39166485737801e-21,0.000000000002158,0.000000000002158,0.000115068669712,0.000115068669712,0.000000000002159,0.000000000002159,0.000000000002158,0.000115068669712,0.000000000002159,0.000000000512611,0.027332225337072,0.000000000512717,0.000000000000518,0.027332225337072],[0.000162027246082,0.00005328599323,-0.000000000097471,-0.000000000009998,-0.000000000010022,-0.000162027141427,-0.000053285985336,0.000000000097471,0.000000000009998,0.000000000097514,0.000000000010022,0.000000000104656,0.000000000007894,2.5903456857661e-19,-8.50801640286229e-19,5.64440313606271e-19,6.51224310076745e-19,0.000676986025126,0.000676986025126,0.00000000038885,0.00000000038885,0.000000000388848,0.000000000388848,0.000676986025126,0.00000000038885,0.000000000388848,0.160804280045555,0.000000092363331,0.000000092363047,-0.000000000097514,0.160804280045555],[0.000000000001162,-0.000000000000541,0.000000000001162,-0.000000000000541,0.000000007693535,-0.000000000001162,0.000000000000541,-0.000000000001162,0.000000000000541,-0.000053999421996,-0.000000007690459,1.27858898635648e-20,1.75298246977512e-20,-1.13815968890816e-20,-8.35137379187449e-23,0.000000000040768,0.000000000003075,0.000000000005087,0.000000000005087,0.000000000005086,0.000000000005086,0.000214205123976,0.000214205123976,0.000000000005087,0.000000000005086,0.000214205123976,0.000000001208262,0.000000001208068,0.05088007649288,0.000053999462763,0.05088007649288],[0.000000000001059,-0.000000000000365,0.000000000001059,-0.000000000000365,0.00000000680624,-0.000000000001059,0.000000000000365,-0.000000000001059,0.000000000000365,-0.000047999363906,-0.000000006799457,-1.26306460763852e-21,2.68809700037731e-20,-2.28738972417001e-20,-1.58449173647563e-20,0.000000000089926,0.000000000006783,0.000000000004445,0.000000000004445,0.000000000004445,0.000000000004445,0.000190404282406,0.000190404282406,0.000000000004445,0.000000000004445,0.000190404282406,0.000000001055719,0.000000001055718,0.045226669995398,0.000047999453832,0.045226669995398],[0.000000000001007,-0.000000000000362,0.000042993491506,0.000000015969029,-0.000000000000363,-0.000000000001007,0.000000000000362,-0.000042993169452,-0.000000015944737,-0.000000000001008,0.000000000000363,-7.26055571333531e-20,-6.87184435839942e-20,0.000000000322054,0.000000000024292,-1.67805173035616e-20,1.16193464796594e-19,0.000000000004249,0.000000000004249,0.000170626983989,0.000170626983989,0.000000000004249,0.000000000004249,0.000000000004249,0.000170626983989,0.000000000004249,0.000000001009286,0.040528974452114,0.000000001009286,0.000000000001008,0.040528974452114],[0.000208045617739,0.000068414829131,0.000203985594235,0.000000086802491,0.000000012866964,-0.000208044978571,-0.000068414941891,-0.000203985023459,-0.000000086483813,-0.00009500082783,-0.00000001282246,0.000000000639168,-0.00000000011276,0.000000000570776,0.000000000318678,-0.000000000042251,0.000000000044504,0.000869269101026,0.000869269101026,0.000809551544968,0.000809551544968,0.000376842349642,0.000376842349642,0.000869269101026,0.000809551544968,0.000376842349642,0.206477219275323,0.192292526753503,0.089511246134664,0.000095000785579,0.206477219275323],[0.00000000000063,-0.000000000000206,0.000028995816331,0.00000001050491,-0.000000000000206,-0.00000000000063,0.000000000000206,-0.000028995812175,-0.000000010504596,-0.00000000000063,0.000000000000206,-5.14971529128348e-22,-3.16268501058429e-21,0.000000000004156,0.000000000000313,5.74433718462246e-22,-3.80613976685005e-22,0.000000000002629,0.000000000002629,0.000115068670158,0.000115068670158,0.00000000000263,0.00000000000263,0.000000000002629,0.000115068670158,0.00000000000263,0.000000000624582,0.027332225443131,0.000000000624651,0.00000000000063,0.027332225443131],[0.000162027142979,0.000053285985462,-0.000000000095919,-0.000000000009873,-0.000000000009896,-0.000162026976726,-0.000053285972922,0.000000000095919,0.000000000009873,0.000000000095961,0.000000000009896,0.000000000166253,0.00000000001254,3.87146259746686e-19,-1.27250462220235e-18,9.07739124948805e-19,9.71024086670557e-19,0.000676986031134,0.000676986031134,0.000000000382671,0.000000000382671,0.00000000038267,0.00000000038267,0.000676986031134,0.000000000382671,0.00000000038267,0.160804281472711,0.000000090895655,0.000000090895404,-0.000000000095961,0.160804281472711],[0.000000000001251,-0.000000000000572,0.000000000001251,-0.000000000000573,0.000000007690428,-0.000000000001251,0.000000000000572,-0.000000000001251,0.000000000000573,-0.000053999409329,-0.000000007689466,8.14435649550532e-22,-3.8309609912429e-23,-2.98866595520714e-21,9.59560237009315e-21,0.000000000012756,0.000000000000962,0.000000000005461,0.000000000005461,0.000000000005461,0.000000000005461,0.000214205124331,0.000214205124331,0.000000000005461,0.000000000005461,0.000214205124331,0.000000001297233,0.000000001297048,0.050880076577171,0.000053999422085,0.050880076577171],[0.000000000001062,-0.000000000000365,0.000000000001062,-0.000000000000366,0.000000006799457,-0.000000000001062,0.000000000000365,-0.000000000001062,0.000000000000366,-0.000047999180716,-0.000000006785639,-6.17216162134214e-21,6.28641572130779e-20,-4.58360012999946e-20,-3.99617879239591e-20,0.000000000183193,0.000000000013818,0.000000000004457,0.000000000004457,0.000000000004457,0.000000000004457,0.000190404282419,0.000190404282419,0.000000000004457,0.000000000004457,0.000190404282419,0.000000001058676,0.000000001058676,0.045226669998459,0.000047999363909,0.045226669998459],[0.000000000001009,-0.00000000000036,0.000042993169454,0.000000015944739,-0.000000000000361,-0.000000000001009,0.00000000000036,-0.00004299298288,-0.000000015930666,-0.00000000000101,0.000000000000361,-5.65112628882931e-20,-3.76440900476902e-20,0.000000000186574,0.000000000014073,-1.52991985871409e-20,6.19648995534399e-20,0.000000000004254,0.000000000004254,0.000170626983998,0.000170626983998,0.000000000004254,0.000000000004254,0.000000000004254,0.000170626983998,0.000000000004254,0.000000001010451,0.040528974454082,0.000000001010452,0.00000000000101,0.040528974454082],[0.000208044987116,0.000068414943697,0.000203985032006,0.000000086485613,0.000000012824262,-0.000208043804144,-0.000068415221295,-0.000203983980969,-0.000000085985493,-0.000095000903505,-0.000000012761215,0.000000001182972,-0.000000000277598,0.000000001051037,0.00000000050012,-0.000000000067124,0.000000000063047,0.000869269135483,0.000869269135483,0.000809551578891,0.000809551578891,0.000376842383562,0.000376842383562,0.000869269135483,0.000809551578891,0.000376842383562,0.206477227459919,0.192292534811364,0.089511254191706,0.000095000836381,0.206477227459919],[0.000000000000604,-0.000000000000204,0.000028995812149,0.000000010504598,-0.000000000000204,-0.000000000000604,0.000000000000204,-0.000028995800774,-0.00000001050374,-0.000000000000604,0.000000000000204,1.8895937410267e-22,-2.04385792704514e-21,0.000000000011375,0.000000000000858,1.00913964760454e-21,3.50320491088038e-21,0.00000000000253,0.00000000000253,0.000115068670055,0.000115068670055,0.00000000000253,0.00000000000253,0.00000000000253,0.000115068670055,0.00000000000253,0.000000000600863,0.027332225418625,0.000000000600924,0.000000000000604,0.027332225418625],[0.00016202697923,0.00005328597309,-0.000000000093415,-0.000000000009706,-0.000000000009728,-0.000162026698921,-0.000053285951947,0.000000000093415,0.000000000009706,0.000000000093455,0.000000000009728,0.000000000280309,0.000000000021143,6.7989391835639e-19,-2.09643521951043e-18,1.45557230141791e-18,1.62638015098231e-18,0.000676986040785,0.000676986040785,0.000000000372716,0.000000000372716,0.000000000372715,0.000000000372715,0.000676986040785,0.000000000372716,0.000000000372715,0.160804283765009,0.000000088531058,0.000000088530819,-0.000000000093455,0.160804283765009],[0.000000000001095,-0.000000000000563,0.000000000001095,-0.000000000000563,0.000000007689475,-0.000000000001095,0.000000000000563,-0.000000000001095,0.000000000000563,-0.000053999400971,-0.000000007688857,2.03353306308212e-21,1.32495258085912e-20,-5.70794002597978e-22,-4.80178244612837e-22,0.000000000008202,0.000000000000619,0.000000000004888,0.000000000004888,0.000000000004887,0.000000000004887,0.000214205123712,0.000214205123712,0.000000000004888,0.000000000004887,0.000214205123712,0.000000001161065,0.000000001160908,0.050880076430087,0.000053999409173,0.050880076430087],[0.000208043824489,0.000068415224338,0.000203984001319,0.000000085988523,0.000000012764251,-0.000208040704007,-0.000068415956595,-0.000203981228859,-0.00000008466929,-0.000095001100925,-0.000000012597944,0.000000003120482,-0.000000000732257,0.00000000277246,0.000000001319233,-0.000000000177061,0.000000000166307,0.000869269215969,0.000869269215969,0.000809551659659,0.000809551659659,0.000376842464323,0.000376842464323,0.000869269215969,0.000809551659659,0.000376842464323,0.206477246577745,0.192292553996019,0.089511273374899,0.000095000923864,0.206477246577745],[-0.00000000000023,0.000000000000348,-0.000000000000229,0.000000000000348,0.000000000000348,0.00000000000023,-0.000000000000348,0.000000000000229,-0.000000000000348,0.00000000000023,-0.000000000000348,5.04870979341448e-29,0.0,5.04870979341448e-29,1.0097419586829e-28,0.0,0.0,0.000000000001654,0.000000000001654,0.000000000001654,0.000000000001654,0.000000000001654,0.000000000001654,0.000000000001654,0.000000000001654,0.000000000001654,0.000000000392831,0.000000000392851,0.000000000392797,-0.00000000000023,0.000000000392851],[0.000000000000592,-0.00000000000019,0.000028995800761,0.000000010503754,-0.000000000000191,-0.000000000000592,0.00000000000019,-0.000028995785623,-0.000000010502612,-0.000000000000592,0.000000000000191,-3.21015043046353e-21,-1.26931215881593e-21,0.000000000015138,0.000000000001142,-1.82896388609178e-21,1.11605688171905e-21,0.000000000002466,0.000000000002466,0.000115068670007,0.000115068670007,0.000000000002467,0.000000000002467,0.000000000002466,0.000115068670007,0.000000000002467,0.000000000585856,0.027332225407119,0.000000000585915,0.000000000000592,0.027332225407119],[0.000162026712157,0.000053285952925,-0.000000000080176,-0.000000000008737,-0.000000000008756,-0.000162024611821,-0.000053285794499,0.000000000080176,0.000000000008737,0.000000000080211,0.000000000008756,0.000000002100336,0.000000000158425,4.4043174329731e-18,-1.34778336385594e-17,9.49923716724466e-18,1.0562470600392e-17,0.000676986091902,0.000676986091902,0.000000000320067,0.000000000320067,0.000000000320066,0.000000000320066,0.000676986091902,0.000000000320067,0.000000000320066,0.160804295906725,0.000000076025477,0.000000076025241,-0.000000000080211,0.160804295906725],[0.000000000001176,-0.000000000000609,0.000000000001176,-0.00000000000061,0.00000000768881,-0.000000000001176,0.000000000000609,-0.000000000001176,0.00000000000061,-0.000053999396104,-0.000000007688437,-6.44848376873585e-21,-2.47521065460395e-21,-2.88226379046575e-21,-9.6378241242503e-21,0.000000000004947,0.000000000000373,0.000000000005257,0.000000000005257,0.000000000005257,0.000000000005257,0.000214205124032,0.000214205124032,0.000000000005257,0.000000000005257,0.000214205124032,0.00000000124881,0.000000001248639,0.05088007650614,0.000053999401051,0.05088007650614],[0.00010702480087,0.000035194409196,0.000203981282075,0.000000084676836,0.000000012605504,-0.00010702408752,-0.00003519496937,-0.000203977787835,-0.000000084040587,-0.000095001038655,-0.000000012108668,0.00000000071335,-0.000000000560174,0.00000000349424,0.000000000636249,0.000000000115512,0.000000000496836,0.000447186287231,0.000447186287231,0.000809551870873,0.000809551870873,0.000376842675525,0.000376842675525,0.000447186287231,0.000809551870873,0.000376842675525,0.106220019757574,0.192292604165742,0.089511323541758,0.000095001154167,0.192292604165742],[0.0001010159277,0.000033221550935,-0.000000000028647,-0.000000000004027,-0.000000000004034,-0.000101015107788,-0.00003322148909,0.000000000028647,0.000000000004027,0.000000000028662,0.000000000004034,0.000000000819913,0.000000000061845,1.05083096977051e-18,-2.97924776157093e-18,2.0552181424463e-18,2.42085762144828e-18,0.000422083025824,0.000422083025824,0.000000000114812,0.000000000114812,0.000000000114815,0.000000000114815,0.000422083025824,0.000000000114812,0.000000000114815,0.100257249881017,0.000000027271352,0.000000027271876,-0.000000000028662,0.100257249881017],[0.000000000000301,0.000000000000149,0.000000000000301,0.000000000000149,0.000000000000149,-0.000000000000301,-0.000000000000149,-0.000000000000301,-0.000000000000149,-0.000000000000301,-0.000000000000149,2.01948391736579e-28,5.04870979341448e-29,1.51461293802434e-28,7.57306469012171e-29,2.52435489670724e-28,5.04870979341448e-29,0.000000000001333,0.000000000001333,0.000000000001333,0.000000000001333,0.000000000001333,0.000000000001333,0.000000000001333,0.000000000001333,0.000000000001333,0.000000000316714,0.000000000316683,0.000000000316723,0.000000000000301,0.000000000316723],[0.000000000000564,-0.000000000000087,0.000028995785596,0.000000010502715,-0.000000000000087,-0.000000000000564,0.000000000000087,-0.000028995784154,-0.000000010502607,-0.000000000000564,0.000000000000087,-2.5860957707193e-21,-2.91249507343371e-21,0.000000000001442,0.000000000000109,3.26996956357982e-21,3.77084057636969e-22,0.000000000002264,0.000000000002264,0.000115068669897,0.000115068669897,0.000000000002265,0.000000000002265,0.000000000002264,0.000115068669897,0.000000000002265,0.000000000537861,0.027332225381074,0.000000000537924,0.000000000000564,0.027332225381074],[0.000162024633059,0.000053285796058,-0.000000000058934,-0.000000000007192,-0.000000000007207,-0.000162022910003,-0.00005328566609,0.000000000058934,0.000000000007192,0.000000000058959,0.000000000007207,0.000000001723056,0.000000000129968,2.74696527786841e-18,-8.10698452389779e-18,5.64173911042711e-18,6.44251738767893e-18,0.000676986173912,0.000676986173912,0.000000000235617,0.000000000235617,0.000000000235616,0.000000000235616,0.000676986173912,0.000000000235617,0.000000000235616,0.160804315386587,0.000000055966133,0.000000055965904,-0.000000000058959,0.160804315386587],[0.000000000000866,-0.000000000000215,0.000000000000866,-0.000000000000216,0.000000007688831,-0.000000000000866,0.000000000000215,-0.000000000000866,0.000000000000216,-0.000053999390793,-0.000000007688454,1.32251791124318e-21,-9.67179247482912e-21,2.61971795651113e-22,-2.25582386777962e-22,0.000000000005,0.000000000000377,0.000000000003541,0.000000000003541,0.000000000003541,0.000000000003541,0.000214205122801,0.000214205122801,0.000000000003541,0.000000000003541,0.000214205122801,0.000000000841045,0.000000000840978,0.050880076213687,0.000053999395794,0.050880076213687],[0.000107024098218,0.000035194971068,0.000203977798535,0.000000084042278,0.000000012110361,-0.000107023361963,-0.000035195549229,-0.000203974192097,-0.000000083385599,-0.000095000930139,-0.000000011597572,0.000000000736255,-0.000000000578161,0.000000003606438,0.000000000656678,0.000000000119221,0.000000000512789,0.000447186329673,0.000447186329673,0.000809551913342,0.000809551913342,0.000376842717991,0.000376842717991,0.000447186329673,0.000809551913342,0.000376842717991,0.106220029838638,0.192292614253302,0.089511333628545,0.00009500104936,0.192292614253302],[0.000101015112851,0.000033221489479,-0.000000000023583,-0.000000000003641,-0.000000000003647,-0.000101015025078,-0.000033221482858,0.000000000023583,0.000000000003641,0.000000000023595,0.000000000003647,0.000000000087774,0.000000000006621,1.2760200897225e-19,-2.55666729369788e-19,1.89591075942164e-19,2.22108003032782e-19,0.000422083045398,0.000422083045398,0.000000000094705,0.000000000094705,0.000000000094707,0.000000000094707,0.000422083045398,0.000000000094705,0.000000000094707,0.100257254530495,0.000000022495234,0.000000022495743,-0.000000000023595,0.100257254530495],[9.85054775919917e-18,-5.68439371851691e-18,-2.91796380246793e-17,3.96198150414958e-17,-3.39411539570124e-17,-9.85054775919917e-18,5.68439371851692e-18,2.91796380246793e-17,-3.96198150414958e-17,-1.9348047375474e-17,3.39411539570124e-17,4.62223186652937e-33,6.16297582203915e-33,-1.23259516440783e-32,-6.16297582203915e-33,9.24446373305873e-33,0.0,4.51416636941358e-17,4.51416636941358e-17,1.95281927288642e-16,1.95281927288642e-16,1.54974023007743e-16,1.54974023007743e-16,4.51416636941358e-17,1.95281927288642e-16,1.54974023007743e-16,0.000000000000011,0.000000000000046,0.000000000000037,1.9348047375474e-17,0.000000000000046],[0.000000000000668,-0.000000000000093,0.000028995784258,0.0000000105026,-0.000000000000093,-0.000000000000668,0.000000000000093,-0.000028995783118,-0.000000010502514,-0.000000000000668,0.000000000000093,2.33276655844094e-21,4.13427236736719e-21,0.00000000000114,0.000000000000086,5.83822824259898e-21,5.47459995581632e-21,0.000000000002676,0.000000000002676,0.00011506867031,0.00011506867031,0.000000000002677,0.000000000002677,0.000000000002676,0.00011506867031,0.000000000002677,0.000000000635711,0.027332225479109,0.000000000635758,0.000000000000668,0.027332225479109],[0.000162022922604,0.000053285667025,-0.00000000004633,-0.000000000006265,-0.000000000006277,-0.00016202237668,-0.000053285625847,0.00000000004633,0.000000000006265,0.00000000004635,0.000000000006277,0.000000000545924,0.000000000041178,7.1469753616721e-19,-2.01621973342169e-18,1.40930809622017e-18,1.66618641335059e-18,0.000676986222584,0.000676986222584,0.000000000185538,0.000000000185538,0.000000000185537,0.000000000185537,0.000676986222584,0.000000000185538,0.000000000185537,0.160804326947584,0.000000044070739,0.000000044070513,-0.00000000004635,0.160804326947584],[0.000000000000773,-0.000000000000377,0.000000000000772,-0.000000000000377,0.000000007688293,-0.000000000000773,0.000000000000377,-0.000000000000772,0.000000000000377,-0.000053999386234,-0.000000007687956,-7.0623372074199e-23,1.01368590979931e-21,1.9178425849854e-21,1.02400466482349e-21,0.000000000004466,0.000000000000337,0.000000000003411,0.000000000003411,0.000000000003411,0.000000000003411,0.00021420512243,0.00021420512243,0.000000000003411,0.000000000003411,0.00021420512243,0.000000000810318,0.000000000810249,0.050880076125745,0.0000539993907,0.050880076125745],[0.000107023367089,0.000035195551523,0.000098989677389,0.000000042280879,0.000000011599865,-0.000107023014725,-0.00003519557387,-0.000098989389219,-0.000000042189766,-0.000095000788213,-0.000000011547084,0.000000000352363,-0.000000000022347,0.00000000028817,0.000000000091113,0.000000000147056,0.000000000052782,0.000447186351845,0.000447186351845,0.000392879523243,0.000392879523243,0.000376842738343,0.000376842738343,0.000447186351845,0.000392879523243,0.000376842738343,0.106220035105116,0.093320550993565,0.089511338462767,0.00009500093527,0.106220035105116],[0.000000000002396,-0.000000000001048,0.000104984522231,0.000000041105961,-0.00000000000105,-0.000000000002396,0.000000000001048,-0.000104982628877,-0.000000040963148,-0.000000000002396,0.00000000000105,-5.56642394326132e-19,-3.83136689337391e-19,0.000000001893354,0.000000000142813,-6.02571971442664e-20,6.56000561803293e-19,0.000000000010379,0.000000000010379,0.000416672420087,0.000416672420087,0.000000000010379,0.000000000010379,0.000000000010379,0.000416672420087,0.000000000010379,0.000000002465383,0.098972070382754,0.000000002465297,0.000000000002396,0.098972070382754],[0.000101015025621,0.000033221482868,-0.00000000002304,-0.000000000003632,-0.000000000003638,-0.000101014992108,-0.00003322148034,0.00000000002304,0.000000000003632,0.000000000023052,0.000000000003638,0.000000000033513,0.000000000002528,8.82992039445629e-21,-9.98544033452201e-20,6.72885546606003e-20,6.95265200806374e-20,0.000422083047457,0.000422083047457,0.000000000092569,0.000000000092569,0.000000000092571,0.000000000092571,0.000422083047457,0.000000000092569,0.000000000092571,0.100257255019687,0.000000021987965,0.000000021988433,-0.000000000023052,0.100257255019687],[0.000000000000649,0.000000000000379,0.000000000000649,0.000000000000378,0.000000000000379,-0.000000000000649,-0.000000000000379,-0.000000000000649,-0.000000000000378,-0.000000000000649,-0.000000000000379,6.05845175209737e-28,2.52435489670724e-28,6.05845175209737e-28,2.01948391736579e-28,5.04870979341448e-28,3.02922587604869e-28,0.000000000002981,0.000000000002981,0.000000000002981,0.000000000002981,0.000000000002981,0.000000000002981,0.000000000002981,0.000000000002981,0.000000000002981,0.00000000070815,0.00000000070819,0.000000000708192,0.000000000000649,0.000000000708192],[0.000000000000888,0.000000000000102,0.000028995783338,0.00000001050271,0.000000000000102,-0.000000000000888,-0.000000000000102,-0.000028995782231,-0.000000010502626,-0.000000000000889,-0.000000000000102,6.40508808857754e-22,-6.84310367418136e-21,0.000000000001108,0.000000000000084,-7.12361208551803e-21,3.93890783398913e-22,0.000000000003549,0.000000000003549,0.000115068671185,0.000115068671185,0.000000000003549,0.000000000003549,0.000000000003549,0.000115068671185,0.000000000003549,0.000000000842968,0.02733222568706,0.000000000843083,0.000000000000889,0.02733222568706],[0.000162022382474,0.000053285626275,-0.000000000040536,-0.00000000000584,-0.000000000005851,-0.00016202188548,-0.000053285588788,0.000000000040536,0.00000000000584,0.000000000040553,0.000000000005851,0.000000000496994,0.000000000037488,5.68530598950724e-19,-1.57112571552557e-18,1.05419185306693e-18,1.28084933492847e-18,0.000676986244959,0.000676986244959,0.000000000162529,0.000000000162529,0.000000000162528,0.000000000162528,0.000676986244959,0.000000000162529,0.000000000162528,0.160804332262541,0.000000038605348,0.000000038605138,-0.000000000040553,0.160804332262541],[0.000000000000726,-0.000000000000457,0.000000000000726,-0.000000000000458,0.000000007687875,-0.000000000000726,0.000000000000457,-0.000000000000726,0.000000000000458,-0.000053999381155,-0.000000007687496,1.23299981344906e-20,1.93684047604123e-21,-5.05268444068644e-21,-2.86338262558034e-21,0.000000000005032,0.00000000000038,0.000000000003406,0.000000000003406,0.000000000003405,0.000000000003405,0.000214205122245,0.000214205122245,0.000000000003406,0.000000000003405,0.000214205122245,0.000000000808935,0.000000000808865,0.050880076081795,0.000053999386187,0.050880076081795],[0.000107023019662,0.000035195574648,0.000098989394157,0.00000004219054,0.00000001154786,-0.000107022540855,-0.000035195605014,-0.000098989002579,-0.000000042066731,-0.000095000593327,-0.000000011476138,0.000000000478807,-0.000000000030366,0.000000000391578,0.000000000123809,0.000000000199827,0.000000000071722,0.000447186371424,0.000447186371424,0.000392879542841,0.000392879542841,0.000376842757939,0.000376842757939,0.000447186371424,0.000392879542841,0.000376842757939,0.106220039755718,0.093320555648693,0.08951134311753,0.000095000793153,0.106220039755718],[0.000000000002401,-0.000000000001057,0.000104982628883,0.000000040963139,-0.000000000001059,-0.000000000002401,0.000000000001057,-0.000104982374903,-0.000000040943981,-0.000000000002402,0.000000000001059,-8.22580050474684e-20,-6.40668665146201e-20,0.00000000025398,0.000000000019157,-2.90437047506398e-21,9.69895800198131e-20,0.000000000010414,0.000000000010414,0.000416672420109,0.000416672420109,0.000000000010414,0.000000000010414,0.000000000010414,0.000416672420109,0.000000000010414,0.000000002473724,0.098972070388071,0.000000002473639,0.000000000002402,0.098972070388071],[0.00010101499257,0.000033221480396,-0.000000000022577,-0.000000000003577,-0.000000000003583,-0.00010101495712,-0.000033221477722,0.000000000022577,0.000000000003577,0.000000000022589,0.000000000003583,0.00000000003545,0.000000000002674,3.18980812857422e-20,-8.64853988096258e-20,7.94585786697574e-20,9.63538513293878e-20,0.00042208304927,0.00042208304927,0.000000000090722,0.000000000090722,0.000000000090723,0.000000000090723,0.00042208304927,0.000000000090722,0.000000000090723,0.100257255450318,0.000000021549088,0.000000021549522,-0.000000000022589,0.100257255450318],[0.000000000000093,0.000000000000161,0.000000000000093,0.000000000000161,0.000000000000161,-0.000000000000093,-0.000000000000161,-0.000000000000093,-0.000000000000161,-0.000000000000093,-0.000000000000161,3.78653234506086e-29,0.0,3.78653234506086e-29,0.0,3.78653234506086e-29,0.0,0.000000000000739,0.000000000000739,0.00000000000074,0.00000000000074,0.00000000000074,0.00000000000074,0.000000000000739,0.00000000000074,0.00000000000074,0.000000000175613,0.000000000175737,0.000000000175682,0.000000000000093,0.000000000175737],[0.00000000000075,0.000000000000236,0.000028995782093,0.00000001050276,0.000000000000236,-0.00000000000075,-0.000000000000236,-0.000028995780906,-0.00000001050267,-0.000000000000751,-0.000000000000236,7.57704105395501e-22,-4.88621070733909e-21,0.000000000001186,0.000000000000089,5.64097807922196e-21,2.01787433819655e-21,0.000000000003121,0.000000000003121,0.000115068670638,0.000115068670638,0.000000000003121,0.000000000003121,0.000000000003121,0.000115068670638,0.000000000003121,0.000000000741399,0.027332225557013,0.000000000741446,0.000000000000751,0.027332225557013],[0.000162021889756,0.000053285589103,-0.000000000036258,-0.000000000005528,-0.000000000005537,-0.000162021619066,-0.000053285568686,0.000000000036258,0.000000000005528,0.000000000036274,0.000000000005537,0.00000000027069,0.000000000020418,2.61014548157378e-19,-8.25313953485005e-19,5.60942677321319e-19,6.53623725158039e-19,0.000676986261475,0.000676986261475,0.000000000145555,0.000000000145555,0.000000000145554,0.000000000145554,0.000676986261475,0.000000000145555,0.000000000145554,0.160804336185449,0.000000034573697,0.000000034573483,-0.000000000036274,0.160804336185449],[0.000000000000853,-0.000000000000423,0.000000000000853,-0.000000000000424,0.00000000768753,-0.000000000000853,0.000000000000423,-0.000000000000853,0.000000000000424,-0.000053999377251,-0.000000007687226,-2.22626281365851e-21,-9.56436044902052e-21,4.21847955819783e-21,1.02432830731608e-20,0.000000000004032,0.000000000000304,0.00000000000378,0.00000000000378,0.00000000000378,0.00000000000378,0.00021420512275,0.00021420512275,0.00000000000378,0.00000000000378,0.00021420512275,0.000000000897957,0.000000000897905,0.050880076201795,0.000053999381283,0.050880076201795],[0.000107022547033,0.000035195606,0.000098989008759,0.000000042067713,0.000000011477121,-0.000107021986447,-0.000035195641552,-0.000098988550301,-0.000000041922758,-0.000095000365553,-0.000000011393149,0.000000000560587,-0.000000000035552,0.000000000458459,0.000000000144955,0.000000000233957,0.000000000083972,0.000447186395944,0.000447186395944,0.000392879567371,0.000392879567371,0.000376842782468,0.000376842782468,0.000447186395944,0.000392879567371,0.000376842782468,0.106220045580172,0.093320561475414,0.089511348943787,0.00009500059951,0.106220045580172],[0.000000000002421,-0.000000000001035,0.000104982374922,0.000000040944004,-0.000000000001037,-0.000000000002421,0.000000000001035,-0.000104982241487,-0.000000040933939,-0.000000000002422,0.000000000001037,-4.73284538351485e-20,-3.12977495035753e-20,0.000000000133435,0.000000000010065,-1.24785623776394e-20,4.74751945852941e-20,0.00000000001045,0.00000000001045,0.000416672420187,0.000416672420187,0.00000000001045,0.00000000001045,0.00000000001045,0.000416672420187,0.00000000001045,0.000000002482299,0.09897207040657,0.000000002482211,0.000000000002422,0.09897207040657],[0.000101014957304,0.000033221477669,-0.000000000022393,-0.000000000003629,-0.000000000003636,-0.000101014927884,-0.00003322147545,0.000000000022393,0.000000000003629,0.000000000022404,0.000000000003636,0.000000000029421,0.000000000002219,2.97983479242617e-20,-7.86101797435814e-20,6.7870049706528e-20,6.33341842188575e-20,0.000422083049901,0.000422083049901,0.000000000090031,0.000000000090031,0.000000000090033,0.000000000090033,0.000422083049901,0.000000000090031,0.000000000090033,0.100257255600157,0.000000021385112,0.000000021385506,-0.000000000022404,0.100257255600157],[0.000000000000416,-0.000000000000025,0.000000000000416,-0.000000000000025,-0.000000000000025,-0.000000000000416,0.000000000000025,-0.000000000000416,0.000000000000025,-0.000000000000416,0.000000000000025,2.01948391736579e-28,8.83524213847533e-29,1.51461293802434e-28,2.83989925879564e-29,2.01948391736579e-28,9.46633086265214e-29,0.000000000001654,0.000000000001654,0.000000000001653,0.000000000001653,0.000000000001654,0.000000000001654,0.000000000001654,0.000000000001653,0.000000000001654,0.000000000392807,0.000000000392755,0.000000000392917,0.000000000000416,0.000000000392917],[0.00000000000069,-0.000000000000428,0.000028995780845,0.000000010502006,-0.000000000000429,-0.00000000000069,0.000000000000428,-0.000028995779749,-0.000000010501923,-0.00000000000069,0.000000000000429,-5.0918632364769e-21,4.47982531383456e-21,0.000000000001097,0.000000000000083,-8.40502138213931e-22,-2.97789539114355e-21,0.000000000003222,0.000000000003222,0.000115068670395,0.000115068670395,0.000000000003222,0.000000000003222,0.000000000003222,0.000115068670395,0.000000000003222,0.000000000765232,0.027332225499262,0.000000000765266,0.00000000000069,0.027332225499262],[0.000162021621786,0.000053285568878,-0.000000000033538,-0.000000000005337,-0.000000000005346,-0.000162021405598,-0.000053285552571,0.000000000033538,0.000000000005337,0.000000000033553,0.000000000005346,0.000000000216188,0.000000000016307,2.64954467576105e-19,-5.55135555189499e-19,3.46297185966673e-19,4.37565536140743e-19,0.000676986271967,0.000676986271967,0.000000000134773,0.000000000134773,0.000000000134772,0.000000000134772,0.000676986271967,0.000000000134773,0.000000000134772,0.160804338677563,0.000000032012644,0.000000032012448,-0.000000000033553,0.160804338677563],[0.000000000001061,-0.000000000000436,0.000000000001061,-0.000000000000436,0.000000007687213,-0.000000000001061,0.000000000000436,-0.000000000001061,0.000000000000436,-0.000053999372623,-0.000000007686848,2.36446811405316e-21,5.89150460123269e-21,-5.43103848865017e-21,5.83209234363865e-22,0.000000000004836,0.000000000000365,0.000000000004553,0.000000000004553,0.000000000004553,0.000000000004553,0.000214205123576,0.000214205123576,0.000000000004553,0.000000000004553,0.000214205123576,0.000000001081536,0.000000001081461,0.05088007639789,0.000053999377459,0.05088007639789],[0.000107021992448,0.000035195642503,0.000098988556303,0.000000041923704,0.000000011394097,-0.000107021542319,-0.00003519567105,-0.000098988188179,-0.000000041807311,-0.0000950001837,-0.000000011326671,0.000000000450129,-0.000000000028547,0.000000000368124,0.000000000116393,0.000000000187858,0.000000000067426,0.00044718641975,0.00044718641975,0.000392879591194,0.000392879591194,0.000376842806289,0.000376842806289,0.00044718641975,0.000392879591194,0.000376842806289,0.106220051234732,0.093320567134105,0.08951135460203,0.000095000371558,0.106220051234732],[0.000000000001276,-0.000000000000534,0.000051991226041,0.000000020281697,-0.000000000000536,-0.000000000001276,0.000000000000534,-0.00005199104031,-0.000000020267688,-0.000000000001276,0.000000000000536,-5.54976679562443e-20,-3.9173478590283e-20,0.000000000185731,0.000000000014009,-1.39821915445856e-20,6.32106925753622e-20,0.000000000005491,0.000000000005491,0.000206352138017,0.000206352138017,0.000000000005491,0.000000000005491,0.000000000005491,0.000206352138017,0.000000000005491,0.000000001304226,0.04901475917995,0.000000001304197,0.000000000001276,0.04901475917995],[0.000000000001279,-0.000000000000447,0.00005299101558,0.000000020652295,-0.000000000000448,-0.000000000001279,0.000000000000447,-0.000052991009282,-0.00000002065182,-0.000000000001279,0.000000000000448,4.47384471318748e-21,-1.14458910975845e-21,0.000000000006297,0.000000000000475,2.99068968004073e-21,2.25846631199839e-21,0.000000000005376,0.000000000005376,0.000210320282701,0.000210320282701,0.000000000005375,0.000000000005375,0.000000000005376,0.000210320282701,0.000000000005375,0.00000000127693,0.049957311352707,0.000000001276832,0.000000000001279,0.049957311352707],[0.000101014928266,0.000033221475552,-0.000000000022011,-0.000000000003527,-0.000000000003533,-0.000101014893424,-0.000033221472924,0.000000000022011,0.000000000003527,0.000000000022022,0.000000000003533,0.000000000034841,0.000000000002628,4.38824517149952e-20,-1.07043219618694e-19,3.63620390095671e-20,5.45996844394968e-20,0.000422083051468,0.000422083051468,0.00000000008847,0.00000000008847,0.000000000088472,0.000000000088472,0.000422083051468,0.00000000008847,0.000000000088472,0.100257255972282,0.000000021014351,0.000000021014802,-0.000000000022022,0.100257255972282],[0.000000000000034,-0.000000000000127,0.000000000000034,-0.000000000000127,-0.000000000000127,-0.000000000000034,0.000000000000127,-0.000000000000034,0.000000000000127,-0.000000000000034,0.000000000000127,-1.26217744835362e-29,0.0,6.31088724176809e-30,0.0,-6.31088724176809e-30,0.0,0.000000000000523,0.000000000000523,0.000000000000523,0.000000000000523,0.000000000000523,0.000000000000523,0.000000000000523,0.000000000000523,0.000000000000523,0.000000000124305,0.000000000124115,0.000000000124248,0.000000000000034,0.000000000124305],[0.000000000000575,-0.000000000000254,0.000028995779634,0.000000010502097,-0.000000000000255,-0.000000000000575,0.000000000000254,-0.0000289957786,-0.000000010502019,-0.000000000000575,0.000000000000255,4.68707252844772e-21,2.87099249536485e-21,0.000000000001034,0.000000000000078,-8.87110009491208e-22,3.73506044579441e-21,0.000000000002495,0.000000000002495,0.00011506866994,0.00011506866994,0.000000000002494,0.000000000002494,0.000000000002495,0.00011506866994,0.000000000002494,0.000000000592534,0.027332225391224,0.000000000592475,0.000000000000575,0.027332225391224],[0.000162021407782,0.000053285552722,-0.000000000031353,-0.000000000005188,-0.000000000005196,-0.000162021223435,-0.000053285538817,0.000000000031353,0.000000000005188,0.000000000031366,0.000000000005196,0.000000000184347,0.000000000013905,1.54776258881332e-19,-4.51853599729195e-19,3.11577785481969e-19,4.13244869513481e-19,0.000676986280392,0.000676986280392,0.000000000126118,0.000000000126118,0.000000000126117,0.000000000126117,0.000676986280392,0.000000000126118,0.000000000126117,0.160804340678766,0.00000002995675,0.000000029956595,-0.000000000031366,0.160804340678766],[0.000000000001119,-0.000000000000522,0.000000000001119,-0.000000000000523,0.000000007686761,-0.000000000001119,0.000000000000522,-0.000000000001119,0.000000000000523,-0.000053999367469,-0.000000007686368,7.06862386085466e-22,3.17555808459779e-21,-7.31264517078368e-21,-4.38756973490852e-21,0.000000000005211,0.000000000000393,0.000000000004901,0.000000000004901,0.000000000004901,0.000000000004901,0.000214205123803,0.000214205123803,0.000000000004901,0.000000000004901,0.000214205123803,0.000000001164023,0.000000001164015,0.050880076451912,0.000053999372681,0.050880076451912],[0.000107021543317,0.000035195672452,0.000098988189178,0.000000041808712,-0.000000000009617,-0.000107021303404,-0.000035195746319,-0.000098988011219,-0.000000041691507,0.000000000054342,0.000000000009617,0.000000000239913,-0.000000000073867,0.00000000017796,0.000000000117205,6.61349834869719e-17,7.30341251682849e-18,0.000447186425252,0.000447186425252,0.000392879595163,0.000392879595163,0.00000000021891,0.00000000021891,0.000447186425252,0.000392879595163,0.00000000021891,0.10622005254165,0.093320568076743,0.000000051997718,-0.000000000054342,0.10622005254165],[0.000000000002579,-0.000000000000775,0.000000000002579,-0.000000000000776,0.000000011336914,-0.000000000002579,0.000000000000775,-0.000000000002579,0.000000000000776,-0.000094999260354,-0.000000011262899,-7.83721912379588e-20,3.95441989082598e-19,-2.6984586159184e-19,-2.76815352723237e-19,0.000000000981268,0.000000000074016,0.000000000010689,0.000000000010689,0.000000000010688,0.000000000010688,0.000376843036055,0.000376843036055,0.000000000010689,0.000000000010688,0.000376843036055,0.000000002538874,0.00000000253876,0.089511409178164,0.000095000241622,0.089511409178164],[0.000000000001281,-0.000000000000522,0.000051991040315,0.0000000202677,-0.000000000000523,-0.000000000001281,0.000000000000522,-0.000051990889339,-0.000000020256312,-0.000000000001282,0.000000000000523,-5.01039020725149e-20,-4.0305159815174e-20,0.000000000150977,0.000000000011388,-4.32596497411249e-21,5.68761044683915e-20,0.000000000005492,0.000000000005492,0.000206352138038,0.000206352138038,0.000000000005492,0.000000000005492,0.000000000005492,0.000206352138038,0.000000000005492,0.000000001304483,0.049014759184926,0.000000001304484,0.000000000001282,0.049014759184926],[0.000000000001024,-0.000000000000515,0.000052991009028,0.000000020651752,-0.000000000000516,-0.000000000001024,0.000000000000515,-0.000052991004474,-0.000000020651409,-0.000000000001024,0.000000000000516,1.53782710760285e-21,-2.33802307312945e-21,0.000000000004554,0.000000000000343,6.75470841449401e-21,4.81949190644492e-21,0.00000000000455,0.00000000000455,0.00021032028169,0.00021032028169,0.000000000004549,0.000000000004549,0.00000000000455,0.00021032028169,0.000000000004549,0.000000001080698,0.049957311112724,0.000000001080569,0.000000000001024,0.049957311112724],[0.000101014893788,0.000033221472902,-0.000000000021647,-0.000000000003549,-0.000000000003555,-0.000101014859809,-0.000033221470339,0.000000000021647,0.000000000003549,0.000000000021658,0.000000000003555,0.000000000033979,0.000000000002563,3.10512809830352e-20,-1.11013832769584e-19,7.55651720046153e-20,8.52574847332078e-20,0.000422083052813,0.000422083052813,0.000000000087059,0.000000000087059,0.00000000008706,0.00000000008706,0.000422083052813,0.000000000087059,0.00000000008706,0.100257256291776,0.000000020679013,0.000000020679403,-0.000000000021658,0.100257256291776],[0.000000000000832,-0.00000000000005,0.000000000000832,-0.00000000000005,-0.00000000000005,-0.000000000000832,0.00000000000005,-0.000000000000832,0.00000000000005,-0.000000000000832,0.00000000000005,6.05845175209737e-28,2.33502827945419e-28,5.04870979341448e-28,2.33502827945419e-28,6.05845175209737e-28,2.20881053461883e-28,0.000000000003307,0.000000000003307,0.000000000003307,0.000000000003307,0.000000000003308,0.000000000003308,0.000000000003307,0.000000000003307,0.000000000003308,0.000000000785614,0.000000000785588,0.000000000785755,0.000000000000832,0.000000000785755],[0.000000000000575,-0.000000000000254,0.0000289957786,0.000000010502019,-0.000000000000255,-0.000000000000575,0.000000000000254,-0.000028995777163,-0.000000010501911,-0.000000000000575,0.000000000000255,-9.55218922139895e-23,-2.38591175159422e-21,0.000000000001438,0.000000000000108,8.06618833151584e-22,-1.26580555218536e-21,0.000000000002495,0.000000000002495,0.00011506866994,0.00011506866994,0.000000000002494,0.000000000002494,0.000000000002495,0.00011506866994,0.000000000002494,0.000000000592532,0.027332225391193,0.000000000592514,0.000000000000575,0.027332225391193],[0.000162021225672,0.000053285538965,-0.000000000029116,-0.000000000005041,-0.000000000005049,-0.00016202100934,-0.000053285522647,0.000000000029116,0.000000000005041,0.000000000029128,0.000000000005049,0.000000000216332,0.000000000016318,2.30331175138821e-19,-4.96521700966086e-19,3.06613377025201e-19,4.1461235739357e-19,0.000676986289009,0.000676986289009,0.000000000117267,0.000000000117267,0.000000000117266,0.000000000117266,0.000676986289009,0.000000000117267,0.000000000117266,0.160804342725605,0.00000002785437,0.000000027854241,-0.000000000029128,0.160804342725605],[0.000000000001194,-0.000000000000485,0.000000000001194,-0.000000000000486,0.000000007686405,-0.000000000001194,0.000000000000485,-0.000000000001194,0.000000000000486,-0.000053999358037,-0.000000007685688,-2.54710014212014e-21,6.39850588367147e-21,-9.13252834646683e-22,2.90229182026783e-21,0.000000000009508,0.000000000000717,0.000000000005115,0.000000000005115,0.000000000005115,0.000000000005115,0.000214205124102,0.000214205124102,0.000000000005115,0.000000000005115,0.000214205124102,0.000000001215048,0.000000001215035,0.0508800765229,0.000053999367545,0.0508800765229],[0.000107021305612,0.000035195746639,0.000098988013427,0.000000041691825,-0.000000000009299,-0.000107020974842,-0.00003519584848,-0.000098987768072,-0.000000041530234,0.000000000052133,0.000000000009299,0.00000000033077,-0.000000000101841,0.000000000245355,0.000000000161591,8.74738116900319e-17,9.78942129943201e-18,0.000447186433973,0.000447186433973,0.000392879603928,0.000392879603928,0.000000000210061,0.000000000210061,0.000447186433973,0.000392879603928,0.000000000210061,0.10622005461308,0.093320570158642,0.000000049895627,-0.000000000052132,0.10622005461308],[0.000000000002581,-0.000000000000777,0.00000000000258,-0.000000000000779,0.000000011262896,-0.000000000002581,0.000000000000777,-0.00000000000258,0.000000000000779,-0.000094998440145,-0.000000011201029,-7.0063752481961e-20,3.2044909348275e-19,-2.43932334294898e-19,-2.28592654647762e-19,0.000000000820211,0.000000000061867,0.000000000010699,0.000000000010699,0.000000000010698,0.000000000010698,0.000376843036062,0.000376843036062,0.000000000010699,0.000000000010698,0.000376843036062,0.000000002541232,0.000000002541117,0.089511409179854,0.000094999260356,0.089511409179854],[0.000000000001173,-0.000000000000816,0.000052991004623,0.000000020651108,-0.000000000000817,-0.000000000001173,0.000000000000816,-0.00005299100078,-0.000000020650818,-0.000000000001173,0.000000000000817,9.89577694495746e-21,4.71389793916727e-21,0.000000000003843,0.00000000000029,-1.01232877621717e-20,1.47780743973357e-21,0.000000000005672,0.000000000005672,0.00021032028228,0.00021032028228,0.000000000005671,0.000000000005671,0.000000000005672,0.00021032028228,0.000000000005671,0.000000001347229,0.049957311252847,0.000000001347099,0.000000000001173,0.049957311252847],[0.000101014860266,0.000033221470479,-0.00000000002119,-0.00000000000341,-0.000000000003416,-0.000101014813553,-0.000033221466955,0.00000000002119,0.00000000000341,0.0000000000212,0.000000000003416,0.000000000046713,0.000000000003524,6.27730629383786e-20,-1.22734935601331e-19,9.28813257113606e-20,9.82497452543915e-20,0.000422083054709,0.000422083054709,0.000000000085179,0.000000000085179,0.000000000085181,0.000000000085181,0.000422083054709,0.000000000085179,0.000000000085181,0.100257256742253,0.000000020232499,0.000000020232943,-0.0000000000212,0.100257256742253],[-3.59115231968708e-17,-1.1058481424384e-16,-6.29767862011654e-17,1.12041636629633e-16,-1.44890268308939e-18,3.59115231968708e-17,1.1058481424384e-16,6.29767862011654e-17,-1.12041636629633e-16,-9.90173152480476e-17,1.44890268308939e-18,1.23259516440783e-32,1.23259516440783e-32,1.23259516440783e-32,-2.46519032881566e-32,-2.46519032881566e-32,1.34815096107107e-33,4.6149624523437e-16,4.61496245234371e-16,5.10088589603568e-16,5.10088589603568e-16,3.92816425771687e-16,3.92816425771687e-16,4.61496245234371e-16,5.10088589603568e-16,3.92816425771687e-16,0.00000000000011,0.000000000000121,0.000000000000093,9.90173152480476e-17,0.000000000000121],[0.000000000000685,-0.000000000000157,0.000028995777273,0.000000010502008,-0.000000000000157,-0.000000000000685,0.000000000000157,-0.000028995775511,-0.000000010501876,-0.000000000000685,0.000000000000157,-2.40835826484864e-21,2.67484431387444e-21,0.000000000001762,0.000000000000133,4.09171635075639e-21,5.81979646337228e-22,0.000000000002789,0.000000000002789,0.000115068670377,0.000115068670377,0.000000000002789,0.000000000002789,0.000000000002789,0.000115068670377,0.000000000002789,0.000000000662381,0.027332225495173,0.000000000662409,0.000000000000685,0.027332225495173],[0.000162021011672,0.000053285522821,-0.000000000026783,-0.000000000004869,-0.000000000004876,-0.000162020814,-0.000053285507911,0.000000000026783,0.000000000004869,0.000000000026794,0.000000000004876,0.000000000197672,0.00000000001491,1.80713935166958e-19,-4.32665843257797e-19,2.8159048818005e-19,3.3025737032951e-19,0.000676986298018,0.000676986298018,0.000000000108033,0.000000000108033,0.000000000108032,0.000000000108032,0.000676986298018,0.000000000108033,0.000000000108032,0.160804344865455,0.000000025660942,0.000000025660822,-0.000000000026794,0.160804344865455],[0.000000000001201,-0.000000000000415,0.000000000001201,-0.000000000000416,0.000000007685758,-0.000000000001201,0.000000000000415,-0.000000000001201,0.000000000000416,-0.000053999286912,-0.000000007680393,-7.47863382409408e-21,2.51983474139081e-20,-2.72144828754776e-20,-1.30431537878207e-20,0.000000000071132,0.000000000005365,0.000000000005043,0.000000000005043,0.000000000005043,0.000000000005043,0.000214205124129,0.000214205124129,0.000000000005043,0.000000000005043,0.000214205124129,0.00000000119782,0.00000000119782,0.050880076529333,0.000053999358044,0.050880076529333],[0.000107020979214,0.000035195849171,0.000098987772445,0.000000041530921,-0.00000000000861,-0.000107020165509,-0.000035196099703,-0.000098987168865,-0.000000041133402,0.000000000047758,0.00000000000861,0.000000000813705,-0.000000000250533,0.00000000060358,0.000000000397519,1.97131084866496e-16,2.23931879915627e-17,0.000447186451314,0.000447186451314,0.000392879621284,0.000392879621284,0.000000000192497,0.000000000192497,0.000447186451314,0.000392879621284,0.000000000192497,0.106220058732044,0.093320574281169,0.000000045723636,-0.000000000047758,0.106220058732044],[0.000000000001184,-0.000000000000451,0.000000000001184,-0.000000000000452,0.000000005913967,-0.000000000001184,0.000000000000451,-0.000000000001184,0.000000000000452,-0.00004999905305,-0.000000005901503,-1.47647387352874e-20,6.01931025112615e-20,-4.56566769846358e-20,-4.51864296531608e-20,0.000000000165253,0.000000000012465,0.00000000000503,0.00000000000503,0.00000000000503,0.00000000000503,0.000198338595854,0.000198338595854,0.00000000000503,0.00000000000503,0.000198338595854,0.000000001194703,0.000000001194705,0.047111305001713,0.000049999218303,0.047111305001713],[0.000000000001442,-0.000000000000373,0.000000000001442,-0.000000000000374,0.000000005287014,-0.000000000001442,0.000000000000373,-0.000000000001442,0.000000000000374,-0.000044999217041,-0.000000005286649,-4.84815141245822e-21,1.6986457811106e-21,-2.28930514408112e-22,-8.38829147249687e-22,0.000000000004847,0.000000000000366,0.000000000005912,0.000000000005912,0.000000000005911,0.000000000005911,0.000178504440386,0.000178504440386,0.000000000005912,0.000000000005911,0.000178504440386,0.000000001404199,0.000000001404097,0.042400104220632,0.000044999221887,0.042400104220632],[0.000000000001272,-0.00000000000055,0.00005299100088,0.000000020651083,-0.000000000000552,-0.000000000001272,0.00000000000055,-0.000052990994389,-0.000000020650593,-0.000000000001273,0.000000000000552,1.00151437925516e-21,4.73660117931469e-21,0.000000000006491,0.00000000000049,8.26660433885593e-21,5.82438427644866e-21,0.000000000005503,0.000000000005503,0.000210320282676,0.000210320282676,0.000000000005502,0.000000000005502,0.000000000005503,0.000210320282676,0.000000000005502,0.00000000130716,0.049957311346807,0.000000001306939,0.000000000001273,0.049957311346807],[0.000101014814232,0.000033221466967,-0.000000000020511,-0.000000000003399,-0.000000000003405,-0.00010101474997,-0.00003322146212,0.000000000020511,0.000000000003399,0.000000000020521,0.000000000003405,0.000000000064262,0.000000000004847,6.61718479089566e-20,-1.71079012132329e-19,9.57301777462588e-20,1.52706007965561e-19,0.000422083057284,0.000422083057284,0.000000000082512,0.000000000082512,0.000000000082514,0.000000000082514,0.000422083057284,0.000000000082512,0.000000000082514,0.100257257353757,0.000000019599028,0.000000019599489,-0.000000000020521,0.100257257353757],[-0.000000000000186,-0.000000000000323,-0.000000000000187,-0.000000000000323,-0.000000000000323,0.000000000000186,0.000000000000323,0.000000000000187,0.000000000000323,0.000000000000186,0.000000000000323,5.04870979341448e-29,1.0097419586829e-28,5.04870979341448e-29,1.0097419586829e-28,5.04870979341448e-29,5.04870979341448e-29,0.00000000000148,0.00000000000148,0.000000000001479,0.000000000001479,0.000000000001479,0.000000000001479,0.00000000000148,0.000000000001479,0.000000000001479,0.00000000035144,0.000000000351307,0.000000000351316,-0.000000000000186,0.00000000035144],[0.000000000000617,-0.000000000000252,0.000028995775443,0.00000001050178,-0.000000000000252,-0.000000000000617,0.000000000000252,-0.000028995767093,-0.000000010501151,-0.000000000000617,0.000000000000252,4.07302612807537e-21,-5.27835035836793e-21,0.00000000000835,0.00000000000063,-3.69639066092532e-22,1.00692735346016e-21,0.000000000002643,0.000000000002643,0.000115068670106,0.000115068670106,0.000000000002643,0.000000000002643,0.000000000002643,0.000115068670106,0.000000000002643,0.000000000627886,0.027332225430699,0.000000000627887,0.000000000000617,0.027332225430699],[0.000162020816749,0.000053285508153,-0.000000000024034,-0.000000000004628,-0.000000000004635,-0.000162020510085,-0.000053285485022,0.000000000024034,0.000000000004628,0.000000000024044,0.000000000004635,0.000000000306664,0.000000000023131,2.08529925366191e-19,-6.03505897128327e-19,3.90874088117649e-19,5.06384462984065e-19,0.000676986308682,0.000676986308682,0.000000000097133,0.000000000097133,0.000000000097132,0.000000000097132,0.000676986308682,0.000000000097133,0.000000000097132,0.160804347398486,0.000000023071938,0.000000023071827,-0.000000000024044,0.160804347398486],[0.000000000001196,-0.000000000000406,0.000000000001196,-0.000000000000407,0.000000007680402,-0.000000000001196,0.000000000000406,-0.000000000001196,0.000000000000407,-0.000053999068923,-0.00000000766396,-1.50448781111817e-20,7.00076162816648e-20,-5.30791130141742e-20,-5.491790941405e-20,0.000000000217984,0.000000000016442,0.000000000005013,0.000000000005013,0.000000000005013,0.000000000005013,0.000214205124111,0.000214205124111,0.000000000005013,0.000000000005013,0.000214205124111,0.000000001190794,0.000000001190794,0.050880076524949,0.000053999286907,0.050880076524949],[0.000107020171146,0.000035196100589,0.000098987174503,0.000000041134283,-0.000000000007727,-0.000107019511626,-0.000035196303649,-0.000098986685292,-0.000000040812088,0.000000000042117,0.000000000007727,0.000000000659519,-0.00000000020306,0.00000000048921,0.000000000322195,1.40944527527134e-16,1.65201976178149e-17,0.000447186473666,0.000447186473666,0.000392879643662,0.000392879643662,0.000000000169855,0.000000000169855,0.000447186473666,0.000392879643662,0.000000000169855,0.106220064041328,0.093320579596672,0.000000040345582,-0.000000000042117,0.106220064041328],[0.000000000001185,-0.00000000000045,0.000000000001185,-0.000000000000451,0.000000005901504,-0.000000000001185,0.00000000000045,-0.000000000001185,0.000000000000451,-0.000049998891121,-0.00000000588929,-9.35281789308932e-21,5.7923379242498e-20,-4.70526353470437e-20,-2.61393720399251e-20,0.00000000016193,0.000000000012214,0.000000000005031,0.000000000005031,0.000000000005031,0.000000000005031,0.000198338595857,0.000198338595857,0.000000000005031,0.000000000005031,0.000198338595857,0.00000000119492,0.00000000119492,0.047111305002404,0.000049999053051,0.047111305002404],[0.000000000001459,-0.000000000000437,0.000000000001459,-0.000000000000438,0.000000005286585,-0.000000000001459,0.000000000000437,-0.000000000001459,0.000000000000438,-0.000044999212423,-0.000000005286235,8.35621469677281e-21,-2.93756690315893e-21,6.07825925425568e-21,6.85056200694142e-21,0.000000000004634,0.00000000000035,0.000000000006045,0.000000000006045,0.000000000006044,0.000000000006044,0.000178504440454,0.000178504440454,0.000000000006045,0.000000000006044,0.000178504440454,0.000000001435822,0.000000001435734,0.042400104236665,0.000044999217058,0.042400104236665],[0.000000000001267,-0.000000000000467,0.000052990994383,0.000000020650677,-0.000000000000468,-0.000000000001267,0.000000000000467,-0.000052990985293,-0.000000020649992,-0.000000000001267,0.000000000000468,-5.86631118595387e-21,-4.14026524900084e-21,0.00000000000909,0.000000000000686,4.56831172797723e-21,6.6763453703065e-21,0.00000000000536,0.00000000000536,0.000210320282655,0.000210320282655,0.000000000005359,0.000000000005359,0.00000000000536,0.000210320282655,0.000000000005359,0.000000001273045,0.049957311341774,0.000000001272812,0.000000000001267,0.049957311341774],[0.000101014750687,0.00003322146215,-0.000000000019794,-0.000000000003369,-0.000000000003375,-0.000101014682679,-0.00003322145702,0.000000000019794,0.000000000003369,0.000000000019804,0.000000000003375,0.000000000068007,0.00000000000513,7.48368394752624e-20,-1.63380564955921e-19,1.18537327611367e-19,1.53786840201e-19,0.000422083060023,0.000422083060023,0.000000000079687,0.000000000079687,0.000000000079689,0.000000000079689,0.000422083060023,0.000000000079687,0.000000000079689,0.100257258004436,0.000000018928092,0.000000018928522,-0.000000000019804,0.100257258004436],[0.000000000000093,0.000000000000161,0.000000000000093,0.000000000000161,0.000000000000161,-0.000000000000093,-0.000000000000161,-0.000000000000093,-0.000000000000161,-0.000000000000093,-0.000000000000161,3.78653234506086e-29,0.0,2.52435489670724e-29,0.0,3.78653234506086e-29,-2.52435489670724e-29,0.00000000000074,0.00000000000074,0.00000000000074,0.00000000000074,0.00000000000074,0.00000000000074,0.00000000000074,0.00000000000074,0.00000000000074,0.000000000175656,0.000000000175693,0.000000000175683,0.000000000000093,0.000000000175693],[0.000000000000634,-0.000000000000221,0.000028995767111,0.000000010501181,-0.000000000000222,-0.000000000000634,0.000000000000221,-0.000028995695718,-0.000000010495796,-0.000000000000634,0.000000000000222,-1.38760718046701e-20,-7.88024371873566e-21,0.000000000071393,0.000000000005385,-8.65601263788653e-21,2.49261530411543e-20,0.000000000002666,0.000000000002666,0.000115068670175,0.000115068670175,0.000000000002666,0.000000000002666,0.000000000002666,0.000115068670175,0.000000000002666,0.00000000063319,0.027332225447191,0.000000000633191,0.000000000000634,0.027332225447191],[0.000162020515232,0.000053285485413,-0.000000000018886,-0.00000000000424,-0.000000000004246,-0.000162019896108,-0.000053285438714,0.000000000018886,0.00000000000424,0.000000000018894,0.000000000004246,0.000000000619124,0.0000000000467,4.44419660517315e-19,-9.11617152840019e-19,5.95720843172432e-19,8.15057037481764e-19,0.000676986328574,0.000676986328574,0.000000000076816,0.000000000076816,0.000000000076815,0.000000000076815,0.000676986328574,0.000000000076816,0.000000000076815,0.160804352123474,0.000000018246013,0.000000018245924,-0.000000000018894,0.160804352123474],[0.000107019516125,0.000035196304368,0.000098986689792,0.000000040812803,-0.000000000007011,-0.000107019000795,-0.000035196463033,-0.000098986307537,-0.000000040561049,0.000000000037615,0.000000000007011,0.000000000515329,-0.000000000158665,0.000000000382255,0.000000000251754,9.83625086060645e-17,1.17553727209604e-17,0.000447186491519,0.000447186491519,0.000392879661521,0.000392879661521,0.000000000151778,0.000000000151778,0.000447186491519,0.000392879661521,0.000000000151778,0.106220068282061,0.093320583838846,0.000000036051771,-0.000000000037615,0.106220068282061],[0.000000000001378,-0.00000000000039,0.000000000001378,-0.000000000000391,0.000000005286282,-0.000000000001378,0.00000000000039,-0.000000000001378,0.000000000000391,-0.000044999207347,-0.000000005285905,-9.22900111268331e-21,4.25230949839766e-21,-9.61805266987992e-22,-5.13965967501374e-21,0.000000000004996,0.000000000000377,0.000000000005686,0.000000000005686,0.000000000005685,0.000000000005685,0.000178504440134,0.000178504440134,0.000000000005686,0.000000000005685,0.000178504440134,0.000000001350494,0.000000001350424,0.042400104160606,0.000044999212343,0.042400104160606],[0.000000000001215,-0.000000000000464,0.000052990985241,0.000000020649995,-0.000000000000465,-0.000000000001215,0.000000000000464,-0.000052990978496,-0.000000020649486,-0.000000000001216,0.000000000000465,4.5080878902839e-21,-5.15080399506334e-21,0.000000000006745,0.000000000000509,-2.07999391593021e-21,2.33608063252353e-21,0.000000000005162,0.000000000005162,0.000210320282448,0.000210320282448,0.000000000005162,0.000000000005162,0.000000000005162,0.000210320282448,0.000000000005162,0.000000001226108,0.049957311292595,0.000000001226148,0.000000000001216,0.049957311292595],[0.000101014683303,0.000033221457077,-0.00000000001917,-0.000000000003313,-0.000000000003318,-0.000101014638128,-0.000033221453669,0.00000000001917,0.000000000003313,0.000000000019179,0.000000000003318,0.000000000045175,0.000000000003408,4.34783869104601e-20,-1.01878277620622e-19,9.37607737988694e-20,7.59369662639445e-20,0.000422083062447,0.000422083062447,0.000000000077207,0.000000000077207,0.000000000077209,0.000000000077209,0.000422083062447,0.000000000077207,0.000000000077209,0.100257258580207,0.000000018339015,0.000000018339442,-0.000000000019179,0.100257258580207],[-2.76628487536672e-17,-3.65599941775382e-17,-2.27332172509942e-17,3.37254589679625e-17,2.83157518783786e-18,2.76628487536672e-17,3.65599941775382e-17,2.27332172509942e-17,-3.37254589679625e-17,-5.04488239697423e-17,-2.83157518783786e-18,0.0,0.0,0.0,0.0,0.0,7.70371977754894e-34,1.81971863944567e-16,1.81971863944567e-16,1.61414737890562e-16,1.61414737890562e-16,2.00431536756671e-16,2.00431536756671e-16,1.81971863944567e-16,1.61414737890562e-16,2.00431536756671e-16,0.000000000000043,0.000000000000038,0.000000000000048,5.04488239697423e-17,0.000000000000048],[0.000100012215893,0.000032892213946,-0.000000000008353,-0.000000000002367,-0.00000000000237,-0.000100012145424,-0.000032892208631,0.000000000008353,0.000000000002367,0.000000000008356,0.00000000000237,0.00000000007047,0.000000000005315,3.68139138841554e-20,-8.08026385169214e-20,5.669809019225e-20,7.52424911902597e-20,0.000417892507962,0.000417892507962,0.000000000034453,0.000000000034453,0.000000000034453,0.000000000034453,0.000417892507962,0.000000000034453,0.000000000034453,0.099261877476298,0.000000008183656,0.000000008183576,-0.000000000008356,0.099261877476298],[0.000062007684967,0.000020393225128,-0.00000000000578,-0.000000000001516,-0.000000000001518,-0.000062007523476,-0.000020393212947,0.00000000000578,0.000000000001516,0.000000000005782,0.000000000001518,0.000000000161491,0.000000000012181,9.25497983457566e-20,-1.78898297956211e-19,1.17134654666883e-19,1.67654758238379e-19,0.000259093838978,0.000259093838978,0.000000000023713,0.000000000023713,0.000000000023713,0.000000000023713,0.000259093838978,0.000000000023713,0.000000000023713,0.061542479009661,0.000000005632638,0.000000005632634,-0.000000000005782,0.061542479009661],[0.000107019004539,0.000035196463626,0.000098986311282,0.000000040561639,-0.00000000000642,-0.000107018538781,-0.000035196607029,-0.000098985965797,-0.000000040334102,0.000000000033869,0.00000000000642,0.000000000465758,-0.000000000143403,0.000000000345484,0.000000000227537,8.00817674248811e-17,9.84562415804555e-18,0.000447186506371,0.000447186506371,0.000392879676384,0.000392879676384,0.000000000136739,0.000000000136739,0.000447186506371,0.000392879676384,0.000000000136739,0.106220071809633,0.093320587369135,0.000000032479681,-0.000000000033869,0.106220071809633],[0.000000000001389,-0.000000000000558,0.000000000001389,-0.000000000000559,0.000000005285737,-0.000000000001389,0.000000000000558,-0.000000000001389,0.000000000000559,-0.000044999202897,-0.000000005285401,-1.09378257995568e-21,1.43848370558236e-20,-3.34968768147588e-22,-5.38817999121387e-22,0.000000000004461,0.000000000000336,0.000000000005942,0.000000000005942,0.000000000005942,0.000000000005942,0.000178504440176,0.000178504440176,0.000000000005942,0.000000000005942,0.000178504440176,0.000000001411301,0.000000001411293,0.042400104170635,0.000044999207357,0.042400104170635],[0.000000000001255,-0.000000000000487,0.000052990978536,0.000000020649463,-0.000000000000488,-0.000000000001255,0.000000000000487,-0.000052990967363,-0.00000002064862,-0.000000000001256,0.000000000000488,-1.21081716596328e-20,-1.31880822026117e-21,0.000000000011173,0.000000000000843,-1.08651986955398e-20,4.01210344797243e-21,0.000000000005345,0.000000000005345,0.000210320282608,0.000210320282608,0.000000000005345,0.000000000005345,0.000000000005345,0.000210320282608,0.000000000005345,0.000000001269495,0.049957311330634,0.000000001269495,0.000000000001256,0.049957311330634],[0.000101014638616,0.00003322145363,-0.000000000018681,-0.000000000003353,-0.000000000003358,-0.000101014592638,-0.000033221450162,0.000000000018681,0.000000000003353,0.000000000018691,0.000000000003358,0.000000000045978,0.000000000003468,6.02519812212046e-20,-1.23303526548923e-19,7.59078961968508e-20,9.2383653384391e-20,0.000422083064238,0.000422083064238,0.000000000075327,0.000000000075327,0.000000000075329,0.000000000075329,0.000422083064238,0.000000000075327,0.000000000075329,0.100257259005658,0.000000017892396,0.000000017892805,-0.000000000018691,0.100257259005658],[0.000000000000348,0.00000000000023,0.000000000000348,0.000000000000229,0.00000000000023,-0.000000000000348,-0.00000000000023,-0.000000000000348,-0.000000000000229,-0.000000000000348,-0.00000000000023,0.0,0.0,5.04870979341448e-29,0.0,1.51461293802434e-28,-5.04870979341448e-29,0.000000000001654,0.000000000001654,0.000000000001654,0.000000000001654,0.000000000001654,0.000000000001654,0.000000000001654,0.000000000001654,0.000000000001654,0.000000000392789,0.000000000392826,0.000000000392863,0.000000000000348,0.000000000392863],[0.000100012146108,0.000032892208652,-0.000000000007668,-0.000000000002346,-0.000000000002349,-0.000100012084652,-0.000032892204017,0.000000000007668,0.000000000002346,0.000000000007671,0.000000000002349,0.000000000061456,0.000000000004636,2.97546850663812e-20,-5.51438541719734e-20,1.3296687624307e-20,6.35924503624945e-20,0.000417892510571,0.000417892510571,0.000000000031822,0.000000000031822,0.000000000031822,0.000000000031822,0.000417892510571,0.000000000031822,0.000000000031822,0.099261878095985,0.000000007558664,0.000000007558582,-0.000000000007671,0.099261878095985],[0.0000620075258,0.000020393213113,-0.000000000003455,-0.000000000001351,-0.000000000001353,-0.00006200726739,-0.000020393193621,0.000000000003455,0.000000000001351,0.000000000003456,0.000000000001353,0.00000000025841,0.000000000019491,1.15813919858964e-19,-1.69581903071159e-19,8.308968749357e-20,1.85910954849522e-19,0.000259093847949,0.000259093847949,0.000000000014722,0.000000000014722,0.000000000014722,0.000000000014722,0.000259093847949,0.000000000014722,0.000000000014722,0.061542481140518,0.000000003496893,0.000000003496889,-0.000000000003456,0.061542481140518],[0.000107018538083,0.000035196608484,-0.000000000034547,-0.000000000004953,-0.000000000004963,-0.000107018490127,-0.000035196604866,0.000000000034547,0.000000000004953,0.000000000034566,0.000000000004963,0.000000000047956,0.000000000003617,9.30457020087114e-20,-2.32657878297774e-19,1.31056680332963e-19,1.91018456060687e-19,0.000447186505545,0.000447186505545,0.00000000013852,0.00000000013852,0.00000000013852,0.00000000013852,0.000447186505545,0.00000000013852,0.00000000013852,0.106220071613437,0.000000032902684,0.000000032902528,-0.000000000034566,0.106220071613437],[0.000000000002543,-0.000000000001216,0.00009898600219,0.000000040339293,-0.000000000001218,-0.000000000002543,0.000000000001216,-0.000098985793354,-0.000000040304535,-0.000000000002544,0.000000000001218,-1.59065442389012e-18,-1.17401409287074e-18,0.000000000208836,0.000000000034758,-2.22369025771967e-19,1.94747055329247e-18,0.000000000011189,0.000000000011189,0.000392879820837,0.000392879820837,0.000000000011189,0.000000000011189,0.000000000011189,0.000392879820837,0.000000000011189,0.000000002657646,0.093320621681022,0.00000000265767,0.000000000002544,0.093320621681022],[0.000000000001361,-0.000000000000326,0.000000000001361,-0.000000000000328,0.000000005285632,-0.000000000001361,0.000000000000326,-0.000000000001361,0.000000000000328,-0.000044999197942,-0.000000005285261,4.11893939785927e-24,-2.31235199941707e-22,-7.33674912497619e-21,2.93410005511799e-21,0.000000000004926,0.000000000000372,0.000000000005556,0.000000000005556,0.000000000005556,0.000000000005556,0.000178504440066,0.000178504440066,0.000000000005556,0.000000000005556,0.000178504440066,0.000000001319771,0.000000001319769,0.042400104144444,0.000044999202869,0.042400104144444],[0.000000000001298,-0.000000000000552,0.000052990967406,0.000000020648555,-0.000000000000553,-0.000000000001298,0.000000000000552,-0.000052990889851,-0.000000020642705,-0.000000000001299,0.000000000000553,-1.75616134950687e-20,-1.72497609515296e-20,0.000000000077555,0.00000000000585,8.42100923241631e-21,4.29515943322215e-20,0.0000000000056,0.0000000000056,0.000210320282778,0.000210320282778,0.0000000000056,0.0000000000056,0.0000000000056,0.000210320282778,0.0000000000056,0.00000000133026,0.049957311371157,0.000000001330262,0.000000000001299,0.049957311371157],[0.000101014593043,0.000033221450304,-0.000000000018276,-0.000000000003211,-0.000000000003216,-0.000101014571059,-0.000033221448646,0.000000000018276,0.000000000003211,0.000000000018285,0.000000000003216,0.000000000021984,0.000000000001658,1.23431180146824e-21,-4.66620302008695e-20,4.1181555149819e-20,4.56832263319039e-20,0.000422083065943,0.000422083065943,0.000000000073645,0.000000000073645,0.000000000073646,0.000000000073646,0.000422083065943,0.000000000073645,0.000000000073646,0.10025725941047,0.000000017492814,0.000000017493193,-0.000000000018285,0.10025725941047],[-0.000000000000208,0.000000000000012,-0.000000000000208,0.000000000000013,0.000000000000013,0.000000000000208,-0.000000000000012,0.000000000000208,-0.000000000000013,0.000000000000208,-0.000000000000013,7.57306469012171e-29,0.0,7.57306469012171e-29,0.0,5.04870979341448e-29,-1.57772181044202e-30,0.000000000000827,0.000000000000827,0.000000000000827,0.000000000000827,0.000000000000827,0.000000000000827,0.000000000000827,0.000000000000827,0.000000000000827,0.000000000196415,0.000000000196415,0.000000000196409,-0.000000000000208,0.000000000196415],[0.000100012085294,0.000032892204104,-0.000000000007026,-0.00000000000226,-0.000000000002262,-0.000100012034467,-0.00003289220027,0.000000000007026,0.00000000000226,0.000000000007028,0.000000000002262,0.000000000050827,0.000000000003834,5.66828584367517e-21,-4.86492653834557e-20,1.97821923702676e-20,2.47958180734824e-20,0.000417892513098,0.000417892513098,0.000000000029289,0.000000000029289,0.000000000029288,0.000000000029288,0.000417892513098,0.000000000029289,0.000000000029288,0.0992618786963,0.000000006956924,0.000000006956848,-0.000000000007028,0.0992618786963],[0.000062007270051,0.000020393193822,-0.000000000000794,-0.000000000001152,-0.000000000001153,-0.000062007049265,-0.000020393177169,0.000000000000794,0.000000000001152,0.000000000000794,0.000000000001153,0.000000000220786,0.000000000016654,6.08667611991099e-20,-1.9343357505282e-20,-4.9071081249676e-21,8.45246374456092e-20,0.00025909385823,0.00025909385823,0.000000000005552,0.000000000005552,0.000000000005552,0.000000000005552,0.00025909385823,0.000000000005552,0.000000000005552,0.061542483582513,0.000000001318819,0.000000001318818,-0.000000000000794,0.061542483582513],[0.000107018490694,0.000035196604916,-0.00000000003398,-0.000000000004904,-0.000000000004914,-0.000107018442612,-0.000035196601289,0.00000000003398,0.000000000004904,0.000000000033999,0.000000000004914,0.000000000048082,0.000000000003627,6.61913351209657e-20,-1.81711376852997e-19,1.46024726774612e-19,1.52826968993759e-19,0.000447186507742,0.000447186507742,0.000000000136267,0.000000000136267,0.000000000136266,0.000000000136266,0.000447186507742,0.000000000136267,0.000000000136266,0.106220072135377,0.000000032367426,0.000000032367272,-0.000000000033999,0.106220072135377],[0.000000000002538,-0.000000000001166,0.000098985793349,0.000000040304585,-0.000000000001168,-0.000000000002538,0.000000000001166,-0.000098985394822,-0.000000040266457,-0.000000000002539,0.000000000001168,-4.00885521916296e-18,-2.91106111393756e-18,0.000000000398527,0.000000000038128,-5.30160437236413e-19,4.95098151525826e-18,0.000000000011087,0.000000000011087,0.000392879820818,0.000392879820818,0.000000000011087,0.000000000011087,0.000000000011087,0.000392879820818,0.000000000011087,0.000000002633561,0.09332062167651,0.000000002633584,0.000000000002539,0.09332062167651],[-3.55226307185982e-19,-6.15638392343294e-19,-3.55113731665509e-19,6.1578014453777e-19,-2.01571988443801e-22,3.55226307185982e-19,6.15638392343294e-19,3.55113731665509e-19,-6.1578014453777e-19,-7.1126023563356e-19,2.01571988443814e-22,4.81482486096809e-35,0.0,-4.81482486096809e-35,0.0,0.0,1.35887146955056e-35,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,6.70155333805009e-16,6.70155333805009e-16,6.70155333805009e-16,7.1126023563356e-19,6.70155333805009e-16],[0.000000000000899,-0.000000000000382,0.000000000000898,-0.000000000000383,0.000000005285205,-0.000000000000899,0.000000000000382,-0.000000000000898,0.000000000000383,-0.000044999194303,-0.000000005284966,-2.02392153132581e-21,1.09212730996281e-21,-3.20413337813174e-21,-1.98543178344795e-21,0.000000000003176,0.00000000000024,0.000000000003877,0.000000000003877,0.000000000003876,0.000000000003876,0.00017850443823,0.00017850443823,0.000000000003877,0.000000000003876,0.00017850443823,0.000000000920814,0.000000000920773,0.042400103708452,0.00004499919748,0.042400103708452],[0.000000000001306,-0.000000000000538,0.000052990889859,0.000000020642719,-0.000000000000539,-0.000000000001306,0.000000000000538,-0.000052990718549,-0.000000020629797,-0.000000000001307,0.000000000000539,-4.61857217923133e-20,-3.90290175345576e-20,0.00000000017131,0.000000000012922,-1.36882863565685e-20,5.44475442961755e-20,0.000000000005608,0.000000000005608,0.00021032028281,0.00021032028281,0.000000000005608,0.000000000005608,0.000000000005608,0.00021032028281,0.000000000005608,0.000000001332169,0.049957311378718,0.00000000133217,0.000000000001307,0.049957311378718],[0.000101014571302,0.000033221448694,-0.000000000018033,-0.000000000003163,-0.000000000003168,-0.000101014536334,-0.000033221446057,0.000000000018033,0.000000000003163,0.000000000018042,0.000000000003168,0.000000000034968,0.000000000002638,3.02067134217472e-20,-7.68990932347205e-20,4.29564359439392e-20,6.75684276665659e-20,0.000422083066918,0.000422083066918,0.000000000072662,0.000000000072662,0.000000000072664,0.000000000072664,0.000422083066918,0.000000000072662,0.000000000072664,0.100257259642178,0.000000017259424,0.000000017259833,-0.000000000018042,0.100257259642178],[-5.54093311454953e-18,3.19747146666576e-18,9.14171980119537e-18,-1.02612596114277e-17,7.06244938693608e-18,5.54093311454952e-18,-3.19747146666576e-18,-9.14171980119537e-18,1.02612596114277e-17,3.60546055276213e-18,-7.06244938693607e-18,-3.08148791101958e-33,-7.70371977754894e-34,0.0,0.0,3.08148791101958e-33,1.54074395550979e-33,2.53921858279514e-17,2.53921858279514e-17,5.45410603710512e-17,5.45410603710512e-17,3.14542811037544e-17,3.14542811037544e-17,2.53921858279514e-17,5.45410603710512e-17,3.14542811037544e-17,0.000000000000006,0.000000000000013,0.000000000000007,-3.60546055276213e-18,0.000000000000013],[0.000100012035034,0.00003289220032,-0.000000000006459,-0.00000000000221,-0.000000000002213,-0.000100011995508,-0.000032892197338,0.000000000006459,0.00000000000221,0.000000000006462,0.000000000002213,0.000000000039526,0.000000000002981,2.14378048676088e-20,-1.75370941330344e-20,2.76942718645653e-20,3.4430279050191e-20,0.000417892515295,0.000417892515295,0.000000000027093,0.000000000027093,0.000000000027093,0.000000000027093,0.000417892515295,0.000000000027093,0.000000000027093,0.099261879218249,0.000000006435372,0.000000006435323,-0.000000000006462,0.099261879218249],[0.00006200705118,0.000020393177307,0.000000000001122,-0.000000000001015,-0.000000000001015,-0.000062006926224,-0.000020393167882,-0.000000000001122,0.000000000001015,-0.000000000001123,0.000000000001015,0.000000000124956,0.000000000009425,3.85530526402157e-21,3.3789653111266e-20,-4.82031076678374e-20,-8.66013551527803e-21,0.000259093865623,0.000259093865623,0.000000000006004,0.000000000006004,0.000000000006004,0.000000000006004,0.000259093865623,0.000000000006004,0.000000000006004,0.061542485338662,0.000000001426208,0.000000001426207,0.000000000001123,0.061542485338662],[0.00010701844319,0.000035196601359,-0.000000000033402,-0.000000000004835,-0.000000000004845,-0.000107018395015,-0.000035196597725,0.000000000033402,0.000000000004835,0.000000000033421,0.000000000004845,0.000000000048175,0.000000000003634,4.63589626143194e-20,-1.9391192980443e-19,1.37441842577625e-19,1.60718768022765e-19,0.000447186510008,0.000447186510008,0.000000000133956,0.000000000133956,0.000000000133956,0.000000000133956,0.000447186510008,0.000000000133956,0.000000000133956,0.10622007267372,0.000000031818579,0.000000031818483,-0.000000000033421,0.10622007267372],[0.000000000002527,-0.000000000001139,0.000098985394811,0.000000040266484,-0.000000000001141,-0.000000000002527,0.000000000001139,-0.00009898506066,-0.000000040234514,-0.000000000002528,0.000000000001141,-3.31080711014563e-18,-2.4392384488938e-18,0.000000000334151,0.000000000031969,-4.56982633283732e-19,4.07737619033937e-18,0.000000000011002,0.000000000011002,0.000392879820773,0.000392879820773,0.000000000011002,0.000000000011002,0.000000000011002,0.000392879820773,0.000000000011002,0.000000002613287,0.093320621665748,0.000000002613311,0.000000000002528,0.093320621665748],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],[0.000000000001003,-0.000000000000389,0.000000000001002,-0.000000000000389,0.000000005284959,-0.000000000001003,0.000000000000389,-0.000000000001002,0.000000000000389,-0.000044999189529,-0.000000005284591,3.12947952005526e-21,6.79788275921498e-22,-7.34220536662413e-21,-5.87185194300375e-22,0.000000000004878,0.000000000000368,0.000000000004268,0.000000000004268,0.000000000004268,0.000000000004268,0.000178504438643,0.000178504438643,0.000000000004268,0.000000000004268,0.000178504438643,0.000000001013856,0.000000001013835,0.042400103806452,0.000044999194407,0.042400103806452],[0.000101014536629,0.000033221446102,-0.000000000017738,-0.000000000003118,-0.000000000003123,-0.000101014503802,-0.000033221443626,0.000000000017738,0.000000000003118,0.000000000017747,0.000000000003123,0.000000000032827,0.000000000002476,1.30095606321102e-20,-6.40637312658384e-20,4.61564423047374e-20,7.6874469667316e-20,0.000422083068086,0.000422083068086,0.000000000071479,0.000000000071479,0.00000000007148,0.00000000007148,0.000422083068086,0.000000000071479,0.00000000007148,0.100257259919519,0.000000016978284,0.000000016978684,-0.000000000017747,0.100257259919519],[-6.41810261121249e-18,-6.14444969347379e-18,8.83773546118703e-18,-1.95907099660695e-18,8.10348295941374e-18,6.41810261121249e-18,6.14444969347379e-18,-8.83773546118703e-18,1.95907099660695e-18,2.41747686333082e-18,-8.10348295941374e-18,-7.70371977754894e-34,-7.70371977754894e-34,0.0,0.0,-7.70371977754894e-34,1.54074395550979e-33,3.52669247610436e-17,3.52669247610436e-17,3.59257422228146e-17,3.59257422228146e-17,3.35441897408936e-17,3.35441897408936e-17,3.52669247610436e-17,3.59257422228146e-17,3.35441897408936e-17,0.000000000000008,0.000000000000009,0.000000000000008,-2.41747686333083e-18,0.000000000000009],[0.000100011995866,0.0000328921974,-0.000000000006101,-0.000000000002149,-0.000000000002151,-0.000100011955667,-0.000032892194368,0.000000000006101,0.000000000002149,0.000000000006103,0.000000000002151,0.0000000000402,0.000000000003032,1.33928166743607e-20,-4.03426970734622e-20,2.33513369651468e-20,3.52514004031983e-20,0.000417892516724,0.000417892516724,0.000000000025668,0.000000000025668,0.000000000025668,0.000000000025668,0.000417892516724,0.000000000025668,0.000000000025668,0.099261879557613,0.000000006096916,0.00000000609689,-0.000000000006103,0.099261879557613],[0.000107018395501,0.000035196597821,-0.000000000032916,-0.000000000004739,-0.000000000004749,-0.000107018347617,-0.00003519659421,0.000000000032916,0.000000000004739,0.000000000032935,0.000000000004749,0.000000000047884,0.000000000003612,8.61722899451418e-20,-1.88681517349447e-19,1.33917264761628e-19,1.631559870352e-19,0.000447186511959,0.000447186511959,0.000000000131993,0.000000000131993,0.000000000131993,0.000000000131993,0.000447186511959,0.000000000131993,0.000000000131993,0.10622007313711,0.000000031352331,0.000000031352231,-0.000000000032935,0.10622007313711],[0.000000000002547,-0.000000000001151,0.00009898506068,0.000000040234503,-0.000000000001153,-0.000000000002547,0.000000000001151,-0.000098984701476,-0.000000040200137,-0.000000000002548,0.000000000001153,-3.60714008255015e-18,-2.66526428283607e-18,0.000000000359204,0.000000000034366,-5.06169892010052e-19,4.46344185655362e-18,0.000000000011094,0.000000000011094,0.000392879820853,0.000392879820853,0.000000000011094,0.000000000011094,0.000000000011094,0.000392879820853,0.000000000011094,0.000000002635138,0.093320621684756,0.000000002635162,0.000000000002548,0.093320621684756],[-7.5785516203324e-19,-2.02453372395138e-18,-1.53244180228516e-19,1.32012916149693e-18,7.04616861988705e-19,7.5785516203324e-19,2.02453372395138e-18,1.53244180228516e-19,-1.32012916149693e-18,-9.13101261565172e-19,-7.04616861988705e-19,-9.62964972193618e-35,3.85185988877447e-34,0.0,0.0,0.0,0.0,8.5808131398129e-18,8.5808131398129e-18,5.27488530058509e-18,5.27488530058509e-18,4.57502126377952e-18,4.57502126377952e-18,8.5808131398129e-18,5.27488530058509e-18,4.57502126377952e-18,0.000000000000002,0.000000000000001,0.000000000000001,9.13101261565172e-19,0.000000000000002],[0.000000000001071,-0.000000000000387,0.00000000000107,-0.000000000000388,0.000000005284593,-0.000000000001071,0.000000000000387,-0.00000000000107,0.000000000000388,-0.000044999149471,-0.000000005281566,-7.17258305590121e-21,1.99194269552303e-20,-7.3081308164348e-21,-7.15230137891911e-21,0.000000000040126,0.000000000003027,0.000000000004519,0.000000000004519,0.000000000004519,0.000000000004519,0.000178504438912,0.000178504438912,0.000000000004519,0.000000000004519,0.000178504438912,0.000000001073422,0.00000000107342,0.042400103870448,0.000044999189597,0.042400103870448],[0.000101014504313,0.000033221443626,-0.000000000017227,-0.000000000003117,-0.000000000003122,-0.000101014457409,-0.000033221440088,0.000000000017227,0.000000000003117,0.000000000017236,0.000000000003122,0.000000000046905,0.000000000003538,6.86131325464134e-20,-1.17566016027735e-19,6.04814786047483e-20,8.5780491082024e-20,0.000422083070015,0.000422083070015,0.00000000006948,0.00000000006948,0.000000000069482,0.000000000069482,0.000422083070015,0.00000000006948,0.000000000069482,0.100257260377694,0.0000000165036,0.000000016503978,-0.000000000017236,0.100257260377694],[3.64763605393773e-18,7.74318542680667e-18,8.52592052066751e-18,-1.0565384583712e-17,2.82273676924687e-18,-3.64763605393773e-18,-7.74318542680668e-18,-8.52592052066751e-18,1.0565384583712e-17,1.21858799975365e-17,-2.82273676924687e-18,-2.31111593326468e-33,-3.08148791101958e-33,-1.54074395550979e-33,3.08148791101958e-33,4.62223186652937e-33,3.85185988877447e-34,3.39736008010606e-17,3.39736008010607e-17,5.38806825684779e-17,5.38806825684779e-17,4.961791864182e-17,4.961791864182e-17,3.39736008010607e-17,5.38806825684779e-17,4.961791864182e-17,0.000000000000008,0.000000000000013,0.000000000000012,-1.21858799975365e-17,0.000000000000013],[0.00010001195625,0.000032892194354,-0.000000000005517,-0.000000000002163,-0.000000000002165,-0.000100011921364,-0.000032892191723,0.000000000005517,0.000000000002163,0.000000000005519,0.000000000002165,0.000000000034886,0.000000000002631,2.41978900830223e-20,5.67253443394052e-21,1.57050974869697e-20,9.66715601743388e-21,0.000417892518907,0.000417892518907,0.000000000023517,0.000000000023517,0.000000000023517,0.000000000023517,0.000417892518907,0.000000000023517,0.000000000023517,0.099261880076064,0.000000005585941,0.00000000558592,-0.000000000005519,0.099261880076064],[0.000107018348114,0.000035196594138,-0.00000000003242,-0.00000000000481,-0.00000000000482,-0.000107018300048,-0.000035196590513,0.00000000003242,0.00000000000481,0.000000000032438,0.00000000000482,0.000000000048066,0.000000000003626,6.11400145387428e-20,-2.10681128102583e-19,1.36984612031688e-19,1.48629031424021e-19,0.000447186513743,0.000447186513743,0.000000000130084,0.000000000130084,0.000000000130084,0.000000000130084,0.000447186513743,0.000000000130084,0.000000000130084,0.106220073560861,0.000000030898877,0.000000030898806,-0.000000000032438,0.106220073560861],[0.000000000002566,-0.000000000001141,0.000098984701495,0.000000040200146,-0.000000000001144,-0.000000000002566,0.000000000001141,-0.000098984406576,-0.00000004017193,-0.000000000002567,0.000000000001144,-2.98197434274036e-18,-2.21420179937173e-18,0.000000000294919,0.000000000028216,-4.46217319070539e-19,3.66159849661753e-18,0.000000000011147,0.000000000011147,0.000392879820927,0.000392879820927,0.000000000011147,0.000000000011147,0.000000000011147,0.000392879820927,0.000000000011147,0.000000002647737,0.093320621702509,0.000000002647759,0.000000000002567,0.093320621702509],[2.01314194374027e-19,7.04447500702319e-19,-7.10918598063808e-19,-1.77354265602766e-19,-5.27209774514112e-19,-2.01314194374027e-19,-7.04447500702319e-19,7.10918598063808e-19,1.77354265602766e-19,-5.09472171008135e-19,5.27209774514112e-19,-7.22223729145213e-35,9.62964972193618e-35,0.0,-2.40741243048404e-35,0.0,0.0,2.90818511760987e-18,2.90818511760987e-18,2.90818511760987e-18,2.90818511760987e-18,2.90818511760987e-18,2.90818511760987e-18,2.90818511760987e-18,2.90818511760987e-18,2.90818511760987e-18,6.90780306712279e-16,6.90780306712279e-16,6.90780306712279e-16,5.09472171008135e-19,6.90780306712279e-16],[0.00000000000107,-0.000000000000411,0.00000000000107,-0.000000000000412,0.000000005281542,-0.00000000000107,0.000000000000411,-0.00000000000107,0.000000000000412,-0.000044999011178,-0.000000005271111,-5.77599623009822e-21,3.96893400554867e-20,-4.09699211112664e-20,-2.87768663016704e-20,0.000000000138293,0.000000000010431,0.000000000004551,0.000000000004551,0.000000000004551,0.000000000004551,0.000178504438912,0.000178504438912,0.000000000004551,0.000000000004551,0.000178504438912,0.000000001081065,0.000000001081065,0.042400103870339,0.000044999149471,0.042400103870339],[0.000101014460349,0.000033221440355,-0.000000000014286,-0.000000000002853,-0.000000000002857,-0.000101013965238,-0.000033221403009,0.000000000014286,0.000000000002853,0.000000000014293,0.000000000002857,0.000000000495111,0.000000000037346,3.84398756723871e-19,-8.88273895830026e-19,5.87757917919856e-19,7.69514785667576e-19,0.000422083081432,0.000422083081432,0.000000000057818,0.000000000057818,0.000000000057819,0.000000000057819,0.000422083081432,0.000000000057818,0.000000000057819,0.100257263089563,0.000000013733434,0.000000013733812,-0.000000000014293,0.100257263089563],[0.000100011921647,0.000032892191747,-0.000000000005234,-0.000000000002138,-0.00000000000214,-0.000100011896591,-0.000032892189857,0.000000000005234,0.000000000002138,0.000000000005236,0.00000000000214,0.000000000025056,0.00000000000189,1.1275307007646e-20,-2.88957634173053e-20,2.83135441844448e-21,4.19914400943102e-20,0.000417892520005,0.000417892520005,0.000000000022437,0.000000000022437,0.000000000022437,0.000000000022437,0.000417892520005,0.000000000022437,0.000000000022437,0.099261880337034,0.000000005329393,0.00000000532937,-0.000000000005236,0.099261880337034],[0.000107018300534,0.000035196590609,-0.000000000031934,-0.000000000004715,-0.000000000004724,-0.000107018252501,-0.000035196586986,0.000000000031934,0.000000000004715,0.000000000031952,0.000000000004724,0.000000000048033,0.000000000003623,5.23733799234954e-20,-1.69437711313614e-19,1.15167943095452e-19,1.62166352673985e-19,0.000447186515694,0.000447186515694,0.000000000128121,0.000000000128121,0.000000000128121,0.000000000128121,0.000447186515694,0.000000000128121,0.000000000128121,0.106220074024222,0.000000030432542,0.00000003043245,-0.000000000031952,0.106220074024222],[0.000000000002574,-0.000000000001139,0.000098984406583,0.000000040171932,-0.000000000001141,-0.000000000002574,0.000000000001139,-0.000098984089955,-0.00000004014164,-0.000000000002575,0.000000000001141,-3.16067276591092e-18,-2.38884684387227e-18,0.000000000316628,0.000000000030293,-4.76391616140341e-19,3.93974607309367e-18,0.000000000011172,0.000000000011172,0.000392879820959,0.000392879820959,0.000000000011172,0.000000000011172,0.000000000011172,0.000392879820959,0.000000000011172,0.000000002653776,0.093320621710007,0.0000000026538,0.000000000002575,0.093320621710007],[-2.01313515141875e-19,-7.04448184482012e-19,7.10916530180831e-19,1.77353535376909e-19,5.27210704636275e-19,2.01313515141875e-19,7.04448184482012e-19,-7.10916530180831e-19,-1.77353535376908e-19,5.09471918453568e-19,-5.27210704636275e-19,3.37037740267766e-34,-9.62964972193618e-35,-1.92592994438724e-34,2.64815367353245e-34,-1.92592994438724e-34,-9.62964972193618e-35,2.90818511760987e-18,2.90818511760987e-18,2.90818511760987e-18,2.90818511760987e-18,2.90818511760987e-18,2.90818511760987e-18,2.90818511760987e-18,2.90818511760987e-18,2.90818511760987e-18,6.90780306712279e-16,6.90780306712279e-16,6.90780306712279e-16,-5.09471918453568e-19,6.90780306712279e-16],[0.000101013969089,0.000033221403294,-0.000000000010434,-0.000000000002571,-0.000000000002574,-0.000101013771057,-0.000033221388357,0.000000000010434,0.000000000002571,0.000000000010439,0.000000000002574,0.000000000198032,0.000000000014937,1.1748532835561e-19,-2.55905228804842e-19,1.59938956424978e-19,2.34822241606959e-19,0.000422083096309,0.000422083096309,0.000000000042647,0.000000000042647,0.000000000042648,0.000000000042648,0.000422083096309,0.000000000042647,0.000000000042648,0.100257266623295,0.000000010129885,0.000000010130244,-0.000000000010439,0.100257266623295],[0.000100011897071,0.00003289218985,-0.000000000004754,-0.000000000002147,-0.000000000002148,-0.000100011867981,-0.000032892187655,0.000000000004754,0.000000000002147,0.000000000004756,0.000000000002148,0.00000000002909,0.000000000002194,-1.02836208507715e-20,-7.34739301691105e-21,2.66591199514406e-20,4.02625033671036e-21,0.000417892521804,0.000417892521804,0.0000000000207,0.0000000000207,0.000000000020701,0.000000000020701,0.000417892521804,0.0000000000207,0.000000000020701,0.099261880764224,0.000000004916983,0.000000004916985,-0.000000000004756,0.099261880764224],[0.000107018253136,0.000035196586969,-0.000000000031298,-0.000000000004732,-0.000000000004742,-0.000107018205073,-0.000035196583343,0.000000000031298,0.000000000004732,0.000000000031316,0.000000000004742,0.000000000048063,0.000000000003625,6.9456947244097e-20,-1.90321996642105e-19,1.25370253061362e-19,1.38919948900978e-19,0.000447186518069,0.000447186518069,0.000000000125637,0.000000000125637,0.000000000125636,0.000000000125636,0.000447186518069,0.000000000125637,0.000000000125636,0.106220074588346,0.00000002984241,0.000000029842325,-0.000000000031316,0.106220074588346],[0.000000000002587,-0.000000000001096,0.000098984089968,0.000000040141682,-0.000000000001098,-0.000000000002587,0.000000000001096,-0.00009898315687,-0.000000040078585,-0.000000000002588,0.000000000001098,-1.79935168854047e-21,8.9223503558186e-21,0.000000000933099,0.000000000063097,1.0250523124953e-20,-2.92057764129441e-24,0.000000000011152,0.000000000011152,0.000392879821011,0.000392879821011,0.000000000011152,0.000000000011152,0.000000000011152,0.000392879821011,0.000000000011152,0.000000002648936,0.093320621722321,0.00000000264895,0.000000000002588,0.093320621722321],[-0.000000000000059,-0.00000000000002,-0.000000000000059,-0.00000000000002,-0.00000000000002,0.000000000000059,0.00000000000002,0.000000000000059,0.00000000000002,0.000000000000059,0.00000000000002,1.0097419586829e-28,1.57772181044202e-29,1.0097419586829e-28,3.15544362088405e-30,1.13595970351826e-28,6.31088724176809e-30,0.000000000000246,0.000000000000246,0.000000000000246,0.000000000000246,0.000000000000246,0.000000000000246,0.000000000000246,0.000000000000246,0.000000000000246,0.000000000058364,0.000000000058365,0.000000000058346,-0.000000000000059,0.000000000058365],[-2.78268164983905e-19,-6.60045975587799e-19,-4.32077877001715e-19,5.71381803096754e-19,8.87016626191725e-20,2.78268164983905e-19,6.60045975587799e-19,4.32077877001715e-19,-5.71381803096753e-19,-7.11288775291166e-19,-8.87016626191725e-20,0.0,0.0,-9.62964972193618e-35,9.62964972193618e-35,9.62964972193618e-35,0.0,2.84331037413386e-18,2.84331037413386e-18,2.84331037413386e-18,2.84331037413386e-18,2.84331037413386e-18,2.84331037413386e-18,2.84331037413386e-18,2.84331037413386e-18,2.84331037413386e-18,6.7537062906663e-16,6.7537062906663e-16,6.7537062906663e-16,7.11288775291166e-19,6.7537062906663e-16],[0.000101013772753,0.000033221388488,-0.000000000008738,-0.000000000002441,-0.000000000002444,-0.000101013672193,-0.000033221380902,0.000000000008738,0.000000000002441,0.000000000008742,0.000000000002444,0.00000000010056,0.000000000007585,4.28823402712175e-20,-1.11598883318897e-19,8.21198642695849e-20,1.10579077060164e-19,0.000422083102864,0.000422083102864,0.000000000036005,0.000000000036005,0.000000000036007,0.000000000036007,0.000422083102864,0.000000000036005,0.000000000036007,0.100257268180484,0.000000008552369,0.0000000085527,-0.000000000008742,0.100257268180484],[0.000100011868327,0.000032892187697,-0.000000000004407,-0.000000000002105,-0.000000000002107,-0.000100011824503,-0.000032892184392,0.000000000004407,0.000000000002105,0.000000000004409,0.000000000002107,0.000000000043824,0.000000000003306,2.35924488045961e-20,-3.43481187703936e-20,2.39273866746397e-20,2.63389941881372e-20,0.000417892523164,0.000417892523164,0.000000000019382,0.000000000019382,0.000000000019382,0.000000000019382,0.000417892523164,0.000000000019382,0.000000000019382,0.099261881087206,0.00000000460382,0.000000004603813,-0.000000000004409,0.099261881087206],[0.000107018205316,0.000035196583391,-0.000000000031055,-0.000000000004684,-0.000000000004694,-0.000107018181855,-0.000035196581622,0.000000000031055,0.000000000004684,0.000000000031073,0.000000000004694,0.000000000023461,0.00000000000177,2.72417652954076e-20,-8.67020256182674e-20,5.61194805849434e-20,7.80444213241314e-20,0.000447186519044,0.000447186519044,0.000000000124655,0.000000000124655,0.000000000124654,0.000000000124654,0.000447186519044,0.000000000124655,0.000000000124654,0.10622007482003,0.000000029609203,0.000000029609126,-0.000000000031073,0.10622007482003],[0.000000000002593,-0.000000000001083,0.000098983156876,0.000000040078598,-0.000000000001085,-0.000000000002593,0.000000000001083,-0.000098983020361,-0.000000040069367,-0.000000000002594,0.000000000001085,-4.78813295627928e-21,2.76280505635342e-21,0.000000000136515,0.000000000009231,4.07249126775985e-24,1.36663695034585e-20,0.000000000011154,0.000000000011154,0.000392879821035,0.000392879821035,0.000000000011154,0.000000000011154,0.000000000011154,0.000392879821035,0.000000000011154,0.000000002649288,0.093320621728008,0.000000002649297,0.000000000002594,0.093320621728008],[-0.000000000000043,-0.000000000000016,-0.000000000000043,-0.000000000000016,-0.000000000000016,0.000000000000043,0.000000000000016,0.000000000000043,0.000000000000016,0.000000000000043,0.000000000000016,6.31088724176809e-29,6.31088724176809e-30,6.31088724176809e-29,1.26217744835362e-29,6.31088724176809e-29,1.57772181044202e-29,0.000000000000181,0.000000000000181,0.000000000000181,0.000000000000181,0.00000000000018,0.00000000000018,0.000000000000181,0.000000000000181,0.00000000000018,0.000000000042884,0.000000000042883,0.000000000042865,-0.000000000000043,0.000000000042884],[2.54567151100841e-19,2.63418573283306e-19,-3.55368725364727e-19,8.90300944017632e-20,-3.52469080201205e-19,-2.54567151100841e-19,-2.63418573283306e-19,3.55368725364727e-19,-8.90300944017632e-20,-1.0071709070079e-19,3.52469080201205e-19,-4.81482486096809e-35,-9.62964972193618e-35,9.62964972193618e-35,0.0,-2.40741243048404e-35,9.62964972193618e-35,1.45409255880494e-18,1.45409255880494e-18,1.45409255880494e-18,1.45409255880494e-18,1.45409255880493e-18,1.45409255880494e-18,1.45409255880494e-18,1.45409255880494e-18,1.45409255880494e-18,3.45390153356139e-16,3.45390153356139e-16,3.45390153356139e-16,1.0071709070079e-19,3.45390153356139e-16],[0.000101013672759,0.000033221380858,-0.000000000008172,-0.000000000002486,-0.000000000002489,-0.000101013650507,-0.00003322137918,0.000000000008172,0.000000000002486,0.000000000008176,0.000000000002489,0.000000000022252,0.000000000001678,3.3482526362042e-21,-2.30639446127633e-20,9.37170915539432e-21,3.08276065794188e-20,0.000422083104944,0.000422083104944,0.000000000033898,0.000000000033898,0.000000000033899,0.000000000033899,0.000422083104944,0.000000000033898,0.000000000033899,0.100257268674378,0.000000008051869,0.000000008052095,-0.000000000008176,0.100257268674378],[0.000100011825179,0.000032892184445,-0.000000000003731,-0.000000000002052,-0.000000000002053,-0.000100011753579,-0.000032892179044,0.000000000003731,0.000000000002052,0.000000000003732,0.000000000002053,0.0000000000716,0.000000000005401,3.56488703810529e-20,-1.84732307496907e-20,4.32662312392116e-23,4.27750693244948e-20,0.00041789252578,0.00041789252578,0.000000000016897,0.000000000016897,0.000000000016897,0.000000000016897,0.00041789252578,0.000000000016897,0.000000000016897,0.099261881708631,0.000000004013496,0.000000004013501,-0.000000000003732,0.099261881708631],[0.000107018185048,0.000035196581877,-0.000000000027862,-0.000000000004431,-0.00000000000444,-0.000107017657755,-0.000035196542104,0.000000000027862,0.000000000004431,0.000000000027878,0.00000000000444,0.000000000527293,0.000000000039773,6.5015100768904e-19,-1.75684096885296e-18,1.19835050884723e-18,1.47091164936481e-18,0.000447186531399,0.000447186531399,0.000000000111977,0.000000000111977,0.000000000111977,0.000000000111977,0.000447186531399,0.000000000111977,0.000000000111977,0.106220077754692,0.000000026597877,0.000000026597833,-0.000000000027878,0.106220077754692],[0.000000000002594,-0.000000000001104,0.000098983020362,0.000000040069346,-0.000000000001106,-0.000000000002594,0.000000000001104,-0.000098982635768,-0.000000040043339,-0.000000000002595,0.000000000001106,7.66478520678385e-21,-2.80732900198153e-20,0.000000000384594,0.000000000026007,6.25555338243227e-24,2.04995639487106e-20,0.000000000011191,0.000000000011191,0.00039287982104,0.00039287982104,0.000000000011191,0.000000000011191,0.000000000011191,0.00039287982104,0.000000000011191,0.000000002658139,0.093320621729268,0.000000002658145,0.000000000002595,0.093320621729268],[-0.000000000000044,-0.000000000000018,-0.000000000000044,-0.000000000000018,-0.000000000000018,0.000000000000044,0.000000000000018,0.000000000000044,0.000000000000018,0.000000000000044,0.000000000000018,1.19906857593594e-28,1.57772181044202e-29,1.26217744835362e-28,2.20881053461883e-29,1.26217744835362e-28,1.57772181044202e-29,0.00000000000019,0.00000000000019,0.00000000000019,0.00000000000019,0.000000000000189,0.000000000000189,0.00000000000019,0.00000000000019,0.000000000000189,0.000000000045027,0.000000000045026,0.00000000004501,-0.000000000000044,0.000000000045027],[3.84776895362961e-20,-2.22014715035312e-20,-3.84856330905828e-20,-2.21941631762844e-20,4.44539374226809e-20,-3.84776895362961e-20,2.22014715035312e-20,3.84856330905828e-20,2.21941631762844e-20,-1.28882641368295e-23,-4.44539374226809e-20,0.0,0.0,0.0,0.0,8.36070357022352e-37,0.0,1.76334623805218e-19,1.76334623805218e-19,1.76334623805218e-19,1.76334623805218e-19,1.76334623805218e-19,1.76334623805218e-19,1.76334623805218e-19,1.76334623805218e-19,1.76334623805218e-19,4.18847083628131e-17,4.18847083628131e-17,4.18847083628131e-17,1.28882641368304e-23,4.18847083628131e-17],[0.000101013650969,0.000033221379235,-0.000000000007709,-0.00000000000243,-0.000000000002433,-0.000101013633445,-0.000033221377914,0.000000000007709,0.00000000000243,0.000000000007713,0.000000000002433,0.000000000017525,0.000000000001322,1.89971721195606e-20,-2.67755803577808e-20,-1.07899490897077e-20,2.99155309019476e-20,0.000422083106756,0.000422083106756,0.000000000032079,0.000000000032079,0.00000000003208,0.00000000003208,0.000422083106756,0.000000000032079,0.00000000003208,0.10025726910497,0.000000007619827,0.000000007620022,-0.000000000007713,0.10025726910497],[0.000046005282259,0.000015130343505,0.000000000000669,-0.000000000000758,-0.000000000000758,-0.000046005160685,-0.000015130334335,-0.000000000000669,0.000000000000758,-0.000000000000669,0.000000000000758,0.000000000121573,0.00000000000917,2.02428705791485e-20,3.53063635862611e-20,-3.8727196272507e-20,1.46765711976552e-20,0.000192230019858,0.000192230019858,0.000000000004012,0.000000000004012,0.000000000004012,0.000000000004012,0.000192230019858,0.000000000004012,0.000000000004012,0.045660336844667,0.000000000953057,0.000000000953055,0.000000000000669,0.045660336844667],[0.00005400647483,0.000017761835816,-0.000000000000889,-0.000000000001019,-0.000000000001019,-0.000054006028708,-0.000017761802166,0.000000000000889,0.000000000001019,0.000000000000889,0.000000000001019,0.000000000446122,0.00000000003365,1.28825428788184e-19,-7.68474247386947e-20,-1.14618153341182e-20,1.55804598873255e-19,0.000225662519499,0.000225662519499,0.000000000005366,0.000000000005366,0.000000000005366,0.000000000005366,0.000225662519499,0.000000000005366,0.000000000005366,0.053601548088983,0.000000001274554,0.000000001274553,-0.000000000000889,0.053601548088983],[0.00010701766256,0.000035196542464,-0.000000000023056,-0.000000000004075,-0.000000000004083,-0.000107017319672,-0.0000351965166,0.000000000023056,0.000000000004075,0.000000000023069,0.000000000004083,0.000000000342889,0.000000000025864,4.14042101987333e-19,-9.51612039852949e-19,6.1793384471318e-19,8.00171446568461e-19,0.000447186549966,0.000447186549966,0.000000000092929,0.000000000092929,0.000000000092929,0.000000000092929,0.000447186549966,0.000000000092929,0.000000000092929,0.106220082164921,0.000000022073335,0.000000022073285,-0.000000000023069,0.106220082164921],[0.000000000002624,-0.000000000001099,0.000098982635798,0.000000040043344,-0.000000000001101,-0.000000000002624,0.000000000001099,-0.000098982184188,-0.000000040012806,-0.000000000002625,0.000000000001101,-9.67629175877926e-21,-2.30022550336427e-21,0.000000000451609,0.000000000030538,6.83157320356322e-21,-6.8351367848838e-21,0.000000000011292,0.000000000011292,0.000392879821158,0.000392879821158,0.000000000011292,0.000000000011292,0.000000000011292,0.000392879821158,0.000000000011292,0.000000002682134,0.09332062175721,0.000000002682142,0.000000000002625,0.09332062175721],[-0.000000000000035,-0.000000000000014,-0.000000000000035,-0.000000000000014,-0.000000000000014,0.000000000000035,0.000000000000014,0.000000000000035,0.000000000000014,0.000000000000035,0.000000000000014,2.52435489670724e-29,-6.31088724176809e-30,3.15544362088405e-29,-1.57772181044202e-30,2.52435489670724e-29,-6.31088724176809e-30,0.000000000000148,0.000000000000148,0.000000000000148,0.000000000000148,0.000000000000148,0.000000000000148,0.000000000000148,0.000000000000148,0.000000000000148,0.000000000035158,0.000000000035157,0.000000000035143,-0.000000000000035,0.000000000035158],[-3.552235440565e-19,-6.15643032580739e-19,-3.55106610820551e-19,6.15770129449326e-19,-2.06212226189713e-22,3.552235440565e-19,6.15643032580739e-19,3.55106610820551e-19,-6.15770129449326e-19,-7.11262998762896e-19,2.06212226189733e-22,0.0,0.0,0.0,0.0,0.0,2.00069138509953e-35,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,6.70155333805009e-16,6.70155333805009e-16,6.70155333805009e-16,7.11262998762896e-19,6.70155333805009e-16],[0.000101013633168,0.000033221378181,-0.000000000007985,-0.000000000002163,-0.000000000002166,-0.000101013614392,-0.000033221376764,0.000000000007985,0.000000000002163,0.000000000007989,0.000000000002166,0.000000000018776,0.000000000001416,8.44315529695093e-21,-3.13976446891865e-20,1.17022679130426e-20,1.70400882357575e-20,0.000422083106046,0.000422083106046,0.000000000032833,0.000000000032833,0.000000000032834,0.000000000032834,0.000422083106046,0.000000000032833,0.000000000032834,0.100257268936239,0.000000007798831,0.000000007799004,-0.000000000007989,0.100257268936239],[0.000107017323231,0.000035196516862,-0.000000000019496,-0.000000000003816,-0.000000000003822,-0.000107017023341,-0.000035196494242,0.000000000019496,0.000000000003816,0.000000000019507,0.000000000003822,0.00000000029989,0.00000000002262,2.70387199200071e-19,-6.88841972905457e-19,4.54740551347678e-19,6.06002982529801e-19,0.000447186563713,0.000447186563713,0.000000000078849,0.000000000078849,0.000000000078849,0.000000000078849,0.000447186563713,0.000000000078849,0.000000000078849,0.106220085430176,0.000000018728911,0.00000001872886,-0.000000000019507,0.106220085430176],[0.000000000002583,-0.000000000001124,0.000098982184147,0.000000040012781,-0.000000000001126,-0.000000000002583,0.000000000001124,-0.000098982125563,-0.000000040008819,-0.000000000002584,0.000000000001126,1.62883446371441e-20,1.42526626412255e-20,0.000000000058584,0.000000000003961,-6.83313426463134e-21,1.98434489720363e-24,0.00000000001118,0.00000000001118,0.000392879820994,0.000392879820994,0.00000000001118,0.00000000001118,0.00000000001118,0.000392879820994,0.00000000001118,0.00000000265558,0.093320621718267,0.000000002655585,0.000000000002584,0.093320621718267],[-0.000000000000041,-0.000000000000024,-0.000000000000041,-0.000000000000024,-0.000000000000024,0.000000000000041,0.000000000000024,0.000000000000041,0.000000000000024,0.000000000000041,0.000000000000024,3.15544362088405e-29,9.46633086265214e-30,3.15544362088405e-29,3.15544362088405e-30,2.52435489670724e-29,3.15544362088405e-30,0.000000000000186,0.000000000000186,0.000000000000186,0.000000000000186,0.000000000000186,0.000000000000186,0.000000000000186,0.000000000000186,0.000000000000186,0.000000000044268,0.000000000044264,0.000000000044251,-0.000000000000041,0.000000000044268],[-5.56536329967816e-19,-1.3200919511756e-18,-8.64155754003434e-19,1.14276360619351e-18,1.77403325238345e-19,5.56536329967816e-19,1.3200919511756e-18,8.64155754003434e-19,-1.14276360619351e-18,-1.42257755058234e-18,-1.77403325238344e-19,0.0,0.0,0.0,0.0,0.0,2.40741243048404e-35,5.68662074826771e-18,5.68662074826771e-18,5.68662074826771e-18,5.68662074826771e-18,5.68662074826771e-18,5.68662074826771e-18,5.68662074826771e-18,5.68662074826771e-18,5.68662074826771e-18,0.000000000000001,0.000000000000001,0.000000000000001,1.42257755058234e-18,0.000000000000001],[0.000101013614622,0.000033221376417,-0.000000000007756,-0.000000000002511,-0.000000000002514,-0.000101013599599,-0.000033221375283,0.000000000007756,0.000000000002511,0.000000000007759,0.000000000002514,0.000000000015023,0.000000000001133,2.00754311285919e-21,-1.76902909713154e-20,5.25685880857093e-20,-6.50994090525752e-21,0.000422083106481,0.000422083106481,0.000000000032353,0.000000000032353,0.000000000032354,0.000000000032354,0.000422083106481,0.000000000032353,0.000000000032354,0.10025726903948,0.000000007684865,0.000000007684997,-0.000000000007759,0.10025726903948],[0.000107017026774,0.000035196494483,-0.000000000016062,-0.000000000003578,-0.000000000003583,-0.000107016712208,-0.000035196470756,0.000000000016062,0.000000000003578,0.000000000016071,0.000000000003583,0.000000000314565,0.000000000023727,2.88663021357871e-19,-6.0771690843305e-19,3.96133283065216e-19,5.30224134586445e-19,0.000447186576957,0.000447186576957,0.000000000065315,0.000000000065315,0.000000000065315,0.000000000065315,0.000447186576957,0.000000000065315,0.000000000065315,0.106220088575926,0.000000015514237,0.000000015514196,-0.000000000016071,0.106220088575926],[0.000000000001252,-0.000000000000547,0.000046991536859,0.000000019003877,-0.000000000000548,-0.000000000001252,0.000000000000547,-0.000046991520262,-0.000000019002755,-0.000000000001253,0.000000000000548,7.49337767227798e-21,3.56000733892092e-21,0.000000000016596,0.000000000001122,3.41462317709681e-21,-6.83417046182934e-21,0.000000000005423,0.000000000005423,0.000186518793023,0.000186518793023,0.000000000005423,0.000000000005423,0.000000000005423,0.000186518793023,0.000000000005423,0.000000001288214,0.044303750910363,0.000000001288222,0.000000000001253,0.044303750910363],[0.000000000001353,-0.000000000000584,0.000051990588728,0.000000021004935,-0.000000000000585,-0.000000000001353,0.000000000000584,-0.000051990543528,-0.000000021001879,-0.000000000001354,0.000000000000585,-5.21851365574156e-21,3.0110844481222e-21,0.0000000000452,0.000000000003056,-3.41754436058328e-21,-3.41559767906114e-21,0.000000000005851,0.000000000005851,0.000206361028063,0.000206361028063,0.000000000005851,0.000000000005851,0.000000000005851,0.000206361028063,0.000000000005851,0.000000001389807,0.049016870829661,0.000000001389818,0.000000000001354,0.049016870829661],[-0.000000000000068,-0.000000000000001,-0.000000000000068,-0.000000000000001,-0.000000000000001,0.000000000000068,0.000000000000001,0.000000000000068,0.000000000000001,0.000000000000068,0.000000000000001,7.57306469012171e-29,3.74708929979981e-30,5.04870979341448e-29,-3.74708929979981e-30,5.04870979341448e-29,2.95822839457879e-30,0.00000000000027,0.00000000000027,0.00000000000027,0.00000000000027,0.000000000000269,0.000000000000269,0.00000000000027,0.00000000000027,0.000000000000269,0.000000000064026,0.000000000064029,0.000000000064013,-0.000000000000068,0.000000000064029],[3.0782151629037e-19,-1.7761177202825e-19,-3.07885064724663e-19,-1.77553305410276e-19,3.55631499381449e-19,-3.0782151629037e-19,1.7761177202825e-19,3.07885064724663e-19,1.77553305410276e-19,-1.03106113094996e-22,-3.55631499381449e-19,0.0,-2.40741243048404e-35,0.0,2.40741243048404e-35,6.67680791267059e-36,0.0,1.41067699044174e-18,1.41067699044174e-18,1.41067699044174e-18,1.41067699044174e-18,1.41067699044174e-18,1.41067699044174e-18,1.41067699044174e-18,1.41067699044174e-18,1.41067699044174e-18,3.35077666902505e-16,3.35077666902505e-16,3.35077666902505e-16,1.03106113095003e-22,3.35077666902505e-16],[0.000101013599739,0.000033221375525,-0.000000000007616,-0.000000000002269,-0.000000000002272,-0.000101013585153,-0.000033221374425,0.000000000007616,0.000000000002269,0.000000000007619,0.000000000002272,0.000000000014586,0.0000000000011,2.42695518737269e-20,1.40138249426156e-20,-2.45166026114803e-20,1.44014131817657e-20,0.000422083107307,0.000422083107307,0.000000000031538,0.000000000031538,0.000000000031538,0.000000000031538,0.000422083107307,0.000000000031538,0.000000000031538,0.100257269235857,0.000000007491262,0.000000007491263,-0.000000000007619,0.100257269235857],[0.000107016716916,0.000035196471108,-0.000000000011354,-0.000000000003229,-0.000000000003233,-0.000107016179801,-0.000035196430595,0.000000000011354,0.000000000003229,0.00000000001136,0.000000000003233,0.000000000537115,0.000000000040514,3.73834293514853e-19,-7.18541625419503e-19,4.4903319252917e-19,6.83014304140365e-19,0.000447186595144,0.000447186595144,0.000000000046852,0.000000000046852,0.000000000046852,0.000000000046852,0.000447186595144,0.000000000046852,0.000000000046852,0.106220092896044,0.000000011128814,0.000000011128773,-0.00000000001136,0.106220092896044],[0.000000000001215,-0.000000000000565,0.000046991520225,0.000000019002736,-0.000000000000566,-0.000000000001215,0.000000000000565,-0.000046991504868,-0.000000019001698,-0.000000000001215,0.000000000000566,3.69949440575792e-21,-2.13458521102962e-21,0.000000000015357,0.000000000001038,-1.70729189858021e-21,3.41708664455341e-21,0.000000000005318,0.000000000005318,0.000186518792873,0.000186518792873,0.000000000005318,0.000000000005318,0.000000000005318,0.000186518792873,0.000000000005318,0.000000001263084,0.044303750874859,0.000000001263089,0.000000000001215,0.044303750874859],[0.000000000001361,-0.000000000000588,0.000051990543536,0.000000021001874,-0.00000000000059,-0.000000000001361,0.000000000000588,-0.000051990437757,-0.000000020994722,-0.000000000001362,0.00000000000059,3.20662744076968e-21,-9.733802621778e-21,0.000000000105779,0.000000000007153,1.71135247489286e-21,1.02492820511116e-20,0.000000000005886,0.000000000005886,0.000206361028093,0.000206361028093,0.000000000005886,0.000000000005886,0.000000000005886,0.000206361028093,0.000000000005886,0.000000001397987,0.049016870836785,0.000000001398005,0.000000000001362,0.049016870836785],[-2.13134126433901e-18,-3.69385819548444e-18,1.22531752784381e-21,2.46237308039277e-18,1.23132501472257e-18,2.131341264339e-18,3.69385819548444e-18,-1.22531752784403e-21,-2.46237308039277e-18,-2.1341461663416e-18,-1.23132501472257e-18,-3.85185988877447e-34,0.0,-2.22309491627511e-34,3.85185988877447e-34,3.85185988877447e-34,0.0,1.69281238853009e-17,1.69281238853009e-17,9.77345688205382e-18,9.77345688205382e-18,9.77345688205382e-18,9.77345688205382e-18,1.69281238853009e-17,9.77345688205382e-18,9.77345688205382e-18,0.000000000000004,0.000000000000002,0.000000000000002,2.1341461663416e-18,0.000000000000004],[-6.15643032580741e-19,3.55223544056501e-19,-3.53718702271802e-22,-7.10825880405026e-19,3.55452914354997e-19,6.1564303258074e-19,-3.55223544056501e-19,3.53718702271802e-22,7.10825880405026e-19,-6.16074931813665e-19,-3.55452914354997e-19,-9.62964972193618e-35,0.0,0.0,0.0,0.0,0.0,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,2.82135398088349e-18,6.70155333805009e-16,6.70155333805009e-16,6.70155333805009e-16,6.16074931813665e-19,6.70155333805009e-16],[0.000101013585475,0.000033221374239,-0.000000000007293,-0.000000000002455,-0.000000000002458,-0.000101013570926,-0.000033221373141,0.000000000007293,0.000000000002455,0.000000000007296,0.000000000002458,0.000000000014549,0.000000000001097,2.72456136239605e-20,-3.26555125588605e-20,-1.35370110572349e-20,1.68391847249998e-20,0.000422083108293,0.000422083108293,0.000000000030541,0.000000000030541,0.000000000030541,0.000000000030541,0.000422083108293,0.000000000030541,0.000000000030541,0.100257269470014,0.00000000725443,0.000000007254339,-0.000000000007296,0.100257269470014],[0.000107016183517,0.00003519643086,-0.000000000007638,-0.000000000002966,-0.000000000002969,-0.000107016051774,-0.000035196420923,0.000000000007638,0.000000000002966,0.000000000007641,0.000000000002969,0.000000000131743,0.000000000009937,8.16504651213552e-20,-1.23411169080687e-19,5.59648608182942e-20,1.1346726258332e-19,0.000447186609487,0.000447186609487,0.000000000032519,0.000000000032519,0.000000000032519,0.000000000032519,0.000447186609487,0.000000000032519,0.000000000032519,0.106220096302766,0.000000007724221,0.000000007724184,-0.000000000007641,0.106220096302766],[0.000000000001238,-0.000000000000525,0.000046991504891,0.000000019001738,-0.000000000000526,-0.000000000001238,0.000000000000525,-0.000046991481539,-0.000000019000159,-0.000000000001238,0.000000000000526,9.90139838038984e-22,3.37052915939987e-21,0.000000000023352,0.000000000001579,3.41859065520087e-21,6.8321918724613e-21,0.000000000005337,0.000000000005337,0.000186518792966,0.000186518792966,0.000000000005337,0.000000000005337,0.000000000005337,0.000186518792966,0.000000000005337,0.000000001267688,0.044303750896856,0.000000001267688,0.000000000001238,0.044303750896856],[0.00000000000136,-0.000000000000586,0.000051990437756,0.000000020994724,-0.000000000000588,-0.00000000000136,0.000000000000586,-0.000051990186817,-0.000000020977755,-0.000000000001361,0.000000000000588,4.46210747265975e-21,-2.57448686839451e-21,0.000000000250939,0.000000000016969,5.12508930049834e-21,-1.47220377575966e-24,0.00000000000588,0.00000000000588,0.000206361028091,0.000206361028091,0.00000000000588,0.00000000000588,0.00000000000588,0.000206361028091,0.00000000000588,0.000000001396783,0.049016870836294,0.000000001396784,0.000000000001361,0.049016870836294],[0.000101013571274,0.000033221373371,-0.000000000006945,-0.000000000002226,-0.000000000002228,-0.000101013556895,-0.000033221372287,0.000000000006945,0.000000000002226,0.000000000006948,0.000000000002228,0.000000000014379,0.000000000001085,-1.18196895937275e-20,-6.78175374701215e-21,2.71700340344563e-20,1.56844809795541e-20,0.000422083109889,0.000422083109889,0.000000000028945,0.000000000028945,0.000000000028945,0.000000000028945,0.000422083109889,0.000000000028945,0.000000000028945,0.100257269849057,0.000000006875326,0.000000006875363,-0.000000000006948,0.100257269849057],[0.000055008284655,0.000018091627749,-0.000000000003559,-0.000000000001443,-0.000000000001445,-0.000055008246256,-0.000018091624852,0.000000000003559,0.000000000001443,0.000000000003561,0.000000000001445,0.000000000038399,0.000000000002896,2.41678732818682e-20,-1.46911661089002e-20,2.49973884178297e-20,3.18159771475978e-20,0.000229862414946,0.000229862414946,0.000000000015244,0.000000000015244,0.000000000015244,0.000000000015244,0.000229862414946,0.000000000015244,0.000000000015244,0.054599147948515,0.000000003620911,0.000000003620884,-0.000000000003561,0.054599147948515],[0.000052007768792,0.000017104793335,-0.000000000002405,-0.000000000001363,-0.000000000001364,-0.000052007644721,-0.000017104779616,0.000000000002405,0.000000000001363,0.000000000002407,0.000000000001364,0.000000000124071,0.000000000013719,-1.79795439954011e-19,2.15256485809948e-19,-9.37610581422049e-20,-2.61748557254074e-19,0.000217324201047,0.000217324201047,0.000000000010973,0.000000000010973,0.000000000010973,0.000000000010973,0.000217324201047,0.000000000010973,0.000000000010973,0.051620949899732,0.0000000026064,0.000000002606393,-0.000000000002407,0.051620949899732],[0.000000000001232,-0.000000000000535,0.000046991481533,0.000000019000149,-0.000000000000536,-0.000000000001232,0.000000000000535,-0.000046991452023,-0.000000018998154,-0.000000000001233,0.000000000000536,5.08428441625762e-21,-2.93359584047092e-21,0.00000000002951,0.000000000001996,-1.70629003260881e-21,6.83367801067609e-21,0.000000000005332,0.000000000005332,0.000186518792943,0.000186518792943,0.000000000005332,0.000000000005332,0.000000000005332,0.000186518792943,0.000000000005332,0.000000001266396,0.044303750891358,0.000000001266396,0.000000000001233,0.044303750891358],[0.000101013558282,0.000033221372232,-0.000000000005558,-0.000000000002281,-0.000000000002283,-0.000101013301155,-0.000033221352838,0.000000000005558,0.000000000002281,0.00000000000556,0.000000000002283,0.000000000257127,0.000000000019395,1.14444876572362e-19,-1.63187587919539e-19,6.1559181044012e-20,1.82415290186718e-19,0.000422083115052,0.000422083115052,0.000000000023844,0.000000000023844,0.000000000023844,0.000000000023844,0.000422083115052,0.000000000023844,0.000000000023844,0.100257271075491,0.00000000566359,0.000000005663591,-0.00000000000556,0.100257271075491],[0.000055008246834,0.000018091624875,-0.000000000002981,-0.000000000001421,-0.000000000001422,-0.000055008183785,-0.00001809162012,0.000000000002981,0.000000000001421,0.000000000002983,0.000000000001422,0.000000000063048,0.000000000004756,1.93067622352671e-20,-5.01693167916695e-20,1.17190667880608e-20,4.27257961383434e-20,0.000229862417153,0.000229862417153,0.000000000013108,0.000000000013108,0.000000000013108,0.000000000013108,0.000229862417153,0.000000000013108,0.000000000013108,0.054599148472823,0.00000000311355,0.000000003113527,-0.000000000002983,0.054599148472823],[0.000052007646084,0.000017104779754,-0.000000000001042,-0.000000000001226,-0.000000000001227,-0.000052007540856,-0.000017104768118,0.000000000001042,0.000000000001226,0.000000000001042,0.000000000001227,0.000000000105229,0.000000000011636,-1.18439413337531e-19,5.54842717096784e-20,4.66777454208177e-23,-1.26745440627783e-19,0.000217324206359,0.000217324206359,0.000000000006386,0.000000000006386,0.000000000006386,0.000000000006386,0.000217324206359,0.000000000006386,0.000000000006386,0.051620951161433,0.000000001516849,0.000000001516851,-0.000000000001042,0.051620951161433],[0.000000000001226,-0.000000000000533,0.000046991452017,0.000000018998155,-0.000000000000534,-0.000000000001226,0.000000000000533,-0.000046991337134,-0.000000018990387,-0.000000000001227,0.000000000000534,-5.52990616084425e-21,-7.51029812022803e-22,0.000000000114883,0.000000000007769,1.70640736462441e-21,-6.83366973079203e-21,0.000000000005308,0.000000000005308,0.00018651879292,0.00018651879292,0.000000000005308,0.000000000005308,0.000000000005308,0.00018651879292,0.000000000005308,0.000000001260786,0.044303750885918,0.000000001260786,0.000000000001227,0.044303750885918],[0.000048006459823,0.000015788429257,-0.000000000002102,-0.000000000001048,-0.000000000001049,-0.000048006186376,-0.000015788408632,0.000000000002102,0.000000000001048,0.000000000002103,0.000000000001049,0.000000000273447,0.000000000020626,1.21589328419242e-19,-1.37469973786645e-19,7.06564794935403e-20,1.58458856467101e-19,0.000200594556648,0.000200594556648,0.000000000009322,0.000000000009322,0.000000000009322,0.000000000009322,0.000200594556648,0.000000000009322,0.000000000009322,0.047647162667588,0.000000002214179,0.000000002214179,-0.000000000002103,0.047647162667588],[0.000053006845318,0.000017432923869,0.000000000000531,-0.000000000000947,-0.000000000000948,-0.000053006658812,-0.000017432909801,-0.000000000000531,0.000000000000947,-0.000000000000532,0.000000000000948,0.000000000186506,0.000000000014068,3.41590177294942e-20,2.68848318123812e-20,-4.013095812272e-20,8.91191507657239e-21,0.000221488573794,0.000221488573794,0.000000000004311,0.000000000004311,0.000000000004311,0.000000000004311,0.000221488573794,0.000000000004311,0.000000000004311,0.052610112063542,0.000000001023875,0.000000001023877,0.000000000000532,0.052610112063542],[0.000055008184333,0.00001809162016,-0.000000000002434,-0.000000000001381,-0.000000000001382,-0.000055008171867,-0.00001809161922,0.000000000002434,0.000000000001381,0.000000000002435,0.000000000001382,0.000000000012466,0.00000000000094,1.24048350587842e-20,-9.21533243773702e-21,3.37130141004987e-21,1.94266606110282e-20,0.000229862419268,0.000229862419268,0.000000000011106,0.000000000011106,0.000000000011106,0.000000000011106,0.000229862419268,0.000000000011106,0.000000000011106,0.054599148975184,0.000000002637966,0.000000002637972,-0.000000000002435,0.054599148975184],[0.000052007542538,0.000017104768284,0.000000000000641,-0.000000000001061,-0.000000000001061,-0.000052007365671,-0.000017104748727,-0.000000000000641,0.000000000001061,-0.000000000000642,0.000000000001061,0.000000000176868,0.000000000019557,-1.37784118949302e-19,-1.17093818884538e-19,1.77993534628057e-19,-4.95135396746545e-20,0.000217324212911,0.000217324212911,0.000000000004919,0.000000000004919,0.000000000004919,0.000000000004919,0.000217324212911,0.000000000004919,0.000000000004919,0.051620952717731,0.000000001168354,0.000000001168352,0.000000000000642,0.051620952717731],[0.000000000001229,-0.000000000000531,0.000046991337137,0.000000018990389,-0.000000000000532,-0.000000000001229,0.000000000000531,-0.000046991128444,-0.000000018976277,-0.00000000000123,0.000000000000532,-6.69900438375613e-21,-4.01823944790695e-21,0.000000000208693,0.000000000014112,1.69636649058726e-25,1.13091099372484e-26,0.000000000005315,0.000000000005315,0.000186518792932,0.000186518792932,0.000000000005315,0.000000000005315,0.000000000005315,0.000186518792932,0.000000000005315,0.000000001262541,0.044303750888825,0.000000001262541,0.00000000000123,0.044303750888825],[0.000048006188898,0.000015788408825,0.00000000000042,-0.000000000000857,-0.000000000000857,-0.000048006007297,-0.000015788395127,-0.00000000000042,0.000000000000857,-0.00000000000042,0.000000000000857,0.0000000001816,0.000000000013698,3.66316083561508e-20,1.86541934723516e-20,-3.81642728045802e-20,2.28904022818084e-20,0.000200594566395,0.000200594566395,0.000000000003787,0.000000000003787,0.000000000003787,0.000000000003787,0.000200594566395,0.000000000003787,0.000000000003787,0.047647164982692,0.000000000899568,0.000000000899567,0.00000000000042,0.047647164982692],[0.000055008171919,0.000018091619216,-0.000000000002382,-0.000000000001384,-0.000000000001385,-0.000055008161385,-0.000018091618422,0.000000000002382,0.000000000001384,0.000000000002383,0.000000000001385,0.000000000010534,0.000000000000795,-1.16041969272539e-21,-1.53838680757055e-20,2.83535057322017e-21,1.7433810859255e-21,0.00022986241946,0.00022986241946,0.000000000010933,0.000000000010933,0.000000000010933,0.000000000010933,0.00022986241946,0.000000000010933,0.000000000010933,0.054599149020817,0.000000002596942,0.000000002596927,-0.000000000002383,0.054599149020817],[0.000055008161449,0.000018091618439,-0.000000000002318,-0.000000000001367,-0.000000000001368,-0.000055008152572,-0.000018091617769,0.000000000002318,0.000000000001367,0.000000000002319,0.000000000001368,0.000000000008877,0.00000000000067,9.69394366380417e-21,9.52251755004627e-21,1.16031467956169e-21,8.97102213965942e-21,0.000229862419722,0.000229862419722,0.000000000010681,0.000000000010681,0.000000000010681,0.000000000010681,0.000229862419722,0.000000000010681,0.000000000010681,0.054599149082834,0.00000000253706,0.000000002537034,-0.000000000002319,0.054599149082834],[0.000055008152787,0.000018091617861,-0.000000000002104,-0.000000000001276,-0.000000000001277,-0.00005500814124,-0.00001809161699,0.000000000002104,0.000000000001276,0.000000000002105,0.000000000001277,0.000000000011547,0.000000000000871,-8.12814569420384e-21,-1.13168708139429e-20,6.08373245956852e-21,1.12024864370697e-20,0.000229862420643,0.000229862420643,0.000000000009765,0.000000000009765,0.000000000009765,0.000000000009765,0.000229862420643,0.000000000009765,0.000000000009765,0.054599149301641,0.000000002319475,0.000000002319493,-0.000000000002105,0.054599149301641],[0.000055008141326,0.000018091616954,-0.000000000002017,-0.000000000001312,-0.000000000001313,-0.000055008120428,-0.000018091615377,0.000000000002017,0.000000000001312,0.000000000002018,0.000000000001313,0.000000000020898,0.000000000001576,8.72934646030042e-21,3.2141982840275e-21,-2.05796033664979e-21,9.41512462649502e-21,0.000229862420924,0.000229862420924,0.000000000009551,0.000000000009551,0.000000000009551,0.000000000009551,0.000229862420924,0.000000000009551,0.000000000009551,0.054599149368354,0.000000002268746,0.000000002268733,-0.000000000002018,0.054599149368354],[0.00005500812074,0.000018091615453,-0.000000000001705,-0.000000000001237,-0.000000000001238,-0.000055008084507,-0.000018091612719,0.000000000001705,0.000000000001237,0.000000000001706,0.000000000001238,0.000000000036234,0.000000000002733,1.50052412964388e-20,-3.43085356739229e-21,8.47783023970888e-21,2.56307432049102e-20,0.000229862422195,0.000229862422195,0.000000000008361,0.000000000008361,0.000000000008361,0.000000000008361,0.000229862422195,0.000000000008361,0.000000000008361,0.054599149670254,0.000000001985889,0.000000001985887,-0.000000000001706,0.054599149670254],[0.000055008086327,0.000018091612834,0.000000000000116,-0.000000000001124,-0.000000000001124,-0.000055007789535,-0.000018091590448,-0.000000000000116,0.000000000001124,-0.000000000000117,0.000000000001124,0.000000000296792,0.000000000022387,7.99053825192551e-20,1.94921353088551e-20,-5.74067038747886e-20,4.86129538509311e-20,0.000229862429203,0.000229862429203,0.000000000004484,0.000000000004484,0.000000000004484,0.000000000004484,0.000229862429203,0.000000000004484,0.000000000004484,0.054599151334937,0.000000001065072,0.000000001065072,0.000000000000117,0.054599151334937]]}", + "orient": "split", "dtype": { "p_a_from_mw": "float64", "q_a_from_mvar": "float64", @@ -1651,13 +1837,13 @@ "loading_percentC": "float64", "p_c_from_mw": "float64", "loading_percent": "float64" - }, - "orient": "split" + } }, "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_percentA\",\"loading_percentB\",\"loading_percentC\",\"loading_percent\",\"va_c_degreehv_ka\"],\"index\":[0],\"data\":[[0.000995126356876,0.000199664224564,0.000829555699059,0.00012824313494,0.000974193587468,0.000020565251111,-0.000995101353895,-0.000199517567462,-0.000829555072444,-0.000128141683379,-0.000974182696959,-0.000020448158741,0.000000025002982,0.000000146657102,0.000000000626614,0.000000101451561,0.000000010890509,0.00000011709237,null,0.004024636149826,0.000125878843341,0.003328527038884,0.000146123701201,0.00386384778857,0.362485465338517,0.299789254895522,0.34800379748559,0.362485465338517,0.000152204424807]]}", + "orient": "split", "dtype": { "p_a_hv_mw": "float64", "q_a_hv_mvar": "float64", @@ -1688,13 +1874,123 @@ "loading_percentC": "float64", "loading_percent": "float64", "va_c_degreehv_ka": "float64" - }, - "orient": "split" + } + }, + "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\":[0],\"data\":[[0.000995126356877,0.000199664224564,0.000829555699059,0.00012824313494,0.000974193587468,0.000020565251111]]}", + "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" + } + }, + "res_shunt_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"p_a_mw\",\"p_b_mw\",\"p_c_mw\",\"q_a_mvar\",\"q_b_mvar\",\"q_c_mvar\",\"vm_pu\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "p_a_mw": "float64", + "p_b_mw": "float64", + "p_c_mw": "float64", + "q_a_mvar": "float64", + "q_b_mvar": "float64", + "q_c_mvar": "float64", + "vm_pu": "float64" + } + }, + "res_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" + } + }, + "res_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" + } + }, + "res_storage_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"p_a_mw\",\"p_b_mw\",\"p_c_mw\",\"q_a_mvar\",\"q_b_mvar\",\"q_c_mvar\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "p_a_mw": "float64", + "p_b_mw": "float64", + "p_c_mw": "float64", + "q_a_mvar": "float64", + "q_b_mvar": "float64", + "q_c_mvar": "float64" + } + }, + "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\":[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],\"data\":[[0.000036000001273,0.000011832627933,0.0,0.0,0.0,0.0],[0.0,0.0,0.000044000000344,0.000000014462101,0.0,0.0],[0.000054000000091,0.0000177489419,0.0,0.0,0.0,0.0],[0.000048000001698,0.000015776837245,0.0,0.0,0.0,0.0],[0.000035000000935,0.000011503943824,0.0,0.0,0.0,0.0],[0.0,0.0,0.000051999999414,0.000000017091573,0.0,0.0],[0.0,0.0,0.00005500000043,0.000000018077627,0.0,0.0],[0.0,0.0,0.0,0.0,0.000043000000005,0.000000014133416],[0.000059000001784,0.000019392362447,0.0,0.0,0.0,0.0],[0.0,0.0,0.000057000001107,0.000000018734994,0.0,0.0],[0.0,0.0,0.000048999998398,0.00000001610552,0.0,0.0],[0.0,0.0,0.0,0.0,0.000092000002041,0.000000030238937],[0.0,0.0,0.000056000000768,0.000000018406309,0.0,0.0],[0.000048999998398,0.000016105521354,0.0,0.0,0.0,0.0],[0.0,0.0,0.000052999999753,0.000000017420257,0.0,0.0],[0.0,0.0,0.0,0.0,0.000087000000349,0.000000028595517],[0.0,0.0,0.0,0.0,0.000048000001698,0.000000015776838],[0.0,0.0,0.0,0.0,0.000048999998398,0.00000001610552],[0.0,0.0,0.0,0.0,0.000052999999753,0.000000017420257],[0.000050999999075,0.000016762889572,0.0,0.0,0.0,0.0],[0.000045000000682,0.000014790784917,0.0,0.0,0.0,0.0],[0.000054000000091,0.0000177489419,0.0,0.0,0.0,0.0],[0.0,0.0,0.00005500000043,0.000000018077627,0.0,0.0],[0.0,0.0,0.0,0.0,0.000054000000091,0.000000017748942],[0.000049999998737,0.000016434205463,0.0,0.0,0.0,0.0],[0.0,0.0,0.000034000000596,0.00000001117526,0.0,0.0],[0.0,0.0,0.0,0.0,0.000050999999075,0.00000001676289],[0.0,0.0,0.0,0.0,0.000028000000384,0.000000009203155],[0.000054000000091,0.0000177489419,0.0,0.0,0.0,0.0],[0.000052999999753,0.000017420257791,0.0,0.0,0.0,0.0],[0.000052999999753,0.000017420257791,0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.000056000000768,0.000000018406309],[0.0,0.0,0.0,0.0,0.000057000001107,0.000000018734994],[0.000045000000682,0.000014790784917,0.0,0.0,0.0,0.0],[0.0,0.0,0.000043000000005,0.000000014133416,0.0,0.0],[0.0,0.0,0.00005500000043,0.000000018077627,0.0,0.0],[0.0,0.0,0.000045000000682,0.000000014790785,0.0,0.0],[0.0,0.0,0.000051999999414,0.000000017091573,0.0,0.0],[0.0,0.0,0.0,0.0,0.000048000001698,0.000000015776838],[0.0,0.0,0.000043000000005,0.000000014133416,0.0,0.0],[0.0,0.0,0.000051999999414,0.000000017091573,0.0,0.0],[0.0,0.0,0.0,0.0,0.000054000000091,0.000000017748942],[0.0,0.0,0.0,0.0,0.000049999998737,0.000000016434205],[0.0,0.0,0.000029000000723,0.000000009531839,0.0,0.0],[0.0,0.0,0.000052999999753,0.000000017420257,0.0,0.0],[0.000061999999161,0.000020378414774,0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.000045000000682,0.000000014790785],[0.000046000001021,0.000015119469026,0.0,0.0,0.0,0.0],[0.000054000000091,0.0000177489419,0.0,0.0,0.0,0.0],[0.0,0.0,0.000051999999414,0.000000017091573,0.0,0.0],[0.000052999999753,0.000017420257791,0.0,0.0,0.0,0.0],[0.000051999999414,0.000017091573682,0.0,0.0,0.0,0.0],[0.0,0.0,0.000047000001359,0.000000015448153,0.0,0.0],[0.000048000001698,0.000015776837245,0.0,0.0,0.0,0.0],[0.00005500000043,0.000018077626009,0.0,0.0,0.0,0.0]]}", + "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" + } + }, + "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" + } + }, + "user_pf_options": {}, + "res_switch": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"pf_closed\",\"pf_in_service\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "pf_closed": "bool", + "pf_in_service": "bool" + } }, "res_trafo3w_3ph": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"p_a_hv_mw\",\"p_b_hv_mw\",\"p_c_hv_mw\",\"q_a_hv_mvar\",\"q_b_hv_mvar\",\"q_c_hv_mvar\",\"p_a_mv_mw\",\"p_b_mv_mw\",\"p_c_mv_mw\",\"q_a_mv_mvar\",\"q_b_mv_mvar\",\"q_c_mv_mvar\",\"p_a_lv_mw\",\"p_b_lv_mw\",\"p_c_lv_mw\",\"q_a_lv_mvar\",\"q_b_lv_mvar\",\"q_c_lv_mvar\",\"pl_a_mw\",\"pl_b_mw\",\"pl__Cmw\",\"ql_a_mvar\",\"ql_b_mvar\",\"ql_c_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_a_hv_mw": "float64", "p_b_hv_mw": "float64", @@ -1732,13 +2028,13 @@ "va_internal_degree": "float64", "vm_internal_pu": "float64", "loading_percent": "float64" - }, - "orient": "split" + } }, "res_impedance_3ph": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"p_a_from_mw\",\"p_b_from_mw\",\"p_c_from_mw\",\"q_a_from_mvar\",\"q_b_from_mvar\",\"q_c_from_mvar\",\"p_a_to_mw\",\"p_b_to_mw\",\"p_c_to_mw\",\"q_a_to_mvar\",\"q_b_to_mvar\",\"q_c_to_mvar\",\"pl_a_mw\",\"pl_b_mw\",\"pl_c_mw\",\"ql_a_mvar\",\"ql_b_mvar\",\"ql_c_mvar\",\"i_from_ka\",\"i_to_ka\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "p_a_from_mw": "float64", "p_b_from_mw": "float64", @@ -1760,84 +2056,13 @@ "ql_c_mvar": "float64", "i_from_ka": "float64", "i_to_ka": "float64" - }, - "orient": "split" - }, - "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\":[0],\"data\":[[0.000995126356877,0.000199664224564,0.000829555699059,0.00012824313494,0.000974193587468,0.000020565251111]]}", - "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" - }, - "orient": "split" - }, - "res_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\":[]}", - "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" - }, - "orient": "split" - }, - "res_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\":[]}", - "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" - }, - "orient": "split" - }, - "res_storage_3ph": { - "_module": "pandas.core.frame", - "_class": "DataFrame", - "_object": "{\"columns\":[\"p_a_mw\",\"p_b_mw\",\"p_c_mw\",\"q_a_mvar\",\"q_b_mvar\",\"q_c_mvar\"],\"index\":[],\"data\":[]}", - "dtype": { - "p_a_mw": "float64", - "p_b_mw": "float64", - "p_c_mw": "float64", - "q_a_mvar": "float64", - "q_b_mvar": "float64", - "q_c_mvar": "float64" - }, - "orient": "split" - }, - "res_shunt_3ph": { - "_module": "pandas.core.frame", - "_class": "DataFrame", - "_object": "{\"columns\":[\"p_a_mw\",\"p_b_mw\",\"p_c_mw\",\"q_a_mvar\",\"q_b_mvar\",\"q_c_mvar\",\"vm_pu\"],\"index\":[],\"data\":[]}", - "dtype": { - "p_a_mw": "float64", - "p_b_mw": "float64", - "p_c_mw": "float64", - "q_a_mvar": "float64", - "q_b_mvar": "float64", - "q_c_mvar": "float64", - "vm_pu": "float64" - }, - "orient": "split" + } }, "res_gen_3ph": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"p_a_mw\",\"q_a_mvar\",\"va_a_degree\",\"vm_a_pu\",\"p_b_mw\",\"q_b_mvar\",\"va_b_degree\",\"vm_b_pu\",\"p_c_mw\",\"q_c_mvar\",\"va_c_degree\",\"vm_c_pu\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "p_a_mw": "float64", "q_a_mvar": "float64", @@ -1851,13 +2076,13 @@ "q_c_mvar": "float64", "va_c_degree": "float64", "vm_c_pu": "float64" - }, - "orient": "split" + } }, "res_ward_3ph": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"p_a_mw\",\"p_b_mw\",\"p_c_mw\",\"q_a_mvar\",\"q_b_mvar\",\"q_c_mvar\",\"vm_pu\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "p_a_mw": "float64", "p_b_mw": "float64", @@ -1866,13 +2091,13 @@ "q_b_mvar": "float64", "q_c_mvar": "float64", "vm_pu": "float64" - }, - "orient": "split" + } }, "res_xward_3ph": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"p_a_mw\",\"p_b_mw\",\"p_c_mw\",\"q_a_mvar\",\"q_b_mvar\",\"q_c_mvar\",\"vm_pu\",\"va_internal_degree\",\"vm_internal_pu\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "p_a_mw": "float64", "p_b_mw": "float64", @@ -1883,13 +2108,13 @@ "vm_pu": "float64", "va_internal_degree": "float64", "vm_internal_pu": "float64" - }, - "orient": "split" + } }, "res_dcline_3ph": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"p_a_from_mw\",\"p_b_from_mw\",\"p_c_from_mw\",\"q_a_from_mvar\",\"q_b_from_mvar\",\"q_c_from_mvar\",\"p_a_to_mw\",\"p_b_to_mw\",\"p_c_to_mw\",\"q_a_to_mvar\",\"q_b_to_mvar\",\"q_c_to_mvar\",\"pl_a_mw\",\"pl_b_mw\",\"pl_c_mw\",\"vm_from_pu\",\"va_from_degree\",\"vm_to_pu\",\"va_to_degree\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "p_a_from_mw": "float64", "p_b_from_mw": "float64", @@ -1910,36 +2135,7 @@ "va_from_degree": "float64", "vm_to_pu": "float64", "va_to_degree": "float64" - }, - "orient": "split" - }, - "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\":[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],\"data\":[[0.000036000001273,0.000011832627933,0.0,0.0,0.0,0.0],[0.0,0.0,0.000044000000344,0.000000014462101,0.0,0.0],[0.000054000000091,0.0000177489419,0.0,0.0,0.0,0.0],[0.000048000001698,0.000015776837245,0.0,0.0,0.0,0.0],[0.000035000000935,0.000011503943824,0.0,0.0,0.0,0.0],[0.0,0.0,0.000051999999414,0.000000017091573,0.0,0.0],[0.0,0.0,0.00005500000043,0.000000018077627,0.0,0.0],[0.0,0.0,0.0,0.0,0.000043000000005,0.000000014133416],[0.000059000001784,0.000019392362447,0.0,0.0,0.0,0.0],[0.0,0.0,0.000057000001107,0.000000018734994,0.0,0.0],[0.0,0.0,0.000048999998398,0.00000001610552,0.0,0.0],[0.0,0.0,0.0,0.0,0.000092000002041,0.000000030238937],[0.0,0.0,0.000056000000768,0.000000018406309,0.0,0.0],[0.000048999998398,0.000016105521354,0.0,0.0,0.0,0.0],[0.0,0.0,0.000052999999753,0.000000017420257,0.0,0.0],[0.0,0.0,0.0,0.0,0.000087000000349,0.000000028595517],[0.0,0.0,0.0,0.0,0.000048000001698,0.000000015776838],[0.0,0.0,0.0,0.0,0.000048999998398,0.00000001610552],[0.0,0.0,0.0,0.0,0.000052999999753,0.000000017420257],[0.000050999999075,0.000016762889572,0.0,0.0,0.0,0.0],[0.000045000000682,0.000014790784917,0.0,0.0,0.0,0.0],[0.000054000000091,0.0000177489419,0.0,0.0,0.0,0.0],[0.0,0.0,0.00005500000043,0.000000018077627,0.0,0.0],[0.0,0.0,0.0,0.0,0.000054000000091,0.000000017748942],[0.000049999998737,0.000016434205463,0.0,0.0,0.0,0.0],[0.0,0.0,0.000034000000596,0.00000001117526,0.0,0.0],[0.0,0.0,0.0,0.0,0.000050999999075,0.00000001676289],[0.0,0.0,0.0,0.0,0.000028000000384,0.000000009203155],[0.000054000000091,0.0000177489419,0.0,0.0,0.0,0.0],[0.000052999999753,0.000017420257791,0.0,0.0,0.0,0.0],[0.000052999999753,0.000017420257791,0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.000056000000768,0.000000018406309],[0.0,0.0,0.0,0.0,0.000057000001107,0.000000018734994],[0.000045000000682,0.000014790784917,0.0,0.0,0.0,0.0],[0.0,0.0,0.000043000000005,0.000000014133416,0.0,0.0],[0.0,0.0,0.00005500000043,0.000000018077627,0.0,0.0],[0.0,0.0,0.000045000000682,0.000000014790785,0.0,0.0],[0.0,0.0,0.000051999999414,0.000000017091573,0.0,0.0],[0.0,0.0,0.0,0.0,0.000048000001698,0.000000015776838],[0.0,0.0,0.000043000000005,0.000000014133416,0.0,0.0],[0.0,0.0,0.000051999999414,0.000000017091573,0.0,0.0],[0.0,0.0,0.0,0.0,0.000054000000091,0.000000017748942],[0.0,0.0,0.0,0.0,0.000049999998737,0.000000016434205],[0.0,0.0,0.000029000000723,0.000000009531839,0.0,0.0],[0.0,0.0,0.000052999999753,0.000000017420257,0.0,0.0],[0.000061999999161,0.000020378414774,0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.000045000000682,0.000000014790785],[0.000046000001021,0.000015119469026,0.0,0.0,0.0,0.0],[0.000054000000091,0.0000177489419,0.0,0.0,0.0,0.0],[0.0,0.0,0.000051999999414,0.000000017091573,0.0,0.0],[0.000052999999753,0.000017420257791,0.0,0.0,0.0,0.0],[0.000051999999414,0.000017091573682,0.0,0.0,0.0,0.0],[0.0,0.0,0.000047000001359,0.000000015448153,0.0,0.0],[0.000048000001698,0.000015776837245,0.0,0.0,0.0,0.0],[0.00005500000043,0.000018077626009,0.0,0.0,0.0,0.0]]}", - "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" - }, - "orient": "split" - }, - "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\":[]}", - "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" - }, - "orient": "split" + } }, "OPF_converged": false } diff --git a/pandapower/networks/IEEE_European_LV_Off_Peak_1440.json b/pandapower/networks/IEEE_European_LV_Off_Peak_1440.json index fbce1bce5..e95813d1d 100644 --- a/pandapower/networks/IEEE_European_LV_Off_Peak_1440.json +++ b/pandapower/networks/IEEE_European_LV_Off_Peak_1440.json @@ -6,6 +6,7 @@ "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"name\",\"vn_kv\",\"type\",\"zone\",\"in_service\",\"description\",\"substat\",\"folder_id\",\"sernum\",\"for_name\",\"chr_name\",\"pf_converged\",\"pf_name\"],\"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,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906],\"data\":[[\"SOURCEBUS\",11.0,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"SOURCEBUS\"],[\"1\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"1\"],[\"2\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"2\"],[\"3\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"3\"],[\"4\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"4\"],[\"5\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"5\"],[\"6\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"6\"],[\"7\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"7\"],[\"8\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"8\"],[\"9\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"9\"],[\"10\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"10\"],[\"11\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"11\"],[\"12\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"12\"],[\"13\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"13\"],[\"14\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"14\"],[\"15\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"15\"],[\"16\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"16\"],[\"17\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"17\"],[\"18\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"18\"],[\"19\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"19\"],[\"20\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"20\"],[\"21\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"21\"],[\"22\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"22\"],[\"23\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"23\"],[\"24\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"24\"],[\"25\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"25\"],[\"26\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"26\"],[\"27\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"27\"],[\"28\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"28\"],[\"29\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"29\"],[\"30\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"30\"],[\"31\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"31\"],[\"32\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"32\"],[\"33\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"33\"],[\"34\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"34\"],[\"35\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"35\"],[\"36\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"36\"],[\"37\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"37\"],[\"38\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"38\"],[\"39\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"39\"],[\"40\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"40\"],[\"41\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"41\"],[\"42\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"42\"],[\"43\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"43\"],[\"44\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"44\"],[\"45\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"45\"],[\"46\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"46\"],[\"47\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"47\"],[\"48\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"48\"],[\"49\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"49\"],[\"50\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"50\"],[\"51\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"51\"],[\"52\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"52\"],[\"53\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"53\"],[\"54\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"54\"],[\"55\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"55\"],[\"56\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"56\"],[\"57\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"57\"],[\"58\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"58\"],[\"59\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"59\"],[\"60\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"60\"],[\"61\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"61\"],[\"62\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"62\"],[\"63\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"63\"],[\"64\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"64\"],[\"65\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"65\"],[\"66\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"66\"],[\"67\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"67\"],[\"68\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"68\"],[\"69\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"69\"],[\"70\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"70\"],[\"71\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"71\"],[\"72\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"72\"],[\"73\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"73\"],[\"74\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"74\"],[\"75\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"75\"],[\"76\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"76\"],[\"77\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"77\"],[\"78\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"78\"],[\"79\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"79\"],[\"80\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"80\"],[\"81\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"81\"],[\"82\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"82\"],[\"83\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"83\"],[\"84\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"84\"],[\"85\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"85\"],[\"86\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"86\"],[\"87\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"87\"],[\"88\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"88\"],[\"89\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"89\"],[\"90\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"90\"],[\"91\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"91\"],[\"92\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"92\"],[\"93\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"93\"],[\"94\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"94\"],[\"95\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"95\"],[\"96\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"96\"],[\"97\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"97\"],[\"98\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"98\"],[\"99\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"99\"],[\"100\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"100\"],[\"101\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"101\"],[\"102\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"102\"],[\"103\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"103\"],[\"104\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"104\"],[\"105\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"105\"],[\"106\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"106\"],[\"107\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"107\"],[\"108\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"108\"],[\"109\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"109\"],[\"110\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"110\"],[\"111\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"111\"],[\"112\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"112\"],[\"113\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"113\"],[\"114\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"114\"],[\"115\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"115\"],[\"116\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"116\"],[\"117\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"117\"],[\"118\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"118\"],[\"119\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"119\"],[\"120\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"120\"],[\"121\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"121\"],[\"122\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"122\"],[\"123\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"123\"],[\"124\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"124\"],[\"125\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"125\"],[\"126\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"126\"],[\"127\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"127\"],[\"128\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"128\"],[\"129\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"129\"],[\"130\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"130\"],[\"131\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"131\"],[\"132\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"132\"],[\"133\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"133\"],[\"134\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"134\"],[\"135\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"135\"],[\"136\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"136\"],[\"137\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"137\"],[\"138\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"138\"],[\"139\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"139\"],[\"140\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"140\"],[\"141\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"141\"],[\"142\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"142\"],[\"143\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"143\"],[\"144\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"144\"],[\"145\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"145\"],[\"146\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"146\"],[\"147\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"147\"],[\"148\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"148\"],[\"149\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"149\"],[\"150\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"150\"],[\"151\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"151\"],[\"152\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"152\"],[\"153\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"153\"],[\"154\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"154\"],[\"155\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"155\"],[\"156\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"156\"],[\"157\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"157\"],[\"158\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"158\"],[\"159\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"159\"],[\"160\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"160\"],[\"161\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"161\"],[\"162\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"162\"],[\"163\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"163\"],[\"164\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"164\"],[\"165\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"165\"],[\"166\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"166\"],[\"167\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"167\"],[\"168\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"168\"],[\"169\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"169\"],[\"170\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"170\"],[\"171\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"171\"],[\"172\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"172\"],[\"173\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"173\"],[\"174\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"174\"],[\"175\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"175\"],[\"176\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"176\"],[\"177\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"177\"],[\"178\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"178\"],[\"179\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"179\"],[\"180\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"180\"],[\"181\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"181\"],[\"182\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"182\"],[\"183\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"183\"],[\"184\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"184\"],[\"185\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"185\"],[\"186\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"186\"],[\"187\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"187\"],[\"188\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"188\"],[\"189\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"189\"],[\"190\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"190\"],[\"191\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"191\"],[\"192\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"192\"],[\"193\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"193\"],[\"194\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"194\"],[\"195\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"195\"],[\"196\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"196\"],[\"197\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"197\"],[\"198\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"198\"],[\"199\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"199\"],[\"200\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"200\"],[\"201\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"201\"],[\"202\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"202\"],[\"203\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"203\"],[\"204\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"204\"],[\"205\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"205\"],[\"206\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"206\"],[\"207\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"207\"],[\"208\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"208\"],[\"209\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"209\"],[\"210\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"210\"],[\"211\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"211\"],[\"212\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"212\"],[\"213\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"213\"],[\"214\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"214\"],[\"215\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"215\"],[\"216\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"216\"],[\"217\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"217\"],[\"218\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"218\"],[\"219\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"219\"],[\"220\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"220\"],[\"221\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"221\"],[\"222\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"222\"],[\"223\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"223\"],[\"224\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"224\"],[\"225\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"225\"],[\"226\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"226\"],[\"227\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"227\"],[\"228\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"228\"],[\"229\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"229\"],[\"230\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"230\"],[\"231\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"231\"],[\"232\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"232\"],[\"233\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"233\"],[\"234\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"234\"],[\"235\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"235\"],[\"236\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"236\"],[\"237\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"237\"],[\"238\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"238\"],[\"239\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"239\"],[\"240\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"240\"],[\"241\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"241\"],[\"242\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"242\"],[\"243\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"243\"],[\"244\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"244\"],[\"245\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"245\"],[\"246\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"246\"],[\"247\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"247\"],[\"248\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"248\"],[\"249\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"249\"],[\"250\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"250\"],[\"251\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"251\"],[\"252\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"252\"],[\"253\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"253\"],[\"254\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"254\"],[\"255\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"255\"],[\"256\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"256\"],[\"257\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"257\"],[\"258\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"258\"],[\"259\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"259\"],[\"260\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"260\"],[\"261\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"261\"],[\"262\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"262\"],[\"263\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"263\"],[\"264\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"264\"],[\"265\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"265\"],[\"266\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"266\"],[\"267\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"267\"],[\"268\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"268\"],[\"269\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"269\"],[\"270\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"270\"],[\"271\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"271\"],[\"272\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"272\"],[\"273\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"273\"],[\"274\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"274\"],[\"275\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"275\"],[\"276\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"276\"],[\"277\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"277\"],[\"278\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"278\"],[\"279\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"279\"],[\"280\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"280\"],[\"281\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"281\"],[\"282\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"282\"],[\"283\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"283\"],[\"284\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"284\"],[\"285\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"285\"],[\"286\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"286\"],[\"287\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"287\"],[\"288\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"288\"],[\"289\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"289\"],[\"290\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"290\"],[\"291\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"291\"],[\"292\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"292\"],[\"293\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"293\"],[\"294\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"294\"],[\"295\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"295\"],[\"296\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"296\"],[\"297\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"297\"],[\"298\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"298\"],[\"299\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"299\"],[\"300\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"300\"],[\"301\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"301\"],[\"302\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"302\"],[\"303\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"303\"],[\"304\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"304\"],[\"305\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"305\"],[\"306\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"306\"],[\"307\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"307\"],[\"308\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"308\"],[\"309\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"309\"],[\"310\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"310\"],[\"311\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"311\"],[\"312\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"312\"],[\"313\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"313\"],[\"314\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"314\"],[\"315\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"315\"],[\"316\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"316\"],[\"317\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"317\"],[\"318\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"318\"],[\"319\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"319\"],[\"320\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"320\"],[\"321\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"321\"],[\"322\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"322\"],[\"323\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"323\"],[\"324\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"324\"],[\"325\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"325\"],[\"326\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"326\"],[\"327\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"327\"],[\"328\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"328\"],[\"329\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"329\"],[\"330\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"330\"],[\"331\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"331\"],[\"332\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"332\"],[\"333\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"333\"],[\"334\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"334\"],[\"335\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"335\"],[\"336\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"336\"],[\"337\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"337\"],[\"338\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"338\"],[\"339\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"339\"],[\"340\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"340\"],[\"341\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"341\"],[\"342\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"342\"],[\"343\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"343\"],[\"344\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"344\"],[\"345\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"345\"],[\"346\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"346\"],[\"347\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"347\"],[\"348\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"348\"],[\"349\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"349\"],[\"350\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"350\"],[\"351\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"351\"],[\"352\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"352\"],[\"353\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"353\"],[\"354\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"354\"],[\"355\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"355\"],[\"356\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"356\"],[\"357\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"357\"],[\"358\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"358\"],[\"359\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"359\"],[\"360\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"360\"],[\"361\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"361\"],[\"362\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"362\"],[\"363\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"363\"],[\"364\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"364\"],[\"365\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"365\"],[\"366\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"366\"],[\"367\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"367\"],[\"368\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"368\"],[\"369\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"369\"],[\"370\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"370\"],[\"371\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"371\"],[\"372\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"372\"],[\"373\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"373\"],[\"374\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"374\"],[\"375\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"375\"],[\"376\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"376\"],[\"377\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"377\"],[\"378\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"378\"],[\"379\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"379\"],[\"380\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"380\"],[\"381\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"381\"],[\"382\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"382\"],[\"383\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"383\"],[\"384\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"384\"],[\"385\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"385\"],[\"386\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"386\"],[\"387\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"387\"],[\"388\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"388\"],[\"389\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"389\"],[\"390\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"390\"],[\"391\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"391\"],[\"392\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"392\"],[\"393\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"393\"],[\"394\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"394\"],[\"395\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"395\"],[\"396\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"396\"],[\"397\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"397\"],[\"398\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"398\"],[\"399\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"399\"],[\"400\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"400\"],[\"401\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"401\"],[\"402\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"402\"],[\"403\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"403\"],[\"404\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"404\"],[\"405\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"405\"],[\"406\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"406\"],[\"407\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"407\"],[\"408\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"408\"],[\"409\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"409\"],[\"410\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"410\"],[\"411\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"411\"],[\"412\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"412\"],[\"413\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"413\"],[\"414\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"414\"],[\"415\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"415\"],[\"416\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"416\"],[\"417\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"417\"],[\"418\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"418\"],[\"419\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"419\"],[\"420\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"420\"],[\"421\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"421\"],[\"422\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"422\"],[\"423\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"423\"],[\"424\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"424\"],[\"425\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"425\"],[\"426\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"426\"],[\"427\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"427\"],[\"428\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"428\"],[\"429\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"429\"],[\"430\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"430\"],[\"431\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"431\"],[\"432\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"432\"],[\"433\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"433\"],[\"434\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"434\"],[\"435\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"435\"],[\"436\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"436\"],[\"437\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"437\"],[\"438\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"438\"],[\"439\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"439\"],[\"440\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"440\"],[\"441\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"441\"],[\"442\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"442\"],[\"443\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"443\"],[\"444\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"444\"],[\"445\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"445\"],[\"446\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"446\"],[\"447\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"447\"],[\"448\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"448\"],[\"449\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"449\"],[\"450\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"450\"],[\"451\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"451\"],[\"452\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"452\"],[\"453\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"453\"],[\"454\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"454\"],[\"455\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"455\"],[\"456\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"456\"],[\"457\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"457\"],[\"458\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"458\"],[\"459\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"459\"],[\"460\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"460\"],[\"461\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"461\"],[\"462\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"462\"],[\"463\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"463\"],[\"464\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"464\"],[\"465\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"465\"],[\"466\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"466\"],[\"467\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"467\"],[\"468\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"468\"],[\"469\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"469\"],[\"470\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"470\"],[\"471\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"471\"],[\"472\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"472\"],[\"473\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"473\"],[\"474\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"474\"],[\"475\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"475\"],[\"476\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"476\"],[\"477\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"477\"],[\"478\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"478\"],[\"479\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"479\"],[\"480\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"480\"],[\"481\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"481\"],[\"482\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"482\"],[\"483\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"483\"],[\"484\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"484\"],[\"485\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"485\"],[\"486\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"486\"],[\"487\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"487\"],[\"488\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"488\"],[\"489\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"489\"],[\"490\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"490\"],[\"491\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"491\"],[\"492\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"492\"],[\"493\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"493\"],[\"494\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"494\"],[\"495\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"495\"],[\"496\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"496\"],[\"497\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"497\"],[\"498\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"498\"],[\"499\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"499\"],[\"500\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"500\"],[\"501\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"501\"],[\"502\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"502\"],[\"503\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"503\"],[\"504\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"504\"],[\"505\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"505\"],[\"506\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"506\"],[\"507\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"507\"],[\"508\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"508\"],[\"509\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"509\"],[\"510\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"510\"],[\"511\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"511\"],[\"512\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"512\"],[\"513\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"513\"],[\"514\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"514\"],[\"515\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"515\"],[\"516\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"516\"],[\"517\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"517\"],[\"518\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"518\"],[\"519\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"519\"],[\"520\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"520\"],[\"521\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"521\"],[\"522\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"522\"],[\"523\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"523\"],[\"524\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"524\"],[\"525\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"525\"],[\"526\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"526\"],[\"527\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"527\"],[\"528\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"528\"],[\"529\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"529\"],[\"530\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"530\"],[\"531\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"531\"],[\"532\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"532\"],[\"533\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"533\"],[\"534\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"534\"],[\"535\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"535\"],[\"536\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"536\"],[\"537\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"537\"],[\"538\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"538\"],[\"539\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"539\"],[\"540\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"540\"],[\"541\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"541\"],[\"542\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"542\"],[\"543\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"543\"],[\"544\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"544\"],[\"545\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"545\"],[\"546\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"546\"],[\"547\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"547\"],[\"548\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"548\"],[\"549\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"549\"],[\"550\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"550\"],[\"551\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"551\"],[\"552\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"552\"],[\"553\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"553\"],[\"554\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"554\"],[\"555\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"555\"],[\"556\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"556\"],[\"557\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"557\"],[\"558\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"558\"],[\"559\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"559\"],[\"560\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"560\"],[\"561\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"561\"],[\"562\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"562\"],[\"563\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"563\"],[\"564\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"564\"],[\"565\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"565\"],[\"566\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"566\"],[\"567\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"567\"],[\"568\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"568\"],[\"569\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"569\"],[\"570\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"570\"],[\"571\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"571\"],[\"572\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"572\"],[\"573\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"573\"],[\"574\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"574\"],[\"575\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"575\"],[\"576\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"576\"],[\"577\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"577\"],[\"578\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"578\"],[\"579\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"579\"],[\"580\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"580\"],[\"581\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"581\"],[\"582\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"582\"],[\"583\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"583\"],[\"584\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"584\"],[\"585\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"585\"],[\"586\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"586\"],[\"587\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"587\"],[\"588\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"588\"],[\"589\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"589\"],[\"590\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"590\"],[\"591\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"591\"],[\"592\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"592\"],[\"593\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"593\"],[\"594\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"594\"],[\"595\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"595\"],[\"596\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"596\"],[\"597\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"597\"],[\"598\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"598\"],[\"599\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"599\"],[\"600\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"600\"],[\"601\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"601\"],[\"602\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"602\"],[\"603\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"603\"],[\"604\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"604\"],[\"605\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"605\"],[\"606\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"606\"],[\"607\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"607\"],[\"608\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"608\"],[\"609\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"609\"],[\"610\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"610\"],[\"611\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"611\"],[\"612\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"612\"],[\"613\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"613\"],[\"614\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"614\"],[\"615\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"615\"],[\"616\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"616\"],[\"617\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"617\"],[\"618\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"618\"],[\"619\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"619\"],[\"620\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"620\"],[\"621\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"621\"],[\"622\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"622\"],[\"623\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"623\"],[\"624\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"624\"],[\"625\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"625\"],[\"626\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"626\"],[\"627\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"627\"],[\"628\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"628\"],[\"629\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"629\"],[\"630\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"630\"],[\"631\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"631\"],[\"632\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"632\"],[\"633\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"633\"],[\"634\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"634\"],[\"635\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"635\"],[\"636\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"636\"],[\"637\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"637\"],[\"638\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"638\"],[\"639\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"639\"],[\"640\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"640\"],[\"641\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"641\"],[\"642\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"642\"],[\"643\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"643\"],[\"644\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"644\"],[\"645\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"645\"],[\"646\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"646\"],[\"647\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"647\"],[\"648\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"648\"],[\"649\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"649\"],[\"650\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"650\"],[\"651\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"651\"],[\"652\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"652\"],[\"653\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"653\"],[\"654\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"654\"],[\"655\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"655\"],[\"656\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"656\"],[\"657\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"657\"],[\"658\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"658\"],[\"659\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"659\"],[\"660\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"660\"],[\"661\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"661\"],[\"662\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"662\"],[\"663\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"663\"],[\"664\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"664\"],[\"665\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"665\"],[\"666\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"666\"],[\"667\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"667\"],[\"668\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"668\"],[\"669\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"669\"],[\"670\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"670\"],[\"671\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"671\"],[\"672\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"672\"],[\"673\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"673\"],[\"674\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"674\"],[\"675\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"675\"],[\"676\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"676\"],[\"677\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"677\"],[\"678\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"678\"],[\"679\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"679\"],[\"680\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"680\"],[\"681\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"681\"],[\"682\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"682\"],[\"683\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"683\"],[\"684\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"684\"],[\"685\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"685\"],[\"686\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"686\"],[\"687\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"687\"],[\"688\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"688\"],[\"689\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"689\"],[\"690\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"690\"],[\"691\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"691\"],[\"692\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"692\"],[\"693\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"693\"],[\"694\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"694\"],[\"695\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"695\"],[\"696\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"696\"],[\"697\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"697\"],[\"698\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"698\"],[\"699\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"699\"],[\"700\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"700\"],[\"701\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"701\"],[\"702\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"702\"],[\"703\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"703\"],[\"704\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"704\"],[\"705\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"705\"],[\"706\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"706\"],[\"707\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"707\"],[\"708\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"708\"],[\"709\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"709\"],[\"710\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"710\"],[\"711\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"711\"],[\"712\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"712\"],[\"713\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"713\"],[\"714\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"714\"],[\"715\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"715\"],[\"716\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"716\"],[\"717\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"717\"],[\"718\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"718\"],[\"719\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"719\"],[\"720\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"720\"],[\"721\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"721\"],[\"722\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"722\"],[\"723\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"723\"],[\"724\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"724\"],[\"725\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"725\"],[\"726\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"726\"],[\"727\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"727\"],[\"728\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"728\"],[\"729\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"729\"],[\"730\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"730\"],[\"731\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"731\"],[\"732\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"732\"],[\"733\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"733\"],[\"734\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"734\"],[\"735\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"735\"],[\"736\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"736\"],[\"737\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"737\"],[\"738\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"738\"],[\"739\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"739\"],[\"740\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"740\"],[\"741\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"741\"],[\"742\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"742\"],[\"743\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"743\"],[\"744\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"744\"],[\"745\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"745\"],[\"746\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"746\"],[\"747\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"747\"],[\"748\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"748\"],[\"749\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"749\"],[\"750\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"750\"],[\"751\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"751\"],[\"752\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"752\"],[\"753\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"753\"],[\"754\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"754\"],[\"755\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"755\"],[\"756\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"756\"],[\"757\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"757\"],[\"758\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"758\"],[\"759\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"759\"],[\"760\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"760\"],[\"761\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"761\"],[\"762\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"762\"],[\"763\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"763\"],[\"764\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"764\"],[\"765\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"765\"],[\"766\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"766\"],[\"767\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"767\"],[\"768\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"768\"],[\"769\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"769\"],[\"770\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"770\"],[\"771\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"771\"],[\"772\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"772\"],[\"773\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"773\"],[\"774\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"774\"],[\"775\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"775\"],[\"776\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"776\"],[\"777\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"777\"],[\"778\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"778\"],[\"779\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"779\"],[\"780\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"780\"],[\"781\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"781\"],[\"782\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"782\"],[\"783\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"783\"],[\"784\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"784\"],[\"785\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"785\"],[\"786\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"786\"],[\"787\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"787\"],[\"788\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"788\"],[\"789\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"789\"],[\"790\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"790\"],[\"791\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"791\"],[\"792\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"792\"],[\"793\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"793\"],[\"794\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"794\"],[\"795\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"795\"],[\"796\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"796\"],[\"797\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"797\"],[\"798\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"798\"],[\"799\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"799\"],[\"800\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"800\"],[\"801\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"801\"],[\"802\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"802\"],[\"803\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"803\"],[\"804\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"804\"],[\"805\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"805\"],[\"806\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"806\"],[\"807\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"807\"],[\"808\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"808\"],[\"809\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"809\"],[\"810\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"810\"],[\"811\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"811\"],[\"812\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"812\"],[\"813\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"813\"],[\"814\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"814\"],[\"815\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"815\"],[\"816\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"816\"],[\"817\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"817\"],[\"818\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"818\"],[\"819\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"819\"],[\"820\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"820\"],[\"821\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"821\"],[\"822\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"822\"],[\"823\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"823\"],[\"824\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"824\"],[\"825\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"825\"],[\"826\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"826\"],[\"827\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"827\"],[\"828\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"828\"],[\"829\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"829\"],[\"830\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"830\"],[\"831\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"831\"],[\"832\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"832\"],[\"833\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"833\"],[\"834\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"834\"],[\"835\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"835\"],[\"836\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"836\"],[\"837\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"837\"],[\"838\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"838\"],[\"839\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"839\"],[\"840\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"840\"],[\"841\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"841\"],[\"842\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"842\"],[\"843\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"843\"],[\"844\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"844\"],[\"845\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"845\"],[\"846\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"846\"],[\"847\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"847\"],[\"848\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"848\"],[\"849\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"849\"],[\"850\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"850\"],[\"851\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"851\"],[\"852\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"852\"],[\"853\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"853\"],[\"854\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"854\"],[\"855\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"855\"],[\"856\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"856\"],[\"857\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"857\"],[\"858\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"858\"],[\"859\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"859\"],[\"860\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"860\"],[\"861\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"861\"],[\"862\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"862\"],[\"863\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"863\"],[\"864\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"864\"],[\"865\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"865\"],[\"866\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"866\"],[\"867\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"867\"],[\"868\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"868\"],[\"869\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"869\"],[\"870\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"870\"],[\"871\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"871\"],[\"872\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"872\"],[\"873\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"873\"],[\"874\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"874\"],[\"875\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"875\"],[\"876\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"876\"],[\"877\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"877\"],[\"878\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"878\"],[\"879\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"879\"],[\"880\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"880\"],[\"881\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"881\"],[\"882\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"882\"],[\"883\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"883\"],[\"884\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"884\"],[\"885\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"885\"],[\"886\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"886\"],[\"887\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"887\"],[\"888\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"888\"],[\"889\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"889\"],[\"890\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"890\"],[\"891\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"891\"],[\"892\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"892\"],[\"893\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"893\"],[\"894\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"894\"],[\"895\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"895\"],[\"896\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"896\"],[\"897\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"897\"],[\"898\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"898\"],[\"899\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"899\"],[\"900\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"900\"],[\"901\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"901\"],[\"902\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"902\"],[\"903\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"903\"],[\"904\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"904\"],[\"905\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"905\"],[\"906\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"906\"]]}", + "orient": "split", "dtype": { "name": "object", "vn_kv": "float64", @@ -20,13 +21,13 @@ "chr_name": "object", "pf_converged": "bool", "pf_name": "object" - }, - "orient": "split" + } }, "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\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "name": "object", "bus": "uint32", @@ -38,13 +39,13 @@ "scaling": "float64", "in_service": "bool", "type": "object" - }, - "orient": "split" + } }, "sgen": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"name\",\"bus\",\"p_mw\",\"q_mvar\",\"sn_mva\",\"scaling\",\"in_service\",\"type\",\"current_source\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "name": "object", "bus": "int64", @@ -55,13 +56,34 @@ "in_service": "bool", "type": "object", "current_source": "bool" - }, - "orient": "split" + } + }, + "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" + } }, "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\",\"description\",\"sernum\",\"for_name\",\"chr_name\"],\"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],\"data\":[[\"LOAD1\",34,0.000036000001273,0.000011832627933,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD2\",47,0.0,0.0,0.00104200001806,0.000000342488846,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD3\",70,0.000503999995999,0.000165656791069,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD4\",73,0.000048000001698,0.000015776837245,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD5\",74,0.000346999993781,0.000114053385914,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD6\",83,0.0,0.0,0.000051999999414,0.000000017091573,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD7\",178,0.0,0.0,0.00005500000043,0.000000018077627,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD8\",208,0.0,0.0,0.0,0.0,0.000561000022572,0.00000018439178,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD9\",225,0.000280999985989,0.000092360234703,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD10\",248,0.0,0.0,0.000057000001107,0.000000018734994,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD11\",249,0.0,0.0,0.000048999998398,0.00000001610552,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD12\",264,0.0,0.0,0.0,0.0,0.000468999991426,0.000000154152843,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD13\",276,0.0,0.0,0.000056000000768,0.000000018406309,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD14\",289,0.000209999998333,0.000069023662945,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD15\",314,0.0,0.0,0.000052999999753,0.000000017420257,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD16\",320,0.0,0.0,0.0,0.0,0.000051999999414,0.000000017091573,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD17\",327,0.0,0.0,0.0,0.0,0.000048000001698,0.000000015776838,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD18\",337,0.0,0.0,0.0,0.0,0.000048999998398,0.00000001610552,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD19\",342,0.0,0.0,0.0,0.0,0.000052999999753,0.000000017420257,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD20\",349,0.000050999999075,0.000016762889572,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD21\",387,0.000045000000682,0.000014790784917,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD22\",388,0.000054000000091,0.0000177489419,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD23\",406,0.0,0.0,0.000604000000749,0.0000001985252,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD24\",458,0.0,0.0,0.0,0.0,0.000054000000091,0.000000017748942,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD25\",502,0.000049999998737,0.000016434205463,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD26\",522,0.0,0.0,0.000034000000596,0.00000001117526,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD27\",539,0.0,0.0,0.0,0.0,0.000155000001541,0.000000050946035,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD28\",556,0.0,0.0,0.0,0.0,0.000028000000384,0.000000009203155,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD29\",562,0.000822999980301,0.000270507007372,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD30\",563,0.000052999999753,0.000017420257791,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD31\",611,0.000182000003406,0.000059820507886,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD32\",614,0.0,0.0,0.0,0.0,0.000056000000768,0.000000018406309,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD33\",619,0.0,0.0,0.0,0.0,0.000250000011874,0.000000082171027,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD34\",629,0.000176000001375,0.00005784840323,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD35\",639,0.0,0.0,0.000043000000005,0.000000014133416,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD36\",676,0.0,0.0,0.00005500000043,0.000000018077627,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD37\",682,0.0,0.0,0.000045000000682,0.000000014790785,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD38\",688,0.0,0.0,0.000228000004427,0.000000074939976,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD39\",701,0.0,0.0,0.0,0.0,0.000048000001698,0.000000015776838,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD40\",702,0.0,0.0,0.000043000000005,0.000000014133416,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD41\",755,0.0,0.0,0.000195999993593,0.000000064422082,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD42\",778,0.0,0.0,0.0,0.0,0.000054000000091,0.000000017748942,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD43\",780,0.0,0.0,0.0,0.0,0.000049999998737,0.000000016434205,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD44\",785,0.0,0.0,0.000029000000723,0.000000009531839,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD45\",813,0.0,0.0,0.000656999996863,0.000000215945462,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD46\",817,0.000048999998398,0.000016105521354,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD47\",835,0.0,0.0,0.0,0.0,0.000407000014093,0.000000133774435,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD48\",860,0.000046000001021,0.000015119469026,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD49\",861,0.000054000000091,0.0000177489419,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD50\",886,0.0,0.0,0.000310000003083,0.00000010189207,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD51\",896,0.000052999999753,0.000017420257791,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD52\",898,0.00054400000954,0.000178804155439,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD53\",899,0.0,0.0,0.000047000001359,0.000000015448153,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD54\",900,0.000048000001698,0.000015776837245,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD55\",906,0.00005500000043,0.000018077626009,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"]]}", + "orient": "split", "dtype": { "name": "object", "bus": "uint32", @@ -79,13 +101,13 @@ "sernum": "object", "for_name": "object", "chr_name": "object" - }, - "orient": "split" + } }, "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", @@ -100,13 +122,13 @@ "in_service": "bool", "type": "object", "current_source": "bool" - }, - "orient": "split" + } }, "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", @@ -119,13 +141,13 @@ "scaling": "float64", "in_service": "bool", "type": "object" - }, - "orient": "split" + } }, "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\",\"in_service\",\"type\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"p_mw\",\"vm_pu\",\"sn_mva\",\"min_q_mvar\",\"max_q_mvar\",\"scaling\",\"slack\",\"in_service\",\"type\",\"slack_weight\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "name": "object", "bus": "uint32", @@ -137,14 +159,15 @@ "scaling": "float64", "slack": "bool", "in_service": "bool", - "type": "object" - }, - "orient": "split" + "type": "object", + "slack_weight": "float64" + } }, "switch": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"bus\",\"element\",\"et\",\"type\",\"closed\",\"name\",\"z_ohm\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "bus": "int64", "element": "int64", @@ -153,13 +176,13 @@ "closed": "bool", "name": "object", "z_ohm": "float64" - }, - "orient": "split" + } }, "shunt": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"bus\",\"name\",\"q_mvar\",\"p_mw\",\"vn_kv\",\"step\",\"max_step\",\"in_service\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "bus": "uint32", "name": "object", @@ -169,13 +192,13 @@ "step": "uint32", "max_step": "uint32", "in_service": "bool" - }, - "orient": "split" + } }, "ext_grid": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"name\",\"bus\",\"vm_pu\",\"va_degree\",\"in_service\",\"s_sc_max_mva\",\"s_sc_min_mva\",\"rx_min\",\"rx_max\",\"r0x0_max\",\"x0x_max\",\"r0x0_min\",\"x0x_min\",\"description\"],\"index\":[0],\"data\":[[\"Source\",0,1.049999952316284,0.0,true,10000.0,8000.0,0.100000001490116,0.100000001490116,0.100000001490116,1.0,0.100000001490116,1.0,\"\"]]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"vm_pu\",\"va_degree\",\"in_service\",\"s_sc_max_mva\",\"s_sc_min_mva\",\"rx_min\",\"rx_max\",\"r0x0_max\",\"x0x_max\",\"r0x0_min\",\"x0x_min\",\"description\",\"slack_weight\"],\"index\":[0],\"data\":[[\"Source\",0,1.049999952316284,0.0,true,10000.0,8000.0,0.100000001490116,0.100000001490116,0.100000001490116,1.0,0.100000001490116,1.0,\"\",1.0]]}", + "orient": "split", "dtype": { "name": "object", "bus": "uint32", @@ -190,14 +213,15 @@ "x0x_max": "float64", "r0x0_min": "float64", "x0x_min": "float64", - "description": "object" - }, - "orient": "split" + "description": "object", + "slack_weight": "float64" + } }, "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\",\"alpha\",\"temperature_degree_celsius\",\"description\",\"line_idx\",\"folder_id\",\"section_idx\",\"c0_nf_per_km\",\"r0_ohm_per_km\",\"x0_ohm_per_km\",\"pf_name\"],\"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,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904],\"data\":[[\"LINE1\",\"4c_70\",1,2,0.001097999978811,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",0.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE1\"],[\"LINE2\",\"4c_70\",2,3,0.000115110000479,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",1.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE2\"],[\"LINE3\",\"4c_70\",3,4,0.000107840001874,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",2.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE3\"],[\"LINE4\",\"4c_70\",4,5,0.000094021001132,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",3.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE4\"],[\"LINE5\",\"4c_70\",5,6,0.000148120001541,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",4.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE5\"],[\"LINE6\",\"4c_70\",6,7,0.010086299851537,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",5.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE6\"],[\"LINE7\",\"4c_70\",7,8,0.000451750005595,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",6.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE7\"],[\"LINE8\",\"4c_70\",8,9,0.000376000010874,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",7.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE8\"],[\"LINE9\",\"4c_70\",9,10,0.000329970003804,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",8.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE9\"],[\"LINE10\",\"4c_70\",10,11,0.000246220006375,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",9.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE10\"],[\"LINE11\",\"4c_70\",11,12,0.000231140002143,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",10.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE11\"],[\"LINE12\",\"4c_70\",12,13,0.000142129996675,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",11.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE12\"],[\"LINE13\",\"4c_70\",13,14,0.000353840005118,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",12.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE13\"],[\"LINE14\",\"4c_70\",14,15,0.002866399940103,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",13.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE14\"],[\"LINE15\",\"2c_007\",15,16,0.000096540003142,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",14.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE15\"],[\"LINE16\",\"4c_70\",15,17,0.003475999925286,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",15.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE16\"],[\"LINE17\",\"2c_007\",16,18,0.000044044998504,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",16.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE17\"],[\"LINE18\",\"4c_70\",17,19,0.000239169996348,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",17.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE18\"],[\"LINE19\",\"2c_007\",18,20,0.000046173998271,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",18.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE19\"],[\"LINE20\",\"4c_70\",19,21,0.000268559990218,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",19.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE20\"],[\"LINE21\",\"2c_007\",20,22,0.00004197599992,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",20.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE21\"],[\"LINE22\",\"4c_70\",21,23,0.000437270005932,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",21.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE22\"],[\"LINE23\",\"2c_007\",22,24,0.000051244998758,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",22.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE23\"],[\"LINE24\",\"4c_70\",23,25,0.000795500003733,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",23.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE24\"],[\"LINE25\",\"2c_007\",24,26,0.000055902000895,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",24.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE25\"],[\"LINE26\",\"2c_16\",25,27,0.005904899910092,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",25.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE26\"],[\"LINE27\",\"4c_70\",25,28,0.009968600235879,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",26.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE27\"],[\"LINE28\",\"2c_007\",26,29,0.000054561998695,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",27.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE28\"],[\"LINE29\",\"2c_16\",27,30,0.001626500044949,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",28.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE29\"],[\"LINE30\",\"2c_16\",27,31,0.001584699959494,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",29.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE30\"],[\"LINE31\",\"4c_70\",28,32,0.002653799951077,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",30.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE31\"],[\"LINE32\",\"2c_007\",29,33,0.000146289996337,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",31.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE32\"],[\"LINE33\",\"2c_16\",30,34,0.003724799957126,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",32.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE33\"],[\"LINE34\",\"2c_16\",31,35,0.000053666000895,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",33.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE34\"],[\"LINE35\",\"2c_16\",32,36,0.005726499948651,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",34.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE35\"],[\"LINE36\",\"4c_70\",32,37,0.008024400100112,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",35.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE36\"],[\"LINE37\",\"2c_007\",33,38,0.000136479997309,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",36.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE37\"],[\"LINE38\",\"2c_16\",35,39,0.000077162003436,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",37.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE38\"],[\"LINE39\",\"2c_16\",36,40,0.000400040007662,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",38.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE39\"],[\"LINE40\",\"2c_16\",36,41,0.001806300017051,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",39.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE40\"],[\"LINE41\",\"4c_70\",37,42,0.005568400025368,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",40.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE41\"],[\"LINE42\",\"4c_185\",37,43,0.000216750006075,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",41.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE42\"],[\"LINE43\",\"2c_007\",38,44,0.0000338380014,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",42.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE43\"],[\"LINE44\",\"2c_16\",39,45,0.000098955002613,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",43.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE44\"],[\"LINE45\",\"2c_16\",40,46,0.000180310002179,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",44.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE45\"],[\"LINE46\",\"2c_16\",41,47,0.004346299916506,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",45.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE46\"],[\"LINE47\",\"4c_70\",42,48,0.004207800142467,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",46.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE47\"],[\"LINE48\",\"4c_185\",43,49,0.000104359998659,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",47.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE48\"],[\"LINE49\",\"2c_007\",44,50,0.000048104000598,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",48.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE49\"],[\"LINE50\",\"2c_16\",45,51,0.000241000001552,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",49.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE50\"],[\"LINE51\",\"2c_16\",46,52,0.000191090002772,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",50.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE51\"],[\"LINE52\",\"4c_70\",48,53,0.000606679997873,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",51.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE52\"],[\"LINE53\",\"4c_70\",48,54,0.000639490026515,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",52.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE53\"],[\"LINE54\",\"4c_185\",49,55,0.000116249997518,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",53.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE54\"],[\"LINE55\",\"2c_007\",50,56,0.000087663996965,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",54.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE55\"],[\"LINE56\",\"2c_16\",51,57,0.000206340002478,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",55.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE56\"],[\"LINE57\",\"2c_16\",52,58,0.000182000003406,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",56.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE57\"],[\"LINE58\",\"4c_70\",53,59,0.002748100087047,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",57.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE58\"],[\"LINE59\",\"4c_70\",54,60,0.000065368003561,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",58.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE59\"],[\"LINE60\",\"4c_185\",55,61,0.000100279998151,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",59.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE60\"],[\"LINE61\",\"2c_007\",56,62,0.000077999997302,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",60.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE61\"],[\"LINE62\",\"2c_16\",57,63,0.000989119987935,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",61.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE62\"],[\"LINE63\",\"2c_16\",58,64,0.000109000000521,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",62.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE63\"],[\"LINE64\",\"4c_70\",59,65,0.000558679981623,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",63.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE64\"],[\"LINE65\",\"2c_16\",59,66,0.008258299902081,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",64.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE65\"],[\"LINE66\",\"4c_70\",60,67,0.000074000003224,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",65.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE66\"],[\"LINE67\",\"4c_185\",61,68,0.000096042000223,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",66.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE67\"],[\"LINE68\",\"2c_007\",62,69,0.000083241000539,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",67.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE68\"],[\"LINE69\",\"2c_16\",63,70,0.003496200079098,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",68.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE69\"],[\"LINE70\",\"2c_16\",64,71,0.000213849998545,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",69.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE70\"],[\"LINE71\",\"4c_70\",65,72,0.006600600201637,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",70.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE71\"],[\"LINE72\",\"2c_16\",66,73,0.004036599770188,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",71.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE72\"],[\"LINE73\",\"2c_16\",66,74,0.004036599770188,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",72.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE73\"],[\"LINE74\",\"4c_70\",67,75,0.000179509996087,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",73.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE74\"],[\"LINE75\",\"4c_185\",68,76,0.000235510000493,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",74.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE75\"],[\"LINE76\",\"2c_007\",69,77,0.000389069988159,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",75.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE76\"],[\"LINE77\",\"2c_16\",71,78,0.0010837999871,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",76.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE77\"],[\"LINE78\",\"4c_70\",72,79,0.002300800057128,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",77.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE78\"],[\"LINE79\",\"4c_70\",75,80,0.00010361999739,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",78.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE79\"],[\"LINE80\",\"4c_185\",76,81,0.000746899982914,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",79.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE80\"],[\"LINE81\",\"2c_007\",77,82,0.000510880025104,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",80.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE81\"],[\"LINE82\",\"2c_16\",78,83,0.004083999898285,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",81.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE82\"],[\"LINE83\",\"4c_70\",79,84,0.000502109993249,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",82.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE83\"],[\"LINE84\",\"4c_70\",80,85,0.000111219997052,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",83.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE84\"],[\"LINE85\",\"4c_185\",81,86,0.001438800012693,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",84.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE85\"],[\"LINE86\",\"2c_007\",82,87,0.000310450006509,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",85.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE86\"],[\"LINE87\",\"4c_70\",84,88,0.001018199953251,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",86.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE87\"],[\"LINE88\",\"4c_70\",85,89,0.000104799997644,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",87.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE88\"],[\"LINE89\",\"4c_185\",86,90,0.000342510000337,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",88.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE89\"],[\"LINE90\",\"2c_007\",87,91,0.000112059999083,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",89.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE90\"],[\"LINE91\",\"4c_70\",88,92,0.000960209988989,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",90.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE91\"],[\"LINE92\",\"4c_185\",90,93,0.000065307001933,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",91.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE92\"],[\"LINE93\",\"2c_007\",91,94,0.000034785000025,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",92.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE93\"],[\"LINE94\",\"4c_70\",92,95,0.000558110012207,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",93.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE94\"],[\"LINE95\",\"4c_185\",93,96,0.000086052001279,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",94.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE95\"],[\"LINE96\",\"2c_007\",94,97,0.000036770001316,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",95.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE96\"],[\"LINE97\",\"4c_70\",95,98,0.000368590001017,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",96.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE97\"],[\"LINE98\",\"4c_185\",96,99,0.000037215999328,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",97.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE98\"],[\"LINE99\",\"2c_007\",97,100,0.000089588000264,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",98.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE99\"],[\"LINE100\",\"4c_70\",98,101,0.000508919998538,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",99.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE100\"],[\"LINE101\",\"4c_185\",99,102,0.005081899929792,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",100.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE101\"],[\"LINE102\",\"2c_007\",100,103,0.000285829999484,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",101.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE102\"],[\"LINE103\",\"4c_35\",101,104,0.000288379989797,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",102.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE103\"],[\"LINE104\",\"4c_70\",101,105,0.000336019991664,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",103.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE104\"],[\"LINE105\",\"4c_185\",102,106,0.000221080001211,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",104.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE105\"],[\"LINE106\",\"4c_35\",104,107,0.000348900008248,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",105.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE106\"],[\"LINE107\",\"4c_70\",105,108,0.000190539998584,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",106.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE107\"],[\"LINE108\",\"4c_185\",106,109,0.000450849998742,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",107.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE108\"],[\"LINE109\",\"4c_35\",107,110,0.000404399994295,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",108.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE109\"],[\"LINE110\",\"4c_70\",108,111,0.007518200203776,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",109.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE110\"],[\"LINE111\",\"4c_185\",109,112,0.011976599693298,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",110.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE111\"],[\"LINE112\",\"4c_35\",110,113,0.000616590026766,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",111.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE112\"],[\"LINE113\",\"4c_70\",111,114,0.000753159984015,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",112.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE113\"],[\"LINE114\",\"4c_185\",112,115,0.010661300271749,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",113.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE114\"],[\"LINE115\",\"4c_35\",113,116,0.00079270999413,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",114.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE115\"],[\"LINE116\",\"4c_35\",114,117,0.001105600036681,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",115.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE116\"],[\"LINE117\",\"4c_1\",114,118,0.003655599895865,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",116.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE117\"],[\"LINE118\",\"4c_185\",115,119,0.00099464005325,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",117.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE118\"],[\"LINE119\",\"4c_35\",116,120,0.000569090014324,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",118.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE119\"],[\"LINE120\",\"2c_007\",117,121,0.000194809996174,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",119.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE120\"],[\"LINE121\",\"4c_35\",117,122,0.000538309977856,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",120.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE121\"],[\"LINE122\",\"4c_1\",118,123,0.006592399906367,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",121.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE122\"],[\"LINE123\",\"4c_185\",119,124,0.000724799989257,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",122.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE123\"],[\"LINE124\",\"4c_35\",120,125,0.000804119976237,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",123.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE124\"],[\"LINE125\",\"2c_007\",121,126,0.000168690006831,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",124.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE125\"],[\"LINE126\",\"4c_35\",122,127,0.002528799930587,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",125.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE126\"],[\"LINE127\",\"4c_1\",123,128,0.002964599989355,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",126.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE127\"],[\"LINE128\",\"4c_185\",124,129,0.000625120010227,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",127.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE128\"],[\"LINE129\",\"4c_35\",125,130,0.000869999988936,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",128.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE129\"],[\"LINE130\",\"2c_007\",126,131,0.000119149997772,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",129.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE130\"],[\"LINE131\",\"2c_16\",127,132,0.003821199992672,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",130.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE131\"],[\"LINE132\",\"4c_35\",127,133,0.007178199943155,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",131.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE132\"],[\"LINE133\",\"4c_1\",128,134,0.000882050022483,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",132.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE133\"],[\"LINE134\",\"4c_185\",129,135,0.001920299953781,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",133.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE134\"],[\"LINE135\",\"4c_35\",130,136,0.000820479996037,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",134.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE135\"],[\"LINE136\",\"2c_007\",131,137,0.000184360003914,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",135.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE136\"],[\"LINE137\",\"2c_16\",132,138,0.000329080008669,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",136.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE137\"],[\"LINE138\",\"4c_35\",133,139,0.005340199917555,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",137.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE138\"],[\"LINE139\",\"4c_1\",134,140,0.000995659967884,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",138.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE139\"],[\"LINE140\",\"4c_185\",135,141,0.001412700046785,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",139.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE140\"],[\"LINE141\",\"4c_35\",136,142,0.001349000027403,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",140.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE141\"],[\"LINE142\",\"2c_007\",137,143,0.000217809996684,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",141.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE142\"],[\"LINE143\",\"2c_16\",138,144,0.00032289000228,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",142.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE143\"],[\"LINE144\",\"4c_35\",139,145,0.003576199989766,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",143.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE144\"],[\"LINE145\",\"4c_1\",140,146,0.000936400028877,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",144.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE145\"],[\"LINE146\",\"4c_185\",141,147,0.000240530003794,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",145.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE146\"],[\"LINE147\",\"4c_35\",142,148,0.006414200179279,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",146.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE147\"],[\"LINE148\",\"2c_007\",143,149,0.000194010004634,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",147.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE148\"],[\"LINE149\",\"2c_16\",144,150,0.000260720000369,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",148.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE149\"],[\"LINE150\",\"4c_35\",145,151,0.00357130006887,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",149.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE150\"],[\"LINE151\",\"2c_16\",145,152,0.005131400190294,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",150.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE151\"],[\"LINE152\",\"4c_1\",146,153,0.001092600054108,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",151.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE152\"],[\"LINE153\",\"4c_185\",147,154,0.000083095997979,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",152.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE153\"],[\"LINE154\",\"4c_35\",148,155,0.001397300045937,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",153.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE154\"],[\"LINE155\",\"2c_007\",149,156,0.000219099994865,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",154.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE155\"],[\"LINE156\",\"2c_16\",150,157,0.000391320005292,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",155.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE156\"],[\"LINE157\",\"4c_35\",151,158,0.009471300058067,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",156.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE157\"],[\"LINE158\",\"2c_16\",152,159,0.000312329997541,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",157.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE158\"],[\"LINE159\",\"4c_1\",153,160,0.000314389995765,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",158.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE159\"],[\"LINE160\",\"4c_185\",154,161,0.000122559998999,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",159.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE160\"],[\"LINE161\",\"2c_16\",155,162,0.011742199771106,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",160.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE161\"],[\"LINE162\",\"4c_35\",155,163,0.005284400191158,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",161.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE162\"],[\"LINE163\",\"2c_007\",156,164,0.000203420000616,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",162.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE163\"],[\"LINE164\",\"2c_16\",157,165,0.000471779989311,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",163.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE164\"],[\"LINE165\",\"4c_35\",158,166,0.003289900021628,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",164.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE165\"],[\"LINE166\",\"2c_16\",159,167,0.000285329995677,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",165.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE166\"],[\"LINE167\",\"4c_1\",160,168,0.001786099979654,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",166.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE167\"],[\"LINE168\",\"4c_185\",161,169,0.000249580014497,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",167.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE168\"],[\"LINE169\",\"2c_16\",162,170,0.002218300011009,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",168.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE169\"],[\"LINE170\",\"4c_35\",163,171,0.007015599869192,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",169.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE170\"],[\"LINE171\",\"2c_007\",164,172,0.000172700005351,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",170.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE171\"],[\"LINE172\",\"2c_16\",165,173,0.000356420001481,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",171.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE172\"],[\"LINE173\",\"4c_35\",166,174,0.003918299917132,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",172.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE173\"],[\"LINE174\",\"2c_16\",166,175,0.004204500000924,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",173.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE174\"],[\"LINE175\",\"2c_16\",167,176,0.000118529998872,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",174.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE175\"],[\"LINE176\",\"4c_1\",168,177,0.00100879999809,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",175.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE176\"],[\"LINE177\",\"2c_16\",170,178,0.004576799925417,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",176.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE177\"],[\"LINE178\",\"4c_35\",171,179,0.001181800034828,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",177.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE178\"],[\"LINE179\",\"2c_16\",171,180,0.002422400051728,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",178.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE179\"],[\"LINE180\",\"2c_007\",172,181,0.000179609996849,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",179.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE180\"],[\"LINE181\",\"2c_16\",173,182,0.000412439985666,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",180.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE181\"],[\"LINE182\",\"4c_35\",174,183,0.000587630027439,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",181.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE182\"],[\"LINE183\",\"2c_16\",175,184,0.000454090011772,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",182.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE183\"],[\"LINE184\",\"2c_16\",176,185,0.000255490012933,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",183.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE184\"],[\"LINE185\",\"4c_1\",177,186,0.00074886000948,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",184.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE185\"],[\"LINE186\",\"4c_35\",179,187,0.004650699906051,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",185.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE186\"],[\"LINE187\",\"2c_16\",180,188,0.010025800205767,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",186.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE187\"],[\"LINE188\",\"2c_007\",181,189,0.000154120003572,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",187.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE188\"],[\"LINE189\",\"2c_16\",182,190,0.000387800013414,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",188.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE189\"],[\"LINE190\",\"4c_35\",183,191,0.0023151000496,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",189.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE190\"],[\"LINE191\",\"4c_35\",183,192,0.000277910003206,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",190.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE191\"],[\"LINE192\",\"2c_16\",184,193,0.000439230003394,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",191.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE192\"],[\"LINE193\",\"2c_16\",185,194,0.000650729984045,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",192.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE193\"],[\"LINE194\",\"4c_1\",186,195,0.000673260015901,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",193.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE194\"],[\"LINE195\",\"4c_35\",187,196,0.008303600363433,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",194.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE195\"],[\"LINE196\",\"2c_16\",188,197,0.001959499903023,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",195.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE196\"],[\"LINE197\",\"2c_16\",188,198,0.00113250000868,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",196.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE197\"],[\"LINE198\",\"2c_007\",189,199,0.000191479994101,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",197.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE198\"],[\"LINE199\",\"2c_16\",190,200,0.00041725000483,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",198.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE199\"],[\"LINE200\",\"4c_35\",191,201,0.000931399990804,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",199.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE200\"],[\"LINE201\",\"4c_35\",192,202,0.00016446999507,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",200.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE201\"],[\"LINE202\",\"2c_16\",193,203,0.000351339986082,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",201.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE202\"],[\"LINE203\",\"2c_16\",194,204,0.000381780002499,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",202.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE203\"],[\"LINE204\",\"4c_1\",195,205,0.000836380000692,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",203.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE204\"],[\"LINE205\",\"2c_16\",196,206,0.003247499931604,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",204.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE205\"],[\"LINE206\",\"4c_35\",196,207,0.002137100091204,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",205.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE206\"],[\"LINE207\",\"2c_16\",197,208,0.004954100120813,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",206.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE207\"],[\"LINE208\",\"2c_16\",198,209,0.000160080002388,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",207.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE208\"],[\"LINE209\",\"2c_007\",199,210,0.000448379985755,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",208.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE209\"],[\"LINE210\",\"2c_16\",200,211,0.000637850025669,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",209.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE210\"],[\"LINE211\",\"4c_35\",202,212,0.000155260000611,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",210.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE211\"],[\"LINE212\",\"2c_16\",203,213,0.000279870000668,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",211.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE212\"],[\"LINE213\",\"2c_16\",204,214,0.000267399998847,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",212.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE213\"],[\"LINE214\",\"4c_1\",205,215,0.001543399994262,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",213.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE214\"],[\"LINE215\",\"2c_16\",206,216,0.010629500262439,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",214.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE215\"],[\"LINE216\",\"4c_35\",207,217,0.003857099916786,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",215.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE216\"],[\"LINE217\",\"2c_16\",209,218,0.000129099993501,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",216.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE217\"],[\"LINE218\",\"2c_007\",210,219,0.000672149995808,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",217.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE218\"],[\"LINE219\",\"2c_16\",211,220,0.001741899992339,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",218.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE219\"],[\"LINE220\",\"4c_35\",212,221,0.00017005999689,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",219.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE220\"],[\"LINE221\",\"2c_16\",213,222,0.000591690011788,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",220.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE221\"],[\"LINE222\",\"2c_16\",214,223,0.000514369981829,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",221.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE222\"],[\"LINE223\",\"4c_1\",215,224,0.001345600001514,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",222.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE223\"],[\"LINE224\",\"2c_16\",216,225,0.004582200199366,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",223.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE224\"],[\"LINE225\",\"4c_35\",217,226,0.001377200009301,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",224.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE225\"],[\"LINE226\",\"2c_16\",218,227,0.000103170001239,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",225.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE226\"],[\"LINE227\",\"2c_16\",220,228,0.000148520004586,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",226.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE227\"],[\"LINE228\",\"4c_35\",221,229,0.000232730002608,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",227.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE228\"],[\"LINE229\",\"2c_16\",222,230,0.000465969991637,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",228.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE229\"],[\"LINE230\",\"2c_16\",223,231,0.000256019993685,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",229.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE230\"],[\"LINE231\",\"4c_1\",224,232,0.00091533997329,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",230.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE231\"],[\"LINE232\",\"2c_16\",226,233,0.011894900351763,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",231.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE232\"],[\"LINE233\",\"4c_35\",226,234,0.001127299969085,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",232.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE233\"],[\"LINE234\",\"2c_16\",227,235,0.000157489994308,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",233.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE234\"],[\"LINE235\",\"2c_16\",228,236,0.000068599998485,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",234.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE235\"],[\"LINE236\",\"4c_35\",229,237,0.000207420001971,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",235.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE236\"],[\"LINE237\",\"2c_16\",230,238,0.000323220010614,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",236.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE237\"],[\"LINE238\",\"2c_16\",231,239,0.000181790004717,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",237.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE238\"],[\"LINE239\",\"4c_1\",232,240,0.00060129998019,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",238.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE239\"],[\"LINE240\",\"2c_16\",233,241,0.001727399998344,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",239.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE240\"],[\"LINE241\",\"2c_16\",235,242,0.000184610005817,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",240.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE241\"],[\"LINE242\",\"2c_16\",236,243,0.000073376002547,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",241.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE242\"],[\"LINE243\",\"4c_35\",237,244,0.000168810001924,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",242.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE243\"],[\"LINE244\",\"2c_16\",238,245,0.000322450010572,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",243.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE244\"],[\"LINE245\",\"2c_16\",239,246,0.002079600002617,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",244.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE245\"],[\"LINE246\",\"4c_1\",240,247,0.001294099958614,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",245.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE246\"],[\"LINE247\",\"2c_16\",241,248,0.005302200093865,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",246.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE247\"],[\"LINE248\",\"2c_16\",241,249,0.005302200093865,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",247.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE248\"],[\"LINE249\",\"2c_16\",242,250,0.000283550005406,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",248.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE249\"],[\"LINE250\",\"2c_16\",243,251,0.000070114001574,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",249.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE250\"],[\"LINE251\",\"4c_35\",244,252,0.000132970002596,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",250.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE251\"],[\"LINE252\",\"2c_16\",245,253,0.000471729988931,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",251.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE252\"],[\"LINE253\",\"2c_16\",246,254,0.000613240001258,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",252.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE253\"],[\"LINE254\",\"2c_16\",247,255,0.00456180004403,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",253.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE254\"],[\"LINE255\",\"4c_1\",247,256,0.000856779981405,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",254.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE255\"],[\"LINE256\",\"2c_16\",250,257,0.001037599984556,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",255.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE256\"],[\"LINE257\",\"2c_16\",251,258,0.000078110002505,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",256.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE257\"],[\"LINE258\",\"4c_35\",252,259,0.000173230000655,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",257.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE258\"],[\"LINE259\",\"2c_16\",253,260,0.001774200005457,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",258.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE259\"],[\"LINE260\",\"2c_16\",254,261,0.000137199996971,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",259.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE260\"],[\"LINE261\",\"2c_16\",255,262,0.000630600028671,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",260.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE261\"],[\"LINE262\",\"4c_1\",256,263,0.003212800016627,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",261.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE262\"],[\"LINE263\",\"2c_16\",257,264,0.005049999803305,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",262.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE263\"],[\"LINE264\",\"2c_16\",258,265,0.000161229996593,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",263.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE264\"],[\"LINE265\",\"4c_35\",259,266,0.000194359992747,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",264.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE265\"],[\"LINE266\",\"2c_16\",260,267,0.000414100009948,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",265.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE266\"],[\"LINE267\",\"2c_16\",261,268,0.003457800019532,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",266.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE267\"],[\"LINE268\",\"2c_16\",261,269,0.000118709998787,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",267.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE268\"],[\"LINE269\",\"2c_16\",262,270,0.000289910007268,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",268.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE269\"],[\"LINE270\",\"2c_16\",263,271,0.004254700150341,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",269.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE270\"],[\"LINE271\",\"4c_1\",263,272,0.001079199952073,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",270.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE271\"],[\"LINE272\",\"2c_16\",265,273,0.000167920006788,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",271.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE272\"],[\"LINE273\",\"4c_35\",266,274,0.000178880000021,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",272.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE273\"],[\"LINE274\",\"2c_16\",267,275,0.000189710000996,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",273.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE274\"],[\"LINE275\",\"2c_16\",268,276,0.003426800016314,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",274.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE275\"],[\"LINE276\",\"2c_16\",269,277,0.000139180003316,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",275.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE276\"],[\"LINE277\",\"2c_16\",270,278,0.000344330008375,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",276.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE277\"],[\"LINE278\",\"2c_16\",271,279,0.000309269991703,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",277.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE278\"],[\"LINE279\",\"4c_1\",272,280,0.003912100102752,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",278.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE279\"],[\"LINE280\",\"2c_16\",273,281,0.000638540019281,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",279.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE280\"],[\"LINE281\",\"4c_35\",274,282,0.000605419976637,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",280.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE281\"],[\"LINE282\",\"2c_16\",275,283,0.000124719997984,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",281.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE282\"],[\"LINE283\",\"2c_16\",277,284,0.000125780003145,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",282.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE283\"],[\"LINE284\",\"2c_16\",278,285,0.000531259982381,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",283.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE284\"],[\"LINE285\",\"2c_16\",279,286,0.000254910002695,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",284.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE285\"],[\"LINE286\",\"4c_06\",280,287,0.001754199969582,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",285.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE286\"],[\"LINE287\",\"4c_1\",280,288,0.000913059979212,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",286.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE287\"],[\"LINE288\",\"2c_16\",281,289,0.003390100086108,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",287.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE288\"],[\"LINE289\",\"4c_35\",282,290,0.000810439989436,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",288.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE289\"],[\"LINE290\",\"2c_16\",283,291,0.00087618001271,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",289.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE290\"],[\"LINE291\",\"2c_16\",283,292,0.00010807000217,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",290.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE291\"],[\"LINE292\",\"2c_16\",284,293,0.000127389997942,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",291.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE292\"],[\"LINE293\",\"2c_16\",285,294,0.000473390013212,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",292.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE293\"],[\"LINE294\",\"2c_16\",286,295,0.000362079998013,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",293.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE294\"],[\"LINE295\",\"4c_06\",287,296,0.000807420001365,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",294.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE295\"],[\"LINE296\",\"4c_1\",288,297,0.00382660003379,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",295.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE296\"],[\"LINE297\",\"2c_16\",291,298,0.000402479985496,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",296.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE297\"],[\"LINE298\",\"2c_16\",292,299,0.000076484997408,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",297.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE298\"],[\"LINE299\",\"2c_16\",293,300,0.00013697000395,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",298.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE299\"],[\"LINE300\",\"2c_16\",294,301,0.000368050008547,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",299.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE300\"],[\"LINE301\",\"2c_16\",295,302,0.001626300043426,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",300.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE301\"],[\"LINE302\",\"4c_06\",296,303,0.005274599883705,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",301.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE302\"],[\"LINE303\",\"4c_1\",297,304,0.000844680005684,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",302.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE303\"],[\"LINE304\",\"2c_16\",298,305,0.000681189994793,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",303.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE304\"],[\"LINE305\",\"2c_16\",299,306,0.000089005996415,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",304.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE305\"],[\"LINE306\",\"2c_16\",300,307,0.000794349994976,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",305.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE306\"],[\"LINE307\",\"2c_16\",301,308,0.000458130001789,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",306.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE307\"],[\"LINE308\",\"2c_16\",302,309,0.000313080003252,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",307.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE308\"],[\"LINE309\",\"4c_06\",303,310,0.000393969996367,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",308.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE309\"],[\"LINE310\",\"4c_1\",304,311,0.000280670006759,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",309.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE310\"],[\"LINE311\",\"2c_16\",305,312,0.001307499944232,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",310.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE311\"],[\"LINE312\",\"2c_16\",306,313,0.000170240004081,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",311.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE312\"],[\"LINE313\",\"2c_16\",307,314,0.003359799971804,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",312.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE313\"],[\"LINE314\",\"2c_16\",308,315,0.000473839987535,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",313.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE314\"],[\"LINE315\",\"2c_16\",309,316,0.000231810001424,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",314.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE315\"],[\"LINE316\",\"2c_16\",310,317,0.0006490299711,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",315.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE316\"],[\"LINE317\",\"4c_06\",310,318,0.007216299884021,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",316.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE317\"],[\"LINE318\",\"4c_1\",311,319,0.00014648999786,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",317.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE318\"],[\"LINE319\",\"2c_16\",312,320,0.003849500091746,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",318.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE319\"],[\"LINE320\",\"2c_16\",313,321,0.000652900023852,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",319.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE320\"],[\"LINE321\",\"2c_16\",315,322,0.000558919971809,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",320.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE321\"],[\"LINE322\",\"2c_16\",316,323,0.000267019990133,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",321.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE322\"],[\"LINE323\",\"2c_16\",317,324,0.003342699958012,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",322.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE323\"],[\"LINE324\",\"4c_06\",318,325,0.003463099943474,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",323.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE324\"],[\"LINE325\",\"4c_1\",319,326,0.000125399994431,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",324.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE325\"],[\"LINE326\",\"2c_16\",321,327,0.002228100085631,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",325.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE326\"],[\"LINE327\",\"2c_16\",322,328,0.000318509992212,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",326.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE327\"],[\"LINE328\",\"2c_16\",323,329,0.00026487998548,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",327.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE328\"],[\"LINE329\",\"2c_16\",324,330,0.001167000038549,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",328.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE329\"],[\"LINE330\",\"2c_16\",325,331,0.009133200161159,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",329.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE330\"],[\"LINE331\",\"4c_06\",325,332,0.006672900170088,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",330.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE331\"],[\"LINE332\",\"4c_1\",326,333,0.000142620003317,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",331.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE332\"],[\"LINE333\",\"2c_16\",328,334,0.001438900013454,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",332.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE333\"],[\"LINE334\",\"2c_16\",329,335,0.002327000023797,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",333.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE334\"],[\"LINE335\",\"2c_16\",330,336,0.002539899898693,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",334.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE335\"],[\"LINE336\",\"2c_16\",331,337,0.003617200069129,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",335.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE336\"],[\"LINE337\",\"2c_16\",332,338,0.006806700024754,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",336.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE337\"],[\"LINE338\",\"4c_06\",332,339,0.001212900038809,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",337.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE338\"],[\"LINE339\",\"4c_1\",333,340,0.000112360001367,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",338.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE339\"],[\"LINE340\",\"2c_16\",334,341,0.000559990003239,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",339.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE340\"],[\"LINE341\",\"2c_16\",335,342,0.004756699781865,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",340.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE341\"],[\"LINE342\",\"2c_16\",336,343,0.002082000020891,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",341.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE342\"],[\"LINE343\",\"2c_16\",336,344,0.000979600008577,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",342.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE343\"],[\"LINE344\",\"2c_16\",338,345,0.003422100096941,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",343.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE344\"],[\"LINE345\",\"4c_06\",339,346,0.001039099995978,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",344.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE345\"],[\"LINE346\",\"4c_1\",340,347,0.000094201997854,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",345.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE346\"],[\"LINE347\",\"2c_16\",341,348,0.000194539999939,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",346.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE347\"],[\"LINE348\",\"2c_16\",343,349,0.003115300089121,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",347.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE348\"],[\"LINE349\",\"2c_16\",344,350,0.000136400005431,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",348.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE349\"],[\"LINE350\",\"2c_16\",345,351,0.000318459991831,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",349.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE350\"],[\"LINE351\",\"4c_06\",346,352,0.000730909989215,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",350.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE351\"],[\"LINE352\",\"4c_1\",347,353,0.000084999999672,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",351.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE352\"],[\"LINE353\",\"2c_16\",348,354,0.000146560007124,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",352.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE353\"],[\"LINE354\",\"2c_16\",350,355,0.000148139995872,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",353.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE354\"],[\"LINE355\",\"2c_16\",351,356,0.000131520006107,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",354.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE355\"],[\"LINE356\",\"4c_06\",352,357,0.000923520012293,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",355.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE356\"],[\"LINE357\",\"4c_1\",353,358,0.000070349000453,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",356.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE357\"],[\"LINE358\",\"2c_16\",354,359,0.00010723000014,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",357.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE358\"],[\"LINE359\",\"2c_16\",355,360,0.000129759995616,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",358.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE359\"],[\"LINE360\",\"2c_16\",356,361,0.000092800997663,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",359.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE360\"],[\"LINE361\",\"4c_06\",357,362,0.00057867000578,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",360.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE361\"],[\"LINE362\",\"4c_1\",358,363,0.000081609003246,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",361.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE362\"],[\"LINE363\",\"2c_16\",359,364,0.000054452000768,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",362.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE363\"],[\"LINE364\",\"2c_16\",360,365,0.000137869996252,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",363.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE364\"],[\"LINE365\",\"2c_16\",361,366,0.000094921000709,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",364.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE365\"],[\"LINE366\",\"4c_06\",362,367,0.000888610025868,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",365.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE366\"],[\"LINE367\",\"4c_1\",363,368,0.000089693996415,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",366.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE367\"],[\"LINE368\",\"2c_16\",364,369,0.000080056001025,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",367.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE368\"],[\"LINE369\",\"2c_16\",365,370,0.000196769993636,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",368.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE369\"],[\"LINE370\",\"2c_16\",366,371,0.000112000001536,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",369.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE370\"],[\"LINE371\",\"4c_06\",367,372,0.000885839981493,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",370.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE371\"],[\"LINE372\",\"4c_1\",368,373,0.000488979974762,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",371.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE372\"],[\"LINE373\",\"2c_16\",369,374,0.000134200003231,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",372.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE373\"],[\"LINE374\",\"2c_16\",370,375,0.000239209999563,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",373.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE374\"],[\"LINE375\",\"2c_16\",371,376,0.000141280004755,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",374.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE375\"],[\"LINE376\",\"4c_06\",372,377,0.00099394004792,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",375.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE376\"],[\"LINE377\",\"4c_1\",373,378,0.003684799885377,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",376.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE377\"],[\"LINE378\",\"2c_16\",373,379,0.001411500037648,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",377.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE378\"],[\"LINE379\",\"2c_16\",374,380,0.000598590006121,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",378.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE379\"],[\"LINE380\",\"2c_16\",375,381,0.001482699997723,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",379.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE380\"],[\"LINE381\",\"2c_16\",376,382,0.000126529994304,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",380.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE381\"],[\"LINE382\",\"4c_06\",377,383,0.000719250005204,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",381.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE382\"],[\"LINE383\",\"4c_1\",378,384,0.003529200097546,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",382.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE383\"],[\"LINE384\",\"2c_16\",379,385,0.00866680033505,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",383.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE384\"],[\"LINE385\",\"2c_16\",379,386,0.001456100028008,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",384.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE385\"],[\"LINE386\",\"2c_16\",380,387,0.002200399991125,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",385.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE386\"],[\"LINE387\",\"2c_16\",381,388,0.005073400214314,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",386.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE387\"],[\"LINE388\",\"2c_16\",382,389,0.000100119999843,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",387.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE388\"],[\"LINE389\",\"4c_06\",383,390,0.000857279985212,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",388.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE389\"],[\"LINE390\",\"4c_1\",384,391,0.000157110000146,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",389.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE390\"],[\"LINE391\",\"2c_16\",385,392,0.003167500020936,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",390.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE391\"],[\"LINE392\",\"2c_16\",386,393,0.007833500392735,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",391.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE392\"],[\"LINE393\",\"2c_16\",389,394,0.000171830004547,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",392.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE393\"],[\"LINE394\",\"4c_06\",390,395,0.001243900042027,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",393.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE394\"],[\"LINE395\",\"2c_16\",391,396,0.004060099832714,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",394.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE395\"],[\"LINE396\",\"4c_1\",391,397,0.002879299921915,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",395.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE396\"],[\"LINE397\",\"2c_16\",392,398,0.000322409992805,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",396.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE397\"],[\"LINE398\",\"2c_16\",393,399,0.000568800023757,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",397.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE398\"],[\"LINE399\",\"2c_16\",394,400,0.000599840015639,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",398.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE399\"],[\"LINE400\",\"4c_06\",395,401,0.000922199978959,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",399.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE400\"],[\"LINE401\",\"2c_16\",396,402,0.000372009992134,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",400.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE401\"],[\"LINE402\",\"4c_1\",397,403,0.001389099983498,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",401.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE402\"],[\"LINE403\",\"2c_16\",398,404,0.000224999996135,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",402.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE403\"],[\"LINE404\",\"2c_16\",399,405,0.000248069991358,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",403.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE404\"],[\"LINE405\",\"2c_16\",400,406,0.003667199984193,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",404.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE405\"],[\"LINE406\",\"4c_06\",401,407,0.000889609975275,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",405.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE406\"],[\"LINE407\",\"2c_16\",402,408,0.000211480000871,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",406.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE407\"],[\"LINE408\",\"4c_1\",403,409,0.004190700128675,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",407.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE408\"],[\"LINE409\",\"4c_1\",403,410,0.000379100005375,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",408.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE409\"],[\"LINE410\",\"2c_16\",404,411,0.000233080005273,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",409.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE410\"],[\"LINE411\",\"2c_16\",405,412,0.00016706000315,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",410.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE411\"],[\"LINE412\",\"4c_06\",407,413,0.000870660005603,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",411.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE412\"],[\"LINE413\",\"2c_16\",408,414,0.000143600002048,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",412.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE413\"],[\"LINE414\",\"4c_1\",409,415,0.00596860004589,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",413.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE414\"],[\"LINE415\",\"4c_1\",410,416,0.000094921000709,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",414.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE415\"],[\"LINE416\",\"2c_16\",411,417,0.000978800002486,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",415.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE416\"],[\"LINE417\",\"2c_16\",412,418,0.000279539992334,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",416.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE417\"],[\"LINE418\",\"4c_06\",413,419,0.001047100056894,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",417.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE418\"],[\"LINE419\",\"2c_16\",414,420,0.000234029997955,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",418.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE419\"],[\"LINE420\",\"4c_1\",415,421,0.001248999964446,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",419.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE420\"],[\"LINE421\",\"4c_1\",416,422,0.00006657299673,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",420.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE421\"],[\"LINE422\",\"2c_16\",417,423,0.000239000000875,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",421.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE422\"],[\"LINE423\",\"2c_16\",418,424,0.003194400109351,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",422.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE423\"],[\"LINE424\",\"4c_06\",419,425,0.001753699965775,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",423.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE424\"],[\"LINE425\",\"4c_06\",419,426,0.001753699965775,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",424.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE425\"],[\"LINE426\",\"2c_16\",420,427,0.000777930021286,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",425.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE426\"],[\"LINE427\",\"4c_1\",421,428,0.000319229991874,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",426.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE427\"],[\"LINE428\",\"4c_1\",422,429,0.000082872997154,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",427.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE428\"],[\"LINE429\",\"2c_16\",423,430,0.000227979995543,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",428.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE429\"],[\"LINE430\",\"2c_16\",424,431,0.001133100013249,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",429.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE430\"],[\"LINE431\",\"4c_06\",425,432,0.005915100220591,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",430.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE431\"],[\"LINE432\",\"4c_06\",425,433,0.005915100220591,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",431.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE432\"],[\"LINE433\",\"2c_16\",427,434,0.000866079994012,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",432.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE433\"],[\"LINE434\",\"4c_1\",428,435,0.00016723999579,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",433.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE434\"],[\"LINE435\",\"4c_1\",429,436,0.000071344002208,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",434.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE435\"],[\"LINE436\",\"2c_16\",430,437,0.000226739997743,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",435.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE436\"],[\"LINE437\",\"2c_16\",431,438,0.000384000013582,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",436.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE437\"],[\"LINE438\",\"4c_06\",432,439,0.008366299793124,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",437.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE438\"],[\"LINE439\",\"4c_06\",432,440,0.008366299793124,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",438.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE439\"],[\"LINE440\",\"2c_16\",434,441,0.000487079989398,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",439.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE440\"],[\"LINE441\",\"4c_1\",435,442,0.000138639996294,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",440.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE441\"],[\"LINE442\",\"4c_1\",436,443,0.000077999997302,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",441.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE442\"],[\"LINE443\",\"2c_16\",437,444,0.000260100001469,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",442.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE443\"],[\"LINE444\",\"2c_16\",438,445,0.000678580021486,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",443.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE444\"],[\"LINE445\",\"4c_06\",439,446,0.006003300193697,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",444.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE445\"],[\"LINE446\",\"4c_06\",439,447,0.006003300193697,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",445.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE446\"],[\"LINE447\",\"2c_16\",441,448,0.000457560003269,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",446.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE447\"],[\"LINE448\",\"4c_1\",442,449,0.000112360001367,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",447.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE448\"],[\"LINE449\",\"4c_1\",443,450,0.000079245997767,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",448.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE449\"],[\"LINE450\",\"2c_16\",444,451,0.000898240017705,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",449.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE450\"],[\"LINE451\",\"2c_16\",445,452,0.000593659991864,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",450.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE451\"],[\"LINE452\",\"4c_06\",446,453,0.001821400015615,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",451.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE452\"],[\"LINE453\",\"4c_06\",446,454,0.001821400015615,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",452.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE453\"],[\"LINE454\",\"2c_16\",448,455,0.00043655000627,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",453.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE454\"],[\"LINE455\",\"4c_1\",449,456,0.000171749998117,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",454.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE455\"],[\"LINE456\",\"4c_1\",450,457,0.000054231000831,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",455.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE456\"],[\"LINE457\",\"2c_16\",451,458,0.004377299919724,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",456.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE457\"],[\"LINE458\",\"2c_16\",452,459,0.000670639972668,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",457.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE458\"],[\"LINE459\",\"4c_06\",453,460,0.005390500184149,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",458.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE459\"],[\"LINE460\",\"4c_06\",453,461,0.005390500184149,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",459.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE460\"],[\"LINE461\",\"2c_16\",453,462,0.003685900010169,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",460.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE461\"],[\"LINE462\",\"2c_16\",455,463,0.000716749986168,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",461.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE462\"],[\"LINE463\",\"4c_1\",456,464,0.000154830006068,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",462.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE463\"],[\"LINE464\",\"4c_1\",457,465,0.000040310998884,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",463.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE464\"],[\"LINE465\",\"2c_16\",459,466,0.000634210009594,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",464.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE465\"],[\"LINE466\",\"4c_06\",460,467,0.005989099852741,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",465.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE466\"],[\"LINE467\",\"4c_06\",460,468,0.005989099852741,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",466.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE467\"],[\"LINE468\",\"4c_06\",460,469,0.000882919994183,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",467.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE468\"],[\"LINE469\",\"2c_16\",462,470,0.00053828000091,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",468.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE469\"],[\"LINE470\",\"2c_16\",463,471,0.000499229994603,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",469.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE470\"],[\"LINE471\",\"4c_1\",464,472,0.000147359998664,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",470.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE471\"],[\"LINE472\",\"4c_1\",465,473,0.000049497000873,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",471.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE472\"],[\"LINE473\",\"2c_16\",466,474,0.003200999926776,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",472.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE473\"],[\"LINE474\",\"4c_06\",467,475,0.002194700064138,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",473.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE474\"],[\"LINE475\",\"4c_06\",467,476,0.002194700064138,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",474.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE475\"],[\"LINE476\",\"2c_16\",470,477,0.000293510005577,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",475.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE476\"],[\"LINE477\",\"2c_16\",471,478,0.000350769987563,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",476.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE477\"],[\"LINE478\",\"4c_1\",472,479,0.000166009995155,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",477.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE478\"],[\"LINE479\",\"4c_1\",473,480,0.000063952997152,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",478.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE479\"],[\"LINE480\",\"2c_16\",474,481,0.000189839993254,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",479.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE480\"],[\"LINE481\",\"4c_06\",475,482,0.004643199965358,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",480.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE481\"],[\"LINE482\",\"4c_06\",475,483,0.004643199965358,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",481.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE482\"],[\"LINE483\",\"2c_16\",475,484,0.010276899673045,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",482.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE483\"],[\"LINE484\",\"2c_16\",477,485,0.000198830006411,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",483.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE484\"],[\"LINE485\",\"2c_16\",478,486,0.000167599995621,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",484.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE485\"],[\"LINE486\",\"4c_1\",479,487,0.000175359993591,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",485.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE486\"],[\"LINE487\",\"4c_1\",480,488,0.000111629997264,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",486.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE487\"],[\"LINE488\",\"2c_16\",481,489,0.00017129999469,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",487.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE488\"],[\"LINE489\",\"4c_06\",482,490,0.00665479991585,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",488.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE489\"],[\"LINE490\",\"4c_06\",482,491,0.00665479991585,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",489.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE490\"],[\"LINE491\",\"2c_16\",484,492,0.000577959988732,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",490.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE491\"],[\"LINE492\",\"2c_16\",484,493,0.00407260004431,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",491.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE492\"],[\"LINE493\",\"2c_16\",485,494,0.000302010012092,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",492.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE493\"],[\"LINE494\",\"2c_16\",486,495,0.000106170002255,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",493.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE494\"],[\"LINE495\",\"4c_1\",487,496,0.000383420003345,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",494.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE495\"],[\"LINE496\",\"4c_1\",488,497,0.000139719995786,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",495.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE496\"],[\"LINE497\",\"2c_16\",489,498,0.00023283000337,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",496.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE497\"],[\"LINE498\",\"4c_06\",490,499,0.004061200190336,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",497.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE498\"],[\"LINE499\",\"4c_06\",490,500,0.004061200190336,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",498.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE499\"],[\"LINE500\",\"2c_16\",492,501,0.000244289985858,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",499.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE500\"],[\"LINE501\",\"2c_16\",493,502,0.002606000052765,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",500.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE501\"],[\"LINE502\",\"2c_16\",494,503,0.000458330003312,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",501.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE502\"],[\"LINE503\",\"2c_16\",495,504,0.000071784001193,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",502.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE503\"],[\"LINE504\",\"4c_1\",496,505,0.008696099743247,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",503.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE504\"],[\"LINE505\",\"4c_1\",497,506,0.000096167001175,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",504.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE505\"],[\"LINE506\",\"2c_16\",498,507,0.000305639987346,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",505.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE506\"],[\"LINE507\",\"4c_06\",499,508,0.000699380005244,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",506.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE507\"],[\"LINE508\",\"4c_06\",499,509,0.000699380005244,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",507.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE508\"],[\"LINE509\",\"2c_16\",501,510,0.000143540004501,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",508.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE509\"],[\"LINE510\",\"2c_16\",503,511,0.000325169996358,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",509.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE510\"],[\"LINE511\",\"2c_16\",504,512,0.000100129997008,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",510.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE511\"],[\"LINE512\",\"2c_16\",505,513,0.005564799997956,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",511.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE512\"],[\"LINE513\",\"4c_1\",505,514,0.001336900051683,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",512.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE513\"],[\"LINE514\",\"4c_1\",506,515,0.000085491999926,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",513.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE514\"],[\"LINE515\",\"4c_06\",508,516,0.001885700039566,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",514.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE515\"],[\"LINE516\",\"4c_06\",508,517,0.001885700039566,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",515.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE516\"],[\"LINE517\",\"2c_16\",508,518,0.004731600172818,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",516.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE517\"],[\"LINE518\",\"2c_16\",510,519,0.000132100001792,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",517.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE518\"],[\"LINE519\",\"2c_16\",511,520,0.000222160000703,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",518.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE519\"],[\"LINE520\",\"2c_16\",512,521,0.000076420001278,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",519.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE520\"],[\"LINE521\",\"2c_16\",513,522,0.004907399881631,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",520.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE521\"],[\"LINE522\",\"4c_1\",514,523,0.00072121998528,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",521.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE522\"],[\"LINE523\",\"4c_1\",515,524,0.00006657299673,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",522.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE523\"],[\"LINE524\",\"4c_06\",516,525,0.001388099975884,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",523.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE524\"],[\"LINE525\",\"4c_06\",516,526,0.001388099975884,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",524.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE525\"],[\"LINE526\",\"2c_16\",518,527,0.002796000102535,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",525.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE526\"],[\"LINE527\",\"2c_16\",519,528,0.000117689996841,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",526.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE527\"],[\"LINE528\",\"2c_16\",520,529,0.000175549997948,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",527.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE528\"],[\"LINE529\",\"2c_16\",521,530,0.00054535001982,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",528.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE529\"],[\"LINE530\",\"4c_1\",523,531,0.000107710002339,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",529.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE530\"],[\"LINE531\",\"4c_1\",524,532,0.000060802998632,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",530.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE531\"],[\"LINE532\",\"4c_06\",525,533,0.001889899955131,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",531.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE532\"],[\"LINE533\",\"4c_06\",525,534,0.001889899955131,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",532.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE533\"],[\"LINE534\",\"2c_16\",527,535,0.002215400105342,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",533.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE534\"],[\"LINE535\",\"2c_16\",528,536,0.000122090001241,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",534.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE535\"],[\"LINE536\",\"2c_16\",529,537,0.000562859990168,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",535.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE536\"],[\"LINE537\",\"2c_16\",530,538,0.001922699972056,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",536.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE537\"],[\"LINE538\",\"2c_16\",530,539,0.005583699792624,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",537.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE538\"],[\"LINE539\",\"4c_1\",531,540,0.000082218997704,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",538.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE539\"],[\"LINE540\",\"4c_1\",532,541,0.000065512998844,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",539.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE540\"],[\"LINE541\",\"4c_06\",533,542,0.00133740005549,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",540.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE541\"],[\"LINE542\",\"4c_06\",533,543,0.00133740005549,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",541.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE542\"],[\"LINE543\",\"2c_16\",535,544,0.000915420008823,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",542.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE543\"],[\"LINE544\",\"2c_16\",536,545,0.000368570006685,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",543.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE544\"],[\"LINE545\",\"2c_16\",537,546,0.004552700091153,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",544.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE545\"],[\"LINE546\",\"2c_16\",538,547,0.002123099984601,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",545.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE546\"],[\"LINE547\",\"4c_1\",540,548,0.000076896001701,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",546.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE547\"],[\"LINE548\",\"4c_1\",541,549,0.00008614500257,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",547.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE548\"],[\"LINE549\",\"4c_06\",542,550,0.003740099957213,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",548.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE549\"],[\"LINE550\",\"4c_06\",542,551,0.003740099957213,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",549.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE550\"],[\"LINE551\",\"2c_16\",544,552,0.00028803999885,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",550.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE551\"],[\"LINE552\",\"2c_16\",544,553,0.003788999980316,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",551.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE552\"],[\"LINE553\",\"2c_16\",545,554,0.000371430011,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",552.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE553\"],[\"LINE554\",\"2c_16\",546,555,0.000226720003411,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",553.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE554\"],[\"LINE555\",\"2c_16\",547,556,0.005754800047725,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",554.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE555\"],[\"LINE556\",\"4c_1\",548,557,0.000081999998656,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",555.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE556\"],[\"LINE557\",\"4c_1\",549,558,0.000061612001446,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",556.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE557\"],[\"LINE558\",\"4c_06\",550,559,0.002708199899644,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",557.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE558\"],[\"LINE559\",\"4c_06\",550,560,0.002708199899644,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",558.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE559\"],[\"LINE560\",\"2c_16\",552,561,0.000105990002339,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",559.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE560\"],[\"LINE561\",\"2c_16\",553,562,0.002866399940103,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",560.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE561\"],[\"LINE562\",\"2c_16\",554,563,0.003470499999821,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",561.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE562\"],[\"LINE563\",\"2c_16\",555,564,0.000178889997187,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",562.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE563\"],[\"LINE564\",\"4c_1\",557,565,0.000072559996624,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",563.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE564\"],[\"LINE565\",\"4c_1\",558,566,0.000120210002933,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",564.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE565\"],[\"LINE566\",\"4c_06\",559,567,0.000600680010393,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",565.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE566\"],[\"LINE567\",\"4c_06\",559,568,0.000600680010393,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",566.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE567\"],[\"LINE568\",\"2c_16\",559,569,0.003848199965432,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",567.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE568\"],[\"LINE569\",\"2c_16\",561,570,0.000157880000188,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",568.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE569\"],[\"LINE570\",\"2c_16\",564,571,0.000202240000363,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",569.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE570\"],[\"LINE571\",\"4c_1\",565,572,0.000074215997302,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",570.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE571\"],[\"LINE572\",\"4c_06\",567,573,0.000142229997437,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",571.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE572\"],[\"LINE573\",\"4c_06\",567,574,0.000142229997437,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",572.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE573\"],[\"LINE574\",\"2c_16\",569,575,0.000486480013933,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",573.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE574\"],[\"LINE575\",\"2c_16\",570,576,0.000095000003057,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",574.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE575\"],[\"LINE576\",\"2c_16\",571,577,0.000180000002729,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",575.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE576\"],[\"LINE577\",\"4c_1\",572,578,0.000383050006349,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",576.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE577\"],[\"LINE578\",\"4c_06\",573,579,0.003855800023302,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",577.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE578\"],[\"LINE579\",\"4c_06\",573,580,0.003855800023302,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",578.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE579\"],[\"LINE580\",\"4c_06\",573,581,0.000319790007779,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",579.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE580\"],[\"LINE581\",\"2c_16\",575,582,0.000358989986125,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",580.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE581\"],[\"LINE582\",\"2c_16\",576,583,0.000114629998279,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",581.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE582\"],[\"LINE583\",\"2c_16\",577,584,0.000207179997233,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",582.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE583\"],[\"LINE584\",\"2c_16\",578,585,0.00473179994151,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",583.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE584\"],[\"LINE585\",\"4c_1\",578,586,0.000826229981612,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",584.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE585\"],[\"LINE586\",\"4c_06\",579,587,0.002702200086787,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",585.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE586\"],[\"LINE587\",\"4c_06\",579,588,0.002702200086787,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",586.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE587\"],[\"LINE588\",\"4c_06\",581,589,0.000116280003567,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",587.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE588\"],[\"LINE589\",\"2c_16\",582,590,0.000349300011294,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",588.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE589\"],[\"LINE590\",\"2c_16\",583,591,0.000100650002423,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",589.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE590\"],[\"LINE591\",\"2c_16\",584,592,0.000212429993553,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",590.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE591\"],[\"LINE592\",\"2c_16\",585,593,0.000272679986665,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",591.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE592\"],[\"LINE593\",\"4c_1\",586,594,0.003948300145566,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",592.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE593\"],[\"LINE594\",\"4c_06\",587,595,0.005414200015366,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",593.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE594\"],[\"LINE595\",\"4c_06\",587,596,0.000642379978672,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",594.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE595\"],[\"LINE596\",\"4c_06\",589,597,0.00008927500312,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",595.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE596\"],[\"LINE597\",\"2c_16\",590,598,0.003281200071797,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",596.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE597\"],[\"LINE598\",\"2c_16\",591,599,0.000658619974274,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",597.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE598\"],[\"LINE599\",\"2c_16\",592,600,0.00025534001179,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",598.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE599\"],[\"LINE600\",\"2c_16\",593,601,0.000136949995067,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",599.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE600\"],[\"LINE601\",\"2c_16\",594,602,0.009166900068522,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",600.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE601\"],[\"LINE602\",\"4c_1\",594,603,0.004642399959266,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",601.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE602\"],[\"LINE603\",\"4c_06\",595,604,0.004828299861401,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",602.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE603\"],[\"LINE604\",\"4c_06\",595,605,0.004828299861401,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",603.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE604\"],[\"LINE605\",\"4c_06\",595,606,0.004771899897605,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",604.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE605\"],[\"LINE606\",\"2c_16\",596,607,0.011664199642837,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",605.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE606\"],[\"LINE607\",\"2c_16\",596,608,0.011664199642837,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",606.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE607\"],[\"LINE608\",\"4c_06\",597,609,0.000110369997856,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",607.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE608\"],[\"LINE609\",\"2c_16\",598,610,0.001527099986561,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",608.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE609\"],[\"LINE610\",\"2c_16\",599,611,0.00485619995743,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",609.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE610\"],[\"LINE611\",\"2c_16\",600,612,0.000160080002388,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",610.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE611\"],[\"LINE612\",\"2c_16\",601,613,0.000114839996968,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",611.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE612\"],[\"LINE613\",\"2c_16\",602,614,0.004837399814278,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",612.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE613\"],[\"LINE614\",\"4c_1\",603,615,0.004446600098163,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",613.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE614\"],[\"LINE615\",\"2c_0225\",604,616,0.003930099774152,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",614.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE615\"],[\"LINE616\",\"4c_06\",604,617,0.003108799923211,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",615.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE616\"],[\"LINE617\",\"4c_06\",604,618,0.003108799923211,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",616.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE617\"],[\"LINE618\",\"2c_16\",607,619,0.002745399950072,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",617.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE618\"],[\"LINE619\",\"4c_06\",609,620,0.000063640000008,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",618.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE619\"],[\"LINE620\",\"2c_16\",610,621,0.00071673002094,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",619.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE620\"],[\"LINE621\",\"2c_16\",612,622,0.000687970023137,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",620.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE621\"],[\"LINE622\",\"2c_16\",613,623,0.000093647999165,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",621.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE622\"],[\"LINE623\",\"2c_16\",615,624,0.001632199971937,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",622.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE623\"],[\"LINE624\",\"4c_1\",615,625,0.001251099980436,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",623.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE624\"],[\"LINE625\",\"2c_0225\",616,626,0.005353699903935,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",624.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE625\"],[\"LINE626\",\"4c_06\",620,627,0.000077896998846,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",625.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE626\"],[\"LINE627\",\"2c_16\",621,628,0.000478069996461,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",626.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE627\"],[\"LINE628\",\"2c_16\",622,629,0.002900399966165,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",627.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE628\"],[\"LINE629\",\"2c_16\",623,630,0.000146999998833,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",628.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE629\"],[\"LINE630\",\"2c_16\",624,631,0.00040021998575,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",629.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE630\"],[\"LINE631\",\"4c_1\",625,632,0.000287839997327,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",630.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE631\"],[\"LINE632\",\"2c_0225\",626,633,0.001570299966261,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",631.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE632\"],[\"LINE633\",\"4c_06\",627,634,0.000065298998379,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",632.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE633\"],[\"LINE634\",\"2c_16\",628,635,0.00073088001227,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",633.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE634\"],[\"LINE635\",\"2c_16\",630,636,0.000350529997377,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",634.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE635\"],[\"LINE636\",\"2c_16\",631,637,0.000274819991319,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",635.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE636\"],[\"LINE637\",\"4c_1\",632,638,0.000142839999171,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",636.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE637\"],[\"LINE638\",\"2c_0225\",633,639,0.005197400227189,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",637.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE638\"],[\"LINE639\",\"4c_06\",634,640,0.000069123001595,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",638.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE639\"],[\"LINE640\",\"2c_16\",635,641,0.001427400042303,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",639.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE640\"],[\"LINE641\",\"2c_16\",636,642,0.000242509995587,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",640.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE641\"],[\"LINE642\",\"2c_16\",637,643,0.000380960002076,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",641.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE642\"],[\"LINE643\",\"4c_1\",638,644,0.000156969996169,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",642.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE643\"],[\"LINE644\",\"4c_06\",640,645,0.000068592999014,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",643.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE644\"],[\"LINE645\",\"2c_16\",641,646,0.000394570000935,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",644.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE645\"],[\"LINE646\",\"2c_16\",642,647,0.000308349990519,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",645.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE646\"],[\"LINE647\",\"2c_16\",643,648,0.000903369975276,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",646.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE647\"],[\"LINE648\",\"4c_1\",644,649,0.000181120005436,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",647.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE648\"],[\"LINE649\",\"4c_06\",645,650,0.000093984002888,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",648.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE649\"],[\"LINE650\",\"2c_16\",646,651,0.000114549999125,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",649.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE650\"],[\"LINE651\",\"2c_16\",647,652,0.000187319994438,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",650.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE651\"],[\"LINE652\",\"2c_16\",648,653,0.000686710001901,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",651.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE652\"],[\"LINE653\",\"4c_1\",649,654,0.00018309999723,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",652.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE653\"],[\"LINE654\",\"4c_06\",650,655,0.000123940000776,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",653.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE654\"],[\"LINE655\",\"2c_16\",651,656,0.000099368000519,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",654.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE655\"],[\"LINE656\",\"2c_16\",651,657,0.000527810014319,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",655.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE656\"],[\"LINE657\",\"2c_16\",652,658,0.000169110004208,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",656.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE657\"],[\"LINE658\",\"2c_16\",653,659,0.000482059986098,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",657.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE658\"],[\"LINE659\",\"4c_1\",654,660,0.000202990006073,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",658.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE659\"],[\"LINE660\",\"4c_06\",655,661,0.000364659994375,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",659.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE660\"],[\"LINE661\",\"2c_16\",656,662,0.00009300000238,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",660.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE661\"],[\"LINE662\",\"2c_16\",657,663,0.000696479983162,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",661.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE662\"],[\"LINE663\",\"2c_16\",658,664,0.000285210000584,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",662.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE663\"],[\"LINE664\",\"2c_16\",659,665,0.000505000003614,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",663.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE664\"],[\"LINE665\",\"4c_1\",660,666,0.000295189995086,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",664.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE665\"],[\"LINE666\",\"4c_06\",661,667,0.000260189990513,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",665.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE666\"],[\"LINE667\",\"2c_16\",662,668,0.000095802002761,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",666.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE667\"],[\"LINE668\",\"2c_16\",663,669,0.002893500030041,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",667.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE668\"],[\"LINE669\",\"2c_16\",664,670,0.000280400010524,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",668.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE669\"],[\"LINE670\",\"2c_16\",665,671,0.000414609996369,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",669.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE670\"],[\"LINE671\",\"2c_16\",666,672,0.000480099988636,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",670.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE671\"],[\"LINE672\",\"4c_1\",666,673,0.000811610021628,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",671.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE672\"],[\"LINE673\",\"4c_06\",667,674,0.000201839997317,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",672.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE673\"],[\"LINE674\",\"2c_16\",668,675,0.000692670000717,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",673.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE674\"],[\"LINE675\",\"2c_16\",669,676,0.001228800043464,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",674.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE675\"],[\"LINE676\",\"2c_16\",670,677,0.000132670000312,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",675.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE676\"],[\"LINE677\",\"2c_16\",671,678,0.000686480023433,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",676.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE677\"],[\"LINE678\",\"2c_16\",672,679,0.000288300012471,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",677.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE678\"],[\"LINE679\",\"4c_1\",673,680,0.005139300134033,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",678.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE679\"],[\"LINE680\",\"4c_06\",674,681,0.000402520003263,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",679.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE680\"],[\"LINE681\",\"2c_16\",675,682,0.005044099874794,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",680.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE681\"],[\"LINE682\",\"2c_16\",677,683,0.000145719997818,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",681.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE682\"],[\"LINE683\",\"2c_16\",678,684,0.002218500012532,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",682.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE683\"],[\"LINE684\",\"2c_16\",679,685,0.00026743998751,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",683.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE684\"],[\"LINE685\",\"4c_1\",680,686,0.003678699955344,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",684.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE685\"],[\"LINE686\",\"2c_16\",683,687,0.000139859999763,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",685.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE686\"],[\"LINE687\",\"2c_16\",684,688,0.005183800123632,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",686.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE687\"],[\"LINE688\",\"2c_16\",685,689,0.000260950007942,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",687.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE688\"],[\"LINE689\",\"2c_16\",686,690,0.008144499734044,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",688.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE689\"],[\"LINE690\",\"4c_1\",686,691,0.010525399819016,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",689.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE690\"],[\"LINE691\",\"2c_16\",687,692,0.000168669997947,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",690.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE691\"],[\"LINE692\",\"2c_16\",689,693,0.000195729997358,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",691.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE692\"],[\"LINE693\",\"2c_16\",690,694,0.000761570001487,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",692.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE693\"],[\"LINE694\",\"2c_16\",690,695,0.002126100007445,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",693.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE694\"],[\"LINE695\",\"2c_16\",691,696,0.009481700137258,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",694.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE695\"],[\"LINE696\",\"4c_1\",691,697,0.00219070003368,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",695.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE696\"],[\"LINE697\",\"2c_16\",692,698,0.000269050011411,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",696.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE697\"],[\"LINE698\",\"2c_16\",693,699,0.000310929986881,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",697.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE698\"],[\"LINE699\",\"2c_16\",694,700,0.000238299995544,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",698.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE699\"],[\"LINE700\",\"2c_16\",695,701,0.004331199917942,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",699.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE700\"],[\"LINE701\",\"2c_16\",696,702,0.005493000149727,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",700.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE701\"],[\"LINE702\",\"4c_06\",697,703,0.002400000113994,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",701.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE702\"],[\"LINE703\",\"2c_16\",698,704,0.000736359972507,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",702.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE703\"],[\"LINE704\",\"2c_16\",699,705,0.00052424002206,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",703.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE704\"],[\"LINE705\",\"2c_16\",700,706,0.000153219996719,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",704.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE705\"],[\"LINE706\",\"4c_06\",703,707,0.006330799777061,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",705.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE706\"],[\"LINE707\",\"4c_06\",703,708,0.000111319997814,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",706.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE707\"],[\"LINE708\",\"2c_16\",704,709,0.000979959964752,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",707.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE708\"],[\"LINE709\",\"2c_16\",705,710,0.003928100224584,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",708.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE709\"],[\"LINE710\",\"2c_16\",706,711,0.00009241799853,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",709.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE710\"],[\"LINE711\",\"4c_06\",707,712,0.007502499967813,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",710.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE711\"],[\"LINE712\",\"2c_16\",707,713,0.00394479976967,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",711.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE712\"],[\"LINE713\",\"4c_06\",708,714,0.000104740000097,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",712.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE713\"],[\"LINE714\",\"2c_16\",709,715,0.000093337999715,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",713.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE714\"],[\"LINE715\",\"2c_16\",710,716,0.003222499974072,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",714.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE715\"],[\"LINE716\",\"2c_16\",711,717,0.000093408001703,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",715.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE716\"],[\"LINE717\",\"4c_06\",712,718,0.007743400055915,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",716.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE717\"],[\"LINE718\",\"2c_16\",713,719,0.000422300014179,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",717.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE718\"],[\"LINE719\",\"4c_06\",714,720,0.000096999996458,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",718.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE719\"],[\"LINE720\",\"2c_16\",715,721,0.000073816998338,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",719.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE720\"],[\"LINE721\",\"2c_16\",716,722,0.001020999974571,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",720.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE721\"],[\"LINE722\",\"2c_16\",717,723,0.000083432998508,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",721.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE722\"],[\"LINE723\",\"4c_06\",718,724,0.003253499977291,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",722.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE723\"],[\"LINE724\",\"2c_16\",718,725,0.009347500279546,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",723.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE724\"],[\"LINE725\",\"2c_16\",719,726,0.000161239993758,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",724.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE725\"],[\"LINE726\",\"4c_06\",720,727,0.000109770000563,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",725.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE726\"],[\"LINE727\",\"2c_16\",721,728,0.000071693997597,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",726.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE727\"],[\"LINE728\",\"2c_16\",722,729,0.000929490022827,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",727.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE728\"],[\"LINE729\",\"2c_16\",723,730,0.000094000002719,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",728.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE729\"],[\"LINE730\",\"4c_06\",724,731,0.004420999903232,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",729.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE730\"],[\"LINE731\",\"2c_16\",725,732,0.001253900001757,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",730.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE731\"],[\"LINE732\",\"2c_16\",726,733,0.000170560000697,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",731.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE732\"],[\"LINE733\",\"4c_06\",727,734,0.000089888999355,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",732.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE733\"],[\"LINE734\",\"2c_16\",728,735,0.000076791999163,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",733.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE734\"],[\"LINE735\",\"2c_16\",729,736,0.000506250013132,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",734.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE735\"],[\"LINE736\",\"2c_16\",730,737,0.000075313000707,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",735.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE736\"],[\"LINE737\",\"4c_06\",731,738,0.005176099948585,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",736.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE737\"],[\"LINE738\",\"2c_16\",732,739,0.000658769975416,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",737.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE738\"],[\"LINE739\",\"2c_16\",733,740,0.00014155000099,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",738.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE739\"],[\"LINE740\",\"4c_06\",734,741,0.000137609997182,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",739.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE740\"],[\"LINE741\",\"2c_16\",735,742,0.000071000002208,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",740.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE741\"],[\"LINE742\",\"2c_16\",736,743,0.000404319987865,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",741.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE742\"],[\"LINE743\",\"2c_16\",737,744,0.000090337998699,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",742.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE743\"],[\"LINE744\",\"4c_06\",738,745,0.00415620021522,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",743.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE744\"],[\"LINE745\",\"2c_16\",739,746,0.003738699946553,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",744.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE745\"],[\"LINE746\",\"2c_16\",739,747,0.000122019999253,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",745.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE746\"],[\"LINE747\",\"2c_16\",740,748,0.00016763000167,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",746.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE747\"],[\"LINE748\",\"4c_06\",741,749,0.000164269993547,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",747.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE748\"],[\"LINE749\",\"2c_16\",742,750,0.000066909997258,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",748.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE749\"],[\"LINE750\",\"2c_16\",743,751,0.000344770000083,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",749.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE750\"],[\"LINE751\",\"2c_16\",744,752,0.000097349999123,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",750.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE751\"],[\"LINE752\",\"4c_06\",745,753,0.001543399994262,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",751.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE752\"],[\"LINE753\",\"2c_16\",745,754,0.0059226998128,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",752.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE753\"],[\"LINE754\",\"2c_16\",746,755,0.003039099974558,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",753.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE754\"],[\"LINE755\",\"2c_16\",747,756,0.000088237997261,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",754.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE755\"],[\"LINE756\",\"2c_16\",748,757,0.000163479999173,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",755.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE756\"],[\"LINE757\",\"4c_06\",749,758,0.000124540005345,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",756.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE757\"],[\"LINE758\",\"2c_16\",750,759,0.00009305900312,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",757.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE758\"],[\"LINE759\",\"2c_16\",751,760,0.000404590013204,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",758.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE759\"],[\"LINE760\",\"2c_16\",752,761,0.000177609996172,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",759.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE760\"],[\"LINE761\",\"4c_06\",753,762,0.002127900021151,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",760.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE761\"],[\"LINE762\",\"2c_16\",754,763,0.004950600210577,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",761.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE762\"],[\"LINE763\",\"2c_16\",756,764,0.000074465002399,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",762.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE763\"],[\"LINE764\",\"2c_16\",757,765,0.000224749994231,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",763.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE764\"],[\"LINE765\",\"4c_06\",758,766,0.000121669996588,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",764.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE765\"],[\"LINE766\",\"2c_16\",759,767,0.000114039998152,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",765.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE766\"],[\"LINE767\",\"2c_16\",760,768,0.000369690009393,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",766.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE767\"],[\"LINE768\",\"2c_16\",761,769,0.001328799990006,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",767.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE768\"],[\"LINE769\",\"4c_06\",762,770,0.005234700161964,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",768.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE769\"],[\"LINE770\",\"2c_16\",763,771,0.003600700059906,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",769.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE770\"],[\"LINE771\",\"2c_16\",763,772,0.000130379994516,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",770.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE771\"],[\"LINE772\",\"2c_16\",764,773,0.000125780003145,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",771.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE772\"],[\"LINE773\",\"2c_16\",765,774,0.00030918000266,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",772.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE773\"],[\"LINE774\",\"4c_06\",766,775,0.000079309997091,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",773.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE774\"],[\"LINE775\",\"2c_16\",767,776,0.000540520006325,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",774.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE775\"],[\"LINE776\",\"2c_16\",768,777,0.000573529978283,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",775.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE776\"],[\"LINE777\",\"2c_16\",769,778,0.004072099924088,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",776.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE777\"],[\"LINE778\",\"4c_06\",770,779,0.004242800176144,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",777.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE778\"],[\"LINE779\",\"2c_16\",771,780,0.003528299974278,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",778.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE779\"],[\"LINE780\",\"2c_16\",772,781,0.000124660000438,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",779.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE780\"],[\"LINE781\",\"2c_16\",773,782,0.000176140005351,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",780.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE781\"],[\"LINE782\",\"2c_16\",774,783,0.000327199988533,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",781.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE782\"],[\"LINE783\",\"4c_06\",775,784,0.000096999996458,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",782.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE783\"],[\"LINE784\",\"2c_16\",776,785,0.004621599800885,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",783.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE784\"],[\"LINE785\",\"2c_16\",777,786,0.001157899969257,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",784.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE785\"],[\"LINE786\",\"4c_06\",779,787,0.003315200097859,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",785.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE786\"],[\"LINE787\",\"2c_16\",781,788,0.000134389993036,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",786.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE787\"],[\"LINE788\",\"2c_16\",782,789,0.000130700005684,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",787.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE788\"],[\"LINE789\",\"2c_16\",783,790,0.000217349996092,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",788.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE789\"],[\"LINE790\",\"4c_06\",784,791,0.000091984002211,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",789.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE790\"],[\"LINE791\",\"2c_16\",786,792,0.000345879991073,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",790.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE791\"],[\"LINE792\",\"2c_16\",786,793,0.002062000101432,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",791.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE792\"],[\"LINE793\",\"4c_06\",787,794,0.002996300114319,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",792.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE793\"],[\"LINE794\",\"2c_16\",788,795,0.000119999996969,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",793.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE794\"],[\"LINE795\",\"2c_16\",789,796,0.000216510001337,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",794.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE795\"],[\"LINE796\",\"2c_16\",790,797,0.00022120999347,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",795.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE796\"],[\"LINE797\",\"4c_06\",791,798,0.000091706002422,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",796.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE797\"],[\"LINE798\",\"2c_16\",792,799,0.000301639985992,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",797.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE798\"],[\"LINE799\",\"2c_16\",793,800,0.003299500094727,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",798.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE799\"],[\"LINE800\",\"2c_16\",794,801,0.000205549993552,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",799.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE800\"],[\"LINE801\",\"4c_95_SAC_XC\",794,802,0.002803100040182,0.321999996900558,0.074000000953674,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",800.0,\"LV_Grid\",0,0,0.804000020027161,0.093000002205372,\"LINE801\"],[\"LINE802\",\"2c_16\",795,803,0.00013251999917,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",801.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE802\"],[\"LINE803\",\"2c_16\",796,804,0.001502800034359,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",802.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE803\"],[\"LINE804\",\"2c_16\",797,805,0.000105769999209,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",803.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE804\"],[\"LINE805\",\"4c_06\",798,806,0.000123110003187,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",804.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE805\"],[\"LINE806\",\"2c_16\",799,807,0.000249470002018,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",805.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE806\"],[\"LINE807\",\"2c_16\",800,808,0.002819099929184,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",806.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE807\"],[\"LINE808\",\"2c_16\",801,809,0.000206090000574,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",807.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE808\"],[\"LINE809\",\"4c_06\",802,810,0.003074900014326,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",808.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE809\"],[\"LINE810\",\"4c_06\",802,811,0.003074900014326,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",809.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE810\"],[\"LINE811\",\"2c_16\",803,812,0.000085439998657,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",810.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE811\"],[\"LINE812\",\"2c_16\",804,813,0.003319500014186,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",811.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE812\"],[\"LINE813\",\"2c_16\",805,814,0.000168240003404,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",812.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE813\"],[\"LINE814\",\"4c_06\",806,815,0.000420859985752,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",813.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE814\"],[\"LINE815\",\"2c_16\",807,816,0.000193999992916,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",814.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE815\"],[\"LINE816\",\"2c_16\",808,817,0.001595500041731,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",815.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE816\"],[\"LINE817\",\"2c_16\",809,818,0.00020649000362,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",816.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE817\"],[\"LINE818\",\"4c_06\",810,819,0.002578200073913,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",817.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE818\"],[\"LINE819\",\"4c_06\",810,820,0.002578200073913,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",818.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE819\"],[\"LINE820\",\"2c_16\",812,821,0.000131230000989,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",819.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE820\"],[\"LINE821\",\"2c_16\",814,822,0.000157939997735,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",820.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE821\"],[\"LINE822\",\"4c_06\",815,823,0.000486509990878,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",821.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE822\"],[\"LINE823\",\"2c_16\",816,824,0.000197310000658,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",822.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE823\"],[\"LINE824\",\"2c_16\",818,825,0.000205239994102,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",823.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE824\"],[\"LINE825\",\"4c_06\",819,826,0.002771500032395,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",824.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE825\"],[\"LINE826\",\"4c_06\",819,827,0.002771500032395,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",825.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE826\"],[\"LINE827\",\"2c_16\",821,828,0.001079399953596,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",826.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE827\"],[\"LINE828\",\"2c_16\",822,829,0.000225669995416,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",827.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE828\"],[\"LINE829\",\"4c_06\",823,830,0.000496589986142,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",828.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE829\"],[\"LINE830\",\"2c_16\",824,831,0.000171229999978,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",829.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE830\"],[\"LINE831\",\"2c_16\",825,832,0.000206020005862,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",830.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE831\"],[\"LINE832\",\"4c_06\",826,833,0.002275499980897,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",831.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE832\"],[\"LINE833\",\"4c_06\",826,834,0.002275499980897,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",832.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE833\"],[\"LINE834\",\"2c_16\",828,835,0.003720100037754,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",833.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE834\"],[\"LINE835\",\"2c_16\",829,836,0.00238210009411,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",834.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE835\"],[\"LINE836\",\"2c_16\",831,837,0.000122979996377,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",835.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE836\"],[\"LINE837\",\"2c_16\",832,838,0.000205880001886,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",836.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE837\"],[\"LINE838\",\"4c_06\",833,839,0.002442999975756,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",837.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE838\"],[\"LINE839\",\"4c_06\",833,840,0.002442999975756,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",838.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE839\"],[\"LINE840\",\"2c_16\",836,841,0.000952780013904,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",839.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE840\"],[\"LINE841\",\"2c_16\",837,842,0.000142780001624,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",840.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE841\"],[\"LINE842\",\"2c_16\",838,843,0.000206009994145,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",841.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE842\"],[\"LINE843\",\"2c_0225\",839,844,0.00480919983238,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",842.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE843\"],[\"LINE844\",\"4c_06\",839,845,0.003621200099587,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",843.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE844\"],[\"LINE845\",\"4c_06\",839,846,0.003621200099587,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",844.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE845\"],[\"LINE846\",\"2c_16\",841,847,0.000483820011141,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",845.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE846\"],[\"LINE847\",\"2c_16\",842,848,0.000215099993511,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",846.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE847\"],[\"LINE848\",\"2c_16\",843,849,0.000100559998828,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",847.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE848\"],[\"LINE849\",\"2c_0225\",844,850,0.000703600002453,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",848.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE849\"],[\"LINE850\",\"4c_06\",845,851,0.004364000167698,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",849.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE850\"],[\"LINE851\",\"4c_06\",845,852,0.004364000167698,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",850.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE851\"],[\"LINE852\",\"2c_16\",847,853,0.00010705999739,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",851.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE852\"],[\"LINE853\",\"2c_16\",848,854,0.00035143000423,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",852.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE853\"],[\"LINE854\",\"2c_16\",849,855,0.002260100096464,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",853.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE854\"],[\"LINE855\",\"2c_0225\",850,856,0.001982199959457,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",854.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE855\"],[\"LINE856\",\"4c_06\",851,857,0.006862100213766,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",855.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE856\"],[\"LINE857\",\"4c_06\",851,858,0.006862100213766,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",856.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE857\"],[\"LINE858\",\"2c_16\",853,859,0.000084314997366,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",857.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE858\"],[\"LINE859\",\"2c_16\",854,860,0.002820000052452,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",858.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE859\"],[\"LINE860\",\"2c_16\",854,861,0.007509099785239,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",859.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE860\"],[\"LINE861\",\"2c_16\",855,862,0.00146970001515,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",860.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE861\"],[\"LINE862\",\"2c_0225\",856,863,0.002327600028366,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",861.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE862\"],[\"LINE863\",\"4c_06\",857,864,0.002788800047711,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",862.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE863\"],[\"LINE864\",\"4c_06\",857,865,0.002788800047711,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",863.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE864\"],[\"LINE865\",\"2c_16\",859,866,0.000090337998699,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",864.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE865\"],[\"LINE866\",\"2c_16\",862,867,0.001285400008783,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",865.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE866\"],[\"LINE867\",\"2c_0225\",863,868,0.000301939988276,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",866.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE867\"],[\"LINE868\",\"4c_06\",864,869,0.001737299957313,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",867.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE868\"],[\"LINE869\",\"4c_06\",864,870,0.001737299957313,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",868.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE869\"],[\"LINE870\",\"2c_16\",866,871,0.000072276998253,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",869.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE870\"],[\"LINE871\",\"2c_16\",867,872,0.001348300022073,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",870.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE871\"],[\"LINE872\",\"2c_0225\",868,873,0.000379520002753,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",871.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE872\"],[\"LINE873\",\"2c_0225\",868,874,0.000844390015118,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",872.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE873\"],[\"LINE874\",\"4c_06\",869,875,0.001200000056997,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",873.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE874\"],[\"LINE875\",\"4c_06\",869,876,0.001200000056997,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",874.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE875\"],[\"LINE876\",\"2c_16\",871,877,0.000070178000897,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",875.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE876\"],[\"LINE877\",\"2c_16\",872,878,0.002302200067788,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",876.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE877\"],[\"LINE878\",\"2c_0225\",873,879,0.000351180002326,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",877.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE878\"],[\"LINE879\",\"2c_0225\",874,880,0.001976100029424,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",878.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE879\"],[\"LINE880\",\"4c_06\",875,881,0.001011200016364,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",879.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE880\"],[\"LINE881\",\"4c_06\",875,882,0.001011200016364,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",880.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE881\"],[\"LINE882\",\"2c_16\",877,883,0.00007000000187,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",881.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE882\"],[\"LINE883\",\"2c_16\",878,884,0.00056468002731,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",882.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE883\"],[\"LINE884\",\"2c_0225\",879,885,0.000533999991603,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",883.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE884\"],[\"LINE885\",\"2c_0225\",880,886,0.00468790018931,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",884.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE885\"],[\"LINE886\",\"2c_16\",883,887,0.000069180998253,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",885.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE886\"],[\"LINE887\",\"2c_16\",884,888,0.000622930005193,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",886.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE887\"],[\"LINE888\",\"35_SAC_XSC\",884,889,0.003157400060445,0.867999970912933,0.092000000178814,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",887.0,\"LV_Grid\",0,0,0.759999990463257,0.092000000178814,\"LINE888\"],[\"LINE889\",\"2c_0225\",885,890,0.000674829992931,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",888.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE889\"],[\"LINE890\",\"2c_16\",887,891,0.001237099990249,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",889.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE890\"],[\"LINE891\",\"2c_16\",888,892,0.001022799988277,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",890.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE891\"],[\"LINE892\",\"35_SAC_XSC\",889,893,0.00267790001817,0.867999970912933,0.092000000178814,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",891.0,\"LV_Grid\",0,0,0.759999990463257,0.092000000178814,\"LINE892\"],[\"LINE893\",\"2c_0225\",890,894,0.002627100097016,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",892.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE893\"],[\"LINE894\",\"2c_16\",891,895,0.005824900232255,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",893.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE894\"],[\"LINE895\",\"2c_16\",891,896,0.003258700016886,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",894.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE895\"],[\"LINE896\",\"2c_16\",892,897,0.000202230003197,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",895.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE896\"],[\"LINE897\",\"35_SAC_XSC\",893,898,0.00450100004673,0.867999970912933,0.092000000178814,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",896.0,\"LV_Grid\",0,0,0.759999990463257,0.092000000178814,\"LINE897\"],[\"LINE898\",\"2c_0225\",894,899,0.004772299900651,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",897.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE898\"],[\"LINE899\",\"2c_16\",895,900,0.003868399886414,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",898.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE899\"],[\"LINE900\",\"2c_16\",897,901,0.000170879997313,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",899.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE900\"],[\"LINE901\",\"2c_16\",901,902,0.000144000005093,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",900.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE901\"],[\"LINE902\",\"2c_16\",902,903,0.000187319994438,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",901.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE902\"],[\"LINE903\",\"2c_16\",903,904,0.000339020014508,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",902.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE903\"],[\"LINE904\",\"2c_16\",904,905,0.000587799993809,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",903.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE904\"],[\"LINE905\",\"2c_16\",905,906,0.004814700223505,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",904.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE905\"]]}", + "orient": "split", "dtype": { "name": "object", "std_type": "object", @@ -223,13 +247,13 @@ "r0_ohm_per_km": "object", "x0_ohm_per_km": "object", "pf_name": "object" - }, - "orient": "split" + } }, "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_phase_shifter\",\"parallel\",\"df\",\"in_service\",\"tap_set_vm_pu\",\"description\",\"equipment\",\"vector_group\",\"vk0_percent\",\"vkr0_percent\",\"mag0_percent\",\"mag0_rx\",\"si0_hv_partial\"],\"index\":[0],\"data\":[[\"Trafo\",\"08 MVA 10\\/04 kV Dyn1 ASEA\",0,1,0.800000011920929,11.0,0.416000008583069,4.019950389862061,0.400000005960464,0.0,0.0,30.0,\"hv\",0,-2,2,2.5,0.0,0,false,1,1.0,true,1.0,\"\",\"\",\"Dyn\",4.019950389862061,0.400000005960464,1,0,0.899999976158142]]}", + "orient": "split", "dtype": { "name": "object", "std_type": "object", @@ -263,13 +287,13 @@ "mag0_percent": "int64", "mag0_rx": "int64", "si0_hv_partial": "object" - }, - "orient": "split" + } }, "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\",\"in_service\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "name": "object", "std_type": "object", @@ -301,13 +325,13 @@ "tap_pos": "int32", "tap_at_star_point": "bool", "in_service": "bool" - }, - "orient": "split" + } }, "impedance": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"name\",\"from_bus\",\"to_bus\",\"rft_pu\",\"xft_pu\",\"rtf_pu\",\"xtf_pu\",\"sn_mva\",\"in_service\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "name": "object", "from_bus": "uint32", @@ -318,13 +342,13 @@ "xtf_pu": "float64", "sn_mva": "float64", "in_service": "bool" - }, - "orient": "split" + } }, "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", @@ -340,13 +364,13 @@ "max_q_from_mvar": "float64", "max_q_to_mvar": "float64", "in_service": "bool" - }, - "orient": "split" + } }, "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", @@ -355,13 +379,13 @@ "qz_mvar": "float64", "pz_mw": "float64", "in_service": "bool" - }, - "orient": "split" + } }, "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\",\"in_service\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"ps_mw\",\"qs_mvar\",\"qz_mvar\",\"pz_mw\",\"r_ohm\",\"x_ohm\",\"vm_pu\",\"in_service\",\"slack_weight\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "name": "object", "bus": "uint32", @@ -372,14 +396,15 @@ "r_ohm": "float64", "x_ohm": "float64", "vm_pu": "float64", - "in_service": "bool" - }, - "orient": "split" + "in_service": "bool", + "slack_weight": "float64" + } }, "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", @@ -388,25 +413,25 @@ "value": "float64", "std_dev": "float64", "side": "object" - }, - "orient": "split" + } }, "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" - }, - "orient": "split" + } }, "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", @@ -416,43 +441,43 @@ "cq0_eur": "float64", "cq1_eur_per_mvar": "float64", "cq2_eur_per_mvar2": "float64" - }, - "orient": "split" + } }, "controller": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"controller\",\"in_service\",\"order\",\"level\",\"recycle\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"initial_run\",\"recycle\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { - "controller": "object", + "object": "object", "in_service": "bool", "order": "float64", "level": "object", - "recycle": "bool" - }, - "orient": "split" + "initial_run": "bool", + "recycle": "object" + } }, "line_geodata": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"coords\"],\"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,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904],\"data\":[[[[390872.662999999942258,392887.378999999957159],[390871.596000000019558,392887.637999999977183]]],[[[390871.596000000019558,392887.637999999977183],[390871.481000000028871,392887.642999999981839]]],[[[390871.481000000028871,392887.642999999981839],[390871.378999999957159,392887.607999999949243]]],[[[390871.378999999957159,392887.607999999949243],[390871.304999999993015,392887.549999999988358]]],[[[390871.304999999993015,392887.549999999988358],[390871.23399999999674,392887.419999999983702]]],[[[390871.23399999999674,392887.419999999983702],[390868.778999999980442,392877.6370000000461]]],[[[390868.778999999980442,392877.6370000000461],[390868.752999999967869,392877.185999999986961]]],[[[390868.752999999967869,392877.185999999986961],[390868.752999999967869,392876.809999999997672]]],[[[390868.752999999967869,392876.809999999997672],[390868.804000000003725,392876.48399999999674]]],[[[390868.804000000003725,392876.48399999999674],[390868.903999999980442,392876.258999999961816]]],[[[390868.903999999980442,392876.258999999961816],[390869.078999999968801,392876.107999999949243]]],[[[390869.078999999968801,392876.107999999949243],[390869.179999999993015,392876.007999999972526]]],[[[390869.179999999993015,392876.007999999972526],[390869.5,392875.857000000018161]]],[[[390869.5,392875.857000000018161],[390872.292000000015832,392875.207999999984168]]],[[[390872.292000000015832,392875.207999999984168],[390872.314000000013038,392875.302000000025146]]],[[[390872.292000000015832,392875.207999999984168],[390875.677999999956228,392874.422000000020489]]],[[[390872.314000000013038,392875.302000000025146],[390872.315999999991618,392875.346000000019558]]],[[[390875.677999999956228,392874.422000000020489],[390875.907000000006519,392874.352999999944586]]],[[[390872.315999999991618,392875.346000000019558],[390872.312000000034459,392875.392000000050757]]],[[[390875.907000000006519,392874.352999999944586],[390876.142000000050757,392874.222999999998137]]],[[[390872.312000000034459,392875.392000000050757],[390872.302999999956228,392875.432999999960884]]],[[[390876.142000000050757,392874.222999999998137],[390876.440000000002328,392873.902999999991152]]],[[[390872.302999999956228,392875.432999999960884],[390872.287999999942258,392875.482000000018161]]],[[[390876.440000000002328,392873.902999999991152],[390877.002999999967869,392873.341000000014901]]],[[[390872.287999999942258,392875.482000000018161],[390872.262999999977183,392875.532000000006519]]],[[[390877.002999999967869,392873.341000000014901],[390880.364000000001397,392878.195999999996275]]],[[[390877.002999999967869,392873.341000000014901],[390884.190000000002328,392866.432999999960884]]],[[[390872.262999999977183,392875.532000000006519],[390872.239000000001397,392875.581000000005588]]],[[[390880.364000000001397,392878.195999999996275],[390881.306000000040513,392879.522000000055414]]],[[[390880.364000000001397,392878.195999999996275],[390879.232000000018161,392879.304999999993015]]],[[[390884.190000000002328,392866.432999999960884],[390886.111000000033528,392864.602000000013504]]],[[[390872.239000000001397,392875.581000000005588],[390872.169999999983702,392875.710000000020955]]],[[[390881.306000000040513,392879.522000000055414],[390885.0,392880.0]]],[[[390879.232000000018161,392879.304999999993015],[390879.207999999984168,392879.352999999944586]]],[[[390886.111000000033528,392864.602000000013504],[390890.169500000018161,392868.642000000050757]]],[[[390886.111000000033528,392864.602000000013504],[390891.918999999994412,392859.065000000002328]]],[[[390872.169999999983702,392875.710000000020955],[390872.092000000004191,392875.822000000043772]]],[[[390879.207999999984168,392879.352999999944586],[390879.182999999960884,392879.426000000035856]]],[[[390890.169500000018161,392868.642000000050757],[390890.443999999959487,392868.351000000024214]]],[[[390890.169500000018161,392868.642000000050757],[390891.409999999974389,392869.955000000016298]]],[[[390891.918999999994412,392859.065000000002328],[390895.962999999988824,392855.237000000022817]]],[[[390891.918999999994412,392859.065000000002328],[390891.775000000023283,392858.902999999991152]]],[[[390872.092000000004191,392875.822000000043772],[390872.072999999974854,392875.849999999976717]]],[[[390879.182999999960884,392879.426000000035856],[390879.158999999985099,392879.522000000055414]]],[[[390890.443999999959487,392868.351000000024214],[390890.570999999996275,392868.222999999998137]]],[[[390891.409999999974389,392869.955000000016298],[390893.0,392874.0]]],[[[390895.962999999988824,392855.237000000022817],[390899.026000000012573,392852.352000000013504]]],[[[390891.775000000023283,392858.902999999991152],[390891.742000000027474,392858.804000000003725]]],[[[390872.072999999974854,392875.849999999976717],[390872.037999999942258,392875.882999999972526]]],[[[390879.158999999985099,392879.522000000055414],[390879.158999999985099,392879.762999999977183]]],[[[390890.570999999996275,392868.222999999998137],[390890.753999999957159,392868.167999999946915]]],[[[390899.026000000012573,392852.352000000013504],[390899.474999999976717,392851.943999999959488]]],[[[390899.026000000012573,392852.352000000013504],[390899.491000000038184,392852.791000000026543]]],[[[390891.742000000027474,392858.804000000003725],[390891.758999999961816,392858.689000000013038]]],[[[390872.037999999942258,392875.882999999972526],[390871.963999999978114,392875.929999999993015]]],[[[390879.158999999985099,392879.762999999977183],[390879.232000000018161,392879.956000000005588]]],[[[390890.753999999957159,392868.167999999946915],[390890.935999999986962,392868.167999999946915]]],[[[390899.474999999976717,392851.943999999959488],[390901.468999999982771,392850.052999999956228]]],[[[390899.491000000038184,392852.791000000026543],[390899.547999999951571,392852.822999999974854]]],[[[390891.758999999961816,392858.689000000013038],[390891.775000000023283,392858.590000000025611]]],[[[390871.963999999978114,392875.929999999993015],[390871.892000000050757,392875.960000000020955]]],[[[390879.232000000018161,392879.956000000005588],[390879.907000000006519,392880.679000000003725]]],[[[390890.935999999986962,392868.167999999946915],[390891.044999999983702,392868.167999999946915]]],[[[390901.468999999982771,392850.052999999956228],[390901.869999999995343,392849.663999999989756]]],[[[390901.468999999982771,392850.052999999956228],[390907.229999999981374,392855.96999999997206]]],[[[390899.547999999951571,392852.822999999974854],[390899.617999999958556,392852.847000000008848]]],[[[390891.775000000023283,392858.590000000025611],[390891.825000000011642,392858.507999999972526]]],[[[390871.892000000050757,392875.960000000020955],[390871.812000000034459,392875.982999999949243]]],[[[390879.907000000006519,392880.679000000003725],[390881.0,392884.0]]],[[[390891.044999999983702,392868.167999999946915],[390891.246000000042841,392868.241000000038184]]],[[[390901.869999999995343,392849.663999999989756],[390906.932000000029802,392845.427999999956228]]],[[[390907.229999999981374,392855.96999999997206],[390907.0,392860.0]]],[[[390907.229999999981374,392855.96999999997206],[390907.0,392860.0]]],[[[390899.617999999958556,392852.847000000008848],[390899.792999999946915,392852.8870000000461]]],[[[390891.825000000011642,392858.507999999972526],[390891.972000000008848,392858.323999999964144]]],[[[390871.812000000034459,392875.982999999949243],[390871.435999999986962,392876.082999999984168]]],[[[390891.246000000042841,392868.241000000038184],[390892.047999999951571,392868.96999999997206]]],[[[390906.932000000029802,392845.427999999956228],[390908.6129999999539,392843.857000000018161]]],[[[390899.792999999946915,392852.8870000000461],[390899.888999999966472,392852.926000000035856]]],[[[390891.972000000008848,392858.323999999964144],[390892.5120000000461,392857.807999999960884]]],[[[390871.435999999986962,392876.082999999984168],[390870.934999999997672,392876.182999999960884]]],[[[390892.047999999951571,392868.96999999997206],[390896.0,392870.0]]],[[[390908.6129999999539,392843.857000000018161],[390909.025000000023283,392843.570000000006985]]],[[[390899.888999999966472,392852.926000000035856],[390899.982000000018161,392852.987000000022817]]],[[[390892.5120000000461,392857.807999999960884],[390893.557999999960884,392856.820000000006985]]],[[[390870.934999999997672,392876.182999999960884],[390870.633999999961816,392876.258999999961816]]],[[[390909.025000000023283,392843.570000000006985],[390909.877999999967869,392843.013999999966472]]],[[[390899.982000000018161,392852.987000000022817],[390900.059999999997672,392853.057000000029802]]],[[[390893.557999999960884,392856.820000000006985],[390893.775000000023283,392856.554999999993015]]],[[[390870.633999999961816,392876.258999999961816],[390870.525000000023283,392876.284999999974389]]],[[[390909.877999999967869,392843.013999999966472],[390910.741000000038184,392842.592999999993481]]],[[[390893.775000000023283,392856.554999999993015],[390893.802999999956228,392856.496000000042841]]],[[[390870.525000000023283,392876.284999999974389],[390870.492000000027474,392876.296000000031199]]],[[[390910.741000000038184,392842.592999999993481],[390911.229999999981374,392842.323999999964144]]],[[[390893.802999999956228,392856.496000000042841],[390893.799999999988358,392856.409999999974389]]],[[[390870.492000000027474,392876.296000000031199],[390870.457999999984168,392876.309999999997672]]],[[[390911.229999999981374,392842.323999999964144],[390911.556000000040513,392842.152000000001863]]],[[[390893.799999999988358,392856.409999999974389],[390893.78100000001723,392856.377999999967869]]],[[[390870.457999999984168,392876.309999999997672],[390870.382999999972526,392876.35899999999674]]],[[[390911.556000000040513,392842.152000000001863],[390911.997000000032131,392841.897999999986496]]],[[[390893.78100000001723,392856.377999999967869],[390890.706000000005588,392852.332000000053085]]],[[[390870.382999999972526,392876.35899999999674],[390870.157000000006519,392876.533999999985099]]],[[[390911.997000000032131,392841.897999999986496],[390912.282000000006519,392841.942000000039116]]],[[[390911.997000000032131,392841.897999999986496],[390912.282000000006519,392841.71999999997206]]],[[[390890.706000000005588,392852.332000000053085],[390890.64000000001397,392852.121000000042841]]],[[[390912.282000000006519,392841.942000000039116],[390912.630000000004657,392841.967000000004191]]],[[[390912.282000000006519,392841.71999999997206],[390912.429999999993015,392841.599999999976717]]],[[[390890.64000000001397,392852.121000000042841],[390890.510999999998603,392851.689000000013038]]],[[[390912.630000000004657,392841.967000000004191],[390913.032000000006519,392842.010999999998603]]],[[[390912.429999999993015,392841.599999999976717],[390917.462999999988824,392836.01500000001397]]],[[[390890.510999999998603,392851.689000000013038],[390883.277000000001863,392842.143999999971129]]],[[[390913.032000000006519,392842.010999999998603],[390913.6370000000461,392842.130000000004657]]],[[[390917.462999999988824,392836.01500000001397],[390918.003999999957159,392835.491000000038184]]],[[[390883.277000000001863,392842.143999999971129],[390876.522999999986496,392833.895000000018626]]],[[[390913.6370000000461,392842.130000000004657],[390914.400000000023283,392842.34499999997206]]],[[[390918.003999999957159,392835.491000000038184],[390918.76500000001397,392836.292999999946915]]],[[[390918.003999999957159,392835.491000000038184],[390915.4879999999539,392832.838999999978114]]],[[[390876.522999999986496,392833.895000000018626],[390875.777999999991152,392833.236000000033528]]],[[[390914.400000000023283,392842.34499999997206],[390914.923999999999069,392842.567000000039116]]],[[[390918.76500000001397,392836.292999999946915],[390918.948999999964144,392836.228999999992084]]],[[[390918.76500000001397,392836.292999999946915],[390919.135000000009313,392836.684000000008382]]],[[[390915.4879999999539,392832.838999999978114],[390910.895000000018626,392828.10999999998603]]],[[[390875.777999999991152,392833.236000000033528],[390875.198999999964144,392832.799999999988358]]],[[[390914.923999999999069,392842.567000000039116],[390915.64000000001397,392842.932999999960884]]],[[[390918.948999999964144,392836.228999999992084],[390919.114999999990687,392836.198999999964144]]],[[[390919.135000000009313,392836.684000000008382],[390920.87599999998929,392838.517999999981839]]],[[[390910.895000000018626,392828.10999999998603],[390908.833999999973457,392825.978999999992084]]],[[[390875.198999999964144,392832.799999999988358],[390874.662000000011176,392832.479999999981374]]],[[[390915.64000000001397,392842.932999999960884],[390916.402999999991152,392843.351000000024214]]],[[[390919.114999999990687,392836.198999999964144],[390919.23399999999674,392836.205000000016298]]],[[[390920.87599999998929,392838.517999999981839],[390923.576000000000931,392835.814000000013038]]],[[[390920.87599999998929,392838.517999999981839],[390925.817000000039116,392843.724999999976717]]],[[[390908.833999999973457,392825.978999999992084],[390908.271000000007916,392825.299999999988358]]],[[[390874.662000000011176,392832.479999999981374],[390872.864999999990687,392831.802999999956228]]],[[[390916.402999999991152,392843.351000000024214],[390917.072000000043772,392843.826000000000931]]],[[[390919.23399999999674,392836.205000000016298],[390919.412000000011176,392836.252999999967869]]],[[[390923.576000000000931,392835.814000000013038],[390923.798999999999069,392835.572000000043772]]],[[[390925.817000000039116,392843.724999999976717],[390929.523999999975786,392847.568999999959488]]],[[[390908.271000000007916,392825.299999999988358],[390907.614999999990687,392824.551000000035856]]],[[[390872.864999999990687,392831.802999999956228],[390871.466000000014901,392831.607000000018161]]],[[[390917.072000000043772,392843.826000000000931],[390918.076000000000931,392844.727000000013504]]],[[[390919.412000000011176,392836.252999999967869],[390919.607999999949243,392836.347999999998137]]],[[[390923.798999999999069,392835.572000000043772],[390923.972999999998137,392835.299999999988358]]],[[[390929.523999999975786,392847.568999999959488],[390932.01500000001397,392850.135000000009313]]],[[[390907.614999999990687,392824.551000000035856],[390907.052999999956228,392823.802000000025146]]],[[[390871.466000000014901,392831.607000000018161],[390871.226000000024214,392831.622999999963213]]],[[[390918.076000000000931,392844.727000000013504],[390922.542000000015832,392849.331000000005588]]],[[[390919.607999999949243,392836.347999999998137],[390919.7620000000461,392836.466000000014901]]],[[[390923.972999999998137,392835.299999999988358],[390924.070000000006985,392835.057999999960884]]],[[[390932.01500000001397,392850.135000000009313],[390934.502999999967869,392852.697000000043772]]],[[[390932.01500000001397,392850.135000000009313],[390935.583999999973457,392846.447999999974854]]],[[[390907.052999999956228,392823.802000000025146],[390906.491000000038184,392822.864999999990687]]],[[[390871.226000000024214,392831.622999999963213],[390871.172999999951571,392831.687000000034459]]],[[[390922.542000000015832,392849.331000000005588],[390923.521000000007916,392850.327999999979511]]],[[[390919.7620000000461,392836.466000000014901],[390919.90500000002794,392836.632000000041444]]],[[[390924.070000000006985,392835.057999999960884],[390924.127999999967869,392834.671000000031199]]],[[[390934.502999999967869,392852.697000000043772],[390941.046000000031199,392859.544999999983702]]],[[[390935.583999999973457,392846.447999999974854],[390935.817000000039116,392846.239999999990687]]],[[[390906.491000000038184,392822.864999999990687],[390906.349999999976717,392822.583999999973457]]],[[[390871.172999999951571,392831.687000000034459],[390871.127999999967869,392831.801000000035856]]],[[[390923.521000000007916,392850.327999999979511],[390915.060999999986961,392858.471000000019558]]],[[[390923.521000000007916,392850.327999999979511],[390927.222000000008848,392854.099999999976717]]],[[[390919.90500000002794,392836.632000000041444],[390920.0120000000461,392836.804999999993015]]],[[[390924.127999999967869,392834.671000000031199],[390924.168999999994412,392834.201000000000931]]],[[[390941.046000000031199,392859.544999999983702],[390943.336000000010245,392861.907000000006519]]],[[[390935.817000000039116,392846.239999999990687],[390935.994999999995343,392846.017000000050757]]],[[[390906.349999999976717,392822.583999999973457],[390905.502000000036787,392821.0120000000461]]],[[[390871.127999999967869,392831.801000000035856],[390871.099999999976717,392832.048999999999069]]],[[[390915.060999999986961,392858.471000000019558],[390913.477999999944586,392860.025000000023283]]],[[[390927.222000000008848,392854.099999999976717],[390931.986000000033528,392859.25]]],[[[390920.0120000000461,392836.804999999993015],[390920.077000000048429,392836.965000000025611]]],[[[390924.168999999994412,392834.201000000000931],[390924.246000000042841,392833.852999999944586]]],[[[390943.336000000010245,392861.907000000006519],[390946.010000000009313,392864.771000000007916]]],[[[390943.336000000010245,392861.907000000006519],[390946.317000000039116,392858.942000000039116]]],[[[390935.994999999995343,392846.017000000050757],[390936.049999999988358,392845.912000000011176]]],[[[390905.502000000036787,392821.0120000000461],[390905.189000000013039,392820.052999999956228]]],[[[390913.477999999944586,392860.025000000023283],[390910.0,392863.0]]],[[[390931.986000000033528,392859.25],[390932.787999999942258,392860.117999999958556]]],[[[390931.986000000033528,392859.25],[390930.205000000016298,392860.892000000050757]]],[[[390920.077000000048429,392836.965000000025611],[390920.101000000024214,392837.142999999981839]]],[[[390924.246000000042841,392833.852999999944586],[390924.411000000021886,392833.474999999976717]]],[[[390946.010000000009313,392864.771000000007916],[390946.422000000020489,392865.190000000002328]]],[[[390946.317000000039116,392858.942000000039116],[390946.617999999958556,392858.602000000013504]]],[[[390936.049999999988358,392845.912000000011176],[390936.119000000006054,392845.666000000026543]]],[[[390905.189000000013039,392820.052999999956228],[390905.022000000055414,392819.322999999974854]]],[[[390932.787999999942258,392860.117999999958556],[390935.932000000029802,392863.544999999983702]]],[[[390930.205000000016298,392860.892000000050757],[390923.046000000031199,392867.911000000021886]]],[[[390920.101000000024214,392837.142999999981839],[390920.09499999997206,392837.297000000020489]]],[[[390924.411000000021886,392833.474999999976717],[390924.643999999971129,392833.164999999979045]]],[[[390946.422000000020489,392865.190000000002328],[390948.046000000031199,392866.840000000025611]]],[[[390946.422000000020489,392865.190000000002328],[390946.652000000001863,392865.033999999985099]]],[[[390946.617999999958556,392858.602000000013504],[390946.840000000025611,392858.222999999998137]]],[[[390936.119000000006054,392845.666000000026543],[390936.242000000027474,392845.027000000001863]]],[[[390905.022000000055414,392819.322999999974854],[390904.937999999965541,392818.65500000002794]]],[[[390935.932000000029802,392863.544999999983702],[390941.567999999970198,392869.642999999981839]]],[[[390923.046000000031199,392867.911000000021886],[390921.647000000055414,392869.282999999995809]]],[[[390923.046000000031199,392867.911000000021886],[390923.823999999964144,392868.73399999999674]]],[[[390920.09499999997206,392837.297000000020489],[390920.042000000015832,392837.481000000028871]]],[[[390924.643999999971129,392833.164999999979045],[390924.934000000008382,392832.864999999990687]]],[[[390948.046000000031199,392866.840000000025611],[390948.692999999970198,392867.510000000009313]]],[[[390946.652000000001863,392865.033999999985099],[390946.807000000029802,392864.978999999992084]]],[[[390946.840000000025611,392858.222999999998137],[390946.971000000019558,392857.897000000055414]]],[[[390936.242000000027474,392845.027000000001863],[390936.287999999942258,392844.647999999986496]]],[[[390904.937999999965541,392818.65500000002794],[390905.00099999998929,392817.820999999996275]]],[[[390941.567999999970198,392869.642999999981839],[390939.127999999967869,392871.786000000021886]]],[[[390941.567999999970198,392869.642999999981839],[390943.018999999971129,392871.212000000057742]]],[[[390921.647000000055414,392869.282999999995809],[390917.0,392871.0]]],[[[390923.823999999964144,392868.73399999999674],[390923.916000000026543,392868.864999999990687]]],[[[390920.042000000015832,392837.481000000028871],[390919.804000000003725,392837.861000000033528]]],[[[390924.934000000008382,392832.864999999990687],[390925.39000000001397,392832.418999999994412]]],[[[390946.807000000029802,392864.978999999992084],[390946.962000000057742,392864.96999999997206]]],[[[390946.971000000019558,392857.897000000055414],[390947.022999999986496,392857.622000000032131]]],[[[390936.287999999942258,392844.647999999986496],[390936.387999999977183,392844.400000000023283]]],[[[390905.00099999998929,392817.820999999996275],[390905.25099999998929,392816.297999999951571]]],[[[390939.127999999967869,392871.786000000021886],[390931.5120000000461,392879.201000000000931]]],[[[390943.018999999971129,392871.212000000057742],[390945.597000000008848,392874.081000000005588]]],[[[390923.916000000026543,392868.864999999990687],[390923.961000000010244,392868.986000000033528]]],[[[390919.804000000003725,392837.861000000033528],[390919.412000000011176,392838.407000000006519]]],[[[390925.39000000001397,392832.418999999994412],[390926.642999999981839,392831.208999999973457]]],[[[390946.962000000057742,392864.96999999997206],[390947.12599999998929,392865.01500000001397]]],[[[390947.022999999986496,392857.622000000032131],[390947.088999999978114,392857.033999999985099]]],[[[390936.387999999977183,392844.400000000023283],[390936.60999999998603,392843.935999999986962]]],[[[390905.25099999998929,392816.297999999951571],[390905.690000000002328,392815.026000000012573]]],[[[390931.5120000000461,392879.201000000000931],[390927.0,392880.0]]],[[[390945.597000000008848,392874.081000000005588],[390946.518999999971129,392875.103999999992084]]],[[[390923.961000000010244,392868.986000000033528],[390923.967000000004191,392869.088999999978114]]],[[[390926.642999999981839,392831.208999999973457],[390926.75,392831.106000000028871]]],[[[390947.12599999998929,392865.01500000001397],[390947.326000000000931,392865.133999999961816]]],[[[390947.088999999978114,392857.033999999985099],[390947.179999999993015,392856.577000000048429]]],[[[390936.60999999998603,392843.935999999986962],[390936.74900000001071,392843.721000000019558]]],[[[390905.690000000002328,392815.026000000012573],[390906.065000000002328,392814.190999999991618]]],[[[390946.518999999971129,392875.103999999992084],[390937.556000000040513,392882.923999999999069]]],[[[390946.518999999971129,392875.103999999992084],[390947.272999999986496,392875.942000000039116]]],[[[390923.967000000004191,392869.088999999978114],[390923.916000000026543,392869.2379999999539]]],[[[390926.75,392831.106000000028871],[390926.804999999993015,392831.065000000002328]]],[[[390947.326000000000931,392865.133999999961816],[390947.489999999990687,392865.260999999998603]]],[[[390947.179999999993015,392856.577000000048429],[390947.287000000011176,392856.272000000055414]]],[[[390936.74900000001071,392843.721000000019558],[390936.87400000001071,392843.588999999978114]]],[[[390906.065000000002328,392814.190999999991618],[390906.398999999975786,392813.690999999991618]]],[[[390937.556000000040513,392882.923999999999069],[390936.301000000035856,392884.111000000033528]]],[[[390923.916000000026543,392869.2379999999539],[390923.807000000029802,392869.3870000000461]]],[[[390926.804999999993015,392831.065000000002328],[390926.875,392831.042999999946915]]],[[[390947.489999999990687,392865.260999999998603],[390947.590000000025611,392865.397000000055414]]],[[[390947.287000000011176,392856.272000000055414],[390947.457000000053085,392855.997999999963213]]],[[[390936.87400000001071,392843.588999999978114],[390938.352000000013504,392842.12599999998929]]],[[[390906.398999999975786,392813.690999999991618],[390907.212999999988824,392812.684999999997672]]],[[[390936.301000000035856,392884.111000000033528],[390931.0,392884.0]]],[[[390936.301000000035856,392884.111000000033528],[390931.0,392884.0]]],[[[390923.807000000029802,392869.3870000000461],[390923.606000000028871,392869.587000000057742]]],[[[390926.875,392831.042999999946915],[390926.945000000006985,392831.047000000020489]]],[[[390947.590000000025611,392865.397000000055414],[390947.62599999998929,392865.525000000023283]]],[[[390947.457000000053085,392855.997999999963213],[390947.783999999985099,392855.657999999995809]]],[[[390938.352000000013504,392842.12599999998929],[390938.796000000031199,392841.702999999979511]]],[[[390907.212999999988824,392812.684999999997672],[390910.804999999993015,392815.497000000032131]]],[[[390907.212999999988824,392812.684999999997672],[390907.752000000036787,392812.018999999971129]]],[[[390923.606000000028871,392869.587000000057742],[390922.854999999981374,392870.302999999956228]]],[[[390926.945000000006985,392831.047000000020489],[390927.018999999971129,392831.072000000043772]]],[[[390947.62599999998929,392865.525000000023283],[390947.635000000009313,392865.697999999974854]]],[[[390947.783999999985099,392855.657999999995809],[390949.052000000025146,392854.417000000015832]]],[[[390938.796000000031199,392841.702999999979511],[390938.913999999989756,392841.632999999972526]]],[[[390910.804999999993015,392815.497000000032131],[390911.309000000008382,392815.87599999998929]]],[[[390907.752000000036787,392812.018999999971129],[390909.871000000042841,392809.603999999992084]]],[[[390922.854999999981374,392870.302999999956228],[390921.0,392875.0]]],[[[390927.018999999971129,392831.072000000043772],[390927.156000000017229,392831.157000000006519]]],[[[390947.635000000009313,392865.697999999974854],[390947.598999999987427,392865.888999999966472]]],[[[390949.052000000025146,392854.417000000015832],[390949.357999999949243,392854.137999999977183]]],[[[390938.913999999989756,392841.632999999972526],[390936.706000000005588,392838.972000000008848]]],[[[390938.913999999989756,392841.632999999972526],[390939.032000000006519,392841.619999999995343]]],[[[390911.309000000008382,392815.87599999998929],[390911.513999999966472,392816.081000000005588]]],[[[390909.871000000042841,392809.603999999992084],[390913.164999999979045,392812.297000000020489]]],[[[390909.871000000042841,392809.603999999992084],[390910.582999999984168,392808.792999999946915]]],[[[390927.156000000017229,392831.157000000006519],[390927.282000000006519,392831.267999999981839]]],[[[390947.598999999987427,392865.888999999966472],[390947.507999999972526,392866.042999999946915]]],[[[390949.357999999949243,392854.137999999977183],[390949.51600000000326,392854.032999999995809]]],[[[390936.706000000005588,392838.972000000008848],[390935.0,392836.0]]],[[[390939.032000000006519,392841.619999999995343],[390939.171000000031199,392841.6129999999539]]],[[[390911.513999999966472,392816.081000000005588],[390911.682999999960884,392816.380999999993946]]],[[[390913.164999999979045,392812.297000000020489],[390913.419999999983702,392812.472000000008848]]],[[[390910.582999999984168,392808.792999999946915],[390913.172999999951571,392805.861000000033528]]],[[[390927.282000000006519,392831.267999999981839],[390927.695000000006985,392831.755000000004657]]],[[[390947.507999999972526,392866.042999999946915],[390947.070999999996275,392866.462000000057742]]],[[[390949.51600000000326,392854.032999999995809],[390949.635999999998603,392853.99900000001071]]],[[[390939.171000000031199,392841.6129999999539],[390939.296000000031199,392841.627000000036787]]],[[[390911.682999999960884,392816.380999999993946],[390911.851000000024214,392816.885000000009313]]],[[[390913.419999999983702,392812.472000000008848],[390913.647999999986496,392812.586000000010244]]],[[[390913.172999999951571,392805.861000000033528],[390914.333999999973457,392804.546000000031199]]],[[[390913.172999999951571,392805.861000000033528],[390912.467000000004191,392805.282000000006519]]],[[[390927.695000000006985,392831.755000000004657],[390931.0,392831.0]]],[[[390947.070999999996275,392866.462000000057742],[390946.507000000041444,392867.043999999994412]]],[[[390949.635999999998603,392853.99900000001071],[390949.096000000019558,392853.309000000008382]]],[[[390949.635999999998603,392853.99900000001071],[390949.744000000006054,392853.994999999995343]]],[[[390939.296000000031199,392841.627000000036787],[390939.413999999989755,392841.674999999988358]]],[[[390911.851000000024214,392816.885000000009313],[390912.00099999998929,392817.333999999973457]]],[[[390913.647999999986496,392812.586000000010244],[390913.996000000042841,392812.685999999986962]]],[[[390914.333999999973457,392804.546000000031199],[390914.838999999978114,392803.916000000026543]]],[[[390912.467000000004191,392805.282000000006519],[390909.292000000015832,392803.146000000007916]]],[[[390949.096000000019558,392853.309000000008382],[390948.847999999998137,392852.992000000027474]]],[[[390949.744000000006054,392853.994999999995343],[390949.818999999959488,392854.010000000009313]]],[[[390939.413999999989755,392841.674999999988358],[390939.538999999989755,392841.731000000028871]]],[[[390912.00099999998929,392817.333999999973457],[390912.187999999965541,392817.651000000012573]]],[[[390913.996000000042841,392812.685999999986962],[390915.583999999973457,392813.037000000011176]]],[[[390914.838999999978114,392803.916000000026543],[390918.268999999971129,392799.908999999985099]]],[[[390909.292000000015832,392803.146000000007916],[390908.726000000024214,392802.518999999971129]]],[[[390948.847999999998137,392852.992000000027474],[390948.392500000016298,392852.485500000009779]]],[[[390949.818999999959488,392854.010000000009313],[390949.897999999986496,392854.051000000035856]]],[[[390939.538999999989755,392841.731000000028871],[390940.114999999990687,392842.277999999991152]]],[[[390912.187999999965541,392817.651000000012573],[390912.453999999968801,392818.023999999975786]]],[[[390915.583999999973457,392813.037000000011176],[390915.882000000041444,392813.132999999972526]]],[[[390918.268999999971129,392799.908999999985099],[390918.528999999980442,392799.6129999999539]]],[[[390908.726000000024214,392802.518999999971129],[390908.547999999951571,392802.302000000025146]]],[[[390948.392500000016298,392852.485500000009779],[390947.472000000008848,392851.557000000029802]]],[[[390949.897999999986496,392854.051000000035856],[390950.032000000006519,392854.156000000017229]]],[[[390940.114999999990687,392842.277999999991152],[390943.0,392844.0]]],[[[390912.453999999968801,392818.023999999975786],[390912.782999999995809,392818.364999999990687]]],[[[390915.882000000041444,392813.132999999972526],[390916.092999999993481,392813.228999999992084]]],[[[390918.528999999980442,392799.6129999999539],[390919.049999999988358,392800.0]]],[[[390918.528999999980442,392799.6129999999539],[390923.291000000026543,392794.190999999991618]]],[[[390908.547999999951571,392802.302000000025146],[390908.46999999997206,392802.177999999956228]]],[[[390947.472000000008848,392851.557000000029802],[390946.0,392848.0]]],[[[390950.032000000006519,392854.156000000017229],[390950.481000000028871,392854.630000000004657]]],[[[390912.782999999995809,392818.364999999990687],[390913.190999999991618,392818.747000000032131]]],[[[390916.092999999993481,392813.228999999992084],[390916.330000000016298,392813.352000000013504]]],[[[390919.049999999988358,392800.0],[390921.635999999998603,392802.117999999958556]]],[[[390923.291000000026543,392794.190999999991618],[390925.510999999998603,392791.532999999995809]]],[[[390908.46999999997206,392802.177999999956228],[390908.407999999995809,392802.068999999959487]]],[[[390950.481000000028871,392854.630000000004657],[390952.0,392853.0]]],[[[390913.190999999991618,392818.747000000032131],[390913.426000000035856,392818.962000000057742]]],[[[390916.330000000016298,392813.352000000013504],[390916.548999999999069,392813.50099999998929]]],[[[390921.635999999998603,392802.117999999958556],[390922.556000000040513,392802.836000000010244]]],[[[390925.510999999998603,392791.532999999995809],[390932.59399999998277,392797.298999999999069]]],[[[390925.510999999998603,392791.532999999995809],[390929.741900000022724,392786.372900000016671]]],[[[390908.407999999995809,392802.068999999959487],[390908.353999999992084,392801.937000000034459]]],[[[390913.426000000035856,392818.962000000057742],[390914.5120000000461,392819.90600000001723]]],[[[390916.548999999999069,392813.50099999998929],[390918.357000000018161,392814.966000000014901]]],[[[390922.556000000040513,392802.836000000010244],[390924.531000000017229,392804.432999999960884]]],[[[390932.59399999998277,392797.298999999999069],[390935.0,392800.0]]],[[[390929.741900000022724,392786.372900000016671],[390934.962999999988824,392790.739999999990687]]],[[[390929.741900000022724,392786.372900000016671],[390930.510999999998603,392785.434999999997672]]],[[[390908.353999999992084,392801.937000000034459],[390908.322999999974854,392801.828999999968801]]],[[[390914.5120000000461,392819.90600000001723],[390914.974999999976717,392820.221000000019558]]],[[[390918.357000000018161,392814.966000000014901],[390923.0,392816.0]]],[[[390924.531000000017229,392804.432999999960884],[390926.150000000023283,392805.742000000027474]]],[[[390924.531000000017229,392804.432999999960884],[390923.880000000004657,392805.164999999979045]]],[[[390934.962999999988824,392790.739999999990687],[390937.604999999981374,392792.914999999979045]]],[[[390930.510999999998603,392785.434999999997672],[390931.167999999946915,392784.630000000004657]]],[[[390908.322999999974854,392801.828999999968801],[390908.307999999960884,392801.736000000033528]]],[[[390914.974999999976717,392820.221000000019558],[390915.148999999975786,392820.307999999960884]]],[[[390926.150000000023283,392805.742000000027474],[390929.0,392807.0]]],[[[390923.880000000004657,392805.164999999979045],[390923.818999999959488,392805.287000000011176]]],[[[390937.604999999981374,392792.914999999979045],[390937.856000000028871,392793.111000000033528]]],[[[390931.167999999946915,392784.630000000004657],[390931.702999999979511,392784.132000000041444]]],[[[390908.307999999960884,392801.736000000033528],[390908.307999999960884,392801.651000000012573]]],[[[390915.148999999975786,392820.307999999960884],[390915.289999999979045,392820.347999999998137]]],[[[390923.818999999959488,392805.287000000011176],[390923.757999999972526,392805.422000000020489]]],[[[390937.856000000028871,392793.111000000033528],[390937.948999999964144,392793.203999999968801]]],[[[390931.702999999979511,392784.132000000041444],[390932.460000000020955,392783.602999999944586]]],[[[390908.307999999960884,392801.651000000012573],[390908.315000000002328,392801.581000000005588]]],[[[390915.289999999979045,392820.347999999998137],[390915.397000000055414,392820.354999999981374]]],[[[390923.757999999972526,392805.422000000020489],[390923.744000000006054,392805.551000000035856]]],[[[390937.948999999964144,392793.203999999968801],[390938.005000000004657,392793.277999999991152]]],[[[390932.460000000020955,392783.602999999944586],[390932.952999999979511,392783.299999999988358]]],[[[390908.315000000002328,392801.581000000005588],[390908.338999999978114,392801.502999999967869]]],[[[390915.397000000055414,392820.354999999981374],[390915.451000000000931,392820.347999999998137]]],[[[390923.744000000006054,392805.551000000035856],[390923.772000000055414,392805.685999999986962]]],[[[390938.005000000004657,392793.277999999991152],[390938.023999999975786,392793.371000000042841]]],[[[390932.952999999979511,392783.299999999988358],[390933.747999999963213,392782.902999999991152]]],[[[390908.338999999978114,392801.502999999967869],[390908.385000000009313,392801.426000000035856]]],[[[390915.451000000000931,392820.347999999998137],[390915.510999999998603,392820.294999999983702]]],[[[390923.772000000055414,392805.685999999986962],[390923.85999999998603,392805.862000000022817]]],[[[390938.023999999975786,392793.371000000042841],[390938.023999999975786,392793.482999999949243]]],[[[390933.747999999963213,392782.902999999991152],[390934.598999999987427,392782.657000000006519]]],[[[390908.385000000009313,392801.426000000035856],[390908.689000000013038,392801.042999999946915]]],[[[390915.510999999998603,392820.294999999983702],[390915.592000000004191,392820.187999999965541]]],[[[390923.85999999998603,392805.862000000022817],[390924.022000000055414,392806.037999999942258]]],[[[390938.023999999975786,392793.482999999949243],[390938.005000000004657,392793.622999999963213]]],[[[390934.598999999987427,392782.657000000006519],[390935.583999999973457,392782.523999999975786]]],[[[390908.689000000013038,392801.042999999946915],[390910.979999999981374,392798.157000000006519]]],[[[390908.689000000013038,392801.042999999946915],[390907.282000000006519,392801.15500000002794]]],[[[390915.592000000004191,392820.187999999965541],[390915.907000000006519,392819.679000000003725]]],[[[390924.022000000055414,392806.037999999942258],[390925.152000000001863,392806.997999999963213]]],[[[390938.005000000004657,392793.622999999963213],[390937.967999999993481,392793.744000000006054]]],[[[390935.583999999973457,392782.523999999975786],[390936.302999999956228,392782.505000000004657]]],[[[390910.979999999981374,392798.157000000006519],[390913.207999999984168,392795.419999999983702]]],[[[390907.282000000006519,392801.15500000002794],[390898.776000000012573,392802.817000000039116]]],[[[390907.282000000006519,392801.15500000002794],[390906.35999999998603,392802.282000000006519]]],[[[390915.907000000006519,392819.679000000003725],[390918.0,392819.0]]],[[[390925.152000000001863,392806.997999999963213],[390926.0,392812.0]]],[[[390937.967999999993481,392793.744000000006054],[390937.912000000011176,392793.827000000048429]]],[[[390936.302999999956228,392782.505000000004657],[390937.15500000002794,392782.599999999976717]]],[[[390913.207999999984168,392795.419999999983702],[390913.306700000015553,392795.297800000000279]]],[[[390898.776000000012573,392802.817000000039116],[390895.65500000002794,392803.357999999949243]]],[[[390906.35999999998603,392802.282000000006519],[390901.453999999968801,392808.388999999966472]]],[[[390937.912000000011176,392793.827000000048429],[390937.791000000026543,392793.948999999964144]]],[[[390937.15500000002794,392782.599999999976717],[390938.366000000038184,392782.883999999961816]]],[[[390913.306700000015553,392795.297800000000279],[390910.051000000035856,392792.872000000032131]]],[[[390913.306700000015553,392795.297800000000279],[390915.116000000038184,392793.057999999960884]]],[[[390895.65500000002794,392803.357999999949243],[390895.343999999982771,392803.442999999970198]]],[[[390901.453999999968801,392808.388999999966472],[390901.096000000019558,392808.831000000005588]]],[[[390937.791000000026543,392793.948999999964144],[390937.343999999982771,392794.348999999987427]]],[[[390938.366000000038184,392782.883999999961816],[390939.237000000022817,392783.187000000034459]]],[[[390910.051000000035856,392792.872000000032131],[390909.746000000042841,392792.658999999985099]]],[[[390915.116000000038184,392793.057999999960884],[390916.01500000001397,392791.99900000001071]]],[[[390895.343999999982771,392803.442999999970198],[390895.119000000006054,392803.442999999970198]]],[[[390901.096000000019558,392808.831000000005588],[390900.932999999960884,392809.017999999981839]]],[[[390937.343999999982771,392794.348999999987427],[390937.0,392798.0]]],[[[390939.237000000022817,392783.187000000034459],[390940.012999999977183,392783.622000000032131]]],[[[390909.746000000042841,392792.658999999985099],[390909.562999999965541,392792.552999999956228]]],[[[390916.01500000001397,392791.99900000001071],[390918.607000000018161,392788.706000000005588]]],[[[390916.01500000001397,392791.99900000001071],[390915.752999999967869,392791.724999999976717]]],[[[390895.119000000006054,392803.442999999970198],[390894.892999999981839,392803.385999999998603]]],[[[390900.932999999960884,392809.017999999981839],[390900.791000000026543,392809.106000000028871]]],[[[390940.012999999977183,392783.622000000032131],[390940.732000000018161,392784.1129999999539]]],[[[390909.562999999965541,392792.552999999956228],[390909.432999999960884,392792.492000000027474]]],[[[390918.607000000018161,392788.706000000005588],[390922.397999999986496,392784.096000000019558]]],[[[390915.752999999967869,392791.724999999976717],[390915.690000000002328,392791.653999999980442]]],[[[390894.892999999981839,392803.385999999998603],[390894.073999999964144,392802.849999999976717]]],[[[390900.791000000026543,392809.106000000028871],[390900.538999999989755,392809.227000000013504]]],[[[390940.732000000018161,392784.1129999999539],[390941.548999999999069,392784.767999999981839]]],[[[390909.432999999960884,392792.492000000027474],[390909.212000000057742,392792.414999999979045]]],[[[390922.397999999986496,392784.096000000019558],[390923.197000000043772,392783.135999999998603]]],[[[390915.690000000002328,392791.653999999980442],[390915.653999999980442,392791.597999999998137]]],[[[390894.073999999964144,392802.849999999976717],[390893.90500000002794,392802.681000000040512]]],[[[390900.538999999989755,392809.227000000013504],[390897.658999999985099,392810.60899999999674]]],[[[390941.548999999999069,392784.767999999981839],[390942.909999999974389,392785.87400000001071]]],[[[390941.548999999999069,392784.767999999981839],[390942.909999999974389,392785.87400000001071]]],[[[390909.212000000057742,392792.414999999979045],[390908.472999999998137,392792.172000000020489]]],[[[390923.197000000043772,392783.135999999998603],[390923.397999999986496,392782.887999999977183]]],[[[390915.653999999980442,392791.597999999998137],[390915.62599999998929,392791.520000000018626]]],[[[390893.90500000002794,392802.681000000040512],[390893.792000000015832,392802.482999999949243]]],[[[390897.658999999985099,392810.60899999999674],[390896.587000000057742,392810.976000000024214]]],[[[390942.909999999974389,392785.87400000001071],[390947.432999999960884,392789.685999999986962]]],[[[390942.909999999974389,392785.87400000001071],[390947.432999999960884,392789.685999999986962]]],[[[390908.472999999998137,392792.172000000020489],[390907.642000000050757,392791.927999999956228]]],[[[390923.397999999986496,392782.887999999977183],[390923.491000000038184,392782.74900000001071]]],[[[390915.62599999998929,392791.520000000018626],[390915.619000000006054,392791.448999999964144]]],[[[390893.792000000015832,392802.482999999949243],[390893.763999999966472,392802.257999999972526]]],[[[390896.587000000057742,392810.976000000024214],[390896.21999999997206,392811.088999999978114]]],[[[390947.432999999960884,392789.685999999986962],[390953.846000000019558,392795.059000000008382]]],[[[390947.432999999960884,392789.685999999986962],[390953.846000000019558,392795.059000000008382]]],[[[390907.642000000050757,392791.927999999956228],[390907.177000000025146,392791.782999999995809]]],[[[390923.491000000038184,392782.74900000001071],[390923.552999999956228,392782.625]]],[[[390915.619000000006054,392791.448999999964144],[390915.619000000006054,392791.371000000042841]]],[[[390893.763999999966472,392802.257999999972526],[390893.820000000006985,392802.003999999957159]]],[[[390896.21999999997206,392811.088999999978114],[390895.542000000015832,392811.117000000027474]]],[[[390953.846000000019558,392795.059000000008382],[390958.462999999988824,392798.896000000007916]]],[[[390953.846000000019558,392795.059000000008382],[390958.462999999988824,392798.896000000007916]]],[[[390907.177000000025146,392791.782999999995809],[390906.75099999998929,392791.616000000038184]]],[[[390923.552999999956228,392782.625],[390923.583999999973457,392782.517000000050757]]],[[[390915.619000000006054,392791.371000000042841],[390915.632999999972526,392791.292999999946915]]],[[[390893.820000000006985,392802.003999999957159],[390894.440999999991618,392801.354999999981374]]],[[[390895.542000000015832,392811.117000000027474],[390894.948999999964144,392811.145000000018626]]],[[[390958.462999999988824,392798.896000000007916],[390959.827000000048429,392800.102999999944586]]],[[[390958.462999999988824,392798.896000000007916],[390959.827000000048429,392800.102999999944586]]],[[[390906.75099999998929,392791.616000000038184],[390906.364000000001397,392791.413999999989755]]],[[[390923.583999999973457,392782.517000000050757],[390923.599999999976717,392782.346000000019558]]],[[[390915.632999999972526,392791.292999999946915],[390915.653999999980442,392791.242999999958556]]],[[[390894.440999999991618,392801.354999999981374],[390894.0,392797.0]]],[[[390894.948999999964144,392811.145000000018626],[390894.299999999988358,392810.976000000024214]]],[[[390959.827000000048429,392800.102999999944586],[390963.864999999990687,392803.673999999999069]]],[[[390959.827000000048429,392800.102999999944586],[390963.864999999990687,392803.673999999999069]]],[[[390959.827000000048429,392800.102999999944586],[390957.304999999993015,392802.791000000026543]]],[[[390906.364000000001397,392791.413999999989755],[390905.7620000000461,392791.025000000023283]]],[[[390923.599999999976717,392782.346000000019558],[390923.583999999973457,392782.192000000039116]]],[[[390915.653999999980442,392791.242999999958556],[390915.682999999960884,392791.215000000025611]]],[[[390894.299999999988358,392810.976000000024214],[390893.763999999966472,392810.6370000000461]]],[[[390963.864999999990687,392803.673999999999069],[390968.351000000024214,392807.642000000050757]]],[[[390963.864999999990687,392803.673999999999069],[390968.351000000024214,392807.642000000050757]]],[[[390963.864999999990687,392803.673999999999069],[390964.468999999982771,392803.03000000002794]]],[[[390957.304999999993015,392802.791000000026543],[390956.914999999979045,392803.162000000011176]]],[[[390905.7620000000461,392791.025000000023283],[390905.366000000038184,392790.721000000019558]]],[[[390923.583999999973457,392782.192000000039116],[390923.537999999942258,392782.052000000025146]]],[[[390915.682999999960884,392791.215000000025611],[390915.717999999993481,392791.179999999993015]]],[[[390893.763999999966472,392810.6370000000461],[390891.222499999974389,392808.690999999991618]]],[[[390968.351000000024214,392807.642000000050757],[390970.01500000001397,392809.072999999974854]]],[[[390968.351000000024214,392807.642000000050757],[390970.01500000001397,392809.072999999974854]]],[[[390956.914999999979045,392803.162000000011176],[390956.692999999970198,392803.353999999992084]]],[[[390905.366000000038184,392790.721000000019558],[390905.122000000032131,392790.468999999982771]]],[[[390923.537999999942258,392782.052000000025146],[390923.476000000024214,392781.897999999986496]]],[[[390915.717999999993481,392791.179999999993015],[390915.775000000023283,392791.151000000012573]]],[[[390891.222499999974389,392808.690999999991618],[390891.137999999977183,392808.521000000007916]]],[[[390970.01500000001397,392809.072999999974854],[390973.534999999974389,392812.101000000024214]]],[[[390970.01500000001397,392809.072999999974854],[390973.534999999974389,392812.101000000024214]]],[[[390970.01500000001397,392809.072999999974854],[390963.032999999995809,392816.614000000001397]]],[[[390956.692999999970198,392803.353999999992084],[390956.520000000018626,392803.452000000048429]]],[[[390905.122000000032131,392790.468999999982771],[390905.01500000001397,392790.340000000025611]]],[[[390923.476000000024214,392781.897999999986496],[390923.352000000013504,392781.773999999975786]]],[[[390915.775000000023283,392791.151000000012573],[390915.880999999993946,392791.116000000038184]]],[[[390891.137999999977183,392808.521000000007916],[390891.10999999998603,392808.352000000013504]]],[[[390973.534999999974389,392812.101000000024214],[390978.625,392816.387999999977183]]],[[[390973.534999999974389,392812.101000000024214],[390978.625,392816.387999999977183]]],[[[390963.032999999995809,392816.614000000001397],[390962.662999999942258,392817.057999999960884]]],[[[390963.032999999995809,392816.614000000001397],[390965.489999999990687,392819.862000000022817]]],[[[390956.520000000018626,392803.452000000048429],[390956.242000000027474,392803.570000000006985]]],[[[390905.01500000001397,392790.340000000025611],[390904.962000000057742,392790.247999999963213]]],[[[390923.352000000013504,392781.773999999975786],[390923.072999999974854,392781.510999999998603]]],[[[390915.880999999993946,392791.116000000038184],[390916.01600000000326,392791.080000000016298]]],[[[390891.10999999998603,392808.352000000013504],[390891.166000000026543,392808.12599999998929]]],[[[390978.625,392816.387999999977183],[390981.878999999957159,392818.817999999970198]]],[[[390978.625,392816.387999999977183],[390981.878999999957159,392818.817999999970198]]],[[[390962.662999999942258,392817.057999999960884],[390962.507000000041444,392817.246000000042841]]],[[[390965.489999999990687,392819.862000000022817],[390964.0,392822.0]]],[[[390956.242000000027474,392803.570000000006985],[390955.804000000003725,392803.705000000016298]]],[[[390904.962000000057742,392790.247999999963213],[390904.939000000013038,392790.179999999993015]]],[[[390923.072999999974854,392781.510999999998603],[390916.237000000022817,392776.135999999998603]]],[[[390916.01600000000326,392791.080000000016298],[390916.107999999949243,392791.052000000025146]]],[[[390891.166000000026543,392808.12599999998929],[390891.336000000010245,392807.872000000032131]]],[[[390981.878999999957159,392818.817999999970198],[390982.421000000031199,392819.260000000009313]]],[[[390981.878999999957159,392818.817999999970198],[390982.421000000031199,392819.260000000009313]]],[[[390962.507000000041444,392817.246000000042841],[390962.383999999961816,392817.320000000006985]]],[[[390955.804000000003725,392803.705000000016298],[390955.50099999998929,392803.822999999974854]]],[[[390904.939000000013038,392790.179999999993015],[390904.923999999999069,392790.081000000005588]]],[[[390916.237000000022817,392776.135999999998603],[390912.695000000006985,392780.427999999956228]]],[[[390916.237000000022817,392776.135999999998603],[390915.184999999997672,392775.310999999986962]]],[[[390916.107999999949243,392791.052000000025146],[390916.185999999986961,392791.017000000050757]]],[[[390982.421000000031199,392819.260000000009313],[390983.882999999972526,392820.451000000000931]]],[[[390982.421000000031199,392819.260000000009313],[390983.882999999972526,392820.451000000000931]]],[[[390982.421000000031199,392819.260000000009313],[390979.167000000015832,392822.695000000006985]]],[[[390962.383999999961816,392817.320000000006985],[390962.252999999967869,392817.337000000057742]]],[[[390955.50099999998929,392803.822999999974854],[390955.315999999991618,392803.945999999996275]]],[[[390904.923999999999069,392790.081000000005588],[390904.932000000029802,392790.005000000004657]]],[[[390912.695000000006985,392780.427999999956228],[390908.0,392779.0]]],[[[390915.184999999997672,392775.310999999986962],[390914.619000000006054,392774.864000000001397]]],[[[390916.185999999986961,392791.017000000050757],[390916.242000000027474,392790.981000000028871]]],[[[390983.882999999972526,392820.451000000000931],[390985.002999999967869,392821.271000000007916]]],[[[390983.882999999972526,392820.451000000000931],[390985.002999999967869,392821.271000000007916]]],[[[390979.167000000015832,392822.695000000006985],[390977.208999999973457,392824.690999999991618]]],[[[390962.252999999967869,392817.337000000057742],[390962.137999999977183,392817.312000000034459]]],[[[390955.315999999991618,392803.945999999996275],[390955.179999999993015,392804.057000000029802]]],[[[390904.932000000029802,392790.005000000004657],[390905.076000000000931,392789.478999999992084]]],[[[390914.619000000006054,392774.864000000001397],[390914.547999999951571,392774.782999999995809]]],[[[390916.242000000027474,392790.981000000028871],[390916.277999999991152,392790.932000000029802]]],[[[390985.002999999967869,392821.271000000007916],[390986.567000000039116,392822.332000000053085]]],[[[390985.002999999967869,392821.271000000007916],[390986.567000000039116,392822.332000000053085]]],[[[390977.208999999973457,392824.690999999991618],[390975.742999999958556,392826.352000000013504]]],[[[390962.137999999977183,392817.312000000034459],[390962.022999999986496,392817.271000000007916]]],[[[390955.179999999993015,392804.057000000029802],[390954.783999999985099,392804.457000000053085]]],[[[390905.076000000000931,392789.478999999992084],[390903.8870000000461,392790.989999999990687]]],[[[390905.076000000000931,392789.478999999992084],[390904.0,392784.0]]],[[[390914.547999999951571,392774.782999999995809],[390914.494000000006054,392774.721000000019558]]],[[[390916.277999999991152,392790.932000000029802],[390916.292000000015832,392790.867999999958556]]],[[[390986.567000000039116,392822.332000000053085],[390987.708999999973457,392823.027999999991152]]],[[[390986.567000000039116,392822.332000000053085],[390987.708999999973457,392823.027999999991152]]],[[[390975.742999999958556,392826.352000000013504],[390975.137999999977183,392827.038999999989755]]],[[[390962.022999999986496,392817.271000000007916],[390961.73499999998603,392817.041000000026543]]],[[[390954.783999999985099,392804.457000000053085],[390951.687999999965541,392807.794999999983702]]],[[[390903.8870000000461,392790.989999999990687],[390902.522999999986496,392792.617000000027474]]],[[[390914.494000000006054,392774.721000000019558],[390914.467000000004191,392774.648999999975786]]],[[[390916.292000000015832,392790.867999999958556],[390916.277999999991152,392790.782999999995809]]],[[[390987.708999999973457,392823.027999999991152],[390991.0,392824.804999999993015]]],[[[390987.708999999973457,392823.027999999991152],[390991.0,392824.804999999993015]]],[[[390975.137999999977183,392827.038999999989755],[390974.926000000035856,392827.23399999999674]]],[[[390975.137999999977183,392827.038999999989755],[390977.78100000001723,392829.753999999957159]]],[[[390961.73499999998603,392817.041000000026543],[390961.463999999978114,392816.787000000011176]]],[[[390951.687999999965541,392807.794999999983702],[390951.537999999942258,392807.965000000025611]]],[[[390902.522999999986496,392792.617000000027474],[390897.0,392791.0]]],[[[390914.467000000004191,392774.648999999975786],[390914.448999999964144,392774.568999999959488]]],[[[390916.277999999991152,392790.782999999995809],[390916.242000000027474,392790.732999999949243]]],[[[390991.0,392824.804999999993015],[390993.402999999991152,392826.054000000003725]]],[[[390991.0,392824.804999999993015],[390993.402999999991152,392826.054000000003725]]],[[[390974.926000000035856,392827.23399999999674],[390974.831000000005588,392827.281000000017229]]],[[[390977.78100000001723,392829.753999999957159],[390976.0,392832.0]]],[[[390961.463999999978114,392816.787000000011176],[390958.0,392817.0]]],[[[390951.537999999942258,392807.965000000025611],[390951.457999999984168,392808.125]]],[[[390914.448999999964144,392774.568999999959488],[390914.457999999984168,392774.497000000032131]]],[[[390916.242000000027474,392790.732999999949243],[390916.157000000006519,392790.647999999986496]]],[[[390993.402999999991152,392826.054000000003725],[390993.935999999986962,392826.331000000005588]]],[[[390993.402999999991152,392826.054000000003725],[390993.935999999986962,392826.331000000005588]]],[[[390993.402999999991152,392826.054000000003725],[390991.103999999992084,392829.14000000001397]]],[[[390974.831000000005588,392827.281000000017229],[390974.676000000035856,392827.310999999986962]]],[[[390951.457999999984168,392808.125],[390951.427999999956228,392808.325000000011642]]],[[[390914.457999999984168,392774.497000000032131],[390914.476000000024214,392774.424999999988358]]],[[[390993.935999999986962,392826.331000000005588],[390994.064000000013039,392826.392999999981839]]],[[[390993.935999999986962,392826.331000000005588],[390994.064000000013039,392826.392999999981839]]],[[[390991.103999999992084,392829.14000000001397],[390990.836000000010244,392829.546000000031199]]],[[[390974.676000000035856,392827.310999999986962],[390974.581000000005588,392827.310999999986962]]],[[[390951.427999999956228,392808.325000000011642],[390951.427999999956228,392808.505000000004657]]],[[[390914.476000000024214,392774.424999999988358],[390914.701000000000931,392774.114999999990687]]],[[[390994.064000000013039,392826.392999999981839],[390997.536000000021886,392828.070000000006985]]],[[[390994.064000000013039,392826.392999999981839],[390997.536000000021886,392828.070000000006985]]],[[[390994.064000000013039,392826.392999999981839],[390993.887999999977183,392826.659999999974389]]],[[[390990.836000000010244,392829.546000000031199],[390990.662000000011176,392829.85999999998603]]],[[[390974.581000000005588,392827.310999999986962],[390974.467000000004191,392827.298999999999069]]],[[[390951.427999999956228,392808.505000000004657],[390951.457999999984168,392808.710000000020955]]],[[[390914.701000000000931,392774.114999999990687],[390910.991000000038184,392771.177999999956228]]],[[[390914.701000000000931,392774.114999999990687],[390915.202000000048429,392773.457999999984168]]],[[[390997.536000000021886,392828.070000000006985],[390999.98499999998603,392829.212000000057742]]],[[[390997.536000000021886,392828.070000000006985],[390999.98499999998603,392829.212000000057742]]],[[[390993.887999999977183,392826.659999999974389],[390993.812000000034459,392826.747999999963213]]],[[[390990.662000000011176,392829.85999999998603],[390990.533999999985099,392830.184999999997672]]],[[[390974.467000000004191,392827.298999999999069],[390974.377999999967869,392827.252000000036787]]],[[[390951.457999999984168,392808.710000000020955],[390951.552999999956228,392808.900000000023283]]],[[[390910.991000000038184,392771.177999999956228],[390910.777000000001863,392771.008999999961816]]],[[[390915.202000000048429,392773.457999999984168],[390917.646000000007916,392770.357000000018161]]],[[[390999.98499999998603,392829.212000000057742],[391004.979999999981374,392831.301000000035856]]],[[[390999.98499999998603,392829.212000000057742],[391000.57760000001872,392829.459900000016205]]],[[[390993.812000000034459,392826.747999999963213],[390993.744999999995343,392826.807000000029802]]],[[[390990.533999999985099,392830.184999999997672],[390989.572000000043772,392833.322000000043772]]],[[[390974.377999999967869,392827.252000000036787],[390973.853999999992084,392826.852999999944586]]],[[[390951.552999999956228,392808.900000000023283],[390951.712999999988824,392809.098999999987427]]],[[[390910.777000000001863,392771.008999999961816],[390910.657000000006519,392770.942999999970198]]],[[[390917.646000000007916,392770.357000000018161],[390910.517999999981839,392764.592999999993481]]],[[[390917.646000000007916,392770.357000000018161],[390920.544999999983702,392766.731000000028871]]],[[[391004.979999999981374,392831.301000000035856],[391009.465000000025611,392833.088999999978114]]],[[[391004.979999999981374,392831.301000000035856],[391009.465000000025611,392833.088999999978114]]],[[[391004.979999999981374,392831.301000000035856],[391000.57760000001872,392829.459900000016205]]],[[[391000.57760000001872,392829.459900000016205],[390996.172000000020489,392840.260000000009313]]],[[[391000.57760000001872,392829.459900000016205],[390996.172000000020489,392840.260000000009313]]],[[[390993.744999999995343,392826.807000000029802],[390993.64000000001397,392826.841000000014901]]],[[[390989.572000000043772,392833.322000000043772],[390989.096000000019558,392834.772999999986496]]],[[[390973.853999999992084,392826.852999999944586],[390969.0,392827.0]]],[[[390951.712999999988824,392809.098999999987427],[390951.837999999988824,392809.198999999964144]]],[[[390910.657000000006519,392770.942999999970198],[390910.547000000020489,392770.909999999974389]]],[[[390910.517999999981839,392764.592999999993481],[390909.0,392760.0]]],[[[390920.544999999983702,392766.731000000028871],[390923.418999999994412,392763.337999999988824]]],[[[391009.465000000025611,392833.088999999978114],[391008.022999999986496,392836.744999999995343]]],[[[391009.465000000025611,392833.088999999978114],[391012.375,392834.182999999960884]]],[[[391009.465000000025611,392833.088999999978114],[391012.375,392834.182999999960884]]],[[[390996.172000000020489,392840.260000000009313],[390996.0,392843.0]]],[[[390993.64000000001397,392826.841000000014901],[390993.577000000048429,392826.832000000053085]]],[[[390989.096000000019558,392834.772999999986496],[390988.793999999994412,392835.422999999951571]]],[[[390951.837999999988824,392809.198999999964144],[390952.417999999946915,392809.568999999959488]]],[[[390910.547000000020489,392770.909999999974389],[390910.453999999968801,392770.898999999975786]]],[[[390923.418999999994412,392763.337999999988824],[390922.171000000031199,392762.286000000021886]]],[[[390923.418999999994412,392763.337999999988824],[390924.232000000018161,392762.3870000000461]]],[[[391008.022999999986496,392836.744999999995343],[391006.125,392841.75099999998929]]],[[[390993.577000000048429,392826.832000000053085],[390993.508999999961816,392826.793999999994412]]],[[[390988.793999999994412,392835.422999999951571],[390988.562000000034459,392835.841000000014901]]],[[[390952.417999999946915,392809.568999999959488],[390954.0,392812.0]]],[[[390910.453999999968801,392770.898999999975786],[390910.307000000029802,392770.898999999975786]]],[[[390922.171000000031199,392762.286000000021886],[390921.887999999977183,392762.002999999967869]]],[[[390924.232000000018161,392762.3870000000461],[390924.413999999989755,392762.163999999989755]]],[[[391006.125,392841.75099999998929],[391005.565000000002328,392843.217999999993481]]],[[[390993.508999999961816,392826.793999999994412],[390993.467000000004191,392826.744000000006054]]],[[[390988.562000000034459,392835.841000000014901],[390988.132000000041444,392836.432000000029802]]],[[[390910.307000000029802,392770.898999999975786],[390909.958999999973457,392770.940999999991618]]],[[[390921.887999999977183,392762.002999999967869],[390921.726000000024214,392761.78100000001723]]],[[[390924.413999999989755,392762.163999999989755],[390924.51500000001397,392762.062999999965541]]],[[[391005.565000000002328,392843.217999999993481],[391002.0,392847.0]]],[[[390993.467000000004191,392826.744000000006054],[390993.450000000011642,392826.677000000025146]]],[[[390988.132000000041444,392836.432000000029802],[390987.226000000024214,392837.534999999974389]]],[[[390909.958999999973457,392770.940999999991618],[390909.717999999993481,392770.967999999993481]]],[[[390921.726000000024214,392761.78100000001723],[390921.523999999975786,392761.457999999984168]]],[[[390924.51500000001397,392762.062999999965541],[390924.635999999998603,392761.962999999988824]]],[[[390993.450000000011642,392826.677000000025146],[390993.458999999973457,392826.60899999999674]]],[[[390987.226000000024214,392837.534999999974389],[390986.947000000043772,392837.814000000013038]]],[[[390909.717999999993481,392770.967999999993481],[390909.412000000011176,392771.005999999993946]]],[[[390921.523999999975786,392761.457999999984168],[390921.119999999995343,392760.650000000023283]]],[[[390924.635999999998603,392761.962999999988824],[390924.797999999951571,392761.882000000041444]]],[[[390993.458999999973457,392826.60899999999674],[390993.492000000027474,392826.521000000007916]]],[[[390986.947000000043772,392837.814000000013038],[390986.866000000038184,392837.895000000018626]]],[[[390909.412000000011176,392771.005999999993946],[390909.224999999976717,392771.017000000050757]]],[[[390921.119999999995343,392760.650000000023283],[390920.797000000020489,392760.043999999994412]]],[[[390924.797999999951571,392761.882000000041444],[390924.979999999981374,392761.862000000022817]]],[[[390993.492000000027474,392826.521000000007916],[390993.551000000035856,392826.412000000011176]]],[[[390986.866000000038184,392837.895000000018626],[390986.772999999986496,392837.929999999993015]]],[[[390986.866000000038184,392837.895000000018626],[390987.307000000029802,392838.184999999997672]]],[[[390909.224999999976717,392771.017000000050757],[390909.056000000040513,392771.022999999986496]]],[[[390920.797000000020489,392760.043999999994412],[390920.533999999985099,392759.64000000001397]]],[[[390924.979999999981374,392761.862000000022817],[390925.182000000029802,392761.882000000041444]]],[[[390993.551000000035856,392826.412000000011176],[390993.787000000011176,392826.133999999961816]]],[[[390986.772999999986496,392837.929999999993015],[390986.679999999993015,392837.929999999993015]]],[[[390987.307000000029802,392838.184999999997672],[390987.922999999951571,392838.510000000009313]]],[[[390909.056000000040513,392771.022999999986496],[390908.771000000007916,392771.0120000000461]]],[[[390920.533999999985099,392759.64000000001397],[390920.231000000028871,392759.236000000033528]]],[[[390925.182000000029802,392761.882000000041444],[390925.443999999959487,392762.017999999981839]]],[[[390993.787000000011176,392826.133999999961816],[390993.989000000001397,392825.96999999997206]]],[[[390986.679999999993015,392837.929999999993015],[390986.587000000057742,392837.907000000006519]]],[[[390987.922999999951571,392838.510000000009313],[390990.477999999944586,392839.867999999958556]]],[[[390908.771000000007916,392771.0120000000461],[390908.492000000027474,392770.98399999999674]]],[[[390920.231000000028871,392759.236000000033528],[390919.947999999974854,392758.932999999960884]]],[[[390925.443999999959487,392762.017999999981839],[390925.739999999990687,392761.64000000001397]]],[[[390925.443999999959487,392762.017999999981839],[390926.091000000014901,392762.507999999972526]]],[[[390993.989000000001397,392825.96999999997206],[390994.166000000026543,392825.872999999963213]]],[[[390986.587000000057742,392837.907000000006519],[390986.017999999981839,392837.5120000000461]]],[[[390990.477999999944586,392839.867999999958556],[390990.0,392841.0]]],[[[390908.492000000027474,392770.98399999999674],[390908.361000000033528,392770.962999999988824]]],[[[390919.947999999974854,392758.932999999960884],[390919.442999999970198,392758.467999999993481]]],[[[390925.739999999990687,392761.64000000001397],[390925.918999999994412,392761.413999999989755]]],[[[390926.091000000014901,392762.507999999972526],[390929.951000000000931,392765.901000000012573]]],[[[390994.166000000026543,392825.872999999963213],[390994.527999999991152,392825.697000000043772]]],[[[390986.017999999981839,392837.5120000000461],[390981.0,392837.0]]],[[[390908.361000000033528,392770.962999999988824],[390908.217999999993481,392770.934999999997672]]],[[[390919.442999999970198,392758.467999999993481],[390917.784999999974389,392756.994000000006054]]],[[[390925.918999999994412,392761.413999999989755],[390926.062000000034459,392761.187999999965541]]],[[[390929.951000000000931,392765.901000000012573],[390932.739000000001397,392768.301000000035856]]],[[[390908.217999999993481,392770.934999999997672],[390908.087000000057742,392770.885999999998603]]],[[[390917.784999999974389,392756.994000000006054],[390913.0,392755.0]]],[[[390926.062000000034459,392761.187999999965541],[390926.168999999994412,392760.950000000011642]]],[[[390932.739000000001397,392768.301000000035856],[390938.130999999993946,392762.197000000043772]]],[[[390932.739000000001397,392768.301000000035856],[390940.702000000048429,392775.184000000008382]]],[[[390908.087000000057742,392770.885999999998603],[390907.934000000008382,392770.815000000002328]]],[[[390926.168999999994412,392760.950000000011642],[390926.216000000014901,392760.760000000009313]]],[[[390938.130999999993946,392762.197000000043772],[390937.547999999951571,392761.707000000053085]]],[[[390938.130999999993946,392762.197000000043772],[390939.538999999989755,392760.603999999992084]]],[[[390940.702000000048429,392775.184000000008382],[390947.038999999989755,392768.130999999993946]]],[[[390940.702000000048429,392775.184000000008382],[390942.352000000013504,392776.625]]],[[[390907.934000000008382,392770.815000000002328],[390907.698999999964144,392770.684000000008382]]],[[[390926.216000000014901,392760.760000000009313],[390926.239999999990687,392760.450000000011642]]],[[[390937.547999999951571,392761.707000000053085],[390937.378999999957159,392761.538999999989755]]],[[[390939.538999999989755,392760.603999999992084],[390943.0,392758.0]]],[[[390947.038999999989755,392768.130999999993946],[390949.0,392763.0]]],[[[390942.352000000013504,392776.625],[390944.147999999986496,392778.217000000004191]]],[[[390907.698999999964144,392770.684000000008382],[390907.12400000001071,392770.223999999987427]]],[[[390926.239999999990687,392760.450000000011642],[390926.203999999968801,392759.927000000025146]]],[[[390937.378999999957159,392761.538999999989755],[390937.284999999974389,392761.417999999946915]]],[[[390944.147999999986496,392778.217000000004191],[390948.940999999991618,392782.352999999944586]]],[[[390944.147999999986496,392778.217000000004191],[390944.182000000029802,392778.111000000033528]]],[[[390907.12400000001071,392770.223999999987427],[390906.396000000007916,392769.567999999970198]]],[[[390926.203999999968801,392759.927000000025146],[390925.585000000020955,392756.047999999951571]]],[[[390937.284999999974389,392761.417999999946915],[390937.231000000028871,392761.342999999993481]]],[[[390948.940999999991618,392782.352999999944586],[390954.592000000004191,392787.287999999942258]]],[[[390948.940999999991618,392782.352999999944586],[390951.512999999977183,392779.362000000022817]]],[[[390944.182000000029802,392778.111000000033528],[390944.201000000000931,392778.007999999972526]]],[[[390906.396000000007916,392769.567999999970198],[390906.330000000016298,392769.502000000036787]]],[[[390925.585000000020955,392756.047999999951571],[390925.09499999997206,392752.8629999999539]]],[[[390937.231000000028871,392761.342999999993481],[390937.197000000043772,392761.255999999993946]]],[[[390954.592000000004191,392787.287999999942258],[390960.502999999967869,392792.289999999979045]]],[[[390951.512999999977183,392779.362000000022817],[390951.778999999980442,392779.033999999985099]]],[[[390944.201000000000931,392778.007999999972526],[390944.201000000000931,392777.911000000021886]]],[[[390906.330000000016298,392769.502000000036787],[390906.287000000011176,392769.442000000039116]]],[[[390925.09499999997206,392752.8629999999539],[390924.960000000020955,392751.851000000024214]]],[[[390937.197000000043772,392761.255999999993946],[390937.177000000025146,392761.174999999988358]]],[[[390960.502999999967869,392792.289999999979045],[390962.99900000001071,392794.377000000036787]]],[[[390960.502999999967869,392792.289999999979045],[390966.597000000008848,392785.202000000048429]]],[[[390951.778999999980442,392779.033999999985099],[390951.872999999963213,392778.902999999991152]]],[[[390944.201000000000931,392777.911000000021886],[390944.187999999965541,392777.802000000025146]]],[[[390906.287000000011176,392769.442000000039116],[390906.258999999961816,392769.37599999998929]]],[[[390924.960000000020955,392751.851000000024214],[390924.892000000050757,392750.923999999999069]]],[[[390937.177000000025146,392761.174999999988358],[390937.177000000025146,392761.081000000005588]]],[[[390962.99900000001071,392794.377000000036787],[390966.382999999972526,392797.222000000008848]]],[[[390966.597000000008848,392785.202000000048429],[390967.382999999972526,392784.224999999976717]]],[[[390951.872999999963213,392778.902999999991152],[390951.956000000005588,392778.753999999957159]]],[[[390944.187999999965541,392777.802000000025146],[390944.156000000017229,392777.717999999993481]]],[[[390906.258999999961816,392769.37599999998929],[390906.247999999963213,392769.299999999988358]]],[[[390924.892000000050757,392750.923999999999069],[390924.87599999998929,392750.417999999946915]]],[[[390937.177000000025146,392761.081000000005588],[390937.190999999991618,392761.007000000041444]]],[[[390966.382999999972526,392797.222000000008848],[390970.343999999982771,392800.554000000003725]]],[[[390967.382999999972526,392784.224999999976717],[390967.789999999979045,392783.707000000053085]]],[[[390951.956000000005588,392778.753999999957159],[390952.0120000000461,392778.62400000001071]]],[[[390944.156000000017229,392777.717999999993481],[390944.072000000043772,392777.60899999999674]]],[[[390906.247999999963213,392769.299999999988358],[390906.247999999963213,392769.228999999992084]]],[[[390924.87599999998929,392750.417999999946915],[390924.892000000050757,392750.013999999966472]]],[[[390937.190999999991618,392761.007000000041444],[390937.231000000028871,392760.926000000035856]]],[[[390970.343999999982771,392800.554000000003725],[390973.518999999971129,392803.236000000033528]]],[[[390967.789999999979045,392783.707000000053085],[390965.176000000035856,392781.033999999985099]]],[[[390967.789999999979045,392783.707000000053085],[390967.869000000006054,392783.614000000001397]]],[[[390952.0120000000461,392778.62400000001071],[390952.067999999970198,392778.466000000014901]]],[[[390944.072000000043772,392777.60899999999674],[390943.950000000011642,392777.49900000001071]]],[[[390906.247999999963213,392769.228999999992084],[390906.258999999961816,392769.162999999942258]]],[[[390924.892000000050757,392750.013999999966472],[390924.960000000020955,392749.676000000035856]]],[[[390937.231000000028871,392760.926000000035856],[390937.284999999974389,392760.84499999997206]]],[[[390973.518999999971129,392803.236000000033528],[390974.707999999984168,392804.21999999997206]]],[[[390973.518999999971129,392803.236000000033528],[390977.440999999991618,392798.797999999951571]]],[[[390965.176000000035856,392781.033999999985099],[390965.0,392778.0]]],[[[390967.869000000006054,392783.614000000001397],[390967.937999999965541,392783.559000000008382]]],[[[390952.067999999970198,392778.466000000014901],[390952.106000000028871,392778.307000000029802]]],[[[390943.950000000011642,392777.49900000001071],[390943.847000000008848,392777.429000000003725]]],[[[390906.258999999961816,392769.162999999942258],[390906.302999999956228,392769.081000000005588]]],[[[390924.960000000020955,392749.676000000035856],[390925.077999999979511,392749.288999999989755]]],[[[390937.284999999974389,392760.84499999997206],[390937.392999999981839,392760.703999999968801]]],[[[390974.707999999984168,392804.21999999997206],[390976.271000000007916,392805.663999999989756]]],[[[390977.440999999991618,392798.797999999951571],[390980.71999999997206,392795.088999999978114]]],[[[390967.937999999965541,392783.559000000008382],[390968.007000000041444,392783.531000000017229]]],[[[390952.106000000028871,392778.307000000029802],[390952.133999999961816,392778.083999999973457]]],[[[390943.847000000008848,392777.429000000003725],[390943.737000000022817,392777.377000000036787]]],[[[390906.302999999956228,392769.081000000005588],[390906.369000000006054,392768.9879999999539]]],[[[390925.077999999979511,392749.288999999989755],[390925.229999999981374,392748.952000000048429]]],[[[390937.392999999981839,392760.703999999968801],[390938.215000000025611,392759.659999999974389]]],[[[390976.271000000007916,392805.663999999989756],[390980.318999999959487,392808.982999999949243]]],[[[390980.71999999997206,392795.088999999978114],[390978.193999999959487,392792.522999999986496]]],[[[390980.71999999997206,392795.088999999978114],[390980.830000000016298,392795.018999999971129]]],[[[390968.007000000041444,392783.531000000017229],[390968.132000000041444,392783.517000000050757]]],[[[390952.133999999961816,392778.083999999973457],[390952.161000000021886,392777.776000000012573]]],[[[390943.737000000022817,392777.377000000036787],[390943.659999999974389,392777.357999999949243]]],[[[390906.369000000006054,392768.9879999999539],[390906.707999999984168,392768.567000000039116]]],[[[390925.229999999981374,392748.952000000048429],[390925.5,392748.445999999996275]]],[[[390938.215000000025611,392759.659999999974389],[390940.0,392756.0]]],[[[390980.318999999959487,392808.982999999949243],[390983.289999999979045,392812.0120000000461]]],[[[390978.193999999959487,392792.522999999986496],[390978.0,392789.0]]],[[[390980.830000000016298,392795.018999999971129],[390980.951000000000931,392794.989000000001397]]],[[[390968.132000000041444,392783.517000000050757],[390968.298999999999069,392783.572999999974854]]],[[[390952.161000000021886,392777.776000000012573],[390952.189000000013039,392777.450000000011642]]],[[[390943.659999999974389,392777.357999999949243],[390943.562999999965541,392777.357999999949243]]],[[[390906.707999999984168,392768.567000000039116],[390906.0,392764.0]]],[[[390925.5,392748.445999999996275],[390926.112000000022817,392747.462999999988824]]],[[[390983.289999999979045,392812.0120000000461],[390985.7620000000461,392814.221000000019558]]],[[[390980.951000000000931,392794.989000000001397],[390981.082000000053085,392794.958999999973457]]],[[[390968.298999999999069,392783.572999999974854],[390968.409999999974389,392783.642000000050757]]],[[[390952.189000000013039,392777.450000000011642],[390952.227000000013504,392777.236000000033528]]],[[[390943.562999999965541,392777.357999999949243],[390943.472999999998137,392777.377000000036787]]],[[[390926.112000000022817,392747.462999999988824],[390926.443999999959487,392747.366000000038184]]],[[[390926.112000000022817,392747.462999999988824],[390924.179000000003725,392748.181000000040513]]],[[[390985.7620000000461,392814.221000000019558],[390988.242999999958556,392815.901000000012573]]],[[[390981.082000000053085,392794.958999999973457],[390981.202000000048429,392794.958999999973457]]],[[[390968.409999999974389,392783.642000000050757],[390968.576000000000931,392783.78100000001723]]],[[[390952.227000000013504,392777.236000000033528],[390952.282999999995809,392777.022000000055414]]],[[[390943.472999999998137,392777.377000000036787],[390943.39000000001397,392777.416000000026543]]],[[[390926.443999999959487,392747.366000000038184],[390926.73399999999674,392747.282999999995809]]],[[[390924.179000000003725,392748.181000000040513],[390921.099999999976717,392749.367000000027474]]],[[[390988.242999999958556,392815.901000000012573],[390988.443999999959487,392815.943999999959488]]],[[[390988.242999999958556,392815.901000000012573],[390990.62599999998929,392817.377000000036787]]],[[[390981.202000000048429,392794.958999999973457],[390981.332999999984168,392794.978999999992084]]],[[[390968.576000000000931,392783.78100000001723],[390969.687000000034459,392784.792999999946915]]],[[[390952.282999999995809,392777.022000000055414],[390952.310999999986962,392776.919999999983702]]],[[[390943.39000000001397,392777.416000000026543],[390943.306000000040513,392777.505999999993946]]],[[[390926.73399999999674,392747.282999999995809],[390926.982000000018161,392747.255999999993946]]],[[[390921.099999999976717,392749.367000000027474],[390918.462000000057742,392750.361000000033528]]],[[[390988.443999999959487,392815.943999999959488],[390988.650000000023283,392815.950000000011642]]],[[[390990.62599999998929,392817.377000000036787],[390993.25,392818.979999999981374]]],[[[390990.62599999998929,392817.377000000036787],[390993.25,392818.979999999981374]]],[[[390981.332999999984168,392794.978999999992084],[390981.412999999942258,392795.008999999961816]]],[[[390969.687000000034459,392784.792999999946915],[390973.0,392785.0]]],[[[390952.310999999986962,392776.919999999983702],[390952.366000000038184,392776.760999999998603]]],[[[390943.306000000040513,392777.505999999993946],[390943.034999999974389,392777.827999999979511]]],[[[390926.982000000018161,392747.255999999993946],[390927.176000000035856,392747.255999999993946]]],[[[390918.462000000057742,392750.361000000033528],[390917.0,392751.0]]],[[[390988.650000000023283,392815.950000000011642],[390988.853999999992084,392815.917999999946915]]],[[[390993.25,392818.979999999981374],[390995.557000000029802,392820.130999999993946]]],[[[390993.25,392818.979999999981374],[390995.557000000029802,392820.130999999993946]]],[[[390981.412999999942258,392795.008999999961816],[390981.523999999975786,392795.078999999968801]]],[[[390952.366000000038184,392776.760999999998603],[390952.440999999991618,392776.622000000032131]]],[[[390943.034999999974389,392777.827999999979511],[390942.693999999959488,392778.174999999988358]]],[[[390927.176000000035856,392747.255999999993946],[390927.369000000006054,392747.297000000020489]]],[[[390988.853999999992084,392815.917999999946915],[390989.047999999951571,392815.851000000024214]]],[[[390995.557000000029802,392820.130999999993946],[390997.982999999949243,392821.471000000019558]]],[[[390995.557000000029802,392820.130999999993946],[390997.982999999949243,392821.471000000019558]]],[[[390981.523999999975786,392795.078999999968801],[390982.35899999999674,392795.762999999977183]]],[[[390952.440999999991618,392776.622000000032131],[390952.581000000005588,392776.445000000006985]]],[[[390942.693999999959488,392778.174999999988358],[390942.332999999984168,392778.51600000000326]]],[[[390927.369000000006054,392747.297000000020489],[390927.534999999974389,392747.338999999978114]]],[[[390989.047999999951571,392815.851000000024214],[390989.227000000013504,392815.74900000001071]]],[[[390997.982999999949243,392821.471000000019558],[390999.996000000042841,392822.532000000006519]]],[[[390997.982999999949243,392821.471000000019558],[390999.996000000042841,392822.532000000006519]]],[[[390982.35899999999674,392795.762999999977183],[390986.0,392795.0]]],[[[390952.581000000005588,392776.445000000006985],[390954.099999999976717,392774.60999999998603]]],[[[390927.534999999974389,392747.338999999978114],[390927.645000000018626,392747.393999999971129]]],[[[390989.227000000013504,392815.74900000001071],[390989.385000000009313,392815.617000000027474]]],[[[390999.996000000042841,392822.532000000006519],[391002.28000000002794,392823.398999999975786]]],[[[390999.996000000042841,392822.532000000006519],[391002.28000000002794,392823.398999999975786]]],[[[390954.099999999976717,392774.60999999998603],[390954.732000000018161,392773.897000000055414]]],[[[390927.645000000018626,392747.393999999971129],[390927.770000000018626,392747.462999999988824]]],[[[390989.385000000009313,392815.617000000027474],[390989.51600000000326,392815.457999999984168]]],[[[391002.28000000002794,392823.398999999975786],[391004.255000000004657,392819.013999999966472]]],[[[391002.28000000002794,392823.398999999975786],[391005.614999999990687,392824.809999999997672]]],[[[391002.28000000002794,392823.398999999975786],[391005.614999999990687,392824.809999999997672]]],[[[390954.732000000018161,392773.897000000055414],[390955.052999999956228,392773.534999999974389]]],[[[390927.770000000018626,392747.462999999988824],[390927.934999999997672,392747.601000000024214]]],[[[390989.51600000000326,392815.457999999984168],[390989.573499999998603,392815.375500000023749]]],[[[391004.255000000004657,392819.013999999966472],[391004.582000000053085,392818.39100000000326]]],[[[391005.614999999990687,392824.809999999997672],[391009.669999999983702,392826.422999999951571]]],[[[391005.614999999990687,392824.809999999997672],[391009.669999999983702,392826.422999999951571]]],[[[390955.052999999956228,392773.534999999974389],[390955.133999999961816,392773.465000000025611]]],[[[390927.934999999997672,392747.601000000024214],[390928.184000000008382,392747.848999999987427]]],[[[390989.573499999998603,392815.375500000023749],[390990.602000000013504,392813.3629999999539]]],[[[391004.582000000053085,392818.39100000000326],[391005.270000000018626,392816.532000000006519]]],[[[391009.669999999983702,392826.422999999951571],[391016.00099999998929,392829.070000000006985]]],[[[391009.669999999983702,392826.422999999951571],[391016.00099999998929,392829.070000000006985]]],[[[390955.133999999961816,392773.465000000025611],[390955.203999999968801,392773.417999999946915]]],[[[390928.184000000008382,392747.848999999987427],[390931.0,392748.0]]],[[[390928.184000000008382,392747.848999999987427],[390935.0,392751.0]]],[[[390990.602000000013504,392813.3629999999539],[390991.411000000021886,392812.135999999998603]]],[[[391005.270000000018626,392816.532000000006519],[391006.257000000041444,392814.423999999999069]]],[[[391016.00099999998929,392829.070000000006985],[391018.607000000018161,392830.062999999965541]]],[[[391016.00099999998929,392829.070000000006985],[391018.607000000018161,392830.062999999965541]]],[[[390955.203999999968801,392773.417999999946915],[390955.284999999974389,392773.377999999967869]]],[[[390991.411000000021886,392812.135999999998603],[390991.997000000032131,392810.992000000027474]]],[[[391006.257000000041444,392814.423999999999069],[391006.471000000019558,392814.211000000010245]]],[[[391018.607000000018161,392830.062999999965541],[391020.304000000003725,392830.434999999997672]]],[[[391018.607000000018161,392830.062999999965541],[391020.304000000003725,392830.434999999997672]]],[[[390955.284999999974389,392773.377999999967869],[390955.354999999981374,392773.35999999998603]]],[[[390991.997000000032131,392810.992000000027474],[390992.556000000040513,392809.76500000001397]]],[[[391006.471000000019558,392814.211000000010245],[391006.76500000001397,392813.971000000019558]]],[[[391006.471000000019558,392814.211000000010245],[391005.777000000001863,392813.729999999981374]]],[[[391020.304000000003725,392830.434999999997672],[391021.503999999957159,392830.434999999997672]]],[[[391020.304000000003725,392830.434999999997672],[391021.503999999957159,392830.434999999997672]]],[[[390955.354999999981374,392773.35999999998603],[390955.424999999988358,392773.354999999981374]]],[[[390992.556000000040513,392809.76500000001397],[390993.7620000000461,392807.804000000003725]]],[[[391006.76500000001397,392813.971000000019558],[391007.112000000022817,392813.917000000015832]]],[[[391005.777000000001863,392813.729999999981374],[391004.148999999975786,392812.60999999998603]]],[[[391021.503999999957159,392830.434999999997672],[391022.496000000042841,392830.239000000001397]]],[[[391021.503999999957159,392830.434999999997672],[391022.496000000042841,392830.239000000001397]]],[[[390955.424999999988358,392773.354999999981374],[390955.494999999995343,392773.354999999981374]]],[[[390993.7620000000461,392807.804000000003725],[390994.075000000011642,392807.333999999973457]]],[[[391007.112000000022817,392813.917000000015832],[391007.646000000007916,392813.917000000015832]]],[[[391004.148999999975786,392812.60999999998603],[391005.0,392808.0]]],[[[390955.494999999995343,392773.354999999981374],[390955.564000000013038,392773.35999999998603]]],[[[390994.075000000011642,392807.333999999973457],[390994.421000000031199,392806.815999999991618]]],[[[390994.075000000011642,392807.333999999973457],[390992.315999999991618,392804.712000000057742]]],[[[391007.646000000007916,392813.917000000015832],[391008.286000000021886,392814.130999999993946]]],[[[390955.564000000013038,392773.35999999998603],[390956.755999999993946,392773.690999999991618]]],[[[390994.421000000031199,392806.815999999991618],[390994.96999999997206,392805.952999999979511]]],[[[390992.315999999991618,392804.712000000057742],[390990.810999999986962,392802.497000000032131]]],[[[391008.286000000021886,392814.130999999993946],[391010.60899999999674,392815.357999999949243]]],[[[390956.755999999993946,392773.690999999991618],[390952.377000000036787,392769.849999999976717]]],[[[390956.755999999993946,392773.690999999991618],[390960.0,392774.0]]],[[[390994.96999999997206,392805.952999999979511],[390995.1129999999539,392805.809999999997672]]],[[[390990.810999999986962,392802.497000000032131],[390991.0,392798.0]]],[[[391010.60899999999674,392815.357999999949243],[391014.0,392812.0]]],[[[390952.377000000036787,392769.849999999976717],[390952.0,392766.0]]],[[[390995.1129999999539,392805.809999999997672],[390995.257000000041444,392805.717999999993481]]],[[[390995.257000000041444,392805.717999999993481],[390995.401000000012573,392805.717999999993481]]],[[[390995.401000000012573,392805.717999999993481],[390995.583999999973457,392805.757999999972526]]],[[[390995.583999999973457,392805.757999999972526],[390995.885000000009313,392805.913999999989756]]],[[[390995.885000000009313,392805.913999999989756],[390996.354999999981374,392806.267000000050757]]],[[[390996.354999999981374,392806.267000000050757],[391001.0,392805.0]]]]}", + "orient": "split", "dtype": { "coords": "object" - }, - "orient": "split" + } }, "bus_geodata": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"x\",\"y\",\"coords\"],\"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,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906],\"data\":[[390883.0,392897.0,null],[390872.662999999942258,392887.378999999957159,null],[390871.596000000019558,392887.637999999977183,null],[390871.481000000028871,392887.642999999981839,null],[390871.378999999957159,392887.607999999949243,null],[390871.304999999993015,392887.549999999988358,null],[390871.23399999999674,392887.419999999983702,null],[390868.778999999980442,392877.6370000000461,null],[390868.752999999967869,392877.185999999986961,null],[390868.752999999967869,392876.809999999997672,null],[390868.804000000003725,392876.48399999999674,null],[390868.903999999980442,392876.258999999961816,null],[390869.078999999968801,392876.107999999949243,null],[390869.179999999993015,392876.007999999972526,null],[390869.5,392875.857000000018161,null],[390872.292000000015832,392875.207999999984168,null],[390872.314000000013038,392875.302000000025146,null],[390875.677999999956228,392874.422000000020489,null],[390872.315999999991618,392875.346000000019558,null],[390875.907000000006519,392874.352999999944586,null],[390872.312000000034459,392875.392000000050757,null],[390876.142000000050757,392874.222999999998137,null],[390872.302999999956228,392875.432999999960884,null],[390876.440000000002328,392873.902999999991152,null],[390872.287999999942258,392875.482000000018161,null],[390877.002999999967869,392873.341000000014901,null],[390872.262999999977183,392875.532000000006519,null],[390880.364000000001397,392878.195999999996275,null],[390884.190000000002328,392866.432999999960884,null],[390872.239000000001397,392875.581000000005588,null],[390881.306000000040513,392879.522000000055414,null],[390879.232000000018161,392879.304999999993015,null],[390886.111000000033528,392864.602000000013504,null],[390872.169999999983702,392875.710000000020955,null],[390885.0,392880.0,null],[390879.207999999984168,392879.352999999944586,null],[390890.169500000018161,392868.642000000050757,null],[390891.918999999994412,392859.065000000002328,null],[390872.092000000004191,392875.822000000043772,null],[390879.182999999960884,392879.426000000035856,null],[390890.443999999959487,392868.351000000024214,null],[390891.409999999974389,392869.955000000016298,null],[390895.962999999988824,392855.237000000022817,null],[390891.775000000023283,392858.902999999991152,null],[390872.072999999974854,392875.849999999976717,null],[390879.158999999985099,392879.522000000055414,null],[390890.570999999996275,392868.222999999998137,null],[390893.0,392874.0,null],[390899.026000000012573,392852.352000000013504,null],[390891.742000000027474,392858.804000000003725,null],[390872.037999999942258,392875.882999999972526,null],[390879.158999999985099,392879.762999999977183,null],[390890.753999999957159,392868.167999999946915,null],[390899.474999999976717,392851.943999999959488,null],[390899.491000000038184,392852.791000000026543,null],[390891.758999999961816,392858.689000000013038,null],[390871.963999999978114,392875.929999999993015,null],[390879.232000000018161,392879.956000000005588,null],[390890.935999999986962,392868.167999999946915,null],[390901.468999999982771,392850.052999999956228,null],[390899.547999999951571,392852.822999999974854,null],[390891.775000000023283,392858.590000000025611,null],[390871.892000000050757,392875.960000000020955,null],[390879.907000000006519,392880.679000000003725,null],[390891.044999999983702,392868.167999999946915,null],[390901.869999999995343,392849.663999999989756,null],[390907.229999999981374,392855.96999999997206,null],[390899.617999999958556,392852.847000000008848,null],[390891.825000000011642,392858.507999999972526,null],[390871.812000000034459,392875.982999999949243,null],[390881.0,392884.0,null],[390891.246000000042841,392868.241000000038184,null],[390906.932000000029802,392845.427999999956228,null],[390907.0,392860.0,null],[390907.0,392860.0,null],[390899.792999999946915,392852.8870000000461,null],[390891.972000000008848,392858.323999999964144,null],[390871.435999999986962,392876.082999999984168,null],[390892.047999999951571,392868.96999999997206,null],[390908.6129999999539,392843.857000000018161,null],[390899.888999999966472,392852.926000000035856,null],[390892.5120000000461,392857.807999999960884,null],[390870.934999999997672,392876.182999999960884,null],[390896.0,392870.0,null],[390909.025000000023283,392843.570000000006985,null],[390899.982000000018161,392852.987000000022817,null],[390893.557999999960884,392856.820000000006985,null],[390870.633999999961816,392876.258999999961816,null],[390909.877999999967869,392843.013999999966472,null],[390900.059999999997672,392853.057000000029802,null],[390893.775000000023283,392856.554999999993015,null],[390870.525000000023283,392876.284999999974389,null],[390910.741000000038184,392842.592999999993481,null],[390893.802999999956228,392856.496000000042841,null],[390870.492000000027474,392876.296000000031199,null],[390911.229999999981374,392842.323999999964144,null],[390893.799999999988358,392856.409999999974389,null],[390870.457999999984168,392876.309999999997672,null],[390911.556000000040513,392842.152000000001863,null],[390893.78100000001723,392856.377999999967869,null],[390870.382999999972526,392876.35899999999674,null],[390911.997000000032131,392841.897999999986496,null],[390890.706000000005588,392852.332000000053085,null],[390870.157000000006519,392876.533999999985099,null],[390912.282000000006519,392841.942000000039116,null],[390912.282000000006519,392841.71999999997206,null],[390890.64000000001397,392852.121000000042841,null],[390912.630000000004657,392841.967000000004191,null],[390912.429999999993015,392841.599999999976717,null],[390890.510999999998603,392851.689000000013038,null],[390913.032000000006519,392842.010999999998603,null],[390917.462999999988824,392836.01500000001397,null],[390883.277000000001863,392842.143999999971129,null],[390913.6370000000461,392842.130000000004657,null],[390918.003999999957159,392835.491000000038184,null],[390876.522999999986496,392833.895000000018626,null],[390914.400000000023283,392842.34499999997206,null],[390918.76500000001397,392836.292999999946915,null],[390915.4879999999539,392832.838999999978114,null],[390875.777999999991152,392833.236000000033528,null],[390914.923999999999069,392842.567000000039116,null],[390918.948999999964144,392836.228999999992084,null],[390919.135000000009313,392836.684000000008382,null],[390910.895000000018626,392828.10999999998603,null],[390875.198999999964144,392832.799999999988358,null],[390915.64000000001397,392842.932999999960884,null],[390919.114999999990687,392836.198999999964144,null],[390920.87599999998929,392838.517999999981839,null],[390908.833999999973457,392825.978999999992084,null],[390874.662000000011176,392832.479999999981374,null],[390916.402999999991152,392843.351000000024214,null],[390919.23399999999674,392836.205000000016298,null],[390923.576000000000931,392835.814000000013038,null],[390925.817000000039116,392843.724999999976717,null],[390908.271000000007916,392825.299999999988358,null],[390872.864999999990687,392831.802999999956228,null],[390917.072000000043772,392843.826000000000931,null],[390919.412000000011176,392836.252999999967869,null],[390923.798999999999069,392835.572000000043772,null],[390929.523999999975786,392847.568999999959488,null],[390907.614999999990687,392824.551000000035856,null],[390871.466000000014901,392831.607000000018161,null],[390918.076000000000931,392844.727000000013504,null],[390919.607999999949243,392836.347999999998137,null],[390923.972999999998137,392835.299999999988358,null],[390932.01500000001397,392850.135000000009313,null],[390907.052999999956228,392823.802000000025146,null],[390871.226000000024214,392831.622999999963213,null],[390922.542000000015832,392849.331000000005588,null],[390919.7620000000461,392836.466000000014901,null],[390924.070000000006985,392835.057999999960884,null],[390934.502999999967869,392852.697000000043772,null],[390935.583999999973457,392846.447999999974854,null],[390906.491000000038184,392822.864999999990687,null],[390871.172999999951571,392831.687000000034459,null],[390923.521000000007916,392850.327999999979511,null],[390919.90500000002794,392836.632000000041444,null],[390924.127999999967869,392834.671000000031199,null],[390941.046000000031199,392859.544999999983702,null],[390935.817000000039116,392846.239999999990687,null],[390906.349999999976717,392822.583999999973457,null],[390871.127999999967869,392831.801000000035856,null],[390915.060999999986961,392858.471000000019558,null],[390927.222000000008848,392854.099999999976717,null],[390920.0120000000461,392836.804999999993015,null],[390924.168999999994412,392834.201000000000931,null],[390943.336000000010245,392861.907000000006519,null],[390935.994999999995343,392846.017000000050757,null],[390905.502000000036787,392821.0120000000461,null],[390871.099999999976717,392832.048999999999069,null],[390913.477999999944586,392860.025000000023283,null],[390931.986000000033528,392859.25,null],[390920.077000000048429,392836.965000000025611,null],[390924.246000000042841,392833.852999999944586,null],[390946.010000000009313,392864.771000000007916,null],[390946.317000000039116,392858.942000000039116,null],[390936.049999999988358,392845.912000000011176,null],[390905.189000000013039,392820.052999999956228,null],[390910.0,392863.0,null],[390932.787999999942258,392860.117999999958556,null],[390930.205000000016298,392860.892000000050757,null],[390920.101000000024214,392837.142999999981839,null],[390924.411000000021886,392833.474999999976717,null],[390946.422000000020489,392865.190000000002328,null],[390946.617999999958556,392858.602000000013504,null],[390936.119000000006054,392845.666000000026543,null],[390905.022000000055414,392819.322999999974854,null],[390935.932000000029802,392863.544999999983702,null],[390923.046000000031199,392867.911000000021886,null],[390920.09499999997206,392837.297000000020489,null],[390924.643999999971129,392833.164999999979045,null],[390948.046000000031199,392866.840000000025611,null],[390946.652000000001863,392865.033999999985099,null],[390946.840000000025611,392858.222999999998137,null],[390936.242000000027474,392845.027000000001863,null],[390904.937999999965541,392818.65500000002794,null],[390941.567999999970198,392869.642999999981839,null],[390921.647000000055414,392869.282999999995809,null],[390923.823999999964144,392868.73399999999674,null],[390920.042000000015832,392837.481000000028871,null],[390924.934000000008382,392832.864999999990687,null],[390948.692999999970198,392867.510000000009313,null],[390946.807000000029802,392864.978999999992084,null],[390946.971000000019558,392857.897000000055414,null],[390936.287999999942258,392844.647999999986496,null],[390905.00099999998929,392817.820999999996275,null],[390939.127999999967869,392871.786000000021886,null],[390943.018999999971129,392871.212000000057742,null],[390917.0,392871.0,null],[390923.916000000026543,392868.864999999990687,null],[390919.804000000003725,392837.861000000033528,null],[390925.39000000001397,392832.418999999994412,null],[390946.962000000057742,392864.96999999997206,null],[390947.022999999986496,392857.622000000032131,null],[390936.387999999977183,392844.400000000023283,null],[390905.25099999998929,392816.297999999951571,null],[390931.5120000000461,392879.201000000000931,null],[390945.597000000008848,392874.081000000005588,null],[390923.961000000010244,392868.986000000033528,null],[390919.412000000011176,392838.407000000006519,null],[390926.642999999981839,392831.208999999973457,null],[390947.12599999998929,392865.01500000001397,null],[390947.088999999978114,392857.033999999985099,null],[390936.60999999998603,392843.935999999986962,null],[390905.690000000002328,392815.026000000012573,null],[390927.0,392880.0,null],[390946.518999999971129,392875.103999999992084,null],[390923.967000000004191,392869.088999999978114,null],[390926.75,392831.106000000028871,null],[390947.326000000000931,392865.133999999961816,null],[390947.179999999993015,392856.577000000048429,null],[390936.74900000001071,392843.721000000019558,null],[390906.065000000002328,392814.190999999991618,null],[390937.556000000040513,392882.923999999999069,null],[390947.272999999986496,392875.942000000039116,null],[390923.916000000026543,392869.2379999999539,null],[390926.804999999993015,392831.065000000002328,null],[390947.489999999990687,392865.260999999998603,null],[390947.287000000011176,392856.272000000055414,null],[390936.87400000001071,392843.588999999978114,null],[390906.398999999975786,392813.690999999991618,null],[390936.301000000035856,392884.111000000033528,null],[390923.807000000029802,392869.3870000000461,null],[390926.875,392831.042999999946915,null],[390947.590000000025611,392865.397000000055414,null],[390947.457000000053085,392855.997999999963213,null],[390938.352000000013504,392842.12599999998929,null],[390907.212999999988824,392812.684999999997672,null],[390931.0,392884.0,null],[390931.0,392884.0,null],[390923.606000000028871,392869.587000000057742,null],[390926.945000000006985,392831.047000000020489,null],[390947.62599999998929,392865.525000000023283,null],[390947.783999999985099,392855.657999999995809,null],[390938.796000000031199,392841.702999999979511,null],[390910.804999999993015,392815.497000000032131,null],[390907.752000000036787,392812.018999999971129,null],[390922.854999999981374,392870.302999999956228,null],[390927.018999999971129,392831.072000000043772,null],[390947.635000000009313,392865.697999999974854,null],[390949.052000000025146,392854.417000000015832,null],[390938.913999999989756,392841.632999999972526,null],[390911.309000000008382,392815.87599999998929,null],[390909.871000000042841,392809.603999999992084,null],[390921.0,392875.0,null],[390927.156000000017229,392831.157000000006519,null],[390947.598999999987427,392865.888999999966472,null],[390949.357999999949243,392854.137999999977183,null],[390936.706000000005588,392838.972000000008848,null],[390939.032000000006519,392841.619999999995343,null],[390911.513999999966472,392816.081000000005588,null],[390913.164999999979045,392812.297000000020489,null],[390910.582999999984168,392808.792999999946915,null],[390927.282000000006519,392831.267999999981839,null],[390947.507999999972526,392866.042999999946915,null],[390949.51600000000326,392854.032999999995809,null],[390935.0,392836.0,null],[390939.171000000031199,392841.6129999999539,null],[390911.682999999960884,392816.380999999993946,null],[390913.419999999983702,392812.472000000008848,null],[390913.172999999951571,392805.861000000033528,null],[390927.695000000006985,392831.755000000004657,null],[390947.070999999996275,392866.462000000057742,null],[390949.635999999998603,392853.99900000001071,null],[390939.296000000031199,392841.627000000036787,null],[390911.851000000024214,392816.885000000009313,null],[390913.647999999986496,392812.586000000010244,null],[390914.333999999973457,392804.546000000031199,null],[390912.467000000004191,392805.282000000006519,null],[390931.0,392831.0,null],[390946.507000000041444,392867.043999999994412,null],[390949.096000000019558,392853.309000000008382,null],[390949.744000000006054,392853.994999999995343,null],[390939.413999999989755,392841.674999999988358,null],[390912.00099999998929,392817.333999999973457,null],[390913.996000000042841,392812.685999999986962,null],[390914.838999999978114,392803.916000000026543,null],[390909.292000000015832,392803.146000000007916,null],[390948.847999999998137,392852.992000000027474,null],[390949.818999999959488,392854.010000000009313,null],[390939.538999999989755,392841.731000000028871,null],[390912.187999999965541,392817.651000000012573,null],[390915.583999999973457,392813.037000000011176,null],[390918.268999999971129,392799.908999999985099,null],[390908.726000000024214,392802.518999999971129,null],[390948.392500000016298,392852.485500000009779,null],[390949.897999999986496,392854.051000000035856,null],[390940.114999999990687,392842.277999999991152,null],[390912.453999999968801,392818.023999999975786,null],[390915.882000000041444,392813.132999999972526,null],[390918.528999999980442,392799.6129999999539,null],[390908.547999999951571,392802.302000000025146,null],[390947.472000000008848,392851.557000000029802,null],[390950.032000000006519,392854.156000000017229,null],[390943.0,392844.0,null],[390912.782999999995809,392818.364999999990687,null],[390916.092999999993481,392813.228999999992084,null],[390919.049999999988358,392800.0,null],[390923.291000000026543,392794.190999999991618,null],[390908.46999999997206,392802.177999999956228,null],[390946.0,392848.0,null],[390950.481000000028871,392854.630000000004657,null],[390913.190999999991618,392818.747000000032131,null],[390916.330000000016298,392813.352000000013504,null],[390921.635999999998603,392802.117999999958556,null],[390925.510999999998603,392791.532999999995809,null],[390908.407999999995809,392802.068999999959487,null],[390952.0,392853.0,null],[390913.426000000035856,392818.962000000057742,null],[390916.548999999999069,392813.50099999998929,null],[390922.556000000040513,392802.836000000010244,null],[390932.59399999998277,392797.298999999999069,null],[390929.741900000022724,392786.372900000016671,null],[390908.353999999992084,392801.937000000034459,null],[390914.5120000000461,392819.90600000001723,null],[390918.357000000018161,392814.966000000014901,null],[390924.531000000017229,392804.432999999960884,null],[390935.0,392800.0,null],[390934.962999999988824,392790.739999999990687,null],[390930.510999999998603,392785.434999999997672,null],[390908.322999999974854,392801.828999999968801,null],[390914.974999999976717,392820.221000000019558,null],[390923.0,392816.0,null],[390926.150000000023283,392805.742000000027474,null],[390923.880000000004657,392805.164999999979045,null],[390937.604999999981374,392792.914999999979045,null],[390931.167999999946915,392784.630000000004657,null],[390908.307999999960884,392801.736000000033528,null],[390915.148999999975786,392820.307999999960884,null],[390929.0,392807.0,null],[390923.818999999959488,392805.287000000011176,null],[390937.856000000028871,392793.111000000033528,null],[390931.702999999979511,392784.132000000041444,null],[390908.307999999960884,392801.651000000012573,null],[390915.289999999979045,392820.347999999998137,null],[390923.757999999972526,392805.422000000020489,null],[390937.948999999964144,392793.203999999968801,null],[390932.460000000020955,392783.602999999944586,null],[390908.315000000002328,392801.581000000005588,null],[390915.397000000055414,392820.354999999981374,null],[390923.744000000006054,392805.551000000035856,null],[390938.005000000004657,392793.277999999991152,null],[390932.952999999979511,392783.299999999988358,null],[390908.338999999978114,392801.502999999967869,null],[390915.451000000000931,392820.347999999998137,null],[390923.772000000055414,392805.685999999986962,null],[390938.023999999975786,392793.371000000042841,null],[390933.747999999963213,392782.902999999991152,null],[390908.385000000009313,392801.426000000035856,null],[390915.510999999998603,392820.294999999983702,null],[390923.85999999998603,392805.862000000022817,null],[390938.023999999975786,392793.482999999949243,null],[390934.598999999987427,392782.657000000006519,null],[390908.689000000013038,392801.042999999946915,null],[390915.592000000004191,392820.187999999965541,null],[390924.022000000055414,392806.037999999942258,null],[390938.005000000004657,392793.622999999963213,null],[390935.583999999973457,392782.523999999975786,null],[390910.979999999981374,392798.157000000006519,null],[390907.282000000006519,392801.15500000002794,null],[390915.907000000006519,392819.679000000003725,null],[390925.152000000001863,392806.997999999963213,null],[390937.967999999993481,392793.744000000006054,null],[390936.302999999956228,392782.505000000004657,null],[390913.207999999984168,392795.419999999983702,null],[390898.776000000012573,392802.817000000039116,null],[390906.35999999998603,392802.282000000006519,null],[390918.0,392819.0,null],[390926.0,392812.0,null],[390937.912000000011176,392793.827000000048429,null],[390937.15500000002794,392782.599999999976717,null],[390913.306700000015553,392795.297800000000279,null],[390895.65500000002794,392803.357999999949243,null],[390901.453999999968801,392808.388999999966472,null],[390937.791000000026543,392793.948999999964144,null],[390938.366000000038184,392782.883999999961816,null],[390910.051000000035856,392792.872000000032131,null],[390915.116000000038184,392793.057999999960884,null],[390895.343999999982771,392803.442999999970198,null],[390901.096000000019558,392808.831000000005588,null],[390937.343999999982771,392794.348999999987427,null],[390939.237000000022817,392783.187000000034459,null],[390909.746000000042841,392792.658999999985099,null],[390916.01500000001397,392791.99900000001071,null],[390895.119000000006054,392803.442999999970198,null],[390900.932999999960884,392809.017999999981839,null],[390937.0,392798.0,null],[390940.012999999977183,392783.622000000032131,null],[390909.562999999965541,392792.552999999956228,null],[390918.607000000018161,392788.706000000005588,null],[390915.752999999967869,392791.724999999976717,null],[390894.892999999981839,392803.385999999998603,null],[390900.791000000026543,392809.106000000028871,null],[390940.732000000018161,392784.1129999999539,null],[390909.432999999960884,392792.492000000027474,null],[390922.397999999986496,392784.096000000019558,null],[390915.690000000002328,392791.653999999980442,null],[390894.073999999964144,392802.849999999976717,null],[390900.538999999989755,392809.227000000013504,null],[390941.548999999999069,392784.767999999981839,null],[390909.212000000057742,392792.414999999979045,null],[390923.197000000043772,392783.135999999998603,null],[390915.653999999980442,392791.597999999998137,null],[390893.90500000002794,392802.681000000040512,null],[390897.658999999985099,392810.60899999999674,null],[390942.909999999974389,392785.87400000001071,null],[390942.909999999974389,392785.87400000001071,null],[390908.472999999998137,392792.172000000020489,null],[390923.397999999986496,392782.887999999977183,null],[390915.62599999998929,392791.520000000018626,null],[390893.792000000015832,392802.482999999949243,null],[390896.587000000057742,392810.976000000024214,null],[390947.432999999960884,392789.685999999986962,null],[390947.432999999960884,392789.685999999986962,null],[390907.642000000050757,392791.927999999956228,null],[390923.491000000038184,392782.74900000001071,null],[390915.619000000006054,392791.448999999964144,null],[390893.763999999966472,392802.257999999972526,null],[390896.21999999997206,392811.088999999978114,null],[390953.846000000019558,392795.059000000008382,null],[390953.846000000019558,392795.059000000008382,null],[390907.177000000025146,392791.782999999995809,null],[390923.552999999956228,392782.625,null],[390915.619000000006054,392791.371000000042841,null],[390893.820000000006985,392802.003999999957159,null],[390895.542000000015832,392811.117000000027474,null],[390958.462999999988824,392798.896000000007916,null],[390958.462999999988824,392798.896000000007916,null],[390906.75099999998929,392791.616000000038184,null],[390923.583999999973457,392782.517000000050757,null],[390915.632999999972526,392791.292999999946915,null],[390894.440999999991618,392801.354999999981374,null],[390894.948999999964144,392811.145000000018626,null],[390959.827000000048429,392800.102999999944586,null],[390959.827000000048429,392800.102999999944586,null],[390906.364000000001397,392791.413999999989755,null],[390923.599999999976717,392782.346000000019558,null],[390915.653999999980442,392791.242999999958556,null],[390894.0,392797.0,null],[390894.299999999988358,392810.976000000024214,null],[390963.864999999990687,392803.673999999999069,null],[390963.864999999990687,392803.673999999999069,null],[390957.304999999993015,392802.791000000026543,null],[390905.7620000000461,392791.025000000023283,null],[390923.583999999973457,392782.192000000039116,null],[390915.682999999960884,392791.215000000025611,null],[390893.763999999966472,392810.6370000000461,null],[390968.351000000024214,392807.642000000050757,null],[390968.351000000024214,392807.642000000050757,null],[390964.468999999982771,392803.03000000002794,null],[390956.914999999979045,392803.162000000011176,null],[390905.366000000038184,392790.721000000019558,null],[390923.537999999942258,392782.052000000025146,null],[390915.717999999993481,392791.179999999993015,null],[390891.222499999974389,392808.690999999991618,null],[390970.01500000001397,392809.072999999974854,null],[390970.01500000001397,392809.072999999974854,null],[390956.692999999970198,392803.353999999992084,null],[390905.122000000032131,392790.468999999982771,null],[390923.476000000024214,392781.897999999986496,null],[390915.775000000023283,392791.151000000012573,null],[390891.137999999977183,392808.521000000007916,null],[390973.534999999974389,392812.101000000024214,null],[390973.534999999974389,392812.101000000024214,null],[390963.032999999995809,392816.614000000001397,null],[390956.520000000018626,392803.452000000048429,null],[390905.01500000001397,392790.340000000025611,null],[390923.352000000013504,392781.773999999975786,null],[390915.880999999993946,392791.116000000038184,null],[390891.10999999998603,392808.352000000013504,null],[390978.625,392816.387999999977183,null],[390978.625,392816.387999999977183,null],[390962.662999999942258,392817.057999999960884,null],[390965.489999999990687,392819.862000000022817,null],[390956.242000000027474,392803.570000000006985,null],[390904.962000000057742,392790.247999999963213,null],[390923.072999999974854,392781.510999999998603,null],[390916.01600000000326,392791.080000000016298,null],[390891.166000000026543,392808.12599999998929,null],[390981.878999999957159,392818.817999999970198,null],[390981.878999999957159,392818.817999999970198,null],[390962.507000000041444,392817.246000000042841,null],[390964.0,392822.0,null],[390955.804000000003725,392803.705000000016298,null],[390904.939000000013038,392790.179999999993015,null],[390916.237000000022817,392776.135999999998603,null],[390916.107999999949243,392791.052000000025146,null],[390891.336000000010245,392807.872000000032131,null],[390982.421000000031199,392819.260000000009313,null],[390982.421000000031199,392819.260000000009313,null],[390962.383999999961816,392817.320000000006985,null],[390955.50099999998929,392803.822999999974854,null],[390904.923999999999069,392790.081000000005588,null],[390912.695000000006985,392780.427999999956228,null],[390915.184999999997672,392775.310999999986962,null],[390916.185999999986961,392791.017000000050757,null],[390983.882999999972526,392820.451000000000931,null],[390983.882999999972526,392820.451000000000931,null],[390979.167000000015832,392822.695000000006985,null],[390962.252999999967869,392817.337000000057742,null],[390955.315999999991618,392803.945999999996275,null],[390904.932000000029802,392790.005000000004657,null],[390908.0,392779.0,null],[390914.619000000006054,392774.864000000001397,null],[390916.242000000027474,392790.981000000028871,null],[390985.002999999967869,392821.271000000007916,null],[390985.002999999967869,392821.271000000007916,null],[390977.208999999973457,392824.690999999991618,null],[390962.137999999977183,392817.312000000034459,null],[390955.179999999993015,392804.057000000029802,null],[390905.076000000000931,392789.478999999992084,null],[390914.547999999951571,392774.782999999995809,null],[390916.277999999991152,392790.932000000029802,null],[390986.567000000039116,392822.332000000053085,null],[390986.567000000039116,392822.332000000053085,null],[390975.742999999958556,392826.352000000013504,null],[390962.022999999986496,392817.271000000007916,null],[390954.783999999985099,392804.457000000053085,null],[390903.8870000000461,392790.989999999990687,null],[390904.0,392784.0,null],[390914.494000000006054,392774.721000000019558,null],[390916.292000000015832,392790.867999999958556,null],[390987.708999999973457,392823.027999999991152,null],[390987.708999999973457,392823.027999999991152,null],[390975.137999999977183,392827.038999999989755,null],[390961.73499999998603,392817.041000000026543,null],[390951.687999999965541,392807.794999999983702,null],[390902.522999999986496,392792.617000000027474,null],[390914.467000000004191,392774.648999999975786,null],[390916.277999999991152,392790.782999999995809,null],[390991.0,392824.804999999993015,null],[390991.0,392824.804999999993015,null],[390974.926000000035856,392827.23399999999674,null],[390977.78100000001723,392829.753999999957159,null],[390961.463999999978114,392816.787000000011176,null],[390951.537999999942258,392807.965000000025611,null],[390897.0,392791.0,null],[390914.448999999964144,392774.568999999959488,null],[390916.242000000027474,392790.732999999949243,null],[390993.402999999991152,392826.054000000003725,null],[390993.402999999991152,392826.054000000003725,null],[390974.831000000005588,392827.281000000017229,null],[390976.0,392832.0,null],[390958.0,392817.0,null],[390951.457999999984168,392808.125,null],[390914.457999999984168,392774.497000000032131,null],[390916.157000000006519,392790.647999999986496,null],[390993.935999999986962,392826.331000000005588,null],[390993.935999999986962,392826.331000000005588,null],[390991.103999999992084,392829.14000000001397,null],[390974.676000000035856,392827.310999999986962,null],[390951.427999999956228,392808.325000000011642,null],[390914.476000000024214,392774.424999999988358,null],[390994.064000000013039,392826.392999999981839,null],[390994.064000000013039,392826.392999999981839,null],[390990.836000000010244,392829.546000000031199,null],[390974.581000000005588,392827.310999999986962,null],[390951.427999999956228,392808.505000000004657,null],[390914.701000000000931,392774.114999999990687,null],[390997.536000000021886,392828.070000000006985,null],[390997.536000000021886,392828.070000000006985,null],[390993.887999999977183,392826.659999999974389,null],[390990.662000000011176,392829.85999999998603,null],[390974.467000000004191,392827.298999999999069,null],[390951.457999999984168,392808.710000000020955,null],[390910.991000000038184,392771.177999999956228,null],[390915.202000000048429,392773.457999999984168,null],[390999.98499999998603,392829.212000000057742,null],[390999.98499999998603,392829.212000000057742,null],[390993.812000000034459,392826.747999999963213,null],[390990.533999999985099,392830.184999999997672,null],[390974.377999999967869,392827.252000000036787,null],[390951.552999999956228,392808.900000000023283,null],[390910.777000000001863,392771.008999999961816,null],[390917.646000000007916,392770.357000000018161,null],[391004.979999999981374,392831.301000000035856,null],[391000.57760000001872,392829.459900000016205,null],[390993.744999999995343,392826.807000000029802,null],[390989.572000000043772,392833.322000000043772,null],[390973.853999999992084,392826.852999999944586,null],[390951.712999999988824,392809.098999999987427,null],[390910.657000000006519,392770.942999999970198,null],[390910.517999999981839,392764.592999999993481,null],[390920.544999999983702,392766.731000000028871,null],[391009.465000000025611,392833.088999999978114,null],[391009.465000000025611,392833.088999999978114,null],[391000.57760000001872,392829.459900000016205,null],[390996.172000000020489,392840.260000000009313,null],[390996.172000000020489,392840.260000000009313,null],[390993.64000000001397,392826.841000000014901,null],[390989.096000000019558,392834.772999999986496,null],[390969.0,392827.0,null],[390951.837999999988824,392809.198999999964144,null],[390910.547000000020489,392770.909999999974389,null],[390909.0,392760.0,null],[390923.418999999994412,392763.337999999988824,null],[391008.022999999986496,392836.744999999995343,null],[391012.375,392834.182999999960884,null],[391012.375,392834.182999999960884,null],[390996.0,392843.0,null],[390993.577000000048429,392826.832000000053085,null],[390988.793999999994412,392835.422999999951571,null],[390952.417999999946915,392809.568999999959488,null],[390910.453999999968801,392770.898999999975786,null],[390922.171000000031199,392762.286000000021886,null],[390924.232000000018161,392762.3870000000461,null],[391006.125,392841.75099999998929,null],[390993.508999999961816,392826.793999999994412,null],[390988.562000000034459,392835.841000000014901,null],[390954.0,392812.0,null],[390910.307000000029802,392770.898999999975786,null],[390921.887999999977183,392762.002999999967869,null],[390924.413999999989755,392762.163999999989755,null],[391005.565000000002328,392843.217999999993481,null],[390993.467000000004191,392826.744000000006054,null],[390988.132000000041444,392836.432000000029802,null],[390909.958999999973457,392770.940999999991618,null],[390921.726000000024214,392761.78100000001723,null],[390924.51500000001397,392762.062999999965541,null],[391002.0,392847.0,null],[390993.450000000011642,392826.677000000025146,null],[390987.226000000024214,392837.534999999974389,null],[390909.717999999993481,392770.967999999993481,null],[390921.523999999975786,392761.457999999984168,null],[390924.635999999998603,392761.962999999988824,null],[390993.458999999973457,392826.60899999999674,null],[390986.947000000043772,392837.814000000013038,null],[390909.412000000011176,392771.005999999993946,null],[390921.119999999995343,392760.650000000023283,null],[390924.797999999951571,392761.882000000041444,null],[390993.492000000027474,392826.521000000007916,null],[390986.866000000038184,392837.895000000018626,null],[390909.224999999976717,392771.017000000050757,null],[390920.797000000020489,392760.043999999994412,null],[390924.979999999981374,392761.862000000022817,null],[390993.551000000035856,392826.412000000011176,null],[390986.772999999986496,392837.929999999993015,null],[390987.307000000029802,392838.184999999997672,null],[390909.056000000040513,392771.022999999986496,null],[390920.533999999985099,392759.64000000001397,null],[390925.182000000029802,392761.882000000041444,null],[390993.787000000011176,392826.133999999961816,null],[390986.679999999993015,392837.929999999993015,null],[390987.922999999951571,392838.510000000009313,null],[390908.771000000007916,392771.0120000000461,null],[390920.231000000028871,392759.236000000033528,null],[390925.443999999959487,392762.017999999981839,null],[390993.989000000001397,392825.96999999997206,null],[390986.587000000057742,392837.907000000006519,null],[390990.477999999944586,392839.867999999958556,null],[390908.492000000027474,392770.98399999999674,null],[390919.947999999974854,392758.932999999960884,null],[390925.739999999990687,392761.64000000001397,null],[390926.091000000014901,392762.507999999972526,null],[390994.166000000026543,392825.872999999963213,null],[390986.017999999981839,392837.5120000000461,null],[390990.0,392841.0,null],[390908.361000000033528,392770.962999999988824,null],[390919.442999999970198,392758.467999999993481,null],[390925.918999999994412,392761.413999999989755,null],[390929.951000000000931,392765.901000000012573,null],[390994.527999999991152,392825.697000000043772,null],[390981.0,392837.0,null],[390908.217999999993481,392770.934999999997672,null],[390917.784999999974389,392756.994000000006054,null],[390926.062000000034459,392761.187999999965541,null],[390932.739000000001397,392768.301000000035856,null],[390908.087000000057742,392770.885999999998603,null],[390913.0,392755.0,null],[390926.168999999994412,392760.950000000011642,null],[390938.130999999993946,392762.197000000043772,null],[390940.702000000048429,392775.184000000008382,null],[390907.934000000008382,392770.815000000002328,null],[390926.216000000014901,392760.760000000009313,null],[390937.547999999951571,392761.707000000053085,null],[390939.538999999989755,392760.603999999992084,null],[390947.038999999989755,392768.130999999993946,null],[390942.352000000013504,392776.625,null],[390907.698999999964144,392770.684000000008382,null],[390926.239999999990687,392760.450000000011642,null],[390937.378999999957159,392761.538999999989755,null],[390943.0,392758.0,null],[390949.0,392763.0,null],[390944.147999999986496,392778.217000000004191,null],[390907.12400000001071,392770.223999999987427,null],[390926.203999999968801,392759.927000000025146,null],[390937.284999999974389,392761.417999999946915,null],[390948.940999999991618,392782.352999999944586,null],[390944.182000000029802,392778.111000000033528,null],[390906.396000000007916,392769.567999999970198,null],[390925.585000000020955,392756.047999999951571,null],[390937.231000000028871,392761.342999999993481,null],[390954.592000000004191,392787.287999999942258,null],[390951.512999999977183,392779.362000000022817,null],[390944.201000000000931,392778.007999999972526,null],[390906.330000000016298,392769.502000000036787,null],[390925.09499999997206,392752.8629999999539,null],[390937.197000000043772,392761.255999999993946,null],[390960.502999999967869,392792.289999999979045,null],[390951.778999999980442,392779.033999999985099,null],[390944.201000000000931,392777.911000000021886,null],[390906.287000000011176,392769.442000000039116,null],[390924.960000000020955,392751.851000000024214,null],[390937.177000000025146,392761.174999999988358,null],[390962.99900000001071,392794.377000000036787,null],[390966.597000000008848,392785.202000000048429,null],[390951.872999999963213,392778.902999999991152,null],[390944.187999999965541,392777.802000000025146,null],[390906.258999999961816,392769.37599999998929,null],[390924.892000000050757,392750.923999999999069,null],[390937.177000000025146,392761.081000000005588,null],[390966.382999999972526,392797.222000000008848,null],[390967.382999999972526,392784.224999999976717,null],[390951.956000000005588,392778.753999999957159,null],[390944.156000000017229,392777.717999999993481,null],[390906.247999999963213,392769.299999999988358,null],[390924.87599999998929,392750.417999999946915,null],[390937.190999999991618,392761.007000000041444,null],[390970.343999999982771,392800.554000000003725,null],[390967.789999999979045,392783.707000000053085,null],[390952.0120000000461,392778.62400000001071,null],[390944.072000000043772,392777.60899999999674,null],[390906.247999999963213,392769.228999999992084,null],[390924.892000000050757,392750.013999999966472,null],[390937.231000000028871,392760.926000000035856,null],[390973.518999999971129,392803.236000000033528,null],[390965.176000000035856,392781.033999999985099,null],[390967.869000000006054,392783.614000000001397,null],[390952.067999999970198,392778.466000000014901,null],[390943.950000000011642,392777.49900000001071,null],[390906.258999999961816,392769.162999999942258,null],[390924.960000000020955,392749.676000000035856,null],[390937.284999999974389,392760.84499999997206,null],[390974.707999999984168,392804.21999999997206,null],[390977.440999999991618,392798.797999999951571,null],[390965.0,392778.0,null],[390967.937999999965541,392783.559000000008382,null],[390952.106000000028871,392778.307000000029802,null],[390943.847000000008848,392777.429000000003725,null],[390906.302999999956228,392769.081000000005588,null],[390925.077999999979511,392749.288999999989755,null],[390937.392999999981839,392760.703999999968801,null],[390976.271000000007916,392805.663999999989756,null],[390980.71999999997206,392795.088999999978114,null],[390968.007000000041444,392783.531000000017229,null],[390952.133999999961816,392778.083999999973457,null],[390943.737000000022817,392777.377000000036787,null],[390906.369000000006054,392768.9879999999539,null],[390925.229999999981374,392748.952000000048429,null],[390938.215000000025611,392759.659999999974389,null],[390980.318999999959487,392808.982999999949243,null],[390978.193999999959487,392792.522999999986496,null],[390980.830000000016298,392795.018999999971129,null],[390968.132000000041444,392783.517000000050757,null],[390952.161000000021886,392777.776000000012573,null],[390943.659999999974389,392777.357999999949243,null],[390906.707999999984168,392768.567000000039116,null],[390925.5,392748.445999999996275,null],[390940.0,392756.0,null],[390983.289999999979045,392812.0120000000461,null],[390978.0,392789.0,null],[390980.951000000000931,392794.989000000001397,null],[390968.298999999999069,392783.572999999974854,null],[390952.189000000013039,392777.450000000011642,null],[390943.562999999965541,392777.357999999949243,null],[390906.0,392764.0,null],[390926.112000000022817,392747.462999999988824,null],[390985.7620000000461,392814.221000000019558,null],[390981.082000000053085,392794.958999999973457,null],[390968.409999999974389,392783.642000000050757,null],[390952.227000000013504,392777.236000000033528,null],[390943.472999999998137,392777.377000000036787,null],[390926.443999999959487,392747.366000000038184,null],[390924.179000000003725,392748.181000000040513,null],[390988.242999999958556,392815.901000000012573,null],[390981.202000000048429,392794.958999999973457,null],[390968.576000000000931,392783.78100000001723,null],[390952.282999999995809,392777.022000000055414,null],[390943.39000000001397,392777.416000000026543,null],[390926.73399999999674,392747.282999999995809,null],[390921.099999999976717,392749.367000000027474,null],[390988.443999999959487,392815.943999999959488,null],[390990.62599999998929,392817.377000000036787,null],[390981.332999999984168,392794.978999999992084,null],[390969.687000000034459,392784.792999999946915,null],[390952.310999999986962,392776.919999999983702,null],[390943.306000000040513,392777.505999999993946,null],[390926.982000000018161,392747.255999999993946,null],[390918.462000000057742,392750.361000000033528,null],[390988.650000000023283,392815.950000000011642,null],[390993.25,392818.979999999981374,null],[390993.25,392818.979999999981374,null],[390981.412999999942258,392795.008999999961816,null],[390973.0,392785.0,null],[390952.366000000038184,392776.760999999998603,null],[390943.034999999974389,392777.827999999979511,null],[390927.176000000035856,392747.255999999993946,null],[390917.0,392751.0,null],[390988.853999999992084,392815.917999999946915,null],[390995.557000000029802,392820.130999999993946,null],[390995.557000000029802,392820.130999999993946,null],[390981.523999999975786,392795.078999999968801,null],[390952.440999999991618,392776.622000000032131,null],[390942.693999999959488,392778.174999999988358,null],[390927.369000000006054,392747.297000000020489,null],[390989.047999999951571,392815.851000000024214,null],[390997.982999999949243,392821.471000000019558,null],[390997.982999999949243,392821.471000000019558,null],[390982.35899999999674,392795.762999999977183,null],[390952.581000000005588,392776.445000000006985,null],[390942.332999999984168,392778.51600000000326,null],[390927.534999999974389,392747.338999999978114,null],[390989.227000000013504,392815.74900000001071,null],[390999.996000000042841,392822.532000000006519,null],[390999.996000000042841,392822.532000000006519,null],[390986.0,392795.0,null],[390954.099999999976717,392774.60999999998603,null],[390927.645000000018626,392747.393999999971129,null],[390989.385000000009313,392815.617000000027474,null],[391002.28000000002794,392823.398999999975786,null],[391002.28000000002794,392823.398999999975786,null],[390954.732000000018161,392773.897000000055414,null],[390927.770000000018626,392747.462999999988824,null],[390989.51600000000326,392815.457999999984168,null],[391004.255000000004657,392819.013999999966472,null],[391005.614999999990687,392824.809999999997672,null],[391005.614999999990687,392824.809999999997672,null],[390955.052999999956228,392773.534999999974389,null],[390927.934999999997672,392747.601000000024214,null],[390989.573499999998603,392815.375500000023749,null],[391004.582000000053085,392818.39100000000326,null],[391009.669999999983702,392826.422999999951571,null],[391009.669999999983702,392826.422999999951571,null],[390955.133999999961816,392773.465000000025611,null],[390928.184000000008382,392747.848999999987427,null],[390990.602000000013504,392813.3629999999539,null],[391005.270000000018626,392816.532000000006519,null],[391016.00099999998929,392829.070000000006985,null],[391016.00099999998929,392829.070000000006985,null],[390955.203999999968801,392773.417999999946915,null],[390931.0,392748.0,null],[390935.0,392751.0,null],[390991.411000000021886,392812.135999999998603,null],[391006.257000000041444,392814.423999999999069,null],[391018.607000000018161,392830.062999999965541,null],[391018.607000000018161,392830.062999999965541,null],[390955.284999999974389,392773.377999999967869,null],[390991.997000000032131,392810.992000000027474,null],[391006.471000000019558,392814.211000000010245,null],[391020.304000000003725,392830.434999999997672,null],[391020.304000000003725,392830.434999999997672,null],[390955.354999999981374,392773.35999999998603,null],[390992.556000000040513,392809.76500000001397,null],[391006.76500000001397,392813.971000000019558,null],[391005.777000000001863,392813.729999999981374,null],[391021.503999999957159,392830.434999999997672,null],[391021.503999999957159,392830.434999999997672,null],[390955.424999999988358,392773.354999999981374,null],[390993.7620000000461,392807.804000000003725,null],[391007.112000000022817,392813.917000000015832,null],[391004.148999999975786,392812.60999999998603,null],[391022.496000000042841,392830.239000000001397,null],[391022.496000000042841,392830.239000000001397,null],[390955.494999999995343,392773.354999999981374,null],[390994.075000000011642,392807.333999999973457,null],[391007.646000000007916,392813.917000000015832,null],[391005.0,392808.0,null],[390955.564000000013038,392773.35999999998603,null],[390994.421000000031199,392806.815999999991618,null],[390992.315999999991618,392804.712000000057742,null],[391008.286000000021886,392814.130999999993946,null],[390956.755999999993946,392773.690999999991618,null],[390994.96999999997206,392805.952999999979511,null],[390990.810999999986962,392802.497000000032131,null],[391010.60899999999674,392815.357999999949243,null],[390952.377000000036787,392769.849999999976717,null],[390960.0,392774.0,null],[390995.1129999999539,392805.809999999997672,null],[390991.0,392798.0,null],[391014.0,392812.0,null],[390952.0,392766.0,null],[390995.257000000041444,392805.717999999993481,null],[390995.401000000012573,392805.717999999993481,null],[390995.583999999973457,392805.757999999972526,null],[390995.885000000009313,392805.913999999989756,null],[390996.354999999981374,392806.267000000050757,null],[391001.0,392805.0,null]]}", + "orient": "split", "dtype": { "x": "float64", "y": "float64", "coords": "object" - }, - "orient": "split" + } }, - "version": "2.1.0", + "version": "2.7.1", "converged": true, "name": "Summary Grid", "f_hz": 50.0, @@ -1381,18 +1406,19 @@ "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"vm_pu\",\"va_degree\",\"p_mw\",\"q_mvar\"],\"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,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906],\"data\":[[1.049999952316284,0.0,-0.000009698012486,-0.000001221062342],[1.04999984798954,-0.00002488250018,0.0,0.0],[1.049999821329377,-0.000024929970261,0.0,0.0],[1.049999818534431,-0.000024934946837,0.0,0.0],[1.049999815916005,-0.000024939609104,0.0,0.0],[1.049999813633113,-0.000024943673929,0.0,0.0],[1.049999810036664,-0.000024950077623,0.0,0.0],[1.049999565134725,-0.0000253861401,0.0,0.0],[1.049999554165941,-0.000025405670674,0.0,0.0],[1.049999545036415,-0.000025421926342,0.0,0.0],[1.049999537024528,-0.000025436191987,0.0,0.0],[1.049999531046145,-0.000025446836855,0.0,0.0],[1.049999525433915,-0.000025456829765,0.0,0.0],[1.049999521982906,-0.000025462974493,0.0,0.0],[1.04999951339144,-0.00002547827211,0.0,0.0],[1.049999443793378,-0.000025602195615,0.0,0.0],[1.049999443793379,-0.000025602195616,0.0,0.0],[1.049999359393826,-0.000025752474069,0.0,0.0],[1.049999443793379,-0.000025602195616,0.0,0.0],[1.049999353586622,-0.000025762814145,0.0,0.0],[1.049999443793379,-0.000025602195617,0.0,0.0],[1.049999347065809,-0.000025774424848,0.0,0.0],[1.049999443793379,-0.000025602195617,0.0,0.0],[1.049999336448607,-0.000025793329419,0.0,0.0],[1.049999443793379,-0.000025602195619,0.0,0.0],[1.049999317133346,-0.000025827721404,0.0,0.0],[1.049999443793379,-0.000025602195619,0.0,0.0],[1.049999296445496,-0.00002555004297,0.0,0.0],[1.049999088993072,-0.000026380894825,0.0,0.0],[1.049999443793379,-0.00002560219562,0.0,0.0],[1.049999296065598,-0.000025544943887,0.0,0.0],[1.049999291263625,-0.000025480490355,0.0,0.0],[1.049999028258502,-0.000026528158389,0.0,0.0],[1.04999944379338,-0.000025602195622,0.0,0.0],[1.049999295195606,-0.000025533266627,0.0,0.0],[1.049999291088141,-0.00002547813495,0.0,0.0],[1.049998988608883,-0.000026693003755,0.0,0.0],[1.049998866161183,-0.000026786657641,0.0,0.0],[1.049999443793381,-0.000025602195624,0.0,0.0],[1.049999290835826,-0.000025474748303,0.0,0.0],[1.04999898847723,-0.000026693551109,0.0,0.0],[1.049998976696726,-0.000026742529183,0.0,0.0],[1.049998753676582,-0.00002696603845,0.0,0.0],[1.049998866161181,-0.000026786657679,0.0,0.0],[1.049999443793381,-0.000025602195625,0.0,0.0],[1.049999290512248,-0.000025470405163,0.0,0.0],[1.04999898841789,-0.000026693797818,0.0,0.0],[1.04999894803382,-0.000026861696741,0.0,0.0],[1.049998668676813,-0.0000271015888,0.0,0.0],[1.04999886616118,-0.000026786657697,0.0,0.0],[1.049999443793381,-0.000025602195626,0.0,0.0],[1.049999289724191,-0.000025459827663,0.0,0.0],[1.049998988355001,-0.000026694059278,0.0,0.0],[1.049998656421558,-0.000027121132495,0.0,0.0],[1.049998668676814,-0.000027101588729,0.0,0.0],[1.049998866161179,-0.00002678665771,0.0,0.0],[1.04999944379338,-0.000025602195628,0.0,0.0],[1.04999928904947,-0.000025450771392,0.0,0.0],[1.049998988295104,-0.000026694308303,0.0,0.0],[1.049998600908493,-0.00002720966028,0.0,0.0],[1.049998668676814,-0.000027101588721,0.0,0.0],[1.049998866161178,-0.000026786657718,0.0,0.0],[1.04999944379338,-0.00002560219563,0.0,0.0],[1.049999285815102,-0.00002540735887,0.0,0.0],[1.049998988259232,-0.000026694457444,0.0,0.0],[1.049998590192856,-0.000027232667262,0.0,0.0],[1.049998579744498,-0.000026925591674,0.0,0.0],[1.049998668676814,-0.000027101588717,0.0,0.0],[1.049998866161177,-0.000026786657722,0.0,0.0],[1.04999944379338,-0.000025602195631,0.0,0.0],[1.04999927438272,-0.000025253910486,0.0,0.0],[1.049998988188852,-0.000026694750051,0.0,0.0],[1.04999846359151,-0.00002750448635,0.0,0.0],[1.049998578487406,-0.000026908718669,0.0,0.0],[1.049998570656775,-0.000026803613909,0.0,0.0],[1.049998668676815,-0.000027101588706,0.0,0.0],[1.049998866161176,-0.000026786657719,0.0,0.0],[1.04999944379338,-0.000025602195635,0.0,0.0],[1.049998987832167,-0.000026696232988,0.0,0.0],[1.049998419461525,-0.000027599235515,0.0,0.0],[1.049998668676815,-0.0000271015887,0.0,0.0],[1.049998866161173,-0.000026786657708,0.0,0.0],[1.049999443793379,-0.000025602195641,0.0,0.0],[1.049998986488097,-0.000026701821031,0.0,0.0],[1.049998409830916,-0.000027619912888,0.0,0.0],[1.049998668676815,-0.000027101588698,0.0,0.0],[1.049998866161167,-0.000026786657688,0.0,0.0],[1.049999443793379,-0.000025602195644,0.0,0.0],[1.049998390301558,-0.000027661843346,0.0,0.0],[1.049998668676815,-0.000027101588698,0.0,0.0],[1.049998866161165,-0.000026786657682,0.0,0.0],[1.049999443793379,-0.000025602195646,0.0,0.0],[1.049998371884464,-0.000027701385721,0.0,0.0],[1.049998866161165,-0.00002678665768,0.0,0.0],[1.049999443793379,-0.000025602195646,0.0,0.0],[1.049998361179759,-0.000027724369229,0.0,0.0],[1.049998866161165,-0.000026786657681,0.0,0.0],[1.049999443793379,-0.000025602195646,0.0,0.0],[1.0499983541101,-0.000027739548122,0.0,0.0],[1.049998866161165,-0.000026786657679,0.0,0.0],[1.049999443793379,-0.000025602195646,0.0,0.0],[1.049998344348874,-0.000027760505939,0.0,0.0],[1.049998866161166,-0.000026786657437,0.0,0.0],[1.049999443793379,-0.000025602195646,0.0,0.0],[1.049998344131022,-0.000027768395707,0.0,0.0],[1.04999833913013,-0.000027767971901,0.0,0.0],[1.049998866161166,-0.000026786657432,0.0,0.0],[1.049998343867451,-0.000027777941245,0.0,0.0],[1.049998336170844,-0.000027772205474,0.0,0.0],[1.049998866161165,-0.000026786657427,0.0,0.0],[1.049998343561954,-0.000027789005218,0.0,0.0],[1.049998219405289,-0.00002793925099,0.0,0.0],[1.049998866161154,-0.000026786657426,0.0,0.0],[1.049998343096162,-0.000027805874502,0.0,0.0],[1.049998207707922,-0.000027955985313,0.0,0.0],[1.049998866161144,-0.000026786657425,0.0,0.0],[1.049998342497323,-0.000027827562254,0.0,0.0],[1.049998207452649,-0.000027963333921,0.0,0.0],[1.049998174754108,-0.000028192968039,0.0,0.0],[1.049998866161143,-0.000026786657426,0.0,0.0],[1.049998342067414,-0.000027843131985,0.0,0.0],[1.049998207452647,-0.000027963333923,0.0,0.0],[1.049998207328358,-0.000027966911914,0.0,0.0],[1.049998115326182,-0.000028620335621,0.0,0.0],[1.049998866161143,-0.00002678665743,0.0,0.0],[1.049998341459956,-0.000027865131901,0.0,0.0],[1.049998207452646,-0.000027963333926,0.0,0.0],[1.04999820674448,-0.000027983720125,0.0,0.0],[1.049998088601464,-0.000028812522677,0.0,0.0],[1.049998866161142,-0.000026786657428,0.0,0.0],[1.04999834080273,-0.000027888934224,0.0,0.0],[1.049998207452645,-0.000027963333927,0.0,0.0],[1.049998201538241,-0.000027913839514,0.0,0.0],[1.049998206009467,-0.000028014118188,0.0,0.0],[1.049998080650125,-0.000028869703611,0.0,0.0],[1.049998866161141,-0.000026786657424,0.0,0.0],[1.049998340182912,-0.00002791138174,0.0,0.0],[1.049998207452644,-0.000027963333929,0.0,0.0],[1.049998201089881,-0.000027907821428,0.0,0.0],[1.049998205462657,-0.000028036732734,0.0,0.0],[1.049998071674637,-0.000028934249576,0.0,0.0],[1.049998866161141,-0.000026786657412,0.0,0.0],[1.049998339163834,-0.000027948289042,0.0,0.0],[1.049998207452643,-0.000027963333931,0.0,0.0],[1.049998200649956,-0.000027901916542,0.0,0.0],[1.049998205096472,-0.000028051877133,0.0,0.0],[1.049998063233354,-0.000028994953882,0.0,0.0],[1.049998866161141,-0.00002678665741,0.0,0.0],[1.049998334318337,-0.000028123775168,0.0,0.0],[1.049998207452642,-0.000027963333933,0.0,0.0],[1.049998200294735,-0.000027897148595,0.0,0.0],[1.049998204921498,-0.000028059113577,0.0,0.0],[1.049998201556567,-0.00002806659459,0.0,0.0],[1.049998053383988,-0.000029065784214,0.0,0.0],[1.049998866161141,-0.00002678665741,0.0,0.0],[1.049998333262772,-0.000028162003898,0.0,0.0],[1.049998207452641,-0.000027963333935,0.0,0.0],[1.049998199761577,-0.000027889992287,0.0,0.0],[1.049998204457456,-0.000028078305054,0.0,0.0],[1.049998201341106,-0.000028067490389,0.0,0.0],[1.049998050549884,-0.000029086165278,0.0,0.0],[1.049998866161141,-0.00002678665741,0.0,0.0],[1.049998329175391,-0.000028178997398,0.0,0.0],[1.049998329413153,-0.000028300690933,0.0,0.0],[1.049998207452641,-0.000027963333937,0.0,0.0],[1.049998199118794,-0.000027881364558,0.0,0.0],[1.049998204296269,-0.000028084971303,0.0,0.0],[1.04999820114427,-0.000028068308748,0.0,0.0],[1.049998034448883,-0.000029201953385,0.0,0.0],[1.049998866161141,-0.00002678665741,0.0,0.0],[1.049998328403216,-0.000028182207757,0.0,0.0],[1.049998324302378,-0.000028484812632,0.0,0.0],[1.04999820745264,-0.000027963333939,0.0,0.0],[1.049998198633186,-0.000027874846489,0.0,0.0],[1.049998204296258,-0.000028084971767,0.0,0.0],[1.049998201635253,-0.000028096034578,0.0,0.0],[1.049998201062502,-0.000028068648705,0.0,0.0],[1.049998025354941,-0.000029267351202,0.0,0.0],[1.049998326810063,-0.000028188831375,0.0,0.0],[1.049998324037805,-0.000028491165037,0.0,0.0],[1.049998308511145,-0.000028550465497,0.0,0.0],[1.04999820745264,-0.00002796333394,0.0,0.0],[1.049998198071252,-0.000027867303947,0.0,0.0],[1.049998204296256,-0.000028084971837,0.0,0.0],[1.049998201347861,-0.000028097229422,0.0,0.0],[1.049998200886252,-0.00002806938148,0.0,0.0],[1.049998018604258,-0.0000293158978,0.0,0.0],[1.049998322996641,-0.000028516163436,0.0,0.0],[1.049998243154578,-0.000028822188776,0.0,0.0],[1.04999820745264,-0.00002796333394,0.0,0.0],[1.049998197542889,-0.000027860212011,0.0,0.0],[1.049998204296256,-0.000028084971847,0.0,0.0],[1.049998204296255,-0.000028084971873,0.0,0.0],[1.049998201069874,-0.000028098385167,0.0,0.0],[1.049998200437345,-0.000028071247845,0.0,0.0],[1.049998012535079,-0.000029359543452,0.0,0.0],[1.049998321137692,-0.00002856079689,0.0,0.0],[1.049998236197275,-0.000028851114134,0.0,0.0],[1.049998239792992,-0.000028836164736,0.0,0.0],[1.04999820745264,-0.00002796333394,0.0,0.0],[1.049998196974402,-0.000027852581504,0.0,0.0],[1.049998204296256,-0.000028084971847,0.0,0.0],[1.049998204296254,-0.000028084971901,0.0,0.0],[1.049998200847512,-0.000028099309646,0.0,0.0],[1.049998200173973,-0.000028072342833,0.0,0.0],[1.049998004995436,-0.000029413763741,0.0,0.0],[1.049998315217097,-0.000028481329129,0.0,0.0],[1.049998321026711,-0.000028565386793,0.0,0.0],[1.049998218607493,-0.000028924244589,0.0,0.0],[1.049998239317828,-0.000028838140252,0.0,0.0],[1.049998207452639,-0.000027963333941,0.0,0.0],[1.049998196105356,-0.000027840916747,0.0,0.0],[1.049998204296254,-0.000028084971933,0.0,0.0],[1.049998200670383,-0.000028100046066,0.0,0.0],[1.049998199989507,-0.000028073109765,0.0,0.0],[1.049997991082281,-0.000029513818249,0.0,0.0],[1.0499982958382,-0.000028221220551,0.0,0.0],[1.049998320826407,-0.0000285736708,0.0,0.0],[1.049998238934623,-0.000028839733449,0.0,0.0],[1.049998207452639,-0.000027963333941,0.0,0.0],[1.049998193732085,-0.000027809061547,0.0,0.0],[1.049998204296253,-0.000028084971959,0.0,0.0],[1.049998200295905,-0.000028101602978,0.0,0.0],[1.049998199634668,-0.00002807458503,0.0,0.0],[1.049997978952217,-0.000029601049908,0.0,0.0],[1.04999828748428,-0.000028109092083,0.0,0.0],[1.049998320754888,-0.000028576628653,0.0,0.0],[1.049998238628384,-0.00002884100665,0.0,0.0],[1.049998193529732,-0.00002780634547,0.0,0.0],[1.049998204296253,-0.000028084971988,0.0,0.0],[1.049998200000994,-0.000028102829084,0.0,0.0],[1.049998199458052,-0.000028075319322,0.0,0.0],[1.04999797070078,-0.000029660388955,0.0,0.0],[1.049998312774953,-0.000028609805657,0.0,0.0],[1.049998320754888,-0.000028576628653,0.0,0.0],[1.049998238160909,-0.000028842950202,0.0,0.0],[1.049998193436267,-0.000027805090941,0.0,0.0],[1.049998204296252,-0.000028084972008,0.0,0.0],[1.049998199796429,-0.000028103679572,0.0,0.0],[1.049998199332644,-0.000028075840715,0.0,0.0],[1.049997965280293,-0.000029699369629,0.0,0.0],[1.049998311616092,-0.000028614623685,0.0,0.0],[1.049998237612934,-0.000028845228439,0.0,0.0],[1.049998193336295,-0.000027803749072,0.0,0.0],[1.049998204296252,-0.000028084972027,0.0,0.0],[1.049998199592352,-0.000028104528034,0.0,0.0],[1.049998197898024,-0.000028081805239,0.0,0.0],[1.04999795361448,-0.000029783262689,0.0,0.0],[1.049998309703317,-0.000028622576147,0.0,0.0],[1.049998309971777,-0.000028621460011,0.0,0.0],[1.049998236771277,-0.000028848727674,0.0,0.0],[1.049998193240767,-0.000027802466859,0.0,0.0],[1.049998204296252,-0.000028084972039,0.0,0.0],[1.049998199293795,-0.000028105769298,0.0,0.0],[1.049998197474978,-0.000028083564079,0.0,0.0],[1.049997952282607,-0.000029765386285,0.0,0.0],[1.049997945954168,-0.000029839002958,0.0,0.0],[1.049998233691384,-0.000028861532492,0.0,0.0],[1.049998193134344,-0.000027801038418,0.0,0.0],[1.049998204296251,-0.000028084972055,0.0,0.0],[1.049998198170909,-0.000028110437754,0.0,0.0],[1.04999819738033,-0.000028083957585,0.0,0.0],[1.049997952098495,-0.000029762915142,0.0,0.0],[1.049997917229112,-0.00003004802085,0.0,0.0],[1.049998218701544,-0.00002892385355,0.0,0.0],[1.049998192914672,-0.000027798089919,0.0,0.0],[1.049998204296251,-0.00002808497207,0.0,0.0],[1.049998197908827,-0.000028111527378,0.0,0.0],[1.049998196154809,-0.000028089052752,0.0,0.0],[1.049998197340511,-0.000028084123135,0.0,0.0],[1.049997952013852,-0.000029761779067,0.0,0.0],[1.049997915801935,-0.000030053954439,0.0,0.0],[1.049997907666439,-0.00003011697895,0.0,0.0],[1.049998192685885,-0.000027795019078,0.0,0.0],[1.049998204296251,-0.000028084972079,0.0,0.0],[1.04999819778876,-0.000028112026563,0.0,0.0],[1.049998194940275,-0.000028094102241,0.0,0.0],[1.049998197293826,-0.000028084317232,0.0,0.0],[1.049997951913321,-0.000029760429735,0.0,0.0],[1.049997915698195,-0.000030054385745,0.0,0.0],[1.049997873001747,-0.00003036695208,0.0,0.0],[1.049998191815888,-0.000027783341765,0.0,0.0],[1.049998204296251,-0.000028084972079,0.0,0.0],[1.049998197709825,-0.000028112354738,0.0,0.0],[1.049998197251635,-0.000028084492644,0.0,0.0],[1.049997951758213,-0.00002975834788,0.0,0.0],[1.049997915612689,-0.000030054741241,0.0,0.0],[1.049997861646036,-0.000030350276655,0.0,0.0],[1.049997868431345,-0.000030410880467,0.0,0.0],[1.049998187196955,-0.000027721345245,0.0,0.0],[1.049998204296251,-0.000028084972079,0.0,0.0],[1.049998197421467,-0.000028113553602,0.0,0.0],[1.049998197676994,-0.000028112491233,0.0,0.0],[1.049998197208904,-0.000028084670301,0.0,0.0],[1.049997951620001,-0.000029756492802,0.0,0.0],[1.049997915491235,-0.000030055246194,0.0,0.0],[1.04999785641925,-0.000030342601322,0.0,0.0],[1.049997849276963,-0.000030594982693,0.0,0.0],[1.049998197289008,-0.000028114104309,0.0,0.0],[1.049998197653758,-0.000028112587837,0.0,0.0],[1.049998197162959,-0.000028084861318,0.0,0.0],[1.049997951512543,-0.000029755050521,0.0,0.0],[1.049997914945717,-0.000030057514219,0.0,0.0],[1.049997822274435,-0.000030292460984,0.0,0.0],[1.049997845048843,-0.000030635621248,0.0,0.0],[1.049998197064824,-0.000028115036367,0.0,0.0],[1.049998197626719,-0.000028112700254,0.0,0.0],[1.049998196896506,-0.000028085969111,0.0,0.0],[1.049997951378786,-0.000029753255242,0.0,0.0],[1.0499979148407,-0.000030057950838,0.0,0.0],[1.049997819724094,-0.000030288715904,0.0,0.0],[1.049997843643925,-0.000030649124617,0.0,0.0],[1.049998196634518,-0.000028116825389,0.0,0.0],[1.049998197575002,-0.00002811291527,0.0,0.0],[1.049998195769511,-0.000028090654654,0.0,0.0],[1.049997951240443,-0.000029751398401,0.0,0.0],[1.049997914762943,-0.000030058274118,0.0,0.0],[1.049997819281948,-0.000030282781337,0.0,0.0],[1.049997775068299,-0.00003023812822,0.0,0.0],[1.049997842910656,-0.000030656172431,0.0,0.0],[1.049998195367623,-0.000028122092571,0.0,0.0],[1.049998197376657,-0.000028113739899,0.0,0.0],[1.049997951077258,-0.000029749208157,0.0,0.0],[1.049997914673375,-0.000030058646501,0.0,0.0],[1.049997817004767,-0.000030252216526,0.0,0.0],[1.049997753637998,-0.000030213851206,0.0,0.0],[1.049997842282955,-0.000030662205577,0.0,0.0],[1.049998196699782,-0.000028116554045,0.0,0.0],[1.049997950984265,-0.000029747960009,0.0,0.0],[1.049997914584525,-0.000030059015899,0.0,0.0],[1.049997816209759,-0.000030241545769,0.0,0.0],[1.049997750805615,-0.000030225626989,0.0,0.0],[1.049997713188838,-0.000030159723727,0.0,0.0],[1.049997841569058,-0.000030669067197,0.0,0.0],[1.049997950564157,-0.000029742321384,0.0,0.0],[1.049997913803967,-0.00003006226111,0.0,0.0],[1.049997814479478,-0.00003021832156,0.0,0.0],[1.049997749683852,-0.000030230290782,0.0,0.0],[1.049997687168899,-0.000030267903214,0.0,0.0],[1.049997707727551,-0.00003013341927,0.0,0.0],[1.049997841006629,-0.000030674472975,0.0,0.0],[1.04999795040066,-0.000029740126947,0.0,0.0],[1.049997912208402,-0.000030068894755,0.0,0.0],[1.049997813790571,-0.000030209074867,0.0,0.0],[1.049997814136273,-0.000030213714995,0.0,0.0],[1.049997674087254,-0.000030322290953,0.0,0.0],[1.049997703048828,-0.000030110884053,0.0,0.0],[1.049997840535092,-0.000030679005148,0.0,0.0],[1.049997950343861,-0.000029739364602,0.0,0.0],[1.049997812759758,-0.000030195239026,0.0,0.0],[1.049997814088484,-0.000030213073576,0.0,0.0],[1.049997672869879,-0.000030327352266,0.0,0.0],[1.049997699757783,-0.000030095032624,0.0,0.0],[1.049997840109617,-0.000030683094607,0.0,0.0],[1.049997950301071,-0.000029738790277,0.0,0.0],[1.049997814036583,-0.000030212376947,0.0,0.0],[1.049997672367118,-0.000030329442524,0.0,0.0],[1.049997695599479,-0.00003007500401,0.0,0.0],[1.049997839757479,-0.000030686479186,0.0,0.0],[1.049997950269764,-0.000029738370073,0.0,0.0],[1.049997813991121,-0.000030211766751,0.0,0.0],[1.049997672012367,-0.000030330917419,0.0,0.0],[1.049997692993921,-0.000030062454245,0.0,0.0],[1.049997839348977,-0.000030690405492,0.0,0.0],[1.049997950253866,-0.00002973815669,0.0,0.0],[1.049997813942818,-0.000030211118418,0.0,0.0],[1.049997671649513,-0.000030332426006,0.0,0.0],[1.049997688992805,-0.000030043182728,0.0,0.0],[1.049997838900006,-0.000030694720782,0.0,0.0],[1.049997950230493,-0.000029737842969,0.0,0.0],[1.04999781387388,-0.000030210193107,0.0,0.0],[1.049997671221371,-0.000030334206031,0.0,0.0],[1.049997685004162,-0.000030023971289,0.0,0.0],[1.049997836452371,-0.000030718246219,0.0,0.0],[1.049997950191312,-0.000029737317072,0.0,0.0],[1.049997813790072,-0.000030209068221,0.0,0.0],[1.0499976706813,-0.000030336451404,0.0,0.0],[1.04999768052878,-0.000030002415456,0.0,0.0],[1.049997818307833,-0.000030891169934,0.0,0.0],[1.049997835969974,-0.00003072025182,0.0,0.0],[1.049997950016548,-0.000029734971345,0.0,0.0],[1.049997813270606,-0.000030202095816,0.0,0.0],[1.049997670197614,-0.000030338462354,0.0,0.0],[1.049997677290236,-0.000029986816894,0.0,0.0],[1.049997800929493,-0.000031056791513,0.0,0.0],[1.049997833007974,-0.00003073256646,0.0,0.0],[1.049997835969976,-0.000030720251821,0.0,0.0],[1.04999794937412,-0.000029726348519,0.0,0.0],[1.049997811493134,-0.000030178238127,0.0,0.0],[1.049997669814886,-0.000030340053568,0.0,0.0],[1.04999767343019,-0.000029968224841,0.0,0.0],[1.049997800155858,-0.000031064164517,0.0,0.0],[1.049997831925437,-0.000030737067155,0.0,0.0],[1.049997835969989,-0.000030720251824,0.0,0.0],[1.049997669158032,-0.000030342784472,0.0,0.0],[1.049997667829322,-0.000029941248058,0.0,0.0],[1.049997795453432,-0.000031083715173,0.0,0.0],[1.049997786772335,-0.000031187750208,0.0,0.0],[1.049997831815249,-0.000030737525267,0.0,0.0],[1.04999783596999,-0.000030720251825,0.0,0.0],[1.049997666865026,-0.000030352317766,0.0,0.0],[1.049997663676962,-0.00002992124807,0.0,0.0],[1.049997795022568,-0.000031085506518,0.0,0.0],[1.04999778031554,-0.000031247373339,0.0,0.0],[1.049997831738352,-0.000030737844969,0.0,0.0],[1.04999783596999,-0.000030720251825,0.0,0.0],[1.049997652846436,-0.000030410600801,0.0,0.0],[1.049997659671344,-0.000029901954869,0.0,0.0],[1.049997794777631,-0.000031086524861,0.0,0.0],[1.049997760836393,-0.000031427246276,0.0,0.0],[1.049997780315539,-0.000031247373421,0.0,0.0],[1.049997831658694,-0.000030738176152,0.0,0.0],[1.04999783596999,-0.000030720251824,0.0,0.0],[1.049997655751052,-0.000029883072643,0.0,0.0],[1.049997794611313,-0.000031087216338,0.0,0.0],[1.04999773309324,-0.000031683430115,0.0,0.0],[1.049997780315538,-0.000031247373439,0.0,0.0],[1.049997831324176,-0.000030739566929,0.0,0.0],[1.04999783596999,-0.000030720251823,0.0,0.0],[1.049997651036309,-0.000029860363918,0.0,0.0],[1.049997794340259,-0.000031088343262,0.0,0.0],[1.049997727287657,-0.000031737039604,0.0,0.0],[1.049997780315538,-0.000031247373453,0.0,0.0],[1.049997831242494,-0.000030739906525,0.0,0.0],[1.049997835969992,-0.000030720251815,0.0,0.0],[1.049997643139982,-0.000029822330983,0.0,0.0],[1.049997651036309,-0.000029860363918,0.0,0.0],[1.049997793439258,-0.000031092089227,0.0,0.0],[1.049997725803818,-0.000031750741568,0.0,0.0],[1.049997780315538,-0.000031247373474,0.0,0.0],[1.049997831164578,-0.000030740230464,0.0,0.0],[1.049997835969993,-0.000030720251812,0.0,0.0],[1.049997616506255,-0.000029694048709,0.0,0.0],[1.049997643139982,-0.000029822330983,0.0,0.0],[1.049997792436161,-0.00003109625966,0.0,0.0],[1.049997725026455,-0.000031757919832,0.0,0.0],[1.049997780315538,-0.00003124737349,0.0,0.0],[1.049997831087086,-0.000030740552641,0.0,0.0],[1.049997835969993,-0.00003072025181,0.0,0.0],[1.049997578835591,-0.000029512606654,0.0,0.0],[1.049997616506255,-0.000029694048709,0.0,0.0],[1.049997791872024,-0.000031098605096,0.0,0.0],[1.049997724382031,-0.00003176387053,0.0,0.0],[1.049997780315538,-0.000031247373506,0.0,0.0],[1.049997830998193,-0.000030740922218,0.0,0.0],[1.049997835969994,-0.000030720251807,0.0,0.0],[1.049997551804727,-0.000029382411569,0.0,0.0],[1.049997578835591,-0.000029512606654,0.0,0.0],[1.049997791342075,-0.000031100808386,0.0,0.0],[1.049997723859761,-0.000031768693234,0.0,0.0],[1.049997780315538,-0.000031247373521,0.0,0.0],[1.049997830691207,-0.00003074219853,0.0,0.0],[1.049997835969995,-0.000030720251804,0.0,0.0],[1.049997543603569,-0.00002934291041,0.0,0.0],[1.049997551804727,-0.000029382411569,0.0,0.0],[1.049997790836462,-0.000031102910507,0.0,0.0],[1.049997723061436,-0.000031776065067,0.0,0.0],[1.049997780315538,-0.000031247373529,0.0,0.0],[1.049997829195202,-0.000030748418248,0.0,0.0],[1.049997835969996,-0.000030720251802,0.0,0.0],[1.049997521909377,-0.000029248556182,0.0,0.0],[1.049997543603569,-0.00002934291041,0.0,0.0],[1.049997539394672,-0.000029286417848,0.0,0.0],[1.04999779000632,-0.000031106361875,0.0,0.0],[1.049997722341758,-0.000031782710665,0.0,0.0],[1.049997780315538,-0.000031247373531,0.0,0.0],[1.049997835969996,-0.0000307202518,0.0,0.0],[1.049997497806108,-0.000029143724176,0.0,0.0],[1.049997521909377,-0.000029248556182,0.0,0.0],[1.049997521909377,-0.000029248556182,0.0,0.0],[1.049997538780014,-0.00002927816781,0.0,0.0],[1.04999778942811,-0.000031108765817,0.0,0.0],[1.049997721656802,-0.000031789035633,0.0,0.0],[1.049997780315538,-0.000031247373532,0.0,0.0],[1.04999783597,-0.000030720251782,0.0,0.0],[1.049997488973488,-0.000029105308581,0.0,0.0],[1.049997497806108,-0.000029143724176,0.0,0.0],[1.049997538444858,-0.00002927366928,0.0,0.0],[1.049997789021847,-0.000031110454881,0.0,0.0],[1.049997720885157,-0.000031796161094,0.0,0.0],[1.049997780315538,-0.000031247373532,0.0,0.0],[1.049997835970001,-0.000030720251781,0.0,0.0],[1.049997471586085,-0.000029035402855,0.0,0.0],[1.049997488973488,-0.000029105308581,0.0,0.0],[1.049997482105868,-0.000029013128813,0.0,0.0],[1.049997538217815,-0.000029270621879,0.0,0.0],[1.049997788827733,-0.000031111261925,0.0,0.0],[1.049997720070052,-0.000031803687878,0.0,0.0],[1.049997780315538,-0.000031247373529,0.0,0.0],[1.049997835970001,-0.000030720251781,0.0,0.0],[1.049997446665838,-0.000028935211477,0.0,0.0],[1.049997471586085,-0.000029035402855,0.0,0.0],[1.049997481907131,-0.000029010461274,0.0,0.0],[1.04999748078472,-0.000028995396015,0.0,0.0],[1.049997537872952,-0.00002926599307,0.0,0.0],[1.049997788704766,-0.000031111773166,0.0,0.0],[1.049997718287846,-0.000031820144992,0.0,0.0],[1.049997780315538,-0.000031247373526,0.0,0.0],[1.049997835970001,-0.00003072025178,0.0,0.0],[1.04999743145785,-0.000028874068054,0.0,0.0],[1.049997446665838,-0.000028935211477,0.0,0.0],[1.04999748182313,-0.000029009333769,0.0,0.0],[1.049997479939335,-0.000028984049045,0.0,0.0],[1.04999753734959,-0.000029258968392,0.0,0.0],[1.049997788621626,-0.000031112118827,0.0,0.0],[1.049997677866789,-0.000032193398089,0.0,0.0],[1.049997780315538,-0.000031247373523,0.0,0.0],[1.049997835970001,-0.00003072025178,0.0,0.0],[1.04999742883888,-0.000028863538533,0.0,0.0],[1.04999743145785,-0.000028874068054,0.0,0.0],[1.049997481773772,-0.00002900867127,0.0,0.0],[1.049997536978282,-0.000029253984616,0.0,0.0],[1.049997788505655,-0.000031112600984,0.0,0.0],[1.049997676669328,-0.000032198376597,0.0,0.0],[1.049997671721182,-0.000032249785145,0.0,0.0],[1.049997780315538,-0.000031247373518,0.0,0.0],[1.049997426926025,-0.000028880195014,0.0,0.0],[1.04999742883888,-0.000028863538533,0.0,0.0],[1.049997397986808,-0.000028449434334,0.0,0.0],[1.049997481728348,-0.000029008061573,0.0,0.0],[1.0499975367246,-0.000029250579641,0.0,0.0],[1.049997788417146,-0.000031112968968,0.0,0.0],[1.04999767561333,-0.000032202766965,0.0,0.0],[1.049997668405799,-0.000032280204374,0.0,0.0],[1.049997780315538,-0.00003124737351,0.0,0.0],[1.049997425517936,-0.00002889245617,0.0,0.0],[1.049997426926025,-0.000028880195014,0.0,0.0],[1.049997379755682,-0.000028204731624,0.0,0.0],[1.049997481687879,-0.000029007518385,0.0,0.0],[1.049997536524141,-0.000029247889043,0.0,0.0],[1.049997787785521,-0.000031115594982,0.0,0.0],[1.049997667910666,-0.000032284747308,0.0,0.0],[1.049997780315539,-0.000031247373502,0.0,0.0],[1.04999742360082,-0.000028909149748,0.0,0.0],[1.049997425517936,-0.00002889245617,0.0,0.0],[1.049997365310319,-0.000028010842357,0.0,0.0],[1.049997481645896,-0.000029006954889,0.0,0.0],[1.049997535881417,-0.000029239262268,0.0,0.0],[1.049997787444797,-0.00003111701156,0.0,0.0],[1.049997782307968,-0.000031138368199,0.0,0.0],[1.049997667532713,-0.000032288215089,0.0,0.0],[1.049997780315539,-0.000031247373496,0.0,0.0],[1.049997422244161,-0.000028920963068,0.0,0.0],[1.04999742360082,-0.000028909149748,0.0,0.0],[1.049997359341386,-0.00002793072585,0.0,0.0],[1.049997481519158,-0.000029005253785,0.0,0.0],[1.049997530682737,-0.000029169484494,0.0,0.0],[1.04999778706856,-0.000031118575785,0.0,0.0],[1.04999766717923,-0.000032291458363,0.0,0.0],[1.049997780315539,-0.000031247373485,0.0,0.0],[1.049997418450202,-0.000028953999549,0.0,0.0],[1.049997422244161,-0.000028920963068,0.0,0.0],[1.049997359001264,-0.000027926160648,0.0,0.0],[1.049997339109595,-0.00002765916953,0.0,0.0],[1.049997481391437,-0.00002900353948,0.0,0.0],[1.049997530423847,-0.000029166009629,0.0,0.0],[1.049997786048746,-0.000031122815717,0.0,0.0],[1.049997666802284,-0.000032294916909,0.0,0.0],[1.04999778031554,-0.000031247373479,0.0,0.0],[1.049997415703003,-0.00002897792121,0.0,0.0],[1.049997418450202,-0.000028953999549,0.0,0.0],[1.049997358876109,-0.000027924480792,0.0,0.0],[1.04999732380413,-0.000027453735638,0.0,0.0],[1.049997480198059,-0.00002898752166,0.0,0.0],[1.049997530219575,-0.00002916326784,0.0,0.0],[1.049997666468733,-0.000032297977301,0.0,0.0],[1.04999778031554,-0.000031247373479,0.0,0.0],[1.049997415248719,-0.00002898187694,0.0,0.0],[1.049997415703003,-0.00002897792121,0.0,0.0],[1.049997413267495,-0.000028988047001,0.0,0.0],[1.049997358689682,-0.00002792197852,0.0,0.0],[1.049997529988639,-0.000029160168173,0.0,0.0],[1.049997666127569,-0.000032301107536,0.0,0.0],[1.049997415141153,-0.000028982813583,0.0,0.0],[1.049997415248719,-0.00002898187694,0.0,0.0],[1.049997412959604,-0.000028989327078,0.0,0.0],[1.049997358577505,-0.000027920472846,0.0,0.0],[1.0499975297831,-0.000029157409372,0.0,0.0],[1.049997664366728,-0.000032317263576,0.0,0.0],[1.049997412225058,-0.000029008206175,0.0,0.0],[1.049997415141153,-0.000028982813583,0.0,0.0],[1.049997415141155,-0.000028982813538,0.0,0.0],[1.049997412732401,-0.00002899027169,0.0,0.0],[1.049997358442148,-0.000027918656054,0.0,0.0],[1.049997529546523,-0.000029154233991,0.0,0.0],[1.049997663498231,-0.000032320874478,0.0,0.0],[1.049997660604769,-0.000032351587139,0.0,0.0],[1.049997410181417,-0.000029026001668,0.0,0.0],[1.049997412225058,-0.000029008206175,0.0,0.0],[1.049997415141156,-0.00002898281352,0.0,0.0],[1.04999741251133,-0.000028991190806,0.0,0.0],[1.049997358323299,-0.000027917060833,0.0,0.0],[1.049997529303952,-0.000029150978144,0.0,0.0],[1.049997663448182,-0.000032321082563,0.0,0.0],[1.049997642627517,-0.000032515608919,0.0,0.0],[1.049997409580489,-0.000029031234385,0.0,0.0],[1.049997409766891,-0.000029029611251,0.0,0.0],[1.049997415141157,-0.000028982813505,0.0,0.0],[1.049997410434678,-0.000028999824633,0.0,0.0],[1.049997357545592,-0.000027906622244,0.0,0.0],[1.049997529012383,-0.000029147064628,0.0,0.0],[1.049997663423046,-0.000032321187071,0.0,0.0],[1.049997639378565,-0.000032529116612,0.0,0.0],[1.049997621881968,-0.000032702773126,0.0,0.0],[1.049997409044591,-0.000029035900836,0.0,0.0],[1.049997409580489,-0.000029031234385,0.0,0.0],[1.049997409580489,-0.000029031234385,0.0,0.0],[1.049997391311309,-0.000029106341319,0.0,0.0],[1.049997409766891,-0.000029029611251,0.0,0.0],[1.049997415141157,-0.000028982813492,0.0,0.0],[1.049997409468185,-0.000029003842895,0.0,0.0],[1.049997351811325,-0.000027829655441,0.0,0.0],[1.04999752882959,-0.000029144611133,0.0,0.0],[1.049997663401967,-0.000032321274708,0.0,0.0],[1.049997637664084,-0.00003253624466,0.0,0.0],[1.049997602011393,-0.000032882043412,0.0,0.0],[1.04999740787552,-0.000029040193556,0.0,0.0],[1.049997409044591,-0.000029035900836,0.0,0.0],[1.049997409044591,-0.000029035900836,0.0,0.0],[1.049997386967422,-0.000029124401257,0.0,0.0],[1.049997415141157,-0.000028982813487,0.0,0.0],[1.04999740901457,-0.000029005728829,0.0,0.0],[1.049997528044007,-0.000029134066835,0.0,0.0],[1.049997663384779,-0.000032321346171,0.0,0.0],[1.049997599656123,-0.000032891835566,0.0,0.0],[1.049997596850756,-0.000032926237536,0.0,0.0],[1.049997406282975,-0.000029046041229,0.0,0.0],[1.049997415141157,-0.000028982813483,0.0,0.0],[1.049997408712002,-0.000029006986777,0.0,0.0],[1.049997524732082,-0.000029089613325,0.0,0.0],[1.049997663357798,-0.000032321458346,0.0,0.0],[1.049997599078605,-0.00003289423663,0.0,0.0],[1.049997595663451,-0.000032936405256,0.0,0.0],[1.049997405815863,-0.000029047756417,0.0,0.0],[1.049997415141158,-0.000028982813479,0.0,0.0],[1.049997408249431,-0.000029008909944,0.0,0.0],[1.04999766329346,-0.000032321725836,0.0,0.0],[1.049997598682039,-0.000032895885374,0.0,0.0],[1.049997595074253,-0.000032941450966,0.0,0.0],[1.049997404269813,-0.000029053433364,0.0,0.0],[1.049997415141158,-0.000028982813473,0.0,0.0],[1.049997407346036,-0.000029012665869,0.0,0.0],[1.049997663248949,-0.000032321910896,0.0,0.0],[1.049997598132312,-0.000032898170891,0.0,0.0],[1.049997594426771,-0.000032946995801,0.0,0.0],[1.049997415141158,-0.000028982813471,0.0,0.0],[1.049997407096315,-0.000029013704103,0.0,0.0],[1.049997663192353,-0.000032322146197,0.0,0.0],[1.049997596828745,-0.000032903590538,0.0,0.0],[1.049997593679673,-0.000032953393711,0.0,0.0],[1.049997415141157,-0.000028982813472,0.0,0.0],[1.049997407023817,-0.000029014005518,0.0,0.0],[1.049997663157972,-0.000032322289141,0.0,0.0],[1.04999759583782,-0.000032907710364,0.0,0.0],[1.049997592924408,-0.000032959861559,0.0,0.0],[1.049997415141157,-0.000028982813475,0.0,0.0],[1.049997406995516,-0.00002901412318,0.0,0.0],[1.04999740684009,-0.000029014769373,0.0,0.0],[1.049997663126933,-0.000032322418186,0.0,0.0],[1.049997595142205,-0.000032910602419,0.0,0.0],[1.049997592087099,-0.000032967032004,0.0,0.0],[1.049997415141157,-0.000028982813478,0.0,0.0],[1.049997406969029,-0.000029014233301,0.0,0.0],[1.04999740659765,-0.000029015777329,0.0,0.0],[1.049997663074586,-0.000032322635823,0.0,0.0],[1.049997594413488,-0.0000329136321,0.0,0.0],[1.049997590869477,-0.000032977459336,0.0,0.0],[1.049997415141156,-0.00002898281348,0.0,0.0],[1.049997406941744,-0.000029014346739,0.0,0.0],[1.049997405590443,-0.000029019964848,0.0,0.0],[1.049997663023121,-0.000032322849791,0.0,0.0],[1.049997593815204,-0.000032916119498,0.0,0.0],[1.049997590405364,-0.000032971229805,0.0,0.0],[1.049997587720003,-0.000033006748315,0.0,0.0],[1.049997415141156,-0.00002898281348,0.0,0.0],[1.049997406744469,-0.00002901516692,0.0,0.0],[1.049997405162706,-0.000029021743187,0.0,0.0],[1.04999766299877,-0.000032322951029,0.0,0.0],[1.04999759282461,-0.000032920237944,0.0,0.0],[1.049997590126664,-0.000032967488974,0.0,0.0],[1.04999756777681,-0.000033192212836,0.0,0.0],[1.049997415141156,-0.00002898281348,0.0,0.0],[1.049997405307892,-0.000029021139566,0.0,0.0],[1.049997662972025,-0.000032323062226,0.0,0.0],[1.049997589623305,-0.00003293354754,0.0,0.0],[1.049997589868129,-0.000032964018812,0.0,0.0],[1.049997553501515,-0.00003332496794,0.0,0.0],[1.049997662946355,-0.000032323168952,0.0,0.0],[1.049997582143058,-0.000032964647063,0.0,0.0],[1.049997589615868,-0.000032960632861,0.0,0.0],[1.049997548243776,-0.000033346827221,0.0,0.0],[1.04999751427644,-0.000033681297061,0.0,0.0],[1.049997662915398,-0.000032323297661,0.0,0.0],[1.049997589426656,-0.000032958093171,0.0,0.0],[1.049997547983497,-0.000033347909341,0.0,0.0],[1.049997547597887,-0.000033349512537,0.0,0.0],[1.049997511696038,-0.000033692025223,0.0,0.0],[1.049997506254401,-0.000033753398976,0.0,0.0],[1.049997662866016,-0.000032323502969,0.0,0.0],[1.04999758912608,-0.000032954058703,0.0,0.0],[1.049997547902054,-0.000033348247942,0.0,0.0],[1.04999754628211,-0.00003335498295,0.0,0.0],[1.049997510201142,-0.000033698240331,0.0,0.0],[1.049997491363529,-0.000033803388938,0.0,0.0],[1.049997662730865,-0.000032324064878,0.0,0.0],[1.049997588619298,-0.000032947256434,0.0,0.0],[1.049997547849689,-0.000033348465653,0.0,0.0],[1.049997452083839,-0.000033935254431,0.0,0.0],[1.04999749136353,-0.000033803388934,0.0,0.0],[1.049997662551003,-0.000032324812676,0.0,0.0],[1.049997584822005,-0.000032896287419,0.0,0.0],[1.049997547818103,-0.00003334859697,0.0,0.0],[1.049997407592881,-0.000034109537058,0.0,0.0],[1.049997449498873,-0.000033900558281,0.0,0.0],[1.04999749136353,-0.000033803388931,0.0,0.0],[1.049997662533871,-0.000032324883901,0.0,0.0],[1.049997581706816,-0.000032854473912,0.0,0.0],[1.049997547786179,-0.000033348729695,0.0,0.0],[1.04999736167335,-0.000034289415782,0.0,0.0],[1.049997449222147,-0.000033896843977,0.0,0.0],[1.049997491363531,-0.000033803388926,0.0,0.0],[1.049997662520323,-0.000032324940231,0.0,0.0],[1.049997580719816,-0.00003284122594,0.0,0.0],[1.049997547757665,-0.000033348848244,0.0,0.0],[1.049997349543006,-0.000034302617311,0.0,0.0],[1.049997311209885,-0.000034499220678,0.0,0.0],[1.049997449116489,-0.000033895425805,0.0,0.0],[1.049997491363531,-0.000033803388921,0.0,0.0],[1.049997662507164,-0.000032324994941,0.0,0.0],[1.049997579821279,-0.000032829165356,0.0,0.0],[1.049997547725539,-0.000033348981807,0.0,0.0],[1.049997333059757,-0.000034320556136,0.0,0.0],[1.049997304440574,-0.000034527364497,0.0,0.0],[1.049997449004724,-0.00003389392566,0.0,0.0],[1.049997491363532,-0.000033803388917,0.0,0.0],[1.04999766249307,-0.00003232505354,0.0,0.0],[1.049997579331887,-0.000032822596517,0.0,0.0],[1.0499975476998,-0.000033349088819,0.0,0.0],[1.049997313761194,-0.000034341558887,0.0,0.0],[1.049997300884135,-0.000034542150608,0.0,0.0],[1.049997448911969,-0.000033892680669,0.0,0.0],[1.049997491363533,-0.000033803388913,0.0,0.0],[1.049997662480038,-0.000032325107721,0.0,0.0],[1.049997578941031,-0.00003281735027,0.0,0.0],[1.049997547668926,-0.000033349217181,0.0,0.0],[1.049997298265223,-0.000034358423251,0.0,0.0],[1.049997296246362,-0.000034561432396,0.0,0.0],[1.04999730037676,-0.000034544260051,0.0,0.0],[1.049997448802124,-0.000033891206292,0.0,0.0],[1.049997491363533,-0.000033803388912,0.0,0.0],[1.049997662467757,-0.00003232515878,0.0,0.0],[1.049997578607742,-0.000032812876711,0.0,0.0],[1.049997547635655,-0.000033349355506,0.0,0.0],[1.049997294331408,-0.000034348832549,0.0,0.0],[1.049997281134816,-0.000034429643766,0.0,0.0],[1.049997292476427,-0.000034577106101,0.0,0.0],[1.049997300009855,-0.000034545785481,0.0,0.0],[1.049997448694999,-0.000033889768418,0.0,0.0],[1.049997491363533,-0.00003380338891,0.0,0.0],[1.049997662450676,-0.000032325229792,0.0,0.0],[1.049997578216625,-0.000032807626961,0.0,0.0],[1.049997547574954,-0.000033349607872,0.0,0.0],[1.049997288907821,-0.000034335609756,0.0,0.0],[1.049997266816043,-0.000034489174773,0.0,0.0],[1.049997299700219,-0.000034547072807,0.0,0.0],[1.049997448547725,-0.000033887791648,0.0,0.0],[1.049997491363534,-0.000033803388911,0.0,0.0],[1.049997662429745,-0.000032325316813,0.0,0.0],[1.049997577859246,-0.000032802830055,0.0,0.0],[1.049997547120818,-0.000033351495967,0.0,0.0],[1.049997275565628,-0.00003430308127,0.0,0.0],[1.049997265676607,-0.000034493912038,0.0,0.0],[1.049997266480199,-0.000034490571059,0.0,0.0],[1.04999729917721,-0.000034549247248,0.0,0.0],[1.049997448345125,-0.00003388507228,0.0,0.0],[1.049997491363533,-0.000033803388913,0.0,0.0],[1.049997662330538,-0.000032325729272,0.0,0.0],[1.049997577304815,-0.000032795388228,0.0,0.0],[1.04999754572912,-0.000033357282026,0.0,0.0],[1.049997264751587,-0.000034276716464,0.0,0.0],[1.049997264560082,-0.000034498554048,0.0,0.0],[1.049997266159089,-0.00003449190609,0.0,0.0],[1.049997298444797,-0.000034552292295,0.0,0.0],[1.049997448130717,-0.000033882194418,0.0,0.0],[1.049997491363533,-0.000033803388917,0.0,0.0],[1.04999766148229,-0.000032329255911,0.0,0.0],[1.049997576185474,-0.00003278036392,0.0,0.0],[1.049997256301812,-0.000034256115771,0.0,0.0],[1.049997265812916,-0.000034493345324,0.0,0.0],[1.049997297901329,-0.000034554551789,0.0,0.0],[1.049997447988293,-0.000033880282731,0.0,0.0],[1.049997491363533,-0.000033803388919,0.0,0.0],[1.049997575961071,-0.000032777351862,0.0,0.0],[1.049997575529941,-0.000032771565183,0.0,0.0],[1.049997248664848,-0.000034237496728,0.0,0.0],[1.04999726550381,-0.00003449463045,0.0,0.0],[1.049997297001052,-0.000034558294737,0.0,0.0],[1.049997447843338,-0.000033878337095,0.0,0.0],[1.049997491363533,-0.00003380338892,0.0,0.0],[1.04999757576537,-0.000032774725064,0.0,0.0],[1.049997574480993,-0.000032757485923,0.0,0.0],[1.049997247866018,-0.000034226774631,0.0,0.0],[1.049997246891396,-0.000034259702926,0.0,0.0],[1.049997265162454,-0.000034496049657,0.0,0.0],[1.049997290752213,-0.00003458427462,0.0,0.0],[1.049997447774029,-0.000033877406802,0.0,0.0],[1.049997491363533,-0.00003380338892,0.0,0.0],[1.049997575603517,-0.000032772552584,0.0,0.0],[1.049997573584769,-0.000032745456576,0.0,0.0],[1.04999724706509,-0.000034216024367,0.0,0.0],[1.049997244057923,-0.000034284376055,0.0,0.0],[1.049997246891396,-0.000034259702926,0.0,0.0],[1.04999726494237,-0.000034496964667,0.0,0.0],[1.049997276949297,-0.000034641660978,0.0,0.0],[1.049997447663785,-0.000033875927058,0.0,0.0],[1.049997491363533,-0.000033803388922,0.0,0.0],[1.049997575477652,-0.000032770863158,0.0,0.0],[1.049997573077541,-0.000032738648437,0.0,0.0],[1.049997246262607,-0.000034205253238,0.0,0.0],[1.049997241682152,-0.000034305063645,0.0,0.0],[1.049997244057923,-0.000034284376055,0.0,0.0],[1.049997264604336,-0.000034498370061,0.0,0.0],[1.04999744756029,-0.000033874537909,0.0,0.0],[1.049997491363533,-0.000033803388925,0.0,0.0],[1.049997575349638,-0.000032769144911,0.0,0.0],[1.049997245464982,-0.000034194547315,0.0,0.0],[1.049997239128258,-0.000034327302283,0.0,0.0],[1.049997241682152,-0.000034305063645,0.0,0.0],[1.049997261823921,-0.000034509929784,0.0,0.0],[1.049997447412413,-0.000033872553049,0.0,0.0],[1.049997491363533,-0.000033803388925,0.0,0.0],[1.049997575238546,-0.000032767653778,0.0,0.0],[1.049997244664325,-0.000034183800703,0.0,0.0],[1.049997237031421,-0.000034345560992,0.0,0.0],[1.049997239128258,-0.000034327302283,0.0,0.0],[1.049997252241355,-0.000034549769814,0.0,0.0],[1.049997445851465,-0.000033851601499,0.0,0.0],[1.049997575158757,-0.000032766582824,0.0,0.0],[1.049997243864213,-0.000034173061394,0.0,0.0],[1.049997234780236,-0.000034365163718,0.0,0.0],[1.049997237031421,-0.000034345560992,0.0,0.0],[1.049997445227126,-0.000033843221406,0.0,0.0],[1.049997575066122,-0.000032765339446,0.0,0.0],[1.049997243063595,-0.000034162315301,0.0,0.0],[1.04999722290314,-0.000034408775229,0.0,0.0],[1.049997234780239,-0.000034365163685,0.0,0.0],[1.049997234780236,-0.000034365163718,0.0,0.0],[1.049997444910088,-0.000033838966008,0.0,0.0],[1.049997574926565,-0.000032763466281,0.0,0.0],[1.049997242672788,-0.000034157069793,0.0,0.0],[1.049997221165487,-0.000034415155721,0.0,0.0],[1.049997234780242,-0.000034365163649,0.0,0.0],[1.049997234780239,-0.000034365163685,0.0,0.0],[1.049997444839934,-0.000033838024371,0.0,0.0],[1.049997574698558,-0.000032760405909,0.0,0.0],[1.049997233889348,-0.00003403917628,0.0,0.0],[1.049997216270125,-0.000034433131006,0.0,0.0],[1.049997234780247,-0.000034365163596,0.0,0.0],[1.049997234780242,-0.000034365163649,0.0,0.0],[1.049997444784683,-0.000033837282786,0.0,0.0],[1.049997573856936,-0.000032749109447,0.0,0.0],[1.049997572067735,-0.00003272509433,0.0,0.0],[1.049997228177645,-0.000033962512374,0.0,0.0],[1.049997210521741,-0.0000344542385,0.0,0.0],[1.049997234780248,-0.000034365163572,0.0,0.0],[1.049997234780247,-0.000034365163596,0.0,0.0],[1.049997444725487,-0.000033836488225,0.0,0.0],[1.049997223182187,-0.000033895462103,0.0,0.0],[1.049997209776052,-0.000034456976597,0.0,0.0],[1.049997234780249,-0.000034365163567,0.0,0.0],[1.049997234780248,-0.000034365163572,0.0,0.0],[1.049997444678125,-0.000033835852517,0.0,0.0],[1.049997217942281,-0.000033825130782,0.0,0.0],[1.049997209652656,-0.000034457429695,0.0,0.0],[1.049997207965238,-0.00003446362573,0.0,0.0],[1.04999723478025,-0.000034365163563,0.0,0.0],[1.049997234780249,-0.000034365163567,0.0,0.0],[1.049997444632139,-0.000033835235271,0.0,0.0],[1.049997208995227,-0.000033705041208,0.0,0.0],[1.049997209538474,-0.000034457848959,0.0,0.0],[1.049997203727447,-0.00003447918649,0.0,0.0],[1.04999723478025,-0.000034365163563,0.0,0.0],[1.04999723478025,-0.000034365163563,0.0,0.0],[1.049997444586269,-0.000033834619591,0.0,0.0],[1.049997206800707,-0.000033675585826,0.0,0.0],[1.049997209364851,-0.000034458486485,0.0,0.0],[1.049997193674138,-0.00003451610127,0.0,0.0],[1.049997444540936,-0.000033834011115,0.0,0.0],[1.04999720657842,-0.000033672602254,0.0,0.0],[1.049997198309989,-0.000033575881778,0.0,0.0],[1.049997209145439,-0.000034459292145,0.0,0.0],[1.049997443730281,-0.000033823130293,0.0,0.0],[1.049997206213443,-0.000033667703474,0.0,0.0],[1.049997191108717,-0.000033491319331,0.0,0.0],[1.049997208291271,-0.000034462428568,0.0,0.0],[1.049997441916271,-0.000033798782186,0.0,0.0],[1.049997442609734,-0.000033808090019,0.0,0.0],[1.049997206141279,-0.000033666734878,0.0,0.0],[1.049997179004859,-0.000033349187218,0.0,0.0],[1.049997206739618,-0.000034468126088,0.0,0.0],[1.049997440711561,-0.000033782612257,0.0,0.0],[1.049997206080302,-0.000033665916434,0.0,0.0],[1.049997206028917,-0.000033665226735,0.0,0.0],[1.049997205962074,-0.000033664329549,0.0,0.0],[1.049997205841098,-0.000033662705783,0.0,0.0],[1.049997205631348,-0.000033659890463,0.0,0.0],[1.049997203913274,-0.000033636830031,0.0,0.0]]}", + "orient": "split", "dtype": { "vm_pu": "float64", "va_degree": "float64", "p_mw": "float64", "q_mvar": "float64" - }, - "orient": "split" + } }, "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\",\"loading_pf_percent\",\"diff_pp2pf_percent\",\"diff_pp2pf\"],\"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,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904],\"data\":[[0.000009698012305,0.000001221060112,-0.00000969801206,-0.000001221060073,0.000000000000245,0.000000000000039,0.00001291977467,0.00001291977467,0.00001291977467,1.04999984798954,-0.00002488250018,1.049999821329377,-0.000024929970261,0.003068830060058,3.680556068996909,0.270353650369038,-0.009950517686412],[0.00000969801194,0.000001221060081,-0.000009698011915,-0.000001221060077,0.000000000000026,0.000000000000004,0.000012919774515,0.000012919774515,0.000012919774515,1.049999821329377,-0.000024929970261,1.049999818534431,-0.000024934946837,0.003068830023167,3.680552453327163,0.270474694902132,-0.00995496301885],[0.000009698010005,0.000001221060196,-0.000009698009981,-0.000001221060192,0.000000000000024,0.000000000000004,0.00001291977203,0.00001291977203,0.00001291977203,1.049999818534431,-0.000024934946837,1.049999815916005,-0.000024939609104,0.003068829432901,3.680548837632527,0.270577348156433,-0.009958731442469],[0.000009698009503,0.000001221060312,-0.000009698009482,-0.000001221060308,0.000000000000021,0.000000000000003,0.000012919771423,0.000012919771423,0.000012919771423,1.049999815916005,-0.000024939609104,1.049999813633113,-0.000024943673929,0.003068829288846,3.680545222197368,0.27067960017266,-0.009962485091618],[0.000009698008527,0.000001221060129,-0.000009698008494,-0.000001221060124,0.000000000000033,0.000000000000005,0.000012919770141,0.000012919770141,0.000012919770141,1.049999813633113,-0.000024943673929,1.049999810036664,-0.000024950077623,0.00306882898435,3.680541606722168,0.270782593077742,-0.009966266001987],[0.000009698009345,0.000001221060336,-0.000009698007092,-0.000001221059977,0.000000000002253,0.000000000000359,0.000012919771292,0.000012919771292,0.000012919771292,1.049999810036664,-0.000024950077623,1.049999565134725,-0.0000253861401,0.00306882925759,3.680537990891739,0.271071171839301,-0.009976877461901],[0.000009698007196,0.000001221060034,-0.000009698007095,-0.000001221060018,0.000000000000101,0.000000000000016,0.000012919771438,0.000012919771438,0.000012919771438,1.049999565134725,-0.0000253861401,1.049999554165941,-0.000025405670674,0.003068829292357,3.680534377600591,0.271365355191347,-0.009987695186715],[0.000009698007573,0.000001221060018,-0.000009698007489,-0.000001221060004,0.000000000000084,0.000000000000013,0.000012919772064,0.000012919772064,0.000012919772064,1.049999554165941,-0.000025405670674,1.049999545036415,-0.000025421926342,0.003068829441094,3.680530764517327,0.271479162569099,-0.00999187409761],[0.00000969800725,0.000001221059945,-0.000009698007177,-0.000001221059933,0.000000000000074,0.000000000000012,0.000012919771741,0.000012919771741,0.000012919771741,1.049999545036415,-0.000025421926342,1.049999537024528,-0.000025436191987,0.003068829364385,3.680527151422228,0.271590704613585,-0.009995969624042],[0.000009698007177,0.000001221059903,-0.000009698007122,-0.000001221059894,0.000000000000055,0.000000000000009,0.000012919771736,0.000012919771736,0.000012919771736,1.049999537024528,-0.000025436191987,1.049999531046145,-0.000025446836855,0.003068829363214,3.680523538411577,0.271699836972168,-0.009999976453587],[0.000009698007122,0.000001221060014,-0.00000969800707,-0.000001221060006,0.000000000000052,0.000000000000008,0.000012919771756,0.000012919771756,0.000012919771756,1.049999531046145,-0.000025446836855,1.049999525433915,-0.000025456829765,0.003068829367896,3.680519925225818,0.271807136456428,-0.010003915815465],[0.000009698006354,0.000001221060006,-0.000009698006322,-0.00000122106,0.000000000000032,0.000000000000005,0.000012919770817,0.000012919770817,0.000012919770817,1.049999525433915,-0.000025456829765,1.049999521982906,-0.000025462974493,0.003068829144791,3.680516312227514,0.271912503552862,-0.010007784048249],[0.000009698007038,0.00000122106003,-0.000009698006959,-0.000001221060018,0.000000000000079,0.000000000000013,0.000012919771761,0.000012919771761,0.000012919771761,1.049999521982906,-0.000025462974493,1.04999951339144,-0.00002547827211,0.003068829369067,3.680512699455965,0.272020133467728,-0.010011735557357],[0.000009698006929,0.000001221060036,-0.000009698006289,-0.000001221059934,0.00000000000064,0.000000000000102,0.000012919771725,0.000012919771725,0.000012919771725,1.04999951339144,-0.00002547827211,1.049999443793378,-0.000025602195615,0.003068829360502,3.680509086571106,0.272178354546254,-0.010017549070755],[-0.000000000000418,-0.000000000000019,0.000000000000418,0.000000000000019,3.53409685539013e-28,1.26217744835362e-29,0.000000000000553,0.000000000000553,0.000000000000553,1.049999443793378,-0.000025602195615,1.049999443793379,-0.000025602195616,0.000000000131303,0.000083752507525,-99.999627262846943,0.000083752195349],[0.000009698006796,0.000001221060013,-0.00000969800602,-0.000001221059889,0.000000000000776,0.000000000000124,0.000012919772403,0.000012919772403,0.000012919772403,1.049999443793378,-0.000025602195615,1.049999359393826,-0.000025752474069,0.003068829521608,3.680426007190845,0.274559575859909,-0.010104962035181],[-0.000000000000239,-0.000000000000015,0.000000000000239,0.000000000000015,5.04870979341448e-29,3.15544362088405e-30,0.000000000000316,0.000000000000316,0.000000000000316,1.049999443793379,-0.000025602195616,1.049999443793379,-0.000025602195616,0.000000000075102,0.000079945474856,-99.999648106926415,0.000079945193534],[0.000009698005543,0.000001221059822,-0.000009698005489,-0.000001221059814,0.000000000000053,0.000000000000009,0.000012919771766,0.000012919771766,0.000012919771766,1.049999359393826,-0.000025752474069,1.049999353586622,-0.000025762814145,0.003068829370237,3.680422395758469,0.274726935980482,-0.010111111679007],[-0.000000000000239,-0.000000000000015,0.000000000000239,0.000000000000015,5.04870979341448e-29,0.0,0.000000000000316,0.000000000000316,0.000000000000316,1.049999443793379,-0.000025602195616,1.049999443793379,-0.000025602195617,0.000000000075102,0.000076138704532,-99.999620487602186,0.000076138415576],[0.000009698006444,0.000001221059843,-0.000009698006384,-0.000001221059834,0.00000000000006,0.00000000000001,0.000012919773023,0.000012919773023,0.000012919773023,1.049999353586622,-0.000025762814145,1.049999347065809,-0.000025774424848,0.003068829668881,3.680418784355887,0.274834761862474,-0.010115070201526],[-0.000000000000239,-0.000000000000019,0.000000000000239,0.000000000000019,5.04870979341448e-29,3.15544362088405e-30,0.000000000000317,0.000000000000317,0.000000000000317,1.049999443793379,-0.000025602195617,1.049999443793379,-0.000025602195617,0.000000000075184,0.000072331634385,-99.999537447810226,0.000072331299814],[0.000009698006265,0.000001221059804,-0.000009698006167,-0.000001221059788,0.000000000000098,0.000000000000016,0.000012919772862,0.000012919772862,0.000012919772862,1.049999347065809,-0.000025774424848,1.049999336448607,-0.000025793329419,0.003068829630527,3.680415173136519,0.274946251791129,-0.010119163568891],[0.000000000000239,-0.000000000000022,-0.000000000000239,0.000000000000022,5.04870979341448e-29,3.15544362088405e-30,0.000000000000317,0.000000000000317,0.000000000000317,1.049999443793379,-0.000025602195617,1.049999443793379,-0.000025602195619,0.000000000075284,0.000068524789105,-99.999594532880224,0.00006852451126],[0.000009698005988,0.000001221059863,-0.00000969800581,-0.000001221059835,0.000000000000178,0.000000000000028,0.000012919772639,0.000012919772639,0.000012919772639,1.049999336448607,-0.000025793329419,1.049999317133346,-0.000025827721404,0.003068829577677,3.680411561987909,0.275067519890754,-0.010123616805333],[-5.00063447941456e-21,-0.000000000000011,5.00063447957392e-21,0.000000000000011,1.59358665835891e-31,0.0,0.000000000000015,0.000000000000015,0.000000000000015,1.049999443793379,-0.000025602195619,1.049999443793379,-0.000025602195619,0.000000000003514,0.000064717793914,-99.999587082963842,0.000064717526684],[0.000000539998586,0.000000177489253,-0.000000539998574,-0.000000177489252,0.000000000000011,8.79971623353297e-16,0.000000751321999,0.000000751321999,0.000000751321999,1.049999317133346,-0.000025827721404,1.049999296445496,-0.00002555004297,0.000178461280792,0.535424540760895,0.106943718377183,-0.000572602912994],[0.000009158007206,0.000001043570634,-0.000009158005226,-0.000001043570318,0.00000000000198,0.000000000000315,0.000012183147528,0.000012183147528,0.000012183147528,1.049999317133346,-0.000025827721404,1.049999088993072,-0.000026380894825,0.002893859244184,3.445803264369678,0.136497847941095,-0.004703447300149],[-0.000000000000239,-0.000000000000015,0.000000000000239,0.000000000000015,5.04870979341448e-29,3.15544362088405e-30,0.000000000000316,0.000000000000316,0.000000000000316,1.049999443793379,-0.000025602195619,1.049999443793379,-0.00002560219562,0.000000000075102,0.000060910948635,-99.999516167214608,0.000060910653927],[0.000000036000001,0.000000011832615,-0.000000036000001,-0.000000011832615,1.40781243347299e-17,1.07728197948089e-18,0.000000050088253,0.000000050088253,0.000000050088253,1.049999296445496,-0.00002555004297,1.049999296065598,-0.000025544943887,0.000011897447276,0.035699543740895,0.088426567273783,-0.000031567881062],[0.000000503998569,0.000000165656635,-0.000000503998567,-0.000000165656634,0.000000000000003,2.05720056569954e-16,0.00000070123374,0.00000070123374,0.00000070123374,1.049999296445496,-0.00002555004297,1.049999291263625,-0.000025480490355,0.000166563832175,0.499721386847556,0.109033946368897,-0.000544865948929],[0.000009158005234,0.000001043570434,-0.000009158004707,-0.00000104357035,0.000000000000527,0.000000000000084,0.000012183147556,0.000012183147556,0.000012183147556,1.049999088993072,-0.000026380894825,1.049999028258502,-0.000026528158389,0.002893859250622,3.445799465717388,0.136796102799267,-0.004713719379379],[-0.000000000000179,-0.000000000000015,0.000000000000179,0.000000000000015,1.51461293802434e-28,3.15544362088405e-30,0.000000000000237,0.000000000000237,0.000000000000237,1.049999443793379,-0.00002560219562,1.04999944379338,-0.000025602195622,0.000000000056412,0.000057103934705,-99.999524979603322,0.000057103663449],[0.000000035999979,0.000000011832615,-0.000000035999979,-0.000000011832615,3.22398606826218e-17,2.46705128768838e-18,0.000000050088225,0.000000050088225,0.000000050088225,1.049999296065598,-0.000025544943887,1.049999295195606,-0.000025533266627,0.0000118974406,0.035695933499776,0.098551418247194,-0.000035178848721],[0.000000503998701,0.000000165656631,-0.000000503998701,-0.000000165656631,9.10424893026812e-17,6.96674011204821e-18,0.000000701233907,0.000000701233907,0.000000701233907,1.049999291263625,-0.000025480490355,1.049999291088141,-0.00002547813495,0.000166563871864,0.499717776869687,0.109765772201613,-0.00054851907661],[0.000001093998101,0.000000000359673,-0.00000109399806,-0.00000000035967,0.000000000000041,0.000000000000003,0.000001446018095,0.000001446018095,0.000001446018095,1.049999028258502,-0.000026528158389,1.049998988608883,-0.000026693003755,0.000343472228529,1.030459348278937,0.118990664353254,-0.001226150424407],[0.000008064006579,0.000001043210659,-0.000008064005339,-0.000001043210462,0.00000000000124,0.000000000000197,0.000010747613314,0.000010747613314,0.000010747613314,1.049999028258502,-0.000026528158389,1.049998866161183,-0.000026786657641,0.002552877248657,3.144936515801219,0.305856297129052,-0.009618986374289],[-0.000000000000239,-0.000000000000021,0.000000000000239,0.000000000000021,1.51461293802434e-28,3.15544362088405e-30,0.000000000000317,0.000000000000317,0.000000000000317,1.04999944379338,-0.000025602195622,1.049999443793381,-0.000025602195624,0.000000000075232,0.000053297014469,-99.999428578582382,0.000053296709919],[0.000000503999417,0.00000016565669,-0.000000503999417,-0.00000016565669,1.30902906888403e-16,1.00169057551109e-17,0.000000701234831,0.000000701234831,0.000000701234831,1.049999291088141,-0.00002547813495,1.049999290835826,-0.000025474748303,0.000166564091338,0.499714166723191,0.110489581708543,-0.000552132092551],[0.00000005199911,0.000000000017113,-0.00000005199911,-0.000000000017113,6.51971847413476e-18,4.98899862998634e-19,0.000000068731067,0.000000068731067,0.000000068731067,1.049998988608883,-0.000026693003755,1.04999898847723,-0.000026693551109,0.000016325669012,0.049008175971086,0.051284006808899,-0.000025133356302],[0.000001041999081,0.000000000342563,-0.000001041999069,-0.000000000342562,0.000000000000012,9.04571359503344e-16,0.000001377287201,0.000001377287201,0.000001377287201,1.049998988608883,-0.000026693003755,1.049998976696726,-0.000026742529183,0.000327146600509,0.981447375299108,0.122758971127275,-0.001204814700073],[0.000008063993939,0.000001043209355,-0.000008063993079,-0.000001043209218,0.000000000000861,0.000000000000137,0.000010747598183,0.000010747598183,0.000010747598183,1.049998866161183,-0.000026786657641,1.049998753676582,-0.00002696603845,0.002552873654516,3.144839122199489,0.309176669945961,-0.009723108873174],[0.00000000001146,0.000000000000955,-0.00000000001146,-0.000000000000955,2.58493941422821e-26,9.89547119509237e-27,0.0000000000152,0.0000000000152,0.0000000000152,1.049998866161183,-0.000026786657641,1.049998866161181,-0.000026786657679,0.00000000361034,0.000098950393616,-99.998862941257187,0.000098949268492],[-0.000000000000477,-0.000000000000015,0.000000000000477,0.000000000000015,1.0097419586829e-28,-3.15544362088405e-30,0.000000000000631,0.000000000000631,0.000000000000631,1.049999443793381,-0.000025602195624,1.049999443793381,-0.000025602195625,0.000000000149984,0.000049489963061,-99.999378581786885,0.000049489655522],[0.000000503999894,0.000000165656645,-0.000000503999894,-0.000000165656645,1.67874412728395e-16,1.28460222687199e-17,0.000000701235412,0.000000701235412,0.000000701235412,1.049999290835826,-0.000025474748303,1.049999290512248,-0.000025470405163,0.000166564229366,0.499710556758648,0.111213762342038,-0.000555746910992],[0.000000051998991,0.000000000017106,-0.000000051998991,-0.000000000017106,2.93862199182118e-18,2.24867831369842e-19,0.000000068730909,0.000000068730909,0.000000068730909,1.04999898847723,-0.000026693551109,1.04999898841789,-0.000026693797818,0.000016325631534,0.049004378972716,0.059036170403874,-0.000028930308676],[0.000001041999046,0.000000000342565,-0.000001041999018,-0.000000000342562,0.000000000000028,0.000000000000002,0.000001377287171,0.000001377287171,0.000001377287171,1.049998976696726,-0.000026742529183,1.04999894803382,-0.000026861696741,0.000327146593482,0.981443578492311,0.123146355191669,-0.001208611995176],[0.000008063993064,0.000001043209266,-0.000008063992413,-0.000001043209163,0.00000000000065,0.000000000000104,0.000010747598172,0.000010747598172,0.000010747598172,1.049998753676582,-0.00002696603845,1.049998668676813,-0.0000271015888,0.002552873651823,3.144835516152044,0.3094455602572,-0.009731553882124],[0.00000000000955,0.000000000000955,-0.00000000000955,-0.000000000000955,8.07793566946316e-27,4.03896783473158e-27,0.000000000012685,0.000000000012685,0.000000000012685,1.049998866161181,-0.000026786657679,1.04999886616118,-0.000026786657697,0.000000003013178,0.000095144147991,-99.997045077689222,0.000095141336555],[-1.00012689611623e-20,-0.000000000000022,1.00012689616258e-20,0.000000000000022,4.63541244958627e-31,0.0,0.00000000000003,0.00000000000003,0.00000000000003,1.049999443793381,-0.000025602195625,1.049999443793381,-0.000025602195626,0.000000000007027,0.000045683192737,-99.999727974472066,0.000045683068467],[0.000000504000014,0.000000165656623,-0.000000504000013,-0.000000165656623,4.08849992266324e-16,3.1285929530446e-17,0.000000701235553,0.000000701235553,0.000000701235553,1.049999290512248,-0.000025470405163,1.049999289724191,-0.000025459827663,0.000166564262775,0.499706946649578,0.111938751192409,-0.000559365715701],[0.000000051999468,0.000000000017113,-0.000000051999468,-0.000000000017113,3.11436809348665e-18,2.38316805852976e-19,0.000000068731541,0.000000068731541,0.000000068731541,1.04999898841789,-0.000026693797818,1.049998988355001,-0.000026694059278,0.000016325781446,0.04900058185885,0.06679006529831,-0.00003272752062],[0.000008063992846,0.000001043208445,-0.000008063992752,-0.00000104320843,0.000000000000094,0.000000000000015,0.000010747598617,0.000010747598617,0.000010747598617,1.049998668676813,-0.0000271015888,1.049998656421558,-0.000027121132495,0.002552873757632,3.144806673938225,0.310441312625173,-0.009762779118098],[-0.000000000000716,0.000000000000731,0.000000000000716,-0.000000000000731,1.41363874215605e-27,5.04870979341448e-28,0.000000000001353,0.000000000001353,0.000000000001353,1.049998668676813,-0.0000271015888,1.049998668676814,-0.000027101588729,0.000000000321339,0.000026635811629,-99.997315758166991,0.00002663509666],[0.000000000010505,0.00000000000191,-0.000000000010505,-0.00000000000191,1.13091099372484e-26,4.44286461820474e-27,0.000000000014112,0.000000000014112,0.000000000014112,1.04999886616118,-0.000026786657697,1.049998866161179,-0.00002678665771,0.000000003352117,0.000091337902352,-99.998612642551038,0.000091336635169],[0.000000000000239,-0.000000000000015,-0.000000000000239,0.000000000000015,1.0097419586829e-28,3.15544362088405e-30,0.000000000000316,0.000000000000316,0.000000000000316,1.049999443793381,-0.000025602195626,1.04999944379338,-0.000025602195628,0.000000000075102,0.000041876272502,-99.999737680977347,0.000041876162652],[0.000000504000132,0.000000165656623,-0.000000504000132,-0.000000165656623,3.50050341496469e-16,2.67864640448516e-17,0.000000701235703,0.000000701235703,0.000000701235703,1.049999289724191,-0.000025459827663,1.04999928904947,-0.000025450771392,0.000166564298379,0.499703336595544,0.112664377859978,-0.000562987655321],[0.000000051999707,0.000000000017106,-0.000000051999707,-0.000000000017106,2.96624320683556e-18,2.26981694656395e-19,0.000000068731856,0.000000068731856,0.000000068731856,1.049998988355001,-0.000026694059278,1.049998988295104,-0.000026694308303,0.0000163258564,0.048996784758172,0.074545124748423,-0.000036524714321],[0.000008063992752,0.000001043208418,-0.000008063992328,-0.000001043208351,0.000000000000425,0.000000000000068,0.000010747598615,0.000010747598615,0.000010747598615,1.049998656421558,-0.000027121132495,1.049998600908493,-0.00002720966028,0.002552873757182,3.144803068833639,0.310609092177618,-0.009768044262878],[3.95247464816398e-19,0.000000000000836,-3.95247464705973e-19,-0.000000000000836,1.10424782253646e-28,0.0,0.000000000001104,0.000000000001104,0.000000000001104,1.049998668676814,-0.000027101588729,1.049998668676814,-0.000027101588721,0.000000000262345,0.000022829678429,-99.997566340376949,0.000022829122833],[0.00000000000955,0.000000000001432,-0.00000000000955,-0.000000000001432,8.07793566946316e-27,2.62532909257553e-27,0.000000000012764,0.000000000012764,0.000000000012764,1.049998866161179,-0.00002678665771,1.049998866161178,-0.000026786657718,0.000000003031767,0.000087531956535,-99.998795134645263,0.000087530901892],[0.000000000000119,-0.000000000000013,-0.000000000000119,0.000000000000013,2.52435489670724e-29,0.0,0.000000000000159,0.000000000000159,0.000000000000159,1.04999944379338,-0.000025602195628,1.04999944379338,-0.00002560219563,0.000000000037701,0.000038069314788,-99.999741919108374,0.000038069216539],[0.000000503999714,0.000000165656608,-0.000000503999713,-0.000000165656608,0.000000000000002,1.28404477331358e-16,0.000000701235172,0.000000701235172,0.000000701235172,1.04999928904947,-0.000025450771392,1.049999285815102,-0.00002540735887,0.000166564172303,0.499699726590255,0.11339393702105,-0.000566629193264],[0.000000051999946,0.00000000001712,-0.000000051999946,-0.00000000001712,1.77651264052299e-18,1.35941601902744e-19,0.000000068732172,0.000000068732172,0.000000068732172,1.049998988295104,-0.000026694308303,1.049998988259232,-0.000026694457444,0.000016325931358,0.048992987803089,0.082300709081471,-0.000040321576362],[0.000007668992962,0.000000913378375,-0.000007668992884,-0.000000913378362,0.000000000000078,0.000000000000012,0.000010208318496,0.000010208318496,0.000010208318496,1.049998600908493,-0.00002720966028,1.049998590192856,-0.000027232667262,0.002424778718057,2.753164586257751,0.323795573081102,-0.008914625049939],[0.000000394999496,0.000000129829925,-0.000000394999487,-0.000000129829924,0.000000000000009,6.58498818607221e-16,0.000000549579097,0.000000549579097,0.000000549579097,1.049998600908493,-0.00002720966028,1.049998579744498,-0.000026925591674,0.000130541352027,0.391634897219707,0.219266929121783,-0.000858725812503],[-0.000000000000955,0.000000000000239,0.000000000000955,-0.000000000000239,2.01948391736579e-28,0.0,0.000000000001301,0.000000000001301,0.000000000001301,1.049998668676814,-0.000027101588721,1.049998668676814,-0.000027101588717,0.00000000030905,0.000019025531549,-99.997079848599029,0.000019024975975],[0.00000000000764,0.000000000001432,-0.00000000000764,-0.000000000001432,4.8467614016779e-27,1.41363874215605e-27,0.000000000010274,0.000000000010274,0.000000000010274,1.049998866161178,-0.000026786657718,1.049998866161177,-0.000026786657722,0.000000002440378,0.000083725111256,-99.999060895657792,0.00008372432499],[-5.00063448157222e-21,-0.000000000000011,5.00063448180382e-21,0.000000000000011,2.31595332761719e-31,0.0,0.000000000000015,0.000000000000015,0.000000000000015,1.04999944379338,-0.00002560219563,1.04999944379338,-0.000025602195631,0.000000000003514,0.000034262394553,-99.999654726566973,0.000034262276254],[0.000000503999668,0.000000165656604,-0.000000503999662,-0.000000165656603,0.000000000000006,4.53865902355288e-16,0.000000701235114,0.000000701235114,0.000000701235114,1.049999285815102,-0.00002540735887,1.04999927438272,-0.000025253910486,0.00016656415854,0.499696116610133,0.114140858360485,-0.000570357436693],[0.000000051999946,0.000000000017091,-0.000000051999946,-0.000000000017091,3.48536190693913e-18,2.66706400570575e-19,0.000000068732172,0.000000068732172,0.000000068732172,1.049998988259232,-0.000026694457444,1.049998988188852,-0.000026694750051,0.000016325931354,0.048989190718736,0.090057817032793,-0.000044118595743],[0.000007668992832,0.000000913378412,-0.000007668991912,-0.000000913378266,0.00000000000092,0.000000000000147,0.000010208318435,0.000010208318435,0.000010208318435,1.049998590192856,-0.000027232667262,1.04999846359151,-0.00002750448635,0.002424778703645,2.753160981750232,0.324027488943079,-0.008920998395726],[0.000000047999929,0.000000015776801,-0.000000047999929,-0.000000015776801,6.21131245455049e-17,4.7530062695093e-18,0.000000066784285,0.000000066784285,0.000000066784285,1.049998579744498,-0.000026925591674,1.049998578487406,-0.000026908718669,0.000015863250389,0.047593368110781,0.212447386987307,-0.000101110866931],[0.000000346999554,0.000000114053123,-0.000000346999551,-0.000000114053123,0.000000000000003,2.48396104316578e-16,0.000000482794807,0.000000482794807,0.000000482794807,1.049998579744498,-0.000026925591674,1.049998570656775,-0.000026803613909,0.000114678100456,0.34403792537843,0.221313913157717,-0.000761403795402],[-0.000000000001432,0.000000000000179,0.000000000001432,-0.000000000000179,1.0097419586829e-27,1.26217744835362e-28,0.000000000001908,0.000000000001908,0.000000000001908,1.049998668676814,-0.000027101588717,1.049998668676815,-0.000027101588706,0.000000000453234,0.000015219960515,-99.998268142500706,0.000015219696927],[0.00000000000382,0.00000000000191,-0.00000000000382,-0.00000000000191,3.23117426778526e-27,1.61558713389263e-27,0.000000000005645,0.000000000005645,0.000000000005645,1.049998866161177,-0.000026786657722,1.049998866161176,-0.000026786657719,0.000000001340847,0.000079919765092,-99.998609059631178,0.000079918653455],[0.00000000000003,-0.000000000000008,-0.00000000000003,0.000000000000008,6.31088724176809e-30,1.57772181044202e-30,0.000000000000041,0.000000000000041,0.000000000000041,1.04999944379338,-0.000025602195631,1.04999944379338,-0.000025602195635,0.000000000009733,0.000030455464948,-99.999623407542956,0.000030455350255],[0.000000051999946,0.000000000017096,-0.000000051999946,-0.000000000017096,1.7663972142482e-17,1.35167774116583e-18,0.000000068732172,0.000000068732172,0.000000068732172,1.049998988188852,-0.000026694750051,1.049998987832167,-0.000026696232988,0.000016325931355,0.04898539369744,0.097816098198085,-0.000047915600802],[0.000007668991904,0.000000913378328,-0.000007668991583,-0.000000913378276,0.000000000000321,0.000000000000051,0.000010208318435,0.000010208318435,0.000010208318435,1.04999846359151,-0.00002750448635,1.049998419461525,-0.000027599235515,0.002424778703604,2.753157378331301,0.324283840172712,-0.008928044472451],[-0.000000000000955,0.000000000000358,0.000000000000955,-0.000000000000358,2.01948391736579e-28,5.04870979341448e-29,0.000000000001348,0.000000000001348,0.000000000001348,1.049998668676815,-0.000027101588706,1.049998668676815,-0.0000271015887,0.00000000032021,0.000011414839214,-99.995645885323171,0.000011414342199],[0.00000000000382,0.000000000001791,-0.00000000000382,-0.000000000001791,1.21169035041947e-26,5.04870979341448e-27,0.000000000005576,0.000000000005576,0.000000000005576,1.049998866161176,-0.000026786657719,1.049998866161173,-0.000026786657708,0.00000000132451,0.000076114044146,-99.998302210248014,0.00007611275189],[0.00000000000006,-0.000000000000008,-0.00000000000006,0.000000000000008,3.78653234506086e-29,1.57772181044202e-30,0.00000000000008,0.00000000000008,0.00000000000008,1.04999944379338,-0.000025602195635,1.049999443793379,-0.000025602195641,0.000000000018903,0.000026648544712,-99.999599241973783,0.000026648437916],[0.000000051999938,0.000000000017095,-0.000000051999938,-0.000000000017095,6.65617746717089e-17,5.09342273446447e-18,0.000000068732162,0.000000068732162,0.000000068732162,1.049998987832167,-0.000026696232988,1.049998986488097,-0.000026701821031,0.000016325929013,0.048981596653552,0.105575644301666,-0.000051712636256],[0.000007668991404,0.000000913378269,-0.000007668991334,-0.000000913378258,0.00000000000007,0.000000000000011,0.000010208318198,0.000010208318198,0.000010208318198,1.049998419461525,-0.000027599235515,1.049998409830916,-0.000027619912888,0.002424778647505,2.75315377527146,0.324454499699976,-0.008932731307528],[1.12927846971534e-19,0.000000000000239,-1.12927846959957e-19,-0.000000000000239,1.15771260075762e-29,0.0,0.000000000000316,0.000000000000316,0.000000000000316,1.049998668676815,-0.0000271015887,1.049998668676815,-0.000027101588698,0.000000000074956,0.000007610092691,-99.994227382887715,0.000007609653389],[0.000000000003939,0.00000000000197,-0.000000000003939,-0.00000000000197,2.42338070083895e-26,1.05013163703021e-26,0.000000000005821,0.000000000005821,0.000000000005821,1.049998866161173,-0.000026786657708,1.049998866161167,-0.000026786657688,0.000000001382748,0.00007230817329,-99.998246154232262,0.000072306905116],[0.00000000000006,-0.000000000000009,-0.00000000000006,0.000000000000009,2.52435489670724e-29,0.0,0.00000000000008,0.00000000000008,0.00000000000008,1.049999443793379,-0.000025602195641,1.049999443793379,-0.000025602195644,0.000000000018944,0.000022841615107,-99.999540728115178,0.000022841510202],[0.000007668991454,0.000000913378258,-0.000007668991312,-0.000000913378235,0.000000000000142,0.000000000000023,0.000010208318355,0.000010208318355,0.000010208318355,1.049998409830916,-0.000027619912888,1.049998390301558,-0.000027661843346,0.00242477868472,2.753150172323305,0.324607145484699,-0.008936922185286],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049998668676815,-0.000027101588698,1.049998668676815,-0.000027101588698,0.0,0.000003804896434,-99.999998838077715,0.00000380489639],[0.00000000000382,0.00000000000191,-0.00000000000382,-0.00000000000191,4.8467614016779e-27,2.01948391736579e-27,0.000000000005645,0.000000000005645,0.000000000005645,1.049998866161167,-0.000026786657688,1.049998866161165,-0.000026786657682,0.000000001340847,0.000068502827124,-99.998582782245521,0.000068501856289],[0.000000000000119,-0.000000000000006,-0.000000000000119,0.000000000000006,2.52435489670724e-29,1.57772181044202e-30,0.000000000000158,0.000000000000158,0.000000000000158,1.049999443793379,-0.000025602195644,1.049999443793379,-0.000025602195646,0.000000000037519,0.000019034713611,-99.99929581638331,0.000019034579571],[0.000007668991371,0.00000091337825,-0.000007668991237,-0.000000913378229,0.000000000000134,0.000000000000021,0.000010208318436,0.000010208318436,0.000010208318436,1.049998390301558,-0.000027661843346,1.049998371884464,-0.000027701385721,0.002424778703881,2.753146569502678,0.324766216181022,-0.008941289939691],[0.00000000000191,0.000000000000955,-0.00000000000191,-0.000000000000955,4.03896783473158e-28,0.0,0.000000000002822,0.000000000002822,0.000000000002822,1.049998866161165,-0.000026786657682,1.049998866161165,-0.00002678665768,0.000000000670423,0.000064698680246,-99.99456843157455,0.000064695166093],[-3.33375632313657e-21,-0.000000000000007,3.33375632316805e-21,0.000000000000007,3.14761652121944e-32,0.0,0.00000000000001,0.00000000000001,0.00000000000001,1.049999443793379,-0.000025602195646,1.049999443793379,-0.000025602195646,0.000000000002342,0.000015227980764,-99.999354707714218,0.000015227882499],[0.000007668990939,0.000000913378214,-0.000007668990861,-0.000000913378202,0.000000000000078,0.000000000000012,0.000010208318042,0.000010208318042,0.000010208318042,1.049998371884464,-0.000027701385721,1.049998361179759,-0.000027724369229,0.00242477861029,2.753142966874537,0.324918817980254,-0.008945479585275],[0.00000000000382,0.000000000000955,-0.00000000000382,-0.000000000000955,8.07793566946316e-28,2.01948391736579e-28,0.000000000005204,0.000000000005204,0.000000000005204,1.049998866161165,-0.00002678665768,1.049998866161165,-0.000026786657681,0.0000000012362,0.000060892134782,-99.997691148208872,0.000060890728873],[-3.33375632316805e-21,-0.000000000000007,3.33375632320132e-21,0.000000000000007,3.3271192105674e-32,0.0,0.00000000000001,0.00000000000001,0.00000000000001,1.049999443793379,-0.000025602195646,1.049999443793379,-0.000025602195646,0.000000000002342,0.000011420760706,-99.999999808980149,0.000011420760685],[0.0000076689911,0.000000913378216,-0.000007668991049,-0.000000913378208,0.000000000000051,0.000000000000008,0.000010208318358,0.000010208318358,0.000010208318358,1.049998361179759,-0.000027724369229,1.0499983541101,-0.000027739548122,0.002424778685274,2.753139364246311,0.325063108365482,-0.008949440395053],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049998866161165,-0.000026786657681,1.049998866161165,-0.000026786657679,0.0,0.000057088587564,-99.99651750478958,0.000057086599457],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999443793379,-0.000025602195646,1.049999443793379,-0.000025602195646,0.0,0.00000761385921,-99.999999997799549,0.00000761385921],[0.00000766899081,0.000000913378193,-0.000007668990739,-0.000000913378182,0.000000000000071,0.000000000000011,0.000010208318042,0.000010208318042,0.000010208318042,1.0499983541101,-0.000027739548122,1.049998344348874,-0.000027760505939,0.00242477861029,2.753135761853328,0.325206697952991,-0.008953381901286],[-0.000000000000448,0.000000000000776,0.000000000000448,-0.000000000000776,3.58458395332428e-27,1.41363874215605e-27,0.000000000001184,0.000000000001184,0.000000000001184,1.049998866161165,-0.000026786657679,1.049998866161166,-0.000026786657437,0.00000000028124,0.000053281779749,-99.998364590484513,0.000053280908374],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049999443793379,-0.000025602195646,1.049999443793379,-0.000025602195646,0.0,0.000003806929605,-99.999999989916304,0.000003806929605],[0.000001471996209,0.000000092754844,-0.000001471996208,-0.000000092754844,2.9263463668331e-16,2.21942060998854e-16,0.000001949506175,0.000001949506175,0.000001949506175,1.049998344348874,-0.000027760505939,1.049998344131022,-0.000027768395707,0.000463065595495,0.970304543790955,0.064575166923087,-0.000626575778815],[0.000006196995008,0.000000820624546,-0.000006196994977,-0.000000820624541,0.000000000000031,0.000000000000005,0.000008262537124,0.000008262537124,0.000008262537124,1.049998344348874,-0.000027760505939,1.04999833913013,-0.000027767971901,0.001962597873845,2.47437528194247,0.339028259221655,-0.00838883144498],[2.23231202739359e-19,0.000000000000477,-2.23231202693959e-19,-0.000000000000477,4.53998984307917e-29,0.0,0.000000000000631,0.000000000000631,0.000000000000631,1.049998866161166,-0.000026786657437,1.049998866161166,-0.000026786657432,0.000000000149911,0.000049476396106,-99.99857917980188,0.000049475693136],[0.000001471997163,0.000000092753889,-0.000001471997163,-0.000000092753889,3.54047701732799e-16,2.68519383681854e-16,0.000001949507355,0.000001949507355,0.000001949507355,1.049998344131022,-0.000027768395707,1.049998343867451,-0.000027777941245,0.000463065875868,0.970300740243902,0.064967573033457,-0.000630380842062],[0.000006196995455,0.000000820624452,-0.000006196995437,-0.000000820624449,0.000000000000017,0.000000000000003,0.000008262537734,0.000008262537734,0.000008262537734,1.04999833913013,-0.000027767971901,1.049998336170844,-0.000027772205474,0.001962598018768,2.474371679445992,0.339180837903863,-0.008392594595201],[0.000000000000955,0.000000000000358,-0.000000000000955,-0.000000000000358,4.03896783473158e-28,5.04870979341448e-29,0.000000000001348,0.000000000001348,0.000000000001348,1.049998866161166,-0.000026786657432,1.049998866161165,-0.000026786657427,0.00000000032021,0.000045670600206,-99.998066488850029,0.00004566971716],[0.000001471996685,0.000000092752457,-0.000001471996685,-0.000000092752456,4.10366498879264e-16,3.11232952341063e-16,0.000001949506606,0.000001949506606,0.000001949506606,1.049998343867451,-0.000027777941245,1.049998343561954,-0.000027789005218,0.000463065697971,0.970296936397176,0.06535996436553,-0.000634185731869],[0.000006196995467,0.00000082062452,-0.00000619699478,-0.000000820624411,0.000000000000687,0.000000000000109,0.000008262537785,0.000008262537785,0.000008262537785,1.049998336170844,-0.000027772205474,1.049998219405289,-0.00002793925099,0.001962598030978,2.474368077144056,0.339421920091722,-0.008398547637579],[0.000000000000865,0.000000000000366,-0.000000000000865,-0.000000000000366,9.08767762814606e-27,3.78653234506086e-27,0.000000000001242,0.000000000001242,0.000000000001242,1.049998866161165,-0.000026786657427,1.049998866161154,-0.000026786657426,0.000000000294961,0.000041864670791,-99.998294563024558,0.000041863956815],[0.00000147199764,0.000000092752934,-0.000001471997639,-0.000000092752933,6.25687779785464e-16,4.74538588465977e-16,0.000001949507906,0.000001949507906,0.000001949507906,1.049998343561954,-0.000027789005218,1.049998343096162,-0.000027805874502,0.000463066006628,0.970293132100616,0.065752483581822,-0.00063799183238],[0.000006196994989,0.000000820624459,-0.00000619699492,-0.000000820624448,0.000000000000069,0.000000000000011,0.000008262538067,0.000008262538067,0.000008262538067,1.049998219405289,-0.00002793925099,1.049998207707922,-0.000027955985313,0.001962598097995,2.474364476042454,0.339669897289815,-0.008404671274349],[0.000000000000836,0.000000000000351,-0.000000000000836,-0.000000000000351,7.77501308185829e-27,3.23117426778526e-27,0.000000000001198,0.000000000001198,0.000000000001198,1.049998866161154,-0.000026786657426,1.049998866161144,-0.000026786657425,0.000000000284508,0.000038058900657,-99.998123987951516,0.000038058186667],[0.000001471997401,0.000000092752695,-0.0000014719974,-0.000000092752694,8.04406014183728e-16,6.1008347413335e-16,0.000001949507571,0.000001949507571,0.000001949507571,1.049998343096162,-0.000027805874502,1.049998342497323,-0.000027827562254,0.000463065927107,0.970289328178884,0.066145064055736,-0.00064179849765],[0.000000419002186,0.000000069092791,-0.000000419002186,-0.000000069092791,9.30054352183839e-17,7.05378333529043e-17,0.000000561305721,0.000000561305721,0.000000561305721,1.049998207707922,-0.000027955985313,1.049998207452649,-0.000027963333921,0.000133326773468,0.208597715776285,0.092504391039661,-0.000192962046701],[0.000005777991749,0.000000751532747,-0.000005777991571,-0.000000751532699,0.000000000000178,0.000000000000047,0.000007701535142,0.000007701535142,0.000007701535142,1.049998207707922,-0.000027955985313,1.049998174754108,-0.000028192968039,0.001829343247614,2.265763167071146,0.362627353643454,-0.008216277012578],[0.000000000000716,0.000000000000298,-0.000000000000716,-0.000000000000298,6.05845175209737e-28,3.02922587604869e-28,0.000000000001026,0.000000000001026,0.000000000001026,1.049998866161144,-0.000026786657425,1.049998866161143,-0.000026786657426,0.000000000243606,0.000034253137548,-99.998058851397019,0.000034252472644],[0.000001471996684,0.000000092752216,-0.000001471996683,-0.000000092752216,5.77486311130774e-16,4.37981162623183e-16,0.000001949506586,0.000001949506586,0.000001949506586,1.049998342497323,-0.000027827562254,1.049998342067414,-0.000027843131985,0.000463065693258,0.970285524032187,0.066537656374766,-0.000645605247835],[0.000000000000328,-0.000000000000004,-0.000000000000328,0.000000000000004,4.03896783473158e-28,8.67746995743113e-30,0.000000000000434,0.000000000000434,0.000000000000434,1.049998207452649,-0.000027963333921,1.049998207452647,-0.000027963333923,0.000000000103071,0.00005325555465,-99.999925452521595,0.000053255514949],[0.000000419001231,0.000000069092433,-0.000000419001231,-0.000000069092433,4.52835989700766e-17,3.43443272749649e-17,0.000000561304399,0.000000561304399,0.000000561304399,1.049998207452649,-0.000027963333921,1.049998207328358,-0.000027966911914,0.000133326459348,0.208543696448425,0.118431764377683,-0.000246981979202],[0.000005777991586,0.000000751532785,-0.000005777991265,-0.000000751532699,0.000000000000321,0.000000000000086,0.000007701535176,0.000007701535176,0.000007701535176,1.049998174754108,-0.000028192968039,1.049998115326182,-0.000028620335621,0.001829343255734,2.26575956640583,0.362868061488059,-0.008221717816597],[0.000000000000955,0.000000000000239,-0.000000000000955,-0.000000000000239,6.05845175209737e-28,2.01948391736579e-28,0.000000000001301,0.000000000001301,0.000000000001301,1.049998866161143,-0.000026786657426,1.049998866161143,-0.00002678665743,0.00000000030905,0.00003044749156,-99.99738672416288,0.000030446695883],[0.000001471996444,0.000000092752216,-0.000001471996443,-0.000000092752215,8.15983684023273e-16,6.18864069127494e-16,0.000001949506271,0.000001949506271,0.000001949506271,1.049998342067414,-0.000027843131985,1.049998341459956,-0.000027865131901,0.00046306561845,0.970281720185336,0.066930222071462,-0.000649411710039],[0.000000000000298,-0.000000000000007,-0.000000000000298,0.000000000000007,3.02922587604869e-28,5.52202633654708e-30,0.000000000000395,0.000000000000395,0.000000000000395,1.049998207452647,-0.000027963333923,1.049998207452646,-0.000027963333926,0.000000000093717,0.00004945160453,-99.999950218134543,0.000049451579912],[0.000000419002067,0.000000069092552,-0.000000419002066,-0.000000069092552,2.12727824840385e-16,1.61338534453814e-16,0.000000561305514,0.000000561305514,0.000000561305514,1.049998207328358,-0.000027966911914,1.04999820674448,-0.000027983720125,0.000133326724295,0.208540094974373,0.120161876556394,-0.000250585691494],[0.000005777991339,0.000000751532793,-0.000005777991195,-0.000000751532754,0.000000000000145,0.000000000000039,0.00000770153529,0.00000770153529,0.00000770153529,1.049998115326182,-0.000028620335621,1.049998088601464,-0.000028812522677,0.001829343282739,2.265755966360245,0.363103259527022,-0.008227033766782],[0.000000000000239,0.000000000000477,-0.000000000000239,-0.000000000000477,1.0097419586829e-28,2.01948391736579e-28,0.000000000000706,0.000000000000706,0.000000000000706,1.049998866161143,-0.00002678665743,1.049998866161142,-0.000026786657428,0.000000000167606,0.000026641620709,-99.997280278724176,0.000026640896131],[0.000001471996921,0.000000092752454,-0.00000147199692,-0.000000092752453,8.82835971143556e-16,6.69566667256748e-16,0.000001949506921,0.000001949506921,0.000001949506921,1.049998341459956,-0.000027865131901,1.04999834080273,-0.000027888934224,0.000463065772779,0.970277916413454,0.067322849479395,-0.000653218741199],[0.000000000000358,-0.000000000000002,-0.000000000000358,0.000000000000002,3.02922587604869e-28,8.28303950482062e-30,0.000000000000473,0.000000000000473,0.000000000000473,1.049998207452646,-0.000027963333926,1.049998207452645,-0.000027963333927,0.000000000112435,0.000045647645041,-99.99999980883203,0.000045647644954],[0.000000209997238,0.000000069023535,-0.000000209997237,-0.000000069023535,0.000000000000001,8.61191235316554e-17,0.000000292178282,0.000000292178282,0.000000292178282,1.04999820674448,-0.000027983720125,1.049998201538241,-0.000027913839514,0.000069401016561,0.208280820212434,0.244758693746527,-0.000509785414877],[0.000000209004642,0.000000000068656,-0.000000209004642,-0.000000000068655,1.46269460980135e-16,1.10934698478027e-16,0.000000276257089,0.000000276257089,0.000000276257089,1.04999820674448,-0.000027983720125,1.049998206009467,-0.000028014118188,0.000065619260421,0.102934129310973,-0.081089028599664,0.000083468285556],[0.000005777990896,0.000000751532709,-0.000005777990853,-0.000000751532698,0.000000000000043,0.000000000000011,0.000007701534891,0.000007701534891,0.000007701534891,1.049998088601464,-0.000028812522677,1.049998080650125,-0.000028869703611,0.001829343188014,2.265752366544498,0.3632931935005,-0.008231324129233],[0.000000000000477,0.000000000000209,-0.000000000000477,-0.000000000000209,4.03896783473158e-28,1.51461293802434e-28,0.000000000000689,0.000000000000689,0.000000000000689,1.049998866161142,-0.000026786657428,1.049998866161141,-0.000026786657424,0.00000000016363,0.000022835712378,-99.996962540513039,0.000022835018753],[0.000001471997159,0.000000092752215,-0.000001471997158,-0.000000092752214,8.32585741547694e-16,6.31455478586225e-16,0.000001949507216,0.000001949507216,0.000001949507216,1.04999834080273,-0.000027888934224,1.049998340182912,-0.00002791138174,0.000463065842872,0.970274112941419,0.067715461414731,-0.000657025592566],[0.000000000000328,-9.3274596158378e-16,-0.000000000000328,9.3274596158379e-16,4.03896783473158e-28,1.06496222204837e-29,0.000000000000434,0.000000000000434,0.000000000000434,1.049998207452645,-0.000027963333927,1.049998207452644,-0.000027963333929,0.000000000103064,0.000041843629335,-99.999934226334503,0.000041843601813],[0.000000209997274,0.000000069023538,-0.000000209997274,-0.000000069023538,9.69207656077281e-17,7.41655431170965e-18,0.000000292178331,0.000000292178331,0.000000292178331,1.049998201538241,-0.000027913839514,1.049998201089881,-0.000027907821428,0.000069401028007,0.208277219556584,0.246500810337671,-0.000513405033956],[0.000000209004672,0.000000000068685,-0.000000209004672,-0.000000000068685,1.08816761016763e-16,8.25295543158756e-17,0.000000276257128,0.000000276257128,0.000000276257128,1.049998206009467,-0.000028014118188,1.049998205462657,-0.000028036732734,0.000065619269794,0.102930338755861,-0.077409247165201,0.000079677600336],[0.000005777991331,0.000000751532787,-0.000005777991282,-0.000000751532775,0.000000000000049,0.000000000000013,0.000007701535532,0.000007701535532,0.000007701535532,1.049998080650125,-0.000028869703611,1.049998071674637,-0.000028934249576,0.001829343340299,2.265748766844401,0.36346751946295,-0.008235260840112],[0.000000000000358,0.000000000000358,-0.000000000000358,-0.000000000000358,2.52435489670724e-28,1.51461293802434e-28,0.000000000000669,0.000000000000669,0.000000000000669,1.049998866161141,-0.000026786657424,1.049998866161141,-0.000026786657412,0.000000000159005,0.000019029991436,-99.996305991237776,0.000019029288467],[0.000001471997874,0.000000092752453,-0.000001471997873,-0.000000092752452,0.000000000000001,0.000000000000001,0.000001949508181,0.000001949508181,0.000001949508181,1.049998340182912,-0.00002791138174,1.049998339163834,-0.000027948289042,0.000463066072008,0.970270308794697,0.06810820308596,-0.000660833672397],[0.000000000000239,-0.000000000000003,-0.000000000000239,0.000000000000003,2.52435489670724e-28,5.91645678915759e-30,0.000000000000316,0.000000000000316,0.000000000000316,1.049998207452644,-0.000027963333929,1.049998207452643,-0.000027963333931,0.000000000074961,0.000038039707324,-99.999985351250075,0.000038039701752],[0.000000209997334,0.000000069023545,-0.000000209997334,-0.000000069023545,9.50976860074408e-17,7.27703210342911e-18,0.000000292178409,0.000000292178409,0.000000292178409,1.049998201089881,-0.000027907821428,1.049998200649956,-0.000027901916542,0.00006940104654,0.208273618996357,0.248235290408043,-0.000517008622959],[0.000000209004612,0.000000000068655,-0.000000209004612,-0.000000000068655,7.28718591088432e-17,5.52679655983141e-17,0.000000276257049,0.000000276257049,0.000000276257049,1.049998205462657,-0.000028036732734,1.049998205096472,-0.000028051877133,0.000065619251052,0.102926548193415,-0.073729142906188,0.000075886861806],[0.000005777991163,0.000000751532715,-0.000005777991117,-0.000000751532703,0.000000000000046,0.000000000000012,0.000007701535366,0.000007701535366,0.000007701535366,1.049998071674637,-0.000028934249576,1.049998063233354,-0.000028994953882,0.001829343300717,2.265745167215382,0.363642275218902,-0.008239207276724],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049998866161141,-0.000026786657412,1.049998866161141,-0.00002678665741,0.0,0.000015224233011,-99.992610201670686,0.000015223107971],[0.000001471997216,0.000000092752362,-0.00000147199721,-0.000000092752357,0.000000000000007,0.000000000000005,0.000001949507307,0.000001949507307,0.000001949507307,1.049998339163834,-0.000027948289042,1.049998334318337,-0.000028123775168,0.00046306586452,0.970266505041543,0.068502032344233,-0.000664652275109],[0.000000000000119,-0.000000000000003,-0.000000000000119,0.000000000000003,7.57306469012171e-29,1.57772181044202e-30,0.000000000000158,0.000000000000158,0.000000000000158,1.049998207452643,-0.000027963333931,1.049998207452642,-0.000027963333933,0.000000000037488,0.000034235729096,-99.999983810268603,0.000034235723554],[0.000000209997095,0.00000006902353,-0.000000209997095,-0.00000006902353,7.67871894981874e-17,5.87588078999288e-18,0.000000292178103,0.000000292178103,0.000000292178103,1.049998200649956,-0.000027901916542,1.049998200294735,-0.000027897148595,0.00006940097387,0.208270018408449,0.24996970048242,-0.00052061194121],[0.000000100005661,0.000000000032897,-0.000000100005661,-0.000000000032897,1.66610189584839e-17,1.26361730936743e-17,0.000000132184972,0.000000132184972,0.000000132184972,1.049998205096472,-0.000028051877133,1.049998204921498,-0.000028059113577,0.000031397855368,0.094359249890261,-0.1310313709724,0.00012364021877],[0.000000108998932,0.000000000035778,-0.000000108998932,-0.000000000035777,3.67463737470352e-16,2.81189636455206e-17,0.000000144072052,0.000000144072052,0.000000144072052,1.049998205096472,-0.000028051877133,1.049998201556567,-0.00002806659459,0.00003422138983,0.102752183757574,0.095800433335677,-0.000098437037302],[0.000005777991117,0.000000751532703,-0.000005777991064,-0.000000751532688,0.000000000000053,0.000000000000014,0.000007701535366,0.000007701535366,0.000007701535366,1.049998063233354,-0.000028994953882,1.049998053383988,-0.000029065784214,0.001829343300717,2.265741567701644,0.363817794794982,-0.008243171007365],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049998866161141,-0.00002678665741,1.049998866161141,-0.00002678665741,0.0,0.000011417837447,-99.987311617668922,0.000011416388708],[0.000001471997031,0.000000092752447,-0.000001471997029,-0.000000092752446,0.000000000000001,0.000000000000001,0.000001949507079,0.000001949507079,0.000001949507079,1.049998334318337,-0.000028123775168,1.049998333262772,-0.000028162003898,0.000463065810182,0.970262701363341,0.068895880044345,-0.000668471026846],[0.000000000000179,-0.000000000000004,-0.000000000000179,0.000000000000004,1.51461293802434e-28,3.15544362088405e-30,0.000000000000237,0.000000000000237,0.000000000000237,1.049998207452642,-0.000027963333933,1.049998207452641,-0.000027963333935,0.000000000056229,0.000030431760238,-99.999885526012804,0.000030431725401],[0.000000209997095,0.000000069023538,-0.000000209997095,-0.000000069023538,1.15251485028597e-16,8.81925410725257e-18,0.000000292178106,0.000000292178106,0.000000292178106,1.049998200294735,-0.000027897148595,1.049998199761577,-0.000027889992287,0.000069400974601,0.208266417823719,0.251704265361922,-0.000524215456979],[0.000000100005691,0.000000000032897,-0.000000100005691,-0.000000000032897,4.41860692635616e-17,3.35118921074305e-17,0.000000132185012,0.000000132185012,0.000000132185012,1.049998204921498,-0.000028059113577,1.049998204457456,-0.000028078305054,0.000031397864738,0.094355445959074,-0.127005156951898,0.000119836282233],[0.000000108998951,0.000000000035773,-0.00000010899895,-0.000000000035773,2.23662093747152e-17,1.71150012178544e-18,0.000000144072077,0.000000144072077,0.000000144072077,1.049998201556567,-0.00002806659459,1.049998201341106,-0.000028067490389,0.000034221395685,0.102748393338524,0.099493028568883,-0.000102227488338],[0.0000057779919,0.000000751532868,-0.000005777991884,-0.000000751532863,0.000000000000015,0.000000000000004,0.000007701536492,0.000007701536492,0.000007701536492,1.049998053383988,-0.000029065784214,1.049998050549884,-0.000029086165278,0.001829343568121,2.265737968263311,0.36398837427437,-0.008247022795999],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049998866161141,-0.00002678665741,1.049998866161141,-0.00002678665741,0.0,0.000007612191454,-99.989677891540225,0.000007611405715],[0.00000005499993,0.000000000018084,-0.00000005499993,-0.000000000018084,2.14095584526854e-16,1.63829663670202e-17,0.000000072697518,0.000000072697518,0.000000072697518,1.049998333262772,-0.000028162003898,1.049998329175391,-0.000028178997398,0.000017267818857,0.051814819048294,0.142837488727867,-0.000074010986317],[0.000001416997383,0.000000092734478,-0.000001416997378,-0.000000092734474,0.000000000000005,0.000000000000004,0.000001876957846,0.000001876957846,0.000001876957846,1.049998333262772,-0.000028162003898,1.049998329413153,-0.000028300690933,0.000445833213653,0.970247486837939,0.070464427879735,-0.000683679340618],[0.000000000000149,-0.000000000000004,-0.000000000000149,0.000000000000004,7.57306469012171e-29,3.15544362088405e-30,0.000000000000197,0.000000000000197,0.000000000000197,1.049998207452641,-0.000027963333935,1.049998207452641,-0.000027963333937,0.000000000046862,0.000026627819487,-99.999953691137406,0.000026627807156],[0.000000209997333,0.000000069023542,-0.000000209997333,-0.000000069023542,1.38948793445033e-16,1.06325928286464e-17,0.000000292178407,0.000000292178407,0.000000292178407,1.049998199761577,-0.000027889992287,1.049998199118794,-0.000027881364558,0.000069401046174,0.208262817235117,0.253439374067028,-0.000527819980415],[0.000000100005601,0.000000000032838,-0.000000100005601,-0.000000000032838,1.53482105344683e-17,1.16404924945464e-17,0.000000132184893,0.000000132184893,0.000000132184893,1.049998204457456,-0.000028078305054,1.049998204296269,-0.000028084971303,0.000031397836623,0.094351642046636,-0.12297862144929,0.000116032348704],[0.000000108998831,0.00000000003578,-0.000000108998831,-0.00000000003578,2.04326713841501e-17,1.56354436125787e-18,0.000000144071919,0.000000144071919,0.000000144071919,1.049998201341106,-0.000028067490389,1.04999820114427,-0.000028068308748,0.000034221358208,0.102744602901169,0.103185866887077,-0.000106017909183],[0.000005777991884,0.000000751532714,-0.000005777991797,-0.000000751532691,0.000000000000087,0.000000000000023,0.000007701536466,0.000007701536466,0.000007701536466,1.049998050549884,-0.000029086165278,1.049998034448883,-0.000029201953385,0.001829343562079,2.265734368969797,0.364164455437191,-0.008250999226412],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049998866161141,-0.00002678665741,1.049998866161141,-0.00002678665741,0.0,0.000003805795902,-99.980414623933157,0.000003805050523],[0.00000005499993,0.000000000018083,-0.00000005499993,-0.000000000018083,4.04462732176461e-17,3.09501831624394e-18,0.000000072697518,0.000000072697518,0.000000072697518,1.049998329175391,-0.000028178997398,1.049998328403216,-0.000028182207757,0.000017267818857,0.051811026966461,0.150167021260146,-0.00007780307588],[0.000001416997318,0.000000092734414,-0.000001416997311,-0.000000092734409,0.000000000000007,0.000000000000005,0.000001876957763,0.000001876957763,0.000001876957763,1.049998329413153,-0.000028300690933,1.049998324302378,-0.000028484812632,0.000445833193731,0.970243683272172,0.070859054275891,-0.000687505498138],[0.000000000000119,-0.000000000000003,-0.000000000000119,0.000000000000003,7.57306469012171e-29,1.57772181044202e-30,0.000000000000158,0.000000000000158,0.000000000000158,1.049998207452641,-0.000027963333937,1.04999820745264,-0.000027963333939,0.000000000037488,0.000022823813151,-99.999801103683524,0.000022823767755],[0.000000209997393,0.000000069023538,-0.000000209997393,-0.000000069023538,1.04972925502123e-16,8.03269137149835e-18,0.00000029217848,0.00000029217848,0.00000029217848,1.049998199118794,-0.000027881364558,1.049998198633186,-0.000027874846489,0.000069401063611,0.208259216685802,0.255174471333203,-0.000531424355181],[0.00000000000573,-0.00000000000003,-0.00000000000573,0.00000000000003,6.05845175209737e-26,4.61010313011159e-26,0.000000000007574,0.000000000007574,0.000000000007574,1.049998204296269,-0.000028084971303,1.049998204296258,-0.000028084971767,0.000000001798959,0.000064665549858,-99.996264179186824,0.000064663134069],[0.000000099999886,0.000000000032908,-0.000000099999886,-0.000000000032908,2.53423827193684e-16,1.93924335768784e-17,0.00000013217734,0.00000013217734,0.00000013217734,1.049998204296269,-0.000028084971303,1.049998201635253,-0.000028096034578,0.000031396042381,0.094283172648804,-0.050450820939559,0.000047566634609],[0.00000010899907,0.000000000035773,-0.00000010899907,-0.000000000035773,8.48805098998634e-18,6.49517733075471e-19,0.000000144072235,0.000000144072235,0.000000144072235,1.04999820114427,-0.000028068308748,1.049998201062502,-0.000028068648705,0.000034221433163,0.102740812435165,0.106878849345354,-0.000109808198139],[0.000005777991678,0.000000751532721,-0.000005777991629,-0.000000751532708,0.000000000000049,0.000000000000013,0.000007701536315,0.000007701536315,0.000007701536315,1.049998034448883,-0.000029201953385,1.049998025354941,-0.000029267351202,0.001829343526122,2.265730769757843,0.364346023551399,-0.008255099963993],[0.000000054999907,0.000000000018084,-0.000000054999907,-0.000000000018084,8.34487595212076e-17,6.38564390611625e-18,0.000000072697488,0.000000072697488,0.000000072697488,1.049998328403216,-0.000028182207757,1.049998326810063,-0.000028188831375,0.00001726781183,0.051807234914612,0.157497545739666,-0.000081595123506],[0.000000386999121,0.000000092395221,-0.000000386999121,-0.000000092395221,8.72700692534066e-17,6.61880015313983e-17,0.000000525902231,0.000000525902231,0.000000525902231,1.049998324302378,-0.000028484812632,1.049998324037805,-0.000028491165037,0.000124917393401,0.278648817170745,0.242744034423169,-0.000676403380673],[0.000001029998787,0.000000000338703,-0.000001029998771,-0.000000000338702,0.000000000000015,0.000000000000001,0.000001361426387,0.000001361426387,0.000001361426387,1.049998324302378,-0.000028484812632,1.049998308511145,-0.000028550465497,0.00032337918637,0.970186631507278,0.076759574394302,-0.000744711129175],[0.00000000000006,-9.3261487821963e-16,-0.00000000000006,9.32614878219631e-16,1.26217744835362e-29,7.88860905221012e-31,0.000000000000079,0.000000000000079,0.000000000000079,1.04999820745264,-0.000027963333939,1.04999820745264,-0.00002796333394,0.000000000018741,0.000019019872401,-99.999826237279365,0.000019019839352],[0.000000209997094,0.000000069023527,-0.000000209997094,-0.000000069023527,1.21471750886098e-16,9.29523368405029e-18,0.000000292178101,0.000000292178101,0.000000292178101,1.049998198633186,-0.000027874846489,1.049998198071252,-0.000027867303947,0.000069400973504,0.208255616166207,0.256909489409352,-0.000535028440159],[0.000000000005252,-2.5745585832294e-18,-0.000000000005252,2.5745585895754e-18,8.07793566946316e-27,6.34599925577021e-27,0.000000000006942,0.000000000006942,0.000000000006942,1.049998204296258,-0.000028084971767,1.049998204296256,-0.000028084971837,0.000000001649023,0.000060861552891,-99.995956045652648,0.000060859091677],[0.000000099999871,0.000000000032905,-0.000000099999871,-0.000000000032905,2.7369990336171e-17,2.0943997461272e-18,0.00000013217732,0.00000013217732,0.00000013217732,1.049998201635253,-0.000028096034578,1.049998201347861,-0.000028097229422,0.000031396037696,0.094279368787899,-0.046418170916945,0.000043762758543],[0.00000010899895,0.000000000035788,-0.00000010899895,-0.000000000035788,1.82958587211337e-17,1.40003117517751e-18,0.000000144072077,0.000000144072077,0.000000144072077,1.049998201062502,-0.000028068648705,1.049998200886252,-0.00002806938148,0.000034221395687,0.102737022020606,0.110572409604614,-0.000113598800804],[0.000005777991748,0.000000751532797,-0.000005777991711,-0.000000751532788,0.000000000000037,0.00000000000001,0.000007701536486,0.000007701536486,0.000007701536486,1.049998025354941,-0.000029267351202,1.049998018604258,-0.0000293158978,0.001829343566913,2.265727170595519,0.36451937581811,-0.008259014539996],[0.000000386998823,0.000000092394953,-0.000000386998823,-0.000000092394952,3.43430514315881e-16,2.60466866445434e-16,0.000000525901765,0.000000525901765,0.000000525901765,1.049998324037805,-0.000028491165037,1.049998322996641,-0.000028516163436,0.000124917282685,0.278645214994456,0.244041637648976,-0.000680010345903],[0.00000102999877,0.000000000338708,-0.000001029998705,-0.000000000338703,0.000000000000064,0.000000000000005,0.000001361426384,0.000001361426384,0.000001361426384,1.049998308511145,-0.000028550465497,1.049998243154578,-0.000028822188776,0.000323379185785,0.970182828436921,0.077151945923438,-0.000748514931154],[0.000000000000119,-9.32644007856123e-16,-0.000000000000119,9.32644007856124e-16,2.52435489670724e-29,7.88860905221012e-31,0.000000000000158,0.000000000000158,0.000000000000158,1.04999820745264,-0.00002796333394,1.04999820745264,-0.00002796333394,0.000000000037479,0.000015215912912,-99.999999126580136,0.000015215912779],[0.000000209997333,0.000000069023538,-0.000000209997333,-0.000000069023538,1.14214954929174e-16,8.73991094289649e-18,0.000000292178406,0.000000292178406,0.000000292178406,1.049998198071252,-0.000027867303947,1.049998197542889,-0.000027860212011,0.000069401045809,0.208252015664941,0.258644603328311,-0.00053863259984],[0.000000000000119,-0.00000000000006,-0.000000000000119,0.00000000000006,2.52435489670724e-29,2.52435489670724e-29,0.000000000000176,0.000000000000176,0.000000000000176,1.049998204296256,-0.000028084971837,1.049998204296256,-0.000028084971847,0.000000000041901,0.000007607937717,-99.999075606407544,0.00000760786739],[0.000000000006685,0.000000000001432,-0.000000000006685,-0.000000000001432,6.46234853557053e-27,6.05845175209737e-27,0.000000000009036,0.000000000009036,0.000000000009036,1.049998204296256,-0.000028084971837,1.049998204296255,-0.000028084971873,0.000000002146402,0.000049450011724,-99.992859016065651,0.000049446480506],[0.000000099999811,0.000000000032894,-0.000000099999811,-0.000000000032894,2.6474292699119e-17,2.02585889494916e-18,0.000000132177241,0.000000132177241,0.000000132177241,1.049998201347861,-0.000028097229422,1.049998201069874,-0.000028098385167,0.000031396018956,0.094275565016003,-0.042385259790411,0.000039958943151],[0.00000010899895,0.000000000035791,-0.00000010899895,-0.000000000035791,4.65993058349585e-17,3.56585856173473e-18,0.000000144072077,0.000000144072077,0.000000144072077,1.049998200886252,-0.00002806938148,1.049998200437345,-0.000028071247845,0.000034221395687,0.10273323165416,0.1142659262497,-0.000117389078716],[0.00000577799195,0.000000751532788,-0.000005777991917,-0.000000751532779,0.000000000000033,0.000000000000009,0.000007701536799,0.000007701536799,0.000007701536799,1.049998018604258,-0.0000293158978,1.049998012535079,-0.000029359543452,0.001829343641242,2.265723571490044,0.364690074284258,-0.008262868975943],[0.000000386998823,0.000000092394982,-0.000000386998822,-0.000000092394982,6.13178585462176e-16,4.65051210651798e-16,0.000000525901774,0.000000525901774,0.000000525901774,1.049998322996641,-0.000028516163436,1.049998321137692,-0.00002856079689,0.000124917284861,0.278641612946384,0.245341326234092,-0.000683623028643],[0.000000560999125,0.000000000184462,-0.000000560999121,-0.000000000184462,0.000000000000004,2.84438573340972e-16,0.000000741514534,0.000000741514534,0.000000741514534,1.049998243154578,-0.000028822188776,1.049998236197275,-0.000028851114134,0.000176131716742,0.528402738565781,0.080429156052411,-0.000424989863186],[0.000000468999687,0.000000000154247,-0.000000468999685,-0.000000000154247,0.000000000000002,1.1489528022222e-16,0.000000619911991,0.000000619911991,0.000000619911991,1.049998243154578,-0.000028822188776,1.049998239792992,-0.000028836164736,0.000147247502422,0.441776288248364,0.074093451316917,-0.000327327299063],[-4.55150570198804e-22,-9.32585748583139e-16,4.5515057019961e-22,9.32585748583139e-16,8.06671243308287e-34,0.0,0.000000000000001,0.000000000000001,0.000000000000001,1.04999820745264,-0.00002796333394,1.04999820745264,-0.00002796333394,0.000000000000293,0.000011411915945,-99.999783875141205,0.000011411891281],[0.000000209997273,0.000000069023556,-0.000000209997273,-0.000000069023556,1.22888598778838e-16,9.40365390129884e-18,0.000000292178338,0.000000292178338,0.000000292178338,1.049998197542889,-0.000027860212011,1.049998196974402,-0.000027852581504,0.000069401029835,0.208248415224422,0.260379761228922,-0.000542236726324],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049998204296256,-0.000028084971847,1.049998204296256,-0.000028084971847,0.0,0.000003803996967,-99.997418051478462,0.00000380389875],[0.00000000000955,0.000000000000955,-0.00000000000955,-0.000000000000955,4.8467614016779e-27,5.25065818515105e-27,0.000000000012685,0.000000000012685,0.000000000012685,1.049998204296255,-0.000028084971873,1.049998204296254,-0.000028084971901,0.000000003013178,0.000045646764317,-99.99513112064983,0.000045644541831],[0.00000009999999,0.000000000032905,-0.00000009999999,-0.000000000032905,2.11768427678722e-17,1.62048887695565e-18,0.000000132177478,0.000000132177478,0.000000132177478,1.049998201069874,-0.000028098385167,1.049998200847512,-0.000028099309646,0.000031396075173,0.094271761169152,-0.038352020153052,0.000036155124842],[0.00000010899895,0.000000000035791,-0.00000010899895,-0.000000000035791,2.73395633245188e-17,2.09207125208991e-18,0.000000144072077,0.000000144072077,0.000000144072077,1.049998200437345,-0.000028071247845,1.049998200173973,-0.000028072342833,0.000034221395687,0.10272944121629,0.117959851288793,-0.000121179496089],[0.000005777991917,0.000000751532779,-0.000005777991877,-0.000000751532768,0.000000000000041,0.000000000000011,0.000007701536799,0.000007701536799,0.000007701536799,1.049998012535079,-0.000029359543452,1.049998004995436,-0.000029413763741,0.001829343641242,2.265719972505082,0.364861454521809,-0.008266738847073],[0.000000280999555,0.000000092359981,-0.000000280999553,-0.000000092359981,0.000000000000002,1.31048464206433e-16,0.000000390966374,0.000000390966374,0.000000390966374,1.049998321137692,-0.00002856079689,1.049998315217097,-0.000028481329129,0.000092866121247,0.278609195264422,0.256994846776889,-0.000716011274476],[0.000000105999647,0.000000000034744,-0.000000105999647,-0.000000000034744,1.12010710502623e-17,8.49518974608078e-18,0.000000140107658,0.000000140107658,0.000000140107658,1.049998321137692,-0.00002856079689,1.049998321026711,-0.000028565386793,0.000033279728361,0.099869698112699,0.136097896365662,-0.000135920558238],[0.000000560999103,0.000000000184462,-0.000000560999093,-0.000000000184461,0.000000000000009,7.19131000446439e-16,0.00000074151451,0.00000074151451,0.00000074151451,1.049998236197275,-0.000028851114134,1.049998218607493,-0.000028924244589,0.000176131710886,0.528398937084716,0.081149193354095,-0.000428791475136],[0.000000468999387,0.00000000015423,-0.000000468999387,-0.00000000015423,2.1223442814861e-16,1.62405450102461e-17,0.000000619911596,0.000000619911596,0.000000619911596,1.049998239792992,-0.000028836164736,1.049998239317828,-0.000028838140252,0.000147247408726,0.441772486818834,0.074954584752641,-0.000331128733046],[0.000000000000015,-4.66300156700692e-16,-0.000000000000015,4.66300156700692e-16,3.15544362088405e-30,0.0,0.00000000000002,0.00000000000002,0.00000000000002,1.04999820745264,-0.00002796333394,1.049998207452639,-0.000027963333941,0.000000000004687,0.000007607937717,-99.999927814588034,0.000007607932225],[0.000000209997094,0.000000069023553,-0.000000209997094,-0.000000069023553,1.87859466904591e-16,1.43753534898774e-17,0.000000292178112,0.000000292178112,0.000000292178112,1.049998196974402,-0.000027852581504,1.049998196105356,-0.000027840916747,0.000069400976064,0.2082448147445,0.262115547972496,-0.000545842037292],[0.00000000000955,-0.000000000000955,-0.00000000000955,0.000000000000955,6.46234853557053e-27,4.64481300994132e-27,0.000000000012685,0.000000000012685,0.000000000012685,1.049998204296254,-0.000028084971901,1.049998204296254,-0.000028084971933,0.000000003013178,0.000041843516912,-99.992078021421676,0.000041840202077],[0.000000099999692,0.00000000003289,-0.000000099999692,-0.00000000003289,1.68689390772552e-17,1.29084057489768e-18,0.000000132177083,0.000000132177083,0.000000132177083,1.049998200847512,-0.000028099309646,1.049998200670383,-0.000028100046066,0.000031395981477,0.09426795734104,-0.034318369289767,0.000032351225722],[0.00000010899895,0.00000000003581,-0.00000010899895,-0.00000000003581,1.91487547245698e-17,1.46529497587551e-18,0.000000144072077,0.000000144072077,0.000000144072077,1.049998200173973,-0.000028072342833,1.049998199989507,-0.000028073109765,0.000034221395689,0.102725650791721,0.121654162041504,-0.000124970029672],[0.000005777991877,0.000000751532857,-0.000005777991801,-0.000000751532837,0.000000000000075,0.00000000000002,0.000007701536815,0.000007701536815,0.000007701536815,1.049998004995436,-0.000029413763741,1.049997991082281,-0.000029513818249,0.001829343644867,2.265716373549219,0.365039727755044,-0.008270764881706],[0.000000280999559,0.00000009235998,-0.000000280999553,-0.000000092359979,0.000000000000006,4.28939072676354e-16,0.000000390966381,0.000000390966381,0.000000390966381,1.049998315217097,-0.000028481329129,1.0499982958382,-0.000028221220551,0.000092866122802,0.278605593460072,0.258331781037518,-0.000719726791656],[0.000000105999707,0.000000000034774,-0.000000105999707,-0.000000000034774,2.02160559427796e-17,1.53324092198818e-17,0.000000140107737,0.000000140107737,0.000000140107737,1.049998321026711,-0.000028565386793,1.049998320826407,-0.0000285736708,0.000033279747103,0.099865905891688,0.139900378916486,-0.000139712780751],[0.000000468999506,0.00000000015423,-0.000000468999506,-0.00000000015423,1.71161006442861e-16,1.30975382437422e-17,0.000000619911754,0.000000619911754,0.000000619911754,1.049998239317828,-0.000028838140252,1.049998238934623,-0.000028839733449,0.000147247446204,0.441768685258127,0.075815766712821,-0.000334930315826],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049998207452639,-0.000027963333941,1.049998207452639,-0.000027963333941,0.0,0.000003803973543,-99.999819599412547,0.000003803966681],[0.000000209997168,0.000000069023553,-0.000000209997168,-0.000000069023553,5.13024271578305e-16,3.92575154157339e-17,0.000000292178206,0.000000292178206,0.000000292178206,1.049998196105356,-0.000027840916747,1.049998193732085,-0.000027809061547,0.000069400998316,0.208241214308223,0.263854283311697,-0.000549453363573],[0.000000000006685,-0.00000000000191,-0.000000000006685,0.00000000000191,4.8467614016779e-27,2.42338070083895e-27,0.000000000009189,0.000000000009189,0.000000000009189,1.049998204296254,-0.000028084971933,1.049998204296253,-0.000028084971959,0.00000000218274,0.000038041168977,-99.994157949860068,0.000038038946593],[0.000000099999752,0.00000000003289,-0.000000099999752,-0.00000000003289,3.56636869694319e-17,2.72904744720126e-18,0.000000132177162,0.000000132177162,0.000000132177162,1.049998200670383,-0.000028100046066,1.049998200295905,-0.000028101602978,0.000031396000216,0.094264153437973,-0.030284430647105,0.000028547362173],[0.000000108998771,0.000000000035806,-0.000000108998771,-0.000000000035806,3.68343526769863e-17,2.81862755324906e-18,0.00000014407184,0.00000014407184,0.00000014407184,1.049998199989507,-0.000028073109765,1.049998199634668,-0.00002807458503,0.000034221339472,0.102721860386243,0.125348636770175,-0.000128760451659],[0.000005777991921,0.000000751532852,-0.000005777991855,-0.000000751532835,0.000000000000066,0.000000000000017,0.000007701536974,0.000007701536974,0.000007701536974,1.049997991082281,-0.000029513818249,1.049997978952217,-0.000029601049908,0.001829343682636,2.265712774753469,0.365222022453111,-0.008274882018933],[0.00000028099954,0.000000092359977,-0.000000280999538,-0.000000092359977,0.000000000000002,1.84908470290806e-16,0.000000390966363,0.000000390966363,0.000000390966363,1.0499982958382,-0.000028221220551,1.04999828748428,-0.000028109092083,0.000092866118702,0.278601992065545,0.259672531380376,-0.000723452845273],[0.000000105999647,0.000000000034684,-0.000000105999647,-0.000000000034684,7.21824272293374e-18,5.47451853961538e-18,0.000000140107658,0.000000140107658,0.000000140107658,1.049998320826407,-0.0000285736708,1.049998320754888,-0.000028576628653,0.000033279728355,0.099862113703296,0.143703041503524,-0.000143504894701],[0.000000468999745,0.0000000001542,-0.000000468999745,-0.0000000001542,1.36783062547801e-16,1.04668748443421e-17,0.00000061991207,0.00000061991207,0.00000061991207,1.049998238934623,-0.000028839733449,1.049998238628384,-0.00002884100665,0.000147247521156,0.441764883809853,0.076676953860824,-0.000338731856132],[0.000000209997213,0.000000069023553,-0.000000209997213,-0.000000069023553,4.37421048851922e-17,3.34722274464278e-18,0.000000292178262,0.000000292178262,0.000000292178262,1.049998193732085,-0.000027809061547,1.049998193529732,-0.00002780634547,0.000069401011668,0.208237613880831,0.265592013278456,-0.000553062471109],[0.000000000004775,-0.00000000000191,-0.000000000004775,0.00000000000191,2.42338070083895e-27,1.61558713389263e-27,0.000000000006797,0.000000000006797,0.000000000006797,1.049998204296253,-0.000028084971959,1.049998204296253,-0.000028084971988,0.000000001614593,0.000034236422468,-99.99586148668503,0.000034235005589],[0.000000099999752,0.00000000003289,-0.000000099999752,-0.00000000003289,2.80860111092867e-17,2.14919075526134e-18,0.000000132177162,0.000000132177162,0.000000132177162,1.049998200295905,-0.000028101602978,1.049998200000994,-0.000028102829084,0.000031396000216,0.094260349609862,-0.026250147797982,0.000024743481087],[0.00000010899895,0.000000000035818,-0.00000010899895,-0.000000000035818,1.83338031501927e-17,1.40293366793642e-18,0.000000144072077,0.000000144072077,0.000000144072077,1.049998199634668,-0.00002807458503,1.049998199458052,-0.000028075319322,0.00003422139569,0.10271806999587,0.129043345035564,-0.000132550833479],[0.000005777991855,0.00000075153288,-0.00000577799181,-0.000000751532868,0.000000000000045,0.000000000000012,0.000007701536981,0.000007701536981,0.000007701536981,1.049997978952217,-0.000029601049908,1.04999797070078,-0.000029660388955,0.001829343684449,2.265709176071069,0.365399342977022,-0.008278886443134],[0.000000105999804,0.000000000034853,-0.000000105999803,-0.000000000034853,8.05573027061697e-16,6.16438523436498e-17,0.000000140107865,0.000000140107865,0.000000140107865,1.049998320754888,-0.000028576628653,1.049998312774953,-0.000028609805657,0.000033279777562,0.099854529230048,0.151307199480081,-0.000151087091732],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049998320754888,-0.000028576628653,1.049998320754888,-0.000028576628653,0.0,0.000003803547234,-99.999998668378595,0.000003803547183],[0.000000468999148,0.000000000154215,-0.000000468999147,-0.000000000154215,2.08800291882645e-16,1.59777645930396e-17,0.000000619911281,0.000000619911281,0.000000619911281,1.049998238628384,-0.00002884100665,1.049998238160909,-0.000028842950202,0.000147247333769,0.441761082249153,0.077538161820671,-0.000342533422815],[0.000000209997451,0.000000069023538,-0.000000209997451,-0.000000069023538,2.02041180721792e-17,1.54606012186571e-18,0.000000292178555,0.000000292178555,0.000000292178555,1.049998193529732,-0.00002780634547,1.049998193436267,-0.000027805090941,0.000069401081413,0.20823401345672,0.267326116005345,-0.000556663900376],[0.000000000004775,-2.3405078213456e-18,-0.000000000004775,2.34050782299734e-18,2.42338070083895e-27,1.65174030562268e-27,0.000000000006311,0.000000000006311,0.000000000006311,1.049998204296253,-0.000028084971988,1.049998204296252,-0.000028084972008,0.000000001499112,0.00003043287522,-99.996347875901989,0.000030431763774],[0.000000099999811,0.000000000032905,-0.000000099999811,-0.000000000032905,1.94818769008571e-17,1.49078848848394e-18,0.000000132177241,0.000000132177241,0.000000132177241,1.049998200000994,-0.000028102829084,1.049998199796429,-0.000028103679572,0.000031396018957,0.09425654581923,-0.022215603460699,0.000020939660455],[0.000000108999189,0.000000000035818,-0.000000108999189,-0.000000000035818,1.30181817152494e-17,9.96173417827155e-19,0.000000144072393,0.000000144072393,0.000000144072393,1.049998199458052,-0.000028075319322,1.049998199332644,-0.000028075840715,0.000034221470645,0.102714279490185,0.132738632768416,-0.000136341530253],[0.000005777992407,0.000000751532927,-0.000005777992378,-0.00000075153292,0.000000000000029,0.000000000000008,0.000007701537774,0.000007701537774,0.000007701537774,1.04999797070078,-0.000029660388955,1.049997965280293,-0.000029699369629,0.00182934387269,2.265705577517261,0.365570761873393,-0.008282757141538],[0.000000105999796,0.000000000034853,-0.000000105999796,-0.000000000034853,1.16986817309505e-16,8.95203671285832e-18,0.000000140107855,0.000000140107855,0.000000140107855,1.049998312774953,-0.000028609805657,1.049998311616092,-0.000028614623685,0.000033279775219,0.099850737238642,0.155110611507516,-0.000154879089126],[0.000000468999267,0.0000000001542,-0.000000468999267,-0.0000000001542,2.4475615227932e-16,1.87291624991661e-17,0.000000619911439,0.000000619911439,0.000000619911439,1.049998238160909,-0.000028842950202,1.049998237612934,-0.000028845228439,0.000147247371245,0.441757280800878,0.078399360240703,-0.000346334881965],[0.000000209998406,0.000000069023418,-0.000000209998406,-0.000000069023418,2.16108545091114e-17,1.65368624572621e-18,0.000000292179705,0.000000292179705,0.000000292179705,1.049998193436267,-0.000027805090941,1.049998193336295,-0.000027803749072,0.000069401354541,0.208230413164813,0.269060026818597,-0.000560264805506],[0.000000000002865,-0.000000000000955,-0.000000000002865,0.000000000000955,8.07793566946316e-28,8.07793566946316e-28,0.000000000003992,0.000000000003992,0.000000000003992,1.049998204296252,-0.000028084972008,1.049998204296252,-0.000028084972027,0.000000000948122,0.000026629327996,-99.992054796876772,0.000026627212242],[0.000000099999752,0.000000000032897,-0.000000099999752,-0.000000000032897,1.94354621423255e-17,1.48723607087045e-18,0.000000132177162,0.000000132177162,0.000000132177162,1.049998199796429,-0.000028103679572,1.049998199592352,-0.000028104528034,0.000031396000217,0.094252742047336,-0.018180782474944,0.000017135886008],[0.000000108999249,0.000000000035818,-0.000000108999249,-0.000000000035818,1.48922699043181e-16,1.13958254005127e-17,0.000000144072472,0.000000144072472,0.000000144072472,1.049998199332644,-0.000028075840715,1.049998197898024,-0.000028081805239,0.000034221489384,0.102710489094855,0.136433831191683,-0.000140131855308],[0.000005777992318,0.000000751532979,-0.000005777992255,-0.000000751532962,0.000000000000063,0.000000000000017,0.000007701537706,0.000007701537706,0.000007701537706,1.049997965280293,-0.000029699369629,1.04999795361448,-0.000029783262689,0.001829343856525,2.265701978992011,0.365745176106505,-0.008286695693113],[0.000000056999915,0.000000000018742,-0.000000056999915,-0.000000000018742,1.0383373897996e-16,7.94553851386699e-18,0.000000075341049,0.000000075341049,0.000000075341049,1.049998311616092,-0.000028614623685,1.049998309703317,-0.000028622576147,0.000017895736051,0.053690996994446,0.159481105551699,-0.000085626995588],[0.000000048999922,0.000000000016112,-0.000000048999921,-0.000000000016112,7.67327676313263e-17,5.87172559035739e-18,0.00000006476686,0.00000006476686,0.00000006476686,1.049998311616092,-0.000028614623685,1.049998309971777,-0.000028621460011,0.000015384052052,0.046155948269419,0.158254952631098,-0.00007304407407],[0.000000468999386,0.000000000154215,-0.000000468999386,-0.000000000154215,3.7593106262291e-16,2.87669005653597e-17,0.000000619911596,0.000000619911596,0.000000619911596,1.049998237612934,-0.000028845228439,1.049998236771277,-0.000028848727674,0.000147247408724,0.441753479390084,0.079260540344639,-0.000350136194756],[0.000000209997929,0.000000069023389,-0.000000209997929,-0.000000069023389,2.06501338584678e-17,1.5801929026621e-18,0.000000292179093,0.000000292179093,0.000000292179093,1.049998193336295,-0.000027803749072,1.049998193240767,-0.000027802466859,0.0000694012092,0.208226812908039,0.270794043553254,-0.000563865806436],[0.00000000000382,-1.8724062596435e-18,-0.00000000000382,1.87240626044789e-18,8.07793566946316e-28,8.04396611710406e-28,0.000000000005049,0.000000000005049,0.000000000005049,1.049998204296252,-0.000028084972027,1.049998204296252,-0.000028084972039,0.00000000119929,0.000022825181093,-99.993841560491518,0.000022823775418],[0.000000099999871,0.000000000032882,-0.000000099999871,-0.000000000032882,2.84332549129916e-17,2.17576170939171e-18,0.00000013217732,0.00000013217732,0.00000013217732,1.049998199592352,-0.000028104528034,1.049998199293795,-0.000028105769298,0.000031396037693,0.094248938200484,-0.014145479415141,0.000013331964152],[0.000000108999249,0.000000000035818,-0.000000108999249,-0.000000000035818,4.39148599017626e-17,3.36044046398357e-18,0.000000144072472,0.000000144072472,0.000000144072472,1.049998197898024,-0.000028081805239,1.049998197474978,-0.000028083564079,0.000034221489384,0.102706698721819,0.140129362917024,-0.000143922242592],[0.000000045000378,0.000000014790663,-0.000000045000378,-0.000000014790663,6.16955968595126e-17,4.7210539368076e-18,0.000000062610825,0.000000062610825,0.000000062610825,1.04999795361448,-0.000029783262689,1.049997952282607,-0.000029765386285,0.000014871929908,0.044690967598785,0.153337901007374,-0.000068528191656],[0.000005732991967,0.000000736742299,-0.000005732991926,-0.000000736742288,0.000000000000041,0.000000000000011,0.000007640041681,0.000007640041681,0.000007640041681,1.04999795361448,-0.000029783262689,1.049997945954168,-0.000029839002958,0.001814736724941,2.221007414212521,0.370198860325167,-0.008222144135152],[0.000000468999177,0.000000000154209,-0.000000468999175,-0.000000000154209,0.000000000000001,1.05267191386124e-16,0.00000061991132,0.00000061991132,0.00000061991132,1.049998236771277,-0.000028848727674,1.049998233691384,-0.000028861532492,0.000147247343138,0.441749677866858,0.08012178832006,-0.000353937741805],[0.000000209999361,0.000000069023508,-0.000000209999361,-0.000000069023508,2.30053883776472e-17,1.76039916219045e-18,0.000000292180941,0.000000292180941,0.000000292180941,1.049998193240767,-0.000027802466859,1.049998193134344,-0.000027801038418,0.000069401648149,0.208223212598333,0.272528023322456,-0.000567466605393],[0.00000000000573,0.000000000000955,-0.00000000000573,-0.000000000000955,2.42338070083895e-27,1.81753552562921e-27,0.000000000007678,0.000000000007678,0.000000000007678,1.049998204296252,-0.000028084972039,1.049998204296251,-0.000028084972055,0.000000001823749,0.0000190207344,-99.994156194841224,0.000019019622865],[0.000000099999856,0.000000000032883,-0.000000099999856,-0.000000000032883,1.06938849268031e-16,8.18314804152214e-18,0.0000001321773,0.0000001321773,0.0000001321773,1.049998199293795,-0.000028105769298,1.049998198170909,-0.000028110437754,0.000031396033009,0.094245134367689,-0.010109977350145,0.000009528161738],[0.000000108999308,0.000000000035803,-0.000000108999308,-0.000000000035803,9.82509249722725e-18,7.51831024495559e-19,0.00000014407255,0.00000014407255,0.00000014407255,1.049998197474978,-0.000028083564079,1.04999819738033,-0.000028083957585,0.000034221508122,0.102702908435245,0.143825192966511,-0.000147712656239],[0.000000045000378,0.000000014790664,-0.000000045000378,-0.000000014790664,8.52849019577283e-18,6.52614070441062e-19,0.000000062610826,0.000000062610826,0.000000062610826,1.049997952282607,-0.000029765386285,1.049997952098495,-0.000029762915142,0.000014871929999,0.044687368982258,0.161405519733265,-0.000072127880161],[0.000005732992105,0.000000736742333,-0.000005732991951,-0.000000736742292,0.000000000000154,0.000000000000041,0.000007640041924,0.000007640041924,0.000007640041924,1.049997945954168,-0.000029839002958,1.049997917229112,-0.00003004802085,0.00181473678249,2.221003815940737,0.370393189700576,-0.008226446877234],[0.000000468999224,0.000000000154212,-0.000000468999217,-0.000000000154212,0.000000000000007,5.12335578060893e-16,0.000000619911384,0.000000619911384,0.000000619911384,1.049998233691384,-0.000028861532492,1.049998218701544,-0.00002892385355,0.000147247358363,0.441745876457236,0.080983033813209,-0.0003577392125],[0.000000209999003,0.000000069023463,-0.000000209999003,-0.000000069023463,4.74862287400726e-17,3.63373163905155e-18,0.000000292180473,0.000000292180473,0.000000292180473,1.049998193134344,-0.000027801038418,1.049998192914672,-0.000027798089919,0.000069401536949,0.208219612134096,0.27426239143316,-0.000571068087672],[0.00000000000191,-0.000000000000955,-0.00000000000191,0.000000000000955,8.07793566946316e-28,2.01948391736579e-28,0.000000000002822,0.000000000002822,0.000000000002822,1.049998204296251,-0.000028084972055,1.049998204296251,-0.00002808497207,0.000000000670423,0.000015217187176,-99.997417343166404,0.000015216794168],[0.000000099999871,0.000000000032882,-0.000000099999871,-0.000000000032882,2.49596389707507e-17,1.90995640254506e-18,0.00000013217732,0.00000013217732,0.00000013217732,1.049998198170909,-0.000028110437754,1.049998197908827,-0.000028111527378,0.000031396037693,0.094241330600479,-0.006074208186389,0.000005724414618],[0.000000055999909,0.000000000018414,-0.000000055999908,-0.000000000018414,6.53594841949754e-17,5.00142115087748e-18,0.000000074019274,0.000000074019274,0.000000074019274,1.04999819738033,-0.000028083957585,1.049998196154809,-0.000028089052752,0.000017581775112,0.05275290460459,0.166508970119298,-0.000087838318165],[0.000000052999042,0.000000000017402,-0.000000052999042,-0.000000000017402,2.00981727793234e-18,1.53794941562683e-19,0.000000070052803,0.000000070052803,0.000000070052803,1.04999819738033,-0.000028083957585,1.049998197340511,-0.000028084123135,0.000016639620578,0.049946213397248,0.12746689299098,-0.000063664886384],[0.000000045000348,0.000000014790671,-0.000000045000348,-0.000000014790671,3.92084933839115e-18,3.00029988701559e-19,0.000000062610791,0.000000062610791,0.000000062610791,1.049997952098495,-0.000029762915142,1.049997952013852,-0.000029761779067,0.00001487192183,0.044683770364114,0.16947247185308,-0.000075726690153],[0.000000052999908,0.00000000001741,-0.000000052999908,-0.00000000001741,7.2036644918181e-17,5.51236949403401e-18,0.000000070053967,0.000000070053967,0.000000070053967,1.049997917229112,-0.00003004802085,1.049997915801935,-0.000030053954439,0.000016639896978,0.049961526763799,-0.037830671308375,0.000018900780971],[0.000005679992028,0.000000736724906,-0.000005679991977,-0.000000736724893,0.000000000000051,0.000000000000014,0.00000757056164,0.00000757056164,0.00000757056164,1.049997917229112,-0.00003004802085,1.049997907666439,-0.00003011697895,0.001798233152451,2.220960639600461,0.372376990965347,-0.008270346400269],[0.000000209999719,0.000000069023463,-0.000000209999719,-0.000000069023463,4.94568773616393e-17,3.78452997344241e-18,0.000000292181373,0.000000292181373,0.000000292181373,1.049998192914672,-0.000027798089919,1.049998192685885,-0.000027795019078,0.000069401750572,0.208216011759639,0.275997006276806,-0.000574669959046],[0.00000000000191,-0.000000000000955,-0.00000000000191,0.000000000000955,4.03896783473158e-28,2.01948391736579e-28,0.000000000002822,0.000000000002822,0.000000000002822,1.049998204296251,-0.00002808497207,1.049998204296251,-0.000028084972079,0.000000000670423,0.000011412440638,-99.994449297663863,0.000011411807168],[0.000000099999692,0.000000000032875,-0.000000099999692,-0.000000000032875,1.14346271505778e-17,8.7499876700433e-19,0.000000132177083,0.000000132177083,0.000000132177083,1.049998197908827,-0.000028111527378,1.04999819778876,-0.000028112026563,0.000031395981476,0.094237526866058,-0.00203812931951,0.000001920682665],[0.000000055999908,0.000000000018414,-0.000000055999908,-0.000000000018414,6.47735359188224e-17,4.95658339925904e-18,0.000000074019274,0.000000074019274,0.000000074019274,1.049998196154809,-0.000028089052752,1.049998194940275,-0.000028094102241,0.000017581775112,0.052749114277122,0.173706509017166,-0.000091628644948],[0.000000052999758,0.000000000017432,-0.000000052999758,-0.000000000017432,2.35643904181656e-18,1.80319289235414e-19,0.00000007005375,0.00000007005375,0.00000007005375,1.049998197340511,-0.000028084123135,1.049998197293826,-0.000028084317232,0.000016639845448,0.049942422945954,0.135065937486932,-0.000067455201756],[0.000000045000348,0.000000014790664,-0.000000045000348,-0.000000014790664,4.65685479510613e-18,3.56352716610295e-19,0.000000062610788,0.000000062610788,0.000000062610788,1.049997952013852,-0.000029761779067,1.049997951913321,-0.000029760429735,0.000014871921098,0.044680171835041,0.17754027650826,-0.00007932530062],[0.000000052999923,0.000000000017423,-0.000000052999923,-0.000000000017423,5.23627165314238e-18,4.00690059501057e-19,0.000000070053987,0.000000070053987,0.000000070053987,1.049997915801935,-0.000030053954439,1.049997915698195,-0.000030054385745,0.000016639901664,0.0499577225937,-0.030218842379837,0.000015096645447],[0.000005679992097,0.000000736724915,-0.000005679991912,-0.000000736724866,0.000000000000184,0.000000000000049,0.000007570561801,0.000007570561801,0.000007570561801,1.049997907666439,-0.00003011697895,1.049997873001747,-0.00003036695208,0.001798233190521,2.220957041622076,0.372578374107146,-0.008274805635294],[0.000000209999719,0.000000069023463,-0.000000209999719,-0.000000069023463,1.88066831157991e-16,1.4391195652969e-17,0.000000292181373,0.000000292181373,0.000000292181373,1.049998192685885,-0.000027795019078,1.049998191815888,-0.000027783341765,0.000069401750572,0.208212411428562,0.277732745786458,-0.000578274047329],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049998204296251,-0.000028084972079,1.049998204296251,-0.000028084972079,0.0,0.000007607918981,-99.995380882204898,0.000007607567563],[0.000000100000169,0.000000000032912,-0.000000100000169,-0.000000000032912,7.51747034644112e-18,5.75249405787929e-19,0.000000132177714,0.000000132177714,0.000000132177714,1.04999819778876,-0.000028112026563,1.049998197709825,-0.000028112354738,0.000031396131391,0.094233723094165,0.00199839287486,-0.000001883160008],[0.000000052999519,0.000000000017417,-0.000000052999519,-0.000000000017417,2.12956656085042e-18,1.6295829329218e-19,0.000000070053434,0.000000070053434,0.000000070053434,1.049998197293826,-0.000028084317232,1.049998197251635,-0.000028084492644,0.000016639770491,0.04993863257568,0.142666485561777,-0.000071245692033],[0.000000045000467,0.000000014790656,-0.000000045000467,-0.000000014790656,7.18499667975401e-18,5.49810409551746e-19,0.000000062610935,0.000000062610935,0.000000062610935,1.049997951913321,-0.000029760429735,1.049997951758213,-0.00002975834788,0.000014871955971,0.044676573284499,0.185609714265002,-0.000082924060017],[0.000000052999863,0.000000000017423,-0.000000052999863,-0.000000000017423,4.31589756405668e-18,3.30260435098303e-19,0.000000070053908,0.000000070053908,0.000000070053908,1.049997915698195,-0.000030054385745,1.049997915612689,-0.000030054741241,0.000016639882925,0.049953918390816,-0.022605539196076,0.000011292352602],[0.000002434994703,0.00000045688558,-0.000002434994677,-0.000000456885576,0.000000000000026,0.000000000000004,0.000003274681466,0.000003274681466,0.000003274681466,1.049997873001747,-0.00003036695208,1.049997861646036,-0.000030350276655,0.0007778340704,1.377825192645495,0.440124002865115,-0.006064139390355],[0.000003244997388,0.000000279838824,-0.000003244997374,-0.00000027983882,0.000000000000014,0.000000000000004,0.000004305076518,0.000004305076518,0.000004305076518,1.049997873001747,-0.00003036695208,1.049997868431345,-0.000030410880467,0.001022583486615,1.455719736571747,0.219501651347591,-0.003195328860768],[0.000000209999644,0.000000069023459,-0.000000209999643,-0.000000069023459,9.98473120860949e-16,7.64049129411797e-17,0.000000292181277,0.000000292181277,0.000000292181277,1.049998191815888,-0.000027783341765,1.049998187196955,-0.000027721345245,0.000069401727954,0.208208811156548,0.279475561882582,-0.000581892744869],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049998204296251,-0.000028084972079,1.049998204296251,-0.000028084972079,0.0,0.000003803847056,-99.999999718114708,0.000003803847045],[0.000000052000086,0.000000000017087,-0.000000052000086,-0.000000000017087,1.42802475717685e-17,1.09274906463232e-18,0.000000068732408,0.000000068732408,0.000000068732408,1.049998197709825,-0.000028112354738,1.049998197421467,-0.000028113553602,0.000016325987571,0.04899681842485,0.011793813398663,-0.000005778593336],[0.000000047999546,0.000000000015778,-0.000000047999546,-0.000000000015778,1.50077694641211e-18,1.14842182568122e-19,0.000000063444596,0.000000063444596,0.000000063444596,1.049998197709825,-0.000028112354738,1.049998197676994,-0.000028112491233,0.000015069975165,0.045233101159761,-0.000203755713897,0.000000092165028],[0.000000052999519,0.000000000017432,-0.000000052999519,-0.000000000017432,2.15683043384017e-18,1.65044778839163e-19,0.000000070053434,0.000000070053434,0.000000070053434,1.049998197251635,-0.000028084492644,1.049998197208904,-0.000028084670301,0.000016639770492,0.049934842315328,0.150266973587198,-0.000075035576313],[0.000000045000527,0.000000014790649,-0.000000045000527,-0.000000014790649,6.40234485393593e-18,4.89917570119232e-19,0.000000062611007,0.000000062611007,0.000000062611007,1.049997951758213,-0.00002975834788,1.049997951620001,-0.000029756492802,0.000014871973042,0.044672974837342,0.193680148875207,-0.000086522684172],[0.000000052999744,0.000000000017415,-0.000000052999744,-0.000000000017415,6.1303744859734e-18,4.69106061336567e-19,0.00000007005375,0.00000007005375,0.00000007005375,1.049997915612689,-0.000030054741241,1.049997915491235,-0.000030055246194,0.000016639845446,0.049950114206665,-0.014991327034694,0.000007488184975],[0.000002434994557,0.000000456885553,-0.000002434994545,-0.000000456885551,0.000000000000012,0.000000000000002,0.000003274681306,0.000003274681306,0.000003274681306,1.049997861646036,-0.000030350276655,1.04999785641925,-0.000030342601322,0.000777834032269,1.37782159545851,0.44040352594685,-0.006067974887656],[0.000003244997464,0.000000279838827,-0.000003244997406,-0.000000279838812,0.000000000000058,0.000000000000016,0.000004305076636,0.000004305076636,0.000004305076636,1.049997868431345,-0.000030410880467,1.049997849276963,-0.000030594982693,0.001022583514821,1.455715950169915,0.219771619939106,-0.0031992505254],[0.000000052000026,0.000000000017086,-0.000000052000026,-0.000000000017086,6.55972092855782e-18,5.019610064141e-19,0.000000068732329,0.000000068732329,0.000000068732329,1.049998197421467,-0.000028113553602,1.049998197289008,-0.000028114104309,0.000016325968832,0.048993014690433,0.019558766298567,-0.000009582429246],[0.000000048000979,0.000000000015793,-0.000000048000979,-0.000000000015793,1.06220578563649e-18,8.12816104228162e-20,0.000000063446489,0.000000063446489,0.000000063446489,1.049998197676994,-0.000028112491233,1.049998197653758,-0.000028112587837,0.0000150704249,0.045229297612736,0.008206573750289,-0.000003711775665],[0.000000052999758,0.000000000017417,-0.000000052999758,-0.000000000017417,2.31903724323937e-18,1.77457273396549e-19,0.00000007005375,0.00000007005375,0.00000007005375,1.049998197208904,-0.000028084670301,1.049998197162959,-0.000028084861318,0.000016639845446,0.049931051805136,0.157870098154411,-0.000078826200494],[0.000000045000527,0.000000014790656,-0.000000045000527,-0.000000014790656,4.9776817587685e-18,3.80903437190868e-19,0.00000006261101,0.00000006261101,0.00000006261101,1.049997951620001,-0.000029756492802,1.049997951512543,-0.000029755050521,0.000014871973773,0.04466937632834,0.201752088018121,-0.000090121399447],[0.000000052999788,0.000000000017414,-0.000000052999788,-0.000000000017414,2.75348838281998e-17,2.10701716498783e-18,0.000000070053809,0.000000070053809,0.000000070053809,1.049997915491235,-0.000030055246194,1.049997914945717,-0.000030057514219,0.0000166398595,0.04994630998035,-0.007375878553239,0.000003683979166],[0.000002434994724,0.000000456885574,-0.000002434994645,-0.000000456885561,0.00000000000008,0.000000000000013,0.000003274681544,0.000003274681544,0.000003274681544,1.04999785641925,-0.000030342601322,1.049997822274435,-0.000030292460984,0.000777834088817,1.377817998345947,0.440706821894593,-0.006072137912002],[0.000003244997555,0.000000279838804,-0.000003244997542,-0.000000279838801,0.000000000000013,0.000000000000003,0.000004305076832,0.000004305076832,0.000004305076832,1.049997849276963,-0.000030594982693,1.049997845048843,-0.000030635621248,0.001022583561294,1.455712164016547,0.220041441073968,-0.003203170023591],[0.000000051999996,0.0000000000171,-0.000000051999996,-0.0000000000171,1.1102199806005e-17,8.49559725531708e-19,0.00000006873229,0.00000006873229,0.00000006873229,1.049998197289008,-0.000028114104309,1.049998197064824,-0.000028115036367,0.000016325959464,0.048989210974754,0.027324582524545,-0.000013386097381],[0.000000047999785,0.000000000015823,-0.000000047999785,-0.000000000015823,1.23604606317064e-18,9.45849235699592e-20,0.000000063444912,0.000000063444912,0.000000063444912,1.049998197653758,-0.000028112587837,1.049998197626719,-0.000028112700254,0.000015070050125,0.045225493690924,0.016617529179419,-0.000007515359611],[0.000000052999937,0.000000000017426,-0.000000052999937,-0.000000000017426,1.34492089888385e-17,1.02915657913081e-18,0.000000070053987,0.000000070053987,0.000000070053987,1.049998197162959,-0.000028084861318,1.049998196896506,-0.000028085969111,0.000016639901664,0.049927261386867,0.165473920332851,-0.000082616596732],[0.000000045000467,0.000000014790649,-0.000000045000467,-0.000000014790649,6.1959533649366e-18,4.74126692225595e-19,0.000000062610932,0.000000062610932,0.000000062610932,1.049997951512543,-0.000029755050521,1.049997951378786,-0.000029753255242,0.00001487195524,0.044665777915026,0.209824786228679,-0.000093719873028],[0.000000052999684,0.000000000017408,-0.000000052999684,-0.000000000017408,5.30074541880721e-18,4.05622220838633e-19,0.000000070053671,0.000000070053671,0.000000070053671,1.049997914945717,-0.000030057514219,1.0499979148407,-0.000030057950838,0.000016639826707,0.049942505782146,0.000240684942364,-0.000000120204091],[0.000002434994406,0.000000456885524,-0.0000024349944,-0.000000456885523,0.000000000000006,9.50569172528982e-16,0.000003274681224,0.000003274681224,0.000003274681224,1.049997822274435,-0.000030292460984,1.049997819724094,-0.000030288715904,0.000777834012987,1.377814401897472,0.441007268566545,-0.006076261659725],[0.000003244998258,0.000000279838711,-0.000003244998254,-0.00000027983871,0.000000000000004,0.000000000000001,0.000004305077765,0.000004305077765,0.000004305077765,1.049997845048843,-0.000030635621248,1.049997843643925,-0.000030649124617,0.001022583782914,1.455708377808166,0.220304328490608,-0.003206988566512],[0.000000051999906,0.000000000017095,-0.000000051999906,-0.000000000017095,2.13098732627054e-17,1.63066814864903e-18,0.000000068732172,0.000000068732172,0.000000068732172,1.049998197064824,-0.000028115036367,1.049998196634518,-0.000028116825389,0.000016325931355,0.048985407207544,0.035091847155243,-0.000017189884226],[0.000000048000024,0.000000000015778,-0.000000048000024,-0.000000000015778,2.36416821746026e-18,1.80909140097998e-19,0.000000063445227,0.000000063445227,0.000000063445227,1.049998197626719,-0.000028112700254,1.049998197575002,-0.00002811291527,0.000015070125076,0.045221690031461,0.02503010177792,-0.000011319035041],[0.000000052999914,0.000000000017427,-0.000000052999914,-0.000000000017427,5.68850188193696e-17,4.35294022730753e-18,0.000000070053957,0.000000070053957,0.000000070053957,1.049998196896506,-0.000028085969111,1.049998195769511,-0.000028090654654,0.000016639894637,0.049923471025646,0.173078862509741,-0.000086406975777],[0.000000045000527,0.000000014790656,-0.000000045000527,-0.000000014790656,6.40843952068922e-18,4.90384099984712e-19,0.00000006261101,0.00000006261101,0.00000006261101,1.049997951378786,-0.000029753255242,1.049997951240443,-0.000029751398401,0.000014871973773,0.044662179536884,0.217899053543694,-0.000097318466503],[0.000000052999744,0.00000000001743,-0.000000052999744,-0.00000000001743,3.9247734832171e-18,3.0033147018544e-19,0.00000007005375,0.00000007005375,0.00000007005375,1.0499979148407,-0.000030057950838,1.049997914762943,-0.000030058274118,0.000016639845448,0.049938701654215,0.007858440201859,-0.000003924403007],[0.000000105000063,0.000000034511696,-0.000000105000063,-0.000000034511696,4.77892944816222e-17,3.65691254853773e-18,0.000000146090978,0.000000146090978,0.000000146090978,1.049997819724094,-0.000030288715904,1.049997819281948,-0.000030282781337,0.000034700944666,0.104156549593402,0.301947106229666,-0.000314497687446],[0.000002329994046,0.000000422373834,-0.000002329993947,-0.000000422373818,0.000000000000099,0.000000000000016,0.000003129921491,0.000003129921491,0.000003129921491,1.049997819724094,-0.000030288715904,1.049997775068299,-0.00003023812822,0.000743449278578,1.273654255857868,0.452711107180838,-0.00576597428335],[0.000003244998731,0.000000279838113,-0.000003244998729,-0.000000279838113,0.000000000000002,5.94585047599642e-16,0.000004305078326,0.000004305078326,0.000004305078326,1.049997843643925,-0.000030649124617,1.049997842910656,-0.000030656172431,0.001022583916171,1.455704591355688,0.220565842969877,-0.003210787103075],[0.000000051999914,0.000000000017098,-0.000000051999914,-0.000000000017098,6.27398693694689e-17,4.80096456968212e-18,0.000000068732181,0.000000068732181,0.000000068732181,1.049998196634518,-0.000028116825389,1.049998195367623,-0.000028122092571,0.000016325933698,0.048981603454388,0.042860268131357,-0.000020993646576],[0.000000047999815,0.000000000015778,-0.000000047999815,-0.000000000015778,9.06692521754075e-18,6.9381720983499e-19,0.000000063444951,0.000000063444951,0.000000063444951,1.049998197575002,-0.00002811291527,1.049998197376657,-0.000028113739899,0.00001507005949,0.045217886306415,0.033444307401033,-0.000015122808897],[0.000000045000646,0.000000014790656,-0.000000045000646,-0.000000014790656,7.55912716208929e-18,5.78435821829757e-19,0.00000006261116,0.00000006261116,0.00000006261116,1.049997951240443,-0.000029751398401,1.049997951077258,-0.000029749208157,0.000014872009377,0.044658581189648,0.225974605772451,-0.000100917052787],[0.000000052999982,0.00000000001743,-0.000000052999982,-0.00000000001743,4.52094571174122e-18,3.45949854119932e-19,0.000000070054066,0.000000070054066,0.000000070054066,1.049997914762943,-0.000030058274118,1.049997914673375,-0.000030058646501,0.000016639920403,0.049934897320152,0.015477512429965,-0.00000772867994],[0.000000105000048,0.000000034511697,-0.000000105000047,-0.000000034511697,2.46129205921709e-16,1.88342275684526e-17,0.00000014609096,0.00000014609096,0.00000014609096,1.049997819281948,-0.000030282781337,1.049997817004767,-0.000030252216526,0.000034700940352,0.104152953132231,0.305414965019446,-0.000318098705376],[0.000002329993969,0.000000422373818,-0.000002329993922,-0.00000042237381,0.000000000000048,0.000000000000008,0.00000312992152,0.00000312992152,0.00000312992152,1.049997775068299,-0.00003023812822,1.049997753637998,-0.000030213851206,0.000743449285492,1.273650660150919,0.45306176784816,-0.00577042419709],[0.000003244998729,0.000000279838829,-0.000003244998727,-0.000000279838828,0.000000000000002,5.08983633252326e-16,0.000004305078407,0.000004305078407,0.000004305078407,1.049997842910656,-0.000030656172431,1.049997842282955,-0.000030662205577,0.001022583935491,1.455700804857636,0.220827085005655,-0.003214581653771],[0.000000047999949,0.000000000015785,-0.000000047999949,-0.000000000015785,3.09421334155343e-17,2.36774616458164e-18,0.000000063445129,0.000000063445129,0.000000063445129,1.049998197376657,-0.000028113739899,1.049998196699782,-0.000028116554045,0.000015070101653,0.045214082539205,0.041859830725554,-0.000018926538415],[0.000000045000527,0.000000014790649,-0.000000045000527,-0.000000014790649,4.30769193238015e-18,3.29634782824832e-19,0.000000062611007,0.000000062611007,0.000000062611007,1.049997951077258,-0.000029749208157,1.049997950984265,-0.000029747960009,0.000014871973042,0.044654982852123,0.234051265814994,-0.000104515552615],[0.000000052999863,0.00000000001743,-0.000000052999863,-0.00000000001743,4.4846953485767e-18,3.43176501702975e-19,0.000000070053908,0.000000070053908,0.000000070053908,1.049997914673375,-0.000030058646501,1.049997914584525,-0.000030059015899,0.000016639882926,0.049931093285911,0.023097143542238,-0.000011532656288],[0.000000105000032,0.000000034511698,-0.000000105000032,-0.000000034511698,8.59283822998456e-17,6.57539103808203e-18,0.000000146090942,0.000000146090942,0.000000146090942,1.049997817004767,-0.000030252216526,1.049997816209759,-0.000030241545769,0.000034700935947,0.104149356741596,0.308883553304877,-0.000321700233848],[0.000000048999907,0.000000000016113,-0.000000048999907,-0.000000000016113,1.32174581274917e-16,1.01142294026032e-17,0.000000064766875,0.000000064766875,0.000000064766875,1.049997753637998,-0.000030213851206,1.049997750805615,-0.000030225626989,0.000015384055566,0.046159766072593,0.023496643538271,-0.000010845995692],[0.000002280993992,0.000000422357686,-0.000002280993904,-0.000000422357672,0.000000000000088,0.000000000000014,0.000003066211134,0.000003066211134,0.000003066211134,1.049997753637998,-0.000030213851206,1.049997713188838,-0.000030159723727,0.000728316177338,1.273639874133898,0.453974383963961,-0.005781998772519],[0.000003244999682,0.000000279838828,-0.00000324499968,-0.000000279838828,0.000000000000002,5.78877668625758e-16,0.000004305079665,0.000004305079665,0.000004305079665,1.049997842282955,-0.000030662205577,1.049997841569058,-0.000030669067197,0.001022584234205,1.455697018905213,0.221088292526396,-0.003218375683455],[0.000000045000751,0.00000001479066,-0.000000045000751,-0.00000001479066,1.94605356410532e-17,1.48915340444451e-18,0.000000062611293,0.000000062611293,0.000000062611293,1.049997950984265,-0.000029747960009,1.049997950564157,-0.000029742321384,0.000014872040896,0.04465138455121,0.242129615809755,-0.000108114225868],[0.000000052999893,0.000000000017427,-0.000000052999893,-0.000000000017427,3.9398592723566e-17,3.01484852057493e-18,0.000000070053947,0.000000070053947,0.000000070053947,1.049997914584525,-0.000030059015899,1.049997913803967,-0.00003006226111,0.000016639892295,0.049927289092389,0.030718470340469,-0.000015336899492],[0.000000105000032,0.000000034511698,-0.000000105000032,-0.000000034511698,1.8701751615502e-16,1.4310912811437e-17,0.000000146090942,0.000000146090942,0.000000146090942,1.049997816209759,-0.000030241545769,1.049997814479478,-0.00003021832156,0.000034700935947,0.104145760360778,0.31235151734827,-0.000325300862741],[0.000000048999884,0.000000000016113,-0.000000048999884,-0.000000000016113,5.23476419919406e-17,4.00573304573182e-18,0.000000064766845,0.000000064766845,0.000000064766845,1.049997750805615,-0.000030225626989,1.049997749683852,-0.000030230290782,0.000015384048538,0.046155961247806,0.031742002446823,-0.000014650826349],[0.000000603998608,0.000000000198537,-0.000000603998593,-0.000000000198536,0.000000000000015,0.000000000000001,0.000000798350573,0.000000798350573,0.000000798350573,1.049997713188838,-0.000030159723727,1.049997687168899,-0.000030267903214,0.000189631963334,0.568945181457028,0.232246481778107,-0.00132135516718],[0.000001676995359,0.000000422159015,-0.00000167699535,-0.000000422159014,0.000000000000009,0.000000000000001,0.000002285766602,0.000002285766602,0.000002285766602,1.049997713188838,-0.000030159723727,1.049997707727551,-0.00003013341927,0.000542937430168,1.273589549162329,0.457972491158833,-0.005832689785437],[0.000003245002545,0.000000279839544,-0.000003245002543,-0.000000279839544,0.000000000000002,4.56056885422259e-16,0.000004305083519,0.000004305083519,0.000004305083519,1.049997841569058,-0.000030669067197,1.049997841006629,-0.000030674472975,0.001022585149666,1.455693233237462,0.221349345451863,-0.003222167443558],[0.000000045000706,0.000000014790656,-0.000000045000706,-0.000000014790656,7.57363260131102e-18,5.79547552573028e-19,0.000000062611235,0.000000062611235,0.000000062611235,1.049997950564157,-0.000029742321384,1.04999795040066,-0.000029740126947,0.000014872027179,0.044647786277861,0.2502092733943,-0.000111712901632],[0.0000000529999,0.000000000017428,-0.0000000529999,-0.000000000017428,8.05360249738369e-17,6.16275582168263e-18,0.000000070053957,0.000000070053957,0.000000070053957,1.049997913803967,-0.00003006226111,1.049997912208402,-0.000030068894755,0.000016639894637,0.049923484938689,0.038340773203914,-0.000019141050136],[0.000000050999881,0.000000016762828,-0.000000050999881,-0.000000016762828,3.61664539631865e-17,2.76751471903092e-18,0.00000007095829,0.00000007095829,0.00000007095829,1.049997814479478,-0.00003021832156,1.049997813790571,-0.000030209074867,0.000016854700608,0.050571314492669,0.339473533308757,-0.000171676228149],[0.000000054000076,0.000000017748866,-0.000000054000076,-0.000000017748866,1.90776171918902e-17,1.45985466714789e-18,0.000000075132556,0.000000075132556,0.000000075132556,1.049997814479478,-0.00003021832156,1.049997814136273,-0.000030213714995,0.000017846212722,0.053570849842607,0.293488805814863,-0.000157224447468],[0.000000603998582,0.000000000198537,-0.000000603998575,-0.000000000198536,0.000000000000008,5.75816220084044e-16,0.000000798350558,0.000000798350558,0.000000798350558,1.049997687168899,-0.000030267903214,1.049997674087254,-0.000030322290953,0.00018963195982,0.568941396903693,0.232913274590614,-0.00132514003803],[0.000001676995291,0.000000422159051,-0.000001676995283,-0.00000042215905,0.000000000000008,0.000000000000001,0.000002285766537,0.000002285766537,0.000002285766537,1.049997707727551,-0.00003013341927,1.049997703048828,-0.000030110884053,0.000542937414855,1.273585954667511,0.458269467353653,-0.005836455570746],[0.000003244998723,0.000000279839066,-0.000003244998722,-0.000000279839066,0.000000000000001,3.82354907555327e-16,0.000004305078435,0.000004305078435,0.000004305078435,1.049997841006629,-0.000030674472975,1.049997840535092,-0.000030679005148,0.001022583941931,1.455689447133957,0.221610450593801,-0.00322595994304],[0.000000045000586,0.000000014790641,-0.000000045000586,-0.000000014790641,2.63106300518417e-18,2.01332452372957e-19,0.000000062611079,0.000000062611079,0.000000062611079,1.04999795040066,-0.000029740126947,1.049997950343861,-0.000029739364602,0.000014871990112,0.04464418807852,0.258289535651657,-0.000115311266083],[0.000000050999904,0.00000001676283,-0.000000050999904,-0.00000001676283,5.41159887054565e-17,4.14104812617522e-18,0.000000070958319,0.000000070958319,0.000000070958319,1.049997813790571,-0.000030209074867,1.049997812759758,-0.000030195239026,0.000016854707466,0.050567718307184,0.346612045666189,-0.000175273802871],[0.000000054000315,0.000000017748877,-0.000000054000315,-0.000000017748877,2.65639458426299e-18,2.03271363728781e-19,0.000000075132861,0.000000075132861,0.000000075132861,1.049997814136273,-0.000030213714995,1.049997814088484,-0.000030213073576,0.000017846285027,0.053567253412866,0.300222979751493,-0.000160821204367],[0.000000603998567,0.000000000198537,-0.000000603998566,-0.000000000198537,7.00263101560575e-16,5.35853445618361e-17,0.000000798350548,0.000000798350548,0.000000798350548,1.049997674087254,-0.000030322290953,1.049997672869879,-0.000030327352266,0.000189631957478,0.568937612633712,0.233579992124753,-0.001328924430785],[0.000001676995104,0.000000422159087,-0.000001676995099,-0.000000422159086,0.000000000000005,8.59231333425506e-16,0.00000228576632,0.00000228576632,0.00000228576632,1.049997703048828,-0.000030110884053,1.049997699757783,-0.000030095032624,0.000542937363198,1.273582360321269,0.458563555868997,-0.00584018455841],[0.000003245002542,0.000000279838111,-0.00000324500254,-0.00000027983811,0.000000000000001,3.45005254443945e-16,0.000004305083356,0.000004305083356,0.000004305083356,1.049997840535092,-0.000030679005148,1.049997840109617,-0.000030683094607,0.001022585111026,1.455685661689699,0.221871396228079,-0.003229750102283],[0.000000045000706,0.000000014790664,-0.000000045000706,-0.000000014790664,1.98216297569347e-18,1.51681763285074e-19,0.000000062611238,0.000000062611238,0.000000062611238,1.049997950343861,-0.000029739364602,1.049997950301071,-0.000029738790277,0.00001487202791,0.044640589895628,0.266370890505796,-0.000118909536832],[0.000000053999837,0.000000017748877,-0.000000053999837,-0.000000017748877,2.88500083579305e-18,2.20767888045503e-19,0.000000075132261,0.000000075132261,0.000000075132261,1.049997814088484,-0.000030213073576,1.049997814036583,-0.000030212376947,0.000017846142611,0.053563656968358,0.306957773952523,-0.000164417809078],[0.000000603998686,0.000000000198567,-0.000000603998686,-0.000000000198567,2.89200023961312e-16,2.2130095657795e-17,0.000000798350706,0.000000798350706,0.000000798350706,1.049997672869879,-0.000030327352266,1.049997672367118,-0.000030329442524,0.000189631994959,0.568933828389296,0.234246705796642,-0.001332708751165],[0.00000167699486,0.000000422159071,-0.000001676994853,-0.00000042215907,0.000000000000007,0.000000000000001,0.000002285766009,0.000002285766009,0.000002285766009,1.049997699757783,-0.000030095032624,1.049997695599479,-0.00003007500401,0.000542937289367,1.273578766076673,0.458856946719484,-0.005843904640087],[0.00000324500254,0.000000279839543,-0.000003245002539,-0.000000279839543,0.000000000000001,2.85538935805043e-16,0.000004305083519,0.000004305083519,0.000004305083519,1.049997840109617,-0.000030683094607,1.049997839757479,-0.000030686479186,0.001022585149666,1.455681874859532,0.222132491792551,-0.003233542421198],[0.000000045000467,0.000000014790664,-0.000000045000467,-0.000000014790664,1.45023290226267e-18,1.10974550980114e-19,0.000000062610938,0.000000062610938,0.000000062610938,1.049997950301071,-0.000029738790277,1.049997950269764,-0.000029738370073,0.000014871956702,0.044636991688149,0.27445382376226,-0.000122507930501],[0.000000054000315,0.000000017748892,-0.000000054000315,-0.000000017748892,2.5270764760189e-18,1.93378283602647e-19,0.000000075132867,0.000000075132867,0.000000075132867,1.049997814036583,-0.000030212376947,1.049997813991121,-0.000030211766751,0.000017846286489,0.053560060606764,0.313693182235694,-0.000168014258525],[0.000000603999163,0.000000000198582,-0.000000603999163,-0.000000000198582,2.0406093078452e-16,1.56150947756394e-17,0.000000798351337,0.000000798351337,0.000000798351337,1.049997672367118,-0.000030329442524,1.049997672012367,-0.000030330917419,0.000189632144872,0.568930044076014,0.234913383200593,-0.001336492814584],[0.000001676994972,0.00000042215907,-0.000001676994968,-0.000000422159069,0.000000000000004,6.8026338312648e-16,0.000002285766162,0.000002285766162,0.000002285766162,1.049997695599479,-0.00003007500401,1.049997692993921,-0.000030062454245,0.000542937325711,1.273575171961596,0.459149417914394,-0.005847612988764],[0.000003245000629,0.000000279839065,-0.000003245000628,-0.000000279839065,0.000000000000001,3.31241392567536e-16,0.00000430508095,0.00000430508095,0.00000430508095,1.049997839757479,-0.000030686479186,1.049997839348977,-0.000030690405492,0.001022584539358,1.455678088386448,0.222393424824042,-0.003237332355176],[0.00000004499999,0.000000014790723,-0.00000004499999,-0.000000014790723,7.36415738298809e-19,5.63525064107876e-20,0.000000062610363,0.000000062610363,0.000000062610363,1.049997950269764,-0.000029738370073,1.049997950253866,-0.00002973815669,0.000014871820138,0.044633393631175,0.282537335602102,-0.000126106001154],[0.000000053999837,0.000000017748862,-0.000000053999837,-0.000000017748862,2.68498194623282e-18,2.05461737990821e-19,0.000000075132255,0.000000075132255,0.000000075132255,1.049997813991121,-0.000030211766751,1.049997813942818,-0.000030211118418,0.000017846141148,0.053556464313916,0.32042913462564,-0.000171610515137],[0.000000603998924,0.000000000198582,-0.000000603998924,-0.000000000198582,2.08722364851497e-16,1.59718011895098e-17,0.000000798351022,0.000000798351022,0.000000798351022,1.049997672012367,-0.000030330917419,1.049997671649513,-0.000030332426006,0.000189632069916,0.568926259725314,0.235580152703083,-0.001340277351429],[0.000001676995028,0.000000422159099,-0.000001676995021,-0.000000422159098,0.000000000000007,0.000000000000001,0.000002285766248,0.000002285766248,0.000002285766248,1.049997692993921,-0.000030062454245,1.049997688992805,-0.000030043182728,0.00054293734617,1.273571577916724,0.459441684734542,-0.005851318713881],[0.000003245001583,0.000000279839304,-0.000003245001582,-0.000000279839303,0.000000000000001,3.6405793710345e-16,0.000004305082234,0.000004305082234,0.000004305082234,1.049997839348977,-0.000030690405492,1.049997838900006,-0.000030694720782,0.001022584844512,1.45567430199578,0.22265452583972,-0.003241124714879],[0.000000045000228,0.000000014790783,-0.000000045000228,-0.000000014790783,1.08270001249311e-18,8.28504101533113e-20,0.000000062610688,0.000000062610688,0.000000062610688,1.049997950253866,-0.00002973815669,1.049997950230493,-0.000029737842969,0.000014871897197,0.044629795383448,0.290622402538373,-0.000129704183591],[0.000000053999837,0.00000001774887,-0.000000053999837,-0.00000001774887,3.83205646271726e-18,2.93238835872499e-19,0.000000075132258,0.000000075132258,0.000000075132258,1.049997813942818,-0.000030211118418,1.04999781387388,-0.000030210193107,0.000017846141879,0.053552867986237,0.327166625291664,-0.000175207110937],[0.000000603999401,0.000000000198627,-0.000000603999401,-0.000000000198627,2.46277899908622e-16,1.88456199909872e-17,0.000000798351653,0.000000798351653,0.000000798351653,1.049997671649513,-0.000030332426006,1.049997671221371,-0.000030334206031,0.000189632219832,0.568922475520062,0.236246846652024,-0.001344061408311],[0.000001676994962,0.000000422159068,-0.000001676994955,-0.000000422159067,0.000000000000007,0.000000000000001,0.000002285766162,0.000002285766162,0.000002285766162,1.049997688992805,-0.000030043182728,1.049997685004162,-0.000030023971289,0.000542937325711,1.273567983924526,0.459735779407144,-0.005855047697175],[0.000003245000388,0.000000279838766,-0.000003245000381,-0.000000279838764,0.000000000000007,0.000000000000002,0.000004305080601,0.000004305080601,0.000004305080601,1.049997838900006,-0.000030694720782,1.049997836452371,-0.000030718246219,0.00102258445663,1.455670515255192,0.222916351357718,-0.003244927600397],[0.000000044999512,0.000000014790723,-0.000000044999512,-0.000000014790723,1.81492029072505e-18,1.38885279208878e-19,0.000000062609764,0.000000062609764,0.000000062609764,1.049997950230493,-0.000029737842969,1.049997950191312,-0.000029737317072,0.000014871677722,0.044626197308201,0.298708150063016,-0.000133302088423],[0.000000053999957,0.000000017748877,-0.000000053999957,-0.000000017748877,4.65858194822515e-18,3.56481756785853e-19,0.000000075132411,0.000000075132411,0.000000075132411,1.04999781387388,-0.000030210193107,1.049997813790072,-0.000030209068221,0.000017846178215,0.053549271747776,0.333904291788886,-0.000178803316588],[0.000000603999162,0.000000000198627,-0.000000603999162,-0.000000000198627,3.10661933020605e-16,2.37723825274996e-17,0.000000798351337,0.000000798351337,0.000000798351337,1.049997671221371,-0.000030334206031,1.0499976706813,-0.000030336451404,0.000189632144876,0.568918691248012,0.236913618985989,-0.001347845860523],[0.000001676994895,0.000000422159067,-0.000001676994888,-0.000000422159066,0.000000000000007,0.000000000000001,0.000002285766085,0.000002285766085,0.000002285766085,1.049997685004162,-0.000030023971289,1.04999768052878,-0.000030002415456,0.000542937307539,1.273564390093772,0.460030488005453,-0.005858784478812],[0.00000319100079,0.000000279820932,-0.000003191000736,-0.000000279820918,0.000000000000054,0.000000000000014,0.00000423397159,0.00000423397159,0.00000423397159,1.049997836452371,-0.000030718246219,1.049997818307833,-0.000030891169934,0.001005693955238,1.455549363385285,0.231264867516638,-0.003366174306872],[0.000000053999605,0.000000000017742,-0.000000053999605,-0.000000000017742,2.48082715360984e-17,1.89837205472134e-18,0.000000071375348,0.000000071375348,0.000000071375348,1.049997836452371,-0.000030718246219,1.049997835969974,-0.00003072025182,0.000016953764223,0.050979490064254,-0.185231659661911,0.000094430155533],[0.00000004499993,0.000000014790731,-0.00000004499993,-0.000000014790731,8.09543136659927e-18,6.19475560740962e-19,0.000000062610291,0.000000062610291,0.000000062610291,1.049997950191312,-0.000029737317072,1.049997950016548,-0.000029734971345,0.000014871803067,0.044622599192327,0.306796354205162,-0.000136900507474],[0.000000053999897,0.000000017748879,-0.000000053999897,-0.000000017748879,2.88752737625603e-17,2.2095880133088e-18,0.000000075132337,0.000000075132337,0.000000075132337,1.049997813790072,-0.000030209068221,1.049997813270606,-0.000030202095816,0.000017846160596,0.053545675532716,0.34064391699718,-0.000182400086517],[0.000000603999162,0.000000000198642,-0.000000603999162,-0.000000000198642,2.78227876799935e-16,2.12904891122308e-17,0.000000798351337,0.000000798351337,0.000000798351337,1.0499976706813,-0.000030336451404,1.049997670197614,-0.000030338462354,0.000189632144878,0.568914907020188,0.237580355774555,-0.001351630060153],[0.000001676994948,0.000000422159081,-0.000001676994943,-0.00000042215908,0.000000000000005,8.45524116877444e-16,0.000002285766167,0.000002285766167,0.000002285766167,1.04999768052878,-0.000030002415456,1.049997677290236,-0.000029986816894,0.000542937326854,1.273560796374182,0.46032420673451,-0.005862508633191],[0.000003191000706,0.000000279820962,-0.000003191000654,-0.000000279820949,0.000000000000052,0.000000000000014,0.000004233971556,0.000004233971556,0.000004233971556,1.049997818307833,-0.000030891169934,1.049997800929493,-0.000031056791513,0.001005693947133,1.455545577687996,0.231539595574248,-0.003370164343978],[0.00000005399984,0.000000000017767,-0.00000005399984,-0.000000000017767,1.52327434001453e-16,1.16563598672597e-17,0.000000071375659,0.000000071375659,0.000000071375659,1.049997835969974,-0.00003072025182,1.049997833007974,-0.00003073256646,0.00001695383801,0.050907210855843,-0.043511876159943,0.000022150682544],[-0.000000000000254,-0.000000000000022,0.000000000000254,0.000000000000022,6.05845175209737e-28,4.73316543132607e-29,0.000000000000337,0.000000000000337,0.000000000000337,1.049997835969974,-0.00003072025182,1.049997835969976,-0.000030720251821,0.00000000007995,0.000068475032638,-99.999620446895875,0.000068474772739],[0.000000044999915,0.000000014790734,-0.000000044999915,-0.000000014790734,2.97585570729791e-17,2.27717694116051e-18,0.000000062610274,0.000000062610274,0.000000062610274,1.049997950016548,-0.000029734971345,1.04999794937412,-0.000029726348519,0.000014871798891,0.044619001213702,0.314886205227451,-0.000140499079732],[0.000000053999897,0.000000017748878,-0.000000053999897,-0.000000017748878,9.88034286818987e-17,7.56060285230208e-18,0.000000075132336,0.000000075132336,0.000000075132336,1.049997813270606,-0.000030202095816,1.049997811493134,-0.000030178238127,0.000017846160458,0.053542079368405,0.347387010110507,-0.000185998228669],[0.000000603998684,0.000000000198612,-0.000000603998684,-0.000000000198612,2.20154345024115e-16,1.68465925345131e-17,0.000000798350706,0.000000798350706,0.000000798350706,1.049997670197614,-0.000030338462354,1.049997669814886,-0.000030340053568,0.000189631994964,0.568911122991356,0.238247064614387,-0.001355414050792],[0.000001676994704,0.000000422159036,-0.000001676994698,-0.000000422159035,0.000000000000006,0.000000000000001,0.000002285765846,0.000002285765846,0.000002285765846,1.049997677290236,-0.000029986816894,1.04999767343019,-0.000029968224841,0.000542937250735,1.273557202708928,0.460617095954084,-0.005866222202432],[0.000003191000923,0.00000027982068,-0.00000319100092,-0.000000279820679,0.000000000000002,6.16798963097418e-16,0.000004233971878,0.000004233971878,0.000004233971878,1.049997800929493,-0.000031056791513,1.049997800155858,-0.000031064164517,0.001005694023769,1.455541792306165,0.231807405815841,-0.00337405366931],[0.000000053999844,0.000000000017768,-0.000000053999844,-0.000000000017768,5.5671895585334e-17,4.2601111981517e-18,0.000000071375664,0.000000071375664,0.000000071375664,1.049997833007974,-0.00003073256646,1.049997831925437,-0.000030737067155,0.000016953839181,0.050903406746648,-0.036041932436045,0.000018346571467],[-0.000000000000257,-0.000000000000021,0.000000000000257,0.000000000000021,3.18068716985112e-27,2.39813715187188e-28,0.000000000000341,0.000000000000341,0.000000000000341,1.049997835969976,-0.000030720251821,1.049997835969989,-0.000030720251824,0.000000000081074,0.000064670851795,-99.9995865460385,0.000064670584411],[0.000000603998565,0.000000000198612,-0.000000603998564,-0.000000000198612,3.7783768084762e-16,2.89127996899282e-17,0.000000798350548,0.000000798350548,0.000000798350548,1.049997669814886,-0.000030340053568,1.049997669158032,-0.000030342784472,0.000189631957486,0.56890733870446,0.238913813619103,-0.001359198218858],[0.000001676994817,0.000000422159049,-0.000001676994808,-0.000000422159048,0.000000000000009,0.000000000000001,0.000002285766004,0.000002285766004,0.000002285766004,1.04999767343019,-0.000029968224841,1.049997667829322,-0.000029941248058,0.000542937288223,1.273553609142742,0.460913120034226,-0.005869975675208],[0.000000183000223,0.00000000006013,-0.000000183000222,-0.00000000006013,8.1954794572576e-16,6.27132367774582e-17,0.000000241885195,0.000000241885195,0.000000241885195,1.049997800155858,-0.000031064164517,1.049997795453432,-0.000031083715173,0.000057454915096,0.17245167302468,-0.001889044832163,0.000003257689417],[0.00000300800054,0.000000279760802,-0.000003008000503,-0.000000279760792,0.000000000000038,0.00000000000001,0.000003993059742,0.000003993059742,0.000003993059742,1.049997800155858,-0.000031064164517,1.049997786772335,-0.000031187750208,0.00094847023898,1.455450941906993,0.238064184016251,-0.003464907408608],[0.000000053999769,0.000000000017765,-0.000000053999769,-0.000000000017765,5.66665703457617e-18,4.33622555992191e-19,0.000000071375565,0.000000071375565,0.000000071375565,1.049997831925437,-0.000030737067155,1.049997831815249,-0.000030737525267,0.000016953815757,0.050899602656192,-0.028570833101214,0.000014542440524],[-0.000000000000239,-0.000000000000026,0.000000000000239,0.000000000000026,2.01948391736579e-28,1.57772181044202e-29,0.000000000000317,0.000000000000317,0.000000000000317,1.049997835969989,-0.000030720251824,1.04999783596999,-0.000030720251825,0.000000000075403,0.000060866668611,-99.999560341821095,0.000060866401005],[0.000000603998803,0.000000000198634,-0.000000603998802,-0.000000000198634,0.000000000000001,1.00931554268273e-16,0.000000798350864,0.000000798350864,0.000000798350864,1.049997669158032,-0.000030342784472,1.049997666865026,-0.000030352317766,0.000189632032444,0.568903554593747,0.239580583997301,-0.001362982458477],[0.000001676994748,0.000000422159048,-0.000001676994741,-0.000000422159047,0.000000000000007,0.000000000000001,0.000002285765928,0.000002285765928,0.000002285765928,1.049997667829322,-0.000029941248058,1.049997663676962,-0.00002992124807,0.000542937270051,1.273550015718494,0.46120951439959,-0.005873733843131],[0.00000018300017,0.000000000060116,-0.00000018300017,-0.000000000060116,7.50917207053599e-17,5.74614526573218e-18,0.000000241885126,0.000000241885126,0.000000241885126,1.049997795453432,-0.000031083715173,1.049997795022568,-0.000031085506518,0.000057454898698,0.172447868962331,0.000316830089533,-0.000000546366738],[0.000003008000473,0.000000279760829,-0.000003008000455,-0.000000279760825,0.000000000000018,0.000000000000005,0.000003993059708,0.000003993059708,0.000003993059708,1.049997786772335,-0.000031187750208,1.04999778031554,-0.000031247373339,0.000948470230735,1.455447156695982,0.238332968568893,-0.003468810414505],[0.000000053999948,0.000000000017772,-0.000000053999948,-0.000000000017772,3.95460492482822e-18,3.02613787511271e-19,0.000000071375802,0.000000071375802,0.000000071375802,1.049997831815249,-0.000030737525267,1.049997831738352,-0.000030737844969,0.000016953871974,0.05089579862195,-0.021099026100996,0.000010738517836],[-0.000000000000239,-0.000000000000015,0.000000000000239,0.000000000000015,5.04870979341448e-29,6.31088724176809e-30,0.000000000000316,0.000000000000316,0.000000000000316,1.04999783596999,-0.000030720251825,1.04999783596999,-0.000030720251825,0.000000000075102,0.000057062540472,-99.999560938172976,0.000057062289932],[0.000000603998667,0.000000000198625,-0.000000603998659,-0.000000000198624,0.000000000000008,6.17057918864117e-16,0.000000798350686,0.000000798350686,0.000000798350686,1.049997666865026,-0.000030352317766,1.049997652846436,-0.000030410600801,0.00018963199028,0.568899770506258,0.240247355772005,-0.001366766655634],[0.000001676994801,0.000000422159047,-0.000001676994794,-0.000000422159046,0.000000000000007,0.000000000000001,0.000002285766004,0.000002285766004,0.000002285766004,1.049997663676962,-0.00002992124807,1.049997659671344,-0.000029901954869,0.000542937288223,1.273546422432221,0.461503790223526,-0.005877465009781],[0.00000018300029,0.000000000060123,-0.00000018300029,-0.000000000060123,4.26881312010118e-17,3.26656883505792e-18,0.000000241885283,0.000000241885283,0.000000241885283,1.049997795022568,-0.000031085506518,1.049997794777631,-0.000031086524861,0.000057454936176,0.172444064909352,0.002522833593919,-0.0000043504768],[0.000003007998545,0.000000279762764,-0.00000300799849,-0.00000027976275,0.000000000000055,0.000000000000015,0.000003993057431,0.000003993057431,0.000003993057431,1.04999778031554,-0.000031247373339,1.049997760836393,-0.000031427246276,0.000948469690066,1.455363881110962,0.244079549221757,-0.003552245600552],[0.000000000002387,-0.000000000002089,-0.000000000002387,0.000000000002089,4.8467614016779e-27,1.21169035041947e-27,0.000000000004193,0.000000000004193,0.000000000004193,1.04999778031554,-0.000031247373339,1.049997780315539,-0.000031247373421,0.000000000995986,0.000079885285507,-99.991964975299567,0.000079878866704],[0.000000053999829,0.000000000017772,-0.000000053999829,-0.000000000017772,4.09660205750152e-18,3.13479764515912e-19,0.000000071375644,0.000000071375644,0.000000071375644,1.049997831738352,-0.000030737844969,1.049997831658694,-0.000030738176152,0.000016953834497,0.050891994662668,-0.013625762917676,0.000006934422537],[-0.000000000000239,1.28006117430687e-19,0.000000000000239,-1.28006117427363e-19,5.04870979341448e-29,3.32391434276932e-30,0.000000000000316,0.000000000000316,0.000000000000316,1.04999783596999,-0.000030720251825,1.04999783596999,-0.000030720251824,0.000000000074956,0.000053258356116,-99.999409183370218,0.000053258041456],[0.000001676994615,0.000000422158986,-0.000001676994609,-0.000000422158985,0.000000000000006,0.000000000000001,0.000002285765755,0.000002285765755,0.000002285765755,1.049997659671344,-0.000029901954869,1.049997655751052,-0.000029883072643,0.000542937229133,1.273542829193361,0.46179775205256,-0.005881192156642],[0.000000182999931,0.000000000060138,-0.000000182999931,-0.000000000060138,2.89861821390914e-17,2.21807077633992e-18,0.00000024188481,0.00000024188481,0.00000024188481,1.049997794777631,-0.000031086524861,1.049997794611313,-0.000031087216338,0.000057454823744,0.172440261062503,0.004728807193826,-0.00000815436747],[0.000003007998505,0.000000279762765,-0.000003007998426,-0.000000279762744,0.000000000000078,0.000000000000021,0.000003993057453,0.000003993057453,0.000003993057453,1.049997760836393,-0.000031427246276,1.04999773309324,-0.000031683430115,0.000948469695165,1.45536009635673,0.244359506001072,-0.003556310741994],[0.000000000000955,-0.000000000001432,-0.000000000000955,0.000000000001432,6.05845175209737e-28,-2.01948391736579e-28,0.000000000002276,0.000000000002276,0.000000000002276,1.049997780315539,-0.000031247373421,1.049997780315538,-0.000031247373439,0.000000000540513,0.000076081138629,-99.99214751575191,0.00007607516437],[0.000000053999829,0.000000000017761,-0.000000053999829,-0.000000000017761,1.7203358272743e-17,1.31643078039607e-18,0.000000071375644,0.000000071375644,0.000000071375644,1.049997831658694,-0.000030738176152,1.049997831324176,-0.000030739566929,0.000016953834495,0.050888190459778,-0.006151231552335,0.000003130250428],[-0.000000000000239,-0.000000000000007,0.000000000000239,0.000000000000007,1.0097419586829e-28,9.46633086265214e-30,0.000000000000316,0.000000000000316,0.000000000000316,1.04999783596999,-0.000030720251824,1.04999783596999,-0.000030720251823,0.000000000074992,0.000049454134282,-99.999553416400516,0.000049453913428],[0.000001676994549,0.000000422158985,-0.000001676994542,-0.000000422158984,0.000000000000008,0.000000000000001,0.000002285765679,0.000002285765679,0.000002285765679,1.049997655751052,-0.000029883072643,1.049997651036309,-0.000029860363918,0.000542937210961,1.273539236067712,0.46209264211898,-0.005884931104367],[0.000000183000051,0.000000000060168,-0.000000183000051,-0.000000000060168,4.72398215617604e-17,3.61487542367824e-18,0.000000241884968,0.000000241884968,0.000000241884968,1.049997794611313,-0.000031087216338,1.049997794340259,-0.000031088343262,0.000057454861225,0.172436457028261,0.006934852342229,-0.000011958213679],[0.000003007998352,0.000000279762774,-0.000003007998335,-0.000000279762769,0.000000000000016,0.000000000000004,0.000003993057358,0.000003993057358,0.000003993057358,1.04999773309324,-0.000031683430115,1.049997727287657,-0.000031737039604,0.000948469672709,1.455356312074926,0.244633850018274,-0.003560294177713],[-1.04162030041045e-18,-0.00000000000191,1.04162030089174e-18,0.00000000000191,4.81287774579431e-28,0.0,0.000000000002525,0.000000000002525,0.000000000002525,1.049997780315538,-0.000031247373439,1.049997780315538,-0.000031247373453,0.000000000599645,0.000072277891217,-99.992220435687642,0.000072272268312],[0.000000054000068,0.000000000017772,-0.000000054000068,-0.000000000017772,4.20068784834029e-18,3.21444560618389e-19,0.000000071375959,0.000000071375959,0.000000071375959,1.049997831324176,-0.000030739566929,1.049997831242494,-0.000030739906525,0.000016953909452,0.050884386406799,0.001324216219647,-0.000000673819298],[-0.000000000000082,4.4002102863744e-20,0.000000000000082,-4.40021028531724e-20,1.38839519318898e-28,1.05716340947981e-29,0.000000000000108,0.000000000000108,0.000000000000108,1.04999783596999,-0.000030720251823,1.049997835969992,-0.000030720251815,0.000000000025766,0.000045650020197,-99.99954127326346,0.000045649810788],[0.000001676994661,0.000000422158984,-0.000001676994648,-0.000000422158982,0.000000000000013,0.000000000000002,0.000002285765832,0.000002285765832,0.000002285765832,1.049997651036309,-0.000029860363918,1.049997643139982,-0.000029822330983,0.000542937247305,1.273532050162176,0.462676234005867,-0.005892330128548],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049997651036309,-0.000029860363918,1.049997651036309,-0.000029860363918,0.0,0.000003805421123,-100.0,0.000003805421123],[0.000000182999991,0.000000000060157,-0.000000182999991,-0.000000000060157,1.57027997020127e-16,1.20160533337195e-17,0.000000241884889,0.000000241884889,0.000000241884889,1.049997794340259,-0.000031088343262,1.049997793439258,-0.000031092089227,0.000057454842485,0.17243265301276,0.009141124572895,-0.000015762283616],[0.000003007997679,0.00000027976259,-0.000003007997675,-0.000000279762589,0.000000000000004,0.000000000000001,0.000003993056472,0.000003993056472,0.000003993056472,1.049997727287657,-0.000031737039604,1.049997725803818,-0.000031750741568,0.000948469462261,1.455352527853637,0.244897468931577,-0.003564121504745],[0.000000000002865,-0.000000000002626,-0.000000000002865,0.000000000002626,1.61558713389263e-27,4.03896783473158e-28,0.000000000005137,0.000000000005137,0.000000000005137,1.049997780315538,-0.000031247373453,1.049997780315538,-0.000031247373474,0.000000001220189,0.000068473444518,-99.990705495793606,0.000068467080251],[0.000000054000187,0.00000000001775,-0.000000054000187,-0.00000000001775,4.00701508843958e-18,3.06623212719672e-19,0.000000071376117,0.000000071376117,0.000000071376117,1.049997831242494,-0.000030739906525,1.049997831164578,-0.000030740230464,0.000016953946928,0.050880582260126,0.008800986297265,-0.000004477993073],[-0.00000000000003,0.000000000000004,0.00000000000003,-0.000000000000004,1.26217744835362e-29,0.0,0.00000000000004,0.00000000000004,0.00000000000004,1.049997835969992,-0.000030720251815,1.049997835969993,-0.000030720251812,0.000000000009442,0.000041845840526,-99.999526631141677,0.000041845642441],[0.000001676994693,0.000000422158982,-0.000001676994649,-0.000000422158975,0.000000000000043,0.000000000000007,0.000002285765889,0.000002285765889,0.000002285765889,1.049997643139982,-0.000029822330983,1.049997616506255,-0.000029694048709,0.000542937260934,1.2735248646538,0.463288878135584,-0.005900099058232],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049997643139982,-0.000029822330983,1.049997643139982,-0.000029822330983,0.0,0.000003805470313,-99.999999949098182,0.000003805470311],[0.000000183000051,0.000000000060162,-0.00000018300005,-0.000000000060162,1.74821512263979e-16,1.33776440881256e-17,0.000000241884968,0.000000241884968,0.000000241884968,1.049997793439258,-0.000031092089227,1.049997792436161,-0.00003109625966,0.000057454861225,0.172428849044107,0.011347435425432,-0.0000195662523],[0.000003007999823,0.000000279762708,-0.000003007999821,-0.000000279762708,0.000000000000002,5.8397670108911e-16,0.000003993059315,0.000003993059315,0.000003993059315,1.049997725803818,-0.000031750741568,1.049997725026455,-0.000031757919832,0.000948470137433,1.455348744036884,0.245159040096785,-0.003567919010941],[0.00000000000573,-0.000000000001432,-0.00000000000573,0.000000000001432,1.61558713389263e-27,1.0097419586829e-27,0.000000000007807,0.000000000007807,0.000000000007807,1.049997780315538,-0.000031247373474,1.049997780315538,-0.00003124737349,0.000000001854299,0.000064669897283,-99.992219891750565,0.000064664865895],[0.000000054000068,0.00000000001775,-0.000000054000068,-0.00000000001775,3.98520399004778e-18,3.04954795886501e-19,0.000000071375959,0.000000071375959,0.000000071375959,1.049997831164578,-0.000030740230464,1.049997831087086,-0.000030740552641,0.00001695390945,0.050876778188409,0.016278594876668,-0.000008282024608],[-0.000000000000179,9.60045880329761e-20,0.000000000000179,-9.60045880278682e-20,1.0097419586829e-28,5.10792732437952e-30,0.000000000000237,0.000000000000237,0.000000000000237,1.049997835969993,-0.000030720251812,1.049997835969993,-0.00003072025181,0.000000000056217,0.000038041712387,-99.999536974960222,0.000038041536244],[0.000001676994657,0.000000422158966,-0.000001676994595,-0.000000422158956,0.000000000000062,0.00000000000001,0.000002285765896,0.000002285765896,0.000002285765896,1.049997616506255,-0.000029694048709,1.049997578835591,-0.000029512606654,0.00054293726249,1.273517680554801,0.463940922920267,-0.005908369680719],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049997616506255,-0.000029694048709,1.049997616506255,-0.000029694048709,0.0,0.00000380560617,-99.999999948344083,0.000003805606168],[0.000000182999991,0.000000000060153,-0.000000182999991,-0.000000000060153,9.83188728965101e-17,7.52352957367504e-18,0.000000241884889,0.000000241884889,0.000000241884889,1.049997792436161,-0.00003109625966,1.049997791872024,-0.000031098605096,0.000057454842485,0.172425045112932,0.013553835237726,-0.000023370206523],[0.000003007998389,0.00000027976223,-0.000003007998387,-0.00000027976223,0.000000000000002,4.84109451965019e-16,0.000003993057371,0.000003993057371,0.000003993057371,1.049997725026455,-0.000031757919832,1.049997724382031,-0.00003176387053,0.00094846967575,1.455344959816218,0.245420257493936,-0.003571711347806],[-1.5624304531527e-18,-0.000000000002865,1.56243045399855e-18,0.000000000002865,8.45848401903452e-28,0.0,0.000000000003787,0.000000000003787,0.000000000003787,1.049997780315538,-0.00003124737349,1.049997780315538,-0.000031247373506,0.000000000899467,0.000060865450583,-99.992471769919518,0.000060860868492],[0.000000053999948,0.000000000017757,-0.000000053999948,-0.000000000017757,4.57152946056006e-18,3.49821107854294e-19,0.000000071375802,0.000000071375802,0.000000071375802,1.049997831087086,-0.000030740552641,1.049997830998193,-0.000030740922218,0.000016953871973,0.050872974079214,0.02375752183097,-0.000012086157923],[-0.000000000000298,-0.000000000000011,0.000000000000298,0.000000000000011,3.53409685539013e-28,2.68212707775144e-29,0.000000000000395,0.000000000000395,0.000000000000395,1.049997835969993,-0.00003072025181,1.049997835969994,-0.000030720251807,0.00000000009376,0.000034237453075,-99.999450737776087,0.000034237265022],[0.000001676994618,0.000000422158948,-0.000001676994574,-0.000000422158941,0.000000000000044,0.000000000000007,0.000002285765922,0.000002285765922,0.000002285765922,1.049997578835591,-0.000029512606654,1.049997551804727,-0.000029382411569,0.000542937268733,1.273510498430027,0.464593346212571,-0.005916645039024],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049997578835591,-0.000029512606654,1.049997578835591,-0.000029512606654,0.0,0.000003805791217,-99.999999997798895,0.000003805791217],[0.00000018300011,0.000000000060157,-0.00000018300011,-0.000000000060157,9.23602872801517e-17,7.06756803911975e-18,0.000000241885047,0.000000241885047,0.000000241885047,1.049997791872024,-0.000031098605096,1.049997791342075,-0.000031100808386,0.000057454879963,0.172421241209865,0.015760297243476,-0.000027174100126],[0.000003007998387,0.000000279763185,-0.000003007998385,-0.000000279763184,0.000000000000001,3.92343914162738e-16,0.000003993057488,0.000003993057488,0.000003993057488,1.049997724382031,-0.00003176387053,1.049997723859761,-0.000031768693234,0.000948469703515,1.455341175877731,0.245681411687128,-0.00357550274576],[-1.0416203026657e-18,-0.00000000000191,1.0416203031522e-18,0.00000000000191,4.86497415078999e-28,0.0,0.000000000002525,0.000000000002525,0.000000000002525,1.049997780315538,-0.000031247373506,1.049997780315538,-0.000031247373521,0.000000000599645,0.00005706130371,-99.992608913526553,0.00005705708626],[0.000000053999978,0.000000000017759,-0.000000053999978,-0.000000000017759,1.57875162316279e-17,1.20808778175018e-18,0.000000071375841,0.000000071375841,0.000000071375841,1.049997830998193,-0.000030740922218,1.049997830691207,-0.00003074219853,0.000016953881343,0.050869169998128,0.031237507368457,-0.000015890260726],[-0.000000000000239,1.28006117357179e-19,0.000000000000239,-1.28006117346091e-19,1.51461293802434e-28,1.1087554615713e-29,0.000000000000316,0.000000000000316,0.000000000000316,1.049997835969994,-0.000030720251807,1.049997835969995,-0.000030720251804,0.000000000074956,0.000030433287458,-99.999478862071811,0.000030433128859],[0.000001676994648,0.000000422158936,-0.000001676994635,-0.000000422158933,0.000000000000013,0.000000000000002,0.000002285766016,0.000002285766016,0.000002285766016,1.049997551804727,-0.000029382411569,1.049997543603569,-0.00002934291041,0.000542937291019,1.273503317726449,0.465206568592328,-0.005924421085305],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049997551804727,-0.000029382411569,1.049997551804727,-0.000029382411569,0.0,0.000003805898965,-99.999999793392178,0.000003805898957],[0.00000018299999,0.000000000060138,-0.00000018299999,-0.000000000060138,8.8119219783029e-17,6.7430337165754e-18,0.000000241884889,0.000000241884889,0.000000241884889,1.049997791342075,-0.000031100808386,1.049997790836462,-0.000031102910507,0.000057454842483,0.172417437231842,0.01796693953264,-0.000030978136691],[0.000003007996475,0.000000279762707,-0.000003007996473,-0.000000279762706,0.000000000000002,5.99723890611515e-16,0.000003993054916,0.000003993054916,0.000003993054916,1.049997723859761,-0.000031768693234,1.049997723061436,-0.000031776065067,0.000948469092564,1.455337391313708,0.245942625834149,-0.003579294994943],[-1.0416203031522e-18,-0.00000000000191,1.04162030342964e-18,0.00000000000191,2.77440223324692e-28,0.0,0.000000000002525,0.000000000002525,0.000000000002525,1.049997780315538,-0.000031247373521,1.049997780315538,-0.000031247373529,0.000000000599645,0.000053256857011,-99.9913969157829,0.000053252275279],[0.000000053999889,0.000000000017757,-0.000000053999889,-0.000000000017757,7.69354401162916e-17,5.88723393114188e-18,0.000000071375723,0.000000071375723,0.000000071375723,1.049997830691207,-0.00003074219853,1.049997829195202,-0.000030748418248,0.000016953853234,0.050865365942807,0.038718518215704,-0.000019694315978],[-0.000000000000209,-0.000000000000004,0.000000000000209,0.000000000000004,1.26217744835362e-28,1.02551917678732e-29,0.000000000000276,0.000000000000276,0.000000000000276,1.049997835969995,-0.000030720251804,1.049997835969996,-0.000030720251802,0.000000000065597,0.000026629103102,-99.999336930682332,0.000026628926533],[0.000001500994105,0.000000364310703,-0.000001500994073,-0.000000364310698,0.000000000000032,0.000000000000005,0.000002041578926,0.000002041578926,0.000002041578926,1.049997543603569,-0.00002934291041,1.049997521909377,-0.000029248556182,0.000484935607562,1.098924952401796,0.475047444886785,-0.005220414907608],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049997543603569,-0.00002934291041,1.049997543603569,-0.00002934291041,0.0,0.000003805969236,-99.999999929567977,0.000003805969234],[0.000000176000507,0.000000057848192,-0.000000176000507,-0.000000057848192,7.62532225752162e-16,5.83502931738909e-17,0.000000244876883,0.000000244876883,0.000000244876883,1.049997543603569,-0.00002934291041,1.049997539394672,-0.000029286417848,0.000058165529878,0.17457118511815,0.407649670823671,-0.000711638861487],[0.00000018300002,0.000000000060153,-0.00000018300002,-0.000000000060153,1.44678653695853e-16,1.10710644304805e-17,0.000000241884928,0.000000241884928,0.000000241884928,1.049997790836462,-0.000031102910507,1.04999779000632,-0.000031106361875,0.000057454851854,0.172413633366253,0.020173583201598,-0.000034782007778],[0.000003007997428,0.000000279762945,-0.000003007997426,-0.000000279762945,0.000000000000002,5.40642442568021e-16,0.000003993056202,0.000003993056202,0.000003993056202,1.049997723061436,-0.000031776065067,1.049997722341758,-0.000031782710665,0.00094846939804,1.455333607470113,0.246203866475262,-0.003583087611705],[-0.00000000000382,-0.000000000002387,0.00000000000382,0.000000000002387,8.07793566946316e-28,0.0,0.000000000005954,0.000000000005954,0.000000000005954,1.049997780315538,-0.000031247373529,1.049997780315538,-0.000031247373531,0.00000000141426,0.00004945151085,-99.994875558020851,0.000049448976736],[-0.000000000000149,8.00038233356309e-20,0.000000000000149,-8.00038233286008e-20,1.0097419586829e-28,7.03016189068596e-30,0.000000000000197,0.000000000000197,0.000000000000197,1.049997835969996,-0.000030720251802,1.049997835969996,-0.0000307202518,0.000000000046847,0.000022824900007,-99.99932609968802,0.00002282474619],[0.000001500994014,0.000000364310688,-0.000001500993978,-0.000000364310683,0.000000000000035,0.000000000000006,0.000002041578847,0.000002041578847,0.000002041578847,1.049997521909377,-0.000029248556182,1.049997497806108,-0.000029143724176,0.000484935588661,1.09891418371268,0.4760909769923,-0.005231831273545],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049997521909377,-0.000029248556182,1.049997521909377,-0.000029248556182,0.0,0.000003806048877,-99.999999929569455,0.000003806048874],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049997521909377,-0.000029248556182,1.049997521909377,-0.000029248556182,0.0,0.000003806002029,-99.999999436548634,0.000003806002008],[0.000000176000544,0.00000005784819,-0.000000176000544,-0.00000005784819,1.11358415723898e-16,8.52133012039057e-18,0.000000244876929,0.000000244876929,0.000000244876929,1.049997539394672,-0.000029286417848,1.049997538780014,-0.00002927816781,0.000058165540776,0.174567595041099,0.409722390845428,-0.000715242524044],[0.000000182999931,0.000000000060153,-0.00000018299993,-0.000000000060153,1.00771324446387e-16,7.71119954849394e-18,0.00000024188481,0.00000024188481,0.00000024188481,1.04999779000632,-0.000031106361875,1.04999778942811,-0.000031108765817,0.000057454823746,0.172409829463187,0.022380357853791,-0.000038585936809],[0.000003007994561,0.000000279762467,-0.000003007994559,-0.000000279762467,0.000000000000002,5.14557427682614e-16,0.000003993052373,0.000003993052373,0.000003993052373,1.049997722341758,-0.000031782710665,1.049997721656802,-0.000031789035633,0.000948468488555,1.455329823470444,0.246465106111024,-0.003586880193682],[-0.00000000000191,-0.000000000001432,0.00000000000191,0.000000000001432,4.03896783473158e-28,2.01948391736579e-28,0.000000000003156,0.000000000003156,0.000000000003156,1.049997780315538,-0.000031247373531,1.049997780315538,-0.000031247373532,0.000000000749556,0.000045649162896,-99.992150073248041,0.00004564557947],[-0.000000000000194,9.32689423610576e-16,0.000000000000194,-9.3268942361052e-16,7.57306469012171e-28,5.60091242706918e-29,0.000000000000256,0.000000000000256,0.000000000000256,1.049997835969996,-0.0000307202518,1.04999783597,-0.000030720251782,0.000000000060902,0.000019020727363,-99.999030321098729,0.000019020542923],[0.000001500993934,0.000000364310685,-0.000001500993921,-0.000000364310683,0.000000000000013,0.000000000000002,0.00000204157879,0.00000204157879,0.00000204157879,1.049997497806108,-0.000029143724176,1.049997488973488,-0.000029105308581,0.000484935575142,1.098907005757329,0.476789666067528,-0.005239475043143],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049997497806108,-0.000029143724176,1.049997497806108,-0.000029143724176,0.0,0.000003806170679,-99.999999849565086,0.000003806170674],[0.000000176000484,0.000000057848205,-0.000000176000484,-0.000000057848205,6.07208009035658e-17,4.64647202405737e-18,0.00000024487686,0.00000024487686,0.00000024487686,1.049997538780014,-0.00002927816781,1.049997538444858,-0.00002927366928,0.000058165524437,0.174564005011716,0.411788956696888,-0.000718835295006],[0.00000018299993,0.000000000060146,-0.00000018299993,-0.000000000060146,7.08041722752566e-17,5.41805798273707e-18,0.00000024188481,0.00000024188481,0.00000024188481,1.04999778942811,-0.000031108765817,1.049997789021847,-0.000031110454881,0.000057454823745,0.172406025616336,0.024587170946025,-0.00004238976424],[0.000003007996469,0.000000279762944,-0.000003007996467,-0.000000279762944,0.000000000000002,5.79680920557551e-16,0.000003993054945,0.000003993054945,0.000003993054945,1.049997721656802,-0.000031789035633,1.049997720885157,-0.000031796161094,0.000948469099506,1.455326039074979,0.246726414414981,-0.003590673754257],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049997780315538,-0.000031247373532,1.049997780315538,-0.000031247373532,0.0,0.00004184441637,-99.992775587493739,0.000041841393357],[-0.000000000000239,0.000000000000007,0.000000000000239,-0.000000000000007,5.04870979341448e-29,4.73316543132607e-30,0.000000000000316,0.000000000000316,0.000000000000316,1.04999783597,-0.000030720251782,1.049997835970001,-0.000030720251781,0.000000000074992,0.000015216587512,-99.999133507453749,0.000015216455662],[0.000001397994862,0.000000330456345,-0.000001397994838,-0.000000330456342,0.000000000000024,0.000000000000004,0.000001898757876,0.000001898757876,0.000001898757876,1.049997488973488,-0.000029105308581,1.049997471586085,-0.000029035402855,0.000451011367887,0.996737067428628,0.482812820381339,-0.004812374347038],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049997488973488,-0.000029105308581,1.049997488973488,-0.000029105308581,0.0,0.000003806187076,-99.999999929434594,0.000003806187073],[0.000000102999035,0.000000033854314,-0.000000102999034,-0.000000033854314,7.28142330751613e-16,5.57187206254494e-17,0.000000143307042,0.000000143307042,0.000000143307042,1.049997488973488,-0.000029105308581,1.049997482105868,-0.000029013128813,0.000034039677153,0.102162760849301,0.42542850835935,-0.00043462950958],[0.000000176000604,0.000000057848205,-0.000000176000603,-0.000000057848205,4.11336404543429e-17,3.14762075411128e-18,0.00000024487701,0.00000024487701,0.00000024487701,1.049997538444858,-0.00002927366928,1.049997538217815,-0.000029270621879,0.00005816556004,0.17456041501345,0.413854881549945,-0.000722426798787],[0.00000018299993,0.000000000060138,-0.00000018299993,-0.000000000060138,3.38306282622348e-17,2.58877967777017e-18,0.00000024188481,0.00000024188481,0.00000024188481,1.049997789021847,-0.000031110454881,1.049997788827733,-0.000031111261925,0.000057454823744,0.172402221769488,0.026794146724206,-0.000046193704257],[0.000003007998377,0.000000279762944,-0.000003007998375,-0.000000279762943,0.000000000000002,6.12330070207264e-16,0.000003993057459,0.000003993057459,0.000003993057459,1.049997720885157,-0.000031796161094,1.049997720070052,-0.000031803687878,0.000948469696574,1.455322254706985,0.246987690886227,-0.003594466831854],[0.000000000000955,0.000000000000477,-0.000000000000955,-0.000000000000477,2.01948391736579e-28,0.0,0.000000000001411,0.000000000001411,0.000000000001411,1.049997780315538,-0.000031247373532,1.049997780315538,-0.000031247373529,0.000000000335212,0.000038040269491,-99.992595106927979,0.00003803745265],[-0.000000000000239,-0.000000000000015,0.000000000000239,0.000000000000015,5.04870979341448e-29,0.0,0.000000000000316,0.000000000000316,0.000000000000316,1.049997835970001,-0.000030720251781,1.049997835970001,-0.000030720251781,0.000000000075102,0.000011412440634,-99.999569025965457,0.00001141239145],[0.000001397994853,0.000000330456336,-0.00000139799482,-0.000000330456331,0.000000000000034,0.000000000000005,0.000001898757894,0.000001898757894,0.000001898757894,1.049997471586085,-0.000029035402855,1.049997446665838,-0.000028935211477,0.000451011372042,0.996729890783787,0.483589575161178,-0.004820081844346],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049997471586085,-0.000029035402855,1.049997471586085,-0.000029035402855,0.0,0.000003806243293,-99.999999929024966,0.00000380624329],[0.000000052999134,0.000000017420182,-0.000000052999134,-0.000000017420182,1.08423658319899e-17,8.29678698002938e-19,0.000000073740053,0.000000073740053,0.000000073740053,1.049997482105868,-0.000029013128813,1.049997481907131,-0.000029010461274,0.000017515451978,0.052579327135849,0.4060375360431,-0.00021349180437],[0.000000049999872,0.000000016434135,-0.000000049999872,-0.000000016434135,6.79981043222358e-17,5.20333332115052e-18,0.000000069566955,0.000000069566955,0.000000069566955,1.049997482105868,-0.000029013128813,1.04999748078472,-0.000028995396015,0.000016524217151,0.049579845382143,0.453286226981193,-0.000224738610476],[0.000000176000603,0.000000057848219,-0.000000176000603,-0.000000057848219,6.24793471811841e-17,4.78101791377279e-18,0.000000244877016,0.000000244877016,0.000000244877016,1.049997538217815,-0.000029270621879,1.049997537872952,-0.00002926599307,0.000058165561503,0.174556824989626,0.415920988314559,-0.000726018471667],[0.000000182999214,0.000000000060123,-0.000000182999214,-0.000000000060123,2.1430648249583e-17,1.63991110358779e-18,0.000000241883863,0.000000241883863,0.000000241883863,1.049997788827733,-0.000031111261925,1.049997788704766,-0.000031111773166,0.000057454598876,0.172398417922633,0.029001130958426,-0.000049997490952],[0.000003007996226,0.000000279762585,-0.000003007996221,-0.000000279762583,0.000000000000005,0.000000000000001,0.000003993054587,0.000003993054587,0.000003993054587,1.049997720070052,-0.000031803687878,1.049997718287846,-0.000031820144992,0.00094846901446,1.455318470754761,0.247249400624082,-0.003598266196113],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049997780315538,-0.000031247373529,1.049997780315538,-0.000031247373526,0.0,0.000034236122613,-99.993152474375407,0.000034233778286],[8.00038232798869e-21,0.000000000000015,-8.00038232783925e-21,-0.000000000000015,1.49434108091221e-31,0.0,0.00000000000002,0.00000000000002,0.00000000000002,1.049997835970001,-0.000030720251781,1.049997835970001,-0.00003072025178,0.000000000004685,0.000007608256278,-99.999591741909512,0.000007608225217],[0.000001397994834,0.000000330456333,-0.000001397994814,-0.000000330456329,0.000000000000021,0.000000000000003,0.000001898757913,0.000001898757913,0.000001898757913,1.049997446665838,-0.000028935211477,1.04999743145785,-0.000028874068054,0.000451011376736,0.99672271535876,0.48436347565125,-0.004827760786717],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049997446665838,-0.000028935211477,1.049997446665838,-0.000028935211477,0.0,0.000003806334645,-99.999999929026672,0.000003806334642],[0.000000052999253,0.000000017420185,-0.000000052999253,-0.000000017420185,4.58283867389489e-18,3.50688183775531e-19,0.000000073740205,0.000000073740205,0.000000073740205,1.049997481907131,-0.000029010461274,1.04999748182313,-0.000029009333769,0.000017515487947,0.052575738355719,0.41289157933774,-0.000217080796445],[0.000000049999895,0.000000016434138,-0.000000049999895,-0.000000016434138,4.35110832662734e-17,3.3295442405913e-18,0.000000069566984,0.000000069566984,0.000000069566984,1.04999748078472,-0.000028995396015,1.049997479939335,-0.000028984049045,0.000016524224055,0.049576256888057,0.460560892613119,-0.000228328851248],[0.000000176000305,0.000000057848208,-0.000000176000305,-0.000000057848208,9.48182445441857e-17,7.25565113895583e-18,0.000000244876637,0.000000244876637,0.000000244876637,1.049997537872952,-0.00002926599307,1.04999753734959,-0.000029258968392,0.000058165471396,0.174553235035714,0.417987594761716,-0.000729610868705],[0.000000182998975,0.000000000060093,-0.000000182998975,-0.000000000060093,1.44897161726465e-17,1.10877814792416e-18,0.000000241883548,0.000000241883548,0.000000241883548,1.049997788704766,-0.000031111773166,1.049997788621626,-0.000031112118827,0.000057454523917,0.172394613850918,0.031208372080825,-0.000053801552538],[0.000003007996997,0.000000279762826,-0.000003007996883,-0.000000279762796,0.000000000000114,0.00000000000003,0.000003993055638,0.000003993055638,0.000003993055638,1.049997718287846,-0.000031820144992,1.049997677866789,-0.000032193398089,0.000948469264069,1.455314686755425,0.247527268015375,-0.003602300685152],[1.30202537916224e-19,0.000000000000239,-1.30202537903924e-19,-0.000000000000239,1.22996145520888e-29,0.0,0.000000000000316,0.000000000000316,0.000000000000316,1.049997780315538,-0.000031247373526,1.049997780315538,-0.000031247373523,0.000000000074956,0.000030431975737,-99.991262350095155,0.000030429316698],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049997835970001,-0.00003072025178,1.049997835970001,-0.00003072025178,0.0,0.000003804203095,-99.999999677090045,0.000003804203083],[0.000001397994769,0.00000033045632,-0.000001397994766,-0.000000330456319,0.000000000000004,5.67328797906419e-16,0.000001898757853,0.000001898757853,0.000001898757853,1.04999743145785,-0.000028874068054,1.04999742883888,-0.000028863538533,0.000451011362385,0.996715540690961,0.485109233875054,-0.00483515912336],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.04999743145785,-0.000028874068054,1.04999743145785,-0.000028874068054,0.0,0.000003806414285,-100.0,0.000003806414285],[0.000000052999014,0.000000017420185,-0.000000052999014,-0.000000017420185,2.69277729632552e-18,2.0606061675431e-19,0.000000073739905,0.000000073739905,0.000000073739905,1.04999748182313,-0.000029009333769,1.049997481773772,-0.00002900867127,0.00001751541674,0.052572149713601,0.419745870527463,-0.00022066942747],[0.000000176000305,0.000000057848212,-0.000000176000305,-0.000000057848212,6.72704302286505e-17,5.147644213591e-18,0.000000244876638,0.000000244876638,0.000000244876638,1.04999753734959,-0.000029258968392,1.049997536978282,-0.000029253984616,0.000058165471762,0.174549645040204,0.420054369140895,-0.000733203410311],[0.000000183000169,0.000000000060168,-0.000000183000169,-0.000000000060168,2.02116619593657e-17,1.54663284104233e-18,0.000000241885126,0.000000241885126,0.000000241885126,1.049997788621626,-0.000031112118827,1.049997788505655,-0.000031112600984,0.000057454898703,0.172390810303881,0.033415423780188,-0.000057605119821],[0.000000033999933,0.000000000011181,-0.000000033999933,-0.000000000011181,3.87739588645252e-17,2.96705110864684e-18,0.00000004494028,0.00000004494028,0.00000004494028,1.049997677866789,-0.000032193398089,1.049997676669328,-0.000032198376597,0.000010674650848,0.032031513390989,0.229395559154422,-0.000073478869249],[0.000002973996644,0.000000279751635,-0.000002973996627,-0.00000027975163,0.000000000000017,0.000000000000005,0.000003948308888,0.000003948308888,0.000003948308888,1.049997677866789,-0.000032193398089,1.049997671721182,-0.000032249785145,0.00093784058245,1.423279390027391,0.248221432872018,-0.003532884495698],[-0.000000000000955,0.000000000000239,0.000000000000955,-0.000000000000239,4.03896783473158e-28,5.04870979341448e-29,0.000000000001301,0.000000000001301,0.000000000001301,1.049997780315538,-0.000031247373523,1.049997780315538,-0.000031247373518,0.00000000030905,0.000026628128683,-99.994557833129576,0.000026626679536],[0.000000392996536,0.000000000129931,-0.000000392996535,-0.000000000129931,7.15912141140216e-16,1.14484898032552e-16,0.00000051945334,0.00000051945334,0.00000051945334,1.04999742883888,-0.000028863538533,1.049997426926025,-0.000028880195014,0.000123385590392,0.235732823283355,-0.063473613783527,0.000149628141812],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.04999742883888,-0.000028863538533,1.04999742883888,-0.000028863538533,0.0,0.000003806386177,-99.999711260309709,0.000003806375186],[0.000001004998401,0.0000003303262,-0.00000100499837,-0.000000330326197,0.000000000000032,0.000000000000002,0.000001398297111,0.000001398297111,0.000001398297111,1.04999742883888,-0.000028863538533,1.049997397986808,-0.000028449434334,0.0003321370781,0.996460839352373,0.510821806501691,-0.005090139260662],[0.000000052999492,0.000000017420171,-0.000000052999492,-0.000000017420171,2.47819341053947e-18,1.89639427233907e-19,0.000000073740499,0.000000073740499,0.000000073740499,1.049997481773772,-0.00002900867127,1.049997481728348,-0.000029008061573,0.000017515557692,0.052568560951989,0.426601694305996,-0.000224258371693],[0.000000176000484,0.000000057848197,-0.000000176000484,-0.000000057848197,4.59600341877979e-17,3.51692711911416e-18,0.000000244876857,0.000000244876857,0.000000244876857,1.049997536978282,-0.000029253984616,1.0499975367246,-0.000029250579641,0.000058165523705,0.174546055018118,0.422120821401283,-0.000736795241166],[0.000000182999453,0.000000000060153,-0.000000182999453,-0.000000000060153,1.54255552304645e-17,1.1803901333085e-18,0.000000241884179,0.000000241884179,0.000000241884179,1.049997788505655,-0.000031112600984,1.049997788417146,-0.000031112968968,0.000057454673835,0.172387006531983,0.035622773980094,-0.000061409033708],[0.000000033999925,0.000000000011181,-0.000000033999925,-0.000000000011181,3.41933701218964e-17,2.61653618366672e-18,0.000000044940271,0.000000044940271,0.000000044940271,1.049997676669328,-0.000032198376597,1.04999767561333,-0.000032202766965,0.000010674648506,0.032027730083087,0.241235270351061,-0.000077262181253],[0.000002973996746,0.000000279751675,-0.000002973996737,-0.000000279751673,0.000000000000009,0.000000000000002,0.000003948309051,0.000003948309051,0.000003948309051,1.049997671721182,-0.000032249785145,1.049997668405799,-0.000032280204374,0.000937840621079,1.423275606721615,0.248491877784762,-0.003536724281195],[5.20810151525351e-19,0.000000000000955,-5.20810151384644e-19,-0.000000000000955,1.4070709358597e-28,-2.01948391736579e-28,0.000000000001262,0.000000000001262,0.000000000001262,1.049997780315538,-0.000031247373518,1.049997780315538,-0.00003124737351,0.000000000299822,0.000022823681985,-99.990760019384467,0.000022821573081],[0.000000392996296,0.000000000129894,-0.000000392996296,-0.000000000129894,5.26996053573485e-16,8.42744317699136e-17,0.000000519453025,0.000000519453025,0.000000519453025,1.049997426926025,-0.000028880195014,1.049997425517936,-0.00002889245617,0.000123385515433,0.235725210548889,-0.060246152817967,0.000142015370578],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049997426926025,-0.000028880195014,1.049997426926025,-0.000028880195014,0.0,0.00000380633933,-100.0,0.00000380633933],[0.000001004998355,0.000000330326186,-0.000001004998336,-0.000000330326185,0.000000000000019,0.000000000000001,0.000001398297088,0.000001398297088,0.000001398297088,1.049997397986808,-0.000028449434334,1.049997379755682,-0.000028204731624,0.000332137072552,0.996457252819006,0.511262944391956,-0.00509451669037],[0.000000053000208,0.0000000174202,-0.000000053000208,-0.0000000174202,2.20791049102654e-18,1.68949985752731e-19,0.00000007374141,0.00000007374141,0.00000007374141,1.049997481728348,-0.000029008061573,1.049997481687879,-0.000029007518385,0.000017515774242,0.052564972293099,0.433457618869624,-0.000227846877261],[0.000000176000245,0.000000057848212,-0.000000176000245,-0.000000057848212,3.63173581766958e-17,2.77906877782706e-18,0.000000244876563,0.000000244876563,0.000000244876563,1.0499975367246,-0.000029250579641,1.049997536524141,-0.000029247889043,0.00005816545396,0.174542465069285,0.424187034205616,-0.000740386506007],[0.000000182999572,0.000000000060172,-0.000000182999572,-0.000000000060172,1.10080375355389e-16,8.42354157800698e-18,0.000000241884337,0.000000241884337,0.000000241884337,1.049997788417146,-0.000031112968968,1.049997787785521,-0.000031115594982,0.000057454711314,0.17238320264766,0.037830185997204,-0.00006521288619],[0.000002973997573,0.000000279751702,-0.000002973997571,-0.000000279751702,0.000000000000001,3.677243721552e-16,0.000003948310154,0.000003948310154,0.000003948310154,1.049997668405799,-0.000032280204374,1.049997667910666,-0.000032284747308,0.000937840883148,1.423271823102135,0.248759953005936,-0.003540530318296],[-0.00000000000382,2.08324060553858e-18,0.00000000000382,-2.08324060502453e-18,1.61558713389263e-27,5.14046879968486e-28,0.000000000005049,0.000000000005049,0.000000000005049,1.049997780315538,-0.00003124737351,1.049997780315539,-0.000031247373502,0.00000000119929,0.000019020134748,-99.99057877112098,0.000019018342818],[0.000000392996385,0.00000000012992,-0.000000392996385,-0.00000000012992,7.1750620420739e-16,1.14739813306301e-16,0.000000519453143,0.000000519453143,0.000000519453143,1.049997425517936,-0.00002889245617,1.04999742360082,-0.000028909149748,0.000123385543544,0.235717597917484,-0.057018514903848,0.0001344026737],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049997425517936,-0.00002889245617,1.049997425517936,-0.00002889245617,0.0,0.000003806311221,-99.999999854813709,0.000003806311216],[0.000001004998328,0.000000330326175,-0.000001004998313,-0.000000330326174,0.000000000000015,0.000000000000001,0.000001398297075,0.000001398297075,0.000001398297075,1.049997379755682,-0.000028204731624,1.049997365310319,-0.000028010842357,0.000332137069413,0.996453666660855,0.511677519458455,-0.005098629404123],[0.000000052999969,0.000000017420185,-0.000000052999969,-0.000000017420185,2.29044326382463e-18,1.75269645632636e-19,0.000000073741104,0.000000073741104,0.000000073741104,1.049997481687879,-0.000029007518385,1.049997481645896,-0.000029006954889,0.000017515701571,0.052561383643995,0.440314940013292,-0.000231435624862],[0.000000176000245,0.000000057848208,-0.000000176000245,-0.000000057848208,1.16443154506266e-16,8.91042926309062e-18,0.000000244876562,0.000000244876562,0.000000244876562,1.049997536524141,-0.000029247889043,1.049997535881417,-0.000029239262268,0.000058165453594,0.17453887515039,0.426253859430019,-0.000743978691534],[0.000000027999988,0.00000000000921,-0.000000027999988,-0.00000000000921,9.08576508317226e-18,6.95259008260889e-19,0.000000037009696,0.000000037009696,0.000000037009696,1.049997787785521,-0.000031115594982,1.049997787444797,-0.00003111701156,0.000008790901611,0.026384073537601,0.004756811831402,-0.000001255040732],[0.000000154999681,0.00000000005097,-0.00000015499968,-0.00000000005097,8.08570901655157e-16,6.18732511440666e-17,0.000000204874769,0.000000204874769,0.000000204874769,1.049997787785521,-0.000031115594982,1.049997782307968,-0.000031138368199,0.000048663840155,0.145995325252668,0.046413625116922,-0.000067761722951],[0.000002973993751,0.00000027975218,-0.00000297399375,-0.000000279752179,0.000000000000001,2.80697030780741e-16,0.000003948305186,0.000003948305186,0.000003948305186,1.049997667910666,-0.000032284747308,1.049997667532713,-0.000032288215089,0.000937839703169,1.423268040681908,0.249026695166793,-0.003544317365075],[-0.00000000000382,0.000000000000955,0.00000000000382,-0.000000000000955,8.07793566946316e-28,2.01948391736579e-28,0.000000000005204,0.000000000005204,0.000000000005204,1.049997780315539,-0.000031247373502,1.049997780315539,-0.000031247373496,0.0000000012362,0.000015216587513,-99.990476360224804,0.00001521513834],[0.000000392996355,0.000000000129901,-0.000000392996354,-0.000000000129901,5.07747865121841e-16,8.11963531238755e-17,0.000000519453104,0.000000519453104,0.000000519453104,1.04999742360082,-0.000028909149748,1.049997422244161,-0.000028920963068,0.000123385534172,0.235709985323558,-0.053790689061221,0.000126790025292],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.04999742360082,-0.000028909149748,1.04999742360082,-0.000028909149748,0.0,0.000003806264374,-99.99999996478671,0.000003806264373],[0.000001004998313,0.000000330326171,-0.000001004998307,-0.00000033032617,0.000000000000006,4.72523258856442e-16,0.000001398297073,0.000001398297073,0.000001398297073,1.049997365310319,-0.000028010842357,1.049997359341386,-0.00002793072585,0.000332137069047,0.996450080810201,0.512072236512196,-0.005102544214532],[0.000000053000148,0.000000017420185,-0.000000053000148,-0.000000017420185,6.91449538455936e-18,5.29107733180769e-19,0.000000073741329,0.000000073741329,0.000000073741329,1.049997481645896,-0.000029006954889,1.049997481519158,-0.000029005253785,0.000017515754977,0.052557795017294,0.447173175050683,-0.000235024360715],[0.000000176000208,0.000000057848204,-0.000000176000207,-0.000000057848204,9.41851456496282e-16,7.20721210402922e-17,0.000000244876513,0.000000244876513,0.000000244876513,1.049997535881417,-0.000029239262268,1.049997530682737,-0.000029169484494,0.000058165442102,0.174535285227807,0.428328921151284,-0.000747585104245],[0.000000027999928,0.000000000009207,-0.000000027999928,-0.000000000009207,1.00327247571454e-17,7.67721810297556e-19,0.000000037009617,0.000000037009617,0.000000037009617,1.049997787444797,-0.00003111701156,1.04999778706856,-0.000031118575785,0.000008790882871,0.02638026970949,0.019176704914243,-0.000005058866478],[0.000002973989931,0.000000279751224,-0.00000297398993,-0.000000279751224,9.85362744903347e-16,2.62523780078722e-16,0.000003948300041,0.000003948300041,0.000003948300041,1.049997667532713,-0.000032288215089,1.04999766717923,-0.000032291458363,0.000937838481071,1.42326425637134,0.249293614599494,-0.003548106910011],[-0.00000000000191,0.000000000001194,0.00000000000191,-0.000000000001194,4.03896783473158e-28,2.01948391736579e-28,0.000000000002977,0.000000000002977,0.000000000002977,1.049997780315539,-0.000031247373496,1.049997780315539,-0.000031247373485,0.00000000070713,0.000011411541171,-99.987302258422815,0.000011410092163],[0.000000392996414,0.000000000129927,-0.000000392996412,-0.000000000129927,0.000000000000001,2.27069372440905e-16,0.000000519453182,0.000000519453182,0.000000519453182,1.049997422244161,-0.000028920963068,1.049997418450202,-0.000028953999549,0.000123385552914,0.235702372851441,-0.050562700853269,0.000119177485689],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049997422244161,-0.000028920963068,1.049997422244161,-0.000028920963068,0.0,0.00000380625032,-99.999999859146342,0.000003806250314],[0.000000182000273,0.000000059820337,-0.000000182000273,-0.000000059820337,6.37212298307569e-17,4.87606427487759e-18,0.000000253224706,0.000000253224706,0.000000253224706,1.049997359341386,-0.00002793072585,1.049997359001264,-0.000027926160648,0.000060148385763,0.180473205962405,0.493261020412063,-0.000890203977301],[0.00000082299799,0.000000270505826,-0.000000822997972,-0.000000270505825,0.000000000000017,0.000000000000001,0.000001145072308,0.000001145072308,0.000001145072308,1.049997359341386,-0.00002793072585,1.049997339109595,-0.00002765916953,0.000271988669293,0.815973289301014,0.516719113910465,-0.004216289950222],[0.00000005299985,0.000000017420178,-0.00000005299985,-0.000000017420178,6.9680900708079e-18,5.33210549019032e-19,0.000000073740951,0.000000073740951,0.000000073740951,1.049997481519158,-0.000029005253785,1.049997481391437,-0.00002900353948,0.000017515665236,0.052554206489718,0.45403238724854,-0.000238613118325],[0.000000176000244,0.000000057848212,-0.000000176000244,-0.000000057848212,4.6903311253684e-17,3.58913667786759e-18,0.000000244876563,0.000000244876563,0.000000244876563,1.049997530682737,-0.000029169484494,1.049997530423847,-0.000029166009629,0.00005816545396,0.174531695339697,0.430403372330168,-0.000751190302527],[0.000000027999951,0.000000000009207,-0.000000027999951,-0.000000000009207,2.7194379892126e-17,2.08096049263185e-18,0.000000037009647,0.000000037009647,0.000000037009647,1.04999778706856,-0.000031118575785,1.049997786048746,-0.000031122815717,0.000008790889898,0.026376465863811,0.033600842251065,-0.000008862714686],[0.000002973991839,0.000000279751224,-0.000002973991838,-0.000000279751224,0.000000000000001,2.79949047748756e-16,0.000003948302554,0.000003948302554,0.000003948302554,1.04999766717923,-0.000032291458363,1.049997666802284,-0.000032294916909,0.000937839078081,1.423260473029664,0.24956036941007,-0.00355189409416],[-0.00000000000573,3.12486090581465e-18,0.00000000000573,-3.12486090522244e-18,2.42338070083895e-27,5.92206509715564e-28,0.000000000007574,0.000000000007574,0.000000000007574,1.049997780315539,-0.000031247373485,1.04999778031554,-0.000031247373479,0.000000001798935,0.000007607993935,-99.989664619363879,0.00000760720762],[0.000000392996323,0.000000000129912,-0.000000392996322,-0.000000000129912,0.000000000000001,1.64420484589462e-16,0.000000519453064,0.000000519453064,0.000000519453064,1.049997418450202,-0.000028953999549,1.049997415703003,-0.00002897792121,0.000123385524804,0.235694760533916,-0.047334546253389,0.000111565045442],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049997418450202,-0.000028953999549,1.049997418450202,-0.000028953999549,0.0,0.000003806184734,-99.999999762936582,0.000003806184725],[0.000000182000273,0.000000059820345,-0.000000182000273,-0.000000059820345,2.34474866365547e-17,1.79422754052142e-18,0.000000253224709,0.000000253224709,0.000000253224709,1.049997359001264,-0.000027926160648,1.049997358876109,-0.000027924480792,0.000060148386494,0.180469620099886,0.495258533014066,-0.000893791193043],[0.00000082299798,0.000000270505818,-0.000000822997967,-0.000000270505817,0.000000000000013,9.92216670814733e-16,0.000001145072314,0.000001145072314,0.000001145072314,1.049997339109595,-0.00002765916953,1.04999732380413,-0.000027453735638,0.000271988670787,0.815969704016408,0.517218249770896,-0.004220344221774],[0.00000005299988,0.000000017420186,-0.00000005299988,-0.000000017420186,6.51072139604814e-17,4.98211544685179e-18,0.000000073740992,0.000000073740992,0.000000073740992,1.049997481391437,-0.00002900353948,1.049997480198059,-0.00002898752166,0.000017515674914,0.052550617978472,0.460894171740726,-0.000242202735477],[0.000000176000125,0.000000057848197,-0.000000176000125,-0.000000057848197,3.70082988336389e-17,2.83194216258145e-18,0.000000244876407,0.000000244876407,0.000000244876407,1.049997530423847,-0.000029166009629,1.049997530219575,-0.00002916326784,0.000058165416893,0.174528105568495,0.432469737509782,-0.000754781240033],[0.000002973991838,0.000000279750746,-0.000002973991837,-0.000000279750746,9.29800348178781e-16,2.47720449957355e-16,0.000003948302495,0.000003948302495,0.000003948302495,1.049997666802284,-0.000032294916909,1.049997666468733,-0.000032297977301,0.000937839064041,1.42325668963305,0.249827221815036,-0.003555682647007],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.04999778031554,-0.000031247373479,1.04999778031554,-0.000031247373479,0.0,0.000003804446701,-99.999999436318291,0.000003804446679],[0.000000292997152,0.00000000009705,-0.000000292997152,-0.00000000009705,1.26759168770876e-16,2.0270664157923e-17,0.000000387276573,0.000000387276573,0.000000387276573,1.049997415703003,-0.00002897792121,1.049997415248719,-0.00002898187694,0.000091989683871,0.235607220444745,-0.010224278698176,0.000024089138851],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049997415703003,-0.00002897792121,1.049997415703003,-0.00002897792121,0.0,0.000003806133202,-99.99999918952895,0.000003806133171],[0.00000009999955,0.000000000032859,-0.00000009999955,-0.000000000032859,2.31946843594908e-16,1.77489764340151e-17,0.000000132176994,0.000000132176994,0.000000132176994,1.049997415703003,-0.00002897792121,1.049997413267495,-0.000028988047001,0.000031395960393,0.094267564582418,0.123091284257469,-0.000116035155883],[0.000000181999676,0.000000059820345,-0.000000181999676,-0.000000059820345,3.49265830168634e-17,2.67265364638333e-18,0.00000025322396,0.00000025322396,0.00000025322396,1.049997358876109,-0.000027924480792,1.049997358689682,-0.00002792197852,0.000060148208474,0.180466034418021,0.497255757500483,-0.000897377746476],[0.000000176000005,0.000000057848167,-0.000000176000005,-0.000000057848167,4.18388483224913e-17,3.20158601727424e-18,0.000000244876245,0.000000244876245,0.000000244876245,1.049997530219575,-0.00002916326784,1.049997529988639,-0.000029160168173,0.000058165378364,0.174524515751395,0.434536355170812,-0.000758372469626],[0.000002973988018,0.000000279751223,-0.000002973988017,-0.000000279751223,9.51019370540448e-16,2.53373865484685e-16,0.000003948297528,0.000003948297528,0.000003948297528,1.049997666468733,-0.000032297977301,1.049997666127569,-0.000032301107536,0.000937837884062,1.423252907470025,0.250093816550658,-0.00355946751546],[0.000000292995362,0.0000000000969,-0.000000292995362,-0.0000000000969,3.00138713321273e-17,4.79966682992977e-18,0.000000387274206,0.000000387274206,0.000000387274206,1.049997415248719,-0.00002898187694,1.049997415141153,-0.000028982813583,0.000091989121689,0.235599608572279,-0.006993760813416,0.000016477273101],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049997415248719,-0.00002898187694,1.049997415248719,-0.00002898187694,0.0,0.000003806170679,-99.999994358697492,0.000003806170465],[0.000000099999498,0.000000000032855,-0.000000099999498,-0.000000000032855,2.93221365817961e-17,2.24377858042579e-18,0.000000132176925,0.000000132176925,0.000000132176925,1.049997413267495,-0.000028988047001,1.049997412959604,-0.000028989327078,0.000031395943996,0.094263779407077,0.127111726078826,-0.000119820317071],[0.000000181999557,0.00000005982024,-0.000000181999557,-0.00000005982024,2.10160520916817e-17,1.60817145970109e-18,0.000000253223767,0.000000253223767,0.000000253223767,1.049997358689682,-0.00002792197852,1.049997358577505,-0.000027920472846,0.000060148162631,0.180462448650296,0.499253083253079,-0.000900964339001],[0.000000176000005,0.000000057848152,-0.000000176000005,-0.000000057848152,3.72378182925652e-17,2.84949162645737e-18,0.000000244876239,0.000000244876239,0.000000244876239,1.049997529988639,-0.000029160168173,1.0499975297831,-0.000029157409372,0.000058165376901,0.174520925969295,0.436602850780949,-0.000761963337991],[0.00000297398921,0.000000279750746,-0.000002973989205,-0.000000279750744,0.000000000000005,0.000000000000001,0.000003948299039,0.000003948299039,0.000003948299039,1.049997666127569,-0.000032301107536,1.049997664366728,-0.000032317263576,0.000937838243153,1.423249123176313,0.25036134435033,-0.003563265638238],[0.000000292999152,0.000000000096415,-0.000000292999151,-0.000000000096415,8.13686265972523e-16,1.30120402559228e-16,0.000000387279215,0.000000387279215,0.000000387279215,1.049997415141153,-0.000028982813583,1.049997412225058,-0.000029008206175,0.000091990311559,0.235534904779726,0.020475761414257,-0.00004822756515],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049997415141153,-0.000028982813583,1.049997415141153,-0.000028982813583,0.0,0.00000380608167,-99.999999948774302,0.000003806081668],[-0.000000000002865,0.000000000000567,0.000000000002865,-0.000000000000567,6.46234853557053e-27,1.11071615455118e-27,0.00000000000386,0.00000000000386,0.00000000000386,1.049997415141153,-0.000028982813583,1.049997415141155,-0.000028982813538,0.000000000916915,0.000057091473336,-99.998149449992852,0.00005709041683],[0.000000099999617,0.000000000032851,-0.000000099999617,-0.000000000032851,2.16378139796357e-17,1.6557623462791e-18,0.000000132177083,0.000000132177083,0.000000132177083,1.049997412959604,-0.000028989327078,1.049997412732401,-0.00002899027169,0.000031395981474,0.094259994219132,0.13113256956674,-0.000123605552493],[0.000000181999557,0.00000005982024,-0.000000181999556,-0.00000005982024,2.53586576633565e-17,1.9404863077106e-18,0.000000253223767,0.000000253223767,0.000000253223767,1.049997358577505,-0.000027920472846,1.049997358442148,-0.000027918656054,0.000060148162631,0.180458862958148,0.501250557524818,-0.000904551056681],[0.000000175999647,0.000000057848182,-0.000000175999647,-0.000000057848182,4.28606612244556e-17,3.27979098110746e-18,0.000000244875802,0.000000244875802,0.000000244875802,1.0499975297831,-0.000029157409372,1.049997529546523,-0.000029154233991,0.000058165273015,0.17451733619593,0.438669549675987,-0.000765554412797],[0.000000029000686,0.000000000009489,-0.000000029000686,-0.000000000009489,2.39870830199027e-17,1.83553339086739e-18,0.000000038332399,0.000000038332399,0.000000038332399,1.049997664366728,-0.000032317263576,1.049997663498231,-0.000032320874478,0.000009105082727,0.027428035339067,-0.159099505819867,0.000043637868681],[0.0000029449884,0.00000027974139,-0.00000294498839,-0.000000279741387,0.00000000000001,0.000000000000003,0.000003910135437,0.000003910135437,0.000003910135437,1.049997664366728,-0.000032317263576,1.049997660604769,-0.000032351587139,0.000928773254559,1.395817304651755,0.25868154875482,-0.003610721821461],[0.000000292999151,0.000000000096415,-0.00000029299915,-0.000000000096415,5.70242961821888e-16,9.11902466755711e-17,0.000000387279215,0.000000387279215,0.000000387279215,1.049997412225058,-0.000029008206175,1.049997410181417,-0.000029026001668,0.000091990311559,0.235527292785448,0.023708339110419,-0.000055839609271],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049997412225058,-0.000029008206175,1.049997412225058,-0.000029008206175,0.0,0.000003805997345,-100.0,0.000003805997345],[-0.000000000002387,0.000000000000597,0.000000000002387,-0.000000000000597,1.61558713389263e-27,4.03896783473158e-28,0.000000000003253,0.000000000003253,0.000000000003253,1.049997415141155,-0.000028982813538,1.049997415141156,-0.00002898281352,0.000000000772625,0.000053285340135,-99.997786994399249,0.000053284160927],[0.000000099999557,0.000000000032851,-0.000000099999557,-0.000000000032851,2.10537450578345e-17,1.61106823974391e-18,0.000000132177004,0.000000132177004,0.000000132177004,1.049997412732401,-0.00002899027169,1.04999741251133,-0.000028991190806,0.000031395962735,0.094256209158146,0.135153496160275,-0.000127390562025],[0.000000181999556,0.000000059820225,-0.000000181999556,-0.000000059820225,2.22659815542534e-17,1.70382000829183e-18,0.000000253223761,0.000000253223761,0.000000253223761,1.049997358442148,-0.000027918656054,1.049997358323299,-0.000027917060833,0.000060148161168,0.180455277162479,0.50324782100222,-0.000908137250204],[0.000000175999766,0.000000057848189,-0.000000175999766,-0.000000057848189,4.39468221606317e-17,3.36289285416698e-18,0.000000244875955,0.000000244875955,0.000000244875955,1.049997529546523,-0.000029154233991,1.049997529303952,-0.000029150978144,0.00005816530935,0.174513746445446,0.440736303782038,-0.000769145435675],[0.000000029000567,0.000000000009489,-0.000000029000567,-0.000000000009489,1.38229490419246e-18,1.05775743448438e-19,0.000000038332241,0.000000038332241,0.000000038332241,1.049997663498231,-0.000032320874478,1.049997663448182,-0.000032321082563,0.000009105045249,0.027424252266278,-0.145326951326647,0.000039854829743],[0.000002944988181,0.000000279741387,-0.000002944988131,-0.000000279741374,0.00000000000005,0.000000000000013,0.000003910135162,0.000003910135162,0.000003910135162,1.049997660604769,-0.000032351587139,1.049997642627517,-0.000032515608919,0.000928773189267,1.395813521654569,0.258962618029058,-0.00361463523848],[0.0000000429999,0.000000000014157,-0.0000000429999,-0.000000000014157,2.46081335325299e-17,3.93520315152919e-18,0.000000056836231,0.000000056836231,0.000000056836231,1.049997410181417,-0.000029026001668,1.049997409580489,-0.000029031234385,0.000013500292275,0.040538724841219,0.113483213197842,-0.000046004647539],[0.00000024999928,0.000000000082254,-0.00000024999928,-0.000000000082254,9.86913556350652e-17,1.57822025526198e-17,0.000000330443024,0.000000330443024,0.000000330443024,1.049997410181417,-0.000029026001668,1.049997409766891,-0.000029029611251,0.000078490028653,0.235485427561793,0.04147910618569,-0.00009767725055],[-0.00000000000382,0.000000000000716,0.00000000000382,-0.000000000000716,2.42338070083895e-27,5.04870979341448e-28,0.000000000005137,0.000000000005137,0.000000000005137,1.049997415141156,-0.00002898281352,1.049997415141157,-0.000028982813505,0.000000001220189,0.000049479394322,-99.997753992256818,0.000049478283011],[0.000000099999401,0.000000000032859,-0.0000000999994,-0.000000000032859,1.9777083764843e-16,1.51337683033622e-17,0.000000132176797,0.000000132176797,0.000000132176797,1.04999741251133,-0.000028991190806,1.049997410434678,-0.000028999824633,0.000031395913546,0.094252423986304,0.13917493269207,-0.000131175747644],[0.000000181999586,0.000000059820251,-0.000000181999586,-0.000000059820251,1.45701181281866e-16,1.11493226311409e-17,0.000000253223809,0.000000253223809,0.000000253223809,1.049997358323299,-0.000027917060833,1.049997357545592,-0.000027906622244,0.000060148172629,0.180451691478478,0.50524642490392,-0.000911725719874],[0.000000175999886,0.000000057848189,-0.000000175999886,-0.000000057848189,5.28238862665344e-17,4.04216695575063e-18,0.000000244876104,0.000000244876104,0.000000244876104,1.049997529303952,-0.000029150978144,1.049997529012383,-0.000029147064628,0.000058165344954,0.17451015681767,0.442803203881605,-0.000772736565487],[0.000000029000925,0.000000000009518,-0.000000029000925,-0.000000000009518,6.94255996838206e-19,5.31260383483233e-20,0.000000038332714,0.000000038332714,0.000000038332714,1.049997663448182,-0.000032321082563,1.049997663423046,-0.000032321187071,0.000009105157685,0.02742046911658,-0.131549668150095,0.000036071536128],[0.000000055999875,0.000000000018416,-0.000000055999875,-0.000000000018416,1.73273122801509e-16,1.32591609925431e-17,0.000000074019269,0.000000074019269,0.000000074019269,1.049997642627517,-0.000032515608919,1.049997639378565,-0.000032529116612,0.000017581773941,0.052752932329607,0.027058720739262,-0.000014274268641],[0.000002888988252,0.000000279722956,-0.000002888988196,-0.000000279722941,0.000000000000056,0.000000000000015,0.000003836451623,0.000003836451623,0.000003836451623,1.049997642627517,-0.000032515608919,1.049997621881968,-0.000032702773126,0.00091127116103,1.395802173399119,0.259792541702702,-0.003626189943415],[0.00000004299984,0.000000000014159,-0.00000004299984,-0.000000000014159,2.19451082684767e-17,3.50934581008289e-18,0.000000056836152,0.000000056836152,0.000000056836152,1.049997409580489,-0.000029031234385,1.049997409044591,-0.000029035900836,0.000013500273536,0.040527369228258,0.141534673892235,-0.000057360279874],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049997409580489,-0.000029031234385,1.049997409580489,-0.000029031234385,0.0,0.000003805936443,-100.0,0.000003805936443],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049997409580489,-0.000029031234385,1.049997409580489,-0.000029031234385,0.0,0.000003805938786,-100.0,0.000003805938786],[0.000000249999402,0.000000000082217,-0.000000249999397,-0.000000000082217,0.000000000000004,3.36242386770433e-16,0.000000330443184,0.000000330443184,0.000000330443184,1.049997409766891,-0.000029029611251,1.049997391311309,-0.000029106341319,0.000078490066712,0.235477815713325,0.044712749860352,-0.000105288606717],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049997409766891,-0.000029029611251,1.049997409766891,-0.000029029611251,0.0,0.000003805914776,-99.999979840888713,0.000003805914009],[-0.000000000002865,0.000000000000477,0.000000000002865,-0.000000000000477,1.61558713389263e-27,3.02922587604869e-28,0.000000000003839,0.000000000003839,0.000000000003839,1.049997415141157,-0.000028982813505,1.049997415141157,-0.000028982813492,0.000000000911874,0.00004567344851,-99.997535670138845,0.000045672322965],[0.000000099999393,0.000000000032858,-0.000000099999393,-0.000000000032858,9.2044330755936e-17,7.04339263881742e-18,0.000000132176787,0.000000132176787,0.000000132176787,1.049997410434678,-0.000028999824633,1.049997409468185,-0.000029003842895,0.000031395911203,0.094248638888859,0.143196606856326,-0.000134960852897],[0.000000181999564,0.000000059820248,-0.000000181999563,-0.000000059820247,0.000000000000001,8.22071150996512e-17,0.000000253223779,0.000000253223779,0.000000253223779,1.049997357545592,-0.000027906622244,1.049997351811325,-0.000027829655441,0.000060148165587,0.180448105809354,0.507254084279737,-0.000915330386723],[0.000000175999766,0.000000057848182,-0.000000175999766,-0.000000057848182,3.31168177157158e-17,2.53415052461746e-18,0.000000244875952,0.000000244875952,0.000000244875952,1.049997529012383,-0.000029147064628,1.04999752882959,-0.000029144611133,0.000058165308619,0.174506567069261,0.444870178055216,-0.000776327675639],[0.000000029001164,0.000000000009489,-0.000000029001164,-0.000000000009489,5.82176332559721e-19,4.45491172834475e-20,0.00000003833303,0.00000003833303,0.00000003833303,1.049997663423046,-0.000032321187071,1.049997663401967,-0.000032321274708,0.000009105232638,0.027416686136093,-0.117769920512189,0.00003228860947],[0.000000055999879,0.000000000018415,-0.000000055999879,-0.000000000018415,9.1436723582624e-17,6.99689640622669e-18,0.000000074019274,0.000000074019274,0.000000074019274,1.049997639378565,-0.000032529116612,1.049997637664084,-0.00003253624466,0.000017581775112,0.052749128199331,0.03427241371351,-0.000018078399447],[0.000002888988166,0.000000279722971,-0.000002888988112,-0.000000279722956,0.000000000000054,0.000000000000014,0.000003836451587,0.000003836451587,0.000003836451587,1.049997621881968,-0.000032702773126,1.049997602011393,-0.000032882043412,0.000911271152607,1.395798391018179,0.260081871426861,-0.003630218576706],[0.000000042999915,0.00000000001414,-0.000000042999914,-0.00000000001414,4.7875235238544e-17,3.23738703557363e-18,0.000000056836251,0.000000056836251,0.000000056836251,1.049997409044591,-0.000029035900836,1.04999740787552,-0.000029040193556,0.000013500296958,0.040516013655208,0.169601462475932,-0.000068715751696],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049997409044591,-0.000029035900836,1.049997409044591,-0.000029035900836,0.0,0.000003805945813,-99.999591927769686,0.000003805930282],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049997409044591,-0.000029035900836,1.049997409044591,-0.000029035900836,0.0,0.000003805945813,-99.999591927769686,0.000003805930282],[0.000000249999395,0.000000000082217,-0.000000249999394,-0.000000000082217,0.000000000000001,7.91412944560351e-17,0.000000330443181,0.000000330443181,0.000000330443181,1.049997391311309,-0.000029106341319,1.049997386967422,-0.000029124401257,0.000078490066127,0.235474010202812,0.04632959566357,-0.00010909415682],[-0.000000000000955,0.000000000000597,0.000000000000955,-0.000000000000597,0.0,1.0097419586829e-28,0.000000000001489,0.000000000001489,0.000000000001489,1.049997415141157,-0.000028982813492,1.049997415141157,-0.000028982813487,0.000000000353565,0.000041867502699,-99.997900223930586,0.000041866623575],[0.000000099999467,0.000000000032858,-0.000000099999467,-0.000000000032858,4.32001890874066e-17,3.30575426121798e-18,0.000000132176886,0.000000132176886,0.000000132176886,1.049997409468185,-0.000029003842895,1.04999740901457,-0.000029005728829,0.000031395934627,0.094244853767795,0.147218609345432,-0.000138745963097],[0.000000175999587,0.000000057848163,-0.000000175999587,-0.000000057848163,1.42324616786535e-16,1.08909114077794e-17,0.000000244875719,0.000000244875719,0.000000244875719,1.04999752882959,-0.000029144611133,1.049997528044007,-0.000029134066835,0.000058165253384,0.174502977437542,0.446937951933411,-0.000779920033422],[0.000000029000209,0.000000000009503,-0.000000029000209,-0.000000000009503,4.74728879711533e-19,3.6326683500729e-20,0.000000038331768,0.000000038331768,0.000000038331768,1.049997663401967,-0.000032321274708,1.049997663384779,-0.000032321346171,0.000009104932817,0.02741290292664,-0.103986134756378,0.000028505618178],[0.000000227999253,0.000000000074987,-0.000000227999253,-0.000000000074987,5.11416603044416e-16,3.91344903037196e-17,0.000000301363863,0.000000301363863,0.000000301363863,1.049997602011393,-0.000032882043412,1.049997599656123,-0.000032891835566,0.000071582864567,0.214794202725492,0.250546251529084,-0.000538158823431],[0.000002660988904,0.000000279647921,-0.000002660988891,-0.000000279647917,0.000000000000013,0.000000000000003,0.000003536599456,0.000003536599456,0.000003536599456,1.049997602011393,-0.000032882043412,1.049997596850756,-0.000032926237536,0.00084004736912,1.181000406221996,0.262151215303311,-0.003096006917648],[0.000000042999922,0.00000000001414,-0.000000042999922,-0.00000000001414,6.52171032504978e-17,4.41006661611133e-18,0.000000056836261,0.000000056836261,0.000000056836261,1.04999740787552,-0.000029040193556,1.049997406282975,-0.000029046041229,0.0000135002993,0.04051222849113,0.178960569280293,-0.000072500914736],[1.81149683973545e-19,0.000000000000358,-1.8114968395027e-19,-0.000000000000358,2.327520041566e-29,0.0,0.000000000000473,0.000000000000473,0.000000000000473,1.049997415141157,-0.000028982813487,1.049997415141157,-0.000028982813483,0.000000000112433,0.000038061706795,-99.998334520781,0.000038061072885],[0.000000099999497,0.000000000032858,-0.000000099999497,-0.000000000032858,2.88152270675338e-17,2.20499000062695e-18,0.000000132176925,0.000000132176925,0.000000132176925,1.04999740901457,-0.000029005728829,1.049997408712002,-0.000029006986777,0.000031395943997,0.094241068682939,0.151240880626843,-0.000142531022188],[0.000000175999624,0.000000057848168,-0.000000175999624,-0.000000057848168,6.0002395203308e-16,4.59148701263525e-17,0.000000244875768,0.000000244875768,0.000000244875768,1.049997528044007,-0.000029134066835,1.049997524732082,-0.000029089613325,0.000058165264968,0.174499387750876,0.449010892309653,-0.000783521258015],[0.000000029000209,0.000000000009489,-0.000000029000209,-0.000000000009489,7.4516730917962e-19,5.70211591514145e-20,0.000000038331768,0.000000038331768,0.000000038331768,1.049997663384779,-0.000032321346171,1.049997663357798,-0.000032321458346,0.000009104932815,0.027409119981122,-0.090198987367918,0.000024722748669],[0.000000227999148,0.000000000074976,-0.000000227999148,-0.000000000074976,1.25400686742157e-16,9.59587689792908e-18,0.000000301363724,0.000000301363724,0.000000301363724,1.049997599656123,-0.000032891835566,1.049997599078605,-0.00003289423663,0.000071582831773,0.214790420729442,0.252311472737753,-0.000541940873842],[0.000002660987757,0.000000279647619,-0.000002660987754,-0.000000279647618,0.000000000000003,7.88436319693991e-16,0.000003536597924,0.000003536597924,0.000003536597924,1.049997596850756,-0.000032926237536,1.049997595663451,-0.000032936405256,0.000840047005238,1.180996624310712,0.262475680270732,-0.003099828923634],[0.000000042999929,0.00000000001414,-0.000000042999929,-0.00000000001414,1.91289222422032e-17,1.29352242369055e-18,0.00000005683627,0.00000005683627,0.00000005683627,1.049997406282975,-0.000029046041229,1.049997405815863,-0.000029047756417,0.000013500301643,0.040508443365636,0.188321379236501,-0.000076286059253],[-0.00000000000191,9.66131647734773e-19,0.00000000000191,-9.66131647594138e-19,4.03896783473158e-28,1.40634871213056e-28,0.000000000002525,0.000000000002525,0.000000000002525,1.049997415141157,-0.000028982813483,1.049997415141158,-0.000028982813479,0.000000000599645,0.000034255011426,-99.9979480945603,0.000034254308545],[0.000000099999557,0.000000000032862,-0.000000099999557,-0.000000000032862,4.40531247955121e-17,3.37102281820451e-18,0.000000132177004,0.000000132177004,0.000000132177004,1.049997408712002,-0.000029006986777,1.049997408249431,-0.000029008909944,0.000031395962736,0.094237283634105,0.155263491690762,-0.000146316097045],[0.000000029000626,0.000000000009518,-0.000000029000626,-0.000000000009518,1.77694277444151e-18,1.3597491207827e-19,0.00000003833232,0.00000003833232,0.00000003833232,1.049997663357798,-0.000032321458346,1.04999766329346,-0.000032321725836,0.000009105063991,0.027405336952829,-0.076407286648197,0.000020939674362],[0.000000227999387,0.000000000074998,-0.000000227999387,-0.000000000074998,8.61093694178722e-17,6.58923853267465e-18,0.00000030136404,0.00000030136404,0.00000030136404,1.049997599078605,-0.00003289423663,1.049997598682039,-0.000032895885374,0.000071582906731,0.214786638744051,0.25407669162603,-0.000545722785776],[0.000002660989664,0.000000279648215,-0.000002660989663,-0.000000279648215,0.000000000000001,3.91260453144082e-16,0.000003536600517,0.000003536600517,0.000003536600517,1.049997595663451,-0.000032936405256,1.049997595074253,-0.000032941450966,0.000840047621184,1.180992843007326,0.262797686577686,-0.003103621870071],[0.000000042999899,0.00000000001414,-0.000000042999899,-0.00000000001414,6.33130393595192e-17,4.28131176293442e-18,0.000000056836231,0.000000056836231,0.000000056836231,1.049997405815863,-0.000029047756417,1.049997404269813,-0.000029053433364,0.000013500292273,0.040504658252247,0.197683800192096,-0.000080071147688],[-0.00000000000191,0.000000000000358,0.00000000000191,-0.000000000000358,4.03896783473158e-28,1.0097419586829e-28,0.000000000002568,0.000000000002568,0.000000000002568,1.049997415141158,-0.000028982813479,1.049997415141158,-0.000028982813473,0.000000000610094,0.000030448765791,-99.998366915399416,0.000030448268537],[0.000000099999557,0.000000000032862,-0.000000099999557,-0.000000000032862,8.6035280504767e-17,6.58357085267615e-18,0.000000132177004,0.000000132177004,0.000000132177004,1.049997408249431,-0.000029008909944,1.049997407346036,-0.000029012665869,0.000031395962736,0.09423349858879,0.159286394542539,-0.000150101142353],[0.000000029000447,0.000000000009503,-0.000000029000447,-0.000000000009503,1.22934590020896e-18,9.40713510383146e-20,0.000000038332083,0.000000038332083,0.000000038332083,1.04999766329346,-0.000032321725836,1.049997663248949,-0.000032321910896,0.000009105007773,0.027401553838935,-0.062611403303086,0.000017156497385],[0.000000227999327,0.000000000074983,-0.000000227999327,-0.000000000074983,1.19366159328122e-16,9.13410458759167e-18,0.000000301363961,0.000000301363961,0.000000301363961,1.049997598682039,-0.000032895885374,1.049997598132312,-0.000032898170891,0.00007158288799,0.214782856802363,0.255842030948288,-0.000549504822972],[0.000002660987753,0.000000279647737,-0.000002660987751,-0.000000279647737,0.000000000000002,4.29963823723854e-16,0.000003536597941,0.000003536597941,0.000003536597941,1.049997595074253,-0.000032941450966,1.049997594426771,-0.000032946995801,0.000840047009155,1.180989060704458,0.263119444689148,-0.003107411858365],[0.000000000000955,0.000000000000358,-0.000000000000955,-0.000000000000358,2.01948391736579e-28,5.04870979341448e-29,0.000000000001348,0.000000000001348,0.000000000001348,1.049997415141158,-0.000028982813473,1.049997415141158,-0.000028982813471,0.00000000032021,0.000026643119801,-99.99906636790098,0.000026642871052],[0.000000099999557,0.000000000032862,-0.000000099999557,-0.000000000032862,2.37823690531856e-17,1.81986673385289e-18,0.000000132177004,0.000000132177004,0.000000132177004,1.049997407346036,-0.000029012665869,1.049997407096315,-0.000029013704103,0.000031395962736,0.094229713580404,0.163309569657197,-0.000153886139737],[0.000000029000626,0.000000000009526,-0.000000029000626,-0.000000000009526,1.56312320354146e-18,1.19612853046968e-19,0.00000003833232,0.00000003833232,0.00000003833232,1.049997663248949,-0.000032321910896,1.049997663192353,-0.000032322146197,0.000009105063992,0.027397770774179,-0.048812329830858,0.000013373490237],[0.000000227999476,0.000000000074981,-0.000000227999476,-0.000000000074981,2.83053132332868e-16,2.16597186399096e-17,0.000000301364158,0.000000301364158,0.000000301364158,1.049997598132312,-0.000032898170891,1.049997596828745,-0.000032903590538,0.000071582934837,0.21477907483855,0.257607360584434,-0.000553286705779],[0.000002660987274,0.000000279648095,-0.000002660987272,-0.000000279648094,0.000000000000002,4.96114185228659e-16,0.000003536597362,0.000003536597362,0.000003536597362,1.049997594426771,-0.000032946995801,1.049997593679673,-0.000032953393711,0.000840046871816,1.180985278495232,0.263441291118486,-0.003111202865587],[0.000000000000477,0.000000000000119,-0.000000000000477,-0.000000000000119,1.0097419586829e-28,5.04870979341448e-29,0.000000000000651,0.000000000000651,0.000000000000651,1.049997415141158,-0.000028982813471,1.049997415141157,-0.000028982813472,0.000000000154525,0.000022836574343,-99.995856480807063,0.000022835628105],[0.000000099999378,0.000000000032866,-0.000000099999378,-0.000000000032866,6.90437731130662e-18,5.28335812110544e-19,0.000000132176768,0.000000132176768,0.000000132176768,1.049997407096315,-0.000029013704103,1.049997407023817,-0.000029014005518,0.00003139590652,0.094225928459255,0.167333191054595,-0.000157671252892],[0.000000029000567,0.000000000009503,-0.000000029000567,-0.000000000009503,9.49576873431274e-19,7.26628666538052e-20,0.000000038332241,0.000000038332241,0.000000038332241,1.049997663192353,-0.000032322146197,1.049997663157972,-0.000032322289141,0.00000910504525,0.027393987665295,-0.035009064537691,0.000009590378821],[0.000000227999506,0.000000000074979,-0.000000227999505,-0.000000000074979,2.15166988560902e-16,1.64649564220947e-17,0.000000301364198,0.000000301364198,0.000000301364198,1.049997596828745,-0.000032903590538,1.04999759583782,-0.000032907710364,0.000071582944207,0.214775292875208,0.259372821188174,-0.000557068736346],[0.000002660985839,0.000000279648452,-0.000002660985837,-0.000000279648452,0.000000000000002,5.0153757837125e-16,0.000003536595529,0.000003536595529,0.000003536595529,1.049997593679673,-0.000032953393711,1.049997592924408,-0.000032959861559,0.000840046436297,1.18098149697397,0.263763167929501,-0.00311499420908],[0.000000000000477,-0.00000000000006,-0.000000000000477,0.00000000000006,1.0097419586829e-28,1.26217744835362e-29,0.000000000000636,0.000000000000636,0.000000000000636,1.049997415141157,-0.000028982813472,1.049997415141157,-0.000028982813475,0.000000000151078,0.000019030328708,-99.997042915545649,0.000019029765965],[0.000000045000675,0.000000000014809,-0.000000045000675,-0.000000000014809,1.21287838857425e-18,9.28114354119485e-20,0.000000059480808,0.000000059480808,0.000000059480808,1.049997407023817,-0.000029014005518,1.049997406995516,-0.00002901412318,0.000014128457758,0.042403560691932,0.162840937756481,-0.000069050355873],[0.000000054999837,0.00000000001809,-0.000000054999837,-0.00000000001809,9.62355821278483e-18,7.36410817220399e-19,0.000000072697459,0.000000072697459,0.000000072697459,1.049997407023817,-0.000029014005518,1.04999740684009,-0.000029014769373,0.000017267804804,0.051818582835533,0.178325785460394,-0.000092405894856],[0.000000029000089,0.000000000009533,-0.000000029000089,-0.000000000009533,8.57243664735655e-19,6.55977635612121e-20,0.00000003833161,0.00000003833161,0.00000003833161,1.049997663157972,-0.000032322289141,1.049997663126933,-0.000032322418186,0.000009104895342,0.027390204596832,-0.021202241613714,0.000005807337357],[0.000000227999446,0.000000000074979,-0.000000227999446,-0.000000000074979,1.51043947475791e-16,1.1558146166966e-17,0.000000301364119,0.000000301364119,0.000000301364119,1.04999759583782,-0.000032907710364,1.049997595142205,-0.000032910602419,0.000071582925468,0.214771510988976,0.261138263985847,-0.000560850595333],[0.000002660987747,0.000000279648452,-0.000002660987745,-0.000000279648451,0.000000000000002,5.56019584571594e-16,0.00000353659804,0.00000353659804,0.00000353659804,1.049997592924408,-0.000032959861559,1.049997592087099,-0.000032967032004,0.000840047032657,1.180977714970138,0.264085067884085,-0.003118785800275],[0.000000000000477,-2.4153291186395e-19,-0.000000000000477,2.41532911889482e-19,2.01948391736579e-28,2.55318606797471e-29,0.000000000000631,0.000000000000631,0.000000000000631,1.049997415141157,-0.000028982813475,1.049997415141157,-0.000028982813478,0.000000000149911,0.000015224495329,-99.998315241917936,0.000015224238833],[0.00000004499972,0.000000000014779,-0.00000004499972,-0.000000000014779,1.13511679354937e-18,8.68610212026687e-20,0.000000059479545,0.000000059479545,0.000000059479545,1.049997406995516,-0.00002901412318,1.049997406969029,-0.000029014233301,0.000014128157933,0.042399775511744,0.171782885549144,-0.00007283555784],[0.000000054999807,0.00000000001809,-0.000000054999807,-0.00000000001809,1.26988899988039e-17,9.71741914652366e-19,0.000000072697419,0.000000072697419,0.000000072697419,1.04999740684009,-0.000029014769373,1.04999740659765,-0.000029015777329,0.000017267795434,0.051814797830642,0.185643689645512,-0.000096190902475],[0.000000029000209,0.000000000009548,-0.000000029000209,-0.000000000009548,1.44576943567733e-18,1.10632847838947e-19,0.000000038331768,0.000000038331768,0.000000038331768,1.049997663126933,-0.000032322418186,1.049997663074586,-0.000032322635823,0.000009104932822,0.027386421507047,-0.007391716317678,0.000002024326587],[0.000000227999386,0.000000000074976,-0.000000227999386,-0.000000000074976,1.58231683777734e-16,1.2108165413773e-17,0.00000030136404,0.00000030136404,0.00000030136404,1.049997595142205,-0.000032910602419,1.049997594413488,-0.0000329136321,0.000071582906728,0.21476772911751,0.262903793168523,-0.000564632506352],[0.000002660987268,0.000000279648213,-0.000002660987265,-0.000000279648212,0.000000000000003,8.08568492905213e-16,0.000003536597379,0.000003536597379,0.000003536597379,1.049997592087099,-0.000032967032004,1.049997590869477,-0.000032977459336,0.000840046875733,1.180973933029355,0.264407246732195,-0.003122580660948],[0.000000000000239,-1.20766455944741e-19,-0.000000000000239,1.2076645595385e-19,5.04870979341448e-29,9.10870974610374e-30,0.000000000000316,0.000000000000316,0.000000000000316,1.049997415141157,-0.000028982813478,1.049997415141156,-0.00002898281348,0.000000000074956,0.000011418287171,-99.99913702104422,0.000011418188634],[0.000000045000436,0.000000000014809,-0.000000045000436,-0.000000000014809,1.16934221857436e-18,8.94802563005752e-20,0.000000059480492,0.000000059480492,0.000000059480492,1.049997406969029,-0.000029014233301,1.049997406941744,-0.000029014346739,0.000014128382803,0.042395990501752,0.180725872501818,-0.00007662052374],[0.000000054999867,0.000000000018088,-0.000000054999867,-0.000000000018088,5.27571758044932e-17,4.03707054090033e-18,0.000000072697498,0.000000072697498,0.000000072697498,1.04999740659765,-0.000029015777329,1.049997405590443,-0.000029019964848,0.000017267814173,0.051811012808771,0.192962725329713,-0.000099975942337],[0.000000029000089,0.000000000009541,-0.000000029000089,-0.000000000009541,1.42138084249682e-18,1.08766815618733e-19,0.00000003833161,0.00000003833161,0.00000003833161,1.049997663074586,-0.000032322635823,1.049997663023121,-0.000032322849791,0.000009104895343,0.027382638413545,0.006423475401983,-0.000001758917043],[0.000000227999565,0.000000000074976,-0.000000227999565,-0.000000000074976,1.29909893106645e-16,9.94092962943826e-18,0.000000301364277,0.000000301364277,0.000000301364277,1.049997594413488,-0.0000329136321,1.049997593815204,-0.000032916119498,0.000071582962945,0.214763947207016,0.264669365931838,-0.000568414377323],[0.000000148998315,0.00000004897379,-0.000000148998315,-0.00000004897379,7.11839871427614e-17,5.4471233000046e-18,0.000000207307894,0.000000207307894,0.000000207307894,1.049997590869477,-0.000032977459336,1.049997590405364,-0.000032971229805,0.000049241779583,0.147848810413224,0.293676534984703,-0.000434197263438],[0.000002511989427,0.000000230674563,-0.00000251198942,-0.000000230674561,0.000000000000007,0.000000000000002,0.00000333425634,0.00000333425634,0.00000333425634,1.049997590869477,-0.000032977459336,1.049997587720003,-0.000033006748315,0.000791984871589,1.180841567466478,0.275647636911642,-0.003254961876392],[0.000000000000477,0.00000000000006,-0.000000000000477,-0.00000000000006,1.0097419586829e-28,1.26217744835362e-29,0.000000000000636,0.000000000000636,0.000000000000636,1.049997415141156,-0.00002898281348,1.049997415141156,-0.00002898281348,0.000000000151078,0.000007612266403,-99.997418899795292,0.000007612069923],[0.000000044999869,0.000000000014798,-0.000000044999869,-0.000000000014798,8.45442113500238e-18,6.46946742640557e-19,0.000000059479743,0.000000059479743,0.000000059479743,1.049997406941744,-0.000029014346739,1.049997406744469,-0.00002901516692,0.000014128204782,0.042392205382725,0.189671048596196,-0.000080405740472],[0.000000054999837,0.000000000018087,-0.000000054999837,-0.000000000018087,2.24046831993663e-17,1.71444568932852e-18,0.000000072697459,0.000000072697459,0.000000072697459,1.049997405590443,-0.000029019964848,1.049997405162706,-0.000029021743187,0.000017267804804,0.051807227828115,0.200282690466243,-0.00010376090975],[0.000000028999731,0.000000000009533,-0.000000028999731,-0.000000000009533,6.72511072895412e-19,5.14617961923064e-20,0.000000038331136,0.000000038331136,0.000000038331136,1.049997663023121,-0.000032322849791,1.04999766299877,-0.000032322951029,0.000009104782909,0.027378855267813,0.020241272541554,-0.000005541828714],[0.000000227999475,0.000000000074983,-0.000000227999475,-0.000000000074983,2.15094964290606e-16,1.64594436122789e-17,0.000000301364158,0.000000301364158,0.000000301364158,1.049997593815204,-0.000032916119498,1.04999759282461,-0.000032920237944,0.000071582934837,0.214760165307953,0.266435026625796,-0.00057219630362],[0.000000148998435,0.000000048973783,-0.000000148998434,-0.000000048973783,4.27460735485599e-17,3.27100301427969e-18,0.000000207308041,0.000000207308041,0.000000207308041,1.049997590405364,-0.000032971229805,1.049997590126664,-0.000032967488974,0.000049241814455,0.147845214284858,0.296117267086166,-0.000437795208058],[0.00000251198939,0.000000230674546,-0.000002511989343,-0.000000230674534,0.000000000000047,0.000000000000013,0.000003334256299,0.000003334256299,0.000003334256299,1.049997587720003,-0.000033006748315,1.04999756777681,-0.000033192212836,0.000791984861831,1.180837785621094,0.27597828111542,-0.003258855823518],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049997415141156,-0.00002898281348,1.049997415141156,-0.00002898281348,0.0,0.000003806133202,-99.999998591420109,0.000003806133148],[0.000000044999892,0.000000000014799,-0.000000044999891,-0.000000000014799,6.15660603755868e-17,4.71114227096708e-18,0.000000059479772,0.000000059479772,0.000000059479772,1.049997406744469,-0.00002901516692,1.049997405307892,-0.000029021139566,0.000014128211809,0.042388420343298,0.198617391906302,-0.000084190774956],[0.000000028999731,0.000000000009503,-0.000000028999731,-0.000000000009503,7.38659052120053e-19,5.65233369787382e-20,0.000000038331136,0.000000038331136,0.000000038331136,1.04999766299877,-0.000032322951029,1.049997662972025,-0.000032323062226,0.000009104782906,0.027375072269134,0.034063842458972,-0.000009325001491],[0.00000022799949,0.000000000074979,-0.000000227999489,-0.000000000074979,6.95123199757517e-16,5.31920362071915e-17,0.000000301364178,0.000000301364178,0.000000301364178,1.04999759282461,-0.000032920237944,1.049997589623305,-0.00003293354754,0.000071582939522,0.214756383451674,0.268200723846145,-0.000575978174923],[0.000000148998196,0.000000048973776,-0.000000148998196,-0.000000048973776,3.9653053332322e-17,3.03433009741602e-18,0.000000207307738,0.000000207307738,0.000000207307738,1.049997590126664,-0.000032967488974,1.049997589868129,-0.000032964018812,0.000049241742516,0.147841618161396,0.29855774778835,-0.000441392605477],[0.000002511989403,0.000000230674563,-0.000002511989369,-0.000000230674555,0.000000000000034,0.000000000000009,0.000003334256381,0.000003334256381,0.000003334256381,1.04999756777681,-0.000033192212836,1.049997553501515,-0.00003332496794,0.000791984881348,1.180834004122149,0.27631347626495,-0.003262803485709],[0.00000002899997,0.000000000009503,-0.00000002899997,-0.000000000009503,7.08959959406949e-19,5.42510330619639e-20,0.000000038331452,0.000000038331452,0.000000038331452,1.049997662972025,-0.000032323062226,1.049997662946355,-0.000032323168952,0.000009104857861,0.027371289212845,0.047888872380671,-0.00001310780176],[0.000000227999489,0.000000000074979,-0.000000227999487,-0.000000000074979,0.000000000000002,1.24289783050252e-16,0.000000301364178,0.000000301364178,0.000000301364178,1.049997589623305,-0.00003293354754,1.049997582143058,-0.000032964647063,0.000071582939522,0.214752601668557,0.269966454960109,-0.000579759985659],[0.000000148998196,0.000000048973776,-0.000000148998196,-0.000000048973776,3.86907974344615e-17,2.9606911705641e-18,0.000000207307738,0.000000207307738,0.000000207307738,1.049997589868129,-0.000032964018812,1.049997589615868,-0.000032960632861,0.000049241742516,0.14783802196793,0.300998331845588,-0.000444989979957],[0.00000010200016,0.000000000033561,-0.000000102000159,-0.000000000033561,5.10741014859642e-16,3.90827894797953e-17,0.000000134821335,0.000000134821335,0.000000134821335,1.049997553501515,-0.00003332496794,1.049997548243776,-0.000033346827221,0.000032024069666,0.096132706262528,-0.023287136476159,0.000022386554506],[0.000002409989172,0.000000230640962,-0.000002409989083,-0.000000230640939,0.000000000000089,0.000000000000024,0.000003200019404,0.000003200019404,0.000003200019404,1.049997553501515,-0.00003332496794,1.04999751427644,-0.000033681297061,0.000760099613919,1.180769722028286,0.281790640119581,-0.003327298558042],[0.00000002899985,0.000000000009518,-0.00000002899985,-0.000000000009518,8.54993733469511e-19,6.54257003002783e-20,0.000000038331294,0.000000038331294,0.000000038331294,1.049997662946355,-0.000032323168952,1.049997662915398,-0.000032323297661,0.000009104820385,0.027367506098904,0.061719528927466,-0.000016891095843],[0.000000148998196,0.000000048973753,-0.000000148998196,-0.000000048973753,2.90206722619124e-17,2.22070201201906e-18,0.000000207307729,0.000000207307729,0.000000207307729,1.049997589615868,-0.000032960632861,1.049997589426656,-0.000032958093171,0.000049241740322,0.147834425903498,0.303438913882364,-0.000448587176306],[0.000000054000173,0.000000000017775,-0.000000054000173,-0.000000000017775,1.33855226991168e-17,1.02428347073415e-18,0.000000071376117,0.000000071376117,0.000000071376117,1.049997548243776,-0.000033346827221,1.049997547983497,-0.000033347909341,0.000016953946931,0.050911015189891,-0.057054369857077,0.000029046958904],[0.00000004799989,0.000000000015786,-0.00000004799989,-0.000000000015786,2.95256097775944e-17,2.25935084353082e-18,0.000000063445089,0.000000063445089,0.000000063445089,1.049997548243776,-0.000033346827221,1.049997547597887,-0.000033349512537,0.000015070092284,0.045217886976326,0.023142442934609,-0.00001046452369],[0.0000000429999,0.000000000014141,-0.0000000429999,-0.000000000014141,1.05670979912334e-16,8.08612759449844e-18,0.000000056836226,0.000000056836226,0.000000056836226,1.04999751427644,-0.000033681297061,1.049997511696038,-0.000033692025223,0.000013500291102,0.040508434203986,0.264847587619021,-0.000107285610771],[0.000002366989239,0.000000230626822,-0.000002366989221,-0.000000230626818,0.000000000000018,0.000000000000005,0.000003143444612,0.000003143444612,0.000003143444612,1.04999751427644,-0.000033681297061,1.049997506254401,-0.000033753398976,0.000746661421253,1.140257507211546,0.282745798862683,-0.003224030197857],[0.00000002899985,0.000000000009511,-0.00000002899985,-0.000000000009511,1.36382561547538e-18,1.04362602307119e-19,0.000000038331294,0.000000038331294,0.000000038331294,1.049997662915398,-0.000032323297661,1.049997662866016,-0.000032323502969,0.000009104820384,0.027363723110155,0.075552565062769,-0.000020673994706],[0.000000148998076,0.000000048973768,-0.000000148998076,-0.000000048973768,4.61011975224138e-17,3.52772678919165e-18,0.000000207307585,0.000000207307585,0.000000207307585,1.049997589426656,-0.000032958093171,1.04999758912608,-0.000032954058703,0.000049241706181,0.147830829838117,0.305879568981971,-0.000452184305131],[0.000000054000173,0.000000000017785,-0.000000054000173,-0.000000000017785,4.1884058706051e-18,3.2050439230404e-19,0.000000071376117,0.000000071376117,0.000000071376117,1.049997547983497,-0.000033347909341,1.049997547902054,-0.000033348247942,0.000016953946932,0.050907210987002,-0.049585955070643,0.000025242826768],[0.00000004799989,0.000000000015785,-0.00000004799989,-0.000000000015785,6.01482992754505e-17,4.60265175629116e-18,0.000000063445089,0.000000063445089,0.000000063445089,1.049997547597887,-0.000033349512537,1.04999754628211,-0.00003335498295,0.000015070092284,0.045214082857762,0.031557960558633,-0.000014268642435],[0.000000042999908,0.000000000014142,-0.000000042999907,-0.000000000014142,6.12180224784939e-17,4.68451052229286e-18,0.000000056836236,0.000000056836236,0.000000056836236,1.049997511696038,-0.000033692025223,1.049997510201142,-0.000033698240331,0.000013500293445,0.040504653670977,0.274205884720618,-0.000111066143952],[0.00000236698943,0.000000230626277,-0.000002366989397,-0.000000230626271,0.000000000000033,0.000000000000005,0.000003143444817,0.000003143444817,0.000003143444817,1.049997506254401,-0.000033753398976,1.049997491363529,-0.000033803388938,0.000746661470061,1.140253726797761,0.283084807992081,-0.003227885073128],[0.00000002899994,0.0000000000095,-0.00000002899994,-0.0000000000095,3.73266244031289e-18,2.85629948768857e-19,0.000000038331412,0.000000038331412,0.000000038331412,1.049997662866016,-0.000032323502969,1.049997662730865,-0.000032324064878,0.000009104848492,0.027359940020376,0.08938994111403,-0.000024457034273],[0.000000148998076,0.000000048973772,-0.000000148998076,-0.000000048973772,7.77283489817053e-17,5.9479050602891e-18,0.000000207307586,0.000000207307586,0.000000207307586,1.04999758912608,-0.000032954058703,1.049997588619298,-0.000032947256434,0.000049241706546,0.147827233750481,0.308320940022812,-0.000455782316709],[0.000000054000053,0.00000000001777,-0.000000054000053,-0.00000000001777,2.69301552434194e-18,2.06074064901612e-19,0.000000071375959,0.000000071375959,0.000000071375959,1.049997547902054,-0.000033348247942,1.049997547849689,-0.000033348465653,0.000016953909452,0.050903407065193,-0.042116768646795,0.000021438870187],[0.000002366992679,0.00000023062646,-0.000002366992591,-0.000000230626446,0.000000000000088,0.000000000000014,0.00000314344916,0.00000314344916,0.00000314344916,1.049997491363529,-0.000033803388938,1.049997452083839,-0.000033935254431,0.000746662501579,1.140185684617838,0.28909044164016,-0.00329616783118],[-0.000000000002387,-0.000000000000119,0.000000000002387,0.000000000000119,1.61558713389263e-27,2.52435489670724e-28,0.00000000000316,0.00000000000316,0.00000000000316,1.049997491363529,-0.000033803388938,1.04999749136353,-0.000033803388934,0.000000000750492,0.00006467319533,-99.99890486400264,0.00006467248707],[0.00000002899994,0.0000000000095,-0.00000002899994,-0.0000000000095,4.9674942023443e-18,3.80120924331393e-19,0.000000038331412,0.000000038331412,0.000000038331412,1.049997662730865,-0.000032324064878,1.049997662551003,-0.000032324812676,0.000009104848492,0.027356156967685,0.103231025931283,-0.000028240041493],[0.000000148998016,0.000000048973776,-0.000000148998016,-0.000000048973776,5.82413925301426e-16,4.45673333514996e-17,0.000000207307513,0.000000207307513,0.000000207307513,1.049997588619298,-0.000032947256434,1.049997584822005,-0.000032896287419,0.000049241689202,0.147823637731526,0.31076802385271,-0.000459388597765],[0.000000054000531,0.000000000017785,-0.000000054000531,-0.000000000017785,1.62437758226223e-18,1.24300062294477e-19,0.000000071376591,0.000000071376591,0.000000071376591,1.049997547849689,-0.000033348465653,1.049997547818103,-0.00003334859697,0.000016954059365,0.050899602806089,-0.034645934633897,0.000017634643117],[0.00000226599319,0.000000197429538,-0.000002265993095,-0.000000197429522,0.000000000000095,0.000000000000015,0.000003006481656,0.000003006481656,0.000003006481656,1.049997452083839,-0.000033935254431,1.049997407592881,-0.000034109537058,0.000714128652961,1.140068519482297,0.299423445902428,-0.003413632446683],[0.000000100999409,0.000000033196896,-0.000000100999409,-0.000000033196896,2.68750994253368e-16,2.05652982148444e-17,0.000000140524811,0.000000140524811,0.000000140524811,1.049997452083839,-0.000033935254431,1.049997449498873,-0.000033900558281,0.000033378814545,0.100244649256765,0.284553880795575,-0.00028525003975],[-0.000000000001432,-0.000000000000119,0.000000000001432,0.000000000000119,6.05845175209737e-28,1.26217744835362e-28,0.0000000000019,0.0000000000019,0.0000000000019,1.04999749136353,-0.000033803388934,1.04999749136353,-0.000033803388931,0.000000000451293,0.000060868598718,-99.998845244530926,0.000060867895835],[0.000000029000447,0.000000000009533,-0.000000029000447,-0.000000000009533,4.73150619102782e-19,3.62066372987451e-20,0.000000038332083,0.000000038332083,0.000000038332083,1.049997662551003,-0.000032324812676,1.049997662533871,-0.000032324883901,0.000009105007776,0.027352373961086,0.117076835487497,-0.000032023293864],[0.000000148998001,0.000000048973775,-0.000000148998,-0.000000048973775,4.77795456617949e-16,3.65617470343133e-17,0.000000207307494,0.000000207307494,0.000000207307494,1.049997584822005,-0.000032896287419,1.049997581706816,-0.000032854473912,0.000049241684614,0.147820041779497,0.313219361437213,-0.000463000990938],[0.000000054000769,0.000000000017785,-0.000000054000769,-0.000000000017785,1.64178807979525e-18,1.25632314219176e-19,0.000000071376906,0.000000071376906,0.000000071376906,1.049997547818103,-0.00003334859697,1.049997547786179,-0.000033348729695,0.000016954134321,0.050895798809328,-0.02717432992206,0.000013830592285],[0.000002265993102,0.000000197429537,-0.000002265993004,-0.000000197429521,0.000000000000098,0.000000000000016,0.000003006481668,0.000003006481668,0.000003006481668,1.049997407592881,-0.000034109537058,1.04999736167335,-0.000034289415782,0.000714128655702,1.1400647407361,0.299783815554841,-0.003417729579574],[0.000000100999252,0.000000033196891,-0.000000100999252,-0.000000033196891,2.87703475562192e-17,2.20155774392213e-18,0.000000140524612,0.000000140524612,0.000000140524612,1.049997449498873,-0.000033900558281,1.049997449222147,-0.000033896843977,0.000033378767404,0.100241053805226,0.288155479391053,-0.000288850089139],[-0.000000000001432,0.000000000000119,0.000000000001432,-0.000000000000119,6.05845175209737e-28,5.04870979341448e-29,0.0000000000019,0.0000000000019,0.0000000000019,1.04999749136353,-0.000033803388931,1.049997491363531,-0.000033803388926,0.000000000451293,0.000057065051485,-99.999691939551241,0.00005706487569],[0.000000028999492,0.000000000009474,-0.000000028999492,-0.000000000009474,3.74176804449587e-19,2.86325580199033e-20,0.000000038330821,0.000000038330821,0.000000038330821,1.049997662533871,-0.000032324883901,1.049997662520323,-0.000032324940231,0.000009104707947,0.027348590794447,0.130925285280712,-0.000035806220518],[0.000000148998015,0.000000048973775,-0.000000148998015,-0.000000048973775,1.51382231259101e-16,1.15840358215396e-17,0.000000207307513,0.000000207307513,0.000000207307513,1.049997581706816,-0.000032854473912,1.049997580719816,-0.00003284122594,0.00004924168911,0.147816445905216,0.315666249244958,-0.000466606630556],[0.000000053999814,0.000000000017755,-0.000000053999814,-0.000000000017755,1.46641917248911e-18,1.12211741757855e-19,0.000000071375644,0.000000071375644,0.000000071375644,1.049997547786179,-0.000033348729695,1.049997547757665,-0.000033348848244,0.000016953834495,0.050891994662654,-0.019701806223441,0.000010026642172],[0.000001412995593,0.000000197148932,-0.000001412995577,-0.00000019714893,0.000000000000016,0.000000000000003,0.000001885755127,0.000001885755127,0.000001885755127,1.04999736167335,-0.000034289415782,1.049997349543006,-0.000034302617311,0.000447922828966,0.594196792844295,0.393550179149533,-0.00233846254274],[0.000000852997399,0.00000000028042,-0.000000852997358,-0.000000000280417,0.000000000000041,0.000000000000003,0.000001127471456,0.000001127471456,0.000001127471456,1.04999736167335,-0.000034289415782,1.049997311209885,-0.000034499220678,0.000267807944383,0.80347715969586,0.327228217637612,-0.002629203988798],[0.000000100999371,0.000000033196865,-0.000000100999371,-0.000000033196865,1.09849188300348e-17,8.40587555921287e-19,0.000000140524751,0.000000140524751,0.000000140524751,1.049997449222147,-0.000033896843977,1.049997449116489,-0.000033895425805,0.000033378800448,0.100237458373638,0.291753292555052,-0.000292446085179],[-0.00000000000191,1.12682387553686e-18,0.00000000000191,-1.1268238753721e-18,1.21169035041947e-27,1.64755410429556e-28,0.000000000002525,0.000000000002525,0.000000000002525,1.049997491363531,-0.000033803388926,1.049997491363531,-0.000033803388921,0.000000000599645,0.000053260454873,-99.999405108870604,0.000053260138032],[0.000000029000447,0.000000000009533,-0.000000029000447,-0.000000000009533,3.63436691376199e-19,2.78110982013914e-20,0.000000038332083,0.000000038332083,0.000000038332083,1.049997662520323,-0.000032324940231,1.049997662507164,-0.000032324994941,0.000009105007776,0.027344807683385,0.144779486421525,-0.000039589672127],[0.000000148997985,0.000000048973766,-0.000000148997985,-0.000000048973766,1.37814139872626e-16,1.05457719515529e-17,0.000000207307472,0.000000207307472,0.000000207307472,1.049997580719816,-0.00003284122594,1.049997579821279,-0.000032829165356,0.000049241679295,0.147812850075926,0.318109658122795,-0.000470206952038],[0.000000053999337,0.0000000000178,-0.000000053999337,-0.0000000000178,1.65211791128481e-18,1.26423034261291e-19,0.000000071375013,0.000000071375013,0.000000071375013,1.049997547757665,-0.000033348848244,1.049997547725539,-0.000033348981807,0.000016953684589,0.050888190740857,-0.012228413908403,0.000006222818594],[0.000001412995607,0.000000197148937,-0.000001412995585,-0.000000197148933,0.000000000000022,0.000000000000004,0.000001885755167,0.000001885755167,0.000001885755167,1.049997349543006,-0.000034302617311,1.049997333059757,-0.000034320556136,0.00044792283857,0.594193198050432,0.39418104242075,-0.002342196942068],[0.000000852997362,0.00000000028042,-0.000000852997357,-0.00000000028042,0.000000000000005,4.20802138039508e-16,0.000001127471461,0.000001127471461,0.000001127471461,1.049997311209885,-0.000034499220678,1.049997304440574,-0.000034527364497,0.000267807945554,0.803473382869953,0.327699905496737,-0.002632981516356],[0.000000100999132,0.000000033196865,-0.000000100999132,-0.000000033196865,1.16198494333407e-17,8.89166218935301e-19,0.000000140524451,0.000000140524451,0.000000140524451,1.049997449116489,-0.000033895425805,1.049997449004724,-0.00003389392566,0.00003337872924,0.100233862966439,0.295351029804663,-0.000296041746484],[-0.00000000000191,1.1268238753721e-18,0.00000000000191,-1.12682387523719e-18,8.07793566946316e-28,1.34915822243198e-28,0.000000000002525,0.000000000002525,0.000000000002525,1.049997491363531,-0.000033803388921,1.049997491363532,-0.000033803388917,0.000000000599645,0.000049456008173,-99.99893383908028,0.000049455480892],[0.00000002899997,0.000000000009474,-0.00000002899997,-0.000000000009474,3.89267887545005e-19,2.97870775884157e-20,0.000000038331452,0.000000038331452,0.000000038331452,1.049997662507164,-0.000032324994941,1.04999766249307,-0.00003232505354,0.000009104857858,0.027341024402268,0.158635975886804,-0.000043372700878],[0.000000148998015,0.000000048973761,-0.000000148998015,-0.00000004897376,7.50609892912423e-17,5.74380320722532e-18,0.000000207307507,0.000000207307507,0.000000207307507,1.049997579821279,-0.000032829165356,1.049997579331887,-0.000032822596517,0.000049241687647,0.147809254295467,0.320552368169775,-0.000473806065018],[0.000000054000053,0.000000000017815,-0.000000054000053,-0.000000000017815,1.32371397321146e-18,1.0129337772481e-19,0.000000071375959,0.000000071375959,0.000000071375959,1.049997547725539,-0.000033348981807,1.0499975476998,-0.000033349088819,0.000016953909457,0.050884386669143,-0.004753137204966,0.000002418604714],[0.000001412995585,0.000000197148928,-0.000001412995559,-0.000000197148924,0.000000000000026,0.000000000000004,0.000001885755166,0.000001885755166,0.000001885755166,1.049997333059757,-0.000034320556136,1.049997313761194,-0.000034341558887,0.000447922838327,0.594189603450987,0.394817764304586,-0.002345966108075],[0.000000852997371,0.000000000280422,-0.000000852997369,-0.000000000280421,0.000000000000003,2.21079702566199e-16,0.000001127471481,0.000001127471481,0.000001127471481,1.049997304440574,-0.000034527364497,1.049997300884135,-0.000034542150608,0.000267807950239,0.803469606206972,0.328171508915191,-0.002636758330364],[0.000000100999013,0.000000033196865,-0.000000100999013,-0.000000033196865,9.64343039982081e-18,7.37937750625907e-19,0.000000140524301,0.000000140524301,0.000000140524301,1.049997449004724,-0.00003389392566,1.049997448911969,-0.000033892680669,0.000033378693636,0.10023026748249,0.298949170669482,-0.000299637553399],[-0.000000000002387,-0.000000000000119,0.000000000002387,0.000000000000119,1.21169035041947e-27,2.27191940703651e-28,0.00000000000316,0.00000000000316,0.00000000000316,1.049997491363532,-0.000033803388917,1.049997491363533,-0.000033803388913,0.000000000750492,0.000045652011206,-99.999018302106393,0.000045651563041],[0.000000029001402,0.000000000009533,-0.000000029001402,-0.000000000009533,3.59932754301424e-19,2.75428541916155e-20,0.000000038333345,0.000000038333345,0.000000038333345,1.04999766249307,-0.00003232505354,1.049997662480038,-0.000032325107721,0.000009105307598,0.027337241457502,0.172495552525928,-0.000047155525697],[0.000000148998015,0.00000004897376,-0.000000148998015,-0.00000004897376,5.99479362787555e-17,4.58731206664758e-18,0.000000207307507,0.000000207307507,0.000000207307507,1.049997579331887,-0.000032822596517,1.049997578941031,-0.00003281735027,0.000049241687647,0.147805658495806,0.322994402215061,-0.000477404003099],[0.000000053999576,0.000000000017725,-0.000000053999576,-0.000000000017725,1.58776987707309e-18,1.21498462952071e-19,0.000000071375328,0.000000071375328,0.000000071375328,1.0499975476998,-0.000033349088819,1.049997547668926,-0.000033349217181,0.000016953759536,0.050880582447512,0.002723783665554,-0.000001385876994],[0.000001412995559,0.000000197148924,-0.000001412995538,-0.00000019714892,0.000000000000021,0.000000000000003,0.000001885755166,0.000001885755166,0.000001885755166,1.049997313761194,-0.000034341558887,1.049997298265223,-0.000034358423251,0.000447922838327,0.594186009063931,0.395453644515184,-0.002349730228043],[0.000000195999505,0.000000000064459,-0.000000195999504,-0.000000000064459,8.6569594181851e-16,6.62445585969896e-17,0.000000259067449,0.000000259067449,0.000000259067449,1.049997300884135,-0.000034542150608,1.049997296246362,-0.000034561432396,0.000061536210552,0.184616177976811,0.326541072257888,-0.000602847647127],[0.000000656998184,0.000000000215979,-0.000000656998184,-0.000000000215979,3.17463819345294e-16,2.42928825158286e-17,0.000000868404456,0.000000868404456,0.000000868404456,1.049997300884135,-0.000034542150608,1.04999730037676,-0.000034544260051,0.00020627184041,0.618849651641981,0.329270183497836,-0.002037687383537],[0.000000100998774,0.000000033196865,-0.000000100998774,-0.000000033196865,1.14201746509153e-17,8.73893156105122e-19,0.000000140524002,0.000000140524002,0.000000140524002,1.049997448911969,-0.000033892680669,1.049997448802124,-0.000033891206292,0.000033378622428,0.100226672074394,0.302547464751502,-0.000303233255366],[-0.000000000000955,-0.000000000000119,0.000000000000955,0.000000000000119,4.03896783473158e-28,5.04870979341448e-29,0.000000000001272,0.000000000001272,0.000000000001272,1.049997491363533,-0.000033803388913,1.049997491363533,-0.000033803388912,0.000000000302156,0.000041847114772,-99.999789372476343,0.00004184702663],[0.000000029000447,0.000000000009533,-0.000000029000447,-0.000000000009533,3.39183755816144e-19,2.59551068552141e-20,0.000000038332083,0.000000038332083,0.000000038332083,1.049997662480038,-0.000032325107721,1.049997662467757,-0.00003232515878,0.000009105007776,0.02733345845261,0.186359947855003,-0.000050938618919],[0.000000148997896,0.000000048973775,-0.000000148997896,-0.000000048973775,5.11184913063562e-17,3.91167755975916e-18,0.000000207307363,0.000000207307363,0.000000207307363,1.049997578941031,-0.00003281735027,1.049997578607742,-0.000032812876711,0.000049241653506,0.147802062749832,0.325436151229276,-0.000481001344451],[0.000000053999576,0.000000000017755,-0.000000053999576,-0.000000000017755,1.71101317089859e-18,1.30930070000454e-19,0.000000071375328,0.000000071375328,0.000000071375328,1.049997547668926,-0.000033349217181,1.049997547635655,-0.000033349355506,0.000016953759539,0.050876778525712,0.010200509586004,-0.000005189690671],[0.000000955997776,0.00000019699852,-0.000000955997772,-0.00000019699852,0.000000000000004,5.78031138604316e-16,0.000001290164502,0.000001290164502,0.000001290164502,1.049997298265223,-0.000034358423251,1.049997294331408,-0.000034348832549,0.000306452373026,0.594135690058655,0.403940250941243,-0.002399953197354],[0.000000456997762,0.000000000150329,-0.000000456997755,-0.000000000150328,0.000000000000007,5.70515619395994e-16,0.000000604048692,0.000000604048692,0.000000604048692,1.049997298265223,-0.000034358423251,1.049997281134816,-0.000034429643766,0.000143479498003,0.430488969796081,0.0367876478404,-0.0001583667662],[0.000000195999504,0.00000000006446,-0.000000195999503,-0.000000000064459,7.03703564103864e-16,5.38486212874101e-17,0.000000259067449,0.000000259067449,0.000000259067449,1.049997296246362,-0.000034561432396,1.049997292476427,-0.000034577106101,0.000061536210552,0.184612401485647,0.32859339868655,-0.000606624164439],[0.000000656998184,0.000000000215964,-0.000000656998184,-0.000000000215964,2.29571869089925e-16,1.75672422878849e-17,0.000000868404456,0.000000868404456,0.000000868404456,1.04999730037676,-0.000034544260051,1.049997300009855,-0.000034545785481,0.000206271840408,0.618845874966825,0.329882452373323,-0.002041463948752],[0.000000100998655,0.00000003319685,-0.000000100998655,-0.00000003319685,1.11374112303202e-17,8.52260728725635e-19,0.000000140523846,0.000000140523846,0.000000140523846,1.049997448802124,-0.000033891206292,1.049997448694999,-0.000033889768418,0.000033378585362,0.100223076797166,0.306146035461256,-0.000306828976232],[-0.000000000001432,-0.00000000000006,0.000000000001432,0.00000000000006,6.05845175209737e-28,6.31088724176809e-29,0.000000000001895,0.000000000001895,0.000000000001895,1.049997491363533,-0.000033803388912,1.049997491363533,-0.00003380338891,0.000000000450124,0.000038042668071,-99.999998809437102,0.000038042667618],[0.000000029000925,0.000000000009563,-0.000000029000925,-0.000000000009563,4.71757646951243e-19,3.6099197523167e-20,0.000000038332714,0.000000038332714,0.000000038332714,1.049997662467757,-0.00003232515878,1.049997662450676,-0.000032325229792,0.00000910515769,0.027329675299079,0.200228367212527,-0.000054721762616],[0.000000148998075,0.000000048973764,-0.000000148998075,-0.000000048973764,5.99880115250724e-17,4.59038256108137e-18,0.000000207307583,0.000000207307583,0.000000207307583,1.049997578607742,-0.000032812876711,1.049997578216625,-0.000032807626961,0.000049241705815,0.147798466964789,0.327878185729627,-0.00048459893202],[0.000000053999814,0.000000000017785,-0.000000053999814,-0.000000000017785,3.12167375265672e-18,2.38876513090816e-19,0.000000071375644,0.000000071375644,0.000000071375644,1.049997547635655,-0.000033349355506,1.049997547574954,-0.000033349607872,0.000016953834498,0.050872974079208,0.017679735240943,-0.000008994207126],[0.000000955997742,0.000000196998512,-0.000000955997737,-0.000000196998512,0.000000000000005,7.9693685118506e-16,0.000001290164462,0.000001290164462,0.000001290164462,1.049997294331408,-0.000034348832549,1.049997288907821,-0.000034335609756,0.000306452363376,0.594132095959351,0.404558141969556,-0.002403609768258],[0.000000456997732,0.000000000150329,-0.000000456997726,-0.000000000150328,0.000000000000006,4.76876184514385e-16,0.000000604048662,0.000000604048662,0.000000604048662,1.049997281134816,-0.000034429643766,1.049997266816043,-0.000034489174773,0.000143479490976,0.430485166083916,0.037671584740952,-0.000162170584139],[0.000000656998661,0.000000000216023,-0.000000656998661,-0.000000000216023,1.93738457893687e-16,1.48251992257996e-17,0.000000868405087,0.000000868405087,0.000000868405087,1.049997300009855,-0.000034545785481,1.049997299700219,-0.000034547072807,0.000206271990326,0.618842098588496,0.330494688117226,-0.002045240263668],[0.000000100998655,0.000000033196843,-0.000000100998655,-0.000000033196843,1.531154988972e-17,1.17167817662421e-18,0.000000140523843,0.000000140523843,0.000000140523843,1.049997448694999,-0.000033889768418,1.049997448547725,-0.000033887791648,0.00003337858463,0.100219481353002,0.309744914414397,-0.000310424746743],[-0.000000000000477,-0.000000000000179,0.000000000000477,0.000000000000179,1.0097419586829e-28,2.52435489670724e-29,0.000000000000674,0.000000000000674,0.000000000000674,1.049997491363533,-0.00003380338891,1.049997491363534,-0.000033803388911,0.000000000160105,0.000034238671104,-99.998375912450868,0.000034238115038],[0.00000002899997,0.000000000009533,-0.00000002899997,-0.000000000009533,5.78083442888809e-19,4.42354736596221e-20,0.000000038331452,0.000000038331452,0.000000038331452,1.049997662450676,-0.000032325229792,1.049997662429745,-0.000032325316813,0.000009104857864,0.027325892355124,0.214100265728153,-0.000058504808145],[0.000000148997955,0.00000004897376,-0.000000148997955,-0.00000004897376,5.48134078409571e-17,4.19441451057469e-18,0.000000207307432,0.000000207307432,0.000000207307432,1.049997578216625,-0.000032807626961,1.049997577859246,-0.000032802830055,0.000049241669845,0.147794871212121,0.330320275099282,-0.000488196425171],[0.000000053999904,0.000000000017757,-0.000000053999904,-0.000000000017757,2.33550012266264e-17,1.7871650659891e-18,0.000000071375762,0.000000071375762,0.000000071375762,1.049997547574954,-0.000033349607872,1.049997547120818,-0.000033351495967,0.000016953862604,0.050869170082449,0.025158961076679,-0.000012798154701],[0.000000955997737,0.000000196998517,-0.000000955997725,-0.000000196998515,0.000000000000012,0.000000000000002,0.000001290164463,0.000001290164463,0.000001290164463,1.049997288907821,-0.000034335609756,1.049997275565628,-0.00003430308127,0.000306452363731,0.5941285019723,0.405186601777719,-0.002407329087334],[0.000000049999884,0.000000000016444,-0.000000049999884,-0.000000000016444,5.4257509382097e-17,4.15187900293379e-18,0.00000006608865,0.00000006608865,0.00000006608865,1.049997266816043,-0.000034489174773,1.049997265676607,-0.000034493912038,0.000015698016505,0.04710164425533,0.029214370531185,-0.000013760448879],[0.000000406997842,0.000000000133883,-0.000000406997842,-0.000000000133883,1.30175729103185e-16,9.96127555832068e-18,0.000000537960012,0.000000537960012,0.000000537960012,1.049997266816043,-0.000034489174773,1.049997266480199,-0.000034490571059,0.000127781474471,0.38337971847129,0.039703089780429,-0.000152213593825],[0.000000656997945,0.000000000216038,-0.000000656997945,-0.000000000216038,3.27246308732252e-16,2.50414450395312e-17,0.00000086840414,0.00000086840414,0.00000086840414,1.049997299700219,-0.000034547072807,1.04999729917721,-0.000034549247248,0.00020627176546,0.618838322117549,0.331106961730615,-0.002049016766388],[0.000000100998774,0.000000033196858,-0.000000100998774,-0.000000033196858,2.10635388762871e-17,1.61181767184123e-18,0.000000140523999,0.000000140523999,0.000000140523999,1.049997448547725,-0.000033887791648,1.049997448345125,-0.00003388507228,0.000033378621697,0.100215886057215,0.313344158533855,-0.000314020624883],[0.000000000000955,-5.63411937507717e-19,-0.000000000000955,5.63411937543303e-19,2.01948391736579e-28,3.55857927684318e-29,0.000000000001262,0.000000000001262,0.000000000001262,1.049997491363534,-0.000033803388911,1.049997491363533,-0.000033803388913,0.000000000299822,0.000030434374315,-99.99836630012571,0.000030433877108],[0.00000002899997,0.000000000009537,-0.00000002899997,-0.000000000009537,2.73993982613085e-18,2.09665009421483e-19,0.000000038331452,0.000000038331452,0.000000038331452,1.049997662429745,-0.000032325316813,1.049997662330538,-0.000032325729272,0.000009104857865,0.027322109185107,0.227976035136026,-0.000062287861236],[0.000000148998074,0.00000004897376,-0.000000148998074,-0.00000004897376,8.50365227808358e-17,6.50713871137905e-18,0.000000207307582,0.000000207307582,0.000000207307582,1.049997577859246,-0.000032802830055,1.049997577304815,-0.000032795388228,0.000049241705449,0.147791275491193,0.332762748172748,-0.000491794309884],[0.000000053999874,0.000000000017758,-0.000000053999874,-0.000000000017758,7.15712400183342e-17,5.4767558789954e-18,0.000000071375723,0.000000071375723,0.000000071375723,1.049997547120818,-0.000033351495967,1.04999754572912,-0.000033357282026,0.000016953853234,0.050865365980282,0.032639636368108,-0.000016602270493],[0.00000095599774,0.000000196998517,-0.00000095599773,-0.000000196998516,0.00000000000001,0.000000000000002,0.000001290164483,0.000001290164483,0.000001290164483,1.049997275565628,-0.00003430308127,1.049997264751587,-0.000034276716464,0.000306452368438,0.594124908261454,0.405821080017748,-0.002411084119361],[0.000000049999854,0.000000000016443,-0.000000049999854,-0.000000000016443,5.31664780064742e-17,4.06839136644078e-18,0.000000066088611,0.000000066088611,0.000000066088611,1.049997265676607,-0.000034493912038,1.049997264560082,-0.000034498554048,0.000015698007136,0.047097840888664,0.037292187299076,-0.000017563815038],[0.000000406998081,0.000000000133868,-0.000000406998081,-0.000000000133868,1.2446482121456e-16,9.52426978515553e-18,0.000000537960328,0.000000537960328,0.000000537960328,1.049997266480199,-0.000034490571059,1.049997266159089,-0.00003449190609,0.000127781549425,0.383375914924261,0.040695571814732,-0.000156017020778],[0.000000656997706,0.000000000216038,-0.000000656997705,-0.000000000216038,4.5826917666181e-16,3.50675504647705e-17,0.000000868403825,0.000000868403825,0.000000868403825,1.04999729917721,-0.000034549247248,1.049997298444797,-0.000034552292295,0.000206271690505,0.618834545547936,0.331719272285438,-0.002052793451143],[0.000000100998715,0.000000033196873,-0.000000100998715,-0.000000033196873,2.22911675495444e-17,1.70575891964765e-18,0.00000014052393,0.00000014052393,0.00000014052393,1.049997448345125,-0.00003388507228,1.049997448130717,-0.000033882194418,0.000033378605358,0.100212290714206,0.316943760183284,-0.000317616602355],[-2.11279476578739e-19,-0.000000000000358,2.11279476603023e-19,0.000000000000358,2.42844599288918e-29,0.0,0.000000000000473,0.000000000000473,0.000000000000473,1.049997491363533,-0.000033803388913,1.049997491363533,-0.000033803388917,0.000000000112433,0.000026630077525,-99.999067022390704,0.000026629829072],[0.000000028999933,0.000000000009537,-0.000000028999932,-0.000000000009537,2.34272273289921e-17,1.79269226907072e-18,0.000000038331403,0.000000038331403,0.000000038331403,1.049997662330538,-0.000032325729272,1.04999766148229,-0.000032329255911,0.000009104846153,0.027318326104368,0.241855741994809,-0.0000660709403],[0.000000148997985,0.000000048973751,-0.000000148997985,-0.000000048973751,1.71680105290629e-16,1.31372626362325e-17,0.000000207307466,0.000000207307466,0.000000207307466,1.049997577304815,-0.000032795388228,1.049997576185474,-0.00003278036392,0.000049241677832,0.147787679785581,0.335206563916186,-0.000495394003301],[0.000000955997775,0.000000196998523,-0.000000955997767,-0.000000196998522,0.000000000000008,0.000000000000001,0.000001290164543,0.000001290164543,0.000001290164543,1.049997264751587,-0.000034276716464,1.049997256301812,-0.000034256115771,0.000306452382675,0.59412131478345,0.406450027717592,-0.002414806248613],[0.00000040699832,0.000000000133853,-0.00000040699832,-0.000000000133853,1.34179759723975e-16,1.02676700814504e-17,0.000000537960644,0.000000537960644,0.000000537960644,1.049997266159089,-0.00003449190609,1.049997265812916,-0.000034493345324,0.000127781624379,0.383372111826965,0.041687997399823,-0.00015982015601],[0.000000656997944,0.000000000216083,-0.000000656997944,-0.000000000216083,3.40046776510278e-16,2.60209635246915e-17,0.00000086840414,0.00000086840414,0.00000086840414,1.049997298444797,-0.000034552292295,1.049997297901329,-0.000034554551789,0.000206271765465,0.618830769181547,0.332331511279515,-0.002056569647484],[0.000000100998416,0.000000033196858,-0.000000100998416,-0.000000033196858,1.48073535278668e-17,1.13308523796494e-18,0.000000140523549,0.000000140523549,0.000000140523549,1.049997448130717,-0.000033882194418,1.049997447988293,-0.000033880282731,0.000033378514885,0.100208695426111,0.320543511767015,-0.000321212471415],[0.00000000000191,-1.12682387521612e-18,-0.00000000000191,1.12682387529867e-18,4.03896783473158e-28,8.25445870444592e-29,0.000000000002525,0.000000000002525,0.000000000002525,1.049997491363533,-0.000033803388917,1.049997491363533,-0.000033803388919,0.000000000599645,0.000022825480914,-99.999998699080791,0.000022825480617],[0.000000099998219,0.000000032868303,-0.000000099998219,-0.000000032868303,2.30992766858944e-17,1.76759232479721e-18,0.000000139131995,0.000000139131995,0.000000139131995,1.049997576185474,-0.00003278036392,1.049997575961071,-0.000032777351862,0.000033047979468,0.099188487263058,0.333078664718608,-0.00033037568893],[0.000000048999885,0.000000016105458,-0.000000048999885,-0.000000016105458,3.30648112162434e-17,2.53017674895475e-18,0.000000068175625,0.000000068175625,0.000000068175625,1.049997576185474,-0.00003278036392,1.049997575529941,-0.000032771565183,0.000016193734974,0.048595596911325,0.346980864718201,-0.000168617422378],[0.000000955997707,0.000000196998518,-0.0000009559977,-0.000000196998517,0.000000000000007,0.000000000000001,0.000001290164464,0.000001290164464,0.000001290164464,1.049997256301812,-0.000034256115771,1.049997248664848,-0.000034237496728,0.000306452364086,0.594117721457944,0.407075385548714,-0.002418507005238],[0.000000406998558,0.000000000133838,-0.000000406998558,-0.000000000133838,1.19812333933088e-16,9.16825013798876e-18,0.000000537960959,0.000000537960959,0.000000537960959,1.049997265812916,-0.000034493345324,1.04999726550381,-0.00003449463045,0.000127781699333,0.383368308354894,0.042680523279603,-0.000163623600094],[0.000000656998421,0.000000000216068,-0.000000656998421,-0.000000000216068,5.63302003275172e-16,4.31048402108422e-17,0.000000868404772,0.000000868404772,0.000000868404772,1.049997297901329,-0.000034554551789,1.049997297001052,-0.000034558294737,0.000206271915375,0.618826992536732,0.332943845222434,-0.002060346384226],[0.000000100998894,0.000000033196888,-0.000000100998894,-0.000000033196888,1.50704366673281e-17,1.15321550535203e-18,0.000000140524161,0.000000140524161,0.000000140524161,1.049997447988293,-0.000033880282731,1.049997447843338,-0.000033878337095,0.000033378660226,0.100205100087494,0.324143428338829,-0.000324808246794],[-7.04264922061667e-20,-0.000000000000119,7.04264922088007e-20,0.000000000000119,2.63391382900614e-30,0.0,0.000000000000158,0.000000000000158,0.000000000000158,1.049997491363533,-0.000033803388919,1.049997491363533,-0.00003380338892,0.000000000037478,0.000019021034214,-99.996669424964296,0.000019020400705],[0.000000099998338,0.000000032868296,-0.000000099998338,-0.000000032868296,2.01447992960918e-17,1.54152055466402e-18,0.000000139132142,0.000000139132142,0.000000139132142,1.049997575961071,-0.000032777351862,1.04999757576537,-0.000032774725064,0.00003304801434,0.099184891563987,0.336716685764095,-0.000333972079653],[0.000000048999878,0.000000016105458,-0.000000048999878,-0.000000016105458,5.29084836821414e-17,4.04865205175305e-18,0.000000068175616,0.000000068175616,0.000000068175616,1.049997575529941,-0.000032771565183,1.049997574480993,-0.000032757485923,0.000016193732795,0.048592001302133,0.354408895299751,-0.000172214375019],[0.00000059899883,0.00000019688087,-0.000000598998829,-0.00000019688087,4.92557282124901e-16,3.76912985567015e-17,0.000000833412727,0.000000833412727,0.000000833412727,1.049997248664848,-0.000034237496728,1.049997247866018,-0.000034226774631,0.000197960265791,0.59397399355432,0.431349288697665,-0.002562102596246],[0.00000035699902,0.000000000117561,-0.000000356999019,-0.000000000117561,6.02928163311419e-16,1.38561126410467e-16,0.000000471872773,0.000000471872773,0.000000471872773,1.049997248664848,-0.000034237496728,1.049997246891396,-0.000034259702926,0.000112083792936,0.336398717295535,0.291166391342951,-0.000979480005673],[0.000000406998319,0.000000000133838,-0.000000406998319,-0.000000000133838,1.32312687349989e-16,1.01247938367317e-17,0.000000537960644,0.000000537960644,0.000000537960644,1.04999726550381,-0.00003449463045,1.049997265162454,-0.000034496049657,0.000127781624377,0.383364505182643,0.043672983761733,-0.000167426718097],[0.000000656998331,0.000000000216072,-0.000000656998327,-0.000000000216071,0.000000000000004,2.99191606564247e-16,0.000000868404653,0.000000868404653,0.000000868404653,1.049997297001052,-0.000034558294737,1.049997290752213,-0.00003458427462,0.000206271887267,0.61882321602259,0.333556171138807,-0.002064123025483],[0.000000100998058,0.00000003319685,-0.000000100998058,-0.00000003319685,7.20572251718213e-18,5.51398596327848e-19,0.000000140523096,0.000000140523096,0.000000140523096,1.049997447843338,-0.000033878337095,1.049997447774029,-0.000033877406802,0.000033378407342,0.100201504831954,0.327743289342586,-0.000328403707907],[3.52132461044003e-20,0.00000000000006,-3.52132461040133e-20,-0.00000000000006,3.86985529669234e-31,0.0,0.000000000000079,0.000000000000079,0.000000000000079,1.049997491363533,-0.00003380338892,1.049997491363533,-0.00003380338892,0.000000000018739,0.000015217037246,-99.999998188219138,0.00001521703697],[0.000000099998219,0.000000032868274,-0.000000099998219,-0.000000032868274,1.66606219117899e-17,1.27489708218103e-18,0.000000139131983,0.000000139131983,0.000000139131983,1.04999757576537,-0.000032774725064,1.049997575603517,-0.000032772552584,0.000033047976542,0.09918129590887,0.340354868454517,-0.000337568369222],[0.000000048999893,0.000000016105458,-0.000000048999893,-0.000000016105458,4.52051425433371e-17,3.45917336874571e-18,0.000000068175634,0.000000068175634,0.000000068175634,1.049997574480993,-0.000032757485923,1.049997573584769,-0.000032745456576,0.000016193737199,0.048588405749252,0.361838247219594,-0.000175811435715],[0.000000598998471,0.000000196880848,-0.000000598998471,-0.000000196880848,4.93850913193595e-16,3.77903220021914e-17,0.000000833412268,0.000000833412268,0.000000833412268,1.049997247866018,-0.000034226774631,1.04999724706509,-0.000034216024367,0.000197960156785,0.593970400438272,0.431959390590642,-0.002565710922022],[0.000000356999123,0.000000000117509,-0.000000356999122,-0.000000000117508,9.63330253274961e-16,1.54050684740828e-16,0.000000471872911,0.000000471872911,0.000000471872911,1.049997246891396,-0.000034259702926,1.049997244057923,-0.000034284376055,0.000112083825724,0.336391163416532,0.293418211657668,-0.000987032935871],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049997246891396,-0.000034259702926,1.049997246891396,-0.000034259702926,0.0,0.000003804657513,-99.999999853211591,0.000003804657508],[0.000000406998797,0.000000000133838,-0.000000406998797,-0.000000000133838,8.53064880629935e-17,6.52780095929759e-18,0.000000537961275,0.000000537961275,0.000000537961275,1.049997265162454,-0.000034496049657,1.04999726494237,-0.000034496964667,0.000127781774289,0.383360701785531,0.044665497088679,-0.000171229963095],[0.00000065699832,0.000000000216072,-0.000000656998311,-0.000000000216071,0.000000000000009,6.60877361285023e-16,0.000000868404643,0.000000868404643,0.000000868404643,1.049997290752213,-0.00003458427462,1.049997276949297,-0.000034641660978,0.000206271884924,0.618819439654634,0.334168492878199,-0.002067899595131],[0.000000100998535,0.00000003319688,-0.000000100998535,-0.00000003319688,1.14616792653308e-17,8.77069529657326e-19,0.000000140523708,0.000000140523708,0.000000140523708,1.049997447774029,-0.000033877406802,1.049997447663785,-0.000033875927058,0.000033378552683,0.100197909676464,0.331343425785481,-0.000331999186487],[-1.76066230520067e-20,-0.00000000000003,1.76066230531869e-20,0.00000000000003,1.18022491624819e-30,0.0,0.000000000000039,0.000000000000039,0.000000000000039,1.049997491363533,-0.00003380338892,1.049997491363533,-0.000033803388922,0.000000000009369,0.000011412965324,-99.999206585045002,0.000011412874771],[0.000000099998338,0.000000032868288,-0.000000099998338,-0.000000032868288,1.29561497867528e-17,9.91438829871358e-19,0.000000139132139,0.000000139132139,0.000000139132139,1.049997575603517,-0.000032772552584,1.049997575477652,-0.000032770863158,0.000033048013609,0.099177700272612,0.343992937617056,-0.000341164284629],[0.000000048999915,0.000000016105457,-0.000000048999915,-0.000000016105457,2.55843654740201e-17,1.95775783890071e-18,0.000000068175662,0.000000068175662,0.000000068175662,1.049997573584769,-0.000032745456576,1.049997573077541,-0.000032738648437,0.000016193743784,0.048584810246039,0.369267744665205,-0.000179408033045],[0.00000059899871,0.000000196880855,-0.000000598998709,-0.000000196880855,4.94809754489887e-16,3.78637227010269e-17,0.00000083341257,0.00000083341257,0.00000083341257,1.04999724706509,-0.000034216024367,1.049997246262607,-0.000034205253238,0.000197960228724,0.593966807415244,0.432569524756978,-0.00256931939605],[0.000000356999108,0.00000000011749,-0.000000356999107,-0.00000000011749,8.07719765892064e-16,1.29166279113409e-16,0.000000471872891,0.000000471872891,0.000000471872891,1.049997244057923,-0.000034284376055,1.049997241682152,-0.000034305063645,0.000112083821037,0.33638360971305,0.295670387967789,-0.000994586723899],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049997244057923,-0.000034284376055,1.049997244057923,-0.000034284376055,0.0,0.000003804680937,-99.999999854751494,0.000003804680931],[0.000000406998558,0.000000000133838,-0.000000406998558,-0.000000000133838,1.31024985511926e-16,1.00262521722498e-17,0.000000537960959,0.000000537960959,0.000000537960959,1.04999726494237,-0.000034496964667,1.049997264604336,-0.000034498370061,0.000127781699333,0.3833568982385,0.045658128820512,-0.00017503358644],[0.000000100998774,0.00000003319688,-0.000000100998774,-0.00000003319688,1.07600051127592e-17,8.23382199180184e-19,0.000000140524008,0.000000140524008,0.000000140524008,1.049997447663785,-0.000033875927058,1.04999744756029,-0.000033874537909,0.000033378623891,0.100194314475337,0.334943872250023,-0.000335594716678],[0.000000000000119,-0.00000000000003,-0.000000000000119,0.00000000000003,2.52435489670724e-29,0.0,0.000000000000163,0.000000000000163,0.000000000000163,1.049997491363533,-0.000033803388922,1.049997491363533,-0.000033803388925,0.000000000038631,0.000007608556101,-99.998709153895689,0.000007608457886],[0.000000099998696,0.000000032868266,-0.000000099998696,-0.000000032868266,1.31772650906555e-17,1.00835301903684e-18,0.000000139132579,0.000000139132579,0.000000139132579,1.049997575477652,-0.000032770863158,1.049997575349638,-0.000032769144911,0.000033048118226,0.099174104676279,0.347631524529997,-0.000344760452025],[0.00000059899859,0.00000019688084,-0.000000598998589,-0.00000019688084,4.91814222471922e-16,3.76345208794558e-17,0.000000833412414,0.000000833412414,0.000000833412414,1.049997246262607,-0.000034205253238,1.049997245464982,-0.000034194547315,0.000197960191657,0.593963214468296,0.433179605698765,-0.002572927510429],[0.000000356999137,0.000000000117508,-0.000000356999136,-0.000000000117508,8.68278704093366e-16,1.38850549539722e-16,0.00000047187293,0.00000047187293,0.00000047187293,1.049997241682152,-0.000034305063645,1.049997239128258,-0.000034327302283,0.000112083830408,0.336376056224751,0.297922597987117,-0.001002140285711],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049997241682152,-0.000034305063645,1.049997241682152,-0.000034305063645,0.0,0.00000380470436,-99.999999711615032,0.000003804704349],[0.000000406998976,0.000000000133855,-0.000000406998975,-0.000000000133855,0.000000000000001,8.24686198492568e-17,0.000000537961511,0.000000537961511,0.000000537961511,1.049997264604336,-0.000034498370061,1.049997261823921,-0.000034509929784,0.000127781830507,0.383353094935079,0.046650716001697,-0.000178836963602],[0.000000100999132,0.000000033196858,-0.000000100999132,-0.000000033196858,1.53743362069352e-17,1.17646920673212e-18,0.000000140524448,0.000000140524448,0.000000140524448,1.04999744756029,-0.000033874537909,1.049997447412413,-0.000033872553049,0.000033378728508,0.100190719209837,0.338544713699779,-0.000339190383503],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049997491363533,-0.000033803388925,1.049997491363533,-0.000033803388925,0.0,0.000003804334267,-99.998709172970536,0.00000380428516],[0.000000099998935,0.000000032868288,-0.000000099998935,-0.000000032868288,1.14356065324231e-17,8.75064443852497e-19,0.000000139132888,0.000000139132888,0.000000139132888,1.049997575349638,-0.000032769144911,1.049997575238546,-0.000032767653778,0.000033048191628,0.099170509065657,0.351270191679191,-0.000348356437284],[0.000000598998709,0.000000196880848,-0.000000598998708,-0.000000196880848,4.93683306549157e-16,3.77775106288642e-17,0.000000833412567,0.000000833412567,0.000000833412567,1.049997245464982,-0.000034194547315,1.049997244664325,-0.000034183800703,0.000197960227993,0.59395962147645,0.433789719157716,-0.002576535773913],[0.000000356998986,0.000000000117486,-0.000000356998986,-0.000000000117486,7.12887068848216e-16,1.14001122717921e-16,0.000000471872733,0.000000471872733,0.000000471872733,1.049997239128258,-0.000034327302283,1.049997237031421,-0.000034345560992,0.000112083783559,0.336368502957585,0.300174843906683,-0.001009693628704],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049997239128258,-0.000034327302283,1.049997239128258,-0.000034327302283,0.0,0.000003804718415,-99.999999964772414,0.000003804718413],[0.000000406998967,0.000000000133854,-0.000000406998963,-0.000000000133853,0.000000000000004,2.8422412495771e-16,0.000000537961501,0.000000537961501,0.000000537961501,1.049997261823921,-0.000034509929784,1.049997252241355,-0.000034549769814,0.000127781828165,0.383349291652738,0.047643302878412,-0.000182640264104],[0.000000100999043,0.000000033196858,-0.000000100999043,-0.000000033196858,1.62286404026461e-16,1.2418436066479e-17,0.000000140524336,0.000000140524336,0.000000140524336,1.049997447412413,-0.000033872553049,1.049997445851465,-0.000033851601499,0.000033378701806,0.100187124046474,0.342148045750141,-0.000342788287018],[0.000000099998935,0.000000032868288,-0.000000099998935,-0.000000032868288,8.21322850327172e-18,6.28511681752492e-19,0.000000139132888,0.000000139132888,0.000000139132888,1.049997575238546,-0.000032767653778,1.049997575158757,-0.000032766582824,0.000033048191628,0.099166913453118,0.354909043141762,-0.00035195234365],[0.000000598998589,0.000000196880848,-0.000000598998588,-0.000000196880848,4.93347775622926e-16,3.77518349426505e-17,0.000000833412418,0.000000833412418,0.000000833412418,1.049997244664325,-0.000034183800703,1.049997243864213,-0.000034173061394,0.000197960192389,0.593956028457293,0.434399859997169,-0.002580144156063],[0.000000356998956,0.000000000117508,-0.000000356998955,-0.000000000117508,7.65362612815192e-16,1.22392743215143e-16,0.000000471872694,0.000000471872694,0.000000471872694,1.049997237031421,-0.000034345560992,1.049997234780236,-0.000034365163718,0.000112083774192,0.336360949822864,0.302427158077405,-0.001017246861431],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049997237031421,-0.000034345560992,1.049997237031421,-0.000034345560992,0.0,0.000003804737153,-99.999999856837818,0.000003804737148],[0.000000100998983,0.000000033196854,-0.000000100998983,-0.000000033196854,6.49104111491428e-17,4.96706075970332e-18,0.000000140524259,0.000000140524259,0.000000140524259,1.049997445851465,-0.000033851601499,1.049997445227126,-0.000033843221406,0.000033378683638,0.100183528908756,0.34575239233732,-0.00034638694793],[0.000000099999412,0.000000032868288,-0.000000099999412,-0.000000032868288,9.5356322223929e-18,7.29679179390177e-19,0.000000139133488,0.000000139133488,0.000000139133488,1.049997575158757,-0.000032766582824,1.049997575066122,-0.000032765339446,0.000033048334043,0.099163317830736,0.358548210872049,-0.000355548301923],[0.000000598998588,0.000000196880877,-0.000000598998588,-0.000000196880877,4.93659377868397e-16,3.77756842140717e-17,0.00000083341243,0.00000083341243,0.00000083341243,1.049997243864213,-0.000034173061394,1.049997243063595,-0.000034162315301,0.000197960195314,0.593952435623775,0.4350099746514,-0.002583752339648],[0.000000356999265,0.000000000117422,-0.000000356999261,-0.000000000117422,0.000000000000004,2.73063369449732e-16,0.000000471873103,0.000000471873103,0.000000471873103,1.049997234780236,-0.000034365163718,1.04999722290314,-0.000034408775229,0.000112083871391,0.336304302504319,0.319321932807094,-0.00107389339887],[-0.000000000000373,0.000000000000011,0.000000000000373,-0.000000000000011,1.21169035041947e-27,1.83015730011275e-28,0.000000000000493,0.000000000000493,0.000000000000493,1.049997234780236,-0.000034365163718,1.049997234780239,-0.000034365163685,0.000000000117171,0.000049461999936,-99.999933045957164,0.000049461966819],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049997234780236,-0.000034365163718,1.049997234780236,-0.000034365163718,0.0,0.000003804755892,-99.999999908685908,0.000003804755889],[0.000000100998893,0.000000033196862,-0.000000100998893,-0.000000033196862,3.2961360700115e-17,2.52225897613139e-18,0.00000014052415,0.00000014052415,0.00000014052415,1.049997445227126,-0.000033843221406,1.049997444910088,-0.000033838966008,0.000033378657666,0.100179933770765,0.349355012043244,-0.00034998361969],[0.000000099999771,0.000000032868281,-0.000000099999771,-0.000000032868281,1.43656655505431e-17,1.09929656430337e-18,0.000000139133934,0.000000139133934,0.000000139133934,1.049997575066122,-0.000032765339446,1.049997574926565,-0.000032763466281,0.000033048440124,0.09915972217332,0.36218752698382,-0.000359144145504],[0.000000598998588,0.000000196880847,-0.000000598998588,-0.000000196880847,2.409708149776e-16,1.84394837452525e-17,0.000000833412418,0.000000833412418,0.000000833412418,1.049997243063595,-0.000034162315301,1.049997242672788,-0.000034157069793,0.000197960192389,0.593948842718396,0.435619443023662,-0.002587356640495],[0.000000356999279,0.00000000011742,-0.000000356999279,-0.00000000011742,5.90789545902554e-16,3.99499743109925e-17,0.000000471873127,0.000000471873127,0.000000471873127,1.04999722290314,-0.000034408775229,1.049997221165487,-0.000034415155721,0.000112083877247,0.336300526271746,0.3204484005716,-0.001077669657552],[-0.000000000000284,0.000000000000015,0.000000000000284,-0.000000000000015,9.08767762814606e-28,1.35684075698014e-28,0.000000000000375,0.000000000000375,0.000000000000375,1.049997234780239,-0.000034365163685,1.049997234780242,-0.000034365163649,0.000000000089133,0.000041852464727,-99.999907096164392,0.000041852425845],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049997234780239,-0.000034365163685,1.049997234780239,-0.000034365163685,0.0,0.000003804760577,-99.999999947159196,0.000003804760575],[0.000000100999013,0.00000003319685,-0.000000100999013,-0.00000003319685,7.29370806457817e-18,5.58121920346679e-19,0.000000140524295,0.000000140524295,0.000000140524295,1.049997444910088,-0.000033838966008,1.049997444839934,-0.000033838024371,0.000033378692173,0.100176338542167,0.352956882980459,-0.000353579282002],[0.00000009999983,0.000000032868281,-0.00000009999983,-0.000000032868281,2.34706212239266e-17,1.79601425064454e-18,0.000000139134009,0.000000139134009,0.000000139134009,1.049997574926565,-0.000032763466281,1.049997574698558,-0.000032760405909,0.000033048457926,0.099156126657523,0.365827453612804,-0.000362740333252],[0.000000598998796,0.000000196880879,-0.000000598998791,-0.000000196880879,0.000000000000005,4.1443058942997e-16,0.000000833412693,0.000000833412693,0.000000833412693,1.049997242672788,-0.000034157069793,1.049997233889348,-0.00003403917628,0.000197960257804,0.593945249690036,0.436241773867067,-0.002591037293047],[0.000000356999219,0.00000000011742,-0.000000356999217,-0.00000000011742,0.000000000000002,1.12548057342445e-16,0.000000471873049,0.000000471873049,0.000000471873049,1.049997221165487,-0.000034415155721,1.049997216270125,-0.000034433131006,0.000112083858508,0.336296750098825,0.321574887060891,-0.00108144589432],[-0.000000000000269,0.000000000000013,0.000000000000269,-0.000000000000013,1.21169035041947e-27,1.89326617253043e-28,0.000000000000355,0.000000000000355,0.000000000000355,1.049997234780242,-0.000034365163649,1.049997234780247,-0.000034365163596,0.000000000084425,0.000034242948258,-99.999886471223803,0.000034242909382],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049997234780242,-0.000034365163649,1.049997234780242,-0.000034365163649,0.0,0.000003804758235,-99.999999991193192,0.000003804758234],[0.000000100999251,0.000000033196895,-0.000000100999251,-0.000000033196895,5.74419363647444e-18,4.39557160065778e-19,0.000000140524614,0.000000140524614,0.000000140524614,1.049997444839934,-0.000033838024371,1.049997444784683,-0.000033837282786,0.000033378767769,0.100172743587903,0.356558376823173,-0.000357174308556],[0.000000045999885,0.000000015119409,-0.000000045999885,-0.000000015119409,3.98519869609186e-17,3.04954691196455e-18,0.000000064001598,0.000000064001598,0.000000064001598,1.049997574698558,-0.000032760405909,1.049997573856936,-0.000032749109447,0.00001520227962,0.045610452430884,0.368549035239284,-0.000168096882402],[0.000000053999878,0.000000017748871,-0.000000053999878,-0.000000017748871,1.46238127378532e-16,1.11903971116379e-17,0.000000075132327,0.000000075132327,0.000000075132327,1.049997574698558,-0.000032760405909,1.049997572067735,-0.00003272509433,0.00001784615821,0.053542078696301,0.370255003328194,-0.000198242225259],[0.000000598998776,0.000000196880879,-0.000000598998773,-0.000000196880879,0.000000000000004,2.69496343542283e-16,0.000000833412674,0.000000833412674,0.000000833412674,1.049997233889348,-0.00003403917628,1.049997228177645,-0.000033962512374,0.000197960253354,0.593941656958223,0.436872632601252,-0.002594768552869],[0.000000356999225,0.000000000117419,-0.000000356999223,-0.000000000117419,0.000000000000002,1.32159654619818e-16,0.000000471873058,0.000000471873058,0.000000471873058,1.049997216270125,-0.000034433131006,1.049997210521741,-0.0000344542385,0.00011208386085,0.336292974018933,0.322701363542661,-0.001085222012657],[-0.000000000000298,0.000000000000015,0.000000000000298,-0.000000000000015,5.55358077275592e-28,9.78187522474055e-29,0.000000000000395,0.000000000000395,0.000000000000395,1.049997234780247,-0.000034365163596,1.049997234780248,-0.000034365163572,0.000000000093812,0.000026633417734,-99.999917361064732,0.000026633395725],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049997234780247,-0.000034365163596,1.049997234780247,-0.000034365163596,0.0,0.000003804737153,-99.999999964498428,0.000003804737152],[0.000000100998535,0.000000033196895,-0.000000100998535,-0.000000033196895,6.15444875052114e-18,4.70950318673391e-19,0.000000140523714,0.000000140523714,0.000000140523714,1.049997444784683,-0.000033837282786,1.049997444725487,-0.000033836488225,0.000033378554146,0.100169148495813,0.360160585471657,-0.000360769791684],[0.000000598998802,0.000000196880877,-0.000000598998799,-0.000000196880876,0.000000000000003,2.35701608301188e-16,0.000000833412711,0.000000833412711,0.000000833412711,1.049997228177645,-0.000033962512374,1.049997223182187,-0.000033895462103,0.000197960262072,0.593938064338437,0.437497389620688,-0.002598463527444],[0.000000356999215,0.000000000117425,-0.000000356999215,-0.000000000117425,2.53528872514033e-16,1.71439642232199e-17,0.000000471873049,0.000000471873049,0.000000471873049,1.049997210521741,-0.0000344542385,1.049997209776052,-0.000034456976597,0.000112083858508,0.33628919805743,0.32382782858261,-0.001088998007827],[-0.000000000000149,-0.000000000000007,0.000000000000149,0.000000000000007,1.0097419586829e-28,1.89326617253043e-29,0.000000000000197,0.000000000000197,0.000000000000197,1.049997234780248,-0.000034365163572,1.049997234780249,-0.000034365163567,0.000000000046906,0.000019023882526,-99.999767007049044,0.000019023838202],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049997234780248,-0.000034365163572,1.049997234780248,-0.000034365163572,0.0,0.000003804755892,-99.99999992954551,0.00000380475589],[0.000000100998296,0.000000033196865,-0.000000100998296,-0.000000033196865,4.92397457595666e-18,3.76790695185255e-19,0.000000140523402,0.000000140523402,0.000000140523402,1.049997444725487,-0.000033836488225,1.049997444678125,-0.000033835852517,0.000033378480013,0.100165553472569,0.363762840640954,-0.000364365062656],[0.000000598998844,0.000000196880876,-0.000000598998841,-0.000000196880876,0.000000000000003,2.47235497125272e-16,0.000000833412767,0.000000833412767,0.000000833412767,1.049997223182187,-0.000033895462103,1.049997217942281,-0.000033825130782,0.000197960275423,0.593934471826707,0.438121372327401,-0.002602153858693],[0.000000046999949,0.000000000015464,-0.000000046999949,-0.000000000015464,5.52333641292278e-18,3.73495133307835e-19,0.000000062123412,0.000000062123412,0.000000062123412,1.049997209776052,-0.000034456976597,1.049997209652656,-0.000034457429695,0.00001475615477,0.0442910529219,0.280783910371872,-0.000124362150339],[0.000000309999147,0.000000000101945,-0.000000309999146,-0.000000000101945,5.34609238642966e-16,3.61509802832084e-17,0.000000409749479,0.000000409749479,0.000000409749479,1.049997209776052,-0.000034456976597,1.049997207965238,-0.00003446362573,0.000097327666259,0.291994369175012,0.331654295012658,-0.000968411866564],[-0.000000000000179,-0.000000000000007,0.000000000000179,0.000000000000007,1.26217744835362e-28,1.57772181044202e-29,0.000000000000237,0.000000000000237,0.000000000000237,1.049997234780249,-0.000034365163567,1.04999723478025,-0.000034365163563,0.000000000056265,0.000011414352002,-99.999784532494246,0.000011414327408],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049997234780249,-0.000034365163567,1.049997234780249,-0.000034365163567,0.0,0.000003804812109,-99.999999655366651,0.000003804812096],[0.000000100999251,0.000000033196895,-0.000000100999251,-0.000000033196895,4.7810510009973e-18,3.65852058764854e-19,0.000000140524614,0.000000140524614,0.000000140524614,1.049997444678125,-0.000033835852517,1.049997444632139,-0.000033835235271,0.000033378767769,0.100161958250669,0.36736556769541,-0.000367960546542],[0.000000598998826,0.000000196880874,-0.00000059899882,-0.000000196880874,0.000000000000006,4.22150474181025e-16,0.000000833412748,0.000000833412748,0.000000833412748,1.049997217942281,-0.000033825130782,1.049997208995227,-0.000033705041208,0.00019796027079,0.593930879439219,0.438751704401043,-0.002605881856504],[0.000000046999949,0.00000000001546,-0.000000046999949,-0.00000000001546,5.11089092461404e-18,3.45604916573323e-19,0.000000062123412,0.000000062123412,0.000000062123412,1.049997209652656,-0.000034457429695,1.049997209538474,-0.000034457848959,0.000014756154769,0.044287277040491,0.289333695330897,-0.000128138015223],[0.000000309999176,0.000000000101946,-0.000000309999175,-0.000000000101946,0.000000000000001,8.460305040013e-17,0.000000409749518,0.000000409749518,0.000000409749518,1.049997207965238,-0.00003446362573,1.049997203727447,-0.00003447918649,0.000097327675629,0.291990593272143,0.332951750231345,-0.00097218779081],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.04999723478025,-0.000034365163563,1.04999723478025,-0.000034365163563,0.0,0.000003804746523,-99.999591629961188,0.000003804730985],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.04999723478025,-0.000034365163563,1.04999723478025,-0.000034365163563,0.0,0.000003804746523,-99.999591717527664,0.000003804730989],[0.000000100998296,0.000000033196865,-0.000000100998296,-0.000000033196865,4.76886166749072e-18,3.64932233923695e-19,0.000000140523402,0.000000140523402,0.000000140523402,1.049997444632139,-0.000033835235271,1.049997444586269,-0.000033834619591,0.000033378480013,0.100158363489654,0.370967451743877,-0.000371554928746],[0.000000598998806,0.000000196880872,-0.000000598998804,-0.000000196880872,0.000000000000001,1.03544430906359e-16,0.000000833412728,0.000000833412728,0.000000833412728,1.049997208995227,-0.000033705041208,1.049997206800707,-0.000033675585826,0.000197960266157,0.593927287241585,0.439377105239435,-0.002609580521909],[0.00000004699977,0.00000000001546,-0.00000004699977,-0.00000000001546,7.7715008212786e-18,5.25519540005788e-19,0.000000062123175,0.000000062123175,0.000000062123175,1.049997209538474,-0.000034457848959,1.049997209364851,-0.000034458486485,0.000014756098553,0.044283501118386,0.297884966122577,-0.000131913892304],[0.000000309999189,0.000000000101947,-0.000000309999187,-0.000000000101947,0.000000000000003,2.00703758078159e-16,0.000000409749538,0.000000409749538,0.000000409749538,1.049997203727447,-0.00003447918649,1.049997193674138,-0.00003451610127,0.000097327680313,0.291986817468281,0.33424921713253,-0.000975963651518],[0.000000100999729,0.000000033196985,-0.000000100999729,-0.000000033196985,4.71319572098835e-18,3.60663981962921e-19,0.00000014052525,0.00000014052525,0.00000014052525,1.049997444586269,-0.000033834619591,1.049997444540936,-0.000033834011115,0.000033378918962,0.100154768378881,0.374570811431218,-0.000375150528604],[0.000000055000105,0.000000018077532,-0.000000055000105,-0.000000018077532,1.25850037720676e-17,9.63026830191386e-19,0.000000076523972,0.000000076523972,0.000000076523972,1.049997206800707,-0.000033675585826,1.04999720657842,-0.000033672602254,0.000018176715337,0.054562267050808,0.381547261690484,-0.000208180835849],[0.000000543998639,0.000000178803372,-0.000000543998634,-0.000000178803371,0.000000000000005,4.99232378205298e-16,0.000000756888694,0.000000756888694,0.000000756888694,1.049997206800707,-0.000033675585826,1.049997198309989,-0.000033575881778,0.000179783536126,0.539361428887061,0.445914862845283,-0.002405092775862],[0.0000000469998,0.000000000015458,-0.0000000469998,-0.000000000015458,9.82106909072779e-18,6.64114323723295e-19,0.000000062123215,0.000000062123215,0.000000062123215,1.049997209364851,-0.000034458486485,1.049997209145439,-0.000034459292145,0.000014756107922,0.044279725196651,0.30643780864951,-0.000135689819569],[0.000000100999744,0.000000033196957,-0.000000100999744,-0.000000033196957,8.42815914317056e-17,6.44937503484325e-18,0.000000140525257,0.000000140525257,0.000000140525257,1.049997444540936,-0.000033834011115,1.049997443730281,-0.000033823130293,0.00003337892067,0.100151173539386,0.378174940023802,-0.000378746640466],[0.000000055000195,0.000000018077536,-0.000000055000195,-0.000000018077536,2.066361359373e-17,1.58121860662167e-18,0.000000076524086,0.000000076524086,0.000000076524086,1.04999720657842,-0.000033672602254,1.049997206213443,-0.000033667703474,0.000018176742406,0.054558674704003,0.388157715079013,-0.000211773705108],[0.000000543998649,0.000000178803371,-0.000000543998645,-0.000000178803371,0.000000000000004,4.2341615316246e-16,0.000000756888713,0.000000756888713,0.000000756888713,1.049997198309989,-0.000033575881778,1.049997191108717,-0.000033491319331,0.000179783540577,0.539357836912104,0.446609366349501,-0.00240882261779],[0.000000046999867,0.000000000015456,-0.000000046999867,-0.000000000015456,3.82333334684952e-17,2.58538894488587e-18,0.000000062123304,0.000000062123304,0.000000062123304,1.049997209145439,-0.000034459292145,1.049997208291271,-0.000034462428568,0.000014756129003,0.044275949291002,0.314992059624966,-0.00013946572459],[0.000000047999894,0.00000001577677,-0.000000047999894,-0.00000001577677,8.96306111110614e-17,6.85869047171409e-18,0.0000000667843,0.0000000667843,0.0000000667843,1.049997443730281,-0.000033823130293,1.049997441916271,-0.000033798782186,0.000015863254108,0.047596954127241,0.377724221891667,-0.000179785224621],[0.000000052999879,0.000000017420184,-0.000000052999879,-0.000000017420184,6.11338022572462e-17,4.67806039728954e-18,0.000000073740993,0.000000073740993,0.000000073740993,1.049997443730281,-0.000033823130293,1.049997442609734,-0.000033808090019,0.000017515675234,0.052550624457087,0.385456935153377,-0.000202560026436],[0.000000055000255,0.000000018077536,-0.000000055000255,-0.000000018077536,4.08565680363622e-18,3.12641184320542e-19,0.000000076524161,0.000000076524161,0.000000076524161,1.049997206213443,-0.000033667703474,1.049997206141279,-0.000033666734878,0.000018176760208,0.054555082371357,0.394768743500199,-0.000215366413193],[0.000000543998608,0.00000017880337,-0.000000543998601,-0.000000178803369,0.000000000000007,7.11675705854524e-16,0.000000756888665,0.000000756888665,0.000000756888665,1.049997191108717,-0.000033491319331,1.049997179004859,-0.000033349187218,0.000179783529359,0.5393542450951,0.447309736616891,-0.002412584053167],[0.000000046999886,0.000000000015457,-0.000000046999886,-0.000000000015457,6.94534326570718e-17,4.69653325322302e-18,0.000000062123328,0.000000062123328,0.000000062123328,1.049997208291271,-0.000034462428568,1.049997206739618,-0.000034468126088,0.000014756134859,0.044272173385831,0.323547769769774,-0.000143241629618],[0.000000047999894,0.000000015776771,-0.000000047999894,-0.000000015776771,5.9524969053055e-17,4.55494945236205e-18,0.000000066784301,0.000000066784301,0.000000066784301,1.049997441916271,-0.000033798782186,1.049997440711561,-0.000033782612257,0.000015863254154,0.047593359202853,0.385311029409054,-0.000183382462275],[0.000000055000255,0.000000018077551,-0.000000055000255,-0.000000018077551,3.45228791732681e-18,2.64171709147385e-19,0.000000076524167,0.000000076524167,0.000000076524167,1.049997206141279,-0.000033666734878,1.049997206080302,-0.000033665916434,0.00001817676167,0.054551490043097,0.401380179863249,-0.000218958868853],[0.000000055000135,0.000000018077536,-0.000000055000135,-0.000000018077536,2.9092273015735e-18,2.22617463895171e-19,0.000000076524011,0.000000076524011,0.000000076524011,1.049997206080302,-0.000033665916434,1.049997206028917,-0.000033665226735,0.000018176724604,0.054547897810201,0.407992382806316,-0.000222551268047],[0.000000054999538,0.000000018077536,-0.000000054999538,-0.000000018077536,3.784357919875e-18,2.89592623732365e-19,0.000000076523262,0.000000076523262,0.000000076523262,1.049997206028917,-0.000033665226735,1.049997205962074,-0.000033664329549,0.000018176546584,0.054544305513353,0.414605323294136,-0.000226143594212],[0.000000054999717,0.000000018077536,-0.000000054999717,-0.000000018077536,6.84911502894317e-18,5.24104944836049e-19,0.000000076523487,0.000000076523487,0.000000076523487,1.049997205962074,-0.000033664329549,1.049997205841098,-0.000033662705783,0.00001817659999,0.054540713392921,0.421219019440886,-0.00022973585815],[0.000000054999897,0.000000018077547,-0.000000054999897,-0.000000018077547,1.18751901622685e-17,9.08710842448704e-19,0.000000076523716,0.000000076523716,0.000000076523716,1.049997205841098,-0.000033662705783,1.049997205631348,-0.000033659890463,0.000018176654493,0.054537121150996,0.427834067898189,-0.000233328383935],[0.000000054999859,0.000000018077543,-0.000000054999859,-0.000000018077543,9.72702196380297e-17,7.44328548038491e-18,0.000000076523668,0.000000076523668,0.000000076523668,1.049997205631348,-0.000033659890463,1.049997203913274,-0.000033636830031,0.000018176642955,0.054533529002585,0.434452416345837,-0.00023692223447]]}", + "orient": "split", "dtype": { "p_from_mw": "float64", "q_from_mvar": "float64", @@ -1411,13 +1437,13 @@ "loading_pf_percent": "float64", "diff_pp2pf_percent": "float64", "diff_pp2pf": "float64" - }, - "orient": "split" + } }, "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\"],\"index\":[0],\"data\":[[0.000009698012486,0.000001221062341,-0.000009698012053,-0.000001221058008,0.000000000000433,0.000000000004333,0.000000488602372,0.000012919773992,1.049999952316284,0.0,1.04999984798954,-0.00002488250018,0.001163640665472]]}", + "orient": "split", "dtype": { "p_hv_mw": "float64", "q_hv_mvar": "float64", @@ -1432,13 +1458,13 @@ "vm_lv_pu": "float64", "va_lv_degree": "float64", "loading_percent": "float64" - }, - "orient": "split" + } }, "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", @@ -1460,13 +1486,13 @@ "va_internal_degree": "float64", "vm_internal_pu": "float64", "loading_percent": "float64" - }, - "orient": "split" + } }, "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", @@ -1476,100 +1502,110 @@ "ql_mvar": "float64", "i_from_ka": "float64", "i_to_ka": "float64" - }, - "orient": "split" + } }, "res_ext_grid": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"p_mw\",\"q_mvar\"],\"index\":[0],\"data\":[[0.000009698012486,0.000001221062342]]}", + "orient": "split", "dtype": { "p_mw": "float64", "q_mvar": "float64" - }, - "orient": "split" + } }, "res_load": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"p_mw\",\"q_mvar\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "p_mw": "float64", "q_mvar": "float64" - }, - "orient": "split" + } + }, + "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" + } }, "res_sgen": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"p_mw\",\"q_mvar\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "p_mw": "float64", "q_mvar": "float64" - }, - "orient": "split" + } }, "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" - }, - "orient": "split" + } }, "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" - }, - "orient": "split" + } }, "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" - }, - "orient": "split" + } }, "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" - }, - "orient": "split" + } }, "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" - }, - "orient": "split" + } }, "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", @@ -1580,24 +1616,174 @@ "va_from_degree": "float64", "vm_to_pu": "float64", "va_to_degree": "float64" - }, - "orient": "split" + } }, - "user_pf_options": {}, - "res_switch": { + "res_asymmetric_load": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"pf_closed\",\"pf_in_service\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"p_mw\",\"q_mvar\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { - "pf_closed": "bool", - "pf_in_service": "bool" - }, + "p_mw": "float64", + "q_mvar": "float64" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_bus_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_line_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo3w_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_ext_grid_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_gen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_sgen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", "orient": "split" }, "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\",\"unbalance_percent\"],\"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,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906],\"data\":[[1.049999937632857,-0.000004112314013,1.049999894392519,-119.999997249951477,1.05000002492348,120.000001362265493,0.003483667674209,0.000433365560232,0.003099199961364,0.000610081770509,0.003138393733351,0.000188765175452,0.000007312306052],[1.049822237940692,-30.027684638282384,1.049915255469136,-150.026380351268671,1.049947760769763,89.979237107182655,0.0,0.0,0.0,0.0,0.0,0.0,0.003347999771193],[1.049785799828258,-30.026583291875351,1.049874933761214,-150.027271872646935,1.049944338144961,89.978886229310717,0.0,0.0,0.0,0.0,0.0,0.0,0.003401597963903],[1.049781979821521,-30.026467826621019,1.049870706605854,-150.027365340209059,1.049943979331948,89.978849444521472,0.0,0.0,0.0,0.0,0.0,0.0,0.003407785279343],[1.049778401078564,-30.026359653039716,1.049866746427212,-150.027452905326243,1.049943643180738,89.978814982925087,0.0,0.0,0.0,0.0,0.0,0.0,0.003413677716852],[1.049775280931385,-30.026265340603434,1.049863293721819,-150.027529250077549,1.049943350105343,89.97878493734197,0.0,0.0,0.0,0.0,0.0,0.0,0.003418890392139],[1.049770365479779,-30.026116760339825,1.049857854358433,-150.027649524062355,1.049942888396885,89.97873760371472,0.0,0.0,0.0,0.0,0.0,0.0,0.003427243926349],[1.049435661581238,-30.015995844638308,1.049487468719694,-150.03584256973275,1.049911449265826,89.975514300350014,0.0,0.0,0.0,0.0,0.0,0.0,0.00433025139925],[1.049420671443767,-30.015542393203468,1.04947088018731,-150.036209659085785,1.049910041206659,89.975369928974743,0.0,0.0,0.0,0.0,0.0,0.0,0.004382733570945],[1.049408194919338,-30.015164967183487,1.049457073271514,-150.036515203296034,1.049908869255955,89.975249765672658,0.0,0.0,0.0,0.0,0.0,0.0,0.004427001426706],[1.049397245810114,-30.014833738349655,1.049444956624808,-150.036783349338606,1.049907840778249,89.975144312567835,0.0,0.0,0.0,0.0,0.0,0.0,0.004466275244284],[1.049389075726685,-30.014586574515327,1.049435915329811,-150.036983441015906,1.049907073340978,89.975065624479953,0.0,0.0,0.0,0.0,0.0,0.0,0.004495833415804],[1.049381406045806,-30.014354544988933,1.049427427789514,-150.037171281004959,1.049906352907409,89.974991755622142,0.0,0.0,0.0,0.0,0.0,0.0,0.004523773437489],[1.049376689900613,-30.014211866332168,1.04942220873251,-150.037286786955917,1.04990590990712,89.974946332968827,0.0,0.0,0.0,0.0,0.0,0.0,0.004541044883232],[1.04936494883963,-30.013856654839007,1.049409215636725,-150.037574350008015,1.049904807036807,89.97483325074846,0.0,0.0,0.0,0.0,0.0,0.0,0.004584337898504],[1.049269837863468,-30.01097885168851,1.049303961619287,-150.039904113741216,1.049895872965115,89.973917181419409,0.0,0.0,0.0,0.0,0.0,0.0,0.004949247392165],[1.049269837863467,-30.01097885168862,1.049303961619286,-150.039904113741329,1.049895872965115,89.973917181419324,0.0,0.0,0.0,0.0,0.0,0.0,0.004949247392165],[1.049154502977228,-30.007488323459359,1.049176325337653,-150.04272997771406,1.049885039115105,89.972806269791818,0.0,0.0,0.0,0.0,0.0,0.0,0.005420264751789],[1.049269837863467,-30.010978851688659,1.049303961619286,-150.039904113741358,1.049895872965114,89.973917181419267,0.0,0.0,0.0,0.0,0.0,0.0,0.004949247392165],[1.049146567371902,-30.007248125610296,1.049167543271954,-150.042924439675261,1.049884293689784,89.972729831450835,0.0,0.0,0.0,0.0,0.0,0.0,0.00545363763213],[1.049269837863467,-30.010978851688705,1.049303961619286,-150.039904113741414,1.049895872965115,89.973917181419239,0.0,0.0,0.0,0.0,0.0,0.0,0.004949247392165],[1.049137656634586,-30.006978407130884,1.049157682050865,-150.043142801640784,1.049883456665633,89.972643999985991,0.0,0.0,0.0,0.0,0.0,0.0,0.005491244697376],[1.049269837863467,-30.010978851688758,1.049303961619286,-150.039904113741471,1.049895872965115,89.973917181419182,0.0,0.0,0.0,0.0,0.0,0.0,0.004949247392165],[1.049123148199242,-30.006539241067696,1.049141626018474,-150.043498347888885,1.049882093824295,89.972504248700048,0.0,0.0,0.0,0.0,0.0,0.0,0.005552770985892],[1.049269837863468,-30.010978851688808,1.049303961619287,-150.0399041137415,1.049895872965115,89.973917181419125,0.0,0.0,0.0,0.0,0.0,0.0,0.004949247392165],[1.049096753995556,-30.005740260529212,1.049112416306625,-150.044145200502584,1.049879614496599,89.972250006344453,0.0,0.0,0.0,0.0,0.0,0.0,0.00566560279842],[1.049269837863468,-30.010978851688858,1.049303961619287,-150.039904113741557,1.049895872965116,89.973917181419068,0.0,0.0,0.0,0.0,0.0,0.0,0.004949247392165],[1.049033743832614,-30.004889120321355,1.049112605974875,-150.044194625547846,1.049880303670299,89.972283651268412,0.0,0.0,0.0,0.0,0.0,0.0,0.007090351648765],[1.048839297679799,-29.996637976868225,1.048739242808598,-150.050490514776897,1.049824157994016,89.967845548191008,0.0,0.0,0.0,0.0,0.0,0.0,0.006183538667078],[1.049269837863468,-30.010978851688918,1.049303961619287,-150.039904113741613,1.049895872965116,89.973917181419012,0.0,0.0,0.0,0.0,0.0,0.0,0.004949247392165],[1.049032586825228,-30.004873490971949,1.049112609456561,-150.044195533100066,1.049880316323819,89.972284269068041,0.0,0.0,0.0,0.0,0.0,0.0,0.007119274800588],[1.049017961078219,-30.00467591028065,1.049112653476839,-150.044207005533508,1.049880476288513,89.972292078636727,0.0,0.0,0.0,0.0,0.0,0.0,0.007491302417765],[1.048770763038605,-29.99421405104243,1.048639900118841,-150.052180499598279,1.049809395499092,89.966672932876818,0.0,0.0,0.0,0.0,0.0,0.0,0.006321460243479],[1.049269837863469,-30.010978851689067,1.049303961619288,-150.039904113741756,1.049895872965116,89.973917181418855,0.0,0.0,0.0,0.0,0.0,0.0,0.004949247392165],[1.049029937196851,-30.004837698528302,1.049112617429813,-150.04419761145877,1.04988034530122,89.972285683872698,-0.000036000001273,-0.000011832627933,0.0,0.0,0.0,0.0,0.007185802756623],[1.049017426594085,-30.004668689791906,1.04911265508545,-150.044207424782769,1.049880482134196,89.972292364030238,0.0,0.0,0.0,0.0,0.0,0.0,0.00750511042754],[1.048771628412344,-29.994132467817522,1.048519076394807,-150.052674518093426,1.049810257074052,89.966591309932809,0.0,0.0,0.0,0.0,0.0,0.0,0.007617676045791],[1.048538356575462,-29.989320383286678,1.048455470573938,-150.056701000388642,1.049738683780158,89.965533785018522,0.0,0.0,0.0,0.0,0.0,0.0,0.00706197882924],[1.049269837863469,-30.01097885168922,1.049303961619288,-150.039904113741898,1.049895872965117,89.973917181418713,0.0,0.0,0.0,0.0,0.0,0.0,0.004949247392165],[1.049016658102591,-30.004658308022105,1.049112657398337,-150.044208027587416,1.049880490539226,89.972292774374452,0.0,0.0,0.0,0.0,0.0,0.0,0.007524988695047],[1.048771631285298,-29.994132196941802,1.048518675243089,-150.052676159487618,1.04981025993484,89.966591038939555,0.0,0.0,0.0,0.0,0.0,0.0,0.007624759458775],[1.048771888403861,-29.994107957273609,1.048482776511127,-150.052822957210452,1.049810515922257,89.966566787390576,0.0,0.0,0.0,0.0,0.0,0.0,0.008311776332706],[1.048377086142223,-29.98592322824561,1.048327492271027,-150.059838862279122,1.049689614492841,89.964743201817854,0.0,0.0,0.0,0.0,0.0,0.0,0.007876971547484],[1.048538356575462,-29.989320383286643,1.048455470573938,-150.056701000388586,1.049738683780158,89.96553378501855,0.0,0.0,0.0,0.0,0.0,0.0,0.00706197882924],[1.049269837863469,-30.010978851689252,1.049303961619288,-150.039904113741954,1.049895872965117,89.973917181418685,0.0,0.0,0.0,0.0,0.0,0.0,0.004949247392165],[1.049015672564744,-30.004644994088668,1.049112660364446,-150.04420880064319,1.049880501318094,89.972293300612904,0.0,0.0,0.0,0.0,0.0,0.0,0.007550523774841],[1.048771632580224,-29.994132074849997,1.048518494432006,-150.052676899313497,1.049810261224283,89.966590916794814,0.0,0.0,0.0,0.0,0.0,0.0,0.007627956821125],[1.04877251399343,-29.994048980313057,1.048395432145353,-150.053180171961031,1.049811138760802,89.966507781559315,0.0,0.0,-0.00104200001806,-0.000000342488846,0.0,0.0,0.010312550097102],[1.048255223301556,-29.983355451150825,1.048230786500533,-150.062210517727976,1.049652534914298,89.964145743026606,0.0,0.0,0.0,0.0,0.0,0.0,0.008609769940583],[1.048538356575462,-29.989320383286596,1.048455470573937,-150.056701000388557,1.049738683780157,89.965533785018593,0.0,0.0,0.0,0.0,0.0,0.0,0.00706197882924],[1.049269837863469,-30.010978851689281,1.049303961619288,-150.039904113741983,1.049895872965117,89.973917181418656,0.0,0.0,0.0,0.0,0.0,0.0,0.004949247392165],[1.049013272336384,-30.004612568559416,1.049112667588216,-150.044210683382261,1.049880527569448,89.97229458224048,0.0,0.0,0.0,0.0,0.0,0.0,0.007612910437761],[1.048771633952568,-29.994131945458832,1.048518302810964,-150.052677683370831,1.049810262590816,89.966590787347499,0.0,0.0,0.0,0.0,0.0,0.0,0.007631348492983],[1.048237653297417,-29.982985180190816,1.0482168436135,-150.062552498758066,1.049647188783995,89.964059598020185,0.0,0.0,0.0,0.0,0.0,0.0,0.008722081329584],[1.048255223301555,-29.983355451151024,1.048230786500533,-150.062210517728175,1.049652534914298,89.964145743026421,0.0,0.0,0.0,0.0,0.0,0.0,0.008609769940583],[1.048538356575461,-29.989320383286596,1.048455470573936,-150.056701000388557,1.049738683780157,89.965533785018593,0.0,0.0,0.0,0.0,0.0,0.0,0.00706197882924],[1.049269837863469,-30.010978851689316,1.049303961619288,-150.039904113742011,1.049895872965117,89.973917181418614,0.0,0.0,0.0,0.0,0.0,0.0,0.004949247392165],[1.049011217302897,-30.004584806268326,1.049112673773032,-150.044212295350633,1.049880550045349,89.972295679547628,0.0,0.0,0.0,0.0,0.0,0.0,0.00766654293253],[1.048771635259631,-29.99413182222267,1.048518120305183,-150.052678430131408,1.049810263892344,89.966590664057918,0.0,0.0,0.0,0.0,0.0,0.0,0.00763458183778],[1.048158066332905,-29.981307795126153,1.048153686450474,-150.064101696427997,1.049622972219427,89.963669372895922,0.0,0.0,0.0,0.0,0.0,0.0,0.009248691810702],[1.048255223301556,-29.983355451151027,1.048230786500533,-150.062210517728175,1.049652534914298,89.964145743026407,0.0,0.0,0.0,0.0,0.0,0.0,0.008609769940583],[1.048538356575461,-29.989320383286582,1.048455470573936,-150.056701000388557,1.049738683780156,89.965533785018607,0.0,0.0,0.0,0.0,0.0,0.0,0.00706197882924],[1.049269837863469,-30.010978851689348,1.049303961619288,-150.039904113742068,1.049895872965117,89.973917181418585,0.0,0.0,0.0,0.0,0.0,0.0,0.004949247392165],[1.04900136621197,-30.004451722288614,1.049112703420183,-150.044220022548785,1.049880657786117,89.97230093964393,0.0,0.0,0.0,0.0,0.0,0.0,0.007926300100283],[1.048771636042433,-29.994131748416407,1.048518011002272,-150.052678877367299,1.049810264671831,89.966590590219653,0.0,0.0,0.0,0.0,0.0,0.0,0.007636519696946],[1.048144893977228,-29.98100426095889,1.048140552765699,-150.064344255816678,1.04961704850817,89.963540007312972,0.0,0.0,0.0,0.0,0.0,0.0,0.009304855799382],[1.048093539099398,-29.980434830895628,1.048153881237754,-150.064152353313574,1.049623677704142,89.963703853652987,0.0,0.0,0.0,0.0,0.0,0.0,0.011264737791275],[1.048255223301556,-29.983355451151041,1.048230786500533,-150.062210517728204,1.049652534914298,89.964145743026407,0.0,0.0,0.0,0.0,0.0,0.0,0.008609769940583],[1.048538356575461,-29.989320383286579,1.048455470573936,-150.056701000388529,1.049738683780156,89.965533785018607,0.0,0.0,0.0,0.0,0.0,0.0,0.00706197882924],[1.049269837863469,-30.010978851689377,1.049303961619288,-150.039904113742097,1.049895872965117,89.973917181418542,0.0,0.0,0.0,0.0,0.0,0.0,0.004949247392165],[1.04896654601932,-30.003981296011347,1.049112808204234,-150.044247335543673,1.049881038604252,89.972319532270788,-0.000503999995999,-0.000165656791069,0.0,0.0,0.0,0.0,0.008874792060589],[1.048771637578232,-29.994131603613926,1.048517796557986,-150.052679754811493,1.049810266201127,89.966590445354413,0.0,0.0,0.0,0.0,0.0,0.0,0.007640324689931],[1.047989269480054,-29.977417537937384,1.047985384346179,-150.067210466821791,1.049547062278733,89.962011489522922,0.0,0.0,0.0,0.0,0.0,0.0,0.010026815939781],[1.048089706415569,-29.980382977067198,1.048153892805251,-150.064155362150018,1.049623719605003,89.963705901689963,-0.000048000001698,-0.000015776837245,0.0,0.0,0.0,0.0,0.011385247329931],[1.04806583138535,-29.980059949491182,1.048153964865629,-150.06417410521118,1.049623980623872,89.963718659550068,-0.000346999993781,-0.000114053385914,0.0,0.0,0.0,0.0,0.01213741083337],[1.048255223301556,-29.983355451151056,1.048230786500534,-150.062210517728232,1.049652534914298,89.964145743026378,0.0,0.0,0.0,0.0,0.0,0.0,0.008609769940583],[1.04853835657546,-29.989320383286561,1.048455470573935,-150.056701000388529,1.049738683780155,89.96553378501865,0.0,0.0,0.0,0.0,0.0,0.0,0.00706197882924],[1.049269837863468,-30.010978851689547,1.049303961619287,-150.039904113742239,1.049895872965116,89.973917181418386,0.0,0.0,0.0,0.0,0.0,0.0,0.004949247392165],[1.048771645361721,-29.994130869749419,1.048516709746129,-150.052684201737804,1.049810273951658,89.966589711171821,0.0,0.0,0.0,0.0,0.0,0.0,0.007659670579472],[1.047935023670859,-29.976167047861363,1.047931297165035,-150.068209754051537,1.049522666984886,89.961478639452849,0.0,0.0,0.0,0.0,0.0,0.0,0.010301229213837],[1.048255223301557,-29.983355451151059,1.048230786500534,-150.062210517728232,1.049652534914299,89.964145743026378,0.0,0.0,0.0,0.0,0.0,0.0,0.008609769940583],[1.048538356575457,-29.989320383286508,1.048455470573932,-150.056701000388472,1.049738683780153,89.965533785018678,0.0,0.0,0.0,0.0,0.0,0.0,0.00706197882924],[1.049269837863467,-30.01097885168975,1.049303961619286,-150.039904113742466,1.049895872965115,89.973917181418187,0.0,0.0,0.0,0.0,0.0,0.0,0.004949247392165],[1.048771674691647,-29.994128104384416,1.048512614396894,-150.052700958829973,1.049810303157388,89.966586944608309,0.0,0.0,-0.000051999999414,-0.000000017091573,0.0,0.0,0.007733489591531],[1.047923185519092,-29.975894132727831,1.047919493607125,-150.068427844996393,1.049517343139783,89.961362350805644,0.0,0.0,0.0,0.0,0.0,0.0,0.010362515341563],[1.048255223301557,-29.983355451151056,1.048230786500534,-150.062210517728204,1.049652534914299,89.964145743026378,0.0,0.0,0.0,0.0,0.0,0.0,0.008609769940583],[1.048538356575452,-29.98932038328638,1.048455470573927,-150.05670100038833,1.049738683780147,89.965533785018806,0.0,0.0,0.0,0.0,0.0,0.0,0.00706197882924],[1.049269837863466,-30.010978851689877,1.049303961619285,-150.03990411374258,1.049895872965114,89.973917181418059,0.0,0.0,0.0,0.0,0.0,0.0,0.004949247392165],[1.04789917968073,-29.975340684909536,1.047895557893274,-150.068870114155658,1.049506547229212,89.961126532127423,0.0,0.0,0.0,0.0,0.0,0.0,0.010488266233433],[1.048255223301557,-29.983355451151056,1.048230786500534,-150.062210517728204,1.049652534914299,89.964145743026378,0.0,0.0,0.0,0.0,0.0,0.0,0.008609769940583],[1.048538356575451,-29.989320383286362,1.048455470573926,-150.05670100038833,1.049738683780146,89.96553378501882,0.0,0.0,0.0,0.0,0.0,0.0,0.00706197882924],[1.049269837863466,-30.010978851689924,1.049303961619285,-150.039904113742608,1.049895872965114,89.973917181418002,0.0,0.0,0.0,0.0,0.0,0.0,0.004949247392165],[1.047876541140525,-29.97481873460422,1.047872985451372,-150.069287213090547,1.049496366193006,89.960904139680352,0.0,0.0,0.0,0.0,0.0,0.0,0.010608609990091],[1.04853835657545,-29.989320383286348,1.048455470573926,-150.05670100038833,1.049738683780146,89.965533785018849,0.0,0.0,0.0,0.0,0.0,0.0,0.00706197882924],[1.049269837863466,-30.010978851689934,1.049303961619285,-150.039904113742665,1.049895872965114,89.973917181418002,0.0,0.0,0.0,0.0,0.0,0.0,0.004949247392165],[1.047863382810319,-29.974515347173284,1.047859865525532,-150.069529654873946,1.049490448598048,89.960774874875867,0.0,0.0,0.0,0.0,0.0,0.0,0.010679317918566],[1.04853835657545,-29.989320383286366,1.048455470573925,-150.05670100038833,1.049738683780145,89.96553378501882,0.0,0.0,0.0,0.0,0.0,0.0,0.00706197882924],[1.049269837863466,-30.010978851689934,1.049303961619285,-150.039904113742665,1.049895872965114,89.973917181418002,0.0,0.0,0.0,0.0,0.0,0.0,0.004949247392165],[1.047854692730516,-29.974314978245275,1.047851200803124,-150.069689772903274,1.049486540470186,89.960689504322133,0.0,0.0,0.0,0.0,0.0,0.0,0.010726314652886],[1.04853835657545,-29.989320383286366,1.048455470573926,-150.05670100038833,1.049738683780146,89.96553378501882,0.0,0.0,0.0,0.0,0.0,0.0,0.00706197882924],[1.049269837863466,-30.010978851689934,1.049303961619285,-150.039904113742665,1.049895872965114,89.973917181418002,0.0,0.0,0.0,0.0,0.0,0.0,0.004949247392165],[1.047842694173485,-29.974038319173161,1.047839237249972,-150.069910855600796,1.049481144437956,89.960571630350003,0.0,0.0,0.0,0.0,0.0,0.0,0.010791588913938],[1.048538356575443,-29.989320383287008,1.048455470573918,-150.056701000388983,1.049738683780139,89.965533785018167,0.0,0.0,0.0,0.0,0.0,0.0,0.007061978829241],[1.049269837863466,-30.010978851689934,1.049303961619285,-150.039904113742665,1.049895872965114,89.973917181418002,0.0,0.0,0.0,0.0,0.0,0.0,0.004949247392165],[1.047842668434935,-29.974054084950318,1.047839312118732,-150.069901347972632,1.04948044060065,89.960554162143524,0.0,0.0,0.0,0.0,0.0,0.0,0.010798214209106],[1.047834876534539,-29.973791713368506,1.047830938554795,-150.070118433142113,1.049481561979585,89.960510654462155,0.0,0.0,0.0,0.0,0.0,0.0,0.010837895882647],[1.048538356575443,-29.989320383287023,1.048455470573918,-150.056701000388983,1.049738683780138,89.965533785018167,0.0,0.0,0.0,0.0,0.0,0.0,0.007061978829241],[1.047842637294945,-29.974073159366988,1.047839402699641,-150.069889845055798,1.049479589054728,89.960533027991929,0.0,0.0,0.0,0.0,0.0,0.0,0.010806253248599],[1.047830443553956,-29.973651874013253,1.04782623278896,-150.070236141362841,1.049481798746677,89.96047607813135,0.0,0.0,0.0,0.0,0.0,0.0,0.010864182789824],[1.048538356575442,-29.989320383287065,1.048455470573917,-150.05670100038904,1.049738683780137,89.965533785018124,0.0,0.0,0.0,0.0,0.0,0.0,0.007061978829241],[1.04784260120162,-29.974095267977749,1.047839507689428,-150.069876512357268,1.049478602052446,89.960508531959974,0.0,0.0,0.0,0.0,0.0,0.0,0.010815602984157],[1.047655534803106,-29.96813324151438,1.047640559207173,-150.074881437937961,1.049491141107812,89.959111800693378,0.0,0.0,0.0,0.0,0.0,0.0,0.011916358234271],[1.048538356575425,-29.989320383288245,1.048455470573901,-150.056701000390206,1.049738683780121,89.965533785016944,0.0,0.0,0.0,0.0,0.0,0.0,0.007061978829241],[1.047842546170303,-29.974128977053635,1.047839667767813,-150.069856183952254,1.049477097167124,89.960471182689261,0.0,0.0,0.0,0.0,0.0,0.0,0.010829924318196],[1.047638013274598,-29.967580293144547,1.047621959120826,-150.075346886271859,1.04949207702654,89.958975131124561,0.0,0.0,0.0,0.0,0.0,0.0,0.012023214930561],[1.04853835657541,-29.989320383289272,1.048455470573886,-150.056701000391229,1.049738683780106,89.965533785015936,0.0,0.0,0.0,0.0,0.0,0.0,0.007061978829241],[1.047842475420619,-29.974172314641667,1.047839873570448,-150.069830049043389,1.049475162433862,89.960423164985542,0.0,0.0,0.0,0.0,0.0,0.0,0.010848452578796],[1.047637433784304,-29.967582727149232,1.047621769375829,-150.07536423963748,1.049492079068663,89.958972804520187,0.0,0.0,0.0,0.0,0.0,0.0,0.012030958795812],[1.047589165452244,-29.966175422883321,1.04756758924113,-150.07689674952428,1.049496158971646,89.958409348471648,0.0,0.0,0.0,0.0,0.0,0.0,0.012266890381518],[1.048538356575409,-29.98932038328935,1.048455470573884,-150.056701000391314,1.049738683780104,89.965533785015836,0.0,0.0,0.0,0.0,0.0,0.0,0.007061978829241],[1.047842424629474,-29.974203426891592,1.047840021317202,-150.069811286682921,1.049473773480739,89.960388692754307,0.0,0.0,0.0,0.0,0.0,0.0,0.010861834396814],[1.047637433784304,-29.967582727149232,1.047621769375829,-150.07536423963748,1.049492079068663,89.958972804520187,0.0,0.0,0.0,0.0,0.0,0.0,0.012030958795812],[1.04763715163398,-29.96758391225239,1.04762167699017,-150.075372688888649,1.04949208006296,89.958971671710557,0.0,0.0,0.0,0.0,0.0,0.0,0.012034729332575],[1.047501076277012,-29.963641590558677,1.047469542097871,-150.079692133461776,1.049503520428049,89.957389043983653,0.0,0.0,0.0,0.0,0.0,0.0,0.012714572229639],[1.048538356575408,-29.989320383289432,1.048455470573883,-150.056701000391399,1.049738683780103,89.965533785015751,0.0,0.0,0.0,0.0,0.0,0.0,0.007061978829241],[1.047842352862483,-29.974247388275465,1.047840230082457,-150.069784775615545,1.049471810900903,89.960339983591254,0.0,0.0,0.0,0.0,0.0,0.0,0.010880856682185],[1.047637433784304,-29.967582727149232,1.047621769375829,-150.075364239637508,1.049492079068663,89.958972804520187,0.0,0.0,0.0,0.0,0.0,0.0,0.012030958795812],[1.047635826186283,-29.967589479478448,1.04762124299359,-150.075412380659742,1.049492084733829,89.958966350150561,0.0,0.0,0.0,0.0,0.0,0.0,0.012052442886618],[1.047461463247479,-29.962501988122408,1.047425451118496,-150.080949387270891,1.049506830955626,89.956930218052904,0.0,0.0,0.0,0.0,0.0,0.0,0.012919114182803],[1.048538356575407,-29.989320383289481,1.048455470573882,-150.056701000391456,1.049738683780103,89.965533785015708,0.0,0.0,0.0,0.0,0.0,0.0,0.007061978829241],[1.047842275216448,-29.97429495133828,1.047840455951696,-150.069756092558919,1.0494696875315,89.960287283574416,0.0,0.0,0.0,0.0,0.0,0.0,0.010901586899057],[1.047637433784304,-29.967582727149232,1.047621769375829,-150.075364239637508,1.049492079068663,89.958972804520187,0.0,0.0,0.0,0.0,0.0,0.0,0.012030958795812],[1.047619943564282,-29.967374436164743,1.047621291017329,-150.075424854970237,1.049492258344451,89.958974840604171,0.0,0.0,0.0,0.0,0.0,0.0,0.012560394435193],[1.047636775522037,-29.967583710885112,1.047619523265369,-150.075418096676003,1.049490647483624,89.958874848313684,0.0,0.0,0.0,0.0,0.0,0.0,0.012017909177569],[1.047449677358801,-29.962162908422592,1.047412332933964,-150.081323475286638,1.049507815938575,89.956793705277718,0.0,0.0,0.0,0.0,0.0,0.0,0.012980335479351],[1.048538356575404,-29.98932038328963,1.048455470573879,-150.056701000391598,1.049738683780099,89.965533785015566,0.0,0.0,0.0,0.0,0.0,0.0,0.007061978829241],[1.047842201990644,-29.97433980714024,1.047840668964798,-150.069729042139869,1.049467685024098,89.960237583022504,0.0,0.0,0.0,0.0,0.0,0.0,0.01092127872925],[1.047637433784304,-29.967582727149232,1.047621769375829,-150.07536423963748,1.049492079068663,89.958972804520187,0.0,0.0,0.0,0.0,0.0,0.0,0.012030958795812],[1.047618575760645,-29.967355916427298,1.047621295152984,-150.075425929252191,1.04949227329559,89.958975571797993,0.0,0.0,0.0,0.0,0.0,0.0,0.012604158241644],[1.047637481777475,-29.96757941936448,1.047618243878818,-150.075422349100961,1.04948957824746,89.958806775639104,0.0,0.0,0.0,0.0,0.0,0.0,0.011992258614992],[1.047436373464648,-29.961780145358727,1.047397525150946,-150.081745757905566,1.04950892779494,89.956639609669438,0.0,0.0,0.0,0.0,0.0,0.0,0.013049637904397],[1.048538356575402,-29.989320383289762,1.048455470573877,-150.056701000391712,1.049738683780097,89.965533785015424,0.0,0.0,0.0,0.0,0.0,0.0,0.007061978829241],[1.04784208159712,-29.97441355724936,1.047841019192818,-150.069684566958671,1.049464392584116,89.960155866972826,0.0,0.0,0.0,0.0,0.0,0.0,0.01095395196288],[1.047637433784304,-29.967582727149232,1.047621769375829,-150.07536423963748,1.049492079068663,89.958972804520187,0.0,0.0,0.0,0.0,0.0,0.0,0.012030958795812],[1.047617233685528,-29.96733774499976,1.047621299210826,-150.075426983326878,1.049492287965477,89.958976289238009,0.0,0.0,0.0,0.0,0.0,0.0,0.012647101678654],[1.047637954739301,-29.967576545442384,1.047617387105245,-150.075425196850802,1.049488862207236,89.958761188972659,0.0,0.0,0.0,0.0,0.0,0.0,0.011975100598267],[1.047423861436033,-29.96142015481103,1.047383598751562,-150.082142917898466,1.049509973480869,89.956494685859042,0.0,0.0,0.0,0.0,0.0,0.0,0.013115002140509],[1.048538356575401,-29.989320383289776,1.048455470573876,-150.056701000391769,1.049738683780096,89.96553378501541,0.0,0.0,0.0,0.0,0.0,0.0,0.007061978829241],[1.047841509175756,-29.974764223124932,1.047842684458885,-150.069473097603066,1.049448737780846,89.959767318008446,0.0,0.0,0.0,0.0,0.0,0.0,0.01111425913033],[1.047637433784304,-29.967582727149232,1.047621769375829,-150.075364239637508,1.049492079068663,89.958972804520187,0.0,0.0,0.0,0.0,0.0,0.0,0.012030958795812],[1.047616150016779,-29.967323072307728,1.047621302487348,-150.075427834447538,1.049492299810775,89.958976868540376,0.0,0.0,0.0,0.0,0.0,0.0,0.012681778710778],[1.047638194969428,-29.967597522380487,1.047617598407658,-150.075403308081832,1.049487885034861,89.958738521666447,0.0,0.0,0.0,0.0,0.0,0.0,0.011979857271953],[1.047638032156382,-29.967569253220376,1.047606593714869,-150.075469379126503,1.049488939138625,89.958753894131945,0.0,0.0,0.0,0.0,0.0,0.0,0.011759089123711],[1.047409262337752,-29.961000103700872,1.047367349363977,-150.082606341136227,1.049511193603209,89.956325587805296,0.0,0.0,0.0,0.0,0.0,0.0,0.013191494712659],[1.048538356575401,-29.98932038328979,1.048455470573876,-150.056701000391769,1.049738683780097,89.965533785015381,0.0,0.0,0.0,0.0,0.0,0.0,0.007061978829241],[1.047841384481903,-29.974840613907297,1.047843047230252,-150.069427030196351,1.049445327469976,89.959682673105931,0.0,0.0,0.0,0.0,0.0,0.0,0.011150244650749],[1.047637433784305,-29.967582727149232,1.04762176937583,-150.075364239637508,1.049492079068664,89.958972804520187,0.0,0.0,0.0,0.0,0.0,0.0,0.012030958795812],[1.047614523516194,-29.967301049705814,1.047621307405123,-150.075429111912058,1.049492317589602,89.958977738027244,0.0,0.0,0.0,0.0,0.0,0.0,0.012733829543496],[1.047638832074682,-29.967653154420571,1.047618158794954,-150.075345257808237,1.049485293516437,89.958678406418628,0.0,0.0,0.0,0.0,0.0,0.0,0.011992640432373],[1.047638036868483,-29.96756880936891,1.047605936759777,-150.075472068373188,1.049488943821164,89.958753450121094,0.0,0.0,0.0,0.0,0.0,0.0,0.011746129348622],[1.047405061533015,-29.960879234004462,1.047362673699322,-150.082739691432408,1.049511544688379,89.956276930790395,0.0,0.0,0.0,0.0,0.0,0.0,0.013213549394049],[1.048538356575401,-29.98932038328979,1.048455470573876,-150.056701000391769,1.049738683780096,89.965533785015381,0.0,0.0,0.0,0.0,0.0,0.0,0.007061978829241],[1.047841473815355,-29.97483219557672,1.047830586685479,-150.069478055351397,1.049445416305226,89.959674251773933,0.0,0.0,0.0,0.0,0.0,0.0,0.01086801274272],[1.047840739761132,-29.975147314900216,1.047845215629468,-150.069234348870111,1.049432234441505,89.959379614960227,0.0,0.0,0.0,0.0,0.0,0.0,0.011306526811444],[1.047637433784304,-29.967582727149232,1.04762176937583,-150.07536423963748,1.049492079068664,89.958972804520187,0.0,0.0,0.0,0.0,0.0,0.0,0.012030958795812],[1.047612562588173,-29.967274498907653,1.047621313334013,-150.075430652038193,1.049492339023927,89.958978786290757,0.0,0.0,0.0,0.0,0.0,0.0,0.012796587942669],[1.047639053376379,-29.967672478451984,1.047618353448333,-150.075325093790923,1.049484393340757,89.958657525038888,0.0,0.0,0.0,0.0,0.0,0.0,0.011997137774935],[1.047638041173238,-29.967568403887103,1.047605336596505,-150.07547452514541,1.049488948098912,89.958753044493648,0.0,0.0,0.0,0.0,0.0,0.0,0.011734309155669],[1.047381196172801,-29.96019253547847,1.047336110602971,-150.083497298447298,1.049513539270539,89.956000503102104,0.0,0.0,0.0,0.0,0.0,0.0,0.01333921538617],[1.048538356575402,-29.98932038328979,1.048455470573877,-150.056701000391769,1.049738683780097,89.965533785015381,0.0,0.0,0.0,0.0,0.0,0.0,0.007061978829241],[1.047841490691956,-29.974830605211949,1.047828232678048,-150.069487695001953,1.049445433087708,89.959672660842131,0.0,0.0,0.0,0.0,0.0,0.0,0.010815459547013],[1.047839883872153,-29.9755544934727,1.047848094426567,-150.068978545273126,1.049414852107116,89.958977261551468,0.0,0.0,0.0,0.0,0.0,0.0,0.011522066810156],[1.047637433784305,-29.967582727149224,1.047621769375831,-150.07536423963748,1.049492079068664,89.958972804520187,0.0,0.0,0.0,0.0,0.0,0.0,0.012030958795812],[1.047611081147826,-29.967254440264174,1.047621317813138,-150.075431815571534,1.049492355217086,89.958979578232075,0.0,0.0,0.0,0.0,0.0,0.0,0.012844004409755],[1.047639053376362,-29.967672478451576,1.047618353448316,-150.075325093790525,1.04948439334074,89.958657525039314,0.0,0.0,0.0,0.0,0.0,0.0,0.011997137774935],[1.047639111150401,-29.967677964015525,1.04761841123209,-150.075319608533647,1.049476290901731,89.958624026696043,0.0,0.0,0.0,0.0,0.0,0.0,0.011915449738852],[1.047638042961492,-29.967568235444393,1.047605087280441,-150.075475545723151,1.049488949875947,89.958752875990442,0.0,0.0,0.0,0.0,0.0,0.0,0.011729404301966],[1.047367716937953,-29.959804670198093,1.047321107684984,-150.083925216424603,1.049514665830799,89.955844375545908,0.0,0.0,0.0,0.0,0.0,0.0,0.013410465722948],[1.047841525511788,-29.974827323969119,1.047823375886464,-150.069507583680348,1.049445467713355,89.95966937842941,0.0,0.0,-0.00005500000043,-0.000000018077627,0.0,0.0,0.010707831792544],[1.047838920726204,-29.975551573710085,1.047847858494916,-150.069010055201346,1.049415255977426,89.958986733507174,0.0,0.0,0.0,0.0,0.0,0.0,0.011531741998064],[1.047840226787575,-29.975587051651381,1.047848437633615,-150.068945997046711,1.049366754020307,89.958778955205219,0.0,0.0,0.0,0.0,0.0,0.0,0.011350815585341],[1.047637433784305,-29.96758272714921,1.047621769375831,-150.07536423963748,1.049492079068665,89.958972804520201,0.0,0.0,0.0,0.0,0.0,0.0,0.012030958795812],[1.047609366863592,-29.967231228851158,1.047621322996235,-150.075433161982232,1.04949237395536,89.958980494645957,0.0,0.0,0.0,0.0,0.0,0.0,0.012898877544301],[1.047639053376359,-29.967672478451522,1.047618353448313,-150.075325093790468,1.049484393340737,89.958657525039385,0.0,0.0,0.0,0.0,0.0,0.0,0.011997137774935],[1.047639117390051,-29.967678556461582,1.047618417472792,-150.075319016120687,1.049475415830606,89.958620408812109,0.0,0.0,0.0,0.0,0.0,0.0,0.011906919806557],[1.047638046816053,-29.967567872368104,1.047604549882608,-150.075477745568094,1.049488953706326,89.958752512783775,0.0,0.0,0.0,0.0,0.0,0.0,0.011718842786048],[1.047357710960723,-29.959516740667546,1.047309970642556,-150.084242879648372,1.049515502111356,89.955728477978965,0.0,0.0,0.0,0.0,0.0,0.0,0.013463482107295],[1.047835130488716,-29.975540083609428,1.047846930043663,-150.069134055352492,1.049416845315581,89.959024008120963,0.0,0.0,0.0,0.0,0.0,0.0,0.011569948998189],[1.047841646045244,-29.975721802821344,1.047849858098263,-150.068811287063454,1.049167686370537,89.957958013931645,0.0,0.0,0.0,0.0,0.0,0.0,0.012698367769693],[1.047637433784305,-29.96758272714921,1.047621769375831,-150.07536423963748,1.049492079068665,89.958972804520201,0.0,0.0,0.0,0.0,0.0,0.0,0.012030958795812],[1.047607754994181,-29.967209404064118,1.047621327869656,-150.075434427955685,1.049492391574144,89.958981356311469,0.0,0.0,0.0,0.0,0.0,0.0,0.012950476346184],[1.047639053376359,-29.967672478451508,1.047618353448313,-150.075325093790411,1.049484393340737,89.958657525039385,0.0,0.0,0.0,0.0,0.0,0.0,0.011997137774935],[1.047639053376357,-29.96767247845149,1.047618353448311,-150.075325093790411,1.049484393340735,89.958657525039399,0.0,0.0,0.0,0.0,0.0,0.0,0.011997137774935],[1.047639123425509,-29.967679129519954,1.047618423509267,-150.075318443094289,1.049474569396019,89.958616909316987,0.0,0.0,0.0,0.0,0.0,0.0,0.011898723702616],[1.047638056633574,-29.967566947617204,1.047603181136812,-150.075483348556872,1.049488963462254,89.95875158770076,0.0,0.0,0.0,0.0,0.0,0.0,0.011692009859416],[1.047348715143033,-29.959257873917412,1.047299957949492,-150.08452847944514,1.049516253969324,89.955624280827152,0.0,0.0,0.0,0.0,0.0,0.0,0.013511236299697],[1.047828363202418,-29.975519568382268,1.047845272350754,-150.069355452187892,1.049419683003119,89.959090559865189,0.0,0.0,0.0,0.0,0.0,0.0,0.011638686111544],[1.047841797127705,-29.97573614726792,1.047850009309236,-150.068796947001658,1.049146495327715,89.957870605193293,0.0,0.0,0.0,0.0,0.0,0.0,0.013011968045474],[1.047841719044243,-29.975728733673261,1.047849931159326,-150.068804358329317,1.049157447426866,89.957915780750227,0.0,0.0,0.0,0.0,0.0,0.0,0.012846533262953],[1.047637433784306,-29.96758272714921,1.047621769375831,-150.07536423963748,1.049492079068665,89.958972804520215,0.0,0.0,0.0,0.0,0.0,0.0,0.012030958795812],[1.04760602071764,-29.967185921801967,1.047621333113137,-150.075435790068696,1.049492410530886,89.958982283412794,0.0,0.0,0.0,0.0,0.0,0.0,0.013005997787168],[1.047639053376359,-29.967672478451504,1.047618353448313,-150.075325093790411,1.049484393340738,89.958657525039385,0.0,0.0,0.0,0.0,0.0,0.0,0.011997137774935],[1.047639053376356,-29.96767247845148,1.047618353448311,-150.075325093790411,1.049484393340735,89.958657525039399,0.0,0.0,0.0,0.0,0.0,0.0,0.011997137774935],[1.047639128253271,-29.96767958790921,1.047618428337842,-150.075317984730646,1.049473892333177,89.958614110067515,0.0,0.0,0.0,0.0,0.0,0.0,0.011892206429855],[1.047638062393464,-29.967566405070514,1.047602378100555,-150.075486635808943,1.049488969186009,89.958751044959229,0.0,0.0,0.0,0.0,0.0,0.0,0.011676312192322],[1.047337539813234,-29.95893628175838,1.047287519378372,-150.084883283048356,1.049517187993992,89.95549483860222,0.0,0.0,0.0,0.0,0.0,0.0,0.013570677850111],[1.047810304953595,-29.975275160267646,1.047845326909856,-150.069369632622596,1.049419880418874,89.959100212927851,0.0,0.0,0.0,0.0,0.0,0.0,0.012221792724432],[1.047828498169192,-29.975505693295673,1.047844651577838,-150.06936984133668,1.049419835550385,89.959077260706522,0.0,0.0,0.0,0.0,0.0,0.0,0.011625520370919],[1.047842179101793,-29.975772413556118,1.047850391608234,-150.068760691799071,1.049092919144156,89.957649598546666,0.0,0.0,0.0,0.0,-0.000561000022572,-0.00000018439178,0.013916018611344],[1.047841729362726,-29.975729713355992,1.047849941486581,-150.068803378945944,1.049156000142042,89.957909810981533,0.0,0.0,0.0,0.0,0.0,0.0,0.012867988579017],[1.047637433784305,-29.967582727149218,1.047621769375831,-150.07536423963748,1.049492079068665,89.958972804520201,0.0,0.0,0.0,0.0,0.0,0.0,0.012030958795812],[1.047603369529603,-29.967150024320759,1.047621341128784,-150.07543787233061,1.049492439509993,89.958983700672405,0.0,0.0,0.0,0.0,0.0,0.0,0.013090881630643],[1.047639053376355,-29.96767247845143,1.04761835344831,-150.075325093790354,1.049484393340734,89.958657525039456,0.0,0.0,0.0,0.0,0.0,0.0,0.011997137774935],[1.047639132098964,-29.967679953052386,1.047618432184183,-150.075317619607802,1.049473352999241,89.958611880242046,0.0,0.0,0.0,0.0,0.0,0.0,0.01188703961963],[1.04763806642771,-29.967566025069004,1.04760181565126,-150.075488938214392,1.049488973194945,89.958750664821238,0.0,0.0,0.0,0.0,0.0,0.0,0.011665337434573],[1.047316917686656,-29.958342818973534,1.047264566169135,-150.08553803613492,1.049518911591736,89.955255975137192,0.0,0.0,0.0,0.0,0.0,0.0,0.01368070316717],[1.047751198005644,-29.974475121012876,1.047845505464313,-150.069416047076373,1.049420526561968,89.959131808653638,0.0,0.0,0.0,0.0,0.0,0.0,0.014130459287207],[1.047828741761276,-29.975480651148004,1.047843531189133,-150.069395811330708,1.049420110872237,89.959053258010982,0.0,0.0,0.0,0.0,0.0,0.0,0.011601759254088],[1.04784173768429,-29.975730503442389,1.047849949815221,-150.068802589100954,1.049154832947782,89.957904996519957,0.0,0.0,0.0,0.0,0.0,0.0,0.012885382706078],[1.047637433784305,-29.967582727149218,1.047621769375831,-150.07536423963748,1.049492079068665,89.958972804520201,0.0,0.0,0.0,0.0,0.0,0.0,0.012030958795812],[1.04759612942119,-29.967051991225169,1.047621363018266,-150.075443558764647,1.049492518648431,89.958987571055744,0.0,0.0,0.0,0.0,0.0,0.0,0.013322739562549],[1.047639053376355,-29.967672478451426,1.047618353448309,-150.075325093790354,1.049484393340733,89.958657525039456,0.0,0.0,0.0,0.0,0.0,0.0,0.011997137774935],[1.047639140229375,-29.967680725023541,1.047618440315964,-150.075316847679716,1.049472212760914,89.958607166026255,0.0,0.0,0.0,0.0,0.0,0.0,0.011876188429373],[1.047638074187976,-29.967565294099007,1.047600733725179,-150.07549336712276,1.049488980906525,89.958749933588763,0.0,0.0,0.0,0.0,0.0,0.0,0.011644272800175],[1.047298938551299,-29.95782539448377,1.047244554719337,-150.086108900400092,1.049520414307004,89.955047724718966,0.0,0.0,0.0,0.0,0.0,0.0,0.013776976454379],[1.047725718037748,-29.974130209599792,1.047845582424461,-150.06943605557305,1.049420805091661,89.959145429027089,-0.000280999985989,-0.000092360234703,0.0,0.0,0.0,0.0,0.014953288179171],[1.047828828737298,-29.975471709706007,1.047843131147867,-150.069405084081893,1.049420209177554,89.959044687711696,0.0,0.0,0.0,0.0,0.0,0.0,0.01159327545666],[1.047841744334452,-29.975731134838352,1.047849956471036,-150.068801957897961,1.049153900186832,89.957901149044943,0.0,0.0,0.0,0.0,0.0,0.0,0.012899341373445],[1.047595512106339,-29.967043632544968,1.047621364884608,-150.075444043608314,1.049492525396003,89.958987901057043,0.0,0.0,0.0,0.0,0.0,0.0,0.013342511770359],[1.047639053376354,-29.967672478451409,1.047618353448309,-150.075325093790354,1.049484393340733,89.95865752503947,0.0,0.0,0.0,0.0,0.0,0.0,0.011997137774935],[1.047639146632267,-29.967681332969239,1.047618446719935,-150.075316239767972,1.049471314796049,89.958603453461706,0.0,0.0,0.0,0.0,0.0,0.0,0.011867712072113],[1.047638078050532,-29.967564930269606,1.047600195212597,-150.075495571549311,1.04948898474485,89.958749569628665,0.0,0.0,0.0,0.0,0.0,0.0,0.011633811025685],[1.047286708350597,-29.957473408025358,1.047230942054024,-150.086497241407642,1.049521436530195,89.954906063396862,0.0,0.0,0.0,0.0,0.0,0.0,0.013842648044448],[1.04782900314571,-29.975455273716609,1.047818803570162,-150.069504705256691,1.049420382620249,89.959028245882095,0.0,0.0,0.0,0.0,0.0,0.0,0.011028590147951],[1.047828828737298,-29.975471709706007,1.047843131147867,-150.069405084081893,1.049420209177554,89.959044687711696,0.0,0.0,0.0,0.0,0.0,0.0,0.01159327545666],[1.047841754485987,-29.975732098670296,1.047849966631202,-150.068800994360515,1.049152476318323,89.957895275824299,0.0,0.0,0.0,0.0,0.0,0.0,0.012920748683392],[1.0475952269744,-29.967039771745568,1.047621365746652,-150.07544426755311,1.049492528512641,89.958988053481576,0.0,0.0,0.0,0.0,0.0,0.0,0.013351644537165],[1.047639053376354,-29.967672478451394,1.047618353448308,-150.075325093790326,1.049484393340732,89.958657525039484,0.0,0.0,0.0,0.0,0.0,0.0,0.011997137774935],[1.047639151073632,-29.967681754670664,1.047618451162049,-150.075315818090047,1.049470691922866,89.958600878238144,0.0,0.0,0.0,0.0,0.0,0.0,0.011861868347785],[1.047638080793186,-29.967564671928262,1.047599812835411,-150.075497136829682,1.049488987470296,89.958749311194552,0.0,0.0,0.0,0.0,0.0,0.0,0.011626391764512],[1.047278674176726,-29.957242178589798,1.047221999723959,-150.08675235369023,1.049522108045972,89.954813004188622,0.0,0.0,0.0,0.0,0.0,0.0,0.013885867683544],[1.047829028473638,-29.975452886851489,1.047815270673432,-150.069519172817394,1.049420407807933,89.959025858168843,0.0,0.0,0.0,0.0,0.0,0.0,0.010948603272365],[1.047841766385632,-29.975733228475512,1.047849978540965,-150.068799864900512,1.049150807257551,89.957888391206026,0.0,0.0,0.0,0.0,0.0,0.0,0.012945994371991],[1.047594921991279,-29.967035642150918,1.047621366668712,-150.075444507089117,1.049492531846263,89.958988216518065,0.0,0.0,0.0,0.0,0.0,0.0,0.013361413254868],[1.047639053376353,-29.96767247845138,1.047618353448308,-150.075325093790326,1.049484393340732,89.958657525039513,0.0,0.0,0.0,0.0,0.0,0.0,0.011997137774935],[1.047639155504417,-29.967682175367486,1.04761845559358,-150.075315397416716,1.049470070533542,89.958598309146438,0.0,0.0,0.0,0.0,0.0,0.0,0.011856067895549],[1.04763811216797,-29.967561716613687,1.047595438603792,-150.075515043049677,1.049489018648244,89.958746354818615,0.0,0.0,0.0,0.0,0.0,0.0,0.011542069691509],[1.047261383322005,-29.956744521433265,1.047202754375014,-150.087301413548204,1.049523553269484,89.95461272532701,0.0,0.0,0.0,0.0,0.0,0.0,0.013979093223968],[1.047829070279015,-29.97544894717873,1.047809439401711,-150.069543052615472,1.049420449381808,89.95902191709547,0.0,0.0,-0.000057000001107,-0.000000018734994,0.0,0.0,0.010817778903925],[1.047829064411546,-29.975449500117147,1.047810257829753,-150.069539701123773,1.04942044354687,89.959022470231787,0.0,0.0,-0.000048999998398,-0.00000001610552,0.0,0.0,0.010836048580297],[1.047841784662781,-29.975734963789186,1.047849996833653,-150.068798130117074,1.049148243679356,89.957877816798586,0.0,0.0,0.0,0.0,0.0,0.0,0.012985087652578],[1.047594630566481,-29.967031696139138,1.047621367549779,-150.075444735976333,1.049492535031684,89.958988372306578,0.0,0.0,0.0,0.0,0.0,0.0,0.013370747808586],[1.047639053376353,-29.967672478451377,1.047618353448307,-150.075325093790298,1.049484393340732,89.958657525039513,0.0,0.0,0.0,0.0,0.0,0.0,0.011997137774935],[1.047639161986457,-29.967682790828174,1.047618462076712,-150.075314781990414,1.04946916146867,89.958594550674334,0.0,0.0,0.0,0.0,0.0,0.0,0.011847634997275],[1.047638121419881,-29.967560845139822,1.047594148714505,-150.075520323329414,1.049489027842112,89.958745483031777,0.0,0.0,0.0,0.0,0.0,0.0,0.011517399968469],[1.04725731865478,-29.95668945100304,1.047202766682061,-150.087304607092705,1.049523597690848,89.954614898618203,0.0,0.0,0.0,0.0,0.0,0.0,0.014106178086247],[1.04725027217454,-29.956418187608179,1.047189979742204,-150.087656736700154,1.049524396702988,89.954474480862089,0.0,0.0,0.0,0.0,0.0,0.0,0.014034923247846],[1.047841851544713,-29.975741313855274,1.047850063772449,-150.068791781991166,1.049138862728701,89.95783912122566,0.0,0.0,0.0,0.0,0.0,0.0,0.01313136797076],[1.047594305906772,-29.967027300110324,1.047621368531326,-150.075444990966474,1.049492538580378,89.958988545861686,0.0,0.0,0.0,0.0,0.0,0.0,0.013381147032118],[1.047639053376352,-29.967672478451366,1.047618353448307,-150.075325093790298,1.049484393340731,89.958657525039513,0.0,0.0,0.0,0.0,0.0,0.0,0.011997137774935],[1.047639186365733,-29.967685105606464,1.047618486460097,-150.075312467341433,1.049465742430406,89.958580414815088,0.0,0.0,0.0,0.0,0.0,0.0,0.011816483327396],[1.047638123489807,-29.967560650165254,1.047593860127972,-150.075521504686549,1.049489029899052,89.958745287987185,0.0,0.0,0.0,0.0,0.0,0.0,0.011511892927592],[1.047256756775925,-29.95668183831333,1.04720276838331,-150.087305048552054,1.049523603831417,89.954615199042905,0.0,0.0,0.0,0.0,0.0,0.0,0.014123751764669],[1.047208607282778,-29.955194421677135,1.047142077079048,-150.08898922393098,1.049527559498801,89.953956086245341,0.0,0.0,0.0,0.0,0.0,0.0,0.014245373563829],[1.047842177059295,-29.975772219619497,1.047850389563785,-150.06876088566986,1.049093205642557,89.957650779966556,0.0,0.0,0.0,0.0,-0.000468999991426,-0.000000154152843,0.01391079822975],[1.047593635763631,-29.967018226081862,1.047621370557372,-150.075445517301887,1.049492545905379,89.958988904103762,0.0,0.0,0.0,0.0,0.0,0.0,0.013402612921673],[1.047639053376352,-29.967672478451366,1.047618353448307,-150.075325093790298,1.049484393340731,89.958657525039513,0.0,0.0,0.0,0.0,0.0,0.0,0.011997137774935],[1.04763919205588,-29.967685645877957,1.047618492151203,-150.075311927100131,1.049464944423554,89.958577115478519,0.0,0.0,0.0,0.0,0.0,0.0,0.011809341466602],[1.047638150291563,-29.967558125605837,1.047590123465773,-150.075536801034957,1.049489056532616,89.958742762519421,0.0,0.0,0.0,0.0,0.0,0.0,0.011440996993219],[1.047638124360644,-29.967560568137603,1.047593738716949,-150.075522001698118,1.049489030764427,89.958745205930157,0.0,0.0,0.0,0.0,0.0,0.0,0.011509577411723],[1.047256498459572,-29.956678338477339,1.047202769165436,-150.087305251507132,1.049523606654461,89.954615337159197,0.0,0.0,0.0,0.0,0.0,0.0,0.014131831523372],[1.047208638260052,-29.955197365038146,1.047142108050609,-150.088986280277794,1.049523214186297,89.953938080633606,0.0,0.0,0.0,0.0,0.0,0.0,0.014183262404868],[1.047194502595897,-29.954773152475301,1.047125880399927,-150.08944712328605,1.049529096469274,89.953785835411224,0.0,0.0,0.0,0.0,0.0,0.0,0.014318930340664],[1.047592937813872,-29.967008775527138,1.04762137266748,-150.075446065476854,1.049492553534314,89.958989277210577,0.0,0.0,0.0,0.0,0.0,0.0,0.013424970127269],[1.047639053376352,-29.967672478451362,1.047618353448307,-150.075325093790298,1.049484393340731,89.958657525039513,0.0,0.0,0.0,0.0,0.0,0.0,0.011997137774935],[1.047639194662685,-29.967685893390399,1.047618494758447,-150.075311679601526,1.049464578835829,89.958575603964818,0.0,0.0,0.0,0.0,0.0,0.0,0.011806085954096],[1.047638176853037,-29.967555623679843,1.047586420303716,-150.075551960355625,1.049489082927406,89.958740259693201,0.0,0.0,-0.000056000000768,-0.000000018406309,0.0,0.0,0.011371497362227],[1.047638125381644,-29.96756047196536,1.047593596370164,-150.075522584413022,1.049489031779024,89.958745109723438,0.0,0.0,0.0,0.0,0.0,0.0,0.011506863633368],[1.047256191653775,-29.956674181672938,1.047202770094377,-150.087305492559608,1.049523610007428,89.95461550120173,0.0,0.0,0.0,0.0,0.0,0.0,0.014141428363646],[1.04720864051176,-29.955197578988177,1.047142110301902,-150.088986066306546,1.049522898329786,89.953936771817482,0.0,0.0,0.0,0.0,0.0,0.0,0.014178788324612],[1.047143373560144,-29.953245956386617,1.04706716797786,-150.091107127328684,1.049534668048531,89.953168680262948,0.0,0.0,0.0,0.0,0.0,0.0,0.014587632605388],[1.047590283759566,-29.966972838316142,1.047621380691423,-150.075448149991132,1.04949258254439,89.9589906960029,0.0,0.0,0.0,0.0,0.0,0.0,0.01350999233927],[1.047639053376352,-29.967672478451355,1.047618353448307,-150.075325093790298,1.049484393340731,89.958657525039527,0.0,0.0,0.0,0.0,0.0,0.0,0.011997137774935],[1.047639196376462,-29.967686056111127,1.047618496472512,-150.075311516889855,1.049464338489511,89.95857461025814,0.0,0.0,0.0,0.0,0.0,0.0,0.011803951307256],[1.047638126304345,-29.967560385052391,1.047593467728272,-150.075523111025376,1.049489032695937,89.958745022779326,0.0,0.0,0.0,0.0,0.0,0.0,0.011504412078804],[1.047255718289168,-29.956667768216555,1.047202771527619,-150.087305864474672,1.049523615180653,89.95461575429978,0.0,0.0,0.0,0.0,0.0,0.0,0.014156235994424],[1.047208642367687,-29.955197755332481,1.047142112157488,-150.088985889944752,1.049522637990968,89.953935693049715,0.0,0.0,0.0,0.0,0.0,0.0,0.014175104816995],[1.047113953853605,-29.952579511173742,1.047053994772307,-150.091889910223045,1.049543097736406,89.953336880138735,0.0,0.0,0.0,0.0,0.0,0.0,0.014971029161236],[1.047140729046899,-29.953067599316316,1.047057543582449,-150.091227357159369,1.049533191858235,89.952978539201638,0.0,0.0,0.0,0.0,0.0,0.0,0.014532630449328],[1.047576193012102,-29.966782039485299,1.047621423290402,-150.075459216975077,1.049492736561733,89.958998228571971,-0.000209999998333,-0.000069023662945,0.0,0.0,0.0,0.0,0.013961533036025],[1.047639053376352,-29.967672478451355,1.047618353448307,-150.075325093790298,1.049484393340731,89.958657525039527,0.0,0.0,0.0,0.0,0.0,0.0,0.011997137774935],[1.047639202637051,-29.967686650546156,1.047618502734174,-150.075310922488512,1.049463460480824,89.958570980184078,0.0,0.0,0.0,0.0,0.0,0.0,0.011796191057866],[1.047639197089257,-29.967686123789882,1.047618497185425,-150.075311449214865,1.049464238524744,89.958574196951147,0.0,0.0,0.0,0.0,0.0,0.0,0.011803064778494],[1.047638127238857,-29.967560297026939,1.047593337439753,-150.075523644378507,1.049489033624588,89.958744934722347,0.0,0.0,0.0,0.0,0.0,0.0,0.011501930060308],[1.047255296488016,-29.956662053370898,1.047202772804737,-150.087306195877176,1.049523619790358,89.954615979827935,0.0,0.0,0.0,0.0,0.0,0.0,0.014169431506968],[1.04720864500389,-29.955198005815969,1.047142114793204,-150.088985639436373,1.049522268199758,89.95393416074235,0.0,0.0,0.0,0.0,0.0,0.0,0.014169879161164],[1.047100412650073,-29.952272748387507,1.047047931497046,-150.092250214743984,1.049546977739366,89.95341429796531,0.0,0.0,0.0,0.0,0.0,0.0,0.015147504467089],[1.04712964609907,-29.952320101744334,1.047017208150745,-150.09173125990273,1.049527005323295,89.952181659345172,0.0,0.0,0.0,0.0,0.0,0.0,0.014302967534511],[1.0476392055129,-29.967686923604422,1.047618505610515,-150.075310649445726,1.049463057160824,89.958569312679785,0.0,0.0,0.0,0.0,0.0,0.0,0.011792646268664],[1.047639197593726,-29.967686171688527,1.047618497689979,-150.075311401318828,1.049464167776109,89.958573904439007,0.0,0.0,0.0,0.0,0.0,0.0,0.011802437815822],[1.047638128243646,-29.967560202381797,1.047593197353253,-150.075524217841121,1.049489034623075,89.958744840043266,0.0,0.0,0.0,0.0,0.0,0.0,0.011499262417897],[1.047254968547183,-29.956657610204722,1.047202773797666,-150.087306453535149,1.049523623374298,89.954616155170953,0.0,0.0,0.0,0.0,0.0,0.0,0.014179691285234],[1.047208656844523,-29.955199130874806,1.047142126631654,-150.088984514265945,1.049520607264436,89.95392727829551,0.0,0.0,0.0,0.0,0.0,0.0,0.014146501922619],[1.047011953292525,-29.950268576367993,1.047008323178326,-150.094604064163264,1.049572324499209,89.953920028157484,0.0,0.0,0.0,0.0,0.0,0.0,0.016300448587713],[1.047127199683277,-29.952155097718666,1.047008304556736,-150.091842496140316,1.049525639740307,89.952005755587138,0.0,0.0,0.0,0.0,0.0,0.0,0.014252461059714],[1.047639210380222,-29.967687385750494,1.04761851047867,-150.075310187325783,1.049462374549122,89.958566490456434,0.0,0.0,0.0,0.0,0.0,0.0,0.011786675422495],[1.047639198180781,-29.967686227428427,1.04761849827713,-150.075311345581952,1.04946408544555,89.958573564041032,0.0,0.0,0.0,0.0,0.0,0.0,0.011801708701748],[1.047638134070866,-29.967559653492497,1.047592384929314,-150.075527543609041,1.049489040413747,89.958744290957114,0.0,0.0,0.0,0.0,0.0,0.0,0.011483812639938],[1.047254560343059,-29.956652079572727,1.047202775033613,-150.087306774254699,1.049523627835404,89.954616373429076,0.0,0.0,0.0,0.0,0.0,0.0,0.014192462827679],[1.04720865912397,-29.955199347460564,1.047142128910681,-150.088984297658669,1.049520287516776,89.953925953349042,0.0,0.0,0.0,0.0,0.0,0.0,0.014142019257201],[1.04700534614287,-29.95011886731946,1.047005364826095,-150.094779884846645,1.049574217698912,89.953957801135232,0.0,0.0,0.0,0.0,0.0,0.0,0.016386570251274],[1.047126386790882,-29.952100270062253,1.047005346074144,-150.091879458101147,1.049525185986964,89.95194730624037,0.0,0.0,0.0,0.0,0.0,0.0,0.014235694238966],[1.04763921972273,-29.967688272809905,1.047618519822778,-150.075309300316604,1.04946106432031,89.958561073371754,0.0,0.0,0.0,0.0,0.0,0.0,0.01177531584922],[1.04763919930363,-29.967686334041048,1.047618499400165,-150.075311238975161,1.049463927973522,89.958572912968421,0.0,0.0,0.0,0.0,0.0,0.0,0.011800315595368],[1.047638158717801,-29.967557331898416,1.047588948683433,-150.075541610406134,1.0494890649061,89.958741968530603,0.0,0.0,-0.000052999999753,-0.000000017420257,0.0,0.0,0.011418866283974],[1.047254138140993,-29.956646359282271,1.04720277631194,-150.087307105972229,1.049523632449486,89.954616599171558,0.0,0.0,0.0,0.0,0.0,0.0,0.014205673129418],[1.047208660811714,-29.955199507824499,1.047142130598113,-150.088984137278828,1.049520050769923,89.953924972334548,0.0,0.0,0.0,0.0,0.0,0.0,0.014138703902421],[1.047003996383355,-29.950100569824866,1.047005368916446,-150.094780945513776,1.049574232449647,89.953958522842498,0.0,0.0,0.0,0.0,0.0,0.0,0.016428340139587],[1.046895196227226,-29.947511117948071,1.046950098005818,-150.097739059464942,1.049605294647006,89.954468335216688,0.0,0.0,0.0,0.0,0.0,0.0,0.017769027245936],[1.047125962518612,-29.952071653849032,1.04700380195453,-150.091898749727335,1.049524949160066,89.951916799773272,0.0,0.0,0.0,0.0,0.0,0.0,0.014226946216418],[1.047639247228648,-29.967690884462112,1.047618547333406,-150.075306688812276,1.049457206786026,89.958545124483336,0.0,0.0,0.0,0.0,-0.000051999999414,-0.000000017091573,0.01174264636681],[1.047639203609947,-29.967686742919025,1.047618503707195,-150.075310830119633,1.049463324040907,89.958570415989868,0.0,0.0,0.0,0.0,0.0,0.0,0.011794990527005],[1.047253640130763,-29.956639611883389,1.047202777819794,-150.087307497251004,1.049523637892044,89.954616865447122,0.0,0.0,0.0,0.0,0.0,0.0,0.014221256444039],[1.047208662755811,-29.955199692546348,1.047142132541853,-150.088983952538598,1.049519778063217,89.953923842311724,0.0,0.0,0.0,0.0,0.0,0.0,0.014134888867953],[1.046997044716429,-29.950006331466078,1.047005389982677,-150.094786408269385,1.049574308420062,89.95396223985199,0.0,0.0,0.0,0.0,0.0,0.0,0.016643617976542],[1.046842336064113,-29.946259465026806,1.046923576443694,-150.099159277354545,1.049620208468781,89.954713329600068,0.0,0.0,0.0,0.0,0.0,0.0,0.018432646672585],[1.047125599328556,-29.952047157462047,1.047002480140203,-150.09191526400457,1.049524746429107,89.951890685277689,0.0,0.0,0.0,0.0,0.0,0.0,0.014219459318225],[1.047639218305775,-29.967688138264364,1.047618518405456,-150.075309434850737,1.049461263048029,89.958561894727822,0.0,0.0,0.0,0.0,-0.000048000001698,-0.000000015776838,0.011777030388352],[1.047253356331221,-29.956635766761224,1.047202778679069,-150.087307720227841,1.049523640993576,89.954617017188752,0.0,0.0,0.0,0.0,0.0,0.0,0.014230137364845],[1.047208664684328,-29.955199875787809,1.047142134470014,-150.088983769278997,1.04951950754209,89.953922721344711,0.0,0.0,0.0,0.0,0.0,0.0,0.014131108531606],[1.046994617758024,-29.949973430770644,1.047005397337176,-150.094788315421141,1.049574334942653,89.953963537530399,0.0,0.0,0.0,0.0,0.0,0.0,0.016718833675103],[1.046842397535956,-29.946265308193176,1.046923637871842,-150.099153433434338,1.049611585335945,89.954677540658466,0.0,0.0,0.0,0.0,0.0,0.0,0.018302834579892],[1.046739459616705,-29.943753182700075,1.046871501779512,-150.101991790202533,1.049653479603673,89.955209206481371,0.0,0.0,0.0,0.0,0.0,0.0,0.019745568557513],[1.04712518626523,-29.952019297194617,1.047000976813572,-150.091934046083821,1.049524515859259,89.95186098471028,0.0,0.0,0.0,0.0,0.0,0.0,0.01421094620245],[1.047252074239108,-29.956618396020144,1.047202782560916,-150.087308727547452,1.049523655005041,89.954617702696382,0.0,0.0,0.0,0.0,0.0,0.0,0.014270262346593],[1.047208681626562,-29.955201485584173,1.047142151409124,-150.088982159322995,1.049517130984036,89.95391287350067,0.0,0.0,0.0,0.0,0.0,0.0,0.014098074864678],[1.046989335641422,-29.949901824013665,1.047005413343543,-150.094792466213306,1.049574392667128,89.953966361842916,0.0,0.0,0.0,0.0,0.0,0.0,0.016882636949898],[1.046842421881856,-29.946267622376567,1.046923662200437,-150.099151118952335,1.049608170147937,89.954663366300679,0.0,0.0,0.0,0.0,-0.000048999998398,-0.00000001610552,0.018252281039095],[1.046740030001063,-29.943699536256485,1.046792117529724,-150.102316347233369,1.049654044865799,89.955155545319485,0.0,0.0,0.0,0.0,0.0,0.0,0.018605184841975],[1.046718555762015,-29.943511962882351,1.046872217658263,-150.102453767410168,1.04965723081015,89.955510230982526,0.0,0.0,0.0,0.0,0.0,0.0,0.020090198564533],[1.047124860842637,-29.951997348086351,1.046999792451157,-150.091948843165738,1.049524334210122,89.951837585768843,0.0,0.0,0.0,0.0,0.0,0.0,0.014204240750749],[1.047251575275504,-29.95661163567695,1.047202784071645,-150.087309119575309,1.049523660458007,89.954617969481703,0.0,0.0,0.0,0.0,0.0,0.0,0.014285880163064],[1.047208716258761,-29.955204776223422,1.047142186034937,-150.08897886835743,1.049512272981098,89.953892743049437,0.0,0.0,0.0,0.0,-0.000052999999753,-0.000000017420257,0.014031545829879],[1.046987232579317,-29.949873313776308,1.047005419716318,-150.094794118841378,1.049574415649857,89.953967486336467,0.0,0.0,0.0,0.0,0.0,0.0,0.016947892747041],[1.046988287921193,-29.949887620544157,1.047005416518426,-150.094793289532902,1.049574404116903,89.953966922051876,0.0,0.0,0.0,0.0,0.0,0.0,0.016915143935327],[1.046740316764776,-29.943672565279606,1.046752206741577,-150.102479538386547,1.049654329054288,89.95512856694252,0.0,0.0,0.0,0.0,0.0,0.0,0.01813485560855],[1.046700647295896,-29.943305300505624,1.046872831009251,-150.102849546032616,1.049660444516669,89.955768119078058,0.0,0.0,0.0,0.0,0.0,0.0,0.020386046481464],[1.047124588010266,-29.951978946066003,1.046998799488372,-150.091961248982358,1.049524181916631,89.951817968220723,0.0,0.0,0.0,0.0,0.0,0.0,0.014198619901622],[1.047251401936021,-29.956609287138583,1.047202784596471,-150.087309255765405,1.049523662352362,89.95461806216268,0.0,0.0,0.0,0.0,0.0,0.0,0.014291306039849],[1.046984085764389,-29.949830653646973,1.047005429251822,-150.094796591671582,1.049574450038863,89.953969168917837,-0.000050999999075,-0.000016762889572,0.0,0.0,0.0,0.0,0.017045574652413],[1.046988142036098,-29.949885642843558,1.047005416960498,-150.094793404172322,1.049574405711174,89.95396700005567,0.0,0.0,0.0,0.0,0.0,0.0,0.01691967064532],[1.046740343450964,-29.943670055366322,1.046748492651564,-150.102494725557506,1.049654355500826,89.955126056340575,0.0,0.0,0.0,0.0,0.0,0.0,0.018094892846811],[1.046688050366615,-29.9431599285511,1.046873262473592,-150.103127939124505,1.049662705071553,89.955949518368001,0.0,0.0,0.0,0.0,0.0,0.0,0.020594466538173],[1.047124341829257,-29.951962341614561,1.046997903521889,-150.091972442973315,1.049524044499833,89.95180026698209,0.0,0.0,0.0,0.0,0.0,0.0,0.014193548873408],[1.047251271347783,-29.956607517826878,1.047202784991856,-150.087309358366554,1.049523663779505,89.95461813198547,0.0,0.0,0.0,0.0,0.0,0.0,0.014295393805205],[1.046987983594629,-29.949883494921011,1.047005417440618,-150.094793528678821,1.049574407442665,89.953967084773282,0.0,0.0,0.0,0.0,0.0,0.0,0.016924587086854],[1.046740354472028,-29.943669018803465,1.046746958778717,-150.102500997701213,1.049654366422917,89.955125019493309,0.0,0.0,0.0,0.0,0.0,0.0,0.018078583112366],[1.046672133892453,-29.94297624305214,1.046873807672146,-150.103479694273773,1.049665561343849,89.956178719035322,0.0,0.0,0.0,0.0,0.0,0.0,0.020858172147171],[1.047124138081228,-29.9519485991785,1.046997161988426,-150.091981707529953,1.049523930768914,89.951785616808578,0.0,0.0,0.0,0.0,0.0,0.0,0.014189352454179],[1.04725117580346,-29.956606223317266,1.047202785281139,-150.087309433434228,1.049523664823669,89.954618183071005,0.0,0.0,0.0,0.0,0.0,0.0,0.014298384649637],[1.046987844811283,-29.949881613494611,1.047005417861169,-150.094793637737553,1.049574408959326,89.953967158979793,0.0,0.0,0.0,0.0,0.0,0.0,0.016928893635838],[1.046740362248531,-29.943668287400936,1.04674587647243,-150.102505423359844,1.049654374129585,89.955124287890086,0.0,0.0,0.0,0.0,0.0,0.0,0.018067143536346],[1.046662160766233,-29.942861144390275,1.046874149308602,-150.103700100956388,1.049667351068462,89.956322333642788,0.0,0.0,0.0,0.0,0.0,0.0,0.021023607933462],[1.047123901721532,-29.951932657132762,1.046996301765764,-150.091992454980243,1.049523798834402,89.951768621736448,0.0,0.0,0.0,0.0,0.0,0.0,0.014184484976048],[1.047251127285513,-29.956605565957862,1.047202785428037,-150.087309471553993,1.049523665353901,89.954618209012551,0.0,0.0,0.0,0.0,0.0,0.0,0.014299903433028],[1.046987697353978,-29.949879614478526,1.047005418308004,-150.094793753612464,1.049574410570778,89.953967237824216,0.0,0.0,0.0,0.0,0.0,0.0,0.016933469445734],[1.046740370202685,-29.943667539289777,1.046744769441279,-150.102509950130354,1.049654382012309,89.955123539573719,0.0,0.0,0.0,0.0,0.0,0.0,0.018055501502571],[1.046646845965767,-29.942684393747072,1.046874673957443,-150.104038558841353,1.049670099395076,89.956542868363272,0.0,0.0,0.0,0.0,0.0,0.0,0.021277942826222],[1.047123641945803,-29.951915135702407,1.046995356320996,-150.092004267199457,1.04952365382926,89.951749942959793,0.0,0.0,0.0,0.0,0.0,0.0,0.014179136042104],[1.04725105595383,-29.956604599499869,1.04720278564401,-150.087309527598165,1.049523666133455,89.954618247152126,0.0,0.0,0.0,0.0,0.0,0.0,0.014302136386196],[1.046987486900845,-29.949876761453712,1.047005418945732,-150.094793918990746,1.049574412870665,89.953967350352144,0.0,0.0,0.0,0.0,0.0,0.0,0.016940000286932],[1.04674037958802,-29.943666656572088,1.046743463223595,-150.102515291408594,1.04965439131336,89.955122656613824,0.0,0.0,0.0,0.0,0.0,0.0,0.01804184146337],[1.046631578914693,-29.94250818893698,1.046875197006158,-150.104375961322205,1.049672839168862,89.956762714465555,0.0,0.0,0.0,0.0,0.0,0.0,0.021531824161372],[1.047122225742003,-29.951819614902433,1.04699020209094,-150.092068663619813,1.049522863314382,89.951648112778912,0.0,0.0,0.0,0.0,0.0,0.0,0.014149989664755],[1.047250936378634,-29.956602979400408,1.047202786006052,-150.087309621546552,1.049523667440242,89.954618311086463,0.0,0.0,0.0,0.0,0.0,0.0,0.014305879596082],[1.046987231056485,-29.949873293077498,1.047005419721008,-150.094794120038387,1.049574415666599,89.953967487150408,0.0,0.0,0.0,0.0,0.0,0.0,0.016947940008156],[1.046740391426949,-29.943665543086766,1.046741815523266,-150.102522029068751,1.049654403045972,89.955121542823022,0.0,0.0,0.0,0.0,0.0,0.0,0.018024729051631],[1.046614448818494,-29.942310475533198,1.046875783925123,-150.104754537013378,1.049675913297574,89.957009387272066,0.0,0.0,0.0,0.0,0.0,0.0,0.021817075626962],[1.047111173616008,-29.95106438510205,1.046950992772608,-150.092589728175938,1.049518557211265,89.950894251576031,0.0,0.0,0.0,0.0,0.0,0.0,0.013941048782111],[1.047122236211534,-29.951820609908854,1.046990212558719,-150.092067668459634,1.049521394555118,89.951642023629986,0.0,0.0,0.0,0.0,0.0,0.0,0.014127335716736],[1.047250403021595,-29.956595753052067,1.04720278762091,-150.087310040596748,1.049523673269074,89.954618596261298,0.0,0.0,0.0,0.0,0.0,0.0,0.014322576708276],[1.046985645251471,-29.949851794935906,1.047005424526398,-150.09479536619591,1.049574432996673,89.953968335069732,0.0,0.0,0.0,0.0,0.0,0.0,0.016997159924294],[1.046740402029863,-29.943664545852325,1.046740339847272,-150.102528063317152,1.049654413553669,89.955120545314941,0.0,0.0,0.0,0.0,0.0,0.0,0.018009515964549],[1.046602052884888,-29.942167399118997,1.046876208668057,-150.105028487445225,1.049678137856661,89.957187887496062,0.0,0.0,0.0,0.0,0.0,0.0,0.022023741354072],[1.04710058836024,-29.950341031802321,1.0469134392422,-150.093088826087524,1.049514433110647,89.95017221822495,0.0,0.0,0.0,0.0,0.0,0.0,0.013742860894263],[1.047122300495825,-29.95182671938278,1.046990276832253,-150.092061558043525,1.049512376175634,89.951604635060718,0.0,0.0,0.0,0.0,0.0,0.0,0.013990775549797],[1.047122236211541,-29.951820609908708,1.046990212558726,-150.092067668459464,1.049521394555125,89.951642023630129,0.0,0.0,0.0,0.0,0.0,0.0,0.014127335716736],[1.04724844241627,-29.956569189136005,1.047202793557055,-150.087311581013523,1.049523694695669,89.954619644555947,-0.000045000000682,-0.000014790784917,0.0,0.0,0.0,0.0,0.014383965691769],[1.046980219054557,-29.949778233590649,1.047005440968942,-150.094799630211611,1.049574492295314,89.95397123642104,-0.000054000000091,-0.0000177489419,0.0,0.0,0.0,0.0,0.017165667068513],[1.046740410419682,-29.943663756765826,1.046739172182008,-150.102532838078105,1.049654421868146,89.955119756011939,0.0,0.0,0.0,0.0,0.0,0.0,0.017997553917423],[1.046587278077527,-29.941996860739749,1.04687671495304,-150.105355010923944,1.049680789339335,89.957400642389288,0.0,0.0,0.0,0.0,0.0,0.0,0.022270330694424],[1.047100117138408,-29.950308829820646,1.046911767467072,-150.093111045346546,1.04951424952115,89.950140075211678,0.0,0.0,0.0,0.0,0.0,0.0,0.013734083367004],[1.047122323990137,-29.951828952243403,1.046990300322634,-150.092059324838573,1.049509080182287,89.951590970308018,0.0,0.0,0.0,0.0,0.0,0.0,0.013941971742732],[1.047122236211581,-29.951820609907891,1.046990212558765,-150.092067668458668,1.049521394555165,89.951642023630939,0.0,0.0,0.0,0.0,0.0,0.0,0.014127335716735],[1.046740424818631,-29.943662402503566,1.04673716818754,-150.102541032741328,1.049654436137788,89.95511840137813,0.0,0.0,0.0,0.0,0.0,0.0,0.017977180436801],[1.046565840074634,-29.941749403619614,1.046877449623523,-150.105828790897419,1.049684636623875,89.957709344546899,0.0,0.0,0.0,0.0,0.0,0.0,0.022628618079702],[1.047100219188755,-29.95031852983249,1.046911869509892,-150.093101343624198,1.049499931756309,89.950080712999167,0.0,0.0,0.0,0.0,0.0,0.0,0.013508718114816],[1.047090474669022,-29.949624903780702,1.046880153086865,-150.093613000477148,1.049515256729191,89.949586760423543,0.0,0.0,0.0,0.0,0.0,0.0,0.013602095925849],[1.04712232638155,-29.951829179519358,1.046990302713647,-150.092059097527596,1.049508744693361,89.951589579410452,0.0,0.0,0.0,0.0,0.0,0.0,0.013937037789281],[1.047122236211584,-29.951820609907841,1.046990212558768,-150.092067668458611,1.049521394555168,89.951642023630981,0.0,0.0,0.0,0.0,0.0,0.0,0.014127335716735],[1.046740475083812,-29.943657674920416,1.046730172459127,-150.102569639672851,1.049654485951572,89.95511367249793,0.0,0.0,0.0,0.0,0.0,0.0,0.017907615636195],[1.046549946424766,-29.941565937840554,1.046877994336893,-150.106180040462618,1.049687488933925,89.957938208037092,0.0,0.0,0.0,0.0,0.0,0.0,0.022894604820358],[1.047100228539203,-29.950319418603978,1.046911878859651,-150.093100454696014,1.049498619879366,89.950075273806547,0.0,0.0,0.0,0.0,0.0,0.0,0.013488632109244],[1.047085822773344,-29.949294943497037,1.046864900957564,-150.093855176387876,1.049515742684484,89.949319817592993,0.0,0.0,0.0,0.0,0.0,0.0,0.013539575056184],[1.047122328050444,-29.951829338128224,1.046990304382261,-150.09205893889424,1.049508510565981,89.951588608745368,0.0,0.0,0.0,0.0,0.0,0.0,0.013933598232109],[1.047122236211585,-29.951820609907816,1.046990212558769,-150.092067668458583,1.049521394555169,89.95164202363101,0.0,0.0,0.0,0.0,0.0,0.0,0.014127335716735],[1.046740782386681,-29.943628772235545,1.04668740316889,-150.102744540186364,1.049654790494774,89.955084761883114,0.0,0.0,-0.000604000000749,-0.0000001985252,0.0,0.0,0.017536420865585],[1.046534614456248,-29.94138895035401,1.04687851983666,-150.106518876729666,1.049690240459854,89.95815898244706,0.0,0.0,0.0,0.0,0.0,0.0,0.02315147155856],[1.04710023385474,-29.950319923852216,1.046911884174796,-150.093099949358702,1.049497874104409,89.950072181731756,0.0,0.0,0.0,0.0,0.0,0.0,0.013477256579685],[1.047071788929498,-29.948299486520046,1.046818887748806,-150.094585826477015,1.049517208871185,89.948514493788622,0.0,0.0,0.0,0.0,0.0,0.0,0.01335564678949],[1.047085822773353,-29.949294943496596,1.046864900957573,-150.093855176387422,1.049515742684493,89.94931981759342,0.0,0.0,0.0,0.0,0.0,0.0,0.013539575056184],[1.047122329779269,-29.951829502432936,1.046990306110797,-150.092058774564208,1.049508268030817,89.951587603222151,0.0,0.0,0.0,0.0,0.0,0.0,0.013930038363896],[1.047122236211586,-29.951820609907795,1.04699021255877,-150.092067668458554,1.04952139455517,89.951642023631024,0.0,0.0,0.0,0.0,0.0,0.0,0.014127335716735],[1.046519609089357,-29.941215727934292,1.046879034176994,-150.106850494969166,1.049692933388436,89.958375052923699,0.0,0.0,0.0,0.0,0.0,0.0,0.023403123991896],[1.047100237464117,-29.950320266927896,1.046911887783907,-150.093099606222495,1.049497367705297,89.950070082136179,0.0,0.0,0.0,0.0,0.0,0.0,0.013469550121034],[1.047051801779931,-29.946881661954347,1.046753353772217,-150.095626564962885,1.049519297435352,89.947367516125652,0.0,0.0,0.0,0.0,0.0,0.0,0.013106309688311],[1.047085822773355,-29.949294943496486,1.046864900957575,-150.093855176387336,1.049515742684495,89.949319817593548,0.0,0.0,0.0,0.0,0.0,0.0,0.013539575056184],[1.047122337039327,-29.951830192416839,1.04699031336964,-150.09205808447399,1.049507249524669,89.951583380606294,0.0,0.0,0.0,0.0,0.0,0.0,0.013915124684954],[1.047122236211587,-29.951820609907763,1.046990212558771,-150.092067668458526,1.049521394555171,89.951642023631066,0.0,0.0,0.0,0.0,0.0,0.0,0.014127335716735],[1.046501562882438,-29.941007395253113,1.04687965279403,-150.107249315519425,1.049696172059956,89.958634908811888,0.0,0.0,0.0,0.0,0.0,0.0,0.023706099735832],[1.047100243346448,-29.950320826050458,1.046911893665804,-150.093099047001317,1.04949654240877,89.950066660346707,0.0,0.0,0.0,0.0,0.0,0.0,0.013457021555839],[1.047047619312969,-29.946584958591437,1.046739640057012,-150.095844368256792,1.04951973454398,89.947127498096833,0.0,0.0,0.0,0.0,0.0,0.0,0.013056078792066],[1.047085822773357,-29.949294943496408,1.046864900957576,-150.093855176387223,1.049515742684496,89.949319817593604,0.0,0.0,0.0,0.0,0.0,0.0,0.013539575056184],[1.047122338812063,-29.951830360894739,1.046990315142079,-150.092057915970145,1.049507000829359,89.951582349541283,0.0,0.0,0.0,0.0,0.0,0.0,0.01391149188557],[1.047122236211599,-29.951820609907394,1.046990212558783,-150.092067668458156,1.049521394555183,89.95164202363145,0.0,0.0,0.0,0.0,0.0,0.0,0.014127335716735],[1.046471338833549,-29.940658460245565,1.046880688974219,-150.107917265518921,1.049701596284154,89.959070116026311,0.0,0.0,0.0,0.0,0.0,0.0,0.024214290394412],[1.046501562882438,-29.941007395253113,1.04687965279403,-150.107249315519425,1.049696172059956,89.958634908811888,0.0,0.0,0.0,0.0,0.0,0.0,0.023706099735832],[1.047100262899674,-29.950322684607979,1.046911913217588,-150.093097188116019,1.049493799072686,89.950055286070708,0.0,0.0,0.0,0.0,0.0,0.0,0.013415652558848],[1.047046550327066,-29.946509124252106,1.04673613499186,-150.095900037183583,1.049519846266791,89.947066152287746,0.0,0.0,0.0,0.0,0.0,0.0,0.013043350972511],[1.047085822773359,-29.949294943496319,1.046864900957578,-150.093855176387166,1.049515742684498,89.949319817593718,0.0,0.0,0.0,0.0,0.0,0.0,0.013539575056184],[1.04712234050306,-29.951830521604325,1.046990316832793,-150.092057755235857,1.049506763601095,89.951581366016995,0.0,0.0,0.0,0.0,0.0,0.0,0.013908029803646],[1.047122236211602,-29.951820609907262,1.046990212558787,-150.092067668458014,1.049521394555186,89.951642023631578,0.0,0.0,0.0,0.0,0.0,0.0,0.014127335716735],[1.046369395610169,-29.939481379644594,1.046884184953435,-150.11017020171343,1.049719892208491,89.960538004565947,0.0,0.0,0.0,0.0,0.0,0.0,0.025934737174822],[1.046471338833549,-29.940658460245565,1.046880688974219,-150.107917265518921,1.049701596284154,89.959070116026311,0.0,0.0,0.0,0.0,0.0,0.0,0.024214290394412],[1.047100284668546,-29.950324753765091,1.046911934984855,-150.093095118593993,1.04949074487964,89.950042622865738,0.0,0.0,0.0,0.0,0.0,0.0,0.013370100123239],[1.047045990301465,-29.946469395671936,1.046734298739083,-150.095929201481482,1.049519904797231,89.947034014106961,0.0,0.0,0.0,0.0,0.0,0.0,0.013036701123897],[1.04708582277336,-29.949294943496259,1.04686490095758,-150.093855176387109,1.049515742684499,89.949319817593775,0.0,0.0,0.0,0.0,0.0,0.0,0.013539575056184],[1.047122342184859,-29.951830681439773,1.046990318514311,-150.092057595375763,1.04950652766313,89.951580387841759,0.0,0.0,0.0,0.0,0.0,0.0,0.013904589666593],[1.047122236211604,-29.95182060990722,1.046990212558788,-150.092067668457958,1.049521394555188,89.951642023631606,0.0,0.0,0.0,0.0,0.0,0.0,0.014127335716735],[1.046225208101957,-29.937816128797902,1.046889132342766,-150.113356722189764,1.049745771007897,89.962614094234681,0.0,0.0,0.0,0.0,0.0,0.0,0.028382147621651],[1.046369395610169,-29.939481379644594,1.046884184953435,-150.11017020171343,1.049719892208491,89.960538004565947,0.0,0.0,0.0,0.0,0.0,0.0,0.025934737174822],[1.047100296911274,-29.950325917450893,1.04691194722668,-150.093093954702965,1.04948902721348,89.950035501096551,0.0,0.0,0.0,0.0,0.0,0.0,0.013344716982705],[1.047045526047182,-29.946436461112452,1.046732776507253,-150.095953378420234,1.049519953318525,89.947007371934475,0.0,0.0,0.0,0.0,0.0,0.0,0.013031197915757],[1.047085822773361,-29.949294943496199,1.046864900957581,-150.093855176387052,1.049515742684501,89.949319817593818,0.0,0.0,0.0,0.0,0.0,0.0,0.013539575056184],[1.0471223441141,-29.951830864791642,1.046990320443229,-150.092057411995626,1.049506257011875,89.951579265748123,0.0,0.0,0.0,0.0,0.0,0.0,0.013900647213946],[1.047122236211605,-29.951820609907131,1.04699021255879,-150.092067668457901,1.04952139455519,89.951642023631692,0.0,0.0,0.0,0.0,0.0,0.0,0.014127335716735],[1.046121745780028,-29.936620932919222,1.046892684318432,-150.11564321496823,1.049764341325329,89.964103744587746,0.0,0.0,0.0,0.0,0.0,0.0,0.030146455325191],[1.046225208101957,-29.937816128797902,1.046889132342766,-150.113356722189764,1.049745771007897,89.962614094234681,0.0,0.0,0.0,0.0,0.0,0.0,0.028382147621651],[1.04710030841202,-29.950327010610295,1.046911958726578,-150.093092861350812,1.049487413648268,89.95002881092833,0.0,0.0,0.0,0.0,0.0,0.0,0.01332102766301],[1.047045149795172,-29.946409769463464,1.046731542823204,-150.095972972535208,1.049519992642495,89.946985779938146,0.0,0.0,0.0,0.0,0.0,0.0,0.013026744156753],[1.047085822773363,-29.949294943496135,1.046864900957582,-150.093855176386995,1.049515742684502,89.949319817593903,0.0,0.0,0.0,0.0,0.0,0.0,0.013539575056184],[1.047122350776619,-29.951831497986465,1.046990327104633,-150.092056778703153,1.04950532233373,89.951575390659528,0.0,0.0,0.0,0.0,0.0,0.0,0.013887063687159],[1.047122236211607,-29.951820609907095,1.046990212558792,-150.092067668457872,1.049521394555192,89.951642023631734,0.0,0.0,0.0,0.0,0.0,0.0,0.014127335716735],[1.046090355414182,-29.93625826400104,1.046893762307594,-150.11633693333539,1.049769975686873,89.964555693763686,0.0,0.0,0.0,0.0,0.0,0.0,0.030682886784884],[1.046121745780028,-29.936620932919222,1.046892684318432,-150.11564321496823,1.049764341325329,89.964103744587746,0.0,0.0,0.0,0.0,0.0,0.0,0.030146455325191],[1.047100319384681,-29.950328053574566,1.046911969698429,-150.093091818202623,1.049485874173899,89.950022427936489,0.0,0.0,0.0,0.0,0.0,0.0,0.013298567230586],[1.047044574668502,-29.946368969403199,1.046729657052424,-150.096002923578254,1.049520052752173,89.946952775088278,0.0,0.0,0.0,0.0,0.0,0.0,0.013019947167738],[1.047085822773363,-29.949294943496099,1.046864900957583,-150.093855176386938,1.049515742684503,89.949319817593931,0.0,0.0,0.0,0.0,0.0,0.0,0.013539575056184],[1.047122383244384,-29.951834583669083,1.046990359566966,-150.092053692544795,1.049500767463728,89.95155650649329,0.0,0.0,0.0,0.0,-0.000054000000091,-0.000000017748942,0.013821571862031],[1.047122236211609,-29.951820609907035,1.046990212558794,-150.092067668457787,1.049521394555194,89.951642023631791,0.0,0.0,0.0,0.0,0.0,0.0,0.014127335716735],[1.046011078697743,-29.935354112088806,1.046895597499117,-150.11806228782558,1.049782137243474,89.965666081418377,0.0,0.0,0.0,0.0,0.0,0.0,0.032023780057406],[1.046090355414182,-29.93625826400104,1.046893762307594,-150.11633693333539,1.049769975686873,89.964555693763686,0.0,0.0,0.0,0.0,0.0,0.0,0.030682886784884],[1.046077495400604,-29.936083520532115,1.046893801335113,-150.11634704038309,1.049770116276846,89.964562566989016,0.0,0.0,0.0,0.0,0.0,0.0,0.031091997645957],[1.047100337400153,-29.950329765966274,1.046911987712573,-150.093090105508963,1.049483346586669,89.950011947975526,0.0,0.0,0.0,0.0,0.0,0.0,0.013261991311685],[1.047044056201021,-29.946332188732196,1.046727957059041,-150.096029924079659,1.049520106940423,89.946923021722284,0.0,0.0,0.0,0.0,0.0,0.0,0.013013831083719],[1.047085822773363,-29.949294943496067,1.046864900957583,-150.093855176386882,1.049515742684503,89.949319817593946,0.0,0.0,0.0,0.0,0.0,0.0,0.013539575056184],[1.047122236211611,-29.951820609906971,1.046990212558795,-150.092067668457759,1.049521394555195,89.951642023631862,0.0,0.0,0.0,0.0,0.0,0.0,0.014127335716735],[1.045922998800835,-29.934349395969555,1.046897637563953,-150.119979230941169,1.049795649735844,89.966899744259038,0.0,0.0,0.0,0.0,0.0,0.0,0.033517356258294],[1.046011078697743,-29.935354112088806,1.046895597499117,-150.11806228782558,1.049782137243474,89.965666081418377,0.0,0.0,0.0,0.0,0.0,0.0,0.032023780057406],[1.046011078697743,-29.935354112088806,1.046895597499117,-150.11806228782558,1.049782137243474,89.965666081418377,0.0,0.0,0.0,0.0,0.0,0.0,0.032023780057406],[1.046075617355713,-29.936058001055404,1.046893807034448,-150.116348516392179,1.049770136808118,89.964563570738093,0.0,0.0,0.0,0.0,0.0,0.0,0.031151758170117],[1.047100349948272,-29.950330958679604,1.046912000259767,-150.093088912585301,1.049481586074122,89.950004648453628,0.0,0.0,0.0,0.0,0.0,0.0,0.013236737767123],[1.047043562748182,-29.946297182566362,1.046726339084615,-150.096055621982572,1.049520158514536,89.946894703855222,0.0,0.0,0.0,0.0,0.0,0.0,0.013008020043633],[1.047085822773364,-29.949294943496039,1.046864900957584,-150.093855176386882,1.049515742684504,89.949319817593988,0.0,0.0,0.0,0.0,0.0,0.0,0.013539575056184],[1.047122236211621,-29.951820609906651,1.046990212558806,-150.092067668457418,1.049521394555205,89.951642023632175,0.0,0.0,0.0,0.0,0.0,0.0,0.014127335716735],[1.045890722076525,-29.933981176320554,1.046898385428571,-150.12068169109719,1.049800601489301,89.96735181090061,0.0,0.0,0.0,0.0,0.0,0.0,0.034065575021605],[1.045922998800835,-29.934349395969555,1.046897637563953,-150.119979230941169,1.049795649735844,89.966899744259038,0.0,0.0,0.0,0.0,0.0,0.0,0.033517356258294],[1.046074593307026,-29.93604408591364,1.04689381014213,-150.116349321221321,1.049770148003266,89.964564118056174,0.0,0.0,0.0,0.0,0.0,0.0,0.031184345601261],[1.047100358764858,-29.950331796706262,1.046912009075702,-150.0930880744109,1.049480349099249,89.949999519634105,0.0,0.0,0.0,0.0,0.0,0.0,0.013219103898583],[1.047043006844025,-29.94625774595335,1.046724516338326,-150.096084572327328,1.049520216616207,89.946862802060082,0.0,0.0,0.0,0.0,0.0,0.0,0.01300148521097],[1.047085822773364,-29.949294943495992,1.046864900957584,-150.093855176386825,1.049515742684504,89.949319817594016,0.0,0.0,0.0,0.0,0.0,0.0,0.013539575056184],[1.047122236211622,-29.951820609906637,1.046990212558806,-150.092067668457418,1.049521394555206,89.951642023632189,0.0,0.0,0.0,0.0,0.0,0.0,0.014127335716735],[1.045829305041696,-29.933287481940802,1.046899284358864,-150.122002613188698,1.049808801853736,89.968193698917816,0.0,0.0,0.0,0.0,0.0,0.0,0.035100882912144],[1.045890722076525,-29.933981176320554,1.046898385428571,-150.12068169109719,1.049800601489301,89.96735181090061,0.0,0.0,0.0,0.0,0.0,0.0,0.034065575021605],[1.045869735139819,-29.933695858281315,1.046898449125323,-150.120698185409651,1.049800830937856,89.967363026516281,0.0,0.0,0.0,0.0,0.0,0.0,0.034736091838568],[1.046073899594394,-29.936034659481098,1.046893812247335,-150.116349866429942,1.049770155587096,89.964564488821239,0.0,0.0,0.0,0.0,0.0,0.0,0.031206421661168],[1.047100362977475,-29.950332197120375,1.046912013288008,-150.093087673926163,1.049479758065267,89.94999706904926,0.0,0.0,0.0,0.0,0.0,0.0,0.013210710457628],[1.047042419630821,-29.946216088149882,1.046722590931785,-150.096115153320028,1.049520277990621,89.946829103499056,0.0,0.0,0.0,0.0,0.0,0.0,0.012994595758043],[1.047085822773366,-29.949294943495939,1.046864900957585,-150.093855176386768,1.049515742684505,89.949319817594102,0.0,0.0,0.0,0.0,0.0,0.0,0.013539575056184],[1.047122236211622,-29.951820609906637,1.046990212558806,-150.092067668457389,1.049521394555206,89.951642023632189,0.0,0.0,0.0,0.0,0.0,0.0,0.014127335716735],[1.045741280192782,-29.932293112335003,1.04690057367825,-150.123895801944087,1.049820555274103,89.969400299916998,0.0,0.0,0.0,0.0,0.0,0.0,0.036587652403964],[1.045829305041696,-29.933287481940802,1.046899284358864,-150.122002613188698,1.049808801853736,89.968193698917816,0.0,0.0,0.0,0.0,0.0,0.0,0.035100882912144],[1.045869127812272,-29.933687601471981,1.046898450968529,-150.120698662728302,1.049800837577648,89.96736335107785,0.0,0.0,0.0,0.0,0.0,0.0,0.03475550026971],[1.045865697836511,-29.9336409696629,1.046898461378294,-150.120701358459115,1.049800875076886,89.96736518408926,0.0,0.0,0.0,0.0,0.0,0.0,0.034865117302422],[1.046072845889495,-29.936020341311448,1.046893815444995,-150.116350694566876,1.049770167106434,89.964565051989552,0.0,0.0,0.0,0.0,0.0,0.0,0.031239954751498],[1.047100365646052,-29.950332450771736,1.046912015956389,-150.093087420230034,1.049479383661445,89.949995516669517,0.0,0.0,0.0,0.0,0.0,0.0,0.01320540421673],[1.047041135706528,-29.946125004297979,1.046718381082147,-150.096182018246395,1.049520412185394,89.946755422497361,0.0,0.0,0.0,0.0,0.0,0.0,0.012979580336459],[1.047085822773367,-29.949294943495861,1.046864900957586,-150.093855176386683,1.049515742684506,89.949319817594173,0.0,0.0,0.0,0.0,0.0,0.0,0.013539575056184],[1.047122236211622,-29.95182060990664,1.046990212558806,-150.092067668457418,1.049521394555206,89.951642023632189,0.0,0.0,0.0,0.0,0.0,0.0,0.014127335716735],[1.045687561730527,-29.931686199819545,1.046901361050768,-150.125051148982664,1.049827728202065,89.970136634569258,0.0,0.0,0.0,0.0,0.0,0.0,0.037496521488391],[1.045741280192782,-29.932293112335003,1.04690057367825,-150.123895801944087,1.049820555274103,89.969400299916998,0.0,0.0,0.0,0.0,0.0,0.0,0.036587652403964],[1.045868871109322,-29.933684111511539,1.046898451747607,-150.120698864479579,1.04980084038413,89.967363488262322,0.0,0.0,0.0,0.0,0.0,0.0,0.034763703832442],[1.045863114422757,-29.933605846978093,1.046898469218706,-150.120703388849336,1.049800903320742,89.967366564690025,-0.000049999998737,-0.000016434205463,0.0,0.0,0.0,0.0,0.034947684941868],[1.046071246788406,-29.935998612020651,1.046893820297737,-150.116351951346331,1.049770184588144,89.964565906653007,0.0,0.0,0.0,0.0,0.0,0.0,0.031290846760002],[1.047100367450339,-29.950332622271297,1.046912017760543,-150.093087248700215,1.049479130518337,89.949994467068947,0.0,0.0,0.0,0.0,0.0,0.0,0.013201821285357],[1.047012016554052,-29.944059130706726,1.046622900592012,-150.097698682612133,1.049523456224679,89.945084316668982,0.0,0.0,0.0,0.0,0.0,0.0,0.012657281086683],[1.047085822773367,-29.949294943495804,1.046864900957587,-150.093855176386626,1.049515742684507,89.949319817594216,0.0,0.0,0.0,0.0,0.0,0.0,0.013539575056184],[1.047122236211622,-29.95182060990664,1.046990212558806,-150.092067668457418,1.049521394555206,89.951642023632189,0.0,0.0,0.0,0.0,0.0,0.0,0.014127335716735],[1.045678310875134,-29.931581677014574,1.046901496685973,-150.125250111326778,1.049828963469441,89.970263437873797,0.0,0.0,0.0,0.0,0.0,0.0,0.037653148279492],[1.045687561730527,-29.931686199819545,1.046901361050768,-150.125051148982664,1.049827728202065,89.970136634569258,0.0,0.0,0.0,0.0,0.0,0.0,0.037496521488391],[1.045868720275704,-29.933682060878432,1.046898452205378,-150.120698983024681,1.049800842033163,89.967363568869232,0.0,0.0,0.0,0.0,0.0,0.0,0.034768524106882],[1.046070112279084,-29.935983195766383,1.046893823740581,-150.116352842989869,1.049770196990823,89.964566513008464,0.0,0.0,0.0,0.0,0.0,0.0,0.031326954585907],[1.047100369967102,-29.950332861492459,1.04691202027712,-150.093087009436857,1.049478777414327,89.949993003002262,0.0,0.0,0.0,0.0,0.0,0.0,0.013196829925192],[1.047012042805372,-29.944056662139182,1.046619246802299,-150.097713614130384,1.049523482251109,89.945081846823641,0.0,0.0,0.0,0.0,0.0,0.0,0.012617750914496],[1.047007454915332,-29.943749688602892,1.046608599879996,-150.097928799380213,1.04952383730737,89.944835497000625,0.0,0.0,0.0,0.0,0.0,0.0,0.012614367613875],[1.047085822773368,-29.949294943495772,1.046864900957587,-150.093855176386626,1.049515742684507,89.949319817594244,0.0,0.0,0.0,0.0,0.0,0.0,0.013539575056184],[1.045680599433417,-29.931638628395195,1.046899151627277,-150.125131504493282,1.049823269942817,89.970151412885528,0.0,0.0,0.0,0.0,0.0,0.0,0.037575635026098],[1.045678310875134,-29.931581677014592,1.046901496685972,-150.125250111326835,1.049828963469441,89.970263437873797,0.0,0.0,0.0,0.0,0.0,0.0,0.037653148279492],[1.045583987634361,-29.930298381466528,1.046901783228823,-150.125324245000797,1.049829995084934,89.9703138385497,0.0,0.0,0.0,0.0,0.0,0.0,0.040678417608039],[1.045868581463385,-29.933680173678322,1.046898452626665,-150.120699092121811,1.04980084355077,89.96736364305184,0.0,0.0,0.0,0.0,0.0,0.0,0.034772960224304],[1.046069337168886,-29.935972663179278,1.046893826092764,-150.116353452171325,1.049770205464472,89.964566927277687,0.0,0.0,0.0,0.0,0.0,0.0,0.031351624654954],[1.047100371887914,-29.950333044067925,1.046912022197791,-150.093086826829193,1.04947850792257,89.949991885614395,0.0,0.0,0.0,0.0,0.0,0.0,0.013193025497387],[1.047012065955481,-29.944054485197054,1.046616024654714,-150.097726781793625,1.049523505202896,89.945079668754673,0.0,0.0,-0.000034000000596,-0.00000001117526,0.0,0.0,0.012583658245278],[1.047004994051985,-29.943582752169583,1.046600885054791,-150.098052943517359,1.049524042898776,89.94470126586107,0.0,0.0,0.0,0.0,0.0,0.0,0.012591541969202],[1.047085822773368,-29.949294943495744,1.046864900957588,-150.093855176386597,1.049515742684507,89.949319817594272,0.0,0.0,0.0,0.0,0.0,0.0,0.013539575056184],[1.045682284085734,-29.931680551239776,1.046897425387448,-150.125044195388142,1.049819078831205,89.970068948366048,0.0,0.0,0.0,0.0,0.0,0.0,0.037518650859553],[1.045680599433417,-29.931638628395195,1.046899151627277,-150.125131504493282,1.049823269942817,89.970151412885528,0.0,0.0,0.0,0.0,0.0,0.0,0.037575635026098],[1.045528250286912,-29.929539946866189,1.046901952507502,-150.12536805214549,1.049830604641957,89.970343621258863,0.0,0.0,0.0,0.0,0.0,0.0,0.042467861431749],[1.045868457793278,-29.933678492341258,1.046898453001996,-150.120699189318231,1.04980084490283,89.967363709142333,0.0,0.0,0.0,0.0,0.0,0.0,0.034776912443553],[1.046068724679739,-29.93596434035749,1.046893827951445,-150.11635393354419,1.049770212160313,89.964567254631646,0.0,0.0,0.0,0.0,0.0,0.0,0.031371119294057],[1.047100385595258,-29.950334346966894,1.046912035904124,-150.093085523700637,1.049476584769839,89.94998391167087,0.0,0.0,0.0,0.0,0.0,0.0,0.013166002705144],[1.047004626537134,-29.943557821118645,1.046599732891009,-150.098071483877959,1.049524073603137,89.944681219227022,0.0,0.0,0.0,0.0,0.0,0.0,0.012588152746273],[1.047085822773369,-29.949294943495737,1.046864900957588,-150.093855176386569,1.049515742684508,89.949319817594301,0.0,0.0,0.0,0.0,0.0,0.0,0.013539575056184],[1.045684577742993,-29.931737629031002,1.046895075113542,-150.124925323463032,1.049813372630689,89.969956671755085,0.0,0.0,0.0,0.0,0.0,0.0,0.03744116942818],[1.045682284085734,-29.931680551239776,1.046897425387448,-150.125044195388142,1.049819078831205,89.970068948366048,0.0,0.0,0.0,0.0,0.0,0.0,0.037518650859553],[1.045484087116201,-29.92893894667711,1.046902086610874,-150.125402762585736,1.049831087597975,89.970367219428638,0.0,0.0,0.0,0.0,0.0,0.0,0.043886518775903],[1.045868329499593,-29.933676748144613,1.046898453391359,-150.120699290148423,1.049800846305439,89.967363777703696,0.0,0.0,0.0,0.0,0.0,0.0,0.03478101243351],[1.046066760876734,-29.935937655111182,1.046893833910847,-150.116355476953714,1.049770233628934,89.96456830421559,0.0,0.0,0.0,0.0,0.0,0.0,0.031433626922332],[1.047100392989533,-29.950335049795218,1.046912043297754,-150.093084820745389,1.049475547353391,89.949979610010772,0.0,0.0,0.0,0.0,0.0,0.0,0.013151518182395],[1.047100504467611,-29.950345645936707,1.046912154768,-150.093074222748754,1.049459906854279,89.949914759656963,0.0,0.0,0.0,0.0,-0.000155000001541,-0.000000050946035,0.012941145940042],[1.047004345999692,-29.943538790320712,1.046598853402182,-150.098085636443102,1.049524097040986,89.944665916896355,0.0,0.0,0.0,0.0,0.0,0.0,0.012585569073409],[1.047085822773369,-29.949294943495722,1.046864900957589,-150.09385517638654,1.049515742684508,89.949319817594315,0.0,0.0,0.0,0.0,0.0,0.0,0.013539575056184],[1.045686200865171,-29.931778020351729,1.046893411929574,-150.124841202645797,1.049809334603035,89.969877217740034,0.0,0.0,0.0,0.0,0.0,0.0,0.037386411023528],[1.045684577742993,-29.931737629031002,1.046895075113542,-150.124925323463032,1.049813372630689,89.969956671755085,0.0,0.0,0.0,0.0,0.0,0.0,0.03744116942818],[1.045465838588742,-29.928690594052682,1.046902142017215,-150.125417105204889,1.049831287152797,89.970376970357904,0.0,0.0,0.0,0.0,0.0,0.0,0.044472908162686],[1.045867942201671,-29.933671482693956,1.046898454566784,-150.120699594538621,1.049800850539687,89.96736398467938,0.0,0.0,0.0,0.0,0.0,0.0,0.034793389712322],[1.046050876638263,-29.935721807480046,1.046893882112002,-150.116367960841785,1.049770407276585,89.964576793785426,0.0,0.0,0.0,0.0,0.0,0.0,0.031939365356466],[1.047100401154503,-29.950335825878231,1.046912051462011,-150.093084044522215,1.049474401808655,89.949974859985488,0.0,0.0,0.0,0.0,0.0,0.0,0.013135599534341],[1.047004083624818,-29.943520991599392,1.046598030852995,-150.098098872768929,1.049524118961496,89.944651605264866,0.0,0.0,0.0,0.0,0.0,0.0,0.012583155373206],[1.04708582277337,-29.949294943495708,1.046864900957589,-150.09385517638654,1.049515742684509,89.949319817594315,0.0,0.0,0.0,0.0,0.0,0.0,0.013539575056184],[1.045690740002766,-29.931890975847779,1.046888760772095,-150.12460595354338,1.049798042086135,89.969655017735889,0.0,0.0,0.0,0.0,0.0,0.0,0.037233595156967],[1.045686200865171,-29.931778020351729,1.046893411929574,-150.124841202645797,1.049809334603035,89.969877217740034,0.0,0.0,0.0,0.0,0.0,0.0,0.037386411023528],[1.045464798819999,-29.928676443588227,1.046902145173388,-150.125417922419103,1.049831298522074,89.970377525951761,0.0,0.0,0.0,0.0,0.0,0.0,0.044506322737587],[1.045403984090252,-29.927848715049787,1.046902329802722,-150.125465720541285,1.049831963542001,89.970410021697688,0.0,0.0,0.0,0.0,0.0,0.0,0.046461273296346],[1.045867551898428,-29.93366617638085,1.046898455751328,-150.120699901290749,1.049800854806791,89.967364193261105,0.0,0.0,0.0,0.0,0.0,0.0,0.03480586314321],[1.046050085619068,-29.935711058308222,1.0468938845123,-150.116368582527201,1.049770415923996,89.964577216557544,0.0,0.0,0.0,0.0,0.0,0.0,0.031964557244816],[1.047100423286182,-29.950337929501465,1.04691207359176,-150.093081940519028,1.049471296735474,89.949961984682076,0.0,0.0,0.0,0.0,-0.000028000000384,-0.000000009203155,0.01309285211842],[1.047003803834836,-29.943502011472372,1.046597153706899,-150.098112987683123,1.049524142337057,89.94463634369491,0.0,0.0,0.0,0.0,0.0,0.0,0.012580584341288],[1.04708582277337,-29.949294943495712,1.046864900957589,-150.09385517638654,1.049515742684509,89.949319817594315,0.0,0.0,0.0,0.0,0.0,0.0,0.013539575056184],[1.04569402678697,-29.93197276611464,1.046885392888035,-150.124435608771023,1.049789865204064,89.969494120113865,0.0,0.0,0.0,0.0,0.0,0.0,0.037123236858277],[1.045690740002766,-29.931890975847779,1.046888760772095,-150.12460595354338,1.049798042086135,89.969655017735889,0.0,0.0,0.0,0.0,0.0,0.0,0.037233595156967],[1.045464416216582,-29.928671236638504,1.046902146334762,-150.125418223129259,1.049831302705621,89.970377730393437,0.0,0.0,0.0,0.0,0.0,0.0,0.044518618375378],[1.045357190933768,-29.92721176264681,1.046902471835922,-150.125502498335806,1.049832475206395,89.970435025168825,-0.000822999980301,-0.000270507007372,0.0,0.0,0.0,0.0,0.047966198700608],[1.045863905054523,-29.933616596028873,1.046898466819173,-150.120702767465502,1.049800894676894,89.967366142169098,-0.000052999999753,-0.000017420257791,0.0,0.0,0.0,0.0,0.034922415316695],[1.04604946147733,-29.935702576824937,1.046893886406216,-150.116369073058735,1.0497704227471,89.964577550139509,0.0,0.0,0.0,0.0,0.0,0.0,0.031984434959286],[1.047003556254924,-29.94348521636665,1.046596377539648,-150.098125477680156,1.049524163021638,89.944622839067606,0.0,0.0,0.0,0.0,0.0,0.0,0.012578311770626],[1.04708582277337,-29.949294943495712,1.046864900957589,-150.09385517638654,1.049515742684509,89.949319817594315,0.0,0.0,0.0,0.0,0.0,0.0,0.013539575056184],[1.045694574977129,-29.932008493703485,1.046885480370136,-150.124393478388384,1.049787863467424,89.969475720697218,0.0,0.0,0.0,0.0,0.0,0.0,0.037109572936381],[1.04569402678697,-29.93197276611464,1.046885392888035,-150.124435608771023,1.049789865204064,89.969494120113865,0.0,0.0,0.0,0.0,0.0,0.0,0.037123236858277],[1.045694080188303,-29.931967742347297,1.046877964993305,-150.124466079833013,1.049789918059602,89.969489098555741,0.0,0.0,0.0,0.0,0.0,0.0,0.036970003741991],[1.045463846300318,-29.928663480492098,1.046902148064711,-150.12541867105935,1.049831308937323,89.970378034924593,0.0,0.0,0.0,0.0,0.0,0.0,0.044536933728525],[1.046048755868167,-29.93569298826554,1.046893888547333,-150.1163696276179,1.0497704304608,89.96457792726298,0.0,0.0,0.0,0.0,0.0,0.0,0.03200690771666],[1.047003303024711,-29.943468037946371,1.046595583658369,-150.098138252749351,1.049524184178352,89.944609026231461,0.0,0.0,0.0,0.0,0.0,0.0,0.012575989743451],[1.045694704778553,-29.932016953335026,1.046885501084374,-150.124383502688346,1.049787389492957,89.969471364042931,0.0,0.0,0.0,0.0,0.0,0.0,0.037106341581336],[1.045694574977129,-29.932008493703485,1.046885480370136,-150.124393478388384,1.049787863467424,89.969475720697218,0.0,0.0,0.0,0.0,0.0,0.0,0.037109572936381],[1.045694086939169,-29.931967107254973,1.046877025977067,-150.124469931940808,1.049789924741471,89.969488463742692,0.0,0.0,0.0,0.0,0.0,0.0,0.036950692256718],[1.045463503368689,-29.928658813437533,1.046902149105659,-150.125418940589128,1.049831312687079,89.970378218167937,0.0,0.0,0.0,0.0,0.0,0.0,0.044547954544014],[1.046048127853694,-29.935684454133259,1.046893890452991,-150.116370121193142,1.049770437326232,89.964578262914784,0.0,0.0,0.0,0.0,0.0,0.0,0.032026909593135],[1.047001996032565,-29.94337937506992,1.046591486210639,-150.098204188846609,1.04952429337515,89.944537734239134,0.0,0.0,0.0,0.0,0.0,0.0,0.012564043887015],[1.045698223653426,-29.932246289863009,1.046886062651384,-150.124113065483414,1.049774540231416,89.969353255336472,0.0,0.0,0.0,0.0,0.0,0.0,0.037019327594575],[1.045694704778553,-29.932016953335026,1.046885501084374,-150.124383502688346,1.049787389492957,89.969471364042931,0.0,0.0,0.0,0.0,0.0,0.0,0.037106341581336],[1.045694704778555,-29.932016953334969,1.046885501084376,-150.124383502688289,1.04978738949296,89.969471364042988,0.0,0.0,0.0,0.0,0.0,0.0,0.037106341581336],[1.04569409192086,-29.931966638598993,1.046876333045364,-150.124472774545382,1.049789929672246,89.969487995292766,0.0,0.0,0.0,0.0,0.0,0.0,0.036936450322191],[1.045463089576583,-29.92865318201828,1.046902150361698,-150.125419265812212,1.04983131721165,89.970378439275152,0.0,0.0,0.0,0.0,0.0,0.0,0.044561252656415],[1.04604740500908,-29.935674631334589,1.046893892646398,-150.116370689298236,1.049770445228339,89.964578649250001,0.0,0.0,0.0,0.0,0.0,0.0,0.032049932230497],[1.047002015073126,-29.943377584675716,1.04658883617765,-150.098215017411405,1.04952431225135,89.944535942893666,0.0,0.0,0.0,0.0,0.0,0.0,0.012536645844284],[1.04699913202285,-29.943192435409525,1.046582847364383,-150.098344793351202,1.049524483069298,89.94438822266909,0.0,0.0,0.0,0.0,0.0,0.0,0.012540268319313],[1.045700689741508,-29.932407011278837,1.046886456219516,-150.123923539375312,1.049765535286865,89.969270481333922,0.0,0.0,0.0,0.0,0.0,0.0,0.036959024253315],[1.045698223653426,-29.932246289863009,1.046886062651384,-150.124113065483414,1.049774540231416,89.969353255336472,0.0,0.0,0.0,0.0,0.0,0.0,0.037019327594575],[1.045694704778556,-29.932016953334966,1.046885501084377,-150.124383502688289,1.049787389492961,89.969471364042988,0.0,0.0,0.0,0.0,0.0,0.0,0.037106341581335],[1.045694096768085,-29.931966182593076,1.046875658817503,-150.124475540424982,1.049789934469929,89.969487539487417,0.0,0.0,0.0,0.0,0.0,0.0,0.036922599879432],[1.045462726249563,-29.928648237389552,1.046902151464553,-150.125419551371863,1.049831321184415,89.970378633416658,0.0,0.0,0.0,0.0,0.0,0.0,0.044572929007545],[1.046046663847417,-29.935664559609528,1.04689389489538,-150.116371271799267,1.049770453330682,89.964579045375018,0.0,0.0,0.0,0.0,0.0,0.0,0.032073538797923],[1.047002016170378,-29.943377481500455,1.046588683463891,-150.098215641432034,1.049524313339131,89.944535839663601,0.0,0.0,0.0,0.0,0.0,0.0,0.012535082034124],[1.046985445948445,-29.942299093881292,1.046541565047155,-150.099016731287463,1.049525389655594,89.943673753390783,0.0,0.0,0.0,0.0,0.0,0.0,0.012430474473645],[1.045701390531134,-29.932338849586095,1.046883221978383,-150.12394039129353,1.049766264347687,89.9692034761581,0.0,0.0,0.0,0.0,0.0,0.0,0.036916871730852],[1.045701192846447,-29.932453305836358,1.04688693351598,-150.123876484929639,1.049763308087513,89.96925875369277,0.0,0.0,0.0,0.0,0.0,0.0,0.036949779711068],[1.045694704778557,-29.932016953334934,1.046885501084378,-150.124383502688232,1.049787389492961,89.969471364043017,0.0,0.0,0.0,0.0,0.0,0.0,0.037106341581335],[1.045694142301189,-29.931961899036171,1.046869325360889,-150.124501522288341,1.049789979537657,89.969483257814133,0.0,0.0,0.0,0.0,0.0,0.0,0.036792835569565],[1.04546034875914,-29.928615881307056,1.046902158681227,-150.125421419978949,1.049831347180822,89.970379903813807,0.0,0.0,0.0,0.0,0.0,0.0,0.044649336164088],[1.046045772974065,-29.935652453416939,1.046893897598641,-150.11637197196319,1.049770463069659,89.964579521515731,0.0,0.0,0.0,0.0,0.0,0.0,0.032101914507524],[1.047002016721459,-29.943377429682037,1.046588606765382,-150.098215954838395,1.049524313885455,89.944535787817642,0.0,0.0,0.0,0.0,0.0,0.0,0.012534297251279],[1.046985516432888,-29.942305796552006,1.046541635532168,-150.099010026014838,1.049515498151023,89.943632684802125,0.0,0.0,0.0,0.0,0.0,0.0,0.012224260472065],[1.046968857733726,-29.941202405810696,1.046492543986764,-150.099853621430384,1.04952861260447,89.942851339896294,0.0,0.0,0.0,0.0,0.0,0.0,0.012330811637287],[1.045702015485736,-29.932278064119476,1.046880337732222,-150.123955419661456,1.049766914514066,89.969143722056813,0.0,0.0,0.0,0.0,0.0,0.0,0.036879317560216],[1.045701390531134,-29.932338849586095,1.046883221978383,-150.12394039129353,1.049766264347687,89.9692034761581,0.0,0.0,0.0,0.0,0.0,0.0,0.036916871730852],[1.045701390531134,-29.932338849586095,1.046883221978383,-150.12394039129353,1.049766264347687,89.9692034761581,0.0,0.0,0.0,0.0,0.0,0.0,0.036916871730852],[1.045701593562185,-29.932491419407359,1.04688733318633,-150.123838382735443,1.049707116801885,89.969024952942718,0.0,0.0,0.0,0.0,0.0,0.0,0.036441982798602],[1.045701192846447,-29.932453305836351,1.04688693351598,-150.123876484929639,1.049763308087513,89.969258753692785,0.0,0.0,0.0,0.0,0.0,0.0,0.036949779711068],[1.045694704778558,-29.932016953334934,1.046885501084378,-150.124383502688232,1.049787389492962,89.969471364043017,0.0,0.0,0.0,0.0,0.0,0.0,0.037106341581335],[1.045694163492707,-29.931959905430439,1.046866377713364,-150.124513614588125,1.049790000512584,89.969481265085037,0.0,0.0,0.0,0.0,0.0,0.0,0.036732653964464],[1.045442818827109,-29.928377305795152,1.046902211890011,-150.125435197772873,1.04983153885811,89.970389270824214,-0.000182000003406,-0.000059820507886,0.0,0.0,0.0,0.0,0.045212762495788],[1.046045214459939,-29.93564486368588,1.046893899293388,-150.116372410916114,1.049770469175299,89.964579820022024,0.0,0.0,0.0,0.0,0.0,0.0,0.032119704450442],[1.047002017183571,-29.943377386229461,1.046588542449522,-150.098216217646694,1.049524314343577,89.944535744341977,0.0,0.0,0.0,0.0,0.0,0.0,0.012533639488254],[1.046985553627739,-29.942309333570449,1.04654167272732,-150.099006487623285,1.049510278375523,89.943611012476481,0.0,0.0,0.0,0.0,-0.000056000000768,-0.000000018406309,0.012117245556354],[1.046952969504753,-29.940151939547679,1.046445590663491,-150.100655288056089,1.049531699818003,89.942063617599885,0.0,0.0,0.0,0.0,0.0,0.0,0.012245692285342],[1.045702015483394,-29.932278064155884,1.046876823224674,-150.123968336823737,1.049766914511725,89.969143722020291,0.0,0.0,0.0,0.0,0.0,0.0,0.036805741244206],[1.045702015485735,-29.932278064119469,1.046880337732222,-150.123955419661456,1.049766914514065,89.969143722056813,0.0,0.0,0.0,0.0,0.0,0.0,0.036879317560216],[1.045702015485735,-29.932278064119469,1.046880337732222,-150.123955419661456,1.049766914514065,89.969143722056813,0.0,0.0,0.0,0.0,0.0,0.0,0.036879317560216],[1.04570168787862,-29.932500390185361,1.046887427256712,-150.123829414635054,1.049693891074629,89.968969919675601,0.0,0.0,0.0,0.0,-0.000250000011874,-0.000000082171027,0.036333934244503],[1.045694704778558,-29.932016953334934,1.046885501084379,-150.124383502688232,1.049787389492963,89.969471364043017,0.0,0.0,0.0,0.0,0.0,0.0,0.037106341581335],[1.045694173438747,-29.931958969750354,1.046864994262729,-150.124519290018839,1.049790010356969,89.96948032981642,0.0,0.0,0.0,0.0,0.0,0.0,0.036704454974138],[1.046042814154198,-29.935612245481636,1.046893906576803,-150.11637429738829,1.049770495415247,89.964581102901604,0.0,0.0,0.0,0.0,0.0,0.0,0.032196163085998],[1.047002017560406,-29.943377350795426,1.04658849000219,-150.098216431957667,1.04952431471716,89.944535708889092,0.0,0.0,0.0,0.0,0.0,0.0,0.012533103321592],[1.046953021164393,-29.940147083516344,1.04643840269247,-150.100684640103708,1.049531751012443,89.942058758625066,0.0,0.0,0.0,0.0,0.0,0.0,0.012191243512675],[1.046947964871217,-29.939907628715552,1.046434752313155,-150.100861575866418,1.049532022644586,89.941892750980926,0.0,0.0,0.0,0.0,0.0,0.0,0.012241342001506],[1.045702015480203,-29.932278064205505,1.046872035657063,-150.123985933109537,1.049766914508536,89.969143721970596,0.0,0.0,0.0,0.0,0.0,0.0,0.036705826342736],[1.045694704778559,-29.93201695333493,1.046885501084379,-150.124383502688232,1.049787389492963,89.969471364043017,0.0,0.0,0.0,0.0,0.0,0.0,0.037106341581335],[1.04569418007291,-29.931958345637284,1.046864071479788,-150.12452307562711,1.049790016923327,89.969479705977818,0.0,0.0,0.0,0.0,0.0,0.0,0.03668566244006],[1.046032694753101,-29.935474729358383,1.046893937282129,-150.116382250531302,1.049770606039063,89.964586511368395,-0.000176000001375,-0.00005784840323,0.0,0.0,0.0,0.0,0.03251856426392],[1.047002018151929,-29.943377295174312,1.046588407675202,-150.098216768363301,1.049524315303576,89.944535653238447,0.0,0.0,0.0,0.0,0.0,0.0,0.012532262088122],[1.046953033831482,-29.940145892803997,1.046436640181968,-150.100691837369226,1.049531763565464,89.942057567190958,0.0,0.0,0.0,0.0,0.0,0.0,0.012178496020904],[1.046946813460115,-29.939851419904244,1.046432258740737,-150.100909037012798,1.049532096918412,89.941853439791288,0.0,0.0,0.0,0.0,0.0,0.0,0.012240384869178],[1.045702015479267,-29.932278064220064,1.046870631410038,-150.123991094327238,1.0497669145076,89.969143721955987,0.0,0.0,0.0,0.0,0.0,0.0,0.036676589028403],[1.045694704778559,-29.932016953334919,1.04688550108438,-150.124383502688232,1.049787389492963,89.969471364043017,0.0,0.0,0.0,0.0,0.0,0.0,0.037106341581335],[1.045694190215309,-29.931957391484609,1.046862660716495,-150.124528863130223,1.049790026962065,89.969478752244782,0.0,0.0,0.0,0.0,0.0,0.0,0.036656957930017],[1.047002019562448,-29.943377162542561,1.046588211361737,-150.098217570542232,1.049524316701919,89.944535520536235,0.0,0.0,0.0,0.0,0.0,0.0,0.012530258049106],[1.046953042529622,-29.940145075174787,1.04643542991478,-150.100696779546382,1.049531772185276,89.94205674906614,0.0,0.0,0.0,0.0,0.0,0.0,0.012169881155441],[1.046946242075119,-29.939823526352818,1.046431021310876,-150.100932589591849,1.049532133776818,89.941833931697374,0.0,0.0,0.0,0.0,0.0,0.0,0.012239915971026],[1.04570201547617,-29.932278064268214,1.046865983614163,-150.124008177094453,1.049766914504505,89.969143721907756,0.0,0.0,-0.000043000000005,-0.000000014133416,0.0,0.0,0.036580043054522],[1.045694704778559,-29.932016953334919,1.04688550108438,-150.124383502688232,1.049787389492964,89.969471364043017,0.0,0.0,0.0,0.0,0.0,0.0,0.037106341581335],[1.045694210023297,-29.931955528035726,1.046859905512454,-150.124540166100502,1.049790046567602,89.969476889615464,0.0,0.0,0.0,0.0,0.0,0.0,0.03660098848358],[1.047002020538298,-29.943377070782866,1.046588075544609,-150.098218125520305,1.049524317669346,89.944535428727818,0.0,0.0,0.0,0.0,0.0,0.0,0.012528873171426],[1.046953054587126,-29.940143941763708,1.046433752222465,-150.100703630492688,1.049531784134202,89.942055614968055,0.0,0.0,0.0,0.0,0.0,0.0,0.012158126087612],[1.046945614167942,-29.939792873484581,1.046429661472361,-150.100958472099791,1.049532174281459,89.941812493828252,0.0,0.0,0.0,0.0,0.0,0.0,0.012239405338054],[1.045694704778559,-29.932016953334934,1.04688550108438,-150.124383502688232,1.049787389492964,89.969471364043017,0.0,0.0,0.0,0.0,0.0,0.0,0.037106341581335],[1.045694215498733,-29.931955012930661,1.046859143903362,-150.12454329054205,1.049790051987076,89.969476374736914,0.0,0.0,0.0,0.0,0.0,0.0,0.036585538180395],[1.047002021779087,-29.943376954110978,1.046587902853954,-150.098218831171806,1.049524318899424,89.94453531199396,0.0,0.0,0.0,0.0,0.0,0.0,0.012527114189807],[1.046953083179075,-29.940141254107534,1.046429773912845,-150.100719876220865,1.049531812468677,89.942052925682802,0.0,0.0,0.0,0.0,0.0,0.0,0.012131123188033],[1.046944889656909,-29.939757504592606,1.046428092421429,-150.100988336744138,1.04953222101796,89.941787757721116,0.0,0.0,0.0,0.0,0.0,0.0,0.01223882219418],[1.04569470477856,-29.93201695333493,1.046885501084381,-150.124383502688232,1.049787389492964,89.969471364043017,0.0,0.0,0.0,0.0,0.0,0.0,0.037106341581335],[1.04569421708834,-29.931954863387393,1.046858922796029,-150.124544197618377,1.049790053560437,89.969476225259427,0.0,0.0,0.0,0.0,0.0,0.0,0.036581054423905],[1.047002022532855,-29.9433768832338,1.046587797945851,-150.098219259849174,1.049524319646686,89.944535241079123,0.0,0.0,0.0,0.0,0.0,0.0,0.012526046652526],[1.046953104913666,-29.940139211046208,1.046426749742205,-150.10073222573331,1.049531834007547,89.942050881383054,0.0,0.0,0.0,0.0,0.0,0.0,0.012111421068336],[1.046944157225966,-29.939721749000551,1.046426506218017,-150.10101852795782,1.049532268265571,89.941762751202702,0.0,0.0,0.0,0.0,0.0,0.0,0.012238239265783],[1.04569470477856,-29.932016953334919,1.046885501084381,-150.124383502688232,1.049787389492965,89.969471364043017,0.0,0.0,0.0,0.0,0.0,0.0,0.037106341581335],[1.045694217708857,-29.931954805011873,1.046858836484855,-150.124544551704105,1.049790054174612,89.969476166909573,0.0,0.0,0.0,0.0,0.0,0.0,0.036579304359724],[1.045694221116763,-29.931954484411097,1.04685836246013,-150.124546496353901,1.049790057547686,89.969475846449626,0.0,0.0,0.0,0.0,0.0,0.0,0.036569695031449],[1.047002023213347,-29.943376819246815,1.046587703236209,-150.098219646853522,1.049524320321304,89.944535177058157,0.0,0.0,0.0,0.0,0.0,0.0,0.012525083562303],[1.04695312017102,-29.94013777684825,1.046424626820399,-150.100740894946,1.049531849127507,89.94204944631575,0.0,0.0,0.0,0.0,0.0,0.0,0.012098018031609],[1.046943345232092,-29.939682109248125,1.046424747706904,-150.101051998926323,1.049532320645876,89.941735028248488,0.0,0.0,0.0,0.0,0.0,0.0,0.012237600760498],[1.045694704778561,-29.932016953334934,1.046885501084382,-150.124383502688232,1.049787389492966,89.969471364043017,0.0,0.0,0.0,0.0,0.0,0.0,0.037106341581335],[1.045694218289608,-29.93195475037734,1.046858755704932,-150.124544883098281,1.049790054749427,89.969476112299105,0.0,0.0,0.0,0.0,0.0,0.0,0.036577666554981],[1.045694226432532,-29.931953984326974,1.046857623060107,-150.124549529690142,1.049790062809122,89.969475346585227,0.0,0.0,0.0,0.0,0.0,0.0,0.03655471316201],[1.047002024361022,-29.943376711330522,1.046587543505049,-150.098220299550178,1.049524321459072,89.944535069084537,0.0,0.0,0.0,0.0,0.0,0.0,0.012523460713594],[1.046953136154434,-29.94013627440048,1.046422402874131,-150.10074997674235,1.049531864966988,89.94204794295726,0.0,0.0,0.0,0.0,0.0,0.0,0.01208435690315],[1.046942164423761,-29.93962446463393,1.046422190463957,-150.10110067292743,1.049532396818232,89.94169471327001,0.0,0.0,0.0,0.0,0.0,0.0,0.012236686777546],[1.045694704778561,-29.932016953334934,1.046885501084382,-150.124383502688232,1.049787389492966,89.969471364043017,0.0,0.0,0.0,0.0,0.0,0.0,0.037106341581335],[1.045694218887857,-29.931954694096731,1.046858672491187,-150.124545224477089,1.049790055341562,89.969476056043248,0.0,0.0,0.0,0.0,0.0,0.0,0.036575979512529],[1.045694248516694,-29.931951906746299,1.046854551250411,-150.124562131618063,1.049790084667564,89.969473269917302,0.0,0.0,0.0,0.0,0.0,0.0,0.036492564294639],[1.047002025489341,-29.943376605234185,1.046587386467712,-150.098220941239418,1.04952432257765,89.94453496293184,0.0,0.0,0.0,0.0,0.0,0.0,0.012521866993216],[1.046953149276975,-29.940135040876036,1.046420576992275,-150.100757433015843,1.04953187797136,89.942046708685069,0.0,0.0,0.0,0.0,0.0,0.0,0.012073432350032],[1.046940747243577,-29.939605256830319,1.046422194766139,-150.101101787100987,1.049532412299637,89.941695471427323,0.0,0.0,0.0,0.0,0.0,0.0,0.012274604050652],[1.046939973876871,-29.939475884804836,1.046415055691357,-150.101208745061371,1.049532250524958,89.941566138347014,0.0,0.0,0.0,0.0,0.0,0.0,0.012216851674502],[1.045694704778561,-29.932016953334951,1.046885501084382,-150.124383502688289,1.049787389492966,89.969471364043002,0.0,0.0,0.0,0.0,0.0,0.0,0.037106341581335],[1.045694223213327,-29.931954287175358,1.046858070837124,-150.124547692724491,1.049790059622824,89.969475649300733,0.0,0.0,0.0,0.0,0.0,0.0,0.036563785072045],[1.045694257895308,-29.931951024447652,1.046853246726546,-150.124567483376893,1.049790093950321,89.969472388006267,0.0,0.0,-0.00005500000043,-0.000000018077627,0.0,0.0,0.036466216518884],[1.0470020260232,-29.943376555035179,1.046587312166204,-150.098221244851885,1.049524323106902,89.944534912706217,0.0,0.0,0.0,0.0,0.0,0.0,0.012521113539756],[1.046953171004292,-29.940132998499184,1.046417553834574,-150.10076977860939,1.04953189950302,89.942044665070228,0.0,0.0,0.0,0.0,0.0,0.0,0.012055923952264],[1.046939896227013,-29.939593722520495,1.046422197349588,-150.101102456162181,1.049532421596208,89.941695926700731,0.0,0.0,0.0,0.0,0.0,0.0,0.012297399169577],[1.046926102993851,-29.938535028939793,1.046369876764222,-150.101893116727155,1.049531324282256,89.940751971717304,0.0,0.0,0.0,0.0,0.0,0.0,0.012095597421691],[1.045694704778561,-29.932016953334951,1.046885501084382,-150.124383502688289,1.049787389492966,89.969471364043002,0.0,0.0,0.0,0.0,0.0,0.0,0.037106341581335],[1.045694254711883,-29.931951323928761,1.04685368952547,-150.124565666861457,1.049790090799457,89.969472687356671,0.0,0.0,-0.000045000000682,-0.000000014790785,0.0,0.0,0.036475156770858],[1.047002026609572,-29.943376499898395,1.046587230556077,-150.098221578329031,1.049524323688211,89.944534857540148,0.0,0.0,0.0,0.0,0.0,0.0,0.012520286423635],[1.04695324122055,-29.940126398142983,1.046407783885061,-150.100809676397233,1.049531969086975,89.942038060713145,0.0,0.0,0.0,0.0,0.0,0.0,0.012004318170207],[1.046939106786012,-29.939583022762001,1.046422199746105,-150.101103076813274,1.049532430220117,89.941696349032696,0.0,0.0,0.0,0.0,0.0,0.0,0.012318562135358],[1.04691617441592,-29.937861551032139,1.046337537874137,-150.102383024784302,1.049530661406732,89.940169192114624,0.0,0.0,0.0,0.0,0.0,0.0,0.012013500505704],[1.047002027172364,-29.943376446978888,1.046587152227829,-150.098221898395735,1.049524324246145,89.944534804592522,0.0,0.0,0.0,0.0,0.0,0.0,0.012519493012672],[1.046953405289587,-29.940110975596443,1.046384955189626,-150.10090290542567,1.049532131678556,89.94202262881808,0.0,0.0,-0.000228000004427,-0.000000074939976,0.0,0.0,0.011913796931284],[1.046938336502444,-29.939572582639528,1.046422202084458,-150.101103682402936,1.049532438634743,89.941696761115892,0.0,0.0,0.0,0.0,0.0,0.0,0.012339227405864],[1.046916288459815,-29.937872398976136,1.046337651927683,-150.102372171530646,1.049514654457032,89.940102690087215,0.0,0.0,0.0,0.0,0.0,0.0,0.011639835931137],[1.046885717918923,-29.935743443041897,1.046243022478052,-150.103978052297492,1.049537671838894,89.938574694903352,0.0,0.0,0.0,0.0,0.0,0.0,0.011907091036547],[1.047002027851085,-29.943376383158377,1.046587057764611,-150.098222284393586,1.049524324919008,89.944534740738135,0.0,0.0,0.0,0.0,0.0,0.0,0.012518536743513],[1.046937758738154,-29.93956475183781,1.046422203838375,-150.101104136635826,1.049532444946271,89.94169707020589,0.0,0.0,0.0,0.0,0.0,0.0,0.012354737982677],[1.046916294105429,-29.937872935991468,1.046337657573781,-150.102371634252449,1.04951386205083,89.940099397939619,0.0,0.0,0.0,0.0,0.0,0.0,0.011621592547001],[1.04691630246963,-29.937873731599378,1.046337665938666,-150.102370838255069,1.049512688072004,89.940094520419422,0.0,0.0,0.0,0.0,0.0,0.0,0.011594610045873],[1.046885774539457,-29.93573812239968,1.046235146488736,-150.104010205377676,1.049537727930248,89.938569370782204,0.0,0.0,0.0,0.0,0.0,0.0,0.011877293358781],[1.046879202503536,-29.93531950372137,1.046224134216261,-150.104303700403108,1.049538950786972,89.938259594733921,0.0,0.0,0.0,0.0,0.0,0.0,0.011895203544164],[1.047002028933733,-29.943376281356599,1.046586907083815,-150.098222900109192,1.049524325992311,89.944534638882303,0.0,0.0,0.0,0.0,0.0,0.0,0.012517012681169],[1.046936840921576,-29.939552312075971,1.046422206624582,-150.101104858214683,1.049532454972542,89.941697561215676,0.0,0.0,0.0,0.0,0.0,0.0,0.0123793955115],[1.046916295871977,-29.937873104026913,1.046337659340481,-150.10237146613477,1.049513614101996,89.940098367805106,0.0,0.0,0.0,0.0,0.0,0.0,0.011615889177375],[1.046916331009826,-29.93787644636226,1.046337694481241,-150.102368122163227,1.049508682236669,89.940077877427242,0.0,0.0,0.0,0.0,-0.000048000001698,-0.000000015776838,0.011502956467071],[1.046885807341237,-29.935735040010922,1.046230583719566,-150.104028832730478,1.04953776042546,89.938566286378006,0.0,0.0,-0.000043000000005,-0.000000014133416,0.0,0.0,0.011862363592208],[1.046867266916734,-29.934486450934248,1.04618940767451,-150.1047719607445,1.049540832636754,89.937745369754353,0.0,0.0,0.0,0.0,0.0,0.0,0.011905176470716],[1.047002031896821,-29.943376002736429,1.046586494687226,-150.098224585255252,1.04952432892982,89.944534360114247,0.0,0.0,0.0,0.0,0.0,0.0,0.012512849719552],[1.046935293447303,-29.939531338105471,1.046422211322213,-150.101106074824628,1.049532471877205,89.941698389077203,0.0,0.0,0.0,0.0,0.0,0.0,0.0124210186387],[1.046916297007817,-29.937873212068848,1.046337660476417,-150.102371358039989,1.049513454678076,89.940097705458186,0.0,0.0,0.0,0.0,0.0,0.0,0.011612223362647],[1.046835783879676,-29.93228890557246,1.046097805175211,-150.106007302555099,1.04954579703524,89.936388938912188,0.0,0.0,0.0,0.0,0.0,0.0,0.01196009724431],[1.046867266916735,-29.934486450934234,1.04618940767451,-150.104771960744472,1.049540832636755,89.937745369754381,0.0,0.0,0.0,0.0,0.0,0.0,0.011905176470716],[1.047002035840147,-29.943375631944093,1.046585945863064,-150.098226827877397,1.049524332839107,89.944533989125176,0.0,0.0,0.0,0.0,0.0,0.0,0.012507328290118],[1.046923698315528,-29.939374179382792,1.046422246520466,-150.101115190812948,1.049532598542028,89.941704592194441,0.0,0.0,0.0,0.0,0.0,0.0,0.012734819784602],[1.046916297692923,-29.937873277236697,1.046337661161582,-150.102371292840246,1.049513358518044,89.940097305949024,0.0,0.0,0.0,0.0,0.0,0.0,0.011610012733606],[1.046809352098949,-29.929819286500166,1.045988165742082,-150.107209750369066,1.04954808120058,89.934599921112479,0.0,0.0,0.0,0.0,0.0,0.0,0.011937917633856],[1.046827889413833,-29.932181898786361,1.046097829162938,-150.106013510754536,1.049545883254835,89.936393163247729,0.0,0.0,0.0,0.0,0.0,0.0,0.012139214641931],[1.046867266916735,-29.934486450934216,1.04618940767451,-150.104771960744444,1.049540832636755,89.937745369754381,0.0,0.0,0.0,0.0,0.0,0.0,0.011905176470716],[1.047002036215736,-29.943375596627334,1.046585893589347,-150.098227041479987,1.049524333211454,89.944533953789659,0.0,0.0,0.0,0.0,0.0,0.0,0.012506803507145],[1.046914186009083,-29.939245248306864,1.046422275395011,-150.101122669306761,1.049532702453094,89.941709681050852,0.0,0.0,0.0,0.0,0.0,0.0,0.012994665229147],[1.046916298385368,-29.937873343102641,1.046337661854087,-150.10237122694204,1.049513261327925,89.940096902160178,0.0,0.0,0.0,0.0,0.0,0.0,0.011607778796755],[1.046782073630889,-29.927270238895162,1.04587500632503,-150.108451072345872,1.049550439761224,89.932753467339765,0.0,0.0,0.0,0.0,0.0,0.0,0.011996434557473],[1.046827044293031,-29.932170443364768,1.04609783173084,-150.106014175356762,1.049545892484804,89.936393615472639,0.0,0.0,0.0,0.0,0.0,0.0,0.012158550556469],[1.046867266916735,-29.934486450934205,1.04618940767451,-150.104771960744444,1.049540832636755,89.937745369754396,0.0,0.0,0.0,0.0,0.0,0.0,0.011905176470716],[1.047002036512773,-29.943375568696837,1.046585852248319,-150.098227210409107,1.049524333505927,89.944533925844326,0.0,0.0,0.0,0.0,0.0,0.0,0.012506388616357],[1.046911172180744,-29.939204397972961,1.046422284543265,-150.101125038753537,1.049532735375523,89.941711293377082,0.0,0.0,0.0,0.0,0.0,0.0,0.013077424034639],[1.046916299003868,-29.937873401934787,1.04633766247264,-150.102371168081106,1.0495131745167,89.940096541491684,0.0,0.0,0.0,0.0,0.0,0.0,0.01160578373833],[1.046762241883403,-29.927011705130024,1.045866065912417,-150.108772647377805,1.049542724794014,89.93277742915123,0.0,0.0,0.0,0.0,0.0,0.0,0.012010744250659],[1.046783182280724,-29.927166150097737,1.045720900594563,-150.109078832496721,1.049551536920867,89.932649284545192,0.0,0.0,0.0,0.0,0.0,0.0,0.013494314563155],[1.046826721614214,-29.932166069521269,1.046097832711299,-150.10601442911107,1.049545896008931,89.936393788138361,0.0,0.0,0.0,0.0,0.0,0.0,0.012165941350003],[1.046867266916735,-29.934486450934202,1.04618940767451,-150.104771960744444,1.049540832636755,89.93774536975441,0.0,0.0,0.0,0.0,0.0,0.0,0.011905176470716],[1.047002036801266,-29.943375541569598,1.046585812096272,-150.098227374479734,1.04952433379193,89.944533898702744,0.0,0.0,0.0,0.0,0.0,0.0,0.012505985774169],[1.046908428475495,-29.93916720875896,1.046422292871497,-150.101127195832106,1.049532765347103,89.941712761193926,0.0,0.0,0.0,0.0,0.0,0.0,0.013152939861669],[1.046916299700702,-29.937873468218182,1.046337663169534,-150.1023711017653,1.04951307671061,89.940096135143548,0.0,0.0,0.0,0.0,0.0,0.0,0.011603536359389],[1.046735293655299,-29.926660382297385,1.045853917331281,-150.109209626590598,1.049532241349873,89.932809990084905,0.0,0.0,0.0,0.0,0.0,0.0,0.012040499185159],[1.046783330998379,-29.927152187350384,1.045700228427586,-150.109163056085492,1.049551684097197,89.932635309188228,0.0,0.0,0.0,0.0,0.0,0.0,0.01381286056391],[1.046826380283896,-29.932161442857613,1.046097833748429,-150.106014697532942,1.04954589973676,89.936393970784522,0.0,0.0,0.0,0.0,0.0,0.0,0.012173764188973],[1.046867266916735,-29.934486450934173,1.046189407674511,-150.104771960744415,1.049540832636755,89.937745369754424,0.0,0.0,0.0,0.0,0.0,0.0,0.011905176470716],[1.047002037110275,-29.943375512513423,1.046585769089102,-150.098227550217047,1.049524334098272,89.944533869631144,0.0,0.0,0.0,0.0,0.0,0.0,0.012505554413792],[1.046906934106923,-29.939146953440634,1.046422297407463,-150.101128370692521,1.049532781671195,89.94171356064551,0.0,0.0,0.0,0.0,0.0,0.0,0.013194138729002],[1.046916300259007,-29.937873521324573,1.046337663727887,-150.102371048632904,1.049512998348163,89.940095809576505,0.0,0.0,0.0,0.0,0.0,0.0,0.011601736029073],[1.046703742753299,-29.926249031073386,1.045839693860688,-150.109721254090971,1.049519967342258,89.93284811320035,0.0,0.0,0.0,0.0,0.0,0.0,0.012090320268796],[1.046783409131208,-29.927144851648414,1.045689367751472,-150.10920730653973,1.04955176142025,89.932627966861404,0.0,0.0,0.0,0.0,0.0,0.0,0.013989432517389],[1.046826097009354,-29.93215760312593,1.046097834609157,-150.106014920299828,1.049545902830534,89.936394122365002,0.0,0.0,0.0,0.0,0.0,0.0,0.012180260239924],[1.046867266916734,-29.934486450934152,1.04618940767451,-150.104771960744387,1.049540832636755,89.937745369754452,0.0,0.0,0.0,0.0,0.0,0.0,0.011905176470716],[1.047002037395977,-29.94337548564879,1.046585729325727,-150.098227712699554,1.049524334381507,89.944533842752293,0.0,0.0,0.0,0.0,0.0,0.0,0.012505155705459],[1.04690574061946,-29.939130776352506,1.046422301030125,-150.101129309002744,1.049532794708523,89.941714199132861,0.0,0.0,0.0,0.0,0.0,0.0,0.013227076990222],[1.046916300928694,-29.937873585025748,1.046337664397631,-150.102370984900574,1.049512904352352,89.940095419058522,0.0,0.0,0.0,0.0,0.0,0.0,0.011599576853802],[1.046678408680223,-29.925918714624231,1.045828273039899,-150.11013208048567,1.049510111801857,89.932878725173083,0.0,0.0,0.0,0.0,0.0,0.0,0.012141898340496],[1.046783511014475,-29.927135285751799,1.045675205365839,-150.109265022314474,1.049551862252741,89.932618392501808,0.0,0.0,0.0,0.0,0.0,0.0,0.014228719285382],[1.046783420278119,-29.927143805102897,1.045687818311823,-150.109213619234652,1.049551772451464,89.93262691936502,0.0,0.0,0.0,0.0,0.0,0.0,0.014015121237751],[1.046825761542657,-29.932153055936929,1.046097835628468,-150.106015184110561,1.049545906494321,89.936394301873548,0.0,0.0,0.0,0.0,0.0,0.0,0.012187957580012],[1.046867266916734,-29.934486450934152,1.04618940767451,-150.104771960744387,1.049540832636754,89.937745369754452,0.0,0.0,0.0,0.0,0.0,0.0,0.011905176470716],[1.04700203766522,-29.943375460331701,1.046585691852948,-150.098227865822082,1.049524334648426,89.944533817421799,0.0,0.0,0.0,0.0,0.0,0.0,0.012504780067818],[1.046904722914019,-29.939116981866402,1.046422304119214,-150.101130109114592,1.049532805825646,89.941714743581045,0.0,0.0,0.0,0.0,0.0,0.0,0.013255187983194],[1.046916301650362,-29.937873653671371,1.046337665119361,-150.102370916221389,1.049512803060622,89.940094998228616,0.0,0.0,0.0,0.0,0.0,0.0,0.011597250477847],[1.04666679422452,-29.925592812754317,1.045821932189985,-150.110491411540238,1.049516233901017,89.93294158898803,0.0,0.0,0.0,0.0,0.0,0.0,0.012308110535577],[1.046678780118051,-29.925954075070368,1.045828644614883,-150.110096697095145,1.049457954769298,89.932661788266728,0.0,0.0,0.0,0.0,0.0,0.0,0.010748752387426],[1.046783593832971,-29.927127509864089,1.045663693101278,-150.109311939242559,1.049551944217088,89.932610609734709,0.0,0.0,-0.000195999993593,-0.000000064422082,0.0,0.0,0.014430448134386],[1.046783428338938,-29.927143048300113,1.045686697844265,-150.109218184232077,1.049551780428619,89.93262616187458,0.0,0.0,0.0,0.0,0.0,0.0,0.01403377410608],[1.046825434381088,-29.932148621319506,1.046097836622544,-150.106015441390127,1.049545910067403,89.936394476938006,0.0,0.0,0.0,0.0,0.0,0.0,0.012195468964413],[1.046867266916734,-29.934486450934152,1.04618940767451,-150.104771960744387,1.049540832636754,89.937745369754452,0.0,0.0,0.0,0.0,0.0,0.0,0.011905176470716],[1.047002038039686,-29.943375425120458,1.046585639735482,-150.098228078786235,1.04952433501966,89.944533782191954,0.0,0.0,0.0,0.0,0.0,0.0,0.012504257793627],[1.04690352862961,-29.939100793906,1.046422307744268,-150.101131048051457,1.049532818871652,89.941715382494778,0.0,0.0,0.0,0.0,0.0,0.0,0.013288204429733],[1.046916302967007,-29.93787377891174,1.046337666436119,-150.102370790919764,1.049512618259145,89.940094230446178,0.0,0.0,0.0,0.0,0.0,0.0,0.01159300717922],[1.046650781320117,-29.925143476935695,1.045813190067175,-150.110986831775165,1.049524674497391,89.933028258714572,0.0,0.0,0.0,0.0,0.0,0.0,0.012537392873836],[1.046679090591652,-29.925983631745748,1.045828955203128,-150.11006712124049,1.04941435834263,89.932480440921808,0.0,0.0,0.0,0.0,0.0,0.0,0.00964424984414],[1.04678343514155,-29.927142409626036,1.045685752269553,-150.109222036690454,1.049551787160625,89.932625522620199,0.0,0.0,0.0,0.0,0.0,0.0,0.014049565032915],[1.046824984603991,-29.932142524665565,1.046097837989183,-150.106015795094436,1.049545914979624,89.936394717614164,0.0,0.0,0.0,0.0,0.0,0.0,0.012205802919932],[1.046867266916735,-29.934486450934141,1.04618940767451,-150.104771960744387,1.049540832636755,89.937745369754467,0.0,0.0,0.0,0.0,0.0,0.0,0.011905176470716],[1.047002038498579,-29.943375381970569,1.046585575867663,-150.098228339765228,1.049524335474592,89.944533739019192,0.0,0.0,0.0,0.0,0.0,0.0,0.012503618031208],[1.046902437364438,-29.93908600228956,1.046422311056611,-150.101131905995516,1.049532830792295,89.941715966295689,0.0,0.0,0.0,0.0,0.0,0.0,0.013318399125598],[1.046916312817568,-29.937874715905298,1.046337676287525,-150.102369853468247,1.049511235655657,89.9400884862265,0.0,0.0,0.0,0.0,0.0,0.0,0.011561303985588],[1.046611389346225,-29.924038038350016,1.045791684500698,-150.112205616200214,1.049545438631382,89.933241462996932,0.0,0.0,0.0,0.0,0.0,0.0,0.013102002380352],[1.046679115297789,-29.925985983664876,1.045828979917232,-150.110064767759383,1.049410889212088,89.932466007222985,0.0,0.0,0.0,0.0,0.0,0.0,0.009559333476667],[1.04667909787375,-29.925984324993895,1.045828962487957,-150.110066427543785,1.049413335794497,89.932476187356485,0.0,0.0,0.0,0.0,0.0,0.0,0.009619169127373],[1.04678344663195,-29.927141330831649,1.04568415508449,-150.109228543954174,1.049551798531764,89.932624442845636,0.0,0.0,0.0,0.0,0.0,0.0,0.014076340334547],[1.046824365862793,-29.9321341377225,1.046097839869213,-150.106016281672026,1.049545921737176,89.936395048703162,0.0,0.0,0.0,0.0,0.0,0.0,0.012220032931844],[1.046867266916735,-29.934486450934131,1.04618940767451,-150.104771960744358,1.049540832636755,89.937745369754467,0.0,0.0,0.0,0.0,0.0,0.0,0.011905176470716],[1.047002040673614,-29.943375177451241,1.046585273150767,-150.098229576738106,1.049524337630851,89.944533534391496,0.0,0.0,0.0,0.0,0.0,0.0,0.01250058966778],[1.046900744396727,-29.93906305479895,1.046422316195289,-150.10113323699332,1.049532849285725,89.941716871993151,0.0,0.0,0.0,0.0,0.0,0.0,0.013365291804594],[1.046916343004558,-29.937877587316574,1.046337706477102,-150.102366980653557,1.049506998675286,89.940070883004083,0.0,0.0,0.0,0.0,-0.000054000000091,-0.000000017748942,0.01146463102316],[1.046579461861856,-29.923142003339414,1.045774254269527,-150.113193495384905,1.049562268267114,89.933414261955974,0.0,0.0,0.0,0.0,0.0,0.0,0.013560165299941],[1.046679139507157,-29.925988288293318,1.045829004134406,-150.110062461600364,1.049407489836198,89.932451863653228,0.0,0.0,0.0,0.0,-0.000049999998737,-0.000000016434205,0.009476605853585],[1.046679104836371,-29.925984987828038,1.045828969453189,-150.110065764280762,1.04941235810731,89.932472120394621,0.0,0.0,0.0,0.0,0.0,0.0,0.009595228308307],[1.046783462722895,-29.927139820107836,1.045681918415896,-150.10923765664009,1.049551814455698,89.932622930749218,0.0,0.0,0.0,0.0,0.0,0.0,0.014114051376576],[1.046823711059427,-29.932125261951153,1.046097841858812,-150.106016796608884,1.049545928888575,89.936395399089079,0.0,0.0,0.0,0.0,0.0,0.0,0.012235109894152],[1.046867266916735,-29.934486450934141,1.04618940767451,-150.104771960744387,1.049540832636755,89.937745369754467,0.0,0.0,0.0,0.0,0.0,0.0,0.011905176470716],[1.047002059270774,-29.943373428752949,1.04658268483522,-150.098240153237327,1.049524356067479,89.944531784766525,0.0,0.0,-0.000029000000723,-0.000000009531839,0.0,0.0,0.012474962906201],[1.046897326463756,-29.93901672587215,1.046422326569677,-150.101135924145609,1.049532886622025,89.941718700506129,0.0,0.0,0.0,0.0,0.0,0.0,0.013460143497681],[1.046554514832924,-29.922441829715311,1.045760635008906,-150.113965418239133,1.049575418455811,89.93354927815416,0.0,0.0,0.0,0.0,0.0,0.0,0.013918463484122],[1.04667911234244,-29.925985702397888,1.045828976962073,-150.11006504924859,1.049411304109451,89.93246773598878,0.0,0.0,0.0,0.0,0.0,0.0,0.009569462515677],[1.046783474662754,-29.927138699115453,1.045680258755479,-150.109244418491528,1.049551826271631,89.932621808738318,0.0,0.0,0.0,0.0,0.0,0.0,0.014142195226685],[1.046823276091485,-29.932119366013033,1.046097843180446,-150.106017138667312,1.049545933639051,89.936395631840853,0.0,0.0,0.0,0.0,0.0,0.0,0.012245135068456],[1.046867266916735,-29.934486450934141,1.04618940767451,-150.104771960744387,1.049540832636755,89.937745369754467,0.0,0.0,0.0,0.0,0.0,0.0,0.011905176470716],[1.046896641241107,-29.939007437872625,1.046422328649507,-150.101136462862371,1.049532894107144,89.94171906708398,0.0,0.0,0.0,0.0,0.0,0.0,0.013479187872409],[1.046895324801647,-29.93898959387872,1.046422332645219,-150.101137497836959,1.049532908487414,89.941719771347849,0.0,0.0,0.0,0.0,0.0,0.0,0.013515802177183],[1.046531967672371,-29.92180897937429,1.045748325990275,-150.114663104599771,1.04958730368697,89.933671303787776,0.0,0.0,0.0,0.0,0.0,0.0,0.014242506619149],[1.046679119044786,-29.925986340454177,1.045828983666932,-150.110064410779501,1.04941036296989,89.932463821041822,0.0,0.0,0.0,0.0,0.0,0.0,0.009546494207556],[1.046783494441627,-29.927136842144964,1.045677509458926,-150.109255619827167,1.049551845845216,89.932619950080564,0.0,0.0,0.0,0.0,0.0,0.0,0.014189116779047],[1.0468228333988,-29.932113365361815,1.04609784452555,-150.106017486800511,1.049545938473891,89.936395868726137,0.0,0.0,0.0,0.0,0.0,0.0,0.012255346424585],[1.046867266916735,-29.934486450934141,1.046189407674511,-150.104771960744387,1.049540832636755,89.937745369754467,0.0,0.0,0.0,0.0,0.0,0.0,0.011905176470716],[1.046896043662324,-29.938999337850763,1.04642233046331,-150.101136932674194,1.049532900634869,89.941719386774466,0.0,0.0,0.0,0.0,0.0,0.0,0.013495804095027],[1.046892121851511,-29.938946178526926,1.046422342366879,-150.101140015972135,1.049532943475125,89.941721484850206,0.0,0.0,0.0,0.0,0.0,0.0,0.013605030482597],[1.04652952678747,-29.921775872043398,1.04574833342036,-150.1146650247004,1.049587330346916,89.933672610088692,0.0,0.0,0.0,0.0,0.0,0.0,0.014296667607384],[1.046533218848567,-29.921680128222025,1.045740323444935,-150.114735604750905,1.049588722008689,89.933548110754103,0.0,0.0,0.0,0.0,0.0,0.0,0.014214004222951],[1.04667912644641,-29.925987045080998,1.045828991071333,-150.110063705696803,1.049409323638087,89.932459497627192,0.0,0.0,0.0,0.0,0.0,0.0,0.009521172155868],[1.04678363172719,-29.927123952879427,1.045658426540398,-150.109333370133982,1.049551981705867,89.932607049103879,0.0,0.0,0.0,0.0,0.0,0.0,0.014524826398387],[1.046822621728416,-29.932110496190926,1.046097845168701,-150.106017653257936,1.049545940785634,89.936395981991183,0.0,0.0,0.0,0.0,0.0,0.0,0.012260231808846],[1.046867266916735,-29.934486450934141,1.046189407674511,-150.104771960744387,1.049540832636755,89.937745369754467,0.0,0.0,0.0,0.0,0.0,0.0,0.011905176470716],[1.046895549437475,-29.938992638756911,1.046422331963405,-150.101137321229999,1.049532906033592,89.941719651173031,0.0,0.0,0.0,0.0,0.0,0.0,0.013509551889694],[1.046889385244461,-29.93890908414718,1.046422350673,-150.101142167472204,1.049532973368611,89.941722948870122,0.0,0.0,0.0,0.0,0.0,0.0,0.013681426890734],[1.046527079490327,-29.921742677580173,1.045748340869901,-150.114666949845429,1.049587357076836,89.933673919821302,0.0,0.0,0.0,0.0,0.0,0.0,0.014351201342653],[1.046536531031249,-29.921358692519412,1.045725053141104,-150.114814761920456,1.049592165187779,89.933231751137129,0.0,0.0,0.0,0.0,0.0,0.0,0.014191697616213],[1.046533218848567,-29.921680128222025,1.045740323444935,-150.114735604750905,1.049588722008689,89.933548110754103,0.0,0.0,0.0,0.0,0.0,0.0,0.014214004222951],[1.046679131218481,-29.925987499377054,1.045828995845193,-150.110063251106766,1.04940865354672,89.932456710175174,0.0,0.0,0.0,0.0,0.0,0.0,0.009504870074358],[1.046783934974248,-29.927095482092934,1.045616274732679,-150.109505121034744,1.049552281805472,89.932578552448433,0.0,0.0,-0.000656999996863,-0.000000215945462,0.0,0.0,0.015323802664196],[1.04682228504102,-29.93210593242447,1.04609784619171,-150.106017918028641,1.049545944462742,89.936396162152946,0.0,0.0,0.0,0.0,0.0,0.0,0.012268006458053],[1.046867266916735,-29.934486450934152,1.04618940767451,-150.104771960744387,1.049540832636755,89.937745369754467,0.0,0.0,0.0,0.0,0.0,0.0,0.011905176470716],[1.046895165104232,-29.938987429211725,1.04642233312995,-150.10113762338986,1.0495329102319,89.9417198567822,0.0,0.0,0.0,0.0,0.0,0.0,0.013520246225308],[1.046887836432312,-29.938888090096526,1.046422355373902,-150.101143385136879,1.049532990287117,89.941723777447962,-0.000048999998398,-0.000016105521354,0.0,0.0,0.0,0.0,0.013724728424431],[1.046524627443476,-29.921709418533684,1.045748348333835,-150.114668878727031,1.049587383858571,89.933675232095865,0.0,0.0,0.0,0.0,0.0,0.0,0.014406069731117],[1.046539308210231,-29.921089181079584,1.045712249507307,-150.114881134322303,1.049595052202113,89.932966495855666,0.0,0.0,0.0,0.0,0.0,0.0,0.014177075925309],[1.046536531031249,-29.921358692519412,1.045725053141104,-150.114814761920456,1.049592165187779,89.933231751137129,0.0,0.0,0.0,0.0,0.0,0.0,0.014191697616213],[1.046679138548056,-29.92598819714475,1.045829003177517,-150.110062552887598,1.049407624332163,89.932452428832349,0.0,0.0,0.0,0.0,0.0,0.0,0.009479867904252],[1.046821968966337,-29.932101648058719,1.046097847152087,-150.106018166589536,1.049545947914728,89.936396331284797,0.0,0.0,0.0,0.0,0.0,0.0,0.012275309426195],[1.046867266916734,-29.934486450934152,1.04618940767451,-150.104771960744387,1.049540832636755,89.937745369754452,0.0,0.0,0.0,0.0,0.0,0.0,0.011905176470716],[1.046894774213541,-29.938982130777877,1.046422334316397,-150.101137930705136,1.049532914501837,89.941720065899489,0.0,0.0,0.0,0.0,0.0,0.0,0.01353112605433],[1.046522190240639,-29.921676360670023,1.045748355752521,-150.114670795931971,1.049587410478114,89.933676536426333,0.0,0.0,0.0,0.0,0.0,0.0,0.014460830347595],[1.046542293633394,-29.920799464676754,1.045698485925571,-150.114952484792497,1.04959815569477,89.9326813547478,0.0,0.0,0.0,0.0,0.0,0.0,0.014165524331634],[1.046539308210231,-29.921089181079584,1.045712249507307,-150.114881134322303,1.049595052202113,89.932966495855666,0.0,0.0,0.0,0.0,0.0,0.0,0.014177075925309],[1.046679198835669,-29.925993936460124,1.045829063487738,-150.110056809858577,1.049399158782307,89.93241721338606,0.0,0.0,0.0,0.0,0.0,0.0,0.009275950800067],[1.046821517348179,-29.932095526407942,1.046097848524305,-150.10601852174176,1.049545952847041,89.936396572946151,0.0,0.0,0.0,0.0,0.0,0.0,0.012285751362875],[1.046867266916734,-29.934486450934152,1.04618940767451,-150.104771960744387,1.049540832636754,89.937745369754452,0.0,0.0,0.0,0.0,0.0,0.0,0.011905176470716],[1.046894434989926,-29.938977532676144,1.046422335346021,-150.101138197400161,1.049532918207382,89.941720247376054,0.0,0.0,0.0,0.0,0.0,0.0,0.013540570280552],[1.046519743775532,-29.921643177015572,1.045748363199338,-150.114672720423243,1.04958743719876,89.933677845713774,0.0,0.0,0.0,0.0,0.0,0.0,0.014516021503892],[1.046544744791865,-29.92056159845383,1.045687185537242,-150.115011067467236,1.049600703791922,89.93244724502955,0.0,0.0,0.0,0.0,0.0,0.0,0.014159274596057],[1.046542293633394,-29.920799464676754,1.045698485925571,-150.114952484792497,1.04959815569477,89.9326813547478,0.0,0.0,0.0,0.0,0.0,0.0,0.014165524331634],[1.046679406614108,-29.92601371672944,1.045829271344095,-150.110037016790216,1.049369982674826,89.932295840690259,0.0,0.0,0.0,0.0,-0.000407000014093,-0.000000133774435,0.008599359317241],[1.046816750212333,-29.932030907903741,1.046097863008857,-150.106022270614631,1.049546004910817,89.93639912384522,0.0,0.0,0.0,0.0,0.0,0.0,0.012396485083593],[1.046894191354357,-29.938974230247542,1.046422336085511,-150.101138388944577,1.04953292086876,89.941720377715299,0.0,0.0,0.0,0.0,0.0,0.0,0.0135473546806],[1.046517298973241,-29.921610015756645,1.045748370641028,-150.114674643606719,1.049587463901182,89.933679154111346,0.0,0.0,0.0,0.0,0.0,0.0,0.014571395247966],[1.046547376400664,-29.920306224092425,1.04567505332635,-150.11507396383351,1.049603439474503,89.932195903714785,0.0,0.0,0.0,0.0,0.0,0.0,0.014155816257548],[1.046544744791865,-29.92056159845383,1.045687185537242,-150.115011067467236,1.049600703791922,89.93244724502955,0.0,0.0,0.0,0.0,0.0,0.0,0.014159274596057],[1.046814843478418,-29.932005061965562,1.046097868802244,-150.106023770069299,1.049546025734946,89.936400144140464,0.0,0.0,0.0,0.0,0.0,0.0,0.012441034177377],[1.046893908493018,-29.938970396119934,1.04642233694406,-150.101138611328025,1.049532923958624,89.941720529039401,0.0,0.0,0.0,0.0,0.0,0.0,0.01355523286053],[1.046514852627591,-29.921576833404693,1.045748378087354,-150.114676568004512,1.049587490620399,89.933680463334923,0.0,0.0,0.0,0.0,0.0,0.0,0.01462702168201],[1.046547376378846,-29.920306224685564,1.045639300945057,-150.115204376548689,1.049603439452713,89.932195903120316,0.0,0.0,0.0,0.0,0.0,0.0,0.014295545322931],[1.046547376400665,-29.920306224092389,1.045675053326351,-150.115073963833453,1.049603439474503,89.932195903714813,0.0,0.0,0.0,0.0,0.0,0.0,0.014155816257548],[1.046547376400664,-29.920306224092425,1.04567505332635,-150.11507396383351,1.049603439474503,89.932195903714785,0.0,0.0,0.0,0.0,0.0,0.0,0.014155816257548],[1.046813875242364,-29.931991937407688,1.0460978717441,-150.106024531489766,1.049546036309387,89.936400662244566,0.0,0.0,0.0,0.0,0.0,0.0,0.012463711844717],[1.046893482358613,-29.938964619951207,1.046422338237475,-150.101138946351682,1.049532928613544,89.941720757011183,0.0,0.0,0.0,0.0,0.0,0.0,0.013567104439234],[1.04651365848895,-29.921560635992112,1.045748381722116,-150.114677507364036,1.04958750366287,89.933681102408329,0.0,0.0,0.0,0.0,0.0,0.0,0.014654253063098],[1.046547376375653,-29.920306224772347,1.045634070267552,-150.115223457058192,1.049603439449524,89.932195903033318,0.0,0.0,0.0,0.0,0.0,0.0,0.014323490962703],[1.046547376400666,-29.920306224092354,1.045675053326352,-150.115073963833424,1.049603439474504,89.932195903714856,0.0,0.0,0.0,0.0,0.0,0.0,0.014155816257548],[1.046547376400665,-29.920306224092389,1.045675053326351,-150.115073963833453,1.049603439474503,89.932195903714813,0.0,0.0,0.0,0.0,0.0,0.0,0.014155816257548],[1.046813660990486,-29.931989033193958,1.046097872395075,-150.106024699977354,1.049546038649305,89.936400776890949,0.0,0.0,0.0,0.0,0.0,0.0,0.012468735014799],[1.046892786140962,-29.938955182846435,1.046422340350649,-150.101139493712765,1.04953293621874,89.941721129471119,0.0,0.0,0.0,0.0,0.0,0.0,0.013586507927204],[1.046486820073224,-29.921196587119944,1.045748463409873,-150.114698619602137,1.049587796790147,89.933695465665906,0.0,0.0,0.0,0.0,0.0,0.0,0.015279220774033],[1.046547376366656,-29.920306225016876,1.045619334269446,-150.115277212185106,1.049603439440539,89.932195902788237,0.0,0.0,0.0,0.0,0.0,0.0,0.014412320384749],[1.046547376400667,-29.92030622409229,1.045675053326354,-150.115073963833368,1.049603439474506,89.932195903714913,0.0,0.0,0.0,0.0,0.0,0.0,0.014155816257548],[1.046547376400666,-29.920306224092354,1.045675053326352,-150.115073963833424,1.049603439474504,89.932195903714856,0.0,0.0,0.0,0.0,0.0,0.0,0.014155816257548],[1.046813492256628,-29.931986745982403,1.04609787290775,-150.106024832669618,1.049546040492105,89.936400867180623,0.0,0.0,0.0,0.0,0.0,0.0,0.012472692290232],[1.046890216266512,-29.938920348601819,1.046422348150668,-150.101141514128528,1.049532964290857,89.94172250429331,-0.000046000001021,-0.000015119469026,0.0,0.0,0.0,0.0,0.013658212308681],[1.046884752937667,-29.938846293155393,1.046422364733002,-150.10114580935894,1.049533023970044,89.941725427043707,-0.000054000000091,-0.0000177489419,0.0,0.0,0.0,0.0,0.013811072467706],[1.046469367581438,-29.920959843060189,1.045748516525689,-150.114712348489775,1.049587987401013,89.933704805811061,0.0,0.0,0.0,0.0,0.0,0.0,0.015698017326542],[1.04654737635609,-29.920306225304042,1.045602030512014,-150.11534033612395,1.049603439429986,89.932195902500439,0.0,0.0,0.0,0.0,0.0,0.0,0.014535356246362],[1.046547376400668,-29.920306224092268,1.045675053326354,-150.115073963833339,1.049603439474507,89.932195903714941,0.0,0.0,0.0,0.0,0.0,0.0,0.014155816257548],[1.046547376400667,-29.92030622409229,1.045675053326354,-150.115073963833368,1.049603439474506,89.932195903714913,0.0,0.0,0.0,0.0,0.0,0.0,0.014155816257548],[1.046813311469349,-29.931984295384172,1.046097873457046,-150.106024974840665,1.049546042466544,89.936400963920107,0.0,0.0,0.0,0.0,0.0,0.0,0.012476933504645],[1.046454103639562,-29.920752780173288,1.045748562978097,-150.114724355779458,1.049588154106601,89.93371297469956,0.0,0.0,0.0,0.0,0.0,0.0,0.01607159413637],[1.046547376354719,-29.920306225341292,1.045599785841092,-150.115348524815062,1.049603439428617,89.932195902463107,0.0,0.0,0.0,0.0,0.0,0.0,0.01455277484916],[1.046547376400668,-29.920306224092251,1.045675053326355,-150.115073963833311,1.049603439474507,89.932195903714941,0.0,0.0,0.0,0.0,0.0,0.0,0.014155816257548],[1.046547376400668,-29.920306224092268,1.045675053326354,-150.115073963833339,1.049603439474507,89.932195903714941,0.0,0.0,0.0,0.0,0.0,0.0,0.014155816257548],[1.046813166826321,-29.931982334725966,1.046097873896523,-150.10602508858787,1.049546044046239,89.936401041318746,0.0,0.0,0.0,0.0,0.0,0.0,0.012480327718462],[1.046438092780927,-29.920535578341319,1.045748611700912,-150.11473695063728,1.049588328967062,89.933721543321184,0.0,0.0,0.0,0.0,0.0,0.0,0.016470239582108],[1.046547376354493,-29.920306225347282,1.04559941440591,-150.11534988011195,1.04960343942839,89.932195902457082,0.0,0.0,0.0,0.0,0.0,0.0,0.014555688987912],[1.046547376351388,-29.920306225432096,1.045594334910829,-150.115368409660476,1.04960343942529,89.932195902372072,0.0,0.0,0.0,0.0,0.0,0.0,0.014596450272093],[1.046547376400668,-29.920306224092258,1.045675053326355,-150.115073963833311,1.049603439474507,89.932195903714941,0.0,0.0,0.0,0.0,0.0,0.0,0.014155816257548],[1.046547376400668,-29.920306224092251,1.045675053326355,-150.115073963833311,1.049603439474507,89.932195903714941,0.0,0.0,0.0,0.0,0.0,0.0,0.014155816257548],[1.046813026383873,-29.931980431006711,1.046097874323237,-150.106025199031734,1.049546045580057,89.936401116469654,0.0,0.0,0.0,0.0,0.0,0.0,0.012483624153311],[1.046410754531909,-29.920164694432948,1.045748694887914,-150.114758456151861,1.049588627531952,89.933736174089873,0.0,0.0,0.0,0.0,0.0,0.0,0.017165616230849],[1.046547376354283,-29.920306225352849,1.045599070707009,-150.115351134205241,1.049603439428181,89.932195902451511,0.0,0.0,0.0,0.0,0.0,0.0,0.014558393590158],[1.046547376343592,-29.920306225644641,1.045581578266571,-150.115414946364126,1.049603439417504,89.932195902159052,0.0,0.0,0.0,0.0,0.0,0.0,0.014706194660877],[1.046547376400668,-29.920306224092251,1.045675053326355,-150.115073963833311,1.049603439474507,89.932195903714941,0.0,0.0,0.0,0.0,0.0,0.0,0.014155816257548],[1.046547376400668,-29.920306224092251,1.045675053326355,-150.115073963833311,1.049603439474507,89.932195903714941,0.0,0.0,0.0,0.0,0.0,0.0,0.014155816257548],[1.046812886297644,-29.931978532115544,1.046097874748869,-150.106025309195502,1.049546047109986,89.936401191429951,0.0,0.0,0.0,0.0,0.0,0.0,0.012486913004281],[1.046404049054444,-29.920073721649878,1.045748715290659,-150.114763730991314,1.049588700762236,89.933739762699702,0.0,0.0,0.0,0.0,0.0,0.0,0.017338800809984],[1.046547376353965,-29.920306225361308,1.045598548082689,-150.115353041165633,1.049603439427864,89.932195902443041,0.0,0.0,0.0,0.0,0.0,0.0,0.014562521033817],[1.046547376325093,-29.920306226148927,1.045551315694484,-150.115525349883683,1.049603439399028,89.932195901653642,0.0,0.0,-0.000310000003083,-0.00000010189207,0.0,0.0,0.015007532738159],[1.046812747850432,-29.931976655441016,1.04609787516952,-150.106025418070317,1.049546048622014,89.936401265513212,0.0,0.0,0.0,0.0,0.0,0.0,0.012490164137549],[1.046403369887676,-29.92006450773496,1.045748717356704,-150.114764265252319,1.049588708178774,89.933740126176545,0.0,0.0,0.0,0.0,0.0,0.0,0.017356396629627],[1.046379491442221,-29.919789862786605,1.045748491518161,-150.11470587541848,1.04958789753851,89.933700397776761,0.0,0.0,0.0,0.0,0.0,0.0,0.018026907855186],[1.046547376353564,-29.920306225371988,1.045597887628438,-150.115355451044934,1.049603439427463,89.932195902432326,0.0,0.0,0.0,0.0,0.0,0.0,0.01456776261596],[1.046810272126776,-29.931943096517259,1.046097882691609,-150.106027364978587,1.049546075660181,89.936402590275691,0.0,0.0,0.0,0.0,0.0,0.0,0.012548428387785],[1.046402254751583,-29.920049379216252,1.04574872074897,-150.114765142465046,1.04958872035611,89.933740722975699,0.0,0.0,0.0,0.0,0.0,0.0,0.01738530906327],[1.046358663297643,-29.919549101843799,1.045748301724022,-150.114656806094558,1.049587216291329,89.933667010974816,0.0,0.0,0.0,0.0,0.0,0.0,0.018619814863664],[1.046547376351999,-29.920306225413572,1.045595316492839,-150.115364832687447,1.0496034394259,89.932195902390646,0.0,0.0,0.0,0.0,0.0,0.0,0.014588439890571],[1.046804732163507,-29.931868000518577,1.046097899523816,-150.106031721605405,1.049546136163862,89.936405554715662,0.0,0.0,0.0,0.0,0.0,0.0,0.012679666914251],[1.046806850008238,-29.931896708818506,1.046097893088969,-150.106030056131459,1.049546113034006,89.936404421455521,-0.000052999999753,-0.000017420257791,0.0,0.0,0.0,0.0,0.012629357652508],[1.046402034264712,-29.92004638797231,1.045748721419693,-150.114765315909267,1.049588722763835,89.933740840975972,0.0,0.0,0.0,0.0,0.0,0.0,0.017391028846688],[1.046323655493137,-29.919144410549532,1.045747982708797,-150.114574330606274,1.049586071243531,89.933610894509997,-0.00054400000954,-0.000178804155439,0.0,0.0,0.0,0.0,0.019633357310508],[1.046547376349158,-29.920306225489107,1.045590645856199,-150.115381875175359,1.049603439423062,89.93219590231493,0.0,0.0,-0.000047000001359,-0.000000015448153,0.0,0.0,0.014627103513472],[1.046801052995157,-29.931818127748386,1.046097910702144,-150.106034614903905,1.04954617634504,89.93640752344254,-0.000048000001698,-0.000015776837245,0.0,0.0,0.0,0.0,0.0127674667594],[1.046401847958057,-29.920043860434593,1.04574872198644,-150.114765462465897,1.04958872479831,89.933740940683677,0.0,0.0,0.0,0.0,0.0,0.0,0.0173958627521],[1.04640169095806,-29.920041730486282,1.045748722464035,-150.114765585968655,1.049588726512755,89.933741024707032,0.0,0.0,0.0,0.0,0.0,0.0,0.017399936844821],[1.046401486727245,-29.920038959777752,1.045748723085306,-150.114765746625181,1.049588728742962,89.933741134007377,0.0,0.0,0.0,0.0,0.0,0.0,0.017405237348827],[1.046401117101285,-29.920033945224116,1.04574872420971,-150.114766037388506,1.049588732779289,89.933741331823981,0.0,0.0,0.0,0.0,0.0,0.0,0.017414832700781],[1.046400476236079,-29.920025250877721,1.04574872615922,-150.114766541519998,1.049588739777552,89.933741674802519,0.0,0.0,0.0,0.0,0.0,0.0,0.017431476226202],[1.046395226876682,-29.919954034634991,1.045748742127596,-150.114770670887538,1.049588797100521,89.933744484157202,-0.00005500000043,-0.000018077626009,0.0,0.0,0.0,0.0,0.017568130770369]]}", + "orient": "split", "dtype": { "vm_a_pu": "float64", "va_a_degree": "float64", @@ -1612,13 +1798,13 @@ "p_c_mw": "float64", "q_c_mvar": "float64", "unbalance_percent": "float64" - }, - "orient": "split" + } }, "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\",\"loading_percentA\",\"loading_percentB\",\"loading_percentC\",\"p_c_from_mw\",\"loading_percent\"],\"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,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904],\"data\":[[0.003722516562267,0.001220741978448,0.003663083140274,0.000006834874796,0.000000123657593,-0.00372236389291,-0.001220771159865,-0.003662942566472,-0.00000677761698,-0.002335211429174,-0.000000109356416,0.000000152669356,-0.000000029181416,0.000000140573802,0.000000057257816,0.000000007611645,0.000000014301177,0.015537032870718,0.015537032870718,0.014526486120894,0.014526486120894,0.009260346128925,0.009260346128925,0.015537032870718,0.014526486120894,0.009260346128925,3.690506586683321,3.450471731417692,2.199607136583467,0.002335219040819,3.690506586683321],[0.003722364775998,0.001220771293242,0.003662943449636,0.000006777750358,0.000000109489897,-0.003722348770737,-0.001220774352507,-0.003662928712426,-0.000006771747672,-0.002335211514405,-0.000000107990617,0.000000016005261,-0.000000003059265,0.000000014737211,0.000000006002686,0.000000000797977,0.00000000149928,0.015537036363598,0.015537036363598,0.01452648962431,0.01452648962431,0.009260349631336,0.009260349631336,0.015537036363598,0.01452648962431,0.009260349631336,3.690507416346013,3.450472563583061,2.199607968510173,0.002335212312382,3.690507416346013],[0.003722348933232,0.001220774377267,0.003662928874935,0.000006771772431,0.000000108015396,-0.003722333938813,-0.001220777243319,-0.003662915068481,-0.000006766148856,-0.002335210929344,-0.000000106610806,0.000000014994419,-0.000000002866051,0.000000013806454,0.000000005623575,0.000000000747579,0.00000000140459,0.015537037006587,0.015537037006587,0.01452649026897,0.01452649026897,0.00926035027581,0.00926035027581,0.015537037006587,0.01452649026897,0.00926035027581,3.690507569074996,3.450472716709086,2.199608121591906,0.002335211676923,3.690507569074996],[0.003722334086051,0.001220777265159,0.003662915215731,0.000006766170695,0.000000106632663,-0.00372232101307,-0.001220779763944,-0.003662903178484,-0.000006761267744,-0.00233521042482,-0.000000105408062,0.000000013072981,-0.000000002498786,0.000000012037247,0.000000004902951,0.000000000651782,0.000000001224601,0.015537037588468,0.015537037588468,0.014526490853098,0.014526490853098,0.009260350859773,0.009260350859773,0.015537037588468,0.014526490853098,0.009260350859773,3.690507707288986,3.450472855456672,2.199608260300399,0.002335211076603,3.690507707288986],[0.003722321189025,0.00122077979094,0.003662903354455,0.000006761294739,0.000000105435078,-0.003722300593943,-0.001220783727509,-0.003662884391062,-0.000006753570666,-0.002335209573988,-0.00000010350585,0.000000020595081,-0.000000003936569,0.000000018963393,0.000000007724073,0.000000001026813,0.000000001929228,0.01553703828495,0.01553703828495,0.014526491551164,0.014526491551164,0.009260351557636,0.009260351557636,0.01553703828495,0.014526491551164,0.009260351557636,3.690507872724155,3.450473021268037,2.199608426063453,0.002335210600801,3.690507872724155],[0.003722308039586,0.00122078485321,0.003662891837355,0.000006754696261,0.000000104632367,-0.003720905603445,-0.001221052915948,-0.003661600511927,-0.000006228720452,-0.00233514709801,0.000000026739735,0.000001402436142,-0.000000268062738,0.000001291325428,0.00000052597581,0.00000006992275,0.000000131372102,0.015537067736551,0.015537067736551,0.014526521090262,0.014526521090262,0.009260381088255,0.009260381088255,0.015537067736551,0.014526521090262,0.009260381088255,3.69051486835364,3.450480037681021,2.199615440462244,0.002335217020759,3.69051486835364],[0.003720913268803,0.001221054075841,0.003661608178065,0.000006229877746,-0.000000025580453,-0.003720850455613,-0.001221066081975,-0.003661550341361,-0.000006206320023,-0.002335151635216,0.00000003146443,0.000000062813189,-0.000000012006135,0.000000057836704,0.000000023557724,0.000000003131799,0.000000005883978,0.015537098067217,0.015537098067217,0.014526551511546,0.014526551511546,0.009260411500809,0.009260411500809,0.015537098067217,0.014526551511546,0.009260411500809,3.690522072787306,3.450487263639014,2.199622664346824,0.002335154767015,3.690522072787306],[0.003720851057601,0.001221066173169,0.00366155094341,0.000006206411004,-0.00000003137329,-0.00372079877699,-0.001221076166101,-0.003661502804823,-0.000006186803464,-0.002335149630839,0.000000036270636,0.000000052280611,-0.000000009992932,0.000000048138588,0.00000001960754,0.000000002606659,0.000000004897346,0.015537100449351,0.015537100449351,0.014526553900676,0.014526553900676,0.009260413889253,0.009260413889253,0.015537100449351,0.014526553900676,0.009260413889253,3.690522638614937,3.450487831128274,2.199623231673087,0.002335152237499,3.690522638614937],[0.003720799290309,0.001221076243664,0.003661503318194,0.000006186880839,-0.000000036193122,-0.003720753409892,-0.00122108501326,-0.003661461072733,-0.000006169673655,-0.002335147856861,0.000000040490935,0.000000045880417,-0.000000008769596,0.000000042245461,0.000000017207184,0.000000002287555,0.000000004297813,0.015537102480387,0.015537102480387,0.014526555937925,0.014526555937925,0.009260415925919,0.009260415925919,0.015537102480387,0.014526555937925,0.009260415925919,3.69052312104627,3.450488315035565,2.199623715441728,0.002335150144416,3.69052312104627],[0.00372075382886,0.001221085076761,0.003661461491745,0.000006169736998,-0.000000040427477,-0.003720719593389,-0.001221091620537,-0.003661429968638,-0.000006156897184,-0.002335146569094,0.000000043634459,0.000000034235471,-0.000000006543777,0.000000031523107,0.000000012839814,0.00000000170695,0.000000003206982,0.015537104138365,0.015537104138365,0.014526557600739,0.014526557600739,0.009260417588255,0.009260417588255,0.015537104138365,0.014526557600739,0.009260417588255,3.690523514865164,3.450488710003153,2.199624110295846,0.002335148276044,3.690523514865164],[0.003720719940412,0.001221091673072,0.003661430315697,0.000006156949585,-0.000000043581962,-0.003720687801723,-0.001221097816068,-0.003661400723251,-0.000006144896157,-0.00233514531389,0.000000046592529,0.000000032138689,-0.000000006142997,0.000000029592446,0.000000012053428,0.000000001602408,0.000000003010567,0.015537105511566,0.015537105511566,0.014526558978024,0.014526558978024,0.009260418965144,0.009260418965144,0.015537105511566,0.014526558978024,0.009260418965144,3.690523841041282,3.450489037149281,2.199624437348072,0.002335146916298,3.690523841041282],[0.003720688073302,0.001221097857074,0.003661400994858,0.000006144937056,-0.000000046551553,-0.003720668310941,-0.001221101634456,-0.003661382798204,-0.000006137525298,-0.002335144600277,0.000000048402777,0.000000019762361,-0.000000003777382,0.000000018196654,0.000000007411758,0.000000000985335,0.000000001851224,0.015537106586103,0.015537106586103,0.014526560055891,0.014526560055891,0.009260420042702,0.009260420042702,0.015537106586103,0.014526560055891,0.009260420042702,3.690524096275763,3.450489293174566,2.199624693300073,0.002335145585612,3.690524096275763],[0.003720668671389,0.001221101688813,0.00366138315869,0.000006137579512,-0.000000048348461,-0.003720619471957,-0.001221111092802,-0.003661337857167,-0.000006119127552,-0.002335142507872,0.000000052957181,0.000000049199432,-0.000000009403989,0.000000045301523,0.00000001845196,0.000000002453046,0.00000000460872,0.015537108012188,0.015537108012188,0.014526561486478,0.014526561486478,0.009260421472881,0.009260421472881,0.015537108012188,0.014526561486478,0.009260421472881,3.690524435013322,3.45048963298157,2.199625033009961,0.002335144960918,3.690524435013322],[0.003720621813203,0.00122111144717,0.003661340198658,0.000006119480966,-0.000000052603093,-0.00372022325625,-0.001221187627373,-0.00366097321804,-0.000005970004528,-0.002335124978545,0.000000089937619,0.000000398556953,-0.000000076180203,0.000000366980618,0.000000149476437,0.000000019871847,0.000000037334525,0.015537117276835,0.015537117276835,0.014526570778792,0.014526570778792,0.009260430762528,0.009260430762528,0.015537117276835,0.014526570778792,0.009260430762528,3.690526635641861,3.450491840181919,2.199627239577021,0.002335144850392,3.690526635641861],[0.000000000000117,-0.00000000000031,0.000000000000117,-0.00000000000031,-0.00000000000031,-0.000000000000117,0.00000000000031,-0.000000000000117,0.00000000000031,-0.000000000000117,0.00000000000031,6.05845175209737e-28,1.51461293802434e-28,6.56332273143882e-28,1.51461293802434e-28,6.81575822110954e-28,2.01948391736579e-28,0.000000000001314,0.000000000001314,0.000000000001313,0.000000000001313,0.000000000001314,0.000000000001314,0.000000000001314,0.000000000001313,0.000000000001314,0.000000000312177,0.000000000311985,0.000000000312154,0.000000000000117,0.000000000312177],[0.003720227866244,0.001221188325524,0.003660977828536,0.000005970700374,-0.000000089240268,-0.00371974454683,-0.001221280707103,-0.003660532800855,-0.000005789434325,-0.002335105493159,0.00000013451486,0.000000483319414,-0.000000092381579,0.000000445027681,0.000000181266049,0.000000024098315,0.000000045274593,0.015537135521224,0.015537135521224,0.014526589077478,0.014526589077478,0.009260449055963,0.009260449055963,0.015537135521224,0.014526589077478,0.009260449055963,3.690530969226026,3.450496186663266,2.199631584810828,0.002335129591473,3.690530969226026],[0.000000000000045,-0.000000000000295,0.000000000000045,-0.000000000000295,-0.000000000000295,-0.000000000000045,0.000000000000295,-0.000000000000045,0.000000000000295,-0.000000000000045,0.000000000000295,2.33502827945419e-28,0.0,2.46124602428956e-28,0.0,2.46124602428956e-28,5.04870979341448e-29,0.000000000001184,0.000000000001184,0.000000000001183,0.000000000001183,0.000000000001184,0.000000000001184,0.000000000001184,0.000000000001183,0.000000000001184,0.000000000281323,0.000000000281102,0.000000000281237,0.000000000000045,0.000000000281323],[0.003719747246677,0.001221281115946,0.003660535501009,0.000005789841515,-0.000000134106662,-0.003719713991314,-0.001221287472365,-0.003660504880352,-0.000005777369293,-0.002335106536903,0.000000137221834,0.000000033255363,-0.000000006356419,0.000000030620657,0.000000012472223,0.000000001658123,0.000000003115172,0.015537146207094,0.015537146207094,0.014526599795395,0.014526599795395,0.009260459770805,0.009260459770805,0.015537146207094,0.014526599795395,0.009260459770805,3.690533507437475,3.450498732486612,2.199634129903974,0.002335108195026,3.690533507437475],[-0.000000000000111,-0.000000000000286,-0.000000000000111,-0.000000000000285,-0.000000000000286,0.000000000000111,0.000000000000286,0.000000000000111,0.000000000000285,0.000000000000111,0.000000000000286,3.28166136571941e-28,0.0,2.77679038637796e-28,-5.04870979341448e-29,2.77679038637796e-28,-1.51461293802434e-28,0.000000000001217,0.000000000001217,0.000000000001216,0.000000000001216,0.000000000001216,0.000000000001216,0.000000000001217,0.000000000001216,0.000000000001216,0.000000000288956,0.00000000028877,0.000000000288776,-0.000000000000111,0.000000000288956],[0.003719714360589,0.001221287528117,0.003660505249668,0.000005777424817,-0.000000137166172,-0.003719677018692,-0.001221294665634,-0.003660470866239,-0.000005763419964,-0.002335105044576,0.000000140664147,0.000000037341897,-0.000000007137516,0.00000003438343,0.000000014004852,0.000000001861881,0.000000003497975,0.015537147668469,0.015537147668469,0.014526601261361,0.014526601261361,0.009260461236352,0.009260461236352,0.015537147668469,0.014526601261361,0.009260461236352,3.690533854557413,3.450499080697048,2.199634478014866,0.002335106906457,3.690533854557413],[-0.000000000000042,-0.000000000000352,-0.000000000000042,-0.000000000000352,-0.000000000000353,0.000000000000042,0.000000000000352,0.000000000000042,0.000000000000352,0.000000000000042,0.000000000000353,2.77679038637796e-28,1.0097419586829e-28,2.33502827945419e-28,0.0,2.77679038637796e-28,1.0097419586829e-28,0.000000000001409,0.000000000001409,0.000000000001408,0.000000000001408,0.000000000001408,0.000000000001408,0.000000000001409,0.000000000001408,0.000000000001408,0.000000000334572,0.000000000334409,0.000000000334458,-0.000000000000042,0.000000000334572],[0.003719677531509,0.001221294743376,0.003660471379115,0.000005763497384,-0.000000140586532,-0.003719616731331,-0.001221306364697,-0.003660415395921,-0.000005740694647,-0.002335102526263,0.000000146281945,0.000000060800178,-0.000000011621322,0.000000055983194,0.000000022802737,0.000000003031523,0.000000005695413,0.015537149698312,0.015537149698312,0.014526603297192,0.014526603297192,0.009260463271599,0.009260463271599,0.015537149698312,0.014526603297192,0.009260463271599,3.69053433670541,3.450499564267411,2.199634961446414,0.002335105557786,3.69053433670541],[-0.000000000000059,-0.000000000000289,-0.000000000000059,-0.000000000000289,-0.000000000000289,0.000000000000059,0.000000000000289,0.000000000000059,0.000000000000289,0.000000000000059,0.000000000000289,2.90300813121332e-28,1.0097419586829e-28,2.27191940703651e-28,1.51461293802434e-28,2.90300813121332e-28,5.04870979341448e-29,0.00000000000117,0.00000000000117,0.000000000001169,0.000000000001169,0.000000000001169,0.000000000001169,0.00000000000117,0.000000000001169,0.000000000001169,0.000000000277845,0.000000000277721,0.000000000277743,-0.000000000000059,0.000000000277845],[0.003719617627037,0.00122130650028,0.00366041629173,0.000005740829654,-0.000000146146593,-0.003719507016749,-0.001221327642281,-0.003660314444704,-0.00000569934594,-0.002335097907579,0.000000156507932,0.000000110610287,-0.000000021142001,0.000000101847026,0.000000041483714,0.000000005515087,0.000000010361339,0.015537153243502,0.015537153243502,0.014526606853101,0.014526606853101,0.009260466826489,0.009260466826489,0.015537153243502,0.014526606853101,0.009260466826489,3.690535178793242,3.450500408901446,2.199635805838319,0.002335103422666,3.690535178793242],[-0.0000000000001,-0.000000000000265,-0.0000000000001,-0.000000000000265,-0.000000000000266,0.0000000000001,0.000000000000265,0.0000000000001,0.000000000000265,0.0000000000001,0.000000000000266,2.52435489670724e-28,0.0,2.90300813121332e-28,0.0,2.52435489670724e-28,-1.0097419586829e-28,0.000000000001125,0.000000000001125,0.000000000001125,0.000000000001125,0.000000000001125,0.000000000001125,0.000000000001125,0.000000000001125,0.000000000001125,0.000000000267231,0.000000000267111,0.00000000026711,-0.0000000000001,0.000000000267231],[0.000540120794541,0.000177636164272,-0.000000000494859,-0.000000000062739,-0.000000000062927,-0.000540085715437,-0.000177633518305,0.000000000494859,0.000000000062739,0.000000000495203,0.000000000062927,0.000000035079104,0.000000002645967,1.43417018800433e-16,-4.15681127529451e-16,2.88209731913963e-16,3.32016528940501e-16,0.002256547995314,0.002256547995314,0.000000001979655,0.000000001979655,0.000000001979654,0.000000001979654,0.002256547995314,0.000000001979655,0.000000001979654,0.535997143673889,0.000000470226787,0.000000470226635,-0.000000000495203,0.535997143673889],[0.003179392411156,0.001043692397024,0.003660321129217,0.00000570032356,-0.000000155527683,-0.003178446358673,-0.001043941223457,-0.003659019746926,-0.000005293071873,-0.002334981233481,0.000000335014838,0.000000946052483,-0.000000248826432,0.000001301382291,0.000000407251687,0.000000123363219,0.000000179487155,0.013280630019039,0.013280630019039,0.014526633387756,0.014526633387756,0.009260493353763,0.009260493353763,0.013280630019039,0.014526633387756,0.009260493353763,3.154543918931686,3.450506711669827,2.19964210685343,0.0023351045967,3.450506711669827],[-0.000000000000019,-0.000000000000312,-0.000000000000019,-0.000000000000312,-0.000000000000312,0.000000000000019,0.000000000000312,0.000000000000019,0.000000000000312,0.000000000000019,0.000000000000312,2.77679038637796e-28,1.51461293802434e-28,3.18699805709289e-28,1.51461293802434e-28,3.18699805709289e-28,1.0097419586829e-28,0.000000000001241,0.000000000001241,0.00000000000124,0.00000000000124,0.00000000000124,0.00000000000124,0.000000000001241,0.00000000000124,0.00000000000124,0.000000000294707,0.000000000294544,0.000000000294607,-0.000000000000019,0.000000000294707],[0.000036003750933,0.000011841307929,0.00000000000447,-0.000000000001415,-0.000000000001415,-0.000036003707994,-0.00001184130469,-0.00000000000447,0.000000000001415,-0.000000000004474,0.000000000001415,0.00000000004294,0.000000000003239,4.71281791916826e-21,8.21877011577499e-20,-7.12791009255484e-20,-2.86211673228158e-20,0.000150427981291,0.000150427981291,0.000000000018608,0.000000000018608,0.000000000018608,0.000000000018608,0.000150427981291,0.000000000018608,0.000000000018608,0.035731111621958,0.000000004419926,0.000000004419922,0.000000000004474,0.035731111621958],[0.000504082205165,0.000165792228094,-0.000000000258638,-0.00000000004377,-0.000000000043877,-0.000504074004285,-0.000165791609513,0.000000000258638,0.00000000004377,0.000000000258814,0.000000000043877,0.00000000820088,0.000000000618581,2.12046617307517e-17,-5.37542892678501e-17,3.60717014579943e-17,4.53329036520992e-17,0.002106120943357,0.002106120943357,0.000000001041044,0.000000001041044,0.000000001041043,0.000000001041043,0.002106120943357,0.000000001041044,0.000000001041043,0.500266252796486,0.00000024727879,0.000000247278646,-0.000000000258814,0.500266252796486],[0.003178453221499,0.001043942258337,0.003659026610067,0.000005294100204,-0.000000333983245,-0.003178201366372,-0.001044008499974,-0.003658680160301,-0.000005185683022,-0.00233495526176,0.000000381765738,0.000000251855127,-0.000000066241637,0.000000346449766,0.000000108417182,0.000000032841632,0.000000047782494,0.013280657184043,0.013280657184043,0.014526660640884,0.014526660640884,0.009260520599118,0.009260520599118,0.013280657184043,0.014526660640884,0.009260520599118,3.154550371426797,3.450513185096767,2.199648578434266,0.002334988103392,3.450513185096767],[-0.000000000000043,-0.000000000000285,-0.000000000000043,-0.000000000000284,-0.000000000000285,0.000000000000043,0.000000000000285,0.000000000000043,0.000000000000284,0.000000000000043,0.000000000000285,8.14104454188084e-28,5.04870979341448e-29,8.01482679704548e-28,0.0,8.01482679704548e-28,5.04870979341448e-29,0.000000000001142,0.000000000001142,0.000000000001141,0.000000000001141,0.000000000001142,0.000000000001142,0.000000000001142,0.000000000001141,0.000000000001142,0.000000000271255,0.000000000271128,0.000000000271162,-0.000000000000043,0.000000000271255],[0.000036003708786,0.000011841304746,0.000000000005263,-0.000000000001359,-0.000000000001358,-0.000036003610452,-0.000011841297329,-0.000000000005263,0.000000000001359,-0.000000000005267,0.000000000001358,0.000000000098335,0.000000000007417,1.59288643829495e-20,1.98153403004563e-19,-1.84893829859586e-19,-8.49323013743818e-20,0.00015042798435,0.00015042798435,0.000000000021571,0.000000000021571,0.000000000021571,0.000000000021571,0.00015042798435,0.000000000021571,0.000000000021571,0.035731112348496,0.00000000512381,0.000000005123808,0.000000000005267,0.035731112348496],[0.0005040740513,0.000165791613061,-0.000000000211616,-0.000000000040254,-0.000000000040345,-0.000504073773576,-0.000165791592113,0.000000000211616,0.000000000040254,0.00000000021176,0.000000000040345,0.000000000277724,0.000000000020948,5.36160119987032e-19,-1.47874651591101e-18,1.06648119787945e-18,1.30721243084936e-18,0.002106121125018,0.002106121125018,0.000000000854896,0.000000000854896,0.000000000854896,0.000000000854896,0.002106121125018,0.000000000854896,0.000000000854896,0.500266295946296,0.0000002030632,0.000000203063085,-0.00000000021176,0.500266295946296],[0.000000000233844,-0.000000000035765,0.001093927243297,0.0000006569638,-0.00000000003596,-0.000000000233844,0.000000000035765,-0.001093801207213,-0.000000647457079,-0.000000000234051,0.00000000003596,-2.43757427177324e-16,-3.03212949357937e-16,0.000000126036084,0.000000009506722,-1.4074733380187e-16,3.62884494686289e-16,0.000000000939148,0.000000000939148,0.004343395988897,0.004343395988897,0.000000000939148,0.000000000939148,0.000000000939148,0.004343395988897,0.000000000939148,0.000000223075441,1.031685498703345,0.000000223075549,0.000000000234051,1.031685498703345],[0.003178206798875,0.001044009396504,0.002564758583512,0.000004529574147,-0.000000380872033,-0.003177413350383,-0.00104404943379,-0.002564307855919,-0.000004326459729,-0.002334803416924,0.000000427266662,0.000000793448493,-0.000000040037286,0.000000450727593,0.000000203114419,0.000000157283331,0.000000046394629,0.013280678784496,0.013280678784496,0.01018328922349,0.01018328922349,0.009260542167814,0.009260542167814,0.013280678784496,0.01018328922349,0.009260542167814,3.154555502175508,2.418833522854795,2.199653701639811,0.002334960700254,3.154555502175508],[-0.000000000000025,-0.000000000000322,-0.000000000000025,-0.000000000000322,-0.000000000000322,0.000000000000025,0.000000000000322,0.000000000000025,0.000000000000322,0.000000000000025,0.000000000000322,8.45658890396925e-28,1.0097419586829e-28,8.77213326605765e-28,5.04870979341448e-29,8.48814334017809e-28,1.0097419586829e-28,0.000000000001282,0.000000000001282,0.000000000001282,0.000000000001282,0.000000000001282,0.000000000001282,0.000000000001282,0.000000000001282,0.000000000001282,0.000000000304551,0.000000000304422,0.000000000304467,-0.000000000000025,0.000000000304551],[0.000504073776789,0.000165791592087,-0.000000000208404,-0.000000000040283,-0.000000000040372,-0.000504073377473,-0.000165791561967,0.000000000208404,0.000000000040283,0.000000000208544,0.000000000040372,0.000000000399316,0.00000000003012,8.98295397765743e-19,-2.14453540862329e-18,1.34124862538454e-18,1.86414624841778e-18,0.002106121137098,0.002106121137098,0.000000000842394,0.000000000842394,0.000000000842394,0.000000000842394,0.002106121137098,0.000000000842394,0.000000000842394,0.500266298815742,0.000000200093688,0.000000200093618,-0.000000000208544,0.500266298815742],[0.000000000011019,-0.000000000001414,0.000051985507579,0.000000028429464,-0.000000000001423,-0.000000000011019,0.000000000001414,-0.000051985487691,-0.000000028427964,-0.000000000011029,0.000000000001423,-3.35163939151297e-20,-5.01572738012767e-20,0.000000000019888,0.0000000000015,-9.64977431935711e-21,6.62866052845093e-20,0.000000000044104,0.000000000044104,0.000206430234139,0.000206430234139,0.000000000044105,0.000000000044105,0.000000000044104,0.000206430234139,0.000000000044105,0.000000010476097,0.049033309327388,0.000000010476211,0.000000000011029,0.049033309327388],[0.000000000223431,-0.000000000034381,0.001041815700239,0.000000619027583,-0.000000000034569,-0.000000000223431,0.000000000034381,-0.001041779634027,-0.00000061630716,-0.000000000223628,0.000000000034569,-7.0245735690235e-17,-8.728746106829e-17,0.000000036066212,0.000000002720423,-4.01251527599626e-17,1.0429075545414e-16,0.000000000897451,0.000000000897451,0.004136965757382,0.004136965757382,0.000000000897451,0.000000000897451,0.000000000897451,0.004136965757382,0.000000000897451,0.000000213171364,0.982652189999181,0.000000213171364,0.000000000223628,0.982652189999181],[0.003177420504168,0.001044050516123,0.002564315010407,0.000004327533563,-0.000000426188733,-0.003176869901607,-0.001044078299288,-0.002564002233882,-0.000004186585134,-0.00233470143459,0.000000458383675,0.000000550602561,-0.000000027783165,0.000000312776525,0.00000014094843,0.000000109145161,0.000000032194942,0.013280707113153,0.013280707113153,0.010183317642257,0.010183317642257,0.009260570576987,0.009260570576987,0.013280707113153,0.010183317642257,0.009260570576987,3.154562231072664,2.418840273155616,2.199660449661856,0.002334810579751,3.154562231072664],[-0.00000000000018,0.000000000001179,-0.000000000000178,0.000000000001179,0.00000000000118,0.00000000000018,-0.000000000001179,0.000000000000178,-0.000000000001179,0.000000000000179,-0.00000000000118,5.80601626242665e-28,4.03896783473158e-28,5.3011452830852e-28,2.01948391736579e-28,6.05845175209737e-28,6.05845175209737e-28,0.000000000004737,0.000000000004737,0.000000000004736,0.000000000004736,0.000000000004735,0.000000000004735,0.000000000004737,0.000000000004736,0.000000000004735,0.000000001125124,0.000000001124835,0.00000000112469,-0.000000000000179,0.000000001125124],[-0.000000000000163,-0.000000000000283,-0.000000000000163,-0.000000000000282,-0.000000000000283,0.000000000000163,0.000000000000283,0.000000000000163,0.000000000000282,0.000000000000163,0.000000000000283,2.27191940703651e-28,0.0,2.52435489670724e-28,0.0,2.27191940703651e-28,0.0,0.000000000001295,0.000000000001295,0.000000000001294,0.000000000001294,0.000000000001294,0.000000000001294,0.000000000001295,0.000000000001294,0.000000000001294,0.00000000030754,0.000000000307396,0.000000000307369,-0.000000000000163,0.00000000030754],[0.000504073382722,0.000165791562486,-0.000000000203154,-0.000000000039767,-0.000000000039855,-0.000504072870626,-0.000165791523859,0.000000000203154,0.000000000039767,0.000000000203291,0.000000000039855,0.000000000512096,0.000000000038627,9.21981145919528e-19,-2.66174599692416e-18,1.76477032058931e-18,2.25995100830167e-18,0.002106121157533,0.002106121157533,0.000000000821552,0.000000000821552,0.000000000821552,0.000000000821552,0.002106121157533,0.000000000821552,0.000000000821552,0.50026630366964,0.000000195142925,0.000000195142927,-0.000000000203291,0.50026630366964],[0.00000000001097,-0.000000000001359,0.000051985487642,0.000000028428019,-0.000000000001368,-0.00000000001097,0.000000000001359,-0.000051985478678,-0.000000028427343,-0.00000000001098,0.000000000001368,-3.17131757226811e-20,-3.2591460385505e-20,0.000000000008964,0.000000000000676,-2.59477769363876e-20,2.5097354285378e-20,0.000000000043884,0.000000000043884,0.000206430233945,0.000206430233945,0.000000000043885,0.000000000043885,0.000000000043884,0.000206430233945,0.000000000043885,0.000000010423862,0.049033309281392,0.000000010424015,0.00000000001098,0.049033309281392],[0.000000000223949,-0.000000000034369,0.001041779634545,0.000000616307171,-0.000000000034557,-0.000000000223949,0.000000000034369,-0.001041692852409,-0.000000609761319,-0.000000000224147,0.000000000034557,-1.68827664946234e-16,-2.09717972367926e-16,0.000000086782135,0.000000006545852,-9.73945424801027e-17,2.5133893812467e-16,0.000000000899476,0.000000000899476,0.004136965759438,0.004136965759438,0.000000000899476,0.000000000899476,0.000000000899476,0.004136965759438,0.000000000899476,0.000000213652267,0.982652190487487,0.000000213652265,0.000000000224147,0.982652190487487],[0.003176875045061,0.001044079078485,0.002564007378093,0.000004187357658,-0.000000457607937,-0.003176458977286,-0.001044100073,-0.002563771025498,-0.00000408084871,-0.002334624108317,0.000000481936353,0.000000416067775,-0.000000020994515,0.000000236352595,0.000000106508948,0.000000082476836,0.000000024328416,0.013280727485181,0.013280727485181,0.010183338078215,0.010183338078215,0.00926059100604,0.00926059100604,0.013280727485181,0.010183338078215,0.00926059100604,3.154567070034168,2.418845127302447,2.199665302168472,0.002334706585153,3.154567070034168],[0.00000000000149,0.000000000002582,0.000000000001493,0.000000000002579,0.000000000002583,-0.00000000000149,-0.000000000002582,-0.000000000001493,-0.000000000002579,-0.000000000001493,-0.000000000002583,3.02922587604869e-27,4.03896783473158e-28,2.22143230910237e-27,0.0,2.82727748431211e-27,4.03896783473158e-28,0.000000000011836,0.000000000011836,0.000000000011833,0.000000000011833,0.000000000011832,0.000000000011832,0.000000000011836,0.000000000011833,0.000000000011832,0.000000002811436,0.000000002810684,0.000000002810386,0.000000000001493,0.000000002811436],[0.000000000000034,-0.000000000000127,0.000000000000034,-0.000000000000127,-0.000000000000127,-0.000000000000034,0.000000000000127,-0.000000000000034,0.000000000000127,-0.000000000000034,0.000000000000127,6.31088724176809e-29,0.0,1.0097419586829e-28,-2.52435489670724e-29,7.57306469012171e-29,5.04870979341448e-29,0.000000000000523,0.000000000000523,0.000000000000523,0.000000000000523,0.000000000000523,0.000000000000523,0.000000000000523,0.000000000000523,0.000000000000523,0.00000000012427,0.000000000124155,0.000000000124243,0.000000000000034,0.00000000012427],[0.000504072880111,0.000165791524542,-0.000000000193667,-0.000000000039091,-0.000000000039176,-0.000504071632927,-0.000165791430468,0.000000000193667,0.000000000039091,0.000000000193797,0.000000000039176,0.000000001247184,0.000000000094073,2.78600197307693e-18,-6.07887990144021e-18,3.98490537784665e-18,5.26302677128132e-18,0.002106121194141,0.002106121194141,0.000000000784102,0.000000000784102,0.000000000784102,0.000000000784102,0.002106121194141,0.000000000784102,0.000000000784102,0.50026631236528,0.000000186247508,0.000000186247494,-0.000000000193797,0.50026631236528],[0.000000000011074,-0.000000000001365,0.000051985478782,0.000000028427337,-0.000000000001374,-0.000000000011074,0.000000000001365,-0.000051985469282,-0.00000002842662,-0.000000000011084,0.000000000001374,-1.48195691372826e-20,-2.08707951759236e-20,0.0000000000095,0.000000000000717,-1.30341627929851e-20,2.34153002812099e-20,0.000000000044297,0.000000000044297,0.000206430234358,0.000206430234358,0.000000000044297,0.000000000044297,0.000000000044297,0.000206430234358,0.000000000044297,0.000000010521893,0.04903330937947,0.000000010521941,0.000000000011084,0.04903330937947],[0.003176461509717,0.0010441004575,0.002563773558397,0.000004081229715,-0.000000481553664,-0.003176401521047,-0.001044103484484,-0.002563739481055,-0.000004065873251,-0.002334614752939,0.000000485061337,0.00000005998867,-0.000000003026984,0.000000034077342,0.000000015356465,0.000000011891536,0.000000003507673,0.013280737517704,0.013280737517704,0.010183348141312,0.010183348141312,0.00926060106573,0.00926060106573,0.013280737517704,0.010183348141312,0.00926060106573,3.154569453056323,2.418847517586778,2.199667691643564,0.002334626644475,3.154569453056323],[0.000000000000228,-0.000000000000723,0.000000000000227,-0.000000000000723,-0.000000000000724,-0.000000000000228,0.000000000000723,-0.000000000000227,0.000000000000723,-0.000000000000228,0.000000000000724,2.67581619050967e-27,3.02922587604869e-28,2.72630328844382e-27,4.03896783473158e-28,2.67581619050967e-27,3.02922587604869e-28,0.00000000000301,0.00000000000301,0.00000000000301,0.00000000000301,0.00000000000301,0.00000000000301,0.00000000000301,0.00000000000301,0.00000000000301,0.000000000714961,0.00000000071497,0.000000000714932,0.000000000000228,0.00000000071497],[0.000000000001204,0.000000000000596,0.000000000001204,0.000000000000594,0.000000000000595,-0.000000000001204,-0.000000000000596,-0.000000000001204,-0.000000000000594,-0.000000000001205,-0.000000000000595,4.03896783473158e-28,3.02922587604869e-28,4.03896783473158e-28,1.0097419586829e-28,6.05845175209737e-28,2.01948391736579e-28,0.000000000005335,0.000000000005335,0.000000000005333,0.000000000005333,0.000000000005332,0.000000000005332,0.000000000005335,0.000000000005333,0.000000000005332,0.000000001267183,0.000000001266782,0.000000001266514,0.000000000001205,0.000000001267183],[0.000000000000014,-0.000000000000116,0.000000000000014,-0.000000000000116,-0.000000000000116,-0.000000000000014,0.000000000000116,-0.000000000000014,0.000000000000116,-0.000000000000014,0.000000000000116,8.04638123325432e-29,5.04870979341448e-29,5.83757069863549e-29,2.52435489670724e-29,7.57306469012171e-29,5.04870979341448e-29,0.000000000000462,0.000000000000462,0.000000000000462,0.000000000000462,0.000000000000462,0.000000000000462,0.000000000000462,0.000000000000462,0.000000000000462,0.000000000109849,0.000000000109741,0.000000000109804,0.000000000000014,0.000000000109849],[0.000504071645892,0.0001657914314,-0.0000000001807,-0.000000000038168,-0.000000000038248,-0.000504070578075,-0.000165791350857,0.0000000001807,0.000000000038168,0.000000000180821,0.000000000038248,0.000000001067817,0.000000000080544,2.28940473856557e-18,-4.80065505873018e-18,3.02652368378263e-18,4.35926931252278e-18,0.00210612124418,0.00210612124418,0.000000000732963,0.000000000732963,0.000000000732963,0.000000000732963,0.00210612124418,0.000000000732963,0.000000000732963,0.500266324250865,0.000000174100474,0.00000017410048,-0.000000000180821,0.500266324250865],[0.000000000011173,-0.000000000001288,0.00005198546938,0.000000028426698,-0.000000000001297,-0.000000000011173,0.000000000001288,-0.000051985460332,-0.000000028426015,-0.000000000011183,0.000000000001297,-2.62858514688517e-20,-1.68899307207721e-20,0.000000000009048,0.000000000000682,7.72799788067488e-21,3.93289722885975e-20,0.000000000044649,0.000000000044649,0.00020643023475,0.00020643023475,0.000000000044649,0.000000000044649,0.000000000044649,0.00020643023475,0.000000000044649,0.0000000106055,0.049033309472493,0.000000010605577,0.000000000011183,0.049033309472493],[0.003176403285323,0.001044103751769,0.002563741245665,0.000004066138081,-0.000000484795325,-0.003176131552246,-0.001044117463202,-0.002563586884122,-0.000003996577288,-0.002334562654197,0.000000500684177,0.000000271733076,-0.000000013711432,0.000000154361543,0.000000069560792,0.000000053865637,0.000000015888852,0.013280744506474,0.013280744506474,0.010183355152114,0.010183355152114,0.009260608074164,0.009260608074164,0.013280744506474,0.010183355152114,0.009260608074164,3.154571113096517,2.418849182860497,2.199669356354765,0.002334616519834,3.154571113096517],[-0.000000000000118,-0.000000000000577,-0.000000000000119,-0.000000000000577,-0.000000000000578,0.000000000000118,0.000000000000577,0.000000000000119,0.000000000000577,0.000000000000119,0.000000000000578,2.52435489670724e-29,0.0,1.26217744835362e-28,0.0,1.26217744835362e-28,2.01948391736579e-28,0.000000000002339,0.000000000002339,0.000000000002339,0.000000000002339,0.000000000002339,0.000000000002339,0.000000000002339,0.000000000002339,0.000000000002339,0.00000000055555,0.000000000555597,0.000000000555473,-0.000000000000119,0.000000000555597],[0.000000000000559,0.000000000000969,0.00000000000056,0.000000000000967,0.000000000000968,-0.000000000000559,-0.000000000000969,-0.00000000000056,-0.000000000000967,-0.00000000000056,-0.000000000000968,2.01948391736579e-28,4.03896783473158e-28,5.04870979341448e-28,4.03896783473158e-28,2.01948391736579e-28,2.01948391736579e-28,0.00000000000444,0.00000000000444,0.000000000004436,0.000000000004436,0.000000000004436,0.000000000004436,0.00000000000444,0.000000000004436,0.000000000004436,0.000000001054642,0.000000001053792,0.000000001053755,0.00000000000056,0.000000001054642],[-0.000000000000006,-0.000000000000104,-0.000000000000006,-0.000000000000104,-0.000000000000104,0.000000000000006,0.000000000000104,0.000000000000006,0.000000000000104,0.000000000000006,0.000000000000104,6.6264316038565e-29,0.0,7.96749514273222e-29,1.26217744835362e-29,5.99534287967969e-29,-2.52435489670724e-29,0.000000000000414,0.000000000000414,0.000000000000413,0.000000000000413,0.000000000000413,0.000000000000413,0.000000000000414,0.000000000000413,0.000000000000413,0.00000000009825,0.00000000009817,0.0000000000982,-0.000000000000006,0.00000000009825],[0.00050407061244,0.000165791353424,-0.00000000014633,-0.000000000035624,-0.000000000035692,-0.000504065493706,-0.000165790967326,0.00000000014633,0.000000000035624,0.000000000146427,0.000000000035692,0.000000005118734,0.000000000386099,8.79928813861465e-18,-1.88393804125303e-17,1.18036076064194e-17,1.71334562247812e-17,0.002106121376932,0.002106121376932,0.000000000597698,0.000000000597698,0.000000000597698,0.000000000597698,0.002106121376932,0.000000000597698,0.000000000597698,0.500266355783519,0.000000141971013,0.000000141971013,-0.000000000146427,0.500266355783519],[0.000000000011074,-0.000000000001365,0.000051985460233,0.000000028425938,-0.000000000001374,-0.000000000011074,0.000000000001365,-0.000051985454814,-0.000000028425529,-0.000000000011084,0.000000000001374,-1.32930040856417e-20,-1.13597507179087e-20,0.000000000005419,0.000000000000409,-8.17169465319149e-21,8.47169121054848e-21,0.000000000044297,0.000000000044297,0.000206430234358,0.000206430234358,0.000000000044297,0.000000000044297,0.000000000044297,0.000206430234358,0.000000000044297,0.000000010521901,0.049033309379452,0.000000010521954,0.000000000011084,0.049033309379452],[0.002780993095375,0.000914098810003,0.002563588827772,0.000003996915255,-0.000000500344794,-0.002780953303655,-0.000914102054977,-0.002563556722121,-0.000003986012457,-0.002334551423791,0.00000050561305,0.000000039791719,-0.000000003244974,0.000000032105651,0.000000010902797,0.000000013176616,0.000000005268256,0.01162835358497,0.01162835358497,0.010183362874962,0.010183362874962,0.009260615793988,0.009260615793988,0.01162835358497,0.010183362874962,0.009260615793988,2.76207921130769,2.418851017266179,2.199671190042129,0.002334564600407,2.76207921130769],[0.000395140271117,0.000130018917659,-0.000000000129031,-0.00000000007613,-0.000000000076299,-0.000395113964388,-0.00013001693338,0.000000000129031,0.000000000076129,0.000000000129175,0.000000000076299,0.000000026306729,0.000000001984279,9.11740404625371e-17,-9.99820823304569e-17,4.08374752602584e-17,1.29034606215831e-16,0.001652398167938,0.001652398167938,0.000000000595114,0.000000000595114,0.000000000595114,0.000000000595114,0.001652398167938,0.000000000595114,0.000000000595114,0.39249362303221,0.000000141357176,0.000000141357178,-0.000000000129175,0.39249362303221],[-0.00000000000044,-0.000000000000391,-0.000000000000441,-0.00000000000039,-0.000000000000391,0.00000000000044,0.000000000000391,0.000000000000441,0.00000000000039,0.000000000000441,0.000000000000391,1.0097419586829e-28,-1.51461293802434e-28,2.52435489670724e-28,-1.51461293802434e-28,3.02922587604869e-28,-5.04870979341448e-29,0.000000000002339,0.000000000002339,0.000000000002339,0.000000000002339,0.000000000002339,0.000000000002339,0.000000000002339,0.000000000002339,0.000000000002339,0.000000000555489,0.000000000555557,0.000000000555574,-0.000000000000441,0.000000000555574],[0.00000000000005,0.000000000000832,0.000000000000051,0.000000000000831,0.000000000000832,-0.00000000000005,-0.000000000000832,-0.000000000000051,-0.000000000000831,-0.00000000000005,-0.000000000000832,1.76704842769507e-28,1.0097419586829e-28,5.67979851759128e-29,0.0,1.70393955527739e-28,1.0097419586829e-28,0.00000000000331,0.00000000000331,0.000000000003306,0.000000000003306,0.000000000003306,0.000000000003306,0.00000000000331,0.000000000003306,0.000000000003306,0.000000000786266,0.000000000785304,0.000000000785387,0.00000000000005,0.000000000786266],[0.000000000000078,-0.000000000000099,0.000000000000077,-0.000000000000099,-0.000000000000099,-0.000000000000078,0.000000000000099,-0.000000000000077,0.000000000000099,-0.000000000000078,0.000000000000099,8.83524213847533e-29,0.0,8.83524213847533e-29,0.0,8.83524213847533e-29,3.78653234506086e-29,0.000000000000498,0.000000000000498,0.000000000000498,0.000000000000498,0.000000000000498,0.000000000000498,0.000000000000498,0.000000000000498,0.000000000000498,0.000000000118273,0.000000000118197,0.000000000118299,0.000000000000078,0.000000000118299],[0.000504065622645,0.000165790976792,-0.000000000017371,-0.000000000026246,-0.00000000002627,-0.000504047529666,-0.000165789612064,0.000000000017371,0.000000000026246,0.000000000017376,0.00000000002627,0.000000018092978,0.000000001364727,1.42260706182233e-17,-5.67122946605134e-18,-2.16730829511646e-18,1.5171187950946e-17,0.002106121874821,0.002106121874821,0.00000000012491,0.00000000012491,0.00000000012491,0.00000000012491,0.002106121874821,0.00000000012491,0.00000000012491,0.500266474046825,0.000000029669843,0.000000029669844,-0.000000000017376,0.500266474046825],[0.000000000011005,-0.000000000001299,0.000051985454745,0.000000028425596,-0.000000000001307,-0.000000000011005,0.000000000001299,-0.000051985444114,-0.000000028424794,-0.000000000011015,0.000000000001307,-1.21476949793796e-20,-3.00964603031238e-20,0.000000000010632,0.000000000000802,-2.29941427667467e-20,2.63440156348978e-20,0.000000000043993,0.000000000043993,0.000206430234084,0.000206430234084,0.000000000043993,0.000000000043993,0.000000000043993,0.000206430234084,0.000000000043993,0.000000010449742,0.049033309314479,0.000000010449751,0.000000000011015,0.049033309314479],[0.00278095624634,0.000914102499988,0.002563559665437,0.000003986453186,-0.000000505170266,-0.002780486120836,-0.00091414083816,-0.002563180348111,-0.000003857640397,-0.002334398693619,0.000000567412896,0.000000470125504,-0.000000038338171,0.000000379317326,0.000000128812789,0.00000015567742,0.00000006224263,0.01162836524178,0.01162836524178,0.01018337456956,0.01018337456956,0.009260627484644,0.009260627484644,0.01162836524178,0.01018337456956,0.009260627484644,2.762081980145958,2.418853795080336,2.199673966919909,0.002334554371039,2.762081980145958],[0.000048012934309,0.000015799088954,0.000000000014499,-0.000000000007126,-0.000000000007129,-0.000048012744436,-0.000015799074633,-0.000000000014499,0.000000000007126,-0.000000000014523,0.000000000007129,0.000000000189873,0.000000000014322,2.12428469598419e-19,8.35094339138408e-19,-8.34601057573372e-19,-2.36857401566285e-19,0.000200793758316,0.000200793758316,0.000000000064176,0.000000000064176,0.000000000064176,0.000000000064176,0.000200793758316,0.000000000064176,0.000000000064176,0.047694478977712,0.000000015243804,0.000000015243805,0.000000000014523,0.047694478977712],[0.000347101231888,0.000114217858785,0.000000000058311,-0.000000000054938,-0.000000000054987,-0.000347091308511,-0.000114217110278,-0.000000000058311,0.000000000054938,-0.000000000058419,0.000000000054987,0.000000009923377,0.000000000748506,1.62421836938136e-17,2.65715657528846e-17,-3.10397438297428e-17,6.67182549872756e-19,0.001451605188975,0.001451605188975,0.000000000318238,0.000000000318238,0.000000000318238,0.000000000318238,0.001451605188975,0.000000000318238,0.000000000318238,0.344799329173831,0.000000075591036,0.000000075591037,0.000000000058419,0.344799329173831],[-0.00000000000014,-0.000000000000242,-0.00000000000014,-0.000000000000242,-0.000000000000242,0.00000000000014,0.000000000000242,0.00000000000014,0.000000000000242,0.00000000000014,0.000000000000242,1.26217744835362e-28,1.0097419586829e-28,1.26217744835362e-28,5.04870979341448e-29,1.26217744835362e-28,0.0,0.000000000001109,0.000000000001109,0.00000000000111,0.00000000000111,0.00000000000111,0.00000000000111,0.000000000001109,0.00000000000111,0.00000000000111,0.000000000263409,0.000000000263588,0.000000000263551,-0.00000000000014,0.000000000263588],[0.000000000000882,0.000000000000782,0.000000000000882,0.00000000000078,0.000000000000782,-0.000000000000882,-0.000000000000782,-0.000000000000882,-0.00000000000078,-0.000000000000882,-0.000000000000782,1.11071615455118e-27,2.01948391736579e-28,1.0097419586829e-27,2.01948391736579e-28,1.31266454628776e-27,3.02922587604869e-28,0.00000000000468,0.00000000000468,0.000000000004677,0.000000000004677,0.000000000004676,0.000000000004676,0.00000000000468,0.000000000004677,0.000000000004676,0.000000001111636,0.000000001110908,0.000000001110696,0.000000000000882,0.000000001111636],[0.000000000000025,-0.000000000000119,0.000000000000025,-0.000000000000119,-0.000000000000119,-0.000000000000025,0.000000000000119,-0.000000000000025,0.000000000000119,-0.000000000000025,0.000000000000119,3.66031460022549e-28,2.52435489670724e-29,3.84964121747854e-28,5.04870979341448e-29,3.59720572780781e-28,5.04870979341448e-29,0.000000000000483,0.000000000000483,0.000000000000483,0.000000000000483,0.000000000000483,0.000000000000483,0.000000000000483,0.000000000000483,0.000000000000483,0.000000000114693,0.00000000011463,0.000000000114674,0.000000000000025,0.000000000114693],[0.000000000010988,-0.000000000001282,0.000051985444096,0.000000028424811,-0.000000000001291,-0.000000000010988,0.000000000001282,-0.000051985390215,-0.000000028420746,-0.000000000010998,0.000000000001291,-1.08888848992892e-19,-1.2491948486396e-19,0.000000000053882,0.000000000004064,-4.58587057518323e-20,1.57279036198227e-19,0.000000000043918,0.000000000043918,0.000206430234016,0.000206430234016,0.000000000043918,0.000000000043918,0.000000000043918,0.000206430234016,0.000000000043918,0.000000010431741,0.049033309298242,0.000000010431745,0.000000000010998,0.049033309298242],[0.002780489779094,0.000914141391539,0.002563184007217,0.000003858188041,-0.000000566862567,-0.002780325905023,-0.000914154755238,-0.002563051786584,-0.00000381328711,-0.002334348092518,0.000000588558801,0.000000163874071,-0.000000013363698,0.000000132220633,0.000000044900931,0.00000005426538,0.000000021696234,0.011628379735369,0.011628379735369,0.010183389110232,0.010183389110232,0.009260642020415,0.009260642020415,0.011628379735369,0.010183389110232,0.009260642020415,2.762085422803752,2.418857248921598,2.19967741959711,0.002334402357898,2.762085422803752],[-0.000000000000509,-0.000000000000136,-0.000000000000509,-0.000000000000136,-0.000000000000136,0.000000000000509,0.000000000000136,0.000000000000509,0.000000000000136,0.00000000000051,0.000000000000136,2.01948391736579e-28,-5.04870979341448e-29,3.02922587604869e-28,-2.52435489670724e-29,2.01948391736579e-28,-7.57306469012171e-29,0.000000000002092,0.000000000002092,0.000000000002092,0.000000000002092,0.000000000002092,0.000000000002092,0.000000000002092,0.000000000002092,0.000000000002092,0.000000000496837,0.000000000496818,0.000000000497015,-0.00000000000051,0.000000000497015],[0.000000000001015,0.00000000000092,0.000000000001016,0.000000000000918,0.00000000000092,-0.000000000001015,-0.00000000000092,-0.000000000001016,-0.000000000000918,-0.000000000001016,-0.00000000000092,3.43312265952184e-27,1.81753552562921e-27,3.837019442995e-27,1.81753552562921e-27,3.23117426778526e-27,1.81753552562921e-27,0.00000000000544,0.00000000000544,0.000000000005437,0.000000000005437,0.000000000005436,0.000000000005436,0.00000000000544,0.000000000005437,0.000000000005436,0.000000001292256,0.000000001291539,0.000000001291321,0.000000000001016,0.000000001292256],[0.000000000000031,-0.000000000000109,0.000000000000031,-0.000000000000109,-0.000000000000109,-0.000000000000031,0.000000000000109,-0.000000000000031,0.000000000000109,-0.000000000000031,0.000000000000109,4.35451219681999e-28,-2.52435489670724e-29,4.22829445198462e-28,-3.78653234506086e-29,4.41762106923767e-28,-1.26217744835362e-29,0.00000000000045,0.00000000000045,0.000000000000449,0.000000000000449,0.00000000000045,0.00000000000045,0.00000000000045,0.000000000000449,0.00000000000045,0.000000000106796,0.000000000106735,0.000000000106783,0.000000000000031,0.000000000106796],[0.000000000010979,-0.000000000001268,0.000051985390206,0.00000002842076,-0.000000000001277,-0.000000000010979,0.000000000001268,-0.000051985187167,-0.000000028405445,-0.000000000010989,0.000000000001277,-3.67801897952051e-19,-4.94688975488275e-19,0.000000000203039,0.000000000015315,-2.50883238399241e-19,5.6614320202017e-19,0.000000000043876,0.000000000043876,0.000206430233981,0.000206430233981,0.000000000043876,0.000000000043876,0.000000000043876,0.000206430233981,0.000000000043876,0.000000010421866,0.049033309289808,0.000000010421865,0.000000000010989,0.049033309289808],[0.002780327056631,0.000914154929387,0.002563052938467,0.000003813459409,-0.000000588385643,-0.002780291293912,-0.000914157845784,-0.002563024083568,-0.000003803660547,-0.00233433740356,0.000000593120475,0.00000003576272,-0.000000002916397,0.000000028854899,0.000000009798861,0.0000000118425,0.000000004734833,0.011628384298063,0.011628384298063,0.010183393687845,0.010183393687845,0.009260646596486,0.009260646596486,0.011628384298063,0.010183393687845,0.009260646596486,2.762086506578989,2.418858336240534,2.199678506549757,0.00233434924606,2.762086506578989],[-0.000000000000462,-0.000000000000056,-0.000000000000462,-0.000000000000055,-0.000000000000055,0.000000000000462,0.000000000000056,0.000000000000462,0.000000000000055,0.000000000000463,0.000000000000055,2.01948391736579e-28,-3.15544362088405e-29,2.01948391736579e-28,-8.83524213847533e-29,2.01948391736579e-28,2.52435489670724e-29,0.000000000001849,0.000000000001849,0.000000000001849,0.000000000001849,0.000000000001849,0.000000000001849,0.000000000001849,0.000000000001849,0.000000000001849,0.000000000439167,0.00000000043911,0.000000000439302,-0.000000000000463,0.000000000439302],[0.000000000000934,0.000000000000967,0.000000000000935,0.000000000000965,0.000000000000966,-0.000000000000934,-0.000000000000967,-0.000000000000935,-0.000000000000965,-0.000000000000935,-0.000000000000966,7.06819371078027e-27,2.82727748431211e-27,7.27014210251684e-27,3.02922587604869e-27,6.86624531904369e-27,2.62532909257553e-27,0.000000000005339,0.000000000005339,0.000000000005336,0.000000000005336,0.000000000005335,0.000000000005335,0.000000000005339,0.000000000005336,0.000000000005335,0.000000001268174,0.00000000126739,0.000000001267199,0.000000000000935,0.000000001268174],[0.000000000000033,-0.000000000000106,0.000000000000033,-0.000000000000106,-0.000000000000106,-0.000000000000033,0.000000000000106,-0.000000000000033,0.000000000000106,-0.000000000000033,0.000000000000106,2.6505726415426e-28,0.0,2.77679038637796e-28,-3.78653234506086e-29,2.58746376912492e-28,-1.26217744835362e-29,0.000000000000442,0.000000000000442,0.000000000000441,0.000000000000441,0.000000000000442,0.000000000000442,0.000000000000442,0.000000000000441,0.000000000000442,0.000000000104905,0.000000000104854,0.000000000104895,0.000000000000033,0.000000000104905],[0.00278029191861,0.000914157940327,0.002563024708416,0.000003803754081,-0.000000593026473,-0.002780219397422,-0.00091416385432,-0.002562966195201,-0.000003783883527,-0.002334314014571,0.000000602627972,0.000000072521188,-0.000000005913993,0.000000058513215,0.000000019870554,0.000000024014741,0.000000009601498,0.011628386773246,0.011628386773246,0.010183396171033,0.010183396171033,0.009260649078837,0.009260649078837,0.011628386773246,0.010183396171033,0.009260649078837,2.76208709450859,2.41885892607149,2.199679096181849,0.002334338029312,2.76208709450859],[1.28747662868844e-17,4.50565731301404e-17,3.25356138689896e-17,-3.3722186191623e-17,-1.13518672001478e-17,-1.28747662868844e-17,-4.50565731301404e-17,-3.25356138689896e-17,3.3722186191623e-17,4.55285349750746e-17,1.13518672001478e-17,0.0,0.0,0.0,0.0,0.0,0.0,1.86123847527032e-16,1.86123847527032e-16,1.86123847527032e-16,1.86123847527032e-16,1.86123847527032e-16,1.86123847527032e-16,1.86123847527032e-16,1.86123847527032e-16,1.86123847527032e-16,0.000000000000044,0.000000000000044,0.000000000000044,-4.55285349750746e-17,0.000000000000044],[0.000000000000593,0.000000000000841,0.000000000000594,0.00000000000084,0.000000000000841,-0.000000000000593,-0.000000000000841,-0.000000000000594,-0.00000000000084,-0.000000000000594,-0.000000000000841,1.11071615455118e-27,6.05845175209737e-28,1.11071615455118e-27,5.04870979341448e-28,1.11071615455118e-27,6.05845175209737e-28,0.000000000004087,0.000000000004087,0.000000000004083,0.000000000004083,0.000000000004083,0.000000000004083,0.000000000004087,0.000000000004083,0.000000000004083,0.000000000970834,0.000000000969949,0.000000000969844,0.000000000000594,0.000000000970834],[0.00000000000006,-0.000000000000129,0.00000000000006,-0.000000000000129,-0.000000000000129,-0.00000000000006,0.000000000000129,-0.00000000000006,0.000000000000129,-0.00000000000006,0.000000000000129,1.26217744835362e-28,0.0,1.0097419586829e-28,2.52435489670724e-29,1.13595970351826e-28,0.0,0.000000000000564,0.000000000000564,0.000000000000564,0.000000000000564,0.000000000000564,0.000000000000564,0.000000000000564,0.000000000000564,0.000000000000564,0.000000000134039,0.000000000133999,0.000000000134039,0.00000000000006,0.000000000134039],[0.00278022021018,0.000914163977313,0.002562967008156,0.000003784005193,-0.000000602505692,-0.002780151819287,-0.000914169554483,-0.002562911827438,-0.000003765266326,-0.002334292181673,0.000000611560357,0.000000068390893,-0.00000000557717,0.000000055180718,0.000000018738867,0.00000002264704,0.000000009054665,0.011628389993618,0.011628389993618,0.010183399401843,0.010183399401843,0.009260652308557,0.009260652308557,0.011628389993618,0.010183399401843,0.009260652308557,2.762087859442369,2.418859693484752,2.199679863336413,0.002334314828713,2.762087859442369],[0.000000000003426,0.000000000001465,0.000000000003427,0.000000000001459,0.000000000001463,-0.000000000003426,-0.000000000001465,-0.000000000003427,-0.000000000001459,-0.00000000000343,-0.000000000001463,2.82727748431211e-27,1.21169035041947e-27,2.42338070083895e-27,1.41363874215605e-27,2.82727748431211e-27,1.41363874215605e-27,0.000000000014795,0.000000000014795,0.000000000014792,0.000000000014792,0.000000000014789,0.000000000014789,0.000000000014795,0.000000000014792,0.000000000014789,0.000000003514153,0.000000003513537,0.000000003512942,0.00000000000343,0.000000003514153],[-0.000000000000087,-0.000000000000057,-0.000000000000087,-0.000000000000057,-0.000000000000057,0.000000000000087,0.000000000000057,0.000000000000087,0.000000000000057,0.000000000000087,0.000000000000057,3.78653234506086e-29,0.0,3.78653234506086e-29,0.0,2.52435489670724e-29,0.0,0.000000000000414,0.000000000000414,0.000000000000413,0.000000000000413,0.000000000000413,0.000000000000413,0.000000000000414,0.000000000000413,0.000000000000413,0.000000000098265,0.000000000098207,0.000000000098147,-0.000000000000087,0.000000000098265],[0.002780152443005,0.00091416964883,0.002562912451309,0.000003765359645,-0.000000611466565,-0.002780112691641,-0.00091417289049,-0.002562880378195,-0.000003754467909,-0.002334279643144,0.000000616729477,0.000000039751364,-0.00000000324166,0.000000032073114,0.000000010891735,0.000000013163317,0.000000005262912,0.011628392464961,0.011628392464961,0.010183401881253,0.010183401881253,0.009260654787132,0.009260654787132,0.011628392464961,0.010183401881253,0.009260654787132,2.762088446459812,2.418860282418223,2.199680452071464,0.002334292806461,2.762088446459812],[0.000000000001291,-0.000000000000744,0.00000000000129,-0.000000000000747,-0.000000000000747,-0.000000000001291,0.000000000000744,-0.00000000000129,0.000000000000747,-0.000000000001291,0.000000000000747,4.03896783473158e-28,2.01948391736579e-28,6.05845175209737e-28,5.04870979341448e-28,6.05845175209737e-28,1.0097419586829e-28,0.000000000005916,0.000000000005916,0.000000000005919,0.000000000005919,0.000000000005915,0.000000000005915,0.000000000005916,0.000000000005919,0.000000000005915,0.000000001405289,0.000000001405909,0.000000001405055,0.000000000001291,0.000000001405909],[-1.04086702919257e-17,-1.94419245372772e-17,-1.26899085763328e-17,1.93581329244553e-17,8.47887719810866e-20,1.04086702919257e-17,1.94419245372772e-17,1.26899085763328e-17,-1.93581329244553e-17,-2.31217472795847e-17,-8.47887719810866e-20,-1.54074395550979e-33,-6.16297582203915e-33,-1.54074395550979e-33,3.08148791101958e-33,3.08148791101958e-33,-1.20370621524202e-35,8.75074672847986e-17,8.75074672847986e-17,9.18450199888029e-17,9.18450199888029e-17,9.16947834681038e-17,9.16947834681038e-17,8.75074672847986e-17,9.18450199888029e-17,9.16947834681038e-17,0.000000000000021,0.000000000000022,0.000000000000022,2.31217472795847e-17,0.000000000000022],[0.002780113072225,0.000914172948017,0.002562880758872,0.000003754524805,-0.000000616672291,-0.00278008681941,-0.000914175088891,-0.002562859576969,-0.000003747331626,-0.002334271330992,0.000000620148053,0.000000026252815,-0.000000002140874,0.000000021181903,0.00000000719318,0.000000008693392,0.000000003475761,0.011628393972905,0.011628393972905,0.010183403394173,0.010183403394173,0.009260656299543,0.009260656299543,0.011628393972905,0.010183403394173,0.009260656299543,2.762088804641364,2.418860641781682,2.199680811313905,0.002334280024384,2.762088804641364],[-0.000000000002035,-0.000000000000545,-0.000000000002036,-0.000000000000544,-0.000000000000545,0.000000000002035,0.000000000000545,0.000000000002036,0.000000000000544,0.000000000002039,0.000000000000545,0.0,3.02922587604869e-28,0.0,4.03896783473158e-28,0.0,2.01948391736579e-28,0.000000000008365,0.000000000008365,0.000000000008367,0.000000000008367,0.00000000000837,0.00000000000837,0.000000000008365,0.000000000008367,0.00000000000837,0.000000001987045,0.00000000198753,0.000000001988107,-0.000000000002039,0.000000001988107],[1.53921775042533e-19,-8.89061080007725e-20,-1.5400567797361e-19,-8.87722657433047e-20,1.77859260688191e-19,-1.53921775042533e-19,8.89061080007725e-20,1.5400567797361e-19,8.87722657433047e-20,-8.09670658039091e-23,-1.77859260688191e-19,0.0,0.0,0.0,0.0,5.40727401378252e-37,0.0,7.05338495220871e-19,7.05338495220871e-19,7.05338495220871e-19,7.05338495220871e-19,7.05338495220871e-19,7.05338495220871e-19,7.05338495220871e-19,7.05338495220871e-19,7.05338495220871e-19,1.67538833451252e-16,1.67538833451252e-16,1.67538833451252e-16,8.09670658039097e-23,1.67538833451252e-16],[0.002780087179696,0.000914175143459,0.002562859937344,0.000003747385593,-0.000000620093809,-0.002780050931873,-0.000914178099409,-0.002562830691036,-0.000003737453816,-0.002334259688746,0.000000624892868,0.000000036247824,-0.00000000295595,0.000000029246309,0.000000009931777,0.000000012003155,0.000000004799058,0.011628395400572,0.011628395400572,0.010183404826419,0.010183404826419,0.009260657731305,0.009260657731305,0.011628395400572,0.010183404826419,0.009260657731305,2.762089143754614,2.418860981982562,2.19968115140004,0.002334271691901,2.762089143754614],[0.000000000000756,-0.000000000000529,0.000000000000755,-0.000000000000532,-0.000000000000532,-0.000000000000756,0.000000000000529,-0.000000000000755,0.000000000000532,-0.000000000000756,0.000000000000532,1.14100841331167e-26,4.64481300994132e-27,1.17130067207216e-26,4.8467614016779e-27,1.12081357413801e-26,4.74578720580961e-27,0.000000000003665,0.000000000003665,0.000000000003668,0.000000000003668,0.000000000003665,0.000000000003665,0.000000000003665,0.000000000003668,0.000000000003665,0.000000000870591,0.000000000871375,0.000000000870449,0.000000000000756,0.000000000871375],[-2.308826625638e-19,1.33359162001159e-19,-7.7250442390005e-20,-3.99904057519341e-19,2.66648651960575e-19,2.308826625638e-19,-1.33359162001159e-19,7.72504423900049e-20,3.99904057519341e-19,-3.08182726707291e-19,-2.66648651960575e-19,-4.81482486096809e-35,2.40741243048404e-35,-3.61111864572607e-35,-9.62964972193618e-35,9.62964972193618e-35,-4.81482486096809e-35,1.05800774283131e-18,1.05800774283131e-18,1.61613352245795e-18,1.61613352245795e-18,1.61613352245795e-18,1.61613352245795e-18,1.05800774283131e-18,1.61613352245795e-18,1.61613352245795e-18,2.51308250176878e-16,3.83879693067482e-16,3.83879693067482e-16,3.08182726707291e-19,3.83879693067482e-16],[0.000281118538323,0.000092520078061,0.00016093531587,0.000000084734262,-0.000000056551695,-0.000281118556876,-0.000092519998435,-0.000160935327355,-0.000000084760974,-0.001030332932256,0.000000056865782,-0.000000000018553,0.000000000079627,-0.000000000011485,-0.000000000026712,0.000000000691013,0.000000000314088,0.001175959878924,0.001175959878924,0.000639475702608,0.000639475702608,0.004087620050427,0.004087620050427,0.001175959878924,0.000639475702608,0.004087620050427,0.279325384386879,0.151894464801355,0.97093111956977,0.001030333623269,0.97093111956977],[0.002498932764967,0.00082165805918,0.002401895746646,0.000003652756765,-0.000000568303706,-0.002498910584701,-0.000821662684563,-0.002401876737288,-0.000003644026049,-0.001303926955687,0.00000056969161,0.000000022180267,-0.000000004625383,0.000000019009357,0.000000008730716,-0.000000000518168,0.000000001387904,0.010452437012071,0.010452437012071,0.009543930896331,0.009543930896331,0.00517303932252,0.00517303932252,0.010452437012071,0.009543930896331,0.00517303932252,2.482764113387451,2.266966938207493,1.228750421768835,0.001303926437519,2.482764113387451],[0.000000000000645,-0.000000000000372,0.000000000000645,-0.000000000000373,-0.000000000000374,-0.000000000000645,0.000000000000372,-0.000000000000645,0.000000000000373,-0.000000000000646,0.000000000000374,4.03896783473158e-28,1.0097419586829e-28,2.01948391736579e-28,1.0097419586829e-28,4.03896783473158e-28,2.01948391736579e-28,0.000000000002958,0.000000000002958,0.000000000002958,0.000000000002958,0.00000000000296,0.00000000000296,0.000000000002958,0.000000000002958,0.00000000000296,0.000000000702612,0.000000000702543,0.000000000702971,0.000000000000646,0.000000000702971],[0.000281118558482,0.000092519998798,0.000160935328961,0.000000084761334,-0.000000056865421,-0.000281118580929,-0.000092519902461,-0.000160935342856,-0.000000084793651,-0.001030332097834,0.000000057245424,-0.000000000022447,0.000000000096337,-0.000000000013895,-0.000000000032317,0.000000000836031,0.000000000380003,0.001175959885437,0.001175959885437,0.000639475708993,0.000639475708993,0.00408762005681,0.00408762005681,0.001175959885437,0.000639475708993,0.00408762005681,0.279325385933806,0.151894466317873,0.970931121085965,0.001030332933865,0.970931121085965],[0.002498910755463,0.000821662710166,0.002401876908093,0.000003644051364,-0.000000569666164,-0.00249889817815,-0.000821665332987,-0.002401866128843,-0.000003639100615,-0.001303927420574,0.000000570453174,0.000000012577312,-0.000000002622822,0.00000001077925,0.000000004950749,-0.000000000293827,0.000000000787011,0.010452437688423,0.010452437688423,0.009543931575179,0.009543931575179,0.005173040001118,0.005173040001118,0.010452437688423,0.009543931575179,0.005173040001118,2.482764274041193,2.266967099453983,1.228750582956064,0.001303927126747,2.482764274041193],[0.000000000000853,-0.000000000000385,0.000000000000852,-0.000000000000386,-0.000000000000386,-0.000000000000853,0.000000000000385,-0.000000000000852,0.000000000000386,-0.000000000000854,0.000000000000386,7.06819371078027e-28,6.05845175209737e-28,1.0097419586829e-27,5.04870979341448e-28,8.07793566946316e-28,4.54383881407303e-28,0.000000000003716,0.000000000003716,0.000000000003716,0.000000000003716,0.000000000003718,0.000000000003718,0.000000000003716,0.000000000003716,0.000000000003718,0.000000000882697,0.000000000882558,0.000000000883046,0.000000000000854,0.000000000883046],[0.000281118582033,0.000092519904188,0.000160935343963,0.000000084795376,-0.000000057243695,-0.00028111860805,-0.000092519792526,-0.000160935360068,-0.000000084832834,-0.001030331129922,0.000000057684145,-0.000000000026017,0.000000000111662,-0.000000000016105,-0.000000000037458,0.000000000969019,0.00000000044045,0.001175959891748,0.001175959891748,0.000639475713393,0.000639475713393,0.004087620061201,0.004087620061201,0.001175959891748,0.000639475713393,0.004087620061201,0.279325387432923,0.151894467363176,0.970931122129045,0.001030332098941,0.970931122129045],[0.002498900677549,0.000821665705309,0.002401868628856,0.000003639468721,-0.000000570083144,-0.00249840440955,-0.000821769194928,-0.002401443307674,-0.000003444125078,-0.001303941517823,0.000000601136544,0.000000496267999,-0.000000103489619,0.000000425321182,0.000000195343643,-0.000000011593484,0.0000000310534,0.010452447585041,0.010452447585041,0.009543941511295,0.009543941511295,0.0051730499336,0.0051730499336,0.010452447585041,0.009543941511295,0.0051730499336,2.482766624781635,2.266969459576365,1.228752942215325,0.001303929924339,2.482766624781635],[0.000000000000654,-0.000000000000381,0.000000000000653,-0.000000000000381,-0.000000000000382,-0.000000000000654,0.000000000000381,-0.000000000000653,0.000000000000381,-0.000000000000655,0.000000000000382,1.78724326686872e-26,7.32062920045099e-27,1.7771458472819e-26,7.47209049425342e-27,1.79734068645555e-26,7.37111629838513e-27,0.000000000003004,0.000000000003004,0.000000000003004,0.000000000003004,0.000000000003006,0.000000000003006,0.000000000003004,0.000000000003004,0.000000000003006,0.000000000713614,0.000000000713492,0.000000000713976,0.000000000000655,0.000000000713976],[0.00028111860996,0.000092519793788,0.00016093536198,0.000000084834093,-0.000000057682883,-0.000281118649628,-0.000092519623538,-0.000160935386536,-0.000000084891206,-0.001030329654369,0.000000058354439,-0.000000000039669,0.000000000170251,-0.000000000024556,-0.000000000057112,0.000000001477467,0.000000000671556,0.001175959900523,0.001175959900523,0.000639475720992,0.000639475720992,0.004087620068796,0.004087620068796,0.001175959900523,0.000639475720992,0.004087620068796,0.279325389517266,0.151894469168177,0.970931123932996,0.001030331131836,0.970931123932996],[0.002498407091109,0.000821769594687,0.002401445989936,0.000003444519835,-0.000000600739496,-0.002498357375775,-0.0008217799621,-0.002401403381933,-0.000003424950625,-0.001303945365986,0.000000603850377,0.000000049715334,-0.000000010367414,0.000000042608002,0.00000001956921,-0.000000001161399,0.000000003110881,0.010452458204914,0.010452458204914,0.009543952173506,0.009543952173506,0.005173060591912,0.005173060591912,0.010452458204914,0.009543952173506,0.005173060591912,2.482769147316803,2.266971992168158,1.228755473880987,0.001303944204587,2.482769147316803],[0.000000000000658,-0.000000000000373,0.000000000000658,-0.000000000000374,-0.000000000000374,-0.000000000000658,0.000000000000373,-0.000000000000658,0.000000000000374,-0.000000000000659,0.000000000000374,1.59539229471897e-26,6.56332273143882e-27,1.6054897143058e-26,6.41186143763638e-27,1.61558713389263e-26,6.51283563350467e-27,0.000000000003004,0.000000000003004,0.000000000003004,0.000000000003004,0.000000000003006,0.000000000003006,0.000000000003004,0.000000000003004,0.000000000003006,0.000000000713632,0.000000000713508,0.00000000071399,0.000000000000659,0.00000000071399],[0.000281118652533,0.000092519625408,0.000160935389444,0.000000084893071,-0.00000005835257,-0.000281118703532,-0.000092519406527,-0.000160935421014,-0.000000084966497,-0.001030327757797,0.000000059215946,-0.000000000050999,0.00000000021888,-0.00000000003157,-0.000000000073426,0.000000001899484,0.000000000863376,0.001175959913811,0.001175959913811,0.000639475732551,0.000639475732551,0.004087620080346,0.004087620080346,0.001175959913811,0.000639475732551,0.004087620080346,0.279325392673458,0.151894471913813,0.970931126676534,0.001030329657281,0.970931126676534],[0.000210088554755,0.000069147914096,0.000108949763737,0.000000063255964,-0.00000002929898,-0.000210088441484,-0.000069147866922,-0.000108949744023,-0.000000063222955,-0.000100002084024,0.000000029303041,0.000000000113271,0.000000000047173,0.000000000019714,0.000000000033009,-0.000000000000193,0.000000000004061,0.0008790087616,0.0008790087616,0.000433001160882,0.000433001160882,0.000396731963778,0.000396731963778,0.0008790087616,0.000433001160882,0.000396731963778,0.208790677822986,0.102850631106504,0.094235619996104,0.000100002083831,0.208790677822986],[0.002288269837342,0.000752632248585,0.002292454634878,0.000003361893326,-0.000000574351768,-0.00228814468897,-0.00075265326053,-0.002292335750299,-0.000003299710671,-0.001203948977481,0.000000586242721,0.000000125148372,-0.000000021011945,0.000000118884579,0.000000062182654,-0.000000004676949,0.000000011890953,0.009573453546338,0.009573453546338,0.009110955216569,0.009110955216569,0.004776332674115,0.004776332674115,0.009573453546338,0.009110955216569,0.004776332674115,2.273979444083724,2.164122359623443,1.13452081492544,0.001203944300532,2.273979444083724],[0.000000000000652,-0.000000000000268,0.000000000000651,-0.000000000000269,-0.000000000000269,-0.000000000000652,0.000000000000268,-0.000000000000651,0.000000000000269,-0.000000000000652,0.000000000000269,1.21169035041947e-27,5.55358077275592e-28,1.11071615455118e-27,6.56332273143882e-28,1.31266454628776e-27,5.55358077275592e-28,0.000000000002798,0.000000000002798,0.000000000002797,0.000000000002797,0.000000000002799,0.000000000002799,0.000000000002798,0.000000000002797,0.000000000002799,0.000000000664558,0.000000000664396,0.000000000664904,0.000000000000652,0.000000000664904],[0.000281118706288,0.000092519408698,0.000160935423774,0.000000084968663,-0.000000059213775,-0.000281118742901,-0.000092519251563,-0.000160935446438,-0.000000085021376,-0.001030326396912,0.000000059833596,-0.000000000036613,0.000000000157135,-0.000000000022664,-0.000000000052713,0.000000001363648,0.000000000619822,0.001175959926909,0.001175959926909,0.000639475743522,0.000639475743522,0.004087620091307,0.004087620091307,0.001175959926909,0.000639475743522,0.004087620091307,0.279325395784761,0.151894474519552,0.970931129280022,0.00103032776056,0.970931129280022],[-0.000000000000042,-0.000000000000003,-0.000000000000042,-0.000000000000003,-0.000000000000003,0.000000000000042,0.000000000000003,0.000000000000042,0.000000000000003,0.000000000000042,0.000000000000003,3.15544362088405e-29,0.0,2.52435489670724e-29,-3.54987407349455e-30,2.52435489670724e-29,-1.97215226305253e-30,0.000000000000166,0.000000000000166,0.000000000000166,0.000000000000166,0.000000000000167,0.000000000000167,0.000000000000166,0.000000000000166,0.000000000000167,0.000000000039531,0.000000000039534,0.000000000039701,-0.000000000000042,0.000000000039701],[0.000210088442011,0.00006914786737,0.000108949744551,0.000000063223402,-0.000000029302593,-0.00021008838686,-0.000069147844402,-0.000108949734952,-0.00000006320733,-0.000100002084647,0.00000002930457,0.000000000055151,0.000000000022968,0.000000000009599,0.000000000016072,-0.000000000000094,0.000000000001977,0.000879008764145,0.000879008764145,0.00043300116298,0.00043300116298,0.000396731965874,0.000396731965874,0.000879008764145,0.00043300116298,0.000396731965874,0.208790678427628,0.102850631604845,0.094235620493973,0.000100002084553,0.208790678427628],[0.002288146581909,0.000752653743917,0.00229233764413,0.000003300190389,-0.000000585760951,-0.002287920892752,-0.000752691636231,-0.002292123250937,-0.000003188051904,-0.001203959308724,0.000000607204773,0.000000225689157,-0.000000037892315,0.000000214393193,0.000000112138485,-0.000000008434223,0.000000021443822,0.009573461293322,0.009573461293322,0.009110962746385,0.009110962746385,0.004776340199086,0.004776340199086,0.009573461293322,0.009110962746385,0.004776340199086,2.273981284222427,2.164124148178196,1.134522602329492,0.001203950874502,2.273981284222427],[0.000000000000679,-0.000000000000499,0.000000000000679,-0.0000000000005,-0.000000000000501,-0.000000000000679,0.000000000000499,-0.000000000000679,0.0000000000005,-0.00000000000068,0.000000000000501,1.41363874215605e-27,6.05845175209737e-28,1.51461293802434e-27,5.04870979341448e-28,1.51461293802434e-27,6.05845175209737e-28,0.000000000003348,0.000000000003348,0.000000000003348,0.000000000003348,0.00000000000335,0.00000000000335,0.000000000003348,0.000000000003348,0.00000000000335,0.000000000795309,0.000000000795251,0.000000000795677,0.00000000000068,0.000000000795677],[0.00028111874567,0.000092519253941,0.00016093544921,0.000000085023749,-0.000000059831217,-0.000281118797403,-0.00009251903191,-0.000160935481235,-0.000000085098232,-0.001030324472863,0.000000060707021,-0.000000000051733,0.000000000222031,-0.000000000032024,-0.000000000074483,0.000000001926824,0.000000000875803,0.001175959940313,0.001175959940313,0.000639475754543,0.000639475754543,0.004087620102318,0.004087620102318,0.001175959940313,0.000639475754543,0.004087620102318,0.279325398968478,0.1518944771374,0.970931131895375,0.001030326399688,0.970931131895375],[0.000000000000026,-0.000000000000001,0.000000000000026,-0.000000000000002,-0.000000000000002,-0.000000000000026,0.000000000000001,-0.000000000000026,0.000000000000002,-0.000000000000026,0.000000000000002,6.31088724176809e-30,-1.97215226305253e-30,3.15544362088405e-30,0.0,3.15544362088405e-30,0.0,0.000000000000104,0.000000000000104,0.000000000000104,0.000000000000104,0.000000000000103,0.000000000000103,0.000000000000104,0.000000000000104,0.000000000000103,0.000000000024595,0.000000000024618,0.000000000024442,0.000000000000026,0.000000000024618],[0.000210088388796,0.000069147846105,0.000108949736891,0.00000006320903,-0.000000029302866,-0.000210088129715,-0.000069147738207,-0.0001089496918,-0.000000063133528,-0.000100002087031,0.000000029312154,0.00000000025908,0.000000000107898,0.000000000045091,0.000000000075501,-0.000000000000442,0.000000000009288,0.000879008773568,0.000879008773568,0.000433001170689,0.000433001170689,0.000396731973573,0.000396731973573,0.000879008773568,0.000433001170689,0.000396731973573,0.208790680665866,0.102850633435903,0.094235622322672,0.000100002086588,0.208790680665866],[0.002287922657728,0.000752692087012,0.002292125016769,0.000003188499096,-0.000000606755569,-0.002287821165261,-0.000752709127172,-0.002292028604104,-0.000003138070399,-0.001203964870542,0.000000616398861,0.000000101492468,-0.00000001704016,0.000000096412666,0.000000050428697,-0.000000003792847,0.000000009643293,0.00957346851728,0.00957346851728,0.009110969767851,0.009110969767851,0.004776347216035,0.004776347216035,0.00957346851728,0.009110969767851,0.004776347216035,2.273983000127027,2.164125815984875,1.13452426906326,0.001203961077695,2.273983000127027],[0.000000000000738,-0.000000000000211,0.000000000000738,-0.000000000000212,-0.000000000000212,-0.000000000000738,0.000000000000211,-0.000000000000738,0.000000000000212,-0.000000000000739,0.000000000000212,9.08767762814606e-28,4.2914033244023e-28,1.0097419586829e-27,4.54383881407303e-28,1.21169035041947e-27,4.03896783473158e-28,0.000000000003049,0.000000000003049,0.000000000003049,0.000000000003049,0.00000000000305,0.00000000000305,0.000000000003049,0.000000000003049,0.00000000000305,0.000000000724293,0.000000000724136,0.000000000724578,0.000000000000739,0.000000000724578],[0.000281118800853,0.00009251903454,0.00016093548469,0.000000085100856,-0.000000060704391,-0.000281118856825,-0.000092518794319,-0.000160935519338,-0.000000085181441,-0.001030322391637,0.000000061651947,-0.000000000055972,0.000000000240221,-0.000000000034648,-0.000000000080585,0.000000002084685,0.000000000947556,0.001175959956603,0.001175959956603,0.000639475768277,0.000639475768277,0.004087620116039,0.004087620116039,0.001175959956603,0.000639475768277,0.004087620116039,0.279325402837883,0.151894480399588,0.970931135154653,0.001030324476322,0.970931135154653],[4.15110859672918e-17,7.76781738574975e-17,5.0630403413052e-17,-7.73397454519726e-17,-3.14910664056142e-19,-4.15110859672919e-17,-7.76781738574975e-17,-5.06304034130519e-17,7.73397454519726e-17,9.24515035574266e-17,3.14910664056107e-19,-2.46519032881566e-32,2.46519032881566e-32,3.69778549322349e-32,0.0,-1.23259516440783e-32,-3.52445179822864e-32,3.50029869139195e-16,3.50029869139195e-16,3.67380079955212e-16,3.67380079955212e-16,3.66779133872415e-16,3.66779133872415e-16,3.50029869139195e-16,3.67380079955212e-16,3.66779133872415e-16,0.000000000000083,0.000000000000087,0.000000000000087,-9.24515035574266e-17,0.000000000000087],[0.000210088041205,0.000069147752869,-0.000000000034953,-0.000000000054013,-0.000000000054129,-0.000210084596654,-0.000069147493052,0.000000000034953,0.000000000054013,0.000000000034985,0.000000000054129,0.000000003444551,0.000000000259818,1.33915188732161e-17,-5.15513737780383e-18,-2.25532961484282e-18,1.41743140985481e-17,0.000879008457656,0.000879008457656,0.000000000255691,0.000000000255691,0.000000000255692,0.000000000255692,0.000879008457656,0.000000000255691,0.000000000255692,0.208790605627311,0.000000060734143,0.000000060734548,-0.000000000034985,0.208790605627311],[0.000000000082775,-0.000000000024422,0.000108949721,0.000000063177792,-0.000000029267795,-0.000000000082775,0.000000000024422,-0.000108949542159,-0.000000063166819,-0.000100001979261,0.000000029427458,-7.74565010493981e-17,1.37942731199305e-17,0.000000000178841,0.000000000010973,0.000000000136997,0.000000000159664,0.000000000342989,0.000000000342989,0.00043300128684,0.00043300128684,0.000396732089472,0.000396732089472,0.000000000342989,0.00043300128684,0.000396732089472,0.000000081470182,0.102850661025417,0.094235649852132,0.000100002116258,0.102850661025417],[0.002287821875524,0.000752709308594,0.002292029314716,0.000003138250345,-0.000000616218086,-0.002287791678708,-0.00075271437851,-0.002292000629283,-0.000003123246414,-0.001203966710921,0.000000619087233,0.000000030196816,-0.000000005069916,0.000000028685434,0.000000015003931,-0.000000001128474,0.000000002869146,0.009573471424482,0.009573471424482,0.009110972593559,0.009110972593559,0.004776350039925,0.004776350039925,0.009573471424482,0.009110972593559,0.004776350039925,2.273983690673731,2.164126487174448,1.134524939821091,0.001203965582447,2.273983690673731],[0.000000000000695,-0.00000000000024,0.000000000000694,-0.000000000000241,-0.000000000000241,-0.000000000000695,0.00000000000024,-0.000000000000694,0.000000000000241,-0.000000000000696,0.000000000000241,2.72630328844382e-27,1.11071615455118e-27,2.82727748431211e-27,1.16120325248533e-27,2.62532909257553e-27,1.21169035041947e-27,0.000000000002919,0.000000000002919,0.000000000002918,0.000000000002918,0.00000000000292,0.00000000000292,0.000000000002919,0.000000000002918,0.00000000000292,0.000000000693334,0.000000000693188,0.000000000693626,0.000000000000696,0.000000000693626],[0.000281118860403,0.000092518796982,0.00016093552292,0.000000085184099,-0.000000061649283,-0.000281118913189,-0.000092518570434,-0.000160935555596,-0.000000085260097,-0.001030320429197,0.000000062542905,-0.000000000052786,0.000000000226548,-0.000000000032676,-0.000000000075998,0.000000001966026,0.000000000893622,0.001175959973415,0.001175959973415,0.000639475782516,0.000639475782516,0.004087620130266,0.004087620130266,0.001175959973415,0.000639475782516,0.004087620130266,0.279325406831304,0.151894483781779,0.970931138533985,0.001030322395223,0.970931138533985],[-0.000000000000029,-0.000000000000003,-0.000000000000029,-0.000000000000004,-0.000000000000003,0.000000000000029,0.000000000000003,0.000000000000029,0.000000000000004,0.000000000000029,0.000000000000003,1.26217744835362e-29,5.52202633654708e-30,6.31088724176809e-30,5.52202633654708e-30,1.26217744835362e-29,1.18329135783152e-30,0.000000000000115,0.000000000000115,0.000000000000115,0.000000000000115,0.000000000000116,0.000000000000116,0.000000000000115,0.000000000000115,0.000000000000116,0.000000000027406,0.000000000027421,0.000000000027522,-0.000000000000029,0.000000000027522],[0.000210084617332,0.000069147494477,-0.000000000014272,-0.000000000052626,-0.000000000052728,-0.000210084320689,-0.000069147472102,0.000000000014272,0.000000000052626,0.000000000014267,0.000000000052728,0.000000000296643,0.000000000022375,1.03696699457353e-18,-2.00751694034762e-20,-4.59429573283951e-19,8.93158089173906e-19,0.000879008537491,0.000879008537491,0.000000000216708,0.000000000216708,0.000000000216707,0.000000000216707,0.000879008537491,0.000000000216708,0.000000000216707,0.208790624590539,0.000000051474469,0.000000051474399,-0.000000000014267,0.208790624590539],[0.000000000082913,-0.0000000000243,0.000108949542297,0.000000063166941,-0.000000029427336,-0.000000000082913,0.0000000000243,-0.000108949409249,-0.000000063158777,-0.00010000187748,0.000000029546118,-5.76748468376672e-17,1.01520183734059e-17,0.000000000133048,0.000000000008163,0.000000000101918,0.000000000118781,0.000000000343377,0.000000000343377,0.000433001287388,0.000433001287388,0.000396732090019,0.000396732090019,0.000000000343377,0.000433001287388,0.000396732090019,0.00000008156222,0.102850661155526,0.094235649982079,0.000100001979398,0.102850661155526],[0.002287792025342,0.000752714467037,0.002292000976087,0.000003123334218,-0.000000618999023,-0.002287757939102,-0.00075272018997,-0.002291968595899,-0.000003106397744,-0.001203968332183,0.000000622237722,0.000000034086239,-0.000000005722932,0.000000032380187,0.000000016936474,-0.000000001273822,0.000000003238699,0.009573472843297,0.009573472843297,0.00911097397262,0.00911097397262,0.0047763514181,0.0047763514181,0.009573472843297,0.00911097397262,0.0047763514181,2.273984027684513,2.164126814742352,1.134525267178369,0.001203967058361,2.273984027684513],[0.000000000000645,-0.000000000000372,0.000000000000645,-0.000000000000373,-0.000000000000374,-0.000000000000645,0.000000000000372,-0.000000000000645,0.000000000000373,-0.000000000000646,0.000000000000374,2.22143230910237e-27,7.57306469012171e-28,2.22143230910237e-27,7.06819371078027e-28,2.32240650497066e-27,7.06819371078027e-28,0.000000000002958,0.000000000002958,0.000000000002958,0.000000000002958,0.00000000000296,0.00000000000296,0.000000000002958,0.000000000002958,0.00000000000296,0.000000000702628,0.000000000702528,0.00000000070297,0.000000000000646,0.00000000070297],[0.000281118917352,0.000092518573835,0.000160935559765,0.00000008526349,-0.000000062539504,-0.000281119004141,-0.000092518201353,-0.00016093561349,-0.000000085388443,-0.00103031720091,0.000000064008761,-0.000000000086788,0.000000000372481,-0.000000000053725,-0.000000000124953,0.000000003232461,0.000000001469257,0.001175959993353,0.001175959993353,0.000639475799089,0.000639475799089,0.004087620146825,0.004087620146825,0.001175959993353,0.000639475799089,0.004087620146825,0.279325411567231,0.151894487718483,0.970931142467094,0.001030320433371,0.970931142467094],[0.000000000000003,0.000000000000005,0.000000000000003,0.000000000000005,0.000000000000005,-0.000000000000003,-0.000000000000005,-0.000000000000003,-0.000000000000005,-0.000000000000003,-0.000000000000005,1.18329135783152e-30,7.88860905221012e-31,0.0,1.57772181044202e-30,7.88860905221012e-31,7.88860905221012e-31,0.000000000000023,0.000000000000023,0.000000000000023,0.000000000000023,0.000000000000023,0.000000000000023,0.000000000000023,0.000000000000023,0.000000000000023,0.000000000005572,0.000000000005442,0.000000000005456,0.000000000000003,0.000000000005572],[0.000210084323991,0.000069147472333,-0.00000000001097,-0.000000000052401,-0.000000000052501,-0.000210084032927,-0.000069147450378,0.00000000001097,0.000000000052401,0.000000000010959,0.000000000052501,0.000000000291063,0.000000000021954,1.0159478779974e-18,-7.04523944878192e-21,-4.65004273011721e-19,9.29808439401039e-19,0.000879008550242,0.000879008550242,0.000000000212774,0.000000000212774,0.000000000212773,0.000000000212773,0.000879008550242,0.000000000212774,0.000000000212773,0.208790627619316,0.000000050540109,0.000000050539954,-0.000000000010959,0.208790627619316],[0.000000000083099,-0.000000000024233,0.000108949409436,0.000000063158844,-0.000000029546051,-0.000000000083099,0.000000000024233,-0.000108949320337,-0.000000063153377,-0.000100001809414,0.000000029625596,-3.87335494760148e-17,6.78109556650733e-18,0.000000000089099,0.000000000005467,0.000000000068252,0.000000000079545,0.000000000344013,0.000000000344013,0.00043300128813,0.00043300128813,0.00039673209076,0.00039673209076,0.000000000344013,0.00043300128813,0.00039673209076,0.00000008171331,0.102850661331609,0.094235650158081,0.000100001877667,0.102850661331609],[0.002287758295777,0.000752720281164,0.002291968952751,0.000003106488188,-0.000000622146857,-0.002287726238282,-0.000752725663477,-0.002291938499768,-0.00000309055974,-0.001203969887699,0.000000625192795,0.000000032057494,-0.000000005382313,0.000000030452983,0.000000015928448,-0.000000001198006,0.000000003045938,0.009573474303357,0.009573474303357,0.009110975391652,0.009110975391652,0.004776352836218,0.004776352836218,0.009573474303357,0.009110975391652,0.004776352836218,2.273984374492106,2.164127151804439,1.134525604023477,0.001203968689693,2.273984374492106],[0.000000000001179,0.00000000000018,0.000000000001179,0.000000000000178,0.000000000000179,-0.000000000001179,-0.00000000000018,-0.000000000001179,-0.000000000000178,-0.000000000001181,-0.000000000000179,1.21169035041947e-27,4.54383881407303e-28,1.21169035041947e-27,5.80601626242665e-28,8.07793566946316e-28,4.54383881407303e-28,0.000000000004736,0.000000000004736,0.000000000004735,0.000000000004735,0.000000000004736,0.000000000004736,0.000000000004736,0.000000000004735,0.000000000004736,0.00000000112494,0.000000001124669,0.00000000112504,0.000000000001181,0.00000000112504],[0.000281119019861,0.000092518213451,0.00016093562923,0.000000085400515,-0.000000063996662,-0.000281119432521,-0.000092516442384,-0.000160935884679,-0.000000085994639,-0.001030301847025,0.000000070982657,-0.00000000041266,0.000000001771068,-0.000000000255448,-0.000000000594124,0.000000015369644,0.000000006985995,0.001175960067716,0.001175960067716,0.000639475861659,0.000639475861659,0.004087620209341,0.004087620209341,0.001175960067716,0.000639475861659,0.004087620209341,0.27932542923044,0.151894502580722,0.970931157316652,0.001030317216669,0.970931157316652],[-0.000000000000003,-0.000000000000005,-0.000000000000003,-0.000000000000005,-0.000000000000005,0.000000000000003,0.000000000000005,0.000000000000003,0.000000000000005,0.000000000000003,0.000000000000005,0.0,7.88860905221012e-31,7.88860905221012e-31,1.57772181044202e-30,0.0,1.57772181044202e-30,0.000000000000023,0.000000000000023,0.000000000000023,0.000000000000023,0.000000000000023,0.000000000000023,0.000000000000023,0.000000000000023,0.000000000000023,0.000000000005397,0.000000000005543,0.000000000005531,-0.000000000000003,0.000000000005543],[0.0002100840359,0.000069147450597,-0.000000000007997,-0.000000000052188,-0.000000000052285,-0.000210083800879,-0.00006914743287,0.000000000007997,0.000000000052188,0.000000000007981,0.000000000052285,0.000000000235021,0.000000000017727,7.45418772085836e-19,2.95303478681431e-22,-4.55010902083076e-19,6.14834308485064e-19,0.000879008561737,0.000879008561737,0.000000000209831,0.000000000209831,0.00000000020983,0.00000000020983,0.000879008561737,0.000000000209831,0.00000000020983,0.208790630349659,0.000000049841089,0.000000049840844,-0.000000000007981,0.208790630349659],[0.000000000040197,-0.000000000010256,0.000000000040177,-0.000000000010332,-0.00000002961154,-0.000000000040197,0.000000000010256,-0.000000000040177,0.000000000010332,-0.000100001673332,0.000000029651075,-5.46710132092254e-18,1.70674988929163e-17,-1.20356815218619e-17,-1.32642952412129e-17,0.000000000093123,0.000000000039535,0.000000000164873,0.000000000164873,0.000000000164874,0.000000000164874,0.000396731920312,0.000396731920312,0.000000000164873,0.000000000164874,0.000396731920312,0.000000039162114,0.000000039162441,0.09423560967149,0.000100001766455,0.09423560967149],[0.000000000040125,-0.000000000010765,0.000108949277388,0.000000063166926,-0.000000000010835,-0.000000000040125,0.000000000010765,-0.000108948154955,-0.000000063082262,-0.000000000040182,0.000000000010835,-4.31887060627456e-18,-4.31287967798672e-18,0.000000001122434,0.000000000084664,-1.55913308459931e-18,5.91019285895587e-18,0.000000000165106,0.000000000165106,0.00043300111747,0.00043300111747,0.000000000165106,0.000000000165106,0.000000000165106,0.00043300111747,0.000000000165106,0.00000003921759,0.102850620794876,0.000000039217609,0.000000000040182,0.102850620794876],[0.002287726612889,0.00075272575915,0.002291938874561,0.00000309065462,-0.000000625097469,-0.002287689207903,-0.000752732039282,-0.002291903341735,-0.000003072069158,-0.001203971661031,0.000000628651498,0.000000037404986,-0.000000006280132,0.000000035532826,0.000000018585462,-0.000000001397842,0.00000000355403,0.009573475836711,0.009573475836711,0.009110976882045,0.009110976882045,0.004776354325653,0.004776354325653,0.009573475836711,0.009110976882045,0.004776354325653,2.27398473870901,2.164127505817161,1.134525957808516,0.001203970263189,2.27398473870901],[-0.000000000001068,-0.000000000001104,-0.000000000001069,-0.000000000001103,-0.000000000001105,0.000000000001068,0.000000000001104,0.000000000001069,0.000000000001103,0.00000000000107,0.000000000001105,4.03896783473158e-28,0.0,4.03896783473158e-28,2.01948391736579e-28,6.05845175209737e-28,4.03896783473158e-28,0.000000000006099,0.000000000006099,0.000000000006099,0.000000000006099,0.000000000006099,0.000000000006099,0.000000000006099,0.000000000006099,0.000000000006099,0.000000001448671,0.000000001448604,0.000000001448739,-0.00000000000107,0.000000001448739],[0.000281119448479,0.000092516454614,0.000160935900657,0.000000086006842,-0.000000070970426,-0.000281119538374,-0.000092516068796,-0.000160935956305,-0.000000086136269,-0.001030298514825,0.000000072492289,-0.000000000089896,0.000000000385818,-0.000000000055648,-0.000000000129427,0.000000003348197,0.000000001521863,0.001175960143137,0.001175960143137,0.000639475925173,0.000639475925173,0.004087620272801,0.004087620272801,0.001175960143137,0.000639475925173,0.004087620272801,0.279325447145166,0.151894517667091,0.970931172390188,0.001030301863021,0.970931172390188],[-0.000000000000036,0.000000000000007,-0.000000000000036,0.000000000000007,0.000000000000007,0.000000000000036,-0.000000000000007,0.000000000000036,-0.000000000000007,0.000000000000036,-0.000000000000007,1.26217744835362e-29,-6.31088724176809e-30,1.89326617253043e-29,3.15544362088405e-30,6.31088724176809e-30,-4.73316543132607e-30,0.000000000000146,0.000000000000146,0.000000000000146,0.000000000000146,0.000000000000147,0.000000000000147,0.000000000000146,0.000000000000146,0.000000000000147,0.000000000034688,0.000000000034639,0.000000000034836,-0.000000000000036,0.000000000034836],[0.000210083804062,0.000069147433129,-0.000000000004813,-0.000000000051935,-0.00000000005203,-0.000210083451314,-0.000069147406522,0.000000000004813,0.000000000051935,0.000000000004792,0.00000000005203,0.000000000352748,0.000000000026607,1.25193717855241e-18,1.70495088051146e-19,-7.22705023351906e-19,9.98965876177558e-19,0.000879008574076,0.000879008574076,0.00000000020729,0.00000000020729,0.000000000207288,0.000000000207288,0.000879008574076,0.00000000020729,0.000000000207288,0.208790633280698,0.000000049237443,0.000000049237093,-0.000000000004792,0.208790633280698],[0.000000000040203,-0.000000000010206,0.000000000040183,-0.000000000010281,-0.000000029651024,-0.000000000040203,0.000000000010206,-0.000000000040183,0.000000000010281,-0.000100001426371,0.000000029755874,-1.4522547087481e-17,4.52640214935988e-17,-3.19253815546789e-17,-3.5212879673206e-17,0.000000000246967,0.000000000104849,0.000000000164845,0.000000000164845,0.000000000164846,0.000000000164846,0.000396731920334,0.000396731920334,0.000000000164845,0.000000000164846,0.000396731920334,0.00000003915549,0.000000039155809,0.094235609676841,0.000100001673338,0.094235609676841],[0.000000000040159,-0.00000000001077,0.000108948154989,0.000000063082257,-0.000000000010841,-0.000000000040159,0.00000000001077,-0.00010894808667,-0.000000063077104,-0.000000000040216,0.000000000010841,-2.64570209869831e-19,-2.70233653798866e-19,0.000000000068319,0.000000000005153,-9.54100362309809e-20,3.80515888533603e-19,0.000000000165242,0.000000000165242,0.000433001117605,0.000433001117605,0.000000000165242,0.000000000165242,0.000000000165242,0.000433001117605,0.000000000165242,0.000000039249765,0.102850620826863,0.000000039249782,0.000000000040216,0.102850620826863],[0.002287689467477,0.000752732105483,0.002291903601438,0.000003072134804,-0.000000628585541,-0.002287678704385,-0.000752733912558,-0.00229189337705,-0.000003066786933,-0.001203972323443,0.000000629608195,0.000000010763093,-0.000000001807075,0.000000010224388,0.000000005347871,-0.000000000402222,0.000000001022654,0.009573476899105,0.009573476899105,0.00911097791479,0.00911097791479,0.004776355357734,0.004776355357734,0.009573476899105,0.00911097791479,0.004776355357734,2.27398499105931,2.164127751124745,1.134526202958522,0.001203971921221,2.27398499105931],[0.000000000000695,0.000000000000459,0.000000000000695,0.000000000000458,0.000000000000459,-0.000000000000695,-0.000000000000459,-0.000000000000695,-0.000000000000458,-0.000000000000696,-0.000000000000459,2.01948391736579e-28,0.0,2.01948391736579e-28,0.0,0.0,0.0,0.000000000003307,0.000000000003307,0.000000000003308,0.000000000003308,0.000000000003308,0.000000000003308,0.000000000003307,0.000000000003308,0.000000000003308,0.00000000078548,0.000000000785739,0.000000000785739,0.000000000000696,0.000000000785739],[0.000000000018304,-0.000000000004456,0.0000549774844,0.000000029519304,-0.000000000004483,-0.000000000018304,0.000000000004456,-0.000054976830655,-0.000000029469993,-0.000000000018326,0.000000000004484,-2.21514073782037e-18,-2.3172891149526e-18,0.000000000653745,0.000000000049311,-8.87231701976481e-19,3.05264347389675e-18,0.000000000074853,0.000000000074853,0.000218451976425,0.000218451976425,0.000000000074853,0.000000000074853,0.000000000074853,0.000218451976425,0.000000000074853,0.000000017779761,0.051888830034611,0.000000017779743,0.000000000018326,0.051888830034611],[0.000281119531776,0.000092516084836,0.000105958483629,0.00000005662853,-0.000000072476217,-0.000281119854036,-0.000092514523095,-0.000105958702707,-0.000000056984978,-0.001030285653686,0.000000077924867,-0.00000000032226,0.000000001561741,-0.000000000219079,-0.000000000356448,0.000000012854548,0.00000000544865,0.001175960138155,0.001175960138155,0.000421023995358,0.000421023995358,0.00408762024665,0.00408762024665,0.001175960138155,0.000421023995358,0.00408762024665,0.279325445961915,0.100005698703815,0.970931166178557,0.001030298508234,0.970931166178557],[0.000000000000013,-6.86119216072469e-16,0.000000000000013,-8.94025254148583e-16,-7.77622535012467e-16,-0.000000000000013,6.86119216072468e-16,-0.000000000000013,8.94025254148583e-16,-0.000000000000013,7.77622535012467e-16,3.15544362088405e-30,-8.87468518373638e-31,3.15544362088405e-30,0.0,4.73316543132607e-30,0.0,0.000000000000052,0.000000000000052,0.000000000000052,0.000000000000052,0.000000000000051,0.000000000000051,0.000000000000052,0.000000000000052,0.000000000000051,0.000000000012315,0.000000000012331,0.000000000012182,0.000000000000013,0.000000000012331],[0.000210083455595,0.000069147406845,-0.000000000000531,-0.000000000051619,-0.000000000051711,-0.000210083030318,-0.000069147374767,0.000000000000531,0.000000000051619,0.000000000000502,0.000000000051711,0.000000000425278,0.000000000032078,1.37058526788943e-18,2.27324192666432e-19,-9.087481558472e-19,1.07052901266932e-18,0.000879008590642,0.000879008590642,0.000000000205161,0.000000000205161,0.000000000205159,0.000000000205159,0.000879008590642,0.000000000205161,0.000000000205159,0.208790637215532,0.000000048731807,0.000000048731404,-0.000000000000502,0.208790637215532],[0.000000000040225,-0.000000000010138,0.000000000040206,-0.000000000010214,-0.000000029755806,-0.000000000040225,0.000000000010138,-0.000000000040206,0.000000000010214,-0.000100001340608,0.000000029792226,-5.08628852463223e-18,1.569348401011e-17,-1.10703225851804e-17,-1.22233878134639e-17,0.000000000085785,0.00000000003642,0.000000000164864,0.000000000164864,0.000000000164866,0.000000000164866,0.000396731920423,0.000396731920423,0.000000000164864,0.000000000164866,0.000396731920423,0.000000039160187,0.0000000391605,0.094235609697932,0.000100001426393,0.094235609697932],[0.000000000040141,-0.0000000000108,0.000108948086653,0.000000063077073,-0.000000000010871,-0.000000000040141,0.0000000000108,-0.00010894802424,-0.000000063072366,-0.000000000040198,0.000000000010871,-2.31608264456421e-19,-2.68951391371264e-19,0.000000000062413,0.000000000004708,-1.00569200485565e-19,3.08409228140319e-19,0.000000000165206,0.000000000165206,0.000433001117535,0.000433001117535,0.000000000165206,0.000000000165206,0.000000000165206,0.000433001117535,0.000000000165206,0.000000039241275,0.102850620810352,0.000000039241278,0.000000000040198,0.102850620810352],[0.002287679092281,0.000752734011602,0.00229189376514,0.000003066885147,-0.000000629509514,-0.002287617945408,-0.000752744277887,-0.002291835678735,-0.000003036503026,-0.001203974997344,0.000000635319376,0.000000061146872,-0.000000010266285,0.000000058086405,0.000000030382122,-0.000000002285082,0.000000005809862,0.009573478486852,0.009573478486852,0.009110979458086,0.009110979458086,0.004776356900038,0.004776356900038,0.009573478486852,0.009110979458086,0.004776356900038,2.273985368196209,2.164128117703388,1.13452656930152,0.001203972712262,2.273985368196209],[-0.000000000000763,-0.000000000000205,-0.000000000000763,-0.000000000000204,-0.000000000000204,0.000000000000763,0.000000000000205,0.000000000000763,0.000000000000204,0.000000000000764,0.000000000000204,3.02922587604869e-28,1.76704842769507e-28,3.02922587604869e-28,1.76704842769507e-28,4.03896783473158e-28,2.01948391736579e-28,0.000000000003138,0.000000000003138,0.000000000003138,0.000000000003138,0.000000000003138,0.000000000003138,0.000000000003138,0.000000000003138,0.000000000003138,0.000000000745312,0.000000000745314,0.000000000745379,-0.000000000000764,0.000000000745379],[0.000000000018312,-0.000000000004458,0.000054976830663,0.000000029469991,-0.000000000004485,-0.000000000018312,0.000000000004458,-0.00005497670716,-0.000000029460675,-0.000000000018335,0.000000000004485,-4.1744128762352e-19,-4.37188492031022e-19,0.000000000123503,0.000000000009316,-1.75491698390667e-19,5.80830529090143e-19,0.000000000074886,0.000000000074886,0.000218451976458,0.000218451976458,0.000000000074886,0.000000000074886,0.000000000074886,0.000218451976458,0.000000000074886,0.000000017787678,0.05188883004234,0.000000017787673,0.000000000018335,0.05188883004234],[0.000281119877953,0.000092514541545,0.000105958726655,0.000000057003389,-0.000000077906416,-0.000281120305788,-0.000092512468169,-0.000105959017505,-0.000000057476612,-0.001030268611889,0.000000085140076,-0.000000000427835,0.000000002073376,-0.00000000029085,-0.000000000473223,0.000000017065772,0.000000007233659,0.001175960251343,0.001175960251343,0.000421024090551,0.000421024090551,0.004087620341761,0.004087620341761,0.001175960251343,0.000421024090551,0.004087620341761,0.27932547284736,0.100005721314902,0.97093118877031,0.001030285677661,0.97093118877031],[-0.000000000000046,0.000000000000013,-0.000000000000046,0.000000000000013,0.000000000000013,0.000000000000046,-0.000000000000013,0.000000000000046,-0.000000000000013,0.000000000000046,-0.000000000000013,3.15544362088405e-29,-3.15544362088405e-30,3.15544362088405e-29,-4.73316543132607e-30,3.78653234506086e-29,0.0,0.00000000000019,0.00000000000019,0.00000000000019,0.00000000000019,0.000000000000191,0.000000000000191,0.00000000000019,0.00000000000019,0.000000000000191,0.000000000045244,0.000000000045174,0.000000000045396,-0.000000000000046,0.000000000045396],[0.000210083034492,0.000069147375045,0.000000000003645,-0.000000000051349,-0.000000000051438,-0.000210082713204,-0.000069147350811,-0.000000000003645,0.000000000051349,-0.000000000003681,0.000000000051438,0.000000000321288,0.000000000024234,1.03915446158652e-18,3.23772133771014e-19,-7.94856949265508e-19,7.27309610665594e-19,0.000879008606747,0.000879008606747,0.000000000204589,0.000000000204589,0.000000000204587,0.000000000204587,0.000879008606747,0.000000000204589,0.000000000204587,0.208790641040982,0.000000048596062,0.000000048595575,0.000000000003681,0.208790641040982],[0.000000000001258,0.000000000002229,0.000000000001263,0.000000000002226,0.000000000002231,-0.000000000001258,-0.000000000002229,-0.000000000001263,-0.000000000002226,-0.000000000001263,-0.000000000002231,3.65526589043208e-26,2.86766716265942e-26,3.63507105125842e-26,2.78688780596479e-26,3.65526589043208e-26,2.90805684100674e-26,0.00000000001017,0.00000000001017,0.00000000001017,0.00000000001017,0.000000000010169,0.000000000010169,0.00000000001017,0.00000000001017,0.000000000010169,0.000000002415789,0.000000002415659,0.000000002415536,0.000000000001263,0.000000002415789],[0.000000000036322,-0.000000000009529,0.000000000036303,-0.000000000009597,-0.00000002979161,-0.000000000036322,0.000000000009529,-0.000000000036303,0.000000000009597,-0.000100000564631,0.000000029849846,-1.09024664617772e-18,4.01064776195953e-18,-2.93508991768089e-18,-2.96207804387421e-18,0.000000000772068,0.000000000058236,0.000000000149239,0.000000000149239,0.000000000149238,0.000000000149238,0.000396731904915,0.000396731904915,0.000000000149239,0.000000000149238,0.000396731904915,0.000000035448613,0.000000035448365,0.094235606014195,0.000100001336699,0.094235606014195],[0.000000000039954,-0.0000000000108,0.000108948024052,0.000000063072367,-0.00000000001087,-0.000000000039954,0.0000000000108,-0.000108947998125,-0.000000063070411,-0.000000000040011,0.00000000001087,-1.0011884587847e-19,-9.1054216216376e-20,0.000000000025927,0.000000000001956,-2.89330717670915e-20,1.565655991803e-19,0.000000000164485,0.000000000164485,0.00043300111679,0.00043300111679,0.000000000164486,0.000000000164486,0.000000000164485,0.00043300111679,0.000000000164486,0.000000039070142,0.102850620633303,0.000000039070203,0.000000000040011,0.102850620633303],[0.002287618461175,0.000752744409761,0.002291836194763,0.000003036633784,-0.000000635187989,-0.002287583925042,-0.00075275020822,-0.0022918033872,-0.000003019473773,-0.00120397680498,0.000000638469435,0.000000034536134,-0.000000005798459,0.000000032807562,0.000000017160011,-0.000000001290626,0.000000003281446,0.009573480598275,0.009573480598275,0.00911098151019,0.00911098151019,0.004776358950821,0.004776358950821,0.009573480598275,0.00911098151019,0.004776358950821,2.273985869721836,2.164128605139012,1.134527056423353,0.001203975514354,2.273985869721836],[0.000000000018307,-0.000000000004457,0.000054976707155,0.000000029460676,-0.000000000004484,-0.000000000018307,0.000000000004457,-0.000054976452343,-0.000000029441456,-0.00000000001833,0.000000000004484,-8.61322657126042e-19,-9.01629987381556e-19,0.000000000254812,0.00000000001922,-3.56425983486817e-19,1.19124525679878e-18,0.000000000074868,0.000000000074868,0.00021845197644,0.00021845197644,0.000000000074868,0.000000000074868,0.000000000074868,0.00021845197644,0.000000000074868,0.000000017783325,0.051888830038118,0.000000017783323,0.00000000001833,0.051888830038118],[0.000281119986513,0.000092512583211,0.000105958698416,0.000000057592176,-0.000000000087902,-0.000281119723401,-0.000092512512502,-0.00010595867459,-0.000000057533891,0.000000000172705,0.000000000087903,0.000000000263112,0.000000000070709,0.000000000023826,0.000000000058285,5.19683224763758e-17,6.23736756334123e-17,0.001175959189177,0.001175959189177,0.000421022822913,0.000421022822913,0.000000000768859,0.000000000768859,0.001175959189177,0.000421022822913,0.000000000768859,0.279325220551418,0.100005420213345,0.000000182626947,-0.000000000172705,0.279325220551418],[0.00000000030982,-0.000000000076891,0.000000000309697,-0.000000000077397,-0.000000085013954,-0.00000000030982,0.000000000076891,-0.000000000309697,0.000000000077397,-0.001030221554309,0.000000088575756,-5.77800480944867e-17,2.01075974916922e-16,-1.45265162335172e-16,-1.50500455950638e-16,0.00000004722086,0.000000003561802,0.000000001268414,0.000000001268414,0.000000001268414,0.000000001268414,0.004087620989538,0.004087620989538,0.000000001268414,0.000000001268414,0.004087620989538,0.000000301285881,0.000000301286055,0.970931342636453,0.001030268775169,0.970931342636453],[-0.00000000000003,0.000000000000018,-0.00000000000003,0.000000000000017,0.000000000000017,0.00000000000003,-0.000000000000018,0.00000000000003,-0.000000000000017,0.00000000000003,-0.000000000000017,1.89326617253043e-29,-3.15544362088405e-30,1.89326617253043e-29,-9.46633086265214e-30,1.26217744835362e-29,-3.15544362088405e-30,0.000000000000139,0.000000000000139,0.000000000000138,0.000000000000138,0.000000000000139,0.000000000000139,0.000000000000139,0.000000000000138,0.000000000000139,0.000000000032945,0.000000000032824,0.000000000033049,-0.00000000000003,0.000000000033049],[0.000210082717091,0.00006914735108,0.000000000007533,-0.000000000051087,-0.000000000051173,-0.000210082345305,-0.000069147323037,-0.000000000007533,0.000000000051087,-0.000000000007575,0.000000000051173,0.000000000371787,0.000000000028043,1.14219045117584e-18,3.97975501531077e-19,-9.98157434760171e-19,7.85710455379959e-19,0.000879008621758,0.000879008621758,0.000000000205231,0.000000000205231,0.000000000205228,0.000000000205228,0.000879008621758,0.000000000205231,0.000000000205228,0.208790644606365,0.000000048748455,0.00000004874784,0.000000000007575,0.208790644606365],[0.000000000001382,0.000000000002211,0.000000000001386,0.000000000002208,0.000000000002213,-0.000000000001382,-0.000000000002211,-0.000000000001386,-0.000000000002208,-0.000000000001387,-0.000000000002213,6.05845175209737e-27,4.03896783473158e-27,6.46234853557053e-27,4.44286461820474e-27,6.05845175209737e-27,4.8467614016779e-27,0.000000000010362,0.000000000010362,0.000000000010361,0.000000000010361,0.00000000001036,0.00000000001036,0.000000000010362,0.000000000010361,0.00000000001036,0.000000002461213,0.000000002461033,0.0000000024609,0.000000000001387,0.000000002461213],[0.000000000036338,-0.000000000009522,0.000000000036319,-0.000000000009589,-0.000000029849839,-0.000000000036338,0.000000000009522,-0.000000000036319,0.000000000009589,-0.000100000481263,0.000000029856128,-1.18875437686748e-19,4.17229734566272e-19,-2.96884149746186e-19,-3.39159720726353e-19,0.000000000083384,0.00000000000629,0.000000000149293,0.000000000149293,0.000000000149292,0.000000000149292,0.000396731904978,0.000396731904978,0.000000000149293,0.000000000149292,0.000396731904978,0.000000035461501,0.000000035461268,0.094235606029355,0.000100000564647,0.094235606029355],[0.000000000040153,-0.00000000001078,0.000108947998325,0.00000006307043,-0.000000000010851,-0.000000000040153,0.00000000001078,-0.000108947942439,-0.000000063066215,-0.00000000004021,0.000000000010851,-2.20514932336775e-19,-2.20078029108156e-19,0.000000000055885,0.000000000004215,-5.74863060743078e-20,2.80820819238289e-19,0.00000000016523,0.00000000016523,0.000433001117582,0.000433001117582,0.000000000165229,0.000000000165229,0.00000000016523,0.000433001117582,0.000000000165229,0.000000039246924,0.10285062082141,0.000000039246895,0.00000000004021,0.10285062082141],[0.002287584249429,0.000752750291092,0.002291803711752,0.000003019555939,-0.000000638386872,-0.0022875586123,-0.000752754595448,-0.002291779357789,-0.000003006817588,-0.001203978088221,0.00000064082278,0.000000025637129,-0.000000004304356,0.000000024353962,0.000000012738351,-0.000000000958066,0.000000002435909,0.009573481926166,0.009573481926166,0.009110982800861,0.009110982800861,0.004776360240662,0.004776360240662,0.009573481926166,0.009110982800861,0.004776360240662,2.273986185135515,2.16412891171163,1.134527362798839,0.001203977130154,2.273986185135515],[0.000281119727627,0.000092512515893,0.000105958678821,0.000000057537275,-0.000000000084511,-0.00028111869221,-0.000092512237633,-0.00010595858506,-0.000000057307907,0.000000000168469,0.000000000084511,0.000000001035417,0.00000000027826,0.000000000093761,0.000000000229368,2.00149031876399e-16,2.37564712121088e-16,0.001175959209338,0.001175959209338,0.000421022839733,0.000421022839733,0.000000000747791,0.000000000747791,0.001175959209338,0.000421022839733,0.000000000747791,0.279325225340359,0.100005424208576,0.000000177622641,-0.000000000168469,0.279325225340359],[0.000000000310595,-0.000000000076654,0.000000000310472,-0.000000000077161,-0.000000088575519,-0.000000000310595,0.000000000076655,-0.000000000310473,0.00000000007716,-0.001030026117955,0.000000103317062,-2.40443567056629e-16,8.34129437832938e-16,-6.02443382015916e-16,-6.25324831376219e-16,0.000000195437129,0.000000014741543,0.000000001271176,0.000000001271176,0.000000001271177,0.000000001271177,0.004087620992618,0.004087620992618,0.000000001271176,0.000000001271177,0.004087620992618,0.000000301941988,0.000000301942164,0.970931343368075,0.001030221555085,0.970931343368075],[5.87650668216377e-17,1.21814096525646e-16,7.4330929348756e-17,-1.19556977996576e-16,-2.22840919949974e-18,-5.87650668216377e-17,-1.21814096525646e-16,-7.4330929348756e-17,1.19556977996576e-16,1.33560870547932e-16,2.22840919949976e-18,1.23259516440783e-32,2.46519032881566e-32,-1.23259516440783e-32,0.0,-2.46519032881566e-32,1.92592994438724e-32,5.37510511161026e-16,5.37510511161026e-16,5.59503982993262e-16,5.59503982993262e-16,5.29941345259371e-16,5.29941345259371e-16,5.37510511161026e-16,5.59503982993262e-16,5.29941345259371e-16,0.000000000000128,0.000000000000133,0.000000000000126,-1.33560870547932e-16,0.000000000000133],[0.000210082349288,0.000069147323332,0.000000000011516,-0.0000000000508,-0.000000000050883,-0.000210081999712,-0.000069147296964,-0.000000000011516,0.0000000000508,-0.000000000011566,0.000000000050883,0.000000000349575,0.000000000026368,1.1155430959299e-18,4.67536757542886e-19,-9.50061518875286e-19,6.75029411345633e-19,0.000879008637159,0.000879008637159,0.000000000207017,0.000000000207017,0.000000000207014,0.000000000207014,0.000879008637159,0.000000000207017,0.000000000207014,0.208790648264781,0.000000049172741,0.000000049172004,0.000000000011566,0.208790648264781],[-0.000000000000027,0.000000000000069,-0.000000000000027,0.000000000000069,0.00000000000007,0.000000000000027,-0.000000000000069,0.000000000000027,-0.000000000000069,0.000000000000027,-0.00000000000007,1.57772181044202e-29,0.0,1.57772181044202e-29,-1.26217744835362e-29,1.26217744835362e-29,1.26217744835362e-29,0.000000000000296,0.000000000000296,0.000000000000296,0.000000000000296,0.000000000000296,0.000000000000296,0.000000000000296,0.000000000000296,0.000000000000296,0.000000000070297,0.000000000070291,0.000000000070327,-0.000000000000027,0.000000000070327],[0.000000000002181,0.000000000003039,0.000000000002188,0.000000000003034,0.000000000003041,-0.000000000002181,-0.000000000003039,-0.000000000002188,-0.000000000003034,-0.000000000002189,-0.000000000003041,5.25065818515105e-27,5.25065818515105e-27,5.25065818515105e-27,4.8467614016779e-27,5.65455496862421e-27,3.63507105125842e-27,0.000000000014866,0.000000000014866,0.000000000014866,0.000000000014866,0.000000000014865,0.000000000014865,0.000000000014866,0.000000000014866,0.000000000014865,0.000000003531217,0.00000000353106,0.000000003530927,0.000000000002189,0.000000003531217],[0.000000000036384,-0.000000000009535,0.000000000036366,-0.000000000009603,-0.000000029856142,-0.000000000036384,0.000000000009535,-0.000000000036366,0.000000000009603,-0.000100000400654,0.000000029862225,-1.20045413577371e-19,4.49737832473204e-19,-3.22414594676495e-19,-3.1805717361504e-19,0.000000000080655,0.000000000006084,0.000000000149483,0.000000000149483,0.000000000149483,0.000000000149483,0.000396731905162,0.000396731905162,0.000000000149483,0.000000000149483,0.000396731905162,0.000000035506769,0.000000035506544,0.094235606072853,0.000100000481309,0.094235606072853],[0.000000000040059,-0.00000000001078,0.000108947942345,0.000000063066215,-0.00000000001085,-0.000000000040059,0.00000000001078,-0.000108947800006,-0.000000063055479,-0.000000000040116,0.00000000001085,-5.32096937732337e-19,-5.55503651369879e-19,0.00000000014234,0.000000000010736,-2.0455370693574e-19,7.62236459000639e-19,0.000000000164869,0.000000000164869,0.000433001117209,0.000433001117209,0.000000000164869,0.000000000164869,0.000000000164869,0.000433001117209,0.000000000164869,0.000000039161341,0.102850620732876,0.000000039161342,0.000000000040116,0.102850620732876],[0.002287558874892,0.000752754662535,0.002291779620514,0.0000030068841,-0.000000640755945,-0.002287535825915,-0.000752758532351,-0.002291757725164,-0.000002995431727,-0.001203979212798,0.000000642945941,0.000000023048977,-0.000000003869816,0.00000002189535,0.000000011452373,-0.000000000861346,0.000000002189996,0.009573483001108,0.009573483001108,0.009110983845672,0.009110983845672,0.004776361284801,0.004776361284801,0.009573483001108,0.009110983845672,0.004776361284801,2.273986440465987,2.164129159885217,1.134527610812762,0.001203978351453,2.273986440465987],[0.000281118701729,0.000092512244753,0.000105958594591,0.000000057315012,-0.000000000077391,-0.000281116853041,-0.000092511747933,-0.000105958427185,-0.000000056905487,0.000000000158928,0.000000000077392,0.000000001848688,0.00000000049682,0.000000000167406,0.000000000409525,3.39897561761471e-16,3.93893820984645e-16,0.00117595925411,0.00117595925411,0.000421022877618,0.000421022877618,0.000000000701337,0.000000000701337,0.00117595925411,0.000421022877618,0.000000000701337,0.279325235975026,0.100005433207371,0.000000166588301,-0.000000000158928,0.279325235975026],[0.000000000169515,-0.000000000041606,0.000000000169449,-0.000000000041882,-0.000000056243062,-0.000000000169515,0.000000000041606,-0.000000000169449,0.000000000041882,-0.000561002972934,0.000000057097775,-1.40959828022634e-17,4.84792874222279e-17,-3.49701094674911e-17,-3.63865019391428e-17,0.000000011331429,0.000000000854713,0.000000000693558,0.000000000693558,0.000000000693558,0.000000000693558,0.002226364756859,0.002226364756859,0.000000000693558,0.000000000693558,0.002226364756859,0.000000164740544,0.000000164740543,0.528827728428967,0.000561014304363,0.528827728428967],[0.000000000141724,-0.000000000034822,0.000000000141669,-0.000000000035053,-0.000000047073774,-0.000000000141724,0.000000000034822,-0.000000000141669,0.000000000035053,-0.000469007237065,0.000000047419024,-5.64423881146415e-18,1.9544326536176e-17,-1.41283741869246e-17,-1.47259812183823e-17,0.000000004577173,0.00000000034525,0.000000000579889,0.000000000579889,0.00000000057989,0.00000000057989,0.00186125623832,0.00186125623832,0.000000000579889,0.00000000057989,0.00186125623832,0.000000137740824,0.000000137741006,0.442103615547427,0.000469011814238,0.442103615547427],[-0.000000000000026,0.000000000000002,-0.000000000000026,0.000000000000001,0.000000000000002,0.000000000000026,-0.000000000000002,0.000000000000026,-0.000000000000001,0.000000000000026,-0.000000000000002,0.0,0.0,0.0,-1.77493703674728e-30,-3.15544362088405e-30,-1.97215226305253e-31,0.000000000000103,0.000000000000103,0.000000000000103,0.000000000000103,0.000000000000104,0.000000000000104,0.000000000000103,0.000000000000103,0.000000000000104,0.000000000024508,0.000000000024484,0.000000000024664,-0.000000000000026,0.000000000024664],[0.000210082003744,0.000069147297203,0.000000000015548,-0.000000000050568,-0.000000000050648,-0.000210081627621,-0.000069147268833,-0.000000000015548,0.000000000050568,-0.000000000015605,0.000000000050648,0.000000000376123,0.00000000002837,1.08320358454039e-18,6.17669974097775e-19,-1.11075561042017e-18,6.37765222018152e-19,0.000879008652677,0.000879008652677,0.000000000210258,0.000000000210258,0.000000000210254,0.000000000210254,0.000879008652677,0.000000000210258,0.000000000210254,0.208790651950746,0.000000049942424,0.00000004994157,0.000000000015605,0.208790651950746],[-0.000000000000087,-0.000000000000057,-0.000000000000087,-0.000000000000057,-0.000000000000057,0.000000000000087,0.000000000000057,0.000000000000087,0.000000000000057,0.000000000000087,0.000000000000057,0.0,1.26217744835362e-29,0.0,1.26217744835362e-29,-1.26217744835362e-29,2.52435489670724e-29,0.000000000000413,0.000000000000413,0.000000000000413,0.000000000000413,0.000000000000413,0.000000000000413,0.000000000000413,0.000000000000413,0.000000000000413,0.000000000098202,0.000000000098217,0.000000000098201,-0.000000000000087,0.000000000098217],[0.00000000000176,0.000000000001563,0.000000000001764,0.000000000001559,0.000000000001563,-0.00000000000176,-0.000000000001563,-0.000000000001764,-0.000000000001559,-0.000000000001765,-0.000000000001563,8.07793566946316e-28,-2.01948391736579e-28,1.0097419586829e-27,0.0,1.0097419586829e-27,4.03896783473158e-28,0.000000000009357,0.000000000009357,0.000000000009356,0.000000000009356,0.000000000009353,0.000000000009353,0.000000000009357,0.000000000009356,0.000000000009353,0.000000002222486,0.000000002222374,0.000000002221622,0.000000000001765,0.000000002222486],[0.000000000036354,-0.000000000009518,0.000000000036335,-0.000000000009585,-0.000000029862208,-0.000000000036354,0.000000000009518,-0.000000000036335,0.000000000009585,-0.000100000336108,0.000000029867074,-6.80963579210694e-20,3.40960486457532e-19,-2.54649684149466e-19,-2.28935643897262e-19,0.000000000064516,0.000000000004866,0.00000000014935,0.00000000014935,0.000000000149349,0.000000000149349,0.000396731905041,0.000396731905041,0.00000000014935,0.000000000149349,0.000396731905041,0.000000035474995,0.000000035474789,0.094235606044309,0.000100000400624,0.094235606044309],[0.000000000040038,-0.000000000010794,0.000108947799984,0.000000063055465,-0.000000000010865,-0.000000000040038,0.000000000010794,-0.000108947716474,-0.000000063049166,-0.000000000040094,0.000000000010865,-3.36216736507099e-19,-3.0390355434111e-19,0.00000000008351,0.000000000006299,-1.12342145488954e-19,4.3221785467806e-19,0.000000000164801,0.000000000164801,0.000433001117123,0.000433001117123,0.000000000164801,0.000000000164801,0.000000000164801,0.000433001117123,0.000000000164801,0.000000039145087,0.102850620712379,0.000000039145066,0.000000000040094,0.102850620712379],[0.002287536104499,0.000752758603532,0.002291758003891,0.000002995502295,-0.000000642875027,-0.002287507471123,-0.000752763410942,-0.002291730803647,-0.000002981275196,-0.0012039805621,0.000000645595624,0.000000028633376,-0.00000000480741,0.000000027200244,0.000000014227099,-0.000000001070035,0.000000002720597,0.009573484141538,0.009573484141538,0.009110984954127,0.009110984954127,0.004776362392543,0.004776362392543,0.009573484141538,0.009110984954127,0.004776362392543,2.273986711352156,2.164129423176369,1.134527873934587,0.001203979492066,2.273986711352156],[0.000281116819,0.000092511751602,-0.000000000192763,-0.000000000073472,-0.000000000073679,-0.000281111579614,-0.000092511356402,0.000000000192763,0.000000000073472,0.000000000193016,0.000000000073679,0.000000005239386,0.000000000395199,2.8236056244031e-17,-4.39088154086834e-17,2.39136236429425e-17,4.63792972340919e-17,0.001175959130184,0.001175959130184,0.00000000081969,0.00000000081969,0.00000000081969,0.00000000081969,0.001175959130184,0.00000000081969,0.00000000081969,0.279325206538899,0.000000194700774,0.000000194700761,-0.000000000193016,0.279325206538899],[0.000000000037759,-0.000000000011495,0.000105958623654,0.000000056971127,-0.000000000011556,-0.000000000037759,0.000000000011495,-0.000105958560895,-0.000000056944483,-0.000000000037803,0.000000000011556,-7.65302384554021e-18,-7.6598579891429e-18,0.000000000062759,0.000000000026644,-2.80258569712535e-18,1.04680257773072e-17,0.000000000156834,0.000000000156834,0.00042102365842,0.00042102365842,0.000000000156834,0.000000000156834,0.000000000156834,0.00042102365842,0.000000000156834,0.000000037252706,0.100005618670937,0.000000037252758,0.000000000037803,0.100005618670937],[0.000000000169654,-0.000000000041575,0.000000000169587,-0.000000000041851,-0.000000057097745,-0.000000000169654,0.000000000041575,-0.000000000169588,0.000000000041851,-0.00056097432442,0.000000059258672,-3.54880107386788e-17,1.22611649927424e-16,-8.83664676353375e-17,-9.20481766481836e-17,0.000000028648653,0.000000002160927,0.000000000694064,0.000000000694064,0.000000000694064,0.000000000694064,0.00222636475741,0.00222636475741,0.000000000694064,0.000000000694064,0.00222636475741,0.000000164860708,0.000000164860708,0.528827728559852,0.000561002973073,0.528827728559852],[0.000000000141729,-0.000000000034872,0.000000000141674,-0.000000000035103,-0.000000047419074,-0.000000000141729,0.000000000034872,-0.000000000141674,0.000000000035103,-0.000469006590082,0.000000047467875,-8.63485828131921e-19,2.81949768262998e-18,-1.96062841412021e-18,-2.08666423091959e-18,0.000000000646988,0.000000000048801,0.000000000579955,0.000000000579955,0.000000000579956,0.000000000579956,0.001861256238338,0.001861256238338,0.000000000579955,0.000000000579956,0.001861256238338,0.00000013775651,0.000000137756725,0.442103615551881,0.00046900723707,0.442103615551881],[-0.000000000000003,-0.000000000000005,-0.000000000000003,-0.000000000000005,-0.000000000000005,0.000000000000003,0.000000000000005,0.000000000000003,0.000000000000005,0.000000000000003,0.000000000000005,0.0,7.88860905221012e-31,0.0,-7.88860905221012e-31,-3.94430452610506e-31,-7.88860905221012e-31,0.000000000000023,0.000000000000023,0.000000000000023,0.000000000000023,0.000000000000023,0.000000000000023,0.000000000000023,0.000000000000023,0.000000000000023,0.00000000000549,0.000000000005488,0.000000000005492,-0.000000000000003,0.000000000005492],[0.000210081632885,0.000069147269208,0.000000000020813,-0.000000000050203,-0.000000000050279,-0.000210081057907,-0.000069147225838,-0.000000000020813,0.000000000050203,-0.000000000020879,0.000000000050279,0.000000000574979,0.00000000004337,1.66534140796519e-18,1.12666089450111e-18,-1.85595998763099e-18,8.92398233308396e-19,0.000879008673016,0.000879008673016,0.000000000215989,0.000000000215989,0.000000000215985,0.000000000215985,0.000879008673016,0.000000000215989,0.000000000215985,0.208790656781792,0.000000051303793,0.000000051302865,0.000000000020879,0.208790656781792],[-0.000000000000125,0.000000000003509,-0.000000000000118,0.000000000003509,0.000000000003515,0.000000000000125,-0.000000000003509,0.000000000000118,-0.000000000003509,0.000000000000121,-0.000000000003515,2.80203393534503e-27,2.42338070083895e-27,3.25641781675234e-27,2.42338070083895e-27,3.07971297398283e-27,2.01948391736579e-27,0.000000000013955,0.000000000013955,0.000000000013954,0.000000000013954,0.000000000013954,0.000000000013954,0.000000000013955,0.000000000013954,0.000000000013954,0.000000003314834,0.000000003314597,0.000000003314581,-0.000000000000121,0.000000003314834],[0.000000000036429,-0.00000000000948,0.000000000036411,-0.000000000009548,-0.000000029867037,-0.000000000036429,0.00000000000948,-0.000000000036411,0.000000000009548,-0.000100000284791,0.000000029870913,-8.47786457093548e-20,2.5389500139396e-19,-1.70544654264414e-19,-1.91038154106817e-19,0.000000000051392,0.000000000003876,0.000000000149601,0.000000000149601,0.0000000001496,0.0000000001496,0.00039673190534,0.00039673190534,0.000000000149601,0.0000000001496,0.00039673190534,0.000000035534777,0.000000035534551,0.094235606115318,0.000100000336183,0.094235606115318],[0.000000000040153,-0.00000000001078,0.00010894771659,0.000000063049179,-0.000000000010851,-0.000000000040153,0.00000000001078,-0.000108947658099,-0.000000063044768,-0.00000000004021,0.000000000010851,-2.19969723377874e-19,-2.36211479328838e-19,0.000000000058491,0.000000000004412,-8.16178981159102e-20,2.94564407344399e-19,0.000000000165229,0.000000000165229,0.000433001117582,0.000433001117582,0.00000000016523,0.00000000016523,0.000000000165229,0.000433001117582,0.00000000016523,0.000000039246902,0.102850620821393,0.000000039246942,0.00000000004021,0.102850620821393],[0.002287507910311,0.000752763523238,0.00229173124306,0.000002981386521,-0.000000645483751,-0.002287455072167,-0.000752772394513,-0.002291681049525,-0.000002955132771,-0.001203982976939,0.000000650504161,0.000000052838144,-0.000000008871275,0.000000050193535,0.00000002625375,-0.000000001974569,0.00000000502041,0.00957348593954,0.00957348593954,0.009110986701626,0.009110986701626,0.004776364138917,0.004776364138917,0.00957348593954,0.009110986701626,0.004776364138917,2.273987138430925,2.16412983825904,1.134528288750092,0.00120398100237,2.273987138430925],[0.000281111703577,0.000092511365128,-0.000000000068782,-0.00000000006495,-0.000000000065082,-0.000281094554354,-0.000092510071586,0.000000000068782,0.00000000006495,0.000000000068853,0.000000000065082,0.000000017149223,0.000000001293541,6.43685445815284e-17,-4.46237201988305e-17,6.48254782083998e-18,7.80699180549894e-17,0.001175959608915,0.001175959608915,0.000000000375899,0.000000000375899,0.000000000375899,0.000000000375899,0.001175959608915,0.000000000375899,0.000000000375899,0.279325320251727,0.000000089287154,0.000000089287146,-0.000000000068853,0.279325320251727],[0.00000000003776,-0.000000000011469,0.000105958560897,0.000000056944508,-0.00000000001153,-0.00000000003776,0.000000000011469,-0.000105958447628,-0.000000056896421,-0.000000000037804,0.00000000001153,-1.37996004991174e-17,-1.3832491581648e-17,0.000000000113268,0.000000000048088,-5.07092669498256e-18,1.88758384448806e-17,0.00000000015681,0.00000000015681,0.000421023658426,0.000421023658426,0.00000000015681,0.00000000015681,0.00000000015681,0.000421023658426,0.00000000015681,0.000000037246978,0.100005618672439,0.000000037247028,0.000000000037804,0.100005618672439],[0.000000000141752,-0.000000000034832,0.000000000141697,-0.000000000035063,-0.000000047467835,-0.000000000141752,0.000000000034832,-0.000000000141697,0.000000000035063,-0.000469006068327,0.000000047507192,-7.29525892482913e-19,2.35858627343978e-18,-1.57033024727287e-18,-1.74650159085902e-18,0.000000000521777,0.000000000039357,0.000000000580006,0.000000000580006,0.000000000580007,0.000000000580007,0.001861256238431,0.001861256238431,0.000000000580006,0.000000000580007,0.001861256238431,0.000000137768734,0.00000013776887,0.442103615573952,0.000469006590105,0.442103615573952],[0.000000000000007,8.73619721830834e-16,0.000000000000007,8.60029573117752e-16,8.65898420841535e-16,-0.000000000000007,-8.73619721830833e-16,-0.000000000000007,-8.60029573117752e-16,-0.000000000000007,-8.65898420841534e-16,1.57772181044202e-30,8.87468518373638e-31,3.15544362088405e-30,3.94430452610506e-31,3.15544362088405e-30,8.87468518373638e-31,0.000000000000029,0.000000000000029,0.000000000000029,0.000000000000029,0.000000000000029,0.000000000000029,0.000000000000029,0.000000000000029,0.000000000000029,0.000000000006862,0.000000000006862,0.000000000006862,0.000000000000007,0.000000000006862],[0.000210081069779,0.000069147226665,0.000000000032687,-0.000000000049398,-0.000000000049466,-0.000210079499574,-0.000069147108227,-0.000000000032687,0.000000000049398,-0.000000000032774,0.000000000049466,0.000000001570205,0.000000000118438,4.16516930737333e-18,4.28423387215232e-18,-5.77868384976833e-18,1.45920366954346e-18,0.000879008718863,0.000879008718863,0.000000000235412,0.000000000235412,0.000000000235407,0.000000000235407,0.000879008718863,0.000000000235412,0.000000000235407,0.208790667671796,0.000000055917235,0.000000055916172,0.000000000032774,0.208790667671796],[0.00000000000176,0.000000000001563,0.000000000001764,0.000000000001559,0.000000000001563,-0.00000000000176,-0.000000000001563,-0.000000000001764,-0.000000000001559,-0.000000000001765,-0.000000000001563,2.01948391736579e-27,1.0097419586829e-27,1.41363874215605e-27,1.0097419586829e-27,2.42338070083895e-27,1.21169035041947e-27,0.000000000009356,0.000000000009356,0.000000000009356,0.000000000009356,0.000000000009354,0.000000000009354,0.000000000009356,0.000000000009356,0.000000000009354,0.000000002222384,0.000000002222254,0.000000002221843,0.000000000001765,0.000000002222384],[0.000000000036387,-0.000000000009483,0.000000000036369,-0.000000000009551,-0.000000029870916,-0.000000000036387,0.000000000009483,-0.000000000036369,0.000000000009551,-0.000100000176098,0.000000029879112,-1.45760209924354e-19,5.58748706762319e-19,-4.05647272132731e-19,-4.28521817830717e-19,0.000000000108651,0.000000000008195,0.000000000149443,0.000000000149443,0.000000000149442,0.000000000149442,0.000396731905174,0.000396731905174,0.000000000149443,0.000000000149442,0.000396731905174,0.000000035497198,0.000000035496977,0.0942356060758,0.000100000284749,0.0942356060758],[0.00000000004017,-0.00000000001075,0.000108947658117,0.000000063044798,-0.00000000001082,-0.00000000004017,0.00000000001075,-0.000108947545604,-0.000000063036311,-0.000000000040228,0.00000000001082,-4.34606232068056e-19,-4.17169571716993e-19,0.000000000112512,0.000000000008487,-1.57491259522187e-19,5.99741595262229e-19,0.000000000165265,0.000000000165265,0.000433001117651,0.000433001117651,0.000000000165266,0.000000000165266,0.000000000165265,0.000433001117651,0.000000000165266,0.000000039255405,0.102850620837902,0.000000039255466,0.000000000040228,0.102850620837902],[0.002287455605251,0.000752772530633,0.002291681582883,0.000002955267701,-0.00000065036856,-0.002287409538752,-0.000752780264978,-0.002291637822065,-0.000002932378587,-0.001203985232856,0.000000654745563,0.000000046066499,-0.000000007734344,0.000000043760818,0.000000022889114,-0.000000001721508,0.000000004377003,0.009573488121758,0.009573488121758,0.009110988822774,0.009110988822774,0.004776366258702,0.004776366258702,0.009573488121758,0.009110988822774,0.004776366258702,2.273987656772402,2.164130342094806,1.134528792262014,0.001203983511348,2.273987656772402],[0.000281094690242,0.000092510081151,0.000000000067134,-0.00000000005561,-0.00000000005566,-0.000281087297492,-0.000092509523526,-0.000000000067134,0.00000000005561,-0.000000000067263,0.00000000005566,0.00000000739275,0.000000000557625,1.45229278102826e-17,2.75006968024498e-17,-3.1124912620358e-17,-1.25590205556118e-18,0.00117596013373,0.00117596013373,0.000000000346386,0.000000000346386,0.000000000346386,0.000000000346386,0.00117596013373,0.000000000346386,0.000000000346386,0.279325444910817,0.000000082277046,0.000000082277046,0.000000000067263,0.279325444910817],[0.000000000037681,-0.000000000011397,0.000105958447549,0.000000056896493,-0.000000000011457,-0.000000000037681,0.000000000011397,-0.000105958407106,-0.000000056879323,-0.000000000037725,0.000000000011457,-4.90480672028758e-18,-4.93527028782981e-18,0.000000000040443,0.00000000001717,-1.83384284856842e-18,6.68889205068447e-18,0.000000000156426,0.000000000156426,0.000421023658112,0.000421023658112,0.000000000156426,0.000000000156426,0.000000000156426,0.000421023658112,0.000000000156426,0.000000037155707,0.100005618597997,0.000000037155738,0.000000000037725,0.100005618597997],[0.00000000014185,-0.000000000034942,0.000000000141794,-0.000000000035173,-0.000000047507302,-0.00000000014185,0.000000000034942,-0.000000000141794,0.000000000035173,-0.000469005651448,0.000000047538754,-4.2747199961759e-19,1.71858896916214e-18,-1.32540749626869e-18,-1.32864071910096e-18,0.000000000416977,0.000000000031452,0.000000000580488,0.000000000580488,0.000000000580488,0.000000000580488,0.001861256238819,0.001861256238819,0.000000000580488,0.000000000580488,0.001861256238819,0.000000137883079,0.000000137883247,0.442103615665985,0.000469006068425,0.442103615665985],[0.000210079509069,0.000069147108787,0.000000000042184,-0.000000000048856,-0.000000000048917,-0.000210079375189,-0.000069147098688,-0.000000000042184,0.000000000048856,-0.000000000042287,0.000000000048917,0.000000000133881,0.000000000010098,3.94018967414265e-19,4.88381528033464e-19,-6.1211210878794e-19,8.69115179941257e-20,0.000879008755406,0.000879008755406,0.000000000256533,0.000000000256533,0.000000000256528,0.000000000256528,0.000879008755406,0.000000000256533,0.000000000256528,0.208790676351941,0.000000060934135,0.000000060932907,0.000000000042287,0.208790676351941],[0.000000000000905,0.000000000001197,0.000000000000908,0.000000000001194,0.000000000001198,-0.000000000000905,-0.000000000001197,-0.000000000000908,-0.000000000001194,-0.000000000000907,-0.000000000001198,4.03896783473158e-28,4.03896783473158e-28,6.05845175209737e-28,4.03896783473158e-28,4.03896783473158e-28,4.03896783473158e-28,0.000000000005965,0.000000000005965,0.000000000005962,0.000000000005962,0.000000000005962,0.000000000005962,0.000000000005965,0.000000000005962,0.000000000005962,0.000000001416879,0.000000001416125,0.000000001416061,0.000000000000907,0.000000001416879],[0.000000000036444,-0.000000000009502,0.000000000036425,-0.00000000000957,-0.000000029879131,-0.000000000036444,0.000000000009502,-0.000000000036425,0.00000000000957,-0.000100000090588,0.000000029885585,-1.24413482973625e-19,4.54079532256259e-19,-3.56016855432204e-19,-3.30547175965175e-19,0.000000000085566,0.000000000006454,0.000000000149678,0.000000000149678,0.000000000149678,0.000000000149678,0.000396731905397,0.000396731905397,0.000000000149678,0.000000000149678,0.000396731905397,0.000000035553057,0.000000035552862,0.094235606128775,0.000100000176154,0.094235606128775],[0.000000000040162,-0.000000000010812,0.000108947545595,0.000000063036249,-0.000000000010882,-0.000000000040162,0.000000000010812,-0.000108947489594,-0.000000063032025,-0.000000000040219,0.000000000010882,-2.10413415620974e-19,-2.10932164493796e-19,0.000000000056001,0.000000000004224,-7.11515559758826e-20,2.67948260395133e-19,0.000000000165295,0.000000000165295,0.000433001117615,0.000433001117615,0.000000000165295,0.000000000165295,0.000000000165295,0.000433001117615,0.000000000165295,0.000000039262457,0.102850620829348,0.000000039262551,0.000000000040219,0.102850620829348],[0.002287409955995,0.000752780371624,0.002291638239524,0.000002932484293,-0.000000654639326,-0.002287378619401,-0.000752785632886,-0.002291608471362,-0.000002916914045,-0.001203986822195,0.000000657616769,0.000000031336594,-0.000000005261262,0.000000029768161,0.000000015570249,-0.000000001171049,0.000000002977443,0.009573489829931,0.009573489829931,0.009110990483023,0.009110990483023,0.004776367917883,0.004776367917883,0.009573489829931,0.009110990483023,0.004776367917883,2.273988062514203,2.164130736453255,1.134529186366759,0.001203985651146,2.273988062514203],[0.000000000035263,-0.000000000008725,0.000105958404693,0.000000056881999,-0.000000000008779,-0.000000000035263,0.000000000008725,-0.000105955944775,-0.000000056696451,-0.000000000035307,0.000000000008779,-8.37481348610778e-18,-8.66210593542973e-18,0.000000002459918,0.000000000185548,-3.31607849631371e-18,1.15964723754206e-17,0.000000000144346,0.000000000144346,0.00042102364853,0.00042102364853,0.000000000144346,0.000000000144346,0.000000000144346,0.00042102364853,0.000000000144346,0.000000034286542,0.10000561632178,0.00000003428655,0.000000000035307,0.10000561632178],[-9.64749900719097e-18,-3.3780012025792e-17,-4.38835185488985e-17,3.08873781609695e-17,2.90821087736028e-18,9.64749900719096e-18,3.3780012025792e-17,4.38835185488985e-17,-3.08873781609695e-17,-5.36657315995703e-17,-2.90821087736029e-18,-1.07852076885685e-32,-6.16297582203915e-33,0.0,6.16297582203915e-33,1.23259516440783e-32,-3.08148791101958e-33,1.39592885645274e-16,1.39592885645274e-16,2.13231654982261e-16,2.13231654982261e-16,2.13231654982261e-16,2.13231654982261e-16,1.39592885645274e-16,2.13231654982261e-16,2.13231654982261e-16,0.000000000000033,0.000000000000051,0.000000000000051,5.36657315995703e-17,0.000000000000051],[0.000000000141856,-0.000000000034838,0.000000000141801,-0.000000000035069,-0.00000004753865,-0.000000000141856,0.000000000034838,-0.000000000141801,0.000000000035069,-0.000469005014934,0.000000047586662,-7.64184398257367e-19,2.82018373847522e-18,-1.85130344222728e-18,-2.07378981092006e-18,0.00000000063652,0.000000000048012,0.000000000580413,0.000000000580413,0.000000000580414,0.000000000580414,0.001861256238844,0.001861256238844,0.000000000580413,0.000000000580414,0.001861256238844,0.000000137865345,0.000000137865471,0.442103615671968,0.000469005651454,0.442103615671968],[0.000210079376234,0.000069147098918,0.00000000004323,-0.000000000048628,-0.000000000048689,-0.000210079314396,-0.000069147094254,-0.00000000004323,0.000000000048628,-0.000000000043335,0.000000000048689,0.000000000061838,0.000000000004664,1.4853958848132e-19,1.71478205133862e-19,-2.42308705172149e-19,1.2213050325707e-20,0.000879008759638,0.000879008759638,0.000000000258591,0.000000000258591,0.000000000258586,0.000000000258586,0.000879008759638,0.000000000258591,0.000000000258586,0.208790677357096,0.000000061423071,0.000000061421841,0.000000000043335,0.208790677357096],[0.000000000000235,0.000000000001154,0.000000000000238,0.000000000001152,0.000000000001155,-0.000000000000235,-0.000000000001154,-0.000000000000238,-0.000000000001152,-0.000000000000237,-0.000000000001155,5.55358077275592e-28,6.05845175209737e-28,4.54383881407303e-28,6.05845175209737e-28,5.04870979341448e-28,6.05845175209737e-28,0.000000000004679,0.000000000004679,0.000000000004676,0.000000000004676,0.000000000004678,0.000000000004678,0.000000000004679,0.000000000004676,0.000000000004678,0.000000001111446,0.000000001110745,0.00000000111105,0.000000000000237,0.000000001111446],[0.000000000036475,-0.000000000009493,0.000000000036457,-0.000000000009561,-0.000000029885576,-0.000000000036475,0.000000000009493,-0.000000000036457,0.000000000009561,-0.000100000031267,0.000000029890053,-1.0123592098398e-19,3.1427111463701e-19,-2.07959429237471e-19,-2.25854672380902e-19,0.000000000059353,0.000000000004477,0.000000000149792,0.000000000149792,0.000000000149791,0.000000000149791,0.000396731905523,0.000396731905523,0.000000000149792,0.000000000149791,0.000396731905523,0.000000035580048,0.000000035579856,0.094235606158775,0.00010000009062,0.094235606158775],[0.000000000040364,-0.000000000010741,0.000108947489796,0.000000063032096,-0.000000000010811,-0.000000000040364,0.000000000010741,-0.000108947450032,-0.000000063029097,-0.000000000040421,0.000000000010811,-1.50356820276568e-19,-1.48162914341053e-19,0.000000000039764,0.000000000002999,-5.96230105317603e-20,2.10400200118219e-19,0.000000000165998,0.000000000165998,0.000433001118419,0.000433001118419,0.000000000165998,0.000000000165998,0.000000000165998,0.000433001118419,0.000000000165998,0.000000039429487,0.102850621020438,0.000000039429565,0.000000000040421,0.102850621020438],[0.002287378899241,0.000752785704465,0.002291608751348,0.000002916984989,-0.000000657545466,-0.002287358313778,-0.000752789160664,-0.002291589196211,-0.000002906756667,-0.001203987872019,0.000000659501391,0.000000020585463,-0.000000003456199,0.000000019555137,0.000000010228322,-0.000000000769278,0.000000001955925,0.009573490975659,0.009573490975659,0.009110991596547,0.009110991596547,0.00477636903069,0.00477636903069,0.009573490975659,0.009110991596547,0.00477636903069,2.273988334658799,2.164131000948311,1.134529450691502,0.001203987102741,2.273988334658799],[0.00000000003527,-0.00000000000872,0.000105955944782,0.000000056696456,-0.000000000008774,-0.00000000003527,0.00000000000872,-0.000105955587548,-0.00000005666951,-0.000000000035313,0.000000000008774,-1.20897514298347e-18,-1.25457646470224e-18,0.000000000357234,0.000000000026946,-4.95614298374399e-19,1.66173271622066e-18,0.000000000144366,0.000000000144366,0.000421023648555,0.000421023648555,0.000000000144366,0.000000000144366,0.000000000144366,0.000421023648555,0.000000000144366,0.000000034291177,0.100005616327767,0.000000034291184,0.000000000035313,0.100005616327767],[0.000000000141868,-0.000000000034818,0.000000000141812,-0.000000000035049,-0.000000047586642,-0.000000000141868,0.000000000034818,-0.000000000141812,0.000000000035049,-0.000469004268816,0.000000047642921,-9.07717243436663e-19,3.16742029142502e-18,-2.33176158165651e-18,-2.31940618517961e-18,0.00000000074613,0.00000000005628,0.000000000580439,0.000000000580439,0.00000000058044,0.00000000058044,0.00186125623889,0.00186125623889,0.000000000580439,0.00000000058044,0.00186125623889,0.0000001378715,0.000000137871663,0.442103615682843,0.000469005014946,0.442103615682843],[0.000210079315065,0.000069147094297,0.000000000043899,-0.000000000048586,-0.000000000048646,-0.000210079248922,-0.000069147089308,-0.000000000043899,0.000000000048586,-0.000000000044006,0.000000000048646,0.000000000066144,0.000000000004989,1.72751126236656e-19,2.15594112420879e-19,-2.44285854244258e-19,3.11066826970307e-20,0.00087900876222,0.00087900876222,0.000000000260242,0.000000000260242,0.000000000260237,0.000000000260237,0.00087900876222,0.000000000260242,0.000000000260237,0.208790677970319,0.000000061815133,0.000000061814069,0.000000000044006,0.208790677970319],[0.000000000001277,0.000000000001842,0.000000000001281,0.000000000001839,0.000000000001843,-0.000000000001277,-0.000000000001842,-0.000000000001281,-0.000000000001839,-0.000000000001281,-0.000000000001843,1.21169035041947e-27,4.03896783473158e-28,1.21169035041947e-27,8.07793566946316e-28,1.41363874215605e-27,1.21169035041947e-27,0.000000000008907,0.000000000008907,0.000000000008906,0.000000000008906,0.000000000008905,0.000000000008905,0.000000000008907,0.000000000008906,0.000000000008905,0.000000002115754,0.000000002115397,0.00000000211515,0.000000000001281,0.000000002115754],[0.000000000036478,-0.000000000009535,0.000000000036459,-0.000000000009603,-0.000000029890095,-0.000000000036478,0.000000000009535,-0.000000000036459,0.000000000009603,-0.000099999972059,0.000000029894561,-9.83433737794587e-20,2.76924813093448e-19,-2.12521763293053e-19,-2.35774887908537e-19,0.000000000059211,0.000000000004466,0.000000000149844,0.000000000149844,0.000000000149844,0.000000000149844,0.000396731905534,0.000396731905534,0.000000000149844,0.000000000149844,0.000396731905534,0.0000000355925,0.000000035592298,0.094235606161327,0.00010000003127,0.094235606161327],[0.000000000040289,-0.000000000010765,0.000108947449957,0.000000063029073,-0.000000000010835,-0.000000000040289,0.000000000010765,-0.000108946995069,-0.000000062994761,-0.000000000040347,0.000000000010835,-1.74127513416914e-18,-1.76759609719317e-18,0.000000000454888,0.000000000034312,-6.22424931376157e-19,2.42421636813072e-18,0.000000000165737,0.000000000165737,0.000433001118124,0.000433001118124,0.000000000165738,0.000000000165738,0.000000000165737,0.000433001118124,0.000000000165738,0.000000039367515,0.102850620950163,0.000000039367605,0.000000000040347,0.102850620950163],[0.002287358663482,0.000752789249896,0.002291589546097,0.000002906845104,-0.000000659412506,-0.002287314360048,-0.000752796688224,-0.002291547460102,-0.000002884832008,-0.001203989878225,0.000000663621991,0.000000044303433,-0.000000007438328,0.000000042085995,0.000000022013096,-0.000000001655616,0.000000004209485,0.00957349240717,0.00957349240717,0.009110992988082,0.009110992988082,0.004776370421331,0.004776370421331,0.00957349240717,0.009110992988082,0.004776370421331,2.273988674685124,2.164131331478988,1.13452978100993,0.001203988222609,2.273988674685124],[0.000000000018969,-0.000000000004696,0.000056976137941,0.00000003048194,-0.000000000004724,-0.000000000018969,0.000000000004696,-0.000056975820871,-0.000000030458024,-0.000000000018992,0.000000000004725,-1.08395003426387e-18,-1.1262895622997e-18,0.000000000317069,0.000000000023916,-4.23998871789459e-19,1.49694343763996e-18,0.000000000077648,0.000000000077648,0.000226399589049,0.000226399589049,0.000000000077648,0.000000000077648,0.000000000077648,0.000226399589049,0.000000000077648,0.000000018443623,0.053776623990034,0.000000018443622,0.000000000018992,0.053776623990034],[0.000000000016307,-0.000000000004032,0.000048979449613,0.000000026187563,-0.000000000004056,-0.000000000016307,0.000000000004032,-0.0000489792153,-0.000000026169889,-0.000000000016327,0.000000000004056,-7.99657050087378e-19,-8.24460670638924e-19,0.000000000234313,0.000000000017674,-3.11061569849773e-19,1.11383603748366e-18,0.000000000066748,0.000000000066748,0.00019462405953,0.00019462405953,0.000000000066748,0.000000000066748,0.000000000066748,0.00019462405953,0.000000000066748,0.000000015854706,0.046228992343489,0.000000015854707,0.000000000016327,0.046228992343489],[0.000000000141764,-0.000000000034812,0.000000000141709,-0.000000000035043,-0.000000047642915,-0.000000000141764,0.000000000034812,-0.000000000141709,0.000000000035043,-0.000469003122701,0.000000047729357,-1.34387089132391e-18,4.92081320151541e-18,-3.59101812602023e-18,-3.67969612698656e-18,0.000000001146011,0.000000000086442,0.000000000580032,0.000000000580032,0.000000000580033,0.000000000580033,0.001861256238477,0.001861256238477,0.000000000580032,0.000000000580033,0.001861256238477,0.000000137774898,0.000000137775044,0.44210361558484,0.000469004268712,0.44210361558484],[0.000210079249684,0.000069147089513,0.000000000044662,-0.000000000048383,-0.000000000048442,-0.000210079186481,-0.000069147084745,-0.000000000044662,0.000000000048383,-0.00000000004477,0.000000000048442,0.000000000063203,0.000000000004767,1.15107849716419e-19,1.75288069788311e-19,-2.49836081058124e-19,4.32830850441924e-20,0.000879008765353,0.000879008765353,0.000000000261689,0.000000000261689,0.000000000261685,0.000000000261685,0.000879008765353,0.000000000261689,0.000000000261685,0.208790678714475,0.000000062158965,0.000000062158032,0.00000000004477,0.208790678714475],[0.000000000000744,0.00000000000129,0.000000000000747,0.000000000001288,0.000000000001291,-0.000000000000744,-0.00000000000129,-0.000000000000747,-0.000000000001288,-0.000000000000746,-0.000000000001291,7.06819371078027e-28,4.03896783473158e-28,7.06819371078027e-28,6.05845175209737e-28,5.04870979341448e-28,6.05845175209737e-28,0.000000000005918,0.000000000005918,0.000000000005917,0.000000000005917,0.000000000005915,0.000000000005915,0.000000000005918,0.000000000005917,0.000000000005915,0.000000001405675,0.000000001405475,0.000000001405103,0.000000000000746,0.000000001405675],[0.000000000036558,-0.000000000009514,0.000000000036539,-0.000000000009582,-0.00000002989454,-0.000000000036558,0.000000000009514,-0.000000000036539,0.000000000009582,-0.000099999885515,0.000000029901074,-1.26043746101042e-19,4.68486952190988e-19,-3.32236808688588e-19,-3.42881214380165e-19,0.000000000086623,0.000000000006534,0.000000000150128,0.000000000150128,0.000000000150128,0.000000000150128,0.00039673190585,0.00039673190585,0.000000000150128,0.000000000150128,0.00039673190585,0.000000035659969,0.000000035659774,0.094235606236332,0.000099999972139,0.094235606236332],[0.000000000040304,-0.000000000010774,0.000108946995084,0.000000062994752,-0.000000000010844,-0.000000000040304,0.000000000010774,-0.000108946860945,-0.000000062984634,-0.000000000040362,0.000000000010844,-5.07289371109217e-19,-5.09362019152398e-19,0.000000000134139,0.000000000010118,-2.12501012691905e-19,7.02313018732221e-19,0.000000000165804,0.000000000165804,0.000433001118184,0.000433001118184,0.000000000165805,0.000000000165805,0.000000000165804,0.000433001118184,0.000000000165805,0.000000039383427,0.102850620964411,0.000000039383508,0.000000000040362,0.102850620964411],[0.000045020425624,0.000014821628893,0.000000000017183,-0.00000000001251,-0.000000000012526,-0.000045020236643,-0.000014821614639,-0.000000000017183,0.00000000001251,-0.000000000017231,0.000000000012526,0.000000000188981,0.000000000014255,4.95249818685819e-19,1.10542523755024e-18,-1.19993255639223e-18,-1.26625593344965e-19,0.000188437478985,0.000188437478985,0.000000000084507,0.000000000084507,0.000000000084511,0.000000000084511,0.000188437478985,0.000000000084507,0.000000000084511,0.044759495790441,0.000000020072952,0.000000020073756,0.000000000017231,0.044759495790441],[0.002242294324331,0.000737975159287,0.00229154783303,0.00000288494358,-0.000000663509898,-0.002242266331019,-0.000737980100642,-0.002291519896709,-0.000002870697392,-0.001203991217861,0.000000666415447,0.000000027993312,-0.000000004941355,0.000000027936322,0.000000014246188,-0.000000000965964,0.000000002905549,0.009385056525682,0.009385056525682,0.009110994471369,0.009110994471369,0.004776371903487,0.004776371903487,0.009385056525682,0.009110994471369,0.004776371903487,2.229229558347673,2.164131683803725,1.134530133066049,0.001203990251897,2.229229558347673],[0.000000000141789,-0.000000000034746,0.000000000141733,-0.000000000034976,-0.00000004772929,-0.000000000141789,0.000000000034746,-0.000000000141733,0.000000000034976,-0.000468998929106,0.000000048045609,-5.26019371645741e-18,1.7935765726438e-17,-1.28832915374533e-17,-1.35055050143231e-17,0.00000000419362,0.000000000316319,0.000000000580065,0.000000000580065,0.000000000580065,0.000000000580065,0.001861256238577,0.001861256238577,0.000000000580065,0.000000000580065,0.001861256238577,0.000000137782629,0.00000013778263,0.442103615608663,0.000469003122726,0.442103615608663],[0.000210079187024,0.000069147084755,0.000000000045205,-0.000000000048374,-0.000000000048433,-0.000210079116613,-0.000069147079444,-0.000000000045205,0.000000000048374,-0.000000000045313,0.000000000048433,0.000000000070411,0.000000000005311,1.52151214132092e-19,2.57094506922746e-19,-3.05834489543254e-19,4.10935379627645e-20,0.000879008767412,0.000879008767412,0.000000000263132,0.000000000263132,0.000000000263128,0.000000000263128,0.000879008767412,0.000000000263132,0.000000000263128,0.208790679203726,0.000000062501776,0.000000062500639,0.000000000045313,0.208790679203726],[0.00000000000088,0.000000000000782,0.000000000000882,0.000000000000779,0.000000000000781,-0.00000000000088,-0.000000000000782,-0.000000000000882,-0.000000000000779,-0.000000000000882,-0.000000000000781,0.0,2.01948391736579e-28,4.03896783473158e-28,3.02922587604869e-28,2.01948391736579e-28,3.02922587604869e-28,0.00000000000468,0.00000000000468,0.000000000004679,0.000000000004679,0.000000000004675,0.000000000004675,0.00000000000468,0.000000000004679,0.000000000004675,0.000000001111535,0.000000001111329,0.000000001110377,0.000000000000882,0.000000001111535],[0.000000000036525,-0.000000000009529,0.000000000036507,-0.000000000009597,-0.000000029901089,-0.000000000036525,0.000000000009529,-0.000000000036507,0.000000000009597,-0.000099999559689,0.000000029925663,-4.57383949166759e-19,1.69693802392292e-18,-1.23547225831947e-18,-1.25819225210546e-18,0.000000000325794,0.000000000024574,0.00000000015002,0.00000000015002,0.000000000150019,0.000000000150019,0.000396731905722,0.000396731905722,0.00000000015002,0.000000000150019,0.000396731905722,0.000000035634173,0.000000035633978,0.094235606205951,0.000099999885483,0.094235606205951],[0.000000000040439,-0.000000000010703,0.00010894686108,0.000000062984704,-0.000000000010774,-0.000000000040439,0.000000000010703,-0.000108946831069,-0.000000062982441,-0.000000000040497,0.000000000010774,-1.49815753683079e-19,-1.12897035045961e-19,0.000000000030011,0.000000000002264,-3.92686353598048e-20,1.72636283840831e-19,0.000000000166249,0.000000000166249,0.000433001118719,0.000433001118719,0.000000000166249,0.000000000166249,0.000000000166249,0.000433001118719,0.000000000166249,0.000000039489049,0.102850621091484,0.000000039489134,0.000000000040497,0.102850621091484],[0.000045020237815,0.00001482161471,0.000000000018355,-0.000000000012442,-0.000000000012456,-0.000045020211691,-0.00001482161274,-0.000000000018355,0.000000000012442,-0.000000000018405,0.000000000012456,0.000000000026124,0.00000000000197,6.4649315362802e-20,1.59392167421861e-19,-1.649175222718e-19,-2.42588809207075e-20,0.000188437483498,0.000188437483498,0.000000000088163,0.000000000088163,0.000000000088166,0.000000000088166,0.000188437483498,0.000000000088163,0.000000000088166,0.044759496862419,0.000000020941294,0.0000000209421,0.000000000018405,0.044759496862419],[0.002242267055468,0.000737980285669,0.002291520621538,0.000002870880748,-0.000000666231147,-0.002242162084571,-0.000737998815032,-0.002291415864352,-0.000002817459593,-0.001203995566385,0.000000677126537,0.000000104970897,-0.000000018529362,0.000000104757186,0.000000053421155,-0.000000003622215,0.00000001089539,0.009385059491502,0.009385059491502,0.009110997354171,0.009110997354171,0.004776374784436,0.004776374784436,0.009385059491502,0.009110997354171,0.004776374784436,2.229230262817971,2.16413236855489,1.134530817377059,0.001203991944171,2.229230262817971],[0.000000000141853,-0.000000000034753,0.000000000141798,-0.000000000034983,-0.000000048045616,-0.000000000141853,0.000000000034753,-0.000000000141798,0.000000000034983,-0.000468978518819,0.00000004958514,-2.52603099985776e-17,8.73092111362622e-17,-6.28823184529494e-17,-6.55154070812821e-17,0.000000020410351,0.000000001539524,0.000000000580321,0.000000000580321,0.000000000580321,0.000000000580321,0.001861256238835,0.001861256238835,0.000000000580321,0.000000000580321,0.001861256238835,0.000000137843564,0.000000137843565,0.442103615669736,0.000468998929171,0.442103615669736],[0.000210079117687,0.00006914707963,0.000000000046279,-0.00000000004819,-0.000000000048248,-0.000210078972349,-0.000069147068667,-0.000000000046279,0.00000000004819,-0.000000000046389,0.000000000048248,0.000000000145338,0.000000000010963,3.93726442745454e-19,5.09416149399319e-19,-6.17957038082074e-19,2.96113017082482e-20,0.000879008771698,0.000879008771698,0.000000000265537,0.000000000265537,0.000000000265533,0.000000000265533,0.000879008771698,0.000000000265537,0.000000000265533,0.208790680221768,0.000000063073023,0.000000063071944,0.000000000046389,0.208790680221768],[0.000000000000347,0.000000000000229,0.000000000000348,0.000000000000229,0.000000000000229,-0.000000000000347,-0.000000000000229,-0.000000000000348,-0.000000000000229,-0.000000000000348,-0.000000000000229,-1.0097419586829e-28,0.0,-1.0097419586829e-28,0.0,-1.0097419586829e-28,5.04870979341448e-29,0.000000000001653,0.000000000001653,0.000000000001655,0.000000000001655,0.000000000001654,0.000000000001654,0.000000000001653,0.000000000001655,0.000000000001654,0.000000000392596,0.000000000393008,0.000000000392875,0.000000000000348,0.000000000393008],[0.000000000036504,-0.000000000009537,0.000000000036485,-0.000000000009605,-0.000000029925671,-0.000000000036504,0.000000000009537,-0.000000000036485,0.000000000009605,-0.000099999483627,0.000000029931406,-1.2571971748312e-19,3.86353541223286e-19,-3.10637145416177e-19,-2.88691828892056e-19,0.000000000076041,0.000000000005736,0.000000000149946,0.000000000149946,0.000000000149945,0.000000000149945,0.000396731905637,0.000396731905637,0.000000000149946,0.000000000149945,0.000396731905637,0.000000035616572,0.000000035616362,0.09423560618586,0.000099999559667,0.09423560618586],[0.000000000020688,-0.000000000005566,0.000055972744063,0.00000003238573,-0.000000000005602,-0.000000000020688,0.000000000005566,-0.000055972544423,-0.000000032370671,-0.000000000020717,0.000000000005602,-7.66683459521906e-19,-7.69715507828678e-19,0.000000000199641,0.000000000015059,-2.7539851138251e-19,1.0587470179546e-18,0.000000000085142,0.000000000085142,0.000222459529721,0.000222459529721,0.000000000085142,0.000000000085142,0.000000000085142,0.000222459529721,0.000000000085142,0.000000020223696,0.052840742922755,0.000000020223717,0.000000000020717,0.052840742922755],[0.000000000019873,-0.000000000005182,0.000052974087127,0.000000030596666,-0.000000000005217,-0.000000000019873,0.000000000005182,-0.000052974080988,-0.000000030596203,-0.000000000019901,0.000000000005217,-1.13367687889807e-21,-2.94200355786409e-20,0.000000000006139,0.000000000000463,-1.23544045063998e-20,3.28063579100681e-20,0.000000000081622,0.000000000081622,0.000210541589482,0.000210541589482,0.000000000081622,0.000000000081622,0.000000000081622,0.000210541589482,0.000000000081622,0.000000019387644,0.050009878283632,0.000000019387533,0.000000000019901,0.050009878283632],[0.000045020211876,0.000014821612828,0.00000000001854,-0.000000000012354,-0.000000000012368,-0.000045020199866,-0.000014821611922,-0.00000000001854,0.000000000012354,-0.000000000018591,0.000000000012368,0.00000000001201,0.000000000000906,3.04413160606341e-20,8.5946363009164e-20,-8.23215186244631e-20,-1.06898877005701e-20,0.000188437484306,0.000188437484306,0.000000000088579,0.000000000088579,0.000000000088583,0.000000000088583,0.000188437484306,0.000000000088579,0.000000000088583,0.044759497054267,0.000000021040229,0.000000021041068,0.000000000018591,0.044759497054267],[0.00000000002368,-0.000000000006604,0.000000000023663,-0.000000000006659,-0.000000024977362,-0.00000000002368,0.000000000006604,-0.000000000023663,0.000000000006659,-0.000053000282763,0.000000024993914,-3.70959433758274e-19,1.40171762277089e-18,-1.04999643177415e-18,-1.01943530134829e-18,0.000000000219443,0.000000000016552,0.000000000097742,0.000000000097742,0.000000000097741,0.000000000097741,0.000210258457293,0.000210258457293,0.000000000097742,0.000000000097741,0.000210258457293,0.000000023216558,0.000000023216439,0.049942625982828,0.000053000502206,0.049942625982828],[0.00224216282413,0.000737999017439,0.002291416604334,0.00000281766026,-0.000000651954152,-0.002242127198643,-0.000738005562785,-0.002291381184273,-0.0000027993043,-0.00115099751304,0.000000655375224,0.000000035625487,-0.000000006545346,0.000000035420061,0.00000001835596,-0.000000001683622,0.000000003421072,0.009385062536101,0.009385062536101,0.009111000297423,0.009111000297423,0.004566119363399,0.004566119363399,0.009385062536101,0.009111000297423,0.004566119363399,2.22923098600073,2.164133067664518,1.084588912594981,0.001150995829418,2.22923098600073],[0.000210078974016,0.000069147068672,0.000000000047947,-0.000000000048188,-0.000000000048245,-0.000210078822648,-0.000069147057255,-0.000000000047947,0.000000000048188,-0.00000000004806,0.000000000048245,0.000000000151369,0.000000000011418,3.75501269244301e-19,5.68956487106264e-19,-6.69435020841875e-19,4.70706869079359e-20,0.000879008778,0.000879008778,0.000000000270165,0.000000000270165,0.000000000270161,0.000000000270161,0.000879008778,0.000000000270165,0.000000000270161,0.208790681718684,0.000000064172244,0.000000064171231,0.00000000004806,0.208790681718684],[-0.000000000000298,0.000000000000601,-0.000000000000297,0.000000000000602,0.000000000000603,0.000000000000298,-0.000000000000601,0.000000000000297,-0.000000000000602,0.000000000000298,-0.000000000000603,2.01948391736579e-28,0.0,1.51461293802434e-28,0.0,1.0097419586829e-28,-1.0097419586829e-28,0.000000000002667,0.000000000002667,0.000000000002667,0.000000000002667,0.000000000002666,0.000000000002666,0.000000000002667,0.000000000002667,0.000000000002666,0.000000000633401,0.000000000633471,0.000000000633368,-0.000000000000298,0.000000000633471],[0.000000000036501,-0.000000000009495,0.000000000036483,-0.000000000009563,-0.000000029931365,-0.000000000036501,0.000000000009495,-0.000000000036483,0.000000000009563,-0.000099999448788,0.000000029933992,-2.10636760848712e-20,1.76544185553738e-19,-1.37135378623023e-19,-1.05212520692995e-19,0.000000000034836,0.000000000002628,0.000000000149893,0.000000000149893,0.000000000149892,0.000000000149892,0.000396731905627,0.000396731905627,0.000000000149893,0.000000000149892,0.000396731905627,0.000000035604118,0.000000035603851,0.094235606183393,0.000099999483624,0.094235606183393],[0.000000000020687,-0.000000000005567,0.000055972544422,0.00000003237067,-0.000000000005603,-0.000000000020687,0.000000000005567,-0.000055972346571,-0.000000032355746,-0.000000000020716,0.000000000005604,-7.75220832629332e-19,-7.65660793673946e-19,0.000000000197851,0.000000000014924,-2.69413685167279e-19,1.04245033931123e-18,0.00000000008514,0.00000000008514,0.000222459529718,0.000222459529718,0.00000000008514,0.00000000008514,0.00000000008514,0.000222459529718,0.00000000008514,0.000000020223353,0.052840742922071,0.000000020223351,0.000000000020716,0.052840742922071],[0.000000000019729,-0.000000000005153,0.000052974080844,0.000000030596232,-0.000000000005187,-0.000000000019729,0.000000000005153,-0.000052974073646,-0.000000030595689,-0.000000000019757,0.000000000005187,-4.02184034929033e-20,-2.09771945133875e-20,0.000000000007198,0.000000000000543,-8.68652411162625e-21,3.13559007449242e-20,0.000000000081038,0.000000000081038,0.00021054158891,0.00021054158891,0.000000000081037,0.000000000081037,0.000000000081038,0.00021054158891,0.000000000081037,0.000000019248927,0.050009878147709,0.000000019248785,0.000000000019757,0.050009878147709],[0.000045020199972,0.000014821611874,0.000000000018646,-0.000000000012403,-0.000000000012417,-0.000045020185708,-0.000014821610798,-0.000000000018646,0.000000000012403,-0.000000000018698,0.000000000012417,0.000000000014264,0.000000000001076,3.67933587690509e-20,8.32321346189589e-20,-9.78517990822292e-20,-2.1091341398952e-20,0.000188437484649,0.000188437484649,0.000000000089038,0.000000000089038,0.000000000089041,0.000000000089041,0.000188437484649,0.000000000089038,0.000000000089041,0.044759497135661,0.000000021149133,0.000000021149972,0.000000000018698,0.044759497135661],[0.000000000023643,-0.000000000006607,0.000000000023626,-0.000000000006661,-0.000000024993917,-0.000000000023643,0.000000000006607,-0.000000000023626,0.000000000006661,-0.000053000266775,0.00000002499512,-2.63424422549777e-20,1.12429246638104e-19,-5.86336023527446e-20,-7.19742282925385e-20,0.000000000015951,0.000000000001203,0.000000000097604,0.000000000097604,0.000000000097604,0.000000000097604,0.000210258457147,0.000210258457147,0.000000000097604,0.000000000097604,0.000210258457147,0.000000023183859,0.000000023183771,0.049942625948253,0.000053000282726,0.049942625948253],[0.002242128084326,0.000738005788837,0.002291382070427,0.000002799528254,-0.000000655150085,-0.002241998941843,-0.000738029515718,-0.002291253672616,-0.000002732987856,-0.001151004504179,0.000000667551481,0.000000129142484,-0.000000023726881,0.000000128397811,0.000000066540398,-0.00000000610312,0.000000012401396,0.009385066161992,0.009385066161992,0.009111003822037,0.009111003822037,0.004566122885745,0.004566122885745,0.009385066161992,0.009111003822037,0.004566122885745,2.22923184725737,2.164133904864966,1.084589749256874,0.001150998401059,2.22923184725737],[0.00021007882672,0.000069147057612,0.00000000005202,-0.000000000047839,-0.000000000047892,-0.00021007825112,-0.000069147014195,-0.00000000005202,0.000000000047839,-0.000000000052141,0.000000000047892,0.000000000575601,0.000000000043417,1.32031113311717e-18,2.26432961778838e-18,-2.60171421699813e-18,2.33502488672121e-20,0.000879008793818,0.000879008793818,0.000000000280875,0.000000000280875,0.000000000280871,0.000000000280871,0.000879008793818,0.000000000280875,0.000000000280871,0.208790685475891,0.000000066716137,0.000000066715162,0.000000000052141,0.208790685475891],[0.000000000000186,0.000000000000323,0.000000000000187,0.000000000000322,0.000000000000323,-0.000000000000186,-0.000000000000323,-0.000000000000187,-0.000000000000322,-0.000000000000187,-0.000000000000323,1.0097419586829e-28,1.51461293802434e-28,7.57306469012171e-29,1.0097419586829e-28,1.0097419586829e-28,1.51461293802434e-28,0.000000000001479,0.000000000001479,0.000000000001479,0.000000000001479,0.000000000001479,0.000000000001479,0.000000000001479,0.000000000001479,0.000000000001479,0.000000000351419,0.000000000351345,0.000000000351299,0.000000000000187,0.000000000351419],[0.000000000036577,-0.000000000009458,0.000000000036558,-0.000000000009526,-0.000000029933955,-0.000000000036577,0.000000000009458,-0.000000000036558,0.000000000009526,-0.000099999425961,0.000000029935683,-2.62672819103348e-20,1.03673237739436e-19,-8.31246269887211e-20,-1.01817277089414e-19,0.000000000022902,0.000000000001727,0.000000000150146,0.000000000150146,0.000000000150145,0.000000000150145,0.000396731905925,0.000396731905925,0.000000000150146,0.000000000150145,0.000396731905925,0.000000035664022,0.000000035663873,0.094235606254173,0.000099999448863,0.094235606254173],[0.000000000019856,-0.000000000005119,0.000052974073773,0.000000030595723,-0.000000000005153,-0.000000000019856,0.000000000005119,-0.000052974067269,-0.000000030595233,-0.000000000019884,0.000000000005153,-3.52406308993638e-20,-1.98524865664633e-20,0.000000000006505,0.000000000000491,-6.14116658217841e-21,2.78415156681547e-20,0.000000000081493,0.000000000081493,0.000210541589415,0.000210541589415,0.000000000081493,0.000000000081493,0.000000000081493,0.000210541589415,0.000000000081493,0.000000019356946,0.050009878267713,0.000000019356894,0.000000000019884,0.050009878267713],[0.000045020185924,0.000014821610847,0.000000000018863,-0.000000000012353,-0.000000000012367,-0.000045020163916,-0.000014821609187,-0.000000000018863,0.000000000012353,-0.000000000018915,0.000000000012367,0.000000000022008,0.00000000000166,5.25892676010232e-20,1.43696040482452e-19,-1.52528020750504e-19,-2.02570037353958e-20,0.000188437485528,0.000188437485528,0.000000000089649,0.000000000089649,0.000000000089653,0.000000000089653,0.000188437485528,0.000000000089649,0.000000000089653,0.044759497344516,0.00000002129426,0.000000021295144,0.000000000018915,0.044759497344516],[0.000000000023739,-0.000000000006581,0.000000000023722,-0.000000000006636,-0.000000024995094,-0.000000000023739,0.000000000006581,-0.000000000023722,0.000000000006636,-0.000053000253723,0.000000024996086,-5.69705137259412e-21,9.90415626840675e-20,-5.52677430479552e-20,-7.28488191173291e-20,0.000000000013147,0.000000000000992,0.000000000097942,0.000000000097942,0.000000000097941,0.000000000097941,0.000210258457526,0.000210258457526,0.000000000097942,0.000000000097941,0.000210258457526,0.000000023264052,0.000000023264002,0.049942626038214,0.00005300026687,0.049942626038214],[0.001391712231191,0.000458475034581,0.000746644003265,0.000000701908376,-0.000000302835403,-0.00139166779798,-0.000458478341074,-0.000746634619219,-0.00000069169892,-0.000298993292278,0.000000301960098,0.00000004443321,-0.000000003306493,0.000000009384047,0.000000010209457,-0.000000002402333,-0.000000000875305,0.005826174140662,0.005826174140662,0.002968974852265,0.002968974852265,0.001186120133258,0.001186120133258,0.005826174140662,0.002968974852265,0.001186120133258,1.38388933203585,0.705219673482866,0.281738746439503,0.000298990889945,1.38388933203585],[0.000850287557605,0.000279554694095,0.001544610516752,0.000002031290385,-0.000000364504019,-0.000850284540009,-0.00027955663496,-0.001544596323314,-0.000002028030523,-0.00085201326388,0.000000367330987,0.000000003017596,-0.000000001940865,0.000000014193438,0.000000003259862,0.000000001199589,0.000000002826968,0.003558895871491,0.003558895871491,0.006142032481124,0.006142032481124,0.003380006271237,0.003380006271237,0.003558895871491,0.006142032481124,0.003380006271237,0.845343429749108,1.458915065432515,0.802851838624889,0.000852014463469,1.458915065432515],[0.000210078271204,0.000069147015603,0.000000000072107,-0.000000000046467,-0.000000000046507,-0.000210075215257,-0.000069146785098,-0.000000000072107,0.000000000046467,-0.000000000072264,0.000000000046507,0.000000003055947,0.000000000230506,6.09407394913484e-18,1.58512602624337e-17,-1.6736911099475e-17,-2.64164946945878e-18,0.00087900887139,0.00087900887139,0.000000000340927,0.000000000340927,0.000000000340927,0.000000000340927,0.00087900887139,0.000000000340927,0.000000000340927,0.208790703901417,0.000000080980347,0.000000080980348,0.000000000072264,0.208790703901417],[9.83997432286358e-18,-5.67371166471074e-18,1.49324233823329e-20,1.13582911318308e-17,-5.68215446989096e-18,-9.83997432286358e-18,5.67371166471075e-18,-1.49324233823364e-20,-1.13582911318308e-17,9.85820087738142e-18,5.68215446989096e-18,1.54074395550979e-33,3.08148791101958e-33,-3.55996113157828e-33,0.0,0.0,-3.08148791101958e-33,4.51416636941358e-17,4.51416636941358e-17,4.51416636941358e-17,4.51416636941358e-17,4.51416636941358e-17,4.51416636941358e-17,4.51416636941358e-17,4.51416636941358e-17,4.51416636941358e-17,0.000000000000011,0.000000000000011,0.000000000000011,-9.85820087738142e-18,0.000000000000011],[0.000000000018879,-0.00000000000493,0.000000000018869,-0.000000000004965,-0.000000015525802,-0.000000000018879,0.00000000000493,-0.000000000018869,0.000000000004965,-0.000051999744774,0.000000015529084,-7.33172763782598e-20,2.22200610910678e-19,-1.50453338683121e-19,-1.65982762071913e-19,0.000000000043505,0.000000000003282,0.000000000077546,0.000000000077546,0.000000000077546,0.000000000077546,0.000206300935316,0.000206300935316,0.000000000077546,0.000000000077546,0.000206300935316,0.000000018419495,0.000000018419415,0.049002597018186,0.000051999788279,0.049002597018186],[0.000000000017442,-0.00000000000475,0.000000000017433,-0.000000000004782,-0.000000014410102,-0.000000000017442,0.00000000000475,-0.000000000017433,0.000000000004782,-0.000047999632853,0.000000014410447,-1.00624873618199e-20,2.4060704117135e-20,-2.64292800634245e-20,-1.46000730458912e-20,0.000000000004572,0.000000000000345,0.000000000071843,0.000000000071843,0.000000000071843,0.000000000071843,0.000190430969593,0.000190430969593,0.000000000071843,0.000000000071843,0.000190430969593,0.000000017064861,0.000000017064795,0.045233008994733,0.000047999637426,0.045233008994733],[0.000000000019458,-0.000000000005158,0.00005297406687,0.000000030595194,-0.000000000005192,-0.000000000019458,0.000000000005158,-0.000052974060282,-0.000000030594697,-0.000000000019485,0.000000000005192,-1.82053567093685e-20,-2.54358296853997e-20,0.000000000006588,0.000000000000497,-1.09778273330952e-20,2.42934972984318e-20,0.00000000008,0.00000000008,0.000210541587832,0.000210541587832,0.00000000008,0.00000000008,0.00000000008,0.000210541587832,0.00000000008,0.000000019002432,0.050009877891641,0.000000019002301,0.000000000019485,0.050009877891641],[0.000045020164105,0.000014821609213,0.000000000019052,-0.000000000012328,-0.000000000012342,-0.000045020144494,-0.000014821607733,-0.000000000019052,0.000000000012328,-0.000000000019104,0.000000000012342,0.000000000019611,0.000000000001479,4.46915926816112e-20,1.22567270776369e-19,-1.30156281311502e-19,-2.01364130805478e-20,0.000188437486273,0.000188437486273,0.000000000090225,0.000000000090225,0.000000000090229,0.000000000090229,0.000188437486273,0.000000000090225,0.000000000090229,0.044759497521514,0.000000021431077,0.000000021432005,0.000000000019104,0.044759497521514],[0.000000000023721,-0.000000000006611,0.000000000023704,-0.000000000006666,-0.000000024996116,-0.000000000023721,0.000000000006611,-0.000000000023704,0.000000000006666,-0.00005300023503,0.000000024997525,-5.11355946096893e-20,1.12387540256242e-19,-8.41597304342319e-20,-9.59819233802233e-20,0.000000000018675,0.000000000001409,0.000000000097907,0.000000000097907,0.000000000097907,0.000000000097907,0.000210258457456,0.000210258457456,0.000000000097907,0.000000000097907,0.000210258457456,0.000000023255851,0.000000023255835,0.04994262602169,0.000053000253705,0.04994262602169],[0.001391668051318,0.000458478378477,0.000746634872632,0.000000691735704,-0.000000301923026,-0.001391647599675,-0.000458479900383,-0.000746630553358,-0.000000687036512,-0.000298994652006,0.000000301520142,0.000000020451644,-0.000000001521907,0.000000004319274,0.000000004699192,-0.000000001105742,-0.000000000402884,0.005826175143949,0.005826175143949,0.002968975860092,0.002968975860092,0.001186121140685,0.001186121140685,0.005826175143949,0.002968975860092,0.001186121140685,1.383889570346167,0.705219912871764,0.281738985733395,0.000298993546264,1.383889570346167],[0.000850284683091,0.000279556671845,0.001544596466473,0.00000202806706,-0.000000367294252,-0.000850272036457,-0.000279564805937,-0.001544536982299,-0.000002014405099,-0.000852008379916,0.000000379141971,0.000000012646634,-0.000000008134092,0.000000059484174,0.000000013661962,0.000000005027434,0.000000011847719,0.003558896457751,0.003558896457751,0.00614203305058,0.00614203305058,0.003380006840328,0.003380006840328,0.003558896457751,0.00614203305058,0.003380006840328,0.845343569003273,1.458915200695316,0.802851973800924,0.00085201340735,1.458915200695316],[0.000000000018987,-0.000000000004918,0.000000000018977,-0.000000000004953,-0.000000015529072,-0.000000000018987,0.000000000004918,-0.000000000018977,0.000000000004953,-0.000051999724897,0.000000015530579,-2.61268066090428e-20,1.08417145209615e-19,-6.73578439615987e-20,-7.59620498697853e-20,0.000000000019985,0.000000000001507,0.000000000077948,0.000000000077948,0.000000000077948,0.000000000077948,0.000206300935743,0.000206300935743,0.000000000077948,0.000000000077948,0.000206300935743,0.000000018514921,0.000000018514854,0.049002597119679,0.000051999744881,0.049002597119679],[0.000000000017859,-0.000000000004399,0.00000000001785,-0.000000000004433,-0.000000014410097,-0.000000000017859,0.000000000004399,-0.00000000001785,0.000000000004433,-0.000047999630035,0.000000014410341,-1.31590024419952e-20,1.98295605772397e-20,-5.50719726614187e-21,-8.87542986843091e-21,0.000000000003236,0.000000000000244,0.000000000073097,0.000000000073097,0.000000000073097,0.000000000073097,0.000190430971251,0.000190430971251,0.000000000073097,0.000000000073097,0.000190430971251,0.000000017362823,0.000000017362824,0.045233009388402,0.000047999633271,0.045233009388402],[0.000000000019578,-0.000000000005227,0.000052974060403,0.000000030594627,-0.000000000005262,-0.000000000019578,0.000000000005227,-0.000052974053319,-0.000000030594093,-0.000000000019606,0.000000000005262,-3.87842661811924e-20,-3.65159939621107e-20,0.000000000007084,0.000000000000534,-9.95607186848468e-21,4.08208963248102e-20,0.000000000080536,0.000000000080536,0.000210541588311,0.000210541588311,0.000000000080536,0.000000000080536,0.000000000080536,0.000210541588311,0.000000000080536,0.000000019129576,0.050009878005631,0.000000019129584,0.000000000019606,0.050009878005631],[0.000045020144723,0.000014821607735,0.000000000019281,-0.000000000012327,-0.00000000001234,-0.000045020129476,-0.000014821606585,-0.000000000019281,0.000000000012327,-0.000000000019334,0.00000000001234,0.000000000015247,0.00000000000115,3.3936642055985e-20,9.55622310013421e-20,-1.04650671186615e-19,-2.80680492571013e-20,0.000188437487141,0.000188437487141,0.000000000090988,0.000000000090988,0.000000000090992,0.000000000090992,0.000188437487141,0.000000000090988,0.000000000090992,0.044759497727788,0.000000021612382,0.000000021613392,0.000000000019334,0.044759497727788],[0.0000000000237,-0.000000000006626,0.000000000023682,-0.00000000000668,-0.000000024997539,-0.0000000000237,0.000000000006626,-0.000000000023682,0.00000000000668,-0.000053000151129,0.000000025003866,-1.26854809616347e-19,5.45732990743228e-19,-4.07962288942151e-19,-3.90813670813397e-19,0.000000000083879,0.000000000006327,0.000000000097839,0.000000000097839,0.000000000097839,0.000000000097839,0.00021025845737,0.00021025845737,0.000000000097839,0.000000000097839,0.00021025845737,0.000000023239783,0.000000023239752,0.049942626001184,0.000053000235009,0.049942626001184],[0.001391648201316,0.000458479989045,0.000746631155184,0.000000687123699,-0.000000301432265,-0.001391514597607,-0.000458489931145,-0.000746602938798,-0.00000065642545,-0.000299002478641,0.000000298800353,0.00000013360371,-0.0000000099421,0.000000028216386,0.00000003069825,-0.000000007223442,-0.000000002631913,0.005826177526437,0.005826177526437,0.002968978253572,0.002968978253572,0.001186123533217,0.001186123533217,0.005826177526437,0.002968978253572,0.001186123533217,1.383890136257949,0.705220481394219,0.281739554030707,0.000298995255199,1.383890136257949],[0.000850272177509,0.000279564842168,0.001544537123423,0.000002014440982,-0.000000379105893,-0.000850269385902,-0.00027956663768,-0.001544523992942,-0.000002011425254,-0.000852007411599,0.000000381721147,0.000000002791607,-0.000000001795512,0.000000013130481,0.000000003015729,0.000000001109751,0.000000002615254,0.003558897035535,0.003558897035535,0.006142033611962,0.006142033611962,0.003380007401351,0.003380007401351,0.003558897035535,0.006142033611962,0.003380007401351,0.845343706244096,1.458915334040138,0.802852107060476,0.000852008521351,1.458915334040138],[0.000000000018936,-0.000000000004889,0.000000000018927,-0.000000000004924,-0.00000001553055,-0.000000000018936,0.000000000004889,-0.000000000018927,0.000000000004924,-0.000051999691023,0.000000015533101,-4.66142253814744e-20,1.82212897912417e-19,-1.40869688729567e-19,-1.2163140073159e-19,0.000000000033823,0.000000000002551,0.000000000077725,0.000000000077725,0.000000000077725,0.000000000077725,0.000206300935543,0.000206300935543,0.000000000077725,0.000000000077725,0.000206300935543,0.000000018462013,0.000000018461952,0.049002597072135,0.000051999724846,0.049002597072135],[0.000000000017501,-0.000000000004462,0.000000000017492,-0.000000000004494,-0.000000014410403,-0.000000000017501,0.000000000004462,-0.000000000017492,0.000000000004494,-0.000047999625911,0.000000014410687,-8.87310826971951e-21,1.36172685792853e-20,-2.21050932449012e-20,-1.90615758850661e-20,0.000000000003766,0.000000000000284,0.000000000071777,0.000000000071777,0.000000000071777,0.000000000071777,0.000190430969828,0.000190430969828,0.000000000071777,0.000000000071777,0.000190430969828,0.000000017049209,0.000000017049111,0.045233009050535,0.000047999629677,0.045233009050535],[0.000000000019555,-0.000000000005268,0.000052974053296,0.000000030594053,-0.000000000005302,-0.000000000019555,0.000000000005268,-0.000052974012216,-0.000000030590954,-0.000000000019583,0.000000000005302,-1.5715505260845e-19,-1.51364198631274e-19,0.00000000004108,0.000000000003099,-6.40733230066523e-20,2.13514737072873e-19,0.000000000080488,0.000000000080488,0.000210541588219,0.000210541588219,0.000000000080488,0.000000000080488,0.000000000080488,0.000210541588219,0.000000000080488,0.000000019118249,0.050009877983599,0.000000019118239,0.000000000019583,0.050009877983599],[0.000045020129548,0.000014821606571,0.000000000019353,-0.000000000012342,-0.000000000012355,-0.000045020110569,-0.000014821605139,-0.000000000019353,0.000000000012342,-0.000000000019406,0.000000000012355,0.000000000018979,0.000000000001432,5.20704767229361e-20,1.27689924377315e-19,-1.37637115363324e-19,-2.24834249775677e-20,0.000188437487395,0.000188437487395,0.000000000091261,0.000000000091261,0.000000000091266,0.000000000091266,0.000188437487395,0.000000000091261,0.000000000091266,0.044759497788054,0.00000002167721,0.000000021678301,0.000000000019406,0.044759497788054],[0.000000000023684,-0.00000000000663,0.000000000023667,-0.000000000006685,-0.00000002500387,-0.000000000023684,0.00000000000663,-0.000000000023667,0.000000000006685,-0.000053000134966,0.000000025005088,-2.79666857047338e-20,1.04809348500351e-19,-7.36258632143561e-20,-7.31090110408297e-20,0.000000000016148,0.000000000001218,0.000000000097783,0.000000000097783,0.000000000097783,0.000000000097783,0.000210258457307,0.000210258457307,0.000000000097783,0.000000000097783,0.000210258457307,0.000000023226415,0.000000023226359,0.049942625986237,0.000053000151113,0.049942625986237],[0.001391515158132,0.000458490013818,0.000746603499528,0.00000065650671,-0.000000298718417,-0.001391505179008,-0.000458490756413,-0.000746601391989,-0.000000654213797,-0.000299003580208,0.000000298521834,0.000000009979124,-0.000000000742595,0.000000002107539,0.000000002292913,-0.000000000539533,-0.000000000196583,0.005826179746367,0.005826179746367,0.00296898048368,0.00296898048368,0.001186125762442,0.001186125762442,0.005826179746367,0.00296898048368,0.001186125762442,1.383890663557197,0.705221011111166,0.281740083537767,0.000299003040674,1.383890663557197],[0.000850269420105,0.000279566646416,0.001544524027163,0.000002011433905,-0.000000381712449,-0.000850268492511,-0.000279567243028,-0.00154451966417,-0.000002010431839,-0.000852007077147,0.000000382581445,0.000000000927594,-0.000000000596612,0.000000004362992,0.000000001002065,0.000000000368748,0.000000000868996,0.003558897175579,0.003558897175579,0.006142033748091,0.006142033748091,0.003380007537393,0.003380007537393,0.003558897175579,0.006142033748091,0.003380007537393,0.845343739508785,1.458915366374677,0.802852139374431,0.000852007445895,1.458915366374677],[0.000000000018957,-0.000000000004911,0.000000000018947,-0.000000000004946,-0.000000015533123,-0.000000000018957,0.000000000004911,-0.000000000018947,0.000000000004946,-0.000051999626122,0.00000001553802,-9.51768973140373e-20,3.26723849430933e-19,-2.40655051574208e-19,-2.46377259254064e-19,0.000000000064922,0.000000000004897,0.000000000077827,0.000000000077827,0.000000000077827,0.000000000077827,0.000206300935626,0.000206300935626,0.000000000077827,0.000000000077827,0.000206300935626,0.000000018486272,0.000000018486221,0.04900259709177,0.000051999691044,0.04900259709177],[0.000000000017518,-0.000000000004525,0.000000000017509,-0.000000000004558,-0.00000001441075,-0.000000000017518,0.000000000004525,-0.000000000017509,0.000000000004558,-0.000047999618726,0.000000014411294,-6.5497938047796e-21,3.72198026865647e-20,-2.37789158326221e-20,-2.17597106040369e-20,0.000000000007203,0.000000000000543,0.000000000071906,0.000000000071906,0.000000000071906,0.000000000071906,0.000190430969895,0.000190430969895,0.000000000071906,0.000000000071906,0.000190430969895,0.000000017079727,0.000000017079695,0.045233009066502,0.000047999625928,0.045233009066502],[0.000000000019574,-0.000000000005247,0.000052974012235,0.000000030590975,-0.000000000005281,-0.000000000019574,0.000000000005247,-0.00005297383848,-0.000000030577869,-0.000000000019602,0.000000000005281,-6.82651564035231e-19,-6.72059303033988e-19,0.000000000173754,0.000000000013106,-2.41676477459043e-19,9.28037015155592e-19,0.000000000080538,0.000000000080538,0.000210541588294,0.000210541588294,0.000000000080538,0.000000000080538,0.000000000080538,0.000210541588294,0.000000000080538,0.00000001913027,0.050009878001422,0.000000019130271,0.000000000019602,0.050009878001422],[0.0000450201108,0.000014821605167,0.000000000019584,-0.000000000012314,-0.000000000012328,-0.000045020091171,-0.000014821603686,-0.000000000019584,0.000000000012314,-0.000000000019638,0.000000000012328,0.00000000001963,0.000000000001481,5.98314988202149e-20,1.30922273176946e-19,-1.29147747811995e-19,-1.45322498902168e-20,0.000188437488302,0.000188437488302,0.000000000091978,0.000000000091978,0.000000000091983,0.000000000091983,0.000188437488302,0.000000000091978,0.000000000091983,0.044759498003387,0.000000021847563,0.000000021848658,0.000000000019638,0.044759498003387],[0.000000000023759,-0.000000000006593,0.000000000023742,-0.000000000006647,-0.000000025005051,-0.000000000023759,0.000000000006593,-0.000000000023742,0.000000000006647,-0.000053000123085,0.000000025005953,-2.10902137191325e-20,8.17782079804449e-20,-6.28233820152508e-20,-5.13072143919548e-20,0.000000000011956,0.000000000000902,0.000000000098031,0.000000000098031,0.000000000098031,0.000000000098031,0.000210258457606,0.000210258457606,0.000000000098031,0.000000000098031,0.000210258457606,0.00000002328531,0.000000023285275,0.049942626057222,0.000053000135041,0.049942626057222],[0.000105051839895,0.000034593731661,0.000000000031224,-0.000000000032734,-0.000000000032788,-0.000105051693418,-0.000034593720613,-0.000000000031224,0.000000000032734,-0.000000000031329,0.000000000032788,0.000000000146476,0.000000000011049,4.79557637010191e-19,6.99035116837762e-19,-8.46112476178288e-19,9.30467618338713e-20,0.000439823113038,0.000439823113038,0.000000000179895,0.000000000179895,0.000000000179897,0.000000000179897,0.000439823113038,0.000000000179895,0.000000000179897,0.104471047280848,0.000000042730499,0.000000042730984,0.000000000031329,0.104471047280848],[0.001286453989782,0.000423897121002,0.000746602011675,0.000000654341139,-0.000000298393651,-0.00128629935626,-0.000423911069846,-0.000746562634628,-0.000000615748625,-0.000299013057197,0.00000029573813,0.000000154633522,-0.000000013948844,0.000000039377048,0.000000038592513,-0.000000008855892,-0.000000002655521,0.005386359217701,0.005386359217701,0.002968982948403,0.002968982948403,0.001186128225779,0.001186128225779,0.005386359217701,0.002968982948403,0.001186128225779,1.279420230141218,0.705221596556013,0.2817406686536,0.000299004201305,1.279420230141218],[0.000850268505293,0.000279567246396,0.001544519676959,0.000002010435176,-0.00000038257809,-0.000850268021154,-0.000279567557786,-0.001544517399784,-0.000002009912169,-0.000852006897504,0.000000383031645,0.000000000484139,-0.00000000031139,0.000000002277175,0.000000000523008,0.00000000019246,0.000000000453555,0.003558897228044,0.003558897228044,0.006142033798965,0.006142033798965,0.003380007588235,0.003380007588235,0.003558897228044,0.006142033798965,0.003380007588235,0.845343751970722,1.458915378458763,0.802852151450902,0.000852007089965,1.458915378458763],[0.000000000018967,-0.000000000004912,0.000000000018957,-0.000000000004947,-0.000000015538021,-0.000000000018967,0.000000000004912,-0.000000000018957,0.000000000004947,-0.000051999434991,0.000000015552438,-2.72394207553589e-19,9.96449951414515e-19,-7.22363338789991e-19,-7.33603853320915e-19,0.000000000191141,0.000000000014417,0.000000000077865,0.000000000077865,0.000000000077865,0.000000000077865,0.000206300935664,0.000206300935664,0.000000000077865,0.000000000077865,0.000206300935664,0.000000018495283,0.000000018495281,0.049002597100964,0.000051999626132,0.049002597100964],[0.00000000001757,-0.000000000004575,0.000000000017561,-0.000000000004608,-0.000000014411344,-0.00000000001757,0.000000000004575,-0.000000000017561,0.000000000004608,-0.000047999591155,0.000000014413427,-4.59325994761623e-20,1.39981831511027e-19,-1.05895002859488e-19,-1.02902982339546e-19,0.000000000027623,0.000000000002084,0.000000000072154,0.000000000072154,0.000000000072154,0.000000000072154,0.000190430970101,0.000190430970101,0.000000000072154,0.000000000072154,0.000190430970101,0.000000017138834,0.000000017138822,0.045233009115312,0.000047999618777,0.045233009115312],[0.000045020091423,0.000014821603729,0.000000000019837,-0.000000000012273,-0.000000000012286,-0.000045020068269,-0.000014821601982,-0.000000000019837,0.000000000012273,-0.000000000019891,0.000000000012286,0.000000000023154,0.000000000001746,5.66862447073843e-20,1.48593707419132e-19,-1.58991564820553e-19,-2.63361091534129e-20,0.000188437489308,0.000188437489308,0.000000000092743,0.000000000092743,0.000000000092747,0.000000000092747,0.000188437489308,0.000000000092743,0.000000000092747,0.044759498242435,0.000000022029159,0.00000002203018,0.000000000019891,0.044759498242435],[0.000000000023698,-0.000000000006558,0.000000000023681,-0.000000000006613,-0.000000025005918,-0.000000000023698,0.000000000006558,-0.000000000023681,0.000000000006613,-0.000053000109253,0.000000025006957,-2.13760498572094e-20,8.7726580895381e-20,-5.8335135554455e-20,-7.58162390919836e-20,0.000000000013772,0.000000000001039,0.000000000097763,0.000000000097763,0.000000000097763,0.000000000097763,0.000210258457366,0.000210258457366,0.000000000097763,0.000000000097763,0.000210258457366,0.000000023221534,0.000000023221554,0.049942626000092,0.000053000123025,0.049942626000092],[0.000105051698388,0.000034593720944,0.000000000036195,-0.000000000032416,-0.000000000032465,-0.000105050943991,-0.00003459366404,-0.000000000036195,0.000000000032416,-0.000000000036312,0.000000000032465,0.000000000754398,0.000000000056903,2.35680959934394e-18,4.11121240648938e-18,-4.73056741211841e-18,-1.68705360011265e-20,0.000439823132222,0.000439823132222,0.00000000019322,0.00000000019322,0.000000000193222,0.000000000193222,0.000439823132222,0.00000000019322,0.000000000193222,0.104471051837607,0.000000045895473,0.000000045895975,0.000000000036312,0.104471051837607],[0.00128630026428,0.000423911203518,0.000746563543043,0.000000615879923,-0.00000029560567,-0.001286226055624,-0.000423917897567,-0.000746544645973,-0.000000597359362,-0.000299018217741,0.000000294331281,0.000000074208656,-0.000000006694048,0.00000001889707,0.000000018520561,-0.000000004249945,-0.000000001274389,0.005386362813911,0.005386362813911,0.002968986561481,0.002968986561481,0.001186131837429,0.001186131837429,0.005386362813911,0.002968986561481,0.001186131837429,1.279421084348008,0.705222454769296,0.281741526527661,0.000299013967796,1.279421084348008],[0.000850268029674,0.000279567559531,0.001544517408307,0.000002009913893,-0.00000038302991,-0.000850267615236,-0.00027956782609,-0.001544515458974,-0.000002009466183,-0.000852006741294,0.000000383418167,0.000000000414438,-0.000000000266559,0.000000001949333,0.000000000447711,0.000000000164752,0.000000000388257,0.003558897262393,0.003558897262393,0.006142033832866,0.006142033832866,0.00338000762212,0.00338000762212,0.003558897262393,0.006142033832866,0.00338000762212,0.845343760129576,1.458915386511407,0.802852159499564,0.000852006906047,1.458915386511407],[0.00000000001753,-0.000000000004545,0.000000000017521,-0.000000000004578,-0.000000014413398,-0.00000000001753,0.000000000004545,-0.000000000017521,0.000000000004578,-0.000047999496848,0.000000014420508,-1.36512653793438e-19,4.81576885051835e-19,-3.62209772501455e-19,-3.53456656311551e-19,0.000000000094266,0.00000000000711,0.000000000071971,0.000000000071971,0.000000000071971,0.000000000071971,0.000190430969942,0.000190430969942,0.000000000071971,0.000000000071971,0.000190430969942,0.000000017095314,0.000000017095315,0.04523300907762,0.000047999591115,0.04523300907762],[0.000045020068438,0.000014821602019,0.000000000020006,-0.000000000012236,-0.000000000012249,-0.000045020055243,-0.000014821601024,-0.000000000020006,0.000000000012236,-0.00000000002006,0.000000000012249,0.000000000013195,0.000000000000995,2.95304544968939e-20,8.86360877893093e-20,-9.31997805536708e-20,-1.6302834838148e-20,0.000188437489991,0.000188437489991,0.000000000093239,0.000000000093239,0.000000000093243,0.000000000093243,0.000188437489991,0.000000000093239,0.000000000093243,0.044759498404738,0.000000022146922,0.000000022148092,0.00000000002006,0.044759498404738],[0.000000000023637,-0.00000000000671,0.00000000002362,-0.000000000006765,-0.00000002500711,-0.000000000023637,0.00000000000671,-0.00000000002362,0.000000000006765,-0.000053000095529,0.00000002500814,-1.8664810303202e-20,9.38600516282471e-20,-6.79356393129898e-20,-5.68403200211694e-20,0.000000000013662,0.00000000000103,0.000000000097693,0.000000000097693,0.000000000097692,0.000000000097692,0.000210258457122,0.000210258457122,0.000000000097693,0.000000000097692,0.000210258457122,0.000000023204873,0.000000023204855,0.0499426259422,0.000053000109191,0.0499426259422],[0.000105050949592,0.00003459366442,0.000000000041797,-0.00000000003205,-0.000000000032094,-0.000105050686218,-0.000034593644554,-0.000000000041797,0.00000000003205,-0.000000000041928,0.000000000032094,0.000000000263375,0.000000000019866,7.76875067838641e-19,1.61849631518228e-18,-1.79321607311568e-18,-1.30978847807201e-19,0.000439823153852,0.000439823153852,0.000000000209455,0.000000000209455,0.000000000209457,0.000000000209457,0.000439823153852,0.000000000209455,0.000000000209457,0.104471056975444,0.000000049751835,0.000000049752347,0.000000000041928,0.104471056975444],[0.000000000025017,-0.000000000006941,0.000000000025,-0.000000000007008,-0.000000029343773,-0.000000000025017,0.000000000006941,-0.000000000025,0.000000000007008,-0.000049001455656,0.00000002937414,-7.67496707311017e-19,2.95464386878661e-18,-2.18609701772166e-18,-2.14514214560259e-18,0.000000000402592,0.000000000030367,0.000000000103257,0.000000000103257,0.000000000103257,0.000000000103257,0.000194378278569,0.000194378278569,0.000000000103257,0.000000000103257,0.000194378278569,0.000000024526609,0.000000024526603,0.046170612068285,0.000049001858248,0.046170612068285],[0.001286226890428,0.000423918031254,0.000746545481196,0.000000597490831,-0.000000264861915,-0.001286081946114,-0.000423932628844,-0.000746508376159,-0.00000056055622,-0.000250025149208,0.000000262706422,0.000000144944314,-0.000000014597591,0.000000037105037,0.000000036934611,-0.000000007927394,-0.000000002155493,0.005386366133742,0.005386366133742,0.002968989883554,0.002968989883554,0.000991756996217,0.000991756996217,0.005386366133742,0.002968989883554,0.000991756996217,1.279421872906417,0.705223243860337,0.235571730933741,0.000250017221814,1.279421872906417],[0.00085026762378,0.000279567828251,0.001544515467523,0.000002009468322,-0.000000383416015,-0.000850267152431,-0.000279568131414,-0.001544513250506,-0.000002008959132,-0.000852006562486,0.000000383857588,0.000000000471349,-0.000000000303163,0.000000002217016,0.000000000509191,0.000000000187376,0.000000000441573,0.00355889729735,0.00355889729735,0.006142033866871,0.006142033866871,0.003380007656104,0.003380007656104,0.00355889729735,0.006142033866871,0.003380007656104,0.845343768433035,1.458915394588668,0.802852167571888,0.000852006749862,1.458915394588668],[0.000045020055646,0.00001482160106,0.000000000020409,-0.000000000012201,-0.000000000012213,-0.000045019996037,-0.000014821596564,-0.000000000020409,0.000000000012201,-0.000000000020464,0.000000000012213,0.000000000059609,0.000000000004496,1.33147918937294e-19,4.05407895433863e-19,-4.14823826440286e-19,-7.41044825183589e-20,0.000188437491559,0.000188437491559,0.000000000094539,0.000000000094539,0.000000000094543,0.000000000094543,0.000188437491559,0.000000000094539,0.000000000094543,0.044759498777078,0.000000022455734,0.000000022456811,0.000000000020464,0.044759498777078],[0.00000000002369,-0.000000000006637,0.000000000023673,-0.000000000006692,-0.000000025008066,-0.00000000002369,0.000000000006637,-0.000000000023673,0.000000000006692,-0.000052999975563,0.000000025017119,-1.98901820917061e-19,7.7614244188648e-19,-5.61831314868445e-19,-5.63475571403822e-19,0.000000000120019,0.000000000009053,0.000000000097814,0.000000000097814,0.000000000097814,0.000000000097814,0.000210258457331,0.000210258457331,0.000000000097814,0.000000000097814,0.000210258457331,0.00000002323374,0.000000023233741,0.049942625991881,0.000053000095582,0.049942625991881],[0.000105050690852,0.000034593644861,0.000000000046432,-0.000000000031756,-0.000000000031794,-0.000105050117634,-0.000034593601624,-0.000000000046432,0.000000000031756,-0.000000000046574,0.000000000031794,0.000000000573218,0.000000000043237,1.59937992565694e-18,3.85031022564833e-18,-4.1389556047947e-18,-5.56155492310791e-19,0.000439823171736,0.000439823171736,0.000000000223697,0.000000000223697,0.0000000002237,0.0000000002237,0.000439823171736,0.000000000223697,0.0000000002237,0.104471061223518,0.000000053134793,0.00000005313531,0.000000000046574,0.104471061223518],[0.000000000025023,-0.00000000000694,0.000000000025006,-0.000000000007008,-0.00000002937414,-0.000000000025023,0.00000000000694,-0.000000000025006,0.000000000007008,-0.000049001296216,0.000000029386167,-3.04973032634068e-19,1.17991842871743e-18,-8.76409565544305e-19,-8.4252776459358e-19,0.000000000159446,0.000000000012027,0.00000000010328,0.00000000010328,0.00000000010328,0.00000000010328,0.000194378278593,0.000194378278593,0.00000000010328,0.00000000010328,0.000194378278593,0.000000024532119,0.000000024532114,0.046170612074155,0.000049001455662,0.046170612074155],[0.000000000324223,-0.000000000108689,0.00060365105213,0.000000440043014,-0.000000000109566,-0.000000000324223,0.000000000108689,-0.000603605279763,-0.00000043659047,-0.000000000324932,0.000000000109566,-2.78436639350462e-16,-2.4428503307363e-16,0.000000045772367,0.000000003452544,-7.22858554115892e-17,3.63323205763373e-16,0.000000001360187,0.000000001360187,0.002400822140942,0.002400822140942,0.000000001360185,0.000000001360185,0.000000001360187,0.002400822140942,0.000000001360185,0.000000323084793,0.570266536624208,0.000000323084403,0.000000000324932,0.570266536624208],[0.001286082284426,0.000423932840036,0.000142857986928,0.000000120613891,-0.000000262495241,-0.001286054816021,-0.000423929788305,-0.000142858085586,-0.000000119462105,-0.00025002638374,0.000000261182574,0.000000027468405,0.000000003051731,-0.000000000098658,0.000000001151786,-0.000000000894906,-0.000000001312668,0.005386367674776,0.005386367674776,0.000568170382425,0.000568170382425,0.00099175834251,0.00099175834251,0.005386367674776,0.000568170382425,0.00099175834251,1.279422238947767,0.134957334270099,0.235572050718126,0.000250025488834,1.279422238947767],[0.000850267158875,0.000279568133283,0.001544513256954,0.000002008960984,-0.000000383855726,-0.000850266787533,-0.000279568372123,-0.001544511510327,-0.00000200855983,-0.000852006421328,0.000000384203609,0.000000000371342,-0.00000000023884,0.000000001746627,0.000000000401155,0.00000000014762,0.000000000347883,0.003558897324011,0.003558897324011,0.00614203389252,0.00614203389252,0.003380007681735,0.003380007681735,0.003558897324011,0.00614203389252,0.003380007681735,0.845343774765673,1.45891540068102,0.802852173659922,0.000852006568948,1.45891540068102],[0.000045019996476,0.000014821596592,0.000000000020848,-0.000000000012173,-0.000000000012185,-0.000045019973278,-0.000014821594842,-0.000000000020848,0.000000000012173,-0.000000000020904,0.000000000012185,0.000000000023199,0.00000000000175,5.89089824108909e-20,1.52020527673244e-19,-1.60517587034917e-19,-3.48837590105968e-20,0.000188437493253,0.000188437493253,0.000000000095986,0.000000000095986,0.000000000095991,0.000000000095991,0.000188437493253,0.000000000095986,0.000000000095991,0.044759499179494,0.000000022799576,0.000000022800748,0.000000000020904,0.044759499179494],[0.000000000023687,-0.000000000006636,0.000000000023669,-0.000000000006691,-0.000000025017119,-0.000000000023687,0.000000000006636,-0.000000000023669,0.000000000006691,-0.000052999730225,0.000000025035624,-4.05366457239466e-19,1.57774643522112e-18,-1.16519247639221e-18,-1.13722129289289e-18,0.000000000245335,0.000000000018505,0.000000000097801,0.000000000097801,0.000000000097801,0.000000000097801,0.000210258457318,0.000210258457318,0.000000000097801,0.000000000097801,0.000210258457318,0.000000023230739,0.000000023230737,0.049942625988825,0.00005299997556,0.049942625988825],[0.000051024250169,0.000016802562482,0.000000000025848,-0.000000000015193,-0.000000000015208,-0.000051024139317,-0.00001680255412,-0.000000000025848,0.000000000015193,-0.000000000025924,0.000000000015208,0.000000000110852,0.000000000008361,2.82821032432322e-19,8.32516722372865e-19,-8.68936538009514e-19,-1.7173074402111e-19,0.00021362799287,0.00021362799287,0.00000000011923,0.00000000011923,0.00000000011923,0.00000000011923,0.00021362799287,0.00000000011923,0.00000000011923,0.050742990720818,0.000000028320608,0.00000002832061,0.000000000025924,0.050742990720818],[0.000054025871589,0.000017791039437,0.000000000024709,-0.000000000016278,-0.000000000016297,-0.000054025813115,-0.000017791035026,-0.000000000024709,0.000000000016278,-0.000000000024784,0.000000000016297,0.000000000058474,0.000000000004411,1.50634975913411e-19,4.03553154552128e-19,-4.2970988183489e-19,-6.02726607365184e-20,0.000226195194811,0.000226195194811,0.000000000117666,0.000000000117666,0.000000000117668,0.000000000117668,0.000226195194811,0.000000000117666,0.000000000117668,0.053728074290075,0.000000027949087,0.000000027949584,0.000000000024784,0.053728074290075],[0.000000000324559,-0.000000000108685,0.000603605280099,0.000000436590473,-0.000000000109562,-0.000000000324559,0.000000000108685,-0.000603582267828,-0.00000043485469,-0.000000000325269,0.000000000109562,-1.39884136297881e-16,-1.23022212436003e-16,0.000000023012271,0.000000001735783,-3.65856483664143e-17,1.82710901483216e-16,0.000000001361449,0.000000001361449,0.002400822142279,0.002400822142279,0.000000001361447,0.000000001361447,0.000000001361449,0.002400822142279,0.000000001361447,0.000000323384576,0.570266536941723,0.000000323384186,0.000000000325269,0.570266536941723],[0.001286054998041,0.000423929815205,0.000142858267706,0.000000119488504,-0.00000026115592,-0.00128603146566,-0.000423927200765,-0.000142858352228,-0.00000011850176,-0.000250027332991,0.000000260031347,0.000000023532381,0.00000000261444,-0.000000000084521,0.000000000986744,-0.000000000766672,-0.000000001124573,0.005386368395909,0.005386368395909,0.000568171106838,0.000568171106838,0.000991759066617,0.000991759066617,0.005386368395909,0.000568171106838,0.000991759066617,1.279422410238257,0.13495750633952,0.23557222271513,0.000250026566319,1.279422410238257],[0.000850266794299,0.000279568373806,0.001544511517096,0.000002008561496,-0.000000384201934,-0.000850266482968,-0.000279568574048,-0.001544510052733,-0.00000200822517,-0.000852006304348,0.000000384493597,0.000000000311331,-0.000000000200242,0.000000001464362,0.000000000336326,0.000000000123764,0.000000000291663,0.003558897351658,0.003558897351658,0.006142033919447,0.006142033919447,0.003380007708647,0.003380007708647,0.003558897351658,0.006142033919447,0.003380007708647,0.845343781332661,1.458915407076997,0.802852180052313,0.000852006428112,1.458915407076997],[0.000045019973434,0.000014821594927,0.000000000021005,-0.000000000012089,-0.000000000012101,-0.000045019965375,-0.000014821594319,-0.000000000021005,0.000000000012089,-0.000000000021061,0.000000000012101,0.000000000008059,0.000000000000608,2.21732677907772e-20,6.60610008601131e-20,-6.60648572666017e-20,-8.86421930930883e-21,0.000188437493948,0.000188437493948,0.000000000096357,0.000000000096357,0.00000000009636,0.00000000009636,0.000188437493948,0.000000000096357,0.00000000009636,0.044759499344603,0.000000022887561,0.00000002288836,0.000000000021061,0.044759499344603],[0.000051024140834,0.000016802554216,0.000000000027365,-0.000000000015102,-0.000000000015115,-0.000051023974966,-0.000016802541704,-0.000000000027365,0.000000000015102,-0.000000000027445,0.000000000015115,0.000000000165868,0.000000000012511,3.97946883020587e-19,1.31772151496261e-18,-1.32929159392077e-18,-3.08336878917289e-19,0.000213627998719,0.000213627998719,0.000000000124293,0.000000000124293,0.000000000124293,0.000000000124293,0.000213627998719,0.000000000124293,0.000000000124293,0.050742992110055,0.00000002952338,0.000000029523375,0.000000000027445,0.050742992110055],[0.000054025813464,0.000017791035073,0.000000000025058,-0.000000000016232,-0.00000000001625,-0.000054025805322,-0.000017791034459,-0.000000000025058,0.000000000016232,-0.000000000025134,0.00000000001625,0.000000000008142,0.000000000000614,2.63842148759117e-20,5.63601222885367e-20,-6.6052649890218e-20,-1.107016783132e-20,0.000226195196188,0.000226195196188,0.000000000118728,0.000000000118728,0.00000000011873,0.00000000011873,0.000226195196188,0.000000000118728,0.00000000011873,0.053728074617233,0.000000028201476,0.000000028201809,0.000000000025134,0.053728074617233],[0.000000000324689,-0.000000000108657,0.000603582267958,0.000000434854717,-0.000000000109535,-0.000000000324689,0.000000000108657,-0.00060358012644,-0.000000434693186,-0.000000000325399,0.000000000109535,-1.30604088202311e-17,-1.14715999267605e-17,0.000000002141518,0.000000000161532,-3.37170036313672e-18,1.69088706784889e-17,0.000000001361904,0.000000001361904,0.002400822142795,0.002400822142795,0.000000001361902,0.000000001361902,0.000000001361904,0.002400822142795,0.000000001361902,0.000000323492661,0.570266537064497,0.000000323492214,0.000000000325399,0.570266537064497],[0.001286031608717,0.000423927221958,0.000142858495366,0.000000118522558,-0.000000260010347,-0.001286015055878,-0.000423925382943,-0.000142858554819,-0.000000117828475,-0.000250028015773,0.000000259219315,0.000000016552839,0.000000001839015,-0.000000000059453,0.000000000694083,-0.000000000539283,-0.000000000791032,0.00538636896275,0.00538636896275,0.000568171676193,0.000568171676193,0.000991759635732,0.000991759635732,0.00538636896275,0.000568171676193,0.000991759635732,1.279422544879679,0.134957641578267,0.235572357896795,0.00025002747649,1.279422544879679],[0.000850266487956,0.000279568575253,0.001544510057723,0.000002008226363,-0.000000384492398,-0.000850266207037,-0.000279568755935,-0.001544508736405,-0.00000200792289,-0.000852006197675,0.000000384755571,0.000000000280919,-0.000000000180682,0.000000001321318,0.000000000303472,0.000000000111674,0.000000000263173,0.003558897371994,0.003558897371994,0.006142033939297,0.006142033939297,0.003380007728485,0.003380007728485,0.003558897371994,0.006142033939297,0.003380007728485,0.845343786163044,1.458915411791982,0.80285218476462,0.00085200630935,1.458915411791982],[0.000045019965495,0.00001482159425,0.000000000021125,-0.000000000012159,-0.000000000012171,-0.000045019959424,-0.000014821593792,-0.000000000021125,0.000000000012159,-0.000000000021182,0.000000000012171,0.000000000006072,0.000000000000458,9.03988532955124e-21,3.06422482480634e-20,-4.60267752813712e-20,-5.61574856566811e-21,0.000188437494318,0.000188437494318,0.000000000096912,0.000000000096912,0.000000000096915,0.000000000096915,0.000188437494318,0.000000000096912,0.000000000096915,0.04475949943246,0.000000023019378,0.000000023020112,0.000000000021182,0.04475949943246],[0.000054025805455,0.000017791034597,0.000000000025192,-0.000000000016094,-0.000000000016112,-0.000054025796612,-0.00001779103393,-0.000000000025192,0.000000000016094,-0.000000000025268,0.000000000016112,0.000000000008843,0.000000000000667,1.81935338427227e-20,6.10824091638967e-20,-7.40545915720772e-20,-1.75448045226309e-20,0.000226195196863,0.000226195196863,0.000000000118879,0.000000000118879,0.00000000011888,0.00000000011888,0.000226195196863,0.000000000118879,0.00000000011888,0.053728074777436,0.0000000282372,0.000000028237532,0.000000000025268,0.053728074777436],[0.00000000032477,-0.000000000108704,0.000603580126521,0.000000434693139,-0.000000000109582,-0.00000000032477,0.000000000108704,-0.000603579242101,-0.000000434626429,-0.00000000032548,0.000000000109582,-5.48715108683392e-18,-4.70425229590421e-18,0.00000000088442,0.000000000066711,-1.23963401077638e-18,7.13946388962587e-18,0.000000001362267,0.000000001362267,0.002400822143115,0.002400822143115,0.000000001362265,0.000000001362265,0.000000001362267,0.002400822143115,0.000000001362265,0.000000323578763,0.570266537140461,0.000000323578274,0.00000000032548,0.570266537140461],[0.001286015189633,0.000423925402587,0.000142858688652,0.000000117847749,-0.000000259199851,-0.001285994274772,-0.000423923078953,-0.000142858763771,-0.00000011697076,-0.000250028831336,0.000000258200364,0.000000020914861,0.000000002323634,-0.00000000007512,0.000000000876989,-0.000000000681395,-0.000000000999487,0.005386369492524,0.005386369492524,0.000568172208529,0.000568172208529,0.000991760167845,0.000991760167845,0.005386369492524,0.000568172208529,0.000991760167845,1.27942267071676,0.134957768023883,0.235572484289564,0.000250028149942,1.27942267071676],[0.00085026621285,0.000279568755591,0.001544508742216,0.000002007922532,-0.000000384755925,-0.000850265980351,-0.00027956890513,-0.001544507648647,-0.000002007671368,-0.000852006111076,0.000000384973736,0.000000000232498,-0.000000000149539,0.00000000109357,0.000000000251164,0.000000000092425,0.000000000217811,0.003558897393522,0.003558897393522,0.006142033962405,0.006142033962405,0.003380007751597,0.003380007751597,0.003558897393522,0.006142033962405,0.003380007751597,0.845343791276751,1.45891541728073,0.80285219025423,0.000852006203501,1.45891541728073],[0.000045019959615,0.000014821593843,0.000000000021316,-0.000000000012109,-0.00000000001212,-0.000045019955172,-0.000014821593508,-0.000000000021316,0.000000000012109,-0.000000000021373,0.00000000001212,0.000000000004442,0.000000000000335,9.32736613533037e-21,3.50248724688067e-20,-3.05294948064019e-20,-7.39557951876654e-21,0.000188437495102,0.000188437495102,0.00000000009747,0.00000000009747,0.000000000097472,0.000000000097472,0.000188437495102,0.00000000009747,0.000000000097472,0.044759499618649,0.000000023152019,0.000000023152466,0.000000000021373,0.044759499618649],[0.000054025796733,0.00001779103386,0.000000000025313,-0.000000000016164,-0.000000000016182,-0.000054025788988,-0.000017791033276,-0.000000000025313,0.000000000016164,-0.000000000025389,0.000000000016182,0.000000000007746,0.000000000000584,1.63156981429081e-20,5.83699029895764e-20,-4.25040618529264e-20,-1.3094420961905e-20,0.000226195197232,0.000226195197232,0.000000000119433,0.000000000119433,0.000000000119434,0.000000000119434,0.000226195197232,0.000000000119433,0.000000000119434,0.053728074865288,0.000000028368845,0.000000028369157,0.000000000025389,0.053728074865288],[0.000000000324505,-0.000000000108604,0.000603579241836,0.000000434626528,-0.000000000109482,-0.000000000324505,0.000000000108604,-0.000603578617786,-0.000000434579457,-0.000000000325214,0.000000000109482,-3.6416617678853e-18,-3.36226707910889e-18,0.00000000062405,0.000000000047071,-1.0719193675697e-18,4.79251854187124e-18,0.000000001361143,0.000000001361143,0.002400822142063,0.002400822142063,0.00000000136114,0.00000000136114,0.000000001361143,0.002400822142063,0.00000000136114,0.000000323311846,0.570266536890598,0.000000323311094,0.000000000325214,0.570266536890598],[0.001285994396132,0.000423923096966,0.000142858885205,0.000000116988435,-0.000000258182515,-0.001285981291051,-0.000423921640996,-0.000142858932274,-0.00000011643892,-0.000250029380031,0.000000257556244,0.000000013105081,0.00000000145597,-0.000000000047069,0.000000000549515,-0.000000000426956,-0.00000000062627,0.005386369973447,0.005386369973447,0.000568172691545,0.000568172691545,0.000991760650658,0.000991760650658,0.005386369973447,0.000568172691545,0.000991760650658,1.27942278495036,0.134957882754631,0.235572598971767,0.000250028953075,1.27942278495036],[0.000850265984006,0.000279568907747,0.001544507652307,0.000002007673975,-0.000000384971119,-0.000850265714294,-0.000279569081221,-0.001544506383702,-0.00000200738261,-0.000852006007524,0.000000385223793,0.000000000269712,-0.000000000173474,0.000000001268605,0.000000000291366,0.000000000107219,0.000000000252674,0.003558897410577,0.003558897410577,0.006142033976975,0.006142033976975,0.003380007766142,0.003380007766142,0.003558897410577,0.006142033976975,0.003380007766142,0.845343795327716,1.458915420741624,0.802852193709258,0.000852006114743,1.458915420741624],[0.000045019955104,0.000014821593762,0.000000000021248,-0.000000000011854,-0.000000000011865,-0.000045019952848,-0.000014821593592,-0.000000000021248,0.000000000011854,-0.000000000021305,0.000000000011865,0.000000000002256,0.00000000000017,-1.96295129237662e-21,1.65706070964808e-20,-9.98598931103011e-21,1.01025248421721e-21,0.00018843749516,0.00018843749516,0.000000000096739,0.000000000096739,0.000000000096742,0.000000000096742,0.00018843749516,0.000000000096739,0.000000000096742,0.044759499632329,0.000000022978479,0.000000022979092,0.000000000021305,0.044759499632329],[0.000054025788981,0.000017791033172,0.000000000025306,-0.000000000016268,-0.000000000016286,-0.000054025780752,-0.000017791032552,-0.000000000025306,0.000000000016268,-0.000000000025383,0.000000000016286,0.00000000000823,0.000000000000621,3.67668275971381e-20,6.74696490536126e-20,-6.90077526285637e-20,-9.58244795672641e-21,0.00022619519708,0.00022619519708,0.000000000119634,0.000000000119634,0.000000000119636,0.000000000119636,0.00022619519708,0.000000000119634,0.000000000119636,0.053728074829053,0.000000028416557,0.000000028417019,0.000000000025383,0.053728074829053],[0.000000000324701,-0.00000000010845,0.000603578617983,0.000000434579611,-0.000000000109327,-0.000000000324701,0.00000000010845,-0.000603577979677,-0.000000434531465,-0.000000000325412,0.000000000109327,-4.04210786403562e-18,-3.38702516352927e-18,0.000000000638306,0.000000000048147,-9.88493291408845e-19,5.18040824311816e-18,0.000000001361689,0.000000001361689,0.002400822142847,0.002400822142847,0.000000001361686,0.000000001361686,0.000000001361689,0.002400822142847,0.000000001361686,0.00000032344152,0.570266537076742,0.000000323440968,0.000000000325412,0.570266537076742],[0.001285981409722,0.000423921658532,0.000142859051017,0.000000116456127,-0.000000257538868,-0.001285961285458,-0.000423919422733,-0.000142859123298,-0.000000115612287,-0.000250030154711,0.000000256577162,0.000000020124264,0.000000002235799,-0.00000000007228,0.00000000084384,-0.000000000655638,-0.000000000961706,0.005386370443621,0.005386370443621,0.000568173163861,0.000568173163861,0.000991761122774,0.000991761122774,0.005386370443621,0.000568173163861,0.000991761122774,1.279422896630605,0.13495799494365,0.235572711113531,0.000250029499073,1.279422896630605],[0.000850265720615,0.000279569081013,0.001544506390022,0.000002007382387,-0.000000385224011,-0.000850265424183,-0.000279569271673,-0.001544504995736,-0.000002007062156,-0.000852005896018,0.000000385501717,0.000000000296432,-0.00000000019066,0.000000001394286,0.000000000320231,0.000000000117841,0.000000000277706,0.003558897434195,0.003558897434195,0.006142034002105,0.006142034002105,0.003380007791274,0.003380007791274,0.003558897434195,0.006142034002105,0.003380007791274,0.845343800937679,1.45891542671066,0.802852199678788,0.000852006013859,1.45891542671066],[0.000045019952802,0.000014821593511,0.000000000021202,-0.000000000011935,-0.000000000011946,-0.000045019949486,-0.000014821593261,-0.000000000021202,0.000000000011935,-0.000000000021258,0.000000000011946,0.000000000003316,0.00000000000025,5.37355589842627e-21,2.6216159886657e-20,-2.56241425217263e-20,-1.3983960006652e-20,0.000188437494885,0.000188437494885,0.000000000096735,0.000000000096735,0.000000000096736,0.000000000096736,0.000188437494885,0.000000000096735,0.000000000096736,0.04475949956704,0.000000022977336,0.000000022977652,0.000000000021258,0.04475949956704],[0.000054025781,0.000017791032704,0.000000000025555,-0.000000000016117,-0.000000000016135,-0.000054025769255,-0.000017791031818,-0.000000000025555,0.000000000016117,-0.000000000025632,0.000000000016135,0.000000000011746,0.000000000000886,2.78569711824711e-20,8.3044312921121e-20,-8.03895187503976e-20,-7.70057652025132e-21,0.000226195198209,0.000226195198209,0.000000000120147,0.000000000120147,0.000000000120146,0.000000000120146,0.000226195198209,0.000000000120147,0.000000000120146,0.053728075097174,0.000000028538425,0.00000002853831,0.000000000025632,0.053728075097174],[0.000000000324545,-0.000000000108628,0.00060357797952,0.000000434531287,-0.000000000109506,-0.000000000324545,0.000000000108628,-0.000603577226364,-0.000000434474478,-0.000000000325255,0.000000000109506,-4.44804018389991e-18,-3.94681598538526e-18,0.000000000753156,0.000000000056809,-1.1399412727733e-18,5.9279888646596e-18,0.000000001361324,0.000000001361324,0.002400822142222,0.002400822142222,0.000000001361323,0.000000001361323,0.000000001361324,0.002400822142222,0.000000001361323,0.000000323354789,0.570266536928372,0.000000323354563,0.000000000325255,0.570266536928372],[0.001285961428906,0.000423919443898,0.000142859266836,0.000000115633052,-0.000000256556189,-0.001285941367372,-0.000423917215068,-0.000142859338891,-0.000000114791842,-0.000250030952204,0.00000025559748,0.000000020061534,0.000000002228829,-0.000000000072055,0.00000000084121,-0.000000000653594,-0.000000000958709,0.005386371011933,0.005386371011933,0.000568173734804,0.000568173734804,0.000991761693477,0.000991761693477,0.005386371011933,0.000568173734804,0.000991761693477,1.279423031621701,0.134958130559452,0.235572846672344,0.000250030298611,1.279423031621701],[0.00085026544126,0.000279569276162,0.001544505012822,0.000002007066603,-0.000000385497247,-0.000850263825216,-0.000279570315573,-0.001544497411668,-0.000002005320816,-0.000852005270714,0.000000387011202,0.000000001616044,-0.000000001039411,0.000000007601154,0.000000001745787,0.000000000642428,0.000000001513955,0.003558897504276,0.003558897504276,0.006142034070075,0.006142034070075,0.0033800078592,0.0033800078592,0.003558897504276,0.006142034070075,0.0033800078592,0.845343817584125,1.458915442855589,0.802852215813246,0.000852005913142,1.458915442855589],[0.000045019949404,0.000014821592933,0.000000000021119,-0.000000000012263,-0.000000000012275,-0.000045019943844,-0.000014821592514,-0.000000000021119,0.000000000012263,-0.000000000021175,0.000000000012275,0.000000000005559,0.000000000000419,1.48696022552321e-20,3.44908094455429e-20,-3.0105968639252e-20,-1.04567520148008e-20,0.000188437494167,0.000188437494167,0.000000000097098,0.000000000097098,0.000000000097098,0.000000000097098,0.000188437494167,0.000000000097098,0.000000000097098,0.044759499396624,0.000000023063564,0.000000023063592,0.000000000021175,0.044759499396624],[0.000054025769232,0.000017791031777,0.000000000025532,-0.000000000016157,-0.000000000016175,-0.000054025754953,-0.0000177910307,-0.000000000025532,0.000000000016157,-0.000000000025608,0.000000000016175,0.000000000014279,0.000000000001077,3.08777119948926e-20,9.48937527441256e-20,-1.06215890776022e-19,-2.39720269627363e-20,0.000226195198071,0.000226195198071,0.000000000120153,0.000000000120153,0.000000000120154,0.000000000120154,0.000226195198071,0.000000000120153,0.000000000120154,0.053728075064364,0.000000028539977,0.000000028540084,0.000000000025608,0.053728075064364],[0.000000000324735,-0.000000000108577,0.000603577226555,0.000000434474529,-0.000000000109454,-0.000000000324736,0.000000000108577,-0.000603576276503,-0.000000434402867,-0.000000000325446,0.000000000109454,-5.9165520199412e-18,-5.16317967362111e-18,0.000000000950052,0.000000000071661,-1.50998455230438e-18,7.54988604245751e-18,0.000000001361978,0.000000001361978,0.002400822142981,0.002400822142981,0.000000001361976,0.000000001361976,0.000000001361978,0.002400822142981,0.000000001361976,0.00000032351013,0.570266537108535,0.000000323509683,0.000000000325446,0.570266537108535],[0.001285941519252,0.000423917237558,0.000142859490869,0.000000114813907,-0.000000255575193,-0.001285919009582,-0.000423914736741,-0.000142859571717,-0.000000113870042,-0.000250031837917,0.000000254499492,0.00000002250967,0.000000002500816,-0.000000000080848,0.000000000943865,-0.000000000733353,-0.000000001075702,0.005386371613757,0.005386371613757,0.000568174339313,0.000568174339313,0.000991762297731,0.000991762297731,0.005386371613757,0.000568174339313,0.000991762297731,1.279423174572584,0.134958274148391,0.235572990200704,0.000250031104565,1.279423174572584],[0.000850263925478,0.00027957035591,0.001544497512015,0.000002005360904,-0.000000359480074,-0.000850251266024,-0.000279578612508,-0.001544439689442,-0.000001991240218,-0.000798001720455,0.000000369978195,0.000000012659454,-0.000000008256597,0.000000057822573,0.000000014120685,0.000000003278946,0.000000010498121,0.003558897933092,0.003558897933092,0.006142034469337,0.006142034469337,0.0031657822525,0.0031657822525,0.003558897933092,0.006142034469337,0.0031657822525,0.84534391944055,1.458915537692158,0.751967274065356,0.0007980049994,1.458915537692158],[0.000000000024718,-0.00000000000723,0.000000000024697,-0.00000000000729,-0.000000027498156,-0.000000000024718,0.00000000000723,-0.000000000024697,0.00000000000729,-0.000054000321063,0.000000027503856,-1.26241439036268e-19,5.00299273264902e-19,-3.76306384167779e-19,-3.57662691204004e-19,0.000000000075574,0.0000000000057,0.000000000102404,0.000000000102404,0.000000000102405,0.000000000102405,0.000214226104157,0.000214226104157,0.000000000102404,0.000000000102405,0.000214226104157,0.000000024323891,0.00000002432411,0.050885059908721,0.000054000396637,0.050885059908721],[0.000045019944103,0.000014821592753,0.000000000021379,-0.000000000012024,-0.000000000012035,-0.000045019919305,-0.000014821590883,-0.000000000021379,0.000000000012024,-0.000000000021435,0.000000000012035,0.000000000024798,0.00000000000187,5.00021600688613e-20,1.72041124158925e-19,-1.75530834373398e-19,-4.04742010193997e-20,0.000188437495444,0.000188437495444,0.000000000097522,0.000000000097522,0.000000000097522,0.000000000097522,0.000188437495444,0.000000000097522,0.000000000097522,0.044759499699801,0.000000023164303,0.000000023164287,0.000000000021435,0.044759499699801],[0.000054025755576,0.000017791030687,0.000000000026155,-0.000000000016172,-0.000000000016189,-0.000054025667071,-0.000017791024011,-0.000000000026155,0.000000000016172,-0.000000000026233,0.000000000016189,0.000000000088505,0.000000000006676,2.25752943705842e-19,6.57281000838866e-19,-6.76085885777751e-19,-1.25797869895135e-19,0.000226195200407,0.000226195200407,0.000000000122285,0.000000000122285,0.000000000122285,0.000000000122285,0.000226195200407,0.000000000122285,0.000000000122285,0.053728075619233,0.000000029046271,0.000000029046248,0.000000000026233,0.053728075619233],[0.000000000324706,-0.000000000108721,0.000603576276473,0.000000434402723,-0.000000000109599,-0.000000000324706,0.000000000108721,-0.000603575425609,-0.000000434338544,-0.000000000325416,0.000000000109599,-5.17977289085953e-18,-4.51970928352061e-18,0.000000000850864,0.000000000064179,-1.32215184262465e-18,6.81723175289793e-18,0.000000001362049,0.000000001362049,0.002400822142862,0.002400822142862,0.000000001362047,0.000000001362047,0.000000001362049,0.002400822142862,0.000000001362047,0.000000323527034,0.570266537080341,0.000000323526591,0.000000000325416,0.570266537080341],[0.001285919148167,0.000423914757246,0.000142859710394,0.000000113890159,-0.000000254479172,-0.001285902859374,-0.000423912947567,-0.000142859768899,-0.000000113207144,-0.000250032507623,0.000000253700756,0.000000016288792,0.000000001809679,-0.000000000058505,0.000000000683014,-0.00000000053068,-0.000000000778416,0.005386372162887,0.005386372162887,0.000568174890915,0.000568174890915,0.000991762849101,0.000991762849101,0.005386372162887,0.000568174890915,0.000991762849101,1.279423305007373,0.134958405170249,0.235573121167343,0.000250031976943,1.279423305007373],[0.000850251482168,0.00027957866808,0.00154443990569,0.000001991295248,-0.000000369922865,-0.000850239357285,-0.000279586576024,-0.001544384524805,-0.00000197777084,-0.000797998796704,0.00000037997768,0.000000012124883,-0.000000007907943,0.000000055380885,0.000000013524409,0.000000003140487,0.000000010054815,0.003558898818557,0.003558898818557,0.006142035329608,0.006142035329608,0.003165783112221,0.003165783112221,0.003558898818557,0.006142035329608,0.003165783112221,0.845344129764756,1.458915742031974,0.751967478274618,0.000798001937191,1.458915742031974],[0.000000000024998,-0.000000000007318,0.000000000024977,-0.000000000007378,-0.000000027503944,-0.000000000024998,0.000000000007318,-0.000000000024977,0.000000000007378,-0.000053999857309,0.000000027538946,-7.45917820489147e-19,3.11584243629978e-18,-2.32402746554736e-18,-2.21298381428994e-18,0.000000000464035,0.000000000035001,0.000000000103569,0.000000000103569,0.00000000010357,0.00000000010357,0.000214226105271,0.000214226105271,0.000000000103569,0.00000000010357,0.000214226105271,0.000000024600827,0.000000024600919,0.050885060173299,0.000054000321343,0.050885060173299],[-0.000000000000263,0.000000000000078,-0.000000000000263,0.000000000000079,0.000000000000079,0.000000000000263,-0.000000000000078,0.000000000000263,-0.000000000000079,0.000000000000264,-0.000000000000079,1.9185097214975e-27,2.01948391736579e-28,1.9185097214975e-27,1.76704842769507e-28,1.9185097214975e-27,1.76704842769507e-28,0.000000000001093,0.000000000001093,0.000000000001092,0.000000000001092,0.000000000001094,0.000000000001094,0.000000000001093,0.000000000001092,0.000000000001094,0.000000000259601,0.000000000259469,0.000000000259899,-0.000000000000264,0.000000000259899],[0.000045019919956,0.000014821590917,0.000000000022029,-0.000000000011991,-0.000000000012002,-0.0000450198288,-0.000014821584042,-0.000000000022029,0.000000000011991,-0.000000000022087,0.000000000012002,0.000000000091156,0.000000000006876,2.0657469334914e-19,6.5974606368776e-19,-6.80916594705666e-19,-1.58285732573214e-19,0.000188437497943,0.000188437497943,0.000000000099722,0.000000000099722,0.000000000099722,0.000000000099722,0.000188437497943,0.000000000099722,0.000000000099722,0.044759500293434,0.000000023686859,0.00000002368686,0.000000000022087,0.044759500293434],[0.000054025669229,0.000017791024153,0.000000000028313,-0.000000000016036,-0.000000000016051,-0.000054025366389,-0.00001779100131,-0.000000000028313,0.000000000016036,-0.000000000028396,0.000000000016051,0.00000000030284,0.000000000022843,7.55799484876593e-19,2.36019759865481e-18,-2.42835849605071e-18,-5.26012433022119e-19,0.000226195208733,0.000226195208733,0.000000000129395,0.000000000129395,0.000000000129395,0.000000000129395,0.000226195208733,0.000000000129395,0.000000000129395,0.053728077597074,0.000000030735078,0.000000030735083,0.000000000028396,0.053728077597074],[0.000000000324666,-0.000000000108698,0.000603575425568,0.000000434338568,-0.000000000109576,-0.000000000324666,0.000000000108698,-0.000603574752301,-0.000000434287784,-0.000000000325376,0.000000000109576,-4.02144163531038e-18,-3.61348427390899e-18,0.000000000673267,0.000000000050784,-1.09522828325568e-18,5.29568516725931e-18,0.000000001361867,0.000000001361867,0.002400822142701,0.002400822142701,0.000000001361867,0.000000001361867,0.000000001361867,0.002400822142701,0.000000001361867,0.000000323483943,0.570266537042148,0.000000323483921,0.000000000325376,0.570266537042148],[0.001285902986785,0.000423912966367,0.000142859896395,0.000000113225587,-0.000000253682124,-0.001285883572037,-0.000423910809396,-0.000142859966127,-0.000000112411496,-0.000250033267962,0.000000252754323,0.000000019414748,0.000000002156971,-0.000000000069732,0.000000000814091,-0.000000000632522,-0.000000000927801,0.005386372667683,0.005386372667683,0.000568175398046,0.000568175398046,0.000991763356019,0.000991763356019,0.005386372667683,0.000568175398046,0.000991763356019,1.27942342491136,0.134958525628885,0.235573241575342,0.000250032635441,1.27942342491136],[0.000850239467231,0.000279586604458,0.001544384634802,0.000001977798995,-0.000000379949372,-0.000850238927466,-0.000279586956497,-0.001544382169401,-0.000001977196926,-0.000797998767147,0.000000380396983,0.000000000539766,-0.000000000352039,0.000000002465401,0.000000000602068,0.000000000139806,0.000000000447612,0.003558899269177,0.003558899269177,0.00614203576721,0.00614203576721,0.003165783549542,0.003165783549542,0.003558899269177,0.00614203576721,0.003165783549542,0.845344236800398,1.458915845975475,0.751967582151249,0.000797998906953,1.458915845975475],[0.000000000025,-0.000000000007317,0.000000000024979,-0.000000000007378,-0.000000027538945,-0.000000000025,0.000000000007317,-0.000000000024979,0.000000000007378,-0.000053999687718,0.000000027551737,-2.77022428483665e-19,1.14310812243934e-18,-8.42038201302332e-19,-8.12509532029221e-19,0.000000000169593,0.000000000012792,0.000000000103576,0.000000000103576,0.000000000103577,0.000000000103577,0.000214226105279,0.000214226105279,0.000000000103576,0.000000000103577,0.000214226105279,0.000000024602483,0.000000024602571,0.05088506017518,0.000053999857311,0.05088506017518],[-0.000000000000272,0.000000000000079,-0.000000000000271,0.000000000000079,0.000000000000079,0.000000000000272,-0.000000000000079,0.000000000000271,-0.000000000000079,0.000000000000272,-0.000000000000079,1.14605712310509e-26,8.70902439363997e-28,1.14100841331167e-26,8.70902439363997e-28,1.14100841331167e-26,8.70902439363997e-28,0.000000000001124,0.000000000001124,0.000000000001124,0.000000000001124,0.000000000001126,0.000000000001126,0.000000000001124,0.000000000001124,0.000000000001126,0.000000000267074,0.000000000266944,0.000000000267384,-0.000000000000272,0.000000000267384],[0.000000000324539,-0.000000000108545,0.000603574752175,0.000000434287938,-0.000000000109422,-0.000000000324539,0.000000000108545,-0.000603573596686,-0.000000434200781,-0.00000000032525,0.000000000109422,-7.03535164193219e-18,-6.20613414881954e-18,0.000000001155489,0.000000000087157,-1.94390168476104e-18,9.23212242702599e-18,0.000000001361198,0.000000001361198,0.002400822142201,0.002400822142201,0.000000001361197,0.000000001361197,0.000000001361198,0.002400822142201,0.000000001361197,0.000000323324853,0.570266536923318,0.000000323324728,0.00000000032525,0.570266536923318],[0.001285883741944,0.000423910834491,0.000142860136152,0.000000112436113,-0.000000252729453,-0.001285855571438,-0.000423907704758,-0.000142860237333,-0.000000111254878,-0.000250034356195,0.000000251383227,0.000000028170506,0.000000003129733,-0.00000000010118,0.000000001181235,-0.000000000917779,-0.000000001346226,0.00538637334089,0.00538637334089,0.000568176074338,0.000568176074338,0.000991764032026,0.000991764032026,0.00538637334089,0.000568176074338,0.000991764032026,1.27942358481795,0.134958686268275,0.235573402147143,0.000250033438416,1.27942358481795],[0.000000000085038,-0.000000000025529,0.000000000084959,-0.000000000025735,-0.000000093825591,-0.000000000085038,0.000000000025529,-0.000000000084959,0.000000000025735,-0.000183002228039,0.000000094013913,-3.97270052177888e-18,1.68729253963364e-17,-1.26392092019515e-17,-1.19091999064111e-17,0.000000002496699,0.000000000188322,0.000000000353045,0.000000000353045,0.000000000353044,0.000000000353044,0.00072600783514,0.00072600783514,0.000000000353045,0.000000000353044,0.00072600783514,0.000000083858726,0.000000083858328,0.172448415335263,0.000183004724737,0.172448415335263],[0.000850238930809,0.000279587007578,0.001544382172872,0.000001977247989,-0.000000286545935,-0.00085022776379,-0.000279594581921,-0.001544335553267,-0.000001963658713,-0.000614994718448,0.000000292485316,0.00000001116702,-0.000000007574343,0.000000046619605,0.000000013589277,-0.000000000587408,0.00000000593938,0.003558899345255,0.003558899345255,0.006142035781272,0.006142035781272,0.002439776066575,0.002439776066575,0.003558899345255,0.006142035781272,0.002439776066575,0.845344254871193,1.458915849315601,0.57951925046741,0.00061499413104,1.458915849315601],[0.000000000025043,-0.00000000000733,0.000000000025022,-0.000000000007391,-0.000000027551751,-0.000000000025043,0.00000000000733,-0.000000000025022,0.000000000007391,-0.000053999670498,0.000000027553053,-3.32213796265453e-20,1.07219551664733e-19,-8.28004271185629e-20,-8.42153906421687e-20,0.000000000017262,0.000000000001302,0.000000000103754,0.000000000103754,0.000000000103755,0.000000000103755,0.000214226105449,0.000214226105449,0.000000000103754,0.000000000103755,0.000214226105449,0.000000024644745,0.000000024644834,0.050885060215668,0.000053999687761,0.050885060215668],[-0.000000000000278,0.000000000000053,-0.000000000000278,0.000000000000053,0.000000000000054,0.000000000000278,-0.000000000000053,0.000000000000278,-0.000000000000053,0.000000000000279,-0.000000000000054,7.57306469012171e-28,5.67979851759128e-29,7.57306469012171e-28,1.0097419586829e-28,8.07793566946316e-28,9.46633086265214e-29,0.000000000001125,0.000000000001125,0.000000000001125,0.000000000001125,0.000000000001127,0.000000000001127,0.000000000001125,0.000000000001125,0.000000000001127,0.000000000267297,0.000000000267226,0.000000000267605,-0.000000000000279,0.000000000267605],[0.000000000324676,-0.00000000010861,0.000603573596823,0.000000434200715,-0.000000000109487,-0.000000000324676,0.00000000010861,-0.000603569563136,-0.00000043389646,-0.000000000325387,0.000000000109487,-2.45770053819111e-17,-2.15287064916204e-17,0.000000004033687,0.000000000304255,-6.32350890639171e-18,3.20515827042033e-17,0.000000001361796,0.000000001361796,0.002400822142744,0.002400822142744,0.000000001361796,0.000000001361796,0.000000001361796,0.002400822142744,0.000000001361796,0.000000323466902,0.570266537052224,0.000000323466909,0.000000000325387,0.570266537052224],[0.001285855746478,0.000423907730623,0.000142860412498,0.000000111280249,-0.000000251357593,-0.001285834861484,-0.000423905410308,-0.000142860487511,-0.000000110404506,-0.000250035212223,0.00000025035953,0.000000020884994,0.000000002320315,-0.000000000075013,0.000000000875743,-0.000000000680421,-0.000000000998063,0.005386374034461,0.005386374034461,0.000568176771074,0.000568176771074,0.000991764728469,0.000991764728469,0.005386374034461,0.000568176771074,0.000991764728469,1.279423749561625,0.134958851763798,0.235573567573072,0.000250034531802,1.279423749561625],[0.000000000085032,-0.00000000002554,0.000000000084952,-0.000000000025746,-0.000000094013924,-0.000000000085032,0.00000000002554,-0.000000000084952,0.000000000025746,-0.00018300199927,0.000000094031179,-3.65549090940809e-19,1.58386617265555e-18,-1.1902290718786e-18,-1.04363207829177e-18,0.000000000228762,0.000000000017255,0.000000000353033,0.000000000353033,0.000000000353032,0.000000000353032,0.000726007835114,0.000726007835114,0.000000000353033,0.000000000353032,0.000726007835114,0.000000083855902,0.000000083855508,0.172448415329068,0.000183002228032,0.172448415329068],[0.000850227888387,0.000279594613747,0.001544335677919,0.00000196369022,-0.000000292453635,-0.000850222500928,-0.000279598267941,-0.001544313186583,-0.000001957134158,-0.00061499512678,0.000000295319052,0.000000005387459,-0.000000003654194,0.000000022491336,0.000000006556061,-0.000000000283391,0.000000002865417,0.003558899855435,0.003558899855435,0.006142036277188,0.006142036277188,0.002439776562178,0.002439776562178,0.003558899855435,0.006142036277188,0.002439776562178,0.845344376054066,1.458915967110487,0.579519368187853,0.00061499484339,1.458915967110487],[0.000000000024925,-0.000000000007302,0.000000000024904,-0.000000000007363,-0.000000027553025,-0.000000000024925,0.000000000007302,-0.000000000024904,0.000000000007363,-0.000053999658333,0.000000027553933,-1.23027347986836e-20,8.63179464343721e-20,-6.66927261256207e-20,-5.70914824281786e-20,0.000000000012047,0.000000000000909,0.000000000103273,0.000000000103273,0.000000000103273,0.000000000103273,0.000214226104979,0.000214226104979,0.000000000103273,0.000000000103273,0.000214226104979,0.000000024530286,0.000000024530359,0.050885060104115,0.00005399967038,0.050885060104115],[-0.000000000000256,0.000000000000067,-0.000000000000256,0.000000000000068,0.000000000000068,0.000000000000256,-0.000000000000067,0.000000000000256,-0.000000000000068,0.000000000000257,-0.000000000000068,3.02922587604869e-28,2.52435489670724e-29,3.02922587604869e-28,-1.26217744835362e-29,3.02922587604869e-28,1.26217744835362e-29,0.000000000001054,0.000000000001054,0.000000000001054,0.000000000001054,0.000000000001055,0.000000000001055,0.000000000001054,0.000000000001054,0.000000000001055,0.000000000250343,0.000000000250253,0.00000000025054,-0.000000000000257,0.00000000025054],[0.000000000324792,-0.000000000108606,0.000603569563252,0.000000433896463,-0.000000000109484,-0.000000000324792,0.000000000108606,-0.000603544902781,-0.000000432036359,-0.000000000325503,0.000000000109484,-1.50076315472636e-16,-1.31834522568808e-16,0.00000002466047,0.000000001860104,-3.9086988720336e-17,1.96064232846133e-16,0.000000001362229,0.000000001362229,0.002400822143206,0.002400822143206,0.000000001362229,0.000000001362229,0.000000001362229,0.002400822143206,0.000000001362229,0.000000323569812,0.570266537161892,0.000000323569811,0.000000000325503,0.570266537161892],[0.001285835007981,0.000423905431949,0.000142860634116,0.000000110425733,-0.000000250338083,-0.001285814861047,-0.000423903193632,-0.000142860706478,-0.000000109580937,-0.000250036015573,0.00000024937529,0.000000020146934,0.000000002238317,-0.000000000072362,0.000000000844795,-0.000000000656376,-0.000000000962793,0.005386374614937,0.005386374614937,0.000568177354208,0.000568177354208,0.000991765311358,0.000991765311358,0.005386374614937,0.000568177354208,0.000991765311358,1.279423887442001,0.134958990275443,0.235573706026397,0.000250035359197,1.279423887442001],[0.000000000085092,-0.000000000025575,0.000000000085013,-0.000000000025781,-0.000000094031214,-0.000000000085092,0.000000000025575,-0.000000000085013,0.000000000025781,-0.000183001869284,0.000000094041024,-1.83812598978022e-19,8.23884265500261e-19,-6.27792461134574e-19,-6.48130738596327e-19,0.000000000130047,0.000000000009809,0.000000000353303,0.000000000353303,0.000000000353302,0.000000000353302,0.000726007835354,0.000726007835354,0.000000000353303,0.000000000353302,0.000726007835354,0.000000083920024,0.000000083919608,0.172448415386152,0.00018300199933,0.172448415386152],[0.000850222669761,0.000279598306433,0.001544313355479,0.000001957172214,-0.000000295280771,-0.000850206416623,-0.000279609330573,-0.001544245502581,-0.000001937393586,-0.000614996151019,0.000000303925294,0.000000016253138,-0.00000001102414,0.000000067852898,0.000000019778628,-0.000000000854945,0.000000008644523,0.003558900540992,0.003558900540992,0.006142036949109,0.006142036949109,0.002439777233716,0.002439777233716,0.003558900540992,0.006142036949109,0.002439777233716,0.845344538894319,1.458916126711513,0.579519527698145,0.000614995296074,1.458916126711513],[-0.000000000006021,0.000000000003147,-0.000000000006013,0.000000000003164,0.000000000003165,0.000000000006021,-0.000000000003147,0.000000000006013,-0.000000000003164,0.00000000000603,-0.000000000003165,7.67403888599e-26,1.85792520397653e-26,7.67403888599e-26,1.93870456067116e-26,7.75481824268463e-26,1.85792520397653e-26,0.000000000027016,0.000000000027016,0.000000000027023,0.000000000027023,0.000000000027016,0.000000000027016,0.000000000027016,0.000000000027023,0.000000000027016,0.000000006417005,0.000000006418802,0.000000006417083,-0.00000000000603,0.000000006418802],[0.000000000025069,-0.000000000007332,0.000000000025048,-0.000000000007392,-0.000000027553963,-0.000000000025069,0.000000000007332,-0.000000000025048,0.000000000007392,-0.000053999645998,0.000000027554904,-3.26276772042339e-20,8.31928289995784e-20,-6.27528228627652e-20,-5.97486692834473e-20,0.000000000012479,0.000000000000941,0.000000000103855,0.000000000103855,0.000000000103856,0.000000000103856,0.000214226105552,0.000214226105552,0.000000000103855,0.000000000103856,0.000214226105552,0.000000024668678,0.000000024668799,0.050885060240131,0.000053999658477,0.050885060240131],[-0.000000000000317,0.000000000000102,-0.000000000000316,0.000000000000103,0.000000000000103,0.000000000000317,-0.000000000000102,0.000000000000316,-0.000000000000103,0.000000000000318,-0.000000000000103,3.02922587604869e-28,2.52435489670724e-29,4.03896783473158e-28,2.52435489670724e-29,3.02922587604869e-28,2.52435489670724e-29,0.000000000001323,0.000000000001323,0.000000000001323,0.000000000001323,0.000000000001325,0.000000000001325,0.000000000001323,0.000000000001323,0.000000000001325,0.000000000314361,0.000000000314223,0.000000000314659,-0.000000000000318,0.000000000314659],[0.001285815003312,0.000423903214679,0.00014286084885,0.000000109601581,-0.000000249354429,-0.001285795285533,-0.000423901024041,-0.00014286091967,-0.00000010877478,-0.000250036800698,0.000000248412145,0.000000019717779,0.000000002190638,-0.000000000070821,0.000000000826801,-0.000000000642394,-0.000000000942284,0.00538637517869,0.00538637517869,0.000568177920503,0.000568177920503,0.000991765877414,0.000991765877414,0.00538637517869,0.000568177920503,0.000991765877414,1.279424021350003,0.134959124787343,0.235573840481636,0.000250036158304,1.279424021350003],[0.000000000085139,-0.000000000025494,0.000000000085059,-0.000000000025701,-0.000000094040943,-0.000000000085139,0.000000000025494,-0.000000000085059,0.000000000025701,-0.000183001781026,0.000000094047604,-1.59341378209132e-19,6.20143564015562e-19,-4.42121200244843e-19,-4.33637613264279e-19,0.000000000088305,0.000000000006661,0.000000000353388,0.000000000353388,0.000000000353387,0.000000000353387,0.000726007835539,0.000726007835539,0.000000000353388,0.000000000353387,0.000726007835539,0.00000008394015,0.000000083939863,0.172448415429973,0.000183001869331,0.172448415429973],[0.000850206713195,0.000279609406254,0.001544245799274,0.000001937468491,-0.000000303849972,-0.000850183564667,-0.000279625107376,-0.001544149159828,-0.000001909298791,-0.000614997666072,0.00000031616193,0.000000023148529,-0.000000015701123,0.000000096639445,0.0000000281697,-0.000000001217652,0.000000012311958,0.003558901755274,0.003558901755274,0.006142038129539,0.006142038129539,0.002439778413401,0.002439778413401,0.003558901755274,0.006142038129539,0.002439778413401,0.845344827322164,1.458916407098724,0.579519807908363,0.00061499644842,1.458916407098724],[-0.000000000005479,0.000000000003156,-0.000000000005471,0.000000000003172,0.000000000003174,0.000000000005479,-0.000000000003156,0.000000000005471,-0.000000000003172,0.000000000005486,-0.000000000003174,1.7771458472819e-26,3.63507105125842e-27,1.69636649058726e-26,2.82727748431211e-27,1.61558713389263e-26,4.44286461820474e-27,0.000000000025144,0.000000000025144,0.000000000025152,0.000000000025152,0.000000000025144,0.000000000025144,0.000000000025144,0.000000000025152,0.000000000025144,0.000000005972339,0.000000005974259,0.000000005972476,-0.000000000005486,0.000000005974259],[0.000000000025036,-0.000000000007353,0.000000000025015,-0.000000000007414,-0.000000027554926,-0.000000000025036,0.000000000007353,-0.000000000025015,0.000000000007414,-0.000053999593559,0.000000027558879,-8.24832841330055e-20,3.56913312421058e-19,-2.65063597255825e-19,-2.55166140504145e-19,0.000000000052407,0.000000000003953,0.000000000103755,0.000000000103755,0.000000000103756,0.000000000103756,0.000214226105422,0.000214226105422,0.000000000103755,0.000000000103756,0.000214226105422,0.000000024644925,0.000000024645069,0.05088506020935,0.000053999645965,0.05088506020935],[-0.000000000000213,0.000000000000096,-0.000000000000213,0.000000000000096,0.000000000000097,0.000000000000213,-0.000000000000096,0.000000000000213,-0.000000000000096,0.000000000000214,-0.000000000000097,2.77679038637796e-28,1.26217744835362e-29,2.27191940703651e-28,1.26217744835362e-29,3.02922587604869e-28,3.78653234506086e-29,0.000000000000929,0.000000000000929,0.000000000000929,0.000000000000929,0.00000000000093,0.00000000000093,0.000000000000929,0.000000000000929,0.00000000000093,0.000000000220673,0.000000000220549,0.000000000220854,-0.000000000000214,0.000000000220854],[0.001285795440455,0.000423901046955,0.000142861074711,0.000000108797253,-0.000000248389435,-0.001285771726846,-0.000423898412382,-0.000142861159884,-0.000000107802899,-0.000250037728706,0.000000247256195,0.000000023713609,0.000000002634573,-0.000000000085173,0.000000000994354,-0.000000000772576,-0.00000000113324,0.005386375792601,0.005386375792601,0.000568178537191,0.000568178537191,0.000991766493842,0.000991766493842,0.005386375792601,0.000568178537191,0.000991766493842,1.279424167172079,0.134959271269033,0.235573986901601,0.00025003695613,1.279424167172079],[0.000000000084939,-0.000000000025514,0.00000000008486,-0.00000000002572,-0.000000094047623,-0.000000000084939,0.000000000025514,-0.00000000008486,0.00000000002572,-0.000183001636913,0.000000094058478,-1.90855628303604e-19,1.00970408285813e-18,-7.74653441659083e-19,-6.79249780534932e-19,0.000000000143913,0.000000000010855,0.000000000352652,0.000000000352652,0.000000000352651,0.000000000352651,0.000726007834747,0.000726007834747,0.000000000352652,0.000000000352651,0.000726007834747,0.000000083765357,0.000000083765062,0.17244841524194,0.000183001780826,0.17244841524194],[0.000850183775311,0.000279625161117,0.001544149370552,0.000001909351969,-0.000000316108453,-0.000850178931207,-0.000279628446762,-0.001544129147603,-0.000001903457125,-0.000614998132119,0.000000318684876,0.000000004844105,-0.000000003285646,0.000000020222948,0.000000005894844,-0.000000000254808,0.000000002576423,0.003558902617733,0.003558902617733,0.006142038967977,0.006142038967977,0.00243977925131,0.00243977925131,0.003558902617733,0.006142038967977,0.00243977925131,0.845345032181911,1.458916606252639,0.579520006936603,0.000614997877312,1.458916606252639],[-0.000000000005157,0.00000000000297,-0.000000000005149,0.000000000002985,0.000000000002987,0.000000000005157,-0.00000000000297,0.000000000005149,-0.000000000002985,0.000000000005163,-0.000000000002987,1.05013163703021e-26,3.63507105125842e-27,1.05013163703021e-26,2.82727748431211e-27,1.05013163703021e-26,3.63507105125842e-27,0.000000000023664,0.000000000023664,0.000000000023672,0.000000000023672,0.000000000023665,0.000000000023665,0.000000000023664,0.000000000023672,0.000000000023665,0.000000005620984,0.000000005622905,0.000000005621122,-0.000000000005163,0.000000005622905],[0.000000000025054,-0.000000000007404,0.000000000025033,-0.000000000007465,-0.000000027558929,-0.000000000025054,0.000000000007404,-0.000000000025033,0.000000000007465,-0.00005399958078,0.000000027559895,-1.30374392036926e-20,8.57559321381049e-20,-5.58637977651336e-20,-5.6113792102645e-20,0.000000000012796,0.000000000000965,0.00000000010388,0.00000000010388,0.000000000103881,0.000000000103881,0.000214226105493,0.000214226105493,0.00000000010388,0.000000000103881,0.000214226105493,0.000000024674573,0.000000024674763,0.050885060226097,0.000053999593576,0.050885060226097],[-0.0000000000002,0.000000000000095,-0.0000000000002,0.000000000000096,0.000000000000096,0.0000000000002,-0.000000000000095,0.0000000000002,-0.000000000000096,0.000000000000201,-0.000000000000096,2.90300813121332e-27,2.14570166220115e-28,2.87776458224625e-27,2.27191940703651e-28,2.90300813121332e-27,2.52435489670724e-28,0.000000000000881,0.000000000000881,0.00000000000088,0.00000000000088,0.000000000000882,0.000000000000882,0.000000000000881,0.00000000000088,0.000000000000882,0.000000000209264,0.000000000209125,0.000000000209409,-0.000000000000201,0.000000000209409],[0.00128577195326,0.000423898445871,0.000142861386477,0.000000107835743,-0.000000247223001,-0.001285732237316,-0.000423894033445,-0.000142861529125,-0.00000010617038,-0.000250039249792,0.000000245325031,0.000000039715944,0.000000004412426,-0.000000000142649,0.000000001665362,-0.000000001293923,-0.00000000189797,0.00538637668983,0.00538637668983,0.000568179438479,0.000568179438479,0.00099176739475,0.00099176739475,0.00538637668983,0.000568179438479,0.00099176739475,1.279424380290724,0.134959485351601,0.235574200893948,0.00025003795587,1.279424380290724],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],[0.000000000084997,-0.000000000025506,0.000000000084918,-0.000000000025713,-0.000000094058471,-0.000000000084997,0.000000000025506,-0.000000000084918,0.000000000025713,-0.000183001158594,0.000000094094554,-7.87761734052119e-19,3.22592586495975e-18,-2.42298654927707e-18,-2.29220692598169e-18,0.000000000478377,0.000000000036083,0.000000000352864,0.000000000352864,0.000000000352863,0.000000000352863,0.000726007834976,0.000726007834976,0.000000000352864,0.000000000352863,0.000726007834976,0.000000083815651,0.000000083815423,0.172448415296377,0.000183001636971,0.172448415296377],[0.000850178976799,0.000279628458463,0.001544129193213,0.000001903468703,-0.000000318673233,-0.000850177738702,-0.000279629298236,-0.00154412402446,-0.000001901962049,-0.000614998242967,0.000000319331737,0.000000001238097,-0.000000000839773,0.000000005168753,0.000000001506654,-0.000000000065126,0.000000000658504,0.003558902804492,0.003558902804492,0.006142039149452,0.006142039149452,0.00243977943267,0.00243977943267,0.003558902804492,0.006142039149452,0.00243977943267,0.845345076542588,1.458916649358382,0.579520050015023,0.000614998177841,1.458916649358382],[-0.000000000006173,0.000000000002698,-0.000000000006166,0.000000000002714,0.000000000002715,0.000000000006173,-0.000000000002698,0.000000000006166,-0.000000000002714,0.000000000006183,-0.000000000002715,1.61558713389263e-26,6.05845175209737e-27,1.61558713389263e-26,5.25065818515105e-27,1.69636649058726e-26,4.8467614016779e-27,0.000000000026786,0.000000000026786,0.000000000026794,0.000000000026794,0.000000000026789,0.000000000026789,0.000000000026786,0.000000000026794,0.000000000026789,0.00000000636256,0.000000006364267,0.000000006363069,-0.000000000006183,0.000000006364267],[0.000000000025083,-0.000000000007447,0.000000000025062,-0.000000000007508,-0.000000027559938,-0.000000000025083,0.000000000007447,-0.000000000025062,0.000000000007508,-0.000053999568602,0.000000027560859,-1.83170260920632e-20,9.14664171177174e-20,-5.92390727117393e-20,-6.07945406172055e-20,0.000000000012206,0.000000000000921,0.000000000104038,0.000000000104038,0.000000000104039,0.000000000104039,0.000214226105607,0.000214226105607,0.000000000104038,0.000000000104039,0.000214226105607,0.000000024712147,0.000000024712347,0.050885060253199,0.000053999580809,0.050885060253199],[-0.000000000000187,0.000000000000095,-0.000000000000187,0.000000000000095,0.000000000000095,0.000000000000187,-0.000000000000095,0.000000000000187,-0.000000000000095,0.000000000000188,-0.000000000000095,9.08767762814606e-28,1.13595970351826e-28,8.83524213847533e-28,7.57306469012171e-29,8.58280664880461e-28,1.26217744835362e-28,0.000000000000833,0.000000000000833,0.000000000000833,0.000000000000833,0.000000000000834,0.000000000000834,0.000000000000833,0.000000000000833,0.000000000000834,0.000000000197943,0.000000000197797,0.000000000198085,-0.000000000000188,0.000000000198085],[0.001285732857151,0.00042389412502,0.000142862149467,0.000000106260181,-0.000000245234262,-0.001285598898113,-0.000423879242226,-0.000142862630612,-0.000000100643012,-0.000250044236006,0.000000238832531,0.000000133959038,0.000000014882794,-0.000000000481145,0.000000005617169,-0.000000004364307,-0.000000006401731,0.005386379146034,0.005386379146034,0.000568181905925,0.000568181905925,0.000991769861158,0.000991769861158,0.005386379146034,0.000568181905925,0.000991769861158,1.279424963712032,0.134960071443355,0.235574786739025,0.0002500398717,1.279424963712032],[-1.65542758250356e-20,-1.62712199776325e-18,-7.82619778517198e-19,1.89524062198774e-18,-2.67315688382913e-19,1.65542758250356e-20,1.62712199776325e-18,7.82619778517198e-19,-1.89524062198774e-18,-8.06411578339657e-19,2.67315688382913e-19,0.0,1.92592994438724e-34,9.62964972193618e-35,0.0,-9.62964972193618e-35,1.92592994438724e-34,6.47414678523798e-18,6.47414678523799e-18,8.15499501661039e-18,8.15499501661039e-18,3.36974491001753e-18,3.36974491001753e-18,6.47414678523799e-18,8.15499501661039e-18,3.36974491001753e-18,0.000000000000002,0.000000000000002,8.00414460685069e-16,8.06411578339657e-19,0.000000000000002],[0.000000000084997,-0.000000000025507,0.000000000084918,-0.000000000025713,-0.000000094094554,-0.000000000084997,0.000000000025507,-0.000000000084918,0.000000000025713,-0.000183000626011,0.000000094134726,-8.57743604943064e-19,3.60663375148393e-18,-2.70923016427845e-18,-2.52543615424599e-18,0.000000000532583,0.000000000040172,0.000000000352864,0.000000000352864,0.000000000352863,0.000000000352863,0.000726007834976,0.000726007834976,0.000000000352864,0.000000000352863,0.000726007834976,0.000000083815648,0.000000083815398,0.172448415296407,0.000183001158594,0.172448415296407],[0.00085017775318,0.00027962930213,0.001544124038944,0.000001901965904,-0.000000319327861,-0.000850177104558,-0.000279629742075,-0.001544121331109,-0.00000190117659,-0.000614998291605,0.000000319672842,0.000000000648621,-0.000000000439945,0.000000002707835,0.000000000789314,-0.000000000034118,0.000000000344981,0.003558902864021,0.003558902864021,0.006142039207085,0.006142039207085,0.002439779490264,0.002439779490264,0.003558902864021,0.006142039207085,0.002439779490264,0.84534509068246,1.458916663047825,0.57952006369537,0.000614998257487,1.458916663047825],[-0.000000000005069,0.000000000001632,-0.000000000005065,0.000000000001647,0.000000000001645,0.000000000005069,-0.000000000001632,0.000000000005065,-0.000000000001647,0.000000000005078,-0.000000000001645,8.07793566946316e-27,3.02922587604869e-27,8.88572923640948e-27,2.42338070083895e-27,8.07793566946316e-27,2.82727748431211e-27,0.000000000021177,0.000000000021177,0.000000000021182,0.000000000021182,0.000000000021178,0.000000000021178,0.000000000021177,0.000000000021182,0.000000000021178,0.000000005030072,0.000000005031388,0.000000005030428,-0.000000000005078,0.000000005031388],[0.00000000002504,-0.000000000007288,0.000000000025019,-0.000000000007349,-0.0000000275607,-0.00000000002504,0.000000000007288,-0.000000000025019,0.000000000007349,-0.00005399955642,0.000000027561615,-1.56812570754284e-20,7.52029202106925e-20,-6.23616181318159e-20,-5.89662372033289e-20,0.00000000001214,0.000000000000916,0.000000000103697,0.000000000103697,0.000000000103698,0.000000000103698,0.000214226105438,0.000214226105438,0.000000000103697,0.000000000103698,0.000214226105438,0.000000024631185,0.000000024631407,0.050885060213016,0.00005399956856,0.050885060213016],[-0.000000000000167,0.000000000000083,-0.000000000000167,0.000000000000083,0.000000000000083,0.000000000000167,-0.000000000000083,0.000000000000167,-0.000000000000083,0.000000000000167,-0.000000000000083,3.02922587604869e-28,2.52435489670724e-29,3.02922587604869e-28,-2.52435489670724e-29,2.52435489670724e-28,1.26217744835362e-29,0.000000000000741,0.000000000000741,0.000000000000741,0.000000000000741,0.000000000000742,0.000000000000742,0.000000000000741,0.000000000000741,0.000000000000742,0.000000000176007,0.00000000017591,0.000000000176143,-0.000000000000167,0.000000000176143],[0.001285600052322,0.000423879412813,0.000142863785892,0.000000100810241,-0.000000238663419,-0.001285410580808,-0.000423858362612,-0.000142864466427,-0.000000092865271,-0.000250051567074,0.000000229608784,0.000000189471514,0.0000000210502,-0.000000000680535,0.00000000794497,-0.000000006172866,-0.000000009054635,0.005386383720298,0.005386383720298,0.00056818650108,0.00056818650108,0.000991774454378,0.000991774454378,0.005386383720298,0.00056818650108,0.000991774454378,1.27942605023552,0.134961162929051,0.235575877765185,0.000250045394208,1.27942605023552],[-1.2453737491567e-18,-9.19213928556664e-19,-7.85275967386716e-19,4.76487711407917e-19,4.4316945484493e-19,1.2453737491567e-18,9.19213928556664e-19,7.85275967386716e-19,-4.76487711407917e-19,-2.03896079065225e-18,-4.4316945484493e-19,0.0,1.92592994438724e-34,0.0,-1.92592994438724e-34,0.0,0.0,6.15910362423655e-18,6.15910362423655e-18,3.65310694203589e-18,3.65310694203589e-18,8.27610737559042e-18,8.27610737559042e-18,6.15910362423655e-18,3.65310694203589e-18,8.27610737559042e-18,0.000000000000001,8.67721356041556e-16,0.000000000000002,2.03896079065225e-18,0.000000000000002],[0.000000000085022,-0.000000000025534,0.000000000084942,-0.000000000025741,-0.000000094134754,-0.000000000085022,0.000000000025534,-0.000000000084942,0.000000000025741,-0.000183000326513,0.000000094157347,-4.89889329656131e-19,2.01398334723807e-18,-1.49369945984414e-18,-1.41159309542064e-18,0.000000000299523,0.000000000022593,0.000000000352988,0.000000000352988,0.000000000352987,0.000000000352987,0.000726007835073,0.000726007835073,0.000000000352988,0.000000000352987,0.000726007835073,0.000000083845193,0.00000008384493,0.172448415319455,0.000183000626035,0.172448415319455],[0.000850177113146,0.000279629743567,0.001544121339698,0.00000190117806,-0.000000319671362,-0.000850176575446,-0.000279630108276,-0.001544119094934,-0.000001900523727,-0.000614998328499,0.000000319957347,0.0000000005377,-0.000000000364709,0.000000002244764,0.000000000654332,-0.000000000028284,0.000000000285985,0.003558902898312,0.003558902898312,0.006142039241254,0.006142039241254,0.00243977952442,0.00243977952442,0.003558902898312,0.006142039241254,0.00243977952442,0.845345098827687,1.458916671164024,0.579520071808277,0.000614998300216,1.458916671164024],[-0.000000000004376,0.000000000002091,-0.00000000000437,0.000000000002104,0.000000000002104,0.000000000004376,-0.000000000002091,0.00000000000437,-0.000000000002104,0.000000000004382,-0.000000000002104,6.46234853557053e-27,2.01948391736579e-27,6.46234853557053e-27,1.21169035041947e-27,8.07793566946316e-27,1.61558713389263e-27,0.000000000019284,0.000000000019284,0.000000000019291,0.000000000019291,0.000000000019285,0.000000000019285,0.000000000019284,0.000000000019291,0.000000000019285,0.000000004580459,0.000000004582091,0.000000004580752,-0.000000000004382,0.000000004582091],[0.000000000025066,-0.000000000007384,0.000000000025045,-0.000000000007444,-0.000000027561711,-0.000000000025066,0.000000000007384,-0.000000000025045,0.000000000007444,-0.000053999542519,0.000000027562761,-2.46561602592802e-20,9.69950871524558e-20,-6.51164365331729e-20,-6.75837353546596e-20,0.000000000013926,0.00000000000105,0.000000000103901,0.000000000103901,0.000000000103902,0.000000000103902,0.000214226105539,0.000214226105539,0.000000000103901,0.000000000103902,0.000214226105539,0.000000024679666,0.000000024679891,0.050885060237137,0.000053999556445,0.050885060237137],[-0.00000000000016,0.000000000000119,-0.000000000000159,0.000000000000119,0.000000000000119,0.00000000000016,-0.000000000000119,0.000000000000159,-0.000000000000119,0.00000000000016,-0.000000000000119,5.3011452830852e-28,7.57306469012171e-29,5.3011452830852e-28,5.04870979341448e-29,4.79627430374375e-28,0.0,0.000000000000791,0.000000000000791,0.000000000000791,0.000000000000791,0.000000000000792,0.000000000000792,0.000000000000791,0.000000000000791,0.000000000000792,0.000000000187955,0.000000000187825,0.000000000188053,-0.00000000000016,0.000000000188053],[0.001285411741991,0.000423858534228,0.000142865628868,0.000000093033436,-0.000000229438616,-0.001285275785121,-0.000423843429485,-0.000142866117193,-0.000000087332418,-0.000250057161851,0.000000222941363,0.00000013595687,0.000000015104743,-0.000000000488326,0.000000005701018,-0.000000004429389,-0.000000006497253,0.005386388322811,0.005386388322811,0.000568191124658,0.000568191124658,0.00099177907601,0.00099177907601,0.005386388322811,0.000568191124658,0.00099177907601,1.279427143469051,0.134962261166111,0.235576975539898,0.000250052732462,1.279427143469051],[-7.67941089631185e-20,4.42260414715461e-20,7.68823359768836e-20,4.41854582303848e-20,-8.89169064995732e-20,7.67941089631185e-20,-4.42260414715461e-20,-7.68823359768836e-20,-4.41854582303848e-20,5.80189254316733e-23,8.89169064995732e-20,0.0,0.0,0.0,0.0,7.64071328034487e-37,0.0,3.52669247610436e-19,3.52669247610436e-19,3.52669247610436e-19,3.52669247610436e-19,3.52669247610436e-19,3.52669247610436e-19,3.52669247610436e-19,3.52669247610436e-19,3.52669247610436e-19,8.37694167256262e-17,8.37694167256262e-17,8.37694167256262e-17,-5.80189254316726e-23,8.37694167256262e-17],[0.000000000085012,-0.000000000025528,0.000000000084932,-0.000000000025735,-0.000000094157341,-0.000000000085012,0.000000000025528,-0.000000000084932,0.000000000025735,-0.000183000045133,0.000000094178564,-4.23833516446305e-19,1.9009920491452e-18,-1.45573523014919e-18,-1.35627546627317e-18,0.00000000028137,0.000000000021223,0.000000000352943,0.000000000352943,0.000000000352942,0.000000000352942,0.000726007835033,0.000726007835033,0.000000000352943,0.000000000352942,0.000726007835033,0.000000083834506,0.000000083834205,0.172448415309991,0.000183000326503,0.172448415309991],[0.00085017658334,0.00027963010931,0.001544119102828,0.00000190052474,-0.000000319956326,-0.000850176147564,-0.000279630404887,-0.001544117283572,-0.00000189999444,-0.000614998359336,0.000000320188101,0.000000000435776,-0.000000000295577,0.000000001819256,0.0000000005303,-0.000000000022922,0.000000000231775,0.003558902929414,0.003558902929414,0.006142039272658,0.006142039272658,0.002439779555813,0.002439779555813,0.003558902929414,0.006142039272658,0.002439779555813,0.84534510621524,1.458916678623492,0.579520079265063,0.000614998336413,1.458916678623492],[-0.000000000003868,0.000000000002228,-0.000000000003862,0.000000000002239,0.00000000000224,0.000000000003868,-0.000000000002228,0.000000000003862,-0.000000000002239,0.000000000003872,-0.00000000000224,8.07793566946316e-27,1.21169035041947e-27,7.27014210251684e-27,1.61558713389263e-27,7.27014210251684e-27,1.61558713389263e-27,0.000000000017748,0.000000000017748,0.000000000017755,0.000000000017755,0.000000000017748,0.000000000017748,0.000000000017748,0.000000000017755,0.000000000017748,0.000000004215567,0.00000000421745,0.000000004215742,-0.000000000003872,0.00000000421745],[0.000000000025088,-0.00000000000731,0.000000000025067,-0.00000000000737,-0.000000027562687,-0.000000000025088,0.00000000000731,-0.000000000025067,0.00000000000737,-0.000053999494449,0.000000027566314,-8.22517963461128e-20,3.1786311898204e-19,-2.38344044652054e-19,-2.36541689183135e-19,0.000000000048093,0.000000000003628,0.000000000103905,0.000000000103905,0.000000000103905,0.000000000103905,0.000214226105631,0.000214226105631,0.000000000103905,0.000000000103905,0.000214226105631,0.000000024680467,0.000000024680455,0.050885060258854,0.000053999542542,0.050885060258854],[-0.000000000000161,0.000000000000046,-0.000000000000161,0.000000000000046,0.000000000000046,0.000000000000161,-0.000000000000046,0.000000000000161,-0.000000000000046,0.000000000000162,-0.000000000000046,3.28166136571941e-28,0.0,3.02922587604869e-28,6.31088724176809e-30,3.28166136571941e-28,1.26217744835362e-29,0.000000000000667,0.000000000000667,0.000000000000667,0.000000000000667,0.000000000000668,0.000000000000668,0.000000000000667,0.000000000000667,0.000000000000668,0.000000000158409,0.000000000158336,0.000000000158599,-0.000000000000162,0.000000000158599],[0.001285276417406,0.000423843522934,0.000142866750234,0.000000087423958,-0.000000222848688,-0.00128523516809,-0.000423838940156,-0.000142866898393,-0.000000085694263,-0.000250059140376,0.000000220877418,0.000000041249317,0.000000004582778,-0.000000000148158,0.000000001729695,-0.000000001343876,-0.000000001971271,0.005386390829204,0.005386390829204,0.000568193642538,0.000568193642538,0.00099178159283,0.00099178159283,0.005386390829204,0.000568193642538,0.00099178159283,1.279427738811754,0.134962859237385,0.235577573359405,0.0002500577965,1.279427738811754],[-6.80035991542121e-19,-6.15255783005321e-18,-2.51441782120962e-18,7.93493173163746e-18,-1.78039111034819e-18,6.80035991542121e-19,6.15255783005321e-18,2.51441782120962e-18,-7.93493173163746e-18,-3.22548739014776e-18,1.78039111034819e-18,0.0,0.0,0.0,0.0,0.0,0.0,2.46364144969462e-17,2.46364144969462e-17,3.31044295023617e-17,3.31044295023617e-17,1.46124277681436e-17,1.46124277681436e-17,2.46364144969462e-17,3.31044295023617e-17,1.46124277681436e-17,0.000000000000006,0.000000000000008,0.000000000000003,3.22548739014776e-18,0.000000000000008],[0.000000000085073,-0.000000000025537,0.000000000084994,-0.000000000025744,-0.000000094178573,-0.000000000085073,0.000000000025537,-0.000000000084994,0.000000000025744,-0.000182999776745,0.000000094198822,-4.31740199879576e-19,1.80735320370732e-18,-1.32972210911786e-18,-1.29198018098136e-18,0.00000000026845,0.000000000020249,0.000000000353189,0.000000000353189,0.000000000353188,0.000000000353188,0.00072600783528,0.00072600783528,0.000000000353189,0.000000000353188,0.00072600783528,0.00000008389298,0.00000008389265,0.172448415368534,0.000183000045195,0.172448415368534],[0.000850176155692,0.000279630407073,0.001544117291703,0.000001899996604,-0.000000320185925,-0.000850175489579,-0.000279630858882,-0.001544114510845,-0.000001899186004,-0.000614998402526,0.000000320540209,0.000000000666113,-0.000000000451809,0.000000002780858,0.0000000008106,-0.000000000035039,0.000000000354284,0.003558902962833,0.003558902962833,0.006142039305013,0.006142039305013,0.002439779588147,0.002439779588147,0.003558902962833,0.006142039305013,0.002439779588147,0.845345114153437,1.458916686308651,0.57952008694536,0.000614998367487,1.458916686308651],[-0.000000000004376,0.000000000002091,-0.00000000000437,0.000000000002103,0.000000000002104,0.000000000004376,-0.000000000002091,0.00000000000437,-0.000000000002103,0.000000000004382,-0.000000000002104,4.8467614016779e-27,1.61558713389263e-27,4.03896783473158e-27,2.01948391736579e-27,5.65455496862421e-27,1.21169035041947e-27,0.000000000019284,0.000000000019284,0.000000000019289,0.000000000019289,0.000000000019286,0.000000000019286,0.000000000019284,0.000000000019289,0.000000000019286,0.000000004580522,0.000000004581732,0.000000004581049,-0.000000000004382,0.000000004581732],[0.000000000025088,-0.000000000007321,0.000000000025067,-0.000000000007382,-0.000000027566326,-0.000000000025088,0.000000000007321,-0.000000000025067,0.000000000007382,-0.000053999260081,0.000000027584004,-3.83562693613256e-19,1.59189272619181e-18,-1.19208136514583e-18,-1.11160116833637e-18,0.000000000234368,0.000000000017678,0.000000000103918,0.000000000103918,0.000000000103918,0.000000000103918,0.000214226105631,0.000214226105631,0.000000000103918,0.000000000103918,0.000214226105631,0.000000024683526,0.000000024683528,0.050885060258785,0.000053999494449,0.050885060258785],[-0.00000000000017,0.000000000000078,-0.00000000000017,0.000000000000078,0.000000000000078,0.00000000000017,-0.000000000000078,0.00000000000017,-0.000000000000078,0.00000000000017,-0.000000000000078,4.54383881407303e-28,0.0,4.54383881407303e-28,-1.26217744835362e-29,5.04870979341448e-28,0.0,0.000000000000743,0.000000000000743,0.000000000000742,0.000000000000742,0.000000000000743,0.000000000000743,0.000000000000743,0.000000000000742,0.000000000000743,0.000000000176435,0.000000000176339,0.000000000176569,-0.00000000000017,0.000000000176569],[0.001109152355072,0.000365787366151,0.000142867356181,0.000000085831816,-0.000000220738838,-0.001109062527295,-0.000365777146916,-0.000142867609146,-0.000000081529778,-0.000250062500391,0.000000215895204,0.000000089827777,0.000000010219235,-0.000000000252965,0.000000004302038,-0.000000002901165,-0.000000004843634,0.004648452038492,0.004648452038492,0.00056819546353,0.00056819546353,0.00099178341223,0.00099178341223,0.004648452038492,0.00056819546353,0.00099178341223,1.104145367309404,0.134963291777012,0.235578005521048,0.000250059599226,1.104145367309404],[-1.4149841026706e-18,-2.45713321410717e-18,-1.41381294627879e-18,2.4603191739752e-18,-1.76022526125496e-21,1.4149841026706e-18,2.45713321410717e-18,1.41381294627879e-18,-2.4603191739752e-18,-2.84540667616925e-18,1.76022526125496e-21,0.0,0.0,0.0,0.0,0.0,0.0,1.12854159235339e-17,1.12854159235339e-17,1.12854159235339e-17,1.12854159235339e-17,1.12854159235339e-17,1.12854159235339e-17,1.12854159235339e-17,1.12854159235339e-17,1.12854159235339e-17,0.000000000000003,0.000000000000003,0.000000000000003,2.84540667616925e-18,0.000000000000003],[0.000176083292756,0.000058051645076,0.000000000022539,-0.000000000067937,-0.000000000068092,-0.000176080951045,-0.000058051468444,-0.000000000022539,0.000000000067937,-0.000000000022698,0.000000000068092,0.000000002341711,0.000000000176632,1.11516985394294e-17,6.51194805578271e-18,-1.12209214721084e-17,6.4116539445496e-18,0.000737940695641,0.000737940695641,0.000000000284673,0.000000000284673,0.000000000284676,0.000000000284676,0.000737940695641,0.000000000284673,0.000000000284676,0.175282823979637,0.000000067618322,0.00000006761898,0.000000000022698,0.175282823979637],[0.000000000085079,-0.000000000025527,0.000000000085,-0.000000000025734,-0.000000094198812,-0.000000000085079,0.000000000025527,-0.000000000085,0.000000000025734,-0.000182999335996,0.000000094232057,-7.27001027060672e-19,3.0048724768183e-18,-2.21450052264448e-18,-2.08806613403681e-18,0.000000000440755,0.000000000033246,0.0000000003532,0.0000000003532,0.000000000353199,0.000000000353199,0.000726007835303,0.000726007835303,0.0000000003532,0.000000000353199,0.000726007835303,0.000000083895485,0.000000083895172,0.172448415374031,0.000182999776751,0.172448415374031],[0.00085017549886,0.000279630860833,0.001544114520128,0.00000189918793,-0.00000032053827,-0.000850174898369,-0.000279631268132,-0.001544112013227,-0.000001898457187,-0.000614998443419,0.000000320857652,0.000000000600491,-0.000000000407299,0.000000002506901,0.000000000730744,-0.000000000031587,0.000000000319382,0.003558903000315,0.003558903000315,0.006142039341948,0.006142039341948,0.002439779625063,0.002439779625063,0.003558903000315,0.006142039341948,0.002439779625063,0.845345123056492,1.458916695081818,0.57952009571405,0.000614998411832,1.458916695081818],[-0.000000000001191,0.000000000002403,-0.000000000001185,0.000000000002407,0.000000000002411,0.000000000001191,-0.000000000002403,0.000000000001185,-0.000000000002407,0.00000000000119,-0.000000000002411,1.41363874215605e-27,0.0,1.0097419586829e-27,4.03896783473158e-28,6.05845175209737e-28,1.21169035041947e-27,0.000000000010665,0.000000000010665,0.000000000010669,0.000000000010669,0.000000000010667,0.000000000010667,0.000000000010665,0.000000000010669,0.000000000010667,0.000000002533224,0.000000002534114,0.00000000253362,-0.00000000000119,0.000000002534114],[-0.000000000000141,0.000000000000081,-0.000000000000141,0.000000000000081,0.000000000000082,0.000000000000141,-0.000000000000081,0.000000000000141,-0.000000000000081,0.000000000000141,-0.000000000000082,2.77679038637796e-28,1.26217744835362e-29,2.77679038637796e-28,1.26217744835362e-29,2.77679038637796e-28,2.52435489670724e-29,0.000000000000647,0.000000000000647,0.000000000000647,0.000000000000647,0.000000000000648,0.000000000000648,0.000000000000647,0.000000000000647,0.000000000000648,0.000000000153714,0.000000000153622,0.000000000153817,-0.000000000000141,0.000000000153817],[0.001109063215077,0.000365777248618,0.000142868297831,0.00000008162937,-0.000000215794328,-0.001108963412088,-0.000365765894558,-0.000142868578887,-0.000000076849579,-0.000250066414158,0.000000210412806,0.00000009980299,0.00000001135406,-0.000000000281056,0.00000000477979,-0.00000000322333,-0.000000005381522,0.004648454765212,0.004648454765212,0.00056819820271,0.00056819820271,0.000991786150256,0.000991786150256,0.004648454765212,0.00056819820271,0.000991786150256,1.104146014986225,0.134963942413603,0.235578655883542,0.000250063190828,1.104146014986225],[-1.41483809792823e-18,-2.45696933023822e-18,-1.41374133602591e-18,2.46036606015683e-18,-1.70510125893994e-21,1.41483809792823e-18,2.45696933023822e-18,1.41374133602592e-18,-2.46036606015683e-18,-2.84543967370724e-18,1.70510125893989e-21,-1.92592994438724e-34,0.0,3.85185988877447e-34,0.0,0.0,-4.70197740328915e-35,1.12854159235339e-17,1.12854159235339e-17,1.12854159235339e-17,1.12854159235339e-17,1.12854159235339e-17,1.12854159235339e-17,1.12854159235339e-17,1.12854159235339e-17,1.12854159235339e-17,0.000000000000003,0.000000000000003,0.000000000000003,2.84543967370724e-18,0.000000000000003],[-1.13187047834259e-17,-1.96557546419057e-17,-1.13099306882073e-17,1.96829284812547e-17,-1.36408100715195e-20,1.13187047834259e-17,1.96557546419057e-17,1.13099306882073e-17,-1.96829284812547e-17,-2.27635173896579e-17,1.36408100715191e-20,-1.54074395550979e-33,0.0,3.08148791101958e-33,0.0,0.0,-3.76158192263132e-34,9.02833273882715e-17,9.02833273882715e-17,9.02833273882715e-17,9.02833273882715e-17,9.02833273882715e-17,9.02833273882715e-17,9.02833273882715e-17,9.02833273882715e-17,9.02833273882715e-17,0.000000000000021,0.000000000000021,0.000000000000021,2.27635173896579e-17,0.000000000000021],[0.000176080965862,0.000058051469397,0.00000000003737,-0.00000000006703,-0.000000000067162,-0.000176080623884,-0.000058051443602,-0.00000000003737,0.00000000006703,-0.000000000037568,0.000000000067162,0.000000000341978,0.000000000025795,1.50567314478008e-18,1.30413079532669e-18,-1.86559119723859e-18,6.48777852329285e-19,0.000737940752836,0.000737940752836,0.000000000305216,0.000000000305216,0.000000000305219,0.000000000305219,0.000737940752836,0.000000000305216,0.000000000305219,0.175282837565143,0.000000072497804,0.000000072498518,0.000000000037568,0.175282837565143],[0.000000000085107,-0.000000000025503,0.000000000085028,-0.000000000025709,-0.000000094232033,-0.000000000085107,0.000000000025503,-0.000000000085028,0.000000000025709,-0.00018299902903,0.000000094255189,-4.797981009992e-19,2.05228885679035e-18,-1.59883799310875e-18,-1.456333113711e-18,0.000000000306994,0.000000000023156,0.000000000353277,0.000000000353277,0.000000000353276,0.000000000353276,0.000726007835412,0.000726007835412,0.000000000353277,0.000000000353276,0.000726007835412,0.000000083913727,0.000000083913435,0.172448415399996,0.000182999336024,0.172448415399996],[0.000850174907445,0.000279631270846,0.001544112022307,0.000001898459876,-0.000000320854949,-0.000850174335926,-0.000279631658494,-0.001544109636355,-0.000001897764388,-0.000614998482584,0.000000321158922,0.000000000571519,-0.000000000387648,0.000000002385952,0.000000000695488,-0.000000000030063,0.000000000303973,0.00355890303797,0.00355890303797,0.006142039378079,0.006142039378079,0.002439779661168,0.002439779661168,0.00355890303797,0.006142039378079,0.002439779661168,0.845345132000561,1.458916703664126,0.579520104290137,0.000614998452522,1.458916703664126],[-0.000000000003594,0.000000000001212,-0.000000000003591,0.000000000001222,0.000000000001221,0.000000000003594,-0.000000000001212,0.000000000003591,-0.000000000001222,0.000000000003601,-0.000000000001221,2.82727748431211e-27,4.03896783473158e-28,3.23117426778526e-27,1.0097419586829e-27,2.82727748431211e-27,2.01948391736579e-28,0.000000000015083,0.000000000015083,0.000000000015086,0.000000000015086,0.000000000015086,0.000000000015086,0.000000000015083,0.000000000015086,0.000000000015086,0.000000003582672,0.000000003583426,0.00000000358328,-0.000000000003601,0.000000003583426],[-0.000000000000175,0.000000000000086,-0.000000000000175,0.000000000000086,0.000000000000086,0.000000000000175,-0.000000000000086,0.000000000000175,-0.000000000000086,0.000000000000176,-0.000000000000086,2.17094521116822e-27,1.89326617253043e-28,2.12045811323408e-27,2.01948391736579e-28,2.12045811323408e-27,1.89326617253043e-28,0.000000000000776,0.000000000000776,0.000000000000776,0.000000000000776,0.000000000000776,0.000000000000776,0.000000000000776,0.000000000000776,0.000000000000776,0.000000000184317,0.000000000184222,0.00000000018444,-0.000000000000176,0.00000000018444],[0.001108963906708,0.000365765967691,0.000142869074203,0.000000076921176,-0.000000210340258,-0.00110892733397,-0.000365761807004,-0.000142869177195,-0.00000007516962,-0.000250068091921,0.0000002083682,0.000000036572738,0.000000004160687,-0.000000000102993,0.000000001751556,-0.000000001181186,-0.000000001972058,0.00464845672629,0.00464845672629,0.000568200172767,0.000568200172767,0.000991788119484,0.000991788119484,0.00464845672629,0.000568200172767,0.000991788119484,1.104146480800472,0.134964410360803,0.235579123633643,0.000250066910735,1.104146480800472],[4.2993776830473e-18,-2.4756827895315e-18,6.26988674432336e-19,6.02864646559827e-18,-3.55399817736886e-18,-4.2993776830473e-18,2.4756827895315e-18,-6.26988674432334e-19,-6.02864646559827e-18,4.9305644045832e-18,3.55399817736887e-18,-7.70371977754894e-34,-1.92592994438724e-33,1.73333694994851e-33,7.70371977754894e-34,-1.54074395550979e-33,7.70371977754894e-34,1.97494778661844e-17,1.97494778661844e-17,2.4105658979535e-17,2.4105658979535e-17,2.4105658979535e-17,2.4105658979535e-17,1.97494778661844e-17,2.4105658979535e-17,2.4105658979535e-17,0.000000000000005,0.000000000000006,0.000000000000006,-4.9305644045832e-18,0.000000000000006],[0.000176080626889,0.000058051443747,0.000000000040378,-0.000000000066894,-0.000000000067021,-0.000176080440418,-0.000058051429682,-0.000000000040378,0.000000000066894,-0.000000000040585,0.000000000067021,0.000000000186472,0.000000000014065,7.97156806213057e-19,7.94652626768478e-19,-1.123122668205e-18,3.28670716745598e-19,0.000737940764378,0.000737940764378,0.000000000310753,0.000000000310753,0.000000000310756,0.000000000310756,0.000737940764378,0.000000000310753,0.000000000310756,0.175282840306722,0.000000073813092,0.00000007381383,0.000000000040585,0.175282840306722],[0.000000000085086,-0.000000000025585,0.000000000085007,-0.000000000025791,-0.000000094255271,-0.000000000085086,0.000000000025585,-0.000000000085007,0.000000000025791,-0.000182998813308,0.000000094271541,-3.15087545132774e-19,1.47969575413153e-18,-1.10524400583233e-18,-9.861600701636e-19,0.000000000215701,0.00000000001627,0.000000000353293,0.000000000353293,0.000000000353291,0.000000000353291,0.000726007835331,0.000726007835331,0.000000000353293,0.000000000353291,0.000726007835331,0.000000083917495,0.000000083917187,0.172448415380576,0.000182999029009,0.172448415380576],[0.000850174345622,0.000279631660421,0.001544109646053,0.000001897766289,-0.000000321157008,-0.000850173701771,-0.00027963209713,-0.001544106958133,-0.000001896982779,-0.000614998526175,0.000000321499452,0.000000000643851,-0.000000000436709,0.00000000268792,0.000000000783509,-0.000000000033868,0.000000000342444,0.00355890307699,0.00355890307699,0.006142039416664,0.006142039416664,0.002439779699735,0.002439779699735,0.00355890307699,0.006142039416664,0.002439779699735,0.845345141268996,1.458916712829237,0.579520113450916,0.000614998492307,1.458916712829237],[-0.000000000001327,0.000000000002912,-0.00000000000132,0.000000000002915,0.00000000000292,0.000000000001327,-0.000000000002912,0.00000000000132,-0.000000000002915,0.000000000001326,-0.00000000000292,2.62532909257553e-27,1.21169035041947e-27,2.62532909257553e-27,4.03896783473158e-28,2.62532909257553e-27,4.03896783473158e-28,0.000000000012724,0.000000000012724,0.000000000012727,0.000000000012727,0.000000000012723,0.000000000012723,0.000000000012724,0.000000000012727,0.000000000012723,0.000000003022335,0.000000003023013,0.000000003022046,-0.000000000001326,0.000000003023013],[-0.000000000000121,0.00000000000007,-0.000000000000121,0.00000000000007,0.00000000000007,0.000000000000121,-0.00000000000007,0.000000000000121,-0.00000000000007,0.000000000000121,-0.00000000000007,7.57306469012171e-29,-2.52435489670724e-29,1.0097419586829e-28,-6.31088724176809e-29,7.57306469012171e-29,-2.52435489670724e-29,0.000000000000555,0.000000000000555,0.000000000000554,0.000000000000554,0.000000000000555,0.000000000000555,0.000000000000555,0.000000000000554,0.000000000000555,0.000000000131726,0.000000000131697,0.000000000131851,-0.000000000000121,0.000000000131851],[0.001005883906544,0.000331781829658,0.00014286949417,0.000000075261391,-0.000000208275687,-0.001005820821995,-0.000331774524439,-0.000142869618544,-0.000000071967676,-0.000250070366038,0.00000020460285,0.000000063084549,0.000000007305219,-0.000000000124374,0.000000003293714,-0.000000001956406,-0.000000003672836,0.004216523188082,0.004216523188082,0.00056820143359,0.00056820143359,0.000991789379242,0.000991789379242,0.004216523188082,0.00056820143359,0.000991789379242,1.001549441775666,0.134964709843532,0.235579422863515,0.000250068409632,1.001549441775666],[-1.26107140230343e-18,-2.54513405055741e-18,-1.56740994566269e-18,2.37208520350668e-18,1.76221698041438e-19,1.26107140230343e-18,2.54513405055741e-18,1.56740994566269e-18,-2.37208520350668e-18,-2.84559110835961e-18,-1.76221698041438e-19,-1.92592994438724e-34,0.0,0.0,0.0,0.0,-1.44444745829043e-34,1.13074362682261e-17,1.13074362682261e-17,1.13074362682261e-17,1.13074362682261e-17,1.13074362682261e-17,1.13074362682261e-17,1.13074362682261e-17,1.13074362682261e-17,1.13074362682261e-17,0.000000000000003,0.000000000000003,0.000000000000003,2.84559110835961e-18,0.000000000000003],[0.000103043800301,0.000033980032254,0.000000000056436,-0.000000000038026,-0.000000000038045,-0.000103041563405,-0.000033979863528,-0.000000000056436,0.000000000038026,-0.000000000056652,0.000000000038045,0.000000002236896,0.000000000168726,7.54035069209692e-18,1.85554806978051e-17,-1.98592261109769e-17,-2.76013746350142e-18,0.000431935017325,0.000431935017325,0.000000000270646,0.000000000270646,0.00000000027065,0.00000000027065,0.000431935017325,0.000000000270646,0.00000000027065,0.102597390358881,0.000000064286443,0.000000064287492,0.000000000056652,0.102597390358881],[0.00017608044204,0.000058051429846,0.000000000042003,-0.000000000066734,-0.000000000066859,-0.00017608031572,-0.000058051420318,-0.000000000042003,0.000000000066734,-0.000000000042213,0.000000000066859,0.00000000012632,0.000000000009528,5.51751673202438e-19,5.06281438608124e-19,-6.99342491983508e-19,2.24400761898259e-19,0.000737940770716,0.000737940770716,0.000000000313602,0.000000000313602,0.000000000313606,0.000000000313606,0.000737940770716,0.000000000313602,0.000000000313606,0.175282841812237,0.000000074489854,0.000000074490821,0.000000000042213,0.175282841812237],[0.000000000085185,-0.000000000025413,0.000000000085106,-0.000000000025621,-0.00000009427137,-0.000000000085185,0.000000000025413,-0.000000000085106,0.000000000025621,-0.000182998710344,0.000000094279144,-2.31976237044384e-19,6.77085346139914e-19,-4.98387938365866e-19,-4.94210553487851e-19,0.000000000103063,0.000000000007774,0.000000000353473,0.000000000353473,0.000000000353473,0.000000000353473,0.000726007835723,0.000726007835723,0.000000000353473,0.000000000353473,0.000726007835723,0.000000083960375,0.000000083960235,0.172448415473745,0.000182998813407,0.172448415473745],[0.000850173710983,0.000279632099335,0.001544106967349,0.00000189698496,-0.000000321497259,-0.000850173030869,-0.000279632560641,-0.00154410412804,-0.000001896157322,-0.000614998571188,0.000000321858989,0.000000000680114,-0.000000000461306,0.000000002839309,0.000000000827638,-0.000000000035775,0.000000000361731,0.00355890311453,0.00355890311453,0.006142039453332,0.006142039453332,0.002439779736381,0.002439779736381,0.00355890311453,0.006142039453332,0.002439779736381,0.845345150185795,1.458916721538839,0.579520122155307,0.000614998535413,1.458916721538839],[-0.000000000002671,0.000000000001324,-0.000000000002668,0.000000000001332,0.000000000001332,0.000000000002671,-0.000000000001324,0.000000000002668,-0.000000000001332,0.000000000002676,-0.000000000001332,4.03896783473158e-27,8.07793566946316e-28,4.8467614016779e-27,4.03896783473158e-28,4.03896783473158e-27,8.07793566946316e-28,0.000000000011854,0.000000000011854,0.000000000011859,0.000000000011859,0.000000000011857,0.000000000011857,0.000000000011854,0.000000000011859,0.000000000011857,0.000000002815703,0.000000002816841,0.000000002816415,-0.000000000002676,0.000000002816841],[-0.000000000000052,0.000000000000003,-0.000000000000052,0.000000000000003,0.000000000000003,0.000000000000052,-0.000000000000003,0.000000000000052,-0.000000000000003,0.000000000000052,-0.000000000000003,6.31088724176809e-30,0.0,0.0,0.0,0.0,2.76101316827354e-30,0.000000000000207,0.000000000000207,0.000000000000207,0.000000000000207,0.000000000000206,0.000000000000206,0.000000000000207,0.000000000000207,0.000000000000206,0.00000000004909,0.000000000049185,0.000000000049035,-0.000000000000052,0.000000000049185],[0.001005821385598,0.000331774607866,0.000142870182995,0.00000007204933,-0.000000204520078,-0.001005730970493,-0.000331764137758,-0.000142870361251,-0.000000067328643,-0.000250073735918,0.000000199256025,0.000000090415105,0.000000010470108,-0.000000000178256,0.000000004720688,-0.000000002803989,-0.000000005264053,0.004216525422971,0.004216525422971,0.000568203678612,0.000568203678612,0.000991791623317,0.000991791623317,0.004216525422971,0.000568203678612,0.000991791623317,1.001549972628133,0.134965243102881,0.235579955897993,0.000250070931929,1.001549972628133],[-1.7215777962436e-18,-2.27978043230663e-18,-1.10601811434654e-18,2.63716908312498e-18,-3.57268616692889e-19,1.7215777962436e-18,2.27978043230663e-18,1.10601811434654e-18,-2.63716908312498e-18,-2.84531456895629e-18,3.57268616692889e-19,0.0,0.0,0.0,0.0,0.0,-4.81482486096809e-35,1.13732414965354e-17,1.13732414965354e-17,1.13732414965354e-17,1.13732414965354e-17,1.13732414965354e-17,1.13732414965354e-17,1.13732414965354e-17,1.13732414965354e-17,1.13732414965354e-17,0.000000000000003,0.000000000000003,0.000000000000003,2.84531456895629e-18,0.000000000000003],[0.000053021375314,0.000017484775697,0.000000000035983,-0.000000000019148,-0.000000000019146,-0.000053021342005,-0.000017484773184,-0.000000000035983,0.000000000019148,-0.000000000036114,0.000000000019146,0.000000000033309,0.000000000002512,1.03083034678857e-19,3.42754843154552e-19,-3.46604735595829e-19,-9.16171998649236e-20,0.000222257769752,0.000222257769752,0.000000000162109,0.000000000162109,0.000000000162113,0.000000000162113,0.000222257769752,0.000000000162109,0.000000000162113,0.052792818940219,0.00000003850559,0.000000038506668,0.000000000036114,0.052792818940219],[0.000050020201803,0.000016495088712,0.000000000034181,-0.000000000018041,-0.000000000018039,-0.000050019992911,-0.000016495072955,-0.000000000034181,0.000000000018041,-0.000000000034303,0.000000000018039,0.000000000208892,0.000000000015756,5.98208682568739e-19,2.10653888334153e-18,-2.1258463742066e-18,-5.43098756534371e-19,0.000209677300509,0.000209677300509,0.000000000153713,0.000000000153713,0.000000000153713,0.000000000153713,0.000209677300509,0.000000000153713,0.000000000153713,0.049804583992619,0.000000036511511,0.000000036511507,0.000000000034303,0.049804583992619],[0.000176080317513,0.000058051420452,0.000000000043797,-0.000000000066606,-0.000000000066728,-0.000176080125641,-0.000058051405979,-0.000000000043797,0.000000000066606,-0.000000000044012,0.000000000066728,0.000000000191872,0.000000000014473,8.46391727183207e-19,8.17938820837005e-19,-1.17549881401367e-18,3.05554702163406e-19,0.000737940777659,0.000737940777659,0.000000000317035,0.000000000317035,0.000000000317038,0.000000000317038,0.000737940777659,0.000000000317035,0.000000000317038,0.175282843461293,0.000000075305312,0.000000075306041,0.000000000044012,0.175282843461293],[0.000000000085122,-0.00000000002543,0.000000000085043,-0.000000000025638,-0.000000094279161,-0.000000000085122,0.00000000002543,-0.000000000085043,0.000000000025638,-0.000182998644992,0.000000094284085,-1.27277078856707e-19,4.15519071745137e-19,-3.49200628690825e-19,-2.90643482383605e-19,0.000000000065288,0.000000000004925,0.000000000353251,0.000000000353251,0.000000000353251,0.000000000353251,0.00072600783547,0.00072600783547,0.000000000353251,0.000000000353251,0.00072600783547,0.000000083907517,0.000000083907521,0.172448415413585,0.00018299871028,0.172448415413585],[0.000850173047171,0.000279632564719,0.001544104144347,0.000001896161356,-0.000000321854932,-0.000850171560119,-0.000279633573352,-0.001544097936273,-0.000001894351747,-0.000614998665757,0.000000322645847,0.000000001487051,-0.000000001008633,0.000000006208074,0.000000001809609,-0.000000000078221,0.000000000790915,0.003558903181174,0.003558903181174,0.006142039518216,0.006142039518216,0.002439779801226,0.002439779801226,0.003558903181174,0.006142039518216,0.002439779801226,0.845345166015796,1.458916736950874,0.579520137557981,0.000614998587536,1.458916736950874],[-0.000000000001816,0.000000000001691,-0.000000000001812,0.000000000001695,0.000000000001697,0.000000000001816,-0.000000000001691,0.000000000001812,-0.000000000001695,0.000000000001818,-0.000000000001697,4.03896783473158e-27,8.07793566946316e-28,4.24091622646816e-27,1.21169035041947e-27,3.837019442995e-27,8.07793566946316e-28,0.000000000009866,0.000000000009866,0.00000000000987,0.00000000000987,0.000000000009867,0.000000000009867,0.000000000009866,0.00000000000987,0.000000000009867,0.00000000234337,0.000000002344327,0.000000002343782,-0.000000000001818,0.000000002344327],[0.000000000000009,-0.000000000000032,0.000000000000008,-0.000000000000032,-0.000000000000032,-0.000000000000009,0.000000000000032,-0.000000000000008,0.000000000000032,-0.000000000000008,0.000000000000032,6.31088724176809e-30,0.0,6.31088724176809e-30,0.0,4.73316543132607e-30,0.0,0.000000000000131,0.000000000000131,0.000000000000131,0.000000000000131,0.000000000000131,0.000000000000131,0.000000000000131,0.000000000000131,0.000000000000131,0.000000000031061,0.000000000031058,0.000000000031048,0.000000000000008,0.000000000031061],[0.00100573150503,0.000331764216885,0.000142870896643,0.000000067406068,-0.00000019917751,-0.001005676327693,-0.000331757827327,-0.000142871005426,-0.00000006452518,-0.000250075983854,0.000000195965029,0.000000055177337,0.000000006389558,-0.000000000108783,0.000000002880887,-0.000000001711178,-0.000000003212482,0.004216527542779,0.004216527542779,0.00056820580804,0.00056820580804,0.000991793751847,0.000991793751847,0.004216527542779,0.00056820580804,0.000991793751847,1.001550476145477,0.134965748905233,0.235580461487046,0.000250074272676,1.001550476145477],[-1.72139333275421e-18,-2.2796184240286e-18,-1.10593233742781e-18,2.63720887503023e-18,-3.57212695905615e-19,1.72139333275421e-18,2.2796184240286e-18,1.10593233742781e-18,-2.63720887503023e-18,-2.84535394768083e-18,3.57212695905615e-19,3.85185988877447e-34,3.85185988877447e-34,3.85185988877447e-34,-7.70371977754894e-34,-1.15555796663234e-33,9.62964972193618e-35,1.13732414965354e-17,1.13732414965354e-17,1.13732414965354e-17,1.13732414965354e-17,1.13732414965354e-17,1.13732414965354e-17,1.13732414965354e-17,1.13732414965354e-17,1.13732414965354e-17,0.000000000000003,0.000000000000003,0.000000000000003,2.84535394768083e-18,0.000000000000003],[0.000053021342253,0.000017484773149,0.000000000036231,-0.000000000019184,-0.000000000019182,-0.000053021328174,-0.000017484772087,-0.000000000036231,0.000000000019184,-0.000000000036362,0.000000000019182,0.000000000014079,0.000000000001062,1.9844857764017e-20,1.18812746443605e-19,-1.26633118749834e-19,-3.97113967073709e-20,0.000222257770644,0.000222257770644,0.000000000163047,0.000000000163047,0.00000000016305,0.00000000016305,0.000222257770644,0.000000000163047,0.00000000016305,0.052792819152164,0.000000038728445,0.000000038729324,0.000000000036362,0.052792819152164],[0.000050019994816,0.000016495073078,0.000000000036088,-0.000000000017925,-0.000000000017919,-0.000050019861149,-0.000016495062996,-0.000000000036088,0.000000000017925,-0.000000000036215,0.000000000017919,0.000000000133667,0.000000000010082,3.60537300544578e-19,1.41002373023465e-18,-1.41932001247352e-18,-3.85646138625252e-19,0.000209677307862,0.000209677307862,0.000000000160253,0.000000000160253,0.000000000160253,0.000000000160253,0.000209677307862,0.000000000160253,0.000000000160253,0.049804585739305,0.000000038064733,0.000000038064728,0.000000000036215,0.049804585739305],[0.000176080128318,0.000058051406113,0.000000000046476,-0.000000000066481,-0.000000000066598,-0.000176079837134,-0.00005805138415,-0.000000000046476,0.000000000066481,-0.000000000046699,0.000000000066598,0.000000000291184,0.000000000021964,1.26227420909824e-18,1.34848206134738e-18,-1.78635771186185e-18,3.98801131179981e-19,0.000737940787944,0.000737940787944,0.000000000322604,0.000000000322604,0.000000000322607,0.000000000322607,0.000737940787944,0.000000000322604,0.000000000322607,0.175282845904418,0.000000076628059,0.00000007662879,0.000000000046699,0.175282845904418],[0.000000000085111,-0.000000000025263,0.000000000085032,-0.00000000002547,-0.000000094283918,-0.000000000085111,0.000000000025263,-0.000000000085032,0.00000000002547,-0.000182998600839,0.000000094287247,-2.02860875349802e-20,3.04446163820312e-19,-2.56845641880641e-19,-1.98811719622604e-19,0.000000000044143,0.00000000000333,0.000000000353019,0.000000000353019,0.000000000353019,0.000000000353019,0.000726007835427,0.000726007835427,0.000000000353019,0.000000000353019,0.000726007835427,0.000000083852439,0.000000083852572,0.172448415403456,0.000182998644982,0.172448415403456],[0.000850171825057,0.000279633641125,0.001544098201306,0.000001894418806,-0.00000032257841,-0.000850138098191,-0.000279656517276,-0.001543957399982,-0.000001853376233,-0.000615000705528,0.00000034051664,0.000000033726866,-0.000000022876151,0.000000140801325,0.000000041042573,-0.000000001774079,0.00000001793823,0.003558904266167,0.003558904266167,0.006142040572778,0.006142040572778,0.002439780855121,0.002439780855121,0.003558904266167,0.006142040572778,0.002439780855121,0.845345423733968,1.458916987440577,0.579520387889222,0.000614998931449,1.458916987440577],[-0.000000000002231,0.000000000001715,-0.000000000002227,0.000000000001721,0.000000000001723,0.000000000002231,-0.000000000001715,0.000000000002227,-0.000000000001721,0.000000000002234,-0.000000000001723,2.82727748431211e-27,1.21169035041947e-27,3.23117426778526e-27,1.0097419586829e-27,3.23117426778526e-27,8.07793566946316e-28,0.00000000001119,0.00000000001119,0.000000000011195,0.000000000011195,0.000000000011192,0.000000000011192,0.00000000001119,0.000000000011195,0.000000000011192,0.000000002657963,0.000000002659039,0.000000002658433,-0.000000000002234,0.000000002659039],[7.37751651391776e-18,-4.2511435939044e-18,-9.84434695504251e-18,-8.4978102273935e-18,1.27992166186991e-17,-7.37751651391776e-18,4.2511435939044e-18,9.84434695504251e-18,8.4978102273935e-18,-2.47441492060749e-18,-1.27992166186991e-17,0.0,7.70371977754894e-34,0.0,0.0,3.85185988877447e-34,0.0,3.38562477706018e-17,3.38562477706018e-17,5.17162727186543e-17,5.17162727186543e-17,5.17162727186543e-17,5.17162727186543e-17,3.38562477706018e-17,5.17162727186543e-17,5.17162727186543e-17,0.000000000000008,0.000000000000012,0.000000000000012,2.47441492060749e-18,0.000000000000012],[0.001005676565116,0.000331757862515,0.000142871243242,0.000000064559607,-0.00000019593011,-0.001005667063013,-0.000331756762167,-0.000142871261976,-0.000000064063488,-0.00025007651696,0.000000195376887,0.000000009502102,0.000000001100347,-0.000000000018734,0.000000000496119,-0.000000000294682,-0.000000000553223,0.004216528484424,0.004216528484424,0.000568206753909,0.000568206753909,0.000991794697318,0.000991794697318,0.004216528484424,0.000568206753909,0.000991794697318,1.001550699814321,0.134965973577363,0.235580686064363,0.000250076222277,1.001550699814321],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],[0.000053021328137,0.000017484772162,0.000000000036194,-0.000000000019109,-0.000000000019107,-0.000053021319864,-0.000017484771538,-0.000000000036194,0.000000000019109,-0.000000000036325,0.000000000019107,0.000000000008272,0.000000000000624,3.47137976285242e-20,9.2703582046064e-20,-8.32532535739731e-20,-2.21743437718084e-20,0.000222257770598,0.000222257770598,0.000000000162777,0.000000000162777,0.00000000016278,0.00000000016278,0.000222257770598,0.000000000162777,0.00000000016278,0.052792819141072,0.00000003866438,0.000000038665167,0.000000000036325,0.052792819141072],[0.000176079839903,0.000058051384351,0.000000000049248,-0.000000000066289,-0.000000000066401,-0.000176079633317,-0.000058051368768,-0.000000000049248,0.000000000066289,-0.000000000049478,0.000000000066401,0.000000000206586,0.000000000015582,8.49520376291475e-19,9.8569638696265e-19,-1.25064222084111e-18,2.16685519078006e-19,0.000737940798663,0.000737940798663,0.00000000032843,0.00000000032843,0.000000000328433,0.000000000328433,0.000737940798663,0.00000000032843,0.000000000328433,0.175282848450515,0.000000078011966,0.000000078012654,0.000000000049478,0.175282848450515],[0.000000000085133,-0.000000000025598,0.000000000085053,-0.000000000025805,-0.000000094287583,-0.000000000085133,0.000000000025598,-0.000000000085053,0.000000000025805,-0.000182998539287,0.000000094292227,-1.4419497741025e-19,4.31933162375674e-19,-3.03551968653445e-19,-3.19614568915957e-19,0.000000000061573,0.000000000004644,0.000000000353483,0.000000000353483,0.000000000353483,0.000000000353483,0.000726007835512,0.000726007835512,0.000000000353483,0.000000000353483,0.000726007835512,0.000000083962798,0.000000083962774,0.172448415423702,0.00018299860086,0.172448415423702],[0.000000000017112,-0.000000000005656,0.000033976409651,0.000000026324093,-0.000000000005703,-0.000000000017112,0.000000000005656,-0.000033976291046,-0.000000026315147,-0.000000000017142,0.000000000005703,-6.78293007216021e-19,-5.92254121147286e-19,0.000000000118606,0.000000000008946,-1.84394016475767e-19,8.78661854759871e-19,0.000000000071669,0.000000000071669,0.00013516201864,0.00013516201864,0.000000000071669,0.000000000071669,0.000000000071669,0.00013516201864,0.000000000071669,0.000000017023595,0.032104992260238,0.000000017023608,0.000000000017142,0.032104992260238],[0.000850138373377,0.000279656598175,0.001509981282719,0.000001827126572,-0.00000034043608,-0.000850133159109,-0.000279659971152,-0.001509960658156,-0.000001821037159,-0.000615001203353,0.000000343106983,0.000000005214267,-0.000000003372977,0.000000020624563,0.000000006089413,-0.000000000221823,0.000000002670903,0.003558905406206,0.003558905406206,0.006006879730171,0.006006879730171,0.002439781949874,0.002439781949874,0.003558905406206,0.006006879730171,0.002439781949874,0.845345694527078,1.42681227452309,0.579520647925702,0.000615000981529,1.42681227452309],[-0.000000000001103,0.000000000001065,-0.000000000001101,0.000000000001068,0.000000000001069,0.000000000001103,-0.000000000001065,0.000000000001101,-0.000000000001068,0.000000000001105,-0.000000000001069,8.07793566946316e-28,0.0,8.07793566946316e-28,0.0,8.07793566946316e-28,4.03896783473158e-28,0.000000000006097,0.000000000006097,0.000000000006101,0.000000000006101,0.000000000006099,0.000000000006099,0.000000000006097,0.000000000006101,0.000000000006099,0.000000001448224,0.000000001449147,0.000000001448643,-0.000000000001105,0.000000001449147],[0.0000000002609,-0.000000000057979,0.000142873919518,0.000000064673698,-0.000000194760528,-0.000000000260901,0.000000000057979,-0.000142873599346,-0.000000064969313,-0.000250077824275,0.000000195248425,-5.13393994842336e-16,3.86240708760026e-16,0.000000000320172,-0.000000000295615,0.000000001356633,0.000000000487897,0.000000001064169,0.000000001064169,0.00056821732419,0.00056821732419,0.000991805260533,0.000991805260533,0.000000001064169,0.00056821732419,0.000991805260533,0.000000252771836,0.134968484332826,0.235583195141543,0.000250079180909,0.235583195141543],[-0.000000000000006,-0.00000000000001,-0.000000000000006,-0.00000000000001,-0.00000000000001,0.000000000000006,0.00000000000001,0.000000000000006,0.00000000000001,0.000000000000006,0.00000000000001,7.88860905221012e-31,-3.15544362088405e-30,7.88860905221012e-31,-1.57772181044202e-30,2.36658271566304e-30,-3.15544362088405e-30,0.000000000000046,0.000000000000046,0.000000000000046,0.000000000000046,0.000000000000046,0.000000000000046,0.000000000000046,0.000000000000046,0.000000000000046,0.000000000010991,0.000000000010972,0.000000000010977,-0.000000000000006,0.000000000010991],[0.001005667340944,0.000331756860621,-0.000000002117947,-0.000000000571512,-0.00000000057665,-0.001005569196627,-0.000331749457735,0.000000002117948,0.000000000571509,0.000000002122912,0.000000000576653,0.000000098144318,0.000000007402886,0.000000000000001,-0.000000000000003,0.000000000000002,0.000000000000002,0.004216529658167,0.004216529658167,0.000000008724467,0.000000008724467,0.000000008724465,0.000000008724465,0.004216529658167,0.000000008724467,0.000000008724465,1.001550978613035,0.000002072319925,0.000002072319397,-0.00000000212291,1.001550978613035],[0.000053021320072,0.000017484771526,0.000000000036402,-0.000000000019122,-0.000000000019119,-0.000053021312459,-0.000017484770952,-0.000000000036402,0.000000000019122,-0.000000000036533,0.000000000019119,0.000000000007613,0.000000000000574,2.54023094835457e-20,7.90990782207236e-20,-7.75623091207451e-20,-1.20338364761185e-20,0.000222257771367,0.000222257771367,0.000000000163531,0.000000000163531,0.000000000163534,0.000000000163534,0.000222257771367,0.000000000163531,0.000000000163534,0.052792819323683,0.000000038843494,0.000000038844298,0.000000000036533,0.052792819323683],[0.000176079635291,0.000058051368891,0.000000000051224,-0.000000000066172,-0.000000000066281,-0.000176079494149,-0.000058051358245,-0.000000000051224,0.000000000066172,-0.000000000051459,0.000000000066281,0.000000000141142,0.000000000010646,5.73341662339091e-19,6.79915722320349e-19,-8.63146180017589e-19,2.31936816718317e-19,0.000737940806278,0.000737940806278,0.000000000332808,0.000000000332808,0.000000000332811,0.000000000332811,0.000737940806278,0.000000000332808,0.000000000332811,0.175282850259284,0.000000079051894,0.000000079052604,0.000000000051459,0.175282850259284],[0.000000000085283,-0.000000000025523,0.000000000085204,-0.000000000025731,-0.000000094292153,-0.000000000085283,0.000000000025523,-0.000000000085204,0.000000000025731,-0.000182998492444,0.000000094295697,-8.53227237572615e-20,3.00857822011314e-19,-2.41379665021979e-19,-1.78930588696257e-19,0.000000000046993,0.000000000003545,0.00000000035397,0.00000000035397,0.00000000035397,0.00000000035397,0.00072600783611,0.00072600783611,0.00000000035397,0.00000000035397,0.00072600783611,0.000000084078452,0.0000000840785,0.172448415565691,0.000182998539438,0.172448415565691],[0.000000000017116,-0.000000000005654,0.00003397629105,0.000000026315148,-0.000000000005701,-0.000000000017116,0.000000000005654,-0.000033976186456,-0.000000026307259,-0.000000000017146,0.000000000005701,-5.94668792217886e-19,-5.2452104334135e-19,0.000000000104594,0.000000000007889,-1.58245977820611e-19,7.79906515146999e-19,0.000000000071684,0.000000000071684,0.000135162018658,0.000135162018658,0.000000000071684,0.000000000071684,0.000000000071684,0.000135162018658,0.000000000071684,0.000000017026981,0.03210499226434,0.000000017026976,0.000000000017146,0.03210499226434],[0.000850133218844,0.000279659986404,0.001509960717909,0.000001821052244,-0.000000343091811,-0.000850130405894,-0.00027966180603,-0.001509949591537,-0.000001817767176,-0.000615001382928,0.000000344532689,0.000000002812951,-0.000000001819626,0.000000011126372,0.000000003285067,-0.000000000119667,0.000000001440877,0.003558905650808,0.003558905650808,0.00600687996795,0.00600687996795,0.002439782187503,0.002439782187503,0.003558905650808,0.00600687996795,0.002439782187503,0.845345752627264,1.42681233100281,0.579520704369602,0.000615001263261,1.42681233100281],[-0.000000000001934,0.000000000001114,-0.000000000001931,0.00000000000112,0.00000000000112,0.000000000001934,-0.000000000001114,0.000000000001931,-0.00000000000112,0.000000000001936,-0.00000000000112,1.61558713389263e-27,2.01948391736579e-28,1.21169035041947e-27,2.01948391736579e-28,1.61558713389263e-27,0.0,0.000000000008873,0.000000000008873,0.000000000008878,0.000000000008878,0.000000000008874,0.000000000008874,0.000000000008873,0.000000000008878,0.000000000008874,0.000000002107612,0.000000002108904,0.000000002107864,-0.000000000001936,0.000000002108904],[0.00000000026094,-0.000000000057982,0.000142873599385,0.00000006496931,-0.000000195248428,-0.00000000026094,0.000000000057982,-0.000142873363701,-0.000000065186918,-0.000250076825671,0.000000195607578,-3.78006706210206e-16,2.84319554368062e-16,0.000000000235685,-0.000000000217608,0.000000000998644,0.00000000035915,0.000000001064323,0.000000001064323,0.000568217324345,0.000568217324345,0.000991805260687,0.000991805260687,0.000000001064323,0.000568217324345,0.000991805260687,0.000000252808196,0.134968484369574,0.235583195178311,0.000250077824314,0.235583195178311],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],[0.001005570059701,0.000331749510548,-0.000000001253611,-0.000000000521572,-0.000000000525129,-0.001005512064109,-0.000331745136024,0.000000001253612,0.000000000521571,0.000000001256243,0.00000000052513,0.000000057995592,0.000000004374524,6.01504747604615e-16,-8.74265991015823e-16,4.56550373517493e-16,9.57946638317448e-16,0.004216532987841,0.004216532987841,0.00000000539998,0.00000000539998,0.000000005399978,0.000000005399978,0.004216532987841,0.00000000539998,0.000000005399978,1.001551769509375,0.000001282655614,0.000001282655202,-0.000000001256242,1.001551769509375],[0.000053021312292,0.000017484770941,0.000000000036234,-0.000000000019133,-0.00000000001913,-0.000053021305509,-0.000017484770429,-0.000000000036234,0.000000000019133,-0.000000000036365,0.00000000001913,0.000000000006783,0.000000000000512,1.8497910458748e-20,6.75079287751631e-20,-6.86753714251595e-20,-2.19769771851835e-20,0.000222257770721,0.000222257770721,0.000000000162962,0.000000000162962,0.000000000162965,0.000000000162965,0.000222257770721,0.000000000162962,0.000000000162965,0.05279281917036,0.000000038708269,0.000000038709015,0.000000000036365,0.05279281917036],[0.000176079495599,0.000058051358295,0.000000000052675,-0.000000000066126,-0.000000000066234,-0.000176079384069,-0.000058051349882,-0.000000000052675,0.000000000066126,-0.000000000052914,0.000000000066234,0.00000000011153,0.000000000008413,4.64749029631612e-19,5.60737413744784e-19,-6.81100238495176e-19,9.55334541633132e-20,0.000737940811818,0.000737940811818,0.000000000336229,0.000000000336229,0.000000000336233,0.000000000336233,0.000737940811818,0.000000000336229,0.000000000336233,0.175282851575292,0.000000079864485,0.000000079865316,0.000000000052914,0.175282851575292],[0.000000000085249,-0.000000000025651,0.00000000008517,-0.000000000025859,-0.000000094295826,-0.000000000085249,0.000000000025651,-0.00000000008517,0.000000000025859,-0.000182998157056,0.000000094321121,-5.2586011869831e-19,2.28616195468864e-18,-1.71460494421466e-18,-1.6051038280877e-18,0.000000000335355,0.000000000025295,0.000000000353989,0.000000000353989,0.000000000353989,0.000000000353989,0.000726007835976,0.000726007835976,0.000000000353989,0.000000000353989,0.000726007835976,0.000000084082837,0.000000084082827,0.17244841553385,0.000182998492411,0.17244841553385],[0.000850130429602,0.000279661812442,0.001509949615253,0.000001817773522,-0.000000344526308,-0.000850130009504,-0.000279662084193,-0.001509947953594,-0.000001817282916,-0.000615001424577,0.000000344741495,0.000000000420098,-0.000000000271751,0.000000001661659,0.000000000490606,-0.000000000017872,0.000000000215187,0.003558905748334,0.003558905748334,0.006006880062329,0.006006880062329,0.002439782281817,0.002439782281817,0.003558905748334,0.006006880062329,0.002439782281817,0.84534577579249,1.42681235342043,0.57952072677197,0.000615001406705,1.42681235342043],[-0.000000000001797,0.000000000000606,-0.000000000001796,0.000000000000611,0.00000000000061,0.000000000001797,-0.000000000000606,0.000000000001796,-0.000000000000611,0.000000000001801,-0.00000000000061,1.21169035041947e-27,2.01948391736579e-28,1.0097419586829e-27,6.05845175209737e-28,1.41363874215605e-27,3.02922587604869e-28,0.000000000007541,0.000000000007541,0.000000000007544,0.000000000007544,0.000000000007543,0.000000000007543,0.000000000007541,0.000000000007544,0.000000000007543,0.000000001791134,0.00000000179193,0.000000001791625,-0.000000000001801,0.00000000179193],[0.000000000261009,-0.000000000057955,0.00014287336377,0.000000065186945,-0.000000195607551,-0.00000000026101,0.000000000057955,-0.000142873042885,-0.000000065483218,-0.000250075466086,0.000000196096535,-5.14772132853758e-16,3.87173818309231e-16,0.000000000320885,-0.000000000296273,0.000000001359655,0.000000000488984,0.000000001064568,0.000000001064568,0.000568217324621,0.000568217324621,0.000991805260963,0.000991805260963,0.000000001064568,0.000568217324621,0.000991805260963,0.000000252866519,0.134968484435138,0.235583195243785,0.00025007682574,0.235583195243785],[-4.05661562406197e-18,-4.20545746988669e-18,-1.59661665347598e-18,5.62780721530581e-18,-1.42574295755168e-18,4.05661562406197e-18,4.20545746988668e-18,1.59661665347598e-18,-5.62780721530581e-18,-5.6903366048372e-18,1.42574295755168e-18,0.0,-7.70371977754894e-34,-3.85185988877447e-34,0.0,-1.54074395550979e-33,3.85185988877447e-34,2.3265480940879e-17,2.3265480940879e-17,2.3265480940879e-17,2.3265480940879e-17,2.3265480940879e-17,2.3265480940879e-17,2.3265480940879e-17,2.3265480940879e-17,2.3265480940879e-17,0.000000000000006,0.000000000000006,0.000000000000006,5.6903366048372e-18,0.000000000000006],[0.001005512638688,0.000331745171189,-0.000000000678161,-0.000000000488326,-0.000000000490828,-0.001005466686052,-0.000331741705047,0.000000000678162,0.000000000488326,0.000000000679239,0.000000000490829,0.000000045952636,0.000000003466141,3.82888865979018e-16,-3.48009266820947e-16,1.1005936837995e-16,5.05441906948255e-16,0.00421653520464,0.00421653520464,0.000000003323553,0.000000003323553,0.000000003323552,0.000000003323552,0.00421653520464,0.000000003323553,0.000000003323552,1.001552296064978,0.000000789442415,0.000000789442209,-0.000000000679239,1.001552296064978],[0.000053021305579,0.00001748477055,0.000000000036305,-0.000000000019012,-0.000000000019009,-0.000053021298542,-0.000017484770019,-0.000000000036305,0.000000000019012,-0.000000000036435,0.000000000019009,0.000000000007036,0.000000000000531,2.49319539077328e-20,7.55213475880213e-20,-7.63226044894239e-20,-1.84272866827771e-20,0.000222257771136,0.000222257771136,0.000000000162986,0.000000000162986,0.000000000162987,0.000000000162987,0.000222257771136,0.000000000162986,0.000000000162987,0.052792819268857,0.000000038714006,0.000000038714157,0.000000000036435,0.052792819268857],[0.000176079386509,0.000058051350139,0.000000000055117,-0.000000000065877,-0.00000000006598,-0.000176079028915,-0.000058051323167,-0.000000000055117,0.000000000065877,-0.000000000055363,0.00000000006598,0.000000000357594,0.000000000026973,1.43726444862959e-18,1.892025853976e-18,-2.36022454987938e-18,3.24017076167557e-19,0.000737940821361,0.000737940821361,0.000000000341605,0.000000000341605,0.000000000341608,0.000000000341608,0.000737940821361,0.000000000341605,0.000000000341608,0.175282853841924,0.000000081141321,0.000000081141964,0.000000000055363,0.175282853841924],[0.000000000013093,-0.000000000003935,0.000000000013081,-0.000000000003967,-0.000000014540349,-0.000000000013093,0.000000000003935,-0.000000000013081,0.000000000003967,-0.000027999455404,0.000000014542437,-4.52381344998972e-20,1.8999225126911e-19,-1.40443120411844e-19,-1.28188391977051e-19,0.000000000027679,0.000000000002088,0.000000000054364,0.000000000054364,0.000000000054364,0.000000000054364,0.000111082234321,0.000111082234321,0.000000000054364,0.000000000054364,0.000111082234321,0.000000012913101,0.000000012913103,0.026385328578333,0.000027999483083,0.026385328578333],[0.000000000072177,-0.000000000021717,0.000000000072109,-0.000000000021893,-0.000000079780773,-0.000000000072177,0.000000000021717,-0.000000000072109,0.000000000021893,-0.000154996210712,0.000000079966575,-3.8984493649514e-18,1.67074223723626e-17,-1.25164048308386e-17,-1.17277771743944e-17,0.000000002463281,0.000000000185802,0.000000000299706,0.000000000299706,0.000000000299706,0.000000000299706,0.000614925601739,0.000614925601739,0.000000000299706,0.000000000299706,0.000614925601739,0.000000071189162,0.000000071189161,0.146063086975619,0.000154998673994,0.146063086975619],[0.000850130014398,0.000279662085236,0.001509947958489,0.000001817283947,-0.000000344740457,-0.000850129693722,-0.000279662292674,-0.001509946690084,-0.000001816909449,-0.000615001443127,0.000000344904717,0.000000000320676,-0.000000000207437,0.000000001268405,0.000000000374497,-0.000000000013642,0.00000000016426,0.003558905768118,0.003558905768118,0.006006880081806,0.006006880081806,0.002439782301287,0.002439782301287,0.003558905768118,0.006006880081806,0.002439782301287,0.845345780491878,1.426812358046983,0.57952073139664,0.000615001429485,1.426812358046983],[-0.000000000001474,0.00000000000042,-0.000000000001474,0.000000000000425,0.000000000000424,0.000000000001474,-0.00000000000042,0.000000000001474,-0.000000000000425,0.000000000001478,-0.000000000000424,2.01948391736579e-28,1.51461293802434e-28,6.05845175209737e-28,0.0,6.05845175209737e-28,1.51461293802434e-28,0.000000000006096,0.000000000006096,0.000000000006101,0.000000000006101,0.0000000000061,0.0000000000061,0.000000000006096,0.000000000006101,0.0000000000061,0.000000001447974,0.000000001449173,0.000000001448867,-0.000000000001478,0.000000001449173],[0.000000000261067,-0.000000000057948,0.000142873042943,0.000000065483225,-0.000000196096528,-0.000000000261068,0.000000000057948,-0.000142872815867,-0.000000065692885,-0.000250074503975,0.000000196442561,-3.64448033567475e-16,2.73953722873179e-16,0.000000000227076,-0.00000000020966,0.000000000962169,0.000000000346033,0.000000001064786,0.000000001064786,0.00056821732485,0.00056821732485,0.000991805261192,0.000991805261192,0.000000001064786,0.00056821732485,0.000991805261192,0.00000025291829,0.134968484489672,0.235583195298266,0.000250075466144,0.235583195298266],[-1.22814584260221e-18,7.07120717232241e-19,1.23026707815165e-18,7.06722955814549e-19,-1.42276222854521e-18,1.22814584260221e-18,-7.07120717232241e-19,-1.23026707815165e-18,-7.06722955814549e-19,7.46032551217625e-22,1.42276222854521e-18,0.0,0.0,0.0,0.0,4.38224293986549e-35,0.0,5.64270796176697e-18,5.64270796176697e-18,5.64270796176697e-18,5.64270796176697e-18,5.64270796176697e-18,5.64270796176697e-18,5.64270796176697e-18,5.64270796176697e-18,5.64270796176697e-18,0.000000000000001,0.000000000000001,0.000000000000001,-7.46032551217581e-22,0.000000000000001],[0.001005467045006,0.000331741726994,-0.000000000318647,-0.000000000467582,-0.000000000469424,-0.001005448057019,-0.000331740294757,0.000000000318647,0.000000000467582,0.000000000318754,0.000000000469424,0.000000018987988,0.000000001432237,1.33810664600221e-16,-5.51967449469077e-17,-1.89226388036714e-17,1.43573252745424e-16,0.00421653658956,0.00421653658956,0.000000002250353,0.000000002250353,0.000000002250353,0.000000002250353,0.00421653658956,0.000000002250353,0.000000002250353,1.001552625024734,0.000000534525611,0.000000534525749,-0.000000000318754,1.001552625024734],[0.000053021298698,0.000017484769917,0.00000000003646,-0.000000000019116,-0.000000000019112,-0.000053021277457,-0.000017484768315,-0.00000000003646,0.000000000019116,-0.00000000003659,0.000000000019112,0.000000000021241,0.000000000001602,5.97500861533638e-20,2.07325757189467e-19,-2.17081480097478e-19,-5.63408224846353e-20,0.000222257771595,0.000222257771595,0.000000000163723,0.000000000163723,0.000000000163723,0.000000000163723,0.000222257771595,0.000000000163723,0.000000000163723,0.05279281937801,0.000000038889188,0.000000038889003,0.00000000003659,0.05279281937801],[0.000176079046907,0.000058051324297,0.000000000073128,-0.000000000064802,-0.000000000064877,-0.000176076154503,-0.000058051106127,-0.000000000073128,0.000000000064802,-0.000000000073421,0.000000000064877,0.000000002892404,0.00000000021817,1.07640745570296e-17,1.88973032954846e-17,-2.17690006759589e-17,-2.08541034143324e-19,0.000737940890784,0.000737940890784,0.000000000388595,0.000000000388595,0.000000000388598,0.000000000388598,0.000737940890784,0.000000000388595,0.000000000388598,0.175282870332051,0.000000092302954,0.000000092303606,0.000000000073421,0.175282870332051],[0.000000000013091,-0.000000000003934,0.000000000013079,-0.000000000003966,-0.000000014542436,-0.000000000013091,0.000000000003934,-0.000000000013079,0.000000000003966,-0.000027999424838,0.000000014544741,-4.77411313346943e-20,2.06405586612661e-19,-1.58440677072877e-19,-1.53719324006881e-19,0.000000000030564,0.000000000002305,0.000000000054353,0.000000000054353,0.000000000054353,0.000000000054353,0.000111082234311,0.000111082234311,0.000000000054353,0.000000000054353,0.000111082234311,0.000000012910425,0.000000012910423,0.026385328575968,0.000027999455402,0.026385328575968],[0.000850129699261,0.000279662293347,0.001509946695622,0.000001816910107,-0.000000344904053,-0.000850129399346,-0.000279662487354,-0.001509945509336,-0.000001816559855,-0.00061500146144,0.000000345057679,0.000000000299915,-0.000000000194007,0.000000001186287,0.000000000350252,-0.000000000012759,0.000000000153625,0.003558905789877,0.003558905789877,0.006006880103843,0.006006880103843,0.002439782323316,0.002439782323316,0.003558905789877,0.006006880103843,0.002439782323316,0.845345785660356,1.42681236328135,0.579520736629316,0.000615001448681,1.42681236328135],[-0.000000000001474,0.000000000000421,-0.000000000001474,0.000000000000425,0.000000000000424,0.000000000001474,-0.000000000000421,0.000000000001474,-0.000000000000425,0.000000000001478,-0.000000000000424,1.21169035041947e-27,-5.04870979341448e-29,1.41363874215605e-27,1.0097419586829e-28,1.41363874215605e-27,5.04870979341448e-29,0.000000000006096,0.000000000006096,0.0000000000061,0.0000000000061,0.0000000000061,0.0000000000061,0.000000000006096,0.0000000000061,0.0000000000061,0.000000001448016,0.000000001449008,0.00000000144899,-0.000000000001478,0.000000001449008],[0.000000000261139,-0.000000000057929,0.000142872815938,0.000000065692904,-0.000000196442541,-0.00000000026114,0.00000000005793,-0.000142872180909,-0.000000066279227,-0.000250071813299,0.000000197410237,-0.000000000000001,7.66197008362004e-16,0.000000000635029,-0.000000000586323,0.000000002690748,0.000000000967696,0.000000001065047,0.000000001065047,0.000568217325135,0.000568217325135,0.000991805261477,0.000991805261477,0.000000001065047,0.000568217325135,0.000991805261477,0.000000252980228,0.134968484557212,0.235583195365753,0.000250074504047,0.235583195365753],[-2.82849072251567e-18,-4.91258900179447e-18,-2.82689455724969e-18,4.92105634419157e-18,-2.99201066825357e-21,2.82849072251567e-18,4.91258900179447e-18,2.82689455724969e-18,-4.92105634419157e-18,-5.69102701984841e-18,2.99201066825322e-21,0.0,0.0,0.0,0.0,0.0,-3.51707909766028e-34,2.25708318470679e-17,2.25708318470679e-17,2.25708318470679e-17,2.25708318470679e-17,2.25708318470679e-17,2.25708318470679e-17,2.25708318470679e-17,2.25708318470679e-17,2.25708318470679e-17,0.000000000000005,0.000000000000005,0.000000000000005,5.69102701984841e-18,0.000000000000005],[0.000182069297117,0.000060070785429,0.000000000104784,-0.000000000073897,-0.000000000073929,-0.000182069101204,-0.000060070770651,-0.000000000104784,0.000000000073897,-0.000000000105201,0.000000000073929,0.000000000195913,0.000000000014777,7.46486933675281e-19,1.71322845105188e-18,-1.86210754547587e-18,-2.48433551093101e-19,0.000763539962765,0.000763539962765,0.000000000509938,0.000000000509938,0.000000000509942,0.000000000509942,0.000763539962765,0.000000000509938,0.000000000509942,0.181363409939706,0.000000121125488,0.000000121126378,0.000000000105201,0.181363409939706],[0.000823379157241,0.000271669533676,-0.000000000025464,-0.00000000037067,-0.000000000371749,-0.000823326450752,-0.000271665558101,0.000000000025465,0.00000000037067,0.000000000024914,0.00000000037175,0.000000052706489,0.000000003975575,3.19296250955883e-16,4.4906897972289e-17,-1.98472127704854e-16,2.53974944445206e-16,0.003452998159935,0.003452998159935,0.000000001477649,0.000000001477649,0.000000001477649,0.000000001477649,0.003452998159935,0.000000001477649,0.000000001477649,0.820189579251236,0.000000350985449,0.000000350985468,-0.000000000024914,0.820189579251236],[0.000053021277707,0.000017484768331,0.00000000003671,-0.0000000000191,-0.000000000019096,-0.000053021256301,-0.000017484766717,-0.00000000003671,0.0000000000191,-0.000000000036842,0.000000000019096,0.000000000021406,0.000000000001615,5.12762670126116e-20,2.22744578290866e-19,-2.16024220490013e-19,-6.58367008203792e-20,0.000222257772564,0.000222257772564,0.000000000164579,0.000000000164579,0.000000000164579,0.000000000164579,0.000222257772564,0.000000000164579,0.000000000164579,0.052792819608043,0.000000039092405,0.000000039092349,0.000000000036842,0.052792819608043],[0.000176076171206,0.000058051107183,0.000000000089848,-0.000000000063798,-0.000000000063846,-0.000176076027167,-0.000058051096318,-0.000000000089848,0.000000000063798,-0.000000000090185,0.000000000063846,0.000000000144039,0.000000000010865,4.91626900080982e-19,1.15282383533198e-18,-1.19098737678046e-18,-1.1903724843173e-19,0.00073794095524,0.00073794095524,0.000000000438252,0.000000000438252,0.000000000438255,0.000000000438255,0.00073794095524,0.000000000438252,0.000000000438255,0.175282885642224,0.000000104097938,0.000000104098511,0.000000000090185,0.175282885642224],[0.000000000013094,-0.000000000003938,0.000000000013081,-0.00000000000397,-0.000000014544745,-0.000000000013094,0.000000000003938,-0.000000000013081,0.00000000000397,-0.000027999341996,0.000000014550994,-1.26656979356215e-19,5.66695926084572e-19,-4.27318475219018e-19,-3.91479773349733e-19,0.000000000082845,0.000000000006249,0.000000000054368,0.000000000054368,0.000000000054368,0.000000000054368,0.000111082234322,0.000111082234322,0.000000000054368,0.000000000054368,0.000111082234322,0.000000012913965,0.000000012913964,0.026385328578497,0.000027999424841,0.026385328578497],[0.00085012940341,0.000279662488447,0.001509945513401,0.000001816560937,-0.000000345056591,-0.000850129083588,-0.000279662695332,-0.001509944248374,-0.000001816187437,-0.000615001479121,0.000000345220413,0.000000000319822,-0.000000000206885,0.000000001265027,0.0000000003735,-0.000000000013606,0.000000000163822,0.003558905806587,0.003558905806587,0.00600688012002,0.00600688012002,0.002439782339484,0.002439782339484,0.003558905806587,0.00600688012002,0.002439782339484,0.845345789629406,1.426812367123824,0.579520740469588,0.000615001465516,1.426812367123824],[-0.000000000000693,-0.000000000000459,-0.000000000000695,-0.000000000000456,-0.000000000000459,0.000000000000693,0.000000000000459,0.000000000000695,0.000000000000456,0.000000000000697,0.000000000000459,1.0097419586829e-28,1.0097419586829e-28,0.0,1.0097419586829e-28,1.0097419586829e-28,2.01948391736579e-28,0.000000000003305,0.000000000003305,0.000000000003307,0.000000000003307,0.00000000000331,0.00000000000331,0.000000000003305,0.000000000003307,0.00000000000331,0.000000000785058,0.000000000785585,0.000000000786315,-0.000000000000697,0.000000000786315],[0.00000000026127,-0.000000000057891,0.000142872181039,0.000000066279266,-0.000000197410198,-0.00000000026127,0.000000000057891,-0.000142871721216,-0.000000066703821,-0.000250069865063,0.000000198110905,-7.38624475350063e-16,5.54949769060364e-16,0.000000000459823,-0.000000000424555,0.000000001948366,0.000000000700707,0.000000001065517,0.000000001065517,0.000568217325652,0.000568217325652,0.000991805261993,0.000991805261993,0.000000001065517,0.000568217325652,0.000991805261993,0.00000025309199,0.134968484680048,0.235583195488474,0.000250071813429,0.235583195488474],[1.20932641730084e-19,-3.34021258930606e-18,-4.73563021799337e-18,8.29482915610956e-18,-4.95652044694571e-18,-1.20932641730083e-19,3.34021258930606e-18,4.73563021799337e-18,-8.29482915610956e-18,-4.6468229977883e-18,4.95652044694571e-18,6.74075480535533e-34,1.15555796663234e-33,7.70371977754894e-34,-1.54074395550979e-33,-7.70371977754894e-34,0.0,1.33083001112538e-17,1.33083001112538e-17,3.79871317112447e-17,3.79871317112447e-17,2.6946024885628e-17,2.6946024885628e-17,1.33083001112538e-17,3.79871317112447e-17,2.6946024885628e-17,0.000000000000003,0.000000000000009,0.000000000000006,4.6468229977883e-18,0.000000000000009],[0.000182069102747,0.00006007077054,0.000000000106329,-0.000000000074014,-0.000000000074043,-0.000182069030657,-0.000060070765102,-0.000000000106329,0.000000000074014,-0.00000000010675,0.000000000074043,0.00000000007209,0.000000000005438,2.70074469998564e-19,6.54582902470606e-19,-6.75002398728754e-19,-6.5348509162608e-20,0.000763539968462,0.000763539968462,0.000000000515237,0.000000000515237,0.00000000051524,0.00000000051524,0.000763539968462,0.000000000515237,0.00000000051524,0.181363411292929,0.000000122384163,0.000000122384702,0.00000000010675,0.181363411292929],[0.000823326962469,0.000271665589374,0.000000000487091,-0.00000000034112,-0.000000000341257,-0.000823287089667,-0.000271662581826,-0.000000000487091,0.00000000034112,-0.000000000489026,0.000000000341257,0.000000039872803,0.000000003007548,1.52675980407828e-16,3.59042692556078e-16,-3.87370725442262e-16,-4.71030954824442e-17,0.003453000134371,0.003453000134371,0.000000002364994,0.000000002364994,0.000000002364994,0.000000002364994,0.003453000134371,0.000000002364994,0.000000002364994,0.820190048238182,0.000000561756272,0.000000561756285,0.000000000489026,0.820190048238182],[0.000053021257506,0.000017484766798,0.000000000037916,-0.000000000019022,-0.000000000019016,-0.000053021057495,-0.000017484751712,-0.000000000037916,0.000000000019022,-0.000000000038051,0.000000000019016,0.00000000020001,0.000000000015087,5.71277756237892e-19,2.09348277441292e-18,-2.09667562372272e-18,-5.56365773900964e-19,0.00022225777722,0.00022225777722,0.000000000168709,0.000000000168709,0.000000000168709,0.000000000168709,0.00022225777722,0.000000000168709,0.000000000168709,0.052792820713948,0.000000040073317,0.000000040073308,0.000000000038051,0.052792820713948],[0.000176076028433,0.000058051096421,0.000000000091114,-0.0000000000637,-0.000000000063746,-0.000176075914781,-0.000058051087848,-0.000000000091114,0.0000000000637,-0.000000000091455,0.000000000063746,0.000000000113652,0.000000000008573,3.84501582382595e-19,8.89725147460143e-19,-9.58710808550238e-19,-9.69676560985094e-20,0.00073794096015,0.00073794096015,0.000000000442144,0.000000000442144,0.000000000442146,0.000000000442146,0.00073794096015,0.000000000442144,0.000000000442146,0.175282886808528,0.000000105022411,0.000000105022859,0.000000000091455,0.175282886808528],[0.000850129089039,0.000279662697343,0.001509944253828,0.000001816189433,-0.000000345218408,-0.000850128806035,-0.00027966288041,-0.001509943134434,-0.000001815858931,-0.000615001496629,0.000000345363371,0.000000000283003,-0.000000000183068,0.000000001119394,0.000000000330502,-0.000000000012039,0.000000000144963,0.003558905829678,0.003558905829678,0.006006880141728,0.006006880141728,0.002439782361174,0.002439782361174,0.003558905829678,0.006006880141728,0.002439782361174,0.845345795114058,1.426812372280057,0.579520745621626,0.00061500148459,1.426812372280057],[-1.96731929180226e-17,1.13351214901001e-17,1.96775713564438e-17,1.13179137258786e-17,-2.27577360626506e-17,1.96731929180226e-17,-1.13351214901001e-17,-1.96775713564437e-17,-1.13179137258786e-17,2.01300431793921e-20,2.27577360626506e-17,-3.08148791101958e-33,4.62223186652937e-33,6.16297582203915e-33,4.62223186652937e-33,-3.00926553810506e-36,-6.16297582203915e-33,9.02833273882715e-17,9.02833273882715e-17,9.02833273882715e-17,9.02833273882715e-17,9.02833273882715e-17,9.02833273882715e-17,9.02833273882715e-17,9.02833273882715e-17,9.02833273882715e-17,0.000000000000021,0.000000000000021,0.000000000000021,-2.01300431793921e-20,0.000000000000021],[0.000000000193392,-0.000000000042244,0.000042961380075,0.000000019564812,-0.00000019809508,-0.000000000193392,0.000000000042245,-0.00004296138365,-0.000000019596404,-0.00025006932005,0.000000198175007,-7.49831843726328e-17,1.42783790754547e-16,-0.000000000003576,-0.000000000031592,0.000000000476896,0.000000000079927,0.000000000788175,0.000000000788175,0.000170862366292,0.000170862366292,0.000991804991785,0.000991804991785,0.000000000788175,0.000170862366292,0.000991804991785,0.000000187215012,0.040584884737346,0.235583131305894,0.000250069796946,0.235583131305894],[-2.35956547390037e-17,-1.25791431426766e-17,-8.87178244341586e-18,9.74712101795363e-18,2.82809257690519e-18,2.35956547390037e-17,1.25791431426766e-17,8.87178244341585e-18,-9.74712101795363e-18,-3.2622165930381e-17,-2.82809257690519e-18,0.0,9.24446373305873e-33,-4.62223186652937e-33,-6.16297582203915e-33,6.16297582203915e-33,-3.46667389989702e-33,1.0646640089003e-16,1.0646640089003e-16,5.24187514968628e-17,5.24187514968628e-17,1.29868428907305e-16,1.29868428907305e-16,1.0646640089003e-16,5.24187514968628e-17,1.29868428907305e-16,0.000000000000025,0.000000000000012,0.000000000000031,3.2622165930381e-17,0.000000000000031],[0.000000000067654,-0.000000000014585,0.00009991034092,0.000000047140073,-0.000000000014759,-0.000000000067654,0.000000000014585,-0.000099909632058,-0.000000047086604,-0.000000000067894,0.000000000014759,-4.7581088882142e-18,-5.1888996430781e-18,0.000000000708862,0.000000000053468,-2.11115101302376e-18,6.71396850916781e-18,0.000000000275564,0.000000000275564,0.000397354958499,0.000397354958499,0.000000000275562,0.000000000275562,0.000000000275564,0.000397354958499,0.000000000275562,0.000000065454611,0.094383599738301,0.000000065454243,0.000000000067894,0.094383599738301],[0.000182069031528,0.000060070765405,0.000000000107201,-0.000000000073714,-0.000000000073741,-0.000182068924144,-0.000060070757305,-0.000000000107201,0.000000000073714,-0.000000000107625,0.000000000073741,0.000000000107383,0.0000000000081,3.60464799456358e-19,9.84833986550578e-19,-1.00347066301943e-18,-1.6233755563477e-19,0.000763539972131,0.000763539972131,0.000000000517413,0.000000000517413,0.000000000517416,0.000000000517416,0.000763539972131,0.000000000517413,0.000000000517416,0.181363412164497,0.00000012290085,0.000000122901719,0.000000000107625,0.181363412164497],[0.000176075916308,0.000058051087987,0.000000000092643,-0.000000000063566,-0.000000000063609,-0.000176075787822,-0.000058051078296,-0.000000000092643,0.000000000063566,-0.000000000092988,0.000000000063609,0.000000000128486,0.000000000009692,3.94511424222069e-19,1.00584726924157e-18,-1.09260371672023e-18,-1.20739301789029e-19,0.000737940966097,0.000737940966097,0.000000000446839,0.000000000446839,0.000000000446842,0.000000000446842,0.000737940966097,0.000000000446839,0.000000000446842,0.175282888221021,0.000000106137586,0.00000010613816,0.000000000092988,0.175282888221021],[0.000850128808897,0.000279662880908,0.001509943137297,0.000001815859421,-0.000000345362877,-0.000850128519435,-0.000279663068153,-0.001509941992355,-0.000001815521376,-0.000615001511814,0.000000345511149,0.000000000289462,-0.000000000187246,0.000000001144942,0.000000000338045,-0.000000000012314,0.000000000148271,0.003558905841107,0.003558905841107,0.006006880153117,0.006006880153117,0.00243978237256,0.00243978237256,0.003558905841107,0.006006880153117,0.00243978237256,0.845345797828904,1.426812374985485,0.579520748326095,0.0006150014995,1.426812374985485],[0.000000000193385,-0.000000000041838,0.000042961383645,0.00000001959681,-0.000000198174599,-0.000000000193385,0.000000000041838,-0.000042961384491,-0.00000001960429,-0.000250069207123,0.000000198193524,-1.78646303134087e-17,3.37088878974211e-17,-0.000000000000847,-0.00000000000748,0.00000000011292,0.000000000018925,0.000000000787804,0.000000000787804,0.00017086236627,0.00017086236627,0.000991804991756,0.000991804991756,0.000000000787804,0.00017086236627,0.000991804991756,0.000000187126742,0.040584884731943,0.235583131299178,0.000250069320043,0.235583131299178],[-1.22966559325703e-16,-1.90847612339273e-16,-3.52178635796451e-17,1.63027156407287e-16,2.79610728292309e-17,1.22966559325703e-16,1.90847612339273e-16,3.52178635796451e-17,-1.63027156407287e-16,-1.5936043836361e-16,-2.79610728292309e-17,2.46519032881566e-32,4.93038065763132e-32,-6.16297582203915e-33,-2.46519032881566e-32,-4.93038065763132e-32,-1.84889274661175e-32,9.03961111016872e-16,9.03961111016872e-16,6.63333982050462e-16,6.63333982050463e-16,6.41697596307014e-16,6.41697596307014e-16,9.03961111016872e-16,6.63333982050463e-16,6.41697596307014e-16,0.000000000000215,0.000000000000158,0.000000000000152,1.5936043836361e-16,0.000000000000215],[0.000000000067639,-0.000000000014585,0.000099909632043,0.000000047086605,-0.000000000014759,-0.000000000067639,0.000000000014585,-0.000099909542431,-0.000000047079845,-0.000000000067879,0.000000000014759,-5.80600889534932e-19,-6.65798405289316e-19,0.000000000089613,0.000000000006759,-2.65095553569333e-19,8.66505896860095e-19,0.000000000275506,0.000000000275506,0.000397354958439,0.000397354958439,0.000000000275504,0.000000000275504,0.000000000275506,0.000397354958439,0.000000000275504,0.000000065440743,0.094383599724148,0.000000065440429,0.000000000067879,0.094383599724148],[0.00018206892506,0.000060070757313,0.000000000108118,-0.000000000073708,-0.000000000073734,-0.000182068860445,-0.000060070752439,-0.000000000108118,0.000000000073708,-0.000000000108545,0.000000000073734,0.000000000064615,0.000000000004874,2.2740023512165e-19,5.68291601914833e-19,-6.44925374948593e-19,-6.66906484805665e-20,0.000763539975603,0.000763539975603,0.000000000520408,0.000000000520408,0.000000000520414,0.000000000520414,0.000763539975603,0.000000000520408,0.000000000520414,0.181363412989297,0.000000123612421,0.000000123613843,0.000000000108545,0.181363412989297],[0.00017607578902,0.000058051078329,0.000000000093843,-0.000000000063536,-0.000000000063578,-0.000176075674663,-0.000058051069703,-0.000000000093843,0.000000000063536,-0.000000000094191,0.000000000063578,0.000000000114357,0.000000000008626,3.87845279063081e-19,9.18016740662199e-19,-9.50201653287693e-19,-1.42855074064885e-19,0.00073794097067,0.00073794097067,0.000000000450716,0.000000000450716,0.000000000450717,0.000000000450717,0.00073794097067,0.000000000450716,0.000000000450717,0.175282889307286,0.000000107058382,0.000000107058679,0.000000000094191,0.175282889307286],[0.000850128534062,0.000279663071748,0.001509942006985,0.00000181552493,-0.000000345507574,-0.000850127040064,-0.000279664038177,-0.001509936097613,-0.000001813780184,-0.000615001590039,0.000000346272845,0.000000001493998,-0.000000000966429,0.000000005909372,0.000000001744745,-0.000000000063557,0.00000000076527,0.003558905900826,0.003558905900826,0.006006880211338,0.006006880211338,0.002439782430744,0.002439782430744,0.003558905900826,0.006006880211338,0.002439782430744,0.84534581201387,1.426812388814552,0.579520762146546,0.000615001526482,1.426812388814552],[0.000000000194493,-0.000000000042184,0.000042961385598,0.00000001960394,-0.000000198193874,-0.000000000194493,0.000000000042185,-0.000042961408551,-0.000000019806729,-0.000250066147009,0.000000198706931,-4.8556532282694e-16,9.20463140791359e-16,-0.000000000022952,-0.000000000202789,0.000000003061224,0.000000000513057,0.000000000792405,0.000000000792405,0.000170862370673,0.000170862370673,0.000991804996159,0.000991804996159,0.000000000792405,0.000170862370673,0.000991804996159,0.000000188219763,0.04058488577777,0.235583132344876,0.000250069208233,0.235583132344876],[9.30564081567122e-20,1.58172106576506e-18,-8.03666503020451e-19,3.56444124068367e-19,-1.94386026865647e-18,-9.30564081567122e-20,-1.58172106576506e-18,8.03666503020451e-19,-3.56444124068367e-19,-7.10327968328273e-19,1.94386026865647e-18,0.0,0.0,0.0,0.0,0.0,0.0,6.30873928984512e-18,6.30873928984511e-18,3.49654257031998e-18,3.49654257031998e-18,8.20820156358329e-18,8.20820156358329e-18,6.30873928984512e-18,3.49654257031998e-18,8.20820156358329e-18,0.000000000000001,8.30532669510135e-16,0.000000000000002,7.10327968328273e-19,0.000000000000002],[-0.000000000001089,0.000000000000251,-0.000000000001088,0.000000000000256,0.000000000000254,0.000000000001089,-0.000000000000251,0.000000000001088,-0.000000000000256,0.000000000001091,-0.000000000000254,3.02922587604869e-27,4.03896783473158e-28,2.62532909257553e-27,3.02922587604869e-28,2.82727748431211e-27,3.53409685539013e-28,0.000000000004448,0.000000000004448,0.000000000004447,0.000000000004447,0.000000000004441,0.000000000004441,0.000000000004448,0.000000000004447,0.000000000004441,0.000000001056506,0.000000001056199,0.00000000105497,-0.000000000001091,0.000000001056506],[0.00000000006769,-0.000000000014614,0.000099909542481,0.000000047079816,-0.000000000014788,-0.00000000006769,0.000000000014614,-0.000099909476353,-0.000000047074828,-0.000000000067929,0.000000000014788,-3.99853796057637e-19,-4.8475905856185e-19,0.000000000066128,0.000000000004988,-2.11819396480116e-19,6.24852454442407e-19,0.000000000275726,0.000000000275726,0.000397354958639,0.000397354958639,0.000000000275724,0.000000000275724,0.000000000275726,0.000397354958639,0.000000000275724,0.000000065493025,0.094383599771625,0.000000065492709,0.000000000067929,0.094383599771625],[0.000182068861483,0.000060070752753,0.000000000109158,-0.000000000073399,-0.000000000073421,-0.000182068783516,-0.000060070746872,-0.000000000109158,0.000000000073399,-0.000000000109587,0.000000000073421,0.000000000077967,0.000000000005881,2.93424356974258e-19,7.22863637657744e-19,-7.58118540653848e-19,-7.16262542499114e-20,0.000763539979921,0.000763539979921,0.000000000523144,0.000000000523144,0.000000000523145,0.000000000523145,0.000763539979921,0.000000000523144,0.000000000523145,0.181363414014828,0.000000124262274,0.000000124262501,0.000000000109587,0.181363414014828],[0.000176075676093,0.000058051069765,0.000000000095273,-0.000000000063479,-0.000000000063518,-0.000176075544468,-0.000058051059837,-0.000000000095273,0.000000000063479,-0.000000000095625,0.000000000063518,0.000000000131625,0.000000000009928,4.30724124819328e-19,1.08289410266903e-18,-1.15219817659616e-18,-1.70065309561788e-19,0.000737940976149,0.000737940976149,0.000000000455312,0.000000000455312,0.000000000455313,0.000000000455313,0.000737940976149,0.000000000455312,0.000000000455313,0.175282890608727,0.000000108150164,0.00000010815046,0.000000000095625,0.175282890608727],[0.000000000015143,-0.000000000005115,0.000028979778774,0.000000022717427,-0.000000000005155,-0.000000000015143,0.000000000005115,-0.000028979705399,-0.000000022711893,-0.000000000015171,0.000000000005155,-4.31370379059931e-19,-3.82395209765787e-19,0.000000000073374,0.000000000005535,-1.13375245606419e-19,5.65325270845907e-19,0.000000000063561,0.000000000063561,0.000115288314395,0.000115288314395,0.000000000063564,0.000000000063564,0.000000000063561,0.000115288314395,0.000000000063564,0.000000015097692,0.027384397470386,0.000000015098315,0.000000000015171,0.027384397470386],[0.0008501270595,0.000279664052772,0.001480956353431,0.000001791072141,-0.000000346258253,-0.000850123821565,-0.00027966606148,-0.001480944133612,-0.000001787423103,-0.000615001719802,0.000000347863144,0.000000003237936,-0.000000002008707,0.000000012219819,0.000000003649038,-0.000000000110252,0.000000001604891,0.003558905992385,0.003558905992385,0.005891592044836,0.005891592044836,0.002439782508113,0.002439782508113,0.003558905992385,0.005891592044836,0.002439782508113,0.845345833761879,1.399428026473216,0.57952078052398,0.00061500160955,1.399428026473216],[0.000000000194546,-0.000000000042151,0.000042961408603,0.000000019806762,-0.000000198706897,-0.000000000194546,0.000000000042152,-0.000042961424689,-0.00000001994888,-0.000250064001712,0.000000199066455,-3.40610324321852e-16,6.45152312292152e-16,-0.000000000016085,-0.000000000142118,0.00000000214535,0.000000000359558,0.000000000792582,0.000000000792582,0.000170862370883,0.000170862370883,0.000991804996369,0.000991804996369,0.000000000792582,0.000170862370883,0.000991804996369,0.000000188261772,0.040584885827698,0.235583132394719,0.000250066147062,0.235583132394719],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],[-0.000000000001245,0.000000000000072,-0.000000000001245,0.000000000000078,0.000000000000076,0.000000000001245,-0.000000000000072,0.000000000001245,-0.000000000000078,0.000000000001248,-0.000000000000076,8.07793566946316e-28,-1.76704842769507e-28,1.41363874215605e-27,-2.39813715187188e-28,1.41363874215605e-27,-2.52435489670724e-29,0.000000000004964,0.000000000004964,0.000000000004962,0.000000000004962,0.000000000004957,0.000000000004957,0.000000000004964,0.000000000004962,0.000000000004957,0.000000001179208,0.000000001178679,0.000000001177549,-0.000000000001248,0.000000001179208],[0.000000000067635,-0.000000000014569,0.000099909476298,0.000000047074873,-0.000000000014743,-0.000000000067635,0.000000000014569,-0.000099909411955,-0.00000004707002,-0.000000000067874,0.000000000014743,-4.90682996529179e-19,-4.82646978883492e-19,0.000000000064343,0.000000000004853,-1.82652646189978e-19,6.21000784855282e-19,0.000000000275476,0.000000000275476,0.000397354958422,0.000397354958422,0.000000000275474,0.000000000275474,0.000000000275476,0.000397354958422,0.000000000275474,0.000000065433636,0.094383599720172,0.000000065433324,0.000000000067874,0.094383599720172],[0.000182068783954,0.000060070746888,0.000000000109597,-0.000000000073384,-0.000000000073406,-0.000182068715496,-0.000060070741725,-0.000000000109597,0.000000000073384,-0.000000000110027,0.000000000073406,0.000000000068458,0.000000000005164,2.40550364759106e-19,6.35480949831889e-19,-7.14529999781425e-19,-1.18011790041409e-19,0.000763539981596,0.000763539981596,0.00000000052456,0.00000000052456,0.000000000524561,0.000000000524561,0.000763539981596,0.00000000052456,0.000000000524561,0.181363414412683,0.000000124598641,0.000000124598749,0.000000000110027,0.181363414412683],[0.000176075545857,0.000058051059922,0.000000000096664,-0.000000000063399,-0.000000000063436,-0.000176075410897,-0.000058051049742,-0.000000000096664,0.000000000063399,-0.000000000097019,0.000000000063436,0.00000000013496,0.00000000001018,4.31769500167836e-19,1.11416644120842e-18,-1.1926402645901e-18,-1.87977866952532e-19,0.000737940981506,0.000737940981506,0.000000000459749,0.000000000459749,0.000000000459749,0.000000000459749,0.000737940981506,0.000000000459749,0.000000000459749,0.175282891881121,0.000000109204116,0.000000109204003,0.000000000097019,0.175282891881121],[0.000000000015107,-0.000000000005116,0.000028979705364,0.000000022711892,-0.000000000005157,-0.000000000015107,0.000000000005116,-0.000028979701135,-0.000000022711573,-0.000000000015135,0.000000000005157,-2.25821244267514e-20,-1.93285330796898e-20,0.000000000004228,0.000000000000319,-7.25139482941515e-21,3.09053175322494e-20,0.000000000063428,0.000000000063428,0.000115288314252,0.000115288314252,0.00000000006343,0.00000000006343,0.000000000063428,0.000115288314252,0.00000000006343,0.000000015065958,0.027384397436535,0.000000015066497,0.000000000015135,0.027384397436535],[0.000850123959499,0.000279666096713,0.001480944271586,0.000001787457949,-0.000000347828097,-0.000850108486391,-0.000279675695711,-0.001480885876802,-0.00000177002031,-0.000615002384996,0.000000355497379,0.000000015473109,-0.000000009598998,0.000000058394784,0.000000017437639,-0.000000000526858,0.000000007669283,0.003558906557222,0.003558906557222,0.005891592593904,0.005891592593904,0.002439783056831,0.002439783056831,0.003558906557222,0.005891592593904,0.002439783056831,0.845345967927514,1.399428156893049,0.579520910860922,0.000615001858138,1.399428156893049],[0.000000000029103,-0.000000000006639,0.000042961259178,0.000000019984987,-0.000000000006715,-0.000000000029103,0.000000000006639,-0.00004296112646,-0.000000019972289,-0.000000000029205,0.000000000006715,-2.7399909106729e-17,-3.01728213763585e-17,0.000000000132718,0.000000000012698,-1.2431503827022e-17,3.88143940499231e-17,0.000000000118856,0.000000000118856,0.000170861712696,0.000170861712696,0.000000000118856,0.000000000118856,0.000000000118856,0.000170861712696,0.000000000118856,0.000000028231736,0.040584729488758,0.000000028231741,0.000000000029205,0.040584729488758],[0.000000000165375,-0.000000000035484,0.000000000165443,-0.000000000036078,-0.000000199059711,-0.000000000165375,0.000000000035484,-0.000000000165443,0.000000000036077,-0.000250063441859,0.000000199110473,-5.08585430521696e-17,1.50673835094367e-16,-1.0504517417101e-16,-1.19415473128518e-16,0.00000000053058,0.000000000050762,0.000000000673449,0.000000000673449,0.000000000673449,0.000000000673449,0.000991804880247,0.000991804880247,0.000000000673449,0.000000000673449,0.000991804880247,0.000000159964167,0.000000159964198,0.235583104812343,0.00025006397244,0.235583104812343],[-0.000000000000781,0.000000000000878,-0.000000000000778,0.000000000000882,0.000000000000883,0.000000000000781,-0.000000000000878,0.000000000000778,-0.000000000000882,0.000000000000781,-0.000000000000883,1.0097419586829e-27,0.0,8.07793566946316e-28,0.0,7.06819371078027e-28,0.0,0.000000000004679,0.000000000004679,0.000000000004678,0.000000000004678,0.000000000004676,0.000000000004676,0.000000000004679,0.000000000004678,0.000000000004676,0.000000001111311,0.000000001111141,0.000000001110789,-0.000000000000781,0.000000001111311],[0.00000000006765,-0.000000000014596,0.00009990941197,0.000000047069993,-0.00000000001477,-0.00000000006765,0.000000000014596,-0.000099908807553,-0.000000047024403,-0.000000000067889,0.00000000001477,-4.0289249185923e-18,-4.37955910621464e-18,0.000000000604417,0.00000000004559,-1.8073431353683e-18,5.69370297778625e-18,0.000000000275555,0.000000000275555,0.00039735495848,0.00039735495848,0.000000000275554,0.000000000275554,0.000000000275555,0.00039735495848,0.000000000275554,0.00000006545255,0.094383599733947,0.000000065452252,0.000000000067889,0.094383599733947],[0.000182068718535,0.00006007074191,0.000000000112641,-0.000000000073209,-0.000000000073225,-0.000182068270569,-0.00006007070812,-0.000000000112641,0.000000000073209,-0.000000000113079,0.000000000073225,0.000000000447966,0.000000000033789,1.65764568789986e-18,4.16569755266732e-18,-4.43055561492798e-18,-7.00856316515011e-19,0.000763539993324,0.000763539993324,0.000000000534284,0.000000000534284,0.000000000534284,0.000000000534284,0.000763539993324,0.000000000534284,0.000000000534284,0.181363417198352,0.000000126908297,0.000000126908428,0.000000000113079,0.181363417198352],[0.000176075412536,0.000058051049843,0.000000000098305,-0.000000000063303,-0.000000000063337,-0.000176075250314,-0.000058051037607,-0.000000000098305,0.000000000063303,-0.000000000098665,0.000000000063337,0.000000000162222,0.000000000012236,5.06615619575596e-19,1.33469677332175e-18,-1.44943221727911e-18,-2.31409502002512e-19,0.00073794098783,0.00073794098783,0.000000000465014,0.000000000465014,0.000000000465014,0.000000000465014,0.00073794098783,0.000000000465014,0.000000000465014,0.175282893383158,0.000000110454598,0.0000001104547,0.000000000098665,0.175282893383158],[0.00000000001526,-0.000000000005177,0.000028979701288,0.000000022711511,-0.000000000005218,-0.00000000001526,0.000000000005177,-0.000028979699164,-0.000000022711351,-0.000000000015288,0.000000000005218,-2.30613140330125e-20,-5.11574535036108e-21,0.000000000002124,0.00000000000016,7.01586161233922e-21,1.99559899639896e-20,0.00000000006408,0.00000000006408,0.000115288314858,0.000115288314858,0.000000000064083,0.000000000064083,0.00000000006408,0.000115288314858,0.000000000064083,0.000000015220991,0.027384397580452,0.000000015221631,0.000000000015288,0.027384397580452],[0.00000000002843,-0.000000000009463,0.000000000028392,-0.000000000009537,-0.000000034740896,-0.00000000002843,0.000000000009463,-0.000000000028392,0.000000000009537,-0.000055997377506,0.000000034780707,-7.98835708206727e-19,3.97010894068595e-18,-3.0156359189699e-18,-2.6887927867019e-18,0.000000000527791,0.00000000003981,0.000000000119158,0.000000000119158,0.000000000119158,0.000000000119158,0.000222149941792,0.000222149941792,0.000000000119158,0.000000000119158,0.000222149941792,0.000000028303575,0.000000028303571,0.052767206598248,0.000055997905297,0.052767206598248],[0.000850108704663,0.000279675769151,0.001480886095182,0.000001770093122,-0.000000320692844,-0.000850089882428,-0.000279687609494,-0.001480816754682,-0.000001748380676,-0.000559006439094,0.000000328717708,0.000000018822235,-0.000000011840343,0.0000000693405,0.000000021712446,-0.000000001711966,0.000000008024864,0.003558907473027,0.003558907473027,0.005891593463056,0.005891593463056,0.002217634096689,0.002217634096689,0.003558907473027,0.005891593463056,0.002217634096689,0.845346185458354,1.399428363342534,0.526753937433428,0.000559004727127,1.399428363342534],[0.000000000029124,-0.000000000006644,0.00004296112648,0.000000019972284,-0.00000000000672,-0.000000000029124,0.000000000006644,-0.000042961008124,-0.00000001996096,-0.000000000029226,0.00000000000672,-2.44539362289916e-17,-2.6919413850801e-17,0.000000000118356,0.000000000011323,-1.10800978308433e-17,3.46417703233476e-17,0.00000000011894,0.00000000011894,0.000170861712777,0.000170861712777,0.00000000011894,0.00000000011894,0.00000000011894,0.000170861712777,0.00000000011894,0.000000028251714,0.040584729508133,0.000000028251721,0.000000000029226,0.040584729508133],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],[0.000000000164853,-0.000000000032891,0.000000000164929,-0.000000000033479,-0.000000199107869,-0.000000000164853,0.000000000032891,-0.000000000164929,0.000000000033479,-0.000250050055234,0.000000200117564,-4.12437676621831e-17,1.22268265554586e-16,-8.52406908083486e-17,-9.69044207062321e-17,0.000000013386104,0.000000001009695,0.000000000669317,0.000000000669317,0.000000000669317,0.000000000669317,0.000991804878174,0.000991804878174,0.000000000669317,0.000000000669317,0.000991804878174,0.000000158982655,0.000000158982692,0.235583104320042,0.000250063441339,0.235583104320042],[-4.47786433131419e-16,6.76467484520153e-16,-4.46029072308976e-16,6.78728496622091e-16,6.79865418805868e-16,4.47786433131419e-16,-6.76467484520153e-16,4.46029072308976e-16,-6.78728496622091e-16,4.48360284011948e-16,-6.79865418805868e-16,9.86076131526265e-32,0.0,0.0,0.0,9.86076131526265e-32,0.0,0.000000000000003,0.000000000000003,0.000000000000003,0.000000000000003,0.000000000000003,0.000000000000003,0.000000000000003,0.000000000000003,0.000000000000003,0.000000000000767,0.000000000000767,0.000000000000767,-4.48360284011948e-16,0.000000000000767],[-0.000000000001176,-0.000000000000181,-0.000000000001178,-0.000000000000177,-0.000000000000179,0.000000000001176,0.000000000000181,0.000000000001178,0.000000000000177,0.00000000000118,0.000000000000179,1.0097419586829e-27,3.28166136571941e-28,1.41363874215605e-27,3.53409685539013e-28,1.0097419586829e-27,2.77679038637796e-28,0.000000000004739,0.000000000004739,0.000000000004736,0.000000000004736,0.000000000004733,0.000000000004733,0.000000000004739,0.000000000004736,0.000000000004733,0.000000001125544,0.000000001124958,0.000000001124146,-0.00000000000118,0.000000001125544],[0.000000000067658,-0.000000000014599,0.000099908807561,0.0000000470244,-0.000000000014773,-0.000000000067658,0.000000000014599,-0.00009990852626,-0.000000047003182,-0.000000000067897,0.000000000014773,-1.87620016987315e-18,-2.08353616988504e-18,0.000000000281301,0.000000000021218,-8.32536141730214e-19,2.67711047290555e-18,0.00000000027559,0.00000000027559,0.000397354958513,0.000397354958513,0.000000000275589,0.000000000275589,0.00000000027559,0.000397354958513,0.000000000275589,0.000000065460812,0.094383599741756,0.000000065460514,0.000000000067897,0.094383599741756],[0.00018206829129,0.000060070709413,0.000000000133396,-0.000000000071987,-0.000000000071964,-0.000182064988302,-0.000060070460273,-0.000000000133396,0.000000000071987,-0.000000000133889,0.000000000071964,0.000000003302988,0.00000000024914,1.04691130399833e-17,3.56931440859664e-17,-3.61833784662603e-17,-8.73585832658165e-18,0.000763540073304,0.000763540073304,0.000000000602841,0.000000000602841,0.000000000602841,0.000000000602841,0.000763540073304,0.000000000602841,0.000000000602841,0.181363436196077,0.00000014319257,0.000000143192577,0.000000000133889,0.181363436196077],[0.000176075251816,0.000058051037653,0.000000000099807,-0.00000000006326,-0.000000000063293,-0.000176075150114,-0.000058051029982,-0.000000000099807,0.00000000006326,-0.000000000100171,0.000000000063293,0.000000000101701,0.000000000007671,3.19303865660716e-19,8.51265863093281e-19,-9.00520953053211e-19,-1.44434006757884e-19,0.000737940993563,0.000737940993563,0.000000000469959,0.000000000469959,0.00000000046996,0.00000000046996,0.000737940993563,0.000000000469959,0.00000000046996,0.1752828947449,0.000000111629198,0.000000111629419,0.000000000100171,0.1752828947449],[0.000000000015202,-0.00000000000509,0.000028979699107,0.000000022711438,-0.000000000005131,-0.000000000015202,0.00000000000509,-0.000028979697326,-0.000000022711304,-0.00000000001523,0.000000000005131,-5.53775771236658e-21,-1.21816174624299e-20,0.000000000001781,0.000000000000134,-7.87724743569102e-21,1.55093464874787e-20,0.000000000063754,0.000000000063754,0.000115288314632,0.000115288314632,0.000000000063757,0.000000000063757,0.000000000063754,0.000115288314632,0.000000000063757,0.000000015143439,0.027384397526623,0.00000001514407,0.00000000001523,0.027384397526623],[0.000000000028431,-0.00000000000946,0.000000000028393,-0.000000000009533,-0.000000034780703,-0.000000000028431,0.00000000000946,-0.000000000028393,0.000000000009533,-0.00005599709899,0.000000034801711,-4.22254208937091e-19,2.09093270744698e-18,-1.6056919567344e-18,-1.40734044518482e-18,0.000000000278517,0.000000000021008,0.000000000119155,0.000000000119155,0.000000000119155,0.000000000119155,0.000222149941794,0.000222149941794,0.000000000119155,0.000000000119155,0.000222149941794,0.000000028302916,0.000000028302912,0.052767206598777,0.000055997377507,0.052767206598777],[0.000850090142861,0.000279687675823,0.001480817015179,0.000001748446254,-0.000000328651746,-0.00085007211447,-0.000279699016785,-0.001480750599195,-0.000001727649555,-0.000559008340057,0.000000336338154,0.00000001802839,-0.000000011340962,0.000000066415984,0.000000020796699,-0.00000000163976,0.000000007686408,0.003558908539274,0.003558908539274,0.005891594499778,0.005891594499778,0.002217635132755,0.002217635132755,0.003558908539274,0.005891594499778,0.002217635132755,0.845346438723564,1.399428609594885,0.526754183529934,0.000559006700297,1.399428609594885],[0.000000000029015,-0.000000000006153,0.000042961008017,0.000000019961453,-0.000000000006227,-0.000000000029015,0.000000000006153,-0.000042960863796,-0.0000000199517,-0.000000000029117,0.000000000006227,5.80482395912183e-21,-5.26177504021937e-21,0.000000000144221,0.000000000009752,1.7829231868727e-21,1.02547640411795e-20,0.000000000118096,0.000000000118096,0.000170861712351,0.000170861712351,0.000000000118096,0.000000000118096,0.000000000118096,0.000170861712351,0.000000000118096,0.00000002805122,0.040584729406905,0.000000028051219,0.000000000029117,0.040584729406905],[0.000000000000016,0.000000000000004,0.000000000000016,0.000000000000004,0.000000000000004,-0.000000000000016,-0.000000000000004,-0.000000000000016,-0.000000000000004,-0.000000000000016,-0.000000000000004,6.31088724176809e-30,7.88860905221012e-31,3.15544362088405e-30,-1.57772181044202e-30,6.31088724176809e-30,0.0,0.000000000000065,0.000000000000065,0.000000000000065,0.000000000000065,0.000000000000065,0.000000000000065,0.000000000000065,0.000000000000065,0.000000000000065,0.000000000015523,0.000000000015531,0.000000000015529,0.000000000000016,0.000000000015531],[0.000000000000016,0.000000000000004,0.000000000000016,0.000000000000004,0.000000000000004,-0.000000000000016,-0.000000000000004,-0.000000000000016,-0.000000000000004,-0.000000000000016,-0.000000000000004,6.31088724176809e-30,7.88860905221012e-31,3.15544362088405e-30,-1.57772181044202e-30,6.31088724176809e-30,0.0,0.000000000000065,0.000000000000065,0.000000000000065,0.000000000000065,0.000000000000065,0.000000000000065,0.000000000000065,0.000000000000065,0.000000000000065,0.000000000015523,0.000000000015531,0.000000000015529,0.000000000000016,0.000000000015531],[0.000000000164895,-0.000000000032865,0.000000000164971,-0.000000000033453,-0.000000200117537,-0.000000000164895,0.000000000032865,-0.000000000164971,0.000000000033453,-0.000250046904592,0.000000200355189,-9.72192909031966e-18,2.87631003683786e-17,-2.00676625326221e-17,-2.27886497380642e-17,0.000000003150684,0.000000000237652,0.00000000066946,0.00000000066946,0.00000000066946,0.00000000066946,0.000991804878341,0.000991804878341,0.00000000066946,0.00000000066946,0.000991804878341,0.000000159016652,0.000000159016652,0.235583104359632,0.000250050055277,0.235583104359632],[-0.000000000000923,-0.000000000000113,-0.000000000000923,-0.000000000000109,-0.000000000000111,0.000000000000923,0.000000000000113,0.000000000000923,0.000000000000109,0.000000000000925,0.000000000000111,2.01948391736579e-28,0.0,4.03896783473158e-28,1.13595970351826e-28,2.01948391736579e-28,6.31088724176809e-29,0.000000000003701,0.000000000003701,0.000000000003698,0.000000000003698,0.000000000003695,0.000000000003695,0.000000000003701,0.000000000003698,0.000000000003695,0.000000000879124,0.000000000878374,0.000000000877661,-0.000000000000925,0.000000000879124],[0.000000000067647,-0.000000000014595,0.000099908526248,0.000000047003185,-0.00000000001477,-0.000000000067647,0.000000000014595,-0.000099908394222,-0.000000046993226,-0.000000000067886,0.00000000001477,-8.84029957243927e-19,-9.56733885660327e-19,0.000000000132026,0.000000000009959,-4.02350007426472e-19,1.2261379774712e-18,0.000000000275542,0.000000000275542,0.000397354958468,0.000397354958468,0.000000000275541,0.000000000275541,0.000000000275542,0.000397354958468,0.000000000275541,0.000000065449522,0.094383599730892,0.000000065449207,0.000000000067886,0.094383599730892],[0.000176075153104,0.000058051030124,0.0000000001028,-0.000000000063128,-0.000000000063156,-0.000176074716025,-0.000058050997155,-0.0000000001028,0.000000000063128,-0.000000000103172,0.000000000063156,0.000000000437079,0.000000000032968,1.36793049926517e-18,3.86191039330128e-18,-3.97587901498141e-18,-7.28922063560447e-19,0.000737941005039,0.000737941005039,0.000000000479778,0.000000000479778,0.000000000479779,0.000000000479779,0.000737941005039,0.000000000479778,0.000000000479779,0.175282897470964,0.000000113961563,0.000000113961716,0.000000000103172,0.175282897470964],[0.000000000014972,-0.000000000005118,0.000028979697095,0.000000022711276,-0.000000000005159,-0.000000000014972,0.000000000005118,-0.000028979695643,-0.000000022711167,-0.000000000014999,0.000000000005159,-5.58063539490009e-21,-9.12972570668631e-21,0.000000000001452,0.00000000000011,2.97086440642395e-21,4.27962165522839e-21,0.000000000062921,0.000000000062921,0.000115288313713,0.000115288313713,0.000000000062923,0.000000000062923,0.000000000062921,0.000115288313713,0.000000000062923,0.000000014945526,0.027384397308462,0.00000001494602,0.000000000014999,0.027384397308462],[0.000000000119496,-0.000000000043054,0.00022784558265,0.000000192232495,-0.000000000043406,-0.000000000119496,0.000000000043054,-0.000227844017691,-0.000000192114452,-0.000000000119701,0.000000000043407,-9.55456426696392e-18,-7.99796736335914e-18,0.000000001564959,0.000000000118043,-2.17142417459229e-18,1.22549364125565e-17,0.000000000505123,0.000000000505123,0.000906549250335,0.000906549250335,0.000000000505123,0.000000000505123,0.000000000505123,0.000906549250335,0.000000000505123,0.000000119981754,0.215332361548922,0.000000119981765,0.000000000119701,0.215332361548922],[0.000850072155508,0.00027969910516,0.001252905177127,0.000001535461909,-0.000000336249646,-0.000850066899355,-0.000279701392857,-0.001252892205933,-0.000001530935091,-0.000559008552319,0.000000337916817,0.000000005256153,-0.000000002287697,0.000000012971194,0.000000004526818,-0.000000000170941,0.00000000166717,0.003558908804144,0.003558908804144,0.004985045944488,0.004985045944488,0.002217635296467,0.002217635296467,0.003558908804144,0.004985045944488,0.002217635296467,0.845346501638205,1.184096413139644,0.526754222416359,0.000559008381378,1.184096413139644],[0.000000000029014,-0.000000000006155,0.000042960863795,0.000000019951698,-0.000000000006229,-0.000000000029014,0.000000000006155,-0.000042960667333,-0.000000019938413,-0.000000000029116,0.000000000006229,1.90518435881715e-21,9.27254926387739e-22,0.000000000196462,0.000000000013285,-6.7383295921306e-21,3.42702947264637e-21,0.000000000118093,0.000000000118093,0.000170861712347,0.000170861712347,0.000000000118093,0.000000000118093,0.000000000118093,0.000170861712347,0.000000000118093,0.000000028050583,0.040584729405866,0.000000028050592,0.000000000029116,0.040584729405866],[-0.000000000000669,-0.000000000000044,-0.000000000000669,-0.000000000000042,-0.000000000000043,0.000000000000669,0.000000000000044,0.000000000000669,0.000000000000042,0.000000000000671,0.000000000000043,1.0097419586829e-28,1.19906857593594e-28,1.0097419586829e-28,6.31088724176809e-29,3.02922587604869e-28,1.0097419586829e-28,0.000000000002669,0.000000000002669,0.000000000002666,0.000000000002666,0.000000000002665,0.000000000002665,0.000000000002669,0.000000000002666,0.000000000002665,0.00000000063391,0.000000000633201,0.000000000633129,-0.000000000000671,0.00000000063391],[0.000000000067619,-0.000000000014573,0.000099908394195,0.000000046993249,-0.000000000014747,-0.000000000067619,0.000000000014573,-0.000099908306131,-0.000000046986606,-0.000000000067859,0.000000000014747,-5.83208653964187e-19,-6.46715306552453e-19,0.000000000088063,0.000000000006642,-2.77540188617161e-19,8.5159793733513e-19,0.000000000275417,0.000000000275417,0.000397354958359,0.000397354958359,0.000000000275417,0.000000000275417,0.000000000275417,0.000397354958359,0.000000000275417,0.000000065419798,0.094383599705127,0.000000065419598,0.000000000067859,0.094383599705127],[0.000176074728608,0.000058050997963,0.000000000115396,-0.00000000006236,-0.000000000062367,-0.000176072885936,-0.000058050858973,-0.000000000115396,0.00000000006236,-0.000000000115801,0.000000000062367,0.000000001842672,0.00000000013899,5.25548814444654e-18,1.78424352222669e-17,-1.81216563840605e-17,-4.36821267944578e-18,0.000737941053614,0.000737941053614,0.000000000521664,0.000000000521664,0.000000000521664,0.000000000521664,0.000737941053614,0.000000000521664,0.000000000521664,0.175282909008892,0.000000123910756,0.000000123910752,0.000000000115801,0.175282909008892],[0.000000000014891,-0.000000000005072,0.000028979695563,0.000000022711213,-0.000000000005112,-0.000000000014891,0.000000000005072,-0.000028979693283,-0.000000022711041,-0.000000000014918,0.000000000005112,-1.46168856534001e-20,-1.28193696757405e-20,0.000000000002279,0.000000000000172,-8.03124520129366e-22,2.24680534737822e-20,0.000000000062557,0.000000000062557,0.000115288313393,0.000115288313393,0.000000000062561,0.000000000062561,0.000000000062557,0.000115288313393,0.000000000062561,0.000000014859256,0.027384397232453,0.000000014860004,0.000000000014918,0.027384397232453],[0.000000000119554,-0.000000000043071,0.000227844017749,0.000000192114435,-0.000000000043423,-0.000000000119554,0.000000000043071,-0.000227843634016,-0.000000192085491,-0.000000000119759,0.000000000043423,-2.39541222506367e-18,-1.96388240694067e-18,0.000000000383732,0.000000000028944,-4.88394523816369e-19,3.05064434799286e-18,0.000000000505361,0.000000000505361,0.000906549250564,0.000906549250564,0.000000000505361,0.000000000505361,0.000000000505361,0.000906549250564,0.000000000505361,0.000000120038202,0.215332361603284,0.000000120038243,0.000000000119759,0.215332361603284],[0.000850066941756,0.000279701403874,0.001252892248344,0.000001530945984,-0.00000033790586,-0.000850065732475,-0.000279701930204,-0.001252889264067,-0.000001529904501,-0.000559008634176,0.000000338289425,0.000000001209281,-0.000000000526329,0.000000002984277,0.000000001041483,-0.000000000039328,0.000000000383565,0.003558908978014,0.003558908978014,0.004985046113286,0.004985046113286,0.002217635465155,0.002217635465155,0.003558908978014,0.004985046113286,0.002217635465155,0.84534654293749,1.184096453234346,0.526754262484721,0.000559008594847,1.184096453234346],[0.000000000029034,-0.00000000000616,0.000042960667353,0.000000019938408,-0.000000000006235,-0.000000000029034,0.00000000000616,-0.000042960609728,-0.000000019934511,-0.000000000029136,0.000000000006235,-8.15871502615779e-22,-1.47633483206102e-21,0.000000000057625,0.000000000003897,-6.80829097737669e-21,-3.41146167502418e-21,0.000000000118176,0.000000000118176,0.000170861712427,0.000170861712427,0.000000000118176,0.000000000118176,0.000000000118176,0.000170861712427,0.000000000118176,0.000000028070341,0.040584729424889,0.00000002807036,0.000000000029136,0.040584729424889],[-0.000000000000644,0.000000000000371,-0.000000000000643,0.000000000000373,0.000000000000374,0.000000000000644,-0.000000000000371,0.000000000000643,-0.000000000000373,0.000000000000646,-0.000000000000374,2.01948391736579e-28,0.0,1.0097419586829e-28,0.0,3.02922587604869e-28,1.0097419586829e-28,0.000000000002959,0.000000000002959,0.000000000002958,0.000000000002958,0.000000000002958,0.000000000002958,0.000000000002959,0.000000000002958,0.000000000002958,0.00000000070288,0.000000000702623,0.000000000702623,-0.000000000000646,0.00000000070288],[0.000000000067647,-0.000000000014549,0.000099908306159,0.000000046986631,-0.000000000014723,-0.000000000067647,0.000000000014549,-0.000099908171526,-0.000000046976476,-0.000000000067886,0.000000000014723,-8.77091139750829e-19,-9.74118095975088e-19,0.000000000134633,0.000000000010155,-4.24611790005141e-19,1.25031346824641e-18,0.000000000275504,0.000000000275504,0.000397354958469,0.000397354958469,0.000000000275503,0.000000000275503,0.000000000275504,0.000397354958469,0.000000000275503,0.000000065440312,0.094383599731149,0.000000065440135,0.000000000067886,0.094383599731149],[0.00000000001494,-0.000000000005127,0.000028979693332,0.000000022710986,-0.000000000005167,-0.00000000001494,0.000000000005127,-0.000028979687896,-0.000000022710576,-0.000000000014967,0.000000000005167,-3.12884588678135e-20,-2.61175444480042e-20,0.000000000005436,0.00000000000041,-1.05373665816078e-20,3.98437472209665e-20,0.000000000062812,0.000000000062812,0.000115288313587,0.000115288313587,0.000000000062815,0.000000000062815,0.000000000062812,0.000115288313587,0.000000000062815,0.000000014919721,0.027384397278467,0.000000014920313,0.000000000014967,0.027384397278467],[0.000000000119476,-0.000000000043066,0.000227843633939,0.000000192085496,-0.000000000043418,-0.000000000119476,0.000000000043066,-0.00022784337044,-0.00000019206562,-0.000000000119681,0.000000000043418,-1.52078324010489e-18,-1.36546141683549e-18,0.000000000263498,0.000000000019875,-4.040082460607e-19,2.02456372398036e-18,0.000000000505063,0.000000000505063,0.000906549250255,0.000906549250255,0.000000000505063,0.000000000505063,0.000000000505063,0.000906549250255,0.000000000505063,0.000000119967564,0.215332361529827,0.000000119967522,0.000000000119681,0.215332361529827],[0.00085006574479,0.000279701932769,0.001252889276384,0.000001529907029,-0.000000338286879,-0.000850065144687,-0.000279702193959,-0.001252887795443,-0.000001529390196,-0.000559008666043,0.000000338477223,0.000000000600103,-0.00000000026119,0.000000001480941,0.000000000516834,-0.000000000019517,0.000000000190343,0.003558909027725,0.003558909027725,0.004985046162304,0.004985046162304,0.002217635514146,0.002217635514146,0.003558909027725,0.004985046162304,0.002217635514146,0.845346554745229,1.184096464877398,0.526754274121512,0.000559008646527,1.184096464877398],[0.000000000029008,-0.000000000006151,0.000042960609702,0.00000001993452,-0.000000000006225,-0.000000000029008,0.000000000006151,-0.000042960418976,-0.000000019921623,-0.00000000002911,0.000000000006225,2.51537869459133e-21,2.53795733258105e-21,0.000000000190726,0.000000000012897,1.20524221905068e-20,3.41672606569997e-21,0.000000000118065,0.000000000118065,0.000170861712322,0.000170861712322,0.000000000118065,0.000000000118065,0.000000000118065,0.000170861712322,0.000000000118065,0.000000028044058,0.040584729399935,0.000000028044057,0.00000000002911,0.040584729399935],[-0.000000000000508,-0.000000000000137,-0.000000000000508,-0.000000000000135,-0.000000000000136,0.000000000000508,0.000000000000137,0.000000000000508,0.000000000000135,0.000000000000509,0.000000000000136,2.01948391736579e-28,0.0,2.01948391736579e-28,0.0,3.02922587604869e-28,0.0,0.000000000002093,0.000000000002093,0.000000000002092,0.000000000002092,0.000000000002091,0.000000000002091,0.000000000002093,0.000000000002092,0.000000000002091,0.000000000497254,0.000000000496813,0.000000000496603,-0.000000000000509,0.000000000497254],[0.000000000067647,-0.000000000014549,0.000099908171526,0.000000046976476,-0.000000000014723,-0.000000000067647,0.000000000014549,-0.000099907908591,-0.000000046956643,-0.000000000067886,0.000000000014723,-1.79082250322864e-18,-1.919337234921e-18,0.000000000262936,0.000000000019833,-7.44766863290265e-19,2.5023468227009e-18,0.000000000275504,0.000000000275504,0.000397354958469,0.000397354958469,0.000000000275503,0.000000000275503,0.000000000275504,0.000397354958469,0.000000000275503,0.000000065440299,0.094383599731144,0.000000065440156,0.000000000067886,0.094383599731144],[0.000000000015006,-0.000000000005058,0.000028979687963,0.000000022710645,-0.000000000005098,-0.000000000015006,0.000000000005058,-0.000028979684203,-0.000000022710361,-0.000000000015034,0.000000000005098,-2.32803424119286e-20,-2.25644078982412e-20,0.000000000003761,0.000000000000284,-7.3967362791544e-21,2.87906924963623e-20,0.000000000062974,0.000000000062974,0.000115288313853,0.000115288313853,0.000000000062977,0.000000000062977,0.000000000062974,0.000115288313853,0.000000000062977,0.000000014958252,0.02738439734155,0.000000014958912,0.000000000015034,0.02738439734155],[0.000000000119577,-0.00000000004303,0.000227843370541,0.000000192065656,-0.000000000043383,-0.000000000119577,0.00000000004303,-0.000227843005276,-0.000000192038104,-0.000000000119782,0.000000000043383,-2.28694827064023e-18,-1.8833132704439e-18,0.000000000365266,0.000000000027551,-4.91310852463501e-19,2.9058377739172e-18,0.000000000505393,0.000000000505393,0.000906549250657,0.000906549250657,0.000000000505394,0.000000000505394,0.000000000505393,0.000906549250657,0.000000000505394,0.000000120045946,0.215332361625335,0.000000120045968,0.000000000119782,0.215332361625335],[0.000850065152814,0.000279702196145,0.001252887803572,0.000001529392359,-0.000000338475047,-0.000850064493348,-0.000279702483173,-0.001252886176133,-0.000001528824399,-0.000559008695642,0.00000033868422,0.000000000659466,-0.000000000287027,0.000000001627439,0.00000000056796,-0.000000000021447,0.000000000209173,0.003558909061144,0.003558909061144,0.004985046194659,0.004985046194659,0.00221763554648,0.00221763554648,0.003558909061144,0.004985046194659,0.00221763554648,0.845346562683343,1.184096472562824,0.526754281801793,0.000559008674195,1.184096472562824],[0.000000000000068,-0.000000000000254,0.000000000000068,-0.000000000000254,-0.000000000000255,-0.000000000000068,0.000000000000254,-0.000000000000068,0.000000000000254,-0.000000000000068,0.000000000000255,5.04870979341448e-29,0.0,3.78653234506086e-29,0.0,5.04870979341448e-29,-5.04870979341448e-29,0.000000000001047,0.000000000001047,0.000000000001045,0.000000000001045,0.000000000001046,0.000000000001046,0.000000000001047,0.000000000001045,0.000000000001046,0.000000000248749,0.000000000248241,0.000000000248346,0.000000000000068,0.000000000248749],[0.000000000067635,-0.000000000014569,0.000099907908579,0.000000046956623,-0.000000000014743,-0.000000000067635,0.000000000014569,-0.000099907835897,-0.00000004695114,-0.000000000067874,0.000000000014743,-4.83461102320829e-19,-5.17021338424011e-19,0.000000000072682,0.000000000005482,-2.21333912229036e-19,6.79218590009725e-19,0.000000000275475,0.000000000275475,0.000397354958422,0.000397354958422,0.000000000275475,0.000000000275475,0.000000000275475,0.000397354958422,0.000000000275475,0.000000065433605,0.094383599720141,0.000000065433402,0.000000000067874,0.094383599720141],[0.000000000014946,-0.000000000005117,0.000028979684142,0.000000022710303,-0.000000000005157,-0.000000000014946,0.000000000005117,-0.00002897967936,-0.000000022709942,-0.000000000014973,0.000000000005157,-3.40057536423987e-20,-2.0986376702863e-20,0.000000000004781,0.000000000000361,-3.62861516507139e-21,3.3130396221513e-20,0.000000000062821,0.000000000062821,0.00011528831361,0.00011528831361,0.000000000062824,0.000000000062824,0.000000000062821,0.00011528831361,0.000000000062824,0.000000014921802,0.027384397283943,0.000000014922496,0.000000000014973,0.027384397283943],[0.000000000119491,-0.000000000043028,0.00022784300519,0.000000192038107,-0.00000000004338,-0.000000000119491,0.000000000043028,-0.000227842139036,-0.000000191972774,-0.000000000119696,0.00000000004338,-5.30950161672957e-18,-4.46120387800694e-18,0.000000000866154,0.000000000065333,-1.20218152153726e-18,6.78933083451424e-18,0.000000000505069,0.000000000505069,0.000906549250316,0.000906549250316,0.000000000505069,0.000000000505069,0.000000000505069,0.000906549250316,0.000000000505069,0.000000119968919,0.215332361544329,0.00000011996894,0.000000000119696,0.215332361544329],[0.000850064502652,0.00027970248554,0.00125288618544,0.000001528826739,-0.000000338681866,-0.000850063741726,-0.000279702816727,-0.001252884307618,-0.000001528171397,-0.000559008729721,0.00000033892322,0.000000000760926,-0.000000000331187,0.000000001877822,0.000000000655341,-0.000000000024747,0.000000000241354,0.003558909099235,0.003558909099235,0.004985046231699,0.004985046231699,0.002217635583495,0.002217635583495,0.003558909099235,0.004985046231699,0.002217635583495,0.845346571731066,1.184096481360819,0.526754290594076,0.000559008704974,1.184096481360819],[-0.00000000000099,0.000000000000141,-0.000000000000991,0.000000000000145,0.000000000000144,0.00000000000099,-0.000000000000141,0.000000000000991,-0.000000000000145,0.000000000000994,-0.000000000000144,6.05845175209737e-28,1.26217744835362e-28,8.07793566946316e-28,1.26217744835362e-28,8.07793566946316e-28,1.26217744835362e-28,0.000000000003984,0.000000000003984,0.000000000003982,0.000000000003982,0.000000000003983,0.000000000003983,0.000000000003984,0.000000000003982,0.000000000003983,0.000000000946238,0.000000000945916,0.000000000945999,-0.000000000000994,0.000000000946238],[0.000000000067626,-0.000000000014537,0.000099907835888,0.000000046951172,-0.000000000014711,-0.000000000067626,0.000000000014537,-0.000099907814787,-0.000000046949581,-0.000000000067866,0.000000000014711,-1.39585267877554e-19,-1.78641119102716e-19,0.000000000021101,0.000000000001592,-9.06743367512353e-20,1.92282233748097e-19,0.000000000275416,0.000000000275416,0.000397354958389,0.000397354958389,0.000000000275415,0.000000000275415,0.000000000275416,0.000397354958389,0.000000000275415,0.000000065419401,0.094383599712147,0.000000065419262,0.000000000067866,0.094383599712147],[0.000000000014949,-0.000000000005158,0.000028979679363,0.0000000227099,-0.000000000005199,-0.000000000014949,0.000000000005158,-0.000028979676458,-0.000000022709681,-0.000000000014975,0.000000000005199,-1.31466367380724e-20,-1.1180791929139e-20,0.000000000002905,0.000000000000219,-7.64374985840378e-21,2.2240064240828e-20,0.000000000062885,0.000000000062885,0.000115288313621,0.000115288313621,0.000000000062888,0.000000000062888,0.000000000062885,0.000115288313621,0.000000000062888,0.000000014937098,0.027384397286473,0.000000014937662,0.000000000014975,0.027384397286473],[0.000000000119562,-0.000000000043056,0.000227842139107,0.000000191972747,-0.000000000043408,-0.000000000119562,0.000000000043056,-0.000227841480687,-0.000000191923083,-0.000000000119768,0.000000000043408,-4.00210101521555e-18,-3.42553496407464e-18,0.00000000065842,0.000000000049664,-9.70598350380208e-19,5.19151588287746e-18,0.000000000505373,0.000000000505373,0.000906549250599,0.000906549250599,0.000000000505373,0.000000000505373,0.000000000505373,0.000906549250599,0.000000000505373,0.000000120041106,0.215332361611554,0.000000120041136,0.000000000119768,0.215332361611554],[0.000850063752115,0.000279702819113,0.001252884318008,0.000001528173754,-0.000000338920849,-0.00085006298287,-0.000279703153921,-0.001252882419658,-0.000001527511248,-0.000559008765158,0.000000339164841,0.000000000769244,-0.000000000334807,0.00000000189835,0.000000000662505,-0.000000000025017,0.000000000243992,0.003558909141446,0.003558909141446,0.00498504627305,0.00498504627305,0.002217635624823,0.002217635624823,0.003558909141446,0.00498504627305,0.002217635624823,0.8453465817573,1.18409649118305,0.526754300410704,0.00055900874014,1.18409649118305],[-0.000000000000588,-0.00000000000009,-0.000000000000589,-0.000000000000089,-0.000000000000089,0.000000000000588,0.00000000000009,0.000000000000589,0.000000000000089,0.00000000000059,0.000000000000089,3.02922587604869e-28,-8.83524213847533e-29,4.03896783473158e-28,0.0,4.03896783473158e-28,-2.52435489670724e-29,0.000000000002369,0.000000000002369,0.000000000002367,0.000000000002367,0.000000000002367,0.000000000002367,0.000000000002369,0.000000000002367,0.000000000002367,0.000000000562743,0.000000000562262,0.00000000056232,-0.00000000000059,0.000000000562743],[0.000000000030428,-0.00000000000655,0.000044958507317,0.000000021122865,-0.000000000006628,-0.000000000030428,0.00000000000655,-0.000044958503611,-0.000000021122586,-0.000000000030535,0.000000000006628,-1.257859953297e-20,-3.41108047723994e-20,0.000000000003707,0.00000000000028,-1.7950329817935e-20,3.15613218412051e-20,0.000000000123929,0.000000000123929,0.000178809694131,0.000178809694131,0.000000000123926,0.000000000123926,0.000000000123929,0.000178809694131,0.000000000123926,0.000000029436719,0.042472611047805,0.000000029436185,0.000000000030535,0.042472611047805],[0.000000000037269,-0.000000000008122,0.00005494930754,0.00000002582658,-0.000000000008218,-0.000000000037269,0.000000000008122,-0.000054949278129,-0.000000025824362,-0.000000000037401,0.000000000008218,-1.86080256466199e-19,-2.05967082337193e-19,0.000000000029411,0.000000000002218,-8.60134841922287e-20,2.78483796516518e-19,0.000000000151873,0.000000000151873,0.000218545264535,0.000218545264535,0.000000000151873,0.000000000151873,0.000000000151873,0.000218545264535,0.000000000151873,0.000000036074395,0.051910988730389,0.000000036074381,0.000000000037401,0.051910988730389],[0.00000000001492,-0.000000000005115,0.00002897967643,0.000000022709725,-0.000000000005156,-0.00000000001492,0.000000000005115,-0.000028979673807,-0.000000022709527,-0.000000000014947,0.000000000005156,-1.74247954791511e-20,-1.80762333310728e-20,0.000000000002622,0.000000000000198,5.55109923091826e-21,2.34222628559118e-20,0.000000000062721,0.000000000062721,0.000115288313507,0.000115288313507,0.000000000062724,0.000000000062724,0.000000000062721,0.000115288313507,0.000000000062724,0.000000014898151,0.027384397259475,0.000000014898799,0.000000000014947,0.027384397259475],[0.000000000119534,-0.000000000043059,0.000227841480658,0.000000191923079,-0.000000000043411,-0.000000000119534,0.000000000043059,-0.000227841018457,-0.000000191888216,-0.000000000119739,0.000000000043411,-2.86226037413365e-18,-2.32441360056588e-18,0.000000000462201,0.000000000034863,-5.76174361733825e-19,3.651728239285e-18,0.00000000050527,0.00000000050527,0.000906549250484,0.000906549250484,0.00000000050527,0.00000000050527,0.00000000050527,0.000906549250484,0.00000000050527,0.000000120016603,0.215332361584309,0.000000120016581,0.000000000119739,0.215332361584309],[0.000850062993007,0.000279703156989,0.001252882429798,0.000001527514286,-0.000000339161787,-0.0008500621402,-0.000279703528166,-0.001252880325232,-0.000001526779814,-0.000559008803061,0.000000339432284,0.000000000852807,-0.000000000371177,0.000000002104566,0.000000000734473,-0.000000000027735,0.000000000270497,0.003558909183554,0.003558909183554,0.004985046313413,0.004985046313413,0.002217635665154,0.002217635665154,0.003558909183554,0.004985046313413,0.002217635665154,0.845346591759274,1.184096500770413,0.526754309990586,0.000559008775326,1.184096500770413],[-0.000000000000237,-0.000000000000132,-0.000000000000237,-0.000000000000131,-0.000000000000131,0.000000000000237,0.000000000000132,0.000000000000237,0.000000000000131,0.000000000000237,0.000000000000131,1.51461293802434e-28,7.57306469012171e-29,2.01948391736579e-28,5.04870979341448e-29,2.52435489670724e-28,-2.52435489670724e-29,0.00000000000108,0.00000000000108,0.000000000001078,0.000000000001078,0.000000000001077,0.000000000001077,0.00000000000108,0.000000000001078,0.000000000001077,0.000000000256496,0.000000000256048,0.00000000025573,-0.000000000000237,0.000000000256496],[0.000000000030451,-0.00000000000651,0.000044958503634,0.000000021122627,-0.000000000006588,-0.000000000030451,0.00000000000651,-0.000044958500165,-0.000000021122365,-0.000000000030559,0.000000000006588,-2.03248680885421e-20,-2.70300983392671e-20,0.000000000003469,0.000000000000262,-1.72858776038562e-20,3.61548124946641e-20,0.000000000123985,0.000000000123985,0.000178809694223,0.000178809694223,0.000000000123985,0.000000000123985,0.000000000123985,0.000178809694223,0.000000000123985,0.000000029450039,0.042472611069585,0.000000029450133,0.000000000030559,0.042472611069585],[0.000000000037272,-0.000000000008116,0.000054949278132,0.000000025824367,-0.000000000008213,-0.000000000037272,0.000000000008116,-0.000054949239323,-0.00000002582144,-0.000000000037403,0.000000000008213,-2.57050789134903e-19,-3.01638410706513e-19,0.00000000003881,0.000000000002927,-1.22651032506913e-19,3.60648714664506e-19,0.00000000015188,0.00000000015188,0.000218545264547,0.000218545264547,0.00000000015188,0.00000000015188,0.00000000015188,0.000218545264547,0.00000000015188,0.000000036076066,0.051910988733117,0.000000036076054,0.000000000037403,0.051910988733117],[0.000000000014836,-0.000000000005121,0.000028979673724,0.000000022709522,-0.000000000005161,-0.000000000014836,0.000000000005121,-0.000028979669301,-0.000000022709188,-0.000000000014863,0.000000000005161,-2.35168449812849e-20,-2.17414092329842e-20,0.000000000004423,0.000000000000334,-1.0657078357055e-20,3.36080405186805e-20,0.000000000062414,0.000000000062414,0.000115288313174,0.000115288313174,0.000000000062416,0.000000000062416,0.000000000062414,0.000115288313174,0.000000000062416,0.00000001482514,0.027384397180459,0.000000014825728,0.000000000014863,0.027384397180459],[0.000000000119575,-0.000000000043056,0.000227841018499,0.000000191888219,-0.000000000043409,-0.000000000119575,0.000000000043056,-0.000227840534303,-0.000000191851697,-0.000000000119781,0.000000000043409,-2.9107771019993e-18,-2.47201577369333e-18,0.000000000484196,0.000000000036522,-6.82392934384489e-19,3.81167732382572e-18,0.000000000505423,0.000000000505423,0.000906549250651,0.000906549250651,0.000000000505422,0.000000000505422,0.000000000505423,0.000906549250651,0.000000000505422,0.000000120052881,0.215332361623862,0.000000120052835,0.000000000119781,0.215332361623862],[0.000850062153866,0.000279703531026,0.001252880338899,0.000001526782634,-0.000000339429445,-0.000850060913706,-0.000279704070795,-0.001252877278418,-0.000001525714556,-0.000559008857098,0.000000339822805,0.00000000124016,-0.000000000539769,0.000000003060481,0.000000001068077,-0.000000000040332,0.00000000039336,0.003558909238733,0.003558909238733,0.004985046367806,0.004985046367806,0.002217635719517,0.002217635719517,0.003558909238733,0.004985046367806,0.002217635719517,0.845346604866047,1.184096513690303,0.526754322903333,0.000559008816766,1.184096513690303],[-0.000000000000104,0.000000000000006,-0.000000000000104,0.000000000000006,0.000000000000007,0.000000000000104,-0.000000000000006,0.000000000000104,-0.000000000000006,0.000000000000104,-0.000000000000007,1.26217744835362e-29,7.88860905221012e-30,1.26217744835362e-29,7.09974814698911e-30,1.26217744835362e-29,5.52202633654708e-30,0.000000000000415,0.000000000000415,0.000000000000413,0.000000000000413,0.000000000000413,0.000000000000413,0.000000000000415,0.000000000000413,0.000000000000413,0.000000000098537,0.000000000098014,0.000000000098069,-0.000000000000104,0.000000000098537],[0.000000000030405,-0.00000000000659,0.000044958500118,0.000000021122284,-0.000000000006669,-0.000000000030405,0.00000000000659,-0.000044958496545,-0.000000021122015,-0.000000000030512,0.000000000006669,-3.57029182330301e-20,-2.51729817366511e-20,0.000000000003574,0.00000000000027,-2.1203159415663e-21,3.37154294032639e-20,0.000000000123872,0.000000000123872,0.000178809694038,0.000178809694038,0.000000000123872,0.000000000123872,0.000000000123872,0.000178809694038,0.000000000123872,0.000000029423212,0.042472611025492,0.000000029423268,0.000000000030512,0.042472611025492],[0.000000000037291,-0.000000000008124,0.000054949239342,0.000000025821432,-0.00000000000822,-0.000000000037291,0.000000000008124,-0.000054949078109,-0.00000002580927,-0.000000000037423,0.00000000000822,-1.08999998479647e-18,-1.17607672407175e-18,0.000000000161233,0.000000000012162,-4.77835970425087e-19,1.54461584189798e-18,0.000000000151961,0.000000000151961,0.000218545264622,0.000218545264622,0.000000000151961,0.000000000151961,0.000000000151961,0.000218545264622,0.000000000151961,0.000000036095195,0.051910988751108,0.000000036095217,0.000000000037423,0.051910988751108],[0.000000000014995,-0.000000000005078,0.00002897966946,0.00000002270923,-0.000000000005118,-0.000000000014995,0.000000000005078,-0.000028979665112,-0.000000022708902,-0.000000000015022,0.000000000005118,-2.53174297667053e-20,-2.04688928347672e-20,0.000000000004348,0.000000000000328,-3.96194633371038e-21,3.67005376336538e-20,0.000000000062956,0.000000000062956,0.000115288313806,0.000115288313806,0.000000000062959,0.000000000062959,0.000000000062956,0.000115288313806,0.000000000062959,0.00000001495396,0.027384397330588,0.000000014954538,0.000000000015022,0.027384397330588],[0.000000000119534,-0.000000000043059,0.000227840534261,0.000000191851694,-0.000000000043411,-0.000000000119534,0.000000000043059,-0.000227840136732,-0.000000191821709,-0.000000000119739,0.000000000043411,-2.45453020305738e-18,-2.04834332482192e-18,0.000000000397529,0.000000000029985,-5.62145869683414e-19,3.1036728420368e-18,0.00000000050527,0.00000000050527,0.000906549250484,0.000906549250484,0.00000000050527,0.00000000050527,0.00000000050527,0.000906549250484,0.00000000050527,0.000000120016602,0.215332361584339,0.000000120016543,0.000000000119739,0.215332361584339],[0.000149101240121,0.000049089601533,-0.000000000000277,-0.000000000057799,-0.000000000057972,-0.000149101021835,-0.000049089585068,0.000000000000277,0.000000000057799,0.000000000000233,0.000000000057972,0.000000000218286,0.000000000016465,1.10118566569422e-18,1.92325457166277e-19,-7.27251441602299e-19,8.51583933425854e-19,0.000624271467975,0.000624271467975,0.000000000229978,0.000000000229978,0.00000000022998,0.00000000022998,0.000624271467975,0.000000000229978,0.00000000022998,0.148283007676661,0.000000054626568,0.000000054627077,-0.000000000000233,0.148283007676661],[0.000700959689783,0.000230614475331,0.001252877294902,0.000001525778376,-0.000000339758782,-0.000700957625113,-0.000230615810539,-0.001252868755342,-0.000001523404793,-0.000559008794899,0.000000341013182,0.00000000206467,-0.000000001335208,0.00000000853956,0.000000002373582,0.000000000078684,0.0000000012544,0.002934637851413,0.002934637851413,0.004985046433703,0.004985046433703,0.002217635784755,0.002217635784755,0.002934637851413,0.004985046433703,0.002217635784755,0.697063616347248,1.18409652934287,0.526754338399301,0.000559008873582,1.18409652934287],[0.000000000000115,-0.000000000000173,0.000000000000114,-0.000000000000174,-0.000000000000174,-0.000000000000115,0.000000000000173,-0.000000000000114,0.000000000000174,-0.000000000000115,0.000000000000174,5.04870979341448e-29,2.52435489670724e-29,7.57306469012171e-29,2.52435489670724e-29,5.04870979341448e-29,5.04870979341448e-29,0.000000000000827,0.000000000000827,0.000000000000826,0.000000000000826,0.000000000000827,0.000000000000827,0.000000000000827,0.000000000000826,0.000000000000827,0.00000000019648,0.000000000196292,0.000000000196467,0.000000000000115,0.00000000019648],[0.000000000030508,-0.000000000006643,0.000044958496648,0.000000021121961,-0.000000000006722,-0.000000000030508,0.000000000006643,-0.00004495847081,-0.000000021120013,-0.000000000030616,0.000000000006722,-1.69731755442124e-19,-1.83437011320102e-19,0.000000000025838,0.000000000001949,-7.03064875825831e-20,2.44753410007568e-19,0.000000000124319,0.000000000124319,0.000178809694449,0.000178809694449,0.000000000124319,0.000000000124319,0.000000000124319,0.000178809694449,0.000000000124319,0.000000029529529,0.042472611123197,0.0000000295295,0.000000000030616,0.042472611123197],[0.000000000037277,-0.000000000008119,0.000054949078095,0.000000025809275,-0.000000000008216,-0.000000000037277,0.000000000008119,-0.000054949009623,-0.00000002580411,-0.000000000037409,0.000000000008216,-4.60276703166433e-19,-5.04600093846708e-19,0.000000000068472,0.000000000005165,-1.90660962978667e-19,6.48440083142789e-19,0.000000000151902,0.000000000151902,0.000218545264567,0.000218545264567,0.000000000151902,0.000000000151902,0.000000000151902,0.000218545264567,0.000000000151902,0.000000036081291,0.051910988737865,0.000000036081293,0.000000000037409,0.051910988737865],[0.000000000014747,-0.000000000005042,0.000028979664864,0.000000022708938,-0.000000000005082,-0.000000000014747,0.000000000005042,-0.000028979662807,-0.000000022708783,-0.000000000014774,0.000000000005082,-1.18334907468188e-20,-1.04090833086217e-20,0.000000000002057,0.000000000000155,-3.85218334383372e-21,1.20982806313024e-20,0.000000000061978,0.000000000061978,0.000115288312821,0.000115288312821,0.00000000006198,0.00000000006198,0.000000000061978,0.000115288312821,0.00000000006198,0.000000014721499,0.027384397096527,0.000000014722183,0.000000000014774,0.027384397096527],[0.000000000119562,-0.000000000043056,0.000227840136761,0.000000191821712,-0.000000000043408,-0.000000000119562,0.000000000043056,-0.000227839478561,-0.000000191772065,-0.000000000119768,0.000000000043408,-4.0974291347165e-18,-3.32153489628919e-18,0.000000000658199,0.000000000049647,-9.08869557728738e-19,5.12139874210697e-18,0.000000000505373,0.000000000505373,0.000906549250599,0.000906549250599,0.000000000505373,0.000000000505373,0.000000000505373,0.000906549250599,0.000000000505373,0.000000120041104,0.215332361611573,0.000000120041117,0.000000000119768,0.215332361611573],[0.000149101023821,0.000049089585186,0.000000000001708,-0.000000000057687,-0.000000000057858,-0.00014910089274,-0.000049089575298,-0.000000000001708,0.000000000057687,-0.000000000001758,0.000000000057858,0.000000000131081,0.000000000009887,6.78740517581967e-19,1.71654834044037e-19,-4.71896957414211e-19,4.97610976663783e-19,0.000624271475622,0.000624271475622,0.000000000229632,0.000000000229632,0.000000000229634,0.000000000229634,0.000624271475622,0.000000000229632,0.000000000229634,0.148283009492916,0.000000054544382,0.000000054544915,0.000000000001758,0.148283009492916],[0.000700957743664,0.000230615840822,0.001252868873918,0.000001523434726,-0.000000340983071,-0.000700944669697,-0.000230624295665,-0.001252814799463,-0.000001508404657,-0.000559008415562,0.000000348926217,0.000000013073967,-0.000000008454843,0.000000054074456,0.000000015030069,0.000000000498243,0.000000007943146,0.002934638336901,0.002934638336901,0.004985046905652,0.004985046905652,0.002217636256397,0.002217636256397,0.002934638336901,0.004985046905652,0.002217636256397,0.697063731665023,1.184096641444613,0.526754450428217,0.000559008913806,1.184096641444613],[2.82853421132558e-17,4.91261715739748e-17,1.12649714532287e-17,-3.93433321219862e-17,-9.83571603879828e-18,-2.82853421132558e-17,-4.91261715739748e-17,-1.12649714532287e-17,3.93433321219862e-17,3.98416082645869e-17,9.83571603879832e-18,1.84889274661175e-32,-2.46519032881566e-32,-2.77333911991762e-32,0.0,1.84889274661175e-32,3.38963670212154e-32,2.25708318470679e-16,2.25708318470679e-16,1.62760583108958e-16,1.62760583108958e-16,1.62760583108958e-16,1.62760583108958e-16,2.25708318470679e-16,1.62760583108958e-16,1.62760583108958e-16,0.000000000000054,0.000000000000039,0.000000000000039,-3.98416082645869e-17,0.000000000000054],[0.000000000030503,-0.000000000006643,0.000044958470805,0.000000021120012,-0.000000000006722,-0.000000000030503,0.000000000006643,-0.000044958282651,-0.00000002110582,-0.000000000030611,0.000000000006722,-1.27096595801866e-18,-1.37644821956291e-18,0.000000000188154,0.000000000014192,-5.59869404014183e-19,1.77525283152537e-18,0.000000000124299,0.000000000124299,0.000178809694428,0.000178809694428,0.000000000124299,0.000000000124299,0.000000000124299,0.000178809694428,0.000000000124299,0.000000029524764,0.042472611118254,0.00000002952476,0.000000000030611,0.042472611118254],[0.000000000014931,-0.000000000005095,0.000028979662991,0.00000002270873,-0.000000000005135,-0.000000000014931,0.000000000005095,-0.000028979660732,-0.00000002270856,-0.000000000014958,0.000000000005135,-1.03470924225007e-20,-9.26335334191127e-21,0.00000000000226,0.00000000000017,-6.75506384366346e-21,1.89581419577865e-20,0.000000000062739,0.000000000062739,0.000115288313554,0.000115288313554,0.000000000062741,0.000000000062741,0.000000000062739,0.000115288313554,0.000000000062741,0.000000014902334,0.027384397270625,0.000000014902879,0.000000000014958,0.027384397270625],[0.000000000119578,-0.000000000043051,0.000227839478577,0.00000019177207,-0.000000000043404,-0.000000000119578,0.000000000043051,-0.000227837351472,-0.000000191611625,-0.000000000119784,0.000000000043404,-1.29187585347284e-17,-1.09226486541348e-17,0.000000002127105,0.000000000160445,-2.90441835783545e-18,1.67121728156905e-17,0.000000000505427,0.000000000505427,0.000906549250662,0.000906549250662,0.000000000505427,0.000000000505427,0.000000000505427,0.000906549250662,0.000000000505427,0.000000120053833,0.215332361626597,0.00000012005384,0.000000000119784,0.215332361626597],[0.000149100894122,0.000049089575415,0.000000000003089,-0.000000000057575,-0.000000000057744,-0.000149100772525,-0.000049089566243,-0.000000000003089,0.000000000057575,-0.000000000003143,0.000000000057744,0.000000000121596,0.000000000009172,6.2253038276787e-19,1.82341115754124e-19,-4.63312544467899e-19,4.37659019666865e-19,0.000624271480985,0.000624271480985,0.000000000229413,0.000000000229413,0.000000000229416,0.000000000229416,0.000624271480985,0.000000000229413,0.000000000229416,0.148283010766872,0.000000054492441,0.00000005449304,0.000000000003143,0.148283010766872],[0.000700944845416,0.000230624340559,0.001252814975216,0.000001508449027,-0.000000348881582,-0.000700935487095,-0.000230630392518,-0.001252776268828,-0.000001497690533,-0.000559008235171,0.000000354567271,0.000000009358322,-0.000000006051959,0.000000038706388,0.000000010758494,0.000000000356643,0.000000005685689,0.002934639056523,0.002934639056523,0.004985047605199,0.004985047605199,0.00221763695549,0.00221763695549,0.002934639056523,0.004985047605199,0.00221763695549,0.697063902596801,1.184096807607858,0.526754616483548,0.000559008591814,1.184096807607858],[0.00000000001466,-0.0000000000051,0.000028979660461,0.000000022708555,-0.00000000000514,-0.00000000001466,0.0000000000051,-0.000028979658292,-0.000000022708392,-0.000000000014686,0.00000000000514,-1.33682920616682e-20,-1.82173791010254e-20,0.000000000002169,0.000000000000164,-5.61487937979008e-21,2.14310509055956e-20,0.000000000061726,0.000000000061726,0.000115288312476,0.000115288312476,0.000000000061728,0.000000000061728,0.000000000061726,0.000115288312476,0.000000000061728,0.000000014661764,0.027384397014605,0.000000014662178,0.000000000014686,0.027384397014605],[0.000000000119607,-0.000000000043047,0.000227837351501,0.000000191611629,-0.0000000000434,-0.000000000119607,0.000000000043047,-0.000227832381255,-0.000000191236731,-0.000000000119813,0.0000000000434,-3.03185914090526e-17,-2.54406920469108e-17,0.000000004970245,0.000000000374899,-6.86525078945346e-18,3.89661983983053e-17,0.00000000050553,0.00000000050553,0.000906549250779,0.000906549250779,0.00000000050553,0.00000000050553,0.00000000050553,0.000906549250779,0.00000000050553,0.000000120078468,0.215332361654216,0.000000120078465,0.000000000119813,0.215332361654216],[0.000149100773812,0.000049089566334,0.000000000004375,-0.000000000057488,-0.000000000057656,-0.000149100655166,-0.000049089557385,-0.000000000004375,0.000000000057488,-0.000000000004433,0.000000000057656,0.000000000118645,0.000000000008949,6.02030679474769e-19,1.69255305871642e-19,-4.36560977793379e-19,4.17612510779144e-19,0.000624271485957,0.000624271485957,0.000000000229399,0.000000000229399,0.000000000229401,0.000000000229401,0.000624271485957,0.000000000229399,0.000000000229401,0.148283011947887,0.000000054488994,0.000000054489582,0.000000000004433,0.148283011947887],[0.000000000053689,-0.000000000018517,0.000000000053605,-0.000000000018659,-0.00000006822525,-0.000000000053689,0.000000000018517,-0.000000000053605,0.000000000018659,-0.000101993675719,0.000000068342592,-2.33716654133764e-18,1.21986173843423e-17,-9.38967635840428e-18,-8.1195052692555e-18,0.000000001555663,0.000000000117341,0.000000000225863,0.000000000225863,0.000000000225859,0.000000000225859,0.000404624449637,0.000404624449637,0.000000000225863,0.000000000225859,0.000404624449637,0.000000053649262,0.000000053648162,0.096110319708023,0.000101995231381,0.096110319708023],[0.00070093571218,0.000230630483894,0.001252776494052,0.00000149778121,-0.000000286269575,-0.00070090679465,-0.000230649685728,-0.001252663372285,-0.00000146277367,-0.000457016327932,0.000000298989898,0.000000028917531,-0.000000019201834,0.000000113121766,0.00000003500754,-0.000000003044517,0.000000012720323,0.002934640020424,0.002934640020424,0.004985048501838,0.004985048501838,0.001813013615271,0.001813013615271,0.002934640020424,0.004985048501838,0.001813013615271,0.697064131551911,1.184097020586328,0.430644560295349,0.000457013283415,1.184097020586328],[0.000000000014851,-0.000000000005048,0.000028979658482,0.000000022708443,-0.000000000005089,-0.000000000014851,0.000000000005048,-0.000028979655867,-0.000000022708245,-0.000000000014878,0.000000000005089,-1.83564787298728e-20,-9.51369341506934e-21,0.000000000002616,0.000000000000197,-9.84849961476158e-21,1.64326262617235e-20,0.000000000062376,0.000000000062376,0.000115288313235,0.000115288313235,0.000000000062378,0.000000000062378,0.000000000062376,0.000115288313235,0.000000000062378,0.000000014816123,0.027384397194747,0.000000014816626,0.000000000014878,0.027384397194747],[0.000149100656418,0.000049089557415,0.000000000005626,-0.000000000057461,-0.000000000057628,-0.000149100567426,-0.000049089550702,-0.000000000005626,0.000000000057461,-0.000000000005687,0.000000000057628,0.000000000088992,0.000000000006713,4.47475541157692e-19,1.36714821905025e-19,-3.74916352384824e-19,3.14990008906326e-19,0.000624271490723,0.000624271490723,0.000000000229724,0.000000000229724,0.000000000229726,0.000000000229726,0.000624271490723,0.000000000229724,0.000000000229726,0.148283013079804,0.000000054566267,0.00000005456684,0.000000000005687,0.148283013079804],[0.00000000002842,-0.000000000009697,0.000000000028376,-0.000000000009772,-0.000000036164056,-0.00000000002842,0.000000000009697,-0.000000000028376,0.000000000009772,-0.000053996647458,0.000000036167131,-6.49179681161227e-20,3.14236951431476e-19,-2.43377112330838e-19,-2.28284182619327e-19,0.000000000040771,0.000000000003075,0.000000000119425,0.000000000119425,0.000000000119421,0.000000000119421,0.000214213088193,0.000214213088193,0.000000000119425,0.000000000119421,0.000214213088193,0.000000028367,0.000000028365926,0.050881968230986,0.000053996688228,0.050881968230986],[0.000000000025293,-0.000000000008821,0.000000000025254,-0.000000000008888,-0.000000032178537,-0.000000000025293,0.000000000008821,-0.000000000025254,0.000000000008888,-0.000047996897582,0.000000032185321,-1.23385371789229e-19,7.06505008517927e-19,-5.50258999937692e-19,-4.79526633893092e-19,0.000000000089932,0.000000000006783,0.000000000106533,0.000000000106533,0.000000000106533,0.000000000106533,0.00019041136154,0.00019041136154,0.000000000106533,0.000000000106533,0.00019041136154,0.000000025304718,0.000000025304713,0.045228351500016,0.000047996987515,0.045228351500016],[0.00000000002335,-0.00000000000842,0.000042967627449,0.000000037711436,-0.000000000008493,-0.00000000002335,0.00000000000842,-0.000042967304015,-0.00000003768704,-0.00000000002339,0.000000000008493,-2.04065319145691e-18,-1.71136236713288e-18,0.000000000323434,0.000000000024396,-4.60860728221813e-19,2.62399606678459e-18,0.000000000098718,0.000000000098718,0.000170992181969,0.000170992181969,0.000000000098718,0.000000000098718,0.000000000098718,0.000170992181969,0.000000000098718,0.00000002344857,0.040615719814757,0.000000023448568,0.00000000002339,0.040615719814757],[0.000700907019661,0.000230649758018,0.001209695993232,0.000001425125335,-0.00000029891792,-0.000700900950867,-0.000230653508611,-0.001209674162165,-0.000001418224264,-0.000457017108933,0.000000301431666,0.000000006068794,-0.000000003750593,0.000000021831066,0.000000006901071,-0.000000000555261,0.000000002513746,0.002934640960346,0.002934640960346,0.004814057316114,0.004814057316114,0.001813014510608,0.001813014510608,0.002934640960346,0.004814057316114,0.001813014510608,0.697064354811175,1.143481537409402,0.430644772964461,0.000457016553672,1.143481537409402],[0.000000000014756,-0.000000000005074,0.000028979655772,0.00000002270822,-0.000000000005114,-0.000000000014756,0.000000000005074,-0.0000289796516,-0.000000022707905,-0.000000000014782,0.000000000005114,-2.48581151133653e-20,-2.26006390553058e-20,0.000000000004172,0.000000000000315,1.01990497110736e-20,2.80759704808188e-20,0.000000000062051,0.000000000062051,0.000115288312856,0.000115288312856,0.000000000062051,0.000000000062051,0.000000000062051,0.000115288312856,0.000000000062051,0.000000014738867,0.027384397104861,0.000000014739041,0.000000000014782,0.027384397104861],[0.000149100568599,0.000049089550737,0.000000000006799,-0.00000000005743,-0.000000000057596,-0.00014910042723,-0.000049089540074,-0.000000000006799,0.00000000005743,-0.000000000006864,0.000000000057596,0.00000000014137,0.000000000010663,6.95228396115876e-19,2.1164484844617e-19,-4.92889292402424e-19,5.03406236347072e-19,0.0006242714952,0.0006242714952,0.000000000230101,0.000000000230101,0.000000000230103,0.000000000230103,0.0006242714952,0.000000000230101,0.000000000230103,0.148283014143248,0.000000054655844,0.000000054656399,0.000000000006864,0.148283014143248],[0.000000000028345,-0.000000000009688,0.000000000028301,-0.000000000009762,-0.000000036167121,-0.000000000028345,0.000000000009688,-0.000000000028301,0.000000000009762,-0.000053996634625,0.000000036168084,-1.68657344761646e-20,1.03906228022363e-19,-7.3743435952438e-20,-5.32283938711911e-20,0.000000000012757,0.000000000000962,0.000000000119131,0.000000000119131,0.000000000119126,0.000000000119126,0.000214213087896,0.000214213087896,0.000000000119131,0.000000000119126,0.000214213087896,0.000000028297058,0.000000028295989,0.050881968160234,0.000053996647382,0.050881968160234],[0.000000000025294,-0.000000000008817,0.000000000025254,-0.000000000008885,-0.000000032185317,-0.000000000025294,0.000000000008817,-0.000000000025254,0.000000000008885,-0.000047996714376,0.000000032199136,-2.82936727858154e-19,1.44329576659578e-18,-1.09968520025078e-18,-9.6059856072388e-19,0.000000000183206,0.000000000013819,0.000000000106529,0.000000000106529,0.000000000106529,0.000000000106529,0.000190411361541,0.000190411361541,0.000000000106529,0.000000000106529,0.000190411361541,0.00000002530388,0.000000025303879,0.045228351500197,0.000047996897583,0.045228351500197],[0.00000000002335,-0.00000000000842,0.000042967304015,0.00000003768704,-0.000000000008493,-0.00000000002335,0.00000000000842,-0.000042967116641,-0.000000037672907,-0.00000000002339,0.000000000008493,-1.18499981052945e-18,-9.92119145535504e-19,0.000000000187374,0.000000000014133,-2.67013058395633e-19,1.51871333855984e-18,0.000000000098719,0.000000000098719,0.00017099218197,0.00017099218197,0.000000000098719,0.000000000098719,0.000000000098719,0.00017099218197,0.000000000098719,0.000000023448632,0.040615719814928,0.000000023448628,0.00000000002339,0.040615719814928],[0.000700901029548,0.000230653542627,0.001209674240898,0.000001418258027,-0.000000301397737,-0.000700889684871,-0.00023066110354,-0.001209634100628,-0.000001408324994,-0.00045701800461,0.000000305499977,0.000000011344677,-0.000000007560913,0.00000004014027,0.000000009933033,-0.00000000081672,0.00000000410224,0.002934641299883,0.002934641299883,0.004814057629597,0.004814057629597,0.001813014823745,0.001813014823745,0.002934641299883,0.004814057629597,0.001813014823745,0.697064435461198,1.143481611870889,0.43064484734374,0.00045701718789,1.143481611870889],[0.000000000014702,-0.00000000000505,0.000028979651547,0.000000022707929,-0.00000000000509,-0.000000000014702,0.00000000000505,-0.000028979640128,-0.000000022707068,-0.000000000014728,0.00000000000509,-7.27081063247285e-20,-5.5402225328774e-20,0.000000000011418,0.000000000000861,-2.49957340566046e-20,8.76227963856933e-20,0.000000000061819,0.000000000061819,0.000115288312645,0.000115288312645,0.00000000006182,0.00000000006182,0.000000000061819,0.000115288312645,0.00000000006182,0.000000014683922,0.027384397054649,0.000000014684084,0.000000000014728,0.027384397054649],[0.000149100429331,0.000049089540205,0.0000000000089,-0.000000000057304,-0.000000000057468,-0.000149100190976,-0.000049089522227,-0.0000000000089,0.000000000057304,-0.00000000000897,0.000000000057468,0.000000000238355,0.000000000017979,1.21465604817824e-18,4.55132208443025e-19,-9.84148596327244e-19,8.19701749517509e-19,0.000624271503299,0.000624271503299,0.00000000023074,0.00000000023074,0.000000000230743,0.000000000230743,0.000624271503299,0.00000000023074,0.000000000230743,0.14828301606719,0.000000054807647,0.000000054808226,0.00000000000897,0.14828301606719],[0.000000000028382,-0.000000000009763,0.000000000028338,-0.000000000009837,-0.000000036168159,-0.000000000028382,0.000000000009763,-0.000000000028338,0.000000000009837,-0.000053996626459,0.000000036168778,-1.95885610210963e-20,5.8430350182191e-20,-3.90934313974827e-20,-5.26157648456061e-20,0.000000000008203,0.000000000000619,0.000000000119368,0.000000000119368,0.000000000119364,0.000000000119364,0.000214213088042,0.000214213088042,0.000000000119368,0.000000000119364,0.000214213088042,0.000000028353366,0.000000028352502,0.050881968195006,0.000053996634662,0.050881968195006],[0.00070088993938,0.000230661140913,0.001209634355082,0.000001408361586,-0.000000305463079,-0.000700860013997,-0.000230681085345,-0.001209528471713,-0.000001382159893,-0.000457020414218,0.000000316284109,0.000000029925383,-0.000000019944432,0.000000105883369,0.000000026201693,-0.000000002154367,0.00000001082103,0.002934642307845,0.002934642307845,0.004814058642431,0.004814058642431,0.001813015836203,0.001813015836203,0.002934642307845,0.004814058642431,0.001813015836203,0.697064674882313,1.143481852449018,0.430645087832537,0.000457018259851,1.143481852449018],[-0.000000000000691,0.000000000000291,-0.00000000000069,0.000000000000293,0.000000000000293,0.000000000000691,-0.000000000000291,0.00000000000069,-0.000000000000293,0.000000000000692,-0.000000000000293,3.02922587604869e-28,1.0097419586829e-28,4.03896783473158e-28,1.0097419586829e-28,3.02922587604869e-28,1.51461293802434e-28,0.000000000002981,0.000000000002981,0.000000000002982,0.000000000002982,0.000000000002981,0.000000000002981,0.000000000002981,0.000000000002982,0.000000000002981,0.000000000708165,0.000000000708259,0.000000000708107,-0.000000000000692,0.000000000708259],[0.000000000014654,-0.000000000005029,0.00002897964008,0.000000022707089,-0.000000000005069,-0.000000000014654,0.000000000005029,-0.000028979624884,-0.000000022705943,-0.00000000001468,0.000000000005069,-8.08854070652746e-20,-8.37751657664029e-20,0.000000000015196,0.000000000001146,-2.35698233145795e-20,1.10519299528416e-19,0.000000000061611,0.000000000061611,0.000115288312453,0.000115288312453,0.000000000061611,0.000000000061611,0.000000000061611,0.000115288312453,0.000000000061611,0.000000014634366,0.027384397009178,0.000000014634528,0.00000000001468,0.027384397009178],[0.000149100202168,0.000049089522972,0.000000000020088,-0.000000000056591,-0.000000000056744,-0.000149098416188,-0.000049089388258,-0.000000000020088,0.000000000056591,-0.000000000020191,0.000000000056744,0.000000001785979,0.000000000134714,8.34047684083332e-18,5.1446694782378e-18,-8.59278886733527e-18,4.6408960060105e-18,0.000624271546503,0.000624271546503,0.000000000238933,0.000000000238933,0.000000000238937,0.000000000238937,0.000624271546503,0.000000000238933,0.000000000238937,0.148283026329292,0.000000056753756,0.000000056754521,0.000000000020191,0.148283026329292],[0.000000000028348,-0.000000000009636,0.000000000028304,-0.00000000000971,-0.00000003616865,-0.000000000028348,0.000000000009636,-0.000000000028304,0.00000000000971,-0.000053996621478,0.000000036169024,8.07017438887194e-21,4.52588737919349e-20,-5.2800027404988e-20,-7.7694506153563e-21,0.000000000004948,0.000000000000373,0.000000000119076,0.000000000119076,0.000000000119072,0.000000000119072,0.000214213087907,0.000214213087907,0.000000000119076,0.000000000119072,0.000214213087907,0.00000002828401,0.000000028283082,0.050881968162971,0.000053996626425,0.050881968162971],[0.00059978581275,0.000197404344842,0.001209528788385,0.000001382252203,-0.00000031619126,-0.000599762159571,-0.00019742521226,-0.001209402048815,-0.000001356726006,-0.000457021716405,0.00000033046211,0.000000023653179,-0.000000020867418,0.00000012673957,0.000000025526197,-0.000000000984535,0.000000014270849,0.002511412822539,0.002511412822539,0.004814059903241,0.004814059903241,0.00181301709608,0.00181301709608,0.002511412822539,0.004814059903241,0.00181301709608,0.596535106836708,1.14348215192898,0.43064538709067,0.000457020731869,1.14348215192898],[0.000101074552729,0.000033276792818,0.000000000034719,-0.000000000041096,-0.000000000041205,-0.000101073728351,-0.000033276730637,-0.000000000034719,0.000000000041096,-0.000000000034861,0.000000000041205,0.000000000824378,0.000000000062182,3.64987271161233e-18,4.69242629501935e-18,-5.91544681616995e-18,8.13073254001089e-19,0.000423230879873,0.000423230879873,0.000000000214125,0.000000000214125,0.000000000214114,0.000000000214114,0.000423230879873,0.000000000214125,0.000000000214114,0.100529899296515,0.00000005086102,0.000000050858532,0.000000000034861,0.100529899296515],[-0.000000000000645,0.000000000000371,-0.000000000000643,0.000000000000373,0.000000000000374,0.000000000000645,-0.000000000000371,0.000000000000643,-0.000000000000373,0.000000000000645,-0.000000000000374,6.05845175209737e-28,0.0,6.05845175209737e-28,5.04870979341448e-29,6.05845175209737e-28,0.0,0.000000000002958,0.000000000002958,0.000000000002959,0.000000000002959,0.000000000002958,0.000000000002958,0.000000000002958,0.000000000002959,0.000000000002958,0.000000000702666,0.000000000702883,0.000000000702577,-0.000000000000645,0.000000000702883],[0.000000000014915,-0.000000000005031,0.000028979625144,0.00000002270594,-0.000000000005072,-0.000000000014915,0.000000000005031,-0.000028979623697,-0.000000022705831,-0.000000000014941,0.000000000005072,-1.58198389085995e-20,-1.17747059933649e-21,0.000000000001447,0.000000000000109,-4.62985267308147e-22,1.27201516230867e-20,0.000000000062594,0.000000000062594,0.000115288313488,0.000115288313488,0.000000000062594,0.000000000062594,0.000000000062594,0.000115288313488,0.000000000062594,0.000000014867831,0.02738439725495,0.000000014867937,0.000000000014941,0.02738439725495],[0.000149098434116,0.000049089389462,0.00000000003801,-0.000000000055439,-0.000000000055575,-0.000149096968949,-0.000049089278946,-0.00000000003801,0.000000000055439,-0.000000000038166,0.000000000055575,0.000000001465166,0.000000000110515,6.16245150322774e-18,6.46810553815049e-18,-8.68675603885284e-18,2.08635499461747e-18,0.00062427161572,0.00062427161572,0.00000000026745,0.00000000026745,0.000000000267454,0.000000000267454,0.00062427161572,0.00000000026745,0.000000000267454,0.148283042770435,0.000000063527396,0.000000063528368,0.000000000038166,0.148283042770435],[0.000000000028406,-0.000000000009722,0.000000000028361,-0.000000000009797,-0.000000036169111,-0.000000000028406,0.000000000009722,-0.000000000028361,0.000000000009797,-0.000053996616534,0.000000036169488,-1.65165188548252e-20,3.04499723764975e-20,-1.89018912527522e-20,-3.93758263349643e-20,0.000000000005001,0.000000000000377,0.000000000119403,0.000000000119403,0.000000000119399,0.000000000119399,0.000214213088135,0.000214213088135,0.000000000119403,0.000000000119399,0.000214213088135,0.000000028361672,0.000000028360866,0.050881968217044,0.000053996621535,0.050881968217044],[0.00059976249637,0.000197425262085,0.001209402385502,0.00000135677475,-0.000000330412953,-0.000599738083681,-0.000197446799551,-0.001209271576352,-0.000001330428912,-0.000457023070343,0.00000034514204,0.000000024412689,-0.000000021537466,0.00000013080915,0.000000026345838,-0.000000001016142,0.000000014729087,0.002511414156922,0.002511414156922,0.004814061243649,0.004814061243649,0.001813018435987,0.001813018435987,0.002511414156922,0.004814061243649,0.001813018435987,0.596535423792491,1.143482470315674,0.430645705358566,0.000457022054202,1.143482470315674],[0.000101073733368,0.000033276730962,0.000000000039733,-0.000000000040787,-0.000000000040891,-0.000101073645116,-0.000033276724305,-0.000000000039733,0.000000000040787,-0.000000000039891,0.000000000040891,0.000000000088252,0.000000000006657,3.88500160538979e-19,5.57179574220874e-19,-6.70579838809648e-19,6.09136578565874e-20,0.00042323089923,0.00042323089923,0.000000000226631,0.000000000226631,0.00000000022662,0.00000000022662,0.00042323089923,0.000000000226631,0.00000000022662,0.100529903894365,0.000000053831603,0.00000005382902,0.000000000039891,0.100529903894365],[0.000000000000093,0.000000000000161,0.000000000000093,0.000000000000161,0.000000000000161,-0.000000000000093,-0.000000000000161,-0.000000000000093,-0.000000000000161,-0.000000000000094,-0.000000000000161,1.26217744835362e-29,0.0,1.26217744835362e-29,2.52435489670724e-29,0.0,0.0,0.000000000000739,0.000000000000739,0.00000000000074,0.00000000000074,0.00000000000074,0.00000000000074,0.000000000000739,0.00000000000074,0.00000000000074,0.000000000175516,0.000000000175795,0.000000000175721,0.000000000000094,0.000000000175795],[0.000000000014661,-0.000000000005099,0.000028979623443,0.000000022705763,-0.00000000000514,-0.000000000014661,0.000000000005099,-0.000028979622298,-0.000000022705676,-0.000000000014686,0.00000000000514,-1.4543159950132e-21,-4.75706481179774e-21,0.000000000001145,0.000000000000086,-4.18072914338212e-21,3.48319374376901e-21,0.000000000061726,0.000000000061726,0.000115288312478,0.000115288312478,0.000000000061726,0.000000000061726,0.000000000061726,0.000115288312478,0.000000000061726,0.000000014661714,0.027384397014965,0.000000014661755,0.000000000014686,0.027384397014965],[0.000149096979595,0.000049089279667,0.000000000048653,-0.000000000054748,-0.000000000054875,-0.00014909651538,-0.000049089244652,-0.000000000048653,0.000000000054748,-0.00000000004884,0.000000000054875,0.000000000464216,0.000000000035015,1.85019127850666e-18,2.48257993640314e-18,-3.06348291488272e-18,3.52874086092385e-19,0.000624271656832,0.000624271656832,0.000000000291423,0.000000000291423,0.000000000291427,0.000000000291427,0.000624271656832,0.000000000291423,0.000000000291427,0.148283052535772,0.000000069221564,0.000000069222631,0.00000000004884,0.148283052535772],[0.000000000028198,-0.00000000000971,0.000000000028154,-0.000000000009785,-0.000000036169475,-0.000000000028198,0.00000000000971,-0.000000000028154,0.000000000009785,-0.000053996611859,0.000000036169812,-8.79166652229998e-21,3.78678486132988e-20,-3.09508237750498e-20,-2.16570586209301e-20,0.000000000004467,0.000000000000337,0.000000000118606,0.000000000118606,0.000000000118604,0.000000000118604,0.000214213087307,0.000214213087307,0.000000000118606,0.000000000118604,0.000214213087307,0.000000028172559,0.000000028172055,0.050881968020482,0.000053996616326,0.050881968020482],[0.000599737804072,0.000197447078841,0.000356786908153,0.000000414243431,-0.000000344861326,-0.000599725550852,-0.000197446044242,-0.000356783860564,-0.000000412237425,-0.000457019431371,0.00000034466766,0.00000001225322,0.000000001034599,0.000000003047588,0.000000002006006,0.000000003359309,-0.000000000193666,0.002511413447935,0.002511413447935,0.001420354350942,0.001420354350942,0.00181301732572,0.00181301732572,0.002511413447935,0.001420354350942,0.00181301732572,0.596535255387035,0.337376327333015,0.430645441637086,0.00045702279068,0.596535255387035],[0.000000000512095,-0.000000000236677,0.000852484900618,0.000000916227323,-0.000000000238557,-0.000000000512096,0.000000000236676,-0.000852359300175,-0.000000906753462,-0.000000000512868,0.000000000238558,-9.72385740859376e-16,-6.79623525576952e-16,0.000000125600443,0.000000009473862,-1.0232702628887e-16,0.000000000000001,0.000000002243883,0.000000002243883,0.003393707821863,0.003393707821863,0.000000002243882,0.000000002243882,0.000000002243883,0.003393707821863,0.000000002243882,0.000000532988834,0.806106363684658,0.000000532988696,0.000000000512868,0.806106363684658],[0.000101073645702,0.000033276724437,0.000000000040319,-0.000000000040656,-0.00000000004076,-0.000101073612006,-0.000033276721895,-0.000000000040319,0.000000000040656,-0.000000000040479,0.00000000004076,0.000000000033696,0.000000000002542,1.18766004276647e-19,2.0564681965288e-19,-2.57514669437483e-19,2.58120417677465e-21,0.000423230901607,0.000423230901607,0.000000000227894,0.000000000227894,0.000000000227885,0.000000000227885,0.000423230901607,0.000000000227894,0.000000000227885,0.100529904458816,0.000000054131645,0.000000054129472,0.000000000040479,0.100529904458816],[-0.000000000000022,0.000000000000334,-0.000000000000021,0.000000000000335,0.000000000000335,0.000000000000022,-0.000000000000334,0.000000000000021,-0.000000000000335,0.000000000000021,-0.000000000000335,1.45150406560666e-28,0.0,8.83524213847533e-29,-5.04870979341448e-29,1.35684075698014e-28,5.04870979341448e-29,0.000000000001333,0.000000000001333,0.000000000001334,0.000000000001334,0.000000000001333,0.000000000001333,0.000000000001333,0.000000000001334,0.000000000001333,0.000000000316545,0.000000000316842,0.000000000316734,-0.000000000000021,0.000000000316842],[0.00000000001502,-0.000000000004662,0.000028979622658,0.000000022706112,-0.000000000004702,-0.00000000001502,0.000000000004662,-0.000028979621547,-0.000000022706028,-0.000000000015047,0.000000000004702,-3.53328906182319e-22,-7.31203185351798e-21,0.000000000001112,0.000000000000084,-7.85279390883242e-21,6.70691126913779e-21,0.00000000006254,0.00000000006254,0.000115288313911,0.000115288313911,0.000000000062539,0.000000000062539,0.00000000006254,0.000115288313911,0.000000000062539,0.000000014854995,0.027384397355512,0.000000014854929,0.000000000015047,0.027384397355512],[0.000149096520283,0.000049089244967,0.000000000053554,-0.000000000054447,-0.000000000054569,-0.000149096097674,-0.00004908921309,-0.000000000053554,0.000000000054447,-0.000000000053756,0.000000000054569,0.000000000422609,0.000000000031877,1.64940033862924e-18,2.47119239294172e-18,-2.93215953342569e-18,1.73464117150586e-19,0.000624271675744,0.000624271675744,0.000000000303871,0.000000000303871,0.000000000303876,0.000000000303876,0.000624271675744,0.000000000303871,0.000000000303876,0.148283057027964,0.0000000721785,0.000000072179528,0.000000000053756,0.148283057027964],[0.000000000028094,-0.000000000009703,0.000000000028051,-0.000000000009778,-0.000000036169806,-0.000000000028094,0.000000000009703,-0.000000000028051,0.000000000009778,-0.000053996606723,0.000000036170186,-1.12002839879094e-21,4.31655042281748e-20,-3.28255737034387e-20,-1.57924660157899e-20,0.000000000005032,0.00000000000038,0.000000000118208,0.000000000118208,0.000000000118207,0.000000000118207,0.000214213086894,0.000214213086894,0.000000000118208,0.000000000118207,0.000214213086894,0.000000028077964,0.000000028077672,0.050881967922263,0.000053996611755,0.050881967922263],[0.000599725698831,0.000197446067285,0.000356784008488,0.000000412259979,-0.000000344644919,-0.000599709048606,-0.000197444661425,-0.000356779867287,-0.000000409534128,-0.000457015015017,0.000000344381757,0.000000016650225,0.00000000140586,0.000000004141201,0.000000002725851,0.000000004564782,-0.000000000263162,0.002511414035674,0.002511414035674,0.00142035493993,0.00142035493993,0.001813017914472,0.001813017914472,0.002511414035674,0.00142035493993,0.001813017914472,0.596535394992501,0.337376467235247,0.430645581483062,0.000457019579799,0.596535394992501],[0.000000000512839,-0.000000000236757,0.000852359300917,0.000000906753379,-0.000000000238641,-0.000000000512839,0.000000000236757,-0.00085234245252,-0.000000905482528,-0.000000000513613,0.000000000238641,-1.30722374099328e-16,-9.14965377365007e-17,0.000000016848397,0.00000000127085,-1.37867515149217e-17,1.58961058554659e-16,0.000000002246701,0.000000002246701,0.003393707824817,0.003393707824817,0.0000000022467,0.0000000022467,0.000000002246701,0.003393707824817,0.0000000022467,0.000000533658096,0.806106364386309,0.00000053365797,0.000000000513612,0.806106364386309],[0.000101073612323,0.000033276721793,0.000000000040635,-0.000000000040759,-0.000000000040863,-0.000101073576679,-0.000033276719105,-0.000000000040635,0.000000000040759,-0.000000000040796,0.000000000040863,0.000000000035643,0.000000000002689,1.72211436123405e-19,2.27454421914121e-19,-2.61487094469344e-19,2.53216335244277e-20,0.000423230902676,0.000423230902676,0.000000000229072,0.000000000229072,0.000000000229063,0.000000000229063,0.000423230902676,0.000000000229072,0.000000000229063,0.100529904712923,0.000000054411328,0.000000054409294,0.000000000040796,0.100529904712923],[0.000000000000278,0.000000000000483,0.000000000000279,0.000000000000483,0.000000000000484,-0.000000000000278,-0.000000000000483,-0.000000000000279,-0.000000000000483,-0.000000000000281,-0.000000000000484,2.01948391736579e-28,0.0,1.0097419586829e-28,-1.0097419586829e-28,1.51461293802434e-28,-1.0097419586829e-28,0.000000000002217,0.000000000002217,0.00000000000222,0.00000000000222,0.00000000000222,0.00000000000222,0.000000000002217,0.00000000000222,0.00000000000222,0.000000000526608,0.000000000527206,0.000000000527281,0.000000000000281,0.000000000527281],[0.000000000014753,-0.000000000004938,0.00002897962128,0.000000022705753,-0.000000000004979,-0.000000000014753,0.000000000004938,-0.000028979620089,-0.000000022705664,-0.000000000014779,0.000000000004979,-7.23889987852163e-21,-7.77182391285599e-21,0.000000000001191,0.00000000000009,-3.4958849884993e-21,8.95374222357209e-21,0.000000000061869,0.000000000061869,0.000115288312849,0.000115288312849,0.000000000061868,0.000000000061868,0.000000000061869,0.000115288312849,0.000000000061868,0.000000014695616,0.027384397103146,0.00000001469555,0.000000000014779,0.027384397103146],[0.0001490961013,0.000049089213356,0.00000000005718,-0.000000000054192,-0.000000000054311,-0.000149095871125,-0.000049089195994,-0.00000000005718,0.000000000054192,-0.000000000057392,0.000000000054311,0.000000000230176,0.000000000017362,8.32796244796422e-19,1.38905309904399e-18,-1.64295599419669e-18,4.234791858761e-20,0.000624271689774,0.000624271689774,0.000000000313458,0.000000000313458,0.000000000313462,0.000000000313462,0.000624271689774,0.000000000313458,0.000000000313462,0.148283060360486,0.000000074455557,0.000000074456569,0.000000000057392,0.148283060360486],[0.000000000028245,-0.000000000009629,0.000000000028201,-0.000000000009704,-0.000000036170111,-0.000000000028245,0.000000000009629,-0.000000000028201,0.000000000009704,-0.000053996602842,0.000000036170415,-1.33420872383565e-20,2.56324450240073e-20,-2.46179548547379e-20,-2.52299069493138e-20,0.000000000004032,0.000000000000304,0.000000000118677,0.000000000118677,0.000000000118675,0.000000000118675,0.000214213087492,0.000214213087492,0.000000000118677,0.000000000118675,0.000214213087492,0.00000002818923,0.000000028188941,0.050881968064429,0.000053996606874,0.050881968064429],[0.000599709233635,0.000197444690248,0.000356780052251,0.000000409562337,-0.000000344353313,-0.000599689739567,-0.000197443044269,-0.000356775203734,-0.000000406370913,-0.000457009856165,0.000000344045203,0.000000019494068,0.000000001645979,0.000000004848517,0.000000003191424,0.000000005344445,-0.00000000030811,0.0025114147706,0.0025114147706,0.001420355676406,0.001420355676406,0.001813018650651,0.001813018650651,0.0025114147706,0.001420355676406,0.001813018650651,0.596535569559063,0.337376642170113,0.430645756347565,0.00045701520061,0.596535569559063],[0.000000000512999,-0.000000000236782,0.00085234245268,0.000000905482503,-0.000000000238667,-0.000000000512999,0.000000000236782,-0.000852333600923,-0.000000904814827,-0.000000000513773,0.000000000238667,-6.85526830144286e-17,-4.82264352920224e-17,0.000000008851757,0.000000000667675,-7.21154586869451e-18,8.3476604902168e-17,0.00000000224732,0.00000000224732,0.003393707825453,0.003393707825453,0.000000002247319,0.000000002247319,0.00000000224732,0.003393707825453,0.000000002247319,0.000000533805184,0.806106364537337,0.000000533805004,0.000000000513773,0.806106364537337],[0.000101073577025,0.000033276719147,0.000000000040981,-0.000000000040718,-0.000000000040821,-0.000101073547444,-0.000033276716916,-0.000000000040981,0.000000000040718,-0.000000000041144,0.000000000040821,0.000000000029581,0.000000000002231,1.25505154587042e-19,1.92834489898076e-19,-2.56151210831706e-19,8.88732543649776e-21,0.000423230904036,0.000423230904036,0.000000000229931,0.000000000229931,0.000000000229923,0.000000000229923,0.000423230904036,0.000000000229931,0.000000000229923,0.100529905035889,0.000000054615324,0.000000054613431,0.000000000041144,0.100529905035889],[0.000000000000312,0.000000000000356,0.000000000000313,0.000000000000356,0.000000000000357,-0.000000000000312,-0.000000000000356,-0.000000000000313,-0.000000000000356,-0.000000000000315,-0.000000000000357,2.52435489670724e-28,-1.51461293802434e-28,1.51461293802434e-28,-1.51461293802434e-28,2.01948391736579e-28,-1.51461293802434e-28,0.000000000001884,0.000000000001884,0.000000000001886,0.000000000001886,0.000000000001887,0.000000000001887,0.000000000001884,0.000000000001886,0.000000000001887,0.000000000447565,0.000000000447943,0.000000000448165,0.000000000000315,0.000000000448165],[0.000000000014626,-0.000000000004972,0.000028979619962,0.00000002270563,-0.000000000005012,-0.000000000014626,0.000000000004972,-0.000028979618861,-0.000000022705547,-0.000000000014652,0.000000000005012,-1.01524432534351e-20,-1.32857484838234e-21,0.000000000001101,0.000000000000083,2.66600634543268e-21,6.51397785360834e-21,0.000000000061433,0.000000000061433,0.000115288312344,0.000115288312344,0.000000000061433,0.000000000061433,0.000000000061433,0.000115288312344,0.000000000061433,0.000000014592227,0.027384396983199,0.000000014592049,0.000000000014652,0.027384396983199],[0.000149095873461,0.000049089196137,0.000000000059515,-0.000000000054056,-0.000000000054172,-0.000149095689629,-0.000049089182271,-0.000000000059515,0.000000000054056,-0.000000000059734,0.000000000054172,0.000000000183831,0.000000000013866,6.85914707541222e-19,1.17246159421248e-18,-1.35161976420594e-18,-2.06015147670014e-21,0.000624271698777,0.000624271698777,0.0000000003199,0.0000000003199,0.000000000319904,0.000000000319904,0.000624271698777,0.0000000003199,0.000000000319904,0.148283062498905,0.000000075985699,0.000000075986687,0.000000000059734,0.148283062498905],[0.000000000028521,-0.000000000009895,0.000000000028476,-0.000000000009971,-0.000000036170683,-0.000000000028521,0.000000000009895,-0.000000000028476,0.000000000009971,-0.000053996598281,0.000000036171048,-1.27465818208037e-20,3.5309832958657e-20,-1.9309271242086e-20,-3.13237691402118e-20,0.000000000004836,0.000000000000365,0.000000000120059,0.000000000120059,0.000000000120058,0.000000000120058,0.000214213088587,0.000214213088587,0.000000000120059,0.000000000120058,0.000214213088587,0.000000028517577,0.000000028517288,0.050881968324505,0.000053996603118,0.050881968324505],[0.000599689919468,0.000197443072289,0.000356775383575,0.000000406398334,-0.000000344017551,-0.000599674266507,-0.000197441750633,-0.000356771490407,-0.000000403835747,-0.00045700574524,0.000000343770151,0.000000015652961,0.000000001321656,0.000000003893168,0.000000002562587,0.000000004291379,-0.000000000247399,0.002511415485175,0.002511415485175,0.001420356392495,0.001420356392495,0.001813019366452,0.001813019366452,0.002511415485175,0.001420356392495,0.001813019366452,0.596535739291974,0.33737681226259,0.430645926371645,0.000457010036619,0.596535739291974],[0.000000000117231,-0.000000000052918,0.000195840658845,0.000000205003665,-0.000000000053345,-0.000000000117231,0.000000000052918,-0.000195838006666,-0.000000204803615,-0.00000000011741,0.000000000053345,-2.02367553104281e-17,-1.44110493964622e-17,0.000000002652179,0.00000000020005,-2.38613942699937e-18,2.47174685016761e-17,0.000000000511591,0.000000000511591,0.000779772104942,0.000779772104942,0.00000000051159,0.00000000051159,0.000000000511591,0.000779772104942,0.00000000051159,0.000000121518026,0.185219025623938,0.000000121517814,0.00000000011741,0.185219025623938],[0.000000000395859,-0.000000000183849,0.000656492942168,0.000000699811177,-0.000000000185307,-0.000000000395859,0.000000000183849,-0.000656491969494,-0.000000699737809,-0.000000000396453,0.000000000185307,-7.50959170960049e-18,-5.24676534394141e-18,0.000000000972675,0.000000000073367,-7.79054624129233e-19,9.19570713180215e-18,0.000000001736055,0.000000001736055,0.002613935720982,0.002613935720982,0.000000001736054,0.000000001736054,0.000000001736055,0.002613935720982,0.000000001736054,0.00000041236452,0.620887339025518,0.000000412364381,0.000000000396453,0.620887339025518],[0.00010107354775,0.000033276716981,0.000000000041287,-0.000000000040654,-0.000000000040756,-0.000101073512719,-0.000033276714339,-0.000000000041287,0.000000000040654,-0.00000000004145,0.000000000040756,0.000000000035031,0.000000000002642,1.4745296396211e-19,2.19267020522813e-19,-2.83532782575332e-19,2.81303317567e-20,0.000423230905273,0.000423230905273,0.000000000230616,0.000000000230616,0.000000000230607,0.000000000230607,0.000423230905273,0.000000000230616,0.000000000230607,0.10052990532976,0.000000054778252,0.000000054776057,0.00000000004145,0.10052990532976],[0.00000000000008,-0.000000000000047,0.00000000000008,-0.000000000000046,-0.000000000000047,-0.00000000000008,0.000000000000047,-0.00000000000008,0.000000000000046,-0.000000000000081,0.000000000000047,0.0,-2.52435489670724e-29,0.0,-3.78653234506086e-29,0.0,-2.52435489670724e-29,0.00000000000037,0.00000000000037,0.000000000000368,0.000000000000368,0.000000000000371,0.000000000000371,0.00000000000037,0.000000000000368,0.000000000000371,0.000000000087968,0.000000000087408,0.000000000088142,0.000000000000081,0.000000000088142],[0.000000000014719,-0.000000000004811,0.000028979618954,0.000000022705707,-0.000000000004851,-0.000000000014719,0.000000000004811,-0.000028979617917,-0.000000022705629,-0.000000000014745,0.000000000004851,-9.0826983885994e-21,-7.37269391922138e-21,0.000000000001038,0.000000000000078,1.06105300605533e-22,1.1167174952981e-20,0.00000000006158,0.00000000006158,0.000115288312716,0.000115288312716,0.00000000006158,0.00000000006158,0.00000000006158,0.000115288312716,0.00000000006158,0.000000014627156,0.027384397071529,0.000000014627127,0.000000000014745,0.027384397071529],[0.000149095691366,0.000049089182398,0.000000000061251,-0.000000000053934,-0.000000000054048,-0.00014909553461,-0.000049089170574,-0.000000000061251,0.000000000053934,-0.000000000061475,0.000000000054048,0.000000000156756,0.000000000011824,5.54626862538793e-19,1.00255191092813e-18,-1.16315277501745e-18,7.92877820291366e-21,0.000624271705493,0.000624271705493,0.000000000324725,0.000000000324725,0.000000000324729,0.000000000324729,0.000624271705493,0.000000000324725,0.000000000324729,0.148283064094282,0.000000077131934,0.000000077132715,0.000000000061475,0.148283064094282],[0.000000000028406,-0.000000000009722,0.000000000028362,-0.000000000009798,-0.000000036170873,-0.000000000028406,0.000000000009722,-0.000000000028362,0.000000000009798,-0.000053996592955,0.000000036171267,-9.18572114895346e-21,4.53878768089891e-20,-4.57452592232904e-20,-2.37540891051356e-20,0.000000000005212,0.000000000000393,0.000000000119403,0.000000000119403,0.000000000119402,0.000000000119402,0.000214213088132,0.000214213088132,0.000000000119403,0.000000000119402,0.000214213088132,0.000000028361687,0.000000028361455,0.050881968216382,0.000053996598167,0.050881968216382],[0.000599674119831,0.000197441871117,0.000356771344239,0.000000403956602,-0.000000000552676,-0.000599666342495,-0.000197443091147,-0.000356769183663,-0.000000401716672,0.000000001389448,0.000000000552681,0.000000007777336,-0.00000000122003,0.000000002160576,0.000000002239931,0.000000000000007,0.000000000000005,0.002511415080864,0.002511415080864,0.001420355811124,0.001420355811124,0.000000005932207,0.000000005932207,0.002511415080864,0.001420355811124,0.000000005932207,0.59653564325601,0.337376674169588,0.000001409075232,-0.000000001389441,0.59653564325601],[0.000000000253834,-0.000000000099813,0.000000000253306,-0.000000000100546,-0.000000343197014,-0.000000000253834,0.000000000099814,-0.000000000253306,0.000000000100546,-0.000456984529194,0.000000344910222,-2.85667526614733e-17,1.91922959507111e-16,-1.52050816015821e-16,-1.20747468620765e-16,0.000000022712986,0.000000001713208,0.000000001084987,0.000000001084987,0.000000001084984,0.000000001084984,0.001813025303355,0.001813025303355,0.000000001084987,0.000000001084984,0.001813025303355,0.000000257716647,0.000000257715886,0.430647336562281,0.00045700724218,0.430647336562281],[0.000000000117259,-0.000000000052919,0.000195838006694,0.000000204803614,-0.000000000053346,-0.000000000117259,0.000000000052919,-0.000195835850801,-0.000000204640998,-0.000000000117439,0.000000000053346,-1.64315334656615e-17,-1.17113890720985e-17,0.000000002155893,0.000000000162616,-1.94555666637161e-18,2.00910568094699e-17,0.000000000511694,0.000000000511694,0.000779772105052,0.000779772105052,0.000000000511694,0.000000000511694,0.000000000511694,0.000779772105052,0.000000000511694,0.000000121542511,0.185219025650086,0.000000121542509,0.000000000117439,0.185219025650086],[0.000000000395743,-0.00000000018405,0.000656491969378,0.000000699737608,-0.000000000185509,-0.000000000395743,0.00000000018405,-0.000656491265994,-0.000000699684553,-0.000000000396336,0.000000000185509,-5.4610957764179e-18,-3.85144146622183e-18,0.000000000703384,0.000000000053055,-6.96524539668133e-19,6.59529835444464e-18,0.000000001735974,0.000000001735974,0.00261393572052,0.00261393572052,0.000000001735971,0.000000001735971,0.000000001735974,0.00261393572052,0.000000001735971,0.000000412345343,0.620887338915577,0.000000412344657,0.000000000396336,0.620887338915577],[0.000101073513209,0.000033276714352,0.000000000041776,-0.000000000040642,-0.000000000040745,-0.000101073479046,-0.000033276711775,-0.000000000041776,0.000000000040642,-0.000000000041942,0.000000000040745,0.000000000034164,0.000000000002577,1.58391994585772e-19,2.23919743447362e-19,-2.57501453934728e-19,-9.49454709194558e-22,0.000423230907141,0.000423230907141,0.000000000231978,0.000000000231978,0.000000000231969,0.000000000231969,0.000423230907141,0.000000000231978,0.000000000231969,0.100529905773398,0.000000055101744,0.000000055099538,0.000000000041942,0.100529905773398],[-1.11353259093486e-16,-4.66324331996841e-16,-3.38468054981684e-16,3.25489027168342e-16,1.40985496200605e-16,1.11353259093486e-16,4.66324331996841e-16,3.38468054981683e-16,-3.25489027168342e-16,-4.52474448825584e-16,-1.40985496200605e-16,4.93038065763132e-32,0.0,-4.93038065763132e-32,-4.93038065763132e-32,0.0,7.39557098644699e-32,0.000000000000002,0.000000000000002,0.000000000000002,0.000000000000002,0.000000000000002,0.000000000000002,0.000000000000002,0.000000000000002,0.000000000000002,0.000000000000453,0.000000000000444,0.000000000000447,4.52474448825584e-16,0.000000000000453],[0.000000000014708,-0.000000000004643,0.000028979617906,0.000000022705796,-0.000000000004683,-0.000000000014708,0.000000000004643,-0.000028979616463,-0.000000022705688,-0.000000000014734,0.000000000004683,-1.0112454240697e-20,-8.19362140177268e-21,0.000000000001443,0.000000000000109,-6.22311239278371e-22,1.24229708321557e-20,0.000000000061335,0.000000000061335,0.000115288312674,0.000115288312674,0.000000000061335,0.000000000061335,0.000000000061335,0.000115288312674,0.000000000061335,0.000000014568994,0.027384397061695,0.000000014568945,0.000000000014734,0.027384397061695],[0.000149095536571,0.000049089170719,0.000000000063212,-0.000000000053795,-0.000000000053907,-0.000149095352617,-0.000049089156844,-0.000000000063212,0.000000000053795,-0.000000000063441,0.000000000053907,0.000000000183954,0.000000000013875,6.61700468524198e-19,1.23927904689601e-18,-1.39815803114273e-18,-5.6926505132414e-20,0.000624271713082,0.000624271713082,0.000000000330262,0.000000000330262,0.000000000330265,0.000000000330265,0.000624271713082,0.000000000330262,0.000000000330265,0.14828306589681,0.000000078446997,0.000000078447639,0.000000000063441,0.14828306589681],[0.00000000002848,-0.000000000009872,0.000000000028436,-0.000000000009948,-0.000000036171417,-0.00000000002848,0.000000000009872,-0.000000000028436,0.000000000009948,-0.000053996583521,0.000000036172135,2.67426522686114e-21,7.67252136499514e-20,-5.71457079947406e-20,-4.94414382423012e-20,0.000000000009508,0.000000000000717,0.000000000119877,0.000000000119877,0.000000000119877,0.000000000119877,0.000214213088426,0.000214213088426,0.000000000119877,0.000000000119877,0.000214213088426,0.000000028474332,0.00000002847436,0.050881968286334,0.000053996593029,0.050881968286334],[0.000599666408907,0.000197443100852,0.000356769250052,0.000000401726155,-0.000000000543114,-0.000599655686219,-0.000197444782919,-0.000356766271245,-0.000000398637941,0.000000001322842,0.00000000054312,0.000000010722688,-0.000000001682067,0.000000002978807,0.000000003088214,0.00000000000001,0.000000000000006,0.002511415343869,0.002511415343869,0.001420356075472,0.001420356075472,0.000000005672958,0.000000005672958,0.002511415343869,0.001420356075472,0.000000005672958,0.596535705727609,0.337376736960202,0.000001347495914,-0.000000001322832,0.596535705727609],[0.000000000253946,-0.000000000099727,0.000000000253418,-0.00000000010046,-0.000000344910135,-0.000000000253946,0.000000000099727,-0.000000000253418,0.00000000010046,-0.000456965544228,0.000000346342153,-2.37295093169113e-17,1.60683713258703e-16,-1.27130840717334e-16,-1.00955774659446e-16,0.000000018985077,0.000000001432017,0.000000001085275,0.000000001085275,0.000000001085272,0.000000001085272,0.0018130253038,0.0018130253038,0.000000001085275,0.000000001085272,0.0018130253038,0.000000257785073,0.000000257784314,0.430647336668055,0.000456984529306,0.430647336668055],[0.000000000395675,-0.000000000183795,0.000656491265927,0.000000699684806,-0.000000000185254,-0.000000000395675,0.000000000183795,-0.000656490672334,-0.000000699640032,-0.000000000396267,0.000000000185254,-4.53010818459132e-18,-3.17360875270496e-18,0.000000000593593,0.000000000044774,-4.47630287747931e-19,5.50008669234939e-18,0.000000001735302,0.000000001735302,0.002613935720253,0.002613935720253,0.000000001735297,0.000000001735297,0.000000001735302,0.002613935720253,0.000000001735297,0.000000412185691,0.620887338852164,0.000000412184626,0.000000000396267,0.620887338852164],[0.000101073479375,0.00003327671188,0.000000000042106,-0.000000000040538,-0.00000000004064,-0.000101073432407,-0.000033276708337,-0.000000000042106,0.000000000040538,-0.000000000042272,0.00000000004064,0.000000000046968,0.000000000003543,1.93949212708719e-19,3.1947400637296e-19,-3.54450395071879e-19,-2.29149062957649e-21,0.000423230908515,0.000423230908515,0.00000000023263,0.00000000023263,0.000000000232621,0.000000000232621,0.000423230908515,0.00000000023263,0.000000000232621,0.100529906099745,0.000000055256534,0.000000055254484,0.000000000042272,0.100529906099745],[-0.000000000000576,0.000000000000117,-0.000000000000576,0.000000000000119,0.000000000000119,0.000000000000576,-0.000000000000117,0.000000000000576,-0.000000000000119,0.000000000000577,-0.000000000000119,2.01948391736579e-28,-5.04870979341448e-29,1.0097419586829e-28,-2.52435489670724e-29,3.02922587604869e-28,5.04870979341448e-29,0.000000000002339,0.000000000002339,0.000000000002341,0.000000000002341,0.000000000002337,0.000000000002337,0.000000000002339,0.000000000002341,0.000000000002337,0.000000000555549,0.000000000556066,0.000000000555006,-0.000000000000577,0.000000000556066],[0.000000000014817,-0.000000000004921,0.000028979616571,0.00000002270541,-0.000000000004962,-0.000000000014817,0.000000000004921,-0.000028979614803,-0.000000022705277,-0.000000000014843,0.000000000004962,-1.02261463384832e-20,-7.02034082766793e-21,0.000000000001768,0.000000000000133,-4.40677563280784e-21,9.92039405001337e-21,0.000000000062086,0.000000000062086,0.000115288313102,0.000115288313102,0.000000000062086,0.000000000062086,0.000000000062086,0.000115288313102,0.000000000062086,0.00000001474728,0.027384397163269,0.000000014747386,0.000000000014843,0.027384397163269],[0.000149095354515,0.000049089156971,0.000000000065109,-0.000000000053673,-0.000000000053784,-0.000149095186429,-0.000049089144293,-0.000000000065109,0.000000000053673,-0.000000000065344,0.000000000053784,0.000000000168086,0.000000000012678,6.33265411184652e-19,1.16113670322011e-18,-1.34120263931236e-18,-7.03693597714856e-20,0.00062427172041,0.00062427172041,0.000000000335737,0.000000000335737,0.000000000335739,0.000000000335739,0.00062427172041,0.000000000335737,0.000000000335739,0.148283067637291,0.000000079747485,0.000000079747998,0.000000000065344,0.148283067637291],[0.000000000028428,-0.000000000009916,0.000000000028384,-0.000000000009992,-0.000000036172178,-0.000000000028428,0.000000000009916,-0.000000000028384,0.000000000009992,-0.000053996512331,0.000000036177544,-1.10833374514006e-19,5.55471331549265e-19,-4.26265104329784e-19,-3.71703639431217e-19,0.000000000071137,0.000000000005366,0.000000000119739,0.000000000119739,0.000000000119739,0.000000000119739,0.000214213088219,0.000214213088219,0.000000000119739,0.000000000119739,0.000214213088219,0.00000002844148,0.000000028441468,0.05088196823715,0.000053996583469,0.05088196823715],[0.000599655819467,0.000197444802354,0.000356766404448,0.000000398656928,-0.000000000523963,-0.000599629441313,-0.000197448940292,-0.000356759076485,-0.000000391059823,0.000000001189202,0.000000000523977,0.000000026378153,-0.000000004137938,0.000000007327962,0.000000007597106,0.000000000000022,0.000000000000015,0.002511415871517,0.002511415871517,0.001420356605863,0.001420356605863,0.000000005155245,0.000000005155245,0.002511415871517,0.001420356605863,0.000000005155245,0.596535831059635,0.337376862943676,0.000001224523728,-0.000000001189181,0.596535831059635],[0.000000000028154,-0.000000000010963,0.000000000028095,-0.000000000011045,-0.000000038564783,-0.000000000028154,0.000000000010963,-0.000000000028095,0.000000000011045,-0.000049994608858,0.00000003857725,-2.21278041994772e-19,1.41636946407531e-18,-1.11024171153992e-18,-8.9275333128249e-19,0.000000000165281,0.000000000012467,0.000000000120184,0.000000000120184,0.000000000120183,0.000000000120183,0.000198355855602,0.000198355855602,0.000000000120184,0.000000000120183,0.000198355855602,0.000000028547167,0.000000028547149,0.047115404704209,0.00004999477414,0.047115404704209],[0.000000000225895,-0.000000000088723,0.000000000225425,-0.000000000089375,-0.000000307777329,-0.000000000225895,0.000000000088723,-0.000000000225425,0.000000000089375,-0.000406970373616,0.000000307807242,-6.23379723985242e-19,3.29678837947268e-18,-2.6094653452398e-18,-2.1449336250024e-18,0.000000000396575,0.000000000029913,0.000000000965411,0.000000000965411,0.000000000965409,0.000000000965409,0.001614669448625,0.001614669448625,0.000000000965411,0.000000000965409,0.001614669448625,0.000000229313886,0.000000229313331,0.383531932065115,0.000406970770191,0.383531932065115],[0.000000000395709,-0.000000000183922,0.000656490672367,0.000000699639905,-0.000000000185381,-0.000000000395709,0.000000000183922,-0.00065648966972,-0.000000699564277,-0.000000000396301,0.000000000185381,-7.85420306270469e-18,-5.53015548309752e-18,0.000000001002647,0.000000000075628,-6.90756816051954e-19,9.4222216762076e-18,0.000000001735638,0.000000001735638,0.002613935720386,0.002613935720386,0.000000001735633,0.000000001735633,0.000000001735638,0.002613935720386,0.000000001735633,0.000000412265644,0.620887338883937,0.000000412264332,0.000000000396301,0.620887338883937],[0.000101073433044,0.000033276708373,0.000000000042743,-0.000000000040504,-0.000000000040606,-0.000101073368432,-0.000033276703499,-0.000000000042743,0.000000000040504,-0.000000000042911,0.000000000040606,0.000000000064612,0.000000000004874,2.4978636621084e-19,4.26842741353636e-19,-4.9815315478122e-19,3.48753951160047e-20,0.000423230910967,0.000423230910967,0.000000000234371,0.000000000234371,0.000000000234363,0.000000000234363,0.000423230910967,0.000000000234371,0.000000000234363,0.100529906682098,0.000000055670186,0.000000055668052,0.000000000042911,0.100529906682098],[-0.000000000000137,0.000000000000508,-0.000000000000135,0.000000000000508,0.00000000000051,0.000000000000137,-0.000000000000508,0.000000000000135,-0.000000000000508,0.000000000000136,-0.00000000000051,1.76704842769507e-28,-1.0097419586829e-28,2.01948391736579e-28,-1.0097419586829e-28,2.52435489670724e-28,-1.0097419586829e-28,0.000000000002091,0.000000000002091,0.000000000002093,0.000000000002093,0.000000000002092,0.000000000002092,0.000000000002091,0.000000000002093,0.000000000002092,0.000000000496606,0.000000000497206,0.000000000496858,-0.000000000000136,0.000000000497206],[0.000000000014693,-0.000000000004903,0.000028979614679,0.000000022705295,-0.000000000004944,-0.000000000014693,0.000000000004903,-0.000028979606297,-0.000000022704663,-0.000000000014719,0.000000000004944,-4.79692797029812e-20,-4.42596905029656e-20,0.000000000008382,0.000000000000632,-1.25807838067751e-20,6.61395006233618e-20,0.000000000061596,0.000000000061596,0.00011528831261,0.00011528831261,0.000000000061596,0.000000000061596,0.000000000061596,0.00011528831261,0.000000000061596,0.000000014630926,0.027384397046343,0.000000014630922,0.000000000014719,0.027384397046343],[0.000149095188778,0.000049089144482,0.000000000067458,-0.00000000005349,-0.000000000053598,-0.000149094928012,-0.000049089124813,-0.000000000067458,0.00000000005349,-0.000000000067699,0.000000000053598,0.000000000260766,0.000000000019669,8.97550986913233e-19,1.81817357914952e-18,-1.97550453365394e-18,-1.43523836665437e-19,0.000624271729519,0.000624271729519,0.000000000342546,0.000000000342546,0.000000000342549,0.000000000342549,0.000624271729519,0.000000000342546,0.000000000342549,0.148283069801077,0.000000081364945,0.000000081365498,0.000000000067699,0.148283069801077],[0.000000000028443,-0.000000000009914,0.000000000028398,-0.00000000000999,-0.000000036177542,-0.000000000028443,0.000000000009914,-0.000000000028398,0.00000000000999,-0.000053996294345,0.000000036193986,-3.18183100554192e-19,1.72013224746268e-18,-1.32261694431111e-18,-1.13701617633479e-18,0.000000000218,0.000000000016443,0.00000000011979,0.00000000011979,0.00000000011979,0.00000000011979,0.000214213088277,0.000214213088277,0.00000000011979,0.00000000011979,0.000214213088277,0.000000028453793,0.000000028453793,0.050881968250775,0.000053996512346,0.050881968250775],[0.000599629612815,0.000197448965312,0.000356759247934,0.00000039108426,-0.000000000499316,-0.000599608232931,-0.000197452319172,-0.00035675330851,-0.000000384926693,0.000000001017173,0.000000000499327,0.000000021379884,-0.000000003353859,0.000000005939424,0.000000006157568,0.000000000000015,0.000000000000011,0.002511416550679,0.002511416550679,0.001420357288552,0.001420357288552,0.000000004495067,0.000000004495067,0.002511416550679,0.001420357288552,0.000000004495067,0.596535992380814,0.337377025102709,0.000001067711765,-0.000000001017158,0.596535992380814],[0.000000000028153,-0.000000000010961,0.000000000028095,-0.000000000011043,-0.000000038577248,-0.000000000028153,0.000000000010961,-0.000000000028095,0.000000000011043,-0.0000499944469,0.000000038589464,-2.03968683447512e-19,1.37640990187506e-18,-1.10201182990052e-18,-8.63427503820801e-19,0.000000000161958,0.000000000012216,0.000000000120179,0.000000000120179,0.000000000120179,0.000000000120179,0.0001983558556,0.0001983558556,0.000000000120179,0.000000000120179,0.0001983558556,0.000000028546006,0.000000028546012,0.047115404703702,0.000049994608858,0.047115404703702],[0.000000000225768,-0.000000000088757,0.000000000225298,-0.000000000089409,-0.000000307807276,-0.000000000225768,0.000000000088757,-0.000000000225298,0.000000000089409,-0.000406969994313,0.000000307835877,-4.24216733714465e-19,3.23589575009823e-18,-2.58801905934753e-18,-2.07421867821827e-18,0.000000000379176,0.000000000028601,0.000000000964991,0.000000000964991,0.000000000964989,0.000000000964989,0.001614669448119,0.001614669448119,0.000000000964991,0.000000000964989,0.001614669448119,0.000000229214017,0.000000229213608,0.383531931945039,0.000406970373489,0.383531931945039],[0.000000000395831,-0.000000000183805,0.000656489669842,0.000000699564394,-0.000000000185263,-0.000000000395831,0.000000000183805,-0.000656488265753,-0.000000699458486,-0.000000000396423,0.000000000185263,-1.08930018999825e-17,-7.53904438003924e-18,0.000000001404089,0.000000000105908,-1.20728106416426e-18,1.32729615123242e-17,0.000000001735879,0.000000001735879,0.002613935720871,0.002613935720871,0.000000001735873,0.000000001735873,0.000000001735879,0.002613935720871,0.000000001735873,0.000000412322887,0.620887338999079,0.000000412321483,0.000000000396423,0.620887338999079],[0.000101073369136,0.00003327670351,0.000000000043446,-0.000000000040496,-0.000000000040596,-0.000101073300758,-0.000033276698352,-0.000000000043446,0.000000000040496,-0.000000000043616,0.000000000040596,0.000000000068378,0.000000000005158,2.70709137248242e-19,4.67271626769517e-19,-5.5400650939112e-19,5.62088613275389e-22,0.000423230913638,0.000423230913638,0.000000000236387,0.000000000236387,0.000000000236378,0.000000000236378,0.000423230913638,0.000000000236387,0.000000000236378,0.100529907316561,0.000000056148992,0.000000056146836,0.000000000043616,0.100529907316561],[0.000000000000068,-0.000000000000254,0.000000000000068,-0.000000000000254,-0.000000000000255,-0.000000000000068,0.000000000000254,-0.000000000000068,0.000000000000254,-0.000000000000068,0.000000000000255,1.0097419586829e-28,-5.04870979341448e-29,8.83524213847533e-29,0.0,1.26217744835362e-28,-5.04870979341448e-29,0.000000000001046,0.000000000001046,0.000000000001046,0.000000000001046,0.000000000001046,0.000000000001046,0.000000000001046,0.000000000001046,0.000000000001046,0.000000000248453,0.000000000248448,0.000000000248435,0.000000000000068,0.000000000248453],[0.000000000014691,-0.0000000000049,0.000028979606295,0.000000022704665,-0.000000000004941,-0.000000000014691,0.0000000000049,-0.00002897953463,-0.00000002269926,-0.000000000014717,0.000000000004941,-4.0870087721863e-19,-3.62381268691305e-19,0.000000000071665,0.000000000005406,-1.06795127231136e-19,5.36198526532172e-19,0.000000000061586,0.000000000061586,0.000115288312603,0.000115288312603,0.000000000061586,0.000000000061586,0.000000000061586,0.000115288312603,0.000000000061586,0.000000014628498,0.027384397044668,0.000000014628504,0.000000000014717,0.027384397044668],[0.000149094932355,0.000049089125122,0.000000000071799,-0.000000000053193,-0.000000000053298,-0.000149094405895,-0.000049089085412,-0.000000000071799,0.000000000053193,-0.000000000072053,0.000000000053298,0.00000000052646,0.00000000003971,1.79326841167647e-18,3.90039424751727e-18,-4.31171046626881e-18,-3.77898470971222e-19,0.000624271746308,0.000624271746308,0.00000000035554,0.00000000035554,0.000000000355542,0.000000000355542,0.000624271746308,0.00000000035554,0.000000000355542,0.148283073788882,0.000000084451273,0.000000084451848,0.000000000072053,0.148283073788882],[0.000599608369698,0.000197452339123,0.000356753445237,0.000000384946175,-0.000000000479663,-0.000599591664076,-0.000197454959731,-0.000356748804342,-0.000000380134829,0.000000000879976,0.000000000479671,0.000000016705622,-0.000000002620608,0.000000004640895,0.000000004811345,0.00000000000001,0.000000000000008,0.002511417092301,0.002511417092301,0.001420357832992,0.001420357832992,0.000000003975724,0.000000003975724,0.002511417092301,0.001420357832992,0.000000003975724,0.596536121032064,0.337377154423356,0.0000009443524,-0.000000000879967,0.596536121032064],[0.000000000225808,-0.00000000008878,0.000000000225338,-0.000000000089432,-0.0000003078359,-0.000000000225808,0.00000000008878,-0.000000000225338,0.000000000089432,-0.000406969585581,0.000000307866733,-6.2376842132496e-19,3.42278826561422e-18,-2.71492973596697e-18,-2.19050367703219e-18,0.000000000408772,0.000000000030833,0.000000000965174,0.000000000965174,0.000000000965172,0.000000000965172,0.001614669448279,0.001614669448279,0.000000000965174,0.000000000965172,0.001614669448279,0.000000229257476,0.000000229257113,0.383531931982975,0.000406969994353,0.383531931982975],[0.000000000395651,-0.000000000183837,0.000656488265573,0.000000699458457,-0.000000000185294,-0.000000000395651,0.000000000183837,-0.000656487223706,-0.00000069937987,-0.000000000396246,0.000000000185294,-8.28190274378589e-18,-5.57633695084696e-18,0.000000001041867,0.000000000078587,-6.1387699556005e-19,9.73606503830152e-18,0.000000001735286,0.000000001735286,0.002613935720155,0.002613935720155,0.000000001735287,0.000000001735287,0.000000001735286,0.002613935720155,0.000000001735287,0.000000412182029,0.620887338829031,0.000000412182124,0.000000000396246,0.620887338829031],[0.000101073301355,0.000033276698505,0.000000000044043,-0.000000000040345,-0.000000000040445,-0.000101073255934,-0.000033276695079,-0.000000000044043,0.000000000040345,-0.000000000044215,0.000000000040445,0.000000000045421,0.000000000003426,2.08874413779577e-19,3.39009207782198e-19,-3.94912051057184e-19,1.95248939633238e-20,0.000423230916083,0.000423230916083,0.000000000237727,0.000000000237727,0.000000000237718,0.000000000237718,0.000423230916083,0.000000000237727,0.000000000237718,0.100529907897526,0.000000056467229,0.000000056465124,0.000000000044215,0.100529907897526],[-1.4442781220111e-16,-2.5081819060509e-16,-1.58085205855104e-16,1.67988351098631e-16,8.27264675350722e-17,1.4442781220111e-16,2.5081819060509e-16,1.58085205855104e-16,-1.67988351098631e-16,-3.04073688470702e-16,-8.27264675350723e-17,-1.23259516440783e-31,0.0,9.86076131526265e-32,9.86076131526265e-32,4.93038065763132e-32,-1.23259516440783e-31,0.000000000000001,0.000000000000001,9.18031862445944e-16,9.18031862445944e-16,0.000000000000001,0.000000000000001,0.000000000000001,9.18031862445944e-16,0.000000000000001,0.000000000000273,0.000000000000218,0.000000000000297,3.04073688470702e-16,0.000000000000297],[0.000100063380865,0.000032945703224,0.000000000050288,-0.000000000035571,-0.000000000035639,-0.00010006331003,-0.000032945697882,-0.000000000050288,0.000000000035571,-0.000000000050465,0.000000000035639,0.000000000070835,0.000000000005343,2.20847323233702e-19,5.25612481502426e-19,-5.55260314866946e-19,-6.56510633963464e-20,0.000418974416824,0.000418974416824,0.000000000245089,0.000000000245089,0.00000000024509,0.00000000024509,0.000418974416824,0.000000000245089,0.00000000024509,0.099518862951988,0.000000058215831,0.000000058216202,0.000000000050465,0.099518862951988],[0.000049031028851,0.000016143382418,0.000000000025331,-0.000000000017403,-0.000000000017435,-0.00004903092746,-0.00001614337477,-0.000000000025331,0.000000000017403,-0.000000000025419,0.000000000017435,0.000000000101392,0.000000000007648,3.23459821390987e-19,7.87654536614611e-19,-8.47811259587227e-19,-1.16055717919049e-19,0.000205297344205,0.000205297344205,0.000000000122282,0.000000000122282,0.000000000122282,0.000000000122282,0.000205297344205,0.000000000122282,0.000000000122282,0.048764214333702,0.0000000290456,0.000000029045607,0.000000000025419,0.048764214333702],[0.000599591778273,0.000197454976416,0.000356748918508,0.00000038015112,-0.000000000463226,-0.000599576679616,-0.000197457344939,-0.000356744724034,-0.000000375802592,0.000000000765416,0.000000000463233,0.000000015098658,-0.000000002368524,0.000000004194474,0.000000004348528,0.000000000000008,0.000000000000007,0.002511417544586,0.002511417544586,0.0014203582876,0.0014203582876,0.00000000354907,0.00000000354907,0.002511417544586,0.0014203582876,0.00000000354907,0.596536228463182,0.337377262406144,0.000000843009459,-0.000000000765408,0.596536228463182],[0.000000000225779,-0.000000000088924,0.000000000225309,-0.000000000089576,-0.000000307866878,-0.000000000225779,0.000000000088924,-0.000000000225309,0.000000000089576,-0.000406969220549,0.000000307894409,-4.48687269474409e-19,3.09554680064483e-18,-2.44441218150342e-18,-1.9060318699782e-18,0.000000000365002,0.000000000027532,0.000000000965275,0.000000000965275,0.000000000965274,0.000000000965274,0.001614669448161,0.001614669448161,0.000000000965275,0.000000000965274,0.001614669448161,0.000000229281453,0.000000229281351,0.383531931954988,0.000406969585551,0.383531931954988],[0.000000000395749,-0.000000000183947,0.000656487223804,0.00000069937976,-0.000000000185404,-0.000000000395749,0.000000000183947,-0.000656485497908,-0.000000699249578,-0.000000000396343,0.000000000185404,-1.32549697653145e-17,-9.39393295228829e-18,0.000000001725896,0.000000000130182,-1.40426570014127e-18,1.64789597368352e-17,0.000000001735823,0.000000001735823,0.002613935720542,0.002613935720542,0.000000001735823,0.000000001735823,0.000000001735823,0.002613935720542,0.000000001735823,0.000000412309389,0.620887338920958,0.000000412309514,0.000000000396343,0.620887338920958],[0.000101073256458,0.000033276694964,0.000000000044567,-0.000000000040461,-0.000000000040561,-0.00010107321023,-0.000033276691477,-0.000000000044567,0.000000000040461,-0.000000000044741,0.000000000040561,0.000000000046228,0.000000000003487,1.70233854073944e-19,3.04577672613011e-19,-3.63678312125595e-19,-2.68586837365675e-21,0.000423230917922,0.000423230917922,0.000000000239577,0.000000000239577,0.000000000239568,0.000000000239568,0.000423230917922,0.000000000239577,0.000000000239568,0.100529908334287,0.000000056906712,0.000000056904629,0.000000000044741,0.100529908334287],[-0.000000000000601,-0.000000000000298,-0.000000000000601,-0.000000000000296,-0.000000000000297,0.000000000000601,0.000000000000298,0.000000000000601,0.000000000000296,0.000000000000603,0.000000000000297,0.0,5.04870979341448e-29,1.0097419586829e-28,5.04870979341448e-29,3.02922587604869e-28,1.0097419586829e-28,0.000000000002667,0.000000000002667,0.000000000002667,0.000000000002667,0.000000000002666,0.000000000002666,0.000000000002667,0.000000000002667,0.000000000002666,0.000000000633508,0.00000000063351,0.000000000633221,-0.000000000000603,0.00000000063351],[0.000100063310774,0.000032945697963,0.000000000051033,-0.000000000035492,-0.00000000003556,-0.000100063248999,-0.000032945693303,-0.000000000051033,0.000000000035492,-0.000000000051211,0.00000000003556,0.000000000061775,0.00000000000466,2.16384237926929e-19,4.91704771380835e-19,-5.30475385850746e-19,-7.05980299744168e-20,0.000418974419736,0.000418974419736,0.000000000247332,0.000000000247332,0.000000000247334,0.000000000247334,0.000418974419736,0.000000000247332,0.000000000247334,0.09951886364364,0.000000058748666,0.000000058749108,0.000000000051211,0.09951886364364],[0.000049030928926,0.000016143374865,0.000000000026797,-0.000000000017312,-0.000000000017344,-0.000049030766685,-0.000016143362627,-0.000000000026797,0.000000000017312,-0.000000000026889,0.000000000017344,0.000000000162241,0.000000000012238,5.30378453853887e-19,1.34515357703534e-18,-1.42355353254209e-18,-2.23698598649301e-19,0.000205297349861,0.000205297349861,0.000000000126936,0.000000000126936,0.000000000126936,0.000000000126936,0.000205297349861,0.000000000126936,0.000000000126936,0.048764215677152,0.00000003015114,0.000000030151155,0.000000000026889,0.048764215677152],[0.000599576497161,0.000197457451352,-0.000000000944965,-0.000000000353949,-0.000000000356049,-0.000599574984638,-0.000197457337264,0.000000000944965,0.000000000353949,0.000000000948133,0.000000000356049,0.000000001512523,0.000000000114087,1.86898409177848e-17,-2.92243994021587e-17,1.5948206405374e-17,3.08335464696935e-17,0.00251141698755,0.00251141698755,0.000000004017585,0.000000004017585,0.000000004017582,0.000000004017582,0.00251141698755,0.000000004017585,0.000000004017582,0.596536096150566,0.000000954295753,0.000000954295037,-0.000000000948133,0.596536096150566],[0.000000000225683,-0.00000000009948,0.000356745712218,0.000000376163323,-0.000000000100341,-0.000000000225684,0.000000000099479,-0.000356742982712,-0.000000375709033,-0.00000000022609,0.000000000100341,-4.93593862656492e-16,-3.88503743368405e-16,0.000000002729506,0.000000000454289,-8.96911055951426e-17,6.21658783819812e-16,0.00000000098123,0.00000000098123,0.001420362223508,0.001420362223508,0.00000000098123,0.00000000098123,0.00000000098123,0.001420362223508,0.00000000098123,0.00000023307121,0.337378197301208,0.0000002330713,0.00000000022609,0.337378197301208],[0.000000000225722,-0.000000000088837,0.000000000225252,-0.000000000089489,-0.000000307894322,-0.000000000225722,0.000000000088837,-0.000000000225252,0.000000000089489,-0.000406968817408,0.000000307924726,-5.22280494597486e-19,3.39914176976544e-18,-2.65039550856924e-18,-2.11214661536384e-18,0.000000000403084,0.000000000030404,0.000000000964936,0.000000000964936,0.000000000964936,0.000000000964936,0.001614669447933,0.001614669447933,0.000000000964936,0.000000000964936,0.001614669447933,0.000000229201032,0.000000229201042,0.38353193190074,0.000406969220492,0.38353193190074],[0.000000000395883,-0.000000000183877,0.000656485498042,0.000000699249648,-0.000000000185334,-0.000000000395884,0.000000000183877,-0.000656473518567,-0.000000698346053,-0.000000000396478,0.000000000185334,-9.33171918364368e-17,-6.48611443494073e-17,0.000000011979475,0.000000000903595,-9.64650249691704e-18,1.13318334287806e-16,0.00000000173619,0.00000000173619,0.002613935721077,0.002613935721077,0.00000000173619,0.00000000173619,0.00000000173619,0.002613935721077,0.00000000173619,0.000000412396561,0.620887339048073,0.000000412396557,0.000000000396478,0.620887339048073],[0.000101073210415,0.000033276691612,0.000000000044752,-0.000000000040327,-0.000000000040426,-0.000101073188311,-0.000033276689945,-0.000000000044752,0.000000000040327,-0.000000000044927,0.000000000040426,0.000000000022104,0.000000000001667,1.01503358815776e-19,1.56259329096154e-19,-1.7761405643437e-19,7.85287791936338e-21,0.000423230918788,0.000423230918788,0.000000000239764,0.000000000239764,0.000000000239758,0.000000000239758,0.000423230918788,0.000000000239764,0.000000000239758,0.100529908539861,0.000000056951129,0.000000056949621,0.000000000044927,0.100529908539861],[-1.38763976428518e-16,-2.4098218313038e-16,-1.49719482895246e-16,2.02001535141176e-16,3.87496648204641e-17,1.38763976428518e-16,2.4098218313038e-16,1.49719482895246e-16,-2.02001535141176e-16,-2.90006213075922e-16,-3.87496648204641e-17,2.46519032881566e-32,4.93038065763132e-32,4.93038065763132e-32,-7.39557098644699e-32,-4.93038065763132e-32,1.23259516440783e-32,0.000000000000001,0.000000000000001,0.000000000000001,0.000000000000001,0.000000000000001,0.000000000000001,0.000000000000001,0.000000000000001,0.000000000000001,0.000000000000263,0.000000000000238,0.000000000000276,2.90006213075922e-16,0.000000000000276],[0.000100063249703,0.000032945693314,0.000000000051736,-0.000000000035484,-0.000000000035551,-0.000100063198612,-0.00003294568946,-0.000000000051736,0.000000000035484,-0.000000000051917,0.000000000035551,0.00000000005109,0.000000000003854,1.43816109302656e-19,3.94200132893111e-19,-4.15388706788129e-19,-4.60155598754877e-20,0.000418974422407,0.000418974422407,0.000000000249615,0.000000000249615,0.000000000249617,0.000000000249617,0.000418974422407,0.000000000249615,0.000000000249617,0.099518864278093,0.000000059290994,0.000000059291362,0.000000000051917,0.099518864278093],[0.000049030768327,0.000016143362742,0.000000000028439,-0.000000000017202,-0.000000000017231,-0.000049030629708,-0.000016143352286,-0.000000000028439,0.000000000017202,-0.000000000028536,0.000000000017231,0.000000000138619,0.000000000010456,4.05771258751734e-19,1.19594140024314e-18,-1.24436986535249e-18,-2.36364229861174e-19,0.000205297356209,0.000205297356209,0.000000000132243,0.000000000132243,0.000000000132243,0.000000000132243,0.000205297356209,0.000000000132243,0.000000000132243,0.048764217184967,0.00000003141165,0.000000031411657,0.000000000028536,0.048764217184967],[0.000599575001232,0.000197457338331,-0.000000000928381,-0.000000000352939,-0.00000000035502,-0.000599573484735,-0.000197457223944,0.000000000928381,0.000000000352939,0.000000000931489,0.00000000035502,0.000000001516496,0.000000000114387,1.84173673138171e-17,-2.86367064986963e-17,1.56240303942065e-17,3.02260056259268e-17,0.002511417051583,0.002511417051583,0.000000003954385,0.000000003954385,0.000000003954383,0.000000003954383,0.002511417051583,0.000000003954385,0.000000003954383,0.596536111360294,0.000000939283924,0.00000093928329,-0.000000000931489,0.596536111360294],[0.000000000224668,-0.00000000009683,0.000356742981706,0.000000375711684,-0.000000000097682,-0.000000000224669,0.000000000096829,-0.000356737772926,-0.000000375213345,-0.000000000225078,0.000000000097683,-0.000000000000001,-9.54069215095262e-16,0.00000000520878,0.000000000498339,-1.99135324026118e-16,0.000000000000002,0.000000000973314,0.000000000973314,0.001420362219514,0.001420362219514,0.000000000973314,0.000000000973314,0.000000000973314,0.001420362219514,0.000000000973314,0.000000231190963,0.337378196352403,0.000000231191054,0.000000000225078,0.337378196352403],[-1.55643108920402e-18,-5.54771672909288e-18,-4.14200983187326e-18,4.20915339282744e-18,1.33881361981191e-18,1.55643108920402e-18,5.54771672909288e-18,4.14200983187326e-18,-4.20915339282744e-18,-5.7358402936851e-18,-1.33881361981191e-18,0.0,0.0,0.0,0.0,0.0,0.0,2.29235010946783e-17,2.29235010946783e-17,2.35119930031294e-17,2.35119930031294e-17,2.33649356859571e-17,2.33649356859571e-17,2.29235010946783e-17,2.35119930031294e-17,2.33649356859571e-17,0.000000000000005,0.000000000000006,0.000000000000006,5.7358402936851e-18,0.000000000000006],[0.000000000225561,-0.000000000088745,0.000000000225091,-0.000000000089396,-0.000000307924633,-0.000000000225561,0.000000000088745,-0.000000000225091,0.000000000089396,-0.000406968557365,0.000000307944235,-2.7391770622085e-19,2.22671549875005e-18,-1.75383915464381e-18,-1.4190690019317e-18,0.000000000259881,0.000000000019602,0.000000000964205,0.000000000964205,0.000000000964205,0.000000000964205,0.001614669447292,0.001614669447292,0.000000000964205,0.000000000964205,0.001614669447292,0.000000229027271,0.000000229027267,0.383531931748626,0.000406968817246,0.383531931748626],[0.000000000396097,-0.000000000183908,0.00065647351878,0.000000698346022,-0.000000000185366,-0.000000000396097,0.000000000183908,-0.000656447057597,-0.000000696350093,-0.000000000396692,0.000000000185366,-2.06187132529735e-16,-1.43578678016267e-16,0.000000026461184,0.000000001995929,-2.1150944518375e-17,2.50300704608335e-16,0.000000001737012,0.000000001737012,0.002613935721926,0.002613935721926,0.000000001737012,0.000000001737012,0.000000001737012,0.002613935721926,0.000000001737012,0.000000412591831,0.620887339249766,0.000000412591835,0.000000000396692,0.620887339249766],[0.000101073188657,0.000033276689987,0.000000000045098,-0.000000000040286,-0.000000000040385,-0.000101073153499,-0.000033276687335,-0.000000000045098,0.000000000040286,-0.000000000045274,0.000000000040385,0.000000000035159,0.000000000002652,1.46345472519478e-19,2.62428632801583e-19,-2.92763788631649e-19,6.76112229541556e-21,0.000423230920148,0.000423230920148,0.000000000240681,0.000000000240681,0.000000000240674,0.000000000240674,0.000423230920148,0.000000000240681,0.000000000240674,0.100529908862951,0.000000057168774,0.000000057167118,0.000000000045274,0.100529908862951],[0.000000000000092,-0.000000000000026,0.000000000000092,-0.000000000000027,-0.000000000000027,-0.000000000000092,0.000000000000026,-0.000000000000092,0.000000000000027,-0.000000000000092,0.000000000000027,3.78653234506086e-29,-3.15544362088405e-30,6.31088724176809e-29,-9.46633086265214e-30,6.31088724176809e-29,-9.46633086265214e-30,0.000000000000381,0.000000000000381,0.000000000000381,0.000000000000381,0.000000000000381,0.000000000000381,0.000000000000381,0.000000000000381,0.000000000000381,0.000000000090526,0.000000000090548,0.000000000090552,0.000000000000092,0.000000000090552],[0.000100063198898,0.000032945689537,0.000000000052022,-0.000000000035408,-0.000000000035474,-0.000100063159168,-0.00003294568654,-0.000000000052022,0.000000000035408,-0.000000000052203,0.000000000035474,0.00000000003973,0.000000000002997,1.38705477285573e-19,3.36564074816188e-19,-3.44089499072906e-19,-5.27131960588898e-20,0.000418974423582,0.000418974423582,0.000000000250384,0.000000000250384,0.000000000250384,0.000000000250384,0.000418974423582,0.000000000250384,0.000000000250384,0.099518864557241,0.000000059473603,0.000000059473751,0.000000000052203,0.099518864557241],[0.000049030630897,0.000016143352378,0.000000000029628,-0.000000000017114,-0.000000000017142,-0.000049030552444,-0.00001614334646,-0.000000000029628,0.000000000017114,-0.000000000029729,0.000000000017142,0.000000000078453,0.000000000005918,2.44297292601166e-19,7.12897109709328e-19,-7.30941618563647e-19,-1.53866340820478e-19,0.000205297360815,0.000205297360815,0.000000000136138,0.000000000136138,0.000000000136138,0.000000000136138,0.000205297360815,0.000000000136138,0.000000000136138,0.048764218279085,0.000000032336771,0.000000032336796,0.000000000029729,0.048764218279085],[0.000599573501617,0.000197457224953,-0.000000000911508,-0.000000000351988,-0.000000000354052,-0.000599571982177,-0.000197457110344,0.000000000911508,0.000000000351988,0.000000000914555,0.000000000354052,0.00000000151944,0.000000000114609,1.85159373609338e-17,-2.81143257601483e-17,1.51188925974187e-17,3.00408186017376e-17,0.002511417116632,0.002511417116632,0.0000000038903,0.0000000038903,0.000000003890299,0.000000003890299,0.002511417116632,0.0000000038903,0.000000003890299,0.596536126811294,0.000000924061832,0.000000924061472,-0.000000000914555,0.596536126811294],[0.000000000224759,-0.000000000096814,0.000356737773016,0.000000375213361,-0.000000000097668,-0.00000000022476,0.000000000096813,-0.000356733405629,-0.000000374795521,-0.000000000225168,0.000000000097669,-0.000000000000001,-8.00311461918558e-16,0.000000004367387,0.00000000041784,-1.67128378844127e-16,0.000000000000001,0.000000000973616,0.000000000973616,0.00142036221987,0.00142036221987,0.000000000973616,0.000000000973616,0.000000000973616,0.00142036221987,0.000000000973616,0.000000231262728,0.337378196436949,0.000000231262815,0.000000000225168,0.337378196436949],[-1.60062202699724e-18,-5.62457268316405e-18,-4.05336735402393e-18,4.20892015380821e-18,1.41583113831388e-18,1.60062202699724e-18,5.62457268316405e-18,4.05336735402393e-18,-4.20892015380821e-18,-5.69150429723769e-18,-1.41583113831388e-18,1.92592994438724e-34,1.54074395550979e-33,1.54074395550979e-33,-2.31111593326468e-33,-1.54074395550979e-33,-5.77778983316171e-34,2.3265480940879e-17,2.3265480940879e-17,2.3265480940879e-17,2.3265480940879e-17,2.3265480940879e-17,2.3265480940879e-17,2.3265480940879e-17,2.3265480940879e-17,2.3265480940879e-17,0.000000000000006,0.000000000000006,0.000000000000006,5.69150429723769e-18,0.000000000000006],[0.000000000225641,-0.000000000088791,0.000000000225171,-0.000000000089443,-0.000000307944282,-0.000000000225641,0.000000000088791,-0.000000000225171,0.000000000089443,-0.000406968158286,0.00000030797439,-5.01990633050961e-19,3.41874118106972e-18,-2.58546102915261e-18,-2.16332667093146e-18,0.00000000039916,0.000000000030108,0.000000000964571,0.000000000964571,0.00000000096457,0.00000000096457,0.001614669447614,0.001614669447614,0.000000000964571,0.00000000096457,0.001614669447614,0.000000229114156,0.000000229113926,0.38353193182494,0.000406968557446,0.38353193182494],[0.000101073153907,0.000033276687207,0.000000000045506,-0.000000000040415,-0.000000000040514,-0.000101073120901,-0.000033276684717,-0.000000000045506,0.000000000040415,-0.000000000045684,0.000000000040514,0.000000000033006,0.00000000000249,1.38235593461203e-19,2.19535931770076e-19,-2.71561314224931e-19,-5.01717353256089e-21,0.000423230921533,0.000423230921533,0.000000000242236,0.000000000242236,0.00000000024223,0.00000000024223,0.000423230921533,0.000000000242236,0.00000000024223,0.100529909192015,0.000000057538273,0.000000057536758,0.000000000045684,0.100529909192015],[0.000000000000104,-0.000000000000006,0.000000000000104,-0.000000000000006,-0.000000000000006,-0.000000000000104,0.000000000000006,-0.000000000000104,0.000000000000006,-0.000000000000104,0.000000000000006,5.04870979341448e-29,0.0,2.52435489670724e-29,7.88860905221012e-30,1.26217744835362e-29,4.73316543132607e-30,0.000000000000413,0.000000000000413,0.000000000000413,0.000000000000413,0.000000000000413,0.000000000000413,0.000000000000413,0.000000000000413,0.000000000000413,0.000000000098196,0.000000000098209,0.000000000098215,0.000000000000104,0.000000000098215],[0.000100063159768,0.000032945686651,0.000000000052622,-0.000000000035299,-0.000000000035365,-0.000100063119359,-0.000032945683603,-0.000000000052622,0.000000000035299,-0.000000000052805,0.000000000035365,0.000000000040408,0.000000000003048,1.38091767432196e-19,3.0420452368387e-19,-3.34228653141267e-19,-4.03173452801572e-20,0.000418974425987,0.000418974425987,0.00000000025212,0.00000000025212,0.000000000252121,0.000000000252121,0.000418974425987,0.00000000025212,0.000000000252121,0.099518865128305,0.000000059886081,0.000000059886226,0.000000000052805,0.099518865128305],[0.000599571998702,0.000197457111477,-0.000000000894992,-0.000000000350911,-0.000000000352957,-0.00059957048846,-0.000197456997562,0.000000000894992,0.00000000035091,0.000000000897979,0.000000000352957,0.000000001510242,0.000000000113915,1.80021581116842e-17,-2.74854476890833e-17,1.48549648031545e-17,2.92482214800172e-17,0.002511417180486,0.002511417180486,0.000000003827463,0.000000003827463,0.000000003827461,0.000000003827461,0.002511417180486,0.000000003827463,0.000000003827461,0.596536141978726,0.000000909136064,0.000000909135721,-0.000000000897979,0.596536141978726],[0.000000000224838,-0.000000000096817,0.000356733405707,0.000000374795516,-0.000000000097674,-0.000000000224839,0.000000000096817,-0.000356728710876,-0.000000374346348,-0.000000000225246,0.000000000097675,-0.000000000000001,-8.60730410386512e-16,0.00000000469483,0.000000000449168,-1.79965557492273e-16,0.000000000000001,0.000000000973908,0.000000000973908,0.001420362220179,0.001420362220179,0.000000000973908,0.000000000973908,0.000000000973908,0.001420362220179,0.000000000973908,0.000000231331966,0.337378196510462,0.000000231332043,0.000000000225246,0.337378196510462],[-4.51891463660062e-18,-1.06953801693751e-17,-6.70072220918378e-18,9.12353132330726e-18,1.56324222442366e-18,4.51891463660062e-18,1.06953801693751e-17,6.70072220918378e-18,-9.12353132330726e-18,-1.12926648510971e-17,-1.56324222442366e-18,-1.54074395550979e-33,1.54074395550979e-33,1.54074395550979e-33,-1.54074395550979e-33,-1.54074395550979e-33,-2.11852293882596e-33,4.61929406175084e-17,4.61929406175084e-17,4.50707633405182e-17,4.50707633405182e-17,4.52234551846449e-17,4.5223455184645e-17,4.61929406175084e-17,4.50707633405182e-17,4.5223455184645e-17,0.000000000000011,0.000000000000011,0.000000000000011,1.12926648510971e-17,0.000000000000011],[0.000000000225719,-0.000000000088702,0.00000000022525,-0.000000000089354,-0.000000307974301,-0.000000000225719,0.000000000088702,-0.00000000022525,0.000000000089354,-0.000406964875171,0.000000308221948,-4.20395451382623e-18,2.76757438331001e-17,-2.19768506265498e-17,-1.74742437804075e-17,0.000000003283193,0.000000000247647,0.00000000096473,0.00000000096473,0.00000000096473,0.00000000096473,0.001614669447924,0.001614669447924,0.00000000096473,0.00000000096473,0.001614669447924,0.000000229152014,0.000000229151996,0.383531931898681,0.000406968158364,0.383531931898681],[0.000101073121323,0.000033276684796,0.000000000045927,-0.000000000040337,-0.000000000040435,-0.000101073074162,-0.000033276681239,-0.000000000045927,0.000000000040337,-0.000000000046107,0.000000000040435,0.00000000004716,0.000000000003557,1.60948538440535e-19,3.29011314825166e-19,-3.70267781519209e-19,-6.50443134923416e-21,0.000423230923223,0.000423230923223,0.000000000243286,0.000000000243286,0.000000000243281,0.000000000243281,0.000423230923223,0.000000000243286,0.000000000243281,0.100529909593339,0.000000057787676,0.000000057786429,0.000000000046107,0.100529909593339],[0.000000000000052,-0.000000000000003,0.000000000000052,-0.000000000000003,-0.000000000000003,-0.000000000000052,0.000000000000003,-0.000000000000052,0.000000000000003,-0.000000000000052,0.000000000000003,6.31088724176809e-30,7.09974814698911e-30,0.0,0.0,1.89326617253043e-29,6.31088724176809e-30,0.000000000000207,0.000000000000207,0.000000000000207,0.000000000000207,0.000000000000207,0.000000000000207,0.000000000000207,0.000000000000207,0.000000000000207,0.000000000049098,0.000000000049104,0.000000000049107,0.000000000000052,0.000000000049107],[0.00010006311982,0.000032945683471,0.000000000053082,-0.000000000035432,-0.000000000035497,-0.000100063084753,-0.000032945680826,-0.000000000053082,0.000000000035432,-0.000000000053267,0.000000000035497,0.000000000035067,0.000000000002645,1.34001843979261e-19,2.93143432221068e-19,-3.26903729710214e-19,-3.28987501070812e-20,0.000418974427564,0.000418974427564,0.000000000253935,0.000000000253935,0.000000000253937,0.000000000253937,0.000418974427564,0.000000000253935,0.000000000253937,0.099518865502941,0.000000060317147,0.000000060317568,0.000000000053267,0.099518865502941],[0.000599570505117,0.000197456998646,-0.000000000878344,-0.000000000349883,-0.000000000351912,-0.000599568989135,-0.000197456884298,0.000000000878344,0.000000000349883,0.000000000881271,0.000000000351912,0.000000001515982,0.000000000114348,1.79901077445206e-17,-2.69891027188093e-17,1.44212661497771e-17,2.90936060689909e-17,0.00251141724478,0.00251141724478,0.000000003764315,0.000000003764315,0.000000003764313,0.000000003764313,0.00251141724478,0.000000003764315,0.000000003764313,0.596536157250363,0.000000894136476,0.000000894136064,-0.000000000881271,0.596536157250363],[0.000000000224919,-0.000000000096782,0.000356728710957,0.000000374346382,-0.000000000097641,-0.00000000022492,0.000000000096782,-0.000356724856334,-0.0000003739776,-0.000000000225327,0.000000000097642,-9.28611680617103e-16,-7.07103884644777e-16,0.000000003854623,0.000000000368782,-1.48004873626809e-16,0.000000000000001,0.000000000974146,0.000000000974146,0.001420362220498,0.001420362220498,0.000000000974147,0.000000000974147,0.000000000974146,0.001420362220498,0.000000000974147,0.000000231388651,0.337378196586289,0.000000231388734,0.000000000225327,0.337378196586289],[-1.22928830375476e-18,7.07466061518253e-19,-2.84329685688905e-21,-1.41718286050337e-18,7.09787491002943e-19,1.22928830375476e-18,-7.07466061518253e-19,2.84329685688916e-21,1.41718286050337e-18,-1.23273060905495e-18,-7.09787491002943e-19,0.0,-1.92592994438724e-34,1.10966666717624e-34,3.85185988877447e-34,-1.92592994438724e-34,-9.62964972193618e-35,5.64270796176697e-18,5.64270796176697e-18,5.64270796176697e-18,5.64270796176697e-18,5.64270796176697e-18,5.64270796176697e-18,5.64270796176697e-18,5.64270796176697e-18,5.64270796176697e-18,0.000000000000001,0.000000000000001,0.000000000000001,1.23273060905495e-18,0.000000000000001],[0.000000000225738,-0.000000000088674,0.000000000225269,-0.000000000089327,-0.00000030822192,-0.000000000225738,0.000000000088675,-0.000000000225269,0.000000000089326,-0.000406953559823,0.000000309075422,-1.40701460484749e-17,9.55394546090248e-17,-7.55953745142793e-17,-6.01096803452254e-17,0.000000011315367,0.000000000853502,0.000000000964761,0.000000000964761,0.000000000964761,0.000000000964761,0.001614669448,0.001614669448,0.000000000964761,0.000000000964761,0.001614669448,0.000000229159381,0.000000229159374,0.383531931916843,0.00040696487519,0.383531931916843],[0.000101073077155,0.000033276681424,0.000000000048918,-0.000000000040161,-0.000000000040257,-0.000101072579348,-0.000033276643875,-0.000000000048918,0.000000000040161,-0.000000000049108,0.000000000040257,0.000000000497808,0.000000000037549,1.97348278791458e-18,3.7695403750684e-18,-4.22789999023001e-18,-1.90262921082968e-19,0.000423230934759,0.000423230934759,0.000000000251911,0.000000000251911,0.000000000251906,0.000000000251906,0.000423230934759,0.000000000251911,0.000000000251906,0.100529912333492,0.000000059836273,0.000000059835063,0.000000000049108,0.100529912333492],[0.000100063085059,0.000032945680892,0.000000000053388,-0.000000000035367,-0.000000000035432,-0.000100063059873,-0.000032945678992,-0.000000000053388,0.000000000035367,-0.000000000053573,0.000000000035432,0.000000000025186,0.0000000000019,9.34602681296168e-20,2.10781039242117e-19,-2.40253820509506e-19,-4.09967578310958e-20,0.000418974428801,0.000418974428801,0.000000000254808,0.000000000254808,0.000000000254808,0.000000000254808,0.000418974428801,0.000000000254808,0.000000000254808,0.099518865796768,0.000000060524357,0.000000060524491,0.000000000053573,0.099518865796768],[0.000599569005896,0.000197456885376,-0.000000000861592,-0.000000000348862,-0.000000000350873,-0.000599567490945,-0.000197456771105,0.000000000861592,0.000000000348862,0.000000000864458,0.000000000350873,0.000000001514951,0.000000000114271,1.79352431292366e-17,-2.65833572900647e-17,1.38263142194517e-17,2.88403325678115e-17,0.002511417309458,0.002511417309458,0.000000003700908,0.000000003700908,0.000000003700906,0.000000003700906,0.002511417309458,0.000000003700908,0.000000003700906,0.596536172613356,0.000000879075438,0.000000879075001,-0.000000000864458,0.596536172613356],[0.000000000225023,-0.000000000096788,0.000356724856438,0.000000373977593,-0.000000000097649,-0.000000000225024,0.000000000096787,-0.000356720718076,-0.000000373581665,-0.000000000225431,0.00000000009765,-9.97210404452728e-16,-7.5954576307168e-16,0.000000004138362,0.000000000395929,-1.59174141030085e-16,0.000000000000001,0.000000000974535,0.000000000974535,0.001420362220911,0.001420362220911,0.000000000974535,0.000000000974535,0.000000000974535,0.001420362220911,0.000000000974535,0.000000231480982,0.337378196684296,0.000000231481068,0.000000000225431,0.337378196684296],[-2.74141763328432e-18,-4.76351471503039e-18,-3.00162664606019e-18,4.91525739338977e-18,-1.60800551910696e-19,2.74141763328432e-18,4.76351471503039e-18,3.00162664606019e-18,-4.91525739338977e-18,-5.77861588390344e-18,1.60800551910694e-19,-1.92592994438724e-33,7.70371977754894e-34,1.54074395550979e-33,7.70371977754894e-34,-1.54074395550979e-33,-2.07037469021628e-33,2.1865493351847e-17,2.1865493351847e-17,2.29316381715818e-17,2.29316381715818e-17,2.29316381715818e-17,2.29316381715818e-17,2.1865493351847e-17,2.29316381715818e-17,2.29316381715818e-17,0.000000000000005,0.000000000000005,0.000000000000005,5.77861588390344e-18,0.000000000000005],[0.000101072583188,0.000033276644134,0.000000000052757,-0.000000000039914,-0.000000000040006,-0.000101072384078,-0.000033276629116,-0.000000000052757,0.000000000039914,-0.000000000052959,0.000000000040006,0.000000000199111,0.000000000015019,7.33677221171633e-19,1.58076268793248e-18,-1.74062668273003e-18,-1.45336686988378e-19,0.000423230949592,0.000423230949592,0.000000000263302,0.000000000263302,0.000000000263297,0.000000000263297,0.000423230949592,0.000000000263302,0.000000000263297,0.100529915856686,0.000000062541999,0.000000062540826,0.000000000052959,0.100529915856686],[0.000100063060248,0.00003294567899,0.000000000053763,-0.00000000003537,-0.000000000035435,-0.000100063031007,-0.000032945676785,-0.000000000053763,0.00000000003537,-0.000000000053949,0.000000000035435,0.000000000029241,0.000000000002206,8.67629098272017e-20,2.42916023762825e-19,-2.32828840536076e-19,-3.43111286912728e-20,0.000418974430215,0.000418974430215,0.000000000256056,0.000000000256056,0.000000000256058,0.000000000256058,0.000418974430215,0.000000000256056,0.000000000256058,0.09951886613266,0.000000060820989,0.000000060821264,0.000000000053949,0.09951886613266],[0.000599567507677,0.000197456772227,-0.000000000844868,-0.000000000347798,-0.00000000034979,-0.000599565991769,-0.000197456657884,0.000000000844868,0.000000000347798,0.000000000847674,0.00000000034979,0.000000001515908,0.000000000114343,1.7721884711528e-17,-2.59006729296107e-17,1.38176659427498e-17,2.82675391000363e-17,0.002511417374082,0.002511417374082,0.000000003637662,0.000000003637662,0.00000000363766,0.00000000363766,0.002511417374082,0.000000003637662,0.00000000363766,0.596536187963424,0.000000864052771,0.000000864052285,-0.000000000847674,0.596536187963424],[0.000000000224181,-0.000000000093037,0.000356720717246,0.000000373585414,-0.000000000093887,-0.000000000224181,0.000000000093037,-0.000356708521558,-0.000000372760726,-0.000000000224595,0.000000000093887,-2.48562087205474e-20,-2.923456617567e-20,0.000000012195688,0.000000000824689,1.93350366256973e-20,2.76967857181457e-20,0.000000000965638,0.000000000965638,0.001420362217622,0.001420362217622,0.000000000965638,0.000000000965638,0.000000000965638,0.001420362217622,0.000000000965638,0.000000229367697,0.337378195903189,0.000000229367749,0.000000000224595,0.337378195903189],[-0.000000000000029,0.00000000000002,-0.000000000000029,0.00000000000002,0.00000000000002,0.000000000000029,-0.00000000000002,0.000000000000029,-0.00000000000002,0.000000000000029,-0.00000000000002,2.52435489670724e-29,3.15544362088405e-30,2.52435489670724e-29,3.15544362088405e-30,3.15544362088405e-29,-3.15544362088405e-30,0.000000000000139,0.000000000000139,0.000000000000139,0.000000000000139,0.000000000000139,0.000000000000139,0.000000000000139,0.000000000000139,0.000000000000139,0.000000000033026,0.000000000033117,0.000000000033018,-0.000000000000029,0.000000000033117],[4.73248899037666e-19,-3.44295782832029e-18,-2.72808206393889e-18,2.46006674467339e-18,9.87173445696625e-19,-4.73248899037666e-19,3.44295782832029e-18,2.72808206393889e-18,-2.46006674467339e-18,-2.27462707234222e-18,-9.87173445696625e-19,1.92592994438724e-34,0.0,0.0,0.0,-7.70371977754894e-34,0.0,1.38262538110994e-17,1.38262538110994e-17,1.46267112780668e-17,1.46267112780668e-17,9.83613549708066e-18,9.83613549708066e-18,1.38262538110994e-17,1.46267112780668e-17,9.83613549708066e-18,0.000000000000003,0.000000000000003,0.000000000000002,2.27462707234222e-18,0.000000000000003],[0.000101072385748,0.000033276629233,0.000000000054427,-0.000000000039801,-0.000000000039892,-0.00010107228464,-0.000033276621607,-0.000000000054427,0.000000000039801,-0.000000000054634,0.000000000039892,0.000000000101108,0.000000000007626,3.98623901271393e-19,8.3546887181793e-19,-9.34173374558253e-19,-8.92550951528989e-20,0.000423230956049,0.000423230956049,0.000000000268366,0.000000000268366,0.000000000268361,0.000000000268361,0.000423230956049,0.000000000268366,0.000000000268361,0.100529917390455,0.000000063744992,0.00000006374377,0.000000000054634,0.100529917390455],[0.000100063031198,0.000032945676836,0.000000000053953,-0.000000000035319,-0.000000000035384,-0.000100062987146,-0.000032945673514,-0.000000000053953,0.000000000035319,-0.00000000005414,0.000000000035384,0.000000000044052,0.000000000003323,1.26642657176273e-19,3.47236688659123e-19,-3.66910468670358e-19,-5.883112080456e-20,0.000418974430999,0.000418974430999,0.00000000025658,0.00000000025658,0.00000000025658,0.00000000025658,0.000418974430999,0.00000000025658,0.00000000025658,0.099518866318823,0.000000060945413,0.000000060945393,0.00000000005414,0.099518866318823],[0.000599566004274,0.000197456658463,-0.00000000083237,-0.000000000347262,-0.000000000349242,-0.000599565264311,-0.000197456602648,0.00000000083237,0.000000000347262,0.000000000835131,0.000000000349242,0.000000000739963,0.000000000055814,8.67887690441138e-18,-1.23018479059706e-17,6.18986200690576e-18,1.36951385220457e-17,0.002511417422057,0.002511417422057,0.000000003590878,0.000000003590878,0.000000003590877,0.000000003590877,0.002511417422057,0.000000003590878,0.000000003590877,0.596536199358892,0.000000852940026,0.000000852939862,-0.000000000835131,0.596536199358892],[0.000000000224209,-0.000000000093033,0.000356708521585,0.00000037276073,-0.000000000093883,-0.000000000224209,0.000000000093033,-0.00035670673732,-0.000000372640075,-0.000000000224623,0.000000000093883,6.31655019778981e-20,-2.00996229303348e-20,0.000000001784265,0.000000000120654,8.24854167080222e-22,5.57959172561159e-23,0.000000000965733,0.000000000965733,0.001420362217732,0.001420362217732,0.000000000965733,0.000000000965733,0.000000000965733,0.001420362217732,0.000000000965733,0.000000229390224,0.337378195929297,0.000000229390246,0.000000000224623,0.337378195929297],[-0.000000000000038,0.000000000000015,-0.000000000000038,0.000000000000015,0.000000000000015,0.000000000000038,-0.000000000000015,0.000000000000038,-0.000000000000015,0.000000000000038,-0.000000000000015,5.04870979341448e-29,6.31088724176809e-30,5.04870979341448e-29,1.57772181044202e-29,5.04870979341448e-29,1.57772181044202e-29,0.000000000000163,0.000000000000163,0.000000000000164,0.000000000000164,0.000000000000163,0.000000000000163,0.000000000000163,0.000000000000164,0.000000000000163,0.000000000038806,0.000000000038883,0.00000000003877,-0.000000000000038,0.000000000038883],[1.84395054659466e-18,-1.06118837230219e-18,-1.22728885138588e-18,2.46491423962129e-21,1.06758660586368e-18,-1.84395054659466e-18,1.06118837230219e-18,1.22728885138587e-18,-2.46491423962129e-21,6.14688047587522e-19,-1.06758660586368e-18,3.85185988877447e-34,3.85185988877447e-34,-7.70371977754894e-34,0.0,3.85185988877447e-34,-5.77778983316171e-34,8.46406194265046e-18,8.46406194265046e-18,4.88672844102691e-18,4.88672844102691e-18,4.88672844102691e-18,4.88672844102691e-18,8.46406194265046e-18,4.88672844102691e-18,4.88672844102691e-18,0.000000000000002,0.000000000000001,0.000000000000001,-6.14688047587522e-19,0.000000000000002],[0.000101072285133,0.000033276621578,0.000000000054919,-0.000000000039831,-0.000000000039922,-0.00010107226276,-0.00003327661989,-0.000000000054919,0.000000000039831,-0.000000000055128,0.000000000039922,0.000000000022373,0.000000000001688,7.67961136913223e-20,2.01330158239227e-19,-2.05305627037248e-19,-3.6218232367605e-20,0.000423230957875,0.000423230957875,0.000000000270022,0.000000000270022,0.000000000270017,0.000000000270017,0.000423230957875,0.000000000270022,0.000000000270017,0.10052991782417,0.00000006413819,0.000000064137139,0.000000000055128,0.10052991782417],[0.000100062987896,0.000032945673511,0.000000000054703,-0.000000000035324,-0.000000000035388,-0.000100062915924,-0.000032945668082,-0.000000000054703,0.000000000035324,-0.000000000054892,0.000000000035388,0.000000000071972,0.000000000005429,2.49020106157932e-19,6.01608201015876e-19,-6.30314379725883e-19,-1.11563962402998e-19,0.000418974433828,0.000418974433828,0.00000000025909,0.00000000025909,0.00000000025909,0.00000000025909,0.000418974433828,0.00000000025909,0.00000000025909,0.099518866990775,0.000000061541609,0.000000061541449,0.000000000054892,0.099518866990775],[0.000599565359826,0.000197456609044,-0.000000000736904,-0.000000000341193,-0.00000000034307,-0.000599548729054,-0.000197455354608,0.000000000736905,0.000000000341193,0.00000000073932,0.00000000034307,0.000000016630772,0.000000001254435,1.83064406359149e-16,-2.44830844000297e-16,1.20592560672145e-16,2.81064588124037e-16,0.002511417790955,0.002511417790955,0.000000003233166,0.000000003233166,0.000000003233165,0.000000003233165,0.002511417790955,0.000000003233166,0.000000003233165,0.596536286983083,0.000000767972915,0.000000767972677,-0.00000000073932,0.596536286983083],[0.000000000224276,-0.000000000093055,0.000356706737388,0.000000372640053,-0.000000000093906,-0.000000000224276,0.000000000093055,-0.000356701710711,-0.000000372300142,-0.00000000022469,0.000000000093906,7.78312332927043e-21,5.99020288921321e-20,0.000000005026677,0.000000000339911,-6.60689576267476e-20,-5.44255116256629e-20,0.000000000966015,0.000000000966015,0.001420362218001,0.001420362218001,0.000000000966015,0.000000000966015,0.000000000966015,0.001420362218001,0.000000000966015,0.000000229457319,0.337378195993145,0.000000229457352,0.00000000022469,0.337378195993145],[-0.000000000000038,0.000000000000015,-0.000000000000038,0.000000000000015,0.000000000000015,0.000000000000038,-0.000000000000015,0.000000000000038,-0.000000000000015,0.000000000000038,-0.000000000000015,8.83524213847533e-29,1.57772181044202e-29,8.83524213847533e-29,1.26217744835362e-29,7.57306469012171e-29,1.26217744835362e-29,0.000000000000163,0.000000000000163,0.000000000000164,0.000000000000164,0.000000000000163,0.000000000000163,0.000000000000163,0.000000000000164,0.000000000000163,0.000000000038806,0.000000000038876,0.000000000038777,-0.000000000000038,0.000000000038876],[-3.07325091099111e-19,1.76864728717032e-19,-7.11559449887047e-22,-3.54287774360531e-19,1.77445154871151e-19,3.07325091099111e-19,-1.76864728717032e-19,7.1155944988702e-22,3.54287774360531e-19,-3.08185707139316e-19,-1.77445154871151e-19,4.81482486096809e-35,4.81482486096809e-35,-2.7741666679406e-35,4.81482486096809e-35,-4.81482486096809e-35,-4.81482486096809e-35,1.41067699044174e-18,1.41067699044174e-18,1.41067699044174e-18,1.41067699044174e-18,1.41067699044174e-18,1.41067699044174e-18,1.41067699044174e-18,1.41067699044174e-18,1.41067699044174e-18,3.35077666902505e-16,3.35077666902505e-16,3.35077666902505e-16,3.08185707139316e-19,3.35077666902505e-16],[0.000101072262772,0.000033276620098,0.000000000054932,-0.000000000039624,-0.000000000039714,-0.000101072245152,-0.000033276618769,-0.000000000054932,0.000000000039624,-0.000000000055141,0.000000000039714,0.00000000001762,0.000000000001329,6.8364610008781e-20,1.18432566479257e-19,-1.43349993027482e-19,-1.11423619579851e-20,0.000423230958179,0.000423230958179,0.000000000269579,0.000000000269579,0.000000000269575,0.000000000269575,0.000423230958179,0.000000000269579,0.000000000269575,0.100529917896459,0.000000064033115,0.000000064032068,0.000000000055141,0.100529917896459],[0.000046028816436,0.000015154948283,0.000000000027538,-0.000000000016096,-0.000000000016124,-0.000046028694233,-0.000015154939066,-0.000000000027538,0.000000000016096,-0.000000000027632,0.000000000016124,0.000000000122204,0.000000000009218,3.59061917293339e-19,1.0831002903614e-18,-1.12239374760193e-18,-2.28368026744814e-19,0.000192727694355,0.000192727694355,0.000000000126917,0.000000000126917,0.000000000126917,0.000000000126917,0.000192727694355,0.000000000126917,0.000000000126917,0.045778549313287,0.00000003014657,0.000000030146563,0.000000000027632,0.045778549313287],[0.000054034103025,0.000017790720036,0.000000000030701,-0.000000000019,-0.000000000019034,-0.00005403365459,-0.000017790686211,-0.000000000030701,0.000000000019,-0.000000000030806,0.000000000019034,0.000000000448435,0.000000000033825,1.37067248021117e-18,3.8264546760556e-18,-3.9969838497641e-18,-7.18176654592433e-19,0.00022624675313,0.00022624675313,0.000000000143656,0.000000000143656,0.000000000143656,0.000000000143656,0.00022624675313,0.000000000143656,0.000000000143656,0.05374032092156,0.000000034122477,0.000000034122476,0.000000000030806,0.05374032092156],[0.000599548880132,0.000197455364478,-0.0000000005859,-0.00000000033184,-0.000000000333555,-0.000599538065453,-0.000197454548742,0.0000000005859,0.00000000033184,0.00000000058777,0.000000000333555,0.000000010814679,0.000000000815736,1.09415103767215e-16,-1.23586351371523e-16,5.24557134491634e-17,1.56489653556913e-16,0.002511418374158,0.002511418374158,0.000000002680892,0.000000002680892,0.000000002680891,0.000000002680891,0.002511418374158,0.000000002680892,0.000000002680891,0.596536425511092,0.000000636791532,0.00000063679129,-0.00000000058777,0.596536425511092],[0.000000000224317,-0.00000000009306,0.000356701710752,0.000000372300137,-0.000000000093911,-0.000000000224317,0.00000000009306,-0.000356695808172,-0.000000371900997,-0.000000000224731,0.000000000093911,8.20185249510243e-20,-6.11664390819048e-20,0.000000005902579,0.00000000039914,-2.45682723191965e-20,2.7548785011984e-20,0.000000000966172,0.000000000966172,0.001420362218163,0.001420362218163,0.000000000966173,0.000000000966173,0.000000000966172,0.001420362218163,0.000000000966173,0.000000229494647,0.33737819603159,0.000000229494673,0.000000000224731,0.33737819603159],[-0.00000000000002,0.000000000000012,-0.00000000000002,0.000000000000012,0.000000000000012,0.00000000000002,-0.000000000000012,0.00000000000002,-0.000000000000012,0.00000000000002,-0.000000000000012,9.46633086265214e-30,1.57772181044202e-30,9.46633086265214e-30,-1.57772181044202e-30,9.46633086265214e-30,0.0,0.000000000000092,0.000000000000092,0.000000000000093,0.000000000000093,0.000000000000092,0.000000000000092,0.000000000000092,0.000000000000093,0.000000000000092,0.000000000021942,0.00000000002201,0.000000000021927,-0.00000000000002,0.00000000002201],[1.31773272875496e-18,-5.53796369318571e-19,-1.74297649380719e-19,1.41750687716707e-18,-8.63873473054265e-19,-1.31773272875496e-18,5.53796369318571e-19,1.74297649380719e-19,-1.41750687716707e-18,1.14402025112169e-18,8.63873473054265e-19,0.0,0.0,-1.20370621524202e-34,0.0,0.0,-9.62964972193618e-35,5.68662074826771e-18,5.68662074826771e-18,5.68662074826771e-18,5.68662074826771e-18,5.68662074826771e-18,5.68662074826771e-18,5.68662074826771e-18,5.68662074826771e-18,5.68662074826771e-18,0.000000000000001,0.000000000000001,0.000000000000001,-1.14402025112169e-18,0.000000000000001],[0.000101072245624,0.000033276618657,0.000000000055404,-0.000000000039736,-0.000000000039826,-0.000101072226746,-0.000033276617233,-0.000000000055404,0.000000000039736,-0.000000000055615,0.000000000039826,0.000000000018879,0.000000000001424,8.37869337030861e-20,1.53329255033687e-19,-1.6380766237843e-19,-3.98204488389086e-20,0.000423230959825,0.000423230959825,0.000000000271365,0.000000000271365,0.000000000271361,0.000000000271361,0.000423230959825,0.000000000271365,0.000000000271361,0.100529918287497,0.000000064457126,0.000000064456362,0.000000000055615,0.100529918287497],[0.000599538177081,0.000197454556031,-0.000000000474326,-0.000000000324934,-0.000000000326529,-0.000599528718557,-0.000197453842588,0.000000000474326,0.000000000324934,0.000000000475791,0.000000000326529,0.000000009458524,0.000000000713443,8.91172282881204e-17,-8.5008238683958e-17,2.90525371202643e-17,1.19718865315604e-16,0.002511418805071,0.002511418805071,0.000000002289126,0.000000002289126,0.000000002289125,0.000000002289125,0.002511418805071,0.000000002289126,0.000000002289125,0.596536527865882,0.000000543735467,0.000000543735242,-0.000000000475791,0.596536527865882],[0.000000000224353,-0.000000000093062,0.000356695808208,0.000000371900995,-0.000000000093913,-0.000000000224353,0.000000000093062,-0.000356695042516,-0.000000371849218,-0.000000000224767,0.000000000093913,4.92844548716751e-22,-5.56925196795468e-23,0.000000000765692,0.000000000051777,2.77185121339222e-20,2.73233912197604e-20,0.000000000966307,0.000000000966307,0.001420362218305,0.001420362218305,0.000000000966307,0.000000000966307,0.000000000966307,0.001420362218305,0.000000000966307,0.000000229526537,0.337378196065257,0.000000229526592,0.000000000224767,0.337378196065257],[-0.000000000000043,0.000000000000018,-0.000000000000043,0.000000000000018,0.000000000000018,0.000000000000043,-0.000000000000018,0.000000000000043,-0.000000000000018,0.000000000000043,-0.000000000000018,3.15544362088405e-29,-6.31088724176809e-30,4.41762106923767e-29,-1.26217744835362e-29,3.78653234506086e-29,0.0,0.000000000000186,0.000000000000186,0.000000000000187,0.000000000000187,0.000000000000186,0.000000000000186,0.000000000000186,0.000000000000187,0.000000000000186,0.000000000044245,0.000000000044324,0.000000000044214,-0.000000000000043,0.000000000044324],[2.45860072879289e-18,-1.41491782973625e-18,-2.4574239405713e-18,-1.41222126896289e-18,2.84495383121196e-18,-2.45860072879289e-18,1.41491782973625e-18,2.4574239405713e-18,1.41222126896289e-18,-3.36673338221357e-21,-2.84495383121196e-18,0.0,0.0,0.0,0.0,8.46355932592047e-35,0.0,1.12854159235339e-17,1.12854159235339e-17,1.12854159235339e-17,1.12854159235339e-17,1.12854159235339e-17,1.12854159235339e-17,1.12854159235339e-17,1.12854159235339e-17,1.12854159235339e-17,0.000000000000003,0.000000000000003,0.000000000000003,3.36673338221366e-21,0.000000000000003],[0.000101072226999,0.000033276617301,0.000000000055657,-0.000000000039668,-0.000000000039758,-0.000101072211895,-0.000033276616162,-0.000000000055657,0.000000000039668,-0.00000000005587,0.000000000039758,0.000000000015104,0.000000000001139,6.84391273497446e-20,1.33094071418121e-19,-1.56915238085469e-19,-8.10763016098411e-21,0.000423230960868,0.000423230960868,0.000000000272028,0.000000000272028,0.000000000272029,0.000000000272029,0.000423230960868,0.000000000272028,0.000000000272029,0.100529918535225,0.0000000646148,0.000000064614919,0.00000000005587,0.100529918535225],[0.00059952882524,0.000197453849545,-0.000000000367692,-0.000000000318343,-0.000000000319823,-0.000599518903867,-0.00019745310119,0.000000000367692,0.000000000318343,0.000000000368772,0.000000000319823,0.000000009921373,0.000000000748355,8.70621667122233e-17,-6.60336790974052e-17,1.37265274413527e-17,1.08398544496116e-16,0.002511419216892,0.002511419216892,0.000000001936386,0.000000001936386,0.000000001936385,0.000000001936385,0.002511419216892,0.000000001936386,0.000000001936385,0.5965366256854,0.0000004599492,0.000000459949014,-0.000000000368772,0.5965366256854],[0.000000000029462,-0.000000000011875,0.000046958454263,0.000000048319167,-0.000000000011986,-0.000000000029462,0.000000000011875,-0.000046958437583,-0.000000048318039,-0.000000000029518,0.000000000011986,-9.86482027598816e-21,5.68207326427581e-21,0.00000000001668,0.000000000001128,6.84056394596333e-21,-7.57710365795644e-24,0.000000000126376,0.000000000126376,0.000186988899148,0.000186988899148,0.000000000126376,0.000000000126376,0.000000000126376,0.000186988899148,0.000000000126376,0.000000030018057,0.044415415072239,0.000000030018079,0.000000000029518,0.044415415072239],[0.000000000194937,-0.000000000081153,0.0003097365883,0.000000323530084,-0.000000000081893,-0.000000000194937,0.000000000081153,-0.00030973497369,-0.000000323420902,-0.000000000195296,0.000000000081893,9.19256154487837e-22,-6.29331417739532e-20,0.000000001614609,0.000000000109182,-4.02809557955534e-20,-2.72325822981386e-20,0.000000000840056,0.000000000840056,0.001233373319361,0.001233373319361,0.000000000840056,0.000000000840056,0.000000000840056,0.001233373319361,0.000000000840056,0.000000199538291,0.292962781041576,0.000000199538239,0.000000000195296,0.292962781041576],[-0.000000000000022,-0.000000000000014,-0.000000000000022,-0.000000000000014,-0.000000000000014,0.000000000000022,0.000000000000014,0.000000000000022,0.000000000000014,0.000000000000022,0.000000000000014,3.15544362088405e-30,0.0,0.0,3.15544362088405e-30,0.0,9.46633086265214e-30,0.000000000000104,0.000000000000104,0.000000000000103,0.000000000000103,0.000000000000103,0.000000000000103,0.000000000000104,0.000000000000103,0.000000000000103,0.000000000024594,0.000000000024557,0.000000000024504,-0.000000000000022,0.000000000024594],[-7.42469861359216e-19,-1.26642385746441e-17,-8.10061654082378e-18,1.12517766882066e-17,1.4119256587139e-18,7.42469861359217e-19,1.26642385746441e-17,8.10061654082378e-18,-1.12517766882066e-17,-8.91769640111553e-18,-1.4119256587139e-18,8.66668474974256e-34,-3.08148791101958e-33,-3.08148791101958e-33,0.0,3.08148791101958e-33,1.92592994438724e-33,5.04699143187609e-17,5.04699143187609e-17,5.52042627071427e-17,5.52042627071427e-17,3.58155023173484e-17,3.58155023173484e-17,5.04699143187609e-17,5.52042627071427e-17,3.58155023173484e-17,0.000000000000012,0.000000000000013,0.000000000000009,8.91769640111554e-18,0.000000000000013],[0.000101072212081,0.000033276616484,0.000000000055844,-0.000000000039347,-0.000000000039435,-0.000101072197415,-0.000033276615378,-0.000000000055844,0.000000000039347,-0.000000000056057,0.000000000039435,0.000000000014666,0.000000000001106,4.56273407495618e-20,1.20470364692373e-19,-1.20894165509335e-19,-1.37425783641514e-20,0.000423230961971,0.000423230961971,0.000000000271894,0.000000000271894,0.000000000271893,0.000000000271893,0.000423230961971,0.000000000271894,0.000000000271893,0.100529918797211,0.000000064582934,0.000000064582728,0.000000000056057,0.100529918797211],[0.00059951905176,0.000197453110842,-0.000000000219865,-0.000000000309197,-0.000000000310519,-0.000599502111172,-0.000197451833038,0.000000000219865,0.000000000309197,0.00000000022041,0.000000000310519,0.000000016940588,0.000000001277804,1.3358573188364e-16,-5.77219073269891e-17,-1.67817807621705e-17,1.4461556390675e-16,0.002511419787811,0.002511419787811,0.000000001510554,0.000000001510554,0.000000001510553,0.000000001510553,0.002511419787811,0.000000001510554,0.000000001510553,0.596536761295723,0.000000358801326,0.000000358801193,-0.00000000022041,0.596536761295723],[0.000000000029445,-0.000000000011905,0.000046958437565,0.000000048318009,-0.000000000012016,-0.000000000029445,0.000000000011905,-0.000046958422131,-0.000000048316965,-0.0000000000295,0.000000000012016,3.36897738795777e-21,-1.93430370131844e-21,0.000000000015435,0.000000000001044,8.5441811916075e-21,-3.42609808666368e-21,0.000000000126357,0.000000000126357,0.000186988899079,0.000186988899079,0.000000000126357,0.000000000126357,0.000000000126357,0.000186988899079,0.000000000126357,0.000000030013506,0.044415415055714,0.000000030013493,0.0000000000295,0.044415415055714],[0.000000000194959,-0.000000000081166,0.000309734973713,0.000000323420889,-0.000000000081907,-0.000000000194959,0.000000000081166,-0.000309731195092,-0.000000323165374,-0.000000000195318,0.000000000081907,3.28301522773761e-20,6.08413054023831e-20,0.000000003778621,0.000000000255515,5.63521703686637e-20,-5.46096497848354e-20,0.000000000840159,0.000000000840159,0.001233373319451,0.001233373319451,0.000000000840159,0.000000000840159,0.000000000840159,0.001233373319451,0.000000000840159,0.000000199562792,0.292962781062953,0.000000199562716,0.000000000195318,0.292962781062953],[-0.000000000000004,0.000000000000016,-0.000000000000004,0.000000000000016,0.000000000000016,0.000000000000004,-0.000000000000016,0.000000000000004,-0.000000000000016,0.000000000000004,-0.000000000000016,-2.36658271566304e-30,-3.15544362088405e-30,-3.94430452610506e-30,-6.31088724176809e-30,-2.36658271566304e-30,-3.15544362088405e-30,0.000000000000065,0.000000000000065,0.000000000000065,0.000000000000065,0.000000000000065,0.000000000000065,0.000000000000065,0.000000000000065,0.000000000000065,0.000000000015516,0.00000000001553,0.000000000015537,-0.000000000000004,0.000000000015537],[-0.000000000000004,0.000000000000016,-0.000000000000004,0.000000000000016,0.000000000000016,0.000000000000004,-0.000000000000016,0.000000000000004,-0.000000000000016,0.000000000000004,-0.000000000000016,-1.57772181044202e-30,-3.15544362088405e-30,-1.57772181044202e-30,-3.15544362088405e-30,-3.15544362088405e-30,-3.15544362088405e-30,0.000000000000065,0.000000000000065,0.000000000000065,0.000000000000065,0.000000000000065,0.000000000000065,0.000000000000065,0.000000000000065,0.000000000000065,0.000000000015518,0.000000000015534,0.000000000015531,-0.000000000000004,0.000000000015534],[0.000101072197069,0.000033276615149,0.000000000055497,-0.000000000039576,-0.000000000039665,-0.00010107218244,-0.000033276614045,-0.000000000055497,0.000000000039576,-0.000000000055708,0.000000000039665,0.000000000014628,0.000000000001103,4.66448116770933e-20,1.24749938687781e-19,-1.14338364951592e-19,-4.05842790487674e-20,0.000423230960376,0.000423230960376,0.000000000271293,0.000000000271293,0.000000000271291,0.000000000271291,0.000423230960376,0.000000000271293,0.000000000271291,0.1005299184184,0.000000064440136,0.000000064439638,0.000000000055708,0.1005299184184],[0.000599502227279,0.000197451840618,-0.000000000103806,-0.000000000302016,-0.000000000303214,-0.000599498072117,-0.0001974515272,0.000000000103806,0.000000000302016,0.000000000103931,0.000000000303214,0.000000004155162,0.000000000313418,2.98639322832965e-17,-3.6762208051911e-18,-1.17672082214976e-17,2.76885445177028e-17,0.00251142023604,0.00251142023604,0.000000001271505,0.000000001271505,0.000000001271505,0.000000001271505,0.00251142023604,0.000000001271505,0.000000001271505,0.596536867763494,0.000000302020209,0.000000302020156,-0.000000000103931,0.596536867763494],[0.000000000029397,-0.000000000011918,0.000046958422083,0.000000048316953,-0.000000000012029,-0.000000000029397,0.000000000011918,-0.000046958398613,-0.000000048315366,-0.000000000029452,0.000000000012029,1.09173429819765e-20,-1.02064022481199e-20,0.00000000002347,0.000000000001587,-1.36552009496019e-20,1.68877323105797e-23,0.0000000001262,0.0000000001262,0.000186988898889,0.000186988898889,0.0000000001262,0.0000000001262,0.0000000001262,0.000186988898889,0.0000000001262,0.000000029976352,0.04441541501069,0.000000029976354,0.000000000029452,0.04441541501069],[0.00000000019502,-0.000000000081181,0.000309731195152,0.000000323165359,-0.000000000081921,-0.00000000019502,0.000000000081181,-0.000309722231134,-0.0000003225592,-0.000000000195379,0.000000000081921,2.43901958429503e-21,3.27158462564789e-20,0.000000008964018,0.000000000606159,1.78277584532608e-20,2.65240633293957e-22,0.000000000840403,0.000000000840403,0.00123337331969,0.00123337331969,0.000000000840403,0.000000000840403,0.000000000840403,0.00123337331969,0.000000000840403,0.000000199620715,0.292962781119799,0.000000199620714,0.000000000195379,0.292962781119799],[0.000101072182982,0.000033276614055,0.000000000056038,-0.000000000039567,-0.000000000039656,-0.000101072168525,-0.000033276612964,-0.000000000056038,0.000000000039567,-0.000000000056252,0.000000000039656,0.000000000014457,0.00000000000109,5.01412588899152e-20,1.12184658055142e-19,-1.34923510589753e-19,-2.39300766272177e-21,0.000423230962435,0.000423230962435,0.000000000273031,0.000000000273031,0.000000000273032,0.000000000273032,0.000423230962435,0.000000000273031,0.000000000273032,0.100529918907485,0.000000064853025,0.000000064853098,0.000000000056252,0.100529918907485],[0.000055042495231,0.000018128310596,0.000000000035408,-0.000000000023484,-0.00000000002354,-0.00005504245659,-0.000018128307681,-0.000000000035408,0.000000000023484,-0.000000000035558,0.00000000002354,0.000000000038641,0.000000000002915,1.44089369710482e-19,3.64316259017155e-19,-3.82148331088064e-19,-5.43045816975167e-20,0.000230583587692,0.000230583587692,0.000000000169163,0.000000000169163,0.000000000169163,0.000000000169163,0.000230583587692,0.000000000169163,0.000000000169163,0.054770447886657,0.000000040181141,0.000000040181294,0.000000000035558,0.054770447886657],[0.00054445568751,0.000179323224987,-0.000000000028632,-0.000000000270531,-0.000000000271549,-0.000544442021509,-0.000179321713842,0.000000000028631,0.000000000270531,0.000000000028507,0.000000000271549,0.000000013666001,0.000000001511145,-2.79448850330182e-16,-2.91358408253933e-17,1.64869429877895e-16,-2.2738434937648e-16,0.002280837076868,0.002280837076868,0.000000001083119,0.000000001083119,0.000000001083119,0.000000001083119,0.002280837076868,0.000000001083119,0.000000001083119,0.541766521662923,0.000000257272909,0.000000257272863,-0.000000000028507,0.541766521662923],[0.000000000029403,-0.000000000011908,0.000046958398619,0.000000048315376,-0.000000000012019,-0.000000000029403,0.000000000011908,-0.00004695836896,-0.00000004831337,-0.000000000029458,0.000000000012019,-2.07599715530935e-21,5.13378014953673e-21,0.000000000029659,0.000000000002006,-1.69472505405923e-21,2.93067506088123e-24,0.000000000126207,0.000000000126207,0.000186988898913,0.000186988898913,0.000000000126207,0.000000000126207,0.000000000126207,0.000186988898913,0.000000000126207,0.000000029977858,0.04441541501622,0.000000029977835,0.000000000029458,0.04441541501622],[0.000101072169915,0.000033276613049,0.000000000057427,-0.000000000039487,-0.000000000039574,-0.000101071911387,-0.000033276593549,-0.000000000057427,0.000000000039487,-0.000000000057646,0.000000000039574,0.000000000258527,0.0000000000195,9.25332681428788e-19,2.22453635604976e-18,-2.39587037972545e-18,-3.21777620368389e-19,0.000423230967792,0.000423230967792,0.000000000277385,0.000000000277385,0.000000000277385,0.000000000277385,0.000423230967792,0.000000000277385,0.000000000277385,0.100529920179852,0.000000065887116,0.000000065887097,0.000000000057646,0.100529920179852],[0.000055042457153,0.000018128307739,0.000000000035971,-0.000000000023428,-0.000000000023483,-0.000055042393709,-0.000018128302954,-0.000000000035971,0.000000000023428,-0.000000000036123,0.000000000023483,0.000000000063445,0.000000000004786,2.47852967238317e-19,6.32692940808454e-19,-6.72808082434107e-19,-1.05965048255265e-19,0.000230583589892,0.000230583589892,0.000000000170912,0.000000000170912,0.000000000170913,0.000000000170913,0.000230583589892,0.000000000170912,0.000000000170913,0.054770448409111,0.000000040596705,0.000000040596859,0.000000000036123,0.054770448409111],[0.000544442170435,0.000179321727967,0.000000000120252,-0.000000000256921,-0.000000000257763,-0.000544430579821,-0.000179320446312,-0.000000000120252,0.000000000256921,-0.000000000120911,0.000000000257762,0.000000011590613,0.000000001281655,-1.98082215443612e-16,-1.49453742120501e-16,2.28519969923022e-16,-9.67940787610125e-17,0.002280837657288,0.002280837657288,0.000000001129417,0.000000001129417,0.000000001129417,0.000000001129417,0.002280837657288,0.000000001129417,0.000000001129417,0.541766659529893,0.000000268270141,0.000000268270119,0.000000000120911,0.541766659529893],[0.000000000029403,-0.000000000011898,0.000046958368959,0.000000048313381,-0.000000000012008,-0.000000000029403,0.000000000011898,-0.000046958253496,-0.000000048305573,-0.000000000029458,0.000000000012008,-3.02280230160433e-21,-6.08729806037302e-21,0.000000000115463,0.000000000007808,1.77294532073377e-21,1.02509569100984e-20,0.000000000126189,0.000000000126189,0.00018698889891,0.00018698889891,0.000000000126189,0.000000000126189,0.000000000126189,0.00018698889891,0.000000000126189,0.00000002997355,0.044415415015592,0.000000029973554,0.000000000029458,0.044415415015592],[0.000048034314782,0.000015814682427,0.000000000027851,-0.000000000018732,-0.000000000018773,-0.000048034039846,-0.000015814661689,-0.000000000027851,0.000000000018732,-0.000000000027957,0.000000000018773,0.000000000274937,0.000000000020738,9.63423301736392e-19,2.41922028285701e-18,-2.57057689307552e-18,-3.61671319927949e-19,0.000201140074494,0.000201140074494,0.00000000013359,0.00000000013359,0.00000000013359,0.00000000013359,0.000201140074494,0.00000000013359,0.00000000013359,0.047776739351862,0.000000031731569,0.000000031731565,0.000000000027957,0.047776739351862],[0.000053037600593,0.000017461911383,0.000000000033562,-0.000000000020506,-0.000000000020549,-0.00005303741307,-0.000017461897239,-0.000000000033562,0.000000000020506,-0.000000000033687,0.000000000020549,0.000000000187522,0.000000000014145,6.30233141542443e-19,1.77734437062891e-18,-1.85524221134797e-18,-3.40653646071128e-19,0.000222090908688,0.000222090908688,0.000000000156539,0.000000000156539,0.000000000156539,0.000000000156539,0.000222090908688,0.000000000156539,0.000000000156539,0.052753184483523,0.000000037182646,0.000000037182644,0.000000000033687,0.052753184483523],[0.000055042394143,0.000018128302905,0.000000000036405,-0.000000000023478,-0.000000000023533,-0.000055042381598,-0.000018128301959,-0.000000000036405,0.000000000023478,-0.000000000036558,0.000000000023533,0.000000000012544,0.000000000000946,3.45552309825069e-20,1.21427991041291e-19,-1.27039742644389e-19,-2.27313594414834e-20,0.000230583591472,0.000230583591472,0.000000000172471,0.000000000172471,0.000000000172471,0.000000000172471,0.000230583591472,0.000000000172471,0.000000000172471,0.05477044878455,0.000000040966984,0.000000040967021,0.000000000036558,0.05477044878455],[0.000544430763034,0.000179320463714,0.000000000303415,-0.000000000240153,-0.000000000240778,-0.00054441128158,-0.000179318309515,-0.000000000303416,0.000000000240152,-0.000000000304732,0.000000000240778,0.000000019481454,0.0000000021542,-2.53242956242834e-16,-5.10077334663568e-16,5.68265944013002e-16,3.57122598938804e-17,0.002280838371381,0.002280838371381,0.000000001540639,0.000000001540639,0.000000001540639,0.000000001540639,0.002280838371381,0.000000001540639,0.000000001540639,0.541766829148267,0.000000365947512,0.000000365947512,0.000000000304732,0.541766829148267],[0.000000000029402,-0.000000000011895,0.000046958253496,0.000000048305575,-0.000000000012006,-0.000000000029402,0.000000000011895,-0.000046958043749,-0.000000048291392,-0.000000000029457,0.000000000012006,6.56878341595138e-22,-4.24696498469745e-21,0.000000000209746,0.000000000014183,1.80780322873464e-21,3.42091043637675e-21,0.000000000126184,0.000000000126184,0.000186988898909,0.000186988898909,0.000000000126184,0.000000000126184,0.000000000126184,0.000186988898909,0.000000000126184,0.000000029972469,0.044415415015449,0.000000029972471,0.000000000029457,0.044415415015449],[0.000048034042367,0.000015814661861,0.000000000030371,-0.000000000018567,-0.000000000018606,-0.000048033859778,-0.000015814648088,-0.000000000030371,0.000000000018567,-0.000000000030485,0.000000000018606,0.000000000182589,0.000000000013772,6.28968447009334e-19,1.73801734148774e-18,-1.81218048759051e-18,-3.37166333387961e-19,0.000201140084233,0.000201140084233,0.000000000141681,0.000000000141681,0.000000000141681,0.000000000141681,0.000201140084233,0.000000000141681,0.000000000141681,0.047776741665128,0.000000033653522,0.000000033653523,0.000000000030485,0.047776741665128],[0.000055042381708,0.000018128302056,0.000000000036515,-0.000000000023381,-0.000000000023436,-0.000055042371109,-0.000018128301257,-0.000000000036515,0.000000000023381,-0.000000000036669,0.000000000023436,0.0000000000106,0.0000000000008,6.52317926857071e-20,1.08977565729175e-19,-1.17147244129623e-19,-1.37740467703454e-20,0.000230583592009,0.000230583592009,0.00000000017263,0.00000000017263,0.000000000172631,0.000000000172631,0.000230583592009,0.00000000017263,0.000000000172631,0.05477044891195,0.000000041004769,0.000000041004957,0.000000000036669,0.05477044891195],[0.000055042371304,0.000018128301224,0.00000000003671,-0.000000000023414,-0.000000000023468,-0.000055042362372,-0.000018128300551,-0.00000000003671,0.000000000023414,-0.000000000036865,0.000000000023468,0.000000000008932,0.000000000000674,2.40347085123571e-20,7.64854104360806e-20,-8.61532841780987e-20,-1.5447552702988e-20,0.000230583592709,0.000230583592709,0.000000000173357,0.000000000173357,0.000000000173358,0.000000000173358,0.000230583592709,0.000000000173357,0.000000000173358,0.054770449078248,0.000000041177438,0.000000041177627,0.000000000036865,0.054770449078248],[0.000055042362412,0.000018128300527,0.000000000036751,-0.000000000023437,-0.000000000023492,-0.000055042350793,-0.000018128299651,-0.000000000036751,0.000000000023437,-0.000000000036905,0.000000000023492,0.00000000001162,0.000000000000876,5.25772928691868e-20,1.36549440712477e-19,-1.41043755318547e-19,-1.84837934583721e-20,0.000230583592832,0.000230583592832,0.000000000173542,0.000000000173542,0.000000000173542,0.000000000173542,0.000230583592832,0.000000000173542,0.000000000173542,0.054770449107565,0.000000041221427,0.000000041221477,0.000000000036905,0.054770449107565],[0.000055042350963,0.00001812829962,0.00000000003692,-0.000000000023468,-0.000000000023523,-0.000055042329933,-0.000018128298034,-0.00000000003692,0.000000000023468,-0.000000000037076,0.000000000023523,0.000000000021029,0.000000000001586,7.50212167413307e-20,2.07924270830263e-19,-2.13372983842158e-19,-3.34539757062118e-20,0.000230583593436,0.000230583593436,0.000000000174179,0.000000000174179,0.000000000174179,0.000000000174179,0.000230583593436,0.000000000174179,0.000000000174179,0.054770449251071,0.000000041372766,0.00000004137274,0.000000000037076,0.054770449251071],[0.000055042330242,0.000018128298058,0.000000000037229,-0.000000000023446,-0.0000000000235,-0.00005504229378,-0.000018128295307,-0.000000000037229,0.000000000023446,-0.000000000037385,0.0000000000235,0.000000000036461,0.00000000000275,1.30200929677534e-19,3.57421579364555e-19,-3.86372742476372e-19,-7.64385487156749e-20,0.000230583594631,0.000230583594631,0.000000000175169,0.000000000175169,0.000000000175169,0.000000000175169,0.000230583594631,0.000000000175169,0.000000000175169,0.05477044953493,0.00000004160782,0.000000041607759,0.000000000037385,0.05477044953493],[0.000055042295644,0.000018128295405,0.000000000039092,-0.000000000023355,-0.000000000023407,-0.000055041996987,-0.000018128272878,-0.000000000039092,0.000000000023355,-0.000000000039255,0.000000000023407,0.000000000298657,0.000000000022527,1.09110450355877e-18,3.17867972528908e-18,-3.30521324632328e-18,-6.34720412188609e-19,0.000230583601797,0.000230583601797,0.000000000181302,0.000000000181302,0.000000000181302,0.000000000181302,0.000230583601797,0.000000000181302,0.000000000181302,0.054770451237055,0.000000043064688,0.000000043064686,0.000000000039255,0.054770451237055]]}", + "orient": "split", "dtype": { "p_a_from_mw": "float64", "q_a_from_mvar": "float64", @@ -1651,13 +1837,13 @@ "loading_percentC": "float64", "p_c_from_mw": "float64", "loading_percent": "float64" - }, - "orient": "split" + } }, "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_percentA\",\"loading_percentB\",\"loading_percentC\",\"loading_percent\",\"va_c_degreehv_ka\"],\"index\":[0],\"data\":[[0.003483667674209,0.000433365560232,0.003099199961364,0.000610081770509,0.003138393733351,0.000188765175452,-0.003483287029968,-0.000431609436027,-0.00309923071385,-0.000608605548384,-0.003138305718481,-0.000187618455454,0.000000380644241,0.000001756124205,-0.000000030752486,0.000001476222125,0.000000088014871,0.000001146719998,null,0.013920325382872,0.000473678747861,0.012525158939821,0.000471487529204,0.012467218063054,1.253756969879105,1.128099012611184,1.12288047237676,1.253756969879105,0.00052644140716]]}", + "orient": "split", "dtype": { "p_a_hv_mw": "float64", "q_a_hv_mvar": "float64", @@ -1688,13 +1874,123 @@ "loading_percentC": "float64", "loading_percent": "float64", "va_c_degreehv_ka": "float64" - }, - "orient": "split" + } + }, + "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\":[0],\"data\":[[0.003483667674209,0.000433365560232,0.003099199961364,0.000610081770509,0.003138393733351,0.000188765175452]]}", + "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" + } + }, + "res_shunt_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"p_a_mw\",\"p_b_mw\",\"p_c_mw\",\"q_a_mvar\",\"q_b_mvar\",\"q_c_mvar\",\"vm_pu\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "p_a_mw": "float64", + "p_b_mw": "float64", + "p_c_mw": "float64", + "q_a_mvar": "float64", + "q_b_mvar": "float64", + "q_c_mvar": "float64", + "vm_pu": "float64" + } + }, + "res_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" + } + }, + "res_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" + } + }, + "res_storage_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"p_a_mw\",\"p_b_mw\",\"p_c_mw\",\"q_a_mvar\",\"q_b_mvar\",\"q_c_mvar\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "p_a_mw": "float64", + "p_b_mw": "float64", + "p_c_mw": "float64", + "q_a_mvar": "float64", + "q_b_mvar": "float64", + "q_c_mvar": "float64" + } + }, + "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\":[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],\"data\":[[0.000036000001273,0.000011832627933,0.0,0.0,0.0,0.0],[0.0,0.0,0.00104200001806,0.000000342488846,0.0,0.0],[0.000503999995999,0.000165656791069,0.0,0.0,0.0,0.0],[0.000048000001698,0.000015776837245,0.0,0.0,0.0,0.0],[0.000346999993781,0.000114053385914,0.0,0.0,0.0,0.0],[0.0,0.0,0.000051999999414,0.000000017091573,0.0,0.0],[0.0,0.0,0.00005500000043,0.000000018077627,0.0,0.0],[0.0,0.0,0.0,0.0,0.000561000022572,0.00000018439178],[0.000280999985989,0.000092360234703,0.0,0.0,0.0,0.0],[0.0,0.0,0.000057000001107,0.000000018734994,0.0,0.0],[0.0,0.0,0.000048999998398,0.00000001610552,0.0,0.0],[0.0,0.0,0.0,0.0,0.000468999991426,0.000000154152843],[0.0,0.0,0.000056000000768,0.000000018406309,0.0,0.0],[0.000209999998333,0.000069023662945,0.0,0.0,0.0,0.0],[0.0,0.0,0.000052999999753,0.000000017420257,0.0,0.0],[0.0,0.0,0.0,0.0,0.000051999999414,0.000000017091573],[0.0,0.0,0.0,0.0,0.000048000001698,0.000000015776838],[0.0,0.0,0.0,0.0,0.000048999998398,0.00000001610552],[0.0,0.0,0.0,0.0,0.000052999999753,0.000000017420257],[0.000050999999075,0.000016762889572,0.0,0.0,0.0,0.0],[0.000045000000682,0.000014790784917,0.0,0.0,0.0,0.0],[0.000054000000091,0.0000177489419,0.0,0.0,0.0,0.0],[0.0,0.0,0.000604000000749,0.0000001985252,0.0,0.0],[0.0,0.0,0.0,0.0,0.000054000000091,0.000000017748942],[0.000049999998737,0.000016434205463,0.0,0.0,0.0,0.0],[0.0,0.0,0.000034000000596,0.00000001117526,0.0,0.0],[0.0,0.0,0.0,0.0,0.000155000001541,0.000000050946035],[0.0,0.0,0.0,0.0,0.000028000000384,0.000000009203155],[0.000822999980301,0.000270507007372,0.0,0.0,0.0,0.0],[0.000052999999753,0.000017420257791,0.0,0.0,0.0,0.0],[0.000182000003406,0.000059820507886,0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.000056000000768,0.000000018406309],[0.0,0.0,0.0,0.0,0.000250000011874,0.000000082171027],[0.000176000001375,0.00005784840323,0.0,0.0,0.0,0.0],[0.0,0.0,0.000043000000005,0.000000014133416,0.0,0.0],[0.0,0.0,0.00005500000043,0.000000018077627,0.0,0.0],[0.0,0.0,0.000045000000682,0.000000014790785,0.0,0.0],[0.0,0.0,0.000228000004427,0.000000074939976,0.0,0.0],[0.0,0.0,0.0,0.0,0.000048000001698,0.000000015776838],[0.0,0.0,0.000043000000005,0.000000014133416,0.0,0.0],[0.0,0.0,0.000195999993593,0.000000064422082,0.0,0.0],[0.0,0.0,0.0,0.0,0.000054000000091,0.000000017748942],[0.0,0.0,0.0,0.0,0.000049999998737,0.000000016434205],[0.0,0.0,0.000029000000723,0.000000009531839,0.0,0.0],[0.0,0.0,0.000656999996863,0.000000215945462,0.0,0.0],[0.000048999998398,0.000016105521354,0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.000407000014093,0.000000133774435],[0.000046000001021,0.000015119469026,0.0,0.0,0.0,0.0],[0.000054000000091,0.0000177489419,0.0,0.0,0.0,0.0],[0.0,0.0,0.000310000003083,0.00000010189207,0.0,0.0],[0.000052999999753,0.000017420257791,0.0,0.0,0.0,0.0],[0.00054400000954,0.000178804155439,0.0,0.0,0.0,0.0],[0.0,0.0,0.000047000001359,0.000000015448153,0.0,0.0],[0.000048000001698,0.000015776837245,0.0,0.0,0.0,0.0],[0.00005500000043,0.000018077626009,0.0,0.0,0.0,0.0]]}", + "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" + } + }, + "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" + } + }, + "user_pf_options": {}, + "res_switch": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"pf_closed\",\"pf_in_service\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "pf_closed": "bool", + "pf_in_service": "bool" + } }, "res_trafo3w_3ph": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"p_a_hv_mw\",\"p_b_hv_mw\",\"p_c_hv_mw\",\"q_a_hv_mvar\",\"q_b_hv_mvar\",\"q_c_hv_mvar\",\"p_a_mv_mw\",\"p_b_mv_mw\",\"p_c_mv_mw\",\"q_a_mv_mvar\",\"q_b_mv_mvar\",\"q_c_mv_mvar\",\"p_a_lv_mw\",\"p_b_lv_mw\",\"p_c_lv_mw\",\"q_a_lv_mvar\",\"q_b_lv_mvar\",\"q_c_lv_mvar\",\"pl_a_mw\",\"pl_b_mw\",\"pl__Cmw\",\"ql_a_mvar\",\"ql_b_mvar\",\"ql_c_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_a_hv_mw": "float64", "p_b_hv_mw": "float64", @@ -1732,13 +2028,13 @@ "va_internal_degree": "float64", "vm_internal_pu": "float64", "loading_percent": "float64" - }, - "orient": "split" + } }, "res_impedance_3ph": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"p_a_from_mw\",\"p_b_from_mw\",\"p_c_from_mw\",\"q_a_from_mvar\",\"q_b_from_mvar\",\"q_c_from_mvar\",\"p_a_to_mw\",\"p_b_to_mw\",\"p_c_to_mw\",\"q_a_to_mvar\",\"q_b_to_mvar\",\"q_c_to_mvar\",\"pl_a_mw\",\"pl_b_mw\",\"pl_c_mw\",\"ql_a_mvar\",\"ql_b_mvar\",\"ql_c_mvar\",\"i_from_ka\",\"i_to_ka\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "p_a_from_mw": "float64", "p_b_from_mw": "float64", @@ -1760,84 +2056,13 @@ "ql_c_mvar": "float64", "i_from_ka": "float64", "i_to_ka": "float64" - }, - "orient": "split" - }, - "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\":[0],\"data\":[[0.003483667674209,0.000433365560232,0.003099199961364,0.000610081770509,0.003138393733351,0.000188765175452]]}", - "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" - }, - "orient": "split" - }, - "res_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\":[]}", - "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" - }, - "orient": "split" - }, - "res_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\":[]}", - "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" - }, - "orient": "split" - }, - "res_storage_3ph": { - "_module": "pandas.core.frame", - "_class": "DataFrame", - "_object": "{\"columns\":[\"p_a_mw\",\"p_b_mw\",\"p_c_mw\",\"q_a_mvar\",\"q_b_mvar\",\"q_c_mvar\"],\"index\":[],\"data\":[]}", - "dtype": { - "p_a_mw": "float64", - "p_b_mw": "float64", - "p_c_mw": "float64", - "q_a_mvar": "float64", - "q_b_mvar": "float64", - "q_c_mvar": "float64" - }, - "orient": "split" - }, - "res_shunt_3ph": { - "_module": "pandas.core.frame", - "_class": "DataFrame", - "_object": "{\"columns\":[\"p_a_mw\",\"p_b_mw\",\"p_c_mw\",\"q_a_mvar\",\"q_b_mvar\",\"q_c_mvar\",\"vm_pu\"],\"index\":[],\"data\":[]}", - "dtype": { - "p_a_mw": "float64", - "p_b_mw": "float64", - "p_c_mw": "float64", - "q_a_mvar": "float64", - "q_b_mvar": "float64", - "q_c_mvar": "float64", - "vm_pu": "float64" - }, - "orient": "split" + } }, "res_gen_3ph": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"p_a_mw\",\"q_a_mvar\",\"va_a_degree\",\"vm_a_pu\",\"p_b_mw\",\"q_b_mvar\",\"va_b_degree\",\"vm_b_pu\",\"p_c_mw\",\"q_c_mvar\",\"va_c_degree\",\"vm_c_pu\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "p_a_mw": "float64", "q_a_mvar": "float64", @@ -1851,13 +2076,13 @@ "q_c_mvar": "float64", "va_c_degree": "float64", "vm_c_pu": "float64" - }, - "orient": "split" + } }, "res_ward_3ph": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"p_a_mw\",\"p_b_mw\",\"p_c_mw\",\"q_a_mvar\",\"q_b_mvar\",\"q_c_mvar\",\"vm_pu\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "p_a_mw": "float64", "p_b_mw": "float64", @@ -1866,13 +2091,13 @@ "q_b_mvar": "float64", "q_c_mvar": "float64", "vm_pu": "float64" - }, - "orient": "split" + } }, "res_xward_3ph": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"p_a_mw\",\"p_b_mw\",\"p_c_mw\",\"q_a_mvar\",\"q_b_mvar\",\"q_c_mvar\",\"vm_pu\",\"va_internal_degree\",\"vm_internal_pu\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "p_a_mw": "float64", "p_b_mw": "float64", @@ -1883,13 +2108,13 @@ "vm_pu": "float64", "va_internal_degree": "float64", "vm_internal_pu": "float64" - }, - "orient": "split" + } }, "res_dcline_3ph": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"p_a_from_mw\",\"p_b_from_mw\",\"p_c_from_mw\",\"q_a_from_mvar\",\"q_b_from_mvar\",\"q_c_from_mvar\",\"p_a_to_mw\",\"p_b_to_mw\",\"p_c_to_mw\",\"q_a_to_mvar\",\"q_b_to_mvar\",\"q_c_to_mvar\",\"pl_a_mw\",\"pl_b_mw\",\"pl_c_mw\",\"vm_from_pu\",\"va_from_degree\",\"vm_to_pu\",\"va_to_degree\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "p_a_from_mw": "float64", "p_b_from_mw": "float64", @@ -1910,36 +2135,7 @@ "va_from_degree": "float64", "vm_to_pu": "float64", "va_to_degree": "float64" - }, - "orient": "split" - }, - "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\":[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],\"data\":[[0.000036000001273,0.000011832627933,0.0,0.0,0.0,0.0],[0.0,0.0,0.00104200001806,0.000000342488846,0.0,0.0],[0.000503999995999,0.000165656791069,0.0,0.0,0.0,0.0],[0.000048000001698,0.000015776837245,0.0,0.0,0.0,0.0],[0.000346999993781,0.000114053385914,0.0,0.0,0.0,0.0],[0.0,0.0,0.000051999999414,0.000000017091573,0.0,0.0],[0.0,0.0,0.00005500000043,0.000000018077627,0.0,0.0],[0.0,0.0,0.0,0.0,0.000561000022572,0.00000018439178],[0.000280999985989,0.000092360234703,0.0,0.0,0.0,0.0],[0.0,0.0,0.000057000001107,0.000000018734994,0.0,0.0],[0.0,0.0,0.000048999998398,0.00000001610552,0.0,0.0],[0.0,0.0,0.0,0.0,0.000468999991426,0.000000154152843],[0.0,0.0,0.000056000000768,0.000000018406309,0.0,0.0],[0.000209999998333,0.000069023662945,0.0,0.0,0.0,0.0],[0.0,0.0,0.000052999999753,0.000000017420257,0.0,0.0],[0.0,0.0,0.0,0.0,0.000051999999414,0.000000017091573],[0.0,0.0,0.0,0.0,0.000048000001698,0.000000015776838],[0.0,0.0,0.0,0.0,0.000048999998398,0.00000001610552],[0.0,0.0,0.0,0.0,0.000052999999753,0.000000017420257],[0.000050999999075,0.000016762889572,0.0,0.0,0.0,0.0],[0.000045000000682,0.000014790784917,0.0,0.0,0.0,0.0],[0.000054000000091,0.0000177489419,0.0,0.0,0.0,0.0],[0.0,0.0,0.000604000000749,0.0000001985252,0.0,0.0],[0.0,0.0,0.0,0.0,0.000054000000091,0.000000017748942],[0.000049999998737,0.000016434205463,0.0,0.0,0.0,0.0],[0.0,0.0,0.000034000000596,0.00000001117526,0.0,0.0],[0.0,0.0,0.0,0.0,0.000155000001541,0.000000050946035],[0.0,0.0,0.0,0.0,0.000028000000384,0.000000009203155],[0.000822999980301,0.000270507007372,0.0,0.0,0.0,0.0],[0.000052999999753,0.000017420257791,0.0,0.0,0.0,0.0],[0.000182000003406,0.000059820507886,0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.000056000000768,0.000000018406309],[0.0,0.0,0.0,0.0,0.000250000011874,0.000000082171027],[0.000176000001375,0.00005784840323,0.0,0.0,0.0,0.0],[0.0,0.0,0.000043000000005,0.000000014133416,0.0,0.0],[0.0,0.0,0.00005500000043,0.000000018077627,0.0,0.0],[0.0,0.0,0.000045000000682,0.000000014790785,0.0,0.0],[0.0,0.0,0.000228000004427,0.000000074939976,0.0,0.0],[0.0,0.0,0.0,0.0,0.000048000001698,0.000000015776838],[0.0,0.0,0.000043000000005,0.000000014133416,0.0,0.0],[0.0,0.0,0.000195999993593,0.000000064422082,0.0,0.0],[0.0,0.0,0.0,0.0,0.000054000000091,0.000000017748942],[0.0,0.0,0.0,0.0,0.000049999998737,0.000000016434205],[0.0,0.0,0.000029000000723,0.000000009531839,0.0,0.0],[0.0,0.0,0.000656999996863,0.000000215945462,0.0,0.0],[0.000048999998398,0.000016105521354,0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.000407000014093,0.000000133774435],[0.000046000001021,0.000015119469026,0.0,0.0,0.0,0.0],[0.000054000000091,0.0000177489419,0.0,0.0,0.0,0.0],[0.0,0.0,0.000310000003083,0.00000010189207,0.0,0.0],[0.000052999999753,0.000017420257791,0.0,0.0,0.0,0.0],[0.00054400000954,0.000178804155439,0.0,0.0,0.0,0.0],[0.0,0.0,0.000047000001359,0.000000015448153,0.0,0.0],[0.000048000001698,0.000015776837245,0.0,0.0,0.0,0.0],[0.00005500000043,0.000018077626009,0.0,0.0,0.0,0.0]]}", - "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" - }, - "orient": "split" - }, - "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\":[]}", - "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" - }, - "orient": "split" + } }, "OPF_converged": false } diff --git a/pandapower/networks/IEEE_European_LV_On_Peak_566.json b/pandapower/networks/IEEE_European_LV_On_Peak_566.json index d0bf8bc0c..ee6625ae7 100644 --- a/pandapower/networks/IEEE_European_LV_On_Peak_566.json +++ b/pandapower/networks/IEEE_European_LV_On_Peak_566.json @@ -6,6 +6,7 @@ "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"name\",\"vn_kv\",\"type\",\"zone\",\"in_service\",\"description\",\"substat\",\"folder_id\",\"sernum\",\"for_name\",\"chr_name\",\"pf_converged\",\"pf_name\"],\"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,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906],\"data\":[[\"SOURCEBUS\",11.0,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"SOURCEBUS\"],[\"1\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"1\"],[\"2\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"2\"],[\"3\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"3\"],[\"4\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"4\"],[\"5\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"5\"],[\"6\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"6\"],[\"7\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"7\"],[\"8\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"8\"],[\"9\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"9\"],[\"10\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"10\"],[\"11\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"11\"],[\"12\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"12\"],[\"13\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"13\"],[\"14\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"14\"],[\"15\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"15\"],[\"16\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"16\"],[\"17\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"17\"],[\"18\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"18\"],[\"19\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"19\"],[\"20\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"20\"],[\"21\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"21\"],[\"22\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"22\"],[\"23\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"23\"],[\"24\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"24\"],[\"25\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"25\"],[\"26\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"26\"],[\"27\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"27\"],[\"28\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"28\"],[\"29\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"29\"],[\"30\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"30\"],[\"31\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"31\"],[\"32\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"32\"],[\"33\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"33\"],[\"34\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"34\"],[\"35\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"35\"],[\"36\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"36\"],[\"37\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"37\"],[\"38\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"38\"],[\"39\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"39\"],[\"40\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"40\"],[\"41\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"41\"],[\"42\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"42\"],[\"43\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"43\"],[\"44\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"44\"],[\"45\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"45\"],[\"46\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"46\"],[\"47\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"47\"],[\"48\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"48\"],[\"49\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"49\"],[\"50\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"50\"],[\"51\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"51\"],[\"52\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"52\"],[\"53\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"53\"],[\"54\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"54\"],[\"55\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"55\"],[\"56\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"56\"],[\"57\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"57\"],[\"58\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"58\"],[\"59\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"59\"],[\"60\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"60\"],[\"61\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"61\"],[\"62\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"62\"],[\"63\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"63\"],[\"64\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"64\"],[\"65\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"65\"],[\"66\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"66\"],[\"67\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"67\"],[\"68\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"68\"],[\"69\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"69\"],[\"70\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"70\"],[\"71\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"71\"],[\"72\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"72\"],[\"73\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"73\"],[\"74\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"74\"],[\"75\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"75\"],[\"76\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"76\"],[\"77\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"77\"],[\"78\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"78\"],[\"79\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"79\"],[\"80\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"80\"],[\"81\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"81\"],[\"82\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"82\"],[\"83\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"83\"],[\"84\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"84\"],[\"85\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"85\"],[\"86\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"86\"],[\"87\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"87\"],[\"88\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"88\"],[\"89\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"89\"],[\"90\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"90\"],[\"91\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"91\"],[\"92\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"92\"],[\"93\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"93\"],[\"94\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"94\"],[\"95\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"95\"],[\"96\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"96\"],[\"97\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"97\"],[\"98\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"98\"],[\"99\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"99\"],[\"100\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"100\"],[\"101\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"101\"],[\"102\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"102\"],[\"103\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"103\"],[\"104\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"104\"],[\"105\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"105\"],[\"106\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"106\"],[\"107\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"107\"],[\"108\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"108\"],[\"109\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"109\"],[\"110\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"110\"],[\"111\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"111\"],[\"112\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"112\"],[\"113\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"113\"],[\"114\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"114\"],[\"115\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"115\"],[\"116\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"116\"],[\"117\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"117\"],[\"118\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"118\"],[\"119\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"119\"],[\"120\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"120\"],[\"121\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"121\"],[\"122\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"122\"],[\"123\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"123\"],[\"124\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"124\"],[\"125\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"125\"],[\"126\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"126\"],[\"127\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"127\"],[\"128\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"128\"],[\"129\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"129\"],[\"130\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"130\"],[\"131\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"131\"],[\"132\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"132\"],[\"133\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"133\"],[\"134\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"134\"],[\"135\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"135\"],[\"136\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"136\"],[\"137\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"137\"],[\"138\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"138\"],[\"139\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"139\"],[\"140\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"140\"],[\"141\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"141\"],[\"142\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"142\"],[\"143\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"143\"],[\"144\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"144\"],[\"145\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"145\"],[\"146\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"146\"],[\"147\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"147\"],[\"148\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"148\"],[\"149\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"149\"],[\"150\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"150\"],[\"151\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"151\"],[\"152\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"152\"],[\"153\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"153\"],[\"154\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"154\"],[\"155\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"155\"],[\"156\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"156\"],[\"157\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"157\"],[\"158\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"158\"],[\"159\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"159\"],[\"160\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"160\"],[\"161\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"161\"],[\"162\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"162\"],[\"163\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"163\"],[\"164\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"164\"],[\"165\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"165\"],[\"166\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"166\"],[\"167\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"167\"],[\"168\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"168\"],[\"169\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"169\"],[\"170\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"170\"],[\"171\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"171\"],[\"172\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"172\"],[\"173\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"173\"],[\"174\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"174\"],[\"175\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"175\"],[\"176\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"176\"],[\"177\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"177\"],[\"178\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"178\"],[\"179\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"179\"],[\"180\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"180\"],[\"181\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"181\"],[\"182\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"182\"],[\"183\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"183\"],[\"184\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"184\"],[\"185\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"185\"],[\"186\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"186\"],[\"187\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"187\"],[\"188\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"188\"],[\"189\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"189\"],[\"190\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"190\"],[\"191\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"191\"],[\"192\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"192\"],[\"193\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"193\"],[\"194\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"194\"],[\"195\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"195\"],[\"196\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"196\"],[\"197\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"197\"],[\"198\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"198\"],[\"199\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"199\"],[\"200\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"200\"],[\"201\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"201\"],[\"202\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"202\"],[\"203\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"203\"],[\"204\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"204\"],[\"205\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"205\"],[\"206\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"206\"],[\"207\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"207\"],[\"208\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"208\"],[\"209\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"209\"],[\"210\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"210\"],[\"211\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"211\"],[\"212\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"212\"],[\"213\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"213\"],[\"214\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"214\"],[\"215\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"215\"],[\"216\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"216\"],[\"217\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"217\"],[\"218\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"218\"],[\"219\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"219\"],[\"220\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"220\"],[\"221\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"221\"],[\"222\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"222\"],[\"223\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"223\"],[\"224\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"224\"],[\"225\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"225\"],[\"226\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"226\"],[\"227\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"227\"],[\"228\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"228\"],[\"229\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"229\"],[\"230\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"230\"],[\"231\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"231\"],[\"232\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"232\"],[\"233\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"233\"],[\"234\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"234\"],[\"235\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"235\"],[\"236\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"236\"],[\"237\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"237\"],[\"238\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"238\"],[\"239\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"239\"],[\"240\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"240\"],[\"241\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"241\"],[\"242\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"242\"],[\"243\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"243\"],[\"244\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"244\"],[\"245\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"245\"],[\"246\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"246\"],[\"247\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"247\"],[\"248\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"248\"],[\"249\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"249\"],[\"250\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"250\"],[\"251\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"251\"],[\"252\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"252\"],[\"253\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"253\"],[\"254\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"254\"],[\"255\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"255\"],[\"256\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"256\"],[\"257\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"257\"],[\"258\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"258\"],[\"259\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"259\"],[\"260\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"260\"],[\"261\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"261\"],[\"262\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"262\"],[\"263\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"263\"],[\"264\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"264\"],[\"265\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"265\"],[\"266\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"266\"],[\"267\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"267\"],[\"268\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"268\"],[\"269\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"269\"],[\"270\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"270\"],[\"271\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"271\"],[\"272\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"272\"],[\"273\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"273\"],[\"274\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"274\"],[\"275\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"275\"],[\"276\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"276\"],[\"277\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"277\"],[\"278\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"278\"],[\"279\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"279\"],[\"280\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"280\"],[\"281\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"281\"],[\"282\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"282\"],[\"283\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"283\"],[\"284\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"284\"],[\"285\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"285\"],[\"286\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"286\"],[\"287\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"287\"],[\"288\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"288\"],[\"289\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"289\"],[\"290\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"290\"],[\"291\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"291\"],[\"292\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"292\"],[\"293\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"293\"],[\"294\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"294\"],[\"295\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"295\"],[\"296\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"296\"],[\"297\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"297\"],[\"298\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"298\"],[\"299\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"299\"],[\"300\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"300\"],[\"301\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"301\"],[\"302\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"302\"],[\"303\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"303\"],[\"304\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"304\"],[\"305\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"305\"],[\"306\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"306\"],[\"307\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"307\"],[\"308\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"308\"],[\"309\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"309\"],[\"310\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"310\"],[\"311\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"311\"],[\"312\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"312\"],[\"313\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"313\"],[\"314\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"314\"],[\"315\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"315\"],[\"316\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"316\"],[\"317\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"317\"],[\"318\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"318\"],[\"319\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"319\"],[\"320\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"320\"],[\"321\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"321\"],[\"322\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"322\"],[\"323\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"323\"],[\"324\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"324\"],[\"325\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"325\"],[\"326\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"326\"],[\"327\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"327\"],[\"328\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"328\"],[\"329\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"329\"],[\"330\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"330\"],[\"331\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"331\"],[\"332\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"332\"],[\"333\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"333\"],[\"334\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"334\"],[\"335\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"335\"],[\"336\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"336\"],[\"337\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"337\"],[\"338\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"338\"],[\"339\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"339\"],[\"340\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"340\"],[\"341\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"341\"],[\"342\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"342\"],[\"343\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"343\"],[\"344\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"344\"],[\"345\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"345\"],[\"346\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"346\"],[\"347\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"347\"],[\"348\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"348\"],[\"349\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"349\"],[\"350\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"350\"],[\"351\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"351\"],[\"352\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"352\"],[\"353\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"353\"],[\"354\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"354\"],[\"355\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"355\"],[\"356\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"356\"],[\"357\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"357\"],[\"358\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"358\"],[\"359\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"359\"],[\"360\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"360\"],[\"361\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"361\"],[\"362\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"362\"],[\"363\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"363\"],[\"364\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"364\"],[\"365\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"365\"],[\"366\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"366\"],[\"367\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"367\"],[\"368\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"368\"],[\"369\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"369\"],[\"370\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"370\"],[\"371\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"371\"],[\"372\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"372\"],[\"373\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"373\"],[\"374\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"374\"],[\"375\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"375\"],[\"376\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"376\"],[\"377\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"377\"],[\"378\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"378\"],[\"379\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"379\"],[\"380\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"380\"],[\"381\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"381\"],[\"382\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"382\"],[\"383\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"383\"],[\"384\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"384\"],[\"385\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"385\"],[\"386\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"386\"],[\"387\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"387\"],[\"388\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"388\"],[\"389\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"389\"],[\"390\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"390\"],[\"391\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"391\"],[\"392\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"392\"],[\"393\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"393\"],[\"394\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"394\"],[\"395\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"395\"],[\"396\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"396\"],[\"397\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"397\"],[\"398\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"398\"],[\"399\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"399\"],[\"400\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"400\"],[\"401\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"401\"],[\"402\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"402\"],[\"403\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"403\"],[\"404\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"404\"],[\"405\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"405\"],[\"406\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"406\"],[\"407\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"407\"],[\"408\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"408\"],[\"409\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"409\"],[\"410\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"410\"],[\"411\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"411\"],[\"412\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"412\"],[\"413\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"413\"],[\"414\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"414\"],[\"415\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"415\"],[\"416\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"416\"],[\"417\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"417\"],[\"418\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"418\"],[\"419\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"419\"],[\"420\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"420\"],[\"421\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"421\"],[\"422\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"422\"],[\"423\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"423\"],[\"424\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"424\"],[\"425\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"425\"],[\"426\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"426\"],[\"427\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"427\"],[\"428\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"428\"],[\"429\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"429\"],[\"430\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"430\"],[\"431\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"431\"],[\"432\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"432\"],[\"433\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"433\"],[\"434\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"434\"],[\"435\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"435\"],[\"436\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"436\"],[\"437\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"437\"],[\"438\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"438\"],[\"439\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"439\"],[\"440\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"440\"],[\"441\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"441\"],[\"442\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"442\"],[\"443\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"443\"],[\"444\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"444\"],[\"445\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"445\"],[\"446\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"446\"],[\"447\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"447\"],[\"448\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"448\"],[\"449\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"449\"],[\"450\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"450\"],[\"451\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"451\"],[\"452\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"452\"],[\"453\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"453\"],[\"454\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"454\"],[\"455\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"455\"],[\"456\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"456\"],[\"457\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"457\"],[\"458\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"458\"],[\"459\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"459\"],[\"460\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"460\"],[\"461\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"461\"],[\"462\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"462\"],[\"463\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"463\"],[\"464\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"464\"],[\"465\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"465\"],[\"466\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"466\"],[\"467\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"467\"],[\"468\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"468\"],[\"469\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"469\"],[\"470\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"470\"],[\"471\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"471\"],[\"472\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"472\"],[\"473\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"473\"],[\"474\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"474\"],[\"475\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"475\"],[\"476\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"476\"],[\"477\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"477\"],[\"478\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"478\"],[\"479\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"479\"],[\"480\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"480\"],[\"481\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"481\"],[\"482\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"482\"],[\"483\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"483\"],[\"484\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"484\"],[\"485\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"485\"],[\"486\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"486\"],[\"487\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"487\"],[\"488\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"488\"],[\"489\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"489\"],[\"490\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"490\"],[\"491\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"491\"],[\"492\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"492\"],[\"493\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"493\"],[\"494\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"494\"],[\"495\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"495\"],[\"496\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"496\"],[\"497\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"497\"],[\"498\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"498\"],[\"499\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"499\"],[\"500\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"500\"],[\"501\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"501\"],[\"502\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"502\"],[\"503\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"503\"],[\"504\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"504\"],[\"505\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"505\"],[\"506\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"506\"],[\"507\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"507\"],[\"508\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"508\"],[\"509\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"509\"],[\"510\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"510\"],[\"511\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"511\"],[\"512\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"512\"],[\"513\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"513\"],[\"514\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"514\"],[\"515\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"515\"],[\"516\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"516\"],[\"517\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"517\"],[\"518\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"518\"],[\"519\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"519\"],[\"520\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"520\"],[\"521\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"521\"],[\"522\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"522\"],[\"523\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"523\"],[\"524\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"524\"],[\"525\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"525\"],[\"526\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"526\"],[\"527\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"527\"],[\"528\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"528\"],[\"529\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"529\"],[\"530\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"530\"],[\"531\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"531\"],[\"532\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"532\"],[\"533\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"533\"],[\"534\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"534\"],[\"535\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"535\"],[\"536\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"536\"],[\"537\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"537\"],[\"538\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"538\"],[\"539\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"539\"],[\"540\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"540\"],[\"541\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"541\"],[\"542\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"542\"],[\"543\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"543\"],[\"544\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"544\"],[\"545\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"545\"],[\"546\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"546\"],[\"547\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"547\"],[\"548\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"548\"],[\"549\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"549\"],[\"550\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"550\"],[\"551\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"551\"],[\"552\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"552\"],[\"553\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"553\"],[\"554\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"554\"],[\"555\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"555\"],[\"556\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"556\"],[\"557\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"557\"],[\"558\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"558\"],[\"559\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"559\"],[\"560\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"560\"],[\"561\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"561\"],[\"562\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"562\"],[\"563\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"563\"],[\"564\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"564\"],[\"565\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"565\"],[\"566\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"566\"],[\"567\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"567\"],[\"568\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"568\"],[\"569\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"569\"],[\"570\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"570\"],[\"571\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"571\"],[\"572\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"572\"],[\"573\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"573\"],[\"574\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"574\"],[\"575\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"575\"],[\"576\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"576\"],[\"577\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"577\"],[\"578\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"578\"],[\"579\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"579\"],[\"580\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"580\"],[\"581\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"581\"],[\"582\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"582\"],[\"583\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"583\"],[\"584\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"584\"],[\"585\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"585\"],[\"586\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"586\"],[\"587\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"587\"],[\"588\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"588\"],[\"589\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"589\"],[\"590\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"590\"],[\"591\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"591\"],[\"592\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"592\"],[\"593\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"593\"],[\"594\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"594\"],[\"595\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"595\"],[\"596\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"596\"],[\"597\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"597\"],[\"598\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"598\"],[\"599\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"599\"],[\"600\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"600\"],[\"601\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"601\"],[\"602\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"602\"],[\"603\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"603\"],[\"604\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"604\"],[\"605\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"605\"],[\"606\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"606\"],[\"607\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"607\"],[\"608\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"608\"],[\"609\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"609\"],[\"610\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"610\"],[\"611\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"611\"],[\"612\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"612\"],[\"613\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"613\"],[\"614\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"614\"],[\"615\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"615\"],[\"616\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"616\"],[\"617\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"617\"],[\"618\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"618\"],[\"619\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"619\"],[\"620\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"620\"],[\"621\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"621\"],[\"622\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"622\"],[\"623\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"623\"],[\"624\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"624\"],[\"625\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"625\"],[\"626\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"626\"],[\"627\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"627\"],[\"628\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"628\"],[\"629\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"629\"],[\"630\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"630\"],[\"631\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"631\"],[\"632\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"632\"],[\"633\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"633\"],[\"634\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"634\"],[\"635\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"635\"],[\"636\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"636\"],[\"637\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"637\"],[\"638\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"638\"],[\"639\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"639\"],[\"640\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"640\"],[\"641\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"641\"],[\"642\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"642\"],[\"643\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"643\"],[\"644\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"644\"],[\"645\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"645\"],[\"646\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"646\"],[\"647\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"647\"],[\"648\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"648\"],[\"649\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"649\"],[\"650\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"650\"],[\"651\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"651\"],[\"652\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"652\"],[\"653\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"653\"],[\"654\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"654\"],[\"655\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"655\"],[\"656\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"656\"],[\"657\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"657\"],[\"658\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"658\"],[\"659\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"659\"],[\"660\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"660\"],[\"661\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"661\"],[\"662\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"662\"],[\"663\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"663\"],[\"664\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"664\"],[\"665\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"665\"],[\"666\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"666\"],[\"667\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"667\"],[\"668\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"668\"],[\"669\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"669\"],[\"670\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"670\"],[\"671\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"671\"],[\"672\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"672\"],[\"673\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"673\"],[\"674\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"674\"],[\"675\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"675\"],[\"676\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"676\"],[\"677\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"677\"],[\"678\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"678\"],[\"679\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"679\"],[\"680\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"680\"],[\"681\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"681\"],[\"682\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"682\"],[\"683\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"683\"],[\"684\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"684\"],[\"685\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"685\"],[\"686\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"686\"],[\"687\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"687\"],[\"688\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"688\"],[\"689\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"689\"],[\"690\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"690\"],[\"691\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"691\"],[\"692\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"692\"],[\"693\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"693\"],[\"694\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"694\"],[\"695\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"695\"],[\"696\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"696\"],[\"697\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"697\"],[\"698\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"698\"],[\"699\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"699\"],[\"700\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"700\"],[\"701\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"701\"],[\"702\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"702\"],[\"703\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"703\"],[\"704\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"704\"],[\"705\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"705\"],[\"706\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"706\"],[\"707\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"707\"],[\"708\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"708\"],[\"709\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"709\"],[\"710\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"710\"],[\"711\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"711\"],[\"712\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"712\"],[\"713\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"713\"],[\"714\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"714\"],[\"715\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"715\"],[\"716\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"716\"],[\"717\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"717\"],[\"718\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"718\"],[\"719\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"719\"],[\"720\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"720\"],[\"721\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"721\"],[\"722\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"722\"],[\"723\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"723\"],[\"724\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"724\"],[\"725\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"725\"],[\"726\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"726\"],[\"727\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"727\"],[\"728\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"728\"],[\"729\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"729\"],[\"730\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"730\"],[\"731\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"731\"],[\"732\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"732\"],[\"733\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"733\"],[\"734\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"734\"],[\"735\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"735\"],[\"736\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"736\"],[\"737\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"737\"],[\"738\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"738\"],[\"739\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"739\"],[\"740\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"740\"],[\"741\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"741\"],[\"742\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"742\"],[\"743\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"743\"],[\"744\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"744\"],[\"745\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"745\"],[\"746\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"746\"],[\"747\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"747\"],[\"748\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"748\"],[\"749\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"749\"],[\"750\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"750\"],[\"751\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"751\"],[\"752\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"752\"],[\"753\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"753\"],[\"754\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"754\"],[\"755\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"755\"],[\"756\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"756\"],[\"757\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"757\"],[\"758\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"758\"],[\"759\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"759\"],[\"760\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"760\"],[\"761\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"761\"],[\"762\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"762\"],[\"763\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"763\"],[\"764\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"764\"],[\"765\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"765\"],[\"766\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"766\"],[\"767\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"767\"],[\"768\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"768\"],[\"769\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"769\"],[\"770\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"770\"],[\"771\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"771\"],[\"772\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"772\"],[\"773\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"773\"],[\"774\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"774\"],[\"775\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"775\"],[\"776\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"776\"],[\"777\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"777\"],[\"778\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"778\"],[\"779\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"779\"],[\"780\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"780\"],[\"781\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"781\"],[\"782\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"782\"],[\"783\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"783\"],[\"784\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"784\"],[\"785\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"785\"],[\"786\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"786\"],[\"787\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"787\"],[\"788\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"788\"],[\"789\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"789\"],[\"790\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"790\"],[\"791\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"791\"],[\"792\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"792\"],[\"793\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"793\"],[\"794\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"794\"],[\"795\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"795\"],[\"796\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"796\"],[\"797\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"797\"],[\"798\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"798\"],[\"799\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"799\"],[\"800\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"800\"],[\"801\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"801\"],[\"802\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"802\"],[\"803\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"803\"],[\"804\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"804\"],[\"805\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"805\"],[\"806\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"806\"],[\"807\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"807\"],[\"808\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"808\"],[\"809\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"809\"],[\"810\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"810\"],[\"811\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"811\"],[\"812\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"812\"],[\"813\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"813\"],[\"814\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"814\"],[\"815\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"815\"],[\"816\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"816\"],[\"817\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"817\"],[\"818\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"818\"],[\"819\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"819\"],[\"820\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"820\"],[\"821\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"821\"],[\"822\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"822\"],[\"823\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"823\"],[\"824\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"824\"],[\"825\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"825\"],[\"826\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"826\"],[\"827\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"827\"],[\"828\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"828\"],[\"829\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"829\"],[\"830\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"830\"],[\"831\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"831\"],[\"832\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"832\"],[\"833\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"833\"],[\"834\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"834\"],[\"835\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"835\"],[\"836\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"836\"],[\"837\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"837\"],[\"838\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"838\"],[\"839\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"839\"],[\"840\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"840\"],[\"841\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"841\"],[\"842\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"842\"],[\"843\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"843\"],[\"844\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"844\"],[\"845\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"845\"],[\"846\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"846\"],[\"847\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"847\"],[\"848\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"848\"],[\"849\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"849\"],[\"850\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"850\"],[\"851\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"851\"],[\"852\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"852\"],[\"853\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"853\"],[\"854\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"854\"],[\"855\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"855\"],[\"856\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"856\"],[\"857\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"857\"],[\"858\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"858\"],[\"859\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"859\"],[\"860\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"860\"],[\"861\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"861\"],[\"862\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"862\"],[\"863\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"863\"],[\"864\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"864\"],[\"865\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"865\"],[\"866\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"866\"],[\"867\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"867\"],[\"868\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"868\"],[\"869\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"869\"],[\"870\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"870\"],[\"871\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"871\"],[\"872\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"872\"],[\"873\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"873\"],[\"874\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"874\"],[\"875\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"875\"],[\"876\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"876\"],[\"877\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"877\"],[\"878\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"878\"],[\"879\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"879\"],[\"880\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"880\"],[\"881\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"881\"],[\"882\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"882\"],[\"883\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"883\"],[\"884\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"884\"],[\"885\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"885\"],[\"886\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"886\"],[\"887\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"887\"],[\"888\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"888\"],[\"889\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"889\"],[\"890\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"890\"],[\"891\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"891\"],[\"892\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"892\"],[\"893\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"893\"],[\"894\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"894\"],[\"895\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"895\"],[\"896\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"896\"],[\"897\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"897\"],[\"898\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"898\"],[\"899\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"899\"],[\"900\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"900\"],[\"901\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"901\"],[\"902\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"902\"],[\"903\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"903\"],[\"904\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"904\"],[\"905\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"905\"],[\"906\",0.416000008583069,\"b\",\"LV_Grid\",true,\"LV_Grid\",\"\",\"LV_Grid\",\"\",\"\",\"\",true,\"906\"]]}", + "orient": "split", "dtype": { "name": "object", "vn_kv": "float64", @@ -20,13 +21,13 @@ "chr_name": "object", "pf_converged": "bool", "pf_name": "object" - }, - "orient": "split" + } }, "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\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "name": "object", "bus": "uint32", @@ -38,13 +39,13 @@ "scaling": "float64", "in_service": "bool", "type": "object" - }, - "orient": "split" + } }, "sgen": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"name\",\"bus\",\"p_mw\",\"q_mvar\",\"sn_mva\",\"scaling\",\"in_service\",\"type\",\"current_source\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "name": "object", "bus": "int64", @@ -55,13 +56,34 @@ "in_service": "bool", "type": "object", "current_source": "bool" - }, - "orient": "split" + } + }, + "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" + } }, "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\",\"description\",\"sernum\",\"for_name\",\"chr_name\"],\"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],\"data\":[[\"LOAD1\",34,0.000574000005145,0.000188664678717,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD2\",47,0.0,0.0,0.000044000000344,0.000000014462101,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD3\",70,0.000114000002213,0.000037469988456,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD4\",73,0.000230999998166,0.00007592602924,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD5\",74,0.000035000000935,0.000011503943824,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD6\",83,0.0,0.0,0.00039500001003,0.000000129830227,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD7\",178,0.0,0.0,0.00005500000043,0.000000018077627,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD8\",208,0.0,0.0,0.0,0.0,0.002835999941453,0.000000932148112,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD9\",225,0.000130999993416,0.000043057618313,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD10\",248,0.0,0.0,0.002797999884933,0.000000919658135,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD11\",249,0.0,0.0,0.000048999998398,0.00000001610552,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD12\",264,0.0,0.0,0.0,0.0,0.000285999994958,0.000000094003653,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD13\",276,0.0,0.0,0.002211000071838,0.000000726720543,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD14\",289,0.000209999998333,0.000069023662945,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD15\",314,0.0,0.0,0.002331000054255,0.000000766162657,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD16\",320,0.0,0.0,0.0,0.0,0.000509999983478,0.000000167628897,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD17\",327,0.0,0.0,0.0,0.0,0.000048000001698,0.000000015776838,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD18\",337,0.0,0.0,0.0,0.0,0.000410999986343,0.000000135089167,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD19\",342,0.0,0.0,0.0,0.0,0.000456999987364,0.000000150208635,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD20\",349,0.000050999999075,0.000016762889572,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD21\",387,0.000045000000682,0.000014790784917,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD22\",388,0.000054000000091,0.0000177489419,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD23\",406,0.0,0.0,0.000236000007135,0.000000077569446,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD24\",458,0.0,0.0,0.0,0.0,0.000075000003562,0.000000024651309,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD25\",502,0.000234000006458,0.000076912081568,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD26\",522,0.0,0.0,0.012659000232816,0.000004160812296,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD27\",539,0.0,0.0,0.0,0.0,0.000155000001541,0.000000050946035,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD28\",556,0.0,0.0,0.0,0.0,0.000028000000384,0.000000009203155,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD29\",562,0.010471000336111,0.00344165135175,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD30\",563,0.000052999999753,0.000017420257791,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD31\",611,0.00228299992159,0.000750385806896,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD32\",614,0.0,0.0,0.0,0.0,0.000606000015978,0.000000199182566,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD33\",619,0.0,0.0,0.0,0.0,0.000303000007989,0.000000099591283,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD34\",629,0.000058000001445,0.000019063678337,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD35\",639,0.0,0.0,0.005570000037551,0.000001830770429,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD36\",676,0.0,0.0,0.000155999994604,0.000000051274721,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD37\",682,0.0,0.0,0.001062999945134,0.0000003493912,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD38\",688,0.0,0.0,0.000391999987187,0.000000128844164,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD39\",701,0.0,0.0,0.0,0.0,0.000048000001698,0.000000015776838,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD40\",702,0.0,0.0,0.00042699999176,0.000000140348106,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD41\",755,0.0,0.0,0.000065000000177,0.000000021364468,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD42\",778,0.0,0.0,0.0,0.0,0.000365999992937,0.000000120298381,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD43\",780,0.0,0.0,0.0,0.0,0.000049999998737,0.000000016434205,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD44\",785,0.0,0.0,0.00167699996382,0.000000551203243,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD45\",813,0.0,0.0,0.000172999993083,0.000000056862351,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD46\",817,0.000048999998398,0.000016105521354,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD47\",835,0.0,0.0,0.0,0.0,0.000045000000682,0.000000014790785,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD48\",860,0.002141000004485,0.000703712692484,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD49\",861,0.000054000000091,0.0000177489419,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD50\",886,0.0,0.0,0.000310000003083,0.00000010189207,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD51\",896,0.000052999999753,0.000017420257791,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD52\",898,0.000295000005281,0.000096961812233,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD53\",899,0.0,0.0,0.003086999990046,0.000001014647864,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD54\",900,0.000245000002906,0.000080527606769,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"],[\"LOAD55\",906,0.00005500000043,0.000018077626009,0.0,0.0,0.0,0.0,null,1.0,true,\"wye\",\"\",\"\",\"\",\"\"]]}", + "orient": "split", "dtype": { "name": "object", "bus": "uint32", @@ -79,13 +101,13 @@ "sernum": "object", "for_name": "object", "chr_name": "object" - }, - "orient": "split" + } }, "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", @@ -100,13 +122,13 @@ "in_service": "bool", "type": "object", "current_source": "bool" - }, - "orient": "split" + } }, "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", @@ -119,13 +141,13 @@ "scaling": "float64", "in_service": "bool", "type": "object" - }, - "orient": "split" + } }, "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\",\"in_service\",\"type\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"p_mw\",\"vm_pu\",\"sn_mva\",\"min_q_mvar\",\"max_q_mvar\",\"scaling\",\"slack\",\"in_service\",\"type\",\"slack_weight\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "name": "object", "bus": "uint32", @@ -137,14 +159,15 @@ "scaling": "float64", "slack": "bool", "in_service": "bool", - "type": "object" - }, - "orient": "split" + "type": "object", + "slack_weight": "float64" + } }, "switch": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"bus\",\"element\",\"et\",\"type\",\"closed\",\"name\",\"z_ohm\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "bus": "int64", "element": "int64", @@ -153,13 +176,13 @@ "closed": "bool", "name": "object", "z_ohm": "float64" - }, - "orient": "split" + } }, "shunt": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"bus\",\"name\",\"q_mvar\",\"p_mw\",\"vn_kv\",\"step\",\"max_step\",\"in_service\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "bus": "uint32", "name": "object", @@ -169,13 +192,13 @@ "step": "uint32", "max_step": "uint32", "in_service": "bool" - }, - "orient": "split" + } }, "ext_grid": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"name\",\"bus\",\"vm_pu\",\"va_degree\",\"in_service\",\"s_sc_max_mva\",\"s_sc_min_mva\",\"rx_min\",\"rx_max\",\"r0x0_max\",\"x0x_max\",\"r0x0_min\",\"x0x_min\",\"description\"],\"index\":[0],\"data\":[[\"Source\",0,1.049999952316284,0.0,true,10000.0,8000.0,0.100000001490116,0.100000001490116,0.100000001490116,1.0,0.100000001490116,1.0,\"\"]]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"vm_pu\",\"va_degree\",\"in_service\",\"s_sc_max_mva\",\"s_sc_min_mva\",\"rx_min\",\"rx_max\",\"r0x0_max\",\"x0x_max\",\"r0x0_min\",\"x0x_min\",\"description\",\"slack_weight\"],\"index\":[0],\"data\":[[\"Source\",0,1.049999952316284,0.0,true,10000.0,8000.0,0.100000001490116,0.100000001490116,0.100000001490116,1.0,0.100000001490116,1.0,\"\",1.0]]}", + "orient": "split", "dtype": { "name": "object", "bus": "uint32", @@ -190,14 +213,15 @@ "x0x_max": "float64", "r0x0_min": "float64", "x0x_min": "float64", - "description": "object" - }, - "orient": "split" + "description": "object", + "slack_weight": "float64" + } }, "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\",\"alpha\",\"temperature_degree_celsius\",\"description\",\"line_idx\",\"folder_id\",\"section_idx\",\"c0_nf_per_km\",\"r0_ohm_per_km\",\"x0_ohm_per_km\",\"pf_name\"],\"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,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904],\"data\":[[\"LINE1\",\"4c_70\",1,2,0.001097999978811,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",0.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE1\"],[\"LINE2\",\"4c_70\",2,3,0.000115110000479,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",1.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE2\"],[\"LINE3\",\"4c_70\",3,4,0.000107840001874,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",2.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE3\"],[\"LINE4\",\"4c_70\",4,5,0.000094021001132,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",3.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE4\"],[\"LINE5\",\"4c_70\",5,6,0.000148120001541,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",4.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE5\"],[\"LINE6\",\"4c_70\",6,7,0.010086299851537,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",5.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE6\"],[\"LINE7\",\"4c_70\",7,8,0.000451750005595,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",6.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE7\"],[\"LINE8\",\"4c_70\",8,9,0.000376000010874,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",7.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE8\"],[\"LINE9\",\"4c_70\",9,10,0.000329970003804,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",8.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE9\"],[\"LINE10\",\"4c_70\",10,11,0.000246220006375,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",9.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE10\"],[\"LINE11\",\"4c_70\",11,12,0.000231140002143,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",10.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE11\"],[\"LINE12\",\"4c_70\",12,13,0.000142129996675,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",11.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE12\"],[\"LINE13\",\"4c_70\",13,14,0.000353840005118,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",12.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE13\"],[\"LINE14\",\"4c_70\",14,15,0.002866399940103,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",13.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE14\"],[\"LINE15\",\"2c_007\",15,16,0.000096540003142,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",14.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE15\"],[\"LINE16\",\"4c_70\",15,17,0.003475999925286,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",15.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE16\"],[\"LINE17\",\"2c_007\",16,18,0.000044044998504,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",16.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE17\"],[\"LINE18\",\"4c_70\",17,19,0.000239169996348,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",17.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE18\"],[\"LINE19\",\"2c_007\",18,20,0.000046173998271,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",18.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE19\"],[\"LINE20\",\"4c_70\",19,21,0.000268559990218,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",19.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE20\"],[\"LINE21\",\"2c_007\",20,22,0.00004197599992,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",20.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE21\"],[\"LINE22\",\"4c_70\",21,23,0.000437270005932,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",21.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE22\"],[\"LINE23\",\"2c_007\",22,24,0.000051244998758,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",22.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE23\"],[\"LINE24\",\"4c_70\",23,25,0.000795500003733,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",23.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE24\"],[\"LINE25\",\"2c_007\",24,26,0.000055902000895,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",24.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE25\"],[\"LINE26\",\"2c_16\",25,27,0.005904899910092,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",25.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE26\"],[\"LINE27\",\"4c_70\",25,28,0.009968600235879,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",26.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE27\"],[\"LINE28\",\"2c_007\",26,29,0.000054561998695,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",27.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE28\"],[\"LINE29\",\"2c_16\",27,30,0.001626500044949,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",28.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE29\"],[\"LINE30\",\"2c_16\",27,31,0.001584699959494,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",29.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE30\"],[\"LINE31\",\"4c_70\",28,32,0.002653799951077,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",30.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE31\"],[\"LINE32\",\"2c_007\",29,33,0.000146289996337,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",31.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE32\"],[\"LINE33\",\"2c_16\",30,34,0.003724799957126,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",32.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE33\"],[\"LINE34\",\"2c_16\",31,35,0.000053666000895,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",33.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE34\"],[\"LINE35\",\"2c_16\",32,36,0.005726499948651,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",34.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE35\"],[\"LINE36\",\"4c_70\",32,37,0.008024400100112,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",35.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE36\"],[\"LINE37\",\"2c_007\",33,38,0.000136479997309,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",36.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE37\"],[\"LINE38\",\"2c_16\",35,39,0.000077162003436,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",37.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE38\"],[\"LINE39\",\"2c_16\",36,40,0.000400040007662,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",38.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE39\"],[\"LINE40\",\"2c_16\",36,41,0.001806300017051,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",39.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE40\"],[\"LINE41\",\"4c_70\",37,42,0.005568400025368,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",40.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE41\"],[\"LINE42\",\"4c_185\",37,43,0.000216750006075,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",41.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE42\"],[\"LINE43\",\"2c_007\",38,44,0.0000338380014,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",42.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE43\"],[\"LINE44\",\"2c_16\",39,45,0.000098955002613,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",43.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE44\"],[\"LINE45\",\"2c_16\",40,46,0.000180310002179,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",44.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE45\"],[\"LINE46\",\"2c_16\",41,47,0.004346299916506,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",45.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE46\"],[\"LINE47\",\"4c_70\",42,48,0.004207800142467,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",46.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE47\"],[\"LINE48\",\"4c_185\",43,49,0.000104359998659,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",47.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE48\"],[\"LINE49\",\"2c_007\",44,50,0.000048104000598,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",48.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE49\"],[\"LINE50\",\"2c_16\",45,51,0.000241000001552,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",49.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE50\"],[\"LINE51\",\"2c_16\",46,52,0.000191090002772,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",50.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE51\"],[\"LINE52\",\"4c_70\",48,53,0.000606679997873,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",51.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE52\"],[\"LINE53\",\"4c_70\",48,54,0.000639490026515,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",52.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE53\"],[\"LINE54\",\"4c_185\",49,55,0.000116249997518,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",53.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE54\"],[\"LINE55\",\"2c_007\",50,56,0.000087663996965,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",54.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE55\"],[\"LINE56\",\"2c_16\",51,57,0.000206340002478,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",55.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE56\"],[\"LINE57\",\"2c_16\",52,58,0.000182000003406,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",56.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE57\"],[\"LINE58\",\"4c_70\",53,59,0.002748100087047,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",57.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE58\"],[\"LINE59\",\"4c_70\",54,60,0.000065368003561,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",58.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE59\"],[\"LINE60\",\"4c_185\",55,61,0.000100279998151,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",59.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE60\"],[\"LINE61\",\"2c_007\",56,62,0.000077999997302,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",60.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE61\"],[\"LINE62\",\"2c_16\",57,63,0.000989119987935,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",61.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE62\"],[\"LINE63\",\"2c_16\",58,64,0.000109000000521,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",62.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE63\"],[\"LINE64\",\"4c_70\",59,65,0.000558679981623,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",63.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE64\"],[\"LINE65\",\"2c_16\",59,66,0.008258299902081,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",64.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE65\"],[\"LINE66\",\"4c_70\",60,67,0.000074000003224,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",65.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE66\"],[\"LINE67\",\"4c_185\",61,68,0.000096042000223,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",66.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE67\"],[\"LINE68\",\"2c_007\",62,69,0.000083241000539,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",67.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE68\"],[\"LINE69\",\"2c_16\",63,70,0.003496200079098,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",68.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE69\"],[\"LINE70\",\"2c_16\",64,71,0.000213849998545,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",69.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE70\"],[\"LINE71\",\"4c_70\",65,72,0.006600600201637,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",70.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE71\"],[\"LINE72\",\"2c_16\",66,73,0.004036599770188,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",71.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE72\"],[\"LINE73\",\"2c_16\",66,74,0.004036599770188,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",72.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE73\"],[\"LINE74\",\"4c_70\",67,75,0.000179509996087,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",73.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE74\"],[\"LINE75\",\"4c_185\",68,76,0.000235510000493,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",74.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE75\"],[\"LINE76\",\"2c_007\",69,77,0.000389069988159,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",75.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE76\"],[\"LINE77\",\"2c_16\",71,78,0.0010837999871,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",76.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE77\"],[\"LINE78\",\"4c_70\",72,79,0.002300800057128,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",77.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE78\"],[\"LINE79\",\"4c_70\",75,80,0.00010361999739,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",78.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE79\"],[\"LINE80\",\"4c_185\",76,81,0.000746899982914,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",79.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE80\"],[\"LINE81\",\"2c_007\",77,82,0.000510880025104,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",80.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE81\"],[\"LINE82\",\"2c_16\",78,83,0.004083999898285,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",81.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE82\"],[\"LINE83\",\"4c_70\",79,84,0.000502109993249,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",82.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE83\"],[\"LINE84\",\"4c_70\",80,85,0.000111219997052,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",83.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE84\"],[\"LINE85\",\"4c_185\",81,86,0.001438800012693,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",84.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE85\"],[\"LINE86\",\"2c_007\",82,87,0.000310450006509,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",85.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE86\"],[\"LINE87\",\"4c_70\",84,88,0.001018199953251,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",86.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE87\"],[\"LINE88\",\"4c_70\",85,89,0.000104799997644,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",87.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE88\"],[\"LINE89\",\"4c_185\",86,90,0.000342510000337,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",88.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE89\"],[\"LINE90\",\"2c_007\",87,91,0.000112059999083,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",89.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE90\"],[\"LINE91\",\"4c_70\",88,92,0.000960209988989,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",90.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE91\"],[\"LINE92\",\"4c_185\",90,93,0.000065307001933,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",91.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE92\"],[\"LINE93\",\"2c_007\",91,94,0.000034785000025,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",92.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE93\"],[\"LINE94\",\"4c_70\",92,95,0.000558110012207,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",93.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE94\"],[\"LINE95\",\"4c_185\",93,96,0.000086052001279,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",94.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE95\"],[\"LINE96\",\"2c_007\",94,97,0.000036770001316,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",95.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE96\"],[\"LINE97\",\"4c_70\",95,98,0.000368590001017,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",96.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE97\"],[\"LINE98\",\"4c_185\",96,99,0.000037215999328,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",97.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE98\"],[\"LINE99\",\"2c_007\",97,100,0.000089588000264,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",98.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE99\"],[\"LINE100\",\"4c_70\",98,101,0.000508919998538,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",99.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE100\"],[\"LINE101\",\"4c_185\",99,102,0.005081899929792,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",100.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE101\"],[\"LINE102\",\"2c_007\",100,103,0.000285829999484,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",101.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE102\"],[\"LINE103\",\"4c_35\",101,104,0.000288379989797,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",102.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE103\"],[\"LINE104\",\"4c_70\",101,105,0.000336019991664,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",103.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE104\"],[\"LINE105\",\"4c_185\",102,106,0.000221080001211,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",104.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE105\"],[\"LINE106\",\"4c_35\",104,107,0.000348900008248,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",105.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE106\"],[\"LINE107\",\"4c_70\",105,108,0.000190539998584,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",106.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE107\"],[\"LINE108\",\"4c_185\",106,109,0.000450849998742,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",107.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE108\"],[\"LINE109\",\"4c_35\",107,110,0.000404399994295,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",108.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE109\"],[\"LINE110\",\"4c_70\",108,111,0.007518200203776,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",109.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE110\"],[\"LINE111\",\"4c_185\",109,112,0.011976599693298,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",110.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE111\"],[\"LINE112\",\"4c_35\",110,113,0.000616590026766,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",111.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE112\"],[\"LINE113\",\"4c_70\",111,114,0.000753159984015,0.446000009775162,0.071000002324581,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",112.0,\"LV_Grid\",0,0,1.504999995231628,0.082999996840954,\"LINE113\"],[\"LINE114\",\"4c_185\",112,115,0.010661300271749,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",113.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE114\"],[\"LINE115\",\"4c_35\",113,116,0.00079270999413,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",114.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE115\"],[\"LINE116\",\"4c_35\",114,117,0.001105600036681,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",115.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE116\"],[\"LINE117\",\"4c_1\",114,118,0.003655599895865,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",116.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE117\"],[\"LINE118\",\"4c_185\",115,119,0.00099464005325,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",117.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE118\"],[\"LINE119\",\"4c_35\",116,120,0.000569090014324,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",118.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE119\"],[\"LINE120\",\"2c_007\",117,121,0.000194809996174,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",119.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE120\"],[\"LINE121\",\"4c_35\",117,122,0.000538309977856,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",120.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE121\"],[\"LINE122\",\"4c_1\",118,123,0.006592399906367,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",121.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE122\"],[\"LINE123\",\"4c_185\",119,124,0.000724799989257,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",122.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE123\"],[\"LINE124\",\"4c_35\",120,125,0.000804119976237,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",123.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE124\"],[\"LINE125\",\"2c_007\",121,126,0.000168690006831,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",124.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE125\"],[\"LINE126\",\"4c_35\",122,127,0.002528799930587,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",125.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE126\"],[\"LINE127\",\"4c_1\",123,128,0.002964599989355,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",126.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE127\"],[\"LINE128\",\"4c_185\",124,129,0.000625120010227,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",127.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE128\"],[\"LINE129\",\"4c_35\",125,130,0.000869999988936,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",128.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE129\"],[\"LINE130\",\"2c_007\",126,131,0.000119149997772,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",129.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE130\"],[\"LINE131\",\"2c_16\",127,132,0.003821199992672,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",130.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE131\"],[\"LINE132\",\"4c_35\",127,133,0.007178199943155,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",131.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE132\"],[\"LINE133\",\"4c_1\",128,134,0.000882050022483,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",132.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE133\"],[\"LINE134\",\"4c_185\",129,135,0.001920299953781,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",133.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE134\"],[\"LINE135\",\"4c_35\",130,136,0.000820479996037,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",134.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE135\"],[\"LINE136\",\"2c_007\",131,137,0.000184360003914,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",135.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE136\"],[\"LINE137\",\"2c_16\",132,138,0.000329080008669,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",136.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE137\"],[\"LINE138\",\"4c_35\",133,139,0.005340199917555,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",137.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE138\"],[\"LINE139\",\"4c_1\",134,140,0.000995659967884,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",138.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE139\"],[\"LINE140\",\"4c_185\",135,141,0.001412700046785,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",139.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE140\"],[\"LINE141\",\"4c_35\",136,142,0.001349000027403,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",140.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE141\"],[\"LINE142\",\"2c_007\",137,143,0.000217809996684,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",141.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE142\"],[\"LINE143\",\"2c_16\",138,144,0.00032289000228,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",142.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE143\"],[\"LINE144\",\"4c_35\",139,145,0.003576199989766,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",143.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE144\"],[\"LINE145\",\"4c_1\",140,146,0.000936400028877,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",144.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE145\"],[\"LINE146\",\"4c_185\",141,147,0.000240530003794,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",145.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE146\"],[\"LINE147\",\"4c_35\",142,148,0.006414200179279,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",146.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE147\"],[\"LINE148\",\"2c_007\",143,149,0.000194010004634,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",147.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE148\"],[\"LINE149\",\"2c_16\",144,150,0.000260720000369,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",148.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE149\"],[\"LINE150\",\"4c_35\",145,151,0.00357130006887,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",149.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE150\"],[\"LINE151\",\"2c_16\",145,152,0.005131400190294,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",150.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE151\"],[\"LINE152\",\"4c_1\",146,153,0.001092600054108,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",151.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE152\"],[\"LINE153\",\"4c_185\",147,154,0.000083095997979,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",152.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE153\"],[\"LINE154\",\"4c_35\",148,155,0.001397300045937,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",153.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE154\"],[\"LINE155\",\"2c_007\",149,156,0.000219099994865,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",154.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE155\"],[\"LINE156\",\"2c_16\",150,157,0.000391320005292,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",155.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE156\"],[\"LINE157\",\"4c_35\",151,158,0.009471300058067,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",156.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE157\"],[\"LINE158\",\"2c_16\",152,159,0.000312329997541,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",157.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE158\"],[\"LINE159\",\"4c_1\",153,160,0.000314389995765,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",158.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE159\"],[\"LINE160\",\"4c_185\",154,161,0.000122559998999,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",159.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE160\"],[\"LINE161\",\"2c_16\",155,162,0.011742199771106,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",160.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE161\"],[\"LINE162\",\"4c_35\",155,163,0.005284400191158,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",161.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE162\"],[\"LINE163\",\"2c_007\",156,164,0.000203420000616,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",162.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE163\"],[\"LINE164\",\"2c_16\",157,165,0.000471779989311,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",163.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE164\"],[\"LINE165\",\"4c_35\",158,166,0.003289900021628,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",164.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE165\"],[\"LINE166\",\"2c_16\",159,167,0.000285329995677,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",165.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE166\"],[\"LINE167\",\"4c_1\",160,168,0.001786099979654,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",166.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE167\"],[\"LINE168\",\"4c_185\",161,169,0.000249580014497,0.165999993681908,0.068000003695488,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",167.0,\"LV_Grid\",0,0,0.5799999833107,0.078000001609325,\"LINE168\"],[\"LINE169\",\"2c_16\",162,170,0.002218300011009,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",168.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE169\"],[\"LINE170\",\"4c_35\",163,171,0.007015599869192,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",169.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE170\"],[\"LINE171\",\"2c_007\",164,172,0.000172700005351,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",170.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE171\"],[\"LINE172\",\"2c_16\",165,173,0.000356420001481,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",171.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE172\"],[\"LINE173\",\"4c_35\",166,174,0.003918299917132,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",172.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE173\"],[\"LINE174\",\"2c_16\",166,175,0.004204500000924,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",173.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE174\"],[\"LINE175\",\"2c_16\",167,176,0.000118529998872,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",174.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE175\"],[\"LINE176\",\"4c_1\",168,177,0.00100879999809,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",175.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE176\"],[\"LINE177\",\"2c_16\",170,178,0.004576799925417,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",176.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE177\"],[\"LINE178\",\"4c_35\",171,179,0.001181800034828,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",177.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE178\"],[\"LINE179\",\"2c_16\",171,180,0.002422400051728,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",178.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE179\"],[\"LINE180\",\"2c_007\",172,181,0.000179609996849,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",179.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE180\"],[\"LINE181\",\"2c_16\",173,182,0.000412439985666,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",180.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE181\"],[\"LINE182\",\"4c_35\",174,183,0.000587630027439,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",181.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE182\"],[\"LINE183\",\"2c_16\",175,184,0.000454090011772,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",182.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE183\"],[\"LINE184\",\"2c_16\",176,185,0.000255490012933,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",183.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE184\"],[\"LINE185\",\"4c_1\",177,186,0.00074886000948,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",184.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE185\"],[\"LINE186\",\"4c_35\",179,187,0.004650699906051,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",185.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE186\"],[\"LINE187\",\"2c_16\",180,188,0.010025800205767,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",186.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE187\"],[\"LINE188\",\"2c_007\",181,189,0.000154120003572,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",187.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE188\"],[\"LINE189\",\"2c_16\",182,190,0.000387800013414,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",188.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE189\"],[\"LINE190\",\"4c_35\",183,191,0.0023151000496,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",189.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE190\"],[\"LINE191\",\"4c_35\",183,192,0.000277910003206,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",190.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE191\"],[\"LINE192\",\"2c_16\",184,193,0.000439230003394,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",191.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE192\"],[\"LINE193\",\"2c_16\",185,194,0.000650729984045,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",192.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE193\"],[\"LINE194\",\"4c_1\",186,195,0.000673260015901,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",193.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE194\"],[\"LINE195\",\"4c_35\",187,196,0.008303600363433,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",194.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE195\"],[\"LINE196\",\"2c_16\",188,197,0.001959499903023,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",195.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE196\"],[\"LINE197\",\"2c_16\",188,198,0.00113250000868,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",196.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE197\"],[\"LINE198\",\"2c_007\",189,199,0.000191479994101,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",197.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE198\"],[\"LINE199\",\"2c_16\",190,200,0.00041725000483,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",198.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE199\"],[\"LINE200\",\"4c_35\",191,201,0.000931399990804,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",199.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE200\"],[\"LINE201\",\"4c_35\",192,202,0.00016446999507,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",200.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE201\"],[\"LINE202\",\"2c_16\",193,203,0.000351339986082,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",201.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE202\"],[\"LINE203\",\"2c_16\",194,204,0.000381780002499,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",202.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE203\"],[\"LINE204\",\"4c_1\",195,205,0.000836380000692,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",203.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE204\"],[\"LINE205\",\"2c_16\",196,206,0.003247499931604,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",204.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE205\"],[\"LINE206\",\"4c_35\",196,207,0.002137100091204,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",205.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE206\"],[\"LINE207\",\"2c_16\",197,208,0.004954100120813,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",206.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE207\"],[\"LINE208\",\"2c_16\",198,209,0.000160080002388,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",207.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE208\"],[\"LINE209\",\"2c_007\",199,210,0.000448379985755,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",208.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE209\"],[\"LINE210\",\"2c_16\",200,211,0.000637850025669,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",209.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE210\"],[\"LINE211\",\"4c_35\",202,212,0.000155260000611,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",210.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE211\"],[\"LINE212\",\"2c_16\",203,213,0.000279870000668,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",211.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE212\"],[\"LINE213\",\"2c_16\",204,214,0.000267399998847,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",212.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE213\"],[\"LINE214\",\"4c_1\",205,215,0.001543399994262,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",213.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE214\"],[\"LINE215\",\"2c_16\",206,216,0.010629500262439,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",214.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE215\"],[\"LINE216\",\"4c_35\",207,217,0.003857099916786,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",215.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE216\"],[\"LINE217\",\"2c_16\",209,218,0.000129099993501,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",216.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE217\"],[\"LINE218\",\"2c_007\",210,219,0.000672149995808,3.97000002861023,0.098999999463558,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",217.0,\"LV_Grid\",0,0,3.97000002861023,0.098999999463558,\"LINE218\"],[\"LINE219\",\"2c_16\",211,220,0.001741899992339,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",218.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE219\"],[\"LINE220\",\"4c_35\",212,221,0.00017005999689,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",219.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE220\"],[\"LINE221\",\"2c_16\",213,222,0.000591690011788,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",220.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE221\"],[\"LINE222\",\"2c_16\",214,223,0.000514369981829,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",221.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE222\"],[\"LINE223\",\"4c_1\",215,224,0.001345600001514,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",222.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE223\"],[\"LINE224\",\"2c_16\",216,225,0.004582200199366,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",223.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE224\"],[\"LINE225\",\"4c_35\",217,226,0.001377200009301,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",224.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE225\"],[\"LINE226\",\"2c_16\",218,227,0.000103170001239,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",225.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE226\"],[\"LINE227\",\"2c_16\",220,228,0.000148520004586,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",226.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE227\"],[\"LINE228\",\"4c_35\",221,229,0.000232730002608,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",227.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE228\"],[\"LINE229\",\"2c_16\",222,230,0.000465969991637,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",228.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE229\"],[\"LINE230\",\"2c_16\",223,231,0.000256019993685,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",229.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE230\"],[\"LINE231\",\"4c_1\",224,232,0.00091533997329,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",230.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE231\"],[\"LINE232\",\"2c_16\",226,233,0.011894900351763,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",231.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE232\"],[\"LINE233\",\"4c_35\",226,234,0.001127299969085,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",232.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE233\"],[\"LINE234\",\"2c_16\",227,235,0.000157489994308,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",233.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE234\"],[\"LINE235\",\"2c_16\",228,236,0.000068599998485,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",234.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE235\"],[\"LINE236\",\"4c_35\",229,237,0.000207420001971,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",235.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE236\"],[\"LINE237\",\"2c_16\",230,238,0.000323220010614,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",236.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE237\"],[\"LINE238\",\"2c_16\",231,239,0.000181790004717,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",237.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE238\"],[\"LINE239\",\"4c_1\",232,240,0.00060129998019,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",238.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE239\"],[\"LINE240\",\"2c_16\",233,241,0.001727399998344,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",239.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE240\"],[\"LINE241\",\"2c_16\",235,242,0.000184610005817,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",240.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE241\"],[\"LINE242\",\"2c_16\",236,243,0.000073376002547,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",241.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE242\"],[\"LINE243\",\"4c_35\",237,244,0.000168810001924,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",242.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE243\"],[\"LINE244\",\"2c_16\",238,245,0.000322450010572,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",243.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE244\"],[\"LINE245\",\"2c_16\",239,246,0.002079600002617,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",244.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE245\"],[\"LINE246\",\"4c_1\",240,247,0.001294099958614,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",245.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE246\"],[\"LINE247\",\"2c_16\",241,248,0.005302200093865,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",246.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE247\"],[\"LINE248\",\"2c_16\",241,249,0.005302200093865,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",247.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE248\"],[\"LINE249\",\"2c_16\",242,250,0.000283550005406,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",248.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE249\"],[\"LINE250\",\"2c_16\",243,251,0.000070114001574,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",249.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE250\"],[\"LINE251\",\"4c_35\",244,252,0.000132970002596,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",250.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE251\"],[\"LINE252\",\"2c_16\",245,253,0.000471729988931,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",251.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE252\"],[\"LINE253\",\"2c_16\",246,254,0.000613240001258,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",252.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE253\"],[\"LINE254\",\"2c_16\",247,255,0.00456180004403,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",253.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE254\"],[\"LINE255\",\"4c_1\",247,256,0.000856779981405,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",254.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE255\"],[\"LINE256\",\"2c_16\",250,257,0.001037599984556,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",255.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE256\"],[\"LINE257\",\"2c_16\",251,258,0.000078110002505,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",256.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE257\"],[\"LINE258\",\"4c_35\",252,259,0.000173230000655,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",257.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE258\"],[\"LINE259\",\"2c_16\",253,260,0.001774200005457,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",258.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE259\"],[\"LINE260\",\"2c_16\",254,261,0.000137199996971,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",259.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE260\"],[\"LINE261\",\"2c_16\",255,262,0.000630600028671,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",260.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE261\"],[\"LINE262\",\"4c_1\",256,263,0.003212800016627,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",261.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE262\"],[\"LINE263\",\"2c_16\",257,264,0.005049999803305,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",262.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE263\"],[\"LINE264\",\"2c_16\",258,265,0.000161229996593,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",263.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE264\"],[\"LINE265\",\"4c_35\",259,266,0.000194359992747,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",264.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE265\"],[\"LINE266\",\"2c_16\",260,267,0.000414100009948,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",265.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE266\"],[\"LINE267\",\"2c_16\",261,268,0.003457800019532,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",266.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE267\"],[\"LINE268\",\"2c_16\",261,269,0.000118709998787,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",267.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE268\"],[\"LINE269\",\"2c_16\",262,270,0.000289910007268,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",268.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE269\"],[\"LINE270\",\"2c_16\",263,271,0.004254700150341,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",269.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE270\"],[\"LINE271\",\"4c_1\",263,272,0.001079199952073,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",270.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE271\"],[\"LINE272\",\"2c_16\",265,273,0.000167920006788,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",271.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE272\"],[\"LINE273\",\"4c_35\",266,274,0.000178880000021,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",272.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE273\"],[\"LINE274\",\"2c_16\",267,275,0.000189710000996,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",273.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE274\"],[\"LINE275\",\"2c_16\",268,276,0.003426800016314,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",274.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE275\"],[\"LINE276\",\"2c_16\",269,277,0.000139180003316,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",275.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE276\"],[\"LINE277\",\"2c_16\",270,278,0.000344330008375,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",276.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE277\"],[\"LINE278\",\"2c_16\",271,279,0.000309269991703,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",277.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE278\"],[\"LINE279\",\"4c_1\",272,280,0.003912100102752,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",278.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE279\"],[\"LINE280\",\"2c_16\",273,281,0.000638540019281,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",279.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE280\"],[\"LINE281\",\"4c_35\",274,282,0.000605419976637,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",280.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE281\"],[\"LINE282\",\"2c_16\",275,283,0.000124719997984,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",281.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE282\"],[\"LINE283\",\"2c_16\",277,284,0.000125780003145,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",282.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE283\"],[\"LINE284\",\"2c_16\",278,285,0.000531259982381,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",283.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE284\"],[\"LINE285\",\"2c_16\",279,286,0.000254910002695,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",284.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE285\"],[\"LINE286\",\"4c_06\",280,287,0.001754199969582,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",285.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE286\"],[\"LINE287\",\"4c_1\",280,288,0.000913059979212,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",286.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE287\"],[\"LINE288\",\"2c_16\",281,289,0.003390100086108,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",287.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE288\"],[\"LINE289\",\"4c_35\",282,290,0.000810439989436,0.089000001549721,0.067500002682209,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",288.0,\"LV_Grid\",0,0,0.319000005722046,0.07599999755621,\"LINE289\"],[\"LINE290\",\"2c_16\",283,291,0.00087618001271,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",289.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE290\"],[\"LINE291\",\"2c_16\",283,292,0.00010807000217,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",290.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE291\"],[\"LINE292\",\"2c_16\",284,293,0.000127389997942,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",291.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE292\"],[\"LINE293\",\"2c_16\",285,294,0.000473390013212,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",292.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE293\"],[\"LINE294\",\"2c_16\",286,295,0.000362079998013,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",293.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE294\"],[\"LINE295\",\"4c_06\",287,296,0.000807420001365,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",294.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE295\"],[\"LINE296\",\"4c_1\",288,297,0.00382660003379,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",295.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE296\"],[\"LINE297\",\"2c_16\",291,298,0.000402479985496,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",296.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE297\"],[\"LINE298\",\"2c_16\",292,299,0.000076484997408,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",297.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE298\"],[\"LINE299\",\"2c_16\",293,300,0.00013697000395,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",298.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE299\"],[\"LINE300\",\"2c_16\",294,301,0.000368050008547,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",299.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE300\"],[\"LINE301\",\"2c_16\",295,302,0.001626300043426,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",300.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE301\"],[\"LINE302\",\"4c_06\",296,303,0.005274599883705,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",301.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE302\"],[\"LINE303\",\"4c_1\",297,304,0.000844680005684,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",302.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE303\"],[\"LINE304\",\"2c_16\",298,305,0.000681189994793,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",303.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE304\"],[\"LINE305\",\"2c_16\",299,306,0.000089005996415,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",304.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE305\"],[\"LINE306\",\"2c_16\",300,307,0.000794349994976,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",305.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE306\"],[\"LINE307\",\"2c_16\",301,308,0.000458130001789,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",306.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE307\"],[\"LINE308\",\"2c_16\",302,309,0.000313080003252,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",307.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE308\"],[\"LINE309\",\"4c_06\",303,310,0.000393969996367,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",308.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE309\"],[\"LINE310\",\"4c_1\",304,311,0.000280670006759,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",309.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE310\"],[\"LINE311\",\"2c_16\",305,312,0.001307499944232,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",310.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE311\"],[\"LINE312\",\"2c_16\",306,313,0.000170240004081,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",311.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE312\"],[\"LINE313\",\"2c_16\",307,314,0.003359799971804,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",312.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE313\"],[\"LINE314\",\"2c_16\",308,315,0.000473839987535,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",313.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE314\"],[\"LINE315\",\"2c_16\",309,316,0.000231810001424,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",314.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE315\"],[\"LINE316\",\"2c_16\",310,317,0.0006490299711,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",315.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE316\"],[\"LINE317\",\"4c_06\",310,318,0.007216299884021,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",316.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE317\"],[\"LINE318\",\"4c_1\",311,319,0.00014648999786,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",317.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE318\"],[\"LINE319\",\"2c_16\",312,320,0.003849500091746,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",318.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE319\"],[\"LINE320\",\"2c_16\",313,321,0.000652900023852,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",319.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE320\"],[\"LINE321\",\"2c_16\",315,322,0.000558919971809,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",320.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE321\"],[\"LINE322\",\"2c_16\",316,323,0.000267019990133,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",321.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE322\"],[\"LINE323\",\"2c_16\",317,324,0.003342699958012,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",322.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE323\"],[\"LINE324\",\"4c_06\",318,325,0.003463099943474,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",323.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE324\"],[\"LINE325\",\"4c_1\",319,326,0.000125399994431,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",324.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE325\"],[\"LINE326\",\"2c_16\",321,327,0.002228100085631,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",325.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE326\"],[\"LINE327\",\"2c_16\",322,328,0.000318509992212,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",326.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE327\"],[\"LINE328\",\"2c_16\",323,329,0.00026487998548,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",327.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE328\"],[\"LINE329\",\"2c_16\",324,330,0.001167000038549,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",328.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE329\"],[\"LINE330\",\"2c_16\",325,331,0.009133200161159,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",329.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE330\"],[\"LINE331\",\"4c_06\",325,332,0.006672900170088,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",330.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE331\"],[\"LINE332\",\"4c_1\",326,333,0.000142620003317,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",331.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE332\"],[\"LINE333\",\"2c_16\",328,334,0.001438900013454,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",332.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE333\"],[\"LINE334\",\"2c_16\",329,335,0.002327000023797,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",333.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE334\"],[\"LINE335\",\"2c_16\",330,336,0.002539899898693,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",334.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE335\"],[\"LINE336\",\"2c_16\",331,337,0.003617200069129,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",335.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE336\"],[\"LINE337\",\"2c_16\",332,338,0.006806700024754,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",336.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE337\"],[\"LINE338\",\"4c_06\",332,339,0.001212900038809,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",337.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE338\"],[\"LINE339\",\"4c_1\",333,340,0.000112360001367,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",338.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE339\"],[\"LINE340\",\"2c_16\",334,341,0.000559990003239,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",339.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE340\"],[\"LINE341\",\"2c_16\",335,342,0.004756699781865,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",340.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE341\"],[\"LINE342\",\"2c_16\",336,343,0.002082000020891,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",341.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE342\"],[\"LINE343\",\"2c_16\",336,344,0.000979600008577,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",342.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE343\"],[\"LINE344\",\"2c_16\",338,345,0.003422100096941,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",343.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE344\"],[\"LINE345\",\"4c_06\",339,346,0.001039099995978,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",344.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE345\"],[\"LINE346\",\"4c_1\",340,347,0.000094201997854,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",345.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE346\"],[\"LINE347\",\"2c_16\",341,348,0.000194539999939,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",346.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE347\"],[\"LINE348\",\"2c_16\",343,349,0.003115300089121,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",347.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE348\"],[\"LINE349\",\"2c_16\",344,350,0.000136400005431,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",348.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE349\"],[\"LINE350\",\"2c_16\",345,351,0.000318459991831,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",349.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE350\"],[\"LINE351\",\"4c_06\",346,352,0.000730909989215,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",350.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE351\"],[\"LINE352\",\"4c_1\",347,353,0.000084999999672,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",351.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE352\"],[\"LINE353\",\"2c_16\",348,354,0.000146560007124,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",352.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE353\"],[\"LINE354\",\"2c_16\",350,355,0.000148139995872,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",353.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE354\"],[\"LINE355\",\"2c_16\",351,356,0.000131520006107,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",354.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE355\"],[\"LINE356\",\"4c_06\",352,357,0.000923520012293,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",355.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE356\"],[\"LINE357\",\"4c_1\",353,358,0.000070349000453,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",356.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE357\"],[\"LINE358\",\"2c_16\",354,359,0.00010723000014,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",357.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE358\"],[\"LINE359\",\"2c_16\",355,360,0.000129759995616,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",358.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE359\"],[\"LINE360\",\"2c_16\",356,361,0.000092800997663,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",359.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE360\"],[\"LINE361\",\"4c_06\",357,362,0.00057867000578,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",360.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE361\"],[\"LINE362\",\"4c_1\",358,363,0.000081609003246,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",361.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE362\"],[\"LINE363\",\"2c_16\",359,364,0.000054452000768,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",362.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE363\"],[\"LINE364\",\"2c_16\",360,365,0.000137869996252,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",363.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE364\"],[\"LINE365\",\"2c_16\",361,366,0.000094921000709,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",364.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE365\"],[\"LINE366\",\"4c_06\",362,367,0.000888610025868,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",365.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE366\"],[\"LINE367\",\"4c_1\",363,368,0.000089693996415,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",366.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE367\"],[\"LINE368\",\"2c_16\",364,369,0.000080056001025,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",367.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE368\"],[\"LINE369\",\"2c_16\",365,370,0.000196769993636,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",368.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE369\"],[\"LINE370\",\"2c_16\",366,371,0.000112000001536,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",369.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE370\"],[\"LINE371\",\"4c_06\",367,372,0.000885839981493,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",370.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE371\"],[\"LINE372\",\"4c_1\",368,373,0.000488979974762,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",371.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE372\"],[\"LINE373\",\"2c_16\",369,374,0.000134200003231,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",372.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE373\"],[\"LINE374\",\"2c_16\",370,375,0.000239209999563,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",373.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE374\"],[\"LINE375\",\"2c_16\",371,376,0.000141280004755,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",374.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE375\"],[\"LINE376\",\"4c_06\",372,377,0.00099394004792,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",375.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE376\"],[\"LINE377\",\"4c_1\",373,378,0.003684799885377,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",376.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE377\"],[\"LINE378\",\"2c_16\",373,379,0.001411500037648,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",377.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE378\"],[\"LINE379\",\"2c_16\",374,380,0.000598590006121,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",378.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE379\"],[\"LINE380\",\"2c_16\",375,381,0.001482699997723,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",379.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE380\"],[\"LINE381\",\"2c_16\",376,382,0.000126529994304,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",380.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE381\"],[\"LINE382\",\"4c_06\",377,383,0.000719250005204,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",381.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE382\"],[\"LINE383\",\"4c_1\",378,384,0.003529200097546,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",382.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE383\"],[\"LINE384\",\"2c_16\",379,385,0.00866680033505,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",383.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE384\"],[\"LINE385\",\"2c_16\",379,386,0.001456100028008,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",384.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE385\"],[\"LINE386\",\"2c_16\",380,387,0.002200399991125,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",385.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE386\"],[\"LINE387\",\"2c_16\",381,388,0.005073400214314,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",386.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE387\"],[\"LINE388\",\"2c_16\",382,389,0.000100119999843,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",387.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE388\"],[\"LINE389\",\"4c_06\",383,390,0.000857279985212,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",388.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE389\"],[\"LINE390\",\"4c_1\",384,391,0.000157110000146,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",389.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE390\"],[\"LINE391\",\"2c_16\",385,392,0.003167500020936,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",390.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE391\"],[\"LINE392\",\"2c_16\",386,393,0.007833500392735,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",391.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE392\"],[\"LINE393\",\"2c_16\",389,394,0.000171830004547,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",392.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE393\"],[\"LINE394\",\"4c_06\",390,395,0.001243900042027,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",393.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE394\"],[\"LINE395\",\"2c_16\",391,396,0.004060099832714,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",394.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE395\"],[\"LINE396\",\"4c_1\",391,397,0.002879299921915,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",395.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE396\"],[\"LINE397\",\"2c_16\",392,398,0.000322409992805,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",396.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE397\"],[\"LINE398\",\"2c_16\",393,399,0.000568800023757,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",397.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE398\"],[\"LINE399\",\"2c_16\",394,400,0.000599840015639,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",398.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE399\"],[\"LINE400\",\"4c_06\",395,401,0.000922199978959,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",399.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE400\"],[\"LINE401\",\"2c_16\",396,402,0.000372009992134,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",400.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE401\"],[\"LINE402\",\"4c_1\",397,403,0.001389099983498,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",401.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE402\"],[\"LINE403\",\"2c_16\",398,404,0.000224999996135,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",402.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE403\"],[\"LINE404\",\"2c_16\",399,405,0.000248069991358,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",403.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE404\"],[\"LINE405\",\"2c_16\",400,406,0.003667199984193,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",404.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE405\"],[\"LINE406\",\"4c_06\",401,407,0.000889609975275,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",405.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE406\"],[\"LINE407\",\"2c_16\",402,408,0.000211480000871,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",406.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE407\"],[\"LINE408\",\"4c_1\",403,409,0.004190700128675,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",407.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE408\"],[\"LINE409\",\"4c_1\",403,410,0.000379100005375,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",408.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE409\"],[\"LINE410\",\"2c_16\",404,411,0.000233080005273,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",409.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE410\"],[\"LINE411\",\"2c_16\",405,412,0.00016706000315,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",410.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE411\"],[\"LINE412\",\"4c_06\",407,413,0.000870660005603,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",411.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE412\"],[\"LINE413\",\"2c_16\",408,414,0.000143600002048,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",412.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE413\"],[\"LINE414\",\"4c_1\",409,415,0.00596860004589,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",413.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE414\"],[\"LINE415\",\"4c_1\",410,416,0.000094921000709,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",414.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE415\"],[\"LINE416\",\"2c_16\",411,417,0.000978800002486,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",415.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE416\"],[\"LINE417\",\"2c_16\",412,418,0.000279539992334,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",416.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE417\"],[\"LINE418\",\"4c_06\",413,419,0.001047100056894,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",417.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE418\"],[\"LINE419\",\"2c_16\",414,420,0.000234029997955,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",418.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE419\"],[\"LINE420\",\"4c_1\",415,421,0.001248999964446,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",419.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE420\"],[\"LINE421\",\"4c_1\",416,422,0.00006657299673,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",420.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE421\"],[\"LINE422\",\"2c_16\",417,423,0.000239000000875,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",421.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE422\"],[\"LINE423\",\"2c_16\",418,424,0.003194400109351,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",422.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE423\"],[\"LINE424\",\"4c_06\",419,425,0.001753699965775,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",423.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE424\"],[\"LINE425\",\"4c_06\",419,426,0.001753699965775,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",424.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE425\"],[\"LINE426\",\"2c_16\",420,427,0.000777930021286,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",425.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE426\"],[\"LINE427\",\"4c_1\",421,428,0.000319229991874,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",426.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE427\"],[\"LINE428\",\"4c_1\",422,429,0.000082872997154,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",427.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE428\"],[\"LINE429\",\"2c_16\",423,430,0.000227979995543,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",428.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE429\"],[\"LINE430\",\"2c_16\",424,431,0.001133100013249,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",429.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE430\"],[\"LINE431\",\"4c_06\",425,432,0.005915100220591,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",430.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE431\"],[\"LINE432\",\"4c_06\",425,433,0.005915100220591,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",431.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE432\"],[\"LINE433\",\"2c_16\",427,434,0.000866079994012,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",432.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE433\"],[\"LINE434\",\"4c_1\",428,435,0.00016723999579,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",433.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE434\"],[\"LINE435\",\"4c_1\",429,436,0.000071344002208,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",434.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE435\"],[\"LINE436\",\"2c_16\",430,437,0.000226739997743,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",435.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE436\"],[\"LINE437\",\"2c_16\",431,438,0.000384000013582,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",436.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE437\"],[\"LINE438\",\"4c_06\",432,439,0.008366299793124,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",437.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE438\"],[\"LINE439\",\"4c_06\",432,440,0.008366299793124,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",438.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE439\"],[\"LINE440\",\"2c_16\",434,441,0.000487079989398,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",439.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE440\"],[\"LINE441\",\"4c_1\",435,442,0.000138639996294,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",440.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE441\"],[\"LINE442\",\"4c_1\",436,443,0.000077999997302,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",441.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE442\"],[\"LINE443\",\"2c_16\",437,444,0.000260100001469,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",442.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE443\"],[\"LINE444\",\"2c_16\",438,445,0.000678580021486,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",443.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE444\"],[\"LINE445\",\"4c_06\",439,446,0.006003300193697,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",444.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE445\"],[\"LINE446\",\"4c_06\",439,447,0.006003300193697,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",445.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE446\"],[\"LINE447\",\"2c_16\",441,448,0.000457560003269,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",446.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE447\"],[\"LINE448\",\"4c_1\",442,449,0.000112360001367,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",447.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE448\"],[\"LINE449\",\"4c_1\",443,450,0.000079245997767,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",448.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE449\"],[\"LINE450\",\"2c_16\",444,451,0.000898240017705,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",449.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE450\"],[\"LINE451\",\"2c_16\",445,452,0.000593659991864,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",450.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE451\"],[\"LINE452\",\"4c_06\",446,453,0.001821400015615,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",451.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE452\"],[\"LINE453\",\"4c_06\",446,454,0.001821400015615,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",452.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE453\"],[\"LINE454\",\"2c_16\",448,455,0.00043655000627,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",453.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE454\"],[\"LINE455\",\"4c_1\",449,456,0.000171749998117,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",454.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE455\"],[\"LINE456\",\"4c_1\",450,457,0.000054231000831,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",455.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE456\"],[\"LINE457\",\"2c_16\",451,458,0.004377299919724,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",456.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE457\"],[\"LINE458\",\"2c_16\",452,459,0.000670639972668,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",457.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE458\"],[\"LINE459\",\"4c_06\",453,460,0.005390500184149,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",458.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE459\"],[\"LINE460\",\"4c_06\",453,461,0.005390500184149,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",459.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE460\"],[\"LINE461\",\"2c_16\",453,462,0.003685900010169,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",460.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE461\"],[\"LINE462\",\"2c_16\",455,463,0.000716749986168,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",461.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE462\"],[\"LINE463\",\"4c_1\",456,464,0.000154830006068,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",462.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE463\"],[\"LINE464\",\"4c_1\",457,465,0.000040310998884,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",463.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE464\"],[\"LINE465\",\"2c_16\",459,466,0.000634210009594,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",464.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE465\"],[\"LINE466\",\"4c_06\",460,467,0.005989099852741,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",465.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE466\"],[\"LINE467\",\"4c_06\",460,468,0.005989099852741,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",466.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE467\"],[\"LINE468\",\"4c_06\",460,469,0.000882919994183,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",467.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE468\"],[\"LINE469\",\"2c_16\",462,470,0.00053828000091,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",468.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE469\"],[\"LINE470\",\"2c_16\",463,471,0.000499229994603,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",469.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE470\"],[\"LINE471\",\"4c_1\",464,472,0.000147359998664,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",470.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE471\"],[\"LINE472\",\"4c_1\",465,473,0.000049497000873,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",471.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE472\"],[\"LINE473\",\"2c_16\",466,474,0.003200999926776,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",472.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE473\"],[\"LINE474\",\"4c_06\",467,475,0.002194700064138,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",473.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE474\"],[\"LINE475\",\"4c_06\",467,476,0.002194700064138,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",474.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE475\"],[\"LINE476\",\"2c_16\",470,477,0.000293510005577,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",475.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE476\"],[\"LINE477\",\"2c_16\",471,478,0.000350769987563,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",476.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE477\"],[\"LINE478\",\"4c_1\",472,479,0.000166009995155,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",477.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE478\"],[\"LINE479\",\"4c_1\",473,480,0.000063952997152,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",478.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE479\"],[\"LINE480\",\"2c_16\",474,481,0.000189839993254,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",479.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE480\"],[\"LINE481\",\"4c_06\",475,482,0.004643199965358,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",480.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE481\"],[\"LINE482\",\"4c_06\",475,483,0.004643199965358,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",481.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE482\"],[\"LINE483\",\"2c_16\",475,484,0.010276899673045,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",482.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE483\"],[\"LINE484\",\"2c_16\",477,485,0.000198830006411,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",483.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE484\"],[\"LINE485\",\"2c_16\",478,486,0.000167599995621,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",484.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE485\"],[\"LINE486\",\"4c_1\",479,487,0.000175359993591,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",485.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE486\"],[\"LINE487\",\"4c_1\",480,488,0.000111629997264,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",486.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE487\"],[\"LINE488\",\"2c_16\",481,489,0.00017129999469,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",487.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE488\"],[\"LINE489\",\"4c_06\",482,490,0.00665479991585,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",488.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE489\"],[\"LINE490\",\"4c_06\",482,491,0.00665479991585,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",489.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE490\"],[\"LINE491\",\"2c_16\",484,492,0.000577959988732,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",490.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE491\"],[\"LINE492\",\"2c_16\",484,493,0.00407260004431,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",491.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE492\"],[\"LINE493\",\"2c_16\",485,494,0.000302010012092,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",492.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE493\"],[\"LINE494\",\"2c_16\",486,495,0.000106170002255,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",493.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE494\"],[\"LINE495\",\"4c_1\",487,496,0.000383420003345,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",494.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE495\"],[\"LINE496\",\"4c_1\",488,497,0.000139719995786,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",495.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE496\"],[\"LINE497\",\"2c_16\",489,498,0.00023283000337,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",496.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE497\"],[\"LINE498\",\"4c_06\",490,499,0.004061200190336,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",497.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE498\"],[\"LINE499\",\"4c_06\",490,500,0.004061200190336,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",498.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE499\"],[\"LINE500\",\"2c_16\",492,501,0.000244289985858,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",499.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE500\"],[\"LINE501\",\"2c_16\",493,502,0.002606000052765,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",500.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE501\"],[\"LINE502\",\"2c_16\",494,503,0.000458330003312,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",501.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE502\"],[\"LINE503\",\"2c_16\",495,504,0.000071784001193,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",502.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE503\"],[\"LINE504\",\"4c_1\",496,505,0.008696099743247,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",503.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE504\"],[\"LINE505\",\"4c_1\",497,506,0.000096167001175,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",504.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE505\"],[\"LINE506\",\"2c_16\",498,507,0.000305639987346,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",505.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE506\"],[\"LINE507\",\"4c_06\",499,508,0.000699380005244,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",506.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE507\"],[\"LINE508\",\"4c_06\",499,509,0.000699380005244,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",507.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE508\"],[\"LINE509\",\"2c_16\",501,510,0.000143540004501,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",508.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE509\"],[\"LINE510\",\"2c_16\",503,511,0.000325169996358,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",509.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE510\"],[\"LINE511\",\"2c_16\",504,512,0.000100129997008,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",510.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE511\"],[\"LINE512\",\"2c_16\",505,513,0.005564799997956,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",511.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE512\"],[\"LINE513\",\"4c_1\",505,514,0.001336900051683,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",512.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE513\"],[\"LINE514\",\"4c_1\",506,515,0.000085491999926,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",513.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE514\"],[\"LINE515\",\"4c_06\",508,516,0.001885700039566,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",514.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE515\"],[\"LINE516\",\"4c_06\",508,517,0.001885700039566,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",515.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE516\"],[\"LINE517\",\"2c_16\",508,518,0.004731600172818,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",516.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE517\"],[\"LINE518\",\"2c_16\",510,519,0.000132100001792,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",517.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE518\"],[\"LINE519\",\"2c_16\",511,520,0.000222160000703,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",518.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE519\"],[\"LINE520\",\"2c_16\",512,521,0.000076420001278,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",519.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE520\"],[\"LINE521\",\"2c_16\",513,522,0.004907399881631,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",520.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE521\"],[\"LINE522\",\"4c_1\",514,523,0.00072121998528,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",521.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE522\"],[\"LINE523\",\"4c_1\",515,524,0.00006657299673,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",522.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE523\"],[\"LINE524\",\"4c_06\",516,525,0.001388099975884,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",523.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE524\"],[\"LINE525\",\"4c_06\",516,526,0.001388099975884,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",524.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE525\"],[\"LINE526\",\"2c_16\",518,527,0.002796000102535,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",525.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE526\"],[\"LINE527\",\"2c_16\",519,528,0.000117689996841,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",526.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE527\"],[\"LINE528\",\"2c_16\",520,529,0.000175549997948,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",527.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE528\"],[\"LINE529\",\"2c_16\",521,530,0.00054535001982,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",528.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE529\"],[\"LINE530\",\"4c_1\",523,531,0.000107710002339,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",529.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE530\"],[\"LINE531\",\"4c_1\",524,532,0.000060802998632,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",530.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE531\"],[\"LINE532\",\"4c_06\",525,533,0.001889899955131,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",531.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE532\"],[\"LINE533\",\"4c_06\",525,534,0.001889899955131,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",532.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE533\"],[\"LINE534\",\"2c_16\",527,535,0.002215400105342,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",533.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE534\"],[\"LINE535\",\"2c_16\",528,536,0.000122090001241,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",534.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE535\"],[\"LINE536\",\"2c_16\",529,537,0.000562859990168,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",535.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE536\"],[\"LINE537\",\"2c_16\",530,538,0.001922699972056,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",536.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE537\"],[\"LINE538\",\"2c_16\",530,539,0.005583699792624,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",537.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE538\"],[\"LINE539\",\"4c_1\",531,540,0.000082218997704,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",538.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE539\"],[\"LINE540\",\"4c_1\",532,541,0.000065512998844,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",539.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE540\"],[\"LINE541\",\"4c_06\",533,542,0.00133740005549,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",540.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE541\"],[\"LINE542\",\"4c_06\",533,543,0.00133740005549,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",541.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE542\"],[\"LINE543\",\"2c_16\",535,544,0.000915420008823,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",542.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE543\"],[\"LINE544\",\"2c_16\",536,545,0.000368570006685,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",543.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE544\"],[\"LINE545\",\"2c_16\",537,546,0.004552700091153,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",544.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE545\"],[\"LINE546\",\"2c_16\",538,547,0.002123099984601,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",545.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE546\"],[\"LINE547\",\"4c_1\",540,548,0.000076896001701,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",546.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE547\"],[\"LINE548\",\"4c_1\",541,549,0.00008614500257,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",547.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE548\"],[\"LINE549\",\"4c_06\",542,550,0.003740099957213,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",548.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE549\"],[\"LINE550\",\"4c_06\",542,551,0.003740099957213,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",549.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE550\"],[\"LINE551\",\"2c_16\",544,552,0.00028803999885,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",550.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE551\"],[\"LINE552\",\"2c_16\",544,553,0.003788999980316,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",551.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE552\"],[\"LINE553\",\"2c_16\",545,554,0.000371430011,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",552.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE553\"],[\"LINE554\",\"2c_16\",546,555,0.000226720003411,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",553.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE554\"],[\"LINE555\",\"2c_16\",547,556,0.005754800047725,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",554.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE555\"],[\"LINE556\",\"4c_1\",548,557,0.000081999998656,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",555.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE556\"],[\"LINE557\",\"4c_1\",549,558,0.000061612001446,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",556.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE557\"],[\"LINE558\",\"4c_06\",550,559,0.002708199899644,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",557.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE558\"],[\"LINE559\",\"4c_06\",550,560,0.002708199899644,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",558.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE559\"],[\"LINE560\",\"2c_16\",552,561,0.000105990002339,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",559.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE560\"],[\"LINE561\",\"2c_16\",553,562,0.002866399940103,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",560.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE561\"],[\"LINE562\",\"2c_16\",554,563,0.003470499999821,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",561.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE562\"],[\"LINE563\",\"2c_16\",555,564,0.000178889997187,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",562.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE563\"],[\"LINE564\",\"4c_1\",557,565,0.000072559996624,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",563.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE564\"],[\"LINE565\",\"4c_1\",558,566,0.000120210002933,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",564.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE565\"],[\"LINE566\",\"4c_06\",559,567,0.000600680010393,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",565.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE566\"],[\"LINE567\",\"4c_06\",559,568,0.000600680010393,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",566.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE567\"],[\"LINE568\",\"2c_16\",559,569,0.003848199965432,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",567.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE568\"],[\"LINE569\",\"2c_16\",561,570,0.000157880000188,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",568.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE569\"],[\"LINE570\",\"2c_16\",564,571,0.000202240000363,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",569.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE570\"],[\"LINE571\",\"4c_1\",565,572,0.000074215997302,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",570.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE571\"],[\"LINE572\",\"4c_06\",567,573,0.000142229997437,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",571.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE572\"],[\"LINE573\",\"4c_06\",567,574,0.000142229997437,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",572.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE573\"],[\"LINE574\",\"2c_16\",569,575,0.000486480013933,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",573.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE574\"],[\"LINE575\",\"2c_16\",570,576,0.000095000003057,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",574.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE575\"],[\"LINE576\",\"2c_16\",571,577,0.000180000002729,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",575.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE576\"],[\"LINE577\",\"4c_1\",572,578,0.000383050006349,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",576.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE577\"],[\"LINE578\",\"4c_06\",573,579,0.003855800023302,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",577.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE578\"],[\"LINE579\",\"4c_06\",573,580,0.003855800023302,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",578.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE579\"],[\"LINE580\",\"4c_06\",573,581,0.000319790007779,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",579.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE580\"],[\"LINE581\",\"2c_16\",575,582,0.000358989986125,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",580.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE581\"],[\"LINE582\",\"2c_16\",576,583,0.000114629998279,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",581.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE582\"],[\"LINE583\",\"2c_16\",577,584,0.000207179997233,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",582.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE583\"],[\"LINE584\",\"2c_16\",578,585,0.00473179994151,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",583.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE584\"],[\"LINE585\",\"4c_1\",578,586,0.000826229981612,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",584.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE585\"],[\"LINE586\",\"4c_06\",579,587,0.002702200086787,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",585.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE586\"],[\"LINE587\",\"4c_06\",579,588,0.002702200086787,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",586.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE587\"],[\"LINE588\",\"4c_06\",581,589,0.000116280003567,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",587.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE588\"],[\"LINE589\",\"2c_16\",582,590,0.000349300011294,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",588.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE589\"],[\"LINE590\",\"2c_16\",583,591,0.000100650002423,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",589.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE590\"],[\"LINE591\",\"2c_16\",584,592,0.000212429993553,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",590.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE591\"],[\"LINE592\",\"2c_16\",585,593,0.000272679986665,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",591.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE592\"],[\"LINE593\",\"4c_1\",586,594,0.003948300145566,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",592.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE593\"],[\"LINE594\",\"4c_06\",587,595,0.005414200015366,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",593.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE594\"],[\"LINE595\",\"4c_06\",587,596,0.000642379978672,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",594.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE595\"],[\"LINE596\",\"4c_06\",589,597,0.00008927500312,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",595.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE596\"],[\"LINE597\",\"2c_16\",590,598,0.003281200071797,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",596.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE597\"],[\"LINE598\",\"2c_16\",591,599,0.000658619974274,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",597.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE598\"],[\"LINE599\",\"2c_16\",592,600,0.00025534001179,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",598.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE599\"],[\"LINE600\",\"2c_16\",593,601,0.000136949995067,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",599.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE600\"],[\"LINE601\",\"2c_16\",594,602,0.009166900068522,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",600.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE601\"],[\"LINE602\",\"4c_1\",594,603,0.004642399959266,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",601.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE602\"],[\"LINE603\",\"4c_06\",595,604,0.004828299861401,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",602.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE603\"],[\"LINE604\",\"4c_06\",595,605,0.004828299861401,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",603.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE604\"],[\"LINE605\",\"4c_06\",595,606,0.004771899897605,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",604.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE605\"],[\"LINE606\",\"2c_16\",596,607,0.011664199642837,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",605.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE606\"],[\"LINE607\",\"2c_16\",596,608,0.011664199642837,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",606.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE607\"],[\"LINE608\",\"4c_06\",597,609,0.000110369997856,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",607.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE608\"],[\"LINE609\",\"2c_16\",598,610,0.001527099986561,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",608.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE609\"],[\"LINE610\",\"2c_16\",599,611,0.00485619995743,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",609.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE610\"],[\"LINE611\",\"2c_16\",600,612,0.000160080002388,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",610.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE611\"],[\"LINE612\",\"2c_16\",601,613,0.000114839996968,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",611.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE612\"],[\"LINE613\",\"2c_16\",602,614,0.004837399814278,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",612.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE613\"],[\"LINE614\",\"4c_1\",603,615,0.004446600098163,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",613.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE614\"],[\"LINE615\",\"2c_0225\",604,616,0.003930099774152,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",614.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE615\"],[\"LINE616\",\"4c_06\",604,617,0.003108799923211,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",615.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE616\"],[\"LINE617\",\"4c_06\",604,618,0.003108799923211,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",616.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE617\"],[\"LINE618\",\"2c_16\",607,619,0.002745399950072,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",617.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE618\"],[\"LINE619\",\"4c_06\",609,620,0.000063640000008,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",618.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE619\"],[\"LINE620\",\"2c_16\",610,621,0.00071673002094,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",619.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE620\"],[\"LINE621\",\"2c_16\",612,622,0.000687970023137,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",620.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE621\"],[\"LINE622\",\"2c_16\",613,623,0.000093647999165,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",621.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE622\"],[\"LINE623\",\"2c_16\",615,624,0.001632199971937,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",622.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE623\"],[\"LINE624\",\"4c_1\",615,625,0.001251099980436,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",623.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE624\"],[\"LINE625\",\"2c_0225\",616,626,0.005353699903935,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",624.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE625\"],[\"LINE626\",\"4c_06\",620,627,0.000077896998846,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",625.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE626\"],[\"LINE627\",\"2c_16\",621,628,0.000478069996461,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",626.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE627\"],[\"LINE628\",\"2c_16\",622,629,0.002900399966165,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",627.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE628\"],[\"LINE629\",\"2c_16\",623,630,0.000146999998833,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",628.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE629\"],[\"LINE630\",\"2c_16\",624,631,0.00040021998575,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",629.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE630\"],[\"LINE631\",\"4c_1\",625,632,0.000287839997327,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",630.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE631\"],[\"LINE632\",\"2c_0225\",626,633,0.001570299966261,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",631.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE632\"],[\"LINE633\",\"4c_06\",627,634,0.000065298998379,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",632.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE633\"],[\"LINE634\",\"2c_16\",628,635,0.00073088001227,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",633.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE634\"],[\"LINE635\",\"2c_16\",630,636,0.000350529997377,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",634.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE635\"],[\"LINE636\",\"2c_16\",631,637,0.000274819991319,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",635.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE636\"],[\"LINE637\",\"4c_1\",632,638,0.000142839999171,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",636.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE637\"],[\"LINE638\",\"2c_0225\",633,639,0.005197400227189,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",637.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE638\"],[\"LINE639\",\"4c_06\",634,640,0.000069123001595,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",638.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE639\"],[\"LINE640\",\"2c_16\",635,641,0.001427400042303,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",639.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE640\"],[\"LINE641\",\"2c_16\",636,642,0.000242509995587,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",640.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE641\"],[\"LINE642\",\"2c_16\",637,643,0.000380960002076,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",641.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE642\"],[\"LINE643\",\"4c_1\",638,644,0.000156969996169,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",642.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE643\"],[\"LINE644\",\"4c_06\",640,645,0.000068592999014,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",643.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE644\"],[\"LINE645\",\"2c_16\",641,646,0.000394570000935,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",644.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE645\"],[\"LINE646\",\"2c_16\",642,647,0.000308349990519,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",645.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE646\"],[\"LINE647\",\"2c_16\",643,648,0.000903369975276,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",646.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE647\"],[\"LINE648\",\"4c_1\",644,649,0.000181120005436,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",647.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE648\"],[\"LINE649\",\"4c_06\",645,650,0.000093984002888,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",648.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE649\"],[\"LINE650\",\"2c_16\",646,651,0.000114549999125,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",649.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE650\"],[\"LINE651\",\"2c_16\",647,652,0.000187319994438,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",650.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE651\"],[\"LINE652\",\"2c_16\",648,653,0.000686710001901,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",651.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE652\"],[\"LINE653\",\"4c_1\",649,654,0.00018309999723,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",652.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE653\"],[\"LINE654\",\"4c_06\",650,655,0.000123940000776,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",653.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE654\"],[\"LINE655\",\"2c_16\",651,656,0.000099368000519,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",654.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE655\"],[\"LINE656\",\"2c_16\",651,657,0.000527810014319,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",655.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE656\"],[\"LINE657\",\"2c_16\",652,658,0.000169110004208,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",656.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE657\"],[\"LINE658\",\"2c_16\",653,659,0.000482059986098,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",657.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE658\"],[\"LINE659\",\"4c_1\",654,660,0.000202990006073,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",658.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE659\"],[\"LINE660\",\"4c_06\",655,661,0.000364659994375,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",659.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE660\"],[\"LINE661\",\"2c_16\",656,662,0.00009300000238,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",660.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE661\"],[\"LINE662\",\"2c_16\",657,663,0.000696479983162,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",661.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE662\"],[\"LINE663\",\"2c_16\",658,664,0.000285210000584,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",662.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE663\"],[\"LINE664\",\"2c_16\",659,665,0.000505000003614,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",663.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE664\"],[\"LINE665\",\"4c_1\",660,666,0.000295189995086,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",664.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE665\"],[\"LINE666\",\"4c_06\",661,667,0.000260189990513,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",665.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE666\"],[\"LINE667\",\"2c_16\",662,668,0.000095802002761,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",666.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE667\"],[\"LINE668\",\"2c_16\",663,669,0.002893500030041,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",667.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE668\"],[\"LINE669\",\"2c_16\",664,670,0.000280400010524,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",668.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE669\"],[\"LINE670\",\"2c_16\",665,671,0.000414609996369,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",669.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE670\"],[\"LINE671\",\"2c_16\",666,672,0.000480099988636,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",670.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE671\"],[\"LINE672\",\"4c_1\",666,673,0.000811610021628,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",671.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE672\"],[\"LINE673\",\"4c_06\",667,674,0.000201839997317,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",672.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE673\"],[\"LINE674\",\"2c_16\",668,675,0.000692670000717,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",673.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE674\"],[\"LINE675\",\"2c_16\",669,676,0.001228800043464,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",674.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE675\"],[\"LINE676\",\"2c_16\",670,677,0.000132670000312,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",675.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE676\"],[\"LINE677\",\"2c_16\",671,678,0.000686480023433,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",676.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE677\"],[\"LINE678\",\"2c_16\",672,679,0.000288300012471,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",677.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE678\"],[\"LINE679\",\"4c_1\",673,680,0.005139300134033,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",678.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE679\"],[\"LINE680\",\"4c_06\",674,681,0.000402520003263,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",679.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE680\"],[\"LINE681\",\"2c_16\",675,682,0.005044099874794,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",680.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE681\"],[\"LINE682\",\"2c_16\",677,683,0.000145719997818,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",681.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE682\"],[\"LINE683\",\"2c_16\",678,684,0.002218500012532,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",682.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE683\"],[\"LINE684\",\"2c_16\",679,685,0.00026743998751,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",683.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE684\"],[\"LINE685\",\"4c_1\",680,686,0.003678699955344,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",684.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE685\"],[\"LINE686\",\"2c_16\",683,687,0.000139859999763,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",685.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE686\"],[\"LINE687\",\"2c_16\",684,688,0.005183800123632,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",686.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE687\"],[\"LINE688\",\"2c_16\",685,689,0.000260950007942,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",687.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE688\"],[\"LINE689\",\"2c_16\",686,690,0.008144499734044,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",688.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE689\"],[\"LINE690\",\"4c_1\",686,691,0.010525399819016,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",689.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE690\"],[\"LINE691\",\"2c_16\",687,692,0.000168669997947,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",690.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE691\"],[\"LINE692\",\"2c_16\",689,693,0.000195729997358,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",691.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE692\"],[\"LINE693\",\"2c_16\",690,694,0.000761570001487,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",692.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE693\"],[\"LINE694\",\"2c_16\",690,695,0.002126100007445,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",693.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE694\"],[\"LINE695\",\"2c_16\",691,696,0.009481700137258,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",694.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE695\"],[\"LINE696\",\"4c_1\",691,697,0.00219070003368,0.273999989032745,0.072999998927116,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",695.0,\"LV_Grid\",0,0,0.958999991416931,0.079000003635883,\"LINE696\"],[\"LINE697\",\"2c_16\",692,698,0.000269050011411,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",696.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE697\"],[\"LINE698\",\"2c_16\",693,699,0.000310929986881,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",697.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE698\"],[\"LINE699\",\"2c_16\",694,700,0.000238299995544,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",698.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE699\"],[\"LINE700\",\"2c_16\",695,701,0.004331199917942,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",699.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE700\"],[\"LINE701\",\"2c_16\",696,702,0.005493000149727,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",700.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE701\"],[\"LINE702\",\"4c_06\",697,703,0.002400000113994,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",701.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE702\"],[\"LINE703\",\"2c_16\",698,704,0.000736359972507,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",702.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE703\"],[\"LINE704\",\"2c_16\",699,705,0.00052424002206,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",703.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE704\"],[\"LINE705\",\"2c_16\",700,706,0.000153219996719,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",704.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE705\"],[\"LINE706\",\"4c_06\",703,707,0.006330799777061,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",705.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE706\"],[\"LINE707\",\"4c_06\",703,708,0.000111319997814,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",706.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE707\"],[\"LINE708\",\"2c_16\",704,709,0.000979959964752,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",707.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE708\"],[\"LINE709\",\"2c_16\",705,710,0.003928100224584,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",708.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE709\"],[\"LINE710\",\"2c_16\",706,711,0.00009241799853,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",709.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE710\"],[\"LINE711\",\"4c_06\",707,712,0.007502499967813,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",710.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE711\"],[\"LINE712\",\"2c_16\",707,713,0.00394479976967,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",711.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE712\"],[\"LINE713\",\"4c_06\",708,714,0.000104740000097,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",712.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE713\"],[\"LINE714\",\"2c_16\",709,715,0.000093337999715,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",713.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE714\"],[\"LINE715\",\"2c_16\",710,716,0.003222499974072,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",714.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE715\"],[\"LINE716\",\"2c_16\",711,717,0.000093408001703,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",715.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE716\"],[\"LINE717\",\"4c_06\",712,718,0.007743400055915,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",716.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE717\"],[\"LINE718\",\"2c_16\",713,719,0.000422300014179,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",717.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE718\"],[\"LINE719\",\"4c_06\",714,720,0.000096999996458,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",718.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE719\"],[\"LINE720\",\"2c_16\",715,721,0.000073816998338,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",719.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE720\"],[\"LINE721\",\"2c_16\",716,722,0.001020999974571,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",720.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE721\"],[\"LINE722\",\"2c_16\",717,723,0.000083432998508,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",721.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE722\"],[\"LINE723\",\"4c_06\",718,724,0.003253499977291,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",722.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE723\"],[\"LINE724\",\"2c_16\",718,725,0.009347500279546,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",723.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE724\"],[\"LINE725\",\"2c_16\",719,726,0.000161239993758,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",724.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE725\"],[\"LINE726\",\"4c_06\",720,727,0.000109770000563,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",725.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE726\"],[\"LINE727\",\"2c_16\",721,728,0.000071693997597,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",726.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE727\"],[\"LINE728\",\"2c_16\",722,729,0.000929490022827,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",727.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE728\"],[\"LINE729\",\"2c_16\",723,730,0.000094000002719,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",728.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE729\"],[\"LINE730\",\"4c_06\",724,731,0.004420999903232,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",729.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE730\"],[\"LINE731\",\"2c_16\",725,732,0.001253900001757,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",730.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE731\"],[\"LINE732\",\"2c_16\",726,733,0.000170560000697,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",731.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE732\"],[\"LINE733\",\"4c_06\",727,734,0.000089888999355,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",732.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE733\"],[\"LINE734\",\"2c_16\",728,735,0.000076791999163,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",733.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE734\"],[\"LINE735\",\"2c_16\",729,736,0.000506250013132,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",734.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE735\"],[\"LINE736\",\"2c_16\",730,737,0.000075313000707,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",735.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE736\"],[\"LINE737\",\"4c_06\",731,738,0.005176099948585,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",736.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE737\"],[\"LINE738\",\"2c_16\",732,739,0.000658769975416,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",737.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE738\"],[\"LINE739\",\"2c_16\",733,740,0.00014155000099,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",738.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE739\"],[\"LINE740\",\"4c_06\",734,741,0.000137609997182,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",739.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE740\"],[\"LINE741\",\"2c_16\",735,742,0.000071000002208,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",740.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE741\"],[\"LINE742\",\"2c_16\",736,743,0.000404319987865,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",741.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE742\"],[\"LINE743\",\"2c_16\",737,744,0.000090337998699,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",742.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE743\"],[\"LINE744\",\"4c_06\",738,745,0.00415620021522,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",743.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE744\"],[\"LINE745\",\"2c_16\",739,746,0.003738699946553,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",744.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE745\"],[\"LINE746\",\"2c_16\",739,747,0.000122019999253,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",745.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE746\"],[\"LINE747\",\"2c_16\",740,748,0.00016763000167,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",746.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE747\"],[\"LINE748\",\"4c_06\",741,749,0.000164269993547,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",747.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE748\"],[\"LINE749\",\"2c_16\",742,750,0.000066909997258,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",748.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE749\"],[\"LINE750\",\"2c_16\",743,751,0.000344770000083,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",749.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE750\"],[\"LINE751\",\"2c_16\",744,752,0.000097349999123,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",750.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE751\"],[\"LINE752\",\"4c_06\",745,753,0.001543399994262,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",751.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE752\"],[\"LINE753\",\"2c_16\",745,754,0.0059226998128,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",752.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE753\"],[\"LINE754\",\"2c_16\",746,755,0.003039099974558,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",753.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE754\"],[\"LINE755\",\"2c_16\",747,756,0.000088237997261,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",754.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE755\"],[\"LINE756\",\"2c_16\",748,757,0.000163479999173,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",755.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE756\"],[\"LINE757\",\"4c_06\",749,758,0.000124540005345,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",756.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE757\"],[\"LINE758\",\"2c_16\",750,759,0.00009305900312,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",757.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE758\"],[\"LINE759\",\"2c_16\",751,760,0.000404590013204,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",758.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE759\"],[\"LINE760\",\"2c_16\",752,761,0.000177609996172,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",759.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE760\"],[\"LINE761\",\"4c_06\",753,762,0.002127900021151,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",760.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE761\"],[\"LINE762\",\"2c_16\",754,763,0.004950600210577,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",761.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE762\"],[\"LINE763\",\"2c_16\",756,764,0.000074465002399,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",762.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE763\"],[\"LINE764\",\"2c_16\",757,765,0.000224749994231,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",763.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE764\"],[\"LINE765\",\"4c_06\",758,766,0.000121669996588,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",764.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE765\"],[\"LINE766\",\"2c_16\",759,767,0.000114039998152,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",765.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE766\"],[\"LINE767\",\"2c_16\",760,768,0.000369690009393,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",766.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE767\"],[\"LINE768\",\"2c_16\",761,769,0.001328799990006,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",767.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE768\"],[\"LINE769\",\"4c_06\",762,770,0.005234700161964,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",768.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE769\"],[\"LINE770\",\"2c_16\",763,771,0.003600700059906,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",769.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE770\"],[\"LINE771\",\"2c_16\",763,772,0.000130379994516,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",770.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE771\"],[\"LINE772\",\"2c_16\",764,773,0.000125780003145,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",771.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE772\"],[\"LINE773\",\"2c_16\",765,774,0.00030918000266,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",772.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE773\"],[\"LINE774\",\"4c_06\",766,775,0.000079309997091,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",773.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE774\"],[\"LINE775\",\"2c_16\",767,776,0.000540520006325,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",774.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE775\"],[\"LINE776\",\"2c_16\",768,777,0.000573529978283,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",775.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE776\"],[\"LINE777\",\"2c_16\",769,778,0.004072099924088,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",776.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE777\"],[\"LINE778\",\"4c_06\",770,779,0.004242800176144,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",777.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE778\"],[\"LINE779\",\"2c_16\",771,780,0.003528299974278,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",778.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE779\"],[\"LINE780\",\"2c_16\",772,781,0.000124660000438,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",779.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE780\"],[\"LINE781\",\"2c_16\",773,782,0.000176140005351,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",780.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE781\"],[\"LINE782\",\"2c_16\",774,783,0.000327199988533,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",781.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE782\"],[\"LINE783\",\"4c_06\",775,784,0.000096999996458,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",782.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE783\"],[\"LINE784\",\"2c_16\",776,785,0.004621599800885,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",783.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE784\"],[\"LINE785\",\"2c_16\",777,786,0.001157899969257,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",784.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE785\"],[\"LINE786\",\"4c_06\",779,787,0.003315200097859,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",785.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE786\"],[\"LINE787\",\"2c_16\",781,788,0.000134389993036,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",786.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE787\"],[\"LINE788\",\"2c_16\",782,789,0.000130700005684,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",787.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE788\"],[\"LINE789\",\"2c_16\",783,790,0.000217349996092,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",788.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE789\"],[\"LINE790\",\"4c_06\",784,791,0.000091984002211,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",789.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE790\"],[\"LINE791\",\"2c_16\",786,792,0.000345879991073,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",790.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE791\"],[\"LINE792\",\"2c_16\",786,793,0.002062000101432,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",791.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE792\"],[\"LINE793\",\"4c_06\",787,794,0.002996300114319,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",792.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE793\"],[\"LINE794\",\"2c_16\",788,795,0.000119999996969,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",793.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE794\"],[\"LINE795\",\"2c_16\",789,796,0.000216510001337,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",794.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE795\"],[\"LINE796\",\"2c_16\",790,797,0.00022120999347,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",795.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE796\"],[\"LINE797\",\"4c_06\",791,798,0.000091706002422,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",796.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE797\"],[\"LINE798\",\"2c_16\",792,799,0.000301639985992,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",797.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE798\"],[\"LINE799\",\"2c_16\",793,800,0.003299500094727,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",798.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE799\"],[\"LINE800\",\"2c_16\",794,801,0.000205549993552,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",799.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE800\"],[\"LINE801\",\"4c_95_SAC_XC\",794,802,0.002803100040182,0.321999996900558,0.074000000953674,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",800.0,\"LV_Grid\",0,0,0.804000020027161,0.093000002205372,\"LINE801\"],[\"LINE802\",\"2c_16\",795,803,0.00013251999917,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",801.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE802\"],[\"LINE803\",\"2c_16\",796,804,0.001502800034359,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",802.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE803\"],[\"LINE804\",\"2c_16\",797,805,0.000105769999209,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",803.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE804\"],[\"LINE805\",\"4c_06\",798,806,0.000123110003187,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",804.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE805\"],[\"LINE806\",\"2c_16\",799,807,0.000249470002018,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",805.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE806\"],[\"LINE807\",\"2c_16\",800,808,0.002819099929184,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",806.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE807\"],[\"LINE808\",\"2c_16\",801,809,0.000206090000574,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",807.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE808\"],[\"LINE809\",\"4c_06\",802,810,0.003074900014326,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",808.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE809\"],[\"LINE810\",\"4c_06\",802,811,0.003074900014326,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",809.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE810\"],[\"LINE811\",\"2c_16\",803,812,0.000085439998657,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",810.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE811\"],[\"LINE812\",\"2c_16\",804,813,0.003319500014186,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",811.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE812\"],[\"LINE813\",\"2c_16\",805,814,0.000168240003404,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",812.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE813\"],[\"LINE814\",\"4c_06\",806,815,0.000420859985752,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",813.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE814\"],[\"LINE815\",\"2c_16\",807,816,0.000193999992916,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",814.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE815\"],[\"LINE816\",\"2c_16\",808,817,0.001595500041731,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",815.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE816\"],[\"LINE817\",\"2c_16\",809,818,0.00020649000362,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",816.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE817\"],[\"LINE818\",\"4c_06\",810,819,0.002578200073913,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",817.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE818\"],[\"LINE819\",\"4c_06\",810,820,0.002578200073913,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",818.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE819\"],[\"LINE820\",\"2c_16\",812,821,0.000131230000989,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",819.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE820\"],[\"LINE821\",\"2c_16\",814,822,0.000157939997735,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",820.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE821\"],[\"LINE822\",\"4c_06\",815,823,0.000486509990878,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",821.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE822\"],[\"LINE823\",\"2c_16\",816,824,0.000197310000658,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",822.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE823\"],[\"LINE824\",\"2c_16\",818,825,0.000205239994102,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",823.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE824\"],[\"LINE825\",\"4c_06\",819,826,0.002771500032395,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",824.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE825\"],[\"LINE826\",\"4c_06\",819,827,0.002771500032395,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",825.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE826\"],[\"LINE827\",\"2c_16\",821,828,0.001079399953596,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",826.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE827\"],[\"LINE828\",\"2c_16\",822,829,0.000225669995416,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",827.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE828\"],[\"LINE829\",\"4c_06\",823,830,0.000496589986142,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",828.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE829\"],[\"LINE830\",\"2c_16\",824,831,0.000171229999978,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",829.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE830\"],[\"LINE831\",\"2c_16\",825,832,0.000206020005862,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",830.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE831\"],[\"LINE832\",\"4c_06\",826,833,0.002275499980897,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",831.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE832\"],[\"LINE833\",\"4c_06\",826,834,0.002275499980897,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",832.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE833\"],[\"LINE834\",\"2c_16\",828,835,0.003720100037754,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",833.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE834\"],[\"LINE835\",\"2c_16\",829,836,0.00238210009411,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",834.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE835\"],[\"LINE836\",\"2c_16\",831,837,0.000122979996377,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",835.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE836\"],[\"LINE837\",\"2c_16\",832,838,0.000205880001886,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",836.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE837\"],[\"LINE838\",\"4c_06\",833,839,0.002442999975756,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",837.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE838\"],[\"LINE839\",\"4c_06\",833,840,0.002442999975756,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",838.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE839\"],[\"LINE840\",\"2c_16\",836,841,0.000952780013904,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",839.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE840\"],[\"LINE841\",\"2c_16\",837,842,0.000142780001624,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",840.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE841\"],[\"LINE842\",\"2c_16\",838,843,0.000206009994145,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",841.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE842\"],[\"LINE843\",\"2c_0225\",839,844,0.00480919983238,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",842.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE843\"],[\"LINE844\",\"4c_06\",839,845,0.003621200099587,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",843.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE844\"],[\"LINE845\",\"4c_06\",839,846,0.003621200099587,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",844.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE845\"],[\"LINE846\",\"2c_16\",841,847,0.000483820011141,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",845.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE846\"],[\"LINE847\",\"2c_16\",842,848,0.000215099993511,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",846.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE847\"],[\"LINE848\",\"2c_16\",843,849,0.000100559998828,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",847.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE848\"],[\"LINE849\",\"2c_0225\",844,850,0.000703600002453,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",848.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE849\"],[\"LINE850\",\"4c_06\",845,851,0.004364000167698,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",849.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE850\"],[\"LINE851\",\"4c_06\",845,852,0.004364000167698,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",850.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE851\"],[\"LINE852\",\"2c_16\",847,853,0.00010705999739,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",851.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE852\"],[\"LINE853\",\"2c_16\",848,854,0.00035143000423,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",852.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE853\"],[\"LINE854\",\"2c_16\",849,855,0.002260100096464,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",853.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE854\"],[\"LINE855\",\"2c_0225\",850,856,0.001982199959457,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",854.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE855\"],[\"LINE856\",\"4c_06\",851,857,0.006862100213766,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",855.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE856\"],[\"LINE857\",\"4c_06\",851,858,0.006862100213766,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",856.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE857\"],[\"LINE858\",\"2c_16\",853,859,0.000084314997366,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",857.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE858\"],[\"LINE859\",\"2c_16\",854,860,0.002820000052452,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",858.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE859\"],[\"LINE860\",\"2c_16\",854,861,0.007509099785239,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",859.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE860\"],[\"LINE861\",\"2c_16\",855,862,0.00146970001515,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",860.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE861\"],[\"LINE862\",\"2c_0225\",856,863,0.002327600028366,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",861.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE862\"],[\"LINE863\",\"4c_06\",857,864,0.002788800047711,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",862.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE863\"],[\"LINE864\",\"4c_06\",857,865,0.002788800047711,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",863.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE864\"],[\"LINE865\",\"2c_16\",859,866,0.000090337998699,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",864.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE865\"],[\"LINE866\",\"2c_16\",862,867,0.001285400008783,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",865.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE866\"],[\"LINE867\",\"2c_0225\",863,868,0.000301939988276,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",866.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE867\"],[\"LINE868\",\"4c_06\",864,869,0.001737299957313,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",867.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE868\"],[\"LINE869\",\"4c_06\",864,870,0.001737299957313,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",868.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE869\"],[\"LINE870\",\"2c_16\",866,871,0.000072276998253,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",869.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE870\"],[\"LINE871\",\"2c_16\",867,872,0.001348300022073,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",870.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE871\"],[\"LINE872\",\"2c_0225\",868,873,0.000379520002753,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",871.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE872\"],[\"LINE873\",\"2c_0225\",868,874,0.000844390015118,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",872.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE873\"],[\"LINE874\",\"4c_06\",869,875,0.001200000056997,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",873.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE874\"],[\"LINE875\",\"4c_06\",869,876,0.001200000056997,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",874.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE875\"],[\"LINE876\",\"2c_16\",871,877,0.000070178000897,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",875.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE876\"],[\"LINE877\",\"2c_16\",872,878,0.002302200067788,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",876.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE877\"],[\"LINE878\",\"2c_0225\",873,879,0.000351180002326,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",877.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE878\"],[\"LINE879\",\"2c_0225\",874,880,0.001976100029424,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",878.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE879\"],[\"LINE880\",\"4c_06\",875,881,0.001011200016364,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",879.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE880\"],[\"LINE881\",\"4c_06\",875,882,0.001011200016364,0.46900001168251,0.075000002980232,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",880.0,\"LV_Grid\",0,0,1.580999970436096,0.090999998152256,\"LINE881\"],[\"LINE882\",\"2c_16\",877,883,0.00007000000187,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",881.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE882\"],[\"LINE883\",\"2c_16\",878,884,0.00056468002731,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",882.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE883\"],[\"LINE884\",\"2c_0225\",879,885,0.000533999991603,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",883.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE884\"],[\"LINE885\",\"2c_0225\",880,886,0.00468790018931,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",884.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE885\"],[\"LINE886\",\"2c_16\",883,887,0.000069180998253,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",885.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE886\"],[\"LINE887\",\"2c_16\",884,888,0.000622930005193,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",886.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE887\"],[\"LINE888\",\"35_SAC_XSC\",884,889,0.003157400060445,0.867999970912933,0.092000000178814,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",887.0,\"LV_Grid\",0,0,0.759999990463257,0.092000000178814,\"LINE888\"],[\"LINE889\",\"2c_0225\",885,890,0.000674829992931,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",888.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE889\"],[\"LINE890\",\"2c_16\",887,891,0.001237099990249,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",889.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE890\"],[\"LINE891\",\"2c_16\",888,892,0.001022799988277,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",890.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE891\"],[\"LINE892\",\"35_SAC_XSC\",889,893,0.00267790001817,0.867999970912933,0.092000000178814,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",891.0,\"LV_Grid\",0,0,0.759999990463257,0.092000000178814,\"LINE892\"],[\"LINE893\",\"2c_0225\",890,894,0.002627100097016,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",892.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE893\"],[\"LINE894\",\"2c_16\",891,895,0.005824900232255,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",893.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE894\"],[\"LINE895\",\"2c_16\",891,896,0.003258700016886,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",894.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE895\"],[\"LINE896\",\"2c_16\",892,897,0.000202230003197,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",895.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE896\"],[\"LINE897\",\"35_SAC_XSC\",893,898,0.00450100004673,0.867999970912933,0.092000000178814,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",896.0,\"LV_Grid\",0,0,0.759999990463257,0.092000000178814,\"LINE897\"],[\"LINE898\",\"2c_0225\",894,899,0.004772299900651,1.256999969482422,0.08500000089407,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",897.0,\"LV_Grid\",0,0,1.256999969482422,0.08500000089407,\"LINE898\"],[\"LINE899\",\"2c_16\",895,900,0.003868399886414,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",898.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE899\"],[\"LINE900\",\"2c_16\",897,901,0.000170879997313,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",899.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE900\"],[\"LINE901\",\"2c_16\",901,902,0.000144000005093,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",900.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE901\"],[\"LINE902\",\"2c_16\",902,903,0.000187319994438,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",901.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE902\"],[\"LINE903\",\"2c_16\",903,904,0.000339020014508,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",902.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE903\"],[\"LINE904\",\"2c_16\",904,905,0.000587799993809,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",903.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE904\"],[\"LINE905\",\"2c_16\",905,906,0.004814700223505,1.149999976158142,0.087999999523163,0.0,0.0,0.421000003814697,1.0,1,\"cs\",true,0.004029999952763,80.0,\"\",904.0,\"LV_Grid\",0,0,1.200000047683716,0.087999999523163,\"LINE905\"]]}", + "orient": "split", "dtype": { "name": "object", "std_type": "object", @@ -223,13 +247,13 @@ "r0_ohm_per_km": "object", "x0_ohm_per_km": "object", "pf_name": "object" - }, - "orient": "split" + } }, "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_phase_shifter\",\"parallel\",\"df\",\"in_service\",\"tap_set_vm_pu\",\"description\",\"equipment\",\"vector_group\",\"vk0_percent\",\"vkr0_percent\",\"mag0_percent\",\"mag0_rx\",\"si0_hv_partial\"],\"index\":[0],\"data\":[[\"Trafo\",\"08 MVA 10\\/04 kV Dyn1 ASEA\",0,1,0.800000011920929,11.0,0.416000008583069,4.019950389862061,0.400000005960464,0.0,0.0,30.0,\"hv\",0,-2,2,2.5,0.0,0,false,1,1.0,true,1.0,\"\",\"\",\"Dyn\",4.019950389862061,0.400000005960464,1,0,0.899999976158142]]}", + "orient": "split", "dtype": { "name": "object", "std_type": "object", @@ -263,13 +287,13 @@ "mag0_percent": "int64", "mag0_rx": "int64", "si0_hv_partial": "object" - }, - "orient": "split" + } }, "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\",\"in_service\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "name": "object", "std_type": "object", @@ -301,13 +325,13 @@ "tap_pos": "int32", "tap_at_star_point": "bool", "in_service": "bool" - }, - "orient": "split" + } }, "impedance": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"name\",\"from_bus\",\"to_bus\",\"rft_pu\",\"xft_pu\",\"rtf_pu\",\"xtf_pu\",\"sn_mva\",\"in_service\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "name": "object", "from_bus": "uint32", @@ -318,13 +342,13 @@ "xtf_pu": "float64", "sn_mva": "float64", "in_service": "bool" - }, - "orient": "split" + } }, "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", @@ -340,13 +364,13 @@ "max_q_from_mvar": "float64", "max_q_to_mvar": "float64", "in_service": "bool" - }, - "orient": "split" + } }, "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", @@ -355,13 +379,13 @@ "qz_mvar": "float64", "pz_mw": "float64", "in_service": "bool" - }, - "orient": "split" + } }, "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\",\"in_service\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"ps_mw\",\"qs_mvar\",\"qz_mvar\",\"pz_mw\",\"r_ohm\",\"x_ohm\",\"vm_pu\",\"in_service\",\"slack_weight\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "name": "object", "bus": "uint32", @@ -372,14 +396,15 @@ "r_ohm": "float64", "x_ohm": "float64", "vm_pu": "float64", - "in_service": "bool" - }, - "orient": "split" + "in_service": "bool", + "slack_weight": "float64" + } }, "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", @@ -388,25 +413,25 @@ "value": "float64", "std_dev": "float64", "side": "object" - }, - "orient": "split" + } }, "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" - }, - "orient": "split" + } }, "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", @@ -416,43 +441,43 @@ "cq0_eur": "float64", "cq1_eur_per_mvar": "float64", "cq2_eur_per_mvar2": "float64" - }, - "orient": "split" + } }, "controller": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"controller\",\"in_service\",\"order\",\"level\",\"recycle\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"initial_run\",\"recycle\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { - "controller": "object", + "object": "object", "in_service": "bool", "order": "float64", "level": "object", - "recycle": "bool" - }, - "orient": "split" + "initial_run": "bool", + "recycle": "object" + } }, "line_geodata": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"coords\"],\"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,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904],\"data\":[[[[390872.662999999942258,392887.378999999957159],[390871.596000000019558,392887.637999999977183]]],[[[390871.596000000019558,392887.637999999977183],[390871.481000000028871,392887.642999999981839]]],[[[390871.481000000028871,392887.642999999981839],[390871.378999999957159,392887.607999999949243]]],[[[390871.378999999957159,392887.607999999949243],[390871.304999999993015,392887.549999999988358]]],[[[390871.304999999993015,392887.549999999988358],[390871.23399999999674,392887.419999999983702]]],[[[390871.23399999999674,392887.419999999983702],[390868.778999999980442,392877.6370000000461]]],[[[390868.778999999980442,392877.6370000000461],[390868.752999999967869,392877.185999999986961]]],[[[390868.752999999967869,392877.185999999986961],[390868.752999999967869,392876.809999999997672]]],[[[390868.752999999967869,392876.809999999997672],[390868.804000000003725,392876.48399999999674]]],[[[390868.804000000003725,392876.48399999999674],[390868.903999999980442,392876.258999999961816]]],[[[390868.903999999980442,392876.258999999961816],[390869.078999999968801,392876.107999999949243]]],[[[390869.078999999968801,392876.107999999949243],[390869.179999999993015,392876.007999999972526]]],[[[390869.179999999993015,392876.007999999972526],[390869.5,392875.857000000018161]]],[[[390869.5,392875.857000000018161],[390872.292000000015832,392875.207999999984168]]],[[[390872.292000000015832,392875.207999999984168],[390872.314000000013038,392875.302000000025146]]],[[[390872.292000000015832,392875.207999999984168],[390875.677999999956228,392874.422000000020489]]],[[[390872.314000000013038,392875.302000000025146],[390872.315999999991618,392875.346000000019558]]],[[[390875.677999999956228,392874.422000000020489],[390875.907000000006519,392874.352999999944586]]],[[[390872.315999999991618,392875.346000000019558],[390872.312000000034459,392875.392000000050757]]],[[[390875.907000000006519,392874.352999999944586],[390876.142000000050757,392874.222999999998137]]],[[[390872.312000000034459,392875.392000000050757],[390872.302999999956228,392875.432999999960884]]],[[[390876.142000000050757,392874.222999999998137],[390876.440000000002328,392873.902999999991152]]],[[[390872.302999999956228,392875.432999999960884],[390872.287999999942258,392875.482000000018161]]],[[[390876.440000000002328,392873.902999999991152],[390877.002999999967869,392873.341000000014901]]],[[[390872.287999999942258,392875.482000000018161],[390872.262999999977183,392875.532000000006519]]],[[[390877.002999999967869,392873.341000000014901],[390880.364000000001397,392878.195999999996275]]],[[[390877.002999999967869,392873.341000000014901],[390884.190000000002328,392866.432999999960884]]],[[[390872.262999999977183,392875.532000000006519],[390872.239000000001397,392875.581000000005588]]],[[[390880.364000000001397,392878.195999999996275],[390881.306000000040513,392879.522000000055414]]],[[[390880.364000000001397,392878.195999999996275],[390879.232000000018161,392879.304999999993015]]],[[[390884.190000000002328,392866.432999999960884],[390886.111000000033528,392864.602000000013504]]],[[[390872.239000000001397,392875.581000000005588],[390872.169999999983702,392875.710000000020955]]],[[[390881.306000000040513,392879.522000000055414],[390885.0,392880.0]]],[[[390879.232000000018161,392879.304999999993015],[390879.207999999984168,392879.352999999944586]]],[[[390886.111000000033528,392864.602000000013504],[390890.169500000018161,392868.642000000050757]]],[[[390886.111000000033528,392864.602000000013504],[390891.918999999994412,392859.065000000002328]]],[[[390872.169999999983702,392875.710000000020955],[390872.092000000004191,392875.822000000043772]]],[[[390879.207999999984168,392879.352999999944586],[390879.182999999960884,392879.426000000035856]]],[[[390890.169500000018161,392868.642000000050757],[390890.443999999959487,392868.351000000024214]]],[[[390890.169500000018161,392868.642000000050757],[390891.409999999974389,392869.955000000016298]]],[[[390891.918999999994412,392859.065000000002328],[390895.962999999988824,392855.237000000022817]]],[[[390891.918999999994412,392859.065000000002328],[390891.775000000023283,392858.902999999991152]]],[[[390872.092000000004191,392875.822000000043772],[390872.072999999974854,392875.849999999976717]]],[[[390879.182999999960884,392879.426000000035856],[390879.158999999985099,392879.522000000055414]]],[[[390890.443999999959487,392868.351000000024214],[390890.570999999996275,392868.222999999998137]]],[[[390891.409999999974389,392869.955000000016298],[390893.0,392874.0]]],[[[390895.962999999988824,392855.237000000022817],[390899.026000000012573,392852.352000000013504]]],[[[390891.775000000023283,392858.902999999991152],[390891.742000000027474,392858.804000000003725]]],[[[390872.072999999974854,392875.849999999976717],[390872.037999999942258,392875.882999999972526]]],[[[390879.158999999985099,392879.522000000055414],[390879.158999999985099,392879.762999999977183]]],[[[390890.570999999996275,392868.222999999998137],[390890.753999999957159,392868.167999999946915]]],[[[390899.026000000012573,392852.352000000013504],[390899.474999999976717,392851.943999999959488]]],[[[390899.026000000012573,392852.352000000013504],[390899.491000000038184,392852.791000000026543]]],[[[390891.742000000027474,392858.804000000003725],[390891.758999999961816,392858.689000000013038]]],[[[390872.037999999942258,392875.882999999972526],[390871.963999999978114,392875.929999999993015]]],[[[390879.158999999985099,392879.762999999977183],[390879.232000000018161,392879.956000000005588]]],[[[390890.753999999957159,392868.167999999946915],[390890.935999999986962,392868.167999999946915]]],[[[390899.474999999976717,392851.943999999959488],[390901.468999999982771,392850.052999999956228]]],[[[390899.491000000038184,392852.791000000026543],[390899.547999999951571,392852.822999999974854]]],[[[390891.758999999961816,392858.689000000013038],[390891.775000000023283,392858.590000000025611]]],[[[390871.963999999978114,392875.929999999993015],[390871.892000000050757,392875.960000000020955]]],[[[390879.232000000018161,392879.956000000005588],[390879.907000000006519,392880.679000000003725]]],[[[390890.935999999986962,392868.167999999946915],[390891.044999999983702,392868.167999999946915]]],[[[390901.468999999982771,392850.052999999956228],[390901.869999999995343,392849.663999999989756]]],[[[390901.468999999982771,392850.052999999956228],[390907.229999999981374,392855.96999999997206]]],[[[390899.547999999951571,392852.822999999974854],[390899.617999999958556,392852.847000000008848]]],[[[390891.775000000023283,392858.590000000025611],[390891.825000000011642,392858.507999999972526]]],[[[390871.892000000050757,392875.960000000020955],[390871.812000000034459,392875.982999999949243]]],[[[390879.907000000006519,392880.679000000003725],[390881.0,392884.0]]],[[[390891.044999999983702,392868.167999999946915],[390891.246000000042841,392868.241000000038184]]],[[[390901.869999999995343,392849.663999999989756],[390906.932000000029802,392845.427999999956228]]],[[[390907.229999999981374,392855.96999999997206],[390907.0,392860.0]]],[[[390907.229999999981374,392855.96999999997206],[390907.0,392860.0]]],[[[390899.617999999958556,392852.847000000008848],[390899.792999999946915,392852.8870000000461]]],[[[390891.825000000011642,392858.507999999972526],[390891.972000000008848,392858.323999999964144]]],[[[390871.812000000034459,392875.982999999949243],[390871.435999999986962,392876.082999999984168]]],[[[390891.246000000042841,392868.241000000038184],[390892.047999999951571,392868.96999999997206]]],[[[390906.932000000029802,392845.427999999956228],[390908.6129999999539,392843.857000000018161]]],[[[390899.792999999946915,392852.8870000000461],[390899.888999999966472,392852.926000000035856]]],[[[390891.972000000008848,392858.323999999964144],[390892.5120000000461,392857.807999999960884]]],[[[390871.435999999986962,392876.082999999984168],[390870.934999999997672,392876.182999999960884]]],[[[390892.047999999951571,392868.96999999997206],[390896.0,392870.0]]],[[[390908.6129999999539,392843.857000000018161],[390909.025000000023283,392843.570000000006985]]],[[[390899.888999999966472,392852.926000000035856],[390899.982000000018161,392852.987000000022817]]],[[[390892.5120000000461,392857.807999999960884],[390893.557999999960884,392856.820000000006985]]],[[[390870.934999999997672,392876.182999999960884],[390870.633999999961816,392876.258999999961816]]],[[[390909.025000000023283,392843.570000000006985],[390909.877999999967869,392843.013999999966472]]],[[[390899.982000000018161,392852.987000000022817],[390900.059999999997672,392853.057000000029802]]],[[[390893.557999999960884,392856.820000000006985],[390893.775000000023283,392856.554999999993015]]],[[[390870.633999999961816,392876.258999999961816],[390870.525000000023283,392876.284999999974389]]],[[[390909.877999999967869,392843.013999999966472],[390910.741000000038184,392842.592999999993481]]],[[[390893.775000000023283,392856.554999999993015],[390893.802999999956228,392856.496000000042841]]],[[[390870.525000000023283,392876.284999999974389],[390870.492000000027474,392876.296000000031199]]],[[[390910.741000000038184,392842.592999999993481],[390911.229999999981374,392842.323999999964144]]],[[[390893.802999999956228,392856.496000000042841],[390893.799999999988358,392856.409999999974389]]],[[[390870.492000000027474,392876.296000000031199],[390870.457999999984168,392876.309999999997672]]],[[[390911.229999999981374,392842.323999999964144],[390911.556000000040513,392842.152000000001863]]],[[[390893.799999999988358,392856.409999999974389],[390893.78100000001723,392856.377999999967869]]],[[[390870.457999999984168,392876.309999999997672],[390870.382999999972526,392876.35899999999674]]],[[[390911.556000000040513,392842.152000000001863],[390911.997000000032131,392841.897999999986496]]],[[[390893.78100000001723,392856.377999999967869],[390890.706000000005588,392852.332000000053085]]],[[[390870.382999999972526,392876.35899999999674],[390870.157000000006519,392876.533999999985099]]],[[[390911.997000000032131,392841.897999999986496],[390912.282000000006519,392841.942000000039116]]],[[[390911.997000000032131,392841.897999999986496],[390912.282000000006519,392841.71999999997206]]],[[[390890.706000000005588,392852.332000000053085],[390890.64000000001397,392852.121000000042841]]],[[[390912.282000000006519,392841.942000000039116],[390912.630000000004657,392841.967000000004191]]],[[[390912.282000000006519,392841.71999999997206],[390912.429999999993015,392841.599999999976717]]],[[[390890.64000000001397,392852.121000000042841],[390890.510999999998603,392851.689000000013038]]],[[[390912.630000000004657,392841.967000000004191],[390913.032000000006519,392842.010999999998603]]],[[[390912.429999999993015,392841.599999999976717],[390917.462999999988824,392836.01500000001397]]],[[[390890.510999999998603,392851.689000000013038],[390883.277000000001863,392842.143999999971129]]],[[[390913.032000000006519,392842.010999999998603],[390913.6370000000461,392842.130000000004657]]],[[[390917.462999999988824,392836.01500000001397],[390918.003999999957159,392835.491000000038184]]],[[[390883.277000000001863,392842.143999999971129],[390876.522999999986496,392833.895000000018626]]],[[[390913.6370000000461,392842.130000000004657],[390914.400000000023283,392842.34499999997206]]],[[[390918.003999999957159,392835.491000000038184],[390918.76500000001397,392836.292999999946915]]],[[[390918.003999999957159,392835.491000000038184],[390915.4879999999539,392832.838999999978114]]],[[[390876.522999999986496,392833.895000000018626],[390875.777999999991152,392833.236000000033528]]],[[[390914.400000000023283,392842.34499999997206],[390914.923999999999069,392842.567000000039116]]],[[[390918.76500000001397,392836.292999999946915],[390918.948999999964144,392836.228999999992084]]],[[[390918.76500000001397,392836.292999999946915],[390919.135000000009313,392836.684000000008382]]],[[[390915.4879999999539,392832.838999999978114],[390910.895000000018626,392828.10999999998603]]],[[[390875.777999999991152,392833.236000000033528],[390875.198999999964144,392832.799999999988358]]],[[[390914.923999999999069,392842.567000000039116],[390915.64000000001397,392842.932999999960884]]],[[[390918.948999999964144,392836.228999999992084],[390919.114999999990687,392836.198999999964144]]],[[[390919.135000000009313,392836.684000000008382],[390920.87599999998929,392838.517999999981839]]],[[[390910.895000000018626,392828.10999999998603],[390908.833999999973457,392825.978999999992084]]],[[[390875.198999999964144,392832.799999999988358],[390874.662000000011176,392832.479999999981374]]],[[[390915.64000000001397,392842.932999999960884],[390916.402999999991152,392843.351000000024214]]],[[[390919.114999999990687,392836.198999999964144],[390919.23399999999674,392836.205000000016298]]],[[[390920.87599999998929,392838.517999999981839],[390923.576000000000931,392835.814000000013038]]],[[[390920.87599999998929,392838.517999999981839],[390925.817000000039116,392843.724999999976717]]],[[[390908.833999999973457,392825.978999999992084],[390908.271000000007916,392825.299999999988358]]],[[[390874.662000000011176,392832.479999999981374],[390872.864999999990687,392831.802999999956228]]],[[[390916.402999999991152,392843.351000000024214],[390917.072000000043772,392843.826000000000931]]],[[[390919.23399999999674,392836.205000000016298],[390919.412000000011176,392836.252999999967869]]],[[[390923.576000000000931,392835.814000000013038],[390923.798999999999069,392835.572000000043772]]],[[[390925.817000000039116,392843.724999999976717],[390929.523999999975786,392847.568999999959488]]],[[[390908.271000000007916,392825.299999999988358],[390907.614999999990687,392824.551000000035856]]],[[[390872.864999999990687,392831.802999999956228],[390871.466000000014901,392831.607000000018161]]],[[[390917.072000000043772,392843.826000000000931],[390918.076000000000931,392844.727000000013504]]],[[[390919.412000000011176,392836.252999999967869],[390919.607999999949243,392836.347999999998137]]],[[[390923.798999999999069,392835.572000000043772],[390923.972999999998137,392835.299999999988358]]],[[[390929.523999999975786,392847.568999999959488],[390932.01500000001397,392850.135000000009313]]],[[[390907.614999999990687,392824.551000000035856],[390907.052999999956228,392823.802000000025146]]],[[[390871.466000000014901,392831.607000000018161],[390871.226000000024214,392831.622999999963213]]],[[[390918.076000000000931,392844.727000000013504],[390922.542000000015832,392849.331000000005588]]],[[[390919.607999999949243,392836.347999999998137],[390919.7620000000461,392836.466000000014901]]],[[[390923.972999999998137,392835.299999999988358],[390924.070000000006985,392835.057999999960884]]],[[[390932.01500000001397,392850.135000000009313],[390934.502999999967869,392852.697000000043772]]],[[[390932.01500000001397,392850.135000000009313],[390935.583999999973457,392846.447999999974854]]],[[[390907.052999999956228,392823.802000000025146],[390906.491000000038184,392822.864999999990687]]],[[[390871.226000000024214,392831.622999999963213],[390871.172999999951571,392831.687000000034459]]],[[[390922.542000000015832,392849.331000000005588],[390923.521000000007916,392850.327999999979511]]],[[[390919.7620000000461,392836.466000000014901],[390919.90500000002794,392836.632000000041444]]],[[[390924.070000000006985,392835.057999999960884],[390924.127999999967869,392834.671000000031199]]],[[[390934.502999999967869,392852.697000000043772],[390941.046000000031199,392859.544999999983702]]],[[[390935.583999999973457,392846.447999999974854],[390935.817000000039116,392846.239999999990687]]],[[[390906.491000000038184,392822.864999999990687],[390906.349999999976717,392822.583999999973457]]],[[[390871.172999999951571,392831.687000000034459],[390871.127999999967869,392831.801000000035856]]],[[[390923.521000000007916,392850.327999999979511],[390915.060999999986961,392858.471000000019558]]],[[[390923.521000000007916,392850.327999999979511],[390927.222000000008848,392854.099999999976717]]],[[[390919.90500000002794,392836.632000000041444],[390920.0120000000461,392836.804999999993015]]],[[[390924.127999999967869,392834.671000000031199],[390924.168999999994412,392834.201000000000931]]],[[[390941.046000000031199,392859.544999999983702],[390943.336000000010245,392861.907000000006519]]],[[[390935.817000000039116,392846.239999999990687],[390935.994999999995343,392846.017000000050757]]],[[[390906.349999999976717,392822.583999999973457],[390905.502000000036787,392821.0120000000461]]],[[[390871.127999999967869,392831.801000000035856],[390871.099999999976717,392832.048999999999069]]],[[[390915.060999999986961,392858.471000000019558],[390913.477999999944586,392860.025000000023283]]],[[[390927.222000000008848,392854.099999999976717],[390931.986000000033528,392859.25]]],[[[390920.0120000000461,392836.804999999993015],[390920.077000000048429,392836.965000000025611]]],[[[390924.168999999994412,392834.201000000000931],[390924.246000000042841,392833.852999999944586]]],[[[390943.336000000010245,392861.907000000006519],[390946.010000000009313,392864.771000000007916]]],[[[390943.336000000010245,392861.907000000006519],[390946.317000000039116,392858.942000000039116]]],[[[390935.994999999995343,392846.017000000050757],[390936.049999999988358,392845.912000000011176]]],[[[390905.502000000036787,392821.0120000000461],[390905.189000000013039,392820.052999999956228]]],[[[390913.477999999944586,392860.025000000023283],[390910.0,392863.0]]],[[[390931.986000000033528,392859.25],[390932.787999999942258,392860.117999999958556]]],[[[390931.986000000033528,392859.25],[390930.205000000016298,392860.892000000050757]]],[[[390920.077000000048429,392836.965000000025611],[390920.101000000024214,392837.142999999981839]]],[[[390924.246000000042841,392833.852999999944586],[390924.411000000021886,392833.474999999976717]]],[[[390946.010000000009313,392864.771000000007916],[390946.422000000020489,392865.190000000002328]]],[[[390946.317000000039116,392858.942000000039116],[390946.617999999958556,392858.602000000013504]]],[[[390936.049999999988358,392845.912000000011176],[390936.119000000006054,392845.666000000026543]]],[[[390905.189000000013039,392820.052999999956228],[390905.022000000055414,392819.322999999974854]]],[[[390932.787999999942258,392860.117999999958556],[390935.932000000029802,392863.544999999983702]]],[[[390930.205000000016298,392860.892000000050757],[390923.046000000031199,392867.911000000021886]]],[[[390920.101000000024214,392837.142999999981839],[390920.09499999997206,392837.297000000020489]]],[[[390924.411000000021886,392833.474999999976717],[390924.643999999971129,392833.164999999979045]]],[[[390946.422000000020489,392865.190000000002328],[390948.046000000031199,392866.840000000025611]]],[[[390946.422000000020489,392865.190000000002328],[390946.652000000001863,392865.033999999985099]]],[[[390946.617999999958556,392858.602000000013504],[390946.840000000025611,392858.222999999998137]]],[[[390936.119000000006054,392845.666000000026543],[390936.242000000027474,392845.027000000001863]]],[[[390905.022000000055414,392819.322999999974854],[390904.937999999965541,392818.65500000002794]]],[[[390935.932000000029802,392863.544999999983702],[390941.567999999970198,392869.642999999981839]]],[[[390923.046000000031199,392867.911000000021886],[390921.647000000055414,392869.282999999995809]]],[[[390923.046000000031199,392867.911000000021886],[390923.823999999964144,392868.73399999999674]]],[[[390920.09499999997206,392837.297000000020489],[390920.042000000015832,392837.481000000028871]]],[[[390924.643999999971129,392833.164999999979045],[390924.934000000008382,392832.864999999990687]]],[[[390948.046000000031199,392866.840000000025611],[390948.692999999970198,392867.510000000009313]]],[[[390946.652000000001863,392865.033999999985099],[390946.807000000029802,392864.978999999992084]]],[[[390946.840000000025611,392858.222999999998137],[390946.971000000019558,392857.897000000055414]]],[[[390936.242000000027474,392845.027000000001863],[390936.287999999942258,392844.647999999986496]]],[[[390904.937999999965541,392818.65500000002794],[390905.00099999998929,392817.820999999996275]]],[[[390941.567999999970198,392869.642999999981839],[390939.127999999967869,392871.786000000021886]]],[[[390941.567999999970198,392869.642999999981839],[390943.018999999971129,392871.212000000057742]]],[[[390921.647000000055414,392869.282999999995809],[390917.0,392871.0]]],[[[390923.823999999964144,392868.73399999999674],[390923.916000000026543,392868.864999999990687]]],[[[390920.042000000015832,392837.481000000028871],[390919.804000000003725,392837.861000000033528]]],[[[390924.934000000008382,392832.864999999990687],[390925.39000000001397,392832.418999999994412]]],[[[390946.807000000029802,392864.978999999992084],[390946.962000000057742,392864.96999999997206]]],[[[390946.971000000019558,392857.897000000055414],[390947.022999999986496,392857.622000000032131]]],[[[390936.287999999942258,392844.647999999986496],[390936.387999999977183,392844.400000000023283]]],[[[390905.00099999998929,392817.820999999996275],[390905.25099999998929,392816.297999999951571]]],[[[390939.127999999967869,392871.786000000021886],[390931.5120000000461,392879.201000000000931]]],[[[390943.018999999971129,392871.212000000057742],[390945.597000000008848,392874.081000000005588]]],[[[390923.916000000026543,392868.864999999990687],[390923.961000000010244,392868.986000000033528]]],[[[390919.804000000003725,392837.861000000033528],[390919.412000000011176,392838.407000000006519]]],[[[390925.39000000001397,392832.418999999994412],[390926.642999999981839,392831.208999999973457]]],[[[390946.962000000057742,392864.96999999997206],[390947.12599999998929,392865.01500000001397]]],[[[390947.022999999986496,392857.622000000032131],[390947.088999999978114,392857.033999999985099]]],[[[390936.387999999977183,392844.400000000023283],[390936.60999999998603,392843.935999999986962]]],[[[390905.25099999998929,392816.297999999951571],[390905.690000000002328,392815.026000000012573]]],[[[390931.5120000000461,392879.201000000000931],[390927.0,392880.0]]],[[[390945.597000000008848,392874.081000000005588],[390946.518999999971129,392875.103999999992084]]],[[[390923.961000000010244,392868.986000000033528],[390923.967000000004191,392869.088999999978114]]],[[[390926.642999999981839,392831.208999999973457],[390926.75,392831.106000000028871]]],[[[390947.12599999998929,392865.01500000001397],[390947.326000000000931,392865.133999999961816]]],[[[390947.088999999978114,392857.033999999985099],[390947.179999999993015,392856.577000000048429]]],[[[390936.60999999998603,392843.935999999986962],[390936.74900000001071,392843.721000000019558]]],[[[390905.690000000002328,392815.026000000012573],[390906.065000000002328,392814.190999999991618]]],[[[390946.518999999971129,392875.103999999992084],[390937.556000000040513,392882.923999999999069]]],[[[390946.518999999971129,392875.103999999992084],[390947.272999999986496,392875.942000000039116]]],[[[390923.967000000004191,392869.088999999978114],[390923.916000000026543,392869.2379999999539]]],[[[390926.75,392831.106000000028871],[390926.804999999993015,392831.065000000002328]]],[[[390947.326000000000931,392865.133999999961816],[390947.489999999990687,392865.260999999998603]]],[[[390947.179999999993015,392856.577000000048429],[390947.287000000011176,392856.272000000055414]]],[[[390936.74900000001071,392843.721000000019558],[390936.87400000001071,392843.588999999978114]]],[[[390906.065000000002328,392814.190999999991618],[390906.398999999975786,392813.690999999991618]]],[[[390937.556000000040513,392882.923999999999069],[390936.301000000035856,392884.111000000033528]]],[[[390923.916000000026543,392869.2379999999539],[390923.807000000029802,392869.3870000000461]]],[[[390926.804999999993015,392831.065000000002328],[390926.875,392831.042999999946915]]],[[[390947.489999999990687,392865.260999999998603],[390947.590000000025611,392865.397000000055414]]],[[[390947.287000000011176,392856.272000000055414],[390947.457000000053085,392855.997999999963213]]],[[[390936.87400000001071,392843.588999999978114],[390938.352000000013504,392842.12599999998929]]],[[[390906.398999999975786,392813.690999999991618],[390907.212999999988824,392812.684999999997672]]],[[[390936.301000000035856,392884.111000000033528],[390931.0,392884.0]]],[[[390936.301000000035856,392884.111000000033528],[390931.0,392884.0]]],[[[390923.807000000029802,392869.3870000000461],[390923.606000000028871,392869.587000000057742]]],[[[390926.875,392831.042999999946915],[390926.945000000006985,392831.047000000020489]]],[[[390947.590000000025611,392865.397000000055414],[390947.62599999998929,392865.525000000023283]]],[[[390947.457000000053085,392855.997999999963213],[390947.783999999985099,392855.657999999995809]]],[[[390938.352000000013504,392842.12599999998929],[390938.796000000031199,392841.702999999979511]]],[[[390907.212999999988824,392812.684999999997672],[390910.804999999993015,392815.497000000032131]]],[[[390907.212999999988824,392812.684999999997672],[390907.752000000036787,392812.018999999971129]]],[[[390923.606000000028871,392869.587000000057742],[390922.854999999981374,392870.302999999956228]]],[[[390926.945000000006985,392831.047000000020489],[390927.018999999971129,392831.072000000043772]]],[[[390947.62599999998929,392865.525000000023283],[390947.635000000009313,392865.697999999974854]]],[[[390947.783999999985099,392855.657999999995809],[390949.052000000025146,392854.417000000015832]]],[[[390938.796000000031199,392841.702999999979511],[390938.913999999989756,392841.632999999972526]]],[[[390910.804999999993015,392815.497000000032131],[390911.309000000008382,392815.87599999998929]]],[[[390907.752000000036787,392812.018999999971129],[390909.871000000042841,392809.603999999992084]]],[[[390922.854999999981374,392870.302999999956228],[390921.0,392875.0]]],[[[390927.018999999971129,392831.072000000043772],[390927.156000000017229,392831.157000000006519]]],[[[390947.635000000009313,392865.697999999974854],[390947.598999999987427,392865.888999999966472]]],[[[390949.052000000025146,392854.417000000015832],[390949.357999999949243,392854.137999999977183]]],[[[390938.913999999989756,392841.632999999972526],[390936.706000000005588,392838.972000000008848]]],[[[390938.913999999989756,392841.632999999972526],[390939.032000000006519,392841.619999999995343]]],[[[390911.309000000008382,392815.87599999998929],[390911.513999999966472,392816.081000000005588]]],[[[390909.871000000042841,392809.603999999992084],[390913.164999999979045,392812.297000000020489]]],[[[390909.871000000042841,392809.603999999992084],[390910.582999999984168,392808.792999999946915]]],[[[390927.156000000017229,392831.157000000006519],[390927.282000000006519,392831.267999999981839]]],[[[390947.598999999987427,392865.888999999966472],[390947.507999999972526,392866.042999999946915]]],[[[390949.357999999949243,392854.137999999977183],[390949.51600000000326,392854.032999999995809]]],[[[390936.706000000005588,392838.972000000008848],[390935.0,392836.0]]],[[[390939.032000000006519,392841.619999999995343],[390939.171000000031199,392841.6129999999539]]],[[[390911.513999999966472,392816.081000000005588],[390911.682999999960884,392816.380999999993946]]],[[[390913.164999999979045,392812.297000000020489],[390913.419999999983702,392812.472000000008848]]],[[[390910.582999999984168,392808.792999999946915],[390913.172999999951571,392805.861000000033528]]],[[[390927.282000000006519,392831.267999999981839],[390927.695000000006985,392831.755000000004657]]],[[[390947.507999999972526,392866.042999999946915],[390947.070999999996275,392866.462000000057742]]],[[[390949.51600000000326,392854.032999999995809],[390949.635999999998603,392853.99900000001071]]],[[[390939.171000000031199,392841.6129999999539],[390939.296000000031199,392841.627000000036787]]],[[[390911.682999999960884,392816.380999999993946],[390911.851000000024214,392816.885000000009313]]],[[[390913.419999999983702,392812.472000000008848],[390913.647999999986496,392812.586000000010244]]],[[[390913.172999999951571,392805.861000000033528],[390914.333999999973457,392804.546000000031199]]],[[[390913.172999999951571,392805.861000000033528],[390912.467000000004191,392805.282000000006519]]],[[[390927.695000000006985,392831.755000000004657],[390931.0,392831.0]]],[[[390947.070999999996275,392866.462000000057742],[390946.507000000041444,392867.043999999994412]]],[[[390949.635999999998603,392853.99900000001071],[390949.096000000019558,392853.309000000008382]]],[[[390949.635999999998603,392853.99900000001071],[390949.744000000006054,392853.994999999995343]]],[[[390939.296000000031199,392841.627000000036787],[390939.413999999989755,392841.674999999988358]]],[[[390911.851000000024214,392816.885000000009313],[390912.00099999998929,392817.333999999973457]]],[[[390913.647999999986496,392812.586000000010244],[390913.996000000042841,392812.685999999986962]]],[[[390914.333999999973457,392804.546000000031199],[390914.838999999978114,392803.916000000026543]]],[[[390912.467000000004191,392805.282000000006519],[390909.292000000015832,392803.146000000007916]]],[[[390949.096000000019558,392853.309000000008382],[390948.847999999998137,392852.992000000027474]]],[[[390949.744000000006054,392853.994999999995343],[390949.818999999959488,392854.010000000009313]]],[[[390939.413999999989755,392841.674999999988358],[390939.538999999989755,392841.731000000028871]]],[[[390912.00099999998929,392817.333999999973457],[390912.187999999965541,392817.651000000012573]]],[[[390913.996000000042841,392812.685999999986962],[390915.583999999973457,392813.037000000011176]]],[[[390914.838999999978114,392803.916000000026543],[390918.268999999971129,392799.908999999985099]]],[[[390909.292000000015832,392803.146000000007916],[390908.726000000024214,392802.518999999971129]]],[[[390948.847999999998137,392852.992000000027474],[390948.392500000016298,392852.485500000009779]]],[[[390949.818999999959488,392854.010000000009313],[390949.897999999986496,392854.051000000035856]]],[[[390939.538999999989755,392841.731000000028871],[390940.114999999990687,392842.277999999991152]]],[[[390912.187999999965541,392817.651000000012573],[390912.453999999968801,392818.023999999975786]]],[[[390915.583999999973457,392813.037000000011176],[390915.882000000041444,392813.132999999972526]]],[[[390918.268999999971129,392799.908999999985099],[390918.528999999980442,392799.6129999999539]]],[[[390908.726000000024214,392802.518999999971129],[390908.547999999951571,392802.302000000025146]]],[[[390948.392500000016298,392852.485500000009779],[390947.472000000008848,392851.557000000029802]]],[[[390949.897999999986496,392854.051000000035856],[390950.032000000006519,392854.156000000017229]]],[[[390940.114999999990687,392842.277999999991152],[390943.0,392844.0]]],[[[390912.453999999968801,392818.023999999975786],[390912.782999999995809,392818.364999999990687]]],[[[390915.882000000041444,392813.132999999972526],[390916.092999999993481,392813.228999999992084]]],[[[390918.528999999980442,392799.6129999999539],[390919.049999999988358,392800.0]]],[[[390918.528999999980442,392799.6129999999539],[390923.291000000026543,392794.190999999991618]]],[[[390908.547999999951571,392802.302000000025146],[390908.46999999997206,392802.177999999956228]]],[[[390947.472000000008848,392851.557000000029802],[390946.0,392848.0]]],[[[390950.032000000006519,392854.156000000017229],[390950.481000000028871,392854.630000000004657]]],[[[390912.782999999995809,392818.364999999990687],[390913.190999999991618,392818.747000000032131]]],[[[390916.092999999993481,392813.228999999992084],[390916.330000000016298,392813.352000000013504]]],[[[390919.049999999988358,392800.0],[390921.635999999998603,392802.117999999958556]]],[[[390923.291000000026543,392794.190999999991618],[390925.510999999998603,392791.532999999995809]]],[[[390908.46999999997206,392802.177999999956228],[390908.407999999995809,392802.068999999959487]]],[[[390950.481000000028871,392854.630000000004657],[390952.0,392853.0]]],[[[390913.190999999991618,392818.747000000032131],[390913.426000000035856,392818.962000000057742]]],[[[390916.330000000016298,392813.352000000013504],[390916.548999999999069,392813.50099999998929]]],[[[390921.635999999998603,392802.117999999958556],[390922.556000000040513,392802.836000000010244]]],[[[390925.510999999998603,392791.532999999995809],[390932.59399999998277,392797.298999999999069]]],[[[390925.510999999998603,392791.532999999995809],[390929.741900000022724,392786.372900000016671]]],[[[390908.407999999995809,392802.068999999959487],[390908.353999999992084,392801.937000000034459]]],[[[390913.426000000035856,392818.962000000057742],[390914.5120000000461,392819.90600000001723]]],[[[390916.548999999999069,392813.50099999998929],[390918.357000000018161,392814.966000000014901]]],[[[390922.556000000040513,392802.836000000010244],[390924.531000000017229,392804.432999999960884]]],[[[390932.59399999998277,392797.298999999999069],[390935.0,392800.0]]],[[[390929.741900000022724,392786.372900000016671],[390934.962999999988824,392790.739999999990687]]],[[[390929.741900000022724,392786.372900000016671],[390930.510999999998603,392785.434999999997672]]],[[[390908.353999999992084,392801.937000000034459],[390908.322999999974854,392801.828999999968801]]],[[[390914.5120000000461,392819.90600000001723],[390914.974999999976717,392820.221000000019558]]],[[[390918.357000000018161,392814.966000000014901],[390923.0,392816.0]]],[[[390924.531000000017229,392804.432999999960884],[390926.150000000023283,392805.742000000027474]]],[[[390924.531000000017229,392804.432999999960884],[390923.880000000004657,392805.164999999979045]]],[[[390934.962999999988824,392790.739999999990687],[390937.604999999981374,392792.914999999979045]]],[[[390930.510999999998603,392785.434999999997672],[390931.167999999946915,392784.630000000004657]]],[[[390908.322999999974854,392801.828999999968801],[390908.307999999960884,392801.736000000033528]]],[[[390914.974999999976717,392820.221000000019558],[390915.148999999975786,392820.307999999960884]]],[[[390926.150000000023283,392805.742000000027474],[390929.0,392807.0]]],[[[390923.880000000004657,392805.164999999979045],[390923.818999999959488,392805.287000000011176]]],[[[390937.604999999981374,392792.914999999979045],[390937.856000000028871,392793.111000000033528]]],[[[390931.167999999946915,392784.630000000004657],[390931.702999999979511,392784.132000000041444]]],[[[390908.307999999960884,392801.736000000033528],[390908.307999999960884,392801.651000000012573]]],[[[390915.148999999975786,392820.307999999960884],[390915.289999999979045,392820.347999999998137]]],[[[390923.818999999959488,392805.287000000011176],[390923.757999999972526,392805.422000000020489]]],[[[390937.856000000028871,392793.111000000033528],[390937.948999999964144,392793.203999999968801]]],[[[390931.702999999979511,392784.132000000041444],[390932.460000000020955,392783.602999999944586]]],[[[390908.307999999960884,392801.651000000012573],[390908.315000000002328,392801.581000000005588]]],[[[390915.289999999979045,392820.347999999998137],[390915.397000000055414,392820.354999999981374]]],[[[390923.757999999972526,392805.422000000020489],[390923.744000000006054,392805.551000000035856]]],[[[390937.948999999964144,392793.203999999968801],[390938.005000000004657,392793.277999999991152]]],[[[390932.460000000020955,392783.602999999944586],[390932.952999999979511,392783.299999999988358]]],[[[390908.315000000002328,392801.581000000005588],[390908.338999999978114,392801.502999999967869]]],[[[390915.397000000055414,392820.354999999981374],[390915.451000000000931,392820.347999999998137]]],[[[390923.744000000006054,392805.551000000035856],[390923.772000000055414,392805.685999999986962]]],[[[390938.005000000004657,392793.277999999991152],[390938.023999999975786,392793.371000000042841]]],[[[390932.952999999979511,392783.299999999988358],[390933.747999999963213,392782.902999999991152]]],[[[390908.338999999978114,392801.502999999967869],[390908.385000000009313,392801.426000000035856]]],[[[390915.451000000000931,392820.347999999998137],[390915.510999999998603,392820.294999999983702]]],[[[390923.772000000055414,392805.685999999986962],[390923.85999999998603,392805.862000000022817]]],[[[390938.023999999975786,392793.371000000042841],[390938.023999999975786,392793.482999999949243]]],[[[390933.747999999963213,392782.902999999991152],[390934.598999999987427,392782.657000000006519]]],[[[390908.385000000009313,392801.426000000035856],[390908.689000000013038,392801.042999999946915]]],[[[390915.510999999998603,392820.294999999983702],[390915.592000000004191,392820.187999999965541]]],[[[390923.85999999998603,392805.862000000022817],[390924.022000000055414,392806.037999999942258]]],[[[390938.023999999975786,392793.482999999949243],[390938.005000000004657,392793.622999999963213]]],[[[390934.598999999987427,392782.657000000006519],[390935.583999999973457,392782.523999999975786]]],[[[390908.689000000013038,392801.042999999946915],[390910.979999999981374,392798.157000000006519]]],[[[390908.689000000013038,392801.042999999946915],[390907.282000000006519,392801.15500000002794]]],[[[390915.592000000004191,392820.187999999965541],[390915.907000000006519,392819.679000000003725]]],[[[390924.022000000055414,392806.037999999942258],[390925.152000000001863,392806.997999999963213]]],[[[390938.005000000004657,392793.622999999963213],[390937.967999999993481,392793.744000000006054]]],[[[390935.583999999973457,392782.523999999975786],[390936.302999999956228,392782.505000000004657]]],[[[390910.979999999981374,392798.157000000006519],[390913.207999999984168,392795.419999999983702]]],[[[390907.282000000006519,392801.15500000002794],[390898.776000000012573,392802.817000000039116]]],[[[390907.282000000006519,392801.15500000002794],[390906.35999999998603,392802.282000000006519]]],[[[390915.907000000006519,392819.679000000003725],[390918.0,392819.0]]],[[[390925.152000000001863,392806.997999999963213],[390926.0,392812.0]]],[[[390937.967999999993481,392793.744000000006054],[390937.912000000011176,392793.827000000048429]]],[[[390936.302999999956228,392782.505000000004657],[390937.15500000002794,392782.599999999976717]]],[[[390913.207999999984168,392795.419999999983702],[390913.306700000015553,392795.297800000000279]]],[[[390898.776000000012573,392802.817000000039116],[390895.65500000002794,392803.357999999949243]]],[[[390906.35999999998603,392802.282000000006519],[390901.453999999968801,392808.388999999966472]]],[[[390937.912000000011176,392793.827000000048429],[390937.791000000026543,392793.948999999964144]]],[[[390937.15500000002794,392782.599999999976717],[390938.366000000038184,392782.883999999961816]]],[[[390913.306700000015553,392795.297800000000279],[390910.051000000035856,392792.872000000032131]]],[[[390913.306700000015553,392795.297800000000279],[390915.116000000038184,392793.057999999960884]]],[[[390895.65500000002794,392803.357999999949243],[390895.343999999982771,392803.442999999970198]]],[[[390901.453999999968801,392808.388999999966472],[390901.096000000019558,392808.831000000005588]]],[[[390937.791000000026543,392793.948999999964144],[390937.343999999982771,392794.348999999987427]]],[[[390938.366000000038184,392782.883999999961816],[390939.237000000022817,392783.187000000034459]]],[[[390910.051000000035856,392792.872000000032131],[390909.746000000042841,392792.658999999985099]]],[[[390915.116000000038184,392793.057999999960884],[390916.01500000001397,392791.99900000001071]]],[[[390895.343999999982771,392803.442999999970198],[390895.119000000006054,392803.442999999970198]]],[[[390901.096000000019558,392808.831000000005588],[390900.932999999960884,392809.017999999981839]]],[[[390937.343999999982771,392794.348999999987427],[390937.0,392798.0]]],[[[390939.237000000022817,392783.187000000034459],[390940.012999999977183,392783.622000000032131]]],[[[390909.746000000042841,392792.658999999985099],[390909.562999999965541,392792.552999999956228]]],[[[390916.01500000001397,392791.99900000001071],[390918.607000000018161,392788.706000000005588]]],[[[390916.01500000001397,392791.99900000001071],[390915.752999999967869,392791.724999999976717]]],[[[390895.119000000006054,392803.442999999970198],[390894.892999999981839,392803.385999999998603]]],[[[390900.932999999960884,392809.017999999981839],[390900.791000000026543,392809.106000000028871]]],[[[390940.012999999977183,392783.622000000032131],[390940.732000000018161,392784.1129999999539]]],[[[390909.562999999965541,392792.552999999956228],[390909.432999999960884,392792.492000000027474]]],[[[390918.607000000018161,392788.706000000005588],[390922.397999999986496,392784.096000000019558]]],[[[390915.752999999967869,392791.724999999976717],[390915.690000000002328,392791.653999999980442]]],[[[390894.892999999981839,392803.385999999998603],[390894.073999999964144,392802.849999999976717]]],[[[390900.791000000026543,392809.106000000028871],[390900.538999999989755,392809.227000000013504]]],[[[390940.732000000018161,392784.1129999999539],[390941.548999999999069,392784.767999999981839]]],[[[390909.432999999960884,392792.492000000027474],[390909.212000000057742,392792.414999999979045]]],[[[390922.397999999986496,392784.096000000019558],[390923.197000000043772,392783.135999999998603]]],[[[390915.690000000002328,392791.653999999980442],[390915.653999999980442,392791.597999999998137]]],[[[390894.073999999964144,392802.849999999976717],[390893.90500000002794,392802.681000000040512]]],[[[390900.538999999989755,392809.227000000013504],[390897.658999999985099,392810.60899999999674]]],[[[390941.548999999999069,392784.767999999981839],[390942.909999999974389,392785.87400000001071]]],[[[390941.548999999999069,392784.767999999981839],[390942.909999999974389,392785.87400000001071]]],[[[390909.212000000057742,392792.414999999979045],[390908.472999999998137,392792.172000000020489]]],[[[390923.197000000043772,392783.135999999998603],[390923.397999999986496,392782.887999999977183]]],[[[390915.653999999980442,392791.597999999998137],[390915.62599999998929,392791.520000000018626]]],[[[390893.90500000002794,392802.681000000040512],[390893.792000000015832,392802.482999999949243]]],[[[390897.658999999985099,392810.60899999999674],[390896.587000000057742,392810.976000000024214]]],[[[390942.909999999974389,392785.87400000001071],[390947.432999999960884,392789.685999999986962]]],[[[390942.909999999974389,392785.87400000001071],[390947.432999999960884,392789.685999999986962]]],[[[390908.472999999998137,392792.172000000020489],[390907.642000000050757,392791.927999999956228]]],[[[390923.397999999986496,392782.887999999977183],[390923.491000000038184,392782.74900000001071]]],[[[390915.62599999998929,392791.520000000018626],[390915.619000000006054,392791.448999999964144]]],[[[390893.792000000015832,392802.482999999949243],[390893.763999999966472,392802.257999999972526]]],[[[390896.587000000057742,392810.976000000024214],[390896.21999999997206,392811.088999999978114]]],[[[390947.432999999960884,392789.685999999986962],[390953.846000000019558,392795.059000000008382]]],[[[390947.432999999960884,392789.685999999986962],[390953.846000000019558,392795.059000000008382]]],[[[390907.642000000050757,392791.927999999956228],[390907.177000000025146,392791.782999999995809]]],[[[390923.491000000038184,392782.74900000001071],[390923.552999999956228,392782.625]]],[[[390915.619000000006054,392791.448999999964144],[390915.619000000006054,392791.371000000042841]]],[[[390893.763999999966472,392802.257999999972526],[390893.820000000006985,392802.003999999957159]]],[[[390896.21999999997206,392811.088999999978114],[390895.542000000015832,392811.117000000027474]]],[[[390953.846000000019558,392795.059000000008382],[390958.462999999988824,392798.896000000007916]]],[[[390953.846000000019558,392795.059000000008382],[390958.462999999988824,392798.896000000007916]]],[[[390907.177000000025146,392791.782999999995809],[390906.75099999998929,392791.616000000038184]]],[[[390923.552999999956228,392782.625],[390923.583999999973457,392782.517000000050757]]],[[[390915.619000000006054,392791.371000000042841],[390915.632999999972526,392791.292999999946915]]],[[[390893.820000000006985,392802.003999999957159],[390894.440999999991618,392801.354999999981374]]],[[[390895.542000000015832,392811.117000000027474],[390894.948999999964144,392811.145000000018626]]],[[[390958.462999999988824,392798.896000000007916],[390959.827000000048429,392800.102999999944586]]],[[[390958.462999999988824,392798.896000000007916],[390959.827000000048429,392800.102999999944586]]],[[[390906.75099999998929,392791.616000000038184],[390906.364000000001397,392791.413999999989755]]],[[[390923.583999999973457,392782.517000000050757],[390923.599999999976717,392782.346000000019558]]],[[[390915.632999999972526,392791.292999999946915],[390915.653999999980442,392791.242999999958556]]],[[[390894.440999999991618,392801.354999999981374],[390894.0,392797.0]]],[[[390894.948999999964144,392811.145000000018626],[390894.299999999988358,392810.976000000024214]]],[[[390959.827000000048429,392800.102999999944586],[390963.864999999990687,392803.673999999999069]]],[[[390959.827000000048429,392800.102999999944586],[390963.864999999990687,392803.673999999999069]]],[[[390959.827000000048429,392800.102999999944586],[390957.304999999993015,392802.791000000026543]]],[[[390906.364000000001397,392791.413999999989755],[390905.7620000000461,392791.025000000023283]]],[[[390923.599999999976717,392782.346000000019558],[390923.583999999973457,392782.192000000039116]]],[[[390915.653999999980442,392791.242999999958556],[390915.682999999960884,392791.215000000025611]]],[[[390894.299999999988358,392810.976000000024214],[390893.763999999966472,392810.6370000000461]]],[[[390963.864999999990687,392803.673999999999069],[390968.351000000024214,392807.642000000050757]]],[[[390963.864999999990687,392803.673999999999069],[390968.351000000024214,392807.642000000050757]]],[[[390963.864999999990687,392803.673999999999069],[390964.468999999982771,392803.03000000002794]]],[[[390957.304999999993015,392802.791000000026543],[390956.914999999979045,392803.162000000011176]]],[[[390905.7620000000461,392791.025000000023283],[390905.366000000038184,392790.721000000019558]]],[[[390923.583999999973457,392782.192000000039116],[390923.537999999942258,392782.052000000025146]]],[[[390915.682999999960884,392791.215000000025611],[390915.717999999993481,392791.179999999993015]]],[[[390893.763999999966472,392810.6370000000461],[390891.222499999974389,392808.690999999991618]]],[[[390968.351000000024214,392807.642000000050757],[390970.01500000001397,392809.072999999974854]]],[[[390968.351000000024214,392807.642000000050757],[390970.01500000001397,392809.072999999974854]]],[[[390956.914999999979045,392803.162000000011176],[390956.692999999970198,392803.353999999992084]]],[[[390905.366000000038184,392790.721000000019558],[390905.122000000032131,392790.468999999982771]]],[[[390923.537999999942258,392782.052000000025146],[390923.476000000024214,392781.897999999986496]]],[[[390915.717999999993481,392791.179999999993015],[390915.775000000023283,392791.151000000012573]]],[[[390891.222499999974389,392808.690999999991618],[390891.137999999977183,392808.521000000007916]]],[[[390970.01500000001397,392809.072999999974854],[390973.534999999974389,392812.101000000024214]]],[[[390970.01500000001397,392809.072999999974854],[390973.534999999974389,392812.101000000024214]]],[[[390970.01500000001397,392809.072999999974854],[390963.032999999995809,392816.614000000001397]]],[[[390956.692999999970198,392803.353999999992084],[390956.520000000018626,392803.452000000048429]]],[[[390905.122000000032131,392790.468999999982771],[390905.01500000001397,392790.340000000025611]]],[[[390923.476000000024214,392781.897999999986496],[390923.352000000013504,392781.773999999975786]]],[[[390915.775000000023283,392791.151000000012573],[390915.880999999993946,392791.116000000038184]]],[[[390891.137999999977183,392808.521000000007916],[390891.10999999998603,392808.352000000013504]]],[[[390973.534999999974389,392812.101000000024214],[390978.625,392816.387999999977183]]],[[[390973.534999999974389,392812.101000000024214],[390978.625,392816.387999999977183]]],[[[390963.032999999995809,392816.614000000001397],[390962.662999999942258,392817.057999999960884]]],[[[390963.032999999995809,392816.614000000001397],[390965.489999999990687,392819.862000000022817]]],[[[390956.520000000018626,392803.452000000048429],[390956.242000000027474,392803.570000000006985]]],[[[390905.01500000001397,392790.340000000025611],[390904.962000000057742,392790.247999999963213]]],[[[390923.352000000013504,392781.773999999975786],[390923.072999999974854,392781.510999999998603]]],[[[390915.880999999993946,392791.116000000038184],[390916.01600000000326,392791.080000000016298]]],[[[390891.10999999998603,392808.352000000013504],[390891.166000000026543,392808.12599999998929]]],[[[390978.625,392816.387999999977183],[390981.878999999957159,392818.817999999970198]]],[[[390978.625,392816.387999999977183],[390981.878999999957159,392818.817999999970198]]],[[[390962.662999999942258,392817.057999999960884],[390962.507000000041444,392817.246000000042841]]],[[[390965.489999999990687,392819.862000000022817],[390964.0,392822.0]]],[[[390956.242000000027474,392803.570000000006985],[390955.804000000003725,392803.705000000016298]]],[[[390904.962000000057742,392790.247999999963213],[390904.939000000013038,392790.179999999993015]]],[[[390923.072999999974854,392781.510999999998603],[390916.237000000022817,392776.135999999998603]]],[[[390916.01600000000326,392791.080000000016298],[390916.107999999949243,392791.052000000025146]]],[[[390891.166000000026543,392808.12599999998929],[390891.336000000010245,392807.872000000032131]]],[[[390981.878999999957159,392818.817999999970198],[390982.421000000031199,392819.260000000009313]]],[[[390981.878999999957159,392818.817999999970198],[390982.421000000031199,392819.260000000009313]]],[[[390962.507000000041444,392817.246000000042841],[390962.383999999961816,392817.320000000006985]]],[[[390955.804000000003725,392803.705000000016298],[390955.50099999998929,392803.822999999974854]]],[[[390904.939000000013038,392790.179999999993015],[390904.923999999999069,392790.081000000005588]]],[[[390916.237000000022817,392776.135999999998603],[390912.695000000006985,392780.427999999956228]]],[[[390916.237000000022817,392776.135999999998603],[390915.184999999997672,392775.310999999986962]]],[[[390916.107999999949243,392791.052000000025146],[390916.185999999986961,392791.017000000050757]]],[[[390982.421000000031199,392819.260000000009313],[390983.882999999972526,392820.451000000000931]]],[[[390982.421000000031199,392819.260000000009313],[390983.882999999972526,392820.451000000000931]]],[[[390982.421000000031199,392819.260000000009313],[390979.167000000015832,392822.695000000006985]]],[[[390962.383999999961816,392817.320000000006985],[390962.252999999967869,392817.337000000057742]]],[[[390955.50099999998929,392803.822999999974854],[390955.315999999991618,392803.945999999996275]]],[[[390904.923999999999069,392790.081000000005588],[390904.932000000029802,392790.005000000004657]]],[[[390912.695000000006985,392780.427999999956228],[390908.0,392779.0]]],[[[390915.184999999997672,392775.310999999986962],[390914.619000000006054,392774.864000000001397]]],[[[390916.185999999986961,392791.017000000050757],[390916.242000000027474,392790.981000000028871]]],[[[390983.882999999972526,392820.451000000000931],[390985.002999999967869,392821.271000000007916]]],[[[390983.882999999972526,392820.451000000000931],[390985.002999999967869,392821.271000000007916]]],[[[390979.167000000015832,392822.695000000006985],[390977.208999999973457,392824.690999999991618]]],[[[390962.252999999967869,392817.337000000057742],[390962.137999999977183,392817.312000000034459]]],[[[390955.315999999991618,392803.945999999996275],[390955.179999999993015,392804.057000000029802]]],[[[390904.932000000029802,392790.005000000004657],[390905.076000000000931,392789.478999999992084]]],[[[390914.619000000006054,392774.864000000001397],[390914.547999999951571,392774.782999999995809]]],[[[390916.242000000027474,392790.981000000028871],[390916.277999999991152,392790.932000000029802]]],[[[390985.002999999967869,392821.271000000007916],[390986.567000000039116,392822.332000000053085]]],[[[390985.002999999967869,392821.271000000007916],[390986.567000000039116,392822.332000000053085]]],[[[390977.208999999973457,392824.690999999991618],[390975.742999999958556,392826.352000000013504]]],[[[390962.137999999977183,392817.312000000034459],[390962.022999999986496,392817.271000000007916]]],[[[390955.179999999993015,392804.057000000029802],[390954.783999999985099,392804.457000000053085]]],[[[390905.076000000000931,392789.478999999992084],[390903.8870000000461,392790.989999999990687]]],[[[390905.076000000000931,392789.478999999992084],[390904.0,392784.0]]],[[[390914.547999999951571,392774.782999999995809],[390914.494000000006054,392774.721000000019558]]],[[[390916.277999999991152,392790.932000000029802],[390916.292000000015832,392790.867999999958556]]],[[[390986.567000000039116,392822.332000000053085],[390987.708999999973457,392823.027999999991152]]],[[[390986.567000000039116,392822.332000000053085],[390987.708999999973457,392823.027999999991152]]],[[[390975.742999999958556,392826.352000000013504],[390975.137999999977183,392827.038999999989755]]],[[[390962.022999999986496,392817.271000000007916],[390961.73499999998603,392817.041000000026543]]],[[[390954.783999999985099,392804.457000000053085],[390951.687999999965541,392807.794999999983702]]],[[[390903.8870000000461,392790.989999999990687],[390902.522999999986496,392792.617000000027474]]],[[[390914.494000000006054,392774.721000000019558],[390914.467000000004191,392774.648999999975786]]],[[[390916.292000000015832,392790.867999999958556],[390916.277999999991152,392790.782999999995809]]],[[[390987.708999999973457,392823.027999999991152],[390991.0,392824.804999999993015]]],[[[390987.708999999973457,392823.027999999991152],[390991.0,392824.804999999993015]]],[[[390975.137999999977183,392827.038999999989755],[390974.926000000035856,392827.23399999999674]]],[[[390975.137999999977183,392827.038999999989755],[390977.78100000001723,392829.753999999957159]]],[[[390961.73499999998603,392817.041000000026543],[390961.463999999978114,392816.787000000011176]]],[[[390951.687999999965541,392807.794999999983702],[390951.537999999942258,392807.965000000025611]]],[[[390902.522999999986496,392792.617000000027474],[390897.0,392791.0]]],[[[390914.467000000004191,392774.648999999975786],[390914.448999999964144,392774.568999999959488]]],[[[390916.277999999991152,392790.782999999995809],[390916.242000000027474,392790.732999999949243]]],[[[390991.0,392824.804999999993015],[390993.402999999991152,392826.054000000003725]]],[[[390991.0,392824.804999999993015],[390993.402999999991152,392826.054000000003725]]],[[[390974.926000000035856,392827.23399999999674],[390974.831000000005588,392827.281000000017229]]],[[[390977.78100000001723,392829.753999999957159],[390976.0,392832.0]]],[[[390961.463999999978114,392816.787000000011176],[390958.0,392817.0]]],[[[390951.537999999942258,392807.965000000025611],[390951.457999999984168,392808.125]]],[[[390914.448999999964144,392774.568999999959488],[390914.457999999984168,392774.497000000032131]]],[[[390916.242000000027474,392790.732999999949243],[390916.157000000006519,392790.647999999986496]]],[[[390993.402999999991152,392826.054000000003725],[390993.935999999986962,392826.331000000005588]]],[[[390993.402999999991152,392826.054000000003725],[390993.935999999986962,392826.331000000005588]]],[[[390993.402999999991152,392826.054000000003725],[390991.103999999992084,392829.14000000001397]]],[[[390974.831000000005588,392827.281000000017229],[390974.676000000035856,392827.310999999986962]]],[[[390951.457999999984168,392808.125],[390951.427999999956228,392808.325000000011642]]],[[[390914.457999999984168,392774.497000000032131],[390914.476000000024214,392774.424999999988358]]],[[[390993.935999999986962,392826.331000000005588],[390994.064000000013039,392826.392999999981839]]],[[[390993.935999999986962,392826.331000000005588],[390994.064000000013039,392826.392999999981839]]],[[[390991.103999999992084,392829.14000000001397],[390990.836000000010244,392829.546000000031199]]],[[[390974.676000000035856,392827.310999999986962],[390974.581000000005588,392827.310999999986962]]],[[[390951.427999999956228,392808.325000000011642],[390951.427999999956228,392808.505000000004657]]],[[[390914.476000000024214,392774.424999999988358],[390914.701000000000931,392774.114999999990687]]],[[[390994.064000000013039,392826.392999999981839],[390997.536000000021886,392828.070000000006985]]],[[[390994.064000000013039,392826.392999999981839],[390997.536000000021886,392828.070000000006985]]],[[[390994.064000000013039,392826.392999999981839],[390993.887999999977183,392826.659999999974389]]],[[[390990.836000000010244,392829.546000000031199],[390990.662000000011176,392829.85999999998603]]],[[[390974.581000000005588,392827.310999999986962],[390974.467000000004191,392827.298999999999069]]],[[[390951.427999999956228,392808.505000000004657],[390951.457999999984168,392808.710000000020955]]],[[[390914.701000000000931,392774.114999999990687],[390910.991000000038184,392771.177999999956228]]],[[[390914.701000000000931,392774.114999999990687],[390915.202000000048429,392773.457999999984168]]],[[[390997.536000000021886,392828.070000000006985],[390999.98499999998603,392829.212000000057742]]],[[[390997.536000000021886,392828.070000000006985],[390999.98499999998603,392829.212000000057742]]],[[[390993.887999999977183,392826.659999999974389],[390993.812000000034459,392826.747999999963213]]],[[[390990.662000000011176,392829.85999999998603],[390990.533999999985099,392830.184999999997672]]],[[[390974.467000000004191,392827.298999999999069],[390974.377999999967869,392827.252000000036787]]],[[[390951.457999999984168,392808.710000000020955],[390951.552999999956228,392808.900000000023283]]],[[[390910.991000000038184,392771.177999999956228],[390910.777000000001863,392771.008999999961816]]],[[[390915.202000000048429,392773.457999999984168],[390917.646000000007916,392770.357000000018161]]],[[[390999.98499999998603,392829.212000000057742],[391004.979999999981374,392831.301000000035856]]],[[[390999.98499999998603,392829.212000000057742],[391000.57760000001872,392829.459900000016205]]],[[[390993.812000000034459,392826.747999999963213],[390993.744999999995343,392826.807000000029802]]],[[[390990.533999999985099,392830.184999999997672],[390989.572000000043772,392833.322000000043772]]],[[[390974.377999999967869,392827.252000000036787],[390973.853999999992084,392826.852999999944586]]],[[[390951.552999999956228,392808.900000000023283],[390951.712999999988824,392809.098999999987427]]],[[[390910.777000000001863,392771.008999999961816],[390910.657000000006519,392770.942999999970198]]],[[[390917.646000000007916,392770.357000000018161],[390910.517999999981839,392764.592999999993481]]],[[[390917.646000000007916,392770.357000000018161],[390920.544999999983702,392766.731000000028871]]],[[[391004.979999999981374,392831.301000000035856],[391009.465000000025611,392833.088999999978114]]],[[[391004.979999999981374,392831.301000000035856],[391009.465000000025611,392833.088999999978114]]],[[[391004.979999999981374,392831.301000000035856],[391000.57760000001872,392829.459900000016205]]],[[[391000.57760000001872,392829.459900000016205],[390996.172000000020489,392840.260000000009313]]],[[[391000.57760000001872,392829.459900000016205],[390996.172000000020489,392840.260000000009313]]],[[[390993.744999999995343,392826.807000000029802],[390993.64000000001397,392826.841000000014901]]],[[[390989.572000000043772,392833.322000000043772],[390989.096000000019558,392834.772999999986496]]],[[[390973.853999999992084,392826.852999999944586],[390969.0,392827.0]]],[[[390951.712999999988824,392809.098999999987427],[390951.837999999988824,392809.198999999964144]]],[[[390910.657000000006519,392770.942999999970198],[390910.547000000020489,392770.909999999974389]]],[[[390910.517999999981839,392764.592999999993481],[390909.0,392760.0]]],[[[390920.544999999983702,392766.731000000028871],[390923.418999999994412,392763.337999999988824]]],[[[391009.465000000025611,392833.088999999978114],[391008.022999999986496,392836.744999999995343]]],[[[391009.465000000025611,392833.088999999978114],[391012.375,392834.182999999960884]]],[[[391009.465000000025611,392833.088999999978114],[391012.375,392834.182999999960884]]],[[[390996.172000000020489,392840.260000000009313],[390996.0,392843.0]]],[[[390993.64000000001397,392826.841000000014901],[390993.577000000048429,392826.832000000053085]]],[[[390989.096000000019558,392834.772999999986496],[390988.793999999994412,392835.422999999951571]]],[[[390951.837999999988824,392809.198999999964144],[390952.417999999946915,392809.568999999959488]]],[[[390910.547000000020489,392770.909999999974389],[390910.453999999968801,392770.898999999975786]]],[[[390923.418999999994412,392763.337999999988824],[390922.171000000031199,392762.286000000021886]]],[[[390923.418999999994412,392763.337999999988824],[390924.232000000018161,392762.3870000000461]]],[[[391008.022999999986496,392836.744999999995343],[391006.125,392841.75099999998929]]],[[[390993.577000000048429,392826.832000000053085],[390993.508999999961816,392826.793999999994412]]],[[[390988.793999999994412,392835.422999999951571],[390988.562000000034459,392835.841000000014901]]],[[[390952.417999999946915,392809.568999999959488],[390954.0,392812.0]]],[[[390910.453999999968801,392770.898999999975786],[390910.307000000029802,392770.898999999975786]]],[[[390922.171000000031199,392762.286000000021886],[390921.887999999977183,392762.002999999967869]]],[[[390924.232000000018161,392762.3870000000461],[390924.413999999989755,392762.163999999989755]]],[[[391006.125,392841.75099999998929],[391005.565000000002328,392843.217999999993481]]],[[[390993.508999999961816,392826.793999999994412],[390993.467000000004191,392826.744000000006054]]],[[[390988.562000000034459,392835.841000000014901],[390988.132000000041444,392836.432000000029802]]],[[[390910.307000000029802,392770.898999999975786],[390909.958999999973457,392770.940999999991618]]],[[[390921.887999999977183,392762.002999999967869],[390921.726000000024214,392761.78100000001723]]],[[[390924.413999999989755,392762.163999999989755],[390924.51500000001397,392762.062999999965541]]],[[[391005.565000000002328,392843.217999999993481],[391002.0,392847.0]]],[[[390993.467000000004191,392826.744000000006054],[390993.450000000011642,392826.677000000025146]]],[[[390988.132000000041444,392836.432000000029802],[390987.226000000024214,392837.534999999974389]]],[[[390909.958999999973457,392770.940999999991618],[390909.717999999993481,392770.967999999993481]]],[[[390921.726000000024214,392761.78100000001723],[390921.523999999975786,392761.457999999984168]]],[[[390924.51500000001397,392762.062999999965541],[390924.635999999998603,392761.962999999988824]]],[[[390993.450000000011642,392826.677000000025146],[390993.458999999973457,392826.60899999999674]]],[[[390987.226000000024214,392837.534999999974389],[390986.947000000043772,392837.814000000013038]]],[[[390909.717999999993481,392770.967999999993481],[390909.412000000011176,392771.005999999993946]]],[[[390921.523999999975786,392761.457999999984168],[390921.119999999995343,392760.650000000023283]]],[[[390924.635999999998603,392761.962999999988824],[390924.797999999951571,392761.882000000041444]]],[[[390993.458999999973457,392826.60899999999674],[390993.492000000027474,392826.521000000007916]]],[[[390986.947000000043772,392837.814000000013038],[390986.866000000038184,392837.895000000018626]]],[[[390909.412000000011176,392771.005999999993946],[390909.224999999976717,392771.017000000050757]]],[[[390921.119999999995343,392760.650000000023283],[390920.797000000020489,392760.043999999994412]]],[[[390924.797999999951571,392761.882000000041444],[390924.979999999981374,392761.862000000022817]]],[[[390993.492000000027474,392826.521000000007916],[390993.551000000035856,392826.412000000011176]]],[[[390986.866000000038184,392837.895000000018626],[390986.772999999986496,392837.929999999993015]]],[[[390986.866000000038184,392837.895000000018626],[390987.307000000029802,392838.184999999997672]]],[[[390909.224999999976717,392771.017000000050757],[390909.056000000040513,392771.022999999986496]]],[[[390920.797000000020489,392760.043999999994412],[390920.533999999985099,392759.64000000001397]]],[[[390924.979999999981374,392761.862000000022817],[390925.182000000029802,392761.882000000041444]]],[[[390993.551000000035856,392826.412000000011176],[390993.787000000011176,392826.133999999961816]]],[[[390986.772999999986496,392837.929999999993015],[390986.679999999993015,392837.929999999993015]]],[[[390987.307000000029802,392838.184999999997672],[390987.922999999951571,392838.510000000009313]]],[[[390909.056000000040513,392771.022999999986496],[390908.771000000007916,392771.0120000000461]]],[[[390920.533999999985099,392759.64000000001397],[390920.231000000028871,392759.236000000033528]]],[[[390925.182000000029802,392761.882000000041444],[390925.443999999959487,392762.017999999981839]]],[[[390993.787000000011176,392826.133999999961816],[390993.989000000001397,392825.96999999997206]]],[[[390986.679999999993015,392837.929999999993015],[390986.587000000057742,392837.907000000006519]]],[[[390987.922999999951571,392838.510000000009313],[390990.477999999944586,392839.867999999958556]]],[[[390908.771000000007916,392771.0120000000461],[390908.492000000027474,392770.98399999999674]]],[[[390920.231000000028871,392759.236000000033528],[390919.947999999974854,392758.932999999960884]]],[[[390925.443999999959487,392762.017999999981839],[390925.739999999990687,392761.64000000001397]]],[[[390925.443999999959487,392762.017999999981839],[390926.091000000014901,392762.507999999972526]]],[[[390993.989000000001397,392825.96999999997206],[390994.166000000026543,392825.872999999963213]]],[[[390986.587000000057742,392837.907000000006519],[390986.017999999981839,392837.5120000000461]]],[[[390990.477999999944586,392839.867999999958556],[390990.0,392841.0]]],[[[390908.492000000027474,392770.98399999999674],[390908.361000000033528,392770.962999999988824]]],[[[390919.947999999974854,392758.932999999960884],[390919.442999999970198,392758.467999999993481]]],[[[390925.739999999990687,392761.64000000001397],[390925.918999999994412,392761.413999999989755]]],[[[390926.091000000014901,392762.507999999972526],[390929.951000000000931,392765.901000000012573]]],[[[390994.166000000026543,392825.872999999963213],[390994.527999999991152,392825.697000000043772]]],[[[390986.017999999981839,392837.5120000000461],[390981.0,392837.0]]],[[[390908.361000000033528,392770.962999999988824],[390908.217999999993481,392770.934999999997672]]],[[[390919.442999999970198,392758.467999999993481],[390917.784999999974389,392756.994000000006054]]],[[[390925.918999999994412,392761.413999999989755],[390926.062000000034459,392761.187999999965541]]],[[[390929.951000000000931,392765.901000000012573],[390932.739000000001397,392768.301000000035856]]],[[[390908.217999999993481,392770.934999999997672],[390908.087000000057742,392770.885999999998603]]],[[[390917.784999999974389,392756.994000000006054],[390913.0,392755.0]]],[[[390926.062000000034459,392761.187999999965541],[390926.168999999994412,392760.950000000011642]]],[[[390932.739000000001397,392768.301000000035856],[390938.130999999993946,392762.197000000043772]]],[[[390932.739000000001397,392768.301000000035856],[390940.702000000048429,392775.184000000008382]]],[[[390908.087000000057742,392770.885999999998603],[390907.934000000008382,392770.815000000002328]]],[[[390926.168999999994412,392760.950000000011642],[390926.216000000014901,392760.760000000009313]]],[[[390938.130999999993946,392762.197000000043772],[390937.547999999951571,392761.707000000053085]]],[[[390938.130999999993946,392762.197000000043772],[390939.538999999989755,392760.603999999992084]]],[[[390940.702000000048429,392775.184000000008382],[390947.038999999989755,392768.130999999993946]]],[[[390940.702000000048429,392775.184000000008382],[390942.352000000013504,392776.625]]],[[[390907.934000000008382,392770.815000000002328],[390907.698999999964144,392770.684000000008382]]],[[[390926.216000000014901,392760.760000000009313],[390926.239999999990687,392760.450000000011642]]],[[[390937.547999999951571,392761.707000000053085],[390937.378999999957159,392761.538999999989755]]],[[[390939.538999999989755,392760.603999999992084],[390943.0,392758.0]]],[[[390947.038999999989755,392768.130999999993946],[390949.0,392763.0]]],[[[390942.352000000013504,392776.625],[390944.147999999986496,392778.217000000004191]]],[[[390907.698999999964144,392770.684000000008382],[390907.12400000001071,392770.223999999987427]]],[[[390926.239999999990687,392760.450000000011642],[390926.203999999968801,392759.927000000025146]]],[[[390937.378999999957159,392761.538999999989755],[390937.284999999974389,392761.417999999946915]]],[[[390944.147999999986496,392778.217000000004191],[390948.940999999991618,392782.352999999944586]]],[[[390944.147999999986496,392778.217000000004191],[390944.182000000029802,392778.111000000033528]]],[[[390907.12400000001071,392770.223999999987427],[390906.396000000007916,392769.567999999970198]]],[[[390926.203999999968801,392759.927000000025146],[390925.585000000020955,392756.047999999951571]]],[[[390937.284999999974389,392761.417999999946915],[390937.231000000028871,392761.342999999993481]]],[[[390948.940999999991618,392782.352999999944586],[390954.592000000004191,392787.287999999942258]]],[[[390948.940999999991618,392782.352999999944586],[390951.512999999977183,392779.362000000022817]]],[[[390944.182000000029802,392778.111000000033528],[390944.201000000000931,392778.007999999972526]]],[[[390906.396000000007916,392769.567999999970198],[390906.330000000016298,392769.502000000036787]]],[[[390925.585000000020955,392756.047999999951571],[390925.09499999997206,392752.8629999999539]]],[[[390937.231000000028871,392761.342999999993481],[390937.197000000043772,392761.255999999993946]]],[[[390954.592000000004191,392787.287999999942258],[390960.502999999967869,392792.289999999979045]]],[[[390951.512999999977183,392779.362000000022817],[390951.778999999980442,392779.033999999985099]]],[[[390944.201000000000931,392778.007999999972526],[390944.201000000000931,392777.911000000021886]]],[[[390906.330000000016298,392769.502000000036787],[390906.287000000011176,392769.442000000039116]]],[[[390925.09499999997206,392752.8629999999539],[390924.960000000020955,392751.851000000024214]]],[[[390937.197000000043772,392761.255999999993946],[390937.177000000025146,392761.174999999988358]]],[[[390960.502999999967869,392792.289999999979045],[390962.99900000001071,392794.377000000036787]]],[[[390960.502999999967869,392792.289999999979045],[390966.597000000008848,392785.202000000048429]]],[[[390951.778999999980442,392779.033999999985099],[390951.872999999963213,392778.902999999991152]]],[[[390944.201000000000931,392777.911000000021886],[390944.187999999965541,392777.802000000025146]]],[[[390906.287000000011176,392769.442000000039116],[390906.258999999961816,392769.37599999998929]]],[[[390924.960000000020955,392751.851000000024214],[390924.892000000050757,392750.923999999999069]]],[[[390937.177000000025146,392761.174999999988358],[390937.177000000025146,392761.081000000005588]]],[[[390962.99900000001071,392794.377000000036787],[390966.382999999972526,392797.222000000008848]]],[[[390966.597000000008848,392785.202000000048429],[390967.382999999972526,392784.224999999976717]]],[[[390951.872999999963213,392778.902999999991152],[390951.956000000005588,392778.753999999957159]]],[[[390944.187999999965541,392777.802000000025146],[390944.156000000017229,392777.717999999993481]]],[[[390906.258999999961816,392769.37599999998929],[390906.247999999963213,392769.299999999988358]]],[[[390924.892000000050757,392750.923999999999069],[390924.87599999998929,392750.417999999946915]]],[[[390937.177000000025146,392761.081000000005588],[390937.190999999991618,392761.007000000041444]]],[[[390966.382999999972526,392797.222000000008848],[390970.343999999982771,392800.554000000003725]]],[[[390967.382999999972526,392784.224999999976717],[390967.789999999979045,392783.707000000053085]]],[[[390951.956000000005588,392778.753999999957159],[390952.0120000000461,392778.62400000001071]]],[[[390944.156000000017229,392777.717999999993481],[390944.072000000043772,392777.60899999999674]]],[[[390906.247999999963213,392769.299999999988358],[390906.247999999963213,392769.228999999992084]]],[[[390924.87599999998929,392750.417999999946915],[390924.892000000050757,392750.013999999966472]]],[[[390937.190999999991618,392761.007000000041444],[390937.231000000028871,392760.926000000035856]]],[[[390970.343999999982771,392800.554000000003725],[390973.518999999971129,392803.236000000033528]]],[[[390967.789999999979045,392783.707000000053085],[390965.176000000035856,392781.033999999985099]]],[[[390967.789999999979045,392783.707000000053085],[390967.869000000006054,392783.614000000001397]]],[[[390952.0120000000461,392778.62400000001071],[390952.067999999970198,392778.466000000014901]]],[[[390944.072000000043772,392777.60899999999674],[390943.950000000011642,392777.49900000001071]]],[[[390906.247999999963213,392769.228999999992084],[390906.258999999961816,392769.162999999942258]]],[[[390924.892000000050757,392750.013999999966472],[390924.960000000020955,392749.676000000035856]]],[[[390937.231000000028871,392760.926000000035856],[390937.284999999974389,392760.84499999997206]]],[[[390973.518999999971129,392803.236000000033528],[390974.707999999984168,392804.21999999997206]]],[[[390973.518999999971129,392803.236000000033528],[390977.440999999991618,392798.797999999951571]]],[[[390965.176000000035856,392781.033999999985099],[390965.0,392778.0]]],[[[390967.869000000006054,392783.614000000001397],[390967.937999999965541,392783.559000000008382]]],[[[390952.067999999970198,392778.466000000014901],[390952.106000000028871,392778.307000000029802]]],[[[390943.950000000011642,392777.49900000001071],[390943.847000000008848,392777.429000000003725]]],[[[390906.258999999961816,392769.162999999942258],[390906.302999999956228,392769.081000000005588]]],[[[390924.960000000020955,392749.676000000035856],[390925.077999999979511,392749.288999999989755]]],[[[390937.284999999974389,392760.84499999997206],[390937.392999999981839,392760.703999999968801]]],[[[390974.707999999984168,392804.21999999997206],[390976.271000000007916,392805.663999999989756]]],[[[390977.440999999991618,392798.797999999951571],[390980.71999999997206,392795.088999999978114]]],[[[390967.937999999965541,392783.559000000008382],[390968.007000000041444,392783.531000000017229]]],[[[390952.106000000028871,392778.307000000029802],[390952.133999999961816,392778.083999999973457]]],[[[390943.847000000008848,392777.429000000003725],[390943.737000000022817,392777.377000000036787]]],[[[390906.302999999956228,392769.081000000005588],[390906.369000000006054,392768.9879999999539]]],[[[390925.077999999979511,392749.288999999989755],[390925.229999999981374,392748.952000000048429]]],[[[390937.392999999981839,392760.703999999968801],[390938.215000000025611,392759.659999999974389]]],[[[390976.271000000007916,392805.663999999989756],[390980.318999999959487,392808.982999999949243]]],[[[390980.71999999997206,392795.088999999978114],[390978.193999999959487,392792.522999999986496]]],[[[390980.71999999997206,392795.088999999978114],[390980.830000000016298,392795.018999999971129]]],[[[390968.007000000041444,392783.531000000017229],[390968.132000000041444,392783.517000000050757]]],[[[390952.133999999961816,392778.083999999973457],[390952.161000000021886,392777.776000000012573]]],[[[390943.737000000022817,392777.377000000036787],[390943.659999999974389,392777.357999999949243]]],[[[390906.369000000006054,392768.9879999999539],[390906.707999999984168,392768.567000000039116]]],[[[390925.229999999981374,392748.952000000048429],[390925.5,392748.445999999996275]]],[[[390938.215000000025611,392759.659999999974389],[390940.0,392756.0]]],[[[390980.318999999959487,392808.982999999949243],[390983.289999999979045,392812.0120000000461]]],[[[390978.193999999959487,392792.522999999986496],[390978.0,392789.0]]],[[[390980.830000000016298,392795.018999999971129],[390980.951000000000931,392794.989000000001397]]],[[[390968.132000000041444,392783.517000000050757],[390968.298999999999069,392783.572999999974854]]],[[[390952.161000000021886,392777.776000000012573],[390952.189000000013039,392777.450000000011642]]],[[[390943.659999999974389,392777.357999999949243],[390943.562999999965541,392777.357999999949243]]],[[[390906.707999999984168,392768.567000000039116],[390906.0,392764.0]]],[[[390925.5,392748.445999999996275],[390926.112000000022817,392747.462999999988824]]],[[[390983.289999999979045,392812.0120000000461],[390985.7620000000461,392814.221000000019558]]],[[[390980.951000000000931,392794.989000000001397],[390981.082000000053085,392794.958999999973457]]],[[[390968.298999999999069,392783.572999999974854],[390968.409999999974389,392783.642000000050757]]],[[[390952.189000000013039,392777.450000000011642],[390952.227000000013504,392777.236000000033528]]],[[[390943.562999999965541,392777.357999999949243],[390943.472999999998137,392777.377000000036787]]],[[[390926.112000000022817,392747.462999999988824],[390926.443999999959487,392747.366000000038184]]],[[[390926.112000000022817,392747.462999999988824],[390924.179000000003725,392748.181000000040513]]],[[[390985.7620000000461,392814.221000000019558],[390988.242999999958556,392815.901000000012573]]],[[[390981.082000000053085,392794.958999999973457],[390981.202000000048429,392794.958999999973457]]],[[[390968.409999999974389,392783.642000000050757],[390968.576000000000931,392783.78100000001723]]],[[[390952.227000000013504,392777.236000000033528],[390952.282999999995809,392777.022000000055414]]],[[[390943.472999999998137,392777.377000000036787],[390943.39000000001397,392777.416000000026543]]],[[[390926.443999999959487,392747.366000000038184],[390926.73399999999674,392747.282999999995809]]],[[[390924.179000000003725,392748.181000000040513],[390921.099999999976717,392749.367000000027474]]],[[[390988.242999999958556,392815.901000000012573],[390988.443999999959487,392815.943999999959488]]],[[[390988.242999999958556,392815.901000000012573],[390990.62599999998929,392817.377000000036787]]],[[[390981.202000000048429,392794.958999999973457],[390981.332999999984168,392794.978999999992084]]],[[[390968.576000000000931,392783.78100000001723],[390969.687000000034459,392784.792999999946915]]],[[[390952.282999999995809,392777.022000000055414],[390952.310999999986962,392776.919999999983702]]],[[[390943.39000000001397,392777.416000000026543],[390943.306000000040513,392777.505999999993946]]],[[[390926.73399999999674,392747.282999999995809],[390926.982000000018161,392747.255999999993946]]],[[[390921.099999999976717,392749.367000000027474],[390918.462000000057742,392750.361000000033528]]],[[[390988.443999999959487,392815.943999999959488],[390988.650000000023283,392815.950000000011642]]],[[[390990.62599999998929,392817.377000000036787],[390993.25,392818.979999999981374]]],[[[390990.62599999998929,392817.377000000036787],[390993.25,392818.979999999981374]]],[[[390981.332999999984168,392794.978999999992084],[390981.412999999942258,392795.008999999961816]]],[[[390969.687000000034459,392784.792999999946915],[390973.0,392785.0]]],[[[390952.310999999986962,392776.919999999983702],[390952.366000000038184,392776.760999999998603]]],[[[390943.306000000040513,392777.505999999993946],[390943.034999999974389,392777.827999999979511]]],[[[390926.982000000018161,392747.255999999993946],[390927.176000000035856,392747.255999999993946]]],[[[390918.462000000057742,392750.361000000033528],[390917.0,392751.0]]],[[[390988.650000000023283,392815.950000000011642],[390988.853999999992084,392815.917999999946915]]],[[[390993.25,392818.979999999981374],[390995.557000000029802,392820.130999999993946]]],[[[390993.25,392818.979999999981374],[390995.557000000029802,392820.130999999993946]]],[[[390981.412999999942258,392795.008999999961816],[390981.523999999975786,392795.078999999968801]]],[[[390952.366000000038184,392776.760999999998603],[390952.440999999991618,392776.622000000032131]]],[[[390943.034999999974389,392777.827999999979511],[390942.693999999959488,392778.174999999988358]]],[[[390927.176000000035856,392747.255999999993946],[390927.369000000006054,392747.297000000020489]]],[[[390988.853999999992084,392815.917999999946915],[390989.047999999951571,392815.851000000024214]]],[[[390995.557000000029802,392820.130999999993946],[390997.982999999949243,392821.471000000019558]]],[[[390995.557000000029802,392820.130999999993946],[390997.982999999949243,392821.471000000019558]]],[[[390981.523999999975786,392795.078999999968801],[390982.35899999999674,392795.762999999977183]]],[[[390952.440999999991618,392776.622000000032131],[390952.581000000005588,392776.445000000006985]]],[[[390942.693999999959488,392778.174999999988358],[390942.332999999984168,392778.51600000000326]]],[[[390927.369000000006054,392747.297000000020489],[390927.534999999974389,392747.338999999978114]]],[[[390989.047999999951571,392815.851000000024214],[390989.227000000013504,392815.74900000001071]]],[[[390997.982999999949243,392821.471000000019558],[390999.996000000042841,392822.532000000006519]]],[[[390997.982999999949243,392821.471000000019558],[390999.996000000042841,392822.532000000006519]]],[[[390982.35899999999674,392795.762999999977183],[390986.0,392795.0]]],[[[390952.581000000005588,392776.445000000006985],[390954.099999999976717,392774.60999999998603]]],[[[390927.534999999974389,392747.338999999978114],[390927.645000000018626,392747.393999999971129]]],[[[390989.227000000013504,392815.74900000001071],[390989.385000000009313,392815.617000000027474]]],[[[390999.996000000042841,392822.532000000006519],[391002.28000000002794,392823.398999999975786]]],[[[390999.996000000042841,392822.532000000006519],[391002.28000000002794,392823.398999999975786]]],[[[390954.099999999976717,392774.60999999998603],[390954.732000000018161,392773.897000000055414]]],[[[390927.645000000018626,392747.393999999971129],[390927.770000000018626,392747.462999999988824]]],[[[390989.385000000009313,392815.617000000027474],[390989.51600000000326,392815.457999999984168]]],[[[391002.28000000002794,392823.398999999975786],[391004.255000000004657,392819.013999999966472]]],[[[391002.28000000002794,392823.398999999975786],[391005.614999999990687,392824.809999999997672]]],[[[391002.28000000002794,392823.398999999975786],[391005.614999999990687,392824.809999999997672]]],[[[390954.732000000018161,392773.897000000055414],[390955.052999999956228,392773.534999999974389]]],[[[390927.770000000018626,392747.462999999988824],[390927.934999999997672,392747.601000000024214]]],[[[390989.51600000000326,392815.457999999984168],[390989.573499999998603,392815.375500000023749]]],[[[391004.255000000004657,392819.013999999966472],[391004.582000000053085,392818.39100000000326]]],[[[391005.614999999990687,392824.809999999997672],[391009.669999999983702,392826.422999999951571]]],[[[391005.614999999990687,392824.809999999997672],[391009.669999999983702,392826.422999999951571]]],[[[390955.052999999956228,392773.534999999974389],[390955.133999999961816,392773.465000000025611]]],[[[390927.934999999997672,392747.601000000024214],[390928.184000000008382,392747.848999999987427]]],[[[390989.573499999998603,392815.375500000023749],[390990.602000000013504,392813.3629999999539]]],[[[391004.582000000053085,392818.39100000000326],[391005.270000000018626,392816.532000000006519]]],[[[391009.669999999983702,392826.422999999951571],[391016.00099999998929,392829.070000000006985]]],[[[391009.669999999983702,392826.422999999951571],[391016.00099999998929,392829.070000000006985]]],[[[390955.133999999961816,392773.465000000025611],[390955.203999999968801,392773.417999999946915]]],[[[390928.184000000008382,392747.848999999987427],[390931.0,392748.0]]],[[[390928.184000000008382,392747.848999999987427],[390935.0,392751.0]]],[[[390990.602000000013504,392813.3629999999539],[390991.411000000021886,392812.135999999998603]]],[[[391005.270000000018626,392816.532000000006519],[391006.257000000041444,392814.423999999999069]]],[[[391016.00099999998929,392829.070000000006985],[391018.607000000018161,392830.062999999965541]]],[[[391016.00099999998929,392829.070000000006985],[391018.607000000018161,392830.062999999965541]]],[[[390955.203999999968801,392773.417999999946915],[390955.284999999974389,392773.377999999967869]]],[[[390991.411000000021886,392812.135999999998603],[390991.997000000032131,392810.992000000027474]]],[[[391006.257000000041444,392814.423999999999069],[391006.471000000019558,392814.211000000010245]]],[[[391018.607000000018161,392830.062999999965541],[391020.304000000003725,392830.434999999997672]]],[[[391018.607000000018161,392830.062999999965541],[391020.304000000003725,392830.434999999997672]]],[[[390955.284999999974389,392773.377999999967869],[390955.354999999981374,392773.35999999998603]]],[[[390991.997000000032131,392810.992000000027474],[390992.556000000040513,392809.76500000001397]]],[[[391006.471000000019558,392814.211000000010245],[391006.76500000001397,392813.971000000019558]]],[[[391006.471000000019558,392814.211000000010245],[391005.777000000001863,392813.729999999981374]]],[[[391020.304000000003725,392830.434999999997672],[391021.503999999957159,392830.434999999997672]]],[[[391020.304000000003725,392830.434999999997672],[391021.503999999957159,392830.434999999997672]]],[[[390955.354999999981374,392773.35999999998603],[390955.424999999988358,392773.354999999981374]]],[[[390992.556000000040513,392809.76500000001397],[390993.7620000000461,392807.804000000003725]]],[[[391006.76500000001397,392813.971000000019558],[391007.112000000022817,392813.917000000015832]]],[[[391005.777000000001863,392813.729999999981374],[391004.148999999975786,392812.60999999998603]]],[[[391021.503999999957159,392830.434999999997672],[391022.496000000042841,392830.239000000001397]]],[[[391021.503999999957159,392830.434999999997672],[391022.496000000042841,392830.239000000001397]]],[[[390955.424999999988358,392773.354999999981374],[390955.494999999995343,392773.354999999981374]]],[[[390993.7620000000461,392807.804000000003725],[390994.075000000011642,392807.333999999973457]]],[[[391007.112000000022817,392813.917000000015832],[391007.646000000007916,392813.917000000015832]]],[[[391004.148999999975786,392812.60999999998603],[391005.0,392808.0]]],[[[390955.494999999995343,392773.354999999981374],[390955.564000000013038,392773.35999999998603]]],[[[390994.075000000011642,392807.333999999973457],[390994.421000000031199,392806.815999999991618]]],[[[390994.075000000011642,392807.333999999973457],[390992.315999999991618,392804.712000000057742]]],[[[391007.646000000007916,392813.917000000015832],[391008.286000000021886,392814.130999999993946]]],[[[390955.564000000013038,392773.35999999998603],[390956.755999999993946,392773.690999999991618]]],[[[390994.421000000031199,392806.815999999991618],[390994.96999999997206,392805.952999999979511]]],[[[390992.315999999991618,392804.712000000057742],[390990.810999999986962,392802.497000000032131]]],[[[391008.286000000021886,392814.130999999993946],[391010.60899999999674,392815.357999999949243]]],[[[390956.755999999993946,392773.690999999991618],[390952.377000000036787,392769.849999999976717]]],[[[390956.755999999993946,392773.690999999991618],[390960.0,392774.0]]],[[[390994.96999999997206,392805.952999999979511],[390995.1129999999539,392805.809999999997672]]],[[[390990.810999999986962,392802.497000000032131],[390991.0,392798.0]]],[[[391010.60899999999674,392815.357999999949243],[391014.0,392812.0]]],[[[390952.377000000036787,392769.849999999976717],[390952.0,392766.0]]],[[[390995.1129999999539,392805.809999999997672],[390995.257000000041444,392805.717999999993481]]],[[[390995.257000000041444,392805.717999999993481],[390995.401000000012573,392805.717999999993481]]],[[[390995.401000000012573,392805.717999999993481],[390995.583999999973457,392805.757999999972526]]],[[[390995.583999999973457,392805.757999999972526],[390995.885000000009313,392805.913999999989756]]],[[[390995.885000000009313,392805.913999999989756],[390996.354999999981374,392806.267000000050757]]],[[[390996.354999999981374,392806.267000000050757],[391001.0,392805.0]]]]}", + "orient": "split", "dtype": { "coords": "object" - }, - "orient": "split" + } }, "bus_geodata": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"x\",\"y\",\"coords\"],\"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,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906],\"data\":[[390883.0,392897.0,null],[390872.662999999942258,392887.378999999957159,null],[390871.596000000019558,392887.637999999977183,null],[390871.481000000028871,392887.642999999981839,null],[390871.378999999957159,392887.607999999949243,null],[390871.304999999993015,392887.549999999988358,null],[390871.23399999999674,392887.419999999983702,null],[390868.778999999980442,392877.6370000000461,null],[390868.752999999967869,392877.185999999986961,null],[390868.752999999967869,392876.809999999997672,null],[390868.804000000003725,392876.48399999999674,null],[390868.903999999980442,392876.258999999961816,null],[390869.078999999968801,392876.107999999949243,null],[390869.179999999993015,392876.007999999972526,null],[390869.5,392875.857000000018161,null],[390872.292000000015832,392875.207999999984168,null],[390872.314000000013038,392875.302000000025146,null],[390875.677999999956228,392874.422000000020489,null],[390872.315999999991618,392875.346000000019558,null],[390875.907000000006519,392874.352999999944586,null],[390872.312000000034459,392875.392000000050757,null],[390876.142000000050757,392874.222999999998137,null],[390872.302999999956228,392875.432999999960884,null],[390876.440000000002328,392873.902999999991152,null],[390872.287999999942258,392875.482000000018161,null],[390877.002999999967869,392873.341000000014901,null],[390872.262999999977183,392875.532000000006519,null],[390880.364000000001397,392878.195999999996275,null],[390884.190000000002328,392866.432999999960884,null],[390872.239000000001397,392875.581000000005588,null],[390881.306000000040513,392879.522000000055414,null],[390879.232000000018161,392879.304999999993015,null],[390886.111000000033528,392864.602000000013504,null],[390872.169999999983702,392875.710000000020955,null],[390885.0,392880.0,null],[390879.207999999984168,392879.352999999944586,null],[390890.169500000018161,392868.642000000050757,null],[390891.918999999994412,392859.065000000002328,null],[390872.092000000004191,392875.822000000043772,null],[390879.182999999960884,392879.426000000035856,null],[390890.443999999959487,392868.351000000024214,null],[390891.409999999974389,392869.955000000016298,null],[390895.962999999988824,392855.237000000022817,null],[390891.775000000023283,392858.902999999991152,null],[390872.072999999974854,392875.849999999976717,null],[390879.158999999985099,392879.522000000055414,null],[390890.570999999996275,392868.222999999998137,null],[390893.0,392874.0,null],[390899.026000000012573,392852.352000000013504,null],[390891.742000000027474,392858.804000000003725,null],[390872.037999999942258,392875.882999999972526,null],[390879.158999999985099,392879.762999999977183,null],[390890.753999999957159,392868.167999999946915,null],[390899.474999999976717,392851.943999999959488,null],[390899.491000000038184,392852.791000000026543,null],[390891.758999999961816,392858.689000000013038,null],[390871.963999999978114,392875.929999999993015,null],[390879.232000000018161,392879.956000000005588,null],[390890.935999999986962,392868.167999999946915,null],[390901.468999999982771,392850.052999999956228,null],[390899.547999999951571,392852.822999999974854,null],[390891.775000000023283,392858.590000000025611,null],[390871.892000000050757,392875.960000000020955,null],[390879.907000000006519,392880.679000000003725,null],[390891.044999999983702,392868.167999999946915,null],[390901.869999999995343,392849.663999999989756,null],[390907.229999999981374,392855.96999999997206,null],[390899.617999999958556,392852.847000000008848,null],[390891.825000000011642,392858.507999999972526,null],[390871.812000000034459,392875.982999999949243,null],[390881.0,392884.0,null],[390891.246000000042841,392868.241000000038184,null],[390906.932000000029802,392845.427999999956228,null],[390907.0,392860.0,null],[390907.0,392860.0,null],[390899.792999999946915,392852.8870000000461,null],[390891.972000000008848,392858.323999999964144,null],[390871.435999999986962,392876.082999999984168,null],[390892.047999999951571,392868.96999999997206,null],[390908.6129999999539,392843.857000000018161,null],[390899.888999999966472,392852.926000000035856,null],[390892.5120000000461,392857.807999999960884,null],[390870.934999999997672,392876.182999999960884,null],[390896.0,392870.0,null],[390909.025000000023283,392843.570000000006985,null],[390899.982000000018161,392852.987000000022817,null],[390893.557999999960884,392856.820000000006985,null],[390870.633999999961816,392876.258999999961816,null],[390909.877999999967869,392843.013999999966472,null],[390900.059999999997672,392853.057000000029802,null],[390893.775000000023283,392856.554999999993015,null],[390870.525000000023283,392876.284999999974389,null],[390910.741000000038184,392842.592999999993481,null],[390893.802999999956228,392856.496000000042841,null],[390870.492000000027474,392876.296000000031199,null],[390911.229999999981374,392842.323999999964144,null],[390893.799999999988358,392856.409999999974389,null],[390870.457999999984168,392876.309999999997672,null],[390911.556000000040513,392842.152000000001863,null],[390893.78100000001723,392856.377999999967869,null],[390870.382999999972526,392876.35899999999674,null],[390911.997000000032131,392841.897999999986496,null],[390890.706000000005588,392852.332000000053085,null],[390870.157000000006519,392876.533999999985099,null],[390912.282000000006519,392841.942000000039116,null],[390912.282000000006519,392841.71999999997206,null],[390890.64000000001397,392852.121000000042841,null],[390912.630000000004657,392841.967000000004191,null],[390912.429999999993015,392841.599999999976717,null],[390890.510999999998603,392851.689000000013038,null],[390913.032000000006519,392842.010999999998603,null],[390917.462999999988824,392836.01500000001397,null],[390883.277000000001863,392842.143999999971129,null],[390913.6370000000461,392842.130000000004657,null],[390918.003999999957159,392835.491000000038184,null],[390876.522999999986496,392833.895000000018626,null],[390914.400000000023283,392842.34499999997206,null],[390918.76500000001397,392836.292999999946915,null],[390915.4879999999539,392832.838999999978114,null],[390875.777999999991152,392833.236000000033528,null],[390914.923999999999069,392842.567000000039116,null],[390918.948999999964144,392836.228999999992084,null],[390919.135000000009313,392836.684000000008382,null],[390910.895000000018626,392828.10999999998603,null],[390875.198999999964144,392832.799999999988358,null],[390915.64000000001397,392842.932999999960884,null],[390919.114999999990687,392836.198999999964144,null],[390920.87599999998929,392838.517999999981839,null],[390908.833999999973457,392825.978999999992084,null],[390874.662000000011176,392832.479999999981374,null],[390916.402999999991152,392843.351000000024214,null],[390919.23399999999674,392836.205000000016298,null],[390923.576000000000931,392835.814000000013038,null],[390925.817000000039116,392843.724999999976717,null],[390908.271000000007916,392825.299999999988358,null],[390872.864999999990687,392831.802999999956228,null],[390917.072000000043772,392843.826000000000931,null],[390919.412000000011176,392836.252999999967869,null],[390923.798999999999069,392835.572000000043772,null],[390929.523999999975786,392847.568999999959488,null],[390907.614999999990687,392824.551000000035856,null],[390871.466000000014901,392831.607000000018161,null],[390918.076000000000931,392844.727000000013504,null],[390919.607999999949243,392836.347999999998137,null],[390923.972999999998137,392835.299999999988358,null],[390932.01500000001397,392850.135000000009313,null],[390907.052999999956228,392823.802000000025146,null],[390871.226000000024214,392831.622999999963213,null],[390922.542000000015832,392849.331000000005588,null],[390919.7620000000461,392836.466000000014901,null],[390924.070000000006985,392835.057999999960884,null],[390934.502999999967869,392852.697000000043772,null],[390935.583999999973457,392846.447999999974854,null],[390906.491000000038184,392822.864999999990687,null],[390871.172999999951571,392831.687000000034459,null],[390923.521000000007916,392850.327999999979511,null],[390919.90500000002794,392836.632000000041444,null],[390924.127999999967869,392834.671000000031199,null],[390941.046000000031199,392859.544999999983702,null],[390935.817000000039116,392846.239999999990687,null],[390906.349999999976717,392822.583999999973457,null],[390871.127999999967869,392831.801000000035856,null],[390915.060999999986961,392858.471000000019558,null],[390927.222000000008848,392854.099999999976717,null],[390920.0120000000461,392836.804999999993015,null],[390924.168999999994412,392834.201000000000931,null],[390943.336000000010245,392861.907000000006519,null],[390935.994999999995343,392846.017000000050757,null],[390905.502000000036787,392821.0120000000461,null],[390871.099999999976717,392832.048999999999069,null],[390913.477999999944586,392860.025000000023283,null],[390931.986000000033528,392859.25,null],[390920.077000000048429,392836.965000000025611,null],[390924.246000000042841,392833.852999999944586,null],[390946.010000000009313,392864.771000000007916,null],[390946.317000000039116,392858.942000000039116,null],[390936.049999999988358,392845.912000000011176,null],[390905.189000000013039,392820.052999999956228,null],[390910.0,392863.0,null],[390932.787999999942258,392860.117999999958556,null],[390930.205000000016298,392860.892000000050757,null],[390920.101000000024214,392837.142999999981839,null],[390924.411000000021886,392833.474999999976717,null],[390946.422000000020489,392865.190000000002328,null],[390946.617999999958556,392858.602000000013504,null],[390936.119000000006054,392845.666000000026543,null],[390905.022000000055414,392819.322999999974854,null],[390935.932000000029802,392863.544999999983702,null],[390923.046000000031199,392867.911000000021886,null],[390920.09499999997206,392837.297000000020489,null],[390924.643999999971129,392833.164999999979045,null],[390948.046000000031199,392866.840000000025611,null],[390946.652000000001863,392865.033999999985099,null],[390946.840000000025611,392858.222999999998137,null],[390936.242000000027474,392845.027000000001863,null],[390904.937999999965541,392818.65500000002794,null],[390941.567999999970198,392869.642999999981839,null],[390921.647000000055414,392869.282999999995809,null],[390923.823999999964144,392868.73399999999674,null],[390920.042000000015832,392837.481000000028871,null],[390924.934000000008382,392832.864999999990687,null],[390948.692999999970198,392867.510000000009313,null],[390946.807000000029802,392864.978999999992084,null],[390946.971000000019558,392857.897000000055414,null],[390936.287999999942258,392844.647999999986496,null],[390905.00099999998929,392817.820999999996275,null],[390939.127999999967869,392871.786000000021886,null],[390943.018999999971129,392871.212000000057742,null],[390917.0,392871.0,null],[390923.916000000026543,392868.864999999990687,null],[390919.804000000003725,392837.861000000033528,null],[390925.39000000001397,392832.418999999994412,null],[390946.962000000057742,392864.96999999997206,null],[390947.022999999986496,392857.622000000032131,null],[390936.387999999977183,392844.400000000023283,null],[390905.25099999998929,392816.297999999951571,null],[390931.5120000000461,392879.201000000000931,null],[390945.597000000008848,392874.081000000005588,null],[390923.961000000010244,392868.986000000033528,null],[390919.412000000011176,392838.407000000006519,null],[390926.642999999981839,392831.208999999973457,null],[390947.12599999998929,392865.01500000001397,null],[390947.088999999978114,392857.033999999985099,null],[390936.60999999998603,392843.935999999986962,null],[390905.690000000002328,392815.026000000012573,null],[390927.0,392880.0,null],[390946.518999999971129,392875.103999999992084,null],[390923.967000000004191,392869.088999999978114,null],[390926.75,392831.106000000028871,null],[390947.326000000000931,392865.133999999961816,null],[390947.179999999993015,392856.577000000048429,null],[390936.74900000001071,392843.721000000019558,null],[390906.065000000002328,392814.190999999991618,null],[390937.556000000040513,392882.923999999999069,null],[390947.272999999986496,392875.942000000039116,null],[390923.916000000026543,392869.2379999999539,null],[390926.804999999993015,392831.065000000002328,null],[390947.489999999990687,392865.260999999998603,null],[390947.287000000011176,392856.272000000055414,null],[390936.87400000001071,392843.588999999978114,null],[390906.398999999975786,392813.690999999991618,null],[390936.301000000035856,392884.111000000033528,null],[390923.807000000029802,392869.3870000000461,null],[390926.875,392831.042999999946915,null],[390947.590000000025611,392865.397000000055414,null],[390947.457000000053085,392855.997999999963213,null],[390938.352000000013504,392842.12599999998929,null],[390907.212999999988824,392812.684999999997672,null],[390931.0,392884.0,null],[390931.0,392884.0,null],[390923.606000000028871,392869.587000000057742,null],[390926.945000000006985,392831.047000000020489,null],[390947.62599999998929,392865.525000000023283,null],[390947.783999999985099,392855.657999999995809,null],[390938.796000000031199,392841.702999999979511,null],[390910.804999999993015,392815.497000000032131,null],[390907.752000000036787,392812.018999999971129,null],[390922.854999999981374,392870.302999999956228,null],[390927.018999999971129,392831.072000000043772,null],[390947.635000000009313,392865.697999999974854,null],[390949.052000000025146,392854.417000000015832,null],[390938.913999999989756,392841.632999999972526,null],[390911.309000000008382,392815.87599999998929,null],[390909.871000000042841,392809.603999999992084,null],[390921.0,392875.0,null],[390927.156000000017229,392831.157000000006519,null],[390947.598999999987427,392865.888999999966472,null],[390949.357999999949243,392854.137999999977183,null],[390936.706000000005588,392838.972000000008848,null],[390939.032000000006519,392841.619999999995343,null],[390911.513999999966472,392816.081000000005588,null],[390913.164999999979045,392812.297000000020489,null],[390910.582999999984168,392808.792999999946915,null],[390927.282000000006519,392831.267999999981839,null],[390947.507999999972526,392866.042999999946915,null],[390949.51600000000326,392854.032999999995809,null],[390935.0,392836.0,null],[390939.171000000031199,392841.6129999999539,null],[390911.682999999960884,392816.380999999993946,null],[390913.419999999983702,392812.472000000008848,null],[390913.172999999951571,392805.861000000033528,null],[390927.695000000006985,392831.755000000004657,null],[390947.070999999996275,392866.462000000057742,null],[390949.635999999998603,392853.99900000001071,null],[390939.296000000031199,392841.627000000036787,null],[390911.851000000024214,392816.885000000009313,null],[390913.647999999986496,392812.586000000010244,null],[390914.333999999973457,392804.546000000031199,null],[390912.467000000004191,392805.282000000006519,null],[390931.0,392831.0,null],[390946.507000000041444,392867.043999999994412,null],[390949.096000000019558,392853.309000000008382,null],[390949.744000000006054,392853.994999999995343,null],[390939.413999999989755,392841.674999999988358,null],[390912.00099999998929,392817.333999999973457,null],[390913.996000000042841,392812.685999999986962,null],[390914.838999999978114,392803.916000000026543,null],[390909.292000000015832,392803.146000000007916,null],[390948.847999999998137,392852.992000000027474,null],[390949.818999999959488,392854.010000000009313,null],[390939.538999999989755,392841.731000000028871,null],[390912.187999999965541,392817.651000000012573,null],[390915.583999999973457,392813.037000000011176,null],[390918.268999999971129,392799.908999999985099,null],[390908.726000000024214,392802.518999999971129,null],[390948.392500000016298,392852.485500000009779,null],[390949.897999999986496,392854.051000000035856,null],[390940.114999999990687,392842.277999999991152,null],[390912.453999999968801,392818.023999999975786,null],[390915.882000000041444,392813.132999999972526,null],[390918.528999999980442,392799.6129999999539,null],[390908.547999999951571,392802.302000000025146,null],[390947.472000000008848,392851.557000000029802,null],[390950.032000000006519,392854.156000000017229,null],[390943.0,392844.0,null],[390912.782999999995809,392818.364999999990687,null],[390916.092999999993481,392813.228999999992084,null],[390919.049999999988358,392800.0,null],[390923.291000000026543,392794.190999999991618,null],[390908.46999999997206,392802.177999999956228,null],[390946.0,392848.0,null],[390950.481000000028871,392854.630000000004657,null],[390913.190999999991618,392818.747000000032131,null],[390916.330000000016298,392813.352000000013504,null],[390921.635999999998603,392802.117999999958556,null],[390925.510999999998603,392791.532999999995809,null],[390908.407999999995809,392802.068999999959487,null],[390952.0,392853.0,null],[390913.426000000035856,392818.962000000057742,null],[390916.548999999999069,392813.50099999998929,null],[390922.556000000040513,392802.836000000010244,null],[390932.59399999998277,392797.298999999999069,null],[390929.741900000022724,392786.372900000016671,null],[390908.353999999992084,392801.937000000034459,null],[390914.5120000000461,392819.90600000001723,null],[390918.357000000018161,392814.966000000014901,null],[390924.531000000017229,392804.432999999960884,null],[390935.0,392800.0,null],[390934.962999999988824,392790.739999999990687,null],[390930.510999999998603,392785.434999999997672,null],[390908.322999999974854,392801.828999999968801,null],[390914.974999999976717,392820.221000000019558,null],[390923.0,392816.0,null],[390926.150000000023283,392805.742000000027474,null],[390923.880000000004657,392805.164999999979045,null],[390937.604999999981374,392792.914999999979045,null],[390931.167999999946915,392784.630000000004657,null],[390908.307999999960884,392801.736000000033528,null],[390915.148999999975786,392820.307999999960884,null],[390929.0,392807.0,null],[390923.818999999959488,392805.287000000011176,null],[390937.856000000028871,392793.111000000033528,null],[390931.702999999979511,392784.132000000041444,null],[390908.307999999960884,392801.651000000012573,null],[390915.289999999979045,392820.347999999998137,null],[390923.757999999972526,392805.422000000020489,null],[390937.948999999964144,392793.203999999968801,null],[390932.460000000020955,392783.602999999944586,null],[390908.315000000002328,392801.581000000005588,null],[390915.397000000055414,392820.354999999981374,null],[390923.744000000006054,392805.551000000035856,null],[390938.005000000004657,392793.277999999991152,null],[390932.952999999979511,392783.299999999988358,null],[390908.338999999978114,392801.502999999967869,null],[390915.451000000000931,392820.347999999998137,null],[390923.772000000055414,392805.685999999986962,null],[390938.023999999975786,392793.371000000042841,null],[390933.747999999963213,392782.902999999991152,null],[390908.385000000009313,392801.426000000035856,null],[390915.510999999998603,392820.294999999983702,null],[390923.85999999998603,392805.862000000022817,null],[390938.023999999975786,392793.482999999949243,null],[390934.598999999987427,392782.657000000006519,null],[390908.689000000013038,392801.042999999946915,null],[390915.592000000004191,392820.187999999965541,null],[390924.022000000055414,392806.037999999942258,null],[390938.005000000004657,392793.622999999963213,null],[390935.583999999973457,392782.523999999975786,null],[390910.979999999981374,392798.157000000006519,null],[390907.282000000006519,392801.15500000002794,null],[390915.907000000006519,392819.679000000003725,null],[390925.152000000001863,392806.997999999963213,null],[390937.967999999993481,392793.744000000006054,null],[390936.302999999956228,392782.505000000004657,null],[390913.207999999984168,392795.419999999983702,null],[390898.776000000012573,392802.817000000039116,null],[390906.35999999998603,392802.282000000006519,null],[390918.0,392819.0,null],[390926.0,392812.0,null],[390937.912000000011176,392793.827000000048429,null],[390937.15500000002794,392782.599999999976717,null],[390913.306700000015553,392795.297800000000279,null],[390895.65500000002794,392803.357999999949243,null],[390901.453999999968801,392808.388999999966472,null],[390937.791000000026543,392793.948999999964144,null],[390938.366000000038184,392782.883999999961816,null],[390910.051000000035856,392792.872000000032131,null],[390915.116000000038184,392793.057999999960884,null],[390895.343999999982771,392803.442999999970198,null],[390901.096000000019558,392808.831000000005588,null],[390937.343999999982771,392794.348999999987427,null],[390939.237000000022817,392783.187000000034459,null],[390909.746000000042841,392792.658999999985099,null],[390916.01500000001397,392791.99900000001071,null],[390895.119000000006054,392803.442999999970198,null],[390900.932999999960884,392809.017999999981839,null],[390937.0,392798.0,null],[390940.012999999977183,392783.622000000032131,null],[390909.562999999965541,392792.552999999956228,null],[390918.607000000018161,392788.706000000005588,null],[390915.752999999967869,392791.724999999976717,null],[390894.892999999981839,392803.385999999998603,null],[390900.791000000026543,392809.106000000028871,null],[390940.732000000018161,392784.1129999999539,null],[390909.432999999960884,392792.492000000027474,null],[390922.397999999986496,392784.096000000019558,null],[390915.690000000002328,392791.653999999980442,null],[390894.073999999964144,392802.849999999976717,null],[390900.538999999989755,392809.227000000013504,null],[390941.548999999999069,392784.767999999981839,null],[390909.212000000057742,392792.414999999979045,null],[390923.197000000043772,392783.135999999998603,null],[390915.653999999980442,392791.597999999998137,null],[390893.90500000002794,392802.681000000040512,null],[390897.658999999985099,392810.60899999999674,null],[390942.909999999974389,392785.87400000001071,null],[390942.909999999974389,392785.87400000001071,null],[390908.472999999998137,392792.172000000020489,null],[390923.397999999986496,392782.887999999977183,null],[390915.62599999998929,392791.520000000018626,null],[390893.792000000015832,392802.482999999949243,null],[390896.587000000057742,392810.976000000024214,null],[390947.432999999960884,392789.685999999986962,null],[390947.432999999960884,392789.685999999986962,null],[390907.642000000050757,392791.927999999956228,null],[390923.491000000038184,392782.74900000001071,null],[390915.619000000006054,392791.448999999964144,null],[390893.763999999966472,392802.257999999972526,null],[390896.21999999997206,392811.088999999978114,null],[390953.846000000019558,392795.059000000008382,null],[390953.846000000019558,392795.059000000008382,null],[390907.177000000025146,392791.782999999995809,null],[390923.552999999956228,392782.625,null],[390915.619000000006054,392791.371000000042841,null],[390893.820000000006985,392802.003999999957159,null],[390895.542000000015832,392811.117000000027474,null],[390958.462999999988824,392798.896000000007916,null],[390958.462999999988824,392798.896000000007916,null],[390906.75099999998929,392791.616000000038184,null],[390923.583999999973457,392782.517000000050757,null],[390915.632999999972526,392791.292999999946915,null],[390894.440999999991618,392801.354999999981374,null],[390894.948999999964144,392811.145000000018626,null],[390959.827000000048429,392800.102999999944586,null],[390959.827000000048429,392800.102999999944586,null],[390906.364000000001397,392791.413999999989755,null],[390923.599999999976717,392782.346000000019558,null],[390915.653999999980442,392791.242999999958556,null],[390894.0,392797.0,null],[390894.299999999988358,392810.976000000024214,null],[390963.864999999990687,392803.673999999999069,null],[390963.864999999990687,392803.673999999999069,null],[390957.304999999993015,392802.791000000026543,null],[390905.7620000000461,392791.025000000023283,null],[390923.583999999973457,392782.192000000039116,null],[390915.682999999960884,392791.215000000025611,null],[390893.763999999966472,392810.6370000000461,null],[390968.351000000024214,392807.642000000050757,null],[390968.351000000024214,392807.642000000050757,null],[390964.468999999982771,392803.03000000002794,null],[390956.914999999979045,392803.162000000011176,null],[390905.366000000038184,392790.721000000019558,null],[390923.537999999942258,392782.052000000025146,null],[390915.717999999993481,392791.179999999993015,null],[390891.222499999974389,392808.690999999991618,null],[390970.01500000001397,392809.072999999974854,null],[390970.01500000001397,392809.072999999974854,null],[390956.692999999970198,392803.353999999992084,null],[390905.122000000032131,392790.468999999982771,null],[390923.476000000024214,392781.897999999986496,null],[390915.775000000023283,392791.151000000012573,null],[390891.137999999977183,392808.521000000007916,null],[390973.534999999974389,392812.101000000024214,null],[390973.534999999974389,392812.101000000024214,null],[390963.032999999995809,392816.614000000001397,null],[390956.520000000018626,392803.452000000048429,null],[390905.01500000001397,392790.340000000025611,null],[390923.352000000013504,392781.773999999975786,null],[390915.880999999993946,392791.116000000038184,null],[390891.10999999998603,392808.352000000013504,null],[390978.625,392816.387999999977183,null],[390978.625,392816.387999999977183,null],[390962.662999999942258,392817.057999999960884,null],[390965.489999999990687,392819.862000000022817,null],[390956.242000000027474,392803.570000000006985,null],[390904.962000000057742,392790.247999999963213,null],[390923.072999999974854,392781.510999999998603,null],[390916.01600000000326,392791.080000000016298,null],[390891.166000000026543,392808.12599999998929,null],[390981.878999999957159,392818.817999999970198,null],[390981.878999999957159,392818.817999999970198,null],[390962.507000000041444,392817.246000000042841,null],[390964.0,392822.0,null],[390955.804000000003725,392803.705000000016298,null],[390904.939000000013038,392790.179999999993015,null],[390916.237000000022817,392776.135999999998603,null],[390916.107999999949243,392791.052000000025146,null],[390891.336000000010245,392807.872000000032131,null],[390982.421000000031199,392819.260000000009313,null],[390982.421000000031199,392819.260000000009313,null],[390962.383999999961816,392817.320000000006985,null],[390955.50099999998929,392803.822999999974854,null],[390904.923999999999069,392790.081000000005588,null],[390912.695000000006985,392780.427999999956228,null],[390915.184999999997672,392775.310999999986962,null],[390916.185999999986961,392791.017000000050757,null],[390983.882999999972526,392820.451000000000931,null],[390983.882999999972526,392820.451000000000931,null],[390979.167000000015832,392822.695000000006985,null],[390962.252999999967869,392817.337000000057742,null],[390955.315999999991618,392803.945999999996275,null],[390904.932000000029802,392790.005000000004657,null],[390908.0,392779.0,null],[390914.619000000006054,392774.864000000001397,null],[390916.242000000027474,392790.981000000028871,null],[390985.002999999967869,392821.271000000007916,null],[390985.002999999967869,392821.271000000007916,null],[390977.208999999973457,392824.690999999991618,null],[390962.137999999977183,392817.312000000034459,null],[390955.179999999993015,392804.057000000029802,null],[390905.076000000000931,392789.478999999992084,null],[390914.547999999951571,392774.782999999995809,null],[390916.277999999991152,392790.932000000029802,null],[390986.567000000039116,392822.332000000053085,null],[390986.567000000039116,392822.332000000053085,null],[390975.742999999958556,392826.352000000013504,null],[390962.022999999986496,392817.271000000007916,null],[390954.783999999985099,392804.457000000053085,null],[390903.8870000000461,392790.989999999990687,null],[390904.0,392784.0,null],[390914.494000000006054,392774.721000000019558,null],[390916.292000000015832,392790.867999999958556,null],[390987.708999999973457,392823.027999999991152,null],[390987.708999999973457,392823.027999999991152,null],[390975.137999999977183,392827.038999999989755,null],[390961.73499999998603,392817.041000000026543,null],[390951.687999999965541,392807.794999999983702,null],[390902.522999999986496,392792.617000000027474,null],[390914.467000000004191,392774.648999999975786,null],[390916.277999999991152,392790.782999999995809,null],[390991.0,392824.804999999993015,null],[390991.0,392824.804999999993015,null],[390974.926000000035856,392827.23399999999674,null],[390977.78100000001723,392829.753999999957159,null],[390961.463999999978114,392816.787000000011176,null],[390951.537999999942258,392807.965000000025611,null],[390897.0,392791.0,null],[390914.448999999964144,392774.568999999959488,null],[390916.242000000027474,392790.732999999949243,null],[390993.402999999991152,392826.054000000003725,null],[390993.402999999991152,392826.054000000003725,null],[390974.831000000005588,392827.281000000017229,null],[390976.0,392832.0,null],[390958.0,392817.0,null],[390951.457999999984168,392808.125,null],[390914.457999999984168,392774.497000000032131,null],[390916.157000000006519,392790.647999999986496,null],[390993.935999999986962,392826.331000000005588,null],[390993.935999999986962,392826.331000000005588,null],[390991.103999999992084,392829.14000000001397,null],[390974.676000000035856,392827.310999999986962,null],[390951.427999999956228,392808.325000000011642,null],[390914.476000000024214,392774.424999999988358,null],[390994.064000000013039,392826.392999999981839,null],[390994.064000000013039,392826.392999999981839,null],[390990.836000000010244,392829.546000000031199,null],[390974.581000000005588,392827.310999999986962,null],[390951.427999999956228,392808.505000000004657,null],[390914.701000000000931,392774.114999999990687,null],[390997.536000000021886,392828.070000000006985,null],[390997.536000000021886,392828.070000000006985,null],[390993.887999999977183,392826.659999999974389,null],[390990.662000000011176,392829.85999999998603,null],[390974.467000000004191,392827.298999999999069,null],[390951.457999999984168,392808.710000000020955,null],[390910.991000000038184,392771.177999999956228,null],[390915.202000000048429,392773.457999999984168,null],[390999.98499999998603,392829.212000000057742,null],[390999.98499999998603,392829.212000000057742,null],[390993.812000000034459,392826.747999999963213,null],[390990.533999999985099,392830.184999999997672,null],[390974.377999999967869,392827.252000000036787,null],[390951.552999999956228,392808.900000000023283,null],[390910.777000000001863,392771.008999999961816,null],[390917.646000000007916,392770.357000000018161,null],[391004.979999999981374,392831.301000000035856,null],[391000.57760000001872,392829.459900000016205,null],[390993.744999999995343,392826.807000000029802,null],[390989.572000000043772,392833.322000000043772,null],[390973.853999999992084,392826.852999999944586,null],[390951.712999999988824,392809.098999999987427,null],[390910.657000000006519,392770.942999999970198,null],[390910.517999999981839,392764.592999999993481,null],[390920.544999999983702,392766.731000000028871,null],[391009.465000000025611,392833.088999999978114,null],[391009.465000000025611,392833.088999999978114,null],[391000.57760000001872,392829.459900000016205,null],[390996.172000000020489,392840.260000000009313,null],[390996.172000000020489,392840.260000000009313,null],[390993.64000000001397,392826.841000000014901,null],[390989.096000000019558,392834.772999999986496,null],[390969.0,392827.0,null],[390951.837999999988824,392809.198999999964144,null],[390910.547000000020489,392770.909999999974389,null],[390909.0,392760.0,null],[390923.418999999994412,392763.337999999988824,null],[391008.022999999986496,392836.744999999995343,null],[391012.375,392834.182999999960884,null],[391012.375,392834.182999999960884,null],[390996.0,392843.0,null],[390993.577000000048429,392826.832000000053085,null],[390988.793999999994412,392835.422999999951571,null],[390952.417999999946915,392809.568999999959488,null],[390910.453999999968801,392770.898999999975786,null],[390922.171000000031199,392762.286000000021886,null],[390924.232000000018161,392762.3870000000461,null],[391006.125,392841.75099999998929,null],[390993.508999999961816,392826.793999999994412,null],[390988.562000000034459,392835.841000000014901,null],[390954.0,392812.0,null],[390910.307000000029802,392770.898999999975786,null],[390921.887999999977183,392762.002999999967869,null],[390924.413999999989755,392762.163999999989755,null],[391005.565000000002328,392843.217999999993481,null],[390993.467000000004191,392826.744000000006054,null],[390988.132000000041444,392836.432000000029802,null],[390909.958999999973457,392770.940999999991618,null],[390921.726000000024214,392761.78100000001723,null],[390924.51500000001397,392762.062999999965541,null],[391002.0,392847.0,null],[390993.450000000011642,392826.677000000025146,null],[390987.226000000024214,392837.534999999974389,null],[390909.717999999993481,392770.967999999993481,null],[390921.523999999975786,392761.457999999984168,null],[390924.635999999998603,392761.962999999988824,null],[390993.458999999973457,392826.60899999999674,null],[390986.947000000043772,392837.814000000013038,null],[390909.412000000011176,392771.005999999993946,null],[390921.119999999995343,392760.650000000023283,null],[390924.797999999951571,392761.882000000041444,null],[390993.492000000027474,392826.521000000007916,null],[390986.866000000038184,392837.895000000018626,null],[390909.224999999976717,392771.017000000050757,null],[390920.797000000020489,392760.043999999994412,null],[390924.979999999981374,392761.862000000022817,null],[390993.551000000035856,392826.412000000011176,null],[390986.772999999986496,392837.929999999993015,null],[390987.307000000029802,392838.184999999997672,null],[390909.056000000040513,392771.022999999986496,null],[390920.533999999985099,392759.64000000001397,null],[390925.182000000029802,392761.882000000041444,null],[390993.787000000011176,392826.133999999961816,null],[390986.679999999993015,392837.929999999993015,null],[390987.922999999951571,392838.510000000009313,null],[390908.771000000007916,392771.0120000000461,null],[390920.231000000028871,392759.236000000033528,null],[390925.443999999959487,392762.017999999981839,null],[390993.989000000001397,392825.96999999997206,null],[390986.587000000057742,392837.907000000006519,null],[390990.477999999944586,392839.867999999958556,null],[390908.492000000027474,392770.98399999999674,null],[390919.947999999974854,392758.932999999960884,null],[390925.739999999990687,392761.64000000001397,null],[390926.091000000014901,392762.507999999972526,null],[390994.166000000026543,392825.872999999963213,null],[390986.017999999981839,392837.5120000000461,null],[390990.0,392841.0,null],[390908.361000000033528,392770.962999999988824,null],[390919.442999999970198,392758.467999999993481,null],[390925.918999999994412,392761.413999999989755,null],[390929.951000000000931,392765.901000000012573,null],[390994.527999999991152,392825.697000000043772,null],[390981.0,392837.0,null],[390908.217999999993481,392770.934999999997672,null],[390917.784999999974389,392756.994000000006054,null],[390926.062000000034459,392761.187999999965541,null],[390932.739000000001397,392768.301000000035856,null],[390908.087000000057742,392770.885999999998603,null],[390913.0,392755.0,null],[390926.168999999994412,392760.950000000011642,null],[390938.130999999993946,392762.197000000043772,null],[390940.702000000048429,392775.184000000008382,null],[390907.934000000008382,392770.815000000002328,null],[390926.216000000014901,392760.760000000009313,null],[390937.547999999951571,392761.707000000053085,null],[390939.538999999989755,392760.603999999992084,null],[390947.038999999989755,392768.130999999993946,null],[390942.352000000013504,392776.625,null],[390907.698999999964144,392770.684000000008382,null],[390926.239999999990687,392760.450000000011642,null],[390937.378999999957159,392761.538999999989755,null],[390943.0,392758.0,null],[390949.0,392763.0,null],[390944.147999999986496,392778.217000000004191,null],[390907.12400000001071,392770.223999999987427,null],[390926.203999999968801,392759.927000000025146,null],[390937.284999999974389,392761.417999999946915,null],[390948.940999999991618,392782.352999999944586,null],[390944.182000000029802,392778.111000000033528,null],[390906.396000000007916,392769.567999999970198,null],[390925.585000000020955,392756.047999999951571,null],[390937.231000000028871,392761.342999999993481,null],[390954.592000000004191,392787.287999999942258,null],[390951.512999999977183,392779.362000000022817,null],[390944.201000000000931,392778.007999999972526,null],[390906.330000000016298,392769.502000000036787,null],[390925.09499999997206,392752.8629999999539,null],[390937.197000000043772,392761.255999999993946,null],[390960.502999999967869,392792.289999999979045,null],[390951.778999999980442,392779.033999999985099,null],[390944.201000000000931,392777.911000000021886,null],[390906.287000000011176,392769.442000000039116,null],[390924.960000000020955,392751.851000000024214,null],[390937.177000000025146,392761.174999999988358,null],[390962.99900000001071,392794.377000000036787,null],[390966.597000000008848,392785.202000000048429,null],[390951.872999999963213,392778.902999999991152,null],[390944.187999999965541,392777.802000000025146,null],[390906.258999999961816,392769.37599999998929,null],[390924.892000000050757,392750.923999999999069,null],[390937.177000000025146,392761.081000000005588,null],[390966.382999999972526,392797.222000000008848,null],[390967.382999999972526,392784.224999999976717,null],[390951.956000000005588,392778.753999999957159,null],[390944.156000000017229,392777.717999999993481,null],[390906.247999999963213,392769.299999999988358,null],[390924.87599999998929,392750.417999999946915,null],[390937.190999999991618,392761.007000000041444,null],[390970.343999999982771,392800.554000000003725,null],[390967.789999999979045,392783.707000000053085,null],[390952.0120000000461,392778.62400000001071,null],[390944.072000000043772,392777.60899999999674,null],[390906.247999999963213,392769.228999999992084,null],[390924.892000000050757,392750.013999999966472,null],[390937.231000000028871,392760.926000000035856,null],[390973.518999999971129,392803.236000000033528,null],[390965.176000000035856,392781.033999999985099,null],[390967.869000000006054,392783.614000000001397,null],[390952.067999999970198,392778.466000000014901,null],[390943.950000000011642,392777.49900000001071,null],[390906.258999999961816,392769.162999999942258,null],[390924.960000000020955,392749.676000000035856,null],[390937.284999999974389,392760.84499999997206,null],[390974.707999999984168,392804.21999999997206,null],[390977.440999999991618,392798.797999999951571,null],[390965.0,392778.0,null],[390967.937999999965541,392783.559000000008382,null],[390952.106000000028871,392778.307000000029802,null],[390943.847000000008848,392777.429000000003725,null],[390906.302999999956228,392769.081000000005588,null],[390925.077999999979511,392749.288999999989755,null],[390937.392999999981839,392760.703999999968801,null],[390976.271000000007916,392805.663999999989756,null],[390980.71999999997206,392795.088999999978114,null],[390968.007000000041444,392783.531000000017229,null],[390952.133999999961816,392778.083999999973457,null],[390943.737000000022817,392777.377000000036787,null],[390906.369000000006054,392768.9879999999539,null],[390925.229999999981374,392748.952000000048429,null],[390938.215000000025611,392759.659999999974389,null],[390980.318999999959487,392808.982999999949243,null],[390978.193999999959487,392792.522999999986496,null],[390980.830000000016298,392795.018999999971129,null],[390968.132000000041444,392783.517000000050757,null],[390952.161000000021886,392777.776000000012573,null],[390943.659999999974389,392777.357999999949243,null],[390906.707999999984168,392768.567000000039116,null],[390925.5,392748.445999999996275,null],[390940.0,392756.0,null],[390983.289999999979045,392812.0120000000461,null],[390978.0,392789.0,null],[390980.951000000000931,392794.989000000001397,null],[390968.298999999999069,392783.572999999974854,null],[390952.189000000013039,392777.450000000011642,null],[390943.562999999965541,392777.357999999949243,null],[390906.0,392764.0,null],[390926.112000000022817,392747.462999999988824,null],[390985.7620000000461,392814.221000000019558,null],[390981.082000000053085,392794.958999999973457,null],[390968.409999999974389,392783.642000000050757,null],[390952.227000000013504,392777.236000000033528,null],[390943.472999999998137,392777.377000000036787,null],[390926.443999999959487,392747.366000000038184,null],[390924.179000000003725,392748.181000000040513,null],[390988.242999999958556,392815.901000000012573,null],[390981.202000000048429,392794.958999999973457,null],[390968.576000000000931,392783.78100000001723,null],[390952.282999999995809,392777.022000000055414,null],[390943.39000000001397,392777.416000000026543,null],[390926.73399999999674,392747.282999999995809,null],[390921.099999999976717,392749.367000000027474,null],[390988.443999999959487,392815.943999999959488,null],[390990.62599999998929,392817.377000000036787,null],[390981.332999999984168,392794.978999999992084,null],[390969.687000000034459,392784.792999999946915,null],[390952.310999999986962,392776.919999999983702,null],[390943.306000000040513,392777.505999999993946,null],[390926.982000000018161,392747.255999999993946,null],[390918.462000000057742,392750.361000000033528,null],[390988.650000000023283,392815.950000000011642,null],[390993.25,392818.979999999981374,null],[390993.25,392818.979999999981374,null],[390981.412999999942258,392795.008999999961816,null],[390973.0,392785.0,null],[390952.366000000038184,392776.760999999998603,null],[390943.034999999974389,392777.827999999979511,null],[390927.176000000035856,392747.255999999993946,null],[390917.0,392751.0,null],[390988.853999999992084,392815.917999999946915,null],[390995.557000000029802,392820.130999999993946,null],[390995.557000000029802,392820.130999999993946,null],[390981.523999999975786,392795.078999999968801,null],[390952.440999999991618,392776.622000000032131,null],[390942.693999999959488,392778.174999999988358,null],[390927.369000000006054,392747.297000000020489,null],[390989.047999999951571,392815.851000000024214,null],[390997.982999999949243,392821.471000000019558,null],[390997.982999999949243,392821.471000000019558,null],[390982.35899999999674,392795.762999999977183,null],[390952.581000000005588,392776.445000000006985,null],[390942.332999999984168,392778.51600000000326,null],[390927.534999999974389,392747.338999999978114,null],[390989.227000000013504,392815.74900000001071,null],[390999.996000000042841,392822.532000000006519,null],[390999.996000000042841,392822.532000000006519,null],[390986.0,392795.0,null],[390954.099999999976717,392774.60999999998603,null],[390927.645000000018626,392747.393999999971129,null],[390989.385000000009313,392815.617000000027474,null],[391002.28000000002794,392823.398999999975786,null],[391002.28000000002794,392823.398999999975786,null],[390954.732000000018161,392773.897000000055414,null],[390927.770000000018626,392747.462999999988824,null],[390989.51600000000326,392815.457999999984168,null],[391004.255000000004657,392819.013999999966472,null],[391005.614999999990687,392824.809999999997672,null],[391005.614999999990687,392824.809999999997672,null],[390955.052999999956228,392773.534999999974389,null],[390927.934999999997672,392747.601000000024214,null],[390989.573499999998603,392815.375500000023749,null],[391004.582000000053085,392818.39100000000326,null],[391009.669999999983702,392826.422999999951571,null],[391009.669999999983702,392826.422999999951571,null],[390955.133999999961816,392773.465000000025611,null],[390928.184000000008382,392747.848999999987427,null],[390990.602000000013504,392813.3629999999539,null],[391005.270000000018626,392816.532000000006519,null],[391016.00099999998929,392829.070000000006985,null],[391016.00099999998929,392829.070000000006985,null],[390955.203999999968801,392773.417999999946915,null],[390931.0,392748.0,null],[390935.0,392751.0,null],[390991.411000000021886,392812.135999999998603,null],[391006.257000000041444,392814.423999999999069,null],[391018.607000000018161,392830.062999999965541,null],[391018.607000000018161,392830.062999999965541,null],[390955.284999999974389,392773.377999999967869,null],[390991.997000000032131,392810.992000000027474,null],[391006.471000000019558,392814.211000000010245,null],[391020.304000000003725,392830.434999999997672,null],[391020.304000000003725,392830.434999999997672,null],[390955.354999999981374,392773.35999999998603,null],[390992.556000000040513,392809.76500000001397,null],[391006.76500000001397,392813.971000000019558,null],[391005.777000000001863,392813.729999999981374,null],[391021.503999999957159,392830.434999999997672,null],[391021.503999999957159,392830.434999999997672,null],[390955.424999999988358,392773.354999999981374,null],[390993.7620000000461,392807.804000000003725,null],[391007.112000000022817,392813.917000000015832,null],[391004.148999999975786,392812.60999999998603,null],[391022.496000000042841,392830.239000000001397,null],[391022.496000000042841,392830.239000000001397,null],[390955.494999999995343,392773.354999999981374,null],[390994.075000000011642,392807.333999999973457,null],[391007.646000000007916,392813.917000000015832,null],[391005.0,392808.0,null],[390955.564000000013038,392773.35999999998603,null],[390994.421000000031199,392806.815999999991618,null],[390992.315999999991618,392804.712000000057742,null],[391008.286000000021886,392814.130999999993946,null],[390956.755999999993946,392773.690999999991618,null],[390994.96999999997206,392805.952999999979511,null],[390990.810999999986962,392802.497000000032131,null],[391010.60899999999674,392815.357999999949243,null],[390952.377000000036787,392769.849999999976717,null],[390960.0,392774.0,null],[390995.1129999999539,392805.809999999997672,null],[390991.0,392798.0,null],[391014.0,392812.0,null],[390952.0,392766.0,null],[390995.257000000041444,392805.717999999993481,null],[390995.401000000012573,392805.717999999993481,null],[390995.583999999973457,392805.757999999972526,null],[390995.885000000009313,392805.913999999989756,null],[390996.354999999981374,392806.267000000050757,null],[391001.0,392805.0,null]]}", + "orient": "split", "dtype": { "x": "float64", "y": "float64", "coords": "object" - }, - "orient": "split" + } }, - "version": "2.1.0", + "version": "2.7.1", "converged": true, "name": "Summary Grid", "f_hz": 50.0, @@ -1381,18 +1406,19 @@ "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"vm_pu\",\"va_degree\",\"p_mw\",\"q_mvar\"],\"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,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906],\"data\":[[1.049999952316284,0.0,-0.000057357991516,-0.000005744135572],[1.049999405656177,-0.000147549270719,0.0,0.0],[1.049999248611093,-0.000148047351809,0.0,0.0],[1.049999232147104,-0.000148099568672,0.0,0.0],[1.049999216722931,-0.000148148487672,0.0,0.0],[1.049999203275267,-0.000148191138015,0.0,0.0],[1.049999182089914,-0.000148258329054,0.0,0.0],[1.04999773946353,-0.000152833733825,0.0,0.0],[1.049997674850493,-0.000153038659235,0.0,0.0],[1.049997621071848,-0.000153209222505,0.0,0.0],[1.049997573876797,-0.000153358905381,0.0,0.0],[1.049997538660366,-0.000153470597105,0.0,0.0],[1.049997505600803,-0.000153575448149,0.0,0.0],[1.04999748527219,-0.000153639921968,0.0,0.0],[1.049997434663053,-0.000153800432887,0.0,0.0],[1.049997024686723,-0.000155100705566,0.0,0.0],[1.049997024686723,-0.000155100705567,0.0,0.0],[1.049996527520334,-0.000156677508486,0.0,0.0],[1.049997024686724,-0.000155100705567,0.0,0.0],[1.049996493312254,-0.000156786002146,0.0,0.0],[1.049997024686724,-0.000155100705568,0.0,0.0],[1.049996454900573,-0.000156907827867,0.0,0.0],[1.049997024686724,-0.000155100705568,0.0,0.0],[1.049996392358583,-0.00015710618479,0.0,0.0],[1.049997024686724,-0.00015510070557,0.0,0.0],[1.049996278579563,-0.000157467044049,0.0,0.0],[1.049997024686724,-0.00015510070557,0.0,0.0],[1.049996252221698,-0.000157113261217,0.0,0.0],[1.049994870502093,-0.000162144748288,0.0,0.0],[1.049997024686724,-0.000155100705571,0.0,0.0],[1.049996246164443,-0.000157031959172,0.0,0.0],[1.049996251049617,-0.000157097529032,0.0,0.0],[1.049994495649473,-0.000163390027563,0.0,0.0],[1.049997024686725,-0.000155100705573,0.0,0.0],[1.0499962322929,-0.000156845771747,0.0,0.0],[1.049996251009925,-0.00015709699626,0.0,0.0],[1.049994479738906,-0.000163456176558,0.0,0.0],[1.049993370839595,-0.000167080473973,0.0,0.0],[1.049997024686726,-0.000155100705575,0.0,0.0],[1.049996250952853,-0.000157096230231,0.0,0.0],[1.049994478738831,-0.000163460334419,0.0,0.0],[1.049994479235897,-0.000163458267843,0.0,0.0],[1.0499925902965,-0.000169641397875,0.0,0.0],[1.049993370839592,-0.000167080474011,0.0,0.0],[1.049997024686726,-0.000155100705576,0.0,0.0],[1.049996250879663,-0.000157095247854,0.0,0.0],[1.049994478288068,-0.000163462208491,0.0,0.0],[1.049994478025563,-0.000163463299871,0.0,0.0],[1.049992000473691,-0.000171576577799,0.0,0.0],[1.049993370839591,-0.000167080474029,0.0,0.0],[1.049997024686726,-0.000155100705577,0.0,0.0],[1.049996250701411,-0.000157092855325,0.0,0.0],[1.049994477810354,-0.000163464194609,0.0,0.0],[1.049991915433126,-0.000171855591819,0.0,0.0],[1.049992000473692,-0.000171576577729,0.0,0.0],[1.04999337083959,-0.000167080474041,0.0,0.0],[1.049997024686725,-0.000155100705579,0.0,0.0],[1.049996250548796,-0.000157090806883,0.0,0.0],[1.049994477355365,-0.000163466086249,0.0,0.0],[1.049991530221835,-0.000173119451612,0.0,0.0],[1.049992000473692,-0.000171576577721,0.0,0.0],[1.049993370839589,-0.000167080474049,0.0,0.0],[1.049997024686725,-0.000155100705581,0.0,0.0],[1.049996249817212,-0.000157080987384,0.0,0.0],[1.049994477082872,-0.000163467219156,0.0,0.0],[1.049991452293452,-0.000173379763807,0.0,0.0],[1.049991515969626,-0.00017292815478,0.0,0.0],[1.049992000473692,-0.000171576577716,0.0,0.0],[1.049993370839588,-0.000167080474054,0.0,0.0],[1.049997024686725,-0.000155100705582,0.0,0.0],[1.049996247231316,-0.000157046278821,0.0,0.0],[1.049994476548259,-0.000163469441836,0.0,0.0],[1.049990531598019,-0.000176455257435,0.0,0.0],[1.049991509919874,-0.000172846953444,0.0,0.0],[1.049991515052997,-0.000172915851548,0.0,0.0],[1.049992000473693,-0.000171576577706,0.0,0.0],[1.049993370839587,-0.00016708047405,0.0,0.0],[1.049997024686725,-0.000155100705586,0.0,0.0],[1.049994473838822,-0.000163480706464,0.0,0.0],[1.049990210667189,-0.000177527295686,0.0,0.0],[1.049992000473693,-0.0001715765777,0.0,0.0],[1.049993370839584,-0.000167080474039,0.0,0.0],[1.049997024686724,-0.000155100705592,0.0,0.0],[1.04999446362906,-0.000163523154094,0.0,0.0],[1.049990140629562,-0.000177761249574,0.0,0.0],[1.049992000473693,-0.000171576577697,0.0,0.0],[1.049993370839578,-0.00016708047402,0.0,0.0],[1.049997024686724,-0.000155100705595,0.0,0.0],[1.049989998604289,-0.000178235671199,0.0,0.0],[1.049992000473693,-0.000171576577697,0.0,0.0],[1.049993370839577,-0.000167080474013,0.0,0.0],[1.049997024686724,-0.000155100705597,0.0,0.0],[1.04998986466784,-0.000178683072892,0.0,0.0],[1.049993370839577,-0.000167080474012,0.0,0.0],[1.049997024686724,-0.000155100705597,0.0,0.0],[1.049989786818959,-0.000178943119513,0.0,0.0],[1.049993370839576,-0.000167080474013,0.0,0.0],[1.049997024686724,-0.000155100705597,0.0,0.0],[1.049989735405584,-0.000179114860897,0.0,0.0],[1.049993370839576,-0.000167080474011,0.0,0.0],[1.049997024686724,-0.000155100705597,0.0,0.0],[1.049989664418053,-0.000179351987849,0.0,0.0],[1.049993370839577,-0.000167080473769,0.0,0.0],[1.049997024686724,-0.000155100705597,0.0,0.0],[1.049989663543853,-0.000179387620141,0.0,0.0],[1.049989622630027,-0.000179466483525,0.0,0.0],[1.049993370839577,-0.000167080473763,0.0,0.0],[1.049989662486192,-0.000179430730305,0.0,0.0],[1.049989598934144,-0.000179531408254,0.0,0.0],[1.049993370839576,-0.000167080473759,0.0,0.0],[1.049989661260287,-0.000179480698075,0.0,0.0],[1.049988663957787,-0.000182093164916,0.0,0.0],[1.049993370839565,-0.000167080473758,0.0,0.0],[1.049989659391146,-0.000179556884106,0.0,0.0],[1.049988570293511,-0.000182349797161,0.0,0.0],[1.049993370839555,-0.000167080473756,0.0,0.0],[1.049989656988112,-0.000179654831573,0.0,0.0],[1.049988567389017,-0.000182466709963,0.0,0.0],[1.049988317190853,-0.000184317348443,0.0,0.0],[1.049993370839555,-0.000167080473757,0.0,0.0],[1.049989655262963,-0.00017972514849,0.0,0.0],[1.049988567389016,-0.000182466709965,0.0,0.0],[1.049988565974837,-0.0001825236341,0.0,0.0],[1.049987860753062,-0.000187865571783,0.0,0.0],[1.049993370839554,-0.000167080473761,0.0,0.0],[1.049989652825341,-0.000179824505776,0.0,0.0],[1.049988567389015,-0.000182466709968,0.0,0.0],[1.049988559331492,-0.000182791044624,0.0,0.0],[1.049987655493143,-0.000189461206609,0.0,0.0],[1.049993370839553,-0.00016708047376,0.0,0.0],[1.049989650188009,-0.000179932003209,0.0,0.0],[1.049988567389014,-0.000182466709969,0.0,0.0],[1.049988554125252,-0.000182721164013,0.0,0.0],[1.049988541396199,-0.000183532797304,0.0,0.0],[1.049987594422673,-0.000189935951849,0.0,0.0],[1.049993370839553,-0.000167080473755,0.0,0.0],[1.049989647700792,-0.000180033381949,0.0,0.0],[1.049988567389013,-0.000182466709971,0.0,0.0],[1.049988553676894,-0.000182715145927,0.0,0.0],[1.049988528053293,-0.000184084621944,0.0,0.0],[1.049987525486193,-0.000190471845303,0.0,0.0],[1.049993370839552,-0.000167080473743,0.0,0.0],[1.049989643611411,-0.000180200064777,0.0,0.0],[1.049988567389012,-0.000182466709974,0.0,0.0],[1.049988553236968,-0.000182709241041,0.0,0.0],[1.049988519117878,-0.000184454165273,0.0,0.0],[1.049987460652693,-0.00019097584332,0.0,0.0],[1.049993370839552,-0.000167080473741,0.0,0.0],[1.049989624167299,-0.000180992605155,0.0,0.0],[1.049988567389011,-0.000182466709975,0.0,0.0],[1.049988552881747,-0.000182704473094,0.0,0.0],[1.049988518141569,-0.000184494542649,0.0,0.0],[1.049988371609823,-0.000185067437986,0.0,0.0],[1.049987385004376,-0.00019156391278,0.0,0.0],[1.049993370839552,-0.000167080473741,0.0,0.0],[1.049989619931501,-0.000181165255935,0.0,0.0],[1.04998856738901,-0.000182466709977,0.0,0.0],[1.049988552348589,-0.000182697316786,0.0,0.0],[1.049988515552339,-0.000184601625852,0.0,0.0],[1.049988362631534,-0.000185104765705,0.0,0.0],[1.049987363236966,-0.000191733126718,0.0,0.0],[1.049993370839552,-0.000167080473741,0.0,0.0],[1.04998961584412,-0.000181182249435,0.0,0.0],[1.049989604054673,-0.00018181230902,0.0,0.0],[1.049988567389009,-0.000182466709979,0.0,0.0],[1.049988551705807,-0.000182688689057,0.0,0.0],[1.049988514652958,-0.0001846388217,0.0,0.0],[1.049988354429392,-0.000185138866553,0.0,0.0],[1.049987239572813,-0.000192694458252,0.0,0.0],[1.049993370839552,-0.000167080473741,0.0,0.0],[1.049989615071945,-0.000181185459794,0.0,0.0],[1.049989582976506,-0.000182671340391,0.0,0.0],[1.049988567389009,-0.000182466709981,0.0,0.0],[1.049988551220198,-0.000182682170988,0.0,0.0],[1.049988514652947,-0.000184638822164,0.0,0.0],[1.049988499804499,-0.000184700554921,0.0,0.0],[1.04998835102211,-0.000185153032513,0.0,0.0],[1.049987169726557,-0.000193237424075,0.0,0.0],[1.049989613478793,-0.000181192083412,0.0,0.0],[1.049989581233409,-0.00018274129029,0.0,0.0],[1.049989535112217,-0.00018287033869,0.0,0.0],[1.049988567389009,-0.000182466709982,0.0,0.0],[1.049988550658264,-0.000182674628446,0.0,0.0],[1.049988514652946,-0.000184638822233,0.0,0.0],[1.049988498200851,-0.000184707222167,0.0,0.0],[1.049988343677753,-0.000185183567074,0.0,0.0],[1.049987117877758,-0.000193640482551,0.0,0.0],[1.049989574373857,-0.000183016561876,0.0,0.0],[1.049989337012077,-0.00018369395045,0.0,0.0],[1.049988567389008,-0.000182466709982,0.0,0.0],[1.049988550129902,-0.00018266753651,0.0,0.0],[1.049988514652946,-0.000184638822243,0.0,0.0],[1.049988514652944,-0.00018463882227,0.0,0.0],[1.049988496649683,-0.000184713671231,0.0,0.0],[1.049988324971764,-0.000185261338229,0.0,0.0],[1.049987071263274,-0.000194002850888,0.0,0.0],[1.049989562126456,-0.000183508046033,0.0,0.0],[1.049989301841114,-0.000183840175602,0.0,0.0],[1.049989334962153,-0.000183702473103,0.0,0.0],[1.049988567389008,-0.000182466709982,0.0,0.0],[1.049988549561414,-0.000182659906003,0.0,0.0],[1.049988514652946,-0.000184638822243,0.0,0.0],[1.049988514652944,-0.000184638822297,0.0,0.0],[1.049988495408903,-0.000184718829835,0.0,0.0],[1.049988313997055,-0.000185306966175,0.0,0.0],[1.049987013354855,-0.0001944530152,0.0,0.0],[1.049989559366321,-0.000183470998785,0.0,0.0],[1.049989559145644,-0.000183631323936,0.0,0.0],[1.049989212920226,-0.000184209868934,0.0,0.0],[1.049989334672395,-0.000183703677789,0.0,0.0],[1.049988567389008,-0.000182466709983,0.0,0.0],[1.049988548692368,-0.000182648241246,0.0,0.0],[1.049988514652943,-0.000184638822329,0.0,0.0],[1.049988494420525,-0.00018472293907,0.0,0.0],[1.049988306310331,-0.00018533892414,0.0,0.0],[1.049986906494514,-0.000195283718459,0.0,0.0],[1.049989550332031,-0.000183349738203,0.0,0.0],[1.049989553765789,-0.00018385381947,0.0,0.0],[1.049989334438713,-0.000183704649333,0.0,0.0],[1.049988567389008,-0.000182466709983,0.0,0.0],[1.049988546319097,-0.000182616386046,0.0,0.0],[1.049988514652943,-0.000184638822356,0.0,0.0],[1.049988492330934,-0.000184731626651,0.0,0.0],[1.049988291524169,-0.000185400398401,0.0,0.0],[1.049986813329245,-0.000196007959943,0.0,0.0],[1.049989546437499,-0.000183297464789,0.0,0.0],[1.04998955184488,-0.000183933262798,0.0,0.0],[1.049989334251966,-0.000183705425741,0.0,0.0],[1.049988546116744,-0.000182613669969,0.0,0.0],[1.049988514652942,-0.000184638822385,0.0,0.0],[1.049988490685332,-0.00018473846833,0.0,0.0],[1.049988284164578,-0.000185430996298,0.0,0.0],[1.049986749953878,-0.000196500622828,0.0,0.0],[1.049989337515826,-0.000184824347263,0.0,0.0],[1.04998955184488,-0.000183933262798,0.0,0.0],[1.049989333966896,-0.000183706610935,0.0,0.0],[1.049988546023279,-0.000182612415439,0.0,0.0],[1.049988514652942,-0.000184638822405,0.0,0.0],[1.04998848954386,-0.000184743214058,0.0,0.0],[1.049988278938813,-0.000185452722696,0.0,0.0],[1.049986708321687,-0.000196824260157,0.0,0.0],[1.049989306390554,-0.00018495375224,0.0,0.0],[1.049989333632736,-0.000183708000222,0.0,0.0],[1.049988545923307,-0.000182611073571,0.0,0.0],[1.049988514652941,-0.000184638822424,0.0,0.0],[1.049988488405107,-0.000184747948481,0.0,0.0],[1.049988219158292,-0.000185701263411,0.0,0.0],[1.049986618722124,-0.000197520782815,0.0,0.0],[1.049989212496822,-0.000185344120434,0.0,0.0],[1.049989304746239,-0.000184960588566,0.0,0.0],[1.049989333119487,-0.000183710134085,0.0,0.0],[1.049988545827779,-0.000182609791358,0.0,0.0],[1.049988514652941,-0.000184638822436,0.0,0.0],[1.049988486739163,-0.000184754874734,0.0,0.0],[1.049988201529995,-0.000185774554,0.0,0.0],[1.049986617390251,-0.000197502906412,0.0,0.0],[1.049986559464501,-0.000197982124501,0.0,0.0],[1.049989331241344,-0.000183717942567,0.0,0.0],[1.049988545721356,-0.000182608362917,0.0,0.0],[1.049988514652941,-0.000184638822451,0.0,0.0],[1.049988480473463,-0.000184780924714,0.0,0.0],[1.049988197586021,-0.000185790951281,0.0,0.0],[1.049986617206139,-0.000197500435269,0.0,0.0],[1.049986337257054,-0.000199712088569,0.0,0.0],[1.049989322100418,-0.000183755946453,0.0,0.0],[1.049988545501684,-0.000182605414418,0.0,0.0],[1.049988514652941,-0.000184638822467,0.0,0.0],[1.049988479011043,-0.000184787004806,0.0,0.0],[1.049988149199831,-0.000185992119443,0.0,0.0],[1.049988195834715,-0.000185798232433,0.0,0.0],[1.049986617121497,-0.000197499299193,0.0,0.0],[1.049986324951024,-0.000199763251569,0.0,0.0],[1.049986263359916,-0.000200282396028,0.0,0.0],[1.049988545272897,-0.000182602343577,0.0,0.0],[1.049988514652941,-0.000184638822476,0.0,0.0],[1.049988478341069,-0.000184789790255,0.0,0.0],[1.049988101247435,-0.000186191484085,0.0,0.0],[1.049988193781417,-0.000185806769126,0.0,0.0],[1.049986617020965,-0.000197497949861,0.0,0.0],[1.049986324056511,-0.000199766970557,0.0,0.0],[1.049985995482771,-0.000202349760714,0.0,0.0],[1.049988544402901,-0.000182590666264,0.0,0.0],[1.049988514652941,-0.000184638822476,0.0,0.0],[1.049988477900613,-0.000184791621476,0.0,0.0],[1.049988191925808,-0.000185814483923,0.0,0.0],[1.049986616865857,-0.000197495868006,0.0,0.0],[1.049986323319225,-0.000199770035863,0.0,0.0],[1.049985897515361,-0.000202104328524,0.0,0.0],[1.049985963389312,-0.000202739320193,0.0,0.0],[1.049988539783967,-0.000182528669744,0.0,0.0],[1.049988514652941,-0.000184638822476,0.0,0.0],[1.049988475072502,-0.000184803379502,0.0,0.0],[1.049988477867782,-0.000184791757971,0.0,0.0],[1.049988190046446,-0.00018582229747,0.0,0.0],[1.049986616727645,-0.000197494012929,0.0,0.0],[1.049986322271968,-0.000199774389892,0.0,0.0],[1.049985852423099,-0.000201991361439,0.0,0.0],[1.049985828886832,-0.000204371949325,0.0,0.0],[1.049988473773388,-0.00018480878064,0.0,0.0],[1.049988477844547,-0.000184791854575,0.0,0.0],[1.049988188025752,-0.000185830698614,0.0,0.0],[1.049986616620188,-0.000197492570647,0.0,0.0],[1.04998631756816,-0.00019979394623,0.0,0.0],[1.049985557850704,-0.000201253385944,0.0,0.0],[1.049985799196883,-0.000204732334313,0.0,0.0],[1.049988471574661,-0.000184817921963,0.0,0.0],[1.049988477817507,-0.000184791966991,0.0,0.0],[1.049988176306848,-0.00018587942058,0.0,0.0],[1.04998661648643,-0.000197490775369,0.0,0.0],[1.049986316662627,-0.000199797711034,0.0,0.0],[1.049985535848526,-0.000201198265136,0.0,0.0],[1.049985789331517,-0.000204852082926,0.0,0.0],[1.049988467354348,-0.000184835468139,0.0,0.0],[1.04998847776579,-0.000184792182008,0.0,0.0],[1.04998812674032,-0.000186085496063,0.0,0.0],[1.049986616348087,-0.000197488918528,0.0,0.0],[1.049986315992154,-0.00019980049856,0.0,0.0],[1.049985535406381,-0.000201192330568,0.0,0.0],[1.049985134895844,-0.000200206634554,0.0,0.0],[1.049985784182489,-0.000204914583284,0.0,0.0],[1.049988454929036,-0.000184887127035,0.0,0.0],[1.049988477567445,-0.000184793006637,0.0,0.0],[1.049986616184902,-0.000197486728283,0.0,0.0],[1.049986315219843,-0.000199803709488,0.0,0.0],[1.049985533129199,-0.000201161765757,0.0,0.0],[1.049984942478784,-0.000199730751363,0.0,0.0],[1.049985779774761,-0.000204968085531,0.0,0.0],[1.04998847689057,-0.000184795820782,0.0,0.0],[1.049986616091909,-0.000197485480136,0.0,0.0],[1.04998631445372,-0.000199806894682,0.0,0.0],[1.049985532334192,-0.000201151095001,0.0,0.0],[1.049984918721456,-0.00019982952372,0.0,0.0],[1.049984578797594,-0.000198752149566,0.0,0.0],[1.049985774761761,-0.000205028934741,0.0,0.0],[1.049986615671801,-0.00019747984151,0.0,0.0],[1.049986307723251,-0.000199834876968,0.0,0.0],[1.04998553060391,-0.000201127870791,0.0,0.0],[1.049984909312377,-0.000199868642469,0.0,0.0],[1.049984568630866,-0.000198794418487,0.0,0.0],[1.049984513431915,-0.000198567840229,0.0,0.0],[1.04998577081238,-0.000205076873442,0.0,0.0],[1.049986615508304,-0.000197477647074,0.0,0.0],[1.049986293965269,-0.00019989207651,0.0,0.0],[1.049985529915003,-0.000201118624099,0.0,0.0],[1.049985530260705,-0.000201123264227,0.0,0.0],[1.049984563519496,-0.000198815669383,0.0,0.0],[1.049984457432677,-0.000198409941119,0.0,0.0],[1.049985767501241,-0.00020511706498,0.0,0.0],[1.049986615451505,-0.000197476884729,0.0,0.0],[1.04998552888419,-0.000201104788257,0.0,0.0],[1.049985530212917,-0.000201122622807,0.0,0.0],[1.049984563043832,-0.000198817646987,0.0,0.0],[1.049984418042434,-0.000198298873808,0.0,0.0],[1.049985764513547,-0.000205153330466,0.0,0.0],[1.049986615408715,-0.000197476310403,0.0,0.0],[1.049985530161015,-0.000201121926179,0.0,0.0],[1.049984562847389,-0.000198818463712,0.0,0.0],[1.04998436827204,-0.000198158537943,0.0,0.0],[1.049985762040825,-0.000205183345061,0.0,0.0],[1.049986615377408,-0.000197475890199,0.0,0.0],[1.049985530115554,-0.000201121315983,0.0,0.0],[1.049984562708778,-0.000198819039997,0.0,0.0],[1.049984337086323,-0.00019807060465,0.0,0.0],[1.049985759172322,-0.000205218163761,0.0,0.0],[1.04998661536151,-0.000197475676816,0.0,0.0],[1.04998553006725,-0.000201120667649,0.0,0.0],[1.049984562567001,-0.000198819629446,0.0,0.0],[1.0499842891973,-0.000197935573617,0.0,0.0],[1.049985756019636,-0.000205256431951,0.0,0.0],[1.049986615338137,-0.000197475363095,0.0,0.0],[1.049985529998312,-0.000201119742338,0.0,0.0],[1.049984562399713,-0.000198820324953,0.0,0.0],[1.049984241457561,-0.000197800963517,0.0,0.0],[1.049985738832309,-0.0002054650566,0.0,0.0],[1.049986615298956,-0.000197474837198,0.0,0.0],[1.049985529914504,-0.000201118617452,0.0,0.0],[1.049984562188692,-0.000198821202286,0.0,0.0],[1.049984187892087,-0.000197649926792,0.0,0.0],[1.049985609730754,-0.00020703113573,0.0,0.0],[1.049985738162311,-0.000205467842158,0.0,0.0],[1.049986615124192,-0.000197472491472,0.0,0.0],[1.049985529395039,-0.000201111645048,0.0,0.0],[1.049984561999701,-0.000198821988022,0.0,0.0],[1.049984149130225,-0.000197540631299,0.0,0.0],[1.049985486080832,-0.000208531083291,0.0,0.0],[1.049985734048422,-0.000205484945842,0.0,0.0],[1.049985738162313,-0.00020546784216,0.0,0.0],[1.049986614481764,-0.000197463868645,0.0,0.0],[1.049985527617566,-0.000201087787358,0.0,0.0],[1.049984561850159,-0.000198822609754,0.0,0.0],[1.049984102929643,-0.000197410361105,0.0,0.0],[1.049985480576288,-0.000208597856711,0.0,0.0],[1.049985732544897,-0.000205491196813,0.0,0.0],[1.049985738162326,-0.000205467842162,0.0,0.0],[1.049984561593507,-0.000198823676797,0.0,0.0],[1.049984035893311,-0.000197221341061,0.0,0.0],[1.049985475873861,-0.000208617407368,0.0,0.0],[1.049985380491034,-0.00020981005302,0.0,0.0],[1.049985732391858,-0.00020549183308,0.0,0.0],[1.049985738162327,-0.000205467842163,0.0,0.0],[1.049984560697564,-0.000198827401726,0.0,0.0],[1.049983986194057,-0.000197081205784,0.0,0.0],[1.049985475442998,-0.000208619198713,0.0,0.0],[1.049985332205538,-0.000210394869437,0.0,0.0],[1.049985732285057,-0.000205492277112,0.0,0.0],[1.049985738162327,-0.000205467842163,0.0,0.0],[1.049984555220102,-0.000198850174568,0.0,0.0],[1.049983938251146,-0.000196946022803,0.0,0.0],[1.049985475198061,-0.000208620217056,0.0,0.0],[1.049985186535663,-0.000212159169416,0.0,0.0],[1.049985332205537,-0.00021039486952,0.0,0.0],[1.049985732174421,-0.000205492737088,0.0,0.0],[1.049985738162328,-0.000205467842162,0.0,0.0],[1.049983891329487,-0.000196813719416,0.0,0.0],[1.049985475031743,-0.000208620908533,0.0,0.0],[1.049984979065503,-0.000214671971723,0.0,0.0],[1.049985332205537,-0.000210394869538,0.0,0.0],[1.049985731709811,-0.000205494668724,0.0,0.0],[1.049985738162328,-0.000205467842161,0.0,0.0],[1.049983834899111,-0.000196654604628,0.0,0.0],[1.049985474760688,-0.000208622035457,0.0,0.0],[1.049984935649925,-0.000215197805245,0.0,0.0],[1.049985332205537,-0.000210394869552,0.0,0.0],[1.049985731596365,-0.000205495140385,0.0,0.0],[1.04998573816233,-0.000205467842153,0.0,0.0],[1.049983740388613,-0.00019638811663,0.0,0.0],[1.049983834899111,-0.000196654604628,0.0,0.0],[1.049985473859687,-0.000208625781422,0.0,0.0],[1.049984924553404,-0.000215332202228,0.0,0.0],[1.049985332205537,-0.000210394869573,0.0,0.0],[1.049985731488148,-0.000205495590299,0.0,0.0],[1.04998573816233,-0.00020546784215,0.0,0.0],[1.049983421611696,-0.000195489272336,0.0,0.0],[1.049983740388613,-0.00019638811663,0.0,0.0],[1.04998547285659,-0.000208629951855,0.0,0.0],[1.049984918740096,-0.000215402610874,0.0,0.0],[1.049985332205536,-0.000210394869588,0.0,0.0],[1.049985731380521,-0.000205496037767,0.0,0.0],[1.049985738162331,-0.000205467842149,0.0,0.0],[1.049982970734591,-0.000194217949699,0.0,0.0],[1.049983421611696,-0.000195489272336,0.0,0.0],[1.049985472292453,-0.000208632297291,0.0,0.0],[1.049984913920933,-0.000215460978818,0.0,0.0],[1.049985332205536,-0.000210394869605,0.0,0.0],[1.049985731257059,-0.000205496551068,0.0,0.0],[1.049985738162332,-0.000205467842145,0.0,0.0],[1.049982647204395,-0.000193305702754,0.0,0.0],[1.049982970734591,-0.000194217949699,0.0,0.0],[1.049985471762505,-0.00020863450058,0.0,0.0],[1.049984910015268,-0.000215508282783,0.0,0.0],[1.049985332205536,-0.00021039486962,0.0,0.0],[1.049985730830689,-0.000205498323724,0.0,0.0],[1.049985738162333,-0.000205467842143,0.0,0.0],[1.049982549045402,-0.000193028927226,0.0,0.0],[1.049982647204395,-0.000193305702754,0.0,0.0],[1.049985471256891,-0.000208636602701,0.0,0.0],[1.049984904045192,-0.000215580590148,0.0,0.0],[1.049985332205536,-0.000210394869628,0.0,0.0],[1.049985728752905,-0.000205506962221,0.0,0.0],[1.049985738162333,-0.00020546784214,0.0,0.0],[1.049982259389649,-0.000192217231378,0.0,0.0],[1.049982549045402,-0.000193028927226,0.0,0.0],[1.049982547658364,-0.000193010310398,0.0,0.0],[1.049985470426749,-0.000208640054069,0.0,0.0],[1.04998489866326,-0.000215645774138,0.0,0.0],[1.049985332205536,-0.000210394869629,0.0,0.0],[1.049985738162334,-0.000205467842138,0.0,0.0],[1.049981937568453,-0.000191315399012,0.0,0.0],[1.049982259389649,-0.000192217231378,0.0,0.0],[1.049982259389649,-0.000192217231378,0.0,0.0],[1.049982547455805,-0.000193007591642,0.0,0.0],[1.049985469848539,-0.000208642458012,0.0,0.0],[1.049984893540986,-0.000215707813226,0.0,0.0],[1.049985332205537,-0.000210394869631,0.0,0.0],[1.049985738162338,-0.00020546784212,0.0,0.0],[1.049981819637375,-0.000190984923377,0.0,0.0],[1.049981937568453,-0.000191315399012,0.0,0.0],[1.049982547345354,-0.000193006109175,0.0,0.0],[1.049985469442277,-0.000208644147075,0.0,0.0],[1.049984887770434,-0.000215777704029,0.0,0.0],[1.049985332205537,-0.000210394869631,0.0,0.0],[1.049985738162338,-0.000205467842119,0.0,0.0],[1.049981573757701,-0.000190317430744,0.0,0.0],[1.049981819637375,-0.000190984923377,0.0,0.0],[1.0499818005013,-0.000190728073248,0.0,0.0],[1.049982547270532,-0.000193005104919,0.0,0.0],[1.049985469248162,-0.00020864495412,0.0,0.0],[1.049984881674874,-0.000215851531217,0.0,0.0],[1.049985332205537,-0.000210394869627,0.0,0.0],[1.049985738162338,-0.000205467842119,0.0,0.0],[1.049981221354175,-0.000189360756483,0.0,0.0],[1.049981573757701,-0.000190317430744,0.0,0.0],[1.049981800302563,-0.000190725405709,0.0,0.0],[1.049981794318324,-0.000190645083755,0.0,0.0],[1.049982547156883,-0.000193003579518,0.0,0.0],[1.049985469125196,-0.00020864546536,0.0,0.0],[1.049984868347091,-0.000216012952419,0.0,0.0],[1.049985332205537,-0.000210394869625,0.0,0.0],[1.049985738162338,-0.000205467842118,0.0,0.0],[1.049981006294175,-0.000188776930411,0.0,0.0],[1.049981221354175,-0.000189360756483,0.0,0.0],[1.049981800218562,-0.000190724278205,0.0,0.0],[1.049981790361924,-0.000190591979933,0.0,0.0],[1.04998254698441,-0.000193001264569,0.0,0.0],[1.049985469042056,-0.000208645811022,0.0,0.0],[1.049984566068318,-0.000219674041714,0.0,0.0],[1.049985332205537,-0.000210394869622,0.0,0.0],[1.049985738162338,-0.000205467842118,0.0,0.0],[1.049980969258655,-0.000188676389619,0.0,0.0],[1.049981006294175,-0.000188776930411,0.0,0.0],[1.049981800169204,-0.000190723615706,0.0,0.0],[1.049982546862046,-0.000192999622188,0.0,0.0],[1.049985468926085,-0.000208646293178,0.0,0.0],[1.049984120225512,-0.00022152765694,0.0,0.0],[1.049984545119093,-0.000219866335146,0.0,0.0],[1.049985332205537,-0.000210394869617,0.0,0.0],[1.04998093473944,-0.000188976973762,0.0,0.0],[1.049980969258655,-0.000188676389619,0.0,0.0],[1.049980577729233,-0.000183421181026,0.0,0.0],[1.04998180012378,-0.000190723006009,0.0,0.0],[1.049982546778446,-0.000192998500095,0.0,0.0],[1.049985468837575,-0.000208646661162,0.0,0.0],[1.049983727052543,-0.000223162294508,0.0,0.0],[1.049984533817574,-0.000219970072043,0.0,0.0],[1.049985332205537,-0.000210394869609,0.0,0.0],[1.049980909329184,-0.000189198239517,0.0,0.0],[1.04998093473944,-0.000188976973762,0.0,0.0],[1.049980346366426,-0.000180315769912,0.0,0.0],[1.049981800083311,-0.00019072246282,0.0,0.0],[1.049982546712385,-0.000192997613421,0.0,0.0],[1.04998546820595,-0.000208649287176,0.0,0.0],[1.049984532129759,-0.000219985564543,0.0,0.0],[1.049985332205537,-0.000210394869601,0.0,0.0],[1.049980874733087,-0.000189499493133,0.0,0.0],[1.049980909329184,-0.000189198239517,0.0,0.0],[1.04998016304698,-0.000177855209161,0.0,0.0],[1.049981800041328,-0.000190721899324,0.0,0.0],[1.049982546500577,-0.000192994770507,0.0,0.0],[1.049985467865226,-0.000208650703755,0.0,0.0],[1.049985462728398,-0.000208672060393,0.0,0.0],[1.049984530841387,-0.00021999739053,0.0,0.0],[1.049985332205537,-0.000210394869595,0.0,0.0],[1.049980850250933,-0.000189712677225,0.0,0.0],[1.049980874733087,-0.000189499493133,0.0,0.0],[1.049980087298005,-0.000176838486927,0.0,0.0],[1.04998179991459,-0.000190720198221,0.0,0.0],[1.049982544787363,-0.00019297177557,0.0,0.0],[1.049985467488989,-0.00020865226798,0.0,0.0],[1.049984529636427,-0.000220008450885,0.0,0.0],[1.049985332205538,-0.000210394869584,0.0,0.0],[1.049980781785478,-0.000190308856207,0.0,0.0],[1.049980850250933,-0.000189712677225,0.0,0.0],[1.049980083031535,-0.000176781221272,0.0,0.0],[1.049979829889619,-0.000173383485211,0.0,0.0],[1.049981799786869,-0.000190718483915,0.0,0.0],[1.049982544702047,-0.000192970630445,0.0,0.0],[1.049985466469175,-0.000208656507912,0.0,0.0],[1.049984528351487,-0.000220020245375,0.0,0.0],[1.049985332205538,-0.000210394869578,0.0,0.0],[1.049980732209761,-0.000190740548378,0.0,0.0],[1.049980781785478,-0.000190308856207,0.0,0.0],[1.049980081461603,-0.000176760149243,0.0,0.0],[1.049979635158717,-0.000170769756849,0.0,0.0],[1.049981798593491,-0.000190702466095,0.0,0.0],[1.04998254463473,-0.000192969726901,0.0,0.0],[1.049984527214473,-0.00022003068206,0.0,0.0],[1.049985332205538,-0.000210394869578,0.0,0.0],[1.049980723103864,-0.000190819840098,0.0,0.0],[1.049980732209761,-0.000190740548378,0.0,0.0],[1.049980702520866,-0.000190863981579,0.0,0.0],[1.049980079123072,-0.000176728760888,0.0,0.0],[1.049982544558625,-0.000192968705422,0.0,0.0],[1.049984526051509,-0.000220041356933,0.0,0.0],[1.049980720947755,-0.00019083861492,0.0,0.0],[1.049980723103864,-0.000190819840098,0.0,0.0],[1.049980698767669,-0.000190879585701,0.0,0.0],[1.049980077715926,-0.000176709873798,0.0,0.0],[1.049982544490891,-0.000192967796272,0.0,0.0],[1.049984520049119,-0.00022009645301,0.0,0.0],[1.049980662496449,-0.000191347593628,0.0,0.0],[1.049980720947755,-0.00019083861492,0.0,0.0],[1.049980720947757,-0.000190838614875,0.0,0.0],[1.049980695998058,-0.000190891100509,0.0,0.0],[1.049980076018018,-0.00017668708404,0.0,0.0],[1.049982544412928,-0.00019296674984,0.0,0.0],[1.049984469827303,-0.000220305252967,0.0,0.0],[1.049984509191626,-0.000220184956564,0.0,0.0],[1.049980621532934,-0.000191704293223,0.0,0.0],[1.049980662496449,-0.000191347593628,0.0,0.0],[1.049980720947758,-0.000190838614857,0.0,0.0],[1.049980693303205,-0.000190902304506,0.0,0.0],[1.049980074527183,-0.000176667073666,0.0,0.0],[1.049982544332989,-0.000192965676891,0.0,0.0],[1.049984466933164,-0.000220317285506,0.0,0.0],[1.049984457306987,-0.000220607887935,0.0,0.0],[1.049980543691789,-0.000192382113582,0.0,0.0],[1.049980621030529,-0.000191708668037,0.0,0.0],[1.049980720947759,-0.000190838614842,0.0,0.0],[1.049980667988722,-0.000191007550849,0.0,0.0],[1.049980064771657,-0.00017653613247,0.0,0.0],[1.049982544236904,-0.00019296438721,0.0,0.0],[1.049984465479621,-0.000220323328693,0.0,0.0],[1.049984422148682,-0.000220754060462,0.0,0.0],[1.049984400543737,-0.000221043572457,0.0,0.0],[1.04998047427426,-0.000192986583293,0.0,0.0],[1.049980543691789,-0.000192382113582,0.0,0.0],[1.049980543691789,-0.000192382113582,0.0,0.0],[1.049980598662363,-0.000191801664878,0.0,0.0],[1.049980621030529,-0.000191708668037,0.0,0.0],[1.049980720947759,-0.000190838614829,0.0,0.0],[1.049980656207134,-0.000191056533444,0.0,0.0],[1.049979992841273,-0.000175570664284,0.0,0.0],[1.049982544176665,-0.000192963578671,0.0,0.0],[1.049984464260745,-0.000220328396234,0.0,0.0],[1.049984403595542,-0.000220831196129,0.0,0.0],[1.049984346174557,-0.000221460881359,0.0,0.0],[1.049980322838746,-0.00019354263989,0.0,0.0],[1.04998047427426,-0.000192986583293,0.0,0.0],[1.04998047427426,-0.000192986583293,0.0,0.0],[1.049980593397573,-0.000191823553523,0.0,0.0],[1.049980720947759,-0.000190838614824,0.0,0.0],[1.049980650677557,-0.000191079522966,0.0,0.0],[1.04998254391778,-0.000192960103846,0.0,0.0],[1.049984463266795,-0.000220332528635,0.0,0.0],[1.049984342125146,-0.000221477717,0.0,0.0],[1.049984331616778,-0.000221567557856,0.0,0.0],[1.049980116548742,-0.000194300116882,0.0,0.0],[1.049980720947759,-0.00019083861482,0.0,0.0],[1.049980646989243,-0.000191094857332,0.0,0.0],[1.04998254282635,-0.000192945454394,0.0,0.0],[1.049984461706584,-0.000220339015296,0.0,0.0],[1.049984341132218,-0.000221481845147,0.0,0.0],[1.049984328267477,-0.000221592100867,0.0,0.0],[1.04998005604158,-0.000194522293342,0.0,0.0],[1.049980720947759,-0.000190838614816,0.0,0.0],[1.049980641350497,-0.000191118300722,0.0,0.0],[1.049984457986171,-0.000220354483115,0.0,0.0],[1.049984340450403,-0.000221484679831,0.0,0.0],[1.049984326605393,-0.000221604280285,0.0,0.0],[1.049979855774152,-0.000195257656013,0.0,0.0],[1.04998072094776,-0.00019083861481,0.0,0.0],[1.049980630338094,-0.000191164085389,0.0,0.0],[1.049984455412248,-0.000220365184341,0.0,0.0],[1.049984339505258,-0.000221488609318,0.0,0.0],[1.049984324778893,-0.000221617664509,0.0,0.0],[1.049980720947759,-0.000190838614808,0.0,0.0],[1.049980627293983,-0.000191176741445,0.0,0.0],[1.049984452139519,-0.000220378790885,0.0,0.0],[1.049984337264038,-0.000221497927309,0.0,0.0],[1.049984322671384,-0.000221633107905,0.0,0.0],[1.049980720947759,-0.000190838614809,0.0,0.0],[1.049980626410229,-0.000191180415701,0.0,0.0],[1.049984450151365,-0.000220387056745,0.0,0.0],[1.049984335560342,-0.000221505010518,0.0,0.0],[1.049984320540836,-0.000221648720124,0.0,0.0],[1.049980720947759,-0.000190838614812,0.0,0.0],[1.049980625741711,-0.000191183195098,0.0,0.0],[1.049980625889112,-0.000191182582271,0.0,0.0],[1.049984448356486,-0.000220394519051,0.0,0.0],[1.049984334364373,-0.000221509982822,0.0,0.0],[1.049984318178848,-0.000221666028286,0.0,0.0],[1.049980720947759,-0.000190838614815,0.0,0.0],[1.049980625116036,-0.000191185796377,0.0,0.0],[1.049980625201464,-0.000191185441202,0.0,0.0],[1.049984445329359,-0.000220407104491,0.0,0.0],[1.049984333111491,-0.000221515191747,0.0,0.0],[1.049984314744022,-0.000221691197982,0.0,0.0],[1.049980720947758,-0.000190838614817,0.0,0.0],[1.049980624471509,-0.000191188476031,0.0,0.0],[1.049980622344658,-0.000191197318529,0.0,0.0],[1.049984442353284,-0.000220419477682,0.0,0.0],[1.049984332082862,-0.000221519468326,0.0,0.0],[1.049984307754231,-0.000221597379115,0.0,0.0],[1.04998430828691,-0.000221769731062,0.0,0.0],[1.049980720947758,-0.000190838614818,0.0,0.0],[1.04998061981144,-0.000191207850519,0.0,0.0],[1.04998062113144,-0.000191202362544,0.0,0.0],[1.049984440945167,-0.000220425332002,0.0,0.0],[1.049984330379736,-0.000221526549162,0.0,0.0],[1.049984303556862,-0.000221541040892,0.0,0.0],[1.049984267399002,-0.000222267020487,0.0,0.0],[1.049980720947758,-0.000190838614818,0.0,0.0],[1.049980585876294,-0.000191348937694,0.0,0.0],[1.049984439398542,-0.000220431762179,0.0,0.0],[1.049984324875738,-0.000221549432327,0.0,0.0],[1.049984299663194,-0.000221488779038,0.0,0.0],[1.049984238131525,-0.000222622979185,0.0,0.0],[1.049984437914113,-0.000220437933772,0.0,0.0],[1.049984312014964,-0.000221602901679,0.0,0.0],[1.049984295864015,-0.000221437785425,0.0,0.0],[1.04998421679135,-0.000222711702045,0.0,0.0],[1.049984160963497,-0.000223546031178,0.0,0.0],[1.049984436123905,-0.000220445376661,0.0,0.0],[1.049984293014375,-0.000221399536797,0.0,0.0],[1.049984215027247,-0.000222719036396,0.0,0.0],[1.049984216145462,-0.000222714387361,0.0,0.0],[1.0499841353395,-0.000223652564313,0.0,0.0],[1.049984146312823,-0.00022371766907,0.0,0.0],[1.049984433268295,-0.000220457249014,0.0,0.0],[1.049984288487536,-0.000221338776331,0.0,0.0],[1.049984214475248,-0.000222721331359,0.0,0.0],[1.049984214829685,-0.000222719857774,0.0,0.0],[1.049984120494839,-0.00022371428178,0.0,0.0],[1.049984118981016,-0.000223881910229,0.0,0.0],[1.049984425452809,-0.000220489742325,0.0,0.0],[1.049984280855109,-0.000221236331827,0.0,0.0],[1.049984214120329,-0.000222722806954,0.0,0.0],[1.049984046884215,-0.000224315151316,0.0,0.0],[1.049984118981016,-0.000223881910225,0.0,0.0],[1.04998441505183,-0.000220532984958,0.0,0.0],[1.049984223665779,-0.00022046872107,0.0,0.0],[1.049984213906251,-0.000222723696992,0.0,0.0],[1.049983967517667,-0.000224881719386,0.0,0.0],[1.04998403925727,-0.000224212780411,0.0,0.0],[1.049984118981017,-0.000223881910222,0.0,0.0],[1.049984414061171,-0.000220537103678,0.0,0.0],[1.049984176749303,-0.000219838995376,0.0,0.0],[1.04998421368988,-0.000222724596564,0.0,0.0],[1.049983885602713,-0.000225466479568,0.0,0.0],[1.049984038440788,-0.000224201821366,0.0,0.0],[1.049984118981017,-0.000223881910218,0.0,0.0],[1.049984413277701,-0.000220540360997,0.0,0.0],[1.049984161884533,-0.000219639476392,0.0,0.0],[1.049984213496616,-0.00022272540007,0.0,0.0],[1.049983853183672,-0.000225694770732,0.0,0.0],[1.049983871522657,-0.000225525018499,0.0,0.0],[1.049984038129044,-0.000224197637052,0.0,0.0],[1.049984118981018,-0.000223881910213,0.0,0.0],[1.049984412516764,-0.000220543524634,0.0,0.0],[1.04998414835206,-0.000219457839852,0.0,0.0],[1.049984213278874,-0.000222726305341,0.0,0.0],[1.049983809131243,-0.000226004982881,0.0,0.0],[1.049983869633919,-0.000225532871076,0.0,0.0],[1.04998403779928,-0.000224193210876,0.0,0.0],[1.049984118981018,-0.000223881910209,0.0,0.0],[1.049984411701719,-0.000220546913231,0.0,0.0],[1.04998414098155,-0.000219358910873,0.0,0.0],[1.049984213104419,-0.000222727030647,0.0,0.0],[1.049983757554726,-0.000226368178795,0.0,0.0],[1.04998386864162,-0.000225536996639,0.0,0.0],[1.049984037525605,-0.000224189537533,0.0,0.0],[1.049984118981019,-0.000223881910205,0.0,0.0],[1.049984410948147,-0.000220550046245,0.0,0.0],[1.049984135095043,-0.000219279900576,0.0,0.0],[1.04998421289516,-0.000222727900653,0.0,0.0],[1.049983716140857,-0.000226659810515,0.0,0.0],[1.049983867103583,-0.000225543391111,0.0,0.0],[1.049983868508019,-0.000225537552096,0.0,0.0],[1.049984037201507,-0.000224185187391,0.0,0.0],[1.049984118981019,-0.000223881910204,0.0,0.0],[1.049984410237986,-0.000220552998778,0.0,0.0],[1.049984130075527,-0.000219212527254,0.0,0.0],[1.049984212669658,-0.000222728838189,0.0,0.0],[1.049983701140322,-0.000226764812103,0.0,0.0],[1.049983712579863,-0.000226674615466,0.0,0.0],[1.049983865853349,-0.000225548589023,0.0,0.0],[1.049983868411406,-0.000225537953772,0.0,0.0],[1.049984036885433,-0.000224180944946,0.0,0.0],[1.04998411898102,-0.000223881910202,0.0,0.0],[1.049984409250287,-0.000220557105187,0.0,0.0],[1.049984124185088,-0.00021913346419,0.0,0.0],[1.049984212258243,-0.000222730548673,0.0,0.0],[1.049983680458946,-0.000226909578774,0.0,0.0],[1.049983709603341,-0.000226686990463,0.0,0.0],[1.049983868329874,-0.000225538292749,0.0,0.0],[1.049984036450898,-0.000224175112492,0.0,0.0],[1.04998411898102,-0.000223881910202,0.0,0.0],[1.049984408039904,-0.000220562137422,0.0,0.0],[1.04998411880276,-0.00021906122112,0.0,0.0],[1.049984209180207,-0.000222743345765,0.0,0.0],[1.049983629582118,-0.000227265709278,0.0,0.0],[1.049983708463905,-0.000226691727727,0.0,0.0],[1.049983709566209,-0.000226687144839,0.0,0.0],[1.049983868192156,-0.000225538865319,0.0,0.0],[1.049984035853125,-0.000224167089007,0.0,0.0],[1.04998411898102,-0.000223881910204,0.0,0.0],[1.049984402302999,-0.000220585988908,0.0,0.0],[1.04998411045272,-0.00021894914461,0.0,0.0],[1.049984199747588,-0.000222782562382,0.0,0.0],[1.049983588345713,-0.000227554358203,0.0,0.0],[1.04998370734738,-0.000226696369738,0.0,0.0],[1.049983709530706,-0.000226687292444,0.0,0.0],[1.049983867999298,-0.000225539667134,0.0,0.0],[1.049984035220513,-0.000224158597887,0.0,0.0],[1.04998411898102,-0.000223881910208,0.0,0.0],[1.049984353250834,-0.0002207899259,0.0,0.0],[1.049984093594819,-0.000218722873286,0.0,0.0],[1.049983556124791,-0.000227779900036,0.0,0.0],[1.049983709492432,-0.000226687451571,0.0,0.0],[1.049983867856194,-0.000225540262099,0.0,0.0],[1.049984034800286,-0.000224152957467,0.0,0.0],[1.04998411898102,-0.000223881910211,0.0,0.0],[1.049984088669101,-0.000218656758958,0.0,0.0],[1.049984092939286,-0.000218714074549,0.0,0.0],[1.049983527003305,-0.000227983746261,0.0,0.0],[1.049983709458256,-0.00022668759366,0.0,0.0],[1.049983867619135,-0.000225541247684,0.0,0.0],[1.049984034372595,-0.000224147216877,0.0,0.0],[1.04998411898102,-0.000223881910212,0.0,0.0],[1.049984084373409,-0.000218599101028,0.0,0.0],[1.049984091890338,-0.000218699995289,0.0,0.0],[1.049983526536543,-0.000227977481264,0.0,0.0],[1.049983510128185,-0.000228195047317,0.0,0.0],[1.049983709420515,-0.000226687750573,0.0,0.0],[1.049983865973702,-0.000225548088657,0.0,0.0],[1.049984034168098,-0.000224144472054,0.0,0.0],[1.04998411898102,-0.000223881910212,0.0,0.0],[1.049984080820677,-0.000218551415295,0.0,0.0],[1.049984090994114,-0.000218687965942,0.0,0.0],[1.049983526068554,-0.000227971199808,0.0,0.0],[1.049983483166547,-0.000228429822211,0.0,0.0],[1.049983510128185,-0.000228195047317,0.0,0.0],[1.049983709396181,-0.00022668785174,0.0,0.0],[1.049983862339145,-0.000225563199524,0.0,0.0],[1.049984033842821,-0.00022414010608,0.0,0.0],[1.04998411898102,-0.000223881910214,0.0,0.0],[1.0499840780579,-0.000218514332553,0.0,0.0],[1.049984090486886,-0.000218681157803,0.0,0.0],[1.049983525599657,-0.000227964906162,0.0,0.0],[1.049983460560122,-0.000228626673053,0.0,0.0],[1.049983483166547,-0.000228429822211,0.0,0.0],[1.049983709358806,-0.000226688007127,0.0,0.0],[1.049984033537457,-0.000224136007401,0.0,0.0],[1.049984118981019,-0.000223881910217,0.0,0.0],[1.049984075247983,-0.000218476617112,0.0,0.0],[1.049983525133599,-0.000227958650616,0.0,0.0],[1.049983436258785,-0.000228838282742,0.0,0.0],[1.049983460560122,-0.000228626673053,0.0,0.0],[1.049983709051389,-0.000226689285229,0.0,0.0],[1.049984033101143,-0.000224130151074,0.0,0.0],[1.049984118981019,-0.000223881910217,0.0,0.0],[1.049984072809476,-0.000218443886816,0.0,0.0],[1.04998352466577,-0.000227952371295,0.0,0.0],[1.049983416306525,-0.000229012021812,0.0,0.0],[1.049983436258785,-0.000228838282742,0.0,0.0],[1.049983707991892,-0.000226693690146,0.0,0.0],[1.049984028495555,-0.000224068333561,0.0,0.0],[1.049984071058102,-0.000218420379419,0.0,0.0],[1.049983524198258,-0.000227946096241,0.0,0.0],[1.049983394885576,-0.000229198549837,0.0,0.0],[1.049983416306525,-0.000229012021812,0.0,0.0],[1.049984026653436,-0.000224043608113,0.0,0.0],[1.049984069024754,-0.000218393087288,0.0,0.0],[1.049983523730452,-0.000227939817222,0.0,0.0],[1.049983281870247,-0.000229613531184,0.0,0.0],[1.049983394885579,-0.000229198549804,0.0,0.0],[1.049983394885576,-0.000229198549837,0.0,0.0],[1.049984025718011,-0.000224031052573,0.0,0.0],[1.049984065961487,-0.000218351971328,0.0,0.0],[1.0499835235021,-0.000227936752235,0.0,0.0],[1.049983265335773,-0.00022967424417,0.0,0.0],[1.049983394885582,-0.000229198549768,0.0,0.0],[1.049983394885579,-0.000229198549804,0.0,0.0],[1.04998402551102,-0.000224028274274,0.0,0.0],[1.049984060956727,-0.000218284796143,0.0,0.0],[1.049983518369871,-0.000227867866218,0.0,0.0],[1.049983218754432,-0.000229845286347,0.0,0.0],[1.049983394885587,-0.000229198549715,0.0,0.0],[1.049983394885582,-0.000229198549768,0.0,0.0],[1.049984025348004,-0.000224026086229,0.0,0.0],[1.049984021784731,-0.000217759019491,0.0,0.0],[1.049984058325904,-0.000218249484564,0.0,0.0],[1.049983515032481,-0.000227823070953,0.0,0.0],[1.049983164056252,-0.000230046132773,0.0,0.0],[1.049983394885589,-0.000229198549691,0.0,0.0],[1.049983394885587,-0.000229198549715,0.0,0.0],[1.049984025173343,-0.00022402374188,0.0,0.0],[1.049983512113598,-0.000227783893004,0.0,0.0],[1.049983156960716,-0.000230072186892,0.0,0.0],[1.04998339488559,-0.000229198549685,0.0,0.0],[1.049983394885589,-0.000229198549691,0.0,0.0],[1.049984025033602,-0.000224021866229,0.0,0.0],[1.049983509051882,-0.000227742797914,0.0,0.0],[1.049983148855955,-0.000230101946794,0.0,0.0],[1.049983155149903,-0.000230078836024,0.0,0.0],[1.04998339488559,-0.000229198549682,0.0,0.0],[1.04998339488559,-0.000229198549685,0.0,0.0],[1.049984024897919,-0.000224020045049,0.0,0.0],[1.049983503824052,-0.000227672628723,0.0,0.0],[1.049983141356402,-0.000230129484428,0.0,0.0],[1.049983150912112,-0.000230094396784,0.0,0.0],[1.04998339488559,-0.000229198549682,0.0,0.0],[1.04998339488559,-0.000229198549682,0.0,0.0],[1.04998402476258,-0.000224018228489,0.0,0.0],[1.049983502541778,-0.000227655417734,0.0,0.0],[1.049983129952675,-0.000230171357814,0.0,0.0],[1.049983140858803,-0.000230131311564,0.0,0.0],[1.049984024628824,-0.000224016433183,0.0,0.0],[1.049983502319491,-0.000227652434162,0.0,0.0],[1.049983497937436,-0.000227601350284,0.0,0.0],[1.049983115541481,-0.000230224274327,0.0,0.0],[1.04998402223699,-0.000223984329373,0.0,0.0],[1.049983501954513,-0.000227647535383,0.0,0.0],[1.049983494032334,-0.000227555493811,0.0,0.0],[1.049983059438982,-0.00023043027729,0.0,0.0],[1.049984012977981,-0.00022386005257,0.0,0.0],[1.049984021116443,-0.000223969289098,0.0,0.0],[1.049983501882349,-0.000227646566787,0.0,0.0],[1.049983487468661,-0.000227478418492,0.0,0.0],[1.049982957525106,-0.000230804495207,0.0,0.0],[1.049984006828941,-0.00022377751856,0.0,0.0],[1.049983501821372,-0.000227645748343,0.0,0.0],[1.049983501769987,-0.000227645058643,0.0,0.0],[1.049983501703144,-0.000227644161458,0.0,0.0],[1.049983501582169,-0.000227642537691,0.0,0.0],[1.049983501372419,-0.000227639722371,0.0,0.0],[1.049983499654345,-0.000227616661939,0.0,0.0]]}", + "orient": "split", "dtype": { "vm_pu": "float64", "va_degree": "float64", "p_mw": "float64", "q_mvar": "float64" - }, - "orient": "split" + } }, "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\",\"loading_pf_percent\",\"diff_pp2pf_percent\",\"diff_pp2pf\"],\"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,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904],\"data\":[[0.000057357983401,0.000005744059489,-0.000057357974872,-0.000005744058132,0.000000000008529,0.000000000001358,0.000076193467455,0.000076193467455,0.000076193467455,1.049999405656177,-0.000147549270719,1.049999248611093,-0.000148047351809,0.018098210633008,33.200077028152137,0.000216256089603,-0.000071797188326],[0.000057357975051,0.000005744058676,-0.000057357974157,-0.000005744058534,0.000000000000894,0.000000000000142,0.000076193467763,0.000076193467763,0.000076193467763,1.049999248611093,-0.000148047351809,1.049999232147104,-0.000148099568672,0.018098210705984,33.200073224591939,0.00028902979341,-0.000095958103053],[0.000057357972247,0.000005744058773,-0.000057357971409,-0.000005744058639,0.000000000000838,0.000000000000133,0.000076193465282,0.000076193465282,0.000076193465282,1.049999232147104,-0.000148099568672,1.049999216722931,-0.000148148487672,0.018098210116793,33.200069421793557,0.000311748794305,-0.000103500816131],[0.000057357969976,0.00000574405852,-0.000057357969246,-0.000005744058404,0.00000000000073,0.000000000000116,0.000076193463382,0.000076193463382,0.000076193463382,1.049999216722931,-0.000148148487672,1.049999203275267,-0.000148191138015,0.018098209665563,33.200065619075083,0.000333401765508,-0.000110689604924],[0.000057357969724,0.000005744058821,-0.000057357968573,-0.000005744058638,0.000000000001151,0.000000000000183,0.000076193464065,0.000076193464065,0.000076193464065,1.049999203275267,-0.000148191138015,1.049999182089914,-0.000148258329054,0.018098209827799,33.200061816040638,0.000357091072806,-0.000118554456911],[0.000057357967939,0.000005744063213,-0.000057357889592,-0.00000574405074,0.000000000078347,0.000000000012472,0.000076193463834,0.000076193463834,0.000076193463834,1.049999182089914,-0.000148258329054,1.04999773946353,-0.000152833733825,0.0180982097728,33.20005801308065,0.000884134714716,-0.000293533238199],[0.000057357888913,0.000005744055477,-0.000057357885404,-0.000005744054918,0.000000000003509,0.000000000000559,0.000076193463565,0.000076193463565,0.000076193463565,1.04999773946353,-0.000152833733825,1.049997674850493,-0.000153038659235,0.018098209708894,33.20005422579964,0.001427115564084,-0.000473803141141],[0.000057357885762,0.000005744055306,-0.000057357882841,-0.000005744054841,0.000000000002921,0.000000000000465,0.000076193464087,0.000076193464087,0.000076193464087,1.049997674850493,-0.000153038659235,1.049997621071848,-0.000153209222505,0.018098209832905,33.200050439199593,0.001480153182426,-0.000491411603143],[0.000057357882841,0.00000574405514,-0.000057357880278,-0.000005744054732,0.000000000002563,0.000000000000408,0.000076193464126,0.000076193464126,0.000076193464126,1.049997621071848,-0.000153209222505,1.049997573876797,-0.000153358905381,0.018098209842242,33.200046652950668,0.001527059045085,-0.000506984315386],[0.000057357880278,0.00000574405512,-0.000057357878366,-0.000005744054815,0.000000000001913,0.000000000000304,0.000076193464177,0.000076193464177,0.000076193464177,1.049997573876797,-0.000153358905381,1.049997538660366,-0.000153470597105,0.018098209854379,33.200042867283237,0.001567433727919,-0.000520388669585],[0.000057357877888,0.000005744054935,-0.000057357876093,-0.000005744054649,0.000000000001795,0.000000000000286,0.000076193463565,0.000076193463565,0.000076193463565,1.049997538660366,-0.000153470597105,1.049997505600803,-0.000153575448149,0.018098209708949,33.200039082059213,0.001602833975128,-0.000532141506163],[0.000057357875615,0.000005744054708,-0.000057357874511,-0.000005744054533,0.000000000001104,0.000000000000176,0.000076193462945,0.000076193462945,0.000076193462945,1.049997505600803,-0.000153575448149,1.04999748527219,-0.000153639921968,0.018098209561651,33.200035297091119,0.001632999037642,-0.000542156256898],[0.000057357875705,0.000005744054921,-0.000057357872956,-0.000005744054483,0.000000000002749,0.000000000000438,0.000076193464566,0.000076193464566,0.000076193464566,1.04999748527219,-0.000153639921968,1.049997434663053,-0.000153800432887,0.018098209946701,33.20003151235268,0.001669327964295,-0.00055421741019],[0.000057357872389,0.000005744055901,-0.000057357850124,-0.000005744052356,0.000000000022265,0.000000000003544,0.000076193464007,0.000076193464007,0.000076193464007,1.049997434663053,-0.000153800432887,1.049997024686723,-0.000155100705566,0.018098209813916,33.200027728250703,0.001842454228788,-0.000611695314838],[-0.000000000000477,-0.000000000000017,0.000000000000477,0.000000000000017,4.03896783473158e-28,6.31088724176809e-30,0.000000000000632,0.000000000000632,0.000000000000632,1.049997024686723,-0.000155100705566,1.049997024686723,-0.000155100705567,0.000000000150004,0.000083890515903,-99.99972858892815,0.000083890288215],[0.000057357850199,0.000005744055255,-0.000057357823198,-0.000005744050956,0.000000000027,0.000000000004298,0.000076193464487,0.000076193464487,0.000076193464487,1.049997024686723,-0.000155100705566,1.049996527520334,-0.000156677508486,0.018098209927904,33.199940794468311,0.002422621789227,-0.000804308999697],[-0.000000000000716,-0.000000000000019,0.000000000000716,0.000000000000019,4.03896783473158e-28,3.15544362088405e-30,0.000000000000947,0.000000000000947,0.000000000000947,1.049997024686723,-0.000155100705567,1.049997024686724,-0.000155100705567,0.000000000224943,0.000080077286778,-99.999777156469676,0.000080077108331],[0.000057357823213,0.000005744052579,-0.000057357821355,-0.000005744052283,0.000000000001858,0.000000000000296,0.00007619346472,0.00007619346472,0.00007619346472,1.049996527520334,-0.000156677508486,1.049996493312254,-0.000156786002146,0.018098209983333,33.19993701989381,0.002620377366388,-0.000869963635324],[-0.000000000000119,-0.000000000000015,0.000000000000119,0.000000000000015,2.52435489670724e-29,0.0,0.000000000000159,0.000000000000159,0.000000000000159,1.049997024686724,-0.000155100705567,1.049997024686724,-0.000155100705568,0.000000000037769,0.000076264170105,-99.999869603450719,0.000076264070659],[0.000057357821355,0.000005744052462,-0.000057357819269,-0.00000574405213,0.000000000002086,0.000000000000332,0.000076193464744,0.000076193464744,0.000076193464744,1.049996493312254,-0.000156786002146,1.049996454900573,-0.000156907827867,0.018098209988934,33.199933245842558,0.0026571912505,-0.00088218572138],[-3.02942825950962e-20,-0.000000000000011,3.02942825952159e-20,0.000000000000011,1.19660434857209e-31,0.0,0.000000000000015,0.000000000000015,0.000000000000015,1.049997024686724,-0.000155100705568,1.049997024686724,-0.000155100705568,0.000000000003514,0.000072450903505,-99.999863084428014,0.000072450804309],[0.000057357819389,0.000005744052488,-0.000057357815992,-0.000005744051948,0.000000000003397,0.000000000000541,0.000076193464948,0.000076193464948,0.000076193464948,1.049996454900573,-0.000156907827867,1.049996392358583,-0.00015710618479,0.01809821003743,33.199929472116274,0.0027039267542,-0.000897701775372],[0.000000000000119,-0.000000000000015,-0.000000000000119,0.000000000000015,2.52435489670724e-29,0.0,0.000000000000159,0.000000000000159,0.000000000000159,1.049997024686724,-0.000155100705568,1.049997024686724,-0.00015510070557,0.000000000037769,0.000068637636909,-99.999783421049756,0.000068637488254],[0.000057357815753,0.000005744052545,-0.000057357809574,-0.000005744051561,0.000000000006179,0.000000000000984,0.000076193464713,0.000076193464713,0.000076193464713,1.049996392358583,-0.00015710618479,1.049996278579563,-0.000157467044049,0.01809820998152,33.199925699137907,0.002777049343377,-0.00092197831863],[-0.000000000000119,-0.000000000000015,0.000000000000119,0.000000000000015,2.52435489670724e-29,0.0,0.000000000000159,0.000000000000159,0.000000000000159,1.049997024686724,-0.00015510070557,1.049997024686724,-0.00015510070557,0.000000000037769,0.000064824445265,-99.9998974621614,0.000064824378796],[0.000000687996554,0.000000226133294,-0.000000687996536,-0.000000226133293,0.000000000000019,0.000000000000001,0.000000957240107,0.000000957240107,0.000000957240107,1.049996278579563,-0.000157467044049,1.049996252221698,-0.000157113261217,0.000227372944956,0.684672406966594,-0.063157184853777,0.000432419817711],[0.000056669812345,0.000005517923002,-0.000056669736799,-0.000005517910976,0.000000000075545,0.000000000012026,0.00007525911244,0.00007525911244,0.00007525911244,1.049996278579563,-0.000157467044049,1.049994870502093,-0.000162144748288,0.01787627357672,33.19988043771648,0.003419445473987,-0.001135251808996],[-0.000000000000239,-0.000000000000011,0.000000000000239,0.000000000000011,5.04870979341448e-29,-1.57772181044202e-30,0.000000000000316,0.000000000000316,0.000000000000316,1.049997024686724,-0.00015510070557,1.049997024686724,-0.000155100705571,0.000000000075038,0.000061011291111,-99.99999750661776,0.00006101128959],[0.000000573998039,0.000000188663506,-0.000000573998035,-0.000000188663505,0.000000000000004,2.73872168687358e-16,0.000000798628803,0.000000798628803,0.000000798628803,1.049996252221698,-0.000157113261217,1.049996246164443,-0.000157031959172,0.000189698051207,0.571202039585058,-0.058588853459845,0.000334660725932],[0.000000113998441,0.00000003746978,-0.000000113998441,-0.00000003746978,1.37541593786958e-16,1.05249270001165e-17,0.000000158611231,0.000000158611231,0.000000158611231,1.049996252221698,-0.000157113261217,1.049996251049617,-0.000157097529032,0.000037674876374,0.113466763491575,-0.082679822970974,0.000093814119186],[0.000056669735963,0.000005517916801,-0.000056669715852,-0.000005517913599,0.000000000020111,0.000000000003202,0.000075259112087,0.000075259112087,0.000075259112087,1.049994870502093,-0.000162144748288,1.049994495649473,-0.000163390027563,0.017876273492847,33.199876681156262,0.004018796563208,-0.001334235503052],[-0.000000000000239,-0.000000000000017,0.000000000000239,0.000000000000017,1.51461293802434e-28,3.15544362088405e-30,0.000000000000316,0.000000000000316,0.000000000000316,1.049997024686724,-0.000155100705571,1.049997024686725,-0.000155100705573,0.000000000075141,0.000057198080725,-99.999894328917776,0.000057198020283],[0.00000057399802,0.000000188663503,-0.000000573998012,-0.000000188663503,0.000000000000008,6.2718663105541e-16,0.000000798628783,0.000000798628783,0.000000798628783,1.049996246164443,-0.000157031959172,1.0499962322929,-0.000156845771747,0.000189698046574,0.571198435551376,-0.0579268468582,0.000330877243018],[0.000000113998695,0.000000037469749,-0.000000113998695,-0.000000037469749,4.6578871165106e-18,3.56428817226649e-19,0.000000158611537,0.000000158611537,0.000000158611537,1.049996251049617,-0.000157097529032,1.049996251009925,-0.00015709699626,0.000037674949015,0.113463159439427,-0.079503875860076,0.000090207609428],[0.000000438996784,0.000000000144483,-0.000000438996777,-0.000000000144482,0.000000000000007,5.09018925145805e-16,0.000000580256979,0.000000580256979,0.000000580256979,1.049994495649473,-0.000163390027563,1.049994479738906,-0.000163456176558,0.000137828259769,0.419600974983618,0.006436954450724,-0.000027009523634],[0.000056230718591,0.000005517773775,-0.000056230658709,-0.000005517764243,0.000000000059882,0.000000000009533,0.000074681588895,0.000074681588895,0.000074681588895,1.049994495649473,-0.000163390027563,1.049993370839595,-0.000167080473973,0.017739094588692,32.78029223741131,0.004499975263165,-0.001475105041877],[-0.000000000000179,-0.000000000000021,0.000000000000179,0.000000000000021,1.26217744835362e-28,6.31088724176809e-30,0.000000000000238,0.000000000000238,0.000000000000238,1.049997024686725,-0.000155100705573,1.049997024686726,-0.000155100705575,0.000000000056585,0.00005338490782,-99.999886684648473,0.000053384847327],[0.00000011399965,0.000000037469868,-0.00000011399965,-0.000000037469868,6.69729099059274e-18,5.12488020313354e-19,0.000000158612785,0.000000158612785,0.000000158612785,1.049996251009925,-0.00015709699626,1.049996250952853,-0.000157096230231,0.000037675245549,0.113459555385174,-0.076330081918059,0.000086603771569],[0.000000394997097,0.000000000130009,-0.000000394997097,-0.000000000130009,3.76208254154899e-16,2.87881201520653e-17,0.0000005220991,0.0000005220991,0.0000005220991,1.049994479738906,-0.000163456176558,1.049994478738831,-0.000163460334419,0.000124014036996,0.377539800677046,0.008323667264168,-0.000031425156798],[0.000000043999777,0.00000000001448,-0.000000043999777,-0.00000000001448,2.10779318189455e-17,1.61292032460039e-18,0.000000058158007,0.000000058158007,0.000000058158007,1.049994479738906,-0.000163456176558,1.049994479235897,-0.000163458267843,0.000013814253224,0.042057421806184,-0.001576321828445,0.00000066296032],[0.000056230646511,0.000005517769176,-0.000056230604957,-0.000005517762561,0.000000000041554,0.000000000006615,0.000074681573486,0.000074681573486,0.000074681573486,1.049993370839595,-0.000167080473973,1.0499925902965,-0.000169641397875,0.017739090928503,32.78019124425149,0.005443789799773,-0.001784484707301],[0.000000000010505,0.000000000000716,-0.000000000010505,-0.000000000000716,2.26182198744969e-26,8.38085825706803e-27,0.000000000013917,0.000000000013917,0.000000000013917,1.049993370839595,-0.000167080473973,1.049993370839592,-0.000167080474011,0.000000003305704,0.000099381880678,-99.996353038859454,0.000099378256259],[-0.000000000000477,-0.000000000000022,0.000000000000477,0.000000000000022,1.0097419586829e-28,-3.15544362088405e-30,0.000000000000632,0.000000000000632,0.000000000000632,1.049997024686726,-0.000155100705575,1.049997024686726,-0.000155100705576,0.000000000150076,0.000049571678714,-99.999800073532185,0.000049571579607],[0.00000011399965,0.000000037469779,-0.00000011399965,-0.000000037469779,8.5887949711504e-18,6.57231392620333e-19,0.000000158612748,0.000000158612748,0.000000158612748,1.049996250952853,-0.000157096230231,1.049996250879663,-0.000157095247854,0.000037675236772,0.113455951090076,-0.073155332212012,0.000082999077934],[0.000000394997157,0.000000000130017,-0.000000394997156,-0.000000000130017,1.69568372743786e-16,1.29756698274923e-17,0.000000522099179,0.000000522099179,0.000000522099179,1.049994478738831,-0.000163460334419,1.049994478288068,-0.000163462208491,0.000124014055736,0.377536048155407,0.009317707035448,-0.00003517770292],[0.000000043999777,0.00000000001448,-0.000000043999777,-0.00000000001448,5.07174807628354e-17,3.88099071484386e-18,0.000000058158007,0.000000058158007,0.000000058158007,1.049994479235897,-0.000163458267843,1.049994478025563,-0.000163463299871,0.000013814253224,0.042053669295924,0.007346675477866,-0.00000308954661],[0.000056230604405,0.000005517766961,-0.000056230573004,-0.000005517761962,0.000000000031401,0.000000000004999,0.000074681573327,0.000074681573327,0.000074681573327,1.0499925902965,-0.000169641397875,1.049992000473691,-0.000171576577799,0.017739090890907,32.780187512229446,0.005911132435491,-0.00193768029645],[0.000000000013369,0.000000000001432,-0.000000000013369,-0.000000000001432,1.7771458472819e-26,6.26040014383395e-27,0.000000000017773,0.000000000017773,0.000000000017773,1.049993370839592,-0.000167080474011,1.049993370839591,-0.000167080474029,0.000000004221538,0.000095559544538,-99.996702480059056,0.000095556393443],[0.000000000000239,-0.000000000000015,-0.000000000000239,0.000000000000015,5.04870979341448e-29,3.15544362088405e-30,0.000000000000316,0.000000000000316,0.000000000000316,1.049997024686726,-0.000155100705576,1.049997024686726,-0.000155100705577,0.000000000075102,0.00004575837464,-99.999676154821486,0.000045758226454],[0.000000113999888,0.000000037469779,-0.000000113999888,-0.000000037469779,2.09177168604614e-17,1.60066727718401e-18,0.000000158613048,0.000000158613048,0.000000158613048,1.049996250879663,-0.000157095247854,1.049996250701411,-0.000157092855325,0.00003767530798,0.113452347090202,-0.069980774658037,0.000079394831361],[0.000000394997515,0.000000000130002,-0.000000394997514,-0.000000000130002,1.79706510089472e-16,1.3751456235172e-17,0.000000522099653,0.000000522099653,0.000000522099653,1.049994478288068,-0.000163462208491,1.049994477810354,-0.000163464194609,0.000124014168167,0.377532295646118,0.010311765812846,-0.000038930246195],[0.000056230573004,0.00000551776337,-0.000056230568477,-0.00000551776265,0.000000000004527,0.000000000000721,0.000074681573509,0.000074681573509,0.000074681573509,1.049992000473691,-0.000171576577799,1.049991915433126,-0.000171855591819,0.017739090934085,32.780157706921933,0.006226338227499,-0.002041003490341],[-0.000000000000477,0.000000000000746,0.000000000000477,-0.000000000000746,1.21169035041947e-27,1.0097419586829e-28,0.000000000001171,0.000000000001171,0.000000000001171,1.049992000473691,-0.000171576577799,1.049992000473692,-0.000171576577729,0.000000000278101,0.00002677962021,-99.998537799427339,0.000026779228638],[0.00000000000955,0.000000000001432,-0.00000000000955,-0.000000000001432,1.13091099372484e-26,3.43312265952184e-27,0.000000000012764,0.000000000012764,0.000000000012764,1.049993370839591,-0.000167080474029,1.04999337083959,-0.000167080474041,0.000000003031767,0.000091737353148,-99.996198850494636,0.000091733866074],[-5.55395180942898e-20,-0.000000000000021,5.55395180951291e-20,0.000000000000021,8.39344343888262e-31,-3.15544362088405e-30,0.000000000000027,0.000000000000027,0.000000000000027,1.049997024686726,-0.000155100705577,1.049997024686725,-0.000155100705579,0.000000000006441,0.000041945220474,-99.999763744753238,0.000041945121376],[0.00000011399965,0.000000037469749,-0.00000011399965,-0.000000037469749,1.79093205296101e-17,1.37045960398806e-18,0.000000158612736,0.000000158612736,0.000000158612736,1.049996250701411,-0.000157092855325,1.049996250548796,-0.000157090806883,0.000037675233846,0.113448742875515,-0.066805478625272,0.000075789975672],[0.000000394997634,0.000000000129987,-0.000000394997634,-0.000000000129987,1.71158200646223e-16,1.30973140777962e-17,0.00000052209981,0.00000052209981,0.00000052209981,1.049994477810354,-0.000163464194609,1.049994477355365,-0.000163466086249,0.000124014205644,0.377528543152624,0.011305829374331,-0.000042682732928],[0.000056230568477,0.000005517764149,-0.000056230547969,-0.000005517760885,0.000000000020508,0.000000000003265,0.000074681573703,0.000074681573703,0.000074681573703,1.049991915433126,-0.000171855591819,1.049991530221835,-0.000173119451612,0.017739090980065,32.780153982212553,0.006393675711173,-0.002095856743246],[-0.000000000000955,0.000000000000597,0.000000000000955,-0.000000000000597,4.03896783473158e-28,-1.0097419586829e-28,0.000000000001489,0.000000000001489,0.000000000001489,1.049992000473692,-0.000171576577729,1.049992000473692,-0.000171576577721,0.000000000353565,0.000022953958597,-99.998464834314035,0.000022953606215],[0.00000000000955,0.000000000002387,-0.00000000000955,-0.000000000002387,4.8467614016779e-27,3.23117426778526e-27,0.000000000013011,0.000000000013011,0.000000000013011,1.04999337083959,-0.000167080474041,1.049993370839589,-0.000167080474049,0.000000003090499,0.000087915160964,-99.994782911908985,0.000087910574353],[0.000000000000239,-0.000000000000011,-0.000000000000239,0.000000000000011,1.0097419586829e-28,1.57772181044202e-30,0.000000000000316,0.000000000000316,0.000000000000316,1.049997024686725,-0.000155100705579,1.049997024686725,-0.000155100705581,0.000000000075038,0.00003813206631,-99.999835708440458,0.000038132003663],[0.00000011399965,0.00000003746976,-0.00000011399965,-0.00000003746976,8.58507596711636e-17,6.56944857256144e-18,0.000000158612741,0.000000158612741,0.000000158612741,1.049996250548796,-0.000157090806883,1.049996249817212,-0.000157080987384,0.000037675234943,0.113445138818738,-0.063629208250641,0.000072184243629],[0.000000394998111,0.000000000129972,-0.000000394998111,-0.000000000129972,1.02507027304209e-16,7.84400803580558e-18,0.000000522100442,0.000000522100442,0.000000522100442,1.049994477355365,-0.000163466086249,1.049994477082872,-0.000163467219156,0.000124014355553,0.377524790814731,0.01229986889878,-0.000046435054331],[0.000055964549679,0.000005430333397,-0.000055964545551,-0.00000543033274,0.000000000004129,0.000000000000657,0.000074320420596,0.000074320420596,0.000074320420596,1.049991530221835,-0.000173119451612,1.049991452293452,-0.000173379763807,0.017653306394891,32.780139099756518,0.006592004234307,-0.002160868157468],[0.000000265997902,0.000000087428734,-0.000000265997898,-0.000000087428734,0.000000000000004,2.98623344908855e-16,0.000000370096158,0.000000370096158,0.000000370096158,1.049991530221835,-0.000173119451612,1.049991515969626,-0.00017292815478,0.00008790882544,0.265660290371402,-0.061126601480656,0.000162389106988],[1.42985348037031e-18,0.000000000000477,-1.42985348032969e-18,-0.000000000000477,4.06209440150378e-29,0.0,0.000000000000631,0.000000000000631,0.000000000000631,1.049992000473692,-0.000171576577721,1.049992000473692,-0.000171576577716,0.000000000149911,0.000019128450075,-99.999993245763605,0.000019128448783],[0.00000000000764,0.00000000000191,-0.00000000000764,-0.00000000000191,4.8467614016779e-27,1.61558713389263e-27,0.000000000010409,0.000000000010409,0.000000000010409,1.049993370839589,-0.000167080474049,1.049993370839588,-0.000167080474054,0.000000002472399,0.000084093273361,-99.99396616585841,0.000084088199312],[-3.02942825976446e-20,-0.000000000000011,3.02942825978762e-20,0.000000000000011,2.31593075812565e-31,0.0,0.000000000000015,0.000000000000015,0.000000000000015,1.049997024686725,-0.000155100705581,1.049997024686725,-0.000155100705582,0.000000000003514,0.000034318874668,-99.999783321905028,0.000034318800307],[0.000000113999605,0.000000037469755,-0.000000113999605,-0.000000037469755,3.03452809136744e-16,2.32207398870417e-17,0.000000158612682,0.000000158612682,0.000000158612682,1.049996249817212,-0.000157080987384,1.049996247231316,-0.000157046278821,0.000037675221089,0.113441534731104,-0.060448962891934,0.000068574231234],[0.000000394997753,0.000000000129979,-0.000000394997753,-0.000000000129979,2.01110979727029e-16,1.53893649671413e-17,0.000000522099968,0.000000522099968,0.000000522099968,1.049994477082872,-0.000163467219156,1.049994476548259,-0.000163469441836,0.000124014243121,0.37752103828001,0.013293983310532,-0.000050187583823],[0.000055964545364,0.000005430336021,-0.000055964496582,-0.000005430328255,0.000000000048782,0.000000000007766,0.000074320420769,0.000074320420769,0.000074320420769,1.049991452293452,-0.000173379763807,1.049990531598019,-0.000176455257435,0.017653306436089,32.780135379901772,0.006926326675848,-0.002270459261197],[0.00000023099818,0.000000075924953,-0.000000230998179,-0.000000075924953,0.000000000000001,1.10080269476271e-16,0.000000321399303,0.000000321399303,0.000000321399303,1.049991515969626,-0.00017292815478,1.049991509919874,-0.000172846953444,0.00007634187652,0.230699681484895,-0.058600712219129,0.000135191656437],[0.000000034999732,0.000000011503782,-0.000000034999732,-0.000000011503782,3.30245572989141e-17,2.52709467399238e-18,0.000000048696875,0.000000048696875,0.000000048696875,1.049991515969626,-0.00017292815478,1.049991515052997,-0.000172915851548,0.000011566953485,0.034957017819639,-0.067302662819548,0.000023527003835],[-0.000000000001432,0.000000000000179,0.000000000001432,-0.000000000000179,1.0097419586829e-27,1.26217744835362e-28,0.000000000001908,0.000000000001908,0.000000000001908,1.049992000473692,-0.000171576577716,1.049992000473693,-0.000171576577706,0.000000000453234,0.000015303091465,-99.998848200949567,0.000015302915204],[0.00000000000382,0.000000000001671,-0.00000000000382,-0.000000000001671,3.23117426778526e-27,1.21169035041947e-27,0.000000000005511,0.000000000005511,0.000000000005511,1.049993370839588,-0.000167080474054,1.049993370839587,-0.00016708047405,0.000000001309043,0.000080270482731,-99.995439253862926,0.000080266821798],[-2.39829737233187e-20,-0.000000000000009,2.39829737239666e-20,0.000000000000009,6.47930981540476e-31,0.0,0.000000000000012,0.000000000000012,0.000000000000012,1.049997024686725,-0.000155100705582,1.049997024686725,-0.000155100705586,0.000000000002782,0.000030505673657,-99.99980852222717,0.000030505615246],[0.000000394997902,0.000000000129985,-0.000000394997901,-0.000000000129985,0.000000000000001,7.79939166098352e-17,0.000000522100165,0.000000522100165,0.000000522100165,1.049994476548259,-0.000163469441836,1.049994473838822,-0.000163480706464,0.000124014289969,0.377517285800534,0.014288120034696,-0.000053940122947],[0.000055964496053,0.000005430332289,-0.000055964479049,-0.000005430329582,0.000000000017004,0.000000000002707,0.000074320420587,0.000074320420587,0.000074320420587,1.049990531598019,-0.000176455257435,1.049990210667189,-0.000177527295686,0.017653306392892,32.780131670056193,0.007339249303922,-0.002405815585419],[-0.000000000001432,4.28956044073417e-18,0.000000000001432,-4.28956044058704e-18,4.03896783473158e-28,1.47131803287452e-28,0.000000000001893,0.000000000001893,0.000000000001893,1.049992000473693,-0.000171576577706,1.049992000473693,-0.0001715765777,0.000000000449734,0.000011476981305,-99.996572553796526,0.000011476587938],[0.000000000004059,0.000000000001791,-0.000000000004059,-0.000000000001791,1.29246970711411e-26,5.04870979341448e-27,0.000000000005863,0.000000000005863,0.000000000005863,1.049993370839587,-0.00016708047405,1.049993370839584,-0.000167080474039,0.000000001392743,0.000076447881571,-99.995005063978738,0.000076444063048],[0.00000000000006,-0.000000000000008,-0.00000000000006,0.000000000000008,3.78653234506086e-29,1.57772181044202e-30,0.00000000000008,0.00000000000008,0.00000000000008,1.049997024686725,-0.000155100705586,1.049997024686724,-0.000155100705592,0.000000000018923,0.000026692477332,-99.999757542113869,0.000026692412614],[0.000000394997938,0.000000000129986,-0.000000394997934,-0.000000000129986,0.000000000000004,2.93898515280292e-16,0.000000522100215,0.000000522100215,0.000000522100215,1.049994473838822,-0.000163480706464,1.04999446362906,-0.000163523154094,0.00012401430168,0.37751353334511,0.015282281748098,-0.000057692681803],[0.00005596447881,0.000005430330847,-0.000055964475099,-0.000005430330256,0.000000000003711,0.000000000000591,0.000074320420435,0.000074320420435,0.000074320420435,1.049990210667189,-0.000177527295686,1.049990140629562,-0.000177761249574,0.017653306356633,32.780127963688791,0.00747679211902,-0.002450902024194],[7.1492674009784e-19,0.000000000000239,-7.14926740086263e-19,-0.000000000000239,1.15770537852033e-29,0.0,0.000000000000316,0.000000000000316,0.000000000000316,1.049992000473693,-0.0001715765777,1.049992000473693,-0.000171576577697,0.000000000074956,0.000007651770477,-99.995251704138084,0.000007651407148],[0.00000000000382,0.00000000000185,-0.00000000000382,-0.00000000000185,2.26182198744969e-26,8.88572923640948e-27,0.00000000000561,0.00000000000561,0.00000000000561,1.049993370839584,-0.000167080474039,1.049993370839578,-0.00016708047402,0.000000001332572,0.000072625560598,-99.994679171064604,0.000072621696316],[0.00000000000006,-0.000000000000009,-0.00000000000006,0.000000000000009,2.52435489670724e-29,-1.57772181044202e-30,0.00000000000008,0.00000000000008,0.00000000000008,1.049997024686724,-0.000155100705592,1.049997024686724,-0.000155100705595,0.000000000018944,0.000022879262269,-99.99980449279029,0.000022879217538],[0.00005596447492,0.000005430330913,-0.000055964467395,-0.000005430329715,0.000000000007525,0.000000000001198,0.000074320420283,0.000074320420283,0.000074320420283,1.049990140629562,-0.000177761249574,1.049989998604289,-0.000178235671199,0.017653306320587,32.78012425814741,0.007556504908292,-0.002477031698511],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049992000473693,-0.000171576577697,1.049992000473693,-0.000171576577697,0.0,0.000003825659963,-99.999982062204467,0.000003825659276],[0.00000000000382,0.00000000000191,-0.00000000000382,-0.00000000000191,5.65455496862421e-27,2.42338070083895e-27,0.000000000005645,0.000000000005645,0.000000000005645,1.049993370839578,-0.00016708047402,1.049993370839577,-0.000167080474013,0.000000001340847,0.000068803463993,-99.994398116966295,0.000068799609703],[0.000000000000119,-0.000000000000007,-0.000000000000119,0.000000000000007,2.52435489670724e-29,1.57772181044202e-30,0.000000000000158,0.000000000000158,0.000000000000158,1.049997024686724,-0.000155100705595,1.049997024686724,-0.000155100705597,0.000000000037551,0.000019066051887,-99.999868850504029,0.000019066026882],[0.000055964467455,0.00000543033064,-0.000055964460358,-0.00000543032951,0.000000000007096,0.00000000000113,0.00007432042048,0.00007432042048,0.00007432042048,1.049989998604289,-0.000178235671199,1.04998986466784,-0.000178683072892,0.01765330636729,32.780120554103234,0.007656800320402,-0.002509908375615],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049993370839577,-0.000167080474013,1.049993370839577,-0.000167080474012,0.0,0.000064979624396,-99.995531671471269,0.000064976720893],[-2.01961884005181e-20,-0.000000000000007,2.01961884005496e-20,0.000000000000007,3.14769175285789e-32,0.0,0.00000000000001,0.00000000000001,0.00000000000001,1.049997024686724,-0.000155100705597,1.049997024686724,-0.000155100705597,0.000000000002342,0.000015252841501,-99.999996039011563,0.000015252840897],[0.00005596446,0.000005430330212,-0.000055964455876,-0.000005430329555,0.000000000004125,0.000000000000657,0.000074320420098,0.000074320420098,0.000074320420098,1.04998986466784,-0.000178683072892,1.049989786818959,-0.000178943119513,0.017653306276648,32.780116851497823,0.007736372970316,-0.002535992099737],[2.78477298282519e-18,0.000000000000955,-2.78477298284419e-18,-0.000000000000955,-1.90031507612689e-29,2.01948391736579e-28,0.000000000001262,0.000000000001262,0.000000000001262,1.049993370839577,-0.000167080474012,1.049993370839576,-0.000167080474013,0.000000000299822,0.000061158032644,-99.997692719023945,0.000061156621556],[-2.01961884005496e-20,-0.000000000000007,2.01961884005829e-20,0.000000000000007,3.32734490548276e-32,0.0,0.00000000000001,0.00000000000001,0.00000000000001,1.049997024686724,-0.000155100705597,1.049997024686724,-0.000155100705597,0.000000000002342,0.00001143976232,-99.998913585735821,0.000011439638037],[0.000055964456353,0.000005430330003,-0.000055964453629,-0.000005430329569,0.000000000002724,0.000000000000434,0.000074320420783,0.000074320420783,0.000074320420783,1.049989786818959,-0.000178943119513,1.049989735405584,-0.000179114860897,0.017653306439432,32.780113149667628,0.007789325405591,-0.002553349681548],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049993370839576,-0.000167080474013,1.049993370839576,-0.000167080474011,0.0,0.000057332849422,-99.992134059220319,0.000057328339654],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049997024686724,-0.000155100705597,1.049997024686724,-0.000155100705597,0.0,0.000007626402021,-99.999998245562338,0.000007626401887],[0.000055964452913,0.000005430329838,-0.000055964449152,-0.000005430329239,0.000000000003761,0.000000000000599,0.000074320419875,0.000074320419875,0.000074320419875,1.049989735405584,-0.000179114860897,1.049989664418053,-0.000179351987849,0.017653306223761,32.780109448397461,0.007840054901608,-0.002569978577561],[-0.000000000000418,0.000000000000776,0.000000000000418,-0.000000000000776,3.43312265952184e-27,1.41363874215605e-27,0.000000000001165,0.000000000001165,0.000000000001165,1.049993370839576,-0.000167080474011,1.049993370839577,-0.000167080473769,0.000000000276677,0.000053512550868,-99.997475468810137,0.000053511199927],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049997024686724,-0.000155100705597,1.049997024686724,-0.000155100705597,0.0,0.000003813201012,-99.999998711408068,0.000003813200963],[0.000006154918119,0.000000045068694,-0.000006154918114,-0.00000004506869,0.000000000000005,0.000000000000004,0.000008135700102,0.000008135700102,0.000008135700102,1.049989664418053,-0.000179351987849,1.049989663543853,-0.000179387620141,0.00193247031547,2.925906076541852,0.034141185965841,-0.000998939034778],[0.000049809513366,0.000005385281673,-0.000049809511394,-0.00000538528136,0.000000000001972,0.000000000000314,0.000066221178854,0.000066221178854,0.000066221178854,1.049989664418053,-0.000179351987849,1.049989622630027,-0.000179466483525,0.015729496022395,29.964037993655683,0.007353989402675,-0.002203552178667],[6.96193244693792e-19,0.000000000000239,-6.96193244671091e-19,-0.000000000000239,2.27001658825146e-29,0.0,0.000000000000316,0.000000000000316,0.000000000000316,1.049993370839577,-0.000167080473769,1.049993370839577,-0.000167080473763,0.000000000074956,0.000049690118022,-99.997232128353147,0.000049688742664],[0.000006154915727,0.000000045066303,-0.000006154915721,-0.000000045066298,0.000000000000006,0.000000000000005,0.000008135696923,0.000008135696923,0.000008135696923,1.049989663543853,-0.000179387620141,1.049989662486192,-0.000179430730305,0.001932469560443,2.925902245587595,0.034272394229307,-0.001002776752372],[0.000049809511394,0.000005385281449,-0.000049809510276,-0.000005385281271,0.000000000001118,0.000000000000178,0.000066221178867,0.000066221178867,0.000066221178867,1.049989622630027,-0.000179466483525,1.049989598934144,-0.000179531408254,0.015729496025416,29.964034293637987,0.007390897586031,-0.002214611087286],[0.000000000001432,0.000000000000597,-0.000000000001432,-0.000000000000597,6.05845175209737e-28,2.01948391736579e-28,0.000000000002051,0.000000000002051,0.000000000002051,1.049993370839577,-0.000167080473763,1.049993370839576,-0.000167080473759,0.000000000487211,0.000045867852669,-99.997230099850469,0.000045866582176],[0.000006154917153,0.000000045066298,-0.000006154917146,-0.000000045066293,0.000000000000007,0.000000000000005,0.000008135698817,0.000008135698817,0.000008135698817,1.049989662486192,-0.000179430730305,1.049989661260287,-0.000179480698075,0.001932470010165,2.925898413880574,0.034403621524624,-0.001006615016506],[0.000049809510216,0.000005385283541,-0.000049809466104,-0.000005385276519,0.000000000044113,0.000000000007022,0.000066221179111,0.000066221179111,0.000066221179111,1.049989598934144,-0.000179531408254,1.049988663957787,-0.000182093164916,0.015729496083393,29.964030594015561,0.00776213961689,-0.002325849889555],[0.000000000000851,0.000000000000358,-0.000000000000851,-0.000000000000358,8.98670343227777e-27,3.837019442995e-27,0.00000000000122,0.00000000000122,0.00000000000122,1.049993370839576,-0.000167080473759,1.049993370839565,-0.000167080473758,0.000000000289734,0.000042045583228,-99.997189860113679,0.000042044401688],[0.000006154918101,0.000000045066054,-0.00000615491809,-0.000000045066046,0.000000000000011,0.000000000000008,0.000008135700076,0.000008135700076,0.000008135700076,1.049989661260287,-0.000179480698075,1.049989659391146,-0.000179556884106,0.00193247030943,2.925894582779003,0.034534979597593,-0.00101045709721],[0.000049809465805,0.000005385278964,-0.000049809461386,-0.00000538527826,0.000000000004419,0.000000000000703,0.000066221179066,0.000066221179066,0.000066221179066,1.049988663957787,-0.000182093164916,1.049988570293511,-0.000182349797161,0.015729496072766,29.964026904859459,0.008159826954655,-0.002445012744083],[0.000000000000865,0.000000000000358,-0.000000000000865,-0.000000000000358,8.07793566946316e-27,3.28166136571941e-27,0.000000000001238,0.000000000001238,0.000000000001238,1.049993370839565,-0.000167080473758,1.049993370839555,-0.000167080473756,0.000000000294057,0.000038223276333,-99.996902794107271,0.00003822209248],[0.00000615491809,0.000000045065807,-0.000006154918076,-0.000000045065796,0.000000000000014,0.000000000000011,0.000008135700074,0.000008135700074,0.000008135700074,1.049989659391146,-0.000179556884106,1.049989656988112,-0.000179654831573,0.001932470308881,2.925890751523965,0.03466645844492,-0.001014302701521],[0.000005309924876,0.000000070726466,-0.000005309924862,-0.000000070726455,0.000000000000015,0.000000000000011,0.000007019212004,0.000007019212004,0.000007019212004,1.049988570293511,-0.000182349797161,1.049988567389017,-0.000182466709963,0.001667271244814,4.423069051753842,0.011272670009999,-0.000498597978519],[0.000044499501773,0.0000053146197,-0.000044499491229,-0.000005314616891,0.000000000010544,0.000000000002809,0.000059236864782,0.000059236864782,0.000059236864782,1.049988570293511,-0.000182349797161,1.049988317190853,-0.000184317348443,0.014070514072597,25.541034546872908,0.007806636379439,-0.001993895694621],[0.000000000000836,0.000000000000358,-0.000000000000836,-0.000000000000358,6.05845175209737e-28,3.02922587604869e-28,0.000000000001202,0.000000000001202,0.000000000001202,1.049993370839555,-0.000167080473756,1.049993370839555,-0.000167080473757,0.000000000285422,0.000034400983642,-99.996622563068215,0.000034399821771],[0.000006154917598,0.000000045066035,-0.000006154917588,-0.000000045066027,0.00000000000001,0.000000000000008,0.000008135699445,0.000008135699445,0.000008135699445,1.049989656988112,-0.000179654831573,1.049989655262963,-0.00017972514849,0.001932470159523,2.92588691989481,0.034797922728594,-0.001018147869511],[0.000000000000298,-0.000000000000002,-0.000000000000298,0.000000000000002,3.53409685539013e-28,9.86076131526265e-30,0.000000000000394,0.000000000000394,0.000000000000394,1.049988567389017,-0.000182466709963,1.049988567389016,-0.000182466709965,0.000000000093696,0.000053696395209,-99.999848467736754,0.000053696313841],[0.000005309924862,0.000000070726694,-0.000005309924855,-0.000000070726689,0.000000000000007,0.000000000000005,0.000007019212008,0.000007019212008,0.000007019212008,1.049988567389017,-0.000182466709963,1.049988565974837,-0.0001825236341,0.001667271245813,4.423013729283805,0.012523942014127,-0.000553935674732],[0.000044499490424,0.000005314621103,-0.000044499471408,-0.000005314616037,0.000000000019015,0.000000000005066,0.000059236864385,0.000059236864385,0.000059236864385,1.049988317190853,-0.000184317348443,1.049987860753062,-0.000187865571783,0.014070513978216,25.541030861495162,0.008168159270589,-0.002086232080117],[0.000000000000716,0.000000000000239,-0.000000000000716,-0.000000000000239,4.03896783473158e-28,2.01948391736579e-28,0.000000000000998,0.000000000000998,0.000000000000998,1.049993370839555,-0.000167080473757,1.049993370839554,-0.000167080473761,0.00000000023703,0.000030578831217,-99.996311269063995,0.000030577703247],[0.000006154917588,0.00000004506555,-0.000006154917574,-0.000000045065539,0.000000000000014,0.000000000000011,0.000008135699441,0.000008135699441,0.000008135699441,1.049989655262963,-0.00017972514849,1.049989652825341,-0.000179824505776,0.001932470158425,2.92588308841297,0.034929399042616,-0.001021993379472],[0.000000000000358,-0.000000000000005,-0.000000000000358,0.000000000000005,4.03896783473158e-28,8.67746995743113e-30,0.000000000000473,0.000000000000473,0.000000000000473,1.049988567389016,-0.000182466709965,1.049988567389015,-0.000182466709968,0.000000000112443,0.000049860954473,-99.99984200412554,0.000049860875695],[0.000005309924735,0.00000007072639,-0.000005309924702,-0.000000070726365,0.000000000000033,0.000000000000025,0.000007019211845,0.000007019211845,0.000007019211845,1.049988565974837,-0.0001825236341,1.049988559331492,-0.000182791044624,0.00166727120709,4.423010041259543,0.012607960373353,-0.000557651353311],[0.000044499470752,0.00000531461998,-0.000044499462201,-0.000005314617701,0.000000000008551,0.000000000002278,0.000059236864141,0.000059236864141,0.000059236864141,1.049987860753062,-0.000187865571783,1.049987655493143,-0.000189461206609,0.014070513920352,25.541027180964747,0.008505940537187,-0.0021725045846],[0.000000000000716,0.000000000000358,-0.000000000000716,-0.000000000000358,3.02922587604869e-28,1.51461293802434e-28,0.000000000001058,0.000000000001058,0.000000000001058,1.049993370839554,-0.000167080473761,1.049993370839553,-0.00016708047376,0.000000000251409,0.000026756454227,-99.995522229209612,0.000026755256135],[0.000006154917574,0.000000045066017,-0.000006154917559,-0.000000045066005,0.000000000000015,0.000000000000012,0.000008135699445,0.000008135699445,0.000008135699445,1.049989652825341,-0.000179824505776,1.049989650188009,-0.000179932003209,0.001932470159523,2.925879257157932,0.035060963692856,-0.001025841464049],[0.000000000000239,-0.000000000000002,-0.000000000000239,0.000000000000002,1.51461293802434e-28,5.52202633654708e-30,0.000000000000316,0.000000000000316,0.000000000000316,1.049988567389015,-0.000182466709968,1.049988567389014,-0.000182466709969,0.000000000074958,0.000046025476267,-99.999927233844446,0.000046025442776],[0.000000209995353,0.000000069022418,-0.000000209995352,-0.000000069022417,0.000000000000001,8.61190308874268e-17,0.000000292178139,0.000000292178139,0.000000292178139,1.049988559331492,-0.000182791044624,1.049988554125252,-0.000182721164013,0.000069400982555,0.210312068251702,-0.09272258178594,0.00019500677949],[0.000005099929677,0.000000001702805,-0.00000509992959,-0.000000001702739,0.000000000000087,0.000000000000066,0.000006741020966,0.000006741020966,0.000006741020966,1.049988559331492,-0.000182791044624,1.049988541396199,-0.000183532797304,0.001601192614025,4.4229289049133,0.014441231861104,-0.00063872541821],[0.000044499461753,0.000005314619261,-0.000044499459209,-0.000005314618583,0.000000000002544,0.000000000000678,0.000059236863798,0.000059236863798,0.000059236863798,1.049987655493143,-0.000189461206609,1.049987594422673,-0.000189935951849,0.014070513838859,25.541023502636413,0.00865031011533,-0.002209377739607],[0.000000000000298,0.000000000000239,-0.000000000000298,-0.000000000000239,3.02922587604869e-28,1.51461293802434e-28,0.000000000000505,0.000000000000505,0.000000000000505,1.049993370839553,-0.00016708047376,1.049993370839553,-0.000167080473755,0.000000000119988,0.000022934133453,-99.994978018604144,0.000022932981705],[0.000006154917798,0.000000045065527,-0.000006154917783,-0.000000045065516,0.000000000000015,0.000000000000011,0.000008135699756,0.000008135699756,0.000008135699756,1.049989650188009,-0.000179932003209,1.049989647700792,-0.000180033381949,0.001932470233378,2.92587542582535,0.03519253729045,-0.001029689800306],[0.000000000000328,-9.33622600837948e-16,-0.000000000000328,9.33622600837959e-16,4.54383881407303e-28,1.06496222204837e-29,0.000000000000434,0.000000000000434,0.000000000000434,1.049988567389014,-0.000182466709969,1.049988567389013,-0.000182466709971,0.000000000103064,0.000042190044896,-99.999914521807483,0.000042190008832],[0.000000209995352,0.000000069022418,-0.000000209995352,-0.000000069022418,9.69205803192708e-17,7.41655431170965e-18,0.00000029217814,0.00000029217814,0.00000029217814,1.049988554125252,-0.000182721164013,1.049988553676894,-0.000182715145927,0.000069400982646,0.21030848572912,-0.091012289513044,0.000191406567902],[0.00000509992953,0.000000001702799,-0.000005099929466,-0.00000000170275,0.000000000000065,0.000000000000049,0.000006741020887,0.000006741020887,0.000006741020887,1.049988541396199,-0.000183532797304,1.049988528053293,-0.000184084621944,0.001601192595293,4.422925217246582,0.014526352949948,-0.000642489727769],[0.000044499459328,0.000005314619359,-0.000044499456456,-0.000005314618594,0.000000000002872,0.000000000000765,0.000059236864077,0.000059236864077,0.000059236864077,1.049987594422673,-0.000189935951849,1.049987525486193,-0.000190471845303,0.014070513904962,25.541019825011478,0.008728100082351,-0.00222924577238],[0.000000000000477,0.000000000000358,-0.000000000000477,-0.000000000000358,3.02922587604869e-28,1.51461293802434e-28,0.000000000000789,0.000000000000789,0.000000000000789,1.049993370839553,-0.000167080473755,1.049993370839552,-0.000167080473743,0.000000000187389,0.000019111887385,-99.99432670457945,0.000019110803112],[0.000006154917783,0.000000045065636,-0.000006154917759,-0.000000045065618,0.000000000000024,0.000000000000018,0.000008135699757,0.000008135699757,0.000008135699757,1.049989647700792,-0.000180033381949,1.049989643611411,-0.000180200064777,0.001932470233653,2.92587159460714,0.035324273767897,-0.001033542892176],[0.000000000000239,-0.000000000000003,-0.000000000000239,0.000000000000003,2.52435489670724e-28,5.52202633654708e-30,0.000000000000316,0.000000000000316,0.000000000000316,1.049988567389013,-0.000182466709971,1.049988567389012,-0.000182466709974,0.000000000074961,0.000038354566676,-99.999936125386483,0.000038354542177],[0.000000209995412,0.000000069022411,-0.000000209995412,-0.000000069022411,9.50975536585428e-17,7.2770188685393e-18,0.000000292178211,0.000000292178211,0.000000292178211,1.049988553676894,-0.000182715145927,1.049988553236968,-0.000182709241041,0.000069400999717,0.210304903232046,-0.089309015353344,0.000187821238316],[0.000005099929495,0.000000001702839,-0.000005099929452,-0.000000001702806,0.000000000000043,0.000000000000033,0.000006741020927,0.000006741020927,0.000006741020927,1.049988528053293,-0.000184084621944,1.049988519117878,-0.000184454165273,0.001601192604671,4.422921529762663,0.014610971136627,-0.000646231788109],[0.000044499456337,0.00000531461934,-0.000044499453636,-0.00000531461862,0.000000000002701,0.00000000000072,0.000059236864037,0.000059236864037,0.000059236864037,1.049987525486193,-0.000190471845303,1.049987460652693,-0.00019097584332,0.014070513895527,25.541016147971639,0.008807700732618,-0.002249576266383],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049993370839552,-0.000167080473743,1.049993370839552,-0.000167080473741,0.0,0.000015289810962,-99.990713968220689,0.000015288391145],[0.000006154917819,0.000000045065886,-0.000006154917706,-0.0000000450658,0.000000000000113,0.000000000000086,0.000008135699839,0.000008135699839,0.000008135699839,1.049989643611411,-0.000180200064777,1.049989624167299,-0.000180992605155,0.001932470253009,2.925867763304366,0.035457953144896,-0.001037452820594],[0.000000000000149,-0.000000000000003,-0.000000000000149,0.000000000000003,1.0097419586829e-28,2.36658271566304e-30,0.000000000000197,0.000000000000197,0.000000000000197,1.049988567389012,-0.000182466709974,1.049988567389011,-0.000182466709975,0.000000000046855,0.000034519116575,-99.999960810422422,0.000034519103047],[0.000000209995352,0.000000069022426,-0.000000209995352,-0.000000069022426,7.67871894981874e-17,5.87586755510308e-18,0.000000292178143,0.000000292178143,0.000000292178143,1.049988553236968,-0.000182709241041,1.049988552881747,-0.000182704473094,0.000069400983378,0.210301320721005,-0.087605889558983,0.000184236342772],[0.000000557997582,0.000000000186271,-0.000000557997582,-0.00000000018627,5.18710800799917e-16,3.9340423175353e-16,0.000000737554002,0.000000737554002,0.000000737554002,1.049988519117878,-0.000184454165273,1.049988518141569,-0.000184494542649,0.000175190972764,0.52200308343624,0.006419473407141,-0.000033509849126],[0.000004541949496,0.000000001496599,-0.000004541948858,-0.00000000149655,0.000000000000638,0.000000000000049,0.000006003490213,0.000006003490213,0.000006003490213,1.049988519117878,-0.000184454165273,1.049988371609823,-0.000185067437986,0.001426007163642,4.422751912277012,0.018432097286598,-0.000815205935216],[0.000044499453517,0.000005314619486,-0.000044499450365,-0.000005314618646,0.000000000003151,0.00000000000084,0.000059236864016,0.000059236864016,0.000059236864016,1.049987460652693,-0.00019097584332,1.049987385004376,-0.00019156391278,0.014070513890536,25.541012471766038,0.008890543061525,-0.002270734712152],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049993370839552,-0.000167080473741,1.049993370839552,-0.000167080473741,0.0,0.000011467170636,-99.986275826147306,0.000011465596861],[0.000006154917646,0.000000045066009,-0.000006154917621,-0.000000045065991,0.000000000000025,0.000000000000019,0.000008135699762,0.000008135699762,0.000008135699762,1.049989624167299,-0.000180992605155,1.049989619931501,-0.000181165255935,0.001932470234751,2.925863932168292,0.035591640361578,-0.001041362968206],[0.000000000000179,-0.000000000000003,-0.000000000000179,0.000000000000003,1.51461293802434e-28,3.94430452610506e-30,0.000000000000237,0.000000000000237,0.000000000000237,1.049988567389011,-0.000182466709975,1.04998856738901,-0.000182466709977,0.000000000056224,0.000030683666468,-99.999912935245149,0.000030683639753],[0.000000209995232,0.000000069022418,-0.000000209995232,-0.000000069022418,1.15251379149479e-16,8.81924087236277e-18,0.00000029217799,0.00000029217799,0.00000029217799,1.049988552881747,-0.000182704473094,1.049988552348589,-0.000182697316786,0.000069400947043,0.210297738243221,-0.085902516959593,0.00018065105026],[0.000000557997552,0.000000000186285,-0.00000055799755,-0.000000000186284,0.000000000000001,0.000000000000001,0.000000737553963,0.000000737553963,0.000000737553963,1.049988518141569,-0.000184494542649,1.049988515552339,-0.000184601625852,0.000175190963396,0.521999247884714,0.007154461563874,-0.000037346235554],[0.00000454194872,0.000000001496611,-0.000004541948681,-0.000000001496608,0.000000000000039,0.000000000000003,0.000006003490031,0.000006003490031,0.000006003490031,1.049988371609823,-0.000185067437986,1.049988362631534,-0.000185104765705,0.001426007120315,4.42274822668695,0.018516091128087,-0.000818920092019],[0.000044499450007,0.000005314619034,-0.0000444994491,-0.000005314618792,0.000000000000907,0.000000000000242,0.000059236863607,0.000059236863607,0.000059236863607,1.049987385004376,-0.00019156391278,1.049987363236966,-0.000191733126718,0.014070513793341,25.54100879635125,0.00895238951206,-0.002286530592759],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049993370839552,-0.000167080473741,1.049993370839552,-0.000167080473741,0.0,0.000007644980037,-99.993497202444971,0.000007644482899],[0.000000054999472,0.000000000018119,-0.000000054999472,-0.000000000018119,2.14095571291964e-16,1.63829657304788e-17,0.000000072697516,0.000000072697516,0.000000072697516,1.049989619931501,-0.000181165255935,1.04998961584412,-0.000181182249435,0.000017267818291,0.053314615345901,-0.001807429136611,0.000000963623892],[0.000006099918371,0.000000045047752,-0.00000609991828,-0.000000045047682,0.000000000000092,0.00000000000007,0.000008063004332,0.000008063004332,0.000008063004332,1.049989619931501,-0.000181165255935,1.049989604054673,-0.00018181230902,0.001915202911811,2.925848607858226,0.03611638075417,-0.001056710623505],[0.000000000000149,-0.000000000000005,-0.000000000000149,0.000000000000005,1.0097419586829e-28,1.57772181044202e-30,0.000000000000197,0.000000000000197,0.000000000000197,1.04998856738901,-0.000182466709977,1.049988567389009,-0.000182466709979,0.00000000004687,0.000026848216358,-99.99989354336978,0.000026848187776],[0.000000209995352,0.000000069022415,-0.000000209995352,-0.000000069022415,1.38948502277457e-16,1.06325795937566e-17,0.000000292178138,0.000000292178138,0.000000292178138,1.049988552348589,-0.000182697316786,1.049988551705807,-0.000182688689057,0.000069400982281,0.21029415580064,-0.084198714314363,0.000177064975462],[0.00000055799758,0.000000000186269,-0.00000055799758,-0.000000000186269,4.77839025875173e-16,3.62406007375755e-16,0.000000737554002,0.000000737554002,0.000000737554002,1.049988515552339,-0.000184601625852,1.049988514652958,-0.0001846388217,0.000175190972764,0.521995412398249,0.007889427465778,-0.000041182449436],[0.000004541948681,0.000000001496601,-0.000004541948645,-0.000000001496598,0.000000000000035,0.000000000000003,0.000006003490031,0.000006003490031,0.000006003490031,1.049988362631534,-0.000185104765705,1.049988354429392,-0.000185138866553,0.001426007120314,4.422744541203259,0.01859950363906,-0.000822608531887],[0.000044499449996,0.000005314619867,-0.000044499444844,-0.000005314618494,0.000000000005152,0.000000000001373,0.00005923686495,0.00005923686495,0.00005923686495,1.049987363236966,-0.000191733126718,1.049987239572813,-0.000192694458252,0.014070514112442,25.541005121209693,0.00903758069465,-0.002308288948054],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049993370839552,-0.000167080473741,1.049993370839552,-0.000167080473741,0.0,0.000003821740473,-99.989721275850911,0.000003821347647],[0.000000054999473,0.000000000018119,-0.000000054999473,-0.000000000018119,4.04462732176461e-17,3.09501915311808e-18,0.000000072697518,0.000000072697518,0.000000072697518,1.04998961584412,-0.000181182249435,1.049989615071945,-0.000181185459794,0.000017267818876,0.053310915198315,0.005133153427328,-0.000002736531071],[0.00000609991822,0.000000045047801,-0.000006099918098,-0.000000045047709,0.000000000000122,0.000000000000092,0.000008063004254,0.000008063004254,0.000008063004254,1.049989604054673,-0.00018181230902,1.049989582976506,-0.000182671340391,0.001915202893349,2.925844776880375,0.036251538062606,-0.001060663732944],[0.000000000000179,-0.000000000000003,-0.000000000000179,0.000000000000003,1.26217744835362e-28,3.15544362088405e-30,0.000000000000237,0.000000000000237,0.000000000000237,1.049988567389009,-0.000182466709979,1.049988567389009,-0.000182466709981,0.000000000056224,0.000023012756882,-99.999824065403558,0.000023012716395],[0.000000209995411,0.000000069022426,-0.000000209995411,-0.000000069022426,1.04972819623005e-16,8.03270460638815e-18,0.000000292178218,0.000000292178218,0.000000292178218,1.049988551705807,-0.000182688689057,1.049988551220198,-0.000182682170988,0.00006940100118,0.210290573315056,-0.082494865810902,0.000173478926269],[0.000000000005789,-0.00000000000006,-0.000000000005789,0.00000000000006,6.22001046548663e-26,4.62588034821601e-26,0.000000000007653,0.000000000007653,0.000000000007653,1.049988514652958,-0.0001846388217,1.049988514652947,-0.000184638822164,0.00000000181777,0.00006520384034,-99.995995805220119,0.000065201229451],[0.000000557993924,0.000000000183891,-0.000000557993916,-0.00000000018389,0.000000000000008,6.03809903593953e-16,0.000000737549169,0.000000737549169,0.000000737549169,1.049988514652958,-0.0001846388217,1.049988499804499,-0.000184700554921,0.000175189824756,0.521926373068801,0.021112851277093,-0.000110193538922],[0.000004541948048,0.000000001496621,-0.000004541948034,-0.00000000149662,0.000000000000015,0.000000000000001,0.000006003489242,0.000006003489242,0.000006003489242,1.049988354429392,-0.000185138866553,1.04998835102211,-0.000185153032513,0.001426006932928,4.422740855811513,0.0186828943084,-0.000826295999626],[0.000044499444545,0.000005314619598,-0.000044499441636,-0.000005314618823,0.00000000000291,0.000000000000775,0.000059236864732,0.000059236864732,0.000059236864732,1.049987239572813,-0.000192694458252,1.049987169726557,-0.000193237424075,0.014070514060521,25.541001447325712,0.009146158210512,-0.002336020400922],[0.000000054999451,0.000000000018118,-0.000000054999451,-0.000000000018118,8.34487529037627e-17,6.38564351514416e-18,0.000000072697489,0.000000072697489,0.000000072697489,1.049989615071945,-0.000181185459794,1.049989613478793,-0.000181192083412,0.000017267811849,0.05330721506087,0.01207468092289,-0.000006436676127],[0.000002977959464,0.000000044006759,-0.000002977959459,-0.000000044006755,0.000000000000005,0.000000000000004,0.000003936653937,0.000003936653937,0.000003936653937,1.049989582976506,-0.000182671340391,1.049989581233409,-0.00018274129029,0.000935072185618,2.762710099184158,0.017446672726871,-0.000482000989397],[0.000003121969303,0.000000001028523,-0.000003121969161,-0.000000001028513,0.000000000000142,0.000000000000011,0.000004126574544,0.000004126574544,0.000004126574544,1.049989582976506,-0.000182671340391,1.049989535112217,-0.00018287033869,0.000980183968247,2.925787313323932,0.038137637360883,-0.001115826155506],[0.00000000000006,-0.000000000000003,-0.00000000000006,0.000000000000003,1.26217744835362e-29,3.94430452610506e-31,0.000000000000079,0.000000000000079,0.000000000000079,1.049988567389009,-0.000182466709981,1.049988567389009,-0.000182466709982,0.000000000018759,0.000019177297396,-99.999909766032715,0.000019177280091],[0.000000209995292,0.000000069022415,-0.000000209995292,-0.000000069022415,1.21471697946539e-16,9.29523368405029e-18,0.000000292178063,0.000000292178063,0.000000292178063,1.049988551220198,-0.000182682170988,1.049988550658264,-0.000182674628446,0.000069400964479,0.210286990883728,-0.080791106919492,0.000169893187643],[0.000000000005252,-0.000000000000239,-0.000000000005252,0.000000000000239,8.07793566946316e-27,6.00796465416323e-27,0.00000000000695,0.00000000000695,0.00000000000695,1.049988514652947,-0.000184638822164,1.049988514652946,-0.000184638822233,0.000000001650726,0.000061368227377,-99.995713879256371,0.000061365597061],[0.000000557993931,0.0000000001839,-0.00000055799393,-0.0000000001839,8.52203024606104e-16,6.5212058611984e-17,0.000000737549189,0.000000737549189,0.000000737549189,1.049988499804499,-0.000184700554921,1.049988498200851,-0.000184707222167,0.000175189829442,0.521922537710984,0.02184789592825,-0.000114029092865],[0.000004541948989,0.000000001496627,-0.000004541948957,-0.000000001496625,0.000000000000032,0.000000000000002,0.000006003490504,0.000006003490504,0.000006003490504,1.04998835102211,-0.000185153032513,1.049988343677753,-0.000185183567074,0.001426007232751,4.422737170382352,0.018766286449784,-0.000829983526315],[0.000044499441636,0.000005314619629,-0.000044499439476,-0.000005314619053,0.00000000000216,0.000000000000575,0.000059236864858,0.000059236864858,0.000059236864858,1.049987169726557,-0.000193237424075,1.049987117877758,-0.000193640482551,0.014070514090522,25.540997774224035,0.009219747659993,-0.002354815544628],[0.000002977959399,0.000000044006785,-0.00000297795938,-0.00000004400677,0.000000000000019,0.000000000000015,0.000003936653859,0.000003936653859,0.000003936653859,1.049989581233409,-0.00018274129029,1.049989574373857,-0.000183016561876,0.00093507216702,2.762706399341924,0.017581256847391,-0.000485718508008],[0.000003121969155,0.00000000102857,-0.000003121968566,-0.000000001028525,0.000000000000589,0.000000000000045,0.000004126574536,0.000004126574536,0.000004126574536,1.049989535112217,-0.00018287033869,1.049989337012077,-0.00018369395045,0.000980183966496,2.92578348305222,0.038269147437567,-0.001119672394833],[0.00000000000006,-0.000000000000002,-0.00000000000006,0.000000000000002,1.26217744835362e-29,0.0,0.000000000000079,0.000000000000079,0.000000000000079,1.049988567389009,-0.000182466709982,1.049988567389008,-0.000182466709982,0.000000000018748,0.000015341856658,-99.999913179244956,0.000015341843338],[0.000000209995351,0.000000069022422,-0.000000209995351,-0.000000069022422,1.14214769640717e-16,8.73991094289649e-18,0.000000292178141,0.000000292178141,0.000000292178141,1.049988550658264,-0.000182674628446,1.049988550129902,-0.00018266753651,0.000069400983012,0.210283408417687,-0.079087243299476,0.000166307350834],[0.000000000000119,-0.000000000000119,-0.000000000000119,0.000000000000119,2.52435489670724e-29,2.52435489670724e-29,0.000000000000223,0.000000000000223,0.000000000000223,1.049988514652946,-0.000184638822233,1.049988514652946,-0.000184638822243,0.000000000053002,0.000007670946364,-99.998834560279931,0.000007670856964],[0.00000000000764,0.000000000000955,-0.00000000000764,-0.000000000000955,6.46234853557053e-27,5.85650336036079e-27,0.000000000010177,0.000000000010177,0.000000000010177,1.049988514652946,-0.000184638822233,1.049988514652944,-0.00018463882227,0.000000002417246,0.000049862455141,-99.994558892293725,0.000049859742071],[0.000000557993811,0.000000000183877,-0.00000055799381,-0.000000000183877,8.24314464817756e-16,6.30779717158811e-17,0.000000737549031,0.000000737549031,0.000000737549031,1.049988498200851,-0.000184707222167,1.049988496649683,-0.000184713671231,0.000175189791962,0.521918702416453,0.022582918748401,-0.000117864476499],[0.000004541948718,0.000000001496628,-0.000004541948637,-0.000000001496622,0.000000000000081,0.000000000000006,0.000006003490189,0.000006003490189,0.000006003490189,1.049988343677753,-0.000185183567074,1.049988324971764,-0.000185261338229,0.001426007157796,4.422733485141593,0.018849734034265,-0.000833673498994],[0.000044499439356,0.00000531461962,-0.000044499437414,-0.000005314619103,0.000000000001942,0.000000000000517,0.00005923686479,0.00005923686479,0.00005923686479,1.049987117877758,-0.000193640482551,1.049987071263274,-0.000194002850888,0.01407051407442,25.540994101679544,0.009282016797039,-0.002370719362649],[0.000002977959499,0.000000044006756,-0.000002977959465,-0.00000004400673,0.000000000000034,0.000000000000026,0.000003936654016,0.000003936654016,0.000003936654016,1.049989574373857,-0.000183016561876,1.049989562126456,-0.000183508046033,0.000935072204424,2.762702699585411,0.017716623871941,-0.000489457645986],[0.000002835971081,0.000000000934317,-0.000002835970986,-0.00000000093431,0.000000000000095,0.000000000000007,0.000003748547047,0.000003748547047,0.000003748547047,1.049989337012077,-0.00018369395045,1.049989301841114,-0.000183840175602,0.000890391214528,2.657800668343878,0.039554502991296,-0.001051279844863],[0.00000028599749,0.000000000094258,-0.00000028599749,-0.000000000094258,5.58346807594175e-16,4.27256789969671e-17,0.000000378027497,0.000000378027497,0.000000378027497,1.049989337012077,-0.00018369395045,1.049989334962153,-0.000183702473103,0.00008979275373,0.26797898665611,0.026955697061672,-0.000072235603832],[0.00000000000003,9.32482148813314e-16,-0.00000000000003,-9.32482148813313e-16,6.31088724176809e-30,3.94430452610506e-31,0.000000000000039,0.000000000000039,0.000000000000039,1.049988567389008,-0.000182466709982,1.049988567389008,-0.000182466709982,0.000000000009374,0.000011506359703,-99.999941664606752,0.000011506352991],[0.000000209995411,0.000000069022433,-0.000000209995411,-0.000000069022433,1.22888413490381e-16,9.40364066640903e-18,0.000000292178221,0.000000292178221,0.000000292178221,1.049988550129902,-0.00018266753651,1.049988549561414,-0.000182659906003,0.000069401001911,0.210279826029732,-0.077383332988786,0.000162721537985],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049988514652946,-0.000184638822243,1.049988514652946,-0.000184638822243,0.0,0.000003835407767,-99.997697574688587,0.000003835319459],[0.00000000000955,-3.0774082299292e-17,-0.00000000000955,3.07740823038521e-17,6.46234853557053e-27,4.5601337221465e-27,0.000000000012623,0.000000000012623,0.000000000012623,1.049988514652944,-0.00018463882227,1.049988514652944,-0.000184638822297,0.000000002998224,0.000046026973095,-99.993590923769546,0.000046024023191],[0.000000557993929,0.000000000183888,-0.000000557993929,-0.000000000183888,6.59369197900084e-16,5.04560773687043e-17,0.000000737549189,0.000000737549189,0.000000737549189,1.049988496649683,-0.000184713671231,1.049988495408903,-0.000184718829835,0.000175189829441,0.521914867065687,0.023317958547382,-0.000121699892355],[0.000004541948757,0.000000001496633,-0.000004541948709,-0.00000000149663,0.000000000000047,0.000000000000004,0.000006003490347,0.000006003490347,0.000006003490347,1.049988324971764,-0.000185261338229,1.049988313997055,-0.000185306966175,0.001426007195275,4.422729800062607,0.01893319244531,-0.000837363944382],[0.000044499437653,0.00000531461973,-0.00004449943524,-0.000005314619087,0.000000000002412,0.000000000000643,0.000059236865202,0.000059236865202,0.000059236865202,1.049987071263274,-0.000194002850888,1.049987013354855,-0.0001944530152,0.014070514172181,25.540990429574389,0.009347215335071,-0.002387371374162],[0.000000130998723,0.000000043056867,-0.000000130998722,-0.000000043056867,3.7220020012761e-16,2.84814100595319e-17,0.000000182265378,0.000000182265378,0.000000182265378,1.049989562126456,-0.000183508046033,1.049989559366321,-0.000183470998785,0.00004329343867,0.131005899056683,-0.065190170578863,0.000085402969063],[0.000002846961085,0.000000000949124,-0.000002846961077,-0.000000000949118,0.000000000000008,0.000000000000006,0.000003763072679,0.000003763072679,0.000003763072679,1.049989562126456,-0.000183508046033,1.049989559145644,-0.000183631323936,0.000893841483305,2.76268790153233,0.018250452255696,-0.000504203036443],[0.000002835971005,0.000000000934336,-0.000002835970765,-0.000000000934318,0.00000000000024,0.000000000000018,0.000003748547072,0.000003748547072,0.000003748547072,1.049989301841114,-0.000183840175602,1.049989212920226,-0.000184209868934,0.000890391220387,2.657796840634908,0.039698852579651,-0.00105511484963],[0.00000028599755,0.000000000094251,-0.00000028599755,-0.000000000094251,7.89228771955707e-17,6.0393169448787e-18,0.000000378027576,0.000000378027576,0.000000378027576,1.049989334962153,-0.000183702473103,1.049989334672395,-0.000183703677789,0.000089792772468,0.267975158560863,0.028384607711647,-0.000076063697522],[0.00000000000003,-9.50376687252911e-20,-0.00000000000003,9.50376687255544e-20,6.31088724176809e-30,2.63274623397735e-31,0.000000000000039,0.000000000000039,0.000000000000039,1.049988567389008,-0.000182466709982,1.049988567389008,-0.000182466709983,0.000000000009369,0.000007670914273,-99.999997611420184,0.000007670914089],[0.000000209995232,0.000000069022437,-0.000000209995231,-0.000000069022437,1.87859308085913e-16,1.43753270200978e-17,0.000000292177997,0.000000292177997,0.000000292177997,1.049988549561414,-0.000182659906003,1.049988548692368,-0.000182648241246,0.000069400948871,0.210276243595289,-0.075678817975625,0.000159134575636],[0.00000000000955,-0.00000000000191,-0.00000000000955,0.00000000000191,3.23117426778526e-27,4.8467614016779e-27,0.000000000012872,0.000000000012872,0.000000000012872,1.049988514652944,-0.000184638822297,1.049988514652943,-0.000184638822329,0.000000003057601,0.000042191789522,-99.994404878415537,0.00004218942884],[0.00000055799375,0.000000000183881,-0.000000557993749,-0.000000000183881,5.25239201361761e-16,4.01922226319799e-17,0.000000737548952,0.000000737548952,0.000000737548952,1.049988495408903,-0.000184718829835,1.049988494420525,-0.00018472293907,0.000175189773223,0.521911031789808,0.024052965577458,-0.000125535080821],[0.000004541948709,0.000000001496652,-0.000004541948676,-0.000000001496649,0.000000000000033,0.000000000000003,0.000006003490347,0.000006003490347,0.000006003490347,1.049988313997055,-0.000185306966175,1.049988306310331,-0.00018533892414,0.001426007195277,4.4227261151362,0.019016604653895,-0.00084105234024],[0.000044499434882,0.000005314620131,-0.000044499430431,-0.000005314618945,0.000000000004452,0.000000000001186,0.000059236864895,0.000059236864895,0.000059236864895,1.049987013354855,-0.0001944530152,1.049986906494514,-0.000195283718459,0.014070514099431,25.540986758115007,0.009441668999784,-0.00241149542898],[0.000000130998721,0.000000043056867,-0.000000130998719,-0.000000043056867,0.000000000000001,9.32234403231834e-17,0.000000182265376,0.000000182265376,0.000000182265376,1.049989559366321,-0.000183470998785,1.049989550332031,-0.000183349738203,0.000043293438137,0.131002312487949,-0.06243647730909,0.000081793229111],[0.000002846961256,0.000000000949059,-0.000002846961241,-0.000000000949047,0.000000000000015,0.000000000000011,0.000003763072915,0.000003763072915,0.000003763072915,1.049989559145644,-0.000183631323936,1.049989553765789,-0.00018385381947,0.000893841539515,2.762684202110874,0.018384809414879,-0.000507914225293],[0.000000285997072,0.000000000094236,-0.000000285997072,-0.000000000094236,6.36489673324443e-17,4.87052363818895e-18,0.000000378026944,0.000000378026944,0.000000378026944,1.049989334672395,-0.000183703677789,1.049989334438713,-0.000183704649333,0.000089792622556,0.267971330521725,0.029813552261581,-0.000079891772671],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049988567389008,-0.000182466709983,1.049988567389008,-0.000182466709983,0.0,0.000003835454793,-99.999759938180645,0.000003835445585],[0.000000209995231,0.000000069022431,-0.000000209995231,-0.000000069022431,5.13023556894255e-16,3.92574492412849e-17,0.000000292177995,0.000000292177995,0.000000292177995,1.049988548692368,-0.000182648241246,1.049988546319097,-0.000182616386046,0.000069400948323,0.210272661196956,-0.073971600019514,0.000155542051891],[0.00000000000573,-0.00000000000191,-0.00000000000573,0.00000000000191,3.23117426778526e-27,2.01948391736579e-27,0.000000000007983,0.000000000007983,0.000000000007983,1.049988514652943,-0.000184638822329,1.049988514652943,-0.000184638822356,0.000000001896243,0.000038355398704,-99.991539130653322,0.000038352153504],[0.000000557993749,0.000000000183877,-0.000000557993748,-0.000000000183877,0.000000000000001,8.4972800741402e-17,0.000000737548952,0.000000737548952,0.000000737548952,1.049988494420525,-0.00018472293907,1.049988492330934,-0.000184731626651,0.000175189773223,0.521907196476486,0.024788023792862,-0.000129370480039],[0.000004541948497,0.000000001496661,-0.000004541948433,-0.000000001496656,0.000000000000064,0.000000000000005,0.00000600349011,0.00000600349011,0.00000600349011,1.049988306310331,-0.00018533892414,1.049988291524169,-0.000185400398401,0.001426007139061,4.422722430302685,0.01910002814561,-0.00084474122899],[0.000044499430192,0.000005314620139,-0.000044499426311,-0.000005314619105,0.000000000003881,0.000000000001034,0.000059236864769,0.000059236864769,0.000059236864769,1.049986906494514,-0.000195283718459,1.049986813329245,-0.000196007959943,0.014070514069449,25.540983087801379,0.009553216983038,-0.002439985533979],[0.000000130998714,0.000000043056866,-0.000000130998713,-0.000000043056866,5.25171888712234e-16,4.01870679008965e-17,0.000000182265369,0.000000182265369,0.000000182265369,1.049989550332031,-0.000183349738203,1.049989546437499,-0.000183297464789,0.000043293436399,0.130998726028893,-0.059681011176276,0.000078181364322],[0.00000284696154,0.000000000949286,-0.000002846961535,-0.000000000949282,0.000000000000005,0.000000000000004,0.00000376307331,0.00000376307331,0.00000376307331,1.049989553765789,-0.00018385381947,1.04998955184488,-0.000183933262798,0.000893841633235,2.76268050275486,0.018519108751342,-0.000511623806757],[0.000000285997311,0.000000000094236,-0.000000285997311,-0.000000000094236,5.0864910817772e-17,3.89227659425371e-18,0.00000037802726,0.00000037802726,0.00000037802726,1.049989334438713,-0.000183704649333,1.049989334251966,-0.000183705425741,0.000089792697511,0.267967502407714,0.03124250849363,-0.0000837197697],[0.000000209995231,0.000000069022441,-0.000000209995231,-0.000000069022441,4.37420784154126e-17,3.34723597953258e-18,0.000000292177999,0.000000292177999,0.000000292177999,1.049988546319097,-0.000182616386046,1.049988546116744,-0.000182613669969,0.000069400949237,0.210269078801873,-0.072265294412138,0.000151951568854],[0.00000000000573,-1.84644493881671e-17,-0.00000000000573,1.84644493910949e-17,3.23117426778526e-27,2.92782951633659e-27,0.000000000007574,0.000000000007574,0.000000000007574,1.049988514652943,-0.000184638822356,1.049988514652942,-0.000184638822385,0.000000001798935,0.000034519018564,-99.993468397340521,0.000034516763919],[0.000000557993808,0.00000000018387,-0.000000557993807,-0.00000000018387,8.74497990569021e-16,6.69181062693642e-17,0.000000737549031,0.000000737549031,0.000000737549031,1.049988492330934,-0.000184731626651,1.049988490685332,-0.00018473846833,0.000175189791961,0.521903361256853,0.02552306142004,-0.000133205715447],[0.000004541948254,0.000000001496652,-0.000004541948222,-0.00000000149665,0.000000000000032,0.000000000000002,0.000006003489873,0.000006003489873,0.000006003489873,1.049988291524169,-0.000185400398401,1.049988284164578,-0.000185430996298,0.001426007082844,4.42271874558032,0.019183448074306,-0.000848429954031],[0.000044499426311,0.00000531462006,-0.00004449942367,-0.000005314619356,0.00000000000264,0.000000000000703,0.000059236864919,0.000059236864919,0.000059236864919,1.049986813329245,-0.000196007959943,1.049986749953878,-0.000196500622828,0.014070514105006,25.5409794184304,0.009643601004736,-0.002463070147815],[0.000002846971485,0.000000000937935,-0.000002846970904,-0.00000000093789,0.000000000000581,0.000000000000044,0.000003763086458,0.000003763086458,0.000003763086458,1.04998955184488,-0.000183933262798,1.049989337515826,-0.000184824347263,0.000893844756168,2.762673104187122,0.018782959814492,-0.000518911778965],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.04998955184488,-0.000183933262798,1.04998955184488,-0.000183933262798,0.0,0.000003830812685,-99.999983243298061,0.000003830812043],[0.000000285996953,0.000000000094236,-0.000000285996952,-0.000000000094236,7.76457103297888e-17,5.94158617589102e-18,0.000000378026787,0.000000378026787,0.000000378026787,1.049989334251966,-0.000183705425741,1.049989333966896,-0.000183706610935,0.000089792585078,0.267963674256187,0.032671604000321,-0.000087548030518],[0.000000209995231,0.000000069022426,-0.000000209995231,-0.000000069022426,2.02040386628404e-17,1.54606012186571e-18,0.000000292177993,0.000000292177993,0.000000292177993,1.049988546116744,-0.000182613669969,1.049988546023279,-0.000182612415439,0.000069400947774,0.210265496462061,-0.070562353762043,0.000148368283453],[0.00000000000382,-0.000000000000955,-0.00000000000382,0.000000000000955,1.61558713389263e-27,1.0097419586829e-27,0.000000000005204,0.000000000005204,0.000000000005204,1.049988514652942,-0.000184638822385,1.049988514652942,-0.000184638822405,0.0000000012362,0.000030683832347,-99.993797325250696,0.000030681929129],[0.000000557993807,0.000000000183873,-0.000000557993806,-0.000000000183873,6.06595445396116e-16,4.64177313928476e-17,0.000000737549031,0.000000737549031,0.000000737549031,1.049988490685332,-0.00018473846833,1.04998848954386,-0.000184743214058,0.000175189791962,0.521899526018407,0.02625811827028,-0.000137040994794],[0.000004541948699,0.000000001496687,-0.000004541948677,-0.000000001496685,0.000000000000023,0.000000000000002,0.000006003490504,0.000006003490504,0.000006003490504,1.049988284164578,-0.000185430996298,1.049988278938813,-0.000185452722696,0.001426007232759,4.42271506096073,0.019266828595308,-0.000852116930054],[0.00004449942379,0.000005314620102,-0.000044499422055,-0.00000531461964,0.000000000001734,0.000000000000462,0.000059236865192,0.000059236865192,0.000059236865192,1.049986749953878,-0.000196500622828,1.049986708321687,-0.000196824260157,0.014070514169998,25.540975749792118,0.009708939354895,-0.002479757846196],[0.000002846970921,0.00000000093794,-0.000002846970837,-0.000000000937933,0.000000000000084,0.000000000000006,0.00000376308648,0.00000376308648,0.00000376308648,1.049989337515826,-0.000184824347263,1.049989306390554,-0.00018495375224,0.000893844761444,2.762669407338161,0.018917692250085,-0.000522633296367],[0.000000285997191,0.000000000094206,-0.000000285997191,-0.000000000094206,9.10164959791124e-17,6.96473616361673e-18,0.000000378027102,0.000000378027102,0.000000378027102,1.049989333966896,-0.000183706610935,1.049989333632736,-0.000183708000222,0.00008979266003,0.267959846329559,0.034100604740163,-0.000091375928059],[0.000000209996663,0.000000069022366,-0.000000209996663,-0.000000069022366,2.16109074486706e-17,1.65368624572621e-18,0.000000292179767,0.000000292179767,0.000000292179767,1.049988546023279,-0.000182612415439,1.049988545923307,-0.000182611073571,0.000069401369169,0.210261914177027,-0.068859596544824,0.00014478550579],[0.000000000004775,-1.53870411608975e-17,-0.000000000004775,1.53870411624545e-17,1.61558713389263e-27,1.55699572275251e-27,0.000000000006311,0.000000000006311,0.000000000006311,1.049988514652942,-0.000184638822405,1.049988514652941,-0.000184638822424,0.000000001499112,0.000026849261723,-99.988883449998298,0.000026846277011],[0.000000557993985,0.000000000183881,-0.000000557993985,-0.000000000183881,6.05150724825455e-16,4.63071820127023e-17,0.000000737549268,0.000000737549268,0.000000737549268,1.04998848954386,-0.000184743214058,1.049988488405107,-0.000184747948481,0.000175189848179,0.521895690873738,0.026993180158818,-0.000140876244079],[0.000004541948796,0.00000000149669,-0.000004541948538,-0.00000000149667,0.000000000000259,0.00000000000002,0.000006003490662,0.000006003490662,0.000006003490662,1.049988278938813,-0.000185452722696,1.049988219158292,-0.000185701263411,0.001426007270238,4.422711376396472,0.019350421270516,-0.000855813282912],[0.000044499422115,0.000005314620342,-0.000044499418382,-0.000005314619347,0.000000000003733,0.000000000000994,0.000059236865381,0.000059236865381,0.000059236865381,1.049986708321687,-0.000196824260157,1.049986618722124,-0.000197520782815,0.014070514214716,25.540972081594532,0.009786976240262,-0.002499688869158],[0.000002797971343,0.000000000921816,-0.000002797971092,-0.000000000921797,0.00000000000025,0.000000000000019,0.00000369831963,0.00000369831963,0.00000369831963,1.049989306390554,-0.00018495375224,1.049989212496822,-0.000185344120434,0.00087846071172,2.715126855134531,0.019184663004564,-0.000520887937304],[0.000000048999494,0.000000000016143,-0.000000048999494,-0.000000000016143,7.67327676313263e-17,5.87172368719575e-18,0.00000006476685,0.00000006476685,0.00000006476685,1.049989306390554,-0.00018495375224,1.049989304746239,-0.000184960588566,0.000015384049726,0.047538855722735,0.011473174325614,-0.000005454215789],[0.000000285997072,0.000000000094206,-0.000000285997072,-0.000000000094206,1.39795852862067e-16,1.06974166726561e-17,0.000000378026944,0.000000378026944,0.000000378026944,1.049989333632736,-0.000183708000222,1.049989333119487,-0.000183710134085,0.000089792622553,0.267956018178032,0.035529689546782,-0.000095203941381],[0.000000209996663,0.000000069022366,-0.000000209996663,-0.000000069022366,2.06502132678066e-17,1.5802061375519e-18,0.000000292179767,0.000000292179767,0.000000292179767,1.049988545923307,-0.000182611073571,1.049988545827779,-0.000182609791358,0.000069401369169,0.210258331872035,-0.067156833638238,0.000141202838146],[0.00000000000382,-1.23096329299636e-17,-0.00000000000382,1.2309632930768e-17,8.07793566946316e-28,8.04377737596951e-28,0.000000000005049,0.000000000005049,0.000000000005049,1.049988514652941,-0.000184638822424,1.049988514652941,-0.000184638822436,0.00000000119929,0.000023012584442,-99.993456436533435,0.000023011078599],[0.000000557993925,0.000000000183866,-0.000000557993924,-0.000000000183866,8.85308248558354e-16,6.77453300504055e-17,0.000000737549189,0.000000737549189,0.000000737549189,1.049988488405107,-0.000184747948481,1.049988486739163,-0.000184754874734,0.000175189829439,0.521891855672757,0.02772826231223,-0.000144711542727],[0.000004541948538,0.000000001496695,-0.000004541948461,-0.000000001496689,0.000000000000076,0.000000000000006,0.000006003490662,0.000006003490662,0.000006003490662,1.049988219158292,-0.000185701263411,1.049988201529995,-0.000185774554,0.00142600727024,4.422707692556543,0.019434048352393,-0.000859511151456],[0.000000044999905,0.000000014790382,-0.000000044999905,-0.000000014790382,6.16955306850636e-17,4.72104897372393e-18,0.000000062610793,0.000000062610793,0.000000062610793,1.049986618722124,-0.000197520782815,1.049986617390251,-0.000197502906412,0.000014871922104,0.045230481295562,-0.222736455271636,0.00010074477074],[0.000044454418179,0.000005299829766,-0.000044454415712,-0.000005299829109,0.000000000002466,0.000000000000657,0.000059175487353,0.000059175487353,0.000059175487353,1.049986618722124,-0.000197520782815,1.049986559464501,-0.000197982124501,0.014055935110932,25.540891401912582,0.010174802410398,-0.002598735233999],[0.000000285997072,0.000000000094219,-0.000000285997071,-0.000000000094219,5.11557554620795e-16,3.91452752525671e-17,0.000000378026944,0.000000378026944,0.000000378026944,1.049989333119487,-0.000183710134085,1.049989331241344,-0.000183717942567,0.000089792622554,0.267952190176435,0.03695883559912,-0.000099032009452],[0.000000209996425,0.000000069022366,-0.000000209996425,-0.000000069022366,2.30051766194104e-17,1.76039916219045e-18,0.000000292179467,0.000000292179467,0.000000292179467,1.049988545827779,-0.000182609791358,1.049988545721356,-0.000182608362917,0.000069401297961,0.21025474954492,-0.065453805200924,0.000137619734193],[0.00000000000382,0.000000000000955,-0.00000000000382,-0.000000000000955,8.07793566946316e-28,1.41363874215605e-27,0.000000000005204,0.000000000005204,0.000000000005204,1.049988514652941,-0.000184638822436,1.049988514652941,-0.000184638822451,0.0000000012362,0.000019177109086,-99.991518952524444,0.000019175482667],[0.000000557993894,0.000000000183868,-0.000000557993891,-0.000000000183868,0.000000000000003,2.54793564849943e-16,0.000000737549149,0.000000737549149,0.000000737549149,1.049988486739163,-0.000184754874734,1.049988480473463,-0.000184780924714,0.000175189820069,0.521888020504586,0.028463338983485,-0.00014854675639],[0.000004541948342,0.000000001496689,-0.000004541948325,-0.000000001496688,0.000000000000017,0.000000000000001,0.000006003490504,0.000006003490504,0.000006003490504,1.049988201529995,-0.000185774554,1.049988197586021,-0.000185790951281,0.001426007232763,4.422704008918273,0.019517443391011,-0.000863198751293],[0.000000044999905,0.000000014790376,-0.000000044999905,-0.000000014790376,8.52847034343813e-18,6.52612416079837e-19,0.00000006261079,0.00000006261079,0.00000006261079,1.049986617390251,-0.000197502906412,1.049986617206139,-0.000197500435269,0.000014871921464,0.045226906704492,-0.214848135485607,0.000097169165792],[0.000044454415802,0.000005299830817,-0.000044454406554,-0.000005299828353,0.000000000009248,0.000000000002464,0.000059175487738,0.000059175487738,0.000059175487738,1.049986559464501,-0.000197982124501,1.049986337257054,-0.000199712088569,0.014055935202344,25.540887735235625,0.010325064705521,-0.002637113185028],[0.000000285997079,0.000000000094222,-0.000000285997076,-0.000000000094222,0.000000000000002,1.90520110470091e-16,0.000000378026954,0.000000378026954,0.000000378026954,1.049989331241344,-0.000183717942567,1.049989322100418,-0.000183755946453,0.000089792624897,0.26794836214789,0.038388029088066,-0.000102860095202],[0.000000209997499,0.000000069022366,-0.000000209997499,-0.000000069022366,4.74863081494114e-17,3.63374487394135e-18,0.000000292180816,0.000000292180816,0.000000292180816,1.049988545721356,-0.000182608362917,1.049988545501684,-0.000182605414418,0.000069401618396,0.210251167146157,-0.063750630366671,0.000134036444409],[0.000000000002865,-0.000000000000955,-0.000000000002865,0.000000000000955,4.03896783473158e-28,4.03896783473158e-28,0.000000000003992,0.000000000003992,0.000000000003992,1.049988514652941,-0.000184638822451,1.049988514652941,-0.000184638822467,0.000000000948122,0.000015342527811,-99.990808720106585,0.000015341117637],[0.00000055799404,0.000000000183858,-0.000000557994039,-0.000000000183858,7.77152940864057e-16,5.94690764590648e-17,0.000000737549346,0.000000737549346,0.000000737549346,1.049988480473463,-0.000184780924714,1.049988479011043,-0.000184787004806,0.000175189866916,0.521884185458176,0.029198420259559,-0.000152381937738],[0.000002210975189,0.000000000728597,-0.000002210975087,-0.00000000072859,0.000000000000102,0.000000000000008,0.000002922439359,0.000002922439359,0.000002922439359,1.049988197586021,-0.000185790951281,1.049988149199831,-0.000185992119443,0.00069416611227,2.153004396487533,0.020020030191412,-0.000431032130199],[0.000002330973263,0.000000000768122,-0.000002330973259,-0.000000000768121,0.000000000000004,2.97501431365448e-16,0.000003081051313,0.000003081051313,0.000003081051313,1.049988197586021,-0.000185790951281,1.049988195834715,-0.000185798232433,0.000731841160316,2.269695928941157,0.019203253032394,-0.000435855452301],[0.000000044999905,0.000000014790387,-0.000000044999905,-0.000000014790387,3.92085595583605e-18,3.00031643062784e-19,0.000000062610795,0.000000062610795,0.000000062610795,1.049986617206139,-0.000197500435269,1.049986617121497,-0.000197499299193,0.000014871922561,0.045223332157271,-0.206960447430138,0.000093594410576],[0.000000456994051,0.000000000150639,-0.000000456994046,-0.000000000150639,0.000000000000005,4.09844199824801e-16,0.000000604050093,0.000000604050093,0.000000604050093,1.049986337257054,-0.000199712088569,1.049986324951024,-0.000199763251569,0.000143479830788,0.426400107633816,0.029066752305284,-0.000123940663115],[0.000043997412622,0.000005299678459,-0.000043997409578,-0.000005299677648,0.000000000003044,0.000000000000811,0.000058575705325,0.000058575705325,0.000058575705325,1.049986337257054,-0.000199712088569,1.049986263359916,-0.000200282396028,0.013913469072368,25.54084376464295,0.010638764014718,-0.002717230095488],[0.000000209997738,0.000000069022336,-0.000000209997738,-0.000000069022336,4.94567714825209e-17,3.78452997344241e-18,0.000000292181104,0.000000292181104,0.000000292181104,1.049988545501684,-0.000182605414418,1.049988545272897,-0.000182602343577,0.000069401686679,0.210247584842535,-0.06204717743726,0.000130452692025],[0.000000000000955,-0.000000000000955,-0.000000000000955,0.000000000000955,2.01948391736579e-28,2.01948391736579e-28,0.000000000001785,0.000000000001785,0.000000000001785,1.049988514652941,-0.000184638822467,1.049988514652941,-0.000184638822476,0.000000000424013,0.000011506143653,-99.993678752403142,0.000011505416321],[0.000000557994099,0.000000000183858,-0.000000557994099,-0.000000000183858,3.56034099873229e-16,2.72443380856066e-17,0.000000737549425,0.000000737549425,0.000000737549425,1.049988479011043,-0.000184787004806,1.049988478341069,-0.000184789790255,0.000175189885655,0.521880350369514,0.029933504524063,-0.000156217078288],[0.000002210975072,0.000000000728603,-0.000002210974971,-0.000000000728595,0.000000000000101,0.000000000000008,0.000002922439339,0.000002922439339,0.000002922439339,1.049988149199831,-0.000185992119443,1.049988101247435,-0.000186191484085,0.000694166107586,2.153000713439681,0.020191524561428,-0.000434723667862],[0.000002330973259,0.000000000768106,-0.000002330973254,-0.000000000768106,0.000000000000005,3.48801704400207e-16,0.000003081051313,0.000003081051313,0.000003081051313,1.049988195834715,-0.000185798232433,1.049988193781417,-0.000185806769126,0.000731841160315,2.269692245334004,0.019365582721622,-0.000439539129296],[0.000000044999905,0.000000014790387,-0.000000044999905,-0.000000014790387,4.65685479510613e-18,3.56352716610295e-19,0.000000062610795,0.000000062610795,0.000000062610795,1.049986617121497,-0.000197499299193,1.049986617020965,-0.000197497949861,0.000014871922561,0.045219757587472,-0.199071833010241,0.000090019800312],[0.000000456993897,0.000000000150633,-0.000000456993896,-0.000000000150633,3.89316300771896e-16,2.97911583805702e-17,0.000000604049896,0.000000604049896,0.000000604049896,1.049986324951024,-0.000199763251569,1.049986324056511,-0.000199766970557,0.000143479783941,0.426396263257199,0.029968648432523,-0.000127785197065],[0.00004399740919,0.000005299679617,-0.000043997398157,-0.000005299676678,0.000000000011034,0.00000000000294,0.000058575705128,0.000058575705128,0.000058575705128,1.049986263359916,-0.000200282396028,1.049985995482771,-0.000202349760714,0.013913469025394,25.540840101216162,0.010818873923804,-0.002763231289631],[0.000000209997767,0.000000069022336,-0.000000209997767,-0.000000069022336,1.88066539990415e-16,1.43911691831894e-17,0.000000292181141,0.000000292181141,0.000000292181141,1.049988545272897,-0.000182602343577,1.049988544402901,-0.000182590666264,0.00006940169558,0.210244002558617,-0.060342693241405,0.000126866893522],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049988514652941,-0.000184638822476,1.049988514652941,-0.000184638822476,0.0,0.00000767111266,-99.998270065127343,0.000007670979955],[0.000000557993502,0.00000000018385,-0.000000557993502,-0.00000000018385,2.34065167116872e-16,1.79110626495283e-17,0.000000737548636,0.000000737548636,0.000000737548636,1.049988478341069,-0.000184789790255,1.049988477900613,-0.000184791621476,0.000175189698265,0.521876515187304,0.030668624926852,-0.000160052351024],[0.000002330973493,0.000000000768106,-0.000002330973489,-0.000000000768106,0.000000000000004,3.15219785876917e-16,0.000003081051628,0.000003081051628,0.000003081051628,1.049988193781417,-0.000185806769126,1.049988191925808,-0.000185814483923,0.00073184123527,2.269688561549545,0.019527941876174,-0.00044322346307],[0.000000044999965,0.000000014790372,-0.000000044999965,-0.000000014790372,7.1849834448642e-18,5.49807100829296e-19,0.000000062610863,0.000000062610863,0.000000062610863,1.049986617020965,-0.000197497949861,1.049986616865857,-0.000197495868006,0.0000148719389,0.045216183101926,-0.191181774154754,0.000086445101059],[0.000000456994075,0.000000000150655,-0.000000456994075,-0.000000000150655,3.20886838303826e-16,2.45548259038034e-17,0.000000604050133,0.000000604050133,0.000000604050133,1.049986324056511,-0.000199766970557,1.049986323319225,-0.000199770035863,0.00014347984016,0.426392418882953,0.030870526898018,-0.000131629586362],[0.000020942723442,0.000004342418618,-0.00002094272147,-0.000004342418303,0.000000000001973,0.000000000000315,0.000028270687293,0.000028270687293,0.000028270687293,1.049985995482771,-0.000202349760714,1.049985897515361,-0.000202104328524,0.006715127562246,13.511401092055678,-0.074405034725578,0.010053162674456],[0.000023054680594,0.000000957231455,-0.000023054679895,-0.000000957231269,0.000000000000698,0.000000000000186,0.000030499706294,0.000030499706294,0.000030499706294,1.049985995482771,-0.000202349760714,1.049985963389312,-0.000202739320193,0.007244585752372,18.584079877550362,0.018756335185519,-0.003485692312978],[0.00000020999776,0.00000006902234,-0.000000209997759,-0.00000006902234,9.98472115009325e-16,7.64048070620612e-17,0.000000292181133,0.000000292181133,0.000000292181133,1.049988544402901,-0.000182590666264,1.049988539783967,-0.000182528669744,0.00006940169372,0.210240420241329,-0.058631642300187,0.000123267411166],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049988514652941,-0.000184638822476,1.049988514652941,-0.000184638822476,0.0,0.00000383555633,-99.995858537738741,0.000003835397482],[0.000000509994608,0.000000000168039,-0.000000509994607,-0.000000000168039,0.000000000000001,1.05111793927527e-16,0.000000674104316,0.000000674104316,0.000000674104316,1.049988477900613,-0.000184791621476,1.049988475072502,-0.000184803379502,0.000160119788669,0.476963597098132,0.03546900042882,-0.0001691742203],[0.000000047999818,0.000000000015841,-0.000000047999818,-0.000000000015841,1.50081003363661e-18,1.14844793356931e-19,0.000000063445543,0.000000063445543,0.000000063445543,1.049988477900613,-0.000184791621476,1.049988477867782,-0.000184791757971,0.000015070200052,0.04490908299171,-0.011771923175439,0.000005286662749],[0.000002330973728,0.000000000768121,-0.000002330973724,-0.00000000076812,0.000000000000004,3.1925468418983e-16,0.000003081051944,0.000003081051944,0.000003081051944,1.049988191925808,-0.000185814483923,1.049988190046446,-0.00018582229747,0.000731841310227,2.269684877870601,0.019690290019798,-0.000446907534988],[0.000000044999905,0.000000014790368,-0.000000044999905,-0.000000014790368,6.40231838415633e-18,4.89919224480457e-19,0.000000062610787,0.000000062610787,0.000000062610787,1.049986616865857,-0.000197495868006,1.049986616727645,-0.000197494012929,0.000014871920733,0.045212608667077,-0.183290726743913,0.000082870519006],[0.000000456993956,0.000000000150655,-0.000000456993955,-0.000000000150655,4.55794781664643e-16,3.48782142250804e-17,0.000000604049975,0.000000604049975,0.000000604049975,1.049986323319225,-0.000199770035863,1.049986322271968,-0.000199774389892,0.000143479802682,0.426388574602446,0.031772397643947,-0.000135473873431],[0.000020942721231,0.000004342418109,-0.000020942720323,-0.000004342417964,0.000000000000908,0.000000000000145,0.000028270686932,0.000028270686932,0.000028270686932,1.049985897515361,-0.000202104328524,1.049985852423099,-0.000201991361439,0.006715127476487,13.511397512835835,-0.074231831030826,0.010029757771632],[0.000023054679955,0.000000957232075,-0.000023054677029,-0.000000957231295,0.000000000002926,0.00000000000078,0.000030499706417,0.000030499706417,0.000030499706417,1.049985963389312,-0.000202739320193,1.049985828886832,-0.000204371949325,0.00724458578159,18.58407621753874,0.018790709563731,-0.00349207978714],[0.000000509994458,0.000000000168043,-0.000000509994457,-0.000000000168043,6.30982688617869e-16,4.82838882071418e-17,0.000000674104119,0.000000674104119,0.000000674104119,1.049988475072502,-0.000184803379502,1.049988473773388,-0.00018480878064,0.000160119741822,0.476959762037633,0.036273369834128,-0.000173009378444],[0.000000048000057,0.000000000015781,-0.000000048000057,-0.000000000015781,1.06217931585689e-18,8.12797880405291e-20,0.000000063445858,0.000000063445858,0.000000063445858,1.049988477867782,-0.000184791757971,1.049988477844547,-0.000184791854575,0.000015070275001,0.044905248259143,-0.003233459438411,0.000001451992988],[0.000002330973962,0.000000000768135,-0.000002330973958,-0.000000000768135,0.000000000000004,3.43263423832145e-16,0.00000308105226,0.00000308105226,0.00000308105226,1.049988190046446,-0.00018582229747,1.049988188025752,-0.000185830698614,0.000731841385184,2.269681194302265,0.019852625114107,-0.00045059129879],[0.000000045000084,0.000000014790372,-0.000000045000084,-0.000000014790372,4.9776949936583e-18,3.80903437190868e-19,0.000000062611013,0.000000062611013,0.000000062611013,1.049986616727645,-0.000197494012929,1.049986616620188,-0.000197492570647,0.000014871974504,0.04520903421222,-0.175398425593604,0.000079295934234],[0.000000456993925,0.000000000150641,-0.000000456993923,-0.000000000150641,0.000000000000002,1.56657159750605e-16,0.000000604049935,0.000000604049935,0.000000604049935,1.049986322271968,-0.000199774389892,1.04998631756816,-0.00019979394623,0.000143479793311,0.426384730251573,0.032674310607469,-0.000139318271145],[0.000020942720711,0.00000434241771,-0.000020942714779,-0.000004342416762,0.000000000005931,0.000000000000949,0.000028270687366,0.000028270687366,0.000028270687366,1.049985852423099,-0.000201991361439,1.049985557850704,-0.000201253385944,0.006715127579583,13.511393934100196,-0.073857049180371,0.009979116862862],[0.000023054677327,0.000000957232071,-0.000023054676682,-0.000000957231899,0.000000000000646,0.000000000000172,0.000030499706854,0.000030499706854,0.000030499706854,1.049985828886832,-0.000204371949325,1.049985799196883,-0.000204732334313,0.00724458588531,18.584072559772054,0.018824855865043,-0.003498424873232],[0.000000509994338,0.000000000168047,-0.000000509994337,-0.000000000168047,0.000000000000001,8.1719556648639e-17,0.000000674103961,0.000000674103961,0.000000674103961,1.049988473773388,-0.00018480878064,1.049988471574661,-0.000184817921963,0.000160119704345,0.476955927014643,0.037077731755362,-0.00017684443921],[0.000000048000057,0.000000000015871,-0.000000048000057,-0.000000000015871,1.23607915039514e-18,9.4586694253458e-20,0.000000063445858,0.000000063445858,0.000000063445858,1.049988477844547,-0.000184791854575,1.049988477817507,-0.000184791966991,0.000015070275011,0.044901413076862,0.005307845314364,-0.00000238329755],[0.000002330973809,0.000000000768135,-0.000002330973783,-0.000000000768133,0.000000000000026,0.000000000000002,0.000003081052062,0.000003081052062,0.000003081052062,1.049988188025752,-0.000185830698614,1.049988176306848,-0.00018587942058,0.000731841338337,2.269677510733455,0.020015014015952,-0.00045427627189],[0.000000045000144,0.00000001479038,-0.000000045000144,-0.00000001479038,6.1959798347162e-18,4.74126692225595e-19,0.000000062611091,0.000000062611091,0.000000062611091,1.049986616620188,-0.000197492570647,1.04998661648643,-0.000197490775369,0.000014871993038,0.045205459845677,-0.167504909741918,0.000075721364713],[0.000000456994013,0.00000000015064,-0.000000456994012,-0.00000000015064,3.94112518956605e-16,3.01581738688666e-17,0.000000604050054,0.000000604050054,0.000000604050054,1.04998631756816,-0.00019979394623,1.049986316662627,-0.000199797711034,0.000143479821419,0.426380885966306,0.03357622950423,-0.000143162624834],[0.000020942714391,0.000004342416448,-0.000020942713948,-0.000004342416377,0.000000000000443,0.000000000000071,0.00002827068678,0.00002827068678,0.00002827068678,1.049985557850704,-0.000201253385944,1.049985535848526,-0.000201198265136,0.006715127440343,13.51139035891326,-0.073505892135293,0.009931668023201],[0.00002305467692,0.000000957232048,-0.000023054676706,-0.000000957231991,0.000000000000215,0.000000000000057,0.000030499707177,0.000030499707177,0.000030499707177,1.049985799196883,-0.000204732334313,1.049985789331517,-0.000204852082926,0.007244585962145,18.584068902408816,0.018848020282308,-0.003502729076004],[0.000000509994381,0.000000000168049,-0.000000509994379,-0.000000000168048,0.000000000000002,1.56855386294874e-16,0.000000674104021,0.000000674104021,0.000000674104021,1.049988471574661,-0.000184817921963,1.049988467354348,-0.000184835468139,0.000160119718399,0.476952092019688,0.037882108910603,-0.00018067951095],[0.000000047999222,0.000000000015811,-0.000000047999221,-0.000000000015811,2.36413513023576e-18,1.80907744230714e-19,0.000000063444754,0.000000063444754,0.000000063444754,1.049988477817507,-0.000184791966991,1.04998847776579,-0.000184792182008,0.00001507001266,0.044897577969533,0.013850309891286,-0.000006218453682],[0.00000233097376,0.000000000768142,-0.00000233097365,-0.000000000768134,0.00000000000011,0.000000000000008,0.000003081052033,0.000003081052033,0.000003081052033,1.049988176306848,-0.00018587942058,1.04998812674032,-0.000186085496063,0.000731841331311,2.269673827388104,0.020177581880449,-0.00045796529494],[0.000000045000025,0.000000014790365,-0.000000045000025,-0.000000014790365,6.40841966835452e-18,4.90380791262262e-19,0.000000062610935,0.000000062610935,0.000000062610935,1.04998661648643,-0.000197490775369,1.049986616348087,-0.000197488918528,0.000014871955971,0.04520188546482,-0.159610243244935,0.000072146839342],[0.000000456993833,0.000000000150647,-0.000000456993833,-0.000000000150647,2.91807720768553e-16,2.23296404694667e-17,0.000000604049817,0.000000604049817,0.000000604049817,1.049986316662627,-0.000199797711034,1.049986315992154,-0.00019980049856,0.000143479765203,0.426377041573199,0.034478171625187,-0.000147007008164],[0.000000104998877,0.000000034510987,-0.000000104998877,-0.000000034510987,4.77892283071732e-17,3.65690593109283e-18,0.000000146090906,0.000000146090906,0.000000146090906,1.049985535848526,-0.000201198265136,1.049985535406381,-0.000201192330568,0.000034700927595,0.105638967255149,-0.107490079730811,0.000113551410129],[0.000020837715064,0.000004307904898,-0.000020837707032,-0.000004307903614,0.000000000008032,0.000000000001284,0.000028125534039,0.000028125534039,0.000028125534039,1.049985535848526,-0.000201198265136,1.049985134895844,-0.000200206634554,0.006680649354967,13.405750515286666,-0.072777805925825,0.009756411092916],[0.000023054677183,0.000000957231633,-0.000023054677071,-0.000000957231603,0.000000000000112,0.00000000000003,0.000030499707788,0.000030499707788,0.000030499707788,1.049985789331517,-0.000204852082926,1.049985784182489,-0.000204914583284,0.007244586107262,18.584065245456607,0.018869018376412,-0.00350663068625],[0.000000509994372,0.00000000016805,-0.000000509994366,-0.00000000016805,0.000000000000006,4.61808671206739e-16,0.000000674104011,0.000000674104011,0.000000674104011,1.049988467354348,-0.000184835468139,1.049988454929036,-0.000184887127035,0.000160119716057,0.476948257052824,0.038686518563307,-0.000184514676002],[0.00000004799946,0.000000000015815,-0.00000004799946,-0.000000000015815,9.06695168732035e-18,6.9381901929258e-19,0.000000063445069,0.000000063445069,0.000000063445069,1.04998847776579,-0.000184792182008,1.049988477567445,-0.000184793006637,0.000015070087616,0.044893742946547,0.022393787479172,-0.000010053409387],[0.000000045000144,0.000000014790376,-0.000000045000144,-0.000000014790376,7.55912716208929e-18,5.78439130552207e-19,0.00000006261109,0.00000006261109,0.00000006261109,1.049986616348087,-0.000197488918528,1.049986616184902,-0.000197486728283,0.000014871992672,0.045198311119544,-0.151714198604362,0.000068572255498],[0.000000456993833,0.000000000150647,-0.000000456993833,-0.000000000150647,3.36130837316003e-16,2.57213163396678e-17,0.000000604049817,0.000000604049817,0.000000604049817,1.049986315992154,-0.00019980049856,1.049986315219843,-0.000199803709488,0.000143479765203,0.426373197348856,0.035380087289422,-0.000150851209401],[0.000000104998833,0.000000034510986,-0.000000104998832,-0.000000034510986,2.46128848579684e-16,1.88342143335628e-17,0.00000014609085,0.00000014609085,0.00000014609085,1.049985535406381,-0.000201192330568,1.049985533129199,-0.000201161765757,0.000034700914152,0.105635400598242,-0.104113381639496,0.000109980587771],[0.000020837707114,0.000004307903081,-0.000020837703259,-0.000004307902464,0.000000000003854,0.000000000000616,0.000028125534003,0.000028125534003,0.000028125534003,1.049985134895844,-0.000200206634554,1.049984942478784,-0.000199730751363,0.006680649346292,13.405746945121091,-0.072144040134778,0.009671447456455],[0.000023054677071,0.00000095723208,-0.000023054676975,-0.000000957232055,0.000000000000096,0.000000000000026,0.000030499707814,0.000030499707814,0.000030499707814,1.049985784182489,-0.000204914583284,1.049985779774761,-0.000204968085531,0.007244586113482,18.584061588206474,0.018889545461735,-0.003510444762341],[0.000000047999475,0.000000000015817,-0.000000047999475,-0.000000000015817,3.09421069457547e-17,2.36774346331995e-18,0.000000063445089,0.000000063445089,0.000000063445089,1.049988477567445,-0.000184793006637,1.04998847689057,-0.000184795820782,0.000015070092301,0.044889907862633,0.030938982801309,-0.000013888480873],[0.000000045000204,0.000000014790365,-0.000000045000204,-0.000000014790365,4.30768531493525e-18,3.29628165379931e-19,0.00000006261116,0.00000006261116,0.00000006261116,1.049986616184902,-0.000197486728283,1.049986616091909,-0.000197485480136,0.000014872009377,0.045194736814332,-0.143817263920022,0.000064997833922],[0.000000456993952,0.000000000150662,-0.000000456993952,-0.000000000150662,3.33437166664615e-16,2.55151929864339e-17,0.000000604049975,0.000000604049975,0.000000604049975,1.049986315219843,-0.000199803709488,1.04998631445372,-0.000199806894682,0.000143479802683,0.426369353049511,0.036282056138758,-0.000154695568032],[0.000000104998817,0.000000034510987,-0.000000104998817,-0.000000034510987,8.59282367160578e-17,6.57538442063713e-18,0.000000146090832,0.000000146090832,0.000000146090832,1.049985533129199,-0.000201161765757,1.049985532334192,-0.000201151095001,0.000034700909793,0.105631833986304,-0.100735978301223,0.000106409261364],[0.000000410994092,0.000000000135533,-0.000000410994082,-0.000000000135532,0.000000000000009,7.11580483976033e-16,0.000000543248535,0.000000543248535,0.000000543248535,1.049984942478784,-0.000199730751363,1.049984918721456,-0.00019982952372,0.000129037655686,0.382779911041137,0.0368395231924,-0.000141014294104],[0.000020426709384,0.000004307765939,-0.000020426702236,-0.000004307764796,0.000000000007149,0.000000000001143,0.000027593717527,0.000027593717527,0.000027593717527,1.049984942478784,-0.000199730751363,1.049984578797594,-0.000198752149566,0.006554327144098,13.405736241495145,-0.07149168549382,0.009583986791901],[0.00002305467793,0.000000957232294,-0.000023054677821,-0.000000957232265,0.000000000000109,0.000000000000029,0.000030499709088,0.000030499709088,0.000030499709088,1.049985779774761,-0.000204968085531,1.049985774761761,-0.000205028934741,0.007244586416156,18.58405793139589,0.01891005624252,-0.003514255806969],[0.000000045000263,0.000000014790376,-0.000000045000263,-0.000000014790376,1.94605091712736e-17,1.48915340444451e-18,0.00000006261124,0.00000006261124,0.00000006261124,1.049986616091909,-0.000197485480136,1.049986615671801,-0.00019747984151,0.000014872028276,0.045191162564885,-0.135918659129811,0.000061423222203],[0.000000456994012,0.000000000150658,-0.000000456994009,-0.000000000150657,0.000000000000003,2.2415384132513e-16,0.000000604050054,0.000000604050054,0.000000604050054,1.04998631445372,-0.000199806894682,1.049986307723251,-0.000199834876968,0.000143479821421,0.426365508806353,0.037184036278937,-0.000158539905475],[0.000000104998847,0.000000034510988,-0.000000104998847,-0.000000034510987,1.87017330866563e-16,1.43108863416574e-17,0.000000146090869,0.000000146090869,0.000000146090869,1.049985532334192,-0.000201151095001,1.04998553060391,-0.000201127870791,0.000034700918785,0.105628267390218,-0.097359164619227,0.000102838798733],[0.00000041099406,0.000000000135532,-0.000000410994056,-0.000000000135532,0.000000000000004,2.81821112338684e-16,0.000000543248506,0.000000543248506,0.000000543248506,1.049984918721456,-0.00019982952372,1.049984909312377,-0.000199868642469,0.000129037648659,0.382776060189238,0.037846009121455,-0.000144865462654],[0.000000235996434,0.000000000077743,-0.000000235996432,-0.000000000077743,0.000000000000002,1.74854850731668e-16,0.00000031193821,0.00000031193821,0.00000031193821,1.049984578797594,-0.000198752149566,1.049984568630866,-0.000198794418487,0.000074094586128,0.231698979809103,0.002689704486141,-0.000006232017854],[0.000020190706022,0.000004307686365,-0.000020190704751,-0.000004307686162,0.000000000001271,0.000000000000203,0.000027288547373,0.000027288547373,0.000027288547373,1.049984578797594,-0.000198752149566,1.049984513431915,-0.000198567840229,0.006481840172333,13.405686354018684,-0.070674598670355,0.009474415029709],[0.000023054679731,0.000000957232742,-0.000023054679645,-0.000000957232719,0.000000000000086,0.000000000000023,0.000030499711637,0.000030499711637,0.000030499711637,1.049985774761761,-0.000205028934741,1.04998577081238,-0.000205076873442,0.007244587021504,18.584054274521165,0.018930525067829,-0.003518059053057],[0.000000045000204,0.000000014790376,-0.000000045000204,-0.000000014790376,7.57361274897632e-18,5.79547552573028e-19,0.000000062611165,0.000000062611165,0.000000062611165,1.049986615671801,-0.00019747984151,1.049986615508304,-0.000197477647074,0.000014872010474,0.045187588321702,-0.128018805747193,0.000057848610915],[0.000000456994016,0.000000000150657,-0.00000045699401,-0.000000000150657,0.000000000000006,4.58200478665703e-16,0.000000604050064,0.000000604050064,0.000000604050064,1.049986307723251,-0.000199834876968,1.049986293965269,-0.00019989207651,0.000143479823763,0.426361664628741,0.038086050841637,-0.00016238432036],[0.000000050999305,0.000000016762485,-0.000000050999305,-0.000000016762485,3.61664341108518e-17,2.76752133647582e-18,0.000000070958255,0.000000070958255,0.000000070958255,1.04998553060391,-0.000201127870791,1.049985529915003,-0.000201118624099,0.000016854692164,0.05129140377617,-0.070757923061686,0.000036292732021],[0.000000053999468,0.000000017748499,-0.000000053999468,-0.000000017748499,1.90776039570004e-17,1.45984804970299e-18,0.00000007513252,0.00000007513252,0.00000007513252,1.04998553060391,-0.000201127870791,1.049985530260705,-0.000201123264227,0.000017846204003,0.054333297340066,-0.115907472616356,0.000062976351736],[0.000000235996443,0.000000000077745,-0.000000235996442,-0.000000000077745,0.000000000000001,8.79090981489068e-17,0.000000311938225,0.000000311938225,0.000000311938225,1.049984568630866,-0.000198794418487,1.049984563519496,-0.000198815669383,0.000074094589642,0.231695326657702,0.004266556955503,-0.000009885413075],[0.000020190704632,0.000004307686072,-0.000020190703543,-0.000004307685898,0.000000000001089,0.000000000000174,0.000027288547194,0.000027288547194,0.000027288547194,1.049984513431915,-0.000198567840229,1.049984457432677,-0.000198409941119,0.006481840129815,13.405682791449996,-0.070520842448802,0.009453800440545],[0.000023054675825,0.000000957232242,-0.000023054675753,-0.000000957232223,0.000000000000072,0.000000000000019,0.000030499706566,0.000030499706566,0.000030499706566,1.04998577081238,-0.000205076873442,1.049985767501241,-0.00020511706498,0.007244585817027,18.584050617391323,0.018950846873667,-0.003521834975427],[0.000000045000025,0.00000001479035,-0.000000045000025,-0.00000001479035,2.63104977029437e-18,2.01332452372957e-19,0.000000062610929,0.000000062610929,0.000000062610929,1.049986615508304,-0.000197477647074,1.049986615451505,-0.000197476884729,0.000014871954508,0.045184014127592,-0.120118477855355,0.000054274350004],[0.000000050999312,0.000000016762484,-0.000000050999312,-0.000000016762484,5.41159092961177e-17,4.14104150873032e-18,0.000000070958264,0.000000070958264,0.000000070958264,1.049985529915003,-0.000201118624099,1.04998552888419,-0.000201104788257,0.000016854694298,0.051287837336987,-0.063806590997147,0.000032725020601],[0.000000053999736,0.000000017748494,-0.000000053999736,-0.000000017748494,2.65640120170789e-18,2.03271363728781e-19,0.000000075132854,0.000000075132854,0.000000075132854,1.049985530260705,-0.000201123264227,1.049985530212917,-0.000201122622807,0.000017846283564,0.054329730736056,-0.10934977867385,0.000059409440314],[0.000000235996397,0.000000000077749,-0.000000235996397,-0.000000000077749,1.06908210498142e-16,8.1808023382507e-18,0.000000311938166,0.000000311938166,0.000000311938166,1.049984563519496,-0.000198815669383,1.049984563043832,-0.000198817646987,0.000074094575588,0.231691673589261,0.005843368157911,-0.000013538597479],[0.000020190703364,0.000004307685816,-0.000020190702598,-0.000004307685693,0.000000000000766,0.000000000000122,0.00002728854694,0.00002728854694,0.00002728854694,1.049984457432677,-0.000198409941119,1.049984418042434,-0.000198298873808,0.006481840069459,13.405679229608799,-0.070394317329027,0.009436836377002],[0.000023054679573,0.000000957232223,-0.000023054679508,-0.000000957232205,0.000000000000065,0.000000000000017,0.000030499711611,0.000030499711611,0.000030499711611,1.049985767501241,-0.00020511706498,1.049985764513547,-0.000205153330466,0.007244587015284,18.584046960650536,0.018971079689655,-0.003525594358468],[0.000000045000502,0.000000014790387,-0.000000045000502,-0.000000014790387,1.98217621058327e-18,1.51678454562624e-19,0.000000062611544,0.000000062611544,0.000000062611544,1.049986615451505,-0.000197476884729,1.049986615408715,-0.000197476310403,0.000014872100581,0.045180439957548,-0.112216510219676,0.000050699913022],[0.000000053999259,0.000000017748494,-0.000000053999259,-0.000000017748494,2.88499421834815e-18,2.20764579323052e-19,0.000000075132255,0.000000075132255,0.000000075132255,1.049985530212917,-0.000201122622807,1.049985530161015,-0.000201121926179,0.000017846141148,0.054326164098336,-0.102791504277098,0.000055842681293],[0.000000235996456,0.000000000077756,-0.000000235996456,-0.000000000077756,4.41517776640876e-17,3.37857077020822e-18,0.000000311938245,0.000000311938245,0.000000311938245,1.049984563043832,-0.000198817646987,1.049984562847389,-0.000198818463712,0.000074094594328,0.231688020531479,0.007420149499412,-0.000017191597496],[0.000020190702538,0.000004307685604,-0.000020190701571,-0.000004307685449,0.000000000000968,0.000000000000155,0.000027288546838,0.000027288546838,0.000027288546838,1.049984418042434,-0.000198298873808,1.04998436827204,-0.000198158537943,0.006481840045268,13.405675668185113,-0.070274325414927,0.00942074814313],[0.000023054681418,0.000000957232205,-0.000023054681364,-0.000000957232191,0.000000000000054,0.000000000000014,0.000030499714133,0.000030499714133,0.000030499714133,1.049985764513547,-0.000205153330466,1.049985762040825,-0.000205183345061,0.007244587614413,18.584043303821808,0.01899124845844,-0.003529341837453],[0.000000044999786,0.000000014790402,-0.000000044999786,-0.000000014790402,1.45021304992797e-18,1.10974550980114e-19,0.000000062610651,0.000000062610651,0.000000062610651,1.049986615408715,-0.000197476310403,1.049986615377408,-0.000197475890199,0.00001487188842,0.045176865779513,-0.104313948695674,0.000047125772592],[0.000000053999736,0.000000017748508,-0.000000053999736,-0.000000017748508,2.5270830934638e-18,1.93378283602647e-19,0.000000075132861,0.000000075132861,0.000000075132861,1.049985530161015,-0.000201121926179,1.049985530115554,-0.000201121315983,0.000017846285027,0.054322597555245,-0.096232765057741,0.000052276137679],[0.000000235996695,0.000000000077816,-0.000000235996695,-0.000000000077816,3.11537129813356e-17,2.38394253869001e-18,0.000000311938561,0.000000311938561,0.000000311938561,1.049984562847389,-0.000198818463712,1.049984562708778,-0.000198819039997,0.00007409466929,0.231684367505366,0.008996995299705,-0.000020844631655],[0.00002019070163,0.000004307685374,-0.000020190701024,-0.000004307685278,0.000000000000606,0.000000000000097,0.000027288546894,0.000027288546894,0.000027288546894,1.04998436827204,-0.000198158537943,1.049984337086323,-0.00019807060465,0.006481840058707,13.40567210742333,-0.070162936344699,0.00940581318731],[0.000023054679454,0.000000957232907,-0.000023054679392,-0.00000095723289,0.000000000000062,0.000000000000017,0.00003049971165,0.00003049971165,0.00003049971165,1.049985762040825,-0.000205183345061,1.049985759172322,-0.000205218163761,0.007244587024614,18.584039646478793,0.019011396931181,-0.00353308554304],[0.000000044999547,0.000000014790462,-0.000000044999547,-0.000000014790462,7.36415738298809e-19,5.63525064107876e-20,0.000000062610376,0.000000062610376,0.000000062610376,1.049986615377408,-0.000197475890199,1.04998661536151,-0.000197475676816,0.000014871823063,0.045173291804824,-0.096410367216377,0.000043551736513],[0.000000053999736,0.000000017748508,-0.000000053999736,-0.000000017748508,2.68502165090223e-18,2.05458429268371e-19,0.000000075132861,0.000000075132861,0.000000075132861,1.049985530115554,-0.000201121315983,1.04998553006725,-0.000201120667649,0.000017846285027,0.054319030959524,-0.089672712489204,0.000048709348459],[0.000000235996695,0.000000000077786,-0.000000235996695,-0.000000000077786,3.18653794757068e-17,2.43839559284513e-18,0.000000311938561,0.000000311938561,0.000000311938561,1.049984562708778,-0.000198819039997,1.049984562567001,-0.000198819629446,0.000074094669287,0.231680714501504,0.010573771190118,-0.000024497388643],[0.000020190700964,0.000004307685203,-0.000020190700033,-0.000004307685054,0.000000000000931,0.000000000000149,0.000027288546797,0.000027288546797,0.000027288546797,1.049984337086323,-0.00019807060465,1.0499842891973,-0.000197935573617,0.006481840035493,13.405668547090018,-0.070053524690326,0.009391143325539],[0.000023054678437,0.000000957232174,-0.000023054678368,-0.000000957232156,0.000000000000069,0.000000000000018,0.00003049971035,0.00003049971035,0.00003049971035,1.049985759172322,-0.000205218163761,1.049985756019636,-0.000205256431951,0.00724458671572,18.584035990010822,0.019031609819807,-0.003536841218391],[0.000000044999786,0.000000014790492,-0.000000044999786,-0.000000014790492,1.08270001249311e-18,8.28454470696359e-20,0.000000062610688,0.000000062610688,0.000000062610688,1.04998661536151,-0.000197475676816,1.049986615338137,-0.000197475363095,0.000014871897197,0.045169717534428,-0.088504679401504,0.00003997731369],[0.00000005399902,0.000000017748479,-0.00000005399902,-0.000000017748479,3.83201675804786e-18,2.93232218427598e-19,0.000000075131949,0.000000075131949,0.000000075131949,1.04998553006725,-0.000201120667649,1.049985529998312,-0.000201119742338,0.000017846068477,0.054315464435439,-0.083112207939809,0.000045142781745],[0.000000235997172,0.000000000077831,-0.000000235997172,-0.000000000077831,3.75990778445691e-17,2.87714644568413e-18,0.000000311939192,0.000000311939192,0.000000311939192,1.049984562567001,-0.000198819629446,1.049984562399713,-0.000198820324953,0.000074094819203,0.2316770612598,0.012150916189548,-0.000028150885544],[0.000020190700093,0.000004307684965,-0.000020190699165,-0.000004307684816,0.000000000000928,0.000000000000148,0.000027288546849,0.000027288546849,0.000027288546849,1.0499842891973,-0.000197935573617,1.049984241457561,-0.000197800963517,0.006481840047954,13.405664987336467,-0.069926768270932,0.009374148290872],[0.00002305467813,0.000000957232156,-0.000023054677756,-0.000000957232056,0.000000000000374,0.0000000000001,0.000030499710034,0.000030499710034,0.000030499710034,1.049985756019636,-0.000205256431951,1.049985738832309,-0.0002054650566,0.007244586640829,18.584032332892519,0.019053077459473,-0.00354083007548],[0.000000044999308,0.000000014790447,-0.000000044999308,-0.000000014790447,1.81492690816995e-18,1.38883624847653e-19,0.00000006261007,0.00000006261007,0.00000006261007,1.049986615338137,-0.000197475363095,1.049986615298956,-0.000197474837198,0.000014871750393,0.045166143377074,-0.080597698336682,0.000036402871989],[0.000000053999497,0.000000017748523,-0.000000053999497,-0.000000017748523,4.65858856567005e-18,3.56481756785853e-19,0.000000075132567,0.000000075132567,0.000000075132567,1.049985529998312,-0.000201119742338,1.049985529914504,-0.000201118617452,0.000017846215281,0.054311898000582,-0.076550940859705,0.000041576268918],[0.000000235996934,0.000000000077831,-0.000000235996934,-0.000000000077831,4.74284452112021e-17,3.62930645541893e-18,0.000000311938876,0.000000311938876,0.000000311938876,1.049984562399713,-0.000198820324953,1.049984562188692,-0.000198821202286,0.000074094744247,0.231673408270635,0.01372792460143,-0.000031803950809],[0.000020190699225,0.000004307684719,-0.000020190698183,-0.000004307684553,0.000000000001041,0.000000000000167,0.0000272885469,0.0000272885469,0.0000272885469,1.049984241457561,-0.000197800963517,1.049984187892087,-0.000197649926792,0.006481840059927,13.405661428180879,-0.069794068862761,0.009356356568693],[0.000022979679086,0.00000095720784,-0.000022979676286,-0.000000957207094,0.000000000002799,0.000000000000746,0.000030400661787,0.000030400661787,0.000030400661787,1.049985738832309,-0.0002054650566,1.049985609730754,-0.00020703113573,0.007221059741453,18.583915330485628,0.019695249357687,-0.00366014846476],[0.000000074998715,0.000000000024713,-0.000000074998715,-0.000000000024713,4.78556012795245e-17,3.66199440371679e-18,0.000000099132596,0.000000099132596,0.000000099132596,1.049985738832309,-0.0002054650566,1.049985738162311,-0.000205467842158,0.000023546934605,0.070040670397674,-0.131535398996202,0.000092128275267],[0.000000044999487,0.000000014790454,-0.000000044999487,-0.000000014790454,8.09542474915437e-18,6.19475560740962e-19,0.000000062610298,0.000000062610298,0.000000062610298,1.049986615298956,-0.000197474837198,1.049986615124192,-0.000197472491472,0.00001487180453,0.045162569296311,-0.072690029531667,0.000032828684959],[0.000000053999303,0.000000017748512,-0.000000053999303,-0.000000017748512,2.88752472927807e-17,2.20957808714145e-18,0.000000075132319,0.000000075132319,0.000000075132319,1.049985529914504,-0.000201118617452,1.049985529395039,-0.000201111645048,0.000017846156328,0.054308331517359,-0.069988062659079,0.000038009349091],[0.000000235997172,0.000000000077831,-0.000000235997172,-0.000000000077831,4.24768229504514e-17,3.25040043968753e-18,0.000000311939192,0.000000311939192,0.000000311939192,1.049984562188692,-0.000198821202286,1.049984561999701,-0.000198821988022,0.000074094819203,0.23166975529028,0.015304910458746,-0.000035456848607],[0.000020190698124,0.000004307684441,-0.00002019069737,-0.00000430768432,0.000000000000754,0.000000000000121,0.000027288546792,0.000027288546792,0.000027288546792,1.049984187892087,-0.000197649926792,1.049984149130225,-0.000197540631299,0.006481840034269,13.405657869644926,-0.069670782405311,0.009339826724361],[0.000022979676078,0.000000957208302,-0.000022979673396,-0.000000957207588,0.000000000002681,0.000000000000714,0.000030400661578,0.000030400661578,0.000030400661578,1.049985609730754,-0.00020703113573,1.049985486080832,-0.000208531083291,0.007221059691718,18.583911676287059,0.019737108843386,-0.003667926874908],[0.000000074998935,0.000000000024738,-0.000000074998935,-0.000000000024738,2.93841671868037e-16,2.24852766116753e-17,0.000000099132887,0.000000099132887,0.000000099132887,1.049985738162311,-0.000205467842158,1.049985734048422,-0.000205484945842,0.000023547003707,0.069967579862743,-0.027209161534473,0.000019037591827],[-0.000000000000254,-0.000000000000022,0.000000000000254,0.000000000000022,6.05845175209737e-28,4.41762106923767e-29,0.000000000000337,0.000000000000337,0.000000000000337,1.049985738162311,-0.000205467842158,1.049985738162313,-0.00020546784216,0.00000000007995,0.000069243669589,-99.999802835814094,0.000069243533065],[0.000000044999443,0.000000014790453,-0.000000044999443,-0.000000014790453,2.97585239857546e-17,2.27717197807683e-18,0.000000062610241,0.000000062610241,0.000000062610241,1.049986615124192,-0.000197472491472,1.049986614481764,-0.000197463868645,0.000014871791087,0.045158995318852,-0.064780373379872,0.000029254165782],[0.000000053999274,0.000000017748512,-0.000000053999273,-0.000000017748512,9.88032830981109e-17,7.56059623485718e-18,0.000000075132281,0.000000075132281,0.000000075132281,1.049985529395039,-0.000201111645048,1.049985527617566,-0.000201087787358,0.000017846147427,0.054304765084678,-0.063421848197636,0.000034441085676],[0.000000235996695,0.000000000077846,-0.000000235996695,-0.000000000077846,3.36107702728631e-17,2.57195253643946e-18,0.000000311938561,0.000000311938561,0.000000311938561,1.049984561999701,-0.000198821988022,1.049984561850159,-0.000198822609754,0.000074094669293,0.231666102067896,0.01688222982967,-0.000039110403789],[0.000020190697191,0.000004307684231,-0.000020190696293,-0.000004307684087,0.000000000000898,0.000000000000144,0.000027288546535,0.000027288546535,0.000027288546535,1.049984149130225,-0.000197540631299,1.049984102929643,-0.000197410361105,0.006481839973425,13.405654311635074,-0.069555222071478,0.009324332626592],[0.000022979672621,0.000000957208185,-0.000022979672501,-0.000000957208153,0.000000000000119,0.000000000000032,0.000030400660586,0.000030400660586,0.000030400660586,1.049985486080832,-0.000208531083291,1.049985480576288,-0.000208597856711,0.007221059456123,18.583908024179259,0.019768094225202,-0.003673684448945],[0.000000074998946,0.000000000024738,-0.000000074998946,-0.000000000024738,1.07391839841245e-16,8.21781171717542e-18,0.000000099132901,0.000000099132901,0.000000099132901,1.049985734048422,-0.000205484945842,1.049985732544897,-0.000205491196813,0.000023547007221,0.069963733047438,-0.021712344795451,0.000015190766951],[-0.000000000000257,-0.000000000000021,0.000000000000257,0.000000000000021,3.18068716985112e-27,2.42969158808072e-28,0.000000000000341,0.000000000000341,0.000000000000341,1.049985738162313,-0.00020546784216,1.049985738162326,-0.000205467842162,0.000000000081068,0.000065396813112,-99.999775642222517,0.00006539666639],[0.000000235996575,0.000000000077831,-0.000000235996575,-0.000000000077831,5.76840554387611e-17,4.41408338577884e-18,0.000000311938403,0.000000311938403,0.000000311938403,1.049984561850159,-0.000198822609754,1.049984561593507,-0.000198823676797,0.000074094631814,0.231662449067535,0.018459254680782,-0.000042763161473],[0.000020190696412,0.000004307683975,-0.000020190695109,-0.000004307683767,0.000000000001303,0.000000000000208,0.000027288546659,0.000027288546659,0.000027288546659,1.049984102929643,-0.000197410361105,1.049984035893311,-0.000197221341061,0.006481840002746,13.40565075421509,-0.069410035208795,0.009304866908469],[0.000000182998061,0.000000000060291,-0.000000182998061,-0.000000000060291,8.19547839846642e-16,6.27132256880681e-17,0.000000241885175,0.000000241885175,0.000000241885175,1.049985480576288,-0.000208597856711,1.049985475873861,-0.000208617407368,0.000057454910487,0.170658827271789,-0.013189679494039,0.000022509352345],[0.000022796675283,0.000000957147956,-0.00002279667313,-0.000000957147382,0.000000000002153,0.000000000000574,0.000030158984454,0.000030158984454,0.000030158984454,1.049985480576288,-0.000208597856711,1.049985380491034,-0.00020981005302,0.007163654199733,18.583820374532927,0.020248099213815,-0.003762870387153],[0.000000074998878,0.000000000024739,-0.000000074998878,-0.000000000024739,1.0931079298325e-17,8.36464797275443e-19,0.000000099132813,0.000000099132813,0.000000099132813,1.049985732544897,-0.000205491196813,1.049985732391858,-0.00020549183308,0.00002354698614,0.069959886240341,-0.016214923227225,0.000011343941844],[-0.000000000000239,-0.000000000000022,0.000000000000239,0.000000000000022,2.01948391736579e-28,1.26217744835362e-29,0.000000000000317,0.000000000000317,0.000000000000317,1.049985738162326,-0.000205467842162,1.049985738162327,-0.000205467842163,0.000000000075284,0.000061549928543,-99.999785631777911,0.0000615497966],[0.000000235996516,0.000000000077827,-0.000000235996516,-0.000000000077827,2.01368715971011e-16,1.54090819673396e-17,0.000000311938324,0.000000311938324,0.000000311938324,1.049984561593507,-0.000198823676797,1.049984560697564,-0.000198827401726,0.000074094613074,0.231658796026774,0.020036486660706,-0.000046416283764],[0.000020190695228,0.00000430768364,-0.000020190694262,-0.000004307683485,0.000000000000966,0.000000000000155,0.000027288546778,0.000027288546778,0.000027288546778,1.049984035893311,-0.000197221341061,1.049983986194057,-0.000197081205784,0.006481840031091,13.405647197588408,-0.069261187955986,0.009284910502238],[0.000000182997964,0.000000000060287,-0.000000182997964,-0.000000000060287,7.50916942355803e-17,5.74614670037356e-18,0.000000241885047,0.000000241885047,0.000000241885047,1.049985475873861,-0.000208617407368,1.049985475442998,-0.000208619198713,0.000057454880035,0.17065497948949,-0.010935246597269,0.000018661542838],[0.000022796673041,0.000000957148128,-0.000022796672002,-0.000000957147852,0.000000000001039,0.000000000000277,0.000030158984377,0.000030158984377,0.000030158984377,1.049985380491034,-0.00020981005302,1.049985332205538,-0.000210394869437,0.007163654181476,18.583816724096618,0.020280761562544,-0.003768939559034],[0.000000074998938,0.000000000024739,-0.000000074998938,-0.000000000024739,7.62845813231103e-18,5.83744053078011e-19,0.000000099132891,0.000000099132891,0.000000099132891,1.049985732391858,-0.00020549183308,1.049985732285057,-0.000205492277112,0.000023547004879,0.069956039367607,-0.010716778186086,0.000007497033567],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049985738162327,-0.000205467842163,1.049985738162327,-0.000205467842163,0.0,0.000057702980676,-99.99971584592663,0.000057702816711],[0.000000235996538,0.00000000007783,-0.000000235996537,-0.00000000007783,0.000000000000001,9.42054530163844e-17,0.000000311938353,0.000000311938353,0.000000311938353,1.049984560697564,-0.000198827401726,1.049984555220102,-0.000198850174568,0.000074094620102,0.231655142977693,0.021613765724781,-0.000050069399893],[0.000020190694023,0.000004307683381,-0.000020190693091,-0.000004307683232,0.000000000000932,0.000000000000149,0.000027288546441,0.000027288546441,0.000027288546441,1.049983986194057,-0.000197081205784,1.049983938251146,-0.000196946022803,0.006481839950942,13.405643641574688,-0.069132356241192,0.009267637318718],[0.000000182998023,0.000000000060264,-0.000000182998023,-0.000000000060264,4.2688051791673e-17,3.26656161015226e-18,0.000000241885126,0.000000241885126,0.000000241885126,1.049985475442998,-0.000208619198713,1.049985475198061,-0.000208620217056,0.000057454898772,0.170651131775199,-0.008680803835552,0.000014813889993],[0.000022796669943,0.000000957150672,-0.00002279666681,-0.000000957149837,0.000000000003133,0.000000000000835,0.000030158981814,0.000030158981814,0.000030158981814,1.049985332205538,-0.000210394869437,1.049985186535663,-0.000212159169416,0.007163653572699,18.583736432604528,0.020729884834819,-0.003852387160485],[0.000000000002149,-0.000000000002029,-0.000000000002149,0.000000000002029,4.44286461820474e-27,1.21169035041947e-27,0.000000000003906,0.000000000003906,0.000000000003906,1.049985332205538,-0.000210394869437,1.049985332205537,-0.00021039486952,0.000000000927907,0.000080815635366,-99.997198182325931,0.000080813371059],[0.000000074998819,0.000000000024724,-0.000000074998819,-0.000000000024724,7.90238064651919e-18,6.04703685351459e-19,0.000000099132734,0.000000099132734,0.000000099132734,1.049985732285057,-0.000205492277112,1.049985732174421,-0.000205492737088,0.000023546967399,0.069952192607379,-0.005218240207719,0.000003650273441],[-0.000000000000239,8.56140042310595e-19,0.000000000000239,-8.56140042307271e-19,5.04870979341448e-29,3.32405878751515e-30,0.000000000000316,0.000000000000316,0.000000000000316,1.049985738162327,-0.000205467842163,1.049985738162328,-0.000205467842162,0.000000000074956,0.000053856220263,-99.999991884533273,0.000053856215893],[0.000020190693091,0.000004307683112,-0.000020190692179,-0.000004307682967,0.000000000000912,0.000000000000146,0.000027288546408,0.000027288546408,0.000027288546408,1.049983938251146,-0.000196946022803,1.049983891329487,-0.000196813719416,0.006481839943122,13.40564008620666,-0.069006441069536,0.009250755126082],[0.000000182997784,0.000000000060317,-0.000000182997784,-0.000000000060317,2.89861821390914e-17,2.21807325788176e-18,0.00000024188481,0.00000024188481,0.00000024188481,1.049985475198061,-0.000208620217056,1.049985475031743,-0.000208620908533,0.000057454823822,0.170647284023298,-0.006426122235769,0.000010966003063],[0.000022796666586,0.000000957151486,-0.000022796662123,-0.000000957150297,0.000000000004462,0.000000000001189,0.00003015898161,0.00003015898161,0.00003015898161,1.049985186535663,-0.000212159169416,1.049984979065503,-0.000214671971723,0.007163653524208,18.583732785417638,0.020780382593695,-0.003861770773],[0.00000000000191,-0.000000000001671,-0.00000000000191,0.000000000001671,1.21169035041947e-27,2.01948391736579e-28,0.000000000003354,0.000000000003354,0.000000000003354,1.049985332205537,-0.00021039486952,1.049985332205537,-0.000210394869538,0.000000000796789,0.000076967385987,-99.997699610615797,0.000076965615438],[0.000000074998968,0.000000000024733,-0.000000074998968,-0.000000000024733,3.31855332635618e-17,2.53941493144912e-18,0.000000099132931,0.000000099132931,0.000000099132931,1.049985732174421,-0.000205492737088,1.049985731709811,-0.000205494668724,0.000023547014247,0.069948345772089,0.000281037850112,-0.000000196581327],[-0.000000000000239,8.56140042307271e-19,0.000000000000239,-8.56140042301709e-19,1.0097419586829e-28,5.56170049340146e-30,0.000000000000316,0.000000000000316,0.000000000000316,1.049985738162328,-0.000205467842162,1.049985738162328,-0.000205467842161,0.000000000074956,0.000050009197445,-99.99985402818443,0.000050009124446],[0.000020190692239,0.000004307682855,-0.000020190691142,-0.000004307682679,0.000000000001097,0.000000000000175,0.000027288546454,0.000027288546454,0.000027288546454,1.049983891329487,-0.000196813719416,1.049983834899111,-0.000196654604628,0.006481839954117,13.40563653136787,-0.068871637949056,0.00923268145665],[0.000000182997784,0.000000000060324,-0.000000182997784,-0.000000000060324,4.72397421524216e-17,3.61487126192579e-18,0.00000024188481,0.00000024188481,0.00000024188481,1.049985475031743,-0.000208620908533,1.049985474760688,-0.000208622035457,0.000057454823823,0.170643436196581,-0.004171414005808,0.000007118244197],[0.00002279666178,0.000000957151483,-0.000022796660846,-0.000000957151234,0.000000000000934,0.000000000000249,0.000030158981223,0.000030158981223,0.000030158981223,1.049984979065503,-0.000214671971723,1.049984935649925,-0.000215197805245,0.007163653432179,18.583729141687364,0.020821897073082,-0.003869484954222],[0.00000000000191,-0.00000000000191,-0.00000000000191,0.00000000000191,4.03896783473158e-28,4.03896783473158e-28,0.00000000000357,0.00000000000357,0.00000000000357,1.049985332205537,-0.000210394869538,1.049985332205537,-0.000210394869552,0.000000000848026,0.000073119210054,-99.996283340550207,0.000073116492462],[0.000000074998938,0.000000000024724,-0.000000074998938,-0.000000000024724,8.10314068990826e-18,6.20065356673584e-19,0.000000099132891,0.000000099132891,0.000000099132891,1.049985731709811,-0.000205494668724,1.049985731596365,-0.000205495140385,0.000023547004877,0.069944498936838,0.005780812848687,-0.000004043360581],[-0.00000000000009,3.21052515863141e-19,0.00000000000009,-3.21052515851608e-19,1.51461293802434e-28,1.15329499894769e-29,0.000000000000118,0.000000000000118,0.000000000000118,1.049985738162328,-0.000205467842161,1.04998573816233,-0.000205467842153,0.000000000028108,0.000046162401901,-99.999938705055968,0.000046162373605],[0.000020190691231,0.000004307682523,-0.000020190689394,-0.000004307682229,0.000000000001837,0.000000000000294,0.000027288546527,0.000027288546527,0.000027288546527,1.049983834899111,-0.000196654604628,1.049983740388613,-0.00019638811663,0.006481839971343,13.405629423152929,-0.068660481058284,0.009204369650828],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049983834899111,-0.000196654604628,1.049983834899111,-0.000196654604628,0.0,0.000003857047813,-99.999997513517357,0.000003857047717],[0.000000182997814,0.00000000006032,-0.000000182997814,-0.00000000006032,1.57027944080567e-16,1.20160518473794e-17,0.00000024188485,0.00000024188485,0.00000024188485,1.049985474760688,-0.000208622035457,1.049985473859687,-0.000208625781422,0.000057454833192,0.170639588472834,-0.001916619127267,0.000003270510991],[0.000022796660608,0.000000957151503,-0.000022796660369,-0.000000957151439,0.000000000000239,0.000000000000064,0.000030158980922,0.000030158980922,0.000030158980922,1.049984935649925,-0.000215197805245,1.049984924553404,-0.000215332202228,0.007163653360827,18.583725498595364,0.020846256405564,-0.003874011067143],[0.000000000002865,-0.00000000000191,-0.000000000002865,0.00000000000191,2.01948391736579e-27,0.0,0.000000000004551,0.000000000004551,0.000000000004551,1.049985332205537,-0.000210394869552,1.049985332205537,-0.000210394869573,0.000000001081025,0.000069270733459,-99.995855371421143,0.000069267862444],[0.000000074999057,0.000000000024709,-0.000000074999057,-0.000000000024709,7.72951975083031e-18,5.91475758731158e-19,0.000000099133049,0.000000099133049,0.000000099133049,1.049985731596365,-0.000205495140385,1.049985731488148,-0.000205495590299,0.000023547042353,0.069940652101712,0.011281503955659,-0.000007890357433],[-0.00000000000009,0.000000000000004,0.00000000000009,-0.000000000000004,3.78653234506086e-29,3.15544362088405e-30,0.000000000000118,0.000000000000118,0.000000000000118,1.04998573816233,-0.000205467842153,1.04998573816233,-0.00020546784215,0.000000000028133,0.000042315564186,-99.999886968312524,0.000042315516356],[0.000020190689461,0.00000430768182,-0.000020190683263,-0.000004307680829,0.000000000006198,0.000000000000991,0.000027288546501,0.000027288546501,0.000027288546501,1.049983740388613,-0.00019638811663,1.049983421611696,-0.000195489272336,0.006481839965201,13.405622317313922,-0.068174491136653,0.00913921479853],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049983740388613,-0.00019638811663,1.049983740388613,-0.00019638811663,0.0,0.000003857547682,-99.999999583058212,0.000003857547666],[0.000000182997874,0.000000000060328,-0.000000182997874,-0.000000000060328,1.7482145932442e-16,1.33776441915231e-17,0.000000241884929,0.000000241884929,0.000000241884929,1.049985473859687,-0.000208625781422,1.04998547285659,-0.000208629951855,0.000057454851931,0.170635740730335,0.000338276330173,-0.000000577220322],[0.000022796660369,0.000000957151439,-0.000022796660244,-0.000000957151406,0.000000000000125,0.000000000000033,0.000030158980922,0.000030158980922,0.000030158980922,1.049984924553404,-0.000215332202228,1.049984918740096,-0.000215402610874,0.007163653360827,18.583721855575249,0.020867338001848,-0.003877928052926],[-7.01335648436344e-18,-0.00000000000191,7.013356484884e-18,0.00000000000191,5.20554212064582e-28,-4.03896783473158e-28,0.000000000002525,0.000000000002525,0.000000000002525,1.049985332205537,-0.000210394869573,1.049985332205536,-0.000210394869588,0.000000000599645,0.000065422554948,-99.997555006556098,0.000065420955371],[0.000000074999177,0.000000000024709,-0.000000074999177,-0.000000000024709,7.68751221060242e-18,5.88259612654892e-19,0.000000099133207,0.000000099133207,0.000000099133207,1.049985731488148,-0.000205495590299,1.049985731380521,-0.000205496037767,0.000023547079831,0.069936805303956,0.016782356420828,-0.000011737043935],[-0.000000000000239,8.56140042257209e-19,0.000000000000239,-8.56140042250398e-19,1.0097419586829e-28,6.81056976583936e-30,0.000000000000316,0.000000000000316,0.000000000000316,1.04998573816233,-0.00020546784215,1.049985738162331,-0.000205467842149,0.000000000074956,0.000038468672577,-99.999864694154255,0.000038468620527],[0.000020190683435,0.000004307680061,-0.000020190674669,-0.000004307678659,0.000000000008766,0.000000000001402,0.000027288546511,0.000027288546511,0.000027288546511,1.049983421611696,-0.000195489272336,1.049982970734591,-0.000194217949699,0.006481839967549,13.405615219459815,-0.067315193382616,0.009024015809109],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049983421611696,-0.000195489272336,1.049983421611696,-0.000195489272336,0.0,0.000003859260059,-99.999999722162158,0.000003859260048],[0.000000182997784,0.000000000060313,-0.000000182997784,-0.000000000060313,9.83187934871713e-17,7.52352539899789e-18,0.00000024188481,0.00000024188481,0.00000024188481,1.04998547285659,-0.000208629951855,1.049985472292453,-0.000208632297291,0.000057454823821,0.170631893072162,0.002593225065891,-0.000004424869022],[0.000022796659766,0.000000957151406,-0.000022796659663,-0.000000957151378,0.000000000000104,0.000000000000028,0.000030158980292,0.000030158980292,0.000030158980292,1.049984918740096,-0.000215402610874,1.049984913920933,-0.000215460978818,0.007163653211048,18.583718212732393,0.020887868597358,-0.003881742640779],[0.000000000000955,-0.000000000002865,-0.000000000000955,0.000000000002865,8.07793566946316e-28,4.03896783473158e-28,0.000000000003992,0.000000000003992,0.000000000003992,1.049985332205536,-0.000210394869588,1.049985332205536,-0.000210394869605,0.000000000948122,0.000061574382455,-99.997388233733446,0.000061572774276],[0.000000074998938,0.000000000024724,-0.000000074998938,-0.000000000024724,8.81851295342372e-18,6.74807533071013e-19,0.000000099132891,0.000000099132891,0.000000099132891,1.049985731380521,-0.000205496037767,1.049985731257059,-0.000205496551068,0.000023547004877,0.069932958431275,0.022284146582241,-0.000015583962966],[-0.000000000000298,-0.000000000000007,0.000000000000298,0.000000000000007,3.53409685539013e-28,2.52435489670724e-29,0.000000000000395,0.000000000000395,0.000000000000395,1.049985738162331,-0.000205467842149,1.049985738162332,-0.000205467842145,0.000000000093724,0.000034621818412,-99.999864379779226,0.000034621771457],[0.000020190674863,0.000004307677891,-0.000020190668573,-0.000004307676885,0.00000000000629,0.000000000001006,0.000027288546549,0.000027288546549,0.000027288546549,1.049982970734591,-0.000194217949699,1.049982647204395,-0.000193305702754,0.006481839976768,13.405608132867849,-0.066450956185102,0.008908154786718],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049982970734591,-0.000194217949699,1.049982970734591,-0.000194217949699,0.0,0.000003861675687,-99.999998311035483,0.000003861675622],[0.000000182997963,0.00000000006032,-0.000000182997963,-0.00000000006032,9.23602608103721e-17,7.06756829761369e-18,0.000000241885047,0.000000241885047,0.000000241885047,1.049985472292453,-0.000208632297291,1.049985471762505,-0.00020863450058,0.000057454880039,0.170628045320234,0.0048483222719,-0.000008272597523],[0.000022796660618,0.000000957151856,-0.000022796660534,-0.000000957151834,0.000000000000084,0.000000000000022,0.000030158981579,0.000030158981579,0.000030158981579,1.049984913920933,-0.000215460978818,1.049984910015268,-0.000215508282783,0.007163653516895,18.58371457030993,0.020908233639456,-0.00388552646125],[-7.01335648544788e-18,-0.00000000000191,7.01335648593436e-18,0.00000000000191,4.86483740976394e-28,0.0,0.000000000002525,0.000000000002525,0.000000000002525,1.049985332205536,-0.000210394869605,1.049985332205536,-0.00021039486962,0.000000000599645,0.000057725905002,-99.996676680517822,0.000057723986586],[0.000000074999028,0.00000000002473,-0.000000074999028,-0.00000000002473,3.04542490553607e-17,2.33041306400055e-18,0.00000009913301,0.00000009913301,0.00000009913301,1.049985731257059,-0.000205496551068,1.049985730830689,-0.000205498323724,0.000023547032986,0.069929111614775,0.027786438347586,-0.000019430809486],[-0.000000000000179,6.42105031677815e-19,0.000000000000179,-6.421050316695e-19,1.26217744835362e-28,8.31529883138911e-30,0.000000000000237,0.000000000000237,0.000000000000237,1.049985738162332,-0.000205467842145,1.049985738162333,-0.000205467842143,0.000000000056217,0.000030774926809,-99.99991504150303,0.000030774900663],[0.000020190668648,0.000004307676443,-0.000020190666739,-0.000004307676137,0.000000000001908,0.000000000000305,0.000027288546524,0.000027288546524,0.000027288546524,1.049982647204395,-0.000193305702754,1.049982549045402,-0.000193028927226,0.006481839970718,13.405601054386423,-0.065956357496678,0.00884184615601],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049982647204395,-0.000193305702754,1.049982647204395,-0.000193305702754,0.0,0.000003863411614,-99.999996672851182,0.000003863411486],[0.000000182997903,0.000000000060309,-0.000000182997903,-0.000000000060309,8.81192462528086e-17,6.74303977825833e-18,0.000000241884968,0.000000241884968,0.000000241884968,1.049985471762505,-0.00020863450058,1.049985471256891,-0.000208636602701,0.000057454861299,0.170624197605862,0.007103536090779,-0.000012120351457],[0.000022796658624,0.000000957151595,-0.000022796658495,-0.000000957151561,0.000000000000128,0.000000000000034,0.000030158979044,0.000030158979044,0.000030158979044,1.049984910015268,-0.000215508282783,1.049984904045192,-0.000215580590148,0.007163652914634,18.583710927505823,0.020928700778756,-0.003889329253607],[-5.26001736445077e-18,-0.000000000001432,5.26001736465885e-18,0.000000000001432,2.0807284895973e-28,0.0,0.000000000001893,0.000000000001893,0.000000000001893,1.049985332205536,-0.00021039486962,1.049985332205536,-0.000210394869628,0.000000000449734,0.000053876237793,-99.997335347083649,0.000053874802178],[0.00000007499899,0.000000000024728,-0.00000007499899,-0.000000000024728,1.48409423546924e-16,1.13565473785916e-17,0.00000009913296,0.00000009913296,0.00000009913296,1.049985730830689,-0.000205498323724,1.049985728752905,-0.000205506962221,0.000023547021274,0.069925264831055,0.033289250686726,-0.000023277596703],[-0.000000000000149,-0.000000000000004,0.000000000000149,0.000000000000004,1.0097419586829e-28,8.67746995743113e-30,0.000000000000197,0.000000000000197,0.000000000000197,1.049985738162333,-0.000205467842143,1.049985738162333,-0.00020546784214,0.000000000046862,0.000026928035219,-99.9998875971377,0.000026928004951],[0.000020132666884,0.000004288612546,-0.000020132661269,-0.000004288611648,0.000000000005615,0.000000000000898,0.000027208313721,0.000027208313721,0.000027208313721,1.049982549045402,-0.000193028927226,1.049982259389649,-0.000192217231378,0.006462782297883,13.34666800753668,-0.064982259802301,0.008672966479608],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049982549045402,-0.000193028927226,1.049982549045402,-0.000193028927226,0.0,0.000003863934905,-99.99999919266071,0.000003863934874],[0.000000057999952,0.000000019063145,-0.000000057999952,-0.000000019063145,8.28125848382604e-17,6.33696449831974e-18,0.000000080698755,0.000000080698755,0.000000080698755,1.049982549045402,-0.000193028927226,1.049982547658364,-0.000193010310398,0.000019168350159,0.058926195196476,-0.182437308376845,0.000107503364445],[0.000000182997814,0.000000000060309,-0.000000182997813,-0.000000000060309,1.44678600756294e-16,1.10710553573432e-17,0.00000024188485,0.00000024188485,0.00000024188485,1.049985471256891,-0.000208636602701,1.049985470426749,-0.000208640054069,0.000057454833191,0.170620349919583,0.00935882481337,-0.000015968059645],[0.000022796658018,0.000000957151561,-0.000022796657902,-0.00000095715153,0.000000000000116,0.000000000000031,0.000030158978413,0.000030158978413,0.000030158978413,1.049984904045192,-0.000215580590148,1.04998489866326,-0.000215645774138,0.007163652764855,18.583707285092796,0.020949292005755,-0.003893155104649],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049985332205536,-0.000210394869628,1.049985332205536,-0.000210394869629,0.0,0.000050026854917,-99.996827284741798,0.000050025267707],[-0.000000000000149,5.35087526385574e-19,0.000000000000149,-5.35087526378544e-19,1.0097419586829e-28,7.03002948300229e-30,0.000000000000197,0.000000000000197,0.000000000000197,1.049985738162333,-0.00020546784214,1.049985738162334,-0.000205467842138,0.000000000046847,0.000023081171684,-99.999701827178399,0.000023081102863],[0.000020132661292,0.000004288611039,-0.000020132655053,-0.000004288610041,0.000000000006238,0.000000000000998,0.000027208313582,0.000027208313582,0.000027208313582,1.049982259389649,-0.000192217231378,1.049981937568453,-0.000191315399012,0.00646278226486,13.346657404264867,-0.06426304891336,0.008576968976001],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049982259389649,-0.000192217231378,1.049982259389649,-0.000192217231378,0.0,0.000003865493331,-100.0,0.000003865493331],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049982259389649,-0.000192217231378,1.049982259389649,-0.000192217231378,0.0,0.000003865504974,-99.999997780888052,0.000003865504888],[0.000000058000064,0.000000019063155,-0.000000058000064,-0.000000019063155,1.20937908371091e-17,9.25439743156977e-19,0.000000080698899,0.000000080698899,0.000000080698899,1.049982547658364,-0.000193010310398,1.049982547455805,-0.000193007591642,0.000019168384498,0.058922660371799,-0.17644678507784,0.000103967139908],[0.000000182997784,0.000000000060317,-0.000000182997784,-0.000000000060317,1.00771350916167e-16,7.71119984576198e-18,0.00000024188481,0.00000024188481,0.00000024188481,1.049985470426749,-0.000208640054069,1.049985469848539,-0.000208642458012,0.000057454823822,0.170616502195774,0.011614225759399,-0.000019815785748],[0.000022796659335,0.000000957152007,-0.000022796659224,-0.000000957151978,0.00000000000011,0.000000000000029,0.000030158980331,0.000030158980331,0.000030158980331,1.04998489866326,-0.000215645774138,1.049984893540986,-0.000215707813226,0.007163653220482,18.583703642505622,0.020969813304746,-0.003896967958941],[-0.00000000000382,-0.000000000000477,0.00000000000382,0.000000000000477,8.07793566946316e-28,0.0,0.000000000005088,0.000000000005088,0.000000000005088,1.049985332205536,-0.000210394869629,1.049985332205537,-0.000210394869631,0.000000001208623,0.000046179284605,-99.999940558710023,0.000046179257155],[-0.000000000000209,4.67036459348277e-16,0.000000000000209,-4.67036459348215e-16,8.07793566946316e-28,6.23200115124599e-29,0.000000000000276,0.000000000000276,0.000000000000276,1.049985738162334,-0.000205467842138,1.049985738162338,-0.00020546784212,0.000000000065586,0.00001923430587,-99.999668848397562,0.000019234242175],[0.000020132655061,0.00000428860961,-0.000020132652775,-0.000004288609245,0.000000000002286,0.000000000000366,0.000027208313473,0.000027208313473,0.000027208313473,1.049981937568453,-0.000191315399012,1.049981819637375,-0.000190984923377,0.006462782238968,13.346650343448113,-0.06375001464984,0.008508491549211],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049981937568453,-0.000191315399012,1.049981937568453,-0.000191315399012,0.0,0.000003867215345,-99.999999039521327,0.000003867215308],[0.000000057999885,0.00000001906314,-0.000000057999885,-0.00000001906314,6.59439633983604e-18,5.04616569604299e-19,0.000000080698668,0.000000080698668,0.000000080698668,1.049982547455805,-0.000193007591642,1.049982547345354,-0.000193006109175,0.000019168329629,0.05891912558994,-0.170457741951115,0.000100432211058],[0.000000182997724,0.000000000060302,-0.000000182997724,-0.000000000060302,7.08041193356974e-17,5.41805351079189e-18,0.000000241884732,0.000000241884732,0.000000241884732,1.049985469848539,-0.000208642458012,1.049985469442277,-0.000208644147075,0.000057454805081,0.170612654537629,0.013869689796331,-0.000023663445938],[0.000022796658269,0.000000957151859,-0.000022796658145,-0.000000957151825,0.000000000000124,0.000000000000033,0.000030158979064,0.000030158979064,0.000030158979064,1.049984893540986,-0.000215707813226,1.049984887770434,-0.000215777704029,0.007163652919351,18.58370000009187,0.020990363514307,-0.003900786184428],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049985332205537,-0.000210394869631,1.049985332205537,-0.000210394869631,0.0,0.000042331109533,-99.996962425121907,0.000042329823694],[-0.000000000000239,0.000000000000015,0.000000000000239,-0.000000000000015,5.04870979341448e-29,3.15544362088405e-30,0.000000000000316,0.000000000000316,0.000000000000316,1.049985738162338,-0.00020546784212,1.049985738162338,-0.000205467842119,0.000000000075102,0.000015387341583,-99.999700717145018,0.000015387295532],[0.000019845658421,0.000004194279015,-0.000019845653725,-0.000004194278264,0.000000000004696,0.000000000000751,0.000026811347154,0.000026811347154,0.000026811347154,1.049981819637375,-0.000190984923377,1.049981573757701,-0.000190317430744,0.006368490952682,13.054716220647498,-0.06315373570019,0.008244540978398],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049981819637375,-0.000190984923377,1.049981819637375,-0.000190984923377,0.0,0.000003867848559,-99.999998643933324,0.000003867848507],[0.000000286994425,0.000000094329457,-0.000000286994419,-0.000000094329457,0.000000000000006,4.32606778277524e-16,0.000000399313174,0.000000399313174,0.000000399313174,1.049981819637375,-0.000190984923377,1.0499818005013,-0.000190728073248,0.000094848734018,0.291927708478889,-0.070888940805114,0.000206944460457],[0.000000058000243,0.000000019063177,-0.000000058000243,-0.000000019063177,4.46722529403958e-18,3.41837351221214e-19,0.000000080699134,0.000000080699134,0.000000080699134,1.049982547345354,-0.000193006109175,1.049982547270532,-0.000193005104919,0.000019168440098,0.058915590849398,-0.164468064635502,0.000096897332039],[0.000000182997664,0.000000000060302,-0.000000182997664,-0.000000000060302,3.38306017924552e-17,2.58877807510773e-18,0.000000241884653,0.000000241884653,0.000000241884653,1.049985469442277,-0.000208644147075,1.049985469248162,-0.00020864495412,0.000057454786343,0.170608806841886,0.016125309821794,-0.000027511198687],[0.000022796658145,0.000000957151706,-0.000022796658014,-0.000000957151671,0.000000000000131,0.000000000000035,0.000030158979057,0.000030158979057,0.000030158979057,1.049984887770434,-0.000215777704029,1.049984881674874,-0.000215851531217,0.007163652917778,18.583696357834398,0.021011003250182,-0.003904621045749],[1.75333912157441e-18,0.000000000000477,-1.75333912154586e-18,-0.000000000000477,2.85549929134518e-29,0.0,0.000000000000631,0.000000000000631,0.000000000000631,1.049985332205537,-0.000210394869631,1.049985332205537,-0.000210394869627,0.000000000149911,0.000038482638096,-99.997360062035682,0.000038481622178],[-0.000000000000119,-0.000000000000015,0.000000000000119,0.000000000000015,2.52435489670724e-29,3.15544362088405e-30,0.000000000000159,0.000000000000159,0.000000000000159,1.049985738162338,-0.000205467842119,1.049985738162338,-0.000205467842119,0.000000000037769,0.00001154058117,-99.999192698363089,0.000011540488003],[0.000019845653814,0.000004194277696,-0.000019845647083,-0.000004194276619,0.000000000006731,0.000000000001076,0.000026811347114,0.000026811347114,0.000026811347114,1.049981573757701,-0.000190317430744,1.049981221354175,-0.000189360756483,0.00636849094325,13.054709168734405,-0.062477319733228,0.008156232387593],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049981573757701,-0.000190317430744,1.049981573757701,-0.000190317430744,0.0,0.000003869166574,-99.999999135469707,0.00000386916654],[0.000000052998451,0.000000017419716,-0.000000052998451,-0.000000017419716,1.0842359214545e-17,8.29668771835587e-19,0.000000073740105,0.000000073740105,0.000000073740105,1.0499818005013,-0.000190728073248,1.049981800302563,-0.000190725405709,0.000017515464294,0.053932815427652,-0.115169370806306,0.000062114084186],[0.000000233996032,0.000000076909736,-0.00000023399603,-0.000000076909736,0.000000000000001,1.1396535814242e-16,0.000000325573146,0.000000325573146,0.000000325573146,1.0499818005013,-0.000190728073248,1.049981794318324,-0.000190645083755,0.000077333288204,0.237991367428694,-0.059331645366379,0.000141204194125],[0.000000058000004,0.000000019063177,-0.000000058000004,-0.000000019063177,6.78539565199699e-18,5.19231196666886e-19,0.000000080698834,0.000000080698834,0.000000080698834,1.049982547270532,-0.000193005104919,1.049982547156883,-0.000193003579518,0.00001916836889,0.058912056081227,-0.158477358045944,0.000093362270048],[0.000000182997545,0.000000000060302,-0.000000182997545,-0.000000000060302,2.14307276589218e-17,1.63991720404481e-18,0.000000241884495,0.000000241884495,0.000000241884495,1.049985469248162,-0.00020864495412,1.049985469125196,-0.00020864546536,0.000057454748865,0.170604959164909,0.018380958999619,-0.000031358827595],[0.00002279665873,0.000000957151731,-0.000022796658444,-0.000000957151654,0.000000000000287,0.000000000000076,0.000030158980006,0.000030158980006,0.000030158980006,1.049984881674874,-0.000215851531217,1.049984868347091,-0.000216012952419,0.007163653143233,18.583692715851331,0.021032294795227,-0.003908577035837],[8.76669560772928e-19,0.000000000000239,-8.76669560763992e-19,-0.000000000000239,8.93573716297346e-30,0.0,0.000000000000316,0.000000000000316,0.000000000000316,1.049985332205537,-0.000210394869627,1.049985332205537,-0.000210394869625,0.000000000074956,0.000034634764115,-99.996726008190578,0.000034633630176],[5.35087526329831e-20,0.000000000000015,-5.35087526328337e-20,-0.000000000000015,1.49428089560145e-31,0.0,0.00000000000002,0.00000000000002,0.00000000000002,1.049985738162338,-0.000205467842119,1.049985738162338,-0.000205467842118,0.000000000004685,0.000007693708178,-99.999360026787812,0.000007693658941],[0.000019845647188,0.000004194276084,-0.00001984564308,-0.000004194275427,0.000000000004108,0.000000000000657,0.000026811347103,0.000026811347103,0.000026811347103,1.049981221354175,-0.000189360756483,1.049981006294175,-0.000188776930411,0.006368490940582,13.054702125558126,-0.061832997874282,0.00807211368779],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049981221354175,-0.000189360756483,1.049981221354175,-0.000189360756483,0.0,0.00000387104781,-99.99999885793352,0.000003871047766],[0.000000052998511,0.000000017419731,-0.000000052998511,-0.000000017419731,4.58283867389489e-18,3.50688183775531e-19,0.000000073740186,0.000000073740186,0.000000073740186,1.049981800302563,-0.000190725405709,1.049981800218562,-0.000190724278205,0.000017515483559,0.053929289019636,-0.108637508679003,0.000058587436039],[0.000000233996038,0.000000076909736,-0.000000233996037,-0.000000076909736,9.52995127829478e-16,7.29248251378262e-17,0.000000325573155,0.000000325573155,0.000000325573155,1.049981794318324,-0.000190645083755,1.049981790361924,-0.000190591979933,0.000077333290384,0.237987841229454,-0.057836417652937,0.000137643641817],[0.000000057999706,0.000000019063158,-0.000000057999706,-0.000000019063158,1.02973993921052e-17,7.87972251518014e-19,0.000000080698451,0.000000080698451,0.000000080698451,1.049982547156883,-0.000193003579518,1.04998254698441,-0.000193001264569,0.000019168278052,0.058908521398048,-0.152486219577116,0.000089827377289],[0.000000182997783,0.000000000060302,-0.000000182997783,-0.000000000060302,1.44898485215445e-17,1.10878750540483e-18,0.00000024188481,0.00000024188481,0.00000024188481,1.049985469125196,-0.00020864546536,1.049985469042056,-0.000208645811022,0.00005745482382,0.170601111225332,0.020636745402976,-0.000035206516978],[0.000022796657847,0.000000957153139,-0.000022796651345,-0.000000957151407,0.000000000006502,0.000000000001732,0.0000301589793,0.0000301589793,0.0000301589793,1.049984868347091,-0.000216012952419,1.049984566068318,-0.000219674041714,0.007163652975565,18.583689073896039,0.021079314686664,-0.003917314300278],[8.76669560763992e-19,0.000000000000239,-8.76669560751693e-19,-0.000000000000239,1.22997589968346e-29,0.0,0.000000000000316,0.000000000000316,0.000000000000316,1.049985332205537,-0.000210394869625,1.049985332205537,-0.000210394869622,0.000000000074956,0.00003078658518,-99.997086193868256,0.000030785688118],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049985738162338,-0.000205467842118,1.049985738162338,-0.000205467842118,0.0,0.000003846872865,-100.0,0.000003846872865],[0.000019845643319,0.000004194275201,-0.000019845642611,-0.000004194275088,0.000000000000707,0.000000000000113,0.00002681134735,0.00002681134735,0.00002681134735,1.049981006294175,-0.000188776930411,1.049980969258655,-0.000188676389619,0.006368490999266,13.054695087729554,-0.061516841945464,0.008030836143581],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049981006294175,-0.000188776930411,1.049981006294175,-0.000188776930411,0.0,0.000003872160153,-99.999989163546274,0.000003872159734],[0.000000052998511,0.000000017419716,-0.000000052998511,-0.000000017419716,2.69277729632552e-18,2.0605730803186e-19,0.00000007374018,0.00000007374018,0.00000007374018,1.049981800218562,-0.000190724278205,1.049981800169204,-0.000190723615706,0.000017515482096,0.05392576258246,-0.102105103379322,0.000055060955633],[0.000000057999945,0.000000019063177,-0.000000057999945,-0.000000019063177,7.30571210962754e-18,5.59041745187838e-19,0.000000080698759,0.000000080698759,0.000000080698759,1.04998254698441,-0.000193001264569,1.049982546862046,-0.000192999622188,0.000019168351088,0.058904986729141,-0.146494490522614,0.000086292560201],[0.000000182997545,0.000000000060242,-0.000000182997545,-0.000000000060242,2.02115296104677e-17,1.54661898576707e-18,0.000000241884495,0.000000241884495,0.000000241884495,1.049985469042056,-0.000208645811022,1.049985468926085,-0.000208646293178,0.000057454748858,0.170597263885686,0.022892672631931,-0.00003905427314],[0.000012658813649,0.000000004175211,-0.000012658808274,-0.000000004174799,0.000000000005375,0.000000000000411,0.00001673231947,0.00001673231947,0.00001673231947,1.049984566068318,-0.000219674041714,1.049984120225512,-0.00022152765694,0.003974422641022,12.513609284273247,0.02637473856566,-0.003300431733855],[0.000010137848436,0.00000095294601,-0.000010137848237,-0.000000952945957,0.000000000000199,0.000000000000053,0.000013459197025,0.000013459197025,0.000013459197025,1.049984566068318,-0.000219674041714,1.049984545119093,-0.000219866335146,0.003196958884395,6.070076591009312,0.010312155332929,-0.000625955726893],[-0.000000000000955,0.000000000000477,0.000000000000955,-0.000000000000477,2.01948391736579e-28,0.0,0.000000000001411,0.000000000001411,0.000000000001411,1.049985332205537,-0.000210394869622,1.049985332205537,-0.000210394869617,0.000000000335212,0.000026938712488,-99.998614765990496,0.000026938339323],[0.000007091865985,0.000000002351582,-0.000007091865752,-0.000000002351545,0.000000000000233,0.000000000000037,0.000009374004322,0.000009374004322,0.000009374004322,1.049980969258655,-0.000188676389619,1.04998093473944,-0.000188976973762,0.002226604331909,6.724771736271594,0.023437774974094,-0.001576136867069],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049980969258655,-0.000188676389619,1.049980969258655,-0.000188676389619,0.0,0.000003872384533,-99.999994035473463,0.000003872384302],[0.00001275377512,0.000004191902477,-0.000012753769979,-0.000004191902083,0.00000000000514,0.000000000000393,0.000017745128238,0.000017745128238,0.000017745128238,1.049980969258655,-0.000188676389619,1.049980577729233,-0.000183421181026,0.00421499479263,13.054445233010986,-0.059052861913702,0.00770902351705],[0.000000052998749,0.000000017419671,-0.000000052998749,-0.000000017419671,2.47818017564967e-18,1.89629501066556e-19,0.000000073740462,0.000000073740462,0.000000073740462,1.049981800169204,-0.000190723615706,1.04998180012378,-0.000190723006009,0.000017515548916,0.053922236227002,-0.095571956161064,0.000051534535968],[0.000000057999646,0.00000001906314,-0.000000057999646,-0.00000001906314,4.99130707781848e-18,3.81942376040235e-19,0.000000080698369,0.000000080698369,0.000000080698369,1.049982546862046,-0.000192999622188,1.049982546778446,-0.000192998500095,0.000019168258421,0.058901451988714,-0.140501751934352,0.000082757571959],[0.000000182997783,0.000000000060331,-0.000000182997783,-0.000000000060331,1.54256346398033e-17,1.18039451478081e-18,0.00000024188481,0.00000024188481,0.00000024188481,1.049985468926085,-0.000208646293178,1.049985468837575,-0.000208646661162,0.000057454823823,0.170593415946653,0.025148738180943,-0.00004290209153],[0.000012658808225,0.000000004175567,-0.000012658803485,-0.000000004175204,0.00000000000474,0.000000000000363,0.000016732319407,0.000016732319407,0.000016732319407,1.049984120225512,-0.00022152765694,1.049983727052543,-0.000223162294508,0.003974422625877,12.513605652589336,0.026408841374784,-0.003304698267058],[0.000010137848416,0.000000952946077,-0.000010137848308,-0.000000952946048,0.000000000000107,0.000000000000029,0.000013459197276,0.000013459197276,0.000013459197276,1.049984545119093,-0.000219866335146,1.049984533817574,-0.000219970072043,0.003196958943873,6.070072954341322,0.010382365196856,-0.000630217141835],[-0.00000000000382,0.000000000000955,0.00000000000382,-0.000000000000955,8.07793566946316e-28,4.03896783473158e-28,0.000000000005204,0.000000000005204,0.000000000005204,1.049985332205537,-0.000210394869617,1.049985332205537,-0.000210394869609,0.0000000012362,0.000023089941246,-99.995070175635874,0.000023088802952],[0.000007091865632,0.000000002351568,-0.000007091865461,-0.00000000235154,0.000000000000172,0.000000000000027,0.000009374004165,0.000009374004165,0.000009374004165,1.04998093473944,-0.000188976973762,1.049980909329184,-0.000189198239517,0.002226604294434,6.724764468012672,0.023546851116922,-0.001583470277247],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.04998093473944,-0.000188976973762,1.04998093473944,-0.000188976973762,0.0,0.000003872517984,-100.0,0.000003872517984],[0.000012753770352,0.000004191900204,-0.000012753767315,-0.000004191899971,0.000000000003037,0.000000000000232,0.00001774512793,0.00001774512793,0.00001774512793,1.049980577729233,-0.000183421181026,1.049980346366426,-0.000180315769912,0.004214994719625,13.054441719132726,-0.058145786491066,0.007590607809608],[0.000000052999466,0.000000017419746,-0.000000052999466,-0.000000017419746,2.20790387358164e-18,1.68949985752731e-19,0.000000073741392,0.000000073741392,0.000000073741392,1.04998180012378,-0.000190723006009,1.049981800083311,-0.00019072246282,0.000017515769853,0.053918709753868,-0.089037796328352,0.000048008030974],[0.000000057999646,0.000000019063155,-0.000000057999646,-0.000000019063155,3.94412289210594e-18,3.01811735740998e-19,0.000000080698375,0.000000080698375,0.000000080698375,1.049982546778446,-0.000192998500095,1.049982546712385,-0.000192997613421,0.000019168259884,0.058897917373585,-0.134508757801198,0.00007922285703],[0.000000182997485,0.000000000060335,-0.000000182997485,-0.000000000060335,1.10080401825169e-16,8.42354464116019e-18,0.000000241884416,0.000000241884416,0.000000241884416,1.049985468837575,-0.000208646661162,1.04998546820595,-0.000208649287176,0.000057454730129,0.170589568119706,0.027404949572606,-0.000046749985119],[0.000010137847115,0.00000095294566,-0.000010137847099,-0.000000952945656,0.000000000000016,0.000000000000004,0.000013459195657,0.000013459195657,0.000013459195657,1.049984533817574,-0.000219970072043,1.049984532129759,-0.000219985564543,0.00319695855934,6.070069317926468,0.010446428820256,-0.000634105470637],[-0.00000000000382,0.000000000000955,0.00000000000382,-0.000000000000955,1.61558713389263e-27,4.03896783473158e-28,0.000000000005204,0.000000000005204,0.000000000005204,1.049985332205537,-0.000210394869609,1.049985332205537,-0.000210394869601,0.0000000012362,0.00001924206512,-99.994114067609573,0.000019240932545],[0.00000709186549,0.000000002351626,-0.000007091865257,-0.000000002351589,0.000000000000234,0.000000000000037,0.000009374004204,0.000009374004204,0.000009374004204,1.049980909329184,-0.000189198239517,1.049980874733087,-0.000189499493133,0.002226604303812,6.724757200744726,0.023655913836164,-0.001590802769099],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049980909329184,-0.000189198239517,1.049980909329184,-0.000189198239517,0.0,0.000003872622779,-99.999998892483376,0.000003872622736],[0.000012753767524,0.00000419189872,-0.000012753765117,-0.000004191898536,0.000000000002407,0.000000000000184,0.000017745127676,0.000017745127676,0.000017745127676,1.049980346366426,-0.000180315769912,1.04998016304698,-0.000177855209161,0.00421499465924,13.054438207963903,-0.05753265264224,0.007510564588584],[0.000000052999227,0.000000017419731,-0.000000052999227,-0.000000017419731,2.29043664637973e-18,1.75272954355086e-19,0.000000073741086,0.000000073741086,0.000000073741086,1.049981800083311,-0.00019072246282,1.049981800041328,-0.000190721899324,0.000017515697182,0.053915183270559,-0.082502529654574,0.000044481390066],[0.000000057999646,0.000000019063158,-0.000000057999646,-0.000000019063158,1.26458710302617e-17,9.67685511401285e-19,0.000000080698376,0.000000080698376,0.000000080698376,1.049982546712385,-0.000192997613421,1.049982546500577,-0.000192994770507,0.00001916826025,0.058894382768579,-0.128514739070082,0.000075687962342],[0.0000000279996,0.00000000000923,-0.0000000279996,-0.00000000000923,9.08573861339266e-18,6.95256056583196e-19,0.000000037009617,0.000000037009617,0.000000037009617,1.04998546820595,-0.000208649287176,1.049985467865226,-0.000208650703755,0.000008790882883,0.026109500914269,-0.00554107384576,0.000001446746726],[0.000000154997851,0.000000000051107,-0.000000154997851,-0.000000000051107,8.08570742836479e-16,6.1873239117636e-17,0.000000204874754,0.000000204874754,0.000000204874754,1.04998546820595,-0.000208649287176,1.049985462728398,-0.000208672060393,0.000048663836706,0.144476219542559,0.036022840588976,-0.000052044438255],[0.000010137845189,0.000000952946611,-0.000010137845176,-0.000000952946607,0.000000000000012,0.000000000000003,0.000013459193261,0.000013459193261,0.000013459193261,1.049984532129759,-0.000219985564543,1.049984530841387,-0.00021999739053,0.003196957990388,6.070065681686001,0.010507280959903,-0.000637798855625],[-0.00000000000191,0.000000000000955,0.00000000000191,-0.000000000000955,4.03896783473158e-28,0.0,0.000000000002822,0.000000000002822,0.000000000002822,1.049985332205537,-0.000210394869601,1.049985332205537,-0.000210394869595,0.000000000670423,0.000015393894342,-99.994793683035269,0.000015393092887],[0.000007091865227,0.000000002351652,-0.000007091865062,-0.000000002351625,0.000000000000165,0.000000000000026,0.000009374004165,0.000009374004165,0.000009374004165,1.049980874733087,-0.000189499493133,1.049980850250933,-0.000189712677225,0.002226604294449,6.724749934851443,0.023764941314566,-0.001598132875569],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049980874733087,-0.000189499493133,1.049980874733087,-0.000189499493133,0.0,0.000003872718765,-99.999998892510817,0.000003872718722],[0.000012753765296,0.000004191897757,-0.000012753764302,-0.000004191897681,0.000000000000994,0.000000000000076,0.00001774512758,0.00001774512758,0.00001774512758,1.04998016304698,-0.000177855209161,1.049980087298005,-0.000176838486927,0.004214994636306,13.054434698945178,-0.057139415059276,0.007459227626272],[0.000000052999287,0.000000017419709,-0.000000052999287,-0.000000017419709,6.91446891477976e-18,5.29107733180769e-19,0.000000073741152,0.000000073741152,0.000000073741152,1.049981800041328,-0.000190721899324,1.04998179991459,-0.000190720198221,0.00001751571279,0.053911656844783,-0.075966991795313,0.000040955063932],[0.000000057999676,0.000000019063158,-0.000000057999676,-0.000000019063158,1.02286448013343e-16,7.82713698927892e-18,0.000000080698414,0.000000080698414,0.000000080698414,1.049982546500577,-0.000192994770507,1.049982544787363,-0.00019297177557,0.000019168269105,0.058890848158099,-0.122517742490585,0.000072151737697],[0.000000027999645,0.000000000009233,-0.000000027999645,-0.000000000009233,1.0032751226925e-17,7.67723412959993e-19,0.000000037009676,0.000000037009676,0.000000037009676,1.049985467865226,-0.000208650703755,1.049985467488989,-0.00020865226798,0.000008790896937,0.026105653246686,0.009196942669606,-0.000002400921963],[0.000010137844221,0.000000952945414,-0.00001013784421,-0.000000952945411,0.000000000000011,0.000000000000003,0.000013459191857,0.000013459191857,0.000013459191857,1.049984530841387,-0.00021999739053,1.049984529636427,-0.000220008450885,0.003196957656806,6.070062044527035,0.010568005010153,-0.000641484460985],[-0.000000000002865,0.000000000000477,0.000000000002865,-0.000000000000477,1.21169035041947e-27,3.02922587604869e-28,0.000000000003839,0.000000000003839,0.000000000003839,1.049985332205537,-0.000210394869595,1.049985332205538,-0.000210394869584,0.000000000911874,0.000011546322314,-99.99554268889959,0.000011545807658],[0.000007091865106,0.000000002351741,-0.000007091864644,-0.000000002351667,0.000000000000462,0.000000000000074,0.000009374004224,0.000009374004224,0.000009374004224,1.049980850250933,-0.000189712677225,1.049980781785478,-0.000190308856207,0.002226604308516,6.724742669879327,0.0238745010546,-0.001605498759639],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049980850250933,-0.000189712677225,1.049980850250933,-0.000189712677225,0.0,0.00000387281871,-99.999997785078804,0.000003872818624],[0.000002282958256,0.000000750360872,-0.000002282958246,-0.000000750360871,0.00000000000001,7.67245196480024e-16,0.000003176425708,0.000003176425708,0.000003176425708,1.049980087298005,-0.000176838486927,1.049980083031535,-0.000176781221272,0.000754495410825,2.334685416719232,-0.057223819005035,0.0013359961572],[0.000010470806157,0.00000344153594,-0.000010470803383,-0.000003441535728,0.000000000002775,0.000000000000212,0.000014568701653,0.000014568701653,0.000014568701653,1.049980087298005,-0.000176838486927,1.049979829889619,-0.000173383485211,0.003460499173697,10.719745843298467,-0.056592438504378,0.006066565574194],[0.000000052999107,0.000000017419723,-0.000000052999107,-0.000000017419723,6.968083453363e-18,5.33210549019032e-19,0.000000073740933,0.000000073740933,0.000000073740933,1.04998179991459,-0.000190720198221,1.049981799786869,-0.000190718483915,0.000017515660847,0.053908130535664,-0.069430243405699,0.000037428546246],[0.000000057999766,0.00000001906317,-0.000000057999766,-0.00000001906317,5.09377159465664e-18,3.89777430802337e-19,0.000000080698531,0.000000080698531,0.000000080698531,1.049982544787363,-0.00019297177557,1.049982544702047,-0.000192970630445,0.000019168296951,0.058887313647465,-0.11652024831121,0.000068615644086],[0.000000027999615,0.000000000009233,-0.000000027999615,-0.000000000009233,2.71943633485137e-17,2.08096051040331e-18,0.000000037009637,0.000000037009637,0.000000037009637,1.049985467488989,-0.00020865226798,1.049985466469175,-0.000208656507912,0.000008790887568,0.026101805577937,0.023939302003825,-0.000006248590066],[0.00001013784421,0.000000952945888,-0.000010137844198,-0.000000952945885,0.000000000000012,0.000000000000003,0.000013459191916,0.000013459191916,0.000013459191916,1.049984529636427,-0.000220008450885,1.049984528351487,-0.000220020245375,0.003196957670836,6.070058407787632,0.010628750395547,-0.000645171357028],[-0.00000000000382,0.000000000000477,0.00000000000382,-0.000000000000477,1.61558713389263e-27,2.01948391736579e-28,0.000000000005088,0.000000000005088,0.000000000005088,1.049985332205538,-0.000210394869584,1.049985332205538,-0.000210394869578,0.000000001208623,0.000007697848299,-99.973204918578773,0.000007695785654],[0.000007091864569,0.000000002351779,-0.000007091864235,-0.000000002351726,0.000000000000335,0.000000000000054,0.000009374004125,0.000009374004125,0.000009374004125,1.049980781785478,-0.000190308856207,1.049980732209761,-0.000190740548378,0.002226604285104,6.724735407630596,0.023984423877684,-0.001612889044819],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049980781785478,-0.000190308856207,1.049980781785478,-0.000190308856207,0.0,0.000003873048165,-99.999997291507697,0.00000387304806],[0.000002282957888,0.000000750360879,-0.000002282957884,-0.000000750360879,0.000000000000004,2.82322963462555e-16,0.000003176425262,0.000003176425262,0.000003176425262,1.049980083031535,-0.000176781221272,1.049980081461603,-0.000176760149243,0.000754495304745,2.334681908764333,-0.057065385085174,0.00133229522175],[0.000010470803614,0.000003441534607,-0.000010470801515,-0.000003441534447,0.000000000002099,0.000000000000161,0.000014568701481,0.000014568701481,0.000014568701481,1.049979829889619,-0.000173383485211,1.049979635158717,-0.000170769756849,0.003460499132833,10.719742338131441,-0.055920018529617,0.00599448190181],[0.000000052999115,0.000000017419728,-0.000000052999115,-0.000000017419728,6.51071213162528e-17,4.98210882940689e-18,0.000000073740944,0.000000073740944,0.000000073740944,1.049981799786869,-0.000190718483915,1.049981798593491,-0.000190702466095,0.000017515663484,0.053904604241826,-0.062891177565525,0.00003390124037],[0.000000057999885,0.000000019063155,-0.000000057999885,-0.000000019063155,4.01918456961146e-18,3.07552369192116e-19,0.000000080698675,0.000000080698675,0.000000080698675,1.049982544702047,-0.000192970630445,1.04998254463473,-0.000192969726901,0.000019168331092,0.058883779083097,-0.110524630879006,0.000065081079479],[0.000010137840378,0.000000952943975,-0.000010137840367,-0.000000952943972,0.000000000000011,0.000000000000003,0.000013459186653,0.000013459186653,0.000013459186653,1.049984528351487,-0.000220020245375,1.049984527214473,-0.00022003068206,0.003196956420689,6.070054771562689,0.010689420528892,-0.000648853680866],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049985332205538,-0.000210394869578,1.049985332205538,-0.000210394869578,0.0,0.000003848326268,-99.993500345879255,0.00000384807614],[0.000005872887424,0.000000001947709,-0.000005872887373,-0.000000001947701,0.000000000000051,0.000000000000008,0.000007762764362,0.000007762764362,0.000007762764362,1.049980732209761,-0.000190740548378,1.049980723103864,-0.000190819840098,0.001843887005242,5.520104811644878,0.025073156827172,-0.001384064536448],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049980732209761,-0.000190740548378,1.049980732209761,-0.000190740548378,0.0,0.000003873299873,-99.999997785353941,0.000003873299787],[0.000001218977288,0.000000000402323,-0.000001218977253,-0.000000000402321,0.000000000000034,0.000000000000003,0.000001611240393,0.000001611240393,0.000001611240393,1.049980732209761,-0.000190740548378,1.049980702520866,-0.000190863981579,0.000382717429595,1.204623359646942,0.019603198327084,-0.000236144706286],[0.000002282957646,0.000000750360849,-0.00000228295764,-0.000000750360848,0.000000000000005,4.20541058641683e-16,0.00000317642495,0.00000317642495,0.00000317642495,1.049980081461603,-0.000176760149243,1.049980079123072,-0.000176728760888,0.000754495230611,2.334678401055744,-0.056909708120644,0.001328658663597],[0.000000057999646,0.00000001906314,-0.000000057999646,-0.00000001906314,4.54376266175788e-18,3.47693789958089e-19,0.000000080698369,0.000000080698369,0.000000080698369,1.04998254463473,-0.000192969726901,1.049982544558625,-0.000192968705422,0.000019168258421,0.058880244605719,-0.104528331345121,0.000061546537178],[0.000010137842277,0.000000952945405,-0.000010137842266,-0.000000952945402,0.000000000000011,0.000000000000003,0.000013459189344,0.000013459189344,0.000013459189344,1.049984527214473,-0.00022003068206,1.049984526051509,-0.000220041356933,0.003196957059793,6.070051134555665,0.010750074008847,-0.00065253498934],[0.000005872886896,0.000000001947701,-0.000005872886884,-0.000000001947699,0.000000000000012,0.000000000000002,0.000007762763731,0.000007762763731,0.000007762763731,1.049980723103864,-0.000190819840098,1.049980720947755,-0.00019083861492,0.001843886855331,5.520097551831291,0.025204884614662,-0.001391334218556],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049980723103864,-0.000190819840098,1.049980723103864,-0.000190819840098,0.0,0.000003873263366,-99.999991141332302,0.000003873263023],[0.000001218977223,0.00000000040232,-0.000001218977219,-0.00000000040232,0.000000000000004,3.33418399435782e-16,0.000001611240354,0.000001611240354,0.000001611240354,1.049980702520866,-0.000190863981579,1.049980698767669,-0.000190879585701,0.000382717420226,1.204619729781806,0.019904963913572,-0.000239779122509],[0.000002282957879,0.000000750360833,-0.000002282957875,-0.000000750360833,0.000000000000003,2.53048975409854e-16,0.000003176425243,0.000003176425243,0.000003176425243,1.049980079123072,-0.000176728760888,1.049980077715926,-0.000176709873798,0.000754495300356,2.334674893221491,-0.056754233745749,0.001325026846102],[0.000000057999288,0.00000001906311,-0.000000057999288,-0.00000001906311,4.04403969265745e-18,3.09454884600988e-19,0.000000080697907,0.000000080697907,0.000000080697907,1.049982544558625,-0.000192968705422,1.049982544490891,-0.000192967796272,0.000019168148684,0.058876710148931,-0.098531111893838,0.000058011877156],[0.000010137840117,0.000000952945044,-0.00001013784006,-0.000000952945028,0.000000000000057,0.000000000000015,0.000013459186472,0.000013459186472,0.000013459186472,1.049984526051509,-0.000220041356933,1.049984520049119,-0.00022009645301,0.003196956377631,6.070047497620306,0.010812291850272,-0.000656311250893],[0.000005872889644,0.000000001947114,-0.000005872889317,-0.000000001947061,0.000000000000327,0.000000000000052,0.00000776276738,0.00000776276738,0.00000776276738,1.049980720947755,-0.00019083861492,1.049980662496449,-0.000191347593628,0.001843887721943,5.520035842938285,0.026324042156209,-0.001453096562333],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049980720947755,-0.00019083861492,1.049980720947755,-0.00019083861492,0.0,0.000003873258413,-99.999997785330237,0.000003873258327],[-0.000000000002865,0.000000000000567,0.000000000002865,-0.000000000000567,7.27014210251684e-27,1.0097419586829e-27,0.00000000000386,0.00000000000386,0.00000000000386,1.049980720947755,-0.00019083861492,1.049980720947757,-0.000190838614875,0.000000000916915,0.000058097712766,-99.998416956314287,0.000058096793054],[0.000001218977398,0.000000000402331,-0.000001218977395,-0.00000000040233,0.000000000000003,2.46040747175304e-16,0.00000161124059,0.00000161124059,0.00000161124059,1.049980698767669,-0.000190879585701,1.049980695998058,-0.000190891100509,0.000382717476444,1.204616100008915,0.020206426490865,-0.000243409866745],[0.000002282957159,0.000000750360759,-0.000002282957155,-0.000000750360758,0.000000000000004,3.05336954518572e-16,0.000003176424313,0.000003176424313,0.000003176424313,1.049980077715926,-0.000176709873798,1.049980076018018,-0.00017668708404,0.000754495079419,2.334671385388779,-0.056599681887255,0.001321416577243],[0.000000057999288,0.000000019063125,-0.000000057999288,-0.000000019063125,4.6546975080686e-18,3.56183971765334e-19,0.000000080697913,0.000000080697913,0.000000080697913,1.049982544490891,-0.000192967796272,1.049982544412928,-0.00019296674984,0.000019168150147,0.058873175591086,-0.092533138923962,0.000054477197359],[0.000001676975933,0.000000000553022,-0.000001676975853,-0.000000000553015,0.00000000000008,0.000000000000006,0.000002216613584,0.000002216613584,0.000002216613584,1.049984520049119,-0.00022009645301,1.049984469827303,-0.000220305252967,0.000526511535254,1.65454609805676,0.018888027053783,-0.000312511114618],[0.000008460865992,0.000000952387987,-0.000008460865906,-0.000000952387964,0.000000000000086,0.000000000000023,0.000011254133443,0.000011254133443,0.000011254133443,1.049984520049119,-0.00022009645301,1.049984509191626,-0.000220184956564,0.00267319081735,4.415498143356529,0.007875981347709,-0.000347763810179],[0.000005872889273,0.000000001947147,-0.000005872889043,-0.000000001947111,0.000000000000229,0.000000000000037,0.000007762767321,0.000007762767321,0.000007762767321,1.049980662496449,-0.000191347593628,1.049980621532934,-0.000191704293223,0.001843887707898,5.520028585309976,0.026457157011227,-0.00146044262988],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049980662496449,-0.000191347593628,1.049980662496449,-0.000191347593628,0.0,0.000003873463876,-99.999999446361926,0.000003873463854],[-0.00000000000382,0.000000000000597,0.00000000000382,-0.000000000000597,3.23117426778526e-27,7.06819371078027e-28,0.00000000000511,0.00000000000511,0.00000000000511,1.049980720947757,-0.000190838614875,1.049980720947758,-0.000190838614857,0.000000001213841,0.000054224637288,-99.998368439533863,0.00005422375258],[0.000001218977156,0.000000000402308,-0.000001218977153,-0.000000000402308,0.000000000000003,2.39399426120089e-16,0.000001611240275,0.000001611240275,0.000001611240275,1.049980695998058,-0.000190891100509,1.049980693303205,-0.000190902304506,0.000382717401486,1.204612470300746,0.020507862760729,-0.000247040272208],[0.000002282957394,0.000000750360788,-0.000002282957391,-0.000000750360788,0.000000000000004,2.68098845058432e-16,0.000003176424625,0.000003176424625,0.000003176424625,1.049980076018018,-0.00017668708404,1.049980074527183,-0.000176667073666,0.000754495153552,2.334667877509271,-0.056445000220834,0.001317803288616],[0.000000057999288,0.000000019063117,-0.000000057999288,-0.000000019063117,4.77264684597376e-18,3.65213475331963e-19,0.00000008069791,0.00000008069791,0.00000008069791,1.049982544412928,-0.00019296674984,1.049982544332989,-0.000192965676891,0.000019168149415,0.058869641193792,-0.086534736975213,0.000050942689165],[0.000001676975659,0.000000000553007,-0.000001676975654,-0.000000000553006,0.000000000000005,3.53701617739711e-16,0.000002216613327,0.000002216613327,0.000002216613327,1.049984469827303,-0.000220305252967,1.049984466933164,-0.000220317285506,0.000526511474351,1.654542462266614,0.019108134246735,-0.000316152194859],[0.000008460865638,0.000000952388076,-0.000008460865227,-0.000000952387966,0.000000000000411,0.00000000000011,0.000011254133107,0.000011254133107,0.000011254133107,1.049984509191626,-0.000220184956564,1.049984457306987,-0.000220607887935,0.002673190737485,4.415494507165707,0.007988107019889,-0.00035271442669],[0.000005569894919,0.000000001846767,-0.000005569894506,-0.000000001846701,0.000000000000413,0.000000000000066,0.000007362270586,0.000007362270586,0.000007362270586,1.049980621532934,-0.000191704293223,1.049980543691789,-0.000192382113582,0.001748757843009,5.520010445084777,0.026782554327376,-0.001478399796332],[0.000000302994273,0.000000000100465,-0.000000302994273,-0.000000000100465,1.44972124142297e-16,2.31831726781914e-17,0.000000400496932,0.000000400496932,0.000000400496932,1.049980621532934,-0.000191704293223,1.049980621030529,-0.000191708668037,0.000095129911749,0.280561697567027,0.033029698299495,-0.00009266868225],[-0.000000000002865,0.000000000000597,0.000000000002865,-0.000000000000597,1.61558713389263e-27,3.02922587604869e-28,0.000000000003868,0.000000000003868,0.000000000003868,1.049980720947758,-0.000190838614857,1.049980720947759,-0.000190838614842,0.00000000091878,0.000050351372908,-99.998423942157217,0.000050350579341],[0.000001218977086,0.000000000402327,-0.000001218977056,-0.000000000402324,0.000000000000029,0.000000000000002,0.000001611240186,0.000001611240186,0.000001611240186,1.049980693303205,-0.000190902304506,1.049980667988722,-0.000191007550849,0.000382717380406,1.204608840560805,0.020809561481737,-0.000250673817291],[0.00000228295748,0.000000750360754,-0.000002282957457,-0.000000750360753,0.000000000000023,0.000000000000002,0.000003176424724,0.000003176424724,0.000003176424724,1.049980074527183,-0.000176667073666,1.049980064771657,-0.00017653613247,0.000754495176964,2.334664369654346,-0.056278919092903,0.001313923871689],[0.000000057999288,0.00000001906314,-0.000000057999288,-0.00000001906314,5.73671592373696e-18,4.38981442359442e-19,0.000000080697919,0.000000080697919,0.000000080697919,1.049982544332989,-0.000192965676891,1.049982544236904,-0.00019296438721,0.00001916815161,0.058866106850469,-0.080535791342126,0.000047408284984],[0.000001676976251,0.000000000553021,-0.000001676976249,-0.000000000553021,0.000000000000002,1.77642153898622e-16,0.000002216614116,0.000002216614116,0.000002216614116,1.049984466933164,-0.000220317285506,1.049984465479621,-0.000220323328693,0.000526511661742,1.65453882645748,0.019327945894341,-0.000319788369179],[0.000000605991014,0.000000000199858,-0.000000605990994,-0.000000000199857,0.00000000000002,0.000000000000002,0.000000800994199,0.000000800994199,0.000000800994199,1.049984457306987,-0.000220607887935,1.049984422148682,-0.000220754060462,0.000190259903059,0.564356598173853,0.036910057722856,-0.000208304346149],[0.000007854874705,0.000000952186656,-0.000007854874287,-0.000000952186544,0.000000000000417,0.000000000000111,0.000010458518195,0.000010458518195,0.000010458518195,1.049984457306987,-0.000220607887935,1.049984400543737,-0.000221043572457,0.002484208574776,4.415483599869316,0.008272159016747,-0.00036525582474],[0.000005569894476,0.000000001846826,-0.000005569894108,-0.000000001846767,0.000000000000368,0.000000000000059,0.000007362270546,0.000007362270546,0.000007362270546,1.049980543691789,-0.000192382113582,1.04998047427426,-0.000192986583293,0.001748757833653,5.519999565804294,0.026982065693231,-0.001489409909111],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049980543691789,-0.000192382113582,1.049980543691789,-0.000192382113582,0.0,0.00000387393617,-99.999998316380825,0.000003873936105],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049980543691789,-0.000192382113582,1.049980543691789,-0.000192382113582,0.0,0.000003873940871,-99.999999446430081,0.000003873940849],[0.000000302994393,0.000000000100013,-0.000000302994386,-0.000000000100012,0.000000000000006,4.93921123779925e-16,0.00000040049709,0.00000040049709,0.00000040049709,1.049980621030529,-0.000191708668037,1.049980598662363,-0.000191801664878,0.00009512994918,0.280553950409837,0.035791690297018,-0.000100415001047],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049980621030529,-0.000191708668037,1.049980621030529,-0.000191708668037,0.0,0.000003873581497,-99.999964499036736,0.000003873580122],[-0.000000000001432,0.000000000000597,0.000000000001432,-0.000000000000597,8.07793566946316e-28,0.0,0.000000000002051,0.000000000002051,0.000000000002051,1.049980720947759,-0.000190838614842,1.049980720947759,-0.000190838614829,0.000000000487211,0.000046478410534,-99.997319998289044,0.000046477164912],[0.000001218977094,0.000000000402327,-0.00000121897708,-0.000000000402326,0.000000000000014,0.000000000000001,0.000001611240235,0.000001611240235,0.000001611240235,1.049980667988722,-0.000191007550849,1.049980656207134,-0.000191056533444,0.000382717392118,1.204605211143025,0.02111134278216,-0.000254308335296],[0.000002282957524,0.000000750360716,-0.000002282957355,-0.000000750360703,0.000000000000169,0.000000000000013,0.000003176424793,0.000003176424793,0.000003176424793,1.049980064771657,-0.00017653613247,1.049979992841273,-0.000175570664284,0.000754495193425,2.334660862049553,-0.05601313462252,0.001307716731639],[0.000000057999049,0.000000019063125,-0.000000057999049,-0.000000019063125,3.59647542426216e-18,2.75206298518843e-19,0.000000080697613,0.000000080697613,0.000000080697613,1.049982544236904,-0.00019296438721,1.049982544176665,-0.000192963578671,0.000019168078939,0.058862572476431,-0.074535911730978,0.000043873755064],[0.00000167697601,0.000000000553021,-0.000001676976008,-0.000000000553021,0.000000000000002,1.48962573801597e-16,0.0000022166138,0.0000022166138,0.0000022166138,1.049984465479621,-0.000220323328693,1.049984464260745,-0.000220328396234,0.000526511586786,1.654535190918808,0.01954774565612,-0.000323424330912],[0.000000605991009,0.00000000019986,-0.000000605990998,-0.000000000199859,0.000000000000011,8.19359838547213e-16,0.000000800994219,0.000000800994219,0.000000800994219,1.049984422148682,-0.000220754060462,1.049984403595542,-0.000220831196129,0.000190259907744,0.56435274699289,0.037592901281653,-0.000212156571057],[0.000007854874257,0.000000952186694,-0.000007854873858,-0.000000952186587,0.0000000000004,0.000000000000107,0.000010458518179,0.000010458518179,0.000010458518179,1.049984400543737,-0.000221043572457,1.049984346174557,-0.000221460881359,0.002484208571113,4.415479964701499,0.008409484905863,-0.000371319121153],[0.000005569896264,0.000000001837711,-0.000005569895461,-0.000000001837657,0.000000000000803,0.000000000000054,0.000007362273392,0.000007362273392,0.000007362273392,1.04998047427426,-0.000192986583293,1.049980322838746,-0.00019354263989,0.001748758509645,5.519988690816051,0.027181279654871,-0.001500403562968],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.04998047427426,-0.000192986583293,1.04998047427426,-0.000192986583293,0.0,0.000003874255244,-99.999999446475002,0.000003874255223],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.04998047427426,-0.000192986583293,1.04998047427426,-0.000192986583293,0.0,0.000003874255244,-99.999999446475002,0.000003874255223],[0.000000302994401,0.000000000100014,-0.0000003029944,-0.000000000100014,0.000000000000002,1.16254112626551e-16,0.000000400497109,0.000000400497109,0.000000400497109,1.049980598662363,-0.000191801664878,1.049980593397573,-0.000191823553523,0.000095129953865,0.280550077076096,0.037172857163453,-0.000104288479423],[-0.00000000000191,0.000000000000119,0.00000000000191,-0.000000000000119,4.03896783473158e-28,1.26217744835362e-28,0.000000000002529,0.000000000002529,0.000000000002529,1.049980720947759,-0.000190838614829,1.049980720947759,-0.000190838614824,0.000000000600815,0.000042604397135,-99.997769283361791,0.000042603446752],[0.00000121897711,0.000000000402331,-0.000001218977104,-0.00000000040233,0.000000000000006,4.91224654660204e-16,0.000001611240275,0.000001611240275,0.000001611240275,1.049980656207134,-0.000191056533444,1.049980650677557,-0.000191079522966,0.000382717401488,1.204601581834757,0.021412887889209,-0.00025793998623],[0.000000057999109,0.000000019063117,-0.000000057999109,-0.000000019063117,1.54564785504842e-17,1.18275577938752e-18,0.000000080697685,0.000000080697685,0.000000080697685,1.049982544176665,-0.000192963578671,1.04998254391778,-0.000192960103846,0.00001916809601,0.058859038090908,-0.068535082807095,0.000040339090495],[0.000001676976247,0.000000000553036,-0.000001676976245,-0.000000000553036,0.000000000000002,1.21473761968962e-16,0.000002216614116,0.000002216614116,0.000002216614116,1.049984464260745,-0.000220328396234,1.049984463266795,-0.000220332528635,0.000526511661743,1.654531555281447,0.019767538595933,-0.000327060163772],[0.000000391993905,0.000000000129293,-0.000000391993904,-0.000000000129293,0.000000000000002,1.15681099167507e-16,0.000000518134543,0.000000518134543,0.000000518134543,1.049984346174557,-0.000221460881359,1.049984342125146,-0.000221477717,0.000123072336952,0.38679172815107,0.014238987528996,-0.000055075225935],[0.000007462880385,0.000000952056385,-0.000007462880283,-0.000000952056358,0.000000000000102,0.000000000000027,0.000009944323446,0.000009944323446,0.000009944323446,1.049984346174557,-0.000221460881359,1.049984331616778,-0.000221567557856,0.002362072055957,4.028684684416143,0.007977485936126,-0.00032138775411],[0.000005569895457,0.000000001837784,-0.000005569894363,-0.00000000183771,0.000000000001094,0.000000000000074,0.000007362273387,0.000007362273387,0.000007362273387,1.049980322838746,-0.00019354263989,1.049980116548742,-0.000194300116882,0.001748758508487,5.519985067559208,0.027250878610473,-0.001504244430077],[1.19276912634377e-18,0.000000000000358,-1.1927691263205e-18,-0.000000000000358,2.32733226339642e-29,0.0,0.000000000000473,0.000000000000473,0.000000000000473,1.049980720947759,-0.000190838614824,1.049980720947759,-0.00019083861482,0.000000000112433,0.000038731883126,-99.998355957538792,0.000038731246357],[0.000001218977163,0.00000000040233,-0.000001218977159,-0.00000000040233,0.000000000000004,3.27654448952268e-16,0.000001611240354,0.000001611240354,0.000001611240354,1.049980650677557,-0.000191079522966,1.049980646989243,-0.000191094857332,0.000382717420227,1.20459795261989,0.021714337979632,-0.000261570470728],[0.000000057999057,0.00000001906312,-0.000000057999057,-0.00000001906312,6.5162595356853e-17,4.98635061158806e-18,0.000000080697621,0.000000080697621,0.000000080697621,1.04998254391778,-0.000192960103846,1.04998254282635,-0.000192945454394,0.000019168080707,0.058855503747548,-0.062532179879165,0.000036803629472],[0.000001676975768,0.000000000553065,-0.000001676975765,-0.000000000553065,0.000000000000002,1.90678264340058e-16,0.000002216613485,0.000002216613485,0.000002216613485,1.049984463266795,-0.000220332528635,1.049984461706584,-0.000220339015296,0.000526511511835,1.654527919380059,0.019987349114203,-0.000330696271438],[0.000000391994008,0.000000000129284,-0.000000391994008,-0.000000000129284,3.70683375877314e-16,2.83653289865884e-17,0.000000518134681,0.000000518134681,0.000000518134681,1.049984342125146,-0.000221477717,1.049984341132218,-0.000221481845147,0.000123072369744,0.386788093591374,0.0151788375605,-0.00005870993643],[0.000007462880104,0.000000952056448,-0.000007462880081,-0.000000952056442,0.000000000000023,0.000000000000006,0.000009944323226,0.000009944323226,0.000009944323226,1.049984331616778,-0.000221567557856,1.049984328267477,-0.000221592100867,0.002362072003749,4.02868104997937,0.00807766853052,-0.000325423501369],[0.000005569894344,0.000000001837804,-0.000005569894023,-0.000000001837782,0.000000000000321,0.000000000000022,0.000007362273363,0.000007362273363,0.000007362273363,1.049980116548742,-0.000194300116882,1.04998005604158,-0.000194522293342,0.001748758502641,5.519981446687596,0.027319429866658,-0.00150802745998],[-0.00000000000191,0.000000000000119,0.00000000000191,-0.000000000000119,4.03896783473158e-28,1.26217744835362e-28,0.000000000002529,0.000000000002529,0.000000000002529,1.049980720947759,-0.00019083861482,1.049980720947759,-0.000190838614816,0.000000000600815,0.00003485876882,-99.998861580386262,0.000034858371981],[0.000001218977129,0.00000000040233,-0.000001218977123,-0.000000000402329,0.000000000000007,5.00922629504713e-16,0.000001611240314,0.000001611240314,0.000001611240314,1.049980646989243,-0.000191094857332,1.049980641350497,-0.000191118300722,0.000382717410858,1.204594323429681,0.022015790654709,-0.000265200964485],[0.000001676975527,0.000000000553043,-0.000001676975521,-0.000000000553042,0.000000000000006,4.54683251409273e-16,0.000002216613169,0.000002216613169,0.000002216613169,1.049984461706584,-0.000220339015296,1.049984457986171,-0.000220354483115,0.000526511436877,1.654524283751574,0.020207168640346,-0.000334332512213],[0.000000391993829,0.000000000129284,-0.000000391993829,-0.000000000129284,2.5453784757289e-16,1.94776777443269e-17,0.000000518134445,0.000000518134445,0.000000518134445,1.049984341132218,-0.000221481845147,1.049984340450403,-0.000221484679831,0.000123072313527,0.386784459121984,0.016118640110342,-0.000062344394969],[0.000007462880081,0.000000952056203,-0.000007462880069,-0.0000009520562,0.000000000000012,0.000000000000003,0.000009944323186,0.000009944323186,0.000009944323186,1.049984328267477,-0.000221592100867,1.049984326605393,-0.000221604280285,0.002362071994264,4.028677415755839,0.008170689914749,-0.000329170739307],[0.000005569894023,0.000000001837877,-0.000005569892961,-0.000000001837805,0.000000000001062,0.000000000000072,0.000007362273363,0.000007362273363,0.000007362273363,1.04998005604158,-0.000194522293342,1.049979855774152,-0.000195257656013,0.001748758502651,5.51997782649893,0.027387897250977,-0.001511805855398],[1.59035883505884e-18,0.000000000000477,-1.5903588350065e-18,-0.000000000000477,5.23465832954506e-29,-1.0097419586829e-28,0.000000000000631,0.000000000000631,0.000000000000631,1.049980720947759,-0.000190838614816,1.04998072094776,-0.00019083861481,0.000000000149911,0.000030986405391,-99.99942696825957,0.000030986227829],[0.000001218977227,0.000000000402331,-0.000001218977214,-0.00000000040233,0.000000000000013,9.78296111410299e-16,0.000001611240452,0.000001611240452,0.000001611240452,1.049980641350497,-0.000191118300722,1.049980630338094,-0.000191164085389,0.000382717443651,1.2045906943077,0.022317318453624,-0.000268832341311],[0.00000167697564,0.000000000553042,-0.000001676975636,-0.000000000553042,0.000000000000004,3.14567198689846e-16,0.000002216613327,0.000002216613327,0.000002216613327,1.049984457986171,-0.000220354483115,1.049984455412248,-0.000220365184341,0.000526511474355,1.654520648091566,0.02042698924893,-0.000337968754907],[0.000000391994067,0.000000000129287,-0.000000391994067,-0.000000000129287,3.52844967887257e-16,2.70003040884718e-17,0.00000051813476,0.00000051813476,0.00000051813476,1.049984340450403,-0.000221484679831,1.049984339505258,-0.000221488609318,0.000123072388483,0.38678082453562,0.017058504061376,-0.000065979022662],[0.000007462879114,0.0000009520562,-0.000007462879102,-0.000000952056196,0.000000000000013,0.000000000000003,0.000009944321934,0.000009944321934,0.000009944321934,1.049984326605393,-0.000221604280285,1.049984324778893,-0.000221617664509,0.002362071696852,4.028673781372947,0.008262843292948,-0.000332883001339],[0.000000000000955,0.000000000000358,-0.000000000000955,-0.000000000000358,2.01948391736579e-28,5.04870979341448e-29,0.000000000001348,0.000000000001348,0.000000000001348,1.04998072094776,-0.00019083861481,1.049980720947759,-0.000190838614808,0.00000000032021,0.000027113140843,-99.997316158920441,0.00002711241317],[0.00000121897714,0.000000000402336,-0.000001218977136,-0.000000000402336,0.000000000000004,2.70426131308631e-16,0.000001611240354,0.000001611240354,0.000001611240354,1.049980630338094,-0.000191164085389,1.049980627293983,-0.000191176741445,0.000382717420228,1.204587065299536,0.022618809114546,-0.000272463248919],[0.000001676975815,0.000000000553064,-0.00000167697581,-0.000000000553064,0.000000000000005,3.99970383959652e-16,0.000002216613564,0.000002216613564,0.000002216613564,1.049984455412248,-0.000220365184341,1.049984452139519,-0.000220378790885,0.000526511530574,1.654517012435541,0.020646812402515,-0.000341605023725],[0.000000391994127,0.000000000129287,-0.000000391994126,-0.000000000129287,8.3670099818237e-16,6.40258244605725e-17,0.000000518134839,0.000000518134839,0.000000518134839,1.049984339505258,-0.000221488609318,1.049984337264038,-0.000221497927309,0.000123072407222,0.386777190041267,0.017998373043102,-0.000069613601509],[0.000007462879579,0.000000952057032,-0.000007462879564,-0.000000952057028,0.000000000000015,0.000000000000004,0.0000099443227,0.0000099443227,0.0000099443227,1.049984324778893,-0.000221617664509,1.049984322671384,-0.000221633107905,0.002362071878758,4.028670147020385,0.00835526630863,-0.00033660611948],[0.000000000000477,-1.59035883498878e-18,-0.000000000000477,1.59035883499823e-18,1.0097419586829e-28,9.45304194603587e-30,0.000000000000631,0.000000000000631,0.000000000000631,1.049980720947759,-0.000190838614808,1.049980720947759,-0.000190838614809,0.000000000149911,0.000023239578679,-99.999234911266626,0.000023239400876],[0.000001218977136,0.000000000402339,-0.000001218977135,-0.000000000402339,0.000000000000001,7.8509045662748e-17,0.000001611240354,0.000001611240354,0.000001611240354,1.049980627293983,-0.000191176741445,1.049980626410229,-0.000191180415701,0.000382717420228,1.204583436357995,0.022920177243872,-0.000276092658664],[0.000001676975511,0.000000000553034,-0.000001676975508,-0.000000000553034,0.000000000000003,2.42978500197503e-16,0.000002216613169,0.000002216613169,0.000002216613169,1.049984452139519,-0.000220378790885,1.049984450151365,-0.000220387056745,0.000526511436877,1.654513376931745,0.020866612725129,-0.00034524089885],[0.000000391994156,0.000000000129284,-0.000000391994155,-0.000000000129284,6.36030740285709e-16,4.86701745480182e-17,0.000000518134879,0.000000518134879,0.000000518134879,1.049984337264038,-0.000221497927309,1.049984335560342,-0.000221505010518,0.000123072416591,0.386773555549722,0.018938260037542,-0.000073248181706],[0.000007462877654,0.000000952056789,-0.000007462877639,-0.000000952056785,0.000000000000015,0.000000000000004,0.000009944320156,0.000009944320156,0.000009944320156,1.049984322671384,-0.000221633107905,1.049984320540836,-0.000221648720124,0.002362071274448,4.028666512958694,0.008447840801892,-0.000340335333454],[0.000000000000955,-3.18071766999646e-18,-0.000000000000955,3.18071767004852e-18,4.03896783473158e-28,5.20621234426646e-29,0.000000000001262,0.000000000001262,0.000000000001262,1.049980720947759,-0.000190838614809,1.049980720947759,-0.000190838614812,0.000000000299822,0.000019366616474,-99.99897894675928,0.00001936641873],[0.000001062980742,0.000000000350889,-0.000001062980741,-0.000000000350889,6.76777419032055e-16,5.17882087318291e-17,0.000001405044785,0.000001405044785,0.000001405044785,1.049980626410229,-0.000191180415701,1.049980625741711,-0.000191183195098,0.000333739850967,1.050429919757387,0.024212817015845,-0.000254338674351],[0.000000155997109,0.000000000051495,-0.000000155997109,-0.000000000051495,7.74210877800888e-17,5.92439728521398e-18,0.000000206196515,0.000000206196515,0.000000206196515,1.049980626410229,-0.000191180415701,1.049980625889112,-0.000191182582271,0.000048977794133,0.154149887375951,0.016466721179578,-0.000025383432153],[0.000001676975389,0.000000000553079,-0.000001676975386,-0.000000000553079,0.000000000000003,2.19357760168059e-16,0.000002216613012,0.000002216613012,0.000002216613012,1.049984450151365,-0.000220387056745,1.049984448356486,-0.000220394519051,0.000526511399404,1.654509741482374,0.021086416464827,-0.00034887681454],[0.000000391994125,0.00000000012928,-0.000000391994125,-0.00000000012928,4.4648382493151e-16,3.41657160006033e-17,0.000000518134839,0.000000518134839,0.000000518134839,1.049984335560342,-0.000221505010518,1.049984334364373,-0.000221509982822,0.000123072407222,0.38676992103259,0.019878168073499,-0.000076882774961],[0.000007462878594,0.000000952057024,-0.000007462878578,-0.00000095205702,0.000000000000017,0.000000000000004,0.000009944321448,0.000009944321448,0.000009944321448,1.049984320540836,-0.000221648720124,1.049984318178848,-0.000221666028286,0.002362071581346,4.02866287870188,0.008540540127962,-0.000344069569776],[-9.93974271890163e-20,-0.00000000000003,9.93974271906118e-20,0.00000000000003,1.59553666242761e-30,-6.31088724176809e-30,0.000000000000039,0.000000000000039,0.000000000000039,1.049980720947759,-0.000190838614812,1.049980720947759,-0.000190838614815,0.000000000009369,0.000015493053255,-99.998537232442104,0.000015492826627],[0.000001062980264,0.00000000035086,-0.000001062980263,-0.00000000035086,6.33406155759082e-16,4.84693218345512e-17,0.000001405044154,0.000001405044154,0.000001405044154,1.049980625741711,-0.000191183195098,1.049980625116036,-0.000191185796377,0.000333739701052,1.050426290865684,0.024558385276952,-0.000257967735561],[0.000000155997049,0.000000000051491,-0.000000155997049,-0.000000000051491,1.02162152545778e-16,7.81762591796177e-18,0.000000206196436,0.000000206196436,0.000000206196436,1.049980625889112,-0.000191182582271,1.049980625201464,-0.000191185441202,0.000048977775394,0.154146258454652,0.018821349992531,-0.000029012406804],[0.000001676975028,0.000000000553086,-0.000001676975023,-0.000000000553086,0.000000000000005,3.69954483553482e-16,0.000002216612538,0.000002216612538,0.000002216612538,1.049984448356486,-0.000220394519051,1.049984445329359,-0.000220407104491,0.000526511286971,1.654506105921606,0.021306234735866,-0.000352512954647],[0.000000391994184,0.000000000129287,-0.000000391994184,-0.000000000129287,4.67731011138673e-16,3.57915939075509e-17,0.000000518134918,0.000000518134918,0.000000518134918,1.049984334364373,-0.000221509982822,1.049984333111491,-0.000221515191747,0.000123072425961,0.386766286551229,0.020818073624625,-0.000080517290289],[0.000007462878578,0.000000952056781,-0.000007462878554,-0.000000952056775,0.000000000000024,0.000000000000006,0.000009944321408,0.000009944321408,0.000009944321408,1.049984318178848,-0.000221666028286,1.049984314744022,-0.000221691197982,0.00236207157186,4.028659244521552,0.008633987751793,-0.000347833945733],[0.000000000000239,-7.95179417524895e-19,-0.000000000000239,7.95179417534002e-19,5.04870979341448e-29,9.10743381751558e-30,0.000000000000316,0.000000000000316,0.000000000000316,1.049980720947759,-0.000190838614815,1.049980720947758,-0.000190838614817,0.000000000074956,0.000011619789508,-99.997682513216318,0.000011619520221],[0.000001062980025,0.00000000035083,-0.000001062980024,-0.00000000035083,6.52489596302485e-16,4.99296261777595e-17,0.000001405043839,0.000001405043839,0.000001405043839,1.049980625116036,-0.000191185796377,1.049980624471509,-0.000191188476031,0.000333739626094,1.050422662020761,0.024903938550256,-0.000261596614268],[0.000000155997101,0.000000000051491,-0.000000155997101,-0.000000000051491,4.24429098688257e-16,3.2478054823406e-17,0.000000206196505,0.000000206196505,0.000000206196505,1.049980625201464,-0.000191185441202,1.049980622344658,-0.000191197318529,0.00004897779179,0.15414262951433,0.021176112143333,-0.000032641416087],[0.000001676975262,0.000000000553078,-0.000001676975257,-0.000000000553078,0.000000000000005,3.63715362217316e-16,0.000002216612854,0.000002216612854,0.000002216612854,1.049984445329359,-0.000220407104491,1.049984442353284,-0.000220419477682,0.000526511361926,1.654502470391824,0.0215260531637,-0.000356149081371],[0.000000391994065,0.000000000129284,-0.000000391994064,-0.000000000129283,3.84011651060598e-16,2.93852369949996e-17,0.00000051813476,0.00000051813476,0.00000051813476,1.049984333111491,-0.000221515191747,1.049984332082862,-0.000221519468326,0.000123072388483,0.386762652148014,0.021757982937616,-0.000084151751863],[0.000002243965826,0.000000737547852,-0.00000224396581,-0.00000073754785,0.000000000000016,0.000000000000001,0.000003122161708,0.000003122161708,0.000003122161708,1.049984314744022,-0.000221691197982,1.049984307754231,-0.000221597379115,0.000741606099654,2.254734232838813,-0.063043286478076,0.001421458561728],[0.000005218913206,0.000000214502608,-0.000005218913174,-0.000000214502599,0.000000000000032,0.000000000000008,0.000006904143537,0.000006904143537,0.000006904143537,1.049984314744022,-0.000221691197982,1.04998430828691,-0.000221769731062,0.00163993906759,4.028532044734725,0.012180944906059,-0.000490713268892],[0.000000000000477,-1.590358835068e-18,-0.000000000000477,1.59035883507109e-18,1.0097419586829e-28,3.08476199192504e-30,0.000000000000631,0.000000000000631,0.000000000000631,1.049980720947758,-0.000190838614817,1.049980720947758,-0.000190838614818,0.000000000149911,0.000007746376574,-99.99941082057434,0.000007746330934],[0.000001062980263,0.000000000350871,-0.000001062980258,-0.00000000035087,0.000000000000005,3.61002547659723e-16,0.000001405044154,0.000001405044154,0.000001405044154,1.049980624471509,-0.000191188476031,1.04998061981144,-0.000191207850519,0.000333739701054,1.050419033043599,0.025249568064313,-0.000265226268709],[0.000000155997094,0.000000000051489,-0.000000155997093,-0.000000000051489,1.80244852467012e-16,1.37926478134244e-17,0.000000206196495,0.000000206196495,0.000000206196495,1.049980622344658,-0.000191197318529,1.04998062113144,-0.000191202362544,0.000048977789448,0.15413900062133,0.023530957970287,-0.000036270383452],[0.000001676975257,0.000000000553063,-0.000001676975255,-0.000000000553063,0.000000000000002,1.72090266623074e-16,0.000002216612854,0.000002216612854,0.000002216612854,1.049984442353284,-0.000220419477682,1.049984440945167,-0.000220425332002,0.000526511361924,1.654498834979221,0.02174585194969,-0.000359784867164],[0.000000391994094,0.000000000129283,-0.000000391994093,-0.000000000129283,6.35817499741238e-16,4.86538670699827e-17,0.0000005181348,0.0000005181348,0.0000005181348,1.049984332082862,-0.000221519468326,1.049984330379736,-0.000221526549162,0.000123072397852,0.386759017712104,0.022697920894882,-0.000087786255894],[0.00000224396581,0.000000737547817,-0.0000022439658,-0.000000737547816,0.00000000000001,7.41923781796567e-16,0.000003122161694,0.000003122161694,0.000003122161694,1.049984307754231,-0.000221597379115,1.049984303556862,-0.000221541040892,0.000741606096362,2.254730660128611,-0.062868978902314,0.00141752614302],[0.000005218913129,0.000000214502614,-0.000005218912928,-0.00000021450256,0.000000000000201,0.000000000000054,0.000006904143479,0.000006904143479,0.000006904143479,1.04998430828691,-0.000221769731062,1.049984267399002,-0.000222267020487,0.00163993905374,4.028528410604816,0.012275395714822,-0.000494517803886],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049980720947758,-0.000190838614818,1.049980720947758,-0.000190838614818,0.0,0.000003873188118,-99.997655031792121,0.000003873097293],[0.000001062980258,0.00000000035087,-0.000001062980224,-0.000000000350867,0.000000000000034,0.000000000000003,0.000001405044154,0.000001405044154,0.000001405044154,1.04998061981144,-0.000191207850519,1.049980585876294,-0.000191348937694,0.000333739701054,1.050415404173803,0.025595562564373,-0.000268859731961],[0.000001676974777,0.000000000553018,-0.000001676974775,-0.000000000553018,0.000000000000002,1.89017709806911e-16,0.000002216612223,0.000002216612223,0.000002216612223,1.049984440945167,-0.000220425332002,1.049984439398542,-0.000220431762179,0.000526511212008,1.65449519957512,0.021965652367145,-0.00036342066397],[0.000000391994108,0.000000000129283,-0.000000391994106,-0.000000000129283,0.000000000000002,1.5723488582562e-16,0.000000518134819,0.000000518134819,0.000000518134819,1.049984330379736,-0.000221526549162,1.049984324875738,-0.000221549432327,0.000123072402537,0.386755383289413,0.023637902549594,-0.000091420860607],[0.000002243965919,0.000000737547816,-0.00000224396591,-0.000000737547815,0.000000000000009,6.88241798214905e-16,0.000003122161844,0.000003122161844,0.000003122161844,1.049984303556862,-0.000221541040892,1.049984299663194,-0.000221488779038,0.000741606131966,2.254727087469695,-0.062699091840321,0.001413693407321],[0.000005218912972,0.000000214502642,-0.000005218912828,-0.000000214502604,0.000000000000144,0.000000000000038,0.000006904143542,0.000006904143542,0.000006904143542,1.049984267399002,-0.000222267020487,1.049984238131525,-0.000222622979185,0.001639939068841,4.028524777049314,0.012371867871568,-0.00049840376259],[0.000001676975252,0.000000000553033,-0.00000167697525,-0.000000000553032,0.000000000000002,1.81416621943696e-16,0.000002216612854,0.000002216612854,0.000002216612854,1.049984439398542,-0.000220431762179,1.049984437914113,-0.000220437933772,0.000526511361921,1.654491564059401,0.02218545143407,-0.000367056422425],[0.000000391994129,0.000000000129286,-0.000000391994124,-0.000000000129285,0.000000000000005,3.67398842204466e-16,0.000000518134849,0.000000518134849,0.000000518134849,1.049984324875738,-0.000221549432327,1.049984312014964,-0.000221602901679,0.000123072409565,0.386751748934298,0.024577949706325,-0.000095055650341],[0.000002243965791,0.000000737547808,-0.000002243965782,-0.000000737547807,0.000000000000009,6.715403201983e-16,0.000003122161691,0.000003122161691,0.000003122161691,1.049984299663194,-0.000221488779038,1.049984295864015,-0.000221437785425,0.000741606095631,2.25472351481694,-0.062529772072768,0.001409873474686],[0.000000413994162,0.000000000136561,-0.000000413994153,-0.000000000136561,0.000000000000008,6.43847955062595e-16,0.00000054721437,0.00000054721437,0.00000054721437,1.049984238131525,-0.000222622979185,1.04998421679135,-0.000222711702045,0.000129979659158,0.385513031120882,0.022207350224823,-0.000085612228983],[0.000004804918999,0.000000214365078,-0.000004804918649,-0.000000214364985,0.00000000000035,0.000000000000093,0.000006357422871,0.000006357422871,0.000006357422871,1.049984238131525,-0.000222622979185,1.049984160963497,-0.000223546031178,0.001510076677789,4.028463013885469,0.013902835490423,-0.000560070585613],[0.000001676974534,0.000000000553047,-0.000001676974531,-0.000000000553047,0.000000000000003,2.18786826357397e-16,0.000002216611907,0.000002216611907,0.000002216611907,1.049984437914113,-0.000220437933772,1.049984436123905,-0.000220445376661,0.000526511137056,1.65448792867622,0.022405249312001,-0.000370692145257],[0.000002243966021,0.0000007375478,-0.000002243966014,-0.000000737547799,0.000000000000007,5.03699894666913e-16,0.000003122161988,0.000003122161988,0.000003122161988,1.049984295864015,-0.000221437785425,1.049984293014375,-0.000221399536797,0.000741606166107,2.254719942250436,-0.062361947053271,0.001406087256586],[0.000000365994832,0.000000000120726,-0.000000365994831,-0.000000000120726,6.14901185779095e-16,4.70533114363319e-17,0.000000483769227,0.000000483769227,0.000000483769227,1.04998421679135,-0.000222711702045,1.049984215027247,-0.000222719036396,0.000114909553968,0.340813143153662,0.023502362298715,-0.000080099139666],[0.000000047999265,0.00000000001583,-0.000000047999265,-0.00000000001583,2.95255965427046e-17,2.25934905346028e-18,0.000000063445069,0.000000063445069,0.000000063445069,1.04998421679135,-0.000222711702045,1.049984216145462,-0.000222714387361,0.000015070087621,0.044696035868996,0.020953763777798,-0.000009365501774],[0.000000426993531,0.000000000140833,-0.000000426993521,-0.000000000140832,0.00000000000001,7.97369003760324e-16,0.00000056439688,0.00000056439688,0.00000056439688,1.049984160963497,-0.000223546031178,1.0499841353395,-0.000223652564313,0.000134061015514,0.421620026403236,0.024170661940137,-0.000101908351254],[0.00000437792545,0.000000214223156,-0.000004377925389,-0.00000021422314,0.00000000000006,0.000000000000016,0.000005793632747,0.000005793632747,0.000005793632747,1.049984160963497,-0.000223546031178,1.049984146312823,-0.00022371766907,0.001376159785034,3.606839415877213,0.012812479579769,-0.000462125563634],[0.000001676975128,0.000000000553055,-0.000001676975123,-0.000000000553054,0.000000000000005,3.4899288238338e-16,0.000002216612696,0.000002216612696,0.000002216612696,1.049984436123905,-0.000220445376661,1.049984433268295,-0.000220457249014,0.000526511324446,1.654484293181813,0.022625071126075,-0.000374328248102],[0.000002243965298,0.000000737547792,-0.000002243965288,-0.000000737547791,0.00000000000001,8.00160790931208e-16,0.000003122161085,0.000003122161085,0.000003122161085,1.049984293014375,-0.000221399536797,1.049984288487536,-0.000221338776331,0.000741605951753,2.254716369714159,-0.062193078581646,0.00140227752361],[0.000000365994891,0.000000000120737,-0.000000365994891,-0.000000000120737,1.92406392705011e-16,1.47232755558351e-17,0.000000483769305,0.000000483769305,0.000000483769305,1.049984215027247,-0.000222719036396,1.049984214475248,-0.000222721331359,0.000114909572708,0.340809291068119,0.024632913752866,-0.000083951258731],[0.00000004799928,0.000000000015831,-0.00000004799928,-0.000000000015831,6.01482926580056e-17,4.60265187584461e-18,0.000000063445089,0.000000063445089,0.000000063445089,1.049984216145462,-0.000222714387361,1.049984214829685,-0.000222719857774,0.000015070092306,0.044692183799842,0.029574711010764,-0.000013217584203],[0.000000426993521,0.000000000140833,-0.000000426993515,-0.000000000140833,0.000000000000006,4.61936989899858e-16,0.00000056439688,0.00000056439688,0.00000056439688,1.0499841353395,-0.000223652564313,1.049984120494839,-0.00022371428178,0.000134061015514,0.421616394929761,0.025032441907064,-0.000105540879131],[0.000004377927926,0.000000214216907,-0.000004377927812,-0.000000214216888,0.000000000000113,0.000000000000018,0.000005793635694,0.000005793635694,0.000005793635694,1.049984146312823,-0.00022371766907,1.049984118981016,-0.000223881910229,0.00137616048483,3.606835784334762,0.012914675499355,-0.000465811137341],[0.000001676975063,0.000000000553039,-0.000001676975051,-0.000000000553038,0.000000000000012,9.55154665728861e-16,0.000002216612617,0.000002216612617,0.000002216612617,1.049984433268295,-0.000220457249014,1.049984425452809,-0.000220489742325,0.000526511305705,1.65448065787557,0.022844900573103,-0.000377964461293],[0.000002243965646,0.000000737547798,-0.000002243965628,-0.000000737547797,0.000000000000018,0.000000000000001,0.000003122161538,0.000003122161538,0.000003122161538,1.049984288487536,-0.000221338776331,1.049984280855109,-0.000221236331827,0.000741606059296,2.254712797236861,-0.062017396783701,0.001398314181795],[0.000000365994652,0.000000000120722,-0.000000365994652,-0.000000000120722,1.23711544226655e-16,9.46663013401282e-18,0.00000048376899,0.00000048376899,0.00000048376899,1.049984214475248,-0.000222721331359,1.049984214120329,-0.000222722806954,0.000114909497751,0.340805438926334,0.02576350363866,-0.000087803421659],[0.00000437793111,0.000000214217101,-0.000004377930811,-0.000000214217053,0.000000000000299,0.000000000000048,0.000005793640061,0.000005793640061,0.000005793640061,1.049984118981016,-0.000223881910229,1.049984046884215,-0.000224315151316,0.00137616152218,3.606770425863142,0.014735699933794,-0.000531482867256],[-0.000000000002387,-0.000000000000119,0.000000000002387,0.000000000000119,1.61558713389263e-27,2.27191940703651e-28,0.00000000000316,0.00000000000316,0.00000000000316,1.049984118981016,-0.000223881910229,1.049984118981016,-0.000223881910225,0.000000000750492,0.000065497510196,-99.999616432451731,0.000065497258969],[0.000001676975081,0.000000000553044,-0.000001676975064,-0.000000000553043,0.000000000000017,0.000000000000001,0.000002216612657,0.000002216612657,0.000002216612657,1.049984425452809,-0.000220489742325,1.04998441505183,-0.000220532984958,0.000526511315075,1.654477022627561,0.023064784329323,-0.000381601557047],[0.000002243965494,0.000000737547759,-0.000002243965362,-0.000000737547749,0.000000000000132,0.00000000000001,0.000003122161354,0.000003122161354,0.000003122161354,1.049984280855109,-0.000221236331827,1.049984223665779,-0.00022046872107,0.000741606015493,2.254709224883242,-0.061766628716864,0.001392657875579],[0.000000365995129,0.000000000120722,-0.000000365995129,-0.000000000120722,7.46195792466044e-17,5.71001574848527e-18,0.000000483769621,0.000000483769621,0.000000483769621,1.049984214120329,-0.000222722806954,1.049984213906251,-0.000222723696992,0.000114909647663,0.340801587046994,0.026893994080062,-0.000091655158645],[0.000004079935534,0.000000116271546,-0.000004079935226,-0.000000116271497,0.000000000000307,0.000000000000049,0.000005395018268,0.000005395018268,0.000005395018268,1.049984046884215,-0.000224315151316,1.049983967517667,-0.000224881719386,0.001281477011718,3.606657899997398,0.017862065103239,-0.000644223582149],[0.000000297995218,0.000000097945189,-0.000000297995215,-0.000000097945188,0.000000000000002,1.79030061636861e-16,0.000000414618374,0.000000414618374,0.000000414618374,1.049984046884215,-0.000224315151316,1.04998403925727,-0.000224212780411,0.000098484173564,0.299263393938472,-0.092679764186449,0.000277356607799],[-0.000000000001432,-0.000000000000119,0.000000000001432,0.000000000000119,8.07793566946316e-28,1.26217744835362e-28,0.0000000000019,0.0000000000019,0.0000000000019,1.049984118981016,-0.000223881910225,1.049984118981017,-0.000223881910222,0.000000000451293,0.000061644610769,-99.99896485389101,0.000061643972657],[0.000001676974975,0.00000000055303,-0.000001676974973,-0.00000000055303,0.000000000000002,1.21071521407871e-16,0.000002216612538,0.000002216612538,0.000002216612538,1.04998441505183,-0.000220532984958,1.049984414061171,-0.000220537103678,0.000526511286965,1.654473387473685,0.023284614024169,-0.000385237742406],[0.000002243965377,0.000000737547693,-0.000002243965268,-0.000000737547685,0.000000000000108,0.000000000000008,0.000003122161349,0.000003122161349,0.000003122161349,1.049984223665779,-0.00022046872107,1.049984176749303,-0.000219838995376,0.000741606014503,2.254705653167433,-0.06145986392724,0.001385739026396],[0.000000365995607,0.000000000120782,-0.000000365995607,-0.000000000120782,7.54191254092533e-17,5.7712037201125e-18,0.000000483770252,0.000000483770252,0.000000483770252,1.049984213906251,-0.000222723696992,1.04998421368988,-0.000222724596564,0.00011490979758,0.340797734980034,0.02802458210164,-0.00009550714104],[0.000004079935226,0.000000116271579,-0.000004079934909,-0.000000116271528,0.000000000000317,0.000000000000051,0.000005395018271,0.000005395018271,0.000005395018271,1.049983967517667,-0.000224881719386,1.049983885602713,-0.000225466479568,0.001281477012452,3.606654271552481,0.01796985131967,-0.000648110410213],[0.000000297995141,0.000000097945188,-0.00000029799514,-0.000000097945188,2.50459225113183e-16,1.91655895043964e-17,0.000000414618281,0.000000414618281,0.000000414618281,1.04998403925727,-0.000224212780411,1.049984038440788,-0.000224201821366,0.000098484151266,0.299259821027384,-0.091474943018794,0.000273747750763],[-0.000000000001432,5.59719624711869e-18,0.000000000001432,-5.59719624700951e-18,4.03896783473158e-28,1.09184820407201e-28,0.000000000001893,0.000000000001893,0.000000000001893,1.049984118981017,-0.000223881910222,1.049984118981017,-0.000223881910218,0.000000000449734,0.000057791711095,-99.999695706040924,0.000057791535238],[0.000001676974973,0.000000000553,-0.000001676974972,-0.000000000553,0.000000000000001,9.5750221909314e-17,0.000002216612538,0.000002216612538,0.000002216612538,1.049984414061171,-0.000220537103678,1.049984413277701,-0.000220540360997,0.000526511286962,1.65446975236364,0.023504401994272,-0.000388873221469],[0.000002243965298,0.000000737547652,-0.000002243965264,-0.000000737547649,0.000000000000034,0.000000000000003,0.000003122161373,0.000003122161373,0.000003122161373,1.049984176749303,-0.000219838995376,1.049984161884533,-0.000219639476392,0.000741606020159,2.254702081978369,-0.061213467809728,0.001380181333157],[0.000000365994413,0.000000000120752,-0.000000365994413,-0.000000000120752,6.73646891138121e-17,5.1548663275192e-18,0.000000483768674,0.000000483768674,0.000000483768674,1.04998421368988,-0.000222724596564,1.049984213496616,-0.00022272540007,0.000114909422799,0.340793882988146,0.029155132585442,-0.000099358908428],[0.000003841939139,0.0000001161929,-0.000003841939021,-0.000000116192881,0.000000000000118,0.000000000000019,0.00000508056959,0.00000508056959,0.00000508056959,1.049983885602713,-0.000225466479568,1.049983853183672,-0.000225694770732,0.001206786115022,3.371308595188908,0.018993333608645,-0.000640323888461],[0.000000237995868,0.000000000078393,-0.000000237995864,-0.000000000078393,0.000000000000003,2.44210922886474e-16,0.000000314581254,0.000000314581254,0.000000314581254,1.049983885602713,-0.000225466479568,1.049983871522657,-0.000225525018499,0.000074722387386,0.235342067234291,0.004927154545766,-0.000011595667364],[0.000000297995379,0.000000097945188,-0.000000297995379,-0.000000097945188,9.56289080142672e-17,7.31767645000751e-18,0.00000041461858,0.00000041461858,0.00000041461858,1.049984038440788,-0.000224201821366,1.049984038129044,-0.000224197637052,0.000098484222474,0.299256248199343,-0.090280507320666,0.000270170059063],[-0.000000000002387,-0.000000000000119,0.000000000002387,0.000000000000119,1.61558713389263e-27,3.02922587604869e-28,0.00000000000316,0.00000000000316,0.00000000000316,1.049984118981017,-0.000223881910218,1.049984118981018,-0.000223881910213,0.000000000750492,0.000053939111218,-99.999264980080127,0.000053938714755],[0.000001676975449,0.000000000553029,-0.000001676975448,-0.000000000553029,0.000000000000001,9.29964834697948e-17,0.000002216613169,0.000002216613169,0.000002216613169,1.049984413277701,-0.000220540360997,1.049984412516764,-0.000220543524634,0.000526511436877,1.654466117036569,0.023724179923247,-0.000392508518375],[0.000002243965204,0.000000737547625,-0.000002243965173,-0.000000737547623,0.000000000000031,0.000000000000002,0.000003122161288,0.000003122161288,0.000003122161288,1.049984161884533,-0.000219639476392,1.04998414835206,-0.000219457839852,0.00074160599998,2.254698511011325,-0.061014687064933,0.001375697240751],[0.000000365993697,0.000000000120752,-0.000000365993697,-0.000000000120752,7.58963755354719e-17,5.80772617399976e-18,0.000000483767728,0.000000483767728,0.000000483767728,1.049984213496616,-0.00022272540007,1.049984213278874,-0.000222726305341,0.000114909197932,0.340790030921372,0.030285819471159,-0.000103211053541],[0.000003841939006,0.000000116192913,-0.000003841938845,-0.000000116192887,0.000000000000161,0.000000000000026,0.000005080569572,0.000005080569572,0.000005080569572,1.049983853183672,-0.000225694770732,1.049983809131243,-0.000226004982881,0.001206786110641,3.371304968791736,0.019104548045363,-0.000644072577519],[0.000000237995857,0.000000000078393,-0.000000237995856,-0.000000000078393,4.28102362943144e-16,3.27591399720865e-17,0.000000314581244,0.000000314581244,0.000000314581244,1.049983871522657,-0.000225525018499,1.049983869633919,-0.000225532871076,0.000074722385044,0.23533844041498,0.006468436874105,-0.000015222718459],[0.000000297994782,0.000000097945143,-0.000000297994782,-0.000000097945143,1.01156115632457e-16,7.74063705826303e-18,0.000000414617812,0.000000414617812,0.000000414617812,1.049984038129044,-0.000224197637052,1.04998403779928,-0.000224193210876,0.000098484040066,0.299252675274533,-0.089086756328859,0.000266594501629],[-0.00000000000191,7.46292832918127e-18,0.00000000000191,-7.46292832904636e-18,8.07793566946316e-28,1.34907540744437e-28,0.000000000002525,0.000000000002525,0.000000000002525,1.049984118981018,-0.000223881910213,1.049984118981018,-0.000223881910209,0.000000000599645,0.000050086212283,-99.999200736887388,0.000050085811963],[0.000001676975448,0.000000000553029,-0.000001676975447,-0.000000000553029,0.000000000000001,9.9609239186724e-17,0.000002216613169,0.000002216613169,0.000002216613169,1.049984412516764,-0.000220543524634,1.049984411701719,-0.000220546913231,0.000526511436877,1.654462482098375,0.023943964427025,-0.000396143908172],[0.000002243965322,0.000000737547617,-0.000002243965305,-0.000000737547616,0.000000000000017,0.000000000000001,0.000003122161473,0.000003122161473,0.000003122161473,1.04998414835206,-0.000219457839852,1.04998414098155,-0.000219358910873,0.000741606043936,2.254694940150078,-0.060826598195331,0.001371454231776],[0.000000365994652,0.000000000120692,-0.000000365994652,-0.000000000120692,6.08085482229454e-17,4.6531732726936e-18,0.00000048376899,0.00000048376899,0.00000048376899,1.049984213278874,-0.000222726305341,1.049984213104419,-0.000222727030647,0.000114909497748,0.340786179154394,0.031416468745956,-0.000107062983465],[0.000003841938815,0.000000116192926,-0.000003841938627,-0.000000116192896,0.000000000000188,0.00000000000003,0.000005080569534,0.000005080569534,0.000005080569534,1.049983809131243,-0.000226004982881,1.049983757554726,-0.000226368178795,0.001206786101647,3.371301343185702,0.019216646655588,-0.000647851066815],[0.000000237995886,0.000000000078392,-0.000000237995886,-0.000000000078392,2.24915120173937e-16,1.72108959819243e-17,0.000000314581283,0.000000314581283,0.000000314581283,1.049983869633919,-0.000225532871076,1.04998386864162,-0.000225536996639,0.000074722394413,0.235334813633733,0.008009685133563,-0.000018849577582],[0.00000029799526,0.000000097945188,-0.000000297995259,-0.000000097945188,8.39510235891498e-17,6.42405669065422e-18,0.00000041461843,0.00000041461843,0.00000041461843,1.04998403779928,-0.000224193210876,1.049984037525605,-0.000224189537533,0.00009848418687,0.299249102409834,-0.08789303669636,0.000263019123395],[-0.00000000000191,-0.000000000000119,0.00000000000191,0.000000000000119,1.21169035041947e-27,2.01948391736579e-28,0.000000000002529,0.000000000002529,0.000000000002529,1.049984118981018,-0.000223881910209,1.049984118981019,-0.000223881910205,0.000000000600815,0.000046233461769,-99.999207728783233,0.000046233095475],[0.000001676975924,0.000000000553029,-0.000001676975923,-0.000000000553029,0.000000000000001,9.2096310268641e-17,0.0000022166138,0.0000022166138,0.0000022166138,1.049984411701719,-0.000220546913231,1.049984410948147,-0.000220550046245,0.000526511586788,1.654458846887567,0.024163709957422,-0.000399778637127],[0.000002243965245,0.000000737547605,-0.000002243965232,-0.000000737547604,0.000000000000014,0.000000000000001,0.000003122161394,0.000003122161394,0.000003122161394,1.04998414098155,-0.000219358910873,1.049984135095043,-0.000219279900576,0.000741606025037,2.254691369424001,-0.060649416731008,0.00136745716464],[0.000000365995129,0.000000000120782,-0.000000365995129,-0.000000000120782,7.29401246704359e-17,5.58151450694547e-18,0.000000483769621,0.000000483769621,0.000000483769621,1.049984213104419,-0.000222727030647,1.04998421289516,-0.000222727900653,0.000114909647669,0.340782326937535,0.032547233183696,-0.000110915218597],[0.000003841938612,0.000000116192937,-0.000003841938461,-0.000000116192913,0.000000000000151,0.000000000000024,0.000005080569516,0.000005080569516,0.000005080569516,1.049983757554726,-0.000226368178795,1.049983716140857,-0.000226659810515,0.001206786097354,3.37129771850084,0.019328590690125,-0.000651624336955],[0.000000064999004,0.00000000002144,-0.000000064999004,-0.00000000002144,9.52094281820293e-17,7.28559294778641e-18,0.000000085915225,0.000000085915225,0.000000085915225,1.04998386864162,-0.000225536996639,1.049983867103583,-0.000225543391111,0.000020407416567,0.064266960730291,0.015214506627469,-0.000009777901],[0.000000172997218,0.000000000056959,-0.000000172997218,-0.000000000056959,2.20117657909587e-17,1.68437848508696e-18,0.000000228666503,0.000000228666503,0.000000228666503,1.04998386864162,-0.000225536996639,1.049983868508019,-0.000225537552096,0.000054315083253,0.171064226006468,0.007423216992877,-0.000012698468694],[0.000000297994663,0.000000097945173,-0.000000297994662,-0.000000097945173,9.94183216620462e-17,7.6076661204339e-18,0.000000414617675,0.000000414617675,0.000000414617675,1.049984037525605,-0.000224189537533,1.049984037201507,-0.000224185187391,0.000098484007388,0.299245529528131,-0.086699226964362,0.000259443560826],[-0.000000000001432,-0.00000000000006,0.000000000001432,0.00000000000006,8.07793566946316e-28,5.04870979341448e-29,0.000000000001895,0.000000000001895,0.000000000001895,1.049984118981019,-0.000223881910205,1.049984118981019,-0.000223881910204,0.000000000450124,0.00004238055988,-99.999059503700138,0.000042380161292],[0.0000016769764,0.000000000553119,-0.000001676976399,-0.000000000553119,0.000000000000001,8.67911069667176e-17,0.000002216614432,0.000002216614432,0.000002216614432,1.049984410948147,-0.000220550046245,1.049984410237986,-0.000220552998778,0.000526511736708,1.654455211734952,0.024383517526687,-0.000403414376525],[0.000002243965053,0.000000737547592,-0.000002243965041,-0.000000737547591,0.000000000000012,8.87245942304317e-16,0.000003122161164,0.000003122161164,0.000003122161164,1.049984135095043,-0.000219279900576,1.049984130075527,-0.000219212527254,0.000741605970534,2.254687798714017,-0.060475591854138,0.001363535790735],[0.000000365994413,0.000000000120662,-0.000000365994413,-0.000000000120662,7.86014281920877e-17,6.0147120698174e-18,0.000000483768674,0.000000483768674,0.000000483768674,1.04998421289516,-0.000222727900653,1.049984212669658,-0.000222728838189,0.000114909422789,0.340778475020721,0.033677835068198,-0.000114766812765],[0.000003746941127,0.000000116161481,-0.000003746941074,-0.000000116161472,0.000000000000053,0.000000000000009,0.00000495506025,0.00000495506025,0.00000495506025,1.049983716140857,-0.000226659810515,1.049983701140322,-0.000226764812103,0.001176973920451,3.37124698308421,0.020833005333874,-0.000702332063804],[0.000000094997424,0.000000000031368,-0.000000094997424,-0.000000000031368,3.22173243122689e-16,2.46532558795155e-17,0.000000125566943,0.000000125566943,0.000000125566943,1.049983716140857,-0.000226659810515,1.049983712579863,-0.000226674615466,0.000029825877007,0.088441001918455,-0.018752252805349,0.000016584680263],[0.000000064998981,0.000000000021439,-0.000000064998981,-0.000000000021439,7.7393426860405e-17,5.92228007443089e-18,0.000000085915195,0.000000085915195,0.000000085915195,1.049983867103583,-0.000225543391111,1.049983865853349,-0.000225548589023,0.00002040740954,0.064263333968582,0.020858959858789,-0.000013404663036],[0.000000172997457,0.000000000057004,-0.000000172997457,-0.000000000057004,1.59177343123784e-17,1.21805401889291e-18,0.000000228666818,0.000000228666818,0.000000228666818,1.049983868508019,-0.000225537552096,1.049983868411406,-0.000225537953772,0.000054315158214,0.171060599250219,0.009543669774436,-0.000016325458707],[0.000000297994424,0.000000097945128,-0.000000297994424,-0.000000097945128,9.69568968568844e-17,7.41929393389843e-18,0.000000414617357,0.000000414617357,0.000000414617357,1.049984037201507,-0.000224185187391,1.049984036885433,-0.000224180944946,0.000098483931791,0.299241956638507,-0.085505379881416,0.000255867971788],[-0.000000000001432,-0.000000000000119,0.000000000001432,0.000000000000119,4.03896783473158e-28,1.0097419586829e-28,0.0000000000019,0.0000000000019,0.0000000000019,1.049984118981019,-0.000223881910204,1.04998411898102,-0.000223881910202,0.000000000451293,0.000038527359425,-99.999019081316831,0.000038526981503],[0.000001676975206,0.000000000553059,-0.000001676975204,-0.000000000553059,0.000000000000002,1.20709653671321e-16,0.000002216612854,0.000002216612854,0.000002216612854,1.049984410237986,-0.000220552998778,1.049984409250287,-0.000220557105187,0.000526511361924,1.654451576840004,0.02460326390483,-0.000407049087628],[0.000002243965161,0.000000737547584,-0.000002243965147,-0.000000737547583,0.000000000000014,0.000000000000001,0.000003122161311,0.000003122161311,0.000003122161311,1.049984130075527,-0.000219212527254,1.049984124185088,-0.00021913346419,0.000741606005407,2.254684228099261,-0.060301761807381,0.001359614312737],[0.000000365994174,0.000000000120707,-0.000000365994174,-0.000000000120707,1.43404107338252e-16,1.09735297679215e-17,0.000000483768359,0.000000483768359,0.000000483768359,1.049984212669658,-0.000222728838189,1.049984212258243,-0.000222730548673,0.000114909347839,0.340774622616552,0.034808727377289,-0.000118619309358],[0.000003746940984,0.000000116161472,-0.00000374694091,-0.00000011616146,0.000000000000074,0.000000000000012,0.000004955060132,0.000004955060132,0.000004955060132,1.049983701140322,-0.000226764812103,1.049983680458946,-0.000226909578774,0.001176973892356,3.371243359416451,0.020942214213622,-0.000706013005991],[0.000000094997409,0.000000000031368,-0.000000094997409,-0.000000000031368,2.6929449823793e-16,2.06068837830999e-17,0.000000125566924,0.000000125566924,0.000000125566924,1.049983712579863,-0.000226674615466,1.049983709603341,-0.000226686990463,0.000029825872322,0.088437147410064,-0.014394577663137,0.000012730153867],[0.000000172996741,0.000000000056974,-0.000000172996741,-0.000000000056974,1.34330161011671e-17,1.02791839315139e-18,0.000000228665871,0.000000228665871,0.000000228665871,1.049983868411406,-0.000225537953772,1.049983868329874,-0.000225538292749,0.000054314933344,0.171056972690617,0.011663790008733,-0.00001995172609],[0.000000297994543,0.000000097945151,-0.000000297994543,-0.000000097945151,1.33295139689686e-16,1.01999972206159e-17,0.000000414617516,0.000000414617516,0.000000414617516,1.049984036885433,-0.000224180944946,1.049984036450898,-0.000224175112492,0.000098483969589,0.299238383822537,-0.084311375151678,0.000252291996382],[-0.000000000000955,-0.000000000000119,0.000000000000955,0.000000000000119,2.01948391736579e-28,2.52435489670724e-29,0.000000000001272,0.000000000001272,0.000000000001272,1.04998411898102,-0.000223881910202,1.04998411898102,-0.000223881910202,0.000000000302156,0.000034674608911,-99.999420088380205,0.000034674407829],[0.000001676974965,0.000000000553059,-0.000001676974963,-0.000000000553059,0.000000000000002,1.47924684024042e-16,0.000002216612538,0.000002216612538,0.000002216612538,1.049984409250287,-0.000220557105187,1.049984408039904,-0.000220562137422,0.000526511286969,1.654447941934727,0.024823041578853,-0.000410684300527],[0.000002243965087,0.000000737547583,-0.000002243965075,-0.000000737547582,0.000000000000012,9.51376394927716e-16,0.000003122161236,0.000003122161236,0.000003122161236,1.049984124185088,-0.00021913346419,1.04998411880276,-0.00021906122112,0.000741605987605,2.254680657484052,-0.060127416909204,0.001355681238897],[0.000000365994532,0.000000000120715,-0.000000365994531,-0.000000000120714,0.000000000000001,8.20992664383565e-17,0.000000483768832,0.000000483768832,0.000000483768832,1.049984212258243,-0.000222730548673,1.049984209180207,-0.000222743345765,0.000114909460273,0.340770770671507,0.035939511851226,-0.000122471351511],[0.000003746940881,0.000000116161507,-0.0000037469407,-0.000000116161478,0.000000000000181,0.000000000000029,0.000004955060094,0.000004955060094,0.000004955060094,1.049983680458946,-0.000226909578774,1.049983629582118,-0.000227265709278,0.001176973883445,3.371239736118845,0.021053120061708,-0.000709751149213],[0.000000049999231,0.000000000016492,-0.000000049999231,-0.000000000016492,5.42574762948725e-17,4.15187626612918e-18,0.00000006608864,0.00000006608864,0.00000006608864,1.049983709603341,-0.000226686990463,1.049983708463905,-0.000226691727727,0.000015698014185,0.046529271246941,0.021352303419345,-0.000009935071175],[0.000000044998178,0.000000000014863,-0.000000044998178,-0.000000000014863,1.59127712287031e-18,1.21767406511076e-19,0.000000059478283,0.000000059478283,0.000000059478283,1.049983709603341,-0.000226686990463,1.049983709566209,-0.000226687144839,0.000014127858135,0.041904021535129,-0.044889632276926,0.000018810561176],[0.000000172996979,0.000000000057034,-0.000000172996979,-0.000000000057034,2.26899744839134e-17,1.73628024281433e-18,0.000000228666187,0.000000228666187,0.000000228666187,1.049983868329874,-0.000225538292749,1.049983868192156,-0.000225538865319,0.000054315008306,0.171053345849599,0.013784428196567,-0.000023578725636],[0.000000297994662,0.000000097945158,-0.000000297994662,-0.000000097945158,1.833690805534e-16,1.40316963413085e-17,0.000000414617669,0.000000414617669,0.000000414617669,1.049984036450898,-0.000224175112492,1.049984035853125,-0.000224167089007,0.000098484005925,0.299234810944702,-0.08311690027551,0.000248714699403],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.04998411898102,-0.000223881910202,1.04998411898102,-0.000223881910204,0.0,0.000030822007557,-99.998702187675264,0.000030821607545],[0.000001676975083,0.000000000553081,-0.000001676975074,-0.00000000055308,0.000000000000009,7.01124794112837e-16,0.000002216612696,0.000002216612696,0.000002216612696,1.049984408039904,-0.000220562137422,1.049984402302999,-0.000220585988908,0.000526511324449,1.654444306794746,0.025042853784244,-0.000414320068692],[0.000002243965194,0.000000737547567,-0.000002243965175,-0.000000737547566,0.000000000000019,0.000000000000001,0.00000312216138,0.00000312216138,0.00000312216138,1.04998411880276,-0.00021906122112,1.04998411045272,-0.00021894914461,0.000741606021746,2.254677087031526,-0.059949566746077,0.001351669145198],[0.000000365994471,0.000000000120712,-0.000000365994468,-0.000000000120711,0.000000000000003,2.51592660481192e-16,0.000000483768753,0.000000483768753,0.000000483768753,1.049984209180207,-0.000222743345765,1.049984199747588,-0.000222782562382,0.000114909441534,0.340766918667874,0.037070350494639,-0.00012632349112],[0.000003746940745,0.000000116161519,-0.000003746940598,-0.000000116161496,0.000000000000147,0.000000000000023,0.000004955060155,0.000004955060155,0.000004955060155,1.049983629582118,-0.000227265709278,1.049983588345713,-0.000227554358203,0.001176973897892,3.371236113751565,0.021164975649907,-0.000713521302576],[0.000000049999231,0.000000000016493,-0.00000004999923,-0.000000000016493,5.31665177111436e-17,4.06839408708951e-18,0.00000006608864,0.00000006608864,0.00000006608864,1.049983708463905,-0.000226691727727,1.04998370734738,-0.000226696369738,0.000015698014185,0.046525416785362,0.029638719891094,-0.000013789537959],[0.000000044998417,0.000000000014863,-0.000000044998417,-0.000000000014863,1.52148293150554e-18,1.16427154325828e-19,0.000000059478599,0.000000059478599,0.000000059478599,1.049983709566209,-0.000226687144839,1.049983709530706,-0.000226687292444,0.000014127933091,0.041900167101647,-0.035694121515787,0.000014955896561],[0.000000172997337,0.000000000057079,-0.000000172997337,-0.000000000057079,3.17747734201302e-17,2.43146391624716e-18,0.00000022866666,0.00000022866666,0.00000022866666,1.049983868192156,-0.000225538865319,1.049983867999298,-0.000225539667134,0.000054315120744,0.171049719077185,0.01590511120919,-0.000027205648042],[0.000000297994483,0.000000097945165,-0.000000297994483,-0.000000097945165,1.94056201128026e-16,1.48495331216622e-17,0.000000414617447,0.000000414617447,0.000000414617447,1.049984035853125,-0.000224167089007,1.049984035220513,-0.000224158597887,0.00009848395325,0.299231238123905,-0.081922139375208,0.00024513663195],[0.000000000000955,-0.000000000000119,-0.000000000000955,0.000000000000119,0.0,5.04870979341448e-29,0.000000000001272,0.000000000001272,0.000000000001272,1.04998411898102,-0.000223881910204,1.04998411898102,-0.000223881910208,0.000000000302156,0.000026969708709,-99.998694681345981,0.000026969356668],[0.000001676974977,0.000000000553082,-0.000001676974898,-0.000000000553076,0.000000000000078,0.000000000000006,0.000002216612568,0.000002216612568,0.000002216612568,1.049984402302999,-0.000220585988908,1.049984353250834,-0.0002207899259,0.000526511293998,1.654440671808376,0.025262947755205,-0.00041796048256],[0.000002243965115,0.000000737547543,-0.000002243965076,-0.00000073754754,0.000000000000039,0.000000000000003,0.000003122161296,0.000003122161296,0.000003122161296,1.04998411045272,-0.00021894914461,1.049984093594819,-0.000218722873286,0.00074160600175,2.254673516616441,-0.059755352710098,0.001347288112315],[0.000003746940553,0.000000116161531,-0.000003746940439,-0.000000116161513,0.000000000000115,0.000000000000018,0.000004955060097,0.000004955060097,0.000004955060097,1.049983588345713,-0.000227554358203,1.049983556124791,-0.000227779900036,0.001176973884189,3.371232492141234,0.021275919324063,-0.000717260705255],[0.000000044998655,0.000000000014818,-0.000000044998655,-0.000000000014818,1.64025283257835e-18,1.25514531454767e-19,0.000000059478914,0.000000059478914,0.000000059478914,1.049983709530706,-0.000226687292444,1.049983709492432,-0.000226687451571,0.000014128008042,0.041896312743113,-0.026498364698315,0.000011101837746],[0.000000172996741,0.000000000057064,-0.000000172996741,-0.000000000057064,2.35775061939583e-17,1.8041917000191e-18,0.000000228665871,0.000000228665871,0.000000228665871,1.049983867999298,-0.000225539667134,1.049983867856194,-0.000225540262099,0.000054314933353,0.171046092273793,0.018025918655843,-0.000030832629457],[0.000000297994184,0.000000097945136,-0.000000297994184,-0.000000097945136,1.28906026715251e-16,9.86410895236015e-18,0.00000041461706,0.00000041461706,0.00000041461706,1.049984035220513,-0.000224158597887,1.049984034800286,-0.000224152957467,0.000098483861315,0.299227665324019,-0.080727631775412,0.000241559407833],[-4.66433020564084e-19,-0.000000000000119,4.66433020569243e-19,0.000000000000119,5.15879594903565e-30,-2.52435489670724e-29,0.000000000000158,0.000000000000158,0.000000000000158,1.04998411898102,-0.000223881910208,1.04998411898102,-0.000223881910211,0.000000000037478,0.000023116656921,-99.999234090505169,0.000023116479868],[0.000002194965858,0.000000721442434,-0.000002194965846,-0.000000721442433,0.000000000000011,8.5165435901452e-16,0.000003053985777,0.000003053985777,0.000003053985777,1.049984093594819,-0.000218722873286,1.049984088669101,-0.000218656758958,0.000725412292107,2.205433635999816,-0.058979904603098,0.001300762654597],[0.000000048999264,0.000000016105093,-0.000000048999264,-0.000000016105093,3.30647582766842e-17,2.53017674895475e-18,0.000000068175569,0.000000068175569,0.000000068175569,1.049984093594819,-0.000218722873286,1.049984092939286,-0.000218714074549,0.000016193721714,0.049236310460107,-0.085826312457039,0.000042257709658],[0.000003746940469,0.000000116161543,-0.000003746940365,-0.000000116161526,0.000000000000104,0.000000000000017,0.000004955060138,0.000004955060138,0.000004955060138,1.049983556124791,-0.000227779900036,1.049983527003305,-0.000227983746261,0.001176973893844,3.371228871134967,0.021386267886314,-0.000720980037442],[0.000000044998894,0.000000000014803,-0.000000044998894,-0.000000000014803,1.46463246236599e-18,1.12075460520763e-19,0.00000005947923,0.00000005947923,0.00000005947923,1.049983709492432,-0.000226687451571,1.049983709458256,-0.00022668759366,0.000014128082996,0.041892458309565,-0.017299671233032,0.000007247257559],[0.000000172997218,0.000000000057071,-0.000000172997218,-0.000000000057071,3.9057271533047e-17,2.98873179846078e-18,0.000000228666503,0.000000228666503,0.000000228666503,1.049983867856194,-0.000225540262099,1.049983867619135,-0.000225541247684,0.000054315083265,0.171042465468363,0.020146503086804,-0.000034459075585],[0.000000297994662,0.00000009794518,-0.000000297994662,-0.00000009794518,1.31195609711238e-16,1.00393124235438e-17,0.000000414617678,0.000000414617678,0.000000414617678,1.049984034800286,-0.000224152957467,1.049984034372595,-0.000224147216877,0.000098484008119,0.299224092509269,-0.079533332710635,0.000237982893046],[-4.66433020569243e-19,-0.000000000000119,4.66433020571876e-19,0.000000000000119,2.63370919894955e-30,0.0,0.000000000000158,0.000000000000158,0.000000000000158,1.04998411898102,-0.000223881910211,1.04998411898102,-0.000223881910212,0.000000000037478,0.000019264204233,-99.998172988570957,0.000019263852274],[0.000002194966025,0.000000721442433,-0.000002194966016,-0.000000721442432,0.00000000000001,7.42722957382301e-16,0.000003053986002,0.000003053986002,0.000003053986002,1.049984088669101,-0.000218656758958,1.049984084373409,-0.000218599101028,0.000725412345513,2.205430065791372,-0.058804965239256,0.001296902383565],[0.000000048999256,0.000000016105094,-0.000000048999256,-0.000000016105094,5.29084108902475e-17,4.04864874303059e-18,0.00000006817556,0.00000006817556,0.00000006817556,1.049984092939286,-0.000218714074549,1.049984091890338,-0.000218699995289,0.000016193719535,0.049232740221719,-0.078578358186486,0.000038686278956],[0.000000349994608,0.000000115036248,-0.000000349994608,-0.000000115036248,1.68166003820488e-16,1.28683627627037e-17,0.000000486968393,0.000000486968393,0.000000486968393,1.049983527003305,-0.000227983746261,1.049983526536543,-0.000227977481264,0.000115669451058,0.351332562138475,-0.083307344489828,0.000292685827846],[0.000003396944176,0.000000001128146,-0.000003396944121,-0.000000001128134,0.000000000000055,0.000000000000013,0.000004490058313,0.000004490058313,0.000004490058313,1.049983527003305,-0.000227983746261,1.049983510128185,-0.000228195047317,0.001066522155023,3.371131118117551,0.024282843758491,-0.000818606502306],[0.000000044998417,0.000000000014833,-0.000000044998417,-0.000000000014833,1.61742926511679e-18,1.23767920204315e-19,0.000000059478599,0.000000059478599,0.000000059478599,1.049983709458256,-0.00022668759366,1.049983709420515,-0.000226687750573,0.000014127933088,0.041888603876018,-0.008099577250703,0.00000339279983],[0.000000172997337,0.00000000005706,-0.000000172997337,-0.00000000005706,2.71097738738406e-16,2.07448704468955e-17,0.00000022866666,0.00000022866666,0.00000022866666,1.049983867619135,-0.000225541247684,1.049983865973702,-0.000225548088657,0.000054315120742,0.171038838630316,0.022267515408361,-0.000038086099746],[0.000000297994304,0.000000097945203,-0.000000297994303,-0.000000097945203,6.27301483429102e-17,4.80022835631873e-18,0.000000414617237,0.000000414617237,0.000000414617237,1.049984034372595,-0.000224147216877,1.049984034168098,-0.000224144472054,0.000098483903502,0.299220519680436,-0.078339361024698,0.000234407443172],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.04998411898102,-0.000223881910212,1.04998411898102,-0.000223881910212,0.0,0.00001541145175,-99.997634401008256,0.000015411087177],[0.000002194966016,0.000000721442418,-0.000002194966008,-0.000000721442417,0.000000000000008,6.14265752249977e-16,0.000003053985996,0.000003053985996,0.000003053985996,1.049984084373409,-0.000218599101028,1.049984080820677,-0.000218551415295,0.00072541234405,2.205426495735955,-0.058631985606737,0.001293085345547],[0.000000048999278,0.000000016105093,-0.000000048999278,-0.000000016105093,4.52050763688881e-17,3.45916675130081e-18,0.000000068175588,0.000000068175588,0.000000068175588,1.049984091890338,-0.000218699995289,1.049984090994114,-0.000218687965942,0.000016193726165,0.049229170019809,-0.071329072128743,0.000035114710192],[0.000000349994966,0.000000115036256,-0.000000349994966,-0.000000115036256,1.68608049139836e-16,1.29021779061449e-17,0.000000486968846,0.000000486968846,0.000000486968846,1.049983526536543,-0.000227977481264,1.049983526068554,-0.000227971199808,0.000115669558601,0.351328987976825,-0.082289518884159,0.000289106933907],[0.000003396945539,0.00000000112484,-0.000003396945451,-0.000000001124826,0.000000000000087,0.000000000000014,0.000004490060186,0.000004490060186,0.000004490060186,1.049983510128185,-0.000228195047317,1.049983483166547,-0.000228429822211,0.001066522599725,3.371123877752661,0.024497513121502,-0.000825841514295],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049983510128185,-0.000228195047317,1.049983510128185,-0.000228195047317,0.0,0.000003855510608,-99.99999775782122,0.000003855510522],[0.000000044998894,0.000000000014833,-0.000000044998894,-0.000000000014833,1.04282328952315e-18,7.97987534654956e-20,0.00000005947923,0.00000005947923,0.00000005947923,1.049983709420515,-0.000226687750573,1.049983709396181,-0.00022668785174,0.000014128082999,0.041884749292309,0.001102186034078,-0.000000461647857],[0.000000172997337,0.000000000057063,-0.000000172997336,-0.000000000057063,5.98821588764452e-16,4.58228725332658e-17,0.00000022866666,0.00000022866666,0.00000022866666,1.049983865973702,-0.000225548088657,1.049983862339145,-0.000225563199524,0.000054315120742,0.171035211884408,0.024388485705802,-0.000041712898202],[0.000000297994662,0.000000097945203,-0.000000297994661,-0.000000097945203,9.9780057670083e-17,7.63534027500748e-18,0.000000414617687,0.000000414617687,0.000000414617687,1.049984034168098,-0.000224144472054,1.049984033842821,-0.00022414010608,0.000098484010313,0.299216946924449,-0.077145509459182,0.000230832438093],[-1.16608255142776e-19,-0.00000000000003,1.16608255143956e-19,0.00000000000003,1.18016172167189e-30,0.0,0.000000000000039,0.000000000000039,0.000000000000039,1.04998411898102,-0.000223881910212,1.04998411898102,-0.000223881910214,0.000000000009369,0.00001155862641,-99.999312732635005,0.000011558546972],[0.000002194966008,0.000000721442417,-0.000002194966001,-0.000000721442416,0.000000000000006,4.7768306593376e-16,0.000003053985996,0.000003053985996,0.000003053985996,1.049984080820677,-0.000218551415295,1.0499840780579,-0.000218514332553,0.00072541234405,2.205422925683158,-0.05846119955507,0.001289316697617],[0.000000048999278,0.000000016105093,-0.000000048999278,-0.000000016105093,2.55843125344609e-17,1.95775783890071e-18,0.000000068175588,0.000000068175588,0.000000068175588,1.049984090994114,-0.000218687965942,1.049984090486886,-0.000218681157803,0.000016193726165,0.049225599863964,-0.06407959162142,0.000031543563366],[0.000000349994966,0.000000115036256,-0.000000349994965,-0.000000115036256,1.68935321494831e-16,1.29272315525379e-17,0.000000486968846,0.000000486968846,0.000000486968846,1.049983526068554,-0.000227971199808,1.049983525599657,-0.000227964906162,0.000115669558601,0.351325413791619,-0.08127171405669,0.000285528185705],[0.000003396945347,0.000000001124833,-0.000003396945274,-0.000000001124822,0.000000000000073,0.000000000000012,0.000004490060047,0.000004490060047,0.000004490060047,1.049983483166547,-0.000228429822211,1.049983460560122,-0.000228626673053,0.001066522566932,3.371116638495387,0.024712828203074,-0.000833098263397],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049983483166547,-0.000228429822211,1.049983483166547,-0.000228429822211,0.0,0.000003855644751,-99.999998639641134,0.000003855644698],[0.000000044999133,0.000000000014848,-0.000000044999133,-0.000000000014848,1.60172606836808e-18,1.225668022561e-19,0.000000059479546,0.000000059479546,0.000000059479546,1.049983709396181,-0.00022668785174,1.049983709358806,-0.000226688007127,0.000014128157956,0.041880895008988,0.010305053672463,-0.000004315848709],[0.000000297994661,0.000000097945158,-0.000000297994661,-0.000000097945158,9.36713619336033e-17,7.16788396724151e-18,0.000000414617669,0.000000414617669,0.000000414617669,1.049984033842821,-0.00022414010608,1.049984033537457,-0.000224136007401,0.000098484005925,0.299213374135061,-0.075951432893579,0.000227256845065],[0.000000000000119,-0.00000000000003,-0.000000000000119,0.00000000000003,2.52435489670724e-29,0.0,0.000000000000163,0.000000000000163,0.000000000000163,1.04998411898102,-0.000223881910214,1.049984118981019,-0.000223881910217,0.000000000038631,0.000007705688339,-99.999993038577955,0.000007705687803],[0.00000219496624,0.000000721442379,-0.000002194966234,-0.000000721442379,0.000000000000006,4.85833111073123e-16,0.000003053986281,0.000003053986281,0.000003053986281,1.0499840780579,-0.000218514332553,1.049984075247983,-0.000218476617112,0.000725412411601,2.205419355688095,-0.058291466657361,0.001285571288376],[0.000000349994727,0.000000115036211,-0.000000349994726,-0.000000115036211,1.67912476271463e-16,1.28489471793659e-17,0.000000486968528,0.000000486968528,0.000000486968528,1.049983525599657,-0.000227964906162,1.049983525133599,-0.000227958650616,0.000115669483005,0.351321839708727,-0.080253908069927,0.000281949506269],[0.000003396945363,0.000000001124855,-0.000003396945285,-0.000000001124843,0.000000000000079,0.000000000000013,0.000004490060166,0.000004490060166,0.000004490060166,1.049983460560122,-0.000228626673053,1.049983436258785,-0.000228838282742,0.001066522595044,3.371109400211049,0.024928086935802,-0.000840353081986],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049983460560122,-0.000228626673053,1.049983460560122,-0.000228626673053,0.0,0.000003855717592,-99.999998426867762,0.000003855717532],[0.000000044999312,0.000000000014846,-0.000000044999312,-0.000000000014846,1.31746776696995e-17,1.00814980079362e-18,0.000000059479782,0.000000059479782,0.000000059479782,1.049983709358806,-0.000226688007127,1.049983709051389,-0.000226689285229,0.000014128214173,0.041877040406757,0.019510811900672,-0.000008170550583],[0.000000297994781,0.00000009794515,-0.000000297994781,-0.00000009794515,1.33840946545073e-16,1.02417400630478e-17,0.000000414617816,0.000000414617816,0.000000414617816,1.049984033537457,-0.000224136007401,1.049984033101143,-0.000224130151074,0.000098484040797,0.299209801321691,-0.07475722802081,0.000223680953435],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049984118981019,-0.000223881910217,1.049984118981019,-0.000223881910217,0.0,0.000003852788481,-99.999991024948187,0.000003852788135],[0.000002194966711,0.000000721442416,-0.000002194966706,-0.000000721442416,0.000000000000006,4.21617214001169e-16,0.000003053986895,0.000003053986895,0.000003053986895,1.049984075247983,-0.000218476617112,1.049984072809476,-0.000218443886816,0.000725412557673,2.205415785638212,-0.058122197974625,0.001281836129092],[0.000000349994726,0.000000115036211,-0.000000349994726,-0.000000115036211,1.68550556778541e-16,1.2897783922731e-17,0.000000486968528,0.000000486968528,0.000000486968528,1.049983525133599,-0.000227958650616,1.04998352466577,-0.000227952371295,0.000115669483005,0.351318265522428,-0.079236054130599,0.00027837073104],[0.000003396945135,0.000000001124854,-0.000003396945071,-0.000000001124844,0.000000000000065,0.00000000000001,0.000004490059969,0.000004490059969,0.000004490059969,1.049983436258785,-0.000228838282742,1.049983416306525,-0.000229012021812,0.001066522548198,3.37110216289384,0.025143291326965,-0.000847606037746],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049983436258785,-0.000228838282742,1.049983436258785,-0.000228838282742,0.0,0.000003855828117,-99.999999721914861,0.000003855828106],[0.000000044999305,0.000000000014843,-0.000000044999304,-0.000000000014843,4.54058959692813e-17,3.47453788673236e-18,0.000000059479772,0.000000059479772,0.000000059479772,1.049983709051389,-0.000226689285229,1.049983707991892,-0.000226693690146,0.00001412821183,0.041873185926437,0.028717718848442,-0.000012025023807],[0.00000029799484,0.000000097945148,-0.000000297994839,-0.000000097945148,0.000000000000001,1.08108522358851e-16,0.000000414617889,0.000000414617889,0.000000414617889,1.049984033101143,-0.000224130151074,1.049984028495555,-0.000224068333561,0.000098484058325,0.299206228553942,-0.073556853335624,0.000220086686708],[0.000002194966706,0.000000721442386,-0.000002194966702,-0.000000721442385,0.000000000000004,3.02811843423689e-16,0.000003053986883,0.000003053986883,0.000003053986883,1.049984072809476,-0.000218443886816,1.049984071058102,-0.000218420379419,0.000725412554748,2.205412215544003,-0.057954432158265,0.001278134126268],[0.000000349994726,0.000000115036218,-0.000000349994726,-0.000000115036218,1.68436048511984e-16,1.28890091907931e-17,0.000000486968531,0.000000486968531,0.000000486968531,1.04998352466577,-0.000227952371295,1.049983524198258,-0.000227946096241,0.000115669483736,0.351314691369349,-0.078218173005667,0.00027479193309],[0.000003396945101,0.000000001124885,-0.000003396945031,-0.000000001124874,0.000000000000069,0.000000000000011,0.000004490060008,0.000004490060008,0.000004490060008,1.049983416306525,-0.000229012021812,1.049983394885576,-0.000229198549837,0.001066522557572,3.371094926363027,0.025358441547405,-0.000854857136409],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049983416306525,-0.000229012021812,1.049983416306525,-0.000229012021812,0.0,0.000003855924029,-99.999997763019849,0.000003855923942],[0.000000297994779,0.000000097945145,-0.000000297994779,-0.000000097945145,5.65077066695262e-16,4.32406878501972e-17,0.000000414617813,0.000000414617813,0.000000414617813,1.049984028495555,-0.000224068333561,1.049984026653436,-0.000224043608113,0.000098484040249,0.299202655835626,-0.072354482659222,0.000216486533733],[0.000002194966941,0.000000721442385,-0.000002194966936,-0.000000721442385,0.000000000000005,3.51564942285278e-16,0.000003053987183,0.000003053987183,0.000003053987183,1.049984071058102,-0.000218420379419,1.049984069024754,-0.000218393087288,0.000725412625956,2.205408645548243,-0.057787258245965,0.001274445189382],[0.000000349994726,0.000000115036256,-0.000000349994726,-0.000000115036256,1.68542457025983e-16,1.28971751178002e-17,0.000000486968546,0.000000486968546,0.000000486968546,1.049983524198258,-0.000227946096241,1.049983523730452,-0.000227939817222,0.000115669487393,0.3513111172438,-0.077200285878196,0.000271213186834],[0.000003396946371,0.000000001120155,-0.000003396946005,-0.00000000112013,0.000000000000366,0.000000000000025,0.000004490061776,0.000004490061776,0.000004490061776,1.049983394885576,-0.000229198549837,1.049983281870247,-0.000229613531184,0.00106652297753,3.37104065925778,0.026968860160003,-0.000909131241332],[-0.000000000000328,0.000000000000011,0.000000000000328,-0.000000000000011,9.5925486074875e-28,1.60927624665086e-28,0.000000000000434,0.000000000000434,0.000000000000434,1.049983394885576,-0.000229198549837,1.049983394885579,-0.000229198549804,0.000000000103124,0.000050128452929,-99.999882278781854,0.000050128393918],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049983394885576,-0.000229198549837,1.049983394885576,-0.000229198549837,0.0,0.000003856034167,-99.999997512863729,0.000003856034071],[0.000000297994838,0.000000097945154,-0.000000297994838,-0.000000097945154,2.86945169316162e-16,2.19575292125548e-17,0.000000414617892,0.000000414617892,0.000000414617892,1.049984026653436,-0.000224043608113,1.049984025718011,-0.000224031052573,0.000098484058965,0.299199083155406,-0.071157318048327,0.000212902043199],[0.000002194967652,0.000000721442415,-0.000002194967645,-0.000000721442414,0.000000000000007,5.29637843456852e-16,0.000003053988095,0.000003053988095,0.000003053988095,1.049984069024754,-0.000218393087288,1.049984065961487,-0.000218351971328,0.000725412842505,2.205405075514665,-0.057618203172097,0.001270714777178],[0.000000349994607,0.000000115036256,-0.000000349994606,-0.000000115036256,8.22708278591525e-17,6.29550620601858e-18,0.000000486968396,0.000000486968396,0.000000486968396,1.049983523730452,-0.000227939817222,1.0499835235021,-0.000227936752235,0.000115669451789,0.351307543202779,-0.076182718975181,0.000267635638377],[0.000003396946039,0.000000001120158,-0.000003396945985,-0.000000001120154,0.000000000000053,0.000000000000004,0.00000449006182,0.00000449006182,0.00000449006182,1.049983281870247,-0.000229613531184,1.049983265335773,-0.00022967424417,0.001066522988074,3.371037042751731,0.027076956170236,-0.000912774222548],[-0.000000000000284,0.000000000000007,0.000000000000284,-0.000000000000007,8.58280664880461e-28,1.53039015612876e-28,0.000000000000375,0.000000000000375,0.000000000000375,1.049983394885579,-0.000229198549804,1.049983394885582,-0.000229198549768,0.000000000089041,0.00004241639869,-99.99985062636118,0.000042416335331],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049983394885579,-0.000229198549804,1.049983394885579,-0.000229198549804,0.0,0.000003856024757,-100.0,0.000003856024757],[0.000000297994778,0.000000097945128,-0.000000297994778,-0.000000097945128,6.34953896711953e-17,4.85876627390788e-18,0.000000414617806,0.000000414617806,0.000000414617806,1.049984025718011,-0.000224031052573,1.04998402551102,-0.000224028274274,0.000098484038603,0.299195510537009,-0.069962511139922,0.00020932469239],[0.000002194967347,0.000000721442385,-0.000002194967336,-0.000000721442384,0.000000000000011,8.6532112973935e-16,0.000003053987708,0.000003053987708,0.000003053987708,1.049984065961487,-0.000218351971328,1.049984060956727,-0.000218284796143,0.000725412750569,2.205401505618241,-0.057444921865737,0.001266891171728],[0.00000034999498,0.000000115036261,-0.000000349994978,-0.000000115036261,0.000000000000002,1.41492658378764e-16,0.000000486968867,0.000000486968867,0.000000486968867,1.0499835235021,-0.000227936752235,1.049983518369871,-0.000227867866218,0.0001156695636,0.351303969087185,-0.075158531270338,0.00026403490346],[0.000003396945925,0.000000001120166,-0.000003396945775,-0.000000001120156,0.000000000000151,0.00000000000001,0.000004490061742,0.000004490061742,0.000004490061742,1.049983265335773,-0.00022967424417,1.049983218754432,-0.000229845286347,0.001066522969336,3.371033426446717,0.027184643122939,-0.000916403406535],[-0.000000000000269,0.000000000000013,0.000000000000269,-0.000000000000013,1.21169035041947e-27,1.89326617253043e-28,0.000000000000355,0.000000000000355,0.000000000000355,1.049983394885582,-0.000229198549768,1.049983394885587,-0.000229198549715,0.000000000084425,0.000034704328152,-99.999812645561264,0.000034704263132],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049983394885582,-0.000229198549768,1.049983394885582,-0.000229198549768,0.0,0.000003856031817,-99.999999443859082,0.000003856031795],[0.00000029799454,0.000000097945128,-0.000000297994539,-0.000000097945128,5.00057017719009e-17,3.8265110438907e-18,0.000000414617506,0.000000414617506,0.000000414617506,1.04998402551102,-0.000224028274274,1.049984025348004,-0.000224026086229,0.000098483967395,0.299191937873358,-0.068768704805796,0.000205750420559],[0.000002140968244,0.000000703693899,-0.000002140968158,-0.000000703693893,0.000000000000086,0.000000000000007,0.000002978855561,0.000002978855561,0.000002978855561,1.049984060956727,-0.000218284796143,1.049984021784731,-0.000217759019491,0.000707566635241,2.151144489767118,-0.057065167027241,0.001227554196083],[0.000000053999203,0.000000017748469,-0.000000053999203,-0.000000017748469,1.46237948707519e-16,1.11903838767481e-17,0.00000007513228,0.00000007513228,0.00000007513228,1.049984060956727,-0.000218284796143,1.049984058325904,-0.000218249484564,0.000017846147198,0.054253446011286,-0.063416402068281,0.000034405583458],[0.000000349994948,0.000000115036259,-0.000000349994947,-0.000000115036259,0.000000000000001,9.20099597471232e-17,0.000000486968829,0.000000486968829,0.000000486968829,1.049983518369871,-0.000227867866218,1.049983515032481,-0.000227823070953,0.000115669554516,0.351300395040227,-0.074129963317733,0.000260418853978],[0.000003396945745,0.000000001120176,-0.000003396945568,-0.000000001120164,0.000000000000177,0.000000000000012,0.000004490061702,0.000004490061702,0.000004490061702,1.049983218754432,-0.000229845286347,1.049983164056252,-0.000230046132773,0.001066522959969,3.37102981067021,0.027292545584625,-0.000920039847748],[-0.000000000000269,0.000000000000019,0.000000000000269,-0.000000000000019,5.04870979341448e-28,7.88860905221012e-29,0.000000000000356,0.000000000000356,0.000000000000356,1.049983394885587,-0.000229198549715,1.049983394885589,-0.000229198549691,0.000000000084528,0.00002699224822,-99.999714348205828,0.000026992171116],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049983394885587,-0.000229198549715,1.049983394885587,-0.000229198549715,0.0,0.000003856043443,-99.999997376696442,0.000003856043342],[0.000000297994539,0.000000097945128,-0.000000297994539,-0.000000097945128,5.35777985291499e-17,4.09986445783743e-18,0.000000414617506,0.000000414617506,0.000000414617506,1.049984025348004,-0.000224026086229,1.049984025173343,-0.00022402374188,0.000098483967395,0.299188365081431,-0.067574930273888,0.000202176329091],[0.000000349994962,0.000000115036259,-0.00000034999496,-0.000000115036259,0.000000000000001,8.04719681072008e-17,0.000000486968848,0.000000486968848,0.000000486968848,1.049983515032481,-0.000227823070953,1.049983512113598,-0.000227783893004,0.000115669558967,0.351296821049613,-0.073104519700068,0.00025681385375],[0.000003396945628,0.00000000112019,-0.000003396945605,-0.000000001120188,0.000000000000023,0.000000000000002,0.000004490061781,0.000004490061781,0.000004490061781,1.049983164056252,-0.000230046132773,1.049983156960716,-0.000230072186892,0.001066522978711,3.371026195534542,0.027400189380168,-0.000923667561632],[-0.000000000000149,5.9688664671944e-19,0.000000000000149,-5.96886646705187e-19,1.0097419586829e-28,1.42536149254155e-29,0.000000000000197,0.000000000000197,0.000000000000197,1.049983394885589,-0.000229198549691,1.04998339488559,-0.000229198549685,0.000000000046847,0.000019280203508,-99.999612932307585,0.000019280128881],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.049983394885589,-0.000229198549691,1.049983394885589,-0.000229198549691,0.0,0.000003856038852,-100.0,0.000003856038852],[0.000000297994539,0.000000097945188,-0.000000297994539,-0.000000097945188,4.28661139990536e-17,3.28018802780148e-18,0.000000414617531,0.000000414617531,0.000000414617531,1.049984025173343,-0.00022402374188,1.049984025033602,-0.000224021866229,0.000098483973247,0.299184792559898,-0.06638124238674,0.000198602582333],[0.00000034999499,0.000000115036261,-0.000000349994989,-0.000000115036261,0.000000000000001,8.44098110440962e-17,0.000000486968886,0.000000486968886,0.000000486968886,1.049983512113598,-0.000227783893004,1.049983509051882,-0.000227742797914,0.00011566956805,0.351293247087243,-0.072079442380661,0.000253210213621],[0.000003086950368,0.000000001017951,-0.000003086950344,-0.00000000101795,0.000000000000024,0.000000000000002,0.000004080311986,0.000004080311986,0.000004080311986,1.049983156960716,-0.000230072186892,1.049983148855955,-0.000230101946794,0.000969195237355,3.063546943111105,0.027793290090212,-0.000851460488949],[0.000000309994968,0.000000000102224,-0.000000309994968,-0.000000000102224,5.34609132763847e-16,3.61509796886723e-17,0.00000040974944,0.00000040974944,0.00000040974944,1.049983156960716,-0.000230072186892,1.049983155149903,-0.000230078836024,0.000097327657029,0.307475637546552,0.02466053303889,-0.000075825131184],[-0.000000000000119,4.77509317364149e-19,0.000000000000119,-4.77509317357752e-19,5.04870979341448e-29,6.3974577927683e-30,0.000000000000158,0.000000000000158,0.000000000000158,1.04998339488559,-0.000229198549685,1.04998339488559,-0.000229198549682,0.000000000037478,0.000011568191267,-99.999900783037816,0.000011568179789],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.04998339488559,-0.000229198549685,1.04998339488559,-0.000229198549685,0.0,0.000003856029382,-99.999999443858726,0.000003856029361],[0.000000297995017,0.000000097945217,-0.000000297995017,-0.000000097945217,4.16213461435042e-17,3.18492329101497e-18,0.000000414618143,0.000000414618143,0.000000414618143,1.049984025033602,-0.000224021866229,1.049984024897919,-0.000224020045049,0.000098484118588,0.299181219718796,-0.065187356483422,0.00019502832823],[0.000000349994989,0.00000011503626,-0.000000349994987,-0.00000011503626,0.000000000000002,1.44128333743044e-16,0.000000486968886,0.000000486968886,0.000000486968886,1.049983509051882,-0.000227742797914,1.049983503824052,-0.000227672628723,0.000115669567959,0.351289673168762,-0.071051107557088,0.00024959520352],[0.000003086950284,0.000000001017942,-0.000003086950262,-0.000000001017941,0.000000000000022,0.000000000000001,0.000004080311907,0.000004080311907,0.000004080311907,1.049983148855955,-0.000230101946794,1.049983141356402,-0.000230129484428,0.000969195218616,3.063543328177215,0.02791141446951,-0.000855078275781],[0.000000309995012,0.000000000102223,-0.000000309995011,-0.000000000102223,0.000000000000001,8.46030417018089e-17,0.000000409749499,0.000000409749499,0.000000409749499,1.049983155149903,-0.000230078836024,1.049983150912112,-0.000230094396784,0.000097327671083,0.30747202251115,0.025836588483729,-0.000079440281159],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.04998339488559,-0.000229198549682,1.04998339488559,-0.000229198549682,0.0,0.000003856076359,-99.999990335495411,0.000003856075986],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.04998339488559,-0.000229198549682,1.04998339488559,-0.000229198549682,0.0,0.000003856076359,-99.99999777546202,0.000003856076273],[0.000000297995017,0.000000097945217,-0.000000297995017,-0.000000097945217,4.15158376020118e-17,3.17686324312626e-18,0.000000414618143,0.000000414618143,0.000000414618143,1.049984024897919,-0.000224020045049,1.04998402476258,-0.000224018228489,0.000098484118588,0.299177647039664,-0.063993595717305,0.000191454533923],[0.000000349994898,0.000000115036255,-0.000000349994897,-0.000000115036255,4.61980663278442e-16,3.53515817981483e-17,0.000000486968771,0.000000486968771,0.000000486968771,1.049983503824052,-0.000227672628723,1.049983502541778,-0.000227655417734,0.000115669540799,0.351286099304576,-0.070025260383726,0.00024598900573],[0.000003086950143,0.000000001017937,-0.00000308695011,-0.000000001017935,0.000000000000034,0.000000000000002,0.00000408031175,0.00000408031175,0.00000408031175,1.049983141356402,-0.000230129484428,1.049983129952675,-0.000230171357814,0.000969195181137,3.063539713317915,0.02802955814641,-0.000858696645283],[0.000000309995019,0.000000000102223,-0.000000309995016,-0.000000000102222,0.000000000000003,2.00703719278219e-16,0.000000409749509,0.000000409749509,0.000000409749509,1.049983150912112,-0.000230094396784,1.049983140858803,-0.000230131311564,0.000097327673425,0.307468407518741,0.027012705118084,-0.000083055534254],[0.000000297995017,0.000000097945247,-0.000000297995017,-0.000000097945247,4.10301700858799e-17,3.13971290745528e-18,0.000000414618155,0.000000414618155,0.000000414618155,1.04998402476258,-0.000224018228489,1.049984024628824,-0.000224016433183,0.000098484121513,0.299174074594985,-0.062799888460852,0.000187880985149],[0.000000054999538,0.000000018077125,-0.000000054999538,-0.000000018077125,1.2585043476737e-17,9.63023521468936e-19,0.000000076524091,0.000000076524091,0.000000076524091,1.049983502541778,-0.000227655417734,1.049983502319491,-0.000227652434162,0.000018176743503,0.055225394080151,-0.114983748905164,0.000063500228461],[0.000000294995508,0.000000096959271,-0.000000294995507,-0.000000096959271,0.000000000000001,1.46807591599438e-16,0.000000410444926,0.000000410444926,0.000000410444926,1.049983502541778,-0.000227655417734,1.049983497937436,-0.000227601350284,0.000097492855606,0.29605713206048,-0.0604218419448,0.0001788831724],[0.000003086950289,0.00000000101795,-0.000003086950246,-0.000000001017947,0.000000000000042,0.000000000000003,0.000004080311986,0.000004080311986,0.000004080311986,1.049983129952675,-0.000230171357814,1.049983115541481,-0.000230224274327,0.000969195237356,3.063536098574776,0.028147739031518,-0.000862316146163],[0.000000297995569,0.000000097945247,-0.000000297995568,-0.000000097945247,7.33705762263187e-16,5.61444407082284e-17,0.000000414618849,0.000000414618849,0.000000414618849,1.049984024628824,-0.000224016433183,1.04998402223699,-0.000223984329373,0.000098484286181,0.299170501802259,-0.061602787241335,0.000184297367714],[0.000000054999449,0.000000018077116,-0.000000054999449,-0.000000018077116,2.0663547419281e-17,1.58120868045432e-18,0.000000076523975,0.000000076523975,0.000000076523975,1.049983502319491,-0.000227652434162,1.049983501954513,-0.000227647535383,0.000018176715886,0.055221820084928,-0.108518213496072,0.000059925732616],[0.000000294995492,0.000000096959274,-0.000000294995491,-0.000000096959274,0.000000000000001,1.24512572696961e-16,0.000000410444908,0.000000410444908,0.000000410444908,1.049983497937436,-0.000227601350284,1.049983494032334,-0.000227555493811,0.00009749285143,0.296053558310289,-0.059203347178767,0.000175273615962],[0.000003086950246,0.000000001017959,-0.000003086950081,-0.000000001017948,0.000000000000165,0.000000000000011,0.000004080311986,0.000004080311986,0.000004080311986,1.049983115541481,-0.000230224274327,1.049983059438982,-0.00023043027729,0.000969195237357,3.063532483996134,0.028266186012238,-0.000865943790472],[0.000000244996364,0.000000080525453,-0.000000244996362,-0.000000080525453,0.000000000000002,1.78685835388031e-16,0.000000340877922,0.000000340877922,0.000000340877922,1.04998402223699,-0.000223984329373,1.049984012977981,-0.00022386005257,0.000080968626769,0.245959578212466,-0.059723390082439,0.000146895398341],[0.000000052999207,0.000000017419791,-0.000000052999207,-0.000000017419791,6.11337096130176e-17,4.67805377984464e-18,0.00000007374093,0.00000007374093,0.00000007374093,1.04998402223699,-0.000223984329373,1.049984021116443,-0.000223969289098,0.000017515660205,0.053207350983915,-0.063498650276338,0.000033785949723],[0.000000054999717,0.000000018077121,-0.000000054999717,-0.000000018077121,4.08566342108112e-18,3.12637875598092e-19,0.000000076524314,0.000000076524314,0.000000076524314,1.049983501954513,-0.000227647535383,1.049983501882349,-0.000227646566787,0.000018176796543,0.055218246175309,-0.102052396404921,0.000056351543475],[0.000000294995498,0.000000096959274,-0.000000294995496,-0.000000096959273,0.000000000000002,2.09280056637925e-16,0.000000410444918,0.000000410444918,0.000000410444918,1.049983494032334,-0.000227555493811,1.049983487468661,-0.000227478418492,0.000097492853656,0.296049984594432,-0.057982049304243,0.000171655848033],[0.000003086950104,0.000000001017979,-0.000003086949804,-0.000000001017959,0.0000000000003,0.00000000000002,0.000004080312016,0.000004080312016,0.000004080312016,1.049983059438982,-0.00023043027729,1.049982957525106,-0.000230804495207,0.000969195244387,3.063528870054713,0.028385140318853,-0.000869586968474],[0.000000244996351,0.000000080525452,-0.000000244996349,-0.000000080525452,0.000000000000002,1.1866784683756e-16,0.000000340877908,0.000000340877908,0.000000340877908,1.049984012977981,-0.00022386005257,1.049984006828941,-0.00022377751856,0.000080968623385,0.245956005724302,-0.058249860283148,0.000143269029692],[0.000000054999598,0.000000018077143,-0.000000054999598,-0.000000018077143,3.45228129988191e-18,2.64175017869835e-19,0.000000076524173,0.000000076524173,0.000000076524173,1.049983501882349,-0.000227646566787,1.049983501821372,-0.000227645748343,0.000018176763133,0.055214672193036,-0.095585558689065,0.000052777252894],[0.000000054999717,0.000000018077129,-0.000000054999717,-0.000000018077129,2.9092405364633e-18,2.22617463895171e-19,0.000000076524317,0.000000076524317,0.000000076524317,1.049983501821372,-0.000227645748343,1.049983501769987,-0.000227645058643,0.000018176797274,0.055211098277531,-0.089119013189355,0.000049203585956],[0.000000054999121,0.000000018077114,-0.000000054999121,-0.000000018077114,3.784357919875e-18,2.89582697565014e-19,0.000000076523562,0.000000076523562,0.000000076523562,1.049983501769987,-0.000227645058643,1.049983501703144,-0.000227644161458,0.000018176617792,0.055207524340619,-0.082650739273024,0.000045629427002],[0.00000005499918,0.000000018077129,-0.00000005499918,-0.000000018077129,6.84912826383297e-18,5.24101636113598e-19,0.000000076523643,0.000000076523643,0.000000076523643,1.049983501703144,-0.000227644161458,1.049983501582169,-0.000227642537691,0.000018176637057,0.055203950533483,-0.076182260206719,0.00004205561724],[0.00000005499918,0.000000018077129,-0.00000005499918,-0.000000018077129,1.18751703099338e-17,9.08710842448704e-19,0.000000076523643,0.000000076523643,0.000000076523643,1.049983501582169,-0.000227642537691,1.049983501372419,-0.000227639722371,0.000018176637057,0.055200376744604,-0.069712435476961,0.000038481527021],[0.000000054999143,0.000000018077126,-0.000000054999143,-0.000000018077126,9.72700475844622e-17,7.44327886294001e-18,0.000000076523595,0.000000076523595,0.000000076523595,1.049983501372419,-0.000227639722371,1.049983499654345,-0.000227616661939,0.000018176625702,0.055196802928639,-0.063239575091656,0.000034906223636]]}", + "orient": "split", "dtype": { "p_from_mw": "float64", "q_from_mvar": "float64", @@ -1411,13 +1437,13 @@ "loading_pf_percent": "float64", "diff_pp2pf_percent": "float64", "diff_pp2pf": "float64" - }, - "orient": "split" + } }, "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\"],\"index\":[0],\"data\":[[0.000057357991517,0.000005744135571,-0.000057357976447,-0.000005743984871,0.00000000001507,0.0000000001507,0.000002881497747,0.000076193448482,1.049999952316284,0.0,1.049999405656177,-0.000147549270719,0.006862488085983]]}", + "orient": "split", "dtype": { "p_hv_mw": "float64", "q_hv_mvar": "float64", @@ -1432,13 +1458,13 @@ "vm_lv_pu": "float64", "va_lv_degree": "float64", "loading_percent": "float64" - }, - "orient": "split" + } }, "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", @@ -1460,13 +1486,13 @@ "va_internal_degree": "float64", "vm_internal_pu": "float64", "loading_percent": "float64" - }, - "orient": "split" + } }, "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", @@ -1476,100 +1502,110 @@ "ql_mvar": "float64", "i_from_ka": "float64", "i_to_ka": "float64" - }, - "orient": "split" + } }, "res_ext_grid": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"p_mw\",\"q_mvar\"],\"index\":[0],\"data\":[[0.000057357991516,0.000005744135572]]}", + "orient": "split", "dtype": { "p_mw": "float64", "q_mvar": "float64" - }, - "orient": "split" + } }, "res_load": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"p_mw\",\"q_mvar\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "p_mw": "float64", "q_mvar": "float64" - }, - "orient": "split" + } + }, + "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" + } }, "res_sgen": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"p_mw\",\"q_mvar\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "p_mw": "float64", "q_mvar": "float64" - }, - "orient": "split" + } }, "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" - }, - "orient": "split" + } }, "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" - }, - "orient": "split" + } }, "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" - }, - "orient": "split" + } }, "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" - }, - "orient": "split" + } }, "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" - }, - "orient": "split" + } }, "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", @@ -1580,24 +1616,174 @@ "va_from_degree": "float64", "vm_to_pu": "float64", "va_to_degree": "float64" - }, - "orient": "split" + } }, - "user_pf_options": {}, - "res_switch": { + "res_asymmetric_load": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"pf_closed\",\"pf_in_service\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"p_mw\",\"q_mvar\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { - "pf_closed": "bool", - "pf_in_service": "bool" - }, + "p_mw": "float64", + "q_mvar": "float64" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_bus_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_line_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo3w_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_ext_grid_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_gen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_sgen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", "orient": "split" }, "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\",\"unbalance_percent\"],\"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,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906],\"data\":[[1.050002063140117,0.000001116014307,1.04999891461799,-120.000100308812392,1.049998879193929,120.000099192798103,0.019075743622902,-0.004611336425087,0.02595723036445,0.004768463220608,0.014393270757447,0.006038202280986,0.000201040286459],[1.049565276506689,-30.144820470891442,1.049249828675743,-150.241722183721436,1.049464274793421,89.927853710243952,0.0,0.0,0.0,0.0,0.0,0.0,0.092089128853886],[1.049430282942493,-30.133071371809084,1.04878722861559,-150.248470199219895,1.049573588878624,89.921290822989761,0.0,0.0,0.0,0.0,0.0,0.0,0.093575519276687],[1.049416133285262,-30.131839467416075,1.048738732268396,-150.249177979399349,1.049585049716184,89.920602874865509,0.0,0.0,0.0,0.0,0.0,0.0,0.093747002477039],[1.049402877714404,-30.13068533623029,1.048693298945428,-150.249841117720365,1.049595786856049,89.919958389089146,0.0,0.0,0.0,0.0,0.0,0.0,0.093910297604214],[1.049391321104376,-30.12967907572115,1.048653687721878,-150.250419326031192,1.049605148206506,89.919396500767846,0.0,0.0,0.0,0.0,0.0,0.0,0.094054742870518],[1.0493731155568,-30.128093775271513,1.048591284700178,-150.251330319820312,1.049619896209913,89.918511326324165,0.0,0.0,0.0,0.0,0.0,0.0,0.094286200833804],[1.048135278787788,-30.020012582433484,1.044342534549556,-150.313620962941343,1.05062474329544,89.858293447968379,0.0,0.0,0.0,0.0,0.0,0.0,0.119270789160294],[1.048079924699259,-30.015165820454794,1.044152267868756,-150.31642272636202,1.050669775354255,89.855599076358885,0.0,0.0,0.0,0.0,0.0,0.0,0.120722790905131],[1.048033858130069,-30.01113137908446,1.043993907201217,-150.318755465396634,1.050707258112288,89.853356676393119,0.0,0.0,0.0,0.0,0.0,0.0,0.121947578711364],[1.047993435291113,-30.007590542752066,1.043854934477764,-150.320803213114317,1.050740153517278,89.851388923345922,0.0,0.0,0.0,0.0,0.0,0.0,0.123034231924628],[1.047963274799791,-30.004948231469871,1.043751235402081,-150.322331575322295,1.050764700496994,89.849920687818766,0.0,0.0,0.0,0.0,0.0,0.0,0.123852091332481],[1.047934963533204,-30.002467612928459,1.043653888147023,-150.323766607765151,1.05078774468418,89.848542438349256,0.0,0.0,0.0,0.0,0.0,0.0,0.124625197617237],[1.047917555657527,-30.000942192474124,1.043594028791655,-150.3246491546181,1.050801915050015,89.847694970782356,0.0,0.0,0.0,0.0,0.0,0.0,0.125103112200568],[1.047874221050535,-29.997144358924377,1.043445006871321,-150.326846740666355,1.050837193886509,89.845585255557296,0.0,0.0,0.0,0.0,0.0,0.0,0.126301098680773],[1.047523343042585,-29.966367151813923,1.042237860124849,-150.344672190555485,1.051123033236964,89.828500018676095,0.0,0.0,0.0,0.0,0.0,0.0,0.136400841891901],[1.047523343042584,-29.966367151813877,1.042237860124848,-150.344672190555428,1.051123033236963,89.828500018676124,0.0,0.0,0.0,0.0,0.0,0.0,0.1364008418919],[1.047098246355778,-29.92901686733116,1.040774121091356,-150.366344069986638,1.051469784695336,89.80779371258933,0.0,0.0,0.0,0.0,0.0,0.0,0.14944356049871],[1.047523343042584,-29.966367151813845,1.042237860124848,-150.344672190555428,1.051123033236963,89.828500018676166,0.0,0.0,0.0,0.0,0.0,0.0,0.1364008418919],[1.047069013361288,-29.926445825012426,1.040673412283061,-150.367837469146934,1.051493648240107,89.806369494606472,0.0,0.0,0.0,0.0,0.0,0.0,0.150367954308109],[1.047523343042584,-29.966367151813831,1.042237860124847,-150.344672190555372,1.051123033236962,89.828500018676181,0.0,0.0,0.0,0.0,0.0,0.0,0.1364008418919],[1.047036190615456,-29.923558673471131,1.040560328870671,-150.369514726639011,1.051520444971746,89.804770341089309,0.0,0.0,0.0,0.0,0.0,0.0,0.151409676320641],[1.047523343042584,-29.966367151813831,1.042237860124847,-150.344672190555372,1.051123033236962,89.828500018676181,0.0,0.0,0.0,0.0,0.0,0.0,0.1364008418919],[1.046982754191571,-29.91885741925789,1.040376208060814,-150.37224642137727,1.051564077184513,89.802166769960422,0.0,0.0,0.0,0.0,0.0,0.0,0.153114069795078],[1.047523343042584,-29.96636715181381,1.042237860124847,-150.344672190555372,1.051123033236962,89.828500018676195,0.0,0.0,0.0,0.0,0.0,0.0,0.1364008418919],[1.046885558348306,-29.910303469023567,1.040041253669336,-150.377218515790759,1.051643460180141,89.797430797774993,0.0,0.0,0.0,0.0,0.0,0.0,0.156240063370837],[1.047523343042584,-29.966367151813799,1.042237860124847,-150.344672190555372,1.051123033236962,89.828500018676223,0.0,0.0,0.0,0.0,0.0,0.0,0.1364008418919],[1.046805117051925,-29.909215543509905,1.040041504652003,-150.377282057016572,1.051644336051826,89.797473910992693,0.0,0.0,0.0,0.0,0.0,0.0,0.153910816038194],[1.045763055621552,-29.804154195205907,1.035835030202327,-150.437522645968556,1.052607857591882,89.736582553855158,0.0,0.0,0.0,0.0,0.0,0.0,0.198908859135813],[1.047523343042584,-29.966367151813799,1.042237860124847,-150.344672190555372,1.051123033236962,89.828500018676223,0.0,0.0,0.0,0.0,0.0,0.0,0.1364008418919],[1.046786630908309,-29.90896550598022,1.040041562322514,-150.377296659390481,1.051644537326925,89.797483818832376,0.0,0.0,0.0,0.0,0.0,0.0,0.153376741931873],[1.046801540104561,-29.909167161384097,1.040041515808858,-150.377284882492319,1.051644374996209,89.797475828075349,0.0,0.0,0.0,0.0,0.0,0.0,0.153807439646931],[1.045464829190913,-29.775857182452764,1.034715456859649,-150.453659195061761,1.052864791241504,89.720402575825744,0.0,0.0,0.0,0.0,0.0,0.0,0.21073061523739],[1.047523343042584,-29.966367151813767,1.042237860124848,-150.344672190555315,1.051123033236963,89.828500018676238,0.0,0.0,0.0,0.0,0.0,0.0,0.136400841891899],[1.046744296395249,-29.908392869106667,1.04004169437841,-150.377330099854589,1.051644998247333,89.797506508470093,-0.000574000005145,-0.000188664678717,0.0,0.0,0.0,0.0,0.152155422847428],[1.04680141897094,-29.909165522913437,1.040041516186683,-150.3772849781773,1.051644376315061,89.797475892997539,0.0,0.0,0.0,0.0,0.0,0.0,0.153803939096505],[1.045465187556325,-29.775824100298774,1.034666313927475,-150.45386352051051,1.052865140173419,89.720369425781357,0.0,0.0,0.0,0.0,0.0,0.0,0.212272604494798],[1.044554152305692,-29.691184654458645,1.031377807167942,-150.502417774060831,1.053631614846097,89.67250281076295,0.0,0.0,0.0,0.0,0.0,0.0,0.246391910194123],[1.047523343042585,-29.966367151813746,1.042237860124848,-150.344672190555286,1.051123033236963,89.828500018676266,0.0,0.0,0.0,0.0,0.0,0.0,0.136400841891899],[1.046801244802703,-29.909163167088288,1.040041516729928,-150.377285115754972,1.051644378211332,89.797475986343869,0.0,0.0,0.0,0.0,0.0,0.0,0.153798905972558],[1.045465210081861,-29.775822020879115,1.034663224986377,-150.453876364239136,1.052865162105976,89.72036734209351,0.0,0.0,0.0,0.0,0.0,0.0,0.212369535571754],[1.045465198885443,-29.775823054456048,1.034664760350083,-150.453869980511172,1.052865151204424,89.720368377796021,0.0,0.0,0.0,0.0,0.0,0.0,0.212321355728925],[1.043923536586304,-29.632340807946921,1.029062132375003,-150.536438867204396,1.054164162429918,89.639304529274057,0.0,0.0,0.0,0.0,0.0,0.0,0.271649125621653],[1.04455415230569,-29.691184654458695,1.031377807167939,-150.502417774060888,1.053631614846095,89.672502810762893,0.0,0.0,0.0,0.0,0.0,0.0,0.246391910194124],[1.047523343042585,-29.966367151813746,1.042237860124848,-150.344672190555286,1.051123033236963,89.828500018676266,0.0,0.0,0.0,0.0,0.0,0.0,0.136400841891899],[1.046801021443829,-29.909160145902195,1.0400415174266,-150.377285292188958,1.05164438064317,89.797476106054177,0.0,0.0,0.0,0.0,0.0,0.0,0.153792451394149],[1.045465220234794,-29.775821083622471,1.034661832708208,-150.453882153317068,1.052865171991636,89.720366402913072,0.0,0.0,0.0,0.0,0.0,0.0,0.21241322559255],[1.045465226145449,-29.77582053796047,1.034661022148717,-150.453885524575696,1.052865177747112,89.720365856144966,0.0,0.0,-0.000044000000344,-0.000000014462101,0.0,0.0,0.212438661330756],[1.043447733585157,-29.587827899143591,1.027312513237265,-150.562248877582704,1.054566815236129,89.614240263179411,0.0,0.0,0.0,0.0,0.0,0.0,0.290943830500925],[1.044554152305688,-29.691184654458713,1.031377807167938,-150.502417774060888,1.053631614846094,89.672502810762893,0.0,0.0,0.0,0.0,0.0,0.0,0.246391910194125],[1.047523343042584,-29.966367151813746,1.042237860124847,-150.344672190555286,1.051123033236962,89.828500018676266,0.0,0.0,0.0,0.0,0.0,0.0,0.136400841891899],[1.046800477464378,-29.909152787947903,1.040041519123313,-150.377285721885244,1.051644386565789,89.797476397602665,0.0,0.0,0.0,0.0,0.0,0.0,0.153776731868341],[1.045465230994731,-29.775820090331092,1.034660357191409,-150.453888288517334,1.05286518246832,89.720365407582889,0.0,0.0,0.0,0.0,0.0,0.0,0.21245952785412],[1.04337918399757,-29.581406686742504,1.027060270282559,-150.565977414331485,1.054624885939869,89.610628079715141,0.0,0.0,0.0,0.0,0.0,0.0,0.293738510997939],[1.043447733585156,-29.587827899143701,1.027312513237264,-150.562248877582817,1.054566815236129,89.614240263179312,0.0,0.0,0.0,0.0,0.0,0.0,0.290943830500925],[1.044554152305687,-29.691184654458727,1.031377807167937,-150.502417774060916,1.053631614846093,89.672502810762864,0.0,0.0,0.0,0.0,0.0,0.0,0.246391910194125],[1.047523343042583,-29.966367151813746,1.042237860124847,-150.344672190555286,1.051123033236962,89.828500018676266,0.0,0.0,0.0,0.0,0.0,0.0,0.136400841891899],[1.046800011718661,-29.909146488189578,1.040041520576005,-150.377286089783695,1.051644391636629,89.797476647221416,0.0,0.0,0.0,0.0,0.0,0.0,0.153763273399543],[1.045465241242826,-29.775819144289827,1.034658951863782,-150.453894131887324,1.052865192446637,89.720364459599779,0.0,0.0,0.0,0.0,0.0,0.0,0.212503627737935],[1.043068835541455,-29.552309723881127,1.025917729771086,-150.582889663245169,1.054887982242209,89.594270824025074,0.0,0.0,0.0,0.0,0.0,0.0,0.306434154891448],[1.043447733585156,-29.587827899143715,1.027312513237264,-150.562248877582874,1.054566815236129,89.614240263179312,0.0,0.0,0.0,0.0,0.0,0.0,0.290943830500925],[1.044554152305686,-29.691184654458759,1.031377807167936,-150.502417774060945,1.053631614846091,89.67250281076285,0.0,0.0,0.0,0.0,0.0,0.0,0.246391910194126],[1.047523343042583,-29.966367151813738,1.042237860124847,-150.344672190555286,1.051123033236961,89.828500018676266,0.0,0.0,0.0,0.0,0.0,0.0,0.136400841891899],[1.046797779100829,-29.909116289329003,1.040041527539659,-150.377287853356933,1.051644415944385,89.79747784380416,0.0,0.0,0.0,0.0,0.0,0.0,0.153698762367637],[1.045465247380421,-29.77581857770468,1.034658110211538,-150.453897631495579,1.052865198422662,89.720363891851676,0.0,0.0,0.0,0.0,0.0,0.0,0.21253003929235],[1.043007809760752,-29.546417753212552,1.025685251550019,-150.586282619957672,1.054940811309882,89.590912247967907,0.0,0.0,0.0,0.0,0.0,0.0,0.30904702764338],[1.043025183089667,-29.55171717028804,1.025917872069691,-150.582924543947456,1.054888453282373,89.594294398468136,0.0,0.0,0.0,0.0,0.0,0.0,0.305409188785322],[1.043447733585156,-29.587827899143715,1.027312513237264,-150.562248877582874,1.054566815236129,89.614240263179312,0.0,0.0,0.0,0.0,0.0,0.0,0.290943830500925],[1.044554152305684,-29.691184654458791,1.031377807167934,-150.502417774060973,1.05363161484609,89.672502810762808,0.0,0.0,0.0,0.0,0.0,0.0,0.246391910194126],[1.047523343042583,-29.966367151813746,1.042237860124846,-150.344672190555286,1.051123033236961,89.828500018676266,0.0,0.0,0.0,0.0,0.0,0.0,0.136400841891898],[1.046789887564054,-29.909009545676881,1.040041552153363,-150.37729408698371,1.051644501863541,89.797482073313446,-0.000114000002213,-0.000037469988456,0.0,0.0,0.0,0.0,0.153470791697072],[1.045465259421933,-29.775817466106268,1.03465645895164,-150.453904497486604,1.052865210147184,89.720362777971573,0.0,0.0,0.0,0.0,0.0,0.0,0.212581857009954],[1.042287642410295,-29.476754075697748,1.022938873656487,-150.626485906686668,1.055565236116105,89.551257350643397,0.0,0.0,0.0,0.0,0.0,0.0,0.340066401625964],[1.043006653565038,-29.551465629210401,1.025917932467131,-150.582939350071768,1.054888653223431,89.594304405322831,-0.000230999998166,-0.00007592602924,0.0,0.0,0.0,0.0,0.304975049944774],[1.043022375629227,-29.551679058578038,1.025917881220298,-150.582926787268036,1.054888483575889,89.59429591462947,-0.000035000000935,-0.000011503943824,0.0,0.0,0.0,0.0,0.30534337488093],[1.043447733585156,-29.587827899143722,1.027312513237265,-150.562248877582874,1.054566815236129,89.614240263179298,0.0,0.0,0.0,0.0,0.0,0.0,0.290943830500925],[1.044554152305682,-29.691184654458841,1.031377807167932,-150.502417774061058,1.053631614846087,89.672502810762751,0.0,0.0,0.0,0.0,0.0,0.0,0.246391910194127],[1.047523343042581,-29.966367151813746,1.042237860124845,-150.344672190555286,1.051123033236959,89.828500018676266,0.0,0.0,0.0,0.0,0.0,0.0,0.136400841891898],[1.045465320448782,-29.775811832483235,1.034648090303427,-150.453939294929086,1.052865269567517,89.720357132784983,0.0,0.0,0.0,0.0,0.0,0.0,0.212844474990882],[1.042036970601838,-29.452448483427546,1.02198167309736,-150.640550527516098,1.055783010926595,89.537445696088412,0.0,0.0,0.0,0.0,0.0,0.0,0.350937270414605],[1.043447733585157,-29.587827899143718,1.027312513237265,-150.562248877582874,1.054566815236129,89.614240263179298,0.0,0.0,0.0,0.0,0.0,0.0,0.290943830500924],[1.044554152305674,-29.691184654459026,1.031377807167923,-150.502417774061229,1.053631614846079,89.672502810762552,0.0,0.0,0.0,0.0,0.0,0.0,0.24639191019413],[1.047523343042579,-29.966367151813763,1.042237860124842,-150.344672190555315,1.051123033236957,89.828500018676252,0.0,0.0,0.0,0.0,0.0,0.0,0.136400841891898],[1.045465550411632,-29.775790603742046,1.034616555375255,-150.454070424505062,1.052865493476659,89.720335860469447,0.0,0.0,-0.00039500001003,-0.000000129830227,0.0,0.0,0.213834134865132],[1.041982290564398,-29.447142652102659,1.021772788587395,-150.643623391766994,1.055830544516138,89.534432297664864,0.0,0.0,0.0,0.0,0.0,0.0,0.35331327877163],[1.043447733585156,-29.587827899143736,1.027312513237265,-150.562248877582874,1.054566815236129,89.614240263179269,0.0,0.0,0.0,0.0,0.0,0.0,0.290943830500924],[1.044554152305658,-29.691184654459448,1.031377807167908,-150.502417774061655,1.053631614846064,89.67250281076214,0.0,0.0,0.0,0.0,0.0,0.0,0.246391910194135],[1.047523343042578,-29.966367151813763,1.042237860124841,-150.344672190555315,1.051123033236956,89.828500018676238,0.0,0.0,0.0,0.0,0.0,0.0,0.136400841891898],[1.041871435317891,-29.436381552543907,1.021349212558992,-150.64985853509009,1.055926943928558,89.528322433314315,0.0,0.0,0.0,0.0,0.0,0.0,0.358135293871145],[1.043447733585156,-29.587827899143736,1.027312513237265,-150.562248877582874,1.054566815236129,89.614240263179269,0.0,0.0,0.0,0.0,0.0,0.0,0.290943830500924],[1.044554152305654,-29.691184654459541,1.031377807167904,-150.502417774061769,1.05363161484606,89.672502810762054,0.0,0.0,0.0,0.0,0.0,0.0,0.246391910194136],[1.047523343042578,-29.966367151813763,1.042237860124841,-150.344672190555315,1.051123033236956,89.828500018676238,0.0,0.0,0.0,0.0,0.0,0.0,0.136400841891898],[1.041766927111232,-29.426231236305966,1.020949771498589,-150.655743305912978,1.056017863840536,89.522561568562708,0.0,0.0,0.0,0.0,0.0,0.0,0.362687287226641],[1.044554152305654,-29.691184654459558,1.031377807167903,-150.502417774061797,1.053631614846059,89.672502810762012,0.0,0.0,0.0,0.0,0.0,0.0,0.246391910194136],[1.047523343042578,-29.966367151813763,1.042237860124841,-150.344672190555315,1.051123033236956,89.828500018676238,0.0,0.0,0.0,0.0,0.0,0.0,0.136400841891898],[1.041706197954166,-29.420330556444945,1.020717606244869,-150.6591658717293,1.056070714704386,89.519213593989662,0.0,0.0,0.0,0.0,0.0,0.0,0.365335083930344],[1.044554152305653,-29.691184654459572,1.031377807167903,-150.502417774061826,1.053631614846059,89.672502810761998,0.0,0.0,0.0,0.0,0.0,0.0,0.246391910194137],[1.047523343042578,-29.966367151813763,1.042237860124841,-150.344672190555315,1.051123033236956,89.828500018676238,0.0,0.0,0.0,0.0,0.0,0.0,0.136400841891898],[1.041666096897443,-29.41643322064068,1.020564280383078,-150.661427074773968,1.056105620691407,89.51700269041747,0.0,0.0,0.0,0.0,0.0,0.0,0.367084551389551],[1.044554152305653,-29.691184654459587,1.031377807167903,-150.502417774061826,1.053631614846058,89.672502810761998,0.0,0.0,0.0,0.0,0.0,0.0,0.246391910194137],[1.047523343042578,-29.966367151813763,1.042237860124841,-150.344672190555315,1.051123033236956,89.828500018676238,0.0,0.0,0.0,0.0,0.0,0.0,0.136400841891898],[1.041610736391106,-29.411051593585576,1.020352582688521,-150.664550282510987,1.056153818656617,89.513950289337785,0.0,0.0,0.0,0.0,0.0,0.0,0.369501104590917],[1.044554152305631,-29.691184654459548,1.03137780716788,-150.502417774061826,1.053631614846037,89.672502810761955,0.0,0.0,0.0,0.0,0.0,0.0,0.246391910194141],[1.047523343042578,-29.966367151813763,1.042237860124841,-150.344672190555315,1.051123033236956,89.828500018676238,0.0,0.0,0.0,0.0,0.0,0.0,0.136400841891898],[1.041611734765903,-29.411053192718537,1.020350765136353,-150.664552782830839,1.056151980235775,89.513845559188454,0.0,0.0,0.0,0.0,0.0,0.0,0.369493756792458],[1.041568807677259,-29.407491480628828,1.020223030106335,-150.666827088357479,1.056196253756306,89.512268522983007,0.0,0.0,0.0,0.0,0.0,0.0,0.37101861668824],[1.044554152305631,-29.691184654459548,1.031377807167879,-150.502417774061826,1.053631614846037,89.672502810761955,0.0,0.0,0.0,0.0,0.0,0.0,0.246391910194141],[1.041612942661686,-29.411055127444772,1.020348566148942,-150.664555807884909,1.056149756004861,89.513718849666887,0.0,0.0,0.0,0.0,0.0,0.0,0.369484875662576],[1.041545033792827,-29.405472592682823,1.020149568072401,-150.668118407114292,1.056220316955264,89.511314938095879,0.0,0.0,0.0,0.0,0.0,0.0,0.371879588152147],[1.044554152305629,-29.691184654459534,1.031377807167877,-150.502417774061826,1.053631614846035,89.672502810761955,0.0,0.0,0.0,0.0,0.0,0.0,0.246391910194142],[1.041614342699045,-29.411057369924841,1.020346017365691,-150.664559314154673,1.056147177969049,89.513571983626235,0.0,0.0,0.0,0.0,0.0,0.0,0.369474593710275],[1.040608006377783,-29.325739078295459,1.017251360471027,-150.719219257186722,1.057170013455063,89.473723673134941,0.0,0.0,0.0,0.0,0.0,0.0,0.406100058535679],[1.044554152305585,-29.691184654459118,1.031377807167834,-150.502417774061399,1.053631614845991,89.672502810762353,0.0,0.0,0.0,0.0,0.0,0.0,0.24639191019415],[1.041616477340685,-29.411060789030092,1.020342131227316,-150.664564660209578,1.056143247242545,89.513348055101773,0.0,0.0,0.0,0.0,0.0,0.0,0.369458941399249],[1.040514247098343,-29.317743605223445,1.016961067200857,-150.724354500000714,1.057265176726096,89.469961568334867,0.0,0.0,0.0,0.0,0.0,0.0,0.409552815668009],[1.044554152305546,-29.69118465445872,1.031377807167795,-150.50241777406103,1.053631614845952,89.672502810762737,0.0,0.0,0.0,0.0,0.0,0.0,0.246391910194158],[1.04161922171162,-29.411065184732401,1.020337135070057,-150.664571533347186,1.056138193784897,89.513060162204354,0.0,0.0,0.0,0.0,0.0,0.0,0.369438861922986],[1.040517135907857,-29.317467911425791,1.016947305333806,-150.724672036156306,1.05726719539388,89.469632428177022,0.0,0.0,0.0,0.0,0.0,0.0,0.409760129361249],[1.040196781103468,-29.297163580388396,1.016214666612584,-150.742394688159152,1.057548030109508,89.46088306703372,0.0,0.0,0.0,0.0,0.0,0.0,0.418199747179253],[1.044554152305542,-29.691184654458681,1.031377807167791,-150.502417774060973,1.053631614845948,89.672502810762765,0.0,0.0,0.0,0.0,0.0,0.0,0.246391910194159],[1.041621191907649,-29.411068340412264,1.020333548306632,-150.664576467644622,1.056134565901703,89.51285348091983,0.0,0.0,0.0,0.0,0.0,0.0,0.369424477090371],[1.040517135907858,-29.31746791142578,1.016947305333808,-150.724672036156278,1.057267195393881,89.469632428177036,0.0,0.0,0.0,0.0,0.0,0.0,0.40976012936125],[1.040518542460456,-29.317333678335569,1.016940604775175,-150.724826645702848,1.057268178283638,89.469472172277776,0.0,0.0,0.0,0.0,0.0,0.0,0.409861100992043],[1.03962460892129,-29.260018413975889,1.014868882228397,-150.774994897288508,1.058058183544753,89.444523437361411,0.0,0.0,0.0,0.0,0.0,0.0,0.433868725964964],[1.04455415230554,-29.691184654458645,1.031377807167789,-150.502417774060945,1.053631614845946,89.672502810762808,0.0,0.0,0.0,0.0,0.0,0.0,0.246391910194159],[1.041623975780028,-29.411072799344161,1.020328480236457,-150.664583439829528,1.056129439753015,89.512561439374551,0.0,0.0,0.0,0.0,0.0,0.0,0.369404194625277],[1.040517135907859,-29.317467911425766,1.016947305333808,-150.72467203615625,1.057267195393882,89.46963242817705,0.0,0.0,0.0,0.0,0.0,0.0,0.40976012936125],[1.040525150049603,-29.31670310110535,1.01690912789449,-150.725552976822598,1.057272795680948,89.468719347739793,0.0,0.0,0.0,0.0,0.0,0.0,0.410335710486137],[1.039367444578292,-29.243300916660843,1.014263789499398,-150.789683398747002,1.058287626215567,89.43717165839324,0.0,0.0,0.0,0.0,0.0,0.0,0.440944797586454],[1.044554152305538,-29.691184654458638,1.031377807167786,-150.502417774060945,1.053631614845944,89.672502810762808,0.0,0.0,0.0,0.0,0.0,0.0,0.24639191019416],[1.041626987729721,-29.411077623561002,1.020322996948961,-150.664590983310262,1.056123893659629,89.512245468230745,0.0,0.0,0.0,0.0,0.0,0.0,0.369382307443188],[1.040517135907859,-29.317467911425752,1.016947305333808,-150.72467203615625,1.057267195393882,89.46963242817705,0.0,0.0,0.0,0.0,0.0,0.0,0.40976012936125],[1.040509164834688,-29.316485588957409,1.016909181510679,-150.725565843571872,1.057272967165294,89.468728019607426,0.0,0.0,0.0,0.0,0.0,0.0,0.409992158109475],[1.040548648402933,-29.314891241122162,1.016819242798344,-150.72750474885558,1.057284472803468,89.466504520334254,0.0,0.0,0.0,0.0,0.0,0.0,0.411699795100784],[1.039290948049629,-29.238325404575821,1.014083770499665,-150.794057015398835,1.05835589493217,89.434984917202797,0.0,0.0,0.0,0.0,0.0,0.0,0.443053520747229],[1.044554152305531,-29.691184654458571,1.03137780716778,-150.502417774060831,1.053631614845937,89.672502810762864,0.0,0.0,0.0,0.0,0.0,0.0,0.246391910194161],[1.041629828240617,-29.411082173160064,1.02031782576761,-150.664598097493837,1.056118663276683,89.511947478976225,0.0,0.0,0.0,0.0,0.0,0.0,0.369361720347467],[1.04051713590786,-29.317467911425748,1.016947305333809,-150.724672036156221,1.057267195393883,89.469632428177078,0.0,0.0,0.0,0.0,0.0,0.0,0.409760129361251],[1.040507788195817,-29.316466856597309,1.016909186127963,-150.725566951650478,1.057272981933328,89.468728766424533,0.0,0.0,0.0,0.0,0.0,0.0,0.409962588730109],[1.040566130605099,-29.313543366508359,1.016752373820227,-150.728956987556813,1.057293160986958,89.464856837989515,0.0,0.0,0.0,0.0,0.0,0.0,0.412717347297714],[1.039204607938573,-29.23270815568911,1.013880571684248,-150.798995829397427,1.05843295857623,89.432516857921755,0.0,0.0,0.0,0.0,0.0,0.0,0.445435684514342],[1.044554152305526,-29.691184654458524,1.031377807167775,-150.502417774060831,1.053631614845932,89.672502810762893,0.0,0.0,0.0,0.0,0.0,0.0,0.246391910194162],[1.041634498493697,-29.411089653372819,1.020309323520327,-150.664609794503605,1.056110063754597,89.511457530679408,0.0,0.0,0.0,0.0,0.0,0.0,0.369327986431884],[1.040517135907859,-29.31746791142573,1.016947305333809,-150.724672036156221,1.057267195393883,89.469632428177093,0.0,0.0,0.0,0.0,0.0,0.0,0.409760129361252],[1.04050643745166,-29.31644847654535,1.016909190658377,-150.725568038886053,1.057272996423557,89.468729499193998,0.0,0.0,0.0,0.0,0.0,0.0,0.40993357820487],[1.040577838325575,-29.312640753490463,1.016707593681899,-150.729929622744976,1.057298979737215,89.463753440957802,0.0,0.0,0.0,0.0,0.0,0.0,0.413400076994576],[1.039123415676005,-29.227424383829128,1.013689473703729,-150.80364250061109,1.058505437239064,89.430196021096677,0.0,0.0,0.0,0.0,0.0,0.0,0.447677817875439],[1.044554152305525,-29.691184654458496,1.031377807167774,-150.502417774060802,1.053631614845931,89.67250281076295,0.0,0.0,0.0,0.0,0.0,0.0,0.246391910194163],[1.041656704524982,-29.411125219230659,1.020268897192818,-150.664665413895477,1.05606917596269,89.509127824486569,0.0,0.0,0.0,0.0,0.0,0.0,0.369169539342643],[1.040517135907859,-29.31746791142572,1.016947305333809,-150.724672036156221,1.057267195393883,89.469632428177093,0.0,0.0,0.0,0.0,0.0,0.0,0.409760129361252],[1.040505346783031,-29.316433635397086,1.016909194316481,-150.725568916782777,1.05727300812379,89.46873009087426,0.0,0.0,0.0,0.0,0.0,0.0,0.40991015535254],[1.04057912485449,-29.312759239644162,1.016708759464192,-150.729804537951622,1.057293565047651,89.463628983853496,0.0,0.0,0.0,0.0,0.0,0.0,0.413291964082068],[1.040581297226663,-29.312329249368496,1.016243379252324,-150.731892075032789,1.057302273101993,89.463441525316057,0.0,0.0,0.0,0.0,0.0,0.0,0.428148587892581],[1.039028690882345,-29.221258186962629,1.013466507179185,-150.809066493977099,1.058590008098183,89.427488449318602,0.0,0.0,0.0,0.0,0.0,0.0,0.450296078247159],[1.044554152305525,-29.691184654458496,1.031377807167774,-150.502417774060802,1.053631614845931,89.672502810762936,0.0,0.0,0.0,0.0,0.0,0.0,0.246391910194163],[1.041661541992832,-29.411132966865921,1.020260090528134,-150.664677530874656,1.056060269001889,89.508620286216626,0.0,0.0,0.0,0.0,0.0,0.0,0.369135450263543],[1.040517135907859,-29.31746791142572,1.016947305333808,-150.724672036156221,1.057267195393882,89.469632428177093,0.0,0.0,0.0,0.0,0.0,0.0,0.409760129361253],[1.040503709776186,-29.316411359954309,1.016909199806983,-150.725570234435963,1.057273025684887,89.468730978939306,0.0,0.0,0.0,0.0,0.0,0.0,0.409875002729278],[1.040582536827173,-29.313073470547629,1.016711851211572,-150.729472807033886,1.057279204993222,89.463298910041857,0.0,0.0,0.0,0.0,0.0,0.0,0.413005264276183],[1.040581507758428,-29.312310289292494,1.016215124216742,-150.732011580378668,1.057302473558173,89.463422540187608,0.0,0.0,0.0,0.0,0.0,0.0,0.429046526498939],[1.039001436524867,-29.219483687497924,1.013402351382469,-150.810627662127246,1.05861434334246,89.426709439729791,0.0,0.0,0.0,0.0,0.0,0.0,0.451049887635846],[1.044554152305525,-29.691184654458482,1.031377807167774,-150.502417774060802,1.053631614845931,89.67250281076295,0.0,0.0,0.0,0.0,0.0,0.0,0.246391910194163],[1.041661636925439,-29.411124369239232,1.020247288008494,-150.664731509813976,1.056060359902051,89.508611676072903,0.0,0.0,0.0,0.0,0.0,0.0,0.369542386460596],[1.041679652057333,-29.411180465046041,1.020227603154118,-150.664703867450186,1.056026384478497,89.506718214106115,0.0,0.0,0.0,0.0,0.0,0.0,0.368993454558092],[1.040517135907859,-29.31746791142572,1.016947305333808,-150.724672036156221,1.057267195393882,89.469632428177093,0.0,0.0,0.0,0.0,0.0,0.0,0.409760129361254],[1.040501736181701,-29.316384504325946,1.016909206426362,-150.725571823014093,1.057273046856717,89.468732049600902,0.0,0.0,0.0,0.0,0.0,0.0,0.409832627449504],[1.040583721999033,-29.313182619627749,1.016712925152339,-150.729357579232499,1.057274216969891,89.463184255273731,0.0,0.0,0.0,0.0,0.0,0.0,0.412905685276537],[1.040581700090429,-29.312292968265524,1.016189311749024,-150.732120760650616,1.057302656685594,89.46340519627347,0.0,0.0,0.0,0.0,0.0,0.0,0.429866865579708],[1.038846618901626,-29.209400704440878,1.013037886133322,-150.819500661508727,1.058752599315524,89.422284440895169,0.0,0.0,0.0,0.0,0.0,0.0,0.455335901797817],[1.044554152305525,-29.691184654458482,1.031377807167774,-150.502417774060802,1.053631614845931,89.67250281076295,0.0,0.0,0.0,0.0,0.0,0.0,0.246391910194163],[1.041661654859815,-29.411122745002427,1.020244869396239,-150.664741707500184,1.056060377074631,89.508610049471358,0.0,0.0,0.0,0.0,0.0,0.0,0.369619264077176],[1.041703695081392,-29.41124352134818,1.020184472729102,-150.664738834631066,1.055981400987968,89.504192823710056,0.0,0.0,0.0,0.0,0.0,0.0,0.3688082513078],[1.040517135907858,-29.317467911425698,1.016947305333808,-150.724672036156164,1.057267195393882,89.469632428177107,0.0,0.0,0.0,0.0,0.0,0.0,0.409760129361255],[1.040500245172108,-29.316364215387864,1.016909211427139,-150.725573023151952,1.057273062851569,89.468732858463525,0.0,0.0,0.0,0.0,0.0,0.0,0.409800617527824],[1.040583721999014,-29.313182619627796,1.016712925152319,-150.729357579232584,1.057274216969871,89.46318425527366,0.0,0.0,0.0,0.0,0.0,0.0,0.412905685276542],[1.040584030462373,-29.313213573169598,1.016713244046693,-150.72932623144743,1.057229329813263,89.463001566092444,0.0,0.0,0.0,0.0,0.0,0.0,0.412097027866845],[1.040581779987807,-29.312285772874937,1.01617858889651,-150.732166117265763,1.057302732759264,89.463397991375103,0.0,0.0,0.0,0.0,0.0,0.0,0.430207652592703],[1.038759191074293,-29.203704446865913,1.01283204458921,-150.824515006839988,1.058830689785514,89.419785685573345,0.0,0.0,0.0,0.0,0.0,0.0,0.457759266089322],[1.04166169186205,-29.411119393874728,1.020239879311891,-150.664762747534439,1.056060412505124,89.508606693464827,0.0,0.0,-0.00005500000043,-0.000000018077627,0.0,0.0,0.369777878584078],[1.041705348802533,-29.411034859689455,1.020175042342301,-150.664975953076663,1.055983869928566,89.50399856310861,0.0,0.0,0.0,0.0,0.0,0.0,0.368974356128593],[1.041704695800093,-29.411343271816364,1.020185503718681,-150.664637944464886,1.055836402627581,89.503602434505098,0.0,0.0,0.0,0.0,0.0,0.0,0.366364531383408],[1.040517135907858,-29.317467911425698,1.016947305333808,-150.724672036156164,1.057267195393882,89.469632428177107,0.0,0.0,0.0,0.0,0.0,0.0,0.409760129361255],[1.040498519814595,-29.316340737482118,1.016909217213882,-150.725574411920377,1.05727308136037,89.468733794458302,0.0,0.0,0.0,0.0,0.0,0.0,0.409763580477656],[1.040583721999011,-29.313182619627792,1.016712925152316,-150.729357579232584,1.057274216969868,89.46318425527366,0.0,0.0,0.0,0.0,0.0,0.0,0.412905685276543],[1.040584063776724,-29.313216916180558,1.016713278487603,-150.729322845857922,1.05722448195816,89.462981834558377,0.0,0.0,0.0,0.0,0.0,0.0,0.412009889193417],[1.040581952205705,-29.312270263299251,1.01615547591669,-150.732263886169506,1.057302896735207,89.463382461305216,0.0,0.0,0.0,0.0,0.0,0.0,0.430942228708494],[1.038694297573945,-29.199475337919775,1.01267924770497,-150.828238611701465,1.058888659735322,89.417931029023023,0.0,0.0,0.0,0.0,0.0,0.0,0.459559390982561],[1.041711856772449,-29.410213726566287,1.020137931412003,-150.665909120289001,1.055993585989274,89.503234104393243,0.0,0.0,0.0,0.0,0.0,0.0,0.369628340407619],[1.041708837592946,-29.411756115809396,1.020189770796337,-150.66422038362353,1.055236286346897,89.501157213384857,0.0,0.0,0.0,0.0,0.0,0.0,0.356698294319803],[1.040517135907858,-29.317467911425698,1.016947305333808,-150.724672036156164,1.057267195393882,89.469632428177107,0.0,0.0,0.0,0.0,0.0,0.0,0.409760129361256],[1.04049689753345,-29.316318662121365,1.016909222654886,-150.725575717721028,1.057273098763391,89.468734674534929,0.0,0.0,0.0,0.0,0.0,0.0,0.409728760010253],[1.040583721999011,-29.313182619627796,1.016712925152316,-150.729357579232584,1.057274216969868,89.46318425527366,0.0,0.0,0.0,0.0,0.0,0.0,0.412905685276543],[1.040583721999009,-29.313182619627796,1.016712925152315,-150.729357579232584,1.057274216969867,89.46318425527366,0.0,0.0,0.0,0.0,0.0,0.0,0.412905685276543],[1.040584096000872,-29.313220149791931,1.016713311801445,-150.729319571061382,1.057219792748302,89.462962748562774,0.0,0.0,0.0,0.0,0.0,0.0,0.41192563876338],[1.0405823908429,-29.312230760620142,1.016096607448925,-150.732512922480652,1.057303314380245,89.463342906426021,0.0,0.0,0.0,0.0,0.0,0.0,0.43281326973116],[1.038635960084977,-29.195672720918754,1.012541879801873,-150.831587265228819,1.05894077832422,89.416263779755454,0.0,0.0,0.0,0.0,0.0,0.0,0.461178647523298],[1.041723476970071,-29.408747658493716,1.020071672308112,-150.667575414176355,1.056010934013679,89.501869235209199,0.0,0.0,0.0,0.0,0.0,0.0,0.37079724944418],[1.041709572955902,-29.411829414536914,1.020190528408893,-150.664146247631237,1.055129738013029,89.500722794757266,0.0,0.0,0.0,0.0,0.0,0.0,0.355060471370188],[1.041708880441468,-29.411760386595482,1.020189814937623,-150.664216063941978,1.055230078190976,89.501131895941015,0.0,0.0,0.0,0.0,0.0,0.0,0.356602194463687],[1.040517135907858,-29.317467911425698,1.016947305333808,-150.724672036156164,1.057267195393882,89.469632428177107,0.0,0.0,0.0,0.0,0.0,0.0,0.409760129361256],[1.0404951520545,-29.316294910254705,1.016909228509058,-150.725577122685735,1.057273117487989,89.46873562144556,0.0,0.0,0.0,0.0,0.0,0.0,0.40969129947621],[1.040583721999011,-29.313182619627799,1.016712925152316,-150.729357579232584,1.057274216969868,89.46318425527366,0.0,0.0,0.0,0.0,0.0,0.0,0.412905685276543],[1.040583721999008,-29.313182619627796,1.016712925152314,-150.729357579232584,1.057274216969866,89.46318425527366,0.0,0.0,0.0,0.0,0.0,0.0,0.412905685276543],[1.040584121776963,-29.313222736356842,1.016713338449181,-150.729316951552534,1.057216041850421,89.46294748155708,0.0,0.0,0.0,0.0,0.0,0.0,0.411858272819976],[1.040582648189321,-29.312207584612917,1.016062069624431,-150.732659044261254,1.057303559410678,89.463319699792166,0.0,0.0,0.0,0.0,0.0,0.0,0.433911056358638],[1.038563494685466,-29.190948196472046,1.012371234646352,-150.83574850892137,1.059005525595238,89.414192811561719,0.0,0.0,0.0,0.0,0.0,0.0,0.463191347859321],[1.041715012224267,-29.408632609686737,1.020071700382719,-150.667582210579127,1.056011025006095,89.501873822012286,0.0,0.0,0.0,0.0,0.0,0.0,0.370604615218402],[1.041727347344398,-29.408366271308822,1.020054520787822,-150.667983907196003,1.056015132979439,89.501503527449671,0.0,0.0,0.0,0.0,0.0,0.0,0.371101899344072],[1.041711432142101,-29.412014731375478,1.020192443847592,-150.663958814007401,1.054860357757381,89.499624085668316,0.0,0.0,0.0,0.0,-0.002835999941453,-0.000000932148112,0.3510297099283],[1.04170888649815,-29.411760990275301,1.020189821177038,-150.664215453350721,1.05522920066198,89.501128317271124,0.0,0.0,0.0,0.0,0.0,0.0,0.356588617273186],[1.040517135907858,-29.317467911425698,1.016947305333808,-150.724672036156164,1.057267195393882,89.469632428177107,0.0,0.0,0.0,0.0,0.0,0.0,0.409760129361256],[1.040492483741352,-29.316258600625293,1.016909237458271,-150.725579270455057,1.057273146112221,89.468737068987636,0.0,0.0,0.0,0.0,0.0,0.0,0.409634042062198],[1.040583721999008,-29.313182619627796,1.016712925152313,-150.729357579232584,1.057274216969865,89.46318425527366,0.0,0.0,0.0,0.0,0.0,0.0,0.412905685276544],[1.040584142309654,-29.313224796759609,1.016713359676206,-150.729314864907195,1.057213053964569,89.462935320105814,0.0,0.0,0.0,0.0,0.0,0.0,0.411804627052171],[1.040582828435703,-29.312191352066293,1.016037879219815,-150.732761394363877,1.057303731030902,89.463303445794054,0.0,0.0,0.0,0.0,0.0,0.0,0.434679974506521],[1.038429790240538,-29.182228142372662,1.01205635129659,-150.843431075157071,1.059125009370467,89.410371849347172,0.0,0.0,0.0,0.0,0.0,0.0,0.466908680800562],[1.041687306006919,-29.408256026522455,1.020071792269641,-150.667604456111235,1.056011322831341,89.501888835223312,0.0,0.0,0.0,0.0,0.0,0.0,0.369974818605933],[1.041734332824395,-29.40767793988471,1.020023565360182,-150.668721201957482,1.056022711502801,89.500843494892734,0.0,0.0,0.0,0.0,0.0,0.0,0.371652054062011],[1.041708891382693,-29.411761477126024,1.02018982620895,-150.664214960926159,1.055228492959672,89.501125431170735,0.0,0.0,0.0,0.0,0.0,0.0,0.356577668847909],[1.040517135907859,-29.31746791142568,1.016947305333808,-150.724672036156164,1.057267195393882,89.46963242817715,0.0,0.0,0.0,0.0,0.0,0.0,0.409760129361256],[1.040485196866163,-29.316159441973578,1.016909261897253,-150.725585135782666,1.057273224281564,89.468741022069253,0.0,0.0,0.0,0.0,0.0,0.0,0.409477730590806],[1.040583721999007,-29.313182619627824,1.016712925152312,-150.729357579232641,1.057274216969864,89.463184255273617,0.0,0.0,0.0,0.0,0.0,0.0,0.412905685276544],[1.040584185719055,-29.313229152780846,1.016713404553541,-150.729310453405134,1.057206737095426,89.462909608623463,0.0,0.0,0.0,0.0,0.0,0.0,0.411691259551988],[1.040583175157394,-29.312160127195295,1.015991346625911,-150.732958288475203,1.057304061159342,89.46327217965792,0.0,0.0,0.0,0.0,0.0,0.0,0.436159120601712],[1.038313240631451,-29.17462380576907,1.011781837643242,-150.850132956339024,1.05922918394327,89.407041279642016,0.0,0.0,0.0,0.0,0.0,0.0,0.470152972575471],[1.041675362330392,-29.408093681622951,1.020071831878192,-150.66761404578881,1.056011451216442,89.501895307164816,-0.000130999993416,-0.000043057618313,0.0,0.0,0.0,0.0,0.369703665477577],[1.041736827067139,-29.40743216937377,1.020012512585185,-150.668984468191837,1.056025417492662,89.500607828715914,0.0,0.0,0.0,0.0,0.0,0.0,0.371848587576408],[1.041708895286166,-29.41176186619176,1.020189830230192,-150.66421456740602,1.055227927400792,89.501123124746641,0.0,0.0,0.0,0.0,0.0,0.0,0.356568920202755],[1.040484575563829,-29.31615098732323,1.016909263980974,-150.725585635879384,1.057273230946509,89.468741359121694,0.0,0.0,0.0,0.0,0.0,0.0,0.409464406521248],[1.040583721999006,-29.313182619627842,1.016712925152311,-150.729357579232669,1.057274216969863,89.463184255273603,0.0,0.0,0.0,0.0,0.0,0.0,0.412905685276544],[1.040584219904998,-29.313232583251185,1.016713439895516,-150.729306979242352,1.057201762410516,89.46288936000181,0.0,0.0,0.0,0.0,0.0,0.0,0.411602026079779],[1.040583347733044,-29.312144585488841,1.015968185725143,-150.733056296307922,1.05730422547595,89.463256617411787,0.0,0.0,0.0,0.0,0.0,0.0,0.436895371424225],[1.038233968506777,-29.169450005100931,1.011595108457738,-150.85469396770057,1.05930005030779,89.404776044886162,0.0,0.0,0.0,0.0,0.0,0.0,0.472361656648397],[1.041741813111906,-29.406980863967636,1.019340339457013,-150.671818137692725,1.056030189941779,89.500155752937246,0.0,0.0,0.0,0.0,0.0,0.0,0.393231653587873],[1.041736827067139,-29.40743216937377,1.020012512585185,-150.668984468191837,1.056025417492662,89.500607828715914,0.0,0.0,0.0,0.0,0.0,0.0,0.371848587576408],[1.041708901244854,-29.411762460104356,1.020189836368657,-150.664213966693836,1.055227064069751,89.501119603963417,0.0,0.0,0.0,0.0,0.0,0.0,0.356555566626224],[1.04048428859011,-29.316147082196046,1.016909264943425,-150.72558586686938,1.057273234024984,89.468741514803057,0.0,0.0,0.0,0.0,0.0,0.0,0.409458252446774],[1.040583721999005,-29.313182619627874,1.016712925152311,-150.729357579232669,1.057274216969863,89.463184255273561,0.0,0.0,0.0,0.0,0.0,0.0,0.412905685276544],[1.040584243618073,-29.313234962796258,1.016713464410474,-150.729304569389996,1.057198311721196,89.462875314436673,0.0,0.0,0.0,0.0,0.0,0.0,0.411540153191214],[1.040583470272449,-29.312133549920681,1.015951740057211,-150.733125890634113,1.057304342150927,89.463245567258994,0.0,0.0,0.0,0.0,0.0,0.0,0.437418166198897],[1.038181898076921,-29.166050831091123,1.011472446822521,-150.857691078108502,1.059346604301805,89.403288144547375,0.0,0.0,0.0,0.0,0.0,0.0,0.473813342001086],[1.0417425371993,-29.406915324900321,1.019242725406592,-150.672229959351199,1.056030883010501,89.500090101973001,0.0,0.0,0.0,0.0,0.0,0.0,0.396337828539179],[1.041708908229637,-29.411763156289563,1.020189843564175,-150.664213262538112,1.055226052071825,89.5011154768887,0.0,0.0,0.0,0.0,0.0,0.0,0.356539915565705],[1.040483981636983,-29.316142905187405,1.016909265972881,-150.72558611394112,1.057273237317784,89.468741681323124,0.0,0.0,0.0,0.0,0.0,0.0,0.40945167005095],[1.040583721999004,-29.313182619627888,1.01671292515231,-150.729357579232726,1.057274216969862,89.463184255273546,0.0,0.0,0.0,0.0,0.0,0.0,0.412905685276544],[1.040584267274659,-29.313237336672472,1.016713488867031,-150.729302165278739,1.057194869252441,89.462861302240654,0.0,0.0,0.0,0.0,0.0,0.0,0.411478447214545],[1.040584872073157,-29.312007307920393,1.015763608746991,-150.733922180342319,1.05730567686513,89.463119158403344,0.0,0.0,0.0,0.0,0.0,0.0,0.44339937407244],[1.0380698459331,-29.158734073014614,1.011208467378107,-150.864143836516007,1.059446798740245,89.400086373123301,0.0,0.0,0.0,0.0,0.0,0.0,0.476939661724],[1.041744721529003,-29.40671761678318,1.018948257858992,-150.673472754915053,1.056032973765059,89.499892056175924,0.0,0.0,-0.002797999884933,-0.000000919658135,0.0,0.0,0.405709429656538],[1.041742575440104,-29.406911863462547,1.019237570008557,-150.67225171767484,1.056030919615748,89.500086634717064,0.0,0.0,-0.000048999998398,-0.00000001610552,0.0,0.0,0.396501884739339],[1.041708918957851,-29.411764225588708,1.020189854616065,-150.664212180996742,1.055224497703122,89.50110913793165,0.0,0.0,0.0,0.0,0.0,0.0,0.356515880716472],[1.040483688329757,-29.316138913869416,1.016909266956572,-150.725586350029062,1.0572732404642,89.468741840440359,0.0,0.0,0.0,0.0,0.0,0.0,0.40944538040916],[1.040583721999004,-29.313182619627877,1.016712925152309,-150.729357579232669,1.057274216969862,89.463184255273561,0.0,0.0,0.0,0.0,0.0,0.0,0.412905685276544],[1.040584301883191,-29.313240809547349,1.016713524645886,-150.729298648171323,1.05718983307425,89.462840802858196,0.0,0.0,0.0,0.0,0.0,0.0,0.41138820925395],[1.040585285442031,-29.311970081285988,1.015708131940289,-150.734157049461402,1.05730607045131,89.463081882561468,0.0,0.0,0.0,0.0,0.0,0.0,0.44516336402011],[1.038065747144717,-29.158678166769196,1.011208481425908,-150.864147150265467,1.059446842546333,89.400088601459402,0.0,0.0,0.0,0.0,0.0,0.0,0.476857493160338],[1.037996008529385,-29.153892228855231,1.011033664975926,-150.868409335084408,1.059513024047646,89.397961133810057,0.0,0.0,0.0,0.0,0.0,0.0,0.479013845837465],[1.041708958215811,-29.411768138495326,1.020189895058458,-150.66420822329178,1.055218809771962,89.501085941505124,0.0,0.0,0.0,0.0,0.0,0.0,0.356427973437401],[1.040483361572943,-29.316134467367455,1.016909268052444,-150.725586613041145,1.05727324396944,89.468742017703818,0.0,0.0,0.0,0.0,0.0,0.0,0.40943837362514],[1.040583721999003,-29.313182619627906,1.016712925152309,-150.729357579232726,1.057274216969861,89.463184255273532,0.0,0.0,0.0,0.0,0.0,0.0,0.412905685276544],[1.040584432047637,-29.313253871200793,1.016713659211975,-150.729285420157282,1.057170891758214,89.462763701910134,0.0,0.0,0.0,0.0,0.0,0.0,0.411049193913451],[1.040585377924971,-29.31196175258658,1.015695720133705,-150.734209600169493,1.057306158508275,89.463073542852612,0.0,0.0,0.0,0.0,0.0,0.0,0.445558035162249],[1.038065180549129,-29.158670438539527,1.011208483367791,-150.864147608341341,1.05944684860185,89.40008890949322,0.0,0.0,0.0,0.0,0.0,0.0,0.47684613640628],[1.037719194496163,-29.135729883310901,1.010378230825935,-150.884417476720728,1.059761371702452,89.389994161474689,0.0,0.0,0.0,0.0,0.0,0.0,0.486802164783388],[1.04170914928439,-29.411787182610293,1.020190091891673,-150.664188961143623,1.055191126609748,89.50097304091156,0.0,0.0,0.0,0.0,-0.000285999994958,-0.000000094003653,0.356001114832138],[1.040482687101083,-29.316125289155146,1.016909270314474,-150.725587155934903,1.057273251204744,89.468742383600457,0.0,0.0,0.0,0.0,0.0,0.0,0.409423911128784],[1.040583721999003,-29.313182619627931,1.016712925152309,-150.729357579232726,1.057274216969861,89.46318425527349,0.0,0.0,0.0,0.0,0.0,0.0,0.412905685276544],[1.040584462428153,-29.313256919802956,1.016713690619839,-150.72928233272637,1.05716647083687,89.462745706076063,0.0,0.0,0.0,0.0,0.0,0.0,0.410970152591317],[1.040586512594391,-29.311859569081236,1.015543441176122,-150.734854416870405,1.057307238864503,89.462971223867172,0.0,0.0,0.0,0.0,0.0,0.0,0.450400630441727],[1.040585418989918,-29.311958054393362,1.015690208929271,-150.734232935538642,1.057306197608353,89.463069839784495,0.0,0.0,0.0,0.0,0.0,0.0,0.445733282340338],[1.038064920064321,-29.158666885585504,1.011208484260545,-150.864147818935635,1.059446851385793,89.400089051107713,0.0,0.0,0.0,0.0,0.0,0.0,0.476840915436647],[1.037719447493708,-29.135755607660872,1.010378493820341,-150.884391374902748,1.059724259297816,89.389843457946668,0.0,0.0,0.0,0.0,0.0,0.0,0.486067375718489],[1.037625340816107,-29.12953788646767,1.010157183983384,-150.889890561279742,1.059848850912046,89.387351496430682,0.0,0.0,0.0,0.0,0.0,0.0,0.489477608330052],[1.040481984642993,-29.316115730093259,1.01690927267036,-150.725587721355254,1.057273258740262,89.468742764679433,0.0,0.0,0.0,0.0,0.0,0.0,0.409408849231021],[1.040583721999003,-29.313182619627938,1.016712925152309,-150.729357579232754,1.057274216969861,89.46318425527349,0.0,0.0,0.0,0.0,0.0,0.0,0.412905685276544],[1.040584476346259,-29.313258316446966,1.016713705008599,-150.729280918293966,1.057164445497682,89.462737461665426,0.0,0.0,0.0,0.0,0.0,0.0,0.410933952483565],[1.040587637093906,-29.311758301895864,1.015392527562123,-150.735493643450781,1.057308309537818,89.462869822400918,0.0,0.0,-0.002211000071838,-0.000000726720543,0.0,0.0,0.455200571089815],[1.04058546713599,-29.31195371849492,1.015683747389098,-150.734260295112989,1.05730624345074,89.463065498170522,0.0,0.0,0.0,0.0,0.0,0.0,0.445938749929966],[1.038064610683021,-29.158662665691978,1.011208485320881,-150.864148069061344,1.059446854692319,89.40008921930513,0.0,0.0,0.0,0.0,0.0,0.0,0.476834714541672],[1.037719465883859,-29.13575747753821,1.010378512937155,-150.884389477587661,1.059721561633713,89.389832503043124,0.0,0.0,0.0,0.0,0.0,0.0,0.48601403176756],[1.037285221985636,-29.107082504244882,1.009355965620715,-150.909750588966972,1.060165981114727,89.377775490521273,0.0,0.0,0.0,0.0,0.0,0.0,0.499192299849145],[1.040479313445112,-29.316079380265347,1.016909281628909,-150.725589871447738,1.057273287395109,89.468744213787104,0.0,0.0,0.0,0.0,0.0,0.0,0.409351580712238],[1.040583721999003,-29.313182619627941,1.016712925152309,-150.729357579232754,1.057274216969861,89.463184255273475,0.0,0.0,0.0,0.0,0.0,0.0,0.412905685276544],[1.040584485496363,-29.313259234634913,1.016713714468123,-150.729279988411491,1.057163113990139,89.462732041570874,0.0,0.0,0.0,0.0,0.0,0.0,0.410910157338765],[1.040585510646648,-29.311949800049316,1.015677907954579,-150.734285020856276,1.057306284879507,89.463061574559617,0.0,0.0,0.0,0.0,0.0,0.0,0.446124436677675],[1.038064133344721,-29.158656154896512,1.011208486956849,-150.864148454975322,1.05944685979389,89.400089478813584,0.0,0.0,0.0,0.0,0.0,0.0,0.476825147560282],[1.037719481041598,-29.135759018749571,1.010378528693831,-150.884387913761287,1.059719338134593,89.389823473626947,0.0,0.0,0.0,0.0,0.0,0.0,0.485970070867871],[1.036988168961085,-29.099595027969002,1.009219401528714,-150.918705145278977,1.060298169097869,89.379815806882831,0.0,0.0,0.0,0.0,0.0,0.0,0.498849607896137],[1.037299610845942,-29.103891062122614,1.009211394253685,-150.91135270398351,1.060197393163107,89.374916201719486,0.0,0.0,0.0,0.0,0.0,0.0,0.501435994002201],[1.040465131680177,-29.315886390714589,1.01690932918994,-150.725601286595321,1.057273439526584,89.468751907304863,-0.000209999998333,-0.000069023662945,0.0,0.0,0.0,0.0,0.409047706991516],[1.040583721999003,-29.313182619627963,1.016712925152309,-150.729357579232783,1.057274216969861,89.463184255273475,0.0,0.0,0.0,0.0,0.0,0.0,0.412905685276544],[1.040584544248181,-29.313265130224227,1.016713775206781,-150.729274017735605,1.057154564519981,89.462697239575519,0.0,0.0,0.0,0.0,0.0,0.0,0.410757441120638],[1.040584486178357,-29.313259303070456,1.016713715173169,-150.729279919103959,1.057163014748326,89.462731637568837,0.0,0.0,0.0,0.0,0.0,0.0,0.410908383910756],[1.04058555471425,-29.311945831447627,1.015671993774992,-150.734310063380974,1.057306326838571,89.463057600726472,0.0,0.0,0.0,0.0,0.0,0.0,0.446312501399798],[1.038063708002729,-29.158650353314744,1.011208488414611,-150.864148798851829,1.059446864339747,89.400089710053876,0.0,0.0,0.0,0.0,0.0,0.0,0.476816622969933],[1.037719502571998,-29.135761207921384,1.010378551074976,-150.884385692466623,1.059716179825632,89.389810647972553,0.0,0.0,0.0,0.0,0.0,0.0,0.485907638450245],[1.03685144774973,-29.096147263947856,1.009156552205992,-150.922827546846065,1.060359012661926,89.380754749011572,0.0,0.0,0.0,0.0,0.0,0.0,0.498704907448564],[1.037359948970261,-29.090516811571696,1.00860550962802,-150.918072103724683,1.060329068539069,89.362934872859284,0.0,0.0,0.0,0.0,0.0,0.0,0.510849727035825],[1.040584571236281,-29.313267838408027,1.016713803107551,-150.729271275060256,1.057150637255651,89.462681252824282,0.0,0.0,0.0,0.0,0.0,0.0,0.410687330279795],[1.040584486661029,-29.31325935150473,1.016713715672155,-150.729279870052551,1.057162944511354,89.462731351642134,0.0,0.0,0.0,0.0,0.0,0.0,0.410907128802298],[1.040585602095838,-29.311941564398804,1.015665634836401,-150.734336989483609,1.057306371953053,89.463053328052752,0.0,0.0,0.0,0.0,0.0,0.0,0.446514710310533],[1.038063377308974,-29.158645842713096,1.011208489547986,-150.864149066208029,1.059446867874047,89.400089889837972,0.0,0.0,0.0,0.0,0.0,0.0,0.476809995465375],[1.037719599276861,-29.135771040692635,1.010378651601,-150.884375715414024,1.059701994126914,89.389753039974906,0.0,0.0,0.0,0.0,0.0,0.0,0.485627374469504],[1.035958385022085,-29.073601804145238,1.008746105496455,-150.949770430186192,1.060756487862982,89.386885887183482,0.0,0.0,0.0,0.0,0.0,0.0,0.497962492840887],[1.037373275553008,-29.087564802047236,1.008471769098111,-150.919556425385508,1.06035814066927,89.360290526809948,0.0,0.0,0.0,0.0,0.0,0.0,0.512929937560872],[1.040584616913149,-29.313272421959127,1.016713850329096,-150.729266633132852,1.057143990432976,89.462654195270304,0.0,0.0,0.0,0.0,0.0,0.0,0.410568727139708],[1.040584487222716,-29.313259407867967,1.016713716252827,-150.729279812971186,1.057162862776217,89.462731018907661,0.0,0.0,0.0,0.0,0.0,0.0,0.410905668236202],[1.040585876882835,-29.311916817891742,1.015628756526629,-150.73449315258074,1.057306633592101,89.463028548923987,0.0,0.0,0.0,0.0,0.0,0.0,0.44768743649805],[1.038062965678153,-29.158640228140648,1.011208490958754,-150.864149398999444,1.059446872273363,89.400090113624103,0.0,0.0,0.0,0.0,0.0,0.0,0.476801746092851],[1.037719617893576,-29.13577293360515,1.01037867095333,-150.884373794725832,1.059699263229612,89.389741949647473,0.0,0.0,0.0,0.0,0.0,0.0,0.485573449674357],[1.035891686750344,-29.07191628012712,1.008715457254797,-150.95178372592062,1.060786176391342,89.387343649206628,0.0,0.0,0.0,0.0,0.0,0.0,0.497921199155945],[1.037377704314325,-29.086583926039001,1.008427329985785,-150.920049722467155,1.060367801246543,89.359411896430672,0.0,0.0,0.0,0.0,0.0,0.0,0.513621324413099],[1.040584704586948,-29.313281219786582,1.016713940967802,-150.729257723255984,1.057131232289295,89.46260225909981,0.0,0.0,0.0,0.0,0.0,0.0,0.410341281237747],[1.040584488297044,-29.313259515672804,1.016713717363468,-150.72927970379277,1.057162706443042,89.46273038249285,0.0,0.0,0.0,0.0,0.0,0.0,0.410902874671151],[1.040587039129643,-29.311812149673695,1.015472775310633,-150.735153788850198,1.057307740228095,89.462923742718033,0.0,0.0,-0.002331000054255,-0.000000766162657,0.0,0.0,0.452648126429673],[1.038062539931883,-29.158634421031188,1.011208492417896,-150.864149743202802,1.059446876823537,89.400090345084223,0.0,0.0,0.0,0.0,0.0,0.0,0.476793214080849],[1.037719631677724,-29.135774335151183,1.010378685282139,-150.884372372614166,1.059697241224716,89.389733738135007,0.0,0.0,0.0,0.0,0.0,0.0,0.485533528833303],[1.035890323176593,-29.071897642570796,1.008715461987536,-150.951784830242417,1.060786190940821,89.387344390952876,0.0,0.0,0.0,0.0,0.0,0.0,0.497895907019147],[1.034681119112502,-29.041142006805707,1.008153051307761,-150.98841046410692,1.061326436279798,89.395537779916253,0.0,0.0,0.0,0.0,0.0,0.0,0.497609611068059],[1.037380015936729,-29.086071981095515,1.008404135925035,-150.920307206107793,1.060372843487092,89.358953319544426,0.0,0.0,0.0,0.0,0.0,0.0,0.513982214234492],[1.040584962713507,-29.313307122063993,1.016714207823548,-150.72923149108675,1.057093670170143,89.462449342986119,0.0,0.0,0.0,0.0,-0.000509999983478,-0.000000167628897,0.409673212189394],[1.040584492417279,-29.313259929123102,1.016713721622968,-150.729279285074597,1.057162106878128,89.462727941729696,0.0,0.0,0.0,0.0,0.0,0.0,0.410892161237786],[1.038062037741071,-29.1586275712244,1.011208494139032,-150.864150149209337,1.059446882190711,89.40009061810396,0.0,0.0,0.0,0.0,0.0,0.0,0.476783150429108],[1.037719647555568,-29.135775949580214,1.010378701787374,-150.884370734495775,1.059694912094317,89.389724279324056,0.0,0.0,0.0,0.0,0.0,0.0,0.485487550719508],[1.035883300362265,-29.071801652761248,1.008715486362284,-150.951790517832649,1.060786265874735,89.387348211169197,0.0,0.0,0.0,0.0,0.0,0.0,0.497765687110478],[1.034100271913807,-29.026347856801081,1.007883296927699,-151.006002137218758,1.061585712158193,89.399467178018369,0.0,0.0,0.0,0.0,0.0,0.0,0.497691382771444],[1.037381994823098,-29.085633742113398,1.008384281103708,-150.920527629522496,1.060377159855691,89.35856076693122,0.0,0.0,0.0,0.0,0.0,0.0,0.514291165916651],[1.04058450647808,-29.313261340072046,1.016713736159025,-150.729277856148343,1.057160060790551,89.462719612310238,0.0,0.0,0.0,0.0,-0.000048000001698,-0.000000015776838,0.41085560482743],[1.038061751559155,-29.15862366774325,1.011208495119849,-150.864150380579019,1.059446885249285,89.400090773688888,0.0,0.0,0.0,0.0,0.0,0.0,0.476777415641672],[1.037719663306161,-29.135777551070522,1.01037871816033,-150.884369109505968,1.059692601630525,89.389714896278733,0.0,0.0,0.0,0.0,0.0,0.0,0.485441947829328],[1.03588084856498,-29.071768140589089,1.00871549487186,-150.95179250347843,1.060786292035474,89.387349544879086,0.0,0.0,0.0,0.0,0.0,0.0,0.497720241526021],[1.034100757918564,-29.026397652374481,1.007883801727151,-151.005951644261046,1.061514190344167,89.399177221569644,0.0,0.0,0.0,0.0,0.0,0.0,0.496099276262054],[1.032973151584599,-28.996990832845935,1.007355795348842,-151.040753263395459,1.062122919168141,89.407226341741776,0.0,0.0,0.0,0.0,0.0,0.0,0.498805539161562],[1.037384245525082,-29.085135325900993,1.008361699823418,-150.920778332174336,1.060382069011221,89.358114312621709,0.0,0.0,0.0,0.0,0.0,0.0,0.514642564054428],[1.038060458704435,-29.158606033358982,1.011208499550777,-150.864151425814214,1.059446899066682,89.400091476558913,0.0,0.0,0.0,0.0,0.0,0.0,0.476751509577988],[1.037719801676899,-29.135791620338264,1.010378861998598,-150.884354833792685,1.059672303951311,89.389632463426906,0.0,0.0,0.0,0.0,0.0,0.0,0.485041610074498],[1.03587551238822,-29.071695202971185,1.008715513392201,-150.951796825107692,1.060786348972426,89.387352447611931,0.0,0.0,0.0,0.0,0.0,0.0,0.49762136197806],[1.034100950400735,-29.02641737387729,1.007884001652954,-151.005931646560441,1.061485864167401,89.399062373638458,0.0,0.0,0.0,0.0,-0.000410999986343,-0.000000135089167,0.495470165284586],[1.032973396157482,-28.996969176034277,1.007323541583777,-151.040890972035356,1.062123146242895,89.407204714277427,0.0,0.0,0.0,0.0,0.0,0.0,0.499797077510478],[1.03276736181556,-28.991734485698736,1.007264089659424,-151.047051261817586,1.062219643276591,89.40872084300922,0.0,0.0,0.0,0.0,0.0,0.0,0.49900044489681],[1.037386018745842,-29.084742661283268,1.008343909676887,-150.920975850597244,1.060385936625607,89.357762586422908,0.0,0.0,0.0,0.0,0.0,0.0,0.514919420993934],[1.038059955552249,-29.158599170410948,1.011208501275198,-150.864151832598026,1.059446904444122,89.400091750101325,0.0,0.0,0.0,0.0,0.0,0.0,0.476741428095304],[1.037720084525397,-29.135820379794556,1.010379156023459,-150.884325652334951,1.05963081278265,89.389463949809112,0.0,0.0,0.0,0.0,-0.000456999987364,-0.000000150208635,0.484224883203395],[1.035873387802572,-29.071666162763751,1.0087155207659,-150.951798545754372,1.060786371641632,89.38735360332754,0.0,0.0,0.0,0.0,0.0,0.0,0.497582004668566],[1.035874453944868,-29.071680735557688,1.008715517065749,-150.951797682313099,1.060786360265988,89.387353023376136,0.0,0.0,0.0,0.0,0.0,0.0,0.49760175385443],[1.032973519117676,-28.996958287975378,1.007307325855553,-151.040960209025997,1.062123260405823,89.40719384097261,0.0,0.0,0.0,0.0,0.0,0.0,0.500295648750026],[1.032591067039558,-28.987229669665883,1.007185534282413,-151.052447713587668,1.062302507926643,89.410000976255958,0.0,0.0,0.0,0.0,0.0,0.0,0.499183059779068],[1.03738750544172,-29.084413454494442,1.008328994526535,-150.921141454311595,1.060389179242655,89.357467703118729,0.0,0.0,0.0,0.0,0.0,0.0,0.515151546970424],[1.038059780757656,-29.158596786227722,1.011208501874259,-150.864151973914375,1.059446906312239,89.400091845129694,0.0,0.0,0.0,0.0,0.0,0.0,0.476737925878929],[1.035870208781953,-29.071622709630581,1.008715531799097,-150.951801120360983,1.060786405561521,89.387355332626569,-0.000050999999075,-0.000016762889572,0.0,0.0,0.0,0.0,0.497523126368313],[1.03587430656668,-29.0716787211053,1.008715517577255,-150.951797801670836,1.060786361838509,89.387353103545834,0.0,0.0,0.0,0.0,0.0,0.0,0.497599023736872],[1.03297353056033,-28.9969572747348,1.007305816823006,-151.040966652320719,1.062123271029805,89.407192829105,0.0,0.0,0.0,0.0,0.0,0.0,0.500342048096118],[1.032467063840652,-28.98406002976219,1.007130283168281,-151.056244118772099,1.062360795719253,89.410901311000444,0.0,0.0,0.0,0.0,0.0,0.0,0.499320151610964],[1.037388846941015,-29.08411640664734,1.008315536350199,-150.921290885449878,1.060392105132985,89.357201626649811,0.0,0.0,0.0,0.0,0.0,0.0,0.515361006364618],[1.038059649073187,-29.158594990062316,1.011208502325572,-150.86415208037738,1.059446907719616,89.400091916720939,0.0,0.0,0.0,0.0,0.0,0.0,0.47673528745251],[1.035874146503606,-29.071676533267734,1.008715518132786,-150.951797931301712,1.060786363546376,89.387353190615769,0.0,0.0,0.0,0.0,0.0,0.0,0.497596058672588],[1.032973535286003,-28.99695685627908,1.007305193611383,-151.040969313326741,1.062123275417378,89.407192411216315,0.0,0.0,0.0,0.0,0.0,0.0,0.500361210566682],[1.032310387635651,-28.98005403462146,1.007060478460111,-151.061041551634588,1.062434443838554,89.41203876142113,0.0,0.0,0.0,0.0,0.0,0.0,0.49950356581148],[1.037389957234246,-29.083870559943541,1.00830439789351,-150.921414562952208,1.060394526720376,89.356981413481392,0.0,0.0,0.0,0.0,0.0,0.0,0.515534368330255],[1.038059552726811,-29.158593675905347,1.011208502655773,-150.864152158270656,1.059446908749317,89.40009196910033,0.0,0.0,0.0,0.0,0.0,0.0,0.476733357074204],[1.035874006299852,-29.071674616878621,1.008715518619391,-150.951798044849056,1.060786365042345,89.387353266882741,0.0,0.0,0.0,0.0,0.0,0.0,0.49759346151948],[1.032973538620456,-28.996956561015185,1.007304753870981,-151.040971190944276,1.062123278513265,89.407192116352533,0.0,0.0,0.0,0.0,0.0,0.0,0.500374731717943],[1.032212218137767,-28.977543291383864,1.007016742950123,-151.064047922381434,1.062480591299407,89.412751398073837,0.0,0.0,0.0,0.0,0.0,0.0,0.499624288643781],[1.037391245263987,-29.083585363879102,1.008291476630511,-150.921558039596789,1.060397335924631,89.356725954435632,0.0,0.0,0.0,0.0,0.0,0.0,0.515735485244089],[1.038059503801576,-29.158593008568896,1.011208502823451,-150.864152197825263,1.059446909272205,89.400091995698901,0.0,0.0,0.0,0.0,0.0,0.0,0.47673237682205],[1.035873857333364,-29.071672580714573,1.008715519136408,-150.951798165493074,1.060786366631812,89.387353347916473,0.0,0.0,0.0,0.0,0.0,0.0,0.497590702075215],[1.032973542031083,-28.996956259006094,1.007304304084881,-151.040973111456992,1.062123281679876,89.407191814752721,0.0,0.0,0.0,0.0,0.0,0.0,0.500388561790557],[1.032061472093228,-28.97368684514332,1.006949587686481,-151.068665036455855,1.062551455925446,89.413845607753004,0.0,0.0,0.0,0.0,0.0,0.0,0.499818360188388],[1.037392660928268,-29.083271914295143,1.008277275266942,-150.921715734695567,1.060400423460651,89.356445188657204,0.0,0.0,0.0,0.0,0.0,0.0,0.515956535170688],[1.038059431871094,-29.158592027442548,1.011208503069972,-150.864152255978979,1.059446910040961,89.40009203480443,0.0,0.0,0.0,0.0,0.0,0.0,0.476730935649239],[1.035873644726303,-29.071669674671675,1.008715519874303,-150.951798337677957,1.060786368900321,89.3873534635689,0.0,0.0,0.0,0.0,0.0,0.0,0.497586763812828],[1.032973546055379,-28.996955902656932,1.007303773369409,-151.040975377527019,1.062123285416252,89.407191458886473,0.0,0.0,0.0,0.0,0.0,0.0,0.500404880335128],[1.031911200521164,-28.969841298943951,1.006882648173726,-151.073268370768801,1.062622099932476,89.414936261181254,0.0,0.0,0.0,0.0,0.0,0.0,0.500022293468544],[1.037400379174872,-29.081563112966776,1.008199854584372,-150.922575510779637,1.060417256062998,89.354914581595068,0.0,0.0,0.0,0.0,0.0,0.0,0.517161775309835],[1.038059311292115,-29.158590382754028,1.011208503483223,-150.864152353463595,1.059446911329647,89.40009210035808,0.0,0.0,0.0,0.0,0.0,0.0,0.476728519788847],[1.035873386263447,-29.071666141842186,1.008715520771349,-150.951798547000209,1.06078637165811,89.387353604165654,0.0,0.0,0.0,0.0,0.0,0.0,0.497581976220351],[1.032973551131741,-28.996955453147922,1.007303103909737,-151.040978236015945,1.062123290129422,89.407191009986633,0.0,0.0,0.0,0.0,0.0,0.0,0.500425465085907],[1.031742596554182,-28.965525142636682,1.00680754757553,-151.078434184025269,1.062701365048032,89.416159835627525,0.0,0.0,0.0,0.0,0.0,0.0,0.500263541936064],[1.037458072403566,-29.068637063997834,1.007615940040468,-150.929109954230398,1.060546395126817,89.34340026149421,0.0,0.0,0.0,0.0,0.0,0.0,0.526283259935092],[1.037400392900046,-29.081564514139146,1.008199868891189,-150.922574087570496,1.060415236925233,89.354906386875967,0.0,0.0,0.0,0.0,0.0,0.0,0.517121874441098],[1.038058773457772,-29.158583046727937,1.011208505326496,-150.864152788287072,1.059446917077741,89.400092392755596,0.0,0.0,0.0,0.0,0.0,0.0,0.476717744250268],[1.035871784228173,-29.071644244197017,1.00871552633151,-150.951799844446526,1.060786388751749,89.387354475629081,0.0,0.0,0.0,0.0,0.0,0.0,0.497552303333063],[1.032973555678118,-28.996955050568872,1.007302504343448,-151.040980796074223,1.062123294350526,89.407190607953112,0.0,0.0,0.0,0.0,0.0,0.0,0.500443900801813],[1.031620592362905,-28.962400940068935,1.006753207165497,-151.082172829023818,1.062758724299627,89.417045143313061,0.0,0.0,0.0,0.0,0.0,0.0,0.500446306812159],[1.037513378818514,-29.056258197766876,1.007056694959267,-150.935375569092315,1.060670121046844,89.332374791073519,0.0,0.0,0.0,0.0,0.0,0.0,0.53503256650414],[1.037400477174454,-29.081573117525615,1.008199956736965,-150.922565348875963,1.060402839147863,89.354856069512678,0.0,0.0,0.0,0.0,0.0,0.0,0.516876983149584],[1.03740039290005,-29.081564514139082,1.008199868891193,-150.922574087570439,1.060415236925237,89.354906386876024,0.0,0.0,0.0,0.0,0.0,0.0,0.517121874441096],[1.038056796394005,-29.158556079637435,1.011208512102292,-150.86415438668584,1.059446938207548,89.400093467600655,-0.000045000000682,-0.000014790784917,0.0,0.0,0.0,0.0,0.476678137082743],[1.035866302495721,-29.07156931583793,1.008715545356699,-150.951804283958381,1.060786447241392,89.387357457542194,-0.000054000000091,-0.0000177489419,0.0,0.0,0.0,0.0,0.497450798594212],[1.032973559275551,-28.996954732018185,1.007302029921735,-151.040982821786031,1.062123297690578,89.407190289834119,0.0,0.0,0.0,0.0,0.0,0.0,0.500458488565451],[1.031475178487682,-28.95867621186288,1.006688443898859,-151.086629477975634,1.062827091507914,89.418100223956387,0.0,0.0,0.0,0.0,0.0,0.0,0.500673118533988],[1.037515842027789,-29.055707156364026,1.007031799229472,-150.935654658330264,1.060675629885989,89.331884028138234,0.0,0.0,0.0,0.0,0.0,0.0,0.535422348356748],[1.03740050797466,-29.081576261849094,1.008199988842416,-150.922562155100792,1.060398308068711,89.354837679473945,0.0,0.0,0.0,0.0,0.0,0.0,0.516787526745351],[1.037400392900072,-29.081564514138744,1.008199868891214,-150.922574087570126,1.06041523692526,89.354906386876351,0.0,0.0,0.0,0.0,0.0,0.0,0.517121874441088],[1.032973565449612,-28.996954185308603,1.007301215699952,-151.040986298399275,1.062123303422912,89.407189743865416,0.0,0.0,0.0,0.0,0.0,0.0,0.500483524771078],[1.031264192784414,-28.953269820676468,1.006594484063242,-151.093097026711092,1.062926291747714,89.419630888304269,0.0,0.0,0.0,0.0,0.0,0.0,0.501019550213269],[1.037515938184055,-29.055716991795521,1.007031899649953,-150.935644661180163,1.060661461688734,89.331826540341481,0.0,0.0,0.0,0.0,0.0,0.0,0.535145916167518],[1.037560052162848,-29.045513772078198,1.006574587446749,-150.94086954373023,1.060780928436515,89.322925741021251,0.0,0.0,0.0,0.0,0.0,0.0,0.542628517165824],[1.037400511109717,-29.081576581899998,1.008199992110331,-150.92256183001632,1.060397846864237,89.35483580760021,0.0,0.0,0.0,0.0,0.0,0.0,0.516778422615596],[1.037400392900073,-29.081564514138726,1.008199868891215,-150.922574087570069,1.060415236925261,89.354906386876365,0.0,0.0,0.0,0.0,0.0,0.0,0.517121874441087],[1.032973587002592,-28.99695227680446,1.007298373339543,-151.040998434925342,1.062123323433871,89.407187837947532,0.0,0.0,0.0,0.0,0.0,0.0,0.500570924395912],[1.031107778452761,-28.949260213496846,1.006524832472897,-151.097892703816399,1.062999836974021,89.420765504540242,0.0,0.0,0.0,0.0,0.0,0.0,0.501289615208798],[1.037515946994453,-29.055717892974933,1.007031908851063,-150.935643745183142,1.060660163516041,89.33182127289794,0.0,0.0,0.0,0.0,0.0,0.0,0.53512059946749],[1.037581392787721,-29.040596349184849,1.006354011489027,-150.943387126605785,1.060831738308868,89.318604508211905,0.0,0.0,0.0,0.0,0.0,0.0,0.546107787634946],[1.037400513297577,-29.081576805253665,1.008199994390907,-150.922561603149887,1.060397525003852,89.354834501276258,0.0,0.0,0.0,0.0,0.0,0.0,0.516772069272954],[1.037400392900074,-29.081564514138705,1.008199868891216,-150.922574087570069,1.060415236925262,89.354906386876394,0.0,0.0,0.0,0.0,0.0,0.0,0.517121874441087],[1.032973718769561,-28.996940608917811,1.007280996200325,-151.041072634645758,1.062123445773492,89.407176185872231,0.0,0.0,-0.000236000007135,-0.000000077569446,0.0,0.0,0.501105284808918],[1.030956896395502,-28.945391150441047,1.006457648909213,-151.102519533573769,1.063070783447867,89.421859875306382,0.0,0.0,0.0,0.0,0.0,0.0,0.501560794448785],[1.037515952002984,-29.055718405276821,1.007031914081705,-150.935643224457749,1.060659425531669,89.331818278459281,0.0,0.0,0.0,0.0,0.0,0.0,0.535106208316858],[1.037645820394315,-29.025762469760483,1.00568857960421,-150.950988976764734,1.060985060334035,89.305570524192476,0.0,0.0,0.0,0.0,0.0,0.0,0.556614535942174],[1.037581392787722,-29.04059634918508,1.006354011489028,-150.943387126605984,1.060831738308869,89.318604508211678,0.0,0.0,0.0,0.0,0.0,0.0,0.54610778763495],[1.037400515564005,-29.081577036628246,1.008199996753382,-150.922561368136485,1.06039719158509,89.354833148039816,0.0,0.0,0.0,0.0,0.0,0.0,0.51676548790353],[1.037400392900074,-29.081564514138705,1.008199868891216,-150.922574087570069,1.060415236925262,89.354906386876394,0.0,0.0,0.0,0.0,0.0,0.0,0.517121874441087],[1.030809232798614,-28.941603407164372,1.006391902710301,-151.107048403418901,1.063140218938002,89.422930792943532,0.0,0.0,0.0,0.0,0.0,0.0,0.50183631807933],[1.037515955403895,-29.055718753142106,1.007031917633436,-150.93564287087267,1.060658924422549,89.331816245161093,0.0,0.0,0.0,0.0,0.0,0.0,0.535096436739612],[1.037737701222373,-29.004638515248427,1.004740869411395,-150.961833286728648,1.061203523639095,89.287013390083544,0.0,0.0,0.0,0.0,0.0,0.0,0.57160447138311],[1.037581392787722,-29.04059634918514,1.006354011489028,-150.943387126606069,1.060831738308869,89.318604508211635,0.0,0.0,0.0,0.0,0.0,0.0,0.546107787634951],[1.037400525081681,-29.081578008266355,1.008200006674397,-150.92256038121721,1.060395791420871,89.354827465227359,0.0,0.0,0.0,0.0,0.0,0.0,0.516737851426773],[1.037400392900075,-29.081564514138698,1.008199868891217,-150.922574087570069,1.060415236925262,89.354906386876394,0.0,0.0,0.0,0.0,0.0,0.0,0.517121874441087],[1.030631650879092,-28.937046636500931,1.006312841185532,-151.112495836789719,1.063223725958305,89.424218547714901,0.0,0.0,0.0,0.0,0.0,0.0,0.502180918339692],[1.037515960946482,-29.055719320070459,1.007031923421818,-150.935642294622653,1.060658107747311,89.33181293141908,0.0,0.0,0.0,0.0,0.0,0.0,0.535080512278568],[1.037756946188892,-29.000218552026205,1.004542554407703,-150.964105175445297,1.061249253718121,89.283131057639963,0.0,0.0,0.0,0.0,0.0,0.0,0.574744966312885],[1.037581392787722,-29.040596349185176,1.006354011489028,-150.943387126606069,1.06083173830887,89.318604508211592,0.0,0.0,0.0,0.0,0.0,0.0,0.546107787634952],[1.037400527405675,-29.081578245517584,1.008200009096876,-150.922560140234651,1.060395449533614,89.35482607761557,0.0,0.0,0.0,0.0,0.0,0.0,0.516731103599331],[1.037400392900076,-29.081564514138648,1.008199868891218,-150.922574087570041,1.060415236925264,89.354906386876451,0.0,0.0,0.0,0.0,0.0,0.0,0.517121874441088],[1.030334248128947,-28.929411365279421,1.006180447743356,-151.121621203200363,1.063363585745468,89.426374846910619,0.0,0.0,0.0,0.0,0.0,0.0,0.502790383564955],[1.030631650879092,-28.937046636500931,1.006312841185532,-151.112495836789719,1.063223725958305,89.424218547714901,0.0,0.0,0.0,0.0,0.0,0.0,0.502180918339692],[1.03751597937038,-29.055721204574873,1.007031942662755,-150.935640379132309,1.060655393068914,89.331801916301401,0.0,0.0,0.0,0.0,0.0,0.0,0.535027583953112],[1.037761865969944,-28.999088886687638,1.004491867631077,-150.964685987952777,1.061260942579477,89.282138831910501,0.0,0.0,0.0,0.0,0.0,0.0,0.575547839483614],[1.037581392787723,-29.04059634918524,1.006354011489029,-150.943387126606126,1.06083173830887,89.318604508211536,0.0,0.0,0.0,0.0,0.0,0.0,0.546107787634952],[1.037400529622511,-29.081578471829435,1.008200011407657,-150.92255991036356,1.060395123410371,89.354824753984104,0.0,0.0,0.0,0.0,0.0,0.0,0.516724667034909],[1.037400392900077,-29.081564514138616,1.008199868891219,-150.922574087569984,1.060415236925265,89.354906386876479,0.0,0.0,0.0,0.0,0.0,0.0,0.517121874441089],[1.029331262883395,-28.903625621136211,1.005734079910632,-151.152418105051169,1.063835330675967,89.433643702295384,0.0,0.0,0.0,0.0,0.0,0.0,0.50514299287327],[1.030334248128947,-28.929411365279421,1.006180447743356,-151.121621203200363,1.063363585745468,89.426374846910619,0.0,0.0,0.0,0.0,0.0,0.0,0.502790383564955],[1.037515999881955,-29.055723302619015,1.007031964083951,-150.93563824659114,1.060652370780856,89.331789652955834,0.0,0.0,0.0,0.0,0.0,0.0,0.534968668186482],[1.037764443533188,-28.998497075559573,1.004465313599671,-150.964990290660296,1.061267066332429,89.281619027863456,0.0,0.0,0.0,0.0,0.0,0.0,0.575968485308164],[1.037581392787723,-29.040596349185272,1.006354011489029,-150.943387126606183,1.060831738308871,89.318604508211507,0.0,0.0,0.0,0.0,0.0,0.0,0.546107787634953],[1.037400531827291,-29.081578696910363,1.00820001370587,-150.922559681742712,1.060394799060935,89.354823437551119,0.0,0.0,0.0,0.0,0.0,0.0,0.516718265604049],[1.037400392900077,-29.081564514138616,1.008199868891219,-150.922574087570013,1.060415236925265,89.354906386876479,0.0,0.0,0.0,0.0,0.0,0.0,0.517121874441089],[1.027912992817448,-28.867068423623785,1.005103227678323,-151.196023843122759,1.064502586882533,89.443913746273807,0.0,0.0,0.0,0.0,0.0,0.0,0.509243670455297],[1.029331262883395,-28.903625621136211,1.005734079910632,-151.152418105051169,1.063835330675967,89.433643702295384,0.0,0.0,0.0,0.0,0.0,0.0,0.50514299287327],[1.037516011417585,-29.055724482550765,1.007031976131148,-150.935637047258382,1.060650671057936,89.331782756067724,0.0,0.0,0.0,0.0,0.0,0.0,0.534935538845201],[1.037766580386719,-28.998006473299679,1.004443300640233,-150.96524256623573,1.061272142917947,89.281188120948656,0.0,0.0,0.0,0.0,0.0,0.0,0.576317212480157],[1.037581392787723,-29.040596349185304,1.00635401148903,-150.943387126606211,1.060831738308871,89.318604508211465,0.0,0.0,0.0,0.0,0.0,0.0,0.546107787634954],[1.037400534356456,-29.081578955107197,1.008200016342216,-150.92255941948514,1.060394426990327,89.354821927431828,0.0,0.0,0.0,0.0,0.0,0.0,0.516710922490914],[1.037400392900077,-29.081564514138599,1.00819986889122,-150.922574087569984,1.060415236925266,89.354906386876479,0.0,0.0,0.0,0.0,0.0,0.0,0.517121874441089],[1.026895555654701,-28.840774310500787,1.004650908653369,-151.227347201461754,1.064981397069802,89.451275159969299,0.0,0.0,0.0,0.0,0.0,0.0,0.512734769819135],[1.027912992817448,-28.867068423623785,1.005103227678323,-151.196023843122759,1.064502586882533,89.443913746273807,0.0,0.0,0.0,0.0,0.0,0.0,0.509243670455297],[1.037516022254087,-29.055725590971509,1.007031987448213,-150.935635920612441,1.060649074348494,89.331776277152514,0.0,0.0,0.0,0.0,0.0,0.0,0.534904420395071],[1.037768312243325,-28.997608868953382,1.004425460375886,-150.965447029662357,1.061276257251943,89.280838897899429,0.0,0.0,0.0,0.0,0.0,0.0,0.576599847545466],[1.037581392787724,-29.040596349185321,1.00635401148903,-150.94338712660624,1.060831738308872,89.318604508211465,0.0,0.0,0.0,0.0,0.0,0.0,0.546107787634954],[1.037400543090781,-29.081579846774712,1.008200025446683,-150.922558513794058,1.060393142066427,89.354816712315767,0.0,0.0,0.0,0.0,0.0,0.0,0.516685564741032],[1.037400392900078,-29.081564514138588,1.00819986889122,-150.922574087569984,1.060415236925266,89.354906386876493,0.0,0.0,0.0,0.0,0.0,0.0,0.517121874441089],[1.026586907345392,-28.832786376115184,1.004513733655682,-151.2368562793568,1.065126670547865,89.453507302412987,0.0,0.0,0.0,0.0,0.0,0.0,0.51388317127912],[1.026895555654701,-28.840774310500787,1.004650908653369,-151.227347201461754,1.064981397069802,89.451275159969299,0.0,0.0,0.0,0.0,0.0,0.0,0.512734769819135],[1.037516032593004,-29.055726648496361,1.007031998245627,-150.935634845699298,1.060647550955919,89.331770095714475,0.0,0.0,0.0,0.0,0.0,0.0,0.534874733583063],[1.037770959601825,-28.997001105899429,1.004398190328102,-150.965759580124398,1.061282546370782,89.280305091657212,0.0,0.0,0.0,0.0,0.0,0.0,0.577031893880431],[1.037581392787724,-29.040596349185343,1.006354011489031,-150.94338712660624,1.060831738308872,89.318604508211436,0.0,0.0,0.0,0.0,0.0,0.0,0.546107787634955],[1.037400585654862,-29.081584192045373,1.008200069814539,-150.922554100184044,1.060386880380174,89.354791297850738,0.0,0.0,0.0,0.0,-0.000075000003562,-0.000000024651309,0.516562019385021],[1.037400392900078,-29.081564514138588,1.00819986889122,-150.922574087569984,1.060415236925267,89.354906386876479,0.0,0.0,0.0,0.0,0.0,0.0,0.517121874441089],[1.02567813820912,-28.809175429250349,1.004107383570359,-151.264900443880606,1.065555146173778,89.460032419872505,0.0,0.0,0.0,0.0,0.0,0.0,0.517539694894133],[1.026586907345392,-28.832786376115184,1.004513733655682,-151.2368562793568,1.065126670547865,89.453507302412987,0.0,0.0,0.0,0.0,0.0,0.0,0.51388317127912],[1.02658259100461,-28.832726844839002,1.004513749199284,-151.236859781689503,1.065126716472066,89.453509648295409,0.0,0.0,0.0,0.0,0.0,0.0,0.513838518866794],[1.037516049567964,-29.055728384794357,1.007032015973371,-150.935633080852284,1.060645049772597,89.331759946676897,0.0,0.0,0.0,0.0,0.0,0.0,0.534825998107823],[1.037773346255104,-28.996453219425419,1.004373606821055,-150.966041354149951,1.061288215994385,89.279823878886575,0.0,0.0,0.0,0.0,0.0,0.0,0.577421396911864],[1.037581392787724,-29.040596349185346,1.00635401148903,-150.943387126606268,1.060831738308872,89.318604508211436,0.0,0.0,0.0,0.0,0.0,0.0,0.546107787634955],[1.037400392900079,-29.081564514138567,1.008199868891221,-150.922574087569956,1.060415236925267,89.354906386876522,0.0,0.0,0.0,0.0,0.0,0.0,0.517121874441089],[1.024668653205862,-28.782893438167694,1.003656187525169,-151.296085460079894,1.066031214694109,89.467275980214879,0.0,0.0,0.0,0.0,0.0,0.0,0.522010911076308],[1.02567813820912,-28.809175429250349,1.004107383570359,-151.264900443880606,1.065555146173778,89.460032419872505,0.0,0.0,0.0,0.0,0.0,0.0,0.517539694894133],[1.02567813820912,-28.809175429250349,1.004107383570359,-151.264900443880606,1.065555146173778,89.460032419872505,0.0,0.0,0.0,0.0,0.0,0.0,0.517539694894133],[1.026581960656627,-28.832718150992221,1.004513751469219,-151.236860293161783,1.065126723178711,89.453509990882466,0.0,0.0,0.0,0.0,0.0,0.0,0.513832000854681],[1.037516061391347,-29.055729594158898,1.007032028321082,-150.935631851602835,1.060643307650872,89.331752877650942,0.0,0.0,0.0,0.0,0.0,0.0,0.534792057213313],[1.037775617848701,-28.995931768902093,1.004350209404857,-150.966309546374134,1.06129361214784,89.279365887727849,0.0,0.0,0.0,0.0,0.0,0.0,0.577792125230365],[1.037581392787724,-29.040596349185353,1.00635401148903,-150.943387126606268,1.060831738308872,89.318604508211436,0.0,0.0,0.0,0.0,0.0,0.0,0.546107787634956],[1.037400392900083,-29.081564514138464,1.008199868891224,-150.92257408756987,1.060415236925271,89.354906386876607,0.0,0.0,0.0,0.0,0.0,0.0,0.517121874441089],[1.024298781287344,-28.773249456260331,1.003490920508898,-151.30752020121983,1.066205672691353,89.469928756279813,0.0,0.0,0.0,0.0,0.0,0.0,0.523755189678258],[1.024668653205862,-28.782893438167694,1.003656187525169,-151.296085460079894,1.066031214694109,89.467275980214879,0.0,0.0,0.0,0.0,0.0,0.0,0.522010911076308],[1.026581616944368,-28.832713410460464,1.004513752706954,-151.236860572054212,1.065126726835669,89.453510177686212,0.0,0.0,0.0,0.0,0.0,0.0,0.513828447066621],[1.037516069698717,-29.055730443885043,1.007032036996856,-150.935630987905086,1.060642083597795,89.331747910783761,0.0,0.0,0.0,0.0,0.0,0.0,0.534768211701248],[1.037778177039772,-28.995344325927839,1.004323850819607,-150.966611696184145,1.061299691323768,89.278849938429047,0.0,0.0,0.0,0.0,0.0,0.0,0.578209793567236],[1.037581392787724,-29.040596349185346,1.006354011489031,-150.94338712660624,1.060831738308872,89.318604508211436,0.0,0.0,0.0,0.0,0.0,0.0,0.546107787634956],[1.037400392900083,-29.081564514138456,1.008199868891225,-150.92257408756987,1.060415236925271,89.354906386876607,0.0,0.0,0.0,0.0,0.0,0.0,0.517121874441089],[1.023535891926444,-28.753070663682493,1.003139098398134,-151.331239283521029,1.066568478568334,89.475207510347573,0.0,0.0,0.0,0.0,0.0,0.0,0.527684224750631],[1.024298781287344,-28.773249456260331,1.003490920508898,-151.30752020121983,1.066205672691353,89.469928756279813,0.0,0.0,0.0,0.0,0.0,0.0,0.523755189678258],[1.024239093245754,-28.772424408106655,1.003491137417737,-151.307568653781573,1.066206307306893,89.469961189451439,0.0,0.0,0.0,0.0,0.0,0.0,0.523264316356445],[1.026581384106277,-28.832710199120232,1.004513753545422,-151.236860760981983,1.06512672931297,89.453510304231102,0.0,0.0,0.0,0.0,0.0,0.0,0.513826039779656],[1.037516073668028,-29.055730849889265,1.007032041142193,-150.935630575225162,1.060641498737925,89.331745537580886,0.0,0.0,0.0,0.0,0.0,0.0,0.534756818787402],[1.037780880487656,-28.994723800195434,1.004296007698903,-150.96693088087136,1.061306112983732,89.278304936304494,0.0,0.0,0.0,0.0,0.0,0.0,0.57865100916103],[1.037581392787725,-29.040596349185346,1.006354011489031,-150.94338712660624,1.060831738308873,89.318604508211436,0.0,0.0,0.0,0.0,0.0,0.0,0.546107787634958],[1.037400392900083,-29.081564514138446,1.008199868891225,-150.92257408756987,1.060415236925272,89.35490638687665,0.0,0.0,0.0,0.0,0.0,0.0,0.517121874441089],[1.02244270889806,-28.724097189679412,1.002635149874031,-151.365263340444358,1.067088476132493,89.482766948660455,0.0,0.0,0.0,0.0,0.0,0.0,0.53371555925953],[1.023535891926444,-28.753070663682493,1.003139098398134,-151.331239283521029,1.066568478568334,89.475207510347573,0.0,0.0,0.0,0.0,0.0,0.0,0.527684224750631],[1.024238473366705,-28.772415839020201,1.003491139670065,-151.307569156978843,1.066206313897322,89.469961526278851,0.0,0.0,0.0,0.0,0.0,0.0,0.523259254248231],[1.024219807688515,-28.772157810404451,1.003491207496509,-151.30758430911348,1.066206512348774,89.469971668821515,0.0,0.0,0.0,0.0,0.0,0.0,0.523107174883497],[1.026581030440171,-28.832705321297837,1.004513754819,-151.236861047951123,1.065126733075829,89.45351049644465,0.0,0.0,0.0,0.0,0.0,0.0,0.513822383459555],[1.037516076182477,-29.055731107081815,1.00703204376815,-150.935630313803756,1.060641128245233,89.331744034220563,0.0,0.0,0.0,0.0,0.0,0.0,0.53474960189436],[1.037786791928607,-28.993367048301504,1.004235129557422,-150.96762883143333,1.061320154107858,89.27711332650037,0.0,0.0,0.0,0.0,0.0,0.0,0.579615798911291],[1.037581392787726,-29.040596349185332,1.006354011489032,-150.94338712660624,1.060831738308873,89.31860450821145,0.0,0.0,0.0,0.0,0.0,0.0,0.54610778763496],[1.037400392900083,-29.081564514138456,1.008199868891225,-150.92257408756987,1.060415236925272,89.354906386876607,0.0,0.0,0.0,0.0,0.0,0.0,0.517121874441089],[1.02177570218245,-28.706385191673782,1.002327778302907,-151.386043885299102,1.067405819618284,89.487376599481337,0.0,0.0,0.0,0.0,0.0,0.0,0.537622307783353],[1.02244270889806,-28.724097189679412,1.002635149874031,-151.365263340444358,1.067088476132493,89.482766948660455,0.0,0.0,0.0,0.0,0.0,0.0,0.53371555925953],[1.024238211358532,-28.772412217067366,1.00349114062207,-151.307569369668414,1.066206316682939,89.469961668647812,0.0,0.0,0.0,0.0,0.0,0.0,0.52325711483707],[1.024207467138795,-28.771987212977109,1.003491252337126,-151.307594326743128,1.066206643550384,89.469978374421928,-0.000234000006458,-0.000076912081568,0.0,0.0,0.0,0.0,0.523006997482243],[1.026580493716959,-28.832697918714437,1.004513756751777,-151.236861483455073,1.065126738786338,89.453510788147739,0.0,0.0,0.0,0.0,0.0,0.0,0.513816835080376],[1.037516077882555,-29.055731280975657,1.007032045543621,-150.93563013705068,1.060640877746531,89.331743017763216,0.0,0.0,0.0,0.0,0.0,0.0,0.534744722475906],[1.037921021497448,-28.962599594158412,1.002854431870292,-150.983481349602272,1.061638734723296,89.250095665778204,0.0,0.0,0.0,0.0,0.0,0.0,0.601527429967008],[1.037581392787726,-29.040596349185332,1.006354011489032,-150.94338712660624,1.060831738308874,89.31860450821145,0.0,0.0,0.0,0.0,0.0,0.0,0.54610778763496],[1.037400392900083,-29.081564514138456,1.008199868891225,-150.92257408756987,1.060415236925272,89.354906386876607,0.0,0.0,0.0,0.0,0.0,0.0,0.517121874441089],[1.021660846499654,-28.703332670842442,1.002274858901831,-151.38962379319338,1.067460469892278,89.488170151571836,0.0,0.0,0.0,0.0,0.0,0.0,0.538312058814749],[1.02177570218245,-28.706385191673782,1.002327778302907,-151.386043885299102,1.067405819618284,89.487376599481337,0.0,0.0,0.0,0.0,0.0,0.0,0.537622307783353],[1.024238057407669,-28.772410088878068,1.003491141181449,-151.307569494640632,1.066206318319712,89.469961752301018,0.0,0.0,0.0,0.0,0.0,0.0,0.523255857822551],[1.026580112929581,-28.832692666821376,1.004513758123018,-151.236861792430716,1.065126742837754,89.453510995101411,0.0,0.0,0.0,0.0,0.0,0.0,0.513812899015787],[1.037516080253958,-29.055731523536522,1.007032048020187,-150.935629890501531,1.060640528331147,89.331741599927341,0.0,0.0,0.0,0.0,0.0,0.0,0.534737916399221],[1.037931819286688,-28.961647607231519,1.001429941651355,-150.989582763641181,1.061648825845979,89.24914196732766,0.0,0.0,0.0,0.0,0.0,0.0,0.64696380026465],[1.037906633871988,-28.96102089350768,1.002789533533581,-150.984669743085135,1.061654002731211,89.249066340325314,0.0,0.0,0.0,0.0,0.0,0.0,0.602318006649562],[1.037581392787726,-29.040596349185329,1.006354011489032,-150.94338712660624,1.060831738308874,89.318604508211465,0.0,0.0,0.0,0.0,0.0,0.0,0.546107787634962],[1.021706068556776,-28.699577546825942,1.002089795694179,-151.390464678826476,1.067493776484162,89.484295947458065,0.0,0.0,0.0,0.0,0.0,0.0,0.540841309094073],[1.021660846499654,-28.70333267084245,1.002274858901831,-151.38962379319338,1.067460469892278,89.488170151571836,0.0,0.0,0.0,0.0,0.0,0.0,0.53831205881475],[1.020431559278306,-28.6863453284824,1.002279426753306,-151.390621743217252,1.067473553182726,89.488838528643754,0.0,0.0,0.0,0.0,0.0,0.0,0.532493833353467],[1.024237915726547,-28.772408130302871,1.003491141696246,-151.307569609652688,1.066206319826037,89.469961829287129,0.0,0.0,0.0,0.0,0.0,0.0,0.523254701031142],[1.026579852771128,-28.832689078663435,1.004513759059865,-151.236862003526568,1.065126745605729,89.45351113649464,0.0,0.0,0.0,0.0,0.0,0.0,0.513810210005886],[1.037516082063831,-29.05573170866089,1.007032049910322,-150.935629702333273,1.060640261654579,89.331740517823249,0.0,0.0,0.0,0.0,0.0,0.0,0.534732722043376],[1.037941341649085,-28.960808100215416,1.000173743601866,-150.994977805892944,1.06165772503057,89.24830094932895,0.0,0.0,-0.012659000232816,-0.000004160812296,0.0,0.0,0.687094372610748],[1.037898872477529,-28.96016921072162,1.002754522882671,-150.985310911830993,1.06166223953213,89.248511060479572,0.0,0.0,0.0,0.0,0.0,0.0,0.602744514475898],[1.037581392787727,-29.040596349185346,1.006354011489033,-150.94338712660624,1.060831738308874,89.31860450821145,0.0,0.0,0.0,0.0,0.0,0.0,0.546107787634962],[1.021739360183942,-28.696813540408595,1.001953567253838,-151.391083869364678,1.067518297223267,89.481444225969341,0.0,0.0,0.0,0.0,0.0,0.0,0.542709013669302],[1.021706068556776,-28.699577546825942,1.002089795694179,-151.390464678826476,1.067493776484162,89.484295947458065,0.0,0.0,0.0,0.0,0.0,0.0,0.540841309094073],[1.019705183715669,-28.676287895248471,1.002282119490955,-151.39121145537834,1.06748127779305,89.489233477463216,0.0,0.0,0.0,0.0,0.0,0.0,0.530469858892084],[1.024237789500577,-28.772406385376556,1.003491142154886,-151.307569712118749,1.066206321168044,89.469961897875294,0.0,0.0,0.0,0.0,0.0,0.0,0.523253670459727],[1.026579647194899,-28.83268624331328,1.004513759800157,-151.236862170333751,1.065126747792972,89.453511248222981,0.0,0.0,0.0,0.0,0.0,0.0,0.513808085250021],[1.037516094979486,-29.055733029749252,1.007032063398743,-150.93562835952298,1.060638358591654,89.331732795673361,0.0,0.0,0.0,0.0,0.0,0.0,0.534695656370156],[1.037897713378035,-28.960042015766849,1.002749294256599,-150.985406670489851,1.061663469658772,89.248428133409533,0.0,0.0,0.0,0.0,0.0,0.0,0.602808211772841],[1.037581392787727,-29.040596349185364,1.006354011489033,-150.943387126606268,1.060831738308874,89.318604508211436,0.0,0.0,0.0,0.0,0.0,0.0,0.546107787634963],[1.021784690599598,-28.69305063157298,1.001768092239081,-151.391927168832041,1.067551686492053,89.477561813998406,0.0,0.0,0.0,0.0,0.0,0.0,0.545259806341608],[1.021739360183942,-28.696813540408595,1.001953567253838,-151.391083869364678,1.067518297223267,89.481444225969341,0.0,0.0,0.0,0.0,0.0,0.0,0.542709013669302],[1.019129661620151,-28.668308740444218,1.00228424964099,-151.391678713135889,1.06748739488838,89.489546408927296,0.0,0.0,0.0,0.0,0.0,0.0,0.529624451791812],[1.024237658555475,-28.77240457521328,1.003491142630674,-151.30756981841563,1.066206322560225,89.46996196902775,0.0,0.0,0.0,0.0,0.0,0.0,0.523252601391318],[1.026578988062838,-28.832677152418714,1.004513762173729,-151.236862705161855,1.06512675480585,89.453511606453887,0.0,0.0,0.0,0.0,0.0,0.0,0.513801273251252],[1.037516101946652,-29.055733742390451,1.007032070674862,-150.935627635163684,1.060637332012732,89.331728630025495,0.0,0.0,0.0,0.0,0.0,0.0,0.534675663573724],[1.0375162069863,-29.055744486458384,1.007032180372739,-150.935616714439391,1.06062185489727,89.331665826783507,0.0,0.0,0.0,0.0,-0.000155000001541,-0.000000050946035,0.534374392965507],[1.037896828598271,-28.959944922998624,1.00274530305629,-150.985479767260586,1.061664408661055,89.24836483226288,0.0,0.0,0.0,0.0,0.0,0.0,0.602856834403882],[1.037581392787727,-29.040596349185364,1.006354011489033,-150.943387126606268,1.060831738308874,89.318604508211436,0.0,0.0,0.0,0.0,0.0,0.0,0.546107787634964],[1.021816771626491,-28.690387986276239,1.001636839763085,-151.392524123917468,1.067575317587155,89.474814546533978,0.0,0.0,0.0,0.0,0.0,0.0,0.547070342144683],[1.021784690599598,-28.69305063157298,1.001768092239081,-151.391927168832041,1.067551686492053,89.477561813998406,0.0,0.0,0.0,0.0,0.0,0.0,0.545259806341608],[1.018891856426107,-28.66500906028454,1.002285128949169,-151.391871787965954,1.06748992162206,89.489675713340461,0.0,0.0,0.0,0.0,0.0,0.0,0.529472043307977],[1.024237263253355,-28.77239911061973,1.003491144067,-151.307570139308808,1.066206326762995,89.469962183825444,0.0,0.0,0.0,0.0,0.0,0.0,0.52324937424621],[1.026573656665687,-28.83260362017462,1.004513781372242,-151.236867031125655,1.065126811529457,89.453514504008851,0.0,0.0,0.0,0.0,0.0,0.0,0.51374620422531],[1.037516109639995,-29.055734529309131,1.007032078709361,-150.935626835305612,1.0606361984351,89.331724030189292,0.0,0.0,0.0,0.0,0.0,0.0,0.534653588381943],[1.037896001103313,-28.959854116029465,1.002741570254452,-150.985548132150228,1.061665286871907,89.248305629440125,0.0,0.0,0.0,0.0,0.0,0.0,0.602902309239002],[1.037581392787727,-29.040596349185375,1.006354011489033,-150.943387126606268,1.060831738308874,89.318604508211436,0.0,0.0,0.0,0.0,0.0,0.0,0.546107787634965],[1.021906499384539,-28.682942665404365,1.001269786830997,-151.394194366740436,1.067641416042661,89.467132334053076,0.0,0.0,0.0,0.0,0.0,0.0,0.552157173908724],[1.021816771626491,-28.690387986276239,1.001636839763085,-151.392524123917468,1.067575317587155,89.474814546533978,0.0,0.0,0.0,0.0,0.0,0.0,0.547070342144683],[1.018878475179912,-28.664823163738046,1.002285178256299,-151.391882653615198,1.067490063707064,89.489682987876435,0.0,0.0,0.0,0.0,0.0,0.0,0.529466797453215],[1.018083605848935,-28.653784639491743,1.002288115797264,-151.39252801136243,1.06749850681519,89.49011521716443,0.0,0.0,0.0,0.0,0.0,0.0,0.529818442339403],[1.024236864883804,-28.772393603618116,1.00349114551447,-151.307570462691984,1.066206330998375,89.469962400289944,0.0,0.0,0.0,0.0,0.0,0.0,0.523246122363084],[1.02657339116737,-28.832599958320973,1.004513782328302,-151.236867246554453,1.06512681435423,89.453514648304221,0.0,0.0,0.0,0.0,0.0,0.0,0.513743463233649],[1.037516130493301,-29.055736662303087,1.007032100487389,-150.935624667238443,1.060633125799526,89.33171156198587,0.0,0.0,0.0,0.0,-0.000028000000384,-0.000000009203155,0.534593759654277],[1.037895118685962,-28.95975728155884,1.002737589688236,-150.985621035342319,1.061666223375517,89.248242497118753,0.0,0.0,0.0,0.0,0.0,0.0,0.602950802603331],[1.037581392787727,-29.04059634918536,1.006354011489033,-150.943387126606268,1.060831738308875,89.318604508211436,0.0,0.0,0.0,0.0,0.0,0.0,0.546107787634965],[1.021971481865317,-28.677552337601025,1.001004004967316,-151.395404551279086,1.067689289796308,89.46157025110324,0.0,0.0,0.0,0.0,0.0,0.0,0.555861830698397],[1.021906499384539,-28.682942665404376,1.001269786830997,-151.394194366740436,1.067641416042661,89.467132334053076,0.0,0.0,0.0,0.0,0.0,0.0,0.552157173908724],[1.018873551288559,-28.664754758205241,1.002285196399417,-151.391886651845454,1.067490115989627,89.489685664684984,0.0,0.0,0.0,0.0,0.0,0.0,0.529464959133508],[1.017472181642713,-28.645281447131389,1.002290371387439,-151.39302444992208,1.067504997538747,89.490447698791797,-0.010471000336111,-0.00344165135175,0.0,0.0,0.0,0.0,0.530965908038826],[1.024233142671427,-28.772342148093745,1.003491159039003,-151.307573484261042,1.066206370572078,89.469964422851291,-0.000052999999753,-0.000017420257791,0.0,0.0,0.0,0.0,0.52321575274718],[1.026573181679933,-28.832597068989248,1.004513783082666,-151.236867416535262,1.065126816583075,89.453514762158306,0.0,0.0,0.0,0.0,0.0,0.0,0.513741300588757],[1.037894337856696,-28.959671594726682,1.002734067374014,-150.985685546257429,1.061667052068036,89.248186632807958,0.0,0.0,0.0,0.0,0.0,0.0,0.60299371342094],[1.037581392787728,-29.040596349185364,1.006354011489034,-150.943387126606268,1.060831738308875,89.318604508211436,0.0,0.0,0.0,0.0,0.0,0.0,0.546107787634965],[1.021983409882748,-28.676580645799728,1.000955706997292,-151.395614962540918,1.067697562048325,89.460555321352757,0.0,0.0,0.0,0.0,0.0,0.0,0.556530721386165],[1.021971481865317,-28.677552337601025,1.001004004967316,-151.395404551279086,1.067689289796308,89.46157025110324,0.0,0.0,0.0,0.0,0.0,0.0,0.555861830698397],[1.021972214360428,-28.67748846517004,1.000909184278792,-151.395811795645471,1.067689948884085,89.461506746231095,0.0,0.0,0.0,0.0,0.0,0.0,0.558421328520515],[1.018866216788042,-28.664652861844289,1.002285223424529,-151.391892607507344,1.067490193867981,89.489689651989991,0.0,0.0,0.0,0.0,0.0,0.0,0.529462312590828],[1.026572944848698,-28.832593802519838,1.004513783935496,-151.236867608703193,1.065126819102843,89.453514890873464,0.0,0.0,0.0,0.0,0.0,0.0,0.513738855758993],[1.037893539209337,-28.95958395217319,1.002730464673065,-150.985751529941922,1.061667899674419,89.248129493624049,0.0,0.0,0.0,0.0,0.0,0.0,0.603037603673052],[1.021986234261294,-28.676350570343523,1.000944270926749,-151.395664787037617,1.06769952081476,89.460315006925654,0.0,0.0,0.0,0.0,0.0,0.0,0.55668918799119],[1.021983409882748,-28.676580645799728,1.000955706997292,-151.395614962540918,1.067697562048325,89.460555321352757,0.0,0.0,0.0,0.0,0.0,0.0,0.556530721386165],[1.021972306960711,-28.67748039058031,1.000897197283156,-151.395863283974762,1.067690032204396,89.461498718106171,0.0,0.0,0.0,0.0,0.0,0.0,0.558745253830022],[1.018861803452826,-28.664591547768595,1.002285239685919,-151.391896191165245,1.067490240728925,89.489692051242201,0.0,0.0,0.0,0.0,0.0,0.0,0.529460773027839],[1.026572734061404,-28.832590895257386,1.00451378469454,-151.236867779738702,1.065126821345517,89.453515005434028,0.0,0.0,0.0,0.0,0.0,0.0,0.513736679871497],[1.037889417200047,-28.959131601722262,1.002711870123073,-150.986092098164732,1.061672274430103,89.247834583390215,0.0,0.0,0.0,0.0,0.0,0.0,0.603264135472311],[1.022062808344129,-28.670113798555366,1.00063424378006,-151.397015943740428,1.067752629367092,89.453800512059729,0.0,0.0,0.0,0.0,0.0,0.0,0.560997530419002],[1.021986234261294,-28.676350570343523,1.000944270926749,-151.395664787037617,1.06769952081476,89.460315006925654,0.0,0.0,0.0,0.0,0.0,0.0,0.55668918799119],[1.021986234261294,-28.676350570343661,1.000944270926748,-151.395664787037759,1.067699520814759,89.460315006925541,0.0,0.0,0.0,0.0,0.0,0.0,0.556689187991189],[1.021972375293585,-28.677474432069552,1.000888351675886,-151.395901279737814,1.067690093689267,89.46149279388321,0.0,0.0,0.0,0.0,0.0,0.0,0.558984340744436],[1.018856478184748,-28.664517563564591,1.002285259307186,-151.391900515319975,1.067490297272576,89.489694946255199,0.0,0.0,0.0,0.0,0.0,0.0,0.529458968279834],[1.026572491445238,-28.832587548996912,1.0045137855682,-151.236867976600593,1.065126823926833,89.453515137293238,0.0,0.0,0.0,0.0,0.0,0.0,0.513734175528114],[1.037890630961948,-28.959024570953584,1.00255173141525,-150.986778730524406,1.061673409167072,89.247727382493935,0.0,0.0,0.0,0.0,0.0,0.0,0.608368350212659],[1.037877662917349,-28.958413340235207,1.002683802274576,-150.986724291395319,1.061678954180925,89.247453616467993,0.0,0.0,0.0,0.0,0.0,0.0,0.603541771337758],[1.022116479776697,-28.665743536193851,1.000416972628574,-151.397963352883806,1.067789856827884,89.449235446648515,0.0,0.0,0.0,0.0,0.0,0.0,0.56403092155797],[1.022062808344129,-28.670113798555366,1.00063424378006,-151.397015943740428,1.067752629367092,89.453800512059729,0.0,0.0,0.0,0.0,0.0,0.0,0.560997530419002],[1.021986234261293,-28.676350570343704,1.000944270926748,-151.395664787037788,1.067699520814759,89.460315006925484,0.0,0.0,0.0,0.0,0.0,0.0,0.556689187991189],[1.021972441782002,-28.677468634393591,1.00087974483255,-151.395938250551524,1.067690153514523,89.461487029569483,0.0,0.0,0.0,0.0,0.0,0.0,0.559217016084834],[1.018851802374596,-28.664452601656194,1.002285276535277,-151.391904312111393,1.067490346920084,89.489697488199141,0.0,0.0,0.0,0.0,0.0,0.0,0.529457431369294],[1.026572242681117,-28.832584117939664,1.004513786463998,-151.236868178451004,1.06512682657356,89.453515272493789,0.0,0.0,0.0,0.0,0.0,0.0,0.513731607838521],[1.037890700907628,-28.95901840308667,1.002542503087631,-150.986818305852154,1.061673474558775,89.24772120482227,0.0,0.0,0.0,0.0,0.0,0.0,0.608662522709204],[1.037821495024327,-28.95498076380624,1.00254967627831,-150.989745838086321,1.061710875286699,89.245633158344177,0.0,0.0,0.0,0.0,0.0,0.0,0.604868712317351],[1.022219261474997,-28.656504094600237,0.999976955458956,-151.400360757838655,1.06788683212874,89.440204338489892,0.0,0.0,0.0,0.0,0.0,0.0,0.570518742776741],[1.022117046324492,-28.665801015593459,1.000417528853652,-151.397904304070607,1.067787203244287,89.449221868699098,0.0,0.0,0.0,0.0,0.0,0.0,0.563986151044533],[1.021986234261293,-28.676350570343743,1.000944270926748,-151.395664787037845,1.067699520814759,89.460315006925455,0.0,0.0,0.0,0.0,0.0,0.0,0.556689187991188],[1.021973066350794,-28.677414173124895,1.000798895227516,-151.396285572269591,1.06769071549198,89.461432881687244,0.0,0.0,0.0,0.0,0.0,0.0,0.561404695617684],[1.018821205463092,-28.664027497915562,1.002285389265193,-151.391929157047826,1.067490671791772,89.489714121823866,0.0,0.0,0.0,0.0,0.0,0.0,0.529448476058512],[1.026571943667632,-28.832579993820214,1.004513787540743,-151.236868421074377,1.065126829754915,89.453515435004363,0.0,0.0,0.0,0.0,0.0,0.0,0.51372852163924],[1.037890736036944,-28.959015305355638,1.00253786827967,-150.986838182323254,1.061673507400916,89.247718102166928,0.0,0.0,0.0,0.0,0.0,0.0,0.608810268321077],[1.037822208957092,-28.955054344015135,1.002550427163978,-150.989670849329713,1.061605036982731,89.245204132787521,0.0,0.0,0.0,0.0,0.0,0.0,0.602885961668584],[1.037750423216234,-28.950436143231382,1.002386844655265,-150.993822625392312,1.061771488292367,89.243678390730352,0.0,0.0,0.0,0.0,0.0,0.0,0.606734823980181],[1.022310943017722,-28.64826607078222,0.999584556423246,-151.402500506945614,1.067973335573704,89.432151919515277,0.0,0.0,0.0,0.0,0.0,0.0,0.57633958991751],[1.022219261474997,-28.656504094600237,0.999976955458956,-151.400360757838655,1.06788683212874,89.440204338489892,0.0,0.0,0.0,0.0,0.0,0.0,0.570518742776741],[1.022219261474997,-28.656504094600237,0.999976955458956,-151.400360757838655,1.06788683212874,89.440204338489892,0.0,0.0,0.0,0.0,0.0,0.0,0.570518742776741],[1.022117496677844,-28.665848310154825,1.00041799493555,-151.397856480508381,1.067720255957517,89.44895201140389,0.0,0.0,0.0,0.0,0.0,0.0,0.562085573976188],[1.022117046324492,-28.665801015593466,1.000417528853652,-151.397904304070636,1.067787203244287,89.449221868699084,0.0,0.0,0.0,0.0,0.0,0.0,0.563986151044533],[1.021986234261293,-28.676350570343807,1.000944270926748,-151.395664787037902,1.067699520814759,89.460315006925384,0.0,0.0,0.0,0.0,0.0,0.0,0.556689187991188],[1.021973357030877,-28.677388826384032,1.000761267107492,-151.396447238054464,1.067690977041504,89.461407680795574,0.0,0.0,0.0,0.0,0.0,0.0,0.56242409312261],[1.018595606841576,-28.660892293447496,1.002286220190946,-151.392112346239742,1.067493066898497,89.489836766094115,-0.00228299992159,-0.000750385806896,0.0,0.0,0.0,0.0,0.52944146309702],[1.026571756207474,-28.832577408289808,1.004513788215785,-151.236868573181965,1.065126831749397,89.453515536886883,0.0,0.0,0.0,0.0,0.0,0.0,0.513726586897523],[1.037890765494782,-28.959012707740342,1.002533981741965,-150.986854849963805,1.061673534940833,89.247715500422302,0.0,0.0,0.0,0.0,0.0,0.0,0.608934161688529],[1.037822585702074,-28.955093172464114,1.002550823409117,-150.989631277590007,1.06154918582595,89.244977700270539,0.0,0.0,0.0,0.0,-0.000606000015978,-0.000000199182566,0.601844539058842],[1.037682355030597,-28.94608261480165,1.002230885393499,-150.997728710471676,1.061829545961178,89.241806277450721,0.0,0.0,0.0,0.0,0.0,0.0,0.608523168947342],[1.022310942519245,-28.648266091627601,0.999106412616222,-151.404340992948391,1.067973335087965,89.432151898676551,0.0,0.0,0.0,0.0,0.0,0.0,0.589781194766552],[1.022310943017722,-28.64826607078222,0.999584556423246,-151.402500506945614,1.067973335573704,89.432151919515277,0.0,0.0,0.0,0.0,0.0,0.0,0.57633958991751],[1.022310943017722,-28.64826607078222,0.999584556423246,-151.402500506945614,1.067973335573704,89.432151919515277,0.0,0.0,0.0,0.0,0.0,0.0,0.57633958991751],[1.0221176026775,-28.665859441858632,1.00041810463723,-151.397845224294173,1.067704498593676,89.448888490235262,0.0,0.0,0.0,0.0,-0.000303000007989,-0.000000099591283,0.561638464598308],[1.021986234261293,-28.676350570343839,1.000944270926748,-151.39566478703793,1.067699520814759,89.460315006925356,0.0,0.0,0.0,0.0,0.0,0.0,0.556689187991188],[1.021973493458876,-28.677376930134493,1.000743606705851,-151.396523118562669,1.067691099797351,89.461395852998166,0.0,0.0,0.0,0.0,0.0,0.0,0.562902805858866],[1.026570950566772,-28.83256629653869,1.004513791116886,-151.236869226889183,1.06512684032101,89.453515974743823,0.0,0.0,0.0,0.0,0.0,0.0,0.51371827277778],[1.037890789516619,-28.959010589476069,1.002530812406522,-150.986868441937077,1.061673557398673,89.247713378790706,0.0,0.0,0.0,0.0,0.0,0.0,0.609035192840325],[1.037682452964799,-28.946073984761512,1.002217972588807,-150.997784118973527,1.061829637450126,89.241797634231176,0.0,0.0,0.0,0.0,0.0,0.0,0.608934678103672],[1.037662190125306,-28.944948728674838,1.002191267182501,-150.998791659109372,1.061844905676818,89.24136987634455,0.0,0.0,0.0,0.0,0.0,0.0,0.608951867871687],[1.022310941814477,-28.648266120041086,0.99845507240212,-151.406850994511359,1.067973334400575,89.432151870226647,0.0,0.0,0.0,0.0,0.0,0.0,0.608263682222798],[1.021986234261293,-28.676350570343868,1.000944270926748,-151.395664787037958,1.067699520814759,89.460315006925342,0.0,0.0,0.0,0.0,0.0,0.0,0.556689187991188],[1.021973584458472,-28.677368995154044,1.000731826946092,-151.396573733522928,1.067691181677411,89.461387963676088,0.0,0.0,0.0,0.0,0.0,0.0,0.563222209578515],[1.026567554081543,-28.832519450522977,1.004513803347515,-151.236871982841194,1.065126876457842,89.453517820696575,-0.000058000001445,-0.000019063678337,0.0,0.0,0.0,0.0,0.513683234808766],[1.037890827223888,-28.959007264420226,1.002525837475932,-150.986889777537499,1.061673592650924,89.247710048449136,0.0,0.0,0.0,0.0,0.0,0.0,0.609193783039203],[1.037682476978541,-28.946071868651849,1.002214806333221,-150.997797705510692,1.061829659883474,89.241795514889858,0.0,0.0,0.0,0.0,0.0,0.0,0.609035582346212],[1.037657550851731,-28.944687849778426,1.002182152287129,-150.999036223106145,1.06184843948766,89.241269475528725,0.0,0.0,0.0,0.0,0.0,0.0,0.609050510309499],[1.022310941602137,-28.648266128378822,0.998264027401981,-151.407587827270078,1.067973334193337,89.432151861868306,0.0,0.0,0.0,0.0,0.0,0.0,0.613720239254235],[1.021986234261293,-28.676350570343871,1.000944270926748,-151.395664787037958,1.067699520814759,89.460315006925342,0.0,0.0,0.0,0.0,0.0,0.0,0.556689187991188],[1.021973723579928,-28.677356864049102,1.000713817888194,-151.396651116676566,1.067691306856797,89.461375902373817,0.0,0.0,0.0,0.0,0.0,0.0,0.56371066492329],[1.037890917139059,-28.958999335633312,1.002513974466826,-150.986940654364901,1.061673676711962,89.247702107057918,0.0,0.0,0.0,0.0,0.0,0.0,0.60957195451748],[1.037682493468114,-28.946070415577942,1.002212632153144,-150.997807035059594,1.061829675287834,89.241794059596842,0.0,0.0,0.0,0.0,0.0,0.0,0.609104870737111],[1.037655248629787,-28.944558388303307,1.002177629045982,-150.999157589131869,1.061850193135057,89.241219652081043,0.0,0.0,0.0,0.0,0.0,0.0,0.609099463061491],[1.022310940881175,-28.648266155987418,0.997631705217476,-151.410028619216888,1.067973333489281,89.43215183415937,0.0,0.0,-0.005570000037551,-0.000001830770429,0.0,0.0,0.631887848977383],[1.021986234261293,-28.676350570343875,1.000944270926748,-151.395664787037958,1.067699520814759,89.460315006925342,0.0,0.0,0.0,0.0,0.0,0.0,0.556689187991188],[1.021973995282559,-28.677333172153805,1.000678646415759,-151.396802253094734,1.067691551330732,89.46135234680078,0.0,0.0,0.0,0.0,0.0,0.0,0.564665121806057],[1.037890979345807,-28.958993850197501,1.002505767186004,-150.986975853595453,1.061673734868598,89.247696612901919,0.0,0.0,0.0,0.0,0.0,0.0,0.609833591220726],[1.037682516326233,-28.946068401303005,1.002209618268926,-150.997819967900995,1.061829696641613,89.241792042245805,0.0,0.0,0.0,0.0,0.0,0.0,0.609200919768861],[1.037652718673835,-28.944416119596948,1.002172658362574,-150.999290962172893,1.061852120257363,89.241164900195457,0.0,0.0,0.0,0.0,0.0,0.0,0.609153259570406],[1.021986234261293,-28.676350570343885,1.000944270926748,-151.395664787037987,1.067699520814759,89.460315006925327,0.0,0.0,0.0,0.0,0.0,0.0,0.556689187991187],[1.021974070388154,-28.677326623108215,1.000668924119438,-151.396844032953453,1.067691618909618,89.461345835437783,0.0,0.0,0.0,0.0,0.0,0.0,0.564929076697647],[1.037891058441319,-28.958986875500031,1.002495331678692,-150.987020610036211,1.061673808814418,89.247689627116714,0.0,0.0,0.0,0.0,0.0,0.0,0.610166264573858],[1.037682570529664,-28.946063624855732,1.00220247144926,-150.997850635842496,1.061829747277806,89.241787258504104,0.0,0.0,0.0,0.0,0.0,0.0,0.609428682213018],[1.037649799489201,-28.94425196182905,1.002166922940637,-150.999444856449429,1.061854343870712,89.241101724918025,0.0,0.0,0.0,0.0,0.0,0.0,0.609215334371598],[1.021986234261294,-28.676350570343889,1.000944270926748,-151.395664787037987,1.067699520814759,89.460315006925299,0.0,0.0,0.0,0.0,0.0,0.0,0.556689187991187],[1.021974092192514,-28.677324721815438,1.000666101580995,-151.396856162468566,1.067691638528854,89.461343945084835,0.0,0.0,0.0,0.0,0.0,0.0,0.565005716629298],[1.037891106491176,-28.958982638431202,1.002488992197129,-150.987047799647968,1.061673853735881,89.24768538331216,0.0,0.0,0.0,0.0,0.0,0.0,0.610368362917975],[1.037682611733206,-28.946059993969271,1.002197038689141,-150.9978739488229,1.061829785769658,89.241783622072632,0.0,0.0,0.0,0.0,0.0,0.0,0.609601820599016],[1.037646848400804,-28.944086008560486,1.002161124826711,-150.99960043487846,1.061856591793676,89.241037859281533,0.0,0.0,0.0,0.0,0.0,0.0,0.609278089555226],[1.021986234261293,-28.6763505703439,1.000944270926748,-151.395664787037987,1.067699520814759,89.460315006925299,0.0,0.0,0.0,0.0,0.0,0.0,0.556689187991187],[1.021974108686718,-28.677323283560316,1.000663966437022,-151.396865337901403,1.067691653370037,89.461342515103269,0.0,0.0,0.0,0.0,0.0,0.0,0.56506369475181],[1.021974105048313,-28.677323600798768,1.000664437400386,-151.396863314824969,1.067691650096596,89.461342830529176,0.0,0.0,0.0,0.0,0.0,0.0,0.565050905691951],[1.037891149869952,-28.95897881326206,1.002483268997526,-150.987072346363874,1.061673894290384,89.247681552062033,0.0,0.0,0.0,0.0,0.0,0.0,0.610550815991643],[1.037682640657467,-28.946057445142316,1.002193224974193,-150.997890314331869,1.061829812790355,89.241781069353181,0.0,0.0,0.0,0.0,0.0,0.0,0.609723361840648],[1.037643576748065,-28.943902026815305,1.002154696876757,-150.999772915774344,1.061859083908184,89.240967056287118,0.0,0.0,0.0,0.0,0.0,0.0,0.609347663882165],[1.021986234261293,-28.676350570343935,1.000944270926748,-151.395664787038044,1.067699520814759,89.460315006925271,0.0,0.0,0.0,0.0,0.0,0.0,0.556689187991187],[1.021974124123892,-28.67732193747581,1.00066196812377,-151.396873925362144,1.067691667260124,89.461341176762104,0.0,0.0,0.0,0.0,0.0,0.0,0.565117959582156],[1.021974122012384,-28.6773221215437,1.000662241404783,-151.396872752865534,1.067691665360991,89.461341359799761,0.0,0.0,0.0,0.0,0.0,0.0,0.565110537922957],[1.037891223029798,-28.958972361979825,1.002473616619479,-150.987113745903002,1.061673962686996,89.24767509052387,0.0,0.0,0.0,0.0,0.0,0.0,0.610858532497454],[1.037682670958163,-28.946054775023278,1.002189229774266,-150.997907458767656,1.0618298410969,89.241778395156388,0.0,0.0,0.0,0.0,0.0,0.0,0.609850687564862],[1.03763881909847,-28.94363447674327,1.002145349306883,-151.000023743080163,1.061862707967471,89.240864094492977,0.0,0.0,0.0,0.0,0.0,0.0,0.609448843462918],[1.021986234261292,-28.67635057034396,1.000944270926747,-151.395664787038044,1.067699520814758,89.460315006925256,0.0,0.0,0.0,0.0,0.0,0.0,0.556689187991187],[1.021974140026173,-28.677320550835152,1.00065990960329,-151.396882771590612,1.067691681568706,89.461339798098038,0.0,0.0,0.0,0.0,0.0,0.0,0.565173861619243],[1.021974192488987,-28.677315976034425,1.000653118223505,-151.396911963295395,1.067691728776356,89.461335249709961,0.0,0.0,0.0,0.0,0.0,0.0,0.565358305731668],[1.037891294955833,-28.958966019497595,1.002464127026702,-150.987154448027212,1.061674029930126,89.247668737958662,0.0,0.0,0.0,0.0,0.0,0.0,0.611161063051657],[1.037682695835335,-28.946052582829267,1.00218594967569,-150.997921534621156,1.061829864336855,89.241776199614463,0.0,0.0,0.0,0.0,0.0,0.0,0.609955223734199],[1.037617279778918,-28.94334082472334,1.002145425246133,-151.000041286792936,1.061862936869403,89.240875860636024,0.0,0.0,0.0,0.0,0.0,0.0,0.6090034846536],[1.037641787614232,-28.943050192300561,1.002117831194664,-151.000307995165656,1.061867418601932,89.24030597314632,0.0,0.0,0.0,0.0,0.0,0.0,0.60986774781718],[1.021986234261292,-28.67635057034396,1.000944270926748,-151.395664787038044,1.067699520814758,89.460315006925256,0.0,0.0,0.0,0.0,0.0,0.0,0.556689187991187],[1.021974255003249,-28.677310525112812,1.000645026038498,-151.396946732892815,1.067691785022977,89.461329830048271,0.0,0.0,0.0,0.0,0.0,0.0,0.565578114078056],[1.021974222418711,-28.677313366184336,1.000649243827435,-151.39692861524054,1.067691755707341,89.461332654901625,0.0,0.0,-0.000155999994604,-0.000000051274721,0.0,0.0,0.565463540389239],[1.037891328987315,-28.958963018581048,1.002459637068855,-150.987173706322295,1.061674061745914,89.247665732271344,0.0,0.0,0.0,0.0,0.0,0.0,0.611304205263708],[1.037682737025087,-28.946048953159646,1.002180518735498,-150.997944840562411,1.061829902815826,89.241772564401629,0.0,0.0,0.0,0.0,0.0,0.0,0.610128307827346],[1.037604345429857,-28.94316448084275,1.002145470845546,-151.000051821791658,1.061863074322872,89.240882926200712,0.0,0.0,0.0,0.0,0.0,0.0,0.608736276862072],[1.03766058743494,-28.939350447293759,1.001943580787612,-151.002108306806605,1.061897249750388,89.236771936184837,0.0,0.0,0.0,0.0,0.0,0.0,0.612521027454706],[1.021986234261292,-28.67635057034397,1.000944270926747,-151.395664787038044,1.067699520814758,89.460315006925228,0.0,0.0,0.0,0.0,0.0,0.0,0.556689187991188],[1.021975092279556,-28.677237516757678,1.000536642303826,-151.397412563584339,1.06769253838898,89.461257241659908,0.0,0.0,-0.001062999945134,-0.0000003493912,0.0,0.0,0.568525516743078],[1.037891366366284,-28.958959722481513,1.002454705459381,-150.98719485914566,1.061674096691243,89.247662430931811,0.0,0.0,0.0,0.0,0.0,0.0,0.611461428486529],[1.037682870138179,-28.946037223145009,1.002162967547264,-150.998020160185689,1.061830027168478,89.241760816472791,0.0,0.0,0.0,0.0,0.0,0.0,0.610687672613728],[1.037592346956449,-28.943000892438352,1.002145513144191,-151.000061594527892,1.061863201829434,89.240889480532275,0.0,0.0,0.0,0.0,0.0,0.0,0.608488557620754],[1.037674046958173,-28.936702260122637,1.001818853324839,-151.003397350585516,1.061918605298153,89.234242402077371,0.0,0.0,0.0,0.0,0.0,0.0,0.614420957516672],[1.037891402242094,-28.958956558931881,1.002449972170254,-150.987215161523153,1.061674130231279,89.247659262352826,0.0,0.0,0.0,0.0,0.0,0.0,0.611612330025999],[1.037683181173533,-28.946009814524398,1.002121957028288,-150.998196164101415,1.061830317733985,89.241733365992204,0.0,0.0,-0.000391999987187,-0.000000128844164,0.0,0.0,0.611994746994704],[1.037580639657414,-28.942841270193469,1.002145554415065,-151.000071130108864,1.061863326240464,89.240895875807382,0.0,0.0,0.0,0.0,0.0,0.0,0.608246993457629],[1.037674479772956,-28.936746929147507,1.001819308944732,-151.003351811256977,1.061854379970506,89.233982106015802,0.0,0.0,0.0,0.0,0.0,0.0,0.613215504162306],[1.037704781462891,-28.928338579978739,1.001454045653002,-151.007897997025623,1.062015456430871,89.227293018270345,0.0,0.0,0.0,0.0,0.0,0.0,0.620332146727479],[1.037891445508026,-28.9589527437176,1.00244426386305,-150.987239646276777,1.061674170680288,89.247655441073192,0.0,0.0,0.0,0.0,0.0,0.0,0.611794317209752],[1.03757185840282,-28.942721540445071,1.002145585370138,-151.00007828243389,1.061863419556218,89.240900672690984,0.0,0.0,0.0,0.0,0.0,0.0,0.608065897381962],[1.037674515552137,-28.936750621767992,1.001819346609175,-151.003348046693503,1.061849070703456,89.233960587010401,0.0,0.0,0.0,0.0,0.0,0.0,0.613116049382708],[1.037674492872265,-28.936748281062538,1.001819322734104,-151.003350432997792,1.061852436177854,89.233974227310782,0.0,0.0,0.0,0.0,0.0,0.0,0.613179088816577],[1.03770540214912,-28.928283945201212,1.001372270645,-151.008249177848313,1.062016035890741,89.227238293760209,0.0,0.0,0.0,0.0,0.0,0.0,0.622940111189246],[1.037709243524443,-28.9267717659082,1.001386252615985,-151.008765821863676,1.062033753794356,89.226019105565939,0.0,0.0,0.0,0.0,0.0,0.0,0.621420136406972],[1.037891514522674,-28.958946657968216,1.002435158390391,-150.987278703137349,1.061674235201587,89.247649345648725,0.0,0.0,0.0,0.0,0.0,0.0,0.612084612489892],[1.037557908809565,-28.942531337688379,1.002145634542817,-151.000089644373304,1.061863567792926,89.240908292853945,0.0,0.0,0.0,0.0,0.0,0.0,0.607778378867048],[1.037674526747666,-28.936751777211864,1.001819358394614,-151.003346868738191,1.061847409400767,89.233953853535439,0.0,0.0,0.0,0.0,0.0,0.0,0.613084935508885],[1.037674519557617,-28.936751035125813,1.001819350825224,-151.003347625267168,1.061848476366735,89.233958177060998,0.0,0.0,0.0,0.0,-0.000048000001698,-0.000000015776838,0.613104917438381],[1.037705761729416,-28.928252293856858,1.001324896232965,-151.008452652445868,1.062016371587526,89.227206590428267,0.0,0.0,-0.00042699999176,-0.000000140348106,0.0,0.0,0.6244510946522],[1.037716643792107,-28.923904983025725,1.001262068244595,-151.009948626125492,1.06206644181195,89.223772628998844,0.0,0.0,0.0,0.0,0.0,0.0,0.623441612982883],[1.037891703408139,-28.958930001952812,1.002410237726292,-150.987385601051528,1.061674411789258,89.247632663153311,0.0,0.0,0.0,0.0,0.0,0.0,0.612879135172731],[1.037534389275739,-28.942210636874069,1.002145717445706,-151.000108801044632,1.061863817721568,89.240921140737541,0.0,0.0,0.0,0.0,0.0,0.0,0.607294069486713],[1.037674533946067,-28.936752520128806,1.001819365972311,-151.003346111347042,1.061846341231252,89.233949524094896,0.0,0.0,0.0,0.0,0.0,0.0,0.613064931736737],[1.037736176910977,-28.916343084444037,1.000934492628971,-151.013070074597181,1.062152675163466,89.217847462158844,0.0,0.0,0.0,0.0,0.0,0.0,0.628774616776586],[1.037716643792107,-28.923904983025707,1.001262068244596,-151.009948626125464,1.06206644181195,89.223772628998859,0.0,0.0,0.0,0.0,0.0,0.0,0.623441612982883],[1.037891954780124,-28.958907835862974,1.002377072901933,-150.987527870798033,1.061674646795138,89.247610461822504,0.0,0.0,0.0,0.0,0.0,0.0,0.613936537067465],[1.03735815963141,-28.939807181259042,1.002146338466343,-151.000252340901994,1.061865690254644,89.241017408914985,0.0,0.0,0.0,0.0,0.0,0.0,0.603683599179297],[1.037674538287941,-28.936752968235435,1.001819370542965,-151.003345654510014,1.061845696941405,89.233946912693739,0.0,0.0,0.0,0.0,0.0,0.0,0.613052866609],[1.037791698390093,-28.90778570595177,1.00054258689944,-151.015964639032262,1.062244487760716,89.21027582058629,0.0,0.0,0.0,0.0,0.0,0.0,0.635439915224615],[1.037712694923471,-28.916022723553461,1.000934575415753,-151.013089222271361,1.062152924377304,89.217860295618365,0.0,0.0,0.0,0.0,0.0,0.0,0.628286171020054],[1.037716643792107,-28.923904983025682,1.001262068244595,-151.009948626125436,1.06206644181195,89.223772628998901,0.0,0.0,0.0,0.0,0.0,0.0,0.623441612982884],[1.037891978722494,-28.958905724615562,1.002373914060589,-150.987541422019746,1.06167466917869,89.24760834721846,0.0,0.0,0.0,0.0,0.0,0.0,0.614037253421374],[1.037213587061141,-28.937834845565696,1.0021468477151,-151.00037009688856,1.061867226205593,89.241096384187884,0.0,0.0,0.0,0.0,0.0,0.0,0.600746252182776],[1.037674542676326,-28.936753421142274,1.001819375162581,-151.003345192779221,1.061845045749777,89.23394427331543,0.0,0.0,0.0,0.0,0.0,0.0,0.613040672684722],[1.037849026882771,-28.898954516303839,1.000138100011108,-151.018954524861442,1.062339267830496,89.202462431419306,0.0,0.0,0.0,0.0,0.0,0.0,0.642321738312526],[1.037710181123559,-28.915988427313533,1.000934584277964,-151.013091272074576,1.062152951055916,89.217861669469627,0.0,0.0,0.0,0.0,0.0,0.0,0.628233914178832],[1.037716643792107,-28.923904983025675,1.001262068244596,-151.009948626125436,1.06206644181195,89.223772628998901,0.0,0.0,0.0,0.0,0.0,0.0,0.623441612982884],[1.037891997657482,-28.958904054921106,1.002371415869248,-150.987552139157032,1.061674686880877,89.247606674869388,0.0,0.0,0.0,0.0,0.0,0.0,0.614116905920183],[1.037167781661402,-28.937209826320881,1.00214700902169,-151.000407406083468,1.061867712806652,89.241121406231159,0.0,0.0,0.0,0.0,0.0,0.0,0.599820279246113],[1.037674546596077,-28.936753825683365,1.001819379288871,-151.003344780356457,1.061844464098646,89.233941915792542,0.0,0.0,0.0,0.0,0.0,0.0,0.613029781325515],[1.037870535173726,-28.895478909288073,0.999979420357694,-151.020149933023873,1.062376565239484,89.199410952031215,0.0,0.0,0.0,0.0,0.0,0.0,0.645010567672438],[1.037849368751779,-28.898924474916662,1.00009310912236,-151.019147992971767,1.062339586771329,89.202432336402339,0.0,0.0,0.0,0.0,0.0,0.0,0.643757911924573],[1.037709221320022,-28.915975332490312,1.000934587661662,-151.013092054717845,1.062152961242163,89.217862194025059,0.0,0.0,0.0,0.0,0.0,0.0,0.628213963448506],[1.037716643792107,-28.923904983025661,1.001262068244595,-151.009948626125407,1.06206644181195,89.22377262899893,0.0,0.0,0.0,0.0,0.0,0.0,0.623441612982884],[1.037892016047895,-28.958902433247655,1.002368989526732,-150.987562548117154,1.061674704073944,89.247605050617651,0.0,0.0,0.0,0.0,0.0,0.0,0.614194267822674],[1.037126081787295,-28.936640778127242,1.002147155853526,-151.000441371341054,1.061868155777344,89.241144185576161,0.0,0.0,0.0,0.0,0.0,0.0,0.598979273642408],[1.037674551012276,-28.93675428146063,1.001819383937765,-151.003344315699309,1.061843808779902,89.233939259680227,0.0,0.0,0.0,0.0,0.0,0.0,0.613017510978058],[1.037899767708142,-28.890756331386104,0.999763800108272,-151.02177491474788,1.062427251435603,89.195264810031986,0.0,0.0,0.0,0.0,0.0,0.0,0.648664860571274],[1.037849414611066,-28.898920445081949,1.000087073918751,-151.019173946652899,1.062339629554966,89.202428299373366,0.0,0.0,0.0,0.0,0.0,0.0,0.643950570067823],[1.037708206037893,-28.915961480732694,1.000934591240937,-151.013092882599466,1.062152972017187,89.217862748900842,0.0,0.0,0.0,0.0,0.0,0.0,0.628192860520265],[1.037716643792106,-28.923904983025658,1.001262068244595,-151.009948626125407,1.062066441811949,89.22377262899893,0.0,0.0,0.0,0.0,0.0,0.0,0.623441612982884],[1.03789203574601,-28.958900696260631,1.002366390652403,-150.987573697291225,1.061674722489572,89.247603310869067,0.0,0.0,0.0,0.0,0.0,0.0,0.61427713101605],[1.037103369840054,-28.936330824767133,1.002147235819105,-151.00045987063919,1.061868397035915,89.241156592415265,0.0,0.0,0.0,0.0,0.0,0.0,0.598522011595691],[1.037674554550543,-28.93675464663033,1.001819387662469,-151.00334394341499,1.061843283737142,89.23393713159507,0.0,0.0,0.0,0.0,0.0,0.0,0.613007680278876],[1.037934002068356,-28.885227482466888,0.99951135326465,-151.023678331831036,1.062486601819306,89.190411016022921,0.0,0.0,0.0,0.0,0.0,0.0,0.652944161356253],[1.037849438704473,-28.898918327900397,1.000083903162849,-151.019187582240448,1.062339652032498,89.202426178412125,0.0,0.0,0.0,0.0,0.0,0.0,0.644051788733825],[1.037707363441863,-28.915949984955212,1.000934594211417,-151.013093569669451,1.062152980959515,89.217863209399596,0.0,0.0,0.0,0.0,0.0,0.0,0.628175347698386],[1.037716643792107,-28.923904983025643,1.001262068244595,-151.009948626125407,1.06206644181195,89.22377262899893,0.0,0.0,0.0,0.0,0.0,0.0,0.623441612982884],[1.037892053958406,-28.95889909028504,1.002363987796865,-150.987584005596034,1.061674739516212,89.247601702340162,0.0,0.0,0.0,0.0,0.0,0.0,0.614353744532369],[1.03708523080842,-28.936083268669886,1.002147299680659,-151.000474645229019,1.061868589715167,89.241166501215261,0.0,0.0,0.0,0.0,0.0,0.0,0.598157219820942],[1.037674558794697,-28.936755084651626,1.001819392130255,-151.003343496859742,1.061842653947974,89.233934578952585,0.0,0.0,0.0,0.0,0.0,0.0,0.612995888734371],[1.037961497873928,-28.880788303031928,0.999308649389498,-151.025207395372632,1.062534263305594,89.186514007038681,0.0,0.0,0.0,0.0,0.0,0.0,0.656380933691368],[1.037849476048184,-28.898915046358539,1.000078988627485,-151.019208717161348,1.062339686871747,89.202422891014621,0.0,0.0,0.0,0.0,0.0,0.0,0.644208674059842],[1.037849441948363,-28.898918042847328,1.000083476258572,-151.019189418109789,1.062339655058828,89.202425892850101,0.0,0.0,0.0,0.0,0.0,0.0,0.644065416642947],[1.037706365601052,-28.915936371104248,1.000934597729187,-151.013094383329189,1.062152991549421,89.21786375474332,0.0,0.0,0.0,0.0,0.0,0.0,0.628154609123837],[1.037716643792107,-28.923904983025611,1.001262068244596,-151.00994862612535,1.06206644181195,89.223772628998972,0.0,0.0,0.0,0.0,0.0,0.0,0.623441612982885],[1.037892071121664,-28.958897576822846,1.002361723359536,-150.987593720128984,1.061674755562021,89.247600186471757,0.0,0.0,0.0,0.0,0.0,0.0,0.614425944881335],[1.037069763384215,-28.935872166856225,1.002147354133959,-151.000487243754037,1.061868754013311,89.241174950600509,0.0,0.0,0.0,0.0,0.0,0.0,0.597846439855697],[1.037674563368281,-28.936755556671962,1.001819396944828,-151.003343015642969,1.061841975274819,89.233931828171634,0.0,0.0,0.0,0.0,0.0,0.0,0.612983182406395],[1.037971281794395,-28.879097012182605,0.999232946053208,-151.025819850997777,1.062553972307914,89.185077278241607,0.0,0.0,0.0,0.0,0.0,0.0,0.657681009078752],[1.037961569806008,-28.880795757195738,0.99930872542694,-151.025199784147247,1.062523553090895,89.186470623325064,0.0,0.0,0.0,0.0,0.0,0.0,0.656182250164779],[1.037849506403998,-28.898912378871685,1.000074993719057,-151.019225897387344,1.062339715191744,89.202420218767784,0.0,0.0,-0.000065000000177,-0.000000021364468,0.0,0.0,0.64433620306372],[1.037849444294161,-28.898917836713,1.000083167545422,-151.019190745708158,1.062339657247299,89.202425686347695,0.0,0.0,0.0,0.0,0.0,0.0,0.644075271584217],[1.037705392463753,-28.915923094265057,1.000934601159858,-151.013095176845184,1.062153001877144,89.217864286585993,0.0,0.0,0.0,0.0,0.0,0.0,0.628134384925255],[1.037716643792107,-28.923904983025608,1.001262068244596,-151.00994862612535,1.06206644181195,89.223772628998987,0.0,0.0,0.0,0.0,0.0,0.0,0.623441612982885],[1.037892094992474,-28.958895471886631,1.002358573960554,-150.987607231258408,1.061674777878672,89.247598078188886,0.0,0.0,0.0,0.0,0.0,0.0,0.614526362086908],[1.037051612268444,-28.935624429362807,1.00214741803241,-151.000502028211969,1.061868946815426,89.241184866008624,0.0,0.0,0.0,0.0,0.0,0.0,0.597482071036623],[1.037674571712547,-28.936756417848446,1.001819405728767,-151.003342137688151,1.061840737071048,89.233926809506158,0.0,0.0,0.0,0.0,0.0,0.0,0.612960001634389],[1.037984772459151,-28.876765265940019,0.999128573340975,-151.026664401492297,1.062581146388424,89.183096534194931,0.0,0.0,0.0,0.0,0.0,0.0,0.6594735466363],[1.037961629931804,-28.880801987898209,0.999308788984279,-151.025193422161976,1.062514600756645,89.186434359559712,0.0,0.0,0.0,0.0,0.0,0.0,0.656016265033294],[1.037849446273807,-28.898917662753991,1.000082907019049,-151.019191866083446,1.062339659094173,89.202425512078079,0.0,0.0,0.0,0.0,0.0,0.0,0.644083588278758],[1.037704054608414,-28.915904841413372,1.000934605876283,-151.013096267759835,1.062153016075537,89.217865017755756,0.0,0.0,0.0,0.0,0.0,0.0,0.628106582518591],[1.037716643792107,-28.923904983025594,1.001262068244596,-151.00994862612535,1.06206644181195,89.223772628998987,0.0,0.0,0.0,0.0,0.0,0.0,0.623441612982885],[1.037892124245174,-28.958892892373591,1.002354714501124,-150.987623788710096,1.061674805226815,89.247595494574711,0.0,0.0,0.0,0.0,0.0,0.0,0.614649419793082],[1.037035026885206,-28.935398054162086,1.002147476416254,-151.000515537360428,1.06186912298365,89.241193926107456,0.0,0.0,0.0,0.0,0.0,0.0,0.597149448289919],[1.037674634140685,-28.93676286079214,1.001819471446342,-151.003335569216205,1.061831473374474,89.233889261683927,0.0,0.0,0.0,0.0,0.0,0.0,0.612786624971281],[1.038017967224631,-28.871029355718022,0.99887181414539,-151.028742773099594,1.062648000869814,89.178224273450283,0.0,0.0,0.0,0.0,0.0,0.0,0.663883792038351],[1.037961652948167,-28.88080437303277,0.999308813314254,-151.025190986772571,1.062511173772203,89.18642047751483,0.0,0.0,0.0,0.0,0.0,0.0,0.655952746636414],[1.037961630681875,-28.880802065626384,0.999308789777159,-151.02519334279603,1.062514489076009,89.18643390716386,0.0,0.0,0.0,0.0,0.0,0.0,0.65601419487129],[1.037849449617656,-28.898917368917115,1.000082466959868,-151.019193758528274,1.062339662213758,89.202425217716566,0.0,0.0,0.0,0.0,0.0,0.0,0.644097636143681],[1.037702214171948,-28.915879731583875,1.00093461236446,-151.013097768489502,1.062153035607698,89.217866023598134,0.0,0.0,0.0,0.0,0.0,0.0,0.62806833871352],[1.037716643792107,-28.923904983025594,1.001262068244596,-151.00994862612535,1.062066441811951,89.223772628999001,0.0,0.0,0.0,0.0,0.0,0.0,0.623441612982885],[1.03789226289541,-28.958880666152975,1.002336421665802,-150.987702268470144,1.061674934849944,89.247583248915561,0.0,0.0,0.0,0.0,0.0,0.0,0.615232689363459],[1.037009296667075,-28.935046845687324,1.002147566986693,-151.000536495194609,1.061869396282457,89.241207981762358,0.0,0.0,0.0,0.0,0.0,0.0,0.596634021361376],[1.037674825451423,-28.936782605151194,1.001819672837541,-151.003315440176976,1.061803084832452,89.233774192518439,0.0,0.0,0.0,0.0,-0.000365999992937,-0.000000120298381,0.612255881832436],[1.038044879689384,-28.86638058674087,0.998663708064136,-151.030428107487353,1.062702193025975,89.174275685469752,0.0,0.0,0.0,0.0,0.0,0.0,0.667458927385524],[1.037961675501736,-28.880806710208805,0.999308837155023,-151.025188600352209,1.062507815694967,89.186406874512471,0.0,0.0,0.0,0.0,-0.000049999998737,-0.000000016434205,0.655890516852589],[1.037961631399039,-28.880802139944503,0.999308790535253,-151.02519326691197,1.062514382294993,89.186433474615299,0.0,0.0,0.0,0.0,0.0,0.0,0.65601221554255],[1.03784945430032,-28.898916957433372,1.000081850709077,-151.019196408675981,1.062339666582366,89.202424805498083,0.0,0.0,0.0,0.0,0.0,0.0,0.64411730852779],[1.03770026646922,-28.915853158177288,1.000934619230755,-151.013099356686439,1.062153056278219,89.217867088064096,0.0,0.0,0.0,0.0,0.0,0.0,0.628027869605372],[1.037716643792107,-28.923904983025594,1.001262068244596,-151.00994862612535,1.062066441811951,89.223772628999001,0.0,0.0,0.0,0.0,0.0,0.0,0.623441612982884],[1.037893448395781,-28.958776128623032,1.00218001279683,-150.988373409717099,1.061676043166033,89.24747854516724,0.0,0.0,-0.00167699996382,-0.000000551203243,0.0,0.0,0.62022034500684],[1.036957350015725,-28.934337737577412,1.002147749820373,-151.000578806979803,1.061869948026317,89.241236358699908,0.0,0.0,0.0,0.0,0.0,0.0,0.595595647655917],[1.038065913055408,-28.862748342256001,0.998501100650675,-151.031745467459046,1.062744540702522,89.171190654451664,0.0,0.0,0.0,0.0,0.0,0.0,0.670252785156264],[1.037961632172179,-28.880802220063316,0.999308791352519,-151.025193185105024,1.06251426717948,89.186433008305258,0.0,0.0,0.0,0.0,0.0,0.0,0.656010081735577],[1.037849457774967,-28.898916652102795,1.000081393436572,-151.019198375149728,1.062339669823975,89.202424499622339,0.0,0.0,0.0,0.0,0.0,0.0,0.644131905906322],[1.037698972663715,-28.915835506135501,1.000934623791826,-151.013100411682217,1.062153070009061,89.217867795159677,0.0,0.0,0.0,0.0,0.0,0.0,0.62800098916905],[1.037716643792107,-28.923904983025594,1.001262068244597,-151.00994862612535,1.062066441811951,89.223772628998987,0.0,0.0,0.0,0.0,0.0,0.0,0.623441612982884],[1.036942171653361,-28.93413052951805,1.002147803238969,-151.000591170131997,1.061870109236975,89.241244650209595,0.0,0.0,0.0,0.0,0.0,0.0,0.595292806686226],[1.036955330450694,-28.934310161906897,1.002147756922702,-151.000580452006318,1.061869969473574,89.241237461881653,0.0,0.0,0.0,0.0,0.0,0.0,0.595555335278236],[1.038084926739482,-28.859465621940096,0.998354135430069,-151.032936475450668,1.062782817465097,89.168402594216758,0.0,0.0,0.0,0.0,0.0,0.0,0.672778156456937],[1.037961632862535,-28.880802291603313,0.999308792082274,-151.025193112057678,1.062514164390122,89.186432591925907,0.0,0.0,0.0,0.0,0.0,0.0,0.656008176420202],[1.037849463530864,-28.898916146310011,1.00008063594563,-151.01920163269935,1.062339675193837,89.202423992926398,0.0,0.0,0.0,0.0,0.0,0.0,0.644156087088866],[1.037697655881133,-28.915817540559484,1.000934628433883,-151.013101485414012,1.062153083983737,89.217868514812793,0.0,0.0,0.0,0.0,0.0,0.0,0.627973633062156],[1.037716643792107,-28.923904983025576,1.001262068244597,-151.009948626125293,1.062066441811951,89.223772628999015,0.0,0.0,0.0,0.0,0.0,0.0,0.623441612982884],[1.036928934698561,-28.933949819585987,1.002147849823251,-151.000601951967411,1.061870249826085,89.241251881185434,0.0,0.0,0.0,0.0,0.0,0.0,0.59502890915729],[1.036952098853302,-28.934266036599443,1.002147768287383,-151.000583084288081,1.061870003792225,89.241239227132795,0.0,0.0,0.0,0.0,0.0,0.0,0.595490838998714],[1.038083490148836,-28.859446029666685,0.998354140522202,-151.032937649522381,1.062782832684583,89.168403380395119,0.0,0.0,0.0,0.0,0.0,0.0,0.672747999639948],[1.038098225309656,-28.858191594941363,0.99827416048171,-151.033697942530125,1.062796944696266,89.167184995009848,0.0,0.0,0.0,0.0,0.0,0.0,0.674502264267526],[1.037961633624917,-28.880802370607309,0.999308792888168,-151.025193031389051,1.062514050876405,89.18643213210423,0.0,0.0,0.0,0.0,0.0,0.0,0.656006072329201],[1.037849503482656,-28.89891263559278,1.000075378186692,-151.01922424354899,1.06233971246615,89.202420475940528,0.0,0.0,0.0,0.0,0.0,0.0,0.644323929728212],[1.037697026270854,-28.915808950429817,1.000934630653444,-151.013101998811294,1.062153090665624,89.217868858909839,0.0,0.0,0.0,0.0,0.0,0.0,0.627960553541716],[1.037716643792108,-28.923904983025565,1.001262068244597,-151.009948626125293,1.062066441811951,89.223772628999015,0.0,0.0,0.0,0.0,0.0,0.0,0.623441612982884],[1.036917987140783,-28.933800360757044,1.002147888349325,-151.000610869036421,1.061870366098418,89.24125786152959,0.0,0.0,0.0,0.0,0.0,0.0,0.594810800757749],[1.036949337769995,-28.934228335624535,1.002147777997312,-151.000585333315229,1.061870033114074,89.241240735367015,0.0,0.0,0.0,0.0,0.0,0.0,0.595435742396519],[1.038082049784179,-28.859426385867316,0.998354145627694,-151.032938826678617,1.062782847944032,89.168404168638844,0.0,0.0,0.0,0.0,0.0,0.0,0.672717765491313],[1.038133309821202,-28.855017089789573,0.998121548286644,-151.034531511843682,1.062831235803405,89.164058560394892,0.0,0.0,0.0,0.0,0.0,0.0,0.677261655654368],[1.038098225309656,-28.858191594941363,0.99827416048171,-151.033697942530125,1.062796944696266,89.167184995009848,0.0,0.0,0.0,0.0,0.0,0.0,0.674502264267526],[1.03796163411645,-28.88080242154378,0.999308793407754,-151.025192979379312,1.062513977690381,89.186431835642026,0.0,0.0,0.0,0.0,0.0,0.0,0.656004715759438],[1.037849591731249,-28.898904880852182,1.00006376444591,-151.019274188971082,1.062339794796104,89.202412707353133,0.0,0.0,-0.000172999993083,-0.000000056862351,0.0,0.0,0.644694677091754],[1.037696024799433,-28.915795286765942,1.000934634183918,-151.013102815431949,1.062153101293968,89.217869406237909,0.0,0.0,0.0,0.0,0.0,0.0,0.627939749791363],[1.037716643792108,-28.923904983025551,1.001262068244597,-151.009948626125293,1.062066441811951,89.223772628999043,0.0,0.0,0.0,0.0,0.0,0.0,0.623441612982884],[1.036909473792099,-28.933684132128519,1.00214791830829,-151.000617803382568,1.061870456516642,89.241262512134483,0.0,0.0,0.0,0.0,0.0,0.0,0.594641281081264],[1.036947775105253,-28.934206998261725,1.002147783492719,-151.000586606176455,1.061870049709059,89.241241588968379,-0.000048999998398,-0.000016105521354,0.0,0.0,0.0,0.0,0.595404563619746],[1.038080606624001,-28.859406703886325,0.998354150743076,-151.032940006119588,1.062782863233079,89.168404958412424,0.0,0.0,0.0,0.0,0.0,0.0,0.672687474563362],[1.038162729457909,-28.852355539544483,0.997993588264823,-151.035230628124481,1.062859990180108,89.161437305787544,0.0,0.0,0.0,0.0,0.0,0.0,0.679575711628568],[1.038133309821202,-28.855017089789573,0.998121548286644,-151.034531511843682,1.062831235803405,89.164058560394892,0.0,0.0,0.0,0.0,0.0,0.0,0.677261655654368],[1.037961634871412,-28.880802499778724,0.999308794205803,-151.025192899495948,1.062513865281649,89.186431380296256,0.0,0.0,0.0,0.0,0.0,0.0,0.656002632171425],[1.037695084640237,-28.915782459596205,1.00093463749824,-151.013103582057369,1.062153111271613,89.217869920057382,0.0,0.0,0.0,0.0,0.0,0.0,0.627920220597925],[1.037716643792108,-28.923904983025551,1.001262068244597,-151.009948626125293,1.062066441811951,89.223772628999043,0.0,0.0,0.0,0.0,0.0,0.0,0.623441612982884],[1.036900815193202,-28.933565918460616,1.002147948777711,-151.000624856041981,1.061870548476863,89.241267242086323,0.0,0.0,0.0,0.0,0.0,0.0,0.594468951731723],[1.03807917220025,-28.859387140998059,0.998354155827472,-151.032941178420657,1.062782878429553,89.168405743405046,0.0,0.0,0.0,0.0,0.0,0.0,0.67265736889224],[1.038194357323041,-28.849494608418407,0.997856034635127,-151.035982360459911,1.062890902890098,89.158619681397496,0.0,0.0,0.0,0.0,0.0,0.0,0.682063666444851],[1.038162729457909,-28.852355539544483,0.997993588264823,-151.035230628124481,1.062859990180108,89.161437305787544,0.0,0.0,0.0,0.0,0.0,0.0,0.679575711628568],[1.03796164108116,-28.88080314328095,0.999308800769956,-151.025192242435054,1.06251294069139,89.186427634958392,0.0,0.0,0.0,0.0,0.0,0.0,0.65598549461403],[1.037693741309145,-28.91576413166316,1.00093464223384,-151.01310467743761,1.062153125527994,89.217870654219922,0.0,0.0,0.0,0.0,0.0,0.0,0.627892318153196],[1.037716643792108,-28.923904983025551,1.001262068244597,-151.009948626125293,1.062066441811951,89.223772628999043,0.0,0.0,0.0,0.0,0.0,0.0,0.623441612982884],[1.036893301071802,-28.93346332841373,1.002147975219177,-151.000630976496467,1.061870628281405,89.241271346842638,0.0,0.0,0.0,0.0,0.0,0.0,0.594319468108242],[1.038077732325093,-28.859367503706928,0.998354160931172,-151.032942355177113,1.062782893683762,89.168406531380953,0.0,0.0,0.0,0.0,0.0,0.0,0.672627150697633],[1.038220326858531,-28.847145812644715,0.997743098346859,-151.036599714364456,1.062916285244326,89.156306434202605,0.0,0.0,0.0,0.0,0.0,0.0,0.684106675744119],[1.038194357323041,-28.849494608418407,0.997856034635127,-151.035982360459911,1.062890902890098,89.158619681397496,0.0,0.0,0.0,0.0,0.0,0.0,0.682063666444851],[1.037961662482759,-28.880805361080313,0.999308823392997,-151.02518997790628,1.062509754135559,89.186414726781663,0.0,0.0,0.0,0.0,-0.000045000000682,-0.000000014790785,0.655926437420282],[1.037679561542391,-28.915570664984486,1.000934692220279,-151.013116239920436,1.062153276012735,89.217878403802644,0.0,0.0,0.0,0.0,0.0,0.0,0.62759789842234],[1.036887904316976,-28.933389645760197,1.002147994209513,-151.000635372300252,1.061870685597911,89.241274294940652,0.0,0.0,0.0,0.0,0.0,0.0,0.594212145486288],[1.038076293428527,-28.859347879706146,0.998354166031384,-151.032943531133839,1.062782908927584,89.168407318821338,0.0,0.0,0.0,0.0,0.0,0.0,0.672596954932876],[1.038248209958297,-28.844624252355771,0.997621848925184,-151.037262667398238,1.062943537926775,89.153823031411861,0.0,0.0,0.0,0.0,0.0,0.0,0.686300380419519],[1.038220326858531,-28.847145812644715,0.997743098346859,-151.036599714364456,1.062916285244326,89.156306434202605,0.0,0.0,0.0,0.0,0.0,0.0,0.684106675744119],[1.03767388999576,-28.91549328170689,1.000934712213065,-151.013120864622294,1.062153336202304,89.217881503439571,0.0,0.0,0.0,0.0,0.0,0.0,0.627480194011976],[1.036881638676512,-28.933304099101541,1.002148016256983,-151.000640475836605,1.061870752142133,89.241277717687282,0.0,0.0,0.0,0.0,0.0,0.0,0.594087584437962],[1.038074853623547,-28.859328243260354,0.998354171134798,-151.032944707833082,1.062782924181013,89.168408106758875,0.0,0.0,0.0,0.0,0.0,0.0,0.672566741998605],[1.038248209462374,-28.844624274048105,0.997264533690946,-151.038641478196581,1.062943537444884,89.153823009302798,0.0,0.0,0.0,0.0,0.0,0.0,0.697897177086369],[1.038248209958296,-28.844624252355853,0.997621848925183,-151.037262667398295,1.062943537926774,89.15382303141179,0.0,0.0,0.0,0.0,0.0,0.0,0.686300380419521],[1.038248209958297,-28.844624252355771,0.997621848925184,-151.037262667398238,1.062943537926775,89.153823031411861,0.0,0.0,0.0,0.0,0.0,0.0,0.686300380419519],[1.037671009994987,-28.915453986290984,1.000934722365251,-151.013123213037773,1.062153366766343,89.217883077429548,0.0,0.0,0.0,0.0,0.0,0.0,0.627420436193251],[1.0368721994085,-28.933175219956304,1.002148049471094,-151.000648164382824,1.06187085239119,89.241282874100008,0.0,0.0,0.0,0.0,0.0,0.0,0.593900014197566],[1.038074150809199,-28.859318658069856,0.998354173625928,-151.03294528221727,1.062782931626687,89.168408491376084,0.0,0.0,0.0,0.0,0.0,0.0,0.672551994798022],[1.038248209389407,-28.84462427722233,0.997212257475063,-151.03884328510631,1.062943537373971,89.15382300606683,0.0,0.0,0.0,0.0,0.0,0.0,0.699594163526337],[1.038248209958294,-28.84462425235596,0.997621848925182,-151.037262667398409,1.062943537926773,89.153823031411704,0.0,0.0,0.0,0.0,0.0,0.0,0.686300380419522],[1.038248209958296,-28.844624252355853,0.997621848925183,-151.037262667398295,1.062943537926774,89.15382303141179,0.0,0.0,0.0,0.0,0.0,0.0,0.686300380419521],[1.037670372706654,-28.915445290947073,1.000934724611722,-151.013123732696641,1.062153373529563,89.217883425723016,0.0,0.0,0.0,0.0,0.0,0.0,0.627407214062803],[1.036856777557889,-28.932964652376508,1.002148103734445,-151.000660725916902,1.061871016176102,89.241291298635389,0.0,0.0,0.0,0.0,0.0,0.0,0.593593776259467],[1.038058354964463,-28.859103226141187,0.998354229613216,-151.032958191582196,1.06278309896802,89.168417135700224,0.0,0.0,0.0,0.0,0.0,0.0,0.672220668693826],[1.038248209183282,-28.844624286165541,0.997064983645861,-151.039411934491795,1.062943537173631,89.153822996948662,0.0,0.0,0.0,0.0,0.0,0.0,0.704375421483219],[1.038248209958292,-28.844624252356137,0.99762184892518,-151.037262667398608,1.062943537926771,89.153823031411534,0.0,0.0,0.0,0.0,0.0,0.0,0.686300380419525],[1.038248209958294,-28.84462425235596,0.997621848925182,-151.037262667398409,1.062943537926773,89.153823031411704,0.0,0.0,0.0,0.0,0.0,0.0,0.686300380419522],[1.037669870810858,-28.915438442929851,1.000934726380926,-151.013124141953455,1.062153378855927,89.217883700021218,0.0,0.0,0.0,0.0,0.0,0.0,0.627396801271816],[1.0367360716083,-28.931316334485153,1.002148528378854,-151.000759044640176,1.061872298039488,89.241357237128412,-0.002141000004485,-0.000703712692484,0.0,0.0,0.0,0.0,0.591206081287508],[1.036848671752939,-28.932853962039285,1.002148132243199,-151.000667328415773,1.061871102255468,89.241295726512092,-0.000054000000091,-0.0000177489419,0.0,0.0,0.0,0.0,0.593432916102363],[1.038048083234298,-28.858963131344428,0.998354266019432,-151.032966586296396,1.062783207785635,89.168422756937275,0.0,0.0,0.0,0.0,0.0,0.0,0.672005336322068],[1.038248208940176,-28.844624296668567,0.996892047348038,-151.040079886014439,1.062943536937321,89.153822986238254,0.0,0.0,0.0,0.0,0.0,0.0,0.709990687738983],[1.038248209958292,-28.844624252356223,0.997621848925179,-151.037262667398693,1.06294353792677,89.153823031411449,0.0,0.0,0.0,0.0,0.0,0.0,0.686300380419525],[1.038248209958292,-28.844624252356137,0.99762184892518,-151.037262667398608,1.062943537926771,89.153823031411534,0.0,0.0,0.0,0.0,0.0,0.0,0.686300380419525],[1.037669333062391,-28.915431105720444,1.00093472827651,-151.013124580445321,1.062153384562775,89.217883993913773,0.0,0.0,0.0,0.0,0.0,0.0,0.627385644926854],[1.038039099580734,-28.858840602125422,0.998354297859511,-151.032973928315727,1.062783302956732,89.168427673271239,0.0,0.0,0.0,0.0,0.0,0.0,0.671817085920184],[1.038248208908556,-28.844624298031135,0.996869613785492,-151.040166550733176,1.062943536906583,89.153822984848617,0.0,0.0,0.0,0.0,0.0,0.0,0.710719177539134],[1.038248209958291,-28.844624252356272,0.997621848925179,-151.037262667398721,1.06294353792677,89.153823031411406,0.0,0.0,0.0,0.0,0.0,0.0,0.686300380419526],[1.038248209958292,-28.844624252356223,0.997621848925179,-151.037262667398693,1.06294353792677,89.153823031411449,0.0,0.0,0.0,0.0,0.0,0.0,0.686300380419525],[1.037668902824345,-28.915425235411462,1.000934729793114,-151.013124931270909,1.062153389128669,89.217884229049275,0.0,0.0,0.0,0.0,0.0,0.0,0.627376719243556],[1.038029676323597,-28.858712074757687,0.998354331256846,-151.032981629611015,1.062783402784129,89.168432830180635,0.0,0.0,0.0,0.0,0.0,0.0,0.671619703271172],[1.038248208872396,-28.844624299592756,0.996843988042843,-151.040265546844097,1.062943536871433,89.153822983256134,0.0,0.0,0.0,0.0,0.0,0.0,0.71155134700048],[1.038248208900528,-28.8446242983673,0.99686389167402,-151.040188668727637,1.062943536898773,89.153822984505354,0.0,0.0,0.0,0.0,0.0,0.0,0.710904995286781],[1.038248209958291,-28.844624252356276,0.997621848925179,-151.03726266739875,1.06294353792677,89.153823031411406,0.0,0.0,0.0,0.0,0.0,0.0,0.686300380419526],[1.038248209958291,-28.844624252356276,0.997621848925179,-151.037262667398721,1.06294353792677,89.153823031411406,0.0,0.0,0.0,0.0,0.0,0.0,0.686300380419526],[1.037668485080856,-28.915419535577545,1.000934731265672,-151.013125271908109,1.062153393561962,89.21788445735622,0.0,0.0,0.0,0.0,0.0,0.0,0.627368052947796],[1.038013586277447,-28.858492610998678,0.998354388280331,-151.032994779446057,1.062783573235828,89.16844163551518,0.0,0.0,0.0,0.0,0.0,0.0,0.671282864331647],[1.038248208838913,-28.844624301037797,0.996820275860877,-151.04035715512552,1.062943536838886,89.153822981782483,0.0,0.0,0.0,0.0,0.0,0.0,0.712321393852883],[1.038248208881736,-28.844624299153992,0.996850500392788,-151.040240431783417,1.06294353688049,89.153822983702014,0.0,0.0,0.0,0.0,0.0,0.0,0.711339862844552],[1.038248209958291,-28.844624252356276,0.997621848925179,-151.03726266739875,1.06294353792677,89.153823031411406,0.0,0.0,0.0,0.0,0.0,0.0,0.686300380419526],[1.038248209958291,-28.844624252356276,0.997621848925179,-151.03726266739875,1.06294353792677,89.153823031411406,0.0,0.0,0.0,0.0,0.0,0.0,0.686300380419526],[1.037668068396938,-28.915413850196071,1.000934732734494,-151.013125611681318,1.06215339798401,89.217884685084073,0.0,0.0,0.0,0.0,0.0,0.0,0.627359408806553],[1.038009639738073,-28.858438780231978,0.998354402266592,-151.032998004817102,1.062783615043579,89.168443795273205,0.0,0.0,0.0,0.0,0.0,0.0,0.671200281383601],[1.038248208787958,-28.844624303235168,0.99678421941351,-151.040496461904013,1.062943536789353,89.153822979541559,0.0,0.0,0.0,0.0,0.0,0.0,0.713492351122522],[1.038248208837126,-28.844624301020303,0.996818732272494,-151.040363234793944,1.062943536837089,89.153822981796196,0.0,0.0,-0.000310000003083,-0.00000010189207,0.0,0.0,0.712371521065694],[1.037667656588251,-28.915408231329358,1.000934734186128,-151.013125947479182,1.062153402354317,89.21788491014749,0.0,0.0,0.0,0.0,0.0,0.0,0.627350865972348],[1.038008955613769,-28.85842944851154,0.998354404690805,-151.032998563929709,1.06278362229069,89.168444169661157,0.0,0.0,0.0,0.0,0.0,0.0,0.671185967145779],[1.037996226159212,-28.858282967918686,0.998354259828841,-151.032965175836608,1.0627831893911,89.168421805314765,0.0,0.0,0.0,0.0,0.0,0.0,0.670916301236374],[1.038248208723495,-28.844624306012104,0.996738653930286,-151.040672522001813,1.062943536726686,89.153822976709421,0.0,0.0,0.0,0.0,0.0,0.0,0.714972178693464],[1.037660292594705,-28.915307753564854,1.0009347601441,-151.013131952242674,1.06215348050422,89.217888934748601,0.0,0.0,0.0,0.0,0.0,0.0,0.627198130909935],[1.038007832337809,-28.858414126565105,0.998354408671154,-151.032999481946689,1.062783634189842,89.168444784375424,0.0,0.0,0.0,0.0,0.0,0.0,0.671162465275857],[1.037984849644325,-28.85815081495733,0.99835413902123,-151.032937332438451,1.062782828379164,89.168403154857089,0.0,0.0,0.0,0.0,0.0,0.0,0.67067559822676],[1.038248208471781,-28.844624316823737,0.996561268475197,-151.04135807389406,1.062943536481969,89.153822965681542,0.0,0.0,0.0,0.0,0.0,0.0,0.720733730340419],[1.037631785696343,-28.914918781434032,1.000934860628654,-151.013155197398675,1.06215378302872,89.217904514491934,0.0,0.0,0.0,0.0,0.0,0.0,0.626607387007572],[1.037656842773796,-28.915260680366465,1.000934772302894,-151.013134765316153,1.062153517114218,89.217890820145044,-0.000052999999753,-0.000017420257791,0.0,0.0,0.0,0.0,0.627126596609316],[1.038007610241509,-28.858411097076114,0.998354409458154,-151.032999663458781,1.062783636542564,89.168444905917895,0.0,0.0,0.0,0.0,0.0,0.0,0.671157818578014],[1.037965728068224,-28.857928686435095,0.998353935965886,-151.032890533390741,1.062782221589396,89.16837180723725,-0.000295000005281,-0.000096961812233,0.0,0.0,0.0,0.0,0.670271337253369],[1.038248208011447,-28.844624336467987,0.996239036505659,-151.042604048499015,1.062943536034348,89.153822945638737,0.0,0.0,-0.003086999990046,-0.000001014647864,0.0,0.0,0.731202438137132],[1.037612853877912,-28.914660447640731,1.000934927357664,-151.013170634841231,1.062153983935313,89.217914861216158,-0.000245000002906,-0.000080527606769,0.0,0.0,0.0,0.0,0.626215514891608],[1.03800742257492,-28.85840853722215,0.998354410123152,-151.032999816832614,1.062783638530563,89.168445008618704,0.0,0.0,0.0,0.0,0.0,0.0,0.671153892253825],[1.038007264428912,-28.858406380041021,0.998354410683545,-151.032999946080224,1.062783640205843,89.16844509516433,0.0,0.0,0.0,0.0,0.0,0.0,0.67115058357868],[1.038007058707328,-28.858403573907079,0.998354411412521,-151.033000114209784,1.062783642385103,89.168445207745762,0.0,0.0,0.0,0.0,0.0,0.0,0.671146279578517],[1.038006686383309,-28.858398495238905,0.998354412731854,-151.033000418498148,1.062783646329224,89.168445411500585,0.0,0.0,0.0,0.0,0.0,0.0,0.671138490107691],[1.038006040840151,-28.85838968972913,0.998354415019338,-151.033000946079653,1.06278365316762,89.168445764774987,0.0,0.0,0.0,0.0,0.0,0.0,0.671124984862829],[1.038000753163453,-28.858317562929631,0.998354433756091,-151.033005267527329,1.062783709181125,89.168448658463504,-0.00005500000043,-0.000018077626009,0.0,0.0,0.0,0.0,0.671014377153789]]}", + "orient": "split", "dtype": { "vm_a_pu": "float64", "va_a_degree": "float64", @@ -1612,13 +1798,13 @@ "p_c_mw": "float64", "q_c_mvar": "float64", "unbalance_percent": "float64" - }, - "orient": "split" + } }, "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\",\"loading_percentA\",\"loading_percentB\",\"loading_percentC\",\"p_c_from_mw\",\"loading_percent\"],\"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,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904],\"data\":[[0.018018043708805,0.005449024971209,0.035220230090847,0.000487278055393,0.000055149438026,-0.018014608639507,-0.00545201832411,-0.035204759087445,-0.000482916980833,-0.006169243674619,-0.000054448533057,0.000003435069299,-0.000002993352901,0.000015471003402,0.000004361074561,-0.000000648809152,0.000000700904969,0.0746739302945,0.0746739302945,0.139772627821169,0.139772627821168,0.024473902892137,0.024473902892137,0.0746739302945,0.139772627821169,0.024473902892137,17.737275443676054,33.200148825340463,5.813278544032792,0.006168594865466,33.200148825340463],[0.018014630190943,0.005452021694801,0.035204780632416,0.000482920306072,0.000054451924657,-0.0180142700711,-0.005452335506469,-0.035203158711667,-0.000482463107731,-0.006169333244555,-0.000054378444313,0.000000360119843,-0.000000313811668,0.000001621920749,0.000000457198341,-0.000000068018766,0.000000073480344,0.07467401600711,0.07467401600711,0.139772713525632,0.139772713525632,0.024473988499506,0.024473988499506,0.07467401600711,0.139772713525632,0.024473988499506,17.7372958029658,33.200169182694992,5.81329887832448,0.006169265225789,33.200169182694992],[0.01801427403031,0.005452336126206,0.035203162669581,0.000482463718963,0.000054379067774,-0.018013936654426,-0.005452630118536,-0.035201643184156,-0.000482035395809,-0.00616940092677,-0.000054310228187,0.000000337375883,-0.00000029399233,0.000001519485425,0.000000428323154,-0.000000063722936,0.000000068839587,0.074674031754106,0.074674031754106,0.139772729270673,0.139772729270673,0.024474004226699,0.024474004226699,0.074674031754106,0.139772729270673,0.024474004226699,17.737299543344868,33.200172922609688,5.813302613999816,0.006169337203834,33.200172922609688],[0.018013940238993,0.005452630679328,0.035201646767456,0.000482035948771,0.000054310792251,-0.01801364609556,-0.00545288699848,-0.035200321994074,-0.000481662512408,-0.006169460068773,-0.000054250773983,0.000000294143433,-0.000000256319152,0.000001324773383,0.000000373436363,-0.000000055557275,0.000000060018268,0.074674046010823,0.074674046010823,0.139772743526029,0.139772743526029,0.024474018465906,0.024474018465906,0.074674046010823,0.139772743526029,0.024474018465906,17.737302929738448,33.200176308680007,5.813305996234139,0.006169404511498,33.200176308680007],[0.018013650395421,0.00545288767167,0.035200326292321,0.000481663176069,0.000054251450995,-0.01801318700382,-0.005453291475081,-0.03519823925356,-0.000481074867027,-0.006169551893502,-0.000054156898595,0.000000463391601,-0.000000403803411,0.000002087038761,0.000000588309042,-0.00000008752457,0.0000000945524,0.074674063113158,0.074674063113158,0.139772760626281,0.139772760626281,0.024474035546773,0.024474035546773,0.074674063113158,0.139772760626281,0.024474035546773,17.737306992050598,33.200180370497549,5.813310053447344,0.006169464368932,33.200180370497549],[0.018013368207181,0.005453319870116,0.035198420382526,0.000481102851384,0.000054185447725,-0.017981812837974,-0.005480817285258,-0.035056301348103,-0.000441041357744,-0.006175693264594,-0.000047746694253,0.000031555369207,-0.000027497415142,0.000142119034423,0.00004006149364,-0.000005960148279,0.000006438753472,0.074674783873547,0.074674783873547,0.139773481276495,0.139773481276495,0.024474755379628,0.024474755379628,0.074674783873547,0.139773481276495,0.024474755379628,17.737478194041863,33.200351546318849,5.81348103512135,0.006169733116315,33.200351546318849],[0.017981999384041,0.00548084682636,0.035056487367533,0.000441069839085,0.000047775908295,-0.017980586043841,-0.005482078404575,-0.035050122018586,-0.000439275531131,-0.006176147267812,-0.000047487518751,0.0000014133402,-0.000001231578214,0.000006365348947,0.000001794307953,-0.000000266951607,0.000000288389544,0.074675526922708,0.074675526922708,0.13977422426834,0.13977422426834,0.024475497530795,0.024475497530795,0.074675526922708,0.13977422426834,0.024475497530795,17.737654690277967,33.200528028940781,5.813657318057451,0.006175880316205,33.200528028940781],[0.017980600652844,0.005482080721845,0.035050136584779,0.000439277763161,0.000047489808709,-0.017979424301744,-0.005483105788224,-0.035044838581834,-0.000437784326008,-0.006176384107319,-0.000047249776183,0.0000011763511,-0.000001025066379,0.000005298002945,0.000001493437153,-0.000000222189203,0.000000240032526,0.074675585120011,0.074675585120011,0.13977428245838,0.13977428245838,0.024475555654933,0.024475555654933,0.074675585120011,0.13977428245838,0.024475555654933,17.737668513865245,33.200541850802736,5.813671124265868,0.006176161918117,33.200541850802736],[0.017979436758744,0.005483107765229,0.03504485100121,0.00043778622874,0.000047251728688,-0.017978404415678,-0.005484007343279,-0.035040201578364,-0.000436475617788,-0.006176591589774,-0.000047041080629,0.000001032343066,-0.00000089957805,0.000004649422845,0.000001310610952,-0.000000194989025,0.000000210648059,0.074675634747418,0.074675634747418,0.139774332079391,0.139774332079391,0.024475605219742,0.024475605219742,0.074675634747418,0.139774332079391,0.024475605219742,17.737680301847792,33.200553637266054,5.813682897379536,0.006176396600748,33.200553637266054],[0.017978414581087,0.005484008957056,0.035040211712267,0.000436477169818,0.000047042673545,-0.017977644257295,-0.005484680212677,-0.035036742362212,-0.000435499205829,-0.006176747284622,-0.000046885490043,0.000000770323792,-0.000000671255621,0.000003469350055,0.000000977963988,-0.000000145498845,0.000000157183502,0.074675675247112,0.074675675247112,0.139774372574062,0.139774372574062,0.024475645668557,0.024475645668557,0.074675675247112,0.139774372574062,0.024475645668557,17.737689921727554,33.200563255952822,5.813692505173913,0.006176601785777,33.200563255952822],[0.017977652677479,0.005484681549842,0.035036750755801,0.000435500491145,0.000046886809393,-0.017976929532442,-0.005485311693955,-0.035033493888508,-0.000434582423254,-0.006176892318429,-0.000046739252585,0.000000723145036,-0.000000630144113,0.000003256867293,0.000000918067891,-0.000000136587745,0.000000147556808,0.074675708794971,0.074675708794971,0.139774406117712,0.139774406117712,0.024475679174219,0.024475679174219,0.074675708794971,0.139774406117712,0.024475679174219,17.737697890340083,33.200571223565376,5.813700463763316,0.006176755730684,33.200571223565376],[0.017976936115862,0.005485312739734,0.03503350045077,0.000434583427977,0.000046740284042,-0.017976491447434,-0.005485700220947,-0.03503149777416,-0.000434018899887,-0.00617698291153,-0.000046649549993,0.000000444668428,-0.000000387481214,0.00000200267661,0.00000056452809,-0.000000083989054,0.000000090734048,0.074675735025659,0.074675735025659,0.139774432345097,0.139774432345097,0.024475705371906,0.024475705371906,0.074675735025659,0.139774432345097,0.024475705371906,17.737704120907281,33.200577453348018,5.813706686491734,0.006176898922475,33.200577453348018],[0.017976500193476,0.005485701610815,0.035031506491798,0.00043402023479,0.000046650920513,-0.017975393167485,-0.005486666265811,-0.035026520722434,-0.000432614812264,-0.006177200780614,-0.000046425033111,0.000001107025991,-0.000000964654997,0.000004985769364,0.000001405422526,-0.000000209095318,0.000000225887402,0.074675769874096,0.074675769874096,0.139774467188804,0.139774467188804,0.024475740176145,0.024475740176145,0.074675769874096,0.139774467188804,0.024475740176145,17.737712398445709,33.200585729762871,5.813714953531819,0.006176991685296,33.200585729762871],[0.017975449905054,0.005486675287488,0.03502657727094,0.00043262347055,0.000046433924086,-0.017966482023824,-0.005494489820652,-0.034986188265712,-0.000421238344462,-0.006178951561069,-0.000044604032598,0.00000896788123,-0.000007814533164,0.000040389005228,0.000011385126088,-0.000001693857836,0.000001829891487,0.074675995957265,0.074675995957265,0.139774693239715,0.139774693239715,0.024475965970986,0.024475965970986,0.074675995957265,0.139774693239715,0.024475965970986,17.737766099910328,33.200639423565541,5.813768586510393,0.006177257703233,33.200639423565541],[0.000000000000191,0.000000000000144,0.000000000000189,0.000000000000144,0.000000000000145,-0.000000000000191,-0.000000000000144,-0.000000000000189,-0.000000000000144,-0.000000000000194,-0.000000000000145,3.28166136571941e-28,1.0097419586829e-28,4.2914033244023e-28,1.26217744835362e-28,4.54383881407303e-28,1.26217744835362e-28,0.00000000000095,0.00000000000095,0.00000000000095,0.00000000000095,0.000000000000959,0.000000000000959,0.00000000000095,0.00000000000095,0.000000000000959,0.000000000225746,0.000000000225645,0.000000000227688,0.000000000000194,0.000000000227688],[0.017966593647526,0.005494507629791,0.03498629944077,0.000421255330063,0.000044621501808,-0.017955718451219,-0.005503984137231,-0.034937320619322,-0.000407448850794,-0.006181117749814,-0.000042402410634,0.000010875196307,-0.00000947650744,0.000048978821448,0.000013806479269,-0.0000020541182,0.000002219091174,0.074676440931735,0.074676440931735,0.139775138152108,0.139775138152108,0.024476410379524,0.024476410379524,0.074676440931735,0.139775138152108,0.024476410379524,17.737871794558021,33.200745103468009,5.813874146732114,0.006179063631613,33.200745103468009],[0.000000000000001,0.000000000000186,-2.01050007505434e-16,0.000000000000188,0.000000000000188,-0.000000000000001,-0.000000000000186,2.01050007505536e-16,-0.000000000000188,-0.000000000000003,-0.000000000000188,1.02157487226121e-28,0.0,1.0203422770968e-28,-7.57306469012171e-29,1.08073944015279e-28,-2.52435489670724e-29,0.000000000000739,0.000000000000739,0.000000000000751,0.000000000000751,0.000000000000746,0.000000000000746,0.000000000000739,0.000000000000751,0.000000000000746,0.000000000175608,0.000000000178447,0.000000000177099,0.000000000000003,0.000000000178447],[0.017955783778342,0.005503994600968,0.034937385629384,0.000407458755417,0.000042412616612,-0.017955035494181,-0.0055046466445,-0.034934015577723,-0.000406508782707,-0.006181324734154,-0.000042259928196,0.000000748284161,-0.000000652043532,0.00000337005166,0.00000094997271,-0.000000141336909,0.000000152688415,0.074676701480293,0.074676701480293,0.139775398667168,0.139775398667168,0.024476670599714,0.024476670599714,0.074676701480293,0.139775398667168,0.024476670599714,17.73793368257596,33.200806983529134,5.813935956752965,0.006181183397245,33.200806983529134],[0.000000000000087,0.000000000000056,0.000000000000085,0.000000000000058,0.000000000000057,-0.000000000000087,-0.000000000000056,-0.000000000000085,-0.000000000000058,-0.000000000000089,-0.000000000000057,3.78653234506086e-29,2.52435489670724e-29,2.52435489670724e-29,1.26217744835362e-29,3.78653234506086e-29,1.26217744835362e-29,0.000000000000411,0.000000000000411,0.000000000000411,0.000000000000411,0.000000000000419,0.000000000000419,0.000000000000411,0.000000000000411,0.000000000000419,0.000000000097599,0.000000000097599,0.000000000099446,0.000000000000089,0.000000000099446],[0.017955044412498,0.005504648073749,0.034934024452247,0.0004065101349,0.000042261321706,-0.017954204176062,-0.005505380242839,-0.034930240276048,-0.000405443426009,-0.006181492401766,-0.000042089870221,0.000000840236436,-0.00000073216909,0.000003784176199,0.000001066708892,-0.000000158705013,0.000000171451485,0.074676737051476,0.074676737051476,0.139775434233395,0.139775434233395,0.024476706125677,0.024476706125677,0.074676737051476,0.139775434233395,0.024476706125677,17.73794213178801,33.200815431563939,5.813944395223831,0.006181333696753,33.200815431563939],[0.000000000000087,0.000000000000056,0.000000000000085,0.000000000000057,0.000000000000057,-0.000000000000087,-0.000000000000056,-0.000000000000085,-0.000000000000057,-0.000000000000088,-0.000000000000057,3.78653234506086e-29,6.31088724176809e-30,2.52435489670724e-29,0.0,1.26217744835362e-29,1.26217744835362e-29,0.000000000000412,0.000000000000412,0.00000000000041,0.00000000000041,0.000000000000418,0.000000000000418,0.000000000000412,0.00000000000041,0.000000000000418,0.000000000097961,0.000000000097478,0.000000000099197,0.000000000000088,0.000000000099197],[0.017954216571561,0.005505382230385,0.034930252609882,0.000405445305321,0.000042091807232,-0.017952848495125,-0.005506574350515,-0.034924091201849,-0.000403708486456,-0.006181763263916,-0.000041812649035,0.000001368076436,-0.00000119212013,0.000006161408033,0.000001736818865,-0.000000258404238,0.000000279158198,0.074676786494006,0.074676786494006,0.139775483668595,0.139775483668595,0.024476755504904,0.024476755504904,0.074676786494006,0.139775483668595,0.024476755504904,17.737953875856821,33.200827173891646,5.813956124256417,0.006181504859678,33.200827173891646],[-0.000000000000086,0.000000000000129,-0.000000000000086,0.000000000000131,0.000000000000131,0.000000000000086,-0.000000000000129,0.000000000000086,-0.000000000000131,0.000000000000085,-0.000000000000131,7.57306469012171e-29,0.0,5.04870979341448e-29,0.0,7.57306469012171e-29,-2.52435489670724e-29,0.000000000000617,0.000000000000617,0.000000000000626,0.000000000000626,0.000000000000618,0.000000000000618,0.000000000000617,0.000000000000626,0.000000000000618,0.000000000146466,0.000000000148655,0.000000000146813,-0.000000000000085,0.000000000148655],[0.017952870137819,0.005506577822589,0.034924112734604,0.000403711766333,0.000041816030419,-0.017950381270807,-0.005508746579943,-0.034912903630693,-0.00040055206933,-0.006182255119058,-0.000041308172523,0.000002488867012,-0.000002168757355,0.000011209103911,0.000003159697003,-0.000000470101024,0.000000507857897,0.074676872826783,0.074676872826783,0.139775569988604,0.139775569988604,0.024476841727179,0.024476841727179,0.074676872826783,0.139775569988604,0.024476841727179,17.737974382454326,33.200847677456537,5.813976604606422,0.006181785018034,33.200847677456537],[0.000000000000035,0.00000000000006,0.000000000000034,0.000000000000061,0.000000000000061,-0.000000000000035,-0.00000000000006,-0.000000000000034,-0.000000000000061,-0.000000000000036,-0.000000000000061,2.52435489670724e-29,0.0,1.89326617253043e-29,-1.26217744835362e-29,2.52435489670724e-29,1.26217744835362e-29,0.000000000000274,0.000000000000274,0.000000000000278,0.000000000000278,0.00000000000028,0.00000000000028,0.000000000000274,0.000000000000278,0.00000000000028,0.000000000065195,0.000000000065997,0.00000000006647,0.000000000000036,0.00000000006647],[0.000688098696946,0.000226142221506,-0.000000000441594,-0.000000000167558,-0.000000000170787,-0.0006880415306,-0.000226137909531,0.000000000441594,0.000000000167557,0.000000000446,0.000000000170788,0.000000057166346,0.000000004311976,2.92360344212573e-16,-4.4919267039218e-16,2.43031412666542e-16,4.77869394053604e-16,0.002880650371998,0.002880650371998,0.00000000189081,0.00000000189081,0.000000001890802,0.000000001890802,0.002880650371998,0.00000000189081,0.000000001890802,0.684239987148883,0.000000449123611,0.000000449121549,-0.000000000445999,0.684239987148883],[0.017262459454679,0.005282632751162,0.034913080020726,0.000400579011052,0.000041335958338,-0.017234144131016,-0.005308906555074,-0.034772282214205,-0.000362361140148,-0.006188143371133,-0.000034802063982,0.000028315323662,-0.000026273803912,0.00014079780652,0.000038217870905,-0.00000570997819,0.000006533894356,0.071797513363142,0.071797513363142,0.13977627731942,0.13977627731942,0.024477548254536,0.024477548254536,0.071797513363142,0.13977627731942,0.024477548254536,17.054041024366356,33.201015689525477,5.814144425829942,0.006182433392943,33.201015689525477],[2.46955943869871e-16,-9.81414445409308e-16,-0.000000000000001,8.34710719242015e-16,1.48017137421518e-16,-2.46955943869871e-16,9.81414445409308e-16,0.000000000000001,-8.34710719242015e-16,-0.000000000000001,-1.48017137421518e-16,0.0,0.0,5.91645678915759e-31,-9.86076131526265e-32,3.94430452610506e-31,-2.46519032881566e-32,0.000000000000004,0.000000000000004,0.000000000000006,0.000000000000006,0.000000000000005,0.000000000000005,0.000000000000004,0.000000000000006,0.000000000000005,0.000000000000955,0.000000000001521,0.00000000000108,0.000000000000001,0.000000000001521],[0.000574039395822,0.000188667743219,-0.000000000101656,-0.000000000120284,-0.000000000121939,-0.000574028435192,-0.000188666916474,0.000000000101656,0.000000000120284,0.000000000102419,0.000000000121939,0.00000001096063,0.000000000826745,3.64088782151505e-17,-1.92384825986792e-17,-1.53540248128433e-18,4.10415731066661e-17,0.002403351686774,0.002403351686774,0.000000000630467,0.000000000630467,0.000000000630467,0.000000000630467,0.002403351686774,0.000000000630467,0.000000000630467,0.570867378859125,0.000000149754576,0.000000149754598,-0.000000000102419,0.570867378859125],[0.000114002504932,0.000037470196333,0.000000000028055,-0.000000000020451,-0.000000000020593,-0.000114002083743,-0.000037470164564,-0.000000000028055,0.000000000020451,-0.000000000028434,0.000000000020593,0.000000000421189,0.00000000003177,6.9181252469577e-19,1.58421747884664e-18,-1.75737082488733e-18,-1.87945949413115e-19,0.000477300121183,0.000477300121183,0.000000000138986,0.000000000138986,0.000000000138994,0.000000000138994,0.000477300121183,0.000000000138986,0.000000000138994,0.11337294937239,0.000000033013279,0.000000033015293,0.000000000028434,0.11337294937239],[0.017234349898607,0.005308939954565,0.034772486381571,0.000362391967548,0.000034834020863,-0.017226811765531,-0.005315934530347,-0.034735003414816,-0.000352217669068,-0.006189870870655,-0.000033094543217,0.000007538133076,-0.000006994575782,0.000037482966756,0.00001017429848,-0.000001520122312,0.000001739477646,0.071798335444906,0.071798335444906,0.139777099225661,0.139777099225661,0.024478369231972,0.024478369231972,0.071798335444906,0.139777099225661,0.024478369231972,17.054236293192059,33.201210916659313,5.814339432345038,0.006188350748343,33.201210916659313],[-0.000000000000039,0.000000000000048,-0.000000000000039,0.00000000000005,0.00000000000005,0.000000000000039,-0.000000000000048,0.000000000000039,-0.00000000000005,0.000000000000038,-0.00000000000005,2.52435489670724e-29,1.26217744835362e-29,1.26217744835362e-29,1.26217744835362e-29,1.26217744835362e-29,0.0,0.000000000000246,0.000000000000246,0.000000000000254,0.000000000000254,0.000000000000247,0.000000000000247,0.000000000000246,0.000000000000254,0.000000000000247,0.000000000058361,0.000000000060442,0.00000000005859,-0.000000000000038,0.000000000060442],[0.000574028629938,0.000188666932263,0.000000000091957,-0.000000000106179,-0.00000000010708,-0.000574003529305,-0.000188665038958,-0.000000000091957,0.00000000010618,-0.00000000009331,0.00000000010708,0.000000025100633,0.000000001893305,5.0209408271406e-17,6.71187434635076e-17,-8.33418204225446e-17,1.0024913354579e-17,0.002403352442255,0.002403352442255,0.000000000562318,0.000000000562318,0.000000000562317,0.000000000562317,0.002403352442255,0.000000000562318,0.000000000562317,0.570867558308358,0.000000133567113,0.000000133567088,0.00000000009331,0.570867558308358],[0.000114002086392,0.000037470164835,0.00000000003069,-0.000000000020205,-0.000000000020336,-0.000114002072129,-0.000037470163759,-0.00000000003069,0.000000000020205,-0.000000000031095,0.000000000020336,0.000000000014264,0.000000000001076,3.28779865812364e-20,6.1972167928494e-20,-6.33741518250661e-20,-3.32291958370991e-20,0.000477300131529,0.000477300131529,0.000000000147099,0.000000000147099,0.000000000147097,0.000000000147097,0.000477300131529,0.000000000147099,0.000000000147097,0.11337295183,0.000000034940319,0.000000034940023,0.000000000031095,0.11337295183],[0.000000000209461,-0.000000000066941,0.000439036033576,0.000000151059353,-0.000000000069266,-0.000000000209461,0.000000000066941,-0.000439015182469,-0.000000149486583,-0.000000000210344,0.000000000069266,-1.10425419892641e-16,-9.80094247069022e-17,0.000000020851108,0.000000001572769,-2.95931116446866e-17,1.44765016508758e-16,0.000000000875747,0.000000000875747,0.001766633830783,0.001766633830783,0.000000000875749,0.000000000875749,0.000000000875747,0.001766633830783,0.000000000875749,0.000000208015959,0.419627984507253,0.000000208016311,0.000000000210344,0.419627984507253],[0.017226984364141,0.005315962783031,0.034296138730545,0.000352092480471,0.000033121466581,-0.017204110436403,-0.005336762488272,-0.034185797019926,-0.000321864830613,-0.006194578819764,-0.000027966878782,0.000022873927738,-0.000020799705241,0.000110341710618,0.000030227649858,-0.000004533885387,0.000005154587798,0.071799025437977,0.071799025437977,0.138011241762253,0.138011241762253,0.024479058131496,0.024479058131496,0.071799025437977,0.138011241762253,0.024479058131496,17.0544001870317,32.781767342453186,5.814503066434755,0.006190044934377,32.781767342453186],[-0.000000000000039,0.000000000000048,-0.000000000000039,0.00000000000005,0.00000000000005,0.000000000000039,-0.000000000000048,0.000000000000039,-0.00000000000005,0.000000000000038,-0.00000000000005,5.67979851759128e-29,0.0,7.57306469012171e-29,-6.31088724176809e-30,5.67979851759128e-29,0.0,0.000000000000246,0.000000000000246,0.000000000000255,0.000000000000255,0.000000000000246,0.000000000000246,0.000000000000246,0.000000000000255,0.000000000000246,0.000000000058362,0.000000000060493,0.00000000005854,-0.000000000000038,0.000000000060493],[0.000114002071897,0.000037470163729,0.00000000003046,-0.000000000020231,-0.000000000020362,-0.000114002051389,-0.000037470162182,-0.00000000003046,0.000000000020231,-0.000000000030864,0.000000000020362,0.000000000020508,0.000000000001547,2.79007115885341e-20,7.81462146226766e-20,-8.62613604950076e-20,3.41623331162413e-21,0.000477300130618,0.000477300130618,0.000000000146385,0.000000000146385,0.000000000146393,0.000000000146393,0.000477300130618,0.000000000146385,0.000000000146393,0.113372951613605,0.000000034770854,0.000000034772588,0.000000000030864,0.113372951613605],[0.000000000188623,-0.000000000060268,0.000395015362907,0.00000013463256,-0.000000000062361,-0.000000000188623,0.000000000060268,-0.00039501418364,-0.000000134543609,-0.000000000189418,0.000000000062361,-6.19980590694078e-18,-5.54522866548749e-18,0.000000001179267,0.00000000008895,-1.6640649325707e-18,8.21501560113575e-18,0.000000000788607,0.000000000788607,0.001589574875164,0.001589574875164,0.000000000788609,0.000000000788609,0.000000000788607,0.001589574875164,0.000000000788609,0.000000187317625,0.377571225833844,0.00000018731799,0.000000000189418,0.377571225833844],[0.00000000002102,-0.000000000006682,0.000043999819742,0.000000014854013,-0.000000000006915,-0.00000000002102,0.000000000006682,-0.000043999753677,-0.00000001484903,-0.000000000021109,0.000000000006915,-3.47743058903325e-19,-3.02632590522128e-19,0.000000000066065,0.000000000004983,-9.29840221231137e-20,4.55116546941349e-19,0.000000000087842,0.000000000087842,0.000177058956345,0.000177058956345,0.000000000087841,0.000000000087841,0.000000000087842,0.000177058956345,0.000000000087841,0.000000020864968,0.042056758845864,0.00000002086494,0.000000000021109,0.042056758845864],[0.017204329744417,0.005336798571856,0.034186014044243,0.000321897389604,0.000028000816998,-0.017188456437171,-0.005351232340755,-0.034109443459656,-0.000300921203491,-0.006197946716258,-0.000024423763973,0.000015873307247,-0.000014433768899,0.000076570584587,0.000020976186113,-0.000003146292055,0.000003577053025,0.07179990296328,0.07179990296328,0.13801211906945,0.13801211906945,0.024479934431621,0.024479934431621,0.07179990296328,0.13801211906945,0.024479934431621,17.054608625344095,32.781975728958791,5.814711213730883,0.006194800424203,32.781975728958791],[0.000000000003822,-0.000000000000048,0.000000000003779,-0.000000000000091,-0.000000000000084,-0.000000000003822,0.000000000000048,-0.000000000003779,0.000000000000091,-0.000000000003844,0.000000000000084,8.07793566946316e-27,3.96323718783036e-27,8.88572923640948e-27,3.96323718783036e-27,8.07793566946316e-27,4.34189042233645e-27,0.000000000015234,0.000000000015234,0.000000000015259,0.000000000015259,0.000000000015195,0.000000000015195,0.000000000015234,0.000000000015259,0.000000000015195,0.000000003618569,0.000000003624419,0.000000003609264,0.000000000003844,0.000000003624419],[0.000000000000087,0.000000000000056,0.000000000000085,0.000000000000057,0.000000000000057,-0.000000000000087,-0.000000000000056,-0.000000000000085,-0.000000000000057,-0.000000000000088,-0.000000000000057,1.26217744835362e-29,1.26217744835362e-29,1.26217744835362e-29,0.0,1.26217744835362e-29,1.26217744835362e-29,0.000000000000412,0.000000000000412,0.000000000000411,0.000000000000411,0.000000000000417,0.000000000000417,0.000000000000412,0.000000000000411,0.000000000000417,0.000000000097941,0.000000000097587,0.000000000099107,0.000000000000088,0.000000000099107],[0.000114002051827,0.0000374701622,0.000000000030897,-0.000000000020219,-0.000000000020349,-0.000114002025526,-0.000037470160216,-0.000000000030897,0.000000000020219,-0.000000000031303,0.000000000020349,0.000000000026301,0.000000000001984,3.97529043720148e-20,1.34253940195634e-19,-1.28071010686044e-19,-3.44997969567688e-20,0.000477300132296,0.000477300132296,0.000000000147819,0.000000000147819,0.000000000147819,0.000000000147819,0.000477300132296,0.000000000147819,0.000000000147819,0.113372952012142,0.000000035111286,0.000000035111294,0.000000000031303,0.113372952012142],[0.000000000188649,-0.00000000006027,0.000395014183665,0.000000134543608,-0.000000000062363,-0.000000000188649,0.00000000006027,-0.000395013652134,-0.000000134503515,-0.000000000189444,0.000000000062363,-2.83626487921568e-18,-2.52153794605589e-18,0.000000000531531,0.000000000040093,-7.56497925812795e-19,3.69087206084518e-18,0.000000000788707,0.000000000788707,0.001589574875267,0.001589574875267,0.000000000788709,0.000000000788709,0.000000000788707,0.001589574875267,0.000000000788709,0.000000187341312,0.377571225858327,0.000000187341859,0.000000000189444,0.377571225858327],[0.000000000021017,-0.000000000006676,0.000043999753673,0.000000014849035,-0.00000000000691,-0.000000000021017,0.000000000006676,-0.000043999594708,-0.000000014837044,-0.000000000021106,0.00000000000691,-8.41786602686797e-19,-7.60440617579044e-19,0.000000000158965,0.000000000011991,-2.33094061782325e-19,1.1065201064106e-18,0.000000000087821,0.000000000087821,0.000177058956331,0.000177058956331,0.000000000087821,0.000000000087821,0.000000000087821,0.000177058956331,0.000000000087821,0.000000020860167,0.042056758842534,0.000000020860155,0.000000000021106,0.042056758842534],[0.017188613612225,0.005351258377275,0.034109598782839,0.000300944421424,0.000024448036195,-0.017176618662547,-0.00536216543989,-0.034051737268663,-0.000285093508365,-0.006200483313787,-0.000021744950604,0.000011994949678,-0.000010907062616,0.000057861514176,0.000015850913059,-0.000002377559233,0.000002703085591,0.071800532372351,0.071800532372351,0.138012748311073,0.138012748311073,0.024480562950921,0.024480562950921,0.071800532372351,0.138012748311073,0.024480562950921,17.054758128684995,32.782125192525896,5.814860505724904,0.006198105754555,32.782125192525896],[0.000000000003314,-0.000000000000184,0.000000000003279,-0.000000000000223,-0.000000000000219,-0.000000000003314,0.000000000000184,-0.000000000003279,0.000000000000223,-0.000000000003332,0.000000000000219,3.23117426778526e-27,1.16120325248533e-27,3.23117426778526e-27,7.06819371078027e-28,3.23117426778526e-27,1.08547260558411e-27,0.000000000013232,0.000000000013232,0.000000000013266,0.000000000013266,0.000000000013193,0.000000000013193,0.000000000013232,0.000000000013266,0.000000000013193,0.000000003142918,0.000000003151095,0.000000003133818,0.000000000003332,0.000000003151095],[0.000000000000156,-0.00000000000001,0.000000000000154,-0.000000000000009,-0.00000000000001,-0.000000000000156,0.00000000000001,-0.000000000000154,0.000000000000009,-0.000000000000157,0.00000000000001,7.57306469012171e-29,-2.20881053461883e-29,1.26217744835362e-28,1.57772181044202e-29,1.0097419586829e-28,-7.88860905221012e-30,0.000000000000621,0.000000000000621,0.000000000000615,0.000000000000615,0.000000000000624,0.000000000000624,0.000000000000621,0.000000000000615,0.000000000000624,0.000000000147619,0.000000000146128,0.000000000148186,0.000000000000157,0.000000000148186],[0.000114002025789,0.000037470160253,0.000000000031158,-0.000000000020185,-0.000000000020313,-0.000114001961735,-0.000037470155421,-0.000000000031158,0.000000000020185,-0.000000000031567,0.000000000020313,0.000000000064054,0.000000000004832,1.22001107652342e-19,2.51676544996358e-19,-2.81154005004086e-19,-1.42898003446207e-20,0.000477300133335,0.000477300133335,0.000000000148619,0.000000000148619,0.000000000148619,0.000000000148619,0.000477300133335,0.000000000148619,0.000000000148619,0.11337295225884,0.000000035301495,0.000000035301339,0.000000000031567,0.11337295225884],[0.000000000188683,-0.000000000060209,0.00039501365217,0.000000134503574,-0.000000000062303,-0.000000000188683,0.000000000060209,-0.000395013088861,-0.000000134461085,-0.000000000189479,0.000000000062303,-2.91433449562116e-18,-2.59812950702901e-18,0.000000000563309,0.00000000004249,-7.75843017852814e-19,3.88398624118788e-18,0.000000000788764,0.000000000788764,0.00158957487541,0.00158957487541,0.000000000788765,0.000000000788765,0.000000000788764,0.00158957487541,0.000000000788765,0.000000187354946,0.377571225892312,0.000000187355161,0.000000000189479,0.377571225892312],[0.017176695928337,0.005362178300781,0.034051813543995,0.000285104874886,0.000021756859806,-0.017174966485879,-0.005363750885467,-0.034043471049693,-0.000282819484632,-0.006200904375468,-0.000021367125028,0.000001729442458,-0.000001572584687,0.000008342494302,0.000002285390254,-0.0000003427991,0.000000389734778,0.071800841964921,0.071800841964921,0.138013057821377,0.138013057821377,0.024480872106042,0.024480872106042,0.071800841964921,0.138013057821377,0.024480872106042,17.054831666111795,32.782198710412274,5.81493393924451,0.006200561576368,32.782198710412274],[0.000000000000157,-0.000000000000381,0.000000000000146,-0.000000000000378,-0.000000000000389,-0.000000000000157,0.000000000000381,-0.000000000000146,0.000000000000378,-0.000000000000153,0.000000000000389,7.06819371078027e-28,2.01948391736579e-28,7.32062920045099e-28,2.52435489670724e-28,7.57306469012171e-28,1.51461293802434e-28,0.000000000001645,0.000000000001645,0.000000000001645,0.000000000001645,0.000000000001649,0.000000000001649,0.000000000001645,0.000000000001645,0.000000000001649,0.000000000390688,0.000000000390684,0.000000000391572,0.000000000000153,0.000000000391572],[0.000000000003542,0.000000000000963,0.00000000000352,0.000000000000912,0.000000000000942,-0.000000000003542,-0.000000000000963,-0.00000000000352,-0.000000000000912,-0.000000000003578,-0.000000000000942,4.44286461820474e-27,1.21169035041947e-27,4.03896783473158e-27,1.41363874215605e-27,5.25065818515105e-27,1.41363874215605e-27,0.000000000014629,0.000000000014629,0.000000000014681,0.000000000014681,0.00000000001462,0.00000000001462,0.000000000014629,0.000000000014681,0.00000000001462,0.00000000347484,0.000000003487074,0.000000003472788,0.000000000003578,0.000000003487074],[0.000000000000104,-0.000000000000007,0.000000000000102,-0.000000000000006,-0.000000000000007,-0.000000000000104,0.000000000000007,-0.000000000000102,0.000000000000006,-0.000000000000105,0.000000000000007,6.31088724176809e-29,-7.09974814698911e-30,5.04870979341448e-29,-7.09974814698911e-30,5.04870979341448e-29,-1.02551917678732e-29,0.000000000000414,0.000000000000414,0.000000000000409,0.000000000000409,0.000000000000417,0.000000000000417,0.000000000000414,0.000000000000409,0.000000000000417,0.00000000009842,0.000000000097106,0.000000000099098,0.000000000000105,0.000000000099098],[0.000114001962453,0.00003747015541,0.000000000031871,-0.000000000020201,-0.000000000020328,-0.000114001907611,-0.000037470151274,-0.000000000031871,0.000000000020201,-0.000000000032288,0.000000000020328,0.000000000054842,0.000000000004137,5.33592822784305e-20,2.29289544721289e-19,-2.63990020218308e-19,-7.5773951098754e-20,0.000477300136033,0.000477300136033,0.000000000151058,0.000000000151058,0.000000000151058,0.000000000151058,0.000477300136033,0.000000000151058,0.000000000151058,0.113372952899842,0.000000035880712,0.000000035880855,0.000000000032288,0.113372952899842],[0.000000000188678,-0.000000000060312,0.000395013088854,0.000000134460982,-0.000000000062407,-0.000000000188678,0.000000000060312,-0.000395012552341,-0.000000134420513,-0.000000000189472,0.000000000062407,-2.87433080042718e-18,-2.50757016130762e-18,0.000000000536513,0.000000000040468,-8.04254836587026e-19,3.72653918412968e-18,0.000000000788869,0.000000000788869,0.001589574875381,0.001589574875381,0.000000000788867,0.000000000788867,0.000000000788869,0.001589574875381,0.000000000788867,0.000000187379774,0.377571225885553,0.000000187379452,0.000000000189472,0.377571225885553],[0.01717502021625,0.005363759840785,0.034043524083362,0.000282827389766,0.000021375410139,-0.017167186259821,-0.005370883252864,-0.03400573469462,-0.000272475150677,-0.00620251160588,-0.000019610001029,0.000007833956429,-0.000007123412079,0.000037789388742,0.000010352239089,-0.000001552798684,0.00000176540911,0.071801057279523,0.071801057279523,0.138013273072547,0.138013273072548,0.02448108711006,0.02448108711006,0.071801057279523,0.138013273072548,0.02448108711006,17.054882809722301,32.782249838955799,5.814985009082081,0.006200958807196,32.782249838955799],[-0.000000000000183,-0.000000000000321,-0.000000000000188,-0.000000000000313,-0.000000000000326,0.000000000000183,0.000000000000321,0.000000000000188,0.000000000000313,0.000000000000187,0.000000000000326,2.52435489670724e-29,-5.04870979341448e-29,1.51461293802434e-28,-1.0097419586829e-28,1.0097419586829e-28,5.04870979341448e-29,0.000000000001476,0.000000000001476,0.000000000001478,0.000000000001478,0.000000000001484,0.000000000001484,0.000000000001476,0.000000000001478,0.000000000001484,0.000000000350669,0.000000000351039,0.000000000352381,-0.000000000000187,0.000000000352381],[0.000000000004833,0.000000000000229,0.00000000000478,0.000000000000169,0.000000000000183,-0.000000000004833,-0.000000000000229,-0.00000000000478,-0.000000000000169,-0.000000000004871,-0.000000000000183,6.46234853557053e-27,3.28166136571941e-27,5.65455496862421e-27,4.44286461820474e-27,4.8467614016779e-27,3.78653234506086e-27,0.000000000019287,0.000000000019287,0.00000000001931,0.00000000001931,0.000000000019263,0.000000000019263,0.000000000019287,0.00000000001931,0.000000000019263,0.000000004581209,0.000000004586611,0.000000004575487,0.000000000004871,0.000000004586611],[0.000000000000064,0.000000000000017,0.000000000000063,0.000000000000017,0.000000000000017,-0.000000000000064,-0.000000000000017,-0.000000000000063,-0.000000000000017,-0.000000000000064,-0.000000000000017,2.52435489670724e-29,0.0,1.26217744835362e-29,0.0,2.52435489670724e-29,9.46633086265214e-30,0.000000000000262,0.000000000000262,0.000000000000259,0.000000000000259,0.000000000000264,0.000000000000264,0.000000000000262,0.000000000000259,0.000000000000264,0.000000000062143,0.000000000061547,0.000000000062648,0.000000000000064,0.000000000062648],[0.000114001909415,0.000037470151462,0.000000000033665,-0.000000000020028,-0.000000000020148,-0.000114001646522,-0.000037470131633,-0.000000000033665,0.000000000020028,-0.000000000034102,0.000000000020148,0.000000000262893,0.00000000001983,4.03476692044255e-19,1.16193629606676e-18,-1.1919134959491e-18,-2.15883577167659e-19,0.000477300143086,0.000477300143086,0.000000000156818,0.000000000156818,0.000000000156818,0.000000000156818,0.000477300143086,0.000000000156818,0.000000000156818,0.113372954575109,0.00000003724884,0.000000037248951,0.000000000034102,0.113372954575109],[0.00000000018866,-0.00000000006025,0.000395012552324,0.000000134420577,-0.000000000062343,-0.00000000018866,0.00000000006025,-0.000395012231006,-0.000000134396341,-0.000000000189456,0.000000000062343,-1.68223121468965e-18,-1.46126707804382e-18,0.000000000321318,0.000000000024237,-5.25727382059389e-19,2.31377703370308e-18,0.000000000788726,0.000000000788726,0.001589574875312,0.001589574875312,0.000000000788731,0.000000000788731,0.000000000788726,0.001589574875312,0.000000000788731,0.000000187345865,0.377571225869062,0.000000187347013,0.000000000189456,0.377571225869062],[0.016901218596142,0.005283460529765,0.034005786634685,0.000272483028531,0.000019618266437,-0.016899686395051,-0.005284889310798,-0.033998096821669,-0.000270407974613,-0.006202876752821,-0.000019255647424,0.000001532201091,-0.000001428781033,0.000007689813015,0.000002075053918,-0.000000311765475,0.000000362619013,0.070683639204723,0.070683639204723,0.138013484115463,0.138013484115463,0.024481297905816,0.024481297905816,0.070683639204723,0.138013484115463,0.024481297905816,16.789462841866044,32.782299967913986,5.815035079332588,0.006202564987346,32.782299967913986],[0.000266020418195,0.000087431536577,0.000000000094532,-0.000000000143942,-0.000000000147705,-0.000266008381041,-0.000087430628632,-0.000000000094532,0.000000000143942,-0.000000000097659,0.000000000147705,0.000000012037154,0.000000000907945,7.44944048867142e-17,7.75115731448442e-17,-1.04403202063493e-16,2.58195245211159e-17,0.001117746174451,0.001117746174451,0.00000000069889,0.00000000069889,0.000000000698888,0.000000000698888,0.001117746174451,0.00000000069889,0.000000000698888,0.265497901264414,0.000000166007056,0.000000166006561,0.000000000097659,0.265497901264414],[-4.29529826918394e-16,0.000000000000001,-9.37492543350713e-17,1.79138894063515e-16,-0.000000000000001,4.29529826918394e-16,-0.000000000000001,9.37492543350713e-17,-1.79138894063515e-16,-5.15716096721562e-16,0.000000000000001,0.0,0.0,-2.46519032881566e-32,2.46519032881566e-32,0.0,0.0,0.000000000000005,0.000000000000005,8.19442301308729e-16,8.19442301308729e-16,0.000000000000005,0.000000000000005,0.000000000000005,8.19442301308729e-16,0.000000000000005,0.000000000001099,0.000000000000195,0.000000000001292,5.15716096721562e-16,0.000000000001292],[0.000000000005338,0.00000000000037,0.000000000005283,0.000000000000301,0.000000000000312,-0.000000000005338,-0.00000000000037,-0.000000000005283,-0.000000000000301,-0.000000000005383,-0.000000000000312,8.88572923640948e-27,3.28166136571941e-27,8.07793566946316e-27,3.73604524712671e-27,7.27014210251684e-27,3.13020007191697e-27,0.000000000021329,0.000000000021329,0.000000000021362,0.000000000021362,0.000000000021309,0.000000000021309,0.000000000021329,0.000000000021362,0.000000000021309,0.000000005066354,0.000000005074049,0.000000005061519,0.000000000005383,0.000000005074049],[0.000000000000078,-0.000000000000005,0.000000000000077,-0.000000000000004,-0.000000000000005,-0.000000000000078,0.000000000000005,-0.000000000000077,0.000000000000004,-0.000000000000079,0.000000000000005,2.52435489670724e-29,0.0,2.52435489670724e-29,-1.49883571991992e-29,2.52435489670724e-29,-7.09974814698911e-30,0.000000000000311,0.000000000000311,0.000000000000307,0.000000000000307,0.000000000000313,0.000000000000313,0.000000000000311,0.000000000000307,0.000000000000313,0.000000000073772,0.000000000072835,0.000000000074361,0.000000000000079,0.000000000074361],[0.000114001652954,0.000037470132148,0.000000000040059,-0.000000000019569,-0.000000000019663,-0.000114000723718,-0.000037470062057,-0.000000000040059,0.000000000019569,-0.000000000040567,0.000000000019663,0.000000000929236,0.000000000070091,1.2102513986581e-18,4.83228188293614e-18,-4.75039586844184e-18,-1.38780223070558e-18,0.000477300168029,0.000477300168029,0.000000000178481,0.000000000178481,0.000000000178481,0.000000000178481,0.000477300168029,0.000000000178481,0.000000000178481,0.11337296049987,0.000000042394438,0.000000042394441,0.000000000040567,0.11337296049987],[0.000000000188655,-0.000000000060352,0.000395012231,0.000000134396237,-0.000000000062448,-0.000000000188655,0.000000000060352,-0.000395011600598,-0.000000134348687,-0.000000000189448,0.000000000062448,-3.43668997931105e-18,-2.94318137258349e-18,0.000000000630403,0.00000000004755,-8.68338017906369e-19,4.35088399524522e-18,0.000000000788829,0.000000000788829,0.00158957487529,0.00158957487529,0.000000000788828,0.000000000788828,0.000000000788829,0.00158957487529,0.000000000788828,0.000000187370319,0.377571225863833,0.000000187370011,0.000000000189448,0.377571225863833],[0.016899797602784,0.005284907921077,0.033998206496555,0.000270424288107,0.000019272775005,-0.016881695015555,-0.005301788542497,-0.033907353693252,-0.000245908159149,-0.006206672944619,-0.000014988495347,0.00001810258723,-0.00001688062142,0.000090852803304,0.000024516128958,-0.000003683441093,0.000004284279658,0.070684085073827,0.070684085073827,0.138013929833426,0.138013929833426,0.02448174311202,0.02448174311202,0.070684085073827,0.138013929833426,0.02448174311202,16.78956874901565,32.782405839162969,5.815140829023822,0.006202989503527,32.782405839162969],[0.000231007844479,0.00007592664218,0.000000000152833,-0.000000000120056,-0.00000000012296,-0.000231003407253,-0.000075926307486,-0.000000000152833,0.000000000120056,-0.00000000015753,0.00000000012296,0.000000004437226,0.000000000334694,2.19946667010769e-17,4.65642933475807e-17,-5.1344497987715e-17,-4.23524378371879e-18,0.000970676510973,0.000970676510973,0.000000000788744,0.000000000788744,0.000000000788744,0.000000000788744,0.000970676510973,0.000000000788744,0.000000000788744,0.230564489828458,0.000000187350195,0.000000187350205,0.00000000015753,0.230564489828458],[0.000035000622211,0.00001150399398,0.000000000026063,-0.000000000017998,-0.000000000018424,-0.00003500052035,-0.000011503986297,-0.000000000026063,0.000000000017998,-0.000000000026857,0.000000000018424,0.000000000101862,0.000000000007683,4.76689281607413e-19,1.18544196441626e-18,-1.25535653964073e-18,-1.83972580878368e-19,0.000147069997667,0.000147069997667,0.000000000128546,0.000000000128546,0.000000000128546,0.000000000128546,0.000147069997667,0.000000000128546,0.000000000128546,0.034933490815804,0.000000030533481,0.000000030533463,0.000000000026857,0.034933490815804],[-0.000000000000093,-0.000000000000161,-0.000000000000093,-0.000000000000156,-0.000000000000163,0.000000000000093,0.000000000000161,0.000000000000093,0.000000000000156,0.000000000000093,0.000000000000163,2.52435489670724e-29,0.0,1.26217744835362e-29,0.0,3.78653234506086e-29,-2.52435489670724e-29,0.000000000000741,0.000000000000741,0.000000000000736,0.000000000000736,0.000000000000742,0.000000000000742,0.000000000000741,0.000000000000736,0.000000000000742,0.000000000176024,0.000000000174765,0.000000000176261,-0.000000000000093,0.000000000176261],[0.000000000003844,0.000000000000369,0.000000000003804,0.00000000000032,0.000000000000328,-0.000000000003844,-0.000000000000369,-0.000000000003804,-0.00000000000032,-0.000000000003875,-0.000000000000328,8.07793566946316e-27,3.93799363886329e-27,8.07793566946316e-27,4.19042912853401e-27,8.07793566946316e-27,4.34189042233645e-27,0.000000000015392,0.000000000015392,0.000000000015413,0.000000000015413,0.000000000015366,0.000000000015366,0.000000000015392,0.000000000015413,0.000000000015366,0.000000003656102,0.000000003660933,0.000000003649791,0.000000000003875,0.000000003660933],[0.000000000000061,0.000000000000001,0.00000000000006,0.000000000000002,0.000000000000001,-0.000000000000061,-0.000000000000001,-0.00000000000006,-0.000000000000002,-0.000000000000062,-0.000000000000001,8.83524213847533e-29,1.08468374467889e-29,8.83524213847533e-29,7.29696337329436e-30,8.83524213847533e-29,8.87468518373638e-30,0.000000000000244,0.000000000000244,0.000000000000241,0.000000000000241,0.000000000000246,0.000000000000246,0.000000000000244,0.000000000000241,0.000000000000246,0.000000000057972,0.000000000057334,0.000000000058412,0.000000000000062,0.000000000058412],[0.000000000188716,-0.000000000060267,0.00039501160066,0.00000013434877,-0.000000000062363,-0.000000000188716,0.000000000060267,-0.000395008405755,-0.000000134107783,-0.000000000189511,0.000000000062363,-1.69342904557006e-17,-1.50104802254613e-17,0.000000003194905,0.000000000240987,-4.55123996090506e-18,2.21366866975393e-17,0.00000000078896,0.00000000078896,0.001589574875541,0.001589574875541,0.000000000788961,0.000000000788961,0.00000000078896,0.001589574875541,0.000000000788961,0.00000018740152,0.377571225923481,0.000000187401548,0.000000000189511,0.377571225923481],[0.016881833174515,0.005301811817539,0.033907489718514,0.000245928276787,0.000015009689968,-0.016875522994137,-0.00530769601055,-0.033875820557234,-0.000237382528927,-0.00620809721627,-0.000013516270283,0.000006310180378,-0.00000588419301,0.000031669161279,0.00000854574786,-0.000001283972973,0.000001493419685,0.070684639473723,0.070684639473723,0.138014484065106,0.138014484065106,0.024482296708137,0.024482296708137,0.070684639473723,0.138014484065106,0.024482296708137,16.789700435450573,32.782537485641612,5.815272324537202,0.006206813243297,32.782537485641612],[-0.000000000000414,0.000000000000024,-0.000000000000408,0.000000000000029,0.000000000000026,0.000000000000414,-0.000000000000024,0.000000000000408,-0.000000000000029,0.000000000000417,-0.000000000000026,1.51461293802434e-28,2.83989925879564e-29,1.51461293802434e-28,-3.15544362088405e-29,2.01948391736579e-28,-6.31088724176809e-30,0.000000000001656,0.000000000001656,0.000000000001656,0.000000000001656,0.000000000001649,0.000000000001649,0.000000000001656,0.000000000001656,0.000000000001649,0.000000000393367,0.000000000393322,0.000000000391799,-0.000000000000417,0.000000000393367],[0.000000000004028,-0.000000000000057,0.000000000003981,-0.000000000000102,-0.000000000000103,-0.000000000004028,0.000000000000057,-0.000000000003981,0.000000000000102,-0.000000000004056,0.000000000000103,3.23117426778526e-26,1.21169035041947e-26,3.39273298117453e-26,1.21295252786783e-26,3.3119536244799e-26,1.23188518959313e-26,0.000000000016057,0.000000000016057,0.000000000016076,0.000000000016076,0.000000000016033,0.000000000016033,0.000000000016057,0.000000000016076,0.000000000016033,0.000000003814061,0.000000003818523,0.000000003808382,0.000000000004056,0.000000003818523],[0.000000000000067,-0.000000000000012,0.000000000000066,-0.000000000000012,-0.000000000000012,-0.000000000000067,0.000000000000012,-0.000000000000066,0.000000000000012,-0.000000000000068,0.000000000000012,1.6408306828597e-28,0.0,1.38839519318898e-28,-3.15544362088405e-30,1.38839519318898e-28,-1.57772181044202e-30,0.000000000000271,0.000000000000271,0.000000000000268,0.000000000000268,0.000000000000272,0.000000000000272,0.000000000000271,0.000000000000268,0.000000000000272,0.000000000064414,0.000000000063643,0.000000000064718,0.000000000000068,0.000000000064718],[0.000000000188826,-0.000000000060275,0.000395008405863,0.000000134107774,-0.000000000062371,-0.000000000188826,0.000000000060275,-0.00039499636675,-0.000000133199681,-0.000000000189621,0.000000000062371,-6.386416434001e-17,-5.6674178753036e-17,0.000000012039113,0.000000000908093,-1.71967588190209e-17,8.3665385677152e-17,0.000000000789385,0.000000000789385,0.001589574875977,0.001589574875977,0.000000000789384,0.000000000789384,0.000000000789385,0.001589574875977,0.000000000789384,0.000000187502265,0.377571226026913,0.000000187502234,0.000000000189621,0.377571226026913],[0.016875566407628,0.00530770334598,0.033875863275196,0.000237388838785,0.000013522925902,-0.016874189313765,-0.005308987472595,-0.033868952012184,-0.00023552387279,-0.006208421532986,-0.000013197010741,0.000001377093863,-0.000001284126615,0.000006911263012,0.000001864965995,-0.000000280206351,0.00000032591516,0.070684813739762,0.070684813739762,0.138014658275208,0.138014658275208,0.024482470718424,0.024482470718424,0.070684813739762,0.138014658275208,0.024482470718424,16.789741828808694,32.782578865712985,5.815313657146551,0.006208141326635,32.782578865712985],[0.000000000000276,-0.000000000000263,0.000000000000268,-0.000000000000264,-0.000000000000272,-0.000000000000276,0.000000000000263,-0.000000000000268,0.000000000000264,-0.000000000000276,0.000000000000272,1.51461293802434e-28,0.0,2.01948391736579e-28,5.04870979341448e-29,1.51461293802434e-28,0.0,0.000000000001521,0.000000000001521,0.000000000001524,0.000000000001524,0.00000000000153,0.00000000000153,0.000000000001521,0.000000000001524,0.00000000000153,0.000000000361253,0.000000000361923,0.000000000363329,0.000000000000276,0.000000000363329],[0.000000000004071,-0.000000000000215,0.000000000004022,-0.000000000000259,-0.000000000000263,-0.000000000004071,0.000000000000215,-0.000000000004022,0.000000000000259,-0.000000000004098,0.000000000000263,6.30078982218127e-26,2.51930618691382e-26,6.30078982218127e-26,2.53950102608748e-26,6.139231108792e-26,2.47386779877309e-26,0.000000000016251,0.000000000016251,0.000000000016269,0.000000000016269,0.000000000016226,0.000000000016226,0.000000000016251,0.000000000016269,0.000000000016226,0.000000003860098,0.000000003864282,0.000000003854218,0.000000000004098,0.000000003864282],[0.000000000000047,-5.98540991414419e-16,0.000000000000046,-1.13329145759457e-16,-3.07597029649073e-16,-0.000000000000047,5.98540991414422e-16,-0.000000000000046,1.1332914575946e-16,-0.000000000000048,3.07597029649076e-16,4.41762106923767e-29,3.64848168664718e-30,5.04870979341448e-29,3.64848168664718e-30,3.78653234506086e-29,3.00753220115511e-30,0.000000000000187,0.000000000000187,0.000000000000184,0.000000000000184,0.000000000000188,0.000000000000188,0.000000000000187,0.000000000000184,0.000000000000188,0.000000000044347,0.000000000043709,0.000000000044731,0.000000000000048,0.000000000044731],[0.016874212838186,0.005308991450807,0.033868975156773,0.000235527291306,0.00001320061751,-0.016871420302594,-0.005311595460346,-0.03385496018906,-0.00023174543007,-0.006209013653761,-0.000012539710685,0.000002792535592,-0.00000260400954,0.000014014967713,0.000003781861237,-0.000000568215824,0.000000660906825,0.070684908176904,0.070684908176904,0.138014752680808,0.138014752680808,0.024482565015715,0.024482565015715,0.070684908176904,0.138014752680808,0.024482565015715,16.789764260433561,32.782601289845921,5.815336055552968,0.006208445437937,32.782601289845921],[3.57498590225156e-16,6.2962273371484e-16,3.50345560925099e-16,-6.20806443832691e-16,4.92669107915793e-18,-3.57498590225156e-16,-6.2962273371484e-16,-3.50345560925099e-16,6.20806443832691e-16,7.31736139330337e-16,-4.92669107915804e-18,0.0,1.97215226305253e-31,2.46519032881566e-31,-9.86076131526265e-32,-1.97215226305253e-31,-1.05540960952421e-31,0.000000000000003,0.000000000000003,0.000000000000003,0.000000000000003,0.000000000000003,0.000000000000003,0.000000000000003,0.000000000000003,0.000000000000003,0.000000000000686,0.000000000000686,0.000000000000686,-7.31736139330337e-16,0.000000000000686],[0.000000000004062,-0.000000000000184,0.000000000004013,-0.000000000000228,-0.000000000000231,-0.000000000004062,0.000000000000184,-0.000000000004013,0.000000000000228,-0.00000000000409,0.000000000000231,1.45402842050337e-26,6.53807918247175e-27,1.61558713389263e-26,6.26040014383395e-27,1.45402842050337e-26,6.86624531904369e-27,0.000000000016208,0.000000000016208,0.000000000016227,0.000000000016227,0.000000000016189,0.000000000016189,0.000000000016208,0.000000000016227,0.000000000016189,0.000000003849939,0.00000000385429,0.000000003845471,0.00000000000409,0.00000000385429],[0.000000000000026,-0.000000000000002,0.000000000000025,-0.000000000000001,-0.000000000000002,-0.000000000000026,0.000000000000002,-0.000000000000025,0.000000000000001,-0.000000000000027,0.000000000000002,1.89326617253043e-29,-1.57772181044202e-30,1.89326617253043e-29,-1.77493703674728e-30,1.89326617253043e-29,-1.77493703674728e-30,0.000000000000104,0.000000000000104,0.000000000000101,0.000000000000101,0.000000000000105,0.000000000000105,0.000000000000104,0.000000000000101,0.000000000000105,0.000000000024669,0.000000000023985,0.000000000025005,0.000000000000027,0.000000000025005],[0.016871450902418,0.005311600640909,0.033854990286969,0.000231749872183,0.000012544399932,-0.016868817403639,-0.005314056347008,-0.033841773500789,-0.000228183395895,-0.006209580612026,-0.000011921131271,0.000002633498779,-0.000002455706099,0.00001321678618,0.000003566476288,-0.000000535855825,0.000000623268662,0.070685031034638,0.070685031034638,0.138014875497594,0.138014875497594,0.02448268769161,0.02448268769161,0.070685031034638,0.138014875497594,0.02448268769161,16.789793442792806,32.782630462478849,5.815365194719975,0.006209044756201,32.782630462478849],[0.000000000002947,-0.000000000000826,0.000000000002906,-0.000000000000852,-0.00000000000087,-0.000000000002947,0.000000000000826,-0.000000000002906,0.000000000000852,-0.000000000002954,0.00000000000087,1.61558713389263e-27,3.02922587604869e-28,1.21169035041947e-27,6.05845175209737e-28,1.61558713389263e-27,5.04870979341448e-28,0.000000000012201,0.000000000012201,0.000000000012224,0.000000000012224,0.000000000012169,0.000000000012169,0.000000000012201,0.000000000012224,0.000000000012169,0.000000002898008,0.000000002903503,0.00000000289053,0.000000000002954,0.000000002903503],[1.84726695391471e-16,-3.16264372069745e-16,-5.95113471235569e-16,2.26338183153488e-16,9.1560104003519e-17,-1.84726695391471e-16,3.16264372069745e-16,5.95113471235569e-16,-2.26338183153488e-16,-4.16649940905031e-16,-9.1560104003519e-17,-2.46519032881566e-32,1.4791141972894e-31,1.97215226305253e-31,0.0,-9.86076131526265e-32,-6.16297582203915e-32,0.000000000000001,0.000000000000001,0.000000000000003,0.000000000000003,0.000000000000002,0.000000000000002,0.000000000000001,0.000000000000003,0.000000000000002,0.000000000000346,0.000000000000604,0.000000000000401,4.16649940905031e-16,0.000000000000604],[0.016868840876632,0.005314060325323,0.033841796583094,0.000228186800212,0.000011924726803,-0.016867310185098,-0.005315487675384,-0.033834114483549,-0.000226113828391,-0.006209915936395,-0.00001156245849,0.000001530691534,-0.00000142735006,0.000007682099545,0.000002072971821,-0.000000311460295,0.000000362268312,0.07068512529062,0.07068512529062,0.138014969722105,0.138014969722105,0.024482781808036,0.024482781808036,0.07068512529062,0.138014969722105,0.024482781808036,16.789815831387049,32.78265284359756,5.815387550165491,0.0062096044761,32.78265284359756],[0.000000000001288,-0.000000000000734,0.000000000001275,-0.000000000000735,-0.000000000000766,-0.000000000001288,0.000000000000734,-0.000000000001275,0.000000000000735,-0.000000000001282,0.000000000000766,8.07793566946316e-28,0.0,1.41363874215605e-27,-2.01948391736579e-28,1.0097419586829e-27,-3.02922587604869e-28,0.00000000000591,0.00000000000591,0.000000000005941,0.000000000005941,0.000000000005901,0.000000000005901,0.00000000000591,0.000000000005941,0.000000000005901,0.000000001403702,0.000000001411088,0.000000001401579,0.000000000001282,0.000000001411088],[-0.000000000000127,-0.000000000000034,-0.000000000000127,-0.000000000000033,-0.000000000000034,0.000000000000127,0.000000000000034,0.000000000000127,0.000000000000033,0.000000000000128,0.000000000000034,5.04870979341448e-29,2.52435489670724e-29,7.57306469012171e-29,3.15544362088405e-29,7.57306469012171e-29,2.52435489670724e-29,0.000000000000522,0.000000000000522,0.000000000000523,0.000000000000523,0.000000000000523,0.000000000000523,0.000000000000522,0.000000000000523,0.000000000000523,0.000000000124101,0.000000000124283,0.000000000124283,-0.000000000000128,0.000000000124283],[0.016867324505966,0.005315490104084,0.033834128564048,0.000226115904221,0.000011564651562,-0.016866313597102,-0.005316432762931,-0.033829055107389,-0.000224746860186,-0.006210136194425,-0.000011325399893,0.000001010908864,-0.000000942658847,0.000005073456659,0.000001369044035,-0.000000205696604,0.000000239251669,0.070685182800547,0.070685182800547,0.13801502721282,0.13801502721282,0.024482839232801,0.024482839232801,0.070685182800547,0.13801502721282,0.024482839232801,16.789829491702189,32.782666499349176,5.81540119025205,0.006209930497821,32.782666499349176],[0.000000000004693,0.000000000000752,0.000000000004655,0.000000000000672,0.000000000000678,-0.000000000004693,-0.000000000000752,-0.000000000004655,-0.000000000000672,-0.000000000004734,-0.000000000000678,2.42338070083895e-27,5.04870979341448e-28,1.61558713389263e-27,5.04870979341448e-28,3.23117426778526e-27,9.08767762814606e-28,0.000000000018944,0.000000000018944,0.000000000018986,0.000000000018986,0.000000000018899,0.000000000018899,0.000000000018944,0.000000000018986,0.000000000018899,0.000000004499865,0.000000004509768,0.000000004488999,0.000000000004734,0.000000004509768],[1.66646235861069e-17,-6.20475104452556e-17,-1.2920660754004e-16,5.646680722339e-17,5.7661127523626e-18,-1.66646235861069e-17,6.20475104452556e-17,1.2920660754004e-16,-5.646680722339e-17,-1.13980757552147e-16,-5.76611275236258e-18,1.84889274661175e-32,-1.23259516440783e-32,-4.93038065763132e-32,-1.23259516440783e-32,0.0,1.30963236218332e-32,2.55359812097328e-16,2.55359812097328e-16,5.63299980304436e-16,5.63299980304436e-16,4.52064377344735e-16,4.52064377344735e-16,2.55359812097328e-16,5.63299980304436e-16,4.52064377344735e-16,0.000000000000061,0.000000000000134,0.000000000000107,1.13980757552147e-16,0.000000000000134],[0.016866327153696,0.005316435063198,0.033829068435188,0.000224748824738,0.000011327475803,-0.016864931368687,-0.005317736613068,-0.033822063402034,-0.000222858555561,-0.006210433990044,-0.000010997135327,0.000001395785009,-0.000001301549869,0.000007005033155,0.000001890269177,-0.000000284010075,0.000000330340476,0.070685237244299,0.070685237244299,0.138015081638125,0.138015081638125,0.024482893595672,0.024482893595672,0.070685237244299,0.138015081638125,0.024482893595672,16.789842423709629,32.782679426975022,5.815414103047876,0.006210149979969,32.782679426975022],[0.000000000001305,0.000000000000549,0.000000000001312,0.000000000000515,0.00000000000051,-0.000000000001305,-0.000000000000549,-0.000000000001312,-0.000000000000515,-0.000000000001312,-0.00000000000051,2.66571877092284e-26,1.06022905661704e-26,2.78688780596479e-26,1.1511058328985e-26,2.52435489670724e-26,1.12081357413801e-26,0.000000000005644,0.000000000005644,0.000000000005687,0.000000000005687,0.000000000005563,0.000000000005563,0.000000000005644,0.000000000005687,0.000000000005563,0.000000001340615,0.000000001350941,0.000000001321348,0.000000000001312,0.000000001350941],[-1.70185825721808e-17,-2.95170502617609e-17,-3.36638060492454e-17,3.93474497142631e-17,-1.00229431190542e-17,1.70185825721808e-17,2.95170502617609e-17,3.36638060492454e-17,-3.93474497142631e-17,-5.12535730080227e-17,1.00229431190542e-17,9.24446373305873e-33,0.0,-6.16297582203915e-33,-6.16297582203915e-33,-6.16297582203915e-33,4.62223186652937e-33,1.35424991082407e-16,1.35424991082407e-16,2.06865090874617e-16,2.06865090874617e-16,2.06865090874617e-16,2.06865090874617e-16,1.35424991082407e-16,2.06865090874617e-16,2.06865090874617e-16,0.000000000000032,0.000000000000049,0.000000000000049,5.12535730080227e-17,0.000000000000049],[0.000131000666784,0.000043044992417,0.002905868356891,0.000001451476296,0.000001761192767,-0.000131000793548,-0.000043045030019,-0.002905863180737,-0.000001451346902,-0.003125717973419,-0.000001755476245,-0.000000000126764,-0.000000000037602,0.000000005176155,0.000000000129394,0.000000005437655,0.000000005716522,0.000551187184,0.000551187184,0.011857496623044,0.011857496623044,0.01232227022723,0.01232227022723,0.000551187184,0.011857496623044,0.01232227022723,0.130923320428912,2.816507485891482,2.92690501557663,0.003125723411074,2.92690501557663],[0.016733943788847,0.005274693597572,0.030916207904292,0.000221408734928,0.000009237697774,-0.016732942419398,-0.005275520994652,-0.03091229129417,-0.000220152238014,-0.00308484809455,-0.000009147521366,0.000001001369449,-0.00000082739708,0.000003916610123,0.000001256496914,-0.000000124210646,0.000000090176408,0.070134142499295,0.070134142499295,0.126157878051084,0.126157878051084,0.012160693919737,0.012160693919737,0.070134142499295,0.126157878051084,0.012160693919737,16.658941060286693,29.96624154583435,2.888525845498478,0.003084723883904,29.96624154583435],[0.000000000001362,0.000000000000506,0.000000000001347,0.000000000000487,0.000000000000493,-0.000000000001362,-0.000000000000506,-0.000000000001347,-0.000000000000487,-0.000000000001371,-0.000000000000493,1.41363874215605e-27,4.03896783473158e-28,1.21169035041947e-27,5.04870979341448e-28,1.21169035041947e-27,5.04870979341448e-28,0.00000000000579,0.00000000000579,0.000000000005782,0.000000000005782,0.000000000005757,0.000000000005757,0.00000000000579,0.000000000005782,0.000000000005757,0.000000001375359,0.000000001373384,0.000000001367518,0.000000000001371,0.000000001375359],[0.000131000800578,0.000043045034759,0.00290586318772,0.000001451351403,0.000001755480925,-0.000131000953945,-0.000043045080252,-0.002905856925286,-0.000001451194854,-0.003125711401826,-0.000001748564723,-0.000000000153367,-0.000000000045493,0.000000006262433,0.000000000156549,0.000000006578813,0.000000006916203,0.000551187216609,0.000551187216609,0.011857496651548,0.011857496651548,0.012322270255704,0.012322270255704,0.000551187216609,0.011857496651548,0.012322270255704,0.13092332817459,2.816507492661825,2.926905022339967,0.003125717980639,2.926905022339967],[0.016732950134773,0.005275522305163,0.030912298877813,0.000220153355267,0.000009148702549,-0.016732382308234,-0.005275991480525,-0.030910077964787,-0.000219440858949,-0.003084926375702,-0.00000909756795,0.000000567826539,-0.000000469175362,0.000002220913026,0.000000712496318,-0.000000070433761,0.000000051134599,0.070134173488792,0.070134173488792,0.126157909032015,0.126157909032015,0.012160724868253,0.012160724868253,0.070134173488792,0.126157909032015,0.012160724868253,16.65894842121229,29.966248904725273,2.888533196689738,0.00308485594194,29.966248904725273],[0.000000000001201,0.000000000000598,0.000000000001187,0.000000000000581,0.000000000000587,-0.000000000001201,-0.000000000000598,-0.000000000001187,-0.000000000000581,-0.000000000001211,-0.000000000000587,2.62532909257553e-27,9.08767762814606e-28,2.42338070083895e-27,7.06819371078027e-28,2.42338070083895e-27,8.07793566946316e-28,0.000000000005349,0.000000000005349,0.000000000005334,0.000000000005334,0.000000000005317,0.000000000005317,0.000000000005349,0.000000000005334,0.000000000005317,0.000000001270494,0.000000001266964,0.00000000126304,0.000000000001211,0.000000001270494],[0.000131000960753,0.00004304508555,0.002905856932071,0.000001451199892,0.000001748569961,-0.000131001138517,-0.00004304513828,-0.002905849673464,-0.000001451018441,-0.003125703783512,-0.000001740553589,-0.000000000177764,-0.00000000005273,0.000000007258607,0.000000000181451,0.000000007625314,0.000000008016372,0.000551187249074,0.000551187249074,0.011857496679242,0.011857496679242,0.012322270283309,0.012322270283309,0.000551187249074,0.011857496679242,0.012322270283309,0.130923335885878,2.816507499240188,2.926905028897081,0.003125711408826,2.926905028897081],[0.0167324950532,0.005276010650095,0.030910188780663,0.000219457196816,0.000009114842725,-0.016710089899929,-0.005294523166512,-0.030822556979372,-0.000191343843622,-0.00308782028025,-0.000007097147818,0.000022405153271,-0.000018512516417,0.000087631801291,0.000028113353194,-0.00000277922395,0.000002017694907,0.070134626370142,0.070134626370142,0.126158361771966,0.126158361771966,0.012161177134199,0.012161177134199,0.070134626370142,0.126158361771966,0.012161177134199,16.659055993978413,29.966356443905116,2.888640623279406,0.0030850410563,29.966356443905116],[0.000000000001054,0.000000000000668,0.000000000001043,0.000000000000652,0.00000000000066,-0.000000000001054,-0.000000000000668,-0.000000000001043,-0.000000000000652,-0.000000000001064,-0.00000000000066,4.88715108002521e-26,2.02958133695262e-26,4.92754075837253e-26,2.03967875653945e-26,4.88715108002521e-26,2.01948391736579e-26,0.000000000004974,0.000000000004974,0.000000000004966,0.000000000004966,0.000000000004947,0.000000000004947,0.000000000004974,0.000000000004966,0.000000000004947,0.00000000118154,0.000000001179613,0.00000000117507,0.000000000001064,0.00000000118154],[0.000131001149904,0.000043045147366,0.00290584968481,0.000001451027096,0.000001740562581,-0.000131001420941,-0.000043045227764,-0.002905838617589,-0.000001450750437,-0.003125692168891,-0.000001728339992,-0.000000000271037,-0.000000000080397,0.000000011067222,0.000000000276659,0.000000011626341,0.00000001222259,0.000551187303652,0.000551187303652,0.011857496725559,0.011857496725559,0.012322270329531,0.012322270329531,0.000551187303652,0.011857496725559,0.012322270329531,0.130923348849832,2.816507510241672,2.926905039876213,0.003125703795232,2.926905039876213],[0.016710210826497,0.005294543879091,0.030822675649152,0.000191361210578,0.00000711561148,-0.016707966292924,-0.005296398441807,-0.030813896797097,-0.000188544848651,-0.003088221973366,-0.000006913475921,0.000002244533573,-0.000001854562716,0.000008778852055,0.000002816361927,-0.000000278428012,0.000000202135559,0.070135112643178,0.070135112643177,0.126158847916241,0.126158847916241,0.01216166277049,0.01216166277049,0.070135112643178,0.126158847916241,0.01216166277049,16.659171498261411,29.966471917603542,2.888755976316597,0.003087943545354,29.966471917603542],[0.000000000001052,0.000000000000676,0.000000000001041,0.00000000000066,0.000000000000668,-0.000000000001052,-0.000000000000676,-0.000000000001041,-0.00000000000066,-0.000000000001062,-0.000000000000668,4.36208526151011e-26,1.76704842769507e-26,4.32169558316279e-26,1.75695100810824e-26,4.30150074398913e-26,1.7771458472819e-26,0.000000000004984,0.000000000004984,0.000000000004976,0.000000000004976,0.000000000004957,0.000000000004957,0.000000000004984,0.000000000004976,0.000000000004957,0.000000001183854,0.000000001181981,0.000000001177362,0.000000000001062,0.000000001183854],[0.000131001435839,0.000043045239119,0.002905838632422,0.000001450761238,0.00000172835122,-0.000131001784294,-0.000043045342481,-0.002905824404009,-0.000001450405555,-0.003125677236972,-0.000001712637425,-0.000000000348455,-0.000000000103362,0.000000014228413,0.000000000355683,0.000000014947236,0.000000015713794,0.000551187374397,0.000551187374397,0.011857496786109,0.011857496786109,0.012322270389942,0.012322270389942,0.000551187374397,0.011857496786109,0.012322270389942,0.130923365653908,2.816507524624262,2.926905054225486,0.003125692184208,2.926905054225486],[0.000210020813821,0.00006901726936,0.004548746648394,0.000002463223094,0.000000245410613,-0.00021002106481,-0.000069018471547,-0.00454868510677,-0.000002437980715,-0.000558089266862,-0.000000242205094,-0.000000000250989,-0.000000001202187,0.000000061541623,0.00000002524238,-0.000000001066975,0.00000000320552,0.000884605980746,0.000884605980746,0.018623219974119,0.018623219974119,0.002197790246453,0.002197790246453,0.000884605980746,0.018623219974119,0.002197790246453,0.210120183546494,4.423567649732361,0.522040433857144,0.000558088199887,4.423567649732361],[0.016497990884964,0.005227392032318,0.026265194773931,0.000186091147033,0.000006678121424,-0.01649107915336,-0.005231720884181,-0.026245974631042,-0.000177690748565,-0.002530858066933,-0.000006278894323,0.000006911731603,-0.000004328851863,0.000019220142888,0.000008400398468,-0.000000677933482,0.000000399227101,0.069250742620947,0.069250742620947,0.107536150717598,0.107536150717598,0.009964059537185,0.009964059537185,0.069250742620947,0.107536150717598,0.009964059537185,16.449107361867874,25.543028442567529,2.366759963634318,0.002530180133451,25.543028442567529],[0.000000000000999,0.000000000000712,0.00000000000099,0.000000000000697,0.000000000000706,-0.000000000000999,-0.000000000000712,-0.00000000000099,-0.000000000000697,-0.000000000001009,-0.000000000000706,3.837019442995e-27,2.22143230910237e-27,3.43312265952184e-27,1.9185097214975e-27,3.837019442995e-27,1.9185097214975e-27,0.000000000004891,0.000000000004891,0.000000000004888,0.000000000004888,0.000000000004865,0.000000000004865,0.000000000004891,0.000000000004888,0.000000000004865,0.000000001161872,0.000000001160973,0.000000001155683,0.000000000001009,0.000000001161872],[0.000131001798344,0.000043045353465,0.002905824418005,0.000001450416009,0.000001712648293,-0.000131002048501,-0.000043045427669,-0.002905814203364,-0.000001450160663,-0.003125666520737,-0.00000170136729,-0.000000000250157,-0.000000000074204,0.000000010214641,0.000000000255347,0.000000010730687,0.000000011281003,0.000551187441459,0.000551187441459,0.011857496843243,0.011857496843243,0.01232227044694,0.01232227044694,0.000551187441459,0.011857496843243,0.01232227044694,0.13092338158297,2.816507538195294,2.926905067764321,0.003125677251424,2.926905067764321],[-0.000000000000084,0.000000000000019,-0.000000000000077,0.000000000000023,0.00000000000002,0.000000000000084,-0.000000000000019,0.000000000000077,-0.000000000000023,0.000000000000083,-0.00000000000002,8.83524213847533e-29,0.0,6.31088724176809e-29,0.0,7.57306469012171e-29,0.0,0.000000000000343,0.000000000000343,0.000000000000331,0.000000000000331,0.000000000000336,0.000000000000336,0.000000000000343,0.000000000000331,0.000000000000336,0.000000000081367,0.000000000078668,0.000000000079839,-0.000000000000083,0.000000000081367],[0.000210021080534,0.000069018483598,0.004548685122421,0.00000243799211,0.000000242216999,-0.000210021202739,-0.000069019068936,-0.004548655158176,-0.000002425701747,-0.000558089802598,-0.00000024065625,-0.000000000122205,-0.000000000585338,0.000000029964245,0.000000012290362,-0.000000000519504,0.000000001560748,0.000884606055577,0.000884606055577,0.018623220038221,0.018623220038221,0.002197790310398,0.002197790310398,0.000884606055577,0.018623220038221,0.002197790310398,0.21012020132094,4.423567664958537,0.522040449045952,0.000558089283094,4.423567664958537],[0.016491171614757,0.005231746781801,0.026246065570087,0.00017771376282,0.000006303180267,-0.0164787070887,-0.005239553335459,-0.026211404352596,-0.00016256465093,-0.002532175229675,-0.000005583210633,0.000012464526057,-0.000007806553658,0.000034661217492,0.00001514911189,-0.000001222610424,0.000000719969634,0.069251126734622,0.069251126734622,0.107536523938345,0.107536523938345,0.009964432027696,0.009964432027696,0.069251126734622,0.107536523938345,0.009964432027696,16.449198600269501,25.54311709357528,2.366848441189536,0.002530952619251,25.54311709357528],[0.000000000000919,0.000000000000759,0.000000000000911,0.000000000000743,0.000000000000753,-0.000000000000919,-0.000000000000759,-0.000000000000911,-0.000000000000743,-0.000000000000928,-0.000000000000753,2.62532909257553e-27,1.31266454628776e-27,2.42338070083895e-27,1.31266454628776e-27,2.42338070083895e-27,1.41363874215605e-27,0.000000000004749,0.000000000004749,0.000000000004746,0.000000000004746,0.000000000004724,0.000000000004724,0.000000000004749,0.000000000004746,0.000000000004724,0.000000001127971,0.000000001127283,0.000000001121986,0.000000000000928,0.000000001127971],[0.000131002063061,0.000043045438896,0.002905814217863,0.000001450171347,0.000001701378394,-0.000131002416532,-0.000043045543746,-0.002905799784651,-0.000001449810544,-0.00312565137333,-0.000001685438421,-0.000000000353471,-0.00000000010485,0.000000014433212,0.000000000360803,0.000000015162382,0.000000015939973,0.000551187510757,0.000551187510757,0.011857496902429,0.011857496902429,0.012322270505999,0.012322270505999,0.000551187510757,0.011857496902429,0.012322270505999,0.130923398043385,2.816507552253523,2.926905081792442,0.003125666535712,2.926905081792442],[-0.000000000000078,0.000000000000029,-0.000000000000072,0.000000000000033,0.00000000000003,0.000000000000078,-0.000000000000029,0.000000000000072,-0.000000000000033,0.000000000000077,-0.00000000000003,8.83524213847533e-29,0.0,7.57306469012171e-29,0.0,6.31088724176809e-29,0.0,0.000000000000332,0.000000000000332,0.000000000000324,0.000000000000324,0.000000000000325,0.000000000000325,0.000000000000332,0.000000000000324,0.000000000000325,0.000000000078778,0.000000000077078,0.000000000077138,-0.000000000000077,0.000000000078778],[0.000210021231292,0.000069019090925,0.004548655186601,0.000002425722547,0.000000240677976,-0.000210021805369,-0.000069021840647,-0.004548514424617,-0.000002367986542,-0.000558092272532,-0.000000233346104,-0.000000000574077,-0.000000002749721,0.000000140761985,0.000000057736006,-0.000000002440455,0.000000007331872,0.000884606191587,0.000884606191587,0.018623220154646,0.018623220154646,0.002197790426525,0.002197790426525,0.000884606191587,0.018623220154646,0.002197790426525,0.21012023362749,4.423567692612854,0.522040476629588,0.000558089832077,4.423567692612854],[0.016478793167693,0.005239577502177,0.026211488976199,0.000162586012352,0.000005605818977,-0.016473187826283,-0.005243088119774,-0.026195901761168,-0.000155773426859,-0.002532813195099,-0.000005282042435,0.00000560534141,-0.000003510617597,0.000015587215031,0.000006812585493,-0.000000549826506,0.000000323776543,0.069251484591481,0.069251484591481,0.107536871650558,0.107536871650558,0.009964779060431,0.009964779060431,0.069251484591481,0.107536871650558,0.009964779060431,16.449283601898088,25.543199685549347,2.366930871767121,0.002532263368594,25.543199685549347],[0.000000000001155,0.000000000000518,0.000000000001141,0.000000000000501,0.000000000000507,-0.000000000001155,-0.000000000000518,-0.000000000001141,-0.000000000000501,-0.000000000001163,-0.000000000000507,2.82727748431211e-27,1.0097419586829e-27,2.82727748431211e-27,9.08767762814606e-28,2.82727748431211e-27,1.11071615455118e-27,0.000000000005044,0.000000000005044,0.000000000005032,0.000000000005032,0.000000000005014,0.000000000005014,0.000000000005044,0.000000000005032,0.000000000005014,0.000000001198093,0.000000001195264,0.000000001190863,0.000000000001163,0.000000001198093],[0.000131002434005,0.000043045556942,0.002905799802048,0.000001449823091,0.000001685451464,-0.000131002816435,-0.000043045670381,-0.002905784186351,-0.000001449432728,-0.003125634986688,-0.000001668205559,-0.00000000038243,-0.00000000011344,0.000000015615698,0.000000000390363,0.000000016404607,0.000000017245905,0.000551187593579,0.000551187593579,0.011857496973446,0.011857496973446,0.012322270576851,0.012322270576851,0.000551187593579,0.011857496973446,0.012322270576851,0.130923417716055,2.816507569122213,2.92690509862198,0.003125651391295,2.92690509862198],[-0.000000000000011,0.00000000000003,-0.000000000000006,0.000000000000034,0.00000000000003,0.000000000000011,-0.00000000000003,0.000000000000006,-0.000000000000034,0.000000000000008,-0.00000000000003,6.31088724176809e-30,0.0,5.52202633654708e-30,0.0,3.15544362088405e-30,6.31088724176809e-30,0.000000000000128,0.000000000000128,0.000000000000141,0.000000000000141,0.000000000000124,0.000000000000124,0.000000000000128,0.000000000000141,0.000000000000124,0.00000000003039,0.000000000033491,0.000000000029421,-0.000000000000008,0.000000000033491],[0.000210017266207,0.000069024962585,0.000000000097042,-0.000000000162161,-0.000000000168256,-0.00021001377775,-0.000069024699456,-0.000000000097042,0.000000000162161,-0.00000000010144,0.000000000168256,0.000000003488457,0.000000000263129,3.12849852391533e-17,3.03040598360934e-17,-4.18987733314949e-17,1.19318987440836e-17,0.000884592836813,0.000884592836813,0.000000000773748,0.000000000773748,0.000000000773705,0.000000000773705,0.000884592836813,0.000000000773748,0.000000000773705,0.210117061472211,0.000000183788158,0.000000183778011,0.00000000010144,0.210117061472211],[0.000000004572213,-0.000000003096443,0.004548514360479,0.000002368172818,0.000000233539549,-0.000000004572415,0.000000003096368,-0.004548112393092,-0.000002213032737,-0.000558098377715,-0.000000211968261,-0.000000000000201,-0.000000000000075,0.000000401967388,0.000000155140081,-0.000000006172499,0.000000021571288,0.000000022096091,0.000000022096091,0.018623219892441,0.018623219892441,0.002197790161753,0.002197790161753,0.000000022096091,0.018623219892441,0.002197790161753,0.000005248477738,4.423567630331511,0.522040413738392,0.000558092205216,4.423567630331511],[0.016473222411126,0.00524309784239,0.026195935754438,0.00015578200042,0.000005291128492,-0.016471554662137,-0.00524414234923,-0.026191298120073,-0.000153755064701,-0.00253301221892,-0.000005194795296,0.00000166774899,-0.00000104450684,0.000004637634365,0.000002026935719,-0.000000163590779,0.000000096333196,0.06925162842113,0.06925162842113,0.10753701140078,0.10753701140078,0.0099649185377,0.0099649185377,0.06925162842113,0.10753701140078,0.0099649185377,16.449317765709914,25.543232880376021,2.366964001759595,0.002532848628141,25.543232880376021],[0.000000000001008,0.000000000000681,0.000000000000998,0.000000000000665,0.000000000000674,-0.000000000001008,-0.000000000000681,-0.000000000000998,-0.000000000000665,-0.000000000001017,-0.000000000000674,7.47209049425342e-27,2.72630328844382e-27,7.27014210251684e-27,2.52435489670724e-27,7.47209049425342e-27,2.82727748431211e-27,0.000000000004849,0.000000000004849,0.000000000004843,0.000000000004843,0.000000000004821,0.000000000004821,0.000000000004849,0.000000000004843,0.000000000004821,0.000000001151748,0.000000001150399,0.000000001145047,0.000000000001017,0.000000001151748],[0.000131002834076,0.000043045684439,0.00290578420393,0.000001449446116,0.000001668219472,-0.000131003194738,-0.000043045791422,-0.002905769477071,-0.000001449077973,-0.003125619533975,-0.000001651955195,-0.000000000360662,-0.000000000106983,0.00000001472686,0.000000000368144,0.000000015470864,0.000000016264276,0.000551187678111,0.000551187678111,0.011857497045209,0.011857497045209,0.012322270648437,0.012322270648437,0.000551187678111,0.011857497045209,0.012322270648437,0.130923437794832,2.816507586168132,2.926905115625656,0.003125635004839,2.926905115625656],[-0.000000000000038,0.000000000000006,-0.000000000000034,0.00000000000001,0.000000000000006,0.000000000000038,-0.000000000000006,0.000000000000034,-0.00000000000001,0.000000000000036,-0.000000000000006,3.78653234506086e-29,3.94430452610506e-30,2.52435489670724e-29,-3.15544362088405e-30,3.15544362088405e-29,0.0,0.000000000000152,0.000000000000152,0.000000000000144,0.000000000000144,0.000000000000143,0.000000000000143,0.000000000000152,0.000000000000144,0.000000000000143,0.000000000036063,0.000000000034294,0.000000000033991,-0.000000000000036,0.000000000036063],[0.000210013796772,0.000069024701184,0.000000000115668,-0.000000000160929,-0.00000000016691,-0.000210013496348,-0.000069024678524,-0.000000000115668,0.000000000160929,-0.000000000120802,0.00000000016691,0.000000000300424,0.000000000022661,2.60737737335266e-18,2.98385256375771e-18,-3.83277052638105e-18,7.6938077271482e-19,0.000884592911284,0.000884592911284,0.000000000811437,0.000000000811437,0.000000000811389,0.000000000811389,0.000884592911284,0.000000000811437,0.000000000811389,0.210117079161218,0.000000192740473,0.000000192728989,0.000000000120802,0.210117079161218],[0.000000004651559,-0.000000003035903,0.004548112471864,0.000002213089899,0.000000212027974,-0.000000004651709,0.000000003035845,-0.004547813429446,-0.000002097673903,-0.000558103051434,-0.000000195980078,-0.00000000000015,-0.000000000000058,0.000000299042418,0.000000115415995,-0.000000004592013,0.000000016047896,0.000000022225862,0.000000022225862,0.018623220215108,0.018623220215108,0.0021977904836,0.0021977904836,0.000000022225862,0.018623220215108,0.0021977904836,0.000005279302156,4.423567706974351,0.52204049018653,0.000558098459421,4.423567706974351],[0.016471571528831,0.00524414709319,0.026191314697284,0.000153759245081,0.000005199227307,-0.016469688966994,-0.005245326135625,-0.026186079720517,-0.000151471233362,-0.002533214165145,-0.000005090485764,0.000001882561837,-0.000001179042435,0.000005234976766,0.000002288011719,-0.000000184662877,0.000000108741543,0.069251698573254,0.069251698573254,0.107537079562398,0.107537079562398,0.00996498656621,0.00996498656621,0.069251698573254,0.107537079562398,0.00996498656621,16.449334428922025,25.543249070783858,2.366980160550221,0.002533029502268,25.543249070783858],[0.000000000000982,0.000000000000589,0.000000000000972,0.000000000000575,0.000000000000581,-0.000000000000982,-0.000000000000589,-0.000000000000972,-0.000000000000575,-0.00000000000099,-0.000000000000581,5.45260657688763e-27,1.81753552562921e-27,5.65455496862421e-27,2.01948391736579e-27,5.25065818515105e-27,1.81753552562921e-27,0.000000000004565,0.000000000004565,0.000000000004557,0.000000000004557,0.000000000004536,0.000000000004536,0.000000000004565,0.000000000004557,0.000000000004536,0.000000001084274,0.000000001082398,0.000000001077509,0.00000000000099,0.000000001084274],[0.000131003217436,0.000043045809267,0.002905769499681,0.00000144909496,0.000001651972852,-0.000131003810422,-0.000043045985164,-0.002905745286374,-0.000001448489673,-0.003125594120754,-0.000001625231786,-0.000000000592986,-0.000000000175897,0.000000024213307,0.000000000605287,0.00000002543657,0.000000026741066,0.000551187786569,0.000551187786569,0.011857497137508,0.011857497137508,0.012322270740525,0.012322270740525,0.000551187786569,0.011857497137508,0.012322270740525,0.13092346355687,2.816507608091911,2.926905137499316,0.003125619557324,2.926905137499316],[0.00000000000001,0.000000000000019,0.000000000000013,0.000000000000022,0.000000000000019,-0.00000000000001,-0.000000000000019,-0.000000000000013,-0.000000000000022,-0.000000000000012,-0.000000000000019,6.31088724176809e-30,0.0,1.10440526730942e-29,0.0,9.46633086265214e-30,0.0,0.000000000000086,0.000000000000086,0.000000000000103,0.000000000000103,0.000000000000088,0.000000000000088,0.000000000000086,0.000000000000103,0.000000000000088,0.000000000020465,0.000000000024499,0.000000000020936,0.000000000000012,0.000000000024499],[0.000210013499383,0.000069024678832,0.000000000118641,-0.000000000160699,-0.00000000016666,-0.00021001320461,-0.000069024656598,-0.000000000118641,0.000000000160699,-0.000000000123893,0.00000000016666,0.000000000294773,0.000000000022234,2.54971858073359e-18,2.96445042210482e-18,-3.84654962347677e-18,7.10793250138308e-19,0.000884592923209,0.000884592923209,0.000000000817845,0.000000000817845,0.000000000817796,0.000000000817796,0.000884592923209,0.000000000817845,0.000000000817796,0.21011708199373,0.000000194262496,0.000000194250931,0.000000000123893,0.21011708199373],[0.000000004708068,-0.000000002992845,0.004547813485537,0.000002097714547,0.000000196022539,-0.000000004708168,0.000000002992804,-0.004547613224211,-0.000002020423303,-0.000558106184777,-0.000000185275658,-0.0000000000001,-0.00000000000004,0.000000200261326,0.000000077291244,-0.000000003075159,0.00000001074688,0.000000022322277,0.000000022322277,0.018623220444874,0.018623220444874,0.002197790712785,0.002197790712785,0.000000022322277,0.018623220444874,0.002197790712785,0.000005302203525,4.423567761550772,0.522040544624769,0.000558103109618,4.423567761550772],[0.01646970631415,0.005245331016759,0.026186096768789,0.000151475531169,0.000005095044303,-0.016467935796023,-0.005246439885485,-0.026181173363753,-0.000149323695672,-0.002533405617562,-0.000004992774456,0.000001770518126,-0.000001108868726,0.000004923405036,0.000002151835497,-0.000000173673276,0.000000102269847,0.069251770731948,0.069251770731948,0.10753714967344,0.10753714967344,0.009965056540359,0.009965056540359,0.069251770731948,0.10753714967344,0.009965056540359,16.449351568754246,25.543265724238022,2.366996781488153,0.002533231944285,25.543265724238022],[0.000000000000901,0.000000000001196,0.000000000000901,0.000000000001175,0.000000000001195,-0.000000000000901,-0.000000000001196,-0.000000000000901,-0.000000000001175,-0.000000000000914,-0.000000000001195,1.0097419586829e-27,2.01948391736579e-28,9.08767762814606e-28,4.03896783473158e-28,1.21169035041947e-27,2.01948391736579e-28,0.000000000005968,0.000000000005968,0.000000000005977,0.000000000005977,0.000000000005943,0.000000000005943,0.000000000005968,0.000000000005977,0.000000000005943,0.000000001417552,0.000000001419817,0.000000001411705,0.000000000000914,0.000000001419817],[0.000131003892029,0.000043046048364,0.002905745367645,0.000001448549816,0.000001625294297,-0.000131006711549,-0.000043046884718,-0.002905630238656,-0.000001445671806,-0.003125473259353,-0.00000149814637,-0.000000002819521,-0.000000000836354,0.000000115128989,0.00000000287801,0.000000120945332,0.000000127147927,0.000551188175324,0.000551188175324,0.011857497469276,0.011857497469276,0.012322271071539,0.012322271071539,0.000551188175324,0.011857497469276,0.012322271071539,0.130923555897744,2.816507686896522,2.92690521612496,0.003125594204685,2.92690521612496],[0.000000000000004,0.000000000000009,0.000000000000007,0.000000000000012,0.000000000000009,-0.000000000000004,-0.000000000000009,-0.000000000000007,-0.000000000000012,-0.000000000000006,-0.000000000000009,2.36658271566304e-30,1.57772181044202e-30,4.73316543132607e-30,1.57772181044202e-30,7.88860905221012e-31,1.57772181044202e-30,0.000000000000041,0.000000000000041,0.000000000000057,0.000000000000057,0.000000000000041,0.000000000000041,0.000000000000041,0.000000000000057,0.000000000000041,0.000000000009626,0.000000000013528,0.000000000009822,0.000000000000006,0.000000000013528],[0.000210013207176,0.000069024656826,0.000000000121153,-0.000000000160537,-0.000000000166483,-0.000210012969159,-0.000069024638872,-0.000000000121153,0.000000000160537,-0.000000000126505,0.000000000166483,0.000000000238017,0.000000000017953,1.99465376483454e-18,2.46265696823237e-18,-3.15359871085002e-18,5.10616239834117e-19,0.000884592933248,0.000884592933248,0.000000000823466,0.000000000823466,0.00000000082342,0.00000000082342,0.000884592933248,0.000000000823466,0.00000000082342,0.210117084378233,0.000000195597605,0.000000195586722,0.000000000126505,0.210117084378233],[0.000000000491012,-0.000000000288375,0.000000000472634,-0.000000000293544,0.000000188114408,-0.000000000491012,0.000000000288376,-0.000000000472635,0.000000000293544,-0.000558099101735,-0.00000018690115,-1.07291612020783e-17,0.000000000000001,-0.000000000000001,-6.95268527894818e-16,0.000000002857771,0.000000001213259,0.000000002278425,0.000000002278425,0.000000002278438,0.000000002278438,0.002197774077646,0.002197774077646,0.000000002278425,0.000000002278438,0.002197774077646,0.000000541193565,0.000000541196785,0.522036593285366,0.000558101959506,0.522036593285366],[0.000000004017932,-0.000000002472053,0.004547612562599,0.000002020948637,-0.000000002598372,-0.000000004017958,0.00000000247204,-0.004545536252998,-0.000001864335585,-0.000000004027932,0.000000002598402,-0.000000000000027,-0.000000000000014,0.000002076309601,0.000000156613052,0.000000000000002,0.00000000000003,0.000000018875775,0.000000018875775,0.018623217736419,0.018623217736419,0.000000018875768,0.000000018875768,0.000000018875775,0.018623217736419,0.000000018875768,0.000004483556878,4.423567118212228,0.000004483555352,0.000000004027934,4.423567118212228],[0.016467954004587,0.005246445010962,0.026181191257451,0.000149328205205,0.000004997559577,-0.016465888144197,-0.005247738850078,-0.026175446577728,-0.000146817421279,-0.002533626928017,-0.000004878229689,0.00000206586039,-0.000001293839115,0.000005744679723,0.000002510783926,-0.000000202645039,0.000000119329888,0.069251846481892,0.069251846481892,0.107537223273672,0.107537223273672,0.009965129996907,0.009965129996907,0.069251846481892,0.107537223273672,0.009965129996907,16.449369561614922,25.54328320647819,2.367014229599076,0.002533424282979,25.54328320647819],[0.000000000001378,0.000000000000925,0.000000000001379,0.000000000000891,0.000000000000912,-0.000000000001378,-0.000000000000925,-0.000000000001379,-0.000000000000891,-0.000000000001401,-0.000000000000912,4.03896783473158e-28,2.01948391736579e-28,0.0,-1.0097419586829e-28,2.01948391736579e-28,2.01948391736579e-28,0.000000000006615,0.000000000006615,0.000000000006626,0.000000000006626,0.000000000006605,0.000000000006605,0.000000000006615,0.000000000006626,0.000000000006605,0.000000001571155,0.000000001573774,0.00000000156899,0.000000000001401,0.000000001573774],[0.000131006793552,0.000043046948546,0.002905630320323,0.000001445732552,0.000001498209504,-0.00013100740777,-0.000043047130742,-0.002905605240072,-0.000001445105592,-0.003125446996384,-0.00000147051099,-0.000000000614218,-0.000000000182196,0.000000025080251,0.00000000062696,0.000000026347311,0.000000027698514,0.000551188566356,0.000551188566356,0.01185749780267,0.01185749780267,0.012322271404177,0.012322271404177,0.000551188566356,0.01185749780267,0.012322271404177,0.13092364877959,2.816507766087513,2.926905295136498,0.003125473343694,2.926905295136498],[0.00000000000002,0.000000000000014,0.000000000000023,0.000000000000016,0.000000000000013,-0.00000000000002,-0.000000000000014,-0.000000000000023,-0.000000000000016,-0.000000000000022,-0.000000000000013,0.0,0.0,0.0,-3.15544362088405e-30,6.31088724176809e-30,0.0,0.000000000000098,0.000000000000098,0.000000000000112,0.000000000000112,0.0000000000001,0.0000000000001,0.000000000000098,0.000000000000112,0.0000000000001,0.000000000023286,0.000000000026715,0.000000000023691,0.000000000000022,0.000000000026715],[0.000210012972192,0.000069024639129,0.000000000124122,-0.000000000160358,-0.000000000166286,-0.000210012614947,-0.000069024612183,-0.000000000124122,0.000000000160358,-0.000000000129593,0.000000000166286,0.000000000357245,0.000000000026946,3.0427896735406e-18,3.70252313241754e-18,-4.67335097371894e-18,7.66587900774111e-19,0.000884592945098,0.000884592945098,0.000000000830264,0.000000000830264,0.000000000830221,0.000000000830221,0.000884592945098,0.000000000830264,0.000000000830221,0.210117087192961,0.0000001972124,0.000000197202061,0.000000000129592,0.210117087192961],[0.000000000491876,-0.000000000287682,0.000000000473495,-0.000000000292886,0.000000186901836,-0.000000000491876,0.000000000287685,-0.000000000473498,0.000000000292884,-0.000558091523649,-0.000000183684202,-3.49954481810027e-17,0.000000000000004,-0.000000000000003,-0.000000000000002,0.000000007578978,0.000000003217634,0.000000002280001,0.000000002280001,0.000000002280014,0.000000002280014,0.00219777408116,0.00219777408116,0.000000002280001,0.000000002280014,0.00219777408116,0.000000541567885,0.000000541571068,0.522036594120268,0.000558099102627,0.522036594120268],[0.000000004047981,-0.000000002470299,0.004545536282352,0.000001864336559,-0.000000002597285,-0.000000004047983,0.000000002470298,-0.004545409904802,-0.000001854804082,-0.000000004058468,0.000000002597287,-0.000000000000002,-8.40451869763097e-16,0.000000126377549,0.000000009532477,9.13934595550456e-17,0.000000000000002,0.000000018974563,0.000000018974563,0.018623217856685,0.018623217856685,0.000000018974557,0.000000018974557,0.000000018974563,0.018623217856685,0.000000018974557,0.000004507022102,4.42356714677897,0.000004507020636,0.000000004058468,4.42356714677897],[0.01646590076669,0.005247742404586,0.026175458981024,0.000146820545857,0.000004881546846,-0.016465306325332,-0.005248114700281,-0.026173805978041,-0.000146098080266,-0.002533698180325,-0.00000484721019,0.000000594441358,-0.000000372295695,0.000001653002983,0.000000722465591,-0.000000058310354,0.000000034336656,0.069251898999418,0.069251898999418,0.107537274300834,0.107537274300834,0.009965180924465,0.009965180924465,0.069251898999418,0.107537274300834,0.009965180924465,16.449382036086497,25.543295326944008,2.367026326406281,0.002533639869971,25.543295326944008],[-0.000000000000141,0.000000000000506,-0.000000000000127,0.000000000000502,0.000000000000512,0.000000000000141,-0.000000000000506,0.000000000000127,-0.000000000000502,0.000000000000135,-0.000000000000512,7.57306469012171e-29,0.0,0.0,1.0097419586829e-28,1.0097419586829e-28,0.0,0.000000000002093,0.000000000002093,0.000000000002091,0.000000000002091,0.000000000002092,0.000000000002092,0.000000000002093,0.000000000002091,0.000000000002092,0.000000000497138,0.000000000496565,0.000000000496979,-0.000000000000135,0.000000000497138],[0.000000000043236,-0.00000000002339,0.000055000180512,0.000000019182034,-0.000000000024534,-0.000000000043236,0.00000000002339,-0.000054999490372,-0.000000019129977,-0.00000000004338,0.000000000024534,-7.44689275041277e-18,-4.35424234530101e-18,0.00000000069014,0.000000000052056,-5.57077191233025e-20,8.62384272033302e-18,0.000000000196486,0.000000000196486,0.000224450475783,0.000224450475783,0.000000000196485,0.000000000196485,0.000000000196486,0.000224450475783,0.000000000196485,0.000000046671283,0.053313651722009,0.000000046670951,0.00000000004338,0.053313651722009],[0.000131007430829,0.000043047210135,0.002850605125678,0.000001425976979,0.000001470591025,-0.000131009744178,-0.000043047849936,-0.00285051435666,-0.000001424621305,-0.003125346785948,-0.000001366790388,-0.000000002313349,-0.000000000639801,0.000000090769018,0.000000001355674,0.000000100235327,0.000000103800637,0.000551188752982,0.000551188752982,0.011633047599342,0.011633047599342,0.012322271502461,0.012322271502461,0.000551188752982,0.011633047599342,0.012322271502461,0.13092369310877,2.763194179081853,2.92690531848173,0.003125447021275,2.92690531848173],[0.000000000000028,0.000000000000003,0.000000000000029,0.000000000000005,0.000000000000002,-0.000000000000028,-0.000000000000003,-0.000000000000029,-0.000000000000005,-0.000000000000029,-0.000000000000002,-3.15544362088405e-30,1.97215226305253e-30,-1.26217744835362e-29,0.0,-6.31088724176809e-30,3.54987407349455e-30,0.000000000000111,0.000000000000111,0.00000000000012,0.00000000000012,0.000000000000116,0.000000000000116,0.000000000000111,0.00000000000012,0.000000000000116,0.000000000026367,0.000000000028582,0.00000000002752,0.000000000000029,0.000000000028582],[0.000210012618844,0.000069024612564,0.000000000127939,-0.000000000160079,-0.000000000165982,-0.000210012188146,-0.000069024580077,-0.000000000127939,0.000000000160079,-0.00000000013356,0.000000000165982,0.000000000430698,0.000000000032487,3.57375897668992e-18,4.6052838320756e-18,-5.82047801617228e-18,8.49062383188411e-19,0.000884592960389,0.000884592960389,0.000000000839027,0.000000000839027,0.000000000838983,0.000000000838983,0.000884592960389,0.000000000839027,0.000000000838983,0.210117090825178,0.000000199293786,0.000000199283367,0.00000000013356,0.210117090825178],[0.000000000492627,-0.000000000287061,0.000000000474247,-0.000000000292292,0.000000183684821,-0.000000000492627,0.000000000287062,-0.000000000474248,0.000000000292292,-0.000558088891833,-0.000000182567161,-1.4259756240044e-17,0.000000000000001,-0.000000000000001,-6.45065130731999e-16,0.000000002632593,0.00000000111766,0.000000002281337,0.000000002281337,0.00000000228135,0.00000000228135,0.002197774084223,0.002197774084223,0.000000002281337,0.00000000228135,0.002197774084223,0.000000541885314,0.000000541888345,0.522036594847685,0.000558091524427,0.522036594847685],[0.000000004051088,-0.000000002470053,0.00454540990784,0.000001854804245,-0.000000002597107,-0.000000004051089,0.000000002470052,-0.004545294455255,-0.000001846095822,-0.000000004061627,0.000000002597108,-0.000000000000001,-7.6828996860707e-16,0.000000115452585,0.000000008708423,8.26782813124645e-17,0.000000000000002,0.000000018984659,0.000000018984659,0.018623217869131,0.018623217869131,0.000000018984654,0.000000018984654,0.000000018984659,0.018623217869131,0.000000018984654,0.000004509420116,4.423567149735146,0.000004509418981,0.000000004061627,4.423567149735146],[0.016465325156864,0.005248120004725,0.026173824482177,0.000146102742009,0.000004852159939,-0.016461948033814,-0.005250235077992,-0.02616443349696,-0.000141998294513,-0.002534048762649,-0.000004657087039,0.00000337712305,-0.000002115073267,0.000009390985216,0.000004104447495,-0.000000331272981,0.0000001950729,0.06925197735421,0.06925197735421,0.107537350431164,0.107537350431164,0.009965256906208,0.009965256906208,0.06925197735421,0.107537350431164,0.009965256906208,16.449400647675809,25.543313410157747,2.367044374326046,0.002533717489668,25.543313410157747],[-0.000000000000345,-0.00000000000023,-0.000000000000344,-0.000000000000223,-0.000000000000229,0.000000000000345,0.00000000000023,0.000000000000344,0.000000000000223,0.000000000000351,0.000000000000229,5.04870979341448e-29,5.04870979341448e-29,1.0097419586829e-28,7.57306469012171e-29,5.04870979341448e-29,0.0,0.000000000001654,0.000000000001654,0.000000000001654,0.000000000001654,0.000000000001654,0.000000000001654,0.000000000001654,0.000000000001654,0.000000000001654,0.000000000392826,0.000000000392826,0.000000000392826,-0.000000000000351,0.000000000392826],[0.000000000043244,-0.000000000023396,0.00005499949038,0.000000019129971,-0.000000000024541,-0.000000000043244,0.000000000023396,-0.00005499936,-0.000000019120137,-0.000000000043388,0.000000000024541,-1.40574017543254e-18,-8.28132823453873e-19,0.000000000130379,0.000000000009834,-1.73604531059567e-22,1.63761110204519e-18,0.000000000196526,0.000000000196526,0.000224450475814,0.000224450475814,0.000000000196525,0.000000000196525,0.000000000196526,0.000224450475814,0.000000000196525,0.000000046680857,0.053313651729386,0.000000046680546,0.000000000043388,0.053313651729386],[0.00013100987094,0.00004304794837,0.002850514482891,0.000001424714973,0.000001366887733,-0.000131012942158,-0.000043048797775,-0.002850393977413,-0.000001422915169,-0.003125213843317,-0.000001229081405,-0.000000003071218,-0.000000000849405,0.000000120505478,0.000000001799804,0.000000133073,0.000000137806329,0.000551189357147,0.000551189357147,0.011633048114687,0.011633048114687,0.012322272016635,0.012322272016635,0.000551189357147,0.011633048114687,0.012322272016635,0.130923836615854,2.763194301491491,2.926905440613318,0.003125346916317,2.926905440613318],[0.000000000000019,0.000000000000034,0.000000000000021,0.000000000000036,0.000000000000034,-0.000000000000019,-0.000000000000034,-0.000000000000021,-0.000000000000036,-0.00000000000002,-0.000000000000034,1.57772181044202e-29,6.31088724176809e-30,2.20881053461883e-29,0.0,2.52435489670724e-29,6.31088724176809e-30,0.000000000000158,0.000000000000158,0.00000000000017,0.00000000000017,0.000000000000157,0.000000000000157,0.000000000000158,0.00000000000017,0.000000000000157,0.000000000037444,0.000000000040487,0.000000000037358,0.00000000000002,0.000000000040487],[0.000210012191966,0.000069024580462,0.000000000131679,-0.000000000159793,-0.000000000165673,-0.000210011866582,-0.000069024555918,-0.000000000131679,0.000000000159793,-0.00000000013745,0.000000000165673,0.000000000325384,0.000000000024543,2.7507004119244e-18,3.58582834315829e-18,-4.41636521519735e-18,5.71636423043965e-19,0.000884592975392,0.000884592975392,0.000000000847772,0.000000000847772,0.000000000847732,0.000000000847732,0.000884592975392,0.000000000847772,0.000000000847732,0.210117094388787,0.000000201370953,0.000000201361637,0.00000000013745,0.210117094388787],[0.000000000002246,0.000000000001582,0.000000000002235,0.00000000000148,0.000000000001542,-0.000000000002246,-0.000000000001582,-0.000000000002235,-0.00000000000148,-0.000000000002318,-0.000000000001542,4.24091622646816e-26,3.19078458943795e-26,4.24091622646816e-26,3.21097942861161e-26,4.16013686977353e-26,3.19078458943795e-26,0.000000000010992,0.000000000010992,0.000000000010978,0.000000000010978,0.000000000010965,0.000000000010965,0.000000000010992,0.000000000010978,0.000000000010965,0.000000002610889,0.000000002607571,0.000000002604601,0.000000000002318,0.000000002610889],[0.000000000462368,-0.000000000262126,0.000000000445291,-0.000000000267193,0.000000182593164,-0.000000000462368,0.000000000262126,-0.000000000445291,0.000000000267193,-0.000558065168245,-0.000000180806006,4.57385089125041e-18,3.27479935711607e-16,-2.85898368787158e-16,-1.59848167058423e-16,0.000000023693389,0.000000001787158,0.000000002126646,0.000000002126646,0.000000002126622,0.000000002126622,0.002197773965333,0.002197773965333,0.000000002126646,0.000000002126622,0.002197773965333,0.000000505141551,0.000000505135764,0.522036566607723,0.000558088861635,0.522036566607723],[0.000000004053273,-0.000000002470033,0.004545294457388,0.000001846095787,-0.000000002597136,-0.000000004053274,0.000000002470032,-0.004545246496798,-0.000001842478189,-0.000000004063845,0.000000002597136,-6.21645057791523e-16,-3.18244727887971e-16,0.00000004796059,0.000000003617598,3.44115414899991e-17,6.97888883512262e-16,0.000000018992079,0.000000018992079,0.018623217877871,0.018623217877871,0.000000018992071,0.000000018992071,0.000000018992079,0.018623217877871,0.000000018992071,0.000004511182657,4.423567151811139,0.000004511180604,0.000000004063845,4.423567151811139],[0.016461973081969,0.005250242137837,0.026164458106623,0.000142004489934,0.000004663670517,-0.016460065657796,-0.005251436745221,-0.026159154014092,-0.000139686269858,-0.002534261562158,-0.000004553491533,0.000001907424173,-0.000001194607383,0.000005304092531,0.000002318220076,-0.000000187106855,0.000000110178984,0.069252081595467,0.069252081595467,0.10753745171353,0.10753745171353,0.009965357990959,0.009965357990959,0.069252081595467,0.10753745171353,0.009965357990959,16.449425408069224,25.543337467726634,2.36706838495542,0.002534074455303,25.543337467726634],[0.000000000043251,-0.000000000023386,0.000054999360008,0.000000019120145,-0.000000000024532,-0.000000000043251,0.000000000023386,-0.00005499909101,-0.000000019099855,-0.000000000043394,0.000000000024532,-2.91250468163332e-18,-1.69815360137599e-18,0.000000000268998,0.00000000002029,-2.93113970374094e-20,3.35799404177903e-18,0.000000000196531,0.000000000196531,0.000224450475847,0.000224450475847,0.000000000196531,0.000000000196531,0.000000000196531,0.000224450475847,0.000000000196531,0.000000046681831,0.053313651736997,0.000000046681859,0.000000000043394,0.053313651736997],[0.000131010590534,0.000043050243792,0.002850391705894,0.000001424381362,-0.000000001683665,-0.000131010641732,-0.000043050789255,-0.002850365363298,-0.000001412571965,-0.000000002392867,0.000000001683677,-0.000000000051198,-0.000000000545462,0.000000026342596,0.000000011809397,1.13602939710378e-16,0.000000000000012,0.000551182231885,0.000551182231885,0.011633038847138,0.011633038847138,0.000000011536169,0.000000011536169,0.000551182231885,0.011633038847138,0.000000011536169,0.130922144154625,2.763192100173555,0.000002740182721,0.000000002392867,2.763192100173555],[0.000000002283804,-0.00000000124705,0.000000002209378,-0.000000001269931,0.00000123096803,-0.000000002283804,0.000000001247055,-0.000000002209383,0.000000001269928,-0.003124782270672,-0.000001198600512,-2.27553494628556e-17,0.000000000000005,-0.000000000000004,-0.000000000000003,0.000000429114859,0.000000032367518,0.000000010400307,0.000000010400307,0.000000010400335,0.000000010400335,0.012322262328861,0.012322262328861,0.000000010400307,0.000000010400335,0.012322262328861,0.000002470381692,0.00000247038829,2.926903139479438,0.00312521138553,2.926903139479438],[0.000000000000015,0.000000000000004,0.000000000000017,0.000000000000006,0.000000000000003,-0.000000000000015,-0.000000000000004,-0.000000000000017,-0.000000000000006,-0.000000000000015,-0.000000000000003,0.0,0.0,6.31088724176809e-30,1.57772181044202e-30,0.0,-3.94430452610506e-31,0.000000000000062,0.000000000000062,0.000000000000073,0.000000000000073,0.000000000000062,0.000000000000062,0.000000000000062,0.000000000000073,0.000000000000062,0.000000000014659,0.000000000017304,0.000000000014704,0.000000000000015,0.000000000017304],[0.000210011870145,0.000069024556224,0.000000000135168,-0.000000000159581,-0.000000000165441,-0.000210011493619,-0.000069024527823,-0.000000000135168,0.000000000159581,-0.000000000141076,0.000000000165441,0.000000000376526,0.000000000028401,3.10902367954895e-18,4.14278815229251e-18,-5.16388166561784e-18,5.93365165266026e-19,0.000884592989316,0.000884592989316,0.000000000856264,0.000000000856264,0.000000000856225,0.000000000856225,0.000884592989316,0.000000000856264,0.000000000856225,0.210117097696086,0.000000203388175,0.000000203378764,0.000000000141076,0.210117097696086],[0.00000000000211,0.000000000001791,0.000000000002109,0.000000000001688,0.000000000001755,-0.00000000000211,-0.000000000001791,-0.000000000002109,-0.000000000001688,-0.000000000002186,-0.000000000001755,6.05845175209737e-27,4.8467614016779e-27,6.86624531904369e-27,4.64481300994132e-27,6.46234853557053e-27,4.44286461820474e-27,0.000000000011074,0.000000000011074,0.000000000011063,0.000000000011063,0.000000000011039,0.000000000011039,0.000000000011074,0.000000000011063,0.000000000011039,0.000000002630316,0.000000002627688,0.0000000026222,0.000000000002186,0.000000002630316],[0.000000000462575,-0.000000000262114,0.000000000445494,-0.000000000267187,0.000000180806013,-0.000000000462575,0.000000000262114,-0.000000000445494,0.000000000267187,-0.000558062609546,-0.000000180612998,4.26480985544964e-19,3.54446916777403e-17,-3.09218439675781e-17,-1.72365345225586e-17,0.000000002558909,0.000000000193015,0.000000002127342,0.000000002127342,0.000000002127322,0.000000002127322,0.002197773966158,0.002197773966158,0.000000002127342,0.000000002127322,0.002197773966158,0.000000505306999,0.000000505302016,0.522036566803849,0.000558065168455,0.522036566803849],[0.000000004055476,-0.000000002469838,0.004545246498953,0.000001842478326,-0.000000002596987,-0.000000004055477,0.000000002469838,-0.004545143120469,-0.000001834680635,-0.000000004066086,0.000000002596988,-0.000000000000001,-6.89636246883837e-16,0.000000103378485,0.000000007797691,7.30905524279124e-17,0.000000000000002,0.000000018999199,0.000000018999199,0.018623217886701,0.018623217886701,0.000000018999193,0.000000018999193,0.000000018999199,0.018623217886701,0.000000018999193,0.000004512873896,4.423567153908666,0.000004512872476,0.000000004066086,4.423567153908666],[0.016460081400726,0.00525144118426,0.026159169480364,0.000139690162199,0.000004557629551,-0.016458665465019,-0.005252327974811,-0.026155232102887,-0.000137969281998,-0.002534416608796,-0.00000447584036,0.000001415935706,-0.000000886790551,0.000003937377477,0.000001720880201,-0.000000138895449,0.000000081789191,0.069252147119362,0.069252147119362,0.107537515377328,0.107537515377328,0.009965421530567,0.009965421530567,0.069252147119362,0.107537515377328,0.009965421530567,16.449440971939495,25.543352589768663,2.36708347749891,0.002534277713347,25.543352589768663],[0.000131010660042,0.000043050803203,0.002850365381526,0.000001412585229,-0.000000001669895,-0.000131010861522,-0.000043052949742,-0.002850261716348,-0.000001366112086,-0.000000002411693,0.000000001669942,-0.00000000020148,-0.00000000214654,0.000000103665177,0.000000046473143,9.10341294018205e-17,0.000000000000048,0.000551182318815,0.000551182318815,0.011633038921556,0.011633038921556,0.000000011565932,0.000000011565932,0.000551182318815,0.011633038921556,0.000000011565932,0.130922164803045,2.763192117849931,0.00000274725226,0.000000002411693,2.763192117849931],[0.000000002300588,-0.000000001245094,0.000000002225858,-0.000000001268368,0.000001198602177,-0.000000002300589,0.000000001245116,-0.000000002225877,0.000000001268357,-0.003123006272282,-0.00000106463988,-1.7517092452166e-16,0.000000000000022,-0.000000000000019,-0.000000000000011,0.000001776015436,0.000000133962297,0.000000010455502,0.000000010455502,0.000000010455529,0.000000010455529,0.012322262396085,0.012322262396085,0.000000010455502,0.000000010455529,0.012322262396085,0.000002483492093,0.000002483498588,2.926903155447053,0.003124782287718,2.926903155447053],[0.000000000000005,0.00000000000001,0.000000000000007,0.000000000000012,0.000000000000009,-0.000000000000005,-0.00000000000001,-0.000000000000007,-0.000000000000012,-0.000000000000006,-0.000000000000009,1.57772181044202e-30,3.15544362088405e-30,4.73316543132607e-30,3.15544362088405e-30,1.57772181044202e-30,0.0,0.000000000000042,0.000000000000042,0.000000000000056,0.000000000000056,0.00000000000004,0.00000000000004,0.000000000000042,0.000000000000056,0.00000000000004,0.000000000010054,0.00000000001332,0.000000000009592,0.000000000000006,0.00000000001332],[0.000210011497236,0.000069024528177,0.000000000138711,-0.000000000159323,-0.00000000016516,-0.000210011143204,-0.000069024501473,-0.000000000138711,0.000000000159323,-0.000000000144757,0.00000000016516,0.000000000354031,0.000000000026704,2.87290350028022e-18,4.01516814244842e-18,-4.92216532516185e-18,4.95099339668994e-19,0.000884593003507,0.000884593003507,0.000000000864911,0.000000000864911,0.000000000864869,0.000000000864869,0.000884593003507,0.000000000864911,0.000000000864869,0.210117101066853,0.000000205442158,0.000000205432023,0.000000000144757,0.210117101066853],[-0.000000000000054,-0.000000000000075,-0.000000000000056,-0.000000000000071,-0.000000000000076,0.000000000000054,0.000000000000075,0.000000000000056,0.000000000000071,0.000000000000058,0.000000000000076,1.26217744835362e-29,0.0,-6.31088724176809e-30,1.26217744835362e-29,0.0,-1.26217744835362e-29,0.00000000000037,0.00000000000037,0.000000000000371,0.000000000000371,0.000000000000376,0.000000000000376,0.00000000000037,0.000000000000371,0.000000000000376,0.000000000088004,0.000000000088169,0.0000000000894,-0.000000000000058,0.0000000000894],[0.000000000002312,0.000000000001675,0.000000000002301,0.000000000001574,0.000000000001637,-0.000000000002312,-0.000000000001675,-0.000000000002301,-0.000000000001574,-0.000000000002391,-0.000000000001637,3.23117426778526e-27,3.02922587604869e-27,3.63507105125842e-27,2.42338070083895e-27,3.23117426778526e-27,2.42338070083895e-27,0.000000000011422,0.000000000011422,0.000000000011416,0.000000000011416,0.00000000001141,0.00000000001141,0.000000000011422,0.000000000011416,0.00000000001141,0.00000000271307,0.000000002711582,0.000000002710284,0.000000000002391,0.00000000271307],[0.000000000462668,-0.000000000262114,0.000000000445585,-0.000000000267188,0.000000180612997,-0.000000000462668,0.000000000262114,-0.000000000445585,0.000000000267188,-0.000558060134473,-0.000000180426298,4.75750499466824e-19,3.41917501920643e-17,-2.97824744317044e-17,-1.67239213911776e-17,0.000000002475169,0.000000000186698,0.000000002127665,0.000000002127665,0.000000002127643,0.000000002127643,0.002197773966533,0.002197773966533,0.000000002127665,0.000000002127643,0.002197773966533,0.00000050538353,0.000000505378336,0.522036566892953,0.000558062609642,0.522036566892953],[0.00000000406045,-0.000000002469569,0.004545143125331,0.000001834680777,-0.000000002596824,-0.000000004060453,0.000000002469567,-0.004544879821576,-0.000001814820153,-0.000000004071144,0.000000002596828,-0.000000000000003,-0.000000000000002,0.000000263303755,0.000000019860624,1.85051207750128e-16,0.000000000000004,0.000000019015638,0.000000019015638,0.018623217906623,0.018623217906623,0.000000019015634,0.000000019015634,0.000000019015638,0.018623217906623,0.000000019015634,0.000004516778677,4.423567158640586,0.000004516777733,0.000000004071144,4.423567158640586],[0.016458678197422,0.005252331566201,0.026155244610902,0.000137972429189,0.00000447918732,-0.016457405203671,-0.005253128832636,-0.026151704722622,-0.000136425276584,-0.002534554547419,-0.000004405654812,0.000001272993751,-0.000000797266435,0.00000353988828,0.000001547152604,-0.000000124874115,0.000000073532507,0.069252200117773,0.069252200117773,0.10753756687099,0.10753756687099,0.009965472923797,0.009965472923797,0.069252200117773,0.10753756687099,0.009965472923797,16.449453560635561,25.543364821042193,2.367095684916785,0.002534429673304,25.543364821042193],[0.000131010902316,0.0000430529809,0.002850261756956,0.000001366141716,-0.000000001639147,-0.000131011262048,-0.000043056813445,-0.002850076667778,-0.000001283166158,-0.000000002453639,0.000000001639232,-0.000000000359732,-0.000000003832545,0.000000185089178,0.000000082975558,-0.000000000000001,0.000000000000085,0.000551182512594,0.000551182512594,0.011633039087352,0.011633039087352,0.000000011634394,0.000000011634394,0.000551182512594,0.011633039087352,0.000000011634394,0.130922210831249,2.763192157231397,0.00000276351408,0.000000002453638,2.763192157231397],[0.000000002101868,-0.000000001128609,0.000000002033797,-0.000000001150023,0.000000973254478,-0.000000002101868,0.000000001128612,-0.0000000020338,0.000000001150022,-0.002836709129427,-0.000000951648179,-4.0439579258539e-17,0.000000000000003,-0.000000000000003,-0.000000000000002,0.000000286447174,0.0000000216063,0.000000009535386,0.000000009535386,0.000000009535386,0.000000009535386,0.011193766803302,0.011193766803302,0.000000009535386,0.000000009535386,0.011193766803302,0.000002264937333,0.000002264937234,2.658851948188741,0.002836995576601,2.658851948188741],[0.00000000021442,-0.000000000114696,0.000000000207489,-0.000000000116897,0.000000091386933,-0.00000000021442,0.000000000114696,-0.00000000020749,0.000000000116897,-0.000286009029001,-0.000000091260016,-2.92123848105565e-19,2.06894272123108e-17,-1.77930968197097e-17,-1.05866588946953e-17,0.000000001682615,0.000000000126917,0.000000000971916,0.000000000971916,0.000000000971945,0.000000000971945,0.00112849565594,0.00112849565594,0.000000000971916,0.000000000971945,0.00112849565594,0.000000230858966,0.000000230865871,0.268051222259942,0.000286010711616,0.268051222259942],[-0.000000000000004,-0.000000000000006,-0.000000000000002,-0.000000000000003,-0.000000000000006,0.000000000000004,0.000000000000006,0.000000000000002,0.000000000000003,0.000000000000003,0.000000000000006,1.57772181044202e-30,1.57772181044202e-30,-5.91645678915759e-31,3.94430452610506e-31,1.18329135783152e-30,0.0,0.000000000000027,0.000000000000027,0.000000000000014,0.000000000000014,0.000000000000028,0.000000000000028,0.000000000000027,0.000000000000014,0.000000000000028,0.00000000000649,0.00000000000329,0.000000000006712,-0.000000000000003,0.000000000006712],[0.000210011146878,0.000069024501835,0.00000000014231,-0.000000000159058,-0.000000000164872,-0.000210010765962,-0.000069024473103,-0.00000000014231,0.000000000159058,-0.000000000148497,0.000000000164872,0.000000000380917,0.000000000028732,3.09847810901587e-18,4.41301061007254e-18,-5.38061035318406e-18,4.44432769391319e-19,0.000884593017926,0.000884593017926,0.00000000087385,0.00000000087385,0.000000000873804,0.000000000873804,0.000884593017926,0.00000000087385,0.000000000873804,0.210117104491747,0.000000207565247,0.000000207554415,0.000000000148497,0.210117104491747],[-0.000000000000045,-0.00000000000008,-0.000000000000047,-0.000000000000078,-0.000000000000081,0.000000000000045,0.00000000000008,0.000000000000047,0.000000000000078,0.000000000000047,0.000000000000081,1.26217744835362e-29,1.26217744835362e-29,2.52435489670724e-29,0.0,3.15544362088405e-29,2.52435489670724e-29,0.000000000000368,0.000000000000368,0.000000000000372,0.000000000000372,0.000000000000369,0.000000000000369,0.000000000000368,0.000000000000372,0.000000000000369,0.000000000087496,0.000000000088307,0.000000000087714,-0.000000000000047,0.000000000088307],[0.000000000002249,0.000000000002139,0.000000000002258,0.000000000002016,0.000000000002105,-0.000000000002249,-0.000000000002139,-0.000000000002258,-0.000000000002016,-0.000000000002335,-0.000000000002105,2.82727748431211e-27,1.61558713389263e-27,2.01948391736579e-27,1.61558713389263e-27,2.42338070083895e-27,1.21169035041947e-27,0.000000000012419,0.000000000012419,0.000000000012395,0.000000000012395,0.00000000001238,0.00000000001238,0.000000000012419,0.000000000012395,0.00000000001238,0.000000002949904,0.000000002944243,0.000000002940548,0.000000000002335,0.000000002949904],[0.000000000462739,-0.000000000262153,0.000000000445654,-0.000000000267229,0.000000180426256,-0.000000000462739,0.000000000262153,-0.000000000445654,0.000000000267229,-0.000558058154655,-0.000000180276916,4.01692036947975e-19,2.74914171413713e-17,-2.40470193380161e-17,-1.32723655803917e-17,0.000000001979887,0.00000000014934,0.000000002127988,0.000000002127988,0.000000002127971,0.000000002127971,0.002197773966807,0.002197773966807,0.000000002127988,0.000000002127971,0.002197773966807,0.000000505460239,0.000000505456234,0.522036566958042,0.000558060134542,0.522036566958042],[0.000000004066094,-0.00000000246929,0.004544879827089,0.000001814820287,-0.000000002596668,-0.000000004066096,0.000000002469289,-0.004544725348103,-0.000001803168159,-0.00000000407688,0.000000002596671,-0.000000000000002,-0.000000000000001,0.000000154478987,0.000000011652128,1.06475771227248e-16,0.000000000000002,0.00000001903435,0.00000001903435,0.018623217929215,0.018623217929215,0.000000019034345,0.000000019034345,0.00000001903435,0.018623217929215,0.000000019034345,0.000004521223171,4.423567164006989,0.000004521222022,0.00000000407688,4.423567164006989],[0.016457418714358,0.005253132644741,0.026151717994601,0.000136428615387,0.000004409206624,-0.016455837292722,-0.005254123076486,-0.026147320445362,-0.000134506611241,-0.002534723542272,-0.000004317858097,0.000001581421637,-0.000000990431744,0.000004397549239,0.000001922004147,-0.000000155129931,0.000000091348527,0.069252256360258,0.069252256360258,0.107537621516396,0.107537621516396,0.009965527462626,0.009965527462626,0.069252256360258,0.107537621516396,0.009965527462626,16.449466919895663,25.543377800948552,2.367108639507813,0.002534568412341,25.543377800948552],[0.000131008874215,0.000043058293954,0.000000000059651,-0.000000000089696,-0.000000000092673,-0.000131007723215,-0.000043058207135,-0.000000000059651,0.000000000089696,-0.000000000062027,0.000000000092673,0.000000001151,0.000000000086818,9.01575198621319e-18,9.53435173387997e-18,-1.27934937795069e-17,3.02404704040516e-18,0.000551175293523,0.000551175293523,0.000000000439675,0.000000000439675,0.000000000439675,0.000000000439675,0.000551175293523,0.000000000439675,0.000000000439675,0.13092049608762,0.000000104435926,0.000000104435784,0.000000000062027,0.13092049608762],[0.000000002393075,-0.000000001473187,0.002850076613416,0.000001283262908,-0.000000001539241,-0.000000002393093,0.000000001473177,-0.002850028701206,-0.000001262921914,-0.000000002397066,0.000000001539262,-0.000000000000019,-0.00000000000001,0.00000004791221,0.000000020340994,2.93202166955944e-16,0.000000000000021,0.000000011231772,0.000000011231772,0.011633038865642,0.011633038865642,0.000000011231769,0.000000011231769,0.000000011231772,0.011633038865642,0.000000011231769,0.000002667879247,2.763192104568773,0.000002667878689,0.000000002397066,2.763192104568773],[0.000000002109536,-0.000000001127711,0.000000002041328,-0.000000001149304,0.000000951648944,-0.000000002109537,0.00000000112772,-0.000000002041336,0.000000001149299,-0.002835984927945,-0.000000897022878,-1.16610273941323e-16,0.000000000000009,-0.000000000000008,-0.000000000000005,0.000000724209266,0.000000054626066,0.000000009560704,0.000000009560704,0.000000009560704,0.000000009560704,0.011193766834017,0.011193766834017,0.000000009560704,0.000000009560704,0.011193766834017,0.000002270950985,0.000002270950999,2.658851955484538,0.00283670913721,2.658851955484538],[0.000000000214418,-0.000000000114642,0.000000000207488,-0.000000000116844,0.000000091260072,-0.000000000214418,0.000000000114642,-0.000000000207488,0.000000000116844,-0.00028600879116,-0.000000091242132,-2.36282849506065e-20,2.92494187205563e-18,-2.54148611738594e-18,-1.51191121104738e-18,0.000000000237839,0.00000000001794,0.000000000971806,0.000000000971806,0.000000000971834,0.000000000971834,0.001128495655933,0.001128495655933,0.000000000971806,0.000000000971834,0.001128495655933,0.000000230832751,0.00000023083944,0.268051222258385,0.000286009028999,0.268051222258385],[7.73342353640502e-17,1.37709595150487e-16,1.08316564210689e-16,-1.54159750533478e-16,2.1657314023178e-17,-7.73342353640502e-17,-1.37709595150487e-16,-1.08316564210689e-16,1.54159750533478e-16,1.94677405268138e-16,-2.1657314023178e-17,-3.69778549322349e-32,0.0,2.46519032881566e-32,2.46519032881566e-32,0.0,-3.08148791101958e-32,6.31983291717901e-16,6.31983291717901e-16,7.71381087345121e-16,7.71381087345121e-16,7.71381087345121e-16,7.71381087345121e-16,6.31983291717901e-16,7.71381087345121e-16,7.71381087345121e-16,0.00000000000015,0.000000000000183,0.000000000000183,-1.94677405268138e-16,0.000000000000183],[0.000210010770827,0.000069024473557,0.000000000147074,-0.000000000158731,-0.000000000164516,-0.000210010188519,-0.000069024429634,-0.000000000147074,0.000000000158731,-0.00000000015345,0.000000000164516,0.000000000582308,0.000000000043923,4.62305193012718e-18,6.91621000072222e-18,-8.34009717462568e-18,5.64646901964257e-19,0.000884593036988,0.000884593036988,0.000000000885993,0.000000000885993,0.000000000885949,0.000000000885949,0.000884593036988,0.000000000885993,0.000000000885949,0.210117109019653,0.000000210449723,0.0000002104393,0.00000000015345,0.210117109019653],[0.000000000002048,0.000000000001406,0.000000000002045,0.000000000001306,0.000000000001357,-0.000000000002048,-0.000000000001406,-0.000000000002045,-0.000000000001306,-0.000000000002114,-0.000000000001357,1.61558713389263e-27,8.07793566946316e-28,1.61558713389263e-27,1.21169035041947e-27,1.21169035041947e-27,1.0097419586829e-27,0.000000000009938,0.000000000009938,0.000000000009935,0.000000000009935,0.000000000009895,0.000000000009895,0.000000000009938,0.000000000009935,0.000000000009895,0.000000002360682,0.000000002359907,0.000000002350346,0.000000000002114,0.000000002360682],[0.000000000462643,-0.000000000261994,0.000000000445564,-0.00000000026707,0.000000180277081,-0.000000000462643,0.000000000261994,-0.000000000445564,0.00000000026707,-0.000558056577426,-0.00000018015812,1.82835039515046e-19,2.16663355290481e-17,-1.90396424156424e-17,-1.05963098435465e-17,0.000000001577136,0.000000000118961,0.000000002127341,0.000000002127341,0.000000002127321,0.000000002127321,0.002197773966439,0.002197773966439,0.000000002127341,0.000000002127321,0.002197773966439,0.000000505306539,0.000000505301795,0.52203656687063,0.000558058154562,0.52203656687063],[0.000000004069743,-0.000000002469072,0.004544725351667,0.000001803168284,-0.000000002596528,-0.000000004069744,0.000000002469071,-0.004544617154065,-0.000001795007095,-0.00000000408059,0.000000002596529,-0.000000000000001,-7.26033138890021e-16,0.000000108197602,0.00000000816119,7.4678252821814e-17,0.000000000000002,0.000000019046372,0.000000019046372,0.018623217943822,0.018623217943822,0.000000019046367,0.000000019046367,0.000000019046372,0.018623217943822,0.000000019046367,0.000004524078776,4.42356716747644,0.000004524077572,0.00000000408059,4.42356716747644],[0.016455858579687,0.005254129084809,0.026147341355036,0.000134511870027,0.00000432345449,-0.016452940323212,-0.005255956763326,-0.026139226400344,-0.000130965126961,-0.002535031659837,-0.000004154885166,0.000002918256476,-0.000001827678516,0.000008114954692,0.000003546743066,-0.000000286268903,0.000000168569323,0.069252344982449,0.069252344982449,0.107537707621824,0.107537707621823,0.00996561340015,0.00996561340015,0.069252344982449,0.107537707621824,0.00996561340015,16.449487970297167,25.543398253543987,2.367129052221243,0.002534745390933,25.543398253543987],[0.000131007748164,0.000043058209392,0.000000000084125,-0.000000000088023,-0.000000000090866,-0.000131003980786,-0.000043057925225,-0.000000000084125,0.000000000088023,-0.000000000087358,0.000000000090866,0.000000003767379,0.000000000284168,2.6578862907604e-17,4.05891840359294e-17,-4.84342628699627e-17,2.7183372418769e-18,0.000551175391074,0.000551175391074,0.000000000496974,0.000000000496974,0.000000000496973,0.000000000496973,0.000551175391074,0.000000000496974,0.000000000496973,0.130920519258838,0.000000118045962,0.000000118045876,0.000000000087358,0.130920519258838],[0.000000002405288,-0.000000001464119,0.002850028713339,0.000001262930518,-0.000000001530317,-0.000000002405322,0.0000000014641,-0.00284994224,-0.000001226218506,-0.0000000024096,0.000000001530356,-0.000000000000034,-0.000000000000019,0.00000008647334,0.000000036712013,3.36577588879446e-16,0.000000000000039,0.000000011254442,0.000000011254442,0.011633038915183,0.011633038915183,0.000000011254439,0.000000011254439,0.000000011254442,0.011633038915183,0.000000011254439,0.000002673264137,2.763192116336167,0.000002673263337,0.0000000024096,2.763192116336167],[0.000000000214458,-0.000000000114852,0.000000000207524,-0.000000000117048,0.000000091241919,-0.000000000214458,0.000000000114852,-0.000000000207524,0.000000000117048,-0.000286008599388,-0.000000091227451,-4.48227977439289e-20,2.3615728348908e-18,-2.01652731536258e-18,-1.22939043871507e-18,0.000000000191811,0.000000000014468,0.000000000972345,0.000000000972345,0.000000000972373,0.000000000972373,0.001128495656085,0.001128495656085,0.000000000972345,0.000000000972373,0.001128495656085,0.000000230960777,0.000000230967509,0.268051222294396,0.000286008791198,0.268051222294396],[-0.000000000000005,0.000000000000008,-0.000000000000005,0.000000000000008,0.000000000000008,0.000000000000005,-0.000000000000008,0.000000000000005,-0.000000000000008,0.000000000000005,-0.000000000000008,2.36658271566304e-30,3.15544362088405e-30,3.15544362088405e-30,0.0,3.94430452610506e-30,1.57772181044202e-30,0.000000000000039,0.000000000000039,0.000000000000039,0.000000000000039,0.000000000000039,0.000000000000039,0.000000000000039,0.000000000000039,0.000000000000039,0.000000000009207,0.000000000009206,0.000000000009207,-0.000000000000005,0.000000000009207],[0.000210010199401,0.000069024430645,0.00000000015773,-0.000000000158005,-0.000000000163724,-0.000210008609181,-0.000069024310697,-0.00000000015773,0.000000000158005,-0.000000000164527,0.000000000163724,0.00000000159022,0.000000000119948,1.23744693231209e-17,1.99564265408697e-17,-2.34559886832339e-17,7.44029703192812e-19,0.000884593079616,0.000884593079616,0.000000000914098,0.000000000914098,0.000000000914054,0.000000000914054,0.000884593079616,0.000000000914098,0.000000000914054,0.210117119145065,0.000000217125522,0.000000217114906,0.000000000164527,0.210117119145065],[0.000000000003337,0.00000000000068,0.000000000003286,0.000000000000574,0.000000000000588,-0.000000000003337,-0.00000000000068,-0.000000000003286,-0.000000000000574,-0.00000000000341,-0.000000000000588,2.82727748431211e-27,2.32240650497066e-27,3.23117426778526e-27,2.22143230910237e-27,2.42338070083895e-27,2.42338070083895e-27,0.000000000013625,0.000000000013625,0.000000000013662,0.000000000013662,0.000000000013626,0.000000000013626,0.000000000013625,0.000000000013662,0.000000000013626,0.000000003236378,0.0000000032452,0.00000000323647,0.00000000000341,0.0000000032452],[0.000000000462735,-0.000000000262065,0.000000000445653,-0.000000000267143,0.000000180158045,-0.000000000462735,0.000000000262065,-0.000000000445653,0.000000000267143,-0.000558053243199,-0.000000179906542,8.28452195949675e-19,4.61512567353267e-17,-4.02003157670932e-17,-2.24994996559596e-17,0.000000003334318,0.000000000251503,0.000000002127802,0.000000002127802,0.000000002127785,0.000000002127785,0.002197773966801,0.002197773966801,0.000000002127802,0.000000002127785,0.002197773966801,0.000000505416052,0.00000050541201,0.522036566956525,0.000558056577518,0.522036566956525],[0.000000004074007,-0.000000002468841,0.004544617158231,0.000001795007216,-0.000000002596388,-0.00000000407401,0.00000000246884,-0.004544409029588,-0.000001779308371,-0.000000004084926,0.000000002596391,-0.000000000000003,-0.000000000000001,0.000000208128643,0.000000015698845,1.41152374472733e-16,0.000000000000003,0.00000001906048,0.00000001906048,0.018623217960894,0.018623217960894,0.000000019060476,0.000000019060476,0.00000001906048,0.018623217960894,0.000000019060476,0.000004527429977,4.423567171531675,0.000004527428875,0.000000004084926,4.423567171531675],[0.016452966151093,0.005255964057707,0.026139251767773,0.000130971503377,0.000004161675666,-0.016450421887713,-0.005257557505275,-0.026132176803818,-0.00012787930118,-0.002535307760907,-0.000004014709074,0.00000254426338,-0.000001593447568,0.000007074963955,0.000003092202197,-0.000000249583673,0.000000146966592,0.069252452528059,0.069252452528059,0.107537812113146,0.107537812113146,0.00996571768777,0.00996571768777,0.069252452528059,0.107537812113146,0.00996571768777,16.449513515572328,25.543423073335358,2.367153823627099,0.002535058177233,25.543423073335358],[0.000131004008139,0.000043057927703,0.000000000110958,-0.000000000086185,-0.000000000088881,-0.000131002384085,-0.000043057805203,-0.000000000110957,0.000000000086185,-0.00000000011513,0.000000000088881,0.000000001624055,0.0000000001225,1.01181989195783e-17,2.19213503617392e-17,-2.40460308054854e-17,-2.1885734639975e-18,0.000551175498032,0.000551175498032,0.00000000057346,0.00000000057346,0.00000000057346,0.00000000057346,0.000551175498032,0.00000000057346,0.00000000057346,0.130920544664571,0.000000136213883,0.000000136213851,0.00000000011513,0.130920544664571],[0.000000002415911,-0.000000001455889,0.002849942250543,0.000001226226315,-0.000000001522239,-0.000000002415923,0.000000001455882,-0.002849911374733,-0.000001213118076,-0.00000000242049,0.000000001522253,-0.000000000000012,-0.000000000000007,0.00000003087581,0.000000013108238,5.94294569892654e-17,0.000000000000014,0.000000011273642,0.000000011273642,0.011633038958232,0.011633038958232,0.000000011273637,0.000000011273637,0.000000011273642,0.011633038958232,0.000000011273637,0.000002677824616,2.763192126561618,0.000002677823406,0.00000000242049,2.763192126561618],[0.000000000214331,-0.000000000114513,0.000000000207406,-0.000000000116717,0.000000091227797,-0.000000000214331,0.000000000114513,-0.000000000207406,0.000000000116717,-0.000286008445978,-0.000000091216234,-5.73353779242596e-20,1.8557286129352e-18,-1.62151341769248e-18,-9.65777877812373e-19,0.000000000153285,0.000000000011562,0.000000000971259,0.000000000971259,0.000000000971289,0.000000000971289,0.001128495655592,0.001128495655592,0.000000000971259,0.000000000971289,0.001128495655592,0.000000230702833,0.000000230710066,0.268051222177414,0.000286008599263,0.268051222177414],[0.000210008617881,0.00006902431148,0.000000000166249,-0.000000000157447,-0.000000000163115,-0.000210008482294,-0.000069024301253,-0.000000000166249,0.000000000157447,-0.000000000173384,0.000000000163115,0.000000000135587,0.000000000010227,1.03817908397397e-18,1.77905123197352e-18,-2.04837643143347e-18,-1.23944742984946e-20,0.000884593113666,0.000884593113666,0.000000000937493,0.000000000937493,0.000000000937456,0.000000000937456,0.000884593113666,0.000000000937493,0.000000000937456,0.210117127233019,0.00000022268241,0.00000022267371,0.000000000173384,0.210117127233019],[0.000000000002333,0.000000000000406,0.000000000002296,0.000000000000316,0.000000000000321,-0.000000000002333,-0.000000000000406,-0.000000000002296,-0.000000000000316,-0.000000000002378,-0.000000000000321,2.01948391736579e-27,1.66607423182678e-27,1.21169035041947e-27,1.71656132976092e-27,1.21169035041947e-27,1.4641258400902e-27,0.000000000009475,0.000000000009475,0.000000000009492,0.000000000009492,0.000000000009449,0.000000000009449,0.000000000009475,0.000000000009492,0.000000000009449,0.000000002250503,0.000000002254645,0.00000000224431,0.000000000002378,0.000000002254645],[0.000000000462752,-0.000000000262081,0.00000000044567,-0.000000000267159,0.000000179906525,-0.000000000462752,0.000000000262081,-0.00000000044567,0.000000000267159,-0.000558050617361,-0.00000017970846,5.05922274201214e-19,3.62913357467091e-17,-3.18016874991184e-17,-1.75557924796953e-17,0.000000002625855,0.000000000198064,0.000000002127893,0.000000002127893,0.000000002127879,0.000000002127879,0.002197773966867,0.002197773966867,0.000000002127893,0.000000002127879,0.002197773966867,0.000000505437709,0.00000050543441,0.5220365669723,0.000558053243216,0.5220365669723],[0.000000004078219,-0.00000000246866,0.0045444090337,0.000001779308446,-0.000000002596299,-0.00000000407822,0.000000002468659,-0.00454430544077,-0.00000177149458,-0.000000004089205,0.0000000025963,-0.000000000000001,-6.96924146899745e-16,0.000000103592931,0.000000007813866,6.99044760471235e-17,0.000000000000002,0.000000019074511,0.000000019074511,0.018623217977745,0.018623217977745,0.000000019074506,0.000000019074506,0.000000019074511,0.018623217977745,0.000000019074506,0.000004530762561,4.423567175534351,0.000004530761531,0.000000004089205,4.423567175534351],[0.016450442088499,0.005257563213546,0.026132196642649,0.000127884285655,0.000004020020466,-0.016448711358201,-0.005258647151961,-0.026127383916085,-0.000125780822741,-0.002535498286297,-0.000003920046458,0.000001730730298,-0.000001083938414,0.000004812726564,0.000002103462913,-0.000000169779853,0.000000099974008,0.069252536655671,0.069252536655671,0.107537893851319,0.107537893851319,0.009965799266635,0.009965799266635,0.069252536655671,0.107537893851319,0.009965799266635,16.44953349837791,25.543442488578215,2.36717320102966,0.002535328506445,25.543442488578215],[0.000000002296445,-0.000000001324392,0.00284991126061,0.000001213249367,-0.000000001386678,-0.000000002296467,0.000000001324381,-0.002848033267809,-0.000001071595065,-0.000000002301935,0.000000001386702,-0.000000000000021,-0.000000000000012,0.000001877992801,0.000000141654302,5.38263668408895e-16,0.000000000000024,0.000000010595345,0.000000010595345,0.011633038492625,0.011633038492625,0.000000010595345,0.000000010595345,0.000000010595345,0.011633038492625,0.000000010595345,0.000002516709083,2.763192015966088,0.000002516709037,0.000000002301935,2.763192015966088],[6.86948634545915e-17,-2.46160628208565e-16,-6.6087242424818e-16,-3.96985396051849e-17,2.9394394108318e-16,-6.86948634545917e-17,2.46160628208565e-16,6.6087242424818e-16,3.9698539605185e-17,-6.19211775286967e-16,-2.9394394108318e-16,-1.60237371373018e-31,4.93038065763132e-32,9.86076131526265e-32,1.10933564796705e-31,0.0,-1.4791141972894e-31,0.000000000000001,0.000000000000001,0.000000000000003,0.000000000000003,0.000000000000003,0.000000000000003,0.000000000000001,0.000000000000003,0.000000000000003,0.000000000000243,0.000000000000642,0.000000000000642,6.19211775286967e-16,0.000000000000642],[0.000000000214447,-0.000000000114686,0.000000000207513,-0.000000000116885,0.000000091216058,-0.000000000214447,0.000000000114686,-0.000000000207513,0.000000000116885,-0.000286008212103,-0.000000091198409,2.78789076245751e-20,2.85742868292876e-18,-2.43154833390609e-18,-1.41798102678165e-18,0.000000000233991,0.00000000001765,0.000000000971993,0.000000000971993,0.000000000972008,0.000000000972008,0.001128495656052,0.001128495656052,0.000000000971993,0.000000000972008,0.001128495656052,0.00000023087718,0.000000230880701,0.268051222286705,0.000286008446094,0.268051222286705],[0.000210008483248,0.000069024301534,0.000000000167187,-0.000000000157189,-0.000000000162844,-0.000210008420622,-0.00006902429681,-0.000000000167187,0.000000000157189,-0.000000000174364,0.000000000162844,0.000000000062626,0.000000000004724,4.51864340960255e-19,8.03997454169551e-19,-9.44842169153203e-19,3.13062787939003e-20,0.000884593117647,0.000884593117647,0.000000000939562,0.000000000939562,0.00000000093954,0.00000000093954,0.000884593117647,0.000000000939562,0.00000000093954,0.210117128178608,0.000000223173904,0.000000223168679,0.000000000174364,0.210117128178608],[0.000000000001966,-0.000000000000241,0.000000000001933,-0.000000000000306,-0.000000000000323,-0.000000000001966,0.000000000000241,-0.000000000001933,0.000000000000306,-0.000000000001995,0.000000000000323,8.07793566946316e-28,8.07793566946316e-28,1.21169035041947e-27,7.06819371078027e-28,1.61558713389263e-27,1.06022905661704e-27,0.000000000007926,0.000000000007926,0.000000000008013,0.000000000008013,0.000000000007959,0.000000000007959,0.000000000007926,0.000000000008013,0.000000000007959,0.000000001882749,0.000000001903218,0.000000001890475,0.000000000001995,0.000000001903218],[0.000000000462795,-0.000000000262051,0.000000000445713,-0.000000000267132,0.000000179708488,-0.000000000462795,0.000000000262051,-0.000000000445713,0.000000000267132,-0.00055804879598,-0.000000179571101,2.12179633636883e-19,2.5246491558704e-17,-2.19838922341587e-17,-1.22455829773072e-17,0.000000001821424,0.000000000137387,0.000000002127983,0.000000002127983,0.000000002127973,0.000000002127973,0.00219777396704,0.00219777396704,0.000000002127983,0.000000002127973,0.00219777396704,0.000000505459153,0.000000505456683,0.522036567013201,0.000558050617404,0.522036567013201],[0.000000004080694,-0.000000002468406,0.00454430544319,0.000001771494768,-0.000000002596096,-0.000000004080695,0.000000002468405,-0.004544231885812,-0.000001765946441,-0.000000004091725,0.000000002596097,-9.55916913387111e-16,-4.95323425792067e-16,0.000000073557378,0.000000005548327,4.89436514962196e-17,0.000000000000001,0.000000019082456,0.000000019082456,0.018623217987666,0.018623217987666,0.000000019082451,0.000000019082451,0.000000019082456,0.018623217987666,0.000000019082451,0.000004532649951,4.423567177890784,0.000004532648745,0.000000004091725,4.423567177890784],[0.016448724902632,0.005258650980657,0.026127397216995,0.000125784163482,0.000003923607781,-0.016447587959488,-0.005259363035794,-0.026124235665293,-0.000124402367351,-0.0025356237299,-0.000003857933213,0.000001136943144,-0.000000712055137,0.000003161551703,0.000001381796131,-0.000000111531433,0.000000065674568,0.069252593068208,0.069252593068208,0.107537948661563,0.107537948661563,0.009965853970069,0.009965853970069,0.069252593068208,0.107537948661563,0.009965853970069,16.449546898030214,25.543455507638313,2.367186194719263,0.002535512198468,25.543455507638313],[0.000000002322423,-0.000000001322845,0.002848033293234,0.000001071596006,-0.000000001385648,-0.000000002322426,0.000000001322843,-0.002847760567552,-0.000001051024699,-0.000000002328273,0.000000001385651,-0.000000000000003,-0.000000000000002,0.000000272725683,0.000000020571307,5.92345480079392e-17,0.000000000000004,0.000000010682301,0.000000010682301,0.011633038596479,0.011633038596479,0.000000010682301,0.000000010682301,0.000000010682301,0.011633038596479,0.000000010682301,0.000002537363673,2.763192040634528,0.000002537363651,0.000000002328273,2.763192040634528],[0.000000000214418,-0.000000000114641,0.000000000207488,-0.000000000116844,0.000000091198453,-0.000000000214418,0.000000000114642,-0.000000000207488,0.000000000116844,-0.000286007937787,-0.000000091177764,-6.65285857039915e-20,3.36295962315205e-18,-2.95930204997229e-18,-1.69857682058158e-18,0.000000000274285,0.000000000020689,0.000000000971807,0.000000000971807,0.000000000971836,0.000000000971836,0.00112849565593,0.00112849565593,0.000000000971807,0.000000000971836,0.00112849565593,0.000000230833105,0.000000230839999,0.268051222257618,0.000286008212072,0.268051222257618],[0.000210008421162,0.000069024296826,0.000000000167714,-0.000000000157189,-0.000000000162838,-0.000210008354176,-0.000069024291773,-0.000000000167714,0.000000000157189,-0.00000000017491,0.000000000162838,0.000000000066987,0.000000000005053,5.04739095732534e-19,8.72900074080964e-19,-1.05235990650406e-18,5.0821976835258e-21,0.000884593119721,0.000884593119721,0.000000000941133,0.000000000941133,0.000000000941097,0.000000000941097,0.000884593119721,0.000000000941133,0.000000000941097,0.210117128671237,0.00000022354705,0.000000223538376,0.00000000017491,0.210117128671237],[0.000000000003018,0.000000000000856,0.000000000002967,0.000000000000754,0.000000000000789,-0.000000000003018,-0.000000000000856,-0.000000000002967,-0.000000000000754,-0.000000000003092,-0.000000000000789,2.42338070083895e-27,1.9185097214975e-27,2.42338070083895e-27,2.12045811323408e-27,2.01948391736579e-27,1.51461293802434e-27,0.000000000012551,0.000000000012551,0.000000000012537,0.000000000012537,0.000000000012566,0.000000000012566,0.000000000012551,0.000000000012537,0.000000000012566,0.000000002981351,0.000000002977979,0.000000002984712,0.000000000003092,0.000000002984712],[0.000000000462904,-0.000000000262047,0.000000000445818,-0.000000000267129,0.000000179571104,-0.000000000462904,0.000000000262047,-0.000000000445818,0.000000000267129,-0.000558046979007,-0.000000179434044,4.77353110204858e-19,2.52265228500303e-17,-2.18646544073531e-17,-1.24247466273722e-17,0.000000001817085,0.00000000013706,0.000000002128354,0.000000002128354,0.000000002128337,0.000000002128337,0.00219777396748,0.00219777396748,0.000000002128354,0.000000002128337,0.00219777396748,0.000000505547153,0.000000505543183,0.522036567117817,0.000558048796092,0.522036567117817],[0.000000004093087,-0.00000000246779,0.004544231897922,0.00000176594674,-0.000000002595742,-0.000000004093098,0.000000002467784,-0.004543390432936,-0.000001702476244,-0.000000004104325,0.000000002595755,-0.000000000000011,-0.000000000000006,0.000000841464986,0.000000063470496,5.45222526730476e-16,0.000000000000012,0.000000019123627,0.000000019123627,0.018623218037296,0.018623218037296,0.000000019123623,0.000000019123623,0.000000019123627,0.018623218037296,0.000000019123623,0.000004542429142,4.423567189679384,0.00000454242813,0.000000004104325,4.423567189679384],[0.016447604877428,0.005259367819871,0.026124252278393,0.000124406539741,0.000003862382294,-0.016445157978008,-0.005260900284912,-0.026117448074069,-0.000121432676134,-0.002535881145505,-0.000003721038886,0.00000244689942,-0.000001532465041,0.000006804204324,0.000002973863606,-0.000000240036271,0.000000141343408,0.069252663536956,0.069252663536956,0.107538017128058,0.107538017128058,0.009965922303158,0.009965922303158,0.069252663536956,0.107538017128058,0.009965922303158,16.449563636450044,25.54347177046369,2.367202425856596,0.002535641109234,25.54347177046369],[0.000000002295486,-0.00000000129982,0.002798761158581,0.00000103397238,-0.000000001361796,-0.000000002295495,0.000000001299815,-0.002797952595388,-0.000000972983618,-0.000000002301412,0.000000001361806,-0.000000000000009,-0.000000000000005,0.000000808563193,0.000000060988761,1.50861143455549e-16,0.000000000000011,0.000000010543229,0.000000010543229,0.011432877101926,0.011432877101926,0.000000010543229,0.000000010543229,0.000000010543229,0.011432877101926,0.000000010543229,0.000002504329948,2.715647743071835,0.000002504329916,0.000000002301412,2.715647743071835],[0.000000000039951,-0.000000000022255,0.000048999421714,0.00000001705279,-0.000000000023329,-0.000000000039951,0.000000000022255,-0.000048999173878,-0.000000017034097,-0.000000000040062,0.000000000023329,-2.80693160712848e-18,-1.61065813587466e-18,0.000000000247836,0.000000000018694,2.4846515197744e-20,3.23982916839433e-18,0.000000000182778,0.000000000182778,0.000200161546655,0.000200161546655,0.000000000182778,0.000000000182778,0.000000000182778,0.000200161546655,0.000000000182778,0.0000000434153,0.047544309938524,0.00000004341527,0.000000000040062,0.047544309938524],[0.000000000214271,-0.000000000114666,0.000000000207344,-0.000000000116864,0.000000091177742,-0.000000000214271,0.000000000114666,-0.000000000207344,0.000000000116864,-0.000286007516355,-0.000000091145966,-3.30957548021881e-20,5.18421478612546e-18,-4.41598005922463e-18,-2.62758540864202e-18,0.000000000421285,0.000000000031777,0.000000000971337,0.000000000971337,0.000000000971363,0.000000000971363,0.001128495655348,0.001128495655348,0.000000000971337,0.000000000971363,0.001128495655348,0.000000230721364,0.000000230727479,0.268051222119412,0.00028600793764,0.268051222119412],[0.000210008354585,0.00006902429175,0.000000000168116,-0.000000000157214,-0.000000000162868,-0.000210008290576,-0.000069024286922,-0.000000000168116,0.000000000157214,-0.000000000175333,0.000000000162868,0.000000000064009,0.000000000004828,4.67447286327411e-19,8.91782746309171e-19,-9.50183015874516e-19,-2.21784958307425e-20,0.000884593121248,0.000884593121248,0.000000000942405,0.000000000942405,0.000000000942398,0.000000000942398,0.000884593121248,0.000000000942405,0.000000000942398,0.210117129033889,0.000000223849284,0.000000223847493,0.000000000175333,0.210117129033889],[0.000000000001204,0.00000000000103,0.000000000001209,0.00000000000096,0.000000000001001,-0.000000000001204,-0.00000000000103,-0.000000000001209,-0.00000000000096,-0.000000000001247,-0.000000000001001,6.05845175209737e-28,2.01948391736579e-28,4.03896783473158e-28,0.0,6.05845175209737e-28,2.01948391736579e-28,0.00000000000634,0.00000000000634,0.000000000006322,0.000000000006322,0.000000000006296,0.000000000006296,0.00000000000634,0.000000000006322,0.000000000006296,0.000000001505843,0.000000001501653,0.000000001495522,0.000000000001247,0.000000001505843],[0.000000000463007,-0.000000000262052,0.000000000445919,-0.000000000267137,0.000000179434037,-0.000000000463007,0.000000000262052,-0.000000000445919,0.000000000267137,-0.000558044320797,-0.000000179233524,4.92198520658347e-19,3.66823966516294e-17,-3.20572944768058e-17,-1.80142020164994e-17,0.000000002658314,0.000000000200513,0.000000002128723,0.000000002128723,0.000000002128707,0.000000002128707,0.002197773967891,0.002197773967891,0.000000002128723,0.000000002128707,0.002197773967891,0.000000505634837,0.000000505631093,0.522036567215484,0.000558046979112,0.522036567215484],[0.000000004107842,-0.000000002466933,0.004543390447345,0.000001702476717,-0.000000002595211,-0.000000004107845,0.000000002466931,-0.004543142313092,-0.000001683760307,-0.00000000411932,0.000000002595215,-0.000000000000003,-0.000000000000002,0.000000248134253,0.00000001871641,1.55637390605139e-16,0.000000000000004,0.000000019172418,0.000000019172418,0.018623218096356,0.018623218096356,0.000000019172414,0.000000019172414,0.000000019172418,0.018623218096356,0.000000019172414,0.000004554018496,4.423567203707999,0.000004554017649,0.00000000411932,4.423567203707999],[0.00004500171124,0.000014790914893,0.000000000046435,-0.000000000039437,-0.000000000041094,-0.00004500151912,-0.000014790900401,-0.000000000046435,0.000000000039437,-0.000000000048855,0.000000000041094,0.00000000019212,0.000000000014491,1.64001833979939e-18,3.23342213756223e-18,-3.62298015224473e-18,-1.98754459983404e-19,0.000189996192491,0.000189996192491,0.000000000250841,0.000000000250841,0.000000000250889,0.000000000250889,0.000189996192491,0.000000000250841,0.000000000250889,0.045129736524822,0.000000059582271,0.000000059593593,0.000000000048855,0.045129736524822],[0.016400175417602,0.005246114788413,0.026117466831736,0.000121437436227,0.00000372611663,-0.016398565525254,-0.005247127432737,-0.02611296100642,-0.000119472412837,-0.002536059428683,-0.00000363228096,0.000001609892348,-0.000001012644325,0.000004505825316,0.00000196502339,-0.000000158653928,0.000000093835671,0.069062753122701,0.069062753122701,0.107538094451794,0.107538094451794,0.009965999474545,0.009965999474545,0.069062753122701,0.107538094451794,0.009965999474545,16.404454274803008,25.543490137146581,2.367220756352237,0.002535900774756,25.543490137146581],[0.000000000214336,-0.000000000114614,0.000000000207405,-0.000000000116808,0.000000091146023,-0.000000000214336,0.000000000114614,-0.000000000207405,0.000000000116808,-0.000286005974808,-0.000000091029741,-2.53155214351827e-19,1.88964818922117e-17,-1.63166632558877e-17,-9.68028892168132e-18,0.000000001541617,0.000000000116282,0.000000000971468,0.000000000971468,0.000000000971467,0.000000000971467,0.001128495655628,0.001128495655628,0.000000000971468,0.000000000971467,0.001128495655628,0.000000230752404,0.000000230752274,0.268051222185887,0.000286007516426,0.268051222185887],[0.000210008291353,0.000069024287176,0.000000000168882,-0.000000000156985,-0.000000000162631,-0.000210008220045,-0.000069024281797,-0.000000000168882,0.000000000156985,-0.000000000176129,0.000000000162631,0.000000000071308,0.000000000005379,5.54492613710315e-19,9.40904272449568e-19,-1.11006844628216e-18,1.39610251316993e-20,0.000884593124518,0.000884593124518,0.000000000944061,0.000000000944061,0.000000000944063,0.000000000944063,0.000884593124518,0.000000000944061,0.000000000944063,0.210117129810727,0.000000224242602,0.000000224243023,0.000000000176129,0.210117129810727],[0.000000000001668,0.000000000000342,0.000000000001648,0.000000000000282,0.000000000000298,-0.000000000001668,-0.000000000000342,-0.000000000001648,-0.000000000000282,-0.0000000000017,-0.000000000000298,8.07793566946316e-28,7.06819371078027e-28,1.0097419586829e-27,5.55358077275592e-28,1.21169035041947e-27,6.56332273143882e-28,0.000000000006812,0.000000000006812,0.000000000006847,0.000000000006847,0.000000000006797,0.000000000006797,0.000000000006812,0.000000000006847,0.000000000006797,0.000000001618049,0.00000000162642,0.000000001614557,0.0000000000017,0.00000000162642],[0.000000000463055,-0.000000000262025,0.000000000445967,-0.000000000267113,0.000000179233549,-0.000000000463055,0.000000000262026,-0.000000000445967,0.000000000267112,-0.000558034322794,-0.00000017847941,1.95949636575314e-18,1.38270539102048e-16,-1.20759031959494e-16,-6.74621362632473e-17,0.000000009998052,0.000000000754139,0.000000002128837,0.000000002128837,0.000000002128824,0.000000002128824,0.002197773968083,0.002197773968083,0.000000002128837,0.000000002128824,0.002197773968083,0.000000505662108,0.000000505658837,0.522036567260977,0.000558044320846,0.522036567260977],[0.000000004112012,-0.000000002466733,0.004543142317161,0.000001683760399,-0.000000002595103,-0.000000004112012,0.000000002466733,-0.004543086802161,-0.000001679572983,-0.000000004123556,0.000000002595104,-7.2359622468718e-16,-3.79492149606206e-16,0.000000055515,0.000000004187417,3.38674816400658e-17,8.16781681290225e-16,0.000000019186304,0.000000019186304,0.018623218113035,0.018623218113035,0.000000019186296,0.000000019186296,0.000000019186304,0.018623218113035,0.000000019186296,0.00000455731683,4.423567207669565,0.000004557314868,0.000000004123556,4.423567207669565],[0.000045001520211,0.000014790900491,0.0000000000475,-0.000000000039382,-0.000000000041031,-0.000045001493653,-0.000014790898488,-0.0000000000475,0.000000000039382,-0.00000000004997,0.000000000041031,0.000000000026558,0.000000000002003,2.13949050515316e-19,4.53061323005407e-19,-5.0052675601129e-19,-4.59660970597964e-20,0.000189996196759,0.000189996196759,0.000000000254054,0.000000000254054,0.0000000002541,0.0000000002541,0.000189996196759,0.000000000254054,0.0000000002541,0.045129737538699,0.000000060345467,0.000000060356375,0.00000000004997,0.045129737538699],[0.016398601626124,0.005247137650822,0.026112996451592,0.000119481308984,0.000003641776265,-0.016392564742604,-0.00525093492537,-0.026096100228344,-0.000112112741816,-0.002536691467469,-0.000003289903231,0.00000603688352,-0.000003797274549,0.000016896223249,0.000007368567167,-0.000000594937749,0.000000351873034,0.069062903532108,0.069062903532108,0.107538240586259,0.107538240586259,0.009966145324386,0.009966145324386,0.069062903532108,0.107538240586259,0.009966145324386,16.404490001502705,25.543524848420652,2.367255400019504,0.00253609652972,25.543524848420652],[0.000000000214397,-0.000000000114624,0.000000000207464,-0.000000000116819,0.00000009102973,-0.000000000214397,0.000000000114624,-0.000000000207465,0.000000000116819,-0.000285998471818,-0.000000090463785,-1.26405005601347e-18,9.23001527359593e-17,-7.93109971632206e-17,-4.72444524031728e-17,0.000000007503052,0.000000000565944,0.000000000971701,0.000000000971701,0.000000000971701,0.000000000971701,0.001128495655869,0.001128495655869,0.000000000971701,0.000000000971701,0.001128495655869,0.000000230807777,0.000000230807758,0.268051222243092,0.000286005974869,0.268051222243092],[0.000210008221,0.000069024281894,0.000000000169817,-0.000000000156909,-0.000000000162551,-0.000210008073809,-0.000069024270791,-0.000000000169817,0.000000000156909,-0.000000000177105,0.000000000162551,0.00000000014719,0.000000000011102,1.10368912600058e-18,1.96446169832575e-18,-2.27952672863622e-18,-5.43560284542084e-20,0.00088459312827,0.00088459312827,0.000000000946658,0.000000000946658,0.000000000946681,0.000000000946681,0.00088459312827,0.000000000946658,0.000000000946681,0.210117130701748,0.000000224859483,0.000000224864789,0.000000000177105,0.210117130701748],[0.000000000001287,-0.000000000000729,0.000000000001239,-0.000000000000733,-0.000000000000763,-0.000000000001287,0.000000000000729,-0.000000000001239,0.000000000000733,-0.0000000000013,0.000000000000763,2.01948391736579e-28,4.03896783473158e-28,4.03896783473158e-28,6.05845175209737e-28,0.0,5.04870979341448e-28,0.000000000005917,0.000000000005917,0.000000000005897,0.000000000005897,0.000000000005937,0.000000000005937,0.000000000005917,0.000000000005897,0.000000000005937,0.000000001405428,0.000000001400666,0.000000001410175,0.0000000000013,0.000000001410175],[0.000000000463196,-0.000000000261999,0.000000000446105,-0.000000000267089,0.000000178479435,-0.000000000463196,0.000000000261999,-0.000000000446105,0.000000000267089,-0.000558031989383,-0.000000178303418,3.76570561744739e-19,3.23333633696072e-17,-2.82063915310122e-17,-1.58065313044529e-17,0.000000002333555,0.000000000176017,0.000000002129276,0.000000002129276,0.00000000212926,0.00000000212926,0.002197773968651,0.002197773968651,0.000000002129276,0.00000000212926,0.002197773968651,0.000000505766178,0.000000505762411,0.522036567395914,0.000558034322938,0.522036567395914],[0.000000002007242,-0.00000000120423,0.002211618724132,0.000000824402664,-0.000000001266901,-0.000000002007246,0.000000001204228,-0.00221128715464,-0.000000799392853,-0.000000002012872,0.000000001266906,-0.000000000000004,-0.000000000000002,0.000000331569492,0.000000025009811,2.0568503498359e-16,0.000000000000005,0.000000009365863,0.000000009365863,0.009065963236628,0.009065963236628,0.000000009365863,0.000000009365863,0.000000009365863,0.009065963236628,0.000000009365863,0.000002224670597,2.153435428617732,0.00000222467043,0.000000002012872,2.153435428617732],[0.000000002110356,-0.000000001262029,0.002331468083494,0.000000855170644,-0.000000001327847,-0.000000002110357,0.000000001262029,-0.002331455433205,-0.000000854216451,-0.00000000211637,0.000000001327847,-1.64646136487886e-16,-8.5841751881088e-17,0.000000012650288,0.000000000954193,7.99095431933076e-18,1.85442819660733e-16,0.000000009838643,0.000000009838643,0.009557254898895,0.009557254898895,0.000000009838646,0.000000009838646,0.000000009838643,0.009557254898895,0.000000009838646,0.000002336969859,2.270131784393457,0.000002336970583,0.00000000211637,2.270131784393457],[0.000045001493871,0.000014790898523,0.000000000047712,-0.000000000039352,-0.000000000040999,-0.000045001481662,-0.000014790897602,-0.000000000047712,0.000000000039352,-0.000000000050195,0.000000000040999,0.00000000001221,0.000000000000921,9.75353604926622e-20,2.10598090155075e-19,-2.39623224539405e-19,-1.19533608498051e-20,0.000189996197635,0.000189996197635,0.00000000025465,0.00000000025465,0.000000000254704,0.000000000254704,0.000189996197635,0.00000000025465,0.000000000254704,0.045129737746696,0.000000060486928,0.000000060499857,0.000000000050195,0.045129737746696],[0.000000000445028,-0.000000000261313,0.000000000425334,-0.000000000267529,0.000000146606416,-0.000000000445028,0.000000000261314,-0.000000000425335,0.000000000267528,-0.000457036819662,-0.00000014539915,8.85480286616129e-18,2.63513408572124e-16,-2.32556444997279e-16,-1.24143468319124e-16,0.000000016005417,0.000000001207266,0.000000002070623,0.000000002070623,0.000000002070606,0.000000002070606,0.001795666259601,0.001795666259601,0.000000002070623,0.000000002070606,0.001795666259601,0.000000491834413,0.000000491830416,0.426524048296931,0.000457052825079,0.426524048296931],[0.016392602308849,0.005250945968689,0.026096137115907,0.00011212237301,0.000003153305465,-0.016390552206708,-0.005252242430859,-0.026090438487695,-0.000109605597815,-0.00207984954411,-0.000003057636432,0.000002050102141,-0.00000129646217,0.000005698628212,0.000002516775195,-0.000000171812608,0.000000095669033,0.069063060589262,0.069063060589262,0.107538392762258,0.107538392762258,0.00817063374075,0.00817063374075,0.069063060589262,0.107538392762258,0.00817063374075,16.404527307239736,25.543560994738439,1.940768091856384,0.002079677731503,25.543560994738439],[0.00021000807535,0.000069024270985,0.000000000171326,-0.000000000156756,-0.000000000162384,-0.000210007922052,-0.000069024259421,-0.000000000171326,0.000000000156756,-0.000000000178675,0.000000000162384,0.000000000153298,0.000000000011563,1.12329224669292e-18,2.05962538983055e-18,-2.34478406698569e-18,-3.17722399727091e-20,0.000884593134369,0.000884593134369,0.00000000095078,0.00000000095078,0.000000000950801,0.000000000950801,0.000884593134369,0.00000000095078,0.000000000950801,0.210117132150511,0.000000225838513,0.000000225843582,0.000000000178675,0.210117132150511],[-0.000000000000201,-0.000000000000738,-0.000000000000211,-0.000000000000712,-0.000000000000741,0.000000000000201,0.000000000000738,0.000000000000211,0.000000000000712,0.000000000000223,0.000000000000741,7.57306469012171e-29,-1.0097419586829e-28,1.26217744835362e-28,0.0,7.57306469012171e-29,-2.01948391736579e-28,0.000000000003062,0.000000000003062,0.000000000003041,0.000000000003041,0.000000000003046,0.000000000003046,0.000000000003062,0.000000000003041,0.000000000003046,0.000000000727332,0.000000000722265,0.00000000072342,-0.000000000000223,0.000000000727332],[0.000000000463251,-0.000000000262044,0.000000000446156,-0.000000000267133,0.000000178303373,-0.000000000463251,0.000000000262044,-0.000000000446156,0.000000000267133,-0.000558030920376,-0.000000178222735,1.13969358387862e-19,1.48251173866178e-17,-1.28856851655015e-17,-7.28131255630391e-18,0.000000001069062,0.000000000080638,0.000000002129556,0.000000002129556,0.000000002129533,0.000000002129533,0.002197773968869,0.002197773968869,0.000000002129556,0.000000002129533,0.002197773968869,0.000000505832774,0.000000505827316,0.522036567447802,0.000558031989438,0.522036567447802],[0.00000000201617,-0.000000001203709,0.002211287163358,0.000000799393143,-0.000000001266573,-0.000000002016174,0.000000001203707,-0.002210958566463,-0.000000774607551,-0.000000002021947,0.000000001266578,-0.000000000000004,-0.000000000000002,0.000000328596895,0.000000024785592,1.94285781384727e-16,0.000000000000005,0.000000009395433,0.000000009395433,0.00906596327237,0.00906596327237,0.000000009395433,0.000000009395433,0.000000009395433,0.00906596327237,0.000000009395433,0.000002231694296,2.153435437107543,0.000002231694292,0.000000002021947,2.153435437107543],[0.000000002110431,-0.000000001262176,0.002331455433277,0.000000854216304,-0.000000001328001,-0.000000002110432,0.000000001262176,-0.00233144060161,-0.000000853097573,-0.000000002116443,0.000000001328001,-1.92708992743876e-16,-1.01191160379878e-16,0.000000014831667,0.000000001118731,8.64346457860495e-18,2.17735342590258e-16,0.000000009839202,0.000000009839202,0.009557254899189,0.009557254899189,0.000000009839211,0.000000009839211,0.000000009839202,0.009557254899189,0.000000009839211,0.000002337102582,2.2701317844633,0.00000233710483,0.000000002116443,2.2701317844633],[0.00004500148169,0.000014790897653,0.000000000047741,-0.000000000039304,-0.000000000040948,-0.000045001467188,-0.000014790896559,-0.000000000047741,0.000000000039304,-0.000000000050225,0.000000000040948,0.000000000014501,0.000000000001094,1.18276940201824e-19,2.38215679791918e-19,-2.69968106204017e-19,-2.67800111054955e-20,0.000189996197806,0.000189996197806,0.000000000254617,0.000000000254617,0.00000000025467,0.00000000025467,0.000189996197806,0.000000000254617,0.00000000025467,0.04512973778716,0.000000060479073,0.000000060491658,0.000000000050225,0.04512973778716],[0.000000000445191,-0.000000000261272,0.000000000425496,-0.000000000267494,0.000000145399186,-0.000000000445191,0.000000000261272,-0.000000000425496,0.000000000267494,-0.000457035656413,-0.000000145311431,6.87128284897413e-19,1.91932949884357e-17,-1.70856480934325e-17,-9.06738823188863e-18,0.000000001163418,0.000000000087755,0.000000002071106,0.000000002071106,0.000000002071095,0.000000002071095,0.001795666260263,0.001795666260263,0.000000002071106,0.000000002071095,0.001795666260263,0.000000491949155,0.000000491946502,0.426524048454264,0.000457036819831,0.426524048454264],[0.01639059621833,0.005252254908842,0.026090481687179,0.000109616423537,0.000003069213876,-0.016383164564767,-0.005256954593615,-0.026069824106041,-0.000100493088844,-0.002080517647737,-0.000002722409485,0.000007431653563,-0.000004699684773,0.000020657581138,0.000009123334693,-0.000000622834563,0.000000346804391,0.06906324404609,0.06906324404609,0.10753857100426,0.107538571004261,0.00817081164567,0.00817081164567,0.06906324404609,0.107538571004261,0.00817081164567,16.404570883682894,25.543603332505793,1.940810349556682,0.002079894813174,25.543603332505793],[0.000210007925843,0.00006902425973,0.000000000175036,-0.000000000156545,-0.000000000162152,-0.000210007342905,-0.00006902421576,-0.000000000175036,0.000000000156545,-0.000000000182533,0.000000000162152,0.000000000582938,0.00000000004397,4.34701958836913e-18,7.9586920265439e-18,-9.02339897370821e-18,-2.17019493250324e-19,0.000884593149165,0.000884593149165,0.000000000961466,0.000000000961466,0.00000000096149,0.00000000096149,0.000884593149165,0.000000000961466,0.00000000096149,0.210117135665095,0.000000228376655,0.000000228382511,0.000000000182533,0.210117135665095],[0.000000000000121,-0.000000000000066,0.000000000000116,-0.000000000000071,-0.000000000000072,-0.000000000000121,0.000000000000066,-0.000000000000116,0.000000000000071,-0.000000000000121,0.000000000000072,0.0,2.52435489670724e-29,0.0,2.52435489670724e-29,2.52435489670724e-29,1.26217744835362e-29,0.000000000000552,0.000000000000552,0.000000000000559,0.000000000000559,0.000000000000554,0.000000000000554,0.000000000000552,0.000000000000559,0.000000000000554,0.000000000131088,0.000000000132705,0.000000000131507,0.000000000000121,0.000000000132705],[0.000000000463349,-0.000000000262151,0.00000000044625,-0.000000000267242,0.000000178222622,-0.000000000463349,0.000000000262151,-0.00000000044625,0.000000000267242,-0.000558030217645,-0.000000178169609,1.83532507867793e-19,9.77631195044499e-18,-8.63724909178343e-18,-4.71762739281889e-18,0.000000000702828,0.000000000053013,0.000000002130108,0.000000002130108,0.000000002130092,0.000000002130092,0.00219777396925,0.00219777396925,0.000000002130108,0.000000002130092,0.00219777396925,0.000000505963983,0.000000505960002,0.522036567538328,0.000558030920473,0.522036567538328],[0.000000002111012,-0.000000001262183,0.002331440602174,0.000000853097551,-0.000000001328021,-0.000000002111012,0.000000001262183,-0.002331427198474,-0.000000852086529,-0.00000000211703,0.000000001328021,-1.74959815621627e-16,-9.17601596807335e-17,0.000000013403701,0.000000001011022,7.77025798240824e-18,1.97012404016586e-16,0.000000009841208,0.000000009841208,0.009557254901502,0.009557254901502,0.000000009841212,0.000000009841212,0.000000009841208,0.009557254901502,0.000000009841212,0.000002337578966,2.270131785012615,0.000002337579915,0.00000000211703,2.270131785012615],[0.00004500146743,0.000014790896542,0.000000000047976,-0.000000000039326,-0.000000000040971,-0.000045001445056,-0.000014790894855,-0.000000000047976,0.000000000039326,-0.000000000050471,0.000000000040971,0.000000000022374,0.000000000001688,1.91643233493726e-19,3.93665858227933e-19,-4.27557806681446e-19,-3.58647548274064e-20,0.000189996198705,0.000189996198705,0.000000000255423,0.000000000255423,0.000000000255476,0.000000000255476,0.000189996198705,0.000000000255423,0.000000000255476,0.045129738000867,0.000000060670511,0.000000060683225,0.000000000050471,0.045129738000867],[0.000000000445209,-0.000000000261335,0.000000000425512,-0.000000000267556,0.000000145311366,-0.000000000445209,0.000000000261335,-0.000000000425512,0.000000000267556,-0.000457034697503,-0.000000145239036,5.13468487833171e-19,1.57694310649078e-17,-1.38965141429069e-17,-7.35783736121667e-18,0.000000000958926,0.00000000007233,0.000000002071294,0.000000002071294,0.000000002071286,0.000000002071286,0.001795666260326,0.001795666260326,0.000000002071294,0.000000002071286,0.001795666260326,0.000000491993711,0.000000491991841,0.426524048469316,0.000457035656429,0.426524048469316],[0.01348726104816,0.004315577538703,0.00709928260985,0.000062556003384,-0.000000584278283,-0.013482834709575,-0.004316103651939,-0.007098331778009,-0.000061438167058,-0.000709461161533,0.000000559087053,0.000004426338586,-0.000000526113235,0.000000950831841,0.000001117836326,-0.000000088469288,-0.000000025191229,0.05684067529773,0.05684067529773,0.029285608896878,0.029285608896878,0.002785916122897,0.002785916122897,0.05684067529773,0.029285608896878,0.002785916122897,13.501347929381222,6.956201575182873,0.661737790416527,0.000709372692245,13.501347929381222],[0.002895951778989,0.000941389435472,0.018970588814822,0.000037947649381,0.000003318032737,-0.00289593950891,-0.000941563802787,-0.018967872686258,-0.000037411830996,-0.001371235391303,-0.000003249700916,0.000000012270078,-0.000000174367315,0.000002716128564,0.000000535818385,-0.00000004079151,0.000000068331821,0.012222875575793,0.012222875575793,0.078253651758184,0.078253651758184,0.005385100206481,0.005385100206481,0.012222875575793,0.078253651758184,0.005385100206481,2.903295834926614,18.58756556986334,1.279121177597676,0.001371194599792,18.58756556986334],[0.000210007361349,0.00006902421748,0.000000000193088,-0.000000000155312,-0.000000000160795,-0.00021000426645,-0.000069023984037,-0.000000000193088,0.000000000155312,-0.000000000201298,0.000000000160795,0.000000003094899,0.000000000233444,2.18724063304637e-17,4.57201195242643e-17,-5.05713080741287e-17,-3.88750483486913e-18,0.00088459322143,0.00088459322143,0.000000001014579,0.000000001014579,0.000000001014579,0.000000001014579,0.00088459322143,0.000000001014579,0.000000001014579,0.210117152830163,0.000000240992543,0.000000240992518,0.000000000201298,0.210117152830163],[0.000000000000076,-0.000000000000148,0.00000000000007,-0.000000000000147,-0.000000000000153,-0.000000000000076,0.000000000000148,-0.00000000000007,0.000000000000147,-0.000000000000074,0.000000000000153,0.0,5.04870979341448e-29,2.52435489670724e-29,2.52435489670724e-29,1.26217744835362e-29,5.04870979341448e-29,0.000000000000667,0.000000000000667,0.000000000000665,0.000000000000665,0.000000000000669,0.000000000000669,0.000000000000667,0.000000000000665,0.000000000000669,0.000000000158353,0.000000000157859,0.000000000158848,0.000000000000074,0.000000000158848],[0.000000000423518,-0.000000000239554,0.000000000407891,-0.000000000244213,0.000000163050972,-0.000000000423518,0.000000000239554,-0.000000000407891,0.000000000244213,-0.000510026246338,-0.000000162739859,7.61126466629124e-19,5.70910219470713e-17,-4.97817295412587e-17,-2.78967623180971e-17,0.000000004124609,0.000000000311113,0.000000001946878,0.000000001946878,0.00000000194687,0.00000000194687,0.002008728985452,0.002008728985452,0.000000001946878,0.00000000194687,0.002008728985452,0.000000462441227,0.00000046243954,0.477132771318432,0.000510030370948,0.477132771318432],[0.000000000039942,-0.000000000022446,0.00000000003847,-0.000000000022885,0.000000015118786,-0.000000000039942,0.000000000022446,-0.00000000003847,0.000000000022885,-0.000047999842307,-0.000000015118446,6.32793168603066e-22,6.24186289705967e-20,-4.60380294613459e-20,-2.60005969421431e-20,0.000000000004506,0.00000000000034,0.000000000183322,0.000000000183322,0.000000000183309,0.000000000183309,0.000189044984258,0.000189044984258,0.000000000183322,0.000000000183309,0.000189044984258,0.000000043544424,0.000000043541286,0.044903796328961,0.000047999846813,0.044903796328961],[0.000000002111424,-0.000000001262202,0.002331427198877,0.0000008520865,-0.000000001328052,-0.000000002111424,0.000000001262202,-0.002331413623608,-0.000000851062537,-0.000000002117449,0.000000001328052,-1.76360277893613e-16,-9.28177198132547e-17,0.000000013575269,0.000000001023963,7.86009930950855e-18,1.99784669854261e-16,0.00000000984266,0.00000000984266,0.009557254903156,0.009557254903156,0.000000009842673,0.000000009842673,0.00000000984266,0.009557254903156,0.000000009842673,0.000002337924075,2.270131785405589,0.000002337927051,0.000000002117449,2.270131785405589],[0.000045001445207,0.000014790894889,0.000000000048124,-0.000000000039297,-0.00000000004094,-0.00004500142527,-0.000014790893386,-0.000000000048124,0.000000000039297,-0.000000000050627,0.00000000004094,0.000000000019937,0.000000000001504,1.74330058929655e-19,3.44460108299072e-19,-3.74068799218512e-19,-2.89797428482154e-20,0.000189996199325,0.000189996199325,0.000000000255819,0.000000000255819,0.000000000255873,0.000000000255873,0.000189996199325,0.000000000255819,0.000000000255873,0.045129738148072,0.000000060764508,0.000000060777536,0.000000000050627,0.045129738148072],[0.000000000445219,-0.000000000261365,0.00000000042552,-0.000000000267587,0.000000145239004,-0.000000000445219,0.000000000261365,-0.00000000042552,0.000000000267587,-0.00045703333543,-0.000000145136265,7.58292700946882e-19,2.25059603501339e-17,-1.97561099696865e-17,-1.07258827234192e-17,0.00000000136208,0.00000000010274,0.00000000207139,0.00000000207139,0.000000002071384,0.000000002071384,0.001795666260354,0.001795666260354,0.00000000207139,0.000000002071384,0.001795666260354,0.000000492016522,0.000000492015147,0.426524048475877,0.00045703469751,0.426524048475877],[0.013482855347181,0.004316107368557,0.007098351967675,0.000061441144749,-0.000000555848183,-0.013480817995329,-0.004316349527236,-0.00709791431852,-0.000060926627401,-0.000709523078012,0.000000544252676,0.000002037351852,-0.000000242158679,0.000000437649155,0.000000514517348,-0.000000040721558,-0.000000011595506,0.056840758763857,0.056840758763857,0.02928569229353,0.02928569229353,0.002785999341189,0.002785999341189,0.056840758763857,0.02928569229353,0.002785999341189,13.501367755064203,6.956221384363673,0.661757557231523,0.000709482356454,13.501367755064203],[0.00289594234517,0.000941564580708,0.018967875468215,0.00003741250044,0.000003250418774,-0.002895890921566,-0.000942295348228,-0.018956492272959,-0.000035166904985,-0.001371409266386,-0.00000296404216,0.000000051423603,-0.00000073076752,0.000011383195256,0.000002245595456,-0.00000017095613,0.000000286376615,0.012222887367765,0.012222887367765,0.078253663240801,0.078253663240801,0.005385111676381,0.005385111676382,0.012222887367765,0.078253663240801,0.005385111676382,2.903298635870005,18.58756829732588,1.27912390203962,0.001371238310257,18.58756829732588],[0.000000000423621,-0.000000000239559,0.000000000407992,-0.00000000024422,0.000000162739851,-0.000000000423621,0.000000000239559,-0.000000000407992,0.00000000024422,-0.000510024351772,-0.000000162596939,2.89879552007344e-19,2.61535780769236e-17,-2.29038925927039e-17,-1.27771072669487e-17,0.000000001894671,0.000000000142912,0.000000001947245,0.000000001947245,0.000000001947242,0.000000001947242,0.002008728985863,0.002008728985863,0.000000001947245,0.000000001947242,0.002008728985863,0.000000462528496,0.000000462527718,0.477132771416077,0.000510026246443,0.477132771416077],[0.000000000039878,-0.00000000002246,0.000000000038412,-0.000000000022902,0.000000015118426,-0.000000000039878,0.00000000002246,-0.000000000038412,0.000000000022902,-0.000047999839051,-0.000000015118185,-3.40333123277286e-22,4.26515003347655e-20,-3.54079249470784e-20,-1.61410531737343e-20,0.000000000003189,0.000000000000241,0.000000000183126,0.000000000183126,0.000000000183138,0.000000000183138,0.000189044983993,0.000189044983993,0.000000000183126,0.000000000183138,0.000189044983993,0.000000043497858,0.000000043500822,0.044903796266155,0.00004799984224,0.044903796266155],[0.000000002111633,-0.000000001262209,0.002331413623809,0.000000851062524,-0.00000000132807,-0.000000002111633,0.000000001262209,-0.00233139902765,-0.000000849961556,-0.000000002117656,0.00000000132807,-1.90431037425759e-16,-9.97566089608735e-17,0.000000014596159,0.000000001100967,9.33902710722068e-18,2.1457990022307e-16,0.000000009843394,0.000000009843394,0.009557254903979,0.009557254903979,0.000000009843402,0.000000009843402,0.000000009843394,0.009557254903979,0.000000009843402,0.000002338098352,2.270131785601055,0.000002338100106,0.000000002117656,2.270131785601055],[0.000045001425415,0.000014790893383,0.000000000048264,-0.000000000039302,-0.000000000040944,-0.000045001409914,-0.000014790892214,-0.000000000048264,0.000000000039302,-0.000000000050775,0.000000000040944,0.0000000000155,0.000000000001169,1.30202125212014e-19,2.76546647766257e-19,-3.07624896129731e-19,-3.36080316329513e-20,0.000189996199872,0.000189996199872,0.000000000256279,0.000000000256279,0.000000000256336,0.000000000256336,0.000189996199872,0.000000000256279,0.000000000256336,0.045129738277986,0.00000006087386,0.0000000608875,0.000000000050775,0.045129738277986],[0.000000000445267,-0.00000000026135,0.000000000425568,-0.000000000267573,0.000000145136279,-0.000000000445267,0.00000000026135,-0.000000000425568,0.000000000267573,-0.000457027217632,-0.000000144674819,3.39103260802785e-18,1.00719358892355e-16,-8.89254866330585e-17,-4.74182525365978e-17,0.000000006117848,0.000000000461461,0.000000002071524,0.000000002071524,0.000000002071518,0.000000002071518,0.001795666260551,0.001795666260551,0.000000002071524,0.000000002071518,0.001795666260551,0.000000492048436,0.000000492047075,0.426524048522718,0.000457033335481,0.426524048522718],[0.013480866977411,0.004316358352899,0.00709796224185,0.000060933693303,-0.000000536561564,-0.013467557578695,-0.004317940296586,-0.007095103198135,-0.000057572500995,-0.000709839429535,0.00000046080381,0.000013309398717,-0.000001581943686,0.000002859043715,0.000003361192308,-0.00000026603671,-0.000000075757754,0.056840956895607,0.056840956895607,0.029285890258824,0.029285890258824,0.002786196883226,0.002786196883226,0.056840956895607,0.029285890258824,0.002786196883226,13.501414817237334,6.956268406998499,0.66180447933032,0.000709573392825,13.501414817237334],[0.002895893716065,0.000942296115407,0.018956495012403,0.000035167563869,0.000002964748949,-0.002895882364832,-0.000942457424469,-0.018953982296282,-0.000034671873127,-0.001371449879672,-0.000002901534337,0.000000011351233,-0.000000161309062,0.000002512716121,0.000000495690742,-0.000000037736788,0.000000063214612,0.012222898986193,0.012222898986193,0.078253674554416,0.078253674554416,0.005385122977468,0.005385122977468,0.012222898986193,0.078253674554416,0.005385122977468,2.903301395591742,18.587570984645286,1.279126586383135,0.001371412142884,18.587570984645286],[0.000000000423662,-0.000000000239581,0.000000000408031,-0.000000000244243,0.000000162596915,-0.000000000423662,0.000000000239581,-0.000000000408031,0.000000000244243,-0.000510021145117,-0.000000162355039,5.89149930412638e-19,4.44440868006504e-17,-3.87947745544473e-17,-2.16840726595255e-17,0.000000003206696,0.000000000241876,0.000000001947431,0.000000001947431,0.000000001947427,0.000000001947427,0.002008728986022,0.002008728986022,0.000000001947431,0.000000001947427,0.002008728986022,0.000000462572592,0.000000462571623,0.477132771453852,0.000510024351812,0.477132771453852],[0.000000000039995,-0.000000000022632,0.000000000038519,-0.000000000023071,0.00000001511801,-0.000000000039995,0.000000000022632,-0.000000000038519,0.000000000023071,-0.000047999835456,-0.00000001511773,1.03894531171514e-21,5.91252513669823e-20,-4.55542192758818e-20,-4.44863323362502e-20,0.000000000003711,0.00000000000028,0.000000000183872,0.000000000183872,0.00000000018387,0.00000000018387,0.000189044984449,0.000189044984449,0.000000000183872,0.00000000018387,0.000189044984449,0.000000043675029,0.000000043674575,0.044903796374412,0.000047999839167,0.044903796374412],[0.000000002113111,-0.000000001262058,0.002331399029092,0.000000849961668,-0.000000001327947,-0.000000002113112,0.000000001262058,-0.00233131437947,-0.000000843576669,-0.00000000211916,0.000000001327948,-0.000000000000001,-5.79575104718461e-16,0.000000084649622,0.000000006384999,5.02362672007118e-17,0.000000000000001,0.00000000984816,0.00000000984816,0.009557254909891,0.009557254909891,0.000000009848161,0.000000009848161,0.00000000984816,0.009557254909891,0.000000009848161,0.000002339230411,2.270131787005345,0.000002339230588,0.00000000211916,2.270131787005345],[0.000045001410109,0.000014790892303,0.000000000048457,-0.000000000039221,-0.000000000040858,-0.000045001390815,-0.000014790890847,-0.000000000048457,0.000000000039221,-0.000000000050976,0.000000000040858,0.000000000019294,0.000000000001455,1.53210011778508e-19,3.32271207769843e-19,-3.71235712082867e-19,-2.74856220173974e-20,0.000189996200726,0.000189996200726,0.000000000256683,0.000000000256683,0.00000000025674,0.00000000025674,0.000189996200726,0.000000000256683,0.00000000025674,0.045129738480964,0.000000060969941,0.000000060983283,0.000000000050976,0.045129738480964],[0.000000000445338,-0.00000000026134,0.000000000425638,-0.000000000267565,0.000000144674826,-0.000000000445338,0.00000000026134,-0.000000000425638,0.000000000267565,-0.000457026039955,-0.00000014458599,5.77707385902827e-19,1.93922269109723e-17,-1.71707351482634e-17,-9.17075535787145e-18,0.000000001177751,0.000000000088836,0.000000002071749,0.000000002071749,0.000000002071745,0.000000002071745,0.001795666260839,0.001795666260839,0.000000002071749,0.000000002071745,0.001795666260839,0.000000492101921,0.000000492101001,0.426524048591141,0.000457027217706,0.426524048591141],[0.013467603200487,0.004317948532425,0.007095147860285,0.000057579061799,-0.000000453628901,-0.013466609090855,-0.004318066691082,-0.007094934310672,-0.0000573280061,-0.000709906225045,0.000000447969834,0.000000994109632,-0.000000118158657,0.000000213549614,0.000000251055699,-0.000000019871952,-0.000000005659067,0.056841141603687,0.056841141603687,0.029286074814815,0.029286074814815,0.002786381045076,0.002786381045076,0.056841141603687,0.029286074814815,0.002786381045076,13.501458690890059,6.956312244525524,0.661848223237088,0.000709886353093,13.501458690890059],[0.002895883037467,0.000942457609187,0.018953982955585,0.000034672031702,0.000002901704455,-0.00289587926568,-0.000942511208923,-0.018953148031017,-0.000034507323725,-0.00137146311125,-0.000002880699515,0.000000003771787,-0.000000053599736,0.000000834924568,0.000000164707977,-0.000000012539176,0.00000002100494,0.012222901782775,0.012222901782775,0.078253677277611,0.078253677277611,0.005385125697649,0.005385125697649,0.012222901782775,0.078253677277611,0.005385125697649,2.90330205986288,18.58757163148482,1.279127232506854,0.001371450572074,18.58757163148482],[0.000000000423743,-0.000000000239567,0.000000000408111,-0.000000000244231,0.000000162355051,-0.000000000423743,0.000000000239567,-0.000000000408111,0.000000000244231,-0.000510014990155,-0.000000161890785,1.10429862886506e-18,8.51768935730272e-17,-7.44144667339284e-17,-4.17203757928487e-17,0.000000006155044,0.000000000464266,0.000000001947683,0.000000001947683,0.000000001947682,0.000000001947682,0.002008728986345,0.002008728986345,0.000000001947683,0.000000001947682,0.002008728986345,0.000000462632574,0.00000046263227,0.477132771530639,0.000510021145199,0.477132771530639],[0.000000000040047,-0.000000000022636,0.000000000038569,-0.000000000023075,0.000000015117728,-0.000000000040047,0.000000000022636,-0.000000000038569,0.000000000023075,-0.00004799982841,-0.000000015117192,-7.3310497374646e-21,9.38231613116318e-20,-9.00431074709778e-20,-3.1525833854222e-20,0.000000000007098,0.000000000000535,0.000000000184059,0.000000000184059,0.000000000184054,0.000000000184054,0.000189044984655,0.000189044984655,0.000000000184059,0.000000000184054,0.000189044984655,0.000000043719589,0.000000043718371,0.044903796423215,0.000047999835508,0.044903796423215],[0.000000002119079,-0.000000001261735,0.002331314385301,0.000000843576839,-0.000000001327749,-0.000000002119084,0.000000001261733,-0.002330956349423,-0.000000816570707,-0.000000002125229,0.000000001327755,-0.000000000000005,-0.000000000000002,0.000000358035877,0.000000027006132,2.0413980700542e-16,0.000000000000005,0.000000009868007,0.000000009868007,0.009557254933794,0.009557254933794,0.000000009868007,0.000000009868007,0.000000009868007,0.009557254933794,0.000000009868007,0.000002343944741,2.270131792683044,0.000002343944742,0.000000002125229,2.270131792683044],[0.000045001390984,0.000014790890819,0.00000000004862,-0.000000000039254,-0.000000000040891,-0.000045001371028,-0.000014790889314,-0.00000000004862,0.000000000039254,-0.000000000051147,0.000000000040891,0.000000000019956,0.000000000001505,1.63544179503938e-19,3.50376627490283e-19,-3.92646771713267e-19,-3.37373949259363e-20,0.000189996201335,0.000189996201335,0.000000000257292,0.000000000257292,0.000000000257348,0.000000000257348,0.000189996201335,0.000000000257292,0.000000000257348,0.045129738625478,0.000000061114413,0.000000061127766,0.000000000051147,0.045129738625478],[0.000000000445326,-0.000000000261267,0.000000000425628,-0.000000000267495,0.000000144586065,-0.000000000445326,0.000000000261267,-0.000000000425628,0.000000000267495,-0.000457025167917,-0.000000144520289,4.99295109928592e-19,1.43506780718194e-17,-1.265233539505e-17,-6.72780656226922e-18,0.000000000872028,0.000000000065776,0.000000002071562,0.000000002071562,0.000000002071554,0.000000002071554,0.001795666260798,0.001795666260798,0.000000002071562,0.000000002071554,0.001795666260798,0.000000492057442,0.000000492055571,0.426524048581363,0.000457026039944,0.426524048581363],[0.000105005367507,0.000034512240629,0.00000000010204,-0.000000000097023,-0.000000000101395,-0.000105005218059,-0.000034512229357,-0.00000000010204,0.000000000097023,-0.000000000107918,0.000000000101395,0.000000000149448,0.000000000011273,1.38896552129664e-18,2.43192546364192e-18,-2.78926268027752e-18,3.47209062119133e-21,0.000444262004733,0.000444262004733,0.00000000058118,0.00000000058118,0.000000000581206,0.000000000581206,0.000444262004733,0.00000000058118,0.000000000581206,0.105525415845019,0.000000138047427,0.000000138053798,0.000000000107918,0.105525415845019],[0.013361664058535,0.004283565348595,0.007094993277452,0.000057336782335,-0.000000438373691,-0.013343749308133,-0.004285727183342,-0.007091072671193,-0.000052771806406,-0.000710329823269,0.000000337009452,0.000017914750402,-0.000002161834747,0.00000392060626,0.000004564975929,-0.000000361643252,-0.000000101364239,0.056397135689672,0.056397135689672,0.029286318491431,0.029286318491431,0.002786624194657,0.002786624194657,0.056397135689672,0.029286318491431,0.002786624194657,13.39599410419375,6.956370124956379,0.661905978481611,0.000709968180017,13.39599410419375],[0.002895879520083,0.00094251127922,0.018953148280378,0.000034507384114,0.000002880764291,-0.002895877551475,-0.000942539254513,-0.018952712508483,-0.000034421418135,-0.001371469917713,-0.000002869801188,0.000000001968608,-0.000000027975294,0.000000435771895,0.000000085965979,-0.000000006544569,0.000000010963103,0.012222902841027,0.012222902841027,0.078253678307621,0.078253678307621,0.005385126726521,0.005385126726521,0.012222902841027,0.078253678307621,0.005385126726521,2.903302311229184,18.587571876142856,1.279127476894564,0.001371463373144,18.587571876142856],[0.000000000423951,-0.000000000239535,0.000000000408316,-0.000000000244205,0.000000161890813,-0.000000000423951,0.000000000239536,-0.000000000408316,0.000000000244205,-0.00050999686888,-0.000000160523936,3.10734812182064e-18,2.51103841070884e-16,-2.18954618755581e-16,-1.22773380274328e-16,0.000000018121486,0.000000001366878,0.000000001948347,0.000000001948347,0.000000001948347,0.000000001948347,0.00200872898718,0.00200872898718,0.000000001948347,0.000000001948347,0.00200872898718,0.000000462790275,0.000000462790179,0.477132771728826,0.000510014990367,0.477132771728826],[0.000000000039974,-0.000000000022575,0.0000000000385,-0.000000000023015,0.000000015117255,-0.000000000039974,0.000000000022575,-0.0000000000385,0.000000000023015,-0.000047999801116,-0.000000015115201,8.58791190414771e-21,3.81444455316744e-19,-3.25702301569269e-19,-1.86612531034506e-19,0.000000000027222,0.000000000002053,0.000000000183688,0.000000000183688,0.000000000183685,0.000000000183685,0.000189044984371,0.000189044984371,0.000000000183688,0.000000000183685,0.000189044984371,0.000000043631374,0.000000043630655,0.044903796355934,0.000047999828338,0.044903796355934],[0.000045001371282,0.000014790889343,0.000000000048869,-0.000000000039232,-0.000000000040867,-0.000045001347743,-0.000014790887568,-0.000000000048869,0.000000000039232,-0.000000000051408,0.000000000040867,0.000000000023539,0.000000000001776,1.94147748980429e-19,4.10114881083478e-19,-4.54539695092844e-19,-3.83366031422621e-20,0.000189996202339,0.000189996202339,0.000000000258031,0.000000000258031,0.000000000258089,0.000000000258089,0.000189996202339,0.000000000258031,0.000000000258089,0.045129738864047,0.000000061290092,0.000000061303916,0.000000000051408,0.045129738864047],[0.000000000445304,-0.000000000261307,0.000000000425606,-0.000000000267533,0.000000144520248,-0.000000000445304,0.000000000261307,-0.000000000425606,0.000000000267533,-0.000457024163411,-0.000000144444482,5.59846230032334e-19,1.65087830358872e-17,-1.46231664099418e-17,-7.84014683425437e-18,0.000000001004481,0.000000000075767,0.000000002071563,0.000000002071563,0.000000002071562,0.000000002071562,0.001795666260701,0.001795666260701,0.000000002071563,0.000000002071562,0.001795666260701,0.000000492057754,0.000000492057451,0.426524048558256,0.000457025167892,0.426524048558256],[0.000105005222511,0.000034512229784,0.000000000106386,-0.000000000096748,-0.000000000101079,-0.000105004452809,-0.000034512171727,-0.000000000106386,0.000000000096748,-0.000000000112487,0.000000000101079,0.000000000769702,0.000000000058058,7.04029425288735e-18,1.28813996590702e-17,-1.46868517561606e-17,-3.51700833791055e-19,0.00044426202227,0.00044426202227,0.000000000593547,0.000000000593547,0.000000000593574,0.000000000593574,0.00044426202227,0.000000000593547,0.000000000593574,0.10552542001047,0.00000014098498,0.000000140991514,0.000000000112487,0.10552542001047],[0.013343833831398,0.004285742490152,0.007091155486602,0.000052783913715,-0.000000323679623,-0.01333523646644,-0.004286779957981,-0.007089273953853,-0.000050593154259,-0.000710590490529,0.000000275025737,0.000008597364958,-0.000001037467829,0.00000188153275,0.000002190759456,-0.000000173571256,-0.000000048653886,0.056397478356188,0.056397478356188,0.029286660874474,0.029286660874474,0.002786965847924,0.002786965847924,0.056397478356188,0.029286660874474,0.002786965847924,13.396075497664636,6.956451451094248,0.661987131275734,0.000710416919273,13.396075497664636],[0.002895877714553,0.000942539299382,0.01895271266832,0.000034421456658,0.000002869842515,-0.002895876029363,-0.000942563247105,-0.01895233963402,-0.000034347867104,-0.001371475687949,-0.000002860457757,0.00000000168519,-0.000000023947723,0.000000373034301,0.000000073589553,-0.000000005602356,0.000000009384758,0.012222903519149,0.012222903519149,0.078253678967858,0.078253678967858,0.005385127386048,0.005385127386048,0.012222903519149,0.078253678967858,0.005385127386048,2.903302472303183,18.587572032968815,1.279127633551771,0.001371470085594,18.587572032968815],[0.000000000039962,-0.000000000022567,0.000000000038488,-0.000000000023008,0.000000015115209,-0.000000000039962,0.000000000022567,-0.000000000038488,0.000000000023008,-0.000047999708203,-0.000000015108201,1.95368622328117e-20,1.28884291433132e-18,-1.12854505684014e-18,-6.22056978175239e-19,0.000000000092899,0.000000000007007,0.000000000183629,0.000000000183629,0.00000000018363,0.00000000018363,0.000189044984319,0.000189044984319,0.000000000183629,0.00000000018363,0.000189044984319,0.000000043617428,0.000000043617542,0.044903796343506,0.000047999801103,0.044903796343506],[0.000045001347859,0.000014790887608,0.000000000048981,-0.000000000039194,-0.000000000040827,-0.000045001334445,-0.000014790886596,-0.000000000048981,0.000000000039194,-0.000000000051528,0.000000000040827,0.000000000013414,0.000000000001012,1.06919388499952e-19,2.37183416548588e-19,-2.59295266178883e-19,-1.28051888596728e-20,0.000189996202829,0.000189996202829,0.000000000258296,0.000000000258296,0.000000000258362,0.000000000258362,0.000189996202829,0.000000000258296,0.000000000258362,0.04512973898041,0.000000061352996,0.00000006136864,0.000000000051528,0.04512973898041],[0.000000000445366,-0.000000000261288,0.000000000425668,-0.000000000267518,0.000000144444498,-0.000000000445366,0.000000000261288,-0.000000000425668,0.000000000267518,-0.000457023167044,-0.000000144369338,4.84330637165684e-19,1.63081856885848e-17,-1.45626075350198e-17,-7.69033734258702e-18,0.000000000996431,0.000000000075159,0.000000002071741,0.000000002071741,0.000000002071748,0.000000002071748,0.00179566626095,0.00179566626095,0.000000002071741,0.000000002071748,0.00179566626095,0.00000049210002,0.000000492101603,0.426524048617543,0.000457024163475,0.426524048617543],[0.000105004457844,0.000034512172222,0.000000000111303,-0.000000000096427,-0.000000000100711,-0.000105004189127,-0.000034512151953,-0.000000000111303,0.000000000096427,-0.000000000117655,0.000000000100711,0.000000000268718,0.000000000020269,2.38722742799882e-18,4.68038418027475e-18,-5.24184041397185e-18,-2.4379566572079e-19,0.000444262042117,0.000444262042117,0.000000000607845,0.000000000607845,0.000000000607873,0.000000000607873,0.000444262042117,0.000000000607845,0.000000000607873,0.10552542472494,0.000000144381204,0.000000144387822,0.000000000117655,0.10552542472494],[0.000000000406154,-0.000000000234758,0.000000000387716,-0.000000000242344,0.000000130232876,-0.000000000406154,0.000000000234758,-0.000000000387717,0.000000000242344,-0.000411007450718,-0.000000128144119,1.31463399611783e-17,4.63378145890765e-16,-4.07759421630302e-16,-2.20334996668704e-16,0.000000027691862,0.000000002088757,0.000000001888805,0.000000001888805,0.000000001888804,0.000000001888804,0.001612097110269,0.001612097110269,0.000000001888805,0.000000001888804,0.001612097110269,0.000000448647195,0.000000448647026,0.382920925335241,0.00041103514258,0.382920925335241],[0.013335316031215,0.004286794701762,0.007089351951588,0.00005060483682,-0.000000392624868,-0.013318585359939,-0.004288946994387,-0.007085670930948,-0.000046280747995,-0.00029978950241,0.000000352225176,0.000016730671276,-0.000002152292625,0.000003681020641,0.000004324088825,-0.000000151679786,-0.000000040399692,0.056397801503323,0.056397801503323,0.02928698342073,0.02928698342073,0.00117519308784,0.00117519308784,0.056397801503323,0.02928698342073,0.00117519308784,13.396152254703244,6.956528065405957,0.279143248739186,0.000299637822624,13.396152254703244],[0.002895876189758,0.000942563290938,0.018952339791213,0.000034347904702,0.000002860498098,-0.002895874273156,-0.000942590527179,-0.018951915531594,-0.000034264209782,-0.001371482224732,-0.000002849824618,0.000000001916602,-0.000000027236241,0.000000424259619,0.00000008369492,-0.000000006371676,0.00000001067348,0.012222904185743,0.012222904185743,0.078253679617184,0.078253679617184,0.00538512803467,0.00538512803467,0.012222904185743,0.078253679617184,0.00538512803467,2.903302630639157,18.587572187202859,1.279127787618894,0.001371475853056,18.587572187202859],[0.000045001334848,0.000014790886587,0.000000000049374,-0.000000000039217,-0.000000000040849,-0.000045001274249,-0.000014790882016,-0.000000000049374,0.000000000039217,-0.000000000051938,0.000000000040849,0.000000000060599,0.000000000004571,4.93997205513298e-19,1.06860904245706e-18,-1.17396598371512e-18,-1.00753894406712e-19,0.000189996204354,0.000189996204354,0.00000000025962,0.00000000025962,0.000000000259679,0.000000000259679,0.000189996204354,0.00000000025962,0.000000000259679,0.045129739342682,0.000000061667428,0.000000061681533,0.000000000051938,0.045129739342682],[0.000000000445465,-0.000000000261284,0.000000000425763,-0.000000000267516,0.000000144369341,-0.000000000445465,0.000000000261285,-0.000000000425763,0.000000000267516,-0.000457014413389,-0.000000143709058,4.7768331553551e-18,1.44310011763677e-16,-1.27294225018335e-16,-6.80143631258622e-17,0.000000008753756,0.000000000660283,0.000000002072075,0.000000002072075,0.000000002072074,0.000000002072074,0.001795666261347,0.001795666261347,0.000000002072075,0.000000002072074,0.001795666261347,0.000000492179307,0.000000492179182,0.426524048711828,0.000457023167145,0.426524048711828],[0.000105004193256,0.000034512152362,0.000000000115334,-0.000000000096161,-0.000000000100406,-0.000105003608409,-0.000034512108247,-0.000000000115334,0.000000000096161,-0.000000000121893,0.000000000100406,0.000000000584846,0.000000000044114,5.11954338891771e-18,1.04557797156895e-17,-1.16536175050351e-17,-8.12111281722781e-19,0.000444262058396,0.000444262058396,0.000000000619814,0.000000000619814,0.000000000619841,0.000000000619841,0.000444262058396,0.000000000619814,0.000000000619841,0.105525428591485,0.000000147224231,0.000000147230672,0.000000000121893,0.105525428591485],[0.000000000406484,-0.00000000023471,0.00000000038804,-0.000000000242309,0.000000128144158,-0.000000000406484,0.000000000234711,-0.00000000038804,0.000000000242308,-0.000410996483708,-0.000000127316906,5.16182731086777e-18,1.83551930171973e-16,-1.61590858403349e-16,-8.72769578584516e-17,0.00000001096735,0.000000000827251,0.000000001889859,0.000000001889859,0.000000001889859,0.000000001889859,0.001612097111602,0.001612097111602,0.000000001889859,0.000000001889859,0.001612097111602,0.00000044889768,0.000000448897666,0.382920925651892,0.000411007451058,0.382920925651892],[0.000000000247159,-0.000000000143787,0.000236011668549,0.000000085744147,-0.000000000154875,-0.000000000247159,0.000000000143787,-0.000236004112075,-0.000000085174173,-0.000000000249912,0.000000000154875,-1.12829009832035e-16,-5.93686904920096e-17,0.000000007556474,0.000000000569974,5.00340940226437e-18,1.27418344787568e-16,0.000000001152537,0.000000001152537,0.00097547895063,0.00097547895063,0.00000000115254,0.00000000115254,0.000000001152537,0.00097547895063,0.00000000115254,0.000000273761796,0.231705211826957,0.000000273762372,0.000000000249912,0.231705211826957],[0.013318647171124,0.00428895842518,0.006849720135764,0.00004620384565,-0.000000342246258,-0.01331560037006,-0.004289325574062,-0.006849101601245,-0.000045446780923,-0.000299880676032,0.000000334455347,0.000003046801063,-0.000000367148882,0.000000618534519,0.000000757064727,-0.000000027315504,-0.000000007790911,0.056398052774169,0.056398052774169,0.028311775507663,0.028311775507663,0.001175443369901,0.001175443369901,0.056398052774169,0.028311775507663,0.001175443369901,13.396211938988975,6.724887233047204,0.279202698159186,0.000299853360528,13.396211938988975],[0.00289587442537,0.000942590568814,0.01895191568077,0.000034264245499,0.000002849862942,-0.002895872915418,-0.000942612026283,-0.01895158143725,-0.000034198308314,-0.0013714874012,-0.000002841454077,0.000000001509952,-0.000000021457468,0.00000033424352,0.000000065937185,-0.000000005019784,0.000000008408865,0.012222904818382,0.012222904818382,0.078253680233407,0.078253680233407,0.005385128650205,0.005385128650204,0.012222904818382,0.078253680233407,0.005385128650205,2.903302780909669,18.587572333574222,1.279127933826522,0.001371482381417,18.587572333574222],[0.000045001274637,0.000014790882072,0.000000000049754,-0.000000000039172,-0.0000000000408,-0.000045001251053,-0.000014790880293,-0.000000000049754,0.000000000039172,-0.000000000052336,0.0000000000408,0.000000000023584,0.000000000001779,1.96060940189081e-19,4.21779859629883e-19,-4.6584462389059e-19,-4.96138407765331e-20,0.000189996205904,0.000189996205904,0.00000000026073,0.00000000026073,0.000000000260794,0.000000000260794,0.000189996205904,0.00000000026073,0.000000000260794,0.045129739710786,0.000000061931106,0.000000061946285,0.000000000052336,0.045129739710786],[0.000000000445713,-0.000000000261253,0.000000000426006,-0.000000000267493,0.000000143709084,-0.000000000445713,0.000000000261253,-0.000000000426006,0.000000000267493,-0.000456996519794,-0.000000142359376,9.65513567757268e-18,2.94945235391832e-16,-2.60205840659252e-16,-1.39127690587844e-16,0.000000017893849,0.000000001349707,0.000000002072871,0.000000002072871,0.00000000207287,0.00000000207287,0.001795666262346,0.001795666262346,0.000000002072871,0.00000000207287,0.001795666262346,0.000000492368312,0.000000492368273,0.426524048949101,0.000457014413643,0.426524048949101],[0.000051001648108,0.000016763016274,0.000000000058891,-0.000000000046496,-0.000000000048528,-0.000051001535007,-0.000016763007743,-0.000000000058891,0.000000000046496,-0.00000000006222,0.000000000048528,0.000000000113101,0.000000000008531,9.67741216845662e-19,2.11421586582728e-18,-2.30423619034622e-18,-2.20220960101892e-19,0.000215784019451,0.000215784019451,0.00000000030971,0.00000000030971,0.000000000309711,0.000000000309711,0.000215784019451,0.00000000030971,0.000000000309711,0.051255111044148,0.000000073565262,0.000000073565612,0.00000000006222,0.051255111044148],[0.000054001963976,0.000017749092335,0.000000000060031,-0.000000000049431,-0.000000000051609,-0.000054001904316,-0.000017749087835,-0.000000000060031,0.000000000049431,-0.000000000063444,0.000000000051609,0.00000000005966,0.0000000000045,5.17738949917143e-19,1.0740580753552e-18,-1.19358907952679e-18,-8.10326355207862e-20,0.000228478053431,0.000228478053431,0.000000000320976,0.000000000320976,0.000000000321001,0.000000000321001,0.000228478053431,0.000000000320976,0.000000000321001,0.05427032098833,0.000000076241286,0.000000076247373,0.000000000063444,0.05427032098833],[0.000000000247413,-0.000000000143769,0.000236004112323,0.000000085174181,-0.000000000154864,-0.000000000247413,0.000000000143769,-0.000236000313271,-0.000000084887624,-0.000000000250174,0.000000000154864,-5.68210427062408e-17,-2.99525066281923e-17,0.000000003799053,0.000000000286557,2.46525222155486e-18,6.41780755309142e-17,0.000000001153386,0.000000001153386,0.000975478951657,0.000975478951657,0.000000001153389,0.000000001153389,0.000000001153386,0.000975478951657,0.000000001153389,0.000000273963519,0.231705212070777,0.000000273964125,0.000000000250174,0.231705212070777],[0.013315618042195,0.004289328790343,0.006849118938395,0.000045449297614,-0.000000331655997,-0.013313007821089,-0.004289643329636,-0.006848589033394,-0.000044800713086,-0.000299922340099,0.000000324980843,0.000002610221106,-0.000000314539294,0.000000529905001,0.000000648584528,-0.000000023402705,-0.000000006675154,0.056398124563175,0.056398124563175,0.028311847239213,0.028311847239213,0.001175514936752,0.001175514936752,0.056398124563175,0.028311847239213,0.001175514936752,13.396228991009451,6.724904271419942,0.279219697411188,0.000299898937394,13.396228991009451],[0.00289587303897,0.00094261205961,0.018951581558318,0.000034198336851,0.000002841484709,-0.002895871773035,-0.000942630049433,-0.018951301330414,-0.000034143055483,-0.001371491736936,-0.000002834434762,0.000000001265936,-0.000000017989822,0.000000280227904,0.000000055281368,-0.000000004208559,0.000000007049946,0.012222905331314,0.012222905331314,0.078253680733524,0.078253680733524,0.005385129149808,0.005385129149808,0.012222905331314,0.078253680733524,0.005385129149808,2.903302902746304,18.58757245236675,1.279128052497219,0.001371487528377,18.58757245236675],[0.000045001251148,0.000014790880229,0.000000000049846,-0.00000000003924,-0.000000000040871,-0.000045001242955,-0.000014790879611,-0.000000000049846,0.00000000003924,-0.000000000052429,0.000000000040871,0.000000000008193,0.000000000000618,6.14238473487736e-20,1.46959906155891e-19,-1.57033175946243e-19,-1.64163039849098e-20,0.000189996206185,0.000189996206185,0.000000000261203,0.000000000261203,0.000000000261254,0.000000000261254,0.000189996206185,0.000000000261203,0.000000000261254,0.045129739777588,0.000000062043525,0.000000062055505,0.000000000052429,0.045129739777588],[0.000051001536369,0.000016763007868,0.000000000060221,-0.000000000046418,-0.000000000048439,-0.000051001367136,-0.000016762995103,-0.000000000060221,0.000000000046418,-0.000000000063618,0.000000000048439,0.000000000169233,0.000000000012765,1.42358518835639e-18,3.20831219118878e-18,-3.49638986594099e-18,-3.65186908617133e-19,0.000215784024807,0.000215784024807,0.000000000313841,0.000000000313841,0.000000000313841,0.000000000313841,0.000215784024807,0.000000000313841,0.000000000313841,0.051255112316386,0.000000074546465,0.000000074546466,0.000000000063618,0.051255112316386],[0.000054001904656,0.000017749087832,0.000000000060362,-0.000000000049448,-0.000000000051623,-0.000054001896349,-0.000017749087205,-0.000000000060362,0.000000000049448,-0.00000000006379,0.000000000051623,0.000000000008307,0.000000000000627,8.4850261455826e-20,1.5285626928202e-19,-1.5540006938547e-19,-1.24510521599235e-20,0.000228478054725,0.000228478054725,0.000000000322078,0.000000000322078,0.000000000322091,0.000000000322091,0.000228478054725,0.000000000322078,0.000000000322091,0.054270321295742,0.000000076503004,0.000000076506121,0.00000000006379,0.054270321295742],[0.000000000247535,-0.000000000143792,0.000236000313389,0.000000084887598,-0.000000000154892,-0.000000000247535,0.000000000143792,-0.00023599995985,-0.000000084860931,-0.000000000250298,0.000000000154892,-5.30999991550046e-18,-2.78613199552946e-18,0.000000000353539,0.000000000026667,2.39168158880227e-19,6.0110957137275e-18,0.000000001153856,0.000000001153856,0.000975478952145,0.000975478952145,0.000000001153859,0.000000001153859,0.000000001153856,0.000975478952145,0.000000001153859,0.000000274075081,0.23170521218674,0.000000274075725,0.000000000250298,0.23170521218674],[0.013313021708158,0.00428964585807,0.006848602658868,0.000044802689573,-0.000000322780271,-0.013311185658042,-0.00428986710729,-0.006848229918918,-0.000044346469792,-0.000299953156267,0.000000318084576,0.000001836050116,-0.000000221249219,0.00000037273995,0.000000456219781,-0.000000016462351,-0.000000004695695,0.056398180986532,0.056398180986532,0.028311903617521,0.028311903617521,0.00117557118569,0.00117557118569,0.056398180986532,0.028311903617521,0.00117557118569,13.396242393231796,6.724917662941933,0.279233058203779,0.000299936693915,13.396242393231796],[0.002895871879761,0.00094263007905,0.018951301435019,0.000034143080937,0.000002834462062,-0.002895870737486,-0.000942646311561,-0.018951048580807,-0.000034093199656,-0.001371495644266,-0.00000282810078,0.000000001142275,-0.000000016232511,0.000000252854212,0.000000049881281,-0.000000003797452,0.000000006361282,0.012222905775419,0.012222905775419,0.078253681165648,0.078253681165648,0.005385129581462,0.005385129581462,0.012222905775419,0.078253681165648,0.005385129581462,2.903303008234492,18.587572555009004,1.279128155027935,0.001371491846814,18.587572555009004],[0.000045001243199,0.000014790879765,0.000000000050088,-0.000000000039097,-0.00000000004072,-0.000045001237027,-0.000014790879299,-0.000000000050088,0.000000000039097,-0.000000000052682,0.00000000004072,0.000000000006172,0.000000000000466,4.29605621534792e-20,1.08132474717656e-19,-1.13808523457509e-19,-1.28392518988037e-20,0.000189996207309,0.000189996207309,0.000000000261626,0.000000000261626,0.000000000261676,0.000000000261676,0.000189996207309,0.000000000261626,0.000000000261676,0.045129740044526,0.000000062143842,0.00000006215586,0.000000000052682,0.045129740044526],[0.000054001896491,0.00001774908718,0.000000000060501,-0.000000000049478,-0.000000000051657,-0.000054001887469,-0.000017749086499,-0.000000000060501,0.000000000049478,-0.000000000063936,0.000000000051657,0.000000000009022,0.000000000000681,7.00750579568272e-20,1.63643395941004e-19,-1.75099194727662e-19,-2.38955418366436e-20,0.000228478055236,0.000228478055236,0.000000000322599,0.000000000322599,0.000000000322619,0.000000000322619,0.000228478055236,0.000000000322599,0.000000000322619,0.054270321417043,0.000000076626905,0.000000076631566,0.000000000063936,0.054270321417043],[0.000000000247475,-0.000000000143758,0.000235999959791,0.000000084860965,-0.000000000154856,-0.000000000247475,0.000000000143758,-0.000235999813784,-0.000000084849952,-0.000000000250238,0.000000000154856,-2.15083570084463e-18,-1.16706886775713e-18,0.000000000146007,0.000000000011013,1.03503042097229e-19,2.54771631251272e-18,0.000000001153579,0.000000001153579,0.000975478951902,0.000975478951902,0.000000001153585,0.000000001153585,0.000000001153579,0.000975478951902,0.000000001153585,0.000000274009366,0.231705212128975,0.000000274010667,0.000000000250238,0.231705212128975],[0.013311198636304,0.004289869471117,0.006848242653789,0.000044348316344,-0.000000316027301,-0.013308878745302,-0.004290149024291,-0.006847771687702,-0.000043771871929,-0.00029998737457,0.000000310093784,0.000002319891003,-0.000000279553174,0.000000470966087,0.000000576444415,-0.000000020801386,-0.000000005933517,0.056398233724403,0.056398233724403,0.028311956313159,0.028311956313159,0.00117562376046,0.00117562376046,0.056398233724403,0.028311956313159,0.00117562376046,13.396254920041983,6.724930179720603,0.27924554627251,0.000299966573184,13.396254920041983],[0.00289587083179,0.000942646336293,0.018951048673192,0.000034093220731,0.000002828123414,-0.002895869886403,-0.000942659770893,-0.018950839402118,-0.000034051937221,-0.001371498884213,-0.000002822858593,0.000000000945387,-0.000000013434599,0.000000209271074,0.00000004128351,-0.000000003142906,0.000000005264822,0.012222906166046,0.012222906166046,0.078253681547285,0.078253681547285,0.005385129962674,0.005385129962674,0.012222906166046,0.078253681547285,0.005385129962674,2.903303101020006,18.587572645659261,1.279128245577037,0.001371495741308,18.587572645659261],[0.000045001237059,0.000014790879076,0.000000000050115,-0.000000000039324,-0.000000000040956,-0.000045001232543,-0.000014790878735,-0.000000000050115,0.000000000039324,-0.000000000052704,0.000000000040956,0.000000000004516,0.000000000000341,4.15438408710716e-20,7.91778057817582e-20,-1.01909536808282e-19,9.17071880682814e-23,0.000189996207151,0.000189996207151,0.000000000262285,0.000000000262285,0.00000000026231,0.00000000026231,0.000189996207151,0.000000000262285,0.00000000026231,0.045129740006922,0.000000062300587,0.000000062306396,0.000000000052704,0.045129740006922],[0.00005400188747,0.000017749086499,0.000000000060501,-0.000000000049478,-0.000000000051656,-0.000054001879567,-0.000017749085903,-0.000000000060501,0.000000000049478,-0.000000000063936,0.000000000051656,0.000000000007903,0.000000000000596,6.85998718072184e-20,1.48747908748713e-19,-1.66995332115874e-19,-2.96890631481767e-21,0.000228478055238,0.000228478055238,0.000000000322598,0.000000000322598,0.000000000322617,0.000000000322617,0.000228478055238,0.000000000322598,0.000000000322617,0.054270321417567,0.000000076626598,0.000000076631109,0.000000000063936,0.054270321417567],[0.00000000024748,-0.000000000143656,0.000235999813792,0.000000084850052,-0.000000000154751,-0.00000000024748,0.000000000143656,-0.000235999710769,-0.000000084842281,-0.000000000250245,0.000000000154751,-1.5209005963543e-18,-7.75616809804674e-19,0.000000000103023,0.000000000007771,6.68414150719014e-20,1.72508602050935e-18,0.000000001153388,0.000000001153388,0.000975478951936,0.000975478951936,0.000000001153391,0.000000001153391,0.000000001153388,0.000975478951936,0.000000001153391,0.000000273963877,0.23170521213702,0.000000273964612,0.000000000250245,0.23170521213702],[0.013308890527505,0.004290151171006,0.006847783250182,0.000043773547383,-0.000000308225546,-0.013307436901047,-0.004290326336812,-0.006847488145935,-0.000043412351391,-0.000300012592279,0.000000304507421,0.000001453626458,-0.000000175165806,0.000000295104247,0.000000361195993,-0.000000013034467,-0.000000003718125,0.056398281609761,0.056398281609761,0.028312004160297,0.028312004160297,0.001175671497901,0.001175671497901,0.056398281609761,0.028312004160297,0.001175671497901,13.396266294236019,6.724941544836371,0.279256885332018,0.000299999557812,13.396266294236019],[0.002895869976163,0.000942659797296,0.018950839490128,0.000034051960082,0.000002822883082,-0.002895868879458,-0.000942675382227,-0.018950596723297,-0.000034004068767,-0.001371502622625,-0.000002816775577,0.000000001096705,-0.000000015584931,0.000000242766831,0.000000047891315,-0.000000003645957,0.000000006107505,0.012222906541409,0.012222906541409,0.078253681910872,0.078253681910872,0.00538513032589,0.00538513032589,0.012222906541409,0.078253681910872,0.00538513032589,2.903303190179796,18.587572732021833,1.279128331851618,0.001371498976668,18.587572732021833],[0.000045001232584,0.000014790878815,0.000000000050161,-0.000000000039243,-0.000000000040877,-0.000045001230291,-0.000014790878642,-0.000000000050161,0.000000000039243,-0.000000000052755,0.000000000040877,0.000000000002293,0.000000000000173,2.56839127833318e-20,4.47354784905163e-20,-4.47693735085853e-20,-3.05599292368302e-21,0.000189996207409,0.000189996207409,0.000000000262231,0.000000000262231,0.000000000262279,0.000000000262279,0.000189996207409,0.000000000262231,0.000000000262279,0.045129740068311,0.0000000622876,0.000000062299152,0.000000000052755,0.045129740068311],[0.000054001879701,0.000017749086144,0.000000000060639,-0.000000000049248,-0.000000000051413,-0.000054001871304,-0.000017749085511,-0.000000000060639,0.000000000049248,-0.00000000006408,0.000000000051413,0.000000000008397,0.000000000000633,7.93115376223533e-20,1.44252615096839e-19,-1.67678118012748e-19,-1.18769952771602e-20,0.000228478056053,0.000228478056053,0.000000000322439,0.000000000322439,0.000000000322458,0.000000000322458,0.000228478056053,0.000000000322439,0.000000000322458,0.054270321611064,0.000000076588942,0.000000076593438,0.00000000006408,0.054270321611064],[0.000000000247216,-0.00000000014356,0.000235999710517,0.00000008484238,-0.000000000154649,-0.000000000247216,0.00000000014356,-0.00023599960514,-0.000000084834432,-0.000000000249976,0.000000000154649,-1.58269186699141e-18,-8.54448776542203e-19,0.000000000105377,0.000000000007948,4.80382555800757e-20,1.77713550752424e-18,0.000000001152276,0.000000001152276,0.000975478950896,0.000975478950896,0.000000001152285,0.000000001152285,0.000000001152276,0.000975478950896,0.000000001152285,0.000000273699711,0.231705211890148,0.000000273701945,0.000000000249976,0.231705211890148],[0.013307448407906,0.004290328433876,0.006847499438965,0.00004341398719,-0.000000302682433,-0.013305216205255,-0.004290597419956,-0.006847046273472,-0.000042859330868,-0.000300044509085,0.000000296972503,0.000002232202651,-0.00000026898608,0.000000453165493,0.000000554656322,-0.000000020016561,-0.00000000570993,0.056398328380876,0.056398328380876,0.028312050894087,0.028312050894087,0.001175718124589,0.001175718124589,0.056398328380876,0.028312050894087,0.001175718124589,13.396277403764479,6.724952645498856,0.279267960554771,0.000300024492524,13.396277403764479],[0.00289586898264,0.000942675410023,0.018950596824399,0.000034004092554,0.000002816801113,-0.002895867777285,-0.000942692538951,-0.018950330006689,-0.000033951456652,-0.00137150673599,-0.000002810088537,0.000000001205355,-0.000000017128928,0.000000266817711,0.000000052635902,-0.000000004007162,0.000000006712575,0.012222906969726,0.012222906969726,0.078253682328535,0.078253682328535,0.005385130743097,0.005385130743097,0.012222906969726,0.078253682328535,0.005385130743097,2.90330329191781,18.587572831229213,1.279128430950679,0.001371502728829,18.587572831229213],[0.000045001230476,0.000014790878591,0.000000000050339,-0.000000000039298,-0.00000000004093,-0.000045001227105,-0.000014790878337,-0.000000000050339,0.000000000039298,-0.000000000052938,0.00000000004093,0.000000000003372,0.000000000000254,2.68490612995981e-20,5.91197163654615e-20,-5.50241900563466e-20,-1.14927117214925e-20,0.000189996208051,0.000189996208051,0.000000000262949,0.000000000262949,0.000000000262976,0.000000000262976,0.000189996208051,0.000000000262949,0.000000000262976,0.045129740220738,0.000000062458122,0.000000062464721,0.000000000052938,0.045129740220738],[0.000054001871392,0.000017749085386,0.000000000060721,-0.000000000049376,-0.000000000051546,-0.000054001859408,-0.000017749084482,-0.000000000060721,0.000000000049376,-0.000000000064162,0.000000000051546,0.000000000011984,0.000000000000904,9.73643796751081e-20,2.16055588729804e-19,-2.52691075555306e-19,-2.30737185110265e-20,0.000228478056232,0.000228478056232,0.000000000323039,0.000000000323039,0.000000000323039,0.000000000323039,0.000228478056232,0.000000000323039,0.000000000323039,0.054270321653694,0.000000076731456,0.000000076731435,0.000000000064162,0.054270321653694],[0.000000000247482,-0.000000000143555,0.0002359996054,0.000000084834434,-0.000000000154646,-0.000000000247482,0.000000000143555,-0.000235999481063,-0.000000084825055,-0.000000000250253,0.000000000154646,-1.89300112576759e-18,-9.90734537278557e-19,0.000000000124337,0.000000000009379,8.0589570442839e-20,2.13983419869767e-18,0.000000001153193,0.000000001153193,0.000975478951971,0.000975478951971,0.000000001153203,0.000000001153203,0.000000001153193,0.000975478951971,0.000000001153203,0.000000273917677,0.231705212145344,0.000000273919855,0.000000000250253,0.231705212145344],[0.013305230118849,0.004290599956585,0.006847059929923,0.000042861307871,-0.000000294765052,-0.013303004871101,-0.004290868104338,-0.006846608175644,-0.000042308379324,-0.00030007885659,0.000000289072501,0.000002225247748,-0.000000268147753,0.000000451754279,0.000000552928547,-0.00000001995505,-0.000000005692551,0.05639838494341,0.05639838494341,0.0283121074115,0.0283121074115,0.001175774512539,0.001175774512539,0.05639838494341,0.0283121074115,0.001175774512539,13.396290839045594,6.724966070062488,0.279281354366986,0.00030005890154,13.396290839045594],[0.002895868122238,0.000942692634073,0.018950330344756,0.000033951538298,0.000002810176128,-0.002895861551063,-0.000942786014948,-0.018948875748838,-0.00003366458595,-0.001371528936748,-0.000002773581531,0.000000006571175,-0.000000093380875,0.000001454595919,0.000000286952349,-0.000000021845636,0.000000036594597,0.012222908404376,0.012222908404376,0.078253683725155,0.078253683725155,0.00538513213816,0.00538513213816,0.012222908404376,0.078253683725155,0.00538513213816,2.90330363268982,18.587573162967999,1.279128762319464,0.001371507091112,18.587573162967999],[0.00004500122738,0.000014790878455,0.000000000050613,-0.000000000039203,-0.000000000040824,-0.000045001221728,-0.000014790878029,-0.000000000050613,0.000000000039203,-0.000000000053213,0.000000000040824,0.000000000005652,0.000000000000426,4.38276154564966e-20,1.00663259968501e-19,-1.11304751140888e-19,-2.0879059711907e-20,0.000189996209248,0.000189996209248,0.0000000002636,0.0000000002636,0.000000000263577,0.000000000263577,0.000189996209248,0.0000000002636,0.000000000263577,0.045129740505085,0.000000062612886,0.00000006260738,0.000000000053213,0.045129740505085],[0.000054001859482,0.00001774908452,0.000000000060795,-0.000000000049342,-0.000000000051509,-0.000054001844914,-0.000017749083421,-0.000000000060795,0.000000000049342,-0.000000000064239,0.000000000051509,0.000000000014569,0.000000000001099,1.2838226970326e-19,2.64196421168185e-19,-2.87196656314014e-19,-2.44208079879633e-20,0.000228478056561,0.000228478056561,0.000000000323184,0.000000000323184,0.000000000323182,0.000000000323182,0.000228478056561,0.000000000323184,0.000000000323182,0.054270321731664,0.000000076765851,0.000000076765252,0.000000000064239,0.054270321731664],[0.000000000247561,-0.000000000143598,0.000235999481141,0.00000008482501,-0.000000000154695,-0.000000000247561,0.000000000143598,-0.000235999324298,-0.000000084813179,-0.000000000250335,0.000000000154695,-2.30947255381641e-18,-1.2090870579354e-18,0.000000000156842,0.00000000001183,1.28658276609214e-19,2.63366304064458e-18,0.000000001153557,0.000000001153557,0.000975478952291,0.000975478952291,0.000000001153577,0.000000001153577,0.000000001153557,0.000975478952291,0.000000001153577,0.000000274004034,0.231705212221444,0.000000274008728,0.000000000250335,0.231705212221444],[0.013303019608039,0.004290870792091,0.006846622641712,0.000042310472342,-0.000000286733612,-0.013300522806609,-0.004291171662431,-0.006846115757644,-0.000041690067815,-0.000300116495344,0.000000280345892,0.000002496801429,-0.00000030087034,0.000000506884068,0.000000620404528,-0.000000022391242,-0.00000000638772,0.056398444862516,0.056398444862516,0.028312167282812,0.028312167282812,0.001175834246775,0.001175834246775,0.056398444862516,0.028312167282812,0.001175834246775,13.396305071612186,6.724980291276546,0.279295543021546,0.000300094104102,13.396305071612186],[0.002895863957076,0.000942786745384,0.018948878108718,0.000033665220348,0.000002750758783,-0.002895812225336,-0.000943492502203,-0.01893790728685,-0.000031485900839,-0.001296688362464,-0.000002490507706,0.00000005173174,-0.000000705756819,0.000010970821869,0.000002179319509,-0.000000158419873,0.000000260251077,0.012222918494027,0.012222918494027,0.078253693475441,0.078253693475441,0.005090659272624,0.005090659272624,0.012222918494027,0.078253693475441,0.005090659272624,2.903306029281467,18.587575478950388,1.209182714132411,0.00129652994259,18.587575478950388],[0.000000000077571,-0.000000000046211,0.000000000073912,-0.000000000047318,0.000000023452625,-0.000000000077571,0.000000000046211,-0.000000000073912,0.000000000047318,-0.000075001408176,-0.000000023441854,9.87319418722055e-20,2.51314784017806e-18,-2.20356483305501e-18,-1.17553913260618e-18,0.000000000142807,0.000000000010772,0.000000000362386,0.000000000362386,0.000000000362427,0.000000000362427,0.000294483365004,0.000294483365004,0.000000000362386,0.000000000362427,0.000294483365004,0.000000086077494,0.000000086087212,0.069948542122406,0.000075001550983,0.069948542122406],[0.00004500122187,0.000014790877954,0.000000000050751,-0.000000000039277,-0.000000000040904,-0.00004500119666,-0.000014790876053,-0.000000000050751,0.000000000039277,-0.00000000005336,0.000000000040904,0.00000000002521,0.000000000001902,2.05383776218088e-19,4.5200367565703e-19,-4.87082550741374e-19,-4.79127503091663e-20,0.000189996209695,0.000189996209695,0.000000000264232,0.000000000264232,0.000000000264228,0.000000000264228,0.000189996209695,0.000000000264232,0.000000000264228,0.045129740611353,0.000000062763018,0.000000062761999,0.00000000005336,0.045129740611353],[0.00005400184538,0.000017749083467,0.00000000006125,-0.000000000049311,-0.000000000051474,-0.00005400175508,-0.000017749076656,-0.00000000006125,0.000000000049311,-0.000000000064718,0.000000000051474,0.0000000000903,0.000000000006811,7.78732657000494e-19,1.65839716856167e-18,-1.83585104922524e-18,-1.48342053873634e-19,0.000228478058399,0.000228478058399,0.000000000324567,0.000000000324567,0.000000000324567,0.000000000324567,0.000228478058399,0.000000000324567,0.000000000324567,0.054270322168268,0.000000077094207,0.000000077094362,0.000000000064718,0.054270322168268],[0.000000000247479,-0.000000000143654,0.000235999324214,0.000000084813123,-0.000000000154752,-0.000000000247479,0.000000000143654,-0.000235999183747,-0.000000084802528,-0.000000000250243,0.000000000154752,-2.0274671925539e-18,-1.08451748339525e-18,0.000000000140468,0.000000000010595,7.73759220642822e-20,2.35724132946256e-18,0.000000001153382,0.000000001153382,0.000975478951944,0.000975478951944,0.000000001153389,0.000000001153389,0.000000001153382,0.000975478951944,0.000000001153389,0.000000273962563,0.231705212138887,0.000000273964105,0.000000000250243,0.231705212138887],[0.01330053623523,0.004291174112564,0.006846128940964,0.000041691973974,-0.000000278213867,-0.01329872945909,-0.004291391833071,-0.00684576214069,-0.000041243026446,-0.000300146596447,0.000000273591158,0.00000180677614,-0.000000217720507,0.000000366800274,0.000000448947529,-0.000000016203786,-0.000000004622709,0.056398499471725,0.056398499471725,0.028312221848519,0.028312221848519,0.001175888687615,0.001175888687615,0.056398499471725,0.028312221848519,0.001175888687615,13.396318042920566,6.724993252251998,0.27930847433736,0.000300130392661,13.396318042920566],[0.002895816513984,0.000943493681505,0.018937911487126,0.000031486910386,0.0000024915913,-0.00289576696651,-0.00094416963692,-0.018927403931724,-0.000029399616977,-0.001296844509113,-0.000002242329243,0.000000049547474,-0.000000675955415,0.000010507555402,0.000002087293409,-0.000000151730835,0.000000249262057,0.012222936324939,0.012222936324939,0.078253710838372,0.078253710838372,0.005090676616746,0.005090676616746,0.012222936324939,0.078253710838372,0.005090676616746,2.903310264652409,18.587579603161966,1.209186833876337,0.001296692778278,18.587579603161966],[0.000000000077723,-0.00000000004623,0.000000000074057,-0.000000000047335,0.000000023441835,-0.000000000077723,0.00000000004623,-0.000000000074057,0.000000000047335,-0.000075000531481,-0.000000023375695,6.25778340966493e-19,1.5415775079879e-17,-1.36703385228327e-17,-7.16966860941309e-18,0.000000000876854,0.00000000006614,0.000000000362951,0.000000000362951,0.000000000362972,0.000000000362972,0.000294483365629,0.000294483365629,0.000000000362951,0.000000000362972,0.000294483365629,0.000000086211521,0.000000086216691,0.069948542270916,0.000075001408335,0.069948542270916],[-0.000000000000138,0.000000000000027,-0.00000000000013,0.000000000000026,0.000000000000027,0.000000000000138,-0.000000000000027,0.00000000000013,-0.000000000000026,0.000000000000144,-0.000000000000027,5.55358077275592e-28,6.6264316038565e-29,5.3011452830852e-28,4.41762106923767e-29,6.31088724176809e-28,5.04870979341448e-29,0.000000000000565,0.000000000000565,0.000000000000549,0.000000000000549,0.000000000000575,0.000000000000575,0.000000000000565,0.000000000000549,0.000000000000575,0.000000000134144,0.000000000130455,0.000000000136524,-0.000000000000144,0.000000000136524],[0.000045001197239,0.000014790876114,0.000000000051315,-0.000000000039235,-0.000000000040858,-0.000045001104569,-0.000014790869124,-0.000000000051315,0.000000000039235,-0.000000000053951,0.000000000040858,0.00000000009267,0.00000000000699,7.56340787345804e-19,1.70033861835109e-18,-1.8519454507049e-18,-1.99305252411439e-19,0.000189996211976,0.000189996211976,0.000000000265968,0.000000000265968,0.000000000265967,0.000000000265967,0.000189996211976,0.000000000265968,0.000000000265967,0.04512974115307,0.000000063175246,0.000000063175105,0.000000000053951,0.04512974115307],[0.000054001757031,0.000017749076859,0.000000000063156,-0.000000000049176,-0.00000000005132,-0.000054001448048,-0.000017749053553,-0.000000000063156,0.000000000049176,-0.000000000066721,0.00000000005132,0.000000000308983,0.000000000023306,2.62272565791979e-18,5.81932207004032e-18,-6.35329325040669e-18,-6.4554354382246e-19,0.000228478066106,0.000228478066106,0.000000000330389,0.000000000330389,0.000000000330389,0.000000000330389,0.000228478066106,0.000000000330389,0.000000000330389,0.054270323999002,0.000000078477152,0.000000078477136,0.000000000066721,0.054270323999002],[0.000000000247831,-0.000000000143596,0.000235999184086,0.000000084802585,-0.000000000154688,-0.000000000247831,0.000000000143596,-0.000235999072937,-0.000000084794201,-0.000000000250614,0.000000000154688,-1.66016761941587e-18,-8.78507350507702e-19,0.000000000111148,0.000000000008384,4.31041232261968e-20,1.87819707434473e-18,0.000000001154492,0.000000001154492,0.000975478953345,0.000975478953345,0.000000001154493,0.000000001154493,0.000000001154492,0.000975478953345,0.000000001154493,0.000000274226108,0.231705212471685,0.0000002742264,0.000000000250614,0.231705212471685],[0.013298741814418,0.004291394088037,0.006845774271337,0.00004124477956,-0.000000271629016,-0.013296588300103,-0.004291653591049,-0.006845337077851,-0.000040709674247,-0.000300178699498,0.00000026611881,0.000002153514316,-0.000000259503012,0.000000437193486,0.000000535105313,-0.000000019314188,-0.000000005510206,0.056398549722655,0.056398549722655,0.028312272059458,0.028312272059458,0.001175938783708,0.001175938783708,0.056398549722655,0.028312272059458,0.001175938783708,13.396329979008481,6.725005178840602,0.279320373646681,0.00030015938531,13.396329979008481],[0.002895769155908,0.000944170239532,0.018927406074888,0.000029400131899,0.000002242882119,-0.002895766950189,-0.000944200331175,-0.018926938308178,-0.000029307211479,-0.001296853518457,-0.000002231785661,0.000000002205719,-0.000000030091643,0.000000467766711,0.000000092920419,-0.000000006754642,0.000000011096458,0.012222945427925,0.012222945427925,0.078253719702385,0.078253719702385,0.005090685471154,0.005090685471154,0.012222945427925,0.078253719702385,0.005090685471154,2.903312426881915,18.587581708628203,1.209188937061126,0.001296846763815,18.587581708628203],[0.000000000077733,-0.000000000046229,0.000000000074067,-0.000000000047336,0.000000023375695,-0.000000000077733,0.000000000046229,-0.000000000074067,0.000000000047336,-0.000075000211023,-0.000000023351523,2.34204002455052e-19,5.63370334804419e-18,-4.99217473858226e-18,-2.61096860383145e-18,0.000000000320468,0.000000000024172,0.000000000362985,0.000000000362985,0.000000000363006,0.000000000363006,0.000294483365669,0.000294483365669,0.000000000362985,0.000000000363006,0.000294483365669,0.000000086219629,0.000000086224743,0.069948542280487,0.000075000531492,0.069948542280487],[-0.000000000000149,0.000000000000029,-0.000000000000141,0.000000000000028,0.000000000000029,0.000000000000149,-0.000000000000029,0.000000000000141,-0.000000000000028,0.000000000000155,-0.000000000000029,3.28166136571941e-27,2.6505726415426e-28,3.1049565229499e-27,2.55590933291608e-28,3.40787911055477e-27,2.83989925879564e-28,0.000000000000608,0.000000000000608,0.000000000000592,0.000000000000592,0.000000000000618,0.000000000000618,0.000000000000608,0.000000000000592,0.000000000000618,0.000000000144362,0.000000000140639,0.000000000146723,-0.000000000000155,0.000000000146723],[0.000000000247583,-0.000000000143668,0.00023599907269,0.000000084794139,-0.000000000154753,-0.000000000247583,0.000000000143668,-0.000235998881933,-0.000000084779751,-0.000000000250356,0.000000000154753,-2.85717722002254e-18,-1.51547196509048e-18,0.000000000190757,0.000000000014389,1.44340742143819e-19,3.23445308248645e-18,0.000000001153772,0.000000001153772,0.000975478952323,0.000975478952323,0.000000001153767,0.000000001153767,0.000000001153772,0.000975478952323,0.000000001153767,0.000000274055062,0.231705212229008,0.000000274053833,0.000000000250356,0.231705212229008],[0.013296604764634,0.00429165659712,0.00684535324459,0.0000407120094,-0.000000263503175,-0.013293480042754,-0.004292033132284,-0.006844718881207,-0.000039935577774,-0.000300223771468,0.000000255507251,0.00000312472188,-0.000000376535164,0.000000634363383,0.000000776431626,-0.000000028026063,-0.000000007995923,0.056398616696591,0.056398616696591,0.028312338980061,0.028312338980061,0.00117600555132,0.00117600555132,0.056398616696591,0.028312338980061,0.00117600555132,13.396345887306621,6.725021074470844,0.279336232936931,0.000300195745405,13.396345887306621],[0.000000000196634,-0.000000000117774,0.000000000186995,-0.000000000120504,0.000000057421695,-0.000000000196634,0.000000000117774,-0.000000000186995,0.000000000120504,-0.000183005040331,-0.000000057237309,2.03650975006458e-18,4.46917420135612e-17,-3.96833667358869e-17,-2.06017484713738e-17,0.000000002444503,0.000000000184385,0.000000000919811,0.000000000919811,0.000000000919761,0.000000000919761,0.00071837890495,0.00071837890495,0.000000000919811,0.000000000919761,0.00071837890495,0.000000218482413,0.000000218470631,0.170636317919444,0.000183007484835,0.170636317919444],[0.002895768541703,0.000944200945789,0.018926939871677,0.000029307757033,0.000002174820264,-0.002895723900825,-0.000944756367372,-0.018918349265304,-0.000027572560977,-0.001113958778933,-0.000002000866951,0.000000044640878,-0.000000555421582,0.000008590606373,0.000001735196056,-0.000000110903679,0.000000173953313,0.012222952264691,0.012222952264691,0.078253726170174,0.078253726170174,0.004372314626926,0.004372314626926,0.012222952264691,0.078253726170174,0.004372314626926,2.903314050816714,18.587583244920079,1.038554533802329,0.001113847875255,18.587583244920079],[0.000000000077751,-0.000000000046211,0.000000000074084,-0.000000000047316,0.000000023351543,-0.000000000077751,0.000000000046211,-0.000000000074084,0.000000000047316,-0.000075000178423,-0.000000023349083,2.08760094833982e-20,5.90690425056547e-19,-5.03388426114508e-19,-2.71585166753375e-19,0.000000000032619,0.00000000000246,0.000000000363006,0.000000000363006,0.000000000363023,0.000000000363023,0.000294483365745,0.000294483365745,0.000000000363006,0.000000000363023,0.000294483365745,0.00000008622481,0.000000086228824,0.069948542298497,0.000075000211043,0.069948542298497],[-0.000000000000132,0.000000000000025,-0.000000000000126,0.000000000000023,0.000000000000024,0.000000000000132,-0.000000000000025,0.000000000000126,-0.000000000000023,0.000000000000139,-0.000000000000024,2.01948391736579e-28,0.0,2.01948391736579e-28,9.46633086265214e-30,2.27191940703651e-28,-3.15544362088405e-30,0.000000000000541,0.000000000000541,0.000000000000527,0.000000000000527,0.000000000000555,0.000000000000555,0.000000000000541,0.000000000000527,0.000000000000555,0.000000000128503,0.000000000125166,0.000000000131943,-0.000000000000139,0.000000000131943],[0.000000000247665,-0.000000000143636,0.000235998882016,0.000000084779781,-0.000000000154723,-0.000000000247665,0.000000000143636,-0.000235998216102,-0.000000084729552,-0.000000000250443,0.000000000154723,-9.94841085769334e-18,-5.27004768645021e-18,0.000000000665914,0.000000000050229,4.63459629540052e-19,1.13009044606683e-17,0.000000001153995,0.000000001153995,0.000975478952666,0.000975478952666,0.000000001153997,0.000000001153997,0.000000001153995,0.000975478952666,0.000000001153997,0.000000274107957,0.231705212310538,0.000000274108469,0.000000000250443,0.231705212310538],[0.013293497012225,0.004292036232077,0.00684473554616,0.00003993798285,-0.000000252810208,-0.013291180408096,-0.004292315387144,-0.006844265241363,-0.000039362352035,-0.000300262124636,0.000000246881673,0.000002316604129,-0.000000279155067,0.000000470304797,0.000000575630814,-0.00000002077903,-0.000000005928535,0.056398685739663,0.056398685739663,0.028312407968288,0.028312407968288,0.001176074381928,0.001176074381928,0.056398685739663,0.028312407968288,0.001176074381928,13.39636228708617,6.725037461222902,0.279352582249879,0.000300241345607,13.39636228708617],[0.000000000196662,-0.00000000011775,0.000000000187023,-0.000000000120482,0.000000057237333,-0.000000000196662,0.00000000011775,-0.000000000187023,0.000000000120482,-0.000183004816381,-0.000000057220438,1.58067494216407e-19,4.06391792845165e-18,-3.67607284325903e-18,-1.89699542584924e-18,0.00000000022398,0.000000000016894,0.000000000919858,0.000000000919858,0.00000000091981,0.00000000091981,0.000718378905065,0.000718378905065,0.000000000919858,0.00000000091981,0.000718378905065,0.000000218493569,0.000000218482187,0.170636317946652,0.00018300504036,0.170636317946652],[0.00289572641597,0.000944757059967,0.018918351726225,0.000027573151819,0.000002001501546,-0.002895704879206,-0.000945025019801,-0.018914207241836,-0.000026736017243,-0.001114014874416,-0.000001917578708,0.000000021536764,-0.000000267959834,0.000004144484389,0.000000837134577,-0.00000005350493,0.000000083922838,0.012222962721896,0.012222962721896,0.07825373635305,0.07825373635305,0.004372324799347,0.004372324799347,0.012222962721896,0.07825373635305,0.004372324799347,2.90331653471342,18.587585663655652,1.038556950054488,0.001113961369486,18.587585663655652],[0.000000000077788,-0.000000000046192,0.000000000074121,-0.000000000047299,0.000000023349101,-0.000000000077788,0.000000000046192,-0.000000000074121,0.000000000047299,-0.000075000155697,-0.000000023347384,2.56880680734401e-20,3.97204898779953e-19,-3.48986505234448e-19,-1.83182003007921e-19,0.000000000022764,0.000000000001717,0.000000000363094,0.000000000363094,0.000000000363113,0.000000000363113,0.000294483365895,0.000294483365895,0.000000000363094,0.000000000363113,0.000294483365895,0.000000086245549,0.000000086250112,0.069948542334041,0.000075000178461,0.069948542334041],[-0.000000000000162,0.000000000000042,-0.000000000000155,0.000000000000039,0.000000000000043,0.000000000000162,-0.000000000000042,0.000000000000155,-0.000000000000039,0.00000000000017,-0.000000000000043,1.0097419586829e-28,6.31088724176809e-30,2.52435489670724e-29,1.89326617253043e-29,7.57306469012171e-29,2.52435489670724e-29,0.00000000000067,0.00000000000067,0.000000000000659,0.000000000000659,0.00000000000069,0.00000000000069,0.00000000000067,0.000000000000659,0.00000000000069,0.000000000159079,0.000000000156635,0.000000000163965,-0.00000000000017,0.000000000163965],[0.000000000247735,-0.00000000014362,0.00023599821617,0.000000084729564,-0.000000000154709,-0.000000000247735,0.00000000014362,-0.000235994145019,-0.000000084422483,-0.000000000250514,0.000000000154709,-6.08945361808609e-17,-3.21344326361428e-17,0.000000004071151,0.000000000307081,2.60046032104943e-18,6.87526404858284e-17,0.000000001154205,0.000000001154205,0.000975478952948,0.000975478952948,0.000000001154205,0.000000001154205,0.000000001154205,0.000975478952948,0.000000001154205,0.000000274157866,0.231705212377586,0.000000274157845,0.000000000250514,0.231705212377586],[0.013291194599427,0.004292317980511,0.006844279179527,0.000039364362418,-0.000000244625327,-0.01328895985914,-0.004292587270584,-0.006843825493559,-0.000038809072783,-0.000300296870652,0.000000238905871,0.000002234740287,-0.000000269290073,0.000000453685967,0.000000555289635,-0.00000002004562,-0.000000005719456,0.056398743488949,0.056398743488949,0.028312465671672,0.028312465671672,0.001176131953545,0.001176131953545,0.056398743488949,0.028312465671672,0.001176131953545,13.39637600425597,6.725051167489807,0.279366257217943,0.000300276825032,13.39637600425597],[0.000000000196595,-0.000000000117726,0.000000000186959,-0.000000000120456,0.000000057220464,-0.000000000196595,0.000000000117726,-0.000000000186959,0.000000000120456,-0.000183004688987,-0.00000005721086,1.02599967663474e-19,2.33828196208193e-18,-2.04478478736437e-18,-1.07679324498584e-18,0.000000000127328,0.000000000009604,0.000000000919582,0.000000000919582,0.000000000919531,0.000000000919531,0.000718378904806,0.000718378904806,0.000000000919582,0.000000000919531,0.000718378904806,0.000000218428095,0.000000218415875,0.170636317885207,0.000183004816315,0.170636317885207],[0.002895708161056,0.000945025926258,0.018914210452318,0.000026736790204,0.000001918408955,-0.002895643187745,-0.000945834320542,-0.018901707179667,-0.000024211283497,-0.001114179671667,-0.000001665226062,0.000000064973312,-0.000000808394284,0.000012503272651,0.000002525506707,-0.000000161416718,0.000000253182892,0.012222976369899,0.012222976369899,0.078253749640271,0.078253749640271,0.004372338072955,0.004372338072955,0.012222976369899,0.078253749640271,0.004372338072955,2.903319776519372,18.587588819765013,1.038560102930346,0.001114018254949,18.587588819765013],[0.000000000000109,-0.000000000002373,0.000000000000063,-0.000000000002263,-0.00000000000236,-0.000000000000109,0.000000000002373,-0.000000000000063,0.000000000002263,-0.000000000000062,0.00000000000236,9.68090102887226e-27,3.23117426778526e-27,8.73426794260704e-27,3.63507105125842e-27,8.88572923640948e-27,3.23117426778526e-27,0.000000000009533,0.000000000009533,0.000000000009365,0.000000000009365,0.000000000009268,0.000000000009268,0.000000000009533,0.000000000009365,0.000000000009268,0.000000002264307,0.000000002224354,0.000000002201341,0.000000000000062,0.000000002264307],[0.000000000077792,-0.000000000046325,0.000000000074122,-0.00000000004743,0.000000023347247,-0.000000000077792,0.000000000046325,-0.000000000074122,0.00000000004743,-0.000075000132116,-0.000000023345468,2.52172472085326e-21,4.09945877744576e-19,-3.74730679417874e-19,-1.96503837245967e-19,0.000000000023582,0.000000000001779,0.000000000363383,0.000000000363383,0.000000000363407,0.000000000363407,0.000294483365894,0.000294483365894,0.000000000363383,0.000000000363407,0.000294483365894,0.000000086314217,0.00000008632005,0.069948542333939,0.000075000155697,0.069948542333939],[0.000000000000002,0.000000000000003,0.000000000000002,-0.000000000000004,3.25283835678266e-16,-0.000000000000002,-0.000000000000003,-0.000000000000002,0.000000000000004,0.000000000000005,-3.25283835678266e-16,-3.94430452610506e-31,7.88860905221012e-31,3.94430452610506e-31,0.0,0.0,-6.40949485492072e-31,0.000000000000016,0.000000000000016,0.000000000000018,0.000000000000018,0.000000000000018,0.000000000000018,0.000000000000016,0.000000000000018,0.000000000000018,0.000000000003775,0.000000000004228,0.000000000004371,-0.000000000000005,0.000000000004371],[0.013288973644468,0.004292589790642,0.006843839034363,0.000038811024662,-0.000000236713389,-0.013286786503951,-0.004292853344623,-0.006843395011165,-0.000038267562281,-0.000300330773141,0.000000231115357,0.000002187140516,-0.000000263553981,0.000000444023198,0.00000054346238,-0.000000019619484,-0.000000005598033,0.056398799594881,0.056398799594881,0.028312521733092,0.028312521733092,0.001176187887013,0.001176187887013,0.056398799594881,0.028312521733092,0.001176187887013,13.396389331080577,6.725064483741317,0.279379543077421,0.000300311153657,13.396389331080577],[0.000000000196738,-0.000000000117752,0.000000000187098,-0.000000000120487,0.000000057210828,-0.000000000196738,0.000000000117752,-0.000000000187098,0.000000000120487,-0.000183004602673,-0.000000057204306,2.11506980702512e-20,1.60375116160398e-18,-1.40888369440479e-18,-7.47706107425304e-19,0.000000000086459,0.000000000006521,0.000000000920128,0.000000000920128,0.000000000920083,0.000000000920083,0.000718378905374,0.000718378905374,0.000000000920128,0.000000000920083,0.000718378905374,0.000000218557656,0.000000218547074,0.170636318020234,0.000183004689132,0.170636318020234],[0.002895649152736,0.000945835965656,0.018901713011252,0.000024212682822,0.00000166672986,-0.002895556613999,-0.000946987322514,-0.018883905230422,-0.000020615730167,-0.001114415716373,-0.000001306132719,0.000000092538736,-0.000001151356859,0.00001780778083,0.000003596952655,-0.000000229899151,0.000000360597141,0.012223001171221,0.012223001171221,0.078253773790623,0.078253773790623,0.004372362198519,0.004372362198519,0.012223001171221,0.078253773790623,0.004372362198519,2.903325667569591,18.587594556190638,1.038565833468198,0.001114185817222,18.587594556190638],[-0.000000000000179,-0.000000000001849,-0.000000000000196,-0.000000000001741,-0.000000000001809,0.000000000000179,0.000000000001849,0.000000000000196,0.000000000001741,0.000000000000216,0.000000000001809,2.09521456426701e-27,8.07793566946316e-28,2.12045811323408e-27,8.07793566946316e-28,1.79229197666214e-27,8.07793566946316e-28,0.000000000007454,0.000000000007454,0.000000000007247,0.000000000007247,0.000000000007152,0.000000000007152,0.000000000007454,0.000000000007247,0.000000000007152,0.00000000177055,0.000000001721445,0.000000001698801,-0.000000000000216,0.00000000177055],[0.000000000077811,-0.000000000046243,0.000000000074144,-0.000000000047352,0.00000002334555,-0.000000000077811,0.000000000046243,-0.000000000074144,0.000000000047352,-0.000075000033108,-0.000000023338081,7.9986400679923e-20,1.7403477096061e-18,-1.53290620529201e-18,-8.04318943084499e-19,0.000000000099029,0.00000000000747,0.000000000363279,0.000000000363279,0.000000000363309,0.000000000363309,0.000294483365976,0.000294483365976,0.000000000363279,0.000000000363309,0.000294483365976,0.000000086289586,0.000000086296744,0.069948542353416,0.000075000132137,0.069948542353416],[-0.00000000000007,0.000000000000016,-0.000000000000067,0.000000000000012,0.000000000000016,0.00000000000007,-0.000000000000016,0.000000000000067,-0.000000000000012,0.000000000000077,-0.000000000000016,3.78653234506086e-29,9.46633086265214e-30,5.04870979341448e-29,3.15544362088405e-30,2.52435489670724e-29,6.31088724176809e-30,0.00000000000029,0.00000000000029,0.00000000000028,0.00000000000028,0.000000000000307,0.000000000000307,0.00000000000029,0.00000000000028,0.000000000000307,0.000000000068817,0.000000000066619,0.000000000072999,-0.000000000000077,0.000000000072999],[0.013286801519965,0.004292856090678,0.00684340976232,0.000038269687432,-0.00000022872633,-0.013284171148948,-0.004293173054341,-0.006842875755588,-0.000037616090313,-0.000300369931172,0.000000221993313,0.000002630371017,-0.000000316963663,0.000000534006732,0.000000653597119,-0.000000023596523,-0.000000006733017,0.056398860719158,0.056398860719158,0.028312582808886,0.028312582808886,0.001176248823478,0.001176248823478,0.056398860719158,0.028312582808886,0.001176248823478,13.39640384991122,6.725078991055619,0.279394017296963,0.000300346334649,13.39640384991122],[0.000000000196666,-0.000000000117739,0.00000000018703,-0.000000000120471,0.000000057204321,-0.000000000196666,0.000000000117739,-0.00000000018703,0.000000000120471,-0.000183004461696,-0.000000057193693,1.08466746158007e-19,2.57822508579854e-18,-2.29527193065041e-18,-1.19335917501529e-18,0.000000000140905,0.000000000010628,0.000000000919851,0.000000000919851,0.00000000091981,0.00000000091981,0.000718378905089,0.000718378905089,0.000000000919851,0.00000000091981,0.000718378905089,0.000000218491813,0.000000218482273,0.170636317952384,0.0001830046026,0.170636317952384],[0.002895560846579,0.000946988491552,0.018883909364684,0.000020616721414,0.000001307198626,-0.002895541481672,-0.000947229426882,-0.018880182875222,-0.000019864016269,-0.001114468187719,-0.00000123173917,0.000000019364907,-0.000000240935329,0.000003726489462,0.000000752705145,-0.000000048109342,0.000000075459456,0.012223018769775,0.012223018769775,0.078253790927222,0.078253790927222,0.004372379317534,0.004372379317534,0.012223018769775,0.078253790927222,0.004372379317534,2.903329847748537,18.587598626641586,1.0385698997425,0.001114420078377,18.587598626641586],[-0.000000000000305,-0.000000000002835,-0.000000000000348,-0.000000000002691,-0.000000000002811,0.000000000000305,0.000000000002835,0.000000000000348,0.000000000002691,0.000000000000373,0.000000000002811,2.32240650497066e-27,0.0,2.06997101529993e-27,0.0,2.32240650497066e-27,-8.07793566946316e-28,0.000000000011441,0.000000000011441,0.000000000011227,0.000000000011227,0.000000000011129,0.000000000011129,0.000000000011441,0.000000000011227,0.000000000011129,0.000000002717592,0.000000002666661,0.00000000264335,-0.000000000000373,0.000000002717592],[0.000000000077754,-0.00000000004625,0.000000000074089,-0.000000000047358,0.000000023338075,-0.000000000077754,0.00000000004625,-0.000000000074089,0.000000000047358,-0.000075000008867,-0.000000023336251,2.1096698685888e-20,4.2541008391974e-19,-3.8867093456138e-19,-2.11707475065828e-19,0.000000000024181,0.000000000001824,0.000000000363099,0.000000000363099,0.000000000363134,0.000000000363134,0.00029448336574,0.00029448336574,0.000000000363099,0.000000000363134,0.00029448336574,0.000000086246709,0.000000086255169,0.06994854229742,0.000075000033048,0.06994854229742],[-0.000000000000023,0.000000000000013,-0.000000000000021,0.000000000000008,0.000000000000011,0.000000000000023,-0.000000000000013,0.000000000000021,-0.000000000000008,0.000000000000028,-0.000000000000011,4.41762106923767e-29,0.0,3.15544362088405e-29,1.57772181044202e-30,5.67979851759128e-29,0.0,0.000000000000105,0.000000000000105,0.000000000000091,0.000000000000091,0.000000000000119,0.000000000000119,0.000000000000105,0.000000000000091,0.000000000000119,0.000000000024897,0.000000000021694,0.000000000028295,-0.000000000000028,0.000000000028295],[0.01328419307451,0.004293177065874,0.006842897297047,0.000037619191719,-0.000000218503458,-0.013279787676038,-0.004293707922253,-0.006842002929546,-0.0000365245329,-0.000300432181796,0.00000020722558,0.000004405398472,-0.000000530856379,0.000000894367501,0.000001094658819,-0.000000039522605,-0.000000011277878,0.056398949986277,0.056398949986277,0.0283126720051,0.0283126720051,0.001176337816345,0.001176337816345,0.056398949986277,0.0283126720051,0.001176337816345,13.396425053502101,6.725100177804695,0.279415155744835,0.000300392659191,13.396425053502101],[-4.13643210976333e-18,-9.98588292007123e-17,-8.03775222179395e-17,5.53399931439232e-17,4.5180921906519e-17,4.13643210976333e-18,9.98588292007123e-17,8.03775222179395e-17,-5.53399931439232e-17,-9.26786657506535e-17,-4.51809219065191e-17,0.0,2.46519032881566e-32,0.0,6.16297582203915e-33,-1.23259516440783e-32,-1.23259516440783e-32,4.03759314550087e-16,4.03759314550087e-16,4.03759314550087e-16,4.03759314550087e-16,4.03759314550087e-16,4.03759314550087e-16,4.03759314550087e-16,4.03759314550087e-16,4.03759314550087e-16,0.000000000000096,0.000000000000096,0.000000000000096,9.26786657506535e-17,0.000000000000096],[0.000000000196678,-0.000000000117717,0.000000000187042,-0.000000000120454,0.000000057193713,-0.000000000196678,0.000000000117717,-0.000000000187042,0.000000000120454,-0.00018300399333,-0.000000057158385,3.80235126954714e-19,8.54714802997079e-18,-7.61817216724333e-18,-3.9463820257564e-18,0.000000000468376,0.000000000035329,0.000000000919847,0.000000000919847,0.000000000919814,0.000000000919814,0.000718378905129,0.000718378905129,0.000000000919847,0.000000000919814,0.000718378905129,0.000000218491041,0.000000218483155,0.170636317961842,0.000183004461706,0.170636317961842],[0.002895542399859,0.000947229680587,0.018880183771917,0.00001986423125,0.000001231970374,-0.002895537450408,-0.000947291260897,-0.018879231324102,-0.000019671848472,-0.001114481430247,-0.000001212683794,0.000000004949452,-0.000000061580311,0.000000952447816,0.000000192382778,-0.000000012296206,0.000000019286581,0.012223022587528,0.012223022587528,0.07825379464474,0.07825379464474,0.004372383031224,0.004372383031224,0.012223022587528,0.07825379464474,0.004372383031224,2.903330754578209,18.587599509662507,1.038570781853985,0.001114469134041,18.587599509662507],[-0.000000000001128,-0.000000000002793,-0.000000000001144,-0.00000000000263,-0.000000000002756,0.000000000001128,0.000000000002793,0.000000000001144,0.00000000000263,0.000000000001216,0.000000000002756,3.23117426778526e-27,1.21169035041947e-27,3.63507105125842e-27,1.21169035041947e-27,3.63507105125842e-27,1.61558713389263e-27,0.000000000012087,0.000000000012087,0.000000000011868,0.000000000011868,0.000000000011823,0.000000000011823,0.000000000012087,0.000000000011868,0.000000000011823,0.000000002871015,0.000000002818908,0.000000002808277,-0.000000000001216,0.000000002871015],[0.000000000077922,-0.000000000046185,0.000000000074254,-0.000000000047301,0.000000023336312,-0.000000000077922,0.000000000046185,-0.000000000074254,0.000000000047301,-0.000074999985975,-0.000000023334572,1.00087044661326e-20,4.09760020600693e-19,-3.44528350699608e-19,-1.95933405740732e-19,0.000000000023066,0.00000000000174,0.000000000363545,0.000000000363545,0.00000000036358,0.00000000036358,0.000294483366421,0.000294483366421,0.000000000363545,0.00000000036358,0.000294483366421,0.000000086352737,0.000000086361053,0.069948542459145,0.00007500000904,0.069948542459145],[-0.000000000000042,0.00000000000002,-0.000000000000039,0.000000000000015,0.000000000000019,0.000000000000042,-0.00000000000002,0.000000000000039,-0.000000000000015,0.000000000000048,-0.000000000000019,5.67979851759128e-29,6.31088724176809e-30,4.41762106923767e-29,9.46633086265214e-30,6.9419759659449e-29,9.46633086265214e-30,0.000000000000186,0.000000000000186,0.000000000000173,0.000000000000173,0.000000000000201,0.000000000000201,0.000000000000186,0.000000000000173,0.000000000000201,0.00000000004411,0.000000000041026,0.00000000004783,-0.000000000000048,0.00000000004783],[0.013279847682563,0.004293718910176,0.006842061896926,0.000036533013826,-0.000000197667049,-0.013264988498703,-0.004295509454568,-0.006839045220307,-0.000032840774769,-0.000300627744232,0.000000159615466,0.00001485918386,-0.000001790544392,0.000003016676619,0.000003692239057,-0.000000133332402,-0.000000038051584,0.056399194372625,0.056399194372625,0.028312916196523,0.028312916196523,0.001176581451803,0.001176581451803,0.056399194372625,0.028312916196523,0.001176581451803,13.396483102515392,6.725158180517554,0.279473026399565,0.00030049441183,13.396483102515392],[1.4665439435771e-17,-8.10558253783826e-18,-9.44568717460698e-18,1.84932234930355e-19,8.69630437626081e-18,-1.4665439435771e-17,8.10558253783826e-18,9.44568717460698e-18,-1.84932234930356e-19,4.905391204586e-18,-8.69630437626081e-18,0.0,0.0,-1.54074395550979e-33,-8.90742599279097e-34,7.70371977754894e-34,1.54074395550979e-33,6.77124955412037e-17,6.77124955412037e-17,3.90938275282153e-17,3.90938275282153e-17,3.90938275282153e-17,3.90938275282153e-17,6.77124955412037e-17,3.90938275282153e-17,3.90938275282153e-17,0.000000000000016,0.000000000000009,0.000000000000009,-4.905391204586e-18,0.000000000000016],[0.000000000196667,-0.000000000117737,0.000000000187031,-0.000000000120473,0.000000057158364,-0.000000000196667,0.000000000117737,-0.000000000187031,0.000000000120473,-0.000183003471869,-0.000000057119032,3.96285119175233e-19,9.53637254904113e-18,-8.44398630327382e-18,-4.38836150669786e-18,0.000000000521449,0.000000000039332,0.00000000091985,0.00000000091985,0.000000000919817,0.000000000919817,0.000718378905082,0.000718378905082,0.00000000091985,0.000000000919817,0.000718378905082,0.000000218491748,0.000000218483827,0.170636317950657,0.000183003993318,0.170636317950657],[0.002895537735289,0.000947291339473,0.018879231602297,0.000019671915025,0.000001212755373,-0.002895535142342,-0.000947323600514,-0.01887873262859,-0.000019571128455,-0.001114488165669,-0.000001202651408,0.000000002592947,-0.000000032261041,0.000000498973707,0.00000010078657,-0.000000006441807,0.000000010103964,0.012223023771862,0.012223023771862,0.078253795798135,0.078253795798135,0.004372384183448,0.004372384183448,0.012223023771862,0.078253795798135,0.004372384183448,2.903331035892747,18.587599783628175,1.038571055541473,0.001114481723861,18.587599783628175],[-0.000000000000084,-0.000000000001676,-0.000000000000098,-0.000000000001594,-0.000000000001653,0.000000000000084,0.000000000001676,0.000000000000098,0.000000000001594,0.000000000000132,0.000000000001653,9.21389537298142e-28,6.05845175209737e-28,6.9419759659449e-28,4.03896783473158e-28,1.0097419586829e-27,4.03896783473158e-28,0.000000000006734,0.000000000006734,0.000000000006606,0.000000000006606,0.000000000006507,0.000000000006507,0.000000000006734,0.000000000006606,0.000000000006507,0.000000001599577,0.000000001569059,0.000000001545544,-0.000000000000132,0.000000001599577],[0.000000000077805,-0.000000000046253,0.000000000074138,-0.000000000047361,0.000000023334507,-0.000000000077805,0.000000000046253,-0.000000000074138,0.000000000047361,-0.000074999962915,-0.000000023332777,2.76564865126778e-20,4.03454422791201e-19,-3.69834015760804e-19,-1.71926905379733e-19,0.00000000002294,0.00000000000173,0.000000000363281,0.000000000363281,0.000000000363311,0.000000000363311,0.000294483365953,0.000294483365953,0.000000000363281,0.000000000363311,0.000294483365953,0.000000086289967,0.000000086297104,0.069948542347891,0.000074999985855,0.069948542347891],[-0.00000000000005,0.000000000000004,-0.000000000000048,0.000000000000001,0.000000000000004,0.00000000000005,-0.000000000000004,0.000000000000048,-0.000000000000001,0.000000000000056,-0.000000000000004,6.31088724176809e-30,-3.15544362088405e-30,6.31088724176809e-30,-1.08468374467889e-29,1.26217744835362e-29,-7.09974814698911e-30,0.000000000000202,0.000000000000202,0.000000000000199,0.000000000000199,0.000000000000219,0.000000000000219,0.000000000000202,0.000000000000199,0.000000000000219,0.000000000048058,0.000000000047303,0.00000000005205,-0.000000000000056,0.00000000005205],[0.013265100127955,0.004295529944665,0.006839154992059,0.000032856499939,-0.000000141795055,-0.013244083077949,-0.004298062498666,-0.006834888105244,-0.000027634113779,-0.000300932333603,0.000000087943051,0.000021017050006,-0.000002532554001,0.000004266886815,0.00000522238616,-0.000000188652318,-0.000000053852004,0.056399649478409,0.056399649478409,0.028313370942036,0.028313370942036,0.001177035165221,0.001177035165221,0.056399649478409,0.028313370942036,0.001177035165221,13.396591203650706,6.725266196077709,0.279580796806537,0.000300743681285,13.396591203650706],[9.76987074949383e-18,-5.3940650594295e-18,-9.55104937329967e-18,-5.26106753866188e-18,1.15335622779719e-17,-9.76987074949382e-18,5.3940650594295e-18,9.55104937329967e-18,5.26106753866188e-18,-1.14010463654585e-19,-1.15335622779719e-17,1.54074395550979e-33,1.54074395550979e-33,3.08148791101958e-33,-1.54074395550979e-33,-2.47963480339857e-33,0.0,4.51416636941358e-17,4.51416636941358e-17,4.51416636941358e-17,4.51416636941358e-17,4.51416636941358e-17,4.51416636941358e-17,4.51416636941358e-17,4.51416636941358e-17,4.51416636941358e-17,0.000000000000011,0.000000000000011,0.000000000000011,1.14010463654582e-19,0.000000000000011],[0.000000000196657,-0.000000000117731,0.000000000187021,-0.000000000120467,0.000000057119038,-0.000000000196657,0.000000000117731,-0.000000000187021,0.000000000120467,-0.000183003178598,-0.000000057096918,2.6325222034835e-19,5.41826079708351e-18,-4.74142912720419e-18,-2.49386535537066e-18,0.000000000293261,0.00000000002212,0.000000000919804,0.000000000919804,0.000000000919771,0.000000000919771,0.000718378905042,0.000718378905042,0.000000000919804,0.000000000919771,0.000718378905042,0.000000218480786,0.000000218472884,0.170636317941184,0.000183003471859,0.170636317941184],[0.002895535320897,0.000947323650765,0.018878732802981,0.000019571171139,0.000001202697302,-0.002895533171374,-0.000947350394791,-0.01887831915962,-0.000019487620252,-0.001114493689911,-0.000001194321233,0.000000002149523,-0.000000026744026,0.00000041364336,0.000000083550887,-0.000000005340184,0.000000008376069,0.012223024515415,0.012223024515415,0.078253796521182,0.078253796521182,0.004372384905742,0.004372384905742,0.012223024515415,0.078253796521182,0.004372384905742,2.903331212508781,18.587599955373172,1.038571227107786,0.001114488349727,18.587599955373172],[-0.000000000000086,-0.000000000001685,-0.000000000000106,-0.00000000000159,-0.000000000001648,0.000000000000086,0.000000000001685,0.000000000000106,0.00000000000159,0.000000000000122,0.000000000001648,1.17382502696887e-27,6.05845175209737e-28,1.16120325248533e-27,6.05845175209737e-28,9.5925486074875e-28,1.0097419586829e-27,0.00000000000677,0.00000000000677,0.000000000006592,0.000000000006592,0.000000000006484,0.000000000006484,0.00000000000677,0.000000000006592,0.000000000006484,0.000000001608179,0.000000001565727,0.000000001540137,-0.000000000000122,0.000000001608179],[0.000000000077851,-0.000000000046172,0.000000000074182,-0.000000000047284,0.000000023332857,-0.000000000077851,0.000000000046172,-0.000000000074182,0.000000000047284,-0.00007499993665,-0.000000023330872,2.46612267405321e-20,4.54042326900152e-19,-4.09991243431296e-19,-2.30692491507793e-19,0.000000000026315,0.000000000001985,0.000000000363272,0.000000000363272,0.000000000363292,0.000000000363292,0.000294483366148,0.000294483366148,0.000000000363272,0.000000000363292,0.000294483366148,0.000000086287937,0.000000086292634,0.069948542394241,0.000074999962965,0.069948542394241],[-0.000000000000042,0.00000000000002,-0.00000000000004,0.000000000000016,0.000000000000019,0.000000000000042,-0.00000000000002,0.00000000000004,-0.000000000000016,0.000000000000047,-0.000000000000019,3.15544362088405e-29,0.0,1.89326617253043e-29,0.0,2.52435489670724e-29,0.0,0.000000000000186,0.000000000000186,0.000000000000176,0.000000000000176,0.000000000000198,0.000000000000198,0.000000000000186,0.000000000000176,0.000000000000198,0.000000000044172,0.000000000041764,0.000000000046954,-0.000000000000047,0.000000000046954],[0.013244195236062,0.004298083154806,0.006834998504712,0.000027649838265,-0.000000069984425,-0.013229114104964,-0.004299900417342,-0.006831936690181,-0.000023902408319,-0.000301184481647,0.000000031319449,0.000015081131099,-0.000001817262537,0.000003061814531,0.000003747429946,-0.000000135417509,-0.000000038664976,0.056400107418765,0.056400107418765,0.02831382852531,0.02831382852531,0.001177491714328,0.001177491714328,0.056400107418765,0.02831382852531,0.001177491714328,13.396699978081131,6.725374885690677,0.279689240773969,0.000301049064138,13.396699978081131],[-2.25225960421042e-17,-6.39394718821873e-17,-8.76110975403956e-18,3.24908053949118e-17,3.11940573101003e-17,2.25225960421042e-17,6.39394718821873e-17,8.76110975403957e-18,-3.24908053949119e-17,-3.49284758876013e-17,-3.11940573101003e-17,0.0,1.23259516440783e-32,1.23259516440783e-32,-6.16297582203915e-33,-6.16297582203915e-33,0.0,2.74586020474013e-16,2.74586020474013e-16,1.39398585913871e-16,1.39398585913871e-16,1.83166724797789e-16,1.83166724797789e-16,2.74586020474013e-16,1.39398585913871e-16,1.83166724797789e-16,0.000000000000065,0.000000000000033,0.000000000000044,3.49284758876013e-17,0.000000000000065],[0.000000000196631,-0.000000000117731,0.000000000186996,-0.000000000120464,0.00000005709692,-0.000000000196631,0.000000000117731,-0.000000000186996,0.000000000120464,-0.000183002903085,-0.00000005707614,2.22528231786592e-19,5.00342933214726e-18,-4.47445867830362e-18,-2.31058275944543e-18,0.000000000275488,0.00000000002078,0.000000000919715,0.000000000919715,0.000000000919676,0.000000000919676,0.000718378904943,0.000718378904943,0.000000000919715,0.000000000919676,0.000718378904943,0.000000218459537,0.000000218450238,0.170636317917757,0.000183003178573,0.170636317917757],[0.002895533318444,0.000947350434263,0.018878319303196,0.000019487653539,0.000001194357051,-0.002895531576375,-0.000947372108809,-0.018877984068268,-0.000019419940194,-0.001114498169376,-0.000001187568713,0.000000001742069,-0.000000021674546,0.000000335234927,0.000000067713346,-0.000000004327923,0.000000006788339,0.012223025125459,0.012223025125459,0.078253797116467,0.078253797116467,0.004372385500427,0.004372385500427,0.012223025125459,0.078253797116467,0.004372385500427,2.903331357412347,18.58760009677118,1.038571368363022,0.001114493841454,18.58760009677118],[-0.00000000000155,-0.000000000001284,-0.000000000001519,-0.000000000001162,-0.000000000001209,0.00000000000155,0.000000000001284,0.000000000001519,0.000000000001162,0.000000000001612,0.000000000001209,1.21169035041947e-27,-2.01948391736579e-28,1.0097419586829e-27,2.01948391736579e-28,8.07793566946316e-28,0.0,0.000000000008077,0.000000000008077,0.000000000007913,0.000000000007913,0.000000000007909,0.000000000007909,0.000000000008077,0.000000000007913,0.000000000007909,0.000000001918416,0.000000001879535,0.00000000187854,-0.000000000001612,0.000000001918416],[0.000000000077881,-0.000000000046205,0.000000000074207,-0.000000000047313,0.000000023330843,-0.000000000077881,0.000000000046205,-0.000000000074207,0.000000000047313,-0.000074999845803,-0.000000023323988,6.2858437024882e-20,1.60710718198312e-18,-1.41402327774331e-18,-7.36032701976409e-19,0.000000000090878,0.000000000006855,0.000000000363442,0.000000000363442,0.000000000363442,0.000000000363442,0.000294483366274,0.000294483366274,0.000000000363442,0.000000000363442,0.000294483366274,0.000000086328304,0.000000086328306,0.069948542424261,0.000074999936682,0.069948542424261],[-0.000000000000021,0.000000000000009,-0.00000000000002,0.000000000000004,0.000000000000007,0.000000000000021,-0.000000000000009,0.00000000000002,-0.000000000000004,0.000000000000027,-0.000000000000007,6.31088724176809e-30,0.0,6.31088724176809e-30,3.15544362088405e-30,9.46633086265214e-30,3.15544362088405e-30,0.000000000000093,0.000000000000093,0.000000000000084,0.000000000000084,0.00000000000011,0.00000000000011,0.000000000000093,0.000000000000084,0.00000000000011,0.00000000002206,0.000000000020059,0.000000000026146,-0.000000000000027,0.000000000026146],[0.013229175112422,0.004299911680601,0.006831996783182,0.000023910932624,-0.000000021529406,-0.013224599468753,-0.004300463039277,-0.006831067816346,-0.000022773951901,-0.000301289165492,0.000000009794649,0.000004575643669,-0.000000551358676,0.000000928966836,0.000001136980723,-0.00000004109368,-0.000000011734757,0.056400356777696,0.056400356777696,0.028314077691355,0.028314077691355,0.001177740319039,0.001177740319039,0.056400356777696,0.028314077691355,0.001177740319039,13.396759208230414,6.725434070023837,0.279748291773704,0.000301248071812,13.396759208230414],[-1.97712506309736e-18,-4.97518101169456e-17,-8.50365269217774e-17,9.90941644580934e-17,-5.24568871642586e-17,1.97712506309734e-18,4.97518101169456e-17,8.50365269217774e-17,-9.90941644580934e-17,-9.49682810733935e-17,5.24568871642586e-17,-1.42518815884655e-32,-1.23259516440783e-32,-1.23259516440783e-32,1.23259516440783e-32,2.46519032881566e-32,0.0,2.01879657275044e-16,2.01879657275044e-16,5.41159523798745e-16,5.41159523798745e-16,4.24156767777185e-16,4.24156767777185e-16,2.01879657275044e-16,5.41159523798745e-16,4.24156767777185e-16,0.000000000000048,0.000000000000129,0.000000000000101,9.49682810733936e-17,0.000000000000129],[0.000000000196673,-0.000000000117728,0.000000000187035,-0.000000000120463,0.000000057076143,-0.000000000196673,0.000000000117728,-0.000000000187035,0.000000000120463,-0.00018300264029,-0.000000057056318,1.80941442147153e-19,4.82880072563996e-18,-4.24188656102547e-18,-2.23427739003955e-18,0.000000000262838,0.000000000019825,0.000000000919852,0.000000000919852,0.00000000091981,0.00000000091981,0.00071837890511,0.00071837890511,0.000000000919852,0.00000000091981,0.00071837890511,0.000000218492111,0.000000218482205,0.170636317957319,0.000183002903128,0.170636317957319],[0.002895531742722,0.000947372155289,0.018877984230716,0.000019419979634,0.000001187611122,-0.002895529079848,-0.000947405286327,-0.018877471801041,-0.000019316475121,-0.001114504956375,-0.000001177234678,0.000000002662873,-0.000000033131038,0.000000512429674,0.000000103504513,-0.000000006615529,0.000000010376444,0.012223025817754,0.012223025817754,0.078253797790018,0.078253797790018,0.004372386173312,0.004372386173312,0.012223025817754,0.078253797790018,0.004372386173312,2.903331521852918,18.58760025675943,1.038571528193276,0.001114498340846,18.58760025675943],[-0.000000000000729,-0.000000000001318,-0.000000000000724,-0.000000000001218,-0.000000000001276,0.000000000000729,0.000000000001318,0.000000000000724,0.000000000001218,0.000000000000768,0.000000000001276,9.08767762814606e-28,0.0,9.08767762814606e-28,2.01948391736579e-28,3.02922587604869e-28,-2.01948391736579e-28,0.000000000006044,0.000000000006044,0.000000000005863,0.000000000005863,0.000000000005843,0.000000000005843,0.000000000006044,0.000000000005863,0.000000000005843,0.000000001435615,0.000000001392709,0.000000001387969,-0.000000000000768,0.000000001435615],[0.000000000077884,-0.00000000004621,0.00000000007421,-0.000000000047318,0.000000023323982,-0.000000000077884,0.00000000004621,-0.00000000007421,0.000000000047318,-0.000074999402939,-0.000000023290577,3.09304053386168e-19,7.81020091213895e-18,-6.90643008924364e-18,-3.6468756036085e-18,0.000000000442868,0.000000000033405,0.000000000363465,0.000000000363465,0.000000000363465,0.000000000363465,0.000294483366289,0.000294483366289,0.000000000363465,0.000000000363465,0.000294483366289,0.000000086333708,0.000000086333779,0.069948542427758,0.000074999845807,0.069948542427758],[-0.000000000000027,-0.000000000000002,-0.000000000000026,-0.000000000000005,-0.000000000000003,0.000000000000027,0.000000000000002,0.000000000000026,0.000000000000005,0.000000000000032,0.000000000000003,1.26217744835362e-29,3.74708929979981e-30,9.46633086265214e-30,-7.88860905221012e-31,1.89326617253043e-29,1.18329135783152e-30,0.000000000000109,0.000000000000109,0.000000000000111,0.000000000000111,0.000000000000127,0.000000000000127,0.000000000000109,0.000000000000111,0.000000000000127,0.000000000025806,0.000000000026479,0.000000000030268,-0.000000000000032,0.000000000030268],[0.013166652206832,0.004281409436501,0.006831122773417,0.000022781799979,-0.00000000077149,-0.013153232769219,-0.004283040052303,-0.006828369747529,-0.000019430352262,-0.000301468557333,-0.000000033560881,0.000013419437614,-0.000001630615802,0.000002753025888,0.000003351447717,-0.000000121223139,-0.000000034332371,0.056152959631654,0.056152959631654,0.02831430558873,0.02831430558873,0.001177967700061,0.001177967700061,0.056152959631654,0.02831430558873,0.001177967700061,13.337995041057072,6.725488202416462,0.279802301517242,0.000301347334194,13.337995041057072],[-2.04857316335367e-17,-1.41333007945525e-17,-1.07163263938066e-17,8.20596547741375e-18,5.45812086166893e-18,2.04857316335367e-17,1.41333007945525e-17,1.07163263938066e-17,-8.20596547741374e-18,-3.31507911566847e-17,-5.45812086166893e-18,0.0,-6.16297582203915e-33,-3.08148791101958e-33,3.08148791101958e-33,1.23259516440783e-32,0.0,1.00939828637522e-16,1.00939828637522e-16,5.59446811251196e-17,5.59446811251196e-17,1.31331225017333e-16,1.31331225017333e-16,1.00939828637522e-16,5.59446811251196e-17,1.31331225017333e-16,0.000000000000024,0.000000000000013,0.000000000000031,3.31507911566847e-17,0.000000000000031],[0.000058003102229,0.000019063922337,0.000000000058059,-0.000000000051241,-0.000000000053589,-0.000058002838544,-0.000019063902447,-0.000000000058059,0.000000000051241,-0.000000000062227,0.000000000053589,0.000000000263685,0.000000000019889,2.23180105685481e-18,4.36112044579844e-18,-4.88220698272989e-18,-2.39575118816906e-19,0.000247626694857,0.000247626694857,0.000000000320964,0.000000000320964,0.000000000321014,0.000000000321014,0.000247626694857,0.000000000320964,0.000000000321014,0.058818691832031,0.000000076238456,0.000000076250404,0.000000000062227,0.058818691832031],[0.000000000196696,-0.000000000117734,0.000000000187057,-0.000000000120469,0.000000057056311,-0.000000000196696,0.000000000117734,-0.000000000187057,0.000000000120469,-0.000183002208773,-0.00000005702376,3.83457202235761e-19,7.93386321818114e-18,-7.02589288332643e-18,-3.65342091577457e-18,0.000000000431541,0.00000000003255,0.000000000919943,0.000000000919943,0.000000000919901,0.000000000919901,0.000718378905202,0.000718378905202,0.000000000919943,0.000000000919901,0.000718378905202,0.000000218513874,0.000000218503758,0.170636317979228,0.000183002640313,0.170636317979228],[0.002895529270612,0.000947405338463,0.018877471987295,0.000019316519205,0.000001177282105,-0.002895526870072,-0.00094743520559,-0.018877010039745,-0.000019223211462,-0.001114511116774,-0.000001167927898,0.00000000240054,-0.000000029867127,0.00000046194755,0.000000093307743,-0.0000000059638,0.000000009354208,0.012223026610206,0.012223026610206,0.078253798562292,0.078253798562292,0.004372386944796,0.004372386944796,0.012223026610206,0.078253798562292,0.004372386944796,2.903331710083822,18.587600440197445,1.038571711443706,0.001114505152974,18.587600440197445],[0.00000000000163,-0.000000000000101,0.000000000001611,-0.000000000000113,-0.000000000000101,-0.00000000000163,0.000000000000101,-0.000000000001611,0.000000000000113,-0.000000000001681,0.000000000000101,2.01948391736579e-28,2.39813715187188e-28,2.01948391736579e-28,1.26217744835362e-28,0.0,2.14570166220115e-28,0.000000000006554,0.000000000006554,0.000000000006682,0.000000000006682,0.000000000006611,0.000000000006611,0.000000000006554,0.000000000006682,0.000000000006611,0.000000001556852,0.00000000158721,0.00000000157028,0.000000000001681,0.00000000158721],[-0.000000000000062,0.000000000000031,-0.000000000000059,0.000000000000027,0.000000000000031,0.000000000000062,-0.000000000000031,0.000000000000059,-0.000000000000027,0.000000000000067,-0.000000000000031,7.57306469012171e-29,1.26217744835362e-29,6.31088724176809e-29,6.31088724176809e-30,7.57306469012171e-29,0.0,0.000000000000278,0.000000000000278,0.000000000000268,0.000000000000268,0.00000000000029,0.00000000000029,0.000000000000278,0.000000000000268,0.00000000000029,0.000000000065926,0.000000000063645,0.000000000068822,-0.000000000000067,0.000000000068822],[0.013153320612323,0.004283056320504,0.006828456346643,0.000019442579015,0.000000047697542,-0.013138410835018,-0.004284868019202,-0.006825397543607,-0.000015718909363,-0.000301695007086,-0.000000085860336,0.000014909777304,-0.000001811698698,0.000003058803036,0.000003723669652,-0.000000134722601,-0.000000038162794,0.056153319141374,0.056153319141374,0.028314664819326,0.028314664819326,0.001178326125049,0.001178326125049,0.056153319141374,0.028314664819326,0.001178326125049,13.338080435288866,6.725573530348052,0.279887438093263,0.000301560284485,13.338080435288866],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],[7.79523548831065e-17,-4.28709274421738e-17,-7.63671573544349e-17,-4.18706231420353e-17,9.24180721075807e-17,-7.79523548831066e-17,4.28709274421738e-17,7.63671573544349e-17,4.18706231420353e-17,-8.70993302067617e-19,-9.24180721075807e-17,-1.23259516440783e-32,6.16297582203915e-33,1.23259516440783e-32,0.0,-9.43705672749746e-33,-1.23259516440783e-32,3.61133309553086e-16,3.61133309553086e-16,3.61133309553086e-16,3.61133309553086e-16,3.61133309553086e-16,3.61133309553086e-16,3.61133309553086e-16,3.61133309553086e-16,3.61133309553086e-16,0.000000000000086,0.000000000000086,0.000000000000086,8.70993302067607e-19,0.000000000000086],[0.000058002840018,0.000019063902618,0.000000000059505,-0.000000000051133,-0.000000000053457,-0.00005800280151,-0.000019063899714,-0.000000000059505,0.000000000051133,-0.00000000006376,0.000000000053457,0.000000000038508,0.000000000002905,3.09507604440341e-19,6.46168769580928e-19,-7.21723149463489e-19,-4.26703251560496e-20,0.00024762670075,0.00024762670075,0.000000000325195,0.000000000325195,0.000000000325249,0.000000000325249,0.00024762670075,0.000000000325195,0.000000000325249,0.05881869323189,0.000000077243546,0.000000077256178,0.00000000006376,0.05881869323189],[0.000000000196698,-0.000000000117729,0.000000000187061,-0.000000000120465,0.000000057023765,-0.000000000196698,0.000000000117729,-0.000000000187061,0.000000000120465,-0.000183001908199,-0.000000057001093,2.21095529116256e-19,5.4671723227459e-18,-4.8775332700973e-18,-2.52086391017893e-18,0.000000000300576,0.000000000022672,0.000000000919942,0.000000000919942,0.000000000919902,0.000000000919902,0.000718378905211,0.000718378905211,0.000000000919942,0.000000000919902,0.000718378905211,0.000000218513499,0.000000218504121,0.170636317981522,0.000183002208775,0.170636317981522],[0.002895527047105,0.000947435255007,0.018877010212621,0.000019223253374,0.000001167972969,-0.002895524762382,-0.000947463681152,-0.018876570552422,-0.000019134447402,-0.001114516975326,-0.000001159070068,0.000000002284723,-0.000000028426144,0.000000439660199,0.000000088805972,-0.000000005676068,0.000000008902901,0.012223027346907,0.012223027346907,0.078253799279116,0.078253799279116,0.004372387660892,0.004372387660892,0.012223027346907,0.078253799279116,0.004372387660892,2.903331885072148,18.587600610464563,1.038571881537715,0.001114511299258,18.587600610464563],[-0.000000000000014,-0.000000000000025,0.00000000000002,0.000000000000005,0.00000000000002,0.000000000000014,0.000000000000025,-0.00000000000002,-0.000000000000005,0.000000000000006,-0.00000000000002,1.57772181044202e-30,-3.15544362088405e-30,0.0,3.15544362088405e-30,-3.15544362088405e-30,-3.15544362088405e-30,0.000000000000116,0.000000000000116,0.000000000000083,0.000000000000083,0.000000000000083,0.000000000000083,0.000000000000116,0.000000000000083,0.000000000000083,0.00000000002745,0.000000000019794,0.000000000019794,-0.000000000000006,0.00000000002745],[-0.000000000000058,0.000000000000027,-0.000000000000055,0.000000000000023,0.000000000000027,0.000000000000058,-0.000000000000027,0.000000000000055,-0.000000000000023,0.000000000000063,-0.000000000000027,2.27191940703651e-28,3.47098798297245e-29,2.14570166220115e-28,2.83989925879564e-29,2.52435489670724e-28,3.47098798297245e-29,0.000000000000255,0.000000000000255,0.000000000000245,0.000000000000245,0.000000000000268,0.000000000000268,0.000000000000255,0.000000000000245,0.000000000000268,0.000000000060516,0.000000000058204,0.000000000063695,-0.000000000000063,0.000000000063695],[0.013138473946048,0.00428487973474,0.006825459804171,0.000015727662985,0.000000096038186,-0.013133010232657,-0.004285543632061,-0.006824338892443,-0.00001436311368,-0.000301810386249,-0.000000110027626,0.000005463713391,-0.000000663897321,0.000001120911728,0.000001364549305,-0.000000049378981,-0.00000001398944,0.056153577705304,0.056153577705304,0.028314923185025,0.028314923185025,0.00117858391303,0.00117858391303,0.056153577705304,0.028314923185025,0.00117858391303,13.338141851898902,6.725634899872341,0.279948670392161,0.000301761007268,13.338141851898902],[6.1682635744251e-33,-1.37223333870873e-33,1.9581167672987e-17,3.2210320343356e-17,-3.44861729510572e-17,-1.03975279508985e-32,-2.61123856117257e-35,-1.9581167672987e-17,-3.2210320343356e-17,2.03404479150965e-17,3.44861729510572e-17,-4.22926437647344e-33,-1.39834572432045e-33,0.0,0.0,3.08148791101958e-33,0.0,2.56765228586556e-32,4.2248890017621e-32,1.56375310112861e-16,1.56375310112861e-16,1.56375310112861e-16,1.56375310112861e-16,4.2248890017621e-32,1.56375310112861e-16,1.56375310112861e-16,1.00353657089791e-29,0.000000000000037,0.000000000000037,-2.03404479150965e-17,0.000000000000037],[0.000058002801664,0.000019063899734,0.000000000059657,-0.000000000051121,-0.000000000053443,-0.000058002780666,-0.00001906389815,-0.000000000059657,0.000000000051121,-0.00000000006392,0.000000000053443,0.000000000020997,0.000000000001584,1.81183883614814e-19,3.58455261093388e-19,-3.95538756693466e-19,-3.59314850383847e-20,0.000247626701369,0.000247626701369,0.000000000325639,0.000000000325639,0.000000000325689,0.000000000325689,0.000247626701369,0.000000000325639,0.000000000325689,0.058818693378882,0.000000077348993,0.000000077360852,0.00000000006392,0.058818693378882],[0.000000000196702,-0.00000000011777,0.000000000187063,-0.000000000120505,0.00000005700105,-0.000000000196702,0.00000000011777,-0.000000000187063,0.000000000120505,-0.00018300169701,-0.00000005698512,2.12608035646003e-19,3.86443523287412e-18,-3.42837316939032e-18,-1.79682258704876e-18,0.000000000211191,0.00000000001593,0.000000000920038,0.000000000920038,0.00000000092,0.00000000092,0.00071837890522,0.00071837890522,0.000000000920038,0.00000000092,0.00071837890522,0.000000218536371,0.000000218527197,0.170636317983567,0.000183001908201,0.170636317983567],[0.002895524945215,0.00094746373115,0.018876570730924,0.00001913448968,0.000001159115551,-0.002895522371336,-0.000947495754931,-0.01887607542698,-0.000019034444352,-0.001114523558196,-0.00000114908589,0.00000000257388,-0.000000032023781,0.000000495303944,0.000000100045327,-0.000000006394437,0.000000010029661,0.012223028106448,0.012223028106448,0.078253800019284,0.078253800019284,0.00437238840032,0.00437238840032,0.012223028106448,0.078253800019284,0.00437238840032,2.903332065485634,18.587600786276298,1.038572057173851,0.001114517163759,18.587600786276298],[-0.000000000001342,-0.000000000000141,-0.000000000001264,-0.000000000000054,-0.000000000000046,0.000000000001342,0.000000000000141,0.000000000001264,0.000000000000054,0.000000000001364,0.000000000000046,2.01948391736579e-28,0.0,4.03896783473158e-28,-1.76704842769507e-28,0.0,0.0,0.000000000005413,0.000000000005413,0.000000000005233,0.000000000005233,0.000000000005356,0.000000000005356,0.000000000005413,0.000000000005233,0.000000000005356,0.000000001285839,0.000000001243015,0.000000001272222,-0.000000000001364,0.000000001285839],[-0.000000000000039,0.000000000000024,-0.000000000000037,0.000000000000021,0.000000000000024,0.000000000000039,-0.000000000000024,0.000000000000037,-0.000000000000021,0.000000000000043,-0.000000000000024,6.31088724176809e-30,0.0,0.0,0.0,0.0,-3.15544362088405e-30,0.000000000000185,0.000000000000185,0.000000000000176,0.000000000000176,0.000000000000194,0.000000000000194,0.000000000000185,0.000000000000176,0.000000000000194,0.000000000043867,0.000000000041889,0.000000000046052,-0.000000000000043,0.000000000046052],[0.012846025438972,0.004191218043132,0.006824389326814,0.000014370469366,0.000000118569394,-0.01283498203767,-0.004192617023838,-0.006822002070579,-0.000011541286488,-0.000301966566887,-0.000000146430416,0.000011043401302,-0.000001398980705,0.000002387256235,0.000002829182878,-0.000000102705292,-0.000000027861022,0.05492564626909,0.05492564626909,0.028315132506029,0.028315132506029,0.001178792749399,0.001178792749399,0.05492564626909,0.028315132506029,0.001178792749399,13.0464716796691,6.725684619825377,0.279998275229991,0.000301863861594,13.0464716796691],[-1.16479322993486e-17,-4.42827327936095e-17,-2.06458042336411e-17,4.90527264094124e-17,-6.11482515950554e-18,1.16479322993486e-17,4.42827327936095e-17,2.06458042336411e-17,-4.90527264094124e-17,-3.61731756882793e-17,6.11482515950554e-18,-1.54074395550979e-33,-6.16297582203915e-33,-3.08148791101958e-33,6.16297582203915e-33,6.16297582203915e-33,1.54074395550979e-33,1.86123847527032e-16,1.86123847527032e-16,2.20817050828571e-16,2.20817050828571e-16,1.43262009269394e-16,1.43262009269394e-16,1.86123847527032e-16,2.20817050828571e-16,1.43262009269394e-16,0.000000000000044,0.000000000000052,0.000000000000034,3.61731756882793e-17,0.000000000000052],[0.000287036081346,0.000094335113929,0.000000000174888,-0.000000000255021,-0.000000000268416,-0.000287017996793,-0.000094333749837,-0.000000000174888,0.000000000255021,-0.000000000189502,0.000000000268416,0.000000018084553,0.000000001364092,1.77858804701964e-16,2.03006899197697e-16,-2.64722117194929e-16,5.25021961399028e-17,0.001228144427646,0.001228144427646,0.000000001283015,0.000000001283015,0.00000000128308,0.00000000128308,0.001228144427646,0.000000001283015,0.00000000128308,0.291720764018432,0.000000304754198,0.000000304769611,0.000000000189501,0.291720764018432],[0.00005800278081,0.000019063898174,0.000000000059799,-0.000000000051102,-0.000000000053421,-0.000058002766586,-0.000019063897101,-0.000000000059799,0.000000000051102,-0.00000000006407,0.000000000053421,0.000000000014224,0.000000000001073,1.14936086954693e-19,2.25774799368589e-19,-2.62749617653345e-19,-1.92030237698127e-20,0.000247626701952,0.000247626701952,0.000000000326033,0.000000000326033,0.000000000326086,0.000000000326086,0.000247626701952,0.000000000326033,0.000000000326086,0.05881869351736,0.000000077442635,0.000000077455137,0.00000000006407,0.05881869351736],[0.000000000196761,-0.000000000117709,0.000000000187124,-0.00000000012045,0.000000056985178,-0.000000000196761,0.000000000117709,-0.000000000187124,0.00000000012045,-0.000183001596162,-0.000000056977567,5.01780942765679e-20,1.85804731651446e-18,-1.62457641580198e-18,-8.44598709807922e-19,0.000000000100909,0.000000000007611,0.000000000920116,0.000000000920116,0.000000000920088,0.000000000920088,0.00071837890546,0.00071837890546,0.000000000920116,0.000000000920088,0.00071837890546,0.000000218554808,0.000000218548127,0.170636318040573,0.000183001697071,0.170636318040573],[0.002895522571583,0.000947495810875,0.018876075622525,0.000019034491798,0.000001149136912,-0.002895519852737,-0.000947529638299,-0.018875552422113,-0.000018928811726,-0.001114530519198,-0.00000113854236,0.000000002718846,-0.000000033827423,0.000000523200412,0.000000105680073,-0.000000006754586,0.000000010594552,0.012223028939805,0.012223028939805,0.078253800830146,0.078253800830146,0.004372389210316,0.004372389210316,0.012223028939805,0.078253800830146,0.004372389210316,2.903332263432716,18.587600978880147,1.038572249571769,0.001114523764612,18.587600978880147],[-0.000000000001017,-0.000000000000318,-0.000000000000949,-0.000000000000243,-0.000000000000235,0.000000000001017,0.000000000000318,0.000000000000949,0.000000000000243,0.00000000000105,0.000000000000235,2.01948391736579e-28,2.01948391736579e-28,2.01948391736579e-28,1.51461293802434e-28,4.03896783473158e-28,1.0097419586829e-28,0.000000000004277,0.000000000004277,0.000000000004055,0.000000000004055,0.000000000004223,0.000000000004223,0.000000000004277,0.000000000004055,0.000000000004223,0.000000001015918,0.000000000963124,0.00000000100305,-0.00000000000105,0.000000001015918],[-0.000000000000067,0.000000000000067,-0.000000000000064,0.000000000000062,0.000000000000069,0.000000000000067,-0.000000000000067,0.000000000000064,-0.000000000000062,0.000000000000072,-0.000000000000069,2.52435489670724e-29,0.0,2.52435489670724e-29,1.26217744835362e-29,3.78653234506086e-29,0.0,0.000000000000381,0.000000000000381,0.00000000000037,0.00000000000037,0.000000000000392,0.000000000000392,0.000000000000381,0.00000000000037,0.000000000000392,0.00000000009054,0.000000000087978,0.000000000093167,-0.000000000000072,0.000000000093167],[0.0128350654356,0.004192632548993,0.00682208440828,0.000011552810183,0.000000159913705,-0.012819237484365,-0.004194637626472,-0.006818662842022,-0.000007497868987,-0.000302201170173,-0.000000199863213,0.000015827951236,-0.000002005077479,0.000003421566258,0.000004054941196,-0.000000147240418,-0.000000039949509,0.054925988359707,0.054925988359707,0.028315474333622,0.028315474333622,0.001179133816135,0.001179133816135,0.054925988359707,0.028315474333622,0.001179133816135,13.046552936346812,6.725765814027058,0.280079288705768,0.000302053929755,13.046552936346812],[4.39077545821092e-18,-1.50670738528585e-17,-3.08513281479679e-17,1.41204156374241e-17,1.28439712909675e-18,-4.39077545821093e-18,1.50670738528585e-17,3.08513281479679e-17,-1.41204156374241e-17,-2.89223738220358e-17,-1.28439712909675e-18,-7.70371977754894e-34,6.16297582203915e-33,0.0,-3.08148791101958e-33,0.0,-1.54074395550979e-33,6.3839953024332e-17,6.3839953024332e-17,1.40824995076109e-16,1.40824995076109e-16,1.13016094336184e-16,1.13016094336184e-16,6.3839953024332e-17,1.40824995076109e-16,1.13016094336184e-16,0.000000000000015,0.000000000000033,0.000000000000027,2.89223738220358e-17,0.000000000000033],[0.000053002177066,0.00001742043267,0.000000000058558,-0.00000000004565,-0.000000000047657,-0.000053002142383,-0.000017420430054,-0.000000000058558,0.00000000004565,-0.000000000062893,0.000000000047657,0.000000000034683,0.000000000002616,2.65775780376187e-19,6.18867886721117e-19,-6.74599846113777e-19,-8.26789963584052e-20,0.000226795654711,0.000226795654711,0.000000000308066,0.000000000308066,0.000000000308147,0.000000000308147,0.000226795654711,0.000000000308066,0.000000000308147,0.053870701343466,0.000000073174868,0.000000073194136,0.000000000062893,0.053870701343466],[0.00023401592576,0.000076913328099,0.000000000220587,-0.000000000203267,-0.00000000021277,-0.000234011161563,-0.000076912968743,-0.000000000220587,0.000000000203267,-0.000000000237282,0.00000000021277,0.000000004764196,0.000000000359356,4.01113385593896e-17,7.44757366222857e-17,-8.45949293605959e-17,-2.4918934860373e-18,0.001001349196291,0.001001349196291,0.000000001244563,0.000000001244563,0.000000001244563,0.000000001244563,0.001001349196291,0.000000001244563,0.000000001244563,0.237850163234569,0.000000295620624,0.000000295620664,0.000000000237282,0.237850163234569],[0.000058002766894,0.000019063897141,0.000000000060101,-0.000000000051078,-0.00000000005339,-0.000058002745289,-0.000019063895511,-0.000000000060101,0.000000000051078,-0.00000000006439,0.00000000005339,0.000000000021605,0.00000000000163,1.87389444268975e-19,3.70655335023236e-19,-4.14130752484544e-19,-3.14899581263268e-20,0.000247626703189,0.000247626703189,0.000000000326922,0.000000000326922,0.000000000326969,0.000000000326969,0.000247626703189,0.000000000326922,0.000000000326969,0.058818693811179,0.000000077653608,0.000000077664936,0.00000000006439,0.058818693811179],[0.000000000196716,-0.000000000117786,0.00000000018708,-0.000000000120529,0.000000056977484,-0.000000000196716,0.000000000117786,-0.00000000018708,0.000000000120529,-0.000183001532188,-0.000000056972663,6.87048461968302e-20,1.1707850800566e-18,-1.04321589012138e-18,-5.57320227236751e-19,0.000000000063923,0.000000000004822,0.000000000920121,0.000000000920121,0.000000000920114,0.000000000920114,0.000718378905258,0.000718378905258,0.000000000920121,0.000000000920114,0.000718378905258,0.0000002185561,0.000000218554359,0.170636317992504,0.000183001596111,0.170636317992504],[0.00289552017926,0.00094752972833,0.018875552740908,0.00001892888793,0.000001138624331,-0.002895514234573,-0.000947603691107,-0.018874408776969,-0.000018697821228,-0.001114545624477,-0.000001115459616,0.000000005944687,-0.000000073962777,0.000001143963939,0.000000231066702,-0.00000001476873,0.000000023164714,0.012223030297188,0.012223030297188,0.078253802152116,0.078253802152116,0.004372390530951,0.004372390530951,0.012223030297188,0.078253802152116,0.004372390530951,2.90333258585136,18.587601292887168,1.038572563261985,0.001114530855747,18.587601292887168],[-0.000000000001159,0.000000000000187,-0.000000000001072,0.000000000000245,0.00000000000028,0.000000000001159,-0.000000000000187,0.000000000001072,-0.000000000000245,0.000000000001184,-0.00000000000028,1.0097419586829e-27,5.04870979341448e-29,1.0097419586829e-27,0.0,4.03896783473158e-28,5.04870979341448e-29,0.000000000004711,0.000000000004711,0.000000000004551,0.000000000004551,0.000000000004774,0.000000000004774,0.000000000004711,0.000000000004551,0.000000000004774,0.000000001118914,0.000000001080953,0.000000001133939,-0.000000000001184,0.000000001133939],[-0.000000000000002,-0.000000000000052,-0.000000000000004,-0.00000000000005,-0.000000000000052,0.000000000000002,0.000000000000052,0.000000000000004,0.00000000000005,0.000000000000004,0.000000000000052,1.45939267465887e-29,0.0,1.81438008200833e-29,0.0,1.26217744835362e-29,0.0,0.000000000000207,0.000000000000207,0.000000000000207,0.000000000000207,0.000000000000206,0.000000000000206,0.000000000000207,0.000000000000207,0.000000000000206,0.000000000049238,0.000000000049136,0.000000000048937,-0.000000000000004,0.000000000049238],[0.012819316499953,0.00419465237412,0.006818740910964,0.000007508745012,0.000000212666852,-0.012809657145218,-0.004195876010218,-0.00681665280648,-0.000005034118989,-0.000302373956023,-0.000000237057166,0.000009659354735,-0.000001223636098,0.000002088104484,0.000002474626023,-0.000000089878747,-0.000000024390315,0.054926312847664,0.054926312847664,0.028315798575397,0.028315798575397,0.001179457338469,0.001179457338469,0.054926312847664,0.028315798575397,0.001179457338469,13.046630011870336,6.725842831075093,0.280156134865004,0.000302284077276,13.046630011870336],[-1.1588901541986e-17,-4.42124486485814e-17,-3.03788354491624e-17,3.29547034965221e-17,1.11511635065415e-17,1.1588901541986e-17,4.42124486485814e-17,3.03788354491624e-17,-3.29547034965221e-17,-4.6380140474507e-17,-1.11511635065415e-17,-1.54074395550979e-33,-1.23259516440783e-32,-1.23259516440783e-32,6.16297582203915e-33,6.16297582203915e-33,6.16297582203915e-33,1.86123847527032e-16,1.86123847527032e-16,1.86123847527032e-16,1.86123847527032e-16,1.86123847527032e-16,1.86123847527032e-16,1.86123847527032e-16,1.86123847527032e-16,1.86123847527032e-16,0.000000000000044,0.000000000000044,0.000000000000044,4.6380140474507e-17,0.000000000000044],[0.000053002142624,0.000017420430116,0.000000000058797,-0.0000000000456,-0.000000000047601,-0.000053002127965,-0.00001742042901,-0.000000000058797,0.0000000000456,-0.000000000063147,0.000000000047601,0.00000000001466,0.000000000001106,1.14102469842998e-19,2.62106252082537e-19,-2.79964965185284e-19,-2.65007342511823e-20,0.000226795655722,0.000226795655722,0.000000000308722,0.000000000308722,0.000000000308804,0.000000000308804,0.000226795655722,0.000000000308722,0.000000000308804,0.053870701583596,0.000000073330658,0.000000073350108,0.000000000063147,0.053870701583596],[0.000234011197787,0.000076912972473,0.000000000256204,-0.000000000201185,-0.000000000210045,-0.000234008149243,-0.000076912742526,-0.000000000256204,0.000000000201185,-0.000000000275092,0.000000000210045,0.000000003048544,0.000000000229947,2.37304238684761e-17,5.37717298605402e-17,-5.8419869971851e-17,-6.33106900114832e-18,0.001001349340917,0.001001349340917,0.000000001351588,0.000000001351588,0.000000001351588,0.000000001351588,0.001001349340917,0.000000001351588,0.000000001351588,0.237850197587637,0.000000321042258,0.000000321042316,0.000000000275092,0.237850197587637],[0.0000580027455,0.000019063895565,0.00000000006031,-0.000000000051035,-0.000000000053342,-0.000058002712711,-0.000019063893091,-0.00000000006031,0.000000000051035,-0.00000000006461,0.000000000053342,0.000000000032788,0.000000000002473,2.66071238951234e-19,5.50197465454936e-19,-6.14917020083971e-19,-3.77837686120897e-20,0.000247626704071,0.000247626704071,0.000000000327469,0.000000000327469,0.000000000327513,0.000000000327513,0.000247626704071,0.000000000327469,0.000000000327513,0.058818694020759,0.000000077783594,0.000000077794015,0.00000000006461,0.058818694020759],[0.000000000196451,-0.000000000117689,0.00000000018683,-0.000000000120429,0.000000056972763,-0.000000000196451,0.000000000117689,-0.00000000018683,0.000000000120429,-0.0001830014887,-0.000000056969503,8.41682122666848e-22,7.9662226012924e-19,-7.29764870131759e-19,-3.50066583394592e-19,0.00000000004322,0.00000000000326,0.000000000919006,0.000000000919006,0.000000000919021,0.000000000919021,0.000718378904204,0.000718378904204,0.000000000919006,0.000000000919021,0.000718378904204,0.000000218291266,0.000000218294669,0.170636317742311,0.00018300153192,0.170636317742311],[0.002895519532765,0.000947605156358,0.018874413949675,0.000018699061641,0.00000111679388,-0.002895384704452,-0.000949282660845,-0.018848468436507,-0.000013458384799,-0.001114886047551,-0.000000591407875,0.000000134828313,-0.000001677504487,0.000025945513168,0.000005240676842,-0.00000033496198,0.000000525386005,0.012223052327547,0.012223052327547,0.078253823603367,0.078253823603367,0.004372411960184,0.004372411960184,0.012223052327547,0.078253823603367,0.004372411960184,2.90333781871577,18.587606388196317,1.038577653340966,0.001114551085571,18.587606388196317],[-0.000000000000926,-0.000000000000155,-0.000000000000854,-0.000000000000092,-0.000000000000072,0.000000000000926,0.000000000000155,0.000000000000854,0.000000000000092,0.00000000000096,0.000000000000072,4.03896783473158e-28,-1.76704842769507e-28,2.01948391736579e-28,-1.76704842769507e-28,4.03896783473158e-28,-2.01948391736579e-28,0.000000000003767,0.000000000003767,0.000000000003554,0.000000000003554,0.000000000003777,0.000000000003777,0.000000000003767,0.000000000003554,0.000000000003777,0.000000000894679,0.000000000844285,0.000000000897061,-0.00000000000096,0.000000000897061],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],[0.012809692221996,0.004195882567782,0.006816687478744,0.000005038936016,0.000000242749193,-0.01280802877597,-0.004196093290744,-0.006816327883003,-0.00000461277778,-0.000302426276749,-0.000000246950255,0.000001663446027,-0.000000210722961,0.000000359595741,0.000000426158236,-0.000000015479785,-0.000000004201062,0.054926456996868,0.054926456996868,0.02831594261575,0.02831594261575,0.001179601059898,0.001179601059898,0.054926456996868,0.02831594261575,0.001179601059898,13.046664251585973,6.725877044935388,0.280190272971478,0.000302410796964,13.046664251585973],[-1.48091968598658e-17,-3.96065901670693e-16,-2.40757657648325e-16,3.50557545702457e-16,4.36935517081606e-17,1.48091968598658e-17,3.96065901670693e-16,2.40757657648325e-16,-3.50557545702457e-16,-2.90554368070933e-16,-4.36935517081606e-17,0.0,-9.86076131526265e-32,-4.93038065763132e-32,0.0,4.93038065763132e-32,4.93038065763132e-32,0.000000000000002,0.000000000000002,0.000000000000002,0.000000000000002,0.000000000000001,0.000000000000001,0.000000000000002,0.000000000000002,0.000000000000001,0.000000000000384,0.00000000000042,0.000000000000272,2.90554368070934e-16,0.00000000000042],[0.000053002128052,0.000017420428887,0.00000000005888,-0.000000000045729,-0.000000000047734,-0.000053002119438,-0.000017420428237,-0.00000000005888,0.000000000045729,-0.000000000063229,0.000000000047734,0.000000000008614,0.00000000000065,7.04204187872652e-20,1.44911529078223e-19,-1.66922501447878e-19,-1.16917908304793e-20,0.000226795655904,0.000226795655904,0.000000000309322,0.000000000309322,0.000000000309373,0.000000000309373,0.000226795655904,0.000000000309322,0.000000000309373,0.053870701626827,0.000000073473092,0.000000073485305,0.000000000063229,0.053870701626827],[0.000058002712862,0.000019063893128,0.000000000060458,-0.000000000051008,-0.00000000005331,-0.000058002689599,-0.000019063891373,-0.000000000060458,0.000000000051008,-0.000000000064764,0.00000000005331,0.000000000023262,0.000000000001755,2.03990131982301e-19,3.97216744264818e-19,-4.55297321448109e-19,-2.99600229599246e-20,0.000247626704695,0.000247626704695,0.000000000327866,0.000000000327866,0.0000000003279,0.0000000003279,0.000247626704695,0.000000000327866,0.0000000003279,0.05881869416894,0.000000077877918,0.000000077886011,0.000000000064764,0.05881869416894],[0.000000000196886,-0.000000000117671,0.000000000187249,-0.00000000012042,0.000000056969517,-0.000000000196886,0.000000000117671,-0.000000000187249,0.00000000012042,-0.00018300142886,-0.000000056964969,8.35717891956399e-20,1.08278665966227e-18,-9.42476975438578e-19,-5.19486226789494e-19,0.000000000060286,0.000000000004547,0.000000000920468,0.000000000920468,0.000000000920456,0.000000000920456,0.000718378905958,0.000718378905958,0.000000000920468,0.000000000920456,0.000718378905958,0.000000218638416,0.00000021863557,0.170636318158827,0.000183001489147,0.170636318158827],[0.000000017138101,-0.000000012117992,0.012692575666339,0.000007138073028,-0.000000012935612,-0.000000017138481,0.000000012117833,-0.012674547366153,-0.000005778224332,-0.000000017134558,0.00000001293602,-0.00000000000038,-0.000000000000159,0.000018028300187,0.000001359848696,0.000000000000052,0.000000000000408,0.000000084198747,0.000000084198747,0.052696190381872,0.052696190381872,0.000000084198749,0.000000084198749,0.000000084198747,0.052696190381872,0.000000084198749,0.000019999702309,12.516909716007103,0.000019999702564,0.000000017134611,12.516909716007103],[0.002895373204195,0.000949296670873,0.006155898278613,0.000006321946653,0.000000606097958,-0.002895306911426,-0.000949363288025,-0.006155500037968,-0.000006193863978,-0.001114890781503,-0.00000058607753,0.000000066292769,-0.000000066617152,0.000000398240645,0.000000128082674,-0.000000016044333,0.000000020020428,0.012223025999786,0.012223025999786,0.025557657953338,0.025557657953338,0.004372367633559,0.004372367633559,0.012223025999786,0.025557657953338,0.004372367633559,2.903331565090856,6.070702546736205,1.038567124451574,0.00111487473717,6.070702546736205],[-0.000000000000335,0.000000000000146,-0.000000000000284,0.000000000000189,0.00000000000022,0.000000000000335,-0.000000000000146,0.000000000000284,-0.000000000000189,0.000000000000335,-0.00000000000022,5.04870979341448e-29,5.04870979341448e-29,0.0,5.04870979341448e-29,5.04870979341448e-29,7.57306469012171e-29,0.000000000001466,0.000000000001466,0.000000000001411,0.000000000001411,0.000000000001571,0.000000000001571,0.000000000001466,0.000000000001411,0.000000000001571,0.000000000348113,0.000000000335115,0.000000000373164,-0.000000000000335,0.000000000373164],[0.000000006804538,-0.000000005149595,0.006816805017858,0.000004650091108,0.000000294470703,-0.000000006805177,0.000000005149377,-0.006815546408866,-0.000004549206023,-0.000302943246152,-0.000000273995591,-0.000000000000639,-0.000000000000218,0.000001258608992,0.000000100885086,-0.000000009471271,0.000000020475112,0.000000034776518,0.000000034776518,0.028317924802504,0.028317924802504,0.001181580699477,0.001181580699477,0.000000034776518,0.028317924802504,0.001181580699477,0.000008260455395,6.726347873138662,0.280660496144997,0.000302933774881,6.726347873138662],[-2.86729685644751e-17,-2.36873979758831e-16,-7.69075624386167e-17,1.7422292165412e-16,6.21466139586643e-17,2.86729685644752e-17,2.36873979758831e-16,7.69075624386166e-17,-1.7422292165412e-16,-1.22496521427611e-16,-6.21466139586642e-17,9.86076131526265e-32,0.0,-6.16297582203915e-32,-1.4791141972894e-31,-2.46519032881566e-32,1.10933564796705e-31,9.72381194644645e-16,9.72381194644645e-16,7.91124159194384e-16,7.91124159194384e-16,5.35764347097056e-16,5.35764347097056e-16,9.72381194644645e-16,7.91124159194384e-16,5.35764347097056e-16,0.000000000000231,0.000000000000188,0.000000000000127,1.22496521427611e-16,0.000000000000231],[0.012808102403003,0.00419610732173,-0.000000397907829,-0.00000003230813,-0.000000040897668,-0.012791448233703,-0.004194851120723,0.000000397910205,0.000000032301346,0.000000423214642,0.000000040903106,0.000016654169299,0.000001256201007,0.000000000002376,-0.000000000006783,0.00000000000471,0.000000000005438,0.054926759939663,0.054926759939663,0.000001658401982,0.000001658401982,0.000001658401934,0.000001658401934,0.054926759939663,0.000001658401982,0.000001658401934,13.046736209493936,0.000393919707209,0.000393919695647,-0.000000423209932,13.046736209493936],[0.000053002119482,0.000017420428317,0.000000000058927,-0.000000000045652,-0.000000000047654,-0.000053002111555,-0.000017420427719,-0.000000000058927,0.000000000045652,-0.000000000063276,0.000000000047654,0.000000000007927,0.000000000000598,6.00067447878025e-20,1.44844184944134e-19,-1.52003174651839e-19,-3.30338972020056e-20,0.000226795656174,0.000226795656174,0.000000000309279,0.000000000309279,0.000000000309332,0.000000000309332,0.000226795656174,0.000000000309279,0.000000000309332,0.053870701691034,0.000000073463025,0.000000073475516,0.000000000063276,0.053870701691034],[0.000058002689837,0.000019063891474,0.000000000060695,-0.000000000050916,-0.000000000053211,-0.000058002673944,-0.000019063890275,-0.000000000060695,0.000000000050916,-0.000000000065017,0.000000000053211,0.000000000015893,0.000000000001199,1.20327094425339e-19,2.81358551259934e-19,-2.82367369102776e-19,-2.87445521356119e-20,0.000247626705738,0.000247626705738,0.00000000032837,0.00000000032837,0.000000000328418,0.000000000328418,0.000247626705738,0.00000000032837,0.000000000328418,0.058818694416755,0.000000077997611,0.000000078008974,0.000000000065017,0.058818694416755],[0.000000000196759,-0.000000000117707,0.000000000187128,-0.00000000012045,0.000000056964936,-0.000000000196759,0.000000000117707,-0.000000000187128,0.00000000012045,-0.00018300138272,-0.000000056961465,8.30050929278587e-20,8.54184156294369e-19,-7.67959573024877e-19,-3.70236064312596e-19,0.000000000046011,0.000000000003471,0.000000000920104,0.000000000920104,0.000000000920103,0.000000000920103,0.00071837890545,0.00071837890545,0.000000000920104,0.000000000920103,0.00071837890545,0.000000218551978,0.000000218551844,0.170636318038183,0.000183001428731,0.170636318038183],[0.000000017803892,-0.000000012081754,0.012674548008992,0.000005778236402,-0.000000012920385,-0.000000017804232,0.000000012081604,-0.012658649488444,-0.000004579033913,-0.000000017815954,0.000000012920755,-0.00000000000034,-0.00000000000015,0.000015898520548,0.000001199202489,0.00000000000004,0.00000000000037,0.000000086310624,0.000000086310624,0.052696193054588,0.052696193054588,0.000000086310624,0.000000086310624,0.000000086310624,0.052696193054588,0.000000086310624,0.000020501335732,12.516910350856394,0.000020501335718,0.000000017815994,12.516910350856394],[0.002895307560789,0.000949363473129,0.006155500671285,0.000006194020552,0.000000586246029,-0.00289527179769,-0.000949399411216,-0.006155285831621,-0.000006124923538,-0.001114900106784,-0.000000575445566,0.000000035763099,-0.000000035938086,0.000000214839664,0.000000069097014,-0.000000008655471,0.000000010800463,0.01222302870641,0.01222302870641,0.025557660583523,0.025557660583523,0.004372370260762,0.004372370260762,0.01222302870641,0.025557660583523,0.004372370260762,2.903332207994459,6.070703171483157,1.038567748490169,0.001114891451314,6.070703171483157],[-0.00000000000087,-0.000000000000818,-0.000000000000827,-0.000000000000732,-0.000000000000754,0.00000000000087,0.000000000000818,0.000000000000827,0.000000000000732,0.000000000000921,0.000000000000754,4.03896783473158e-28,-3.02922587604869e-28,1.0097419586829e-28,-2.01948391736579e-28,4.03896783473158e-28,-1.0097419586829e-28,0.000000000004792,0.000000000004792,0.00000000000457,0.00000000000457,0.000000000004674,0.000000000004674,0.000000000004792,0.00000000000457,0.000000000004674,0.000000001138294,0.000000001085426,0.000000001110153,-0.000000000000921,0.000000001138294],[0.00000000687207,-0.000000005139062,0.006815546474877,0.000004549213048,0.000000274004147,-0.000000006872541,0.000000005138898,-0.006814619988638,-0.000004474949599,-0.000302950288335,-0.000000258932021,-0.000000000000472,-0.000000000000164,0.000000926486239,0.000000074263449,-0.000000006971986,0.000000015072126,0.000000034969092,0.000000034969092,0.02831792507679,0.02831792507679,0.001181580973297,0.001181580973297,0.000000034969092,0.02831792507679,0.001181580973297,0.000008306197538,6.726347938289918,0.280660561185497,0.000302943316348,6.726347938289918],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],[0.012791568848173,0.004194863788968,-0.000000278986172,-0.000000025461792,-0.000000031675443,-0.012781727384037,-0.004194121461083,0.000000278987184,0.000000025458989,0.00000029668375,0.000000031677718,0.000009841464136,0.000000742327885,0.000000000001012,-0.000000000002803,0.000000000001929,0.000000000002274,0.054927243676368,0.054927243676368,0.000001163757144,0.000001163757144,0.000001163757096,0.000001163757096,0.054927243676368,0.000001163757144,0.000001163757096,13.046851111323118,0.000276426872595,0.000276426861108,-0.000000296681821,13.046851111323118],[0.000053002111596,0.0000174204277,0.000000000058966,-0.000000000045677,-0.000000000047678,-0.000053002104534,-0.000017420427167,-0.000000000058966,0.000000000045677,-0.000000000063314,0.000000000047678,0.000000000007062,0.000000000000533,5.50216891274634e-20,1.30458001902279e-19,-1.30020268261874e-19,-1.17389272006978e-20,0.000226795656308,0.000226795656308,0.000000000309474,0.000000000309474,0.000000000309507,0.000000000309507,0.000226795656308,0.000000000309474,0.000000000309507,0.053870701722895,0.000000073509284,0.000000073517017,0.000000000063314,0.053870701722895],[0.000058002674129,0.000019063890044,0.000000000060866,-0.000000000051151,-0.000000000053457,-0.00005800266157,-0.000019063889097,-0.000000000060866,0.000000000051151,-0.000000000065201,0.000000000053457,0.000000000012559,0.000000000000947,1.24372524608606e-19,2.23183681949161e-19,-2.52915706790402e-19,-2.8790357262032e-20,0.000247626706158,0.000247626706158,0.000000000329539,0.000000000329539,0.000000000329583,0.000000000329583,0.000247626706158,0.000000000329539,0.000000000329583,0.058818694516555,0.000000078275413,0.000000078285844,0.000000000065201,0.058818694516555],[0.000000000196832,-0.000000000117719,0.000000000187197,-0.000000000120467,0.000000056961449,-0.000000000196832,0.000000000117719,-0.000000000187197,0.000000000120467,-0.000183001054447,-0.000000056936683,2.2791927803133e-19,6.00844330739456e-18,-5.32724831148281e-18,-2.80176767366067e-18,0.000000000328344,0.000000000024767,0.000000000920379,0.000000000920379,0.000000000920381,0.000000000920381,0.000718378905731,0.000718378905731,0.000000000920379,0.000000000920381,0.000718378905731,0.000000218617432,0.000000218617733,0.170636318104825,0.000183001382792,0.170636318104825],[0.002895272059545,0.000949399485345,0.006155286086983,0.000006124986172,0.000000575512983,-0.002895266718534,-0.00094940485249,-0.006155254001929,-0.000006114666935,-0.001114901669516,-0.000000573899997,0.000000005341011,-0.000000005367144,0.000000032085054,0.000000010319237,-0.000000001292644,0.000000001612987,0.012223029797218,0.012223029797218,0.025557661644081,0.025557661644081,0.004372371320116,0.004372371320116,0.012223029797218,0.025557661644081,0.004372371320116,2.903332467093661,6.070703423397105,1.038568000118332,0.001114900376872,6.070703423397105],[-0.000000000000224,-0.000000000001167,-0.000000000000218,-0.000000000001105,-0.000000000001143,0.000000000000224,0.000000000001167,0.000000000000218,0.000000000001105,0.000000000000271,0.000000000001143,3.53409685539013e-28,2.01948391736579e-28,4.2914033244023e-28,6.05845175209737e-28,4.03896783473158e-28,0.0,0.000000000004768,0.000000000004768,0.000000000004658,0.000000000004658,0.000000000004609,0.000000000004609,0.000000000004768,0.000000000004658,0.000000000004609,0.000000001132575,0.000000001106461,0.000000001094707,-0.000000000000271,0.000000001132575],[0.00000000693951,-0.000000005128563,0.006814620054713,0.000004474956636,0.00000025894059,-0.000000006940154,0.000000005128335,-0.006813358642453,-0.00000437384685,-0.000302959850983,-0.000000238419866,-0.000000000000645,-0.000000000000228,0.000001261412261,0.000000101109787,-0.000000009492371,0.000000020520724,0.000000035162976,0.000000035162976,0.028317925351383,0.028317925351383,0.001181581247423,0.001181581247423,0.000000035162976,0.028317925351383,0.001181581247423,0.000008352250684,6.726348003513826,0.280660626298551,0.000302950358612,6.726348003513826],[3.88683029579547e-17,-2.12769648248666e-17,-3.81475895146926e-17,-2.08064426728484e-17,4.62943301934582e-17,-3.88683029579547e-17,2.12769648248666e-17,3.81475895146926e-17,2.08064426728484e-17,-4.18998535572439e-19,-4.62943301934582e-17,0.0,9.24446373305873e-33,6.16297582203915e-33,-6.16297582203915e-33,-7.46297853450054e-33,-6.16297582203915e-33,1.80566654776543e-16,1.80566654776543e-16,1.80566654776543e-16,1.80566654776543e-16,1.80566654776543e-16,1.80566654776543e-16,1.80566654776543e-16,1.80566654776543e-16,1.80566654776543e-16,0.000000000000043,0.000000000000043,0.000000000000043,4.18998535572431e-19,0.000000000000043],[0.012781807663739,0.004194129902902,-0.000000199774711,-0.000000020908329,-0.000000025535245,-0.012774009726026,-0.004193541715451,0.000000199775306,0.000000020906744,0.000000212403963,0.000000025536551,0.000007797937713,0.000000588187451,0.000000000000595,-0.000000000001585,0.000000000001078,0.000000000001306,0.054927565876311,0.054927565876311,0.000000834417555,0.000000834417555,0.000000834417506,0.000000834417506,0.054927565876311,0.000000834417555,0.000000834417506,13.046927643375319,0.000198198942377,0.000198198930711,-0.000000212402885,13.046927643375319],[0.00005300210466,0.000017420427306,0.0000000000591,-0.000000000045548,-0.00000000004754,-0.000053002097333,-0.000017420426754,-0.0000000000591,0.000000000045548,-0.000000000063449,0.00000000004754,0.000000000007326,0.000000000000553,5.07912806797141e-20,1.25083473420399e-19,-1.51210231561827e-19,-1.81360577148473e-20,0.000226795656972,0.000226795656972,0.000000000309586,0.000000000309586,0.000000000309606,0.000000000309606,0.000226795656972,0.000000000309586,0.000000000309606,0.053870701880493,0.000000073535929,0.000000073540556,0.000000000063449,0.053870701880493],[0.000058002661836,0.00001906388925,0.000000000061133,-0.000000000051012,-0.000000000053307,-0.00005800262157,-0.000019063886212,-0.000000000061133,0.000000000051012,-0.000000000065482,0.000000000053307,0.000000000040266,0.000000000003037,3.10146885806874e-19,6.98668184687913e-19,-7.56272557869965e-19,-4.52757889892268e-20,0.000247626707378,0.000247626707378,0.000000000330018,0.000000000330018,0.000000000330063,0.000000000330063,0.000247626707378,0.000000000330018,0.000000000330063,0.058818694806237,0.000000078388999,0.000000078399746,0.000000000065482,0.058818694806237],[0.000000000030129,-0.000000000018021,0.000000000028655,-0.000000000018442,0.000000008692612,-0.000000000030129,0.000000000018021,-0.000000000028655,0.000000000018442,-0.000027999882276,-0.000000008690568,3.01847769796432e-20,4.96910277136768e-19,-4.43554778563405e-19,-2.29015499138116e-19,0.0000000000271,0.000000000002044,0.000000000140887,0.000000000140887,0.000000000140887,0.000000000140887,0.000109914909041,0.000109914909041,0.000000000140887,0.000000000140887,0.000109914909041,0.000000033464942,0.00000003346496,0.026108054167542,0.000027999909376,0.026108054167542],[0.000000000166748,-0.000000000099725,0.000000000158586,-0.000000000102052,0.000000048244043,-0.000000000166748,0.000000000099725,-0.000000000158587,0.000000000102052,-0.000154998733333,-0.000000048062125,1.97853139431042e-18,4.41098093373906e-17,-3.9164061429007e-17,-2.0393669016937e-17,0.000000002411785,0.000000000181917,0.000000000779706,0.000000000779706,0.000000000779707,0.000000000779707,0.000608463996873,0.000608463996873,0.000000000779706,0.000000000779707,0.000608463996873,0.000000185203419,0.000000185203459,0.144528263980814,0.000155001145118,0.144528263980814],[0.002895266777885,0.000949404870637,0.006155254059854,0.00000611468243,0.000000573916657,-0.002895262700894,-0.000949408967575,-0.006155229568154,-0.000006106805377,-0.0011149027175,-0.000000572685405,0.00000000407699,-0.000000004096938,0.0000000244917,0.000000007877053,-0.000000000986723,0.000000001231252,0.012223030046137,0.012223030046137,0.025557661884659,0.025557661884659,0.004372371560399,0.004372371560399,0.012223030046137,0.025557661884659,0.004372371560399,2.903332526219442,6.070703480541626,1.038568057192618,0.001114901730777,6.070703480541626],[-0.000000000000832,0.00000000000001,-0.000000000000774,0.000000000000061,0.000000000000085,0.000000000000832,-0.00000000000001,0.000000000000774,-0.000000000000061,0.000000000000855,-0.000000000000085,1.0097419586829e-28,0.0,1.0097419586829e-28,6.31088724176809e-29,0.0,-1.26217744835362e-29,0.000000000003338,0.000000000003338,0.000000000003214,0.000000000003214,0.000000000003374,0.000000000003374,0.000000000003338,0.000000000003214,0.000000000003374,0.000000000792775,0.000000000763409,0.000000000801455,-0.000000000000855,0.000000000801455],[0.000000007006091,-0.000000005118229,0.006813358707492,0.000004373853701,0.000000238428218,-0.000000007006549,0.000000005118064,-0.006812466060848,-0.000004302302698,-0.000302966637514,-0.000000223906591,-0.000000000000458,-0.000000000000165,0.000000892646644,0.000000071551003,-0.00000000671734,0.000000014521628,0.000000035355116,0.000000035355116,0.028317925621721,0.028317925621721,0.001181581517304,0.001181581517304,0.000000035355116,0.028317925621721,0.001181581517304,0.000008397889628,6.726348067727011,0.280660690403346,0.000302959920174,6.726348067727011],[3.88714247323087e-17,-2.12753559564597e-17,-3.81408340610657e-17,-2.08020297538716e-17,4.62957496639852e-17,-3.88714247323087e-17,2.12753559564597e-17,3.81408340610657e-17,2.08020297538716e-17,-4.22148682110669e-19,-4.62957496639852e-17,0.0,0.0,0.0,0.0,2.93704316519053e-33,0.0,1.80566654776543e-16,1.80566654776543e-16,1.80566654776543e-16,1.80566654776543e-16,1.80566654776543e-16,1.80566654776543e-16,1.80566654776543e-16,1.80566654776543e-16,1.80566654776543e-16,0.000000000000043,0.000000000000043,0.000000000000043,4.22148682110672e-19,0.000000000000043],[0.012774059867593,0.00419354699317,-0.000000150271615,-0.000000018065165,-0.000000021699592,-0.012770837677545,-0.004193303947939,0.000000150271808,0.000000018064674,0.000000159732942,0.000000021700004,0.000003222190048,0.00000024304523,0.000000000000193,-0.000000000000491,0.000000000000329,0.000000000000412,0.054927767231955,0.054927767231955,0.00000062873712,0.00000062873712,0.000000628737072,0.000000628737072,0.054927767231955,0.00000062873712,0.000000628737072,13.046975471318905,0.000149343732541,0.000149343721153,-0.000000159732613,13.046975471318905],[0.000053002097236,0.000017420426718,0.000000000059003,-0.000000000045582,-0.000000000047575,-0.000053002075119,-0.00001742042505,-0.000000000059003,0.000000000045582,-0.000000000063344,0.000000000047575,0.000000000022118,0.000000000001668,1.73157401164391e-19,3.88842690860758e-19,-4.32578547430398e-19,-4.60229398775153e-20,0.000226795656552,0.000226795656552,0.000000000309354,0.000000000309354,0.000000000309358,0.000000000309358,0.000226795656552,0.000000000309354,0.000000000309358,0.053870701780851,0.000000073480872,0.000000073481692,0.000000000063344,0.053870701780851],[0.000058002623276,0.00001906388639,0.000000000062808,-0.00000000005091,-0.000000000053177,-0.000058002297581,-0.000019063861823,-0.000000000062808,0.00000000005091,-0.000000000067256,0.000000000053177,0.000000000325695,0.000000000024567,2.6514432879114e-18,5.71113749586878e-18,-6.27196679128504e-18,-5.77709725272997e-19,0.000247626714174,0.000247626714174,0.00000000033511,0.00000000033511,0.000000000335155,0.000000000335155,0.000247626714174,0.00000000033511,0.000000000335155,0.058818696420402,0.000000079598591,0.000000079609216,0.000000000067256,0.058818696420402],[0.00000000003013,-0.000000000018025,0.000000000028655,-0.000000000018445,0.000000008690564,-0.00000000003013,0.000000000018025,-0.000000000028655,0.000000000018445,-0.000027999852353,-0.000000008688307,2.01255369479624e-20,5.50678319115945e-19,-4.80434209352601e-19,-2.53458860722468e-19,0.000000000029925,0.000000000002257,0.0000000001409,0.0000000001409,0.000000000140899,0.000000000140899,0.000109914909046,0.000109914909046,0.0000000001409,0.000000000140899,0.000109914909046,0.000000033467829,0.000000033467653,0.026108054168648,0.000027999882277,0.026108054168648],[0.002895262751301,0.00094940898099,0.006155229617264,0.000006106816604,0.000000572697486,-0.002895258938262,-0.000949412812686,-0.006155206711198,-0.000006099449525,-0.001114903692319,-0.000000571545948,0.000000003813039,-0.000000003831696,0.000000022906066,0.000000007367079,-0.000000000922841,0.000000001151539,0.012223030255047,0.012223030255047,0.025557662088619,0.025557662088619,0.004372371764268,0.004372371764268,0.012223030255047,0.025557662088619,0.004372371764268,2.903332575841621,6.07070352898802,1.03856810561744,0.001114902769478,6.07070352898802],[0.000000000000131,-0.000000000000524,0.000000000000149,-0.000000000000489,-0.000000000000496,-0.000000000000131,0.000000000000524,-0.000000000000149,0.000000000000489,-0.000000000000118,0.000000000000496,1.26217744835362e-28,-1.0097419586829e-28,7.57306469012171e-29,0.0,2.52435489670724e-29,0.0,0.000000000002167,0.000000000002167,0.000000000002114,0.000000000002114,0.000000000001999,0.000000000001999,0.000000000002167,0.000000000002114,0.000000000001999,0.000000000514656,0.000000000502253,0.000000000474777,0.000000000000118,0.000000000514656],[0.000000007110169,-0.000000005102135,0.006812466163045,0.000004302313506,0.000000223919758,-0.000000007111456,0.000000005101659,-0.006809969836131,-0.00000410221787,-0.000302985531606,-0.000000183309354,-0.000000000001287,-0.000000000000476,0.000002496326914,0.000000200095636,-0.000000018785354,0.000000040610405,0.00000003565905,0.00000003565905,0.02831792604656,0.02831792604656,0.001181581941423,0.001181581941423,0.00000003565905,0.02831792604656,0.001181581941423,0.000008470082971,6.726348168638967,0.280660791143982,0.000302966746252,6.726348168638967],[-4.25484348604027e-17,-7.77472677526131e-17,-4.15978138457975e-17,7.62721070402539e-17,-8.48755807796968e-19,4.25484348604027e-17,7.77472677526131e-17,4.15978138457975e-17,-7.62721070402539e-17,-9.25935083231001e-17,8.48755807796962e-19,-1.23259516440783e-32,0.0,1.23259516440783e-32,0.0,0.0,-5.87408633038107e-33,3.61133309553086e-16,3.61133309553086e-16,3.61133309553086e-16,3.61133309553086e-16,3.61133309553086e-16,3.61133309553086e-16,3.61133309553086e-16,3.61133309553086e-16,3.61133309553086e-16,0.000000000000086,0.000000000000086,0.000000000000086,9.25935083231001e-17,0.000000000000086],[0.002283797940206,0.00075044616249,-0.000000003970922,-0.00000000201123,-0.000000002206891,-0.002283765511968,-0.000750443716474,0.000000003970923,0.000000002011229,0.000000004195787,0.000000002206892,0.000000032428239,0.000000002446015,5.76894679296632e-16,-6.5433352292216e-16,2.7821968605751e-16,8.27025301948395e-16,0.009823401149576,0.009823401149576,0.000000018490731,0.000000018490731,0.000000018490697,0.000000018490697,0.009823401149576,0.000000018490731,0.000000018490697,2.333349420562032,0.000004392097678,0.000004392089462,-0.000000004195786,2.333349420562032],[0.010487095452128,0.003442863652273,-0.000000091281676,-0.000000012896192,-0.000000015229305,-0.010478102279561,-0.003442185310059,0.000000091282096,0.000000012895185,0.000000096997943,0.000000015230172,0.000008993172567,0.000000678342215,0.00000000000042,-0.000000000001007,0.000000000000663,0.000000000000867,0.045104590167914,0.045104590167914,0.000000382957986,0.000000382957986,0.000000382957976,0.000000382957976,0.045104590167914,0.000000382957986,0.000000382957976,10.713679277724273,0.000090963891347,0.000090963889066,-0.000000096997279,10.713679277724273],[0.000053002075329,0.000017420425102,0.000000000059212,-0.000000000045538,-0.000000000047527,-0.00005300205304,-0.000017420423421,-0.000000000059212,0.000000000045538,-0.000000000063565,0.000000000047527,0.000000000022289,0.000000000001681,1.64980526938848e-19,4.03952837884356e-19,-4.21904091818131e-19,-5.3817637273013e-20,0.00022679565743,0.00022679565743,0.00000000030993,0.00000000030993,0.000000000309935,0.000000000309935,0.00022679565743,0.00000000030993,0.000000000309935,0.053870701989418,0.000000073617508,0.000000073618877,0.000000000063565,0.053870701989418],[0.000058002299278,0.000019063861921,0.000000000064472,-0.000000000050886,-0.00000000005313,-0.000058002283059,-0.000019063860697,-0.000000000064472,0.000000000050886,-0.000000000069018,0.00000000005313,0.000000000016219,0.000000000001223,1.34318337498791e-19,2.89251967491661e-19,-3.23580932264892e-19,-3.65481352603459e-20,0.000247626720838,0.000247626720838,0.000000000340435,0.000000000340435,0.000000000340472,0.000000000340472,0.000247626720838,0.000000000340435,0.000000000340472,0.058818698003379,0.000000080863503,0.00000008087219,0.000000000069018,0.058818698003379],[0.00000000003013,-0.000000000018015,0.000000000028655,-0.000000000018435,0.000000008688318,-0.00000000003013,0.000000000018015,-0.000000000028655,0.000000000018435,-0.000027999771239,-0.000000008682199,6.36720531678588e-20,1.4777545583355e-18,-1.32102328715697e-18,-6.83948347359992e-19,0.000000000081113,0.000000000006118,0.000000000140875,0.000000000140875,0.000000000140875,0.000000000140875,0.000109914909043,0.000109914909043,0.000000000140875,0.000000000140875,0.000109914909043,0.000000033462068,0.000000033462007,0.026108054168003,0.000027999852352,0.026108054168003],[0.002895258990383,0.000949412827661,0.00615520676204,0.000006099462213,0.000000571559611,-0.002895254924252,-0.000949416913687,-0.006155182335576,-0.000006091606142,-0.001114904730176,-0.000000570331639,0.000000004066131,-0.000000004086026,0.000000024426464,0.000000007856071,-0.000000000984095,0.000000001227972,0.012223030472443,0.012223030472443,0.025557662299778,0.025557662299778,0.004372371975139,0.004372371975139,0.012223030472443,0.025557662299778,0.004372371975139,2.903332627479755,6.070703579144659,1.038568155705685,0.001114903746082,6.070703579144659],[-0.000000000002161,-0.000000000000094,-0.000000000002057,0.000000000000002,0.000000000000008,0.000000000002161,0.000000000000094,0.000000000002057,-0.000000000000002,0.000000000002212,-0.000000000000008,8.07793566946316e-28,6.9419759659449e-28,8.07793566946316e-28,4.66611225438228e-28,1.21169035041947e-27,7.73083687116592e-28,0.000000000008682,0.000000000008682,0.000000000008511,0.000000000008511,0.000000000008684,0.000000000008684,0.000000000008682,0.000000000008511,0.000000000008684,0.000000002062135,0.000000002021597,0.000000002062645,-0.000000000002212,0.000000002062645],[0.000000007242937,-0.000000005081407,0.006809969965751,0.000004102231598,0.000000183326067,-0.000000007243875,0.000000005081048,-0.006808162379704,-0.000003957342687,-0.000302999272032,-0.000000153920131,-0.000000000000939,-0.000000000000358,0.000001807586048,0.000000144888911,-0.000000013602449,0.000000029405936,0.00000003604822,0.00000003604822,0.028317926585593,0.028317926585593,0.001181582479542,0.001181582479542,0.00000003604822,0.028317926585593,0.001181582479542,0.000008562522513,6.726348296675415,0.280660918963352,0.000302985669583,6.726348296675415],[-3.6622551319137e-18,-9.90306571850687e-17,-6.01134280217541e-17,8.75554322220409e-17,1.09001272493852e-17,3.6622551319137e-18,9.90306571850687e-17,6.01134280217541e-17,-8.75554322220409e-17,-7.26584805806162e-17,-1.09001272493852e-17,6.93334779979405e-33,0.0,0.0,0.0,0.0,-1.54074395550979e-33,4.03759314550087e-16,4.03759314550087e-16,4.41634101657142e-16,4.41634101657142e-16,2.86524018538787e-16,2.86524018538787e-16,4.03759314550087e-16,4.41634101657142e-16,2.86524018538787e-16,0.000000000000096,0.000000000000105,0.000000000000068,7.26584805806162e-17,0.000000000000105],[0.00228376571419,0.000750443737935,-0.000000003771215,-0.000000001999608,-0.000000002191242,-0.002283753781578,-0.000750442837875,0.000000003771215,0.000000001999607,0.000000003983303,0.000000002191242,0.000000011932612,0.00000000090006,2.07672296286989e-16,-2.26887974059017e-16,9.32431272217622e-17,2.93331034250754e-16,0.009823401962024,0.009823401962024,0.000000017731931,0.000000017731931,0.0000000177319,0.0000000177319,0.009823401962024,0.000000017731931,0.0000000177319,2.333349613542583,0.000004211860072,0.000004211852666,-0.000000003983303,2.333349613542583],[0.010478174100391,0.003442192883621,-0.000000020300058,-0.000000008826137,-0.00000000973232,-0.010471370627946,-0.003441679707459,0.00000002030018,0.000000008825981,0.000000021473512,0.000000009732504,0.000006803472445,0.000000513176162,0.000000000000122,-0.000000000000156,0.000000000000074,0.000000000000184,0.045104878883424,0.045104878883424,0.000000091953797,0.000000091953797,0.000000091953796,0.000000091953796,0.045104878883424,0.000000091953797,0.000000091953796,10.713747856229631,0.000021841756709,0.00002184175664,-0.000000021473438,10.713747856229631],[0.000053002054113,0.000017420423514,0.000000000060266,-0.000000000045495,-0.000000000047465,-0.000053001845852,-0.000017420407805,-0.000000000060266,0.000000000045495,-0.000000000064682,0.000000000047465,0.000000000208261,0.000000000015709,1.58828620579638e-18,3.80081320474628e-18,-4.09998324872821e-18,-5.11887170533562e-19,0.000226795661691,0.000226795661691,0.000000000313299,0.000000000313299,0.000000000313299,0.000000000313299,0.000226795661691,0.000000000313299,0.000000000313299,0.053870703001456,0.000000074417905,0.000000074417798,0.000000000064682,0.053870703001456],[0.00005800228304,0.000019063860756,0.000000000064456,-0.000000000050822,-0.000000000053065,-0.000058002270242,-0.000019063859791,-0.000000000064456,0.000000000050822,-0.000000000069004,0.000000000053065,0.000000000012798,0.000000000000965,9.49921678499738e-20,2.17013786996568e-19,-2.45631179500045e-19,-3.23548077684937e-20,0.000247626720839,0.000247626720839,0.000000000340218,0.000000000340218,0.000000000340274,0.000000000340274,0.000247626720839,0.000000000340218,0.000000000340274,0.058818698003618,0.000000080811992,0.000000080825159,0.000000000069004,0.058818698003618],[0.00289525497219,0.000949416927194,0.006155182382305,0.000006091617551,0.000000570343919,-0.00289525137416,-0.000949420542829,-0.006155160767864,-0.000006084665886,-0.001114905650429,-0.000000569257313,0.00000000359803,-0.000000003615634,0.000000021614441,0.000000006951665,-0.000000000870804,0.000000001086606,0.012223030672061,0.012223030672061,0.025557662493854,0.025557662493854,0.004372372169088,0.004372372169088,0.012223030672061,0.025557662493854,0.004372372169088,2.903332674894999,6.070703625243556,1.038568201774205,0.001114904779625,6.070703625243556],[-0.000000000000251,-0.00000000000007,-0.000000000000243,-0.000000000000062,-0.000000000000067,0.000000000000251,0.00000000000007,0.000000000000243,0.000000000000062,0.00000000000026,0.000000000000067,0.0,0.0,0.0,-2.52435489670724e-29,-5.04870979341448e-29,-2.52435489670724e-29,0.000000000001046,0.000000000001046,0.000000000001039,0.000000000001039,0.000000000001053,0.000000000001053,0.000000000001046,0.000000000001039,0.000000000001053,0.000000000248453,0.000000000246766,0.000000000250128,-0.00000000000026,0.000000000250128],[0.000000006007017,-0.000000004323648,0.005588647849608,0.000003471729663,0.000000154752965,-0.00000000600716,0.000000004323596,-0.005588378212702,-0.000003451039565,-0.000303000356488,-0.000000149386856,-0.000000000000143,-0.000000000000051,0.000000269636906,0.000000020690098,-0.000000002350264,0.000000005366109,0.000000030153125,0.000000030153125,0.023245468379351,0.023245468379351,0.001181577545026,0.001181577545026,0.000000030153125,0.023245468379351,0.001181577545026,0.000007162262322,5.521488876181326,0.28065974686923,0.000302998006224,5.521488876181326],[7.77685706117544e-17,-4.25374560079513e-17,2.11431964218228e-18,8.67975095783229e-17,-4.55479367844673e-17,-7.77685706117544e-17,4.25374560079513e-17,-2.11431964218228e-18,-8.67975095783229e-17,8.06318452476138e-17,4.55479367844673e-17,0.0,0.0,0.0,0.0,0.0,0.0,3.61133309553086e-16,3.61133309553086e-16,3.61133309553086e-16,3.61133309553086e-16,3.61133309553086e-16,3.61133309553086e-16,3.61133309553086e-16,3.61133309553086e-16,3.61133309553086e-16,0.000000000000086,0.000000000000086,0.000000000000086,-8.06318452476138e-17,0.000000000000086],[0.000000001297159,-0.000000000736245,0.001219514590075,0.000000485630923,-0.000000000812788,-0.00000000129716,0.000000000736244,-0.001219399074264,-0.000000476917731,-0.00000000132949,0.00000000081279,-0.000000000000002,-9.18622101936751e-16,0.000000115515811,0.000000008713192,7.99541230584454e-17,0.000000000000002,0.000000006076618,0.000000006076618,0.005072458559289,0.005072458559289,0.000000006076617,0.000000006076617,0.000000006076618,0.005072458559289,0.000000006076617,0.000001443377264,1.204859504353228,0.000001443376845,0.00000000132949,1.204859504353228],[0.002283753916705,0.000750442851876,-0.000000003637782,-0.000000001992179,-0.000000002181143,-0.002283736142189,-0.00075044151117,0.000000003637782,0.000000001992178,0.000000003841334,0.000000002181144,0.000000017774517,0.000000001340706,3.04895124679774e-16,-3.24326400461019e-16,1.28229596460613e-16,4.26243588017883e-16,0.009823402504481,0.009823402504481,0.000000017229329,0.000000017229329,0.000000017229315,0.000000017229315,0.009823402504481,0.000000017229329,0.000000017229315,2.333349742392148,0.000004092477112,0.00000409247375,-0.000000003841334,2.333349742392148],[0.000058002270286,0.000019063859872,0.000000000064503,-0.000000000050747,-0.000000000052984,-0.000058002255818,-0.000019063858781,-0.000000000064503,0.000000000050747,-0.000000000069051,0.000000000052984,0.000000000014468,0.000000000001091,1.24283990433669e-19,2.5893461543181e-19,-2.80838312815775e-19,-2.52887724821243e-20,0.000247626721112,0.000247626721112,0.00000000034018,0.00000000034018,0.000000000340225,0.000000000340225,0.000247626721112,0.00000000034018,0.000000000340225,0.05881869806854,0.000000080802807,0.000000080813656,0.000000000069051,0.05881869806854],[0.002895251420161,0.000949420557418,0.006155160812769,0.00000608467839,0.000000569270745,-0.002895247740015,-0.00094942425557,-0.006155138705032,-0.00000607756807,-0.001114906588602,-0.00000056815934,0.000000003680146,-0.000000003698152,0.000000022107737,0.00000000711032,-0.000000000890678,0.000000001111405,0.012223030865645,0.012223030865645,0.025557662680363,0.025557662680363,0.004372372355381,0.004372372355381,0.012223030865645,0.025557662680363,0.004372372355381,2.903332720876971,6.070703669545004,1.038568246024462,0.001114905697924,6.070703669545004],[0.000000006017293,-0.000000004322,0.005588378222689,0.000003451040657,0.000000149388177,-0.000000006017327,0.000000004321987,-0.005588314377621,-0.000003446141622,-0.000303000923623,-0.000000148117581,-0.000000000000034,-0.000000000000012,0.000000063845069,0.000000004899035,-0.000000000556499,0.000000001270596,0.000000030182844,0.000000030182844,0.023245468420898,0.023245468420898,0.001181577586501,0.001181577586501,0.000000030182844,0.023245468420898,0.001181577586501,0.000007169321545,5.521488886049847,0.28065975672076,0.000303000367123,5.521488886049847],[3.11080798771483e-16,-1.7014653428472e-16,-3.04889931505413e-16,-1.66261658914392e-16,3.7041558708924e-16,-3.11080798771483e-16,1.7014653428472e-16,3.04889931505413e-16,1.66261658914392e-16,-3.48759757670862e-18,-3.7041558708924e-16,0.0,-2.46519032881566e-32,0.0,4.93038065763132e-32,2.31111593326468e-32,0.0,0.000000000000001,0.000000000000001,0.000000000000001,0.000000000000001,0.000000000000001,0.000000000000001,0.000000000000001,0.000000000000001,0.000000000000001,0.000000000000343,0.000000000000343,0.000000000000343,3.48759757670864e-18,0.000000000000343],[0.000000001301854,-0.00000000073593,0.00121939907887,0.00000047691782,-0.000000000812622,-0.000000001301854,0.00000000073593,-0.001219384475644,-0.000000475816319,-0.000000001334401,0.000000000812622,-2.21875536859246e-16,-1.16857158713041e-16,0.000000014603226,0.0000000011015,9.66863107756769e-18,2.49943568267341e-16,0.000000006092625,0.000000006092625,0.005072458578449,0.005072458578449,0.000000006092622,0.000000006092622,0.000000006092625,0.005072458578449,0.000000006092622,0.000001447179328,1.204859508904315,0.000001447178667,0.000000001334401,1.204859508904315],[0.002283736272084,0.000750441525031,-0.000000003509499,-0.000000001984629,-0.000000002171005,-0.00228372557675,-0.000750440718297,0.000000003509499,0.000000001984629,0.000000003704834,0.000000002171005,0.000000010695334,0.000000000806734,1.81424893439629e-16,-1.86925089888506e-16,7.15462554415223e-17,2.50303302394898e-16,0.009823403026451,0.009823403026451,0.000000016748424,0.000000016748424,0.000000016748379,0.000000016748379,0.009823403026451,0.000000016748424,0.000000016748379,2.333349866375388,0.000003978247903,0.000003978237327,-0.000000003704834,2.333349866375388],[0.000058002256035,0.000019063858797,0.000000000064715,-0.000000000050747,-0.000000000052979,-0.000058002243158,-0.000019063857826,-0.000000000064715,0.000000000050747,-0.000000000069269,0.000000000052979,0.000000000012877,0.000000000000971,1.00567520274946e-19,2.31355127801934e-19,-2.57799342352824e-19,-2.19250877576172e-20,0.000247626721968,0.000247626721968,0.000000000340873,0.000000000340873,0.000000000340892,0.000000000340892,0.000247626721968,0.000000000340873,0.000000000340892,0.058818698271775,0.000000080967542,0.000000080972013,0.000000000069269,0.058818698271775],[0.002895247884855,0.000949424295888,0.006155138846262,0.000006077602056,0.000000568195932,-0.002895228890566,-0.000949443383111,-0.006155024741898,-0.00000604090366,-0.001114911335025,-0.000000562459652,0.000000018994289,-0.000000019087223,0.000000114104365,0.000000036698396,-0.000000004597044,0.00000000573628,0.01222303146815,0.01222303146815,0.025557663266927,0.025557663266927,0.004372372941278,0.004372372941278,0.01222303146815,0.025557663266927,0.004372372941278,2.903332863989729,6.070703808871198,1.038568385192259,0.001114906737981,6.070703808871198],[0.00000000607216,-0.000000004312586,0.005588314431714,0.000003446148255,0.000000148125527,-0.000000006073084,0.000000004312248,-0.005586583616659,-0.000003313337306,-0.000303016067664,-0.000000113680155,-0.000000000000924,-0.000000000000338,0.000001730815056,0.00000013281095,-0.000000015086487,0.000000034445372,0.000000030342366,0.000000030342366,0.023245468645926,0.023245468645926,0.001181577810952,0.001181577810952,0.000000030342366,0.023245468645926,0.001181577810952,0.000007207212813,5.521488939500618,0.280659810034718,0.000303000981177,5.521488939500618],[-4.25364388332526e-17,-7.7770585429367e-17,-4.15648735549948e-17,7.62216481678486e-17,-8.72289400929215e-19,4.25364388332526e-17,7.7770585429367e-17,4.15648735549948e-17,-7.62216481678486e-17,-9.26040630028761e-17,8.72289400929213e-19,1.23259516440783e-32,0.0,1.23259516440783e-32,-2.46519032881566e-32,0.0,-2.50370892770341e-33,3.61133309553086e-16,3.61133309553086e-16,3.61133309553086e-16,3.61133309553086e-16,3.61133309553086e-16,3.61133309553086e-16,3.61133309553086e-16,3.61133309553086e-16,3.61133309553086e-16,0.000000000000086,0.000000000000086,0.000000000000086,9.26040630028761e-17,0.000000000000086],[0.000000000000415,-0.000000000000855,0.000000000000353,-0.000000000000843,-0.000000000000899,-0.000000000000415,0.000000000000855,-0.000000000000353,0.000000000000843,-0.000000000000421,0.000000000000899,2.3728936029048e-27,3.02922587604869e-28,2.06997101529993e-27,3.02922587604869e-28,2.27191940703651e-27,2.01948391736579e-28,0.000000000003872,0.000000000003872,0.000000000003801,0.000000000003801,0.00000000000387,0.00000000000387,0.000000000003872,0.000000000003801,0.00000000000387,0.000000000919712,0.000000000902804,0.000000000919356,0.000000000000421,0.000000000919712],[0.000000001302856,-0.000000000735871,0.001219384476627,0.000000475816332,-0.000000000812594,-0.000000001302856,0.000000000735871,-0.001219373700415,-0.000000475003497,-0.000000001335451,0.000000000812594,-1.63647721630319e-16,-8.63453532932856e-17,0.000000010776212,0.000000000812834,7.67267010887138e-18,1.8498252725406e-16,0.000000006096062,0.000000006096062,0.005072458582538,0.005072458582538,0.000000006096062,0.000000006096062,0.000000006096062,0.005072458582538,0.000000006096062,0.000001447995618,1.20485950987566,0.00000144799561,0.000000001335451,1.20485950987566],[0.002283725684209,0.000750440729327,-0.00000000340339,-0.000000001978831,-0.000000002163088,-0.002283712778881,-0.000750439755897,0.00000000340339,0.000000001978831,0.00000000359194,0.000000002163089,0.000000012905328,0.00000000097343,2.158993254716e-16,-2.1839427714776e-16,8.07449153754667e-17,2.96307174673619e-16,0.009823403457707,0.009823403457707,0.000000016354055,0.000000016354055,0.000000016354036,0.000000016354036,0.009823403457707,0.000000016354055,0.000000016354036,2.333349968811536,0.000003884573514,0.00000388456916,-0.00000000359194,2.333349968811536],[0.000058002243281,0.000019063857859,0.000000000064837,-0.000000000050715,-0.000000000052946,-0.000058002228459,-0.000019063856741,-0.000000000064837,0.000000000050715,-0.000000000069402,0.000000000052946,0.000000000014821,0.000000000001118,1.28591753193389e-19,2.70656785762755e-19,-2.91529169868625e-19,-2.98913928184769e-20,0.000247626722481,0.000247626722481,0.000000000341187,0.000000000341187,0.000000000341224,0.000000000341224,0.000247626722481,0.000000000341187,0.000000000341224,0.058818698393727,0.000000081041975,0.000000081050859,0.000000000069402,0.058818698393727],[0.000000002184275,-0.000000001384724,0.001677844957396,0.000000671598889,-0.000000001485644,-0.00000000218428,0.000000001384722,-0.001677577004076,-0.000000651387555,-0.000000002188923,0.00000000148565,-0.000000000000005,-0.000000000000002,0.000000267953321,0.000000020211333,4.40263089235421e-16,0.000000000000006,0.000000010374834,0.000000010374834,0.006966954807739,0.006966954807739,0.000000010374809,0.000000010374809,0.000000010374834,0.006966954807739,0.000000010374809,0.000002464331123,1.654858609171378,0.000002464325096,0.000000002188924,1.654858609171378],[0.002895227040299,0.000949444916845,0.004477180112077,0.000005369437229,0.000000564086959,-0.002895182348976,-0.000949470458373,-0.0044770548461,-0.000005319887762,-0.001114916510796,-0.000000556677287,0.000000044691323,-0.000000025541528,0.000000125265977,0.000000049549467,-0.000000007018431,0.000000007409673,0.012223026332426,0.012223026332426,0.018590711437623,0.018590711437623,0.004372365718105,0.004372365718105,0.012223026332426,0.018590711437623,0.004372365718105,2.903331644102884,4.415845907166708,1.038566669474327,0.001114909492365,4.415845907166708],[0.000000006163913,-0.000000004298243,0.005586583706135,0.000003313346772,0.000000113691672,-0.000000006164564,0.000000004297998,-0.005585370726032,-0.000003220270945,-0.000303026735812,-0.000000089551853,-0.000000000000652,-0.000000000000244,0.000001212980103,0.000000093075827,-0.000000010572831,0.000000024139819,0.000000030612137,0.000000030612137,0.023245469018255,0.023245469018255,0.00118157818265,0.00118157818265,0.000000030612137,0.023245469018255,0.00118157818265,0.000007271291374,5.521489027939856,0.280659898323878,0.000303016162982,5.521489027939856],[1.944526064898e-17,-1.06327898908897e-17,-1.90497548860393e-17,-1.03875506371482e-17,2.31521423622131e-17,-1.944526064898e-17,1.06327898908897e-17,1.90497548860393e-17,1.03875506371482e-17,-2.20715583149413e-19,-2.31521423622131e-17,3.08148791101958e-33,3.08148791101958e-33,-3.08148791101958e-33,-6.16297582203915e-33,-5.00741785540681e-33,6.16297582203915e-33,9.02833273882716e-17,9.02833273882715e-17,9.02833273882716e-17,9.02833273882715e-17,9.02833273882716e-17,9.02833273882715e-17,9.02833273882716e-17,9.02833273882716e-17,9.02833273882716e-17,0.000000000000021,0.000000000000021,0.000000000000021,2.20715583149408e-19,0.000000000000021],[0.000000000000375,-0.000000000000834,0.000000000000316,-0.000000000000819,-0.000000000000874,-0.000000000000375,0.000000000000834,-0.000000000000316,0.000000000000819,-0.00000000000038,0.000000000000874,7.57306469012171e-28,0.0,6.56332273143882e-28,0.0,8.07793566946316e-28,-2.01948391736579e-28,0.000000000003725,0.000000000003725,0.000000000003653,0.000000000003653,0.000000000003717,0.000000000003717,0.000000000003725,0.000000000003653,0.000000000003717,0.000000000884708,0.000000000867677,0.000000000882941,0.00000000000038,0.000000000884708],[0.000000001303572,-0.000000000735745,0.001219373701121,0.000000475003587,-0.000000000812487,-0.000000001303572,0.000000000735745,-0.001219363215783,-0.000000474212693,-0.000000001336202,0.000000000812487,-1.59087174853547e-16,-8.40118269476416e-17,0.000000010485337,0.000000000790894,6.48244819727495e-18,1.80070736634936e-16,0.000000006098348,0.000000006098348,0.005072458585474,0.005072458585474,0.000000006098347,0.000000006098347,0.000000006098348,0.005072458585474,0.000000006098347,0.000001448538813,1.204859510572954,0.000001448538544,0.000000001336202,1.204859510572954],[0.002283712889321,0.000750439767664,-0.000000003294318,-0.000000001972439,-0.000000002154497,-0.002283701557894,-0.00075043891295,0.000000003294318,0.000000001972439,0.00000000347589,0.000000002154497,0.000000011331427,0.000000000854713,1.87453128077154e-16,-1.84214166317492e-16,6.61870014700377e-17,2.54618035702242e-16,0.009823403901479,0.009823403901479,0.000000015950328,0.000000015950328,0.000000015950308,0.000000015950308,0.009823403901479,0.000000015950328,0.000000015950308,2.333350074220655,0.000003788676424,0.000003788671807,-0.00000000347589,2.333350074220655],[0.000058002228573,0.000019063856762,0.000000000064952,-0.000000000050708,-0.000000000052934,-0.000058002213376,-0.000019063855616,-0.000000000064952,0.000000000050708,-0.000000000069513,0.000000000052934,0.000000000015197,0.000000000001146,1.13611938815057e-19,2.71824654927755e-19,-2.83676382422141e-19,-4.03669696545618e-20,0.000247626722948,0.000247626722948,0.000000000341546,0.000000000341546,0.000000000341541,0.000000000341541,0.000247626722948,0.000000000341546,0.000000000341541,0.058818698504626,0.000000081127333,0.000000081126205,0.000000000069513,0.058818698504626],[0.000000002189825,-0.000000001384441,0.001677577009438,0.000000651387637,-0.000000001485541,-0.000000002189825,0.000000001384441,-0.001677561568061,-0.000000650222916,-0.000000002194602,0.000000001485541,-2.96460507075816e-16,-1.42763958879642e-16,0.000000015441377,0.000000001164721,2.49445933825889e-17,3.28123219650027e-16,0.000000010393025,0.000000010393025,0.006966954830011,0.006966954830011,0.000000010393002,0.000000010393002,0.000000010393025,0.006966954830011,0.000000010393002,0.00000246865207,1.654858614461473,0.000002468646494,0.000000002194602,1.654858614461473],[0.002895183714992,0.000949470849835,0.004477056178354,0.000005320219005,0.000000557033781,-0.002894970148669,-0.000949592905017,-0.00447645757032,-0.000005083437152,-0.00111495145895,-0.00000052162519,0.000000213566323,-0.000000122055182,0.000000598608034,0.000000236781853,-0.000000033538958,0.000000035408591,0.012223032028884,0.012223032028884,0.018590716971355,0.018590716971355,0.00437237124524,0.00437237124524,0.012223032028884,0.018590716971355,0.00437237124524,2.903332997180747,4.415847221592397,1.038567982332962,0.001114917919991,4.415847221592397],[0.00000000596626,-0.000000004113947,0.005585370540746,0.000003220460136,-0.000000004500477,-0.000000005967524,0.000000004113399,-0.005582914035965,-0.000002985439977,-0.000000006087963,0.000000004501845,-0.000000000001263,-0.000000000000549,0.000002456504781,0.000000235020159,0.000000000000157,0.000000000001368,0.000000029521108,0.000000029521108,0.023245468247578,0.023245468247578,0.000000029521108,0.000000029521108,0.000000029521108,0.023245468247578,0.000000029521108,0.000007012139676,5.521488844881109,0.000007012139546,0.00000000608812,5.521488844881109],[0.000000000306752,-0.000000000167375,0.000000000292089,-0.000000000177948,0.000000094066015,-0.000000000306752,0.000000000167376,-0.000000000292089,0.000000000177948,-0.000303020008478,-0.000000093993971,-2.0898790037468e-18,4.00449136943796e-16,-3.45800016866015e-16,-2.02033048967684e-16,0.00000000075302,0.000000000072043,0.000000001423459,0.000000001423459,0.000000001423459,0.000000001423459,0.001181554892616,0.001181554892616,0.000000001423459,0.000000001423459,0.001181554892616,0.000000338113875,0.000000338113786,0.280654366249278,0.000303020761498,0.280654366249278],[0.000000000000462,-0.00000000000067,0.00000000000041,-0.00000000000067,-0.000000000000713,-0.000000000000462,0.00000000000067,-0.00000000000041,0.00000000000067,-0.000000000000474,0.000000000000713,6.05845175209737e-28,1.0097419586829e-28,4.54383881407303e-28,2.01948391736579e-28,6.05845175209737e-28,3.02922587604869e-28,0.000000000003315,0.000000000003315,0.000000000003267,0.000000000003267,0.000000000003341,0.000000000003341,0.000000000003315,0.000000000003267,0.000000000003341,0.000000000787497,0.000000000776002,0.000000000793567,0.000000000000474,0.000000000793567],[0.000000001307499,-0.00000000073554,0.001219363219634,0.00000047421271,-0.000000000812407,-0.000000001307501,0.000000000735539,-0.001219264724105,-0.000000466783334,-0.000000001340309,0.000000000812408,-0.000000000000001,-7.93228991135029e-16,0.000000098495529,0.000000007429376,6.20796956954098e-17,0.000000000000002,0.000000006111878,0.000000006111878,0.005072458601494,0.005072458601494,0.000000006111874,0.000000006111874,0.000000006111878,0.005072458601494,0.000000006111874,0.00000145175255,1.204859514378096,0.000001451751609,0.000000001340309,1.204859514378096],[0.002283701947358,0.000750438953913,-0.000000002909702,-0.000000001950423,-0.000000002124748,-0.002283627798267,-0.000750433360953,0.000000002909703,0.000000001950422,0.000000003066667,0.000000002124749,0.000000074149092,0.000000005592959,0.000000000000001,-0.000000000000001,3.16378867747173e-16,0.000000000000002,0.009823405465755,0.009823405465755,0.000000014551487,0.000000014551487,0.000000014551484,0.000000014551484,0.009823405465755,0.000000014551487,0.000000014551484,2.333350445782658,0.000003456410088,0.00000345640946,-0.000000003066667,2.333350445782658],[0.000058002213438,0.000019063855632,0.000000000065012,-0.000000000050691,-0.000000000052917,-0.000058002195171,-0.000019063854254,-0.000000000065012,0.000000000050691,-0.00000000006958,0.000000000052917,0.000000000018267,0.000000000001378,1.59302371473372e-19,3.34889040538117e-19,-3.62446530333579e-19,-4.23209964436108e-20,0.000247626723204,0.000247626723204,0.000000000341699,0.000000000341699,0.000000000341709,0.000000000341709,0.000247626723204,0.000000000341699,0.000000000341709,0.058818698565485,0.000000081163729,0.00000008116609,0.00000000006958,0.058818698565485],[0.000000002190208,-0.000000001384416,0.001677561568431,0.000000650222927,-0.000000001485527,-0.000000002190208,0.000000001384416,-0.001677553813199,-0.000000649637961,-0.000000002194994,0.000000001485527,-1.49054800200596e-16,-7.15159299662904e-17,0.000000007755232,0.000000000584966,1.2377113018208e-17,1.6481824713076e-16,0.00000001039427,0.00000001039427,0.006966954831548,0.006966954831548,0.000000010394244,0.000000010394244,0.00000001039427,0.006966954831548,0.000000010394244,0.000002468947777,1.654858614826659,0.000002468941572,0.000000002194994,1.654858614826659],[0.000000000737076,-0.000000000451628,0.000000000696086,-0.000000000461285,0.000000193786339,-0.000000000737076,0.000000000451629,-0.000000000696087,0.000000000461284,-0.000606026530468,-0.00000018922915,7.28979663765414e-17,0.000000000000001,-0.000000000000001,-5.65566653082943e-16,0.000000060417288,0.000000004557189,0.000000003467985,0.000000003467985,0.000000003467984,0.000000003467984,0.002376818261146,0.002376818261146,0.000000003467985,0.000000003467984,0.002376818261146,0.00000082374936,0.000000823749272,0.564564902520002,0.000606086947757,0.564564902520002],[0.002894971822079,0.00094959406563,0.004476459225645,0.000005084500217,0.000000328486367,-0.002894698244997,-0.000949758642166,-0.004475732520671,-0.000004765211003,-0.00050889606082,-0.000000311143047,0.000000273577082,-0.000000164576536,0.000000726704975,0.000000319289213,-0.000000029062096,0.00000001734332,0.012223039859172,0.012223039859172,0.018590723850923,0.018590723850923,0.001995562797901,0.001995562797901,0.012223039859172,0.018590723850923,0.001995562797901,2.903334857106577,4.415848855694056,0.47400541088329,0.000508866998724,4.415848855694056],[0.000000006101918,-0.00000000409288,0.005582914168245,0.000002985453733,-0.000000004485084,-0.000000006103054,0.000000004092369,-0.005580723495182,-0.000002775866377,-0.000000006228871,0.000000004486323,-0.000000000001136,-0.00000000000051,0.000002190673063,0.000000209587356,0.000000000000126,0.000000000001239,0.000000029926785,0.000000029926785,0.023245468798382,0.023245468798382,0.000000029926785,0.000000029926785,0.000000029926785,0.023245468798382,0.000000029926785,0.000007108499963,5.521488975713405,0.000007108499982,0.000000006228996,5.521488975713405],[2.2164011412914e-17,6.36671870088898e-17,8.60108810193195e-18,-3.23559745507536e-17,-3.12909602582259e-17,-2.2164011412914e-17,-6.36671870088898e-17,-8.60108810193195e-18,3.23559745507536e-17,3.50415456900449e-17,3.12909602582259e-17,0.0,0.0,-3.08148791101958e-33,1.23259516440783e-32,6.16297582203915e-33,0.0,2.74586020474013e-16,2.74586020474013e-16,1.39398585913871e-16,1.39398585913871e-16,1.83166724797789e-16,1.83166724797789e-16,2.74586020474013e-16,1.39398585913871e-16,1.83166724797789e-16,0.000000000000065,0.000000000000033,0.000000000000044,-3.50415456900449e-17,0.000000000000065],[1.06297975938581e-17,1.94507627373202e-17,-2.1677067655372e-17,5.29912691663664e-19,-2.01659365618382e-17,-1.06297975938581e-17,-1.94507627373202e-17,2.1677067655372e-17,-5.29912691663664e-19,-1.13815718019193e-17,2.01659365618382e-17,0.0,0.0,0.0,0.0,0.0,0.0,9.02833273882715e-17,9.02833273882715e-17,9.02833273882715e-17,9.02833273882715e-17,9.02833273882715e-17,9.02833273882715e-17,9.02833273882715e-17,9.02833273882715e-17,9.02833273882715e-17,0.000000000000021,0.000000000000021,0.000000000000021,1.13815718019193e-17,0.000000000000021],[0.000000000305793,-0.00000000016461,0.000000000291281,-0.000000000175199,0.000000093996892,-0.000000000305793,0.00000000016461,-0.000000000291281,0.000000000175199,-0.0003030010095,-0.000000092563895,1.08727633753327e-18,3.25011916906945e-16,-2.81929467182815e-16,-1.6158716734251e-16,0.000000018998072,0.000000001432997,0.000000001414657,0.000000001414657,0.000000001414657,0.000000001414657,0.001181554889086,0.001181554889086,0.000000001414657,0.000000001414657,0.001181554889086,0.000000336023018,0.000000336022943,0.280654365410884,0.000303020007572,0.280654365410884],[0.000000000000001,-6.81769968462356e-16,0.000000000000001,-7.20593828911623e-16,-7.54651182644096e-16,-0.000000000000001,6.81769968462356e-16,-0.000000000000001,7.20593828911623e-16,-0.000000000000001,7.54651182644096e-16,7.88860905221012e-31,-9.86076131526265e-32,3.94430452610506e-31,-1.97215226305253e-31,7.88860905221012e-31,-2.95822839457879e-31,0.000000000000006,0.000000000000006,0.000000000000006,0.000000000000006,0.000000000000006,0.000000000000006,0.000000000000006,0.000000000000006,0.000000000000006,0.000000000001375,0.000000000001371,0.000000000001371,0.000000000000001,0.000000000001375],[0.000000000000362,-0.000000000001235,0.000000000000284,-0.000000000001218,-0.000000000001299,-0.000000000000362,0.000000000001235,-0.000000000000284,0.000000000001218,-0.000000000000346,0.000000000001299,1.51461293802434e-27,-2.01948391736579e-28,1.56510003595849e-27,-4.03896783473158e-28,1.41363874215605e-27,0.0,0.000000000005244,0.000000000005244,0.000000000005203,0.000000000005203,0.000000000005242,0.000000000005242,0.000000000005244,0.000000000005203,0.000000000005242,0.000000001245622,0.000000001235944,0.000000001245185,0.000000000000346,0.000000001245622],[0.000000001312761,-0.000000000735191,0.001219264729266,0.00000046678343,-0.000000000812223,-0.000000001312761,0.000000000735191,-0.001219218888562,-0.000000463325732,-0.000000001345813,0.000000000812224,-6.98900858341611e-16,-3.71544238147037e-16,0.000000045840704,0.000000003457698,2.77326835989717e-17,7.90795964370874e-16,0.000000006129871,0.000000006129871,0.005072458622965,0.005072458622965,0.000000006129867,0.000000006129867,0.000000006129871,0.005072458622965,0.000000006129867,0.00000145602647,1.204859519478322,0.000001456025478,0.000000001345813,1.204859519478322],[0.002283630627721,0.000750433658746,-0.000000000115383,-0.000000001790273,-0.000000001908407,-0.00228308390327,-0.000750392420107,0.000000000115389,0.000000001790274,0.000000000093532,0.000000001908411,0.000000546724451,0.000000041238638,0.000000000000006,0.000000000000001,-0.000000000000004,0.000000000000004,0.009823416830799,0.009823416830799,0.000000007452384,0.000000007452384,0.000000007452383,0.000000007452383,0.009823416830799,0.000000007452384,0.000000007452383,2.333353145317914,0.000001770162386,0.00000177016232,-0.000000000093536,2.333353145317914],[0.000058002195336,0.000019063854271,0.000000000065176,-0.000000000050687,-0.000000000052908,-0.000058002183884,-0.000019063853408,-0.000000000065176,0.000000000050687,-0.000000000069746,0.000000000052908,0.000000000011452,0.000000000000864,8.32372463366505e-20,2.08119895813958e-19,-2.13908854707425e-19,-2.80547545905765e-20,0.000247626723861,0.000247626723861,0.000000000342222,0.000000000342222,0.000000000342207,0.000000000342207,0.000247626723861,0.000000000342222,0.000000000342207,0.058818698721368,0.000000081287984,0.000000081284387,0.000000000069746,0.058818698721368],[0.000000002190646,-0.000000001384287,0.001677553813628,0.000000649638068,-0.000000001485414,-0.000000002190647,0.000000001384287,-0.001677547310445,-0.000000649147542,-0.000000002195445,0.000000001485415,-1.24715200514173e-16,-5.9902415702466e-17,0.000000006503183,0.000000000490526,1.05054952867567e-17,1.38556499730807e-16,0.000000010395481,0.000000010395481,0.006966954833329,0.006966954833329,0.000000010395462,0.000000010395462,0.000000010395481,0.006966954833329,0.000000010395462,0.000002469235323,1.654858615249719,0.000002469230832,0.000000002195445,1.654858615249719],[0.000000000738167,-0.000000000451479,0.000000000697146,-0.000000000461176,0.000000189229268,-0.000000000738167,0.00000000045148,-0.000000000697146,0.000000000461176,-0.00060599464921,-0.000000186824426,3.81221561548674e-17,6.64144708548736e-16,-5.94004470517399e-16,-2.99247833597699e-16,0.000000031882379,0.000000002404842,0.000000003471404,0.000000003471404,0.000000003471404,0.000000003471404,0.002376818265541,0.002376818265541,0.000000003471404,0.000000003471404,0.002376818265541,0.000000824561553,0.00000082456143,0.564564903563947,0.000606026531589,0.564564903563947],[0.002894700768054,0.000949759364566,0.00447573498108,0.000004765821445,0.000000311800451,-0.002894438729102,-0.000949916999947,-0.00447503892534,-0.000004459998445,-0.000508926500787,-0.000000295188561,0.000000262038953,-0.000000157635382,0.000000696055741,0.000000305823001,-0.000000027836498,0.00000001661189,0.012223050381076,0.012223050381076,0.018590734073345,0.018590734073345,0.001995573008606,0.001995573008606,0.012223050381076,0.018590734073345,0.001995573008606,2.903337356371117,4.415851283822652,0.47400783622904,0.000508898664289,4.415851283822652],[0.000000006222308,-0.000000004019208,0.005580723615088,0.000002775932226,-0.00000000441411,-0.000000006222308,0.000000004019208,-0.005578054203876,-0.000002595423108,-0.000000006355941,0.00000000441411,4.72727681655584e-18,-5.50195875717196e-19,0.000002669411211,0.000000180509118,2.92573865378067e-18,-1.01534517675475e-18,0.000000030168681,0.000000030168681,0.023245469297964,0.023245469297964,0.000000030168681,0.000000030168681,0.000000030168681,0.023245469297964,0.000000030168681,0.00000716595746,5.521489094379019,0.000007165957416,0.000000006355941,5.521489094379019],[-1.94540355465371e-17,1.06279539630498e-17,-5.30513976153089e-19,-2.16685416016165e-17,1.13796592709995e-17,1.94540355465371e-17,-1.06279539630498e-17,5.30513976153089e-19,2.16685416016165e-17,-2.01691696002091e-17,-1.13796592709995e-17,0.0,0.0,0.0,0.0,0.0,0.0,9.02833273882716e-17,9.02833273882716e-17,9.02833273882715e-17,9.02833273882715e-17,9.02833273882716e-17,9.02833273882716e-17,9.02833273882716e-17,9.02833273882715e-17,9.02833273882716e-17,0.000000000000021,0.000000000000021,0.000000000000021,2.01691696002091e-17,0.000000000000021],[-1.94540355465371e-17,1.06279539630498e-17,-5.30513976153089e-19,-2.16685416016165e-17,1.13796592709995e-17,1.94540355465371e-17,-1.06279539630498e-17,5.30513976153089e-19,2.16685416016165e-17,-2.01691696002091e-17,-1.13796592709995e-17,0.0,0.0,0.0,0.0,0.0,0.0,9.02833273882716e-17,9.02833273882716e-17,9.02833273882715e-17,9.02833273882715e-17,9.02833273882716e-17,9.02833273882716e-17,9.02833273882716e-17,9.02833273882715e-17,9.02833273882716e-17,0.000000000000021,0.000000000000021,0.000000000000021,2.01691696002091e-17,0.000000000000021],[0.000000000305943,-0.000000000164593,0.000000000291429,-0.000000000175189,0.000000092563908,-0.000000000305943,0.000000000164593,-0.000000000291429,0.000000000175189,-0.000302996538084,-0.000000092226624,2.80686163281853e-19,7.65379993482524e-17,-6.64060260749423e-17,-3.80604720041197e-17,0.000000004471572,0.000000000337284,0.00000000141516,0.00000000141516,0.000000001415159,0.000000001415159,0.001181554889695,0.001181554889695,0.00000000141516,0.000000001415159,0.001181554889695,0.000000336142508,0.000000336142379,0.28065436555552,0.000303001009656,0.28065436555552],[-0.000000000000118,-0.000000000000975,-0.000000000000169,-0.000000000000937,-0.000000000001012,0.000000000000118,0.000000000000975,0.000000000000169,0.000000000000937,0.000000000000144,0.000000000001012,5.80601626242665e-28,2.01948391736579e-28,5.80601626242665e-28,2.01948391736579e-28,6.05845175209737e-28,4.03896783473158e-28,0.000000000004001,0.000000000004001,0.000000000003962,0.000000000003962,0.000000000003986,0.000000000003986,0.000000000004001,0.000000000003962,0.000000000003986,0.000000000950383,0.000000000941071,0.000000000946812,-0.000000000000144,0.000000000950383],[0.000000001315176,-0.000000000735008,0.001219218890932,0.000000463325798,-0.000000000812115,-0.000000001315177,0.000000000735008,-0.001219197376029,-0.00000046170296,-0.00000000134834,0.000000000812116,-3.28078628617951e-16,-1.75124360870618e-16,0.000000021514904,0.000000001622838,1.25161577364799e-17,3.7193826335708e-16,0.000000006138094,0.000000006138094,0.005072458632828,0.005072458632828,0.000000006138089,0.000000006138089,0.000000006138094,0.005072458632828,0.000000006138089,0.000001457979637,1.204859521820987,0.000001457978377,0.00000000134834,1.204859521820987],[0.000058002184147,0.000019063853533,0.000000000065439,-0.000000000050571,-0.000000000052785,-0.000058002134931,-0.00001906384982,-0.000000000065439,0.000000000050571,-0.000000000070028,0.000000000052785,0.000000000049217,0.000000000003712,4.01476646871284e-19,8.91429824530947e-19,-9.67588589097948e-19,-1.12330933314245e-19,0.000247626725035,0.000247626725035,0.000000000342792,0.000000000342792,0.000000000342795,0.000000000342795,0.000247626725035,0.000000000342792,0.000000000342795,0.058818699000413,0.000000081423214,0.000000081423891,0.000000000070028,0.058818699000413],[0.000000002190852,-0.000000001384297,0.001677547310644,0.000000649147528,-0.00000000148543,-0.000000002190852,0.000000001384297,-0.001677542007526,-0.000000648747521,-0.000000002195656,0.00000000148543,-1.0202812902062e-16,-4.87553692655757e-17,0.000000005303118,0.000000000400007,8.6656156482285e-18,1.12392444222353e-16,0.000000010396198,0.000000010396198,0.006966954834152,0.006966954834152,0.000000010396182,0.000000010396182,0.000000010396198,0.006966954834152,0.000000010396182,0.000002469405703,1.654858615445219,0.000002469401953,0.000000002195656,1.654858615445219],[0.000000000513799,-0.000000000316782,0.000392032053177,0.000000144563213,-0.000000000340615,-0.000000000513799,0.000000000316781,-0.000392027002352,-0.000000144182237,-0.000000000515242,0.000000000340615,-9.62124454725249e-17,-4.75196657585762e-17,0.000000005050826,0.000000000380977,7.02925439023949e-18,1.07017704757717e-16,0.000000002421899,0.000000002421899,0.001628625056974,0.001628625056974,0.000000002421897,0.000000002421897,0.000000002421899,0.001628625056974,0.000000002421897,0.000000575272854,0.386846803377005,0.000000575272425,0.000000000515242,0.386846803377005],[0.002894439781781,0.000949917778298,0.004083008400112,0.000004315826581,0.000000295950562,-0.002894364736063,-0.000949956598688,-0.004082847078053,-0.000004239911188,-0.000508934966654,-0.00000029207847,0.000000075045718,-0.00000003882039,0.000000161322059,0.000000075915393,-0.000000007364046,0.000000003872091,0.012223055368074,0.012223055368074,0.016962115717531,0.016962115717531,0.001995577330739,0.001995577330739,0.012223055368074,0.016962115717531,0.001995577330739,2.903338540931113,4.029006072170253,0.474008862863901,0.000508927602608,4.029006072170253],[0.000000006446912,-0.000000004006722,0.005578054423715,0.000002595424743,-0.000000004408933,-0.000000006446912,0.000000004006722,-0.005574418071334,-0.000002349529784,-0.000000006590883,0.000000004408933,6.22978505199002e-18,7.87714171166898e-19,0.000003636352381,0.000000245894959,6.66267844504107e-18,1.32257329114675e-18,0.000000030914178,0.000000030914178,0.023245470214103,0.023245470214103,0.000000030914178,0.000000030914178,0.000000030914178,0.023245470214103,0.000000030914178,0.000007343035073,5.521489311989285,0.000007343035079,0.000000006590883,5.521489311989285],[0.000000000000304,-0.000000000000583,0.000000000000263,-0.000000000000577,-0.000000000000616,-0.000000000000304,0.000000000000583,-0.000000000000263,0.000000000000577,-0.000000000000305,0.000000000000616,2.01948391736579e-28,0.0,1.0097419586829e-28,-1.0097419586829e-28,2.01948391736579e-28,-1.0097419586829e-28,0.00000000000268,0.00000000000268,0.000000000002639,0.000000000002639,0.000000000002681,0.000000000002681,0.00000000000268,0.000000000002639,0.000000000002681,0.00000000063665,0.000000000626869,0.000000000636769,0.000000000000305,0.000000000636769],[0.000000001316487,-0.00000000073493,0.001219197377313,0.000000461702976,-0.000000000812078,-0.000000001316487,0.00000000073493,-0.00121918302654,-0.000000460620518,-0.000000001349712,0.000000000812078,-2.18888834373935e-16,-1.16945784601629e-16,0.000000014350773,0.000000001082458,8.42099910914733e-18,2.48013223917723e-16,0.0000000061426,0.0000000061426,0.005072458638173,0.005072458638173,0.000000006142595,0.000000006142595,0.0000000061426,0.005072458638173,0.000000006142595,0.00000145904993,1.204859523090618,0.000001459048799,0.000000001349712,1.204859523090618],[0.000058002136114,0.000019063849935,0.000000000066599,-0.000000000050508,-0.000000000052701,-0.000058001928623,-0.000019063834285,-0.000000000066599,0.000000000050508,-0.000000000071258,0.000000000052701,0.000000000207491,0.000000000015651,1.62484543044681e-18,3.81114688779557e-18,-4.12981355296598e-18,-5.07236935613199e-19,0.000247626729741,0.000247626729741,0.000000000346449,0.000000000346449,0.000000000346449,0.000000000346449,0.000247626729741,0.000000000346449,0.000000000346449,0.058818700118076,0.000000082291888,0.00000008229194,0.000000000071258,0.058818700118076],[0.00000000219107,-0.000000001384287,0.001677542007735,0.000000648747524,-0.000000001485423,-0.00000000219107,0.000000001384287,-0.001677533683389,-0.000000648119631,-0.000000002195879,0.000000001485423,-1.59566010478205e-16,-7.69447442438216e-17,0.000000008324346,0.000000000627893,1.34265359682484e-17,1.7684840999438e-16,0.000000010396915,0.000000010396915,0.006966954835021,0.006966954835021,0.000000010396889,0.000000010396889,0.000000010396915,0.006966954835021,0.000000010396889,0.000002469576103,1.654858615651498,0.000002469569904,0.000000002195879,1.654858615651498],[0.000000000513956,-0.000000000316747,0.000392027002505,0.000000144182265,-0.000000000340584,-0.000000000513956,0.000000000316747,-0.000392025764028,-0.000000144088849,-0.000000000515405,0.000000000340584,-2.36095511708886e-17,-1.17041196990155e-17,0.000000001238477,0.000000000093417,1.69522187941464e-18,2.62602777067992e-17,0.000000002422364,0.000000002422364,0.001628625057609,0.001628625057609,0.000000002422362,0.000000002422362,0.000000002422364,0.001628625057609,0.000000002422362,0.000000575383397,0.386846803527804,0.00000057538294,0.000000000515405,0.386846803527804],[0.002894365153007,0.000949956718254,0.004082847484622,0.000004240012161,0.000000292187259,-0.00289434788727,-0.000949965649644,-0.004082810369325,-0.000004222546339,-0.000508937091218,-0.000000291296408,0.000000017265738,-0.00000000893139,0.000000037115298,0.000000017465822,-0.000000001694244,0.000000000890851,0.012223057107233,0.012223057107233,0.016962117407048,0.016962117407048,0.001995579018305,0.001995579018305,0.012223057107233,0.016962117407048,0.001995579018305,2.903338954033132,4.029006473480739,0.474009263710994,0.000508935396974,4.029006473480739],[0.000000006614281,-0.000000003997397,0.005574418235046,0.000002349531013,-0.000000004405053,-0.000000006614281,0.000000003997397,-0.005573351652223,-0.000002277407272,-0.000000006765956,0.000000004405053,2.04897518094999e-18,8.1185295580242e-20,0.000001066582823,0.000000072123742,1.28370572852411e-18,-3.0608908668851e-19,0.000000031475519,0.000000031475519,0.023245470896789,0.023245470896789,0.000000031475519,0.000000031475519,0.000000031475519,0.023245470896789,0.000000031475519,0.000007476370215,5.521489474147576,0.000007476370323,0.000000006765956,5.521489474147576],[-0.000000000000334,-0.000000000000237,-0.000000000000342,-0.000000000000207,-0.000000000000228,0.000000000000334,0.000000000000237,0.000000000000342,0.000000000000207,0.00000000000035,0.000000000000228,1.0097419586829e-28,0.0,2.01948391736579e-28,0.0,1.51461293802434e-28,5.04870979341448e-29,0.000000000001671,0.000000000001671,0.000000000001661,0.000000000001661,0.00000000000163,0.00000000000163,0.000000000001671,0.000000000001661,0.00000000000163,0.000000000396839,0.000000000394592,0.000000000387113,-0.00000000000035,0.000000000396839],[0.000000001317831,-0.000000000734838,0.001219183027859,0.000000460620546,-0.000000000812027,-0.000000001317831,0.000000000734837,-0.001219161088199,-0.000000458965669,-0.000000001351118,0.000000000812027,-3.34992265389035e-16,-1.7910357865797e-16,0.00000002193966,0.000000001654877,1.25311814043554e-17,3.79738917435265e-16,0.000000006147197,0.000000006147197,0.005072458643661,0.005072458643661,0.000000006147193,0.000000006147193,0.000000006147197,0.005072458643661,0.000000006147193,0.000001460141845,1.204859524394166,0.00000146014083,0.000000001351118,1.204859524394166],[0.000000002191714,-0.000000001384314,0.00167753368401,0.000000648119583,-0.000000001485471,-0.000000002191714,0.000000001384314,-0.001677513834126,-0.000000646622335,-0.000000002196535,0.000000001485471,-3.81628517659643e-16,-1.83142279209966e-16,0.000000019849883,0.000000001497248,3.21941403422144e-17,4.21950283031102e-16,0.000000010399156,0.000000010399156,0.006966954837598,0.006966954837598,0.000000010399128,0.000000010399128,0.000000010399156,0.006966954837598,0.000000010399128,0.000002470108352,1.654858616263788,0.000002470101736,0.000000002196535,1.654858616263788],[0.000000000513945,-0.000000000316767,0.000392025764017,0.000000144088829,-0.000000000340605,-0.000000000513945,0.000000000316767,-0.00039202491359,-0.000000144024683,-0.000000000515392,0.000000000340605,-1.60973208068328e-17,-7.96486824813571e-18,0.000000000850428,0.000000000064147,1.13241977116214e-18,1.8004965872876e-17,0.000000002422367,0.000000002422367,0.001628625057563,0.001628625057563,0.000000002422366,0.000000002422366,0.000000002422367,0.001628625057563,0.000000002422366,0.000000575384029,0.386846803516953,0.000000575383891,0.000000000515392,0.386846803516953],[0.002894348004676,0.000949965683503,0.004082810483819,0.000004222574953,0.00000029132723,-0.002894339436589,-0.000949970115687,-0.004082792065429,-0.000004213907574,-0.000508938053163,-0.000000290885147,0.000000008568087,-0.000000004432184,0.00000001841839,0.000000008667378,-0.000000000840765,0.000000000442083,0.012223057597199,0.012223057597199,0.016962117882839,0.016962117882839,0.001995579493531,0.001995579493531,0.012223057597199,0.016962117882839,0.001995579493531,2.903339070414539,4.029006586495146,0.474009376591122,0.000508937212398,4.029006586495146],[0.000000006777573,-0.000000003988327,0.005573351811916,0.000002277408442,-0.000000004401298,-0.000000006777573,0.000000003988327,-0.005569821621351,-0.000002038692286,-0.000000006936763,0.000000004401298,6.84172499735062e-18,3.76590517477017e-19,0.000003530190564,0.000000238716156,7.81831097214298e-18,8.87083378152893e-19,0.000000032027785,0.000000032027785,0.02324547156284,0.02324547156284,0.000000032027785,0.000000032027785,0.000000032027785,0.02324547156284,0.000000032027785,0.000007607549831,5.521489632354328,0.000007607549824,0.000000006936763,5.521489632354328],[-0.000000000000085,-0.000000000000159,-0.000000000000095,-0.000000000000152,-0.000000000000163,0.000000000000085,0.000000000000159,0.000000000000095,0.000000000000152,0.000000000000096,0.000000000000163,0.0,-2.52435489670724e-29,2.52435489670724e-29,-5.04870979341448e-29,1.26217744835362e-29,0.0,0.000000000000734,0.000000000000734,0.000000000000748,0.000000000000748,0.000000000000737,0.000000000000737,0.000000000000734,0.000000000000748,0.000000000000737,0.00000000017431,0.000000000177562,0.000000000175176,-0.000000000000096,0.000000000177562],[0.000000001320157,-0.000000000734677,0.001219161090481,0.000000458965718,-0.000000000811939,-0.000000001320157,0.000000000734677,-0.001219118242583,-0.000000455733763,-0.000000001353552,0.000000000811939,-6.54838483805694e-16,-3.50223283662653e-16,0.000000042847898,0.000000003231955,2.37674665672698e-17,7.42500686920673e-16,0.000000006155155,0.000000006155155,0.005072458653154,0.005072458653154,0.00000000615515,0.00000000615515,0.000000006155155,0.005072458653154,0.00000000615515,0.000001462032003,1.204859526649012,0.000001462030803,0.000000001353552,1.204859526649012],[0.000000002192321,-0.000000001384215,0.001677513834717,0.00000064662241,-0.000000001485391,-0.000000002192321,0.000000001384215,-0.001677500101812,-0.000000645586556,-0.00000000219716,0.000000001485391,-2.63954130040601e-16,-1.26908493896596e-16,0.000000013732905,0.000000001035853,2.21898035965112e-17,2.92053762126239e-16,0.000000010401004,0.000000010401004,0.006966954840051,0.006966954840051,0.000000010400979,0.000000010400979,0.000000010401004,0.006966954840051,0.000000010400979,0.00000247054718,1.654858616846472,0.000002470541374,0.00000000219716,1.654858616846472],[0.000000000513987,-0.000000000316738,0.000392024913631,0.00000014402471,-0.000000000340576,-0.000000000513987,0.000000000316738,-0.000392023734755,-0.000000143935789,-0.000000000515437,0.000000000340576,-2.24453302342817e-17,-1.10682199502244e-17,0.000000001178877,0.000000000088921,1.68005097339011e-18,2.49136528468728e-17,0.000000002422452,0.000000002422452,0.001628625057737,0.001628625057737,0.000000002422449,0.000000002422449,0.000000002422452,0.001628625057737,0.000000002422449,0.000000575404293,0.386846803558282,0.000000575403547,0.000000000515437,0.386846803558282],[0.002894339517504,0.000949970138974,0.004082792144327,0.000004213927248,0.000000290906343,-0.002894330101845,-0.000949975009598,-0.004082771903956,-0.000004204402476,-0.000508939060616,-0.000000290420528,0.000000009415658,-0.000000004870624,0.000000020240372,0.000000009524772,-0.000000000923935,0.000000000485815,0.012223057934817,0.012223057934817,0.01696211821071,0.01696211821071,0.001995579821054,0.001995579821054,0.012223057934817,0.01696211821071,0.001995579821054,2.903339150608859,4.029006664374286,0.474009454387657,0.00050893813668,4.029006664374286],[-0.000000000000507,-0.000000000000555,-0.000000000000523,-0.000000000000511,-0.000000000000555,0.000000000000507,0.000000000000555,0.000000000000523,0.000000000000511,0.000000000000548,0.000000000000555,1.0097419586829e-28,1.0097419586829e-28,2.01948391736579e-28,2.01948391736579e-28,1.0097419586829e-28,2.01948391736579e-28,0.000000000003064,0.000000000003064,0.000000000003044,0.000000000003044,0.000000000003041,0.000000000003041,0.000000000003064,0.000000000003044,0.000000000003041,0.000000000727674,0.000000000722966,0.000000000722383,-0.000000000000548,0.000000000727674],[0.000000001322118,-0.000000000734569,0.001219118244505,0.000000455733777,-0.000000000811892,-0.000000001322118,0.000000000734569,-0.001219106400246,-0.000000454840382,-0.000000001355602,0.000000000811893,-1.8132921407856e-16,-9.72689635642695e-17,0.000000011844259,0.000000000893395,6.57547727166088e-18,2.05332995703681e-16,0.000000006161922,0.000000006161922,0.005072458661151,0.005072458661151,0.000000006161914,0.000000006161914,0.000000006161922,0.005072458661151,0.000000006161914,0.000001463639471,1.204859528548455,0.000001463637457,0.000000001355602,1.204859528548455],[0.000000002192964,-0.00000000138415,0.001677500102433,0.000000645586598,-0.000000001485344,-0.000000002192964,0.00000000138415,-0.001677482641128,-0.000000644269517,-0.000000002197819,0.000000001485344,-3.35681410650458e-16,-1.61556691759846e-16,0.000000017461306,0.000000001317081,2.80771615175033e-17,3.71422830883979e-16,0.000000010403044,0.000000010403044,0.006966954842631,0.006966954842631,0.000000010403018,0.000000010403018,0.000000010403044,0.006966954842631,0.000000010403018,0.00000247103183,1.654858617459266,0.000002471025726,0.000000002197819,1.654858617459266],[0.000000000514076,-0.000000000316721,0.00039202373484,0.000000143935802,-0.000000000340561,-0.000000000514076,0.000000000316721,-0.000392020939371,-0.000000143724944,-0.000000000515528,0.000000000340561,-5.3230973278835e-17,-2.62331308281673e-17,0.000000002795469,0.000000000210858,3.84947326750245e-18,5.92554161721315e-17,0.000000002422718,0.000000002422718,0.001628625058093,0.001628625058093,0.000000002422716,0.000000002422716,0.000000002422718,0.001628625058093,0.000000002422716,0.000000575467508,0.386846803642776,0.000000575467075,0.000000000515528,0.386846803642776],[0.002894330194087,0.000949975035466,0.004082771993883,0.000004204424249,0.000000290443999,-0.002894319329818,-0.000949980655441,-0.004082748639507,-0.00000419343408,-0.000508940221881,-0.000000289883441,0.000000010864269,-0.000000005619975,0.000000023354376,0.000000010990169,-0.000000001066084,0.000000000560558,0.012223058318847,0.012223058318847,0.016962118584413,0.016962118584413,0.001995580194315,0.001995580194315,0.012223058318847,0.016962118584413,0.001995580194315,2.90333924182752,4.029006753139865,0.474009543048275,0.000508939155796,4.029006753139865],[-0.000000000000086,-0.000000000000159,-0.000000000000093,-0.00000000000015,-0.000000000000165,0.000000000000086,0.000000000000159,0.000000000000093,0.00000000000015,0.000000000000097,0.000000000000165,3.78653234506086e-29,0.0,1.26217744835362e-29,-5.04870979341448e-29,5.04870979341448e-29,0.0,0.000000000000737,0.000000000000737,0.000000000000734,0.000000000000734,0.000000000000749,0.000000000000749,0.000000000000737,0.000000000000734,0.000000000000749,0.000000000174992,0.00000000017424,0.000000000177803,-0.000000000000097,0.000000000177803],[0.000000001322601,-0.000000000734539,0.00121910640072,0.000000454840393,-0.000000000811874,-0.000000001322601,0.000000000734539,-0.001219102962142,-0.000000454581026,-0.000000001356109,0.000000000811874,-5.25815171771775e-17,-2.82235633869384e-17,0.000000003438578,0.000000000259367,1.81249065447083e-18,5.97721830426572e-17,0.000000006163583,0.000000006163583,0.005072458663122,0.005072458663122,0.000000006163575,0.000000006163575,0.000000006163583,0.005072458663122,0.000000006163575,0.000001464033961,1.204859529016659,0.000001464031973,0.000000001356109,1.204859529016659],[0.000000002193348,-0.000000001384071,0.001677482641504,0.000000644269577,-0.000000001485279,-0.000000002193348,0.000000001384071,-0.00167747203391,-0.000000643469462,-0.000000002198214,0.000000001485279,-2.03729307873093e-16,-9.83389982008135e-17,0.000000010607595,0.000000000800116,1.68356926204852e-17,2.25665277656957e-16,0.000000010404179,0.000000010404179,0.006966954844195,0.006966954844195,0.000000010404157,0.000000010404157,0.000000010404179,0.006966954844195,0.000000010404157,0.00000247130151,1.654858617830595,0.000002471296139,0.000000002198214,1.654858617830595],[0.000000000514168,-0.00000000031672,0.000392020939461,0.000000143724942,-0.000000000340563,-0.000000000514168,0.00000000031672,-0.000392018814444,-0.000000143564655,-0.000000000515623,0.000000000340563,-4.0514772664557e-17,-1.99919146570997e-17,0.000000002125017,0.000000000160287,2.86861200971411e-18,4.51270268633113e-17,0.000000002423032,0.000000002423032,0.001628625058466,0.001628625058466,0.000000002423032,0.000000002423032,0.000000002423032,0.001628625058466,0.000000002423032,0.000000575542052,0.386846803731429,0.000000575541955,0.000000000515623,0.386846803731429],[0.002894319428677,0.000949980683755,0.004082748735904,0.000004193457988,0.000000289909201,-0.00289430844564,-0.000949986365167,-0.004082725126218,-0.000004182347675,-0.000508941401656,-0.000000289342515,0.000000010983037,-0.000000005681412,0.000000023609686,0.000000011110313,-0.000000001077739,0.000000000566686,0.012223058731167,0.012223058731167,0.016962118985004,0.016962118985004,0.001995580594464,0.001995580594464,0.012223058731167,0.016962118985004,0.001995580594464,2.903339339765722,4.029006848292148,0.474009638095438,0.000508940323917,4.029006848292148],[0.000000000000117,-0.000000000000166,0.000000000000104,-0.000000000000168,-0.00000000000018,-0.000000000000117,0.000000000000166,-0.000000000000104,0.000000000000168,-0.000000000000115,0.00000000000018,2.52435489670724e-29,0.0,-1.26217744835362e-29,0.0,0.0,-2.52435489670724e-29,0.000000000000827,0.000000000000827,0.000000000000821,0.000000000000821,0.000000000000832,0.000000000000832,0.000000000000827,0.000000000000821,0.000000000000832,0.000000000196419,0.000000000195086,0.000000000197743,0.000000000000115,0.000000000197743],[0.000000001153328,-0.000000000641212,0.001063105084337,0.000000397569647,-0.000000000708677,-0.000000001153328,0.000000000641212,-0.001063102816029,-0.000000397398552,-0.000000001182529,0.000000000708677,-3.45582973927364e-17,-1.85639725662853e-17,0.000000002268308,0.000000000171095,1.08229428040265e-18,3.93101906907315e-17,0.000000005376087,0.000000005376087,0.004423380768078,0.004423380768078,0.000000005376092,0.000000005376092,0.000000005376087,0.004423380768078,0.000000005376092,0.00000127698026,1.050684258431738,0.000001276981477,0.000000001182529,1.050684258431738],[0.000000000169495,-0.000000000093207,0.000155997878026,0.000000057011494,-0.000000000103076,-0.000000000169495,0.000000000093207,-0.000155997618597,-0.000000056991925,-0.000000000173822,0.000000000103076,-3.95439797457871e-18,-2.1065940750292e-18,0.000000000259429,0.000000000019568,1.42572126596604e-19,4.48395648241923e-18,0.000000000788054,0.000000000788054,0.000649077895983,0.000649077895983,0.000000000788055,0.000000000788055,0.000000000788054,0.000649077895983,0.000000000788055,0.000000187186292,0.154175270808103,0.000000187186561,0.000000000173822,0.154175270808103],[0.000000002193842,-0.000000001384133,0.001677472034382,0.000000643469384,-0.000000001485358,-0.000000002193842,0.000000001384132,-0.001677462457987,-0.000000642747051,-0.000000002198715,0.000000001485358,-1.84319022627072e-16,-8.87402558199956e-17,0.000000009576396,0.000000000722334,1.53945359574937e-17,2.040931571208e-16,0.000000010405985,0.000000010405985,0.006966954846158,0.006966954846158,0.000000010405958,0.000000010405958,0.000000010405985,0.006966954846158,0.000000010405958,0.000002471730474,1.654858618296914,0.000002471723897,0.000000002198715,1.654858618296914],[0.000000000514247,-0.000000000316697,0.000392018814522,0.000000143564674,-0.000000000340543,-0.000000000514247,0.000000000316697,-0.000392017322792,-0.000000143452155,-0.000000000515703,0.000000000340543,-2.84558392184609e-17,-1.40613164382731e-17,0.00000000149173,0.000000000112519,1.99416981247741e-18,3.16705941061834e-17,0.00000000242325,0.00000000242325,0.001628625058787,0.001628625058787,0.00000000242325,0.00000000242325,0.00000000242325,0.001628625058787,0.00000000242325,0.000000575593796,0.386846803807551,0.000000575593914,0.000000000515703,0.386846803807551],[0.002894308549509,0.000949986394922,0.004082725227505,0.000004182372799,0.000000289369588,-0.002894296373393,-0.000949992693502,-0.004082699053117,-0.000004170055581,-0.000508942703671,-0.000000288741344,0.000000012176116,-0.00000000629858,0.000000026174388,0.000000012317218,-0.000000001194813,0.000000000628244,0.012223059164394,0.012223059164394,0.016962119405918,0.016962119405918,0.001995581014869,0.001995581014869,0.012223059164394,0.016962119405918,0.001995581014869,2.903339442669908,4.029006948271656,0.474009737954211,0.000508941508858,4.029006948271656],[0.000000000000177,-0.00000000000015,0.000000000000164,-0.000000000000151,-0.000000000000163,-0.000000000000177,0.00000000000015,-0.000000000000164,0.000000000000151,-0.000000000000183,0.000000000000163,2.77679038637796e-28,2.52435489670724e-29,2.27191940703651e-28,5.04870979341448e-29,2.77679038637796e-28,5.04870979341448e-29,0.000000000000946,0.000000000000946,0.000000000000929,0.000000000000929,0.000000000000954,0.000000000000954,0.000000000000946,0.000000000000929,0.000000000000954,0.000000000224585,0.000000000220625,0.000000000226627,0.000000000000183,0.000000000226627],[0.000000001153497,-0.000000000641091,0.0010631028162,0.000000397398652,-0.000000000708562,-0.000000001153497,0.000000000641091,-0.001063100693257,-0.000000397238522,-0.000000001182701,0.000000000708562,-3.27444228651008e-17,-1.73349492665153e-17,0.000000002122943,0.000000000160131,1.38649822247515e-18,3.67863878853844e-17,0.000000005376452,0.000000005376452,0.004423380768792,0.004423380768792,0.000000005376436,0.000000005376436,0.000000005376452,0.004423380768792,0.000000005376436,0.000001277066862,1.050684258601245,0.00000127706308,0.000000001182701,1.050684258601245],[0.00000000016955,-0.000000000093223,0.000155997618651,0.000000056991905,-0.000000000103095,-0.00000000016955,0.000000000093223,-0.000155997276318,-0.000000056966084,-0.000000000173878,0.000000000103095,-5.20510485767927e-18,-2.83122678059856e-18,0.000000000342333,0.000000000025822,1.4659589498758e-19,5.93733239959096e-18,0.000000000788285,0.000000000788285,0.000649077896208,0.000649077896208,0.000000000788283,0.000000000788283,0.000000000788285,0.000649077896208,0.000000000788283,0.000000187240995,0.154175270861456,0.000000187240668,0.000000000173878,0.154175270861456],[0.000000002194451,-0.000000001384129,0.001677462458574,0.000000642747036,-0.000000001485371,-0.000000002194451,0.000000001384129,-0.001677446307644,-0.000000641528795,-0.000000002199339,0.000000001485372,-3.10356386564398e-16,-1.49370949664689e-16,0.00000001615093,0.000000001218241,2.62082536297388e-17,3.43497061202956e-16,0.000000010408041,0.000000010408041,0.006966954848597,0.006966954848597,0.000000010408014,0.000000010408014,0.000000010408041,0.006966954848597,0.000000010408014,0.000002472218858,1.654858618876252,0.000002472212402,0.000000002199339,1.654858618876252],[0.000000000514283,-0.000000000316703,0.000392017322826,0.000000143452147,-0.000000000340551,-0.000000000514283,0.000000000316703,-0.000392015760109,-0.000000143334273,-0.000000000515739,0.000000000340551,-2.97308213968475e-17,-1.46514950711751e-17,0.000000001562717,0.000000000117874,2.18749525991843e-18,3.31493375460165e-17,0.000000002423386,0.000000002423386,0.00162862505893,0.00162862505893,0.000000002423386,0.000000002423386,0.000000002423386,0.00162862505893,0.000000002423386,0.000000575626166,0.386846803841518,0.000000575626091,0.000000000515739,0.386846803841518],[0.002894296508656,0.000949992732232,0.004082699185014,0.000004170088269,0.000000288776568,-0.002894278802031,-0.000950001891686,-0.004082661121968,-0.000004152176453,-0.000508944580782,-0.000000287862969,0.000000017706625,-0.000000009159455,0.000000038063046,0.000000017911816,-0.000000001737509,0.000000000913599,0.01222305972854,0.01222305972854,0.016962119954042,0.016962119954042,0.001995581562332,0.001995581562332,0.01222305972854,0.016962119954042,0.001995581562332,2.903339576671234,4.029007078467285,0.474009867992845,0.000508942843273,4.029007078467285],[0.000000000000218,-0.00000000000017,0.000000000000202,-0.000000000000176,-0.000000000000187,-0.000000000000218,0.00000000000017,-0.000000000000202,0.000000000000176,-0.000000000000223,0.000000000000187,5.04870979341448e-29,2.52435489670724e-29,1.26217744835362e-28,0.0,1.0097419586829e-28,2.52435489670724e-29,0.000000000001124,0.000000000001124,0.000000000001116,0.000000000001116,0.000000000001134,0.000000000001134,0.000000000001124,0.000000000001116,0.000000000001134,0.000000000266983,0.000000000265185,0.000000000269287,0.000000000000223,0.000000000269287],[0.000000001153546,-0.000000000641379,0.001063100693291,0.000000397238241,-0.000000000708862,-0.000000001153546,0.000000000641379,-0.001063098506386,-0.000000397073286,-0.000000001182748,0.000000000708862,-3.31625221328963e-17,-1.7985266566588e-17,0.000000002186906,0.000000000164955,1.0945834959682e-18,3.79047473438919e-17,0.000000005377196,0.000000005377196,0.004423380768934,0.004423380768934,0.000000005377193,0.000000005377193,0.000000005377196,0.004423380768934,0.000000005377193,0.000001277243711,1.050684258635029,0.000001277243092,0.000000001182748,1.050684258635029],[0.000000000169621,-0.000000000093217,0.000155997276388,0.000000056966087,-0.000000000103091,-0.000000000169621,0.000000000093217,-0.000155995854177,-0.000000056858812,-0.000000000173953,0.000000000103092,-2.17142558338427e-17,-1.17625413460298e-17,0.000000001422211,0.000000000107275,6.82737248314464e-19,2.46734704870134e-17,0.000000000788527,0.000000000788527,0.000649077896498,0.000649077896498,0.000000000788528,0.000000000788528,0.000000000788527,0.000649077896498,0.000000000788528,0.000000187298494,0.154175270930417,0.000000187298718,0.000000000173953,0.154175270930417],[0.000000002195073,-0.00000000138405,0.00167744630825,0.000000641528848,-0.000000001485314,-0.000000002195073,0.000000001384049,-0.001677430429701,-0.000000640331151,-0.000000002199976,0.000000001485315,-3.05156369823914e-16,-1.47169230206957e-16,0.000000015878548,0.000000001197696,2.52313371962917e-17,3.37994928324265e-16,0.000000010409981,0.000000010409981,0.00696695485111,0.00696695485111,0.000000010409959,0.000000010409959,0.000000010409981,0.00696695485111,0.000000010409959,0.000002472679662,1.654858619473196,0.000002472674234,0.000000002199976,1.654858619473196],[0.000000000514345,-0.00000000031671,0.000392015760168,0.000000143334264,-0.000000000340561,-0.000000000514345,0.00000000031671,-0.000392014477162,-0.000000143237488,-0.000000000515802,0.000000000340561,-2.44751727276633e-17,-1.2102686699308e-17,0.000000001283006,0.000000000096775,1.73437430236073e-18,2.73023062825488e-17,0.000000002423613,0.000000002423613,0.001628625059176,0.001628625059176,0.000000002423612,0.000000002423612,0.000000002423613,0.001628625059176,0.000000002423612,0.000000575679933,0.386846803899878,0.000000575679778,0.000000000515802,0.386846803899878],[0.002246142492606,0.000737727246011,-0.000000015856585,-0.000000003698448,-0.000000003989439,-0.002246092086206,-0.000737723443928,0.000000015856587,0.000000003698444,0.000000016784827,0.000000003989443,0.000000050406401,0.000000003802083,0.000000000000002,-0.000000000000005,0.000000000000003,0.000000000000004,0.009486446865664,0.009486446865664,0.000000067647143,0.000000067647143,0.000000067647056,0.000000067647056,0.009486446865664,0.000000067647143,0.000000067647056,2.253312774277085,0.000016068204943,0.00001606818409,-0.000000016784824,2.253312774277085],[0.000648136338095,0.000212274655216,0.004082677006553,0.000004155883115,0.000000291861235,-0.000648136027557,-0.000212281871999,-0.004082564920065,-0.000004135514843,-0.000508963655911,-0.000000286904686,0.000000000310538,-0.000000007216783,0.000000112086488,0.000000020368272,-0.000000002260673,0.000000004956548,0.00273661372713,0.00273661372713,0.01696218596489,0.01696218596489,0.001995647501048,0.001995647501048,0.00273661372713,0.01696218596489,0.001995647501048,0.650027007680038,4.029022758003617,0.474025530395546,0.000508961395238,4.029022758003617],[-0.000000000000022,-0.000000000000042,-0.000000000000024,-0.000000000000037,-0.00000000000004,0.000000000000022,0.000000000000042,0.000000000000024,0.000000000000037,0.000000000000023,0.00000000000004,6.31088724176809e-30,0.0,9.46633086265214e-30,0.0,3.15544362088405e-30,0.0,0.000000000000192,0.000000000000192,0.000000000000181,0.000000000000181,0.000000000000181,0.000000000000181,0.000000000000192,0.000000000000181,0.000000000000181,0.00000000004564,0.000000000043079,0.000000000043065,-0.000000000000023,0.00000000004564],[0.000000001154235,-0.000000000641137,0.001063098507071,0.000000397073494,-0.000000000708631,-0.000000001154235,0.000000000641137,-0.001063082695253,-0.000000395880831,-0.000000001183477,0.000000000708632,-2.42112181534267e-16,-1.2986269645564e-16,0.000000015811818,0.000000001192663,8.66664921040389e-18,2.74558226393747e-16,0.000000005379169,0.000000005379169,0.004423380771785,0.004423380771785,0.000000005379169,0.000000005379169,0.000000005379169,0.004423380771785,0.000000005379169,0.000001277712298,1.050684259312307,0.000001277712447,0.000000001183477,1.050684259312307],[0.000000000169698,-0.000000000093213,0.000155995854252,0.000000056858811,-0.000000000103091,-0.000000000169698,0.000000000093213,-0.000155995250274,-0.000000056813254,-0.000000000174032,0.000000000103091,-9.17895967122888e-18,-5.01247360864264e-18,0.000000000603979,0.000000000045557,2.58066133949766e-19,1.04681649876037e-17,0.000000000788792,0.000000000788792,0.000649077896811,0.000649077896811,0.000000000788791,0.000000000788791,0.000000000788792,0.000649077896811,0.000000000788791,0.000000187361469,0.154175271004782,0.000000187361257,0.000000000174032,0.154175271004782],[0.000000002195466,-0.000000001384054,0.001677430430079,0.000000640331131,-0.000000001485333,-0.000000002195466,0.000000001384054,-0.001677422917216,-0.000000639764446,-0.000000002200374,0.000000001485333,-1.44527949246462e-16,-6.94565666376176e-17,0.000000007512864,0.000000000566684,1.18121093687552e-17,1.59833164587051e-16,0.000000010411325,0.000000010411325,0.006966954852681,0.006966954852681,0.000000010411295,0.000000010411295,0.000000010411325,0.006966954852681,0.000000010411295,0.00000247299876,1.654858619846385,0.000002472991733,0.000000002200374,1.654858619846385],[0.000000000514416,-0.000000000316677,0.000392014477231,0.000000143237518,-0.00000000034053,-0.000000000514416,0.000000000316677,-0.000392012352926,-0.000000143077285,-0.000000000515876,0.00000000034053,-4.05591527655769e-17,-2.00979748763619e-17,0.000000002124305,0.000000000160233,2.95273937993805e-18,4.50978164792438e-17,0.000000002423787,0.000000002423787,0.001628625059462,0.001628625059462,0.000000002423786,0.000000002423786,0.000000002423787,0.001628625059462,0.000000002423786,0.000000575721339,0.386846803967998,0.000000575721088,0.000000000515876,0.386846803967998],[0.002246092470871,0.000737723482201,-0.000000015483985,-0.000000003674836,-0.000000003962769,-0.002246062201821,-0.00073772119905,0.000000015483986,0.000000003674833,0.000000016390131,0.000000003962771,0.00000003026905,0.000000002283151,0.000000000000001,-0.000000000000003,0.000000000000002,0.000000000000003,0.009486448380036,0.009486448380036,0.000000066117786,0.000000066117786,0.000000066117697,0.000000066117697,0.009486448380036,0.000000066117786,0.000000066117697,2.253313133985591,0.00001570493714,0.000015704916035,-0.00000001639013,2.253313133985591],[0.000648136204653,0.000212281921161,0.004082565092693,0.000004135556152,0.000000286949226,-0.000648134238254,-0.000212327619491,-0.004081855335388,-0.000004006579585,-0.000508978153749,-0.000000255563219,0.0000000019664,-0.000000045698329,0.000000709757305,0.000000128976567,-0.000000014315104,0.000000031386006,0.002736614463837,0.002736614463837,0.016962186682296,0.016962186682296,0.001995648217649,0.001995648217649,0.002736614463837,0.016962186682296,0.001995648217649,0.650027182669974,4.029022928408701,0.474025700609563,0.000508963838646,4.029022928408701],[0.000000000000091,-0.000000000000024,0.000000000000088,-0.000000000000027,-0.000000000000028,-0.000000000000091,0.000000000000024,-0.000000000000088,0.000000000000027,-0.000000000000093,0.000000000000028,3.78653234506086e-29,0.0,3.78653234506086e-29,1.89326617253043e-29,1.26217744835362e-29,3.15544362088405e-30,0.000000000000382,0.000000000000382,0.000000000000382,0.000000000000382,0.00000000000038,0.00000000000038,0.000000000000382,0.000000000000382,0.00000000000038,0.000000000090626,0.000000000090825,0.000000000090176,0.000000000000093,0.000000000090825],[0.000000001158973,-0.000000000640841,0.0010630826999,0.000000395880899,-0.000000000708484,-0.000000001158975,0.00000000064084,-0.001062967556483,-0.000000387195796,-0.000000001188434,0.000000000708486,-0.000000000000002,-9.51657755139799e-16,0.000000115143418,0.000000008685103,5.90782900747103e-17,0.000000000000002,0.000000005395469,0.000000005395469,0.004423380791124,0.004423380791124,0.000000005395469,0.000000005395469,0.000000005395469,0.004423380791124,0.000000005395469,0.000001281583984,1.050684263905765,0.000001281584017,0.000000001188434,1.050684263905765],[0.000000002195867,-0.000000001383802,0.001677422917614,0.000000639764676,-0.000000001485091,-0.000000002195867,0.000000001383802,-0.001677414665752,-0.00000063914225,-0.000000002200794,0.000000001485091,-1.58690130847858e-16,-7.6857144162591e-17,0.000000008251862,0.000000000622426,1.32973100906426e-17,1.7579871014563e-16,0.000000010412147,0.000000010412147,0.006966954854334,0.006966954854334,0.000000010412128,0.000000010412128,0.000000010412147,0.006966954854334,0.000000010412128,0.000002473194103,1.65485862023909,0.000002473189529,0.000000002200794,1.65485862023909],[0.000000000514606,-0.000000000316677,0.00039201235311,0.000000143077278,-0.000000000340537,-0.000000000514607,0.000000000316677,-0.000392005487986,-0.000000142559452,-0.000000000516071,0.000000000340537,-1.30754259327002e-16,-6.47197977167376e-17,0.000000006865125,0.000000000517826,9.34393570037315e-18,1.45668901437341e-16,0.000000002424438,0.000000002424438,0.001628625060229,0.001628625060229,0.000000002424439,0.000000002424439,0.000000002424438,0.001628625060229,0.000000002424439,0.000000575876109,0.38684680415002,0.000000575876248,0.000000000516071,0.38684680415002],[0.002246062479896,0.000737721226854,-0.000000015214625,-0.000000003657636,-0.000000003943349,-0.002246034400965,-0.0007377191089,0.000000015214626,0.000000003657634,0.000000016104797,0.000000003943352,0.000000028078931,0.000000002117954,0.000000000000001,-0.000000000000002,0.000000000000001,0.000000000000002,0.00948644947496,0.00948644947496,0.000000065012699,0.000000065012699,0.000000065012603,0.000000065012603,0.00948644947496,0.000000065012699,0.000000065012603,2.253313394062374,0.000015442446263,0.000015442423481,-0.000000016104796,2.253313394062374],[0.000648134500569,0.000212327692309,0.004081855591041,0.000004006640735,0.000000255629157,-0.000648133093022,-0.000212360403087,-0.004081347548243,-0.000003914319573,-0.000508988671154,-0.00000023316311,0.000000001407548,-0.000000032710778,0.000000508042798,0.000000092321162,-0.000000010246727,0.000000022466046,0.002736615555028,0.002736615555028,0.016962187744913,0.016962187744913,0.001995649279078,0.001995649279078,0.002736615555028,0.016962187744913,0.001995649279078,0.650027441860166,4.029023180811904,0.474025952730581,0.000508978424428,4.029023180811904],[0.000000002196127,-0.000000001383996,0.001677414665998,0.000000639142051,-0.000000001485302,-0.000000002196127,0.000000001383996,-0.001677406745978,-0.000000638544655,-0.000000002201052,0.000000001485302,-1.5226964675027e-16,-7.33271130550079e-17,0.00000000792002,0.000000000597396,1.23857855933403e-17,1.68759494329466e-16,0.000000010413444,0.000000010413444,0.006966954855356,0.006966954855356,0.000000010413429,0.000000010413429,0.000000010413444,0.006966954855356,0.000000010413429,0.000002473502004,1.654858620481826,0.000002473498607,0.000000002201052,1.654858620481826],[0.000000000515062,-0.000000000316654,0.000392005488426,0.000000142559458,-0.000000000340528,-0.000000000515062,0.000000000316654,-0.000391989447211,-0.000000141349492,-0.000000000516537,0.000000000340528,-3.05849312257939e-16,-1.51576756273527e-16,0.000000016041215,0.000000001209966,2.18410631128855e-17,3.40684852364465e-16,0.000000002425946,0.000000002425946,0.001628625062058,0.001628625062058,0.000000002425946,0.000000002425946,0.000000002425946,0.001628625062058,0.000000002425946,0.000000576234317,0.386846804584639,0.000000576234309,0.000000000516537,0.386846804584639],[0.002246034665402,0.000737719135188,-0.000000014958476,-0.000000003641429,-0.000000003925039,-0.002246007267858,-0.00073771706863,0.000000014958477,0.000000003641427,0.00000001583346,0.000000003925041,0.000000027397544,0.000000002066558,0.000000000000001,-0.000000000000002,0.000000000000001,0.000000000000002,0.009486450516008,0.009486450516008,0.000000063962485,0.000000063962485,0.000000063962393,0.000000063962393,0.009486450516008,0.000000063962485,0.000000063962393,2.253313641342254,0.000015192989224,0.00001519296733,-0.000000015833459,2.253313641342254],[0.000000000514582,-0.00000000031481,0.000000000485501,-0.000000000321627,0.000000130743232,-0.000000000514582,0.00000000031481,-0.000000000485501,0.000000000321626,-0.000414014213389,-0.000000128854449,3.07685789289018e-17,5.32457620739454e-16,-4.7646014257402e-16,-2.39592583804962e-16,0.000000025040696,0.000000001888784,0.000000002420456,0.000000002420456,0.000000002420344,0.000000002420344,0.001623370303212,0.001623370303212,0.000000002420456,0.000000002420344,0.001623370303212,0.00000057493005,0.000000574903465,0.385598643349865,0.000414039254084,0.385598643349865],[0.000648132975639,0.000212360840672,0.004081347450242,0.000003914745826,0.000000102532484,-0.00064812116553,-0.000212461741458,-0.004079861541376,-0.000003592842694,-0.000094958498887,-0.000000091024355,0.000000011810109,-0.000000100900786,0.000001485908866,0.000000321903132,-0.000000008671535,0.000000011508129,0.002736615654134,0.002736615654134,0.016962187339318,0.016962187339318,0.00037228067311,0.00037228067311,0.002736615654134,0.016962187339318,0.00037228067311,0.650027465400744,4.029023084471082,0.088427712526515,0.000094949827352,4.029023084471082],[0.000000002196481,-0.000000001383927,0.001677406746322,0.000000638544707,-0.000000001485244,-0.000000002196481,0.000000001383927,-0.001677397194843,-0.000000637824253,-0.000000002201414,0.000000001485244,-1.83838163925431e-16,-8.86246360294905e-17,0.000000009551479,0.000000000720454,1.52979253978506e-17,2.0362733676949e-16,0.000000010414498,0.000000010414498,0.006966954856786,0.006966954856786,0.000000010414479,0.000000010414479,0.000000010414498,0.006966954856786,0.000000010414479,0.000002473752538,1.654858620821477,0.000002473748074,0.000000002201414,1.654858620821477],[0.00224600749633,0.000737717091349,-0.000000014737162,-0.00000000362742,-0.000000003909215,-0.002245986946331,-0.000737715541292,0.000000014737163,0.000000003627419,0.000000015599024,0.000000003909216,0.000000020549999,0.000000001550057,9.08198425565924e-16,-0.000000000000002,0.000000000000001,0.000000000000002,0.009486451415481,0.009486451415481,0.000000063055526,0.000000063055526,0.00000006305544,0.00000006305544,0.009486451415481,0.000000063055526,0.00000006305544,2.25331385499385,0.000014977559557,0.000014977539166,-0.000000015599023,2.25331385499385],[0.000000000455175,-0.000000000278323,0.000000000429455,-0.000000000284355,0.000000114051553,-0.000000000455175,0.000000000278323,-0.000000000429456,0.000000000284355,-0.000366012547812,-0.000000113913517,2.28095281386166e-18,3.89727088590257e-17,-3.4820752650414e-17,-1.75515092350859e-17,0.000000001830027,0.000000000138036,0.000000002140724,0.000000002140724,0.000000002140614,0.000000002140614,0.001435160563059,0.001435160563059,0.000000002140724,0.000000002140614,0.001435160563059,0.000000508485415,0.000000508459339,0.340893242293328,0.000366014377839,0.340893242293328],[0.000000000059736,-0.000000000036483,0.000000000056364,-0.000000000037279,0.000000014802888,-0.000000000059736,0.000000000036483,-0.000000000056364,0.000000000037279,-0.000047999748022,-0.000000014796261,1.04754501740536e-19,1.8769232162014e-18,-1.6727859171559e-18,-8.50309971884945e-19,0.000000000087865,0.000000000006628,0.000000000280851,0.000000000280851,0.00000000028085,0.00000000028085,0.000188209741476,0.000188209741476,0.000000000280851,0.00000000028085,0.000188209741476,0.000000066710472,0.000000066710298,0.04470540137077,0.000047999835887,0.04470540137077],[0.000000000573125,-0.00000000035435,0.000427043383846,0.000000158379172,-0.000000000381342,-0.000000000573126,0.00000000035435,-0.000427008514036,-0.000000155748993,-0.000000000574576,0.000000000381342,-6.80718792685997e-16,-3.34640711664146e-16,0.00000003486981,0.00000000263018,5.0713526942905e-17,7.5691549263477e-16,0.000000002703578,0.000000002703578,0.001775449361404,0.001775449361404,0.000000002703578,0.000000002703578,0.000000002703578,0.001775449361404,0.000000002703578,0.000000642180064,0.42172193475449,0.000000642180089,0.000000000574576,0.42172193475449],[0.000648120935399,0.000212462204744,0.00365281849214,0.000003434556572,0.00000009150583,-0.000648117912004,-0.000212480841871,-0.00365257126763,-0.000003379000763,-0.000094959916786,-0.00000008939607,0.000000003023396,-0.000000018637127,0.00000024722451,0.000000055555809,-0.000000001638038,0.000000002109759,0.002736615355756,0.002736615355756,0.015186739627074,0.015186739627074,0.000372279811876,0.000372279811876,0.002736615355756,0.015186739627074,0.000372279811876,0.65002739452716,3.607301541440847,0.08842750795797,0.000094958278747,3.607301541440847],[0.000000002197113,-0.000000001383829,0.00167739719546,0.000000637824325,-0.000000001485166,-0.000000002197114,0.000000001383829,-0.001677381959642,-0.000000636675109,-0.000000002202064,0.000000001485166,-2.93168183481248e-16,-1.41304192720819e-16,0.000000015235818,0.000000001149216,2.44512132344256e-17,3.24632240152753e-16,0.000000010416434,0.000000010416434,0.006966954859348,0.006966954859348,0.00000001041642,0.00000001041642,0.000000010416434,0.006966954859348,0.00000001041642,0.00000247421235,1.654858621429916,0.000002474208956,0.000000002202064,1.654858621429916],[0.002245987199941,0.000737715566628,-0.000000014491489,-0.000000003611758,-0.000000003891529,-0.002245954554909,-0.00073771310426,0.00000001449149,0.000000003611755,0.000000015338787,0.000000003891532,0.000000032645032,0.000000002462368,0.000000000000001,-0.000000000000003,0.000000000000002,0.000000000000003,0.009486452414079,0.009486452414079,0.000000062049128,0.000000062049128,0.000000062049051,0.000000062049051,0.009486452414079,0.000000062049128,0.000000062049051,2.253314092190549,0.000014738510094,0.000014738491866,-0.000000015338785,2.253314092190549],[0.000000000455209,-0.000000000278263,0.00000000042949,-0.000000000284298,0.000000113913578,-0.000000000455209,0.000000000278263,-0.00000000042949,0.000000000284298,-0.000366011975221,-0.000000113870385,6.58251409713187e-19,1.21898581458849e-17,-1.08817955155375e-17,-5.47678175747011e-18,0.000000000572627,0.000000000043192,0.000000002140711,0.000000002140711,0.000000002140603,0.000000002140603,0.0014351605632,0.0014351605632,0.000000002140711,0.000000002140603,0.0014351605632,0.000000508482512,0.000000508456698,0.34089324232685,0.000366012547848,0.34089324232685],[0.00000000005975,-0.000000000036475,0.000000000056378,-0.000000000037272,0.000000014796267,-0.00000000005975,0.000000000036475,-0.000000000056378,0.000000000037272,-0.000047999569042,-0.000000014782766,2.13306266555877e-19,3.80035369299131e-18,-3.4078730294848e-18,-1.7104575381715e-18,0.000000000178994,0.000000000013501,0.000000000280883,0.000000000280883,0.000000000280883,0.000000000280883,0.000188209741532,0.000188209741532,0.000000000280883,0.000000000280883,0.000188209741532,0.000000066718103,0.000000066718105,0.044705401384045,0.000047999748036,0.044705401384045],[0.000000000574231,-0.000000000354292,0.000427008515104,0.00000015574901,-0.000000000381319,-0.000000000574231,0.000000000354291,-0.000426988314099,-0.000000154225277,-0.000000000575709,0.00000000038132,-3.946875856718e-16,-1.94424199823878e-16,0.000000020201005,0.000000001523733,2.90730839764874e-17,4.39170374547252e-16,0.000000002707227,0.000000002707227,0.001775449365843,0.001775449365843,0.000000002707227,0.000000002707227,0.000000002707227,0.001775449365843,0.000000002707227,0.0000006430469,0.421721935808892,0.000000643046891,0.000000000575709,0.421721935808892],[0.000648117965978,0.000212480915873,0.003652571322275,0.000003379070236,0.000000089469988,-0.000648111955607,-0.000212514859567,-0.003652118426895,-0.000003303257482,-0.000094962900617,-0.000000085749397,0.000000006010371,-0.000000033943694,0.000000452895381,0.000000075812754,-0.00000000292618,0.000000003720591,0.002736615654038,0.002736615654038,0.015186739854545,0.015186739854545,0.000372280038167,0.000372280038167,0.002736615654038,0.015186739854545,0.000372280038167,0.650027465377934,3.607301595472104,0.088427561708846,0.000094959974438,3.607301595472104],[0.000000002198064,-0.0000000013838,0.001677381960561,0.000000636675102,-0.000000001485169,-0.000000002198065,0.0000000013838,-0.001677340261819,-0.000000633529826,-0.000000002203034,0.00000000148517,-8.01862052056274e-16,-3.87263410958697e-16,0.000000041698742,0.000000003145276,6.578522537086e-17,8.89028432565536e-16,0.000000010419599,0.000000010419599,0.006966954863166,0.006966954863166,0.000000010419581,0.000000010419581,0.000000010419599,0.006966954863166,0.000000010419581,0.000002474964178,1.654858622336863,0.000002474959897,0.000000002203034,1.654858622336863],[0.002245954972859,0.000737713145877,-0.000000014086622,-0.00000000358608,-0.000000003862521,-0.002245899932049,-0.000737708994228,0.000000014086624,0.000000003586075,0.000000014909914,0.000000003862525,0.00000005504081,0.000000004151649,0.000000000000002,-0.000000000000004,0.000000000000003,0.000000000000004,0.009486454059619,0.009486454059619,0.000000060391927,0.000000060391927,0.000000060391854,0.000000060391854,0.009486454059619,0.000000060391927,0.000000060391854,2.253314483055066,0.000014344875724,0.000014344858324,-0.000000014909911,2.253314483055066],[0.000000000455231,-0.000000000278221,0.000000000429514,-0.000000000284261,0.000000113870425,-0.000000000455231,0.000000000278221,-0.000000000429514,0.000000000284261,-0.000366011607061,-0.000000113842654,5.01359494243583e-19,7.84266709848445e-18,-7.0418972255169e-18,-3.45776679981285e-18,0.000000000368183,0.000000000027771,0.0000000021407,0.0000000021407,0.0000000021406,0.0000000021406,0.001435160563289,0.001435160563289,0.0000000021407,0.0000000021406,0.001435160563289,0.000000508479888,0.000000508456152,0.340893242347992,0.000366011975243,0.340893242347992],[0.000648112282475,0.00021251491476,0.003652118744007,0.000003303299214,0.000000085795034,-0.000648096428107,-0.000212604452601,-0.003650924081413,-0.000003103317789,-0.000094970955608,-0.000000075980705,0.000000015854368,-0.000000089537841,0.000001194662595,0.000000199981425,-0.000000007718804,0.000000009814329,0.002736616969233,0.002736616969233,0.015186741173363,0.015186741173363,0.000372281356272,0.000372281356272,0.002736616969233,0.015186741173363,0.000372281356272,0.650027777775777,3.607301908730398,0.088427874797907,0.000094963236804,3.607301908730398],[-0.000000000000075,0.000000000000245,-0.000000000000057,0.000000000000246,0.000000000000261,0.000000000000075,-0.000000000000245,0.000000000000057,-0.000000000000246,0.000000000000067,-0.000000000000261,6.31088724176809e-29,0.0,9.46633086265214e-29,-5.04870979341448e-29,1.0097419586829e-28,5.04870979341448e-29,0.00000000000103,0.00000000000103,0.000000000001051,0.000000000001051,0.000000000001058,0.000000000001058,0.00000000000103,0.000000000001051,0.000000000001058,0.000000000244594,0.000000000249585,0.000000000251227,-0.000000000000067,0.000000000251227],[0.000000002200001,-0.000000001383692,0.001677340263692,0.000000633529863,-0.000000001485122,-0.000000002200002,0.000000001383691,-0.001677284770321,-0.000000629344078,-0.000000002205017,0.000000001485123,-0.000000000000001,-5.16046182179209e-16,0.000000055493371,0.000000004185785,8.70990935023337e-17,0.000000000000001,0.000000010425942,0.000000010425942,0.006966954870945,0.006966954870945,0.000000010425925,0.000000010425925,0.000000010425942,0.006966954870945,0.000000010425925,0.000002476470763,1.654858624184608,0.000002476466803,0.000000002205017,1.654858624184608],[0.002245902160323,0.000737709216237,-0.000000011928041,-0.000000003449064,-0.000000003707729,-0.002245489741952,-0.000737678108112,0.000000011928057,0.000000003449036,0.000000012623348,0.000000003707757,0.000000412418371,0.000000031108126,0.000000000000016,-0.000000000000028,0.000000000000016,0.000000000000028,0.009486462833059,0.009486462833059,0.000000051587236,0.000000051587236,0.000000051587167,0.000000051587167,0.009486462833059,0.000000051587236,0.000000051587167,2.253316567007664,0.000012253500159,0.000012253483818,-0.000000012623332,2.253316567007664],[0.00000000045509,-0.000000000278378,0.000000000429377,-0.000000000284411,0.000000113842495,-0.00000000045509,0.000000000278378,-0.000000000429377,0.000000000284411,-0.000366011384831,-0.000000113825744,2.57113170185317e-19,4.77911229643663e-18,-4.17340060749824e-18,-2.18592490922428e-18,0.000000000222077,0.000000000016751,0.000000002140546,0.000000002140546,0.00000000214047,0.00000000214047,0.00143516056269,0.00143516056269,0.000000002140546,0.00000000214047,0.00143516056269,0.000000508443265,0.000000508425116,0.34089324220564,0.000366011606908,0.34089324220564],[0.000350052247886,0.000114653400904,0.003650924298502,0.000003103738853,0.00000007642845,-0.000350053847742,-0.000114711818519,-0.003649494968274,-0.000002918152302,-0.000094979402812,-0.000000063883521,-0.000000001599856,-0.000000058417616,0.000001429330229,0.000000185586551,-0.000000008218591,0.000000012544928,0.00147788763214,0.00147788763214,0.015186742077878,0.015186742077878,0.000372282253829,0.000372282253829,0.00147788763214,0.015186742077878,0.000372282253829,0.351042189726591,3.607302123579547,0.088428087994179,0.000094971184221,3.607302123579547],[0.000298044564938,0.000097951116674,0.000000000156028,-0.00000000037201,-0.000000000394095,-0.000298037273087,-0.00009795056666,-0.000000000156028,0.00000000037201,-0.000000000167113,0.000000000394095,0.000000007291851,0.000000000550014,1.11384041727576e-16,8.29213118878174e-17,-1.27507386334413e-16,5.50381296006318e-17,0.001258731228568,0.001258731228568,0.000000001678047,0.000000001678047,0.000000001677983,0.000000001677983,0.001258731228568,0.000000001678047,0.000000001677983,0.298986037330674,0.000000398585903,0.000000398570717,0.000000000167113,0.298986037330674],[-0.000000000000307,0.000000000000584,-0.000000000000272,0.000000000000581,0.000000000000619,0.000000000000307,-0.000000000000584,0.000000000000272,-0.000000000000581,0.000000000000294,-0.000000000000619,2.52435489670724e-28,2.01948391736579e-28,3.02922587604869e-28,1.0097419586829e-28,2.52435489670724e-28,4.03896783473158e-28,0.000000000002647,0.000000000002647,0.000000000002666,0.000000000002666,0.000000000002686,0.000000000002686,0.000000000002647,0.000000000002666,0.000000000002686,0.000000000628808,0.000000000633336,0.000000000638112,-0.000000000000294,0.000000000638112],[0.00000000220108,-0.000000001383517,0.001677284771366,0.000000629344209,-0.000000001484979,-0.00000000220108,0.000000001383517,-0.001677279485803,-0.000000628945526,-0.000000002206124,0.000000001484979,-1.01582590931135e-16,-4.90389768239859e-17,0.000000005285563,0.000000000398682,8.45943591746599e-18,1.12726987494933e-16,0.000000010429232,0.000000010429232,0.006966954875288,0.006966954875288,0.000000010429211,0.000000010429211,0.000000010429232,0.006966954875288,0.000000010429211,0.000002477252314,1.654858625216091,0.000002477247132,0.000000002206124,1.654858625216091],[0.002245493320283,0.000737678464722,-0.000000008461036,-0.000000003229041,-0.000000003459184,-0.002245154983164,-0.00073765294444,0.000000008461047,0.000000003229025,0.000000008950745,0.000000003459201,0.000000338337118,0.000000025520282,0.000000000000011,-0.000000000000016,0.000000000000008,0.000000000000017,0.009486476924491,0.009486476924491,0.000000037625737,0.000000037625737,0.000000037625671,0.000000037625671,0.009486476924491,0.000000037625737,0.000000037625671,2.253319914141036,0.000008937229492,0.000008937213828,-0.000000008950737,2.253319914141036],[0.000000000454994,-0.000000000278165,0.000000000429295,-0.000000000284205,0.000000113825959,-0.000000000454994,0.000000000278165,-0.000000000429295,0.000000000284205,-0.000366011160283,-0.000000113809028,2.89708325620546e-19,4.77234864736293e-18,-4.24799399737947e-18,-2.16671818899111e-18,0.000000000224456,0.00000000001693,0.000000002139771,0.000000002139771,0.000000002139715,0.000000002139715,0.001435160562334,0.001435160562334,0.000000002139771,0.000000002139715,0.001435160562334,0.000000508259153,0.000000508245745,0.340893242121074,0.00036601138474,0.340893242121074],[0.0003500541174,0.000114711862952,0.003649495229653,0.000002918185548,0.000000063919912,-0.000350055768629,-0.000114772156359,-0.003648020004453,-0.000002726639912,-0.000094988162681,-0.000000050972141,-0.000000001651229,-0.000000060293407,0.000001475225199,0.000000191545636,-0.000000008482513,0.000000012947772,0.001477888715717,0.001477888715717,0.015186743165671,0.015186743165671,0.000372283341053,0.000372283341053,0.001477888715717,0.015186743165671,0.000372283341053,0.351042447108362,3.607302381962693,0.088428346242153,0.000094979680168,3.607302381962693],[0.000298037311526,0.000097950570505,0.000000000193214,-0.000000000369659,-0.00000000039144,-0.000298036530916,-0.000097950511625,-0.000000000193214,0.000000000369659,-0.000000000206565,0.00000000039144,0.00000000078061,0.00000000005888,1.15386280003075e-17,1.02083491081645e-17,-1.45141474948755e-17,4.87120138345396e-18,0.0012587313799,0.0012587313799,0.000000001735043,0.000000001735043,0.000000001734967,0.000000001734967,0.0012587313799,0.000000001735043,0.000000001734967,0.298986073276621,0.000000412124341,0.000000412106169,0.000000000206565,0.298986073276621],[-0.000000000000162,0.000000000000086,-0.000000000000152,0.000000000000093,0.000000000000098,0.000000000000162,-0.000000000000086,0.000000000000152,-0.000000000000093,0.000000000000162,-0.000000000000098,0.0,0.0,0.0,3.78653234506086e-29,2.52435489670724e-29,0.0,0.000000000000738,0.000000000000738,0.00000000000074,0.00000000000074,0.00000000000074,0.00000000000074,0.000000000000738,0.00000000000074,0.00000000000074,0.000000000175356,0.000000000175857,0.000000000175852,-0.000000000000162,0.000000000175857],[0.00000000220147,-0.000000001383575,0.001677279486177,0.000000628945457,-0.000000001485051,-0.00000000220147,0.000000001383575,-0.001677275306053,-0.000000628630157,-0.00000000220652,0.000000001485051,-8.06150335436352e-17,-3.87161511406217e-17,0.000000004180124,0.000000000315301,6.55304640819513e-18,8.90548222671918e-17,0.000000010430678,0.000000010430678,0.006966954876841,0.006966954876841,0.000000010430657,0.000000010430657,0.000000010430678,0.006966954876841,0.000000010430657,0.000002477595703,1.654858625585109,0.000002477590645,0.00000000220652,1.654858625585109],[0.002245157106587,0.000737653156107,-0.000000006403383,-0.000000003098486,-0.000000003311696,-0.002245049909443,-0.000737645070381,0.000000006403386,0.000000003098482,0.000000006771064,0.0000000033117,0.000000107197144,0.000000008085726,0.000000000000003,-0.000000000000004,0.000000000000002,0.000000000000004,0.009486485287674,0.009486485287674,0.000000029554802,0.000000029554802,0.000000029554738,0.000000029554738,0.009486485287674,0.000000029554802,0.000000029554738,2.253321900645212,0.000007020142836,0.000007020127796,-0.000000006771063,2.253321900645212],[0.000000000454769,-0.000000000278193,0.000000000429077,-0.000000000284234,0.000000113809006,-0.000000000454769,0.000000000278193,-0.000000000429077,0.000000000284234,-0.000366010959556,-0.000000113793884,1.83954059787465e-19,4.28856379430517e-18,-3.78114499527948e-18,-1.90007103846308e-18,0.000000000200487,0.000000000015122,0.000000002139061,0.000000002139061,0.000000002139023,0.000000002139023,0.001435160561389,0.001435160561389,0.000000002139061,0.000000002139023,0.001435160561389,0.000000508090607,0.000000508081401,0.340893241896574,0.000366011160042,0.340893241896574],[0.000350055627635,0.000114772398042,0.003410009907707,0.000002639194298,0.000000051224189,-0.000350055919185,-0.000114796011454,-0.003409468937545,-0.000002567641063,-0.000094991364145,-0.000000046166903,-0.000000000291549,-0.000000023613411,0.000000540970162,0.000000071553234,-0.000000003337505,0.000000005057286,0.001477888480308,0.001477888480308,0.014195905077945,0.014195905077945,0.000372282808405,0.000372282808405,0.001477888480308,0.014195905077945,0.000372282808405,0.351042391191632,3.37194891907737,0.088428219722528,0.000094988026641,3.37194891907737],[0.000000000330647,-0.000000000206857,0.000238010280624,0.000000087472391,-0.000000000222851,-0.000000000330647,0.000000000206856,-0.000237999574102,-0.000000086664814,-0.000000000331243,0.000000000222852,-2.17340391041327e-16,-1.05214271524159e-16,0.000000010706521,0.000000000807577,1.75854250877667e-17,2.40838348568246e-16,0.000000001564666,0.000000001564666,0.000990838929794,0.000990838929794,0.000000001564687,0.000000001564687,0.000000001564666,0.000990838929794,0.000000001564687,0.000000371654633,0.235353662901655,0.00000037165956,0.000000000331243,0.235353662901655],[0.000298036536101,0.000097950512194,0.000000000198231,-0.00000000036929,-0.000000000391028,-0.000298036238053,-0.000097950489713,-0.000000000198231,0.00000000036929,-0.00000000021189,0.000000000391028,0.000000000298048,0.000000000022481,4.34227387224916e-18,3.94045315701714e-18,-5.55869153401998e-18,1.79928151066654e-18,0.001258731400376,0.001258731400376,0.000000001743458,0.000000001743458,0.000000001743387,0.000000001743387,0.001258731400376,0.000000001743458,0.000000001743387,0.29898607814028,0.000000414123006,0.000000414106111,0.00000000021189,0.29898607814028],[0.000000000000016,0.000000000000406,0.000000000000031,0.000000000000399,0.000000000000425,-0.000000000000016,-0.000000000000406,-0.000000000000031,-0.000000000000399,-0.000000000000032,-0.000000000000425,8.83524213847533e-29,5.04870979341448e-29,1.45150406560666e-28,1.0097419586829e-28,1.19906857593594e-28,0.0,0.00000000000163,0.00000000000163,0.000000000001662,0.000000000001662,0.000000000001669,0.000000000001669,0.00000000000163,0.000000000001662,0.000000000001669,0.00000000038715,0.000000000394868,0.000000000396463,0.000000000000032,0.000000000396463],[0.000000002201431,-0.000000001383451,0.001677275306023,0.000000628630282,-0.000000001484923,-0.000000002201431,0.000000001383451,-0.00167727124612,-0.000000628324049,-0.000000002206491,0.000000001484923,-7.79038663679314e-17,-3.76916132989245e-17,0.000000004059902,0.000000000306233,6.359945643688e-18,8.63769063045466e-17,0.000000010430283,0.000000010430283,0.006966954876714,0.006966954876714,0.00000001043028,0.00000001043028,0.000000010430283,0.006966954876714,0.00000001043028,0.000002477501811,1.654858625554944,0.000002477501145,0.000000002206491,1.654858625554944],[0.002245050885464,0.000737645167675,-0.000000005457549,-0.000000003038487,-0.000000003243905,-0.002244953296082,-0.000737637806648,0.000000005457551,0.000000003038484,0.00000000576914,0.000000003243909,0.000000097589382,0.000000007361026,0.000000000000003,-0.000000000000003,0.000000000000001,0.000000000000004,0.009486489131932,0.009486489131932,0.0000000259516,0.0000000259516,0.000000025951538,0.000000025951538,0.009486489131932,0.0000000259516,0.000000025951538,2.253322813770573,0.000006164275364,0.000006164260773,-0.000000005769139,2.253322813770573],[0.000000000454847,-0.00000000027824,0.000000000429153,-0.000000000284276,0.000000113793834,-0.000000000454847,0.00000000027824,-0.000000000429153,0.000000000284276,-0.000366010733761,-0.000000113776796,3.0776350704347e-19,4.8011238310306e-18,-4.33484806509511e-18,-2.15238594071013e-18,0.000000000225879,0.000000000017038,0.000000002139425,0.000000002139425,0.000000002139385,0.000000002139385,0.001435160561718,0.001435160561718,0.000000002139425,0.000000002139385,0.001435160561718,0.000000508176939,0.000000508167445,0.340893241974912,0.00036601095964,0.340893241974912],[0.000350056046814,0.000114796032597,0.003409469061186,0.000002567656862,0.000000046184191,-0.000350056442985,-0.000114828119557,-0.003408733966923,-0.000002470427149,-0.000094996030593,-0.000000039312118,-0.000000000396171,-0.00000003208696,0.000000735094263,0.000000097229712,-0.000000004535157,0.000000006872073,0.001477888993253,0.001477888993253,0.014195905592794,0.014195905592794,0.000372283322982,0.000372283322982,0.001477888993253,0.014195905592794,0.000372283322982,0.351042513031244,3.371949041369255,0.088428341949904,0.000094991495436,3.371949041369255],[0.00000000033089,-0.000000000206854,0.000237999574337,0.000000086664808,-0.000000000222858,-0.00000000033089,0.000000000206854,-0.000237998138134,-0.000000086556477,-0.000000000331492,0.000000000222858,-2.92107909369137e-17,-1.4140789573383e-17,0.000000001436203,0.000000000108331,2.39451473409905e-18,3.23866308542247e-17,0.000000001565487,0.000000001565487,0.00099083893077,0.00099083893077,0.000000001565509,0.000000001565509,0.000000001565487,0.00099083893077,0.000000001565509,0.000000371849712,0.235353663133439,0.000000371854873,0.000000000331492,0.235353663133439],[0.000298036240877,0.000097950489966,0.000000000200965,-0.000000000369142,-0.000000000390861,-0.000298035925602,-0.000097950466186,-0.000000000200965,0.000000000369142,-0.000000000214791,0.000000000390861,0.000000000315275,0.000000000023781,4.69248999438886e-18,4.23485133821692e-18,-5.98970875219479e-18,1.90742715565052e-18,0.001258731411459,0.001258731411459,0.000000001748325,0.000000001748325,0.000000001748259,0.000000001748259,0.001258731411459,0.000000001748325,0.000000001748259,0.298986080772903,0.000000415278986,0.000000415263502,0.000000000214791,0.298986080772903],[0.000000000000337,0.000000000000222,0.000000000000334,0.000000000000218,0.000000000000234,-0.000000000000337,-0.000000000000222,-0.000000000000334,-0.000000000000218,-0.00000000000036,-0.000000000000234,1.0097419586829e-28,5.04870979341448e-29,5.04870979341448e-29,-2.52435489670724e-29,5.04870979341448e-29,0.0,0.000000000001618,0.000000000001618,0.000000000001659,0.000000000001659,0.000000000001685,0.000000000001685,0.000000000001618,0.000000000001659,0.000000000001685,0.000000000384304,0.000000000393962,0.000000000400321,0.00000000000036,0.000000000400321],[0.000000002201897,-0.000000001383183,0.001677271246578,0.000000628324293,-0.00000000148466,-0.000000002201897,0.000000001383183,-0.001677266897985,-0.000000627996285,-0.000000002206974,0.00000000148466,-8.34848068115318e-17,-4.03860774233142e-17,0.000000004348593,0.000000000328008,6.80038581905767e-18,9.28765606857432e-17,0.000000010431294,0.000000010431294,0.006966954878615,0.006966954878615,0.000000010431279,0.000000010431279,0.000000010431294,0.006966954878615,0.000000010431279,0.000002477742032,1.654858626006547,0.000002477738472,0.000000002206974,1.654858626006547],[0.002244954014498,0.000737637878266,-0.000000004761323,-0.000000002994327,-0.00000000319401,-0.002244900862067,-0.000737633869054,0.000000004761324,0.000000002994326,0.000000005031627,0.000000003194012,0.000000053152432,0.000000004009211,0.000000000000001,-0.000000000000001,4.51230209620216e-16,0.000000000000002,0.009486491961674,0.009486491961674,0.000000023368341,0.000000023368341,0.000000023368284,0.000000023368284,0.009486491961674,0.000000023368341,0.000000023368284,2.253323485918302,0.000005550674718,0.000005550661334,-0.000000005031626,2.253323485918302],[0.000000000455017,-0.000000000278119,0.000000000429323,-0.000000000284171,0.000000113776908,-0.000000000455017,0.000000000278119,-0.000000000429323,0.000000000284171,-0.000366010552961,-0.000000113763257,2.69593050882058e-19,3.85238313380104e-18,-3.43102828990965e-18,-1.69677697896624e-18,0.000000000180975,0.000000000013651,0.000000002139756,0.000000002139756,0.000000002139733,0.000000002139733,0.001435160562404,0.001435160562404,0.000000002139756,0.000000002139733,0.001435160562404,0.000000508255485,0.000000508250003,0.340893242137858,0.000366010733936,0.340893242137858],[0.000350056602544,0.000114828145987,0.003408734121459,0.000002470446875,0.000000039333702,-0.000350057066381,-0.000114865713366,-0.003407873474155,-0.000002356610465,-0.0000950015045,-0.000000031287876,-0.000000000463836,-0.000000037567379,0.000000860647304,0.00000011383641,-0.000000005309765,0.000000008045825,0.001477889634493,0.001477889634493,0.014195906236433,0.014195906236433,0.000372283966281,0.000372283966281,0.001477889634493,0.014195906236433,0.000372283966281,0.351042665344823,3.371949194252517,0.088428494752347,0.000094996194735,3.371949194252517],[0.00000000033097,-0.000000000206838,0.000237998138213,0.000000086556488,-0.000000000222846,-0.00000000033097,0.000000000206838,-0.000237997383665,-0.000000086499574,-0.000000000331574,0.000000000222846,-1.53173154936858e-17,-7.46414146951255e-18,0.000000000754548,0.000000000056914,1.21327982966528e-18,1.70171721694702e-17,0.000000001565728,0.000000001565728,0.000990838931098,0.000990838931098,0.000000001565751,0.000000001565751,0.000000001565728,0.000990838931098,0.000000001565751,0.000000371906778,0.235353663211314,0.000000371912385,0.000000000331574,0.235353663211314],[0.000298035928285,0.000097950466469,0.000000000203562,-0.000000000368966,-0.000000000390663,-0.000298035666634,-0.000097950446733,-0.000000000203562,0.000000000368966,-0.000000000217543,0.000000000390663,0.000000000261651,0.000000000019736,3.80713599240287e-18,3.5232214465878e-18,-4.95253650212266e-18,1.53525724646335e-18,0.001258731422041,0.001258731422041,0.000000001752874,0.000000001752874,0.000000001752804,0.000000001752804,0.001258731422041,0.000000001752874,0.000000001752804,0.298986083286439,0.000000416359582,0.000000416342945,0.000000000217543,0.298986083286439],[-0.00000000000028,0.000000000000251,-0.000000000000262,0.000000000000263,0.000000000000278,0.00000000000028,-0.000000000000251,0.000000000000262,-0.000000000000263,0.000000000000271,-0.000000000000278,1.0097419586829e-28,0.0,5.04870979341448e-29,0.0,1.0097419586829e-28,5.04870979341448e-29,0.00000000000151,0.00000000000151,0.000000000001542,0.000000000001542,0.000000000001522,0.000000000001522,0.00000000000151,0.000000000001542,0.000000000001522,0.000000000358739,0.000000000366294,0.00000000036159,-0.000000000000271,0.000000000366294],[0.000000002201397,-0.00000000138332,0.001677266897497,0.000000627996161,-0.000000001484798,-0.000000002201397,0.00000000138332,-0.001677262876894,-0.000000627692893,-0.000000002206456,0.000000001484798,-7.7463431982826e-17,-3.73968615497117e-17,0.000000004020603,0.000000000303268,6.46414972135436e-18,8.57546421111655e-17,0.000000010429885,0.000000010429885,0.006966954876587,0.006966954876587,0.000000010429894,0.000000010429894,0.000000010429885,0.006966954876587,0.000000010429894,0.000002477407379,1.654858625524694,0.00000247740954,0.000000002206456,1.654858625524694],[0.002244901317751,0.000737633914467,-0.000000004319703,-0.000000002966332,-0.000000003162378,-0.002244858867187,-0.000737630712482,0.000000004319704,0.000000002966331,0.000000004563818,0.00000000316238,0.000000042450564,0.000000003201985,0.000000000000001,-9.24562778265667e-16,2.81037203017389e-16,0.000000000000001,0.009486493756569,0.009486493756569,0.000000021770972,0.000000021770972,0.000000021770921,0.000000021770921,0.009486493756569,0.000000021770972,0.000000021770921,2.253323912259361,0.000005171252266,0.000005171240156,-0.000000004563818,2.253323912259361],[0.000000000455026,-0.000000000277914,0.000000000429335,-0.000000000283971,0.000000113763466,-0.000000000455026,0.000000000277914,-0.000000000429335,0.000000000283971,-0.000366010335902,-0.000000113747092,2.59507341070775e-19,4.66386194547265e-18,-4.06982849581986e-18,-2.10721650259075e-18,0.000000000217079,0.000000000016374,0.000000002139354,0.000000002139354,0.000000002139314,0.000000002139314,0.001435160562481,0.001435160562481,0.000000002139354,0.000000002139314,0.001435160562481,0.000000508160047,0.000000508150497,0.340893242156132,0.000366010552981,0.340893242156132],[0.000350057221457,0.000114865739076,0.00340787362431,0.000002356629634,0.000000031308849,-0.000350057593899,-0.000114895904184,-0.003407182559069,-0.000002265223563,-0.000095005927574,-0.000000024848365,-0.000000000372442,-0.000000030165108,0.000000691065241,0.00000009140607,-0.000000004263536,0.000000006460484,0.001477890257714,0.001477890257714,0.014195906861977,0.014195906861977,0.000372284591494,0.000372284591494,0.001477890257714,0.014195906861977,0.000372284591494,0.351042813378243,3.371949342837794,0.088428643259062,0.000095001664038,3.371949342837794],[0.000000000090419,-0.000000000056448,0.000064998757272,0.00000002358348,-0.000000000060824,-0.000000000090419,0.000000000056448,-0.000064998437869,-0.000000023559388,-0.000000000090586,0.000000000060824,-6.48303929537081e-18,-3.1378413208465e-18,0.000000000319403,0.000000000024092,5.22428598701224e-19,7.18173629567084e-18,0.000000000427623,0.000000000427623,0.00027060507209,0.00027060507209,0.000000000427637,0.000000000427637,0.000000000427623,0.00027060507209,0.000000000427637,0.000000101573267,0.064276738631291,0.00000010157645,0.000000000090586,0.064276738631291],[0.000000000240434,-0.000000000150371,0.000172998626287,0.000000062916115,-0.000000000162004,-0.000000000240434,0.000000000150371,-0.000172998552441,-0.000000062910545,-0.000000000240872,0.000000000162004,-1.51754100229642e-18,-6.93140026794296e-19,0.000000000073846,0.00000000000557,1.14525637349804e-19,1.67593895516754e-18,0.000000001137666,0.000000001137666,0.000720233858566,0.000720233858566,0.000000001137697,0.000000001137697,0.000000001137666,0.000720233858566,0.000000001137697,0.000000270229446,0.171076924475161,0.000000270236718,0.000000000240872,0.171076924475161],[0.000298035669511,0.000097950446988,0.000000000206346,-0.000000000368825,-0.000000000390501,-0.000298035359652,-0.000097950423616,-0.000000000206346,0.000000000368825,-0.000000000220494,0.000000000390501,0.000000000309859,0.000000000023372,4.49793437428061e-18,4.2125010731621e-18,-6.02033607080215e-18,1.78923374776586e-18,0.001258731433328,0.001258731433328,0.000000001757984,0.000000001757984,0.000000001757904,0.000000001757904,0.001258731433328,0.000000001757984,0.000000001757904,0.298986085967305,0.000000417573348,0.000000417554491,0.000000000220494,0.298986085967305],[-0.000000000000234,0.000000000000331,-0.000000000000219,0.000000000000339,0.00000000000036,0.000000000000234,-0.000000000000331,0.000000000000219,-0.000000000000339,0.000000000000221,-0.00000000000036,2.01948391736579e-28,1.51461293802434e-28,2.52435489670724e-28,1.0097419586829e-28,1.76704842769507e-28,1.0097419586829e-28,0.000000000001627,0.000000000001627,0.000000000001678,0.000000000001678,0.000000000001657,0.000000000001657,0.000000000001627,0.000000000001678,0.000000000001657,0.000000000386407,0.000000000398588,0.000000000393601,-0.000000000000221,0.000000000398588],[0.000000002202015,-0.000000001383345,0.001677262877489,0.000000627692847,-0.000000001484845,-0.000000002202015,0.000000001383345,-0.001677259088496,-0.000000627407049,-0.000000002207088,0.000000001484845,-7.30574730616261e-17,-3.53568860938263e-17,0.000000003788993,0.000000000285798,5.81659510112998e-18,8.08355981520452e-17,0.000000010432039,0.000000010432039,0.006966954879057,0.006966954879057,0.000000010432051,0.000000010432051,0.000000010432039,0.006966954879057,0.000000010432051,0.000002477918931,1.654858626111476,0.000002477921744,0.000000002207088,1.654858626111476],[0.00224485924197,0.000737630749862,-0.000000003956481,-0.000000002943282,-0.000000003136334,-0.002244823043696,-0.000737628019478,0.000000003956482,0.000000002943282,0.000000004179057,0.000000003136335,0.000000036198273,0.000000002730384,8.61862087065141e-16,-7.10004164088095e-16,1.84451106413694e-16,0.000000000000001,0.009486495232865,0.009486495232865,0.000000020487436,0.000000020487436,0.000000020487391,0.000000020487391,0.009486495232865,0.000000020487436,0.000000020487391,2.253324262923281,0.000004866374371,0.000004866363589,-0.000000004179057,2.253324262923281],[0.000000000454694,-0.000000000277936,0.000000000429021,-0.000000000283989,0.000000113747073,-0.000000000454694,0.000000000277936,-0.000000000429021,0.000000000283989,-0.000366010101626,-0.000000113729428,3.41496346013689e-19,4.9323270838907e-18,-4.4658492790906e-18,-2.18927385333178e-18,0.000000000233929,0.000000000017645,0.000000002138266,0.000000002138266,0.000000002138268,0.000000002138268,0.001435160561123,0.001435160561123,0.000000002138266,0.000000002138268,0.001435160561123,0.000000507901658,0.00000050790206,0.340893241833486,0.000366010335555,0.340893241833486],[0.000350057561148,0.000114896000227,0.003407182531028,0.00000226531713,-0.000000004467564,-0.00035005746907,-0.000114907416501,-0.003406924441515,-0.000002228727653,-0.000000004637977,0.000000004467763,0.000000000092078,-0.000000011416275,0.000000258089514,0.000000036589477,0.000000000000026,0.000000000000199,0.001477890253033,0.001477890253033,0.014195906745403,0.014195906745403,0.000000025234365,0.000000025234365,0.001477890253033,0.014195906745403,0.000000025234365,0.351042812266486,3.371949315148014,0.000005993910876,0.000000004638003,3.371949315148014],[0.00000000012638,-0.000000000079151,0.000000000118729,-0.000000000080687,0.000000029329978,-0.00000000012638,0.000000000079151,-0.000000000118729,0.000000000080687,-0.000095000428365,-0.000000029257749,1.52325581220279e-18,2.19263939921267e-17,-1.9778210012606e-17,-9.62442993190349e-18,0.00000000095758,0.000000000072229,0.000000000598166,0.000000000598166,0.000000000598102,0.000000000598102,0.000372266799946,0.000372266799946,0.000000000598166,0.000000000598102,0.000372266799946,0.00000014208223,0.000000142066942,0.088424417238192,0.000095001385945,0.088424417238192],[0.000000000090426,-0.000000000056459,0.000064998437869,0.000000023559383,-0.000000000060827,-0.000000000090426,0.000000000056459,-0.000064998178234,-0.000000023539799,-0.000000000090594,0.000000000060827,-5.2711377295518e-18,-2.56362050768793e-18,0.000000000259635,0.000000000019584,4.25419299228752e-19,5.85363429733085e-18,0.000000000427668,0.000000000427668,0.000270605072091,0.000270605072091,0.000000000427668,0.000000000427668,0.000000000427668,0.000270605072091,0.000000000427668,0.000000101583938,0.064276738631619,0.000000101583818,0.000000000090594,0.064276738631619],[0.000000000240681,-0.0000000001504,0.000172998552677,0.000000062910505,-0.000000000162044,-0.000000000240681,0.0000000001504,-0.000172998499276,-0.000000062906477,-0.000000000241121,0.000000000162044,-1.08762054806567e-18,-5.55439838909264e-19,0.000000000053401,0.000000000004028,8.03945109146413e-20,1.20295245386816e-18,0.000000001138568,0.000000001138568,0.000720233859551,0.000720233859551,0.000000001138596,0.000000001138596,0.000000001138568,0.000720233859551,0.000000001138596,0.00000027044377,0.171076924708926,0.000000270450411,0.000000000241121,0.171076924708926],[0.000298035362523,0.00009795042395,0.000000000209124,-0.000000000368603,-0.000000000390251,-0.000298035060335,-0.000097950401157,-0.000000000209124,0.000000000368603,-0.000000000223441,0.000000000390251,0.000000000302188,0.000000000022794,4.42340056725288e-18,4.18659253560602e-18,-5.76080830871e-18,1.69742109416948e-18,0.001258731444692,0.001258731444692,0.000000001762853,0.000000001762853,0.000000001762763,0.000000001762763,0.001258731444692,0.000000001762853,0.000000001762763,0.298986088666719,0.000000418729842,0.000000418708572,0.000000000223441,0.298986088666719],[-0.000000000000108,0.000000000000367,-0.000000000000098,0.00000000000037,0.000000000000393,0.000000000000108,-0.000000000000367,0.000000000000098,-0.00000000000037,0.000000000000091,-0.000000000000393,8.83524213847533e-29,-1.0097419586829e-28,1.38839519318898e-28,-5.04870979341448e-29,1.51461293802434e-28,-5.04870979341448e-29,0.000000000001535,0.000000000001535,0.000000000001591,0.000000000001591,0.000000000001582,0.000000000001582,0.000000000001535,0.000000000001591,0.000000000001582,0.000000000364549,0.000000000377922,0.000000000375654,-0.000000000000091,0.000000000377922],[0.000000002201823,-0.000000001383499,0.00167725908831,0.000000627406901,-0.000000001484999,-0.000000002201823,0.000000001383499,-0.001677253818546,-0.00000062700941,-0.000000002206881,0.000000001484999,-1.01567402240727e-16,-4.88923584400255e-17,0.000000005269764,0.000000000397491,8.19830947374372e-18,1.12421192884543e-16,0.000000010431715,0.000000010431715,0.006966954878283,0.006966954878283,0.000000010431716,0.000000010431716,0.000000010431715,0.006966954878283,0.000000010431716,0.000002477842064,1.654858625927632,0.000002477842231,0.000000002206881,1.654858625927632],[0.002244823418689,0.00073762805687,-0.000000003593048,-0.000000002920228,-0.000000003110284,-0.002244780939748,-0.000737624852745,0.000000003593049,0.000000002920228,0.000000003794074,0.000000003110286,0.000000042478941,0.000000003204125,9.82606658098069e-16,-7.40878151469635e-16,1.51002409774151e-16,0.000000000000001,0.009486496709999,0.009486496709999,0.000000019236455,0.000000019236455,0.000000019236421,0.000000019236421,0.009486496709999,0.000000019236455,0.000000019236421,2.253324613786524,0.00000456922929,0.000004569221216,-0.000000003794074,2.253324613786524],[0.000000000454793,-0.000000000278044,0.000000000429111,-0.000000000284095,0.000000113729314,-0.000000000454793,0.000000000278044,-0.000000000429111,0.000000000284095,-0.000366009674935,-0.000000113697122,4.77948938739837e-19,9.10359702922737e-18,-8.11461228913709e-18,-4.08382496047093e-18,0.000000000426791,0.000000000032192,0.000000002138828,0.000000002138828,0.000000002138822,0.000000002138822,0.001435160561512,0.001435160561512,0.000000002138828,0.000000002138822,0.001435160561512,0.000000508035237,0.000000508033813,0.340893241925909,0.000366010101726,0.340893241925909],[0.000350057528848,0.000114907426387,0.003406924499378,0.000002228735007,-0.000000004459716,-0.000350057401899,-0.000114923166114,-0.00340656866894,-0.000002178288751,-0.000000004699444,0.000000004459992,0.000000000126949,-0.000000015739727,0.000000355830438,0.000000050446256,0.000000000000034,0.000000000000277,0.001477890493229,0.001477890493229,0.014195906986528,0.014195906986528,0.000000025386761,0.000000025386761,0.001477890493229,0.014195906986528,0.000000025386761,0.351042869320244,3.371949372422442,0.000006030109363,0.000000004699478,3.371949372422442],[0.000000000126399,-0.000000000079152,0.000000000118747,-0.000000000080689,0.000000029257747,-0.000000000126399,0.000000000079152,-0.000000000118747,0.000000000080689,-0.000094999627973,-0.000000029197373,1.27723544422453e-18,1.83292853352562e-17,-1.64846390038247e-17,-8.05318651600845e-18,0.000000000800411,0.000000000060374,0.000000000598234,0.000000000598234,0.000000000598169,0.000000000598169,0.000372266800022,0.000372266800022,0.000000000598234,0.000000000598169,0.000372266800022,0.000000142098257,0.000000142082978,0.088424417256197,0.000095000428385,0.088424417256197],[0.000000000240374,-0.000000000150387,0.000172998498981,0.000000062906497,-0.000000000162018,-0.000000000240374,0.000000000150387,-0.000172998453915,-0.000000062903098,-0.000000000240802,0.000000000162018,-8.95752541165178e-19,-4.45921616945732e-19,0.000000000045066,0.000000000003399,6.01344278701683e-20,1.0004488429948e-18,0.000000001137497,0.000000001137497,0.00072023385832,0.00072023385832,0.000000001137501,0.000000001137501,0.000000001137497,0.00072023385832,0.000000001137501,0.00000027018919,0.171076924416707,0.000000270190147,0.000000000240802,0.171076924416707],[0.00029803506372,0.000097950401473,0.000000000212398,-0.000000000368419,-0.000000000390044,-0.000298034648276,-0.000097950370137,-0.000000000212398,0.000000000368419,-0.000000000226916,0.000000000390044,0.000000000415444,0.000000000031336,6.04864968768801e-18,5.81767260727541e-18,-8.01366321887991e-18,2.34218423832044e-18,0.001258731457994,0.001258731457994,0.000000001768947,0.000000001768947,0.000000001768869,0.000000001768869,0.001258731457994,0.000000001768947,0.000000001768869,0.298986091826155,0.000000420177423,0.000000420158812,0.000000000226916,0.298986091826155],[-0.000000000000116,0.000000000000161,-0.000000000000113,0.000000000000169,0.000000000000185,0.000000000000116,-0.000000000000161,0.000000000000113,-0.000000000000169,0.000000000000108,-0.000000000000185,1.0097419586829e-28,0.0,1.0097419586829e-28,-2.52435489670724e-29,1.13595970351826e-28,0.0,0.000000000000795,0.000000000000795,0.000000000000847,0.000000000000847,0.00000000000084,0.00000000000084,0.000000000000795,0.000000000000847,0.00000000000084,0.000000000188935,0.000000000201082,0.000000000199477,-0.000000000000108,0.000000000201082],[0.000000002202139,-0.000000001383309,0.001677253818857,0.000000627009588,-0.000000001484812,-0.000000002202139,0.000000001383309,-0.001677247360977,-0.00000062652248,-0.000000002207214,0.000000001484812,-1.24537982444608e-16,-6.02944461664618e-17,0.00000000645788,0.000000000487109,1.00493816931404e-17,1.38330508403988e-16,0.000000010432382,0.000000010432382,0.006966954879578,0.006966954879578,0.000000010432392,0.000000010432392,0.000000010432382,0.006966954879578,0.000000010432392,0.000002478000566,1.654858626235254,0.000002478002879,0.000000002207214,1.654858626235254],[0.002244781327147,0.000737624891315,-0.000000003217587,-0.000000002896471,-0.000000003083435,-0.002244742512434,-0.000737621963577,0.000000003217588,0.00000000289647,0.000000003396351,0.000000003083436,0.000000038814713,0.000000002927738,8.70829081006469e-16,-5.89873190670475e-16,7.53216918049006e-17,0.000000000000001,0.00948649823595,0.00948649823595,0.000000017986571,0.000000017986571,0.000000017986549,0.000000017986549,0.00948649823595,0.000000017986571,0.000000017986549,2.253324976245156,0.000004272344725,0.000004272339467,-0.000000003396351,2.253324976245156],[0.000000000454892,-0.000000000277947,0.000000000429211,-0.000000000284005,0.000000113697217,-0.000000000454892,0.000000000277947,-0.000000000429211,0.000000000284005,-0.000366006481977,-0.000000113456369,3.90339386291233e-18,6.78739498372668e-17,-6.06299688725856e-17,-3.05582339301648e-17,0.000000003193062,0.000000000240848,0.000000002138965,0.000000002138965,0.000000002138964,0.000000002138964,0.001435160561921,0.001435160561921,0.000000002138965,0.000000002138964,0.001435160561921,0.000000508067691,0.000000508067356,0.340893242023018,0.000366009675039,0.340893242023018],[0.000350057521767,0.000114923185951,0.003406568784956,0.000002178303503,-0.000000004443852,-0.000350057209469,-0.00011496190618,-0.003405693430977,-0.000002054204137,-0.000000004822695,0.000000004444541,0.000000000312298,-0.00000003872023,0.000000875353979,0.000000124099366,0.000000000000074,0.00000000000069,0.001477890974874,0.001477890974874,0.014195907470028,0.014195907470028,0.000000025696523,0.000000025696523,0.001477890974874,0.014195907470028,0.000000025696523,0.351042983725158,3.371949487268058,0.000006103687071,0.000000004822769,3.371949487268058],[0.000000000066535,-0.000000000041712,0.00000000006251,-0.000000000042527,0.000000015370232,-0.000000000066535,0.000000000041712,-0.00000000006251,0.000000000042527,-0.000049999685199,-0.000000015358069,2.67232225715043e-19,3.69897331913051e-18,-3.33132494073027e-18,-1.62259849771039e-18,0.000000000161263,0.000000000012164,0.000000000315003,0.000000000315003,0.000000000315003,0.000000000315003,0.000195930060375,0.000195930060375,0.000000000315003,0.000000000315003,0.000195930060375,0.00000007482261,0.000000074822464,0.046539206318116,0.000049999846462,0.046539206318116],[0.0000000000599,-0.000000000037372,0.000000000056277,-0.0000000000381,0.000000013827207,-0.0000000000599,0.000000000037372,-0.000000000056277,0.0000000000381,-0.00004499977682,-0.00000001382685,1.02682194586241e-20,1.13445087438217e-19,-9.84558897298116e-20,-5.57313907059883e-20,0.00000000000473,0.000000000000357,0.000000000283208,0.000000000283208,0.000000000283158,0.000000000283158,0.000176336739798,0.000176336739798,0.000000000283208,0.000000000283158,0.000176336739798,0.000000067270356,0.000000067258495,0.041885210973953,0.00004499978155,0.041885210973953],[0.00000000024054,-0.000000000150373,0.000172998454075,0.000000062903106,-0.000000000162009,-0.00000000024054,0.000000000150373,-0.000172998377954,-0.000000062897364,-0.000000000240972,0.000000000162009,-1.57716474953591e-18,-7.39712130588015e-19,0.000000000076121,0.000000000005742,1.52570051865379e-19,1.72720032000443e-18,0.000000001138031,0.000000001138031,0.000720233858988,0.000720233858988,0.000000001138033,0.000000001138033,0.000000001138031,0.000720233858988,0.000000001138033,0.000000270316115,0.171076924575236,0.000000270316554,0.000000000240972,0.171076924575236],[0.000298034652976,0.000097950370687,0.000000000216947,-0.000000000368055,-0.000000000389638,-0.000298034081466,-0.000097950327579,-0.000000000216947,0.000000000368055,-0.000000000231741,0.000000000389638,0.000000000571511,0.000000000043108,8.17765469630008e-18,8.04639429042954e-18,-1.10967912338711e-17,3.08852526509048e-18,0.001258731476598,0.001258731476598,0.000000001777173,0.000000001777173,0.000000001777089,0.000000001777089,0.001258731476598,0.000000001777173,0.000000001777089,0.298986096245299,0.000000422131333,0.000000422111507,0.000000000231741,0.298986096245299],[-0.000000000000412,0.000000000000009,-0.000000000000404,0.000000000000034,0.000000000000036,0.000000000000412,-0.000000000000009,0.000000000000404,-0.000000000000034,0.000000000000413,-0.000000000000036,5.04870979341448e-29,-2.83989925879564e-29,1.0097419586829e-28,0.0,1.0097419586829e-28,-3.78653234506086e-29,0.000000000001654,0.000000000001654,0.000000000001684,0.000000000001684,0.000000000001624,0.000000000001624,0.000000000001654,0.000000000001684,0.000000000001624,0.000000000392901,0.000000000400012,0.000000000385681,-0.000000000000413,0.000000000400012],[0.000000002202798,-0.000000001383262,0.001677247361614,0.000000626522498,-0.000000001484787,-0.000000002202798,0.000000001383262,-0.001677216752937,-0.00000062421373,-0.000000002207885,0.000000001484788,-5.89487131830116e-16,-2.85359696933241e-16,0.000000030608676,0.000000002308768,4.79348038231764e-17,6.52943635740715e-16,0.00000001043452,0.00000001043452,0.006966954882223,0.006966954882223,0.000000010434518,0.000000010434518,0.00000001043452,0.006966954882223,0.000000010434518,0.000002478508178,1.654858626863439,0.000002478507838,0.000000002207885,1.654858626863439],[0.002244742984408,0.00073762201072,-0.000000002760147,-0.000000002867379,-0.000000003050567,-0.002244682767985,-0.000737617468682,0.000000002760148,0.000000002867378,0.000000002911783,0.000000003050568,0.000000060216423,0.000000004542038,0.000000000000001,-7.50413094236987e-16,9.3895959667885e-19,0.000000000000001,0.009486500095259,0.009486500095259,0.000000016535486,0.000000016535486,0.000000016535465,0.000000016535465,0.009486500095259,0.000000016535486,0.000000016535465,2.253325417886328,0.000003927668861,0.000003927663794,-0.000000002911783,2.253325417886328],[0.000000000455034,-0.000000000277933,0.000000000429349,-0.000000000283997,0.000000113456378,-0.000000000455034,0.000000000277934,-0.000000000429349,0.000000000283997,-0.000365996697002,-0.0000001127183,1.19720713650683e-17,2.08038071831547e-16,-1.861055572328e-16,-9.37596915881342e-17,0.000000009785121,0.000000000738078,0.000000002139423,0.000000002139423,0.000000002139423,0.000000002139423,0.001435160562493,0.001435160562493,0.000000002139423,0.000000002139423,0.001435160562493,0.000000508176582,0.000000508176598,0.340893242158994,0.000366006482123,0.340893242158994],[0.00035005736372,0.000114961931701,0.00340569358023,0.000002054223089,-0.000000004423806,-0.000350057110598,-0.00011499331502,-0.003404984093124,-0.00000195363875,-0.000000004981353,0.000000004424375,0.000000000253122,-0.000000031383319,0.000000709487106,0.000000100584339,0.000000000000051,0.000000000000569,0.001477891594642,0.001477891594642,0.014195908092208,0.014195908092208,0.00000002610317,0.00000002610317,0.001477891594642,0.014195908092208,0.00000002610317,0.351043130938389,3.371949635054141,0.000006200277941,0.000000004981404,3.371949635054141],[0.000000000066541,-0.000000000041713,0.000000000062515,-0.000000000042529,0.000000015358067,-0.000000000066541,0.000000000041713,-0.000000000062515,0.000000000042529,-0.000049999527183,-0.000000015346147,2.64872421599097e-19,3.62331637531434e-18,-3.25662568465533e-18,-1.5857789502739e-18,0.000000000158021,0.000000000011919,0.000000000315026,0.000000000315026,0.000000000315026,0.000000000315026,0.000195930060397,0.000195930060397,0.000000000315026,0.000000000315026,0.000195930060397,0.000000074827954,0.00000007482806,0.046539206323321,0.000049999685204,0.046539206323321],[0.000000000060149,-0.000000000037399,0.000000000056514,-0.000000000038141,0.000000013826809,-0.000000000060149,0.000000000037399,-0.000000000056514,0.000000000038141,-0.000044999772546,-0.000000013826468,1.55713260644898e-20,1.0199807098322e-19,-9.21808717535902e-20,-3.78103482516165e-20,0.000000000004522,0.000000000000341,0.000000000284111,0.000000000284111,0.00000000028407,0.00000000028407,0.000176336740771,0.000176336740771,0.000000000284111,0.00000000028407,0.000176336740771,0.000000067484854,0.000000067474987,0.041885211205087,0.000044999777068,0.041885211205087],[0.000000000240694,-0.000000000150376,0.000172998378106,0.000000062897351,-0.000000000162023,-0.000000000240694,0.000000000150376,-0.000172998271507,-0.00000006288931,-0.000000000241127,0.000000000162023,-2.14943249233301e-18,-1.06695566350893e-18,0.000000000106599,0.000000000008041,1.53176271856804e-19,2.38754025736673e-18,0.00000000113856,0.00000000113856,0.000720233859619,0.000720233859619,0.000000001138567,0.000000001138567,0.00000000113856,0.000720233859619,0.000000001138567,0.000000270441907,0.171076924725227,0.000000270443371,0.000000000241127,0.171076924725227],[0.000298034087093,0.00009795032809,0.000000000222387,-0.000000000367761,-0.000000000389302,-0.000298033482272,-0.000097950282469,-0.000000000222387,0.000000000367761,-0.000000000237515,0.000000000389302,0.00000000060482,0.000000000045621,8.66757296435296e-18,8.74627366786703e-18,-1.17999253602238e-17,3.13697116561618e-18,0.001258731498687,0.001258731498687,0.00000000178772,0.00000000178772,0.000000001787638,0.000000001787638,0.001258731498687,0.00000000178772,0.000000001787638,0.298986101491955,0.000000424636664,0.000000424617139,0.000000000237515,0.298986101491955],[-0.000000000000323,0.000000000000179,-0.000000000000305,0.000000000000183,0.000000000000193,0.000000000000323,-0.000000000000179,0.000000000000305,-0.000000000000183,0.000000000000324,-0.000000000000193,5.04870979341448e-29,-5.04870979341448e-29,1.51461293802434e-28,0.0,5.04870979341448e-29,0.0,0.000000000001482,0.000000000001482,0.000000000001478,0.000000000001478,0.000000000001478,0.000000000001478,0.000000000001482,0.000000000001478,0.000000000001478,0.000000000352041,0.000000000351012,0.000000000351012,-0.000000000000324,0.000000000352041],[0.000000002208487,-0.000000001382956,0.001677216758438,0.00000062421383,-0.000000001484657,-0.000000002208492,0.000000001382953,-0.001676955045546,-0.000000604473204,-0.000000002213711,0.000000001484663,-0.000000000000005,-0.000000000000002,0.000000261712892,0.000000019740627,4.02085662422986e-16,0.000000000000006,0.000000010453202,0.000000010453202,0.006966954905073,0.006966954905073,0.000000010453202,0.000000010453202,0.000000010453202,0.006966954905073,0.000000010453202,0.000002482945862,1.654858632290936,0.000002482945734,0.000000002213711,1.654858632290936],[0.002244683634309,0.000737617555052,-0.000000001920484,-0.000000002814142,-0.000000002990405,-0.002244562063255,-0.000737608385123,0.000000001920486,0.000000002814141,0.000000002022327,0.000000002990408,0.000000121571054,0.000000009169929,0.000000000000002,-9.04972464603949e-16,-4.29874137493118e-16,0.000000000000003,0.00948650350796,0.00948650350796,0.000000014154932,0.000000014154932,0.000000014154914,0.000000014154914,0.00948650350796,0.000000014154932,0.000000014154914,2.253326228504126,0.000003362216658,0.000003362212371,-0.000000002022327,2.253326228504126],[0.000350057233544,0.000114993335408,0.003404984212062,0.000001953653884,-0.000000004407818,-0.000350057035762,-0.000115017857424,-0.003404429839536,-0.000001875060214,-0.000000005107825,0.000000004408269,0.000000000197782,-0.000000024522016,0.000000554372526,0.00000007859367,0.000000000000034,0.000000000000451,0.001477892088666,0.001477892088666,0.014195908588113,0.014195908588113,0.000000026433367,0.000000026433367,0.001477892088666,0.014195908588113,0.000000026433367,0.351043248283857,3.371949752846489,0.000006278709387,0.000000005107859,3.371949752846489],[0.000000000059833,-0.00000000003749,0.00000000005621,-0.000000000038214,0.000000013826385,-0.000000000059833,0.00000000003749,-0.00000000005621,0.000000000038214,-0.000044999767349,-0.000000013826017,3.57119719833284e-21,1.1781444284183e-19,-9.8092796214992e-20,-5.50888070793538e-20,0.000000000004875,0.000000000000368,0.000000000283232,0.000000000283232,0.000000000283194,0.000000000283194,0.000176336739509,0.000176336739509,0.000000000283232,0.000000000283194,0.000176336739509,0.000000067276077,0.000000067266956,0.041885210905368,0.000044999772224,0.041885210905368],[0.000000000240895,-0.000000000150317,0.000172998271687,0.000000062889381,-0.000000000161945,-0.000000000240895,0.000000000150317,-0.000172998192589,-0.000000062883415,-0.000000000241346,0.000000000161945,-1.58012259231003e-18,-8.03337364040734e-19,0.000000000079099,0.000000000005966,1.27722580240052e-19,1.75493165343784e-18,0.00000000113912,0.00000000113912,0.000720233860369,0.000720233860369,0.00000000113911,0.00000000113911,0.00000000113912,0.000720233860369,0.00000000113911,0.000000270574724,0.17107692490325,0.000000270572477,0.000000000241346,0.17107692490325],[0.000298033486995,0.000097950282967,0.000000000226958,-0.000000000367448,-0.000000000388952,-0.00029803308523,-0.000097950252663,-0.000000000226958,0.000000000367448,-0.000000000242363,0.000000000388952,0.000000000401765,0.000000000030305,5.75502533395127e-18,5.83455479489094e-18,-7.98689761881165e-18,2.02213709918055e-18,0.001258731517313,0.001258731517313,0.000000001796528,0.000000001796528,0.000000001796445,0.000000001796445,0.001258731517313,0.000000001796528,0.000000001796445,0.298986105916186,0.000000426728839,0.000000426708976,0.000000000242363,0.298986105916186],[-0.000000000000089,-0.000000000000163,-0.000000000000094,-0.000000000000152,-0.00000000000016,0.000000000000089,0.000000000000163,0.000000000000094,0.000000000000152,0.000000000000095,0.00000000000016,2.52435489670724e-29,0.0,0.0,0.0,0.0,-2.52435489670724e-29,0.000000000000745,0.000000000000745,0.000000000000743,0.000000000000743,0.00000000000073,0.00000000000073,0.000000000000745,0.000000000000743,0.00000000000073,0.000000000177053,0.000000000176485,0.000000000173507,-0.000000000000095,0.000000000177053],[0.00219556087055,0.000721502812342,-0.000000001265443,-0.000000002713356,-0.000000002880688,-0.002195526123977,-0.000721500191458,0.000000001265444,0.000000002713356,0.000000001328706,0.000000002880689,0.000000034746573,0.000000002620884,6.53088181623651e-16,-1.28619047982254e-16,-2.15552313071672e-16,6.29999577015225e-16,0.009279399480864,0.009279399480864,0.000000012438783,0.000000012438783,0.000000012438771,0.000000012438771,0.009279399480864,0.000000012438783,0.000000012438771,2.204132873345219,0.000002954580265,0.000002954577355,-0.000000001328706,2.204132873345219],[0.000049001938126,0.000016105647129,0.000000000067479,-0.000000000054954,-0.000000000057926,-0.000049001834939,-0.000016105639346,-0.000000000067479,0.000000000054954,-0.000000000071746,0.000000000057926,0.000000000103187,0.000000000007783,1.09870523356297e-18,2.32502445406121e-18,-2.56658951093797e-18,-2.09671731879547e-19,0.000207106963956,0.000207106963956,0.000000000361559,0.000000000361559,0.00000000036156,0.00000000036156,0.000207106963956,0.000000000361559,0.00000000036156,0.049194052750449,0.000000085880892,0.000000085881276,0.000000000071746,0.049194052750449],[0.000350057138392,0.000115017874398,0.003404429938802,0.000001875072794,-0.000000004394506,-0.000350056959636,-0.000115040037567,-0.003403928893167,-0.000001804039303,-0.000000005213404,0.000000004394918,0.000000000178757,-0.000000022163169,0.000000501045635,0.000000071033491,0.000000000000026,0.000000000000412,0.001477892500991,0.001477892500991,0.014195909002066,0.014195909002066,0.000000026713166,0.000000026713166,0.001477892500991,0.014195909002066,0.000000026713166,0.351043346223131,3.371949851172409,0.000006345170118,0.00000000521343,3.371949851172409],[0.000000000059996,-0.000000000037575,0.000000000056365,-0.000000000038309,0.000000013825919,-0.000000000059996,0.000000000037575,-0.000000000056365,0.000000000038309,-0.000044999763153,-0.000000013825591,7.523246445261e-21,9.38331456401192e-20,-9.23779539968795e-20,-4.14831658806712e-20,0.000000000004353,0.000000000000328,0.000000000283964,0.000000000283964,0.00000000028395,0.00000000028395,0.000176336740127,0.000176336740127,0.000000000283964,0.00000000028395,0.000176336740127,0.000000067449969,0.000000067446609,0.041885211052006,0.000044999767506,0.041885211052006],[0.000000000240519,-0.000000000150422,0.000172998192225,0.000000062883322,-0.000000000162045,-0.000000000240519,0.000000000150422,-0.000172998061195,-0.000000062873439,-0.000000000240955,0.000000000162045,-2.66082232698562e-18,-1.25096261115681e-18,0.00000000013103,0.000000000009883,2.56950732592527e-19,2.97706885555416e-18,0.000000001138065,0.000000001138065,0.000720233858856,0.000720233858856,0.000000001138056,0.000000001138056,0.000000001138065,0.000720233858856,0.000000001138056,0.000000270324331,0.171076924543949,0.000000270322151,0.000000000240955,0.171076924543949],[0.000298033089176,0.000097950253088,0.000000000230778,-0.000000000367177,-0.000000000388648,-0.000298032680276,-0.000097950222246,-0.000000000230778,0.000000000367177,-0.000000000246415,0.000000000388648,0.000000000408901,0.000000000030843,5.81500182202323e-18,5.98937529501035e-18,-8.11293300909603e-18,2.05785863543972e-18,0.00125873153289,0.00125873153289,0.000000001803973,0.000000001803973,0.000000001803887,0.000000001803887,0.00125873153289,0.000000001803973,0.000000001803887,0.298986109616223,0.000000428497233,0.00000042847682,0.000000000246415,0.298986109616223],[0.000000000000179,0.000000000000322,0.000000000000181,0.000000000000307,0.000000000000323,-0.000000000000179,-0.000000000000322,-0.000000000000181,-0.000000000000307,-0.000000000000195,-0.000000000000323,2.52435489670724e-29,-1.0097419586829e-28,0.0,-2.01948391736579e-28,5.04870979341448e-29,-2.01948391736579e-28,0.000000000001479,0.000000000001479,0.000000000001482,0.000000000001482,0.000000000001477,0.000000000001477,0.000000000001479,0.000000000001482,0.000000000001477,0.000000000351355,0.000000000351959,0.000000000350766,0.000000000000195,0.000000000351959],[0.002195526433964,0.00072150022233,-0.000000000964978,-0.000000002694342,-0.000000002859198,-0.002195496131667,-0.000721497936671,0.000000000964978,0.000000002694342,0.000000001010421,0.000000002859199,0.000000030302298,0.000000002285659,5.51703859061105e-16,-5.63020033120784e-17,-2.26752260810662e-16,5.05819583450478e-16,0.009279400702028,0.009279400702028,0.000000011890358,0.000000011890358,0.000000011890348,0.000000011890348,0.009279400702028,0.000000011890358,0.000000011890348,2.204133163407807,0.000002824313157,0.00000282431065,-0.000000001010421,2.204133163407807],[0.000049001836214,0.00001610563947,0.000000000068715,-0.000000000054879,-0.000000000057841,-0.0000490016711,-0.000016105627016,-0.000000000068715,0.000000000054879,-0.000000000073055,0.000000000057841,0.000000000165114,0.000000000012454,1.74259190230675e-18,3.77355774573432e-18,-4.13933272160585e-18,-3.85547461794288e-19,0.000207106968976,0.000207106968976,0.000000000365361,0.000000000365361,0.000000000365362,0.000000000365362,0.000207106968976,0.000000000365361,0.000000000365362,0.049194053942763,0.000000086783974,0.000000086784221,0.000000000073055,0.049194053942763],[0.000350051934282,0.000115043663078,0.000000000185497,-0.000000000478139,-0.000000000508295,-0.000350051410511,-0.00011504362357,-0.000000000185497,0.000000000478139,-0.000000000199268,0.000000000508295,0.000000000523771,0.000000000039507,8.807621647244e-18,6.23978359764425e-18,-9.78114335730654e-18,4.5722547945597e-18,0.001477877892659,0.001477877892659,0.000000002138859,0.000000002138859,0.000000002138865,0.000000002138865,0.001477877892659,0.000000002138859,0.000000002138865,0.35103987631063,0.000000508042617,0.000000508043872,0.000000000199268,0.35103987631063],[0.000000005086206,-0.000000003652237,0.003403928765175,0.000001804489537,-0.000000003916111,-0.000000005086352,0.000000003652171,-0.003403656111037,-0.000001759110029,-0.000000005075441,0.000000003916271,-0.000000000000146,-0.000000000000066,0.000000272654139,0.000000045379508,0.000000000000016,0.00000000000016,0.000000025114445,0.000000025114445,0.014195908469279,0.014195908469279,0.000000025114442,0.000000025114442,0.000000025114445,0.014195908469279,0.000000025114442,0.000005965426235,3.371949724619858,0.000005965425543,0.000000005075457,3.371949724619858],[0.000000000060019,-0.000000000037536,0.000000000056386,-0.00000000003827,0.000000013825633,-0.000000000060019,0.000000000037536,-0.000000000056386,0.00000000003827,-0.000044999758372,-0.00000001382527,8.89783967756514e-21,1.12547518925415e-19,-1.0066352492479e-19,-4.55310840681245e-20,0.000000000004807,0.000000000000363,0.00000000028396,0.00000000028396,0.000000000283931,0.000000000283931,0.000176336740229,0.000176336740229,0.00000000028396,0.000000000283931,0.000176336740229,0.000000067448847,0.000000067442128,0.041885211076187,0.000044999763179,0.041885211076187],[0.000000000240713,-0.000000000150393,0.000172998061383,0.000000062873463,-0.00000000016202,-0.000000000240713,0.000000000150393,-0.000172997151899,-0.000000062804862,-0.000000000241157,0.00000000016202,-1.84852908362266e-17,-8.9886484957894e-18,0.000000000909484,0.000000000068601,1.4840605568106e-18,2.04736244500427e-17,0.00000000113866,0.00000000113866,0.00072023385964,0.00072023385964,0.00000000113866,0.00000000113866,0.00000000113866,0.00072023385964,0.00000000113866,0.000000270465668,0.171076924730062,0.000000270465621,0.000000000241157,0.171076924730062],[0.000298032683073,0.000097950222543,0.000000000233483,-0.000000000366989,-0.000000000388436,-0.00029803248756,-0.000097950207795,-0.000000000233483,0.000000000366989,-0.000000000249287,0.000000000388436,0.000000000195513,0.000000000014747,2.82279080497083e-18,2.93280479246462e-18,-3.87162076990961e-18,9.39168408084731e-19,0.001258731543924,0.001258731543924,0.000000001809324,0.000000001809324,0.000000001809242,0.000000001809242,0.001258731543924,0.000000001809324,0.000000001809242,0.298986112237264,0.000000429768272,0.000000429748744,0.000000000249287,0.298986112237264],[-0.000000000000368,0.000000000000095,-0.000000000000353,0.000000000000109,0.000000000000113,0.000000000000368,-0.000000000000095,0.000000000000353,-0.000000000000109,0.000000000000369,-0.000000000000113,1.51461293802434e-28,5.04870979341448e-29,1.0097419586829e-28,1.26217744835362e-29,2.01948391736579e-28,6.31088724176809e-29,0.000000000001525,0.000000000001525,0.000000000001535,0.000000000001535,0.000000000001514,0.000000000001514,0.000000000001525,0.000000000001535,0.000000000001514,0.000000000362345,0.000000000364573,0.000000000359601,-0.000000000000369,0.000000000364573],[0.002195496395588,0.00072149796303,-0.000000000709157,-0.000000002678084,-0.000000002840828,-0.002195471334202,-0.000721496072686,0.000000000709157,0.000000002678084,0.000000000739431,0.000000002840828,0.000000025061386,0.000000001890344,4.44196920346346e-16,-7.2603999828525e-18,-2.15510001025581e-16,3.8822804624159e-16,0.009279401741825,0.009279401741825,0.000000011510011,0.000000011510011,0.000000011510002,0.000000011510002,0.009279401741825,0.000000011510011,0.000000011510002,2.204133410390408,0.000002733969438,0.000002733967199,-0.000000000739431,2.204133410390408],[0.000049001672561,0.00001610562716,0.000000000070131,-0.00000000005479,-0.000000000057741,-0.000049001531487,-0.000016105616519,-0.000000000070131,0.00000000005479,-0.000000000074555,0.000000000057741,0.000000000141074,0.000000000010641,1.46893067377458e-18,3.28148098864708e-18,-3.58471022761466e-18,-3.71279759450485e-19,0.00020710697473,0.00020710697473,0.000000000369749,0.000000000369749,0.00000000036975,0.00000000036975,0.00020710697473,0.000000000369749,0.00000000036975,0.049194055309617,0.000000087826476,0.000000087826633,0.000000000074555,0.049194055309617],[0.000350051415576,0.00011504362407,0.000000000190383,-0.000000000477844,-0.000000000507965,-0.000350050890429,-0.000115043584459,-0.000000000190383,0.000000000477844,-0.000000000204468,0.000000000507965,0.000000000525147,0.000000000039611,8.8560516503923e-18,6.35988360514205e-18,-9.92240698757167e-18,4.46654462779302e-18,0.001477877912582,0.001477877912582,0.000000002145171,0.000000002145171,0.000000002145183,0.000000002145183,0.001477877912582,0.000000002145171,0.000000002145183,0.351039881042918,0.000000509541786,0.00000050954477,0.000000000204468,0.351039881042918],[0.000000005079215,-0.000000003612839,0.003403656105614,0.000001759148086,-0.000000003875775,-0.000000005079587,0.00000000361268,-0.003403135793394,-0.000001709368534,-0.000000005069478,0.000000003876177,-0.000000000000372,-0.000000000000159,0.00000052031222,0.000000049779551,0.000000000000048,0.000000000000402,0.000000024999431,0.000000024999431,0.014195908446744,0.014195908446744,0.000000024999428,0.000000024999428,0.000000024999431,0.014195908446744,0.000000024999428,0.000005938106972,3.371949719266956,0.000005938106348,0.000000005069526,3.371949719266956],[-3.36001443444034e-17,-8.42913347569417e-17,2.25147464469089e-17,4.79179782904321e-17,3.39614206788793e-17,3.36001443444034e-17,8.42913347569417e-17,-2.25147464469089e-17,-4.79179782904321e-17,-1.35616959289429e-17,-3.39614206788793e-17,-6.16297582203915e-33,0.0,-3.08148791101958e-33,0.0,9.24446373305873e-33,-1.84889274661175e-32,3.63943727889133e-16,3.63943727889133e-16,2.20817050828571e-16,2.20817050828571e-16,1.43262009269394e-16,1.43262009269394e-16,3.63943727889133e-16,2.20817050828571e-16,1.43262009269394e-16,0.000000000000086,0.000000000000052,0.000000000000034,1.35616959289429e-17,0.000000000000086],[0.000000000059872,-0.000000000037509,0.000000000056252,-0.000000000038238,0.0000000138253,-0.000000000059872,0.000000000037509,-0.000000000056252,0.000000000038238,-0.000044999755126,-0.000000013825066,-2.30053145517775e-21,6.82602689293256e-20,-6.85968603528008e-20,-2.25942897978696e-20,0.0000000000031,0.000000000000234,0.000000000283405,0.000000000283405,0.000000000283395,0.000000000283395,0.000176336739656,0.000176336739656,0.000000000283405,0.000000000283395,0.000176336739656,0.000000067317011,0.000000067314806,0.041885210940166,0.000044999758225,0.041885210940166],[0.000000000240768,-0.000000000150388,0.000172997151952,0.000000062804864,-0.000000000162018,-0.000000000240768,0.000000000150388,-0.000172995143014,-0.000000062653333,-0.000000000241214,0.000000000162018,-4.08143343656343e-17,-1.97908757245973e-17,0.000000002008938,0.000000000151531,3.26002844720143e-18,4.52618965942365e-17,0.000000001138838,0.000000001138838,0.000720233859861,0.000720233859861,0.000000001138838,0.000000001138838,0.000000001138838,0.000720233859861,0.000000001138838,0.000000270507912,0.17107692478261,0.000000270507857,0.000000000241214,0.17107692478261],[0.000298032489982,0.000097950207984,0.000000000235823,-0.000000000366892,-0.000000000388321,-0.000298032178995,-0.000097950184527,-0.000000000235823,0.000000000366892,-0.000000000251769,0.000000000388321,0.000000000310987,0.000000000023457,4.37286678531291e-18,4.62869979010273e-18,-6.24442682091646e-18,1.48590480768508e-18,0.001258731553393,0.001258731553393,0.000000001814229,0.000000001814229,0.00000000181414,0.00000000181414,0.001258731553393,0.000000001814229,0.00000000181414,0.298986114486356,0.000000430933338,0.000000430912088,0.000000000251769,0.298986114486356],[-0.000000000000007,0.000000000000083,-0.000000000000004,0.00000000000008,0.000000000000085,0.000000000000007,-0.000000000000083,0.000000000000004,-0.00000000000008,0.000000000000004,-0.000000000000085,2.20881053461883e-29,-1.26217744835362e-29,2.12992444409673e-29,-1.26217744835362e-29,1.57772181044202e-29,-1.26217744835362e-29,0.000000000000334,0.000000000000334,0.000000000000334,0.000000000000334,0.000000000000332,0.000000000000332,0.000000000000334,0.000000000000334,0.000000000000332,0.000000000079439,0.000000000079242,0.00000000007885,-0.000000000000004,0.000000000079439],[0.002195471546433,0.000721496093826,-0.000000000503439,-0.000000002665067,-0.000000002826115,-0.002195452057478,-0.000721494623802,0.000000000503439,0.000000002665067,0.000000000521515,0.000000002826115,0.000000019488954,0.000000001470024,3.3717588499759e-16,1.85090641104289e-17,-1.84987988093669e-16,2.82686753773643e-16,0.00927940257791,0.00927940257791,0.00000001126827,0.00000001126827,0.000000011268263,0.000000011268263,0.00927940257791,0.00000001126827,0.000000011268263,2.204133608985541,0.000002676548753,0.000002676547014,-0.000000000521515,2.204133608985541],[0.000049001532547,0.000016105616622,0.000000000071159,-0.000000000054728,-0.000000000057671,-0.000049001452705,-0.0000161056106,-0.000000000071159,0.000000000054728,-0.000000000075643,0.000000000057671,0.000000000079842,0.000000000006022,8.25700502093835e-19,1.88659218208032e-18,-2.04303104814349e-18,-2.22649000156025e-19,0.000207106978902,0.000207106978902,0.000000000372965,0.000000000372965,0.000000000372964,0.000000000372964,0.000207106978902,0.000000000372965,0.000000000372964,0.049194056300598,0.00000008859023,0.000000088590072,0.000000000075643,0.049194056300598],[0.000350050895317,0.000115043584926,0.0000000001951,-0.000000000477578,-0.000000000507663,-0.000350050369151,-0.000115043545238,-0.0000000001951,0.000000000477578,-0.000000000209483,0.000000000507663,0.000000000526166,0.000000000039688,8.77795036847899e-18,6.46930719247363e-18,-9.96158608709251e-18,4.40984418853708e-18,0.001477877931792,0.001477877931792,0.000000002151502,0.000000002151502,0.000000002151503,0.000000002151503,0.001477877931792,0.000000002151502,0.000000002151503,0.351039885605914,0.000000511045612,0.000000511045879,0.000000000209483,0.351039885605914],[0.00000000509786,-0.00000000361005,0.003403135811047,0.000001709370393,-0.000000003874132,-0.000000005098173,0.000000003609915,-0.003402699546776,-0.000001667631916,-0.000000005088228,0.00000000387447,-0.000000000000312,-0.000000000000135,0.000000436264271,0.000000041738477,0.00000000000004,0.000000000000338,0.000000025053093,0.000000025053093,0.014195908520384,0.014195908520384,0.00000002505309,0.00000002505309,0.000000025053093,0.014195908520384,0.00000002505309,0.00000595085346,3.371949736758784,0.000005950852701,0.000000005088268,3.371949736758784],[-1.18692912811813e-17,-4.48639373342653e-17,-2.07675646062988e-17,4.86918652301601e-17,-6.28788179446451e-18,1.18692912811813e-17,4.48639373342653e-17,2.07675646062988e-17,-4.86918652301601e-17,-3.60256371304745e-17,6.2878817944645e-18,3.08148791101958e-33,6.16297582203915e-33,3.08148791101958e-33,-6.16297582203915e-33,-6.16297582203915e-33,-2.31111593326468e-33,1.86123847527032e-16,1.86123847527032e-16,2.20817050828571e-16,2.20817050828571e-16,1.43262009269394e-16,1.43262009269394e-16,1.86123847527032e-16,2.20817050828571e-16,1.43262009269394e-16,0.000000000000044,0.000000000000052,0.000000000000034,3.60256371304745e-17,0.000000000000052],[0.000000000059789,-0.000000000037568,0.000000000056167,-0.000000000038292,0.00000001382501,-0.000000000059789,0.000000000037568,-0.000000000056167,0.000000000038292,-0.000044999750277,-0.000000013824651,1.48478919953268e-21,1.11488113818236e-19,-9.55363169837144e-20,-5.36663343067496e-20,0.000000000004761,0.000000000000359,0.000000000283246,0.000000000283246,0.000000000283228,0.000000000283228,0.000176336739309,0.000176336739309,0.000000000283246,0.000000000283228,0.000176336739309,0.000000067279366,0.000000067275033,0.041885210857697,0.000044999755037,0.041885210857697],[0.000298032181998,0.000097950184813,0.000000000238725,-0.000000000366718,-0.000000000388124,-0.00029803189005,-0.000097950162791,-0.000000000238725,0.000000000366718,-0.000000000254854,0.000000000388124,0.000000000291948,0.000000000022021,4.13143437460219e-18,4.39451208569068e-18,-5.86748051237846e-18,1.38111270800076e-18,0.001258731565196,0.001258731565196,0.000000001820176,0.000000001820176,0.000000001820099,0.000000001820099,0.001258731565196,0.000000001820176,0.000000001820099,0.298986117289996,0.000000432345854,0.000000432327639,0.000000000254854,0.298986117289996],[2.13517924293292e-16,2.93355147575322e-16,-5.01553148006697e-16,-2.08306078516278e-16,-6.98938121910536e-17,-2.13517924293292e-16,-2.93355147575322e-16,5.01553148006697e-16,2.08306078516278e-16,-3.02986934734141e-16,6.98938121910535e-17,2.46519032881566e-32,9.86076131526265e-32,-1.97215226305253e-31,-4.93038065763132e-32,4.93038065763132e-32,-6.16297582203915e-32,0.000000000000001,0.000000000000001,0.000000000000002,0.000000000000002,0.000000000000001,0.000000000000001,0.000000000000001,0.000000000000002,0.000000000000001,0.000000000000346,0.000000000000536,0.00000000000029,3.02986934734141e-16,0.000000000000536],[0.002195452244943,0.00072149464245,-0.000000000321727,-0.000000002653589,-0.000000002813142,-0.002195432423467,-0.000721493147345,0.000000000321727,0.00000000265359,0.000000000329025,0.000000002813142,0.000000019821476,0.000000001495105,3.36671367844756e-16,4.14529172815374e-17,-2.0429185805315e-16,2.70557379280943e-16,0.009279403316404,0.009279403316404,0.000000011105496,0.000000011105496,0.000000011105491,0.000000011105491,0.009279403316404,0.000000011105496,0.000000011105491,2.20413378439972,0.000002637884986,0.00000263788391,-0.000000000329025,2.20413378439972],[0.000350050374043,0.000115043545806,0.000000000199822,-0.000000000477211,-0.000000000507255,-0.000350049851062,-0.000115043506358,-0.000000000199822,0.000000000477211,-0.000000000214508,0.000000000507255,0.000000000522981,0.000000000039448,8.80814264178294e-18,6.54757233369641e-18,-9.9422612609775e-18,4.34400619524699e-18,0.001477877951143,0.001477877951143,0.000000002157615,0.000000002157615,0.000000002157617,0.000000002157617,0.001477877951143,0.000000002157615,0.000000002157617,0.351039890202458,0.000000512497693,0.000000512498061,0.000000000214508,0.351039890202458],[0.000000005115447,-0.000000003607451,0.00340269956346,0.000001667633651,-0.000000003872561,-0.000000005115783,0.000000003607305,-0.003402230590372,-0.00000162276584,-0.000000005105948,0.000000003872925,-0.000000000000336,-0.000000000000146,0.000000468973088,0.000000044867811,0.000000000000042,0.000000000000364,0.000000025103967,0.000000025103967,0.014195908589993,0.014195908589993,0.000000025103964,0.000000025103964,0.000000025103967,0.014195908589993,0.000000025103964,0.000005962937492,3.371949753293034,0.000005962936712,0.00000000510599,3.371949753293034],[1.77081323767541e-17,-6.11603366724992e-17,-5.88271743116088e-17,1.69075741569723e-17,4.54146718011765e-17,-1.77081323767541e-17,6.11603366724992e-17,5.88271743116088e-17,-1.69075741569723e-17,-4.67638636843474e-17,-4.54146718011765e-17,6.16297582203915e-33,1.23259516440783e-32,1.23259516440783e-32,-1.54074395550979e-32,-1.23259516440783e-32,0.0,2.55359812097328e-16,2.55359812097328e-16,2.55359812097328e-16,2.55359812097328e-16,2.55359812097328e-16,2.55359812097328e-16,2.55359812097328e-16,2.55359812097328e-16,2.55359812097328e-16,0.000000000000061,0.000000000000061,0.000000000000061,4.67638636843474e-17,0.000000000000061],[0.000000000059895,-0.000000000037551,0.000000000056271,-0.000000000038284,0.000000013824659,-0.000000000059895,0.000000000037551,-0.000000000056271,0.000000000038284,-0.000044999711226,-0.000000013821706,7.04464232777723e-20,9.03112316041883e-19,-8.0769033092846e-19,-3.93295501033359e-19,0.000000000039157,0.000000000002954,0.000000000283571,0.000000000283571,0.000000000283569,0.000000000283569,0.000176336739728,0.000176336739728,0.000000000283571,0.000000000283569,0.000176336739728,0.000000067356478,0.000000067356141,0.041885210957341,0.000044999750384,0.041885210957341],[0.00029803189337,0.000097950163034,0.000000000241933,-0.000000000366597,-0.000000000387983,-0.000298031476225,-0.00009795013157,-0.000000000241933,0.000000000366597,-0.000000000258261,0.000000000387983,0.000000000417145,0.000000000031465,5.80932330466624e-18,6.40192299182353e-18,-8.39473085142237e-18,1.88254235750005e-18,0.001258731578156,0.001258731578156,0.000000001827072,0.000000001827072,0.000000001827004,0.000000001827004,0.001258731578156,0.000000001827072,0.000000001827004,0.298986120368256,0.000000433983752,0.000000433967749,0.000000000258261,0.298986120368256],[1.3473764414265e-16,3.36887093629814e-16,-3.48093968424195e-16,-3.72931040188455e-17,-2.99090850789629e-16,-1.3473764414265e-16,-3.36887093629814e-16,3.48093968424195e-16,3.72931040188455e-17,-2.20096428845893e-16,2.99090850789629e-16,-2.46519032881566e-32,-9.86076131526265e-32,4.93038065763132e-32,0.0,-4.93038065763132e-32,0.0,0.000000000000001,0.000000000000001,0.000000000000001,0.000000000000001,0.000000000000001,0.000000000000001,0.000000000000001,0.000000000000001,0.000000000000001,0.000000000000346,0.000000000000346,0.000000000000346,2.20096428845893e-16,0.000000000000346],[0.002195432599874,0.000721493165029,-0.000000000150728,-0.000000002642659,-0.000000002800796,-0.002195415398355,-0.000721491867544,0.000000000150728,0.000000002642659,0.000000000147884,0.000000002800797,0.00000001720152,0.000000001297486,2.86005510260727e-16,5.32431977675176e-17,-1.88987186196073e-16,2.21301521697405e-16,0.009279404011514,0.009279404011514,0.000000010997194,0.000000010997194,0.000000010997192,0.000000010997192,0.009279404011514,0.000000010997194,0.000000010997192,2.204133949509119,0.000002612160116,0.000002612159578,-0.000000000147884,2.204133949509119],[0.000350049856008,0.000115043506737,0.000000000204591,-0.000000000477027,-0.000000000507041,-0.000350049331039,-0.000115043467139,-0.000000000204591,0.000000000477027,-0.000000000219582,0.000000000507041,0.000000000524969,0.000000000039598,8.73042103577079e-18,6.64181322767973e-18,-1.01369625424217e-17,4.25284334372056e-18,0.001477877970463,0.001477877970463,0.000000002164667,0.000000002164667,0.000000002164668,0.000000002164668,0.001477877970463,0.000000002164667,0.000000002164668,0.351039894791388,0.000000514172588,0.000000514172829,0.000000000219582,0.351039894791388],[0.00000000513212,-0.000000003604928,0.00340223060615,0.000001622767523,-0.000000003871075,-0.000000005132396,0.000000003604808,-0.003401845562582,-0.000001585929456,-0.000000005122715,0.000000003871374,-0.000000000000276,-0.00000000000012,0.000000385043568,0.000000036838067,0.000000000000034,0.000000000000299,0.000000025152062,0.000000025152062,0.014195908655832,0.014195908655832,0.000000025152059,0.000000025152059,0.000000025152062,0.014195908655832,0.000000025152059,0.000005974361361,3.371949768931586,0.000005974360801,0.000000005122749,3.371949768931586],[-9.85913018093383e-18,5.43119872373518e-18,-1.9560692467371e-19,-1.08170083435559e-17,5.61477258966876e-18,9.85913018093383e-18,-5.43119872373518e-18,1.9560692467371e-19,1.08170083435559e-17,-1.00635124735996e-17,-5.61477258966876e-18,0.0,0.0,0.0,0.0,0.0,0.0,4.51416636941358e-17,4.51416636941358e-17,4.51416636941358e-17,4.51416636941358e-17,4.51416636941358e-17,4.51416636941358e-17,4.51416636941358e-17,4.51416636941358e-17,4.51416636941358e-17,0.000000000000011,0.000000000000011,0.000000000000011,1.00635124735996e-17,0.000000000000011],[0.000000000059888,-0.000000000037543,0.000000000056265,-0.000000000038277,0.000000013821714,-0.000000000059888,0.000000000037543,-0.000000000056265,0.000000000038277,-0.000044999576264,-0.000000013811534,2.08953357829287e-19,3.09260486171046e-18,-2.78660123311898e-18,-1.35723895720338e-18,0.000000000134954,0.000000000010179,0.000000000283529,0.000000000283529,0.000000000283529,0.000000000283529,0.000176336739698,0.000176336739698,0.000000000283529,0.000000000283529,0.000176336739698,0.000000067346632,0.000000067346654,0.041885210950244,0.000044999711219,0.041885210950244],[0.000298031499203,0.000097950133905,0.000000000264163,-0.000000000365158,-0.00000000038636,-0.000298027095955,-0.000097949801775,-0.000000000264163,0.000000000365158,-0.000000000281845,0.00000000038636,0.000000004403248,0.000000000332131,6.05468430112883e-17,7.14994889244353e-17,-9.22041772571561e-17,1.66402445758936e-17,0.001258731668666,0.001258731668666,0.000000001874737,0.000000001874737,0.000000001874661,0.000000001874661,0.001258731668666,0.000000001874737,0.000000001874661,0.298986141867234,0.000000445305802,0.000000445287739,0.000000000281845,0.298986141867234],[0.002195415539324,0.000721491881563,-0.000000000014083,-0.000000002634036,-0.000000002791047,-0.002195403184929,-0.000721490949688,0.000000000014083,0.000000002634036,0.000000000003137,0.000000002791047,0.000000012354395,0.000000000931874,2.02331260684152e-16,4.89523348246998e-17,-1.44337829807287e-16,1.5075527509049e-16,0.00927940456685,0.00927940456685,0.00000001094368,0.00000001094368,0.000000010943674,0.000000010943674,0.00927940456685,0.00000001094368,0.000000010943674,2.204134081417736,0.000002599448839,0.000002599447482,-0.000000000003137,2.204134081417736],[0.000350049335965,0.000115043467768,0.000000000209346,-0.000000000476602,-0.000000000506573,-0.000350048811353,-0.000115043428197,-0.000000000209346,0.000000000476602,-0.000000000224646,0.000000000506573,0.000000000524612,0.000000000039571,8.74905545041765e-18,6.68142059996272e-18,-1.01735626995878e-17,4.21432960760494e-18,0.001477877990018,0.001477877990018,0.00000000217094,0.00000000217094,0.00000000217095,0.00000000217095,0.001477877990018,0.00000000217094,0.00000000217095,0.35103989943626,0.000000515662592,0.000000515665129,0.000000000224646,0.35103989943626],[0.000000005147617,-0.000000003602632,0.003401845577278,0.000001585930988,-0.00000000386969,-0.000000005147913,0.000000003602502,-0.003401432190576,-0.000001546381264,-0.00000000513833,0.000000003870012,-0.000000000000297,-0.00000000000013,0.000000413386702,0.000000039549725,0.000000000000036,0.000000000000322,0.000000025197029,0.000000025197029,0.014195908717162,0.014195908717162,0.000000025197027,0.000000025197027,0.000000025197029,0.014195908717162,0.000000025197027,0.00000598504258,3.371949783499437,0.000005985041916,0.000000005138366,3.371949783499437],[5.1302519924644e-17,2.31456065790274e-17,-8.13171997047598e-17,-3.09866113608031e-17,1.14502307209049e-17,-5.1302519924644e-17,-2.31456065790274e-17,8.13171997047598e-17,3.09866113608031e-17,-3.3200740119053e-17,-1.14502307209049e-17,-6.16297582203915e-33,0.0,0.0,6.16297582203915e-33,1.23259516440783e-32,-7.70371977754894e-33,2.25708318470679e-16,2.25708318470679e-16,3.63138838343136e-16,3.63138838343136e-16,1.37568707801982e-16,1.37568707801982e-16,2.25708318470679e-16,3.63138838343136e-16,1.37568707801982e-16,0.000000000000054,0.000000000000086,0.000000000000033,3.3200740119053e-17,0.000000000000086],[0.000298027125291,0.00009794980471,0.000000000292544,-0.000000000363364,-0.000000000384335,-0.000298025364103,-0.000097949671866,-0.000000000292544,0.000000000363364,-0.000000000311954,0.000000000384335,0.000000001761188,0.000000000132844,2.34448704710724e-17,3.08853774517797e-17,-3.84634417249213e-17,4.85811605824762e-18,0.001258731784166,0.001258731784166,0.00000000194047,0.00000000194047,0.000000001940388,0.000000001940388,0.001258731784166,0.00000000194047,0.000000001940388,0.298986169301894,0.00000046091914,0.000000460899717,0.000000000311954,0.298986169301894],[0.002195403312077,0.000721490962216,0.000000000109162,-0.000000002626367,-0.000000002782373,-0.0021953889686,-0.000721489880309,-0.000000000109162,0.000000002626367,-0.000000000127421,0.000000002782373,0.000000014343477,0.000000001081908,2.31299168697452e-16,6.76699667363197e-17,-1.74036385565467e-16,1.66501966650166e-16,0.009279405067592,0.009279405067592,0.000000010921082,0.000000010921082,0.000000010921089,0.000000010921089,0.009279405067592,0.000000010921082,0.000000010921089,2.204134200358861,0.000002594081244,0.000002594082788,0.00000000012742,2.204134200358861],[0.00035004881634,0.000115043428555,0.000000000214151,-0.000000000476441,-0.000000000506383,-0.000350048291397,-0.000115043388959,-0.000000000214151,0.000000000476441,-0.000000000229761,0.000000000506383,0.000000000524943,0.000000000039596,8.68204221442289e-18,6.89197135987712e-18,-1.02787673297532e-17,4.0894294710125e-18,0.001477878009471,0.001477878009471,0.000000002178462,0.000000002178462,0.000000002178474,0.000000002178474,0.001477878009471,0.000000002178462,0.000000002178474,0.351039904056966,0.000000517449327,0.000000517452178,0.000000000229761,0.351039904056966],[0.000000005153076,-0.000000003545968,0.003401432197612,0.000001546435355,-0.000000003812354,-0.000000005153076,0.000000003545968,-0.00340021395303,-0.000001464056044,-0.000000005145633,0.000000003812354,3.63738860453964e-18,1.02008326730346e-19,0.000001218244581,0.00000008237931,3.58575847224592e-18,4.81903844344818e-19,0.000000025084785,0.000000025084785,0.014195908746631,0.014195908746631,0.000000025084784,0.000000025084784,0.000000025084785,0.014195908746631,0.000000025084784,0.000005958381154,3.371949790499112,0.000005958380985,0.000000005145633,3.371949790499112],[0.000000000000041,-0.000000000000047,0.000000000000037,-0.000000000000045,-0.000000000000047,-0.000000000000041,0.000000000000047,-0.000000000000037,0.000000000000045,-0.000000000000041,0.000000000000047,1.0097419586829e-28,2.52435489670724e-29,8.83524213847533e-29,1.89326617253043e-29,1.19906857593594e-28,0.0,0.000000000000248,0.000000000000248,0.000000000000242,0.000000000000242,0.000000000000244,0.000000000000244,0.000000000000248,0.000000000000242,0.000000000000244,0.000000000059012,0.000000000057538,0.000000000057955,0.000000000000041,0.000000000059012],[-4.00472557852754e-18,-1.0060339527709e-16,-7.97553128394321e-17,5.47573740699066e-17,4.47312517184036e-17,4.00472557852753e-18,1.0060339527709e-16,7.97553128394321e-17,-5.47573740699066e-17,-9.28663756325943e-17,-4.47312517184036e-17,-1.38666955995881e-32,1.23259516440783e-32,0.0,6.16297582203915e-33,0.0,-6.16297582203915e-33,4.03759314550087e-16,4.03759314550087e-16,4.03759314550087e-16,4.03759314550087e-16,4.03759314550087e-16,4.03759314550087e-16,4.03759314550087e-16,4.03759314550087e-16,4.03759314550087e-16,0.000000000000096,0.000000000000096,0.000000000000096,9.28663756325943e-17,0.000000000000096],[0.000298025376731,0.00009794967313,0.000000000304762,-0.000000000362593,-0.000000000383464,-0.000298024482403,-0.000097949605672,-0.000000000304762,0.000000000362593,-0.000000000324916,0.000000000383464,0.000000000894328,0.000000000067458,1.1792515114405e-17,1.61494463169159e-17,-1.99084014167818e-17,2.20196440659078e-18,0.001258731833888,0.001258731833888,0.000000001970281,0.000000001970281,0.000000001970195,0.000000001970195,0.001258731833888,0.000000001970281,0.000000001970195,0.298986181112208,0.000000468000325,0.000000467979773,0.000000000324916,0.298986181112208],[0.002195389139945,0.000721489897503,0.00000000027526,-0.000000002615737,-0.000000002770365,-0.0021953675313,-0.000721488267594,-0.00000000027526,0.000000002615737,-0.000000000303364,0.000000002770365,0.000000021608644,0.000000001629909,3.42341619392684e-16,1.23335327181224e-16,-2.77668862868696e-16,2.34732783348493e-16,0.009279405742786,0.009279405742786,0.000000010927502,0.000000010927502,0.000000010927502,0.000000010927502,0.009279405742786,0.000000010927502,0.000000010927502,2.204134360737488,0.000002595606101,0.000002595606099,0.000000000303363,2.204134360737488],[0.000350048295221,0.000115043389117,0.000000000217832,-0.000000000476431,-0.000000000506358,-0.000350048038979,-0.000115043369789,-0.000000000217832,0.000000000476431,-0.000000000233677,0.000000000506358,0.000000000256241,0.000000000019328,4.23470730539276e-18,3.29451055671026e-18,-5.01655051046327e-18,2.06478136168496e-18,0.001477878024237,0.001477878024237,0.000000002184764,0.000000002184764,0.00000000218477,0.00000000218477,0.001477878024237,0.000000002184764,0.00000000218477,0.351039907564402,0.000000518946205,0.000000518947777,0.000000000233677,0.351039907564402],[0.000000005180845,-0.000000003544787,0.003400213979727,0.000001464056156,-0.00000000381214,-0.000000005180845,0.000000003544787,-0.003400035746979,-0.000001452003822,-0.000000005174087,0.00000000381214,5.65666634713775e-19,-2.11878178002395e-19,0.000000178232748,0.000000012052334,8.89328346335362e-19,-1.88412718385491e-19,0.000000025173926,0.000000025173926,0.014195908858091,0.014195908858091,0.000000025173927,0.000000025173927,0.000000025173926,0.014195908858091,0.000000025173927,0.000005979554769,3.371949816974279,0.000005979554965,0.000000005174087,3.371949816974279],[0.000000000000047,-0.000000000000047,0.000000000000043,-0.000000000000045,-0.000000000000048,-0.000000000000047,0.000000000000047,-0.000000000000043,0.000000000000045,-0.000000000000047,0.000000000000048,1.38839519318898e-28,2.52435489670724e-29,1.19906857593594e-28,1.89326617253043e-29,1.13595970351826e-28,2.52435489670724e-29,0.000000000000267,0.000000000000267,0.000000000000261,0.000000000000261,0.000000000000263,0.000000000000263,0.000000000000267,0.000000000000261,0.000000000000263,0.000000000063359,0.000000000061889,0.000000000062548,0.000000000000047,0.000000000063359],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],[0.000298024487457,0.000097949606198,0.000000000309655,-0.000000000362266,-0.000000000383096,-0.000298024289559,-0.000097949591271,-0.000000000309655,0.000000000362266,-0.000000000330103,0.000000000383096,0.000000000197898,0.000000000014927,2.62081341021402e-18,3.63079442409395e-18,-4.41008469130018e-18,4.23651510862149e-19,0.001258731853811,0.001258731853811,0.000000001982402,0.000000001982402,0.000000001982309,0.000000001982309,0.001258731853811,0.000000001982402,0.000000001982309,0.29898618584462,0.000000470879213,0.000000470857216,0.000000000330103,0.29898618584462],[0.002195367802393,0.000721488294677,0.000000000538049,-0.000000002599031,-0.000000002751488,-0.002195332498218,-0.000721485631735,-0.000000000538048,0.000000002599031,-0.000000000581734,0.000000002751488,0.000000035304174,0.000000002662943,5.40519574814194e-16,2.58468408425263e-16,-4.94614208165899e-16,3.38711893117255e-16,0.009279406810901,0.009279406810901,0.000000011027047,0.000000011027047,0.000000011027045,0.000000011027045,0.009279406810901,0.000000011027047,0.000000011027045,2.204134614446513,0.000002619251044,0.000002619250578,0.000000000581734,2.204134614446513],[0.000350048067395,0.000115043372819,0.000000000245252,-0.000000000474556,-0.000000000504261,-0.000350042308333,-0.000115042938422,-0.000000000245252,0.000000000474557,-0.000000000262858,0.000000000504261,0.000000005759061,0.000000000434398,9.31683487502189e-17,8.18759414506943e-17,-1.1745896859103e-16,3.97149063830111e-17,0.001477878136305,0.001477878136305,0.000000002227786,0.000000002227786,0.000000002227793,0.000000002227793,0.001477878136305,0.000000002227786,0.000000002227793,0.351039934183725,0.000000529165377,0.000000529167064,0.000000000262858,0.351039934183725],[0.000000005194352,-0.000000003544185,0.003400035759965,0.000001452003902,-0.000000003812008,-0.000000005194352,0.000000003544185,-0.003399533638095,-0.000001418049757,-0.000000005187928,0.000000003812008,1.82348491878742e-18,7.16265204986711e-19,0.000000502121871,0.000000033954145,1.46720830279348e-18,-3.34040346767289e-19,0.000000025217289,0.000000025217289,0.014195908912312,0.014195908912312,0.000000025217289,0.000000025217289,0.000000025217289,0.014195908912312,0.000000025217289,0.000005989854805,3.371949829853252,0.000005989854782,0.000000005187928,3.371949829853252],[0.000000000000044,-0.000000000000052,0.00000000000004,-0.00000000000005,-0.000000000000053,-0.000000000000044,0.000000000000052,-0.00000000000004,0.00000000000005,-0.000000000000044,0.000000000000053,2.39813715187188e-28,4.41762106923767e-29,2.14570166220115e-28,5.04870979341448e-29,2.14570166220115e-28,3.15544362088405e-29,0.000000000000274,0.000000000000274,0.000000000000268,0.000000000000268,0.00000000000027,0.00000000000027,0.000000000000274,0.000000000000268,0.00000000000027,0.00000000006502,0.00000000006366,0.000000000064103,0.000000000000044,0.00000000006502],[1.97202064975652e-17,-1.08612846434146e-17,-1.89270060979245e-17,-1.04753251608957e-17,2.30464002983592e-17,-1.97202064975652e-17,1.08612846434146e-17,1.89270060979245e-17,1.04753251608957e-17,-3.40387219578774e-19,-2.30464002983592e-17,-3.08148791101958e-33,-4.62223186652937e-33,-3.08148791101958e-33,0.0,2.69630192214213e-33,3.08148791101958e-33,9.02833273882716e-17,9.02833273882715e-17,9.02833273882716e-17,9.02833273882715e-17,9.02833273882716e-17,9.02833273882715e-17,9.02833273882716e-17,9.02833273882716e-17,9.02833273882716e-17,0.000000000000021,0.000000000000021,0.000000000000021,3.40387219578776e-19,0.000000000000021],[0.000298024291223,0.000097949591612,0.000000000311268,-0.000000000361991,-0.000000000382798,-0.000298024135369,-0.000097949579856,-0.000000000311268,0.000000000361991,-0.000000000331819,0.000000000382798,0.000000000155854,0.000000000011756,1.95863289259121e-18,2.8415046289565e-18,-3.43318087235745e-18,3.16858306179703e-19,0.001258731860582,0.001258731860582,0.000000001985903,0.000000001985903,0.000000001985826,0.000000001985826,0.001258731860582,0.000000001985903,0.000000001985826,0.298986187452799,0.000000471710866,0.000000471692578,0.000000000331819,0.298986187452799],[0.002141331894579,0.000703736703431,0.000000001871745,-0.00000000244941,-0.000000002586984,-0.002141062366842,-0.000703716373344,-0.000000001871742,0.000000002449414,-0.000000001994239,0.000000002586985,0.000000269527736,0.000000020330087,0.000000000000003,0.000000000000004,-0.000000000000005,8.27818583872265e-16,0.009051150380767,0.009051150380767,0.000000012807566,0.000000012807566,0.000000012807566,0.000000012807566,0.009051150380767,0.000000012807566,0.000000012807566,2.149916935571035,0.000003042177123,0.000003042177145,0.000000001994234,2.149916935571035],[0.000054002058512,0.000017749073422,0.000000000076618,-0.000000000060185,-0.000000000063428,-0.000054001602053,-0.000017749038992,-0.000000000076618,0.000000000060185,-0.000000000081452,0.000000000063428,0.00000000045646,0.00000000003443,4.75975143626618e-18,1.05470997961559e-17,-1.15011780313843e-17,-1.15328064582527e-18,0.000228262162269,0.000228262162269,0.000000000404786,0.000000000404786,0.000000000404786,0.000000000404786,0.000228262162269,0.000000000404786,0.000000000404786,0.054219040427828,0.00000009614868,0.000000096148685,0.000000000081452,0.054219040427828],[0.000350042353253,0.000115042942949,0.000000000288588,-0.000000000471844,-0.000000000501212,-0.000350038608244,-0.000115042660468,-0.000000000288587,0.000000000471845,-0.00000000030898,0.000000000501212,0.000000003745009,0.000000000282481,5.86000171396643e-17,5.94949287483393e-17,-8.0819673839579e-17,2.10138749523094e-17,0.001477878313135,0.001477878313135,0.000000002306676,0.000000002306676,0.000000002306684,0.000000002306684,0.001477878313135,0.000000002306676,0.000000002306684,0.351039976186248,0.000000547903974,0.000000547906003,0.00000000030898,0.351039976186248],[0.000000005216027,-0.000000003543258,0.003399533658928,0.00000141804985,-0.000000003811834,-0.000000005216027,0.000000003543258,-0.003398944041877,-0.000001378179165,-0.000000005210138,0.000000003811834,1.72727636892199e-18,6.99435801834013e-19,0.000000589617051,0.000000039870685,1.42476566556339e-18,-8.83594330329144e-20,0.000000025287045,0.000000025287045,0.01419590899931,0.01419590899931,0.000000025287045,0.000000025287045,0.000000025287045,0.01419590899931,0.000000025287045,0.000006006424038,3.371949850517958,0.000006006423926,0.000000005210138,3.371949850517958],[0.000000000000052,-0.000000000000062,0.000000000000047,-0.000000000000061,-0.000000000000064,-0.000000000000052,0.000000000000062,-0.000000000000047,0.000000000000061,-0.000000000000051,0.000000000000064,1.45150406560666e-28,1.26217744835362e-29,1.38839519318898e-28,2.52435489670724e-29,1.38839519318898e-28,1.26217744835362e-29,0.000000000000325,0.000000000000325,0.00000000000032,0.00000000000032,0.000000000000321,0.000000000000321,0.000000000000325,0.00000000000032,0.000000000000321,0.000000000077104,0.000000000075938,0.000000000076361,0.000000000000051,0.000000000077104],[5.85537767025438e-18,-1.06034037598797e-16,-1.53509984866112e-17,2.69346165200259e-17,8.00557415405176e-17,-5.85537767025438e-18,1.06034037598797e-16,1.53509984866112e-17,-2.69346165200259e-17,-1.42522618290976e-17,-8.00557415405176e-17,0.0,-1.23259516440783e-32,-9.24446373305873e-33,6.16297582203915e-33,1.54074395550979e-32,1.23259516440783e-32,4.25865603560121e-16,4.25865603560121e-16,1.29387303380484e-16,1.29387303380484e-16,3.18511497730058e-16,3.18511497730058e-16,4.25865603560121e-16,1.29387303380484e-16,3.18511497730058e-16,0.000000000000101,0.000000000000031,0.000000000000076,1.42522618290976e-17,0.000000000000101],[0.000298024136741,0.000097949580049,0.000000000312595,-0.000000000361858,-0.000000000382647,-0.000298023969754,-0.000097949567453,-0.000000000312595,0.000000000361858,-0.000000000333224,0.000000000382647,0.000000000166987,0.000000000012596,2.22253514765406e-18,3.08921704657652e-18,-3.83717195442044e-18,3.68085808310265e-19,0.001258731866053,0.001258731866053,0.000000001989087,0.000000001989087,0.000000001988987,0.000000001988987,0.001258731866053,0.000000001989087,0.000000001988987,0.298986188752339,0.000000472467125,0.000000472443523,0.000000000333224,0.298986188752339],[0.000350038641403,0.000115042663821,0.000000000320578,-0.000000000469832,-0.00000000049895,-0.000350035366017,-0.000115042416763,-0.000000000320578,0.000000000469832,-0.000000000343027,0.00000000049895,0.000000003275386,0.000000000247058,5.00302323816528e-17,5.59853910404322e-17,-7.35571434530588e-17,1.52381518792215e-17,0.001477878443686,0.001477878443686,0.000000002372074,0.000000002372074,0.000000002372082,0.000000002372082,0.001477878443686,0.000000002372074,0.000000002372082,0.351040007195863,0.000000563438061,0.00000056343996,0.000000000343027,0.351040007195863],[0.000000005229219,-0.000000003542661,0.003398944054556,0.00000137817925,-0.000000003811696,-0.000000005229219,0.000000003542661,-0.003398867568491,-0.000001373007161,-0.000000005223655,0.000000003811696,-4.5731920935913e-19,-3.38314388992351e-19,0.000000076486065,0.000000005172089,-1.99313304497715e-19,2.30063743769374e-20,0.000000025329482,0.000000025329482,0.014195909052265,0.014195909052265,0.000000025329479,0.000000025329479,0.000000025329482,0.014195909052265,0.000000025329479,0.000006016503956,3.371949863096174,0.000006016503295,0.000000005223655,3.371949863096174],[0.000000000000044,-0.000000000000065,0.000000000000039,-0.000000000000062,-0.000000000000066,-0.000000000000044,0.000000000000065,-0.000000000000039,0.000000000000062,-0.000000000000043,0.000000000000066,6.31088724176809e-29,-2.52435489670724e-29,5.67979851759128e-29,-1.26217744835362e-29,8.20415341429852e-29,2.52435489670724e-29,0.000000000000314,0.000000000000314,0.000000000000307,0.000000000000307,0.000000000000309,0.000000000000309,0.000000000000314,0.000000000000307,0.000000000000309,0.000000000074627,0.000000000073034,0.000000000073314,0.000000000000043,0.000000000074627],[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],[0.000298023971112,0.000097949567438,0.000000000313905,-0.000000000361917,-0.000000000382709,-0.00029802383751,-0.00009794955736,-0.000000000313905,0.000000000361917,-0.000000000334619,0.000000000382709,0.000000000133602,0.000000000010077,1.70413852452645e-18,2.48212898079763e-18,-2.98284430813919e-18,2.99223952893414e-19,0.001258731871211,0.001258731871211,0.000000001992839,0.000000001992839,0.000000001992767,0.000000001992767,0.001258731871211,0.000000001992839,0.000000001992767,0.298986189977565,0.000000473358512,0.000000473341251,0.000000000334619,0.298986189977565],[0.000350035397752,0.000115042419969,0.000000000351196,-0.000000000467909,-0.000000000496788,-0.000350031962087,-0.000115042160822,-0.000000000351196,0.000000000467909,-0.000000000375613,0.000000000496788,0.000000003435665,0.000000000259147,5.1109596012844e-17,6.28810731325372e-17,-7.99784448050926e-17,1.29044686794538e-17,0.001477878568629,0.001477878568629,0.000000002439898,0.000000002439898,0.000000002439907,0.000000002439907,0.001477878568629,0.000000002439898,0.000000002439907,0.351040036873621,0.000000579548098,0.000000579550343,0.000000000375613,0.351040036873621],[0.000000004758249,-0.000000003230869,0.003088860973198,0.000001258911226,-0.00000000347584,-0.000000004758249,0.000000003230869,-0.00308878157245,-0.000001253542043,-0.000000004752927,0.00000000347584,1.81989660929017e-19,7.9747531598533e-19,0.000000079400748,0.000000005369184,1.46346448334107e-19,2.40204978079274e-19,0.000000023064562,0.000000023064562,0.012901117396054,0.012901117396054,0.000000023064558,0.000000023064558,0.000000023064562,0.012901117396054,0.000000023064558,0.000005478518183,3.064398403600054,0.000005478517325,0.000000004752927,3.064398403600054],[0.000000000474078,-0.000000000311668,0.00031000659828,0.00000011409594,-0.000000000335841,-0.000000000474078,0.000000000311668,-0.000310004818861,-0.000000113975613,-0.000000000473913,0.000000000335841,-2.0362188151335e-20,9.17762576494296e-20,0.000000001779419,0.000000000120327,-7.83517883919416e-20,-5.37545906006999e-20,0.000000002275191,0.000000002275191,0.001294791669605,0.001294791669605,0.000000002275193,0.000000002275193,0.000000002275191,0.001294791669605,0.000000002275193,0.00000054042536,0.307551462677735,0.000000540425937,0.000000000473913,0.307551462677735],[0.00000000000001,-0.000000000000007,0.000000000000009,-0.000000000000005,-0.000000000000005,-0.00000000000001,0.000000000000007,-0.000000000000009,0.000000000000005,-0.000000000000011,0.000000000000005,1.57772181044202e-30,0.0,0.0,7.88860905221012e-31,4.73316543132607e-30,-1.57772181044202e-30,0.000000000000048,0.000000000000048,0.000000000000043,0.000000000000043,0.000000000000048,0.000000000000048,0.000000000000048,0.000000000000043,0.000000000000048,0.000000000011478,0.000000000010224,0.000000000011297,0.000000000000011,0.000000000011478],[1.97202064975651e-17,-1.08612846434146e-17,3.91605346724403e-19,2.16289306788334e-17,-1.12284161699007e-17,-1.97202064975651e-17,1.08612846434146e-17,-3.91605346724403e-19,-2.16289306788334e-17,2.01289617339537e-17,1.12284161699007e-17,0.0,1.54074395550979e-33,0.0,0.0,0.0,0.0,9.02833273882716e-17,9.02833273882716e-17,9.02833273882715e-17,9.02833273882715e-17,9.02833273882716e-17,9.02833273882716e-17,9.02833273882716e-17,9.02833273882715e-17,9.02833273882716e-17,0.000000000000021,0.000000000000021,0.000000000000021,-2.01289617339537e-17,0.000000000000021],[0.000298023839039,0.000097949557455,0.00000000031538,-0.000000000361869,-0.000000000382652,-0.000298023709317,-0.00009794954767,-0.00000000031538,0.000000000361869,-0.000000000336193,0.000000000382652,0.000000000129722,0.000000000009785,1.67285941344579e-18,2.40677298209041e-18,-2.97656792014508e-18,2.44340932840827e-19,0.00125873187716,0.00125873187716,0.000000001996715,0.000000001996715,0.000000001996665,0.000000001996665,0.00125873187716,0.000000001996715,0.000000001996665,0.298986191390566,0.000000474279104,0.00000047426711,0.000000000336193,0.298986191390566],[0.000350032006027,0.000115042165263,0.000000000393588,-0.000000000465244,-0.000000000493792,-0.000350026139684,-0.000115041722774,-0.000000000393588,0.000000000465244,-0.000000000420731,0.000000000493792,0.000000005866343,0.00000000044249,8.4234059514058e-17,1.16940833305277e-16,-1.4340276896002e-16,1.45253148208859e-17,0.001477878741625,0.001477878741625,0.000000002541453,0.000000002541453,0.000000002541462,0.000000002541462,0.001477878741625,0.000000002541453,0.000000002541462,0.351040077965242,0.000000603670479,0.000000603672686,0.000000000420731,0.351040077965242],[0.000000004761241,-0.00000000323074,0.003088781575326,0.000001253542056,-0.000000003475816,-0.000000004761241,0.00000000323074,-0.003088708103692,-0.000001248573807,-0.000000004755993,0.000000003475816,-1.90498040709737e-19,-4.90514794521495e-19,0.000000073471634,0.000000004968249,5.7041134270738e-19,2.32398047457998e-19,0.000000023074199,0.000000023074199,0.012901117408065,0.012901117408065,0.000000023074199,0.000000023074199,0.000000023074199,0.012901117408065,0.000000023074199,0.000005480807368,3.064398406452995,0.000005480807298,0.000000004755993,3.064398406452995],[0.000000000474198,-0.000000000311659,0.000310004818977,0.000000113975618,-0.000000000335835,-0.000000000474198,0.000000000311659,-0.000310000654658,-0.000000113694021,-0.000000000474036,0.000000000335835,1.79972787800459e-20,-7.91221003373816e-20,0.000000004164319,0.000000000281597,2.71093970103535e-20,2.83415859303278e-20,0.000000002275574,0.000000002275574,0.001294791670088,0.001294791670088,0.000000002275576,0.000000002275576,0.000000002275574,0.001294791670088,0.000000002275576,0.000000540516375,0.307551462792308,0.000000540516868,0.000000000474036,0.307551462792308],[-1.38041445482956e-16,7.60289925039025e-17,-1.82300838366307e-16,1.31563400164273e-16,-2.22255144311995e-16,1.38041445482956e-16,-7.60289925039026e-17,1.82300838366307e-16,-1.31563400164273e-16,-3.33223868069624e-16,2.22255144311995e-16,-2.46519032881566e-32,-4.93038065763132e-32,-2.46519032881566e-32,2.46519032881566e-32,0.0,-4.93038065763132e-32,6.31983291717901e-16,6.31983291717901e-16,9.38274251513269e-16,9.38274251513269e-16,0.000000000000002,0.000000000000002,6.31983291717901e-16,9.38274251513269e-16,0.000000000000002,0.00000000000015,0.000000000000223,0.000000000000373,3.33223868069624e-16,0.000000000000373],[-7.88808259902603e-17,4.34451385736586e-17,7.57080243916982e-17,4.19013006435822e-17,-9.21856011934364e-17,7.88808259902603e-17,-4.34451385736586e-17,-7.57080243916981e-17,-4.19013006435822e-17,1.36154887831556e-18,9.21856011934364e-17,0.0,1.84889274661175e-32,1.23259516440783e-32,-6.16297582203915e-33,-1.63704045272915e-32,-1.23259516440783e-32,3.61133309553086e-16,3.61133309553086e-16,3.61133309553086e-16,3.61133309553086e-16,3.61133309553086e-16,3.61133309553086e-16,3.61133309553086e-16,3.61133309553086e-16,3.61133309553086e-16,0.000000000000086,0.000000000000086,0.000000000000086,-1.36154887831558e-18,0.000000000000086],[0.000298023710483,0.000097949547871,0.00000000031651,-0.000000000361721,-0.000000000382484,-0.00029802358109,-0.000097949538111,-0.00000000031651,0.000000000361721,-0.000000000337386,0.000000000382484,0.000000000129393,0.00000000000976,1.68529891738888e-18,2.4530632499398e-18,-2.90879758124528e-18,2.78855250694755e-19,0.001258731881855,0.001258731881855,0.000000001999339,0.000000001999339,0.000000001999262,0.000000001999262,0.001258731881855,0.000000001999339,0.000000001999262,0.298986192505741,0.000000474902483,0.000000474884115,0.000000000337386,0.298986192505741],[0.000350026174259,0.000115041726268,0.000000000426945,-0.000000000463149,-0.000000000491436,-0.000350024735371,-0.000115041617734,-0.000000000426945,0.000000000463149,-0.000000000456232,0.000000000491436,0.000000001438888,0.000000000108533,2.01043546102338e-17,3.04948083057336e-17,-3.64533929915138e-17,2.10470202862496e-18,0.001477878877749,0.001477878877749,0.000000002627013,0.000000002627013,0.000000002627018,0.000000002627018,0.001477878877749,0.000000002627013,0.000000002627018,0.351040110298846,0.000000623993625,0.000000623994849,0.000000000456232,0.351040110298846],[0.000000004764922,-0.000000003230602,0.00308870810723,0.000001248573803,-0.000000003475808,-0.000000004764922,0.000000003230602,-0.003088596387166,-0.000001241019145,-0.000000004759764,0.000000003475808,8.06217374289096e-19,2.71037308231575e-19,0.000000111720063,0.000000007554658,2.40502763099793e-19,-4.16992086545638e-19,0.000000023086105,0.000000023086105,0.012901117422843,0.012901117422843,0.000000023086106,0.000000023086106,0.000000023086105,0.012901117422843,0.000000023086106,0.000005483635294,3.064398409963197,0.00000548363555,0.000000004759764,3.064398409963197],[0.000000000474472,-0.000000000311644,0.000310000654921,0.000000113694027,-0.000000000335828,-0.000000000474472,0.000000000311644,-0.000309990775911,-0.000000113025995,-0.000000000474318,0.000000000335828,6.08796659032903e-20,-1.46467320101116e-20,0.00000000987901,0.000000000668032,2.86121773882092e-21,2.47368362183983e-21,0.000000002276458,0.000000002276458,0.001294791671185,0.001294791671185,0.000000002276458,0.000000002276458,0.000000002276458,0.001294791671185,0.000000002276458,0.000000540726376,0.307551463052995,0.000000540726369,0.000000000474318,0.307551463052995],[0.00029802358229,0.000097949538169,0.000000000317654,-0.000000000361683,-0.00000000038244,-0.000298023454411,-0.000097949528524,-0.000000000317654,0.000000000361683,-0.000000000338631,0.00000000038244,0.000000000127879,0.000000000009646,1.61668288971032e-18,2.3722083096167e-18,-2.91862329785028e-18,2.10990406409973e-19,0.001258731886503,0.001258731886503,0.000000002002359,0.000000002002359,0.000000002002363,0.000000002002363,0.001258731886503,0.000000002002359,0.000000002002363,0.298986193609836,0.000000475619735,0.000000475620735,0.000000000338631,0.298986193609836],[0.000055002236882,0.000018077771858,0.00000000008492,-0.000000000071145,-0.000000000075418,-0.000055002197687,-0.000018077768901,-0.00000000008492,0.000000000071145,-0.000000000090669,0.000000000075418,0.000000000039195,0.000000000002956,4.84097087889608e-19,9.93490560907916e-19,-1.11429795000112e-18,-7.38123245878272e-20,0.00023223157522,0.00023223157522,0.000000000462018,0.000000000462018,0.000000000462024,0.000000000462024,0.00023223157522,0.000000000462018,0.000000000462024,0.05516189385169,0.000000109743005,0.000000109744516,0.000000000090669,0.05516189385169],[0.000295022533241,0.000096963849186,0.000000000375547,-0.000000000390091,-0.000000000413857,-0.000295018457156,-0.000096963398465,-0.000000000375547,0.000000000390091,-0.00000000040124,0.000000000413857,0.000000004076085,0.000000000450721,-1.69967044537522e-16,-2.7086618963675e-16,3.19520789950647e-16,-1.17796885933328e-17,0.001245647439106,0.001245647439106,0.000000002258235,0.000000002258235,0.000000002258234,0.000000002258234,0.001245647439106,0.000000002258235,0.000000002258234,0.29587824888808,0.000000536397853,0.000000536397683,0.000000000401241,0.29587824888808],[0.000000004769911,-0.000000003230337,0.003088596391962,0.000001241019216,-0.000000003475714,-0.000000004769911,0.000000003230337,-0.003088455208346,-0.000001231472193,-0.000000004764878,0.000000003475714,5.47447981722295e-19,-2.15588083049696e-20,0.000000141183616,0.000000009547023,6.77401364676826e-19,2.48753476119703e-19,0.000000023102072,0.000000023102072,0.012901117442873,0.012901117442873,0.000000023102072,0.000000023102072,0.000000023102072,0.012901117442873,0.000000023102072,0.000005487427987,3.064398414720939,0.000005487427869,0.000000004764878,3.064398414720939],[0.00029802346599,0.000097949529668,0.00000000032886,-0.000000000360992,-0.000000000381661,-0.000298021179243,-0.000097949357182,-0.00000000032886,0.000000000360992,-0.000000000350515,0.000000000381661,0.000000002286747,0.000000000172486,2.93354552753328e-17,4.38350404364701e-17,-5.25754026580895e-17,3.50659744272096e-18,0.001258731932075,0.001258731932075,0.000000002031295,0.000000002031295,0.000000002031296,0.000000002031296,0.001258731932075,0.000000002031295,0.000000002031296,0.298986204434545,0.00000048249294,0.00000048249304,0.000000000350515,0.298986204434545],[0.000055002198228,0.000018077768939,0.000000000085441,-0.000000000071129,-0.000000000075398,-0.000055002133873,-0.000018077764085,-0.000000000085441,0.000000000071129,-0.000000000091223,0.000000000075398,0.000000000064355,0.000000000004854,7.98629452659691e-19,1.66924053703996e-18,-1.81672443626451e-18,-1.42053910867536e-19,0.000232231577327,0.000232231577327,0.000000000463642,0.000000000463642,0.000000000463647,0.000000000463647,0.000232231577327,0.000000000463642,0.000000000463647,0.055161894352311,0.000000110128665,0.000000110130033,0.000000000091223,0.055161894352311],[0.000295018495083,0.00009696340343,0.000000000412181,-0.000000000386703,-0.000000000410114,-0.000295015038014,-0.000096963021158,-0.000000000412181,0.000000000386703,-0.000000000440225,0.000000000410114,0.000000003457069,0.000000000382272,-1.38011801711031e-16,-2.47116742630438e-16,2.83098333152151e-16,3.96693157031648e-18,0.00124564758985,0.00124564758985,0.000000002357068,0.000000002357068,0.000000002357067,0.000000002357067,0.00124564758985,0.000000002357068,0.000000002357067,0.295878284694328,0.000000559873574,0.000000559873347,0.000000000440225,0.295878284694328],[0.000000004783615,-0.000000003229766,0.003088455221514,0.000001231472237,-0.000000003475619,-0.000000004783615,0.000000003229766,-0.003087905596425,-0.000001194305862,-0.000000004778921,0.000000003475619,1.2074909612447e-18,6.75928569596175e-19,0.000000549625089,0.000000037166376,1.43054104060023e-18,-3.18278420195091e-19,0.000000023146314,0.000000023146314,0.012901117497879,0.012901117497879,0.000000023146315,0.000000023146315,0.000000023146314,0.012901117497879,0.000000023146315,0.000005497936855,3.064398427786606,0.000005497936923,0.000000004778921,3.064398427786606],[0.000245019435489,0.000080528986631,0.000000000294108,-0.0000000002952,-0.000000000311994,-0.000245012157556,-0.000080528437667,-0.000000000294107,0.0000000002952,-0.000000000313356,0.000000000311994,0.000000007277933,0.000000000548964,9.01966905605996e-17,1.48940478463267e-16,-1.74094871835967e-16,3.60899919723015e-18,0.001034871404024,0.001034871404024,0.000000001733361,0.000000001733361,0.000000001733361,0.000000001733361,0.001034871404024,0.000000001733361,0.000000001733361,0.245812682814125,0.000000411724692,0.000000411724747,0.000000000313356,0.245812682814125],[0.000053001790172,0.000017420375197,0.000000000079662,-0.000000000062954,-0.000000000066463,-0.00005300159965,-0.000017420360826,-0.000000000079662,0.000000000062954,-0.000000000084803,0.000000000066463,0.000000000190523,0.000000000014371,2.1273376839158e-18,4.68263380134817e-18,-5.10897479949915e-18,-5.04538349337625e-19,0.000223860710822,0.000223860710822,0.000000000422351,0.000000000422351,0.000000000422351,0.000000000422351,0.000223860710822,0.000000000422351,0.000000000422351,0.053173565034192,0.00000010032101,0.000000100320973,0.000000000084803,0.053173565034192],[0.000055002134157,0.00001807776416,0.000000000085717,-0.000000000071069,-0.000000000075334,-0.000055002121433,-0.000018077763201,-0.000000000085717,0.000000000071069,-0.000000000091516,0.000000000075334,0.000000000012724,0.00000000000096,1.62420984554364e-19,3.30439487389178e-19,-3.67620493366309e-19,-1.78352677022592e-20,0.000232231578504,0.000232231578504,0.000000000464368,0.000000000464368,0.000000000464372,0.000000000464372,0.000232231578504,0.000000000464368,0.000000000464372,0.055161894631834,0.000000110301087,0.00000011030224,0.000000000091516,0.055161894631834],[0.000295015084675,0.000096963027266,0.000000000457251,-0.000000000382535,-0.000000000405509,-0.00029500927405,-0.000096962384745,-0.000000000457251,0.000000000382534,-0.000000000488187,0.000000000405509,0.000000005810625,0.000000000642521,-2.19468993523173e-16,-4.51246155129185e-16,5.00558778344151e-16,3.55931145045083e-17,0.001245647775309,0.001245647775309,0.00000000248627,0.00000000248627,0.00000000248627,0.00000000248627,0.001245647775309,0.00000000248627,0.00000000248627,0.2958783287464,0.000000590562825,0.000000590562912,0.000000000488188,0.2958783287464],[0.000000004814281,-0.000000003228454,0.003087905625886,0.000001194305992,-0.000000003475374,-0.000000004814281,0.000000003228454,-0.003086907195788,-0.000001126790827,-0.000000004810343,0.000000003475374,3.76909064730911e-18,1.75497947481701e-19,0.000000998430098,0.000000067515164,3.68098350436303e-18,-8.75860191601773e-21,0.000000023245405,0.000000023245405,0.012901117620965,0.012901117620965,0.000000023245405,0.000000023245405,0.000000023245405,0.012901117620965,0.000000023245405,0.00000552147385,3.064398457023187,0.000005521473829,0.000000004810343,3.064398457023187],[0.000245012215168,0.000080528443433,0.000000000349848,-0.000000000291676,-0.000000000308015,-0.000245007381786,-0.000080528078858,-0.000000000349848,0.000000000291676,-0.00000000037249,0.000000000308015,0.000000004833382,0.000000000364575,5.52274335544285e-17,1.13688552541886e-16,-1.26054560039985e-16,-9.01360737830348e-18,0.001034871630861,0.001034871630861,0.000000001894685,0.000000001894685,0.000000001894685,0.000000001894685,0.001034871630861,0.000000001894685,0.000000001894685,0.24581273669461,0.000000450043933,0.000000450043892,0.00000000037249,0.24581273669461],[0.000055002121765,0.000018077763226,0.000000000086034,-0.000000000071054,-0.000000000075315,-0.000055002111013,-0.000018077762415,-0.000000000086034,0.000000000071054,-0.000000000091857,0.000000000075315,0.000000000010752,0.000000000000811,1.32838214114901e-19,2.56376720946203e-19,-2.99048099465064e-19,-1.58661125552884e-20,0.000232231579802,0.000232231579802,0.000000000465347,0.000000000465347,0.000000000465357,0.000000000465357,0.000232231579802,0.000000000465347,0.000000000465357,0.055161894940142,0.000000110533677,0.000000110536077,0.000000000091857,0.055161894940142],[0.000055002110743,0.000018077762403,0.000000000085775,-0.000000000071051,-0.000000000075316,-0.000055002101682,-0.00001807776172,-0.000000000085775,0.000000000071051,-0.000000000091585,0.000000000075316,0.00000000000906,0.000000000000683,1.16764285355405e-19,2.44229806295409e-19,-2.62400198468026e-19,-2.00185721550017e-20,0.000232231578756,0.000232231578756,0.000000000464506,0.000000000464506,0.000000000464536,0.000000000464536,0.000232231578756,0.000000000464506,0.000000000464536,0.055161894691575,0.000000110333865,0.000000110341126,0.000000000091585,0.055161894691575],[0.000055002101894,0.000018077761822,0.000000000085986,-0.000000000070972,-0.000000000075229,-0.000055002090108,-0.000018077760933,-0.000000000085986,0.000000000070972,-0.000000000091795,0.000000000075229,0.000000000011786,0.000000000000889,1.55651015303804e-19,2.99060067734552e-19,-3.41512269240481e-19,-1.74454329891994e-20,0.000232231579691,0.000232231579691,0.000000000464974,0.000000000464974,0.000000000464957,0.000000000464957,0.000232231579691,0.000000000464974,0.000000000464957,0.055161894913617,0.000000110445116,0.000000110441177,0.000000000091795,0.055161894913617],[0.000055002090149,0.000018077760815,0.00000000008602,-0.000000000071083,-0.000000000075347,-0.000055002068818,-0.000018077759206,-0.00000000008602,0.000000000071083,-0.000000000091836,0.000000000075347,0.000000000021331,0.000000000001609,2.50723587694257e-19,5.49088694467294e-19,-6.07199541291125e-19,-5.83404282179056e-20,0.000232231579702,0.000232231579702,0.000000000465379,0.000000000465379,0.000000000465374,0.000000000465374,0.000232231579702,0.000000000465379,0.000000000465374,0.055161894916244,0.00000011054124,0.000000110540259,0.000000000091836,0.055161894916244],[0.00005500206913,0.00001807775927,0.000000000086322,-0.000000000071032,-0.000000000075291,-0.000055002032146,-0.000018077756481,-0.000000000086322,0.000000000071032,-0.000000000092158,0.000000000075291,0.000000000036984,0.00000000000279,4.55024338921269e-19,9.67812367303038e-19,-1.05700019587003e-18,-8.48728796757005e-20,0.00023223158097,0.00023223158097,0.000000000466216,0.000000000466216,0.000000000466212,0.000000000466212,0.00023223158097,0.000000000466216,0.000000000466212,0.055161895217583,0.000000110740035,0.000000110739207,0.000000000092158,0.055161895217583],[0.000055002033743,0.000018077756621,0.000000000087863,-0.000000000070954,-0.000000000075204,-0.000055001730801,-0.000018077733771,-0.000000000087863,0.000000000070954,-0.000000000093798,0.000000000075204,0.000000000302941,0.00000000002285,3.7059106567458e-18,7.95464565285775e-18,-8.74142430860124e-18,-7.65694571561948e-19,0.000232231587232,0.000232231587232,0.000000000470991,0.000000000470991,0.00000000047099,0.00000000047099,0.000232231587232,0.000000000470991,0.00000000047099,0.055161896705002,0.000000111874329,0.000000111874201,0.000000000093798,0.055161896705002]]}", + "orient": "split", "dtype": { "p_a_from_mw": "float64", "q_a_from_mvar": "float64", @@ -1651,13 +1837,13 @@ "loading_percentC": "float64", "p_c_from_mw": "float64", "loading_percent": "float64" - }, - "orient": "split" + } }, "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_percentA\",\"loading_percentB\",\"loading_percentC\",\"loading_percent\",\"va_c_degreehv_ka\"],\"index\":[0],\"data\":[[0.019075743622902,-0.004611336425087,0.02595723036445,0.004768463220608,0.014393270757447,0.006038202280986,-0.019056096646239,0.004657599446127,-0.025958576085043,-0.004655633204981,-0.014393540842842,-0.006016983607228,0.000019646976664,0.00004626302104,-0.000001345720592,0.000112830015627,-0.000000270085396,0.000021218673759,null,0.077819994316197,0.003957716269168,0.104651149188996,0.002340674586396,0.061892836344048,7.008985608189707,9.425577642242464,5.574479964915465,9.425577642242464,0.002943010754861]]}", + "orient": "split", "dtype": { "p_a_hv_mw": "float64", "q_a_hv_mvar": "float64", @@ -1688,13 +1874,123 @@ "loading_percentC": "float64", "loading_percent": "float64", "va_c_degreehv_ka": "float64" - }, - "orient": "split" + } + }, + "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\":[0],\"data\":[[0.019075743622902,-0.004611336425087,0.02595723036445,0.004768463220608,0.014393270757447,0.006038202280986]]}", + "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" + } + }, + "res_shunt_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"p_a_mw\",\"p_b_mw\",\"p_c_mw\",\"q_a_mvar\",\"q_b_mvar\",\"q_c_mvar\",\"vm_pu\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "p_a_mw": "float64", + "p_b_mw": "float64", + "p_c_mw": "float64", + "q_a_mvar": "float64", + "q_b_mvar": "float64", + "q_c_mvar": "float64", + "vm_pu": "float64" + } + }, + "res_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" + } + }, + "res_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" + } + }, + "res_storage_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"p_a_mw\",\"p_b_mw\",\"p_c_mw\",\"q_a_mvar\",\"q_b_mvar\",\"q_c_mvar\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "p_a_mw": "float64", + "p_b_mw": "float64", + "p_c_mw": "float64", + "q_a_mvar": "float64", + "q_b_mvar": "float64", + "q_c_mvar": "float64" + } + }, + "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\":[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],\"data\":[[0.000574000005145,0.000188664678717,0.0,0.0,0.0,0.0],[0.0,0.0,0.000044000000344,0.000000014462101,0.0,0.0],[0.000114000002213,0.000037469988456,0.0,0.0,0.0,0.0],[0.000230999998166,0.00007592602924,0.0,0.0,0.0,0.0],[0.000035000000935,0.000011503943824,0.0,0.0,0.0,0.0],[0.0,0.0,0.00039500001003,0.000000129830227,0.0,0.0],[0.0,0.0,0.00005500000043,0.000000018077627,0.0,0.0],[0.0,0.0,0.0,0.0,0.002835999941453,0.000000932148112],[0.000130999993416,0.000043057618313,0.0,0.0,0.0,0.0],[0.0,0.0,0.002797999884933,0.000000919658135,0.0,0.0],[0.0,0.0,0.000048999998398,0.00000001610552,0.0,0.0],[0.0,0.0,0.0,0.0,0.000285999994958,0.000000094003653],[0.0,0.0,0.002211000071838,0.000000726720543,0.0,0.0],[0.000209999998333,0.000069023662945,0.0,0.0,0.0,0.0],[0.0,0.0,0.002331000054255,0.000000766162657,0.0,0.0],[0.0,0.0,0.0,0.0,0.000509999983478,0.000000167628897],[0.0,0.0,0.0,0.0,0.000048000001698,0.000000015776838],[0.0,0.0,0.0,0.0,0.000410999986343,0.000000135089167],[0.0,0.0,0.0,0.0,0.000456999987364,0.000000150208635],[0.000050999999075,0.000016762889572,0.0,0.0,0.0,0.0],[0.000045000000682,0.000014790784917,0.0,0.0,0.0,0.0],[0.000054000000091,0.0000177489419,0.0,0.0,0.0,0.0],[0.0,0.0,0.000236000007135,0.000000077569446,0.0,0.0],[0.0,0.0,0.0,0.0,0.000075000003562,0.000000024651309],[0.000234000006458,0.000076912081568,0.0,0.0,0.0,0.0],[0.0,0.0,0.012659000232816,0.000004160812296,0.0,0.0],[0.0,0.0,0.0,0.0,0.000155000001541,0.000000050946035],[0.0,0.0,0.0,0.0,0.000028000000384,0.000000009203155],[0.010471000336111,0.00344165135175,0.0,0.0,0.0,0.0],[0.000052999999753,0.000017420257791,0.0,0.0,0.0,0.0],[0.00228299992159,0.000750385806896,0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.000606000015978,0.000000199182566],[0.0,0.0,0.0,0.0,0.000303000007989,0.000000099591283],[0.000058000001445,0.000019063678337,0.0,0.0,0.0,0.0],[0.0,0.0,0.005570000037551,0.000001830770429,0.0,0.0],[0.0,0.0,0.000155999994604,0.000000051274721,0.0,0.0],[0.0,0.0,0.001062999945134,0.0000003493912,0.0,0.0],[0.0,0.0,0.000391999987187,0.000000128844164,0.0,0.0],[0.0,0.0,0.0,0.0,0.000048000001698,0.000000015776838],[0.0,0.0,0.00042699999176,0.000000140348106,0.0,0.0],[0.0,0.0,0.000065000000177,0.000000021364468,0.0,0.0],[0.0,0.0,0.0,0.0,0.000365999992937,0.000000120298381],[0.0,0.0,0.0,0.0,0.000049999998737,0.000000016434205],[0.0,0.0,0.00167699996382,0.000000551203243,0.0,0.0],[0.0,0.0,0.000172999993083,0.000000056862351,0.0,0.0],[0.000048999998398,0.000016105521354,0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.000045000000682,0.000000014790785],[0.002141000004485,0.000703712692484,0.0,0.0,0.0,0.0],[0.000054000000091,0.0000177489419,0.0,0.0,0.0,0.0],[0.0,0.0,0.000310000003083,0.00000010189207,0.0,0.0],[0.000052999999753,0.000017420257791,0.0,0.0,0.0,0.0],[0.000295000005281,0.000096961812233,0.0,0.0,0.0,0.0],[0.0,0.0,0.003086999990046,0.000001014647864,0.0,0.0],[0.000245000002906,0.000080527606769,0.0,0.0,0.0,0.0],[0.00005500000043,0.000018077626009,0.0,0.0,0.0,0.0]]}", + "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" + } + }, + "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" + } + }, + "user_pf_options": {}, + "res_switch": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"pf_closed\",\"pf_in_service\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "pf_closed": "bool", + "pf_in_service": "bool" + } }, "res_trafo3w_3ph": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"p_a_hv_mw\",\"p_b_hv_mw\",\"p_c_hv_mw\",\"q_a_hv_mvar\",\"q_b_hv_mvar\",\"q_c_hv_mvar\",\"p_a_mv_mw\",\"p_b_mv_mw\",\"p_c_mv_mw\",\"q_a_mv_mvar\",\"q_b_mv_mvar\",\"q_c_mv_mvar\",\"p_a_lv_mw\",\"p_b_lv_mw\",\"p_c_lv_mw\",\"q_a_lv_mvar\",\"q_b_lv_mvar\",\"q_c_lv_mvar\",\"pl_a_mw\",\"pl_b_mw\",\"pl__Cmw\",\"ql_a_mvar\",\"ql_b_mvar\",\"ql_c_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_a_hv_mw": "float64", "p_b_hv_mw": "float64", @@ -1732,13 +2028,13 @@ "va_internal_degree": "float64", "vm_internal_pu": "float64", "loading_percent": "float64" - }, - "orient": "split" + } }, "res_impedance_3ph": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"p_a_from_mw\",\"p_b_from_mw\",\"p_c_from_mw\",\"q_a_from_mvar\",\"q_b_from_mvar\",\"q_c_from_mvar\",\"p_a_to_mw\",\"p_b_to_mw\",\"p_c_to_mw\",\"q_a_to_mvar\",\"q_b_to_mvar\",\"q_c_to_mvar\",\"pl_a_mw\",\"pl_b_mw\",\"pl_c_mw\",\"ql_a_mvar\",\"ql_b_mvar\",\"ql_c_mvar\",\"i_from_ka\",\"i_to_ka\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "p_a_from_mw": "float64", "p_b_from_mw": "float64", @@ -1760,84 +2056,13 @@ "ql_c_mvar": "float64", "i_from_ka": "float64", "i_to_ka": "float64" - }, - "orient": "split" - }, - "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\":[0],\"data\":[[0.019075743622902,-0.004611336425087,0.02595723036445,0.004768463220608,0.014393270757447,0.006038202280986]]}", - "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" - }, - "orient": "split" - }, - "res_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\":[]}", - "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" - }, - "orient": "split" - }, - "res_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\":[]}", - "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" - }, - "orient": "split" - }, - "res_storage_3ph": { - "_module": "pandas.core.frame", - "_class": "DataFrame", - "_object": "{\"columns\":[\"p_a_mw\",\"p_b_mw\",\"p_c_mw\",\"q_a_mvar\",\"q_b_mvar\",\"q_c_mvar\"],\"index\":[],\"data\":[]}", - "dtype": { - "p_a_mw": "float64", - "p_b_mw": "float64", - "p_c_mw": "float64", - "q_a_mvar": "float64", - "q_b_mvar": "float64", - "q_c_mvar": "float64" - }, - "orient": "split" - }, - "res_shunt_3ph": { - "_module": "pandas.core.frame", - "_class": "DataFrame", - "_object": "{\"columns\":[\"p_a_mw\",\"p_b_mw\",\"p_c_mw\",\"q_a_mvar\",\"q_b_mvar\",\"q_c_mvar\",\"vm_pu\"],\"index\":[],\"data\":[]}", - "dtype": { - "p_a_mw": "float64", - "p_b_mw": "float64", - "p_c_mw": "float64", - "q_a_mvar": "float64", - "q_b_mvar": "float64", - "q_c_mvar": "float64", - "vm_pu": "float64" - }, - "orient": "split" + } }, "res_gen_3ph": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"p_a_mw\",\"q_a_mvar\",\"va_a_degree\",\"vm_a_pu\",\"p_b_mw\",\"q_b_mvar\",\"va_b_degree\",\"vm_b_pu\",\"p_c_mw\",\"q_c_mvar\",\"va_c_degree\",\"vm_c_pu\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "p_a_mw": "float64", "q_a_mvar": "float64", @@ -1851,13 +2076,13 @@ "q_c_mvar": "float64", "va_c_degree": "float64", "vm_c_pu": "float64" - }, - "orient": "split" + } }, "res_ward_3ph": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"p_a_mw\",\"p_b_mw\",\"p_c_mw\",\"q_a_mvar\",\"q_b_mvar\",\"q_c_mvar\",\"vm_pu\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "p_a_mw": "float64", "p_b_mw": "float64", @@ -1866,13 +2091,13 @@ "q_b_mvar": "float64", "q_c_mvar": "float64", "vm_pu": "float64" - }, - "orient": "split" + } }, "res_xward_3ph": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"p_a_mw\",\"p_b_mw\",\"p_c_mw\",\"q_a_mvar\",\"q_b_mvar\",\"q_c_mvar\",\"vm_pu\",\"va_internal_degree\",\"vm_internal_pu\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "p_a_mw": "float64", "p_b_mw": "float64", @@ -1883,13 +2108,13 @@ "vm_pu": "float64", "va_internal_degree": "float64", "vm_internal_pu": "float64" - }, - "orient": "split" + } }, "res_dcline_3ph": { "_module": "pandas.core.frame", "_class": "DataFrame", "_object": "{\"columns\":[\"p_a_from_mw\",\"p_b_from_mw\",\"p_c_from_mw\",\"q_a_from_mvar\",\"q_b_from_mvar\",\"q_c_from_mvar\",\"p_a_to_mw\",\"p_b_to_mw\",\"p_c_to_mw\",\"q_a_to_mvar\",\"q_b_to_mvar\",\"q_c_to_mvar\",\"pl_a_mw\",\"pl_b_mw\",\"pl_c_mw\",\"vm_from_pu\",\"va_from_degree\",\"vm_to_pu\",\"va_to_degree\"],\"index\":[],\"data\":[]}", + "orient": "split", "dtype": { "p_a_from_mw": "float64", "p_b_from_mw": "float64", @@ -1910,36 +2135,7 @@ "va_from_degree": "float64", "vm_to_pu": "float64", "va_to_degree": "float64" - }, - "orient": "split" - }, - "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\":[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],\"data\":[[0.000574000005145,0.000188664678717,0.0,0.0,0.0,0.0],[0.0,0.0,0.000044000000344,0.000000014462101,0.0,0.0],[0.000114000002213,0.000037469988456,0.0,0.0,0.0,0.0],[0.000230999998166,0.00007592602924,0.0,0.0,0.0,0.0],[0.000035000000935,0.000011503943824,0.0,0.0,0.0,0.0],[0.0,0.0,0.00039500001003,0.000000129830227,0.0,0.0],[0.0,0.0,0.00005500000043,0.000000018077627,0.0,0.0],[0.0,0.0,0.0,0.0,0.002835999941453,0.000000932148112],[0.000130999993416,0.000043057618313,0.0,0.0,0.0,0.0],[0.0,0.0,0.002797999884933,0.000000919658135,0.0,0.0],[0.0,0.0,0.000048999998398,0.00000001610552,0.0,0.0],[0.0,0.0,0.0,0.0,0.000285999994958,0.000000094003653],[0.0,0.0,0.002211000071838,0.000000726720543,0.0,0.0],[0.000209999998333,0.000069023662945,0.0,0.0,0.0,0.0],[0.0,0.0,0.002331000054255,0.000000766162657,0.0,0.0],[0.0,0.0,0.0,0.0,0.000509999983478,0.000000167628897],[0.0,0.0,0.0,0.0,0.000048000001698,0.000000015776838],[0.0,0.0,0.0,0.0,0.000410999986343,0.000000135089167],[0.0,0.0,0.0,0.0,0.000456999987364,0.000000150208635],[0.000050999999075,0.000016762889572,0.0,0.0,0.0,0.0],[0.000045000000682,0.000014790784917,0.0,0.0,0.0,0.0],[0.000054000000091,0.0000177489419,0.0,0.0,0.0,0.0],[0.0,0.0,0.000236000007135,0.000000077569446,0.0,0.0],[0.0,0.0,0.0,0.0,0.000075000003562,0.000000024651309],[0.000234000006458,0.000076912081568,0.0,0.0,0.0,0.0],[0.0,0.0,0.012659000232816,0.000004160812296,0.0,0.0],[0.0,0.0,0.0,0.0,0.000155000001541,0.000000050946035],[0.0,0.0,0.0,0.0,0.000028000000384,0.000000009203155],[0.010471000336111,0.00344165135175,0.0,0.0,0.0,0.0],[0.000052999999753,0.000017420257791,0.0,0.0,0.0,0.0],[0.00228299992159,0.000750385806896,0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.000606000015978,0.000000199182566],[0.0,0.0,0.0,0.0,0.000303000007989,0.000000099591283],[0.000058000001445,0.000019063678337,0.0,0.0,0.0,0.0],[0.0,0.0,0.005570000037551,0.000001830770429,0.0,0.0],[0.0,0.0,0.000155999994604,0.000000051274721,0.0,0.0],[0.0,0.0,0.001062999945134,0.0000003493912,0.0,0.0],[0.0,0.0,0.000391999987187,0.000000128844164,0.0,0.0],[0.0,0.0,0.0,0.0,0.000048000001698,0.000000015776838],[0.0,0.0,0.00042699999176,0.000000140348106,0.0,0.0],[0.0,0.0,0.000065000000177,0.000000021364468,0.0,0.0],[0.0,0.0,0.0,0.0,0.000365999992937,0.000000120298381],[0.0,0.0,0.0,0.0,0.000049999998737,0.000000016434205],[0.0,0.0,0.00167699996382,0.000000551203243,0.0,0.0],[0.0,0.0,0.000172999993083,0.000000056862351,0.0,0.0],[0.000048999998398,0.000016105521354,0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0,0.000045000000682,0.000000014790785],[0.002141000004485,0.000703712692484,0.0,0.0,0.0,0.0],[0.000054000000091,0.0000177489419,0.0,0.0,0.0,0.0],[0.0,0.0,0.000310000003083,0.00000010189207,0.0,0.0],[0.000052999999753,0.000017420257791,0.0,0.0,0.0,0.0],[0.000295000005281,0.000096961812233,0.0,0.0,0.0,0.0],[0.0,0.0,0.003086999990046,0.000001014647864,0.0,0.0],[0.000245000002906,0.000080527606769,0.0,0.0,0.0,0.0],[0.00005500000043,0.000018077626009,0.0,0.0,0.0,0.0]]}", - "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" - }, - "orient": "split" - }, - "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\":[]}", - "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" - }, - "orient": "split" + } }, "OPF_converged": false } diff --git a/pandapower/networks/mv_oberrhein.json b/pandapower/networks/mv_oberrhein.json index 7940d7db0..c179b0b3f 100644 --- a/pandapower/networks/mv_oberrhein.json +++ b/pandapower/networks/mv_oberrhein.json @@ -134,7 +134,7 @@ "gen": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"p_mw\",\"qmax_mvar\",\"qmin_mvar\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"p_mw\",\"qmax_mvar\",\"qmin_mvar\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"slack_weight\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "bus": "uint32", @@ -147,7 +147,8 @@ "sn_mva": "float64", "type": "object", "vm_pu": "float64", - "slack": "bool" + "slack": "bool", + "slack_weight": "float64" } }, "switch": { @@ -185,7 +186,7 @@ "ext_grid": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"rx_max\",\"rx_min\",\"s_sc_max_mva\",\"s_sc_min_mva\",\"va_degree\",\"vm_pu\"],\"index\":[0,1],\"data\":[[58,true,\"External Grid 0\",null,null,null,null,0.0,1.0],[318,true,\"External Grid 1\",null,null,null,null,0.0,1.0]]}", + "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"rx_max\",\"rx_min\",\"s_sc_max_mva\",\"s_sc_min_mva\",\"va_degree\",\"vm_pu\",\"slack_weight\"],\"index\":[0,1],\"data\":[[58,true,\"External Grid 0\",null,null,null,null,0.0,1.0,1.0],[318,true,\"External Grid 1\",null,null,null,null,0.0,1.0,1.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -196,7 +197,8 @@ "s_sc_max_mva": "float64", "s_sc_min_mva": "float64", "va_degree": "float64", - "vm_pu": "float64" + "vm_pu": "float64", + "slack_weight": "float64" } }, "line": { @@ -350,7 +352,7 @@ "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\",\"in_service\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"ps_mw\",\"qs_mvar\",\"qz_mvar\",\"pz_mw\",\"r_ohm\",\"x_ohm\",\"vm_pu\",\"in_service\",\"slack_weight\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "name": "object", @@ -362,7 +364,8 @@ "r_ohm": "float64", "x_ohm": "float64", "vm_pu": "float64", - "in_service": "bool" + "in_service": "bool", + "slack_weight": "float64" } }, "measurement": { @@ -387,7 +390,7 @@ "orient": "split", "dtype": { "power_type": "object", - "element": "object", + "element": "uint32", "et": "object", "points": "object" } @@ -398,7 +401,7 @@ "_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": "object", + "element": "uint32", "et": "object", "cp0_eur": "float64", "cp1_eur_per_mw": "float64", @@ -442,7 +445,7 @@ "coords": "object" } }, - "version": "2.6.0", + "version": "2.7.1", "converged": true, "name": "", "f_hz": 50.0, diff --git a/pandapower/networks/mv_oberrhein_substations.json b/pandapower/networks/mv_oberrhein_substations.json index 9fc64518f..b9c40249e 100644 --- a/pandapower/networks/mv_oberrhein_substations.json +++ b/pandapower/networks/mv_oberrhein_substations.json @@ -134,7 +134,7 @@ "gen": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"p_mw\",\"qmax_mvar\",\"qmin_mvar\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"p_mw\",\"qmax_mvar\",\"qmin_mvar\",\"scaling\",\"sn_mva\",\"type\",\"vm_pu\",\"slack\",\"slack_weight\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "bus": "uint32", @@ -147,7 +147,8 @@ "sn_mva": "float64", "type": "object", "vm_pu": "float64", - "slack": "bool" + "slack": "bool", + "slack_weight": "float64" } }, "switch": { @@ -185,7 +186,7 @@ "ext_grid": { "_module": "pandas.core.frame", "_class": "DataFrame", - "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"rx_max\",\"rx_min\",\"s_sc_max_mva\",\"s_sc_min_mva\",\"va_degree\",\"vm_pu\"],\"index\":[0,1],\"data\":[[58,true,\"External Grid 0\",null,null,null,null,0.0,1.0],[318,true,\"External Grid 1\",null,null,null,null,0.0,1.0]]}", + "_object": "{\"columns\":[\"bus\",\"in_service\",\"name\",\"rx_max\",\"rx_min\",\"s_sc_max_mva\",\"s_sc_min_mva\",\"va_degree\",\"vm_pu\",\"slack_weight\"],\"index\":[0,1],\"data\":[[58,true,\"External Grid 0\",null,null,null,null,0.0,1.0,1.0],[318,true,\"External Grid 1\",null,null,null,null,0.0,1.0,1.0]]}", "orient": "split", "dtype": { "bus": "uint32", @@ -196,7 +197,8 @@ "s_sc_max_mva": "float64", "s_sc_min_mva": "float64", "va_degree": "float64", - "vm_pu": "float64" + "vm_pu": "float64", + "slack_weight": "float64" } }, "line": { @@ -350,7 +352,7 @@ "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\",\"in_service\"],\"index\":[],\"data\":[]}", + "_object": "{\"columns\":[\"name\",\"bus\",\"ps_mw\",\"qs_mvar\",\"qz_mvar\",\"pz_mw\",\"r_ohm\",\"x_ohm\",\"vm_pu\",\"in_service\",\"slack_weight\"],\"index\":[],\"data\":[]}", "orient": "split", "dtype": { "name": "object", @@ -362,7 +364,8 @@ "r_ohm": "float64", "x_ohm": "float64", "vm_pu": "float64", - "in_service": "bool" + "in_service": "bool", + "slack_weight": "float64" } }, "measurement": { @@ -387,7 +390,7 @@ "orient": "split", "dtype": { "power_type": "object", - "element": "object", + "element": "uint32", "et": "object", "points": "object" } @@ -398,7 +401,7 @@ "_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": "object", + "element": "uint32", "et": "object", "cp0_eur": "float64", "cp1_eur_per_mw": "float64", @@ -442,7 +445,7 @@ "coords": "object" } }, - "version": "2.6.0", + "version": "2.7.1", "converged": true, "name": "", "f_hz": 50.0, diff --git a/pandapower/networks/power_system_test_case_jsons/GBnetwork.json b/pandapower/networks/power_system_test_case_jsons/GBnetwork.json index 091c09b03..436c1eb1b 100644 --- a/pandapower/networks/power_system_test_case_jsons/GBnetwork.json +++ b/pandapower/networks/power_system_test_case_jsons/GBnetwork.json @@ -391,7 +391,7 @@ "orient": "split", "dtype": { "power_type": "object", - "element": "object", + "element": "uint32", "et": "object", "points": "object" } @@ -399,10 +399,10 @@ "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\":[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],\"data\":[[0.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[1.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[10.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[100.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[101.0,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[102.0,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[103.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[104.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[105.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[106.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[107.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[108.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[109.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[11.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[110.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[111.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[112.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[113.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[114.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[115.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[116.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[117.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[118.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[119.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[12.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[120.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[121.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[122.0,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[123.0,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[124.0,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[125.0,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[126.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[127.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[128.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[129.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[13.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[130.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[131.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[132.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[133.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[134.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[135.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[136.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[137.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[138.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[139.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[14.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[140.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[141.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[142.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[143.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[144.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[145.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[146.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[147.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[148.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[149.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[15.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[150.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[151.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[152.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[153.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[154.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[155.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[156.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[157.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[158.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[159.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[16.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[160.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[161.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[162.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[163.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[164.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[165.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[166.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[167.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[168.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[169.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[17.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[170.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[171.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[172.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[173.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[174.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[175.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[176.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[177.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[178.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[179.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[18.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[180.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[181.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[182.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[183.0,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[184.0,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[185.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[186.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[187.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[188.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[189.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[19.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[190.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[191.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[192.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[193.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[194.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[195.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[196.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[197.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[198.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[199.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[2.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[20.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[200.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[201.0,\"gen\",1.0,1.5,0.1,0.0,0.0,0.0],[202.0,\"gen\",1.0,1.5,0.1,0.0,0.0,0.0],[203.0,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[204.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[0.0,\"ext_grid\",1.0,2.0,0.1,0.0,0.0,0.0],[205.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[206.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[207.0,\"gen\",0.0,0.1,0.1,0.0,0.0,0.0],[208.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[21.0,\"gen\",0.0,2.0,0.1,0.0,0.0,0.0],[209.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[210.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[211.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[212.0,\"gen\",0.0,0.1,0.1,0.0,0.0,0.0],[213.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[214.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[215.0,\"gen\",0.0,0.1,0.1,0.0,0.0,0.0],[216.0,\"gen\",0.0,0.1,0.1,0.0,0.0,0.0],[217.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[218.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[22.0,\"gen\",0.0,2.0,0.1,0.0,0.0,0.0],[219.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[220.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[221.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[222.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[223.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[224.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[225.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[226.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[227.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[228.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[23.0,\"gen\",0.0,2.0,0.1,0.0,0.0,0.0],[229.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[230.0,\"gen\",1.0,1.5,0.1,0.0,0.0,0.0],[231.0,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[232.0,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[233.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[234.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[235.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[236.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[237.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[238.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[24.0,\"gen\",0.0,2.0,0.1,0.0,0.0,0.0],[239.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[240.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[241.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[242.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[243.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[244.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[245.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[246.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[247.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[248.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[25.0,\"gen\",0.0,2.0,0.1,0.0,0.0,0.0],[249.0,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[250.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[251.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[252.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[253.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[254.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[255.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[256.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[257.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[258.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[26.0,\"gen\",0.0,2.0,0.1,0.0,0.0,0.0],[259.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[260.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[261.0,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[262.0,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[263.0,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[264.0,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[265.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[266.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[267.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[268.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[27.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[269.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[270.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[271.0,\"gen\",0.0,2.0,0.1,0.0,0.0,0.0],[272.0,\"gen\",0.0,2.0,0.1,0.0,0.0,0.0],[273.0,\"gen\",0.0,2.0,0.1,0.0,0.0,0.0],[274.0,\"gen\",0.0,2.0,0.1,0.0,0.0,0.0],[275.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[276.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[277.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[278.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[28.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[279.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[280.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[281.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[282.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[283.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[284.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[285.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[286.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[287.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[288.0,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[29.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[289.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[290.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[291.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[292.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[293.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[294.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[295.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[296.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[297.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[298.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[3.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[30.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[299.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[300.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[301.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[302.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[303.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[304.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[305.0,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[306.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[307.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[308.0,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[31.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[309.0,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[310.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[311.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[312.0,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[313.0,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[314.0,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[315.0,\"gen\",0.0,2.0,0.1,0.0,0.0,0.0],[316.0,\"gen\",0.0,2.0,0.1,0.0,0.0,0.0],[317.0,\"gen\",0.0,2.0,0.1,0.0,0.0,0.0],[318.0,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[32.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[319.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[320.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[321.0,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[322.0,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[323.0,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[324.0,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[325.0,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[326.0,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[327.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[328.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[33.0,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[329.0,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[330.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[331.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[332.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[333.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[334.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[335.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[336.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[337.0,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[338.0,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[34.0,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[339.0,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[340.0,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[341.0,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[342.0,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[343.0,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[344.0,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[345.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[346.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[347.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[348.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[35.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[349.0,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[350.0,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[351.0,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[352.0,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[353.0,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[354.0,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[355.0,\"gen\",1.0,1.5,0.1,0.0,0.0,0.0],[356.0,\"gen\",1.0,1.5,0.1,0.0,0.0,0.0],[357.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[358.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[36.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[359.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[360.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[361.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[362.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[363.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[364.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[365.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[366.0,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[367.0,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[368.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[37.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[369.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[370.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[371.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[372.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[373.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[374.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[375.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[376.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[377.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[378.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[38.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[379.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[380.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[381.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[382.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[383.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[384.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[385.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[386.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[387.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[388.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[39.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[389.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[390.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[391.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[392.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[4.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[40.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[41.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[42.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[43.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[44.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[45.0,\"gen\",0.0,2.0,0.1,0.0,0.0,0.0],[46.0,\"gen\",0.0,2.0,0.1,0.0,0.0,0.0],[47.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[48.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[49.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[5.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[50.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[51.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[52.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[53.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[54.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[55.0,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[56.0,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[57.0,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[58.0,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[59.0,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[6.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[60.0,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[61.0,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[62.0,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[63.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[64.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[65.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[66.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[67.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[68.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[69.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[7.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[70.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[71.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[72.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[73.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[74.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[75.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[76.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[77.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[78.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[79.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[8.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[80.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[81.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[82.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[83.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[84.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[85.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[86.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[87.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[88.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[89.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[9.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[90.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[91.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[92.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[93.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[94.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[95.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[96.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[97.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[98.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[99.0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0]]}", + "_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\":[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],\"data\":[[0,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[1,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[10,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[100,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[101,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[102,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[103,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[104,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[105,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[106,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[107,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[108,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[109,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[11,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[110,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[111,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[112,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[113,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[114,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[115,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[116,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[117,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[118,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[119,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[12,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[120,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[121,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[122,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[123,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[124,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[125,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[126,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[127,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[128,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[129,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[13,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[130,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[131,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[132,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[133,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[134,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[135,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[136,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[137,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[138,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[139,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[14,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[140,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[141,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[142,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[143,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[144,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[145,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[146,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[147,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[148,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[149,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[15,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[150,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[151,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[152,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[153,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[154,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[155,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[156,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[157,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[158,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[159,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[16,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[160,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[161,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[162,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[163,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[164,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[165,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[166,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[167,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[168,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[169,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[17,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[170,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[171,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[172,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[173,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[174,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[175,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[176,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[177,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[178,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[179,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[18,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[180,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[181,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[182,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[183,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[184,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[185,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[186,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[187,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[188,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[189,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[19,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[190,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[191,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[192,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[193,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[194,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[195,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[196,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[197,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[198,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[199,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[2,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[20,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[200,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[201,\"gen\",1.0,1.5,0.1,0.0,0.0,0.0],[202,\"gen\",1.0,1.5,0.1,0.0,0.0,0.0],[203,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[204,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[0,\"ext_grid\",1.0,2.0,0.1,0.0,0.0,0.0],[205,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[206,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[207,\"gen\",0.0,0.1,0.1,0.0,0.0,0.0],[208,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[21,\"gen\",0.0,2.0,0.1,0.0,0.0,0.0],[209,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[210,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[211,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[212,\"gen\",0.0,0.1,0.1,0.0,0.0,0.0],[213,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[214,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[215,\"gen\",0.0,0.1,0.1,0.0,0.0,0.0],[216,\"gen\",0.0,0.1,0.1,0.0,0.0,0.0],[217,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[218,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[22,\"gen\",0.0,2.0,0.1,0.0,0.0,0.0],[219,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[220,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[221,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[222,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[223,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[224,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[225,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[226,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[227,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[228,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[23,\"gen\",0.0,2.0,0.1,0.0,0.0,0.0],[229,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[230,\"gen\",1.0,1.5,0.1,0.0,0.0,0.0],[231,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[232,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[233,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[234,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[235,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[236,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[237,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[238,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[24,\"gen\",0.0,2.0,0.1,0.0,0.0,0.0],[239,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[240,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[241,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[242,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[243,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[244,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[245,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[246,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[247,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[248,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[25,\"gen\",0.0,2.0,0.1,0.0,0.0,0.0],[249,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[250,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[251,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[252,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[253,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[254,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[255,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[256,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[257,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[258,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[26,\"gen\",0.0,2.0,0.1,0.0,0.0,0.0],[259,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[260,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[261,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[262,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[263,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[264,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[265,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[266,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[267,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[268,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[27,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[269,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[270,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[271,\"gen\",0.0,2.0,0.1,0.0,0.0,0.0],[272,\"gen\",0.0,2.0,0.1,0.0,0.0,0.0],[273,\"gen\",0.0,2.0,0.1,0.0,0.0,0.0],[274,\"gen\",0.0,2.0,0.1,0.0,0.0,0.0],[275,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[276,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[277,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[278,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[28,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[279,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[280,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[281,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[282,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[283,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[284,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[285,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[286,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[287,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[288,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[29,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[289,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[290,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[291,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[292,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[293,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[294,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[295,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[296,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[297,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[298,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[3,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[30,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[299,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[300,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[301,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[302,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[303,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[304,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[305,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[306,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[307,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[308,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[31,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[309,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[310,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[311,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[312,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[313,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[314,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[315,\"gen\",0.0,2.0,0.1,0.0,0.0,0.0],[316,\"gen\",0.0,2.0,0.1,0.0,0.0,0.0],[317,\"gen\",0.0,2.0,0.1,0.0,0.0,0.0],[318,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[32,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[319,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[320,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[321,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[322,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[323,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[324,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[325,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[326,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[327,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[328,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[33,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[329,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[330,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[331,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[332,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[333,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[334,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[335,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[336,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[337,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[338,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[34,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[339,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[340,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[341,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[342,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[343,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[344,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[345,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[346,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[347,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[348,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[35,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[349,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[350,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[351,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[352,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[353,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[354,\"gen\",0.0,1.5,0.1,0.0,0.0,0.0],[355,\"gen\",1.0,1.5,0.1,0.0,0.0,0.0],[356,\"gen\",1.0,1.5,0.1,0.0,0.0,0.0],[357,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[358,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[36,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[359,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[360,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[361,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[362,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[363,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[364,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[365,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[366,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[367,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[368,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[37,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[369,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[370,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[371,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[372,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[373,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[374,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[375,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[376,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[377,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[378,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[38,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[379,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[380,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[381,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[382,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[383,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[384,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[385,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[386,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[387,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[388,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[39,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[389,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[390,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[391,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[392,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[4,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[40,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[41,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[42,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[43,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[44,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[45,\"gen\",0.0,2.0,0.1,0.0,0.0,0.0],[46,\"gen\",0.0,2.0,0.1,0.0,0.0,0.0],[47,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[48,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[49,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[5,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[50,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[51,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[52,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[53,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[54,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[55,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[56,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[57,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[58,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[59,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[6,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[60,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[61,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[62,\"gen\",0.1,0.5,0.1,0.0,0.0,0.0],[63,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[64,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[65,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[66,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[67,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[68,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[69,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[7,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[70,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[71,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[72,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[73,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[74,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[75,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[76,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[77,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[78,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[79,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[8,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[80,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[81,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[82,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[83,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[84,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[85,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[86,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[87,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[88,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[89,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[9,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[90,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[91,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[92,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[93,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[94,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[95,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[96,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[97,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[98,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0],[99,\"gen\",1.0,2.0,0.1,0.0,0.0,0.0]]}", "orient": "split", "dtype": { - "element": "object", + "element": "uint32", "et": "object", "cp0_eur": "float64", "cp1_eur_per_mw": "float64", @@ -423,7 +423,7 @@ "order": "float64", "level": "object", "initial_run": "bool", - "recycle": "bool" + "recycle": "object" } }, "line_geodata": { diff --git a/pandapower/networks/power_system_test_case_jsons/GBreducednetwork.json b/pandapower/networks/power_system_test_case_jsons/GBreducednetwork.json index 3161766da..372ab5a0c 100644 --- a/pandapower/networks/power_system_test_case_jsons/GBreducednetwork.json +++ b/pandapower/networks/power_system_test_case_jsons/GBreducednetwork.json @@ -397,7 +397,7 @@ "orient": "split", "dtype": { "power_type": "object", - "element": "object", + "element": "uint32", "et": "object", "points": "object" } @@ -405,10 +405,10 @@ "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\":[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],\"data\":[[0.0,\"gen\",0.01,0.01,0.0,0.0,0.0,0.0],[1.0,\"gen\",395.370000000000005,4.42,0.0,0.0,0.0,0.0],[10.0,\"gen\",0.01,0.01,0.0,0.0,0.0,0.0],[11.0,\"gen\",0.01,0.01,0.0,0.0,0.0,0.0],[12.0,\"gen\",382.240000000000009,12.380000000000001,0.33,0.0,0.0,0.0],[13.0,\"gen\",86.379999999999995,56.560000000000009,0.33,0.0,0.0,0.0],[14.0,\"gen\",400.680000000000007,130.0,0.0,0.0,0.0,0.0],[15.0,\"gen\",86.379999999999995,118.000000000000014,0.0,0.0,0.0,0.0],[16.0,\"gen\",400.680000000000007,130.0,0.0,0.0,0.0,0.0],[17.0,\"gen\",0.01,0.01,0.0,0.0,0.0,0.0],[18.0,\"gen\",395.370000000000005,4.42,0.0,0.0,0.0,0.0],[19.0,\"gen\",0.01,0.01,0.0,0.0,0.0,0.0],[2.0,\"gen\",86.379999999999995,56.560000000000009,0.33,0.0,0.0,0.0],[20.0,\"gen\",0.01,0.01,0.0,0.0,0.0,0.0],[21.0,\"gen\",86.379999999999995,118.000000000000014,0.0,0.0,0.0,0.0],[22.0,\"gen\",400.680000000000007,16.379999999999999,0.39,0.0,0.0,0.0],[23.0,\"gen\",86.379999999999995,118.000000000000014,0.0,0.0,0.0,0.0],[24.0,\"gen\",400.680000000000007,130.0,0.0,0.0,0.0,0.0],[25.0,\"gen\",639.980000000000018,19.379999999999999,0.1,0.0,0.0,0.0],[26.0,\"gen\",0.01,0.01,0.0,0.0,0.0,0.0],[27.0,\"gen\",86.379999999999995,118.000000000000014,0.0,0.0,0.0,0.0],[28.0,\"gen\",382.240000000000009,12.380000000000001,0.33,0.0,0.0,0.0],[29.0,\"gen\",400.680000000000007,130.0,0.0,0.0,0.0,0.0],[3.0,\"gen\",0.01,0.01,0.0,0.0,0.0,0.0],[30.0,\"gen\",400.680000000000007,130.0,0.0,0.0,0.0,0.0],[31.0,\"gen\",382.149999999999977,10.300000000000001,0.01,0.0,0.0,0.0],[32.0,\"gen\",400.680000000000007,130.0,0.0,0.0,0.0,0.0],[33.0,\"gen\",400.680000000000007,130.0,0.0,0.0,0.0,0.0],[34.0,\"gen\",86.379999999999995,56.560000000000009,0.33,0.0,0.0,0.0],[35.0,\"gen\",382.240000000000009,12.380000000000001,0.33,0.0,0.0,0.0],[36.0,\"gen\",382.240000000000009,12.380000000000001,0.33,0.0,0.0,0.0],[37.0,\"gen\",400.680000000000007,130.0,0.0,0.0,0.0,0.0],[38.0,\"gen\",400.680000000000007,130.0,0.0,0.0,0.0,0.0],[39.0,\"gen\",382.240000000000009,12.380000000000001,0.33,0.0,0.0,0.0],[4.0,\"gen\",0.01,0.01,0.0,0.0,0.0,0.0],[40.0,\"gen\",382.240000000000009,12.380000000000001,0.33,0.0,0.0,0.0],[41.0,\"gen\",400.680000000000007,130.0,0.0,0.0,0.0,0.0],[42.0,\"gen\",400.680000000000007,130.0,0.0,0.0,0.0,0.0],[43.0,\"gen\",0.01,0.01,0.0,0.0,0.0,0.0],[44.0,\"gen\",392.149999999999977,10.300000000000001,0.01,0.0,0.0,0.0],[45.0,\"gen\",0.01,0.01,0.0,0.0,0.0,0.0],[46.0,\"gen\",400.680000000000007,130.0,0.0,0.0,0.0,0.0],[47.0,\"gen\",400.680000000000007,130.0,0.0,0.0,0.0,0.0],[48.0,\"gen\",382.240000000000009,12.380000000000001,0.33,0.0,0.0,0.0],[49.0,\"gen\",639.980000000000018,19.379999999999999,0.1,0.0,0.0,0.0],[5.0,\"gen\",400.680000000000007,130.0,0.0,0.0,0.0,0.0],[50.0,\"gen\",382.149999999999977,10.300000000000001,0.01,0.0,0.0,0.0],[51.0,\"gen\",400.680000000000007,130.0,0.0,0.0,0.0,0.0],[52.0,\"gen\",650.0,130.0,0.0,0.0,0.0,0.0],[53.0,\"gen\",400.680000000000007,130.0,0.0,0.0,0.0,0.0],[54.0,\"gen\",665.110000000000014,11.84,0.33,0.0,0.0,0.0],[55.0,\"gen\",382.240000000000009,12.380000000000001,0.33,0.0,0.0,0.0],[56.0,\"gen\",400.680000000000007,16.379999999999999,0.39,0.0,0.0,0.0],[57.0,\"gen\",400.680000000000007,130.0,0.0,0.0,0.0,0.0],[58.0,\"gen\",665.110000000000014,11.84,0.33,0.0,0.0,0.0],[0.0,\"ext_grid\",86.379999999999995,118.000000000000014,0.0,0.0,0.0,0.0],[6.0,\"gen\",400.680000000000007,130.0,0.0,0.0,0.0,0.0],[0.0,\"sgen\",0.01,0.01,0.0,0.0,0.0,0.0],[59.0,\"gen\",400.680000000000007,130.0,0.0,0.0,0.0,0.0],[60.0,\"gen\",400.680000000000007,130.0,0.0,0.0,0.0,0.0],[61.0,\"gen\",86.379999999999995,118.000000000000014,0.0,0.0,0.0,0.0],[62.0,\"gen\",400.680000000000007,130.0,0.0,0.0,0.0,0.0],[63.0,\"gen\",650.0,130.0,0.0,0.0,0.0,0.0],[7.0,\"gen\",0.01,0.01,0.0,0.0,0.0,0.0],[8.0,\"gen\",0.01,0.01,0.0,0.0,0.0,0.0],[9.0,\"gen\",395.370000000000005,4.42,0.0,0.0,0.0,0.0]]}", + "_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\":[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],\"data\":[[0,\"gen\",0.01,0.01,0.0,0.0,0.0,0.0],[1,\"gen\",395.370000000000005,4.42,0.0,0.0,0.0,0.0],[10,\"gen\",0.01,0.01,0.0,0.0,0.0,0.0],[11,\"gen\",0.01,0.01,0.0,0.0,0.0,0.0],[12,\"gen\",382.240000000000009,12.380000000000001,0.33,0.0,0.0,0.0],[13,\"gen\",86.379999999999995,56.560000000000009,0.33,0.0,0.0,0.0],[14,\"gen\",400.680000000000007,130.0,0.0,0.0,0.0,0.0],[15,\"gen\",86.379999999999995,118.000000000000014,0.0,0.0,0.0,0.0],[16,\"gen\",400.680000000000007,130.0,0.0,0.0,0.0,0.0],[17,\"gen\",0.01,0.01,0.0,0.0,0.0,0.0],[18,\"gen\",395.370000000000005,4.42,0.0,0.0,0.0,0.0],[19,\"gen\",0.01,0.01,0.0,0.0,0.0,0.0],[2,\"gen\",86.379999999999995,56.560000000000009,0.33,0.0,0.0,0.0],[20,\"gen\",0.01,0.01,0.0,0.0,0.0,0.0],[21,\"gen\",86.379999999999995,118.000000000000014,0.0,0.0,0.0,0.0],[22,\"gen\",400.680000000000007,16.379999999999999,0.39,0.0,0.0,0.0],[23,\"gen\",86.379999999999995,118.000000000000014,0.0,0.0,0.0,0.0],[24,\"gen\",400.680000000000007,130.0,0.0,0.0,0.0,0.0],[25,\"gen\",639.980000000000018,19.379999999999999,0.1,0.0,0.0,0.0],[26,\"gen\",0.01,0.01,0.0,0.0,0.0,0.0],[27,\"gen\",86.379999999999995,118.000000000000014,0.0,0.0,0.0,0.0],[28,\"gen\",382.240000000000009,12.380000000000001,0.33,0.0,0.0,0.0],[29,\"gen\",400.680000000000007,130.0,0.0,0.0,0.0,0.0],[3,\"gen\",0.01,0.01,0.0,0.0,0.0,0.0],[30,\"gen\",400.680000000000007,130.0,0.0,0.0,0.0,0.0],[31,\"gen\",382.149999999999977,10.300000000000001,0.01,0.0,0.0,0.0],[32,\"gen\",400.680000000000007,130.0,0.0,0.0,0.0,0.0],[33,\"gen\",400.680000000000007,130.0,0.0,0.0,0.0,0.0],[34,\"gen\",86.379999999999995,56.560000000000009,0.33,0.0,0.0,0.0],[35,\"gen\",382.240000000000009,12.380000000000001,0.33,0.0,0.0,0.0],[36,\"gen\",382.240000000000009,12.380000000000001,0.33,0.0,0.0,0.0],[37,\"gen\",400.680000000000007,130.0,0.0,0.0,0.0,0.0],[38,\"gen\",400.680000000000007,130.0,0.0,0.0,0.0,0.0],[39,\"gen\",382.240000000000009,12.380000000000001,0.33,0.0,0.0,0.0],[4,\"gen\",0.01,0.01,0.0,0.0,0.0,0.0],[40,\"gen\",382.240000000000009,12.380000000000001,0.33,0.0,0.0,0.0],[41,\"gen\",400.680000000000007,130.0,0.0,0.0,0.0,0.0],[42,\"gen\",400.680000000000007,130.0,0.0,0.0,0.0,0.0],[43,\"gen\",0.01,0.01,0.0,0.0,0.0,0.0],[44,\"gen\",392.149999999999977,10.300000000000001,0.01,0.0,0.0,0.0],[45,\"gen\",0.01,0.01,0.0,0.0,0.0,0.0],[46,\"gen\",400.680000000000007,130.0,0.0,0.0,0.0,0.0],[47,\"gen\",400.680000000000007,130.0,0.0,0.0,0.0,0.0],[48,\"gen\",382.240000000000009,12.380000000000001,0.33,0.0,0.0,0.0],[49,\"gen\",639.980000000000018,19.379999999999999,0.1,0.0,0.0,0.0],[5,\"gen\",400.680000000000007,130.0,0.0,0.0,0.0,0.0],[50,\"gen\",382.149999999999977,10.300000000000001,0.01,0.0,0.0,0.0],[51,\"gen\",400.680000000000007,130.0,0.0,0.0,0.0,0.0],[52,\"gen\",650.0,130.0,0.0,0.0,0.0,0.0],[53,\"gen\",400.680000000000007,130.0,0.0,0.0,0.0,0.0],[54,\"gen\",665.110000000000014,11.84,0.33,0.0,0.0,0.0],[55,\"gen\",382.240000000000009,12.380000000000001,0.33,0.0,0.0,0.0],[56,\"gen\",400.680000000000007,16.379999999999999,0.39,0.0,0.0,0.0],[57,\"gen\",400.680000000000007,130.0,0.0,0.0,0.0,0.0],[58,\"gen\",665.110000000000014,11.84,0.33,0.0,0.0,0.0],[0,\"ext_grid\",86.379999999999995,118.000000000000014,0.0,0.0,0.0,0.0],[6,\"gen\",400.680000000000007,130.0,0.0,0.0,0.0,0.0],[0,\"sgen\",0.01,0.01,0.0,0.0,0.0,0.0],[59,\"gen\",400.680000000000007,130.0,0.0,0.0,0.0,0.0],[60,\"gen\",400.680000000000007,130.0,0.0,0.0,0.0,0.0],[61,\"gen\",86.379999999999995,118.000000000000014,0.0,0.0,0.0,0.0],[62,\"gen\",400.680000000000007,130.0,0.0,0.0,0.0,0.0],[63,\"gen\",650.0,130.0,0.0,0.0,0.0,0.0],[7,\"gen\",0.01,0.01,0.0,0.0,0.0,0.0],[8,\"gen\",0.01,0.01,0.0,0.0,0.0,0.0],[9,\"gen\",395.370000000000005,4.42,0.0,0.0,0.0,0.0]]}", "orient": "split", "dtype": { - "element": "object", + "element": "uint32", "et": "object", "cp0_eur": "float64", "cp1_eur_per_mw": "float64", @@ -429,7 +429,7 @@ "order": "float64", "level": "object", "initial_run": "bool", - "recycle": "bool" + "recycle": "object" } }, "line_geodata": { diff --git a/pandapower/networks/power_system_test_case_jsons/case118.json b/pandapower/networks/power_system_test_case_jsons/case118.json index adb514172..cf8c1b81e 100644 --- a/pandapower/networks/power_system_test_case_jsons/case118.json +++ b/pandapower/networks/power_system_test_case_jsons/case118.json @@ -394,7 +394,7 @@ "orient": "split", "dtype": { "power_type": "object", - "element": "object", + "element": "uint32", "et": "object", "points": "object" } @@ -402,10 +402,10 @@ "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\":[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],\"data\":[[0.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[1.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[10.0,\"gen\",0.0,20.0,0.0454545,0.0,0.0,0.0],[11.0,\"gen\",0.0,20.0,0.0318471,0.0,0.0,0.0],[12.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[13.0,\"gen\",0.0,20.0,1.42857,0.0,0.0,0.0],[14.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[15.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[16.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[17.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[18.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[19.0,\"gen\",0.0,20.0,0.526316,0.0,0.0,0.0],[2.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[20.0,\"gen\",0.0,20.0,0.0490196,0.0,0.0,0.0],[21.0,\"gen\",0.0,20.0,0.208333,0.0,0.0,0.0],[22.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[23.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[24.0,\"gen\",0.0,20.0,0.0645161,0.0,0.0,0.0],[25.0,\"gen\",0.0,20.0,0.0625,0.0,0.0,0.0],[26.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[27.0,\"gen\",0.0,20.0,0.0255754,0.0,0.0,0.0],[28.0,\"gen\",0.0,20.0,0.0255102,0.0,0.0,0.0],[0.0,\"ext_grid\",0.0,20.0,0.0193648,0.0,0.0,0.0],[3.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[29.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[30.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[31.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[32.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[33.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[34.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[35.0,\"gen\",0.0,20.0,0.0209644,0.0,0.0,0.0],[36.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[37.0,\"gen\",0.0,20.0,2.5,0.0,0.0,0.0],[38.0,\"gen\",0.0,20.0,0.0164745,0.0,0.0,0.0],[4.0,\"gen\",0.0,20.0,0.0222222,0.0,0.0,0.0],[39.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[40.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[41.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[42.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[43.0,\"gen\",0.0,20.0,0.0396825,0.0,0.0,0.0],[44.0,\"gen\",0.0,20.0,0.25,0.0,0.0,0.0],[45.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[46.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[47.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[48.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[5.0,\"gen\",0.0,20.0,0.117647,0.0,0.0,0.0],[49.0,\"gen\",0.0,20.0,0.277778,0.0,0.0,0.0],[50.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[51.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[52.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[6.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[7.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[8.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[9.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0]]}", + "_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\":[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],\"data\":[[0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[1,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[10,\"gen\",0.0,20.0,0.0454545,0.0,0.0,0.0],[11,\"gen\",0.0,20.0,0.0318471,0.0,0.0,0.0],[12,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[13,\"gen\",0.0,20.0,1.42857,0.0,0.0,0.0],[14,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[15,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[16,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[17,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[18,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[19,\"gen\",0.0,20.0,0.526316,0.0,0.0,0.0],[2,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[20,\"gen\",0.0,20.0,0.0490196,0.0,0.0,0.0],[21,\"gen\",0.0,20.0,0.208333,0.0,0.0,0.0],[22,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[23,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[24,\"gen\",0.0,20.0,0.0645161,0.0,0.0,0.0],[25,\"gen\",0.0,20.0,0.0625,0.0,0.0,0.0],[26,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[27,\"gen\",0.0,20.0,0.0255754,0.0,0.0,0.0],[28,\"gen\",0.0,20.0,0.0255102,0.0,0.0,0.0],[0,\"ext_grid\",0.0,20.0,0.0193648,0.0,0.0,0.0],[3,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[29,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[30,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[31,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[32,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[33,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[34,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[35,\"gen\",0.0,20.0,0.0209644,0.0,0.0,0.0],[36,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[37,\"gen\",0.0,20.0,2.5,0.0,0.0,0.0],[38,\"gen\",0.0,20.0,0.0164745,0.0,0.0,0.0],[4,\"gen\",0.0,20.0,0.0222222,0.0,0.0,0.0],[39,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[40,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[41,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[42,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[43,\"gen\",0.0,20.0,0.0396825,0.0,0.0,0.0],[44,\"gen\",0.0,20.0,0.25,0.0,0.0,0.0],[45,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[46,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[47,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[48,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[5,\"gen\",0.0,20.0,0.117647,0.0,0.0,0.0],[49,\"gen\",0.0,20.0,0.277778,0.0,0.0,0.0],[50,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[51,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[52,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[6,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[7,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[8,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[9,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0]]}", "orient": "split", "dtype": { - "element": "object", + "element": "uint32", "et": "object", "cp0_eur": "float64", "cp1_eur_per_mw": "float64", @@ -426,7 +426,7 @@ "order": "float64", "level": "object", "initial_run": "bool", - "recycle": "bool" + "recycle": "object" } }, "line_geodata": { diff --git a/pandapower/networks/power_system_test_case_jsons/case11_iwamoto.json b/pandapower/networks/power_system_test_case_jsons/case11_iwamoto.json index a7b7cf818..f4148e62e 100644 --- a/pandapower/networks/power_system_test_case_jsons/case11_iwamoto.json +++ b/pandapower/networks/power_system_test_case_jsons/case11_iwamoto.json @@ -382,7 +382,7 @@ "orient": "split", "dtype": { "power_type": "object", - "element": "object", + "element": "uint32", "et": "object", "points": "object" } @@ -393,7 +393,7 @@ "_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": "object", + "element": "uint32", "et": "object", "cp0_eur": "float64", "cp1_eur_per_mw": "float64", @@ -414,7 +414,7 @@ "order": "float64", "level": "object", "initial_run": "bool", - "recycle": "bool" + "recycle": "object" } }, "line_geodata": { diff --git a/pandapower/networks/power_system_test_case_jsons/case1354pegase.json b/pandapower/networks/power_system_test_case_jsons/case1354pegase.json index bcd78ee19..f1b31c8b5 100644 --- a/pandapower/networks/power_system_test_case_jsons/case1354pegase.json +++ b/pandapower/networks/power_system_test_case_jsons/case1354pegase.json @@ -395,7 +395,7 @@ "orient": "split", "dtype": { "power_type": "object", - "element": "object", + "element": "uint32", "et": "object", "points": "object" } @@ -403,10 +403,10 @@ "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\":[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],\"data\":[[0.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[10.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[100.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[101.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[102.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[103.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[104.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[105.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[106.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[107.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[108.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[109.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[11.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[110.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[111.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[112.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[113.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[114.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[115.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[116.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[117.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[118.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[119.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[12.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[120.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[121.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[122.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[123.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[124.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[0.0,\"ext_grid\",0.0,1.0,0.0,0.0,0.0,0.0],[125.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[126.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[127.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[128.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[13.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[129.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[130.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[131.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[132.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[133.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[134.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[135.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[136.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[137.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[138.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[14.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[139.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[140.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[141.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[142.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[143.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[144.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[145.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[146.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[147.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[148.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[15.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[149.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[150.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[151.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[152.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[153.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[154.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[155.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[156.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[157.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[158.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[16.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[159.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[160.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[161.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[162.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[163.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[164.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[165.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[166.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[167.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[168.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[17.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[169.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[170.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[171.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[172.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[173.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[174.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[175.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[176.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[177.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[178.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[18.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[179.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[180.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[181.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[182.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[183.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[184.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[185.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[186.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[187.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[188.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[19.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[189.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[190.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[191.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[192.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[193.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[194.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[195.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[196.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[197.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[198.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[2.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[20.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[199.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[200.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[201.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[202.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[203.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[204.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[205.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[206.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[207.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[208.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[21.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[209.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[210.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[211.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[212.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[213.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[214.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[215.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[216.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[217.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[218.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[22.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[219.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[220.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[221.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[222.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[223.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[224.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[225.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[226.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[227.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[228.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[23.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[229.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[230.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[231.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[232.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[233.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[234.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[235.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[236.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[237.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[238.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[24.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[239.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[240.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[241.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[242.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[243.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[244.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[245.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[246.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[247.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[248.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[25.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[249.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[250.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[251.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[252.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[253.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[254.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[255.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[256.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[257.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[258.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[26.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[27.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[28.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[29.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[3.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[30.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[31.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[32.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[33.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[34.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[35.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[36.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[37.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[38.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[39.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[4.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[40.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[41.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[42.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[43.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[44.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[45.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[46.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[47.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[48.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[49.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[5.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[50.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[51.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[52.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[53.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[54.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[55.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[56.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[57.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[58.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[59.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[6.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[60.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[61.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[62.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[63.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[64.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[65.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[66.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[67.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[68.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[69.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[7.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[70.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[71.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[72.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[73.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[74.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[75.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[76.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[77.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[78.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[79.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[8.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[80.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[81.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[82.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[83.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[84.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[85.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[86.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[87.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[88.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[89.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[9.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[90.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[91.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[92.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[93.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[94.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[95.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[96.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[97.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[98.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[99.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0]]}", + "_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\":[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],\"data\":[[0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[10,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[100,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[101,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[102,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[103,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[104,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[105,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[106,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[107,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[108,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[109,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[11,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[110,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[111,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[112,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[113,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[114,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[115,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[116,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[117,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[118,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[119,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[12,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[120,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[121,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[122,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[123,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[124,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[0,\"ext_grid\",0.0,1.0,0.0,0.0,0.0,0.0],[125,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[126,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[127,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[128,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[13,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[129,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[130,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[131,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[132,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[133,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[134,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[135,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[136,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[137,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[138,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[14,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[139,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[140,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[141,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[142,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[143,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[144,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[145,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[146,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[147,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[148,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[15,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[149,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[150,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[151,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[152,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[153,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[154,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[155,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[156,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[157,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[158,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[16,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[159,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[160,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[161,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[162,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[163,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[164,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[165,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[166,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[167,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[168,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[17,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[169,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[170,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[171,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[172,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[173,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[174,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[175,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[176,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[177,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[178,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[18,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[179,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[180,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[181,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[182,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[183,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[184,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[185,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[186,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[187,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[188,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[19,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[189,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[190,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[191,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[192,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[193,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[194,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[195,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[196,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[197,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[198,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[2,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[20,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[199,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[200,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[201,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[202,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[203,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[204,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[205,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[206,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[207,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[208,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[21,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[209,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[210,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[211,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[212,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[213,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[214,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[215,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[216,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[217,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[218,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[22,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[219,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[220,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[221,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[222,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[223,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[224,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[225,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[226,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[227,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[228,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[23,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[229,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[230,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[231,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[232,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[233,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[234,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[235,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[236,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[237,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[238,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[24,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[239,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[240,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[241,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[242,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[243,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[244,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[245,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[246,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[247,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[248,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[25,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[249,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[250,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[251,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[252,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[253,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[254,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[255,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[256,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[257,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[258,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[26,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[27,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[28,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[29,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[3,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[30,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[31,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[32,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[33,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[34,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[35,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[36,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[37,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[38,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[39,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[4,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[40,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[41,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[42,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[43,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[44,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[45,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[46,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[47,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[48,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[49,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[5,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[50,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[51,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[52,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[53,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[54,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[55,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[56,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[57,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[58,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[59,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[6,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[60,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[61,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[62,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[63,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[64,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[65,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[66,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[67,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[68,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[69,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[7,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[70,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[71,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[72,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[73,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[74,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[75,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[76,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[77,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[78,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[79,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[8,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[80,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[81,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[82,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[83,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[84,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[85,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[86,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[87,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[88,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[89,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[9,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[90,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[91,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[92,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[93,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[94,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[95,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[96,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[97,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[98,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[99,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0]]}", "orient": "split", "dtype": { - "element": "object", + "element": "uint32", "et": "object", "cp0_eur": "float64", "cp1_eur_per_mw": "float64", @@ -427,7 +427,7 @@ "order": "float64", "level": "object", "initial_run": "bool", - "recycle": "bool" + "recycle": "object" } }, "line_geodata": { diff --git a/pandapower/networks/power_system_test_case_jsons/case14.json b/pandapower/networks/power_system_test_case_jsons/case14.json index 5ad7210cc..c09cb87ea 100644 --- a/pandapower/networks/power_system_test_case_jsons/case14.json +++ b/pandapower/networks/power_system_test_case_jsons/case14.json @@ -394,7 +394,7 @@ "orient": "split", "dtype": { "power_type": "object", - "element": "object", + "element": "uint32", "et": "object", "points": "object" } @@ -402,10 +402,10 @@ "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\":[0,1,2,3,4],\"data\":[[0.0,\"ext_grid\",0.0,20.0,0.0430293,0.0,0.0,0.0],[0.0,\"gen\",0.0,20.0,0.25,0.0,0.0,0.0],[1.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[2.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[3.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0]]}", + "_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\":[0,1,2,3,4],\"data\":[[0,\"ext_grid\",0.0,20.0,0.0430293,0.0,0.0,0.0],[0,\"gen\",0.0,20.0,0.25,0.0,0.0,0.0],[1,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[2,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[3,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0]]}", "orient": "split", "dtype": { - "element": "object", + "element": "uint32", "et": "object", "cp0_eur": "float64", "cp1_eur_per_mw": "float64", @@ -426,7 +426,7 @@ "order": "float64", "level": "object", "initial_run": "bool", - "recycle": "bool" + "recycle": "object" } }, "line_geodata": { diff --git a/pandapower/networks/power_system_test_case_jsons/case145.json b/pandapower/networks/power_system_test_case_jsons/case145.json index 57fcc2087..4af3fd44f 100644 --- a/pandapower/networks/power_system_test_case_jsons/case145.json +++ b/pandapower/networks/power_system_test_case_jsons/case145.json @@ -395,7 +395,7 @@ "orient": "split", "dtype": { "power_type": "object", - "element": "object", + "element": "uint32", "et": "object", "points": "object" } @@ -403,10 +403,10 @@ "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\":[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],\"data\":[[0.0,\"gen\",0.0,20.0,0.19607843,0.0,0.0,0.0],[1.0,\"gen\",0.0,20.0,0.00672948,0.0,0.0,0.0],[10.0,\"gen\",0.0,20.0,0.07633588,0.0,0.0,0.0],[11.0,\"gen\",0.0,20.0,0.16666667,0.0,0.0,0.0],[12.0,\"gen\",0.0,20.0,0.07142857,0.0,0.0,0.0],[13.0,\"gen\",0.0,20.0,0.02347418,0.0,0.0,0.0],[14.0,\"gen\",0.0,20.0,0.05,0.0,0.0,0.0],[15.0,\"gen\",0.0,20.0,0.05882353,0.0,0.0,0.0],[16.0,\"gen\",0.0,20.0,0.03216468,0.0,0.0,0.0],[17.0,\"gen\",0.0,20.0,0.00490196,0.0,0.0,0.0],[18.0,\"gen\",0.0,20.0,0.07407407,0.0,0.0,0.0],[19.0,\"gen\",0.0,20.0,0.005,0.0,0.0,0.0],[2.0,\"gen\",0.0,20.0,0.03996803,0.0,0.0,0.0],[20.0,\"gen\",0.0,20.0,0.00617284,0.0,0.0,0.0],[21.0,\"gen\",0.0,20.0,0.00925926,0.0,0.0,0.0],[22.0,\"gen\",0.0,20.0,0.0125,0.0,0.0,0.0],[23.0,\"gen\",0.0,20.0,0.19230769,0.0,0.0,0.0],[24.0,\"gen\",0.0,20.0,0.01428571,0.0,0.0,0.0],[25.0,\"gen\",0.0,20.0,0.005,0.0,0.0,0.0],[26.0,\"gen\",0.0,20.0,0.03333333,0.0,0.0,0.0],[27.0,\"gen\",0.0,20.0,0.00401123,0.0,0.0,0.0],[28.0,\"gen\",0.0,20.0,0.00368596,0.0,0.0,0.0],[29.0,\"gen\",0.0,20.0,0.00380662,0.0,0.0,0.0],[3.0,\"gen\",0.0,20.0,0.21276596,0.0,0.0,0.0],[30.0,\"gen\",0.0,20.0,0.00236967,0.0,0.0,0.0],[31.0,\"gen\",0.0,20.0,0.00111682,0.0,0.0,0.0],[32.0,\"gen\",0.0,20.0,0.00333667,0.0,0.0,0.0],[33.0,\"gen\",0.0,20.0,0.0099108,0.0,0.0,0.0],[34.0,\"gen\",0.0,20.0,0.00332779,0.0,0.0,0.0],[35.0,\"gen\",0.0,20.0,0.00077143,0.0,0.0,0.0],[36.0,\"gen\",0.0,20.0,0.00168435,0.0,0.0,0.0],[37.0,\"gen\",0.0,20.0,0.00035336,0.0,0.0,0.0],[38.0,\"gen\",0.0,20.0,0.00323102,0.0,0.0,0.0],[39.0,\"gen\",0.0,20.0,0.00048482,0.0,0.0,0.0],[4.0,\"gen\",0.0,20.0,0.14285714,0.0,0.0,0.0],[40.0,\"gen\",0.0,20.0,0.00167168,0.0,0.0,0.0],[41.0,\"gen\",0.0,20.0,0.00019249,0.0,0.0,0.0],[42.0,\"gen\",0.0,20.0,0.00082864,0.0,0.0,0.0],[43.0,\"gen\",0.0,20.0,0.00017595,0.0,0.0,0.0],[44.0,\"gen\",0.0,20.0,0.00043247,0.0,0.0,0.0],[45.0,\"gen\",0.0,20.0,0.00026378,0.0,0.0,0.0],[46.0,\"gen\",0.0,20.0,0.00040901,0.0,0.0,0.0],[47.0,\"gen\",0.0,20.0,0.00190331,0.0,0.0,0.0],[48.0,\"gen\",0.0,20.0,0.00087742,0.0,0.0,0.0],[0.0,\"ext_grid\",0.0,20.0,0.00070828,0.0,0.0,0.0],[5.0,\"gen\",0.0,20.0,0.01485884,0.0,0.0,0.0],[6.0,\"gen\",0.0,20.0,0.45454546,0.0,0.0,0.0],[7.0,\"gen\",0.0,20.0,0.15625,0.0,0.0,0.0],[8.0,\"gen\",0.0,20.0,0.01428571,0.0,0.0,0.0],[9.0,\"gen\",0.0,20.0,0.03333333,0.0,0.0,0.0]]}", + "_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\":[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],\"data\":[[0,\"gen\",0.0,20.0,0.19607843,0.0,0.0,0.0],[1,\"gen\",0.0,20.0,0.00672948,0.0,0.0,0.0],[10,\"gen\",0.0,20.0,0.07633588,0.0,0.0,0.0],[11,\"gen\",0.0,20.0,0.16666667,0.0,0.0,0.0],[12,\"gen\",0.0,20.0,0.07142857,0.0,0.0,0.0],[13,\"gen\",0.0,20.0,0.02347418,0.0,0.0,0.0],[14,\"gen\",0.0,20.0,0.05,0.0,0.0,0.0],[15,\"gen\",0.0,20.0,0.05882353,0.0,0.0,0.0],[16,\"gen\",0.0,20.0,0.03216468,0.0,0.0,0.0],[17,\"gen\",0.0,20.0,0.00490196,0.0,0.0,0.0],[18,\"gen\",0.0,20.0,0.07407407,0.0,0.0,0.0],[19,\"gen\",0.0,20.0,0.005,0.0,0.0,0.0],[2,\"gen\",0.0,20.0,0.03996803,0.0,0.0,0.0],[20,\"gen\",0.0,20.0,0.00617284,0.0,0.0,0.0],[21,\"gen\",0.0,20.0,0.00925926,0.0,0.0,0.0],[22,\"gen\",0.0,20.0,0.0125,0.0,0.0,0.0],[23,\"gen\",0.0,20.0,0.19230769,0.0,0.0,0.0],[24,\"gen\",0.0,20.0,0.01428571,0.0,0.0,0.0],[25,\"gen\",0.0,20.0,0.005,0.0,0.0,0.0],[26,\"gen\",0.0,20.0,0.03333333,0.0,0.0,0.0],[27,\"gen\",0.0,20.0,0.00401123,0.0,0.0,0.0],[28,\"gen\",0.0,20.0,0.00368596,0.0,0.0,0.0],[29,\"gen\",0.0,20.0,0.00380662,0.0,0.0,0.0],[3,\"gen\",0.0,20.0,0.21276596,0.0,0.0,0.0],[30,\"gen\",0.0,20.0,0.00236967,0.0,0.0,0.0],[31,\"gen\",0.0,20.0,0.00111682,0.0,0.0,0.0],[32,\"gen\",0.0,20.0,0.00333667,0.0,0.0,0.0],[33,\"gen\",0.0,20.0,0.0099108,0.0,0.0,0.0],[34,\"gen\",0.0,20.0,0.00332779,0.0,0.0,0.0],[35,\"gen\",0.0,20.0,0.00077143,0.0,0.0,0.0],[36,\"gen\",0.0,20.0,0.00168435,0.0,0.0,0.0],[37,\"gen\",0.0,20.0,0.00035336,0.0,0.0,0.0],[38,\"gen\",0.0,20.0,0.00323102,0.0,0.0,0.0],[39,\"gen\",0.0,20.0,0.00048482,0.0,0.0,0.0],[4,\"gen\",0.0,20.0,0.14285714,0.0,0.0,0.0],[40,\"gen\",0.0,20.0,0.00167168,0.0,0.0,0.0],[41,\"gen\",0.0,20.0,0.00019249,0.0,0.0,0.0],[42,\"gen\",0.0,20.0,0.00082864,0.0,0.0,0.0],[43,\"gen\",0.0,20.0,0.00017595,0.0,0.0,0.0],[44,\"gen\",0.0,20.0,0.00043247,0.0,0.0,0.0],[45,\"gen\",0.0,20.0,0.00026378,0.0,0.0,0.0],[46,\"gen\",0.0,20.0,0.00040901,0.0,0.0,0.0],[47,\"gen\",0.0,20.0,0.00190331,0.0,0.0,0.0],[48,\"gen\",0.0,20.0,0.00087742,0.0,0.0,0.0],[0,\"ext_grid\",0.0,20.0,0.00070828,0.0,0.0,0.0],[5,\"gen\",0.0,20.0,0.01485884,0.0,0.0,0.0],[6,\"gen\",0.0,20.0,0.45454546,0.0,0.0,0.0],[7,\"gen\",0.0,20.0,0.15625,0.0,0.0,0.0],[8,\"gen\",0.0,20.0,0.01428571,0.0,0.0,0.0],[9,\"gen\",0.0,20.0,0.03333333,0.0,0.0,0.0]]}", "orient": "split", "dtype": { - "element": "object", + "element": "uint32", "et": "object", "cp0_eur": "float64", "cp1_eur_per_mw": "float64", @@ -427,7 +427,7 @@ "order": "float64", "level": "object", "initial_run": "bool", - "recycle": "bool" + "recycle": "object" } }, "line_geodata": { diff --git a/pandapower/networks/power_system_test_case_jsons/case1888rte.json b/pandapower/networks/power_system_test_case_jsons/case1888rte.json index 7af9c7605..bfd736332 100644 --- a/pandapower/networks/power_system_test_case_jsons/case1888rte.json +++ b/pandapower/networks/power_system_test_case_jsons/case1888rte.json @@ -399,7 +399,7 @@ "orient": "split", "dtype": { "power_type": "object", - "element": "object", + "element": "uint32", "et": "object", "points": "object" } @@ -407,10 +407,10 @@ "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\":[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],\"data\":[[0.0,\"ext_grid\",0.0,1.0,0.0,0.0,0.0,0.0],[57.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[6.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[77.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[78.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[79.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[80.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[81.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[82.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[83.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[84.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[85.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[86.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[60.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[87.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[88.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[89.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[90.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[91.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[92.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[93.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[94.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[95.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[96.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[7.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[97.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[98.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[99.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[100.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[101.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[102.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[103.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[104.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[105.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[106.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[61.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[107.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[108.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[109.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[110.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[111.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[79.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[112.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[113.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[114.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[115.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[8.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[116.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[117.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[118.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[119.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[120.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[121.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[122.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[123.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[124.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[125.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[62.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[126.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[127.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[128.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[129.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[130.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[131.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[132.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[133.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[134.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[135.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[9.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[136.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[137.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[138.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[139.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[140.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[141.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[142.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[143.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[144.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[145.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[10.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[146.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[147.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[148.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[149.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[150.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[151.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[152.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[153.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[154.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[155.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[63.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[156.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[157.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[158.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[159.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[160.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[80.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[161.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[162.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[163.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[164.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[11.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[165.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[166.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[167.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[168.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[169.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[170.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[171.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[172.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[173.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[174.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[0.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[64.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[175.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[176.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[177.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[178.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[179.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[180.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[181.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[182.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[183.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[184.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[65.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[185.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[186.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[187.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[188.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[189.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[190.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[191.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[192.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[193.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[194.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[66.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[195.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[196.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[197.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[198.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[199.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[200.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[201.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[202.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[203.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[204.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[12.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[205.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[206.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[207.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[208.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[209.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[210.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[211.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[212.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[213.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[214.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[67.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[215.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[216.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[217.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[218.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[219.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[220.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[221.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[222.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[223.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[224.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[68.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[225.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[226.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[227.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[228.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[229.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[230.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[231.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[232.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[233.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[234.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[69.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[235.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[236.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[237.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[238.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[239.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[240.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[241.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[81.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[242.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[243.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[13.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[244.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[245.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[246.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[247.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[248.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[249.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[250.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[251.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[252.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[253.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[14.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[254.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[255.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[256.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[257.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[258.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[259.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[260.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[261.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[262.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[263.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[15.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[264.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[265.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[266.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[267.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[268.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[269.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[270.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[16.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[17.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[70.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[18.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[71.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[19.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[72.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[73.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[74.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[20.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[2.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[21.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[22.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[23.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[24.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[75.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[25.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[76.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[77.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[78.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[26.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[3.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[27.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[28.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[29.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[30.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[31.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[32.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[33.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[34.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[35.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[36.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[58.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[37.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[38.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[39.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[40.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[41.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[42.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[43.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[44.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[45.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[46.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[4.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[47.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[48.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[49.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[50.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[51.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[52.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[53.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[54.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[55.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[56.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[59.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[57.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[58.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[59.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[60.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[61.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[62.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[63.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[64.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[65.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[66.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[5.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[67.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[68.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[69.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[70.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[71.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[72.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[73.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[74.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[75.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[76.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0]]}", + "_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\":[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],\"data\":[[0,\"ext_grid\",0.0,1.0,0.0,0.0,0.0,0.0],[57,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[6,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[77,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[78,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[79,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[80,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[81,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[82,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[83,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[84,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[85,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[86,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[60,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[87,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[88,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[89,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[90,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[91,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[92,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[93,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[94,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[95,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[96,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[7,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[97,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[98,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[99,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[100,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[101,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[102,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[103,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[104,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[105,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[106,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[61,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[107,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[108,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[109,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[110,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[111,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[79,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[112,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[113,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[114,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[115,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[8,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[116,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[117,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[118,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[119,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[120,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[121,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[122,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[123,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[124,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[125,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[62,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[126,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[127,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[128,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[129,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[130,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[131,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[132,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[133,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[134,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[135,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[9,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[136,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[137,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[138,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[139,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[140,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[141,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[142,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[143,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[144,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[145,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[10,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[146,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[147,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[148,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[149,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[150,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[151,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[152,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[153,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[154,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[155,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[63,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[156,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[157,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[158,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[159,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[160,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[80,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[161,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[162,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[163,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[164,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[11,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[165,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[166,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[167,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[168,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[169,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[170,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[171,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[172,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[173,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[174,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[64,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[175,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[176,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[177,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[178,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[179,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[180,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[181,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[182,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[183,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[184,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[65,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[185,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[186,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[187,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[188,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[189,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[190,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[191,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[192,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[193,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[194,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[66,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[195,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[196,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[197,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[198,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[199,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[200,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[201,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[202,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[203,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[204,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[12,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[205,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[206,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[207,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[208,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[209,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[210,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[211,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[212,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[213,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[214,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[67,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[215,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[216,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[217,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[218,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[219,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[220,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[221,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[222,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[223,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[224,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[68,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[225,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[226,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[227,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[228,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[229,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[230,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[231,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[232,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[233,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[234,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[69,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[235,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[236,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[237,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[238,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[239,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[240,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[241,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[81,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[242,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[243,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[13,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[244,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[245,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[246,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[247,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[248,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[249,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[250,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[251,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[252,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[253,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[14,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[254,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[255,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[256,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[257,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[258,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[259,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[260,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[261,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[262,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[263,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[15,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[264,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[265,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[266,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[267,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[268,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[269,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[270,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[16,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[17,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[70,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[18,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[71,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[19,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[72,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[73,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[74,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[20,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[2,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[21,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[22,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[23,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[24,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[75,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[25,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[76,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[77,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[78,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[26,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[3,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[27,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[28,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[29,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[30,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[31,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[32,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[33,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[34,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[35,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[36,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[58,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[37,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[38,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[39,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[40,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[41,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[42,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[43,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[44,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[45,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[46,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[4,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[47,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[48,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[49,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[50,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[51,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[52,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[53,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[54,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[55,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[56,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[59,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[57,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[58,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[59,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[60,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[61,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[62,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[63,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[64,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[65,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[66,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[5,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[67,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[68,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[69,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[70,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[71,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[72,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[73,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[74,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[75,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[76,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0]]}", "orient": "split", "dtype": { - "element": "object", + "element": "uint32", "et": "object", "cp0_eur": "float64", "cp1_eur_per_mw": "float64", @@ -431,7 +431,7 @@ "order": "float64", "level": "object", "initial_run": "bool", - "recycle": "bool" + "recycle": "object" } }, "line_geodata": { diff --git a/pandapower/networks/power_system_test_case_jsons/case24_ieee_rts.json b/pandapower/networks/power_system_test_case_jsons/case24_ieee_rts.json index 0cd56fada..87a18aac8 100644 --- a/pandapower/networks/power_system_test_case_jsons/case24_ieee_rts.json +++ b/pandapower/networks/power_system_test_case_jsons/case24_ieee_rts.json @@ -399,7 +399,7 @@ "orient": "split", "dtype": { "power_type": "object", - "element": "object", + "element": "uint32", "et": "object", "points": "object" } @@ -407,10 +407,10 @@ "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\":[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],\"data\":[[0.0,\"gen\",400.684900000000027,130.0,0.0,0.0,0.0,0.0],[0.0,\"sgen\",400.684900000000027,130.0,0.0,0.0,0.0,0.0],[7.0,\"sgen\",781.520999999999958,43.661499999999997,0.052672,0.0,0.0,0.0],[0.0,\"ext_grid\",832.75750000000005,48.580399999999997,0.00717,0.0,0.0,0.0],[8.0,\"sgen\",832.75750000000005,48.580399999999997,0.00717,0.0,0.0,0.0],[9.0,\"sgen\",832.75750000000005,48.580399999999997,0.00717,0.0,0.0,0.0],[3.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[4.0,\"gen\",86.385199999999998,56.563999999999993,0.328412,0.0,0.0,0.0],[10.0,\"sgen\",86.385199999999998,56.563999999999993,0.328412,0.0,0.0,0.0],[11.0,\"sgen\",86.385199999999998,56.563999999999993,0.328412,0.0,0.0,0.0],[12.0,\"sgen\",86.385199999999998,56.563999999999993,0.328412,0.0,0.0,0.0],[13.0,\"sgen\",86.385199999999998,56.563999999999993,0.328412,0.0,0.0,0.0],[1.0,\"sgen\",212.307600000000008,16.081099999999999,0.014142,0.0,0.0,0.0],[14.0,\"sgen\",382.239100000000008,12.388299999999999,0.008342,0.0,0.0,0.0],[5.0,\"gen\",382.239100000000008,12.388299999999999,0.008342,0.0,0.0,0.0],[6.0,\"gen\",395.374900000000025,4.4231,0.000213,0.0,0.0,0.0],[7.0,\"gen\",395.374900000000025,4.4231,0.000213,0.0,0.0,0.0],[8.0,\"gen\",0.001,0.001,0.0,0.0,0.0,0.0],[15.0,\"sgen\",0.001,0.001,0.0,0.0,0.0,0.0],[16.0,\"sgen\",0.001,0.001,0.0,0.0,0.0,0.0],[17.0,\"sgen\",0.001,0.001,0.0,0.0,0.0,0.0],[18.0,\"sgen\",0.001,0.001,0.0,0.0,0.0,0.0],[19.0,\"sgen\",0.001,0.001,0.0,0.0,0.0,0.0],[2.0,\"sgen\",212.307600000000008,16.081099999999999,0.014142,0.0,0.0,0.0],[9.0,\"gen\",382.239100000000008,12.388299999999999,0.008342,0.0,0.0,0.0],[20.0,\"sgen\",382.239100000000008,12.388299999999999,0.008342,0.0,0.0,0.0],[21.0,\"sgen\",665.109400000000051,11.849500000000001,0.004895,0.0,0.0,0.0],[1.0,\"gen\",400.684900000000027,130.0,0.0,0.0,0.0,0.0],[3.0,\"sgen\",400.684900000000027,130.0,0.0,0.0,0.0,0.0],[4.0,\"sgen\",212.307600000000008,16.081099999999999,0.014142,0.0,0.0,0.0],[5.0,\"sgen\",212.307600000000008,16.081099999999999,0.014142,0.0,0.0,0.0],[2.0,\"gen\",781.520999999999958,43.661499999999997,0.052672,0.0,0.0,0.0],[6.0,\"sgen\",781.520999999999958,43.661499999999997,0.052672,0.0,0.0,0.0]]}", + "_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\":[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],\"data\":[[0,\"gen\",400.684900000000027,130.0,0.0,0.0,0.0,0.0],[0,\"sgen\",400.684900000000027,130.0,0.0,0.0,0.0,0.0],[7,\"sgen\",781.520999999999958,43.661499999999997,0.052672,0.0,0.0,0.0],[0,\"ext_grid\",832.75750000000005,48.580399999999997,0.00717,0.0,0.0,0.0],[8,\"sgen\",832.75750000000005,48.580399999999997,0.00717,0.0,0.0,0.0],[9,\"sgen\",832.75750000000005,48.580399999999997,0.00717,0.0,0.0,0.0],[3,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[4,\"gen\",86.385199999999998,56.563999999999993,0.328412,0.0,0.0,0.0],[10,\"sgen\",86.385199999999998,56.563999999999993,0.328412,0.0,0.0,0.0],[11,\"sgen\",86.385199999999998,56.563999999999993,0.328412,0.0,0.0,0.0],[12,\"sgen\",86.385199999999998,56.563999999999993,0.328412,0.0,0.0,0.0],[13,\"sgen\",86.385199999999998,56.563999999999993,0.328412,0.0,0.0,0.0],[1,\"sgen\",212.307600000000008,16.081099999999999,0.014142,0.0,0.0,0.0],[14,\"sgen\",382.239100000000008,12.388299999999999,0.008342,0.0,0.0,0.0],[5,\"gen\",382.239100000000008,12.388299999999999,0.008342,0.0,0.0,0.0],[6,\"gen\",395.374900000000025,4.4231,0.000213,0.0,0.0,0.0],[7,\"gen\",395.374900000000025,4.4231,0.000213,0.0,0.0,0.0],[8,\"gen\",0.001,0.001,0.0,0.0,0.0,0.0],[15,\"sgen\",0.001,0.001,0.0,0.0,0.0,0.0],[16,\"sgen\",0.001,0.001,0.0,0.0,0.0,0.0],[17,\"sgen\",0.001,0.001,0.0,0.0,0.0,0.0],[18,\"sgen\",0.001,0.001,0.0,0.0,0.0,0.0],[19,\"sgen\",0.001,0.001,0.0,0.0,0.0,0.0],[2,\"sgen\",212.307600000000008,16.081099999999999,0.014142,0.0,0.0,0.0],[9,\"gen\",382.239100000000008,12.388299999999999,0.008342,0.0,0.0,0.0],[20,\"sgen\",382.239100000000008,12.388299999999999,0.008342,0.0,0.0,0.0],[21,\"sgen\",665.109400000000051,11.849500000000001,0.004895,0.0,0.0,0.0],[1,\"gen\",400.684900000000027,130.0,0.0,0.0,0.0,0.0],[3,\"sgen\",400.684900000000027,130.0,0.0,0.0,0.0,0.0],[4,\"sgen\",212.307600000000008,16.081099999999999,0.014142,0.0,0.0,0.0],[5,\"sgen\",212.307600000000008,16.081099999999999,0.014142,0.0,0.0,0.0],[2,\"gen\",781.520999999999958,43.661499999999997,0.052672,0.0,0.0,0.0],[6,\"sgen\",781.520999999999958,43.661499999999997,0.052672,0.0,0.0,0.0]]}", "orient": "split", "dtype": { - "element": "object", + "element": "uint32", "et": "object", "cp0_eur": "float64", "cp1_eur_per_mw": "float64", @@ -431,7 +431,7 @@ "order": "float64", "level": "object", "initial_run": "bool", - "recycle": "bool" + "recycle": "object" } }, "line_geodata": { diff --git a/pandapower/networks/power_system_test_case_jsons/case2848rte.json b/pandapower/networks/power_system_test_case_jsons/case2848rte.json index 7c5ce5b8b..43c824d1f 100644 --- a/pandapower/networks/power_system_test_case_jsons/case2848rte.json +++ b/pandapower/networks/power_system_test_case_jsons/case2848rte.json @@ -399,7 +399,7 @@ "orient": "split", "dtype": { "power_type": "object", - "element": "object", + "element": "uint32", "et": "object", "points": "object" } @@ -407,10 +407,10 @@ "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\":[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],\"data\":[[0.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[7.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[53.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[54.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[55.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[170.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[56.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[171.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[172.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[57.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[58.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[59.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[8.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[60.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[61.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[62.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[63.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[64.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[173.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[65.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[174.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[175.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[66.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[9.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[176.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[177.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[67.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[68.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[178.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[179.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[69.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[0.0,\"ext_grid\",0.0,1.0,0.0,0.0,0.0,0.0],[180.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[181.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[10.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[182.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[70.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[183.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[184.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[71.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[185.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[72.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[186.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[73.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[74.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[126.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[187.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[75.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[188.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[76.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[189.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[77.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[78.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[190.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[79.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[191.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[127.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[80.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[192.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[193.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[194.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[81.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[195.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[82.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[83.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[196.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[84.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[11.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[197.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[85.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[198.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[86.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[87.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[88.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[89.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[199.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[90.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[200.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[128.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[91.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[92.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[93.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[201.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[94.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[95.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[96.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[202.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[203.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[97.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[129.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[204.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[98.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[205.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[99.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[206.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[207.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[208.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[209.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[100.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[101.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[130.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[210.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[102.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[211.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[212.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[103.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[104.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[105.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[213.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[106.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[214.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[2.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[131.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[215.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[107.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[216.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[217.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[218.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[108.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[219.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[220.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[109.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[110.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[12.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[221.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[222.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[111.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[112.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[113.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[114.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[115.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[223.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[224.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[116.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[132.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[225.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[226.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[227.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[228.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[229.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[117.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[118.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[119.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[230.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[231.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[133.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[232.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[120.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[121.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[122.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[123.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[124.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[125.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[126.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[127.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[128.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[134.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[129.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[130.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[131.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[132.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[133.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[134.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[135.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[136.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[137.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[138.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[135.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[233.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[139.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[234.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[140.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[141.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[142.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[143.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[235.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[236.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[237.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[136.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[238.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[239.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[144.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[145.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[146.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[240.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[147.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[241.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[148.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[242.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[137.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[149.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[243.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[244.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[150.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[245.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[151.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[246.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[247.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[248.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[249.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[138.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[152.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[153.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[250.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[154.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[251.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[155.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[252.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[253.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[254.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[255.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[13.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[156.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[256.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[257.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[258.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[259.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[157.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[260.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[261.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[158.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[262.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[3.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[139.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[263.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[264.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[265.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[266.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[159.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[160.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[267.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[268.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[161.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[269.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[14.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[162.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[163.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[164.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[165.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[166.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[270.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[271.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[272.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[273.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[167.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[140.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[274.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[275.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[168.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[169.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[170.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[171.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[276.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[277.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[172.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[278.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[15.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[279.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[173.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[280.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[281.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[282.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[283.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[174.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[284.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[175.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[176.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[16.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[177.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[178.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[179.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[180.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[181.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[182.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[183.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[184.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[185.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[186.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[141.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[187.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[188.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[189.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[190.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[191.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[192.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[285.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[193.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[194.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[195.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[142.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[196.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[197.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[198.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[199.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[200.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[201.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[202.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[203.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[204.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[205.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[143.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[206.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[286.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[207.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[208.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[209.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[210.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[211.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[212.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[213.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[214.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[17.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[215.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[216.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[217.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[218.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[219.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[220.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[287.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[288.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[221.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[222.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[144.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[223.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[224.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[225.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[226.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[227.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[228.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[229.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[230.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[231.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[232.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[123.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[145.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[233.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[234.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[235.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[236.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[237.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[238.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[239.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[240.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[241.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[242.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[18.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[243.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[289.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[290.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[291.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[292.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[244.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[245.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[246.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[247.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[248.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[146.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[249.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[250.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[251.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[252.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[253.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[254.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[255.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[256.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[257.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[258.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[19.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[259.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[260.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[261.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[262.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[263.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[264.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[265.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[266.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[267.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[268.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[147.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[269.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[270.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[271.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[272.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[293.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[294.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[273.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[274.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[275.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[276.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[20.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[277.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[278.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[279.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[280.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[281.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[282.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[283.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[284.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[285.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[286.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[148.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[287.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[288.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[289.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[290.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[291.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[292.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[295.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[296.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[297.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[293.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[149.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[294.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[295.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[296.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[297.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[298.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[299.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[300.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[301.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[302.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[303.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[21.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[304.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[305.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[306.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[307.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[308.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[309.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[310.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[311.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[312.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[313.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[22.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[314.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[315.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[316.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[317.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[318.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[319.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[320.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[321.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[322.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[323.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[124.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[23.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[324.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[325.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[326.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[327.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[328.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[329.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[330.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[331.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[332.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[333.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[24.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[334.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[335.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[336.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[337.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[338.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[339.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[340.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[341.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[342.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[343.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[150.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[344.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[298.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[345.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[346.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[347.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[348.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[349.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[350.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[351.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[352.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[151.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[353.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[354.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[355.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[356.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[357.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[358.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[359.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[360.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[361.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[362.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[152.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[363.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[364.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[365.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[299.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[366.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[367.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[368.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[25.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[153.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[154.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[26.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[27.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[4.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[28.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[29.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[30.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[31.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[32.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[33.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[34.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[35.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[155.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[36.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[5.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[156.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[37.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[38.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[39.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[157.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[40.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[158.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[159.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[160.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[161.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[125.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[41.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[42.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[43.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[44.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[45.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[46.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[162.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[163.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[47.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[48.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[6.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[49.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[50.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[164.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[165.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[51.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[52.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[166.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[167.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[168.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[169.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0]]}", + "_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\":[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],\"data\":[[0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[7,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[53,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[54,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[55,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[170,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[56,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[171,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[172,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[57,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[58,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[59,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[8,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[60,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[61,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[62,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[63,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[64,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[173,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[65,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[174,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[175,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[66,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[9,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[176,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[177,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[67,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[68,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[178,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[179,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[69,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[0,\"ext_grid\",0.0,1.0,0.0,0.0,0.0,0.0],[180,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[181,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[10,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[182,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[70,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[183,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[184,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[71,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[185,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[72,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[186,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[73,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[74,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[126,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[187,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[75,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[188,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[76,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[189,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[77,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[78,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[190,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[79,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[191,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[127,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[80,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[192,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[193,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[194,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[81,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[195,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[82,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[83,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[196,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[84,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[11,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[197,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[85,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[198,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[86,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[87,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[88,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[89,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[199,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[90,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[200,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[128,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[91,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[92,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[93,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[201,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[94,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[95,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[96,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[202,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[203,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[97,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[129,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[204,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[98,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[205,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[99,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[206,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[207,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[208,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[209,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[100,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[101,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[130,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[210,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[102,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[211,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[212,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[103,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[104,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[105,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[213,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[106,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[214,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[2,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[131,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[215,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[107,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[216,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[217,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[218,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[108,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[219,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[220,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[109,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[110,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[12,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[221,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[222,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[111,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[112,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[113,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[114,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[115,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[223,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[224,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[116,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[132,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[225,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[226,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[227,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[228,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[229,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[117,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[118,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[119,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[230,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[231,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[133,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[232,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[120,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[121,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[122,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[123,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[124,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[125,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[126,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[127,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[128,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[134,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[129,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[130,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[131,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[132,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[133,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[134,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[135,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[136,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[137,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[138,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[135,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[233,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[139,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[234,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[140,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[141,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[142,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[143,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[235,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[236,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[237,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[136,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[238,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[239,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[144,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[145,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[146,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[240,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[147,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[241,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[148,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[242,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[137,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[149,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[243,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[244,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[150,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[245,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[151,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[246,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[247,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[248,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[249,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[138,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[152,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[153,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[250,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[154,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[251,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[155,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[252,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[253,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[254,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[255,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[13,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[156,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[256,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[257,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[258,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[259,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[157,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[260,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[261,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[158,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[262,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[3,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[139,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[263,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[264,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[265,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[266,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[159,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[160,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[267,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[268,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[161,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[269,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[14,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[162,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[163,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[164,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[165,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[166,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[270,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[271,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[272,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[273,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[167,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[140,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[274,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[275,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[168,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[169,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[170,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[171,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[276,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[277,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[172,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[278,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[15,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[279,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[173,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[280,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[281,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[282,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[283,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[174,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[284,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[175,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[176,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[16,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[177,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[178,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[179,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[180,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[181,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[182,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[183,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[184,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[185,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[186,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[141,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[187,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[188,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[189,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[190,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[191,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[192,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[285,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[193,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[194,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[195,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[142,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[196,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[197,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[198,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[199,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[200,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[201,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[202,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[203,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[204,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[205,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[143,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[206,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[286,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[207,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[208,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[209,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[210,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[211,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[212,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[213,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[214,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[17,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[215,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[216,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[217,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[218,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[219,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[220,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[287,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[288,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[221,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[222,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[144,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[223,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[224,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[225,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[226,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[227,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[228,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[229,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[230,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[231,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[232,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[123,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[145,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[233,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[234,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[235,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[236,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[237,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[238,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[239,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[240,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[241,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[242,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[18,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[243,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[289,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[290,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[291,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[292,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[244,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[245,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[246,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[247,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[248,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[146,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[249,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[250,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[251,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[252,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[253,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[254,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[255,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[256,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[257,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[258,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[19,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[259,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[260,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[261,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[262,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[263,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[264,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[265,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[266,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[267,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[268,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[147,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[269,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[270,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[271,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[272,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[293,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[294,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[273,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[274,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[275,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[276,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[20,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[277,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[278,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[279,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[280,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[281,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[282,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[283,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[284,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[285,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[286,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[148,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[287,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[288,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[289,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[290,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[291,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[292,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[295,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[296,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[297,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[293,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[149,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[294,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[295,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[296,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[297,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[298,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[299,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[300,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[301,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[302,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[303,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[21,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[304,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[305,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[306,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[307,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[308,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[309,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[310,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[311,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[312,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[313,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[22,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[314,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[315,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[316,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[317,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[318,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[319,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[320,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[321,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[322,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[323,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[124,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[23,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[324,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[325,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[326,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[327,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[328,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[329,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[330,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[331,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[332,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[333,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[24,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[334,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[335,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[336,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[337,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[338,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[339,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[340,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[341,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[342,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[343,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[150,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[344,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[298,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[345,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[346,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[347,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[348,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[349,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[350,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[351,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[352,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[151,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[353,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[354,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[355,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[356,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[357,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[358,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[359,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[360,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[361,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[362,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[152,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[363,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[364,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[365,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[299,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[366,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[367,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[368,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[25,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[153,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[154,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[26,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[27,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[4,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[28,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[29,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[30,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[31,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[32,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[33,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[34,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[35,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[155,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[36,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[5,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[156,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[37,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[38,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[39,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[157,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[40,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[158,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[159,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[160,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[161,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[125,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[41,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[42,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[43,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[44,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[45,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[46,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[162,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[163,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[47,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[48,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[6,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[49,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[50,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[164,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[165,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[51,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[52,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[166,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[167,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[168,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[169,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0]]}", "orient": "split", "dtype": { - "element": "object", + "element": "uint32", "et": "object", "cp0_eur": "float64", "cp1_eur_per_mw": "float64", @@ -431,7 +431,7 @@ "order": "float64", "level": "object", "initial_run": "bool", - "recycle": "bool" + "recycle": "object" } }, "line_geodata": { diff --git a/pandapower/networks/power_system_test_case_jsons/case2869pegase.json b/pandapower/networks/power_system_test_case_jsons/case2869pegase.json index dd02ac580..80802ef98 100644 --- a/pandapower/networks/power_system_test_case_jsons/case2869pegase.json +++ b/pandapower/networks/power_system_test_case_jsons/case2869pegase.json @@ -395,7 +395,7 @@ "orient": "split", "dtype": { "power_type": "object", - "element": "object", + "element": "uint32", "et": "object", "points": "object" } @@ -403,10 +403,10 @@ "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\":[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],\"data\":[[0.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[10.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[100.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[101.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[102.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[103.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[104.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[105.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[106.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[107.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[108.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[109.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[11.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[110.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[111.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[112.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[113.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[114.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[115.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[116.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[117.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[118.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[119.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[12.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[120.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[121.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[122.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[123.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[124.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[125.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[126.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[127.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[128.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[129.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[13.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[130.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[131.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[132.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[133.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[134.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[135.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[136.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[137.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[138.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[139.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[14.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[140.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[141.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[142.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[143.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[144.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[145.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[146.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[147.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[148.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[149.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[15.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[150.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[151.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[152.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[153.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[154.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[155.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[156.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[157.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[158.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[159.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[16.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[160.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[161.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[162.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[163.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[164.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[165.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[166.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[167.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[168.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[169.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[17.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[170.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[171.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[172.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[173.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[174.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[175.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[176.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[177.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[178.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[179.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[18.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[180.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[181.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[182.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[183.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[184.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[185.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[186.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[187.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[188.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[189.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[19.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[190.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[191.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[192.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[193.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[194.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[195.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[196.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[197.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[198.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[199.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[2.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[20.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[200.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[201.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[202.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[203.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[204.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[205.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[206.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[207.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[208.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[209.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[21.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[210.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[211.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[212.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[213.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[214.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[215.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[216.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[217.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[218.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[219.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[22.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[220.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[221.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[222.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[223.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[224.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[225.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[226.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[227.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[228.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[229.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[23.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[230.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[231.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[232.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[233.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[234.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[235.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[236.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[237.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[238.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[0.0,\"ext_grid\",0.0,1.0,0.0,0.0,0.0,0.0],[24.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[239.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[240.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[241.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[242.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[243.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[244.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[245.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[246.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[247.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[248.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[25.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[249.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[250.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[251.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[252.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[253.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[254.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[255.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[256.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[257.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[258.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[26.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[259.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[260.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[261.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[262.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[263.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[264.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[265.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[266.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[267.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[268.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[27.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[269.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[270.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[271.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[272.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[273.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[274.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[275.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[276.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[277.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[278.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[28.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[279.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[280.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[281.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[282.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[283.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[284.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[285.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[286.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[287.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[288.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[29.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[289.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[290.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[291.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[292.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[293.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[294.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[295.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[296.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[297.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[298.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[3.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[30.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[299.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[300.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[301.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[302.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[303.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[304.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[305.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[306.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[307.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[308.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[31.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[309.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[310.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[311.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[312.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[313.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[314.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[315.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[316.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[317.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[318.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[32.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[319.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[320.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[321.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[322.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[323.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[324.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[325.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[326.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[327.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[328.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[33.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[329.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[330.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[331.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[332.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[333.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[334.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[335.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[336.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[337.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[338.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[34.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[339.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[340.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[341.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[342.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[343.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[344.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[345.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[346.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[347.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[348.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[35.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[349.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[350.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[351.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[352.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[353.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[354.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[355.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[356.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[357.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[358.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[36.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[359.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[360.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[361.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[362.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[363.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[364.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[365.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[366.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[367.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[368.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[37.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[369.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[370.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[371.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[372.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[373.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[374.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[375.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[376.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[377.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[378.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[38.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[379.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[380.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[381.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[382.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[383.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[384.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[385.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[386.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[387.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[388.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[39.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[389.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[390.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[391.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[392.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[393.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[394.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[395.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[396.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[397.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[398.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[4.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[40.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[399.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[400.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[401.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[402.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[403.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[404.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[405.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[406.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[407.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[408.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[41.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[409.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[410.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[411.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[412.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[413.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[414.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[415.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[416.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[417.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[418.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[42.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[419.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[420.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[421.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[422.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[423.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[424.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[425.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[426.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[427.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[428.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[43.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[429.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[430.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[431.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[432.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[433.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[434.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[435.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[436.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[437.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[438.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[44.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[439.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[440.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[441.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[442.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[443.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[444.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[445.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[446.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[447.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[448.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[45.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[449.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[450.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[451.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[452.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[453.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[454.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[455.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[456.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[457.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[458.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[46.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[459.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[460.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[461.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[462.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[463.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[464.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[465.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[466.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[467.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[468.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[47.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[469.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[470.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[471.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[472.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[473.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[474.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[475.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[476.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[477.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[478.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[48.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[479.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[480.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[481.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[482.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[483.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[484.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[485.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[486.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[487.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[488.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[49.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[489.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[490.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[491.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[492.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[493.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[494.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[495.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[496.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[497.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[498.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[5.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[50.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[499.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[500.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[501.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[502.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[503.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[504.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[505.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[506.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[507.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[508.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[51.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[52.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[53.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[54.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[55.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[56.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[57.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[58.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[59.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[6.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[60.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[61.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[62.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[63.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[64.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[65.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[66.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[67.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[68.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[69.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[7.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[70.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[71.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[72.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[73.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[74.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[75.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[76.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[77.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[78.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[79.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[8.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[80.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[81.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[82.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[83.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[84.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[85.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[86.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[87.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[88.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[89.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[9.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[90.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[91.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[92.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[93.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[94.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[95.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[96.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[97.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[98.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[99.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0]]}", + "_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\":[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],\"data\":[[0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[10,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[100,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[101,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[102,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[103,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[104,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[105,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[106,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[107,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[108,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[109,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[11,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[110,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[111,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[112,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[113,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[114,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[115,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[116,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[117,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[118,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[119,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[12,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[120,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[121,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[122,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[123,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[124,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[125,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[126,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[127,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[128,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[129,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[13,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[130,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[131,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[132,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[133,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[134,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[135,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[136,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[137,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[138,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[139,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[14,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[140,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[141,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[142,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[143,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[144,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[145,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[146,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[147,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[148,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[149,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[15,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[150,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[151,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[152,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[153,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[154,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[155,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[156,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[157,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[158,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[159,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[16,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[160,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[161,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[162,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[163,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[164,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[165,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[166,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[167,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[168,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[169,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[17,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[170,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[171,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[172,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[173,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[174,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[175,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[176,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[177,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[178,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[179,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[18,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[180,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[181,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[182,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[183,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[184,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[185,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[186,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[187,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[188,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[189,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[19,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[190,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[191,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[192,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[193,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[194,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[195,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[196,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[197,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[198,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[199,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[2,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[20,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[200,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[201,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[202,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[203,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[204,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[205,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[206,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[207,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[208,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[209,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[21,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[210,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[211,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[212,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[213,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[214,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[215,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[216,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[217,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[218,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[219,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[22,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[220,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[221,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[222,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[223,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[224,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[225,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[226,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[227,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[228,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[229,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[23,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[230,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[231,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[232,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[233,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[234,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[235,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[236,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[237,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[238,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[0,\"ext_grid\",0.0,1.0,0.0,0.0,0.0,0.0],[24,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[239,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[240,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[241,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[242,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[243,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[244,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[245,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[246,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[247,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[248,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[25,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[249,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[250,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[251,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[252,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[253,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[254,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[255,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[256,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[257,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[258,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[26,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[259,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[260,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[261,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[262,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[263,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[264,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[265,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[266,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[267,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[268,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[27,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[269,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[270,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[271,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[272,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[273,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[274,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[275,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[276,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[277,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[278,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[28,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[279,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[280,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[281,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[282,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[283,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[284,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[285,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[286,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[287,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[288,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[29,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[289,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[290,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[291,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[292,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[293,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[294,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[295,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[296,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[297,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[298,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[3,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[30,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[299,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[300,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[301,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[302,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[303,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[304,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[305,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[306,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[307,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[308,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[31,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[309,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[310,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[311,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[312,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[313,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[314,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[315,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[316,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[317,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[318,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[32,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[319,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[320,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[321,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[322,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[323,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[324,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[325,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[326,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[327,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[328,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[33,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[329,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[330,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[331,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[332,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[333,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[334,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[335,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[336,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[337,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[338,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[34,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[339,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[340,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[341,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[342,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[343,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[344,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[345,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[346,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[347,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[348,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[35,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[349,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[350,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[351,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[352,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[353,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[354,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[355,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[356,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[357,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[358,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[36,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[359,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[360,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[361,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[362,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[363,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[364,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[365,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[366,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[367,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[368,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[37,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[369,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[370,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[371,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[372,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[373,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[374,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[375,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[376,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[377,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[378,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[38,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[379,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[380,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[381,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[382,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[383,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[384,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[385,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[386,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[387,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[388,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[39,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[389,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[390,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[391,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[392,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[393,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[394,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[395,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[396,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[397,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[398,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[4,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[40,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[399,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[400,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[401,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[402,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[403,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[404,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[405,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[406,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[407,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[408,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[41,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[409,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[410,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[411,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[412,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[413,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[414,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[415,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[416,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[417,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[418,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[42,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[419,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[420,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[421,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[422,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[423,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[424,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[425,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[426,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[427,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[428,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[43,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[429,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[430,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[431,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[432,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[433,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[434,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[435,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[436,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[437,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[438,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[44,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[439,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[440,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[441,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[442,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[443,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[444,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[445,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[446,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[447,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[448,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[45,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[449,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[450,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[451,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[452,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[453,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[454,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[455,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[456,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[457,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[458,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[46,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[459,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[460,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[461,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[462,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[463,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[464,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[465,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[466,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[467,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[468,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[47,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[469,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[470,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[471,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[472,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[473,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[474,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[475,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[476,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[477,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[478,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[48,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[479,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[480,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[481,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[482,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[483,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[484,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[485,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[486,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[487,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[488,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[49,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[489,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[490,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[491,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[492,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[493,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[494,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[495,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[496,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[497,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[498,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[5,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[50,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[499,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[500,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[501,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[502,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[503,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[504,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[505,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[506,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[507,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[508,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[51,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[52,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[53,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[54,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[55,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[56,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[57,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[58,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[59,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[6,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[60,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[61,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[62,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[63,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[64,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[65,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[66,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[67,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[68,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[69,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[7,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[70,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[71,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[72,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[73,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[74,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[75,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[76,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[77,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[78,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[79,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[8,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[80,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[81,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[82,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[83,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[84,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[85,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[86,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[87,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[88,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[89,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[9,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[90,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[91,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[92,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[93,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[94,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[95,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[96,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[97,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[98,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[99,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0]]}", "orient": "split", "dtype": { - "element": "object", + "element": "uint32", "et": "object", "cp0_eur": "float64", "cp1_eur_per_mw": "float64", @@ -427,7 +427,7 @@ "order": "float64", "level": "object", "initial_run": "bool", - "recycle": "bool" + "recycle": "object" } }, "line_geodata": { diff --git a/pandapower/networks/power_system_test_case_jsons/case30.json b/pandapower/networks/power_system_test_case_jsons/case30.json index 747102a28..18817eebc 100644 --- a/pandapower/networks/power_system_test_case_jsons/case30.json +++ b/pandapower/networks/power_system_test_case_jsons/case30.json @@ -393,7 +393,7 @@ "orient": "split", "dtype": { "power_type": "object", - "element": "object", + "element": "uint32", "et": "object", "points": "object" } @@ -401,10 +401,10 @@ "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\":[0,1,2,3,4,5],\"data\":[[0.0,\"ext_grid\",0.0,2.0,0.02,0.0,0.0,0.0],[0.0,\"gen\",0.0,1.75,0.0175,0.0,0.0,0.0],[1.0,\"gen\",0.0,1.0,0.0625,0.0,0.0,0.0],[2.0,\"gen\",0.0,3.25,0.00834,0.0,0.0,0.0],[3.0,\"gen\",0.0,3.0,0.025,0.0,0.0,0.0],[4.0,\"gen\",0.0,3.0,0.025,0.0,0.0,0.0]]}", + "_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\":[0,1,2,3,4,5],\"data\":[[0,\"ext_grid\",0.0,2.0,0.02,0.0,0.0,0.0],[0,\"gen\",0.0,1.75,0.0175,0.0,0.0,0.0],[1,\"gen\",0.0,1.0,0.0625,0.0,0.0,0.0],[2,\"gen\",0.0,3.25,0.00834,0.0,0.0,0.0],[3,\"gen\",0.0,3.0,0.025,0.0,0.0,0.0],[4,\"gen\",0.0,3.0,0.025,0.0,0.0,0.0]]}", "orient": "split", "dtype": { - "element": "object", + "element": "uint32", "et": "object", "cp0_eur": "float64", "cp1_eur_per_mw": "float64", @@ -425,7 +425,7 @@ "order": "float64", "level": "object", "initial_run": "bool", - "recycle": "bool" + "recycle": "object" } }, "line_geodata": { diff --git a/pandapower/networks/power_system_test_case_jsons/case300.json b/pandapower/networks/power_system_test_case_jsons/case300.json index ae8f4f01c..0f3c3dcfc 100644 --- a/pandapower/networks/power_system_test_case_jsons/case300.json +++ b/pandapower/networks/power_system_test_case_jsons/case300.json @@ -395,7 +395,7 @@ "orient": "split", "dtype": { "power_type": "object", - "element": "object", + "element": "uint32", "et": "object", "points": "object" } @@ -403,10 +403,10 @@ "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\":[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],\"data\":[[0.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[1.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[10.0,\"gen\",0.0,20.0,0.00518135,0.0,0.0,0.0],[11.0,\"gen\",0.0,20.0,0.0416667,0.0,0.0,0.0],[12.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[13.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[14.0,\"gen\",0.0,20.0,0.0355872,0.0,0.0,0.0],[15.0,\"gen\",0.0,20.0,0.0143678,0.0,0.0,0.0],[16.0,\"gen\",0.0,20.0,0.119048,0.0,0.0,0.0],[17.0,\"gen\",0.0,20.0,0.0460829,0.0,0.0,0.0],[18.0,\"gen\",0.0,20.0,0.0970874,0.0,0.0,0.0],[19.0,\"gen\",0.0,20.0,0.0268817,0.0,0.0,0.0],[2.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[20.0,\"gen\",0.0,20.0,0.0462963,0.0,0.0,0.0],[21.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[22.0,\"gen\",0.0,20.0,0.0487805,0.0,0.0,0.0],[23.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[24.0,\"gen\",0.0,20.0,0.0438596,0.0,0.0,0.0],[25.0,\"gen\",0.0,20.0,0.119048,0.0,0.0,0.0],[26.0,\"gen\",0.0,20.0,0.05,0.0,0.0,0.0],[27.0,\"gen\",0.0,20.0,0.00833333,0.0,0.0,0.0],[28.0,\"gen\",0.0,20.0,0.00833333,0.0,0.0,0.0],[29.0,\"gen\",0.0,20.0,0.0210526,0.0,0.0,0.0],[3.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[30.0,\"gen\",0.0,20.0,0.00506842,0.0,0.0,0.0],[31.0,\"gen\",0.0,20.0,0.0235849,0.0,0.0,0.0],[32.0,\"gen\",0.0,20.0,0.0367647,0.0,0.0,0.0],[33.0,\"gen\",0.0,20.0,0.1,0.0,0.0,0.0],[34.0,\"gen\",0.0,20.0,0.0222222,0.0,0.0,0.0],[35.0,\"gen\",0.0,20.0,0.04,0.0,0.0,0.0],[36.0,\"gen\",0.0,20.0,0.0330033,0.0,0.0,0.0],[37.0,\"gen\",0.0,20.0,0.0289855,0.0,0.0,0.0],[38.0,\"gen\",0.0,20.0,0.0333333,0.0,0.0,0.0],[39.0,\"gen\",0.0,20.0,0.0166667,0.0,0.0,0.0],[4.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[40.0,\"gen\",0.0,20.0,0.04,0.0,0.0,0.0],[41.0,\"gen\",0.0,20.0,0.0181818,0.0,0.0,0.0],[42.0,\"gen\",0.0,20.0,0.0173783,0.0,0.0,0.0],[43.0,\"gen\",0.0,20.0,0.0588235,0.0,0.0,0.0],[44.0,\"gen\",0.0,20.0,0.119048,0.0,0.0,0.0],[45.0,\"gen\",0.0,20.0,0.0214133,0.0,0.0,0.0],[46.0,\"gen\",0.0,20.0,0.0160514,0.0,0.0,0.0],[47.0,\"gen\",0.0,20.0,0.00826446,0.0,0.0,0.0],[48.0,\"gen\",0.0,20.0,0.042735,0.0,0.0,0.0],[49.0,\"gen\",0.0,20.0,0.0268817,0.0,0.0,0.0],[5.0,\"gen\",0.0,20.0,0.0266667,0.0,0.0,0.0],[50.0,\"gen\",0.0,20.0,0.030303,0.0,0.0,0.0],[51.0,\"gen\",0.0,20.0,0.0540541,0.0,0.0,0.0],[52.0,\"gen\",0.0,20.0,0.0243902,0.0,0.0,0.0],[53.0,\"gen\",0.0,20.0,0.02,0.0,0.0,0.0],[54.0,\"gen\",0.0,20.0,0.27027,0.0,0.0,0.0],[0.0,\"ext_grid\",0.0,40.0,0.01,0.0,0.0,0.0],[55.0,\"gen\",0.0,20.0,0.222222,0.0,0.0,0.0],[56.0,\"gen\",0.0,20.0,0.0606061,0.0,0.0,0.0],[57.0,\"gen\",0.0,20.0,0.025,0.0,0.0,0.0],[58.0,\"gen\",0.0,20.0,0.025,0.0,0.0,0.0],[6.0,\"gen\",0.0,20.0,0.0645161,0.0,0.0,0.0],[59.0,\"gen\",0.0,20.0,0.0862069,0.0,0.0,0.0],[60.0,\"gen\",0.0,20.0,0.00773994,0.0,0.0,0.0],[61.0,\"gen\",0.0,20.0,0.0142857,0.0,0.0,0.0],[62.0,\"gen\",0.0,20.0,0.0180832,0.0,0.0,0.0],[63.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[64.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[65.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[66.0,\"gen\",0.0,20.0,0.2,0.0,0.0,0.0],[67.0,\"gen\",0.0,20.0,1.25,0.0,0.0,0.0],[7.0,\"gen\",0.0,20.0,0.0344828,0.0,0.0,0.0],[8.0,\"gen\",0.0,20.0,0.147059,0.0,0.0,0.0],[9.0,\"gen\",0.0,20.0,0.0854701,0.0,0.0,0.0]]}", + "_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\":[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],\"data\":[[0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[1,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[10,\"gen\",0.0,20.0,0.00518135,0.0,0.0,0.0],[11,\"gen\",0.0,20.0,0.0416667,0.0,0.0,0.0],[12,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[13,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[14,\"gen\",0.0,20.0,0.0355872,0.0,0.0,0.0],[15,\"gen\",0.0,20.0,0.0143678,0.0,0.0,0.0],[16,\"gen\",0.0,20.0,0.119048,0.0,0.0,0.0],[17,\"gen\",0.0,20.0,0.0460829,0.0,0.0,0.0],[18,\"gen\",0.0,20.0,0.0970874,0.0,0.0,0.0],[19,\"gen\",0.0,20.0,0.0268817,0.0,0.0,0.0],[2,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[20,\"gen\",0.0,20.0,0.0462963,0.0,0.0,0.0],[21,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[22,\"gen\",0.0,20.0,0.0487805,0.0,0.0,0.0],[23,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[24,\"gen\",0.0,20.0,0.0438596,0.0,0.0,0.0],[25,\"gen\",0.0,20.0,0.119048,0.0,0.0,0.0],[26,\"gen\",0.0,20.0,0.05,0.0,0.0,0.0],[27,\"gen\",0.0,20.0,0.00833333,0.0,0.0,0.0],[28,\"gen\",0.0,20.0,0.00833333,0.0,0.0,0.0],[29,\"gen\",0.0,20.0,0.0210526,0.0,0.0,0.0],[3,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[30,\"gen\",0.0,20.0,0.00506842,0.0,0.0,0.0],[31,\"gen\",0.0,20.0,0.0235849,0.0,0.0,0.0],[32,\"gen\",0.0,20.0,0.0367647,0.0,0.0,0.0],[33,\"gen\",0.0,20.0,0.1,0.0,0.0,0.0],[34,\"gen\",0.0,20.0,0.0222222,0.0,0.0,0.0],[35,\"gen\",0.0,20.0,0.04,0.0,0.0,0.0],[36,\"gen\",0.0,20.0,0.0330033,0.0,0.0,0.0],[37,\"gen\",0.0,20.0,0.0289855,0.0,0.0,0.0],[38,\"gen\",0.0,20.0,0.0333333,0.0,0.0,0.0],[39,\"gen\",0.0,20.0,0.0166667,0.0,0.0,0.0],[4,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[40,\"gen\",0.0,20.0,0.04,0.0,0.0,0.0],[41,\"gen\",0.0,20.0,0.0181818,0.0,0.0,0.0],[42,\"gen\",0.0,20.0,0.0173783,0.0,0.0,0.0],[43,\"gen\",0.0,20.0,0.0588235,0.0,0.0,0.0],[44,\"gen\",0.0,20.0,0.119048,0.0,0.0,0.0],[45,\"gen\",0.0,20.0,0.0214133,0.0,0.0,0.0],[46,\"gen\",0.0,20.0,0.0160514,0.0,0.0,0.0],[47,\"gen\",0.0,20.0,0.00826446,0.0,0.0,0.0],[48,\"gen\",0.0,20.0,0.042735,0.0,0.0,0.0],[49,\"gen\",0.0,20.0,0.0268817,0.0,0.0,0.0],[5,\"gen\",0.0,20.0,0.0266667,0.0,0.0,0.0],[50,\"gen\",0.0,20.0,0.030303,0.0,0.0,0.0],[51,\"gen\",0.0,20.0,0.0540541,0.0,0.0,0.0],[52,\"gen\",0.0,20.0,0.0243902,0.0,0.0,0.0],[53,\"gen\",0.0,20.0,0.02,0.0,0.0,0.0],[54,\"gen\",0.0,20.0,0.27027,0.0,0.0,0.0],[0,\"ext_grid\",0.0,40.0,0.01,0.0,0.0,0.0],[55,\"gen\",0.0,20.0,0.222222,0.0,0.0,0.0],[56,\"gen\",0.0,20.0,0.0606061,0.0,0.0,0.0],[57,\"gen\",0.0,20.0,0.025,0.0,0.0,0.0],[58,\"gen\",0.0,20.0,0.025,0.0,0.0,0.0],[6,\"gen\",0.0,20.0,0.0645161,0.0,0.0,0.0],[59,\"gen\",0.0,20.0,0.0862069,0.0,0.0,0.0],[60,\"gen\",0.0,20.0,0.00773994,0.0,0.0,0.0],[61,\"gen\",0.0,20.0,0.0142857,0.0,0.0,0.0],[62,\"gen\",0.0,20.0,0.0180832,0.0,0.0,0.0],[63,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[64,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[65,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[66,\"gen\",0.0,20.0,0.2,0.0,0.0,0.0],[67,\"gen\",0.0,20.0,1.25,0.0,0.0,0.0],[7,\"gen\",0.0,20.0,0.0344828,0.0,0.0,0.0],[8,\"gen\",0.0,20.0,0.147059,0.0,0.0,0.0],[9,\"gen\",0.0,20.0,0.0854701,0.0,0.0,0.0]]}", "orient": "split", "dtype": { - "element": "object", + "element": "uint32", "et": "object", "cp0_eur": "float64", "cp1_eur_per_mw": "float64", @@ -427,7 +427,7 @@ "order": "float64", "level": "object", "initial_run": "bool", - "recycle": "bool" + "recycle": "object" } }, "line_geodata": { diff --git a/pandapower/networks/power_system_test_case_jsons/case3120sp.json b/pandapower/networks/power_system_test_case_jsons/case3120sp.json index a5133b081..0fbdbc316 100644 --- a/pandapower/networks/power_system_test_case_jsons/case3120sp.json +++ b/pandapower/networks/power_system_test_case_jsons/case3120sp.json @@ -399,7 +399,7 @@ "orient": "split", "dtype": { "power_type": "object", - "element": "object", + "element": "uint32", "et": "object", "points": "object" } @@ -407,10 +407,10 @@ "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\":[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],\"data\":[[0.0,\"gen\",0.0,158.610000000000014,0.0,0.0,0.0,0.0],[1.0,\"gen\",0.0,158.610000000000014,0.0,0.0,0.0,0.0],[4.0,\"gen\",0.0,107.030000000000015,0.0,0.0,0.0,0.0],[51.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[48.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[52.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[53.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[54.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[49.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[55.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[56.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[50.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[57.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[5.0,\"sgen\",0.0,107.030000000000015,0.0,0.0,0.0,0.0],[58.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[59.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[60.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[51.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[52.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[61.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[53.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[54.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[55.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[62.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[6.0,\"sgen\",0.0,107.030000000000015,0.0,0.0,0.0,0.0],[56.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[63.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[57.0,\"gen\",0.0,158.610000000000014,0.0,0.0,0.0,0.0],[64.0,\"sgen\",0.0,158.610000000000014,0.0,0.0,0.0,0.0],[58.0,\"gen\",0.0,158.610000000000014,0.0,0.0,0.0,0.0],[65.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[59.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[66.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[67.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[60.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[5.0,\"gen\",0.0,143.52000000000001,0.0,0.0,0.0,0.0],[68.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[69.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[61.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[70.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[62.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[71.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[72.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[63.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[73.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[74.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[7.0,\"sgen\",0.0,143.52000000000001,0.0,0.0,0.0,0.0],[75.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[76.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[77.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[64.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[78.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[79.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[65.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[66.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[80.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[67.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[8.0,\"sgen\",0.0,143.52000000000001,0.0,0.0,0.0,0.0],[81.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[82.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[83.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[68.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[84.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[85.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[86.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[69.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[87.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[88.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[6.0,\"gen\",0.0,143.52000000000001,0.0,0.0,0.0,0.0],[70.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[89.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[71.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[90.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[91.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[92.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[93.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[72.0,\"gen\",0.0,143.52000000000001,0.0,0.0,0.0,0.0],[94.0,\"sgen\",0.0,143.52000000000001,0.0,0.0,0.0,0.0],[95.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[7.0,\"gen\",0.0,143.52000000000001,0.0,0.0,0.0,0.0],[96.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[97.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[98.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[99.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[100.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[101.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[73.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[74.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[102.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[103.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[9.0,\"sgen\",0.0,143.52000000000001,0.0,0.0,0.0,0.0],[75.0,\"gen\",0.0,148.160000000000025,0.0,0.0,0.0,0.0],[104.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[105.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[106.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[107.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[76.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[108.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[109.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[77.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[110.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[8.0,\"gen\",0.0,143.52000000000001,0.0,0.0,0.0,0.0],[78.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[111.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[112.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[113.0,\"sgen\",0.0,157.0,0.0,0.0,0.0,0.0],[79.0,\"gen\",0.0,157.0,0.0,0.0,0.0,0.0],[80.0,\"gen\",0.0,157.0,0.0,0.0,0.0,0.0],[114.0,\"sgen\",0.0,157.0,0.0,0.0,0.0,0.0],[115.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[116.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[81.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[0.0,\"sgen\",0.0,107.030000000000015,0.0,0.0,0.0,0.0],[9.0,\"gen\",0.0,143.52000000000001,0.0,0.0,0.0,0.0],[117.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[118.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[119.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[82.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[120.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[83.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[84.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[85.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[121.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[86.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[10.0,\"gen\",0.0,148.160000000000025,0.0,0.0,0.0,0.0],[87.0,\"gen\",0.0,126.620000000000004,0.0,0.0,0.0,0.0],[88.0,\"gen\",0.0,126.620000000000004,0.0,0.0,0.0,0.0],[122.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[123.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[124.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[125.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[126.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[89.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[127.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[128.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[11.0,\"gen\",0.0,148.160000000000025,0.0,0.0,0.0,0.0],[129.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[130.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[131.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[132.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[133.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[134.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[135.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[136.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[90.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[137.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[10.0,\"sgen\",0.0,148.160000000000025,0.0,0.0,0.0,0.0],[91.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[92.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[93.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[138.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[94.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[139.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[95.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[140.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[141.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[142.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[11.0,\"sgen\",0.0,148.160000000000025,0.0,0.0,0.0,0.0],[96.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[143.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[144.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[97.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[145.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[146.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[147.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[98.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[99.0,\"gen\",0.0,130.490000000000009,0.0,0.0,0.0,0.0],[100.0,\"gen\",0.0,130.490000000000009,0.0,0.0,0.0,0.0],[12.0,\"sgen\",0.0,148.160000000000025,0.0,0.0,0.0,0.0],[148.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[101.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[149.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[102.0,\"gen\",0.0,132.330000000000012,0.0,0.0,0.0,0.0],[150.0,\"sgen\",0.0,132.330000000000012,0.0,0.0,0.0,0.0],[103.0,\"gen\",0.0,132.330000000000012,0.0,0.0,0.0,0.0],[151.0,\"sgen\",0.0,132.330000000000012,0.0,0.0,0.0,0.0],[104.0,\"gen\",0.0,130.490000000000009,0.0,0.0,0.0,0.0],[152.0,\"sgen\",0.0,130.490000000000009,0.0,0.0,0.0,0.0],[153.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[12.0,\"gen\",0.0,148.160000000000025,0.0,0.0,0.0,0.0],[154.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[155.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[105.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[156.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[157.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[158.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[159.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[106.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[160.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[107.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[13.0,\"sgen\",0.0,148.160000000000025,0.0,0.0,0.0,0.0],[108.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[161.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[109.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[110.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[162.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[163.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[164.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[165.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[166.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[111.0,\"gen\",0.0,136.590000000000003,0.0,0.0,0.0,0.0],[13.0,\"gen\",0.0,134.04000000000002,0.0,0.0,0.0,0.0],[167.0,\"sgen\",0.0,136.590000000000003,0.0,0.0,0.0,0.0],[112.0,\"gen\",0.0,136.590000000000003,0.0,0.0,0.0,0.0],[113.0,\"gen\",0.0,136.590000000000003,0.0,0.0,0.0,0.0],[168.0,\"sgen\",0.0,139.960000000000008,0.0,0.0,0.0,0.0],[169.0,\"sgen\",0.0,139.960000000000008,0.0,0.0,0.0,0.0],[170.0,\"sgen\",0.0,139.960000000000008,0.0,0.0,0.0,0.0],[114.0,\"gen\",0.0,139.960000000000008,0.0,0.0,0.0,0.0],[115.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[116.0,\"gen\",0.0,128.210000000000008,0.0,0.0,0.0,0.0],[171.0,\"sgen\",0.0,128.210000000000008,0.0,0.0,0.0,0.0],[14.0,\"sgen\",0.0,134.04000000000002,0.0,0.0,0.0,0.0],[117.0,\"gen\",0.0,128.210000000000008,0.0,0.0,0.0,0.0],[172.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[173.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[174.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[175.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[118.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[176.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[119.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[177.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[178.0,\"sgen\",0.0,129.990000000000009,0.0,0.0,0.0,0.0],[1.0,\"sgen\",0.0,107.030000000000015,0.0,0.0,0.0,0.0],[15.0,\"sgen\",0.0,134.04000000000002,0.0,0.0,0.0,0.0],[120.0,\"gen\",0.0,129.990000000000009,0.0,0.0,0.0,0.0],[121.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[122.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[123.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[124.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[179.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[125.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[126.0,\"gen\",0.0,163.159999999999997,0.0,0.0,0.0,0.0],[180.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[127.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[14.0,\"gen\",0.0,134.04000000000002,0.0,0.0,0.0,0.0],[181.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[128.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[182.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[183.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[129.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[184.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[185.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[130.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[131.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[186.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[16.0,\"sgen\",0.0,134.04000000000002,0.0,0.0,0.0,0.0],[132.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[187.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[133.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[134.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[135.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[136.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[188.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[137.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[138.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[189.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[15.0,\"gen\",0.0,126.620000000000004,0.0,0.0,0.0,0.0],[139.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[190.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[191.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[140.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[141.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[142.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[192.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[143.0,\"gen\",0.0,135.599999999999994,0.0,0.0,0.0,0.0],[193.0,\"sgen\",0.0,135.599999999999994,0.0,0.0,0.0,0.0],[194.0,\"sgen\",0.0,135.599999999999994,0.0,0.0,0.0,0.0],[17.0,\"sgen\",0.0,126.620000000000004,0.0,0.0,0.0,0.0],[144.0,\"gen\",0.0,135.599999999999994,0.0,0.0,0.0,0.0],[145.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[146.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[147.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[148.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[149.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[150.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[151.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[195.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[152.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[18.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[153.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[154.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[196.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[155.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[197.0,\"sgen\",0.0,125.480000000000004,0.0,0.0,0.0,0.0],[156.0,\"gen\",0.0,125.480000000000004,0.0,0.0,0.0,0.0],[157.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[158.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[159.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[198.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[19.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[160.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[161.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[162.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[163.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[164.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[165.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[166.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[167.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[168.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[169.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[16.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[170.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[171.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[199.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[172.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[173.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[174.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[175.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[176.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[177.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[200.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[17.0,\"gen\",0.0,130.490000000000009,0.0,0.0,0.0,0.0],[201.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[202.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[178.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[179.0,\"gen\",0.0,139.010000000000019,0.0,0.0,0.0,0.0],[203.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[180.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[204.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[181.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[182.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[183.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[18.0,\"gen\",0.0,130.490000000000009,0.0,0.0,0.0,0.0],[184.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[185.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[205.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[206.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[186.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[187.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[207.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[188.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[208.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[209.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[2.0,\"gen\",0.0,107.030000000000015,0.0,0.0,0.0,0.0],[19.0,\"gen\",0.0,132.330000000000012,0.0,0.0,0.0,0.0],[189.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[210.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[211.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[212.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[190.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[191.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[192.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[193.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[213.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[214.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[20.0,\"gen\",0.0,132.330000000000012,0.0,0.0,0.0,0.0],[194.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[195.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[196.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[197.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[198.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[199.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[215.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[200.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[216.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[201.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[20.0,\"sgen\",0.0,136.590000000000003,0.0,0.0,0.0,0.0],[217.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[202.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[218.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[219.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[220.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[221.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[203.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[204.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[222.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[205.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[21.0,\"gen\",0.0,136.590000000000003,0.0,0.0,0.0,0.0],[223.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[224.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[225.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[206.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[226.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[207.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[227.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[208.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[228.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[229.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[22.0,\"gen\",0.0,139.960000000000008,0.0,0.0,0.0,0.0],[209.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[230.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[231.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[210.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[232.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[233.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[234.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[211.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[235.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[212.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[23.0,\"gen\",0.0,128.210000000000008,0.0,0.0,0.0,0.0],[236.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[237.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[238.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[213.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[214.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[239.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[215.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[216.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[217.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[240.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[24.0,\"gen\",0.0,128.210000000000008,0.0,0.0,0.0,0.0],[218.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[219.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[241.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[220.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[221.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[222.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[223.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[242.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[224.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[225.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[21.0,\"sgen\",0.0,128.210000000000008,0.0,0.0,0.0,0.0],[226.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[243.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[244.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[227.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[245.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[228.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[229.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[246.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[230.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[247.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[25.0,\"gen\",0.0,128.210000000000008,0.0,0.0,0.0,0.0],[231.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[232.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[233.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[248.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[234.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[249.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[235.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[250.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[251.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[252.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[22.0,\"sgen\",0.0,128.210000000000008,0.0,0.0,0.0,0.0],[236.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[237.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[238.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[253.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[254.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[255.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[256.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[239.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[240.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[241.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[3.0,\"gen\",0.0,107.030000000000015,0.0,0.0,0.0,0.0],[23.0,\"sgen\",0.0,137.400000000000006,0.0,0.0,0.0,0.0],[242.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[243.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[244.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[245.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[246.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[24.0,\"sgen\",0.0,137.400000000000006,0.0,0.0,0.0,0.0],[25.0,\"sgen\",0.0,137.400000000000006,0.0,0.0,0.0,0.0],[26.0,\"sgen\",0.0,137.400000000000006,0.0,0.0,0.0,0.0],[26.0,\"gen\",0.0,129.990000000000009,0.0,0.0,0.0,0.0],[27.0,\"sgen\",0.0,129.990000000000009,0.0,0.0,0.0,0.0],[27.0,\"gen\",0.0,129.990000000000009,0.0,0.0,0.0,0.0],[28.0,\"sgen\",0.0,135.599999999999994,0.0,0.0,0.0,0.0],[28.0,\"gen\",0.0,163.159999999999997,0.0,0.0,0.0,0.0],[29.0,\"sgen\",0.0,163.159999999999997,0.0,0.0,0.0,0.0],[2.0,\"sgen\",0.0,107.030000000000015,0.0,0.0,0.0,0.0],[30.0,\"sgen\",0.0,163.159999999999997,0.0,0.0,0.0,0.0],[29.0,\"gen\",0.0,163.159999999999997,0.0,0.0,0.0,0.0],[30.0,\"gen\",0.0,163.159999999999997,0.0,0.0,0.0,0.0],[31.0,\"sgen\",0.0,163.159999999999997,0.0,0.0,0.0,0.0],[31.0,\"gen\",0.0,163.159999999999997,0.0,0.0,0.0,0.0],[32.0,\"gen\",0.0,139.010000000000019,0.0,0.0,0.0,0.0],[32.0,\"sgen\",0.0,139.010000000000019,0.0,0.0,0.0,0.0],[33.0,\"sgen\",0.0,139.010000000000019,0.0,0.0,0.0,0.0],[33.0,\"gen\",0.0,139.010000000000019,0.0,0.0,0.0,0.0],[34.0,\"sgen\",0.0,139.010000000000019,0.0,0.0,0.0,0.0],[0.0,\"ext_grid\",0.0,107.030000000000015,0.0,0.0,0.0,0.0],[35.0,\"sgen\",0.0,139.010000000000019,0.0,0.0,0.0,0.0],[34.0,\"gen\",0.0,139.010000000000019,0.0,0.0,0.0,0.0],[36.0,\"sgen\",0.0,139.010000000000019,0.0,0.0,0.0,0.0],[35.0,\"gen\",0.0,125.480000000000004,0.0,0.0,0.0,0.0],[36.0,\"gen\",0.0,125.480000000000004,0.0,0.0,0.0,0.0],[37.0,\"sgen\",0.0,125.480000000000004,0.0,0.0,0.0,0.0],[38.0,\"sgen\",0.0,125.480000000000004,0.0,0.0,0.0,0.0],[37.0,\"gen\",0.0,125.480000000000004,0.0,0.0,0.0,0.0],[39.0,\"sgen\",0.0,137.400000000000006,0.0,0.0,0.0,0.0],[38.0,\"gen\",0.0,137.400000000000006,0.0,0.0,0.0,0.0],[3.0,\"sgen\",0.0,107.030000000000015,0.0,0.0,0.0,0.0],[40.0,\"sgen\",0.0,137.400000000000006,0.0,0.0,0.0,0.0],[41.0,\"sgen\",0.0,137.400000000000006,0.0,0.0,0.0,0.0],[39.0,\"gen\",0.0,137.400000000000006,0.0,0.0,0.0,0.0],[40.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[42.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[43.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[41.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[44.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[42.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[43.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[4.0,\"sgen\",0.0,107.030000000000015,0.0,0.0,0.0,0.0],[45.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[46.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[44.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[47.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[48.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[45.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[46.0,\"gen\",0.0,107.030000000000015,0.0,0.0,0.0,0.0],[49.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[50.0,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[47.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0]]}", + "_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\":[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],\"data\":[[0,\"gen\",0.0,158.610000000000014,0.0,0.0,0.0,0.0],[1,\"gen\",0.0,158.610000000000014,0.0,0.0,0.0,0.0],[4,\"gen\",0.0,107.030000000000015,0.0,0.0,0.0,0.0],[51,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[48,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[52,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[53,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[54,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[49,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[55,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[56,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[50,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[57,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[5,\"sgen\",0.0,107.030000000000015,0.0,0.0,0.0,0.0],[58,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[59,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[60,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[51,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[52,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[61,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[53,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[54,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[55,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[62,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[6,\"sgen\",0.0,107.030000000000015,0.0,0.0,0.0,0.0],[56,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[63,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[57,\"gen\",0.0,158.610000000000014,0.0,0.0,0.0,0.0],[64,\"sgen\",0.0,158.610000000000014,0.0,0.0,0.0,0.0],[58,\"gen\",0.0,158.610000000000014,0.0,0.0,0.0,0.0],[65,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[59,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[66,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[67,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[60,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[5,\"gen\",0.0,143.52000000000001,0.0,0.0,0.0,0.0],[68,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[69,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[61,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[70,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[62,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[71,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[72,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[63,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[73,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[74,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[7,\"sgen\",0.0,143.52000000000001,0.0,0.0,0.0,0.0],[75,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[76,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[77,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[64,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[78,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[79,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[65,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[66,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[80,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[67,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[8,\"sgen\",0.0,143.52000000000001,0.0,0.0,0.0,0.0],[81,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[82,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[83,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[68,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[84,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[85,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[86,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[69,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[87,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[88,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[6,\"gen\",0.0,143.52000000000001,0.0,0.0,0.0,0.0],[70,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[89,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[71,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[90,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[91,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[92,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[93,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[72,\"gen\",0.0,143.52000000000001,0.0,0.0,0.0,0.0],[94,\"sgen\",0.0,143.52000000000001,0.0,0.0,0.0,0.0],[95,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[7,\"gen\",0.0,143.52000000000001,0.0,0.0,0.0,0.0],[96,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[97,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[98,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[99,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[100,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[101,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[73,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[74,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[102,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[103,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[9,\"sgen\",0.0,143.52000000000001,0.0,0.0,0.0,0.0],[75,\"gen\",0.0,148.160000000000025,0.0,0.0,0.0,0.0],[104,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[105,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[106,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[107,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[76,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[108,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[109,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[77,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[110,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[8,\"gen\",0.0,143.52000000000001,0.0,0.0,0.0,0.0],[78,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[111,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[112,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[113,\"sgen\",0.0,157.0,0.0,0.0,0.0,0.0],[79,\"gen\",0.0,157.0,0.0,0.0,0.0,0.0],[80,\"gen\",0.0,157.0,0.0,0.0,0.0,0.0],[114,\"sgen\",0.0,157.0,0.0,0.0,0.0,0.0],[115,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[116,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[81,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[0,\"sgen\",0.0,107.030000000000015,0.0,0.0,0.0,0.0],[9,\"gen\",0.0,143.52000000000001,0.0,0.0,0.0,0.0],[117,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[118,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[119,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[82,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[120,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[83,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[84,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[85,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[121,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[86,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[10,\"gen\",0.0,148.160000000000025,0.0,0.0,0.0,0.0],[87,\"gen\",0.0,126.620000000000004,0.0,0.0,0.0,0.0],[88,\"gen\",0.0,126.620000000000004,0.0,0.0,0.0,0.0],[122,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[123,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[124,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[125,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[126,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[89,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[127,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[128,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[11,\"gen\",0.0,148.160000000000025,0.0,0.0,0.0,0.0],[129,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[130,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[131,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[132,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[133,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[134,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[135,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[136,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[90,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[137,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[10,\"sgen\",0.0,148.160000000000025,0.0,0.0,0.0,0.0],[91,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[92,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[93,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[138,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[94,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[139,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[95,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[140,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[141,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[142,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[11,\"sgen\",0.0,148.160000000000025,0.0,0.0,0.0,0.0],[96,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[143,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[144,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[97,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[145,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[146,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[147,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[98,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[99,\"gen\",0.0,130.490000000000009,0.0,0.0,0.0,0.0],[100,\"gen\",0.0,130.490000000000009,0.0,0.0,0.0,0.0],[12,\"sgen\",0.0,148.160000000000025,0.0,0.0,0.0,0.0],[148,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[101,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[149,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[102,\"gen\",0.0,132.330000000000012,0.0,0.0,0.0,0.0],[150,\"sgen\",0.0,132.330000000000012,0.0,0.0,0.0,0.0],[103,\"gen\",0.0,132.330000000000012,0.0,0.0,0.0,0.0],[151,\"sgen\",0.0,132.330000000000012,0.0,0.0,0.0,0.0],[104,\"gen\",0.0,130.490000000000009,0.0,0.0,0.0,0.0],[152,\"sgen\",0.0,130.490000000000009,0.0,0.0,0.0,0.0],[153,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[12,\"gen\",0.0,148.160000000000025,0.0,0.0,0.0,0.0],[154,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[155,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[105,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[156,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[157,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[158,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[159,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[106,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[160,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[107,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[13,\"sgen\",0.0,148.160000000000025,0.0,0.0,0.0,0.0],[108,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[161,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[109,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[110,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[162,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[163,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[164,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[165,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[166,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[111,\"gen\",0.0,136.590000000000003,0.0,0.0,0.0,0.0],[13,\"gen\",0.0,134.04000000000002,0.0,0.0,0.0,0.0],[167,\"sgen\",0.0,136.590000000000003,0.0,0.0,0.0,0.0],[112,\"gen\",0.0,136.590000000000003,0.0,0.0,0.0,0.0],[113,\"gen\",0.0,136.590000000000003,0.0,0.0,0.0,0.0],[168,\"sgen\",0.0,139.960000000000008,0.0,0.0,0.0,0.0],[169,\"sgen\",0.0,139.960000000000008,0.0,0.0,0.0,0.0],[170,\"sgen\",0.0,139.960000000000008,0.0,0.0,0.0,0.0],[114,\"gen\",0.0,139.960000000000008,0.0,0.0,0.0,0.0],[115,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[116,\"gen\",0.0,128.210000000000008,0.0,0.0,0.0,0.0],[171,\"sgen\",0.0,128.210000000000008,0.0,0.0,0.0,0.0],[14,\"sgen\",0.0,134.04000000000002,0.0,0.0,0.0,0.0],[117,\"gen\",0.0,128.210000000000008,0.0,0.0,0.0,0.0],[172,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[173,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[174,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[175,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[118,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[176,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[119,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[177,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[178,\"sgen\",0.0,129.990000000000009,0.0,0.0,0.0,0.0],[1,\"sgen\",0.0,107.030000000000015,0.0,0.0,0.0,0.0],[15,\"sgen\",0.0,134.04000000000002,0.0,0.0,0.0,0.0],[120,\"gen\",0.0,129.990000000000009,0.0,0.0,0.0,0.0],[121,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[122,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[123,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[124,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[179,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[125,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[126,\"gen\",0.0,163.159999999999997,0.0,0.0,0.0,0.0],[180,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[127,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[14,\"gen\",0.0,134.04000000000002,0.0,0.0,0.0,0.0],[181,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[128,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[182,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[183,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[129,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[184,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[185,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[130,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[131,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[186,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[16,\"sgen\",0.0,134.04000000000002,0.0,0.0,0.0,0.0],[132,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[187,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[133,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[134,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[135,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[136,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[188,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[137,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[138,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[189,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[15,\"gen\",0.0,126.620000000000004,0.0,0.0,0.0,0.0],[139,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[190,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[191,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[140,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[141,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[142,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[192,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[143,\"gen\",0.0,135.599999999999994,0.0,0.0,0.0,0.0],[193,\"sgen\",0.0,135.599999999999994,0.0,0.0,0.0,0.0],[194,\"sgen\",0.0,135.599999999999994,0.0,0.0,0.0,0.0],[17,\"sgen\",0.0,126.620000000000004,0.0,0.0,0.0,0.0],[144,\"gen\",0.0,135.599999999999994,0.0,0.0,0.0,0.0],[145,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[146,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[147,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[148,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[149,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[150,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[151,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[195,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[152,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[18,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[153,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[154,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[196,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[155,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[197,\"sgen\",0.0,125.480000000000004,0.0,0.0,0.0,0.0],[156,\"gen\",0.0,125.480000000000004,0.0,0.0,0.0,0.0],[157,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[158,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[159,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[198,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[19,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[160,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[161,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[162,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[163,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[164,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[165,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[166,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[167,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[168,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[169,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[16,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[170,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[171,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[199,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[172,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[173,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[174,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[175,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[176,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[177,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[200,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[17,\"gen\",0.0,130.490000000000009,0.0,0.0,0.0,0.0],[201,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[202,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[178,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[179,\"gen\",0.0,139.010000000000019,0.0,0.0,0.0,0.0],[203,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[180,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[204,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[181,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[182,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[183,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[18,\"gen\",0.0,130.490000000000009,0.0,0.0,0.0,0.0],[184,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[185,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[205,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[206,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[186,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[187,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[207,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[188,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[208,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[209,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[2,\"gen\",0.0,107.030000000000015,0.0,0.0,0.0,0.0],[19,\"gen\",0.0,132.330000000000012,0.0,0.0,0.0,0.0],[189,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[210,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[211,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[212,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[190,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[191,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[192,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[193,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[213,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[214,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[20,\"gen\",0.0,132.330000000000012,0.0,0.0,0.0,0.0],[194,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[195,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[196,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[197,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[198,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[199,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[215,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[200,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[216,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[201,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[20,\"sgen\",0.0,136.590000000000003,0.0,0.0,0.0,0.0],[217,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[202,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[218,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[219,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[220,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[221,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[203,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[204,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[222,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[205,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[21,\"gen\",0.0,136.590000000000003,0.0,0.0,0.0,0.0],[223,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[224,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[225,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[206,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[226,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[207,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[227,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[208,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[228,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[229,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[22,\"gen\",0.0,139.960000000000008,0.0,0.0,0.0,0.0],[209,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[230,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[231,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[210,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[232,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[233,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[234,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[211,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[235,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[212,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[23,\"gen\",0.0,128.210000000000008,0.0,0.0,0.0,0.0],[236,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[237,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[238,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[213,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[214,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[239,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[215,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[216,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[217,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[240,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[24,\"gen\",0.0,128.210000000000008,0.0,0.0,0.0,0.0],[218,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[219,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[241,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[220,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[221,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[222,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[223,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[242,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[224,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[225,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[21,\"sgen\",0.0,128.210000000000008,0.0,0.0,0.0,0.0],[226,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[243,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[244,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[227,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[245,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[228,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[229,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[246,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[230,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[247,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[25,\"gen\",0.0,128.210000000000008,0.0,0.0,0.0,0.0],[231,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[232,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[233,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[248,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[234,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[249,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[235,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[250,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[251,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[252,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[22,\"sgen\",0.0,128.210000000000008,0.0,0.0,0.0,0.0],[236,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[237,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[238,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[253,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[254,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[255,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[256,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[239,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[240,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[241,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[3,\"gen\",0.0,107.030000000000015,0.0,0.0,0.0,0.0],[23,\"sgen\",0.0,137.400000000000006,0.0,0.0,0.0,0.0],[242,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[243,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[244,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[245,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[246,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[24,\"sgen\",0.0,137.400000000000006,0.0,0.0,0.0,0.0],[25,\"sgen\",0.0,137.400000000000006,0.0,0.0,0.0,0.0],[26,\"sgen\",0.0,137.400000000000006,0.0,0.0,0.0,0.0],[26,\"gen\",0.0,129.990000000000009,0.0,0.0,0.0,0.0],[27,\"sgen\",0.0,129.990000000000009,0.0,0.0,0.0,0.0],[27,\"gen\",0.0,129.990000000000009,0.0,0.0,0.0,0.0],[28,\"sgen\",0.0,135.599999999999994,0.0,0.0,0.0,0.0],[28,\"gen\",0.0,163.159999999999997,0.0,0.0,0.0,0.0],[29,\"sgen\",0.0,163.159999999999997,0.0,0.0,0.0,0.0],[2,\"sgen\",0.0,107.030000000000015,0.0,0.0,0.0,0.0],[30,\"sgen\",0.0,163.159999999999997,0.0,0.0,0.0,0.0],[29,\"gen\",0.0,163.159999999999997,0.0,0.0,0.0,0.0],[30,\"gen\",0.0,163.159999999999997,0.0,0.0,0.0,0.0],[31,\"sgen\",0.0,163.159999999999997,0.0,0.0,0.0,0.0],[31,\"gen\",0.0,163.159999999999997,0.0,0.0,0.0,0.0],[32,\"gen\",0.0,139.010000000000019,0.0,0.0,0.0,0.0],[32,\"sgen\",0.0,139.010000000000019,0.0,0.0,0.0,0.0],[33,\"sgen\",0.0,139.010000000000019,0.0,0.0,0.0,0.0],[33,\"gen\",0.0,139.010000000000019,0.0,0.0,0.0,0.0],[34,\"sgen\",0.0,139.010000000000019,0.0,0.0,0.0,0.0],[0,\"ext_grid\",0.0,107.030000000000015,0.0,0.0,0.0,0.0],[35,\"sgen\",0.0,139.010000000000019,0.0,0.0,0.0,0.0],[34,\"gen\",0.0,139.010000000000019,0.0,0.0,0.0,0.0],[36,\"sgen\",0.0,139.010000000000019,0.0,0.0,0.0,0.0],[35,\"gen\",0.0,125.480000000000004,0.0,0.0,0.0,0.0],[36,\"gen\",0.0,125.480000000000004,0.0,0.0,0.0,0.0],[37,\"sgen\",0.0,125.480000000000004,0.0,0.0,0.0,0.0],[38,\"sgen\",0.0,125.480000000000004,0.0,0.0,0.0,0.0],[37,\"gen\",0.0,125.480000000000004,0.0,0.0,0.0,0.0],[39,\"sgen\",0.0,137.400000000000006,0.0,0.0,0.0,0.0],[38,\"gen\",0.0,137.400000000000006,0.0,0.0,0.0,0.0],[3,\"sgen\",0.0,107.030000000000015,0.0,0.0,0.0,0.0],[40,\"sgen\",0.0,137.400000000000006,0.0,0.0,0.0,0.0],[41,\"sgen\",0.0,137.400000000000006,0.0,0.0,0.0,0.0],[39,\"gen\",0.0,137.400000000000006,0.0,0.0,0.0,0.0],[40,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[42,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[43,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[41,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[44,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[42,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[43,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[4,\"sgen\",0.0,107.030000000000015,0.0,0.0,0.0,0.0],[45,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[46,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[44,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[47,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[48,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[45,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[46,\"gen\",0.0,107.030000000000015,0.0,0.0,0.0,0.0],[49,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[50,\"sgen\",0.0,0.0,0.0,0.0,0.0,0.0],[47,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0]]}", "orient": "split", "dtype": { - "element": "object", + "element": "uint32", "et": "object", "cp0_eur": "float64", "cp1_eur_per_mw": "float64", @@ -431,7 +431,7 @@ "order": "float64", "level": "object", "initial_run": "bool", - "recycle": "bool" + "recycle": "object" } }, "line_geodata": { diff --git a/pandapower/networks/power_system_test_case_jsons/case33bw.json b/pandapower/networks/power_system_test_case_jsons/case33bw.json index 51ba901a3..50c0a1c32 100644 --- a/pandapower/networks/power_system_test_case_jsons/case33bw.json +++ b/pandapower/networks/power_system_test_case_jsons/case33bw.json @@ -390,7 +390,7 @@ "orient": "split", "dtype": { "power_type": "object", - "element": "object", + "element": "uint32", "et": "object", "points": "object" } @@ -401,7 +401,7 @@ "_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\":[0],\"data\":[[0,\"ext_grid\",0.0,20.0,0.0,0.0,0.0,0.0]]}", "orient": "split", "dtype": { - "element": "object", + "element": "uint32", "et": "object", "cp0_eur": "float64", "cp1_eur_per_mw": "float64", @@ -422,7 +422,7 @@ "order": "float64", "level": "object", "initial_run": "bool", - "recycle": "bool" + "recycle": "object" } }, "line_geodata": { diff --git a/pandapower/networks/power_system_test_case_jsons/case39.json b/pandapower/networks/power_system_test_case_jsons/case39.json index d5987b743..eb84d13fc 100644 --- a/pandapower/networks/power_system_test_case_jsons/case39.json +++ b/pandapower/networks/power_system_test_case_jsons/case39.json @@ -394,7 +394,7 @@ "orient": "split", "dtype": { "power_type": "object", - "element": "object", + "element": "uint32", "et": "object", "points": "object" } @@ -402,10 +402,10 @@ "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\":[0,1,2,3,4,5,6,7,8,9],\"data\":[[0.0,\"gen\",0.2,0.3,0.01,0.0,0.0,0.0],[0.0,\"ext_grid\",0.2,0.3,0.01,0.0,0.0,0.0],[1.0,\"gen\",0.2,0.3,0.01,0.0,0.0,0.0],[2.0,\"gen\",0.2,0.3,0.01,0.0,0.0,0.0],[3.0,\"gen\",0.2,0.3,0.01,0.0,0.0,0.0],[4.0,\"gen\",0.2,0.3,0.01,0.0,0.0,0.0],[5.0,\"gen\",0.2,0.3,0.01,0.0,0.0,0.0],[6.0,\"gen\",0.2,0.3,0.01,0.0,0.0,0.0],[7.0,\"gen\",0.2,0.3,0.01,0.0,0.0,0.0],[8.0,\"gen\",0.2,0.3,0.01,0.0,0.0,0.0]]}", + "_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\":[0,1,2,3,4,5,6,7,8,9],\"data\":[[0,\"gen\",0.2,0.3,0.01,0.0,0.0,0.0],[0,\"ext_grid\",0.2,0.3,0.01,0.0,0.0,0.0],[1,\"gen\",0.2,0.3,0.01,0.0,0.0,0.0],[2,\"gen\",0.2,0.3,0.01,0.0,0.0,0.0],[3,\"gen\",0.2,0.3,0.01,0.0,0.0,0.0],[4,\"gen\",0.2,0.3,0.01,0.0,0.0,0.0],[5,\"gen\",0.2,0.3,0.01,0.0,0.0,0.0],[6,\"gen\",0.2,0.3,0.01,0.0,0.0,0.0],[7,\"gen\",0.2,0.3,0.01,0.0,0.0,0.0],[8,\"gen\",0.2,0.3,0.01,0.0,0.0,0.0]]}", "orient": "split", "dtype": { - "element": "object", + "element": "uint32", "et": "object", "cp0_eur": "float64", "cp1_eur_per_mw": "float64", @@ -426,7 +426,7 @@ "order": "float64", "level": "object", "initial_run": "bool", - "recycle": "bool" + "recycle": "object" } }, "line_geodata": { diff --git a/pandapower/networks/power_system_test_case_jsons/case4gs.json b/pandapower/networks/power_system_test_case_jsons/case4gs.json index 91b3e77bf..ba791b9cd 100644 --- a/pandapower/networks/power_system_test_case_jsons/case4gs.json +++ b/pandapower/networks/power_system_test_case_jsons/case4gs.json @@ -393,7 +393,7 @@ "orient": "split", "dtype": { "power_type": "object", - "element": "object", + "element": "uint32", "et": "object", "points": "object" } @@ -404,7 +404,7 @@ "_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": "object", + "element": "uint32", "et": "object", "cp0_eur": "float64", "cp1_eur_per_mw": "float64", @@ -425,7 +425,7 @@ "order": "float64", "level": "object", "initial_run": "bool", - "recycle": "bool" + "recycle": "object" } }, "line_geodata": { diff --git a/pandapower/networks/power_system_test_case_jsons/case5.json b/pandapower/networks/power_system_test_case_jsons/case5.json index c64e9528b..23db015c7 100644 --- a/pandapower/networks/power_system_test_case_jsons/case5.json +++ b/pandapower/networks/power_system_test_case_jsons/case5.json @@ -398,7 +398,7 @@ "orient": "split", "dtype": { "power_type": "object", - "element": "object", + "element": "uint32", "et": "object", "points": "object" } @@ -406,10 +406,10 @@ "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\":[0,1,2,3,4],\"data\":[[0.0,\"gen\",0.0,14.0,0.0,0.0,0.0,0.0],[0.0,\"sgen\",0.0,15.0,0.0,0.0,0.0,0.0],[1.0,\"gen\",0.0,30.0,0.0,0.0,0.0,0.0],[0.0,\"ext_grid\",0.0,40.0,0.0,0.0,0.0,0.0],[2.0,\"gen\",0.0,10.0,0.0,0.0,0.0,0.0]]}", + "_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\":[0,1,2,3,4],\"data\":[[0,\"gen\",0.0,14.0,0.0,0.0,0.0,0.0],[0,\"sgen\",0.0,15.0,0.0,0.0,0.0,0.0],[1,\"gen\",0.0,30.0,0.0,0.0,0.0,0.0],[0,\"ext_grid\",0.0,40.0,0.0,0.0,0.0,0.0],[2,\"gen\",0.0,10.0,0.0,0.0,0.0,0.0]]}", "orient": "split", "dtype": { - "element": "object", + "element": "uint32", "et": "object", "cp0_eur": "float64", "cp1_eur_per_mw": "float64", @@ -430,7 +430,7 @@ "order": "float64", "level": "object", "initial_run": "bool", - "recycle": "bool" + "recycle": "object" } }, "line_geodata": { diff --git a/pandapower/networks/power_system_test_case_jsons/case57.json b/pandapower/networks/power_system_test_case_jsons/case57.json index c23803be0..2e63e2801 100644 --- a/pandapower/networks/power_system_test_case_jsons/case57.json +++ b/pandapower/networks/power_system_test_case_jsons/case57.json @@ -394,7 +394,7 @@ "orient": "split", "dtype": { "power_type": "object", - "element": "object", + "element": "uint32", "et": "object", "points": "object" } @@ -402,10 +402,10 @@ "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\":[0,1,2,3,4,5,6],\"data\":[[0.0,\"ext_grid\",0.0,20.0,0.0775795,0.0,0.0,0.0],[0.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[1.0,\"gen\",0.0,20.0,0.25,0.0,0.0,0.0],[2.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[3.0,\"gen\",0.0,20.0,0.0222222,0.0,0.0,0.0],[4.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[5.0,\"gen\",0.0,20.0,0.0322581,0.0,0.0,0.0]]}", + "_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\":[0,1,2,3,4,5,6],\"data\":[[0,\"ext_grid\",0.0,20.0,0.0775795,0.0,0.0,0.0],[0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[1,\"gen\",0.0,20.0,0.25,0.0,0.0,0.0],[2,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[3,\"gen\",0.0,20.0,0.0222222,0.0,0.0,0.0],[4,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[5,\"gen\",0.0,20.0,0.0322581,0.0,0.0,0.0]]}", "orient": "split", "dtype": { - "element": "object", + "element": "uint32", "et": "object", "cp0_eur": "float64", "cp1_eur_per_mw": "float64", @@ -426,7 +426,7 @@ "order": "float64", "level": "object", "initial_run": "bool", - "recycle": "bool" + "recycle": "object" } }, "line_geodata": { diff --git a/pandapower/networks/power_system_test_case_jsons/case5_demo_gridcal.json b/pandapower/networks/power_system_test_case_jsons/case5_demo_gridcal.json index a9c0e4032..c2d860310 100644 --- a/pandapower/networks/power_system_test_case_jsons/case5_demo_gridcal.json +++ b/pandapower/networks/power_system_test_case_jsons/case5_demo_gridcal.json @@ -388,7 +388,7 @@ "orient": "split", "dtype": { "power_type": "object", - "element": "object", + "element": "uint32", "et": "object", "points": "object" } @@ -399,7 +399,7 @@ "_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": "object", + "element": "uint32", "et": "object", "cp0_eur": "float64", "cp1_eur_per_mw": "float64", @@ -420,7 +420,7 @@ "order": "float64", "level": "object", "initial_run": "bool", - "recycle": "bool" + "recycle": "object" } }, "line_geodata": { diff --git a/pandapower/networks/power_system_test_case_jsons/case6470rte.json b/pandapower/networks/power_system_test_case_jsons/case6470rte.json index c7d6525c2..09bfd8d50 100644 --- a/pandapower/networks/power_system_test_case_jsons/case6470rte.json +++ b/pandapower/networks/power_system_test_case_jsons/case6470rte.json @@ -399,7 +399,7 @@ "orient": "split", "dtype": { "power_type": "object", - "element": "object", + "element": "uint32", "et": "object", "points": "object" } @@ -407,10 +407,10 @@ "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\":[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,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276,1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329],\"data\":[[248.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[249.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[258.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[331.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1020.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1021.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[227.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1022.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1023.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[228.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1024.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1025.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1026.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1027.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[332.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[229.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[230.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[231.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1028.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[232.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1029.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1030.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1031.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[233.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1032.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[333.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1033.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[234.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[235.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[236.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1034.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1035.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1036.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1037.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1038.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1039.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[334.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1040.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1041.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[237.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1042.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[238.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[239.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1043.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1044.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[240.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[241.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[335.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[242.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1045.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[243.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[244.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1046.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1047.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1048.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[245.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1049.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[246.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[17.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[247.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1050.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[248.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1051.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1052.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1053.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1054.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1055.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[249.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1056.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[336.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1057.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1058.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1059.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1060.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1061.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1062.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1063.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1064.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[250.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1065.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[337.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[251.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1066.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[252.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1067.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[253.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1068.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1069.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1070.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1071.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[254.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[18.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1072.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1073.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1074.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1075.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1076.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1077.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1078.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[255.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1079.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1080.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[338.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1081.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1082.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1083.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1084.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1085.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1086.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1087.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[256.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1088.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1089.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[259.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[339.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1090.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1091.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[257.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1092.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[258.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[259.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1093.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1094.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[260.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1095.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[340.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[261.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1096.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[262.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1097.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1098.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[263.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1099.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[264.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[265.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1100.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[341.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[266.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[267.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[268.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[269.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[270.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[271.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[272.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[273.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[274.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[275.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[19.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[276.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[277.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[278.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[279.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[280.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[281.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[282.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[283.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1101.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[284.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[342.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[285.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[286.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[287.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[288.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[289.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[290.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[291.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[292.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[293.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[294.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[20.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[295.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[296.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[297.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[298.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[299.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[300.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[301.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[302.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[303.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[304.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[343.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[305.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[306.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[307.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[308.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[309.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[310.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[311.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[312.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[313.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[314.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[344.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[315.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[316.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[317.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[318.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[319.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[320.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[321.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1102.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[322.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[323.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[345.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1103.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[324.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[325.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[326.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[327.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[328.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[329.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[330.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[331.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[332.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[21.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[333.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[334.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[335.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1104.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1105.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[336.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[337.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[338.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[339.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[340.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[260.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[346.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1106.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[341.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[342.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[343.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[344.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[345.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[346.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[347.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[348.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[349.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[347.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[350.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[351.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[352.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[353.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[354.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[355.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[356.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[357.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[358.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1107.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[348.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[359.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1108.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1109.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[360.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[361.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[362.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[363.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[364.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[365.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[366.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[349.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[367.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[368.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[369.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[370.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[371.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[372.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[373.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[374.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[375.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[376.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[350.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[377.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[378.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[379.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[380.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[381.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[382.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[383.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[384.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1110.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1111.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[351.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[385.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[386.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[387.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[388.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[389.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1112.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[390.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[391.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[392.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[393.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[22.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[394.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[395.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[396.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[397.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[398.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[399.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[400.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1113.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1114.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1115.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[352.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1116.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[401.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[402.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[403.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[404.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[405.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[406.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[407.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[408.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[409.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[353.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[410.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[411.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[412.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[413.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1117.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[414.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1118.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[415.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[416.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[417.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[23.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[418.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[419.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[420.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1119.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[421.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[422.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[423.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[424.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[425.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[426.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[0.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[24.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[427.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[428.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[429.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[430.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[431.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[432.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[433.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[434.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[435.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[436.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[354.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[437.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[438.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[439.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[440.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[441.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[442.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[443.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[444.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[445.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1120.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[355.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1121.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1122.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[446.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[447.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[448.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[449.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[450.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[451.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1123.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1124.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[356.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[357.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[358.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[359.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[360.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[25.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[361.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[261.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[362.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[363.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[364.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[365.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[366.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[26.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[367.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[27.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[368.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[28.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[262.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[369.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[29.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[370.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[371.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[372.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[373.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[30.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[374.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[375.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[376.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[263.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[377.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[31.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[32.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[378.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[33.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[34.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[379.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[380.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[381.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[382.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1.0,\"gen\",0.0,2.0,0.0,0.0,0.0,0.0],[35.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[36.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[383.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[384.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[385.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[386.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[387.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[388.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[389.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[390.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[264.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[391.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[37.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[392.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[38.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[393.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[39.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[394.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[395.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[40.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[396.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[265.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[41.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[397.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[398.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[399.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[400.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[42.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[401.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[43.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[402.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[403.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[250.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[266.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[404.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[44.0,\"gen\",0.0,2.0,0.0,0.0,0.0,0.0],[405.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[406.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[407.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[408.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[409.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[45.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[410.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[411.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[267.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[412.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[413.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[414.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[415.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[416.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[417.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[418.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[46.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[419.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[47.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[268.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[420.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[421.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[422.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[423.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[424.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[48.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[49.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[425.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[50.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[426.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[269.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[427.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[428.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[429.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[51.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[430.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[431.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[52.0,\"gen\",0.0,2.0,0.0,0.0,0.0,0.0],[432.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[53.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[433.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[2.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[434.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[435.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[436.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[437.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[438.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[439.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[440.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[441.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[442.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[54.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[3.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[55.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[443.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[444.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[445.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[446.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[447.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[448.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[449.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[450.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[451.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[270.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[452.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[453.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[56.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[454.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[455.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[57.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[456.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[457.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[458.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[459.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[271.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[460.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[461.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[58.0,\"gen\",0.0,2.0,0.0,0.0,0.0,0.0],[462.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[463.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[59.0,\"gen\",0.0,2.0,0.0,0.0,0.0,0.0],[464.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[465.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[466.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[467.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[272.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[60.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[61.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[468.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[469.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[62.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[470.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[471.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[472.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[473.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[474.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[4.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[475.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[476.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[477.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[478.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[479.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[480.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[481.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[63.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[64.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[65.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[251.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[273.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[66.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[482.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[483.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[67.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[484.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[485.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[486.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[487.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[488.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[489.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[274.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[490.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[68.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[491.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[69.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[492.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[493.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[70.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[494.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[495.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[496.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[275.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[71.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[497.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[498.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[499.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[500.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[501.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[502.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[503.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[504.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[505.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[276.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[506.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[507.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[72.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[73.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[508.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[509.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[510.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[74.0,\"gen\",0.0,2.0,0.0,0.0,0.0,0.0],[511.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[512.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[5.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[513.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[514.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[515.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[516.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[75.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[76.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[517.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[77.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[78.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[79.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[277.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[518.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[519.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[520.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[521.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[522.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[523.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[524.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[525.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[526.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[527.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[6.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[528.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[529.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[530.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[531.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[532.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[80.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[533.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[534.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[535.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[81.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[278.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[82.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[83.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[84.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[536.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[537.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[538.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[539.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[85.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[540.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[86.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[279.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[87.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[88.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[89.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[90.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[91.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[541.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[92.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[93.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[542.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[94.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[280.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[543.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[544.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[545.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[95.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[96.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[97.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[546.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[547.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[98.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[548.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[252.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[281.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[99.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[549.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[550.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[551.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[100.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[101.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[552.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[553.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[554.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[555.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[282.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[102.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[556.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[557.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[558.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[559.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[560.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[561.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[562.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[563.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[103.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[283.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[104.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[564.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[565.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[566.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[567.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[568.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[105.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[569.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[570.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[106.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[7.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[571.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[572.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[573.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[574.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[575.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[576.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[107.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[577.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[578.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[579.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[284.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[580.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[108.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[109.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[110.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[111.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[112.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[113.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[581.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[582.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[583.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[285.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[584.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[114.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[585.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[586.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[587.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[588.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[589.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[590.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[591.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[592.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[286.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[593.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[594.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[595.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[596.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[597.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[598.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[115.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[599.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[600.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[601.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[287.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[602.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[116.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[603.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[604.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[605.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[606.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[607.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[117.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[608.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[609.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[288.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[610.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[611.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[118.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[612.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[613.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[614.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[615.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[616.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[617.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[618.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[289.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[619.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[620.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[621.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[622.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[623.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[624.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[625.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[119.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[626.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[627.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[253.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[290.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[628.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[629.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[120.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[630.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[121.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[631.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[632.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[633.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[634.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[635.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[291.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[636.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[122.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[637.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[123.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[124.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[638.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[639.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[125.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[640.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[126.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[292.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[641.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[127.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[642.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[643.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[644.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[645.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[646.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[647.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[648.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[128.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[293.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[649.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[129.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[650.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[651.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[652.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[653.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[654.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[655.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[656.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[130.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[294.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[657.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[658.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[659.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[660.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[661.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[662.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[663.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[664.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[665.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[666.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[295.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[667.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[668.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[669.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[670.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[131.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[671.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[672.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[673.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[674.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[675.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[296.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[676.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[677.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[678.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[679.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[680.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[681.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[682.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[683.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[132.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[684.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[297.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[685.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[133.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[686.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[687.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[688.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[689.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[690.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[691.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[692.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[693.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[8.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[694.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[695.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[696.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[697.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[698.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[699.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[134.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[135.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[136.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[700.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[9.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[137.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[701.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[702.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[703.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[704.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[705.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[706.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[138.0,\"gen\",0.0,2.0,0.0,0.0,0.0,0.0],[707.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[708.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[254.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[298.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[709.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[710.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[711.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[712.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[713.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[139.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[714.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[715.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[140.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[716.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[299.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[717.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[718.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[719.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[720.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[721.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[141.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[722.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[723.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[724.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[725.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[300.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[726.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[727.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[728.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[729.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[730.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[731.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[732.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[733.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[734.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[142.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[301.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[735.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[736.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[737.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[143.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[144.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[145.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[738.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[739.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[146.0,\"gen\",0.0,2.0,0.0,0.0,0.0,0.0],[740.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[10.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[741.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[742.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[743.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[744.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[745.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[746.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[747.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[748.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[749.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[750.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[302.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[147.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[148.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[751.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[149.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[752.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[753.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[754.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[755.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[756.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[150.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[303.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[757.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[758.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[759.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[760.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[761.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[762.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[763.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[764.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[765.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[766.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[304.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[767.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[151.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[768.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[769.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[152.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[770.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[771.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[772.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[773.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[774.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[305.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[775.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[776.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[777.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[778.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[779.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[780.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[153.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[781.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[782.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[783.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[11.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[784.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[785.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[786.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[154.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[787.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[788.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[155.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[156.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[789.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[790.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[255.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[306.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[791.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[157.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[792.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[793.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[794.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[795.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[796.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[158.0,\"gen\",0.0,2.0,0.0,0.0,0.0,0.0],[797.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[798.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[307.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[799.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[800.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[801.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[802.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[803.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[804.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[805.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[159.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[160.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[806.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[12.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[807.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[808.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[161.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[809.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[162.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[810.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[163.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[811.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[812.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[813.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[13.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[814.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[164.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[815.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[816.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[817.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[818.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[819.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[820.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[821.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[165.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[308.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[166.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[167.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[822.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[823.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[824.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[168.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[825.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[169.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[826.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[170.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[309.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[827.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[828.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[829.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[830.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[831.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[832.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[833.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[834.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[835.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[836.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[310.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[837.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[838.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[839.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[840.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[171.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[841.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[172.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[842.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[843.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[844.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[311.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[845.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[846.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[173.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[847.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[848.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[849.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[850.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[174.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[851.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[852.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[312.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[853.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[854.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[175.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[855.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[856.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[857.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[858.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[859.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[176.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[860.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[313.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[861.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[862.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[863.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[177.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[864.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[865.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[866.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[867.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[178.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[868.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[256.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[314.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[869.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[870.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[871.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[872.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[179.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[873.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[874.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[875.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[876.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[180.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[315.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[877.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[878.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[879.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[880.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[881.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[181.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[182.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[882.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[883.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[183.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[14.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[884.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[184.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[885.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[886.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[185.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[887.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[888.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[889.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[890.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[891.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[316.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[892.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[893.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[894.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[895.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[896.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[897.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[898.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[186.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[899.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[900.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[317.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[901.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[902.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[903.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[904.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[187.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[188.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[189.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[190.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[191.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[905.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[318.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[906.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[192.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[907.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[193.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[908.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[909.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[910.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[911.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[912.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[194.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[319.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[913.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[195.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[914.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[915.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[916.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[917.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[918.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[196.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[919.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[920.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[320.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[921.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[922.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[923.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[924.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[925.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[926.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[927.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[928.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[929.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[930.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[321.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[931.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[932.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[933.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[934.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[935.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[936.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[197.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[937.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[938.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[939.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[322.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[940.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[941.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[942.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[943.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[944.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[945.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[198.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[946.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[947.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[199.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[257.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[323.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[200.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[948.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[201.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[949.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[202.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[950.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[951.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[952.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[953.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[203.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[15.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[204.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[954.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[205.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[206.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[955.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[207.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[956.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[957.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[208.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[958.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[324.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[209.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[959.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[960.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[961.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[210.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[962.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[963.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[964.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[211.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[212.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[16.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[965.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[966.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[967.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[968.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[969.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[970.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[971.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[213.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[214.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[972.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[325.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[215.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[973.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[974.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[975.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[976.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[216.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[217.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[218.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[219.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[220.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[326.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[977.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[978.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[979.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[980.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[981.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[982.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[221.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[222.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[983.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[984.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[327.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[985.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[986.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[987.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[988.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[989.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[990.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[991.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[992.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[993.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[994.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[328.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[995.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[996.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[997.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[998.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[223.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[999.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1000.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1001.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1002.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1003.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[329.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1004.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1005.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[224.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[225.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1006.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1007.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1008.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1009.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1010.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[0.0,\"ext_grid\",0.0,1.0,0.0,0.0,0.0,0.0],[330.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1011.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1012.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1013.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1014.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1015.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1016.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1017.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1018.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1019.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[226.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0]]}", + "_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\":[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,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276,1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329],\"data\":[[248,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[249,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[258,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[331,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1020,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1021,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[227,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1022,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1023,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[228,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1024,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1025,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1026,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1027,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[332,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[229,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[230,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[231,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1028,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[232,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1029,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1030,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1031,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[233,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1032,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[333,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1033,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[234,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[235,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[236,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1034,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1035,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1036,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1037,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1038,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1039,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[334,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1040,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1041,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[237,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1042,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[238,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[239,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1043,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1044,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[240,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[241,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[335,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[242,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1045,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[243,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[244,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1046,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1047,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1048,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[245,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1049,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[246,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[17,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[247,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1050,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[248,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1051,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1052,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1053,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1054,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1055,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[249,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1056,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[336,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1057,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1058,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1059,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1060,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1061,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1062,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1063,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1064,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[250,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1065,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[337,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[251,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1066,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[252,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1067,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[253,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1068,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1069,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1070,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1071,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[254,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[18,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1072,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1073,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1074,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1075,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1076,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1077,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1078,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[255,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1079,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1080,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[338,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1081,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1082,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1083,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1084,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1085,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1086,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1087,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[256,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1088,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1089,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[259,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[339,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1090,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1091,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[257,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1092,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[258,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[259,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1093,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1094,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[260,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1095,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[340,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[261,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1096,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[262,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1097,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1098,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[263,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1099,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[264,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[265,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1100,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[341,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[266,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[267,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[268,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[269,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[270,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[271,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[272,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[273,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[274,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[275,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[19,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[276,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[277,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[278,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[279,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[280,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[281,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[282,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[283,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1101,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[284,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[342,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[285,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[286,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[287,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[288,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[289,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[290,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[291,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[292,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[293,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[294,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[20,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[295,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[296,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[297,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[298,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[299,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[300,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[301,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[302,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[303,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[304,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[343,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[305,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[306,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[307,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[308,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[309,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[310,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[311,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[312,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[313,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[314,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[344,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[315,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[316,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[317,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[318,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[319,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[320,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[321,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1102,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[322,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[323,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[345,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1103,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[324,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[325,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[326,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[327,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[328,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[329,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[330,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[331,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[332,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[21,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[333,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[334,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[335,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1104,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1105,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[336,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[337,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[338,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[339,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[340,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[260,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[346,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1106,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[341,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[342,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[343,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[344,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[345,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[346,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[347,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[348,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[349,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[347,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[350,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[351,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[352,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[353,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[354,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[355,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[356,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[357,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[358,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1107,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[348,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[359,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1108,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1109,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[360,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[361,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[362,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[363,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[364,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[365,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[366,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[349,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[367,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[368,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[369,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[370,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[371,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[372,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[373,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[374,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[375,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[376,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[350,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[377,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[378,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[379,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[380,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[381,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[382,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[383,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[384,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1110,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1111,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[351,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[385,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[386,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[387,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[388,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[389,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1112,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[390,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[391,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[392,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[393,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[22,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[394,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[395,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[396,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[397,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[398,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[399,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[400,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1113,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1114,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1115,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[352,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1116,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[401,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[402,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[403,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[404,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[405,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[406,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[407,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[408,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[409,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[353,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[410,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[411,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[412,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[413,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1117,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[414,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1118,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[415,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[416,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[417,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[23,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[418,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[419,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[420,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1119,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[421,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[422,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[423,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[424,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[425,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[426,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[24,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[427,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[428,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[429,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[430,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[431,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[432,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[433,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[434,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[435,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[436,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[354,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[437,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[438,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[439,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[440,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[441,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[442,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[443,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[444,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[445,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1120,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[355,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1121,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1122,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[446,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[447,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[448,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[449,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[450,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[451,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1123,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1124,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[356,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[357,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[358,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[359,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[360,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[25,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[361,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[261,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[362,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[363,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[364,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[365,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[366,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[26,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[367,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[27,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[368,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[28,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[262,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[369,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[29,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[370,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[371,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[372,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[373,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[30,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[374,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[375,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[376,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[263,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[377,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[31,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[32,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[378,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[33,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[34,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[379,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[380,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[381,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[382,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1,\"gen\",0.0,2.0,0.0,0.0,0.0,0.0],[35,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[36,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[383,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[384,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[385,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[386,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[387,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[388,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[389,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[390,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[264,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[391,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[37,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[392,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[38,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[393,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[39,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[394,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[395,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[40,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[396,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[265,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[41,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[397,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[398,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[399,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[400,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[42,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[401,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[43,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[402,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[403,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[250,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[266,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[404,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[44,\"gen\",0.0,2.0,0.0,0.0,0.0,0.0],[405,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[406,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[407,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[408,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[409,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[45,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[410,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[411,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[267,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[412,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[413,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[414,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[415,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[416,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[417,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[418,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[46,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[419,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[47,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[268,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[420,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[421,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[422,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[423,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[424,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[48,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[49,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[425,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[50,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[426,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[269,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[427,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[428,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[429,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[51,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[430,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[431,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[52,\"gen\",0.0,2.0,0.0,0.0,0.0,0.0],[432,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[53,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[433,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[2,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[434,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[435,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[436,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[437,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[438,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[439,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[440,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[441,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[442,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[54,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[3,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[55,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[443,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[444,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[445,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[446,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[447,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[448,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[449,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[450,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[451,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[270,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[452,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[453,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[56,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[454,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[455,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[57,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[456,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[457,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[458,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[459,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[271,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[460,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[461,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[58,\"gen\",0.0,2.0,0.0,0.0,0.0,0.0],[462,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[463,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[59,\"gen\",0.0,2.0,0.0,0.0,0.0,0.0],[464,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[465,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[466,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[467,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[272,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[60,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[61,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[468,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[469,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[62,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[470,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[471,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[472,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[473,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[474,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[4,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[475,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[476,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[477,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[478,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[479,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[480,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[481,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[63,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[64,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[65,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[251,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[273,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[66,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[482,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[483,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[67,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[484,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[485,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[486,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[487,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[488,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[489,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[274,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[490,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[68,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[491,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[69,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[492,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[493,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[70,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[494,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[495,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[496,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[275,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[71,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[497,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[498,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[499,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[500,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[501,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[502,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[503,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[504,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[505,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[276,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[506,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[507,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[72,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[73,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[508,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[509,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[510,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[74,\"gen\",0.0,2.0,0.0,0.0,0.0,0.0],[511,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[512,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[5,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[513,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[514,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[515,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[516,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[75,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[76,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[517,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[77,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[78,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[79,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[277,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[518,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[519,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[520,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[521,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[522,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[523,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[524,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[525,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[526,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[527,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[6,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[528,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[529,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[530,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[531,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[532,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[80,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[533,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[534,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[535,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[81,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[278,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[82,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[83,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[84,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[536,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[537,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[538,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[539,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[85,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[540,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[86,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[279,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[87,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[88,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[89,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[90,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[91,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[541,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[92,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[93,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[542,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[94,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[280,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[543,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[544,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[545,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[95,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[96,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[97,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[546,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[547,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[98,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[548,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[252,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[281,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[99,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[549,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[550,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[551,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[100,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[101,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[552,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[553,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[554,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[555,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[282,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[102,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[556,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[557,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[558,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[559,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[560,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[561,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[562,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[563,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[103,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[283,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[104,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[564,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[565,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[566,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[567,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[568,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[105,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[569,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[570,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[106,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[7,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[571,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[572,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[573,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[574,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[575,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[576,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[107,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[577,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[578,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[579,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[284,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[580,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[108,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[109,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[110,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[111,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[112,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[113,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[581,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[582,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[583,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[285,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[584,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[114,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[585,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[586,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[587,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[588,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[589,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[590,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[591,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[592,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[286,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[593,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[594,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[595,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[596,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[597,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[598,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[115,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[599,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[600,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[601,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[287,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[602,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[116,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[603,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[604,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[605,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[606,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[607,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[117,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[608,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[609,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[288,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[610,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[611,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[118,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[612,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[613,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[614,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[615,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[616,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[617,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[618,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[289,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[619,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[620,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[621,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[622,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[623,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[624,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[625,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[119,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[626,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[627,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[253,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[290,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[628,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[629,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[120,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[630,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[121,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[631,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[632,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[633,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[634,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[635,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[291,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[636,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[122,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[637,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[123,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[124,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[638,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[639,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[125,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[640,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[126,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[292,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[641,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[127,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[642,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[643,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[644,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[645,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[646,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[647,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[648,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[128,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[293,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[649,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[129,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[650,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[651,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[652,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[653,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[654,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[655,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[656,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[130,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[294,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[657,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[658,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[659,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[660,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[661,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[662,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[663,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[664,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[665,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[666,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[295,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[667,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[668,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[669,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[670,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[131,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[671,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[672,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[673,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[674,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[675,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[296,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[676,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[677,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[678,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[679,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[680,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[681,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[682,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[683,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[132,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[684,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[297,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[685,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[133,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[686,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[687,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[688,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[689,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[690,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[691,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[692,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[693,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[8,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[694,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[695,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[696,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[697,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[698,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[699,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[134,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[135,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[136,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[700,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[9,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[137,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[701,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[702,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[703,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[704,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[705,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[706,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[138,\"gen\",0.0,2.0,0.0,0.0,0.0,0.0],[707,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[708,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[254,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[298,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[709,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[710,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[711,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[712,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[713,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[139,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[714,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[715,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[140,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[716,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[299,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[717,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[718,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[719,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[720,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[721,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[141,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[722,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[723,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[724,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[725,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[300,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[726,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[727,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[728,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[729,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[730,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[731,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[732,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[733,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[734,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[142,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[301,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[735,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[736,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[737,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[143,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[144,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[145,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[738,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[739,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[146,\"gen\",0.0,2.0,0.0,0.0,0.0,0.0],[740,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[10,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[741,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[742,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[743,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[744,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[745,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[746,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[747,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[748,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[749,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[750,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[302,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[147,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[148,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[751,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[149,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[752,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[753,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[754,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[755,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[756,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[150,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[303,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[757,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[758,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[759,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[760,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[761,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[762,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[763,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[764,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[765,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[766,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[304,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[767,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[151,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[768,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[769,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[152,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[770,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[771,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[772,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[773,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[774,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[305,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[775,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[776,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[777,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[778,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[779,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[780,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[153,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[781,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[782,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[783,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[11,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[784,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[785,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[786,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[154,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[787,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[788,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[155,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[156,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[789,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[790,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[255,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[306,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[791,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[157,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[792,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[793,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[794,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[795,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[796,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[158,\"gen\",0.0,2.0,0.0,0.0,0.0,0.0],[797,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[798,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[307,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[799,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[800,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[801,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[802,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[803,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[804,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[805,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[159,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[160,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[806,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[12,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[807,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[808,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[161,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[809,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[162,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[810,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[163,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[811,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[812,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[813,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[13,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[814,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[164,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[815,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[816,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[817,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[818,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[819,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[820,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[821,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[165,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[308,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[166,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[167,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[822,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[823,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[824,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[168,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[825,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[169,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[826,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[170,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[309,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[827,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[828,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[829,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[830,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[831,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[832,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[833,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[834,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[835,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[836,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[310,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[837,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[838,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[839,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[840,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[171,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[841,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[172,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[842,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[843,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[844,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[311,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[845,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[846,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[173,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[847,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[848,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[849,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[850,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[174,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[851,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[852,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[312,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[853,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[854,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[175,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[855,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[856,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[857,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[858,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[859,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[176,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[860,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[313,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[861,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[862,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[863,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[177,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[864,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[865,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[866,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[867,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[178,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[868,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[256,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[314,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[869,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[870,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[871,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[872,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[179,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[873,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[874,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[875,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[876,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[180,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[315,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[877,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[878,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[879,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[880,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[881,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[181,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[182,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[882,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[883,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[183,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[14,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[884,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[184,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[885,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[886,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[185,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[887,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[888,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[889,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[890,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[891,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[316,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[892,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[893,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[894,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[895,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[896,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[897,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[898,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[186,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[899,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[900,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[317,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[901,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[902,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[903,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[904,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[187,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[188,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[189,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[190,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[191,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[905,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[318,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[906,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[192,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[907,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[193,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[908,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[909,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[910,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[911,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[912,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[194,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[319,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[913,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[195,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[914,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[915,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[916,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[917,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[918,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[196,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[919,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[920,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[320,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[921,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[922,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[923,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[924,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[925,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[926,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[927,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[928,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[929,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[930,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[321,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[931,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[932,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[933,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[934,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[935,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[936,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[197,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[937,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[938,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[939,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[322,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[940,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[941,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[942,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[943,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[944,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[945,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[198,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[946,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[947,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[199,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[257,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[323,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[200,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[948,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[201,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[949,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[202,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[950,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[951,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[952,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[953,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[203,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[15,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[204,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[954,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[205,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[206,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[955,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[207,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[956,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[957,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[208,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[958,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[324,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[209,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[959,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[960,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[961,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[210,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[962,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[963,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[964,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[211,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[212,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[16,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[965,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[966,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[967,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[968,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[969,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[970,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[971,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[213,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[214,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[972,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[325,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[215,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[973,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[974,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[975,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[976,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[216,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[217,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[218,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[219,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[220,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[326,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[977,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[978,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[979,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[980,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[981,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[982,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[221,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[222,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[983,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[984,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[327,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[985,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[986,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[987,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[988,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[989,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[990,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[991,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[992,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[993,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[994,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[328,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[995,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[996,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[997,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[998,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[223,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[999,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1000,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1001,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1002,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1003,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[329,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1004,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1005,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[224,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[225,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1006,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1007,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1008,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1009,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1010,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[0,\"ext_grid\",0.0,1.0,0.0,0.0,0.0,0.0],[330,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1011,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1012,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1013,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1014,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1015,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1016,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1017,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1018,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1019,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[226,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0]]}", "orient": "split", "dtype": { - "element": "object", + "element": "uint32", "et": "object", "cp0_eur": "float64", "cp1_eur_per_mw": "float64", @@ -431,7 +431,7 @@ "order": "float64", "level": "object", "initial_run": "bool", - "recycle": "bool" + "recycle": "object" } }, "line_geodata": { diff --git a/pandapower/networks/power_system_test_case_jsons/case6495rte.json b/pandapower/networks/power_system_test_case_jsons/case6495rte.json index 37f2fe026..4ce18d3e6 100644 --- a/pandapower/networks/power_system_test_case_jsons/case6495rte.json +++ b/pandapower/networks/power_system_test_case_jsons/case6495rte.json @@ -399,7 +399,7 @@ "orient": "split", "dtype": { "power_type": "object", - "element": "object", + "element": "uint32", "et": "object", "points": "object" } @@ -407,10 +407,10 @@ "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\":[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,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276,1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,1360,1361,1362,1363,1364,1365,1366,1367,1368,1369,1370,1371],\"data\":[[278.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[279.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[288.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[363.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1054.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[224.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1055.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1056.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1057.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[225.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1058.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1059.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[226.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[227.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[364.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[228.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[229.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1060.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1061.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1062.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1063.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[230.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[231.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[232.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1064.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[365.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[233.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1065.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1066.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1067.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[234.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1068.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[235.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[236.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[237.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[238.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[15.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1069.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1070.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1071.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1072.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1073.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1074.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[0.0,\"ext_grid\",0.0,1.0,0.0,0.0,0.0,0.0],[1075.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[239.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1076.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[366.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1077.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[240.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1078.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[241.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[242.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[243.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[244.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1079.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[245.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[246.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[367.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1080.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1081.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1082.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1083.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[247.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[248.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1084.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[249.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[250.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1085.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[368.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[251.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1086.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1087.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1088.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[252.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1089.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1090.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1091.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1092.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1093.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[369.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1094.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1095.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1096.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1097.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[253.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1098.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[254.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1099.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1.0,\"ext_grid\",0.0,1.0,0.0,0.0,0.0,0.0],[1100.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[16.0,\"gen\",0.0,2.0,0.0,0.0,0.0,0.0],[255.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1101.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1102.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1103.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[256.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[257.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1104.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1105.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[258.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1106.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[370.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1107.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1108.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1109.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[259.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1110.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[260.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1111.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1112.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1113.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1114.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[289.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[371.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1115.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1116.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1117.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[261.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1118.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1119.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1120.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1121.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[262.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[263.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[372.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[264.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[265.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1122.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1123.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[266.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1124.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[267.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1125.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[268.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1126.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[373.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1127.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1128.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1129.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[269.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[270.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[271.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[272.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1130.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[273.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[274.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[17.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[275.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[276.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[277.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[278.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[279.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[280.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[281.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[282.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[283.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[284.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[374.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[285.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[286.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[287.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[288.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[289.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[290.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[291.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[292.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[293.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[294.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[375.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[295.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[296.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[297.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[298.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[299.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[300.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[301.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[302.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[303.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[304.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[376.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[305.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[306.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[307.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[308.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[309.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[310.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[311.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[312.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[313.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[314.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[377.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[315.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[316.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[317.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[318.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[319.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[320.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[321.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[322.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[323.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[324.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[378.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[325.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[326.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[2.0,\"ext_grid\",0.0,1.0,0.0,0.0,0.0,0.0],[3.0,\"ext_grid\",0.0,1.0,0.0,0.0,0.0,0.0],[4.0,\"ext_grid\",0.0,1.0,0.0,0.0,0.0,0.0],[5.0,\"ext_grid\",0.0,1.0,0.0,0.0,0.0,0.0],[327.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[328.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[329.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1131.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[18.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[330.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[331.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1132.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[332.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[333.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[334.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[335.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[336.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[337.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[338.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[290.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[379.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[339.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[340.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[341.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[342.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[343.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[344.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[345.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1133.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1134.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[346.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[380.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[347.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[348.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[349.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[350.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1135.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[351.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[352.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[353.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[354.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[355.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[381.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[356.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[357.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[358.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[359.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[360.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1136.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1137.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[361.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[362.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[363.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[382.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[364.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[365.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[366.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[367.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[368.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[369.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1138.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[370.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[371.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1139.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[383.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1140.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[372.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[373.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[374.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[375.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[376.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[377.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1141.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[378.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[379.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[384.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[380.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[381.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1142.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[382.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[383.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[384.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[385.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[386.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[387.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[388.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[19.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[389.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[390.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[391.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[392.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[393.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[394.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[395.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[396.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[397.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[398.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[385.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[399.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[400.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[401.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[402.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[403.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1143.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1144.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[404.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[405.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[406.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[386.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[407.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[408.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[409.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[410.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[411.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[412.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[413.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1145.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[414.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[415.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[20.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[416.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[417.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[418.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[419.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[420.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[421.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[422.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[423.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[424.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1146.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[0.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[21.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1147.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[425.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1148.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[426.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[427.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[428.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[429.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[430.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[431.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[432.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[387.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[433.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[434.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[435.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[436.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[437.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[438.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1149.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1150.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1151.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[439.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[388.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1152.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[440.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1153.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[441.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[442.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[443.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[444.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[445.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[446.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[447.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[389.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[448.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[449.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[450.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[451.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[452.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[453.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[454.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[455.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[456.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[457.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[390.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[458.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[459.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[460.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[461.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[462.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[463.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[464.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[465.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[466.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[467.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[391.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[468.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[469.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[470.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[471.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[472.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[473.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[474.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[475.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[476.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[477.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[392.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[478.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1154.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1155.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1156.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[479.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[480.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[481.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[482.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[483.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[484.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[393.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[485.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[486.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[22.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[394.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[291.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[395.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[396.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[397.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[398.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[399.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[23.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[400.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[24.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[401.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[25.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[292.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[402.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[403.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[404.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[26.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[405.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[406.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[27.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[407.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[408.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[409.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[293.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[410.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[411.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[412.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[413.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[28.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[29.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[414.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[415.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[416.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[417.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[30.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[31.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[418.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[419.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[420.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[421.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[422.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[423.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[424.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[425.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[294.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[426.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[32.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[427.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[33.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[428.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[34.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[429.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[430.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[35.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[431.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[295.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[36.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[432.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[433.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[434.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[435.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[436.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[437.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[37.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[438.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[439.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[280.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[296.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[440.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[38.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[441.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[442.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[443.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[444.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[39.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[40.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[445.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[446.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[297.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[447.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[448.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[449.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[450.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[451.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[452.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[453.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[41.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[454.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[42.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[298.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[455.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[456.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[457.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[458.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[459.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[460.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[43.0,\"gen\",0.0,2.0,0.0,0.0,0.0,0.0],[461.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[44.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[462.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[299.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[463.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[464.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[465.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[45.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[466.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[467.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[46.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[468.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[47.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[469.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[2.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[470.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[471.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[48.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[472.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[473.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[474.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[475.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[476.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[477.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[49.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[3.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[50.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[478.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[479.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[480.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[481.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[482.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[483.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[484.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[485.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[486.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[300.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[487.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[488.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[51.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[489.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[490.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[491.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[492.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[493.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[494.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[495.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[301.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[496.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[497.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[498.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[52.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[499.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[53.0,\"gen\",0.0,2.0,0.0,0.0,0.0,0.0],[500.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[501.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[502.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[503.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[302.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[54.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[55.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[504.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[56.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[505.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[57.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[506.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[507.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[508.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[509.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[4.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[510.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[511.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[512.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[513.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[514.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[515.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[516.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[517.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[58.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[59.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[281.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[303.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[518.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[519.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[60.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[520.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[521.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[522.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[523.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[524.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[525.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[526.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[304.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[61.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[527.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[62.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[528.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[529.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[63.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[530.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[531.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[532.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[64.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[305.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[533.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[534.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[535.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[536.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[65.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[537.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[538.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[539.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[540.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[541.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[306.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[542.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[66.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[543.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[544.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[545.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[546.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[547.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[548.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[67.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[549.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[5.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[550.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[551.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[552.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[553.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[68.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[554.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[69.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[70.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[71.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[555.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[307.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[556.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[557.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[558.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[559.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[560.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[561.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[562.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[563.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[564.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[565.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[6.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[566.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[567.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[568.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[569.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[72.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[570.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[571.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[572.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[73.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[74.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[308.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[75.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[76.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[573.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[574.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[575.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[576.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[577.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[578.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[77.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[78.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[309.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[79.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[80.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[81.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[82.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[579.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[83.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[84.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[580.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[85.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[581.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[310.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[582.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[583.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[86.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[87.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[88.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[584.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[585.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[89.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[586.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[90.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[282.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[311.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[587.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[588.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[589.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[91.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[92.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[590.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[591.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[592.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[593.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[93.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[312.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[94.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[594.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[595.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[596.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[597.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[598.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[599.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[600.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[95.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[96.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[313.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[601.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[602.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[603.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[604.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[605.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[97.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[606.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[607.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[608.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[98.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[7.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[609.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[610.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[611.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[612.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[613.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[99.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[614.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[615.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[616.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[617.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[314.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[618.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[100.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[101.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[102.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[103.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[104.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[619.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[620.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[621.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[622.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[315.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[105.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[623.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[624.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[625.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[626.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[627.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[628.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[629.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[630.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[631.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[316.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[632.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[633.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[634.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[635.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[636.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[637.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[638.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[639.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[640.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[641.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[317.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[106.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[642.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[643.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[644.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[645.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[646.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[107.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[647.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[648.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[649.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[318.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[650.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[108.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[651.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[652.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[653.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[654.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[655.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[656.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[657.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[658.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[319.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[659.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[660.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[661.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[662.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[663.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[664.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[109.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[665.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[666.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[667.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[283.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[320.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[668.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[110.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[669.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[111.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[670.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[671.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[672.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[673.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[674.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[675.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[321.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[112.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[676.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[113.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[114.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[677.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[678.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[115.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[679.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[680.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[681.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[322.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[116.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[682.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[683.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[684.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[685.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[686.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[687.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[688.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[117.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[689.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[323.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[118.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[690.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[691.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[692.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[693.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[694.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[695.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[696.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[119.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[697.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[324.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[698.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[699.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[700.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[701.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[702.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[703.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[704.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[705.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[706.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[707.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[325.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[708.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[709.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[710.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[120.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[711.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[712.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[713.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[714.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[715.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[716.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[8.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[717.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[718.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[719.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[720.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[721.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[722.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[723.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[121.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[724.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[725.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[326.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[726.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[727.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[122.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[728.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[729.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[730.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[731.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[732.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[733.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[734.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[9.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[735.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[736.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[737.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[123.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[738.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[739.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[740.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[124.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[125.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[126.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[327.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[741.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[742.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[743.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[744.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[745.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[746.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[747.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[748.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[127.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[749.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[284.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[328.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[750.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[751.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[752.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[753.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[754.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[755.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[128.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[129.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[756.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[757.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[329.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[758.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[759.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[760.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[761.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[762.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[763.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[130.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[764.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[765.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[766.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[330.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[131.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[767.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[768.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[132.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[769.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[770.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[771.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[772.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[773.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[774.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[331.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[133.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[775.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[776.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[777.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[134.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[135.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[136.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[778.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[137.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[138.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[10.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[779.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[780.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[781.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[782.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[783.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[784.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[785.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[786.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[787.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[788.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[332.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[789.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[139.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[140.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[790.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[141.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[791.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[792.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[793.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[794.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[795.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[333.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[142.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[796.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[797.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[798.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[799.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[800.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[801.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[802.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[803.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[804.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[334.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[805.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[806.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[143.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[807.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[808.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[144.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[809.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[145.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[810.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[811.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[335.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[812.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[813.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[814.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[146.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[815.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[147.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[816.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[817.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[818.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[819.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[336.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[820.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[821.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[148.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[822.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[823.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[149.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[150.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[824.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[825.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[151.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[285.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[337.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[826.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[827.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[828.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[829.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[830.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[152.0,\"gen\",0.0,2.0,0.0,0.0,0.0,0.0],[831.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[832.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[833.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[834.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[338.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[835.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[153.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[836.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[837.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[838.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[839.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[154.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[840.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[841.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[842.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[339.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[155.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[843.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[156.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[844.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[157.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[845.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[846.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[847.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[848.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[158.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[11.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[849.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[850.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[851.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[852.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[853.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[854.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[855.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[159.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[160.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[161.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[340.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[856.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[857.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[858.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[162.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[859.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[163.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[860.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[164.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[861.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[862.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[341.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[863.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[864.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[865.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[866.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[867.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[868.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[869.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[870.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[871.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[872.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[342.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[873.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[874.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[165.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[875.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[166.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[876.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[877.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[878.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[879.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[880.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[343.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[167.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[881.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[882.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[883.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[884.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[885.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[886.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[887.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[888.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[889.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[344.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[168.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[890.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[891.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[892.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[893.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[894.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[169.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[895.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[896.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[897.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[345.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[898.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[170.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[899.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[900.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[901.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[902.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[171.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[903.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[172.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[173.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[286.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[346.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[904.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[905.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[906.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[907.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[908.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[174.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[909.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[175.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[910.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[911.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[12.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[912.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[913.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[914.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[176.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[177.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[915.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[916.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[917.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[918.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[178.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[347.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[919.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[920.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[179.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[921.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[180.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[922.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[923.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[924.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[925.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[926.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[348.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[927.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[928.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[929.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[930.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[931.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[932.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[933.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[181.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[934.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[935.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[349.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[182.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[936.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[937.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[938.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[939.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[940.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[183.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[184.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[185.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[186.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[350.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[187.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[941.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[942.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[188.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[943.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[189.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[190.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[944.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[945.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[946.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[351.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[947.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[948.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[949.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[191.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[950.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[192.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[951.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[952.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[953.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[954.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[352.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[193.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[955.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[956.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[957.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[958.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[959.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[960.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[961.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[962.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[963.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[13.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[964.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[965.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[966.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[967.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[968.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[969.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[970.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[194.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[971.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[972.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[353.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[973.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[974.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[975.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[195.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[976.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[977.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[978.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[979.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[196.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[980.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[287.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[354.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[981.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[982.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[197.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[983.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[198.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[984.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[199.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[985.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[986.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[987.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[14.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[988.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[989.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[200.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[990.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[201.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[202.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[991.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[203.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[992.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[993.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[355.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[994.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[204.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[205.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[995.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[206.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[996.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[207.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[997.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[998.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[999.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[356.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1000.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1001.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1002.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1003.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1004.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[208.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1005.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1006.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1007.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[209.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[357.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1008.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1009.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1010.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[210.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[211.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1011.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[212.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1012.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1013.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1014.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[358.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1015.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[213.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[214.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[215.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[216.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[217.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1016.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1017.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1018.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1019.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[359.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1020.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1021.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[218.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[219.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1022.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1023.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1024.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1025.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1026.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1027.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[360.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1028.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1029.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1030.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1031.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1032.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1033.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1034.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1035.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1036.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1037.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[361.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[220.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1038.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1039.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1040.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1041.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1042.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1043.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1044.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[221.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[222.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[362.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1045.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1046.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1047.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1048.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1049.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[223.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1050.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1051.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1052.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1053.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0]]}", + "_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\":[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,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276,1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,1360,1361,1362,1363,1364,1365,1366,1367,1368,1369,1370,1371],\"data\":[[278,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[279,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[288,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[363,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1054,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[224,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1055,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1056,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1057,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[225,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1058,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1059,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[226,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[227,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[364,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[228,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[229,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1060,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1061,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1062,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1063,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[230,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[231,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[232,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1064,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[365,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[233,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1065,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1066,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1067,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[234,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1068,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[235,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[236,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[237,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[238,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[15,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1069,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1070,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1071,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1072,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1073,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1074,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[0,\"ext_grid\",0.0,1.0,0.0,0.0,0.0,0.0],[1075,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[239,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1076,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[366,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1077,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[240,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1078,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[241,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[242,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[243,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[244,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1079,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[245,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[246,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[367,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1080,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1081,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1082,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1083,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[247,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[248,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1084,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[249,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[250,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1085,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[368,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[251,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1086,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1087,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1088,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[252,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1089,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1090,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1091,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1092,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1093,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[369,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1094,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1095,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1096,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1097,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[253,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1098,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[254,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1099,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1,\"ext_grid\",0.0,1.0,0.0,0.0,0.0,0.0],[1100,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[16,\"gen\",0.0,2.0,0.0,0.0,0.0,0.0],[255,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1101,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1102,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1103,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[256,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[257,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1104,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1105,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[258,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1106,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[370,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1107,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1108,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1109,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[259,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1110,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[260,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1111,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1112,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1113,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1114,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[289,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[371,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1115,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1116,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1117,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[261,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1118,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1119,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1120,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1121,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[262,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[263,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[372,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[264,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[265,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1122,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1123,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[266,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1124,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[267,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1125,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[268,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1126,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[373,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1127,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1128,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1129,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[269,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[270,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[271,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[272,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1130,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[273,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[274,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[17,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[275,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[276,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[277,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[278,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[279,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[280,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[281,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[282,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[283,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[284,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[374,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[285,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[286,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[287,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[288,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[289,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[290,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[291,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[292,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[293,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[294,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[375,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[295,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[296,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[297,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[298,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[299,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[300,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[301,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[302,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[303,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[304,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[376,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[305,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[306,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[307,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[308,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[309,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[310,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[311,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[312,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[313,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[314,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[377,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[315,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[316,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[317,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[318,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[319,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[320,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[321,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[322,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[323,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[324,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[378,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[325,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[326,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[2,\"ext_grid\",0.0,1.0,0.0,0.0,0.0,0.0],[3,\"ext_grid\",0.0,1.0,0.0,0.0,0.0,0.0],[4,\"ext_grid\",0.0,1.0,0.0,0.0,0.0,0.0],[5,\"ext_grid\",0.0,1.0,0.0,0.0,0.0,0.0],[327,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[328,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[329,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1131,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[18,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[330,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[331,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1132,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[332,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[333,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[334,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[335,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[336,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[337,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[338,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[290,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[379,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[339,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[340,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[341,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[342,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[343,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[344,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[345,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1133,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1134,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[346,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[380,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[347,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[348,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[349,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[350,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1135,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[351,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[352,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[353,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[354,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[355,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[381,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[356,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[357,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[358,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[359,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[360,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1136,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1137,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[361,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[362,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[363,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[382,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[364,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[365,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[366,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[367,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[368,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[369,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1138,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[370,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[371,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1139,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[383,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1140,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[372,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[373,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[374,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[375,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[376,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[377,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1141,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[378,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[379,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[384,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[380,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[381,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1142,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[382,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[383,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[384,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[385,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[386,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[387,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[388,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[19,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[389,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[390,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[391,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[392,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[393,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[394,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[395,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[396,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[397,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[398,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[385,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[399,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[400,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[401,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[402,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[403,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1143,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1144,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[404,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[405,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[406,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[386,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[407,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[408,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[409,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[410,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[411,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[412,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[413,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1145,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[414,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[415,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[20,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[416,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[417,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[418,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[419,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[420,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[421,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[422,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[423,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[424,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1146,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[21,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1147,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[425,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1148,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[426,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[427,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[428,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[429,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[430,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[431,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[432,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[387,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[433,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[434,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[435,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[436,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[437,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[438,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1149,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1150,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1151,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[439,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[388,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1152,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[440,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1153,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[441,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[442,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[443,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[444,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[445,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[446,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[447,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[389,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[448,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[449,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[450,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[451,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[452,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[453,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[454,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[455,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[456,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[457,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[390,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[458,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[459,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[460,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[461,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[462,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[463,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[464,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[465,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[466,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[467,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[391,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[468,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[469,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[470,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[471,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[472,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[473,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[474,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[475,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[476,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[477,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[392,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[478,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1154,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1155,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1156,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[479,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[480,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[481,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[482,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[483,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[484,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[393,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[485,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[486,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[22,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[394,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[291,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[395,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[396,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[397,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[398,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[399,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[23,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[400,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[24,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[401,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[25,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[292,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[402,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[403,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[404,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[26,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[405,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[406,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[27,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[407,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[408,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[409,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[293,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[410,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[411,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[412,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[413,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[28,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[29,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[414,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[415,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[416,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[417,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[30,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[31,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[418,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[419,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[420,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[421,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[422,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[423,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[424,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[425,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[294,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[426,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[32,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[427,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[33,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[428,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[34,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[429,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[430,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[35,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[431,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[295,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[36,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[432,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[433,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[434,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[435,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[436,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[437,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[37,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[438,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[439,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[280,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[296,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[440,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[38,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[441,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[442,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[443,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[444,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[39,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[40,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[445,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[446,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[297,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[447,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[448,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[449,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[450,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[451,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[452,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[453,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[41,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[454,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[42,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[298,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[455,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[456,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[457,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[458,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[459,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[460,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[43,\"gen\",0.0,2.0,0.0,0.0,0.0,0.0],[461,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[44,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[462,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[299,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[463,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[464,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[465,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[45,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[466,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[467,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[46,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[468,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[47,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[469,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[2,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[470,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[471,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[48,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[472,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[473,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[474,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[475,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[476,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[477,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[49,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[3,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[50,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[478,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[479,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[480,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[481,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[482,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[483,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[484,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[485,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[486,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[300,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[487,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[488,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[51,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[489,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[490,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[491,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[492,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[493,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[494,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[495,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[301,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[496,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[497,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[498,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[52,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[499,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[53,\"gen\",0.0,2.0,0.0,0.0,0.0,0.0],[500,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[501,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[502,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[503,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[302,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[54,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[55,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[504,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[56,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[505,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[57,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[506,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[507,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[508,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[509,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[4,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[510,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[511,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[512,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[513,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[514,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[515,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[516,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[517,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[58,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[59,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[281,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[303,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[518,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[519,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[60,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[520,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[521,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[522,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[523,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[524,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[525,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[526,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[304,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[61,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[527,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[62,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[528,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[529,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[63,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[530,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[531,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[532,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[64,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[305,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[533,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[534,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[535,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[536,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[65,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[537,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[538,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[539,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[540,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[541,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[306,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[542,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[66,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[543,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[544,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[545,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[546,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[547,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[548,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[67,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[549,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[5,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[550,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[551,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[552,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[553,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[68,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[554,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[69,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[70,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[71,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[555,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[307,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[556,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[557,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[558,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[559,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[560,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[561,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[562,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[563,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[564,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[565,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[6,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[566,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[567,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[568,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[569,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[72,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[570,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[571,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[572,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[73,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[74,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[308,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[75,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[76,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[573,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[574,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[575,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[576,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[577,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[578,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[77,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[78,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[309,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[79,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[80,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[81,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[82,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[579,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[83,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[84,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[580,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[85,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[581,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[310,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[582,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[583,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[86,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[87,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[88,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[584,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[585,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[89,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[586,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[90,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[282,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[311,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[587,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[588,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[589,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[91,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[92,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[590,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[591,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[592,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[593,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[93,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[312,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[94,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[594,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[595,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[596,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[597,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[598,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[599,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[600,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[95,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[96,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[313,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[601,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[602,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[603,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[604,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[605,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[97,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[606,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[607,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[608,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[98,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[7,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[609,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[610,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[611,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[612,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[613,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[99,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[614,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[615,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[616,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[617,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[314,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[618,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[100,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[101,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[102,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[103,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[104,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[619,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[620,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[621,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[622,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[315,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[105,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[623,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[624,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[625,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[626,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[627,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[628,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[629,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[630,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[631,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[316,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[632,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[633,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[634,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[635,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[636,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[637,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[638,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[639,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[640,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[641,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[317,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[106,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[642,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[643,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[644,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[645,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[646,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[107,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[647,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[648,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[649,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[318,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[650,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[108,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[651,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[652,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[653,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[654,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[655,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[656,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[657,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[658,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[319,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[659,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[660,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[661,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[662,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[663,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[664,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[109,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[665,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[666,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[667,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[283,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[320,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[668,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[110,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[669,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[111,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[670,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[671,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[672,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[673,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[674,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[675,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[321,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[112,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[676,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[113,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[114,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[677,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[678,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[115,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[679,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[680,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[681,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[322,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[116,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[682,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[683,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[684,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[685,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[686,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[687,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[688,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[117,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[689,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[323,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[118,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[690,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[691,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[692,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[693,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[694,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[695,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[696,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[119,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[697,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[324,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[698,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[699,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[700,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[701,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[702,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[703,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[704,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[705,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[706,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[707,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[325,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[708,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[709,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[710,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[120,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[711,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[712,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[713,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[714,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[715,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[716,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[8,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[717,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[718,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[719,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[720,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[721,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[722,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[723,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[121,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[724,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[725,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[326,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[726,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[727,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[122,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[728,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[729,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[730,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[731,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[732,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[733,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[734,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[9,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[735,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[736,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[737,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[123,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[738,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[739,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[740,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[124,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[125,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[126,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[327,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[741,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[742,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[743,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[744,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[745,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[746,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[747,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[748,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[127,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[749,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[284,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[328,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[750,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[751,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[752,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[753,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[754,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[755,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[128,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[129,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[756,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[757,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[329,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[758,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[759,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[760,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[761,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[762,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[763,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[130,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[764,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[765,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[766,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[330,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[131,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[767,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[768,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[132,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[769,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[770,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[771,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[772,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[773,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[774,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[331,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[133,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[775,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[776,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[777,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[134,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[135,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[136,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[778,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[137,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[138,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[10,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[779,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[780,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[781,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[782,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[783,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[784,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[785,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[786,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[787,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[788,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[332,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[789,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[139,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[140,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[790,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[141,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[791,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[792,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[793,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[794,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[795,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[333,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[142,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[796,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[797,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[798,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[799,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[800,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[801,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[802,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[803,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[804,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[334,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[805,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[806,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[143,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[807,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[808,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[144,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[809,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[145,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[810,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[811,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[335,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[812,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[813,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[814,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[146,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[815,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[147,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[816,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[817,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[818,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[819,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[336,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[820,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[821,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[148,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[822,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[823,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[149,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[150,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[824,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[825,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[151,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[285,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[337,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[826,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[827,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[828,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[829,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[830,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[152,\"gen\",0.0,2.0,0.0,0.0,0.0,0.0],[831,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[832,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[833,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[834,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[338,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[835,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[153,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[836,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[837,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[838,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[839,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[154,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[840,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[841,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[842,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[339,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[155,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[843,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[156,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[844,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[157,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[845,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[846,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[847,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[848,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[158,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[11,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[849,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[850,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[851,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[852,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[853,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[854,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[855,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[159,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[160,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[161,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[340,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[856,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[857,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[858,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[162,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[859,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[163,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[860,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[164,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[861,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[862,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[341,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[863,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[864,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[865,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[866,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[867,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[868,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[869,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[870,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[871,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[872,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[342,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[873,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[874,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[165,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[875,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[166,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[876,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[877,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[878,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[879,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[880,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[343,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[167,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[881,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[882,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[883,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[884,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[885,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[886,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[887,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[888,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[889,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[344,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[168,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[890,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[891,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[892,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[893,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[894,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[169,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[895,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[896,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[897,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[345,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[898,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[170,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[899,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[900,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[901,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[902,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[171,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[903,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[172,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[173,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[286,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[346,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[904,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[905,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[906,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[907,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[908,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[174,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[909,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[175,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[910,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[911,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[12,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[912,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[913,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[914,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[176,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[177,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[915,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[916,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[917,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[918,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[178,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[347,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[919,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[920,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[179,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[921,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[180,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[922,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[923,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[924,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[925,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[926,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[348,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[927,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[928,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[929,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[930,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[931,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[932,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[933,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[181,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[934,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[935,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[349,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[182,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[936,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[937,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[938,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[939,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[940,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[183,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[184,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[185,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[186,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[350,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[187,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[941,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[942,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[188,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[943,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[189,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[190,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[944,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[945,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[946,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[351,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[947,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[948,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[949,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[191,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[950,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[192,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[951,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[952,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[953,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[954,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[352,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[193,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[955,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[956,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[957,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[958,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[959,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[960,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[961,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[962,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[963,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[13,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[964,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[965,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[966,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[967,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[968,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[969,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[970,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[194,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[971,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[972,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[353,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[973,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[974,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[975,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[195,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[976,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[977,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[978,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[979,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[196,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[980,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[287,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[354,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[981,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[982,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[197,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[983,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[198,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[984,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[199,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[985,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[986,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[987,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[14,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[988,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[989,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[200,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[990,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[201,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[202,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[991,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[203,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[992,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[993,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[355,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[994,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[204,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[205,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[995,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[206,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[996,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[207,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[997,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[998,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[999,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[356,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1000,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1001,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1002,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1003,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1004,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[208,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1005,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1006,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1007,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[209,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[357,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1008,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1009,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1010,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[210,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[211,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1011,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[212,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1012,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1013,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1014,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[358,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1015,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[213,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[214,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[215,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[216,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[217,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1016,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1017,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1018,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1019,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[359,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1020,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1021,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[218,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[219,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1022,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1023,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1024,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1025,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1026,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1027,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[360,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1028,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1029,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1030,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1031,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1032,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1033,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1034,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1035,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1036,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1037,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[361,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[220,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1038,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1039,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1040,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1041,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1042,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1043,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1044,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[221,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[222,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[362,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1045,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1046,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1047,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1048,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1049,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[223,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1050,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1051,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1052,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1053,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0]]}", "orient": "split", "dtype": { - "element": "object", + "element": "uint32", "et": "object", "cp0_eur": "float64", "cp1_eur_per_mw": "float64", @@ -431,7 +431,7 @@ "order": "float64", "level": "object", "initial_run": "bool", - "recycle": "bool" + "recycle": "object" } }, "line_geodata": { diff --git a/pandapower/networks/power_system_test_case_jsons/case6515rte.json b/pandapower/networks/power_system_test_case_jsons/case6515rte.json index 8f55d3dda..649b25c99 100644 --- a/pandapower/networks/power_system_test_case_jsons/case6515rte.json +++ b/pandapower/networks/power_system_test_case_jsons/case6515rte.json @@ -399,7 +399,7 @@ "orient": "split", "dtype": { "power_type": "object", - "element": "object", + "element": "uint32", "et": "object", "points": "object" } @@ -407,10 +407,10 @@ "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\":[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,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276,1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,1360,1361,1362,1363,1364,1365,1366,1367,1368,1369,1370,1371,1372,1373,1374,1375,1376,1377,1378,1379,1380,1381,1382,1383,1384,1385,1386,1387],\"data\":[[263.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[264.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[273.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[349.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1043.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[220.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1044.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1045.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1046.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1047.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1048.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[221.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1049.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1050.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[350.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1051.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[222.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1052.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1053.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[223.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[224.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[225.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[226.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1054.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1055.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[351.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1056.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1057.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[227.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[228.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[229.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1058.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[230.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1059.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1060.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1061.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[14.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[231.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1062.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1063.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[232.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[233.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[234.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1064.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1065.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1066.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1067.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[352.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1068.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1069.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[235.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1070.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[236.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1071.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[237.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[238.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1072.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[239.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[353.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[240.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[241.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[242.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1073.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[243.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[244.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1074.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1075.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1076.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1077.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[354.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[245.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[246.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1078.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[247.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[248.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1079.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1080.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1081.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1082.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1083.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[355.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[249.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1084.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1085.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1086.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1087.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1088.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1089.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1090.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1091.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1092.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[15.0,\"gen\",0.0,2.0,0.0,0.0,0.0,0.0],[250.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1093.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[251.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1094.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[0.0,\"ext_grid\",0.0,1.0,0.0,0.0,0.0,0.0],[1095.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[252.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1096.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1097.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1098.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[356.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[253.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[254.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1099.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1100.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[255.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1101.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1102.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1103.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1104.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1105.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[274.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[357.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1106.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[256.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1107.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1108.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1109.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1110.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1111.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1112.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1113.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[257.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[358.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1114.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1115.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1116.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1117.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[258.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[259.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[260.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[261.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1118.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1119.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[359.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[262.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1120.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[263.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1121.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[264.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1122.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1123.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1124.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1125.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[265.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[16.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[266.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[267.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[268.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1126.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[269.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[270.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[271.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[272.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[273.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[274.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[360.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[275.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[276.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[277.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[278.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[279.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[280.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[281.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[282.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[283.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[284.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[361.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[285.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[286.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[287.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[288.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[289.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[290.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[291.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[292.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[293.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[294.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[362.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[295.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[296.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[297.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[298.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[299.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[300.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[301.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[302.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[303.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[304.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[363.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[305.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[306.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[307.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[308.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[309.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[310.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[311.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[312.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[313.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[314.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[364.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[315.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[316.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[317.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[318.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[319.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[320.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[321.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[322.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[323.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[324.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[17.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[325.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[326.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[327.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[328.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[329.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[330.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[331.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[332.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1127.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[333.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[275.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[365.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[334.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1128.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[335.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[336.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[337.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[338.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[339.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[340.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[341.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[342.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[366.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[343.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[344.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[345.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[346.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1129.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1130.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[347.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[348.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[349.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[350.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[367.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[351.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1131.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[352.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[353.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[354.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[355.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[356.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[357.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[358.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[359.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[368.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[360.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[361.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1132.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1133.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[362.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[363.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[364.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[365.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[366.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[367.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[369.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[368.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[369.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1134.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[370.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[371.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1135.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1136.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[372.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[373.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[374.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[370.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[375.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[376.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[377.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1137.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[378.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[379.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[380.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[381.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1138.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[382.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[18.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[383.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[384.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[385.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[386.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[387.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[388.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[389.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[390.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[391.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[392.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[371.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[393.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[394.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[395.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[396.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[397.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[398.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[399.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[400.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[401.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[402.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[372.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[403.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1139.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1140.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[404.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[405.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[406.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[407.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[408.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[409.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[410.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[19.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[411.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[412.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[413.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1141.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[414.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[415.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[416.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[417.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[418.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[419.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[0.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[20.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[420.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[421.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[422.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[423.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[424.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1142.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1143.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[425.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1144.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[426.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[373.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[427.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[428.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[429.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[430.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[431.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[432.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[433.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[434.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[435.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[436.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[374.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[437.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[438.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1145.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1146.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1147.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[439.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1148.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[440.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1149.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[441.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[375.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[442.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[443.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[444.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[445.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1150.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[446.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1151.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1152.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[447.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[448.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[376.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[449.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[450.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[451.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[452.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[453.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[454.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[455.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1153.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[456.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[457.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[377.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[458.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[459.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[460.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[461.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[462.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[463.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[464.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[465.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[466.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[467.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[378.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[468.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[469.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[470.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[471.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1154.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[472.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[473.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[474.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[475.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[476.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[379.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[477.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[478.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[479.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[480.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[481.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[482.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[483.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1155.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1156.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1157.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[21.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[484.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[485.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[486.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[487.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[488.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[489.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[490.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[491.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[380.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[276.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[381.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[382.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[383.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[384.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[385.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[22.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[386.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[23.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[387.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[24.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[277.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[388.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[389.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[390.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[25.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[391.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[392.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[26.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[393.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[394.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[395.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[278.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[396.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[397.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[398.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[399.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[27.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[28.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[400.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[401.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[402.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[403.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[29.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[30.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[404.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[405.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[406.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[407.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[408.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[409.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[410.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[411.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[279.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[412.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[31.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[413.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[32.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[414.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[33.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[415.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[416.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[34.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[417.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[280.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[35.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[418.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[419.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[420.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[421.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[422.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[423.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[36.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[424.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[425.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[265.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[281.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[426.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[37.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[427.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[428.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[429.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[430.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[38.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[39.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[431.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[432.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[282.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[433.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[434.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[435.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[436.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[437.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[438.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[439.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[40.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[440.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[41.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[283.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[441.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[442.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[443.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[444.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[445.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[446.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[42.0,\"gen\",0.0,2.0,0.0,0.0,0.0,0.0],[447.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[43.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[448.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[284.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[449.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[450.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[451.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[44.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[452.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[453.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[45.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[454.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[46.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[455.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[2.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[456.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[457.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[47.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[458.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[459.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[460.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[461.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[462.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[463.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[48.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[3.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[49.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[464.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[465.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[466.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[467.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[468.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[469.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[470.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[471.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[472.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[285.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[473.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[474.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[50.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[475.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[51.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[476.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[477.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[478.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[479.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[480.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[286.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[481.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[482.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[483.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[52.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[484.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[53.0,\"gen\",0.0,2.0,0.0,0.0,0.0,0.0],[485.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[486.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[487.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[488.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[287.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[54.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[55.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[489.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[56.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[490.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[57.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[491.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[492.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[493.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[494.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[4.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[495.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[496.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[497.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[498.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[499.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[500.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[501.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[502.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[58.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[59.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[266.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[288.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[503.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[504.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[60.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[505.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[506.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[507.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[508.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[509.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[510.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[511.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[289.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[61.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[512.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[62.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[513.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[63.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[514.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[515.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[516.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[517.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[518.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[290.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[519.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[64.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[520.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[521.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[522.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[523.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[65.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[524.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[525.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[526.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[291.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[527.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[528.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[529.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[66.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[530.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[531.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[532.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[533.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[534.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[535.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[5.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[67.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[536.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[537.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[538.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[539.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[540.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[68.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[541.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[69.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[70.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[292.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[71.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[542.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[543.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[544.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[545.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[546.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[547.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[548.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[549.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[550.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[6.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[551.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[552.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[553.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[554.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[555.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[556.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[72.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[557.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[558.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[559.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[293.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[73.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[74.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[75.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[76.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[560.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[561.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[562.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[563.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[564.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[565.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[294.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[77.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[78.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[79.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[80.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[81.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[82.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[566.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[83.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[84.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[567.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[295.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[85.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[568.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[569.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[570.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[86.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[87.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[88.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[571.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[572.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[89.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[267.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[296.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[573.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[90.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[574.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[575.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[576.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[91.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[92.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[577.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[578.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[579.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[297.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[580.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[93.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[94.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[581.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[582.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[583.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[584.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[585.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[586.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[587.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[298.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[95.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[96.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[588.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[589.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[590.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[591.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[592.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[97.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[593.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[594.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[7.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[595.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[596.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[597.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[598.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[599.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[600.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[601.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[98.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[602.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[603.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[299.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[604.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[605.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[606.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[99.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[100.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[101.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[102.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[103.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[607.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[608.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[300.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[609.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[610.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[104.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[611.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[612.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[613.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[614.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[615.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[616.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[617.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[301.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[618.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[619.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[620.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[621.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[622.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[623.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[624.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[625.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[626.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[627.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[302.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[628.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[629.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[105.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[630.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[631.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[632.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[633.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[634.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[106.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[635.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[303.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[636.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[637.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[638.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[107.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[639.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[640.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[641.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[642.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[643.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[644.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[304.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[645.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[646.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[647.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[648.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[649.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[650.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[651.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[652.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[108.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[653.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[268.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[305.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[654.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[655.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[656.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[109.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[110.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[657.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[658.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[659.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[660.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[661.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[306.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[662.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[663.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[111.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[664.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[112.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[113.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[665.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[666.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[114.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[667.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[307.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[668.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[669.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[115.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[670.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[671.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[672.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[673.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[674.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[675.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[676.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[308.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[116.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[677.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[117.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[678.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[679.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[680.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[681.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[682.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[683.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[684.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[309.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[118.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[685.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[686.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[687.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[688.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[689.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[690.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[691.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[692.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[693.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[310.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[694.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[695.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[696.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[697.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[698.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[119.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[699.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[700.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[701.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[702.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[8.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[703.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[704.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[705.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[706.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[707.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[708.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[709.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[710.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[711.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[120.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[311.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[712.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[713.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[714.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[121.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[715.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[716.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[717.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[718.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[719.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[720.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[9.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[721.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[722.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[723.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[724.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[725.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[726.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[727.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[728.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[729.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[122.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[312.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[123.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[124.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[730.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[731.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[732.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[733.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[734.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[735.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[736.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[737.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[269.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[313.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[125.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[738.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[739.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[740.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[741.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[742.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[743.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[744.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[126.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[127.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[314.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[745.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[746.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[747.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[748.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[749.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[750.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[751.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[752.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[128.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[753.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[315.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[754.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[755.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[129.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[756.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[757.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[130.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[758.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[759.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[131.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[760.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[316.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[761.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[762.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[132.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[763.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[764.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[765.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[133.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[134.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[135.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[766.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[317.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[136.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[137.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[767.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[768.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[769.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[770.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[771.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[772.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[773.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[774.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[318.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[775.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[776.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[777.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[138.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[139.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[778.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[140.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[779.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[780.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[781.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[319.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[782.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[783.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[141.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[784.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[785.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[786.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[787.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[788.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[789.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[790.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[320.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[791.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[792.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[793.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[794.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[142.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[795.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[796.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[143.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[797.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[144.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[321.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[798.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[799.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[800.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[801.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[802.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[803.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[804.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[145.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[805.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[806.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[322.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[807.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[808.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[809.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[810.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[146.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[811.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[812.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[147.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[148.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[813.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[270.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[323.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[814.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[149.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[815.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[816.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[817.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[818.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[819.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[150.0,\"gen\",0.0,2.0,0.0,0.0,0.0,0.0],[820.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[821.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[324.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[822.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[823.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[824.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[825.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[826.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[827.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[828.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[829.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[151.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[830.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[325.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[831.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[832.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[152.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[833.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[153.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[834.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[154.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[835.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[836.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[837.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[10.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[838.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[155.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[839.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[840.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[841.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[842.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[843.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[844.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[845.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[156.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[326.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[157.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[158.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[846.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[847.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[848.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[159.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[849.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[160.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[850.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[161.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[327.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[851.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[852.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[853.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[854.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[855.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[856.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[857.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[858.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[859.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[860.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[328.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[861.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[862.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[863.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[864.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[162.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[865.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[163.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[866.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[867.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[868.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[329.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[869.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[870.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[164.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[871.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[872.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[873.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[874.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[875.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[876.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[877.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[330.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[878.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[879.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[165.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[880.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[881.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[882.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[883.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[884.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[166.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[885.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[331.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[886.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[887.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[888.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[167.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[889.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[890.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[891.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[892.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[168.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[893.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[271.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[332.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[169.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[170.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[894.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[895.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[896.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[897.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[898.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[171.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[899.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[172.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[11.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[900.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[901.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[902.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[903.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[904.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[173.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[174.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[905.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[906.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[907.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[333.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[908.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[175.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[909.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[910.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[176.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[911.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[177.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[912.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[913.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[914.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[334.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[915.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[916.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[917.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[918.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[919.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[920.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[921.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[922.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[923.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[924.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[335.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[925.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[926.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[178.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[927.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[928.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[929.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[930.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[931.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[179.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[180.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[336.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[181.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[182.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[183.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[932.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[933.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[184.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[934.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[185.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[186.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[935.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[337.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[936.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[937.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[938.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[939.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[940.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[187.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[941.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[188.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[942.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[943.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[338.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[944.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[945.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[189.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[946.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[947.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[948.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[949.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[950.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[951.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[952.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[12.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[953.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[954.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[955.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[956.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[957.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[958.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[959.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[960.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[961.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[190.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[339.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[962.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[963.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[964.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[965.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[966.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[191.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[967.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[968.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[969.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[970.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[272.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[340.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[192.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[971.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[972.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[973.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[193.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[974.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[194.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[975.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[195.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[976.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[13.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[977.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[978.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[979.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[980.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[196.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[981.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[197.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[198.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[982.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[199.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[341.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[983.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[984.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[200.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[985.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[201.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[986.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[202.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[987.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[203.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[988.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[342.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[204.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[989.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[205.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[990.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[991.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[992.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[993.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[994.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[995.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[996.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[343.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[997.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[206.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[998.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[999.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1000.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1001.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1002.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1003.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1004.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[207.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[344.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[208.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1005.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[209.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1006.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1007.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1008.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1009.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[210.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[211.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[212.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[345.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[213.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[214.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1010.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1011.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1012.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1013.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1014.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1015.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[215.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[216.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[346.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1016.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1017.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1018.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1019.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1020.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1021.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1022.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1023.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1024.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1025.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[347.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1026.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1027.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1028.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1029.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1030.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1031.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[217.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1032.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1033.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1034.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[348.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1035.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1036.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1037.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1038.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[218.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[219.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1039.0,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1040.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1041.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1042.0,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0]]}", + "_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\":[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,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276,1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,1360,1361,1362,1363,1364,1365,1366,1367,1368,1369,1370,1371,1372,1373,1374,1375,1376,1377,1378,1379,1380,1381,1382,1383,1384,1385,1386,1387],\"data\":[[263,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[264,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[273,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[349,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1043,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[220,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1044,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1045,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1046,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1047,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1048,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[221,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1049,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1050,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[350,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1051,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[222,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1052,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1053,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[223,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[224,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[225,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[226,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1054,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1055,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[351,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1056,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1057,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[227,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[228,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[229,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1058,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[230,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1059,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1060,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1061,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[14,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[231,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1062,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1063,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[232,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[233,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[234,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1064,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1065,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1066,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1067,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[352,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1068,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1069,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[235,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1070,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[236,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1071,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[237,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[238,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1072,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[239,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[353,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[240,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[241,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[242,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1073,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[243,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[244,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1074,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1075,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1076,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1077,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[354,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[245,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[246,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1078,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[247,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[248,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1079,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1080,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1081,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1082,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1083,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[355,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[249,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1084,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1085,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1086,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1087,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1088,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1089,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1090,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1091,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1092,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[15,\"gen\",0.0,2.0,0.0,0.0,0.0,0.0],[250,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1093,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[251,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1094,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[0,\"ext_grid\",0.0,1.0,0.0,0.0,0.0,0.0],[1095,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[252,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1096,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1097,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1098,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[356,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[253,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[254,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1099,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1100,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[255,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1101,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1102,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1103,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1104,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1105,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[274,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[357,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1106,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[256,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1107,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1108,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1109,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1110,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1111,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1112,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1113,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[257,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[358,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1114,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1115,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1116,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1117,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[258,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[259,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[260,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[261,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1118,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1119,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[359,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[262,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1120,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[263,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1121,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[264,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1122,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1123,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1124,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1125,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[265,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[16,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[266,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[267,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[268,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1126,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[269,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[270,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[271,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[272,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[273,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[274,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[360,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[275,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[276,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[277,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[278,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[279,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[280,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[281,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[282,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[283,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[284,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[361,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[285,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[286,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[287,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[288,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[289,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[290,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[291,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[292,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[293,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[294,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[362,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[295,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[296,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[297,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[298,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[299,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[300,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[301,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[302,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[303,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[304,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[363,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[305,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[306,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[307,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[308,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[309,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[310,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[311,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[312,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[313,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[314,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[364,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[315,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[316,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[317,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[318,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[319,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[320,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[321,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[322,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[323,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[324,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[17,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[325,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[326,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[327,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[328,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[329,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[330,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[331,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[332,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1127,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[333,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[275,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[365,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[334,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1128,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[335,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[336,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[337,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[338,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[339,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[340,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[341,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[342,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[366,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[343,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[344,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[345,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[346,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1129,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1130,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[347,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[348,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[349,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[350,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[367,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[351,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1131,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[352,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[353,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[354,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[355,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[356,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[357,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[358,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[359,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[368,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[360,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[361,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1132,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1133,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[362,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[363,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[364,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[365,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[366,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[367,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[369,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[368,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[369,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1134,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[370,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[371,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1135,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1136,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[372,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[373,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[374,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[370,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[375,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[376,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[377,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1137,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[378,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[379,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[380,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[381,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1138,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[382,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[18,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[383,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[384,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[385,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[386,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[387,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[388,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[389,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[390,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[391,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[392,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[371,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[393,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[394,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[395,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[396,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[397,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[398,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[399,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[400,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[401,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[402,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[372,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[403,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1139,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1140,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[404,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[405,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[406,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[407,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[408,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[409,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[410,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[19,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[411,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[412,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[413,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1141,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[414,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[415,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[416,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[417,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[418,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[419,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[20,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[420,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[421,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[422,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[423,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[424,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1142,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1143,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[425,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1144,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[426,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[373,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[427,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[428,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[429,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[430,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[431,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[432,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[433,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[434,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[435,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[436,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[374,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[437,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[438,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1145,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1146,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1147,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[439,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1148,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[440,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1149,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[441,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[375,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[442,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[443,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[444,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[445,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1150,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[446,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1151,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1152,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[447,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[448,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[376,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[449,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[450,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[451,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[452,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[453,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[454,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[455,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1153,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[456,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[457,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[377,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[458,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[459,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[460,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[461,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[462,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[463,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[464,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[465,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[466,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[467,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[378,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[468,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[469,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[470,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[471,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1154,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[472,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[473,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[474,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[475,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[476,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[379,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[477,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[478,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[479,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[480,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[481,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[482,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[483,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1155,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1156,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1157,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[21,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[484,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[485,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[486,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[487,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[488,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[489,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[490,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[491,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[380,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[276,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[381,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[382,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[383,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[384,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[385,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[22,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[386,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[23,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[387,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[24,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[277,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[388,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[389,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[390,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[25,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[391,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[392,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[26,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[393,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[394,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[395,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[278,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[396,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[397,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[398,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[399,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[27,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[28,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[400,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[401,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[402,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[403,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[29,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[30,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[404,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[405,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[406,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[407,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[408,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[409,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[410,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[411,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[279,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[412,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[31,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[413,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[32,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[414,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[33,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[415,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[416,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[34,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[417,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[280,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[35,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[418,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[419,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[420,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[421,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[422,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[423,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[36,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[424,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[425,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[265,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[281,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[426,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[37,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[427,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[428,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[429,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[430,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[38,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[39,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[431,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[432,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[282,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[433,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[434,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[435,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[436,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[437,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[438,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[439,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[40,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[440,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[41,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[283,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[441,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[442,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[443,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[444,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[445,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[446,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[42,\"gen\",0.0,2.0,0.0,0.0,0.0,0.0],[447,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[43,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[448,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[284,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[449,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[450,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[451,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[44,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[452,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[453,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[45,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[454,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[46,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[455,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[2,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[456,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[457,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[47,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[458,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[459,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[460,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[461,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[462,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[463,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[48,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[3,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[49,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[464,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[465,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[466,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[467,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[468,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[469,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[470,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[471,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[472,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[285,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[473,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[474,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[50,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[475,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[51,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[476,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[477,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[478,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[479,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[480,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[286,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[481,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[482,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[483,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[52,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[484,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[53,\"gen\",0.0,2.0,0.0,0.0,0.0,0.0],[485,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[486,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[487,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[488,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[287,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[54,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[55,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[489,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[56,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[490,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[57,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[491,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[492,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[493,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[494,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[4,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[495,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[496,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[497,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[498,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[499,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[500,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[501,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[502,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[58,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[59,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[266,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[288,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[503,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[504,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[60,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[505,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[506,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[507,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[508,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[509,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[510,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[511,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[289,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[61,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[512,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[62,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[513,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[63,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[514,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[515,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[516,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[517,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[518,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[290,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[519,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[64,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[520,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[521,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[522,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[523,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[65,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[524,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[525,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[526,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[291,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[527,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[528,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[529,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[66,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[530,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[531,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[532,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[533,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[534,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[535,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[5,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[67,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[536,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[537,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[538,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[539,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[540,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[68,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[541,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[69,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[70,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[292,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[71,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[542,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[543,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[544,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[545,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[546,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[547,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[548,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[549,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[550,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[6,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[551,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[552,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[553,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[554,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[555,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[556,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[72,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[557,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[558,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[559,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[293,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[73,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[74,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[75,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[76,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[560,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[561,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[562,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[563,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[564,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[565,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[294,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[77,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[78,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[79,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[80,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[81,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[82,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[566,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[83,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[84,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[567,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[295,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[85,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[568,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[569,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[570,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[86,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[87,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[88,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[571,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[572,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[89,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[267,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[296,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[573,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[90,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[574,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[575,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[576,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[91,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[92,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[577,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[578,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[579,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[297,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[580,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[93,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[94,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[581,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[582,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[583,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[584,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[585,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[586,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[587,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[298,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[95,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[96,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[588,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[589,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[590,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[591,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[592,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[97,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[593,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[594,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[7,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[595,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[596,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[597,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[598,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[599,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[600,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[601,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[98,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[602,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[603,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[299,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[604,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[605,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[606,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[99,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[100,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[101,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[102,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[103,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[607,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[608,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[300,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[609,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[610,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[104,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[611,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[612,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[613,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[614,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[615,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[616,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[617,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[301,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[618,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[619,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[620,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[621,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[622,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[623,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[624,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[625,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[626,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[627,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[302,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[628,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[629,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[105,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[630,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[631,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[632,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[633,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[634,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[106,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[635,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[303,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[636,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[637,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[638,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[107,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[639,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[640,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[641,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[642,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[643,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[644,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[304,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[645,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[646,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[647,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[648,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[649,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[650,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[651,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[652,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[108,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[653,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[268,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[305,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[654,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[655,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[656,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[109,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[110,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[657,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[658,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[659,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[660,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[661,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[306,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[662,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[663,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[111,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[664,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[112,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[113,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[665,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[666,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[114,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[667,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[307,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[668,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[669,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[115,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[670,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[671,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[672,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[673,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[674,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[675,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[676,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[308,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[116,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[677,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[117,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[678,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[679,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[680,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[681,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[682,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[683,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[684,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[309,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[118,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[685,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[686,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[687,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[688,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[689,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[690,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[691,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[692,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[693,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[310,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[694,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[695,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[696,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[697,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[698,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[119,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[699,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[700,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[701,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[702,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[8,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[703,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[704,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[705,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[706,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[707,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[708,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[709,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[710,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[711,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[120,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[311,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[712,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[713,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[714,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[121,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[715,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[716,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[717,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[718,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[719,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[720,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[9,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[721,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[722,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[723,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[724,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[725,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[726,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[727,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[728,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[729,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[122,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[312,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[123,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[124,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[730,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[731,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[732,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[733,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[734,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[735,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[736,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[737,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[269,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[313,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[125,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[738,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[739,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[740,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[741,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[742,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[743,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[744,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[126,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[127,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[314,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[745,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[746,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[747,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[748,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[749,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[750,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[751,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[752,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[128,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[753,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[315,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[754,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[755,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[129,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[756,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[757,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[130,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[758,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[759,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[131,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[760,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[316,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[761,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[762,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[132,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[763,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[764,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[765,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[133,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[134,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[135,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[766,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[317,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[136,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[137,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[767,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[768,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[769,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[770,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[771,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[772,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[773,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[774,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[318,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[775,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[776,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[777,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[138,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[139,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[778,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[140,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[779,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[780,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[781,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[319,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[782,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[783,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[141,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[784,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[785,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[786,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[787,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[788,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[789,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[790,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[320,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[791,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[792,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[793,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[794,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[142,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[795,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[796,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[143,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[797,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[144,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[321,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[798,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[799,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[800,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[801,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[802,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[803,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[804,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[145,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[805,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[806,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[322,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[807,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[808,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[809,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[810,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[146,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[811,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[812,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[147,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[148,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[813,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[270,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[323,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[814,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[149,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[815,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[816,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[817,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[818,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[819,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[150,\"gen\",0.0,2.0,0.0,0.0,0.0,0.0],[820,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[821,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[324,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[822,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[823,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[824,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[825,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[826,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[827,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[828,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[829,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[151,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[830,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[325,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[831,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[832,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[152,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[833,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[153,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[834,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[154,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[835,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[836,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[837,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[10,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[838,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[155,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[839,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[840,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[841,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[842,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[843,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[844,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[845,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[156,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[326,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[157,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[158,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[846,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[847,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[848,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[159,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[849,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[160,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[850,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[161,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[327,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[851,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[852,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[853,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[854,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[855,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[856,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[857,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[858,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[859,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[860,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[328,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[861,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[862,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[863,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[864,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[162,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[865,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[163,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[866,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[867,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[868,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[329,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[869,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[870,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[164,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[871,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[872,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[873,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[874,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[875,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[876,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[877,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[330,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[878,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[879,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[165,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[880,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[881,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[882,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[883,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[884,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[166,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[885,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[331,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[886,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[887,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[888,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[167,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[889,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[890,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[891,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[892,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[168,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[893,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[271,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[332,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[169,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[170,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[894,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[895,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[896,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[897,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[898,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[171,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[899,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[172,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[11,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[900,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[901,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[902,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[903,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[904,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[173,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[174,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[905,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[906,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[907,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[333,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[908,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[175,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[909,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[910,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[176,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[911,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[177,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[912,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[913,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[914,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[334,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[915,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[916,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[917,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[918,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[919,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[920,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[921,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[922,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[923,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[924,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[335,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[925,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[926,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[178,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[927,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[928,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[929,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[930,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[931,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[179,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[180,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[336,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[181,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[182,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[183,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[932,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[933,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[184,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[934,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[185,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[186,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[935,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[337,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[936,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[937,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[938,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[939,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[940,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[187,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[941,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[188,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[942,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[943,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[338,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[944,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[945,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[189,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[946,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[947,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[948,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[949,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[950,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[951,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[952,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[12,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[953,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[954,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[955,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[956,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[957,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[958,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[959,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[960,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[961,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[190,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[339,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[962,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[963,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[964,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[965,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[966,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[191,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[967,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[968,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[969,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[970,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[272,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[340,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[192,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[971,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[972,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[973,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[193,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[974,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[194,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[975,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[195,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[976,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[13,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[977,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[978,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[979,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[980,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[196,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[981,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[197,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[198,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[982,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[199,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[341,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[983,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[984,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[200,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[985,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[201,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[986,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[202,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[987,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[203,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[988,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[342,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[204,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[989,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[205,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[990,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[991,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[992,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[993,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[994,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[995,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[996,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[343,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[997,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[206,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[998,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[999,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1000,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1001,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1002,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1003,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1004,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[207,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[344,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[208,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1005,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[209,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1006,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1007,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1008,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1009,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[210,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[211,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[212,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[345,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[213,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[214,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1010,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1011,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1012,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1013,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1014,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1015,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[215,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[216,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[346,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1016,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1017,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1018,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1019,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1020,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1021,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1022,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1023,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1024,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1025,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[347,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1026,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1027,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1028,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1029,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1030,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1031,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[217,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1032,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1033,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1034,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[348,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1035,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1036,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1037,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1038,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[218,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[219,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1039,\"sgen\",0.0,1.0,0.0,0.0,0.0,0.0],[1040,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1041,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0],[1042,\"sgen\",0.0,2.0,0.0,0.0,0.0,0.0]]}", "orient": "split", "dtype": { - "element": "object", + "element": "uint32", "et": "object", "cp0_eur": "float64", "cp1_eur_per_mw": "float64", @@ -431,7 +431,7 @@ "order": "float64", "level": "object", "initial_run": "bool", - "recycle": "bool" + "recycle": "object" } }, "line_geodata": { diff --git a/pandapower/networks/power_system_test_case_jsons/case6ww.json b/pandapower/networks/power_system_test_case_jsons/case6ww.json index 1264714aa..718d17b6e 100644 --- a/pandapower/networks/power_system_test_case_jsons/case6ww.json +++ b/pandapower/networks/power_system_test_case_jsons/case6ww.json @@ -393,7 +393,7 @@ "orient": "split", "dtype": { "power_type": "object", - "element": "object", + "element": "uint32", "et": "object", "points": "object" } @@ -401,10 +401,10 @@ "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\":[0,1,2],\"data\":[[0.0,\"ext_grid\",213.099999999999994,11.669,0.00533,0.0,0.0,0.0],[0.0,\"gen\",200.0,10.333,0.00889,0.0,0.0,0.0],[1.0,\"gen\",240.0,10.833,0.00741,0.0,0.0,0.0]]}", + "_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\":[0,1,2],\"data\":[[0,\"ext_grid\",213.099999999999994,11.669,0.00533,0.0,0.0,0.0],[0,\"gen\",200.0,10.333,0.00889,0.0,0.0,0.0],[1,\"gen\",240.0,10.833,0.00741,0.0,0.0,0.0]]}", "orient": "split", "dtype": { - "element": "object", + "element": "uint32", "et": "object", "cp0_eur": "float64", "cp1_eur_per_mw": "float64", @@ -425,7 +425,7 @@ "order": "float64", "level": "object", "initial_run": "bool", - "recycle": "bool" + "recycle": "object" } }, "line_geodata": { diff --git a/pandapower/networks/power_system_test_case_jsons/case89pegase.json b/pandapower/networks/power_system_test_case_jsons/case89pegase.json index ae1abea0b..f984660dd 100644 --- a/pandapower/networks/power_system_test_case_jsons/case89pegase.json +++ b/pandapower/networks/power_system_test_case_jsons/case89pegase.json @@ -395,7 +395,7 @@ "orient": "split", "dtype": { "power_type": "object", - "element": "object", + "element": "uint32", "et": "object", "points": "object" } @@ -403,10 +403,10 @@ "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\":[0,1,2,3,4,5,6,7,8,9,10,11],\"data\":[[0.0,\"ext_grid\",0.0,1.0,0.0,0.0,0.0,0.0],[0.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[9.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[10.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[2.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[3.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[4.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[5.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[6.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[7.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[8.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0]]}", + "_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\":[0,1,2,3,4,5,6,7,8,9,10,11],\"data\":[[0,\"ext_grid\",0.0,1.0,0.0,0.0,0.0,0.0],[0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[9,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[10,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[2,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[3,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[4,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[5,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[6,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[7,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[8,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0]]}", "orient": "split", "dtype": { - "element": "object", + "element": "uint32", "et": "object", "cp0_eur": "float64", "cp1_eur_per_mw": "float64", @@ -427,7 +427,7 @@ "order": "float64", "level": "object", "initial_run": "bool", - "recycle": "bool" + "recycle": "object" } }, "line_geodata": { diff --git a/pandapower/networks/power_system_test_case_jsons/case9.json b/pandapower/networks/power_system_test_case_jsons/case9.json index e1c6a48ac..0ec5e1bad 100644 --- a/pandapower/networks/power_system_test_case_jsons/case9.json +++ b/pandapower/networks/power_system_test_case_jsons/case9.json @@ -393,7 +393,7 @@ "orient": "split", "dtype": { "power_type": "object", - "element": "object", + "element": "uint32", "et": "object", "points": "object" } @@ -401,10 +401,10 @@ "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\":[0,1,2],\"data\":[[0.0,\"ext_grid\",150.0,5.0,0.11,0.0,0.0,0.0],[0.0,\"gen\",600.0,1.2,0.085,0.0,0.0,0.0],[1.0,\"gen\",335.0,1.0,0.1225,0.0,0.0,0.0]]}", + "_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\":[0,1,2],\"data\":[[0,\"ext_grid\",150.0,5.0,0.11,0.0,0.0,0.0],[0,\"gen\",600.0,1.2,0.085,0.0,0.0,0.0],[1,\"gen\",335.0,1.0,0.1225,0.0,0.0,0.0]]}", "orient": "split", "dtype": { - "element": "object", + "element": "uint32", "et": "object", "cp0_eur": "float64", "cp1_eur_per_mw": "float64", @@ -425,7 +425,7 @@ "order": "float64", "level": "object", "initial_run": "bool", - "recycle": "bool" + "recycle": "object" } }, "line_geodata": { diff --git a/pandapower/networks/power_system_test_case_jsons/case9241pegase.json b/pandapower/networks/power_system_test_case_jsons/case9241pegase.json index 3de502694..b3b4c6b0b 100644 --- a/pandapower/networks/power_system_test_case_jsons/case9241pegase.json +++ b/pandapower/networks/power_system_test_case_jsons/case9241pegase.json @@ -395,7 +395,7 @@ "orient": "split", "dtype": { "power_type": "object", - "element": "object", + "element": "uint32", "et": "object", "points": "object" } @@ -403,10 +403,10 @@ "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\":[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,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276,1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,1360,1361,1362,1363,1364,1365,1366,1367,1368,1369,1370,1371,1372,1373,1374,1375,1376,1377,1378,1379,1380,1381,1382,1383,1384,1385,1386,1387,1388,1389,1390,1391,1392,1393,1394,1395,1396,1397,1398,1399,1400,1401,1402,1403,1404,1405,1406,1407,1408,1409,1410,1411,1412,1413,1414,1415,1416,1417,1418,1419,1420,1421,1422,1423,1424,1425,1426,1427,1428,1429,1430,1431,1432,1433,1434,1435,1436,1437,1438,1439,1440,1441,1442,1443,1444],\"data\":[[0.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[10.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[100.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[999.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1000.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1001.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1002.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1003.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1004.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1005.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1006.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1007.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1008.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[101.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1009.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1010.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1011.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1012.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1013.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1014.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1015.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1016.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1017.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1018.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[102.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1019.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1020.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1021.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1022.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1023.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1024.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1025.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1026.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1027.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1028.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[103.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1029.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1030.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1031.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1032.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1033.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1034.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1035.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1036.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1037.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1038.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[104.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1039.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1040.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1041.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1042.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1043.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1044.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1045.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1046.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1047.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1048.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[105.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1049.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1050.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1051.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1052.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1053.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1054.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1055.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1056.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1057.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1058.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[106.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1059.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1060.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1061.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1062.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1063.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1064.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1065.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1066.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1067.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1068.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[107.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1069.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1070.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1071.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1072.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1073.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1074.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1075.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1076.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1077.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1078.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[108.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1079.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1080.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1081.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1082.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1083.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1084.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1085.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1086.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1087.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1088.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[109.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1089.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1090.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1091.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1092.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1093.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1094.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1095.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1096.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1097.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1098.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[11.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[110.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1099.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1100.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1101.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1102.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1103.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1104.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1105.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1106.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1107.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1108.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[111.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1109.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1110.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1111.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1112.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1113.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1114.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1115.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1116.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1117.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1118.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[112.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1119.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1120.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1121.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1122.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1123.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1124.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1125.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1126.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1127.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1128.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[113.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1129.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1130.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1131.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1132.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1133.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1134.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1135.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1136.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1137.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1138.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[114.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1139.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1140.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1141.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1142.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1143.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1144.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1145.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1146.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1147.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1148.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[115.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1149.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1150.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1151.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1152.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1153.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1154.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1155.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1156.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1157.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1158.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[116.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1159.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1160.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1161.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1162.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1163.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1164.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1165.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1166.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1167.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1168.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[117.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1169.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1170.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1171.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1172.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1173.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1174.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1175.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1176.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1177.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1178.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[118.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1179.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1180.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1181.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1182.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1183.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1184.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1185.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1186.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1187.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1188.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[119.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1189.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1190.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1191.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1192.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1193.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1194.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1195.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1196.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1197.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1198.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[12.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[120.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1199.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1200.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1201.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1202.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1203.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1204.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1205.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1206.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1207.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1208.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[121.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1209.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1210.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1211.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1212.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1213.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1214.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1215.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1216.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1217.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1218.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[122.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1219.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1220.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1221.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1222.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1223.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1224.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1225.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1226.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1227.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1228.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[123.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1229.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1230.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1231.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1232.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1233.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1234.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1235.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1236.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1237.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1238.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[124.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1239.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1240.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1241.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1242.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1243.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1244.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1245.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1246.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1247.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1248.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[125.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1249.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1250.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1251.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1252.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1253.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1254.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1255.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1256.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1257.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1258.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[126.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1259.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1260.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1261.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1262.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1263.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1264.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1265.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1266.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1267.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1268.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[127.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1269.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1270.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1271.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1272.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1273.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1274.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1275.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1276.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1277.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1278.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[128.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1279.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1280.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1281.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1282.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1283.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1284.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1285.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1286.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1287.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1288.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[129.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1289.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1290.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1291.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1292.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1293.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1294.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1295.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1296.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1297.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1298.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[13.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[130.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1299.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1300.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1301.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1302.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1303.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1304.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1305.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1306.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1307.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1308.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[131.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1309.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1310.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1311.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1312.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1313.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1314.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1315.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1316.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1317.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1318.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[132.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1319.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1320.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1321.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1322.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1323.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1324.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1325.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1326.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1327.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1328.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[133.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1329.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1330.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1331.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1332.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1333.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1334.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1335.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1336.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1337.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1338.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[134.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1339.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1340.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1341.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1342.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1343.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1344.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1345.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1346.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1347.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1348.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[135.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1349.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1350.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1351.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1352.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1353.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1354.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1355.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1356.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1357.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1358.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[136.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1359.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1360.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1361.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1362.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1363.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1364.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1365.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1366.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1367.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1368.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[137.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1369.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1370.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1371.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1372.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1373.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1374.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1375.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1376.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1377.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1378.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[138.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1379.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1380.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1381.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1382.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1383.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1384.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1385.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1386.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1387.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1388.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[139.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1389.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1390.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1391.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1392.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1393.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1394.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1395.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1396.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1397.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1398.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[14.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[140.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1399.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1400.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1401.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1402.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1403.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1404.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1405.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1406.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1407.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1408.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[141.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1409.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1410.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1411.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1412.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1413.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1414.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1415.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1416.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1417.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1418.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[142.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1419.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1420.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1421.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1422.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1423.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1424.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1425.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1426.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1427.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1428.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[143.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1429.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1430.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1431.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1432.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1433.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1434.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1435.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1436.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1437.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1438.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[144.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1439.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1440.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1441.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1442.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1443.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[145.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[146.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[147.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[148.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[149.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[15.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[150.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[151.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[152.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[153.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[154.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[155.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[156.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[157.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[158.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[159.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[16.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[160.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[161.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[162.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[163.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[164.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[165.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[166.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[167.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[168.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[169.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[17.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[170.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[171.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[172.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[173.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[174.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[175.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[176.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[177.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[178.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[179.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[18.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[180.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[181.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[182.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[183.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[184.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[185.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[186.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[187.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[188.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[189.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[19.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[190.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[191.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[192.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[193.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[194.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[195.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[196.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[197.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[198.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[199.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[2.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[20.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[200.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[201.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[202.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[203.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[204.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[205.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[206.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[207.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[208.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[209.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[21.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[210.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[211.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[212.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[213.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[214.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[215.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[216.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[217.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[218.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[219.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[22.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[220.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[221.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[222.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[223.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[224.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[225.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[226.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[227.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[228.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[229.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[23.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[230.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[231.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[232.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[233.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[234.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[235.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[236.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[237.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[238.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[239.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[24.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[240.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[241.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[242.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[243.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[244.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[245.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[246.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[247.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[248.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[249.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[25.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[250.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[251.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[252.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[253.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[254.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[255.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[256.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[257.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[258.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[259.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[26.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[260.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[261.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[262.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[263.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[264.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[265.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[266.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[267.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[268.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[269.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[27.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[270.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[271.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[272.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[273.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[274.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[275.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[276.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[277.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[278.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[279.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[28.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[280.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[281.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[282.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[283.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[284.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[285.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[286.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[287.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[288.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[289.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[29.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[290.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[291.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[292.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[293.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[294.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[295.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[296.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[297.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[298.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[299.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[3.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[30.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[300.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[301.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[302.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[303.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[304.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[305.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[306.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[307.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[308.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[309.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[31.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[310.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[311.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[312.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[313.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[314.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[315.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[316.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[317.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[318.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[319.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[32.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[320.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[321.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[322.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[323.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[324.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[325.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[326.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[327.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[328.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[329.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[33.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[330.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[331.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[332.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[333.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[334.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[335.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[336.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[337.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[338.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[339.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[34.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[340.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[341.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[342.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[343.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[344.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[345.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[346.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[347.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[348.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[349.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[35.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[350.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[351.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[352.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[353.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[354.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[355.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[356.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[357.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[358.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[359.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[36.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[360.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[361.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[362.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[363.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[364.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[365.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[366.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[367.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[368.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[369.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[37.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[370.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[371.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[372.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[373.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[374.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[375.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[376.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[377.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[378.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[379.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[38.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[380.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[381.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[382.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[383.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[384.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[385.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[386.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[387.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[388.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[389.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[39.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[390.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[391.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[392.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[393.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[394.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[395.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[396.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[397.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[398.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[399.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[4.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[40.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[400.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[401.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[402.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[403.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[404.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[405.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[406.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[407.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[408.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[409.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[41.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[410.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[411.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[412.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[413.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[414.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[415.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[416.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[417.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[418.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[419.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[42.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[420.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[421.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[422.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[423.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[424.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[425.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[426.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[427.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[428.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[429.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[43.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[430.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[431.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[432.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[433.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[434.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[435.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[436.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[437.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[438.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[439.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[44.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[440.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[441.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[442.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[443.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[444.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[445.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[446.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[447.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[448.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[449.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[45.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[450.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[451.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[452.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[453.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[454.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[455.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[456.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[457.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[458.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[459.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[46.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[460.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[461.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[462.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[463.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[464.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[465.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[466.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[467.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[468.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[469.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[47.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[470.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[471.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[472.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[473.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[474.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[475.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[476.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[477.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[478.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[479.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[48.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[480.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[481.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[482.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[483.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[484.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[485.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[486.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[487.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[488.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[489.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[49.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[490.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[491.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[492.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[493.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[494.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[495.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[496.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[497.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[498.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[499.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[5.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[50.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[500.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[501.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[502.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[503.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[504.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[505.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[506.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[507.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[508.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[509.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[51.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[510.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[511.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[512.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[513.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[514.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[515.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[516.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[517.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[518.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[519.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[52.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[520.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[521.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[522.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[523.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[524.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[525.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[526.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[527.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[528.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[529.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[53.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[530.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[531.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[532.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[533.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[534.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[535.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[536.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[537.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[538.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[539.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[54.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[540.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[541.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[542.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[543.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[544.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[545.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[546.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[547.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[548.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[549.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[55.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[550.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[551.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[552.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[553.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[554.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[555.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[556.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[557.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[558.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[559.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[56.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[560.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[561.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[562.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[563.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[564.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[565.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[566.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[567.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[568.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[569.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[57.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[570.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[571.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[572.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[573.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[574.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[575.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[576.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[577.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[578.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[579.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[58.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[580.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[581.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[582.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[583.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[584.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[585.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[586.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[587.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[588.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[589.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[59.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[590.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[591.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[592.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[593.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[594.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[595.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[596.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[597.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[598.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[599.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[6.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[60.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[600.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[601.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[602.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[603.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[604.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[605.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[606.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[607.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[608.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[609.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[61.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[610.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[611.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[612.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[613.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[614.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[615.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[616.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[617.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[618.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[619.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[62.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[620.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[621.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[622.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[623.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[624.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[625.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[626.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[627.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[628.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[629.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[63.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[630.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[631.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[632.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[633.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[634.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[635.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[636.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[637.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[638.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[639.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[64.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[640.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[641.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[642.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[643.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[644.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[645.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[646.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[647.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[648.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[649.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[65.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[650.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[651.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[652.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[653.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[654.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[655.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[656.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[657.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[658.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[659.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[66.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[660.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[661.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[662.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[663.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[664.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[665.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[666.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[667.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[668.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[669.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[67.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[670.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[671.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[672.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[673.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[674.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[675.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[676.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[677.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[678.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[679.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[68.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[680.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[681.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[682.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[683.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[684.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[685.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[686.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[687.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[688.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[689.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[69.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[690.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[691.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[692.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[693.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[0.0,\"ext_grid\",0.0,1.0,0.0,0.0,0.0,0.0],[694.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[695.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[696.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[697.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[698.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[7.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[70.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[699.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[700.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[701.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[702.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[703.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[704.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[705.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[706.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[707.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[708.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[71.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[709.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[710.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[711.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[712.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[713.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[714.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[715.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[716.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[717.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[718.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[72.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[719.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[720.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[721.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[722.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[723.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[724.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[725.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[726.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[727.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[728.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[73.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[729.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[730.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[731.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[732.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[733.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[734.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[735.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[736.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[737.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[738.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[74.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[739.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[740.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[741.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[742.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[743.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[744.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[745.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[746.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[747.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[748.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[75.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[749.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[750.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[751.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[752.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[753.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[754.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[755.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[756.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[757.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[758.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[76.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[759.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[760.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[761.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[762.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[763.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[764.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[765.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[766.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[767.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[768.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[77.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[769.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[770.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[771.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[772.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[773.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[774.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[775.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[776.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[777.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[778.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[78.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[779.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[780.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[781.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[782.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[783.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[784.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[785.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[786.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[787.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[788.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[79.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[789.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[790.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[791.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[792.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[793.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[794.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[795.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[796.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[797.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[798.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[8.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[80.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[799.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[800.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[801.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[802.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[803.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[804.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[805.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[806.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[807.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[808.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[81.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[809.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[810.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[811.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[812.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[813.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[814.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[815.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[816.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[817.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[818.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[82.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[819.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[820.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[821.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[822.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[823.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[824.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[825.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[826.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[827.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[828.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[83.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[829.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[830.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[831.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[832.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[833.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[834.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[835.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[836.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[837.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[838.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[84.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[839.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[840.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[841.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[842.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[843.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[844.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[845.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[846.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[847.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[848.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[85.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[849.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[850.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[851.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[852.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[853.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[854.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[855.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[856.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[857.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[858.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[86.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[859.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[860.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[861.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[862.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[863.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[864.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[865.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[866.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[867.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[868.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[87.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[869.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[870.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[871.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[872.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[873.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[874.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[875.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[876.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[877.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[878.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[88.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[879.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[880.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[881.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[882.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[883.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[884.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[885.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[886.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[887.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[888.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[89.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[889.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[890.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[891.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[892.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[893.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[894.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[895.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[896.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[897.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[898.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[9.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[90.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[899.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[900.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[901.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[902.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[903.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[904.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[905.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[906.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[907.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[908.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[91.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[909.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[910.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[911.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[912.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[913.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[914.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[915.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[916.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[917.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[918.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[92.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[919.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[920.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[921.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[922.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[923.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[924.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[925.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[926.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[927.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[928.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[93.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[929.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[930.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[931.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[932.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[933.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[934.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[935.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[936.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[937.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[938.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[94.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[939.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[940.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[941.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[942.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[943.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[944.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[945.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[946.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[947.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[948.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[95.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[949.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[950.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[951.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[952.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[953.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[954.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[955.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[956.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[957.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[958.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[96.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[959.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[960.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[961.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[962.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[963.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[964.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[965.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[966.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[967.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[968.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[97.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[969.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[970.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[971.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[972.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[973.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[974.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[975.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[976.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[977.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[978.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[98.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[979.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[980.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[981.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[982.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[983.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[984.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[985.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[986.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[987.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[988.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[99.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[989.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[990.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[991.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[992.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[993.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[994.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[995.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[996.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[997.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[998.0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0]]}", + "_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\":[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,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276,1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,1360,1361,1362,1363,1364,1365,1366,1367,1368,1369,1370,1371,1372,1373,1374,1375,1376,1377,1378,1379,1380,1381,1382,1383,1384,1385,1386,1387,1388,1389,1390,1391,1392,1393,1394,1395,1396,1397,1398,1399,1400,1401,1402,1403,1404,1405,1406,1407,1408,1409,1410,1411,1412,1413,1414,1415,1416,1417,1418,1419,1420,1421,1422,1423,1424,1425,1426,1427,1428,1429,1430,1431,1432,1433,1434,1435,1436,1437,1438,1439,1440,1441,1442,1443,1444],\"data\":[[0,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[10,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[100,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[999,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1000,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1001,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1002,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1003,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1004,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1005,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1006,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1007,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1008,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[101,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1009,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1010,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1011,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1012,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1013,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1014,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1015,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1016,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1017,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1018,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[102,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1019,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1020,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1021,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1022,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1023,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1024,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1025,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1026,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1027,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1028,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[103,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1029,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1030,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1031,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1032,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1033,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1034,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1035,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1036,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1037,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1038,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[104,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1039,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1040,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1041,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1042,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1043,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1044,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1045,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1046,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1047,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1048,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[105,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1049,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1050,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1051,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1052,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1053,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1054,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1055,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1056,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1057,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1058,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[106,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1059,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1060,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1061,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1062,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1063,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1064,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1065,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1066,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1067,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1068,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[107,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1069,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1070,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1071,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1072,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1073,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1074,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1075,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1076,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1077,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1078,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[108,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1079,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1080,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1081,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1082,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1083,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1084,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1085,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1086,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1087,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1088,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[109,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1089,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1090,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1091,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1092,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1093,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1094,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1095,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1096,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1097,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1098,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[11,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[110,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1099,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1100,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1101,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1102,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1103,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1104,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1105,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1106,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1107,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1108,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[111,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1109,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1110,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1111,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1112,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1113,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1114,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1115,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1116,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1117,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1118,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[112,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1119,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1120,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1121,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1122,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1123,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1124,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1125,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1126,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1127,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1128,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[113,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1129,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1130,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1131,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1132,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1133,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1134,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1135,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1136,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1137,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1138,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[114,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1139,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1140,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1141,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1142,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1143,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1144,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1145,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1146,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1147,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1148,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[115,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1149,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1150,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1151,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1152,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1153,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1154,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1155,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1156,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1157,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1158,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[116,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1159,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1160,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1161,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1162,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1163,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1164,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1165,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1166,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1167,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1168,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[117,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1169,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1170,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1171,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1172,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1173,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1174,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1175,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1176,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1177,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1178,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[118,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1179,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1180,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1181,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1182,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1183,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1184,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1185,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1186,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1187,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1188,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[119,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1189,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1190,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1191,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1192,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1193,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1194,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1195,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1196,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1197,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1198,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[12,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[120,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1199,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1200,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1201,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1202,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1203,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1204,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1205,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1206,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1207,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1208,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[121,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1209,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1210,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1211,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1212,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1213,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1214,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1215,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1216,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1217,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1218,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[122,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1219,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1220,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1221,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1222,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1223,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1224,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1225,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1226,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1227,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1228,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[123,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1229,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1230,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1231,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1232,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1233,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1234,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1235,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1236,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1237,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1238,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[124,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1239,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1240,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1241,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1242,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1243,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1244,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1245,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1246,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1247,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1248,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[125,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1249,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1250,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1251,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1252,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1253,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1254,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1255,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1256,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1257,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1258,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[126,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1259,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1260,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1261,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1262,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1263,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1264,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1265,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1266,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1267,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1268,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[127,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1269,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1270,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1271,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1272,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1273,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1274,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1275,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1276,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1277,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1278,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[128,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1279,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1280,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1281,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1282,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1283,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1284,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1285,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1286,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1287,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1288,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[129,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1289,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1290,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1291,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1292,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1293,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1294,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1295,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1296,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1297,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1298,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[13,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[130,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1299,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1300,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1301,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1302,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1303,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1304,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1305,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1306,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1307,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1308,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[131,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1309,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1310,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1311,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1312,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1313,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1314,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1315,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1316,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1317,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1318,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[132,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1319,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1320,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1321,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1322,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1323,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1324,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1325,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1326,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1327,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1328,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[133,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1329,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1330,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1331,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1332,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1333,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1334,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1335,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1336,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1337,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1338,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[134,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1339,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1340,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1341,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1342,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1343,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1344,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1345,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1346,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1347,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1348,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[135,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1349,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1350,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1351,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1352,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1353,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1354,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1355,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1356,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1357,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1358,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[136,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1359,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1360,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1361,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1362,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1363,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1364,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1365,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1366,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1367,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1368,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[137,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1369,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1370,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1371,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1372,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1373,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1374,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1375,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1376,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1377,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1378,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[138,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1379,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1380,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1381,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1382,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1383,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1384,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1385,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1386,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1387,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1388,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[139,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1389,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1390,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1391,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1392,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1393,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1394,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1395,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1396,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1397,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1398,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[14,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[140,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1399,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1400,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1401,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1402,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1403,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1404,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1405,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1406,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1407,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1408,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[141,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1409,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1410,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1411,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1412,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1413,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1414,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1415,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1416,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1417,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1418,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[142,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1419,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1420,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1421,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1422,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1423,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1424,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1425,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1426,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1427,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1428,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[143,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1429,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1430,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1431,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1432,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1433,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1434,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1435,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1436,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1437,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1438,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[144,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1439,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1440,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1441,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1442,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[1443,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[145,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[146,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[147,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[148,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[149,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[15,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[150,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[151,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[152,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[153,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[154,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[155,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[156,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[157,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[158,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[159,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[16,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[160,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[161,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[162,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[163,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[164,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[165,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[166,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[167,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[168,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[169,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[17,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[170,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[171,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[172,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[173,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[174,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[175,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[176,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[177,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[178,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[179,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[18,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[180,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[181,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[182,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[183,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[184,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[185,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[186,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[187,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[188,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[189,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[19,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[190,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[191,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[192,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[193,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[194,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[195,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[196,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[197,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[198,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[199,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[2,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[20,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[200,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[201,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[202,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[203,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[204,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[205,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[206,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[207,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[208,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[209,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[21,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[210,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[211,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[212,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[213,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[214,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[215,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[216,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[217,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[218,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[219,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[22,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[220,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[221,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[222,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[223,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[224,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[225,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[226,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[227,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[228,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[229,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[23,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[230,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[231,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[232,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[233,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[234,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[235,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[236,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[237,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[238,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[239,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[24,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[240,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[241,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[242,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[243,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[244,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[245,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[246,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[247,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[248,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[249,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[25,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[250,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[251,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[252,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[253,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[254,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[255,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[256,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[257,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[258,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[259,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[26,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[260,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[261,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[262,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[263,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[264,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[265,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[266,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[267,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[268,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[269,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[27,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[270,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[271,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[272,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[273,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[274,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[275,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[276,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[277,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[278,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[279,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[28,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[280,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[281,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[282,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[283,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[284,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[285,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[286,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[287,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[288,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[289,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[29,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[290,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[291,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[292,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[293,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[294,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[295,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[296,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[297,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[298,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[299,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[3,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[30,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[300,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[301,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[302,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[303,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[304,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[305,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[306,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[307,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[308,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[309,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[31,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[310,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[311,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[312,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[313,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[314,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[315,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[316,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[317,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[318,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[319,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[32,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[320,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[321,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[322,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[323,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[324,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[325,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[326,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[327,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[328,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[329,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[33,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[330,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[331,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[332,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[333,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[334,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[335,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[336,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[337,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[338,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[339,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[34,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[340,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[341,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[342,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[343,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[344,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[345,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[346,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[347,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[348,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[349,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[35,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[350,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[351,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[352,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[353,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[354,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[355,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[356,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[357,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[358,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[359,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[36,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[360,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[361,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[362,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[363,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[364,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[365,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[366,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[367,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[368,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[369,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[37,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[370,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[371,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[372,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[373,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[374,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[375,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[376,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[377,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[378,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[379,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[38,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[380,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[381,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[382,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[383,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[384,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[385,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[386,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[387,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[388,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[389,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[39,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[390,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[391,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[392,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[393,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[394,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[395,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[396,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[397,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[398,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[399,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[4,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[40,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[400,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[401,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[402,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[403,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[404,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[405,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[406,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[407,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[408,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[409,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[41,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[410,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[411,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[412,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[413,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[414,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[415,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[416,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[417,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[418,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[419,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[42,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[420,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[421,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[422,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[423,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[424,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[425,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[426,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[427,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[428,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[429,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[43,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[430,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[431,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[432,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[433,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[434,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[435,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[436,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[437,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[438,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[439,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[44,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[440,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[441,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[442,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[443,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[444,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[445,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[446,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[447,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[448,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[449,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[45,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[450,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[451,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[452,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[453,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[454,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[455,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[456,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[457,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[458,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[459,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[46,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[460,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[461,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[462,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[463,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[464,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[465,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[466,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[467,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[468,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[469,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[47,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[470,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[471,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[472,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[473,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[474,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[475,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[476,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[477,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[478,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[479,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[48,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[480,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[481,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[482,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[483,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[484,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[485,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[486,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[487,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[488,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[489,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[49,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[490,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[491,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[492,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[493,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[494,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[495,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[496,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[497,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[498,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[499,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[5,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[50,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[500,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[501,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[502,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[503,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[504,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[505,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[506,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[507,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[508,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[509,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[51,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[510,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[511,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[512,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[513,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[514,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[515,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[516,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[517,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[518,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[519,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[52,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[520,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[521,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[522,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[523,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[524,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[525,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[526,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[527,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[528,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[529,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[53,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[530,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[531,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[532,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[533,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[534,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[535,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[536,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[537,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[538,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[539,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[54,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[540,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[541,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[542,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[543,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[544,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[545,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[546,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[547,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[548,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[549,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[55,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[550,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[551,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[552,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[553,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[554,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[555,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[556,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[557,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[558,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[559,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[56,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[560,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[561,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[562,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[563,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[564,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[565,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[566,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[567,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[568,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[569,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[57,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[570,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[571,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[572,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[573,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[574,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[575,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[576,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[577,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[578,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[579,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[58,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[580,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[581,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[582,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[583,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[584,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[585,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[586,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[587,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[588,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[589,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[59,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[590,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[591,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[592,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[593,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[594,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[595,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[596,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[597,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[598,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[599,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[6,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[60,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[600,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[601,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[602,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[603,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[604,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[605,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[606,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[607,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[608,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[609,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[61,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[610,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[611,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[612,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[613,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[614,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[615,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[616,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[617,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[618,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[619,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[62,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[620,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[621,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[622,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[623,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[624,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[625,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[626,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[627,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[628,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[629,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[63,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[630,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[631,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[632,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[633,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[634,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[635,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[636,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[637,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[638,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[639,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[64,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[640,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[641,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[642,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[643,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[644,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[645,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[646,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[647,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[648,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[649,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[65,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[650,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[651,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[652,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[653,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[654,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[655,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[656,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[657,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[658,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[659,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[66,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[660,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[661,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[662,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[663,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[664,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[665,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[666,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[667,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[668,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[669,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[67,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[670,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[671,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[672,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[673,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[674,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[675,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[676,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[677,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[678,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[679,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[68,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[680,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[681,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[682,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[683,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[684,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[685,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[686,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[687,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[688,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[689,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[69,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[690,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[691,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[692,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[693,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[0,\"ext_grid\",0.0,1.0,0.0,0.0,0.0,0.0],[694,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[695,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[696,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[697,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[698,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[7,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[70,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[699,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[700,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[701,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[702,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[703,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[704,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[705,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[706,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[707,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[708,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[71,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[709,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[710,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[711,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[712,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[713,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[714,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[715,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[716,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[717,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[718,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[72,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[719,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[720,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[721,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[722,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[723,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[724,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[725,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[726,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[727,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[728,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[73,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[729,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[730,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[731,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[732,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[733,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[734,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[735,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[736,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[737,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[738,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[74,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[739,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[740,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[741,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[742,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[743,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[744,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[745,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[746,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[747,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[748,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[75,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[749,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[750,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[751,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[752,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[753,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[754,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[755,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[756,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[757,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[758,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[76,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[759,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[760,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[761,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[762,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[763,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[764,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[765,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[766,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[767,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[768,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[77,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[769,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[770,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[771,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[772,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[773,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[774,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[775,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[776,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[777,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[778,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[78,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[779,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[780,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[781,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[782,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[783,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[784,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[785,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[786,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[787,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[788,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[79,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[789,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[790,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[791,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[792,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[793,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[794,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[795,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[796,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[797,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[798,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[8,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[80,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[799,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[800,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[801,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[802,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[803,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[804,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[805,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[806,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[807,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[808,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[81,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[809,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[810,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[811,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[812,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[813,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[814,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[815,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[816,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[817,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[818,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[82,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[819,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[820,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[821,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[822,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[823,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[824,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[825,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[826,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[827,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[828,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[83,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[829,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[830,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[831,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[832,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[833,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[834,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[835,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[836,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[837,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[838,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[84,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[839,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[840,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[841,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[842,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[843,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[844,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[845,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[846,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[847,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[848,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[85,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[849,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[850,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[851,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[852,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[853,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[854,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[855,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[856,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[857,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[858,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[86,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[859,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[860,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[861,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[862,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[863,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[864,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[865,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[866,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[867,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[868,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[87,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[869,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[870,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[871,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[872,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[873,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[874,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[875,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[876,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[877,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[878,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[88,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[879,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[880,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[881,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[882,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[883,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[884,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[885,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[886,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[887,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[888,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[89,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[889,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[890,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[891,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[892,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[893,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[894,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[895,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[896,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[897,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[898,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[9,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[90,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[899,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[900,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[901,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[902,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[903,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[904,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[905,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[906,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[907,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[908,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[91,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[909,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[910,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[911,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[912,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[913,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[914,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[915,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[916,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[917,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[918,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[92,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[919,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[920,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[921,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[922,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[923,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[924,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[925,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[926,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[927,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[928,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[93,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[929,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[930,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[931,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[932,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[933,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[934,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[935,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[936,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[937,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[938,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[94,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[939,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[940,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[941,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[942,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[943,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[944,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[945,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[946,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[947,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[948,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[95,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[949,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[950,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[951,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[952,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[953,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[954,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[955,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[956,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[957,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[958,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[96,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[959,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[960,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[961,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[962,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[963,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[964,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[965,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[966,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[967,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[968,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[97,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[969,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[970,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[971,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[972,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[973,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[974,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[975,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[976,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[977,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[978,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[98,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[979,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[980,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[981,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[982,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[983,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[984,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[985,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[986,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[987,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[988,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[99,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[989,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[990,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[991,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[992,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[993,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[994,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[995,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[996,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[997,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0],[998,\"gen\",0.0,1.0,0.0,0.0,0.0,0.0]]}", "orient": "split", "dtype": { - "element": "object", + "element": "uint32", "et": "object", "cp0_eur": "float64", "cp1_eur_per_mw": "float64", @@ -427,7 +427,7 @@ "order": "float64", "level": "object", "initial_run": "bool", - "recycle": "bool" + "recycle": "object" } }, "line_geodata": { diff --git a/pandapower/networks/power_system_test_case_jsons/case_ieee30.json b/pandapower/networks/power_system_test_case_jsons/case_ieee30.json index 029dc67bf..b44cc7205 100644 --- a/pandapower/networks/power_system_test_case_jsons/case_ieee30.json +++ b/pandapower/networks/power_system_test_case_jsons/case_ieee30.json @@ -394,7 +394,7 @@ "orient": "split", "dtype": { "power_type": "object", - "element": "object", + "element": "uint32", "et": "object", "points": "object" } @@ -402,10 +402,10 @@ "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\":[0,1,2,3,4,5],\"data\":[[0.0,\"ext_grid\",0.0,20.0,0.03843198,0.0,0.0,0.0],[0.0,\"gen\",0.0,20.0,0.25,0.0,0.0,0.0],[1.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[2.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[3.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[4.0,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0]]}", + "_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\":[0,1,2,3,4,5],\"data\":[[0,\"ext_grid\",0.0,20.0,0.03843198,0.0,0.0,0.0],[0,\"gen\",0.0,20.0,0.25,0.0,0.0,0.0],[1,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[2,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[3,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0],[4,\"gen\",0.0,40.0,0.01,0.0,0.0,0.0]]}", "orient": "split", "dtype": { - "element": "object", + "element": "uint32", "et": "object", "cp0_eur": "float64", "cp1_eur_per_mw": "float64", @@ -426,7 +426,7 @@ "order": "float64", "level": "object", "initial_run": "bool", - "recycle": "bool" + "recycle": "object" } }, "line_geodata": { diff --git a/pandapower/networks/power_system_test_case_jsons/case_illinois200.json b/pandapower/networks/power_system_test_case_jsons/case_illinois200.json index d8cc78beb..c98f41ab9 100644 --- a/pandapower/networks/power_system_test_case_jsons/case_illinois200.json +++ b/pandapower/networks/power_system_test_case_jsons/case_illinois200.json @@ -399,7 +399,7 @@ "orient": "split", "dtype": { "power_type": "object", - "element": "object", + "element": "uint32", "et": "object", "points": "object" } @@ -407,10 +407,10 @@ "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\":[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],\"data\":[[0.0,\"gen\",236.120000000000005,19.0,0.002,0.0,0.0,0.0],[1.0,\"gen\",236.120000000000005,19.0,0.002,0.0,0.0,0.0],[10.0,\"gen\",236.740000000000009,19.0,0.002,0.0,0.0,0.0],[11.0,\"gen\",236.740000000000009,19.0,0.002,0.0,0.0,0.0],[12.0,\"gen\",236.740000000000009,19.0,0.002,0.0,0.0,0.0],[13.0,\"gen\",606.0,23.157,0.002,0.0,0.0,0.0],[14.0,\"gen\",603.600000000000023,23.146000000000001,0.002,0.0,0.0,0.0],[0.0,\"sgen\",627.0,23.251999999999999,0.002,0.0,0.0,0.0],[1.0,\"sgen\",627.0,23.251999999999999,0.002,0.0,0.0,0.0],[15.0,\"gen\",604.799999999999954,23.152000000000001,0.002,0.0,0.0,0.0],[16.0,\"gen\",607.5,23.164000000000001,0.002,0.0,0.0,0.0],[2.0,\"sgen\",609.450000000000046,23.172999999999998,0.002,0.0,0.0,0.0],[2.0,\"gen\",236.120000000000005,19.0,0.002,0.0,0.0,0.0],[17.0,\"gen\",236.47999999999999,19.0,0.002,0.0,0.0,0.0],[18.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[19.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[20.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[21.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[22.0,\"gen\",610.139999999999986,19.0,0.002,0.0,0.0,0.0],[23.0,\"gen\",610.139999999999986,19.0,0.002,0.0,0.0,0.0],[24.0,\"gen\",610.139999999999986,19.0,0.002,0.0,0.0,0.0],[25.0,\"gen\",1261.329999999999927,19.0,0.002,0.0,0.0,0.0],[26.0,\"gen\",1261.329999999999927,19.0,0.002,0.0,0.0,0.0],[3.0,\"gen\",236.120000000000005,19.0,0.002,0.0,0.0,0.0],[27.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[28.0,\"gen\",236.139999999999986,19.0,0.002,0.0,0.0,0.0],[29.0,\"gen\",253.009999999999991,19.0,0.002,0.0,0.0,0.0],[30.0,\"gen\",253.009999999999991,19.0,0.002,0.0,0.0,0.0],[31.0,\"gen\",253.009999999999991,19.0,0.002,0.0,0.0,0.0],[32.0,\"gen\",253.009999999999991,19.0,0.002,0.0,0.0,0.0],[3.0,\"sgen\",807.899999999999977,24.07,0.002,0.0,0.0,0.0],[4.0,\"sgen\",618.0,23.210999999999999,0.002,0.0,0.0,0.0],[5.0,\"sgen\",639.0,23.306000000000001,0.002,0.0,0.0,0.0],[6.0,\"sgen\",614.100000000000023,23.193999999999999,0.002,0.0,0.0,0.0],[4.0,\"gen\",236.240000000000009,19.0,0.002,0.0,0.0,0.0],[33.0,\"gen\",614.100000000000023,23.193999999999999,0.002,0.0,0.0,0.0],[7.0,\"sgen\",614.100000000000023,23.193999999999999,0.002,0.0,0.0,0.0],[8.0,\"sgen\",614.100000000000023,23.193999999999999,0.002,0.0,0.0,0.0],[34.0,\"gen\",614.100000000000023,23.193999999999999,0.002,0.0,0.0,0.0],[35.0,\"gen\",236.469999999999999,19.0,0.002,0.0,0.0,0.0],[36.0,\"gen\",236.710000000000008,19.0,0.002,0.0,0.0,0.0],[0.0,\"ext_grid\",1272.130000000000109,6.71,0.0,0.0,0.0,0.0],[9.0,\"sgen\",701.25,23.588000000000001,0.002,0.0,0.0,0.0],[10.0,\"sgen\",701.25,23.588000000000001,0.002,0.0,0.0,0.0],[5.0,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[6.0,\"gen\",236.129999999999995,19.0,0.002,0.0,0.0,0.0],[7.0,\"gen\",236.740000000000009,19.0,0.002,0.0,0.0,0.0],[8.0,\"gen\",236.740000000000009,19.0,0.002,0.0,0.0,0.0],[9.0,\"gen\",236.740000000000009,19.0,0.002,0.0,0.0,0.0]]}", + "_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\":[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],\"data\":[[0,\"gen\",236.120000000000005,19.0,0.002,0.0,0.0,0.0],[1,\"gen\",236.120000000000005,19.0,0.002,0.0,0.0,0.0],[10,\"gen\",236.740000000000009,19.0,0.002,0.0,0.0,0.0],[11,\"gen\",236.740000000000009,19.0,0.002,0.0,0.0,0.0],[12,\"gen\",236.740000000000009,19.0,0.002,0.0,0.0,0.0],[13,\"gen\",606.0,23.157,0.002,0.0,0.0,0.0],[14,\"gen\",603.600000000000023,23.146000000000001,0.002,0.0,0.0,0.0],[0,\"sgen\",627.0,23.251999999999999,0.002,0.0,0.0,0.0],[1,\"sgen\",627.0,23.251999999999999,0.002,0.0,0.0,0.0],[15,\"gen\",604.799999999999954,23.152000000000001,0.002,0.0,0.0,0.0],[16,\"gen\",607.5,23.164000000000001,0.002,0.0,0.0,0.0],[2,\"sgen\",609.450000000000046,23.172999999999998,0.002,0.0,0.0,0.0],[2,\"gen\",236.120000000000005,19.0,0.002,0.0,0.0,0.0],[17,\"gen\",236.47999999999999,19.0,0.002,0.0,0.0,0.0],[18,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[19,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[20,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[21,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[22,\"gen\",610.139999999999986,19.0,0.002,0.0,0.0,0.0],[23,\"gen\",610.139999999999986,19.0,0.002,0.0,0.0,0.0],[24,\"gen\",610.139999999999986,19.0,0.002,0.0,0.0,0.0],[25,\"gen\",1261.329999999999927,19.0,0.002,0.0,0.0,0.0],[26,\"gen\",1261.329999999999927,19.0,0.002,0.0,0.0,0.0],[3,\"gen\",236.120000000000005,19.0,0.002,0.0,0.0,0.0],[27,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[28,\"gen\",236.139999999999986,19.0,0.002,0.0,0.0,0.0],[29,\"gen\",253.009999999999991,19.0,0.002,0.0,0.0,0.0],[30,\"gen\",253.009999999999991,19.0,0.002,0.0,0.0,0.0],[31,\"gen\",253.009999999999991,19.0,0.002,0.0,0.0,0.0],[32,\"gen\",253.009999999999991,19.0,0.002,0.0,0.0,0.0],[3,\"sgen\",807.899999999999977,24.07,0.002,0.0,0.0,0.0],[4,\"sgen\",618.0,23.210999999999999,0.002,0.0,0.0,0.0],[5,\"sgen\",639.0,23.306000000000001,0.002,0.0,0.0,0.0],[6,\"sgen\",614.100000000000023,23.193999999999999,0.002,0.0,0.0,0.0],[4,\"gen\",236.240000000000009,19.0,0.002,0.0,0.0,0.0],[33,\"gen\",614.100000000000023,23.193999999999999,0.002,0.0,0.0,0.0],[7,\"sgen\",614.100000000000023,23.193999999999999,0.002,0.0,0.0,0.0],[8,\"sgen\",614.100000000000023,23.193999999999999,0.002,0.0,0.0,0.0],[34,\"gen\",614.100000000000023,23.193999999999999,0.002,0.0,0.0,0.0],[35,\"gen\",236.469999999999999,19.0,0.002,0.0,0.0,0.0],[36,\"gen\",236.710000000000008,19.0,0.002,0.0,0.0,0.0],[0,\"ext_grid\",1272.130000000000109,6.71,0.0,0.0,0.0,0.0],[9,\"sgen\",701.25,23.588000000000001,0.002,0.0,0.0,0.0],[10,\"sgen\",701.25,23.588000000000001,0.002,0.0,0.0,0.0],[5,\"gen\",0.0,0.0,0.0,0.0,0.0,0.0],[6,\"gen\",236.129999999999995,19.0,0.002,0.0,0.0,0.0],[7,\"gen\",236.740000000000009,19.0,0.002,0.0,0.0,0.0],[8,\"gen\",236.740000000000009,19.0,0.002,0.0,0.0,0.0],[9,\"gen\",236.740000000000009,19.0,0.002,0.0,0.0,0.0]]}", "orient": "split", "dtype": { - "element": "object", + "element": "uint32", "et": "object", "cp0_eur": "float64", "cp1_eur_per_mw": "float64", @@ -431,7 +431,7 @@ "order": "float64", "level": "object", "initial_run": "bool", - "recycle": "bool" + "recycle": "object" } }, "line_geodata": { diff --git a/pandapower/networks/power_system_test_case_jsons/iceland.json b/pandapower/networks/power_system_test_case_jsons/iceland.json index 94b0b91e5..e9c9921e0 100644 --- a/pandapower/networks/power_system_test_case_jsons/iceland.json +++ b/pandapower/networks/power_system_test_case_jsons/iceland.json @@ -391,7 +391,7 @@ "orient": "split", "dtype": { "power_type": "object", - "element": "object", + "element": "uint32", "et": "object", "points": "object" } @@ -399,10 +399,10 @@ "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\":[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],\"data\":[[0.0,\"ext_grid\",0.0,1.0,0.1,0.0,0.0,0.0],[0.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[9.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[10.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[11.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[12.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[13.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[14.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[15.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[16.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[17.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[18.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[1.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[19.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[20.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[21.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[22.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[23.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[24.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[25.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[26.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[27.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[28.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[2.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[29.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[30.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[31.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[32.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[33.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[3.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[4.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[5.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[6.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[7.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[8.0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0]]}", + "_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\":[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],\"data\":[[0,\"ext_grid\",0.0,1.0,0.1,0.0,0.0,0.0],[0,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[9,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[10,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[11,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[12,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[13,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[14,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[15,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[16,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[17,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[18,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[1,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[19,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[20,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[21,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[22,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[23,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[24,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[25,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[26,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[27,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[28,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[2,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[29,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[30,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[31,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[32,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[33,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[3,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[4,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[5,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[6,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[7,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0],[8,\"gen\",0.0,1.0,0.1,0.0,0.0,0.0]]}", "orient": "split", "dtype": { - "element": "object", + "element": "uint32", "et": "object", "cp0_eur": "float64", "cp1_eur_per_mw": "float64", @@ -423,7 +423,7 @@ "order": "float64", "level": "object", "initial_run": "bool", - "recycle": "bool" + "recycle": "object" } }, "line_geodata": { From c2e5c9953c267c2a5cb6526cfa69db6c7c1a2477 Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Wed, 10 Nov 2021 18:00:04 +0100 Subject: [PATCH 285/422] close #828 --- doc/elements/line_par.csv | 2 +- pandapower/create.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/elements/line_par.csv b/doc/elements/line_par.csv index 21d6a3655..9054a0f5a 100644 --- a/doc/elements/line_par.csv +++ b/doc/elements/line_par.csv @@ -6,7 +6,7 @@ to_bus*;integer;;Index of bus where the line ends length_km*;float;:math:`>` 0;length of the line [km] r_ohm_per_km*;float;:math:`\geq` 0 ;resistance of the line [Ohm per km] x_ohm_per_km*;float;:math:`\geq` 0 ;inductance of the line [Ohm per km] -c_nf_per_km*;float;:math:`\geq` 0 ;capacitance of the line [nano Farad per km] +c_nf_per_km*;float;:math:`\geq` 0 ;capacitance of the line (line-to-earth) [nano Farad per km] r0_ohm_per_km****;float;:math:`\geq` 0 ;zero sequence resistance of the line [Ohm per km] x0_ohm_per_km****;float;:math:`\geq` 0 ;zero sequence inductance of the line [Ohm per km] c0_nf_per_km****;float;:math:`\geq` 0 ;zero sequence capacitance of the line [nano Farad per km] diff --git a/pandapower/create.py b/pandapower/create.py index 7aaca7be8..429dbf918 100644 --- a/pandapower/create.py +++ b/pandapower/create.py @@ -1933,7 +1933,7 @@ def create_line_from_parameters(net, from_bus, to_bus, length_km, r_ohm_per_km, **x_ohm_per_km** (float) - line reactance in ohm per km - **c_nf_per_km** (float) - line capacitance in nano Farad per km + **c_nf_per_km** (float) - line capacitance (line-to-earth) in nano Farad per km **r0_ohm_per_km** (float) - zero sequence line resistance in ohm per km From 037dbc72d34864663dc8d13badbbac094170bd7d Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Thu, 11 Nov 2021 08:17:23 +0100 Subject: [PATCH 286/422] info to IEC 60909 AC Short Circuit Analysis from openelectrical (http://openelectrical.org/index.php?title=Short_Circuit_Calculation) is still missing. close #896 --- doc/shortcircuit/currents.rst | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/doc/shortcircuit/currents.rst b/doc/shortcircuit/currents.rst index 5727c0d81..844a4d581 100644 --- a/doc/shortcircuit/currents.rst +++ b/doc/shortcircuit/currents.rst @@ -2,23 +2,21 @@ Short-Circuit Currents ======================= -The short-circuit currents are calculated with the equivalent voltage source at the fault location. +The short-circuit currents are calculated with the equivalent voltage source at the fault location. For an explanation of the theory behind short-circuit calculations according to IEC 60909 please refer to the norm or secondary literature: .. seealso:: `IEC 60909-0:2016 `_ Short-circuit currents in three-phase a.c. systems - - `According to the IEC 60909 `_ on openelectrical - + pandapower currently implements symmetrical and two-phase faults. One phase faults and two-phase faults with earthing are not yet available. -.. toctree:: +.. toctree:: :maxdepth: 1 - + ikss ip ith \ No newline at end of file From 8c5b58538246ce0b1623139612fa9fc48080fd45 Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Thu, 11 Nov 2021 09:54:37 +0100 Subject: [PATCH 287/422] add note regarding the convergence behaviour of the pypower opf. related to #1016 --- doc/opf/pypower_run.rst | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/doc/opf/pypower_run.rst b/doc/opf/pypower_run.rst index 071c4b583..822dded3a 100644 --- a/doc/opf/pypower_run.rst +++ b/doc/opf/pypower_run.rst @@ -9,9 +9,10 @@ AC OPF .. autofunction:: pandapower.runopp -The internal solver uses the interior point method. By default, the initial state is the center of the operational constraints. Another option would be to initialize the optimisation with a valid loadflow solution. For optimiation of a timeseries, this warm start possibilty could imply a significant speedup. +The internal solver uses the interior point method. By default, the initial state is the center of the operational constraints. +Another option would be to initialize the optimisation with a valid loadflow solution. +For optimiation of a timeseries, this warm start possibilty could imply a significant speedup. This is not yet provided in the actual version, but could be an useful extension in the future. -Another parametrisation for the AC OPF is, if voltage angles should be considered, which is the same option than for the loadflow calculation with pandapower.runpp: References: @@ -22,20 +23,27 @@ References: "On Computational Issues of Market-Based Optimal Power Flow", IEEE Transactions on Power Systems, Vol. 22, No. 3, Aug. 2007, pp. 1185-1193. - - R. D. Zimmerman, C. E. Murillo-Sánchez, and R. J. Thomas, "MATPOWER: Steady-State - Operations, Planning and Analysis Tools for Power Systems Research and Education," + - R. D. Zimmerman, C. E. Murillo-Sánchez, and R. J. Thomas, "MATPOWER: Steady-State + Operations, Planning and Analysis Tools for Power Systems Research and Education," Power Systems, IEEE Transactions on, vol. 26, no. 1, pp. 12-19, Feb. 2011. - + + +.. note:: + + The optimization with pypower does not have the best convergence properties. + Therefore, even if the network configuration is appropriate as an optimization problem, + e.g. easily checked by :ref:`pandapower.opf_task`, :ref:`pandapower.runopp` may not converge. + DC OPF --------- -The dc optimal power flow is a linearized optimization of the grid state. It offers two cost function options, that are fitting special use cases. +The dc optimal power flow is a linearized optimization of the grid state. It offers two cost function options, that are fitting special use cases. To understand the usage, the `DC OPF tutorial `_ is recommended. - + .. autofunction:: pandapower.rundcopp Flexibilities, costs and constraints (except voltage constraints) are handled as in the :ref:`opf`. -Voltage constraints are not considered in the DC OPF, since voltage magnitutes are not part of the +Voltage constraints are not considered in the DC OPF, since voltage magnitutes are not part of the linearized power flow equations. .. note:: @@ -44,6 +52,5 @@ linearized power flow equations. However all necessary informations are written into the pandpower format net, so the pandapower user should not usually have to deal with pypower. - - - \ No newline at end of file + + From ec5ee76ac34b543c764d9b8759cbf5cf03c1ef85 Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Thu, 11 Nov 2021 11:38:22 +0100 Subject: [PATCH 288/422] fix init behaviour and add error messages. fix #1209 --- CHANGELOG.rst | 1 + pandapower/converter/pypower/to_ppc.py | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index c9c4375df..0a11aa8c4 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -8,6 +8,7 @@ Change Log - [ADDED] TapDependentImpedance controller that adjusts the transformer parameters (e.g. vk_percent, vkr_percent) according to the tap position, based on a specified characteristic - [ADDED] multiple costs check in create functions and runopp - [ADDED] correct_dtypes() function for fileIO convert +- [FIXED] revise to_ppc() and to_mpc() init behaviour [2.7.1]- 2021-07-22 ---------------------- diff --git a/pandapower/converter/pypower/to_ppc.py b/pandapower/converter/pypower/to_ppc.py index 7580920ab..247942590 100644 --- a/pandapower/converter/pypower/to_ppc.py +++ b/pandapower/converter/pypower/to_ppc.py @@ -18,7 +18,6 @@ def to_ppc(net, calculate_voltage_angles=False, trafo_model="t", switch_rx_ratio=2, check_connectivity=True, voltage_depend_loads=True, init="results", mode=None): - """ This function converts a pandapower net to a pypower case file. @@ -91,6 +90,15 @@ def to_ppc(net, calculate_voltage_angles=False, trafo_model="t", switch_rx_ratio else: mode = "pf" + # check init values + if init != "flat": + if not net.res_bus.shape[0]: + raise UserWarning("res_bus is empty. Change the input parameter 'init' to 'flat' or " + "add result values to allow initialization with 'results'.") + elif len(net.bus.index.difference(net.res_bus.index)): + raise ValueError("The res_bus indices doesn't fit to the bus indices. Change the " + "input parameter 'init' to flat or correct the res_bus table.") + # select elements in service net["_options"] = {} _add_ppc_options(net, calculate_voltage_angles=calculate_voltage_angles, @@ -98,8 +106,10 @@ def to_ppc(net, calculate_voltage_angles=False, trafo_model="t", switch_rx_ratio mode=mode, switch_rx_ratio=switch_rx_ratio, init_vm_pu=init, init_va_degree=init, enforce_q_lims=True, recycle=None, voltage_depend_loads=voltage_depend_loads) + # do the conversion _, ppci = _pd2ppc(net) ppci['branch'] = ppci['branch'].real -# ppci.pop('internal') + # ppci.pop('internal') + return ppci From 1d7397040b344a777c45b48b752dd9394ec711db Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Thu, 11 Nov 2021 16:45:35 +0100 Subject: [PATCH 289/422] revise import requirements / dependencies. fix # 1212 --- CHANGELOG.rst | 1 + pandapower/auxiliary.py | 7 ++++ pandapower/control/util/auxiliary.py | 20 ++++------ pandapower/file_io.py | 20 +++++++++- pandapower/io_utils.py | 44 ++++++++++++++++------ pandapower/plotting/__init__.py | 20 +++++----- pandapower/plotting/collections.py | 48 +++++++++++++++++++----- pandapower/plotting/patch_makers.py | 28 +++++++++++++- pandapower/plotting/plotly/get_colors.py | 25 +++++++++--- pandapower/plotting/powerflow_results.py | 22 ++++++++--- setup.py | 8 ++-- 11 files changed, 181 insertions(+), 62 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 0a11aa8c4..06ce84cb7 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -9,6 +9,7 @@ Change Log - [ADDED] multiple costs check in create functions and runopp - [ADDED] correct_dtypes() function for fileIO convert - [FIXED] revise to_ppc() and to_mpc() init behaviour +- [CHANGED] import requirements / dependencies [2.7.1]- 2021-07-22 ---------------------- diff --git a/pandapower/auxiliary.py b/pandapower/auxiliary.py index 8f5fa424a..41281d520 100644 --- a/pandapower/auxiliary.py +++ b/pandapower/auxiliary.py @@ -59,6 +59,13 @@ logger = logging.getLogger(__name__) +def soft_dependency_error(fct_name, required_packages): + required_packages = required_packages if isinstance(required_packages, str) else \ + "','".join(required_packages) + raise ImportError("Some pandapower functionality use modules outside the setup.py " + "requirements: %s requires '%s'." % (fct_name, required_packages)) + + class ADict(dict, MutableMapping): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) diff --git a/pandapower/control/util/auxiliary.py b/pandapower/control/util/auxiliary.py index 79b489802..7e722fe91 100644 --- a/pandapower/control/util/auxiliary.py +++ b/pandapower/control/util/auxiliary.py @@ -2,17 +2,11 @@ # Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. -import csv -import random -from functools import reduce -from pandapower.auxiliary import ADict - +import sys import numpy as np -import pandas - -import pandas as pd from pandas import Int64Index +from pandapower.auxiliary import soft_dependency_error from pandapower.toolbox import ensure_iterability try: import matplotlib.pyplot as plt @@ -132,7 +126,8 @@ def get_controller_index(net, ctrl_type=None, parameters=None, idx=[]): # query of parameters in net.controller dataframe idx = Int64Index(idx) for df_key in df_keys: - idx = idx.intersection(net.controller.index[net.controller[df_key] == parameters[df_key]]) + idx = idx.intersection(net.controller.index[net.controller[df_key] == parameters[ + df_key]]) # query of parameters in controller object attributes idx = [i for i in idx if _controller_attributes_query( net.controller.object.loc[i], attributes_dict)] @@ -202,9 +197,8 @@ def drop_same_type_existing_controllers(net, this_ctrl_type, index=None, matchin def plot_characteristic(characteristic, start, stop, num=20): + if not MATPLOTLIB_INSTALLED: + soft_dependency_error(str(sys._getframe().f_code.co_name)+"()", "matplotlib") x = np.linspace(start, stop, num) y = characteristic(x) - if MATPLOTLIB_INSTALLED: - plt.plot(x, y, marker='x') - else: - logger.info("matplotlib not installed. y-values: %s" % y) + plt.plot(x, y, marker='x') diff --git a/pandapower/file_io.py b/pandapower/file_io.py index 12cfea429..bc90654a8 100644 --- a/pandapower/file_io.py +++ b/pandapower/file_io.py @@ -12,11 +12,23 @@ import numpy import pandas as pd from packaging import version - -import pandapower.io_utils as io_utils +import sys +try: + import xlsxwriter + xlsxwriter_INSTALLED = True +except ImportError: + xlsxwriter_INSTALLED = False +try: + import openpyxl + openpyxl_INSTALLED = True +except ImportError: + openpyxl_INSTALLED = False + +from pandapower.auxiliary import soft_dependency_error from pandapower.auxiliary import pandapowerNet from pandapower.convert_format import convert_format from pandapower.create import create_empty_network +import pandapower.io_utils as io_utils def to_pickle(net, filename): @@ -66,6 +78,8 @@ def to_excel(net, filename, include_empty_tables=False, include_results=True): >>> pp.to_excel(net, "example2.xlsx") # relative path """ + if not xlsxwriter_INSTALLED: + soft_dependency_error(str(sys._getframe().f_code.co_name)+"()", "xlsxwriter") writer = pd.ExcelWriter(filename, engine='xlsxwriter') dict_net = io_utils.to_dict_of_dfs(net, include_results=include_results, include_empty_tables=include_empty_tables) @@ -180,6 +194,8 @@ def from_excel(filename, convert=True): elif pd_version < version.parse("0.24"): xls = pd.ExcelFile(filename).parse(sheet_name=None) else: + if not openpyxl_INSTALLED: + soft_dependency_error(str(sys._getframe().f_code.co_name)+"()", "openpyxl") xls = pd.read_excel(filename, sheet_name=None, index_col=0, engine="openpyxl") try: diff --git a/pandapower/io_utils.py b/pandapower/io_utils.py index f240d1d18..b9d8230ff 100644 --- a/pandapower/io_utils.py +++ b/pandapower/io_utils.py @@ -12,7 +12,7 @@ import types import weakref from functools import partial -from inspect import isclass, signature, _findclass +from inspect import isclass, _findclass from warnings import warn import networkx @@ -23,7 +23,28 @@ from packaging import version from pandas.testing import assert_series_equal, assert_frame_equal -from pandapower.auxiliary import pandapowerNet +try: + from cryptography.fernet import Fernet + cryptography_INSTALLED = True +except ImportError: + cryptography_INSTALLED = False +try: + import hashlib + hashlib_INSTALLED = True +except ImportError: + hashlib_INSTALLED = False +try: + import base64 + base64_INSTALLED = True +except ImportError: + base64_INSTALLED = False +try: + import zlib + zlib_INSTALLED = True +except: + zlib_INSTALLED = False + +from pandapower.auxiliary import pandapowerNet, soft_dependency_error from pandapower.create import create_empty_network try: @@ -539,9 +560,10 @@ def pp_hook(d, deserialize_pandas=True, registry_class=FromSerializableRegistry) def encrypt_string(s, key, compress=True): - from cryptography.fernet import Fernet - import hashlib - import base64 + missing_packages = numpy.array(["cryptography", "hashlib", "base64"])[~numpy.array([ + cryptography_INSTALLED, hashlib_INSTALLED, base64_INSTALLED])] + if len(missing_packages): + soft_dependency_error(str(sys._getframe().f_code.co_name)+"()", missing_packages) key_base = hashlib.sha256(key.encode()) key = base64.urlsafe_b64encode(key_base.digest()) cipher_suite = Fernet(key) @@ -556,20 +578,18 @@ def encrypt_string(s, key, compress=True): def decrypt_string(s, key): - from cryptography.fernet import Fernet - import hashlib - import base64 + missing_packages = numpy.array(["cryptography", "hashlib", "base64"])[~numpy.array([ + cryptography_INSTALLED, hashlib_INSTALLED, base64_INSTALLED])] + if len(missing_packages): + soft_dependency_error(str(sys._getframe().f_code.co_name)+"()", missing_packages) key_base = hashlib.sha256(key.encode()) key = base64.urlsafe_b64encode(key_base.digest()) cipher_suite = Fernet(key) s = s.encode() s = cipher_suite.decrypt(s) - try: - import zlib + if zlib_INSTALLED: s = zlib.decompress(s) - except: - pass s = s.decode() return s diff --git a/pandapower/plotting/__init__.py b/pandapower/plotting/__init__.py index 9079830f9..721f4cf07 100644 --- a/pandapower/plotting/__init__.py +++ b/pandapower/plotting/__init__.py @@ -8,17 +8,19 @@ from pandapower.plotting.to_html import to_html import types -from matplotlib.backend_bases import GraphicsContextBase, RendererBase +try: + from matplotlib.backend_bases import GraphicsContextBase, RendererBase -class GC(GraphicsContextBase): - def __init__(self): - super().__init__() - self._capstyle = 'round' + class GC(GraphicsContextBase): + def __init__(self): + super().__init__() + self._capstyle = 'round' + def custom_new_gc(self): + return GC() -def custom_new_gc(self): - return GC() + RendererBase.new_gc = types.MethodType(custom_new_gc, RendererBase) - -RendererBase.new_gc = types.MethodType(custom_new_gc, RendererBase) +except ImportError: + pass diff --git a/pandapower/plotting/collections.py b/pandapower/plotting/collections.py index f02428dc8..fc845a38b 100644 --- a/pandapower/plotting/collections.py +++ b/pandapower/plotting/collections.py @@ -2,19 +2,24 @@ # Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. - +import sys import copy import inspect from itertools import combinations -import matplotlib.pyplot as plt import numpy as np -from matplotlib.collections import LineCollection, PatchCollection, Collection -from matplotlib.font_manager import FontProperties -from matplotlib.patches import Circle, Rectangle, PathPatch -from matplotlib.textpath import TextPath -from matplotlib.transforms import Affine2D from pandas import isnull +try: + import matplotlib.pyplot as plt + from matplotlib.collections import LineCollection, PatchCollection, Collection + from matplotlib.font_manager import FontProperties + from matplotlib.patches import Circle, Rectangle, PathPatch + from matplotlib.textpath import TextPath + from matplotlib.transforms import Affine2D + MATPLOTLIB_INSTALLED = True +except ImportError: + MATPLOTLIB_INSTALLED = False +from pandapower.auxiliary import soft_dependency_error from pandapower.plotting.patch_makers import load_patches, node_patches, gen_patches,\ sgen_patches, ext_grid_patches, trafo_patches, storage_patches from pandapower.plotting.plotting_toolbox import _rotate_dim2, coords_from_node_geodata, \ @@ -28,7 +33,7 @@ logger = logging.getLogger(__name__) -class CustomTextPath(TextPath): +class CustomTextPath(): """ Create a path from the text. This class provides functionality for deepcopy, which is not implemented for TextPath. @@ -46,6 +51,8 @@ def __init__(self, xy, s, size=None, prop=None, _interpolation_steps=1, usetex=F size : font size prop : font property """ + if not MATPLOTLIB_INSTALLED: + soft_dependency_error("class CustomTextPath", "matplotlib") if prop is None: prop = FontProperties() TextPath.__init__(self, xy, s, size=size, prop=prop, @@ -79,6 +86,8 @@ def create_annotation_collection(texts, coords, size, prop=None, **kwargs): **kwargs** - Any other keyword-arguments will be passed to the PatchCollection. """ + if not MATPLOTLIB_INSTALLED: + soft_dependency_error(str(sys._getframe().f_code.co_name)+"()", "matplotlib") tp = [] # we convert TextPaths to PathPatches to create a PatchCollection if hasattr(size, "__iter__"): @@ -150,6 +159,8 @@ def _create_node_collection(nodes, coords, size=5, patch_type="circle", color=No :type kwargs: :return: pc - patch collection for the nodes """ + if not MATPLOTLIB_INSTALLED: + soft_dependency_error(str(sys._getframe().f_code.co_name)+"()", "matplotlib") if len(coords) == 0: return None @@ -193,6 +204,8 @@ def _create_line2d_collection(coords, indices, infos=None, picker=False, **kwarg :type kwargs: :return: lc - line collection for the given coordinates """ + if not MATPLOTLIB_INSTALLED: + soft_dependency_error(str(sys._getframe().f_code.co_name)+"()", "matplotlib") # This would be done anyways by matplotlib - doing it explicitly makes it a) clear and # b) prevents unexpected behavior when observing colors being "none" lc = LineCollection(coords, picker=picker, **kwargs) @@ -241,6 +254,8 @@ def _create_node_element_collection(node_coords, patch_maker, size=1., infos=Non - line_coll - connecting line collection """ + if not MATPLOTLIB_INSTALLED: + soft_dependency_error(str(sys._getframe().f_code.co_name)+"()", "matplotlib") angles = orientation if hasattr(orientation, '__iter__') else [orientation] * len(node_coords) assert len(node_coords) == len(angles), \ "The length of coordinates does not match the length of the orientation angles!" @@ -307,6 +322,8 @@ def _create_complex_branch_collection(coords, patch_maker, size=1, infos=None, r - patch_coll - patch collection representing the branch element\ - line_coll - line collection connecting the patches with the nodes """ + if not MATPLOTLIB_INSTALLED: + soft_dependency_error(str(sys._getframe().f_code.co_name)+"()", "matplotlib") if infos is None: infos_pc = [] infos_lc = [] @@ -602,6 +619,8 @@ def create_trafo3w_connection_collection(net, trafos=None, bus_geodata=None, inf OUTPUT: **lc** - line collection """ + if not MATPLOTLIB_INSTALLED: + soft_dependency_error(str(sys._getframe().f_code.co_name)+"()", "matplotlib") trafos = get_index_array(trafos, net.trafo3w.index) if bus_geodata is None: @@ -720,6 +739,8 @@ def create_trafo3w_collection(net, trafo3ws=None, picker=False, infofunc=None, c **pc** - patch collection """ + if not MATPLOTLIB_INSTALLED: + soft_dependency_error(str(sys._getframe().f_code.co_name)+"()", "matplotlib") trafo3ws = get_index_array(trafo3ws, net.trafo3w.index) if bus_geodata is None: @@ -1055,6 +1076,8 @@ def create_line_switch_collection(net, size=1, distance_to_bus=3, use_line_geoda OUTPUT: **switches** - patch collection """ + if not MATPLOTLIB_INSTALLED: + soft_dependency_error(str(sys._getframe().f_code.co_name)+"()", "matplotlib") lbs_switches = net.switch.index[net.switch.et == "l"] color = kwargs.pop("color", "k") @@ -1152,6 +1175,8 @@ def create_bus_bus_switch_collection(net, size=1., helper_line_style=':', helper OUTPUT: **switches**, **helper_lines** - tuple of patch collections """ + if not MATPLOTLIB_INSTALLED: + soft_dependency_error(str(sys._getframe().f_code.co_name)+"()", "matplotlib") lbs_switches = net.switch.index[net.switch.et == "b"] color = kwargs.pop("color", "k") switch_patches = [] @@ -1211,7 +1236,8 @@ def draw_collections(collections, figsize=(10, 8), ax=None, plot_colorbars=True, OUTPUT: **ax** - matplotlib axes """ - + if not MATPLOTLIB_INSTALLED: + soft_dependency_error(str(sys._getframe().f_code.co_name)+"()", "matplotlib") if ax is None: plt.figure(facecolor="white", figsize=figsize) plt.subplots_adjust(left=0.01, right=0.99, top=0.99, bottom=0.05, @@ -1240,6 +1266,8 @@ def draw_collections(collections, figsize=(10, 8), ax=None, plot_colorbars=True, def add_single_collection(c, ax, plot_colorbars, copy_collections): + if not MATPLOTLIB_INSTALLED: + soft_dependency_error("add_single_collection()", "matplotlib") if copy_collections: c = copy.deepcopy(c) ax.add_collection(c) @@ -1251,6 +1279,8 @@ def add_single_collection(c, ax, plot_colorbars, copy_collections): def add_collections_to_axes(ax, collections, plot_colorbars=True, copy_collections=True): + if not MATPLOTLIB_INSTALLED: + soft_dependency_error("add_collections_to_axes()", "matplotlib") for i, c in enumerate(collections): if Collection in inspect.getmro(c.__class__): # if Collection is in one of the base classes of c diff --git a/pandapower/plotting/patch_makers.py b/pandapower/plotting/patch_makers.py index 91c1677ab..c5e755ea1 100644 --- a/pandapower/plotting/patch_makers.py +++ b/pandapower/plotting/patch_makers.py @@ -1,5 +1,15 @@ -from matplotlib.patches import RegularPolygon, Arc, Circle, Rectangle, Ellipse +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. +import sys import numpy as np +try: + from matplotlib.patches import RegularPolygon, Arc, Circle, Rectangle, Ellipse + MATPLOTLIB_INSTALLED = True +except ImportError: + MATPLOTLIB_INSTALLED = False +from pandapower.auxiliary import soft_dependency_error from pandapower.plotting.plotting_toolbox import _rotate_dim2, get_color_list, get_angle_list, \ get_linewidth_list @@ -73,6 +83,8 @@ def ellipse_patches(node_coords, width, height, angle=0, color=None, **kwargs): :type kwargs: dict :return: patches - list of ellipse patches for the nodes """ + if not MATPLOTLIB_INSTALLED: + soft_dependency_error(str(sys._getframe().f_code.co_name)+"()", "matplotlib") patches = list() angles = get_angle_list(angle, len(node_coords)) if color is not None: @@ -101,6 +113,8 @@ def rectangle_patches(node_coords, width, height, color=None, **kwargs): :type kwargs: dict :return: patches - list of rectangle patches for the nodes """ + if not MATPLOTLIB_INSTALLED: + soft_dependency_error(str(sys._getframe().f_code.co_name)+"()", "matplotlib") patches = list() if color is not None: colors = get_color_list(color, len(node_coords)) @@ -130,6 +144,8 @@ def polygon_patches(node_coords, radius, num_edges, color=None, **kwargs): :type kwargs: dict :return: patches - list of rectangle patches for the nodes """ + if not MATPLOTLIB_INSTALLED: + soft_dependency_error(str(sys._getframe().f_code.co_name)+"()", "matplotlib") patches = list() if color is not None: colors = get_color_list(color, len(node_coords)) @@ -160,6 +176,8 @@ def load_patches(node_coords, size, angles, **kwargs): - polys (list of RegularPolygon) - list containing the load patches\ - keywords (set) - set of keywords removed from kwargs """ + if not MATPLOTLIB_INSTALLED: + soft_dependency_error(str(sys._getframe().f_code.co_name)+"()", "matplotlib") offset = kwargs.get("offset", 1.2 * size) all_angles = get_angle_list(angles, len(node_coords)) edgecolor = kwargs.get("patch_edgecolor", "w") @@ -194,6 +212,8 @@ def gen_patches(node_coords, size, angles, **kwargs): - polys (list of RegularPolygon) - list containing the generator patches\ - keywords (set) - set of keywords removed from kwargs """ + if not MATPLOTLIB_INSTALLED: + soft_dependency_error(str(sys._getframe().f_code.co_name)+"()", "matplotlib") polys, lines = list(), list() offset = kwargs.get("offset", 2. * size) all_angles = get_angle_list(angles, len(node_coords)) @@ -232,6 +252,8 @@ def sgen_patches(node_coords, size, angles, **kwargs): - polys (list of RegularPolygon) - list containing the static generator patches\ - keywords (set) - set of keywords removed from kwargs """ + if not MATPLOTLIB_INSTALLED: + soft_dependency_error(str(sys._getframe().f_code.co_name)+"()", "matplotlib") polys, lines = list(), list() offset = kwargs.get("offset", 2 * size) r_triangle = kwargs.get("r_triangles", size * 0.4) @@ -318,6 +340,8 @@ def ext_grid_patches(node_coords, size, angles, **kwargs): - polys (list of RegularPolygon) - list containing the external grid patches\ - keywords (set) - set of keywords removed from kwargs (empty """ + if not MATPLOTLIB_INSTALLED: + soft_dependency_error(str(sys._getframe().f_code.co_name)+"()", "matplotlib") offset = kwargs.get("offset", 2 * size) all_angles = get_angle_list(angles, len(node_coords)) edgecolor = kwargs.get("patch_edgecolor", "w") @@ -351,6 +375,8 @@ def trafo_patches(coords, size, **kwargs): - lines (list) - list of coordinates for lines connecting nodes and transformer patches\ - circles (list of Circle) - list containing the transformer patches (rings) """ + if not MATPLOTLIB_INSTALLED: + soft_dependency_error(str(sys._getframe().f_code.co_name)+"()", "matplotlib") edgecolor = kwargs.get("patch_edgecolor", "w") facecolor = kwargs.get("patch_facecolor", (1, 0, 0, 0)) edgecolors = get_color_list(edgecolor, len(coords)) diff --git a/pandapower/plotting/plotly/get_colors.py b/pandapower/plotting/plotly/get_colors.py index c95d7543b..02f29a721 100644 --- a/pandapower/plotting/plotly/get_colors.py +++ b/pandapower/plotting/plotly/get_colors.py @@ -5,21 +5,26 @@ import sys - -import matplotlib as mpl -import matplotlib.pyplot as plt -import matplotlib.cm as cm -import matplotlib.colors as mplc - import numpy as np +try: + import matplotlib.pyplot as plt + import matplotlib.cm as cm + import matplotlib.colors as mplc + MATPLOTLIB_INSTALLED = True +except ImportError: + MATPLOTLIB_INSTALLED = False try: import seaborn except ImportError: pass +from pandapower.auxiliary import soft_dependency_error + def get_plotly_color(color_string): + if not MATPLOTLIB_INSTALLED: + soft_dependency_error(str(sys._getframe().f_code.co_name)+"()", "matplotlib") try: converted = _to_plotly_color(mplc.to_rgba(color_string)) return converted @@ -28,6 +33,8 @@ def get_plotly_color(color_string): def get_plotly_color_palette(n): + if not MATPLOTLIB_INSTALLED: + soft_dependency_error(str(sys._getframe().f_code.co_name)+"()", "matplotlib") if 'seaborn' in sys.modules: return _to_plotly_palette(seaborn.color_palette("hls", n)) else: @@ -40,6 +47,8 @@ def _to_plotly_palette(scl, transparence=None): converts a rgb color palette in format (0-1,0-1,0-1) to a plotly color palette 'rgb(0-255,0-255,0-255)' """ + if not MATPLOTLIB_INSTALLED: + soft_dependency_error(str(sys._getframe().f_code.co_name)+"()", "matplotlib") _out = [] for color in scl: plotly_col = [255 * _c for _c in mplc.to_rgba(color)] @@ -57,6 +66,8 @@ def _to_plotly_color(scl, transparence=None): """ converts a rgb color in format (0-1,0-1,0-1) to a plotly color 'rgb(0-255,0-255,0-255)' """ + if not MATPLOTLIB_INSTALLED: + soft_dependency_error(str(sys._getframe().f_code.co_name)+"()", "matplotlib") plotly_col = [255 * _c for _c in mplc.to_rgba(scl)] if len(scl) == 3 else [255 * _c for _c in mplc.to_rgb(scl)] if transparence is not None: @@ -68,6 +79,8 @@ def _to_plotly_color(scl, transparence=None): def get_plotly_cmap(values, cmap_name='jet', cmin=None, cmax=None): + if not MATPLOTLIB_INSTALLED: + soft_dependency_error(str(sys._getframe().f_code.co_name)+"()", "matplotlib") cmap = cm.get_cmap(cmap_name) if cmin is None: cmin = values.min() diff --git a/pandapower/plotting/powerflow_results.py b/pandapower/plotting/powerflow_results.py index 923496475..99de439a4 100644 --- a/pandapower/plotting/powerflow_results.py +++ b/pandapower/plotting/powerflow_results.py @@ -3,14 +3,19 @@ # Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. - +import sys from itertools import combinations -import matplotlib.pyplot as plt import numpy as np import pandas as pd import networkx as nx +try: + import matplotlib.pyplot as plt + MATPLOTLIB_INSTALLED = True +except ImportError: + MATPLOTLIB_INSTALLED = False +from pandapower.auxiliary import soft_dependency_error import pandapower.topology as top @@ -18,6 +23,8 @@ def plot_voltage_profile(net, plot_transformers=True, ax=None, xlabel="Distance ylabel="Voltage [pu]", x0=0, trafocolor="r", bus_colors=None, line_loading_weight=False, voltage_column=None, bus_size=3, lines=None, **kwargs): + if not MATPLOTLIB_INSTALLED: + soft_dependency_error(str(sys._getframe().f_code.co_name)+"()", "matplotlib") if ax is None: plt.figure(facecolor="white", dpi=120) ax = plt.gca() @@ -29,7 +36,8 @@ def plot_voltage_profile(net, plot_transformers=True, ax=None, xlabel="Distance lines = net.line.index for eg in net.ext_grid[net.ext_grid.in_service == True].bus: d = top.calc_distance_to_bus(net, eg) - for lix, line in net.line[(net.line.in_service == True) & net.line.index.isin(lines)].iterrows(): + for lix, line in net.line[(net.line.in_service == True) & net.line.index.isin( + lines)].iterrows(): if line.from_bus not in d.index: continue if not ((net.switch.element == line.name) & ~net.switch.closed & ( @@ -92,13 +100,17 @@ def plot_voltage_profile(net, plot_transformers=True, ax=None, xlabel="Distance return ax -def plot_loading(net, element="line", boxcolor="b", mediancolor="r", whiskercolor="k", ax=None, index_subset=None): +def plot_loading(net, element="line", boxcolor="b", mediancolor="r", whiskercolor="k", ax=None, + index_subset=None): + if not MATPLOTLIB_INSTALLED: + soft_dependency_error(str(sys._getframe().f_code.co_name)+"()", "matplotlib") if ax is None: plt.figure(facecolor="white", dpi=80) ax = plt.gca() if index_subset is None: index_subset = net[element].index - loadings = net["res_%s" % element].loading_percent.values[net["res_%s" % element].index.isin(index_subset)] + loadings = net["res_%s" % element].loading_percent.values[net["res_%s" % element].index.isin( + index_subset)] boxplot = ax.boxplot(loadings[~np.isnan(loadings)], whis=[0, 100]) for l in list(boxplot.keys()): plt.setp(boxplot[l], lw=3) diff --git a/setup.py b/setup.py index 03a8c2f43..37ae9cd6d 100644 --- a/setup.py +++ b/setup.py @@ -46,11 +46,9 @@ "networkx>=2.5", "scipy<=1.6.0", "numpy>=0.11", - "packaging", - "xlsxwriter", - "xlrd", - "openpyxl", - "cryptography"], + "packaging"], + # optional_requirer=["matplotlib", "geopandas", "xlsxwriter", "openpyxl", "shapely", + # "base64", "hashlib", "cryptography", "zlib"] extras_require={ "docs": ["numpydoc", "sphinx", "sphinx_rtd_theme"], "plotting": ["plotly", "matplotlib", "python-igraph"], From 38169206d16176526f2742d26e7ce26934406a3b Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Thu, 11 Nov 2021 17:08:40 +0100 Subject: [PATCH 290/422] concretize scaling effect. close #1353 --- pandapower/create.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/pandapower/create.py b/pandapower/create.py index 429dbf918..b7460c89e 100644 --- a/pandapower/create.py +++ b/pandapower/create.py @@ -676,7 +676,8 @@ def create_load(net, bus, p_mw, q_mvar=0, const_z_percent=0, const_i_percent=0, **name** (string, default None) - The name for this load - **scaling** (float, default 1.) - An OPTIONAL scaling factor to be set customly + **scaling** (float, default 1.) - An OPTIONAL scaling factor to be set customly. + Multiplys with p_mw and q_mvar. **type** (string, 'wye') - type variable to classify the load: wye/delta @@ -761,7 +762,8 @@ def create_loads(net, buses, p_mw, q_mvar=0, const_z_percent=0, const_i_percent= **name** (list of strings, default None) - The name for this load - **scaling** (list of floats, default 1.) - An OPTIONAL scaling factor to be set customly + **scaling** (list of floats, default 1.) - An OPTIONAL scaling factor to be set customly. + Multiplys with p_mw and q_mvar. **type** (string, None) - type variable to classify the load @@ -847,6 +849,7 @@ def create_asymmetric_load(net, bus, p_a_mw=0, p_b_mw=0, p_c_mw=0, q_a_mvar=0, q **name** (string, default: None) - The name for this load **scaling** (float, default: 1.) - An OPTIONAL scaling factor to be set customly + Multiplys with p_mw and q_mvar of all phases. **type** (string,default: wye) - type variable to classify three ph load: delta/wye @@ -994,7 +997,8 @@ def create_sgen(net, bus, p_mw, q_mvar=0, sn_mva=nan, name=None, index=None, **index** (int, None) - Force a specified ID if it is available. If None, the index one \ higher than the highest already existing index is selected. - **scaling** (float, 1.) - An OPTIONAL scaling factor to be set customly + **scaling** (float, 1.) - An OPTIONAL scaling factor to be set customly. + Multiplys with p_mw and q_mvar. **type** (string, None) - Three phase Connection type of the static generator: wye/delta @@ -1082,7 +1086,8 @@ def create_sgens(net, buses, p_mw, q_mvar=0, sn_mva=nan, name=None, index=None, **name** (list of strings, default None) - The name for this sgen - **scaling** (list of floats, default 1.) - An OPTIONAL scaling factor to be set customly + **scaling** (list of floats, default 1.) - An OPTIONAL scaling factor to be set customly. + Multiplys with p_mw and q_mvar. **type** (string, None) - type variable to classify the sgen @@ -1186,7 +1191,8 @@ def create_asymmetric_sgen(net, bus, p_a_mw=0, p_b_mw=0, p_c_mw=0, q_a_mvar=0, q **index** (int, None) - Force a specified ID if it is available. If None, the index one \ higher than the highest already existing index is selected. - **scaling** (float, 1.) - An OPTIONAL scaling factor to be set customly + **scaling** (float, 1.) - An OPTIONAL scaling factor to be set customly. + Multiplys with p_mw and q_mvar of all phases. **type** (string, 'wye') - Three phase Connection type of the static generator: wye/delta @@ -1286,7 +1292,8 @@ def create_storage(net, bus, p_mw, max_e_mwh, q_mvar=0, sn_mva=nan, soc_percent= **index** (int, None) - Force a specified ID if it is available. If None, the index one \ higher than the highest already existing index is selected. - **scaling** (float, 1.) - An OPTIONAL scaling factor to be set customly + **scaling** (float, 1.) - An OPTIONAL scaling factor to be set customly. + Multiplys with p_mw and q_mvar. **type** (string, None) - type variable to classify the storage From eb9d0c1d5115149a60b8239e410db8fd5742be3f Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Thu, 11 Nov 2021 17:20:14 +0100 Subject: [PATCH 291/422] trial to fix compatibility issue #1138 --- tutorials/hosting_capacity.ipynb | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/tutorials/hosting_capacity.ipynb b/tutorials/hosting_capacity.ipynb index c094992c9..687e65699 100644 --- a/tutorials/hosting_capacity.ipynb +++ b/tutorials/hosting_capacity.ipynb @@ -166,12 +166,34 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 7, "metadata": {}, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\seaborn\\_decorators.py:36: FutureWarning: Pass the following variable as a keyword arg: x. From version 0.12, the only valid positional argument will be `data`, and passing other arguments without an explicit keyword will result in an error or misinterpretation.\n", + " warnings.warn(\n", + "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\seaborn\\_core.py:1303: UserWarning: Vertical orientation ignored with only `x` specified.\n", + " warnings.warn(single_var_warning.format(\"Vertical\", \"x\"))\n", + ":15: UserWarning: FixedFormatter should only be used together with FixedLocator\n", + " ax.set_xticklabels([\"\"])\n" + ] + }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAvMAAAFLCAYAAABbdANSAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzs3XdclXX/x/HXOYchCE5wobjTFBVCVFAzzZU5cGeu5m2apXVnZbfdldXP8rbM3VArR2amUW7cO0lEUREnIogie8NZ1+8P8xQxPChwMT7Px8NHnmu+OaG+z8X3+l4aRVEUhBBCCCGEEOWOVu0AQgghhBBCiPsjZV4IIYQQQohySsq8EEIIIYQQ5ZSUeSGEEEIIIcopKfNCCCGEEEKUU1LmhRBCCCGEKKcqbJkPDg5WO4IQQgghhBAlqsKWeSGEEEIIISo6KfNCCCGEEEKUU1LmhRBCCCGEKKekzAshhBBCCFFOSZkXQgghhBCinCpzZX7WrFmMHz++0G3Cw8Px8PBg0aJFpZRKCCGEEEKIsqdMlfkNGzawYcOGQrcxGo3MnDkTg8FQSqmEEEIIIYQom2zUDgBgMplYtmwZixcvvue2X331FZcuXSqFVEIIIYQQQpRtql+Zz8nJYejQoSxatIghQ4ZQt27dAre9cOECy5YtY8qUKaWYUAghhBBCiLKpTJT59PR05s+fz6effoqNTf4/LLg7vMbPz4/BgweXckoh/pKQkMCrr75KQkKC2lGEEEIIUcmpXuadnJwIDAxkwIABhW73zTffEBkZyezZs0spmRD5+/777zlz5gyrVq1SO4oQQgghKjnVy7xWqy3wavxdly5dYsmSJbz11lvUq1evlJIJkVdCQgI7duxAURR27NghV+eFEEIIoSrVy/y9mEwmZs6cibe3N6NGjVI7jqjkvv/+e8xmM3Dne1OuzgshhBBCTWW+zK9YsYLw8HD+/e9/k5iYSGJiIqmpqQBkZWWRmJhoKVdClLTdu3djNBqBO/dx7Nq1S+VEQgghhKjMysTUlIU5dOgQBoOBkSNH5lm3YsUKVqxYwZ49e2jYsKEK6URl07t3b7Zt24bRaMTGxoY+ffqoHUkIIYQQlViZL/NvvfWW5Ur8XfHx8cyYMYMhQ4bg7++Pq6urSulEZTNx4kR27NgBgE6nY8KECSonEkIIIURlVubLvIeHR55l0dHRADRq1Ag/P7/SjiQqsdq1a9O/f382b95M//79qV27ttqRhBBCCFGJlfkyL0RZM3HiRK5duyZX5YUQQgihOinzQhRR7dq1WbhwodoxhBBCCCHQKIqiqB2iJAQHB+Pt7a12DCGEEEIIIUpMmZ+aUgghhBBCCJE/KfNCCCGEEEKUUzJmXgghSsjbb7/NL7/8cs/thg4dyieffFIKiYrmu+++Y/ny5aSmpjJhwgTeeOMNtSMJIYT4BynzQghRQkaPHo2vr6/ldXBwMOvXr2f06NG57ulxd3dXI16hLly4wJw5c/D09GTatGm0bt1a7UhCCCHyIWVeCCFKiJeXF15eXpbXJpOJ9evX4+npyZAhQ1RMdm8XL14EYNKkSfTq1UvlNEIIIQoiY+aFEELkYTAYAKhatarKSYQQQhRGrswLIUQZ0atXL/z8/DCbzWzevJmaNWsSEBBAzZo1+fHHH9m4cSNXrlzBaDTi5ubGsGHDePHFF9FoNJb9u3Xrhre3N19//TXXr1+nfv36TJw4kbFjx1rOk5KSwpw5c/j999+Jj4+nXr16PPHEE0ydOhV7e3vGjx9PUFAQgOXhaBcuXLD8d8GCBQQFBaHX62ndujX/+te/6N27t+X448ePx87ODg8PD1atWkWVKlX47rvv+Oijj3B0dGTkyJEsXLiQiIgI3N3defPNN/H29mbu3Lns2LEDnU5Hnz59eOedd6hSpYrluCEhISxcuJBTp04Bd37yMX36dNq3b3/P97BWrVol9H9NAJjMCmblz19msNVpsNHJ9UIhSoOUeSGEKEO2bt1K06ZN+c9//kN8fDy1atVi/vz5fPnllwwdOpRRo0aRkZFBQEAAn332Ga6urgwdOtSy/6FDh9ixYwfjxo3DxcWF9evXM3v2bBo2bEiPHj0AmD59OmFhYUyYMIE6deoQEhLC119/TXJyMh9++CEvvfQSTZs2Zf369bz00ks0a9YMgNDQUCZMmICTkxPPPvssVatW5ddff+Xll1/mv//9b64PDCdPniQyMpIZM2YQHR1NixYtADh37hwhISFMmDABZ2dnvvrqK6ZPn87DDz+Mg4MDr732GidOnGD9+vXUqVOHqVOnAnDkyBEmTZpE69atmTZtGnq9nk2bNjF27Fi+/fZbOnbsWOh7KAqnN5qJTMggOjmL+LQc4tJziE/Tk5CRQ1KmgZQsA6lZd/6bqTdiNoNZUTApCgU9rcbBVodzFZs/f9niXMWGag62VPvztauTPY1qOdCwpiONajlS3cG2dL9oISoIKfNCCFGGZGdn88UXX1huijUYDKxZs4Ynn3wy14w3I0eOxNfXl507d+Yq8zdv3iQgIMByw2qfPn3o3r07v/32Gz169CAhIYGjR4/y5ptv8vzzz1uOpSgKUVFRAHTt2pXY2FjWr1+Pn58fnTt3BuCjjz5Co9Hw888/U69ePQDGjBnDmDFjmDt3Lk888YSlOGdmZvLll19a9r0rLi6OL7/8kp49ewJgY2PD7NmzMZlMrFixAoCnnnqKEydOcPjwYaZOnYrZbOa9996jXbt2rFmzBp1OB8C4cePw9/fno48+IiAgoMD3UNyhKAo3krOIiM8gIj6Dq3EZXI3PICI+nZjkbEzm4n2GZJbBRJbBxO20HKu2r1bFhka1HGlU05GGNR1wr+1IyzrOeLhVw7mKFH0hCiJlXgghyhB3d/dcJdTW1pajR49axrDflZSUhJOTE5mZmbmWN23aNNfMM66urri4uBAfHw+As7Mzjo6O/PDDDzRs2JDu3bvj6OjInDlzCs0VHx/P6dOnGTNmjKXIA9jb2/P888/z+uuvc/ToUQYOHAhAlSpV8PHxyXMce3t7unfvnisvwOOPP25ZptFocHNzIzY2FoCwsDCioqIYM2YMKSkpuY7Xs2dPvvvuO27dumXJ9c/3sLK6kZxFyPUkQq4nE3I9ibCbqWQbzGrHKlBqtpFzMamci0nNtVyjgSa1q+LhVp12btXwcKuOh1t1qknBFwKQMi+EEGVK7dq18yyztbVl//797Nmzh4iICCIjIy2lVvnHGIf8hpTY2dlhNpstv589ezbvvvsur776KnZ2dnTq1Im+ffvi7++Pvb19vrlu3LgB/FW+/6558+YAxMTEWJbVqFEDrTbvmOkaNWpgY/PXPz13r7L/8+vW6XSWr+369esAzJ07l7lz5+ab7+bNm5Yyn997WNFlG0yERqf8Vd6jkohNte6KeFmnKFh+mrD59J3vMY0GGtdypF3DGvg2q033li40quWoclIh1CFlXoh/2LlzJ9u2bStwfVJSEgA1a9bMd/2AAQPo169fiWQTFd/dcnuXoijMmDGDLVu24O3tjZeXF6NHj8bHx4eJEyfm2T+/Av1PgwYNonv37uzevZsDBw5w9OhRDh8+zA8//MCGDRuws7PLs88/PzT83d0PCra2f10p/efXcdffi/zf3b2Jt7DjT5s2DU9Pz3y3uTuuv7BzVzTX4jPYG36bfRduc/xqInpT2b3qXtwUBa4lZHItIdNS8JvUdqRbSxe6t3TFt3ltuXIvKg0p80IUUUJCAlBwmReiOJ04cYItW7YwZcoUpk2bZlluNBpJTk6mUaNGRTpeRkYG58+fp2XLlowYMYIRI0ag1+v53//+x6pVqzh8+HC+88q7ubkBcPXq1TzrIiIiAHINvylOd8/t6OiIn59frnWhoaGkpKTkmvWmojKYzARFJN4p8OG3uRqfoXakMuVOub/Omt+vo9Nq6NCwOt1butKzdR08G9VQO54QJUbKvBD/0K9fv0KvrN8tVAsWLCitSKISS05OBrDMBnPXTz/9RFZWFkajsUjHu3TpEmPHjs11A6ydnR1t2rQBCr6q7erqioeHB7/99huTJ0+2FHe9Xs+3336LnZ0dXbt2LVIWa3l4eODq6srq1asZOXKkZe779PR0pk+fjl6vZ//+/SVybrVlG0zsPHeLHWdvcfhSPGk5Rfv/XVmZzAonrydz8noyC/Zcwr2WI4M61GdwBzda1XNWO54QxUrKvBBClGFeXl44OTkxZ84cYmJiqFatGsePH2fbtm3Y29uTkVG0q7MdOnSgY8eOzJ8/n5s3b9KqVStu3rzJmjVraNasGb6+vgXuO2vWLCZOnMiIESMYM2YMVatW5bfffuPcuXPMmjWLatWqPeiXmy9bW1veffddpk+fzrBhwxgxYgT29vZs2LCBmJgY5s2bV+DwnfJIURSORySy6WQ0287cIl0K/AO7npjJkn1XWLLvCg/VdWJwhwYM7uCGe20ZZy/Kv4rzt58QQlRALi4ufP3118ybN4+lS5diZ2dH06ZN+fzzzwkNDWXVqlXEx8fj4uJi1fE0Gg1Llixh8eLF7Nu3j/Xr11O9enX69u3LtGnT8h0vf5eXlxfr1q1j4cKFrFy5ErPZTOvWrVmyZEmuh0aVhH79+rFy5UqWLVvG0qVL0Wq1tGzZkmXLllmmuSzvrsVnsOlkNJtCbhCdlKV2nArrYmw68wIvMi/wIh0aVmewpxvDH3GjhmPB3/tClGUapbC7msqx4OBgvL291Y4hKiAZZiOEKC7ZBhMBITfYEBxNcGSS2nEqrSq2WoZ0cGOiXxPaNCiZnzAJUVLkyrwQQghRyuLTc1h1LJI1v0eSmKFXO06ll20ws/5EFOtPRNGpSS0m+jWhX9u62OjuPTuUEGqTMi+EEEKUksu301h+KIJfQm6QY6w8U0mWJ0HXEgm6lkj96lUY29mdMZ3cqe2U//MXhCgLpMwLIYQQJezI5Xi+OXSVAxfjqJiDWyuemynZzAu8yMK9lxn+SENe7tmchjXlhllR9kiZF0IIIUrI3vBYPgu8yLmYVLWjiPukN5pZF3Sdn4OjGObVkKm9WsjTZkWZImVeCCGEKGbBkUl8uj2coGuJakcRxcRgUlh/IoqNJ6MZ2bEhrz7ekvrVHdSOJYSUeSGEEKK4XIpNY+7OC+wKi1U7iighRrPCuqAoNp28wbgujXm5ZwtqVZVpLYV6pMwLIYSK9Ho9a9euZevWrVy9ehWNRoO7uztPPvkko0ePxtm59J9W2atXL9zc3Fi9erWq5x0/fjw3btxg7969pZrjftxIzmL+rotsOhmNWcbEVwo5RjMrDkew/o8opvRszgvdmmFnI7PfiNInZV4IIVQSGxvLCy+8wKVLl+jduzdDhw5FURRCQkKYP38+69ev56uvvqJZs2ZqR1XFSy+9RFZW2X54UqbeyILdl/j26DX0MjtNpZSeY2Tujgv8fCKa9we35dGHXNWOJCoZKfNCCKECvV7P5MmTiY6O5ttvv8XX19eybty4cUyYMIF//etfvPjii2zZsgUHh8o3Nrdr165qRyjUrrBY3v/tHDeSy/YHDlE6rsZnMGFlEE941OPdgW1oUKPy/ZkV6pCfBwkhhAoCAgI4d+4cb731Vq4if1eHDh145513iI6OZsWKFSokFAW5lZLNpNUneHHVCSnyIo/tZ2/x+GcHWLLvsvy0RpQKKfNCCKGCgIAAHB0dGTp0aIHbDB48GFdXVzZv3gzAe++9R5s2bUhMzD1DSlZWFp6ensycOdOyLCQkhGeffRYvLy+8vLx47rnnCA0NzbVfr169mDVrFu+88w7t2rXj0UcfzXPsu06cOMEzzzxjOd6ECRP4448/cm2jKArr1q1jxIgReHl50a5dO/r378/XX3+N8o/J1bdt28aQIUNo3749AwcO5Pfff89zzvHjx9OrV69cr59//nkOHjzIsGHDaNeuHY899hiLFi3CbM5dmk6fPs2ECRPw8vKie/fuLFq0iMWLF9OqVauC3u57MpsVvj0SQe/PD7DznNzgKgqWZTDxv50X6P/FQQ5dilM7jqjgpMwLIUQpM5lMnDlzhjZt2mBvX/CTJTUaDZ07d+batWvExcUxaNAgTCYTO3fuzLXdvn37yMrKYvDgwQAcOXKE8ePHk5aWxrRp05g8eTIxMTGMHTuWEydO5Np369athIeH85///IdRo0ZRq1atPDn27NnD+PHjuXnzJpMnT2by5MncvHmTZ555hj179li2++KLL3j//fdp0aIFM2fO5PXXX8fe3p7PPvuMgIAAy3abNm3itddew8HBgRkzZtClSxdeeukl4uPj7/neXbx4kenTp9O5c2dmzZpFo0aNWLx4MevWrbNsc/bsWSZMmMCNGzd4+eWXGTVqFKtWrXqgG3rP3khh6NIjfLA5jPQc430fR1QuV+MzGL8iiJmbQsnUy/eNKBkyZl4IIUpZSkoKer0eV9d73yhXp04dAG7fvo23tzdubm7s2LGDMWPGWLbZtm0brq6udO7cGbPZzHvvvUe7du1Ys2YNOp0OuDMO39/fn48++ihXsc7OzuaLL77A3d093/MbjUZmz55N3bp12bhxI05OTgA89dRTDBw4kA8++IBHH30UgDVr1vDkk0/yySefWPYfOXIkvr6+7Ny5k6FDh2IymZg3bx7t2rVj9erV2NraAtCmTZtcP1koyO3bt1m2bJnlir2/vz/du3dn8+bNjB07FoD//e9/2NnZsWHDBsuHk8cff5zhw4ff8/j/ZDCZ+WL3Rb48cBWTTFMj7tO6oCiOXUng89GePOJeU+04ooKRK/NCCFHK7g45uVu0C2NjY2PZR6PRMHDgQP744w8SEhIASE9P5+DBgwwcOBCtVktYWBhRUVH07t2blJQUEhMTSUxMJDs7m549e3L+/Hlu3bplOb67u3uBRR4gLCyMW7duMXbsWEuRB6hWrRrjxo0jNjaWs2fPYmtry9GjR5k9e3au/ZOSknByciIzMxOAc+fOkZCQwLBhwyxFHmDIkCFUr179nu+Hg4MDjz32mOW1vb09TZs2tVzVT0lJISgoiCFDhuT6KUObNm2KfEPt1bh0hi87ypJ9V6TIiwd2LSGTkV8e4/PACxhNMpZeFB+5Mi+EEKWsVq1a2NraWgp5YW7fvg38dYV+0KBBfPXVVwQGBjJmzBh2795NTk4OgwYNAuD69esAzJ07l7lz5+Z7zJs3b1KvXj0AateuXej5o6OjAWjatGmedXenzIyJicHLywtbW1v279/Pnj17iIiIIDIykpSUFOCvDzA3btwAyPMBQqfT0bhx40KzANSoUQOtNvd1KDs7O8uY+aioKMxmc77HatasGYcOHbrnOQDWBV1n9uYwsgwmq7YXwhoms8LCvZc5cDGO+aM9aebqdO+dhLgHKfNCCFHKNBoNXl5enDlzhpycnALHzSuKQnBwMI0aNbKU+ZYtW9KqVSu2b9/OmDFj2L59O02bNqVt27YAllI7bdo0PD098z3u3+etv9dPB/5542p+62xtbVEUhRkzZrBlyxa8vb3x8vJi9OjR+Pj4MHHixFxfO0BOTk6e4/3zJtb8/LPI/5PReGdcsp1d3idyFnZ/wl1p2Qbe3niGrWdu3nNbIe7X6egUnlx4mJkDWjPBt4nacUQ5J2VeCCFUMGTIEIKCgli/fj0TJkzId5s9e/YQFRXFlClTci0fNGgQ8+fPJyoqiiNHjjB58mTLOjc3NwAcHR3x8/PLtV9oaCgpKSlUqVLF6px3j3f16tU86yIiIgCoV68eJ06cYMuWLUyZMoVp06ZZtjEajSQnJ9OoUSMAy3+vXbuW61iKonDjxg1atmxpdbb8FHR8gMjIyEL3DY1OZuoPIVxPzHygDEJYI8tg4r+/nuPYlQTmjexAVXupZOL+yJh5IYRQwbBhw/Dy8uKzzz7j8OHDedafP3+ed999l4YNG/LCCy/kWjdw4EDMZjMff/wxBoPBMsQGwMPDA1dXV1avXk1GRoZleXp6OtOnT2fmzJlWjdW/q23btri6urJu3TrS09NzHe+HH37A1dUVDw8PkpOTAWjRokWu/X/66SeysrIsV8zbtGmDm5sb69aty/V0161bt5KUlGR1roLUrl0bLy8vtmzZYhniA3eG3xw8eLDA/VYdu8aIZcekyItSt/3sLYYtPcr1BPneE/enwI+Bhc19XBQajYZNmzYVy7GEEKKi0Gq1LF68mMmTJ/PCCy/Qt29fOnfujE6n4/Tp02zevJn69euzdOlSqlatmmvf+vXr4+Pjw759+/D09Mw1/tzW1pZ3332X6dOnM2zYMEaMGIG9vT0bNmwgJiaGefPmWW6qtcbfjzd8+HBGjBgBwM8//8zt27dZuHAhWq0WLy8vnJycmDNnDjExMVSrVo3jx4+zbds27O3tLR8sNBoN7777Li+//DKjR49m+PDhxMbGsnbtWmrUqFEM7yy89dZbjB8/nhEjRvDUU0+h1+tZvXp1vkOGjCYz//3tHD8cv14s5xbiflyITWPQ4sMsGuPFow/de5YrIf6uwL/Rz58/XywnuDs+UgghRG4uLi6sXbuWgIAANm3axMKFCzEajbi7uzNt2jSeeuopnJ2d89130KBBBAUFMXDgwDzr+vXrx8qVK1m2bBlLly5Fq9XSsmVLli1bRs+ePYuc8+7xli5dypIlS7CxsaFDhw58/PHHdOzY0fK1fP3118ybN4+lS5diZ2dH06ZN+fzzzwkNDWXVqlXEx8fj4uJCz549+eqrr1i0aBGff/45devW5eOPP2bt2rVFzpYfLy8vli9fzvz58/niiy+oUaMG48eP58qVK7nm6E/JNDB5bTBHr9z7RmQhSlpKloFnv/uDN/u1YlKP5mrHEeWIRing7qbWrVszdepUpk6det8HX7RoEUuXLi22DwZFERwcjLe3d6mfV1R8d8cDL1iwQOUkQoj8xMXF5TuH/0svvUR4eDj79+/nalw6L3x/gqvxGfkcQQh1De7QgLkj2lPF1vohcaLyKtEx8xqNptCZEIQQQojiNmrUKJ5//vlcy+Lj4zl+/Djt27fnyOV4hi49KkVelFm/nY5h+LKj3EzJuvfGotIrcJjNjh07cHFxeaCDT5w4sdjG3gshhBDWGDx4MF9++SX//ve/6dy5M6mpqfz000+YzWaaPDqMiSuDMMpDoEQZdy4mlRHLjrH6+U4yH70oVIFl/oknnqB+/fp07twZX19funTpYpnn2FrOzs4FjvcUQgghSsK0adNwcXHhp59+Ys+ePdjb2/PII4/QYeR0Fp6Qq/Gi/LiRnMXIL4/x/XOd8HC79xOSReVU4Jj5CRMmcObMGbKysiw3sTZr1sxS7Dt37lymi7qMmRclRcbMC1G+KIrCu7+eZc3vMmONKJ+c7W34ZmJHujQr/InNonIqsMwDmEwmzp07x8mTJwkODiYkJIT4+Hg0Gg1arZY2bdrg6+uLr68v3t7e+T5xTy1S5kVJkTIvRPlhNiu8uTGUn4Oj1Y4ixAOxt9Gy+OlH6NOmrtpRRBlTaJnPT2RkJMHBwZZyf/cJgLa2tnh5eeHr68tLL71UImGLQsq8KClS5oUoH4wmM6/9dJrNp2PUjiJEsbDRavh0eHuGezdUO4ooQ4r87ODGjRvTuHFjhg0bBtyZIeCXX35h06ZNHD9+nKCgoDJR5oUQQlReeqOZqT+cJDAsVu0oQhQbo1nhjZ9Pk5Jl4LluTdWOI8qIIpd5vV5PcHAwQUFB/PHHH5w5cwa9Xo+iKDRq1AhfX9+SyCmEEEJYJdtgYtLqYA5cjFM7ihDFTlFg9pYw7Gy0jOvSWO04ogywqsyHh4dz5MgRjh49SnBwMDk5OSiKQq1atXj88cct4+YbNpQf+wghhFBPtsHEc9/9IU91FRXef389i5O9Df5ebmpHESorsMxv2rSJI0eO8Pvvv5OYmIiiKDg4ONCpUyf8/Pzo0qULrVu3Ls2sQgghRIFMZoVX1oVIkReVglmBNzacxtFOR9+29dSOI1RUYJl/55130Ol0eHp6MmbMGLp06YKnpyc2NkUemVMks2bNIjIyktWrV+dafujQIZYtW8a5c+fQarV06NCB6dOn4+npWaJ5hBBClA+zAs6wS8bIi0rEaFaYui6Eb5/xoWuLB3vQpyi/tIWtNJlMREVFERERwbVr14iLK9nxhxs2bGDDhg15lgcFBfHiiy+SlpbGa6+9xssvv8z169cZN24coaGhJZpJCCFE2fdZ4AXWBUWpHUOIUqc3mnlx1QmCI5PUjiJUUuBl9i1btljGye/du5etW7ei0Whwd3fH19cXPz8/OnfuTPXqD/5EMpPJxLJly1i8eHG+6//v//6P+vXr89NPP+Hg4ACAv78/AwYMYP78+Xz77bcPnEEIIUT5tOrYNRbtvax2DCFUk6k38ey3Qfz4L1/aNKimdhxRygos8y1atKBFixZMnDgRo9FISEgIhw8f5tixY2zYsIH169ej1Wpp3bo1fn5++Pn53deDo3Jychg5ciQXLlzA39+fY8eO5VqfkpJCeHg4zz77rKXIA7i4uODj48ORI0eK+CULIYSoKLaG3uT9386pHUMI1aVmG5mwMojfpnalQQ2He+8gKgyrBsDb2Njg4+ODj48Pr732GqmpqRw7dowjR45w/PhxvvnmG5YvX46dnR3e3t6sXLnS6gA5OTmkp6czf/58BgwYQK9evXKtd3JyYseOHbmK/F1JSUnodDqrzyWEEKLiOHolntd+OoW5SI8+FKLiik/P4cVVJ/j5JT8c7KQfVRb3dTdrtWrV6NevH/369SM2NpYDBw6wevVqLl26lOfK+r04OTkRGBhY4I21Op2OJk2a5FkeHh7OyZMn6dat2/18CUIIIcqxq3HpTFodjN5oVjuKEGXKuZhU3vj5NEuefkTtKKKUFKnM5+TkcObMGU6dOsXp06cJCQkhIeHOFGCOjo706NGDzp07FymAVqtFqy30Ptw8MjIyeOuttwD417/+VaR9hRBClG8ZOUYmrQ4mLduodhQhyqStoTdpVfcSrz7eUu0oohQUWuajoqI4deqU5deFCxcwmUyWOecfeeQROnfuTJcuXfDw8ChyKb8fWVlZTJ48mfDwcCZNmkSnTp1K/JzYDqq0AAAgAElEQVRCCCHKjjd/DuXS7XS1YwhRps3ffZFW9ZzpJ3PQV3gFlnk/Pz+Sku5Mc6QoClWqVMHHx4fOnTvTuXNn2rVrV+Jzzv9TamoqkyZN4uTJkwwfPpzXXnutVM8vhBBCXV8duMLWMzfVjiFEmaco8Pr6U2yc4kfrejLDTUVWYBtPT0/PVd47dOiAra1taWbLJSEhgeeff57z588zevRoPvjgAzQajWp5hBBClK6jl+OZu/OC2jGEKDcy9CZe+P4Ev03tRq2qRZttUJQfBZb5EydOFHmayZKSnp5uKfLPPPMMM2fOVDuSEEKIUhSTnMUr60IwydQ1QhRJdFIW034MYdVzneQiaAVVYJmPj4+/74M2aNDgvvfNz+zZszl//jwTJkyQIi+EEJVMjtHE5DXBJGTo1Y4iRLl06FI8Kw5H8EL3ZmpHESWgwDLfq1ev+/oEp9FoCAsLe6BQf3flyhV+/fVXnJ2defjhh/n111/zbDNkyJBiO58QQoiyZc62cE5Hp6gdQ4hybe7OC/g1d5EnxFZA97yD1dHRkY4dO5b6za53BQUFAZCWllbgVXkp80IIUTEduRzP98euqR1DiHJPbzQz7ccQNr/SjSq28kCpiqTAhj5u3Dh27dpFbGwsISEh9OrVi/79+9O1a9cSvRF27969uV6PGTOGMWPGlNj5hBBClE1p2Qbe/DkURYbJC1EsLt1O5/+2nWf2EA+1o4hiVODE8LNmzeLAgQOsW7eOYcOGERQUxOTJk/Hz8+Ptt99m//79GAyG0swqhBCiEvlgcxg3krPUjiFEhbLqWCR7w2PVjiGK0T3Hznh5eeHl5cXbb79NaGgoO3bsYNeuXQQEBODk5ETPnj154okn6NatW5mZ/UYIIUT5tisslp+Do9WOIUSF9ObPoWyf9iiuzvZqRxHFoEgD4du3b0/79u158803OXfuHDt37iQwMJDNmzdTtWpVevbsSf/+/endu3dJ5RVCCFHBJWbombnpjNox7sn+l9fvuY2+2xQU1xaW19rrf6C7fBBNehzYOmBy88TUpj/YWFGqjDnYhGxAe/Ms2FXF1LQLpoceB03uH7Lrzm1Bdz0Yfd93QKfe82FE2RWfruftjaGseMZH7SiiGNz3Xa1t27albdu2vP7665w5c4aPP/6YLVu2sHXrVs6fP1+cGYUQQlQiswLOEJ+eo3aMezK27pvvck1OOrqIoyj2TijOdSzLdRd2YxO2DXO1+piadUOTehObKwfQJkVi6D4FtIX/k6w7txXtjVOYG3W8U+zDtqPYOmBu1u2vjbLT0F05jNFjkBR5Uag94bfZEhrDwPbFO524KH33XebT09PZv38/gYGBHDp0iKysLGxtbfH19S3OfEIIISqRzadj2HbmltoxrGJ6uH++y22OLQfA4P00VPlzGsDMJHTnd2Cu1QRD95dBe2c2ESVsOzYXdqGNOIa5efeCT6Yo6CKDMDfpgtFzBACaI1+hiziaq8zrLu4GeyfMTboUw1coKroPNofRvaUr1R3kg195VqQyn5iYyJ49ewgMDOT333/HYDBQpUoVunXrRt++fenVqxdOTk4llVUIIUQFlpFj5KOtxfecEjVoI4PQ3QrD5O6DUre1Zbku4hgaxYzxocctRR7A1Ko3uiuH0EUeL7zM69PRmPSYq/91FdVc3Q1dQsRf22QmoYs4dqfsa2XqQXFvcWk5fLojnP8b2k7tKOIB3LPMx8TEsGvXLnbt2kVISAgmkwlHR0f69OlD37596dGjBw4ODqWRVQghRAW2aO9lYlPL/vCaAhn12IRtQ7Gxx+gxMNcqbcIVAMwuzXPvo7NFqdUY7e0LYMgC2wL+PbV1QEGDxvjX+6MxZoNtFctrm/BAFMdamN07Fs/XIyqFdUHXGeHdkEfca6odRdynAsv8l19+SWBgoGX8e7Vq1Rg0aBB9+/aVmWuEEEIUq4j4DFYejrj3hmWY7spBNNmpGFv1AXvnXOs0GQko9s65yvddimOtO9ukx6HUdM//4FoblBpuaCODMLl5ojHmoI0J/evDQXoc2ut/YOw4Ns8NsUIURlHgv7+e5beXu6HVatSOI+5DgWX+iy++QKPR4OLiQu/evenSpQs2NjYoisKhQ4cKPejjjz9e7EGFEEJUXLM3n0NvMqsd4/6ZjeiuHELR2mDKb7iMPgPFsXa+uyp3C74hu9BTGD0GY3tsOfY7P7yzX5VqGNsMAMDm/E4U57qY3Tz/dmCzFHthlbM3UlkbdJ3xXRqrHUXch0KH2SiKQlxcHD/++CM//vjjPQ+mKAoajUZmsxFCCGG1veGx7LsQp3aMB6KNPoUmJw1Tky5gn8+9Y2ZzwePY/5zFRmMyUNjDbhXXFugfn4E2Nhy0Npjre4B9VTSpN9FGh2Ds/CxoNOgu7EZ3aR8Y9Zjrt8XoNRrsZDisKNxngRcY2K4+NavKyIvypsAyP3Xq1NLMIYQQohLSG818uKX8XwDSRZ0AwNSkgBnddLZgNuW/zmwEQLGxokRVrY25Wdfchw7bjlKzIeYGHmhvnccmbBvGh59AqVYPm9ObsAn9BWPHp63+WkTllJxp4IvdF/lgiIfaUUQRSZkXldKiRYu4fPnyfe17d79p06bd1/4tWrTglVdeua99hahoVhyOICI+Q+0YD8aQjSbuCopjLZSajfLfxtbhzg2r+dDcHV5T0M2vhdAkRaG7eRa9378A0F77HXONhpha9wHAlJWELvRX6DAs3/H6QvzduqAoXny0GQ1rOqodRRRBgWV+5syZ9O7d+4HGv+/evZs9e/YwZ86c+z6GECXh8uXLnDp7HtOfN54VhcZ0549N8NXYIu+ry0ws8j5CVFSJGXqW7Lu/D9Vlifb2BTSKCWODgqf3U5xc0cRfAZMedLmvwGsyE1HQoFR1KfK5bcK2Ya7d1DINpiYjDsW5nmW92ckVGxQ0mQko1d2KfHxRuehNZhbsvsT/RnZQO4ooggLL/C+//IKbm9sDlfnw8HACAgKkzIsyyeRYi6zWA0r1nA7h20r1fEKUZV8fvEp6jlHtGA9MkxgJgFK7eYHbmGs3xSb+Mpr4CJS6rf5aYTKgSYxEqVavyFfONfFX0N6+gL77y387kfnOja93tzHdfX9llhJhnU0hN3jpseY0d5XnBpUXhd4Ae/jwYdLS0u774KdOnbrvfYUQQlRcSRl6Vh+7pnaMYqFNuQGAuaAhNoC5kTfKxT3YhO/E4NIcdHf++dVd2I3GmI3xPp7YahO2DXOdh1D+Nne94lwHbVKUZSYbTWIkikZrmf5SiHsxmRU+33WRJU8/onYUYaVCy/ypU6ceuJBrNHI1QAghRG7fHLpKhr6AG0LLGU1GAorOFhyqF7iN4lwHU4vHsLm0F9t9n2Gu1wZNaiy62DDMtZpiLujG2YLOGXsebUIE+h65790xN+6M7uYKbA8vQ3GqgzbyOObGnWS8vCiSbWduci4mhbYNCv6eFmVHgWV+1apVpZlDCCFEJZGUoWfVsUi1YxQffQZKlRr33MzU9kkUxxrorh5Bd+UQVHHG2LwHpof7Wq7UW8smbDumem1RauWeF9xcvy2GDsOwubAbTVIU5oZeGD0GF+nYQigKfBZ4kZXP+KgdRVihwL89OnXqVJo5hBBCVBLLD1eMsfJ36QdZeV+YRoO5WTfMzbo98DkNPV8vcJ25WTf0xXAOUbntDb9NcGQS3o1rqh1F3IM8Gk4IIUSpSc7U8/3RCnRVXogKbPHeS2pHEFaQMi+EEKLULD8UUaGuygtRke2/GMeVuHS1Y4h7kDIvhBCiVKRlG/j+6DW1YwghrKQo8N2Ra2rHEPcgZV4IIUSp+Dk4mjS5Ki9EubLxZDQpWQa1Y4hCSJkXQghR4hRFqVgz2AhRSWTqTfwYdF3tGKIQVpf5BQsWcO3atRKMIoQQoqLafzGOiPgMtWMIIe7DqmORmMyK2jFEAawu88uWLeOJJ55g9OjRrF27lqSkpJLMJYQQogJZJWPlhSi3biRnsePsLbVjiAJYXeZXr17NiBEjuHbtGh9++CHdu3dnypQpBAYGotfrSzKjEEKIciw6KZMDF+PUjiGEeAArj0SoHUEUwOpHzvn4+ODj48N///tf9u/fz+bNm9m/fz979+6lWrVq9O/fn8GDB9OxY8eSzCuEEKKc+TEoCvkJvRDlW3BkEmExqbRpUE3tKOIfivb8aMDW1pY+ffrQp08f0tPT2b17N/v372f79u1s2LCBBg0a4O/vz7Bhw3BzcyuJzEIIIcoJo8nMTyei1I4hhCgGv4RE06ZBG7VjiH94oNlstFottra26HQ6NBoNiqKQnJzMkiVL6Nu3L++++y5ZWVnFlVUIIUQ5szf8NrfTctSOIYQoBr+djsEsP2Yrc4p8Zd5gMHDgwAG2bNnC/v37ycnJwdbWlp49ezJ06FC6d+9OZGQkS5cu5eeffyYzM5PPPvusJLILIYQo4349FaN2BCFEMYlNzeHY1QS6tnBRO4r4G6vL/LFjx9iyZQu7du0iLS0NRVHw9PRk6NChDBgwAGdnZ8u2zZo1Y968efzxxx/s3bu3RIILIYQo27L0JvaG31Y7hhCiGAWE3JAyX8ZYXeafffZZANzc3Bg3bhz+/v64u7sXuo+zszO1a9d+sIRClIDExER0mQk4hG8r1fPqMhNITLQt1XMKoZY94bFkGUxqxxBCFKMdZ2/xob8HVWx1akcRf7K6zA8fPhx/f398fHysPvgvv/yCra0UFyGEqIy2ht5UO4IQopil5RjZc/42T7avr3YU8Sery3z9+vf+n7Zv3z727t3Lhx9+CCBFXpRZtWrVIiLZQFbrAaV6XofwbdSqVatUzymEGjL1RvZdkCE2QlREv4TckDJfhlg9m83ixYsJCgoqdJsDBw7w66+/PnAoIYQQ5due87fJNpjVjiGEKAEHLt4mJdOgdgzxpwKvzK9du5aff/4517J169axe/fufLc3GAxcvXqVhg0bFm9CIYQQ5Y4MsRGi4jKYFA5cimNwhwZqRxEUUuaHDBnCkiVLSExMBECj0RAfH098fHz+B7KxoX79+vznP/8pmaRCCCHKhYwcI/svyhAbISqyAxekzJcVBZZ5Jycnjh49anndunVrpk6dytSpU0slmBBCiPLp0KU4GWIjRAV38FIciqKg0WjUjlLpWX0D7KpVq3BzcyvJLEIIISqAI5cT1I4ghChhcWk5nItJxcOtutpRKr0Cy3x6ejp2dnbY2dkB0KZNG8vye3FyciqmeEIIIcqbI1fyH44phKhYDlyMkzJfBhRY5n18fHj55Zctw2o6duxo1Y9SNBoNYWFhxZdQCCFEuXErJZurcRlqxxBClIIDF+N4uWcLtWNUegWW+Y4dO+aamaYoD4sSQghROR2Vq/JCVBoh15NIyzbgXEWeK6SmAsv86tWrC30thBBC/JOMlxei8jCYFI5cTqC/Rz21o1RqVj806q7z589z5cqVXMu++uorzp49W2yhhBBClE/H5Mq8EJXKkcvyZ15tVpd5o9HI22+/zbBhw9i+fbtleU5ODl988QUjR47kk08+KZGQQgghyr6I+AxiUrLVjiGEKEWnopLVjlDpWV3mV69eTUBAAF27duXxxx+3LLezs2PNmjX06NGD77//nlWrVpVIUCGEEGWbjJcXovIJv5VKjtGkdoxKzeoyv3HjRtq1a8fy5ct5+OGHLcs1Gg3e3t4sW7aM1q1b8+OPP5ZIUCGEEGVbyHW5QidEZWMwKYTFpKodo1KzusxHR0fTqVOnAtdrNBq6dOlCVFRUsQQTQghRvsg/6EJUTqdlqI2qrC7z1atX5+rVq4Vuc+PGDZydnR84lBBCiPLFYDJz+fa9HyoohKh4QqNT1I5QqVld5rt168aBAwfYvXt3vusPHz7Mnj178PPze6BAs2bNYvz48XmWR0VFMXXqVDp16kSnTp148803SUxMfKBzCSGEKB4XY9PQm8xqxxBCqOBUtFyZV1OB88z/05QpU9i9ezevvvoqfn5+eHp64uTkRHp6OmfOnOHw4cM4OTnx6quv3neYDRs2sGHDhjzDeZKSkpg4cSJ6vZ4XXngBk8nEihUruHDhAhs2bMDOzu6+zymEEOLByRAbISqviPgMUrMNVJOHR6nC6jLv5ubG6tWr+eCDDzh8+DCHDx/Otd7T05PZs2fj7u5e5BAmk4lly5axePHifNd/99133Lp1i82bN9O8eXMAOnTowLPPPktAQACjRo0q8jmFEEIUn7CbUuaFqKwUBc5Ep9C1hYvaUSolq8s8wEMPPcTatWuJjY0lPDyc1NRUHB0deeihh2jUqNF9BcjJyWHkyJFcuHABf39/jh07lmebrVu30qlTJ0uRB/Dz86Np06Zs3bpVyrwQQqhMrswLUbmdv5kqZV4lRSrzd9WtW5e6desWS4CcnBzS09OZP38+AwYMoFevXrnWp6SkEBUVRb9+/fLs27ZtW/bv318sOYQQQtw/uTIvROV2PTFT7QiVVpHKfHx8PPv27SMhIQGTyYSiKJZ1BoOB5ORky42w1nJyciIwMBAbm/yjxMbGAuT74cHV1ZX09HTS0tJkFh0hhFBJdFImadlGtWMIIVR0LUHKvFqsLvPh4eGMGzeOjIwMFEVBo9EAWAq9RqNBURRq1KhRpABarRattuBJdTIyMgBwcHDIs87e3h6AzMxMKfNCCKGS6/KPuBCV3vWEDLUjVFpWl/lFixaRnp7OmDFj6NSpE3PnzsXDw4MnnniCK1eusHr1auzs7Ni+fXuxBjSb7z3VWWEfBoQQQpSsG8lZakcQQqjsRnIWRpMZG510stJm9Tt+8uRJfHx8eO+993jiiSfo0qULcXFxDBgwgFdeeYVVq1aRmprK119/XawBq1atCtwZW/9Pd5fd3UYIIUTpi0nOVjuCEEJlBpMifxeoxOor82lpabRv397y+qGHHmL79u2WITetW7fmscce4+DBg/z73/8utoANGjQAIC4uLs+627dvU61aNRwdHYvtfKLy0GUm4hC+rcj7aQx3rkIqtnmHfllzTiiem8eFKCtuJMswGyEEXEvIwL22dLLSZnWZd3Z2Rq/XW143atSInJwcIiIiaNasGQBNmjTJd2rJB1GtWjUaNmzIuXPn8qwLCwvDw8OjWM8nKocWLVrc976XL1++c4xm91PK6z7QuYUoi+RqnBACIFJmtFGF1WW+bdu2HDx4kDfeeAN7e3tatGiBoiicPHnSUuavX7+OTqcr9pB9+/Zl1apVXLlyxTLX/NGjR4mIiOD5558v9vOJiu+VV165732nTZsGwIIFC4orjhDlWoyMmRdCAJHxchOsGqwu82PHjmXy5MkMHTqUDz/8EG9vb9q0acO8efMwGAzEx8eze/duOnfuXOwhX3zxRX799VeeeeYZnnvuOXJycli+fDlt27ZlyJAhxX4+IYQQ1otJkTIvhIDbaXnvbxQlz+obYHv27MmsWbO4ffu2Zfz6zJkzycnJYfbs2SxZsgRHR8diHS9/V61atVizZg2tW7dm4cKFfP/99/Tu3Zvly5djZ2dX7OcTQghhnfj0HLIN9551TAhR8SVnGdSOUCkV6aFR48aNY9SoUZbpIn18fNi6dSu7d+/G3t6exx577IGfDLt37958lzdr1oxvvvnmgY4thBCieN1KkfHyQog7UjL1995IFLsilXkgz5XwBg0aMGHChGILJIQQovxIzZYrcUKIO1LkyrwqilzmAwIC2Lx5M+Hh4aSlpVGzZk06dOjA8OHD6dGjR0lkFEIIUUZl5pjUjiCEKCNkmI06rC7zer2eSZMm8fvvv6MoCtWrV8fd3Z3U1FQCAwPZtWsX/v7+zJkzpyTzCiGEKEMy9Ea1IwghyojULIPl+UOi9Fhd5pcuXcqxY8fo06cPb775Jo0aNbKsu3HjBp988gkBAQG0bduWcePGlUhYIYQQZUt6jpR5IcQdZgVSs41Ud7BVO0qlYvVsNps3b6ZNmzYsWLAgV5EHcHNzY/78+bRs2ZIff/yx2EMKIYQom2SYjRDi71IyZahNabO6zMfHx9OlSxe02vx3sbGxwdfXl+jo6GILJ4QQomyTK/NCiL+Tm2BLn9VlvmXLlpw9e7bQbS5fvkyTJk0eNJMQQohyIkPKvBDib7KN8tO60mZ1mZ8xYwYhISF89NFHpKWl5Vn/zTffEBQUxDvvvFOsAYUQQpRdGXr5h1sI8ReTWVE7QqVj9Q2wGzdupEmTJqxdu5ZffvmFVq1aUbduXbKzszl37hxxcXFUrVo1z2w2Go2GTZs2FXtwIYQQ6ss2SJkXQvzFLGW+1Fld5n/77TfL7zMyMjh58mSebdLT0zl//nyuZTI9kRBCVFxa+TteCPE3Re3y48eP58SJExw8eBBXV9d8t0lJSaFr16707NmTRYsWWX3sRx99lGbNmvHdd99ZlsXFxeHk5ISDg0PRgpZhVpf58PDwkswhhBCiHLLVSZkX8HjtJAY1PEOQgz1RmixQ5OpsZWVTpQngYvX2gwcPJigoiMDAQMaOHZvvNoGBgRgMBgYPHvxA2fbt28eMGTPYsmVL5SzzQgghxD/ZSJkXwNTaQXhd+B5/IMHJlT/c2nC8qhNBOfFcz7ypdrxSZdxjxHzcjM1YG7SN731ropKuYNxqRIlUwBl0XXTovHR5jxtgRElUsH2ubM/hruiGF2n7/v37M3v2bHbu3Flgmd+2bRvVq1enR48eD5Tt1KlT+d73Wd4VucxHRkaSkJCA2WxG+fOTt6IoGI1GkpOTOXDgAJ9++mmxBxVCCFH22BQwXbGoXDxSDlh+Xzs9jv4XDtD/z9e3argRVL8Vxx2q8Ed2LDez4tQJWQrMMWbMQeYi7WPcfqfIaztoURIVTNtNaJw1aFv89WfLfNuMOcyMzeiyfw1Wqyna3wnOzs707NmT3bt3k5CQQO3atXOtT0hI4Pjx44wYMQI7O7vijFphWP1dkZiYyKRJk+45PSUgZV4IISoJGWYjBrjGY5tyrcD19ZJvMDj5BncHSETVbsLxei0IsrcjKPMGCTlJpZKzpCkmBdNWExRhhJGSoaBcUtD11KHz1aEoCoavDZhOmnKVedMBE5qGGrTNy/6H56KWeYBBgwaxc+dOdu3axVNPPZVr3Y4dOzCZTHmG2AQFBbFkyRJCQ0MB6NChA1OnTqVjx475nuONN95g8+bNAPTo0QNfX1/LWPpt27axdu1awsPDycnJoW7dugwYMIBXXnkl1weIkJAQPv/8c86ePYuzszOjRo3CZDLx1VdfERYWZtkuJiaGzz//nMOHD5ORkUGLFi144YUXePLJJ4v83ljD6jK/YMECzpw5w0MPPYS3tzebN2+mefPmPPzww1y5coU//vgDFxcXli9fXiJBhRBClD02urJfLkTJmlgjFIowcqFRwjUaJVxjxJ+vr9R5iON1mhBkq+VEZjQp+tQSyVnSTEdMKIkKmiYalGvWNXol5c52mjp3PhRrNBq0dbQocX/tb44xo1xSsBlb9q/KA9hoi56zR48eVK9enR07duQp89u2bcPNzQ1vb2/LssDAQKZNm0bjxo2ZMmUKiqKwfv16Jk6cyJIlS3jsscfynOPpp58mMzOTPXv2MGvWLFq0aAHAunXreP/99+nduzczZsxAr9ezc+dOvv76axwdHZk8eTIAoaGhTJw4kbp16zJ16lQyMjL47rvv0OlyD4m6desWo0aNQqvVMmHCBJydndm9ezevv/46cXFxPPPMM0V+f+7F6nf80KFDNG3alICAALRaLQkJCWRnZ/P+++8DEBAQwNtvv82pU6do3bp1sQcVQghR9thq5cp8ZeeZfvCB9m9++yLNb1/kacCs0XKhXmuCXN05rjNzMv06GcbM4glagsy3zZiPmtH6aSEHq8u8psqff370fy1T9ApU+eu1ab8JTRONVePvywInW6ci72NnZ0e/fv3YuHEjiYmJ1KpVC4DY2FiCg4OZNGmSZXZEg8HA7NmzqV+/Phs3bqRq1aoAjBo1ioEDB/LBBx/QrVs3bGxyV9xHHnmEli1bsmfPHvr06UO9evUA+Pbbb+nYsSNLliyxbDtmzBh69uxJYGCgpczPnTsXBwcHfvrpJ2rWrAlAz549GTlyJNq/DTecN28eRqORLVu24OJy50bgcePG8dprr/H5558zePBgy9dXXKz+zrh9+zZdu3a1BH744Yc5ffq0Zb2/vz8+Pj4EBAQUa0AhhBBll1yZr9x61U7CPulisR1Pq5h5+GYYE0N3sDQkkMNXLrPGUJNXq7Wlc/WHqKKzL7ZzFRfFrGDaYkJTS4Oua94bVwtVHagKpmATSqaCOdqMck1B0/BOcTVH3nmt61HE46rI2c75vvYbNGgQJpOJPXv2WJZt374dRVFyDbE5c+YMcXFxjB8/3lLkAWrUqMHTTz9NTExMriEv97JlyxaWLVuWa1liYiLVq1cnMzPT8vrEiRP4+/tbijxAu3bt8PX1tby+m79Tp05otVoSExNJTEwkKSmJvn37kpOTw++//279m2Ilq6/MV6lSBXv7v/4Qubu7k5qaSmxsLHXr1gWgffv2UuaFEKISsbeRMl+ZPVcrFDJK7vg2ZiMdok/TIfo0LwJ6nT2nG3oQVLMeQWQRmnYNo9lYcgGsYD5uRolVsBlvg6aI95BodBp0vXWYNpswfGG4s7A26HzvlHfTAROaFhq0bn/9OVMUpUw/w6eaXbX72s/Hx4cGDRqwY8cORo4cCcDWrVtp27YtzZs3t2wXHR0NQNOmTfMc4+52MTExtG/f3qrz2tnZERQUxLZt27h69SrXr18nISEBuNN1AaKiolAUhcaNG+fZv1mzZhw/fhyA+Ph4MjMz2blzJzt37sz3fDExMVblKgqry3zz5s1zXYlv2rQpiqIQFhZmKfPp6elkZWUVe0ghhBBlU62qMrtEZeadebhUz2dnysEnMhifSHgZyLJzJMStHceru/CHkkFYWkq9f6kAACAASURBVCQmpfSeSqwkKJgOmdA+okXb8P4+2Ora6tC4/jnO3hG0rbRobDWYL5tRohVsnrNBURRMu0yYT5tBAa2HFl1fHRqbslXqbTQ2ONo63te+Go2GJ598km+//Zbk5GTS09MJDQ1l5syZubZTCnmGgdl8ZyYhW1vrp+/89NNPWblyJW3btsXT0xN/f3+8vLx47733LKXeYLjzQSu/2XT+vuzu+QcMGGD5QPJPdz8gFCery/yAAQOYM2cOb731Fq+88gqtWrWiTp06LFy4EHd3d+Lj49m6dStNmjQp9pBCCCHKJhfnsjfsQZSOzjVScUg4p2oGB30mfhHH8fvzdXqVapxo2I7jzjX4w5TKxbTrKEWZXqYIFOXO/PA4gq7ngw2D0dbRQp3cxzYdNKFprUFbT4sp2IT5pBldHx3Yg2mnCaqCTY+ydVOsk13Rx8v/3eDBg/nmm2/Yt28fiYmJ6HS6PDPAuLm5AXD16tU8N7pGREQAUL9+favOFxUVxcqVKxk2bBhz5szJtS4uLs4ytLxRo0YAXLt2Lc8xIiMjLb93cXHB3t4ek8mEn59fru3+v707j4uyXP84/pkZZoYdBFkEIXFDURRSczuau6CI+75WllulpVl5tI6dPL+yLJey0jqdXLLcKrfct1wSJVNzL1xR2UWQdZj5/YFiCCjowDPA9X69eNnMPPM8X8jleu657vuOjo7m9OnTpbJZVbFvI4cOHUqXLl346aefOHLkCBqNhvHjx3P69GnCwsIYNWoUqampPP/882YPKYQQwjJVtZNivrIa4/bwparLmn3GLdr9uZ/Xj25k9fFf2BObyhxtDQY6B+Jn523Waxkj74ych1ih0pl3hNx0xpTbutMmt1g3/m5EVUeFpokGTUMN6sZqjL+VbD37svCo/fJ31a1bF39/f3bv3s2uXbto2bIlbm5u+Y5p1KgRVatWZdmyZdy+fa/HKyUlhRUrVuDp6Un9+vULPf/dlWfujqAnJeUui3p3ZZu7du7cydWrV8nJyf2Ux8PDg0aNGrFhwwZu3bq32tKlS5fYt+/ep1NarZY2bdqwc+dOzp3LP5dk1qxZTJgwgZs3b5boZ1Icxb6ls7KyYv78+Rw7dixvBvCgQYNwcnJi48aN6PV6wsPDH3t3LiGEEOVHVQdps6msmmeUbYvNo6hyO4Eu5/bS5c7jOEdPDnnVJ8LWlojMWKLTYh753MYzuQWhYWXhPfuG5bnPa8drUTkXv9g3mUwY9hpQN1Cjcst9nynJhLrmvfFXlYsK0sGUYbq3Io4FeNxiHnJH5xcuXEhGRgb/+c9/Cryu0+n45z//yeTJk+nbty/9+vXDaDSyatUqEhMTWbBgQZFzCu6uIrN48WLatGlD69at8fT05LPPPiM9PR0PDw+OHTvGDz/8gF6vz3ez8PrrrzNq1Cj69+/PwIEDycjIYOnSpahUqnzXmzJlChEREQwZMoShQ4dSrVo1du7cyZ49exg6dGi+/n9zKfHnM40bN873ODQ0lNDQULMFEkIIUX64ysh8pRTkmIpt3LGHH2hh3G7dIOzWDcLuPI528SXCsy4R1joi0q8Tm5FQ7HOpG6kx+RZs4TFFmTBdM6EOVOeuVmNd8L0PYvzDCEmgGfC31h3jna+77t4/WE4dDzz65Ne/CwsLY86cOej1ejp37lzoMd26dcPJyYmFCxfyySefYGVlRePGjXnvvffyrUdf2Lm3bdvGqlWrOHLkCB06dGDRokW8//77eRtI+fr6MmPGDNLT03nvvfc4c+YM9erVo2nTpixevJiPPvqIjz/+mCpVqvDMM89w+vRpdu/enXcNPz8/Vq1axbx58/juu+/IyMjAx8eHadOmMWzYsMf++RRGZXrQTII7oqKiqFKlSr7leO6aP38+rVu3fuAPTwmRkZEWl0lUDBMnTgRyN1ITQkCjf23hVoayK4qIsvV57UOEXK14fwdecKtFhEctInQajqRFk5hZ8pYIwzYDxsNGrIZalXhteFOOiewvslHXUGPV7d54a/aX2aAD7YjciZ2GHwwYLxvRTbSsT8bCa4Uz6x+zlI5RKuLj4/PWjf+70aNHc+HChXxLapa1B/4uy8rK4pVXXiEsLIw9e/YUeD0uLo6FCxcybNgwJkyYQGpqaqkFFUIIYZlkEmzl0yrrgNIRSoVf3F8M/GMrc377md1nTrA6zZap9gG0cw7A4RE2Qyop4zEjpIDmH/kn1KobqzFdNZG9OhvDOgPG00Y0TS1v7XlPO0+lI5Sa3r17M2bMmHzPxcbGcuTIkWIvg1laimyzycnJYfTo0URERODl5VXoqLyNjQ1Tpkxh1apV7Nixg7Fjx+b1DwkhhKgcqtrriYorxcXGhUWpa5eOQ1yk0jFKnQoT/jFn8I85w3AgR6XhtFcAh1yrc1iTw2+pl0g3mG85bpPBRM7+HNTBalSO+esodVN17qZSvxkxGU2om6lRt7S8PR4qcjHfs2dPFi9ezJQpU3jqqae4efMmK1euBGDChAmKZiuymP/uu++IiIggPDyc//znPwW2xQWwt7dn9OjRDBs2jMmTJ7Nz505Wr15d5NqaQgghKh4PxxI2BYtybYLnaVTRlreSSmnTmHJoGH2ChtEneA7IVms54d2QCJdqRKgyOZZyiSxjFladraDwVu8HUlmp0L1UeNuMSqXKXYbSwtcYqWZXvCUhy6NXXnkFNzc3Vq9ezfbt29Hr9TRt2pRPP/20wGo4Za3IYn79+vV4eXkxa9asQgv5v7O2tub999+nS5cu/Pjjj1LMCyFEJVLD9dE2iRHl09M5FbPFpqS0xmyevHKUJ68cZSyQaWXNUZ9AIpzciTClcTLlEgZT5ZpLUt2+utIRSo1Go2HkyJGMHDlS6SgFFFmlnz9/nu7duxd7Fy17e3tat27Nrl27zBZOCCGE5avhaqd0BFFGathk4BQboXQMi6Q3ZNDiwmFa3HmcprfnSPVADju6cijnFmdTL2M0VdxPNNQqNd725l3LXxTPA3vmHRxKtl6oh4cHBkPlugsVQojKzs9NivnKYrzXWVTR8u98cdhmptL2r4O0vfM42caZI9UDiXBwIiI7kT9Tryqaz9w8bT3Raoo3ACzMq8jZE9WqVePy5cslOtnly5fx8PB47FBCCCHKj5pVpZivLDoaf1U6QrnllH6Tjud/4c3fNvDDiQPsisvgA11N+lUJxNe2/Pea+zj4mO1cw4cPp379+sTFxRV5THJyMg0bNuSll17Ke0+HDh0e6VqP8j6A1NRUEhMT8x4vWLAAf39/rl4t2xu1Iov5Zs2asXfv3gf+IP8uLi6O3bt34+/vb7ZwQgghLJ+zrY6q9pa13rUwv2rWWbjEHlQ6RoVRNTWWkLO7efu3jWw8eYhtSUZmWdchvEpDPG3clI5XYrWrmG8SaHh4OEajka1btxZ5zNatW8nOziY8PByAsWPHMm3aNLNleJg//viD0NBQzp8/n/dc586dmT17dt5Os2WlyGJ+0KBBZGVl8fLLLz90/fjU1FReeuklsrOzGTRokNlDCiGEsGx1PR5/G3dh2cZXO48qJ0vpGBWW582rhJ/ewazfNrHtVCQbb6l529af0CoNcdUXXB7c0tRzqWe2c4WEhKDT6diyZUuRx2zatAknJyeefjp3iZ/WrVvTqVMns2V4mHPnzhEbG5vvuXr16tGzZ09sbct2UYAie+YDAgIYO3Ysn332GSEhIQwdOpTWrVvj5+eHnZ0dycnJXL58mX379rF8+XISExPp27cvrVq1Ksv8QgghLEBdDwcO/JWgdAxRirqoDikdoVLxTbiIb8JF+t15/KdHXSLc/YiwUnEk7SrJWbcUzXe/+i71zXYuBwcH2rdvz/bt20lISMDV1TXf6wkJCRw6dIh+/fqh08mngg9cc/Lll19Gq9WycOFC5s+fz/z58wscYzKZ0Gq1PP/887zyyiulFlQIIYTlkpH5is1Vl4177H6lY1RqtWPOUTvmHEMAo0rNWc96RLj5ckhj5LfUy9w2pCmWTavWUtO5plnP2aNHD7Zs2cK2bdsKdH1s3ryZnJycvBYbyO19j46OZufOnXnPnT17lnnz5hEREUFWVhb16tXjhRdeeOgI/ubNm1m2bBmnT58mMzMTd3d3QkJCmDRpEjqdjgULFvDJJ58AMGLECLy9vdm5c2fe8zt27KB69dxlOpOSkpg3bx47duwgKSkJb29v+vbty3PPPYdGk7uL74IFC1i0aBHr16/n//7v/4iIiMDKyooOHTrwxhtvFLpx6989sJhXqVSMHz+ebt268cMPP/DLL78QExPDrVu3cHZ2xsfHhzZt2hAWFoaPj/kmPgghhChfGng5Kh1BlKJxXlGobphvt1PxeNQmI/Wvn6L+9VOMBAxqK056NyDCxYtDqmyOpV4iIyezzPLUdq6NVm3elWyefvppnJyc2Lx5c4FiftOmTXh7e9OkSZMi33/8+HFGjBiBvb09zzzzDHZ2dvz0009MmDCBt956i6FDhxb6vlWrVjF9+nQ6dOjAlClTyM7OZtu2bXz11VfY2try4osv0rlzZ+Li4vj+++8ZO3YsgYGBhZ4rOTmZQYMGER0dzaBBg/Dz82P//v3MmTOHU6dOMXfu3LxjjUYjI0aMoGnTprz++uucOHGC1atXk5GRwbx58x74s3rwblB31KhRg1deeUVG3oUQQhQqwMsRa62ajOyKu452ZRaqkbXlLZmV0UDjK8dofOUYzwNZGj3HqgcSUcWDCNI5nnIRg7H0lhSt72q+Fpu7dDodXbt2Zc2aNSQmJuZNKo2JiSEyMpIxY8agUqmKfP+7776LSqVi9erVeHp6AjB48GAGDx7M7NmzCQ0NLXSi6n//+1+Cg4NZuHBh3vmHDBlCx44d2bJlCy+++CL16tUjKCiI77//nlatWtG8efNCMyxevJiLFy/y6aef5n0aMHToUGbOnMm3335L796983r+DQYD3bp144033gBy567GxMSwfft20tPTsbGxKfJ7LXICrBBCCFFcWo2aRtWdlY4hSoGDlQGvuL1KxxAloMvJpNmlI0z4fSPf/L6TA1du8IXKi2edAmno6IdGpTHr9fyrlM5Khj169CAnJ4cdO3bkPffzzz9jMpnytdjcLz4+nmPHjtGzZ8+8Qh5Ar9fz3HPPkZGRwYEDhe9kvG7dOhYtWpTvRiEhIQFHR0fS0krWyrRz505q1apVoK1n/PjxAPm+L4DQ0NB8j+vXr4/BYODmzZsPvE6xRuaFEEKIh2n6RBUiLiQ+/EBRrrzgdQlV7G2lY4jHYJOVRquoX7m7REmKtROR1RtyyMGZCEMy51OvYML0yOcvjZF5yF0m3cvLi82bN9O/f38ANm7cSIMGDahVq1aR74uOjgbAz8+vwGt333ft2rVC36vVajl8+DAbNmwgKiqKy5cvk5CQO7nf27tkO9xevXqVNm3aFHjezc0NR0fHvJx33f9Jwd3JvTk5OQ+8jhTzQgghzKJpDctfPk+UXLjusNIRhJk5ZCTT7s/9tLvzOMnOlcPeDYiwc+BQdgIXbxde6BZGp9YR4BpQKjlVKhXdu3fn66+/5ubNm6SmpnL8+HHefPPNB77PZCr6xsRozG0F1GoL7/GfM2cOixYtIiAggKCgIHr27ElwcDD//ve/uX79eonyPyzH/Rke1Db0IFLMCyGEMIsmvi6oVPCAf79EOWOjycE3bo/SMUQpq3I7gS7n9tLlzuM4R08OedUnwtaWiMwYotNii3xvw6oN0Wv0pZYtPDycxYsXs2vXLhITE9FoNHTv3v2B77k7gh4VFVXgtQsXLgDka7+5Kzo6mkWLFtGzZ09mz56d77X4+PgSZ/f29i40Q1xcHKmpqVSrZp6df6VnXgghhFk42Wqp5WavdAxhRs95XUGVmax0DFHG3G7dIOzMLt75bSObTx5hczK8Y1OX7lUa4m6df833pp5NSzVL3bp18ff3Z/fu3ezatYuWLVvi5vbgHXLd3Nxo2LAh69at48aNG3nPZ2Vl8fXXX6PT6WjdunWB9yUn5/5er107/262e/bs4eLFixgM9yYRq9W5JfTdkf7CtG/fnqioKLZv357v+UWLFgHQrl27B34fxSUj80IIIcym6RNV+DP2wbuGi/Kjt3Wk0hGEBfBOvEzvxMv0vvP4glstIjxqEaHT0NrjqVK/fnh4OAsXLiQjI4P//Oc/xXrP9OnTGTlyJP369WPw4MHY2dmxbt06Tp48yfTp03F0LLicbu3atfHy8uLzzz8nMzMTT09Pjh8/zg8//IBer+f27XtzR+72t69YsYL4+Hh69OhR4Hxjxoxh69atTJo0icGDB1OjRg1+/fVXtm7dSpcuXfJWsnlcUswLIYQwmyZPVOG7w1eUjiHMQKs24Re/W+kYwgL5xf2FX9xfDLSyhtCvS/16YWFhzJkzB71eT+fOnYv1nuDgYFasWMH8+fP573//i9FopF69evmWibyfTqdj0aJFvPfeeyxZsgSTyYSvry/Tpk3DYDAwa9Ys/vjjDxo2bEjLli0JDQ1l165d/Prrr3Tp0qXA+Zydnfn++++ZO3cumzZt4tatW/j4+DB16lRGjRr1OD+SfFSmIrrz69d/tJnJKpWKU6dOPVYoc4iMjHzgZgJCPKqJEycCPHQTByEqo+vJ6bT8v50PP1BYvNHeV5ie8LrSMYQlq9keRvyodIpKr8iR+bp16xaYVXv9+nWSk5NxcHCgQYMGODk5kZaWxunTp4mPj8fLy+uRbwKEEEKUf9WcbGjg5cjJa7eUjiIeU3/b3yBB6RTCotXuqHQCwQOK+Z9++inf4yNHjvDss88yevRoXn755by1LyG3+f/LL79k/vz5vPXWW6WXVgghhMXrVN9DivlyTqUyUTtxt9IxhKWr1UHpBIISrGbzwQcf0KhRI6ZMmZKvkIfcGb0vvPACzZs3Z+7cuWYPKYQQovzoVN9D6QjiMQ3xvI7mdozSMYQls/cEjwZKpxCUoJg/c+YMgYGBDzymdu3aeet3CiGEqJwCqzvh6WitdAzxGAbZH1U6grB0MipvMYpdzLu6uvLbb78V+brBYODgwYNmWwC/MH/88QfPPPMMQUFBPPnkk4wdO7bQxfiFEEIoq2N9d6UjiMdQ/6ZsFCUeom5XpROIO4pdzIeFhXHs2DFmzJhBYmJivtdu3LjB5MmTOX/+PP379zd7SMjdxWv48OGcPXuW8ePHM3bsWI4dO8aQIUOIiZGPAoUQwpJ0CpBWm/Kqj0cMVilXlY4hLJm1M/iHKp1C3FHsdeYnTJjA0aNHWbVqFWvWrKFatWrY2dmRmprK9evXMZlMhISE8Oyzz5ZK0G+++Ya0tDSWL19OQEAAAC1atKB///7873//4/XXZfksIYSwFK1quWKn03A7K0fpKKKEhjkeA9n0VTxIg95gpVc6hbij2MW8Xq9nyZIlrF27lo0bN3L27FliYmJwcnKiTZs29O7dm9DQ0rtLu3r1KlWqVMkr5AEaNWqEs7Mz586dK7XrCiGEKDm9lYan/d3YdOLGww8WFiXwlrTYiIcIGqJ0AvE3JdoBVqVS0bdvX/r27VtaeYr0xBNPcODAARITE/O20L158yYpKSm4u0tvphBCWJo+wdWlmC9nQt3i0SbLQhbiAVxqgc9TSqcQf1Psnvm7DAYDe/bs4YsvvmD27NkAnD17litXSnf77tGjR+Pp6cmrr77KmTNnOHv2LJMnT0ar1TJ8+PBSvbYQQoiSa+fvRlV7+Si+PBnlfELpCMLSNR6sdAJxnxIV84cOHaJTp06MHTuWjz/+mK+//hqAn3/+mZCQEL766qtSCQng5eXFmDFjOHz4MD179iQ8PJyDBw8yZ86cfK03QgghLIOVRk2fJ72VjiFKICh1r9IRhEVTQeOBSocQ9yl2MX/69GleeOEF0tPTGTNmDF26dMl7rXHjxlStWpUPP/yQnTt3lkrQuXPn8vbbb/Pkk0/y4Ycf8v7779OoUSMmTZpUatcUQgjxeAY0ra50BFFM7VyS0CedVTqGsGQ1/gHOvkqnEPcpdjE/f/589Ho9a9euZdKkSdStWzfvtfbt27Nq1SqcnJzyRuvN6datW3z11Vc0bNiQ//3vf/To0YNevXqxdOlSatWqxYwZM8jKyjL7dYUQQjye2u4OBPk4Kx1DFMNzrtJiIx6i8SClE4hCFHsCbGRkJCEhIXh7F/6Rqbu7O6Ghofz8889mC3fXxYsXycrKIiwsDI1Gk/e8VqulR48efPDBB0RFRVGvXj2zX1tUPlu2bGHTpk1Fvv7nn38CMHHixEJf79atG127ymYaQtzVv2l1fr9yU+kY4iGapu1TOoKwZFpbCOipdApRiGKPzGdmZmJra/vAYzQaDZmZmY8d6n46nQ6AnJyC6xUbjcZ8vwpR2lxdXXF1dVU6hhDlRnhjL6y1JV5vQZShp5xvYZPwh9IxhCWrFwZ6B6VTiEIUe2S+Vq1a7N+/H6PRiFpd8C/l7Oxs9u3bh5+fn1kDAtSpUwd3d3d++OEHhg8fjl6fuzpCZmYmP/74I1WqVKFOnTpmv66onLp27Soj60KYkYO1ltCG1fjhaLTSUUQRxridhNJdlE6Ud9JiY7GKPVTSv39/zp8/zxtvvEFSUlK+1xISEpgyZQqXLl2iT58+Zg+p0Wh46623iIqKol+/fnzzzTd8/fXX9O3bl6ioKKZNm4ZWqzX7dYUQQpjHyFY1lI4gHqBFxi9KRxCWzMELarZXOoUogspkMpmKe/DUqVNZt24dKpUKvV5PZmYm1apV48aNGxiNRjp16sSCBQtQqVSlEvbgwYMsXLiQEydyJ+kEBAQwduxY2rZtW+DYyMhImjRpUio5hBBClNyALw4ScSFR6RjiPo0cU/kpawwqil0OiMqmyyxo9aLSKUQRSlTMQ+6a8qtXr+bUqVOkpKRga2uLv78/vXv3LpVR+UclxbwQQliWnWdiePZ/R5SOIe7zWe0IQq/OVTqGsFS2VWHSCdA9eN6kUE6xe+bvCg0NJTQ0tDSyCCGEqMDa+7vj7+HA2ZgUpaOIv2mdfUDpCMKStXpRCnkLJ8sLCCGEKBMqlYrn29ZUOob4m7p26TjEyqclogg2LtDseaVTiIcocmS+d+/ej3RClUrF2rVrHzmQEEKIiqtnkBdztp7lenKG0lEEML7aaVRXZWlnUYQW40Fvr3QK8RBFFvOnT59+pBOW1uRXIYQQ5Z9Wo+bZ1n7M2vRo/8YI83racFDpCMJSWTtB8xeUTiGKochi/syZM2WZQwghRCUxuLkvC3ae51aGQekolZqvTQbOsYeUjiEsVfOxuQW9sHjSMy+EEKJM2euteL6N9M4rbUK1c6iMckMlCqFzgBbjlE4hiqnIkfkdO3Y88kk7duz4yO8VQghR8Y1uU5Olv14iNiVT6SiVVkd+VTpCAXHpahb8Yc+ea3oSMtQ46Yy09MhiYqNUfOxzChy/95qOxaftOZlohVYNDV2ymdgohUauD79JuZ2t4q3DjuyM1uOsMzGgdhpjAm6jvq9beM7v9vx00YZtPeLQa8z1nVq4p0aDTRWlU4hiKrKYnzBhQon7300mEyqV6pH77YUQQlQONjoNr3Suy5trTygdpVLy1GfhGmNZS1LGpavpv9WV62kaWntm0s3XwIUUDRsuWfPLdT3fd0mghsO9gn7lnzbMOOyEu00OfWumk5qtYuNlG4Zsd+XbTgkPLeg/Pm7Pz5et6VkjndsGNXOPO+CoNTG0blreMfHpapadt+W1oJTKU8hr7aDlS0qnECVg1mJeCCGEKK4BTX34774LnI9NVTpKpTPe609U17OUjpHPgj/suZ6m4Y3gWzxT715Bve6iNa8ddOa9ow583vYmANduq5n1myO1HA0s65SAiz53/8tBtdMZtN2FD393YEnHpCKvZTLBmigb+tdKZ2azWwA8t6sK3/1pk6+Y//yUHVX0RvrXSi+Nb9kyNX0G7FyVTiFKoMhi/qWX5K5MCCFE6dGoVbweUo/RS2Sd87LWRWV5E1+3X9Hjos9hpH9avufDa2Sw4ISBfdf1GE2gVsHqKFsyclRMb3Irr5AHaFw1m9H1bpNlfPBgZGKmmjSDmnrO2XnP1a+SzW/x9zZHun5bzfd/2jKz2S20lWWGodYWWk9UOoUooRLvAPswv/76Ky1atDD3aYUQQlRAnQI8eMrPhYgLiUpHqTRcddl4xO5TOkY+OUYY0+A2VmpTgZ51AJ3aRLZRRbYR9JrcXnknnZEWHgU/XZgc9PBPehy0RtQqE2mGexdLzVZjr713Y/DpSXu87XLoWaMSjco//TrYuyudQpRQiYr55cuXs2HDBhITE8nJycFkyv1NbzKZMBgMpKSkkJGRIT3zQgghim1at/r0+nS/0jEqjbFeUahuWFaBqlFTYET+rr9uaYhKscLX3oBek9si89ctK/ydDcSlq/nomAN7ruvJMEATt2ymBKVQv8qD++V1GqjvbGBtlA3dfDO4bVCx9YqeZu65NweXUjT8EGXD7JbJaCrLqLxHQ2j5otIpxCMo9m/R7777jn//+98cPXqUmJgYoqOjiY+PJz4+nmvXrhEbG4tOp2PEiBGlmVcIxSUkJPDyyy+TkJCgdBQhKoQgH2e6N6qmdIxKI9TqsNIRis1ogn8fccRoUjHgTt96SraKNIOazBwV/be68nuClrAn0nnaK5ODMTqGbHfhRMLDxypfD07hWpqGduvc6b7JDY0aXm2cO6o//4Q9NR0NdPO9t1Ox0VTUmSoCFYTNBY3ZGzZEGSh2Mb9y5UpsbGxYtWoVv//+O0FBQYSHh3Ps2DG2b9/O008/ze3bt+nRo0dp5hVCcd988w0nTpxgyZIlSkcRosKY3r0+9nopJEqbnVUO3rF7lY5RLCYTvHXYkYMxehq6ZDPS/zYA6XdaY04laanpaOCnkHimN0lh3j+SWfCPm6QZ1Lx1+OGbHTX3yGJdaAJvNU1mNQWQ6QAAIABJREFU1lPJrAuN5wmHHM7dtGLTZWsmNkpFpYLPT9rRbLU7jVZ68PI+Z25lVcDFQZo+Az7NlE4hHlGxi/kLFy7QtWtXAgMDAQgKCuLXX3PXqK1evTrz58+natWqLFq0qHSSCmEBEhIS2Lx5MyaTic2bN8vovBBmUs3Jhte6+isdo8Ib63UBVZblrx5kMMK0Q46s+ssWH3sDC9skobuzNOTfF9p7IzgF67/dA3asnslT7pmcStJyMeXha0n62OcwtE46/WqlU+XORNp5J+xpUCWbTtUz2XNNx8fHHXim3m3mtr7J7/Fa3o10NOe3qjx7D+j4ttIpxGModjGfk5ODh4dH3mM/Pz+io6NJS8vtcdPr9bRv31765UWF9s0332A0GoHcPxMyOi+E+Qxv8QRNnpCNakpTuM7yVw5KN8D4X5xZe8GWGg4GlnRIxMPWmPe6gzb3v7VqE3WcCvbG3+2Xv1yMYv5+JxKs2H41d1QeYNVftjSoks34hrfpVD2T0fVvs/6SNanZFWh0vut/wMZZ6RTiMRS7mPfw8OD69et5j319fTGZTJw7dy7vOVtbW+Li4sybUAgLsn37dgyG3H8oDAYD27ZtUziREBWHWq3ivT6B6CrNjMOyZaPJwTduj9IxHig5S8XInS7suWZNQJVsvu2UiJedMd8xNlbgbpNDjgmMhZzDYLx7XMmb3Oced6CJWxZtqt2bCPuEw70bhhoOBowmFVdTK8gOUrU6QmA/pVOIx1TsvzFbtWrFtm3b8lpr6tevj0ajYd26dQBkZ2ezf/9+XF1lowFRcXXq1Akrq9zPdK2srOjcubPCiYSoWOp4ODCuXS2lY1RIz3pdQZWZrHSMImXmwJg9VTiWoOMp9yyWdkzE1bqwch2aumVhNKk4HKsr8NrJRC1WKhO1Chm1f5DDsVr23dDzSqOUvOcMJhU5pnuj8A9bv75csbKB7nOUTiHMoNjF/JgxY9Dr9TzzzDOsXbsWJycnwsLCWLFiBf379ycsLIyzZ89KcSMqtJEjR6JW5/6x0Wg0snqTEKVgQvva1HG3VzpGhdPbOlLpCA/00TEHjsbrCK6axeKnE/Ot+X6/uyvbfPC7Q76Wl02XrPk9QUd778x8m0kVx8fHHWjtmUkz93sbSfk5GDiRoCXnzj3F7/G5NwrV7XNKdG6L9PRr4OKndAphBsVeOsDLy4vVq1ezePFiatSoAcC0adNITExk7969qNVqunTpwosvyhqlouJydXUlJCSE9evXExISIp9ECVEKdFZq3uvbiP6fH6jgywGWHa3aRM14y22xiUtXs/x87u6rNR0NLD5d+M3cCwGp6DXQ0jOL4XVvs/ScHT02VaWLTwY30tRsvWpNVesc3nzyVomuv/eajsg4Hau65F/UoF+tdMbttWbUrir4Oeaw5i8b+tRMf+CNRrngVh9avax0CmEmKtPdnZ8eQ0pKClqtFmtra3NkMovIyEiaNGmidAxRASUkJDBz5kzefvttKeaFKEUz15/k6/0XlY5RITzrfYW3El5XOkaRtl/VM+GXh09+Ptw3BkfdvbJlbZQNy87b8meyFXZWRv5RLYtJjVLwtiu8Pacofba44m6Tw+dtbxZ4bfk5Wz47ZUdqlorOPpm83fRWOS/mVfDsZvBtoXQQYSbFLuZHjBhBnz596NWrV5HHLF26lOXLl7N582azBXxUUswLIUT5lmnIoc/CA5y8VrJRVlHQ5jo/Ue/K90rHEJag1UvQ5V2lUwgzKrLNJiMjI2/VDpPJREREBMHBwaSmFr4+bVZWFvv37+fatWulk1QIIUSlorfS8MmQJ+mxYB+pmSWbzCjuUalM1Em03BYbUYaqPwUd/6V0CmFmRRbza9as4d1389+5LVq06KGbQjVu3Ng8yYQQQlR6flXtmNW7IRO/+13pKOXWYM8baJJuKB1DKM2mCvT/GjSy03JFU+T/0cGDB3P48OG8HS6PHDlCtWrV8Pb2LnCsSqVCq9Xi7u7OuHHjSi+tEEKISqdnkDcH/kzg+yNXlI5SLg12OApJSqcQylJBr8/BqbrSQUQpKLKYV6vVzJ07N+9xvXr16NOnj6xWI4QQosz9K7wBR68kcS6m8FZPUbT6N6XFptJrOQH8Q5ROIUpJsT9rOXPmTGnmEEIIIYpko8vtn+/5yX7SsyvAGt9lpLdHLFbJ8olGpebTAjr9S+kUohSVaM/snJwc9uy5d4eflZXFnDlzGDx4MFOmTOHcuXNmDyiEEEIA1PVwYGbPBkrHKFeGO8lcg0rNwQsGLAGNVukkohQVu5iPj4+nR48ejB07Nq+P/t133+XLL7/k6NGjbNiwgcGDB/PXX3+VWlghhBCV24CmPoxqVUPpGOVGYPJepSMIpWj0MHAZOHgonUSUsmIX859++ilRUVEMGTIEvV7PrVu3+OGHH/Dy8mL37t0sW7YMo9HIp59+Wpp5hRBCVHIzwgJoW9dN6RgWL8QtAW1ylNIxhFLCPoLqst9OZVDsYn7Pnj20a9eOGTNmYG9vz549e8jOzqZPnz54enrStGlTQkNDOXToUGnmFUIIUclp1Co+GRJMbXd7paNYtFHOx5WOIJTS7HkIHqZ0ClFGil3Mx8XF4e/vn/d47969qFQq2rRpk/ecq6trkZtKCSGEEObiaK3lvyObUdVep3QUixV8W1psKiW/thDyntIpRBkqdjHv5uZGbGwsAEajkX379uHk5ERgYGDeMWfPnsXT09P8KYUQQoj7+Lra8uXIZthoNUpHsThPuyahTzyrdAxR1qo3g0ErZGOoSqbYxXxgYCCbN2/mxx9/ZObMmSQlJdGpUydUKhW3b9/mq6++4pdffqF169almVcIIYTIE+TjzLxBQahVSiexLM+5/KF0BFHWPANh6GrQS/tZZaMymUym4hx4+fJlRo4cyY0bNzCZTDg7O7NmzRq8vb2ZOXMmK1aswNfXl2XLluHu7l7auR8qMjKSJk1k4ocQQlQGSw9eZMZPJ5WOYTFOV/8PNvFS0FcaVf3hmU1gV1XpJEIBxf4cxtfXlzVr1vDzzz9jNBrp2rVrXtHepk0bvL29GTBgAI6OjqUWVgghhCjM8JY1yMg2MmvTaaWjKO4p51tSyFcmVWrAiJ+kkK/Eij0yX97IyLwQQlQ+n+3+i/c3V+4dy7+sc5BOVxYoHUOUBcfquSPyVZ5QOolQUIlnSFy5coVLly6RlZVFUfcBHTt2fOxgQgghREmNa1cLQ46ROdsq747kLTL2KR1BlAU799wReSnkK71iF/NJSUlMnjyZgwcPFnmMyWRCpVJx+rR8zCmEEEIZL3WsQ7bRxPwd55WOUuYCHW5jF/e70jFEabOpAiN+hKq1lU4iLECxi/mPPvqIAwcOUKdOHVq2bImDgwMqlSwfIIQQwvK82rkuhhwjC3f/pXSUMjXO4xSqqxWye1bcpXeEYWvBo4HSSYSFKHYxv2PHDgICAli1ahUajazpK4QQwrJNDalHjtHEF3ujlI5SZv6RfUDpCKI0aW1hyErwflLpJMKCFHud+du3b9O6dWsp5IUQQpQbb3arz5QudZWOUSbq2KXjEHtY6RiitNhUyV1H/omWSicRFqbYxXzdunWJiqo8oxtCCCEqhhc71OHD/o3Raip2a+g4zzOoTEalY4jS4FITntsONWRjTlFQsYv5cePGsXv3brZu3VqaeYQQQgiz69ekOl+NbIadruJ+utw+R1psKiTfVjB6h0x2FUUqds/8qVOn8Pf3Z+LEifj4+FCjRg10Ol2B41QqFQsWyPq2QgghLEvbum58P6Ylz/zvMHEpmUrHMStfmwycYw8pHUOYW6NBEL4ArArWW0LcVexi/pNPPsn778uXL3P58uVCj5MVboQQQliqht5OrB3XipFfRxAVd1vpOGYzvtp5VNcMSscQ5tRuGrR7XekUohwo0Wo2QgghRHnn42LLmrGtGL3kCJGXkpSOYxYd+VXpCMJcNHrotRAC+ymdRJQTxS7mvb29SzOHEEIIUWaq2OlY8XwL3tlwkmW/Fv5Jc3nhrs+maoz0y1cItq4w6FvwbaF0ElGOFHsCrBBCCFGR6KzUvNsrkI8HNsZGW34nxo73+hNVTsWaA1ApVa2bO9FVCnlRQkWOzI8YMeKRTqhSqfjmm28eOdCDJCYm8tFHH7Fz504yMjJo0KABkydPJigoqFSuJ4QQouLrHVydgGpOjFsWSVR8+eujD1FJi02559cWBiwFG2elk4hySGUymQrd97levXqPdkKVitOnTz9WqMKkpqbSv39/YmNjGTVqFI6OjixfvpyYmBhWrVpF3br5NwWJjIykSZMmZs8hhBCiYkrJyOa1VcfZfPKG0lGKrYrWwG/WY1FlpykdRTwKjQ7aT4NWE0EtzRLi0RQ5Mm9pE14XL17MhQsXWLp0Kc2aNQOgW7dudOrUiS+//JLZs2crnFAIIUR55mCt5fPhTVi09y9mbz6LwVjoWJdFGecdheqGFPLlknsD6PMFeAYqnUSUc0UW85Y04dVkMvHDDz/Qrl27vEIewM3NjalTp6LVahVMJ4QQoiJ5oW0tgn2rMHnlMS4nWnah3M3qsNIRREmp1NDyRegwHaz0SqcRFUC5+Ezn6tWrxMTE0KpVKyC3uL99O7evcejQoQwYMEDJeEIIISqYZjVc2DypDSNbPoGlbp9iZ5WDd+wepWOIh3jjVyf8V3hyNVUDzr4wcgN0+XeBQv6NN97A399foZSiPCsXxfylS5cAcHV15f3336dp06Y8+eSTdO7cmZ07dyqcTgghREVkq7NiZs+GfDu6BT4uNkrHKWCM10VUWalKxxDF1aAXjDsANVoX+vLAgQOlZVg8knJRzN+6dQuAefPmsWfPHv75z3/y/vvvY21tzYQJEzhwQNbXFUIIUTpa1nJly6S2jLCwUfpw3RGlI4jiuDsC3/kd0DsUeVhwcDA9e/Yso1CiIin2plFKysrKAnKL+i1btuDk5ARAhw4d6Ny5M3PmzMlrwRFCCCHMzVZnxTs9GxLS0JPX1xznSmK6onlsNDn4xkuLjcXz7w4p7nD+Z6WTiAqsXIzM29raAtClS5e8Qh7A0dGRDh06cPLkybweeiGEEKK0tKpVlc0T2/J8Gz+0GuWG6Ud5XUGdcVOx64uHsHOHXp/D4G9Ba12st9zfM//GG28QEhLC8ePHGTZsGI0bN6ZVq1a8++67ZGRk5HvvjRs3mDp1Ki1atCAwMJBevXqxbt06s35LwnKVi5F5Dw8PAFxcXAq85uLigslkIi0tDTs7u7KOJoQQopKx01vxz+4BDGn+BLM2nmb76Zgyz9DH+rcyv6YoBo0eWo6HNpMf2FJTXImJiTz33HOEhoYSHh7O3r17Wbp0KTqdjqlTpwIQExND//79MZlMDB8+HCcnJ3bs2MFrr71GbGwso0ePfuwcwrKVi2K+Tp066HQ6/vzzzwKvXb16Fb1eX2ihL4QQQpQWv6p2fDmyKfvOx/PvDac4G5NSJtfVqIzUSthdJtcSJVA/PHeVmio1zHbK5ORkpk+fzvDhwwEYMGAA3bp1Y/369XnF/Mcff0xWVhbr16/H3d0dgGHDhjF58mTmzZtH7969cXV1NVsmYXnKTZtNhw4d2L17N+fPn897/sqVK+zcuZOOHTui0WgUTCiEEKKy+kedqmya2IZ/92xAFdvS3/dkRLVo1GnxpX4dUUzVGsOojTBwqVkL+btCQ0PzPa5Xrx4JCQkAGI1Gtm/fTtOmTbGysiIxMTHvq0uXLmRlZbF//36zZxKWpVyMzAO89tprREREMGLECEaMGIFWq2XJkiVYW1vz6quvKh1PCCFEJaZRqxjesgbhQd7M236eZYcukWUwlsq1BtgdhcRSObUoCdfa0P6f0KA3pbnM0f2dBzqdjpycHACSkpJISUlh+/btbN++vdD3X79+vdSyCctQbor56tWrs3LlSj744AO++uorTCYTTZs2ZerUqfj4+CgdTwghhMDJRstbPQJ4oW1Nvtj7FysiLpORbb6iXqUyUTdxt9nOJx6Bozc8/ToEDQVN6ZdRanXRTRR3i/quXbsyaNCgQo+RGqniKzfFPOT+hpw/f77SMYQQQogH8nSy5u0eDZjQvjZf/nKBZb9eIjXT8NjnHeh5A03SDTMkFCVmWxX+MQmaPV/sFWpKm4uLCzY2NhgMhgJLdF+7do1Tp05hY2N5G54J8yoXPfNCCCFEeVTVXs8bofXY93p7Xu5YB0frxxtDG2L/u5mSiWKrFgS9PoNXT0GrlyymkAewsrKibdu27NmzhzNnzuR77b333mPChAkkJSUplE6UlXI1Mi+EEEKUR862Ol7tXJfn2/ix5OAllhy8SMytzBKfJyB5t9mziUJodBDQC556AXyameWUH3/8caFLaIeGhtKyZctHPu+UKVM4dOgQQ4cOZejQoXh5ebF792527drFwIEDqVOnzuPEFuWAFPNCCCFEGXGw1jKhfW3GtK3JjjOxfHvoMr+cj8Noevh7e3rEYpV8pfRDVmYOXtD0GWgyCuzdzXrqDRs2FPp8zZo1H6uY9/X1ZeXKlcyfP5+VK1eSlpaGj48Pb775Zt6SlqJiU5lMpmL8FVL+REZG0qRJE6VjCCGEEA90JTGN7w5fZuWRq8SlFD1av6bONppc+boMk1Uivq3gqedz14ovg0mtQpiTFPNCCCGEBcjOMbLtVAzfHrrM/r/iuf9f53Oe09HdjFImXEWktYXAfrmtNJ6BSqcR4pHJ7acQQghhAbQaNd0Cq9EtsBpXk9LYdOI6G45f5/jVZLpUTZRC3hysnaFOF6jXDWp3Ar2D0omEeGwyMi+EEEJYsCuJadw+v496Jz6A6CNgKp3NqCosZ1/w7w7+ofBEa2mjERWO/I4WQgghLJiPiy0075L7lRoL5zbD2Z/hr11gSFc6ngVSgVcQ+HfL/fJsqHQgIUqVjMwLIYQQ5VF2em5Bf3Ff7oj99WNgyFA6lTI0eqjxj9z2Gf9u4OildCIhyoyMzAshhBDlkdYmt3it1y33cU42xPwBV49AdGTurwl/AhVszE6jB48GuaPv1YJyf3UPAI1W6WRCKEKKeSGEEKIi0GjBKzj3i+dzn0tPgujf7hX30UcgLUHRmCViZZ1buN8t2qsFgXv9ClO4Z2VlsXz5cjZu3EhUVBQqlQpfX1+6d+/OwIEDcXAo+wm6HTp0wNvbm6VLlyp63eHDhxMdHc3OnTvLNEd5JMW8EEIIUVHZVIHaHXO/7kq8APHn4Vb0na9r935Njobs22WbUaUGe4/c1hhHL3DyyR1p9woCt/oVdsJqTEwMo0eP5vz583Tq1InevXtjMpk4evQoH3/8Md9//z1ffPEFNWvWVDqqIsaOHUt6uswJKY6K+SdECCGEEIVz8cv9Kkr6zb8V+H8r8tOTclfSKfLLdOfXnHvPqdS5y0Haut75crn33/bu4OgNDtUqbMFelKysLMaNG8fVq1f5+uuv8+0AO2zYMEaMGMELL7zA888/z4YNG7CxsVEwrTJat26tdIRyo3L96RFCCCHEg9k45355BCidpML68ccfOXnyJDNnzsxXyN/VuHFjpk2bxtSpU/nqq6948cUXFUgpygu10gGEEEIIISqTH3/8EVtbW3r37l3kMeHh4bi5ubF+/XoA3n77bQICAkhMTMx3XHp6OkFBQbz55pt5zx09epRnnnmG4OBggoODefbZZzl+/Hi+93Xo0IHp06czbdo0AgMDadu2bYFz33XkyBFGjRqVd74RI0Zw+PDhfMeYTCZWrFhBv379CA4OJjAwkJCQEBYtWsT9Cydu2rSJnj170qhRI8LCwvj1118LXHP48OF06NAh3+PnnnuOvXv30qdPHwIDA2nXrh0LFizAaMy/98KxY8cYMWIEwcHBtGnThgULFvDJJ5/g7+9f1I+7XJNiXgghhBCijOTk5HDixAkCAgLQ6/VFHqdSqWjevDkXL14kLi6OHj16kJOTw5YtW/Idt2vXLtLT0wkPDwdg//79DB8+nJSUFCZOnMi4ceO4du0aQ4cO5ciRI/neu3HjRs6cOcM///lPBgwYgIuLS4EcO3bsYPjw4Vy/fp1x48Yxbtw4rl+/zqhRo9ixY0fecXPnzuVf//oXtWvX5s033+TVV19Fr9czZ84cfvzxx7zj1q5dyyuvvIKNjQ2vvfYaLVq0YOzYscTHxz/0Z3fu3DkmTZpE8+bNmT59Oj4+PnzyySesWLEi75g//viDESNGEB0dzYQJExgwYABLliwp8wm9ZUnabIQQQgghykhycjJZWVm4ubk99Fh3d3cAYmNjadKkCd7e3mzevJnBgwfnHbNp0ybc3Nxo3rw5RqORt99+m8DAQJYtW4ZGowFy+/B79erFu+++m6+wzsjIYO7cufj6+hZ6fYPBwDvvvIOHhwdr1qzB3t4egEGDBhEWFsbMmTNp27YtAMuWLaN79+689957ee/v378/LVu2ZMuWLfTu3ZucnBw+/PBDAgMDWbp0KVpt7qpEAQEB+T5ZKEpsbCyfffZZ3oh9r169aNOmDevXr2fo0KEAfPDBB+h0OlatWpV3c9KxY0f69u370POXVzIyL4QQQghRRu62nNwttB/Eysoq7z0qlYqwsDAOHz5MQkLu8qKpqans3buXsLAw1Go1p06d4sqVK3Tq1Ink5GQSExNJTEwkIyOD9u3bc/r0aW7cuJF3fl9f3yILeYBTp05x48YNhg4dmlfIAzg6OjJs2DBiYmL4448/0Gq1HDhwgHfeeSff+5OSkrC3tyctLQ2AkydPkpCQQJ8+ffIKeYCePXvi5OT00J+HjY0N7dq1y3us1+vx8/PLG9VPTk4mIiKCnj175vuUISAgoEJPqJWReSGEEEKIMuLi4oJWq80ryB8kNjYWuDdC36NHD7744gu2bt3K4MGD2b59O5mZmfTo0QOAy5cvAzB79mxmz55d6DmvX7+Op6cnAK6urg+8/tWrVwHw8yu4+tHdJTOvXbtGcHAwWq2W3bt3s2PHDi5cuMClS5dITk4G7t3AREdHAxS4gdBoNDzxxBMPzALg7OyMWp1/HFqn0+X1zF+5cgWj0VjouWrWrMkvv/zy0GuUR1LMCyGEEEKUEZVKRXBwMCdOnCAzM7PIvnmTyURkZCQ+Pj55xXydOnXw9/fn559/ZvDgwfz888/4+fnRoEEDgLyiduLEiQQFBRV63r+vW/+wTwfun7ha2GtarRaTycRrr73Ghg0baNKkCcHBwQwcOJBmzZoxcuTIfN87QGZmZoHz3T+JtTD3F/L3MxgMQG6Bf78HzU8o76SYF0IIIYQoQz179iQiIoLvv/+eESNGFHrMjh07uHLlCuPHj8/3fI8ePfj444+5cuUK+/fvZ9y4cXmveXt7A2Bra0urVq3yve/48eMkJydjbW1d7Jx3zxcVFVXgtQsXLgDg6enJkSNH2LBhA+PHj2fixIl5xxgMBm7evImPjw9A3q8XL17Mdy6TyUR0dDR16tQpdrbCFHV+gEuXLj3WuS2Z9MwLIYQQQpShPn36EBwczJw5c9i3b1+B10+fPs2MGTOoXr06o0ePzvdaWFgYRqORWbNmkZ2dnddiA9CwYUPc3NxYunQpt2/f28k3NTWVSZMm8eabbxarV/+uBg0a4ObmxooVK0hNTc13vm+//RY3NzcaNmzIzZs3Aahdu3a+969cuZL09PS8EfOAgAC8vb1ZsWJFvt1dN27cSFJSUrFzFcXV1ZXg4GA2bNiQ1+IDue03e/fufezzWyoZmReihBISEpg5cyZvv/32Q/sNhRBCiPup1Wo++eQTxo0bx+jRo+nSpQvNmzdHo9Fw7Ngx1q9fT7Vq1Vi4cCF2dnb53lutWjWaNWvGrl27CAoKytd/rtVqmTFjBpMmTaJPnz7069cPvV7PqlWruHbtGh9++GHepNri+Pv5+vbtS79+/QBYvXo1sbGxzJ8/H7VaTXBwMPb29vzf//0f165dw9HRkUOHDrFp0yb0en3ejYVKpWLGjBlMmDCBgQMH0rdvX2JiYli+fDnOzs5m+MnC66+/zvDhw+nXrx+DBg0iKyuLpUuXPrBlqLyTkXkhSuibb77hxIkTLFmyROkoQgghyqmqVauyfPly3nnnnbzC+IMPPuDMmTNMnDiRtWvXFtl2cnc0PiwsrMBrXbt25b///S8eHh4sXLiQefPmYWdnx2effVbo8Q9z93zu7u58+umnfPHFF1SvXp0lS5bQqVOnvO9l0aJF+Pj4sHDhQj766COuXbvGRx99xJAhQ/jzzz/zVpxp3749X3zxBdbW1nz00Uds376dWbNm5evlfxzBwcF8+eWXuLi4MHfuXL799luGDx9O586dC+2lrwhUpgp6qxIZGUmTJk2UjiEqmISEBAYPHkxWVhZ6vZ5vv/1WRueFEEIICxEXF1foGv5jx47lzJkz7N69u+xDlTIZmReiBL755pu8Gfc5OTkyOi+EEEJYkAEDBvDcc8/ley4+Pp5Dhw7RqFEjhVKVLinmhSiB7du3503kMRgMbNu2TeFEQgghhLgrPDycffv2MXnyZFauXMmXX37JkCFDMBqNTJgwQel4pUImwApRAp06dWLTpk0YDAasrKzo3Lmz0pGEEEIIccfEiROpWrUqK1euZMeOHej1ep588knmz5+Pv7+/0vFKhfTMC1EC0jMvhBBCCEsibTZClICrqyshISGoVCpCQkKkkBdCCCGEoqTNRogSGjlyJBcvXixy1z4hhBBCiLIibTZCCCGEEEKUU9JmI4QQQgghRDklxbwQQgghhBDllBTzQgghhBBClFNSzAshhBBCCFFOSTEvhBBCCCFEOSXFvBBCCCGEEOWUFPNCCCGEEEKUU1LMCyGEEEIIUU5JMS+EEEIIIUQ5ZaV0gNIUGRmpdAQhhHgksoO1EEKI4lCZTCaT0iGEEEIIIYQQJSdtNkIIIYQQQpRTUswLIYQQQghRTkkxL4QQQgghRDl2tvY0AAAAG0lEQVQlxbwQQgghhBDllBTzQgghhBBClFP/D5BvZm9HamOiAAAAAElFTkSuQmCC\n", + "text/plain": [ + "'\\nax = axes[1]\\nax.axis(\"equal\")\\nresults.violation.value_counts().plot(kind=\"pie\", ax=ax, autopct=lambda x:\"%.0f %%\"%x)\\nax.set_ylabel(\"\")\\nax.set_xlabel(\"\")\\nsns.despine()\\nplt.tight_layout()'" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmsAAAFDCAYAAABlW0kiAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAAA7lElEQVR4nO3deVyVZf7/8fcBWUSBck1ERzNxwT1BxRo3xGUsd7Nv5paala02qG1T2cTYHqZ+K/lmLulEKYTkvuVWmGijbONCipW4QAqirOf3hz/OhHD0AOcczsDr+XjM4zHnvu7rPp+7u/v05l6uy2A0Go0CAACAQ3Kq6gIAAABgHmENAADAgRHWAAAAHBhhDQAAwIER1gAAABwYYQ0AAMCBEdYA1BgvvfSSHn74YYvWTUtL06xZsxQYGKjAwECFhoYqIyPDxhUCQGm1qroAALCHyMhIRUZGKjAw8JbrZmZmatKkScrLy9O0adNUWFioiIgIpaSkKDIyUq6urnaoGACuI6wBqNYKCwu1ZMkSffTRRxb3WbZsmc6ePauYmBi1atVKktS5c2dNmTJFUVFRGjdunK3KBYBSuA0KoNrKzc3VyJEjtXDhQg0fPlyNGze2qF9sbKwCAwNNQU2SgoKC1LJlS8XGxtqqXAAoE2ENQLWVm5ur7Oxsvf/++1qwYIFq1br1zYRLly4pLS1N/v7+pdr8/f119OhRW5QKAGZxGxRAtVW3bl1t3rzZopBWLD09XZLKvArXsGFDZWdnKysrS56enlarEwBuhitrAKotJyencgU1Sbpy5YokqXbt2qXa3NzcJEk5OTmVLw4ALOSQV9YOHz5s+lEEUDPk5uaqS5cuVV2GioqKbrmOk9PN/87lNwyoWWz9++WQYc3NzU3t2rWr6jIA2FFSUlJVlyBJqlOnjqTrP743Kl5WvI45/IYBNYutf7+4DQoAf+Dj4yNJOn/+fKm2c+fOycvLSx4eHvYuC0ANRlgDgD/w8vKSr6+vEhISSrUlJiaqQ4cOVVAVgJqMsAYANwgJCdH+/ft14sQJ07J9+/YpNTVVQ4cOrcLKANREDvnMGgDYS1pamuLj49WtWzc1a9ZMkjR9+nRFR0dr8uTJmjp1qnJzc7V06VL5+/tr+PDhVVwxgJqGK2sAarQDBw4oNDRUBw4cMC2rV6+eVq5cqbZt2yo8PFyff/65goODtXTpUuYFBWB3BqPRaKzqIm6UlJTEm1RADVOdzvvqtC8Abs3W5zxX1gAAABwYYQ0AAMCBEdYAAAAcGGENAADAgRHWAAAAHBhhDQAAwIER1gAAABwYYQ0AAMCBEdYAAAAcGGENAADAgRHWAAAAHBhhDQAAwIER1gAAABwYYQ0AAMCBEdYAAAAcGGENAADAgRHWAAAAHBhhDQAAwIER1gAAABwYYQ0AAMCBEdYAAAAcGGENAADAgRHWAAAAHBhhDQAAwIER1gAAABxYLXMNI0eOtMoXGAwGrV271irbAgAAqGnMhrWkpCSrfIHBYLDKdgAAAGois2FNkmbNmqVZs2ZVeOMLFy7U4sWLK9wfAACgprPpM2sGg0FGo9GWXwEAAFCtmb2ytnHjRjVo0KBSG580aZLVnn0DAACoicyGtSFDhqhJkybq0aOHevXqpZ49e6pRo0bl2rinp6c8PT0rXSQAAEBNZTasBQQE6MiRI1q3bp2ioqIkSXfeeacpuPXo0YMgBgAAYGNmw9ry5ctVWFiohIQExcfH6+DBgzp06JBWrlypVatWycnJSe3bt1evXr3Uq1cv3X333XJ1dbVn7QAAANWewVjONwBOnTqlgwcPmsJbamqqJMnFxUVdu3ZVr169NHPmzEoVlZSUpHbt2lVqGwD+u1Sn87467QuAW7P1OX/ToTvK8qc//Ul/+tOfNGrUKEnShQsXtG7dOq1du1Y//PCD4uLiKh3WAAAAcF25w1peXp4OHjyouLg4HThwQEeOHFFeXp6MRqOaNWumXr162aJOAACAGsmisJacnKy9e/dq3759OnjwoHJzc2U0GlWvXj0NGDDA9Nyar6+vresFAACoUcyGtbVr12rv3r36/vvvlZGRIaPRqNq1ayswMFBBQUHq2bOn2rZta89aAQAAahyzYe2FF16Qs7OzunTpogcffFA9e/ZUly5dVKtWue+cAgAAoIJuOt1UYWGh0tLSlJqaqp9//lnnz5+3V10AAADQTa6srV+/3vSc2vbt2xUbGyuDwaDmzZurV69eCgoKUo8ePeTt7W3PegHAYmlpaVqwYIHi4uIkSX379tXcuXNVr169m/Y7evSo3n33XR06dEhOTk4KDAxUaGio7rzzTnuUDQAlWDTOWkFBgQ4dOqQ9e/Zo//79SkhIUFFRkZycnNS2bVsFBQUpKCjIagPjMkYRUPNY+7zPzMzU6NGjlZeXp4kTJ6qwsFARERFq2rSpIiMjzf5WnTx5UqNHj1bt2rU1efJkSdJnn30mo9Go6OhoNW7c2O77AsCxOcQ4a7Vq1VJAQIACAgL07LPP6vLly9q/f7/27t2rH374QZ9++qmWLl0qV1dX3X333fq///s/mxUMAJZYtmyZzp49q5iYGLVq1UqS1LlzZ02ZMkVRUVEaN25cmf0+//xz5eTkaNWqVWrfvr0kqWfPnho7dqyWLVumOXPm2G0fAECqwDhrkuTl5aVBgwZp0KBBSk9P165du7RixQodO3ZM+/fvt3aNAFBusbGxCgwMNAU1SQoKClLLli0VGxtrNqydOXNGt99+uymoSVKnTp1022236d///rfN6waAG5UrrOXm5urIkSM6fPiwfvrpJx06dEgXL16UJHl4eKhPnz7q0aOHTQoFAEtdunRJaWlpGjRoUKk2f39/7dy502zfP/3pT9q3b58yMjJMz7b9/vvvysrKUqNGjWxVMgCYddOwlpaWpsOHD5v+l5KSosLCQtOYa926dVOPHj3Us2dPdejQQU5ON325FADsIj09XZLKfL6sYcOGys7OVlZWljw9PUu1T5s2TTt27NBzzz2nuXPnymAw6K233pKLi4sefvhhm9cOADcyG9aCgoKUmZkpSTIajXJ3d1dAQIB69OihHj16qGPHjoy5BsAhXblyRZJUu3btUm1ubm6SpJycnDLDmo+Pjx599FHNnz9fw4cPlyQ5OzsrPDy8xK1RALAXs2krOzu7RDjr3LmzXFxc7FkbAFRIUVHRLdcxdyfggw8+0JIlSxQYGKhx48apsLBQa9as0TPPPKPw8HD179/f2uUCwE2ZDWs//vijVYbhAAB7q1OnjqTrz9neqHhZ8Tp/dPnyZUVERKhDhw5atmyZnJ2dJUl/+ctfNGbMGL388su65557+G0EYFdmw9qFCxcqvFEfH58K9wWAyir+DSpr1pVz587Jy8tLHh4epdp+/vln5eXladiwYaagJkkuLi6677779Pbbb+vkyZPMiwzArsyGtf79+8tgMJR7gwaDQYmJiZUqCgAqw8vLS76+vkpISCjVlpiYqA4dOpTZr/iKWWFhYam24lurltxiBQBruuUbAh4eHurevTsvEwD4rxISEqLly5frxIkTprHW9u3bp9TUVD3yyCNl9mndurUaNWqkdevW6eGHHza9jJCbm6uoqCjdfvvtat26td32AQCkm4S1CRMmaMuWLUpPT9ehQ4fUv39/DR48WL179+ZFAwAOb/r06YqOjtbkyZM1depU5ebmaunSpfL39ze95ZmWlqb4+Hh169ZNzZo1k7Ozs1555RU99dRTGjNmjMaMGaOioiJ9/fXXOnnypGkIDwCwp1vODXro0CFt2rRJmzdv1m+//aa6detqwIABNg1uzKsH1Dy2OO9PnjypsLAw/fjjj3J3d1efPn0UGhpqGux27dq1mjdvnsLCwjRq1ChTv/3792vx4sU6cuSIJKl9+/aaOXOm/vznP1fZvgBwXLY+5y2ayL3Yv/71L23cuFFbtmxRWlqa6tatq379+mnIkCFWfUOKHzqg5qlO53112hcAt+YQE7kX69Spkzp16qTQ0FAlJCSYrrjFxMSoTp066tevnwYPHqzg4GBb1QsAAFCjVHh+KH9/fz333HPauHGjIiMj1bp1a61fv15PPvmkNesDAACo0Sr8imd2drZ27typzZs3a/fu3bp69apcXFzUq1cva9YHAABQo5UrrGVkZGjbtm3avHmzvv/+e+Xn58vd3V333HOPQkJC1L9/f9WtW9dWtQIAANQ4twxrv/76q7Zs2aItW7bo0KFDKiwslIeHhwYOHKiQkBD16dOnzMmSAQAAUHlmw9r//u//avPmzUpKSpJ0fUTw++67TyEhIcyNBwAAYCdmw9oHH3wgg8GgBg0aKDg4WD179lStWrVkNBq1e/fum250wIABVi8UAACgJrrpbVCj0ajz589rzZo1WrNmzS03ZjQaZTAYTFfjAAAAUDlmw9qsWbPsWQcAAADKQFgDAABwYGYHxZ03b562bdtWqY1v3bpV8+bNq9Q2AAAAajKzYW3dunWVfvYsOTlZUVFRldoGAABATXbTFwz27NmjrKysCm/88OHDFe4LAACAW4S1w4cPVzpwGQyGSvUHAACoycyGteXLl9uzDgAAAJTBbFgLDAy0Zx0AAAAog9kXDAAAAFD1CGsAAAAOjLAGAADgwAhrAAAADoywBgAA4MAsDmsffvihfv75ZxuWAgAAgBtZHNaWLFmiIUOG6IEHHtCqVauUmZlpy7oAAACgcoS1FStWaMyYMfr55581f/583XvvvXr88ce1efNm5eXl2bJGAACAGuum0039UUBAgAICAvTKK69o586diomJ0c6dO7V9+3Z5eXlp8ODBuv/++9W9e3db1gsAAFCjWBzWirm4uGjgwIEaOHCgsrOztXXrVu3cuVMbNmxQZGSkfHx8NGLECI0aNUpNmza1Rc0AAAA1RqXeBnVycpKLi4ucnZ1lMBhkNBr1+++/a9GiRQoJCdHLL7+sq1evWqtWAACAGqfcV9by8/O1a9curV+/Xjt37lRubq5cXFzUr18/jRw5Uvfee69OnTqlxYsX66uvvlJOTo7effddW9QOAABQ7Vkc1vbv36/169dry5YtysrKktFoVJcuXTRy5EgNHTpUnp6epnXvvPNOvfPOOzpw4IC2b99uk8IBAABqAovD2pQpUyRJTZs21YQJEzRixAg1b978pn08PT1Vv379ylUIAABQg1kc1kaPHq0RI0YoICDA4o2vW7dOLi4uFSoMAAAA5XjBoEmTJrdcZ8eOHXr55ZdNnwlqAAAAlWNxWPvoo48UFxd303V27dql6OjoShcFAACA68zeBl21apW++uqrEstWr16trVu3lrl+fn6+Tp48KV9fX+tWCAAAUIOZDWvDhw/XokWLlJGRIUkyGAy6cOGCLly4UPaGatVSkyZN9OKLL9qmUgAAgBrIbFirW7eu9u3bZ/rctm1bzZo1S7NmzbJLYQAAACjH26DLly9n+igAAAA7MxvWsrOz5erqKldXV0lS+/btTctvpW7dulYqDwAAoGYzG9YCAgL0xBNPmG57du/eXQaD4ZYbNBgMSkxMtF6FAAAANZjZsNa9e/cSb3aWZzBcAHAEaWlpWrBggWnYob59+2ru3LmqV6/eTftlZGTovffe0/bt23Xt2jX5+/tr9uzZ6tKlix2qBoCSzIa1FStW3PQzADiyzMxMTZo0SXl5eZo2bZoKCwsVERGhlJQURUZGmh7xuFF2drYeeughnTt3TpMnT5aXl5dWrVqlSZMmKTIyUn5+fnbeEwA1ncUvGBRLSkqSq6urWrVqZVr28ccfq3fv3urQoYNViwOAilq2bJnOnj2rmJgY0+9V586dNWXKFEVFRWncuHFl9vv000+VmpqqFStWmO4oDB06VMHBwVq6dKneeustu+0DAEjlmMGgoKBAc+fO1ahRo7RhwwbT8tzcXH3wwQcaO3as/vGPf9ikSAAor9jYWAUGBpb4wzIoKEgtW7ZUbGxsmX2MRqPWrVunvn37lnj0o2HDhgoNDVX37t1tXjcA3MjisLZixQpFRUWpd+/eGjBggGm5q6urVq5cqT59+ujzzz/X8uXLbVIoAFjq0qVLSktLk7+/f6k2f39/HT16tMx+Z86cUXp6uoKCgiRdD29XrlyRJD300ENmr8YBgC1ZHNa+/vprdezYUUuXLlW7du1Myw0Gg+6++24tWbJEbdu21Zo1a2xSKABYKj09XZLUuHHjUm0NGzZUdna2srKySrWdOnVKklS/fn0tWLBA3bt3V7du3TRw4EBt377dtkUDgBkWh7UzZ84oMDDQbLvBYFDPnj2VlpZmlcIAoKKKr4bVrl27VJubm5skKScnp1Tb5cuXJUkffvihdu3apRdffFELFiyQu7u7nnjiiRKzugCAvVj8goG3t7dOnjx503V++eUXeXp6VrooAKiMoqKiW67j5FT6b9W8vDxJ10Pbpk2b5O3tLUnq37+/Bg4cqHfffdd0ixQA7MXiK2v33HOPdu3apa1bt5bZvmfPHm3bto0fMgBVrk6dOpKuvwB1o+Jlxev8kYeHhyQpJCTEFNQkycvLS/3791dCQoLpqh0A2IvFV9Yef/xxbd26VU899ZSCgoLUpUsX1a1bV9nZ2Tpy5Ij27NmjunXr6qmnnrJlvQBwSz4+PpKk8+fPl2o7d+6cvLy8TMHsj4qfcStr0Nx69erJaDQqJyenzKAHALZicVhr2rSpVqxYoddee0179uzRnj17SrR36dJFr7/+upo3b271IgGgPLy8vOTr66uEhIRSbYmJiWbHhGzdurVcXV11/PjxUm1nzpyRm5vbLWc/AABrK9eguH5+flq1apXS09OVnJysy5cvy8PDQ35+fmrWrJmtagSAcgsJCdHy5ct14sQJ01hr+/btU2pqqh555JEy+3h4eKh///7atm2bjh07ptatW0u6Pm3V9u3bFRwcLGdnZ7vtAwBIksFoNBqruogbJSUllRgeBED1Z+3zPiMjQ8OGDZOzs7OmTp2q3NxcLV26VM2bN9eaNWvk6uqqtLQ0xcfHq1u3bqY/OM+cOaOxY8dKkiZOnCgXFxctX75cV69e1dq1ay36w5TfMKBmsfU5X64raxcuXNCOHTt08eJFFRYW6o85Lz8/X7///rvpRQMAqEr16tXTypUrFRYWpvDwcLm7uys4OFihoaGmeUEPHDigefPmKSwszBTCfH199eWXX+rtt99WRESEjEajunfvrtDQUO4gAKgSFl9ZS05O1oQJE3TlyhUZjUYZDAZJMgU2g8Ego9Go2267Td9//32liuKvUqDmqU7nfXXaFwC35jBX1hYuXKjs7Gw9+OCDCgwM1FtvvaUOHTpoyJAhOnHihFasWCFXV9cS84YCAACgciwOa/Hx8QoICNDf/vY3SdJ3332n1NRUDR06VJI0cOBAjRs3Tp988olmz55tm2oBAABqGIsHxc3KylKnTp1Mn/38/JScnGy6Ddq2bVv17dtX3333nfWrBAAAqKEsDmuenp6mqVgkqVmzZsrNzVVqaqppWYsWLfTrr79at0IAAIAazOLboP7+/vruu+/0/PPPy83NTXfddZeMRqPi4+N15513SpJOnz7NGER2sHDhwjIH7axqGRkZksoe/b0q3XXXXXryySerugwAACrE4rD20EMP6bHHHtPIkSM1f/583X333Wrfvr3eeecd5efn68KFC9q6dat69Ohhy3oh6fjx4zp8NEmFHo4VipxzLkqSUn/Pr+JK/sM5J6OqSwAAoFIsDmv9+vXTSy+9pA8++MA03968efM0Y8YMvf766zIajfLy8uLlAjsp9Kinq22HVnUZJdRO/laSHKqu4poAAPhvVa5BcSdMmKBx48apqKhIkhQQEKDY2Fht3bpVbm5u6tu3r2kiZAAAAFReucKaJNPI38V8fHw0ceJEqxUEAACA/yh3WIuKilJMTIySk5OVlZWl22+/XZ07d9bo0aPVp08fW9QIAABQY1kc1vLy8vToo4/q+++/l9FolLe3t5o3b67Lly9r8+bN2rJli0aMGKGwsDBb1gsAAFCjWBzWFi9erP3792vgwIGlJjT+5Zdf9I9//ENRUVHy9/fXhAkTbFJsWTZt2iRJGjRokN2+E8DNcV4CgPVYPChuTEyM2rdvrw8//LBEUJOkpk2b6v3331fr1q21Zs0aqxd5M99++62+/ZY3/gBHwnkJANZjcVi7cOGCevbsKSensrvUqlVLvXr10pkzZ6xWHAAAQE1ncVhr3bq1jh49etN1jh8/rhYtWlS2JgAAAPx/Foe1v/71rzp06JDeeOMNZWVllWr/9NNPFRcXpxdeeMGqBQIAANRkFr9g8PXXX6tFixZatWqV1q1bpzZt2qhx48a6du2aEhISdP78edWpU6fU26AGg0Fr1661euEAAAA1gcVh7ZtvvjH9/ytXrig+Pr7UOtnZ2UpKSiqxzGAwVKI8AACAms3isJacnGzLOiosMzNTFy9e1NNPP13VpdjN8ePHZSgs93jGNZIh/6qOHz9eo/79cATHjx9X/fr1q7oMAKgWLH5mDQAAAPZX7sszp06d0sWLF1VUVCSj0ShJMhqNKigo0O+//65du3ZpwYIFVi/UnNtvv1233367PvzwQ7t9Z1V7+umndfBkelWX8V/B6FJbd93ZuEb9++EIuJIJANZjcVjLyMjQo48+esvhOyTZNawBAABUZxbfBv3www915MgRtW7dWuPHj1edOnXUqVMnPfDAA+revbuMRqPq16+vdevW2bJeAACAGsXiK2u7d+9Wy5YtFRUVJScnJ128eFHXrl3Tq6++KkmKiorS3LlzdfjwYbVt29ZW9QIAANQoFl9ZO3funHr37m2abqpdu3b66aefTO0jRoxQQECAoqKirF4kAABATWVxWHN3d5ebm5vpc/PmzXX58mWlp//nQfdOnTopLS3NuhUCAADUYBbfBm3VqlWJK2ktW7aU0WhUYmKiGjduLOn6oLhXr161fpU3MXToULt+H4Bb47wEAOuxOKwNHTpUYWFhmjNnjp588km1adNGjRo1Unh4uJo3b64LFy4oNjbW7hO5Dxo0yK7fB+DWOC8BwHosvg360EMPKSQkRNHR0frxxx/l7Oysxx9/XElJSRo2bJgmT56s7OxsTZ8+3Zb1AgAA1CgWX1mrVauWwsPD9dNPP+mOO+6QJI0fP17e3t6KjY2Vm5ub7r//fvXp08dmxQIAANQ05Z7BoHPnziU+DxkyREOGDLFaQQAAAPgPi8LayZMnTdM63Sg8PFy9e/fW3XffbfXiYJ5zToZqJ39b1WWU4JxzUZIcqi7nnAxJjau6DAAAKuymYS0vL09z5szRpk2b9Oabb2rEiBEl2s+fP6/FixdryZIl6t+/vxYsWKC6devasl5Iuuuuu6q6hDJlZLhIkurVq1fFlfxRY4f95wUAgCXMhrXCwkJNmzZNcXFx8vHxKfOqWu3atfX8888rMjJS27Zt08yZM7VixQoZDAabFl3TPfnkk1VdAgAAsBOzb4OuWbNGcXFxuv/++7V58+YyXxyoW7eupk2bpujoaA0YMEAHDx7UV199ZdOCAQAAahKzYS0mJkY+Pj76+9//rlq1bv5om7u7uxYsWKDbb7+d6aYAAACsyGxYO3bsmO655x65uLhYtKG6deuqd+/eSklJsVpxAAAANZ3ZsFZYWChPT89ybaxx48YqKCiodFEAAAC4zmxYa9KkiU6fPl2ujZ0+fdo0TygAAAAqz2xYCwgI0Hfffafz589btKHz589r586datOmjdWKA4DKSEtL06xZsxQYGKjAwECFhoYqIyOjXNtITk5Whw4dtHDhQhtVCQA3ZzasjR8/Xnl5eXrqqaeUnZ19041kZ2frySefVH5+vsaPH2/1IgGgvDIzMzVp0iQdPnxY06ZN05QpU7R9+3ZNmTJFeXl5Fm2joKBA8+bNU35+vo2rBQDzzL7m2b59e82cOVNLlizR4MGD9dBDD6l3795q2bKl6tSpo0uXLun06dPas2ePVq1apYyMDI0ePVpBQUH2rB8AyrRs2TKdPXtWMTExatWqlaTr0+VNmTJFUVFRGjdu3C238fHHH+vYsWO2LhUAbuqmY3I89dRTcnFx0eLFixUeHq7w8PBS6xiNRrm4uGj69Ol69tlnbVYoAJRHbGysAgMDTUFNkoKCgtSyZUvFxsbeMqylpKRoyZIlevzxx/Xhhx/aulwAMMvsbVBJMhgMevzxx7V+/XrNmDFD7dq1U7169VSrVi01aNBAXbt21dNPP61vv/1Ws2fPlpPTTTcHAHZx6dIlpaWlyd/fv1Sbv7+/jh49etP+xbc/g4KCdP/999uqTACwiEUTubdo0ULPPvssV84A/FdIT0+XpDLfTm/YsKGys7OVlZVldniiTz/9VKdOndLixYsZjghAleNSGIBq58qVK5Kuz198Izc3N0lSTk5OmX2PHTumRYsWac6cObrjjjtsVyQAWIiwBqDaKSoquuU6ZT22UVhYqHnz5unuu++26AUEALAHi26DAsB/kzp16kiScnNzS7UVLyte548iIiKUnJysL774wjQe2+XLlyVJV69eVUZGhm677TaezwVgV4Q1ANWOj4+PJJU5qPe5c+fk5eUlDw+PUm27d+9Wfn6+xo4dW6otIiJCERER2rZtm3x9fa1fNACYQVgDUO14eXnJ19dXCQkJpdoSExPVoUOHMvvNmTPHdCWt2IULF/TXv/5Vw4cP14gRI9SwYUOb1AwA5hDWAFRLISEhWr58uU6cOGEaa23fvn1KTU3VI488UmafskLcmTNnJEnNmjVj0G8AVYKwBqBamj59uqKjozV58mRNnTpVubm5Wrp0qfz9/TV8+HBJ1+cOjY+PV7du3dSsWbMqrhgAymY2rLVr165CGzQYDEpMTKxwQQBgDfXq1dPKlSsVFham8PBwubu7Kzg4WKGhoXJ1dZUkHThwQPPmzVNYWBhhDYDDMhvW/Pz8ZDAYSiz77bffdOnSJXl6esrf31/e3t7KyclRUlKSLly4IB8fnwqHPACwtjvvvFOffvqp2fZRo0Zp1KhRN92Gr6+vUlJSrF0aAFjMbFiLjo4u8fnHH3/U1KlTNW3aND311FOmv0yl62MaLV26VOHh4XrllVdsVy0AAEANY/FgQW+//bY6deqk559/vkRQk64PLjljxgz16NFDH3zwgbVrBAAAqLEsDmvJycnq2LHjTde56667lJqaWumiAAAAcJ3FYa1+/fqKj483215QUKD9+/erSZMmVikMAAAA5Qhrw4YN008//aSXX37ZNA1LsbNnz2r27Nk6duxYmSN/AwAAoGIsHmftiSee0KFDhxQZGamvv/5aTZo0UZ06dZSdna3ffvtNRqNRgwcP1tSpU21ZLwAAQI1icVhzc3PT8uXLtXbtWsXGxiolJUXp6eny9vbWvffeq5EjR2rIkCG2rBUAAKDGKdcMBgaDQaNHj9bo0aNtVQ8AAAD+oNzTTRUUFGjv3r1KTk7WpUuXFBoaqpSUFHl4eDACOAAAgJVZ/IKBJP3www8KDg7WzJkz9f777+uzzz6TJG3YsEGDBw9WRESETYoEAACoqSwOa0lJSZoxY4auXr2qRx99VCEhIaa2zp07q0GDBnrnnXe0fft2mxQKAABQE1kc1sLDw+Xm5qa1a9fqmWeekZ+fn6mtX79+ioyMlLe3t+lqGwAAACrP4rB28OBBDR48WE2bNi2zvVGjRhoyZIiOHTtmteIAAABqOovDWm5urjw8PG66jrOzs3JzcytdFAAAAK6zOKy1atVKe/fuVVFRUZnt+fn52rNnj1q2bGm14gAAAGo6i8Pa2LFjdezYMc2dO1eZmZkl2i5evKjnn39ep06d0qhRo6xeJAAAQE1l8ThrDz74oA4dOqRvvvlGMTExcnNzkyT1799fZ8+eVVFRkYKDg/XQQw/ZrFgAAICaplyD4r711lvq16+fvvrqKyUmJqqgoEDZ2dm6++67NXLkSK6qAQAAWFm5ZzAYMmQIc4ACAADYSblmMAAAAIB9mb2yNnLkyApt0GAwaO3atRUuCAAAAP9hNqwlJSVVaIMGg6HCxQAAAKAks2EtOTnZnnUAAACgDDyzBgAA4MDMXlnbtm1bhTc6YMCACvcFAADAf5gNa0888US5nz8zGo0yGAwVft4NAAAAJVk1rAEAAMC6zIa1J5980p51AAAAoAxWf8Hg+++/t/YmAQAAaqxyTTe1atUqrV+/XhkZGSosLJTRaJR0/Vm1goICZWVl6dq1azyzBgAAYCUWh7U1a9Zo/vz5kiR3d3fl5ubK1dVVkpSbmytJ8vb21rhx42xQJgAAQM1k8W3QL7/8UrVr11ZkZKQOHz6sLl266P7779dPP/2krVu3qk+fPrpy5Yruu+8+W9YLAABQo1gc1lJTUzVo0CB17NhRktSlSxfT82m+vr4KDw9XgwYN9Mknn9imUgAAgBrI4rBWWFioxo0bmz63bNlSv/zyi3JyciRJbm5u6tevH8+rAQAAWJHFYa1x48b67bffTJ+bN28uo9Gof//736ZlHh4eOn/+vHUrBAAAqMEsDmtBQUHasmWL6dZnu3bt5OzsrG+++UaSlJ+fr71796p+/fq2qRQAAKAGsjisPfroo3Jzc9OUKVO0du1aeXt7a9iwYVq9erXGjh2rYcOGKSUlRQMHDrRlvQAAADWKxUN3+Pj46KuvvtKnn36qFi1aSJJeeOEFZWRk6LvvvpOTk5NCQkI0a9YsW9UKAABQ45RrUFxfX1+99tprps9eXl765JNPlJWVJRcXF7m7u1u9QAAAgJrM4tugEydOVFRUVJltnp6ecnd314oVKzR48GBr1QYAAFDjmb2ydu3aNRUUFEi6Pp1UXFycunbtquzs7DLXz8vL0969e/Xrr7/aplIAKKe0tDQtWLBAcXFxkqS+fftq7ty5qlev3k377d69W0uWLFFCQoKcnJzUuXNnPfPMM+rSpYsdqgaAksyGta+//lpvvPFGiWWffPLJLQe97dy5s3UqA4BKyMzM1KRJk5SXl6dp06apsLBQERERSklJUWRkpGm6vBvFxcVp+vTpat26tZ599lkVFBToiy++0IQJE/TFF1+oU6dOdt4TADWd2bD24IMP6sCBA7p48aIk6ccff1STJk3UtGnTUusaDAa5uLioUaNGeuyxx2xXLQBYaNmyZTp79qxiYmLUqlUrSdf/mJwyZYqioqLMzmP85ptvqkmTJqYp9iRpxIgRGjp0qN5//3199tlndtsHAJBuEtacnJz0wQcfmD63bdtWo0aN4m1PAP8VYmNjFRgYaApq0vXxIlu2bKnY2Ngyw9qlS5eUnJysKVOmmIKaJDVo0EABAQHau3evXWoHgD+y+G3Q5ORkW9YBAFZz6dIlpaWladCgQaXa/P39tXPnzjL71a1bVxs3biwR1IplZmbK2dnZ2qUCwC1Z/DaodH1+0F27dpk+5+Xl6d1339WDDz6o559/vsTUUwBQVdLT0yWpxHzGxRo2bKjs7GxlZWWVanN2dlaLFi1K9UtOTlZ8fLy6du1qm4IB4CYsvrJ24cIFTZw4UampqdqzZ4/q16+vN954Q5GRkTIajTp06JB27NihL7/8ssRtBwCwtytXrkhSmVfI3NzcJEk5OTny9PS0aFtz5syRJM2YMcOKVQKAZSy+srZo0SKdPHlS//M//yM3NzddvnxZ69atk4+Pj3bu3KmVK1eqqKhIixYtsmW9AHBLRUVFt1zHyenWP39Xr17VY489puTkZM2YMUOBgYHWKA8AysXiK2u7du1S37599fLLL0uSYmJilJ+fr1GjRumOO+7QHXfcoSFDhpS4TQoAVaFOnTqSpNzc3FJtxcuK1zHn8uXLevTRRxUfH6/Ro0fr2WeftX6hAGABi6+snT9/Xm3atDF9/u6772QwGHTvvfealtWvX9/soLkAYC8+Pj6Srv9u3ejcuXPy8vKSh4eH2f4XL17UxIkTFR8frwceeEB///vfZTAYbFYvANyMxVfWGjZsqHPnzkm6fothz5498vb2VseOHU3rpKSk6I477rB+lQBQDl5eXvL19VVCQkKptsTERHXo0MFs3+zsbD3yyCNKSkrS5MmTNW/ePFuWCgC3ZPGVtY4dO2rjxo2KiorSa6+9pszMTAUHB8tgMOjKlSuKiIjQ7t271bt3b1vWCwAWCQkJ0f79+3XixAnTsn379ik1NVVDhw412+/1119XUlKSJk6cSFAD4BAsvrI2e/Zs/etf/9K8efNkNBp12223mWYreOedd7R69Wo1b95cM2fOtFmxAGCp6dOnKzo6WpMnT9bUqVOVm5urpUuXyt/fX8OHD5d0fe7Q+Ph4devWTc2aNdOJEycUHR0tT09PtWvXTtHR0aW2W9wXAOzF4rDWvHlzff3119qwYYOKioo0aNAgNWrUSJJ07733qmnTpho3bpy8vLxsViwAWKpevXpauXKlwsLCFB4eLnd3dwUHBys0NNQ0L+iBAwc0b948hYWFqVmzZqYJ37OyssxeVSOsAbA3g9FoNFZ1ETdKSkpSu3btqroMAHZUnc776rQvAG7N1ue8xVfWiqWlpenUqVPKy8uTuZw3YMCAShcGAACAcoS1zMxMzZ49W/v37ze7jtFolMFgUFJSklWKAwAAqOksDmvvvfee9u3bp9atW6tXr17y9PRk3CEAAAAbszisbdu2Te3bt1dkZKScnZ1tWRMAAAD+P4vHWbty5Yp69+5NUAMAALAji8Oan5+fTp48actaAAAAcAOLw9pjjz2mnTt3avPmzbasBwAAAH9g8TNriYmJatOmjZ5++mk1a9ZMLVq0MA0s+UcGg0ELFy60apEAAAA1lcVh7aOPPjL9/9OnT+v06dNlrscbogAAANZTrrdBAQAAYF8Wh7WmTZvasg4AAACUweIXDAAAAGB/Zq+sTZw4sUIbNBgM+vzzzytcEAAAAP7DbFiLi4ur0AZ5wQAAAMB6zIY1XigAAACoembDGi8UAAAAVD1eMAAAAHBghDUAAAAHRlgDAABwYIQ1AAAAB0ZYAwAAcGCENQAAAAdGWAMAAHBghDUAAAAHRlgDAABwYIQ1AAAAB0ZYAwAAcGCENQAAAAdGWAMAAHBghDUAAAAHRlgDAABwYIQ1AAAAB0ZYAwAAcGCENQAAAAdGWAMAAHBghDUAAAAHRlgDAABwYIQ1AAAAB0ZYAwAAcGCENQDVVlpammbNmqXAwEAFBgYqNDRUGRkZNusHALZQq6oLAABbyMzM1KRJk5SXl6dp06apsLBQERERSklJUWRkpFxdXa3aDwBshbAGoFpatmyZzp49q5iYGLVq1UqS1LlzZ02ZMkVRUVEaN26cVfsBgK1wGxRAtRQbG6vAwEBT4JKkoKAgtWzZUrGxsVbvBwC2QlgDUO1cunRJaWlp8vf3L9Xm7++vo0ePWrUfANgSYQ1AtZOeni5Jaty4cam2hg0bKjs7W1lZWVbrBwC2RFgDUO1cuXJFklS7du1SbW5ubpKknJwcq/UDAFtyyBcMcnNzlZSUVNVlALCj3Nxcq22rqKjolus4OZX+W7Wi/W7EbxhQs1jz96ssDhnWunTpUtUlAPgvVqdOHUll/4AWLytexxr9bsRvGABr4jYogGrHx8dHknT+/PlSbefOnZOXl5c8PDys1g8AbImwBqDa8fLykq+vrxISEkq1JSYmqkOHDlbtBwC2RFgDUC2FhIRo//79OnHihGnZvn37lJqaqqFDh1q9HwDYisFoNBqruggAsLaMjAwNGzZMzs7Omjp1qnJzc7V06VI1b95ca9askaurq9LS0hQfH69u3bqpWbNmFvcDAHsirAGotk6ePKmwsDD9+OOPcnd3V58+fRQaGqp69epJktauXat58+YpLCxMo0aNsrgfANgTYQ0AypCWlqYFCxYoLi5OktS3b1/NnTv3loHN0n4V3b49VLS23bt3a8mSJUpISJCTk5M6d+6sZ555ptTbsWPGjNGRI0dK9R80aJDCw8Otth8VVdH9t3S/qtOxP3PmjAYMGHDTbS5fvlw9evSQ5PjH/o9eeuklnTp1SitWrLjlurY+7wlrAHCDzMxMjR49Wnl5eZo4caIKCwsVERGhpk2bKjIy0uytUEv7VXT79lDR2uLi4jRx4kS1bt1ao0ePVkFBgb744gudO3dOX3zxhTp16iRJMhqN6tatm4KCghQSElJiG02bNlX37t1tvo83U9H9t3S/qtuxz8nJ0ZYtW0otz83N1fz581W/fn1FR0fL29vb4Y/9H0VGRuqll15SYGDgLcOaXc57IwCghPfee8/Yrl074/Hjx03L9u7da/Tz8zP+85//rHS/im7fHipa2/Dhw419+/Y15uTkmJadP3/eGBAQYJw8ebJp2enTp41+fn7Gr7/+2jY7UEkV3X9L96s6HvuyvPHGG8a2bdsaDxw4YFrm6MfeaDQaCwoKjAsXLjS2adPG6OfnZ5wwYcIt+9jjvOdtUAC4QWxsrAIDA9WqVSvTsqCgILVs2VKxsbGV7lfR7dtDRWq7dOmSkpOTNXjw4BJTdTVo0EABAQE6dOiQadnx48clqcT2HUlFj42l+1Xdjn1ZUlJStHLlSo0cObLE1TJHP/a5ubkaOXKkFi5cqOHDh5c5R3BZ7HHeE9aguXPnqk2bNjadHqewsFArV66s8LyKCxcuVJs2bbR161bTsjZt2mj48OHWKtFk+PDhatOmjdW3i/8Oly5dUlpamvz9/Uu1+fv76+jRo5XqV9Ht20NFa6tbt642btyoyZMnl2rLzMyUs7Oz6fOxY8ck/ec/2I4012pljo0l+1Udj31Z3n//fbm7u+uZZ54psdyRj710PaxlZ2fr/fff14IFC1Sr1q0nebLXeU9Yg4KDgzVr1iw1aNDAZt8xe/ZszZ8/XwUFBTb7DsAa0tPTJanMv6obNmyo7OxsZWVlVbhfRbdvDxWtzdnZWS1atCjVLzk5WfHx8eratatp2bFjx1SnTh2FhYWpa9eu6tq1q4KDg6v8qpJU8f2XLNuv6njsb5ScnKwdO3Zo/PjxatSoUYk2Rz720vU/OjZv3lyu8RTtdd475NygsK/g4GAFBwfb9DsuXrxo0+0D1nLlyhVJKnE7r5ibm5uk61cEPD09K9Svotu3B2vWduXKFc2ZM0eSNGPGDNPy48eP68qVK8rKytJbb72ly5cva/ny5XruueeUn5+vESNGWGFPKqYy+2/JftWEY7969Wo5OztrwoQJpdoc+dhLkpOTk5ycyncNy17nPWENAP6gqKjoluuU9YNuab+Kbt8erFXb1atX9dhjjyk5OVmPPvqoAgMDTW3jxo1TUVGRHnroIdOyv/zlLxo2bJjefvtt3XfffSVum9pTZfbfkv2q7sf+2rVr+uabb9S/f381bdq0VLsjH/uKstd5z21QlHhm7cyZM2rTpo0WLlyobdu2acyYMerUqZN69eqll156SRkZGSX6njp1Sk8//bT69eunDh06qH///nr11VdLTITdpk0b05gyAQEBevjhh01tv/zyi/72t78pODhYHTt2VNeuXTVq1CitXr26QvtiNBq1evVqjRw5Up06dVJAQIBmzpypxMTEUuteu3ZN7733nvr3769OnTpp3LhxOnDgQIW+F9VHnTp1JF1/fuVGxcuK16lIv4pu3x6sUdvly5c1depU/fDDDxo9erSeffbZEu0PPvhgif9YS5K7u7uGDx+uCxcumB5CrwqV2X9L9qu6H/sffvhBOTk5Gjx4cJntjnzsK8pe5z1X1lCmHTt2aPHixerbt6969OihvXv3KjIyUmfOnNGyZcskXZ+WZ/LkycrMzNSgQYPUqFEjpaSkaPXq1frhhx/0zTffyMXFRbNmzdK6dev0yy+/aPr06brzzjslXR9MccyYMbp69aoGDhyoJk2aKD09XZs2bdKrr76qwsLCMi+l38ycOXMUHR2t1q1ba/z48bp69ao2bNig8ePH6+OPP1avXr0kXf9raPr06YqLi1OnTp00cOBAHTlyRFOnTi3zMjVqDh8fH0kq8QdHsXPnzsnLy0seHh4V7lfR7dtDZWu7ePGiHnnkESUlJemBBx7Qa6+9JoPBYNF3Fw8KWpUPndvi2Pxxv4ofrK+Ox16Sdu3aJRcXF/Xt27dc3+0Ix76i7HXeE9ZQpoSEBH3wwQcaMmSIJOmZZ57RyJEjtX//fp0+fVrNmzfXt99+q19//VVvvvmmRo8eber7+uuva9WqVdq7d6/69u2rJ598UnFxcfrll180Y8YMeXl5SZI++eQTZWZm6rPPPlNQUJCp/4QJEzR27FitX7++XGFtw4YNio6O1rBhw0q8yTNjxgyNGTNGc+bM0datW+Xq6qp169YpLi5Oo0eP1htvvGG6/PzWW28pIiKi0v/88N/Ly8tLvr6+SkhIKNWWmJioDh06VKpfRbdvD5WpLTs72xTUJk+erHnz5pVaJz09XVOnTtWQIUM0a9asEm2pqamSJF9f30ruRcVVdP8t3a/qeuyLxcfHq2PHjqpbt26pNkc/9hVlr/Oe26AoU7NmzUxBTZJcXFxMV6V+/vlnSf+5V//TTz+psLDQtO6zzz6rPXv23PKvq/vvv19///vfSwQ1SerUqZPc3d3L/VLCV199JUl68cUXS7xy3axZM40fP17p6enat2+fpOvj3RgMBs2ePbvEcwLPPPNMlTzcC8cSEhKi/fv368SJE6Zl+/btU2pq6k3fFLO0X0W3bw8Vre31119XUlKSJk6cWGZQk66/CZeVlaXIyEhlZ2eblv/2229au3atevTooYYNG1pvZyqgIvtfnv2qjsdekvLz83X8+HG1b9++zPb/hmNfUfY477myhjK1aNGi1LLiEJOXlyfp+lxuixYt0j//+U9t3rxZ99xzj/785z+rT58+Fp103bt3V/fu3fX7778rKSlJp0+fVmpqqg4fPqzc3NwSAdASCQkJcnNz06pVq0q1Ff/llpSUpL59+yo5OVk+Pj6qX79+ifVcXV3l7++v77//vlzfjepl+vTpio6O1uTJkzV16lTl5uZq6dKl8vf3N43tl5aWpvj4eHXr1k3NmjWzuF951qsKFdn3EydOKDo6Wp6enmrXrp2io6NLbbe47yuvvKInnnhC48eP19ixY3XlyhWtWrVKtWrV0t/+9je77mtZKnrsLd2v6nbsi/3222/Kz89XkyZNzG7f0Y+9JarqvCesoUxlzVF247MnjRs31ldffaUlS5Zo27ZtiomJUUxMjFxcXDRq1Ci9+OKLpleSy3Lp0iWFhYVp/fr1ys/Pl8FgUNOmTdWzZ88yXwi4laysLBUUFOijjz666XdK1x+CvjGoFfP29i73d6N6qVevnlauXKmwsDCFh4fL3d1dwcHBCg0NNZ0bBw4c0Lx58xQWFmb60bakX3nWqwoV2ffiF4iysrLMXlUr/o9RcHCwFi1apI8//ljvvPOO3N3dFRgYqOeee84hRrav6LG3dL+q27Ev9vvvv0tSmbdAizn6sbdElZ335Z85C9XNnDlzjH5+fsbExERjWlqa0c/Pz/jYY4+VWi88PNzo5+dn3LJlS6m2goIC4+HDh40LFy409uvXz+jn52d86623TO0TJkww+vn5GS9dumRaNn36dKOfn5/xlVdeMR48eNCYlZVlauvYsaOxX79+N/1uPz8/4/3332/63L17d2OfPn0s2udevXqZXfeRRx4x+vn5WbQdAABsjWfWUGHbtm3Tq6++quzsbDk7O6tz586aNWuW6TbkwYMHzfa9fPmydu3apQ4dOui1115Tt27dTH+RnTlzRrm5uTIajeWqp02bNjp79myZb9vs2LFD77//vpKTkyVdn97jt99+06+//lpivcLCQptOuwUAQHkR1lBhJ0+e1OrVq0uNifbLL79I+s8rzdL1FxSk6w+hFn92cnLS5cuXTc/ASdfHPps/f36JdS01cuRIGY1GzZ8/v8Q2z507p1dffVWffPKJ6dXokSNHSpL+8Y9/lPieiIgIXbhwoVzfCwCALfHMGips3Lhx+vLLL/XOO+8oLi5Obdq00cWLF7Vx40Z5eHiUmGKmeD60F154Qb1799bEiRM1cOBAbdq0SWPHjlXv3r2Vk5OjHTt26MKFC/L29lZWVpaKioosHtF71KhR2r59uzZt2qSUlBTde++9Kigo0IYNG/T7779r9uzZat68uSRp6NCh2rRpkzZu3KjU1FT16tVLx48f1/fff6+mTZuaAicAAFWNK2uoMG9vb61cuVIPPvigfv75Z33++efauXOn/vznP+vLL79U27ZtTevOnDlTnTt31t69e023Sd98801NmjRJWVlZWrlypXbv3q2OHTtq9erVGjFihK5du6YffvjB4noMBoPCw8P14osvqnbt2oqMjNSGDRt01113adGiRSXCoyS99957ev7555WXl6fVq1fr/Pnz+uijj0rUDQBAVTMYy/tgEAAAAOyGK2sAAAAOjLAGAADgwAhrAAAADoywBgAA4MAIawAAAA6MsAYAAODACGsAAAAOjLAGAADgwAhrAAAADoywBgAA4MD+H5pGlVfTbS1pAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] @@ -191,13 +213,13 @@ "\n", "import seaborn as sns\n", "sns.set_style(\"whitegrid\", {'axes.grid' : False})\n", - "\n", + "\"\"\"\n", "fig, axes = plt.subplots(nrows=1, ncols=2, figsize=(10,5))\n", "ax = axes[0]\n", "sns.boxplot(results.installed, width=.1, ax=ax, orient=\"v\")\n", "ax.set_xticklabels([\"\"])\n", "ax.set_ylabel(\"Installed Capacity [MW]\")\n", - "\n", + "\"\"\"\n", "ax = axes[1]\n", "ax.axis(\"equal\")\n", "results.violation.value_counts().plot(kind=\"pie\", ax=ax, autopct=lambda x:\"%.0f %%\"%x)\n", @@ -233,7 +255,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.5.5" + "version": "3.8.5" } }, "nbformat": 4, From 0787e79c8af3f273de8066e3a9f1070a1cd8b556 Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Thu, 11 Nov 2021 18:02:04 +0100 Subject: [PATCH 292/422] revise github_test_action.yml and package requirements --- .github/workflows/github_test_action.yml | 4 +-- pandapower/io_utils.py | 2 +- pandapower/plotting/generic_geodata.py | 28 +++++++------------- pandapower/plotting/geo.py | 33 +++++++++++++++++++++++- pandapower/test/api/test_auxiliary.py | 2 -- pandapower/test/api/test_file_io.py | 20 +++++++++----- setup.py | 13 +++++++--- 7 files changed, 67 insertions(+), 35 deletions(-) diff --git a/.github/workflows/github_test_action.yml b/.github/workflows/github_test_action.yml index 41256f0e1..46279953a 100644 --- a/.github/workflows/github_test_action.yml +++ b/.github/workflows/github_test_action.yml @@ -33,9 +33,7 @@ jobs: python -m pip install --upgrade pip python -m pip install pytest if [ -f requirements.txt ]; then pip install -r requirements.txt; fi - pip install . - pip install matplotlib python-igraph - pip install ortools + pip install .["all"] if ${{ matrix.python-version == '3.7' }}; then python -m pip install pypower; fi if ${{ matrix.python-version != '3.6' }}; then python -m pip install numba; fi - name: Install Julia diff --git a/pandapower/io_utils.py b/pandapower/io_utils.py index b9d8230ff..97208c00c 100644 --- a/pandapower/io_utils.py +++ b/pandapower/io_utils.py @@ -2,6 +2,7 @@ # Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. + import copy import importlib import json @@ -57,7 +58,6 @@ import fiona import fiona.crs import geopandas - GEOPANDAS_INSTALLED = True except ImportError: GEOPANDAS_INSTALLED = False diff --git a/pandapower/plotting/generic_geodata.py b/pandapower/plotting/generic_geodata.py index f82a710f3..e5eaa1e43 100644 --- a/pandapower/plotting/generic_geodata.py +++ b/pandapower/plotting/generic_geodata.py @@ -3,13 +3,14 @@ # Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. - +import sys import copy import networkx as nx import pandas as pd import numpy as np +from pandapower.auxiliary import soft_dependency_error import pandapower.topology as top try: @@ -41,14 +42,9 @@ def build_igraph_from_pp(net, respect_switches=False, buses=None): :Example: graph, meshed, roots = build_igraph_from_pp(net) """ - try: - import igraph as ig - except (DeprecationWarning, ImportError): - raise ImportError("Please install python-igraph with " - "`pip install python-igraph` or " - "`conda install python-igraph` " - "or from https://www.lfd.uci.edu/~gohlke/pythonlibs") - g = ig.Graph(directed=True) + if not IGRAPH_INSTALLED: + soft_dependency_error(str(sys._getframe().f_code.co_name)+"()", "python-igraph") + g = igraph.Graph(directed=True) bus_index = net.bus.index if buses is None else np.array(buses) nr_buses = len(bus_index) g.add_vertices(nr_buses) @@ -111,9 +107,9 @@ def _get_element_mask_from_nodes(net, element, node_elements, nodes=None): for node_element in node_elements: mask &= np.isin(net[element][node_element].values, nodes) return mask - + def _get_switch_mask(net, element, switch_element, open_switches): - element_switches = net.switch.et.values == switch_element + element_switches = net.switch.et.values == switch_element open_elements = net.switch.element.values[open_switches & element_switches] open_element_mask = np.in1d(net[element].index, open_elements, invert=True) return open_element_mask @@ -195,11 +191,7 @@ def create_generic_coordinates(net, mg=None, library="igraph", _prepare_geodata_table(net, geodata_table, overwrite) if library == "igraph": if not IGRAPH_INSTALLED: - raise UserWarning("The library igraph is selected for plotting, but not installed " - "correctly. Please install python-igraph with " - "`pip install python-igraph` or " - "`conda install python-igraph` " - "or from https://www.lfd.uci.edu/~gohlke/pythonlibs") + soft_dependency_error("build_igraph_from_pp()", "python-igraph") graph, meshed, roots = build_igraph_from_pp(net, respect_switches, buses=buses) coords = coords_from_igraph(graph, roots, meshed) elif library == "networkx": @@ -223,10 +215,10 @@ def _prepare_geodata_table(net, geodata_table, overwrite): net[geodata_table].drop(net[geodata_table].index, inplace=True) else: raise UserWarning("Table %s is not empty - use overwrite=True to overwrite existing geodata"%geodata_table) - + if geodata_table not in net or net[geodata_table] is None: net[geodata_table] = pd.DataFrame(columns=["x", "y"]) - + def fuse_geodata(net): mg = top.create_nxgraph(net, include_lines=False, include_impedances=False, respect_switches=False) diff --git a/pandapower/plotting/geo.py b/pandapower/plotting/geo.py index d7d898436..cdbbd1ee2 100644 --- a/pandapower/plotting/geo.py +++ b/pandapower/plotting/geo.py @@ -1,9 +1,30 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + +import sys +from numpy import array + +from pandapower.auxiliary import soft_dependency_error + try: from shapely.geometry import Point, LineString + shapely_INSTALLED = True +except ImportError: + shapely_INSTALLED = False + +try: from geopandas import GeoDataFrame, GeoSeries + geopandas_INSTALLED = True +except ImportError: + geopandas_INSTALLED = False + +try: from pyproj import Proj, transform + pyproj_INSTALLED = True except ImportError: - pass + pyproj_INSTALLED = False def _node_geometries_from_geodata(node_geo, epsg=31467): @@ -17,11 +38,19 @@ def _node_geometries_from_geodata(node_geo, epsg=31467): :type epsg: int, default 31467 (= Gauss-Krüger Zone 3) :return: node_geodata - a geodataframe containing the node_geo and Points in the geometry column """ + missing_packages = array(["shapely", "geopandas"])[~array([ + shapely_INSTALLED, geopandas_INSTALLED])] + if len(missing_packages): + soft_dependency_error(str(sys._getframe().f_code.co_name)+"()", missing_packages) geoms = [Point(x, y) for x, y in node_geo[["x", "y"]].values] return GeoDataFrame(node_geo, crs=f"epsg:{epsg}", geometry=geoms, index=node_geo.index) def _branch_geometries_from_geodata(branch_geo, epsg=31467): + missing_packages = array(["shapely", "geopandas"])[~array([ + shapely_INSTALLED, geopandas_INSTALLED])] + if len(missing_packages): + soft_dependency_error(str(sys._getframe().f_code.co_name)+"()", missing_packages) geoms = GeoSeries([LineString(x) for x in branch_geo.coords.values], index=branch_geo.index, crs=f"epsg:{epsg}") return GeoDataFrame(branch_geo, crs=f"epsg:{epsg}", geometry=geoms, index=branch_geo.index) @@ -66,6 +95,8 @@ def _convert_xy_epsg(x, y, epsg_in=4326, epsg_out=31467): :type epsg_out: int, default 31467 (= Gauss-Krüger Zone 3) :return: transformed_coords - x and y values in new coordinate system """ + if not pyproj_INSTALLED: + soft_dependency_error(str(sys._getframe().f_code.co_name)+"()", "pyproj") in_proj = Proj(init='epsg:%i' % epsg_in) out_proj = Proj(init='epsg:%i' % epsg_out) return transform(in_proj, out_proj, x, y) diff --git a/pandapower/test/api/test_auxiliary.py b/pandapower/test/api/test_auxiliary.py index d515b5805..fe79b7053 100644 --- a/pandapower/test/api/test_auxiliary.py +++ b/pandapower/test/api/test_auxiliary.py @@ -3,7 +3,6 @@ # Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. - import pytest import gc import copy @@ -13,7 +12,6 @@ try: import geopandas as gpd import shapely.geometry - GEOPANDAS_INSTALLED = True except ImportError: GEOPANDAS_INSTALLED = False diff --git a/pandapower/test/api/test_file_io.py b/pandapower/test/api/test_file_io.py index f37b7f7fb..1eb138034 100644 --- a/pandapower/test/api/test_file_io.py +++ b/pandapower/test/api/test_file_io.py @@ -2,6 +2,7 @@ # Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. + import copy import json import os @@ -21,8 +22,14 @@ try: import geopandas as gpd + GEOPANDAS_INSTALLED = True +except ImportError: + GEOPANDAS_INSTALLED = False +try: + import shapely + SHAPELY_INSTALLED = True except ImportError: - pass + SHAPELY_INSTALLED = False @pytest.fixture(params=[1]) @@ -74,14 +81,16 @@ def test_json_basic(net_in, tmp_path): def test_json_controller_none(): try: - pp.from_json(os.path.join(pp_dir, 'test', 'test_files', 'controller_containing_NoneNan.json'), convert=False) + pp.from_json(os.path.join(pp_dir, 'test', 'test_files', + 'controller_containing_NoneNan.json'), convert=False) except: raise (UserWarning("empty net with controller containing Nan/None can't be loaded")) def test_json(net_in, tmp_path): filename = os.path.join(os.path.abspath(str(tmp_path)), "testfile.json") - try: + + if GEOPANDAS_INSTALLED and SHAPELY_INSTALLED: net_geo = copy.deepcopy(net_in) # make GeodataFrame from shapely.geometry import Point, LineString @@ -101,8 +110,6 @@ def test_json(net_in, tmp_path): # assert isinstance(net_out.bus_geodata, gpd.GeoDataFrame) assert isinstance(net_out.bus_geodata.geometry.iat[0], Point) assert isinstance(net_out.line_geodata.geometry.iat[0], LineString) - except (NameError, ImportError): - pass # check if restore_all_dtypes works properly: net_in.line['test'] = 123 @@ -371,7 +378,7 @@ def test_elements_to_deserialize_wo_keep(tmp_path): assert_net_equal(net, net_select, name_selection=['bus', 'load']) -@pytest.mark.skipif('geopandas' not in sys.modules, reason="requires the GeoPandas library") +@pytest.mark.skipif(GEOPANDAS_INSTALLED, reason="requires the GeoPandas library") def test_empty_geo_dataframe(): net = pp.create_empty_network() net.bus_geodata['geometry'] = None @@ -380,5 +387,6 @@ def test_empty_geo_dataframe(): net1 = pp.from_json_string(s) assert assert_net_equal(net, net1) + if __name__ == "__main__": pytest.main([__file__, "-s"]) diff --git a/setup.py b/setup.py index 37ae9cd6d..60659d35d 100644 --- a/setup.py +++ b/setup.py @@ -47,13 +47,18 @@ "scipy<=1.6.0", "numpy>=0.11", "packaging"], - # optional_requirer=["matplotlib", "geopandas", "xlsxwriter", "openpyxl", "shapely", - # "base64", "hashlib", "cryptography", "zlib"] extras_require={ "docs": ["numpydoc", "sphinx", "sphinx_rtd_theme"], - "plotting": ["plotly", "matplotlib", "python-igraph"], + "plotting": ["plotly", "matplotlib", "python-igraph", "geopandas", "shapely", "pyproj", "base64", "hashlib", "zlib"], "test": ["pytest", "pytest-xdist"], - "performance": ["ortools"]}, + "performance": ["ortools"], + "fileio": ["xlsxwriter", "openpyxl", "cryptography", "fiona", "geopandas"], + "all": ["numpydoc", "sphinx", "sphinx_rtd_theme", + "plotly", "matplotlib", "python-igraph", "geopandas", "shapely", "pyproj", "base64", "hashlib", "zlib", + "pytest", "pytest-xdist", + "ortools", + "xlsxwriter", "openpyxl", "cryptography", "fiona" # , "geopandas" already above + ]}, packages=find_packages(), include_package_data=True, classifiers=classifiers From 087a94569fb51e2f1479e21301f4576eb3c641df Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Thu, 11 Nov 2021 18:12:47 +0100 Subject: [PATCH 293/422] add ieee_european_lv_asymmetric() to docs --- doc/networks.rst | 4 ++-- doc/networks/3phase_grids.rst | 5 +++++ pandapower/networks/ieee_europen_lv_asymmetric.py | 4 +++- 3 files changed, 10 insertions(+), 3 deletions(-) create mode 100644 doc/networks/3phase_grids.rst diff --git a/doc/networks.rst b/doc/networks.rst index 5c19d0467..f3d4497f8 100644 --- a/doc/networks.rst +++ b/doc/networks.rst @@ -8,7 +8,7 @@ Besides creating your own grids using pandapower functions, pandapower provides benchmark grids through the networks module. The pandapower networks module contains example grids, simple test grids, randomly generated -grids, CIGRE test grids, IEEE case files and synthetic low voltage grids from Georg Kerber, Lindner et. al. and Dickert et. al. +grids, CIGRE test grids, IEEE case files (including 3-phase grids) and synthetic low voltage grids from Georg Kerber, Lindner et. al. and Dickert et. al. If you want to evaluate your algotihms on benchmark grids with corresponding full-year load, generation, and storage profiles or want to publish your results in a reproducible manner, we recommend the SimBench repository (`Homepage `_, `GitHub Repository to use SimBench with pandapower `_). @@ -26,4 +26,4 @@ You can find documentation for the individual network modules of pandapower here networks/kerber networks/synthetic_voltage_control_lv_networks networks/dickert_lv_networks - + networks/3phase_grids diff --git a/doc/networks/3phase_grids.rst b/doc/networks/3phase_grids.rst new file mode 100644 index 000000000..e8fd8ec98 --- /dev/null +++ b/doc/networks/3phase_grids.rst @@ -0,0 +1,5 @@ +============================================= +3-Phase Grid Data +============================================= + +.. autofunction:: pandapower.networks.ieee_european_lv_asymmetric diff --git a/pandapower/networks/ieee_europen_lv_asymmetric.py b/pandapower/networks/ieee_europen_lv_asymmetric.py index 3e6e71ed2..4605927d4 100644 --- a/pandapower/networks/ieee_europen_lv_asymmetric.py +++ b/pandapower/networks/ieee_europen_lv_asymmetric.py @@ -14,7 +14,9 @@ def ieee_european_lv_asymmetric(scenario="on_peak_566"): """ Loads the IEEE European LV network, a generic 0.416 kV network serviced by one 0.8 MVA MV/LV transformer station. The network supplies 906 LV buses and 55 1-PH loads - The network layout is mostly radial + The network layout is mostly radial. + + The data source can be found at https://cmte.ieee.org/pes-testfeeders/resources/ The network can be loaded with three different scenarios for On-Peak and Off-Peak load which are defined by scaling factors for loads / generators. From 4dfa137bef96aa1b029437b776bd732346507bec Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Thu, 11 Nov 2021 20:00:30 +0100 Subject: [PATCH 294/422] refactoring: defined a separate function to read vk_percent, vkr_percent and apply characteristics; utilized the characteristics for trafo3w, similarly to trafo --- pandapower/build_branch.py | 76 +++--- pandapower/control/util/auxiliary.py | 25 +- tutorials/Tap dependent impedance.ipynb | 329 ++++++++++++++++++++++-- 3 files changed, 369 insertions(+), 61 deletions(-) diff --git a/pandapower/build_branch.py b/pandapower/build_branch.py index 54116bb11..16ccbdff5 100644 --- a/pandapower/build_branch.py +++ b/pandapower/build_branch.py @@ -408,6 +408,46 @@ def _replace_nan(array, value=0): array[mask] = value return array + +def _get_vk_values(trafo_df, characteristic, trafotype="2W"): + if trafotype == "2W": + vk_variables = ("vk_percent", "vkr_percent") + elif trafotype == "3W": + vk_variables = ("vk_hv_percent", "vkr_hv_percent", "vk_mv_percent", "vkr_mv_percent", "vk_lv_percent", "vkr_lv_percent") + else: + raise UserWarning("Unknown trafotype") + + if "tap_dependent_impedance" in trafo_df: + tap_dependent_impedance = get_trafo_values(trafo_df, "tap_dependent_impedance") + tap_pos = get_trafo_values(trafo_df, "tap_pos") + else: + tap_dependent_impedance = False + tap_pos = None + + use_tap_dependent_impedance = np.any(tap_dependent_impedance) + + if use_tap_dependent_impedance and characteristic is None: + raise UserWarning("tap_dependent_impedance of transformers requires net.characteristic") + + vals = () + + for vk_var in vk_variables: + vk_value = get_trafo_values(trafo_df, vk_var) + if use_tap_dependent_impedance: + vals += (_calc_tap_dependent_value(trafo_df, tap_pos, vk_value, vk_var, tap_dependent_impedance, characteristic),) + else: + vals += (vk_value,) + + return vals + + +def _calc_tap_dependent_value(trafo_df, tap_pos, value, variable, tap_dependent_impedance, characteristic): + vk_characteristic_idx = get_trafo_values(trafo_df, f"{variable}_characteristic") + vk_characteristic = characteristic.loc[vk_characteristic_idx[tap_dependent_impedance], 'object'].values + return np.where(tap_dependent_impedance, + [c(t).item() if f else None for f, t, c in zip(tap_dependent_impedance, tap_pos, vk_characteristic)], value) + + def _calc_r_x_from_dataframe(mode, trafo_df, vn_lv, vn_trafo_lv, sn_mva, sequence=1, characteristic=None): """ Calculates (Vectorized) the resitance and reactance according to the @@ -415,30 +455,7 @@ def _calc_r_x_from_dataframe(mode, trafo_df, vn_lv, vn_trafo_lv, sn_mva, sequenc """ parallel = get_trafo_values(trafo_df, "parallel") if sequence == 1: - vk_percent = get_trafo_values(trafo_df, "vk_percent") - vkr_percent = get_trafo_values(trafo_df, "vkr_percent") - - if "tap_dependent_impedance" in trafo_df: - tap_dependent_impedance = get_trafo_values(trafo_df, "tap_dependent_impedance") - else: - tap_dependent_impedance = False - - if np.any(tap_dependent_impedance): - if characteristic is None: - raise UserWarning("tap_dependent_impedance of transformers requires net.characteristic") - - tap_pos = get_trafo_values(trafo_df, "tap_pos") - vk_percent_characteristic_idx = get_trafo_values(trafo_df, "vk_percent_characteristic") - vk_percent_characteristic = characteristic.loc[vk_percent_characteristic_idx[tap_dependent_impedance], 'object'].values - vkr_percent_characteristic_idx = get_trafo_values(trafo_df, "vkr_percent_characteristic") - vkr_percent_characteristic = characteristic.loc[vkr_percent_characteristic_idx[tap_dependent_impedance], 'object'].values - - vk_percent = np.where(tap_dependent_impedance, - [c(t).item() if f else None for f, t, c in zip(tap_dependent_impedance, tap_pos, vk_percent_characteristic)], - vk_percent) - vkr_percent = np.where(tap_dependent_impedance, - [c(t).item() if f else None for f, t, c in zip(tap_dependent_impedance, tap_pos, vkr_percent_characteristic)], - vkr_percent) + vk_percent, vkr_percent = _get_vk_values(trafo_df, characteristic) elif sequence == 0: vk_percent = get_trafo_values(trafo_df, "vk0_percent") @@ -838,7 +855,7 @@ def _trafo_df_from_trafo3w(net, sequence=1): nr_trafos = len(net["trafo3w"]) t3 = net["trafo3w"] if sequence==1: - _calculate_sc_voltages_of_equivalent_transformers(t3, trafo2, mode) + _calculate_sc_voltages_of_equivalent_transformers(t3, trafo2, mode, characteristic=net.get('characteristic')) elif sequence==0: if mode != "sc": raise NotImplementedError("0 seq impedance calculation only implemented for short-circuit calculation!") @@ -865,10 +882,11 @@ def _trafo_df_from_trafo3w(net, sequence=1): return {var: np.concatenate([trafo2[var][side] for side in sides]) for var in trafo2.keys()} -def _calculate_sc_voltages_of_equivalent_transformers(t3, t2, mode): - # todo: add here characteristics - vk_3w = np.stack([t3.vk_hv_percent.values, t3.vk_mv_percent.values, t3.vk_lv_percent.values]) - vkr_3w = np.stack([t3.vkr_hv_percent.values, t3.vkr_mv_percent.values, t3.vkr_lv_percent.values]) +def _calculate_sc_voltages_of_equivalent_transformers(t3, t2, mode, characteristic): + vk_hv, vkr_hv, vk_mv, vkr_mv, vk_lv, vkr_lv = _get_vk_values(t3, characteristic, "3W") + + vk_3w = np.stack([vk_hv, vk_mv, vk_lv]) + vkr_3w = np.stack([vkr_hv, vkr_mv, vkr_lv]) sn = np.stack([t3.sn_hv_mva.values, t3.sn_mv_mva.values, t3.sn_lv_mva.values]) vk_2w_delta = z_br_to_bus_vector(vk_3w, sn) diff --git a/pandapower/control/util/auxiliary.py b/pandapower/control/util/auxiliary.py index deb7e9ffb..d879139ca 100644 --- a/pandapower/control/util/auxiliary.py +++ b/pandapower/control/util/auxiliary.py @@ -216,27 +216,24 @@ def plot_characteristic(characteristic, start, stop, num=20, xlabel=None, ylabel logger.info("matplotlib not installed. y-values: %s" % y) -def create_trafo_characteristics(net, trafotable, trafo_index, vk_percent_x, vk_percent_y, vkr_percent_x, vkr_percent_y): - if len(trafo_index) != len(vk_percent_x) or len(trafo_index) != len(vkr_percent_x) or \ - len(trafo_index) != len(vk_percent_y) or len(trafo_index) != len(vkr_percent_y): +def create_trafo_characteristics(net, trafotable, trafo_index, variable, x_points, y_points): + if len(trafo_index) != len(x_points) or len(trafo_index) != len(y_points): raise UserWarning("the lengths of the trafo index and points do not match!") if 'tap_dependent_impedance' not in net[trafotable]: net[trafotable]['tap_dependent_impedance'] = False net[trafotable].loc[trafo_index, 'tap_dependent_impedance'] = True + col = f"{variable}_characteristic" - for col in ('vk_percent_characteristic', 'vkr_percent_characteristic'): - if col not in net[trafotable]: - net[trafotable][col] = pd.Series(index=net[trafotable].index, dtype=object, data=None) - elif net[trafotable][col].dtype != object: - net[trafotable][col] = net[trafotable][col].astype(object) - - for tid, vk_x, vk_y, vkr_x, vkr_y in zip(trafo_index, vk_percent_x, vk_percent_y, vkr_percent_x, vkr_percent_y): - s1 = SplineCharacteristic(vk_x, vk_y) - net[trafotable].at[tid, 'vk_percent_characteristic'] = s1.add_to_net(net, "characteristic") - s2 = SplineCharacteristic(vkr_x, vkr_y) - net[trafotable].at[tid, 'vkr_percent_characteristic'] = s2.add_to_net(net, "characteristic") + if col not in net[trafotable]: + net[trafotable][col] = pd.Series(index=net[trafotable].index, dtype=object, data=None) + elif net[trafotable][col].dtype != object: + net[trafotable][col] = net[trafotable][col].astype(object) + + for tid, x_p, y_p in zip(trafo_index, x_points, y_points): + s = SplineCharacteristic(x_p, y_p) + net[trafotable].at[tid, col] = s.add_to_net(net, "characteristic") diff --git a/tutorials/Tap dependent impedance.ipynb b/tutorials/Tap dependent impedance.ipynb index f075a1226..831511470 100644 --- a/tutorials/Tap dependent impedance.ipynb +++ b/tutorials/Tap dependent impedance.ipynb @@ -21,6 +21,7 @@ "outputs": [], "source": [ "import numpy as np\n", + "import pandas as pd\n", "import pandapower as pp\n", "from pandapower.control.util.auxiliary import plot_characteristic, SplineCharacteristic\n", "from pandapower.control import TapDependentImpedance\n", @@ -33,6 +34,23 @@ "metadata": {}, "outputs": [], "source": [ + "def add_trafo_connection(net, hv_bus, trafotype=\"2W\"):\n", + " cb = pp.create_bus(net, vn_kv=0.4)\n", + " pp.create_load(net, cb, 0.2, 0.05)\n", + " \n", + " if trafotype==\"3W\":\n", + " cbm = pp.create_bus(net, vn_kv=0.9)\n", + " pp.create_load(net, cbm, 0.1, 0.03)\n", + " pp.create_transformer3w_from_parameters(net, hv_bus=hv_bus, mv_bus=cbm, lv_bus=cb,\n", + " vn_hv_kv=20., vn_mv_kv=0.9, vn_lv_kv=0.45, sn_hv_mva= 0.6, sn_mv_mva=0.5,\n", + " sn_lv_mva=0.4, vk_hv_percent=1., vk_mv_percent=1., vk_lv_percent=1.,\n", + " vkr_hv_percent=0.3, vkr_mv_percent=0.3, vkr_lv_percent=0.3,\n", + " pfe_kw=0.2, i0_percent=0.3, tap_neutral=0.,\n", + " tap_pos=2, tap_step_percent=1., tap_min=-2, tap_max=2)\n", + " else:\n", + " pp.create_transformer(net, hv_bus=hv_bus, lv_bus=cb, std_type=\"0.25 MVA 20/0.4 kV\", tap_pos=2)\n", + " \n", + "\n", "def create_net():\n", " net = pp.create_empty_network()\n", " vn_kv = 20\n", @@ -41,12 +59,9 @@ " b2 = pp.create_bus(net, vn_kv=vn_kv)\n", " l1 = pp.create_line_from_parameters(net, b1, b2, 12.2, r_ohm_per_km=0.08, x_ohm_per_km=0.12,\n", " c_nf_per_km=300, max_i_ka=.2, df=.8)\n", - " b3 = pp.create_bus(net, vn_kv=0.4)\n", - " b4 = pp.create_bus(net, vn_kv=0.4)\n", - " pp.create_transformer(net, hv_bus=b2, lv_bus=b3, std_type=\"0.25 MVA 20/0.4 kV\", tap_pos=2)\n", - " pp.create_transformer(net, hv_bus=b2, lv_bus=b4, std_type=\"0.25 MVA 20/0.4 kV\", tap_pos=2)\n", - " pp.create_load(net, b3, 0.2, 0.05)\n", - " pp.create_load(net, b4, 0.2, 0.05)\n", + " for i in range(2):\n", + " add_trafo_connection(net, b2)\n", + " \n", " return net" ] }, @@ -72,8 +87,8 @@ "metadata": {}, "outputs": [], "source": [ - "pp.control.create_trafo_characteristics(net, 'trafo', [0], [[-2, -1, 0, 1, 2]], [[5, 5.2, 6, 6.8, 7]],\n", - " [[-2, -1, 0, 1, 2]], [[1.3, 1.4, 1.44, 1.5, 1.6]])" + "pp.control.create_trafo_characteristics(net, 'trafo', [0], 'vk_percent', [[-2, -1, 0, 1, 2]], [[5, 5.2, 6, 6.8, 7]])\n", + "pp.control.create_trafo_characteristics(net, 'trafo', [0], 'vkr_percent', [[-2, -1, 0, 1, 2]], [[1.3, 1.4, 1.44, 1.5, 1.6]])" ] }, { @@ -241,7 +256,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "8 ms ± 187 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" + "8.11 ms ± 74.5 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" ] } ], @@ -258,7 +273,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "9.43 ms ± 212 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" + "10 ms ± 327 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" ] } ], @@ -300,7 +315,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "27.1 ms ± 131 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" + "29.2 ms ± 736 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" ] } ], @@ -388,6 +403,284 @@ "net3.res_bus.loc[[2,3]]" ] }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "assert np.allclose(net.res_bus.vm_pu, net3.res_bus.vm_pu, atol=1e-6, rtol=0)\n", + "assert np.allclose(net.res_bus.va_degree, net3.res_bus.va_degree, atol=1e-6, rtol=0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 3-Winding Transformers" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "net4 = create_net()\n", + "net5 = create_net()\n", + "for i in range(2):\n", + " add_trafo_connection(net4, net4.trafo.at[0, 'hv_bus'], \"3W\")\n", + " add_trafo_connection(net5, net5.trafo.at[0, 'hv_bus'], \"3W\")" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
object
0SplineCharacteristic
1SplineCharacteristic
2SplineCharacteristic
3SplineCharacteristic
4SplineCharacteristic
5SplineCharacteristic
\n", + "
" + ], + "text/plain": [ + " object\n", + "0 SplineCharacteristic\n", + "1 SplineCharacteristic\n", + "2 SplineCharacteristic\n", + "3 SplineCharacteristic\n", + "4 SplineCharacteristic\n", + "5 SplineCharacteristic" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pp.control.create_trafo_characteristics(net4, 'trafo3w', [0], 'vk_hv_percent', [[-2, -1, 0, 1, 2]], [[0.85, 0.9, 1, 1.1, 1.15]])\n", + "pp.control.create_trafo_characteristics(net4, 'trafo3w', [0], 'vkr_hv_percent', [[-2, -1, 0, 1, 2]], [[0.27, 0.28, 0.3, 0.32, 0.33]])\n", + "pp.control.create_trafo_characteristics(net4, 'trafo3w', [0], 'vk_mv_percent', [[-2, -1, 0, 1, 2]], [[0.85, 0.9, 1, 1.1, 1.15]])\n", + "pp.control.create_trafo_characteristics(net4, 'trafo3w', [0], 'vkr_mv_percent', [[-2, -1, 0, 1, 2]], [[0.27, 0.28, 0.3, 0.32, 0.33]])\n", + "pp.control.create_trafo_characteristics(net4, 'trafo3w', [0], 'vk_lv_percent', [[-2, -1, 0, 1, 2]], [[0.85, 0.9, 1, 1.1, 1.15]])\n", + "pp.control.create_trafo_characteristics(net4, 'trafo3w', [0], 'vkr_lv_percent', [[-2, -1, 0, 1, 2]], [[0.27, 0.28, 0.3, 0.32, 0.33]])\n", + "\n", + "net4.characteristic" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "TapDependentImpedance(net5, [0], net4.characteristic.object.at[0], output_variable=\"vk_hv_percent\", trafotable=\"trafo3w\")\n", + "TapDependentImpedance(net5, [0], net4.characteristic.object.at[1], output_variable=\"vkr_hv_percent\", trafotable=\"trafo3w\")\n", + "TapDependentImpedance(net5, [0], net4.characteristic.object.at[2], output_variable=\"vk_mv_percent\", trafotable=\"trafo3w\")\n", + "TapDependentImpedance(net5, [0], net4.characteristic.object.at[3], output_variable=\"vkr_mv_percent\", trafotable=\"trafo3w\")\n", + "TapDependentImpedance(net5, [0], net4.characteristic.object.at[4], output_variable=\"vk_lv_percent\", trafotable=\"trafo3w\")\n", + "TapDependentImpedance(net5, [0], net4.characteristic.object.at[5], output_variable=\"vkr_lv_percent\", trafotable=\"trafo3w\");" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "14.8 ms ± 624 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" + ] + } + ], + "source": [ + "%timeit pp.runpp(net4)" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "49.7 ms ± 777 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" + ] + } + ], + "source": [ + "%timeit pp.runpp(net5, run_control=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
vm_pu_xva_degree_xvm_pu_yva_degree_y
01.0100000.0000001.0100000.000000
11.007345-0.2001011.007345-0.200101
20.933386-3.0037170.933386-3.003717
30.933386-3.0037170.933386-3.003717
41.129101-0.5456111.129101-0.545611
51.004802-0.4288801.004802-0.428880
61.129567-0.4979051.129567-0.497905
71.005088-0.3972581.005088-0.397258
\n", + "
" + ], + "text/plain": [ + " vm_pu_x va_degree_x vm_pu_y va_degree_y\n", + "0 1.010000 0.000000 1.010000 0.000000\n", + "1 1.007345 -0.200101 1.007345 -0.200101\n", + "2 0.933386 -3.003717 0.933386 -3.003717\n", + "3 0.933386 -3.003717 0.933386 -3.003717\n", + "4 1.129101 -0.545611 1.129101 -0.545611\n", + "5 1.004802 -0.428880 1.004802 -0.428880\n", + "6 1.129567 -0.497905 1.129567 -0.497905\n", + "7 1.005088 -0.397258 1.005088 -0.397258" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "assert np.allclose(net4.res_bus.vm_pu, net5.res_bus.vm_pu, atol=1e-6, rtol=0)\n", + "assert np.allclose(net4.res_bus.va_degree, net5.res_bus.va_degree, atol=1e-6, rtol=0)\n", + "pd.merge(net4.res_bus[[\"vm_pu\", \"va_degree\"]], net5.res_bus[[\"vm_pu\", \"va_degree\"]], left_index=True, right_index=True)" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -399,12 +692,12 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "The file I/O for characteristics is not implemented yet:" + "The file I/O for characteristics is now implemented via adding the characteristic table:" ] }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 22, "metadata": {}, "outputs": [ { @@ -450,7 +743,7 @@ "1 SplineCharacteristic" ] }, - "execution_count": 15, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" } @@ -469,7 +762,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 23, "metadata": {}, "outputs": [ { @@ -495,9 +788,9 @@ "source": [ "# Further work:\n", "\n", - "* implementation for trafo3w (only possible with the controller now)\n", - "* test coverage\n", - "* File I/O: convert_format, tests\n", + "* test coverage:\n", + " * Results\n", + " * File I/O\n", "* documentation" ] } From 17550be8db1584dad3d7c23d9f8acdb477a88e7f Mon Sep 17 00:00:00 2001 From: sdrauz Date: Fri, 12 Nov 2021 13:20:36 +0100 Subject: [PATCH 295/422] implementation to create_lines with different std_types --- pandapower/create.py | 43 +++++++++++++++++++----------- pandapower/std_types.py | 3 +++ pandapower/test/api/test_create.py | 12 ++++++++- 3 files changed, 42 insertions(+), 16 deletions(-) diff --git a/pandapower/create.py b/pandapower/create.py index e3c5b1497..369f265ef 100644 --- a/pandapower/create.py +++ b/pandapower/create.py @@ -4,6 +4,8 @@ # and Energy System Technology (IEE), Kassel. All rights reserved. +from operator import itemgetter + import pandas as pd from numpy import nan, isnan, arange, dtype, isin, any as np_any, zeros, array, bool_, \ all as np_all, float64 @@ -12,7 +14,7 @@ from pandapower import __version__ from pandapower.auxiliary import pandapowerNet, get_free_id, _preserve_dtypes from pandapower.results import reset_results -from pandapower.std_types import add_basic_std_types, load_std_type +from pandapower.std_types import add_basic_std_types, load_std_type, check_entry_in_std_type try: import pplog as logging @@ -329,11 +331,11 @@ def create_empty_network(name="", f_hz=50., sn_mva=1, add_stdtypes=True): "_empty_res_load": [("p_mw", "f8"), ("q_mvar", "f8")], "_empty_res_asymmetric_load": [("p_mw", "f8"), - ("q_mvar", "f8")], + ("q_mvar", "f8")], "_empty_res_asymmetric_sgen": [("p_mw", "f8"), - ("q_mvar", "f8")], + ("q_mvar", "f8")], "_empty_res_motor": [("p_mw", "f8"), - ("q_mvar", "f8")], + ("q_mvar", "f8")], "_empty_res_sgen": [("p_mw", "f8"), ("q_mvar", "f8")], "_empty_res_shunt": [("p_mw", "f8"), @@ -1891,14 +1893,25 @@ def create_lines(net, from_buses, to_buses, length_km, std_type, name=None, inde "in_service": in_service} # add std type data - lineparam = load_std_type(net, std_type, "line") - entries["r_ohm_per_km"] = lineparam["r_ohm_per_km"] - entries["x_ohm_per_km"] = lineparam["x_ohm_per_km"] - entries["c_nf_per_km"] = lineparam["c_nf_per_km"] - entries["max_i_ka"] = lineparam["max_i_ka"] - entries["g_us_per_km"] = lineparam["g_us_per_km"] if "g_us_per_km" in lineparam else 0. - if "type" in lineparam: - entries["type"] = lineparam["type"] + if isinstance(std_type, str): + lineparam = load_std_type(net, std_type, "line") + entries["r_ohm_per_km"] = lineparam["r_ohm_per_km"] + entries["x_ohm_per_km"] = lineparam["x_ohm_per_km"] + entries["c_nf_per_km"] = lineparam["c_nf_per_km"] + entries["max_i_ka"] = lineparam["max_i_ka"] + entries["g_us_per_km"] = lineparam["g_us_per_km"] if "g_us_per_km" in lineparam else 0. + if "type" in lineparam: + entries["type"] = lineparam["type"] + else: + lineparam = list(map(load_std_type, [net] * len(std_type), std_type, ['line'] * len(std_type))) + entries["r_ohm_per_km"] = list(map(itemgetter("r_ohm_per_km"), lineparam)) + entries["x_ohm_per_km"] = list(map(itemgetter("x_ohm_per_km"), lineparam)) + entries["c_nf_per_km"] = list(map(itemgetter("c_nf_per_km"), lineparam)) + entries["max_i_ka"] = list(map(itemgetter("max_i_ka"), lineparam)) + entries["g_us_per_km"] = list(map(check_entry_in_std_type, lineparam, ["g_us_per_km"] * len(lineparam), + [0.] * len(lineparam))) + entries["type"] = list(map(check_entry_in_std_type, lineparam, ["type"] * len(lineparam), + [None] * len(lineparam))) _add_series_to_entries(entries, index, "max_loading_percent", max_loading_percent) @@ -2898,9 +2911,9 @@ def create_transformers3w_from_parameters(net, hv_buses, mv_buses, lv_buses, vn_ "tap_max": tap_max, "tap_min": tap_min, "in_service": array(in_service).astype(bool_), "name": name, "tap_at_star_point": array(tap_at_star_point).astype(bool_), "std_type": None, - "vk0_hv_percent":vk0_hv_percent, "vk0_mv_percent":vk0_mv_percent, - "vk0_lv_percent":vk0_lv_percent, "vkr0_hv_percent":vkr0_hv_percent, - "vkr0_mv_percent":vkr0_mv_percent, "vkr0_lv_percent":vkr0_lv_percent, + "vk0_hv_percent": vk0_hv_percent, "vk0_mv_percent": vk0_mv_percent, + "vk0_lv_percent": vk0_lv_percent, "vkr0_hv_percent": vkr0_hv_percent, + "vkr0_mv_percent": vkr0_mv_percent, "vkr0_lv_percent": vkr0_lv_percent, "vector_group": vector_group} _add_series_to_entries(entries, index, "max_loading_percent", max_loading_percent) diff --git a/pandapower/std_types.py b/pandapower/std_types.py index 5eb5bda76..08319297a 100644 --- a/pandapower/std_types.py +++ b/pandapower/std_types.py @@ -161,6 +161,9 @@ def load_std_type(net, name, element="line"): else: raise UserWarning("Unknown standard %s type %s" % (element, name)) +def check_entry_in_std_type(param, entry, else_val): + return param[entry] if entry in param else else_val + def std_type_exists(net, name, element="line"): """ diff --git a/pandapower/test/api/test_create.py b/pandapower/test/api/test_create.py index 537a2f961..8fb41ef5d 100644 --- a/pandapower/test/api/test_create.py +++ b/pandapower/test/api/test_create.py @@ -174,6 +174,15 @@ def test_create_lines(): assert sum(net.line.std_type == "48-AL1/8-ST1A 10.0") == 2 assert len(set(net.line.r_ohm_per_km)) == 1 + net = pp.create_empty_network() + b1 = pp.create_bus(net, 10) + b2 = pp.create_bus(net, 10) + l = pp.create_lines(net, [b1, b1], [b2, b2], 4, std_type=["48-AL1/8-ST1A 10.0", 'NA2XS2Y 1x240 RM/25 6/10 kV']) + assert len(net.line) == 2 + assert len(net.line_geodata) == 0 + assert sum(net.line.std_type == "48-AL1/8-ST1A 10.0") == 1 + assert sum(net.line.std_type == 'NA2XS2Y 1x240 RM/25 6/10 kV') == 1 + # with geodata net = pp.create_empty_network() b1 = pp.create_bus(net, 10) @@ -831,4 +840,5 @@ def test_create_gens_raise_except(): if __name__ == '__main__': - pytest.main(["test_create.py"]) + test_create_lines() + #pytest.main(["test_create.py"]) From 6385861b7aa337eff0cd0b9fa1449038510fa5ea Mon Sep 17 00:00:00 2001 From: sdrauz Date: Fri, 12 Nov 2021 13:28:58 +0100 Subject: [PATCH 296/422] not required, already solved --- pandapower/plotting/generic_geodata.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/pandapower/plotting/generic_geodata.py b/pandapower/plotting/generic_geodata.py index be65c3f47..6d2db0a01 100644 --- a/pandapower/plotting/generic_geodata.py +++ b/pandapower/plotting/generic_geodata.py @@ -85,10 +85,7 @@ def build_igraph_from_pp(net, respect_switches=False, buses=None): pp_bus_mapping[trafo3w.mv_bus], weight=0.01) # add switches - #mask = net.switch.et.values == "b" - mask = _get_element_mask_from_nodes(net, 'switch', ['element', 'bus'], buses) & (net.switch.et.values == 'b') - if respect_switches: - mask &= ~open_switches + mask = net.switch.et.values == "b" bus_mask = _get_element_mask_from_nodes(net, "switch", ["element", "bus"], buses) for switch in net.switch[mask & bus_mask].itertuples(): g.add_edge(pp_bus_mapping[switch.element], From 8429817ade43e28af678cd2b94f7fa569b94b6b0 Mon Sep 17 00:00:00 2001 From: sdrauz Date: Fri, 12 Nov 2021 13:29:22 +0100 Subject: [PATCH 297/422] redoing changes --- pandapower/test/api/test_create.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pandapower/test/api/test_create.py b/pandapower/test/api/test_create.py index 8fb41ef5d..3ffe3dedd 100644 --- a/pandapower/test/api/test_create.py +++ b/pandapower/test/api/test_create.py @@ -840,5 +840,4 @@ def test_create_gens_raise_except(): if __name__ == '__main__': - test_create_lines() - #pytest.main(["test_create.py"]) + pytest.main(["test_create.py"]) From 70b531bf3e03d53bb3d43e4197cd0e88cde1c606 Mon Sep 17 00:00:00 2001 From: sdrauz Date: Fri, 12 Nov 2021 13:30:51 +0100 Subject: [PATCH 298/422] error --- pandapower/plotting/generic_geodata.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pandapower/plotting/generic_geodata.py b/pandapower/plotting/generic_geodata.py index 6d2db0a01..f82a710f3 100644 --- a/pandapower/plotting/generic_geodata.py +++ b/pandapower/plotting/generic_geodata.py @@ -86,6 +86,8 @@ def build_igraph_from_pp(net, respect_switches=False, buses=None): # add switches mask = net.switch.et.values == "b" + if respect_switches: + mask &= ~open_switches bus_mask = _get_element_mask_from_nodes(net, "switch", ["element", "bus"], buses) for switch in net.switch[mask & bus_mask].itertuples(): g.add_edge(pp_bus_mapping[switch.element], From 4e84efad3429fe836ea7cac4263c6c0d69cfd866 Mon Sep 17 00:00:00 2001 From: sdrauz Date: Fri, 12 Nov 2021 13:31:26 +0100 Subject: [PATCH 299/422] pip 8 changes --- pandapower/test/api/test_create.py | 284 +++++++++++++++-------------- 1 file changed, 143 insertions(+), 141 deletions(-) diff --git a/pandapower/test/api/test_create.py b/pandapower/test/api/test_create.py index 3ffe3dedd..d3c2e8d99 100644 --- a/pandapower/test/api/test_create.py +++ b/pandapower/test/api/test_create.py @@ -5,10 +5,11 @@ import numpy as np -import pandapower as pp +import pandas as pd import pytest -import pandas as pd +import pandapower as pp + pd.set_option('display.max_rows', 500) pd.set_option('display.max_columns', 500) pd.set_option('display.width', 1000) @@ -188,12 +189,12 @@ def test_create_lines(): b1 = pp.create_bus(net, 10) b2 = pp.create_bus(net, 10) l = pp.create_lines(net, [b1, b1], [b2, b2], [1.5, 3], std_type="48-AL1/8-ST1A 10.0", - geodata=[[(1,1),(2,2),(3,3)], [(1,1),(1,2)]]) + geodata=[[(1, 1), (2, 2), (3, 3)], [(1, 1), (1, 2)]]) assert len(net.line) == 2 assert len(net.line_geodata) == 2 - assert net.line_geodata.at[l[0], "coords"] == [(1,1),(2,2),(3,3)] - assert net.line_geodata.at[l[1], "coords"] == [(1,1),(1,2)] + assert net.line_geodata.at[l[0], "coords"] == [(1, 1), (2, 2), (3, 3)] + assert net.line_geodata.at[l[1], "coords"] == [(1, 1), (1, 2)] # setting params as single value net = pp.create_empty_network() @@ -209,8 +210,8 @@ def test_create_lines(): assert net.line.length_km.at[l[1]] == 5 assert net.line.at[l[0], "in_service"] == False # is actually assert net.line.at[l[1], "in_service"] == False # is actually - assert net.line_geodata.at[l[0], "coords"] == [(10,10), (20,20)] - assert net.line_geodata.at[l[1], "coords"] == [(10,10), (20,20)] + assert net.line_geodata.at[l[0], "coords"] == [(10, 10), (20, 20)] + assert net.line_geodata.at[l[1], "coords"] == [(10, 10), (20, 20)] assert net.line.at[l[0], "name"] == "test" assert net.line.at[l[1], "name"] == "test" assert net.line.at[l[0], "max_loading_percent"] == 90 @@ -234,8 +235,8 @@ def test_create_lines(): assert net.line.at[l[1], "length_km"] == 5 assert net.line.at[l[0], "in_service"] == True # is actually assert net.line.at[l[1], "in_service"] == False # is actually - assert net.line_geodata.at[l[0], "coords"] == [(10,10), (20,20)] - assert net.line_geodata.at[l[1], "coords"] == [(100,10), (200,20)] + assert net.line_geodata.at[l[0], "coords"] == [(10, 10), (20, 20)] + assert net.line_geodata.at[l[1], "coords"] == [(100, 10), (200, 20)] assert net.line.at[l[0], "name"] == "test1" assert net.line.at[l[1], "name"] == "test2" assert net.line.at[l[0], "max_loading_percent"] == 80 @@ -265,12 +266,12 @@ def test_create_lines_from_parameters(): b2 = pp.create_bus(net, 10) l = pp.create_lines_from_parameters(net, [b1, b1], [b2, b2], length_km=[10., 5.], x_ohm_per_km=[1., 1.], r_ohm_per_km=[0.2, 0.2], c_nf_per_km=[0, 0], max_i_ka=[100, 100], - geodata=[[(1,1),(2,2),(3,3)], [(1,1),(1,2)]]) + geodata=[[(1, 1), (2, 2), (3, 3)], [(1, 1), (1, 2)]]) assert len(net.line) == 2 assert len(net.line_geodata) == 2 - assert net.line_geodata.at[l[0], "coords"] == [(1,1),(2,2),(3,3)] - assert net.line_geodata.at[l[1], "coords"] == [(1,1),(1,2)] + assert net.line_geodata.at[l[0], "coords"] == [(1, 1), (2, 2), (3, 3)] + assert net.line_geodata.at[l[1], "coords"] == [(1, 1), (1, 2)] # setting params as single value net = pp.create_empty_network() @@ -292,8 +293,8 @@ def test_create_lines_from_parameters(): assert all(net.line["c0_nf_per_km"].values == 0) assert net.line.at[l[0], "in_service"] == False # is actually assert net.line.at[l[1], "in_service"] == False # is actually - assert net.line_geodata.at[l[0], "coords"] == [(10,10), (20,20)] - assert net.line_geodata.at[l[1], "coords"] == [(10,10), (20,20)] + assert net.line_geodata.at[l[0], "coords"] == [(10, 10), (20, 20)] + assert net.line_geodata.at[l[1], "coords"] == [(10, 10), (20, 20)] assert all(net.line["name"].values == "test") assert all(net.line["max_loading_percent"].values == 90) assert all(net.line["parallel"].values == 1) @@ -329,8 +330,8 @@ def test_create_lines_from_parameters(): assert all(net.line["c0_nf_per_km"].values == 0) assert net.line.at[l[0], "in_service"] == True # is actually assert net.line.at[l[1], "in_service"] == False # is actually - assert net.line_geodata.at[l[0], "coords"] == [(10,10), (20,20)] - assert net.line_geodata.at[l[1], "coords"] == [(100,10), (200,20)] + assert net.line_geodata.at[l[0], "coords"] == [(10, 10), (20, 20)] + assert net.line_geodata.at[l[1], "coords"] == [(100, 10), (200, 20)] assert net.line.at[l[0], "name"] == "test1" assert net.line.at[l[1], "name"] == "test2" assert net.line.at[l[0], "max_loading_percent"] == 80 @@ -354,25 +355,26 @@ def test_create_lines_raise_except(): r_ohm_per_km=[0.2, 0.2], c_nf_per_km=[0, 0], max_i_ka=[100, 100]) with pytest.raises(UserWarning, match="Lines with indexes .*"): - pp.create_lines_from_parameters(net, [b1, b1], [b2, b2], index=[0, 0], length_km=[10., 5.], x_ohm_per_km=[1., 1.], + pp.create_lines_from_parameters(net, [b1, b1], [b2, b2], index=[0, 0], length_km=[10., 5.], + x_ohm_per_km=[1., 1.], r_ohm_per_km=[0.2, 0.2], c_nf_per_km=[0, 0], max_i_ka=[100, 100]) def test_create_line_alpha_temperature(): - net=pp.create_empty_network() + net = pp.create_empty_network() b = pp.create_buses(net, 5, 110) - l1=pp.create_line(net,0,1, 10, "48-AL1/8-ST1A 10.0") - l2=pp.create_line(net,1,2, 10, "48-AL1/8-ST1A 10.0", alpha=4.03e-3, temperature_degree_celsius=80) - l3=pp.create_line(net,2,3, 10, "48-AL1/8-ST1A 10.0") - l4=pp.create_line_from_parameters(net, 3,4,10, 1,1,1,100) - l5=pp.create_line_from_parameters(net, 3,4,10, 1,1,1,100, alpha=4.03e-3) + l1 = pp.create_line(net, 0, 1, 10, "48-AL1/8-ST1A 10.0") + l2 = pp.create_line(net, 1, 2, 10, "48-AL1/8-ST1A 10.0", alpha=4.03e-3, temperature_degree_celsius=80) + l3 = pp.create_line(net, 2, 3, 10, "48-AL1/8-ST1A 10.0") + l4 = pp.create_line_from_parameters(net, 3, 4, 10, 1, 1, 1, 100) + l5 = pp.create_line_from_parameters(net, 3, 4, 10, 1, 1, 1, 100, alpha=4.03e-3) assert 'alpha' in net.line.columns - assert all(net.line.loc[[l2,l3,l5], 'alpha'] == 4.03e-3) - assert all(net.line.loc[[l1,l4], 'alpha'].isnull()) + assert all(net.line.loc[[l2, l3, l5], 'alpha'] == 4.03e-3) + assert all(net.line.loc[[l1, l4], 'alpha'].isnull()) assert net.line.loc[l2, 'temperature_degree_celsius'] == 80 - assert all(net.line.loc[[l1,l3,l4,l5], 'temperature_degree_celsius'].isnull()) + assert all(net.line.loc[[l1, l3, l4, l5], 'temperature_degree_celsius'].isnull()) def test_create_transformers_from_parameters(): @@ -396,9 +398,9 @@ def test_create_transformers_from_parameters(): b1 = pp.create_bus(net, 15) b2 = pp.create_bus(net, 0.4) pp.create_transformers_from_parameters( - net, hv_buses=[b1, b1], lv_buses=[b2, b2], vn_hv_kv=15., vn_lv_kv=0.45, sn_mva= 0.5, + net, hv_buses=[b1, b1], lv_buses=[b2, b2], vn_hv_kv=15., vn_lv_kv=0.45, sn_mva=0.5, vk_percent=1., vkr_percent=0.3, pfe_kw=0.2, i0_percent=0.3, vk0_percent=0.4, - vkr0_percent=1.7, mag0_rx=0.4, mag0_percent=0.3, tap_neutral=0., vector_group='Dyn', + vkr0_percent=1.7, mag0_rx=0.4, mag0_percent=0.3, tap_neutral=0., vector_group='Dyn', si0_hv_partial=0.1, max_loading_percent=80) assert len(net.trafo) == 2 assert all(net.trafo.hv_bus == 0) @@ -426,7 +428,7 @@ def test_create_transformers_from_parameters(): t = pp.create_transformers_from_parameters( net, hv_buses=[b1, b1], lv_buses=[b2, b2], vn_hv_kv=[15., 15.], sn_mva=[0.6, 0.6], vn_lv_kv=[0.45, 0.45], vk_percent=[1., 1.], vkr_percent=[0.3, 0.3], pfe_kw=[0.2, 0.2], - i0_percent=[0.3, 0.3], vk0_percent=[0.4, 0.4], mag0_rx=[0.4, 0.4], mag0_percent=[0.3, 0.3], + i0_percent=[0.3, 0.3], vk0_percent=[0.4, 0.4], mag0_rx=[0.4, 0.4], mag0_percent=[0.3, 0.3], tap_neutral=[0., 1.], tap_pos=[-1, 4]) assert len(net.trafo) == 2 @@ -481,18 +483,17 @@ def test_create_transformers_raise_except(): def test_create_transformers3w_from_parameters(): - # setting params as single value net = pp.create_empty_network() b1 = pp.create_bus(net, 15) b2 = pp.create_bus(net, 0.4) b3 = pp.create_bus(net, 0.9) pp.create_transformers3w_from_parameters(net, hv_buses=[b1, b1], mv_buses=[b3, b3], lv_buses=[b2, b2], - vn_hv_kv=15., vn_mv_kv=0.9, vn_lv_kv=0.45, sn_hv_mva= 0.6, sn_mv_mva=0.5, - sn_lv_mva=0.4, vk_hv_percent=1., vk_mv_percent=1., vk_lv_percent=1., - vkr_hv_percent=0.3, vkr_mv_percent=0.3, vkr_lv_percent=0.3, - pfe_kw=0.2, i0_percent=0.3, tap_neutral=0., - mag0_rx=0.4, mag0_percent=0.3) + vn_hv_kv=15., vn_mv_kv=0.9, vn_lv_kv=0.45, sn_hv_mva=0.6, sn_mv_mva=0.5, + sn_lv_mva=0.4, vk_hv_percent=1., vk_mv_percent=1., vk_lv_percent=1., + vkr_hv_percent=0.3, vkr_mv_percent=0.3, vkr_lv_percent=0.3, + pfe_kw=0.2, i0_percent=0.3, tap_neutral=0., + mag0_rx=0.4, mag0_percent=0.3) assert len(net.trafo3w) == 2 assert all(net.trafo3w.hv_bus == 0) assert all(net.trafo3w.lv_bus == 1) @@ -522,14 +523,14 @@ def test_create_transformers3w_from_parameters(): b2 = pp.create_bus(net, 0.4) b3 = pp.create_bus(net, 0.9) pp.create_transformers3w_from_parameters(net, hv_buses=[b1, b1], mv_buses=[b3, b3], lv_buses=[b2, b2], - vn_hv_kv=[15., 14.5], vn_mv_kv=[0.9, 0.7], vn_lv_kv=[0.45, 0.5], - sn_hv_mva= [0.6, 0.7], sn_mv_mva=[0.5, 0.4], sn_lv_mva=[0.4, 0.3], - vk_hv_percent=[1., 1.], vk_mv_percent=[1., 1.], vk_lv_percent=[1.,1.], - vkr_hv_percent=[0.3, 0.3], vkr_mv_percent=[0.3, 0.3], - vkr_lv_percent=[0.3, 0.3], pfe_kw=[0.2, 0.1], i0_percent=[0.3, 0.2], - tap_neutral=[0., 5.], tap_pos=[1, 2], in_service=[True, False], - custom_arg=['foo', 'bar'] - ) + vn_hv_kv=[15., 14.5], vn_mv_kv=[0.9, 0.7], vn_lv_kv=[0.45, 0.5], + sn_hv_mva=[0.6, 0.7], sn_mv_mva=[0.5, 0.4], sn_lv_mva=[0.4, 0.3], + vk_hv_percent=[1., 1.], vk_mv_percent=[1., 1.], vk_lv_percent=[1., 1.], + vkr_hv_percent=[0.3, 0.3], vkr_mv_percent=[0.3, 0.3], + vkr_lv_percent=[0.3, 0.3], pfe_kw=[0.2, 0.1], i0_percent=[0.3, 0.2], + tap_neutral=[0., 5.], tap_pos=[1, 2], in_service=[True, False], + custom_arg=['foo', 'bar'] + ) assert len(net.trafo3w) == 2 assert all(net.trafo3w.hv_bus == 0) assert all(net.trafo3w.lv_bus == 1) @@ -561,7 +562,7 @@ def test_create_transformers3w_raise_except(): b2 = pp.create_bus(net, 0.4) b3 = pp.create_bus(net, 0.9) pp.create_transformers3w_from_parameters(net, hv_buses=[b1, b1], mv_buses=[b3, b3], lv_buses=[b2, b2], - vn_hv_kv=15., vn_mv_kv=0.9, vn_lv_kv=0.45, sn_hv_mva= 0.6, sn_mv_mva=0.5, + vn_hv_kv=15., vn_mv_kv=0.9, vn_lv_kv=0.45, sn_hv_mva=0.6, sn_mv_mva=0.5, sn_lv_mva=0.4, vk_hv_percent=1., vk_mv_percent=1., vk_lv_percent=1., vkr_hv_percent=0.3, vkr_mv_percent=0.3, vkr_lv_percent=0.3, pfe_kw=0.2, i0_percent=0.3, tap_neutral=0., @@ -569,7 +570,8 @@ def test_create_transformers3w_raise_except(): with pytest.raises(UserWarning, match=r"Three winding transformers with indexes \[1\] already exist."): pp.create_transformers3w_from_parameters(net, hv_buses=[b1, b1], mv_buses=[b3, b3], lv_buses=[b2, b2], - vn_hv_kv=15., vn_mv_kv=0.9, vn_lv_kv=0.45, sn_hv_mva= 0.6, sn_mv_mva=0.5, + vn_hv_kv=15., vn_mv_kv=0.9, vn_lv_kv=0.45, sn_hv_mva=0.6, + sn_mv_mva=0.5, sn_lv_mva=0.4, vk_hv_percent=1., vk_mv_percent=1., vk_lv_percent=1., vkr_hv_percent=0.3, vkr_mv_percent=0.3, vkr_lv_percent=0.3, pfe_kw=0.2, i0_percent=0.3, tap_neutral=0., @@ -582,7 +584,7 @@ def test_create_transformers3w_raise_except(): match=r"Transformers trying to attach to non existing buses \{6\}"): pp.create_transformers3w_from_parameters( net, hv_buses=[6, b1], mv_buses=[b3, b3], lv_buses=[b2, b2], vn_hv_kv=15., vn_mv_kv=0.9, - vn_lv_kv=0.45, sn_hv_mva= 0.6, sn_mv_mva=0.5, sn_lv_mva=0.4, vk_hv_percent=1., + vn_lv_kv=0.45, sn_hv_mva=0.6, sn_mv_mva=0.5, sn_lv_mva=0.4, vk_hv_percent=1., vk_mv_percent=1., vk_lv_percent=1., vkr_hv_percent=0.3, vkr_mv_percent=0.3, vkr_lv_percent=0.3, pfe_kw=0.2, i0_percent=0.3, tap_neutral=0., mag0_rx=0.4, mag0_percent=0.3, index=[0, 1]) @@ -591,7 +593,7 @@ def test_create_transformers3w_raise_except(): match=r"Transformers trying to attach to non existing buses \{3\}"): pp.create_transformers3w_from_parameters( net, hv_buses=[b1, b1], mv_buses=[b3, 3], lv_buses=[b2, b2], vn_hv_kv=15., vn_mv_kv=0.9, - vn_lv_kv=0.45, sn_hv_mva= 0.6, sn_mv_mva=0.5, sn_lv_mva=0.4, vk_hv_percent=1., + vn_lv_kv=0.45, sn_hv_mva=0.6, sn_mv_mva=0.5, sn_lv_mva=0.4, vk_hv_percent=1., vk_mv_percent=1., vk_lv_percent=1., vkr_hv_percent=0.3, vkr_mv_percent=0.3, vkr_lv_percent=0.3, pfe_kw=0.2, i0_percent=0.3, tap_neutral=0., mag0_rx=0.4, mag0_percent=0.3) @@ -599,7 +601,7 @@ def test_create_transformers3w_raise_except(): match=r"Transformers trying to attach to non existing buses \{3, 4\}"): pp.create_transformers3w_from_parameters( net, hv_buses=[b1, b1], mv_buses=[b3, b3], lv_buses=[4, 3], vn_hv_kv=15., vn_mv_kv=0.9, - vn_lv_kv=0.45, sn_hv_mva= 0.6, sn_mv_mva=0.5, sn_lv_mva=0.4, vk_hv_percent=1., + vn_lv_kv=0.45, sn_hv_mva=0.6, sn_mv_mva=0.5, sn_lv_mva=0.4, vk_hv_percent=1., vk_mv_percent=1., vk_lv_percent=1., vkr_hv_percent=0.3, vkr_mv_percent=0.3, vkr_lv_percent=0.3, pfe_kw=0.2, i0_percent=0.3, tap_neutral=0., mag0_rx=0.4, mag0_percent=0.3) @@ -612,27 +614,27 @@ def test_create_switches(): b2 = pp.create_bus(net, 110) b3 = pp.create_bus(net, 15) b4 = pp.create_bus(net, 15) - l1 = pp.create_line(net, b1, b2, length_km=1, std_type="48-AL1/8-ST1A 10.0") + l1 = pp.create_line(net, b1, b2, length_km=1, std_type="48-AL1/8-ST1A 10.0") t1 = pp.create_transformer(net, b2, b3, std_type='160 MVA 380/110 kV') sw = pp.create_switches(net, buses=[b1, b2, b3], elements=[l1, t1, b4], et=["l", "t", "b"], z_ohm=0., foo='aaa') - assert(net.switch.bus.at[0] == b1) - assert(net.switch.bus.at[1] == b2) - assert(net.switch.bus.at[2] == b3) - assert(net.switch.element.at[sw[0]] == l1) - assert(net.switch.element.at[sw[1]] == t1) - assert(net.switch.element.at[sw[2]] == b4) - assert(net.switch.et.at[0] == "l") - assert(net.switch.et.at[1] == "t") - assert(net.switch.et.at[2] == "b") - assert(net.switch.z_ohm.at[0] == 0) - assert(net.switch.z_ohm.at[1] == 0) - assert(net.switch.z_ohm.at[2] == 0) - assert(net.switch.foo.at[0] == 'aaa') - assert(net.switch.foo.at[1] == 'aaa') - assert(net.switch.foo.at[2] == 'aaa') + assert (net.switch.bus.at[0] == b1) + assert (net.switch.bus.at[1] == b2) + assert (net.switch.bus.at[2] == b3) + assert (net.switch.element.at[sw[0]] == l1) + assert (net.switch.element.at[sw[1]] == t1) + assert (net.switch.element.at[sw[2]] == b4) + assert (net.switch.et.at[0] == "l") + assert (net.switch.et.at[1] == "t") + assert (net.switch.et.at[2] == "b") + assert (net.switch.z_ohm.at[0] == 0) + assert (net.switch.z_ohm.at[1] == 0) + assert (net.switch.z_ohm.at[2] == 0) + assert (net.switch.foo.at[0] == 'aaa') + assert (net.switch.foo.at[1] == 'aaa') + assert (net.switch.foo.at[2] == 'aaa') def test_create_switches_raise_except(): @@ -644,16 +646,16 @@ def test_create_switches_raise_except(): b4 = pp.create_bus(net, 15) b5 = pp.create_bus(net, 0.9) b6 = pp.create_bus(net, 0.4) - l1 = pp.create_line(net, b1, b2, length_km=1, std_type="48-AL1/8-ST1A 10.0") + l1 = pp.create_line(net, b1, b2, length_km=1, std_type="48-AL1/8-ST1A 10.0") t1 = pp.create_transformer(net, b2, b3, std_type='160 MVA 380/110 kV') t3w1 = pp.create_transformer3w_from_parameters( - net, - hv_bus=b4, mv_bus=b5, lv_bus=b6, - vn_hv_kv=15., vn_mv_kv=0.9, vn_lv_kv=0.45, sn_hv_mva= 0.6, sn_mv_mva=0.5, - sn_lv_mva=0.4, vk_hv_percent=1., vk_mv_percent=1., vk_lv_percent=1., - vkr_hv_percent=0.3, vkr_mv_percent=0.3, vkr_lv_percent=0.3, - pfe_kw=0.2, i0_percent=0.3, tap_neutral=0. - ) + net, + hv_bus=b4, mv_bus=b5, lv_bus=b6, + vn_hv_kv=15., vn_mv_kv=0.9, vn_lv_kv=0.45, sn_hv_mva=0.6, sn_mv_mva=0.5, + sn_lv_mva=0.4, vk_hv_percent=1., vk_mv_percent=1., vk_lv_percent=1., + vkr_hv_percent=0.3, vkr_mv_percent=0.3, vkr_lv_percent=0.3, + pfe_kw=0.2, i0_percent=0.3, tap_neutral=0. + ) sw = pp.create_switch(net, bus=b1, element=l1, et="l", z_ohm=0.) with pytest.raises(UserWarning, match=r"Switches with indexes \[0\] already exist."): pp.create_switches(net, buses=[b1, b2, b3], elements=[l1, t1, b4], et=["l", "t", "b"], z_ohm=0., @@ -685,25 +687,25 @@ def test_create_loads(): b2 = pp.create_bus(net, 110) b3 = pp.create_bus(net, 110) pp.create_loads(net, buses=[b1, b2, b3], p_mw=[0, 0, 1], q_mwar=0., controllable=[True, False, False], - max_p_mw=0.2, min_p_mw=[0, 0.1, 0], max_q_mvar=0.2, min_q_mvar=[0, 0.1, 0], + max_p_mw=0.2, min_p_mw=[0, 0.1, 0], max_q_mvar=0.2, min_q_mvar=[0, 0.1, 0], ) - assert(net.load.bus.at[0] == b1) - assert(net.load.bus.at[1] == b2) - assert(net.load.bus.at[2] == b3) - assert(net.load.p_mw.at[0] == 0) - assert(net.load.p_mw.at[1] == 0) - assert(net.load.p_mw.at[2] == 1) - assert(net.load.q_mvar.at[0] == 0) - assert(net.load.q_mvar.at[1] == 0) - assert(net.load.q_mvar.at[2] == 0) - assert(net.load.controllable.at[0] == True) - assert(net.load.controllable.at[1] == False) - assert(net.load.controllable.at[2] == False) - assert(all(net.load.max_p_mw.values == 0.2)) - assert(all(net.load.min_p_mw.values == [0, 0.1, 0])) - assert(all(net.load.max_q_mvar.values == 0.2)) - assert(all(net.load.min_q_mvar.values == [0, 0.1, 0])) + assert (net.load.bus.at[0] == b1) + assert (net.load.bus.at[1] == b2) + assert (net.load.bus.at[2] == b3) + assert (net.load.p_mw.at[0] == 0) + assert (net.load.p_mw.at[1] == 0) + assert (net.load.p_mw.at[2] == 1) + assert (net.load.q_mvar.at[0] == 0) + assert (net.load.q_mvar.at[1] == 0) + assert (net.load.q_mvar.at[2] == 0) + assert (net.load.controllable.at[0] == True) + assert (net.load.controllable.at[1] == False) + assert (net.load.controllable.at[2] == False) + assert (all(net.load.max_p_mw.values == 0.2)) + assert (all(net.load.min_p_mw.values == [0, 0.1, 0])) + assert (all(net.load.max_q_mvar.values == 0.2)) + assert (all(net.load.min_q_mvar.values == [0, 0.1, 0])) def test_create_loads_raise_except(): @@ -715,16 +717,16 @@ def test_create_loads_raise_except(): with pytest.raises(UserWarning, match=r"Cannot attach to buses \{3, 4, 5\}, they do not exist"): pp.create_loads(net, buses=[3, 4, 5], p_mw=[0, 0, 1], q_mwar=0., controllable=[True, False, False], - max_p_mw=0.2, min_p_mw=[0, 0.1, 0], max_q_mvar=0.2, min_q_mvar=[0, 0.1, 0], + max_p_mw=0.2, min_p_mw=[0, 0.1, 0], max_q_mvar=0.2, min_q_mvar=[0, 0.1, 0], ) l = pp.create_loads(net, buses=[b1, b2, b3], p_mw=[0, 0, 1], q_mwar=0., controllable=[True, False, False], - max_p_mw=0.2, min_p_mw=[0, 0.1, 0], max_q_mvar=0.2, min_q_mvar=[0, 0.1, 0], + max_p_mw=0.2, min_p_mw=[0, 0.1, 0], max_q_mvar=0.2, min_q_mvar=[0, 0.1, 0], ) with pytest.raises(UserWarning, match=r"Loads with indexes \[0 1 2\] already exist"): pp.create_loads(net, buses=[b1, b2, b3], p_mw=[0, 0, 1], q_mwar=0., controllable=[True, False, False], - max_p_mw=0.2, min_p_mw=[0, 0.1, 0], max_q_mvar=0.2, min_q_mvar=[0, 0.1, 0], - index = l) + max_p_mw=0.2, min_p_mw=[0, 0.1, 0], max_q_mvar=0.2, min_q_mvar=[0, 0.1, 0], + index=l) def test_create_sgens(): @@ -734,28 +736,28 @@ def test_create_sgens(): b2 = pp.create_bus(net, 110) b3 = pp.create_bus(net, 110) pp.create_sgens(net, buses=[b1, b2, b3], p_mw=[0, 0, 1], q_mwar=0., controllable=[True, False, False], - max_p_mw=0.2, min_p_mw=[0, 0.1, 0], max_q_mvar=0.2, min_q_mvar=[0, 0.1, 0], + max_p_mw=0.2, min_p_mw=[0, 0.1, 0], max_q_mvar=0.2, min_q_mvar=[0, 0.1, 0], k=1.3, rx=0.4, current_source=True) - assert(net.sgen.bus.at[0] == b1) - assert(net.sgen.bus.at[1] == b2) - assert(net.sgen.bus.at[2] == b3) - assert(net.sgen.p_mw.at[0] == 0) - assert(net.sgen.p_mw.at[1] == 0) - assert(net.sgen.p_mw.at[2] == 1) - assert(net.sgen.q_mvar.at[0] == 0) - assert(net.sgen.q_mvar.at[1] == 0) - assert(net.sgen.q_mvar.at[2] == 0) - assert(net.sgen.controllable.at[0] == True) - assert(net.sgen.controllable.at[1] == False) - assert(net.sgen.controllable.at[2] == False) - assert(all(net.sgen.max_p_mw.values == 0.2)) - assert(all(net.sgen.min_p_mw.values == [0, 0.1, 0])) - assert(all(net.sgen.max_q_mvar.values == 0.2)) - assert(all(net.sgen.min_q_mvar.values == [0, 0.1, 0])) - assert(all(net.sgen.k.values == 1.3)) - assert(all(net.sgen.rx.values == 0.4)) - assert(all(net.sgen.current_source)) + assert (net.sgen.bus.at[0] == b1) + assert (net.sgen.bus.at[1] == b2) + assert (net.sgen.bus.at[2] == b3) + assert (net.sgen.p_mw.at[0] == 0) + assert (net.sgen.p_mw.at[1] == 0) + assert (net.sgen.p_mw.at[2] == 1) + assert (net.sgen.q_mvar.at[0] == 0) + assert (net.sgen.q_mvar.at[1] == 0) + assert (net.sgen.q_mvar.at[2] == 0) + assert (net.sgen.controllable.at[0] == True) + assert (net.sgen.controllable.at[1] == False) + assert (net.sgen.controllable.at[2] == False) + assert (all(net.sgen.max_p_mw.values == 0.2)) + assert (all(net.sgen.min_p_mw.values == [0, 0.1, 0])) + assert (all(net.sgen.max_q_mvar.values == 0.2)) + assert (all(net.sgen.min_q_mvar.values == [0, 0.1, 0])) + assert (all(net.sgen.k.values == 1.3)) + assert (all(net.sgen.rx.values == 0.4)) + assert (all(net.sgen.current_source)) def test_create_sgens_raise_except(): @@ -768,17 +770,17 @@ def test_create_sgens_raise_except(): with pytest.raises(UserWarning, match=r"Cannot attach to buses \{3, 4, 5\}, they do not exist"): pp.create_sgens( net, buses=[3, 4, 5], p_mw=[0, 0, 1], q_mwar=0., controllable=[True, False, False], - max_p_mw=0.2, min_p_mw=[0, 0.1, 0], max_q_mvar=0.2, min_q_mvar=[0, 0.1, 0], k=1.3, + max_p_mw=0.2, min_p_mw=[0, 0.1, 0], max_q_mvar=0.2, min_q_mvar=[0, 0.1, 0], k=1.3, rx=0.4, current_source=True) sg = pp.create_sgens( net, buses=[b1, b2, b3], p_mw=[0, 0, 1], q_mwar=0., controllable=[True, False, False], - max_p_mw=0.2, min_p_mw=[0, 0.1, 0], max_q_mvar=0.2, min_q_mvar=[0, 0.1, 0], k=1.3, rx=0.4, + max_p_mw=0.2, min_p_mw=[0, 0.1, 0], max_q_mvar=0.2, min_q_mvar=[0, 0.1, 0], k=1.3, rx=0.4, current_source=True) with pytest.raises(UserWarning, match=r"Sgens with indexes \[0 1 2\] already exist"): pp.create_sgens( net, buses=[b1, b2, b3], p_mw=[0, 0, 1], q_mwar=0., controllable=[True, False, False], - max_p_mw=0.2, min_p_mw=[0, 0.1, 0], max_q_mvar=0.2, min_q_mvar=[0, 0.1, 0], k=1.3, + max_p_mw=0.2, min_p_mw=[0, 0.1, 0], max_q_mvar=0.2, min_q_mvar=[0, 0.1, 0], k=1.3, rx=0.4, current_source=True, index=sg) @@ -789,28 +791,28 @@ def test_create_gens(): b2 = pp.create_bus(net, 110) b3 = pp.create_bus(net, 110) pp.create_gens(net, buses=[b1, b2, b3], p_mw=[0, 0, 1], vm_pu=1., controllable=[True, False, False], - max_p_mw=0.2, min_p_mw=[0, 0.1, 0], max_q_mvar=0.2, min_q_mvar=[0, 0.1, 0], + max_p_mw=0.2, min_p_mw=[0, 0.1, 0], max_q_mvar=0.2, min_q_mvar=[0, 0.1, 0], min_vm_pu=0.85, max_vm_pu=1.15, vn_kv=0.4, xdss_pu=0.1, rdss_pu=0.1, cos_phi=1. - ) - assert(net.gen.bus.at[0] == b1) - assert(net.gen.bus.at[1] == b2) - assert(net.gen.bus.at[2] == b3) - assert(net.gen.p_mw.at[0] == 0) - assert(net.gen.p_mw.at[1] == 0) - assert(net.gen.p_mw.at[2] == 1) - assert(net.gen.controllable.at[0] == True) - assert(net.gen.controllable.at[1] == False) - assert(net.gen.controllable.at[2] == False) - assert(all(net.gen.max_p_mw.values == 0.2)) - assert(all(net.gen.min_p_mw.values == [0, 0.1, 0])) - assert(all(net.gen.max_q_mvar.values == 0.2)) - assert(all(net.gen.min_q_mvar.values == [0, 0.1, 0])) - assert(all(net.gen.min_vm_pu.values == 0.85)) - assert(all(net.gen.max_vm_pu.values == 1.15)) - assert(all(net.gen.vn_kv.values == 0.4)) - assert(all(net.gen.xdss_pu.values == 0.1)) - assert(all(net.gen.rdss_pu.values == 0.1)) - assert(all(net.gen.cos_phi.values == 1.)) + ) + assert (net.gen.bus.at[0] == b1) + assert (net.gen.bus.at[1] == b2) + assert (net.gen.bus.at[2] == b3) + assert (net.gen.p_mw.at[0] == 0) + assert (net.gen.p_mw.at[1] == 0) + assert (net.gen.p_mw.at[2] == 1) + assert (net.gen.controllable.at[0] == True) + assert (net.gen.controllable.at[1] == False) + assert (net.gen.controllable.at[2] == False) + assert (all(net.gen.max_p_mw.values == 0.2)) + assert (all(net.gen.min_p_mw.values == [0, 0.1, 0])) + assert (all(net.gen.max_q_mvar.values == 0.2)) + assert (all(net.gen.min_q_mvar.values == [0, 0.1, 0])) + assert (all(net.gen.min_vm_pu.values == 0.85)) + assert (all(net.gen.max_vm_pu.values == 1.15)) + assert (all(net.gen.vn_kv.values == 0.4)) + assert (all(net.gen.xdss_pu.values == 0.1)) + assert (all(net.gen.rdss_pu.values == 0.1)) + assert (all(net.gen.cos_phi.values == 1.)) def test_create_gens_raise_except(): @@ -823,21 +825,21 @@ def test_create_gens_raise_except(): with pytest.raises(UserWarning, match=r"Cannot attach to buses \{3, 4, 5\}, they do not exist"): pp.create_gens( net, buses=[3, 4, 5], p_mw=[0, 0, 1], vm_pu=1., controllable=[True, False, False], - max_p_mw=0.2, min_p_mw=[0, 0.1, 0], max_q_mvar=0.2, min_q_mvar=[0, 0.1, 0], + max_p_mw=0.2, min_p_mw=[0, 0.1, 0], max_q_mvar=0.2, min_q_mvar=[0, 0.1, 0], min_vm_pu=0.85, max_vm_pu=1.15, vn_kv=0.4, xdss_pu=0.1, rdss_pu=0.1, cos_phi=1.) g = pp.create_gens( net, buses=[b1, b2, b3], p_mw=[0, 0, 1], vm_pu=1., controllable=[True, False, False], - max_p_mw=0.2, min_p_mw=[0, 0.1, 0], max_q_mvar=0.2, min_q_mvar=[0, 0.1, 0], min_vm_pu=0.85, + max_p_mw=0.2, min_p_mw=[0, 0.1, 0], max_q_mvar=0.2, min_q_mvar=[0, 0.1, 0], min_vm_pu=0.85, max_vm_pu=1.15, vn_kv=0.4, xdss_pu=0.1, rdss_pu=0.1, cos_phi=1.) with pytest.raises(UserWarning, match=r"Gens with indexes \[0 1 2\] already exist"): pp.create_gens( net, buses=[b1, b2, b3], p_mw=[0, 0, 1], vm_pu=1., controllable=[True, False, False], - max_p_mw=0.2, min_p_mw=[0, 0.1, 0], max_q_mvar=0.2, min_q_mvar=[0, 0.1, 0], + max_p_mw=0.2, min_p_mw=[0, 0.1, 0], max_q_mvar=0.2, min_q_mvar=[0, 0.1, 0], min_vm_pu=0.85, max_vm_pu=1.15, vn_kv=0.4, xdss_pu=0.1, rdss_pu=0.1, cos_phi=1., index=g) if __name__ == '__main__': - pytest.main(["test_create.py"]) + pytest.main(["test_create.py"]) From b175b70c7751c1a0b6935684e7e33b9f737b6f3a Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Fri, 12 Nov 2021 20:48:02 +0100 Subject: [PATCH 300/422] add silence option --- pandapower/converter/powermodels/to_pm.py | 42 ++++++++++++++--------- 1 file changed, 26 insertions(+), 16 deletions(-) diff --git a/pandapower/converter/powermodels/to_pm.py b/pandapower/converter/powermodels/to_pm.py index 4d044d28e..b42ac2511 100644 --- a/pandapower/converter/powermodels/to_pm.py +++ b/pandapower/converter/powermodels/to_pm.py @@ -43,28 +43,37 @@ def default(self, obj): return None return json.JSONEncoder.default(self, obj) -def convert_pp_to_pm(net, pm_file_path=None, correct_pm_network_data=True, calculate_voltage_angles=True, ac=True, - trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, - pp_to_pm_callback=None, pm_model="ACPPowerModel", pm_solver="ipopt", +def convert_pp_to_pm(net, pm_file_path=None, correct_pm_network_data=True, calculate_voltage_angles=True, + ac=True, silence=True, trafo_model="t", delta=1e-8, trafo3w_losses="hv", + check_connectivity=True, pp_to_pm_callback=None, pm_model="ACPPowerModel", pm_solver="ipopt", pm_mip_solver="cbc", pm_nl_solver="ipopt", opf_flow_lim = "S", pm_tol=1e-8): """ Converts a pandapower net to a PowerModels.jl datastructure and saves it to a json file INPUT: - **net** - pandapower net + @param net: - pandapower net OPTIONAL: - **pm_file_path** (str, None) - file path to *.json file to store pm data to - **correct_pm_network_data** (bool, True) - correct some input data (e.g. angles, p.u. conversion) - **delta** (float, 1e-8) - (small) offset to set for "hard" OPF limits. - **pp_to_pm_callback** (function, None) - callback function to add data to the PowerModels data structure - **pm_model** (str, "ACPPowerModel") - model to use. Default is AC model - **pm_solver** (str, "ipopt") - default solver to use. - **pm_nl_solver** (str, "ipopt") - default nonlinear solver to use. - **pm_mip_solver** (str, "cbc") - default mip solver to use. - **pm_tol** (float, 1e-8) - default desired convergence tolerance for solver to use. - **correct_pm_network_data** (bool, True) - checks if network data is correct. If not tries to correct it + @param pm_file_path: (str, None) - Specifiy the filename, under which the .json file for powermodels is stored. If + you want to keep the file after optimization, you should also set delete_buffer_file to False! + @param correct_pm_network_data: (bool, True) - checks if network data is correct. If not tries to correct it + @param silence: (bool, True) - Suppresses information and warning messages output by PowerModels + @param pm_model: (str, "ACPPowerModel") - The PowerModels.jl model to use + @param pm_solver: (str, "ipopt") - The "main" power models solver + @param pm_mip_solver: (str, "cbc") - The mixed integer solver (when "main" solver == juniper) + @param pm_nl_solver: (str, "ipopt") - The nonlinear solver (when "main" solver == juniper) + @param pm_time_limits: (Dict, None) - Time limits in seconds for power models interface. To be set as a dict like + {"pm_time_limit": 300., "pm_nl_time_limit": 300., "pm_mip_time_limit": 300.} + @param pm_log_level: (int, 0) - solver log level in power models + @param delete_buffer_file: (Bool, True) - If True, the .json file used by powermodels will be deleted after + optimization. + @param pp_to_pm_callback: (function, None) - callback function to add data to the PowerModels data structure + @param opf_flow_lim: (str, "I") - Quantity to limit for branch flow constraints, in line with matpower's + "opf.flowlim" parameter: + "S" - apparent power flow (limit in MVA), + "I" - current magnitude (limit in MVA at 1 p.u. voltage) + @param pm_tol: (float, 1e-8) - default desired convergence tolerance for solver to use. + Returns ------- - **pm** (json str) - PowerModels.jl data structure """ net._options = {} @@ -76,7 +85,7 @@ def convert_pp_to_pm(net, pm_file_path=None, correct_pm_network_data=True, calcu voltage_depend_loads=False, delta=delta, trafo3w_losses=trafo3w_losses) _add_opf_options(net, trafo_loading='power', ac=ac, init="flat", numba=True, pp_to_pm_callback=pp_to_pm_callback, pm_solver=pm_solver, pm_model=pm_model, - correct_pm_network_data=correct_pm_network_data, pm_mip_solver=pm_mip_solver, + correct_pm_network_data=correct_pm_network_data, silence=silence, pm_mip_solver=pm_mip_solver, pm_nl_solver=pm_nl_solver, opf_flow_lim=opf_flow_lim, pm_tol=pm_tol) net, pm, ppc, ppci = convert_to_pm_structure(net) @@ -367,6 +376,7 @@ def add_pm_options(pm, net): else: pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"] = np.inf, np.inf, np.inf pm["correct_pm_network_data"] = net._options["correct_pm_network_data"] + pm["silence"] = net._options["silence"] return pm From ccce959de84ed3beed01c6ae927bdf3a50fc4907 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Fri, 12 Nov 2021 20:48:43 +0100 Subject: [PATCH 301/422] edit info --- pandapower/runpm.py | 385 +++++++++++++------------------------------- 1 file changed, 110 insertions(+), 275 deletions(-) diff --git a/pandapower/runpm.py b/pandapower/runpm.py index e24358edd..76dc48556 100644 --- a/pandapower/runpm.py +++ b/pandapower/runpm.py @@ -2,20 +2,22 @@ # and Energy System Technology (IEE), Kassel. All rights reserved. # Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. + import os from pandapower.auxiliary import _add_ppc_options, _add_opf_options from pandapower.converter.powermodels.from_pm import read_ots_results, read_tnep_results from pandapower.opf.pm_storage import add_storage_opf_settings, read_pm_storage_results from pandapower.opf.run_powermodels import _runpm + def runpm(net, julia_file=None, pp_to_pm_callback=None, calculate_voltage_angles=True, trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, - correct_pm_network_data=True, pm_model="ACPPowerModel", pm_solver="ipopt", + correct_pm_network_data=True, silence=True, pm_model="ACPPowerModel", pm_solver="ipopt", pm_mip_solver="cbc", pm_nl_solver="ipopt", pm_time_limits=None, pm_log_level=0, delete_buffer_file=True, pm_file_path = None, opf_flow_lim="S", pm_tol=1e-8, pdm_dev_mode=False, **kwargs): # pragma: no cover """ - Runs a power system optimization using PowerModels.jl. with a custom julia file. + Runs optimal power flow from PowerModels.jl via PandaModels.jl Flexibilities, constraints and cost parameters are defined in the pandapower element tables. @@ -23,57 +25,54 @@ def runpm(net, julia_file=None, pp_to_pm_callback=None, calculate_voltage_angles net.sgen.controllable if a static generator is controllable. If False, the active and reactive power are assigned as in a normal power flow. If True, the following flexibilities apply: - - - net.sgen.min_p_mw / net.sgen.max_p_mw - - net.sgen.min_q_mvar / net.sgen.max_q_mvar - - net.load.min_p_mw / net.load.max_p_mw - - net.load.min_q_mvar / net.load.max_q_mvar - - net.gen.min_p_mw / net.gen.max_p_mw - - net.gen.min_q_mvar / net.gen.max_q_mvar - - net.ext_grid.min_p_mw / net.ext_grid.max_p_mw - - net.ext_grid.min_q_mvar / net.ext_grid.max_q_mvar - - net.dcline.min_q_to_mvar / net.dcline.max_q_to_mvar / net.dcline.min_q_from_mvar / net.dcline.max_q_from_mvar + - net.sgen.min_p_mw / net.sgen.max_p_mw + - net.sgen.min_q_mvar / net.sgen.max_q_mvar + - net.load.min_p_mw / net.load.max_p_mw + - net.load.min_q_mvar / net.load.max_q_mvar + - net.gen.min_p_mw / net.gen.max_p_mw + - net.gen.min_q_mvar / net.gen.max_q_mvar + - net.ext_grid.min_p_mw / net.ext_grid.max_p_mw + - net.ext_grid.min_q_mvar / net.ext_grid.max_q_mvar + - net.dcline.min_q_to_mvar / net.dcline.max_q_to_mvar / net.dcline.min_q_from_mvar / net.dcline.max_q_from_mvar Controllable loads behave just like controllable static generators. It must be stated if they are controllable. Otherwise, they are not respected as flexibilities. Dc lines are controllable per default Network constraints can be defined for buses, lines and transformers the elements in the following columns: - - - net.bus.min_vm_pu / net.bus.max_vm_pu - - net.line.max_loading_percent - - net.trafo.max_loading_percent - - net.trafo3w.max_loading_percent + - net.bus.min_vm_pu / net.bus.max_vm_pu + - net.line.max_loading_percent + - net.trafo.max_loading_percent + - net.trafo3w.max_loading_percent How these costs are combined into a cost function depends on the cost_function parameter. INPUT: - **net** - The pandapower format network + @param net: - The pandapower format network OPTIONAL: - **julia_file** (str, None) - path to a custom julia optimization file - **pp_to_pm_callback** (function, None) - callback function to add data to the PowerModels data structure - **correct_pm_network_data** (bool, True) - checks if network data is correct. If not tries to correct it - **pm_model** (str, "ACPPowerModel") - The PowerModels.jl model to use - **pm_solver** (str, "ipopt") - The "main" power models solver - **pm_mip_solver** (str, "cbc") - The mixed integer solver (when "main" solver == juniper) - **pm_nl_solver** (str, "ipopt") - The nonlinear solver (when "main" solver == juniper) - **pm_time_limits** (Dict, None) - Time limits in seconds for power models interface. To be set as a dict like - {"pm_time_limit": 300., "pm_nl_time_limit": 300., "pm_mip_time_limit": 300.} - **pm_log_level** (int, 0) - solver log level in power models - **delete_buffer_file** (Bool, True) - If True, the .json file used by powermodels will be deleted after - optimization. - **pm_file_path** (str, None) - Specifiy the filename, under which the .json file for powermodels is stored. If - you want to keep the file after optimization, you should also set - delete_buffer_file to False! - **opf_flow_lim** (str, "I") - Quantity to limit for branch flow constraints, in line with matpower's - - "opf.flowlim" parameter: - "S" - apparent power flow (limit in MVA), - "I" - current magnitude (limit in MVA at 1 p.u. voltage) - - **pm_tol** (float, 1e-8) - default desired convergence tolerance for solver to use. - **pdm_dev_mode** (bool, False) - If True, the develope mode of PdM is called. + @param julia_file: (str, None) - path to a custom julia optimization file + @param pp_to_pm_callback: (function, None) - callback function to add data to the PowerModels data structure + @param correct_pm_network_data: (bool, True) - checks if network data is correct. If not tries to correct it + @param silence: (bool, True) - Suppresses information and warning messages output by PowerModels + @param pm_model: (str, "ACPPowerModel") - The PowerModels.jl model to use + @param pm_solver: (str, "ipopt") - The "main" power models solver + @param pm_mip_solver: (str, "cbc") - The mixed integer solver (when "main" solver == juniper) + @param pm_nl_solver: (str, "ipopt") - The nonlinear solver (when "main" solver == juniper) + @param pm_time_limits: (Dict, None) - Time limits in seconds for power models interface. To be set as a dict like + {"pm_time_limit": 300., "pm_nl_time_limit": 300., "pm_mip_time_limit": 300.} + @param pm_log_level: (int, 0) - solver log level in power models + @param delete_buffer_file: (Bool, True) - If True, the .json file used by powermodels will be deleted after + optimization. + @param pm_file_path: (str, None) - Specifiy the filename, under which the .json file for powermodels is stored. If + you want to keep the file after optimization, you should also set + delete_buffer_file to False! + @param opf_flow_lim: (str, "I") - Quantity to limit for branch flow constraints, in line with matpower's + "opf.flowlim" parameter: + "S" - apparent power flow (limit in MVA), + "I" - current magnitude (limit in MVA at 1 p.u. voltage) + @param pm_tol: (float, 1e-8) - default desired convergence tolerance for solver to use. + @param pdm_dev_mode: (bool, False) - If True, the develope mode of PdM is called. """ ac = True if "DC" not in pm_model else False net._options = {} @@ -84,63 +83,20 @@ def runpm(net, julia_file=None, pp_to_pm_callback=None, calculate_voltage_angles voltage_depend_loads=False, delta=delta, trafo3w_losses=trafo3w_losses) _add_opf_options(net, trafo_loading='power', ac=ac, init="flat", numba=True, pp_to_pm_callback=pp_to_pm_callback, julia_file="run_powermodels_opf", pm_solver=pm_solver, pm_model=pm_model, - correct_pm_network_data=correct_pm_network_data, pm_mip_solver=pm_mip_solver, + correct_pm_network_data=correct_pm_network_data, silence=silence, pm_mip_solver=pm_mip_solver, pm_nl_solver=pm_nl_solver, pm_time_limits=pm_time_limits, pm_log_level=pm_log_level, opf_flow_lim=opf_flow_lim, pm_tol=pm_tol) + _runpm(net, delete_buffer_file=delete_buffer_file, pm_file_path=pm_file_path, pdm_dev_mode=pdm_dev_mode) def runpm_dc_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, - correct_pm_network_data=True, pm_model="DCPPowerModel", pm_solver="ipopt", + correct_pm_network_data=True, silence=True, pm_model="DCPPowerModel", pm_solver="ipopt", pm_time_limits=None, pm_log_level=0, delete_buffer_file=True, pm_file_path = None, - pm_tol=1e-8, pdm_dev_mode=False, **kwargs): # pragma: no cover + pm_tol=1e-8, pdm_dev_mode=False, **kwargs): """ - Runs a linearized power system optimization using PowerModels.jl. - - Flexibilities, constraints and cost parameters are defined in the pandapower element tables. - - Flexibilities can be defined in net.sgen / net.gen /net.load - net.sgen.controllable if a static generator is controllable. If False, - the active and reactive power are assigned as in a normal power flow. If True, the following - flexibilities apply: - - - net.sgen.min_p_mw / net.sgen.max_p_mw - - net.sgen.min_q_mvar / net.sgen.max_q_mvar - - net.load.min_p_mw / net.load.max_p_mw - - net.load.min_q_mvar / net.load.max_q_mvar - - net.gen.min_p_mw / net.gen.max_p_mw - - net.gen.min_q_mvar / net.gen.max_q_mvar - - net.ext_grid.min_p_mw / net.ext_grid.max_p_mw - - net.ext_grid.min_q_mvar / net.ext_grid.max_q_mvar - - net.dcline.min_q_to_mvar / net.dcline.max_q_to_mvar / net.dcline.min_q_from_mvar / net.dcline.max_q_from_mvar - - Controllable loads behave just like controllable static generators. It must be stated if they are controllable. - Otherwise, they are not respected as flexibilities. - Dc lines are controllable per default - - Network constraints can be defined for buses, lines and transformers the elements in the following columns: - - - net.bus.min_vm_pu / net.bus.max_vm_pu - - net.line.max_loading_percent - - net.trafo.max_loading_percent - - net.trafo3w.max_loading_percent - - How these costs are combined into a cost function depends on the cost_function parameter. - - INPUT: - **net** - The pandapower format network - - OPTIONAL: - **pp_to_pm_callback** (function, None) - callback function to add data to the PowerModels data structure - **pm_model** (str, "DCPPowerModel") - model to use. Default is DC model - **pm_solver** (str, "ipopt") - The "main" power models solver - **correct_pm_network_data** (bool, True) - checks if network data is correct. If not tries to correct it - **pm_time_limits** (Dict, None) - Time limits in seconds for power models interface. To be set as a dict like - {"pm_time_limit": 300.} - **pm_log_level** (int, 0) - solver log level in power models - **pm_tol** (float, 1e-8) - default desired convergence tolerance for solver to use. - **pdm_dev_mode** (bool, False) - If True, the develope mode of PdM is called. + Runs linearized optimal power flow from PowerModels.jl via PandaModels.jl """ net._options = {} _add_ppc_options(net, calculate_voltage_angles=calculate_voltage_angles, @@ -150,120 +106,48 @@ def runpm_dc_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, voltage_depend_loads=False, delta=delta, trafo3w_losses=trafo3w_losses) _add_opf_options(net, trafo_loading='power', ac=False, init="flat", numba=True, pp_to_pm_callback=pp_to_pm_callback, julia_file="run_powermodels_opf", - correct_pm_network_data=correct_pm_network_data, pm_model=pm_model, pm_solver=pm_solver, + correct_pm_network_data=correct_pm_network_data, silence=silence, pm_model=pm_model, pm_solver=pm_solver, pm_time_limits=pm_time_limits, pm_log_level=pm_log_level, opf_flow_lim="S", pm_tol=pm_tol) - _runpm(net, delete_buffer_file, pm_file_path, pdm_dev_mode=pdm_dev_mode) + + _runpm(net, delete_buffer_file=delete_buffer_file, pm_file_path=pm_file_path, pdm_dev_mode=pdm_dev_mode) def runpm_ac_opf(net, pp_to_pm_callback=None, calculate_voltage_angles=True, trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, - pm_model="ACPPowerModel", pm_solver="ipopt", correct_pm_network_data=True, - pm_time_limits=None, pm_log_level=0, pm_file_path = None, delete_buffer_file=True, - opf_flow_lim="S", pm_tol=1e-8, pdm_dev_mode=False, **kwargs): # pragma: no cover + pm_solver="ipopt", correct_pm_network_data=True, silence=True, + pm_time_limits=None, pm_log_level=0, pm_file_path=None, delete_buffer_file=True, + opf_flow_lim="S", pm_tol=1e-8, pdm_dev_mode=False, **kwargs): """ - Runs a non-linear power system optimization using PowerModels.jl. - - Flexibilities, constraints and cost parameters are defined in the pandapower element tables. - - Flexibilities can be defined in net.sgen / net.gen /net.load - net.sgen.controllable if a static generator is controllable. If False, - the active and reactive power are assigned as in a normal power flow. If True, the following - flexibilities apply: - - - net.sgen.min_p_mw / net.sgen.max_p_mw - - net.sgen.min_q_mvar / net.sgen.max_q_mvar - - net.load.min_p_mw / net.load.max_p_mw - - net.load.min_q_mvar / net.load.max_q_mvar - - net.gen.min_p_mw / net.gen.max_p_mw - - net.gen.min_q_mvar / net.gen.max_q_mvar - - net.ext_grid.min_p_mw / net.ext_grid.max_p_mw - - net.ext_grid.min_q_mvar / net.ext_grid.max_q_mvar - - net.dcline.min_q_to_mvar / net.dcline.max_q_to_mvar / net.dcline.min_q_from_mvar / net.dcline.max_q_from_mvar - - Controllable loads behave just like controllable static generators. It must be stated if they are controllable. - Otherwise, they are not respected as flexibilities. - Dc lines are controllable per default - - Network constraints can be defined for buses, lines and transformers the elements in the following columns: - - - net.bus.min_vm_pu / net.bus.max_vm_pu - - net.line.max_loading_percent - - net.trafo.max_loading_percent - - net.trafo3w.max_loading_percent - - How these costs are combined into a cost function depends on the cost_function parameter. - - INPUT: - **net** - The pandapower format network - - OPTIONAL: - **pp_to_pm_callback** (function, None) - callback function to add data to the PowerModels data structure - **pm_model** (str, "ACPPowerModel") - model to use. Default is AC model - **pm_solver** (str, "ipopt") - default solver to use. If ipopt is not available use Ipopt - **correct_pm_network_data** (bool, True) - checks if network data is correct. If not tries to correct it - **pm_time_limits** (Dict, None) - Time limits in seconds for power models interface. To be set as a dict like - {"pm_time_limit": 300.} - **pm_log_level** (int, 0) - solver log level in power models - **opf_flow_lim** (str, "I") - Quantity to limit for branch flow constraints, in line with matpower's - "opf.flowlim" parameter - "S" - apparent power flow (limit in MVA), - "I" - current magnitude (limit in MVA at 1 p.u. voltage) - **delete_buffer_file** (Bool, True) - If True, the .json file used by powermodels will be deleted after - optimization. - **pm_file_path** (str, None) - Specifiy the filename, under which the .json file for powermodels is stored. If - you want to keep the file after optimization, you should also set - delete_buffer_file to False! - **pdm_dev_mode** (bool, False) - If True, the develope mode of PdM is called. + Runs non-linear optimal power flow from PowerModels.jl via PandaModels.jl """ net._options = {} _add_ppc_options(net, calculate_voltage_angles=calculate_voltage_angles, trafo_model=trafo_model, check_connectivity=check_connectivity, mode="opf", switch_rx_ratio=2, init_vm_pu="flat", init_va_degree="flat", enforce_q_lims=True, recycle=dict(_is_elements=False, ppc=False, Ybus=False), - voltage_depend_loads=False, delta=delta, trafo3w_losses=trafo3w_losses) + voltage_depend_loads=False, delta=delta, trafo3w_losses=trafo3w_losses) _add_opf_options(net, trafo_loading='power', ac=True, init="flat", numba=True, - pp_to_pm_callback=pp_to_pm_callback, julia_file="run_powermodels_opf", pm_model=pm_model, pm_solver=pm_solver, - correct_pm_network_data=correct_pm_network_data, pm_time_limits=pm_time_limits, + pp_to_pm_callback=pp_to_pm_callback, julia_file="run_powermodels_opf", pm_model="ACPPowerModel", pm_solver=pm_solver, + correct_pm_network_data=correct_pm_network_data, silence=silence, pm_time_limits=pm_time_limits, pm_log_level=pm_log_level, opf_flow_lim=opf_flow_lim, pm_tol=pm_tol) - _runpm(net, pm_file_path=pm_file_path, delete_buffer_file=delete_buffer_file, pdm_dev_mode=pdm_dev_mode) + _runpm(net, delete_buffer_file=delete_buffer_file, pm_file_path=pm_file_path, pdm_dev_mode=pdm_dev_mode) + -def runpm_tnep(net, pp_to_pm_callback=None, calculate_voltage_angles=True, +def runpm_tnep(net, julia_file=None, pp_to_pm_callback=None, calculate_voltage_angles=True, trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, - pm_model="DCPPowerModel", pm_solver=None, correct_pm_network_data=True, + pm_model="ACPPowerModel", pm_solver="juniper", correct_pm_network_data=True, silence=True, pm_nl_solver="ipopt", pm_mip_solver="cbc", pm_time_limits=None, pm_log_level=0, - opf_flow_lim="S", pm_tol=1e-8, pdm_dev_mode=False, **kwargs): # pragma: no cover + delete_buffer_file=True, pm_file_path=None, opf_flow_lim="S", pm_tol=1e-8, + pdm_dev_mode=False, **kwargs): + """ + Runs transmission network extension planning (tnep) optimization from PowerModels.jl via PandaModels.jl """ - Runs a non-linear transmission network extension planning (tnep) optimization using PowerModels.jl. - - OPTIONAL: - **julia_file** (str, None) - path to a custom julia optimization file. - - **pp_to_pm_callback** (function, None) - callback function to add data to the PowerModels data structure. - - **correct_pm_network_data** (bool, True) - checks if network data is correct. If not tries to correct it. - - **pm_model** (str, "ACPPowerModel") - The PowerModels.jl model to use. - - **pm_solver** (str, "juniper") - The "main" power models solver. - - **pm_mip_solver** (str, "cbc") - The mixed integer solver (when "main" solver == juniper). - - **pm_nl_solver** (str, "ipopt") - The nonlinear solver (when "main" solver == juniper). - - **pm_time_limits** (Dict, None) - Time limits in seconds for power models interface. To be set as a dict like - {"pm_time_limit": 300., "pm_nl_time_limit": 300., "pm_mip_time_limit": 300.} - - **pm_log_level** (int, 0) - solver log level in power model. - - **pm_tol** (float, 1e-8) - default desired convergence tolerance for solver to use. - **pdm_dev_mode** (bool, False) - If True, the develope mode of PdM is called. - """ ac = True if "DC" not in pm_model else False if pm_solver is None: if pm_model == "DCPPowerModel": - pm_solver = "gurobi" + pm_solver = "ipopt" else: pm_solver = "juniper" @@ -277,34 +161,23 @@ def runpm_tnep(net, pp_to_pm_callback=None, calculate_voltage_angles=True, voltage_depend_loads=False, delta=delta, trafo3w_losses=trafo3w_losses) _add_opf_options(net, trafo_loading='power', ac=ac, init="flat", numba=True, pp_to_pm_callback=pp_to_pm_callback, julia_file="run_powermodels_tnep", pm_model=pm_model, pm_solver=pm_solver, - correct_pm_network_data=correct_pm_network_data, pm_nl_solver=pm_nl_solver, + correct_pm_network_data=correct_pm_network_data, silence=silence, pm_nl_solver=pm_nl_solver, pm_mip_solver=pm_mip_solver, pm_time_limits=pm_time_limits, pm_log_level=pm_log_level, - opf_flow_lim=opf_flow_lim, pm_tol=pm_tol, pdm_dev_mode=pdm_dev_mode) - _runpm(net) + opf_flow_lim=opf_flow_lim, pm_tol=pm_tol) + + _runpm(net, delete_buffer_file=delete_buffer_file, pm_file_path=pm_file_path, pdm_dev_mode=pdm_dev_mode) read_tnep_results(net) -def runpm_ots(net, pp_to_pm_callback=None, calculate_voltage_angles=True, +def runpm_ots(net, julia_file=None, pp_to_pm_callback=None, calculate_voltage_angles=True, trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, pm_model="DCPPowerModel", pm_solver="juniper", pm_nl_solver="ipopt", - pm_mip_solver="cbc", correct_pm_network_data=True, pm_time_limits=None, - pm_log_level=0, pm_tol=1e-8, pdm_dev_mode=False, **kwargs): # pragma: no cover + pm_mip_solver="cbc", correct_pm_network_data=True, silence=True, pm_time_limits=None, + pm_log_level=0, delete_buffer_file=True, pm_file_path=None, opf_flow_lim="S", pm_tol=1e-8, + pdm_dev_mode=False, **kwargs): + """ + Runs optimal transmission switching (OTS) optimization from PowerModels.jl via PandaModels.jl """ - Runs a non-linear optimal transmission switching (OTS) optimization using PowerModels.jl. - OPTIONAL: - **julia_file** (str, None) - path to a custom julia optimization file - **pp_to_pm_callback** (function, None) - callback function to add data to the PowerModels data structure - **correct_pm_network_data** (bool, True) - checks if network data is correct. If not tries to correct it - **pm_model** (str, "ACPPowerModel") - The PowerModels.jl model to use - **pm_solver** (str, "juniper") - The "main" power models solver - **pm_mip_solver** (str, "cbc") - The mixed integer solver (when "main" solver == juniper) - **pm_nl_solver** (str, "ipopt") - The nonlinear solver (when "main" solver == juniper) - **pm_time_limits** (Dict, None) - Time limits in seconds for power models interface. To be set as a dict like - {"pm_time_limit": 300., "pm_nl_time_limit": 300., "pm_mip_time_limit": 300.} - **pm_log_level** (int, 0) - solver log level in power models - **pm_tol** (float, 1e-8) - default desired convergence tolerance for solver to use. - **pdm_dev_mode** (bool, False) - If True, the develope mode of PdM is called. - """ ac = True if "DC" not in pm_model else False if pm_solver is None: pm_solver = "juniper" @@ -317,30 +190,22 @@ def runpm_ots(net, pp_to_pm_callback=None, calculate_voltage_angles=True, voltage_depend_loads=False, delta=delta, trafo3w_losses=trafo3w_losses) _add_opf_options(net, trafo_loading='power', ac=ac, init="flat", numba=True, pp_to_pm_callback=pp_to_pm_callback, julia_file="run_powermodels_ots", pm_model=pm_model, pm_solver=pm_solver, - correct_pm_network_data=correct_pm_network_data, pm_mip_solver=pm_mip_solver, + correct_pm_network_data=correct_pm_network_data, silence=silence, pm_mip_solver=pm_mip_solver, pm_nl_solver=pm_nl_solver, pm_time_limits=pm_time_limits, pm_log_level=pm_log_level, - opf_flow_lim="S", pm_tol=pm_tol, pdm_dev_mode=pdm_dev_mode) - _runpm(net) + opf_flow_lim="S", pm_tol=pm_tol) + + _runpm(net, delete_buffer_file=delete_buffer_file, pm_file_path=pm_file_path, pdm_dev_mode=pdm_dev_mode) read_ots_results(net) def runpm_storage_opf(net, calculate_voltage_angles=True, trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, - n_timesteps=24, time_elapsed=1., correct_pm_network_data=True, + n_timesteps=24, time_elapsed=1., correct_pm_network_data=True, silence=True, pm_model="ACPPowerModel", pm_time_limits=None, pm_log_level=0, opf_flow_lim="S", charge_efficiency=1., discharge_efficiency=1., standby_loss=1e-8, p_loss=1e-8, q_loss=1e-8, pm_tol=1e-8, pdm_dev_mode=False, **kwargs): """ Runs a non-linear power system optimization with storages and time series using PowerModels.jl. - INPUT: - **net** - The pandapower format network - OPTIONAL: - **n_timesteps** (int, 24) - number of time steps to optimize - **time_elapsed** (float, 1.0) - time elapsed between time steps (1.0 = 1 hour) - **pm_time_limits** (Dict, None) - Time limits in seconds for power models interface. To be set as a dict like - {"pm_time_limit": 300., "pm_nl_time_limit": 300., "pm_mip_time_limit": 300.} - **pm_log_level** (int, 0) - solver log level in power models - **pdm_dev_mode** (bool, False) - If True, the develope mode of PdM is called. - """ + """ ac = True if "DC" not in pm_model else False net._options = {} _add_ppc_options(net, calculate_voltage_angles=calculate_voltage_angles, @@ -350,7 +215,7 @@ def runpm_storage_opf(net, calculate_voltage_angles=True, voltage_depend_loads=False, delta=delta, trafo3w_losses=trafo3w_losses) _add_opf_options(net, trafo_loading='power', ac=ac, init="flat", numba=True, pp_to_pm_callback=add_storage_opf_settings, julia_file="run_powermodels_mn_storage", - correct_pm_network_data=correct_pm_network_data, pm_model=pm_model, pm_time_limits=pm_time_limits, + correct_pm_network_data=correct_pm_network_data, silence=silence, pm_model=pm_model, pm_time_limits=pm_time_limits, pm_log_level=pm_log_level, opf_flow_lim=opf_flow_lim, pm_tol=pm_tol, pdm_dev_mode=pdm_dev_mode) net._options["n_time_steps"] = n_timesteps @@ -370,63 +235,11 @@ def runpm_storage_opf(net, calculate_voltage_angles=True, def runpm_vd(net, pp_to_pm_callback=None, calculate_voltage_angles=True, trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, - pm_model="ACPPowerModel", pm_solver="ipopt", correct_pm_network_data=True, + pm_model="ACPPowerModel", pm_solver="ipopt", correct_pm_network_data=True, silence=True, pm_time_limits=None, pm_log_level=0, pm_file_path = None, delete_buffer_file=True, - opf_flow_lim="S", pm_tol=1e-8, pdm_dev_mode=False, **kwargs): # pragma: no cover + opf_flow_lim="S", pm_tol=1e-8, pdm_dev_mode=False, **kwargs): """ - Runs a non-linear power system optimization using PowerModels.jl. - - Flexibilities, constraints and cost parameters are defined in the pandapower element tables. - - Flexibilities can be defined in net.sgen / net.gen /net.load - net.sgen.controllable if a static generator is controllable. If False, - the active and reactive power are assigned as in a normal power flow. If True, the following - flexibilities apply: - - - net.sgen.min_p_mw / net.sgen.max_p_mw - - net.sgen.min_q_mvar / net.sgen.max_q_mvar - - net.load.min_p_mw / net.load.max_p_mw - - net.load.min_q_mvar / net.load.max_q_mvar - - net.gen.min_p_mw / net.gen.max_p_mw - - net.gen.min_q_mvar / net.gen.max_q_mvar - - net.ext_grid.min_p_mw / net.ext_grid.max_p_mw - - net.ext_grid.min_q_mvar / net.ext_grid.max_q_mvar - - net.dcline.min_q_to_mvar / net.dcline.max_q_to_mvar / net.dcline.min_q_from_mvar / net.dcline.max_q_from_mvar - - Controllable loads behave just like controllable static generators. It must be stated if they are controllable. - Otherwise, they are not respected as flexibilities. - Dc lines are controllable per default - - Network constraints can be defined for buses, lines and transformers the elements in the following columns: - - - net.bus.min_vm_pu / net.bus.max_vm_pu - - net.line.max_loading_percent - - net.trafo.max_loading_percent - - net.trafo3w.max_loading_percent - - How these costs are combined into a cost function depends on the cost_function parameter. - - INPUT: - **net** - The pandapower format network - - OPTIONAL: - **pp_to_pm_callback** (function, None) - callback function to add data to the PowerModels data structure - **pm_model** (str, "ACPPowerModel") - model to use. Default is AC model - **pm_solver** (str, "ipopt") - default solver to use. If ipopt is not available use Ipopt - **correct_pm_network_data** (bool, True) - checks if network data is correct. If not tries to correct it - **pm_time_limits** (Dict, None) - Time limits in seconds for power models interface. To be set as a dict like - {"pm_time_limit": 300.} - **pm_log_level** (int, 0) - solver log level in power models - **opf_flow_lim** (str, "I") - Quantity to limit for branch flow constraints, in line with matpower's - "opf.flowlim" parameter - "S" - apparent power flow (limit in MVA), - "I" - current magnitude (limit in MVA at 1 p.u. voltage) - **delete_buffer_file** (Bool, True) - If True, the .json file used by powermodels will be deleted after - optimization. - **pm_file_path** (str, None) - Specifiy the filename, under which the .json file for powermodels is stored. If - you want to keep the file after optimization, you should also set - delete_buffer_file to False! - **pdm_dev_mode** (bool, False) - If True, the develope mode of PdM is called. + Runs non-linear problem for voltage deviation minimization from PandaModels.jl. """ net._options = {} _add_ppc_options(net, calculate_voltage_angles=calculate_voltage_angles, @@ -435,11 +248,33 @@ def runpm_vd(net, pp_to_pm_callback=None, calculate_voltage_angles=True, enforce_q_lims=True, recycle=dict(_is_elements=False, ppc=False, Ybus=False), voltage_depend_loads=False, delta=delta, trafo3w_losses=trafo3w_losses) _add_opf_options(net, trafo_loading='power', ac=True, init="flat", numba=True, - pp_to_pm_callback=pp_to_pm_callback, julia_file="run_vd", pm_model=pm_model, pm_solver=pm_solver, - correct_pm_network_data=correct_pm_network_data, pm_time_limits=pm_time_limits, + pp_to_pm_callback=pp_to_pm_callback, julia_file="run_pandamodels_vd", pm_model=pm_model, pm_solver=pm_solver, + correct_pm_network_data=correct_pm_network_data, silence=silence, pm_time_limits=pm_time_limits, pm_log_level=pm_log_level, opf_flow_lim=opf_flow_lim, pm_tol=pm_tol) - _runpm(net, pm_file_path=pm_file_path, delete_buffer_file=delete_buffer_file, pdm_dev_mode=pdm_dev_mode) + _runpm(net, delete_buffer_file=delete_buffer_file, pm_file_path=pm_file_path, pdm_dev_mode=pdm_dev_mode) - +def runpm_pf(net, julia_file=None, pp_to_pm_callback=None, calculate_voltage_angles=True, + trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, + correct_pm_network_data=True, silence=True, pm_model="ACPPowerModel", pm_solver="ipopt", + pm_mip_solver="cbc", pm_nl_solver="ipopt", pm_time_limits=None, pm_log_level=0, + delete_buffer_file=True, pm_file_path = None, opf_flow_lim="S", pm_tol=1e-8, + pdm_dev_mode=False, **kwargs): # pragma: no cover + """ + Runs power flow from PowerModels.jl via PandaModels.jl + """ + ac = True if "DC" not in pm_model else False + net._options = {} + _add_ppc_options(net, calculate_voltage_angles=calculate_voltage_angles, + trafo_model=trafo_model, check_connectivity=check_connectivity, + mode="opf", switch_rx_ratio=2, init_vm_pu="flat", init_va_degree="flat", + enforce_q_lims=True, recycle=dict(_is_elements=False, ppc=False, Ybus=False), + voltage_depend_loads=False, delta=delta, trafo3w_losses=trafo3w_losses) + _add_opf_options(net, trafo_loading='power', ac=ac, init="flat", numba=True, + pp_to_pm_callback=pp_to_pm_callback, julia_file="run_powermodels_pf", pm_solver=pm_solver, pm_model=pm_model, + correct_pm_network_data=correct_pm_network_data, silence=silence, pm_mip_solver=pm_mip_solver, + pm_nl_solver=pm_nl_solver, pm_time_limits=pm_time_limits, pm_log_level=pm_log_level, + opf_flow_lim=opf_flow_lim, pm_tol=pm_tol) + + _runpm(net, delete_buffer_file=delete_buffer_file, pm_file_path=pm_file_path, pdm_dev_mode=pdm_dev_mode) \ No newline at end of file From cabd2dcbcc002d9cb4c44759d42c9ebd6dd2a970 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Fri, 12 Nov 2021 20:48:53 +0100 Subject: [PATCH 302/422] fix test --- pandapower/test/opf/test_pp_vs_pm.py | 223 +++++---------------------- 1 file changed, 42 insertions(+), 181 deletions(-) diff --git a/pandapower/test/opf/test_pp_vs_pm.py b/pandapower/test/opf/test_pp_vs_pm.py index 20c7c97fd..732dd98aa 100644 --- a/pandapower/test/opf/test_pp_vs_pm.py +++ b/pandapower/test/opf/test_pp_vs_pm.py @@ -32,175 +32,37 @@ logger = logging.getLogger(__name__) -def case14_pm_file(): - - mpc = {"branch": array([[ 0.0000e+00, 1.0000e+00, 1.9380e-04, 5.9170e-04, 5.2800e+00, - 9.9000e+03, 2.5000e+02, 2.5000e+02, 1.0000e+00, 0.0000e+00, - 1.0000e+00, -3.6000e+02, 3.6000e+02, 0.0000e+00, 0.0000e+00, - 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, - 0.0000e+00, 0.0000e+00, 0.0000e+00], - [ 0.0000e+00, 4.0000e+00, 5.4030e-04, 2.2304e-03, 4.9200e+00, - 9.9000e+03, 2.5000e+02, 2.5000e+02, 1.0000e+00, 0.0000e+00, - 1.0000e+00, -3.6000e+02, 3.6000e+02, 0.0000e+00, 0.0000e+00, - 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, - 0.0000e+00, 0.0000e+00, 0.0000e+00], - [ 1.0000e+00, 2.0000e+00, 4.6990e-04, 1.9797e-03, 4.3800e+00, - 9.9000e+03, 2.5000e+02, 2.5000e+02, 1.0000e+00, 0.0000e+00, - 1.0000e+00, -3.6000e+02, 3.6000e+02, 0.0000e+00, 0.0000e+00, - 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, - 0.0000e+00, 0.0000e+00, 0.0000e+00], - [ 1.0000e+00, 3.0000e+00, 5.8110e-04, 1.7632e-03, 3.4000e+00, - 9.9000e+03, 2.5000e+02, 2.5000e+02, 1.0000e+00, 0.0000e+00, - 1.0000e+00, -3.6000e+02, 3.6000e+02, 0.0000e+00, 0.0000e+00, - 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, - 0.0000e+00, 0.0000e+00, 0.0000e+00], - [ 1.0000e+00, 4.0000e+00, 5.6950e-04, 1.7388e-03, 3.4600e+00, - 9.9000e+03, 2.5000e+02, 2.5000e+02, 1.0000e+00, 0.0000e+00, - 1.0000e+00, -3.6000e+02, 3.6000e+02, 0.0000e+00, 0.0000e+00, - 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, - 0.0000e+00, 0.0000e+00, 0.0000e+00], - [ 2.0000e+00, 3.0000e+00, 6.7010e-04, 1.7103e-03, 1.2800e+00, - 9.9000e+03, 2.5000e+02, 2.5000e+02, 1.0000e+00, 0.0000e+00, - 1.0000e+00, -3.6000e+02, 3.6000e+02, 0.0000e+00, 0.0000e+00, - 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, - 0.0000e+00, 0.0000e+00, 0.0000e+00], - [ 3.0000e+00, 4.0000e+00, 1.3350e-04, 4.2110e-04, 0.0000e+00, - 9.9000e+03, 2.5000e+02, 2.5000e+02, 1.0000e+00, 0.0000e+00, - 1.0000e+00, -3.6000e+02, 3.6000e+02, 0.0000e+00, 0.0000e+00, - 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, - 0.0000e+00, 0.0000e+00, 0.0000e+00], - [ 5.0000e+00, 1.0000e+01, 9.4980e-04, 1.9890e-03, 0.0000e+00, - 9.9000e+03, 2.5000e+02, 2.5000e+02, 1.0000e+00, 0.0000e+00, - 1.0000e+00, -3.6000e+02, 3.6000e+02, 0.0000e+00, 0.0000e+00, - 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, - 0.0000e+00, 0.0000e+00, 0.0000e+00], - [ 5.0000e+00, 1.1000e+01, 1.2291e-03, 2.5581e-03, 0.0000e+00, - 9.9000e+03, 2.5000e+02, 2.5000e+02, 1.0000e+00, 0.0000e+00, - 1.0000e+00, -3.6000e+02, 3.6000e+02, 0.0000e+00, 0.0000e+00, - 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, - 0.0000e+00, 0.0000e+00, 0.0000e+00], - [ 5.0000e+00, 1.2000e+01, 6.6150e-04, 1.3027e-03, 0.0000e+00, - 9.9000e+03, 2.5000e+02, 2.5000e+02, 1.0000e+00, 0.0000e+00, - 1.0000e+00, -3.6000e+02, 3.6000e+02, 0.0000e+00, 0.0000e+00, - 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, - 0.0000e+00, 0.0000e+00, 0.0000e+00], - [ 8.0000e+00, 9.0000e+00, 3.1810e-04, 8.4500e-04, 0.0000e+00, - 9.9000e+03, 2.5000e+02, 2.5000e+02, 1.0000e+00, 0.0000e+00, - 1.0000e+00, -3.6000e+02, 3.6000e+02, 0.0000e+00, 0.0000e+00, - 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, - 0.0000e+00, 0.0000e+00, 0.0000e+00], - [ 8.0000e+00, 1.3000e+01, 1.2711e-03, 2.7038e-03, 0.0000e+00, - 9.9000e+03, 2.5000e+02, 2.5000e+02, 1.0000e+00, 0.0000e+00, - 1.0000e+00, -3.6000e+02, 3.6000e+02, 0.0000e+00, 0.0000e+00, - 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, - 0.0000e+00, 0.0000e+00, 0.0000e+00], - [ 9.0000e+00, 1.0000e+01, 8.2050e-04, 1.9207e-03, 0.0000e+00, - 9.9000e+03, 2.5000e+02, 2.5000e+02, 1.0000e+00, 0.0000e+00, - 1.0000e+00, -3.6000e+02, 3.6000e+02, 0.0000e+00, 0.0000e+00, - 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, - 0.0000e+00, 0.0000e+00, 0.0000e+00], - [ 1.1000e+01, 1.2000e+01, 2.2092e-03, 1.9988e-03, 0.0000e+00, - 9.9000e+03, 2.5000e+02, 2.5000e+02, 1.0000e+00, 0.0000e+00, - 1.0000e+00, -3.6000e+02, 3.6000e+02, 0.0000e+00, 0.0000e+00, - 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, - 0.0000e+00, 0.0000e+00, 0.0000e+00], - [ 1.2000e+01, 1.3000e+01, 1.7093e-03, 3.4802e-03, 0.0000e+00, - 9.9000e+03, 2.5000e+02, 2.5000e+02, 1.0000e+00, 0.0000e+00, - 1.0000e+00, -3.6000e+02, 3.6000e+02, 0.0000e+00, 0.0000e+00, - 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, - 0.0000e+00, 0.0000e+00, 0.0000e+00], - [ 3.0000e+00, 6.0000e+00, 0.0000e+00, 2.0912e-03, 0.0000e+00, - 9.9000e+03, 2.5000e+02, 2.5000e+02, 9.7800e-01, 0.0000e+00, - 1.0000e+00, -3.6000e+02, 3.6000e+02, 0.0000e+00, 0.0000e+00, - 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, - 0.0000e+00, 0.0000e+00, 0.0000e+00], - [ 3.0000e+00, 8.0000e+00, 0.0000e+00, 5.5618e-03, 0.0000e+00, - 9.9000e+03, 2.5000e+02, 2.5000e+02, 9.6900e-01, 0.0000e+00, - 1.0000e+00, -3.6000e+02, 3.6000e+02, 0.0000e+00, 0.0000e+00, - 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, - 0.0000e+00, 0.0000e+00, 0.0000e+00], - [ 4.0000e+00, 5.0000e+00, 0.0000e+00, 2.5202e-03, 0.0000e+00, - 9.9000e+03, 2.5000e+02, 2.5000e+02, 9.3200e-01, 0.0000e+00, - 1.0000e+00, -3.6000e+02, 3.6000e+02, 0.0000e+00, 0.0000e+00, - 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, - 0.0000e+00, 0.0000e+00, 0.0000e+00], - [ 6.0000e+00, 7.0000e+00, 0.0000e+00, 1.7615e-03, 0.0000e+00, - 9.9000e+03, 2.5000e+02, 2.5000e+02, 1.0000e+00, 0.0000e+00, - 1.0000e+00, -3.6000e+02, 3.6000e+02, 0.0000e+00, 0.0000e+00, - 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, - 0.0000e+00, 0.0000e+00, 0.0000e+00], - [ 6.0000e+00, 8.0000e+00, 0.0000e+00, 1.1001e-03, 0.0000e+00, - 9.9000e+03, 2.5000e+02, 2.5000e+02, 1.0000e+00, 0.0000e+00, - 1.0000e+00, -3.6000e+02, 3.6000e+02, 0.0000e+00, 0.0000e+00, - 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, - 0.0000e+00, 0.0000e+00, 0.0000e+00]]), - "bus": array([[ 0. , 3. , 0. , 0. , 0. , 0. , 1. , 1.06 , - 0. , 135. , 1. , 1.06 , 1.06 , 0. , 0. ], - [ 1. , 2. , 21.7 , 12.7 , 0. , 0. , 1. , 1.045 , - -3.95523766, 135. , 1. , 1.06 , 0.94 , 0. , 0. ], - [ 2. , 2. , 94.2 , 19. , 0. , 0. , 1. , 1.01 , - -10.40760708, 135. , 1. , 1.06 , 0.94 , 0. , 0. ], - [ 3. , 1. , 47.8 , -3.9 , 0. , 0. , 1. , 1.01744145, - -8.21095265, 135. , 1. , 1.06 , 0.94 , 0. , 0. ], - [ 4. , 1. , 7.6 , 1.6 , 0. , 0. , 1. , 1.01883931, - -7.01636257, 135. , 1. , 1.06 , 0.94 , 0. , 0. ], - [ 5. , 2. , 11.2 , 7.5 , 0. , 0. , 1. , 1.07 , - -11.61937248, 0.208 , 1. , 1.06 , 0.94 , 0. , 0. ], - [ 6. , 1. , -21. , 0. , 0. , 0. , 1. , 1.04887992, - -9.4740081 , 14. , 1. , 1.06 , 0.94 , 0. , 0. ], - [ 7. , 2. , 0. , 0. , 0. , 0. , 1. , 1.09 , - -9.47400522, 12. , 1. , 1.06 , 0.94 , 0. , 0. ], - [ 8. , 1. , 29.5 , 16.6 , 0. , 19. , 1. , 1.04712183, - -11.33959824, 0.208 , 1. , 1.06 , 0.94 , 0. , 0. ], - [ 9. , 1. , 1. , 5.8 , 0. , 0. , 1. , 1.04418246, - -11.38690514, 0.208 , 1. , 1.06 , 0.94 , 0. , 0. ], - [ 10. , 1. , 3.5 , 1.8 , 0. , 0. , 1. , 1.0487667 , - -11.62833811, 0.208 , 1. , 1.06 , 0.94 , 0. , 0. ], - [ 11. , 1. , 6.1 , 1.6 , 0. , 0. , 1. , 1.04497585, - -12.41956695, 0.208 , 1. , 1.06 , 0.94 , 0. , 0. ], - [ 12. , 1. , 13.5 , 5.8 , 0. , 0. , 1. , 1.04055949, - -12.42974608, 0.208 , 1. , 1.06 , 0.94 , 0. , 0. ], - [ 13. , 1. , 14.9 , 5. , 0. , 0. , 1. , 1.02613375, - -12.83129875, 0.208 , 1. , 1.06 , 0.94 , 0. , 0. ]]), - "gen": array([[ 0.000e+00, 0.000e+00, 0.000e+00, 1.000e+01, -1.000e-10, - 1.060e+00, 1.000e+00, 1.000e+00, 3.324e+02, -1.000e-10, - 0.000e+00, 0.000e+00, 0.000e+00, 0.000e+00, 0.000e+00, - 0.000e+00, 0.000e+00, 0.000e+00, 0.000e+00, 0.000e+00, - 0.000e+00], - [ 1.000e+00, 4.000e+01, 0.000e+00, 5.000e+01, -4.000e+01, - 1.045e+00, np.nan, 1.000e+00, 1.400e+02, -1.000e-10, - 0.000e+00, 0.000e+00, 0.000e+00, 0.000e+00, 0.000e+00, - 0.000e+00, 0.000e+00, 0.000e+00, 0.000e+00, 0.000e+00, - 0.000e+00], - [ 2.000e+00, 0.000e+00, 0.000e+00, 4.000e+01, -1.000e-10, - 1.010e+00, np.nan, 1.000e+00, 1.000e+02, -1.000e-10, - 0.000e+00, 0.000e+00, 0.000e+00, 0.000e+00, 0.000e+00, - 0.000e+00, 0.000e+00, 0.000e+00, 0.000e+00, 0.000e+00, - 0.000e+00], - [ 5.000e+00, 0.000e+00, 0.000e+00, 2.400e+01, -6.000e+00, - 1.070e+00, np.nan, 1.000e+00, 1.000e+02, -1.000e-10, - 0.000e+00, 0.000e+00, 0.000e+00, 0.000e+00, 0.000e+00, - 0.000e+00, 0.000e+00, 0.000e+00, 0.000e+00, 0.000e+00, - 0.000e+00], - [ 7.000e+00, 0.000e+00, 0.000e+00, 2.400e+01, -6.000e+00, - 1.090e+00, np.nan, 1.000e+00, 1.000e+02, -1.000e-10, - 0.000e+00, 0.000e+00, 0.000e+00, 0.000e+00, 0.000e+00, - 0.000e+00, 0.000e+00, 0.000e+00, 0.000e+00, 0.000e+00, - 0.000e+00]]), - "gencost": array([[2.00000e+00, 0.00000e+00, 0.00000e+00, 3.00000e+00, 4.30293e-02, - 2.00000e+01, 0.00000e+00], - [2.00000e+00, 0.00000e+00, 0.00000e+00, 3.00000e+00, 2.50000e-01, - 2.00000e+01, 0.00000e+00], - [2.00000e+00, 0.00000e+00, 0.00000e+00, 3.00000e+00, 1.00000e-02, - 4.00000e+01, 0.00000e+00], - [2.00000e+00, 0.00000e+00, 0.00000e+00, 3.00000e+00, 1.00000e-02, - 4.00000e+01, 0.00000e+00], - [2.00000e+00, 0.00000e+00, 0.00000e+00, 3.00000e+00, 1.00000e-02, - 4.00000e+01, 0.00000e+00]]), - "version": 2, "baseMVA": 1.0} +def case5_pm_matfile_I(): + mpc = {"branch": array([ + [1, 2, 0.00281, 0.0281, 0.00712, 400.0, 0.0, 0.0, 0.0, 0.0, 1, -30.0, 30.0], + [1, 4, 0.00304, 0.0304, 0.00658, 426, 0.0, 0.0, 0.0, 0.0, 1, -30.0, 30.0], + [1, 10, 0.00064, 0.0064, 0.03126, 426, 0.0, 0.0, 0.0, 0.0, 1, -30.0, 30.0], + [2, 3, 0.00108, 0.0108, 0.01852, 426, 0.0, 0.0, 0.0, 0.0, 1, -30.0, 30.0], + [3, 4, 0.00297, 0.0297, 0.00674, 426, 0.0, 0.0, 1.05, 1.0, 1, -30.0, 30.0], + [3, 4, 0.00297, 0.0297, 0.00674, 426, 0.0, 0.0, 1.05, - 1.0, 1, -30.0, 30.0], + [4, 10, 0.00297, 0.0297, 0.00674, 240.0, 0.0, 0.0, 0.0, 0.0, 1, -30.0, 30.0], + ]), "bus": array([ + [1, 2, 0.0, 0.0, 0.0, 0.0, 1, 1.00000, 2.80377, 230.0, 1, 1.10000, 0.90000], + [2, 1, 300.0, 98.61, 0.0, 0.0, 1, 1.08407, 0.73465, 230.0, 1, 1.10000, 0.90000], + [3, 2, 300.0, 98.61, 0.0, 0.0, 1, 1.00000, 0.55972, 230.0, 1, 1.10000, 0.90000], + [4, 3, 400.0, 131.47, 0.0, 0.0, 1, 1.00000, 0.00000, 230.0, 1, 1.10000, 0.90000], + [10, 2, 0.0, 0.0, 0.0, 0.0, 1, 1.00000, 3.59033, 230.0, 1, 1.10000, 0.90000], + ]), "gen": array([ + [1, 40.0, 30.0, 30.0, -30.0, 1.07762, 100.0, 1, 40.0, 0.0], + [1, 170.0, 127.5, 127.5, -127.5, 1.07762, 100.0, 1, 170.0, 0.0], + [3, 324.49, 390.0, 390.0, -390.0, 1.1, 100.0, 1, 520.0, 0.0], + [4, 0.0, -10.802, 150.0, -150.0, 1.06414, 100.0, 1, 200.0, 0.0], + [10, 470.69, -165.039, 450.0, -450.0, 1.06907, 100.0, 1, 600.0, 0.0], + ]), "gencost": array([ + [2, 0.0, 0.0, 3, 0.000000, 14.000000, 0.000000], + [2, 0.0, 0.0, 3, 0.000000, 15.000000, 0.000000], + [2, 0.0, 0.0, 3, 0.000000, 30.000000, 0.000000], + [2, 0.0, 0.0, 3, 0.000000, 40.000000, 0.000000], + [2, 0.0, 0.0, 3, 0.000000, 10.000000, 0.000000], + ]), "version": 2, "baseMVA": 100.0} net = from_ppc(mpc, f_hz=50) - + return net @@ -209,7 +71,7 @@ def case14_pm_file(): def test_case5_pm_pd2ppc(): # load net - net = case14_pm_file() + net = case5_pm_matfile_I() # run pd2ppc with ext_grid controllable = False pp.runpp(net) assert "controllable" not in net.ext_grid @@ -259,35 +121,34 @@ def test_case5_pm_pd2ppc(): def test_opf_ext_grid_controllable(): # load net - net = case14_pm_file() + net = case5_pm_matfile_I() net_old = copy.deepcopy(net) net_new = copy.deepcopy(net) # run pd2ppc with ext_grid controllable = False pp.runopp(net_old) net_new.ext_grid["controllable"] = True pp.runopp(net_new) - assert np.isclose(net_new.res_bus.vm_pu[net.ext_grid.bus[0]], 1.0599999600072285) - assert np.isclose(net_old.res_bus.vm_pu[net.ext_grid.bus[0]], 1.060000000015124) + assert np.isclose(net_new.res_bus.vm_pu[net.ext_grid.bus[0]], 1.0586551789267864) + assert np.isclose(net_old.res_bus.vm_pu[net.ext_grid.bus[0]], 1.06414000007302) - assert np.isclose(net_old.res_cost, 6925.04868) - assert np.isclose(net_new.res_cost, 6925.0486) + assert np.isclose(net_old.res_cost, 17082.8) + assert np.isclose(net_new.res_cost, 17015.5635) def test_opf_create_ext_grid_controllable(): # load net - net = case14_pm_file() + net = case5_pm_matfile_I() # run pd2ppc with ext_grid controllable = False pp.create_ext_grid(net, bus=1, controllable=True) pp.runopp(net) - assert np.isclose(net.res_bus.vm_pu[net.ext_grid.bus[0]], 1.0599999999755336) + assert np.isclose(net.res_bus.vm_pu[net.ext_grid.bus[0]], 1.0641399999827315) @pytest.mark.slow @pytest.mark.skipif(julia_installed == False, reason="requires julia installation") -@pytest.mark.xfail(reason="not complited yet") def test_opf_ext_grid_controllable_pm(): # load net - net = case14_pm_file() + net = case5_pm_matfile_I() net_old = copy.deepcopy(net) pp.runpp(net_old) @@ -299,11 +160,11 @@ def test_opf_ext_grid_controllable_pm(): pp.runpm_ac_opf(net_new, calculate_voltage_angles=True, correct_pm_network_data=False, opf_flow_lim="I") - assert np.isclose(net_new.res_bus.vm_pu[net.ext_grid.bus[0]], 1.0599999600072285) - assert np.isclose(net_old.res_bus.vm_pu[net.ext_grid.bus[0]], 1.060000000015124) + assert np.isclose(net_new.res_bus.vm_pu[net.ext_grid.bus[0]], 1.0586551789267864) + assert np.isclose(net_old.res_bus.vm_pu[net.ext_grid.bus[0]], 1.06414000007302) - assert np.isclose(net_old.res_cost, 6925.04868) - assert np.isclose(net_new.res_cost, 6925.04868) + assert np.isclose(net_old.res_cost, 17082.8) + assert np.isclose(net_new.res_cost, 17015.5635) if __name__ == "__main__": From 1be7ef2346da99ea712481b3a4e6b24111e9f98a Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Fri, 12 Nov 2021 21:37:49 +0100 Subject: [PATCH 303/422] update tests --- pandapower/test/opf/test_powermodels.py | 117 ++++++------------------ 1 file changed, 29 insertions(+), 88 deletions(-) diff --git a/pandapower/test/opf/test_powermodels.py b/pandapower/test/opf/test_powermodels.py index e17c8abd7..cb4afe085 100644 --- a/pandapower/test/opf/test_powermodels.py +++ b/pandapower/test/opf/test_powermodels.py @@ -298,26 +298,24 @@ def test_voltage_angles(): net.bus.loc[:, "max_vm_pu"] = 1.1 net.bus.loc[:, "min_vm_pu"] = .9 - # custom_file = os.path.join(pp_dir, "opf", "PpPmInterface", "src", "pm_models", "run_powermodels.jl") - custom_file = "run_powermodels_custom" #custom_file = os.path.join(os.path.abspath(os.path.dirname(pp.test.__file__)),"test_files", "run_powermodels_custom.jl") - # load is zero since costs are high. PF results should be the same as OPF net.load.loc[1, "p_mw"] = 0. + pp.runpp(net, calculate_voltage_angles=True) va_degree = net.res_bus.loc[:, "va_degree"].values vm_pu = net.res_bus.loc[:, "vm_pu"].values loading3w = net.res_trafo3w.loc[:, "loading_percent"].values - for run in [pp.runpm_ac_opf, partial(pp.runpm, julia_file=custom_file)]: - run(net, calculate_voltage_angles=True) - consistency_checks(net) + net_opf = copy.deepcopy(net) + pp.runpm_ac_opf(net_opf) + + assert 30. < (net_opf.res_bus.va_degree.at[b1] - net_opf.res_bus.va_degree.at[b3]) % 360 < 32. + assert 10. < (net_opf.res_bus.va_degree.at[b1] - net_opf.res_bus.va_degree.at[b4]) % 360 < 11. + assert np.isnan(net_opf.res_bus.va_degree.at[b5]) - assert 30. < (net.res_bus.va_degree.at[b1] - net.res_bus.va_degree.at[b3]) % 360 < 32. - assert 10. < (net.res_bus.va_degree.at[b1] - net.res_bus.va_degree.at[b4]) % 360 < 11. - assert np.isnan(net.res_bus.va_degree.at[b5]) - assert np.allclose(net.res_bus.va_degree.values, va_degree, atol=1e-6, rtol=1e-6, equal_nan=True) - assert np.allclose(net.res_bus.vm_pu.values, vm_pu, atol=1e-6, rtol=1e-6, equal_nan=True) - assert np.allclose(net.res_trafo3w.loading_percent, loading3w, atol=1e-2, rtol=1e-2, equal_nan=True) + assert np.allclose(net_opf.res_bus.va_degree.values, va_degree, atol=1e-6, rtol=1e-6, equal_nan=True) + assert np.allclose(net_opf.res_bus.vm_pu.values, vm_pu, atol=1e-6, rtol=1e-6, equal_nan=True) + assert np.allclose(net_opf.res_trafo3w.loading_percent, loading3w, atol=1e-2, rtol=1e-2, equal_nan=True) def tnep_grid(): @@ -411,28 +409,9 @@ def test_storage_opt(): @pytest.mark.slow @pytest.mark.skipif(julia_installed == False, reason="requires julia installation") -@pytest.mark.xfail(reason="OTS does not correctly consider net.sn_mva. Probably the impedances [pu]" - " are not correctly calculated.") +# @pytest.mark.xfail(reason="OTS does not correctly consider net.sn_mva. Probably the impedances [pu]" +# " are not correctly calculated.") def test_ots_opt(): - net = nw.case5() - branch_status = net["line"].loc[:, "in_service"].values - assert np.array_equal(np.array([1, 1, 1, 1, 1, 1]).astype(bool), branch_status.astype(bool)) - pp.runpm_ots(net) - branch_status = net["res_line"].loc[:, "in_service"].values - pp.runpp(net) - net.line.loc[:, "in_service"] = branch_status.astype(bool) - pp.runpp(net) - try: - assert np.array_equal(np.array([1, 1, 1, 0, 1, 0]).astype(bool), branch_status.astype(bool)) - except AssertionError: - assert np.array_equal(np.array([0, 1, 1, 1, 1, 0]).astype(bool), branch_status.astype(bool)) - - -@pytest.mark.slow -@pytest.mark.skipif(julia_installed == False, reason="requires julia installation") -def test_ots_opt2(): - """ This is a copy of test_ots_opt() which passes, since net.sn_mva is set to 1.0. If - test_ots_opt() passes too, this function can be removed. """ net = nw.case5() net.sn_mva = 1. branch_status = net["line"].loc[:, "in_service"].values @@ -447,64 +426,27 @@ def test_ots_opt2(): except AssertionError: assert np.array_equal(np.array([0, 1, 1, 1, 1, 0]).astype(bool), branch_status.astype(bool)) - -@pytest.mark.xfail() -@pytest.mark.skipif(julia_installed == False, reason="requires julia installation") -def test_runpm_dc_pf(): - net = nw.simple_four_bus_system() - net.trafo.loc[0, "shift_degree"] = 0. - - pp.runpm_dc_pf(net) - - va_pm = copy.copy(net.bus.va_degree) - - pp.rundcpp(net, calculate_voltage_angles=True) - va_pp = copy.copy(net.bus.va_degree) - - assert np.allclose(va_pm, va_pp) - -@pytest.mark.xfail() -@pytest.mark.skipif(julia_installed == False, reason="requires julia installation") -def test_runpm_ac_pf(): - net = nw.simple_four_bus_system() - net.trafo.loc[0, "shift_degree"] = 0. - - pp.runpm_ac_pf(net) - va_pm = copy.copy(net.bus.va_degree) - vm_pm = copy.copy(net.bus.vm_pu) - - pp.runpp(net, calculate_voltage_angles=True) - va_pp = copy.copy(net.bus.va_degree) - vm_pp = copy.copy(net.bus.vm_pu) - - assert np.allclose(va_pm, va_pp) - assert np.allclose(vm_pm, vm_pp) - - def assert_pf(net, dc=False): - # custom_file = os.path.join(os.path.abspath(os.path.dirname(pp.__file__)), - # "opf", "run_powermodels_powerflow.jl") - # custom_file = os.path.join(pp_dir, "opf", "PpPmInterface", "src", "pm_models", "run_powermodels.jl") - - custom_file = "run_powermodels_powerflow" - if dc: - # see https://github.com/lanl-ansi/PowerModels.jl/issues/612 for details - pp.runpm(net, julia_file=custom_file, pm_model="DCMPPowerModel") + model="DCMPPowerModel" else: - pp.runpm(net, julia_file=custom_file, pm_model="ACPPowerModel") + model="ACPPowerModel" - va_pm = copy.copy(net.res_bus.va_degree) - vm_pm = copy.copy(net.res_bus.vm_pu) + pp.runpm_pf(net, pm_model=model) + + va_pm = copy.deepcopy(net.res_bus.va_degree) + vm_pm = copy.deepcopy(net.res_bus.vm_pu) if dc: pp.rundcpp(net, calculate_voltage_angles=True) else: pp.runpp(net, calculate_voltage_angles=True) - va_pp = copy.copy(net.res_bus.va_degree) - vm_pp = copy.copy(net.res_bus.vm_pu) + + va_pp = copy.deepcopy(net.res_bus.va_degree) + vm_pp = copy.deepcopy(net.res_bus.vm_pu) assert np.allclose(va_pm, va_pp) + if not dc: assert np.allclose(vm_pm, vm_pp) @@ -514,10 +456,12 @@ def test_pm_ac_powerflow_simple(): net = nw.simple_four_bus_system() net.trafo.loc[0, "shift_degree"] = 0. assert_pf(net) + net = nw.simple_four_bus_system() + net.trafo.loc[0, "shift_degree"] = 0. + assert_pf(net, dc=False) @pytest.mark.skipif(julia_installed == False, reason="requires julia installation") -# @pytest.mark.xfail(reason="DCMPPowerModel not released yet") def test_pm_dc_powerflow_simple(): net = nw.simple_four_bus_system() net.trafo.loc[0, "shift_degree"] = 0. @@ -529,11 +473,10 @@ def test_pm_ac_powerflow_shunt(): net = nw.simple_four_bus_system() pp.create_shunt(net, 2, q_mvar=-0.5) net.trafo.loc[0, "shift_degree"] = 0. - assert_pf(net) + assert_pf(net, dc=False) @pytest.mark.skipif(julia_installed == False, reason="requires julia installation") -# @pytest.mark.xfail(reason="DCMPPowerModel not released yet") def test_pm_dc_powerflow_shunt(): net = nw.simple_four_bus_system() pp.create_shunt(net, 2, q_mvar=-0.5) @@ -546,15 +489,15 @@ def test_pm_ac_powerflow_tap(): net = nw.simple_four_bus_system() net.trafo.loc[0, "shift_degree"] = 30. net.trafo.loc[0, "tap_pos"] = -2. - assert_pf(net) + assert_pf(net, dc=False) @pytest.mark.skipif(julia_installed == False, reason="requires julia installation") -# @pytest.mark.xfail(reason="DCMPPowerModel not released yet") def test_pm_dc_powerflow_tap(): net = nw.simple_four_bus_system() net.trafo.loc[0, "shift_degree"] = 0. assert_pf(net, dc=True) + net.trafo.loc[0, "shift_degree"] = 30. net.trafo.loc[0, "tap_pos"] = -2. assert_pf(net, dc=True) @@ -649,12 +592,10 @@ def test_runpm_vd(): n_timesteps=96, time_elapsed=0.25, correct_pm_network_data=True, pm_model="ACPPowerModel", pm_time_limits=None, pm_log_level=0, delete_buffer_file=False, pm_file_path=None, - pm_tol=1e-8, pdm_dev_mode=False) + pm_tol=1e-8, pdm_dev_mode=True) assert np.allclose(net.res_bus.vm_pu[net.sgen.bus], 0.99, atol=1e-2, rtol=1e-2) assert np.not_equal(net_org.res_sgen.q_mvar.values.all(), net.res_sgen.q_mvar.values.all()) if __name__ == '__main__': pytest.main([__file__]) - - From 289fb4f63bdd49ccd450294f95a16eb6a709f88f Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Mon, 15 Nov 2021 12:33:33 +0100 Subject: [PATCH 304/422] consolidate and revise comparison methods #505 --- pandapower/test/api/test_file_io.py | 2 +- pandapower/test/toolbox.py | 133 ++++------------------------ pandapower/toolbox.py | 99 +++++++++++++-------- 3 files changed, 78 insertions(+), 156 deletions(-) diff --git a/pandapower/test/api/test_file_io.py b/pandapower/test/api/test_file_io.py index 1eb138034..b061dbfb5 100644 --- a/pandapower/test/api/test_file_io.py +++ b/pandapower/test/api/test_file_io.py @@ -385,7 +385,7 @@ def test_empty_geo_dataframe(): net.bus_geodata = gpd.GeoDataFrame(net.bus_geodata) s = pp.to_json(net) net1 = pp.from_json_string(s) - assert assert_net_equal(net, net1) + assert_net_equal(net, net1) if __name__ == "__main__": diff --git a/pandapower/test/toolbox.py b/pandapower/test/toolbox.py index 4102dd45a..d64a907f3 100644 --- a/pandapower/test/toolbox.py +++ b/pandapower/test/toolbox.py @@ -5,137 +5,34 @@ import os -from math import isnan +from copy import deepcopy import numpy as np -import pandas.testing as pdt -import pytest import pandapower as pp -def assert_mpc_equal(mpc1, mpc2): - for name in ['bus', 'gen', 'branch', 'baseMVA']: - try: - assert np.allclose(mpc1[name], mpc2[name]) - except AssertionError: - print( - "Conversion from pandapower net to Matpower case failed creating %s table" % name) - raise - try: - assert np.array_equal(mpc1['version'], mpc2['version']) - except AssertionError: - print("Pypower version changed from {} to {}".format( - mpc2['version'], mpc1['version'])) +def assert_net_equal(net1, net2, **kwargs): + """ + Raises AssertionError if grids are not equal. + """ + assert pp.nets_equal(net1, net2, **kwargs) -def assert_net_equal(a_net, b_net, **kwargs): - """Returns True if the given pandapower networks are equal. - Raises AssertionError if grids are not equal. +def assert_res_equal(net1, net2, **kwargs): """ - status = True - namelist = ['bus', 'bus_geodata', 'load', 'sgen', 'ext_grid', 'line', 'shunt', 'line_geodata', - 'trafo', 'switch', 'trafo3w', 'gen', 'ext_grid', 'asymmetric_load', 'asymmetric_sgen', - 'res_line', 'res_bus', 'res_sgen', 'res_gen', 'res_shunt', 'res_load', 'res_ext_grid', - 'res_trafo'] - namelist = kwargs.pop('name_selection', namelist) - for name in namelist: - if name in a_net or name in b_net: - if not (a_net[name] is None and b_net[name] is None): - try: - df1 = a_net[name].sort_index().sort_index(axis=1) # workaround for bug in - df2 = b_net[name].sort_index().sort_index(axis=1) # pandas, dont use - pdt.assert_frame_equal(df1, df2, check_dtype=True, **kwargs) # check_like here - except AssertionError: - pytest.fail("Tables are not equal: %s" % name) - status = False - - return status - - -def assert_res_equal(a, b, **kwargs): - """Returns True if the result tables of the given pandapower networks are equal. Raises AssertionError if results are not equal. """ - namelist = ['res_line', 'res_bus', 'res_gen', 'res_sgen', - 'res_load', 'res_ext_grid', 'res_trafo', 'res_trafo3w'] - - for name in namelist: - if name in a or name in b: - if not (a[name] is None and b[name] is None): - try: - pdt.assert_frame_equal(a[name], b[name], **kwargs) - except AssertionError: - pytest.fail("Result tables are not equal: %s" % name) - raise - - -def assert_res_out_of_service(net, idx, name): - """Returns True if the result tables of the given pandapower network contain NaNs resp. 0 - Raises AssertionError if datatype is not according to specifications. - - Specifications are: - - res_bus["vm_pu"] nan - res_bus.va_degree nan - res_bus["p_mw"] 0 - res_bus["q_mvar"] 0 - - res_line.p_from_mw 0 - res_line.q_from_mvar 0 - res_line.p_to_mw 0 - res_line.q_to_mvar 0 - res_line.i_ka 0 - res_line["loading_percent"] 0 - - res_trafo all 0 - - res_load all 0 - - res_ext_grid all nan - - res_gen["p_mw"] 0 - res_gen-q_mvar 0 - res_gen_va_degree nan - - res_sgen all 0 - - Future: Elements out of service will not appear in result table! - -""" - - status = True - try: - if name == 'bus': - assert isnan(net["res_bus"]["vm_pu"].at[idx]) - assert isnan(net["res_bus"].va_degree.at[idx]) - assert net["res_bus"]["p_mw"].at[idx] == 0 - assert net["res_bus"]["q_mvar"].at[idx] == 0 - elif name == 'gen': - if net.gen.in_service.any(): - assert net["res_gen"]["p_mw"].at[idx] == 0 - assert net["res_gen"]["q_mvar"].at[idx] == 0 - assert isnan(net["res_gen"].va_degree.at[idx]) - else: - assert net.res_gen is None - elif name in ('load', 'trafo', 'sgen', 'line'): - assert (net['res_' + name].loc[idx] == 0).all() - elif name == 'ext_grid': - assert idx not in net.res_ext_grid.index - else: - print("Element res_{} does not exist!".format(name, name)) - status = False - - except AssertionError: - pytest.fail( - "res_{} table is not according to specifications if {} is out of service".format(name, name)) - status = False - raise - - return status + if "check_only_results" in kwargs: + if not kwargs["check_only_results"]: + raise ValueError("'check_only_results' cannot be False in assert_res_equal().") + kwargs = deepcopy(kwargs) + del kwargs["check_only_results"] + assert pp.nets_equal(net1, net2, check_only_results=True, **kwargs) def create_test_network(): - """Creates a simple pandapower test network + """ + Creates a simple pandapower test network """ net = pp.create_empty_network() b1 = pp.create_bus(net, name="bus1", vn_kv=10.) diff --git a/pandapower/toolbox.py b/pandapower/toolbox.py index 4066d0498..4ed8af90b 100644 --- a/pandapower/toolbox.py +++ b/pandapower/toolbox.py @@ -11,6 +11,7 @@ import numpy as np import pandas as pd +import pandas.testing as pdt from packaging import version from pandapower.auxiliary import get_indices, pandapowerNet, _preserve_dtypes @@ -246,32 +247,45 @@ def _cosphi_from_pq(p, q): return cosphi, s, qmode, pmode -def dataframes_equal(x_df, y_df, tol=1.e-14, ignore_index_order=True): +def dataframes_equal(df1, df2, ignore_index_order=True, **kwargs): """ - Returns a boolean whether the nets are equal or not. + Returns a boolean whether the given two dataframes are equal or not. """ + if "tol" in kwargs: + if "atol" in kwargs: + raise ValueError("'atol' and 'tol' are given to dataframes_equal(). Don't use 'tol' " + "anymore.") + logger.warning("in dataframes_equal() parameter 'tol' is deprecated. Use 'atol' instead.") + kwargs["atol"] = kwargs.pop("tol") + if ignore_index_order: - x_df.sort_index(axis=1, inplace=True) - y_df.sort_index(axis=1, inplace=True) - x_df.sort_index(axis=0, inplace=True) - y_df.sort_index(axis=0, inplace=True) - # eval if two DataFrames are equal, with regard to a tolerance - if x_df.shape == y_df.shape: - if x_df.shape[0]: - # we use numpy.allclose to grant a tolerance on numerical values - numerical_equal = np.allclose(x_df.select_dtypes(include=[np.number]), - y_df.select_dtypes(include=[np.number]), - atol=tol, equal_nan=True) - else: - numerical_equal = True - # ... use pandas .equals for the rest, which also evaluates NaNs to be equal - rest_equal = x_df.select_dtypes(exclude=[np.number]).equals( - y_df.select_dtypes(exclude=[np.number])) + df1 = df1.sort_index().sort_index(axis=1) + df2 = df2.sort_index().sort_index(axis=1) - return numerical_equal & rest_equal - else: + # --- pandas implementation + try: + pdt.assert_frame_equal(df1, df2, **kwargs) + return True + except AssertionError: return False + # --- alternative (old) implementation + # if df1.shape == df2.shape: + # if df1.shape[0]: + # # we use numpy.allclose to grant a tolerance on numerical values + # numerical_equal = np.allclose(df1.select_dtypes(include=[np.number]), + # df2.select_dtypes(include=[np.number]), + # atol=tol, equal_nan=True) + # else: + # numerical_equal = True + # # ... use pandas .equals for the rest, which also evaluates NaNs to be equal + # rest_equal = df1.select_dtypes(exclude=[np.number]).equals( + # df2.select_dtypes(exclude=[np.number])) + + # return numerical_equal & rest_equal + # else: + # return False + def compare_arrays(x, y): """ @@ -691,10 +705,23 @@ def violated_buses(net, min_vm_pu, max_vm_pu): def nets_equal(net1, net2, check_only_results=False, exclude_elms=None, **kwargs): """ - Compares the DataFrames of two networks. The networks are considered equal - if they share the same keys and values, except of the - 'et' (elapsed time) entry which differs depending on - runtime conditions and entries stating with '_'. + Returns a boolean whether the two given pandapower networks are equal. + + pandapower net keys starting with "_" are ignored. Same for the key "et" (elapsed time). + + INPUT: + **net1** (pandapower net) + + **net2** (pandapower net) + + OPTIONAL: + **check_only_results** (bool, False) - if True, only result tables (starting with "res_") + are compared + + **exclude_elms** (list, None) - list of element tables which should be ignored in the + comparison + + **kwargs** - key word arguments for dataframes_equal() """ if not (isinstance(net1, pandapowerNet) and isinstance(net2, pandapowerNet)): logger.warning("At least one net is not of type pandapowerNet.") @@ -704,28 +731,26 @@ def nets_equal(net1, net2, check_only_results=False, exclude_elms=None, **kwargs exclude_elms += ["res_" + ex for ex in exclude_elms] not_equal = [] - # for two networks make sure both have the same keys that do not start with "_"... - net1_keys = [key for key in net1.keys() if not (key.startswith("_") or key in exclude_elms)] - net2_keys = [key for key in net2.keys() if not (key.startswith("_") or key in exclude_elms)] + # for two networks make sure both have the same keys + if check_only_results: + net1_keys = [key for key in net1.keys() if key[:4] == "res_" and not (key in exclude_elms)] + net2_keys = [key for key in net2.keys() if key[:4] == "res_" and not (key in exclude_elms)] + else: + net1_keys = [key for key in net1.keys() if not ( + key.startswith("_") or key in exclude_elms or key == "et")] + net2_keys = [key for key in net2.keys() if not ( + key.startswith("_") or key in exclude_elms or key == "et")] keys_to_check = set(net1_keys) & set(net2_keys) key_difference = set(net1_keys) ^ set(net2_keys) not_checked_keys = list() if len(key_difference) > 0: logger.warning("Networks entries mismatch at: %s" % key_difference) - if not check_only_results: - return False + return False # ... and then iter through the keys, checking for equality for each table for key in list(keys_to_check): - # skip 'et' (elapsed time) and entries starting with '_' (internal vars) - if key == 'et' or key.startswith("_"): - continue - - if check_only_results and not key.startswith("res_"): - continue # skip anything that is not a result table - if isinstance(net1[key], pd.DataFrame): if not isinstance(net2[key], pd.DataFrame): not_equal.append(key) @@ -742,7 +767,7 @@ def nets_equal(net1, net2, check_only_results=False, exclude_elms=None, **kwargs not_equal.append(key) elif isinstance(net1[key], np.ndarray): - if not isinstance(net2[key], np.array): + if not isinstance(net2[key], np.ndarray): not_equal.append(key) else: if version.parse(np.__version__) < version.parse("0.19"): From 482c2867ad19cd4809845312bbe8f87f8b0c5829 Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Mon, 15 Nov 2021 14:43:16 +0100 Subject: [PATCH 305/422] revise cosphi_from_pq() and pq_from_cosphi() --- pandapower/test/api/test_toolbox.py | 4 +- pandapower/toolbox.py | 178 ++++++++++++++-------------- 2 files changed, 88 insertions(+), 94 deletions(-) diff --git a/pandapower/test/api/test_toolbox.py b/pandapower/test/api/test_toolbox.py index 6ded24e62..741f30f1a 100644 --- a/pandapower/test/api/test_toolbox.py +++ b/pandapower/test/api/test_toolbox.py @@ -749,8 +749,8 @@ def test_cosphi_from_pq(): assert pd.Series(cosphi[[5, 6, 7]]).isnull().all() assert np.allclose(s, (p ** 2 + q ** 2) ** 0.5) assert all(pmode == np.array(["load"] * 5 + ["undef"] * 3 + ["gen"] * 3)) - ind_cap_ohm = ["underexcited", "overexcited", "ohm"] - assert all(qmode == np.array(ind_cap_ohm + ["underexcited", "overexcited"] + ind_cap_ohm * 2)) + ind_cap_ind = ["underexcited", "overexcited", "underexcited"] + assert all(qmode == np.array(ind_cap_ind + ["underexcited", "overexcited"] + ind_cap_ind * 2)) def test_create_replacement_switch_for_branch(): diff --git a/pandapower/toolbox.py b/pandapower/toolbox.py index 4066d0498..799cef855 100644 --- a/pandapower/toolbox.py +++ b/pandapower/toolbox.py @@ -99,56 +99,13 @@ def signing_system_value(elm): raise ValueError("This function is defined for bus elements, not for '%s'." % str(elm)) -# def pq_from_cosphi(s, cosphi, qmode, pmode): -# """ -# Calculates P/Q values from rated apparent power and cosine(phi) values. -# - s: rated apparent power -# - cosphi: cosine phi of the -# - qmode: "ind" for inductive or "cap" for capacitive behaviour -# - pmode: "load" for load or "gen" for generation -# As all other pandapower functions this function is based on the consumer viewpoint. For active -# power, that means that loads are positive and generation is negative. For reactive power, -# inductive behaviour is modeled with positive values, capacitive behaviour with negative values. -# """ -# s = np.array(ensure_iterability(s)) -# cosphi = np.array(ensure_iterability(cosphi, len(s))) -# qmode = np.array(ensure_iterability(qmode, len(s))) -# pmode = np.array(ensure_iterability(pmode, len(s))) -# -# # qmode consideration -# unknown_qmode = set(qmode) - set(["ind", "cap", "ohm"]) -# if len(unknown_qmode): -# raise ValueError("Unknown qmodes: " + str(list(unknown_qmode))) -# qmode_is_ohm = qmode == "ohm" -# if any(cosphi[qmode_is_ohm] != 1): -# raise ValueError("qmode cannot be 'ohm' if cosphi is not 1.") -# qsign = np.ones(qmode.shape) -# qsign[qmode == "cap"] = -1 -# -# # pmode consideration -# unknown_pmode = set(pmode) - set(["load", "gen"]) -# if len(unknown_pmode): -# raise ValueError("Unknown pmodes: " + str(list(unknown_pmode))) -# psign = np.ones(pmode.shape) -# psign[pmode == "gen"] = -1 -# -# # calculate p and q -# p = psign * s * cosphi -# q = qsign * np.sqrt(s ** 2 - p ** 2) -# -# if len(p) > 1: -# return p, q -# else: -# return p[0], q[0] - - def pq_from_cosphi(s, cosphi, qmode, pmode): """ Calculates P/Q values from rated apparent power and cosine(phi) values. - s: rated apparent power - cosphi: cosine phi of the - - qmode: "underexcided" (Q absorption, decreases voltage) or "overexcited" (Q injection, increases voltage) + - qmode: "underexcited" (Q absorption, decreases voltage) or "overexcited" (Q injection, increases voltage) - pmode: "load" for load or "gen" for generation As all other pandapower functions this function is based on the consumer viewpoint. For active @@ -157,18 +114,16 @@ def pq_from_cosphi(s, cosphi, qmode, pmode): overexcited behavior (Q injection, increases voltage) with negative values. """ if hasattr(s, "__iter__"): - s = ensure_iterability(s) - cosphi = ensure_iterability(cosphi, len(s)) - qmode = ensure_iterability(qmode, len(s)) - pmode = ensure_iterability(pmode, len(s)) - p, q = [], [] - for s_, cosphi_, qmode_, pmode_ in zip(s, cosphi, qmode, pmode): - p_, q_ = _pq_from_cosphi(s_, cosphi_, qmode_, pmode_) - p.append(p_) - q.append(q_) - return np.array(p), np.array(q) + len_ = len(s) + elif hasattr(cosphi, "__iter__"): + len_ = len(cosphi) + elif not isinstance(qmode, str) and hasattr(qmode, "__iter__"): + len_ = len(qmode) + elif not isinstance(pmode, str) and hasattr(pmode, "__iter__"): + len_ = len(pmode) else: return _pq_from_cosphi(s, cosphi, qmode, pmode) + return _pq_from_cosphi_bulk(s, cosphi, qmode, pmode, len_=len_) def _pq_from_cosphi(s, cosphi, qmode, pmode): @@ -185,56 +140,76 @@ def _pq_from_cosphi(s, cosphi, qmode, pmode): raise ValueError('Unknown mode %s - specify "underexcited" (Q absorption, decreases voltage' ') or "overexcited" (Q injection, increases voltage)' % qmode) + if pmode == "load": + psign = 1 + elif pmode == "gen": + psign = -1 + else: + raise ValueError('Unknown mode %s - specify "load" or "gen"' % pmode) + p = s * cosphi - q = qsign * np.sqrt(s ** 2 - p ** 2) + q = psign * qsign * np.sqrt(s ** 2 - p ** 2) return p, q -# def cosphi_from_pq(p, q): -# """ -# Analog to pq_from_cosphi, but other way around. -# In consumer viewpoint (pandapower): cap=overexcited and ind=underexcited -# """ -# p = np.array(ensure_iterability(p)) -# q = np.array(ensure_iterability(q, len(p))) -# if len(p) != len(q): -# raise ValueError("p and q must have the same length.") -# p_is_zero = np.array(p == 0) -# cosphi = np.empty(p.shape) -# if sum(p_is_zero): -# cosphi[p_is_zero] = np.nan -# logger.warning("A cosphi from p=0 is undefined.") -# cosphi[~p_is_zero] = np.cos(np.arctan(q[~p_is_zero] / p[~p_is_zero])) -# s = (p ** 2 + q ** 2) ** 0.5 -# pmode = np.array(["undef", "load", "gen"])[np.sign(p).astype(int)] -# qmode = np.array(["ohm", "ind", "cap"])[np.sign(q).astype(int)] -# if len(p) > 1: -# return cosphi, s, qmode, pmode -# else: -# return cosphi[0], s[0], qmode[0], pmode[0] +def _pq_from_cosphi_bulk(s, cosphi, qmode, pmode, len_=None): + if len_ is None: + s = np.array(ensure_iterability(s)) + len_ = len(s) + else: + s = np.array(ensure_iterability(s, len_)) + cosphi = np.array(ensure_iterability(cosphi, len_)) + qmode = np.array(ensure_iterability(qmode, len_)) + pmode = np.array(ensure_iterability(pmode, len_)) + + # "ind" -> "underexcited", "cap" -> "overexcited" + is_ind = qmode == "ind" + is_cap = qmode == "cap" + if any(is_ind) or any(is_cap): + logger.warning('capacitive or inductive behavior will be replaced by more clear terms ' + + '"underexcited" (Q absorption, decreases voltage) and "overexcited" ' + + '(Q injection, increases voltage). Please use "underexcited" ' + + 'in place of "ind" and "overexcited" in place of "cap".') + qmode[is_ind] = "underexcited" + qmode[is_cap] = "overexcited" + + # qmode consideration + unknown_qmode = set(qmode) - set(["underexcited", "overexcited"]) + if len(unknown_qmode): + raise ValueError("Unknown qmodes: " + str(list(unknown_qmode))) + qsign = np.ones(qmode.shape) + qsign[qmode == "overexcited"] = -1 + + # pmode consideration + unknown_pmode = set(pmode) - set(["load", "gen"]) + if len(unknown_pmode): + raise ValueError("Unknown pmodes: " + str(list(unknown_pmode))) + psign = np.ones(pmode.shape) + psign[pmode == "gen"] = -1 + + # calculate p and q + p = s * cosphi + q = psign * qsign * np.sqrt(s ** 2 - p ** 2) + + return p, q def cosphi_from_pq(p, q): + """ + Analog to pq_from_cosphi, but the other way around. + In consumer viewpoint (pandapower): "underexcited" (Q absorption, decreases voltage) and + "overexcited" (Q injection, increases voltage) + """ if hasattr(p, "__iter__"): - assert len(p) == len(q) - s, cosphi, qmode, pmode = [], [], [], [] - for p_, q_ in zip(p, q): - cosphi_, s_, qmode_, pmode_ = _cosphi_from_pq(p_, q_) - s.append(s_) - cosphi.append(cosphi_) - qmode.append(qmode_) - pmode.append(pmode_) - return np.array(cosphi), np.array(s), np.array(qmode), np.array(pmode) + len_ = len(p) + elif hasattr(q, "__iter__"): + len_ = len(q) else: return _cosphi_from_pq(p, q) + return _cosphi_from_pq_bulk(p, q, len_=len_) def _cosphi_from_pq(p, q): - """ - Analog to pq_from_cosphi, but the other way around. - In consumer viewpoint (pandapower): "underexcited" (Q absorption, decreases voltage) and - "overexcited" (Q injection, increases voltage) - """ if p == 0: cosphi = np.nan logger.warning("A cosphi from p=0 is undefined.") @@ -242,7 +217,26 @@ def _cosphi_from_pq(p, q): cosphi = np.cos(np.arctan(q / p)) s = (p ** 2 + q ** 2) ** 0.5 pmode = ["undef", "load", "gen"][int(np.sign(p))] - qmode = ["ohm", "underexcited", "overexcited"][int(np.sign(q))] + qmode = ["underexcited", "underexcited", "overexcited"][int(np.sign(q))] + return cosphi, s, qmode, pmode + + +def _cosphi_from_pq_bulk(p, q, len_=None): + if len_ is None: + p = np.array(ensure_iterability(p)) + len_ = len(p) + else: + p = np.array(ensure_iterability(p, len_)) + q = np.array(ensure_iterability(q, len_)) + p_is_zero = np.array(p == 0) + cosphi = np.empty(p.shape) + if sum(p_is_zero): + cosphi[p_is_zero] = np.nan + logger.warning("A cosphi from p=0 is undefined.") + cosphi[~p_is_zero] = np.cos(np.arctan(q[~p_is_zero] / p[~p_is_zero])) + s = (p ** 2 + q ** 2) ** 0.5 + pmode = np.array(["undef", "load", "gen"])[np.sign(p).astype(int)] + qmode = np.array(["underexcited", "underexcited", "overexcited"])[np.sign(q).astype(int)] return cosphi, s, qmode, pmode From 72d61a8a48f5eb5bdb42e1cc56b043d86c4754b0 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Mon, 15 Nov 2021 15:23:34 +0100 Subject: [PATCH 306/422] set xfail --- pandapower/test/opf/test_pp_vs_pm.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/pandapower/test/opf/test_pp_vs_pm.py b/pandapower/test/opf/test_pp_vs_pm.py index 732dd98aa..b6c99973d 100644 --- a/pandapower/test/opf/test_pp_vs_pm.py +++ b/pandapower/test/opf/test_pp_vs_pm.py @@ -32,6 +32,7 @@ logger = logging.getLogger(__name__) +# test data from :https://github.com/lanl-ansi/PowerModels.jl/blob/master/test/data/matpower/case5_clm.m def case5_pm_matfile_I(): mpc = {"branch": array([ [1, 2, 0.00281, 0.0281, 0.00712, 400.0, 0.0, 0.0, 0.0, 0.0, 1, -30.0, 30.0], @@ -146,6 +147,7 @@ def test_opf_create_ext_grid_controllable(): @pytest.mark.slow @pytest.mark.skipif(julia_installed == False, reason="requires julia installation") +@pytest.mark.xfail(reason="needs update in PdM and to_pm file") def test_opf_ext_grid_controllable_pm(): # load net net = case5_pm_matfile_I() @@ -170,3 +172,25 @@ def test_opf_ext_grid_controllable_pm(): if __name__ == "__main__": pytest.main([__file__, "-xs"]) + # # load net + # net = case5_pm_matfile_I() + # + # net_old = copy.deepcopy(net) + # pp.runpp(net_old) + # pp.runpm_ac_opf(net_old, calculate_voltage_angles=True, correct_pm_network_data=True, opf_flow_lim="I", + # delete_buffer_file=False, pdm_dev_mode=True) + # + # # net_new = copy.deepcopy(net) + # # net_new.ext_grid["controllable"] = True + # # pp.runpp(net_new) + # # pp.runpm_ac_opf(net_new, calculate_voltage_angles=True, correct_pm_network_data=False, + # # opf_flow_lim="I", delete_buffer_file=False, pdm_dev_mode=True) + # + # # assert np.isclose(net_new.res_bus.vm_pu[net.ext_grid.bus[0]], 1.0586551789267864) + # # assert np.isclose(net_old.res_bus.vm_pu[net.ext_grid.bus[0]], 1.06414000007302) + # # + # # assert np.isclose(net_old.res_cost, 17082.8) + # # assert np.isclose(net_new.res_cost, 17015.5635) + + + From 6ec19ff41aea7cac8e4451a4a4fd631b5a1f1d95 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Mon, 15 Nov 2021 15:25:36 +0100 Subject: [PATCH 307/422] update to_pm --- pandapower/converter/powermodels/to_pm.py | 9 ++++--- pandapower/runpm.py | 32 +++++++++++------------ 2 files changed, 22 insertions(+), 19 deletions(-) diff --git a/pandapower/converter/powermodels/to_pm.py b/pandapower/converter/powermodels/to_pm.py index b42ac2511..c46a903cf 100644 --- a/pandapower/converter/powermodels/to_pm.py +++ b/pandapower/converter/powermodels/to_pm.py @@ -274,13 +274,14 @@ def ppc_to_pm(net, ppci): branch["rate_a"] = row[RATE_A].real if row[RATE_A] > 0 else row[RATE_B].real branch["rate_b"] = row[RATE_B].real branch["rate_c"] = row[RATE_C].real - elif net._options["opf_flow_lim"] == "I": + elif net._options["opf_flow_lim"] == "I": # need to call _run_opf_cl from PowerModels f = net._pd2ppc_lookups["branch"]["line"][0] f = int(row[F_BUS].real) # from bus of this line vr = ppci["bus"][f][BASE_KV] branch["c_rating_a"] = row[RATE_A].real if row[RATE_A] > 0 else row[RATE_B].real - branch["c_rating_b"] = row[RATE_B].real - branch["c_rating_c"] = row[RATE_C].real + branch["c_rating_a"] = branch["c_rating_a"] / ppci["baseMVA"] + # branch["c_rating_b"] = row[RATE_B].real + # branch["c_rating_c"] = row[RATE_C].real else: logger.error("Branch flow limit %s not understood", net._options["opf_flow_lim"]) @@ -347,6 +348,8 @@ def ppc_to_pm(net, ppci): for idx, row in enumerate(ppci["gencost"], start=1): gen = pm["gen"][str(idx)] gen["model"] = int(row[MODEL]) + gen["startup"] = 0.0 + gen["shutdown"] = 0.0 if gen["model"] == 1: gen["ncost"] = int(row[NCOST]) gen["cost"] = row[COST:COST + gen["ncost"] * 2].tolist() diff --git a/pandapower/runpm.py b/pandapower/runpm.py index 76dc48556..10d93f8f8 100644 --- a/pandapower/runpm.py +++ b/pandapower/runpm.py @@ -48,31 +48,31 @@ def runpm(net, julia_file=None, pp_to_pm_callback=None, calculate_voltage_angles How these costs are combined into a cost function depends on the cost_function parameter. INPUT: - @param net: - The pandapower format network + **net** - The pandapower format network OPTIONAL: - @param julia_file: (str, None) - path to a custom julia optimization file - @param pp_to_pm_callback: (function, None) - callback function to add data to the PowerModels data structure - @param correct_pm_network_data: (bool, True) - checks if network data is correct. If not tries to correct it - @param silence: (bool, True) - Suppresses information and warning messages output by PowerModels - @param pm_model: (str, "ACPPowerModel") - The PowerModels.jl model to use - @param pm_solver: (str, "ipopt") - The "main" power models solver - @param pm_mip_solver: (str, "cbc") - The mixed integer solver (when "main" solver == juniper) - @param pm_nl_solver: (str, "ipopt") - The nonlinear solver (when "main" solver == juniper) - @param pm_time_limits: (Dict, None) - Time limits in seconds for power models interface. To be set as a dict like + **julia_file** (str, None) - path to a custom julia optimization file + **pp_to_pm_callback** (function, None) - callback function to add data to the PowerModels data structure + **correct_pm_network_data** (bool, True) - checks if network data is correct. If not tries to correct it + **silence** (bool, True) - Suppresses information and warning messages output by PowerModels + **pm_model** (str, "ACPPowerModel") - The PowerModels.jl model to use + **pm_solver** (str, "ipopt") - The "main" power models solver + **pm_mip_solver** (str, "cbc") - The mixed integer solver (when "main" solver == juniper) + **pm_nl_solver** (str, "ipopt") - The nonlinear solver (when "main" solver == juniper) + **pm_time_limits** (Dict, None) - Time limits in seconds for power models interface. To be set as a dict like {"pm_time_limit": 300., "pm_nl_time_limit": 300., "pm_mip_time_limit": 300.} - @param pm_log_level: (int, 0) - solver log level in power models - @param delete_buffer_file: (Bool, True) - If True, the .json file used by powermodels will be deleted after + **pm_log_level** (int, 0) - solver log level in power models + **delete_buffer_file** (Bool, True) - If True, the .json file used by powermodels will be deleted after optimization. - @param pm_file_path: (str, None) - Specifiy the filename, under which the .json file for powermodels is stored. If + **pm_file_path** (str, None) - Specifiy the filename, under which the .json file for powermodels is stored. If you want to keep the file after optimization, you should also set delete_buffer_file to False! - @param opf_flow_lim: (str, "I") - Quantity to limit for branch flow constraints, in line with matpower's + **opf_flow_lim** (str, "I") - Quantity to limit for branch flow constraints, in line with matpower's "opf.flowlim" parameter: "S" - apparent power flow (limit in MVA), "I" - current magnitude (limit in MVA at 1 p.u. voltage) - @param pm_tol: (float, 1e-8) - default desired convergence tolerance for solver to use. - @param pdm_dev_mode: (bool, False) - If True, the develope mode of PdM is called. + **pm_tol** (float, 1e-8) - default desired convergence tolerance for solver to use. + **pdm_dev_mode** (bool, False) - If True, the develope mode of PdM is called. """ ac = True if "DC" not in pm_model else False net._options = {} From 296dcea0c5189a4bf67e53a78870d13c9d7cac62 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Mon, 15 Nov 2021 15:25:46 +0100 Subject: [PATCH 308/422] param --- pandapower/converter/powermodels/to_pm.py | 28 +++++++++++------------ 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/pandapower/converter/powermodels/to_pm.py b/pandapower/converter/powermodels/to_pm.py index c46a903cf..c8ab5d787 100644 --- a/pandapower/converter/powermodels/to_pm.py +++ b/pandapower/converter/powermodels/to_pm.py @@ -50,27 +50,27 @@ def convert_pp_to_pm(net, pm_file_path=None, correct_pm_network_data=True, calcu """ Converts a pandapower net to a PowerModels.jl datastructure and saves it to a json file INPUT: - @param net: - pandapower net + **net** - pandapower net OPTIONAL: - @param pm_file_path: (str, None) - Specifiy the filename, under which the .json file for powermodels is stored. If + **pm_file_path** (str, None) - Specifiy the filename, under which the .json file for powermodels is stored. If you want to keep the file after optimization, you should also set delete_buffer_file to False! - @param correct_pm_network_data: (bool, True) - checks if network data is correct. If not tries to correct it - @param silence: (bool, True) - Suppresses information and warning messages output by PowerModels - @param pm_model: (str, "ACPPowerModel") - The PowerModels.jl model to use - @param pm_solver: (str, "ipopt") - The "main" power models solver - @param pm_mip_solver: (str, "cbc") - The mixed integer solver (when "main" solver == juniper) - @param pm_nl_solver: (str, "ipopt") - The nonlinear solver (when "main" solver == juniper) - @param pm_time_limits: (Dict, None) - Time limits in seconds for power models interface. To be set as a dict like + **correct_pm_network_data** (bool, True) - checks if network data is correct. If not tries to correct it + **silence** (bool, True) - Suppresses information and warning messages output by PowerModels + **pm_model** (str, "ACPPowerModel") - The PowerModels.jl model to use + **pm_solver** (str, "ipopt") - The "main" power models solver + **pm_mip_solver** (str, "cbc") - The mixed integer solver (when "main" solver == juniper) + **pm_nl_solver** (str, "ipopt") - The nonlinear solver (when "main" solver == juniper) + **pm_time_limits** (Dict, None) - Time limits in seconds for power models interface. To be set as a dict like {"pm_time_limit": 300., "pm_nl_time_limit": 300., "pm_mip_time_limit": 300.} - @param pm_log_level: (int, 0) - solver log level in power models - @param delete_buffer_file: (Bool, True) - If True, the .json file used by powermodels will be deleted after + **pm_log_level** (int, 0) - solver log level in power models + **delete_buffer_file** (Bool, True) - If True, the .json file used by powermodels will be deleted after optimization. - @param pp_to_pm_callback: (function, None) - callback function to add data to the PowerModels data structure - @param opf_flow_lim: (str, "I") - Quantity to limit for branch flow constraints, in line with matpower's + **pp_to_pm_callback** (function, None) - callback function to add data to the PowerModels data structure + **opf_flow_lim** (str, "I") - Quantity to limit for branch flow constraints, in line with matpower's "opf.flowlim" parameter: "S" - apparent power flow (limit in MVA), "I" - current magnitude (limit in MVA at 1 p.u. voltage) - @param pm_tol: (float, 1e-8) - default desired convergence tolerance for solver to use. + **pm_tol** (float, 1e-8) - default desired convergence tolerance for solver to use. Returns ------- From 8bb31f42f376bda3ca3c425d7bca472efd13f682 Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Mon, 15 Nov 2021 16:49:38 +0100 Subject: [PATCH 309/422] remove pyproj from all to avoid install error --- setup.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index 60659d35d..4911e54b7 100644 --- a/setup.py +++ b/setup.py @@ -54,10 +54,10 @@ "performance": ["ortools"], "fileio": ["xlsxwriter", "openpyxl", "cryptography", "fiona", "geopandas"], "all": ["numpydoc", "sphinx", "sphinx_rtd_theme", - "plotly", "matplotlib", "python-igraph", "geopandas", "shapely", "pyproj", "base64", "hashlib", "zlib", + "plotly", "matplotlib", "python-igraph", "geopandas", "shapely", "base64", "hashlib", "zlib", # "pyproj" is a depedency of geopandas and so already available "pytest", "pytest-xdist", "ortools", - "xlsxwriter", "openpyxl", "cryptography", "fiona" # , "geopandas" already above + "xlsxwriter", "openpyxl", "cryptography", "fiona" # "geopandas" already in line of plotting dependecies ]}, packages=find_packages(), include_package_data=True, From 22f2692968b287c5163e5dea830d48d6913bba3b Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Mon, 15 Nov 2021 17:18:44 +0100 Subject: [PATCH 310/422] revise extras_require --- setup.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/setup.py b/setup.py index 4911e54b7..1f6f5de7a 100644 --- a/setup.py +++ b/setup.py @@ -49,16 +49,16 @@ "packaging"], extras_require={ "docs": ["numpydoc", "sphinx", "sphinx_rtd_theme"], - "plotting": ["plotly", "matplotlib", "python-igraph", "geopandas", "shapely", "pyproj", "base64", "hashlib", "zlib"], + "plotting": ["plotly", "matplotlib", "python-igraph", "geopandas", "base64", "hashlib", "zlib"], # "shapely", "pyproj" are depedencies of geopandas and so already available "test": ["pytest", "pytest-xdist"], "performance": ["ortools"], - "fileio": ["xlsxwriter", "openpyxl", "cryptography", "fiona", "geopandas"], + "fileio": ["xlsxwriter", "openpyxl", "cryptography", "geopandas"], # "fiona" is a depedency of geopandas and so already available "all": ["numpydoc", "sphinx", "sphinx_rtd_theme", - "plotly", "matplotlib", "python-igraph", "geopandas", "shapely", "base64", "hashlib", "zlib", # "pyproj" is a depedency of geopandas and so already available + "plotly", "matplotlib", "python-igraph", "geopandas", "base64", "hashlib", "zlib", "pytest", "pytest-xdist", "ortools", - "xlsxwriter", "openpyxl", "cryptography", "fiona" # "geopandas" already in line of plotting dependecies - ]}, + "xlsxwriter", "openpyxl", "cryptography" + ]}, # "shapely", "pyproj", "fiona" are depedencies of geopandas and so already available packages=find_packages(), include_package_data=True, classifiers=classifiers From 51db2b7c106b27bf60dde34d8478c8e0a7599117 Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Mon, 15 Nov 2021 17:37:09 +0100 Subject: [PATCH 311/422] try to install list instead of .["all"] --- .github/workflows/github_test_action.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/github_test_action.yml b/.github/workflows/github_test_action.yml index 46279953a..a823a6d97 100644 --- a/.github/workflows/github_test_action.yml +++ b/.github/workflows/github_test_action.yml @@ -33,7 +33,8 @@ jobs: python -m pip install --upgrade pip python -m pip install pytest if [ -f requirements.txt ]; then pip install -r requirements.txt; fi - pip install .["all"] + pip install . + pip install numpydoc sphinx sphinx_rtd_theme plotly matplotlib python-igraph geopandas base64 hashlib zlib pytest pytest-xdist ortools xlsxwriter openpyxl cryptography if ${{ matrix.python-version == '3.7' }}; then python -m pip install pypower; fi if ${{ matrix.python-version != '3.6' }}; then python -m pip install numba; fi - name: Install Julia From 8f18458c5d6ddce6171ad5e2898a315742fe268b Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Mon, 15 Nov 2021 17:38:35 +0100 Subject: [PATCH 312/422] fixed: new update in PdM --- pandapower/test/opf/test_pp_vs_pm.py | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/pandapower/test/opf/test_pp_vs_pm.py b/pandapower/test/opf/test_pp_vs_pm.py index b6c99973d..145a77289 100644 --- a/pandapower/test/opf/test_pp_vs_pm.py +++ b/pandapower/test/opf/test_pp_vs_pm.py @@ -172,25 +172,6 @@ def test_opf_ext_grid_controllable_pm(): if __name__ == "__main__": pytest.main([__file__, "-xs"]) - # # load net - # net = case5_pm_matfile_I() - # - # net_old = copy.deepcopy(net) - # pp.runpp(net_old) - # pp.runpm_ac_opf(net_old, calculate_voltage_angles=True, correct_pm_network_data=True, opf_flow_lim="I", - # delete_buffer_file=False, pdm_dev_mode=True) - # - # # net_new = copy.deepcopy(net) - # # net_new.ext_grid["controllable"] = True - # # pp.runpp(net_new) - # # pp.runpm_ac_opf(net_new, calculate_voltage_angles=True, correct_pm_network_data=False, - # # opf_flow_lim="I", delete_buffer_file=False, pdm_dev_mode=True) - # - # # assert np.isclose(net_new.res_bus.vm_pu[net.ext_grid.bus[0]], 1.0586551789267864) - # # assert np.isclose(net_old.res_bus.vm_pu[net.ext_grid.bus[0]], 1.06414000007302) - # # - # # assert np.isclose(net_old.res_cost, 17082.8) - # # assert np.isclose(net_new.res_cost, 17015.5635) From 9ce4d6fad02f33a52e24ae7368373906b35c2bf8 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Mon, 15 Nov 2021 17:39:34 +0100 Subject: [PATCH 313/422] done in PdM --- pandapower/converter/powermodels/to_pm.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pandapower/converter/powermodels/to_pm.py b/pandapower/converter/powermodels/to_pm.py index c8ab5d787..6c933700c 100644 --- a/pandapower/converter/powermodels/to_pm.py +++ b/pandapower/converter/powermodels/to_pm.py @@ -279,9 +279,9 @@ def ppc_to_pm(net, ppci): f = int(row[F_BUS].real) # from bus of this line vr = ppci["bus"][f][BASE_KV] branch["c_rating_a"] = row[RATE_A].real if row[RATE_A] > 0 else row[RATE_B].real - branch["c_rating_a"] = branch["c_rating_a"] / ppci["baseMVA"] - # branch["c_rating_b"] = row[RATE_B].real - # branch["c_rating_c"] = row[RATE_C].real + branch["c_rating_a"] = branch["c_rating_a"] + branch["c_rating_b"] = row[RATE_B].real + branch["c_rating_c"] = row[RATE_C].real else: logger.error("Branch flow limit %s not understood", net._options["opf_flow_lim"]) From 49f00dc8f028d9aad06e9d8dd1bf6fcb8fa57c72 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Mon, 15 Nov 2021 18:17:51 +0100 Subject: [PATCH 314/422] delete xfail --- pandapower/test/opf/test_pp_vs_pm.py | 1 - 1 file changed, 1 deletion(-) diff --git a/pandapower/test/opf/test_pp_vs_pm.py b/pandapower/test/opf/test_pp_vs_pm.py index 145a77289..64fd62796 100644 --- a/pandapower/test/opf/test_pp_vs_pm.py +++ b/pandapower/test/opf/test_pp_vs_pm.py @@ -147,7 +147,6 @@ def test_opf_create_ext_grid_controllable(): @pytest.mark.slow @pytest.mark.skipif(julia_installed == False, reason="requires julia installation") -@pytest.mark.xfail(reason="needs update in PdM and to_pm file") def test_opf_ext_grid_controllable_pm(): # load net net = case5_pm_matfile_I() From f53f097fee5dc609930ec42518bd6b744a775d0a Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Mon, 15 Nov 2021 18:28:36 +0100 Subject: [PATCH 315/422] remove base64 from install list --- .github/workflows/github_test_action.yml | 3 +-- setup.py | 3 ++- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/github_test_action.yml b/.github/workflows/github_test_action.yml index a823a6d97..46279953a 100644 --- a/.github/workflows/github_test_action.yml +++ b/.github/workflows/github_test_action.yml @@ -33,8 +33,7 @@ jobs: python -m pip install --upgrade pip python -m pip install pytest if [ -f requirements.txt ]; then pip install -r requirements.txt; fi - pip install . - pip install numpydoc sphinx sphinx_rtd_theme plotly matplotlib python-igraph geopandas base64 hashlib zlib pytest pytest-xdist ortools xlsxwriter openpyxl cryptography + pip install .["all"] if ${{ matrix.python-version == '3.7' }}; then python -m pip install pypower; fi if ${{ matrix.python-version != '3.6' }}; then python -m pip install numba; fi - name: Install Julia diff --git a/setup.py b/setup.py index 1f6f5de7a..db39aad2c 100644 --- a/setup.py +++ b/setup.py @@ -54,11 +54,12 @@ "performance": ["ortools"], "fileio": ["xlsxwriter", "openpyxl", "cryptography", "geopandas"], # "fiona" is a depedency of geopandas and so already available "all": ["numpydoc", "sphinx", "sphinx_rtd_theme", - "plotly", "matplotlib", "python-igraph", "geopandas", "base64", "hashlib", "zlib", + "plotly", "matplotlib", "python-igraph", "geopandas", "hashlib", "zlib", "pytest", "pytest-xdist", "ortools", "xlsxwriter", "openpyxl", "cryptography" ]}, # "shapely", "pyproj", "fiona" are depedencies of geopandas and so already available + # base64 produces problems, so it is not included to "all" packages=find_packages(), include_package_data=True, classifiers=classifiers From d2f8050c931e45feb2dab9e05f043f534bcaab11 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Mon, 15 Nov 2021 18:32:33 +0100 Subject: [PATCH 316/422] set develop as false for vd --- pandapower/test/opf/test_powermodels.py | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/pandapower/test/opf/test_powermodels.py b/pandapower/test/opf/test_powermodels.py index cb4afe085..4dbf68d4e 100644 --- a/pandapower/test/opf/test_powermodels.py +++ b/pandapower/test/opf/test_powermodels.py @@ -587,12 +587,7 @@ def test_runpm_vd(): net.bus["pm_param/setpoint_v"] = None net.bus["pm_param/setpoint_v"].loc[net.sgen.bus] = 0.99 - pp.runpm_vd(net, calculate_voltage_angles=True, - trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, - n_timesteps=96, time_elapsed=0.25, correct_pm_network_data=True, - pm_model="ACPPowerModel", pm_time_limits=None, pm_log_level=0, - delete_buffer_file=False, pm_file_path=None, - pm_tol=1e-8, pdm_dev_mode=True) + pp.runpm_vd(net) assert np.allclose(net.res_bus.vm_pu[net.sgen.bus], 0.99, atol=1e-2, rtol=1e-2) assert np.not_equal(net_org.res_sgen.q_mvar.values.all(), net.res_sgen.q_mvar.values.all()) From ceda25955d3e6e0cc7564be9e618d109b256afa1 Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Mon, 15 Nov 2021 18:33:57 +0100 Subject: [PATCH 317/422] revise install list --- setup.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index db39aad2c..c803d51bb 100644 --- a/setup.py +++ b/setup.py @@ -54,12 +54,12 @@ "performance": ["ortools"], "fileio": ["xlsxwriter", "openpyxl", "cryptography", "geopandas"], # "fiona" is a depedency of geopandas and so already available "all": ["numpydoc", "sphinx", "sphinx_rtd_theme", - "plotly", "matplotlib", "python-igraph", "geopandas", "hashlib", "zlib", + "plotly", "matplotlib", "python-igraph", "geopandas", "zlib", "pytest", "pytest-xdist", "ortools", "xlsxwriter", "openpyxl", "cryptography" ]}, # "shapely", "pyproj", "fiona" are depedencies of geopandas and so already available - # base64 produces problems, so it is not included to "all" + # "hashlib", "base64" produces problems, so it is not included to "all" packages=find_packages(), include_package_data=True, classifiers=classifiers From f6f9843e9f1da5fd5e3457265542c0b2b4feecfd Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Mon, 15 Nov 2021 18:35:25 +0100 Subject: [PATCH 318/422] revise install list --- setup.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index c803d51bb..8eaf8b7a1 100644 --- a/setup.py +++ b/setup.py @@ -54,12 +54,12 @@ "performance": ["ortools"], "fileio": ["xlsxwriter", "openpyxl", "cryptography", "geopandas"], # "fiona" is a depedency of geopandas and so already available "all": ["numpydoc", "sphinx", "sphinx_rtd_theme", - "plotly", "matplotlib", "python-igraph", "geopandas", "zlib", + "plotly", "matplotlib", "python-igraph", "geopandas", "pytest", "pytest-xdist", "ortools", "xlsxwriter", "openpyxl", "cryptography" ]}, # "shapely", "pyproj", "fiona" are depedencies of geopandas and so already available - # "hashlib", "base64" produces problems, so it is not included to "all" + # "hashlib", "zlib", "base64" produces problems, so it is not included to "all" packages=find_packages(), include_package_data=True, classifiers=classifiers From a902bd14c6eab6a1bf51dcd78fa312c6c96231c4 Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Mon, 15 Nov 2021 18:39:21 +0100 Subject: [PATCH 319/422] revise install list --- setup.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index 8eaf8b7a1..a1a5a58b5 100644 --- a/setup.py +++ b/setup.py @@ -49,7 +49,7 @@ "packaging"], extras_require={ "docs": ["numpydoc", "sphinx", "sphinx_rtd_theme"], - "plotting": ["plotly", "matplotlib", "python-igraph", "geopandas", "base64", "hashlib", "zlib"], # "shapely", "pyproj" are depedencies of geopandas and so already available + "plotting": ["plotly", "matplotlib", "python-igraph", "geopandas"], # "shapely", "pyproj" are depedencies of geopandas and so already available; "base64", "hashlib", "zlib" produce installing problems, so it is not include "test": ["pytest", "pytest-xdist"], "performance": ["ortools"], "fileio": ["xlsxwriter", "openpyxl", "cryptography", "geopandas"], # "fiona" is a depedency of geopandas and so already available @@ -59,7 +59,7 @@ "ortools", "xlsxwriter", "openpyxl", "cryptography" ]}, # "shapely", "pyproj", "fiona" are depedencies of geopandas and so already available - # "hashlib", "zlib", "base64" produces problems, so it is not included to "all" + # "hashlib", "zlib", "base64" produce installing problems, so it is not included packages=find_packages(), include_package_data=True, classifiers=classifiers From 5fcd87e9d02d9ca9007de01f0d0555c6bad7172e Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Tue, 16 Nov 2021 08:21:45 +0100 Subject: [PATCH 320/422] revise checks and create functions of cost tables; is related to #493 PeP8 --- pandapower/create.py | 23 +++++--- pandapower/opf/validate_opf_input.py | 8 ++- pandapower/test/opf/test_basic.py | 53 ++++++++++--------- pandapower/test/opf/test_costs_mixed.py | 8 +-- .../test/timeseries/test_output_writer.py | 2 +- 5 files changed, 57 insertions(+), 37 deletions(-) diff --git a/pandapower/create.py b/pandapower/create.py index 1bf1c2af4..025a130d2 100644 --- a/pandapower/create.py +++ b/pandapower/create.py @@ -3521,7 +3521,7 @@ def create_pwl_cost(net, element, et, points, power_type="p", index=None, check= create_pwl_cost(net, 0, "gen", [[0, 20, 1], [20, 30, 2]]) """ element = element if not hasattr(element, "__iter__") else element[0] - if check and _cost_existance_check(net, element, et): + if check and _cost_existance_check(net, element, et, power_type=power_type): raise UserWarning("There already exist costs for %s %i" % (et, element)) index = _get_index_with_check(net, "pwl_cost", index, "piecewise_linear_cost") @@ -3599,11 +3599,22 @@ def _get_index_with_check(net, table, index, name=None): return index -def _cost_existance_check(net, element, et): - return (bool(net.poly_cost.shape[0]) and - np_any((net.poly_cost.element == element).values & (net.poly_cost.et == et).values)) \ - or (bool(net.pwl_cost.shape[0]) and - np_any((net.pwl_cost.element == element & net.pwl_cost.et == et).values)) +def _cost_existance_check(net, element, et, power_type=None): + if power_type is None: + return (bool(net.poly_cost.shape[0]) and + np_any((net.poly_cost.element == element).values & + (net.poly_cost.et == et).values)) \ + or (bool(net.pwl_cost.shape[0]) and + np_any((net.pwl_cost.element == element).values & + (net.pwl_cost.et == et).values)) + else: + return (bool(net.poly_cost.shape[0]) and + np_any((net.poly_cost.element == element).values & + (net.poly_cost.et == et).values)) \ + or (bool(net.pwl_cost.shape[0]) and + np_any((net.pwl_cost.element == element).values & + (net.pwl_cost.et == et).values & + (net.pwl_cost.power_type == power_type).values)) def _get_multiple_index_with_check(net, table, index, number, name=None): diff --git a/pandapower/opf/validate_opf_input.py b/pandapower/opf/validate_opf_input.py index 9cdbd9750..a8580659b 100644 --- a/pandapower/opf/validate_opf_input.py +++ b/pandapower/opf/validate_opf_input.py @@ -74,6 +74,10 @@ def _check_necessary_opf_parameters(net, logger): raise KeyError("OPF parameters are not set correctly. See error log.") # --- log multiple costs to elements - if pd.concat([net.poly_cost[["element", "et"]], net.pwl_cost[["element", "et"]]]).duplicated( - ).any(): + cost_check_df = pd.concat([net.poly_cost[["element", "et"]], net.poly_cost[["element", "et"]]], + ignore_index=True) + cost_check_df["power_type"] = ["p"]*net.poly_cost.shape[0] + ["q"]*net.poly_cost.shape[0] + cost_check_df = pd.concat([cost_check_df, net.pwl_cost[["element", "et", "power_type"]]], + ignore_index=True) + if cost_check_df.duplicated().any(): raise UserWarning("There are multiple costs to one or multiple elements.") diff --git a/pandapower/test/opf/test_basic.py b/pandapower/test/opf/test_basic.py index bd4751f96..628602eb5 100644 --- a/pandapower/test/opf/test_basic.py +++ b/pandapower/test/opf/test_basic.py @@ -46,8 +46,8 @@ def simple_opf_test_net(): net = pp.create_empty_network() pp.create_bus(net, vn_kv=10.) pp.create_bus(net, vn_kv=.4) - pp.create_gen(net, 1, p_mw=0.1, controllable=True, min_p_mw=0.005, max_p_mw=0.15, max_q_mvar=0.05, - min_q_mvar=-.005) + pp.create_gen(net, 1, p_mw=0.1, controllable=True, min_p_mw=0.005, max_p_mw=0.15, + max_q_mvar=0.05, min_q_mvar=-.005) pp.create_ext_grid(net, 0) pp.create_load(net, 1, p_mw=0.020, controllable=False) pp.create_line_from_parameters(net, 0, 1, 50, name="line2", r_ohm_per_km=0.876, @@ -138,8 +138,8 @@ def test_simplest_voltage(): # net = pp.create_empty_network() # pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=10.) # pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=.4) -# pp.create_gen(net, 1, p_mw=0.1, controllable=True, min_p_mw=0.005, max_p_mw=0.150, max_q_mvar=0.05, -# min_q_mvar=-0.05) +# pp.create_gen(net, 1, p_mw=0.1, controllable=True, min_p_mw=0.005, max_p_mw=0.150, +# max_q_mvar=0.05, min_q_mvar=-0.05) # pp.create_ext_grid(net, 0, vm_pu=1.01) # pp.create_load(net, 1, p_mw=0.02, controllable=False) # pp.create_line_from_parameters(net, 0, 1, 50, name="line2", r_ohm_per_km=0.876, @@ -170,8 +170,8 @@ def test_simplest_dispatch(): net = pp.create_empty_network() pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=10.) pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=.4) - pp.create_gen(net, 1, p_mw=0.1, controllable=True, min_p_mw=0.005, max_p_mw=0.150, max_q_mvar=0.05, - min_q_mvar=-0.05) + pp.create_gen(net, 1, p_mw=0.1, controllable=True, min_p_mw=0.005, max_p_mw=0.150, + max_q_mvar=0.05, min_q_mvar=-0.05) pp.create_poly_cost(net, 0, "gen", cp1_eur_per_mw=100) pp.create_ext_grid(net, 0) pp.create_poly_cost(net, 0, "ext_grid", cp1_eur_per_mw=101) @@ -323,7 +323,8 @@ def test_opf_gen_loading(): # run OPF pp.runopp(net, OPF_VIOLATION=1e-1, OUT_LIM_LINE=2, - PDIPM_GRADTOL=1e-10, PDIPM_COMPTOL=1e-10, PDIPM_COSTTOL=1e-10, calculate_voltage_angles=False) + PDIPM_GRADTOL=1e-10, PDIPM_COMPTOL=1e-10, PDIPM_COSTTOL=1e-10, + calculate_voltage_angles=False) assert net["OPF_converged"] # assert and check result @@ -401,8 +402,8 @@ def test_unconstrained_line(): net = pp.create_empty_network() pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=10.) pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=.4) - pp.create_gen(net, 1, p_mw=0.1, controllable=True, min_p_mw=0.005, max_p_mw=0.15, max_q_mvar=0.05, - min_q_mvar=-0.05) + pp.create_gen(net, 1, p_mw=0.1, controllable=True, min_p_mw=0.005, max_p_mw=0.15, + max_q_mvar=0.05, min_q_mvar=-0.05) pp.create_ext_grid(net, 0) pp.create_load(net, 1, p_mw=0.02, controllable=False) pp.create_line_from_parameters(net, 0, 1, 50, name="line2", r_ohm_per_km=0.876, @@ -430,8 +431,8 @@ def test_trafo3w_loading(): tidx = pp.create_transformer3w(net, b2, b3, b4, std_type='63/25/38 MVA 110/20/10 kV', max_loading_percent=120) pp.create_load(net, b3, p_mw=5, controllable=False) - load_id = pp.create_load(net, b4, p_mw=5, controllable=True, max_p_mw=50, min_p_mw=0, min_q_mvar=-1e6, - max_q_mvar=1e6) + load_id = pp.create_load(net, b4, p_mw=5, controllable=True, max_p_mw=50, min_p_mw=0, + min_q_mvar=-1e6, max_q_mvar=1e6) pp.create_poly_cost(net, load_id, "load", cp1_eur_per_mw=-1000) # pp.create_xward(net, b4, 1000, 1000, 1000, 1000, 0.1, 0.1, 1.0) net.trafo3w.shift_lv_degree.at[tidx] = 120 @@ -530,10 +531,10 @@ def test_opf_varying_max_line_loading(): pfe_kw=0.11, name=None, in_service=True, index=None, max_loading_percent=max_trafo_loading) - pp.create_sgen(net, 3, p_mw=0.1, controllable=True, min_p_mw=0.005, max_p_mw=0.15, max_q_mvar=0.025, - min_q_mvar=-0.025) - pp.create_sgen(net, 2, p_mw=0.1, controllable=True, min_p_mw=0.005, max_p_mw=0.15, max_q_mvar=0.025, - min_q_mvar=-0.025) + pp.create_sgen(net, 3, p_mw=0.1, controllable=True, min_p_mw=0.005, max_p_mw=0.15, + max_q_mvar=0.025, min_q_mvar=-0.025) + pp.create_sgen(net, 2, p_mw=0.1, controllable=True, min_p_mw=0.005, max_p_mw=0.15, + max_q_mvar=0.025, min_q_mvar=-0.025) pp.create_poly_cost(net, 0, "sgen", cp1_eur_per_mw=10) pp.create_poly_cost(net, 1, "sgen", cp1_eur_per_mw=10) pp.create_ext_grid(net, 0) @@ -549,7 +550,8 @@ def test_opf_varying_max_line_loading(): pp.runopp(net, init="flat", calculate_voltage_angles=False) assert net["OPF_converged"] - assert np.allclose(net["_ppc"]["branch"][:, 5], np.array([0.02771281 + 0.j, 0.00692820 + 0.j, 0.12800000 + 0.j])) + assert np.allclose(net["_ppc"]["branch"][:, 5], np.array([0.02771281 + 0.j, 0.00692820 + 0.j, + 0.12800000 + 0.j])) # assert and check result logger.debug("test_opf_sgen_loading") @@ -719,7 +721,8 @@ def test_no_controllables(simple_opf_test_net): try: pp.runopp(net) except pp.OPFNotConverged: - # opf will fail if not bus limits are set and vm_pu is the default value of 1.0 (it is enforced) + # opf will fail if not bus limits are set and vm_pu is the default value of 1.0 ( + # it is enforced) assert True net.gen.loc[:, "vm_pu"] = 1.062 # vm_pu setpoint is mandatory if controllable=False net.gen.loc[:, "p_mw"] = 0.149 @@ -807,8 +810,8 @@ def four_bus_net(): def test_three_slacks_vm_setpoint(four_bus_net): - # tests a net with three slacks in one area. Two of them will be converted to gens, since only one is allowed per - # area. The others should have vmin / vmax set as their vm_pu setpoint + # tests a net with three slacks in one area. Two of them will be converted to gens, since + # only one is allowed per area. The others should have vmin / vmax set as their vm_pu setpoint net = four_bus_net # create two additional slacks with different voltage setpoints pp.create_ext_grid(net, 1, vm_pu=1.01, max_p_mw=1., min_p_mw=-1., min_q_mvar=-1, max_q_mvar=1.) @@ -828,11 +831,13 @@ def test_only_gen_slack_vm_setpoint(four_bus_net): net.bus.loc[:, "min_vm_pu"] = 0.9 net.bus.loc[:, "max_vm_pu"] = 1.1 # create two additional slacks with different voltage setpoints - pp.create_gen(net, 0, p_mw=0., vm_pu=1., max_p_mw=1., min_p_mw=-1., min_q_mvar=-1, max_q_mvar=1., slack=True) - g1 = pp.create_gen(net, 1, p_mw=0.02, vm_pu=1.01, max_p_mw=1., min_p_mw=-1., min_q_mvar=-1, max_q_mvar=1., - controllable=False) # controllable == False -> vm_pu enforced - g3 = pp.create_gen(net, 3, p_mw=0.01, vm_pu=1.02, max_p_mw=1., min_p_mw=-1., - min_q_mvar=-1, max_q_mvar=1.) # controllable == True -> vm_pu between bus voltages + pp.create_gen(net, 0, p_mw=0., vm_pu=1., max_p_mw=1., min_p_mw=-1., min_q_mvar=-1, + max_q_mvar=1., slack=True) + pp.create_gen(net, 1, p_mw=0.02, vm_pu=1.01, max_p_mw=1., min_p_mw=-1., min_q_mvar=-1, + max_q_mvar=1., controllable=False) # controllable == False -> vm_pu enforced + pp.create_gen(net, 3, p_mw=0.01, vm_pu=1.02, max_p_mw=1., min_p_mw=-1., + min_q_mvar=-1, max_q_mvar=1.) # controllable == True -> vm_pu between + # bus voltages pp.runpp(net) # assert if voltage limits are correct in result in pf an opf assert np.allclose(net.res_bus.loc[[0, 1, 3], "vm_pu"], [1., 1.01, 1.02]) diff --git a/pandapower/test/opf/test_costs_mixed.py b/pandapower/test/opf/test_costs_mixed.py index b9faae207..c66c46068 100644 --- a/pandapower/test/opf/test_costs_mixed.py +++ b/pandapower/test/opf/test_costs_mixed.py @@ -98,11 +98,11 @@ def test_mixed_p_q_pwl(): net = pp.create_empty_network() pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=10.) pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=.4) - pp.create_gen(net, 1, p_mw=0.1, controllable=True, min_p_mw=0.005, max_p_mw=0.15, max_q_mvar=.05, - min_q_mvar=-.05) + pp.create_gen(net, 1, p_mw=0.1, controllable=True, min_p_mw=0.005, max_p_mw=0.15, + max_q_mvar=.05, min_q_mvar=-.05) pp.create_ext_grid(net, 0) - pp.create_load(net, 1, p_mw=0.02, controllable=False, max_q_mvar=.05, max_p_mw=0.1, min_p_mw=0.005, - min_q_mvar=-.05) + pp.create_load(net, 1, p_mw=0.02, controllable=False, min_p_mw=0.005, max_p_mw=0.1, + max_q_mvar=.05, min_q_mvar=-.05) pp.create_line_from_parameters(net, 0, 1, 50, name="line2", r_ohm_per_km=0.876, c_nf_per_km=260.0, max_i_ka=0.123, x_ohm_per_km=0.1159876, max_loading_percent=100 * 690) diff --git a/pandapower/test/timeseries/test_output_writer.py b/pandapower/test/timeseries/test_output_writer.py index 458a18db9..cfa90e147 100644 --- a/pandapower/test/timeseries/test_output_writer.py +++ b/pandapower/test/timeseries/test_output_writer.py @@ -301,9 +301,9 @@ def test_ow_index(): assert np.all(ow.output["res_line.loading_percent"].index == p_data.index) - def test_equal_eval_name_warning_and_costs(): net = nw.case5() + net.poly_cost = net.poly_cost.iloc[0:0] pp.create_pwl_cost(net, 0, "sgen", [[0, 20, 1], [20, 30, 2]]) pp.create_pwl_cost(net, 0, "gen", [[0, 20, 1], [20, 30, 2]]) pp.create_pwl_cost(net, 1, "gen", [[0, 20, 1], [20, 30, 2]]) From 4f092a4f9498b0a23c299e2c06b273ef3e5fe2f9 Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Tue, 16 Nov 2021 08:30:11 +0100 Subject: [PATCH 321/422] small fix to _pq_from_cosphi() --- pandapower/toolbox.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pandapower/toolbox.py b/pandapower/toolbox.py index 799cef855..f3f9502f2 100644 --- a/pandapower/toolbox.py +++ b/pandapower/toolbox.py @@ -133,9 +133,9 @@ def _pq_from_cosphi(s, cosphi, qmode, pmode): '(Q injection, increases voltage). Please use "underexcited" ' + 'in place of "ind" and "overexcited" in place of "cap".') if qmode == "ind" or qmode == "underexcited": - qsign = 1 if pmode == "load" else -1 + qsign = 1 elif qmode == "cap" or qmode == "overexcited": - qsign = -1 if pmode == "load" else 1 + qsign = -1 else: raise ValueError('Unknown mode %s - specify "underexcited" (Q absorption, decreases voltage' ') or "overexcited" (Q injection, increases voltage)' % qmode) From db6467dcb4912d4c3ab1ed57c35af859caf82a29 Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Tue, 16 Nov 2021 10:23:06 +0100 Subject: [PATCH 322/422] fix #683 by warn missing voltage_depend_loads implementation --- pandapower/auxiliary.py | 3 ++- pandapower/converter/powermodels/to_pm.py | 18 ++++++++++++------ pandapower/converter/pypower/to_ppc.py | 12 ++++++++++-- pandapower/optimal_powerflow.py | 13 +++++++++++++ pandapower/powerflow.py | 21 +++++++++++++++------ 5 files changed, 52 insertions(+), 15 deletions(-) diff --git a/pandapower/auxiliary.py b/pandapower/auxiliary.py index 41281d520..40b10d7ee 100644 --- a/pandapower/auxiliary.py +++ b/pandapower/auxiliary.py @@ -1106,7 +1106,8 @@ def _init_runopp_options(net, calculate_voltage_angles, check_connectivity, swit trafo_model=trafo_model, check_connectivity=check_connectivity, mode=mode, switch_rx_ratio=switch_rx_ratio, init_vm_pu=init, init_va_degree=init, enforce_q_lims=enforce_q_lims, recycle=recycle, - voltage_depend_loads=False, delta=delta, trafo3w_losses=trafo3w_losses, + voltage_depend_loads=kwargs.get("voltage_depend_loads", False), + delta=delta, trafo3w_losses=trafo3w_losses, consider_line_temperature=consider_line_temperature) _add_opf_options(net, trafo_loading=trafo_loading, ac=ac, init=init, numba=numba, lightsim2grid=lightsim2grid, only_v_results=only_v_results, use_umfpack=use_umfpack, permc_spec=permc_spec) diff --git a/pandapower/converter/powermodels/to_pm.py b/pandapower/converter/powermodels/to_pm.py index 6c933700c..4f3fe3e57 100644 --- a/pandapower/converter/powermodels/to_pm.py +++ b/pandapower/converter/powermodels/to_pm.py @@ -46,7 +46,8 @@ def default(self, obj): def convert_pp_to_pm(net, pm_file_path=None, correct_pm_network_data=True, calculate_voltage_angles=True, ac=True, silence=True, trafo_model="t", delta=1e-8, trafo3w_losses="hv", check_connectivity=True, pp_to_pm_callback=None, pm_model="ACPPowerModel", pm_solver="ipopt", - pm_mip_solver="cbc", pm_nl_solver="ipopt", opf_flow_lim = "S", pm_tol=1e-8): + pm_mip_solver="cbc", pm_nl_solver="ipopt", opf_flow_lim = "S", pm_tol=1e-8, + voltage_depend_loads=False): """ Converts a pandapower net to a PowerModels.jl datastructure and saves it to a json file INPUT: @@ -71,6 +72,7 @@ def convert_pp_to_pm(net, pm_file_path=None, correct_pm_network_data=True, calcu "S" - apparent power flow (limit in MVA), "I" - current magnitude (limit in MVA at 1 p.u. voltage) **pm_tol** (float, 1e-8) - default desired convergence tolerance for solver to use. + **voltage_depend_loads** (bool, False) - consideration of voltage-dependent loads. If False, net.load.const_z_percent and net.load.const_i_percent are not considered, i.e. net.load.p_mw and net.load.q_mvar are considered as constant-power loads. Returns ------- @@ -82,7 +84,7 @@ def convert_pp_to_pm(net, pm_file_path=None, correct_pm_network_data=True, calcu trafo_model=trafo_model, check_connectivity=check_connectivity, mode="opf", switch_rx_ratio=2, init_vm_pu="flat", init_va_degree="flat", enforce_q_lims=True, recycle=dict(_is_elements=False, ppc=False, Ybus=False), - voltage_depend_loads=False, delta=delta, trafo3w_losses=trafo3w_losses) + voltage_depend_loads=voltage_depend_loads, delta=delta, trafo3w_losses=trafo3w_losses) _add_opf_options(net, trafo_loading='power', ac=ac, init="flat", numba=True, pp_to_pm_callback=pp_to_pm_callback, pm_solver=pm_solver, pm_model=pm_model, correct_pm_network_data=correct_pm_network_data, silence=silence, pm_mip_solver=pm_mip_solver, @@ -98,7 +100,11 @@ def convert_pp_to_pm(net, pm_file_path=None, correct_pm_network_data=True, calcu logger = logging.getLogger(__name__) -def convert_to_pm_structure(net, opf_flow_lim = "S"): +def convert_to_pm_structure(net, opf_flow_lim="S"): + if net["_options"]["voltage_depend_loads"] and not ( + np.allclose(net.load.const_z_percent.values, 0) and + np.allclose(net.load.const_i_percent.values, 0)): + logger.error("pandapower optimal_powerflow does not support voltage depend loads.") net["OPF_converged"] = False net["converged"] = False _add_auxiliary_elements(net) @@ -371,7 +377,7 @@ def add_pm_options(pm, net): pm["pm_nl_solver"] = net._options["pm_nl_solver"] if "pm_nl_solver" in net._options else "ipopt" pm["pm_model"] = net._options["pm_model"] if "pm_model" in net._options else "DCPPowerModel" pm["pm_log_level"] = net._options["pm_log_level"] if "pm_log_level" in net._options else 0 - pm["pm_tol"] = net._options["pm_tol"] if "pm_tol" in net._options else 1e-8 + pm["pm_tol"] = net._options["pm_tol"] if "pm_tol" in net._options else 1e-8 if "pm_time_limits" in net._options and isinstance(net._options["pm_time_limits"], dict): # write time limits to power models data structure for key, val in net._options["pm_time_limits"].items(): @@ -418,7 +424,7 @@ def init_ne_line(net, new_line_index, construction_costs=None): # init res_ne_line to save built status afterwards net["res_ne_line"] = pd.DataFrame(data=0, index=new_line_index, columns=["built"], dtype=int) - + def add_params_to_pm(net, pm): # add user defined parameters to pm for elm in ["bus", "line", "gen", "load", "trafo", "sgen"]: @@ -428,7 +434,7 @@ def add_params_to_pm(net, pm): elif "user_defined_params" not in pm.keys(): pm["user_defined_params"] = dict() params = [param_col.split("/")[-1] for param_col in param_cols] - for param, param_col in zip(params, param_cols): + for param, param_col in zip(params, param_cols): pd_idxs = net[elm].index[net[elm][param_col].notna()].tolist() target_values = net[elm][param_col][pd_idxs].values.tolist() if elm in ["line", "trafo"]: diff --git a/pandapower/converter/pypower/to_ppc.py b/pandapower/converter/pypower/to_ppc.py index 247942590..042a1e433 100644 --- a/pandapower/converter/pypower/to_ppc.py +++ b/pandapower/converter/pypower/to_ppc.py @@ -3,6 +3,7 @@ # Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. +from numpy import allclose from pandapower.auxiliary import _add_ppc_options from pandapower.powerflow import _pd2ppc @@ -17,7 +18,7 @@ def to_ppc(net, calculate_voltage_angles=False, trafo_model="t", switch_rx_ratio=2, - check_connectivity=True, voltage_depend_loads=True, init="results", mode=None): + check_connectivity=True, voltage_depend_loads=False, init="results", mode=None): """ This function converts a pandapower net to a pypower case file. @@ -52,7 +53,7 @@ def to_ppc(net, calculate_voltage_angles=False, trafo_model="t", switch_rx_ratio If True, an extra connectivity test based on SciPy Compressed Sparse Graph Routines is perfomed. If check finds unsupplied buses, they are set out of service in the ppc - **voltage_depend_loads** (bool, True) - consideration of voltage-dependent loads. \ + **voltage_depend_loads** (bool, False) - consideration of voltage-dependent loads. \ If False, net.load.const_z_percent and net.load.const_i_percent are not considered, i.e. \ net.load.p_mw and net.load.q_mvar are considered as constant-power loads. @@ -107,6 +108,13 @@ def to_ppc(net, calculate_voltage_angles=False, trafo_model="t", switch_rx_ratio init_va_degree=init, enforce_q_lims=True, recycle=None, voltage_depend_loads=voltage_depend_loads) + if net["_options"]["voltage_depend_loads"] and not ( + allclose(net.load.const_z_percent.values, 0) and + allclose(net.load.const_i_percent.values, 0)): + logger.error("to_ppc() does not consider voltage depend loads. The z and i parts of " + "voltage depend loads are set to additional columns 13 and 14 but the p/q part" + " is still unchanged.") + # do the conversion _, ppci = _pd2ppc(net) ppci['branch'] = ppci['branch'].real diff --git a/pandapower/optimal_powerflow.py b/pandapower/optimal_powerflow.py index 3ee10dc14..176e52eca 100644 --- a/pandapower/optimal_powerflow.py +++ b/pandapower/optimal_powerflow.py @@ -6,6 +6,7 @@ import warnings from sys import stdout +from numpy import allclose from pandapower.pypower.add_userfcn import add_userfcn from pandapower.pypower.ppoption import ppoption @@ -20,6 +21,13 @@ from pandapower.results import _copy_results_ppci_to_ppc, init_results, verify_results, \ _extract_results +try: + import pplog as logging +except ImportError: + import logging + +logger = logging.getLogger(__name__) + class OPFNotConverged(ppException): """ @@ -35,6 +43,11 @@ def _optimal_powerflow(net, verbose, suppress_warnings, **kwargs): if not "OPF_FLOW_LIM" in kwargs: kwargs["OPF_FLOW_LIM"] = 2 + if net["_options"]["voltage_depend_loads"] and not ( + allclose(net.load.const_z_percent.values, 0) and + allclose(net.load.const_i_percent.values, 0)): + logger.error("pandapower optimal_powerflow does not support voltage depend loads.") + ppopt = ppoption(VERBOSE=verbose, PF_DC=not ac, INIT=init, **kwargs) net["OPF_converged"] = False net["converged"] = False diff --git a/pandapower/powerflow.py b/pandapower/powerflow.py index 852c094f2..6b033fc5b 100644 --- a/pandapower/powerflow.py +++ b/pandapower/powerflow.py @@ -3,7 +3,7 @@ # Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. -from numpy import nan_to_num, array +from numpy import nan_to_num, array, allclose from pandapower.auxiliary import ppException, _clean_up, _add_auxiliary_elements from pandapower.build_branch import _calc_trafo_parameter, _calc_trafo3w_parameter @@ -18,8 +18,15 @@ from pandapower.pypower.idx_bus import VM from pandapower.pypower.makeYbus import makeYbus as makeYbus_pypower from pandapower.pypower.pfsoln import pfsoln as pfsoln_pypower -from pandapower.results import _extract_results, _copy_results_ppci_to_ppc, init_results, verify_results, \ - _ppci_bus_to_ppc, _ppci_other_to_ppc +from pandapower.results import _extract_results, _copy_results_ppci_to_ppc, init_results, \ + verify_results, _ppci_bus_to_ppc, _ppci_other_to_ppc + +try: + import pplog as logging +except ImportError: + import logging + +logger = logging.getLogger(__name__) class AlgorithmUnknown(ppException): @@ -54,9 +61,11 @@ def _powerflow(net, **kwargs): else: init_results(net) - # TODO remove this when zip loads are integrated for all PF algorithms - if algorithm not in ['nr', 'bfsw']: - net["_options"]["voltage_depend_loads"] = False + if net["_options"]["voltage_depend_loads"] and algorithm not in ['nr', 'bfsw'] and not ( + allclose(net.load.const_z_percent.values, 0) and + allclose(net.load.const_i_percent.values, 0)): + logger.error(("pandapower powerflow does not support voltage depend loads for algorithm " + "'%s'!") % algorithm) # clear lookups net._pd2ppc_lookups = {"bus": array([], dtype=int), "ext_grid": array([], dtype=int), From cd10db478ec1f0e50e26134f7c1afa7bc3f09654 Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Tue, 16 Nov 2021 10:36:33 +0100 Subject: [PATCH 323/422] PeP8 --- pandapower/auxiliary.py | 73 ++++++++++-------- pandapower/build_bus.py | 39 ++++++---- pandapower/converter/powermodels/to_pm.py | 92 +++++++++++++++-------- pandapower/optimal_powerflow.py | 14 ++-- pandapower/pd2ppc.py | 32 ++++---- pandapower/powerflow.py | 7 +- pandapower/run.py | 3 +- 7 files changed, 156 insertions(+), 104 deletions(-) diff --git a/pandapower/auxiliary.py b/pandapower/auxiliary.py index 40b10d7ee..949bff596 100644 --- a/pandapower/auxiliary.py +++ b/pandapower/auxiliary.py @@ -181,12 +181,15 @@ def __getattr__(self, key): def __deepcopy__(self, memo): """ - overloads the deepcopy function of pandapower if at least one DataFrame with column "object" is in net + overloads the deepcopy function of pandapower if at least one DataFrame with column + "object" is in net - in addition, line geodata can contain mutable objects like lists, and it is also treated specially + in addition, line geodata can contain mutable objects like lists, and it is also treated + specially - reason: some of these objects contain a reference to net which breaks the default deepcopy function. - Also, the DataFrame doesn't deepcopy its elements if geodata changes in the lists, it affects both net instances + reason: some of these objects contain a reference to net which breaks the default deepcopy + function. Also, the DataFrame doesn't deepcopy its elements if geodata changes in the + lists, it affects both net instances This fix was introduced in pandapower 2.2.1 """ @@ -404,8 +407,8 @@ def _check_connectivity_opf(ppc): ppc['bus'][demoted_slacks, BUS_TYPE] = PV logger.warning("Multiple connected slacks in one area found. This would probably lead " "to non-convergence of the OPF. Therefore, all but one slack (ext_grid)" - " were changed to gens. To avoid undesired behaviour, rather convert the " - "slacks to gens yourself and set slack=True for only one of them.") + " were changed to gens. To avoid undesired behaviour, rather convert the" + " slacks to gens yourself and set slack=True for only one of them.") isolated_nodes, pus, qus, ppc = _set_isolated_nodes_out_of_service(ppc, bus_not_reachable) return isolated_nodes, pus, qus @@ -482,7 +485,8 @@ def _python_set_elements_oos(ti, tis, bis, lis): # pragma: no cover lis[i] = True -def _python_set_isolated_buses_oos(bus_in_service, ppc_bus_isolated, bus_lookup): # pragma: no cover +def _python_set_isolated_buses_oos(bus_in_service, ppc_bus_isolated, + bus_lookup): # pragma: no cover for k in range(len(bus_in_service)): if ppc_bus_isolated[bus_lookup[k]]: bus_in_service[k] = False @@ -509,8 +513,8 @@ def _select_is_elements_numba(net, isolated_nodes=None, sequence=None): ppc_bus_isolated[isolated_nodes] = True set_isolated_buses_oos(bus_in_service, ppc_bus_isolated, net["_pd2ppc_lookups"]["bus"]) # mode = net["_options"]["mode"] - elements = ["load", "motor", "sgen", "asymmetric_load", "asymmetric_sgen", "gen" \ - , "ward", "xward", "shunt", "ext_grid", "storage"] # ,"impedance_load" + elements = ["load", "motor", "sgen", "asymmetric_load", "asymmetric_sgen", "gen", + "ward", "xward", "shunt", "ext_grid", "storage"] # ,"impedance_load" is_elements = dict() for element in elements: len_ = len(net[element].index) @@ -697,7 +701,8 @@ def _set_isolated_buses_out_of_service(net, ppc): ppc["branch"][ppc["branch"][:, 10] == 1, :2].real.astype(int).flatten()) # but also check if they may be the only connection to an ext_grid - net._isolated_buses = np.setdiff1d(disco, ppc['bus'][ppc['bus'][:, 1] == REF, :1].real.astype(int)) + net._isolated_buses = np.setdiff1d(disco, ppc['bus'][ppc['bus'][:, 1] == REF, + :1].real.astype(int)) ppc["bus"][net._isolated_buses, 1] = NONE @@ -733,25 +738,26 @@ def _deactive(msg): return False -def _check_lightsim2grid_compatibility(net, lightsim2grid, voltage_dependend_loads, algorithm, enforce_q_lims): +def _check_lightsim2grid_compatibility(net, lightsim2grid, voltage_dependend_loads, algorithm, + enforce_q_lims): if lightsim2grid: if not lightsim2grid_available: - return _deactive("option 'lightsim2grid' is True activates but module cannot be imported. " - "I'll deactive lightsim2grid.") + return _deactive("option 'lightsim2grid' is True activates but module cannot be " + "imported. lightsim2grid gets deactivet.") if algorithm != 'nr': raise ValueError("option 'lightsim2grid' is True activates but algorithm is not 'nr'.") if voltage_dependend_loads: - return _deactive("option 'lightsim2grid' is True but voltage dependend loads are in your grid." - "I'll deactive lightsim2grid.") + return _deactive("option 'lightsim2grid' is True but voltage dependend loads are in " + "your grid. lightsim2grid gets deactivet.") if enforce_q_lims: - return _deactive("option 'lightsim2grid' is True and enforce_q_lims is True. This is not supported." - "I'll deactive lightsim2grid.") + return _deactive("option 'lightsim2grid' is True and enforce_q_lims is True. This is " + "not supported. lightsim2grid gets deactivet.") if len(net.ext_grid) > 1: - return _deactive("option 'lightsim2grid' is True and multiple ext_grids are in the grid." - "I'll deactive lightsim2grid.") + return _deactive("option 'lightsim2grid' is True and multiple ext_grids are in the " + "grid. lightsim2grid gets deactivet.") if np.any(net.gen.bus.isin(net.ext_grid.bus)): return _deactive("option 'lightsim2grid' is True and gens are at slack buses." - "I'll deactive lightsim2grid.") + "lightsim2grid gets deactivet.") return lightsim2grid @@ -1001,8 +1007,8 @@ def _init_runpp_options(net, algorithm, calculate_voltage_angles, init, "'init_va_degree'.") init_from_results = init == "results" or \ - (isinstance(init_vm_pu, str) and init_vm_pu == "results") or \ - (isinstance(init_va_degree, str) and init_va_degree == "results") + (isinstance(init_vm_pu, str) and init_vm_pu == "results") or \ + (isinstance(init_va_degree, str) and init_va_degree == "results") if init_from_results and len(net.res_bus) == 0: init = "auto" init_vm_pu = None @@ -1022,14 +1028,16 @@ def _init_runpp_options(net, algorithm, calculate_voltage_angles, init, init_va_degree = init if distributed_slack: - false_slack_weight_elms = [elm for elm in {'asymmetric_load', 'asymmetric_sgen', 'load', 'sgen', 'shunt', - 'storage', 'ward'} if "slack_weight" in net[elm].columns] + false_slack_weight_elms = [elm for elm in { + 'asymmetric_load', 'asymmetric_sgen', 'load', 'sgen', 'shunt', + 'storage', 'ward'} if "slack_weight" in net[elm].columns] if len(false_slack_weight_elms): - logger.warning("Currently distributed_slack is implemented for 'ext_grid', 'gen' and 'xward'" + - "only, not for '" + "', '".join(false_slack_weight_elms) + "'.") + logger.warning("Currently distributed_slack is implemented for 'ext_grid', 'gen' " + "and 'xward' only, not for '" + "', '".join( + false_slack_weight_elms) + "'.") if algorithm != 'nr': - raise NotImplementedError('Distributed slack is only implemented for Newton Raphson algorithm.') - + raise NotImplementedError( + 'Distributed slack is only implemented for Newton Raphson algorithm.') # init options net._options = {} @@ -1109,11 +1117,13 @@ def _init_runopp_options(net, calculate_voltage_angles, check_connectivity, swit voltage_depend_loads=kwargs.get("voltage_depend_loads", False), delta=delta, trafo3w_losses=trafo3w_losses, consider_line_temperature=consider_line_temperature) - _add_opf_options(net, trafo_loading=trafo_loading, ac=ac, init=init, numba=numba, lightsim2grid=lightsim2grid, + _add_opf_options(net, trafo_loading=trafo_loading, ac=ac, init=init, numba=numba, + lightsim2grid=lightsim2grid, only_v_results=only_v_results, use_umfpack=use_umfpack, permc_spec=permc_spec) -def _init_rundcopp_options(net, check_connectivity, switch_rx_ratio, delta, trafo3w_losses, **kwargs): +def _init_rundcopp_options(net, check_connectivity, switch_rx_ratio, delta, trafo3w_losses, + **kwargs): mode = "opf" ac = False init = "flat" @@ -1133,7 +1143,8 @@ def _init_rundcopp_options(net, check_connectivity, switch_rx_ratio, delta, traf mode=mode, switch_rx_ratio=switch_rx_ratio, init_vm_pu=init, init_va_degree=init, enforce_q_lims=enforce_q_lims, recycle=recycle, voltage_depend_loads=False, delta=delta, trafo3w_losses=trafo3w_losses) - _add_opf_options(net, trafo_loading=trafo_loading, init=init, ac=ac, only_v_results=only_v_results, + _add_opf_options(net, trafo_loading=trafo_loading, init=init, ac=ac, + only_v_results=only_v_results, use_umfpack=use_umfpack, permc_spec=permc_spec) diff --git a/pandapower/build_bus.py b/pandapower/build_bus.py index ef5e36c09..56e78257a 100644 --- a/pandapower/build_bus.py +++ b/pandapower/build_bus.py @@ -11,8 +11,8 @@ import pandas as pd from pandapower.auxiliary import _sum_by_group, phase_to_sequence -from pandapower.pypower.idx_bus import BUS_I, BASE_KV, PD, QD, GS, BS, VMAX, VMIN, BUS_TYPE, NONE, VM, VA, \ - CID, CZD, bus_cols, REF +from pandapower.pypower.idx_bus import BUS_I, BASE_KV, PD, QD, GS, BS, VMAX, VMIN, BUS_TYPE, NONE, \ + VM, VA, CID, CZD, bus_cols, REF try: from numba import jit @@ -81,7 +81,8 @@ def create_bus_lookup_numba(net, bus_index, bus_is_idx, gen_is_mask, eg_is_mask) bus_is_pv[net["gen"]["bus"].values[gen_is_mask]] = True # create array that represents the disjoint set ar = np.arange(max_bus_idx + 1) - ds_create(ar, switch_bus, switch_elm, switch_et_bus, switch_closed, switch_z_ohm, bus_is_pv, bus_in_service) + ds_create(ar, switch_bus, switch_elm, switch_et_bus, switch_closed, switch_z_ohm, bus_is_pv, + bus_in_service) # finally create and fill bus lookup bus_lookup = -np.ones(max_bus_idx + 1, dtype=int) fill_bus_lookup(ar, bus_lookup, bus_index) @@ -116,7 +117,8 @@ def create_consecutive_bus_lookup(net, bus_index): return bus_lookup -def create_bus_lookup_numpy(net, bus_index, bus_is_idx, gen_is_mask, eg_is_mask, closed_bb_switch_mask): +def create_bus_lookup_numpy(net, bus_index, bus_is_idx, gen_is_mask, eg_is_mask, + closed_bb_switch_mask): bus_lookup = create_consecutive_bus_lookup(net, bus_index) net._fused_bb_switches = closed_bb_switch_mask & (net["switch"]["z_ohm"].values <= 0) if net._fused_bb_switches.any(): @@ -210,8 +212,8 @@ def get_voltage_init_vector(net, init_v, mode, sequence=None): if res_table not in net or not net[res_table].index.equals(net.bus.index): # cannot init from results, since sorting of results is different from element table # TO BE REVIEWED! Why there was no raise before this commit? - raise UserWarning("Init from results not possible. Index of %s do not match with bus. " - "You should sort res_bus before calling runpp." % res_table) + raise UserWarning("Init from results not possible. Index of %s do not match with " + "bus. You should sort res_bus before calling runpp." % res_table) if res_table == "res_bus_3ph": vm = net.res_bus_3ph[["vm_a_pu", "vm_b_pu", "vm_c_pu"]].values.T @@ -375,7 +377,7 @@ def set_reference_buses(net, ppc, bus_lookup, mode): ppc["bus"][bus_lookup[slack_buses], BUS_TYPE] = REF -def _calc_pq_elements_and_add_on_ppc(net, ppc, sequence= None): +def _calc_pq_elements_and_add_on_ppc(net, ppc, sequence=None): # init values b, p, q = np.array([], dtype=int), np.array([]), np.array([]) @@ -390,8 +392,8 @@ def _calc_pq_elements_and_add_on_ppc(net, ppc, sequence= None): cz = tab["const_z_percent"].values / 100. ci = tab["const_i_percent"].values / 100. if ((cz + ci) > 1).any(): - raise ValueError("const_z_percent + const_i_percent need to be less or equal to " + - "100%!") + raise ValueError("const_z_percent + const_i_percent need to be less or equal " + + "to 100%!") # cumulative sum of constant-current loads b_zip = tab["bus"].values @@ -428,7 +430,7 @@ def _calc_pq_elements_and_add_on_ppc(net, ppc, sequence= None): p_mw, q_mvar = _get_symmetric_pq_of_unsymetric_element(net, element) sign = -1 if element.endswith("sgen") else 1 p = np.hstack([p, p_mw * sign]) - q = np.hstack([q, q_mvar * sign ]) + q = np.hstack([q, q_mvar * sign]) b = np.hstack([b, net[element]["bus"].values]) # sum up p & q of bus elements @@ -446,10 +448,11 @@ def _get_symmetric_pq_of_unsymetric_element(net, element): p_mw = np.sum(net[element][["p_a_mw", "p_b_mw", "p_c_mw"]].values, axis=1) return p_mw*scale, q_mvar*scale + def _get_motor_pq(net): tab = net["motor"] active = net._is_elements["motor"] - scale = tab["loading_percent"].values/100 *tab["scaling"].values*active + scale = tab["loading_percent"].values/100 * tab["scaling"].values*active efficiency = tab["efficiency_percent"].values p_mech = tab["pn_mech_mw"].values @@ -460,6 +463,7 @@ def _get_motor_pq(net): q_mvar = np.sqrt(s_mvar**2 - p_mw**2) return p_mw, q_mvar + def _calc_shunts_and_add_on_ppc(net, ppc): # init values b, p, q = np.array([], dtype=int), np.array([]), np.array([]) @@ -516,6 +520,7 @@ def _calc_shunts_and_add_on_ppc(net, ppc): ppc["bus"][b, GS] = vp ppc["bus"][b, BS] = -vq + # Short circuit relevant routines def _add_ext_grid_sc_impedance(net, ppc): from pandapower.shortcircuit.idx_bus import C_MAX, C_MIN @@ -536,12 +541,12 @@ def _add_ext_grid_sc_impedance(net, ppc): else: c = 1.1 if not "s_sc_%s_mva" % case in eg: - raise ValueError("short circuit apparent power s_sc_%s_mva needs to be specified for "% case + - "external grid \n Try: net.ext_grid['s_sc_max_mva'] = 1000" ) + raise ValueError(("short circuit apparent power s_sc_%s_mva needs to be specified for " + "external grid \n Try: net.ext_grid['s_sc_max_mva'] = 1000") % case) s_sc = eg["s_sc_%s_mva" % case].values/ppc['baseMVA'] if not "rx_%s" % case in eg: - raise ValueError("short circuit R/X rate rx_%s needs to be specified for external grid \n Try: net.ext_grid['rx_max'] = 0.1" % - case) + raise ValueError(("short circuit R/X rate rx_%s needs to be specified for external grid \n" + " Try: net.ext_grid['rx_max'] = 0.1") % case) rx = eg["rx_%s" % case].values z_grid = c / s_sc @@ -562,6 +567,7 @@ def _add_ext_grid_sc_impedance(net, ppc): ppc["bus"][buses, BS] = bs * ppc['baseMVA'] return gs * ppc['baseMVA'], bs * ppc['baseMVA'] + def _add_motor_impedances_ppc(net, ppc): if net._options["case"] == "min": return @@ -570,7 +576,8 @@ def _add_motor_impedances_ppc(net, ppc): return for par in ["vn_kv", "lrc_pu", "efficiency_n_percent", "cos_phi_n", "rx", "pn_mech_mw"]: if any(pd.isnull(motor[par])): - raise UserWarning("%s needs to be specified for all motors in net.motor.%s" % (par, par)) + raise UserWarning("%s needs to be specified for all motors in net.motor.%s" % ( + par, par)) bus_lookup = net["_pd2ppc_lookups"]["bus"] motor_buses_ppc = bus_lookup[motor.bus.values] vn_net = ppc["bus"][motor_buses_ppc, BASE_KV] diff --git a/pandapower/converter/powermodels/to_pm.py b/pandapower/converter/powermodels/to_pm.py index 4f3fe3e57..89454f424 100644 --- a/pandapower/converter/powermodels/to_pm.py +++ b/pandapower/converter/powermodels/to_pm.py @@ -11,9 +11,10 @@ from pandapower.auxiliary import _add_ppc_options, _add_opf_options, _add_auxiliary_elements from pandapower.build_branch import _calc_line_parameter from pandapower.pd2ppc import _pd2ppc -from pandapower.pypower.idx_brch import ANGMIN, ANGMAX, BR_R, BR_X, BR_B, RATE_A, RATE_B, RATE_C, TAP, SHIFT, \ - branch_cols, F_BUS, T_BUS, BR_STATUS -from pandapower.pypower.idx_bus import ZONE, VA, BASE_KV, BS, GS, BUS_I, BUS_TYPE, VMAX, VMIN, VM, PD, QD +from pandapower.pypower.idx_brch import ANGMIN, ANGMAX, BR_R, BR_X, BR_B, RATE_A, RATE_B, RATE_C, \ + TAP, SHIFT, branch_cols, F_BUS, T_BUS, BR_STATUS +from pandapower.pypower.idx_bus import ZONE, VA, BASE_KV, BS, GS, BUS_I, BUS_TYPE, VMAX, VMIN, \ + VM, PD, QD from pandapower.pypower.idx_cost import MODEL, NCOST, COST from pandapower.pypower.idx_gen import PG, QG, GEN_BUS, VG, GEN_STATUS, QMAX, QMIN, PMIN, PMAX from pandapower.results import init_results @@ -25,6 +26,7 @@ except ImportError: import logging + class NumpyEncoder(json.JSONEncoder): def default(self, obj): if isinstance(obj, (np.int_, np.intc, np.intp, np.int8, @@ -43,36 +45,60 @@ def default(self, obj): return None return json.JSONEncoder.default(self, obj) -def convert_pp_to_pm(net, pm_file_path=None, correct_pm_network_data=True, calculate_voltage_angles=True, + +def convert_pp_to_pm(net, pm_file_path=None, correct_pm_network_data=True, + calculate_voltage_angles=True, ac=True, silence=True, trafo_model="t", delta=1e-8, trafo3w_losses="hv", - check_connectivity=True, pp_to_pm_callback=None, pm_model="ACPPowerModel", pm_solver="ipopt", - pm_mip_solver="cbc", pm_nl_solver="ipopt", opf_flow_lim = "S", pm_tol=1e-8, + check_connectivity=True, pp_to_pm_callback=None, pm_model="ACPPowerModel", + pm_solver="ipopt", + pm_mip_solver="cbc", pm_nl_solver="ipopt", opf_flow_lim="S", pm_tol=1e-8, voltage_depend_loads=False): """ Converts a pandapower net to a PowerModels.jl datastructure and saves it to a json file INPUT: **net** - pandapower net OPTIONAL: - **pm_file_path** (str, None) - Specifiy the filename, under which the .json file for powermodels is stored. If - you want to keep the file after optimization, you should also set delete_buffer_file to False! - **correct_pm_network_data** (bool, True) - checks if network data is correct. If not tries to correct it + **pm_file_path** (str, None) - Specifiy the filename, under which the .json file for + powermodels is stored. If you want to keep the file after optimization, you should also + set delete_buffer_file to False! + + **correct_pm_network_data** (bool, True) - checks if network data is correct. + If not tries to correct it + **silence** (bool, True) - Suppresses information and warning messages output by PowerModels + **pm_model** (str, "ACPPowerModel") - The PowerModels.jl model to use + **pm_solver** (str, "ipopt") - The "main" power models solver + **pm_mip_solver** (str, "cbc") - The mixed integer solver (when "main" solver == juniper) + **pm_nl_solver** (str, "ipopt") - The nonlinear solver (when "main" solver == juniper) - **pm_time_limits** (Dict, None) - Time limits in seconds for power models interface. To be set as a dict like - {"pm_time_limit": 300., "pm_nl_time_limit": 300., "pm_mip_time_limit": 300.} + + **pm_time_limits** (Dict, None) - Time limits in seconds for power models interface. + To be set as a dict like + {"pm_time_limit": 300., "pm_nl_time_limit": 300., "pm_mip_time_limit": 300.} + **pm_log_level** (int, 0) - solver log level in power models - **delete_buffer_file** (Bool, True) - If True, the .json file used by powermodels will be deleted after - optimization. - **pp_to_pm_callback** (function, None) - callback function to add data to the PowerModels data structure - **opf_flow_lim** (str, "I") - Quantity to limit for branch flow constraints, in line with matpower's - "opf.flowlim" parameter: - "S" - apparent power flow (limit in MVA), - "I" - current magnitude (limit in MVA at 1 p.u. voltage) + + **delete_buffer_file** (Bool, True) - If True, the .json file used by powermodels will be + deleted after optimization. + + **pp_to_pm_callback** (function, None) - callback function to add data to the PowerModels + data structure + + **opf_flow_lim** (str, "I") - Quantity to limit for branch flow constraints, in line with + matpower's "opf.flowlim" parameter: + + "S" - apparent power flow (limit in MVA), + + "I" - current magnitude (limit in MVA at 1 p.u. voltage) + **pm_tol** (float, 1e-8) - default desired convergence tolerance for solver to use. - **voltage_depend_loads** (bool, False) - consideration of voltage-dependent loads. If False, net.load.const_z_percent and net.load.const_i_percent are not considered, i.e. net.load.p_mw and net.load.q_mvar are considered as constant-power loads. + + **voltage_depend_loads** (bool, False) - consideration of voltage-dependent loads. + If False, net.load.const_z_percent and net.load.const_i_percent are not considered, + i.e. net.load.p_mw and net.load.q_mvar are considered as constant-power loads. Returns ------- @@ -84,10 +110,12 @@ def convert_pp_to_pm(net, pm_file_path=None, correct_pm_network_data=True, calcu trafo_model=trafo_model, check_connectivity=check_connectivity, mode="opf", switch_rx_ratio=2, init_vm_pu="flat", init_va_degree="flat", enforce_q_lims=True, recycle=dict(_is_elements=False, ppc=False, Ybus=False), - voltage_depend_loads=voltage_depend_loads, delta=delta, trafo3w_losses=trafo3w_losses) + voltage_depend_loads=voltage_depend_loads, delta=delta, + trafo3w_losses=trafo3w_losses) _add_opf_options(net, trafo_loading='power', ac=ac, init="flat", numba=True, pp_to_pm_callback=pp_to_pm_callback, pm_solver=pm_solver, pm_model=pm_model, - correct_pm_network_data=correct_pm_network_data, silence=silence, pm_mip_solver=pm_mip_solver, + correct_pm_network_data=correct_pm_network_data, silence=silence, + pm_mip_solver=pm_mip_solver, pm_nl_solver=pm_nl_solver, opf_flow_lim=opf_flow_lim, pm_tol=pm_tol) net, pm, ppc, ppci = convert_to_pm_structure(net) @@ -169,7 +197,8 @@ def _pp_element_to_pm(net, pm, element, pd_bus, qd_bus, load_idx): def get_branch_angles(row, correct_pm_network_data): angmin = row[ANGMIN].real angmax = row[ANGMAX].real - # check if angles are too small for PowerModels OPF (recommendation from Carleton Coffrin himself) + # check if angles are too small for PowerModels OPF (recommendation from Carleton Coffrin + # himself) if correct_pm_network_data: if angmin < -60.: logger.debug("changed voltage angle minimum of branch {}, " @@ -208,7 +237,8 @@ def create_pm_lookups(net, pm_lookup): def ppc_to_pm(net, ppci): # create power models dict. Similar to matpower case file. ne_branch is for a tnep case - pm = {"gen": dict(), "branch": dict(), "bus": dict(), "dcline": dict(), "load": dict(), "storage": dict(), + pm = {"gen": dict(), "branch": dict(), "bus": dict(), "dcline": dict(), "load": dict(), + "storage": dict(), "ne_branch": dict(), "switch": dict(), "baseMVA": ppci["baseMVA"], "source_version": "2.0.0", "shunt": dict(), "sourcetype": "matpower", "per_unit": True, "name": net.name} @@ -243,7 +273,8 @@ def ppc_to_pm(net, ppci): pd = row[PD] qd = row[QD] - # pd and qd are the PQ values in the ppci, if they are equal to the sum in load data is consistent + # pd and qd are the PQ values in the ppci, if they are equal to the sum in load data is + # consistent if idx in pd_bus: pd -= pd_bus[idx] qd -= qd_bus[idx] @@ -276,13 +307,13 @@ def ppc_to_pm(net, ppci): branch["b_fr"] = row[BR_B].real / 2.0 branch["b_to"] = row[BR_B].real / 2.0 - if net._options["opf_flow_lim"] == "S": # or branch["transformer"]: + if net._options["opf_flow_lim"] == "S": # or branch["transformer"]: branch["rate_a"] = row[RATE_A].real if row[RATE_A] > 0 else row[RATE_B].real branch["rate_b"] = row[RATE_B].real branch["rate_c"] = row[RATE_C].real elif net._options["opf_flow_lim"] == "I": # need to call _run_opf_cl from PowerModels f = net._pd2ppc_lookups["branch"]["line"][0] - f = int(row[F_BUS].real) # from bus of this line + f = int(row[F_BUS].real) # from bus of this line vr = ppci["bus"][f][BASE_KV] branch["c_rating_a"] = row[RATE_A].real if row[RATE_A] > 0 else row[RATE_B].real branch["c_rating_a"] = branch["c_rating_a"] @@ -325,7 +356,7 @@ def ppc_to_pm(net, ppci): branch["b_fr"] = row[BR_B].real / 2.0 branch["b_to"] = row[BR_B].real / 2.0 - if net._options["opf_flow_lim"] == "S": #--> Rate_a is always needed for the TNEP problem, right? + if net._options["opf_flow_lim"] == "S": # --> Rate_a is always needed for the TNEP problem, right? branch["rate_a"] = row[RATE_A].real if row[RATE_A] > 0 else row[RATE_B].real branch["rate_b"] = row[RATE_B].real branch["rate_c"] = row[RATE_C].real @@ -383,7 +414,8 @@ def add_pm_options(pm, net): for key, val in net._options["pm_time_limits"].items(): pm[key] = val else: - pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"] = np.inf, np.inf, np.inf + pm["pm_time_limit"], pm["pm_nl_time_limit"], pm["pm_mip_time_limit"] = \ + np.inf, np.inf, np.inf pm["correct_pm_network_data"] = net._options["correct_pm_network_data"] pm["silence"] = net._options["silence"] return pm @@ -417,7 +449,8 @@ def init_ne_line(net, new_line_index, construction_costs=None): # init dataframe net["ne_line"] = net["line"].loc[new_line_index, :] # add costs, if None -> init with zeros - construction_costs = np.zeros(len(new_line_index)) if construction_costs is None else construction_costs + construction_costs = np.zeros(len(new_line_index)) if construction_costs is None else \ + construction_costs net["ne_line"].loc[new_line_index, "construction_cost"] = construction_costs # set in service, but only in ne line dataframe net["ne_line"].loc[new_line_index, "in_service"] = True @@ -452,4 +485,3 @@ def add_params_to_pm(net, pm): df["value"] = target_values pm["user_defined_params"][param] = df.to_dict("index") return pm - diff --git a/pandapower/optimal_powerflow.py b/pandapower/optimal_powerflow.py index 176e52eca..02746899e 100644 --- a/pandapower/optimal_powerflow.py +++ b/pandapower/optimal_powerflow.py @@ -40,7 +40,7 @@ def _optimal_powerflow(net, verbose, suppress_warnings, **kwargs): ac = net["_options"]["ac"] init = net["_options"]["init"] - if not "OPF_FLOW_LIM" in kwargs: + if "OPF_FLOW_LIM" not in kwargs: kwargs["OPF_FLOW_LIM"] = 2 if net["_options"]["voltage_depend_loads"] and not ( @@ -98,9 +98,9 @@ def _optimal_powerflow(net, verbose, suppress_warnings, **kwargs): def _add_dcline_constraints(om, net): # from numpy import hstack, diag, eye, zeros ppc = om.get_ppc() - ndc = net.dcline.in_service.sum() ## number of in-service DC lines + ndc = net.dcline.in_service.sum() # number of in-service DC lines if ndc > 0: - ng = ppc['gen'].shape[0] ## number of total gens + ng = ppc['gen'].shape[0] # number of total gens Adc = sparse((ndc, ng)) gen_lookup = net._pd2ppc_lookups["gen"] @@ -113,17 +113,17 @@ def _add_dcline_constraints(om, net): Adc[i, gen_lookup[f]] = 1. + loss / 100 Adc[i, gen_lookup[t]] = 1. - ## constraints - nL0 = -net.dcline.loss_mw.values # absolute losses + # constraints + nL0 = -net.dcline.loss_mw.values # absolute losses # L1 = -net.dcline.loss_percent.values * 1e-2 #relative losses # Adc = sparse(hstack([zeros((ndc, ng)), diag(1-L1), eye(ndc)])) - ## add them to the model + # add them to the model om = om.add_constraints('dcline', Adc, nL0, nL0, ['Pg']) def _run_pf_before_opf(net, ppci): -# net._options["numba"] = True + # net._options["numba"] = True net._options["tolerance_mva"] = 1e-8 net._options["max_iteration"] = 10 net._options["algorithm"] = "nr" diff --git a/pandapower/pd2ppc.py b/pandapower/pd2ppc.py index ce573c850..afe2330e8 100644 --- a/pandapower/pd2ppc.py +++ b/pandapower/pd2ppc.py @@ -174,20 +174,20 @@ def _pd2ppc(net, sequence=None): def _init_ppc(net, mode="pf", sequence=None): # init empty ppc - ppc = {"baseMVA": net.sn_mva - , "version": 2 - , "bus": np.array([], dtype=float) - , "branch": np.array([], dtype=np.complex128) - , "gen": np.array([], dtype=float) - , "internal": { - "Ybus": np.array([], dtype=np.complex128) - , "Yf": np.array([], dtype=np.complex128) - , "Yt": np.array([], dtype=np.complex128) - , "branch_is": np.array([], dtype=bool) - , "gen_is": np.array([], dtype=bool) - , "DLF": np.array([], dtype=np.complex128) - , "buses_ord_bfs_nets": np.array([], dtype=float) - } + ppc = {"baseMVA": net.sn_mva, + "version": 2, + "bus": np.array([], dtype=float), + "branch": np.array([], dtype=np.complex128), + "gen": np.array([], dtype=float), + "internal": { + "Ybus": np.array([], dtype=np.complex128), + "Yf": np.array([], dtype=np.complex128), + "Yt": np.array([], dtype=np.complex128), + "branch_is": np.array([], dtype=bool), + "gen_is": np.array([], dtype=bool), + "DLF": np.array([], dtype=np.complex128), + "buses_ord_bfs_nets": np.array([], dtype=float) + } } if mode == "opf": # additional fields in ppc @@ -308,7 +308,7 @@ def _ppc2ppci(ppc, net, ppci=None): else: ref_gens = np.array([]) if np.any(net.gen.slack.values[net._is_elements["gen"]]): - slack_gens = np.array(net.gen.index)[net._is_elements["gen"] \ + slack_gens = np.array(net.gen.index)[net._is_elements["gen"] & net.gen["slack"].values] ref_gens = np.append(ref_gens, net._pd2ppc_lookups["gen"][slack_gens]) ppci["internal"]["ref_gens"] = ref_gens.astype(int) @@ -340,4 +340,4 @@ def _init_lookup(net, lookup_name, pandapower_index, ppc_index): # update lookup lookup[pandapower_index] = ppc_index - aux._write_lookup_to_net(net, lookup_name, lookup) \ No newline at end of file + aux._write_lookup_to_net(net, lookup_name, lookup) diff --git a/pandapower/powerflow.py b/pandapower/powerflow.py index 6b033fc5b..5f348cebe 100644 --- a/pandapower/powerflow.py +++ b/pandapower/powerflow.py @@ -77,7 +77,7 @@ def _powerflow(net, **kwargs): # store variables net["_ppc"] = ppc - if not "VERBOSE" in kwargs: + if "VERBOSE" not in kwargs: kwargs["VERBOSE"] = 0 # ----- run the powerflow ----- @@ -104,8 +104,9 @@ def _recycled_powerflow(net, **kwargs): result = _run_dc_pf(ppci) _ppci_to_net(result, net) return - if not algorithm in ['nr', 'iwamoto_nr'] and ac: - raise ValueError("recycle is only available with Newton-Raphson power flow. Choose algorithm='nr'") + if algorithm not in ['nr', 'iwamoto_nr'] and ac: + raise ValueError("recycle is only available with Newton-Raphson power flow. Choose " + "algorithm='nr'") recycle = options["recycle"] ppc = net["_ppc"] diff --git a/pandapower/run.py b/pandapower/run.py index fdb2c0b65..25e4eb97a 100644 --- a/pandapower/run.py +++ b/pandapower/run.py @@ -217,7 +217,8 @@ def runpp(net, algorithm='nr', calculate_voltage_angles="auto", init="auto", run_control(**parameters) else: passed_parameters = _passed_runpp_parameters(locals()) - _init_runpp_options(net, algorithm=algorithm, calculate_voltage_angles=calculate_voltage_angles, + _init_runpp_options(net, algorithm=algorithm, + calculate_voltage_angles=calculate_voltage_angles, init=init, max_iteration=max_iteration, tolerance_mva=tolerance_mva, trafo_model=trafo_model, trafo_loading=trafo_loading, enforce_q_lims=enforce_q_lims, check_connectivity=check_connectivity, From 4b21576bcb7611016d588fe30b202019c4e85dda Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Tue, 16 Nov 2021 10:37:19 +0100 Subject: [PATCH 324/422] move redundant voltage dependent loads warning --- pandapower/auxiliary.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/pandapower/auxiliary.py b/pandapower/auxiliary.py index 949bff596..702b630ab 100644 --- a/pandapower/auxiliary.py +++ b/pandapower/auxiliary.py @@ -979,10 +979,6 @@ def _init_runpp_options(net, algorithm, calculate_voltage_angles, init, or np.any(net["load"]["const_i_percent"].values)): voltage_depend_loads = False - if algorithm not in ['nr', 'bfsw', 'iwamoto_nr'] and voltage_depend_loads == True: - logger.warning("voltage-dependent loads not supported for {0} power flow algorithm -> " - "loads will be considered as constant power".format(algorithm)) - lightsim2grid = _check_lightsim2grid_compatibility(net, lightsim2grid, voltage_depend_loads, algorithm, enforce_q_lims) From c1f1fb36fb0964b0d24af56e7b10c67f717c12e6 Mon Sep 17 00:00:00 2001 From: sdrauz Date: Wed, 17 Nov 2021 10:06:27 +0100 Subject: [PATCH 325/422] reverse function name change --- pandapower/timeseries/run_time_series.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pandapower/timeseries/run_time_series.py b/pandapower/timeseries/run_time_series.py index 52eac6470..a3e29f83e 100644 --- a/pandapower/timeseries/run_time_series.py +++ b/pandapower/timeseries/run_time_series.py @@ -78,7 +78,7 @@ def pf_not_converged(time_step, ts_variables): raise ts_variables['errors'][0] -def implement_time_step(controller_order, time_step): +def control_time_step(controller_order, time_step): for levelorder in controller_order: for ctrl, net in levelorder: ctrl.time_step(net, time_step) @@ -119,7 +119,7 @@ def run_time_step(net, time_step, ts_variables, run_control_fct=run_control, out pf_converged = True # run time step function for each controller - implement_time_step(ts_variables['controller_order'], time_step) + control_time_step(ts_variables['controller_order'], time_step) try: # calls controller init, control steps and run function (runpp usually is called in here) From 913334f9c4f5d88d1449c024eee98e2b6576d3d3 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Fri, 19 Nov 2021 15:01:07 +0100 Subject: [PATCH 326/422] toy model --- tutorials/workshop2021-toymodel-ACOPF.ipynb | 109 ++++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 tutorials/workshop2021-toymodel-ACOPF.ipynb diff --git a/tutorials/workshop2021-toymodel-ACOPF.ipynb b/tutorials/workshop2021-toymodel-ACOPF.ipynb new file mode 100644 index 000000000..2e4406d08 --- /dev/null +++ b/tutorials/workshop2021-toymodel-ACOPF.ipynb @@ -0,0 +1,109 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "# Workshop 2021\n", + "## Example 1: ACOPF" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "import pandapower as pp\n", + "import numpy as np\n", + "net = pp.create_empty_network()\n", + "\n", + "min_vm_pu = 0.95\n", + "max_vm_pu = 1.05\n", + "\n", + "#create buses\n", + "bus1 = pp.create_bus(net, vn_kv=220., geodata=(5,9), min_vm_pu=min_vm_pu, max_vm_pu=max_vm_pu)\n", + "bus2 = pp.create_bus(net, vn_kv=110., geodata=(6,10), min_vm_pu=min_vm_pu, max_vm_pu=max_vm_pu)\n", + "bus3 = pp.create_bus(net, vn_kv=110., geodata=(10,9), min_vm_pu=min_vm_pu, max_vm_pu=max_vm_pu)\n", + "bus4 = pp.create_bus(net, vn_kv=110., geodata=(8,8), min_vm_pu=min_vm_pu, max_vm_pu=max_vm_pu)\n", + "bus5 = pp.create_bus(net, vn_kv=110., geodata=(6,8), min_vm_pu=min_vm_pu, max_vm_pu=max_vm_pu)\n", + "\n", + "#create 220/110/110 kV 3W-transformer\n", + "pp.create_transformer3w_from_parameters(net, bus1, bus2, bus5, vn_hv_kv=220, vn_mv_kv=110,\n", + " vn_lv_kv=110, vk_hv_percent=10., vk_mv_percent=10.,\n", + " vk_lv_percent=10., vkr_hv_percent=0.5,\n", + " vkr_mv_percent=0.5, vkr_lv_percent=0.5, pfe_kw=10,\n", + " i0_percent=0.1, shift_mv_degree=0, shift_lv_degree=0,\n", + " sn_hv_mva=100, sn_mv_mva=50, sn_lv_mva=50)\n", + "\n", + "#create 110 kV lines\n", + "l1 = pp.create_line(net, bus2, bus3, length_km=70., std_type='149-AL1/24-ST1A 110.0')\n", + "l2 = pp.create_line(net, bus3, bus4, length_km=50., std_type='149-AL1/24-ST1A 110.0')\n", + "l3 = pp.create_line(net, bus4, bus2, length_km=40., std_type='149-AL1/24-ST1A 110.0')\n", + "l4 = pp.create_line(net, bus4, bus5, length_km=30., std_type='149-AL1/24-ST1A 110.0')\n", + "\n", + "#create loads\n", + "pp.create_load(net, bus2, p_mw=60)\n", + "pp.create_load(net, bus3, p_mw=70)\n", + "pp.create_load(net, bus4, p_mw=10)\n", + "\n", + "#create generators\n", + "g1 = pp.create_gen(net, bus1, p_mw=40, min_p_mw=0, max_p_mw=200, vm_pu=1.01, slack=True)\n", + "pp.create_poly_cost(net, g1, 'gen', cp1_eur_per_mw=1)\n", + "\n", + "g2 = pp.create_gen(net, bus3, p_mw=40, min_p_mw=0, max_p_mw=200, vm_pu=1.01)\n", + "pp.create_poly_cost(net, g2, 'gen', cp1_eur_per_mw=3)\n", + "\n", + "g3 = pp.create_gen(net, bus4, p_mw=50, min_p_mw=0, max_p_mw=200, vm_pu=1.01)\n", + "pp.create_poly_cost(net, g3, 'gen', cp1_eur_per_mw=3)\n", + "net" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import pandapower.plotting as plot\n", + "%matplotlib inline\n", + "plot.simple_plot(net)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.5" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} \ No newline at end of file From 553318cf2672f67c5d2cd338e8c59494cc2ac3fb Mon Sep 17 00:00:00 2001 From: dlohmeier Date: Sat, 20 Nov 2021 00:22:02 +0100 Subject: [PATCH 327/422] added possibility to compare networks without result tables --- pandapower/toolbox.py | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/pandapower/toolbox.py b/pandapower/toolbox.py index 362f8a500..132e1d9e2 100644 --- a/pandapower/toolbox.py +++ b/pandapower/toolbox.py @@ -697,7 +697,8 @@ def violated_buses(net, min_vm_pu, max_vm_pu): raise UserWarning("The last loadflow terminated erratically, results are invalid!") -def nets_equal(net1, net2, check_only_results=False, exclude_elms=None, **kwargs): +def nets_equal(net1, net2, check_only_results=False, check_without_results=False, exclude_elms=None, + **kwargs): """ Returns a boolean whether the two given pandapower networks are equal. @@ -712,6 +713,9 @@ def nets_equal(net1, net2, check_only_results=False, exclude_elms=None, **kwargs **check_only_results** (bool, False) - if True, only result tables (starting with "res_") are compared + **check_without_results** (bool, False) - if True, result tables (starting with "res_") + are ignored for comparison + **exclude_elms** (list, None) - list of element tables which should be ignored in the comparison @@ -721,19 +725,27 @@ def nets_equal(net1, net2, check_only_results=False, exclude_elms=None, **kwargs logger.warning("At least one net is not of type pandapowerNet.") return False + if check_without_results and check_only_results: + raise UserWarning("Please provide only one of the options to check without results or to " + "exclude results in comparison.") + exclude_elms = [] if exclude_elms is None else list(exclude_elms) exclude_elms += ["res_" + ex for ex in exclude_elms] not_equal = [] # for two networks make sure both have the same keys if check_only_results: - net1_keys = [key for key in net1.keys() if key[:4] == "res_" and not (key in exclude_elms)] - net2_keys = [key for key in net2.keys() if key[:4] == "res_" and not (key in exclude_elms)] + net1_keys = [key for key in net1.keys() if key.startswith("res_") + and key not in exclude_elms] + net2_keys = [key for key in net2.keys() if key.startswith("res_") + and key not in exclude_elms] else: net1_keys = [key for key in net1.keys() if not ( - key.startswith("_") or key in exclude_elms or key == "et")] + key.startswith("_") or key in exclude_elms or key == "et" + or key.startswith("res_") and check_without_results)] net2_keys = [key for key in net2.keys() if not ( - key.startswith("_") or key in exclude_elms or key == "et")] + key.startswith("_") or key in exclude_elms or key == "et" + or key.startswith("res_") and check_without_results)] keys_to_check = set(net1_keys) & set(net2_keys) key_difference = set(net1_keys) ^ set(net2_keys) not_checked_keys = list() From dc601cba28325ccbf839ae007ea4af8a21b21b0b Mon Sep 17 00:00:00 2001 From: Donnot Benjamin Date: Sat, 20 Nov 2021 19:07:02 +0100 Subject: [PATCH 328/422] using perf_counter instead time.time() for timing measurments see issue #1396 --- pandapower/pf/run_bfswpf.py | 6 +++--- pandapower/pf/run_dc_pf.py | 6 +++--- pandapower/pf/run_newton_raphson_pf.py | 6 +++--- pandapower/pf/runpf_pypower.py | 6 +++--- pandapower/pf/runpp_3ph.py | 6 +++--- pandapower/pypower/opf.py | 6 +++--- pandapower/timeseries/output_writer.py | 8 ++++---- 7 files changed, 22 insertions(+), 22 deletions(-) diff --git a/pandapower/pf/run_bfswpf.py b/pandapower/pf/run_bfswpf.py index e222c7c5c..cf753db74 100644 --- a/pandapower/pf/run_bfswpf.py +++ b/pandapower/pf/run_bfswpf.py @@ -5,7 +5,7 @@ -from time import time # alternatively use import timeit.default_timer as time +from time import perf_counter, time # alternatively use import timeit.default_timer as time import numpy as np import scipy as sp @@ -376,7 +376,7 @@ def _run_bfswpf(ppci, options, **kwargs): :param options: pf options :return: results (pypower style), success (flag about PF convergence) """ - time_start = time() # starting pf calculation timing + time_start = perf_counter() # starting pf calculation timing baseMVA, bus, gen, branch, ref, pv, pq, _, gbus, V0, ref_gens = _get_pf_variables_from_ppci(ppci) @@ -449,7 +449,7 @@ def _run_bfswpf(ppci, options, **kwargs): V_final[buses_shifted_from_root] *= np.exp(1j * np.pi / 180 * shift_degree) # #----- output results to ppc ------ - ppci["et"] = time() - time_start # pf time end + ppci["et"] = perf_counter() - time_start # pf time end bus, gen, branch = pfsoln(baseMVA, bus, gen, branch, Ybus, Yf, Yt, V_final, ref, ref_gens) # bus, gen, branch = pfsoln_bfsw(baseMVA, bus, gen, branch, V_final, ref, pv, pq, BIBC, ysh_f,ysh_t,Iinj, Sbus) diff --git a/pandapower/pf/run_dc_pf.py b/pandapower/pf/run_dc_pf.py index f28fd2db0..0093f7554 100644 --- a/pandapower/pf/run_dc_pf.py +++ b/pandapower/pf/run_dc_pf.py @@ -5,7 +5,7 @@ -from time import time +from time import time, perf_counter from numpy import pi, zeros, real, bincount @@ -18,7 +18,7 @@ from pandapower.pf.ppci_variables import _get_pf_variables_from_ppci, _store_results_from_pf_in_ppci def _run_dc_pf(ppci): - t0 = time() + t0 = perf_counter() baseMVA, bus, gen, branch, ref, pv, pq, on, gbus, _, refgen = _get_pf_variables_from_ppci(ppci) ## initial state @@ -54,7 +54,7 @@ def _run_dc_pf(ppci): gen[refgen, PG] = real(gen[refgen, PG] + (B[refgenbus, :] * Va - Pbus[refgenbus]) * baseMVA / ext_grids_bus[refgenbus]) # store results from DC powerflow for AC powerflow - et = time() - t0 + et = perf_counter() - t0 success = True iterations = 1 ppci = _store_results_from_pf_in_ppci(ppci, bus, gen, branch, success, iterations, et) diff --git a/pandapower/pf/run_newton_raphson_pf.py b/pandapower/pf/run_newton_raphson_pf.py index 5282bf6ec..2fcb8662a 100644 --- a/pandapower/pf/run_newton_raphson_pf.py +++ b/pandapower/pf/run_newton_raphson_pf.py @@ -4,7 +4,7 @@ # and Energy System Technology (IEE), Kassel. All rights reserved. -from time import time +from time import time, perf_counter from numpy import flatnonzero as find, r_, zeros, argmax, setdiff1d, union1d, any, int32 @@ -42,7 +42,7 @@ def _run_newton_raphson_pf(ppci, options): options(dict) - options for the power flow """ - t0 = time() + t0 = perf_counter() # we cannot run DC pf before running newton with distributed slack because the slacks come pre-solved after the DC pf if isinstance(options["init_va_degree"], str) and options["init_va_degree"] == "dc": if options['distributed_slack']: @@ -59,7 +59,7 @@ def _run_newton_raphson_pf(ppci, options): ppci, success, iterations = _run_ac_pf_without_qlims_enforced(ppci, options) # update data matrices with solution store in ppci bus, gen, branch = ppci_to_pfsoln(ppci, options) - et = time() - t0 + et = perf_counter() - t0 ppci = _store_results_from_pf_in_ppci(ppci, bus, gen, branch, success, iterations, et) return ppci diff --git a/pandapower/pf/runpf_pypower.py b/pandapower/pf/runpf_pypower.py index fecc5d96c..1d0394001 100644 --- a/pandapower/pf/runpf_pypower.py +++ b/pandapower/pf/runpf_pypower.py @@ -12,7 +12,7 @@ """Runs a power flow. """ -from time import time +from time import time, perf_counter from packaging import version from numpy import flatnonzero as find, r_, zeros, argmax, real, setdiff1d @@ -46,7 +46,7 @@ def _runpf_pypower(ppci, options, **kwargs): """ ##----- run the power flow ----- - t0 = time() + t0 = perf_counter() # ToDo: Options should be extracted in every subfunction not here... init_va_degree, ac, numba, recycle, ppopt = _get_options(options, **kwargs) @@ -60,7 +60,7 @@ def _runpf_pypower(ppci, options, **kwargs): ppci = _run_dc_pf(ppci) success = True - et = time() - t0 + et = perf_counter() - t0 ppci = _store_results_from_pf_in_ppci(ppci, bus, gen, branch, success, it, et) return ppci, success diff --git a/pandapower/pf/runpp_3ph.py b/pandapower/pf/runpp_3ph.py index 34211214f..d52cf9c77 100644 --- a/pandapower/pf/runpp_3ph.py +++ b/pandapower/pf/runpp_3ph.py @@ -6,7 +6,7 @@ @author: Shankho Ghosh (sghosh) (started Feb 2018) @author: Alexander Prostejovsky (alepros), Technical University of Denmark """ -from time import time +from time import time, perf_counter import numpy as np from pandapower import LoadflowNotConverged from pandapower.pypower.pfsoln import pfsoln @@ -471,7 +471,7 @@ def runpp_3ph(net, calculate_voltage_angles=True, init="auto", outer_tolerance_mva = 3e-8 count = 0 s_mismatch = np.array([[True], [True]], dtype=bool) - t0 = time() + t0 = perf_counter() while (s_mismatch > outer_tolerance_mva).any() and count < 30*max_iteration: # ===================================================================== # Voltages and Current transformation for PQ and Slack bus @@ -522,7 +522,7 @@ def runpp_3ph(net, calculate_voltage_angles=True, init="auto", v_012_it = v_012_new v_abc_it = sequence_to_phase(v_012_it) count += 1 - et = time() - t0 + et = perf_counter() - t0 success = (count < 30 * max_iteration) for ppc in [ppci0, ppci1, ppci2]: ppc["et"] = et diff --git a/pandapower/pypower/opf.py b/pandapower/pypower/opf.py index 7d1f2371a..4e4d52382 100644 --- a/pandapower/pypower/opf.py +++ b/pandapower/pypower/opf.py @@ -10,7 +10,7 @@ """Solves an optimal power flow. """ -from time import time +from time import time, perf_counter from numpy import zeros, c_, shape from pandapower.pypower.idx_brch import MU_ANGMAX @@ -147,7 +147,7 @@ def opf(ppc, ppopt): @author: Richard Lincoln """ ##----- initialization ----- - t0 = time() ## start timer + t0 = perf_counter() ## start timer ## process input arguments ppc, ppopt = opf_args2(ppc, ppopt) @@ -185,7 +185,7 @@ def opf(ppc, ppopt): # results['branch'][ ix_(results['order']['branch']['status']['off'], [PF, QF, PT, QT, MU_SF, MU_ST, MU_ANGMIN, MU_ANGMAX]) ] = 0 ##----- finish preparing output ----- - et = time() - t0 ## compute elapsed time + et = perf_counter() - t0 ## compute elapsed time results['et'] = et results['success'] = success diff --git a/pandapower/timeseries/output_writer.py b/pandapower/timeseries/output_writer.py index 3605fe9c7..b5d7bb62c 100644 --- a/pandapower/timeseries/output_writer.py +++ b/pandapower/timeseries/output_writer.py @@ -5,7 +5,7 @@ import copy import functools import os -from time import time +from time import time, perf_counter from types import FunctionType import numpy as np @@ -108,7 +108,7 @@ def __init__(self, net, time_steps=None, output_path=None, output_file_type=".p" # output list contains functools.partial with tables, variables, index... self.output_list = [] # real time is tracked to save results to disk regularly - self.cur_realtime = time() + self.cur_realtime = perf_counter() # total time steps to calculate self.time_steps = time_steps # add output_writer to net @@ -248,7 +248,7 @@ def dump_to_file(self, net, append=False, recycle_options=None): def dump(self, net, recycle_options=None): append = False if self.time_step == self.time_steps[-1] else True self.dump_to_file(net, append=append, recycle_options=recycle_options) - self.cur_realtime = time() # reset real time counter for next period + self.cur_realtime = perf_counter() # reset real time counter for next period def save_results(self, net, time_step, pf_converged, ctrl_converged, recycle_options=None): # Saves the results of the current time step to a matrix, @@ -268,7 +268,7 @@ def save_results(self, net, time_step, pf_converged, ctrl_converged, recycle_opt # if write time is exceeded or it is the last time step, data is written if self.write_time is not None: - if time() - self.cur_realtime > self.write_time: + if perf_counter() - self.cur_realtime > self.write_time: self.dump(net) if self.time_step == self.time_steps[-1]: self.dump(net, recycle_options) From e844ada145b1e315a5d6842ce375c6e99b3a8283 Mon Sep 17 00:00:00 2001 From: Donnot Benjamin Date: Sun, 21 Nov 2021 12:05:20 +0100 Subject: [PATCH 329/422] removing the useless ime import from ime library --- pandapower/pf/run_bfswpf.py | 2 +- pandapower/pf/run_dc_pf.py | 2 +- pandapower/pf/run_newton_raphson_pf.py | 2 +- pandapower/pf/runpf_pypower.py | 2 +- pandapower/pf/runpp_3ph.py | 2 +- pandapower/pypower/opf.py | 2 +- pandapower/timeseries/output_writer.py | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/pandapower/pf/run_bfswpf.py b/pandapower/pf/run_bfswpf.py index cf753db74..c406e16e3 100644 --- a/pandapower/pf/run_bfswpf.py +++ b/pandapower/pf/run_bfswpf.py @@ -5,7 +5,7 @@ -from time import perf_counter, time # alternatively use import timeit.default_timer as time +from time import perf_counter # alternatively use import timeit.default_timer as time import numpy as np import scipy as sp diff --git a/pandapower/pf/run_dc_pf.py b/pandapower/pf/run_dc_pf.py index 0093f7554..511803a98 100644 --- a/pandapower/pf/run_dc_pf.py +++ b/pandapower/pf/run_dc_pf.py @@ -5,7 +5,7 @@ -from time import time, perf_counter +from time import perf_counter from numpy import pi, zeros, real, bincount diff --git a/pandapower/pf/run_newton_raphson_pf.py b/pandapower/pf/run_newton_raphson_pf.py index 2fcb8662a..b859e699b 100644 --- a/pandapower/pf/run_newton_raphson_pf.py +++ b/pandapower/pf/run_newton_raphson_pf.py @@ -4,7 +4,7 @@ # and Energy System Technology (IEE), Kassel. All rights reserved. -from time import time, perf_counter +from time import perf_counter from numpy import flatnonzero as find, r_, zeros, argmax, setdiff1d, union1d, any, int32 diff --git a/pandapower/pf/runpf_pypower.py b/pandapower/pf/runpf_pypower.py index 1d0394001..7962fc087 100644 --- a/pandapower/pf/runpf_pypower.py +++ b/pandapower/pf/runpf_pypower.py @@ -12,7 +12,7 @@ """Runs a power flow. """ -from time import time, perf_counter +from time import perf_counter from packaging import version from numpy import flatnonzero as find, r_, zeros, argmax, real, setdiff1d diff --git a/pandapower/pf/runpp_3ph.py b/pandapower/pf/runpp_3ph.py index d52cf9c77..5122f8e3a 100644 --- a/pandapower/pf/runpp_3ph.py +++ b/pandapower/pf/runpp_3ph.py @@ -6,7 +6,7 @@ @author: Shankho Ghosh (sghosh) (started Feb 2018) @author: Alexander Prostejovsky (alepros), Technical University of Denmark """ -from time import time, perf_counter +from time import perf_counter import numpy as np from pandapower import LoadflowNotConverged from pandapower.pypower.pfsoln import pfsoln diff --git a/pandapower/pypower/opf.py b/pandapower/pypower/opf.py index 4e4d52382..2b4599dcb 100644 --- a/pandapower/pypower/opf.py +++ b/pandapower/pypower/opf.py @@ -10,7 +10,7 @@ """Solves an optimal power flow. """ -from time import time, perf_counter +from time import perf_counter from numpy import zeros, c_, shape from pandapower.pypower.idx_brch import MU_ANGMAX diff --git a/pandapower/timeseries/output_writer.py b/pandapower/timeseries/output_writer.py index b5d7bb62c..d50251c4a 100644 --- a/pandapower/timeseries/output_writer.py +++ b/pandapower/timeseries/output_writer.py @@ -5,7 +5,7 @@ import copy import functools import os -from time import time, perf_counter +from time import perf_counter from types import FunctionType import numpy as np From f90d4ac729ebaf8a303b64bdf06e14d96f340fb0 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Sun, 21 Nov 2021 13:40:21 +0100 Subject: [PATCH 330/422] edit and udate tutorial for opf --- tutorials/opf_powermodels.ipynb | 722 +++++++------------------------- 1 file changed, 161 insertions(+), 561 deletions(-) diff --git a/tutorials/opf_powermodels.ipynb b/tutorials/opf_powermodels.ipynb index a509698f8..b6f771275 100644 --- a/tutorials/opf_powermodels.ipynb +++ b/tutorials/opf_powermodels.ipynb @@ -4,63 +4,34 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Interfacing PowerModels.jl with pandapower" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "pandapower now has an interface to PowerModels.jl that can be used for efficient power system optimization.\n", - "\n", - "### What is PowerModels.jl and why should I use it?\n", - "\n", - "- [PowerModels.jl](https://lanl-ansi.github.io/PowerModels.jl/stable/) is a package for steady-state power network optimization\n", - "- It is based on the relatively new language [Julia](https://julialang.org/) which is gaining popularity in scientific applications\n", - "- PowerModels uses Julia/JuMP for the optimization, which [clearly outperforms the Python alternative Pyomo](http://yetanothermathprogrammingconsultant.blogspot.com/2015/05/model-generation-in-julia.html)\n", - "- PowerModels has a great modular design that allows you to define [different formulations for optimization problems](https://lanl-ansi.github.io/PowerModels.jl/stable/specifications/) based on different [network formulations](https://lanl-ansi.github.io/PowerModels.jl/stable/formulations/) as well as use several [relaxation schemes](https://lanl-ansi.github.io/PowerModels.jl/stable/relaxations/). You can then solve the problem using many open source as well as commercial solvers through [JuMP](http://www.juliaopt.org/JuMP.jl/0.18/installation.html#getting-solvers)\n", - "\n", - "### Well then why do I still need pandapower?\n", - "\n", - "Because pandapower:\n", - "\n", - "- allows you to easily define power systems with nameplate parameters and standard types\n", - "- comes with thouroughly validated element models of transformers with tap changers, three-winding transformers, switches/breakers, extended ward equivalents and many more \n", - "- keeps all data in tables (pandas DataFrames), which makes data management and analysis very comfortable\n", - "- provides different power system analysis functions, such as a (very fast) power flow, short-circuit calculation, state estimation, graph searches and a plotting library that can be used on the same grid models\n", - "- allows you to do all pre- and postprocessing in Python, which still has a much richer environment of free libraries than Julia (currently 157,755 packages on PyPI vs. 1,906 libraries on Pkg)\n", + "# Optimal Power Flow via PandaModels\n", + "### PandaModels.jl: Interfacing PowerModels with pandapower\n", "\n", - "So using pandapower to define the grid models and then using PowerModels for the optimization really gives you the best of all worlds - you can use the rich environment of Python libraries, the sophisticated element models of pandapower, the modular optimization framework of PowerModels and the efficient mathematical modeling of JuMP." + "This tutorial describes how to run the Optimal Power Flow via [PandaModels.jl](https://e2niee.github.io/PandaModels.jl/dev/) calling [PowerModels.jl](https://lanl-ansi.github.io/PowerModels.jl/stable/) packge." ] }, { "cell_type": "markdown", - "metadata": {}, "source": [ "### Let's get started\n", "\n", - "So here is an example of how it works. First, we create a grid in pandapower. Here, we create a meshed 110kV grid with four buses that is fed from an 220kV network through a 3-Winding transformer." - ] + "So here is an example of how it works. First, we create a grid in pandapower. Here, we create a meshed 110kV grid with four buses that is fed from an 220kV network through a 3-Winding transformer.\n", + "Also we need to set min/max values as optimization constarints." + ], + "metadata": { + "collapsed": false + } }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "metadata": {}, "outputs": [ { "data": { - "text/plain": [ - "This pandapower network includes the following parameter tables:\n", - " - bus (5 elements)\n", - " - load (3 elements)\n", - " - gen (3 elements)\n", - " - line (4 elements)\n", - " - trafo3w (1 element)\n", - " - poly_cost (3 elements)\n", - " - bus_geodata (5 elements)" - ] + "text/plain": "This pandapower network includes the following parameter tables:\n - bus (5 elements)\n - load (3 elements)\n - gen (3 elements)\n - line (4 elements)\n - trafo3w (1 element)\n - poly_cost (3 elements)\n - bus_geodata (5 elements)" }, - "execution_count": 2, + "execution_count": 1, "metadata": {}, "output_type": "execute_result" } @@ -122,26 +93,22 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "metadata": {}, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAs8AAAIrCAYAAAAQp3QjAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO3deZjO9f7H8dfMMIuxZl+jQs0oy1DEmckSSpZCWTqOiGzp4NT51XVVqH6nk9NCnSlLqERHQslSKSORfs3NII5wyDq2DCPcM8zcvz/m3NMYs3zmnu+9Px/X1T/cc38/93WuOk9v7/v7DXE4HA4BAAAAKFaotw8AAAAA+AviGQAAADBEPAMAAACGiGcAAADAEPEMAAAAGCKeAQAAAEPEMwAAAGCIeAYAAAAMEc8AAACAIeIZAAAAMEQ8AwAAAIaIZwAAAMAQ8QwAAAAYIp4BAAAAQ8QzAAAAYIh4BgAAAAwRzwAAAIAh4hkAAAAwRDwDAAAAhohnAAAAwBDxDAAAABgingEAAABDxDMAAABgiHgGAAAADBHPAAAAgCHiGQAAADBEPAMAAACGiGcAAADAEPEMAAAAGCKeAQAAAEPEMwAAAGCIeAYAAAAMEc8AAACAIeIZAAAAMEQ8AwAAAIaIZwAAAMAQ8QwAAAAYIp4BAAAAQ8QzAAAAYIh4BgAAAAwRzwAAAIAh4hkAAAAwRDwDAAAAhohnAAAAwBDxDAAAABgingEAAABDxDMAAABgiHgGAAAADBHPAAAAgCHiGQAAADBEPAMAAACGiGcAAADAEPEMAAAAGCKeAQAAAEPEMwAAAGCIeAYAAAAMEc8AAACAIeIZAAAAMEQ8AwAAAIaIZwAAAMAQ8QwAAAAYIp4BAAAAQ8QzAAAAYIh4BgAAAAwRzwAAAIAh4hkAAAAwRDwDAAAAhohnAAAAwBDxDAAAABgingEAAABDxDMAAABgiHgGAAAADBHPAAAAgCHiGQAAADBEPAMAAACGiGcAAADAEPEMAAAAGCKeAQAAAEPEMwAAAGCIeAYAAAAMEc8AAACAIeIZAAAAMEQ8AwAAAIaIZwAAAMAQ8QwAAAAYIp4BAAAAQ8QzAAAAYIh4BgAAAAwRzwAAAIAh4hkAAAAwRDwDAAAAhohnAAAAwBDxDAAAABgingEAAABDxDMAAABgiHgGAAAADBHPAAAAgCHiGQAAADBEPAMAAACGiGcAAADAEPEMAAAAGCKeAQAAAEPEMwAAAGCIeAYAAAAMEc8AAACAIeIZAAAAMEQ8AwAAAIaIZwAAAMAQ8QwAAAAYIp4BAAAAQ8QzAAAAYIh4BgAAAAwRzwAAAIAh4hkAAAAwRDwDAAAAhohnAAAAwBDxDAAAABgingEAAABDxDMAAABgiHgGAAAADBHPAAAAgCHiGQAAADBEPAMAAACGiGcAAADAEPEMAAAAGCKeAQAAAEPEMwAAAGCIeAYAAAAMEc8AAACAIeIZAAAAMEQ8AwAAAIaIZwAAAMAQ8QwAAAAYIp4BAAAAQ8QzAAAAYIh4BgAAAAwRzwAAAIAh4hketW+fNG6cVLOmVKmS1Ly59P77Umamt08GAABQvBCHw+Hw9iEQHD77TBo4ULp8Oecfp+hoqUkTaf16qUIF750PAACgOMQzPOI//5Fuu026eLHg34+IkO69V1q61LPnAgAAKAnWNuARb7xx9bQ5v4wMafVq6ehRz50JAACgpIhneMSSJUXHsySFhkorV3rmPAAAAK4gnuERdnvxr7lyxaELF7LdfxgAAAAXEc/wiBtuKP41ISGXtW3bEi1atEibNm3SsWPHlJ1NTAMAAN/BFwbhEQsXSiNHShcuFP6aatWkfft+05EjB/XLL7/o4MGDSk9P1/XXX6/rr79eDRs2VK1atRQayp/5AACAdxDP8IjLl6X27aUdOxyy20Ou+f2yZS9rxowzGjWq5lW//ttvv+ngQWIaAAD4BuIZHvPbb9L996dp7dpIhYRkKzy8nMLDQxQZKb3wwkmlp7+nfv36qVGjRkW8BzENAAC8h3iGR/3P//yP/v73+erY8VXdf/9gNW4s3X23FBYm/fLLL/r444+LDei8iGkAAOBJxDM8xuFw6KabbtL+/fuVlJSkhISEa17jSkDnRUwDAAB3Ip7hMVu2bFFcXJxq1aqlI0eOKCwsrMDXlTag8yKmAQCAlcp4+wAIHosXL5Yk9e3bt9BwlqSGDRuqf//+lgR0+fLlFRsbq9jYWElXx3RKSgoxDQAASoTJMzzCZGUjPysn0IVhMg0AAEqCeIZHmK5s5OeJgM6LmAYAAEVhbQMeYbqykZ+VKxwmWPMAAABFYfIMt3NlZSM/T0+gC8NkGgCA4EY8w+1cXdnIz1cCOi9iGgCA4MLaBtzO1ZWN/Dy9wmGCNQ8AAIILk2e4lRUrG/n54gS6MEymAQAILMQz3MqqlY38/Cmg8yKmAQDwb6xtwK2sWtnIzxdXOEyw5gEAgH9j8gy3ccfKRn7+OoEuDJNpAAB8G/EMt3HXykZ+gRbQeRHTAAD4FtY24DbuWtnIz19XOEyw5gEAgG9h8gy38MTKRn6BPIEuDJNpAAA8i3iGW3hqZSO/YAzovIhpAADci7UNuIWnVjbyC+QVDhOseQAA4F5MnmE5b6xs5BfsE+jCMJkGAKB0iGdYzlsrG/kR0MUjpgEAKBnWNmA5b61s5BfsKxwmWPMAAKBkmDzDUr6wspEfE2jXMZkGAOBqxDMs5SsrG/kR0NYgpgEAwY61DVjKV1Y28mOFwxqseQAAgh2TZ1jGF1c28mMC7V5MpgEAgY54hmWcKxs1a9bU0aNHfWrynBcB7TnENAAg0LC2Acs4Vzb69evns+EsscLhSax5AAACDZNnWMIfVjbyYwLtfUymAQD+hniGJfxlZSM/Atq3ENMAAF/H2gYs4S8rG/mxwuFbWPMAAPg6Js8oNX9c2ciPCbR/YDINAPA24hml5q8rG/kR0P6HmAYAeBprGyg1f13ZyI8VDv/DmgcAwNOYPKNUAmFlIz8m0IGDyTQAwGrEM0olUFY28iOgAxMxDQAoLdY2UCqBsrKRHyscgYk1DwBAaTF5hssCcWUjPybQwYXJNACgOMQzXBaoKxv5EdDBi5gGAOTH2gZcFqgrG/mxwhG8WPMAAOTH5BkuCYaVjfyYQCM/JtMAEHyIZ7gkWFY28iOgURRiGgACH2sbcEmwrGzkxwoHisKaBwAEPibPKLFgXNnIjwk0XMFkGgD8H/GMEgvWlY38CGiUFjENAP6HtQ2UWLCubOTHCgdKizUPAPA/TJ5RIqxsXIsJNNyFyTQA+B7iGSXCykbBCGh4AjENAN7H2gZKhJWNgrHCAU9gzQMAvI/JM4yxslE8JtDwJibTAOB+xDOMsbJhhoCGryCmAcB6rG3AGCsbZljhgK9gzQMArMfkGUZY2Sg5JtDwdUymAaDkiGcYYWXDNQQ0/AkxDQDFY20DRpwrG3379iWcS4AVDvgT1jwAoHhMnlEsVjZKjwk0AgGTaQAgnmGAlQ1rENAINMQ0gGDE2gaKxcqGNVjhQKBhzQNAMGLyjCKxsmE9JtAIFkymAQQi4hlFYmXDPQhoBCNiGkAgYG0DRWJlwz1Y4UAwYs0DQCBg8oxCsbLhfkyggd8xmQbgD4hnFIqVDc8goIGCEdMAfBFrGygUKxuewQoHUDDWPAD4IibPKBArG57HBBooGSbTALyBeEaBWNnwDgIacB0xDcATWNtAgVjZ8A5WOADXseYBwBOYPOMarGx4HxNowHpMpgFYgXjGNVjZ8A0ENOBexDQAV7C2gWuwsuEbWOEA3Is1DwCuYPKMq7Cy4XuYQAPewWQaQEGIZ1yFlQ3fREAD3kdMA5BY20A+rGz4JlY4AO9jzQOAxOQZebCy4fuYQAO+i8k0EByIZ+RiZcM/ENCAfyCmgcDE2gZysbLhH1jhAPwDax5AYGLyDEmsbPgjJtCAf2MyDfgn4hmSWNnwVwQ0EDiIacA/sLYBSaxs+CtWOIDAwZoH4B+YPIOVjQDABBoIfEymAd9APIOVjQBBQAPBhZgGvIO1jQDkcDj0yy+/yGazyWazaceOHTp37pzsdrsyMjJUtmxZRUVFKTo6WjExMdq/f78k6YEHHiCc/RgrHEBwYc0D8A4mzwHi6NGjmjdvnr799lvZbDadOXOmxO8RFRWl1q1bq127dnrkkUd08803u+GkcDcm0AAkJtOAuxDPfszhcGjdunVKTEzU8uXLlZWVlft71apVU1xcnOLi4tSqVStVr15dkZGRioiIUGZmpux2u9LS0rRt2zbZbDYlJyfr6NGjV71/586dNWbMGPXq1UtlyvCXFP6EgAaQHzENWIN49kN2u12zZ89WYmKidu/eLUkqU6aM7r//fg0YMECtW7dW/fr1FRISUqL3PXnypGw2m5YtW6YPP/xQFy9elCTVrVtXI0eO1Lhx43TddddZ/nngHgQ0gKIQ04BriGc/88MPP2jo0KG50VynTh099thjevTRR1WnTh3LrnP27Fm9//77SkxM1M8//yxJqlWrlmbOnKlevXpZdh24FwENwBQxDZghnv2E3W7X888/r3/84x/Kzs7WzTffrBdffFG9evVS2bJl3XZd52rIc889p40bN0qSHn74YU2fPp0ptJ8goAG4gpgGCkY8+4G80+bQ0FBNmjRJU6dOVWRkpMfOkJ2drRkzZuiZZ57RpUuXmEL7GQIaQGkR00AO4tnHzZ07VyNGjFB2draaNm2q+fPnq23btl47z969e/XII4/kTqGffvppvfTSSyXer4bnEdAArERMI1gRzz7s9ddf18SJEyVJEyZM0EsvvaSoqCgvn0rKysrSjBkz9OSTTyorK0ujR4/WW2+9xX8k/QABDcBdiGkEC+LZR73yyiv661//KkmaPn26xo8f7+UTXeuzzz7Tgw8+qIyMDA0bNkxz5sxhAu0HCGgAnkBMI1ARzz5o5syZGjVqlEJCQjR37lwNHTrU20cq1Lp169SjRw9dunRJEydO1D/+8Q8C2g8Q0AA8jZhGoCCefcznn3+uXr16yeFw6O2339aoUaO8faRiffHFF+rZs6cuX76s1157TRMmTPD2kWCAgAbgTcQ0/BXx7EN+/fVXxcbG6sSJE5o6daqeffZZbx/J2OLFi/XQQw8pPDxcW7duVUxMjLePBAMENABfQUzDXxDPPmTw4MFauHCh4uPjtW7dOr/7j8SIESM0Z84ctWnTRps2beKR3n6CgAbgi4hp+Cri2UcsX75c999/v8qVK6ft27frxhtv9PaRSuzcuXNq1qyZjhw5opdffjn3C4/wfQQ0AF9HTMNXEM8+IO+6xowZM/T44497+0gu++KLL9S9e3fWN/wQAQ3AnxDT8Bbi2QeMHDlSs2fP9tt1jfyc6xvx8fFav369t4+DEiCgAfgrYhqeQjy7mcPh0LFjx2Sz2bRlyxadOnVKdrtddrs991/iRYsWKSsrSwsWLFDv3r1Vvnx5L5+6dM6dO6frr79e586d05YtW9SyZUtvHwklQEADCATENNyFeLaYw+HQDz/8oNWrVys5OVk2m00nTpww/vmQkBA1bdpUcXFxatOmjfr166e6deu68cTu8ec//1nTp0/Xo48+qtmzZ3v7OCghAhpAoCGmYRXi2SIXLlzQwoULlZiYqJSUlKt+r3LlymrVqpXi4uLUoEEDRUVFKSIiQllZWfrLX/6i06dPq2vXrjp9+rR27Nihy5cv5/5sWFiY+vTpozFjxqhjx45+8wCSn3/+WTfffLOioqJ07NgxVa5c2dtHQgkR0AACGTENVxHPpfTzzz8rMTFR7733ns6dOydJqlatmgYPHqw777xTcXFxuuGGGwqM3jVr1uiee+5RgwYNtH//foWFhSkjI0M7duyQzWbT2rVrtXz5cl25ckWS1LRpU40ePVpDhw5VpUqVPPo5XdGlSxd9/fXXeuONN/TEE094+zhwAQENIFgQ0zBFPLsoIyNDU6ZM0SuvvKKsrCxJUrt27TR27Fj169dPERERxb5Hr169tGLFCv3v//6vnn766QJfc+zYMc2ZM0czZ87UsWPHJEk1a9bUzJkz1bt3b+s+kBssXbpUffv2VZMmTbR7926/mZrjagQ0gGBETKMwxLMLfvzxRw0dOlS7du1SSEiIhg4dqscff7xEX4zLzMxUhQoVlJmZqePHj6tmzZpFvv7y5ctasWKFpk2bps2bN0vKeajKjBkzdN1115Xq87jLlStXVKdOHZ06dUp79uxR48aNvX0kuIiABhDsiGk4Ec8lkH/a3KRJE82bN0933nlnid9r69atatWqlRo3bqw9e/YY/1x2drbefPNNPf3007p06ZLPT6F79uypzz//XIsWLdKAAQO8fRyUAgENAL8jpoNX2OTJkyd7+xD+4NixY+rYsaOWLFkiSZo4caIWL16sG264waX3W7lypVasWKFu3bqpb9++xj8XEhKitm3b6qGHHlJKSop27dqljz76SKdOnVL37t197l/UvXv3KikpSY0aNVLXrl29fRyUQuXKlVW3bl0tWbJEderUUZUqVbx9JADwmvDwcNWoUUNNmjRRmzZt1KJFC0VGRur48eP64Ycf9M033+jw4cM6f/68wsLCFB0dzfpigCjj7QP4g/3796tLly46cOCAbrrpJr333nsuTZvzSk5OliTFxcW59PM33XSTkpKS9NZbb+mpp55SYmKizpw5o/fff19ly5Yt1dms5Px8zs8L/9awYUP179+fCTQA5FO+fHnFxsYqNjZW0tWT6ZSUFCbTAYS1jWLs27dP8fHxSk1NVevWrbVmzRpVrVq11O/bpk0bJScna926dbrrrrtK9V7r169Xz549df78efXs2VOffPKJzwR0amqq6tSpo4oVKyotLY3/UAQIVjgAoGRY8wgcxHMRjhw5og4dOujgwYNKSEjQZ599pooVK5b6fS9fvqzy5csrMzNTZ8+eteS2c8nJyerWrZvOnDmjgQMH6oMPPlBYWFip39cKderUUWpqKl8aDDAENAC4jpj2X8RzIdLT09W2bVv9+9//1h133KG1a9da9tjsU6dOqUaNGqpatapOnz5tyXtKOQHdqVMnnT9/XuPHj9f06dMte+/S6NChgzZu3KgNGzaoQ4cO3j4OLERAA4A1iGn/wc5zISZNmqR///vfio2N1apVqywLZ0m6dOmSJCkqKsqy95Sk1q1b534JccaMGerevbvuueceS6/hisjISEm/f24EDnagAcAa7Ez7D+K5AF9++aXmzJmj8PBwLV682PL7KNvtdkm/R6WVEhIS9MILL+ipp57SiBEjtHPnTq8/jdD5hwTiOTAR0ABgPWLadxHP+Zw7d06PPvqoJGnKlCmKiYmx/BrOW9W4a2Nm4sSJWrp0qTZv3qyJEyfq3Xffdct1TGVnZ0sS/1IHMAIaANyLmPYd7DznM2LECM2ZM0e33367Nm7cqDJlrP/zxZEjR1S/fn3VrVtXR44csfz9JWn37t1q0aKFMjIytGrVKq+ub3Tu3FnffPON1q5dq86dO3vtHHA/dqABwDvYmfYc4jmPpKQkdezYUeHh4dq6datbps6SdPr0aVWvXl2VK1dWWlqaW64hSdOmTdNTTz2lunXras+ePSpXrpzbrlWUdu3aafPmzfruu+/Uvn17r5wBnkNAA4D3EdPuQzzncd9992nlypWaPHmynn/+ebddJzs7W5UqVdJvv/2mEydOqEaNGm65jt1uV/PmzbVnzx4NHjxYzZs3V0ZGhsLDwxUZGany5csrJiZGzZs3t/zLi04Oh0NVq1ZVWlqaDh8+rHr16rnlOvAtBDQA+BZi2jrE838dOHBAN954o8LDw3XkyBFVq1bNrdeLj4/Xhg0bLF2p2LNnj7799lvZbDbZbDZt375dGRkZxf5cWFiYYmJiFBcXp7i4ON15551q2bKlJY8R3b9/v2688UbVqFFDx48f59GkQYSABgDfRUy7ji8M/tc777wjh8Ohhx56yO3hLOXcVm7Dhg2y2WyliufLly9r+fLlSkxMVFJS0jW/f+ONN+rw4cPKzMzUoEGD1LBhQ2VmZsputystLU3btm3Trl27tGPHDu3YsUPz58+XJDVv3lxjxozRoEGDSnWbPpvNJinn8xLOwYUvEQKA7+ILiK4jnpWz3uC8I8WYMWM8cs24uDhJOQ82ccWRI0c0a9YszZ49W8ePH5ckRUdHq0ePHmrTpo3i4uLUsmVLVa5cWU899ZSmTZumsmXL6qWXXrrmvS5evKht27YpOTlZNptNK1eu1LZt2/TYY4/pySef1J/+9CeNHj1at9xyS4nP6fx8zs+L4EJAA4B/IKbNsbYh6YMPPtCQIUPUqlUrJScne2RCunv3bt1yyy2qV6+eDh8+bPxzdrtdU6ZM0bRp05SVlSVJiomJ0ZgxY/THP/6xwMeH/+c//1Hjxo0VHh6uo0ePqmrVqkVeIyMjQ0uWLFFiYqI2bdqU++tDhgzRG2+8oSpVqhift0uXLvr666+1fPly9e7d2/jnEFhY4QAA/8aax++IZ0m9evXSihUrNHPmTI0cOdIj18zOzlblypV1/vx57dmzR40bNy72Z/7v//5PjzzyiHbt2qWQkBD169dPY8eOVXx8fLHB361bN3355ZeaP3++/vSnPxmfMyUlRW+//bbef/992e121a5dWzNnzlTPnj2L/dkLFy6odu3aOn/+PF8WBAENAAEkmGM6MD9VCTlXCzp27Oixa4aGhqpv376SpJkzZxb5Wrvdrqefflrt2rXTrl271KRJE23cuFGLFy9WQkKC0aTc+dlKuibSokULzZw5U9u3b1f79u2VmpqqXr16aciQIcXeZm/hwoU6f/682rVrRzgjd4VjyZIlOnDggLePAwAoBeeaR48ePTRmzBiNGzdOt912m9LS0rR8+XK98sorWrRokTZt2qRjx47lPjAtEAT95Dk1NVV16tRRxYoVlZaW5tE/Jf3444+6/fbbVaVKFR09erTA28Xt27dPvXv3zp02T5o0SVOnTi3xreW++uorde3aVe3atbtqFaMksrKyNGPGDD3zzDO5U+glS5bozjvvvOa1DodDrVq1UkpKij744AM9/PDDLl0TgYcJNAAEvkCeTLs9ni9dktLTpcqVpYgId17JNZ9//rl69uypu+66S+vWrfP49du0aaPk5GTNmzdPQ4cOver3duzYoa5du+r48eNq0qSJ5s+fr3bt2rl0nV9//VXVqlVTVFSU0tPTS/XkxL179+qRRx7Rxo0bVa5cOS1btkxdu3a96jXff/+97rzzTlWrVk2HDx9WZGSky9dD4CGgASC4eCKmMzKks2elihUlNz2+QpIb1zZsNum++6RKlaSGDXM+yEMPSbt3u+uKrnHeSs1bd4MYO3asJCkxMfGqX7fZbEpISNDx48fVqVMn2Ww2l8NZkqpWrapGjRrp0qVL2l3K/xEaN26spKQkDR06VBcvXtR9992nTz/99KrXOD/Po48+SjjjGqxwAEBwceeax+7dOY1ZsWJOc1aqlNOg/008y7ll8rxihTRgQM7UOe+7h4bm/Engyy+lAv6m3yucXxZcuHChBg4c6PHrX7p0SXXr1lVaWprWr1+v+Ph47dq1S/Hx8fr111/Vu3dvffTRR5YEqDNWCppyuyI7O1uTJk3SG2+8ofDwcK1cuVJdunTRoUOH1LhxY12+fFn79+9Xw4YNS30tBCYm0AAAyfXJ9MaNUrduOc2Zt7dDQnKa81//yglpK1l+n+e0tJxwvnjx2t/LzpYuXMj5EMePS+HhVl+95A4dOiRJatq0qVeuHxUVpccff1xTp07ViBEjtGLFCt1999369ddf1aNHD3388ccqW7asJddyfkbnZy6t0NBQvfbaa8rKytKbb76pPn366Ouvv9azzz6rzMxMPfjgg4QzisR9oAEAkmv3mb5yJVQ9e+a0ZX4OR06LPvSQdOSIVIK77BbL8nieO7f411y5Ii1dmhPZ3nbp0iVJUrly5bx2hqefflpLlizRrl271LlzZx07dkzx8fGWhrP0+2e02+2WvWdISIjeeOMNpaen67333tN9992n06dP67rrrtP06dMtuw4CFwENAMjPJKaPHv2DMjLuUHE5O3euNGmSdWezfOf5s88Knjrndf68NHDgBwoJCfH6P3v27JGkEt+9wkqRkZGaN2+eQkJCdOTIEVWpUkWffPKJ5Wdyrn44/8BgldDQUM2aNUsxMTE6ffq0JOmtt95SrVq1LL0OAhc70ACAohS0M/3LL7G6eLHocL54MWed2EqWx/N/H3pnIMzqS5eKJ54qWJSqVavm3gEjMjJS0dHRll/DuSvkjnstli1b9qqnGxLOKCkCGgBgqnz58oqOrmz0WvM2NWN5PCckFH9LuuhoKTFxkBwOh9f/cT7Zz8pVhpLKzs7W8OHDdfnyZVWsWFGpqakaOXKk5ZHrnDi7Y8r+4osvavPmzbnT7eHDh+tCQUtIQBEIaACAqQ4drigysugyjoiQ4uOtva7l8Tx6dM43HIvicEi+8swMZ+xdLG7XxI1mzpyp9evXq0aNGlq6dKmio6O1YMECPfHEE7LyZijuiuc333xTzz33nEJDQ/X++++refPmOnDggJ555hlLr4PgQEADAIqSmZmpjRs36uzZfyo7u+hOCgnJaVMrWR7P9epJf/ubVNj376KipHfflSpUsPrKrnGuF3jr/6SvXLmiv/3tb5Jy9oQ7d+6sTz/9VOHh4Xrrrbf05JNPWhbQzs9Ys2ZNS95Pygn/8ePHS5JmzZql/v37a/78+QoJCdE777yTuwMNlAQBDQDIzxnNM2bM+O/f0g/Ue++VKfSBKOXK5TRpvXrWnsMtD0n585+lefOkRo1yVjQqVcqJ5thYafly37jLhpPz4Sg2d91JuxgrV67U4cOH1bhxY/Xt21eS1LlzZy1evFhly5bVq6++qpEjRyrLgoUd52ds3bp1qd9Lkl5++WWNGjVKkvTaa69p+PDhkqQWLVro3nvvVWZmpuaa3H4FKAABDQCQro3mIUOGqF+/fqpRo4YGDJCWLctpzKionOaMjs5p0HnzcprUam59PLfDIe3cKZ0+LdWuLXnpVspFWrJkifr376/u3RtvDbgAABpESURBVLtr9erVHr9+165d9dVXX+m1117ThAkTrvq91atXq2/fvrp06ZK6du2qOXPmqH79+i5d5/z586pUqZLKlCmj8+fPK6IUz0o/e/asJkyYkDthTkxMzI1op1WrVqlHjx5q2LCh9u3bp7Aw3/qCKPwHD1IBgOCUmZmpH3/8Ud9//70aNmyo+Ph41ahRo9DX//yzlJoqVauWE9PuuheEW+PZHxw4cEA33HCDqlevrhMnTnj0rht79uxR06ZNFRUVpaNHj6pKAXfw3rBhg/r06aMzZ86oYsWKeu211zRs2LASn3PDhg2Kj49Xy5YttWXLFpfPvHr1ao0YMUJHjx5VRESE5s6dq0GDBl3zuqysLDVu3FgHDhzQ559/rh49erh8TYCABoDgUdJo9jS3rG34k4YNG6pKlSo6deqUjhw54tFrv/POO5KkgQMHFhjOkvSHP/xBO3fuVO/evZWenq5HH31U9957rw4fPlyiazlXNpxrKiV19uxZDRs2TPfee6+OHj2qtm3bKiUlpcBwlqSwsLDcaXRiYqJL1wScWOEAgMBX1HqGLwn6eA4JCcndAf7uu+88dl2Hw6EFCxZIkkYX8zXQWrVqadmyZVqwYIGqVKmiNWvWqFmzZnr++eeNg3/jxo2SSh7PaWlpev3119WsWTPNmzdPEREReuWVV/Tdd9/p5ptvLvJnhw0bpvDwcK1evZovDqLUCGgACEz+Es1OQb+2IUkzZszQE088oc6dO2vt2rUeueYvv/yiRo0aqVq1ajp58qTxGsbx48c1atQoffrpp5JyJry9e/fWmDFj1KlTpwLf5+TJk6pXr56ysrK0f/9+XX/99cVex2azKTExUYsWLcq9xV3btm01b968YqM5rw4dOmjjxo1as2aNunXrZvxzQGFY4QCAwODr6xmFCfrJsyQNGTJE5cqV09dff63du3d75Jp51yhKsr/snEInJSXpwQcfVEhIiJYuXaouXbrolltu0fPPP68VK1YoNTU192feffddXb58Wffdd1+h4XzmzBl99dVXevnll3XHHXeodevWmjt3bu6XFZctW2Y0bc7P23czQeBhAg0A/s3fJs35Ff1A8CBRuXJlDR48WLNnz9Y777yjN954w+3XLM1t40JCQpSQkKCEhASlpqZqzpw5mjlzpn7++WdNnTo193W1a9dWq1attGHDBklSo0aN9MEHHygzM1N2u11nz55VSkqKbDbbNRFSuXJlDRs2TKNGjcp9CqMrnJ+PeIaVnAHNBBoA/Ef+SfOQIUP8JpjzYm3jv1JSUtSyZUtVqlRJR48eVXR0tFuv57xF3dKlS3X//feX+v2uXLmiVatWacOGDbLZbLLZbEpPTzf++aioKLVo0UJxcXFq166d+vTpo3KFPemmBHbt2qXY2Fg1aNBABw8eLPX7AXmxwgEAvs9f1zMKQzzn0b59e23atEmJiYnFfomvNBwOh6pVq6YzZ87o4MGDatCggeXXyM7O1r59+/TAAw9o586dat++vZo2baqMjAyFh4crMjJS0dHRio2NVVxcnG655RaVKWP9X0RkZWWpUqVKunDhgk6dOqVq1apZfg0ENwIaAHxToEWzE/Gcx+LFi/XQQw+pSpUq2rlzp2rXru2W65w5c0ZVq1ZVhQoVdO7cObfdW3rhwoUaPHiwKlasqAMHDui6665zy3WK06ZNGyUnJ2vTpk1q166dV86AwEZAA4DvCNRoduILg3n0799f99xzj9LS0vTYY4/JXX+ucN69onz58m4L5+PHj+vxxx+XlPPobG+Fs5TzOaXfPzdgNb5ECADe5+9fBDRFPOcREhKiWbNmqVKlSlqxYkXufZitZrfbJeXsGbuDw+HQ6NGjdebMGXXr1k3Dhg1zy3VMOT+n83MD7kBAA4B3BEs0OxHP+dSrV0+vv/66JGn8+PE6duyY5de4cuWKpJx7NLvDokWLtHz5clWsWFGzZ8/26CPHC+LcpXZ+bsBdCGgA8Jxgi2Yn4rkAQ4cO1b333quzZ89qyJAhysjIsPT9IyMjJcny95Wkn3/+WePGjZOUs65Rv359y69RUs6Js/NzA+5EQAOAewVrNDsRzwVwrm9Ur15dX3/9tR5++GFlZWVZ9v7OiLR6B/jQoUO6++67lZaWpp49e3p9XcPJ+TmJZ3gKAQ0A1gv2aHbibhtF2Lp1q+666y6lp6dryJAhevfddy25nZvdbld0dLRCQkJ0/vx5S3afDx8+rM6dO2vv3r1q3769vvjiC7ffq9rUDTfcoAMHDuinn35SbGyst4+DIMJdOACg9AL97hklRTwX47vvvlO3bt108eJFPfDAA1q4cKEiIiJK/b633nqrfvrpJ33//fdq27Ztqd5r79696tKliw4dOqQWLVpo3bp1qly5cqnPaAXnbfmioqKUnp7ulntJA0UhoAHANURzwVjbKEaHDh305ZdfqlKlSlq6dKm6d++uQ4cOlfp94+LiJJX+sdVffPGFOnTooEOHDqlt27b65ptvfCacJWnLli2SpObNmxPO8ApWOACgZFjPKBrxbKB9+/ZKSkpSjRo1lJSUpGbNmmn27Nmlug90aeP53LlzGjFihLp3766TJ0/q7rvv1ldffaUqVaq4fCZ3cH4+5+cFvIGABoDiEc1miGdDLVq00Pbt23X//ffr/PnzGjlyZKmm0K1bt5bkWjx/8cUXatasmebMmaPw8HC9/PLLWrVqVe7DSHyJ8/M5Py/gLQQ0ABSMaC4Zdp5LyOFw6KOPPtK4ceN05swZVahQQc8++6yGDx9eoqf4Xbx4URUqVFBISIjS0tJUoUKFYn9m586dmjZtmt577z1JOY+9nj9/vmJiYlz+PO7kcDjUsGFDHTp0SNu3b9ett97q7SMB7EADwH+x0+wa4tlFJ06c0OjRo7Vs2TJJObdhGzhwoMaOHWu8ohAfH68NGzbo7bff1qhRowp8TWZmppYvX67ExEStX79ekhQeHq6pU6dq0qRJPr1HvG7dOnXq1Em1a9fWoUOHfPqsCC4ENIBgRjSXDvFcCg6HQ6tWrdKMGTP05Zdf5v767bffrmHDhqldu3aKiYkpNBoXLVqkQYMG6dZbb9W2bdtynwSYnp6urVu3au3atZozZ46OHz8uSSpfvrwefvhhTZgwQU2aNHH/Bywl51+RP//885o8ebK3jwNchYAGEGyIZmsQzxbZu3ev3nnnHc2bN09paWm5vx4ZGanmzZsrLi5OcXFxatCggaKiohQZGSm73a6ePXsqLS1NY8eOVVpampKTk7V3796rvowYExOjsWPH6uGHH1bFihW98fFK7NixY2rQoIEk6eDBg6pbt66XTwRci4AGEAyIZmsRzxa7ePGi/vWvf2nNmjVKTk7W/v37S/weZcuW1W233abWrVtr0KBB+sMf/pA7lfYXU6ZM0eTJk9W3b18tWbLE28cBCkVAAwhURLN7EM9ulpaWpi1btshms2nLli06deqU7Ha7Ll26pLCwMElScnKyQkND9fe//12dOnVSs2bNFB4e7uWTuy4zM1ONGjXSsWPH9M0336hjx47ePhJQJAIaQCAhmt2LePYBDzzwgJYtW6YBAwZo0aJF3j5OqU2ePFlTpkxRTEyMfvrpJ7+bmiM4EdAA/B3R7BnEsw/Yv3+/brvtNl24cEGffPKJHnjgAW8fyWUpKSlq06aNrly5oqSkJCUkJHj7SIAxAhqAPyKaPYt49hH//Oc/NW7cONWoUUM7d+5UtWrVvH2kEsvMzNTtt9+ubdu2ady4cXrzzTe9fSSgxAhoAP6CaPYO4tlHZGdnq3PnzkpKSvLb9Q3nusYNN9yg7du3Kzo62ttHAlxCQAPwZUSzdxHPPiTv+saCBQs0ePBgbx/J2Pfff6/4+HjWNRAwCGgAvoZo9g3Es495++23NWbMGJUtW1afffaZunfv7u0jFWvHjh1KSEhQWlqaxo8fr+nTp3v7SIAlCGgAvoBo9i3Es49xOBx68skn9eqrryoqKkqrV6/26Snunj17lJCQoOPHj6tPnz76+OOPeQw3AgoBDcBbiGbfRDz7IIfDoREjRujdd99VZGSkPvnkE917773ePtY1tm7dqm7duunUqVPq1KmTVq5cqcjISG8fC7AcAQ3Ak4hm30Y8+6isrCyNGTNGs2bNUpkyZfTPf/5TI0aM8Jl7Jq9evVoDBgxQenq6unbtqqVLl/IFQQQ0AhqAuxHN/oF49mEOh0N//etfNW3aNElS9+7dNXv2bNWrV89rZzp37pwmTpyouXPnSpL69u2rDz/8UBEREV47E+ApBDQAdyCa/Qvx7OMcDoc+/PBDjR8/XmlpaapUqZJef/11DR061ONT6DVr1mjEiBE6cuSIIiIiNHXqVE2aNCn3MeNAMCCgAViFaPZPxLOfSE1N1WOPPaYVK1ZIku655x5NmzZNsbGxbr/2oUOHNGXKlNxp8+2336758+frlltucfu1AV9EQAMoDaLZvxHPfsThcGjhwoV6/PHHlZaWJklKSEjQmDFj1KdPH4WHh1t2rezsbK1du1aJiYlasWKFsrOzFRERoRdeeEETJkzgjhoIegQ0gJIimgMD8eyHUlNT9eKLL+r999/Xb7/9JkmqVauWRowYoQEDBqhp06YurVI4HA798ssvWrZsmd5++23t27dPklS2bFn17dtXzz33HNNmIA8CGoAJojmwEM9+LD09XQsWLFBiYqJ27tyZ++vR0dFq2bKl4uLiFBcXp1atWql69eqKjIxURESEMjMzZbfbdfbsWaWkpMhms8lms2nLli06c+ZM7vvUr19fo0aN0vDhw1WzZk1vfETA5xHQAApDNAcm4jkAOBwObdiwQbNmzdK3336rw4cPu/xe1atXV7t27TR8+HD16NGDLwMCBghoAHkRzYGNeA5AJ0+ezJ0m22w2bd++Xenp6bLb7bLb7QoPD1dUVJSio6MVExOjtLQ0/fDDDxozZozeeustn7mXNOBPCGgARHNwIJ6hpKQkdezYUTfeeKP27t1LPAMuIqCB4EQ0BxfiGcrKylLdunV14sQJ2Ww2tWrVyttHAvwWAQ0ED6I5OIV6+wDwvrCwMPXt21eS9PHHH3v5NIB/a9iwofr3768lS5bowIED3j4OADfIzMzUxo0bNWPGDKWmpmrIkCHq168f4RwkmDxDEqsbgNWYQAOBh0kzJOIZ/8XqBmA9AhoIDEQz8mJtA5JY3QDcgRUOwL+xnoGCMHlGLlY3APdgAg34FybNKArxjFysbgDuQ0ADvo9ohgnWNpCL1Q3AfVjhAHwX6xkoCSbPuAqrG4B7MYEGfAeTZriCeMZVWN0A3I+ABryLaEZpsLaBq7C6AbgfKxyAd7CeASswecY1WN0APIMJNOAZTJphJeIZ12B1A/AcAhpwH6IZ7sDaBq7B6gbgOaxwANZjPQPuxOQZBWJ1A/AsJtBA6TFphicQzygQqxuA5xHQgGuIZngSaxsoEKsbgOexwgGUDOsZ8AYmzygUqxuAdzCBBorGpBneRDyjUKxuAN5DQAPXIprhC1jbQKFY3QC8hxUO4HesZ8CXMHlGkVjdALyLCTSCGZNm+CLiGUVidQPwPgIawYZohi9jbQNFYnUD8D5WOBAsWM+AP2DyjGKxugH4BibQCFRMmuFPiGcUi9UNwHcQ0AgkRDP8EWsbKBarG4DvYIUDgYD1DPgzJs8wwuoG4FuYQMMfMWlGICCeYSTv6saWLVvUsmVLbx8JCHoENPwF0YxAEjZ58uTJ3j4EfF9oaKgOHDigH3/8UVWqVFGXLl28fSQg6FWuXFl169bVkiVLVKdOHVWpUsXbRwKukpmZqc2bN+uTTz5RmTJl1KtXL7Vp00bR0dHePhrgMibPMMbqBuCbmEDD1zBpRiAjnmGM1Q3AdxHQ8AVEM4IBaxswxuoG4LtY4YA3sZ6BYMLkGSXC6gbg25hAw5OYNCMYEc8oEVY3AN9HQMPdiGYEM9Y2UCKsbgC+jxUOuAvrGQCTZ7iA1Q3APzCBhlWYNAO/I55RYqxuAP6DgEZpEM3AtVjbQImxugH4D1Y44ArWM4DCMXmGS1jdAPwLE2iYYNIMFI94hktY3QD8DwGNwhDNgDnWNuASVjcA/8MKB/JjPQMoOSbPcBmrG4B/YgINJs2A64hnuIzVDcB/EdDBiWgGSo+1DbiM1Q3Af7HCEVxYzwCsw+QZpcLqBuDfmEAHNibNgPWIZ5QKqxuA/yOgAw/RDLgPaxsoFVY3AP/HCkfgYD0DcD8mzyg1VjeAwMAE2n8xaQY8h3hGqbG6AQQOAtq/EM2A57G2gVJjdQMIHKxw+AfWMwDvYfIMS7C6AQQWJtC+iUkz4H3EMyzB6gYQeAho30E0A76DtQ1YgtUNIPCwwuF9rGcAvofJMyzD6gYQmJhAex6TZsB3Ec+wDKsbQOAioD2DaAZ8H2sbsAyrG0DgYoXDvVjPAPwHk2dYitUNILAxgbYWk2bA/xDPsBSrG0DgI6BLj2gG/BdrG7BU3tWN6667Tp07d/b2kQBYjBUO17GeAfg/Js+wHKsbQHBgAm2OSTMQOIhnWI7VDSB4ENBFI5qBwMPaBizH6gYQPFjhKBjrGUDgYvIMt2B1AwguTKBzMGkGAh/xDLdgdQMIPsEc0EQzEDxY24BbsLoBBJ9gXOFgPQMIPkye4TasbgDBKRgm0EyageBFPMNtWN0AglegBjTRDIC1DbgNqxtA8Aq0FQ7WMwA4MXmGW7G6AQQ3f59AM2kGkB/xDLdidQOAPwY00QygMKxtwK1Y3QDgTyscrGcAKA6TZ7gdqxsAJN+eQDNpBmCKeIbbsboBwMnXAppoBlBSrG3A7VjdAODkKyscrGcAcBWTZ3gEqxsA8vLWBJpJM4DSIp7hEaxuAMjPkwFNNAOwCmsb8AhWNwDk54kVDtYzAFiNyTM8htUNAAVxxwSaSTMAdyGe4TGsbgAojFUBTTQDcDfWNuAxv69ubNXFi7epfPnWCg2VfPh5CQA8pLAVjpMnpc2bpcOHpWrVpPDwgn+e9QwAnsLkGR6TnS2NGLFfc+dWUUhIGVWsWF4ZGSFq0UJKTJQYRANwTqA7dHhIL7/cQF9+KUVE5PxeZqY0ZIj06quSs4mZNAPwNOIZHuFwSAMHSitWOHTx4rW7ztHR0tdfS3fc4YXDAfApmzcfVpcu18luL6esrKv/exEZKTVtKq1fn6mffiKaAXge8QyPWL1a6t9funCh8Nc0bCjt3y/xPUIguPXpI33+ueOacHaKiMhSp04bNWzYSaIZgMcRz/CITp2kdeuKfk10tLRmjdShg2fOBMD3nDol1a8vZWQU/bpq1bJ14kSoQkM9cy4AcOI/O/CIlJTiX3PlirRli/vPAsB37dyZs5pRnPT0UJ096/7zAEB+Zbx9AASHsLDiX5OVdVlffPGl0tKS3X8gAD7p4MH6stsHSSq6oLOzpTL8PxgAL2BtAx4xaJD0r3/l/B9eYaKiJJtNuuUWz50LgG+5cEGqUUO6eLHo1zVtKu3e7ZkzAUBerG3AI/7yl99vN1WQMmWk5s0JZyDYRUdLjzxS9OpGdLT0zDOeOxMA5EU8wyNatZJeeEEqV+7a3wsPz3n4wccfe/5cAHzPK69IsbE5fxuVX3R0zt04/vhHz58LACTiGR40aZK0fLn0hz/k7ECHh0sVK0rjx0vbt0v16nn7hAB8Qbly0nffSVOmSLVrS2XL5vzt1M03S2+/LX3wAbe0BOA97DzDK+z2nH8qVhS3mgJQKIdDOn8+5w/cPGkbgC8gngEAAABDzPwAAAAAQ8QzAAAAYIh4BgAAAAwRzwAAAIAh4hkAAAAwRDwDAAAAhohnAAAAwBDxDAAAABgingEAAABDxDMAAABgiHgGAAAADBHPAAAAgCHiGQAAADBEPAMAAACGiGcAAADAEPEMAAAAGCKeAQAAAEPEMwAAAGCIeAYAAAAMEc8AAACAIeIZAAAAMEQ8AwAAAIaIZwAAAMAQ8QwAAAAYIp4BAAAAQ8QzAAAAYIh4BgAAAAwRzwAAAIAh4hkAAAAwRDwDAAAAhohnAAAAwBDxDAAAABgingEAAABDxDMAAABgiHgGAAAADBHPAAAAgCHiGQAAADBEPAMAAACGiGcAAADAEPEMAAAAGCKeAQAAAEPEMwAAAGCIeAYAAAAMEc8AAACAIeIZAAAAMEQ8AwAAAIaIZwAAAMAQ8QwAAAAYIp4BAAAAQ8QzAAAAYIh4BgAAAAwRzwAAAIAh4hkAAAAwRDwDAAAAhohnAAAAwBDxDAAAABgingEAAABDxDMAAABgiHgGAAAADBHPAAAAgCHiGQAAADBEPAMAAACGiGcAAADAEPEMAAAAGCKeAQAAAEPEMwAAAGCIeAYAAAAMEc8AAACAIeIZAAAAMEQ8AwAAAIaIZwAAAMAQ8QwAAAAYIp4BAAAAQ8QzAAAAYIh4BgAAAAwRzwAAAIAh4hkAAAAwRDwDAAAAhohnAAAAwBDxDAAAABgingEAAABDxDMAAABgiHgGAAAADBHPAAAAgCHiGQAAADBEPAMAAACGiGcAAADAEPEMAAAAGCKeAQAAAEPEMwAAAGCIeAYAAAAMEc8AAACAIeIZAAAAMEQ8AwAAAIaIZwAAAMAQ8QwAAAAYIp4BAAAAQ8QzAAAAYIh4BgAAAAwRzwAAAIAh4hkAAAAwRDwDAAAAhohnAAAAwBDxDAAAABgingEAAABDxDMAAABgiHgGAAAADBHPAAAAgCHiGQAAADBEPAMAAACGiGcAAADAEPEMAAAAGCKeAQAAAEPEMwAAAGCIeAYAAAAMEc8AAACAIeIZAAAAMEQ8AwAAAIaIZwAAAMAQ8QwAAAAYIp4BAAAAQ8QzAAAAYIh4BgAAAAwRzwAAAIAh4hkAAAAwRDwDAAAAhohnAAAAwBDxDAAAABgingEAAABDxDMAAABgiHgGAAAADBHPAAAAgCHiGQAAADBEPAMAAACGiGcAAADAEPEMAAAAGCKeAQAAAEP/DwBBzSPWfmToAAAAAElFTkSuQmCC\n", - "text/plain": [ - "
" - ] + "text/plain": "
", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAs8AAAIrCAYAAAAQp3QjAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAA51ElEQVR4nO3deZzN9eLH8fdYZjHWjH1Ji2RGWYYimimEkqVQlq4rGjGki1v3V49HC9XvdnNbqDtlCZW4F6FkK4VE9WsOg7jCJduMLcMIZ4aZ8/tj7pnGmOUzZ75nfz0fj/5h5ny/53Eft14+3vM9IQ6HwyEAAAAAJSrn7RsAAAAA/AXxDAAAABgingEAAABDxDMAAABgiHgGAAAADBHPAAAAgCHiGQAAADBEPAMAAACGiGcAAADAEPEMAAAAGCKeAQAAAEPEMwAAAGCIeAYAAAAMEc8AAACAIeIZAAAAMEQ8AwAAAIaIZwAAAMAQ8QwAAAAYIp4BAAAAQ8QzAAAAYIh4BgAAAAwRzwAAAIAh4hkAAAAwRDwDAAAAhohnAAAAwBDxDAAAABgingEAAABDxDMAAABgiHgGAAAADBHPAAAAgCHiGQAAADBEPAMAAACGiGcAAADAEPEMAAAAGCKeAQAAAEPEMwAAAGCIeAYAAAAMEc8AAACAIeIZAAAAMEQ8AwAAAIaIZwAAAMAQ8QwAAAAYIp4BAAAAQ8QzAAAAYIh4BgAAAAwRzwAAAIAh4hkAAAAwRDwDAAAAhohnAAAAwBDxDAAAABgingEAAABDxDMAAABgiHgGAAAADBHPAAAAgCHiGQAAADBEPAMAAACGiGcAAADAEPEMAAAAGCKeAQAAAEPEMwAAAGCIeAYAAAAMEc8AAACAIeIZAAAAMEQ8AwAAAIaIZwAAAMAQ8QwAAAAYIp4BAAAAQ8QzAAAAYIh4BgAAAAwRzwAAAIAh4hkAAAAwRDwDAAAAhohnAAAAwBDxDAAAABgingEAAABDxDMAAABgiHgGAAAADBHPAAAAgCHiGQAAADBEPAMAAACGiGcAAADAEPEMAAAAGCKeAQAAAEPEMwAAAGCIeAYAAAAMEc8AAACAIeIZAAAAMEQ8AwAAAIaIZwAAAMAQ8QwAAAAYIp4BAAAAQ8QzAAAAYIh4BgAAAAwRzwAAAIAh4hkAAAAwRDwDAAAAhohnAAAAwBDxDAAAABgingEAAABDxDMAAABgiHgGAAAADBHPAAAAgCHiGQAAADBEPAMAAACGiGcAAADAEPEMAAAAGCKeAQAAAEPEMwAAAGCIeAYAAAAMEc8AAACAIeIZAAAAMEQ8AwAAAIaIZwAAAMAQ8QwAAAAYIp4BAAAAQ8QzAAAAYIh4BgAAAAwRzwAAAIAh4hkAAAAwRDwDAAAAhohnAAAAwBDxDAAAABgingEAAABDxDMAAABgiHgGAAAADBHPAAAAgCHiGQAAADBEPAMAAACGiGcAAADAEPEMAAAAGCKeAQAAAEPEMwAAAGCIeAYAAAAMEc8AAACAIeIZAAAAMEQ8AwAAAIaIZwAAAMAQ8QyP2rdPGjtWqlNHqlZNatlS+vBDKSvL23cGAABQshCHw+Hw9k0gOHz2mTRokHTpUu4/TpGR0k03SRs2SFWqeO/+AAAASkI8wyP+8x/p1lulCxcK//2wMOm++6QlSzx7XwAAAKXBbAMe8dZbV542F5SZKa1aJR096rFbAgAAKDXiGR6xeHHx8SxJ5cpJK1Z45n4AAABcQTzDI+z2kr/m8mWHzp/Pcf/NAAAAuIh4hkdcf33JXxMScknbti3WggULtHnzZqWmpionh5gGAAC+gx8YhEfMny+NHCmdP1/010RFSfv2/aYjRw7ql19+0cGDB5WRkaFrr71W1157rZo0aaK6deuqXDn+zAcAALyDeIZHXLokdewo7djhkN0ectXvV6x4SdOmndaoUXWu+PXffvtNBw8S0wAAwDcQz/CY336THnggXWvXhiskJEehoZUUGhqi8HDppZdOKCPjA/Xv31/XXXddMa9BTAMAAO8hnuFR//M//6O//W2u7r77dT3wwBA1bSrdc49Uvrz0yy+/aNGiRSUGdH7ENAAA8CTiGR7jcDh04403av/+/Vq/fr3i4+Ov+hpXAjo/YhoAALgT8QyP2bJli2JjY1W3bl0dOXJE5cuXL/TryhrQ+RHTAADAShW8fQMIHgsXLpQk9evXr8hwlqQmTZpowIABlgR05cqVFRMTo5iYGElXxnRKSgoxDQAASoWTZ3iEyWSjICtPoIvCyTQAACgN4hkeYTrZKMgTAZ0fMQ0AAIrDbAMeYTrZKMjKCYcJZh4AAKA4nDzD7VyZbBTk6RPoonAyDQBAcCOe4XauTjYK8pWAzo+YBgAguDDbgNu5OtkoyNMTDhPMPAAACC6cPMOtrJhsFOSLJ9BF4WQaAIDAQjzDrayabBTkTwGdHzENAIB/Y7YBt7JqslGQL044TDDzAADAv3HyDLdxx2SjIH89gS4KJ9MAAPg24hlu467JRkGBFtD5EdMAAPgWZhtwG3dNNgry1wmHCWYeAAD4Fk6e4RaemGwUFMgn0EXhZBoAAM8inuEWnppsFBSMAZ0fMQ0AgHsx24BbeGqyUVAgTzhMMPMAAMC9OHmG5bwx2Sgo2E+gi8LJNAAAZUM8w3LemmwURECXjJgGAKB0mG3Act6abBQU7BMOE8w8AAAoHU6eYSlfmGwUxAm06ziZBgDgSsQzLOUrk42CCGhrENMAgGDHbAOW8pXJRkFMOKzBzAMAEOw4eYZlfHGyURAn0O7FyTQAINARz7CMc7JRp04dHT161KdOnvMjoD2HmAYABBpmG7CMc7LRv39/nw1niQmHJzHzAAAEGk6eYQl/mGwUxAm093EyDQDwN8QzLOEvk42CCGjfQkwDAHwdsw1Ywl8mGwUx4fAtzDwAAL6Ok2eUmT9ONgriBNo/cDINAPA24hll5q+TjYIIaP9DTAMAPI3ZBsrMXycbBTHh8D/MPAAAnsbJM8okECYbBXECHTg4mQYAWI14RpkEymSjIAI6MBHTAICyYraBMgmUyUZBTDgCEzMPAEBZcfIMlwXiZKMgTqCDCyfTAICSEM9wWaBONgoioIMXMQ0AKIjZBlwWqJONgphwBC9mHgCAgjh5hkuCYbJRECfQKIiTaQAIPsQzXBIsk42CCGgUh5gGgMDHbAMuCZbJRkFMOFAcZh4AEPg4eUapBeNkoyBOoOEKTqYBwP8Rzyi1YJ1sFERAo6yIaQDwP8w2UGrBOtkoiAkHyoqZBwD4H06eUSpMNq7GCTTchZNpAPA9xDNKhclG4QhoeAIxDQDex2wDpcJko3BMOOAJzDwAwPs4eYYxJhsl4wQa3sTJNAC4H/EMY0w2zBDQ8BXENABYj9kGjDHZMMOEA76CmQcAWI+TZxhhslF6nEDD13EyDQClRzzDCJMN1xDQ8CfENACUjNkGjDgnG/369SOcS4EJB/wJMw8AKBknzygRk42y4wQagYCTaQAgnmGAyYY1CGgEGmIaQDBitoESMdmwBhMOBBpmHgCCESfPKBaTDetxAo1gwck0gEBEPKNYTDbcg4BGMCKmAQQCZhsoFpMN92DCgWDEzANAIODkGUVisuF+nEADv+NkGoA/IJ5RJCYbnkFAA4UjpgH4ImYbKBKTDc9gwgEUjpkHAF/EyTMKxWTD8ziBBkqHk2kA3kA8o1BMNryDgAZcR0wD8ARmGygUkw3vYMIBuI6ZBwBP4OQZV2Gy4X2cQAPW42QagBWIZ1yFyYZvIKAB9yKmAbiC2QauwmTDNzDhANyLmQcAV3DyjCsw2fA9nEAD3sHJNIDCEM+4ApMN30RAA95HTAOQmG2gACYbvokJB+B9zDwASJw8Ix8mG76PE2jAd3EyDQQH4hl5mGz4BwIa8A/ENBCYmG0gD5MN/8CEA/APzDyAwMTJMyQx2fBHnEAD/o2TacA/Ec+QxGTDXxHQQOAgpgH/wGwDkphs+CsmHEDgYOYB+AdOnsFkIwBwAg0EPk6mAd9APIPJRoAgoIHgQkwD3sFsIwA5HA798ssvstlsstls2rFjh86ePSu73a7MzExVrFhRERERioyMVHR0tPbv3y9JevDBBwlnP8aEAwguzDwA7+DkOUAcPXpUc+bM0TfffCObzabTp0+X+jUiIiLUtm1bdejQQY8++qhuvvlmN9wp3I0TaAASJ9OAuxDPfszhcGjdunVKSkrSsmXLlJ2dnfd7UVFRio2NVWxsrNq0aaNatWopPDxcYWFhysrKkt1uV3p6urZt2yabzabk5GQdPXr0itfv0qWLEhMT1bt3b1WowF9S+BMCGkBBxDRgDeLZD9ntds2cOVNJSUnavXu3JKlChQp64IEHNHDgQLVt21aNGjVSSEhIqV73xIkTstlsWrp0qT7++GNduHBBktSgQQONHDlSY8eO1TXXXGP5+4F7ENAAikNMA64hnv3MDz/8oGHDhuVFc/369fX444/rscceU/369S27zpkzZ/Thhx8qKSlJP//8sySpbt26mj59unr37m3ZdeBeBDQAU8Q0YIZ49hN2u10vvPCC/v73vysnJ0c333yzXn75ZfXu3VsVK1Z023Wd05Dnn39emzZtkiQ98sgjmjp1KqfQfoKABuAKYhooHPHsB/KfNpcrV04TJ07U5MmTFR4e7rF7yMnJ0bRp0/Tss8/q4sWLnEL7GQIaQFkR00Au4tnHzZ49WwkJCcrJyVGzZs00d+5ctW/f3mv3s3fvXj366KN5p9DPPPOMXnnllVLvq+F5BDQAKxHTCFbEsw978803NWHCBEnS+PHj9corrygiIsLLdyVlZ2dr2rRpeuqpp5Sdna3Ro0frnXfe4V+SfoCABuAuxDSCBfHso1577TX95S9/kSRNnTpV48aN8/IdXe2zzz7TQw89pMzMTA0fPlyzZs3iBNoPENAAPIGYRqAinn3Q9OnTNWrUKIWEhGj27NkaNmyYt2+pSOvWrVPPnj118eJFTZgwQX//+98JaD9AQAPwNGIagYJ49jGff/65evfuLYfDoXfffVejRo3y9i2VaM2aNerVq5cuXbqkN954Q+PHj/f2LcEAAQ3Am4hp+Cvi2Yf8+uuviomJ0fHjxzV58mQ999xz3r4lYwsXLtTDDz+s0NBQbd26VdHR0d6+JRggoAH4CmIa/oJ49iFDhgzR/PnzFRcXp3Xr1vndvyQSEhI0a9YstWvXTps3b+Yjvf0EAQ3AFxHT8FXEs49YtmyZHnjgAVWqVEnbt2/XDTfc4O1bKrWzZ8+qRYsWOnLkiF599dW8H3iE7yOgAfg6Yhq+gnj2AfnnGtOmTdMTTzzh7Vty2Zo1a9SjRw/mG36IgAbgT4hpeAvx7ANGjhypmTNn+u1coyDnfCMuLk4bNmzw9u2gFAhoAP6KmIanEM9u5nA4lJqaKpvNpi1btujkyZOy2+2y2+15/ydesGCBsrOzNW/ePPXp00eVK1f28l2XzdmzZ3Xttdfq7Nmz2rJli1q3bu3tW0IpENAAAgExDXchni3mcDj0ww8/aNWqVUpOTpbNZtPx48eNvz8kJETNmjVTbGys2rVrp/79+6tBgwZuvGP3+NOf/qSpU6fqscce08yZM719OyglAhpAoCGmYRXi2SLnz5/X/PnzlZSUpJSUlCt+r3r16mrTpo1iY2PVuHFjRUREKCwsTNnZ2frzn/+sU6dOqVu3bjp16pR27NihS5cu5X1v+fLl1bdvXyUmJuruu+/2mw8g+fnnn3XzzTcrIiJCqampql69urdvCaVEQAMIZMQ0XEU8l9HPP/+spKQkffDBBzp79qwkKSoqSkOGDNEdd9yh2NhYXX/99YVG7+rVq3XvvfeqcePG2r9/v8qXL6/MzEzt2LFDNptNa9eu1bJly3T58mVJUrNmzTR69GgNGzZM1apV8+j7dEXXrl311Vdf6a233tKTTz7p7duBCwhoAMGCmIYp4tlFmZmZmjRpkl577TVlZ2dLkjp06KAxY8aof//+CgsLK/E1evfureXLl+t///d/9cwzzxT6NampqZo1a5amT5+u1NRUSVKdOnU0ffp09enTx7o35AZLlixRv379dNNNN2n37t1+c2qOKxHQAIIRMY2iEM8u+PHHHzVs2DDt2rVLISEhGjZsmJ544olS/WBcVlaWqlSpoqysLB07dkx16tQp9usvXbqk5cuXa8qUKfr+++8l5X6oyrRp03TNNdeU6f24y+XLl1W/fn2dPHlSe/bsUdOmTb19S3ARAQ0g2BHTcCKeS6HgafNNN92kOXPm6I477ij1a23dulVt2rRR06ZNtWfPHuPvy8nJ0dtvv61nnnlGFy9e9PlT6F69eunzzz/XggULNHDgQG/fDsqAgAaA3xHTwYv/VQ2lpqbq9ttv11//+lfl5ORowoQJSklJcSmcJclms0mS2rZtW6rvK1eunJ588klt375dd955p44fP66+fftqzJgxefMRX+J8f873C//VpEkTDRgwQIsXL9aBAwe8fTsA4FWVK1dWTEyMevbsqcTERI0dO1a33nqr0tPTtWzZMr322mtasGCBNm/erNTUVOXk5Hj7lmGRCt6+AX+wf/9+de3aVQcOHNCNN96oDz74wOVodkpOTpYkxcbGuvT9N954o9avX6933nlHTz/9tJKSknT69Gl9+OGHqlixYpnuzUrO9+d8v/BvzoDmBBoAruSM6ZiYGElXnkynpKRwMh1AmG2UYN++fYqLi1NaWpratm2r1atXq2bNmmV+3Xbt2ik5OVnr1q3TXXfdVabX2rBhg3r16qVz586pV69e+uSTT3wmoNPS0lS/fn1VrVpV6enp/IsiQDDhAIDSYeYROIjnYhw5ckSdOnXSwYMHFR8fr88++0xVq1Yt8+teunRJlStXVlZWls6cOWPJY+eSk5PVvXt3nT59WoMGDdJHH32k8uXLl/l1rVC/fn2lpaXxQ4MBhoAGANcR0/6LeC5CRkaG2rdvr3//+9+6/fbbtXbtWss+NvvkyZOqXbu2atasqVOnTlnymlJuQHfu3Fnnzp3TuHHjNHXqVMteuyw6deqkTZs2aePGjerUqZO3bwcWIqABwBrEtP9g81yEiRMn6t///rdiYmK0cuVKy8JZki5evChJioiIsOw1pdwfzlu+fLm6d++uadOmqUePHrr33nstvYYrwsPDJf3+vhE42EADgDXYTPsP4rkQX3zxhWbNmqXQ0FAtXLjQ8uco2+12Sb9HpZXi4+P10ksv6emnn1ZCQoJ27tzp9U8jdP4hgXgOTAQ0AFiPmPZdxHMBZ8+e1WOPPSZJmjRpkqKjoy2/hvOT9ty1mJkwYYKWLFmi77//XhMmTND777/vluuYcj6eh/9TBy4CGgDci5j2HWyeC0hISNCsWbN02223adOmTapQwfo/Xxw5ckSNGjVSgwYNdOTIEctfX5J2796tVq1aKTMzUytXrvTqfKNLly76+uuvtXbtWnXp0sVr9wH3YwMNAN7BZtpziOd81q9fr7vvvluhoaHaunWrW06dJenUqVOqVauWqlevrvT0dLdcQ5KmTJmip59+Wg0aNNCePXtUqVIlt12rOB06dND333+vb7/9Vh07dvTKPcBzCGgA8D5i2n2I53zuv/9+rVixQi+++KJeeOEFt10nJydH1apV02+//abjx4+rdu3abrmO3W5Xy5YttWfPHg0ZMkQtW7ZUZmamQkNDFR4ersqVKys6OlotW7a0/IcXnRwOh2rWrKn09HQdPnxYDRs2dMt14FsIaADwLcS0dYjn/zpw4IBuuOEGhYaG6siRI4qKinLr9eLi4rRx40ZLJxV79uzRN998I5vNJpvNpu3btyszM7PE7ytfvryio6MVGxur2NhY3XHHHWrdunXeNrss9u/frxtuuEG1a9fWsWPHLHlN+AcCGgB8FzHtOn5g8L/ee+89ORwOPfzww24PZyn3sXIbN26UzWYrUzxfunRJy5YtU1JSktavX3/V799www06fPiwsrKyNHjwYDVp0kRZWVmy2+1KT0/Xtm3btGvXLu3YsUM7duzQ3LlzJUktW7ZUYmKiBg8eXKbH9NlsNkm575dwDi78ECEA+C5+ANF1xLNy5w3OJ1IkJiZ65JqxsbGScj/YxBVHjhzRjBkzNHPmTB07dkySFBkZqZ49e6pdu3aKjY1V69atVb16dT399NOaMmWKKlasqFdeeeWq17pw4YK2bdum5ORk2Ww2rVixQtu2bdPjjz+up556Sn/84x81evRoNW/evNT36Xx/zveL4EJAA4B/IKbNMduQ9NFHH2no0KFq06aNkpOTPXJCunv3bjVv3lwNGzbU4cOHjb/Pbrdr0qRJmjJlirKzsyVJ0dHRSkxM1B/+8IdCPz78P//5j5o2barQ0FAdPXpUNWvWLPYamZmZWrx4sZKSkrR58+a8Xx86dKjeeust1ahRw/h+u3btqq+++krLli1Tnz59jL8PgYUJBwD4N2YevyOeJfXu3VvLly/X9OnTNXLkSI9cMycnR9WrV9e5c+e0Z88eNW3atMTv+b//+z89+uij2rVrl0JCQtS/f3+NGTNGcXFxJQZ/9+7d9cUXX2ju3Ln64x//aHyfKSkpevfdd/Xhhx/KbrerXr16mj59unr16lXi954/f1716tXTuXPn+GFBENAAEECCOaYD812VknNacPfdd3vsmuXKlVO/fv0kSdOnTy/2a+12u5555hl16NBBu3bt0k033aRNmzZp4cKFio+PNzopd7630s5EWrVqpenTp2v79u3q2LGj0tLS1Lt3bw0dOrTEx+zNnz9f586dU4cOHQhn5E04Fi9erAMHDnj7dgAAZeCcefTs2VOJiYkaO3asbr31VqWnp2vZsmV67bXXtGDBAm3evFmpqal5H5gWCIL+5DktLU3169dX1apVlZ6e7tE/Jf3444+67bbbVKNGDR09erTQx8Xt27dPffr0yTttnjhxoiZPnlzqR8t9+eWX6tatmzp06HDFFKM0srOzNW3aND377LN5p9CLFy/WHXfccdXXOhwOtWnTRikpKfroo4/0yCOPuHRNBB5OoAEg8AXyybTb4/niRSkjQ6peXQoLc+eVXPP555+rV69euuuuu7Ru3TqPX79du3ZKTk7WnDlzNGzYsCt+b8eOHerWrZuOHTumm266SXPnzlWHDh1cus6vv/6qqKgoRUREKCMjo0yfnLh37149+uij2rRpkypVqqSlS5eqW7duV3zNd999pzvuuENRUVE6fPiwwsPDXb4eAg8BDQDBxRMxnZkpnTkjVa0quenjKyS5cbZhs0n33y9VqyY1aZL7Rh5+WNq9211XdI3zUWreehrEmDFjJElJSUlX/LrNZlN8fLyOHTumzp07y2azuRzOklSzZk1dd911unjxonaX8X+Epk2bav369Ro2bJguXLig+++/X59++ukVX+N8P4899hjhjKsw4QCA4OLOmcfu3bmNWbVqbnNWq5bboP9NPMu55eR5+XJp4MDcU+f8r16uXO6fBL74Qirkb/q9wvnDgvPnz9egQYM8fv2LFy+qQYMGSk9P14YNGxQXF6ddu3YpLi5Ov/76q/r06aN//vOflgSoM1YKO+V2RU5OjiZOnKi33npLoaGhWrFihbp27apDhw6padOmunTpkvbv368mTZqU+VoITJxAAwAk10+mN22SunfPbc78vR0Sktuc//pXbkhbyfLnPKen54bzhQtX/15OjnT+fO6bOHZMCg21+uqld+jQIUlSs2bNvHL9iIgIPfHEE5o8ebISEhK0fPly3XPPPfr111/Vs2dPLVq0SBUrVrTkWs736HzPZVWuXDm98cYbys7O1ttvv62+ffvqq6++0nPPPaesrCw99NBDhDOKxXOgAQCSa8+Zvny5nHr1ym3LghyO3BZ9+GHpyBGpFE/ZLZHl8Tx7dslfc/mytGRJbmR728WLFyVJlSpV8to9PPPMM1q8eLF27dqlLl26KDU1VXFxcZaGs/T7e7Tb7Za9ZkhIiN566y1lZGTogw8+0P33369Tp07pmmuu0dSpUy27DgIXAQ0AKMgkpo8evVOZmberpJydPVuaONG6e7N88/zZZ4WfOud37pw0aNBHCgkJ8fo/e/bskaRSP73CSuHh4ZozZ45CQkJ05MgR1ahRQ5988onl9+Scfjj/wGCVcuXKacaMGYqOjtapU6ckSe+8847q1q1r6XUQuNhAAwCKU9hm+pdfYnThQvHhfOFC7pzYSpbH838/9M5AeasvXSae+FTB4tSsWTPvCRjh4eGKjIy0/BrOrZA7nrVYsWLFKz7dkHBGaRHQAABTlStXVmRkdaOvNW9TM5bHc3x8yY+ki4yUkpIGy+FweP0f5yf7WTllKK2cnByNGDFCly5dUtWqVZWWlqaRI0daHrnOE2d3nLK//PLL+v777/NOt0eMGKHzhY2QgGIQ0AAAU506XVZ4ePFlHBYmxcVZe13L43n06NyfcCyOwyH5ymdmOGPvQklbEzeaPn26NmzYoNq1a2vJkiWKjIzUvHnz9OSTT8rKh6G4K57ffvttPf/88ypXrpw+/PBDtWzZUgcOHNCzzz5r6XUQHAhoAEBxsrKytGnTJp058w/l5BTfSSEhuW1qJcvjuWFD6a9/lYr6+buICOn996UqVay+smuc8wJv/Uf68uXL+utf/yopdyfcpUsXffrppwoNDdU777yjp556yrKAdr7HOnXqWPJ6Um74jxs3TpI0Y8YMDRgwQHPnzlVISIjee++9vA00UBoENACgIGc0T5s27b9/Sz9IH3xQocgPRKlUKbdJGza09j7c8iEpf/qTNGeOdN11uRONatVyozkmRlq2zDeesuHk/HAUm7uepF2CFStW6PDhw2ratKn69esnSerSpYsWLlyoihUr6vXXX9fIkSOVbcFgx/ke27ZtW+bXkqRXX31Vo0aNkiS98cYbGjFihCSpVatWuu+++5SVlaXZJo9fAQpBQAMApKujeejQoerfv79q166tgQOlpUtzGzMiIrc5IyNzG3TOnNwmtZpbP57b4ZB27pROnZLq1ZO89CjlYi1evFgDBgxQjx49tGrVKo9fv1u3bvryyy/1xhtvaPz48Vf83qpVq9SvXz9dvHhR3bp106xZs9SoUSOXrnPu3DlVq1ZNFSpU0Llz5xRWhs9KP3PmjMaPH593wpyUlJQX0U4rV65Uz5491aRJE+3bt0/ly/vWD4jCf/BBKgAQnLKysvTjjz/qu+++U5MmTRQXF6fatWsX+fU//yylpUlRUbkx7a5nQbg1nv3BgQMHdP3116tWrVo6fvy4R5+6sWfPHjVr1kwRERE6evSoahTyBO+NGzeqb9++On36tKpWrao33nhDw4cPL/V9bty4UXFxcWrdurW2bNni8j2vWrVKCQkJOnr0qMLCwjR79mwNHjz4qq/Lzs5W06ZNdeDAAX3++efq2bOny9cECGgACB6ljWZPc8tsw580adJENWrU0MmTJ3XkyBGPXvu9996TJA0aNKjQcJakO++8Uzt37lSfPn2UkZGhxx57TPfdd58OHz5cqms5JxvOmUppnTlzRsOHD9d9992no0ePqn379kpJSSk0nCWpfPnyeafRSUlJLl0TcGLCAQCBr7h5hi8J+ngOCQnJ2wB/++23Hruuw+HQvHnzJEmjS/gx0Lp162rp0qWaN2+eatSoodWrV6tFixZ64YUXjIN/06ZNkkofz+np6XrzzTfVokULzZkzR2FhYXrttdf07bff6uabby72e4cPH67Q0FCtWrWKHxxEmRHQABCY/CWanYJ+tiFJ06ZN05NPPqkuXbpo7dq1HrnmL7/8ouuuu05RUVE6ceKE8Qzj2LFjGjVqlD799FNJuSe8ffr0UWJiojp37lzo65w4cUINGzZUdna29u/fr2uvvbbE69hsNiUlJWnBggV5j7hr37695syZU2I059epUydt2rRJq1evVvfu3Y2/DygKEw4ACAy+Ps8oStCfPEvS0KFDValSJX311VfavXu3R66Zf0ZRmv2y8xR6/fr1euihhxQSEqIlS5aoa9euat68uV544QUtX75caWlped/z/vvv69KlS7r//vuLDOfTp0/ryy+/1Kuvvqrbb79dbdu21ezZs/N+WHHp0qVGp80FeftpJgg8nEADgH/zt5Pmgor/QPAgUb16dQ0ZMkQzZ87Ue++9p7feesvt1yzLY+NCQkIUHx+v+Ph4paWladasWZo+fbp+/vlnTZ48Oe/r6tWrpzZt2mjjxo2SpOuuu04fffSRsrKyZLfbdebMGaWkpMhms10VIdWrV9fw4cM1atSovE9hdIXz/RHPsJIzoDmBBgD/UfCkeejQoX4TzPkx2/ivlJQUtW7dWtWqVdPRo0cVGRnp1us5H1G3ZMkSPfDAA2V+vcuXL2vlypXauHGjbDabbDabMjIyjL8/IiJCrVq1UmxsrDp06KC+ffuqUlGfdFMKu3btUkxMjBo3bqyDBw+W+fWA/JhwAIDv89d5RlGI53w6duyozZs3KykpqcQf4isLh8OhqKgonT59WgcPHlTjxo0tv0ZOTo727dunBx98UDt37lTHjh3VrFkzZWZmKjQ0VOHh4YqMjFRMTIxiY2PVvHlzVahg/V9EZGdnq1q1ajp//rxOnjypqKgoy6+B4EZAA4BvCrRodiKe81m4cKEefvhh1ahRQzt37lS9evXccp3Tp0+rZs2aqlKlis6ePeu2Z0vPnz9fQ4YMUdWqVXXgwAFdc801brlOSdq1a6fk5GRt3rxZHTp08Mo9ILAR0ADgOwI1mp34gcF8BgwYoHvvvVfp6el6/PHH5a4/VzifXlG5cmW3hfOxY8f0xBNPSMr96GxvhbOU+z6l3983YDV+iBAAvM/ffxDQFPGcT0hIiGbMmKFq1app+fLlec9htprdbpeUuzN2B4fDodGjR+v06dPq3r27hg8f7pbrmHK+T+f7BtyBgAYA7wiWaHYingto2LCh3nzzTUnSuHHjlJqaavk1Ll++LCn3Gc3usGDBAi1btkxVq1bVzJkzPfqR44Vxbqmd7xtwFwIaADwn2KLZiXguxLBhw3TffffpzJkzGjp0qDIzMy19/fDwcEmy/HUl6eeff9bYsWMl5c41GjVqZPk1Sst54ux834A7EdAA4F7BGs1OxHMhnPONWrVq6auvvtIjjzyi7Oxsy17fGZFWb4APHTqke+65R+np6erVq5fX5xpOzvdJPMNTCGgAsF6wR7MTT9soxtatW3XXXXcpIyNDQ4cO1fvvv2/J49zsdrsiIyMVEhKic+fOWbJ9Pnz4sLp06aK9e/eqY8eOWrNmjdufVW3q+uuv14EDB/TTTz8pJibG27eDIMJTOACg7AL96RmlRTyX4Ntvv1X37t114cIFPfjgg5o/f77CwsLK/Lq33HKLfvrpJ3333Xdq3759mV5r79696tq1qw4dOqRWrVpp3bp1ql69epnv0QrOx/JFREQoIyPDLc+SBopDQAOAa4jmwjHbKEGnTp30xRdfqFq1alqyZIl69OihQ4cOlfl1Y2NjJZX9Y6vXrFmjTp066dChQ2rfvr2+/vprnwlnSdqyZYskqWXLloQzvIIJBwCUDvOM4hHPBjp27Kj169erdu3aWr9+vVq0aKGZM2eW6TnQZY3ns2fPKiEhQT169NCJEyd0zz336Msvv1SNGjVcvid3cL4/5/sFvIGABoCSEc1miGdDrVq10vbt2/XAAw/o3LlzGjlyZJlOodu2bSvJtXhes2aNWrRooVmzZik0NFSvvvqqVq5cmfdhJL7E+f6c7xfwFgIaAApHNJcOm+dScjgc+uc//6mxY8fq9OnTqlKlip577jmNGDGiVJ/id+HCBVWpUkUhISFKT09XlSpVSvyenTt3asqUKfrggw8k5X7s9dy5cxUdHe3y+3Enh8OhJk2a6NChQ9q+fbtuueUWb98SwAYaAP6LTbNriGcXHT9+XKNHj9bSpUsl5T6GbdCgQRozZozxRCEuLk4bN27Uu+++q1GjRhX6NVlZWVq2bJmSkpK0YcMGSVJoaKgmT56siRMn+vSOeN26dercubPq1aunQ4cO+fS9IrgQ0ACCGdFcNsRzGTgcDq1cuVLTpk3TF198kffrt912m4YPH64OHTooOjq6yGhcsGCBBg8erFtuuUXbtm3L+yTAjIwMbd26VWvXrtWsWbN07NgxSVLlypX1yCOPaPz48brpppvc/wbLyPlX5C+88IJefPFFb98OcAUCGkCwIZqtQTxbZO/evXrvvfc0Z84cpaen5/16eHi4WrZsqdjYWMXGxqpx48aKiIhQeHi47Ha7evXqpfT0dI0ZM0bp6elKTk7W3r17r/hhxOjoaI0ZM0aPPPKIqlat6o23V2qpqalq3LixJOngwYNq0KCBl+8IuBoBDSAYEM3WIp4tduHCBf3rX//S6tWrlZycrP3795f6NSpWrKhbb71Vbdu21eDBg3XnnXfmnUr7i0mTJunFF19Uv379tHjxYm/fDlAkAhpAoCKa3YN4drP09HRt2bJFNptNW7Zs0cmTJ2W323Xx4kWVL19ekpScnKxy5crpb3/7mzp37qwWLVooNDTUy3fuuqysLF133XVKTU3V119/rbvvvtvbtwQUi4AGEEiIZvcinn3Agw8+qKVLl2rgwIFasGCBt2+nzF588UVNmjRJ0dHR+umnn/zu1BzBiYAG4O+IZs8gnn3A/v37deutt+r8+fP65JNP9OCDD3r7llyWkpKidu3a6fLly1q/fr3i4+O9fUuAMQIagD8imj2LePYR//jHPzR27FjVrl1bO3fuVFRUlLdvqdSysrJ02223adu2bRo7dqzefvttb98SUGoENAB/QTR7B/HsI3JyctSlSxetX7/eb+cbzrnG9ddfr+3btysyMtLbtwS4hIAG4MuIZu8inn1I/vnGvHnzNGTIEG/fkrHvvvtOcXFxzDUQMAhoAL6GaPYNxLOPeffdd5WYmKiKFSvqs88+U48ePbx9SyXasWOH4uPjlZ6ernHjxmnq1KneviXAEgQ0AF9ANPsW4tnHOBwOPfXUU3r99dcVERGhVatW+fQp7p49exQfH69jx46pb9++WrRoER/DjYBCQAPwFqLZNxHPPsjhcCghIUHvv/++wsPD9cknn+i+++7z9m1dZevWrerevbtOnjypzp07a8WKFQoPD/f2bQGWI6ABeBLR7NuIZx+VnZ2txMREzZgxQxUqVNA//vEPJSQk+Mwzk1etWqWBAwcqIyND3bp105IlS/gBQQQ0AhqAuxHN/oF49mEOh0N/+ctfNGXKFElSjx49NHPmTDVs2NBr93T27FlNmDBBs2fPliT169dPH3/8scLCwrx2T4CnENAA3IFo9i/Es49zOBz6+OOPNW7cOKWnp6tatWp68803NWzYMI+fQq9evVoJCQk6cuSIwsLCNHnyZE2cODHvY8aBYEBAA7AK0eyfiGc/kZaWpscff1zLly+XJN17772aMmWKYmJi3H7tQ4cOadKkSXmnzbfddpvmzp2r5s2bu/3agC8ioAGUBdHs34hnP+JwODR//nw98cQTSk9PlyTFx8crMTFRffv2VWhoqGXXysnJ0dq1a5WUlKTly5crJydHYWFheumllzR+/HieqIGgR0ADKC2iOTAQz34oLS1NL7/8sj788EP99ttvkqS6desqISFBAwcOVLNmzVyaUjgcDv3yyy9aunSp3n33Xe3bt0+SVLFiRfXr10/PP/88p81APgQ0ABNEc2Ahnv1YRkaG5s2bp6SkJO3cuTPv1yMjI9W6dWvFxsYqNjZWbdq0Ua1atRQeHq6wsDBlZWXJbrfrzJkzSklJkc1mk81m05YtW3T69Om812nUqJFGjRqlESNGqE6dOt54i4DPI6ABFIVoDkzEcwBwOBzauHGjZsyYoW+++UaHDx92+bVq1aqlDh06aMSIEerZsyc/DAgYIKAB5Ec0BzbiOQCdOHEi7zTZZrNp+/btysjIkN1ul91uV2hoqCIiIhQZGano6Gilp6frhx9+UGJiot555x2feZY04E8IaABEc3AgnqH169fr7rvv1g033KC9e/cSz4CLCGggOBHNwYV4hrKzs9WgQQMdP35cNptNbdq08fYtAX6LgAaCB9EcnMp5+wbgfeXLl1e/fv0kSYsWLfLy3QD+rUmTJhowYIAWL16sAwcOePt2ALhBVlaWNm3apGnTpiktLU1Dhw5V//79CecgwckzJDHdAKzGCTQQeDhphkQ847+YbgDWI6CBwEA0Iz9mG5DEdANwByYcgH9jnoHCcPKMPEw3APfgBBrwL5w0ozjEM/Iw3QDch4AGfB/RDBPMNpCH6QbgPkw4AN/FPAOlwckzrsB0A3AvTqAB38FJM1xBPOMKTDcA9yOgAe8imlEWzDZwBaYbgPsx4QC8g3kGrMDJM67CdAPwDE6gAc/gpBlWIp5xFaYbgOcQ0ID7EM1wB2YbuArTDcBzmHAA1mOeAXfi5BmFYroBeBYn0EDZcdIMTyCeUSimG4DnEdCAa4hmeBKzDRSK6QbgeUw4gNJhngFv4OQZRWK6AXgHJ9BA8ThphjcRzygS0w3Aewho4GpEM3wBsw0UiekG4D1MOIDfMc+AL+HkGcViugF4FyfQCGacNMMXEc8oFtMNwPsIaAQbohm+jNkGisV0A/A+JhwIFswz4A84eUaJmG4AvoETaAQqTprhT4hnlIjpBuA7CGgEEqIZ/ojZBkrEdAPwHUw4EAiYZ8CfcfIMI0w3AN/CCTT8ESfNCATEM4zkn25s2bJFrVu39vYtAUGPgIa/IJoRSJhtwEj+6cbChQu9fDcAJCYc8H3MMxCIOHmGMaYbgG/iBBq+hpNmBDLiGcaYbgC+i4CGLyCaEQyYbcAY0w3AdzHhgDcxz0Aw4eQZpcJ0A/BtnEDDkzhpRjAinlEqTDcA30dAw92IZgQzZhsoFaYbgO9jwgF3YZ4BcPIMFzDdAPwDJ9CwCifNwO+IZ5Qa0w3AfxDQKAuiGbgasw2UGtMNwH8w4YArmGcARePkGS5hugH4F06gYYKTZqBkxDNcwnQD8D8ENIpCNAPmmG3AJUw3AP/DhAMFMc8ASo+TZ7iM6QbgnziBBifNgOuIZ7iM6Qbgvwjo4EQ0A2XHbAMuY7oB+C8mHMGFeQZgHU6eUSZMNwD/xgl0YOOkGbAe8YwyYboB+D8COvAQzYD7MNtAmTDdAPwfE47AwTwDcD9OnlFmTDeAwMAJtP/ipBnwHOIZZcZ0AwgcBLR/IZoBz2O2gTJjugEEDiYc/oF5BuA9nDzDEkw3gMDCCbRv4qQZ8D7iGZZgugEEHgLadxDNgO9gtgFLMN0AAg8TDu9jngH4Hk6eYRmmG0Bg4gTa8zhpBnwX8QzLMN0AAhcB7RlEM+D7mG3AMkw3gMDFhMO9mGcA/oOTZ1iK6QYQ2DiBthYnzYD/IZ5hKaYbQOAjoMuOaAb8F7MNWCr/dGPRokVevhsA7sCEw3XMMwD/x8kzLMd0AwgOnECb46QZCBzEMyzHdAMIHgR08YhmIPAw24DlmG4AwYMJR+GYZwCBi5NnuAXTDSC4cAKdi5NmIPARz3ALphtA8AnmgCaageDBbANuwXQDCD7BOOFgngEEH06e4TZMN4DgFAwn0Jw0A8GLeIbbMN0AglegBjTRDIDZBtyG6QYQvAJtwsE8A4ATJ89wK6YbQHDz9xNoTpoBFEQ8w62YbgDwx4AmmgEUhdkG3IrpBgB/mnAwzwBQEk6e4XZMNwBIvn0CzUkzAFPEM9yO6QYAJ18LaKIZQGkx24DbMd0A4OQrEw7mGQBcxckzPILpBoD8vHUCzUkzgLIinuERTDcAFOTJgCaaAViF2QY8gukGgII8MeFgngHAapw8w2OYbgAojDtOoDlpBuAuxDM8hukGgKJYFdBEMwB3Y7YBj/l9ulFBb775g778UvLxz0sA4CFFTThOnJC++krasEH67beiv595BgBP4eQZHpOTIyUk7Nfs2TUUElJBVatWVmZmiFq1kpKSJA6iAThPoDt1elivvtpYX3whhYXl/l5WljR0qPT661JkpPPXOGkG4FnEMzzC4ZAGDZKWL3fowoWrt86RkbmnS7ff7oWbA+BTvv/+sLp2vUZ2eyVlZ1/574vwcKlZM2nDhiz99BPRDMDziGd4xKpV0oAB0vnzRX9NkybS/v0SP0cIBLe+faXPP3dcFc5OYWHZ6tx5k4YPP0E0A/A44hke0bmztG5d8V8TGSmtXi116uSZewLge06elBo1kjIzi/+6qKgcHT9eTuX4yR0AHsa/duARKSklf83ly9KWLW6/FQA+bOfO3GlGSTIyyunMGbffDgBcpYK3bwDBoXz5kr8mO/uS1qz5Qunpye6/IQA+6eDBRrLbB0sqvqBzcqQK/BcMgBcw24BHDB4s/etfuf/BK0pEhGSzSc2be+6+APiW8+el2rWlCxeK/7pmzaTduz1zTwCQH7MNeMSf//z746YKU6GC1LIl4QwEu8hI6dFHi59uREZKzz7ruXsCgPyIZ3hEmzbSSy9JlSpd/XuhoVJUlLRokefvC4Dvee01KSYm92+jCoqMzH0axx/+4PHbAgBJxDM8aOJEadky6c47czfQoaFS1arSuHHS9u1Sw4bevkMAvqBSJenbb6VJk6R69aSKFXP/durmm6V335U++ohHWgLwHjbP8Aq7PfefqlXFo6YAFMnhkM6dy/0Dt/NTBQHAm4hnAAAAwBBnfgAAAIAh4hkAAAAwRDwDAAAAhohnAAAAwBDxDAAAABgingEAAABDxDMAAABgiHgGAAAADBHPAAAAgCHiGQAAADBEPAMAAACGiGcAAADAEPEMAAAAGCKeAQAAAEPEMwAAAGCIeAYAAAAMEc8AAACAIeIZAAAAMEQ8AwAAAIaIZwAAAMAQ8QwAAAAYIp4BAAAAQ8QzAAAAYIh4BgAAAAwRzwAAAIAh4hkAAAAwRDwDAAAAhohnAAAAwBDxDAAAABgingEAAABDxDMAAABgiHgGAAAADBHPAAAAgCHiGQAAADBEPAMAAACGiGcAAADAEPEMAAAAGCKeAQAAAEPEMwAAAGCIeAYAAAAMEc8AAACAIeIZAAAAMEQ8AwAAAIaIZwAAAMAQ8QwAAAAYIp4BAAAAQ8QzAAAAYIh4BgAAAAwRzwAAAIAh4hkAAAAwRDwDAAAAhohnAAAAwBDxDAAAABgingEAAABDxDMAAABgiHgGAAAADBHPAAAAgCHiGQAAADBEPAMAAACGiGcAAADAEPEMAAAAGCKeAQAAAEPEMwAAAGCIeAYAAAAMEc8AAACAIeIZAAAAMEQ8AwAAAIaIZwAAAMAQ8QwAAAAYIp4BAAAAQ8QzAAAAYIh4BgAAAAwRzwAAAIAh4hkAAAAwRDwDAAAAhohnAAAAwBDxDAAAABgingEAAABDxDMAAABgiHgGAAAADBHPAAAAgCHiGQAAADBEPAMAAACGiGcAAADAEPEMAAAAGCKeAQAAAEPEMwAAAGCIeAYAAAAMEc8AAACAIeIZAAAAMEQ8AwAAAIaIZwAAAMAQ8QwAAAAYIp4BAAAAQ8QzAAAAYIh4BgAAAAwRzwAAAIAh4hkAAAAwRDwDAAAAhohnAAAAwBDxDAAAABgingEAAABDxDMAAABgiHgGAAAADBHPAAAAgCHiGQAAADBEPAMAAACGiGcAAADAEPEMAAAAGCKeAQAAAEPEMwAAAGCIeAYAAAAMEc8AAACAIeIZAAAAMEQ8AwAAAIaIZwAAAMAQ8QwAAAAYIp4BAAAAQ8QzAAAAYIh4BgAAAAwRzwAAAIAh4hkAAAAwRDwDAAAAhohnAAAAwBDxDAAAABgingEAAABDxDMAAABgiHgGAAAADBHPAAAAgCHiGQAAADBEPAMAAACGiGcAAADAEPEMAAAAGCKeAQAAAEPEMwAAAGCIeAYAAAAMEc8AAACAof8H5Bzlc+QlXlgAAAAASUVORK5CYII=\n" }, "metadata": {}, "output_type": "display_data" }, { "data": { - "text/plain": [ - "" - ] + "text/plain": "" }, - "execution_count": 3, + "execution_count": 2, "metadata": {}, "output_type": "execute_result" } @@ -161,12 +128,51 @@ }, { "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], + "execution_count": 3, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_ahyltgis.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_ahyltgis.json\n" + ] + } + ], "source": [ - "pp.runpm_ac_opf(net)" - ] + "pp.runpm_ac_opf(net)\n", + "\n", + "# or: pp.runpm(net, pm_model=\"ACPPowerModel\")" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "| parameter | description | type | default |\n", + "| :--- | :--- | :---: | :--- |\n", + "| correct_pm_network_data | checks if network data is correct. If not tries to correct it | bool | True |\n", + "| silence | Suppresses information and warning messages output by PowerModels | bool | True |\n", + "| pm_model | PowerModels.jl model to use | str | \"ACPPowerModel\" |\n", + "| pm_solver | \"main\" solver| str | \"ipopt\" |\n", + "| pm_mip_solver | mixed integer solver| str | \"cbc\" |\n", + "| pm_nl_solver | nonlinear solver| str | \"ipopt\" |\n", + "| pm_tol | default desired convergence tolerance for solver to use | float | 1e-8 |\n", + "| pm_log_level | solver log level in power models | int | 0 |\n", + "| delete_buffer_file | If True, the .json file used by PandaModels will be deleted after optimization. | bool | True |\n", + "| pdm_dev_mode | If True, the develope mode of PdM is called. | bool | False |\n" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%% md\n" + } + } }, { "cell_type": "markdown", @@ -177,70 +183,15 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "metadata": {}, "outputs": [ { "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
p_mwq_mvarva_degreevm_pu
01.448510e+0211.037217-1.390779e-281.050000
1-1.000000e-086.055925-1.680643e+011.013179
2-1.000000e-0813.126070-1.298596e+011.040498
\n", - "
" - ], - "text/plain": [ - " p_mw q_mvar va_degree vm_pu\n", - "0 1.448510e+02 11.037217 -1.390779e-28 1.050000\n", - "1 -1.000000e-08 6.055925 -1.680643e+01 1.013179\n", - "2 -1.000000e-08 13.126070 -1.298596e+01 1.040498" - ] + "text/plain": " p_mw q_mvar va_degree vm_pu\n0 1.448510e+02 11.037217 -8.109262e-29 1.050000\n1 -1.000000e-08 6.055925 -1.680643e+01 1.013179\n2 -1.000000e-08 13.126070 -1.298596e+01 1.040498", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
p_mwq_mvarva_degreevm_pu
01.448510e+0211.037217-8.109262e-291.050000
1-1.000000e-086.055925-1.680643e+011.013179
2-1.000000e-0813.126070-1.298596e+011.040498
\n
" }, - "execution_count": 5, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -258,17 +209,14 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "metadata": {}, "outputs": [ { "data": { - "text/plain": [ - "0 190.835372\n", - "Name: loading_percent, dtype: float64" - ] + "text/plain": "0 190.835372\nName: loading_percent, dtype: float64" }, - "execution_count": 6, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -286,9 +234,18 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_44aidbml.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_44aidbml.json\n" + ] + } + ], "source": [ "net.trafo3w[\"max_loading_percent\"] = 50\n", "net.line[\"max_loading_percent\"] = 20\n", @@ -304,17 +261,14 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 7, "metadata": {}, "outputs": [ { "data": { - "text/plain": [ - "0 49.974771\n", - "Name: loading_percent, dtype: float64" - ] + "text/plain": "0 49.974771\nName: loading_percent, dtype: float64" }, - "execution_count": 8, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -325,20 +279,14 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 8, "metadata": {}, "outputs": [ { "data": { - "text/plain": [ - "0 19.047619\n", - "1 12.295419\n", - "2 19.207577\n", - "3 7.088596\n", - "Name: loading_percent, dtype: float64" - ] + "text/plain": "0 19.047619\n1 12.295419\n2 19.207577\n3 7.088596\nName: loading_percent, dtype: float64" }, - "execution_count": 9, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -356,70 +304,15 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 9, "metadata": {}, "outputs": [ { "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
p_mwq_mvarva_degreevm_pu
024.531626-6.2670191.836953e-271.031058
198.101643-7.928710-3.576364e-011.050000
218.0548989.928333-1.446870e+001.048757
\n", - "
" - ], - "text/plain": [ - " p_mw q_mvar va_degree vm_pu\n", - "0 24.531626 -6.267019 1.836953e-27 1.031058\n", - "1 98.101643 -7.928710 -3.576364e-01 1.050000\n", - "2 18.054898 9.928333 -1.446870e+00 1.048757" - ] + "text/plain": " p_mw q_mvar va_degree vm_pu\n0 24.531626 -6.267019 4.493216e-27 1.031058\n1 98.101643 -7.928710 -3.576364e-01 1.050000\n2 18.054898 9.928333 -1.446870e+00 1.048757", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
p_mwq_mvarva_degreevm_pu
024.531626-6.2670194.493216e-271.031058
198.101643-7.928710-3.576364e-011.050000
218.0548989.928333-1.446870e+001.048757
\n
" }, - "execution_count": 10, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -444,440 +337,147 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 10, "metadata": {}, "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_b_fib894.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_b_fib894.json\n" + ] + }, { "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
vm_puva_degreep_mwq_mvarlam_plam_q
0NaN0.000000-23.521837NaN0.00.0
1NaN-2.78361260.000000NaN0.00.0
2NaN0.195199-29.310098NaN0.00.0
3NaN-1.159257-7.168065NaN0.00.0
4NaN-1.2646250.000000NaN0.00.0
\n", - "
" - ], - "text/plain": [ - " vm_pu va_degree p_mw q_mvar lam_p lam_q\n", - "0 NaN 0.000000 -23.521837 NaN 0.0 0.0\n", - "1 NaN -2.783612 60.000000 NaN 0.0 0.0\n", - "2 NaN 0.195199 -29.310098 NaN 0.0 0.0\n", - "3 NaN -1.159257 -7.168065 NaN 0.0 0.0\n", - "4 NaN -1.264625 0.000000 NaN 0.0 0.0" - ] + "text/plain": " vm_pu va_degree p_mw q_mvar lam_p lam_q\n0 NaN 0.000000 -23.521837 NaN 0.0 0.0\n1 NaN -2.783612 60.000000 NaN 0.0 0.0\n2 NaN 0.195199 -29.310098 NaN 0.0 0.0\n3 NaN -1.159257 -7.168065 NaN 0.0 0.0\n4 NaN -1.264625 0.000000 NaN 0.0 0.0", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
vm_puva_degreep_mwq_mvarlam_plam_q
0NaN0.000000-23.521837NaN0.00.0
1NaN-2.78361260.000000NaN0.00.0
2NaN0.195199-29.310098NaN0.00.0
3NaN-1.159257-7.168065NaN0.00.0
4NaN-1.2646250.000000NaN0.00.0
\n
" }, - "execution_count": 11, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pp.runpm_dc_opf(net)\n", - "net.res_bus" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The julia file that is used to do that can be found in pandapower/pandapower/opf/run_powermodels_dc.jl and looks like this:" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [], - "source": [ - "\"\"\"\n", - "using PowerModels\n", - "using Ipopt\n", - "using PP2PM\n", - "\n", - "function run_powermodels(json_path)\n", - " pm = PP2PM.load_pm_from_json(json_path)\n", - " result = PowerModels.run_dc_opf(pm, Ipopt.IpoptSolver(),\n", - " setting = Dict(\"output\" => Dict(\"branch_flows\" => true)))\n", - " return result\n", - "end\n", - "\"\"\";" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Of course PowerModels is a great modular tool that allows you to do much more than that. You might want to use a different OPF formulation, a relaxation method or a different solver. You might even want to use one of the variants of PowerModels that are being developed, such as [PowerModelsACDC.jl](https://github.com/hakanergun/PowerModelsACDC.jl) or [PowerModelsReliability.jl](https://github.com/frederikgeth/PowerModelsReliability.jl).\n", - "\n", - "To do that, you can switch out the standard file with your own custom .jl file. Lets say we want to run a power flow instead of an OPF. There is a custom julia file for that in pandapower/tutorials/run_powermodels_custom.jl that looks like this:" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [], - "source": [ - "\"\"\"\n", - "using PowerModels\n", - "using Ipopt\n", - "import JSON\n", - "\n", - "function run_powermodels(json_path)\n", - " pm = PP2PM.load_pm_from_json(json_path)\n", - " result = PowerModels.run_pf(pm, ACPPowerModel, Ipopt.IpoptSolver(),\n", - " setting = Dict(\"output\" => Dict(\"branch_flows\" => true)))\n", - " return result\n", - "end\n", - "\"\"\";" + "# or: pp.runpm(net, pm_model=\"DCPPowerModel\")\n", + "net.res_bus\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "We point the runpm function to this file, and as we can see by the flat voltage values, the OPF is now run with a DC network formulation:" + "The PowerModels data structure that was passed to Julia can be accessed like this:" ] }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 11, "metadata": { "scrolled": true }, "outputs": [ { "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
vm_puva_degreep_mwq_mvarlam_plam_q
01.0100003.232842e-36-51.203353-1.2450260.00.0
11.004756-5.426418e+0060.0000000.0000000.00.0
21.010000-6.495320e+0030.000000-15.2240750.00.0
31.010000-3.621699e+00-40.00000016.1423830.00.0
41.010243-3.216964e+000.0000000.0000000.00.0
\n", - "
" - ], - "text/plain": [ - " vm_pu va_degree p_mw q_mvar lam_p lam_q\n", - "0 1.010000 3.232842e-36 -51.203353 -1.245026 0.0 0.0\n", - "1 1.004756 -5.426418e+00 60.000000 0.000000 0.0 0.0\n", - "2 1.010000 -6.495320e+00 30.000000 -15.224075 0.0 0.0\n", - "3 1.010000 -3.621699e+00 -40.000000 16.142383 0.0 0.0\n", - "4 1.010243 -3.216964e+00 0.000000 0.000000 0.0 0.0" - ] + "text/plain": "{'1': {'index': 1,\n 'bus_i': 1,\n 'zone': 1,\n 'bus_type': 3,\n 'vmax': 1.05,\n 'vmin': 0.95,\n 'va': 0.0,\n 'vm': 1.01,\n 'base_kv': 220.0},\n '2': {'index': 2,\n 'bus_i': 2,\n 'zone': 1,\n 'bus_type': 1,\n 'vmax': 1.05,\n 'vmin': 0.95,\n 'va': 0.0,\n 'vm': 1.0,\n 'base_kv': 110.0},\n '3': {'index': 3,\n 'bus_i': 3,\n 'zone': 1,\n 'bus_type': 2,\n 'vmax': 1.05,\n 'vmin': 0.95,\n 'va': 0.0,\n 'vm': 1.01,\n 'base_kv': 110.0},\n '4': {'index': 4,\n 'bus_i': 4,\n 'zone': 1,\n 'bus_type': 2,\n 'vmax': 1.05,\n 'vmin': 0.95,\n 'va': 0.0,\n 'vm': 1.01,\n 'base_kv': 110.0},\n '5': {'index': 5,\n 'bus_i': 5,\n 'zone': 1,\n 'bus_type': 1,\n 'vmax': 1.05,\n 'vmin': 0.95,\n 'va': 0.0,\n 'vm': 1.0,\n 'base_kv': 110.0},\n '6': {'index': 6,\n 'bus_i': 6,\n 'zone': 1,\n 'bus_type': 1,\n 'vmax': 1.05,\n 'vmin': 0.95,\n 'va': 0.0,\n 'vm': 1.0,\n 'base_kv': 220.0}}" }, - "execution_count": 21, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "pp.runpm(net, julia_file=\"run_powermodels_custom.jl\")\n", - "net.res_bus" + "net._pm[\"bus\"]\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "The PowerModels data structure that was passed to Julia can be accessed like this:" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "data": { - "text/plain": [ - "{'1': {'index': 1,\n", - " 'bus_i': 1,\n", - " 'zone': 1,\n", - " 'bus_type': 3,\n", - " 'vmax': 1.05,\n", - " 'vmin': 0.95,\n", - " 'va': 0.0,\n", - " 'vm': 1.01,\n", - " 'base_kv': 220.0},\n", - " '2': {'index': 2,\n", - " 'bus_i': 2,\n", - " 'zone': 1,\n", - " 'bus_type': 1,\n", - " 'vmax': 1.05,\n", - " 'vmin': 0.95,\n", - " 'va': 0.0,\n", - " 'vm': 1.0,\n", - " 'base_kv': 110.0},\n", - " '3': {'index': 3,\n", - " 'bus_i': 3,\n", - " 'zone': 1,\n", - " 'bus_type': 2,\n", - " 'vmax': 1.05,\n", - " 'vmin': 0.95,\n", - " 'va': 0.0,\n", - " 'vm': 1.01,\n", - " 'base_kv': 110.0},\n", - " '4': {'index': 4,\n", - " 'bus_i': 4,\n", - " 'zone': 1,\n", - " 'bus_type': 2,\n", - " 'vmax': 1.05,\n", - " 'vmin': 0.95,\n", - " 'va': 0.0,\n", - " 'vm': 1.01,\n", - " 'base_kv': 110.0},\n", - " '5': {'index': 5,\n", - " 'bus_i': 5,\n", - " 'zone': 1,\n", - " 'bus_type': 1,\n", - " 'vmax': 1.05,\n", - " 'vmin': 0.95,\n", - " 'va': 0.0,\n", - " 'vm': 1.0,\n", - " 'base_kv': 110.0},\n", - " '6': {'index': 6,\n", - " 'bus_i': 6,\n", - " 'zone': 1,\n", - " 'bus_type': 1,\n", - " 'vmax': 1.05,\n", - " 'vmin': 0.95,\n", - " 'va': 0.0,\n", - " 'vm': 1.0,\n", - " 'base_kv': 220.0}}" - ] - }, - "execution_count": 22, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "net._pm[\"bus\"]" + "## Timings" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "There is also a callback that allows you to add additional data to the PowerModels data structure in case it is not already added by the pandapower/PowerModels interface. In the callback you can add any data from the net, ppc or any source:" + "Comparing the runopp function (that runs an OPF through PYPOWER) and the runpm function shows that PandaModels.jl is much more performant:" ] }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 12, "metadata": {}, "outputs": [ { - "name": "stdout", + "name": "stderr", "output_type": "stream", "text": [ - "foo\n", - "50.0\n" + "hp.pandapower.run - INFO: These elements have missing power constraint values, which are considered in OPF as +- 1000 TW: ['gen']\n", + "hp.pandapower.run - INFO: These elements have missing power constraint values, which are considered in OPF as +- 1000 TW: ['gen']\n", + "hp.pandapower.run - INFO: These elements have missing power constraint values, which are considered in OPF as +- 1000 TW: ['gen']\n", + "hp.pandapower.run - INFO: These elements have missing power constraint values, which are considered in OPF as +- 1000 TW: ['gen']\n", + "hp.pandapower.run - INFO: These elements have missing power constraint values, which are considered in OPF as +- 1000 TW: ['gen']\n", + "hp.pandapower.run - INFO: These elements have missing power constraint values, which are considered in OPF as +- 1000 TW: ['gen']\n", + "hp.pandapower.run - INFO: These elements have missing power constraint values, which are considered in OPF as +- 1000 TW: ['gen']\n", + "hp.pandapower.run - INFO: These elements have missing power constraint values, which are considered in OPF as +- 1000 TW: ['gen']\n" ] - } - ], - "source": [ - "def add_data(net, ppc, pm):\n", - " pm[\"gen\"][\"1\"][\"bar\"] = \"foo\"\n", - " pm[\"f_hz\"] = net.f_hz \n", - "\n", - "pp.runpm(net, julia_file=\"run_powermodels_custom.jl\", pp_to_pm_callback=add_data)\n", - "print(net._pm[\"gen\"][\"1\"][\"bar\"])\n", - "print(net._pm[\"f_hz\"])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "These variables can now also be accessed on the Julia side, in case you need some more variables for custom optimizations.\n", - "\n", - "Keep in mind that indices in PowerModels are 1-based so that the indices are shifted by one between ppc and pm. Furthermore, the net might contain some elements that are not in the ppc, as they are out of service or disconnected, which is why the indices of all elements have to be identified through the lookup tables in `net._pd2ppc_lookups`.\n", - "\n", - "Some notes on the internal data structure can be found in [internal_datastructure.ipynb](internal_datastructure.ipynb)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Timings" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Comparing the runopp function (that runs an OPF through PYPOWER) and the runpm function shows that PowerModels is much more performant:" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [ + }, { "name": "stdout", "output_type": "stream", "text": [ - "1.22 s ± 14.9 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n" + "840 ms ± 39.9 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n" ] } ], "source": [ - "%timeit pp.runopp(net)" + "%timeit pp.runopp(net)\n" ] }, { "cell_type": "code", - "execution_count": 19, - "metadata": {}, + "execution_count": null, + "metadata": { + "pycharm": { + "is_executing": true + } + }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "221 ms ± 7.18 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n" + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_lnqznrib.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_lnqznrib.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_dinjxg02.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_dinjxg02.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_ol3vpa5_.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_ol3vpa5_.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm__op48suq.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm__op48suq.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_wbww5m8v.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_wbww5m8v.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_bz57k_ow.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_bz57k_ow.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_jon4bi49.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_jon4bi49.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_q7ore7c3.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_q7ore7c3.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_e_429f18.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_e_429f18.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_gu_ux2_5.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_gu_ux2_5.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_2h53ewlp.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_2h53ewlp.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_1q0r95b5.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_1q0r95b5.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_6wuxrffp.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_6wuxrffp.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_umq3ao5v.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_umq3ao5v.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_nhwyfo6u.json\n" ] } ], @@ -889,7 +489,7 @@ "metadata": { "anaconda-cloud": {}, "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -903,9 +503,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.5" + "version": "3.9.5" } }, "nbformat": 4, "nbformat_minor": 2 -} +} \ No newline at end of file From e21ba15ec254c0575e97f972bb9b9052099f403a Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Sun, 21 Nov 2021 15:11:51 +0100 Subject: [PATCH 331/422] edit typo --- tutorials/opf_powermodels.ipynb | 221 +++++++++++++++++++++++++------- 1 file changed, 177 insertions(+), 44 deletions(-) diff --git a/tutorials/opf_powermodels.ipynb b/tutorials/opf_powermodels.ipynb index b6f771275..212973a46 100644 --- a/tutorials/opf_powermodels.ipynb +++ b/tutorials/opf_powermodels.ipynb @@ -39,6 +39,8 @@ "source": [ "import pandapower as pp\n", "import numpy as np\n", + "\n", + "\n", "net = pp.create_empty_network()\n", "\n", "min_vm_pu = 0.95\n", @@ -134,8 +136,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_ahyltgis.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_ahyltgis.json\n" + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_mspxl9bc.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_mspxl9bc.json\n" ] } ], @@ -154,6 +156,8 @@ { "cell_type": "markdown", "source": [ + "Also, there more parameters and options that you can add as input while calling the Optimization Problem from PandaModles:\n", + "\n", "| parameter | description | type | default |\n", "| :--- | :--- | :---: | :--- |\n", "| correct_pm_network_data | checks if network data is correct. If not tries to correct it | bool | True |\n", @@ -164,8 +168,7 @@ "| pm_nl_solver | nonlinear solver| str | \"ipopt\" |\n", "| pm_tol | default desired convergence tolerance for solver to use | float | 1e-8 |\n", "| pm_log_level | solver log level in power models | int | 0 |\n", - "| delete_buffer_file | If True, the .json file used by PandaModels will be deleted after optimization. | bool | True |\n", - "| pdm_dev_mode | If True, the develope mode of PdM is called. | bool | False |\n" + "| delete_buffer_file | If True, the .json file used by PandaModels will be deleted after optimization. | bool | True |\n" ], "metadata": { "collapsed": false, @@ -241,8 +244,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_44aidbml.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_44aidbml.json\n" + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm__ieh6zk7.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm__ieh6zk7.json\n" ] } ], @@ -344,8 +347,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_b_fib894.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_b_fib894.json\n" + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_7uqoikbs.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_7uqoikbs.json\n" ] }, { @@ -428,7 +431,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "840 ms ± 39.9 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n" + "789 ms ± 14.9 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n" ] } ], @@ -438,46 +441,176 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": { - "pycharm": { - "is_executing": true - } - }, + "execution_count": 13, + "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_lnqznrib.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_lnqznrib.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_dinjxg02.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_dinjxg02.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_ol3vpa5_.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_ol3vpa5_.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm__op48suq.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm__op48suq.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_wbww5m8v.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_wbww5m8v.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_bz57k_ow.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_bz57k_ow.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_jon4bi49.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_jon4bi49.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_q7ore7c3.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_q7ore7c3.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_e_429f18.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_e_429f18.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_gu_ux2_5.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_gu_ux2_5.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_2h53ewlp.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_2h53ewlp.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_1q0r95b5.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_1q0r95b5.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_6wuxrffp.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_6wuxrffp.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_umq3ao5v.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_umq3ao5v.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_nhwyfo6u.json\n" + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_i1qzzdg3.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_i1qzzdg3.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_9jvs5y6m.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_9jvs5y6m.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_3jdm4u22.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_3jdm4u22.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_yem88jzc.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_yem88jzc.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_34s98a4z.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_34s98a4z.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_r8x2jd65.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_r8x2jd65.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_3qd7v5sm.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_3qd7v5sm.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_sql1s2qj.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_sql1s2qj.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_f8nu1ez4.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_f8nu1ez4.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_ca10bccn.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_ca10bccn.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_vvy1h5k9.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_vvy1h5k9.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_i7b50_c_.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_i7b50_c_.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_4voyz8q7.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_4voyz8q7.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_5_k8jh58.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_5_k8jh58.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_founcp0s.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_founcp0s.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_k9couzsu.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_k9couzsu.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_l6822hwk.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_l6822hwk.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_23i26sgk.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_23i26sgk.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_n6k0xzu_.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_n6k0xzu_.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_lpbusvws.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_lpbusvws.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_7104360k.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_7104360k.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_cu0ul7gz.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_cu0ul7gz.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_6yqnzmh1.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_6yqnzmh1.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_he94caxw.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_he94caxw.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_trkovn99.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_trkovn99.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_h1fyt4qs.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_h1fyt4qs.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_x3b3te7a.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_x3b3te7a.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_ze1_ye4s.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_ze1_ye4s.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_68gvmzro.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_68gvmzro.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_wl1pkv6w.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_wl1pkv6w.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_snvo9hn6.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_snvo9hn6.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_6xbi5do0.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_6xbi5do0.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_rca89_n6.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_rca89_n6.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_j3dxrdpz.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_j3dxrdpz.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_hk9z_70k.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_hk9z_70k.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_9mj5edn7.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_9mj5edn7.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_srwwl2t0.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_srwwl2t0.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_63abqqxx.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_63abqqxx.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_xr7mxl02.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_xr7mxl02.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_2fgbb8tm.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_2fgbb8tm.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_ng2edpd0.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_ng2edpd0.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_oppldx5j.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_oppldx5j.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_31kt5tdn.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_31kt5tdn.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_9fglwxes.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_9fglwxes.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_4rfj1pnp.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_4rfj1pnp.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_gz_90iry.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_gz_90iry.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_1_aha496.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_1_aha496.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_xbyxh4a6.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_xbyxh4a6.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_a7v4p3ro.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_a7v4p3ro.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm__svxp211.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm__svxp211.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_xdww_vdi.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_xdww_vdi.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_18rgziq7.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_18rgziq7.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_ndm1iig3.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_ndm1iig3.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_7hqyat2v.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_7hqyat2v.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_s_es7sbw.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_s_es7sbw.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_wppbjhfd.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_wppbjhfd.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_4b1sklwv.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_4b1sklwv.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_piagloby.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_piagloby.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_gqp7yib6.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_gqp7yib6.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_fqf2s_fb.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_fqf2s_fb.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_jlg58fl_.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_jlg58fl_.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_v6tvotu_.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_v6tvotu_.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_s0ph_ijp.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_s0ph_ijp.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_ukekobxe.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_ukekobxe.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_9u3jacv8.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_9u3jacv8.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_g6u7ozw0.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_g6u7ozw0.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_3v7dbp1t.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_3v7dbp1t.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_g3fmfzzg.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_g3fmfzzg.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_612guto1.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_612guto1.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_q79z621s.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_q79z621s.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_hlegbbs6.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_hlegbbs6.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_tm0g7u23.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_tm0g7u23.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_7qx1v_5i.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_7qx1v_5i.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_xjpk_ja7.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_xjpk_ja7.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_h7wwrpnw.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_h7wwrpnw.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_q0mzwq8_.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_q0mzwq8_.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_yvd7fcig.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_yvd7fcig.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_kxtuxb_4.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_kxtuxb_4.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_uhtlej3a.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_uhtlej3a.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_q90jc0y0.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_q90jc0y0.json\n", + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_17nvrhyz.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_17nvrhyz.json\n", + "110 ms ± 3.1 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" ] } ], From e25737697c818f4a06cd3075d24b89c67812560c Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Sun, 21 Nov 2021 15:12:07 +0100 Subject: [PATCH 332/422] add tutorail for voltage deviation --- tutorials/vd_pandamodels.ipynb | 531 +++++++++++++++++++++++++++++++++ 1 file changed, 531 insertions(+) create mode 100644 tutorials/vd_pandamodels.ipynb diff --git a/tutorials/vd_pandamodels.ipynb b/tutorials/vd_pandamodels.ipynb new file mode 100644 index 000000000..30a5dcd78 --- /dev/null +++ b/tutorials/vd_pandamodels.ipynb @@ -0,0 +1,531 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Voltage deviation Minimization via PandaModels.jl\n", + "### PandaModels.jl: Interfacing PowerModels with pandapower\n", + "\n", + "This tutorial describes how to run the Optimal Power Flow via [PandaModels.jl](https://e2niee.github.io/PandaModels.jl/dev/).\n", + "Voltage Deviation minimization is an optimization problem which is exclusively defined in [PandaModels.jl](https://e2niee.github.io/PandaModels.jl/dev/) and\n", + "needs the extra user defined parameters from pandapower.\n" + ] + }, + { + "cell_type": "markdown", + "source": [ + "The general mathematical model of VD is defined as follows:\n", + "\n", + "\\begin{align}\n", + "& \\underset{\\mathcal{X} = [q, ...]}{\\text{minimize}}\n", + "& & \\sum_{i\\in \\mathcal{BI}} [v_i - setpoint\\_v]^2 \\\\\n", + "& \\text{subject to}\n", + "& & g(\\mathcal{X})=0 \\\\\n", + "& & & h(\\mathcal{X}) \\leq 0\n", + "\\end{align}\n", + "\n", + "where $v_{i}$ is the voltage variable of bus $i$ in $\\mathcal{BI}$ which denotes the set of buses located at the DSO-TSO interfaces. The $g(\\mathcal{X})$ and $h(\\mathcal{X})$, denote equality and inequality constraints, respectively. The $\\mathcal{X}$ denotes the set of variables decisions, such as reactive power, $q$." + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "markdown", + "source": [ + "### Let's get started\n", + "\n", + "So here is an example of how it works. First, we create cigre grid with pv and wind DERs(distribution energy resource) from pandapower's network database." + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": 51, + "outputs": [], + "source": [ + "import pandapower as pp\n", + "import pandapower.networks as nw\n", + "from copy import deepcopy\n", + "\n", + "\n", + "net = nw.create_cigre_network_mv(with_der=\"pv_wind\")" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "then we need to run powerflow to get the initial values:\n" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%% md\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 52, + "outputs": [], + "source": [ + "net.sgen.p_mw = net.sgen.p_mw * 8\n", + "net.sgen.sn_mva = net.sgen.sn_mva * 8\n", + "pp.runpp(net)" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "Let's have a look at the grid we created with pandapower plotting module:" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": 53, + "outputs": [ + { + "data": { + "text/plain": "
", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAs8AAAIrCAYAAAAQp3QjAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAAnL0lEQVR4nO3dfZTdBX3n8c9k8jSTIBB5CCwNYiOCD6H4gIcWCihWkQcVHChYV2rRVbCoFXZLdY8Llh7RrXgKRwpSRBY8QlIjRrC78hB0LSDlITXKg5yiC1JigATJc2Zy94/bBEjmJr9J5v5+v3vv63VODjj3jufL47xz+cxNX6PRaAQAANimCVUfAAAAnUI8AwBAQeIZAAAKEs8AAFCQeAYAgILEMwAAFCSeAQCgIPEMAAAFiWcAAChIPAMAQEHiGQAAChLPAABQkHgGAICCxDMAABQkngEAoKCJVR8AQPf61389Ns8+e/OYP2/GjHdlzpyb2nARwI7xyjMAbbM94bwjnwfQbl55BqDtDjro9iTJz38+lNe8Zm523fXIJMmyZQs3fWzj4+vXP13RlQDb1tdoNBpVHwFAd1q4sO8l//ugg27fFM4bLVu2MIsWHbXp8Y2/f+SRvjwB9WO2AQAABZltANB225ptvPhxgDoTzwC03cZYfs1r5m6xcX5xTL/mNXM3zTYA6kg8A1CaXXc98iWBvPkGevM9NEDd2DwDAEBB4hmA0rx443zQQbfn5z8fyrJlC1/yOECdmW0A0HYbo3i0jfPmG2iAOvM+zwC0jfd5BrqNeAagbTaP5xf7y79s/vYLXxj9cfEM1JHNMwBtM2PGu1o+dvfdzR9j/TyAKnnlGYBK9PU1X5X2ZQjoJF55BgCAgsQzAAAUJJ4BAKAg8QwAAAWJZwAAKEg8AwBAQeIZgNI0Gsn11ydveMMLH/uv/zV56qnqbgIYC+/zDEApNmxI3v/+ZMGCZOXKJGm+z/PkyY1Mn57ceWey//6VngiwTV55BqAU3/rWi8P5BevWJcuWJUND1dwFMBbiGYBSfPGLW4bzRo1G8uijyaJF5d4EMFbiGYBS/OIXW18JTpiwIYsXl3QMwHaaWPUBAHSv4eHh3HHHHZk7d25Wr74wyctf9Oi7XvLcFSuezxe/+KWsWPE7OfHEE7P77ruXeitAEb5hEIBx9eJg/va3v52lS5f+xyMXJzkzyeQWn7kiye5J1mTChAk56qijMjQ0JKSBWhHPAOyw1sGcvOpVr8rQ0FCOOOL9OeWUA/Pcc33Z/CvP4GBy7rkrs+++N2Tu3Ln5wQ9+kOHh4SQR0kCtiGcAtkuRYD755JMzZ86c9PU135bu5z9PTjopefzxpK8vmTAhGRlJ/vt/b77f8388Lc8++2xuvPFGIQ3UjngGoLDtCebNNRrJvfc2Q/plL0v+6I+arzy3IqSBOhHPAGzVeATzeBHSQNXEMwBbqFMwtyKkgSqIZwCSdEYwtyKkgbKIZ4Ae1snB3IqQBtpJPAP0mG4M5laENDDexDNAD+ilYG5FSAPjQTwDdCnB3JqQBraXeAboIoJ57IQ0MBbiGaBGNmzYkEWLFuWKK67IP/7jP2b58uWZNWtWTj/99Jx11lnZddddt/gcwTx+diSkG41Gbr755lxyySX50Y9+lA0bNuSQQw7Jhz70oZx88skZGBgo+w8HaAPxDFADv/71r/OlL30pV155ZVauXDnqc175ylfm9ttvz6xZswRzCcYS0o1GI5/+9Kdz8cUXt/z/e+tb35q/+Iu/yLHHHlvWHwLQBuIZoGIPPfRQjjzyyCxZsmSLxyZOnJjzzjsvCxYsyAMPPJADDzwwhx9+eObPny+YS7StkN53331z1VVXZfLkyTnvvPMyb968/OxnPxv1/+vzn/98PvvZz5Z5PjCOxDNAhRqNRg466KD89Kc/zX777ZfHHnssRx11VK6++upceOGFueKKKzJ16tTcd999eeMb35jVq1dv+lzBXI1WIZ0kl156ae66665ce+21mT17dr761a9m2bJlOeWUU7Lrrrtm+fLlaTQaWbhwYY444ogK/yiA7SWeASp0++23561vfWtmzpyZAw44IAsXLswNN9yQoaGhNBqNHHfccbn55ptzwQUX5M4778z3v//9HH744bnkkksEcw08++yzue6663L22Wenv78/Dz/8cA488MCMjIzk4YcfzuzZszMyMpJ99tknTz31VD7ykY/kiiuuyEknnZR58+ZVfT6wHSZUfQBAL1u4cGGS5LTTTsvIyEiSZMaMGUmSvr6+fPjDH970vEMOOSRJcvjhh+eggw4SzjUwY8aMDA0NJUl23nnnLFq0KOvXr8+RRx6Z2bNnJ0n6+/uzyy67JEne/e53J3nhrzvQecQzQEWGh4fz6KOPJklWrlyZ173udUmSG2+8cdNzNr5Dw/r16/Od73wnSTY9j3rYfffds8cee+TZZ5/dtHMeHBzc9PiDDz6Yhx56KIODg/nd3/3dJM2/3i/erAOdQzwDlGh4eDi33nprPvrRj2bvvffON7/5zSTJ9ddfv+lV5ssuuyzXX399Go1Grr/++iTJ6tWrs2jRouy+++458cQTK7ufLfX39+eMM85IknzjG99Iktxyyy155pln8sQTT+SDH/xgkuT9739/rrnmmiTJmjVrMnPmzBx99NG5/PLLhTR0EJtngDbb2tvKzZ49O0899VRWrFiRM844IwMDA7nkkkuSJHvssUd+85vfbHruhAkTMm/evLz3ve8t/Y+BrXvuuedy2GGHZfHixZs+tssuu2TFihUZHh7OK17xilxwwQU566yz8vzzz+fggw/OT3/6U78gC3Qg8QzQBtt6H+aTTz45Q0NDmTNnTm677bYce+yxWbt2bQYGBrLHHnvk8ccfz4YNGzZ9zpw5c3LRRRflne98ZxV/OBTwzDPP5FOf+lS+9a1vZf369Zs+vuuuu2batGl54oknkiSnnnpqrr322ixfvtyvbAgdSDwDjJOxBPPm3+x311135TOf+Uxuu+22TR+bNWtWTjzxxHzgAx/IwQcf7BsEO8TSpUvz3e9+N1dffXXuvPPOTd8Iuvfee+fP//zPc+6556a/v/8ln+OXCIfOIZ4BdsCOBPNofvWrX+Xxxx/PLrvskte+9rWCucMtXbo0jzzySAYGBvL6178+kyZN2ubnCGmoN/EMMEbjHczQipCG+hHPAAUIZqompKEexDNAC4KZulq2bFluvPHG3HDDDUIaSiaeAV5EMNNphDSUSzwDPW9rwbz//vtnaGhIMNMRhDS0n3gGepJgptsJaWgP8Qz0DMFMrxLSMH7EM9Bxli9PVqxI9tgjmTx5688VzPBSG0N647t2bPzVELcnpJcuTdatS2bOTDb7dV+ga4lnoGPcfXfy6U8nP/lJMmlSMmFC8uEPJ5//fDJt2gvPE8xQzPaG9Pe+l/zlXya/+EUzmqdNS845p/lDRNPtxDPQEW67LTn++GTVqpd+fMqU5NWvTv7v/x3OT34imGF7FQ3p73xn93zyk1v+szg4mLz97cn8+Yl/xOhm4hmovQ0bkt/5neTJJ0d/vL9/baZO/XxWrrxw08cEM2y/ViHd17dL+vr+PRs2TB3186ZNS+bNS975zjKvhXKJZ6D2fvjD5Ljjkuef39qz/i3773+MYIZx9uKQ/t//+3cyMvI/k0xv+fxjjkluvrm8+6Bs4hmovWuvTT72seY3CbYyZcqGrF7dJ5ihjc45Z3X+9m8HtvqcAw5IHnywpIOgAhOqPgBgW/baa9sbyt13nyCcoc1e+cqBDA5u/Tn/6T+VcwtURTwDtXfkkcnU0SeWSZqPffzjpZ0DPeuUU5rfg9DK9OnJ2WeXdw9UQTwDtdffn1x5ZTIwyn8tnjw52Wef5Mwzy78Les3LX55ccEFGffV5YCB585uTY48t/y4ok3gGOsIJJyQ33pi89rXNL9JTpqzJ1KnNV8J+8pNkp52qvhB6w7nnJpdd1vxJ6+BgMnny2kyfnpx1VvL973ufZ7qfbxgEOs6vfpVcdNFlueiij4lmqEijkTz6aHLxxV/Nl7985lanVdBNvPIMdJx990323PM3whkq1NeXvOpVyZ57LhXO9BTxDAAABYlnAAAoSDwDAEBB4hkAAAoSzwAAUJB4BgCAgsQzAAAUJJ4BAKAg8QwAAAWJZwAAKEg8AwBAQeIZAAAKEs8AAFCQeAYAgILEMwAAFCSeAQCgIPEMAAAFiWcAAChIPAMAQEHiGQAAChLPAABQkHgGAICCxDMAABQkngEAoCDxDAAABYlnAAAoSDwDAEBB4hkAAAoSzwAAUJB4BgCAgsQzAAAUJJ4BAKAg8QwAAAWJZwAAKEg8AwBAQeIZAAAKEs8AAFCQeAYAgILEMwAAFCSeAQCgIPEMAAAFiWcAAChIPAMAQEHiGQAAChLPAABQkHgGAICCxDMAABQkngEAoCDxDAAABYlnAAAoSDwDAEBB4hkAAAoSzwAAUJB4BgCAgsQzAAAUJJ4BAKAg8QwAAAWJZwAAKEg8AwBAQeIZAAAKEs8AAFCQeAYAgILEMwAAFCSeAQCgIPEMdJTHH0++8pVk4cI/zLx5ybp1VV8EQC+ZWPUBAEWMjCQf+1hyzTXN/7127ZG5995k4sRk/vzkiCOqvQ+A3uCVZ6AjnHtuct11ydq1zR9JX55/Plm2LDn22OThh6u+EIBeIJ6B2lu+PLnssmTVqtEfX7Mm+cIXSj0JgB4lnoHau/XWZPLk1o+PjDSnGwDQbuIZqL21a5NGY+vPWb++nFsA6G3iGai9N785GR7e+nPe8IZybgGgt4lnoPZe9arkTW9qvrPGaKZNS/7qr8q9CYDeJJ6BjjB3brLPPs1Q3mjChGRwMPnEJ5JjjqnuNgB6h3gGOsKeeyY/+1ly8cXNV6FnzHgmJ52U3HZbcuGFVV8HQK8Qz0DHGBxMPvzh5J57krPPvjQ33JC85S1VXwVALxHPAABQkHgGAICCxDMAABQkngEAoCDxDAAABYlnAAAoSDwDAEBB4hkAAAoSzwAAUJB4BgCAgsQzAAAUJJ4BAKAg8QwAAAWJZwAAKEg8AwBAQeIZAAAKEs8AAFCQeAYAgILEMwAAFCSeAQCgIPEMAAAFiWcAAChIPAMAQEHiGQAAChLPAABQkHgGAICCxDMAABQkngEAoCDxDAAABYlnAAAoSDwDAEBB4hkAAAoSzwAAUJB4BgCAgsQzAAAUJJ4BAKAg8QwAAAWJZwAAKEg8AwBAQeIZAAAKEs8AAFCQeAYAgILEMwAAFCSeAQCgIPEMAAAFiWcAAChIPAMAQEHiGQAAChLPAABQkHgGAICCxDMAABQkngEAoCDxDAAABYlnAAAoSDwDAEBB4hkAAAoSzwAAUJB4BgCAgsQzAAAUJJ4BAKAg8QwAAAWJZwAAKEg8AwBAQeIZAAAKEs8AAFCQeAY6xtNPJxdckLziFclFF52bww9PFixIGo2qL4Pe8qtfJWefney9d/LFL56T449Pfvzjqq+CcvQ1Gr7sAPX32GPJW96SPP98smbNCx+fNi354z9Ovva1pK+vuvugV9x1V/L2tydr1ybr1zc/1teXDAw0f3L76U9Xex+0m3gGOsIb35g88ECyYcOWj02bllx9dfK+95V9FfSW9euTvfZKnnlm9McHBpI770wOOqjcu6BMZhtA7S1enDz00OjhnCQrVyZf+EK5N0EvWrAgWbeu9ePr1iUXX1zePVAF8QzU3qJFSX//1p/z4IPl3AK97P77m9OpVkZGknvuKe8eqIJ4Bmpv+vRt75mnTi3nFuhlO+2UTJq09edMn17OLVAV8QzU3tFHJ8PDrR+fNCk59dTy7oFedeKJW/+vQNOmJX/6p+XdA1UQz0DtTZuW/Lf/lkydOjLKo40MDDRy7rmlnwU9Z/bs5IQTmt8YuLn+/mTXXZM/+ZPy74IyiWegI3zkI0vyB39wd6ZObWT69OYX7+nTG5kxY0Uuv/zh7Ltv1RdCb/hf/ys5+eRkypTmT2wnTlyXwcHmO2zceafZBt1PPAO1t3bt2sybNzdf/vL0PPVUXy6/PPnyl5Obb+7L4sUr8/jjC/Lb3/626jOhJ0ye3HxryMceSy69NHnnO/9Pfvzj5N57k332qfo6aD/v8wzUWqPRyPz58zNx4sSccMIJoz7njjvuyBNPPJHTTjstfX6lFCjV+eefn8997nNVnwGl8cozUGv3339/lixZkmOOOablcw477LCsWLEiDzzwQHmHAdCTxDNQW0uWLMmtt96aoaGhTNrK+2P19/fn3e9+d2655RbzDQDaSjwDtbR27drMnTs373jHO7Lbbrtt8/kzZ87MIYcckgULFsQaDYB2Ec9A7TQajdx0002ZNWtW5syZU/jzzDcAaDfxDNROkZ3zaMw3AGg38QzUStGdcyvmGwC0k3gGamOsO+dWzDcAaBfxDNTC9u6cR2O+AUC7iGegFrZ359yK+QYA7SCegcrt6M65FfMNAMabeAYqNV4759GYbwAw3sQzUJnx3Dm3Yr4BwHgSz0Blxnvn3Ir5BgDjRTwDlWjXznk05hsAjBfxDJSunTvnVsw3ABgP4hkoVRk751bMNwDYUeIZKFVZO+fRmG8AsKPEM1CaMnfOrZhvALAjxDNQiip2zq2YbwCwvcQz0HZV7pxHY74BwPYSz0DbVblzbsV8A4DtIZ6BtqrDzrkV8w0Axko8A21Tp53zaMw3ABgr8Qy0Rd12zq2YbwAwFuIZaIs67pxbMd8AoCjxDIy7Ou+cR2O+AUBR4hkYV3XfObdivgFAEeIZGDedsnNuxXwDgG0Rz8C46aSd82jMNwDYFvEMjItO2zm3Yr4BwNaIZ2CHderOuRXzDQBaEc/ADun0nfNozDcAaEU8Azuk03fOrZhvADAa8Qxst27ZObdivgHA5sQzsF26bec8GvMNADYnnoEx68adcyvmGwC8mHgGxqxbd86tmG8AsJF4Bsak23fOozHfAGAj8QwU1gs751bMNwBIxDNQUC/tnFsx3wBAPAOF9NrOeTTmGwCIZ2CbenHn3Ir5BkBvE8/AVvXyzrkV8w2A3iWegZbsnEdnvgHQu8Qz0JKdc2vmGwC9STwDo7Jz3jbzDYDeI56BLdg5F2O+AdB7xDPwEnbOY2O+AdBbxDPwEnbOY2e+AdA7xDOwiZ3z9jHfAOgd4hlIYue8o8w3AHqDeAbsnMeJ+QZA9xPPgJ3zODHfAOh+4hl6nJ3z+DLfAOhu4hl6mJ1ze5hvAHQv8Qw9ys65fcw3ALqXeIYeZefcXuYbAN1JPEMPsnMuh/kGQPcRz9Bj7JzLY74B0H3EM/QQO+fymW8AdBfxDD3Ezrka5hsA3UM8Q4+wc66O+QZA9xDP0APsnKtnvgHQHcQzdDk75/ow3wDofOIZusyjjya33JL89KdJo2HnXCfmGwCdTzxDl1i8OHnTm5I5c5L3vS859NDkla8czuWXP2LnXCPmGwCdTTxDF/jFL5I/+IPkvvuS1auT555LVq5MfvnLibnmmpOzeLGdc52YbwB0LvEMXeC885IVK5ozjc2tWTMhZ51V/k20Zr4B0LnEM3S4deuSBQuSDRtaP+eXv2y+Ok19mG8AdCbxDB1uxYptP2fSpOTpp9t/C2NjvgHQecQzdLidd06mTNn6c9auTfbbr5x7KM58A6DziGfocP39yRlnJFOmjP6f/idMaOSww5KZM0s+jELMNwA6i3iGLvA//key555rM3Hi8Es+3t+/IdOnr8/XvlbNXRRjvgHQOcQzdIHVq5fkjDMuz1lnrcsuuyQTJiQDA8npp4/kk5+8OuvWPVL1iWyF+QZA5xDP0OHWrl2buXPn5t3vPipf+cpgli1rvtfzypXJlVdOyp/92Tvz3e9+N88991zVp7IV5hsAnUE8QwdrNBq56aabMmvWrMyZM2fTxydPTvr6mr8/a9asHHrooZk3b15GRkYqupQizDcA6k88Qwe7//77s2TJkhxzzDFbfd7v//7vZ2BgILfddltJl7E9zDcA6k88Q4dasmRJbr311gwNDWXSpElbfW5fX1/e8573ZPHixXnkEfvnOjPfAKg38QwdaOPO+R3veEd22223Qp8zODiYk046yf65A5hvANSXeIYO02rnXIT9c2cw3wCoL/EMHabozrkV++fOYL4BUE/iGTrIWHbOrdg/dw7zDYD6Ec/QIbZn59yK/XNnMN8AqB/xDB1gR3bOrdg/dwbzDYB6Ec/QAXZ059yK/XNnMN8AqA/xDDU3HjvnVuyfO4P5BkB9iGeosfHcObdi/9wZzDcA6kE8Q021Y+fciv1zZzDfAKieeIaaatfOuRX75/oz3wConniGGmrnzrkV++fOYL4BUC3xDDVTxs65FfvnzmC+AVAd8Qw1UubOuRX75/oz3wCojniGGil759yK/XP9mW8AVEM8Q01UsXNuxf65M5hvAJRPPEMNVLlzbsX+uf7MNwDKJ56hYnXYObdi/1x/5hsA5RLPULG67JxbsX+uP/MNgPKIZ6hQnXbOrdg/15/5BkB5xDNUpI4751bsn+vPfAOgHOIZKlDnnXMr9s/1Z74B0H7iGSpQ951zK/bP9Wa+AdB+4hlK1gk751bsn+vPfAOgvcQzlKiTds6t2D/Xn/kGQPuIZyhJJ+6cW7F/rjfzDYD2Ec9Qkk7dObdi/1xv5hsA7SGeoQSdvHNuxf65/sw3AMafeIY264adcyv2z/VmvgEw/sQztFE37ZxbsX+uN/MNgPElnqGNum3n3Ir9c72ZbwCMH/EMbdKNO+dW7J/rzXwDYPyIZ2iDbt45t2L/XG/mGwDjQzzDOOuFnXMr9s/1Zr4BsOPEM4yzXtk5t2L/XF/mGwA7TjzDOOqlnXMr9s/1Zr4BsGPEM4yTXtw5t2L/XG/mGwDbTzzDOOjlnXMr9s/1Zb4BsP3EM4yDXt85t2L/XF/mGwDbRzzDDrJzbs3+ud7MNwDGTjzDDrBz3jb75/oy3wAYO/EM28nOuTj75/oy3wAYG/EM28nOeWzsn+vLfAOgOPEM28HOeezsn+vLfAOgOPEMY2TnvP3sn+vLfAOgGPEMY2DnvOPsn+vLfANg28QzjIGd8/iwf64n8w2AbRPPUJCd8/ixf64v8w2ArRPPUICd8/izf64v8w2A1sQzbIOdc/vYP9eT+QZAa+IZtsHOub3sn+vJfANgdOIZtsLOuf3sn+vLfANgS+IZWrBzLo/9cz2ZbwBsSTzDKOycy2f/XE/mGwAvJZ5hFHbO1bB/rifzDYAXiGfYjJ1zdeyf68l8A+AF4hlexM65evbP9WS+AdAknuE/2DnXh/1zPZlvAIhn2MTOuV7sn+vHfANAPEMSO+c6sn+uJ/MNoNeJZ3qenXN92T/Xk/kG0MvEMz3Nzrn+7J/rx3wD6GXimZ7x3HPJ3/1d8p73JH/8x8n8+ck999g5d4KN++dbb70tCxcmf/qnyQknJBdckPz7v1d9XW8y3wB61cSqD4AyLFyYHH98smFDsmpV82Pf+96GTJ26XxYu3NfOueb6+vry9re/J295y7NZsmRDVq+ekEYj+cEPki98IbnssuSDH6z6yt5z2GGH5corr8wDDzyQgw8+uOpzAErhlWe63q9/nRx3XLJixQvhnCQrV07I8uU757TTXh4vnNXfWWcN5skn986qVRM2/fVasyZZvTo588zk7rurva8XmW8AvUg80/W++tVkeHj0x0ZGJuTf/i35538u9ybG5sknkwULkrVrR/9X1urVyV//dclHkcR8A+g94pmu14yu1o+vWpXcckt59zB2P/pRsrVlTaPRnOZQDe++AfQS8UzP6+tr/qCz+WtYHfMNoJeIZ7re8ccnU6a0fnxgIDn66PLuYez+8A+T9etbP97Xlxx1VHn3sCXzDaBXiGe63llnJRNbvK/MxInJ7NnJoYeWexNjs9dezbemmzp19McHBpLPfKbcm9iS+QbQC8QzXW/vvZObbkp22imZNu2Fj++0U7Lffsk//ZP/5N8Jvv715M1vTqZPf+Gv19SpzXD++79PDjmk2vsw3wB6g3imJxxxRPLEE8lFFzV/kZTXve5fc+21yYMPJjNnVn0dRQwOJnfckdx8c/MXSXn1qx/KZz6TPPZY8oEPVH0dG5lvAN1OPNMzXvay5oRj/vzkfe+bnxNOSPr7q76KsejrSw4/PPmHf0hOPfX6fPazyZ57Vn0VmzPfALqZeAZgXJlvAN1MPAMw7sw3gG4lngFoC/MNoBuJZwDawnwD6EbiGYC2Md8Auo14BqCtzDeAbiKeAWgr8w2gm4hnANrOfAPoFuIZgFKYbwDdQDwDUArzDaAbiGcASmO+AXQ68QxAqcw3gE4mngEolfkG0MnEMwClM98AOpV4BqAS5htAJxLPAFTCfAPoROIZgMqYbwCdRjwDUCnzDaCTiGcAKmW+AXQS8QxA5cw3gE4hngGoBfMNoBOIZwBqwXwD6ATiGYDaMN8A6k48A1Ar5htAnYlnAGrFfAOoM/EMQO2YbwB1JZ4BqCXzDaCOxDMAtWS+AdSReAagtsw3gLoRzwDUmvkGUCfiGYBaM98A6kQ8A1B75htAXYhnADqC+QZQB+IZgI5gvgHUgXgGoGOYbwBVE88AdBTzDaBK4hmAjmK+AVRJPAPQccw3gKqIZwA6kvkGUAXxDEBHMt8AqiCeAehY5htA2cQzAB3NfAMok3gGoKOZbwBlEs8AdDzzDaAs4hmArmC+AZRBPAPQFcw3gDKIZwC6hvkG0G7iGYCuYr4BtJN4BqCrmG8A7SSeAeg65htAu4hnALqS+QbQDuIZgK5kvgG0g3gGoGuZbwDjTTwD0NXMN4DxJJ4B6GrmG8B4Es8AdD3zDWC8iGcAeoL5BjAexDMAPcF8AxgP4hmAnmG+Aewo8QxATzHfAHaEeAagp5hvADtCPAPQc8w3gO0lngHoSeYbwPYQzwD0JPMNYHuIZ6DjbNiQDA/3V31Gx1i/PhkZqfqKetp8vtFoJGvWJJYcxYyMJMPDUoLe4u94oGM8+GDyvvclU6YkF174V5k5M/niF5N166q+rH4ajeS665IDDkimTk0mT04OOyxZuLDqy+rnsMMOy1NPrc/73780L3tZMn1688fHP5785jdVX1dPP/5xctRRzb+vLrzwM5k9O/n61/2kg97Q1/CdEvSg888/P5/73OeqPoMx+MlPkre9LVm1qvnK80YDA8mb3pTcemsyaVJ199XNJz6R/MM/JCtXvvTjAwPJ3/998p//czV31dHSpcnv/d5IlixpZGRk4qaPT5qUvPzlyX33JXvtVeGBNTNvXvPvn9WrX/rxwcHk1FOTr30t6eur5jYog1eegdprNJJTTklWrHhpOCfNL+D33ptcdVU1t9XRPfckV165ZTgnzT9fH/1o8txz5d9VV+eemyxd2v+ScE6ac5enn07OPruiw2po5crk9NO3DOek+RPbb30r+eEPSz8LSiWegdq7++5mxLSyalXy5S+Xd0/d/d3fNXe7rfT1Jd/8Znn31Nnq1ckNNzRDeTTDw8n3vucnGxvNm7f1V5VXrUouvri8e6AK4hmovUcf3fZznnii/Xd0ip//fMtX6F9s1arkoYfKu6fOlixJJmzjK+GkScmTT5ZzT9394hfN/wLUSqORPPJIefdAFSZu+ykA1dptt20HzoQJz+f88738nCS//e1pSV7V8vH+/uEsXrww55//4/KOqqk1a6ZkzZpzsrUvh6tWDeeqq76S6dNH2cH0mHvvfUsmTnxbhodbf4PB7ruXeBBUQDwDtfe2t209nqdMST71qZ18E+h/eMMbktNOa/0K4aRJE3PVVUdn332PLvewmrrnnuY3nLZyyCET86UvnVPeQTX21FPJfvs15yyjmT49OfPMcm+CspltALU3aVJzxzs4uOVj/f3JjBnNd5eg6V3vSubMab5F3eYGB5Mzzkj23bf8u+rq4oub0TeawcHm33s0zZyZfPKTo/+zOGVKsv/+yYknln4WlEo8Ax3hAx9ovvXaXns1Q2fnnZtfrN/61uRf/qX5lmI09fcnP/hB823Dpk5t/rl62cuSnXZKzjtPDG7u9a9P7rij+ROOgYHmn69Jk9blta9tviL9pjdVfWG9/M3fJOef3/zztNNOzd9OnZoMDTX/PHrLSLqd93mmJ3mf5861YUNy//3Jb3+bvPrVyd57V31RvS1fnixa1AyaN76x+RMOWnvkkeY3n37725fm0ks/XvU5tbZuXfNtIteubf7EY8aMqi+Cctg8Ax1lwoRmBFLMLrskRxxR9RWdY//9mz9+9KNnqj6l9iZPTg49tOoroHxmGwAAUJB4BgCAgsQzAAAUJJ4BAKAg8QwAAAWJZwAAKEg8AwBAQeIZAAAKEs8AAFCQeAYAgILEMwAAFCSeAQCgIPEMAAAFiWcAAChIPAMAQEHiGQAAChLPAABQkHgGAICCxDMAABQkngEAoCDxDAAABYlnAAAoSDwDAEBB4hkAAAoSzwAAUJB4BgCAgsQzAAAUJJ4BAKAg8QwAAAWJZwAAKEg8AwBAQeIZAAAKEs8AAFCQeAYAgILEMwAAFCSeAQCgIPEMAAAFiWcAAChIPAMAQEHiGQAAChLPAABQkHgGAICCxDMAABQkngEAoCDxDAAABYlnAAAoSDwDAEBB4hkAAAoSzwAAUJB4BgCAgsQzAAAUJJ4BAKAg8QwAAAWJZwAAKEg8AwBAQeIZAAAKEs8AAFCQeAYAgILEMwAAFCSeAQCgIPEMAAAFiWcAAChIPAMAQEHiGQAACppY9QFQpvvvT+66K7nvvt/Lk08me+9d9UVAXaxbl/zTPyWPP548+OABWbs2mTKl6quAuulrNBqNqo+Adnv88eSEE5JHHkkajWR4eG36+6dkaCj52td8gYReN39+8qEPJSMjyfr1yYYNazNlypRcfnly6qlVXwfUiXim661YkRxwQPLUU80vjC82MJAcd1xyww3V3AZU77bbmv8eWL16y8cGBpK5c5Njjy3/LqCebJ7petdckyxfvmU4J80vlgsWJI8+WvpZQE2cc87o4Zw0P37OOeXeA9SbeKbrff3rycqVrR8fGUm+/e3y7gHq4+mnk5/9bOvP+eUvk//3/0o5B+gAvmGQrre1cE6S9esbuemmH2b16oWl3APUx/LlO6fRODPJ5JbPmTQpWbWqvJuAerN5puudfnpy7bWjzzaSZKedkm98I3nve0s9C6iBdeuS3XZLnn++9XMGB5OlS5u/BTDboOt96lPJ5NYvKmXKlOT448u7B6iPyZOT//JfkqlTR398ypTkgx8UzsALxDNd76CDkr/+6+YXv76+Fz4+eXIyfXryve8lEw2YoGd9/vPNf09Mm/bSjw8OJgcemHzpS9XcBdST2QY94847k4suSv75n5vhPDTUfFV61qyqLwOqtm5dct11yVe+kjz5ZDJzZvKJTyR/8ietX5UGepN4BgCAgsw2AACgIPEMAAAFiWcAAChIPAMAQEHiGQAAChLPAABQkHgGAICCxDMAABQkngEAoCDxDAAABYlnAAAoSDwDAEBB4hkAAAoSzwAAUJB4BgCAgsQzAAAU9P8BPKOTij1y4DkAAAAASUVORK5CYII=\n" + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": "" + }, + "execution_count": 53, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import pandapower.plotting as plot\n", + "%matplotlib inline\n", + "plot.simple_plot(net)" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "let's keep a copy of the net for further comparision:" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%% md\n" + } + } + }, + { + "cell_type": "code", + "source": [ + "net_org = deepcopy(net)" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + }, + "execution_count": 54, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "Although VD is not a function of PowerModels and is exclusively modeled in Pandamodels, PandaModels similar to PowerModels follows the data structures from [InfrastructureModels.jl](https://github.com/lanl-ansi/InfrastructureModels.jl).\n", + " In this data structure DERs are not defined separately unlike pandapower,\n", + " then the uncontrollable load and sgens are converted to load and controllable elements are converted to the generator.\n", + "\n", + "Accordingly, we need to set loads as uncontrollable elements and set DERs (sgens) as controllable elements." + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%% md\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 55, + "outputs": [], + "source": [ + "net.load['controllable'] = False\n", + "net.sgen['controllable'] = True" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "now, lets set the optimization boundaries:" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%% md\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 56, + "outputs": [], + "source": [ + "# lower and upper bounds for buses\n", + "net.bus[\"max_vm_pu\"] = 1.1\n", + "net.bus[\"min_vm_pu\"] = 0.9\n", + "\n", + "# lower and upper bounds for external grid\n", + "net.ext_grid[\"max_q_mvar\"] = 10000.0\n", + "net.ext_grid[\"min_q_mvar\"] = -10000.0\n", + "net.ext_grid[\"max_p_mw\"] = 10000.0\n", + "net.ext_grid[\"min_p_mw\"] = -10000.0" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "in VD we need to keep the active power value for DER and generators constant to the calculated value from power flow.\n" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%% md\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 57, + "outputs": [], + "source": [ + "# lower and upper bounds for DERs\n", + "net.sgen[\"max_p_mw\"] = net.sgen.p_mw.values\n", + "net.sgen[\"min_p_mw\"] = net.sgen.p_mw.values\n", + "net.sgen[\"max_q_mvar\"] = net.sgen.p_mw.values * 0.328\n", + "net.sgen[\"min_q_mvar\"] = -net.sgen.p_mw.values * 0.328\n", + "\n", + "# lower and upper bounds for generators\n", + "net.gen[\"max_p_mw\"] = net.gen.p_mw.values\n", + "net.gen[\"min_p_mw\"] = net.gen.p_mw.values\n", + "net.gen[\"max_q_mvar\"] = 10000.0\n", + "net.gen[\"min_q_mvar\"] = -10000.0" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "Let's set a high upper bound for line and transformers to avoid congestion issue:" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%% md\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 58, + "outputs": [], + "source": [ + "# lower and upper bounds for lines\n", + "net.trafo[\"max_loading_percent\"] = 500.0\n", + "net.line[\"max_loading_percent\"] = 500.0" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "I also we could set costs for sgens, gens and external grids in order to not get warnings during data correctness in julia side." + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%% md\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 59, + "outputs": [], + "source": [ + "for idx in net.sgen.index:\n", + " pp.create_poly_cost(net, idx, \"sgen\", 1.0)\n", + "for idx in net.gen.index:\n", + " pp.create_poly_cost(net, idx, \"gen\", 1.0)\n", + "for idx in net.ext_grid.index:\n", + " pp.create_poly_cost(net, idx, \"ext_grid\", 1.0)" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "Finally, lets add our user defined parameter \"setpoint_v\". at first we need to add extra column called \"pm_param/setpoint_v\" in bus data,\n", + "then we set values for buses contain DERs(sgens):" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%% md\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 60, + "outputs": [], + "source": [ + "net.bus[\"pm_param/setpoint_v\"] = None\n", + "net.bus[\"pm_param/setpoint_v\"].loc[net.sgen.bus] = 0.99" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now lets run an VD through PandaModels and look at the results (Note that the first time the function is called, Julia is started in the background, which may take some time):" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_r2m2vooy.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_r2m2vooy.json\n" + ] + } + ], + "source": [ + "pp.runpm_vd(net)" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "Also, there more parameters and options that you can add as input while calling the Optimization Problem from PandaModles:\n", + "\n", + "| parameter | description | type | default |\n", + "| :--- | :--- | :---: | :--- |\n", + "| correct_pm_network_data | checks if network data is correct. If not tries to correct it | bool | True |\n", + "| silence | Suppresses information and warning messages output by PowerModels | bool | True |\n", + "| pm_model | PowerModels.jl model to use | str | \"ACPPowerModel\" |\n", + "| pm_solver | \"main\" solver| str | \"ipopt\" |\n", + "| pm_mip_solver | mixed integer solver| str | \"cbc\" |\n", + "| pm_nl_solver | nonlinear solver| str | \"ipopt\" |\n", + "| pm_tol | default desired convergence tolerance for solver to use | float | 1e-8 |\n", + "| pm_log_level | solver log level in power models | int | 0 |\n", + "| delete_buffer_file | If True, the .json file used by PandaModels will be deleted after optimization. | bool | True |\n", + "\n" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%% md\n" + } + } + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "lets check the result values for voltage and reactive power at buses contains DERs before and after VD:" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "outputs": [ + { + "data": { + "text/plain": "3 1.039473\n4 1.038293\n5 1.037487\n6 1.036603\n8 1.053060\n9 1.052446\n10 1.051725\n11 1.051589\n7 1.075642\nName: vm_pu, dtype: float64" + }, + "execution_count": 62, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# results from power flow\n", + "net_org.res_bus.vm_pu[net_org.sgen.bus]" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": "3 0.984793\n4 0.983774\n5 0.983079\n6 0.982361\n8 0.992054\n9 0.991521\n10 0.990934\n11 0.990804\n7 1.006539\nName: vm_pu, dtype: float64" + }, + "execution_count": 63, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# results from VD\n", + "net.res_bus.vm_pu[net.sgen.bus]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "as exected the results are close to the defined setpoints, and as we set the active power constants we expect to get different results from power flow for reactive power:\n" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "outputs": [ + { + "data": { + "text/plain": "0 0.0\n1 0.0\n2 0.0\n3 0.0\n4 0.0\n5 0.0\n6 0.0\n7 0.0\n8 0.0\nName: q_mvar, dtype: float64" + }, + "execution_count": 64, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# results from power flow\n", + "net_org.res_sgen.q_mvar" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "data": { + "text/plain": "0 0.052467\n1 0.052470\n2 0.078711\n3 0.078712\n4 0.078694\n5 0.078693\n6 0.104932\n7 0.026212\n8 -3.135065\nName: q_mvar, dtype: float64" + }, + "execution_count": 65, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# results from VD\n", + "net.res_sgen.q_mvar\n", + "\n" + ] + } + ], + "metadata": { + "anaconda-cloud": {}, + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.5" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} \ No newline at end of file From 7151db063a018e7a1310a33daa7c3003c3c636bf Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Sun, 21 Nov 2021 15:19:59 +0100 Subject: [PATCH 333/422] edit --- tutorials/vd_pandamodels.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/vd_pandamodels.ipynb b/tutorials/vd_pandamodels.ipynb index 30a5dcd78..c1fd2b917 100644 --- a/tutorials/vd_pandamodels.ipynb +++ b/tutorials/vd_pandamodels.ipynb @@ -7,7 +7,7 @@ "# Voltage deviation Minimization via PandaModels.jl\n", "### PandaModels.jl: Interfacing PowerModels with pandapower\n", "\n", - "This tutorial describes how to run the Optimal Power Flow via [PandaModels.jl](https://e2niee.github.io/PandaModels.jl/dev/).\n", + "This tutorial describes how to run the Voltage Deviation minimization via [PandaModels.jl](https://e2niee.github.io/PandaModels.jl/dev/).\n", "Voltage Deviation minimization is an optimization problem which is exclusively defined in [PandaModels.jl](https://e2niee.github.io/PandaModels.jl/dev/) and\n", "needs the extra user defined parameters from pandapower.\n" ] From 39a09592283e7a744a5b3fd33dbec5caf06ca092 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Sun, 21 Nov 2021 15:42:20 +0100 Subject: [PATCH 334/422] delete file --- tutorials/workshop2021-toymodel-ACOPF.ipynb | 109 -------------------- 1 file changed, 109 deletions(-) delete mode 100644 tutorials/workshop2021-toymodel-ACOPF.ipynb diff --git a/tutorials/workshop2021-toymodel-ACOPF.ipynb b/tutorials/workshop2021-toymodel-ACOPF.ipynb deleted file mode 100644 index 2e4406d08..000000000 --- a/tutorials/workshop2021-toymodel-ACOPF.ipynb +++ /dev/null @@ -1,109 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "collapsed": true - }, - "source": [ - "# Workshop 2021\n", - "## Example 1: ACOPF" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "import pandapower as pp\n", - "import numpy as np\n", - "net = pp.create_empty_network()\n", - "\n", - "min_vm_pu = 0.95\n", - "max_vm_pu = 1.05\n", - "\n", - "#create buses\n", - "bus1 = pp.create_bus(net, vn_kv=220., geodata=(5,9), min_vm_pu=min_vm_pu, max_vm_pu=max_vm_pu)\n", - "bus2 = pp.create_bus(net, vn_kv=110., geodata=(6,10), min_vm_pu=min_vm_pu, max_vm_pu=max_vm_pu)\n", - "bus3 = pp.create_bus(net, vn_kv=110., geodata=(10,9), min_vm_pu=min_vm_pu, max_vm_pu=max_vm_pu)\n", - "bus4 = pp.create_bus(net, vn_kv=110., geodata=(8,8), min_vm_pu=min_vm_pu, max_vm_pu=max_vm_pu)\n", - "bus5 = pp.create_bus(net, vn_kv=110., geodata=(6,8), min_vm_pu=min_vm_pu, max_vm_pu=max_vm_pu)\n", - "\n", - "#create 220/110/110 kV 3W-transformer\n", - "pp.create_transformer3w_from_parameters(net, bus1, bus2, bus5, vn_hv_kv=220, vn_mv_kv=110,\n", - " vn_lv_kv=110, vk_hv_percent=10., vk_mv_percent=10.,\n", - " vk_lv_percent=10., vkr_hv_percent=0.5,\n", - " vkr_mv_percent=0.5, vkr_lv_percent=0.5, pfe_kw=10,\n", - " i0_percent=0.1, shift_mv_degree=0, shift_lv_degree=0,\n", - " sn_hv_mva=100, sn_mv_mva=50, sn_lv_mva=50)\n", - "\n", - "#create 110 kV lines\n", - "l1 = pp.create_line(net, bus2, bus3, length_km=70., std_type='149-AL1/24-ST1A 110.0')\n", - "l2 = pp.create_line(net, bus3, bus4, length_km=50., std_type='149-AL1/24-ST1A 110.0')\n", - "l3 = pp.create_line(net, bus4, bus2, length_km=40., std_type='149-AL1/24-ST1A 110.0')\n", - "l4 = pp.create_line(net, bus4, bus5, length_km=30., std_type='149-AL1/24-ST1A 110.0')\n", - "\n", - "#create loads\n", - "pp.create_load(net, bus2, p_mw=60)\n", - "pp.create_load(net, bus3, p_mw=70)\n", - "pp.create_load(net, bus4, p_mw=10)\n", - "\n", - "#create generators\n", - "g1 = pp.create_gen(net, bus1, p_mw=40, min_p_mw=0, max_p_mw=200, vm_pu=1.01, slack=True)\n", - "pp.create_poly_cost(net, g1, 'gen', cp1_eur_per_mw=1)\n", - "\n", - "g2 = pp.create_gen(net, bus3, p_mw=40, min_p_mw=0, max_p_mw=200, vm_pu=1.01)\n", - "pp.create_poly_cost(net, g2, 'gen', cp1_eur_per_mw=3)\n", - "\n", - "g3 = pp.create_gen(net, bus4, p_mw=50, min_p_mw=0, max_p_mw=200, vm_pu=1.01)\n", - "pp.create_poly_cost(net, g3, 'gen', cp1_eur_per_mw=3)\n", - "net" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import pandapower.plotting as plot\n", - "%matplotlib inline\n", - "plot.simple_plot(net)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.5" - } - }, - "nbformat": 4, - "nbformat_minor": 1 -} \ No newline at end of file From a0bf69fb4a7288616017513cef30587365c55f6d Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Sun, 21 Nov 2021 17:09:05 +0100 Subject: [PATCH 335/422] add tutotial for pf --- tutorials/pf_powermodels .ipynb | 252 ++++++++++++++++++++++++++++++++ 1 file changed, 252 insertions(+) create mode 100644 tutorials/pf_powermodels .ipynb diff --git a/tutorials/pf_powermodels .ipynb b/tutorials/pf_powermodels .ipynb new file mode 100644 index 000000000..df497fe6d --- /dev/null +++ b/tutorials/pf_powermodels .ipynb @@ -0,0 +1,252 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Power Flow via PandaModels\n", + "### PandaModels.jl: Interfacing PowerModels with pandapower\n", + "\n", + "This tutorial describes how to run the Power Flow via [PandaModels.jl](https://e2niee.github.io/PandaModels.jl/dev/) calling [PowerModels.jl](https://lanl-ansi.github.io/PowerModels.jl/stable/) packge.\n", + "Power Flow function in PowerModels is built based on [JuMP.jl](https://github.com/jump-dev/JuMP.jl) environment, thus same as OPF we need to set model parameter while calling PF function:\n", + "\n", + "* \"ACPPowerModel\": a non-convex nonlinear AC power flow using complex voltages in polar coordinates\n", + "* \"ACRPowerModel\": a non-convex nonlinear AC power flow using complex voltages in rectangular coordinates\n", + "* \"SOCWRPowerModel\": a convex quadratic relaxation of the power flow problem\n", + "* \"DCPPowerModel\": a linear DC approximation of the power flow problem\n", + "* \"DCMPPowerModel\": a linear DC power flow model with polar voltage variables\n", + "\n", + "Note: in order to compare the results of DC-PF between PowerModels and PYPOWER and matpower calculation,\n", + " you need to set the model to \"DCMPPowerModel\", this model is direct dc model should be equal to the results of matpower calculations,\n", + " while model=\"DCPPowerModel\" is the linearized model from AC model. for more information please check [here](https://lanl-ansi.github.io/PowerModels.jl/stable/formulation-details/#PowerModels.DCMPPowerModel)." + ] + }, + { + "cell_type": "markdown", + "source": [ + "### Let's get started\n", + "\n", + "So here is an example of how it works. First, we create a simple grid in pandapower:" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": 1, + "outputs": [], + "source": [ + "import copy\n", + "import numpy as np\n", + "import pandapower as pp\n", + "import pandapower.networks as nw\n", + "\n", + "net = nw.simple_four_bus_system()\n", + "net.trafo.loc[0, \"shift_degree\"] = 0." + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "then run ac power flow and get voltage angle and amplitude for buses:" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%% md\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 2, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "hp.pandapower.opf.make_objective - WARNING: no costs are given - overall generated power is minimized\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_a9nt8rs0.json\n", + "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_a9nt8rs0.json\n" + ] + } + ], + "source": [ + "pp.runpm_pf(net, pm_model=\"ACPPowerModel\", calculate_voltage_angles=True)" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "Also, there more parameters and options that you can add as input while calling the Optimization Problem from PandaModles:\n", + "\n", + "| parameter | description | type | default |\n", + "| :--- | :--- | :---: | :--- |\n", + "| correct_pm_network_data | checks if network data is correct. If not tries to correct it | bool | True |\n", + "| silence | Suppresses information and warning messages output by PowerModels | bool | True |\n", + "| pm_model | PowerModels.jl model to use | str | \"ACPPowerModel\" |\n", + "| pm_solver | \"main\" solver| str | \"ipopt\" |\n", + "| pm_mip_solver | mixed integer solver| str | \"cbc\" |\n", + "| pm_nl_solver | nonlinear solver| str | \"ipopt\" |\n", + "| pm_tol | default desired convergence tolerance for solver to use | float | 1e-8 |\n", + "| pm_log_level | solver log level in power models | int | 0 |\n", + "| delete_buffer_file | If True, the .json file used by PandaModels will be deleted after optimization. | bool | True\n" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%% md\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 3, + "outputs": [], + "source": [ + "va_pm = copy.deepcopy(net.res_bus.va_degree)\n", + "vm_pm = copy.deepcopy(net.res_bus.vm_pu)" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "run the powerflow from pypower:" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": 4, + "outputs": [], + "source": [ + "pp.runpp(net)" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 5, + "outputs": [], + "source": [ + "va_pp = copy.deepcopy(net.res_bus.va_degree)\n", + "vm_pp = copy.deepcopy(net.res_bus.vm_pu)" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "lets compare the results:" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": 6, + "outputs": [ + { + "data": { + "text/plain": "True" + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.allclose(va_pm, va_pp)" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 7, + "outputs": [ + { + "data": { + "text/plain": "True" + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.allclose(vm_pm, vm_pp)" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + } + ], + "metadata": { + "anaconda-cloud": {}, + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.5" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} \ No newline at end of file From 923be0367cb0dbf6c8e2cf2cb253f45bfa854a59 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Sun, 21 Nov 2021 17:09:48 +0100 Subject: [PATCH 336/422] delete extra repeated lines --- pandapower/test/opf/test_powermodels.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/pandapower/test/opf/test_powermodels.py b/pandapower/test/opf/test_powermodels.py index 4dbf68d4e..75c1d073c 100644 --- a/pandapower/test/opf/test_powermodels.py +++ b/pandapower/test/opf/test_powermodels.py @@ -453,9 +453,6 @@ def assert_pf(net, dc=False): @pytest.mark.skipif(julia_installed == False, reason="requires julia installation") def test_pm_ac_powerflow_simple(): - net = nw.simple_four_bus_system() - net.trafo.loc[0, "shift_degree"] = 0. - assert_pf(net) net = nw.simple_four_bus_system() net.trafo.loc[0, "shift_degree"] = 0. assert_pf(net, dc=False) @@ -510,7 +507,6 @@ def test_pp_to_pm_conversion(net_3w_trafo_opf): pm_I = convert_pp_to_pm(net, opf_flow_lim="I") - def test_pm_to_pp_conversion(simple_opf_test_net): # this tests checks if the runopp results are the same as the ones from powermodels. # Results are read from a result file containing the simple_opf_test_net From 0f7fafc5de49117c48379e8d063bd41c3722fa9a Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Tue, 23 Nov 2021 12:39:46 +0100 Subject: [PATCH 337/422] Update opf_powermodels.ipynb --- tutorials/opf_powermodels.ipynb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tutorials/opf_powermodels.ipynb b/tutorials/opf_powermodels.ipynb index 212973a46..39dcfc570 100644 --- a/tutorials/opf_powermodels.ipynb +++ b/tutorials/opf_powermodels.ipynb @@ -7,7 +7,7 @@ "# Optimal Power Flow via PandaModels\n", "### PandaModels.jl: Interfacing PowerModels with pandapower\n", "\n", - "This tutorial describes how to run the Optimal Power Flow via [PandaModels.jl](https://e2niee.github.io/PandaModels.jl/dev/) calling [PowerModels.jl](https://lanl-ansi.github.io/PowerModels.jl/stable/) packge." + "This tutorial describes how to run the Optimal Power Flow via [PandaModels.jl](https://e2niee.github.io/PandaModels.jl/dev/) calling [PowerModels.jl](https://lanl-ansi.github.io/PowerModels.jl/stable/) package." ] }, { @@ -88,7 +88,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Note that PowerModels does not have a 3W-transformer model, but since pandapower includes the equations to calculates the equivalent branches for the 3W-transformers, it is possible to optimize grids with 3W-transformers in PowerModels through the pandapower interface. The same is true for other complex transformer models, switches/breaker, extended ward equivalents etc.\n", + "Note that PowerModels does not have a 3W-transformer model, but since pandapower includes the equations to calculate the equivalent branches for the 3W-transformers (2W-transformers instead), it is possible to optimize grids with 3W-transformers in PowerModels through the pandapower interface. The same is true for other complex transformer models, switches/breaker, extended ward equivalents etc.\n", "\n", "Let's have a look at the grid we created with pandapowers plotting module:" ] @@ -125,7 +125,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Now lets run an OPF through PowerModels and look at the results (Note that the first time the runpm function is called, Julia is started in the background, which may take some time):" + "Now let's run an OPF through PowerModels and look at the results (Note that the first time the runpm function is called, Julia is started in the background, which may take some time):" ] }, { @@ -156,7 +156,7 @@ { "cell_type": "markdown", "source": [ - "Also, there more parameters and options that you can add as input while calling the Optimization Problem from PandaModles:\n", + "Also, there are further parameters and options that you can add as input while calling the Optimization Problem from PandaModles:\n", "\n", "| parameter | description | type | default |\n", "| :--- | :--- | :---: | :--- |\n", @@ -641,4 +641,4 @@ }, "nbformat": 4, "nbformat_minor": 2 -} \ No newline at end of file +} From 21e3f5038fde1d5e2654a382b1e7ae74fc63a77d Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Tue, 23 Nov 2021 12:46:31 +0100 Subject: [PATCH 338/422] Update pf_powermodels .ipynb --- tutorials/pf_powermodels .ipynb | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tutorials/pf_powermodels .ipynb b/tutorials/pf_powermodels .ipynb index df497fe6d..3c8cef586 100644 --- a/tutorials/pf_powermodels .ipynb +++ b/tutorials/pf_powermodels .ipynb @@ -7,7 +7,7 @@ "# Power Flow via PandaModels\n", "### PandaModels.jl: Interfacing PowerModels with pandapower\n", "\n", - "This tutorial describes how to run the Power Flow via [PandaModels.jl](https://e2niee.github.io/PandaModels.jl/dev/) calling [PowerModels.jl](https://lanl-ansi.github.io/PowerModels.jl/stable/) packge.\n", + "This tutorial describes how to run the Power Flow via [PandaModels.jl](https://e2niee.github.io/PandaModels.jl/dev/) calling [PowerModels.jl](https://lanl-ansi.github.io/PowerModels.jl/stable/) package.\n", "Power Flow function in PowerModels is built based on [JuMP.jl](https://github.com/jump-dev/JuMP.jl) environment, thus same as OPF we need to set model parameter while calling PF function:\n", "\n", "* \"ACPPowerModel\": a non-convex nonlinear AC power flow using complex voltages in polar coordinates\n", @@ -16,9 +16,9 @@ "* \"DCPPowerModel\": a linear DC approximation of the power flow problem\n", "* \"DCMPPowerModel\": a linear DC power flow model with polar voltage variables\n", "\n", - "Note: in order to compare the results of DC-PF between PowerModels and PYPOWER and matpower calculation,\n", - " you need to set the model to \"DCMPPowerModel\", this model is direct dc model should be equal to the results of matpower calculations,\n", - " while model=\"DCPPowerModel\" is the linearized model from AC model. for more information please check [here](https://lanl-ansi.github.io/PowerModels.jl/stable/formulation-details/#PowerModels.DCMPPowerModel)." + "Note: In order to compare the results of DC-PF between PowerModels and PYPOWER / matpower calculations,\n", + " you need to set the model to \"DCMPPowerModel\". This direct current model should be equal to the results of matpower calculations,\n", + " while model=\"DCPPowerModel\" is the linearized model from AC model. For more information please check [here](https://lanl-ansi.github.io/PowerModels.jl/stable/formulation-details/#PowerModels.DCMPPowerModel)." ] }, { @@ -55,7 +55,7 @@ { "cell_type": "markdown", "source": [ - "then run ac power flow and get voltage angle and amplitude for buses:" + "Then run ac power flow and get voltage angle and amplitude for buses:" ], "metadata": { "collapsed": false, @@ -249,4 +249,4 @@ }, "nbformat": 4, "nbformat_minor": 2 -} \ No newline at end of file +} From 8f5b364f5a641a141d60b8605361f36f594aa2ba Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Fri, 26 Nov 2021 13:32:36 +0100 Subject: [PATCH 339/422] bugfix tap_dependent_impedance: dtype issue --- pandapower/build_branch.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pandapower/build_branch.py b/pandapower/build_branch.py index 16ccbdff5..08bb6e5c9 100644 --- a/pandapower/build_branch.py +++ b/pandapower/build_branch.py @@ -443,9 +443,11 @@ def _get_vk_values(trafo_df, characteristic, trafotype="2W"): def _calc_tap_dependent_value(trafo_df, tap_pos, value, variable, tap_dependent_impedance, characteristic): vk_characteristic_idx = get_trafo_values(trafo_df, f"{variable}_characteristic") - vk_characteristic = characteristic.loc[vk_characteristic_idx[tap_dependent_impedance], 'object'].values + vk_characteristic = np.zeros_like(tap_dependent_impedance, dtype="object") + vk_characteristic[tap_dependent_impedance] = characteristic.loc[vk_characteristic_idx[tap_dependent_impedance], 'object'].values + # here dtype must be float otherwise the load flow calculation will fail return np.where(tap_dependent_impedance, - [c(t).item() if f else None for f, t, c in zip(tap_dependent_impedance, tap_pos, vk_characteristic)], value) + [c(t).item() if f else np.nan for f, t, c in zip(tap_dependent_impedance, tap_pos, vk_characteristic)], value) def _calc_r_x_from_dataframe(mode, trafo_df, vn_lv, vn_trafo_lv, sn_mva, sequence=1, characteristic=None): From 9527554019c7c0aa566ccc7f831735175830a223 Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Fri, 26 Nov 2021 13:34:41 +0100 Subject: [PATCH 340/422] bugfix tap_dependent_impedance: dtype issue --- pandapower/build_branch.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pandapower/build_branch.py b/pandapower/build_branch.py index 08bb6e5c9..80b15db1a 100644 --- a/pandapower/build_branch.py +++ b/pandapower/build_branch.py @@ -447,7 +447,8 @@ def _calc_tap_dependent_value(trafo_df, tap_pos, value, variable, tap_dependent_ vk_characteristic[tap_dependent_impedance] = characteristic.loc[vk_characteristic_idx[tap_dependent_impedance], 'object'].values # here dtype must be float otherwise the load flow calculation will fail return np.where(tap_dependent_impedance, - [c(t).item() if f else np.nan for f, t, c in zip(tap_dependent_impedance, tap_pos, vk_characteristic)], value) + [c(t).item() if f else np.nan for f, t, c in zip(tap_dependent_impedance, tap_pos, vk_characteristic)], + value)#.astype(np.float64) # astype not necessary, but if it fails then uncommenting this may help def _calc_r_x_from_dataframe(mode, trafo_df, vn_lv, vn_trafo_lv, sn_mva, sequence=1, characteristic=None): From 412880f811a334cb5ef00c5b7ca5f0a2ac8ffbc4 Mon Sep 17 00:00:00 2001 From: Maryam Majidi Date: Wed, 1 Dec 2021 15:17:42 +0100 Subject: [PATCH 341/422] fix logger --- pandapower/opf/run_powermodels.py | 19 ++- tutorials/opf_powermodels.ipynb | 198 +----------------------------- 2 files changed, 13 insertions(+), 204 deletions(-) diff --git a/pandapower/opf/run_powermodels.py b/pandapower/opf/run_powermodels.py index fea77bdf5..bb16a00ca 100644 --- a/pandapower/opf/run_powermodels.py +++ b/pandapower/opf/run_powermodels.py @@ -6,7 +6,6 @@ import pplog as logging except ImportError: import logging - logger = logging.getLogger(__name__) @@ -21,18 +20,16 @@ def _runpm(net, delete_buffer_file=True, pm_file_path=None, pdm_dev_mode=False): ---------- **delete_buffer_file** (bool, True) - deletes the pm buffer json file if True. **pm_file_path** -path to save the converted net json file. - **pdm_dev_mode** (bool, False) - If True, the develope mode of PdM is called. + **pdm_dev_mode** (bool, False) - If True, the develop mode of PdM is called. """ - # logger = logging.getLogger("run_pm") - # logger.setLevel(logging.WARNING) # convert pandapower to power models file -> this is done in python net, pm, ppc, ppci = convert_to_pm_structure(net) - # call optinal callback function + # call optional callback function if net._options["pp_to_pm_callback"] is not None: net._options["pp_to_pm_callback"](net, ppci, pm) # writes pm json to disk, which is loaded afterwards in julia buffer_file = dump_pm_json(pm, pm_file_path) - print("the json file for convertet net is stored in: ", buffer_file) + logger.debug("the json file for converted net is stored in: %s" % buffer_file) # run power models optimization in julia result_pm = _call_pandamodels(buffer_file, net._options["julia_file"], pdm_dev_mode) # read results and write back to net @@ -40,7 +37,7 @@ def _runpm(net, delete_buffer_file=True, pm_file_path=None, pdm_dev_mode=False): if pm_file_path is None and delete_buffer_file: # delete buffer file after calculation os.remove(buffer_file) - print("the json file for convertet net is deleted from ", buffer_file) + logger.debug("the json file for converted net is deleted from %s" % buffer_file) def _call_pandamodels(buffer_file, julia_file, dev_mode): # pragma: no cover @@ -52,7 +49,7 @@ def _call_pandamodels(buffer_file, julia_file, dev_mode): # pragma: no cover from julia import Base except ImportError: raise ImportError( - "Please install pyjulia properlly to run pandapower with PandaModels.jl.") + "Please install pyjulia properly to run pandapower with PandaModels.jl.") try: julia.Julia() @@ -61,12 +58,12 @@ def _call_pandamodels(buffer_file, julia_file, dev_mode): # pragma: no cover "Could not connect to julia, please check that Julia is installed and pyjulia is correctly configured") if not Base.find_package("PandaModels"): - print("PandaModels.jl is not installed in julia. It is added now!") + logger.info("PandaModels.jl is not installed in julia. It is added now!") Pkg.Registry.update() Pkg.add("PandaModels") if dev_mode: - print("installing dev mode is a slow process!") + logger.info("installing dev mode is a slow process!") Pkg.resolve() Pkg.develop("PandaModels") # add pandamodels dependencies: slow process @@ -74,7 +71,7 @@ def _call_pandamodels(buffer_file, julia_file, dev_mode): # pragma: no cover Pkg.build() Pkg.resolve() - print("Successfully added PandaModels") + logger.info("Successfully added PandaModels") if dev_mode: Pkg.develop("PandaModels") diff --git a/tutorials/opf_powermodels.ipynb b/tutorials/opf_powermodels.ipynb index 39dcfc570..1d80d5f5c 100644 --- a/tutorials/opf_powermodels.ipynb +++ b/tutorials/opf_powermodels.ipynb @@ -131,16 +131,7 @@ { "cell_type": "code", "execution_count": 3, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_mspxl9bc.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_mspxl9bc.json\n" - ] - } - ], + "outputs": [], "source": [ "pp.runpm_ac_opf(net)\n", "\n", @@ -239,16 +230,7 @@ "cell_type": "code", "execution_count": 6, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm__ieh6zk7.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm__ieh6zk7.json\n" - ] - } - ], + "outputs": [], "source": [ "net.trafo3w[\"max_loading_percent\"] = 50\n", "net.line[\"max_loading_percent\"] = 20\n", @@ -343,14 +325,6 @@ "execution_count": 10, "metadata": {}, "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_7uqoikbs.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_7uqoikbs.json\n" - ] - }, { "data": { "text/plain": " vm_pu va_degree p_mw q_mvar lam_p lam_q\n0 NaN 0.000000 -23.521837 NaN 0.0 0.0\n1 NaN -2.783612 60.000000 NaN 0.0 0.0\n2 NaN 0.195199 -29.310098 NaN 0.0 0.0\n3 NaN -1.159257 -7.168065 NaN 0.0 0.0\n4 NaN -1.264625 0.000000 NaN 0.0 0.0", @@ -431,7 +405,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "789 ms ± 14.9 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n" + "910 ms ± 124 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n" ] } ], @@ -448,169 +422,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_i1qzzdg3.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_i1qzzdg3.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_9jvs5y6m.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_9jvs5y6m.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_3jdm4u22.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_3jdm4u22.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_yem88jzc.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_yem88jzc.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_34s98a4z.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_34s98a4z.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_r8x2jd65.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_r8x2jd65.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_3qd7v5sm.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_3qd7v5sm.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_sql1s2qj.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_sql1s2qj.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_f8nu1ez4.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_f8nu1ez4.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_ca10bccn.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_ca10bccn.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_vvy1h5k9.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_vvy1h5k9.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_i7b50_c_.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_i7b50_c_.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_4voyz8q7.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_4voyz8q7.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_5_k8jh58.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_5_k8jh58.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_founcp0s.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_founcp0s.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_k9couzsu.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_k9couzsu.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_l6822hwk.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_l6822hwk.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_23i26sgk.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_23i26sgk.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_n6k0xzu_.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_n6k0xzu_.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_lpbusvws.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_lpbusvws.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_7104360k.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_7104360k.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_cu0ul7gz.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_cu0ul7gz.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_6yqnzmh1.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_6yqnzmh1.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_he94caxw.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_he94caxw.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_trkovn99.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_trkovn99.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_h1fyt4qs.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_h1fyt4qs.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_x3b3te7a.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_x3b3te7a.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_ze1_ye4s.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_ze1_ye4s.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_68gvmzro.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_68gvmzro.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_wl1pkv6w.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_wl1pkv6w.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_snvo9hn6.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_snvo9hn6.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_6xbi5do0.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_6xbi5do0.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_rca89_n6.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_rca89_n6.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_j3dxrdpz.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_j3dxrdpz.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_hk9z_70k.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_hk9z_70k.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_9mj5edn7.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_9mj5edn7.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_srwwl2t0.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_srwwl2t0.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_63abqqxx.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_63abqqxx.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_xr7mxl02.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_xr7mxl02.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_2fgbb8tm.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_2fgbb8tm.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_ng2edpd0.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_ng2edpd0.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_oppldx5j.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_oppldx5j.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_31kt5tdn.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_31kt5tdn.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_9fglwxes.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_9fglwxes.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_4rfj1pnp.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_4rfj1pnp.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_gz_90iry.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_gz_90iry.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_1_aha496.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_1_aha496.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_xbyxh4a6.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_xbyxh4a6.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_a7v4p3ro.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_a7v4p3ro.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm__svxp211.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm__svxp211.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_xdww_vdi.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_xdww_vdi.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_18rgziq7.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_18rgziq7.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_ndm1iig3.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_ndm1iig3.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_7hqyat2v.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_7hqyat2v.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_s_es7sbw.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_s_es7sbw.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_wppbjhfd.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_wppbjhfd.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_4b1sklwv.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_4b1sklwv.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_piagloby.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_piagloby.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_gqp7yib6.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_gqp7yib6.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_fqf2s_fb.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_fqf2s_fb.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_jlg58fl_.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_jlg58fl_.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_v6tvotu_.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_v6tvotu_.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_s0ph_ijp.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_s0ph_ijp.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_ukekobxe.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_ukekobxe.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_9u3jacv8.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_9u3jacv8.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_g6u7ozw0.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_g6u7ozw0.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_3v7dbp1t.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_3v7dbp1t.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_g3fmfzzg.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_g3fmfzzg.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_612guto1.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_612guto1.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_q79z621s.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_q79z621s.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_hlegbbs6.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_hlegbbs6.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_tm0g7u23.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_tm0g7u23.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_7qx1v_5i.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_7qx1v_5i.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_xjpk_ja7.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_xjpk_ja7.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_h7wwrpnw.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_h7wwrpnw.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_q0mzwq8_.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_q0mzwq8_.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_yvd7fcig.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_yvd7fcig.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_kxtuxb_4.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_kxtuxb_4.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_uhtlej3a.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_uhtlej3a.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_q90jc0y0.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_q90jc0y0.json\n", - "the json file for convertet net is stored in: C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_17nvrhyz.json\n", - "the json file for convertet net is deleted from C:\\Users\\e2n037\\AppData\\Local\\Temp\\pp_to_pm_17nvrhyz.json\n", - "110 ms ± 3.1 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" + "114 ms ± 8.75 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" ] } ], @@ -641,4 +453,4 @@ }, "nbformat": 4, "nbformat_minor": 2 -} +} \ No newline at end of file From a92fdab30e08a0ffa4160d04113a7cbce669ff76 Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Wed, 1 Dec 2021 18:16:05 +0100 Subject: [PATCH 342/422] toolbox.merge_nets() fix indices for cost concat --- pandapower/toolbox.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pandapower/toolbox.py b/pandapower/toolbox.py index f3f9502f2..c10b27da0 100644 --- a/pandapower/toolbox.py +++ b/pandapower/toolbox.py @@ -1630,6 +1630,8 @@ def adapt_element_idx_references(net, element, element_type, offset=0): adapt_element_idx_references(net2, element, "trafo", offset=len(net1.trafo)) adapt_element_idx_references(net1, element, "trafo") if element in ["poly_cost", "pwl_cost"]: + net1[element]["element"] = [net1[row.et].index.get_loc(row.element) for row in net1[ + element].itertuples()] for et in ["gen", "sgen", "ext_grid", "load", "dcline", "storage"]: adapt_element_idx_references(net2, element, et, offset=len(net1[et])) if element == "line_geodata": From 411d7a00d2d02345ed3002d7830c860871a49bc2 Mon Sep 17 00:00:00 2001 From: dlohmeier Date: Thu, 2 Dec 2021 10:00:50 +0100 Subject: [PATCH 343/422] preserve dtypes possible when adding json serializable to net (closes #1046) --- pandapower/io_utils.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/pandapower/io_utils.py b/pandapower/io_utils.py index 97208c00c..08784117f 100644 --- a/pandapower/io_utils.py +++ b/pandapower/io_utils.py @@ -45,7 +45,7 @@ except: zlib_INSTALLED = False -from pandapower.auxiliary import pandapowerNet, soft_dependency_error +from pandapower.auxiliary import pandapowerNet, soft_dependency_error, _preserve_dtypes from pandapower.create import create_empty_network try: @@ -620,7 +620,8 @@ def consider_callable(value): if key not in self.json_excludes} return d - def add_to_net(self, net, element, index, column="object", overwrite=False): + def add_to_net(self, net, element, index, column="object", overwrite=False, + preserve_dtypes=False): if element not in net: net[element] = pd.DataFrame(columns=[column]) if index in net[element].index.values: @@ -629,7 +630,12 @@ def add_to_net(self, net, element, index, column="object", overwrite=False): logger.info("Updating %s with index %s" % (element, index)) else: raise UserWarning("%s with index %s already exists" % (element, index)) - net[element].at[index, column] = self + if preserve_dtypes: + dtypes = net[element].dtypes + net[element].at[index, column] = self + _preserve_dtypes(net[element], dtypes) + else: + net[element].at[index, column] = self def equals(self, other): @@ -731,7 +737,7 @@ def json_pandapowernet(obj): logger.debug('pandapowerNet') net_dict = {k: item for k, item in obj.items() if not k.startswith("_")} for k, item in net_dict.items(): - if (isinstance(item, str) and '_module' in item): + if isinstance(item, str) and '_module' in item: net_dict[k] = json.loads(item) d = with_signature(obj, net_dict) return d From 0fdd36b89e0752b4402ebfdb51c6b84efd69fd60 Mon Sep 17 00:00:00 2001 From: dlohmeier Date: Thu, 2 Dec 2021 11:50:41 +0100 Subject: [PATCH 344/422] fixed most errors that appeared due to changes in comparison method --- pandapower/io_utils.py | 14 +++++++++++++- pandapower/results.py | 2 +- pandapower/test/api/test_file_io.py | 5 +++-- pandapower/toolbox.py | 14 ++++++++++++-- 4 files changed, 29 insertions(+), 6 deletions(-) diff --git a/pandapower/io_utils.py b/pandapower/io_utils.py index 97208c00c..2909ea24a 100644 --- a/pandapower/io_utils.py +++ b/pandapower/io_utils.py @@ -190,6 +190,8 @@ def from_dict_of_dfs(dodfs): net = create_empty_network() for c in dodfs["parameters"].columns: net[c] = dodfs["parameters"].at[0, c] + if c == "name" and pd.isnull(net[c]): + net[c] = '' for item, table in dodfs.items(): if item in ("parameters", "dtypes"): continue @@ -454,7 +456,17 @@ def pandapowerNet(self): @from_serializable.register(class_name="MultiGraph", module_name="networkx") def networkx(self): - return json_graph.adjacency_graph(self.obj, attrs={'id': 'json_id', 'key': 'json_key'}) + mg = json_graph.adjacency_graph(self.obj, attrs={'id': 'json_id', 'key': 'json_key'}) + edges = list() + for (n1, n2, e) in mg.edges: + attr = {k: v for k, v in mg.get_edge_data(n1, n2, key=e).items() if + k not in ("json_id", "json_key")} + attr["key"] = e + edges.append((n1, n2, attr)) + mg.clear_edges() + for n1, n2, ed in edges: + mg.add_edge(n1, n2, **ed) + return mg @from_serializable.register(class_name="method") def method(self): diff --git a/pandapower/results.py b/pandapower/results.py index a8d60db1a..065cdadaa 100644 --- a/pandapower/results.py +++ b/pandapower/results.py @@ -108,7 +108,7 @@ def empty_res_element(net, element, suffix=None): if res_empty_element in net: net[res_element] = net[res_empty_element].copy() else: - net[res_element] = pd.DataFrame() + net[res_element] = pd.DataFrame(index=pd.Int64Index([])) def init_element(net, element, suffix=None): diff --git a/pandapower/test/api/test_file_io.py b/pandapower/test/api/test_file_io.py index b061dbfb5..36c59a7bc 100644 --- a/pandapower/test/api/test_file_io.py +++ b/pandapower/test/api/test_file_io.py @@ -58,7 +58,7 @@ def test_excel(net_in, tmp_path): net_out = pp.from_excel(filename) assert_net_equal(net_in, net_out) - # test in user_pf_options are equal + # test if user_pf_options are equal pp.set_user_pf_options(net_in, tolerance_mva=1e3) pp.to_excel(net_in, filename) net_out = pp.from_excel(filename) @@ -350,7 +350,8 @@ def test_elements_to_deserialize_wo_keep(tmp_path): net = networks.mv_oberrhein() filename = os.path.abspath(str(tmp_path)) + "testfile.json" pp.to_json(net, filename) - net_select = pp.from_json(filename, elements_to_deserialize=['bus', 'load'], keep_serialized_elements=False) + net_select = pp.from_json(filename, elements_to_deserialize=['bus', 'load'], + keep_serialized_elements=False) for key, item in net_select.items(): if key in ['bus', 'load']: assert isinstance(item, pd.DataFrame) diff --git a/pandapower/toolbox.py b/pandapower/toolbox.py index 132e1d9e2..e59e78904 100644 --- a/pandapower/toolbox.py +++ b/pandapower/toolbox.py @@ -21,6 +21,8 @@ from pandapower.opf.validate_opf_input import _check_necessary_opf_parameters from pandapower.run import runpp from pandapower.std_types import change_std_type +import networkx as nx +from networkx.utils.misc import graphs_equal try: import pplog as logging @@ -698,7 +700,7 @@ def violated_buses(net, min_vm_pu, max_vm_pu): def nets_equal(net1, net2, check_only_results=False, check_without_results=False, exclude_elms=None, - **kwargs): + name_selection=None, **kwargs): """ Returns a boolean whether the two given pandapower networks are equal. @@ -719,6 +721,8 @@ def nets_equal(net1, net2, check_only_results=False, check_without_results=False **exclude_elms** (list, None) - list of element tables which should be ignored in the comparison + **name_selection** (list, None) - list of element tables which should be compared + **kwargs** - key word arguments for dataframes_equal() """ if not (isinstance(net1, pandapowerNet) and isinstance(net2, pandapowerNet)): @@ -734,7 +738,9 @@ def nets_equal(net1, net2, check_only_results=False, check_without_results=False not_equal = [] # for two networks make sure both have the same keys - if check_only_results: + if name_selection is not None: + net1_keys = net2_keys = name_selection + elif check_only_results: net1_keys = [key for key in net1.keys() if key.startswith("res_") and key not in exclude_elms] net2_keys = [key for key in net2.keys() if key.startswith("res_") @@ -788,6 +794,10 @@ def nets_equal(net1, net2, check_only_results=False, check_without_results=False if not np.isclose(net1[key], net2[key]): not_equal.append(key) + elif isinstance(net1[key], nx.Graph): + if not graphs_equal(net1[key], net2[key]): + not_equal.append(key) + else: try: is_eq = net1[key] == net2[key] From a42052a0c5e8abb93f9b38c386b3f4ff3c73a8fe Mon Sep 17 00:00:00 2001 From: dlohmeier Date: Thu, 2 Dec 2021 12:01:55 +0100 Subject: [PATCH 345/422] added fill values to add_to_net method for JSONSerializableClass --- pandapower/control/basic_controller.py | 13 +++---------- pandapower/io_utils.py | 14 ++++++++++---- 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/pandapower/control/basic_controller.py b/pandapower/control/basic_controller.py index d4a467e9e..46df32fd0 100644 --- a/pandapower/control/basic_controller.py +++ b/pandapower/control/basic_controller.py @@ -86,17 +86,10 @@ def add_controller_to_net(self, net, in_service, initial_run, order, level, inde else: log_same_type_existing_controllers(net, type(self), index=index, **kwargs) - dtypes = net.controller.dtypes - # use base class method to raise an error if the object is in DF and overwrite = False - super().add_to_net(net=net, element='controller', index=index, overwrite=overwrite) - - columns = ['object', 'in_service', 'initial_run', 'recycle'] - net.controller.loc[index,columns] = (self, in_service, initial_run, recycle) - net.controller['order'][index] = order - net.controller['level'][index] = level - - _preserve_dtypes(net.controller, dtypes) + fill_dict = {"in_service": in_service, "initial_run": initial_run, "recycle": recycle} + super().add_to_net(net=net, element='controller', index=index, overwrite=overwrite, + fill_dict=fill_dict) def time_step(self, net, time): """ diff --git a/pandapower/io_utils.py b/pandapower/io_utils.py index 08784117f..18e9dc226 100644 --- a/pandapower/io_utils.py +++ b/pandapower/io_utils.py @@ -621,7 +621,7 @@ def consider_callable(value): return d def add_to_net(self, net, element, index, column="object", overwrite=False, - preserve_dtypes=False): + preserve_dtypes=False, fill_dict=None): if element not in net: net[element] = pd.DataFrame(columns=[column]) if index in net[element].index.values: @@ -630,12 +630,18 @@ def add_to_net(self, net, element, index, column="object", overwrite=False, logger.info("Updating %s with index %s" % (element, index)) else: raise UserWarning("%s with index %s already exists" % (element, index)) + + dtypes = None if preserve_dtypes: dtypes = net[element].dtypes - net[element].at[index, column] = self + + if fill_dict is not None: + for k, v in fill_dict.items(): + net[element].at[index, k] = v + net[element].at[index, column] = self + + if preserve_dtypes: _preserve_dtypes(net[element], dtypes) - else: - net[element].at[index, column] = self def equals(self, other): From 2f94f3adc89869b43c4a4add8d5a93596828bb87 Mon Sep 17 00:00:00 2001 From: dlohmeier Date: Thu, 2 Dec 2021 12:27:18 +0100 Subject: [PATCH 346/422] forgot level and order in adding controllers to net --- pandapower/control/basic_controller.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/pandapower/control/basic_controller.py b/pandapower/control/basic_controller.py index 46df32fd0..ae79aa61e 100644 --- a/pandapower/control/basic_controller.py +++ b/pandapower/control/basic_controller.py @@ -4,9 +4,10 @@ # and Energy System Technology (IEE), Kassel. All rights reserved. import copy -from pandapower.auxiliary import get_free_id, _preserve_dtypes + +from pandapower.auxiliary import get_free_id from pandapower.control.util.auxiliary import \ - drop_same_type_existing_controllers, log_same_type_existing_controllers + drop_same_type_existing_controllers, log_same_type_existing_controllers from pandapower.io_utils import JSONSerializableClass try: @@ -31,8 +32,8 @@ def __init__(self, net, in_service=True, order=0, level=0, index=None, recycle=F index = get_free_id(net.controller) self.matching_params = dict() if matching_params is None else matching_params self.index = index - self.add_controller_to_net(net=net, in_service=in_service, initial_run=initial_run, order=order, - level=level, index=index, recycle=recycle, + self.add_controller_to_net(net=net, in_service=in_service, initial_run=initial_run, + order=order, level=level, index=index, recycle=recycle, drop_same_existing_ctrl=drop_same_existing_ctrl, overwrite=overwrite, matching_params=matching_params, **kwargs) @@ -65,7 +66,6 @@ def __getstate__(self): def __setstate__(self, state): self.__dict__.update(state) - def add_controller_to_net(self, net, in_service, initial_run, order, level, index, recycle, drop_same_existing_ctrl, overwrite, **kwargs): """ @@ -78,7 +78,9 @@ def add_controller_to_net(self, net, in_service, initial_run, order, level, inde **index** (int) - index - **recycle** (bool) - if controller needs a new bbm (ppc, Ybus...) or if it can be used with prestored values. This is mostly needed for time series calculations + **recycle** (bool) - if controller needs a new bbm (ppc, Ybus...) or if it can be used \ + with prestored values. This is mostly needed for time series \ + calculations """ if drop_same_existing_ctrl: @@ -87,7 +89,8 @@ def add_controller_to_net(self, net, in_service, initial_run, order, level, inde log_same_type_existing_controllers(net, type(self), index=index, **kwargs) # use base class method to raise an error if the object is in DF and overwrite = False - fill_dict = {"in_service": in_service, "initial_run": initial_run, "recycle": recycle} + fill_dict = {"in_service": in_service, "initial_run": initial_run, "recycle": recycle, + "order": order, "level": level} super().add_to_net(net=net, element='controller', index=index, overwrite=overwrite, fill_dict=fill_dict) From f0b2ca2790b63e0c33a41b2764ce4cf43fca72d1 Mon Sep 17 00:00:00 2001 From: dlohmeier Date: Thu, 2 Dec 2021 12:41:57 +0100 Subject: [PATCH 347/422] xfailed sqlite test, graphs equal only if possible --- pandapower/test/api/test_file_io.py | 9 +++++++++ pandapower/toolbox.py | 16 +++++++++++++--- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/pandapower/test/api/test_file_io.py b/pandapower/test/api/test_file_io.py index 36c59a7bc..7fdc7b465 100644 --- a/pandapower/test/api/test_file_io.py +++ b/pandapower/test/api/test_file_io.py @@ -139,6 +139,8 @@ def test_type_casting_json(net_in, tmp_path): assert_net_equal(net_in, net) +@pytest.mark.xfail(reason="For std_types, some dtypes are not returned correctly by sql. Therefore," + " a workaround test was created to check everything else.") def test_sqlite(net_in, tmp_path): filename = os.path.abspath(str(tmp_path)) + "testfile.db" pp.to_sqlite(net_in, filename) @@ -146,6 +148,13 @@ def test_sqlite(net_in, tmp_path): assert_net_equal(net_in, net_out) +def test_sqlite_workaround(net_in, tmp_path): + filename = os.path.abspath(str(tmp_path)) + "testfile.db" + pp.to_sqlite(net_in, filename) + net_out = pp.from_sqlite(filename) + assert_net_equal(net_in, net_out, exclude_elms=["std_types"]) + + def test_convert_format(): # TODO what is this thing testing ? net = pp.from_pickle(os.path.join(pp.pp_dir, "test", "api", "old_net.p")) pp.runpp(net) diff --git a/pandapower/toolbox.py b/pandapower/toolbox.py index e59e78904..8ddf7347c 100644 --- a/pandapower/toolbox.py +++ b/pandapower/toolbox.py @@ -22,7 +22,12 @@ from pandapower.run import runpp from pandapower.std_types import change_std_type import networkx as nx -from networkx.utils.misc import graphs_equal + +try: + from networkx.utils.misc import graphs_equal + GRAPHS_EQUAL_POSSIBLE = True +except ImportError: + GRAPHS_EQUAL_POSSIBLE = False try: import pplog as logging @@ -795,8 +800,13 @@ def nets_equal(net1, net2, check_only_results=False, check_without_results=False not_equal.append(key) elif isinstance(net1[key], nx.Graph): - if not graphs_equal(net1[key], net2[key]): - not_equal.append(key) + if GRAPHS_EQUAL_POSSIBLE: + if not graphs_equal(net1[key], net2[key]): + not_equal.append(key) + else: + # Maybe there is a better way, but at least this could be checked + if net1[key].nodes != net2[key].nodes or net1[key].edges != net2[key].edges: + not_equal.append(key) else: try: From 4efe0cc6b65dc1e54e242b8c57fb213478e3bc13 Mon Sep 17 00:00:00 2001 From: dlohmeier Date: Thu, 2 Dec 2021 12:54:49 +0100 Subject: [PATCH 348/422] forgot to preserve dtypes in basic controller --- pandapower/control/basic_controller.py | 2 +- .../control/controller/characteristic_control.py | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/pandapower/control/basic_controller.py b/pandapower/control/basic_controller.py index ae79aa61e..060ddbb58 100644 --- a/pandapower/control/basic_controller.py +++ b/pandapower/control/basic_controller.py @@ -92,7 +92,7 @@ def add_controller_to_net(self, net, in_service, initial_run, order, level, inde fill_dict = {"in_service": in_service, "initial_run": initial_run, "recycle": recycle, "order": order, "level": level} super().add_to_net(net=net, element='controller', index=index, overwrite=overwrite, - fill_dict=fill_dict) + fill_dict=fill_dict, preserve_dtypes=True) def time_step(self, net, time): """ diff --git a/pandapower/control/controller/characteristic_control.py b/pandapower/control/controller/characteristic_control.py index c47b4ba2c..491973441 100644 --- a/pandapower/control/controller/characteristic_control.py +++ b/pandapower/control/controller/characteristic_control.py @@ -47,13 +47,15 @@ class CharacteristicControl(Controller): **drop_same_existing_ctrl** (bool, False) - Indicates if already existing controllers of the same type and with the same matching parameters (e.g. at same element) should be dropped """ - def __init__(self, net, output_element, output_variable, output_element_index, input_element, input_variable, input_element_index, - characteristic, tol=1e-3, in_service=True, order=0, level=0, drop_same_existing_ctrl=False, matching_params=None, - **kwargs): + def __init__(self, net, output_element, output_variable, output_element_index, input_element, + input_variable, input_element_index, characteristic, tol=1e-3, in_service=True, + order=0, level=0, drop_same_existing_ctrl=False, matching_params=None, **kwargs): if matching_params is None: - matching_params = {"element": output_element, "input_variable": input_variable, "output_variable": output_variable, + matching_params = {"element": output_element, "input_variable": input_variable, + "output_variable": output_variable, "element_index": input_element_index} - super().__init__(net, in_service=in_service, order=order, level=level, drop_same_existing_ctrl=drop_same_existing_ctrl, + super().__init__(net, in_service=in_service, order=order, level=level, + drop_same_existing_ctrl=drop_same_existing_ctrl, matching_params=matching_params, **kwargs) self.input_element = input_element self.input_variable = input_variable From f54255c599516c6f04c3d9e55f971892064e1850 Mon Sep 17 00:00:00 2001 From: dlohmeier Date: Thu, 2 Dec 2021 13:11:28 +0100 Subject: [PATCH 349/422] changed some test due to more precise comparison --- pandapower/test/api/test_toolbox.py | 1 + pandapower/test/loadflow/test_rundcpp.py | 2 +- pandapower/test/loadflow/test_runpp.py | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/pandapower/test/api/test_toolbox.py b/pandapower/test/api/test_toolbox.py index 741f30f1a..b683c2194 100644 --- a/pandapower/test/api/test_toolbox.py +++ b/pandapower/test/api/test_toolbox.py @@ -1162,6 +1162,7 @@ def check_elm_shape(net, elm_shape: dict): check_elm_shape(net, {"storage": 0, "sgen": 0}) net.sgen = net_orig.sgen net.storage = net_orig.storage + net.poly_cost.element = net.poly_cost.element.astype(np.uint32) assert pp.nets_equal(net_orig, net) diff --git a/pandapower/test/loadflow/test_rundcpp.py b/pandapower/test/loadflow/test_rundcpp.py index 155f48fd3..f235de04d 100644 --- a/pandapower/test/loadflow/test_rundcpp.py +++ b/pandapower/test/loadflow/test_rundcpp.py @@ -85,7 +85,7 @@ def test_test_sn_mva(): pp.rundcpp(net1) pp.rundcpp(net2) try: - assert_net_equal(net1, net2) + assert_net_equal(net1, net2, exclude_elms=["sn_mva"]) except: raise UserWarning("Result difference due to sn_mva after adding %s" % net1.last_added_case) diff --git a/pandapower/test/loadflow/test_runpp.py b/pandapower/test/loadflow/test_runpp.py index dce4c3bac..0d6b51f53 100644 --- a/pandapower/test/loadflow/test_runpp.py +++ b/pandapower/test/loadflow/test_runpp.py @@ -474,7 +474,7 @@ def test_test_sn_mva(): pp.runpp(net1) pp.runpp(net2) try: - assert_net_equal(net1, net2) + assert_net_equal(net1, net2, exclude_elms=["sn_mva"]) except: raise UserWarning("Result difference due to sn_mva after adding %s" % net1.last_added_case) From af0959edd0383a0f459fd2f852f9ec7e4bf17ad6 Mon Sep 17 00:00:00 2001 From: dlohmeier Date: Thu, 2 Dec 2021 13:12:06 +0100 Subject: [PATCH 350/422] small correction --- pandapower/test/api/test_toolbox.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandapower/test/api/test_toolbox.py b/pandapower/test/api/test_toolbox.py index b683c2194..f636af77b 100644 --- a/pandapower/test/api/test_toolbox.py +++ b/pandapower/test/api/test_toolbox.py @@ -1162,7 +1162,7 @@ def check_elm_shape(net, elm_shape: dict): check_elm_shape(net, {"storage": 0, "sgen": 0}) net.sgen = net_orig.sgen net.storage = net_orig.storage - net.poly_cost.element = net.poly_cost.element.astype(np.uint32) + net.poly_cost.element = net.poly_cost.element.astype(net_orig.poly_cost.dtypes["element"]) assert pp.nets_equal(net_orig, net) From 368ce178cf839ca7a9c7e458cf985e1bcd922333 Mon Sep 17 00:00:00 2001 From: dlohmeier Date: Fri, 3 Dec 2021 13:02:33 +0100 Subject: [PATCH 351/422] numpy objects are now saved with signature in JSON encoder to retrieve original types --- pandapower/io_utils.py | 23 ++++++++++++++++++++--- pandapower/test/api/test_file_io.py | 6 +++--- 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/pandapower/io_utils.py b/pandapower/io_utils.py index 12f78a4a5..b6168b7ae 100644 --- a/pandapower/io_utils.py +++ b/pandapower/io_utils.py @@ -318,7 +318,9 @@ def transform_net_with_df_and_geo(net, point_geo_columns, line_geo_columns): def isinstance_partial(obj, cls): - if isinstance(obj, (pandapowerNet, tuple)): + # this function shall make sure that for the given classes, no default string functions are + # used, but the registered ones (to_serializable registry) + if isinstance(obj, (pandapowerNet, tuple, numpy.floating)): return False return isinstance(obj, cls) @@ -802,13 +804,28 @@ def json_array(obj): @to_serializable.register(numpy.integer) def json_npint(obj): logger.debug("integer") - return int(obj) + d = with_signature(obj, int(obj), obj_module="numpy") + d.pop('dtype') + return d @to_serializable.register(numpy.floating) def json_npfloat(obj): logger.debug("floating") - return float(obj) + if numpy.isnan(obj): + d = with_signature(obj, str(obj), obj_module="numpy") + else: + d = with_signature(obj, float(obj), obj_module="numpy") + d.pop('dtype') + return d + + +@to_serializable.register(numpy.bool_) +def json_npbool(obj): + logger.debug("boolean") + d = with_signature(obj, "true" if obj else "false", obj_module="numpy") + d.pop('dtype') + return d @to_serializable.register(numbers.Number) diff --git a/pandapower/test/api/test_file_io.py b/pandapower/test/api/test_file_io.py index 7fdc7b465..6935ff000 100644 --- a/pandapower/test/api/test_file_io.py +++ b/pandapower/test/api/test_file_io.py @@ -6,15 +6,15 @@ import copy import json import os -import sys import numpy as np +import pandas as pd +import pytest + import pandapower as pp import pandapower.control as control import pandapower.networks as networks import pandapower.topology as topology -import pandas as pd -import pytest from pandapower import pp_dir from pandapower.io_utils import PPJSONEncoder, PPJSONDecoder from pandapower.test.toolbox import assert_net_equal, create_test_network From 7bd3469dba88367ce1c01e14be676113f6681e17 Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Fri, 3 Dec 2021 14:29:28 +0100 Subject: [PATCH 352/422] Update newtonpf.py: better initialization of slack power See #1409 for more information --- pandapower/pypower/newtonpf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandapower/pypower/newtonpf.py b/pandapower/pypower/newtonpf.py index 7ca2800a7..7efd1b4de 100644 --- a/pandapower/pypower/newtonpf.py +++ b/pandapower/pypower/newtonpf.py @@ -107,7 +107,7 @@ def newtonpf(Ybus, Sbus, V0, ref, pv, pq, ppci, options): j8 = j6 + nref # j7:j8 - slacks # make initial guess for the slack - slack = gen[:, PG].sum() - bus[:, PD].sum() + slack = (gen[:, PG].sum() - bus[:, PD].sum()) / baseMVA # evaluate F(x0) F = _evaluate_Fx(Ybus, V, Sbus, ref, pv, pq, slack_weights, dist_slack, slack) converged = _check_for_convergence(F, tol) From 7c81becb7a4e62f8e044318f1cf1272f10ca6c91 Mon Sep 17 00:00:00 2001 From: dlohmeier Date: Mon, 6 Dec 2021 10:16:07 +0100 Subject: [PATCH 353/422] added hint on option rules to loadflow tutorial to close #497 --- tutorials/powerflow.ipynb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tutorials/powerflow.ipynb b/tutorials/powerflow.ipynb index b49cb3f79..fd9b0e4b7 100644 --- a/tutorials/powerflow.ipynb +++ b/tutorials/powerflow.ipynb @@ -2192,7 +2192,8 @@ "The hierarchy for power flow options is therefore:\n", " 1. Arguments passed to runpp\n", " 2. User Options\n", - " 3. runpp default parameters" + " 3. runpp default parameters\n", + "Note however that there is a small exception for this rule that you have to deal with: When setting your own user options and then trying to override them with the same value as the runpp default parameter, this will not be recongnized within the powerflow and the user option value is used." ] } ], From 8070fd19e6b7f454f6fccc84a62b073e266dadd6 Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Mon, 6 Dec 2021 15:11:43 +0100 Subject: [PATCH 354/422] added function for trafo characteristic checks --- pandapower/control/__init__.py | 3 ++- pandapower/control/util/auxiliary.py | 24 ++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/pandapower/control/__init__.py b/pandapower/control/__init__.py index 171e93425..dedae0f27 100644 --- a/pandapower/control/__init__.py +++ b/pandapower/control/__init__.py @@ -13,6 +13,7 @@ from pandapower.control.run_control import * from pandapower.control.run_control import ControllerNotConverged from pandapower.control.util.characteristic import Characteristic, SplineCharacteristic -from pandapower.control.util.auxiliary import get_controller_index, plot_characteristic, create_trafo_characteristics +from pandapower.control.util.auxiliary import get_controller_index, plot_characteristic, create_trafo_characteristics, \ + trafo_characteristics_diagnostic from pandapower.control.util.diagnostic import control_diagnostic diff --git a/pandapower/control/util/auxiliary.py b/pandapower/control/util/auxiliary.py index d879139ca..5de14796c 100644 --- a/pandapower/control/util/auxiliary.py +++ b/pandapower/control/util/auxiliary.py @@ -236,4 +236,28 @@ def create_trafo_characteristics(net, trafotable, trafo_index, variable, x_point net[trafotable].at[tid, col] = s.add_to_net(net, "characteristic") +def trafo_characteristics_diagnostic(net): + logger.info("Checking trafo characteristics") + cols2w = ["vk_percent_characteristic", "vkr_percent_characteristic"] + cols3w = [f"vk{r}_{side}_percent_characteristic" for side in ["hv", "mv", "lv"] for r in ["", "r"]] + for trafo_table, cols in zip(["trafo", "trafo3w"], [cols2w, cols3w]): + if len(net[trafo_table]) == 0 or \ + 'tap_dependent_impedance' not in net[trafo_table] or \ + not net[trafo_table]['tap_dependent_impedance'].any(): + logger.info("No %s with tap-dependent impedance found." % trafo_table) + continue + # check if there are any missing characteristics + tap_dependent_impedance = net[trafo_table]['tap_dependent_impedance'].values + logger.info(f"{trafo_table}: found {len(tap_dependent_impedance[tap_dependent_impedance])} trafos with tap-dependent impedance") + for col in cols: + if col not in net[trafo_table]: + logger.info("%s: %s is missing" % (trafo_table, col)) + elif net[trafo_table][col].dtype != object: + logger.info("%s: %s is not of type object" % (trafo_table, col)) + elif net[trafo_table].loc[tap_dependent_impedance, col].isnull().any(): + logger.info("%s: %s is missing for some trafos" % (trafo_table, col)) + elif len(set(net[trafo_table].loc[tap_dependent_impedance, col]) - set(net.characteristic.index)) > 0: + logger.info("%s: %s contains invalid characteristics indices" % (trafo_table, col)) + else: + logger.info(f"{trafo_table}: {col} has {len(net[trafo_table][col].dropna())} characteristics") From 865986b32aebe31b93ba8aad94c81f6521719c83 Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Mon, 6 Dec 2021 20:17:08 +0100 Subject: [PATCH 355/422] rename the tutorial --- ...ce.ipynb => tap_dependent_impedance.ipynb} | 293 ++++++++++++++++-- 1 file changed, 264 insertions(+), 29 deletions(-) rename tutorials/{Tap dependent impedance.ipynb => tap_dependent_impedance.ipynb} (86%) diff --git a/tutorials/Tap dependent impedance.ipynb b/tutorials/tap_dependent_impedance.ipynb similarity index 86% rename from tutorials/Tap dependent impedance.ipynb rename to tutorials/tap_dependent_impedance.ipynb index 831511470..a839bc827 100644 --- a/tutorials/Tap dependent impedance.ipynb +++ b/tutorials/tap_dependent_impedance.ipynb @@ -11,7 +11,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "With an adjustment of a tap position of a transformer, the number of windings is adjusted, which influences the impedance. The user can provide characteristics of the dependance of the variables vk_percent and vkr_percent on the tap position. A helper function in pandapower toolbox converts the provided points in a scipy.interpolate.interp1 object and writes it in the trafo table." + "With an adjustment of a tap position of a transformer, the number of windings is adjusted, which influences the impedance. The user can provide characteristics of the dependance of the variables vk_percent and vkr_percent on the tap position. A helper function in pandapower control module converts the provided points in a Characteristic object with spline interpolation and writes it in the trafo table. Finally, a diagnostic function checks for inconsistensies and provides information to the user." ] }, { @@ -23,8 +23,7 @@ "import numpy as np\n", "import pandas as pd\n", "import pandapower as pp\n", - "from pandapower.control.util.auxiliary import plot_characteristic, SplineCharacteristic\n", - "from pandapower.control import TapDependentImpedance\n", + "import pandapower.control\n", "import json" ] }, @@ -91,13 +90,6 @@ "pp.control.create_trafo_characteristics(net, 'trafo', [0], 'vkr_percent', [[-2, -1, 0, 1, 2]], [[1.3, 1.4, 1.44, 1.5, 1.6]])" ] }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, { "cell_type": "markdown", "metadata": {}, @@ -124,7 +116,7 @@ } ], "source": [ - "plot_characteristic(net.characteristic.object.at[0], -2, 2)" + "pp.control.plot_characteristic(net.characteristic.object.at[0], -2, 2)" ] }, { @@ -146,7 +138,7 @@ } ], "source": [ - "plot_characteristic(net.characteristic.object.at[1], -2, 2)" + "pp.control.plot_characteristic(net.characteristic.object.at[1], -2, 2)" ] }, { @@ -256,7 +248,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "8.11 ms ± 74.5 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" + "7.79 ms ± 37.2 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" ] } ], @@ -273,7 +265,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "10 ms ± 327 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" + "9.22 ms ± 66 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" ] } ], @@ -302,8 +294,8 @@ "outputs": [], "source": [ "net3 = create_net()\n", - "TapDependentImpedance(net3, [0], net.characteristic.object.at[0], output_variable=\"vk_percent\")\n", - "TapDependentImpedance(net3, [0], net.characteristic.object.at[1], output_variable=\"vkr_percent\");" + "pp.control.TapDependentImpedance(net3, [0], net.characteristic.object.at[0], output_variable=\"vk_percent\")\n", + "pp.control.TapDependentImpedance(net3, [0], net.characteristic.object.at[1], output_variable=\"vkr_percent\");" ] }, { @@ -315,7 +307,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "29.2 ms ± 736 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" + "26.5 ms ± 368 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" ] } ], @@ -523,12 +515,12 @@ "metadata": {}, "outputs": [], "source": [ - "TapDependentImpedance(net5, [0], net4.characteristic.object.at[0], output_variable=\"vk_hv_percent\", trafotable=\"trafo3w\")\n", - "TapDependentImpedance(net5, [0], net4.characteristic.object.at[1], output_variable=\"vkr_hv_percent\", trafotable=\"trafo3w\")\n", - "TapDependentImpedance(net5, [0], net4.characteristic.object.at[2], output_variable=\"vk_mv_percent\", trafotable=\"trafo3w\")\n", - "TapDependentImpedance(net5, [0], net4.characteristic.object.at[3], output_variable=\"vkr_mv_percent\", trafotable=\"trafo3w\")\n", - "TapDependentImpedance(net5, [0], net4.characteristic.object.at[4], output_variable=\"vk_lv_percent\", trafotable=\"trafo3w\")\n", - "TapDependentImpedance(net5, [0], net4.characteristic.object.at[5], output_variable=\"vkr_lv_percent\", trafotable=\"trafo3w\");" + "pp.control.TapDependentImpedance(net5, [0], net4.characteristic.object.at[0], output_variable=\"vk_hv_percent\", trafotable=\"trafo3w\")\n", + "pp.control.TapDependentImpedance(net5, [0], net4.characteristic.object.at[1], output_variable=\"vkr_hv_percent\", trafotable=\"trafo3w\")\n", + "pp.control.TapDependentImpedance(net5, [0], net4.characteristic.object.at[2], output_variable=\"vk_mv_percent\", trafotable=\"trafo3w\")\n", + "pp.control.TapDependentImpedance(net5, [0], net4.characteristic.object.at[3], output_variable=\"vkr_mv_percent\", trafotable=\"trafo3w\")\n", + "pp.control.TapDependentImpedance(net5, [0], net4.characteristic.object.at[4], output_variable=\"vk_lv_percent\", trafotable=\"trafo3w\")\n", + "pp.control.TapDependentImpedance(net5, [0], net4.characteristic.object.at[5], output_variable=\"vkr_lv_percent\", trafotable=\"trafo3w\");" ] }, { @@ -540,7 +532,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "14.8 ms ± 624 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" + "13.7 ms ± 92 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" ] } ], @@ -557,7 +549,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "49.7 ms ± 777 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" + "47.4 ms ± 530 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" ] } ], @@ -681,6 +673,190 @@ "pd.merge(net4.res_bus[[\"vm_pu\", \"va_degree\"]], net5.res_bus[[\"vm_pu\", \"va_degree\"]], left_index=True, right_index=True)" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Undefined characteristics" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If some transformers have characteristics that do not define all of the columns, the behavior is to ignore the missing characteristic. If tap_dependent_impedance is set to True, but all the characteristics are missing, an error is raised." + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [], + "source": [ + "net6 = create_net()\n", + "pp.control.create_trafo_characteristics(net6, 'trafo', [0], 'vk_percent', [[-2, -1, 0, 1, 2]], [[5, 5.2, 6, 6.8, 7]])\n", + "pp.control.create_trafo_characteristics(net6, 'trafo', [0], 'vkr_percent', [[-2, -1, 0, 1, 2]], [[1.3, 1.4, 1.44, 1.5, 1.6]])\n", + "pp.control.create_trafo_characteristics(net6, 'trafo', [1], 'vk_percent', [[-2, -1, 0, 1, 2]], [[5, 5.2, 6, 6.8, 7]])" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
namestd_typehv_buslv_bussn_mvavn_hv_kvvn_lv_kvvk_percentvkr_percentpfe_kw...tap_step_percenttap_step_degreetap_postap_phase_shifterparalleldfin_servicetap_dependent_impedancevk_percent_characteristicvkr_percent_characteristic
0None0.25 MVA 20/0.4 kV120.2520.00.46.01.440.8...2.50.02False11.0TrueTrue0.01.0
1None0.25 MVA 20/0.4 kV130.2520.00.46.01.440.8...2.50.02False11.0TrueTrue2.0NaN
\n", + "

2 rows × 26 columns

\n", + "
" + ], + "text/plain": [ + " name std_type hv_bus lv_bus sn_mva vn_hv_kv vn_lv_kv \\\n", + "0 None 0.25 MVA 20/0.4 kV 1 2 0.25 20.0 0.4 \n", + "1 None 0.25 MVA 20/0.4 kV 1 3 0.25 20.0 0.4 \n", + "\n", + " vk_percent vkr_percent pfe_kw ... tap_step_percent tap_step_degree \\\n", + "0 6.0 1.44 0.8 ... 2.5 0.0 \n", + "1 6.0 1.44 0.8 ... 2.5 0.0 \n", + "\n", + " tap_pos tap_phase_shifter parallel df in_service \\\n", + "0 2 False 1 1.0 True \n", + "1 2 False 1 1.0 True \n", + "\n", + " tap_dependent_impedance vk_percent_characteristic \\\n", + "0 True 0.0 \n", + "1 True 2.0 \n", + "\n", + " vkr_percent_characteristic \n", + "0 1.0 \n", + "1 NaN \n", + "\n", + "[2 rows x 26 columns]" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "net6.trafo" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [], + "source": [ + "# does not raise an error\n", + "pp.runpp(net6)" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [], + "source": [ + "# this would raise an error:\n", + "\n", + "# net6.trafo.at[1, \"vk_percent_characteristic\"] = None\n", + "# pp.runpp(net6)" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -697,7 +873,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 26, "metadata": {}, "outputs": [ { @@ -743,7 +919,7 @@ "1 SplineCharacteristic" ] }, - "execution_count": 22, + "execution_count": 26, "metadata": {}, "output_type": "execute_result" } @@ -762,7 +938,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 27, "metadata": {}, "outputs": [ { @@ -779,7 +955,66 @@ } ], "source": [ - "plot_characteristic(net2.characteristic.object.at[0], -2, 2)" + "pp.control.plot_characteristic(net2.characteristic.object.at[0], -2, 2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Diagnostic" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The diagnostic function for transformer tap characteristics checks the following:\n", + " \n", + "* Are there characteristics for tap dependent impedance?\n", + "* Are any columns missing?\n", + "* Are there characteristics that are referenced in the trafo or trafo3w table, but are missing in net.characteristic?\n", + "\n", + "The results are displayed to the user with the help of logging statements." + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "hp.pandapower.control.util.auxiliary - INFO: Checking trafo characteristics\n", + "hp.pandapower.control.util.auxiliary - INFO: trafo: found 1 trafos with tap-dependent impedance\n", + "hp.pandapower.control.util.auxiliary - INFO: No trafo3w with tap-dependent impedance found.\n" + ] + } + ], + "source": [ + "pp.control.trafo_characteristics_diagnostic(net)" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "hp.pandapower.control.util.auxiliary - INFO: Checking trafo characteristics\n", + "hp.pandapower.control.util.auxiliary - INFO: trafo: found 2 trafos with tap-dependent impedance\n", + "hp.pandapower.control.util.auxiliary - INFO: trafo: vkr_percent_characteristic is missing for some trafos\n", + "hp.pandapower.control.util.auxiliary - INFO: No trafo3w with tap-dependent impedance found.\n" + ] + } + ], + "source": [ + "pp.control.trafo_characteristics_diagnostic(net6)" ] }, { From f1c12fee5b3a563424201fef73ca2abeba415fbd Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Mon, 6 Dec 2021 20:17:35 +0100 Subject: [PATCH 356/422] dtype of columns; simple diagnostic function --- pandapower/control/util/auxiliary.py | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/pandapower/control/util/auxiliary.py b/pandapower/control/util/auxiliary.py index 5de14796c..d59b3ea26 100644 --- a/pandapower/control/util/auxiliary.py +++ b/pandapower/control/util/auxiliary.py @@ -217,19 +217,26 @@ def plot_characteristic(characteristic, start, stop, num=20, xlabel=None, ylabel def create_trafo_characteristics(net, trafotable, trafo_index, variable, x_points, y_points): - if len(trafo_index) != len(x_points) or len(trafo_index) != len(y_points): - raise UserWarning("the lengths of the trafo index and points do not match!") + # first, set the missing columns + columns = {"trafo": ["vk_percent_characteristic", "vkr_percent_characteristic"], + "trafo3w": [f"vk{r}_{side}_percent_characteristic" for side in ["hv", "mv", "lv"] for r in ["", "r"]]} if 'tap_dependent_impedance' not in net[trafotable]: - net[trafotable]['tap_dependent_impedance'] = False + net[trafotable]['tap_dependent_impedance'] = pd.Series(index=net[trafotable].index, dtype=bool, data=False) + + for c in columns[trafotable]: + if c not in net[trafotable]: + net[trafotable][c] = pd.Series(index=net[trafotable].index, dtype=np.float64, data=np.nan) + + # check shape of input data + if len(trafo_index) != len(x_points) or len(trafo_index) != len(y_points): + raise UserWarning("the lengths of the trafo index and points do not match!") + # set the flag for the trafo table net[trafotable].loc[trafo_index, 'tap_dependent_impedance'] = True - col = f"{variable}_characteristic" - if col not in net[trafotable]: - net[trafotable][col] = pd.Series(index=net[trafotable].index, dtype=object, data=None) - elif net[trafotable][col].dtype != object: - net[trafotable][col] = net[trafotable][col].astype(object) + # create characteristics for the specified variable and set their indices in the trafo table + col = f"{variable}_characteristic" for tid, x_p, y_p in zip(trafo_index, x_points, y_points): s = SplineCharacteristic(x_p, y_p) @@ -252,12 +259,10 @@ def trafo_characteristics_diagnostic(net): for col in cols: if col not in net[trafo_table]: logger.info("%s: %s is missing" % (trafo_table, col)) - elif net[trafo_table][col].dtype != object: - logger.info("%s: %s is not of type object" % (trafo_table, col)) elif net[trafo_table].loc[tap_dependent_impedance, col].isnull().any(): logger.info("%s: %s is missing for some trafos" % (trafo_table, col)) elif len(set(net[trafo_table].loc[tap_dependent_impedance, col]) - set(net.characteristic.index)) > 0: logger.info("%s: %s contains invalid characteristics indices" % (trafo_table, col)) else: - logger.info(f"{trafo_table}: {col} has {len(net[trafo_table][col].dropna())} characteristics") + logger.debug(f"{trafo_table}: {col} has {len(net[trafo_table][col].dropna())} characteristics") From 0bbf3a7383a1aca3b9dbf3da49e72ef7e04a50a6 Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Mon, 6 Dec 2021 20:18:43 +0100 Subject: [PATCH 357/422] implement the desired behavior if some of the characteristic idx are missing and when all characteristic idx are missing --- pandapower/build_branch.py | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/pandapower/build_branch.py b/pandapower/build_branch.py index 80b15db1a..878d10a43 100644 --- a/pandapower/build_branch.py +++ b/pandapower/build_branch.py @@ -426,28 +426,41 @@ def _get_vk_values(trafo_df, characteristic, trafotype="2W"): use_tap_dependent_impedance = np.any(tap_dependent_impedance) - if use_tap_dependent_impedance and characteristic is None: + if use_tap_dependent_impedance: + # is net.characteristic table in net? + if characteristic is None: raise UserWarning("tap_dependent_impedance of transformers requires net.characteristic") + # if any but 1 characteristic is missing per trafo, we assume it's by design; but if all are misiing, we raise error + # first, we read all characteristic indices + all_characteristic_idx = np.vstack([get_trafo_values(trafo_df, f"{v}_characteristic") for v in vk_variables]).T + # now we check if any trafos that have tap_dependent_impedance have all of the characteristics missing + all_missing = np.isnan(all_characteristic_idx).all(axis=1) & tap_dependent_impedance + if np.any(all_missing): + trafo_index = trafo_df['index'] if isinstance(trafo_df, dict) else trafo_df.index.values + raise UserWarning(f"At least one characteristic must be defined for {trafotype} trafo: {trafo_index[all_missing]}") + vals = () - for vk_var in vk_variables: + for c, vk_var in enumerate(vk_variables): vk_value = get_trafo_values(trafo_df, vk_var) if use_tap_dependent_impedance: - vals += (_calc_tap_dependent_value(trafo_df, tap_pos, vk_value, vk_var, tap_dependent_impedance, characteristic),) + vals += (_calc_tap_dependent_value(trafo_df, tap_pos, vk_value, vk_var, tap_dependent_impedance, + characteristic, all_characteristic_idx[:, c]),) else: vals += (vk_value,) return vals -def _calc_tap_dependent_value(trafo_df, tap_pos, value, variable, tap_dependent_impedance, characteristic): - vk_characteristic_idx = get_trafo_values(trafo_df, f"{variable}_characteristic") +def _calc_tap_dependent_value(trafo_df, tap_pos, value, variable, tap_dependent_impedance, characteristic, characteristic_idx): + # we skip the trafos with NaN characteristics even if tap_dependent_impedance is True (we already checked for missing characteristics) + relevant_idx = tap_dependent_impedance & ~np.isnan(characteristic_idx) vk_characteristic = np.zeros_like(tap_dependent_impedance, dtype="object") - vk_characteristic[tap_dependent_impedance] = characteristic.loc[vk_characteristic_idx[tap_dependent_impedance], 'object'].values + vk_characteristic[relevant_idx] = characteristic.loc[characteristic_idx[relevant_idx], 'object'].values # here dtype must be float otherwise the load flow calculation will fail - return np.where(tap_dependent_impedance, - [c(t).item() if f else np.nan for f, t, c in zip(tap_dependent_impedance, tap_pos, vk_characteristic)], + return np.where(relevant_idx, + [c(t).item() if f else np.nan for f, t, c in zip(relevant_idx, tap_pos, vk_characteristic)], value)#.astype(np.float64) # astype not necessary, but if it fails then uncommenting this may help From f4c61698a7bcd53a1f9276fd42c7a19f7981fc61 Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Tue, 7 Dec 2021 11:48:42 +0100 Subject: [PATCH 358/422] bugfix fro ther wrong indent in _create_costs --- pandapower/converter/pypower/from_ppc.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandapower/converter/pypower/from_ppc.py b/pandapower/converter/pypower/from_ppc.py index a8db0ccee..c6311fd1a 100644 --- a/pandapower/converter/pypower/from_ppc.py +++ b/pandapower/converter/pypower/from_ppc.py @@ -34,7 +34,7 @@ def _create_costs(net, ppc, gen_lookup, type, idx): if not len(ppc['gencost'][idx, COST:]) == 2*ppc['gencost'][idx, NCOST]: logger.error("In gencost line %s, the number n does not fit to the number of values" % idx) - raise NotImplementedError + raise NotImplementedError pp.create_pwl_cost(net, gen_lookup.element.at[idx], gen_lookup.element_type.at[idx], ppc['gencost'][idx, 4:], type) From 112e4b530723d71f67b030aeff7ab6717944a802 Mon Sep 17 00:00:00 2001 From: dlohmeier Date: Wed, 8 Dec 2021 12:57:10 +0100 Subject: [PATCH 359/422] pandas.testing imported with fallback to pandas.util.testing --- pandapower/io_utils.py | 6 +++++- pandapower/toolbox.py | 9 ++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/pandapower/io_utils.py b/pandapower/io_utils.py index b6168b7ae..9ed583779 100644 --- a/pandapower/io_utils.py +++ b/pandapower/io_utils.py @@ -22,7 +22,11 @@ from networkx.readwrite import json_graph from numpy import ndarray, generic, equal, isnan, allclose, any as anynp from packaging import version -from pandas.testing import assert_series_equal, assert_frame_equal + +try: + from pandas.testing import assert_series_equal, assert_frame_equal +except ImportError: + from pandas.util.testing import assert_series_equal, assert_frame_equal try: from cryptography.fernet import Fernet diff --git a/pandapower/toolbox.py b/pandapower/toolbox.py index 8ddf7347c..cadd36f3b 100644 --- a/pandapower/toolbox.py +++ b/pandapower/toolbox.py @@ -9,11 +9,10 @@ from collections.abc import Iterable from itertools import chain +import networkx as nx import numpy as np import pandas as pd -import pandas.testing as pdt from packaging import version - from pandapower.auxiliary import get_indices, pandapowerNet, _preserve_dtypes from pandapower.create import create_switch, create_line_from_parameters, \ create_impedance, create_empty_network, create_gen, create_ext_grid, \ @@ -21,7 +20,11 @@ from pandapower.opf.validate_opf_input import _check_necessary_opf_parameters from pandapower.run import runpp from pandapower.std_types import change_std_type -import networkx as nx + +try: + import pandas.testing as pdt +except ImportError: + import pandas.util.testing as pdt try: from networkx.utils.misc import graphs_equal From 0badae09f904776b078575ad389c088a98085ba7 Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Wed, 8 Dec 2021 17:16:14 +0100 Subject: [PATCH 360/422] added tests, adjusted create functions, finished the tutorial, adjusted documentation, bumped up the version number, CHANGELOG, adjusted other controllers that use characteristics to refer to index instead of using the object directly --- CHANGELOG.rst | 2 + pandapower/__init__.py | 2 +- pandapower/build_branch.py | 8 +- pandapower/control/basic_controller.py | 4 + .../controller/characteristic_control.py | 13 +- .../controller/trafo/TapDependentImpedance.py | 8 +- .../controller/trafo/USetTapControl.py | 12 +- pandapower/control/util/auxiliary.py | 4 +- pandapower/control/util/characteristic.py | 23 +- pandapower/create.py | 228 ++++++++- pandapower/test/api/test_file_io.py | 14 + pandapower/test/control/test_control.py | 6 +- .../control/test_tap_dependent_impedance.py | 16 +- .../test/control/test_u_set_tap_control.py | 6 +- pandapower/test/loadflow/test_results.py | 146 +++++- pandapower/test/loadflow/test_runpp.py | 55 ++- tutorials/tap_dependent_impedance.ipynb | 437 ++++++++++++++++-- tutorials/u_set_tap.ipynb | 14 +- 18 files changed, 889 insertions(+), 109 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 9067dc10c..4db03111f 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -4,7 +4,9 @@ Change Log - [ADDED] "results" initialization for runopp() - [CHANGED] toolbox function nets_equal() - [ADDED] toolbox function merge_same_bus_generation_plants() +- [ADDED] new object table "characteristic", new class "Characteristic" and "SplineCharacteristic" that are callable and return a value based on input according to a specified curve - [ADDED] TapDependentImpedance controller that adjusts the transformer parameters (e.g. vk_percent, vkr_percent) according to the tap position, based on a specified characteristic +- [ADDED] tap dependent impedance internally in build_branch: transformer (2W, 3W) parameters (e.g. vk_percent, vkr_percent) are adjusted according to the tap position based on a specified characteristic in the optional columns [2.7.1]- 2021-07-22 ---------------------- diff --git a/pandapower/__init__.py b/pandapower/__init__.py index e3cee95c8..dbd89fe2f 100644 --- a/pandapower/__init__.py +++ b/pandapower/__init__.py @@ -1,4 +1,4 @@ -__version__ = "2.7.1" +__version__ = "2.7.2" import os pp_dir = os.path.dirname(os.path.realpath(__file__)) diff --git a/pandapower/build_branch.py b/pandapower/build_branch.py index 878d10a43..1a6397047 100644 --- a/pandapower/build_branch.py +++ b/pandapower/build_branch.py @@ -419,6 +419,8 @@ def _get_vk_values(trafo_df, characteristic, trafotype="2W"): if "tap_dependent_impedance" in trafo_df: tap_dependent_impedance = get_trafo_values(trafo_df, "tap_dependent_impedance") + if np.any(np.isnan(tap_dependent_impedance)): + raise UserWarning("tap_dependent_impedance has NaN values, but must be of type bool and set to True or False") tap_pos = get_trafo_values(trafo_df, "tap_pos") else: tap_dependent_impedance = False @@ -433,7 +435,11 @@ def _get_vk_values(trafo_df, characteristic, trafotype="2W"): # if any but 1 characteristic is missing per trafo, we assume it's by design; but if all are misiing, we raise error # first, we read all characteristic indices - all_characteristic_idx = np.vstack([get_trafo_values(trafo_df, f"{v}_characteristic") for v in vk_variables]).T + # we also allow that some columns are not included in the net.trafo table + all_columns = trafo_df.keys() if isinstance(trafo_df, dict) else trafo_df.columns.values + all_characteristic_idx = np.vstack([get_trafo_values(trafo_df, f"{v}_characteristic") + if f"{v}_characteristic" in all_columns else np.full(len(tap_dependent_impedance), np.nan) + for v in vk_variables]).T # now we check if any trafos that have tap_dependent_impedance have all of the characteristics missing all_missing = np.isnan(all_characteristic_idx).all(axis=1) & tap_dependent_impedance if np.any(all_missing): diff --git a/pandapower/control/basic_controller.py b/pandapower/control/basic_controller.py index 7ce918946..c30fa0419 100644 --- a/pandapower/control/basic_controller.py +++ b/pandapower/control/basic_controller.py @@ -28,6 +28,10 @@ def __init__(self, net, in_service=True, order=0, level=0, index=None, recycle=F super().__init__() self.matching_params = dict() if matching_params is None else matching_params # add oneself to net, creating the ['controller'] DataFrame, if necessary + # even though this code is repeated in JSONSerializableClass, it is necessary because of how drop_same_existing_controller works + # it is still needed in JSONSerializableClass because it is used for characteristics + if index is None and "controller" in net.keys(): + index = get_free_id(net.controller) self.index = self.add_controller_to_net(net=net, in_service=in_service, initial_run=initial_run, order=order, level=level, index=index, recycle=recycle, drop_same_existing_ctrl=drop_same_existing_ctrl, overwrite=overwrite, matching_params=matching_params, **kwargs) diff --git a/pandapower/control/controller/characteristic_control.py b/pandapower/control/controller/characteristic_control.py index c47b4ba2c..367109aea 100644 --- a/pandapower/control/controller/characteristic_control.py +++ b/pandapower/control/controller/characteristic_control.py @@ -10,7 +10,7 @@ class CharacteristicControl(Controller): """ Controller that adjusts a certain parameter of an element in pandapower net based on a specified input parameter in pandapower net, - according to a provided characteristic. + according to a provided characteristic. The characteristic is specified by the index in the net.characteristic table. Example: change the tap position of the transformers (net.trafo.tap_pos) based on transformer loading (net.res_trafo.loading_percent) according to a specified linear relationship. To this end, the input element is "res_trafo", the input variable is "loading_percent", the output element is "trafo" and the output variable is "tap_pos". The relationship between the values of the input and output @@ -35,9 +35,8 @@ class CharacteristicControl(Controller): **input_element_index** (int or list or numpy array) - index of elements in the input element table - **characteristic** (object of class Characteristic, or a scipy interpolator object) - characteristic curve that describes the - relationship between the input and - output values + **characteristic_index** (int) - index of the characteristic curve that describes the relationship between the input and + output values **tol** (float) - tolerance for convergence @@ -48,7 +47,7 @@ class CharacteristicControl(Controller): **drop_same_existing_ctrl** (bool, False) - Indicates if already existing controllers of the same type and with the same matching parameters (e.g. at same element) should be dropped """ def __init__(self, net, output_element, output_variable, output_element_index, input_element, input_variable, input_element_index, - characteristic, tol=1e-3, in_service=True, order=0, level=0, drop_same_existing_ctrl=False, matching_params=None, + characteristic_index, tol=1e-3, in_service=True, order=0, level=0, drop_same_existing_ctrl=False, matching_params=None, **kwargs): if matching_params is None: matching_params = {"element": output_element, "input_variable": input_variable, "output_variable": output_variable, @@ -61,7 +60,7 @@ def __init__(self, net, output_element, output_variable, output_element_index, i self.output_element = output_element self.output_variable = output_variable self.output_element_index = output_element_index - self.characteristic = characteristic + self.characteristic_index = characteristic_index self.tol = tol self.applied = False self.values = None @@ -105,7 +104,7 @@ def is_converged(self, net): # read input values input_values = self.read_from_net(net) # calculate set values - self.values = self.characteristic(input_values) + self.values = net.characteristic.object.at[self.characteristic_index](input_values) # read previous set values output_values = self.read_from_net(net, output=True) # compare old and new set values diff --git a/pandapower/control/controller/trafo/TapDependentImpedance.py b/pandapower/control/controller/trafo/TapDependentImpedance.py index c6878825b..3d4aa4413 100644 --- a/pandapower/control/controller/trafo/TapDependentImpedance.py +++ b/pandapower/control/controller/trafo/TapDependentImpedance.py @@ -26,14 +26,14 @@ class TapDependentImpedance(CharacteristicControl): **drop_same_existing_ctrl** (bool, False) - Indicates if already existing controllers of the same type and with the same matching parameters (e.g. at same element) should be dropped """ - def __init__(self, net, transformer_index, characteristic, trafotable="trafo", output_variable="vk_percent", tol=1e-3, restore=True, - in_service=True, order=0, level=0, drop_same_existing_ctrl=False, matching_params=None, **kwargs): + def __init__(self, net, transformer_index, characteristic_index, trafotable="trafo", output_variable="vk_percent", tol=1e-3, + restore=True, in_service=True, order=0, level=0, drop_same_existing_ctrl=False, matching_params=None, **kwargs): if matching_params is None: matching_params = {"transformer_index": transformer_index, 'output_variable': output_variable} super().__init__(net, output_element=trafotable, output_variable=output_variable, output_element_index=transformer_index, input_element=trafotable, input_variable="tap_pos", input_element_index=transformer_index, - characteristic=characteristic, tol=tol, in_service=in_service, order=order, - level=level, drop_same_existing_ctrl=drop_same_existing_ctrl, matching_params=matching_params, **kwargs) + characteristic_index=characteristic_index, tol=tol, in_service=in_service, order=order, level=level, + drop_same_existing_ctrl=drop_same_existing_ctrl, matching_params=matching_params, **kwargs) self.restore=restore self.initial_values = net[trafotable].loc[transformer_index, output_variable].copy() diff --git a/pandapower/control/controller/trafo/USetTapControl.py b/pandapower/control/controller/trafo/USetTapControl.py index bc9ac0012..23cf3f9ab 100644 --- a/pandapower/control/controller/trafo/USetTapControl.py +++ b/pandapower/control/controller/trafo/USetTapControl.py @@ -25,12 +25,12 @@ class USetTapControl(CharacteristicControl): **drop_same_existing_ctrl** (bool, False) - Indicates if already existing controllers of the same type and with the same matching parameters (e.g. at same element) should be dropped """ - def __init__(self, net, cid, variable='p_hv_mw', characteristic=Characteristic([10, 20], [0.95, 1.05]), tol=1e-3, in_service=True, + def __init__(self, net, controller_index, characteristic_index, variable='p_hv_mw', tol=1e-3, in_service=True, order=0, level=0, drop_same_existing_ctrl=False, matching_params=None, **kwargs): if matching_params is None: - matching_params = {"cid": cid, 'variable': variable} - c = net.controller.at[cid, 'object'] - super().__init__(net, output_element="controller", output_variable="object.vm_set_pu", output_element_index=cid, + matching_params = {"cid": controller_index, 'variable': variable} + c = net.controller.at[controller_index, 'object'] + super().__init__(net, output_element="controller", output_variable="object.vm_set_pu", output_element_index=controller_index, input_element="res_" + c.trafotable, input_variable=variable, input_element_index=c.tid, - characteristic=characteristic, tol=tol, in_service=in_service, order=order, - level=level, drop_same_existing_ctrl=drop_same_existing_ctrl, matching_params=matching_params, **kwargs) \ No newline at end of file + characteristic_index=characteristic_index, tol=tol, in_service=in_service, order=order, level=level, + drop_same_existing_ctrl=drop_same_existing_ctrl, matching_params=matching_params, **kwargs) \ No newline at end of file diff --git a/pandapower/control/util/auxiliary.py b/pandapower/control/util/auxiliary.py index d59b3ea26..72648eb48 100644 --- a/pandapower/control/util/auxiliary.py +++ b/pandapower/control/util/auxiliary.py @@ -239,8 +239,8 @@ def create_trafo_characteristics(net, trafotable, trafo_index, variable, x_point col = f"{variable}_characteristic" for tid, x_p, y_p in zip(trafo_index, x_points, y_points): - s = SplineCharacteristic(x_p, y_p) - net[trafotable].at[tid, col] = s.add_to_net(net, "characteristic") + s = SplineCharacteristic(net, x_p, y_p) + net[trafotable].at[tid, col] = s.index def trafo_characteristics_diagnostic(net): diff --git a/pandapower/control/util/characteristic.py b/pandapower/control/util/characteristic.py index 543ed364a..c29ccb607 100644 --- a/pandapower/control/util/characteristic.py +++ b/pandapower/control/util/characteristic.py @@ -30,17 +30,17 @@ class Characteristic(JSONSerializableClass): is desired, linear rising to a max. of 20kW at 1.05pu # You can give points by lists of x/y-values - >>> c = Characteristic(x_values=[0.95, 1.05], y_values=[10, 20]) + >>> c = Characteristic(net, x_values=[0.95, 1.05],y_values=[10, 20]) >>> c.target(x=1.0) 15.0 # or pass a list of points (x,y) - >>> c = Characteristic.from_points(points=[(0.95, 10), (1.05, 20)]) + >>> c = Characteristic.from_points(net,points=[(0.95, 10), (1.05, 20)]) >>> c.target(x=1.0) 15.0 # or in a simple case from a gradient, its zero crossing and the maximal values for y - >>> c = Characteristic.from_gradient(zero_crossing=-85, gradient=100, y_min=10, y_max=20) + >>> c = Characteristic.from_gradient(net,zero_crossing=-85,gradient=100,y_min=10,y_max=20) >>> c.target(x=1.0) 15.0 @@ -52,7 +52,7 @@ class Characteristic(JSONSerializableClass): # Create a curve with many points and ask for the difference between the y-value being measured and the expected y-value for a given x-value - >>> c = Characteristic.from_points(points=[(1,2),(2,4),(3,2),(42,24)]) + >>> c = Characteristic.from_points(net,points=[(1,2),(2,4),(3,2),(42,24)]) >>> c.diff(x=2.5, measured=3) 0.0 @@ -64,21 +64,22 @@ class Characteristic(JSONSerializableClass): False """ - def __init__(self, x_values, y_values): + def __init__(self, net, x_values, y_values): super().__init__() self.x_vals = x_values self.y_vals = y_values + self.index = super().add_to_net(net, "characteristic") @classmethod - def from_points(cls, points): + def from_points(cls, net, points): unzipped = list(zip(*points)) - return cls(unzipped[0], unzipped[1]) + return cls(net, unzipped[0], unzipped[1]) @classmethod - def from_gradient(cls, zero_crossing, gradient, y_min, y_max): + def from_gradient(cls, net, zero_crossing, gradient, y_min, y_max): x_left = (y_min - zero_crossing) / float(gradient) x_right = (y_max - zero_crossing) / float(gradient) - return cls([x_left, x_right], [y_min, y_max]) + return cls(net, [x_left, x_right], [y_min, y_max]) def diff(self, x, measured): """ @@ -124,8 +125,8 @@ def __repr__(self): class SplineCharacteristic(Characteristic): json_excludes = ["self", "__class__", "_interpolator"] - def __init__(self, x_values, y_values): - super().__init__(x_values=x_values, y_values=y_values) + def __init__(self, net, x_values, y_values): + super().__init__(net, x_values=x_values, y_values=y_values) @property def interpolator(self): diff --git a/pandapower/create.py b/pandapower/create.py index 53fb64918..dbc11e5e6 100644 --- a/pandapower/create.py +++ b/pandapower/create.py @@ -2120,7 +2120,9 @@ def create_lines_from_parameters(net, from_buses, to_buses, length_km, r_ohm_per def create_transformer(net, hv_bus, lv_bus, std_type, name=None, tap_pos=nan, in_service=True, - index=None, max_loading_percent=nan, parallel=1, df=1.): + index=None, max_loading_percent=nan, parallel=1, df=1., + tap_dependent_impedance=None, vk_percent_characteristic=None, + vkr_percent_characteristic=None): """ Creates a two-winding transformer in table net["trafo"]. The trafo parameters are defined through the standard type library. @@ -2168,6 +2170,20 @@ def create_transformer(net, hv_bus, lv_bus, std_type, name=None, tap_pos=nan, in **df** (float) - derating factor: maximal current of transformer in relation to nominal \ current of transformer (from 0 to 1) + **tap_dependent_impedance** (boolean) - True if transformer impedance must be adjusted dependent \ + on the tap position of the trabnsformer. Requires the additional columns \ + "vk_percent_characteristic" and "vkr_percent_characteristic" that reference the index of the \ + characteristic from the table net.characteristic. A convenience function \ + pandapower.control.create_trafo_characteristics can be used to create the SplineCharacteristic \ + objects, add the relevant columns and set up the references to the characteristics. \ + The function pandapower.control.trafo_characteristics_diagnostic can be used for sanity checks. + + **vk_percent_characteristic** (int) - index of the characteristic from net.characteristic for \ + the adjustment of the parameter "vk_percent" for the calculation of tap dependent impedance. + + **vkr_percent_characteristic** (int) - index of the characteristic from net.characteristic for \ + the adjustment of the parameter "vk_percent" for the calculation of tap dependent impedance. + OUTPUT: **index** (int) - The unique ID of the created transformer @@ -2220,6 +2236,13 @@ def create_transformer(net, hv_bus, lv_bus, std_type, name=None, tap_pos=nan, in _create_column_and_set_value(net, index, max_loading_percent, "max_loading_percent", "trafo") + if tap_dependent_impedance is not None: + _create_column_and_set_value(net, index, tap_dependent_impedance, "tap_dependent_impedance", "trafo", bool_, False, True) + if vk_percent_characteristic is not None: + _create_column_and_set_value(net, index, vk_percent_characteristic, "vk_percent_characteristic", "trafo") + if vkr_percent_characteristic is not None: + _create_column_and_set_value(net, index, vkr_percent_characteristic, "vkr_percent_characteristic", "trafo") + # tap_phase_shifter default False net.trafo.tap_phase_shifter.fillna(False, inplace=True) @@ -2237,7 +2260,9 @@ def create_transformer_from_parameters(net, hv_bus, lv_bus, sn_mva, vn_hv_kv, vn df=1., vk0_percent=nan, vkr0_percent=nan, mag0_percent=nan, mag0_rx=nan, si0_hv_partial=nan, - pt_percent=nan, oltc=False, **kwargs): + pt_percent=nan, oltc=False, tap_dependent_impedance=None, + vk_percent_characteristic=None, + vkr_percent_characteristic=None, **kwargs): """ Creates a two-winding transformer in table net["trafo"]. The trafo parameters are defined through the standard type library. @@ -2317,6 +2342,20 @@ def create_transformer_from_parameters(net, hv_bus, lv_bus, sn_mva, vn_hv_kv, vn **df** (float) - derating factor: maximal current of transformer in relation to nominal \ current of transformer (from 0 to 1) + **tap_dependent_impedance** (boolean) - True if transformer impedance must be adjusted dependent \ + on the tap position of the trabnsformer. Requires the additional columns \ + "vk_percent_characteristic" and "vkr_percent_characteristic" that reference the index of the \ + characteristic from the table net.characteristic. A convenience function \ + pandapower.control.create_trafo_characteristics can be used to create the SplineCharacteristic \ + objects, add the relevant columns and set up the references to the characteristics. \ + The function pandapower.control.trafo_characteristics_diagnostic can be used for sanity checks. + + **vk_percent_characteristic** (int) - index of the characteristic from net.characteristic for \ + the adjustment of the parameter "vk_percent" for the calculation of tap dependent impedance. + + **vkr_percent_characteristic** (int) - index of the characteristic from net.characteristic for \ + the adjustment of the parameter "vk_percent" for the calculation of tap dependent impedance. + **pt_percent** (float, nan) - (short circuit only) **oltc** (bool, False) - (short circuit only) @@ -2364,6 +2403,13 @@ def create_transformer_from_parameters(net, hv_bus, lv_bus, sn_mva, vn_hv_kv, vn _set_entries(net, "trafo", index, **v, **kwargs) + if tap_dependent_impedance is not None: + _create_column_and_set_value(net, index, tap_dependent_impedance, "tap_dependent_impedance", "trafo", bool_, False, True) + if vk_percent_characteristic is not None: + _create_column_and_set_value(net, index, vk_percent_characteristic, "vk_percent_characteristic", "trafo") + if vkr_percent_characteristic is not None: + _create_column_and_set_value(net, index, vkr_percent_characteristic, "vkr_percent_characteristic", "trafo") + if not (isnan(vk0_percent) and isnan(vkr0_percent) and isnan(mag0_percent) and isnan(mag0_rx) and isnan(si0_hv_partial) and vector_group is None): _create_column_and_set_value(net, index, vk0_percent, "vk0_percent", "trafo") @@ -2387,7 +2433,9 @@ def create_transformers_from_parameters(net, hv_buses, lv_buses, sn_mva, vn_hv_k vector_group=None, index=None, max_loading_percent=None, parallel=1, df=1., vk0_percent=None, vkr0_percent=None, mag0_percent=None, mag0_rx=None, si0_hv_partial=None, - pt_percent=nan, oltc=False, **kwargs): + pt_percent=nan, oltc=False, tap_dependent_impedance=None, + vk_percent_characteristic=None, + vkr_percent_characteristic=None, **kwargs): """ Creates several two-winding transformers in table net["trafo"]. The trafo parameters are defined through the standard type library. @@ -2468,6 +2516,20 @@ def create_transformers_from_parameters(net, hv_buses, lv_buses, sn_mva, vn_hv_k **df** (float) - derating factor: maximal current of transformer in relation to nominal \ current of transformer (from 0 to 1) + **tap_dependent_impedance** (boolean) - True if transformer impedance must be adjusted dependent \ + on the tap position of the trabnsformer. Requires the additional columns \ + "vk_percent_characteristic" and "vkr_percent_characteristic" that reference the index of the \ + characteristic from the table net.characteristic. A convenience function \ + pandapower.control.create_trafo_characteristics can be used to create the SplineCharacteristic \ + objects, add the relevant columns and set up the references to the characteristics. \ + The function pandapower.control.trafo_characteristics_diagnostic can be used for sanity checks. + + **vk_percent_characteristic** (int) - index of the characteristic from net.characteristic for \ + the adjustment of the parameter "vk_percent" for the calculation of tap dependent impedance. + + **vkr_percent_characteristic** (int) - index of the characteristic from net.characteristic for \ + the adjustment of the parameter "vk_percent" for the calculation of tap dependent impedance. + **pt_percent** (float, nan) - (short circuit only) **oltc** (bool, False) - (short circuit only) @@ -2498,6 +2560,13 @@ def create_transformers_from_parameters(net, hv_buses, lv_buses, sn_mva, vn_hv_k "tap_phase_shifter": tap_phase_shifter, "parallel": parallel, "df": df, "pt_percent": pt_percent, "oltc": oltc} + if tap_dependent_impedance is not None: + _add_series_to_entries(entries, index, "tap_dependent_impedance", tap_dependent_impedance, dtype=bool_, default_val=False) + if vk_percent_characteristic is not None: + _add_series_to_entries(entries, index, "vk_percent_characteristic", vk_percent_characteristic) + if vkr_percent_characteristic is not None: + _add_series_to_entries(entries, index, "vkr_percent_characteristic", vkr_percent_characteristic) + _add_series_to_entries(entries, index, "vk0_percent", vk0_percent) _add_series_to_entries(entries, index, "vkr0_percent", vkr0_percent) _add_series_to_entries(entries, index, "mag0_percent", mag0_percent) @@ -2514,7 +2583,10 @@ def create_transformers_from_parameters(net, hv_buses, lv_buses, sn_mva, vn_hv_k def create_transformer3w(net, hv_bus, mv_bus, lv_bus, std_type, name=None, tap_pos=nan, in_service=True, index=None, max_loading_percent=nan, - tap_at_star_point=False): + tap_at_star_point=False, tap_dependent_impedance=None, + vk_hv_percent_characteristic=None, vkr_hv_percent_characteristic=None, + vk_mv_percent_characteristic=None, vkr_mv_percent_characteristic=None, + vk_lv_percent_characteristic=None, vkr_lv_percent_characteristic=None): """ Creates a three-winding transformer in table net["trafo3w"]. The trafo parameters are defined through the standard type library. @@ -2550,6 +2622,32 @@ def create_transformer3w(net, hv_bus, mv_bus, lv_bus, std_type, name=None, tap_p **tap_at_star_point (bool)** - whether tap changer is modelled at star point or at the bus + **tap_dependent_impedance** (boolean) - True if transformer impedance must be adjusted dependent \ + on the tap position of the trabnsformer. Requires the additional columns \ + "vk_percent_characteristic" and "vkr_percent_characteristic" that reference the index of the \ + characteristic from the table net.characteristic. A convenience function \ + pandapower.control.create_trafo_characteristics can be used to create the SplineCharacteristic \ + objects, add the relevant columns and set up the references to the characteristics. \ + The function pandapower.control.trafo_characteristics_diagnostic can be used for sanity checks. + + **vk_hv_percent_characteristic** (int) - index of the characteristic from net.characteristic for \ + the adjustment of the parameter "vk_percent" for the calculation of tap dependent impedance. + + **vkr_hv_percent_characteristic** (int) - index of the characteristic from net.characteristic for \ + the adjustment of the parameter "vk_percent" for the calculation of tap dependent impedance. + + **vk_mv_percent_characteristic** (int) - index of the characteristic from net.characteristic for \ + the adjustment of the parameter "vk_percent" for the calculation of tap dependent impedance. + + **vkr_mv_percent_characteristic** (int) - index of the characteristic from net.characteristic for \ + the adjustment of the parameter "vk_percent" for the calculation of tap dependent impedance. + + **vk_lv_percent_characteristic** (int) - index of the characteristic from net.characteristic for \ + the adjustment of the parameter "vk_percent" for the calculation of tap dependent impedance. + + **vkr_lv_percent_characteristic** (int) - index of the characteristic from net.characteristic for \ + the adjustment of the parameter "vk_percent" for the calculation of tap dependent impedance. + OUTPUT: **index** (int) - The unique ID of the created transformer @@ -2613,6 +2711,21 @@ def create_transformer3w(net, hv_bus, mv_bus, lv_bus, std_type, name=None, tap_p _create_column_and_set_value(net, index, max_loading_percent, "max_loading_percent", "trafo3w") + if tap_dependent_impedance is not None: + _create_column_and_set_value(net, index, tap_dependent_impedance, "tap_dependent_impedance", "trafo", bool_, False, True) + if vk_hv_percent_characteristic is not None: + _create_column_and_set_value(net, index, vk_hv_percent_characteristic, "vk_hv_percent_characteristic", "trafo") + if vkr_hv_percent_characteristic is not None: + _create_column_and_set_value(net, index, vkr_hv_percent_characteristic, "vkr_hv_percent_characteristic", "trafo") + if vk_mv_percent_characteristic is not None: + _create_column_and_set_value(net, index, vk_mv_percent_characteristic, "vk_mv_percent_characteristic", "trafo") + if vkr_mv_percent_characteristic is not None: + _create_column_and_set_value(net, index, vkr_mv_percent_characteristic, "vkr_mv_percent_characteristic", "trafo") + if vk_lv_percent_characteristic is not None: + _create_column_and_set_value(net, index, vk_lv_percent_characteristic, "vk_lv_percent_characteristic", "trafo") + if vkr_lv_percent_characteristic is not None: + _create_column_and_set_value(net, index, vkr_lv_percent_characteristic, "vkr_lv_percent_characteristic", "trafo") + return index @@ -2627,7 +2740,10 @@ def create_transformer3w_from_parameters(net, hv_bus, mv_bus, lv_bus, vn_hv_kv, max_loading_percent=nan, tap_at_star_point=False, vk0_hv_percent=nan, vk0_mv_percent=nan, vk0_lv_percent=nan, vkr0_hv_percent=nan, vkr0_mv_percent=nan, vkr0_lv_percent=nan, - vector_group=None): + vector_group=None, tap_dependent_impedance=None, + vk_hv_percent_characteristic=None, vkr_hv_percent_characteristic=None, + vk_mv_percent_characteristic=None, vkr_mv_percent_characteristic=None, + vk_lv_percent_characteristic=None, vkr_lv_percent_characteristic=None): """ Adds a three-winding transformer in table net["trafo3w"]. The model currently only supports one tap-changer per 3W Transformer. @@ -2701,6 +2817,32 @@ def create_transformer3w_from_parameters(net, hv_bus, mv_bus, lv_bus, vn_hv_kv, **max_loading_percent (float)** - maximum current loading (only needed for OPF) + **tap_dependent_impedance** (boolean) - True if transformer impedance must be adjusted dependent \ + on the tap position of the trabnsformer. Requires the additional columns \ + "vk_percent_characteristic" and "vkr_percent_characteristic" that reference the index of the \ + characteristic from the table net.characteristic. A convenience function \ + pandapower.control.create_trafo_characteristics can be used to create the SplineCharacteristic \ + objects, add the relevant columns and set up the references to the characteristics. \ + The function pandapower.control.trafo_characteristics_diagnostic can be used for sanity checks. + + **vk_hv_percent_characteristic** (int) - index of the characteristic from net.characteristic for \ + the adjustment of the parameter "vk_percent" for the calculation of tap dependent impedance. + + **vkr_hv_percent_characteristic** (int) - index of the characteristic from net.characteristic for \ + the adjustment of the parameter "vk_percent" for the calculation of tap dependent impedance. + + **vk_mv_percent_characteristic** (int) - index of the characteristic from net.characteristic for \ + the adjustment of the parameter "vk_percent" for the calculation of tap dependent impedance. + + **vkr_mv_percent_characteristic** (int) - index of the characteristic from net.characteristic for \ + the adjustment of the parameter "vk_percent" for the calculation of tap dependent impedance. + + **vk_lv_percent_characteristic** (int) - index of the characteristic from net.characteristic for \ + the adjustment of the parameter "vk_percent" for the calculation of tap dependent impedance. + + **vkr_lv_percent_characteristic** (int) - index of the characteristic from net.characteristic for \ + the adjustment of the parameter "vk_percent" for the calculation of tap dependent impedance. + **vk0_hv_percent** (float) - zero sequence short circuit voltage from high to medium voltage **vk0_mv_percent** (float) - zero sequence short circuit voltage from medium to low voltage @@ -2756,6 +2898,21 @@ def create_transformer3w_from_parameters(net, hv_bus, mv_bus, lv_bus, vn_hv_kv, _create_column_and_set_value(net, index, max_loading_percent, "max_loading_percent", "trafo3w") + if tap_dependent_impedance is not None: + _create_column_and_set_value(net, index, tap_dependent_impedance, "tap_dependent_impedance", "trafo", bool_, False, True) + if vk_hv_percent_characteristic is not None: + _create_column_and_set_value(net, index, vk_hv_percent_characteristic, "vk_hv_percent_characteristic", "trafo") + if vkr_hv_percent_characteristic is not None: + _create_column_and_set_value(net, index, vkr_hv_percent_characteristic, "vkr_hv_percent_characteristic", "trafo") + if vk_mv_percent_characteristic is not None: + _create_column_and_set_value(net, index, vk_mv_percent_characteristic, "vk_mv_percent_characteristic", "trafo") + if vkr_mv_percent_characteristic is not None: + _create_column_and_set_value(net, index, vkr_mv_percent_characteristic, "vkr_mv_percent_characteristic", "trafo") + if vk_lv_percent_characteristic is not None: + _create_column_and_set_value(net, index, vk_lv_percent_characteristic, "vk_lv_percent_characteristic", "trafo") + if vkr_lv_percent_characteristic is not None: + _create_column_and_set_value(net, index, vkr_lv_percent_characteristic, "vkr_lv_percent_characteristic", "trafo") + return index @@ -2770,7 +2927,10 @@ def create_transformers3w_from_parameters(net, hv_buses, mv_buses, lv_buses, vn_ tap_at_star_point=False, vk0_hv_percent=nan, vk0_mv_percent=nan, vk0_lv_percent=nan, vkr0_hv_percent=nan, vkr0_mv_percent=nan, vkr0_lv_percent=nan, - vector_group=None, **kwargs): + vector_group=None, tap_dependent_impedance=None, + vk_hv_percent_characteristic=None, vkr_hv_percent_characteristic=None, + vk_mv_percent_characteristic=None, vkr_mv_percent_characteristic=None, + vk_lv_percent_characteristic=None, vkr_lv_percent_characteristic=None, **kwargs): """ Adds a three-winding transformer in table net["trafo3w"]. @@ -2849,6 +3009,32 @@ def create_transformers3w_from_parameters(net, hv_buses, mv_buses, lv_buses, vn_ **max_loading_percent (float)** - maximum current loading (only needed for OPF) + **tap_dependent_impedance** (boolean) - True if transformer impedance must be adjusted dependent \ + on the tap position of the trabnsformer. Requires the additional columns \ + "vk_percent_characteristic" and "vkr_percent_characteristic" that reference the index of the \ + characteristic from the table net.characteristic. A convenience function \ + pandapower.control.create_trafo_characteristics can be used to create the SplineCharacteristic \ + objects, add the relevant columns and set up the references to the characteristics. \ + The function pandapower.control.trafo_characteristics_diagnostic can be used for sanity checks. + + **vk_hv_percent_characteristic** (int) - index of the characteristic from net.characteristic for \ + the adjustment of the parameter "vk_percent" for the calculation of tap dependent impedance. + + **vkr_hv_percent_characteristic** (int) - index of the characteristic from net.characteristic for \ + the adjustment of the parameter "vk_percent" for the calculation of tap dependent impedance. + + **vk_mv_percent_characteristic** (int) - index of the characteristic from net.characteristic for \ + the adjustment of the parameter "vk_percent" for the calculation of tap dependent impedance. + + **vkr_mv_percent_characteristic** (int) - index of the characteristic from net.characteristic for \ + the adjustment of the parameter "vk_percent" for the calculation of tap dependent impedance. + + **vk_lv_percent_characteristic** (int) - index of the characteristic from net.characteristic for \ + the adjustment of the parameter "vk_percent" for the calculation of tap dependent impedance. + + **vkr_lv_percent_characteristic** (int) - index of the characteristic from net.characteristic for \ + the adjustment of the parameter "vk_percent" for the calculation of tap dependent impedance. + **vk0_hv_percent** (float) - zero sequence short circuit voltage from high to medium voltage **vk0_mv_percent** (float) - zero sequence short circuit voltage from medium to low voltage @@ -2908,6 +3094,21 @@ def create_transformers3w_from_parameters(net, hv_buses, mv_buses, lv_buses, vn_ _add_series_to_entries(entries, index, "max_loading_percent", max_loading_percent) + if tap_dependent_impedance is not None: + _add_series_to_entries(entries, index, "tap_dependent_impedance", tap_dependent_impedance, dtype=bool_, default_val=False) + if vk_hv_percent_characteristic is not None: + _add_series_to_entries(entries, index, "vk_hv_percent_characteristic", vk_hv_percent_characteristic) + if vkr_hv_percent_characteristic is not None: + _add_series_to_entries(entries, index, "vkr_hv_percent_characteristic", vkr_hv_percent_characteristic) + if vk_mv_percent_characteristic is not None: + _add_series_to_entries(entries, index, "vk_mv_percent_characteristic", vk_mv_percent_characteristic) + if vkr_mv_percent_characteristic is not None: + _add_series_to_entries(entries, index, "vkr_mv_percent_characteristic", vkr_mv_percent_characteristic) + if vk_lv_percent_characteristic is not None: + _add_series_to_entries(entries, index, "vk_lv_percent_characteristic", vk_lv_percent_characteristic) + if vkr_lv_percent_characteristic is not None: + _add_series_to_entries(entries, index, "vkr_lv_percent_characteristic", vkr_lv_percent_characteristic) + _set_multiple_entries(net, "trafo3w", index, **entries, **kwargs) return index @@ -3625,12 +3826,15 @@ def _create_column_and_set_value(net, index, variable, column, element, dtyp=flo set_value = True if set_value: if column not in net[element].columns: - if isinstance(default_val, str) \ - and version.parse(pd.__version__) < version.parse("1.0"): - net[element].loc[:, column] = pd.Series([default_val] * len(net[element]), - dtype=dtyp) - else: - net[element].loc[:, column] = pd.Series(default_val, dtype=dtyp) + # # unclear why this if-clause is necessary, so commenting out for now + # if isinstance(default_val, str) \ + # and version.parse(pd.__version__) < version.parse("1.0"): + # net[element].loc[:, column] = pd.Series([default_val] * len(net[element]), + # dtype=dtyp) + # else: + # # this does not work properly (only sets 1 entry but not all to default_nan): + # net[element].loc[:, column] = pd.Series(default_val, dtype=dtyp) + net[element].loc[:, column] = pd.Series(data=default_val, index=net[element].index, dtype=dtyp) net[element].at[index, column] = variable elif default_for_nan and column in net[element].columns: net[element].at[index, column] = default_val diff --git a/pandapower/test/api/test_file_io.py b/pandapower/test/api/test_file_io.py index f37b7f7fb..70e3d56fe 100644 --- a/pandapower/test/api/test_file_io.py +++ b/pandapower/test/api/test_file_io.py @@ -380,5 +380,19 @@ def test_empty_geo_dataframe(): net1 = pp.from_json_string(s) assert assert_net_equal(net, net1) + +def test_json_io_with_characteristics(net_in): + c1 = pp.control.Characteristic.from_points(net_in, [(0, 0), (1, 1)]) + c2 = pp.control.SplineCharacteristic.from_points(net_in, [(2, 2), (3, 4), (4, 5)]) + + net_out = pp.from_json_string(pp.to_json(net_in)) + assert_net_equal(net_in, net_out) + assert "characteristic" in net_out.keys() + assert isinstance(net_out.characteristic.object.at[c1.index], pp.control.Characteristic) + assert isinstance(net_out.characteristic.object.at[c2.index], pp.control.SplineCharacteristic) + assert np.isclose(net_out.characteristic.object.at[c1.index](0.5), c1(0.5), rtol=0, atol=1e-12) + assert np.isclose(net_out.characteristic.object.at[c2.index](2.5), c2(2.5), rtol=0, atol=1e-12) + + if __name__ == "__main__": pytest.main([__file__, "-s"]) diff --git a/pandapower/test/control/test_control.py b/pandapower/test/control/test_control.py index 158e418dc..3ef2e4511 100644 --- a/pandapower/test/control/test_control.py +++ b/pandapower/test/control/test_control.py @@ -188,7 +188,6 @@ def test_level_in_service(net): def test_matching_params(net): - c0 = DummyController(net) c1 = DummyController(net, order=1, drop_same_existing_ctrl=True) assert not len(net.controller.index.difference([0, 1])) @@ -197,9 +196,14 @@ def test_matching_params(net): c3 = DummyController(net, matching_params={"level": 0, "order": 0, "in_service": True}, drop_same_existing_ctrl=True) assert not len(net.controller.index.difference([1, 3])) + assert net.controller.object.at[3] is not c2 + assert net.controller.object.at[3] is c3 + assert c2 not in net.controller.object.values c4 = DummyController(net, in_service=False, drop_same_existing_ctrl=True, matching_params={"level": 0, "order": 0, "in_service": False}) assert not len(net.controller.index.difference([1, 3, 4])) + assert net.controller.object.at[3] is c3 + assert net.controller.object.at[4] is c4 if __name__ == '__main__': diff --git a/pandapower/test/control/test_tap_dependent_impedance.py b/pandapower/test/control/test_tap_dependent_impedance.py index cd6e5b95c..4ea610b07 100644 --- a/pandapower/test/control/test_tap_dependent_impedance.py +++ b/pandapower/test/control/test_tap_dependent_impedance.py @@ -15,10 +15,10 @@ def test_tap_dependent_impedance_control(): pp.create_ext_grid(net, b1) pp.create_transformer_from_parameters(net, b1, b2, 40, 110, 21, 0.5, 12.3, 25, 0.11, 0, 'hv', 10, 20, 0, 1.8, 180, 10) - characteristic_vk = Characteristic.from_points(((0, 13.5), (10, 12.3), (20, 11.1))) - characteristic_vkr = Characteristic.from_points(((0, 0.52), (10, 0.5), (20, 0.53))) - TapDependentImpedance(net, 0, characteristic_vk, output_variable='vk_percent', restore=False) - TapDependentImpedance(net, 0, characteristic_vkr, output_variable='vkr_percent', restore=False) + characteristic_vk = Characteristic.from_points(net, ((0, 13.5), (10, 12.3), (20, 11.1))) + characteristic_vkr = Characteristic.from_points(net, ((0, 0.52), (10, 0.5), (20, 0.53))) + TapDependentImpedance(net, 0, characteristic_vk.index, output_variable='vk_percent', restore=False) + TapDependentImpedance(net, 0, characteristic_vkr.index, output_variable='vkr_percent', restore=False) pp.runpp(net, run_control=True) assert net.trafo.vk_percent.at[0] == 12.3 @@ -43,10 +43,10 @@ def test_tap_dependent_impedance_restore(): pp.create_load(net, b2, 20) pp.create_transformer_from_parameters(net, b1, b2, 40, 110, 21, 0.5, 12.3, 25, 0.11, 0, 'hv', 10, 20, 0, 1.8, 180, 10) - characteristic_vk = Characteristic.from_points(((0, 13.5), (10, 12.3), (20, 11.1))) - characteristic_vkr = Characteristic.from_points(((0, 0.52), (10, 0.5), (20, 0.53))) - TapDependentImpedance(net, 0, characteristic_vk, output_variable='vk_percent', restore=True) - TapDependentImpedance(net, 0, characteristic_vkr, output_variable='vkr_percent', restore=True) + characteristic_vk = Characteristic.from_points(net, ((0, 13.5), (10, 12.3), (20, 11.1))) + characteristic_vkr = Characteristic.from_points(net, ((0, 0.52), (10, 0.5), (20, 0.53))) + TapDependentImpedance(net, 0, characteristic_vk.index, output_variable='vk_percent', restore=True) + TapDependentImpedance(net, 0, characteristic_vkr.index, output_variable='vkr_percent', restore=True) pp.runpp(net, run_control=True) # remember the losses for the neutral position diff --git a/pandapower/test/control/test_u_set_tap_control.py b/pandapower/test/control/test_u_set_tap_control.py index 1d6cdc4b2..613cc7ad2 100644 --- a/pandapower/test/control/test_u_set_tap_control.py +++ b/pandapower/test/control/test_u_set_tap_control.py @@ -19,7 +19,8 @@ def test_continuous_p(): c = control.ContinuousTapControl(net, t, 1., tol=eps) - tc = control.USetTapControl(net, 0, characteristic=Characteristic([10, 20], [0.95, 1.05]), tol=eps) + characteristic = Characteristic(net, [10, 20], [0.95, 1.05]) + tc = control.USetTapControl(net, 0, characteristic.index, tol=eps) # create 20kW load lid = pp.create_load(net, lv, 20) @@ -71,7 +72,8 @@ def test_continuous_i(): c = control.ContinuousTapControl(net, t, 1., tol=eps) # a different characteristic for i_lv_ka rather than for p_lv_mw - tc = control.USetTapControl(net, 0, variable='i_lv_ka', characteristic=Characteristic([0.315, 0.55], [0.95, 1.05]), tol=eps) + characteristic = Characteristic(net, [0.315, 0.55], [0.95, 1.05]) + tc = control.USetTapControl(net, 0, characteristic.index, variable='i_lv_ka', tol=eps) # create 20kW load lid = pp.create_load(net, lv, 20) diff --git a/pandapower/test/loadflow/test_results.py b/pandapower/test/loadflow/test_results.py index bd0198704..9f2d37921 100644 --- a/pandapower/test/loadflow/test_results.py +++ b/pandapower/test/loadflow/test_results.py @@ -2,15 +2,49 @@ # Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. - - +import pandas as pd import pytest -from numpy import in1d, isnan +from numpy import in1d, isnan, isclose import pandapower as pp +import pandapower.control from pandapower.test.consistency_checks import runpp_with_consistency_checks from pandapower.test.loadflow.result_test_network_generator import add_test_enforce_qlims, \ add_test_gen +from pandapower.test.toolbox import assert_res_equal + + +# simple example grid for tap dependent impedance tests: + +def add_trafo_connection(net, hv_bus, trafotype="2W"): + cb = pp.create_bus(net, vn_kv=0.4) + pp.create_load(net, cb, 0.2, 0.05) + + if trafotype == "3W": + cbm = pp.create_bus(net, vn_kv=0.9) + pp.create_load(net, cbm, 0.1, 0.03) + pp.create_transformer3w_from_parameters(net, hv_bus=hv_bus, mv_bus=cbm, lv_bus=cb, + vn_hv_kv=20., vn_mv_kv=0.9, vn_lv_kv=0.45, sn_hv_mva=0.6, sn_mv_mva=0.5, + sn_lv_mva=0.4, vk_hv_percent=1., vk_mv_percent=1., vk_lv_percent=1., + vkr_hv_percent=0.3, vkr_mv_percent=0.3, vkr_lv_percent=0.3, + pfe_kw=0.2, i0_percent=0.3, tap_neutral=0., + tap_pos=2, tap_step_percent=1., tap_min=-2, tap_max=2) + else: + pp.create_transformer(net, hv_bus=hv_bus, lv_bus=cb, std_type="0.25 MVA 20/0.4 kV", tap_pos=2) + + +def create_net(): + net = pp.create_empty_network() + vn_kv = 20 + b1 = pp.create_bus(net, vn_kv=vn_kv) + pp.create_ext_grid(net, b1, vm_pu=1.01) + b2 = pp.create_bus(net, vn_kv=vn_kv) + l1 = pp.create_line_from_parameters(net, b1, b2, 12.2, r_ohm_per_km=0.08, x_ohm_per_km=0.12, + c_nf_per_km=300, max_i_ka=.2, df=.8) + for i in range(2): + add_trafo_connection(net, b2) + + return net def test_line(result_test_network, v_tol=1e-6, i_tol=1e-6, s_tol=5e-3, l_tol=1e-3): @@ -202,6 +236,112 @@ def test_trafo(result_test_network, v_tol=1e-6, i_tol=1e-6, s_tol=1e-2, l_tol=1e assert abs(net.res_trafo.loading_percent.at[t2] - load2) < l_tol +def test_tap_dependent_impedance(result_test_network): + net = result_test_network + + # first, basic example with piecewise linear characteristic + characteristic_vk = pp.control.Characteristic.from_points(net, ((net.trafo.at[0, 'tap_min'], 0.9 * net.trafo.at[0, 'vk_percent']), + (net.trafo.at[0, 'tap_neutral'], net.trafo.at[0, 'vk_percent']), + (net.trafo.at[0, 'tap_max'], 1.1 * net.trafo.at[0, 'vk_percent']))) + characteristic_vkr = pp.control.Characteristic.from_points(net, ((net.trafo.at[0, 'tap_min'], 0.9 * net.trafo.at[0, 'vkr_percent']), + (net.trafo.at[0, 'tap_neutral'], net.trafo.at[0, 'vkr_percent']), + (net.trafo.at[0, 'tap_max'], 1.1 * net.trafo.at[0, 'vkr_percent']))) + idx_vk = characteristic_vk.index + idx_vkr = characteristic_vkr.index + + # we use for reference + net0 = net.deepcopy() + + net.trafo["tap_dependent_impedance"] = pd.Series(index=net.trafo.index, dtype=bool, data=False) + net.trafo.loc[0, 'tap_dependent_impedance'] = True + net.trafo.loc[0, ['vk_percent_characteristic', 'vkr_percent_characteristic']] = idx_vk, idx_vkr + + # first, make sure there is no change for neutral + net.trafo.tap_pos.at[0] = net.trafo.tap_neutral.at[0] + net0.trafo.tap_pos.at[0] = net.trafo.tap_neutral.at[0] + pp.runpp(net) + pp.runpp(net0) + assert_res_equal(net, net0) + + + # now check the min and max positions + for pos, factor in (("tap_min", 0.9), ("tap_max", 1.1)): + assert isclose(characteristic_vk(net.trafo[pos].at[0]), net.trafo.vk_percent.at[0]*factor, rtol=0, atol=1e-12) + assert isclose(characteristic_vkr(net.trafo[pos].at[0]), net.trafo.vkr_percent.at[0]*factor, rtol=0, atol=1e-12) + net0.trafo.vk_percent.at[0] = net.trafo.vk_percent.at[0]*factor + net0.trafo.vkr_percent.at[0] = net.trafo.vkr_percent.at[0]*factor + net0.trafo.tap_pos.at[0] = net.trafo[pos].at[0] + pp.runpp(net0) + net.trafo.tap_pos.at[0] = net.trafo[pos].at[0] + pp.runpp(net) + assert_res_equal(net, net0) + + +def test_tap_dependent_impedance_controller_comparison(): + net1 = create_net() + net2 = create_net() + + pp.control.create_trafo_characteristics(net1, 'trafo', [0], 'vk_percent', [[-2, -1, 0, 1, 2]], [[5, 5.2, 6, 6.8, 7]]) + pp.control.create_trafo_characteristics(net1, 'trafo', [0], 'vkr_percent', [[-2, -1, 0, 1, 2]], [[1.3, 1.4, 1.44, 1.5, 1.6]]) + + pp.control.SplineCharacteristic(net2, [-2, -1, 0, 1, 2], [5, 5.2, 6, 6.8, 7]) + pp.control.SplineCharacteristic(net2, [-2, -1, 0, 1, 2], [1.3, 1.4, 1.44, 1.5, 1.6]) + pp.control.TapDependentImpedance(net2, [0], 0, output_variable="vk_percent") + pp.control.TapDependentImpedance(net2, [0], 1, output_variable="vkr_percent") + + pp.runpp(net1) + pp.runpp(net2, run_control=True) + + assert_res_equal(net1, net2) + + +def test_tap_dependent_impedance_controller_comparison_3w(): + net1 = create_net() + net2 = create_net() + for i in range(2): + add_trafo_connection(net1, net1.trafo.at[0, 'hv_bus'], "3W") + add_trafo_connection(net2, net2.trafo.at[0, 'hv_bus'], "3W") + + pp.control.create_trafo_characteristics(net1, 'trafo3w', [0], 'vk_hv_percent', [[-2, -1, 0, 1, 2]], [[0.85, 0.9, 1, 1.1, 1.15]]) + pp.control.create_trafo_characteristics(net1, 'trafo3w', [0], 'vkr_hv_percent', [[-2, -1, 0, 1, 2]], [[0.27, 0.28, 0.3, 0.32, 0.33]]) + pp.control.create_trafo_characteristics(net1, 'trafo3w', [0], 'vk_mv_percent', [[-2, -1, 0, 1, 2]], [[0.85, 0.9, 1, 1.1, 1.15]]) + pp.control.create_trafo_characteristics(net1, 'trafo3w', [0], 'vkr_mv_percent', [[-2, -1, 0, 1, 2]], [[0.27, 0.28, 0.3, 0.32, 0.33]]) + pp.control.create_trafo_characteristics(net1, 'trafo3w', [0], 'vk_lv_percent', [[-2, -1, 0, 1, 2]], [[0.85, 0.9, 1, 1.1, 1.15]]) + pp.control.create_trafo_characteristics(net1, 'trafo3w', [0], 'vkr_lv_percent', [[-2, -1, 0, 1, 2]], [[0.27, 0.28, 0.3, 0.32, 0.33]]) + + pp.control.SplineCharacteristic(net2, [-2, -1, 0, 1, 2], [0.85, 0.9, 1, 1.1, 1.15]) + pp.control.SplineCharacteristic(net2, [-2, -1, 0, 1, 2], [0.27, 0.28, 0.3, 0.32, 0.33]) + + pp.control.TapDependentImpedance(net2, [0], 0, trafotable="trafo3w", output_variable="vk_hv_percent") + pp.control.TapDependentImpedance(net2, [0], 1, trafotable="trafo3w", output_variable="vkr_hv_percent") + pp.control.TapDependentImpedance(net2, [0], 0, trafotable="trafo3w", output_variable="vk_mv_percent") + pp.control.TapDependentImpedance(net2, [0], 1, trafotable="trafo3w", output_variable="vkr_mv_percent") + pp.control.TapDependentImpedance(net2, [0], 0, trafotable="trafo3w", output_variable="vk_lv_percent") + pp.control.TapDependentImpedance(net2, [0], 1, trafotable="trafo3w", output_variable="vkr_lv_percent") + + pp.runpp(net1) + pp.runpp(net2, run_control=True) + + assert_res_equal(net1, net2) + + +def test_undefined_tap_dependent_impedance_characteristics(): + # if some characteristic per 1 trafo are undefined, but at least 1 is defined -> OK + # if all characteristic per 1 trafo are undefined -> raise error + net = create_net() + pp.control.create_trafo_characteristics(net, 'trafo', [0], 'vk_percent', [[-2, -1, 0, 1, 2]], [[5, 5.2, 6, 6.8, 7]]) + pp.control.create_trafo_characteristics(net, 'trafo', [0], 'vkr_percent', [[-2, -1, 0, 1, 2]], [[1.3, 1.4, 1.44, 1.5, 1.6]]) + pp.control.create_trafo_characteristics(net, 'trafo', [1], 'vk_percent', [[-2, -1, 0, 1, 2]], [[5, 5.2, 6, 6.8, 7]]) + + # does not raise error + pp.runpp(net) + + # this will raise error + net.trafo.at[1, "vk_percent_characteristic"] = None + with pytest.raises(UserWarning): + pp.runpp(net) + + def test_ext_grid(result_test_network, v_tol=1e-6, va_tol=1e-2, i_tol=1e-6, s_tol=5e-3, l_tol=1e-3): net = result_test_network runpp_with_consistency_checks(net, calculate_voltage_angles=True) diff --git a/pandapower/test/loadflow/test_runpp.py b/pandapower/test/loadflow/test_runpp.py index 0da531047..7f471ff8d 100644 --- a/pandapower/test/loadflow/test_runpp.py +++ b/pandapower/test/loadflow/test_runpp.py @@ -12,6 +12,7 @@ import pytest import pandapower as pp +import pandapower.control from pandapower.auxiliary import _check_connectivity, _add_ppc_options, lightsim2grid_available from pandapower.networks import create_cigre_network_mv, four_loads_with_branches_out, \ example_simple, simple_four_bus_system, example_multivoltage @@ -22,7 +23,7 @@ from pandapower.test.consistency_checks import runpp_with_consistency_checks from pandapower.test.loadflow.result_test_network_generator import add_test_xward, add_test_trafo3w, \ add_test_line, add_test_oos_bus_with_is_element, result_test_network_generator, add_test_trafo -from pandapower.test.toolbox import add_grid_connection, create_test_line, assert_net_equal +from pandapower.test.toolbox import add_grid_connection, create_test_line, assert_net_equal, assert_res_equal from pandapower.toolbox import nets_equal @@ -1240,13 +1241,57 @@ def test_tap_dependent_impedance(): net = pp.create_empty_network() b1, b2, l1 = add_grid_connection(net) b3 = pp.create_bus(net, vn_kv=0.4) - pp.create_transformer(net, hv_bus=b2, lv_bus=b3, std_type="0.25 MVA 20/0.4 kV", tap_pos=2) pp.create_transformer(net, hv_bus=b2, lv_bus=b3, std_type="0.25 MVA 20/0.4 kV") + pp.create_transformer(net, hv_bus=b2, lv_bus=b3, std_type="0.25 MVA 20/0.4 kV") + + b4 = pp.create_bus(net, vn_kv=0.9) + b5 = pp.create_bus(net, vn_kv=0.4) + pp.create_transformer3w_from_parameters(net, hv_bus=b2, mv_bus=b4, lv_bus=b5, + vn_hv_kv=20., vn_mv_kv=0.9, vn_lv_kv=0.45, sn_hv_mva=0.6, sn_mv_mva=0.5, + sn_lv_mva=0.4, vk_hv_percent=1., vk_mv_percent=1., vk_lv_percent=1., + vkr_hv_percent=0.3, vkr_mv_percent=0.3, vkr_lv_percent=0.3, + pfe_kw=0.2, i0_percent=0.3, tap_neutral=0., + tap_pos=0, tap_step_percent=1., tap_min=-2, tap_max=2) + + net_backup = net.deepcopy() + + pp.control.create_trafo_characteristics(net, 'trafo', [0], "vk_percent", [[-2, -1, 0, 1, 2]], [[5.5, 5.8, 6, 6.2, 6.5]]) + pp.control.create_trafo_characteristics(net, 'trafo', [0], "vkr_percent", [[-2, -1, 0, 1, 2]], [[1.4, 1.42, 1.44, 1.46, 1.48]]) + pp.control.create_trafo_characteristics(net, 'trafo', [1], "vk_percent", [[-2, -1, 0, 1, 2]], [[5.4, 5.7, 6, 6.1, 6.4]]) + + # test alternative way to set up tap dependence impedance characteristic + pp.control.SplineCharacteristic(net, [-2, -1, 0, 1, 2], [0.95, 0.98, 1, 1.02, 1.05]) + net.trafo3w['tap_dependent_impedance'] = True + net.trafo3w['vk_hv_percent_characteristic'] = 3 + + pp.runpp(net) + pp.runpp(net_backup) + assert_res_equal(net, net_backup) + + net.trafo.tap_pos.at[0] = 2 + net_backup.trafo.tap_pos.at[0] = 2 + net_backup.trafo.vk_percent.at[0] = 6.5 + net_backup.trafo.vkr_percent.at[0] = 1.48 + + pp.runpp(net) + pp.runpp(net_backup) + assert_res_equal(net, net_backup) + + net.trafo.tap_pos.at[1] = -2 + net_backup.trafo.tap_pos.at[1] = -2 + net_backup.trafo.vk_percent.at[1] = 5.4 + + pp.runpp(net) + pp.runpp(net_backup) + assert_res_equal(net, net_backup) + + net.trafo3w.tap_pos.at[0] = 2 + net_backup.trafo3w.tap_pos.at[0] = 2 + net_backup.trafo3w.vk_hv_percent.at[0] = 1.05 - pp.toolbox.create_trafo_characteristics(net, 'trafo', [0], [[-2, -1, 0, 1, 2]], [[5.5, 5.8, 6, 6.2, 6.5]], - [[-2, -1, 0, 1, 2]], [[1.4, 1.42, 1.44, 1.46, 1.48]]) pp.runpp(net) - # todo: trafo3w, check results + pp.runpp(net_backup) + assert_res_equal(net, net_backup) @pytest.mark.skipif(not lightsim2grid_available, reason="lightsim2grid is not installed") diff --git a/tutorials/tap_dependent_impedance.ipynb b/tutorials/tap_dependent_impedance.ipynb index a839bc827..b903cf3ea 100644 --- a/tutorials/tap_dependent_impedance.ipynb +++ b/tutorials/tap_dependent_impedance.ipynb @@ -248,7 +248,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "7.79 ms ± 37.2 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" + "8.77 ms ± 367 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" ] } ], @@ -265,7 +265,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "9.22 ms ± 66 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" + "10.6 ms ± 209 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" ] } ], @@ -294,8 +294,10 @@ "outputs": [], "source": [ "net3 = create_net()\n", - "pp.control.TapDependentImpedance(net3, [0], net.characteristic.object.at[0], output_variable=\"vk_percent\")\n", - "pp.control.TapDependentImpedance(net3, [0], net.characteristic.object.at[1], output_variable=\"vkr_percent\");" + "pp.control.SplineCharacteristic(net3, [-2, -1, 0, 1, 2], [5, 5.2, 6, 6.8, 7])\n", + "pp.control.SplineCharacteristic(net3, [-2, -1, 0, 1, 2], [1.3, 1.4, 1.44, 1.5, 1.6])\n", + "pp.control.TapDependentImpedance(net3, [0], 0, output_variable=\"vk_percent\")\n", + "pp.control.TapDependentImpedance(net3, [0], 1, output_variable=\"vkr_percent\");" ] }, { @@ -307,7 +309,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "26.5 ms ± 368 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" + "29.2 ms ± 431 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" ] } ], @@ -513,26 +515,47 @@ "cell_type": "code", "execution_count": 18, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "SplineCharacteristic" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "pp.control.TapDependentImpedance(net5, [0], net4.characteristic.object.at[0], output_variable=\"vk_hv_percent\", trafotable=\"trafo3w\")\n", - "pp.control.TapDependentImpedance(net5, [0], net4.characteristic.object.at[1], output_variable=\"vkr_hv_percent\", trafotable=\"trafo3w\")\n", - "pp.control.TapDependentImpedance(net5, [0], net4.characteristic.object.at[2], output_variable=\"vk_mv_percent\", trafotable=\"trafo3w\")\n", - "pp.control.TapDependentImpedance(net5, [0], net4.characteristic.object.at[3], output_variable=\"vkr_mv_percent\", trafotable=\"trafo3w\")\n", - "pp.control.TapDependentImpedance(net5, [0], net4.characteristic.object.at[4], output_variable=\"vk_lv_percent\", trafotable=\"trafo3w\")\n", - "pp.control.TapDependentImpedance(net5, [0], net4.characteristic.object.at[5], output_variable=\"vkr_lv_percent\", trafotable=\"trafo3w\");" + "pp.control.SplineCharacteristic(net5, [-2, -1, 0, 1, 2], [0.85, 0.9, 1, 1.1, 1.15])\n", + "pp.control.SplineCharacteristic(net5, [-2, -1, 0, 1, 2], [0.27, 0.28, 0.3, 0.32, 0.33])" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, + "outputs": [], + "source": [ + "pp.control.TapDependentImpedance(net5, [0], 0, output_variable=\"vk_hv_percent\", trafotable=\"trafo3w\")\n", + "pp.control.TapDependentImpedance(net5, [0], 1, output_variable=\"vkr_hv_percent\", trafotable=\"trafo3w\")\n", + "pp.control.TapDependentImpedance(net5, [0], 0, output_variable=\"vk_mv_percent\", trafotable=\"trafo3w\")\n", + "pp.control.TapDependentImpedance(net5, [0], 1, output_variable=\"vkr_mv_percent\", trafotable=\"trafo3w\")\n", + "pp.control.TapDependentImpedance(net5, [0], 0, output_variable=\"vk_lv_percent\", trafotable=\"trafo3w\")\n", + "pp.control.TapDependentImpedance(net5, [0], 1, output_variable=\"vkr_lv_percent\", trafotable=\"trafo3w\");" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "13.7 ms ± 92 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" + "15 ms ± 64.2 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" ] } ], @@ -542,14 +565,14 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "47.4 ms ± 530 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" + "52.1 ms ± 678 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" ] } ], @@ -559,7 +582,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 22, "metadata": {}, "outputs": [ { @@ -662,7 +685,7 @@ "7 1.005088 -0.397258 1.005088 -0.397258" ] }, - "execution_count": 21, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" } @@ -689,7 +712,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 23, "metadata": {}, "outputs": [], "source": [ @@ -701,7 +724,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 24, "metadata": {}, "outputs": [ { @@ -826,7 +849,7 @@ "[2 rows x 26 columns]" ] }, - "execution_count": 23, + "execution_count": 24, "metadata": {}, "output_type": "execute_result" } @@ -837,7 +860,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 25, "metadata": {}, "outputs": [], "source": [ @@ -847,7 +870,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 26, "metadata": {}, "outputs": [], "source": [ @@ -857,6 +880,354 @@ "# pp.runpp(net6)" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Creating transformers with characteristics" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The functions to create transformers were updated to include the parameter tap_dependent_impedance and add the references to the characteristics." + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [], + "source": [ + "net_create = create_net()\n", + "add_trafo_connection(net_create, net_create.trafo.at[0, 'hv_bus'], \"3W\")" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
namestd_typehv_buslv_bussn_mvavn_hv_kvvn_lv_kvvk_percentvkr_percentpfe_kw...tap_neutraltap_mintap_maxtap_step_percenttap_step_degreetap_postap_phase_shifterparalleldfin_service
0None0.25 MVA 20/0.4 kV120.2520.00.46.01.440.8...0-222.50.02False11.0True
1None0.25 MVA 20/0.4 kV130.2520.00.46.01.440.8...0-222.50.02False11.0True
\n", + "

2 rows × 23 columns

\n", + "
" + ], + "text/plain": [ + " name std_type hv_bus lv_bus sn_mva vn_hv_kv vn_lv_kv \\\n", + "0 None 0.25 MVA 20/0.4 kV 1 2 0.25 20.0 0.4 \n", + "1 None 0.25 MVA 20/0.4 kV 1 3 0.25 20.0 0.4 \n", + "\n", + " vk_percent vkr_percent pfe_kw ... tap_neutral tap_min tap_max \\\n", + "0 6.0 1.44 0.8 ... 0 -2 2 \n", + "1 6.0 1.44 0.8 ... 0 -2 2 \n", + "\n", + " tap_step_percent tap_step_degree tap_pos tap_phase_shifter parallel \\\n", + "0 2.5 0.0 2 False 1 \n", + "1 2.5 0.0 2 False 1 \n", + "\n", + " df in_service \n", + "0 1.0 True \n", + "1 1.0 True \n", + "\n", + "[2 rows x 23 columns]" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "net_create.trafo" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "2" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "c = pp.control.SplineCharacteristic(net_create, [-2, -1, 0, 1, 2], [5, 5.2, 6, 6.8, 7])\n", + "pp.create_transformer(net_create, hv_bus=net_create.trafo.at[0, 'hv_bus'], \n", + " lv_bus=net_create.trafo.at[0, 'lv_bus'], std_type=\"0.25 MVA 20/0.4 kV\", tap_pos=2, \n", + " tap_dependent_impedance=True, vk_percent_characteristic=0)" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
namestd_typehv_buslv_bussn_mvavn_hv_kvvn_lv_kvvk_percentvkr_percentpfe_kw...tap_maxtap_step_percenttap_step_degreetap_postap_phase_shifterparalleldfin_servicetap_dependent_impedancevk_percent_characteristic
0None0.25 MVA 20/0.4 kV120.2520.00.46.01.440.8...22.50.02False11.0TrueFalseNaN
1None0.25 MVA 20/0.4 kV130.2520.00.46.01.440.8...22.50.02False11.0TrueFalseNaN
2None0.25 MVA 20/0.4 kV120.2520.00.46.01.440.8...22.50.02False11.0TrueTrue0.0
\n", + "

3 rows × 25 columns

\n", + "
" + ], + "text/plain": [ + " name std_type hv_bus lv_bus sn_mva vn_hv_kv vn_lv_kv \\\n", + "0 None 0.25 MVA 20/0.4 kV 1 2 0.25 20.0 0.4 \n", + "1 None 0.25 MVA 20/0.4 kV 1 3 0.25 20.0 0.4 \n", + "2 None 0.25 MVA 20/0.4 kV 1 2 0.25 20.0 0.4 \n", + "\n", + " vk_percent vkr_percent pfe_kw ... tap_max tap_step_percent \\\n", + "0 6.0 1.44 0.8 ... 2 2.5 \n", + "1 6.0 1.44 0.8 ... 2 2.5 \n", + "2 6.0 1.44 0.8 ... 2 2.5 \n", + "\n", + " tap_step_degree tap_pos tap_phase_shifter parallel df in_service \\\n", + "0 0.0 2 False 1 1.0 True \n", + "1 0.0 2 False 1 1.0 True \n", + "2 0.0 2 False 1 1.0 True \n", + "\n", + " tap_dependent_impedance vk_percent_characteristic \n", + "0 False NaN \n", + "1 False NaN \n", + "2 True 0.0 \n", + "\n", + "[3 rows x 25 columns]" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "net_create.trafo" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [], + "source": [ + "pp.runpp(net_create)" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -873,7 +1244,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 32, "metadata": {}, "outputs": [ { @@ -919,7 +1290,7 @@ "1 SplineCharacteristic" ] }, - "execution_count": 26, + "execution_count": 32, "metadata": {}, "output_type": "execute_result" } @@ -938,7 +1309,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 33, "metadata": {}, "outputs": [ { @@ -980,7 +1351,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 34, "metadata": {}, "outputs": [ { @@ -999,7 +1370,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 35, "metadata": {}, "outputs": [ { @@ -1016,18 +1387,6 @@ "source": [ "pp.control.trafo_characteristics_diagnostic(net6)" ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Further work:\n", - "\n", - "* test coverage:\n", - " * Results\n", - " * File I/O\n", - "* documentation" - ] } ], "metadata": { diff --git a/tutorials/u_set_tap.ipynb b/tutorials/u_set_tap.ipynb index 5912489d7..06b05cbd5 100644 --- a/tutorials/u_set_tap.ipynb +++ b/tutorials/u_set_tap.ipynb @@ -27,7 +27,7 @@ "import pandapower as pp\n", "import pandapower.control\n", "import pandapower.control as control\n", - "from pandapower.control import Characteristic\n", + "from pandapower.control import Characteristic, SplineCharacteristic\n", "from pandapower.control.util.auxiliary import plot_characteristic\n", "from scipy.interpolate import interp1d" ] @@ -168,7 +168,7 @@ "metadata": {}, "outputs": [], "source": [ - "c = Characteristic(x_values=[-20, -15, -5, 5,15, 20], y_values=[0.92, 0.97, 0.98, 1.02, 1.03, 1.08])" + "c = Characteristic(net, x_values=[-20, -15, -5, 5,15, 20], y_values=[0.92, 0.97, 0.98, 1.02, 1.03, 1.08])" ] }, { @@ -240,7 +240,7 @@ "metadata": {}, "outputs": [], "source": [ - "tc = control.USetTapControl(net, 0, characteristic=c, tol=0.0005)" + "tc = control.USetTapControl(net, 0, characteristic_index=c.index, tol=0.0005)" ] }, { @@ -576,8 +576,8 @@ ], "source": [ "net.controller.at[tc.index, 'in_service'] = False\n", - "c1 = Characteristic(x_values=[0, 0.2, 0.4, 0.6, 0.8, 1], y_values=[0.92, 0.97, 0.98, 1.02, 1.03, 1.08])\n", - "tc1 = control.USetTapControl(net, 0, variable='i_lv_ka', characteristic=c1, tol=0.0005)\n", + "c1 = Characteristic(net, x_values=[0, 0.2, 0.4, 0.6, 0.8, 1], y_values=[0.92, 0.97, 0.98, 1.02, 1.03, 1.08])\n", + "tc1 = control.USetTapControl(net, 0, variable='i_lv_ka', characteristic_index=c1.index, tol=0.0005)\n", "plot_characteristic(c1,0,1,50)" ] }, @@ -922,7 +922,7 @@ } ], "source": [ - "c2 = interp1d([0, 0.3, 0.7, 1], [0.92, 0.95, 1.05, 1.08], kind='quadratic', fill_value='extrapolate')\n", + "c2 = SplineCharacteristic(net, [0, 0.3, 0.7, 1], [0.92, 0.95, 1.05, 1.08])\n", "plot_characteristic(c2,0,1)" ] }, @@ -932,7 +932,7 @@ "metadata": {}, "outputs": [], "source": [ - "tc1.characteristic = c2" + "tc1.characteristic_index = c2.index" ] }, { From 4bbbc84f40912f150bb96c9323ce54242c35efff Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Wed, 8 Dec 2021 18:27:24 +0100 Subject: [PATCH 361/422] updated docs --- doc/control/controller.rst | 31 ++++++++++++++++++++++++++++ pandapower/control/util/auxiliary.py | 6 +++--- 2 files changed, 34 insertions(+), 3 deletions(-) diff --git a/doc/control/controller.rst b/doc/control/controller.rst index 826585e5d..9ecdb8fdc 100644 --- a/doc/control/controller.rst +++ b/doc/control/controller.rst @@ -67,4 +67,35 @@ USetTapControl ********************** .. autoclass:: pandapower.control.controller.trafo.USetTapControl.USetTapControl + :members: + +------------- + +********************** +TapDependentImpedance +********************** + +.. autoclass:: pandapower.control.controller.trafo.TapDependentImpedance.TapDependentImpedance + :members: + + +Characteristic +============== + +The following classes enable the definition of characteristics for the controllers. + +*************** +Characteristic +*************** + +.. autoclass:: pandapower.control.util.characteristic.Characteristic + :members: + +------------- + +******************** +SplineCharacteristic +******************** + +.. autoclass:: pandapower.control.util.characteristic.SplineCharacteristic :members: \ No newline at end of file diff --git a/pandapower/control/util/auxiliary.py b/pandapower/control/util/auxiliary.py index 77e92aaa8..651ed9eb8 100644 --- a/pandapower/control/util/auxiliary.py +++ b/pandapower/control/util/auxiliary.py @@ -4,7 +4,7 @@ # and Energy System Technology (IEE), Kassel. All rights reserved. import sys import numpy as np -from pandas import Int64Index +from pandas import Int64Index, Series from pandapower.auxiliary import soft_dependency_error from pandapower.toolbox import ensure_iterability @@ -214,11 +214,11 @@ def create_trafo_characteristics(net, trafotable, trafo_index, variable, x_point "trafo3w": [f"vk{r}_{side}_percent_characteristic" for side in ["hv", "mv", "lv"] for r in ["", "r"]]} if 'tap_dependent_impedance' not in net[trafotable]: - net[trafotable]['tap_dependent_impedance'] = pd.Series(index=net[trafotable].index, dtype=bool, data=False) + net[trafotable]['tap_dependent_impedance'] = Series(index=net[trafotable].index, dtype=bool, data=False) for c in columns[trafotable]: if c not in net[trafotable]: - net[trafotable][c] = pd.Series(index=net[trafotable].index, dtype=np.float64, data=np.nan) + net[trafotable][c] = Series(index=net[trafotable].index, dtype=np.float64, data=np.nan) # check shape of input data if len(trafo_index) != len(x_points) or len(trafo_index) != len(y_points): From a99bdde5754862771c12781955fb16a0bc9e5f13 Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Thu, 9 Dec 2021 15:41:24 +0100 Subject: [PATCH 362/422] Using "Int64" (pd.Int64Dtype) instead of float64 for characteristic tables; additional checks in characteristic diagnostic; bump the version with ".dev1"; raise error if any bool column has NaN; _preserve_dtypes is only applied for the entries that are set; raise error also if no characteristic columns are set --- pandapower/__init__.py | 2 +- pandapower/auxiliary.py | 4 + pandapower/build_branch.py | 11 +- pandapower/control/util/auxiliary.py | 12 +- pandapower/create.py | 69 ++-- tutorials/tap_dependent_impedance.ipynb | 504 ++++++++++++++++++++++-- 6 files changed, 525 insertions(+), 77 deletions(-) diff --git a/pandapower/__init__.py b/pandapower/__init__.py index dbd89fe2f..7f062ab0e 100644 --- a/pandapower/__init__.py +++ b/pandapower/__init__.py @@ -1,4 +1,4 @@ -__version__ = "2.7.2" +__version__ = "2.7.2.dev1" import os pp_dir = os.path.dirname(os.path.realpath(__file__)) diff --git a/pandapower/auxiliary.py b/pandapower/auxiliary.py index 702b630ab..eb763477c 100644 --- a/pandapower/auxiliary.py +++ b/pandapower/auxiliary.py @@ -268,6 +268,10 @@ def __repr__(self): # pragma: no cover def _preserve_dtypes(df, dtypes): for item, dtype in list(dtypes.iteritems()): if df.dtypes.at[item] != dtype: + if (dtype == bool or dtype == np.bool_) and np.any(df[item].isnull()): + raise UserWarning(f"Encountered NaN value(s) in a boolean column {item}! " + f"NaN are casted to True by default, which can lead to errors. " + f"Replace NaN values with True or False first.") try: df[item] = df[item].astype(dtype) except ValueError: diff --git a/pandapower/build_branch.py b/pandapower/build_branch.py index 1a6397047..903a76727 100644 --- a/pandapower/build_branch.py +++ b/pandapower/build_branch.py @@ -437,9 +437,12 @@ def _get_vk_values(trafo_df, characteristic, trafotype="2W"): # first, we read all characteristic indices # we also allow that some columns are not included in the net.trafo table all_columns = trafo_df.keys() if isinstance(trafo_df, dict) else trafo_df.columns.values - all_characteristic_idx = np.vstack([get_trafo_values(trafo_df, f"{v}_characteristic") - if f"{v}_characteristic" in all_columns else np.full(len(tap_dependent_impedance), np.nan) - for v in vk_variables]).T + char_columns = [v for v in vk_variables if f"{v}_characteristic" in all_columns] + if len(char_columns) == 0: + raise UserWarning(f"At least one of the columns for characteristics ({[v+'_characteristic' for v in vk_variables]}) " + f"must be defined for {trafotype} trafo") + # must cast to float64 unfortunately, because numpy.vstack casts arrays to object because it doesn't know pandas.NA, np.isnan fails + all_characteristic_idx = np.vstack([get_trafo_values(trafo_df, f"{c}_characteristic").astype(np.float64) for c in char_columns]).T # now we check if any trafos that have tap_dependent_impedance have all of the characteristics missing all_missing = np.isnan(all_characteristic_idx).all(axis=1) & tap_dependent_impedance if np.any(all_missing): @@ -450,7 +453,7 @@ def _get_vk_values(trafo_df, characteristic, trafotype="2W"): for c, vk_var in enumerate(vk_variables): vk_value = get_trafo_values(trafo_df, vk_var) - if use_tap_dependent_impedance: + if use_tap_dependent_impedance and vk_var in char_columns: vals += (_calc_tap_dependent_value(trafo_df, tap_pos, vk_value, vk_var, tap_dependent_impedance, characteristic, all_characteristic_idx[:, c]),) else: diff --git a/pandapower/control/util/auxiliary.py b/pandapower/control/util/auxiliary.py index 651ed9eb8..b3c982426 100644 --- a/pandapower/control/util/auxiliary.py +++ b/pandapower/control/util/auxiliary.py @@ -214,11 +214,11 @@ def create_trafo_characteristics(net, trafotable, trafo_index, variable, x_point "trafo3w": [f"vk{r}_{side}_percent_characteristic" for side in ["hv", "mv", "lv"] for r in ["", "r"]]} if 'tap_dependent_impedance' not in net[trafotable]: - net[trafotable]['tap_dependent_impedance'] = Series(index=net[trafotable].index, dtype=bool, data=False) + net[trafotable]['tap_dependent_impedance'] = Series(index=net[trafotable].index, dtype=np.bool_, data=False) for c in columns[trafotable]: if c not in net[trafotable]: - net[trafotable][c] = Series(index=net[trafotable].index, dtype=np.float64, data=np.nan) + net[trafotable][c] = Series(index=net[trafotable].index, dtype="Int64") # check shape of input data if len(trafo_index) != len(x_points) or len(trafo_index) != len(y_points): @@ -247,7 +247,13 @@ def trafo_characteristics_diagnostic(net): continue # check if there are any missing characteristics tap_dependent_impedance = net[trafo_table]['tap_dependent_impedance'].values - logger.info(f"{trafo_table}: found {len(tap_dependent_impedance[tap_dependent_impedance])} trafos with tap-dependent impedance") + logger.info(f"{trafo_table}: found {sum(tap_dependent_impedance)} trafos with tap-dependent impedance") + if len(np.intersect1d(net[trafo_table].columns, cols)) == 0: + logger.warning("No columns defined for transformaer tap characteristics in %s. " + "Power flow calculation will raise an error." % trafo_table) + elif net[trafo_table].loc[tap_dependent_impedance, np.intersect1d(cols, net[trafo_table].columns)].isnull().all(axis=1).any(): + logger.warning(f"Some transformers in {trafo_table} table have tap_dependent_impedance set to True, " + f"but no defined characteristics. Power flow calculation will raise an error.") for col in cols: if col not in net[trafo_table]: logger.info("%s: %s is missing" % (trafo_table, col)) diff --git a/pandapower/create.py b/pandapower/create.py index f4e581a85..2681d46fc 100644 --- a/pandapower/create.py +++ b/pandapower/create.py @@ -8,7 +8,7 @@ import pandas as pd from numpy import nan, isnan, arange, dtype, isin, any as np_any, zeros, array, bool_, \ - all as np_all, float64 + all as np_all, float64, intersect1d from packaging import version from pandapower import __version__ @@ -2259,9 +2259,9 @@ def create_transformer(net, hv_bus, lv_bus, std_type, name=None, tap_pos=nan, in if tap_dependent_impedance is not None: _create_column_and_set_value(net, index, tap_dependent_impedance, "tap_dependent_impedance", "trafo", bool_, False, True) if vk_percent_characteristic is not None: - _create_column_and_set_value(net, index, vk_percent_characteristic, "vk_percent_characteristic", "trafo") + _create_column_and_set_value(net, index, vk_percent_characteristic, "vk_percent_characteristic", "trafo", "Int64") # Int64Dtype if vkr_percent_characteristic is not None: - _create_column_and_set_value(net, index, vkr_percent_characteristic, "vkr_percent_characteristic", "trafo") + _create_column_and_set_value(net, index, vkr_percent_characteristic, "vkr_percent_characteristic", "trafo", "Int64") # tap_phase_shifter default False net.trafo.tap_phase_shifter.fillna(False, inplace=True) @@ -2426,9 +2426,9 @@ def create_transformer_from_parameters(net, hv_bus, lv_bus, sn_mva, vn_hv_kv, vn if tap_dependent_impedance is not None: _create_column_and_set_value(net, index, tap_dependent_impedance, "tap_dependent_impedance", "trafo", bool_, False, True) if vk_percent_characteristic is not None: - _create_column_and_set_value(net, index, vk_percent_characteristic, "vk_percent_characteristic", "trafo") + _create_column_and_set_value(net, index, vk_percent_characteristic, "vk_percent_characteristic", "trafo", "Int64") if vkr_percent_characteristic is not None: - _create_column_and_set_value(net, index, vkr_percent_characteristic, "vkr_percent_characteristic", "trafo") + _create_column_and_set_value(net, index, vkr_percent_characteristic, "vkr_percent_characteristic", "trafo", "Int64") if not (isnan(vk0_percent) and isnan(vkr0_percent) and isnan(mag0_percent) and isnan(mag0_rx) and isnan(si0_hv_partial) and vector_group is None): @@ -2583,9 +2583,9 @@ def create_transformers_from_parameters(net, hv_buses, lv_buses, sn_mva, vn_hv_k if tap_dependent_impedance is not None: _add_series_to_entries(entries, index, "tap_dependent_impedance", tap_dependent_impedance, dtype=bool_, default_val=False) if vk_percent_characteristic is not None: - _add_series_to_entries(entries, index, "vk_percent_characteristic", vk_percent_characteristic) + _add_series_to_entries(entries, index, "vk_percent_characteristic", vk_percent_characteristic, "Int64") if vkr_percent_characteristic is not None: - _add_series_to_entries(entries, index, "vkr_percent_characteristic", vkr_percent_characteristic) + _add_series_to_entries(entries, index, "vkr_percent_characteristic", vkr_percent_characteristic, "Int64") _add_series_to_entries(entries, index, "vk0_percent", vk0_percent) _add_series_to_entries(entries, index, "vkr0_percent", vkr0_percent) @@ -2734,17 +2734,17 @@ def create_transformer3w(net, hv_bus, mv_bus, lv_bus, std_type, name=None, tap_p if tap_dependent_impedance is not None: _create_column_and_set_value(net, index, tap_dependent_impedance, "tap_dependent_impedance", "trafo", bool_, False, True) if vk_hv_percent_characteristic is not None: - _create_column_and_set_value(net, index, vk_hv_percent_characteristic, "vk_hv_percent_characteristic", "trafo") + _create_column_and_set_value(net, index, vk_hv_percent_characteristic, "vk_hv_percent_characteristic", "trafo", "Int64") if vkr_hv_percent_characteristic is not None: - _create_column_and_set_value(net, index, vkr_hv_percent_characteristic, "vkr_hv_percent_characteristic", "trafo") + _create_column_and_set_value(net, index, vkr_hv_percent_characteristic, "vkr_hv_percent_characteristic", "trafo", "Int64") if vk_mv_percent_characteristic is not None: - _create_column_and_set_value(net, index, vk_mv_percent_characteristic, "vk_mv_percent_characteristic", "trafo") + _create_column_and_set_value(net, index, vk_mv_percent_characteristic, "vk_mv_percent_characteristic", "trafo", "Int64") if vkr_mv_percent_characteristic is not None: - _create_column_and_set_value(net, index, vkr_mv_percent_characteristic, "vkr_mv_percent_characteristic", "trafo") + _create_column_and_set_value(net, index, vkr_mv_percent_characteristic, "vkr_mv_percent_characteristic", "trafo", "Int64") if vk_lv_percent_characteristic is not None: - _create_column_and_set_value(net, index, vk_lv_percent_characteristic, "vk_lv_percent_characteristic", "trafo") + _create_column_and_set_value(net, index, vk_lv_percent_characteristic, "vk_lv_percent_characteristic", "trafo", "Int64") if vkr_lv_percent_characteristic is not None: - _create_column_and_set_value(net, index, vkr_lv_percent_characteristic, "vkr_lv_percent_characteristic", "trafo") + _create_column_and_set_value(net, index, vkr_lv_percent_characteristic, "vkr_lv_percent_characteristic", "trafo", "Int64") return index @@ -2921,17 +2921,17 @@ def create_transformer3w_from_parameters(net, hv_bus, mv_bus, lv_bus, vn_hv_kv, if tap_dependent_impedance is not None: _create_column_and_set_value(net, index, tap_dependent_impedance, "tap_dependent_impedance", "trafo", bool_, False, True) if vk_hv_percent_characteristic is not None: - _create_column_and_set_value(net, index, vk_hv_percent_characteristic, "vk_hv_percent_characteristic", "trafo") + _create_column_and_set_value(net, index, vk_hv_percent_characteristic, "vk_hv_percent_characteristic", "trafo", "Int64") if vkr_hv_percent_characteristic is not None: - _create_column_and_set_value(net, index, vkr_hv_percent_characteristic, "vkr_hv_percent_characteristic", "trafo") + _create_column_and_set_value(net, index, vkr_hv_percent_characteristic, "vkr_hv_percent_characteristic", "trafo", "Int64") if vk_mv_percent_characteristic is not None: - _create_column_and_set_value(net, index, vk_mv_percent_characteristic, "vk_mv_percent_characteristic", "trafo") + _create_column_and_set_value(net, index, vk_mv_percent_characteristic, "vk_mv_percent_characteristic", "trafo", "Int64") if vkr_mv_percent_characteristic is not None: - _create_column_and_set_value(net, index, vkr_mv_percent_characteristic, "vkr_mv_percent_characteristic", "trafo") + _create_column_and_set_value(net, index, vkr_mv_percent_characteristic, "vkr_mv_percent_characteristic", "trafo", "Int64") if vk_lv_percent_characteristic is not None: - _create_column_and_set_value(net, index, vk_lv_percent_characteristic, "vk_lv_percent_characteristic", "trafo") + _create_column_and_set_value(net, index, vk_lv_percent_characteristic, "vk_lv_percent_characteristic", "trafo", "Int64") if vkr_lv_percent_characteristic is not None: - _create_column_and_set_value(net, index, vkr_lv_percent_characteristic, "vkr_lv_percent_characteristic", "trafo") + _create_column_and_set_value(net, index, vkr_lv_percent_characteristic, "vkr_lv_percent_characteristic", "trafo", "Int64") return index @@ -3117,17 +3117,17 @@ def create_transformers3w_from_parameters(net, hv_buses, mv_buses, lv_buses, vn_ if tap_dependent_impedance is not None: _add_series_to_entries(entries, index, "tap_dependent_impedance", tap_dependent_impedance, dtype=bool_, default_val=False) if vk_hv_percent_characteristic is not None: - _add_series_to_entries(entries, index, "vk_hv_percent_characteristic", vk_hv_percent_characteristic) + _add_series_to_entries(entries, index, "vk_hv_percent_characteristic", vk_hv_percent_characteristic, "Int64") if vkr_hv_percent_characteristic is not None: - _add_series_to_entries(entries, index, "vkr_hv_percent_characteristic", vkr_hv_percent_characteristic) + _add_series_to_entries(entries, index, "vkr_hv_percent_characteristic", vkr_hv_percent_characteristic, "Int64") if vk_mv_percent_characteristic is not None: - _add_series_to_entries(entries, index, "vk_mv_percent_characteristic", vk_mv_percent_characteristic) + _add_series_to_entries(entries, index, "vk_mv_percent_characteristic", vk_mv_percent_characteristic, "Int64") if vkr_mv_percent_characteristic is not None: - _add_series_to_entries(entries, index, "vkr_mv_percent_characteristic", vkr_mv_percent_characteristic) + _add_series_to_entries(entries, index, "vkr_mv_percent_characteristic", vkr_mv_percent_characteristic, "Int64") if vk_lv_percent_characteristic is not None: - _add_series_to_entries(entries, index, "vk_lv_percent_characteristic", vk_lv_percent_characteristic) + _add_series_to_entries(entries, index, "vk_lv_percent_characteristic", vk_lv_percent_characteristic, "Int64") if vkr_lv_percent_characteristic is not None: - _add_series_to_entries(entries, index, "vkr_lv_percent_characteristic", vkr_lv_percent_characteristic) + _add_series_to_entries(entries, index, "vkr_lv_percent_characteristic", vkr_lv_percent_characteristic, "Int64") _set_multiple_entries(net, "trafo3w", index, **entries, **kwargs) @@ -3874,15 +3874,13 @@ def _create_column_and_set_value(net, index, variable, column, element, dtyp=flo set_value = True if set_value: if column not in net[element].columns: - # # unclear why this if-clause is necessary, so commenting out for now - # if isinstance(default_val, str) \ - # and version.parse(pd.__version__) < version.parse("1.0"): - # net[element].loc[:, column] = pd.Series([default_val] * len(net[element]), - # dtype=dtyp) - # else: - # # this does not work properly (only sets 1 entry but not all to default_nan): - # net[element].loc[:, column] = pd.Series(default_val, dtype=dtyp) - net[element].loc[:, column] = pd.Series(data=default_val, index=net[element].index, dtype=dtyp) + # this part is for compatibility with pandas < 1.0, can be removed if pandas >= 1.0 is required in setup.py + if isinstance(default_val, str) \ + and version.parse(pd.__version__) < version.parse("1.0"): + net[element].loc[:, column] = pd.Series([default_val] * len(net[element]), + dtype=dtyp) + else: + net[element].loc[:, column] = pd.Series(data=default_val, index=net[element].index, dtype=dtyp) net[element].at[index, column] = variable elif default_for_nan and column in net[element].columns: net[element].at[index, column] = default_val @@ -3928,7 +3926,8 @@ def _add_multiple_branch_geodata(net, table, geodata, index): def _set_entries(net, table, index, preserve_dtypes=True, **entries): dtypes = None if preserve_dtypes: - dtypes = net[table].dtypes + # only get dtypes of columns that are set and that are already present in the table + dtypes = net[table][intersect1d(net[table].columns, list(entries.keys()))].dtypes for col, val in entries.items(): net[table].at[index, col] = val diff --git a/tutorials/tap_dependent_impedance.ipynb b/tutorials/tap_dependent_impedance.ipynb index b903cf3ea..52c992cbe 100644 --- a/tutorials/tap_dependent_impedance.ipynb +++ b/tutorials/tap_dependent_impedance.ipynb @@ -11,7 +11,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "With an adjustment of a tap position of a transformer, the number of windings is adjusted, which influences the impedance. The user can provide characteristics of the dependance of the variables vk_percent and vkr_percent on the tap position. A helper function in pandapower control module converts the provided points in a Characteristic object with spline interpolation and writes it in the trafo table. Finally, a diagnostic function checks for inconsistensies and provides information to the user." + "With an adjustment of a tap position of a transformer, the number of windings is adjusted, which influences the impedence. The user can provide characteristics of the dependance of the variables vk_percent and vkr_percent on the tap position. A helper function in pandapower control module converts the provided points in a characteristic object with quadratic spline interpolation (or a user-defined characteristic object with a custom interpolation approach) and writes it in the trafo table. Finally, a diagnostic function checks for inconsistensies and provides information to the user." ] }, { @@ -77,7 +77,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "We can create the characteristics for vk_percent and vkr_percent:" + "We can either create the characteristics by creating the objects for characteristics and setting their index to the respective columns. Alternatively, we can use a convenience function to create set up the characteristics for vk_percent and vkr_percent:" ] }, { @@ -94,7 +94,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Let us check the characteristic:" + "The characteristic set in the convenience function is the SplineCharacteristic object that relies on quadratic spline interpolation with interp1d from SciPy. Let us check the characteristic:" ] }, { @@ -104,7 +104,7 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAD4CAYAAADiry33AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAApVUlEQVR4nO3de3xV5ZX/8c9KQsItgJJwB4FwUaQgEK4iiFarVks7tZWLCgginaK92N+M8+u0nRmnfdXpdFodrJSreEHbqlinYxXbXytaIBCuchMTyiUgJOESkkDu6/fHOaGHEMgJJDnJyff9euV1ztn72dlrb8I6+zz7Oc8yd0dERKJXTKQDEBGR+qVELyIS5ZToRUSinBK9iEiUU6IXEYlycZEOoDpJSUneu3fvSIchItJkbNq0Kdfdk6tb1ygTfe/evUlPT490GCIiTYaZHbjYOnXdiIhEOSV6EZEop0QvIhLllOhFRKKcEr2ISJRTohcRuQIL389kbWbuecvWZuay8P3MCEV0ISV6EZErMKRHe+av3HIu2a/NzGX+yi0M6dE+wpH9TY2J3swGmtnWkJ/TZvbNKm3MzJ4xswwz225mw0PW3WFmHwfXPVEPxyAictku54rc3TlZWMLeY/lUVMCUkT2ZvSKdqYvW8/CKdB66sTet4+PIOnmGotLyOt9/bVlt5qM3s1jgMDDa3Q+ELL8LeBS4CxgNPO3uo4Pt9wK3AVnARmCqu++61H5SU1NdX5gSkYZQeQW+YNowhvW8ind3HuX7v93B7PF9uLpNPDn5xeQUFJN9OvCYk19MbkExpeXh587ElnEkt00gqW0CSYnxJLVNCLxOTCC3oJjFa/bx5OTBfG5wFzYfPHkunnEpSWHvw8w2uXtqdetq+83YW4HM0CQfNBl4wQPvGuvNrIOZdQV6Axnuvi8YyKvBtpdM9CIiDaGwuIyzJeWkXnMV9y9JoyIkd//sD58AYAYd2yTQKTGB5MQEBnROJDkxkKiTEwPLs06e4d//dzdTR/ViZdpBHr99AF3btyK3oDj4U3LuDWPP0Xxy83M5XVR2Xizf+NVWEl6PoU1CXK2TfE1qm+inAK9Us7w7cCjkdVZwWXXLR1f3i81sLjAXoFevXrUMS0SkZu7OnqP5vL83hzV7c9i4/wSl5U6rFrH0vLo1B46f4bPXdeL+MdcEknliAle3jicu9uK93Gszc/nh23t4dvpwxqUkMb5/0rkr8imDLp7LisvKOR58A8gtKGZl2kH+uCebRyb0qtMkD7VI9GYWD3wB+KfqVlezzC+x/MKF7ouARRDougk3LhFp3ha+n8mQHu3PS45rM3PZnpXHvIkpnCws4YOMXNYEk3t2fjEA13ZJZNaNfZg4IJmyigq+9attPHZLP15KO8hD4/twfbfwbqZuz8o77wp8XEoSC6YNY3tW3iUTdkJcLN06tKJbh1aszcxly6FT5/Y/JqVjxK7o7wQ2u/uxatZlAT1DXvcAjgDxF1kuIlInKke9VCbbDz7J4esvb+bW6zoz+dm/sD3rFO7QvlULbuqfxIQByUzon0yX9i2BwJvCt3617dz2Y1I61qqPfN7ElAuWjUtJCjtRh94juJz9hyPsm7HB/vV33X15Nes+D8znbzdjn3H3UWYWR+Bm7K0EbuJuBKa5+85L7Us3Y0WkNj78JJd5L22iS/sEMrMLcSDG4IaeHZgwIJmJA5IZ0qMDsTEXdjLU9ImgvtXV/i91MzasRG9mrQn0tfd197zgsnkA7r7QzAxYANwBnAFmuXt6sN1dwM+BWGCZu/+wpv0p0YtIOIpKy3l9cxaL1+xj//EzAAzq2o6vT+rH+H5JtG/dIsIRNpwrHnXj7meAjlWWLQx57sDXL7Lt28DbYUcrIlKDvLOlvLT+AMv/sp/cgmL6JrWhbUIcM8f1ZuWGg1zVpkWzSvI1aZSFR0REqnM0r4ilH+5jZdpBCkvKmTAgmZv6d+S5P+9j0YMjAn3j/eq+j7upU6IXkUYvIzufX76/jze3HqbC4e4hXZk7oS/Xd2vPwvczL2vUS3NSq2/GNhT10YsIwKYDJ1n4fibv7TpGyxYx3Jfakzk39aXn1a0jHVqjU5ffjBURqVNVR51UVDjP/TmDVzYeIuvkWTq0bsFjt/Znxthr6Ng2IcLRNk1K9CISUZXj4J+ecgPZp4v52R8+JutkEUlt4vnBPYO4b2RPWscrVV0JnT0RiahxKUk8dms/ZizbQIVDrBl/f3MK37ptAC0uMfWAhE+JXkQiprC4jJ+8+zEr1u2nbXwc+cVl/P2kFB6/fWCkQ4sqersUkYhYszeH23+2hhXr9nP7oM7ExRqP3dKPl9MOXjA/u1wZJXoRaVCnzpTwnd9s48FlG0hoEcMP7h7Exv0neXb6cL59+0AWTBt2XsUmuXJK9CLSYH7/0ad89r/WsGrLYeZP6sfbj91EUVnFRcfBS93QOHoRqXfZp4v43m938O7OYwzu3o6nvjwk7GmAJTwaRy8iEeHu/CY9i3//310Ul1XwxJ3XMmd8n0sW8pC6p0QvIvXi0Ikz/NMbH/FhRi6jel/Nj7/8Gfomt410WM2SEr2IXJGq32wtr3D+5a2dvLLhIC1bxPLkFwczfVQvYqqZC14ahhK9iFyR0ApPyW0T+NrLm8jILuSGnu35xfQRdOvQKtIhNnthJXoz6wAsAQYTqPn6kLuvC1n/f4DpIb/zOiDZ3U+Y2X4gHygHyi52s0BEmqZxKUksmDqM2SvSKS4txx3mB7/0FKhJJJEW7hX908A77n5vsEj4eVPHuftPgJ8AmNk9wLfc/URIk0nurkGxIlGoqLSc1zZlcbakHIA54/vwnc9dG+GoJFSNt77NrB0wAVgK4O4l7n7qEptMBV6pk+hEpFHLyS9m2uL1vLHlMK1axPLoLf14Y8thfdmpkQlnjFNfIAdYbmZbzGyJmbWprmGwtuwdwOshix1YbWabzGzuxXZiZnPNLN3M0nNycmpxCCISCbuOnOaLz/6Fjw7n0TYhjqUzU3lc32xtlMJJ9HHAcOA5dx8GFAJPXKTtPcBfqnTb3Ojuw4E7ga+b2YTqNnT3Re6e6u6pycnJ4R+BiDS41TuPcu/CtZRXONNHX3OujB/om62NUTh99FlAlrunBV+/xsUT/RSqdNu4+5HgY7aZrQJGAWsuL1wRiSR3Z+H7+/iPd/cwpHt7Fj+YSqd2LS9oNy4lSWX8GpEar+jd/ShwyMwq5w29FdhVtZ2ZtQcmAr8NWdbGzBIrnwO3AzvqIG4RaWBFpeU8/pttPPXOHu4e0o1fPTK22iQvjU+4o24eBV4OjrjZB8wys3kA7r4w2OZLwGp3LwzZrjOwKjjEKg5Y6e7v1EnkItJgcvKLeeTFdDYfPMXjtw1g/i39NHSyCdGkZiJySbuOnObhF9I5XljMz756A3d+pmukQ5JqaFIzEbksq3ce5Zu/2kq7li14bd44BnfXjJNNkRK9iFwg3Juu0jQo0Ys0c1UnJSsuK2fOinQ++CSXe4Z24yf3DqFli9gIRylXQpNCizRzlZOSrc3MJSe/mLuf+YAPPsnlKyN68MyUG5Tko4Cu6EWaucovOH3tpU1UVEB+cRnfvLU/37xtQKRDkzqiRC8itG/VgqLSCorLKpgysqeSfJRR141IM7fn6Gnu++U6SssrmDH2GlbvOqZ5aqKMEr1IM7b3WD5fXbiOwpJyfvrVofzr5MGalCwKKdGLNFMZ2QVMW5xGeYXz068M5UvDegCalCwaqY9epBnal1PAtMXrAXjr0fGkVCnarUnJoouu6EWamQPHC89dyb/y8OgLkrxEHyV6kWbk0IkzTF20nuKyclY+PIb+nRMjHZI0AHXdiDQTWSfPMGXRegpLyln58GgGdlGSby50RS/SDBw5dZZpi9PILyrl5Tmjub6bJidrTpToRaLc0bwipi1ez8nCEl6cPVozUDZDYSV6M+tgZq+Z2R4z221mY6usv9nM8sxsa/Dn+yHr7jCzj80sw8wuVoJQROpB9ulAks8tKGHF7FEM7dkh0iFJBITbR/808I673xusMtW6mjYfuPvdoQvMLBZ4FriNQO3ZjWb2lrtfUIpQROpWTn4x05akcfR0ES88NIrhva6KdEgSITVe0ZtZO2ACsBTA3Uvc/VSYv38UkOHu+9y9BHgVmHyZsYpImI4XFHP/kjQOnzzL8pkjSe19daRDkggKp+umL5ADLDezLWa2JFjou6qxZrbNzH5vZtcHl3UHDoW0yQouu4CZzTWzdDNLz8nJqc0xiEiIk4UlTF+Sxv7jhSydkcrovh0jHZJEWDiJPg4YDjzn7sOAQqBqX/tm4Bp3Hwr8N/BmcHl11YOrLVLr7ovcPdXdU5OTk8OJXUQIFA6pnJcm70wp9y9NIyO7gC8O6864fvp2q4SX6LOALHdPC75+jUDiP8fdT7t7QfD520ALM0sKbtszpGkP4MgVRy0i51QWDnlv1zEeWJbGx0fzadUilsk3dIt0aNJI1Hgz1t2PmtkhMxvo7h8DtwLn3Uw1sy7AMXd3MxtF4A3kOHAK6G9mfYDDwBRgWh0fg0izNi4lif/66lDmrEinwp3W8XH88sERmqtGzgl31M2jwMvBETf7gFlmNg/A3RcC9wJfM7My4Cwwxd0dKDOz+cC7QCywzN131vVBiDRn5RXOKxsOUlYR6BV96MbeSvJynrASvbtvBVKrLF4Ysn4BsOAi274NvH2Z8YnIJbg7T/5uF+/uPEbr+FjmjO/DS2kHGZPSUcleztE3Y0WasMUf7OP5tftpGRfDkhmpfPv2gSocIhdQohdpot7adoQfvb2Ha7sksnTGyHNX8CocIlVp9kqRJmhd5nG+8+ttjOp9NS/MHkXLFrHnrVfhEAmlK3qRJmbvsXzmvphOr46tWfTgiAuSvEhVSvQiTcjRvCJmLttAqxaxPD9rJB1ax0c6JGkClOhFmoj8olJmLt9A3tlSls8aSY+rqptbUORC6qMXaQJKyir42kubycguYNnMkSocIrWiRC/SyLk7T7y+nQ8zcvnPrwxlwgDNBSW1o64bkUbup6v38saWwzx+2wDuHdEj0uFIE6REL9KIvZx2gAV/ymDqqJ7Mv6VfpMORJkqJXqSR+uPuY3zvzR1MGpjMk5MHY1bdrN8iNVOiF2mEth46xfyVWxjcvT0Lpg0nLlb/VeXy6a9HpJHZn1vI7Oc3kpQYz9IZI2mToDETcmWU6EUiLLRC1PGCYmYu30BxWTl3Xt+F5MSECEcn0UCJXiTCKitE/XlPNrNXpHP45FlizLj52k6RDk2ihD4TikTYuJQknpkyjFnPb6C03GmbEMfCB1QhSupOWFf0ZtbBzF4zsz1mttvMxlZZP93Mtgd/1prZ0JB1+83sIzPbambpdX0AIk2du/POzk8pLVeFKKkf4V7RPw284+73BssJVp1k46/ARHc/aWZ3AouA0SHrJ7m7qiCIVGPh+/t4af1BWraIYe5NfVUhSupcjYnezNoBE4CZAO5eApSEtnH3tSEv1wP6+p5IGH679TBPvbOH+NgYlj44khv7JzEmpSPzV25hwbRhSvZSJ8LpuukL5ADLzWyLmS0xszaXaD8b+H3IawdWm9kmM5t7sY3MbK6ZpZtZek5OTljBizRlazNz+c5vttHzqlYsnjGCG/urQpTUD3P3SzcwSyVwlX6ju6eZ2dPAaXf/XjVtJwG/AMa7+/Hgsm7ufsTMOgHvAY+6+5pL7TM1NdXT09WdL9Frz9HTfOW5dXTt0JLfzBtH+1YtIh2SNHFmtsndU6tbF84VfRaQ5e5pwdevAcOr2ckQYAkwuTLJA7j7keBjNrAKGFW78EWiy6d5Z5m1fCOtE2JZPmuUkrzUuxoTvbsfBQ6Z2cDgoluBXaFtzKwX8AbwgLvvDVnexswSK58DtwM76ih2kSbndFEps5ZvJL+ojOUzR9G9Q6tIhyTNQLijbh4FXg6OuNkHzDKzeQDuvhD4PtAR+EVw4qWy4EeIzsCq4LI4YKW7v1O3hyDSNASKh2wiI7uA5bNGMqhbu0iHJM1EWIne3bcCVft+FoasnwPMqWa7fcDQqstFmht35x9f385fMo7z068M5ab+Kh4iDUdTIIg0gP9c/TGrthzmO7cP4MsqHiINTIlepJ69tP4Az/4pk6mjevH1SSoeIg1PiV6kHv1h1zG+/9sd3HJtJ56cfL2Kh0hEKNGL1JOth04x/5XNweIhw1Q8RCJGf3ki9eDA8UDxkOTEBJbOGEnreE0UK5GjRC9Sx44XFDNj2QYq3Fkxa5SKh0jEKdGLXKHQClFnS8qZ80KgeMjdQ7rSN7lthKMTUaIXuWKVFaI+/CSXx17dwpaDp0hoEcudn+ka6dBEAFWYErli41KSWDB1GLOe30hxWQWt42NZ9KAqREnjoSt6kTqw/XAexWUVAMwZ30dJXhoVJXqRK/TbrYf58e8DxUMendSPl9IOnuuzF2kMlOhFrsDazFy+/eutxMUYi2eM4PHPDWTBtGHMX7lFyV4aDSV6kcv08dF8HnlxEx1axfPc9BFMHNAJUIUoaXx0M1bkMhzNK2Lm8g20ahHLqq/feMG88uNSktRPL42GruhFaim/qJSZyzdw+mwpy2eNVPEQafTCSvRm1sHMXjOzPWa228zGVllvZvaMmWWY2XYzGx6y7g4z+zi47om6PgCRhhQoHrKZjOwCnrt/BNd3ax/pkERqFO4V/dPAO+5+LYFCIrurrL8T6B/8mQs8B2BmscCzwfWDgKlmNqgO4hZpcO7OE69v58OMXH785SFMGKDiIdI01NhHb2btgAnATAB3LwFKqjSbDLzg7g6sD34C6Ar0BjKClaYws1eDbXch0sT8dPVe3thymMdvG8C9Kh4iTUg4V/R9gRxguZltMbMlwULfoboDh0JeZwWXXWz5Bcxsrpmlm1l6Tk5O2Acg0hBeTjvAgj9lMHVUT+bfouIh0rSEk+jjgOHAc+4+DCgEqva1V1dNwS+x/MKF7ovcPdXdU5OT9ZFYGo8/7j7G997cwaSByTw5ebCKh0iTE06izwKy3D0t+Po1Aom/apueIa97AEcusVykSdh26BTzV27h+m7tWTBtuIqHSJNU41+tux8FDpnZwOCiW7mwj/0t4MHg6JsxQJ67fwpsBPqbWR8ziwemBNuKNHoHjhfy0PMbSUqMZ9nMkbRJ0NdOpGkK9y/3UeDlYLLeB8wys3kA7r4QeBu4C8gAzgCzguvKzGw+8C4QCyxz9511ewgide9EYQkzl2+k3J3nVTxEmriwEr27bwVSqyxeGLLega9fZNu3CbwRiDQJZ0vKmb1iI0dOnWXlw6NJUfEQaeLU4SjNXmiFqPIK5xvB4iF3faYLI665OsLRiVw5JXpp9iorRK3NyOVf/2cnq3cdo3V8LF9J7VnzxiJNgO4uSbNXOdvk7OfTOVtaTsu4GJbMSNWkZBI1dEUvAuQWlHC2tByAh2/qqyQvUUWJXpq9dZnH+favAsVD/v7mFF7eoApREl2U6KVZ23ssn4ee30CFO89NH8E/3HGtKkRJ1FGil2braF4RM5dtIMaMn993A7dd3xlQhSiJProZK81SZfGQvLOl/Hre2AvmlVeFKIkmSvTS7IQWD1k2c6SKh0jUU6KXZsXdeeKNQPGQn9yr4iHSPKiPXpqV/3pvL29sPsy3bxugL0RJs6FEL83GyrSD/Pf/y2DKyJ48quIh0owo0Uuz8Mfdx/jnNz9i0sBk/v2LKh4izYsSvUQ9FQ+R5k5/8RLVDh4/w+wVG+nYNp6lM1NVPESapbD+6s1sP5APlANl7p5aZf3/AaaH/M7rgGR3P1HTtiL15URhCTOWb6Cswlnx0Cg6JbaMdEgiEVGby5tJ7l7td8Ld/SfATwDM7B7gW+5+IpxtRepDUWk5c1Zs5PCps6yco+Ih0rzVR9fNVOCVevi9ImE5Vzzk0Cmevu8GUnureIg0b+EmegdWm9kmM5t7sUZm1hq4A3j9Mrada2bpZpaek5MTZlgi51eIcnf+7X928u7OY9wysBN3fqZrhKMTibxwu25udPcjZtYJeM/M9rj7mmra3QP8pUq3TVjbuvsiYBFAamqq1/I4pBmrrBC1YNowdhzOY8W6A7SMi2H2TX0iHZpIoxBucfAjwcdsM1sFjAKqS/RTqNJtU4ttRS5L5WyTc1/YREFxGfGxMSydMVKTkokE1dh1Y2ZtzCyx8jlwO7CjmnbtgYnAb2u7rciVijHjTEkZAHNu6sON/ZXkRSqFc0XfGVgV/CZhHLDS3d8xs3kA7r4w2O5LwGp3L6xp27oKXgSCxUOWbwBg7k19eHXjIcb31zTDIpXMvfF1h6empnp6enqkw5Am4GheEZ9/Zg0nzpTy9H038IUburM2M/dcn72SvTQXZrbpYt9T0jdjpcmqLB5yuqiMH35xMF+4oTugClEiVen74NIkVS0eUnVeeVWIEvkbJXppctydJ15X8RCRcKnrRpqcn67eyxtbVDxEJFxK9NKkvJx2gAV/ymDqKBUPEQmXEr00GX/cfYzvvbmDSQOTeXKyioeIhEuJXpqErcHiIYO7q3iISG3pf4s0egeOFzL7+Y0kJcazdMZIFQ8RqSUlemnUjhcUM2PZBircWTFrFMmJCZEOSaTJ0aWRNFpnS8qZ80I6n+YVsfLh0fRV8RCRy6JEL41SeYXz2Ktb2HroFM9NH8GIa1Q8RORyqetGGh135wdv7eC9Xcf4l3uu547BXSIdkkiTpkQvERdaISrweh8vrT/I6D5XM2Nc78gFJhIllOgl4iorRK3NzOXNLYd56p09xMfG8Ngt/SMdmkhUUB+9RFzlbJOPvLiJwuIy4mKMxTNGqHiISB3RFb00CglxsRSVlFPh8ND4Pkwc0CnSIYlEjbASvZntN7OPzGyrmV1QEcTMbjazvOD6rWb2/ZB1d5jZx2aWYWZP1GXwEh22HjrF9CXrKXfnoRt789qmrPP67EXkytSm62aSu1/qf98H7n536AIziwWeBW4DsoCNZvaWu++qfagSjT7KymPqonWUlFXwzNRh3D2kG58d1FkVokTqUH133YwCMtx9n7uXAK8Ck+t5n9JE7Dicx/1L04iPi+HnUwJJHlQhSqSuhXtF78BqM3Pgl+6+qJo2Y81sG3AE+I677wS6A4dC2mQBo6vbgZnNBeYC9OrVK8ywpKna/elpHliaRpv4WH71yFh6Xt36vPWqECVSd8JN9De6+xEz6wS8Z2Z73H1NyPrNwDXuXmBmdwFvAv2B6uaRrbYaefDNYxEEioOHewDS9Ow9ls/0JWkkxMXyytwxFyR5EalbYXXduPuR4GM2sIpAl0zo+tPuXhB8/jbQwsySCFzBh5YA6kHgil+aqYzsfKYtXk9cjPHK3DFc07FNpEMSiXo1Jnoza2NmiZXPgduBHVXadLFgFQgzGxX8vceBjUB/M+tjZvHAFOCtuj0EaSr25RQwdXEaEEjyfZKU5EUaQjhdN52BVcE8HgesdPd3zGwegLsvBO4FvmZmZcBZYIq7O1BmZvOBd4FYYFmw716amf25hUxdvJ6KCufVuWNI0UyUIg3GAvm4cUlNTfX09AuG60sTdejEGe775TrOlpbz6tyxDOySGOmQRKKOmW1y99Tq1mkKBKlXWSfPMGXRes6UlrNyzhgleZEI0BQIUm+OnDrL1MXryS8q5aXZoxnUrV2kQxJplpTopV4czSti2uL1nCos5cXZoxncvX2kQxJpttR1I3Uu+3QgyecWlPDC7FEM7dkh0iGJNGu6opcrFlo4JCe/mGlL0jh86ixfvKEbw3tdFeHoRESJXq5YZeGQd3Z8yvQl6zl4/AzxcTHcNaRrpEMTEdR1I3VgXEoSP7h7EF9/eTMYtI6P45cPjNBcNSKNhK7o5Ypt+OsJ/vV3u4iNMcorYNa43kryIo2IEr1ckV+nH2L6kvUkxMbQKj6Ox27px0tpB1U4RKQRUdeNXJbyCuepd/awaM0+Bndrx+FTZ3nu/uGMS0liTEpHFQ4RaUSU6KXW8otK+earW/njnmxmjL2Gzu1ackOvDueSemjhECV6kchTopdaOXTiDHNWpJORU8CTXxzMA2OuqbadCoeINB5K9BK2jftP8MiLmygrr2DFrFGM769ELtIUKNFLWH6dfojvrvqInle1ZsmMVPpqmmGRJkOJXi4p9Kbr+H5JPDttOO1bt4h0WCJSC2ElejPbD+QD5UBZ1TmPzWw68I/BlwXA19x9WzjbSuMVetP1wbHX8L27B9EiViNyRZqa2lzRT3L3iw2O/isw0d1PmtmdBIp8jw5zW2mEwr3pKiKNX5103bj72pCX6wkUAZcmYuH7mQzp0f7cKJmN+0/w0PMbKSnTTVeRaBDu53AHVpvZJjObW0Pb2cDva7utmc01s3QzS8/JyQkzLKkLlZOSrc3M5Tfph5iyaB2FxWX86EuDleRFokBYNWPNrJu7HzGzTsB7wKPuvqaadpOAXwDj3f14bbYNpZqxDe/PH2cz78VNFJVVEBdjPDd9BLdd3znSYYlImC5VMzasK3p3PxJ8zAZWAaOq2ckQYAkwuTLJh7utRNaGv57g3/5nF0VlFQA8MrGvkrxIFKkx0ZtZGzNLrHwO3A7sqNKmF/AG8IC7763NthI5+UWlfO/NHXz1l+vILy4lsWVgUrJXNhzSpGQiUSScm7GdgVVmVtl+pbu/Y2bzANx9IfB9oCPwi2C7ymGU1W5b50chtfanPdl8d9VHHD1dxF2Du7Bu3/Fzc8hrUjKR6BJWH31DUx99/TlRWMKTv9vFqi2H6d+pLf9x7xDS/nrivFE3AGszc9melce8iSkRjFZEwnWpPnp9M7aZcHd+t/1T/uWtnZwuKuUbt/bn7yelkBAXy7Bq6rpqUjKR6KFE3wwczSvin9/cwR92H2Noj/Y8de9oru3SLtJhiUgDUaKPYu7OqxsP8aP/3U1pRQX//PnrmHVjH2JjLNKhiUgDUqKPUgeOF/LE6x+xbt9xxvbtyI+//Bmu6dgm0mGJSAQo0UeB0CkMyiucZR/+lf94dw+G8eO/+wz3jexJcOSTiDRDSvRRoHIKg3/43EBe2XCQbVl5tIg1fnbfUD4/pFukwxORCFOijwIJcTH07tiGJ974iFYtYmibEMeiB0Ywrp9GzYiIEn2TVVHh/OnjbBa+n8nG/Sfp0LoFo3pfzYb9J3jslr5K8iJyjhJ9E1NSVsFb246waE0me48V0L1DK35wzyB6d2zN47/ZzmO39OOltIOMSemocfAiAijRNxmFxWW8suEgSz/8K5/mFXFtl0R+ft8NfH5IVzbuP3HelAWawkBEQinRN3K5BcU8/5f9vLj+AHlnSxnd52p+9Hef4eYByedG0mzPyjsvqY9LSWLBtGFsz8pTohcRzXXTGFSt8ASwaksWL6w7wK4jpykpr+Bzg7rwyMS+1U5XICKiuW4aucrhkQumDaNdyxY8+b+7SNt3grgY494RPXh4Ql9SkttGOkwRaaKU6COsosJp17IFtw3qzINLN1BW4Rhw95CufP/uQXRq1zLSIYpIE6dEHwHHC4r54JNc1uzNYc0nueQWFAOQ1Dae3IIS5k7oyz/ddV2EoxSRaBFWojez/UA+UM7fioqErjfgaeAu4Aww0903B9fdEVwXCyxx9x/XWfRB1fVxN+R86jXtv7S8gi0HT7Fmbw7v781hx5E83OHqNvHc1D+JCf2TaRUfwz+/ufPc8MiJA5N1I1VE6kRtrugnufvF6svdCfQP/owGngNGm1ks8CxwG5AFbDSzt9x91xXEfIHQPu5xKUmszcw997ohVLf/r720mXtHdOeRF9NZm3Gc/OIyYmOM4b068O3PDmDiwGQGd2tPTIydF6+GR4pIXaurrpvJwAseGMKz3sw6mFlXoDeQ4e77AMzs1WDbOk30lcMJH3lhE58b3Jn3dmXz8/uGhp0kr+QTwdmScnp0aM1jt/Zj7gubSEluw0eH86hwWPrhfrp3aMXdQ7sycUAyY1OSaN+qxQW/Q8MjRaQ+hZvoHVhtZg780t0XVVnfHTgU8joruKy65aOr24GZzQXmAvTq1SvMsP5mbN+OnCkp47VNhwGY9Xw6reNjSWqbQFLb+MBjYgLJ5x6Dy9omMKBz2/OuoD/8JJf5r2zmHz43kD9/nE1OfjE5BcXk5BeTnR94zA0+5heXnRfHtqw8el3dmhnjejNxQBIpyW1rnDmyujcTVXgSkboSbqK/0d2PmFkn4D0z2+Pua0LWV5fJ/BLLL1wYePNYBIFx9GHGdc66zOO0SYjj5oGd+OPuY9wztBut4+PILSgmt6CY/ccLST9wkhOFJdVuHx8bw/1L0mjZIpYzJeUA/N9VO85r0zYhjk6JgTeK67q1Y0LbBJITAz/HC4p57s+Z3D/mGl7deIjruibSr1NibQ9DRKTOhZXo3f1I8DHbzFYBo4DQRJ8F9Ax53QM4AsRfZHmdWpuZy/xXtrDwgREX9NFXvSouK6/gRGEJ2fnFwTeBksBjfjEffJLDx8cKGNn7Kr4wtNu5JJ7ctiVJifG0jq/+dK3NzOXHv99zbv/j+yepj11EGo0aE72ZtQFi3D0/+Px24N+qNHsLmB/sgx8N5Ln7p2aWA/Q3sz7AYWAKMK1Oj4Da9XHHxcbQqV3LC8anr83M5Y0th8+Neknp1DbsJK0+dhFpzGqcAsHM+gKrgi/jgJXu/kMzmwfg7guDwysXAHcQGF45y93Tg9vfBfycwPDKZe7+w5qCaugpEKp+ArjUJwIRkcboUlMgaK4bIj8OX0TkSinRi4hEuUsl+piGDkZERBqWEr2ISJRTohcRiXJK9CIiUU6JXkQkyjXKUTfBL1oduMzNk4CLzbIZSYqrdhRX7Siu2onGuK5x9+TqVjTKRH8lzCz9YkOMIklx1Y7iqh3FVTvNLS513YiIRDklehGRKBeNib7qXPmNheKqHcVVO4qrdppVXFHXRy8iIueLxit6EREJoUQvIhLlmnyiN7OfmNkeM9tuZqvMrMNF2t1hZh+bWYaZPdEAcX3FzHaaWYWZXXS4lJntN7OPzGyrmdX7lJ21iKuhz9fVZvaemX0SfLzqIu0a5HzVdPwW8Exw/XYzG15fsdQyrpvNLC94fraa2fcbIKZlZpZtZjsusj5S56qmuBr8XAX329PM/mRmu4P/F79RTZu6PWfu3qR/CFS8igs+fwp4qpo2sUAm0JdAecNtwKB6jus6YCDwZyD1Eu32A0kNeL5qjCtC5+s/gCeCz5+o7t+xoc5XOMcP3AX8nkBd5DFAWgP824UT183A7xrq7ym4zwnAcGDHRdY3+LkKM64GP1fB/XYFhgefJwJ76/vvq8lf0bv7ancvC75cT6AubVWjgAx33+fuJcCrwOR6jmu3u39cn/u4HGHG1eDnK/j7VwSfrwC+WM/7u5Rwjn8y8IIHrAc6mFnXRhBXg3P3NcCJSzSJxLkKJ66IcPdP3X1z8Hk+sBvoXqVZnZ6zJp/oq3iIwLtgVd2BQyGvs7jwxEaKA6vNbJOZzY10MEGROF+d3f1TCPxHADpdpF1DnK9wjj8S5yjcfY41s21m9nszu76eYwpHY/7/F9FzZWa9gWFAWpVVdXrOaiwO3hiY2R+ALtWs+q67/zbY5rtAGfBydb+immVXPK40nLjCcKO7HzGzTsB7ZrYneCUSybga/HzV4tfU+fmqRjjHXy/nqAbh7HMzgTlPCoL1mt8E+tdzXDWJxLkKR0TPlZm1BV4Hvunup6uurmaTyz5nTSLRu/tnL7XezGYAdwO3erCDq4osoGfI6x7AkfqOK8zfcST4mG1mqwh8PL+ixFUHcTX4+TKzY2bW1d0/DX5Ezb7I76jz81WNcI6/Xs7RlcYVmjDc/W0z+4WZJbl7JCfwisS5qlEkz5WZtSCQ5F929zeqaVKn56zJd92Y2R3APwJfcPczF2m2EehvZn3MLB6YArzVUDFejJm1MbPEyucEbixXO0KggUXifL0FzAg+nwFc8MmjAc9XOMf/FvBgcHTEGCCvsuupHtUYl5l1MTMLPh9F4P/48XqOqyaROFc1itS5Cu5zKbDb3f/rIs3q9pw19B3nuv4BMgj0ZW0N/iwMLu8GvB3S7i4Cd7czCXRh1HdcXyLwrlwMHAPerRoXgdET24I/OxtLXBE6Xx2BPwKfBB+vjuT5qu74gXnAvOBzA54Nrv+IS4ysauC45gfPzTYCgxPGNUBMrwCfAqXBv63ZjeRc1RRXg5+r4H7HE+iG2R6St+6qz3OmKRBERKJck++6ERGRS1OiFxGJckr0IiJRToleRCTKKdGLiEQ5JXoRkSinRC8iEuX+P8uspP3k7BpEAAAAAElFTkSuQmCC\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYkAAAEHCAYAAABbZ7oVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAAyq0lEQVR4nO3deXxU9b3/8dcnCWFflACyL2FxQRCIgGjBvWrr0l5aBVTEBbEVa2/3Xfu77W1rb29tXRBQRBSsWqnUumB7K1hZwyq7BBHCmiBLAiHr5/fHnNAhZJIJZDJZ3s/HYx4zZ5vzmUOYz5zz/Z7vx9wdERGR8iTEOwAREam9lCRERCQiJQkREYlISUJERCJSkhARkYiS4h1AdUpJSfEePXrEOwwRkTplxYoV2e7errxl9SpJ9OjRg/T09HiHISJSp5jZp5GW6XKTiIhEpCQhIiIRKUmIiEhEShIiIhKRkoSIiESkJCEiEidTFmSwKCP7pHmLMrKZsiAjThGdSklCRCROBnRpzYOzV51IFIsysnlw9ioGdGkd58j+LaZJwsz6mdnqsMcRM3u4zDpmZn8ws61mttbMBoctu87MNgfLvh/LWEVEqup0zwRKSpzs3HzOapbMxJG9uG9mOvfMXM7EF1bwrWv60jOlOQVFJTHbf1VYTdWTMLNEYBcwzN0/DZt/AzAZuAEYBjzu7sOC9bcA1wCZwHJgjLtviLSPtLQ01810IlJTSn/5PzF2ECNSU/i/Tfv45p/W8PDVfejQqgn7jxwnKzefrJzgEbzOzi2guKTy7942zRqR0qIxKS2Sg+fGtGvZmHYtGpPSMpndh/L47btbeHzMRYzq2/6UeKJlZivcPa28ZTV5x/VVQEZ4ggjcDLzgoWy1xMzamFlHoAew1d23AZjZy8G6EZOEiEhNKSouITkxgVF9U7jj2WUYUBR88T/6139/TSUmGCktkk98uZ/fsRXtWzYJTbdszL4jx/n93z/mlos6MXfVLu79XC/atkgmO6eA7BNJJZ91uw6TnVtAbn7RKbGMf245HVo2prDEq5wgKlOTSeI2YE458zsDO8OmM4N55c0fVnZjM5sITATo1q1bdcUqInKK3YfyWLgliwVbsvjX1mxyjheRYNC+ZWP2HslnRGpb/mNwlxMJoH3LxpzVLJmEBCv3/RZlZPPjv6zj6dsHMyI1hc/3P+fEmcC4Yd3L3SavoDiUPHLzyQ7OSt5YvYuln3zGQ1f2rtYEATWUJMwsGbgJ+EF5i8uZ5xXMP3mG+1RgKoQuN51BmCLSwExZkMGALq1P+mJdlJHN2szDTBqVyvHCYpZ+8hkLt2SxcEsWH+/PBaBj6ybc0L8jI/u2Izkxge+9vpaHruzNi0t30LFNk6i/qNdmHj7pl/+I1BSeGDuItZmHI75H0+REup7djK5nNzsR78f7c0/sf3hq2zp5JnE9sNLd95WzLBPoGjbdBdgNJEeYLyJSLUp7F5V+US/ams0DL63kpoGduPO5ZSzddoD8ohKSkxIY1vNsbr24KyP7tqNP+xaY2SltAMNT21apTWDSqNRT5o1ITYn6S/5M9x+NGmm4DtoT3nX3GeUs+wLwIP9uuP6Duw81syRCDddXEWrwXg6Mdff1kfajhmsRqapFW7O5/8UVdDu7GRv3HKG0PTm1XXNG9m3HyL7tGN6zLU2TE0/ZtrIzkVirrv1X1HAd8yRhZs0ItS30cvfDwbxJAO4+xcwMeAK4DjgGTHD39GC9G4DfA4nAc+7+i4r2pSQhItEqKi7hbx/tYcqCbWzccwSAXu2ac+9lvRjZN4UuZzWLc4Q1J669m9z9GNC2zLwpYa8d+HqEbd8C3oppgCLSoOQVFPNK+k6mfbCNzIN5dGrdhObJidw1ogdzlu+kR0qzBpUgKlOvig6JiERy8GgBMxdvZ+ai7Rw8VsiQ7mdx68VdmfGv7Uwbn8aI1BQu7ZNS7df06zolCRGp1zIPHmP6B5/wp+U7ySss5urz2nP/qFQu7nE2UxZk8MS4qvUuamhq7I7rmqA2CREptXHPEZ5ZkMFf1+7BgJsv6sz9o3rRt0PLeIdW69SWO65FRKpV2d497s5zH37CS0t2sC37KM2TE5kwogd3X9aTTm2axjnauklJQkTqrNL7HP542yBy8gt57N3NZGQdpVWTJL59bV/uGN6D1s0axTvMOk1JQkTqrBGpKXzrmr7cOWMZxSVOgsGES3vwvevOpUmjU+9rkKpTkhCROul4YTH/+/ctTFu4jSaNEjlWUMzXLu/Ntz/fL96h1SsqOiQidc6SbQe4/vEPeGbBNi7v147GSQk8dGVvZi/bcUp9BTkzShIiUmfkHC/kR3M/4rapSygucX50w7ms3nmYJ8cN5j+v7ccTYwedVOlNzpyShIjUCf+3aR/X/u9C5izbwb2X9eSdhz9HsRNxFFWpHrpPQkRqtQO5+fz8zQ28sXo3fTu04Nf/MYBB3c6Kd1j1iu6TEJE6x92Zt2Y3j/51AznHC3n46j587fLeJCfpAkhNUpIQkVpnz+E8fjx3Hf/YtJ+BXdvwm/8YQL9zdKd0PChJiEjclL1juqTE+cVbG5i1eAcJCfDjL5zHhEt7khih/KfEnpKEiMRNeGW4jq2b8sCLK9i0N4cLOrXi6XFD6NZWQ3bHW8yThJm1AaYD/QnVqL7b3ReHLf8OMC4snvOAdu7+mZltB3KAYqAoUsOKiNRNI1JTeGLMIO6dmU5+YTElDhM/15Mf3HAeoXpkEm81cSbxOPCOu482s2TgpJ8G7v4Y8BiAmd0IfNPdPwtb5Qp3V6dnkXoov6iYuat2caygGIC7L+3BD79wfpyjknAx7SZgZq2AkcCzAO5e4O6HKthkDDAnljGJSO1wIDef26cv5dUVmTRtlMjkK3rzl9W7dSNcLRPrvmS9gCxghpmtMrPpZta8vBWDWtjXAX8Om+3AfDNbYWYTI2w30czSzSw9KyuruuMXkRjYvDeHm5/8kNU7DtGicRLP3pXGtz6vO6Zro1gniSRgMPC0uw8CjgLfj7DujcCHZS41Xerug4Hrga+b2ciyG7n7VHdPc/e0du3aVXP4IlLd/rFxH19+6kMKikoYO6wbU+8cojuma7FYt0lkApnuvjSYfo3ISeI2ylxqcvfdwfN+M5sLDAUWxihWEYkhd2faB9v477c30b9Ta6bdmcY5rZucst6I1BSVDq1FYnom4e57gZ1mVjp271XAhrLrmVlrYBTwRti85mbWsvQ1cC2wLpbxikhs5BcV893X1vLLtzZxQ/+OvHL/JeUmCKl9aqJ302TgpaBn0zZggplNAnD3KcE6XwLmu/vRsO06AHODbnBJwGx3f6cG4hWRanQgN59JL65g+faDfOOqPnzjqj4k6Oa4OkMD/IlIzGzem8M9M5eTlZPPb78ykBsHdop3SFIODfAnIjXu/zbtY/LsVTRvnMQr91/CwK5t4h2SnAYlCRGpVu7O9A8+4Zdvb6ywgVrqBiUJETltZQfoyy8qZuIL6SzYks0XLuzIb78ykKbJiXGOUs6EBmYXkdNWOkDfooxsDuTmc9Mf/8WCLdl8eVBn/jhmkBJEPaAzCRE5baU3vz3w4kpK3Mk5XsTkK3vzrWv7Vb6x1AlKEiJyRlo3bcTxwmLyi0r4aloXJYh6RpebROS0bdp7hFufWUxhcQnjL+nO3zfu17hL9YyShIicli37cvjqlMUcKyjmf746kEdv7q8B+uohJQkRqbKt+3MZO20pxSXOb78ykC8N6gJogL76SG0SIlIl27JyGTttCQDzJl9GarsWJy3XAH31i84kRCRq27OPMmbaEopLnDn3DTslQUj9oyQhIlHZ+dkxxk5bQkFRCbPvG06fDi3jHZLUAF1uEpFKZR48xm1Tl3CssJjZ9w6n3zlKEA2FziREpEK7D+UxZtoSco4X8uI9wzi/U6t4hyQ1SElCRCLae/g4Y6ct4dDRQmbdM4z+nVvHOySpYTFPEmbWxsxeM7NNZrbRzC4ps/xyMztsZquDx0/Dll1nZpvNbKuZRSp7KiIxsP9IKEFk5xYw856hGuq7gaqwTcLM/gk48Jm7jz7NfTwOvOPuo4PqdM3KWecDd/9imX0nAk8C1xCqlb3czOa5+ynlT0WkemXl5DN2+lL2HjnOC3cPZXC3s+IdksRJZQ3XdxFKEsWn8+Zm1goYGbwP7l4AFES5+VBgq7tvC97rZeBmyqmRLSLV50BuPuOmL2HXwTyen3AxaT3OjndIEkeVXW56P3i8fprv3wvIAmaY2Sozm25mzctZ7xIzW2Nmb5vZBcG8zsDOsHUyg3knMbOJZpZuZulZWVmnGaaIABw8WsC46UvZ8dkxnr0rjWG92sY7JImzCpOEu/d0917uPuw03z8JGAw87e6DgKNA2baFlUB3dx8I/BH4SzC/vErppxTkdvep7p7m7mnt2rU7zTBFGqYpCzJOjLN0+Fghtz+7lK37c7nlos66a1qAKBuuzWxWNPPKkQlkuvvSYPo1QknjBHc/4u65weu3gEZmlhJs2zVs1S7A7mjiFZHolBYNem/DPu54bimb9+bQtFEiN13UKd6hSS0R7c10F4RPBI3KQyrbyN33mtlOM+vn7puBqyjTpmBm5wD73N3NbCihxHUAOAT0MbOewC7gNmBslPGKSBRGpKbwu68M5N4X0ilxp1lyEs/cOURnEXJCZb2bfgD8EGhqZkdKZxNqfJ4a5T4mAy8FPZu2ARPMbBKAu08BRgMPmFkRkAfc5u4OFJnZg8C7QCLwnLuvr9KnE5EKFZc4Ly3bQVFJ6Eru3Zf2UIKQk1jo+7iSlcz+291/UAPxnJG0tDRPT0+PdxgidYK789M31jNryac0S07k3st68uLSHTwxdpASRQNjZivcPa28ZVFdbnL3H5hZZ6B7+DbuvrB6QhSRmvbMwm3MWvIpTRolMH18GiNSUxie2pYHZ69SopATokoSZvYrQm0CG/j3PRMOKEmI1EFvrN7Fr97exHkdW/LjG84/kRDCiwYpSQhE33D9JaCfu+fHMhgRib1FW7P59qtrGNbzbF64ZyiNkxJPWq6iQRIu2rGbtgGNYhmIiMTepr1HuH/WCnqmNGfqnWmnJAiRsqI9kzgGrDazfwAnzibc/aGYRCUi1W7P4Tzuem45zRonMmPCUFo31e8+qVy0SWJe8BCROujI8ULuem45uflFvHL/JXRu0zTeIUkdEW3vpplm1hToFtwUJyJ1REFRCfe/sIKMrFyenzBURYOkSqIdluNGYDXwTjB9kZnpzEKklispcb772hoWbzvAb0YP4LI+apCWqom24foRQkN3HwJw99VAz5hEJCLV5rH5m/nL6t185/P9+PLgLvEOR+qgaJNEkbsfLjOv8lu1RSRuZi3eztPvZzBuWDe+dnlqvMOROirahut1ZjYWSDSzPsBDwKLYhSUiZ2L++r38bN56rj6vPY/edAFm5Y28L1K5aM8kJhMaCTYfmA0cBh6OUUwicgZW7jjIQy+v4sIubfjDmEEkJca8lL3UY9H2bjoG/Ch4iEgt9Un2Ue6dmU6HVk14dnwazZKjvVggUr5oeze9Z2ZtwqbPMrN3YxaViEQlvLJcdm4+d81YRmFxCdddcA4pLRrHOTqpD6I9D01x90OlE+5+EGgfk4hEJGqlleX+uWkf9zy/nN2H8jBgVD+V8pXqEe25aImZdXP3HQBm1h31bhKJuxGpKTx+20Xc/fxyCoudFo2TmHKHKstJ9Yk2SfwQ+JeZLQimRwITo9kwuEw1HehPKLHc7e6Lw5aPA74XTOYCD7j7mmDZdiCH0PDkRZGKYog0VO7O2+v2UlisynISG5UmCTNLAFoDg4HhhMqXftPds6Pcx+PAO+4+Oihh2qzM8k+AUe5+0MyuJ1QWdVjY8iuqsC+RBuWp9zOYvXQHTRolMPFzvXhx6Q6Gp7ZVopBqU2mScPcSM3vQ3V8B3qzKm5tZK0JnHXcF71VAqD52+PuH32+xBNBtoSJReH1lJo+9u5nkxASevfNiLu2jynJS/aJtuH7PzL5tZl3N7OzSRxTb9QKygBlmtsrMpptZ8wrWvwd4O2zagflmtsLMyr28ZWYTzSzdzNKzsrKi/Dgiddu/Ps7mu6+tpfvZzZg+Po1L+5xaWU6kOph75e3PZvZJObPd3XtVsl0aobODS919qZk9Dhxx95+Us+4VwFPAZe5+IJjXyd13m1l74D1gckV1tdPS0jw9Pb3SzyNSl23YfYSvPrOYLmc15ZVJl9CqiepCyJkxsxWR2nyjvZnudAfzywQy3X1pMP0a8P1yAhxAqHH7+tIEEex3d/C838zmEhpkUHW1pcHafSiPCc8vo0XjJGZMuFgJQmIu2pvpmpnZj81sajDdx8y+WNl27r4X2Glm/YJZVwEbyrx3N+B14A533xI2v7mZtSx9DVwLrIsmXpH66HBeIXfNWMax/GKev/tiOrZW4SCJvWi7wM4AVgAjgulM4FWia8ieDLwU9GzaBkwws0kA7j4F+CnQFngqGISstKtrB2BuMC8JmO3u70QZr0i9kl9UzP2z0vkk+ygzJwzl3HNUOEhqRrRJItXdbzWzMQDunmdRDisZ1J4oe61rStjye4F7y9luGzAwyvhE6q2SEuc7r65lybbP+P2tFzGit3otSc2JtndTQVC+1AHMLJXQiLAiEmO/eXcz89bs5rvX9eOWQZ3jHY40MNGeSfyMUOnSrmb2EnApwb0PIhI7LyzezpQFGdw+vBsPjFLhIKl50fZues/MVvLvO66/obugRWJr/vq9PBIUDnrkRhUOkvioymDzo4DLCF1yagTMjUlEIqLCQVJrRNsF9ilgEvARoW6o95vZk7EMTKShUuEgqU2i/esbBfT34PZsM5tJKGGISDUqLRwEMHPCUBUOkriL9hx2M9AtbLorsLb6wxFpWMIryx0rKDpROOiLAzrSI6WiYc5Eaka0SaItsNHM3jez9wndNd3OzOaZ2byYRSdSz5VWlvvg4ywmz17F2szDNE5K5Lr+58Q7NBEg+stNP41pFCIN1IjUFJ4YM4gJzy8nv6iEZsmJTL1TleWk9oi2C+yCipab2WJ3v6R6QhJpWFZnHiK/qASAey/rqQQhtUp19atrUk3vI9KgzF2VyW/eCRUOmnxFb15cuuNEG4VIbVBdSaLyohQicpIPt2bz7VfXkJRgTBs/hG99vh9PjB3Eg7NXKVFIraE7dETiYOOeI0yatYKzmiXz9O1DGNW3PaDKclL7VNddOhovQCRKew7nMWHGcpo3TuL1r42gU5uT60KMSE1Ru4TUGtHecX19OfMmhU3eUW0RidRjR44Xctdzy8nNL2LGhItPSRAitU20l5t+YmZXlk6Y2feAm0un3T1ixTgza2Nmr5nZJjPbaGaXlFluZvYHM9tqZmvNbHDYsuvMbHOw7JSypyJ1SUFRCfe/sIKMrFyeuWMI53VU4SCp/aK93HQT8KaZfQe4Djg3mBeNx4F33H10UJ2uWZnl1wN9gscw4GlgmJklAk8C1xCqhLfczOa5+wZE6piSEue7r61h8bYD/O6rA7lUhYOkjoj2PolsM7sJ+DuhMqajS8dxqoiZtQJGEtSecPcCoKDMajcDLwTvtyQ48+gI9AC2BhXqMLOXg3WVJKTOeWz+Zv6yejff+Xw/vjy4S7zDEYlahZebzCzHzI6YWQ6wFegLfAU4YmZHonj/XkAWMMPMVpnZdDMrOyBNZ2Bn2HRmMC/S/LIxTjSzdDNLz8rKiiIkkZo1a/F2nn4/g3HDuvG1y1U4SOqWCpOEu7d091Zhz03cvUXpdBTvnwQMBp5290HAUaBs20J5PaO8gvllY5zq7mnuntauXbsoQhKpOe9t2MfP5q3nqnPb8+hNKhwkdU+0vZveMLMx5ZwFVCYTyHT3pcH0a4SSRtl1uoZNdwF2VzBfpE5YteMgk+es5MLOrfnjWBUOkrop2r/a3wGfAzaY2atmNtrMKh2Kw933AjvNrF8w6ypObVOYB9wZ9HIaDhx29z3AcqCPmfUMGrxvC9YVqfW2Zx/lnpnptG/ZhGfvuliFg6TOqsoAfwuCHkdXAvcBzwHRXHKaDLwUfNFvAyaU3mPh7lOAt4AbCLV5HAMmBMuKzOxB4F0gEXjO3ddX4bOJxMWB3HzGz1iGuzPzbhUOkrot6p83ZtYUuBG4ldAlo5nRbOfuq4G0MrOnhC134OsRtn2LUBIRqRPyCoq5e2Y6ew8fZ87E4fRU4SCp46Jtk/gTsJHQWcSTQKq7T45lYCJ1QXhluaLiEibPWcmanYf4woCODO52VpyjEzlz0Z5JzADGuntxLIMRqWtKK8s9MWYQb63bw9837qdZciKjh+heCKkfKkwSZjYyeHlICULkVKWjtt7zfDp5hcU0aZTA9PFpGqBP6o3KziQmELo34TCwJPbhiNQ9+4/kk1cY+g1132W9lCCkXqksSbwfPB+LcRwiddKirdl869XVJCUYE0f24qVlO7ikd1slCqk3KksSPYLnnBjHIVLnbNp7hHtmLgeHp+8YwjXnd+CyPimhNoqxg5QopF6oMEm4+6M1FYhIXbLncB53PbecxATj97cN4przOwAnV5ZTkpD6QLeBilTRkeOFTJgRKhz0yv0jOL/TyfeUqrKc1CcaTEakCgqKSpg0awVb9+cy5fYhpyQIkfqmsqHCvxE8X1oz4YjUXu6hwkGLMg7wm9EDuKyPzhak/qvsTGJC8PzHWAciUts99q4KB0nDU1mbxEYz2w60M7O1YfON0LBLA2IWmUgtMmvJpzz1fgZjVThIGpjKejeNMbNzCI3EGm1Na5F65b0N+/jZG+u46tz2/FyFg6SBqbR3U1ATYmAw1HffYPZmdy+MaWQitcDqnYeYPGcl/VU4SBqoqLrAmtko4AVgO6FLTV3NbLy7L4xhbCJxtT37KPc8vzxUOGi8CgdJwxTtX/3vgGvdfTOAmfUF5gBDKtswaNPIAYqBIndPK7P8O8C4sHjOA9q5+2eVbSsSKwdy87lrxjJK3Hl+wsW0a6nCQdIwRZskGpUmCAB332JmjaqwnyvcPbu8Be7+GPAYgJndCHzT3T+LZluRWMgrKOaemensOXyc2fcNp1e7FvEOSSRuok0S6Wb2LDArmB4HrIhBPGMInaGIxEVxiTN5zirWZB7i6XFDGNJdhYOkYYu2Fe4BYD3wEPANYAMwKcptHZhvZivMbGKklcysGXAd8OeqbityusIry7k7j8xbz9837uPqcztwXf9z4hydSPxFdSbh7vmE2iV+dxr7uNTdd5tZe+A9M9sUocH7RuDDMpeaKt02SB4TAbp163Ya4UlDdqKyXDAo36wln9KkUQITLusR79BEagVz95rbmdkjQK67/7acZXOBV919dlW3LZWWlubp6enVFK00FIsysrnvhXSO5heTnJjAjLsu5lINuSENiJmtiNQxKKadvs2suZm1LH0NXAusK2e91sAo4I2qbitSHfIKQpXl7v1cTyUIkTBVShLBl3VVdAD+ZWZrgGXA39z9HTObZGbhbRpfAua7+9HKtq3i/kUqtGnvEe55fjkGTBzZi5eX7zzRRiEiUV5uMrMRwHSghbt3M7OBwP3u/rVYB1gVutwkVbHncB5f+MMHHDxWyOO3DeKmgZ1YlJGtynLS4FTH5ab/BT4PHABw9zXAyOoJT6TmnSgcdLyYX95yITcN7AScXFlORKpQmc7dd5YZ2Ky4+sMRib3wwkHPTxh6Sl0IVZYT+bdok8TO4JKTBwP9PQRsjF1YIrFRUvLvwkG/++pAFQ4SqUS0l5smAV8HOgOZwEXBtEid8th8FQ4SqYpob6bL5t+D8InUSbMWb+dpFQ4SqZJohwqfQWiIjJO4+93VHpFIDMxfv5efzVvP1eepcJBIVUTbJvFm2OsmhO5r2F394YhUv5U7DvLQy6u4sEsb/jBGhYNEqiLay03hg+5hZnOAv8ckIpFq9En2Ue6dmU6HVk14dnyaCgeJVNHp/qTqA2g0PanVsoPCQQAzJwwlpYUKB4lUVbRtEjmE2iQseN4LfC+GcYmckWMFRdzz/HL2HTnOnPuG0yOlqiPKiAhEf7mpZawDEakuRcUlTJ69io92HeaZO9IY1E2Fg0ROV4VJwswGV7Tc3VdWbzgiZ8bd+em89fxj037+3y39ueb8DvEOSaROq+xM4n8qWObAldUYi8gZe+r9DGYv3cEDl6dyx/Du8Q5HpM6rMEm4+xU1FYjI6ZiyIIMBXVozIjWF11dm8ti7m7k0tS2tmqgXk0h1iPp/kpn1B84ndJ8EAO7+QiyCEolWafnR+0f24rF3N3NBp1Zs2HOEr1/ZO96hidQL0fZu+hlwOaEk8RZwPfAvQElC4mpEagoPXdWHR+atp23zZHYfyuPJcYM1iqtINYn2PonRwFXAXnefAAwEoup0bmbbzewjM1ttZqdUBDKzy83scLB8tZn9NGzZdWa22cy2mtn3o4xVGpBVOw7y23c306ZpIw4cLeCO4d2VIESqUbSXm/LcvcTMisysFbAf6FWF/VwRDBIYyQfu/sXwGWaWCDwJXENo5NnlZjbP3TdUYb9Sj63NPMSdzy2jWXIiBUUlPHRlb15cuoPhqW2VKESqSbRJIt3M2gDTgBVALqG607E0FNjq7tsAzOxl4GZASUJYt+swdzy7jMZJCRQUlfDU7aFLTMNT26r8qEg1qvByk5k9YWYj3P1r7n7I3acQ+mU/PrjsFA0H5pvZCjObGGGdS8xsjZm9bWYXBPM6AzvD1skM5pWNcaKZpZtZelZWVpQhSV22cc8Rbn92KS0aJzF6SJcTCQJUflSkulV2JvEx8D9m1hH4EzDH3VdXcR+XuvtuM2sPvGdmm9x9YdjylUB3d881sxuAvxAaG6q8sZzLG658KjAVIC0t7ZTlUr9s3pvDuOlLaZKUyOz7htG97anDbaj8qEj1qfBMwt0fd/dLgFHAZ8AMM9toZj81s77R7MDddwfP+4G5hC4jhS8/4u65weu3gEZmlkLozKFr2Kpd0PDkDdrW/TmMm76EpARjzsTh5SYIEaleUfVucvdP3f3X7j4IGEuonkSlNa7NrLmZtSx9DVwLrCuzzjkWVIAxs6FBTAeA5UAfM+sZ1NW+DZgX9SeTeiUjK5cx05YCoQTRUwP2idSIaO+TaARcR+iL+ipgAfBoFJt2AOYGOSAJmO3u75jZJICgjWM08ICZFQF5wG3u7kCRmT0IvAskAs+5+/qqfDipH7ZnH2XstCWUlDgvTxxOarsW8Q5JpMGw0PdxhIVm1wBjgC8Q6s30MvAXdz9aM+FVTVpamqenn3IrhtRhOw4c49api8kvKmHOfcPpd44GJBapbma2wt3TyltW2ZnED4HZwLfd/bNqj0ykApkHjzFm2hLyCouZfa8ShEg8aIA/qZV2H8pjzLQl5BwvZPZ9wzm/U6t4hyTSIKkivNQ6ew8fZ8y0JRw6Wsise4bRv3PreIck0mBpPGWpVfYfOc7YaUs4kFvAC/cMZWDXNvEOSaRB05mExNWUBRksyggN65WVk8+YaUvYdSiPWy7qxGCVHRWJOyUJiavSehDvrNvDuOlL2PlZHslJCdwwoGO8QxMRdLlJ4mxEagqP3Hg+X39pFZjTLDmJZ+4YomE1RGoJnUlIXK349CA/f3MDiQlQXAITRvRQghCpRZQkJG5eX5nJmKlLSEwwmiYnnagHUdpGISLxpyQhNa6kxPn1O5v4z1fW0Lt9CwqKSnj69sH857X9eGLsIB6cvUqJQqSWUJuE1Kij+UU8/KfVvLdhH2OHdaNzm6YM6tam3HoQuuwkEn9KElJjMg8e496Z6WzZl8MjN57P+BE9CAZ/PInqQYjUHkoSUiNWfHqQ+2elk19UwowJQxnVt128QxKRKChJSMy9vjKT7//5Izq2acLLEy+md3sN9S1SVyhJSMyUlDiPzd/M0+9ncEmvtjw1bjBnNU+Od1giUgUxTxJmth3IAYqBorJjlpvZOOB7wWQu8IC7r4lmW6m9yjZQP3rTBTRKVGc6kbqmps4krnD3SH0aPwFGuftBM7semAoMi3JbqYV2Hcrj3pnpbN57pMIGahGp/eJ+ucndF4VNLgG6xCsWqbopCzIY0KX1id5IKz49yIQZyziuBmqReqEmzv8dmG9mK8xsYiXr3gO8XZVtzWyimaWbWXpWVlY1hSzRKh2gb1FGNq+vzOTWZxaTm1/EL2/prwQhUg9UWOO6WnZg1sndd5tZe+A9YLK7LyxnvSuAp4DL3P1AVbYtpRrX8bFwSxYTZ6VzvLCEpATjqXGDufaCc+IdlohEqaIa1zE/k3D33cHzfmAuMLTsOmY2AJgO3FyaIKLdVuJr9c5D/OJvGzleWALA/aN6KUGI1CMxTRJm1tzMWpa+Bq4F1pVZpxvwOnCHu2+pyrYSP3kFxfzXmxv48lMfkpV7nBaNQwP0zVm2U+MuidQjsW647gDMDXq2JAGz3f0dM5sE4O5TgJ8CbYGngvVKu7qWu22M45UoLNqazfdf/4gdnx3j6vPas+LTg0y9M1QDYnhqWx6cvYonxg7S0Boi9UDM2yRqktokYutwXiH//dZGXl6+k54pzfnVly9k1c5DJ/VuAliUkc3azMNMGpUax2hFJFoVtUnEvQus1A3z1+/lx39Zx4GjBUwalcrDV/ehSaNEhvVqe8q6GqBPpP5QkpAKZefm88i89by5dg/ndWzFs+Mv5sIureMdlojUECUJKZe7M3fVLn7+5gaO5Rfznc/3Y+LIXhpaQ6SBUZKQU+w6lMeP5n7E+5uzGNL9LH79HxfSu33LeIclInGgJNHAhQ+rUVLivLT0U37xt40Uu/PoTRdwx/DuJCRo3CWRhkpJooErHVbjhzecy5+W72T59oMkJRr/M3ogNw/qHO/wRCTOlCQauLOaJXPeOS359qtraZyUQPPkRKbdmcaI3uqdJCJKEg2Su7P0k8+YsiCD9zdn0Tw5kUFd27Bq5yHuv7K3EoSInKAk0YAUlzjvbdjL0wu2sWbnIVJaJPOdz/ejb/uWfO/1tTx0ZW9eXLqD4altdZ+DiABKEg1CflExr6/cxbSF29iWfZTubZvxX7f0Z/SQLqzccfCkYTQ0rIaIhFOSqMeOHC/kpSU7eO7DT8jKyad/51Y8MXYQ1/fvSGLQY2lt5uGTEsKI1BSeGDuItZmHlSRERGM31XVlK8MB/G3tbl5Y/Cnrdx8hN7+Iz/VJYdKoVEaktlUZURE5hcZuqsdKu7A+MXYQHVo14f/9dQPvb8nCgC8M6MikUan076xhNETk9ChJ1HFdz2rGlwZ1YvxzyygsDp0VXn1ee37yxfPp3rZ5nKMTkbpOSaKOySsoZsknB1iwOYuFH2exLesoAC0bJ1FYXMS9l/Xkx188P85Rikh9EfMkYWbbgRygmH8XFApfbsDjwA3AMeAud18ZLLsuWJYITHf3X8U63ppWXptCeD0Gd+fj/bknksLSTz6joKiExkkJDO/VltuHdadVkyR++fYmHro01IX1yvPaq9FZRKpFTZ1JXOHukWpaXg/0CR7DgKeBYWaWCDwJXANkAsvNbJ67b6jOwCr7ko618DaFEakpLMrI5usvreTOS3rw3dfWsHBLNnuPHAegb4cW3Dm8OyP7tmNoz7Np0iiRRRnZ6sIqIjFTGy433Qy84KFuVkvMrI2ZdQR6AFvdfRuAmb0crFutSaL0S/qbV/fh8n7tycjK5T9fWcMTYwdFtf2ZJpmBXdrwky+cx/2zVnB+x1as+PQgxSXO4//4mJZNkvhcnxRG9mnHyL7t6NSm6SnbqwuriMRSTSQJB+abmQPPuPvUMss7AzvDpjODeeXNH1bdwY1ITeG3XxnA3c+nA+sBaNoogR/NXUdKi2RSWjQmpUVj2rVsHLxOJqVlY9oF8yOdCfzXLf1Zt+swWTn57M85TlZOfuiRm3/i9f6cfI4VFJ+IZeknn9GhVWNuTevKqH7tGNilDUmV1G8oLxGpMpyIVJeaSBKXuvtuM2sPvGdmm9x9Ydjy8jruewXzT2JmE4GJAN26dTu9AHuncOOAjvx17R4u6dWWfue0JCs3n+ycfLbsy2FRxgEO5xWWu22Lxkk0b5zInc8uo3XTRnx2tAAHvj571SnrtmqSRLuWoYRzYZc2tA9eHz5WyItLP+W2i7vy55W7GJ7aliHdzz6tzyIiUp1iniTcfXfwvN/M5gJDgfAkkQl0DZvuAuwGkiPML/v+U4GpELqZ7nRiXPHpQT7MOHBi7KLJV/U+5Zd4QVEJB46GzgCyc/PJzikIJZLcfLJzC1i14yCZB/Po37kVV53b4UQyaNeyMe2Ds5AmjRJP2Xdpm8IzdwxhRGoKV5zbXm0KIlJrxDRJmFlzIMHdc4LX1wI/L7PaPODBoM1hGHDY3feYWRbQx8x6AruA24Cx1R1jtA2/yUkJdGzdlI6tT20XWJSRzYdbs08kmWG9zo76C15tCiJSm8V0WA4z6wXMDSaTgNnu/gszmwTg7lOCLrBPANcR6gI7wd3Tg+1vAH5PqAvsc+7+i4r2dzrDcpxpw3PZJFN2WkSktqtoWA6N3XSG4t2FVkTkTClJiIhIRBUliYr7V4qISIOmJCEiIhEpSYiISERKEiIiEpGShIiIRFSvejcFN+B9egZvkQJEGq02nhRX1SiuqlFcVVMf4+ru7u3KW1CvksSZMrP0SN3A4klxVY3iqhrFVTUNLS5dbhIRkYiUJEREJCIliZOVrXVRWyiuqlFcVaO4qqZBxaU2CRERiUhnEiIiEpGShIiIRNSgk4SZPWZmm8xsrZnNNbM2Eda7zsw2m9lWM/t+DcT1FTNbb2YlZhaxS5uZbTezj8xstZnFfPjbKsRV08frbDN7z8w+Dp7PirBejRyvyj6/hfwhWL7WzAbHKpYqxnW5mR0Ojs9qM/tpDcT0nJntN7N1EZbH61hVFleNH6tgv13N7J9mtjH4v/iNctap3mPm7g32QahSXlLw+tfAr8tZJxHIAHoRKqm6Bjg/xnGdB/QD3gfSKlhvO5BSg8er0rjidLx+A3w/eP398v4da+p4RfP5gRuAtwnVcR8OLK2Bf7to4roceLOm/p6CfY4EBgPrIiyv8WMVZVw1fqyC/XYEBgevWwJbYv331aDPJNx9vrsXBZNLCNXRLmsosNXdt7l7AfAycHOM49ro7ptjuY/TEWVcNX68gvefGbyeCdwS4/1VJJrPfzPwgocsAdqYWcdaEFeNc/eFwGcVrBKPYxVNXHHh7nvcfWXwOgfYCHQus1q1HrMGnSTKuJtQ9i2rM7AzbDqTU/9R4sWB+Wa2wswmxjuYQDyOVwd33wOh/0RA+wjr1cTxiubzx+MYRbvPS8xsjZm9bWYXxDimaNTm/39xPVZm1gMYBCwts6haj1nS6W5YV5jZ34Fzyln0I3d/I1jnR0AR8FJ5b1HOvDPuNxxNXFG41N13m1l74D0z2xT8AopnXDV+vKrwNtV+vMoRzeePyTGqRDT7XEloDJ/coL78X4A+MY6rMvE4VtGI67EysxbAn4GH3f1I2cXlbHLax6zeJwl3v7qi5WY2HvgicJUHF/TKyAS6hk13AXbHOq4o32N38LzfzOYSuqRwRl961RBXjR8vM9tnZh3dfU9wWr0/wntU+/EqRzSfPybH6EzjCv+ycfe3zOwpM0tx93gOZhePY1WpeB4rM2tEKEG85O6vl7NKtR6zBn25ycyuA74H3OTuxyKsthzoY2Y9zSwZuA2YV1MxRmJmzc2sZelrQo3w5fbEqGHxOF7zgPHB6/HAKWc8NXi8ovn884A7g14ow4HDpZfLYqjSuMzsHDOz4PVQQt8PB2IcV2XicawqFa9jFezzWWCju/8uwmrVe8xqunW+Nj2ArYSu3a0OHlOC+Z2At8LWu4FQL4IMQpddYh3Xlwj9GsgH9gHvlo2LUC+VNcFjfW2JK07Hqy3wD+Dj4PnseB6v8j4/MAmYFLw24Mlg+UdU0IOthuN6MDg2awh15BhRAzHNAfYAhcHf1j215FhVFleNH6tgv5cRunS0Nux764ZYHjMNyyEiIhE16MtNIiJSMSUJERGJSElCREQiUpIQEZGIlCRERCQiJQkREYlISUJqDTNrGzb08l4z2xU2nRzHuH5uZlcHrx82s2Zhy96yCEPMV3Efj5jZXWb2vJldXt6+ahMLDbvew8zej3csElv1flgOqTvc/QBwEYS+NIFcd/9tPGMCcPfwWgEPAy8Cx4JlN8Rw1yftSyQedCYhtZqZ3Wdmy4PRNv9c+ss6+MU9xcw+MLMtZvbFcra93MwWWqig1IZg/YRg2RgLFSBaZ2a/DuYlBu+7Llj2zbB9jTazhwjdxf1PM/tnsGy7maUEr/8z2HadmT0czOthoQIx0yxUJGa+mTUt56PmAnnAYaAgwr6eNrP04H0eDfuc283s12a2LHj0ruB4lnvczKyJmc0IPvcqM7simH9B8J6rLVTApnQQuyygmFo4nLZUs5q4lVwPPar6AB4Bvg20DZv3X8Dk4PXzwDuEfuj0ITR0QpMy73E5cJzQkByJwHvAaEJfvjuAdoTOpv+PUA2KIcB7Ydu3CdvX6OD1dsIKF5VOB9t+BDQHWhAasmEQ0IPQCMMXBeu/Atwe5TEou6/S4UYSCRV+GhC2XukwG3dSQTGcSMcN+BYwI1jn3OD4NAH+CIwL5icDTeP9t6FHzT50JiG1Xf/gV+9HwDggfNz+V9y9xN0/BrYR+nIra5mHCu0UExqP5zLgYuB9d8/yUNGplwhVItsG9DKzP1po8MeyQzBX5DJgrrsfdfdc4HXgc8GyT9x9dfB6BaHEcTq+amYrgVWEjsP5YcvmhD1fUsn7lHfcLgNmAbj7JuBToC+wGPihmX2P0NDYeacZu9RRShJS2z0PPOjuFwKPEvp1W6rswGPlDURW3jrljbePux8EBhL6lf51YHoV4iz3PQP5Ya+LOY22QDPrSejM6ip3HwD8jcjHorIB2apyTGYDNxG6FPaumV1Zlbil7lOSkNquJbDHQmPojyuz7CtmlmBmqYQuKZVXWnVoMDx2AnAr8C9ClbxGmVmKmSUCY4AFQdtCgrv/GfgJoRrHZeUEMZW1ELjFzJpZaCjyLwEfVPnTRt5XK+AocNjMOgDXl1n31rDnxZW8b3nHbSHB8TWzvkA3YLOZ9QK2ufsfCA1BPeDMPpLUNerdJLXdTwh9qX9K6Jp/+Bf0ZmAB0IHQMMnHy9l+MfAr4EJCX4Rz3b3EzH4A/JPQL+i33P0NMxsIzCht3AZ+UM77TQXeNrM97n5F6Ux3X2lmzwPLglnT3X2VhUpMnq6T9mVmqwi1dWwDPiyzbmMzW0roh9+YSt73lONmZk8BU4LLekXAXe6eb2a3ArebWSGwF/j5GXweqYM0VLjUScEX8pvu/loF61wOfNvdT+n5VJ+Y2XZCNQMqrYoWzXETCafLTSIiEpHOJETqITP7EfCVMrNfdfdfxCMeqbuUJEREJCJdbhIRkYiUJEREJCIlCRERiUhJQkREIvr/ZUrfOjksozUAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] @@ -116,7 +116,8 @@ } ], "source": [ - "pp.control.plot_characteristic(net.characteristic.object.at[0], -2, 2)" + "pp.control.plot_characteristic(net.characteristic.object.at[0], -2, 2, \n", + " xlabel='Tap position \"tap_pos\"', ylabel='Value of \"vk_percent\"')" ] }, { @@ -126,7 +127,7 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAD4CAYAAADiry33AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAAmV0lEQVR4nO3dd3xW5f3/8dcniyU7gLIhYS+BMF2AlqKlUqpYQC3WkTpQWzv0W9vaZbWt/bUqKlVEnFAn2gqOuqgiI+w9wgwrBBDCCGR8fn/khkZISCB3co+8n48HD+6cc3Kfz30R3hyuc13XMXdHRESiV0yoCxARkYqloBcRiXIKehGRKKegFxGJcgp6EZEoFxfqAoqTmJjorVu3DnUZIiIRY8GCBVnu3qi4fWEZ9K1btyYtLS3UZYiIRAwz21zSPnXdiIhEOQW9iEiUU9CLiEQ5Bb2ISJRT0IuIRLlSg97MJptZppktP80xg8xssZmtMLPPimwfZmZrzGy9md0XrKJFRKLFxM/SmZ2e9bVts9OzmPhZetDOUZYr+inAsJJ2mlk94EngSnfvAowKbI8FngAuBzoDY8yscznrFRGJKt2b12X8K4tOhP3s9CzGv7KI7s3rBu0cpY6jd/dZZtb6NIeMBd509y2B4zMD2/sC6919A4CZTQNGACvLVbGISBQZmJTIhLE9ufXFBXRvXo+VOw4wYWxPBiYlBu0cweijbw/UN7NPzWyBmX0/sL0ZsLXIcRmBbcUys1QzSzOztN27dwehLBGRyFA9PpYjufl8vj6La1KaBzXkIThBHwf0Br4FfBP4lZm1B6yYY0t8yom7P+3uKe6e0qhRsbN4RUSizqIt+7j2mTnkFzg/uKA1r6ZlnNJnX17BWAIhA8hy90PAITObBfQIbG9R5LjmwPYgnE9EJCos3voVY5+Zw9G8Ah4b05Ph3Zvyjc5NGP/KoqB23wTjiv5t4CIzizOzmkA/YBUwH2hnZm3MLAEYDbwThPOJiES8pRlfcf2zc6kWF8ujowtDHv7XZ780Y3/QzlXqFb2ZTQUGAYlmlgE8AMQDuPtEd19lZu8BS4ECYJK7Lw9873jgfSAWmOzuK4JWuYhIhFqWsZ/rJs2lXs14pqUOoFm9Gl/bPzApMaj99BaODwdPSUlxrV4pItFo+bb9jH1mDnVqxDMttT/N69cMyvua2QJ3Tylun2bGiohUkuXb9nPtpLnUrh7P1FuCF/KlUdCLiFSCFdv3c92zczmnWhzTUvvTokHlhDwo6EVEKtzK7Qe4dtJcasbHMvWWyg15UNCLiFSoVTsOcO2kOdSIj2Va6gBaNqzckAcFvYhIhVm9s/BKvlpcLNNS+4ck5EFBLyJSIdbszGbsM3NJiI1hWmp/WjWsFbJaFPQiIkG2dlc2Y5+ZQ3ysMTW1P60TQxfyoKAXESmXk9eTX7crm6ufmk1Obj5Tb+lPmxCHPCjoRUTKpeh68ut2ZXPVU7PJPprHb0d0oW2jc0JdHhCcRc1ERKqs42vT3PbSQo7lFZCTl89frurO1b1blP7NlURX9CIi5VSnejxH8/I5kpvPtX1bcnVK+IQ8KOhFRMpl7oY9jJo4m2N5BVzfvyUzlu8M+nry5aWgFxE5Sx+v3sV1k+aeWE/+99/pxoSxPb/2DNhwoKAXETkLby/eRuoLC2h4TjWeuq53ha4nX166GSsicoZenLOZX7+9nL6tGzBpXAq1q8d/bX+w15MvLwW9iEgZuTtPfLKeRz5Yy2WdGjNhbC+qx8eGuqxSKehFRMrA3fnjjFU889+NjOzZjD9f3Z342Mjo/VbQi4iUIi+/gF+8tYxX0zIYN6AVD3y7CzExFuqyykxBLyJyGkfz8rl76mLeW7GTuy5tx48va4dZ5IQ8KOhFREp06Gget760gP+uy+JXwztz04VtQl3SWVHQi4gU46vDx/jBlPks2foVf766O9eE2WzXM6GgFxE5SeaBHK5/dh4bsw7x5LW9Gdb13FCXVC6RcctYRKSCnLzM8JY9hxn++OdsyDrIcz/oE/EhDwp6Eaniii4zvGZnNldO+Jzd2Uf51fDOXJAcPpOeyqPUrhszmwwMBzLdvWsx+wcBbwMbA5vedPffBfZtArKBfCDP3VOCUrWISJAcX7Lg1hcXcDSvgGP5BTx8VXe+1ydy++RPVpY++inABOCF0xzzX3cfXsK+we4ePqv7iIicZP/hXA4dzSPfYdyAVlEV8lCGrht3nwXsrYRaREQqlbsz8bN0bnt5IWbGzRe24V9Ld4TVypPBEKw++gFmtsTMZppZlyLbHfjAzBaYWerp3sDMUs0szczSdu/eHaSyRESKlxuY7frwzNUkxMYwaVwKvxzeOSyXGS6vYAT9QqCVu/cAHgemF9l3gbv3Ai4H7jCzi0t6E3d/2t1T3D2lUaNGQShLRKR4B3JyuXHKfKbO28qAtg147oY+DOrQGAjPZYbLq9zj6N39QJHXM8zsSTNLdPcsd98e2J5pZm8BfYFZ5T2niMjZ2rr3MDdOmc/GrEMlToQKt2WGy6vcV/Rmdq4FFn4ws76B99xjZrXMrHZgey1gKLC8vOcTETlbi7bsY+STX7DrQA4v3Ng3ome7nomyDK+cCgwCEs0sA3gAiAdw94nA1cBtZpYHHAFGu7ubWRPgrcC/AXHAK+7+XoV8ChGRUsxctoMf/XMxjetUY1rqAJIbnxPqkipNqUHv7mNK2T+BwuGXJ2/fAPQ4+9JERMrP3fnHrA08PHM1vVrW45nvp9DwnGqhLqtSaa0bEYlaufkF/Gr6cqbN38rw7ufxyKgeEfFEqGBT0ItIVNp/JJc7Xl7I5+uzGD84mXu+0T6iHhYSTAp6EYk6RUfW/OXq7oyqIjddS6KgF5GINvGzdLo3r3tiOOSiLfsYN3keR/MKeOGmvlE1TPJsafVKEYloRVefnLFsB9dM/JKDR/N48DtdFfIBuqIXkYg2MCmRx0f35KYpaRzJzScuxnjy2l4M63peqEsLG7qiF5GIdiAnlylfbuJIbj4AqRe3VcifREEvIhFrzc5srnz8cz5atYuaCbHcOSSZafO3RtWCZMGgrhsRiUhvL97GfW8sIyEuhlrV4vjH9b0ZmJTIgKSGjH9lERPG9lQffYCCXkQiyrG8Av44YxVTZm+ib+sG9G3TgIHJDU+EetHVJxX0hRT0IhIxdh3I4Y6XF5K2eR83XdiG+y7vSHzsqT3Q0bb6ZHkp6EUkIszdsIc7XlnEoaN5PDamJ1f2aBrqkiKGgl5Ewpq78+znG3lo5mpaNajJK7f0o32T2qEuK6Io6EUkbB06mse9byzl30t3MLRzEx65pgd1qseHuqyIo6AXkbCUvvsgt764gPTdB7l3WEduvaQtgedbyBlS0ItI2Hlv+Q5++tpSEuJiePGmflyQrBur5aGgF5GQKrooWV5+AY98sJaJn6VzXt3qvHHbQJrWqxHqEiOegl5EQur4omR/HNmVF77czOz0PVSLi+Hhq7op5INEQS8iITUwKZHUi9ty28sLiQFqJcTyzLgUjYMPIgW9iIRMTm4+D89czZTZm2hQM569h3O56cI2Cvkg06JmIhISK7cf4MoJnzNl9ia+2aUJDtw1JJmX5m7RomRBpqAXkUpVUOA8M2sD33niC/YdzuW+yzsyf9M+nri2F/cM7cCEsT1PPEhEgkNBLyKVZsf+I1w/eS4PzljFJR0a8d7dFwF8baXJoouSSXCYu4e6hlOkpKR4WlpaqMsQkSCasWwH//fmMo7lFfDrb3dmdJ8WmgAVRGa2wN1TittX6hW9mU02s0wzW17C/kFmtt/MFgd+/brIvmFmtsbM1pvZfWf/EUQkUh08msdPX1vC7S8vpHXDmsy4+yLG9G2pkK9EZRl1MwWYALxwmmP+6+7Di24ws1jgCeAbQAYw38zecfeVZ1mriESYBZv38eN/LiZj32HGD07m7svaFbussFSsUoPe3WeZWeuzeO++wHp33wBgZtOAEYCCXiTK5eUX8PjH65nwyXrOq1udf/5wAH1aNwh1WVVWsMbRDzCzJcB24KfuvgJoBmwtckwG0K+kNzCzVCAVoGXLlkEqS0QqWtElDAA2ZR3ipufnk777EN/t2YzfjOiiFSdDLBhBvxBo5e4HzewKYDrQDiiuA67EO7/u/jTwNBTejA1CXSJSCY4vYTBhTE8y9h3hV28v51heAXcOSeYnQzuEujwhCEHv7geKvJ5hZk+aWSKFV/AtihzanMIrfhGJIgOTEvndiC6Me24euflOXIzx2JiefFtPgAob5Q56MzsX2OXubmZ9KRzJswf4CmhnZm2AbcBoYGx5zyci4SO/wHlpzmb+8v4aCgJDtW+7JEkhH2ZKDXozmwoMAhLNLAN4AIgHcPeJwNXAbWaWBxwBRnvh4Pw8MxsPvA/EApMDffciEgVW7TjA/725jMVbv6Jbszps2XuEcQNa8dLcLQxIbqj1asKIJkyJyBnJyc3n0Y/W8cysDdStEc/oPi2YOn/ridmts9OzCvvsi8x2lYpXrglTIiLHfb4ui2/+fRZPfZrOyJ7N+M89l1C7RryWMAhzuqIXkVLtOXiUB99dxZuLttEmsRYPjuyqq/Uwc7oreq1HLyIlcnfeXLiNP7y7kuycPO4ckswdg5OpHh8b6tLkDCjoRaRYm7IOcf/0ZXyxfg+9W9Xnoe92o32T2qEuS86Cgl6kijt5ZmtufgG/fGs5ry/MoGZ8LH/4TlfG9m1JTIwWIYtUCnqRKu7EzNaxPakeH8vdUxexdd8R+rWpz2NjetGkTvVQlyjlpKAXqeIGJiXyx5Fd+cFz8zmaV0CMwU+GtufOIe1CXZoEiYJepArLyc3n2c838tSn6RzLKwAg9eK2Cvkoo6AXqYIKCpzpi7fxl/fXsGN/Dimt6rMu8+CJma0Xt2+k4ZNRREEvUsXMTs/iwXdXsWL7Abo3r8vNF7XhiU/Seeq6XgxMSqR/UkPNbI0ymhkrUkWszzzIzc/PZ+wzc/nqcC6Pjj6f6bdfQG6+a2ZrlNPMWJEol3XwKI/+Zx2vzNtCzfhYbh+czA8uaK1JT1FGM2NFqqCc3Hwmf7GRJz9J50huPtf2a8ndl7aj4TnVQl2aVDIFvUiEO3nCU0GB89cP1vDinM0cyMnjsk6Nue/yTiQ3PifElUqoKOhFIlzRCU8xZvzfm8vYmHWI1ok1mXh9b91QFQW9SKQbmJTIjy9rx7jJhY/yizG4bVASPxvaQcsWCKCgF4lo8zft5bGP1vHfdVlUi4sBnB9enMS9wzqGujQJIxpeKRJh3J3Z67MY/fSXjJr4JSu3H2BM3xbUTIjlriHJ/DNtK7PTs0JdpoQRXdGLRAh359O1u5nw8XoWbN5H49rV+NXwziQl1uKe15bwxLWa8CTFU9CLhDl358OVu5jwyXqWZuynad3q/H5EF0altKB6fCwTP0svccKTgl5AE6ZEwlZBgTNz+U4e/3gdq3dm07JBTW4flMR3ezUnIU69rvJ1mjAlEsZOHgefl1/A3z5cy7T5W9lz6BhtG9Xir6N6MOL8psTFKuDlzCnoRULs+Dj4R0efz479Ofz1gzXsOnCUFvVr8Jsre3JFt/OI1TBJKQcFvUiIdTy3Dt/o1IRxk+dR4BAbY/z4svbcOSRZ4+AlKEoNejObDAwHMt2962mO6wPMAb7n7q8Htm0CsoF8IK+k/iORqmjF9v08P3sT0xdv51heAS3q12DrviPcPiiJuy/Tgz8keMpyRT8FmAC8UNIBZhYL/Al4v5jdg91dg3pFKOx//3DlLp6bvYl5G/dSIz6WUb2b06NFPR6euZq7hiTz0twtDEhqqBEzEjSlBr27zzKz1qUcdifwBtAnGEWJRJt9h44xbf5WXvxyE9v359C8fg3uv6IT16S0YMWO/V8b965x8BJs5e6jN7NmwEhgCKcGvQMfmJkD/3D3p0/zPqlAKkDLli3LW5ZIWFi14wBTvtjE9MXbOJpXwMCkhvzmyi5c2qnJiRusSzP2axy8VKhg3Iz9O3Cvu+ebnXLj6AJ3325mjYEPzWy1u88q7k0C/wg8DYXj6INQl0ilKG545BOfrOf1BRls3XeE6vExXNW7OeMGtKbDubVP+f5bL0k6ZdvApESFvARNMII+BZgWCPlE4Aozy3P36e6+HcDdM83sLaAvUGzQi0Sq48MjH/5uNzZkHWLSrA1kHTpGYq0EfnFFR65JaUG9mgmhLlOqsHIHvbu3Of7azKYA/3b36WZWC4hx9+zA66HA78p7PpFwkptfwOGj+SQ3qkXqiwsAiIsx7vlGe+4YnKzx7xIWyjK8ciowCEg0swzgASAewN0nnuZbmwBvBa7044BX3P298hYsEg5WbN/PGwu28fbibew5dIyGtRI4v3k9Fmd8xe2DkrjrUg2PlPBRllE3Y8r6Zu5+Q5HXG4AeZ1eWSPjZnX2Utxdv4/UFGazemU1CbAyXdmrMVb2aUy0+hrunLT4xPLK/hkdKGNHMWJHTyMnN56NVmbyxMIPP1u4mv8Dp0aIevx/RhW/3aEq9mgnMTs/S8EgJawp6qfJOHjXj7rwwZzNvLdzGht0HOZCTx7l1qpN6cVuu6tWM5MZfHzmj4ZES7hT0UuUdHzXzm293Zuu+I7w0ZzM79ucQH2t8q9t5XNW7OQOTEku8sarhkRLuFPRSZbk7q3dmM3/jPupUj+OuaYuBwlEzqRe15c5Lk6ldPT60RYoEgYJeqpT8Aidt014+WLmLD1buZOveI5hB75b1aVa/Bl+s38Ptg5K4Z2iHUJcqEjQKeol6Obn5/HddFh+s2MlHqzPZe+gYCbExXNgukTsGJXNppyasy8xm/CuLNGpGopKCXiLeyTdTAT5csZO3l2wnL9/5bO1ujuTmU7t6HEM6NmZo53O5pEMjzqlW+OOvUTMS7RT0EvGO30x9YHhn9h0+xmsLMlix/QAATepU4+rezRnapQn92jQs9lmrGjUj0U4PB5eItXN/Dl9uyGL2+j18siaTrIPHAIg1GN6jKTde0IZuzerqKU1SJejh4BIVsg4eZc6GPcxO38Oc9D1syDoEQN0a8fRv24Cc3AI+W7ubOwYn62aqSBEKegm54vrYZ6dnMW/DXjo1rcOX6Xv4Mn0Pa3ZlA3BOtTj6tmnA2H4t6d+2IZ3Pq8OcjXt0M1WkBAp6CbnjfeyPjOqOYbyxMIOZy3eSX1DYrVg9PoY+rRswomdTBrRtSLdmdYmL/V9fu26mipyegl5CKuvgUbbuPUyrBjW5ccr/7st0PLc2l3c9jwFJDenRoi7V4mJLfA/dTBU5Pd2MlUq3de9h3l+xkw9W7CJt814KHJrXr0HiOdVYvLVwmd+fD+sY6jJFIopuxkpIuTtrdmXz/vJdvL9iJyt3FA597HhubcYPacc3uzRh/+Fcxk/9Xx/7he20VoxIsCjopdyKu5n6xbosZi7fQc1qcby/Yieb9xw+sdTA/Vd0YmiXJrRqWAsI9LFPVR+7SEVR0Eu5Hb+Z+vfvnU+BOy98uZlPVmfiQHysMTApkR9enMRlnRvTuHb1U75ffewiFUt99FJuWQeP8tCMVby5cBvHf5r6BYY/Du7YmDpaAVKkwqmPXirE+syDPPv5Bt5YuI1jeQW0bliTTXsO62aqSJhR0MsZcXe+3LCHSf/dyMerM6kWF8NVvZrTu2U9/jhztW6mioQhBb2USW5+Ae8u3cGkzzewfNsBGtZK4EeXteP6/q1YsytbE5ZEwpiCXk7rQE4uU+duYcrsTezYn0NSo1o89N1ujOzZjOrxhZOYli7I0M1UkTCmm7FS7PDItxdt48U5m1m14wCHjuUzoG1Dbrm4DYPaN9ZqkCJhSDdj5bSOD4+cMLYnNRPieGjmKuZu2EuMwZU9mnLzRW3p2qxuqMsUkbNUatCb2WRgOJDp7l1Pc1wfYA7wPXd/PbBtGPAoEAtMcveHg1K1BNXApER+/s0OfP/ZeeQVOAYM734e93+rE+fVrRHq8kSknE593M6ppgDDTneAmcUCfwLeP2nbE8DlQGdgjJl1PutKpULsO3SMX05fxi/eWkZcoEvmh5e0ZcLYXgp5kShRatC7+yxgbymH3Qm8AWQW2dYXWO/uG9z9GDANGHG2hUpw5eUX8PzsTQx65FOmztvKNzo3oUZCLHcNSebVtAxmp2eFukQRCZJy99GbWTNgJDAE6FNkVzNga5GvM4B+p3mfVCAVoGXLluUtS05j9vosfvuvlazZlc2FyYlceX5THp65mieu7aXhkSJRqCxdN6X5O3Cvu+eftL24oRklDvFx96fdPcXdUxo1ahSEsuRkW/ce5tYXFzB20lwO5+bxj+t78+JNfdl76FiJwyNFJPIFY9RNCjDNzAASgSvMLI/CK/gWRY5rDmwPwvnkDB0+lsfET9OZOGsDsWb8dGh7br6o7Ylx8LdeknTK9wxM0sxWkWhR7qB39zbHX5vZFODf7j7dzOKAdmbWBtgGjAbGlvd8Unbuzr+W7uChGavYsT+HEec35b7LO+omq0gVU5bhlVOBQUCimWUADwDxAO4+saTvc/c8MxtP4UicWGCyu68IRtHydcVNeHpl7mae+jSdrfuO0LVZHR4f05OU1g1CWKWIhEqpQe/uY8r6Zu5+w0lfzwBmnHlZciaKTnjqeG4dfvbaEj5anUnt6nE89N1uXJPSgljNZhWpsjQzNgoMTEpkwpie3Px8Gnn5BRzLdy7vci4PX92dujW0FrxIVaegjwK7s4/yj1kbOHyscODTdf1a8oeR3UJclYiEi2AMr5QQ+nj1Lob9fRaz12dRMyGWO4ckM2P5Tk14EpETdEUfoXJy83l45mqmzN5Ei/o1yCtwnrqucMLTAE14EpEiFPQRaM3ObO6auog1u7K58YI2NKgVT69W9bUevIgUS0EfQdydF77czIMzVlGnejxTftCHQR0aF3usJjyJyHEK+giRdfAoP399KR+vzmRwh0b8ZVQPEs+pFuqyRCQCKOgjwKdrMvnpa0s5kJPLb6/swvcHtCKw5ISISKkU9GEsJzefP7+3hslfbKRDk9q8fHM/OpxbO9RliUiEUdCHqXW7srlz6iJW78zmhoGtue/yjicWIRMRORMK+jBQdK0ad+elOZv53b9WEh8bw3M39GFwx+JvuIqIlIWCPgwcX6vmjyO78vqCDP6zKpP4WOORa7or5EWk3BT0YWBgUiI/Hdqe215eiAE1E2J55voULmin4ZEiUn5aAiEMfLhyF7//9ypqJcRS4HDzhW0U8iISNAr6EHJ3npm1gdQX02hatzpxsTHcNSSZl+Zu0Vo1IhI06roJkdz8An799gqmzttCvzb1WbvrIE/q4dwiUgEU9CGw/0gut7+8gC/W7+GOwUmcUy2Ouy9rr7VqRKRCKOgr2eY9h7hxyny27D3MX67uzqiUFsUep7VqRCRYFPSVKG3TXlJfXECBOy/e1I/+bRuGuiQRqQIU9JVk+qJt/Pz1pTSrX4PJN/ShTWKtUJckIlWEgr6CuTt/+886HvtoHf3bNmDidb2pVzMh1GWJSBWioK9AObn5/Pz1pbyzZDujejfnwZHdSIjTiFYRqVwK+gqSdfAoqS+ksXDLV9w7rCO3XtJWSwuLSEgo6IOg6KJkAGt3ZTP2mTl8dTiXp67txeXdzgtxhSJSlZXaj2Bmk80s08yWl7B/hJktNbPFZpZmZhcW2bfJzJYd3xfMwsPJ8UXJZqdnMWvtbkZM+Jw9h47xmys7K+RFJOTKckU/BZgAvFDC/o+Ad9zdzaw78CrQscj+we4e1fP5j09wuvn5NI4cyycmxnhsdE++3aNpqEsTESn9it7dZwF7T7P/oLt74MtagJd0bDRbse0Ah4/l48AtF7VRyItI2AjKEBAzG2lmq4F3gRuL7HLgAzNbYGappbxHaqDrJ2337t3BKKvSPPnpeh6csYqE2BjuGJzEq2kZWpRMRMJGUILe3d9y947Ad4DfF9l1gbv3Ai4H7jCzi0/zHk+7e4q7pzRq1CgYZVWKxz9ax5/fW0NCbAzP3pDCz77ZkQlje57osxcRCbWgDuoOdPMkmVli4Ovtgd8zgbeAvsE8Xyi5O3/7cC1//XAtXZvWYfINfbioXeE/UEUXJRMRCbVyD680s2QgPXAztheQAOwxs1pAjLtnB14PBX5X3vOFA3fnrx+sZcIn67kmpTkPfbc7sTFfHyOvRclEJFyUGvRmNhUYBCSaWQbwABAP4O4TgauA75tZLnAE+F4g9JsAbwUmCcUBr7j7exXyKSqRu/Pwe6v5x2cbGNO3BQ9+pxsxMZoIJSLhq9Sgd/cxpez/E/CnYrZvAHqcfWnhx935w7urePbzjVzXvyW/u7KrQl5Ewp5mxpaRu/Pbf61kyuxN3DCwNQ98u7OWNBCRiKCgL4OCAufX7yznpTlbuPnCNtz/rU4KeRGJGAr6UhQUOPdPX8bUeVv54SVtuW9YR4W8iEQUBf1p5Bc4972xlNcWZDB+cDI/GdpeIS8iEUdBX4L8Audnry3hzUXbuPvSdvzosnYKeRGJSAr6YuTlF3DPq0t4Z8l2fvKN9tx5abtQlyQictb0uCMK15M/vlxBbn4Bd09bzDtLtnNJ+0SFvIhEPAU9/1tPftba3Yx/ZSHvLttBzYRYfnhJUqhLExEpN3XdULhcwaOjz+fGKfPJzXdqJsQyaVyKljAQkaigK3oKJ0P9a8l2cvMLl9K/+cI2CnkRiRoKeuBvH67l1bQMqsfHcNeQZF6au0VLDItI1KjyQf/SnM089vF6qsXFMHlcH+4Z2kHryYtIVKnSQf/+ip38+u3lJDWqVdgnn1zYXaP15EUkmlTZm7HzN+3lrqmL6Na8HlNv6UfNhK83hdaTF5FoUSWv6NftyuamKfNpVq8Gz93Q55SQFxGJJlUu6HfsP8K4yfOoFh/L8zf2pUGthFCXJCJSoapU0O8/kssNk+dzICeP527oQ4sGNUNdkohIhasyQZ+Tm88tL6SxIesg/7i+N12b1Q11SSIilaJKdE7nFzj3vLqYeRv38ujo87kgWTdZRaTqiPorenfnd/9awYxlO/nltzox4vxmoS5JRKRSRX3QP/VZOs9/uZmbL2zDzRe1DXU5IiKVLqqD/vUFGfz5vTVc2aMpv7iiU6jLEREJiagN+k/XZHLvG0u5ILkhj4zqQUyMng4lIlVTVAb9kq1fcfvLC+nQpDYTr+tNQlxUfkwRkTIpNQHNbLKZZZrZ8hL2jzCzpWa22MzSzOzCIvuGmdkaM1tvZvcFs/Ciij4halPWIW6cMp+aCbEM6diY2tXjK+q0IiIRoSyXulOAYafZ/xHQw93PB24EJgGYWSzwBHA50BkYY2ady1NsSY4/IWrmsh18f/I8jublk5vvDExuWBGnExGJKKUGvbvPAvaeZv9Bd/fAl7WA46/7AuvdfYO7HwOmASPKWW+xBiYl8sio7oyfuohtXx0mxoynruulRclERAhSH72ZjTSz1cC7FF7VAzQDthY5LCOwraT3SA10/aTt3r37jGu4IDmR5Ea1yC+AGwa2VsiLiAQEJejd/S137wh8B/h9YHNxw1y8mG3H3+Npd09x95RGjRqdcQ0LNu9j98FjekKUiMhJgjocJdDNk2RmiRRewbcosrs5sD2Y5ztudnoW419ZxISxPfWEKBGRk5Q76M0s2cws8LoXkADsAeYD7cysjZklAKOBd8p7vuIszdjPhLE9T3TX6AlRIiL/U+qiZmY2FRgEJJpZBvAAEA/g7hOBq4Dvm1kucAT4XuDmbJ6ZjQfeB2KBye6+oiI+xK2XJJ2yTU+IEhEpZP8bMBM+UlJSPC0tLdRliIhEDDNb4O4pxe3TlFERkSinoBcRiXIKehGRKKegFxGJcmF5M9bMdgObz/LbE4FwHECvus6M6jozquvMRGNdrdy92NmmYRn05WFmaSXdeQ4l1XVmVNeZUV1npqrVpa4bEZEop6AXEYly0Rj0T4e6gBKorjOjus6M6jozVaquqOujFxGRr4vGK3oRESlCQS8iEuUiPujN7C9mtjrwgPK3zKxeCcdVyoPKi5xvlJmtMLMCMytxuJSZbTKzZccfrh5GdVV2ezUwsw/NbF3g9/olHFcp7VXa57dCjwX2Lw0s0V3hylDXIDPbH2ifxWb260qoabKZZZrZ8hL2h6qtSqur0tsqcN4WZvaJma0K/F28u5hjgttm7h7Rv4ChQFzg9Z+APxVzTCyQDrSlcL38JUDnCq6rE9AB+BRIOc1xm4DESmyvUusKUXv9Gbgv8Pq+4v4cK6u9yvL5gSuAmRQ+Sa0/MLcS/uzKUtcg4N+V9fMUOOfFQC9geQn7K72tylhXpbdV4LznAb0Cr2sDayv65yvir+jd/QN3zwt8OYfCJ1mdrNIeVF6krlXuvqYiz3E2ylhXpbdX4P2fD7x+nsLHUoZKWT7/COAFLzQHqGdm54VBXZXOC58st/c0h4SircpSV0i4+w53Xxh4nQ2s4tTnaQe1zSI+6E9yI4X/Cp7sjB5UXskc+MDMFphZaqiLCQhFezVx9x1Q+BcBaFzCcZXRXmX5/KFoo7Kec4CZLTGzmWbWpYJrKotw/vsX0rYys9ZAT2DuSbuC2malPmEqHJjZf4Bzi9l1v7u/HTjmfiAPeLm4tyhmW7nHlZalrjK4wN23m1lj4EMzWx24EgllXZXeXmfwNkFvr2KU5fNXSBuVoiznXEjhmicHzewKYDrQroLrKk0o2qosQtpWZnYO8AbwI3c/cPLuYr7lrNssIoLe3S873X4zGwcMBy71QAfXSSrkQeWl1VXG99ge+D3TzN6i8L/n5QquINRV6e1lZrvM7Dx33xH4L2pmCe8R9PYqRlk+f4W0UXnrKhoY7j7DzJ40s0R3D+UCXqFoq1KFsq3MLJ7CkH/Z3d8s5pCgtlnEd92Y2TDgXuBKdz9cwmGV9qDyM2Fmtcys9vHXFN5YLnaEQCULRXu9A4wLvB4HnPI/j0psr7J8/ncofFaymVl/YP/xrqcKVGpdZnaumVngdV8K/47vqeC6ShOKtipVqNoqcM5ngVXu/v9KOCy4bVbZd5yD/QtYT2Ff1uLAr4mB7U2BGUWOu4LCu9vpFHZhVHRdIyn8V/kosAt4/+S6KBw9sSTwa0W41BWi9moIfASsC/zeIJTtVdznB24Fbg28NuCJwP5lnGZkVSXXNT7QNksoHJwwsBJqmgrsAHIDP1s3hUlblVZXpbdV4LwXUtgNs7RIbl1RkW2mJRBERKJcxHfdiIjI6SnoRUSinIJeRCTKKehFRKKcgl5EJMop6EVEopyCXkQkyv1/R1uvMY8W9qIAAAAASUVORK5CYII=\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYkAAAEHCAYAAABbZ7oVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAAwr0lEQVR4nO3dd3xUZdr/8c+VkNCLEkBpAqGJFMGAgCKoK2tbu6uAaxd1rau7P113XXf3WZ9Hnm2PKyoritgACxZWsTdQViChI72HGnroKdfvjzNhY0gZyExmknzfr1deOXPOmTnXHMJcc85939dt7o6IiEhxEmIdgIiIxC8lCRERKZGShIiIlEhJQkRESqQkISIiJaoR6wAiKSUlxdu0aRPrMEREKpWMjIyt7t6kuG1VKkm0adOG9PT0WIchIlKpmNmakrbpdpOIiJRISUJEREqkJCEiIiVSkhARkRIpSYiISImimiTMbIyZbTGzBaXsM8jM5pjZQjP7utD6881siZktN7OHoxmniEhlNOrrFUxbsfUH66at2Mqor1dE7BjRvpIYC5xf0kYzawQ8A1zi7qcAV4fWJwJPAxcAXYAhZtYlyrGKiFQq3Vs25O5xsw8nimkrtnL3uNl0b9kwYseI6jgJd59iZm1K2WUo8La7rw3tvyW0vg+w3N1XApjZBOBS4PsohisiUqn0T01h5NCe3PFKBmd1bMK0FdsYObQn/VNTInaMWLdJdASOM7OvzCzDzK4PrW8BrCu0X2Zo3RHMbLiZpZtZelZWVpTDFRGJL7WSEtmfk8f78zYytE+riCYIiH2SqAGcBlwE/Bh41Mw6AlbMvsXOjuTuz7l7mrunNWlS7KhyEZEqafbaHQwb/R15+c5NZ7Rh3Ix1R7RRlFesy3JkAlvdfS+w18ymAD1C61sV2q8lsCEG8YmIxKU563YydPR3HMzN5x9DenJx9+ac16UZd4+bHdFbTrG+kngPGGBmNcysDnA6sAiYCXQws7ZmlgxcC0yKYZwiInFj7rqd/OyF6dSskciT1wYJAv7TRjEvc1fEjhXVKwkzGw8MAlLMLBN4DEgCcPdR7r7IzD4C5gH5wPPuviD03LuBj4FEYIy7L4xmrCIilcG8zJ1c98J0GtVJYsLwfrRoVPsH2/unpkS0XcLci73VXymlpaW5qsCKSFW1YP0uho7+jga1k5gwvC8tj6sTkdc1swx3TytuW6xvN4mISBgWrN/FsOenU79WEuNvi1yCKIuShIhInCtIEPVq1mDC8L60Or5iEgQoSYiIxLXvN+zmuhemUzc5scITBChJiIjErUUbdzPs+e+onZTIhOH9KjxBgJKEiEhcWrxpN8Oen06tpOAKonXjik8QoCQhIhJ3lmzKZujo6SQnJjD+tr6c1LhuzGJRkhARiSNLN2czdPR3JCUa44f3pU1K7BIEKEmIiMRM0fkglm3O5qpnp3EgJ4/xt/WlbYwTBChJiIjETOH5IJZtzubKZ6eRfTCXP1x6Cu2a1It1eEDsC/yJiFRbBbWW7nx1Fody8zmQm8efr+zOVae1KvvJFURXEiIiMdSgVhKHcvPYn5PHsD6tuSotfhIEKEmIiMTMjFXbuXrUNA7m5vOzvq2ZvGBTxOeDKC8lCRGRGPhy8RaGheaDePLanvzXZd0YObTnD+asjgdKEiIiFWzS3A3c9nI6x9dL5plhvfhJj+jNB1FeargWEalAr363hkffW0DvNsfzwg1p1K+V9IPtkZ4PoryUJEREKoC788xXK/jzx0s4t3NTnh7Wi1pJibEOq0xKEiIiUebuPPHhYv45ZSWXntqcv1zdg6TEynG3X0lCRCSK8vKdR96ez+vp6/hZ35P4wyWnkJBgsQ4rbEoSIiJRcjA3j1+8PofJ8zdxzznteeC8jphVngQBShIiIlGx71Aut7+SwdRlW/ntRSdz64B2sQ7pmChJiIhE2K59Odw0dgZz1u3kf6/szk97x9co6qOhJCEiEkFbsg9w/QszWJm1l2eG9eL8rifGOqRyqRzN6yIicahoqe912/fxk6e+YUXWHl64Ma3SJwhQkhAROWaFS30v3ZzNJSO/Ycvug/z24i4M6NAk1uFFRFRvN5nZGOBiYIu7dy1m+yDgPWBVaNXb7v7H0LbVQDaQB+S6e1o0YxUROVoFZTTueCWDg7n5HMrL54kru3FN79axDi1iot0mMRYYCbxcyj5T3f3iErad7e7xU+lKRKSI7AO57D2US14+XN/vpCqVICDKt5vcfQqwPZrHEBGJBXdn9JSV3P5KBmDccmZb3p+3Ma4quEZCPLRJ9DOzuWb2oZmdUmi9A5+YWYaZDS/pyWY23MzSzSw9Kysr+tGKSLWXm5fPb99dwOOTF5GUaLxwfRqPXtwlLkt9l1esk8Qs4CR37wE8BbxbaNsZ7t4LuAC4y8zOKu4F3P05d09z97QmTapGQ5GIxK/sAznc/FI6r01fy+ltj2fsjX0Y1LkpEJ+lvssrpuMk3H13oeXJZvaMmaW4+1Z33xBav8XM3gH6AFNiFauIyPqd+7ll7EyWbdnD/1zRjSF9jmx/iLdS3+UV0ysJMzvBQoVMzKxPKJ5tZlbXzOqH1tcFBgMLYhepiFR38zJ3ctnT37J+x35euqlPsQmiKop2F9jxwCAgxcwygceAJAB3HwVcBdxpZrnAfuBad3czawa8E8ofNYBx7v5RNGMVESnJRws2cf/rs2lctyav/fx0OjarH+uQKkxUk4S7Dylj+0iCLrJF168EekQrLhGRcLg7z09dxX9/uIgeLRsx+vo0mtSvGeuwKpRqN4mIFCM3L5/fTVrIuOlrubDbCfztp6dWipnkIk1JQkSkiOwDOdw1bjZTlmZx56BUfjW4U6WaKCiSlCRERApZv3M/N784kxVZexhRxUpsHAslCRGptkZ9vYLuLRse7rI6L3MnP3thBvtz8hh7Ux/O7FB1urIeq1gPphMRiZnCVVw/WrCJK5+dRvaBHB6/rKsSRIiuJESk2uqfmsLIIT25ZWw6+3PySEwwnh7aiwu6Vf55ICJFVxIiUm3tOZjLq9PXsD8nD4Dbz2qnBFFEqUnCzFaFfqZXVEAiIhVh+ZZsLh35DR/O30Tt5ETuOac9E2auq1LF+SKh1NtN7t62ogIREakoH8zbyP97ay6JCUa9WjX4589Oo39qCv1SG3P3uNmMHNqzStVfKo9Sk4SZrSIo2Z3l7qdXTEgiItGRm5fPiI8WM3rqKnq2bkT/1Mac0f4/BfkKV3FVkgjoSkJEqoWs7IPcPW4W01dt5/p+J/Hbi7qQXOPIO+5VrYpreYXVu8nMPnf3c8taJyISjzLW7ODnr2Wwa38Of/tpD67o1TLWIVUaZd1uqgXUJajiehxQMC69AdA8yrGJiJSLu/Pyv9fwpw++58SGtXn7zj50ad4g1mFVKmVdSdwO3E+QEIKJXAO7gaejF5aISPnsP5THI+/M553Z6zm3c1P+9tNTaVgnKdZhVTpltUk8CTxpZve4+1MVFJOISLms3rqXO17NYMnmbB48ryN3nd2+2hboK6+w2iTc/Skz6w+0Kfwcd385SnGJiByTz77fzC/emEOCGS/e2JtBnZrGOqRKLdyG61eAVGAOkBda7YCShIjETOECfXn5zv99tpSnvlhOswY1eeuO/rQ6vk6sQ6z0wq3dlAZ0cXePZjAiIkejoEDfE1d045Xv1jB12VZq1khgxJXdlSAiJNwksQA4AdgYxVhERI5K/9QU7hzUjjtezQCgbnIio29I0ziHCAo3SaQA35vZDOBgwUp3vyQqUYmIlOFgbh5/+2Qpz01dScNaSezcn8MtZ7ZVgoiwcJPE76MZhIjI0Vi2OZv7Jszh+427ObdzU2at3cG957Tn1elr6ZvaWIkigsIqFe7uXwOrgaTQ8kxgVhTjEhE5grvz0rTVXPzUN2zafYAHB3dk9rqdPD2sFw8M7sTIoT0PTyIkkRFWkjCz24C3gH+GVrUA3o1STCIiR9iSfYCbxs7ksUkL6duuMR/dP4CkxIQfVGwtXKBPIiPc2013AX2A6QDuvszM1PlYRCrEZ99v5v9NnMfeg7n84ZJTuL7fSZgZdwxMPWJfFeiLrHBnpjvo7ocKHphZDYJxEqUyszFmtsXMFpSwfZCZ7TKzOaGf3xXadr6ZLTGz5Wb2cJhxikgVsu9QLo+8M59bX06nWYNavH/PmdzQvw1mGj1dUcK9kvjazB4BapvZecDPgX+F8byxwEhKH3Q31d0vLrzCzBIJakOdB2QCM81skrt/H2a8IlLJzcvcyf0T5rBq216Gn9WOBwd3pGaNxFiHVe2EmyQeBm4B5hMU/ZsMPF/Wk9x9ipm1OYa4+gDL3X0lgJlNAC4FlCREqri8fGfU1yv4+6dLaVK/Jq/dcjr92+v2UayEmyRqA2PcfTQc/qZfG9gXgRj6mdlcYAPwS3dfSNAwvq7QPplAsTPjmdlwYDhA69atIxCOiFSUwmU1ADJ37OPWseks3pzNRd1P5L8v66bKrTEWbpvE5wRJoUBt4LMIHH8WcJK79wCe4j89poq74VhsG4i7P+fuae6e1qRJkwiEJCIVpaCsxrQVW3l39nrO+9vXLN6czZ0DUxk5pKcSRBwI90qilrvvKXjg7nvMrNyFUdx9d6HlyWb2jJmlEFw5tCq0a0uCKw0RqUL6p6bw+GVduXHMTA7l5VMjwXjymlO5tGeLWIcmIeFeSew1s14FD8zsNGB/eQ9uZidYqJuCmfUJxbONYLBeBzNra2bJwLXApPIeT0Tih7vz+sy1PDRxHrn5+QDcMbCdEkScCfdK4j7gTTMr+DZ/InBNWU8ys/HAIILpTzOBx4AkAHcfBVwF3GlmuQRJ59pQpdlcM7sb+BhIJGgPWRj2uxKRuLYiaw+PvD2f6au20/mE+mzcdYAb+p3Eq9PX0r+9xjnEkzKTRKiRegDQGehE0F6w2N1zynquuw8pY/tIgi6yxW2bTNCLSkSqiIO5eYz6aiVPf7mcWkkJDB/Qlrcy1vPsdb3on5pC39TG3D1u9g9GUUtslXm7yd3zgEvdPcfdF7j7/HAShIhIYTNWbefCJ6fy98+W8uOuJ/DZgwM5vl5NRg5TWY14ZuHMI2RmjwMNgdeBvQXr3T2uivylpaV5enp6rMMQkUJ27c/hiQ8XM37GWlo0qs2fLu/K2ZpSNK6YWYa7pxW3Ldw2if6h338stM6Bc8oTmIhUXe7O5Pmb+P2/FrJtz0FuG9CWX5zXkTrJ4X7sSDwI61/L3c+OdiAiUnVk7tjH795byBeLt9CtRUNevLE3XVs0jHVYcgzCShJm1gz4b6C5u19gZl2Afu7+QlSjE5G4VnTEdF6+8/tJC5kwcy01EhL47UUnc2P/NtRIDLe3vcSbcP/lxhJ0R20eerwUuD8K8YhIJVJ4xPSC9bv40d++5pXv1tC1eUM+feAsbh3QTgmikgt7jmt3f8PMfg3g7rlmlhfFuESkEuifmsKIK7pz84szOZgbDIi799z2/OJHHVXOu4oIN0nsNbPGhOonmVlfQH3URKqxQ7n5vPrdGv7xxTIOhBLE8AHteOC8TjGOTCIp3CTxAEFZjFQz+xZoQjBaWkSqGXfnowWbeOKjxazZto9uLRqQ786N/drw6vS1DOrcRAPhqpBwezfNMrOB/GfE9RINqBOpfmav3cHjHywifc0OOjarx0Pnd2L01FWMuu40jZiuosLt3VSLYDa6MwluOU01s1HufiCawYlIfFi3fR//+/ES/jV3Ayn1avI/V3Tj6tNa8vw3q36QEAqPmFaSqBrCHXH9BpANvBpaNQQ4zt2vjmJsR00jrkUia9f+HJ75cjkvfruahISgzWH4wFTq1dSAuKokEiOuO4UmBirwZWg2ORGpgg7l5vPa9DU8+fkydu3P4cpeLfnl4E6c0LBWrEOTChZukphtZn3d/TsAMzsd+DZ6YYlIRSg6GM7d+cfnyxk7bRU79uXQP7Uxv7noZE5prtHS1VW4SeJ04HozWxt63BpYZGbzAXf37lGJTkSiqmAw3MihPambXIOH3prH4s3ZNG9Ui7/+tAdnd2qq8Q7VXLhJ4vzSNprZce6+IwLxiEgF6p+awkPndz48fagBN5/RhkcuPFkjpQUIvwvsmtK2m9ksoFdp+4hIfFmwfhcjv1jORws3USMhuFoYflY7fn3hyTGOTOJJpLoo6HpUpJKYs24nT32+jM8Xb6F+zRpc3rM5Xy7J4vq+wfShAztpMJz8R6SSRNn9aEUkpmau3s4/Pl/G1GVbaVQniQfP60jnExvw0MR5PDNM04dK8dTZWaQKc3f+vWIb//hiGd+t3E7jusk8fEFnrut7EvVq1mDU1ys0GE5KpdtNIlWQu/PV0ixGfrGcjDU7aFq/Jo9e3IWhfVpTOznx8H53DEw94rn9U1OUIOSwMpOEmSUA89y9aym7nRu5kEQkXMWNc3jqi+WMm7GWTbsO0LxhLf7r0lO4Oq0VtZISy3g1kSOVmSTcPd/M5ppZa3dfW8I+2yMfmoiUpWCcw1PX9mTn/hye+HAR63bsp2n9moy4shuX92xJcg11ZZVjF+7tphOBhWY2A9hbsNLdL4lKVCISlu4tG3FJj+b8bMx08h0SDO4clMqD53XUOAeJiHCTxB+O5cXNbAxwMbCltNtVZtYb+A64xt3fCq1bTVBUMA/ILan4lEh1tHrrXl7+9xreTF9H9sFcmjWoyebdB/n5oPb88sea9EciJ9wkUcfdPyy8wszuAL4u43ljgZHAyyXtYGaJwAiCObSLOtvdt4YZo0iV5u5MXbaVl6at5oslW6iRYFzU7UR6nXQc//fZMu49pz2vTl9L//aN1fAsERNuknjUzA66+xcAZvYQMAgYVdqT3H2KmbUp47XvASYCvcOMRaRa2Xswl7dnZTJ22mpWZO0lpV4y957TgWGnt2Z51p4fjGvQOAeJtHCTxCXA+2b2K4I6Tp1D68rFzFoAlwPncGSScOATM3Pgn+7+XAmvMRwYDtC6devyhiQSN9ZsC24pvZG+juwDuXRv2ZC/X9ODC7udSM0aQU+lt2ev1zgHiapwazdtNbNLgM+ADOAqD2e2orL9H/CQu+cVU2nyDHffYGZNgU/NbLG7TykmtueA5yCYdCgCMYlUmOK6sI6espI3MtaxImsviWZc2O1EbjyjDT1bNTqiIqvGOUi0lZokzCyb4Bu9hX4nA+2Aq8zM3b1BOY+fBkwI/eGnABeaWa67v+vuGwDcfYuZvQP0AY5IEiKVWUEX1r9e3Z31Ow/w7FfLWb/zAA1q1eCes9szrO9JNGugiX4kdkpNEu5eP5oHd/e2BctmNhZ4393fNbO6QIK7Z4eWBwN/jGYsIhUtP99JNKN7iwbcNDaYdjcxwbhzYCr3/aiDBr9JXAjrdpOZvQdMACa5+96y9i/0vPEEDdwpZpYJPAYkAbh7aY3ezYB3QlcYNYBx7v5RuMcViWdrt+1j4qxM3p6dybrt+6mbnMjJJ9Zn0cZsfj4olQcHqwurxI9wG67/BlwDPBEaUPc6wbf+A6U9yd2HhBuIu99YaHkl0KPkvUUql+wDOUyev5GJGeuZsXo7ZnBGagoPnNeRRrWTePDNeYe7sPZLVRdWiR/hNlx/DXwdGtNwDnAbMAYob5uESJWVl+98u3wrE2dl8vHCTRzIyaddk7r86seduLxnC5o3qs20FVvVhVXiWthVYM2sNvATgiuKXsBL0QpKpLIo2jsJ4K30dbyZkcmabfvYtPsADWsncdVpLbmyV0tOLdJDaV7mLnVhlbhm4fRkNbPXgdOBj4A3gK/cPT/KsR21tLQ0T09Pj3UYUo0UXAk8cUU3Nu0+wEvfrmbF1r0kGJzdqSlXntaSc09uenhcg0g8MrOMkkofhXsl8SIw1N3zIheWSOW2fud+lm7K5sSGtRj+SgYQ9E667vTW3PejjjSpXzPGEYqUX1njJM4KLe5UgpDqzt1ZsjmbTxZu5pPvN7Fg/W4AOjStR9pJx5G+Zgd3DUrlAfVOkiqkrCuJmwgG0e0iqNIqUq3k5TsZa3bwycJNfPL9ZtZu34cZ9Gp9HL++oDPndWnGpt0HuHvc7MO9k/qqd5JUIWUlia9Cv/dFOQ6RmCiu4fmrJVv419wNJCYYny3awva9h0hOTOCM9o25c1Aq557clKb1g1HQ6p0kVV1ZSaJN6Hd2lOMQiYmCshgjruhG9sFcxs9Yy8zVOwCoX7MG55zclMFdTmBgpybUq3nkfxf1TpKqLqzeTZWFejdJuPYczGXmqu1MW7GVT7/fzOptwcWyGZzbuSnX92tD33aNNfWnVAuR6N0kUqntP5RHxpodTFuxlX+v3Ma8zF3k5TvJiQn0bN2IZg1qMX3Vdu4e1J4HNbObyGFKElKpFdemMG3FVmat3UHvk45n2opt/HvlNuas3cmhvHxqJBjdWzbkzoGp9EttzGknHcestTt+0PDcTzO7iRxWVhfY+9z9STM7w92/raigRMJV0Kbw5LWnUrdmDV6fsY6JszIxg5w8xwy6Nm/ITWe0oW9qY3q3Of4HbQtqeBYpXThdYJ8EniIoxSESN/YdymXXvhxOPqE+178wg4LWtVbH1eZHXZrRr11jTm/bmIZ1kkp8DTU8i5SurCSxyMxWA03MbF6h9Qa4u3ePWmQixdix9xCfLdrMxws3M3VZFgdz8zmuThKdQ6W2bz2zLb+9uEvYr6eZ3URKV9akQ0PM7ATgYyIwp7XIsVi/cz+fLNzExws3MXP1DvLyneYNazGkT2t+fMoJ5Obnc9+EOYfbFM45uak+5EUipMyGa3ffBPQws2SgY2j1EnfPiWpkUi0U2/C8fCtfLN5CozpJfLxwM/PX7wKC8hd3Dkzlx6ecQNcWDTAzpq3Yyn0T5qhNQSRKwp2ZbiDwMrCa4FZTKzO7wd0157SUS0HD81PX9qR2zUTGfLOKyfM3kh9qYOjZuhEPX9CZwV2a0a5JvSOerzYFkegKt1R4BkEV2CWhxx2B8e5+WpTjOyoaTFf5ZB/IYcSHixk3Y+3hxNCtRQN+2rs1g7s0o1mDWrENUKQaiMRguqSCBAHg7kvNrOQuIyJlWL9zP2O/XcWEGevIPphL80a12LDzAMMHtOORi06OdXgiEhJukkg3sxeAV0KPhwEZ0QlJqrL5mbsYPXUlH8zfCMCF3U7k9LbH8bdPlx1ueB7UuYluFYnEiXCTxJ3AXcC9BG0SU4BnohWUVC35+c4Xi7cweupKpq/aTr2aNbipfxtuOrMta7bt1WA2kTimAn8SNQdy8pg4K5MXvlnFyqy9NG9Yi5vOaMs1fVrRoFZwt7KkshrzMncVO4ZBRCKvtDYJJQkpl+I+5D9asJFXvlvDoo3ZbN97iO4tG3LrgHZc0PUEkhJVVVUk3qgKrERNQRfWkUN70qReTf578iK+XJIFwI9ObsZtA9rSp+3xmFmMIxWRY3FUScLM6rr73qPYfwxwMbDF3buWsl9vgulRr3H3t0LrzieoG5UIPO/uTxxNrFIx+qem8MiFnblhzAxy8oKr0nM7N+U3F51c7LgGEalcwrr2N7P+ZvY9sCj0uIeZhdNwPRY4v4zXTgRGEJT+KLzuaeACoAswxMzCL8gjFWL3gRwe/+B7Hp44n4LrhNsGtOWFG3srQYhUEeHeIP478GNgG4C7zwXOKutJoRHZ28vY7R5gIrCl0Lo+wHJ3X+nuh4AJwKVhxipRlp/vvDFzHef85Sue/2YVAzqkUKdmDe49pz0TZ61n2oqtsQ5RRCIk7FZEd19XZFVeeQ9uZi2Ay4FRRTa1AAofLzO0rrjXGG5m6WaWnpWVVd6QpAwZa3Zw2TPf8v8mzuOkxnX506VdmZu5i2eG9eKBwZ0YObQnd4+brUQhUkWEmyTWmVl/wM0s2cx+SejWUzn9H/CQuxdNOMW1chbbDcvdn3P3NHdPa9KkSQRCkuJs3n2AB16fw5XPTmPz7gM8ee2pvHVHP7IP5pZYO0lEKr9wG67vIGhEbkHwrf4TgsF15ZUGTAj1fEkBLjSz3NAxWhXaryWwIQLHk6N0MDePF75ZxcgvlpOb59x1dio/H9SeuqHZ3TQfg0jVFlaScPetBKU4Isrd2xYsm9lY4H13f9fMagAdzKwtsB64Fhga6eNLydydzxZt4U8ffM+abfsY3KUZv72oC60b14l1aCJSgcItFf4ixdzucfeby3jeeGAQkGJmmcBjQFLouUXbIQq/bq6Z3U3Q4ykRGOPuC8OJVY5OcYPh3kpfx8gvl7N62z46NK3Hq7eczpkddGUgUh2Fe7vp/ULLtQgam8u8/ePuQ8INxN1vLPJ4MjA53OfLsSk8GO6U5g15+K15fLhwE7WTEvjdxV34Wb+TNEpapBoL93bTxMKPQ1cIn0UlIqlQ/VNTGDmkJ7e9lE6+O/tz8jmnc1P+fFV3GterGevwRCTGjrUsRwegdSQDkdjYvvcQY75dzd5DQQeza3u34okru8c4KhGJF+G2SWQTtElY6Pcm4KEoxiUV4JtlW3ngjTls33uIOsmJ3HJGW16bsZZLTt2q3kkiAoR/u6l+tAORinMwN4+/fLyE0VNX0aJRLeokJzLqZ6fRPzWFfu01n4OI/EepScLMepW23d1nRTYcibblW/Zw34TZLNywm+v6tqZZ/Vqc1ua4YgfDKUmISFlXEn8tZZsD50QwFokid2f8jHX88f2F1E5KZPT1aZzXpVmx+2ownIgUKDVJuPvZFRWIRM+OvYd4+O15fLxwMwM6pPDXq3vQtEGtWIclIpVA2L2bzKwrQdnuw58u7v5yNIKSyJm2fCu/CDVO//aik7n5jLYkJGgCIBEJT7i9mx4jGDndhWCA2wXAN4CSRJw6lJvPXz9dwnNTVtIupS4v3NCbri0axjosEalkwr2SuAroAcx295vMrBnwfPTCkvJYmbWH+ybMYf76XQw9vTWPXtSF2smJsQ5LRCqhcJPEfnfPN7NcM2tAMEFQuyjGJWEqXHvJ3XkjfR2PvruQhAQYdd1pnN/1hFiHKCKVWLhJIt3MGgGjgQxgDzAjWkFJ+ApqL424ohtvz17Phws2USPB+PvVpypBiEi5lTVOYiQwzt1/Hlo1ysw+Ahq4+7yoRydl6p+awq8Gd+L2VzNwh9pJiTx/fRpnqGqriERAWVcSy4C/mtmJwOvAeHefE/WoJGyfL9rMnz74ntpJiew9lMdtA9oqQYhIxJRaA9rdn3T3fsBAYDvwopktMrPfmVnHColQiuXujPlmFbe9nE7TBrVISkzg3nPa8+r0tZpfWkQiJqyJAtx9jbuPcPeeBDPEXU5k5riWY5Cbl8/v3lvIH9//nl4nHcfOfYd45rpePDC4EyOH9uTucbOVKEQkIsIdJ5EEnE8wjei5wNfAH6IYl5Rg94Ec7h43mylLs7h9YDsa1U7igfM6qvaSiERFWQ3X5wFDgIsIejNNAIa7+94KiE2KWLd9HzePncmqrXsZcWU3ruld/JQeqr0kIpFS1pXEI8A44Jfuvr0C4pESZKzZwe2vpHMoN5+Xb+mjJCAiFUIF/iqBSXM38Ms353Jiw1q8fntvUpvUi3VIIlJNHOv0pVIB3J1/fL6cv3+2lD5tjmfUz07j+LrJsQ5LRKoRJYk4dTA3j4cnzued2eu5olcL/ueKbtSsofpLIlKxlCTi0Pa9h7j9lXRmrt7Br37ciZ8PSsVM5b1FpOIpScRY4QJ9EEwvOnT0d2zbe4iRQ3tycffmMY5QRKqzsAbTHSszG2NmW8xsQQnbLzWzeWY2x8zSzezMQttWm9n8gm3RjDOWCgr0TVuxlW+Xb+UnT00lK/sgj/2kixKEiMRctK8kxgIjKXlyos+BSe7uZtYdeAPoXGj72e5epYcOFwx+u+2ldPYdyiPBjCevPZVLTm0R69BERKJ7JeHuUwhqPpW0fY+7e+hhXcBL2rcqW7h+N3sP5eHArQPaKkGISNyIapIIh5ldbmaLgQ+AmwttcuATM8sws+GlPH946FZVelZWVrTDjbhnv1rB45MXkZyYwF1np/JmRqbqLolI3Ih5knD3d9y9M3AZ8F+FNp3h7r0I5tO+y8zOKuH5z7l7mrunNWnSJPoBR9BTny9jxEeLSU5M4IUb0/jVjzurQJ+IxJWYJ4kCoVtTqWaWEnq8IfR7C/AO0CeG4UWUu/P3T5fy10+X0rV5A8bc2JsBHYIEV7hAn4hIrMW0C6yZtQdWhBquewHJwDYzqwskuHt2aHkw8MdYxhop7s5fP1nKyC+Xc/VpLXniyu4kJvxwDIQK9IlIvIhqkjCz8cAgIMXMMoHHgCQAdx8FXAlcb2Y5wH7gmlDCaAa8ExpAVoNgCtWPohlrRXB3nvhoMf/8eiVD+rTi8cu6kZCgQXIiEr+imiTcfUgZ20cAI4pZvxLoEa24YsHdefyDRTz/zSqu69uaP17SVQlCROKeRlxXAHfnD//6nrHTVnNj/zY89pMuKrMhIpWCkkSU5ec7v5u0gFe/W8stZ7bltxedrAQhIpWGkkQU5ec7v3l3PuNnrOP2ge14+PzOShAiUqkoSURJXr7z8MR5vJmRyV1np/LLwZ2UIESk0lGSiIK8fOdXb87l7dnrue/cDtz/ow5KECJSKSlJRFhuXj4PvDGXSXM38MB5Hbn33A6xDklE5JjFzYjrymrU1ysOl9DIycvnvglzmDR3AwM7pihBiEilpyRRTgXzQUxZmsU942bzwfyN1E5O5PaBqbEOTUSk3HS7qZz6p6bw5LWncvPYmeTkOXWSE3n+hjSV1RCRKkFXEuXk7rw3ZwM5ecFUGLee2VYJQkSqDCWJcvrLJ0t4KyOT2kmJ3HtOe16dvlZlvkWkylCSKIdX/r2ap79cQc0aCbxwQxoPDO6k+SBEpEpRkjhGHy3YyO8mLaR907pBG0T74BaT5oMQkapEDdfHYMaq7dw7YQ6ntmrEuFv7Ujs58QfbNR+EiFQVupI4Sks2ZXPrSzNpeVxtxtzQ+4gEISJSlShJHIUNO/dzw5gZ1EpK5KWb+nBc3eRYhyQiElVKEmHatS+HG8bMYO/BXMbe1IdWx9eJdUgiIlGnNokwHMjJ47aX01m9bS8v3dSHLs0bxDokEZEKoSRRhrx8574Js5mxejtPDel5uBeTiEh1oNtNpXB3fj9pIR8v3MyjF3fhJz2axzokEZEKpSRRiqe/XM4r363h9rPaccuZbWMdjohIhVOSKMEb6ev4yydLuezU5jx0fudYhyMiEhNKEsX4cvEWfv32fAZ0SOF/r+pBQoJmlROR6klJoog563by89dmcfKJ9Xn2utNIrqFTJCLVV1Q/Ac1sjJltMbMFJWy/1MzmmdkcM0s3szMLbTvfzJaY2XIzezhaMRaeWW5l1h5uHjuTerUSGdSpKfVqqvOXiFRv0f6aPBY4v5TtnwM93P1U4GbgeQAzSwSeBi4AugBDzKxLNAIsmFlu8vwN3PDiDHLy8jmU6/RPbRyNw4mIVCpRTRLuPgXYXsr2Pe7uoYd1gYLlPsByd1/p7oeACcCl0Yixf2oKf76qO/eMn8PGnQcw4NnreqlAn4gIcdAmYWaXm9li4AOCqwmAFsC6QrtlhtYV9/zhoVtV6VlZWccUw6mtGtGkXjK5+c6N/dsoQYiIhMQ8Sbj7O+7eGbgM+K/Q6uK6E3kx63D359w9zd3TmjRpckwxLNmczaFc18xyIiJFxDxJFAjdmko1sxSCK4dWhTa3BDZE47jTVmzl7nGzGTmsp2aWExEpIqZJwszam5mFlnsBycA2YCbQwczamlkycC0wKRoxzMvcxcihPQ/fYtLMciIi/xHVPp5mNh4YBKSYWSbwGJAE4O6jgCuB680sB9gPXBNqyM41s7uBj4FEYIy7L4xGjHcMTD1inWaWExEJ2H86F1V+aWlpnp6eHuswREQqFTPLcPe04rbFTZuEiIjEHyUJEREpkZKEiIiUSElCRERKVKUars0sC1hTjpdIAeJxgITiOjqK6+gorqNTFeM6yd2LHY1cpZJEeZlZekkt/LGkuI6O4jo6iuvoVLe4dLtJRERKpCQhIiIlUpL4oediHUAJFNfRUVxHR3EdnWoVl9okRESkRLqSEBGREilJiIhIiap1kjCzP5vZYjObZ2bvmFmjEvY738yWmNlyM3u4AuK62swWmlm+mZXYpc3MVpvZfDObY2ZRr2x4FHFV9Pk63sw+NbNlod/HlbBfhZyvst6/Bf4R2j4vVCY/6sKIa5CZ7Qqdnzlm9rsKiGmMmW0xswUlbI/VuSorrgo/V6HjtjKzL81sUej/4n3F7BPZc+bu1fYHGAzUCC2PAEYUs08isAJoRzDfxVygS5TjOhnoBHwFpJWy32ogpQLPV5lxxeh8/S/wcGj54eL+HSvqfIXz/oELgQ8JZmDsC0yvgH+7cOIaBLxfUX9PoWOeBfQCFpSwvcLPVZhxVfi5Ch33RKBXaLk+sDTaf1/V+krC3T9x99zQw+8IZsArqg+w3N1XuvshYAJwaZTjWuTuS6J5jGMRZlwVfr5Cr/9SaPklgqlwYyWc938p8LIHvgMamdmJcRBXhfNgRsrtpewSi3MVTlwx4e4b3X1WaDkbWAS0KLJbRM9ZtU4SRdxMkH2LagGsK/Q4kyP/UWLFgU/MLMPMhsc6mJBYnK9m7r4Rgv9EQNMS9quI8xXO+4/FOQr3mP3MbK6ZfWhmp0Q5pnDE8/+/mJ4rM2sD9ASmF9kU0XMW1Znp4oGZfQacUMym37j7e6F9fgPkAq8V9xLFrCt3v+Fw4grDGe6+wcyaAp+a2eLQN6BYxlXh5+soXibi56sY4bz/qJyjMoRzzFkENXz2mNmFwLtAhyjHVZZYnKtwxPRcmVk9YCJwv7vvLrq5mKcc8zmr8knC3X9U2nYzuwG4GDjXQzf0isgEWhV63BLYEO24wnyNDaHfW8zsHYJbCuX60ItAXBV+vsxss5md6O4bQ5fVW0p4jYifr2KE8/6jco7KG1fhDxt3n2xmz5hZirvHsphdLM5VmWJ5rswsiSBBvObubxezS0TPWbW+3WRm5wMPAZe4+74SdpsJdDCztmaWDFwLTKqoGEtiZnXNrH7BMkEjfLE9MSpYLM7XJOCG0PINwBFXPBV4vsJ5/5MI5nY3M+sL7Cq4XRZFZcZlZieYmYWW+xB8PmyLclxlicW5KlOszlXomC8Ai9z9byXsFtlzVtGt8/H0AywnuHc3J/QzKrS+OTC50H4XEvQiWEFw2yXacV1O8G3gILAZ+LhoXAS9VOaGfhbGS1wxOl+Ngc+BZaHfx8fyfBX3/oE7gDtCywY8Hdo+n1J6sFVwXHeHzs1cgo4c/SsgpvHARiAn9Ld1S5ycq7LiqvBzFTrumQS3juYV+ty6MJrnTGU5RESkRNX6dpOIiJROSUJEREqkJCEiIiVSkhARkRIpSYiISImUJEREpERKEhI3zKxxodLLm8xsfaHHyTGM649m9qPQ8v1mVqfQtslWQon5ozzG783sRjMba2aDijtWPLGg7HobM/sq1rFIdFX5shxSebj7NuBUCD40gT3u/pdYxgTg7oXnCrgfeBXYF9p2YRQP/YNjicSCriQkrpnZbWY2M1Rtc2LBN+vQN+5RZjbVzJaa2cXFPHeQmU2xYEKp70P7J4S2DbFgAqIFZjYitC4x9LoLQtt+UehYV5nZvQSjuL80sy9D21abWUpo+YHQcxeY2f2hdW0smCBmtAWTxHxiZrWLeat7gP3ALuBQCcd61szSQ6/zh0Lvc7WZjTCzGaGf9qWcz2LPm5nVMrMXQ+97tpmdHVp/Sug151gwgU1BEbssII84LKctEVYRQ8n1o5+j/QF+D/wSaFxo3Z+Ae0LLY4GPCL7odCAonVCryGsMAg4QlORIBD4FriL48F0LNCG4mv6CYA6K04BPCz2/UaFjXRVaXk2hiYsKHoeeOx+oC9QjKNnQE2hDUGH41ND+bwDXhXkOih6roNxIIsHET90L7VdQZuN6SpkMp6TzBjwIvBjap3Po/NQCngKGhdYnA7Vj/behn4r90ZWExLuuoW+984FhQOG6/W+4e767LwNWEny4FTXDg4l28gjq8ZwJ9Aa+cvcsDyadeo1gJrKVQDsze8qC4o9FSzCX5kzgHXff6+57gLeBAaFtq9x9Tmg5gyBxHIufmtksYDbBeehSaNv4Qr/7lfE6xZ23M4FXANx9MbAG6Aj8G3jEzB4iKI29/xhjl0pKSULi3VjgbnfvBvyB4NttgaKFx4orRFbcPsXV28fddwA9CL6l3wU8fxRxFvuaIQcLLedxDG2BZtaW4MrqXHfvDnxAyeeirIJsR3NOxgGXENwK+9jMzjmauKXyU5KQeFcf2GhBDf1hRbZdbWYJZpZKcEupuKlV+4TKYycA1wDfEMzkNdDMUswsERgCfB1qW0hw94nAowRzHBeVHYqpqCnAZWZWx4JS5JcDU4/63ZZ8rAbAXmCXmTUDLiiy7zWFfv+7jNct7rxNIXR+zawj0BpYYmbtgJXu/g+CEtTdy/eWpLJR7yaJd48SfKivIbjnX/gDegnwNdCMoEzygWKe/2/gCaAbwQfhO+6eb2a/Br4k+AY92d3fM7MewIsFjdvAr4t5veeAD81so7ufXbDS3WeZ2VhgRmjV8+4+24IpJo/VD45lZrMJ2jpWAt8W2bemmU0n+OI3pIzXPeK8mdkzwKjQbb1c4EZ3P2hm1wDXmVkOsAn4Yznej1RCKhUulVLoA/l9d3+rlH0GAb909yN6PlUlZraaYM6AMmdFC+e8iRSm200iIlIiXUmIVEFm9hvg6iKr33T3x2MRj1ReShIiIlIi3W4SEZESKUmIiEiJlCRERKREShIiIlKi/w/gpCDmf/u0hAAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] @@ -138,7 +139,8 @@ } ], "source": [ - "pp.control.plot_characteristic(net.characteristic.object.at[1], -2, 2)" + "pp.control.plot_characteristic(net.characteristic.object.at[1], -2, 2,\n", + " xlabel='Tap position \"tap_pos\"', ylabel='Value of \"vkr_percent\"')" ] }, { @@ -227,7 +229,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Now let us compare the computation time" + "We can see that the voltage values are different, even though the connections are identical. Now let us compare the computation time:" ] }, { @@ -248,7 +250,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "8.77 ms ± 367 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" + "8.36 ms ± 481 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" ] } ], @@ -265,7 +267,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "10.6 ms ± 209 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" + "9.57 ms ± 120 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" ] } ], @@ -277,7 +279,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "The calculation with tap dependent impedance is about 4 percent slower" + "The calculation with tap dependent impedance is somewhat slower." ] }, { @@ -309,7 +311,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "29.2 ms ± 431 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" + "27.2 ms ± 223 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" ] } ], @@ -321,14 +323,14 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "The computational time is 3,3 times higher!" + "The computational time is substantially higher!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "The results are identical:" + "The results from using the characteristics in pandapower directly and via controllers are identical:" ] }, { @@ -555,7 +557,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "15 ms ± 64.2 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" + "14.5 ms ± 534 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" ] } ], @@ -572,7 +574,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "52.1 ms ± 678 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" + "52.8 ms ± 7.57 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" ] } ], @@ -693,7 +695,15 @@ "source": [ "assert np.allclose(net4.res_bus.vm_pu, net5.res_bus.vm_pu, atol=1e-6, rtol=0)\n", "assert np.allclose(net4.res_bus.va_degree, net5.res_bus.va_degree, atol=1e-6, rtol=0)\n", - "pd.merge(net4.res_bus[[\"vm_pu\", \"va_degree\"]], net5.res_bus[[\"vm_pu\", \"va_degree\"]], left_index=True, right_index=True)" + "pd.merge(net4.res_bus[[\"vm_pu\", \"va_degree\"]], net5.res_bus[[\"vm_pu\", \"va_degree\"]], \n", + " left_index=True, right_index=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Also in the case of the 3-winding transformers, the results for direct calculation in pandapower and in controllers match." ] }, { @@ -793,8 +803,8 @@ " 1.0\n", " True\n", " True\n", - " 0.0\n", - " 1.0\n", + " 0\n", + " 1\n", " \n", " \n", " 1\n", @@ -817,8 +827,8 @@ " 1.0\n", " True\n", " True\n", - " 2.0\n", - " NaN\n", + " 2\n", + " <NA>\n", " \n", " \n", "\n", @@ -839,12 +849,12 @@ "1 2 False 1 1.0 True \n", "\n", " tap_dependent_impedance vk_percent_characteristic \\\n", - "0 True 0.0 \n", - "1 True 2.0 \n", + "0 True 0 \n", + "1 True 2 \n", "\n", " vkr_percent_characteristic \n", - "0 1.0 \n", - "1 NaN \n", + "0 1 \n", + "1 \n", "\n", "[2 rows x 26 columns]" ] @@ -1131,7 +1141,7 @@ " 1.0\n", " True\n", " False\n", - " NaN\n", + " <NA>\n", " \n", " \n", " 1\n", @@ -1155,7 +1165,7 @@ " 1.0\n", " True\n", " False\n", - " NaN\n", + " <NA>\n", " \n", " \n", " 2\n", @@ -1179,7 +1189,7 @@ " 1.0\n", " True\n", " True\n", - " 0.0\n", + " 0\n", " \n", " \n", "\n", @@ -1203,9 +1213,9 @@ "2 0.0 2 False 1 1.0 True \n", "\n", " tap_dependent_impedance vk_percent_characteristic \n", - "0 False NaN \n", - "1 False NaN \n", - "2 True 0.0 \n", + "0 False \n", + "1 False \n", + "2 True 0 \n", "\n", "[3 rows x 25 columns]" ] @@ -1314,7 +1324,7 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAD4CAYAAADiry33AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAApVUlEQVR4nO3de3xV5ZX/8c9KQsItgJJwB4FwUaQgEK4iiFarVks7tZWLCgginaK92N+M8+u0nRmnfdXpdFodrJSreEHbqlinYxXbXytaIBCuchMTyiUgJOESkkDu6/fHOaGHEMgJJDnJyff9euV1ztn72dlrb8I6+zz7Oc8yd0dERKJXTKQDEBGR+qVELyIS5ZToRUSinBK9iEiUU6IXEYlycZEOoDpJSUneu3fvSIchItJkbNq0Kdfdk6tb1ygTfe/evUlPT490GCIiTYaZHbjYOnXdiIhEOSV6EZEop0QvIhLllOhFRKKcEr2ISJRTohcRuQIL389kbWbuecvWZuay8P3MCEV0ISV6EZErMKRHe+av3HIu2a/NzGX+yi0M6dE+wpH9TY2J3swGmtnWkJ/TZvbNKm3MzJ4xswwz225mw0PW3WFmHwfXPVEPxyAictku54rc3TlZWMLeY/lUVMCUkT2ZvSKdqYvW8/CKdB66sTet4+PIOnmGotLyOt9/bVlt5qM3s1jgMDDa3Q+ELL8LeBS4CxgNPO3uo4Pt9wK3AVnARmCqu++61H5SU1NdX5gSkYZQeQW+YNowhvW8ind3HuX7v93B7PF9uLpNPDn5xeQUFJN9OvCYk19MbkExpeXh587ElnEkt00gqW0CSYnxJLVNCLxOTCC3oJjFa/bx5OTBfG5wFzYfPHkunnEpSWHvw8w2uXtqdetq+83YW4HM0CQfNBl4wQPvGuvNrIOZdQV6Axnuvi8YyKvBtpdM9CIiDaGwuIyzJeWkXnMV9y9JoyIkd//sD58AYAYd2yTQKTGB5MQEBnROJDkxkKiTEwPLs06e4d//dzdTR/ViZdpBHr99AF3btyK3oDj4U3LuDWPP0Xxy83M5XVR2Xizf+NVWEl6PoU1CXK2TfE1qm+inAK9Us7w7cCjkdVZwWXXLR1f3i81sLjAXoFevXrUMS0SkZu7OnqP5vL83hzV7c9i4/wSl5U6rFrH0vLo1B46f4bPXdeL+MdcEknliAle3jicu9uK93Gszc/nh23t4dvpwxqUkMb5/0rkr8imDLp7LisvKOR58A8gtKGZl2kH+uCebRyb0qtMkD7VI9GYWD3wB+KfqVlezzC+x/MKF7ouARRDougk3LhFp3ha+n8mQHu3PS45rM3PZnpXHvIkpnCws4YOMXNYEk3t2fjEA13ZJZNaNfZg4IJmyigq+9attPHZLP15KO8hD4/twfbfwbqZuz8o77wp8XEoSC6YNY3tW3iUTdkJcLN06tKJbh1aszcxly6FT5/Y/JqVjxK7o7wQ2u/uxatZlAT1DXvcAjgDxF1kuIlInKke9VCbbDz7J4esvb+bW6zoz+dm/sD3rFO7QvlULbuqfxIQByUzon0yX9i2BwJvCt3617dz2Y1I61qqPfN7ElAuWjUtJCjtRh94juJz9hyPsm7HB/vV33X15Nes+D8znbzdjn3H3UWYWR+Bm7K0EbuJuBKa5+85L7Us3Y0WkNj78JJd5L22iS/sEMrMLcSDG4IaeHZgwIJmJA5IZ0qMDsTEXdjLU9ImgvtXV/i91MzasRG9mrQn0tfd197zgsnkA7r7QzAxYANwBnAFmuXt6sN1dwM+BWGCZu/+wpv0p0YtIOIpKy3l9cxaL1+xj//EzAAzq2o6vT+rH+H5JtG/dIsIRNpwrHnXj7meAjlWWLQx57sDXL7Lt28DbYUcrIlKDvLOlvLT+AMv/sp/cgmL6JrWhbUIcM8f1ZuWGg1zVpkWzSvI1aZSFR0REqnM0r4ilH+5jZdpBCkvKmTAgmZv6d+S5P+9j0YMjAn3j/eq+j7upU6IXkUYvIzufX76/jze3HqbC4e4hXZk7oS/Xd2vPwvczL2vUS3NSq2/GNhT10YsIwKYDJ1n4fibv7TpGyxYx3Jfakzk39aXn1a0jHVqjU5ffjBURqVNVR51UVDjP/TmDVzYeIuvkWTq0bsFjt/Znxthr6Ng2IcLRNk1K9CISUZXj4J+ecgPZp4v52R8+JutkEUlt4vnBPYO4b2RPWscrVV0JnT0RiahxKUk8dms/ZizbQIVDrBl/f3MK37ptAC0uMfWAhE+JXkQiprC4jJ+8+zEr1u2nbXwc+cVl/P2kFB6/fWCkQ4sqersUkYhYszeH23+2hhXr9nP7oM7ExRqP3dKPl9MOXjA/u1wZJXoRaVCnzpTwnd9s48FlG0hoEcMP7h7Exv0neXb6cL59+0AWTBt2XsUmuXJK9CLSYH7/0ad89r/WsGrLYeZP6sfbj91EUVnFRcfBS93QOHoRqXfZp4v43m938O7OYwzu3o6nvjwk7GmAJTwaRy8iEeHu/CY9i3//310Ul1XwxJ3XMmd8n0sW8pC6p0QvIvXi0Ikz/NMbH/FhRi6jel/Nj7/8Gfomt410WM2SEr2IXJGq32wtr3D+5a2dvLLhIC1bxPLkFwczfVQvYqqZC14ahhK9iFyR0ApPyW0T+NrLm8jILuSGnu35xfQRdOvQKtIhNnthJXoz6wAsAQYTqPn6kLuvC1n/f4DpIb/zOiDZ3U+Y2X4gHygHyi52s0BEmqZxKUksmDqM2SvSKS4txx3mB7/0FKhJJJEW7hX908A77n5vsEj4eVPHuftPgJ8AmNk9wLfc/URIk0nurkGxIlGoqLSc1zZlcbakHIA54/vwnc9dG+GoJFSNt77NrB0wAVgK4O4l7n7qEptMBV6pk+hEpFHLyS9m2uL1vLHlMK1axPLoLf14Y8thfdmpkQlnjFNfIAdYbmZbzGyJmbWprmGwtuwdwOshix1YbWabzGzuxXZiZnPNLN3M0nNycmpxCCISCbuOnOaLz/6Fjw7n0TYhjqUzU3lc32xtlMJJ9HHAcOA5dx8GFAJPXKTtPcBfqnTb3Ojuw4E7ga+b2YTqNnT3Re6e6u6pycnJ4R+BiDS41TuPcu/CtZRXONNHX3OujB/om62NUTh99FlAlrunBV+/xsUT/RSqdNu4+5HgY7aZrQJGAWsuL1wRiSR3Z+H7+/iPd/cwpHt7Fj+YSqd2LS9oNy4lSWX8GpEar+jd/ShwyMwq5w29FdhVtZ2ZtQcmAr8NWdbGzBIrnwO3AzvqIG4RaWBFpeU8/pttPPXOHu4e0o1fPTK22iQvjU+4o24eBV4OjrjZB8wys3kA7r4w2OZLwGp3LwzZrjOwKjjEKg5Y6e7v1EnkItJgcvKLeeTFdDYfPMXjtw1g/i39NHSyCdGkZiJySbuOnObhF9I5XljMz756A3d+pmukQ5JqaFIzEbksq3ce5Zu/2kq7li14bd44BnfXjJNNkRK9iFwg3Juu0jQo0Ys0c1UnJSsuK2fOinQ++CSXe4Z24yf3DqFli9gIRylXQpNCizRzlZOSrc3MJSe/mLuf+YAPPsnlKyN68MyUG5Tko4Cu6EWaucovOH3tpU1UVEB+cRnfvLU/37xtQKRDkzqiRC8itG/VgqLSCorLKpgysqeSfJRR141IM7fn6Gnu++U6SssrmDH2GlbvOqZ5aqKMEr1IM7b3WD5fXbiOwpJyfvrVofzr5MGalCwKKdGLNFMZ2QVMW5xGeYXz068M5UvDegCalCwaqY9epBnal1PAtMXrAXjr0fGkVCnarUnJoouu6EWamQPHC89dyb/y8OgLkrxEHyV6kWbk0IkzTF20nuKyclY+PIb+nRMjHZI0AHXdiDQTWSfPMGXRegpLyln58GgGdlGSby50RS/SDBw5dZZpi9PILyrl5Tmjub6bJidrTpToRaLc0bwipi1ez8nCEl6cPVozUDZDYSV6M+tgZq+Z2R4z221mY6usv9nM8sxsa/Dn+yHr7jCzj80sw8wuVoJQROpB9ulAks8tKGHF7FEM7dkh0iFJBITbR/808I673xusMtW6mjYfuPvdoQvMLBZ4FriNQO3ZjWb2lrtfUIpQROpWTn4x05akcfR0ES88NIrhva6KdEgSITVe0ZtZO2ACsBTA3Uvc/VSYv38UkOHu+9y9BHgVmHyZsYpImI4XFHP/kjQOnzzL8pkjSe19daRDkggKp+umL5ADLDezLWa2JFjou6qxZrbNzH5vZtcHl3UHDoW0yQouu4CZzTWzdDNLz8nJqc0xiEiIk4UlTF+Sxv7jhSydkcrovh0jHZJEWDiJPg4YDjzn7sOAQqBqX/tm4Bp3Hwr8N/BmcHl11YOrLVLr7ovcPdXdU5OTk8OJXUQIFA6pnJcm70wp9y9NIyO7gC8O6864fvp2q4SX6LOALHdPC75+jUDiP8fdT7t7QfD520ALM0sKbtszpGkP4MgVRy0i51QWDnlv1zEeWJbGx0fzadUilsk3dIt0aNJI1Hgz1t2PmtkhMxvo7h8DtwLn3Uw1sy7AMXd3MxtF4A3kOHAK6G9mfYDDwBRgWh0fg0izNi4lif/66lDmrEinwp3W8XH88sERmqtGzgl31M2jwMvBETf7gFlmNg/A3RcC9wJfM7My4Cwwxd0dKDOz+cC7QCywzN131vVBiDRn5RXOKxsOUlYR6BV96MbeSvJynrASvbtvBVKrLF4Ysn4BsOAi274NvH2Z8YnIJbg7T/5uF+/uPEbr+FjmjO/DS2kHGZPSUcleztE3Y0WasMUf7OP5tftpGRfDkhmpfPv2gSocIhdQohdpot7adoQfvb2Ha7sksnTGyHNX8CocIlVp9kqRJmhd5nG+8+ttjOp9NS/MHkXLFrHnrVfhEAmlK3qRJmbvsXzmvphOr46tWfTgiAuSvEhVSvQiTcjRvCJmLttAqxaxPD9rJB1ax0c6JGkClOhFmoj8olJmLt9A3tlSls8aSY+rqptbUORC6qMXaQJKyir42kubycguYNnMkSocIrWiRC/SyLk7T7y+nQ8zcvnPrwxlwgDNBSW1o64bkUbup6v38saWwzx+2wDuHdEj0uFIE6REL9KIvZx2gAV/ymDqqJ7Mv6VfpMORJkqJXqSR+uPuY3zvzR1MGpjMk5MHY1bdrN8iNVOiF2mEth46xfyVWxjcvT0Lpg0nLlb/VeXy6a9HpJHZn1vI7Oc3kpQYz9IZI2mToDETcmWU6EUiLLRC1PGCYmYu30BxWTl3Xt+F5MSECEcn0UCJXiTCKitE/XlPNrNXpHP45FlizLj52k6RDk2ihD4TikTYuJQknpkyjFnPb6C03GmbEMfCB1QhSupOWFf0ZtbBzF4zsz1mttvMxlZZP93Mtgd/1prZ0JB1+83sIzPbambpdX0AIk2du/POzk8pLVeFKKkf4V7RPw284+73BssJVp1k46/ARHc/aWZ3AouA0SHrJ7m7qiCIVGPh+/t4af1BWraIYe5NfVUhSupcjYnezNoBE4CZAO5eApSEtnH3tSEv1wP6+p5IGH679TBPvbOH+NgYlj44khv7JzEmpSPzV25hwbRhSvZSJ8LpuukL5ADLzWyLmS0xszaXaD8b+H3IawdWm9kmM5t7sY3MbK6ZpZtZek5OTljBizRlazNz+c5vttHzqlYsnjGCG/urQpTUD3P3SzcwSyVwlX6ju6eZ2dPAaXf/XjVtJwG/AMa7+/Hgsm7ufsTMOgHvAY+6+5pL7TM1NdXT09WdL9Frz9HTfOW5dXTt0JLfzBtH+1YtIh2SNHFmtsndU6tbF84VfRaQ5e5pwdevAcOr2ckQYAkwuTLJA7j7keBjNrAKGFW78EWiy6d5Z5m1fCOtE2JZPmuUkrzUuxoTvbsfBQ6Z2cDgoluBXaFtzKwX8AbwgLvvDVnexswSK58DtwM76ih2kSbndFEps5ZvJL+ojOUzR9G9Q6tIhyTNQLijbh4FXg6OuNkHzDKzeQDuvhD4PtAR+EVw4qWy4EeIzsCq4LI4YKW7v1O3hyDSNASKh2wiI7uA5bNGMqhbu0iHJM1EWIne3bcCVft+FoasnwPMqWa7fcDQqstFmht35x9f385fMo7z068M5ab+Kh4iDUdTIIg0gP9c/TGrthzmO7cP4MsqHiINTIlepJ69tP4Az/4pk6mjevH1SSoeIg1PiV6kHv1h1zG+/9sd3HJtJ56cfL2Kh0hEKNGL1JOth04x/5XNweIhw1Q8RCJGf3ki9eDA8UDxkOTEBJbOGEnreE0UK5GjRC9Sx44XFDNj2QYq3Fkxa5SKh0jEKdGLXKHQClFnS8qZ80KgeMjdQ7rSN7lthKMTUaIXuWKVFaI+/CSXx17dwpaDp0hoEcudn+ka6dBEAFWYErli41KSWDB1GLOe30hxWQWt42NZ9KAqREnjoSt6kTqw/XAexWUVAMwZ30dJXhoVJXqRK/TbrYf58e8DxUMendSPl9IOnuuzF2kMlOhFrsDazFy+/eutxMUYi2eM4PHPDWTBtGHMX7lFyV4aDSV6kcv08dF8HnlxEx1axfPc9BFMHNAJUIUoaXx0M1bkMhzNK2Lm8g20ahHLqq/feMG88uNSktRPL42GruhFaim/qJSZyzdw+mwpy2eNVPEQafTCSvRm1sHMXjOzPWa228zGVllvZvaMmWWY2XYzGx6y7g4z+zi47om6PgCRhhQoHrKZjOwCnrt/BNd3ax/pkERqFO4V/dPAO+5+LYFCIrurrL8T6B/8mQs8B2BmscCzwfWDgKlmNqgO4hZpcO7OE69v58OMXH785SFMGKDiIdI01NhHb2btgAnATAB3LwFKqjSbDLzg7g6sD34C6Ar0BjKClaYws1eDbXch0sT8dPVe3thymMdvG8C9Kh4iTUg4V/R9gRxguZltMbMlwULfoboDh0JeZwWXXWz5Bcxsrpmlm1l6Tk5O2Acg0hBeTjvAgj9lMHVUT+bfouIh0rSEk+jjgOHAc+4+DCgEqva1V1dNwS+x/MKF7ovcPdXdU5OT9ZFYGo8/7j7G997cwaSByTw5ebCKh0iTE06izwKy3D0t+Po1Aom/apueIa97AEcusVykSdh26BTzV27h+m7tWTBtuIqHSJNU41+tux8FDpnZwOCiW7mwj/0t4MHg6JsxQJ67fwpsBPqbWR8ziwemBNuKNHoHjhfy0PMbSUqMZ9nMkbRJ0NdOpGkK9y/3UeDlYLLeB8wys3kA7r4QeBu4C8gAzgCzguvKzGw+8C4QCyxz9511ewgide9EYQkzl2+k3J3nVTxEmriwEr27bwVSqyxeGLLega9fZNu3CbwRiDQJZ0vKmb1iI0dOnWXlw6NJUfEQaeLU4SjNXmiFqPIK5xvB4iF3faYLI665OsLRiVw5JXpp9iorRK3NyOVf/2cnq3cdo3V8LF9J7VnzxiJNgO4uSbNXOdvk7OfTOVtaTsu4GJbMSNWkZBI1dEUvAuQWlHC2tByAh2/qqyQvUUWJXpq9dZnH+favAsVD/v7mFF7eoApREl2U6KVZ23ssn4ee30CFO89NH8E/3HGtKkRJ1FGil2braF4RM5dtIMaMn993A7dd3xlQhSiJProZK81SZfGQvLOl/Hre2AvmlVeFKIkmSvTS7IQWD1k2c6SKh0jUU6KXZsXdeeKNQPGQn9yr4iHSPKiPXpqV/3pvL29sPsy3bxugL0RJs6FEL83GyrSD/Pf/y2DKyJ48quIh0owo0Uuz8Mfdx/jnNz9i0sBk/v2LKh4izYsSvUQ9FQ+R5k5/8RLVDh4/w+wVG+nYNp6lM1NVPESapbD+6s1sP5APlANl7p5aZf3/AaaH/M7rgGR3P1HTtiL15URhCTOWb6Cswlnx0Cg6JbaMdEgiEVGby5tJ7l7td8Ld/SfATwDM7B7gW+5+IpxtRepDUWk5c1Zs5PCps6yco+Ih0rzVR9fNVOCVevi9ImE5Vzzk0Cmevu8GUnureIg0b+EmegdWm9kmM5t7sUZm1hq4A3j9Mrada2bpZpaek5MTZlgi51eIcnf+7X928u7OY9wysBN3fqZrhKMTibxwu25udPcjZtYJeM/M9rj7mmra3QP8pUq3TVjbuvsiYBFAamqq1/I4pBmrrBC1YNowdhzOY8W6A7SMi2H2TX0iHZpIoxBucfAjwcdsM1sFjAKqS/RTqNJtU4ttRS5L5WyTc1/YREFxGfGxMSydMVKTkokE1dh1Y2ZtzCyx8jlwO7CjmnbtgYnAb2u7rciVijHjTEkZAHNu6sON/ZXkRSqFc0XfGVgV/CZhHLDS3d8xs3kA7r4w2O5LwGp3L6xp27oKXgSCxUOWbwBg7k19eHXjIcb31zTDIpXMvfF1h6empnp6enqkw5Am4GheEZ9/Zg0nzpTy9H038IUburM2M/dcn72SvTQXZrbpYt9T0jdjpcmqLB5yuqiMH35xMF+4oTugClEiVen74NIkVS0eUnVeeVWIEvkbJXppctydJ15X8RCRcKnrRpqcn67eyxtbVDxEJFxK9NKkvJx2gAV/ymDqKBUPEQmXEr00GX/cfYzvvbmDSQOTeXKyioeIhEuJXpqErcHiIYO7q3iISG3pf4s0egeOFzL7+Y0kJcazdMZIFQ8RqSUlemnUjhcUM2PZBircWTFrFMmJCZEOSaTJ0aWRNFpnS8qZ80I6n+YVsfLh0fRV8RCRy6JEL41SeYXz2Ktb2HroFM9NH8GIa1Q8RORyqetGGh135wdv7eC9Xcf4l3uu547BXSIdkkiTpkQvERdaISrweh8vrT/I6D5XM2Nc78gFJhIllOgl4iorRK3NzOXNLYd56p09xMfG8Ngt/SMdmkhUUB+9RFzlbJOPvLiJwuIy4mKMxTNGqHiISB3RFb00CglxsRSVlFPh8ND4Pkwc0CnSIYlEjbASvZntN7OPzGyrmV1QEcTMbjazvOD6rWb2/ZB1d5jZx2aWYWZP1GXwEh22HjrF9CXrKXfnoRt789qmrPP67EXkytSm62aSu1/qf98H7n536AIziwWeBW4DsoCNZvaWu++qfagSjT7KymPqonWUlFXwzNRh3D2kG58d1FkVokTqUH133YwCMtx9n7uXAK8Ck+t5n9JE7Dicx/1L04iPi+HnUwJJHlQhSqSuhXtF78BqM3Pgl+6+qJo2Y81sG3AE+I677wS6A4dC2mQBo6vbgZnNBeYC9OrVK8ywpKna/elpHliaRpv4WH71yFh6Xt36vPWqECVSd8JN9De6+xEz6wS8Z2Z73H1NyPrNwDXuXmBmdwFvAv2B6uaRrbYaefDNYxEEioOHewDS9Ow9ls/0JWkkxMXyytwxFyR5EalbYXXduPuR4GM2sIpAl0zo+tPuXhB8/jbQwsySCFzBh5YA6kHgil+aqYzsfKYtXk9cjPHK3DFc07FNpEMSiXo1Jnoza2NmiZXPgduBHVXadLFgFQgzGxX8vceBjUB/M+tjZvHAFOCtuj0EaSr25RQwdXEaEEjyfZKU5EUaQjhdN52BVcE8HgesdPd3zGwegLsvBO4FvmZmZcBZYIq7O1BmZvOBd4FYYFmw716amf25hUxdvJ6KCufVuWNI0UyUIg3GAvm4cUlNTfX09AuG60sTdejEGe775TrOlpbz6tyxDOySGOmQRKKOmW1y99Tq1mkKBKlXWSfPMGXRes6UlrNyzhgleZEI0BQIUm+OnDrL1MXryS8q5aXZoxnUrV2kQxJplpTopV4czSti2uL1nCos5cXZoxncvX2kQxJpttR1I3Uu+3QgyecWlPDC7FEM7dkh0iGJNGu6opcrFlo4JCe/mGlL0jh86ixfvKEbw3tdFeHoRESJXq5YZeGQd3Z8yvQl6zl4/AzxcTHcNaRrpEMTEdR1I3VgXEoSP7h7EF9/eTMYtI6P45cPjNBcNSKNhK7o5Ypt+OsJ/vV3u4iNMcorYNa43kryIo2IEr1ckV+nH2L6kvUkxMbQKj6Ox27px0tpB1U4RKQRUdeNXJbyCuepd/awaM0+Bndrx+FTZ3nu/uGMS0liTEpHFQ4RaUSU6KXW8otK+earW/njnmxmjL2Gzu1ackOvDueSemjhECV6kchTopdaOXTiDHNWpJORU8CTXxzMA2OuqbadCoeINB5K9BK2jftP8MiLmygrr2DFrFGM769ELtIUKNFLWH6dfojvrvqInle1ZsmMVPpqmmGRJkOJXi4p9Kbr+H5JPDttOO1bt4h0WCJSC2ElejPbD+QD5UBZ1TmPzWw68I/BlwXA19x9WzjbSuMVetP1wbHX8L27B9EiViNyRZqa2lzRT3L3iw2O/isw0d1PmtmdBIp8jw5zW2mEwr3pKiKNX5103bj72pCX6wkUAZcmYuH7mQzp0f7cKJmN+0/w0PMbKSnTTVeRaBDu53AHVpvZJjObW0Pb2cDva7utmc01s3QzS8/JyQkzLKkLlZOSrc3M5Tfph5iyaB2FxWX86EuDleRFokBYNWPNrJu7HzGzTsB7wKPuvqaadpOAXwDj3f14bbYNpZqxDe/PH2cz78VNFJVVEBdjPDd9BLdd3znSYYlImC5VMzasK3p3PxJ8zAZWAaOq2ckQYAkwuTLJh7utRNaGv57g3/5nF0VlFQA8MrGvkrxIFKkx0ZtZGzNLrHwO3A7sqNKmF/AG8IC7763NthI5+UWlfO/NHXz1l+vILy4lsWVgUrJXNhzSpGQiUSScm7GdgVVmVtl+pbu/Y2bzANx9IfB9oCPwi2C7ymGU1W5b50chtfanPdl8d9VHHD1dxF2Du7Bu3/Fzc8hrUjKR6BJWH31DUx99/TlRWMKTv9vFqi2H6d+pLf9x7xDS/nrivFE3AGszc9melce8iSkRjFZEwnWpPnp9M7aZcHd+t/1T/uWtnZwuKuUbt/bn7yelkBAXy7Bq6rpqUjKR6KFE3wwczSvin9/cwR92H2Noj/Y8de9oru3SLtJhiUgDUaKPYu7OqxsP8aP/3U1pRQX//PnrmHVjH2JjLNKhiUgDUqKPUgeOF/LE6x+xbt9xxvbtyI+//Bmu6dgm0mGJSAQo0UeB0CkMyiucZR/+lf94dw+G8eO/+wz3jexJcOSTiDRDSvRRoHIKg3/43EBe2XCQbVl5tIg1fnbfUD4/pFukwxORCFOijwIJcTH07tiGJ974iFYtYmibEMeiB0Ywrp9GzYiIEn2TVVHh/OnjbBa+n8nG/Sfp0LoFo3pfzYb9J3jslr5K8iJyjhJ9E1NSVsFb246waE0me48V0L1DK35wzyB6d2zN47/ZzmO39OOltIOMSemocfAiAijRNxmFxWW8suEgSz/8K5/mFXFtl0R+ft8NfH5IVzbuP3HelAWawkBEQinRN3K5BcU8/5f9vLj+AHlnSxnd52p+9Hef4eYByedG0mzPyjsvqY9LSWLBtGFsz8pTohcRzXXTGFSt8ASwaksWL6w7wK4jpykpr+Bzg7rwyMS+1U5XICKiuW4aucrhkQumDaNdyxY8+b+7SNt3grgY494RPXh4Ql9SkttGOkwRaaKU6COsosJp17IFtw3qzINLN1BW4Rhw95CufP/uQXRq1zLSIYpIE6dEHwHHC4r54JNc1uzNYc0nueQWFAOQ1Dae3IIS5k7oyz/ddV2EoxSRaBFWojez/UA+UM7fioqErjfgaeAu4Aww0903B9fdEVwXCyxx9x/XWfRB1fVxN+R86jXtv7S8gi0HT7Fmbw7v781hx5E83OHqNvHc1D+JCf2TaRUfwz+/ufPc8MiJA5N1I1VE6kRtrugnufvF6svdCfQP/owGngNGm1ks8CxwG5AFbDSzt9x91xXEfIHQPu5xKUmszcw997ohVLf/r720mXtHdOeRF9NZm3Gc/OIyYmOM4b068O3PDmDiwGQGd2tPTIydF6+GR4pIXaurrpvJwAseGMKz3sw6mFlXoDeQ4e77AMzs1WDbOk30lcMJH3lhE58b3Jn3dmXz8/uGhp0kr+QTwdmScnp0aM1jt/Zj7gubSEluw0eH86hwWPrhfrp3aMXdQ7sycUAyY1OSaN+qxQW/Q8MjRaQ+hZvoHVhtZg780t0XVVnfHTgU8joruKy65aOr24GZzQXmAvTq1SvMsP5mbN+OnCkp47VNhwGY9Xw6reNjSWqbQFLb+MBjYgLJ5x6Dy9omMKBz2/OuoD/8JJf5r2zmHz43kD9/nE1OfjE5BcXk5BeTnR94zA0+5heXnRfHtqw8el3dmhnjejNxQBIpyW1rnDmyujcTVXgSkboSbqK/0d2PmFkn4D0z2+Pua0LWV5fJ/BLLL1wYePNYBIFx9GHGdc66zOO0SYjj5oGd+OPuY9wztBut4+PILSgmt6CY/ccLST9wkhOFJdVuHx8bw/1L0mjZIpYzJeUA/N9VO85r0zYhjk6JgTeK67q1Y0LbBJITAz/HC4p57s+Z3D/mGl7deIjruibSr1NibQ9DRKTOhZXo3f1I8DHbzFYBo4DQRJ8F9Ax53QM4AsRfZHmdWpuZy/xXtrDwgREX9NFXvSouK6/gRGEJ2fnFwTeBksBjfjEffJLDx8cKGNn7Kr4wtNu5JJ7ctiVJifG0jq/+dK3NzOXHv99zbv/j+yepj11EGo0aE72ZtQFi3D0/+Px24N+qNHsLmB/sgx8N5Ln7p2aWA/Q3sz7AYWAKMK1Oj4Da9XHHxcbQqV3LC8anr83M5Y0th8+Neknp1DbsJK0+dhFpzGqcAsHM+gKrgi/jgJXu/kMzmwfg7guDwysXAHcQGF45y93Tg9vfBfycwPDKZe7+w5qCaugpEKp+ArjUJwIRkcboUlMgaK4bIj8OX0TkSinRi4hEuUsl+piGDkZERBqWEr2ISJRTohcRiXJK9CIiUU6JXkQkyjXKUTfBL1oduMzNk4CLzbIZSYqrdhRX7Siu2onGuK5x9+TqVjTKRH8lzCz9YkOMIklx1Y7iqh3FVTvNLS513YiIRDklehGRKBeNib7qXPmNheKqHcVVO4qrdppVXFHXRy8iIueLxit6EREJoUQvIhLlmnyiN7OfmNkeM9tuZqvMrMNF2t1hZh+bWYaZPdEAcX3FzHaaWYWZXXS4lJntN7OPzGyrmdX7lJ21iKuhz9fVZvaemX0SfLzqIu0a5HzVdPwW8Exw/XYzG15fsdQyrpvNLC94fraa2fcbIKZlZpZtZjsusj5S56qmuBr8XAX329PM/mRmu4P/F79RTZu6PWfu3qR/CFS8igs+fwp4qpo2sUAm0JdAecNtwKB6jus6YCDwZyD1Eu32A0kNeL5qjCtC5+s/gCeCz5+o7t+xoc5XOMcP3AX8nkBd5DFAWgP824UT183A7xrq7ym4zwnAcGDHRdY3+LkKM64GP1fB/XYFhgefJwJ76/vvq8lf0bv7ancvC75cT6AubVWjgAx33+fuJcCrwOR6jmu3u39cn/u4HGHG1eDnK/j7VwSfrwC+WM/7u5Rwjn8y8IIHrAc6mFnXRhBXg3P3NcCJSzSJxLkKJ66IcPdP3X1z8Hk+sBvoXqVZnZ6zJp/oq3iIwLtgVd2BQyGvs7jwxEaKA6vNbJOZzY10MEGROF+d3f1TCPxHADpdpF1DnK9wjj8S5yjcfY41s21m9nszu76eYwpHY/7/F9FzZWa9gWFAWpVVdXrOaiwO3hiY2R+ALtWs+q67/zbY5rtAGfBydb+immVXPK40nLjCcKO7HzGzTsB7ZrYneCUSybga/HzV4tfU+fmqRjjHXy/nqAbh7HMzgTlPCoL1mt8E+tdzXDWJxLkKR0TPlZm1BV4Hvunup6uurmaTyz5nTSLRu/tnL7XezGYAdwO3erCDq4osoGfI6x7AkfqOK8zfcST4mG1mqwh8PL+ixFUHcTX4+TKzY2bW1d0/DX5Ezb7I76jz81WNcI6/Xs7RlcYVmjDc/W0z+4WZJbl7JCfwisS5qlEkz5WZtSCQ5F929zeqaVKn56zJd92Y2R3APwJfcPczF2m2EehvZn3MLB6YArzVUDFejJm1MbPEyucEbixXO0KggUXifL0FzAg+nwFc8MmjAc9XOMf/FvBgcHTEGCCvsuupHtUYl5l1MTMLPh9F4P/48XqOqyaROFc1itS5Cu5zKbDb3f/rIs3q9pw19B3nuv4BMgj0ZW0N/iwMLu8GvB3S7i4Cd7czCXRh1HdcXyLwrlwMHAPerRoXgdET24I/OxtLXBE6Xx2BPwKfBB+vjuT5qu74gXnAvOBzA54Nrv+IS4ysauC45gfPzTYCgxPGNUBMrwCfAqXBv63ZjeRc1RRXg5+r4H7HE+iG2R6St+6qz3OmKRBERKJck++6ERGRS1OiFxGJckr0IiJRToleRCTKKdGLiEQ5JXoRkSinRC8iEuX+P8uspP3k7BpEAAAAAElFTkSuQmCC\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYkAAAEHCAYAAABbZ7oVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAAyq0lEQVR4nO3deXxU9b3/8dcnCWFflACyL2FxQRCIgGjBvWrr0l5aBVTEBbEVa2/3Xfu77W1rb29tXRBQRBSsWqnUumB7K1hZwyq7BBHCmiBLAiHr5/fHnNAhZJIJZDJZ3s/HYx4zZ5vzmUOYz5zz/Z7vx9wdERGR8iTEOwAREam9lCRERCQiJQkREYlISUJERCJSkhARkYiS4h1AdUpJSfEePXrEOwwRkTplxYoV2e7errxl9SpJ9OjRg/T09HiHISJSp5jZp5GW6XKTiIhEpCQhIiIRKUmIiEhEShIiIhKRkoSIiESkJCEiEidTFmSwKCP7pHmLMrKZsiAjThGdSklCRCROBnRpzYOzV51IFIsysnlw9ioGdGkd58j+LaZJwsz6mdnqsMcRM3u4zDpmZn8ws61mttbMBoctu87MNgfLvh/LWEVEqup0zwRKSpzs3HzOapbMxJG9uG9mOvfMXM7EF1bwrWv60jOlOQVFJTHbf1VYTdWTMLNEYBcwzN0/DZt/AzAZuAEYBjzu7sOC9bcA1wCZwHJgjLtviLSPtLQ01810IlJTSn/5PzF2ECNSU/i/Tfv45p/W8PDVfejQqgn7jxwnKzefrJzgEbzOzi2guKTy7942zRqR0qIxKS2Sg+fGtGvZmHYtGpPSMpndh/L47btbeHzMRYzq2/6UeKJlZivcPa28ZTV5x/VVQEZ4ggjcDLzgoWy1xMzamFlHoAew1d23AZjZy8G6EZOEiEhNKSouITkxgVF9U7jj2WUYUBR88T/6139/TSUmGCktkk98uZ/fsRXtWzYJTbdszL4jx/n93z/mlos6MXfVLu79XC/atkgmO6eA7BNJJZ91uw6TnVtAbn7RKbGMf245HVo2prDEq5wgKlOTSeI2YE458zsDO8OmM4N55c0fVnZjM5sITATo1q1bdcUqInKK3YfyWLgliwVbsvjX1mxyjheRYNC+ZWP2HslnRGpb/mNwlxMJoH3LxpzVLJmEBCv3/RZlZPPjv6zj6dsHMyI1hc/3P+fEmcC4Yd3L3SavoDiUPHLzyQ7OSt5YvYuln3zGQ1f2rtYEATWUJMwsGbgJ+EF5i8uZ5xXMP3mG+1RgKoQuN51BmCLSwExZkMGALq1P+mJdlJHN2szDTBqVyvHCYpZ+8hkLt2SxcEsWH+/PBaBj6ybc0L8jI/u2Izkxge+9vpaHruzNi0t30LFNk6i/qNdmHj7pl/+I1BSeGDuItZmHI75H0+REup7djK5nNzsR78f7c0/sf3hq2zp5JnE9sNLd95WzLBPoGjbdBdgNJEeYLyJSLUp7F5V+US/ams0DL63kpoGduPO5ZSzddoD8ohKSkxIY1vNsbr24KyP7tqNP+xaY2SltAMNT21apTWDSqNRT5o1ITYn6S/5M9x+NGmm4DtoT3nX3GeUs+wLwIP9uuP6Duw81syRCDddXEWrwXg6Mdff1kfajhmsRqapFW7O5/8UVdDu7GRv3HKG0PTm1XXNG9m3HyL7tGN6zLU2TE0/ZtrIzkVirrv1X1HAd8yRhZs0ItS30cvfDwbxJAO4+xcwMeAK4DjgGTHD39GC9G4DfA4nAc+7+i4r2pSQhItEqKi7hbx/tYcqCbWzccwSAXu2ac+9lvRjZN4UuZzWLc4Q1J669m9z9GNC2zLwpYa8d+HqEbd8C3oppgCLSoOQVFPNK+k6mfbCNzIN5dGrdhObJidw1ogdzlu+kR0qzBpUgKlOvig6JiERy8GgBMxdvZ+ai7Rw8VsiQ7mdx68VdmfGv7Uwbn8aI1BQu7ZNS7df06zolCRGp1zIPHmP6B5/wp+U7ySss5urz2nP/qFQu7nE2UxZk8MS4qvUuamhq7I7rmqA2CREptXHPEZ5ZkMFf1+7BgJsv6sz9o3rRt0PLeIdW69SWO65FRKpV2d497s5zH37CS0t2sC37KM2TE5kwogd3X9aTTm2axjnauklJQkTqrNL7HP542yBy8gt57N3NZGQdpVWTJL59bV/uGN6D1s0axTvMOk1JQkTqrBGpKXzrmr7cOWMZxSVOgsGES3vwvevOpUmjU+9rkKpTkhCROul4YTH/+/ctTFu4jSaNEjlWUMzXLu/Ntz/fL96h1SsqOiQidc6SbQe4/vEPeGbBNi7v147GSQk8dGVvZi/bcUp9BTkzShIiUmfkHC/kR3M/4rapSygucX50w7ms3nmYJ8cN5j+v7ccTYwedVOlNzpyShIjUCf+3aR/X/u9C5izbwb2X9eSdhz9HsRNxFFWpHrpPQkRqtQO5+fz8zQ28sXo3fTu04Nf/MYBB3c6Kd1j1iu6TEJE6x92Zt2Y3j/51AznHC3n46j587fLeJCfpAkhNUpIQkVpnz+E8fjx3Hf/YtJ+BXdvwm/8YQL9zdKd0PChJiEjclL1juqTE+cVbG5i1eAcJCfDjL5zHhEt7khih/KfEnpKEiMRNeGW4jq2b8sCLK9i0N4cLOrXi6XFD6NZWQ3bHW8yThJm1AaYD/QnVqL7b3ReHLf8OMC4snvOAdu7+mZltB3KAYqAoUsOKiNRNI1JTeGLMIO6dmU5+YTElDhM/15Mf3HAeoXpkEm81cSbxOPCOu482s2TgpJ8G7v4Y8BiAmd0IfNPdPwtb5Qp3V6dnkXoov6iYuat2caygGIC7L+3BD79wfpyjknAx7SZgZq2AkcCzAO5e4O6HKthkDDAnljGJSO1wIDef26cv5dUVmTRtlMjkK3rzl9W7dSNcLRPrvmS9gCxghpmtMrPpZta8vBWDWtjXAX8Om+3AfDNbYWYTI2w30czSzSw9KyuruuMXkRjYvDeHm5/8kNU7DtGicRLP3pXGtz6vO6Zro1gniSRgMPC0uw8CjgLfj7DujcCHZS41Xerug4Hrga+b2ciyG7n7VHdPc/e0du3aVXP4IlLd/rFxH19+6kMKikoYO6wbU+8cojuma7FYt0lkApnuvjSYfo3ISeI2ylxqcvfdwfN+M5sLDAUWxihWEYkhd2faB9v477c30b9Ta6bdmcY5rZucst6I1BSVDq1FYnom4e57gZ1mVjp271XAhrLrmVlrYBTwRti85mbWsvQ1cC2wLpbxikhs5BcV893X1vLLtzZxQ/+OvHL/JeUmCKl9aqJ302TgpaBn0zZggplNAnD3KcE6XwLmu/vRsO06AHODbnBJwGx3f6cG4hWRanQgN59JL65g+faDfOOqPnzjqj4k6Oa4OkMD/IlIzGzem8M9M5eTlZPPb78ykBsHdop3SFIODfAnIjXu/zbtY/LsVTRvnMQr91/CwK5t4h2SnAYlCRGpVu7O9A8+4Zdvb6ywgVrqBiUJETltZQfoyy8qZuIL6SzYks0XLuzIb78ykKbJiXGOUs6EBmYXkdNWOkDfooxsDuTmc9Mf/8WCLdl8eVBn/jhmkBJEPaAzCRE5baU3vz3w4kpK3Mk5XsTkK3vzrWv7Vb6x1AlKEiJyRlo3bcTxwmLyi0r4aloXJYh6RpebROS0bdp7hFufWUxhcQnjL+nO3zfu17hL9YyShIicli37cvjqlMUcKyjmf746kEdv7q8B+uohJQkRqbKt+3MZO20pxSXOb78ykC8N6gJogL76SG0SIlIl27JyGTttCQDzJl9GarsWJy3XAH31i84kRCRq27OPMmbaEopLnDn3DTslQUj9oyQhIlHZ+dkxxk5bQkFRCbPvG06fDi3jHZLUAF1uEpFKZR48xm1Tl3CssJjZ9w6n3zlKEA2FziREpEK7D+UxZtoSco4X8uI9wzi/U6t4hyQ1SElCRCLae/g4Y6ct4dDRQmbdM4z+nVvHOySpYTFPEmbWxsxeM7NNZrbRzC4ps/xyMztsZquDx0/Dll1nZpvNbKuZRSp7KiIxsP9IKEFk5xYw856hGuq7gaqwTcLM/gk48Jm7jz7NfTwOvOPuo4PqdM3KWecDd/9imX0nAk8C1xCqlb3czOa5+ynlT0WkemXl5DN2+lL2HjnOC3cPZXC3s+IdksRJZQ3XdxFKEsWn8+Zm1goYGbwP7l4AFES5+VBgq7tvC97rZeBmyqmRLSLV50BuPuOmL2HXwTyen3AxaT3OjndIEkeVXW56P3i8fprv3wvIAmaY2Sozm25mzctZ7xIzW2Nmb5vZBcG8zsDOsHUyg3knMbOJZpZuZulZWVmnGaaIABw8WsC46UvZ8dkxnr0rjWG92sY7JImzCpOEu/d0917uPuw03z8JGAw87e6DgKNA2baFlUB3dx8I/BH4SzC/vErppxTkdvep7p7m7mnt2rU7zTBFGqYpCzJOjLN0+Fghtz+7lK37c7nlos66a1qAKBuuzWxWNPPKkQlkuvvSYPo1QknjBHc/4u65weu3gEZmlhJs2zVs1S7A7mjiFZHolBYNem/DPu54bimb9+bQtFEiN13UKd6hSS0R7c10F4RPBI3KQyrbyN33mtlOM+vn7puBqyjTpmBm5wD73N3NbCihxHUAOAT0MbOewC7gNmBslPGKSBRGpKbwu68M5N4X0ilxp1lyEs/cOURnEXJCZb2bfgD8EGhqZkdKZxNqfJ4a5T4mAy8FPZu2ARPMbBKAu08BRgMPmFkRkAfc5u4OFJnZg8C7QCLwnLuvr9KnE5EKFZc4Ly3bQVFJ6Eru3Zf2UIKQk1jo+7iSlcz+291/UAPxnJG0tDRPT0+PdxgidYK789M31jNryac0S07k3st68uLSHTwxdpASRQNjZivcPa28ZVFdbnL3H5hZZ6B7+DbuvrB6QhSRmvbMwm3MWvIpTRolMH18GiNSUxie2pYHZ69SopATokoSZvYrQm0CG/j3PRMOKEmI1EFvrN7Fr97exHkdW/LjG84/kRDCiwYpSQhE33D9JaCfu+fHMhgRib1FW7P59qtrGNbzbF64ZyiNkxJPWq6iQRIu2rGbtgGNYhmIiMTepr1HuH/WCnqmNGfqnWmnJAiRsqI9kzgGrDazfwAnzibc/aGYRCUi1W7P4Tzuem45zRonMmPCUFo31e8+qVy0SWJe8BCROujI8ULuem45uflFvHL/JXRu0zTeIUkdEW3vpplm1hToFtwUJyJ1REFRCfe/sIKMrFyenzBURYOkSqIdluNGYDXwTjB9kZnpzEKklispcb772hoWbzvAb0YP4LI+apCWqom24foRQkN3HwJw99VAz5hEJCLV5rH5m/nL6t185/P9+PLgLvEOR+qgaJNEkbsfLjOv8lu1RSRuZi3eztPvZzBuWDe+dnlqvMOROirahut1ZjYWSDSzPsBDwKLYhSUiZ2L++r38bN56rj6vPY/edAFm5Y28L1K5aM8kJhMaCTYfmA0cBh6OUUwicgZW7jjIQy+v4sIubfjDmEEkJca8lL3UY9H2bjoG/Ch4iEgt9Un2Ue6dmU6HVk14dnwazZKjvVggUr5oeze9Z2ZtwqbPMrN3YxaViEQlvLJcdm4+d81YRmFxCdddcA4pLRrHOTqpD6I9D01x90OlE+5+EGgfk4hEJGqlleX+uWkf9zy/nN2H8jBgVD+V8pXqEe25aImZdXP3HQBm1h31bhKJuxGpKTx+20Xc/fxyCoudFo2TmHKHKstJ9Yk2SfwQ+JeZLQimRwITo9kwuEw1HehPKLHc7e6Lw5aPA74XTOYCD7j7mmDZdiCH0PDkRZGKYog0VO7O2+v2UlisynISG5UmCTNLAFoDg4HhhMqXftPds6Pcx+PAO+4+Oihh2qzM8k+AUe5+0MyuJ1QWdVjY8iuqsC+RBuWp9zOYvXQHTRolMPFzvXhx6Q6Gp7ZVopBqU2mScPcSM3vQ3V8B3qzKm5tZK0JnHXcF71VAqD52+PuH32+xBNBtoSJReH1lJo+9u5nkxASevfNiLu2jynJS/aJtuH7PzL5tZl3N7OzSRxTb9QKygBlmtsrMpptZ8wrWvwd4O2zagflmtsLMyr28ZWYTzSzdzNKzsrKi/Dgiddu/Ps7mu6+tpfvZzZg+Po1L+5xaWU6kOph75e3PZvZJObPd3XtVsl0aobODS919qZk9Dhxx95+Us+4VwFPAZe5+IJjXyd13m1l74D1gckV1tdPS0jw9Pb3SzyNSl23YfYSvPrOYLmc15ZVJl9CqiepCyJkxsxWR2nyjvZnudAfzywQy3X1pMP0a8P1yAhxAqHH7+tIEEex3d/C838zmEhpkUHW1pcHafSiPCc8vo0XjJGZMuFgJQmIu2pvpmpnZj81sajDdx8y+WNl27r4X2Glm/YJZVwEbyrx3N+B14A533xI2v7mZtSx9DVwLrIsmXpH66HBeIXfNWMax/GKev/tiOrZW4SCJvWi7wM4AVgAjgulM4FWia8ieDLwU9GzaBkwws0kA7j4F+CnQFngqGISstKtrB2BuMC8JmO3u70QZr0i9kl9UzP2z0vkk+ygzJwzl3HNUOEhqRrRJItXdbzWzMQDunmdRDisZ1J4oe61rStjye4F7y9luGzAwyvhE6q2SEuc7r65lybbP+P2tFzGit3otSc2JtndTQVC+1AHMLJXQiLAiEmO/eXcz89bs5rvX9eOWQZ3jHY40MNGeSfyMUOnSrmb2EnApwb0PIhI7LyzezpQFGdw+vBsPjFLhIKl50fZues/MVvLvO66/obugRWJr/vq9PBIUDnrkRhUOkvioymDzo4DLCF1yagTMjUlEIqLCQVJrRNsF9ilgEvARoW6o95vZk7EMTKShUuEgqU2i/esbBfT34PZsM5tJKGGISDUqLRwEMHPCUBUOkriL9hx2M9AtbLorsLb6wxFpWMIryx0rKDpROOiLAzrSI6WiYc5Eaka0SaItsNHM3jez9wndNd3OzOaZ2byYRSdSz5VWlvvg4ywmz17F2szDNE5K5Lr+58Q7NBEg+stNP41pFCIN1IjUFJ4YM4gJzy8nv6iEZsmJTL1TleWk9oi2C+yCipab2WJ3v6R6QhJpWFZnHiK/qASAey/rqQQhtUp19atrUk3vI9KgzF2VyW/eCRUOmnxFb15cuuNEG4VIbVBdSaLyohQicpIPt2bz7VfXkJRgTBs/hG99vh9PjB3Eg7NXKVFIraE7dETiYOOeI0yatYKzmiXz9O1DGNW3PaDKclL7VNddOhovQCRKew7nMWHGcpo3TuL1r42gU5uT60KMSE1Ru4TUGtHecX19OfMmhU3eUW0RidRjR44Xctdzy8nNL2LGhItPSRAitU20l5t+YmZXlk6Y2feAm0un3T1ixTgza2Nmr5nZJjPbaGaXlFluZvYHM9tqZmvNbHDYsuvMbHOw7JSypyJ1SUFRCfe/sIKMrFyeuWMI53VU4SCp/aK93HQT8KaZfQe4Djg3mBeNx4F33H10UJ2uWZnl1wN9gscw4GlgmJklAk8C1xCqhLfczOa5+wZE6piSEue7r61h8bYD/O6rA7lUhYOkjoj2PolsM7sJ+DuhMqajS8dxqoiZtQJGEtSecPcCoKDMajcDLwTvtyQ48+gI9AC2BhXqMLOXg3WVJKTOeWz+Zv6yejff+Xw/vjy4S7zDEYlahZebzCzHzI6YWQ6wFegLfAU4YmZHonj/XkAWMMPMVpnZdDMrOyBNZ2Bn2HRmMC/S/LIxTjSzdDNLz8rKiiIkkZo1a/F2nn4/g3HDuvG1y1U4SOqWCpOEu7d091Zhz03cvUXpdBTvnwQMBp5290HAUaBs20J5PaO8gvllY5zq7mnuntauXbsoQhKpOe9t2MfP5q3nqnPb8+hNKhwkdU+0vZveMLMx5ZwFVCYTyHT3pcH0a4SSRtl1uoZNdwF2VzBfpE5YteMgk+es5MLOrfnjWBUOkrop2r/a3wGfAzaY2atmNtrMKh2Kw933AjvNrF8w6ypObVOYB9wZ9HIaDhx29z3AcqCPmfUMGrxvC9YVqfW2Zx/lnpnptG/ZhGfvuliFg6TOqsoAfwuCHkdXAvcBzwHRXHKaDLwUfNFvAyaU3mPh7lOAt4AbCLV5HAMmBMuKzOxB4F0gEXjO3ddX4bOJxMWB3HzGz1iGuzPzbhUOkrot6p83ZtYUuBG4ldAlo5nRbOfuq4G0MrOnhC134OsRtn2LUBIRqRPyCoq5e2Y6ew8fZ87E4fRU4SCp46Jtk/gTsJHQWcSTQKq7T45lYCJ1QXhluaLiEibPWcmanYf4woCODO52VpyjEzlz0Z5JzADGuntxLIMRqWtKK8s9MWYQb63bw9837qdZciKjh+heCKkfKkwSZjYyeHlICULkVKWjtt7zfDp5hcU0aZTA9PFpGqBP6o3KziQmELo34TCwJPbhiNQ9+4/kk1cY+g1132W9lCCkXqksSbwfPB+LcRwiddKirdl869XVJCUYE0f24qVlO7ikd1slCqk3KksSPYLnnBjHIVLnbNp7hHtmLgeHp+8YwjXnd+CyPimhNoqxg5QopF6oMEm4+6M1FYhIXbLncB53PbecxATj97cN4przOwAnV5ZTkpD6QLeBilTRkeOFTJgRKhz0yv0jOL/TyfeUqrKc1CcaTEakCgqKSpg0awVb9+cy5fYhpyQIkfqmsqHCvxE8X1oz4YjUXu6hwkGLMg7wm9EDuKyPzhak/qvsTGJC8PzHWAciUts99q4KB0nDU1mbxEYz2w60M7O1YfON0LBLA2IWmUgtMmvJpzz1fgZjVThIGpjKejeNMbNzCI3EGm1Na5F65b0N+/jZG+u46tz2/FyFg6SBqbR3U1ATYmAw1HffYPZmdy+MaWQitcDqnYeYPGcl/VU4SBqoqLrAmtko4AVgO6FLTV3NbLy7L4xhbCJxtT37KPc8vzxUOGi8CgdJwxTtX/3vgGvdfTOAmfUF5gBDKtswaNPIAYqBIndPK7P8O8C4sHjOA9q5+2eVbSsSKwdy87lrxjJK3Hl+wsW0a6nCQdIwRZskGpUmCAB332JmjaqwnyvcPbu8Be7+GPAYgJndCHzT3T+LZluRWMgrKOaemensOXyc2fcNp1e7FvEOSSRuok0S6Wb2LDArmB4HrIhBPGMInaGIxEVxiTN5zirWZB7i6XFDGNJdhYOkYYu2Fe4BYD3wEPANYAMwKcptHZhvZivMbGKklcysGXAd8OeqbityusIry7k7j8xbz9837uPqcztwXf9z4hydSPxFdSbh7vmE2iV+dxr7uNTdd5tZe+A9M9sUocH7RuDDMpeaKt02SB4TAbp163Ya4UlDdqKyXDAo36wln9KkUQITLusR79BEagVz95rbmdkjQK67/7acZXOBV919dlW3LZWWlubp6enVFK00FIsysrnvhXSO5heTnJjAjLsu5lINuSENiJmtiNQxKKadvs2suZm1LH0NXAusK2e91sAo4I2qbitSHfIKQpXl7v1cTyUIkTBVShLBl3VVdAD+ZWZrgGXA39z9HTObZGbhbRpfAua7+9HKtq3i/kUqtGnvEe55fjkGTBzZi5eX7zzRRiEiUV5uMrMRwHSghbt3M7OBwP3u/rVYB1gVutwkVbHncB5f+MMHHDxWyOO3DeKmgZ1YlJGtynLS4FTH5ab/BT4PHABw9zXAyOoJT6TmnSgcdLyYX95yITcN7AScXFlORKpQmc7dd5YZ2Ky4+sMRib3wwkHPTxh6Sl0IVZYT+bdok8TO4JKTBwP9PQRsjF1YIrFRUvLvwkG/++pAFQ4SqUS0l5smAV8HOgOZwEXBtEid8th8FQ4SqYpob6bL5t+D8InUSbMWb+dpFQ4SqZJohwqfQWiIjJO4+93VHpFIDMxfv5efzVvP1eepcJBIVUTbJvFm2OsmhO5r2F394YhUv5U7DvLQy6u4sEsb/jBGhYNEqiLay03hg+5hZnOAv8ckIpFq9En2Ue6dmU6HVk14dnyaCgeJVNHp/qTqA2g0PanVsoPCQQAzJwwlpYUKB4lUVbRtEjmE2iQseN4LfC+GcYmckWMFRdzz/HL2HTnOnPuG0yOlqiPKiAhEf7mpZawDEakuRcUlTJ69io92HeaZO9IY1E2Fg0ROV4VJwswGV7Tc3VdWbzgiZ8bd+em89fxj037+3y39ueb8DvEOSaROq+xM4n8qWObAldUYi8gZe+r9DGYv3cEDl6dyx/Du8Q5HpM6rMEm4+xU1FYjI6ZiyIIMBXVozIjWF11dm8ti7m7k0tS2tmqgXk0h1iPp/kpn1B84ndJ8EAO7+QiyCEolWafnR+0f24rF3N3NBp1Zs2HOEr1/ZO96hidQL0fZu+hlwOaEk8RZwPfAvQElC4mpEagoPXdWHR+atp23zZHYfyuPJcYM1iqtINYn2PonRwFXAXnefAAwEoup0bmbbzewjM1ttZqdUBDKzy83scLB8tZn9NGzZdWa22cy2mtn3o4xVGpBVOw7y23c306ZpIw4cLeCO4d2VIESqUbSXm/LcvcTMisysFbAf6FWF/VwRDBIYyQfu/sXwGWaWCDwJXENo5NnlZjbP3TdUYb9Sj63NPMSdzy2jWXIiBUUlPHRlb15cuoPhqW2VKESqSbRJIt3M2gDTgBVALqG607E0FNjq7tsAzOxl4GZASUJYt+swdzy7jMZJCRQUlfDU7aFLTMNT26r8qEg1qvByk5k9YWYj3P1r7n7I3acQ+mU/PrjsFA0H5pvZCjObGGGdS8xsjZm9bWYXBPM6AzvD1skM5pWNcaKZpZtZelZWVpQhSV22cc8Rbn92KS0aJzF6SJcTCQJUflSkulV2JvEx8D9m1hH4EzDH3VdXcR+XuvtuM2sPvGdmm9x9YdjylUB3d881sxuAvxAaG6q8sZzLG658KjAVIC0t7ZTlUr9s3pvDuOlLaZKUyOz7htG97anDbaj8qEj1qfBMwt0fd/dLgFHAZ8AMM9toZj81s77R7MDddwfP+4G5hC4jhS8/4u65weu3gEZmlkLozKFr2Kpd0PDkDdrW/TmMm76EpARjzsTh5SYIEaleUfVucvdP3f3X7j4IGEuonkSlNa7NrLmZtSx9DVwLrCuzzjkWVIAxs6FBTAeA5UAfM+sZ1NW+DZgX9SeTeiUjK5cx05YCoQTRUwP2idSIaO+TaARcR+iL+ipgAfBoFJt2AOYGOSAJmO3u75jZJICgjWM08ICZFQF5wG3u7kCRmT0IvAskAs+5+/qqfDipH7ZnH2XstCWUlDgvTxxOarsW8Q5JpMGw0PdxhIVm1wBjgC8Q6s30MvAXdz9aM+FVTVpamqenn3IrhtRhOw4c49api8kvKmHOfcPpd44GJBapbma2wt3TyltW2ZnED4HZwLfd/bNqj0ykApkHjzFm2hLyCouZfa8ShEg8aIA/qZV2H8pjzLQl5BwvZPZ9wzm/U6t4hyTSIKkivNQ6ew8fZ8y0JRw6Wsise4bRv3PreIck0mBpPGWpVfYfOc7YaUs4kFvAC/cMZWDXNvEOSaRB05mExNWUBRksyggN65WVk8+YaUvYdSiPWy7qxGCVHRWJOyUJiavSehDvrNvDuOlL2PlZHslJCdwwoGO8QxMRdLlJ4mxEagqP3Hg+X39pFZjTLDmJZ+4YomE1RGoJnUlIXK349CA/f3MDiQlQXAITRvRQghCpRZQkJG5eX5nJmKlLSEwwmiYnnagHUdpGISLxpyQhNa6kxPn1O5v4z1fW0Lt9CwqKSnj69sH857X9eGLsIB6cvUqJQqSWUJuE1Kij+UU8/KfVvLdhH2OHdaNzm6YM6tam3HoQuuwkEn9KElJjMg8e496Z6WzZl8MjN57P+BE9CAZ/PInqQYjUHkoSUiNWfHqQ+2elk19UwowJQxnVt128QxKRKChJSMy9vjKT7//5Izq2acLLEy+md3sN9S1SVyhJSMyUlDiPzd/M0+9ncEmvtjw1bjBnNU+Od1giUgUxTxJmth3IAYqBorJjlpvZOOB7wWQu8IC7r4lmW6m9yjZQP3rTBTRKVGc6kbqmps4krnD3SH0aPwFGuftBM7semAoMi3JbqYV2Hcrj3pnpbN57pMIGahGp/eJ+ucndF4VNLgG6xCsWqbopCzIY0KX1id5IKz49yIQZyziuBmqReqEmzv8dmG9mK8xsYiXr3gO8XZVtzWyimaWbWXpWVlY1hSzRKh2gb1FGNq+vzOTWZxaTm1/EL2/prwQhUg9UWOO6WnZg1sndd5tZe+A9YLK7LyxnvSuAp4DL3P1AVbYtpRrX8bFwSxYTZ6VzvLCEpATjqXGDufaCc+IdlohEqaIa1zE/k3D33cHzfmAuMLTsOmY2AJgO3FyaIKLdVuJr9c5D/OJvGzleWALA/aN6KUGI1CMxTRJm1tzMWpa+Bq4F1pVZpxvwOnCHu2+pyrYSP3kFxfzXmxv48lMfkpV7nBaNQwP0zVm2U+MuidQjsW647gDMDXq2JAGz3f0dM5sE4O5TgJ8CbYGngvVKu7qWu22M45UoLNqazfdf/4gdnx3j6vPas+LTg0y9M1QDYnhqWx6cvYonxg7S0Boi9UDM2yRqktokYutwXiH//dZGXl6+k54pzfnVly9k1c5DJ/VuAliUkc3azMNMGpUax2hFJFoVtUnEvQus1A3z1+/lx39Zx4GjBUwalcrDV/ehSaNEhvVqe8q6GqBPpP5QkpAKZefm88i89by5dg/ndWzFs+Mv5sIureMdlojUECUJKZe7M3fVLn7+5gaO5Rfznc/3Y+LIXhpaQ6SBUZKQU+w6lMeP5n7E+5uzGNL9LH79HxfSu33LeIclInGgJNHAhQ+rUVLivLT0U37xt40Uu/PoTRdwx/DuJCRo3CWRhkpJooErHVbjhzecy5+W72T59oMkJRr/M3ogNw/qHO/wRCTOlCQauLOaJXPeOS359qtraZyUQPPkRKbdmcaI3uqdJCJKEg2Su7P0k8+YsiCD9zdn0Tw5kUFd27Bq5yHuv7K3EoSInKAk0YAUlzjvbdjL0wu2sWbnIVJaJPOdz/ejb/uWfO/1tTx0ZW9eXLqD4altdZ+DiABKEg1CflExr6/cxbSF29iWfZTubZvxX7f0Z/SQLqzccfCkYTQ0rIaIhFOSqMeOHC/kpSU7eO7DT8jKyad/51Y8MXYQ1/fvSGLQY2lt5uGTEsKI1BSeGDuItZmHlSRERGM31XVlK8MB/G3tbl5Y/Cnrdx8hN7+Iz/VJYdKoVEaktlUZURE5hcZuqsdKu7A+MXYQHVo14f/9dQPvb8nCgC8M6MikUan076xhNETk9ChJ1HFdz2rGlwZ1YvxzyygsDp0VXn1ee37yxfPp3rZ5nKMTkbpOSaKOySsoZsknB1iwOYuFH2exLesoAC0bJ1FYXMS9l/Xkx188P85Rikh9EfMkYWbbgRygmH8XFApfbsDjwA3AMeAud18ZLLsuWJYITHf3X8U63ppWXptCeD0Gd+fj/bknksLSTz6joKiExkkJDO/VltuHdadVkyR++fYmHro01IX1yvPaq9FZRKpFTZ1JXOHukWpaXg/0CR7DgKeBYWaWCDwJXANkAsvNbJ67b6jOwCr7ko618DaFEakpLMrI5usvreTOS3rw3dfWsHBLNnuPHAegb4cW3Dm8OyP7tmNoz7Np0iiRRRnZ6sIqIjFTGy433Qy84KFuVkvMrI2ZdQR6AFvdfRuAmb0crFutSaL0S/qbV/fh8n7tycjK5T9fWcMTYwdFtf2ZJpmBXdrwky+cx/2zVnB+x1as+PQgxSXO4//4mJZNkvhcnxRG9mnHyL7t6NSm6SnbqwuriMRSTSQJB+abmQPPuPvUMss7AzvDpjODeeXNH1bdwY1ITeG3XxnA3c+nA+sBaNoogR/NXUdKi2RSWjQmpUVj2rVsHLxOJqVlY9oF8yOdCfzXLf1Zt+swWTn57M85TlZOfuiRm3/i9f6cfI4VFJ+IZeknn9GhVWNuTevKqH7tGNilDUmV1G8oLxGpMpyIVJeaSBKXuvtuM2sPvGdmm9x9Ydjy8jruewXzT2JmE4GJAN26dTu9AHuncOOAjvx17R4u6dWWfue0JCs3n+ycfLbsy2FRxgEO5xWWu22Lxkk0b5zInc8uo3XTRnx2tAAHvj571SnrtmqSRLuWoYRzYZc2tA9eHz5WyItLP+W2i7vy55W7GJ7aliHdzz6tzyIiUp1iniTcfXfwvN/M5gJDgfAkkQl0DZvuAuwGkiPML/v+U4GpELqZ7nRiXPHpQT7MOHBi7KLJV/U+5Zd4QVEJB46GzgCyc/PJzikIJZLcfLJzC1i14yCZB/Po37kVV53b4UQyaNeyMe2Ds5AmjRJP2Xdpm8IzdwxhRGoKV5zbXm0KIlJrxDRJmFlzIMHdc4LX1wI/L7PaPODBoM1hGHDY3feYWRbQx8x6AruA24Cx1R1jtA2/yUkJdGzdlI6tT20XWJSRzYdbs08kmWG9zo76C15tCiJSm8V0WA4z6wXMDSaTgNnu/gszmwTg7lOCLrBPANcR6gI7wd3Tg+1vAH5PqAvsc+7+i4r2dzrDcpxpw3PZJFN2WkSktqtoWA6N3XSG4t2FVkTkTClJiIhIRBUliYr7V4qISIOmJCEiIhEpSYiISERKEiIiEpGShIiIRFSvejcFN+B9egZvkQJEGq02nhRX1SiuqlFcVVMf4+ru7u3KW1CvksSZMrP0SN3A4klxVY3iqhrFVTUNLS5dbhIRkYiUJEREJCIliZOVrXVRWyiuqlFcVaO4qqZBxaU2CRERiUhnEiIiEpGShIiIRNSgk4SZPWZmm8xsrZnNNbM2Eda7zsw2m9lWM/t+DcT1FTNbb2YlZhaxS5uZbTezj8xstZnFfPjbKsRV08frbDN7z8w+Dp7PirBejRyvyj6/hfwhWL7WzAbHKpYqxnW5mR0Ojs9qM/tpDcT0nJntN7N1EZbH61hVFleNH6tgv13N7J9mtjH4v/iNctap3mPm7g32QahSXlLw+tfAr8tZJxHIAHoRKqm6Bjg/xnGdB/QD3gfSKlhvO5BSg8er0rjidLx+A3w/eP398v4da+p4RfP5gRuAtwnVcR8OLK2Bf7to4roceLOm/p6CfY4EBgPrIiyv8WMVZVw1fqyC/XYEBgevWwJbYv331aDPJNx9vrsXBZNLCNXRLmsosNXdt7l7AfAycHOM49ro7ptjuY/TEWVcNX68gvefGbyeCdwS4/1VJJrPfzPwgocsAdqYWcdaEFeNc/eFwGcVrBKPYxVNXHHh7nvcfWXwOgfYCHQus1q1HrMGnSTKuJtQ9i2rM7AzbDqTU/9R4sWB+Wa2wswmxjuYQDyOVwd33wOh/0RA+wjr1cTxiubzx+MYRbvPS8xsjZm9bWYXxDimaNTm/39xPVZm1gMYBCwts6haj1nS6W5YV5jZ34Fzyln0I3d/I1jnR0AR8FJ5b1HOvDPuNxxNXFG41N13m1l74D0z2xT8AopnXDV+vKrwNtV+vMoRzeePyTGqRDT7XEloDJ/coL78X4A+MY6rMvE4VtGI67EysxbAn4GH3f1I2cXlbHLax6zeJwl3v7qi5WY2HvgicJUHF/TKyAS6hk13AXbHOq4o32N38LzfzOYSuqRwRl961RBXjR8vM9tnZh3dfU9wWr0/wntU+/EqRzSfPybH6EzjCv+ycfe3zOwpM0tx93gOZhePY1WpeB4rM2tEKEG85O6vl7NKtR6zBn25ycyuA74H3OTuxyKsthzoY2Y9zSwZuA2YV1MxRmJmzc2sZelrQo3w5fbEqGHxOF7zgPHB6/HAKWc8NXi8ovn884A7g14ow4HDpZfLYqjSuMzsHDOz4PVQQt8PB2IcV2XicawqFa9jFezzWWCju/8uwmrVe8xqunW+Nj2ArYSu3a0OHlOC+Z2At8LWu4FQL4IMQpddYh3Xlwj9GsgH9gHvlo2LUC+VNcFjfW2JK07Hqy3wD+Dj4PnseB6v8j4/MAmYFLw24Mlg+UdU0IOthuN6MDg2awh15BhRAzHNAfYAhcHf1j215FhVFleNH6tgv5cRunS0Nux764ZYHjMNyyEiIhE16MtNIiJSMSUJERGJSElCREQiUpIQEZGIlCRERCQiJQkREYlISUJqDTNrGzb08l4z2xU2nRzHuH5uZlcHrx82s2Zhy96yCEPMV3Efj5jZXWb2vJldXt6+ahMLDbvew8zej3csElv1flgOqTvc/QBwEYS+NIFcd/9tPGMCcPfwWgEPAy8Cx4JlN8Rw1yftSyQedCYhtZqZ3Wdmy4PRNv9c+ss6+MU9xcw+MLMtZvbFcra93MwWWqig1IZg/YRg2RgLFSBaZ2a/DuYlBu+7Llj2zbB9jTazhwjdxf1PM/tnsGy7maUEr/8z2HadmT0czOthoQIx0yxUJGa+mTUt56PmAnnAYaAgwr6eNrP04H0eDfuc283s12a2LHj0ruB4lnvczKyJmc0IPvcqM7simH9B8J6rLVTApnQQuyygmFo4nLZUs5q4lVwPPar6AB4Bvg20DZv3X8Dk4PXzwDuEfuj0ITR0QpMy73E5cJzQkByJwHvAaEJfvjuAdoTOpv+PUA2KIcB7Ydu3CdvX6OD1dsIKF5VOB9t+BDQHWhAasmEQ0IPQCMMXBeu/Atwe5TEou6/S4UYSCRV+GhC2XukwG3dSQTGcSMcN+BYwI1jn3OD4NAH+CIwL5icDTeP9t6FHzT50JiG1Xf/gV+9HwDggfNz+V9y9xN0/BrYR+nIra5mHCu0UExqP5zLgYuB9d8/yUNGplwhVItsG9DKzP1po8MeyQzBX5DJgrrsfdfdc4HXgc8GyT9x9dfB6BaHEcTq+amYrgVWEjsP5YcvmhD1fUsn7lHfcLgNmAbj7JuBToC+wGPihmX2P0NDYeacZu9RRShJS2z0PPOjuFwKPEvp1W6rswGPlDURW3jrljbePux8EBhL6lf51YHoV4iz3PQP5Ya+LOY22QDPrSejM6ip3HwD8jcjHorIB2apyTGYDNxG6FPaumV1Zlbil7lOSkNquJbDHQmPojyuz7CtmlmBmqYQuKZVXWnVoMDx2AnAr8C9ClbxGmVmKmSUCY4AFQdtCgrv/GfgJoRrHZeUEMZW1ELjFzJpZaCjyLwEfVPnTRt5XK+AocNjMOgDXl1n31rDnxZW8b3nHbSHB8TWzvkA3YLOZ9QK2ufsfCA1BPeDMPpLUNerdJLXdTwh9qX9K6Jp/+Bf0ZmAB0IHQMMnHy9l+MfAr4EJCX4Rz3b3EzH4A/JPQL+i33P0NMxsIzCht3AZ+UM77TQXeNrM97n5F6Ux3X2lmzwPLglnT3X2VhUpMnq6T9mVmqwi1dWwDPiyzbmMzW0roh9+YSt73lONmZk8BU4LLekXAXe6eb2a3ArebWSGwF/j5GXweqYM0VLjUScEX8pvu/loF61wOfNvdT+n5VJ+Y2XZCNQMqrYoWzXETCafLTSIiEpHOJETqITP7EfCVMrNfdfdfxCMeqbuUJEREJCJdbhIRkYiUJEREJCIlCRERiUhJQkREIvr/ZUrfOjksozUAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] @@ -1326,7 +1336,8 @@ } ], "source": [ - "pp.control.plot_characteristic(net2.characteristic.object.at[0], -2, 2)" + "pp.control.plot_characteristic(net2.characteristic.object.at[0], -2, 2,\n", + " xlabel='Tap position \"tap_pos\"', ylabel='Value of \"vk_percent\"')" ] }, { @@ -1353,6 +1364,142 @@ "cell_type": "code", "execution_count": 34, "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
namestd_typehv_buslv_bussn_mvavn_hv_kvvn_lv_kvvk_percentvkr_percentpfe_kw...tap_step_percenttap_step_degreetap_postap_phase_shifterparalleldfin_servicetap_dependent_impedancevk_percent_characteristicvkr_percent_characteristic
0None0.25 MVA 20/0.4 kV120.2520.00.46.01.440.8...2.50.02False11.0TrueTrue01
1None0.25 MVA 20/0.4 kV130.2520.00.46.01.440.8...2.50.02False11.0TrueFalse<NA><NA>
\n", + "

2 rows × 26 columns

\n", + "
" + ], + "text/plain": [ + " name std_type hv_bus lv_bus sn_mva vn_hv_kv vn_lv_kv \\\n", + "0 None 0.25 MVA 20/0.4 kV 1 2 0.25 20.0 0.4 \n", + "1 None 0.25 MVA 20/0.4 kV 1 3 0.25 20.0 0.4 \n", + "\n", + " vk_percent vkr_percent pfe_kw ... tap_step_percent tap_step_degree \\\n", + "0 6.0 1.44 0.8 ... 2.5 0.0 \n", + "1 6.0 1.44 0.8 ... 2.5 0.0 \n", + "\n", + " tap_pos tap_phase_shifter parallel df in_service \\\n", + "0 2 False 1 1.0 True \n", + "1 2 False 1 1.0 True \n", + "\n", + " tap_dependent_impedance vk_percent_characteristic \\\n", + "0 True 0 \n", + "1 False \n", + "\n", + " vkr_percent_characteristic \n", + "0 1 \n", + "1 \n", + "\n", + "[2 rows x 26 columns]" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "net.trafo" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, "outputs": [ { "name": "stderr", @@ -1370,7 +1517,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 36, "metadata": {}, "outputs": [ { @@ -1387,6 +1534,295 @@ "source": [ "pp.control.trafo_characteristics_diagnostic(net6)" ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
namestd_typehv_buslv_bussn_mvavn_hv_kvvn_lv_kvvk_percentvkr_percentpfe_kw...tap_step_percenttap_step_degreetap_postap_phase_shifterparalleldfin_servicetap_dependent_impedancevk_percent_characteristicvkr_percent_characteristic
0None0.25 MVA 20/0.4 kV120.2520.00.46.01.440.8...2.50.02False11.0TrueTrue01
1None0.25 MVA 20/0.4 kV130.2520.00.46.01.440.8...2.50.02False11.0TrueFalse<NA><NA>
2None0.25 MVA 20/0.4 kV120.2520.00.46.01.440.8...2.50.02False11.0TrueTrue<NA><NA>
\n", + "

3 rows × 26 columns

\n", + "
" + ], + "text/plain": [ + " name std_type hv_bus lv_bus sn_mva vn_hv_kv vn_lv_kv \\\n", + "0 None 0.25 MVA 20/0.4 kV 1 2 0.25 20.0 0.4 \n", + "1 None 0.25 MVA 20/0.4 kV 1 3 0.25 20.0 0.4 \n", + "2 None 0.25 MVA 20/0.4 kV 1 2 0.25 20.0 0.4 \n", + "\n", + " vk_percent vkr_percent pfe_kw ... tap_step_percent tap_step_degree \\\n", + "0 6.0 1.44 0.8 ... 2.5 0.0 \n", + "1 6.0 1.44 0.8 ... 2.5 0.0 \n", + "2 6.0 1.44 0.8 ... 2.5 0.0 \n", + "\n", + " tap_pos tap_phase_shifter parallel df in_service \\\n", + "0 2 False 1 1.0 True \n", + "1 2 False 1 1.0 True \n", + "2 2 False 1 1.0 True \n", + "\n", + " tap_dependent_impedance vk_percent_characteristic \\\n", + "0 True 0 \n", + "1 False \n", + "2 True \n", + "\n", + " vkr_percent_characteristic \n", + "0 1 \n", + "1 \n", + "2 \n", + "\n", + "[3 rows x 26 columns]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
namestd_typehv_busmv_buslv_bussn_hv_mvasn_mv_mvasn_lv_mvavn_hv_kvvn_mv_kv...tap_at_star_pointin_servicevk0_hv_percentvk0_mv_percentvk0_lv_percentvkr0_hv_percentvkr0_mv_percentvkr0_lv_percentvector_grouptap_dependent_impedance
0NoneNone1540.60.50.420.00.9...FalseTrueNaNNaNNaNNaNNaNNaNNaNTrue
\n", + "

1 rows × 38 columns

\n", + "
" + ], + "text/plain": [ + " name std_type hv_bus mv_bus lv_bus sn_hv_mva sn_mv_mva sn_lv_mva \\\n", + "0 None None 1 5 4 0.6 0.5 0.4 \n", + "\n", + " vn_hv_kv vn_mv_kv ... tap_at_star_point in_service vk0_hv_percent \\\n", + "0 20.0 0.9 ... False True NaN \n", + "\n", + " vk0_mv_percent vk0_lv_percent vkr0_hv_percent vkr0_mv_percent \\\n", + "0 NaN NaN NaN NaN \n", + "\n", + " vkr0_lv_percent vector_group tap_dependent_impedance \n", + "0 NaN NaN True \n", + "\n", + "[1 rows x 38 columns]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "hp.pandapower.control.util.auxiliary - INFO: Checking trafo characteristics\n", + "hp.pandapower.control.util.auxiliary - INFO: trafo: found 2 trafos with tap-dependent impedance\n", + "hp.pandapower.control.util.auxiliary - WARNING: Some transformers in trafo table have tap_dependent_impedance set to True, but no defined characteristics. Power flow calculation will raise an error.\n", + "hp.pandapower.control.util.auxiliary - INFO: trafo: vk_percent_characteristic is missing for some trafos\n", + "hp.pandapower.control.util.auxiliary - INFO: trafo: vkr_percent_characteristic is missing for some trafos\n", + "hp.pandapower.control.util.auxiliary - INFO: trafo3w: found 1 trafos with tap-dependent impedance\n", + "hp.pandapower.control.util.auxiliary - WARNING: No columns defined for transformaer tap characteristics in trafo3w. Power flow calculation will raise an error.\n", + "hp.pandapower.control.util.auxiliary - INFO: trafo3w: vk_hv_percent_characteristic is missing\n", + "hp.pandapower.control.util.auxiliary - INFO: trafo3w: vkr_hv_percent_characteristic is missing\n", + "hp.pandapower.control.util.auxiliary - INFO: trafo3w: vk_mv_percent_characteristic is missing\n", + "hp.pandapower.control.util.auxiliary - INFO: trafo3w: vkr_mv_percent_characteristic is missing\n", + "hp.pandapower.control.util.auxiliary - INFO: trafo3w: vk_lv_percent_characteristic is missing\n", + "hp.pandapower.control.util.auxiliary - INFO: trafo3w: vkr_lv_percent_characteristic is missing\n" + ] + } + ], + "source": [ + "# let's make some invalid configurations\n", + "# missing any characteristic\n", + "pp.create_transformer(net, hv_bus=net.trafo.at[0, 'hv_bus'], \n", + " lv_bus=net.trafo.at[0, 'lv_bus'], std_type=\"0.25 MVA 20/0.4 kV\", tap_pos=2, \n", + " tap_dependent_impedance=True)\n", + "add_trafo_connection(net, net.trafo.at[0, 'hv_bus'], \"3W\")\n", + "# missing columns for characteristics\n", + "net.trafo3w['tap_dependent_impedance'] = True\n", + "\n", + "display(net.trafo)\n", + "display(net.trafo3w)\n", + "\n", + "# diagnostic\n", + "pp.control.trafo_characteristics_diagnostic(net)" + ] } ], "metadata": { From 0177919e76a27a3cb8287d4cb61c351dd7eafcd1 Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Thu, 9 Dec 2021 19:52:52 +0100 Subject: [PATCH 363/422] added a check of "single index mode" or "multiple index mode" for the convenience function create_trafo_characteristics, added a test. Added checks in the diagnostic for deviation of the characteristic value at the neutral point from the element table parameter. Updated the tutorial. --- pandapower/control/util/auxiliary.py | 63 ++++++++++---- pandapower/test/api/test_auxiliary.py | 74 +++++++++++++++++ tutorials/tap_dependent_impedance.ipynb | 106 ++++++++++++++---------- 3 files changed, 183 insertions(+), 60 deletions(-) diff --git a/pandapower/control/util/auxiliary.py b/pandapower/control/util/auxiliary.py index b3c982426..b83d37972 100644 --- a/pandapower/control/util/auxiliary.py +++ b/pandapower/control/util/auxiliary.py @@ -4,6 +4,7 @@ # and Energy System Technology (IEE), Kassel. All rights reserved. import sys import numpy as np +import pandas as pd from pandas import Int64Index, Series from pandapower.auxiliary import soft_dependency_error @@ -209,34 +210,46 @@ def plot_characteristic(characteristic, start, stop, num=20, xlabel=None, ylabel plt.ylabel(ylabel) def create_trafo_characteristics(net, trafotable, trafo_index, variable, x_points, y_points): - # first, set the missing columns - columns = {"trafo": ["vk_percent_characteristic", "vkr_percent_characteristic"], - "trafo3w": [f"vk{r}_{side}_percent_characteristic" for side in ["hv", "mv", "lv"] for r in ["", "r"]]} + # create characteristics for the specified variable and set their indices in the trafo table + col = f"{variable}_characteristic" + # check if the variable is a valid attribute of the trafo table + supported_columns = {"trafo": ["vk_percent_characteristic", "vkr_percent_characteristic"], + "trafo3w": [f"vk{r}_{side}_percent_characteristic" for side in ["hv", "mv", "lv"] for r in ["", "r"]]} + if col not in supported_columns[trafotable]: + raise UserWarning("Variable %s is not supported for table %s" % (variable, trafotable)) + + # check inputs, check if 1 trafo or multiple, verify shape of x_points and y_points and trafo_index + if hasattr(trafo_index, '__iter__'): + single_mode = False + if not (len(trafo_index) == len(x_points) == len(y_points)): + raise UserWarning("The lengths of the trafo index and points do not match!") + else: + single_mode = True + if (len(x_points) != len(y_points)): + raise UserWarning("The lengths of the points do not match!") if 'tap_dependent_impedance' not in net[trafotable]: net[trafotable]['tap_dependent_impedance'] = Series(index=net[trafotable].index, dtype=np.bool_, data=False) - for c in columns[trafotable]: - if c not in net[trafotable]: - net[trafotable][c] = Series(index=net[trafotable].index, dtype="Int64") - - # check shape of input data - if len(trafo_index) != len(x_points) or len(trafo_index) != len(y_points): - raise UserWarning("the lengths of the trafo index and points do not match!") + if col not in net[trafotable]: + net[trafotable][col] = Series(index=net[trafotable].index, dtype="Int64") # set the flag for the trafo table net[trafotable].loc[trafo_index, 'tap_dependent_impedance'] = True - # create characteristics for the specified variable and set their indices in the trafo table - col = f"{variable}_characteristic" + if single_mode: + zip_params = zip([trafo_index], [x_points], [y_points]) + else: + zip_params = zip(trafo_index, x_points, y_points) - for tid, x_p, y_p in zip(trafo_index, x_points, y_points): + for tid, x_p, y_p in zip_params: + # create the characteristic and set its index in the trafotable s = SplineCharacteristic(net, x_p, y_p) net[trafotable].at[tid, col] = s.index def trafo_characteristics_diagnostic(net): - logger.info("Checking trafo characteristics") + logger.info("Checking transformer characteristics") cols2w = ["vk_percent_characteristic", "vkr_percent_characteristic"] cols3w = [f"vk{r}_{side}_percent_characteristic" for side in ["hv", "mv", "lv"] for r in ["", "r"]] for trafo_table, cols in zip(["trafo", "trafo3w"], [cols2w, cols3w]): @@ -247,9 +260,9 @@ def trafo_characteristics_diagnostic(net): continue # check if there are any missing characteristics tap_dependent_impedance = net[trafo_table]['tap_dependent_impedance'].values - logger.info(f"{trafo_table}: found {sum(tap_dependent_impedance)} trafos with tap-dependent impedance") + logger.info(f"{trafo_table}: found {sum(tap_dependent_impedance)} transformer(s) with tap-dependent impedance") if len(np.intersect1d(net[trafo_table].columns, cols)) == 0: - logger.warning("No columns defined for transformaer tap characteristics in %s. " + logger.warning("No columns defined for transformer tap characteristics in %s. " "Power flow calculation will raise an error." % trafo_table) elif net[trafo_table].loc[tap_dependent_impedance, np.intersect1d(cols, net[trafo_table].columns)].isnull().all(axis=1).any(): logger.warning(f"Some transformers in {trafo_table} table have tap_dependent_impedance set to True, " @@ -257,10 +270,26 @@ def trafo_characteristics_diagnostic(net): for col in cols: if col not in net[trafo_table]: logger.info("%s: %s is missing" % (trafo_table, col)) + continue elif net[trafo_table].loc[tap_dependent_impedance, col].isnull().any(): - logger.info("%s: %s is missing for some trafos" % (trafo_table, col)) + logger.info("%s: %s is missing for some transformers" % (trafo_table, col)) elif len(set(net[trafo_table].loc[tap_dependent_impedance, col]) - set(net.characteristic.index)) > 0: logger.info("%s: %s contains invalid characteristics indices" % (trafo_table, col)) else: logger.debug(f"{trafo_table}: {col} has {len(net[trafo_table][col].dropna())} characteristics") + # chack if any characteristics have value at the neutral point that deviates from the transformer parameter + variable = col.replace("_characteristic", "") + for tid in net[trafo_table].index[tap_dependent_impedance]: + tap_neutral = net[trafo_table].tap_neutral.fillna(0).at[tid] + s_id = net[trafo_table][col].at[tid] + if pd.isnull(s_id): + continue + s = net.characteristic.object.at[s_id] + s_val = s(tap_neutral) + var_val = net[trafo_table].at[tid, variable] + if not np.isclose(s_val, var_val, rtol=0, atol=1e-6): + logger.warning(f"The characteristic value of {s_val} at the neutral tap position {tap_neutral} " + f"does not match the value {var_val} of {variable} for the {trafo_table} with index {tid} " + f"(deviation of {s_val-var_val})") + diff --git a/pandapower/test/api/test_auxiliary.py b/pandapower/test/api/test_auxiliary.py index fe79b7053..17d5536a7 100644 --- a/pandapower/test/api/test_auxiliary.py +++ b/pandapower/test/api/test_auxiliary.py @@ -206,5 +206,79 @@ def test_memory_leak_dict(): assert types_dict2[MemoryLeakDemoDict] - types_dict1.get(MemoryLeakDemoDict, 0) <= 1 +def test_create_trafo_characteristics(): + net = pp.networks.example_multivoltage() + + # test 2 modes, multiple index and single index, for 2w trafo + pp.control.create_trafo_characteristics(net, "trafo", [1], 'vk_percent', [[-2,-1,0,1,2]], [[2,3,4,5,6]]) + assert "characteristic" in net + assert "tap_dependent_impedance" in net.trafo.columns + assert net.trafo.tap_dependent_impedance.dtype == np.bool_ + assert net.trafo.tap_dependent_impedance.at[1] + assert not net.trafo.tap_dependent_impedance.at[0] + assert "vk_percent_characteristic" in net.trafo.columns + assert net.trafo.at[1, 'vk_percent_characteristic'] == 0 + assert pd.isnull(net.trafo.at[0, 'vk_percent_characteristic']) + assert net.trafo.vk_percent_characteristic.dtype == pd.Int64Dtype() + assert "vkr_percent_characteristic" not in net.trafo.columns + + pp.control.create_trafo_characteristics(net, "trafo", 1, 'vkr_percent', [-2,-1,0,1,2], [1.323,1.324,1.325,1.326,1.327]) + assert len(net.characteristic) == 2 + assert "vkr_percent_characteristic" in net.trafo.columns + assert net.trafo.at[1, 'vkr_percent_characteristic'] == 1 + assert pd.isnull(net.trafo.at[0, 'vkr_percent_characteristic']) + assert net.trafo.vkr_percent_characteristic.dtype == pd.Int64Dtype() + + assert isinstance(net.characteristic.object.at[0], pp.control.SplineCharacteristic) + assert isinstance(net.characteristic.object.at[1], pp.control.SplineCharacteristic) + + # test for 3w trafo + pp.control.create_trafo_characteristics(net, "trafo3w", 0, 'vk_hv_percent', [-8, -4, 0, 4, 8], [8.1, 9.1, 10.1, 11.1, 12.1]) + assert "tap_dependent_impedance" in net.trafo3w.columns + assert net.trafo3w.tap_dependent_impedance.dtype == np.bool_ + assert net.trafo3w.tap_dependent_impedance.at[0] + assert "vk_hv_percent_characteristic" in net.trafo3w.columns + assert net.trafo3w.at[0, 'vk_hv_percent_characteristic'] == 2 + assert net.trafo3w.vk_hv_percent_characteristic.dtype == pd.Int64Dtype() + assert "vkr_hv_percent_characteristic" not in net.trafo3w.columns + assert "vk_mv_percent_characteristic" not in net.trafo3w.columns + + pp.control.create_trafo_characteristics(net, "trafo3w", 0, 'vk_mv_percent', [-8, -4, 0, 4, 8], [8.1, 9.1, 10.1, 11.1, 12.1]) + assert net.trafo3w.tap_dependent_impedance.dtype == np.bool_ + assert net.trafo3w.tap_dependent_impedance.at[0] + assert "vk_mv_percent_characteristic" in net.trafo3w.columns + assert net.trafo3w.at[0, 'vk_hv_percent_characteristic'] == 3 + assert net.trafo3w.vk_hv_percent_characteristic.dtype == pd.Int64Dtype() + assert "vkr_mv_percent_characteristic" not in net.trafo3w.columns + assert "vk_lv_percent_characteristic" not in net.trafo3w.columns + assert "vkr_lv_percent_characteristic" not in net.trafo3w.columns + + # this should be enough testing for adding columns + # now let's test if it raises errors + + # invalid variable + with pytest.raises(UserWarning): + pp.control.create_trafo_characteristics(net, "trafo3w", 0, 'vk_percent', + [-8, -4, 0, 4, 8], [8.1, 9.1, 10.1, 11.1, 12.1]) + + # invalid shapes + with pytest.raises(UserWarning): + pp.control.create_trafo_characteristics(net, "trafo3w", 0, 'vk_hv_percent', + [-8, -4, 0, 4, 8], [8.1, 9.1, 10.1, 11.1]) + + with pytest.raises(UserWarning): + pp.control.create_trafo_characteristics(net, "trafo3w", [0], 'vk_hv_percent', + [-8, -4, 0, 4, 8], [8.1, 9.1, 10.1, 11.1, 12.1]) + + with pytest.raises(UserWarning): + pp.control.create_trafo_characteristics(net, "trafo3w", [0, 1], 'vk_hv_percent', + [[-8, -4, 0, 4, 8]], [[8.1, 9.1, 10.1, 11.1, 12.1]]) + + with pytest.raises(UserWarning): + pp.control.create_trafo_characteristics(net, "trafo3w", [0, 1], 'vk_hv_percent', + [[-8, -4, 0, 4, 8], [-8, -4, 0, 4, 8]], + [[8.1, 9.1, 10.1, 11.1, 12.1]]) + + if __name__ == '__main__': pytest.main([__file__, "-x"]) diff --git a/tutorials/tap_dependent_impedance.ipynb b/tutorials/tap_dependent_impedance.ipynb index 52c992cbe..18c8476f7 100644 --- a/tutorials/tap_dependent_impedance.ipynb +++ b/tutorials/tap_dependent_impedance.ipynb @@ -40,12 +40,13 @@ " if trafotype==\"3W\":\n", " cbm = pp.create_bus(net, vn_kv=0.9)\n", " pp.create_load(net, cbm, 0.1, 0.03)\n", - " pp.create_transformer3w_from_parameters(net, hv_bus=hv_bus, mv_bus=cbm, lv_bus=cb,\n", - " vn_hv_kv=20., vn_mv_kv=0.9, vn_lv_kv=0.45, sn_hv_mva= 0.6, sn_mv_mva=0.5,\n", - " sn_lv_mva=0.4, vk_hv_percent=1., vk_mv_percent=1., vk_lv_percent=1.,\n", - " vkr_hv_percent=0.3, vkr_mv_percent=0.3, vkr_lv_percent=0.3,\n", - " pfe_kw=0.2, i0_percent=0.3, tap_neutral=0.,\n", - " tap_pos=2, tap_step_percent=1., tap_min=-2, tap_max=2)\n", + " pp.create_transformer3w_from_parameters(net, hv_bus=hv_bus, mv_bus=cbm, lv_bus=cb, \n", + " vn_hv_kv=20., vn_mv_kv=0.9, vn_lv_kv=0.45, sn_hv_mva=0.6, \n", + " sn_mv_mva=0.5, sn_lv_mva=0.4, vk_hv_percent=1., \n", + " vk_mv_percent=1., vk_lv_percent=1., vkr_hv_percent=0.3, \n", + " vkr_mv_percent=0.3, vkr_lv_percent=0.3, pfe_kw=0.2, \n", + " i0_percent=0.3, tap_neutral=0., tap_pos=2, \n", + " tap_step_percent=1., tap_min=-2, tap_max=2)\n", " else:\n", " pp.create_transformer(net, hv_bus=hv_bus, lv_bus=cb, std_type=\"0.25 MVA 20/0.4 kV\", tap_pos=2)\n", " \n", @@ -57,7 +58,7 @@ " pp.create_ext_grid(net, b1, vm_pu=1.01)\n", " b2 = pp.create_bus(net, vn_kv=vn_kv)\n", " l1 = pp.create_line_from_parameters(net, b1, b2, 12.2, r_ohm_per_km=0.08, x_ohm_per_km=0.12,\n", - " c_nf_per_km=300, max_i_ka=.2, df=.8)\n", + " c_nf_per_km=300, max_i_ka=.2, df=.8)\n", " for i in range(2):\n", " add_trafo_connection(net, b2)\n", " \n", @@ -77,7 +78,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "We can either create the characteristics by creating the objects for characteristics and setting their index to the respective columns. Alternatively, we can use a convenience function to create set up the characteristics for vk_percent and vkr_percent:" + "We can either create the characteristics by creating the objects for characteristics and setting their index to the respective columns. Alternatively, we can use a convenience function to create set up the characteristics for vk_percent and vkr_percent. The function can be applied to a single index or for multiple transformers at a time. The imput parameters must have a correct shape:" ] }, { @@ -86,8 +87,10 @@ "metadata": {}, "outputs": [], "source": [ - "pp.control.create_trafo_characteristics(net, 'trafo', [0], 'vk_percent', [[-2, -1, 0, 1, 2]], [[5, 5.2, 6, 6.8, 7]])\n", - "pp.control.create_trafo_characteristics(net, 'trafo', [0], 'vkr_percent', [[-2, -1, 0, 1, 2]], [[1.3, 1.4, 1.44, 1.5, 1.6]])" + "pp.control.create_trafo_characteristics(net, 'trafo', 0, 'vk_percent', \n", + " [-2, -1, 0, 1, 2], [5, 5.2, 6, 6.8, 7]) # single mode\n", + "pp.control.create_trafo_characteristics(net, 'trafo', [0], 'vkr_percent', \n", + " [[-2, -1, 0, 1, 2]], [[1.3, 1.4, 1.44, 1.5, 1.6]]) # multiple indices" ] }, { @@ -140,7 +143,7 @@ ], "source": [ "pp.control.plot_characteristic(net.characteristic.object.at[1], -2, 2,\n", - " xlabel='Tap position \"tap_pos\"', ylabel='Value of \"vkr_percent\"')" + " xlabel='Tap position \"tap_pos\"', ylabel='Value of \"vkr_percent\"')" ] }, { @@ -250,7 +253,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "8.36 ms ± 481 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" + "7.9 ms ± 115 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" ] } ], @@ -267,7 +270,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "9.57 ms ± 120 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" + "9.4 ms ± 74.5 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" ] } ], @@ -311,7 +314,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "27.2 ms ± 223 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" + "27 ms ± 255 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" ] } ], @@ -503,12 +506,23 @@ } ], "source": [ - "pp.control.create_trafo_characteristics(net4, 'trafo3w', [0], 'vk_hv_percent', [[-2, -1, 0, 1, 2]], [[0.85, 0.9, 1, 1.1, 1.15]])\n", - "pp.control.create_trafo_characteristics(net4, 'trafo3w', [0], 'vkr_hv_percent', [[-2, -1, 0, 1, 2]], [[0.27, 0.28, 0.3, 0.32, 0.33]])\n", - "pp.control.create_trafo_characteristics(net4, 'trafo3w', [0], 'vk_mv_percent', [[-2, -1, 0, 1, 2]], [[0.85, 0.9, 1, 1.1, 1.15]])\n", - "pp.control.create_trafo_characteristics(net4, 'trafo3w', [0], 'vkr_mv_percent', [[-2, -1, 0, 1, 2]], [[0.27, 0.28, 0.3, 0.32, 0.33]])\n", - "pp.control.create_trafo_characteristics(net4, 'trafo3w', [0], 'vk_lv_percent', [[-2, -1, 0, 1, 2]], [[0.85, 0.9, 1, 1.1, 1.15]])\n", - "pp.control.create_trafo_characteristics(net4, 'trafo3w', [0], 'vkr_lv_percent', [[-2, -1, 0, 1, 2]], [[0.27, 0.28, 0.3, 0.32, 0.33]])\n", + "pp.control.create_trafo_characteristics(net4, 'trafo3w', [0], 'vk_hv_percent', \n", + " [[-2, -1, 0, 1, 2]], [[0.85, 0.9, 1, 1.1, 1.15]])\n", + "\n", + "pp.control.create_trafo_characteristics(net4, 'trafo3w', [0], 'vkr_hv_percent', \n", + " [[-2, -1, 0, 1, 2]], [[0.27, 0.28, 0.3, 0.32, 0.33]])\n", + "\n", + "pp.control.create_trafo_characteristics(net4, 'trafo3w', [0], 'vk_mv_percent', \n", + " [[-2, -1, 0, 1, 2]], [[0.85, 0.9, 1, 1.1, 1.15]])\n", + "\n", + "pp.control.create_trafo_characteristics(net4, 'trafo3w', [0], 'vkr_mv_percent', \n", + " [[-2, -1, 0, 1, 2]], [[0.27, 0.28, 0.3, 0.32, 0.33]])\n", + "\n", + "pp.control.create_trafo_characteristics(net4, 'trafo3w', [0], 'vk_lv_percent', \n", + " [[-2, -1, 0, 1, 2]], [[0.85, 0.9, 1, 1.1, 1.15]])\n", + "\n", + "pp.control.create_trafo_characteristics(net4, 'trafo3w', [0], 'vkr_lv_percent', \n", + " [[-2, -1, 0, 1, 2]], [[0.27, 0.28, 0.3, 0.32, 0.33]])\n", "\n", "net4.characteristic" ] @@ -557,7 +571,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "14.5 ms ± 534 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" + "14.1 ms ± 39.1 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" ] } ], @@ -574,7 +588,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "52.8 ms ± 7.57 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" + "48.5 ms ± 337 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" ] } ], @@ -727,9 +741,12 @@ "outputs": [], "source": [ "net6 = create_net()\n", - "pp.control.create_trafo_characteristics(net6, 'trafo', [0], 'vk_percent', [[-2, -1, 0, 1, 2]], [[5, 5.2, 6, 6.8, 7]])\n", - "pp.control.create_trafo_characteristics(net6, 'trafo', [0], 'vkr_percent', [[-2, -1, 0, 1, 2]], [[1.3, 1.4, 1.44, 1.5, 1.6]])\n", - "pp.control.create_trafo_characteristics(net6, 'trafo', [1], 'vk_percent', [[-2, -1, 0, 1, 2]], [[5, 5.2, 6, 6.8, 7]])" + "pp.control.create_trafo_characteristics(net6, 'trafo', [0], 'vk_percent', \n", + " [[-2, -1, 0, 1, 2]], [[5, 5.2, 6, 6.8, 7]])\n", + "pp.control.create_trafo_characteristics(net6, 'trafo', [0], 'vkr_percent', \n", + " [[-2, -1, 0, 1, 2]], [[1.3, 1.4, 1.44, 1.5, 1.6]])\n", + "pp.control.create_trafo_characteristics(net6, 'trafo', [1], 'vk_percent', \n", + " [[-2, -1, 0, 1, 2]], [[5, 5.2, 6, 6.8, 7]])" ] }, { @@ -1337,7 +1354,7 @@ ], "source": [ "pp.control.plot_characteristic(net2.characteristic.object.at[0], -2, 2,\n", - " xlabel='Tap position \"tap_pos\"', ylabel='Value of \"vk_percent\"')" + " xlabel='Tap position \"tap_pos\"', ylabel='Value of \"vk_percent\"')" ] }, { @@ -1356,6 +1373,7 @@ "* Are there characteristics for tap dependent impedance?\n", "* Are any columns missing?\n", "* Are there characteristics that are referenced in the trafo or trafo3w table, but are missing in net.characteristic?\n", + "* Do the characteristic values for the neutral tap position deviate from the element table parameter?\n", "\n", "The results are displayed to the user with the help of logging statements." ] @@ -1505,8 +1523,8 @@ "name": "stderr", "output_type": "stream", "text": [ - "hp.pandapower.control.util.auxiliary - INFO: Checking trafo characteristics\n", - "hp.pandapower.control.util.auxiliary - INFO: trafo: found 1 trafos with tap-dependent impedance\n", + "hp.pandapower.control.util.auxiliary - INFO: Checking transformer characteristics\n", + "hp.pandapower.control.util.auxiliary - INFO: trafo: found 1 transformer(s) with tap-dependent impedance\n", "hp.pandapower.control.util.auxiliary - INFO: No trafo3w with tap-dependent impedance found.\n" ] } @@ -1524,9 +1542,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "hp.pandapower.control.util.auxiliary - INFO: Checking trafo characteristics\n", - "hp.pandapower.control.util.auxiliary - INFO: trafo: found 2 trafos with tap-dependent impedance\n", - "hp.pandapower.control.util.auxiliary - INFO: trafo: vkr_percent_characteristic is missing for some trafos\n", + "hp.pandapower.control.util.auxiliary - INFO: Checking transformer characteristics\n", + "hp.pandapower.control.util.auxiliary - INFO: trafo: found 2 transformer(s) with tap-dependent impedance\n", + "hp.pandapower.control.util.auxiliary - INFO: trafo: vkr_percent_characteristic is missing for some transformers\n", "hp.pandapower.control.util.auxiliary - INFO: No trafo3w with tap-dependent impedance found.\n" ] } @@ -1594,7 +1612,7 @@ " 0.25\n", " 20.0\n", " 0.4\n", - " 6.0\n", + " 6.000001\n", " 1.44\n", " 0.8\n", " ...\n", @@ -1618,7 +1636,7 @@ " 0.25\n", " 20.0\n", " 0.4\n", - " 6.0\n", + " 6.000000\n", " 1.44\n", " 0.8\n", " ...\n", @@ -1642,7 +1660,7 @@ " 0.25\n", " 20.0\n", " 0.4\n", - " 6.0\n", + " 6.000000\n", " 1.44\n", " 0.8\n", " ...\n", @@ -1669,9 +1687,9 @@ "2 None 0.25 MVA 20/0.4 kV 1 2 0.25 20.0 0.4 \n", "\n", " vk_percent vkr_percent pfe_kw ... tap_step_percent tap_step_degree \\\n", - "0 6.0 1.44 0.8 ... 2.5 0.0 \n", - "1 6.0 1.44 0.8 ... 2.5 0.0 \n", - "2 6.0 1.44 0.8 ... 2.5 0.0 \n", + "0 6.000001 1.44 0.8 ... 2.5 0.0 \n", + "1 6.000000 1.44 0.8 ... 2.5 0.0 \n", + "2 6.000000 1.44 0.8 ... 2.5 0.0 \n", "\n", " tap_pos tap_phase_shifter parallel df in_service \\\n", "0 2 False 1 1.0 True \n", @@ -1791,13 +1809,14 @@ "name": "stderr", "output_type": "stream", "text": [ - "hp.pandapower.control.util.auxiliary - INFO: Checking trafo characteristics\n", - "hp.pandapower.control.util.auxiliary - INFO: trafo: found 2 trafos with tap-dependent impedance\n", + "hp.pandapower.control.util.auxiliary - INFO: Checking transformer characteristics\n", + "hp.pandapower.control.util.auxiliary - INFO: trafo: found 2 transformer(s) with tap-dependent impedance\n", "hp.pandapower.control.util.auxiliary - WARNING: Some transformers in trafo table have tap_dependent_impedance set to True, but no defined characteristics. Power flow calculation will raise an error.\n", - "hp.pandapower.control.util.auxiliary - INFO: trafo: vk_percent_characteristic is missing for some trafos\n", - "hp.pandapower.control.util.auxiliary - INFO: trafo: vkr_percent_characteristic is missing for some trafos\n", - "hp.pandapower.control.util.auxiliary - INFO: trafo3w: found 1 trafos with tap-dependent impedance\n", - "hp.pandapower.control.util.auxiliary - WARNING: No columns defined for transformaer tap characteristics in trafo3w. Power flow calculation will raise an error.\n", + "hp.pandapower.control.util.auxiliary - INFO: trafo: vk_percent_characteristic is missing for some transformers\n", + "hp.pandapower.control.util.auxiliary - WARNING: The characteristic value of 6.0 at the neutral tap position 0 does not match the value 6.000001 of vk_percent for the trafo with index 0 (deviation of -1.000000000139778e-06)\n", + "hp.pandapower.control.util.auxiliary - INFO: trafo: vkr_percent_characteristic is missing for some transformers\n", + "hp.pandapower.control.util.auxiliary - INFO: trafo3w: found 1 transformer(s) with tap-dependent impedance\n", + "hp.pandapower.control.util.auxiliary - WARNING: No columns defined for transformer tap characteristics in trafo3w. Power flow calculation will raise an error.\n", "hp.pandapower.control.util.auxiliary - INFO: trafo3w: vk_hv_percent_characteristic is missing\n", "hp.pandapower.control.util.auxiliary - INFO: trafo3w: vkr_hv_percent_characteristic is missing\n", "hp.pandapower.control.util.auxiliary - INFO: trafo3w: vk_mv_percent_characteristic is missing\n", @@ -1813,6 +1832,7 @@ "pp.create_transformer(net, hv_bus=net.trafo.at[0, 'hv_bus'], \n", " lv_bus=net.trafo.at[0, 'lv_bus'], std_type=\"0.25 MVA 20/0.4 kV\", tap_pos=2, \n", " tap_dependent_impedance=True)\n", + "net.trafo.at[0, \"vk_percent\"] += 1e-6\n", "add_trafo_connection(net, net.trafo.at[0, 'hv_bus'], \"3W\")\n", "# missing columns for characteristics\n", "net.trafo3w['tap_dependent_impedance'] = True\n", From c29bcab45a0368b15663625d422baf92d4c7f1ff Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Fri, 10 Dec 2021 10:01:10 +0100 Subject: [PATCH 364/422] bugfix in test --- pandapower/test/api/test_auxiliary.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandapower/test/api/test_auxiliary.py b/pandapower/test/api/test_auxiliary.py index 17d5536a7..a99a2be85 100644 --- a/pandapower/test/api/test_auxiliary.py +++ b/pandapower/test/api/test_auxiliary.py @@ -247,7 +247,7 @@ def test_create_trafo_characteristics(): assert net.trafo3w.tap_dependent_impedance.dtype == np.bool_ assert net.trafo3w.tap_dependent_impedance.at[0] assert "vk_mv_percent_characteristic" in net.trafo3w.columns - assert net.trafo3w.at[0, 'vk_hv_percent_characteristic'] == 3 + assert net.trafo3w.at[0, 'vk_mv_percent_characteristic'] == 3 assert net.trafo3w.vk_hv_percent_characteristic.dtype == pd.Int64Dtype() assert "vkr_mv_percent_characteristic" not in net.trafo3w.columns assert "vk_lv_percent_characteristic" not in net.trafo3w.columns From bfffd4e12b20c51f91ae7f9ac81af5853eb3897d Mon Sep 17 00:00:00 2001 From: rbolgaryn Date: Fri, 10 Dec 2021 10:36:37 +0100 Subject: [PATCH 365/422] moved the diagnostic function closer to controller diagnostic function, added some docstrings --- pandapower/control/__init__.py | 5 +-- pandapower/control/util/auxiliary.py | 47 -------------------- pandapower/control/util/characteristic.py | 21 +++++++++ pandapower/control/util/diagnostic.py | 49 +++++++++++++++++++++ tutorials/tap_dependent_impedance.ipynb | 52 +++++++++++------------ 5 files changed, 98 insertions(+), 76 deletions(-) diff --git a/pandapower/control/__init__.py b/pandapower/control/__init__.py index dedae0f27..f8ae08f1a 100644 --- a/pandapower/control/__init__.py +++ b/pandapower/control/__init__.py @@ -13,7 +13,6 @@ from pandapower.control.run_control import * from pandapower.control.run_control import ControllerNotConverged from pandapower.control.util.characteristic import Characteristic, SplineCharacteristic -from pandapower.control.util.auxiliary import get_controller_index, plot_characteristic, create_trafo_characteristics, \ - trafo_characteristics_diagnostic -from pandapower.control.util.diagnostic import control_diagnostic +from pandapower.control.util.auxiliary import get_controller_index, plot_characteristic, create_trafo_characteristics +from pandapower.control.util.diagnostic import control_diagnostic, trafo_characteristics_diagnostic diff --git a/pandapower/control/util/auxiliary.py b/pandapower/control/util/auxiliary.py index b83d37972..de0c68f75 100644 --- a/pandapower/control/util/auxiliary.py +++ b/pandapower/control/util/auxiliary.py @@ -246,50 +246,3 @@ def create_trafo_characteristics(net, trafotable, trafo_index, variable, x_point # create the characteristic and set its index in the trafotable s = SplineCharacteristic(net, x_p, y_p) net[trafotable].at[tid, col] = s.index - - -def trafo_characteristics_diagnostic(net): - logger.info("Checking transformer characteristics") - cols2w = ["vk_percent_characteristic", "vkr_percent_characteristic"] - cols3w = [f"vk{r}_{side}_percent_characteristic" for side in ["hv", "mv", "lv"] for r in ["", "r"]] - for trafo_table, cols in zip(["trafo", "trafo3w"], [cols2w, cols3w]): - if len(net[trafo_table]) == 0 or \ - 'tap_dependent_impedance' not in net[trafo_table] or \ - not net[trafo_table]['tap_dependent_impedance'].any(): - logger.info("No %s with tap-dependent impedance found." % trafo_table) - continue - # check if there are any missing characteristics - tap_dependent_impedance = net[trafo_table]['tap_dependent_impedance'].values - logger.info(f"{trafo_table}: found {sum(tap_dependent_impedance)} transformer(s) with tap-dependent impedance") - if len(np.intersect1d(net[trafo_table].columns, cols)) == 0: - logger.warning("No columns defined for transformer tap characteristics in %s. " - "Power flow calculation will raise an error." % trafo_table) - elif net[trafo_table].loc[tap_dependent_impedance, np.intersect1d(cols, net[trafo_table].columns)].isnull().all(axis=1).any(): - logger.warning(f"Some transformers in {trafo_table} table have tap_dependent_impedance set to True, " - f"but no defined characteristics. Power flow calculation will raise an error.") - for col in cols: - if col not in net[trafo_table]: - logger.info("%s: %s is missing" % (trafo_table, col)) - continue - elif net[trafo_table].loc[tap_dependent_impedance, col].isnull().any(): - logger.info("%s: %s is missing for some transformers" % (trafo_table, col)) - elif len(set(net[trafo_table].loc[tap_dependent_impedance, col]) - set(net.characteristic.index)) > 0: - logger.info("%s: %s contains invalid characteristics indices" % (trafo_table, col)) - else: - logger.debug(f"{trafo_table}: {col} has {len(net[trafo_table][col].dropna())} characteristics") - - # chack if any characteristics have value at the neutral point that deviates from the transformer parameter - variable = col.replace("_characteristic", "") - for tid in net[trafo_table].index[tap_dependent_impedance]: - tap_neutral = net[trafo_table].tap_neutral.fillna(0).at[tid] - s_id = net[trafo_table][col].at[tid] - if pd.isnull(s_id): - continue - s = net.characteristic.object.at[s_id] - s_val = s(tap_neutral) - var_val = net[trafo_table].at[tid, variable] - if not np.isclose(s_val, var_val, rtol=0, atol=1e-6): - logger.warning(f"The characteristic value of {s_val} at the neutral tap position {tap_neutral} " - f"does not match the value {var_val} of {variable} for the {trafo_table} with index {tid} " - f"(deviation of {s_val-var_val})") - diff --git a/pandapower/control/util/characteristic.py b/pandapower/control/util/characteristic.py index c29ccb607..e76c7ad29 100644 --- a/pandapower/control/util/characteristic.py +++ b/pandapower/control/util/characteristic.py @@ -130,6 +130,14 @@ def __init__(self, net, x_values, y_values): @property def interpolator(self): + """ + We need to store the interpolator in a property because we need to serialize + the characteristic. Instead of storing the serialized interpolator, we store the + x_values and y_values (the attribute _interpolator is ecluded from serialization by + adding it to json_excludes). For it to work, we need to recreate the interpolator on + demand. As soon as the characteristic is called, if the interpolator is there, + we can use it. If not, we recreate it. + """ return self._interpolator @interpolator.getter @@ -139,5 +147,18 @@ def interpolator(self): return self._interpolator def __call__(self, x): + """ + This method allows calling the SciPy interpolator object directly. + Codacy is complaining about this, but it is not a problem. + Parameters + ---------- + x : float + The x-value at which the current y-value is interpolated for. + + Returns + ------- + float + The interpolated y-value. + """ return self.interpolator(x) diff --git a/pandapower/control/util/diagnostic.py b/pandapower/control/util/diagnostic.py index b93e225c4..a60f3739e 100644 --- a/pandapower/control/util/diagnostic.py +++ b/pandapower/control/util/diagnostic.py @@ -3,6 +3,8 @@ # Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. from copy import deepcopy +import numpy as np +import pandas as pd from pandapower.control.util.auxiliary import get_controller_index from pandapower.control.controller.trafo_control import TrafoController @@ -57,3 +59,50 @@ def control_diagnostic(net, respect_in_service=True): (str(['%i' % i for i in trafo_ctrl_at_same_trafo]), parameters['trafotype'], parameters["tid"])) for val in trafo_ctrl_at_same_trafo: trafo_ctrl.remove(val) + + +def trafo_characteristics_diagnostic(net): + logger.info("Checking transformer characteristics") + cols2w = ["vk_percent_characteristic", "vkr_percent_characteristic"] + cols3w = [f"vk{r}_{side}_percent_characteristic" for side in ["hv", "mv", "lv"] for r in ["", "r"]] + for trafo_table, cols in zip(["trafo", "trafo3w"], [cols2w, cols3w]): + if len(net[trafo_table]) == 0 or \ + 'tap_dependent_impedance' not in net[trafo_table] or \ + not net[trafo_table]['tap_dependent_impedance'].any(): + logger.info("No %s with tap-dependent impedance found." % trafo_table) + continue + # check if there are any missing characteristics + tap_dependent_impedance = net[trafo_table]['tap_dependent_impedance'].values + logger.info(f"{trafo_table}: found {sum(tap_dependent_impedance)} transformer(s) with tap-dependent impedance") + if len(np.intersect1d(net[trafo_table].columns, cols)) == 0: + logger.warning("No columns defined for transformer tap characteristics in %s. " + "Power flow calculation will raise an error." % trafo_table) + elif net[trafo_table].loc[tap_dependent_impedance, np.intersect1d(cols, net[trafo_table].columns)].isnull().all(axis=1).any(): + logger.warning(f"Some transformers in {trafo_table} table have tap_dependent_impedance set to True, " + f"but no defined characteristics. Power flow calculation will raise an error.") + for col in cols: + if col not in net[trafo_table]: + logger.info("%s: %s is missing" % (trafo_table, col)) + continue + elif net[trafo_table].loc[tap_dependent_impedance, col].isnull().any(): + logger.info("%s: %s is missing for some transformers" % (trafo_table, col)) + elif len(set(net[trafo_table].loc[tap_dependent_impedance, col]) - set(net.characteristic.index)) > 0: + logger.info("%s: %s contains invalid characteristics indices" % (trafo_table, col)) + else: + logger.debug(f"{trafo_table}: {col} has {len(net[trafo_table][col].dropna())} characteristics") + + # chack if any characteristics have value at the neutral point that deviates from the transformer parameter + variable = col.replace("_characteristic", "") + for tid in net[trafo_table].index[tap_dependent_impedance]: + tap_neutral = net[trafo_table].tap_neutral.fillna(0).at[tid] + s_id = net[trafo_table][col].at[tid] + if pd.isnull(s_id): + continue + s = net.characteristic.object.at[s_id] + s_val = s(tap_neutral) + var_val = net[trafo_table].at[tid, variable] + if not np.isclose(s_val, var_val, rtol=0, atol=1e-6): + logger.warning(f"The characteristic value of {s_val} at the neutral tap position {tap_neutral} " + f"does not match the value {var_val} of {variable} for the {trafo_table} with index {tid} " + f"(deviation of {s_val-var_val})") + diff --git a/tutorials/tap_dependent_impedance.ipynb b/tutorials/tap_dependent_impedance.ipynb index 18c8476f7..e0721d467 100644 --- a/tutorials/tap_dependent_impedance.ipynb +++ b/tutorials/tap_dependent_impedance.ipynb @@ -253,7 +253,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "7.9 ms ± 115 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" + "9.04 ms ± 1.34 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" ] } ], @@ -270,7 +270,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "9.4 ms ± 74.5 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" + "9.78 ms ± 399 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" ] } ], @@ -314,7 +314,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "27 ms ± 255 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" + "28.7 ms ± 1.35 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" ] } ], @@ -571,7 +571,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "14.1 ms ± 39.1 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" + "14.2 ms ± 113 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" ] } ], @@ -588,7 +588,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "48.5 ms ± 337 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" + "48.8 ms ± 372 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" ] } ], @@ -1523,9 +1523,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "hp.pandapower.control.util.auxiliary - INFO: Checking transformer characteristics\n", - "hp.pandapower.control.util.auxiliary - INFO: trafo: found 1 transformer(s) with tap-dependent impedance\n", - "hp.pandapower.control.util.auxiliary - INFO: No trafo3w with tap-dependent impedance found.\n" + "hp.pandapower.control.util.diagnostic - INFO: Checking transformer characteristics\n", + "hp.pandapower.control.util.diagnostic - INFO: trafo: found 1 transformer(s) with tap-dependent impedance\n", + "hp.pandapower.control.util.diagnostic - INFO: No trafo3w with tap-dependent impedance found.\n" ] } ], @@ -1542,10 +1542,10 @@ "name": "stderr", "output_type": "stream", "text": [ - "hp.pandapower.control.util.auxiliary - INFO: Checking transformer characteristics\n", - "hp.pandapower.control.util.auxiliary - INFO: trafo: found 2 transformer(s) with tap-dependent impedance\n", - "hp.pandapower.control.util.auxiliary - INFO: trafo: vkr_percent_characteristic is missing for some transformers\n", - "hp.pandapower.control.util.auxiliary - INFO: No trafo3w with tap-dependent impedance found.\n" + "hp.pandapower.control.util.diagnostic - INFO: Checking transformer characteristics\n", + "hp.pandapower.control.util.diagnostic - INFO: trafo: found 2 transformer(s) with tap-dependent impedance\n", + "hp.pandapower.control.util.diagnostic - INFO: trafo: vkr_percent_characteristic is missing for some transformers\n", + "hp.pandapower.control.util.diagnostic - INFO: No trafo3w with tap-dependent impedance found.\n" ] } ], @@ -1809,20 +1809,20 @@ "name": "stderr", "output_type": "stream", "text": [ - "hp.pandapower.control.util.auxiliary - INFO: Checking transformer characteristics\n", - "hp.pandapower.control.util.auxiliary - INFO: trafo: found 2 transformer(s) with tap-dependent impedance\n", - "hp.pandapower.control.util.auxiliary - WARNING: Some transformers in trafo table have tap_dependent_impedance set to True, but no defined characteristics. Power flow calculation will raise an error.\n", - "hp.pandapower.control.util.auxiliary - INFO: trafo: vk_percent_characteristic is missing for some transformers\n", - "hp.pandapower.control.util.auxiliary - WARNING: The characteristic value of 6.0 at the neutral tap position 0 does not match the value 6.000001 of vk_percent for the trafo with index 0 (deviation of -1.000000000139778e-06)\n", - "hp.pandapower.control.util.auxiliary - INFO: trafo: vkr_percent_characteristic is missing for some transformers\n", - "hp.pandapower.control.util.auxiliary - INFO: trafo3w: found 1 transformer(s) with tap-dependent impedance\n", - "hp.pandapower.control.util.auxiliary - WARNING: No columns defined for transformer tap characteristics in trafo3w. Power flow calculation will raise an error.\n", - "hp.pandapower.control.util.auxiliary - INFO: trafo3w: vk_hv_percent_characteristic is missing\n", - "hp.pandapower.control.util.auxiliary - INFO: trafo3w: vkr_hv_percent_characteristic is missing\n", - "hp.pandapower.control.util.auxiliary - INFO: trafo3w: vk_mv_percent_characteristic is missing\n", - "hp.pandapower.control.util.auxiliary - INFO: trafo3w: vkr_mv_percent_characteristic is missing\n", - "hp.pandapower.control.util.auxiliary - INFO: trafo3w: vk_lv_percent_characteristic is missing\n", - "hp.pandapower.control.util.auxiliary - INFO: trafo3w: vkr_lv_percent_characteristic is missing\n" + "hp.pandapower.control.util.diagnostic - INFO: Checking transformer characteristics\n", + "hp.pandapower.control.util.diagnostic - INFO: trafo: found 2 transformer(s) with tap-dependent impedance\n", + "hp.pandapower.control.util.diagnostic - WARNING: Some transformers in trafo table have tap_dependent_impedance set to True, but no defined characteristics. Power flow calculation will raise an error.\n", + "hp.pandapower.control.util.diagnostic - INFO: trafo: vk_percent_characteristic is missing for some transformers\n", + "hp.pandapower.control.util.diagnostic - WARNING: The characteristic value of 6.0 at the neutral tap position 0 does not match the value 6.000001 of vk_percent for the trafo with index 0 (deviation of -1.000000000139778e-06)\n", + "hp.pandapower.control.util.diagnostic - INFO: trafo: vkr_percent_characteristic is missing for some transformers\n", + "hp.pandapower.control.util.diagnostic - INFO: trafo3w: found 1 transformer(s) with tap-dependent impedance\n", + "hp.pandapower.control.util.diagnostic - WARNING: No columns defined for transformer tap characteristics in trafo3w. Power flow calculation will raise an error.\n", + "hp.pandapower.control.util.diagnostic - INFO: trafo3w: vk_hv_percent_characteristic is missing\n", + "hp.pandapower.control.util.diagnostic - INFO: trafo3w: vkr_hv_percent_characteristic is missing\n", + "hp.pandapower.control.util.diagnostic - INFO: trafo3w: vk_mv_percent_characteristic is missing\n", + "hp.pandapower.control.util.diagnostic - INFO: trafo3w: vkr_mv_percent_characteristic is missing\n", + "hp.pandapower.control.util.diagnostic - INFO: trafo3w: vk_lv_percent_characteristic is missing\n", + "hp.pandapower.control.util.diagnostic - INFO: trafo3w: vkr_lv_percent_characteristic is missing\n" ] } ], From ffaadc3247b6eb52137179f97a91731c2ba35237 Mon Sep 17 00:00:00 2001 From: sdrauz Date: Tue, 14 Dec 2021 17:26:47 +0100 Subject: [PATCH 366/422] Controler needs net as input not container --- pandapower/control/basic_controller.py | 27 ++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/pandapower/control/basic_controller.py b/pandapower/control/basic_controller.py index f40b6734e..1cc2163b5 100644 --- a/pandapower/control/basic_controller.py +++ b/pandapower/control/basic_controller.py @@ -194,6 +194,33 @@ def add_controller_to_net(self, net, in_service, initial_run, order, level, inde _preserve_dtypes(net.controller, dtypes) + def time_step(self, net, time): + super().time_step(net, time) + + def initialize_control(self, net): + super().initialize_control(net) + + def is_converged(self, net): + super().is_converged(net) + + def control_step(self, net): + super().control_step(net) + + def repair_control(self, net): + super().repair_control(net) + + def restore_init_state(self, net): + super().restore_init_state(net) + + def finalize_control(self, net): + super().finalize_control(net) + + def finalize_step(self, net, time): + super().finalize_step(net, time) + + def set_active(self, net, in_service): + super().set_active(net, in_service) + def set_recycle(self, net): """ Checks the recyclability of this controller and changes the recyclability of the control handler if From 735ed762b8fcc8c2f51a867d602f92d04196577d Mon Sep 17 00:00:00 2001 From: sdrauz Date: Tue, 14 Dec 2021 17:47:07 +0100 Subject: [PATCH 367/422] bugfix --- pandapower/control/basic_controller.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandapower/control/basic_controller.py b/pandapower/control/basic_controller.py index 685cafb38..78573c9fb 100644 --- a/pandapower/control/basic_controller.py +++ b/pandapower/control/basic_controller.py @@ -204,7 +204,7 @@ def initialize_control(self, net): super().initialize_control(net) def is_converged(self, net): - super().is_converged(net) + return super().is_converged(net) def control_step(self, net): super().control_step(net) From 236ebb67205a5020b5359d4ca7d72c68cc9a9a7a Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Mon, 20 Dec 2021 16:30:23 +0100 Subject: [PATCH 368/422] Update run_time_series.py cleanup: remove ppc from net to address the unexpected recycle behavior --- pandapower/timeseries/run_time_series.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pandapower/timeseries/run_time_series.py b/pandapower/timeseries/run_time_series.py index df98396a1..d1c1ff5a9 100644 --- a/pandapower/timeseries/run_time_series.py +++ b/pandapower/timeseries/run_time_series.py @@ -281,10 +281,10 @@ def init_time_series(net, time_steps, continue_on_divergence=False, verbose=True return ts_variables -def cleanup(ts_variables): +def cleanup(net, ts_variables): if isinstance(ts_variables["recycle_options"], dict): # Todo: delete internal variables and dumped results which are not needed - pass + net._ppc = None # remove _ppc because if recycle == True and a new timeseries calculation is started with a different setup (in_service of lines or trafos, open switches etc.) it can lead to a disaster def print_progress(i, time_step, time_steps, verbose, **kwargs): @@ -346,4 +346,4 @@ def run_timeseries(net, time_steps=None, continue_on_divergence=False, verbose=T run_loop(net, ts_variables, **kwargs) # cleanup functions after the last time step was calculated - cleanup(ts_variables) + cleanup(net, ts_variables) From b9d2689e1cb3cd754b6054a4cb10b59c48ddc00b Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Mon, 20 Dec 2021 16:41:17 +0100 Subject: [PATCH 369/422] Update run_control.py --- pandapower/control/run_control.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pandapower/control/run_control.py b/pandapower/control/run_control.py index 6eb118173..ab7d4309e 100644 --- a/pandapower/control/run_control.py +++ b/pandapower/control/run_control.py @@ -178,8 +178,8 @@ def _evaluate_net(net, levelorder, ctrl_variables, **kwargs): errors = ctrl_variables['errors'] try: run_funct(net, **kwargs) # run can be runpp, runopf or whatever - except errors: - + except errors as err: + net._ppc = None if ctrl_variables['continue_on_divergence']: # give a chance to controllers to "repair" the control step if load flow # didn't converge @@ -192,6 +192,8 @@ def _evaluate_net(net, levelorder, ctrl_variables, **kwargs): run_funct(net, **kwargs) except errors: pass + else: + raise err ctrl_variables['converged'] = net['converged'] or net['OPF_converged'] return ctrl_variables From d834e742f13d6ace88be26a837f98a56bc8e1ae8 Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Mon, 20 Dec 2021 17:17:52 +0100 Subject: [PATCH 370/422] Update test_timeseries_recycle.py --- pandapower/test/timeseries/test_timeseries_recycle.py | 1 + 1 file changed, 1 insertion(+) diff --git a/pandapower/test/timeseries/test_timeseries_recycle.py b/pandapower/test/timeseries/test_timeseries_recycle.py index 4a3ca26f9..c27912ba7 100644 --- a/pandapower/test/timeseries/test_timeseries_recycle.py +++ b/pandapower/test/timeseries/test_timeseries_recycle.py @@ -40,6 +40,7 @@ def test_batch_output_reader(simple_test_net): run_timeseries(net, time_steps, recycle=recycle, only_v_results=only_v, verbose=False) vm, va = ow.output["ppc_bus.vm"], ow.output["ppc_bus.va"] + # ppc was removed (set to None) in cleanup() after the timeseries was over. now we have to remake the net._ppc s, s_abs, i_abs = v_to_i_s(net, vm, va) del net, ow, c From 3031c9663d3ad9e60d37de375688d2019dbd1380 Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Mon, 20 Dec 2021 18:16:10 +0100 Subject: [PATCH 371/422] Update test_timeseries_recycle.py --- pandapower/test/timeseries/test_timeseries_recycle.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pandapower/test/timeseries/test_timeseries_recycle.py b/pandapower/test/timeseries/test_timeseries_recycle.py index c27912ba7..266c74d34 100644 --- a/pandapower/test/timeseries/test_timeseries_recycle.py +++ b/pandapower/test/timeseries/test_timeseries_recycle.py @@ -40,7 +40,8 @@ def test_batch_output_reader(simple_test_net): run_timeseries(net, time_steps, recycle=recycle, only_v_results=only_v, verbose=False) vm, va = ow.output["ppc_bus.vm"], ow.output["ppc_bus.va"] - # ppc was removed (set to None) in cleanup() after the timeseries was over. now we have to remake the net._ppc + # ppc was removed (set to None) in cleanup() after the timeseries was over. now we have to remake the net._ppc by running the power flow again + pp.runpp(net, only_v_results=only_v, recycle=recycle) s, s_abs, i_abs = v_to_i_s(net, vm, va) del net, ow, c From e644e249688aa0b672d9c04108aba7e13d7e76ea Mon Sep 17 00:00:00 2001 From: fmeier Date: Mon, 3 Jan 2022 09:05:43 +0100 Subject: [PATCH 372/422] Happy renewable year! --- AUTHORS | 68 +- LICENSE | 2 +- doc/conf.py | 2 +- pandapower/auxiliary.py | 2 +- pandapower/build_branch.py | 2 +- pandapower/build_bus.py | 2 +- pandapower/build_gen.py | 2 +- pandapower/control/basic_controller.py | 2 +- .../controller/characteristic_control.py | 2 +- .../control/controller/const_control.py | 2 +- .../controller/trafo/ContinuousTapControl.py | 2 +- .../controller/trafo/DiscreteTapControl.py | 264 +- .../controller/trafo/TapDependentImpedance.py | 2 +- .../controller/trafo/USetTapControl.py | 2 +- .../control/controller/trafo_control.py | 270 +- pandapower/control/run_control.py | 2 +- pandapower/control/util/auxiliary.py | 2 +- pandapower/control/util/characteristic.py | 2 +- pandapower/control/util/diagnostic.py | 2 +- pandapower/convert_format.py | 2 +- pandapower/converter/matpower/from_mpc.py | 214 +- pandapower/converter/matpower/to_mpc.py | 162 +- pandapower/converter/pypower/from_ppc.py | 2 +- pandapower/converter/pypower/to_ppc.py | 2 +- pandapower/create.py | 2 +- pandapower/diagnostic.py | 1840 +++++++------- pandapower/diagnostic_reports.py | 1336 +++++----- pandapower/estimation/algorithm/base.py | 482 ++-- pandapower/estimation/algorithm/estimator.py | 416 ++-- pandapower/estimation/algorithm/lp.py | 296 +-- .../estimation/algorithm/matrix_base.py | 364 +-- .../estimation/algorithm/optimization.py | 72 +- pandapower/estimation/idx_brch.py | 68 +- pandapower/estimation/idx_bus.py | 44 +- pandapower/estimation/ppc_conversion.py | 960 +++---- pandapower/estimation/results.py | 112 +- pandapower/estimation/state_estimation.py | 2 +- pandapower/estimation/util.py | 494 ++-- pandapower/file_io.py | 2 +- pandapower/io_utils.py | 2 +- pandapower/networks/cigre_networks.py | 2 +- pandapower/networks/create_examples.py | 812 +++--- .../networks/kerber_extreme_networks.py | 354 +-- pandapower/networks/kerber_networks.py | 626 ++--- pandapower/networks/mv_oberrhein.py | 194 +- .../networks/power_system_test_cases.py | 2 +- .../simple_pandapower_test_networks.py | 388 +-- .../synthetic_voltage_control_lv_networks.py | 398 +-- pandapower/opf/make_objective.py | 310 +-- pandapower/optimal_powerflow.py | 2 +- pandapower/pd2ppc.py | 2 +- pandapower/pd2ppc_zero.py | 966 ++++---- pandapower/pf/create_jacobian_numba.py | 2 +- pandapower/pf/dSbus_dV_numba.py | 164 +- pandapower/pf/makeYbus_numba.py | 338 +-- pandapower/pf/pfsoln_numba.py | 2 +- pandapower/pf/ppci_variables.py | 82 +- pandapower/pf/run_bfswpf.py | 2 +- pandapower/pf/run_dc_pf.py | 2 +- pandapower/pf/run_newton_raphson_pf.py | 2 +- pandapower/pf/runpf_pypower.py | 2 +- pandapower/plotting/collections.py | 2 +- pandapower/plotting/colormaps.py | 2 +- pandapower/plotting/generic_geodata.py | 2 +- pandapower/plotting/geo.py | 2 +- pandapower/plotting/patch_makers.py | 2 +- pandapower/plotting/plotly/get_colors.py | 2 +- pandapower/plotting/plotly/mapbox_plot.py | 224 +- pandapower/plotting/plotly/pf_res_plotly.py | 2 +- pandapower/plotting/plotly/simple_plotly.py | 2 +- pandapower/plotting/plotly/traces.py | 1750 ++++++------- pandapower/plotting/plotly/vlevel_plotly.py | 398 +-- pandapower/plotting/powerflow_results.py | 2 +- pandapower/plotting/simple_plot.py | 2 +- pandapower/plotting/to_html.py | 2 +- pandapower/powerflow.py | 2 +- pandapower/pypower/bustypes.py | 98 +- pandapower/pypower/dSbus_dV.py | 100 +- pandapower/pypower/dcpf.py | 92 +- pandapower/pypower/idx_brch.py | 188 +- pandapower/pypower/idx_bus.py | 2 +- pandapower/pypower/makeBdc.py | 182 +- pandapower/pypower/makeLODF.py | 128 +- pandapower/pypower/makePTDF.py | 202 +- pandapower/pypower/makeYbus.py | 192 +- pandapower/pypower/newtonpf.py | 2 +- pandapower/pypower/opf.py | 2 +- pandapower/pypower/opf_execute.py | 412 +-- pandapower/pypower/opf_hessfcn.py | 496 ++-- pandapower/pypower/opf_setup.py | 490 ++-- pandapower/pypower/pfsoln.py | 2 +- pandapower/pypower/pips.py | 1114 ++++----- pandapower/pypower/pipsopf_solver.py | 456 ++-- pandapower/results.py | 2 +- pandapower/results_branch.py | 1126 ++++----- pandapower/results_bus.py | 2 +- pandapower/results_gen.py | 658 ++--- pandapower/run.py | 2 +- pandapower/runpm.py | 2 +- pandapower/shortcircuit/calc_sc.py | 494 ++-- pandapower/shortcircuit/currents.py | 2 +- pandapower/shortcircuit/idx_brch.py | 42 +- pandapower/shortcircuit/idx_bus.py | 64 +- pandapower/shortcircuit/impedance.py | 2 +- pandapower/shortcircuit/kappa.py | 2 +- pandapower/shortcircuit/ppc_conversion.py | 2 +- pandapower/shortcircuit/results.py | 2 +- pandapower/shortcircuit/toolbox.py | 2 +- pandapower/std_types.py | 2 +- pandapower/test/api/test_auxiliary.py | 2 +- pandapower/test/api/test_convert_format.py | 2 +- pandapower/test/api/test_create.py | 2 +- pandapower/test/api/test_diagnostic.py | 2204 ++++++++--------- pandapower/test/api/test_file_io.py | 2 +- pandapower/test/api/test_std_types.py | 650 ++--- pandapower/test/api/test_toolbox.py | 2 +- pandapower/test/conftest.py | 92 +- pandapower/test/consistency_checks.py | 442 ++-- pandapower/test/control/test_const_control.py | 92 +- .../control/test_continous_tap_control.py | 310 +-- pandapower/test/control/test_control.py | 2 +- .../test/control/test_discrete_tap_control.py | 558 ++--- .../control/test_tap_dependent_impedance.py | 2 +- .../test/control/test_u_set_tap_control.py | 2 +- pandapower/test/converter/test_from_mpc.py | 76 +- pandapower/test/converter/test_from_ppc.py | 258 +- .../test/converter/test_to_ppc_and_mpc.py | 124 +- .../test/estimation/test_irwls_estimation.py | 142 +- .../test/estimation/test_opt_lp_estimation.py | 2 +- pandapower/test/estimation/test_pmu.py | 110 +- pandapower/test/estimation/test_recycle.py | 74 +- .../test/estimation/test_wls_estimation.py | 1880 +++++++------- .../loadflow/result_test_network_generator.py | 964 +++---- pandapower/test/loadflow/test_PTDF_LODF.py | 122 +- pandapower/test/loadflow/test_dist_slack.py | 2 +- pandapower/test/loadflow/test_results.py | 2 +- pandapower/test/loadflow/test_rundcpp.py | 2 +- pandapower/test/loadflow/test_runpp.py | 2 +- pandapower/test/loadflow/test_scenarios.py | 1078 ++++---- .../test/networks/test_cigre_networks.py | 210 +- .../test/networks/test_create_example.py | 84 +- .../test/networks/test_dickert_lv_networks.py | 80 +- .../networks/test_kerber_extreme_networks.py | 264 +- .../test/networks/test_kerber_networks.py | 324 +-- pandapower/test/networks/test_mv_oberrhein.py | 100 +- .../networks/test_power_system_test_cases.py | 482 ++-- .../test_simple_pandapower_test_networks.py | 118 +- ...t_synthetic_voltage_control_lv_networks.py | 138 +- pandapower/test/opf/test_basic.py | 2 +- pandapower/test/opf/test_costs_mixed.py | 2 +- pandapower/test/opf/test_costs_pol.py | 258 +- pandapower/test/opf/test_costs_pwl.py | 494 ++-- pandapower/test/opf/test_curtailment.py | 140 +- pandapower/test/opf/test_dcline.py | 290 +-- pandapower/test/opf/test_oberrhein.py | 78 +- pandapower/test/opf/test_opf_cigre.py | 166 +- .../test/opf/test_pandamodels_installation.py | 2 +- pandapower/test/opf/test_powermodels.py | 2 +- pandapower/test/opf/test_pp_vs_pm.py | 2 +- .../test/plotting/test_create_colormaps.py | 98 +- .../test/plotting/test_generic_coordinates.py | 94 +- pandapower/test/plotting/test_to_html.py | 42 +- pandapower/test/run_tests.py | 2 +- pandapower/test/shortcircuit/test_1ph.py | 2 +- .../test/shortcircuit/test_all_currents.py | 528 ++-- pandapower/test/shortcircuit/test_gen.py | 376 +-- .../test/shortcircuit/test_impedance.py | 2 +- .../shortcircuit/test_meshing_detection.py | 174 +- .../shortcircuit/test_min_branch_results.py | 2 +- pandapower/test/shortcircuit/test_motor.py | 160 +- pandapower/test/shortcircuit/test_ring.py | 2 +- .../test/shortcircuit/test_sc_single_bus.py | 2 +- pandapower/test/shortcircuit/test_sgen.py | 2 +- pandapower/test/shortcircuit/test_trafo3w.py | 2 +- .../test/shortcircuit/test_transformer.py | 204 +- pandapower/test/test_files/save_version.py | 2 +- .../test/timeseries/test_data_source.py | 72 +- .../test/timeseries/test_output_writer.py | 2 +- pandapower/test/timeseries/test_timeseries.py | 2 +- pandapower/test/toolbox.py | 2 +- pandapower/test/topology/test_create_graph.py | 2 +- .../test/topology/test_graph_searches.py | 2 +- pandapower/timeseries/data_source.py | 66 +- .../timeseries/data_sources/frame_data.py | 112 +- pandapower/timeseries/output_writer.py | 2 +- pandapower/timeseries/run_time_series.py | 2 +- pandapower/toolbox.py | 2 +- pandapower/topology/create_graph.py | 2 +- pandapower/topology/graph_searches.py | 2 +- setup.py | 2 +- 190 files changed, 17762 insertions(+), 17762 deletions(-) diff --git a/AUTHORS b/AUTHORS index 433ec17b6..1c305b97a 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,35 +1,35 @@ -Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -and Energy System Technology (IEE), Kassel. All rights reserved. - -Lead Developers: - - Leon Thurner - - Alexander Scheidler - -Main Contributers: - - Julian Dollichon - - Florian Schäfer - - Friederike Meier - - Jan-Hendrik Menke - - Steffen Meinecke - - Roman Bolgaryn - - Jakov Krstulović Opara - - Winfried Lorenzen - -Further Contributions by: - - Tobias Deß - - Bastian Junker - - Jannis Kupka - - Lothar Löwer - - Jan Ulffers - - Nils Bornhorst - - Jonathan Schütt - - Elisabeth Drayer - - Daniel Lohmeier - - Massimo di Pierro - - Shankho Ghosh - - Alexander Prostejovsky - -Coordination: - - Martin Braun - - Johann-Christian Töbermann +Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +and Energy System Technology (IEE), Kassel. All rights reserved. + +Lead Developers: + - Leon Thurner + - Alexander Scheidler + +Main Contributers: + - Julian Dollichon + - Florian Schäfer + - Friederike Meier + - Jan-Hendrik Menke + - Steffen Meinecke + - Roman Bolgaryn + - Jakov Krstulović Opara + - Winfried Lorenzen + +Further Contributions by: + - Tobias Deß + - Bastian Junker + - Jannis Kupka + - Lothar Löwer + - Jan Ulffers + - Nils Bornhorst + - Jonathan Schütt + - Elisabeth Drayer + - Daniel Lohmeier + - Massimo di Pierro + - Shankho Ghosh + - Alexander Prostejovsky + +Coordination: + - Martin Braun + - Johann-Christian Töbermann - Stefan Gehler \ No newline at end of file diff --git a/LICENSE b/LICENSE index 4d21a5995..6ec1dd145 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics and Energy System Technology (IEE) Kassel and individual contributors (see AUTHORS file for details). All rights reserved. diff --git a/doc/conf.py b/doc/conf.py index 822b490de..faf980dcb 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -47,7 +47,7 @@ # General information about the project. project = u'pandapower' -copyright = u'2016-2021 by Fraunhofer IEE and University of Kassel' +copyright = u'2016-2022 by Fraunhofer IEE and University of Kassel' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the diff --git a/pandapower/auxiliary.py b/pandapower/auxiliary.py index eb763477c..9e9248d6e 100644 --- a/pandapower/auxiliary.py +++ b/pandapower/auxiliary.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/build_branch.py b/pandapower/build_branch.py index 903a76727..c89ebc052 100644 --- a/pandapower/build_branch.py +++ b/pandapower/build_branch.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. # Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. diff --git a/pandapower/build_bus.py b/pandapower/build_bus.py index 56e78257a..64793d7d8 100644 --- a/pandapower/build_bus.py +++ b/pandapower/build_bus.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/build_gen.py b/pandapower/build_gen.py index 54df4c680..94977458f 100644 --- a/pandapower/build_gen.py +++ b/pandapower/build_gen.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/control/basic_controller.py b/pandapower/control/basic_controller.py index cc5e9a49f..0da2edc86 100644 --- a/pandapower/control/basic_controller.py +++ b/pandapower/control/basic_controller.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. import copy diff --git a/pandapower/control/controller/characteristic_control.py b/pandapower/control/controller/characteristic_control.py index f26e5f590..561fe1488 100644 --- a/pandapower/control/controller/characteristic_control.py +++ b/pandapower/control/controller/characteristic_control.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. import numpy as np diff --git a/pandapower/control/controller/const_control.py b/pandapower/control/controller/const_control.py index 1845334f2..6e5de6db6 100644 --- a/pandapower/control/controller/const_control.py +++ b/pandapower/control/controller/const_control.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. import numpy as np diff --git a/pandapower/control/controller/trafo/ContinuousTapControl.py b/pandapower/control/controller/trafo/ContinuousTapControl.py index ed5fa0b9a..551425394 100644 --- a/pandapower/control/controller/trafo/ContinuousTapControl.py +++ b/pandapower/control/controller/trafo/ContinuousTapControl.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. import numpy as np diff --git a/pandapower/control/controller/trafo/DiscreteTapControl.py b/pandapower/control/controller/trafo/DiscreteTapControl.py index 75f2addef..38c2f263e 100644 --- a/pandapower/control/controller/trafo/DiscreteTapControl.py +++ b/pandapower/control/controller/trafo/DiscreteTapControl.py @@ -1,132 +1,132 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - -from pandapower.control.controller.trafo_control import TrafoController - -class DiscreteTapControl(TrafoController): - """ - Trafo Controller with local tap changer voltage control. - - INPUT: - **net** (attrdict) - Pandapower struct - - **tid** (int) - ID of the trafo that is controlled - - **vm_lower_pu** (float) - Lower voltage limit in pu - - **vm_upper_pu** (float) - Upper voltage limit in pu - - OPTIONAL: - - **side** (string, "lv") - Side of the transformer where the voltage is controlled (hv or lv) - - **trafotype** (float, "2W") - Trafo type ("2W" or "3W") - - **tol** (float, 0.001) - Voltage tolerance band at bus in Percent (default: 1% = 0.01pu) - - **in_service** (bool, True) - Indicates if the controller is currently in_service - - **drop_same_existing_ctrl** (bool, False) - Indicates if already existing controllers of the same type and with the same matching parameters (e.g. at same element) should be dropped - """ - - def __init__(self, net, tid, vm_lower_pu, vm_upper_pu, side="lv", trafotype="2W", - tol=1e-3, in_service=True, order=0, drop_same_existing_ctrl=False, - matching_params=None, **kwargs): - if matching_params is None: - matching_params = {"tid": tid, 'trafotype': trafotype} - super(DiscreteTapControl, self).__init__( - net, tid, side, tol=tol, in_service=in_service, order=order, trafotype=trafotype, - drop_same_existing_ctrl=drop_same_existing_ctrl, matching_params=matching_params, - **kwargs) - - self.vm_lower_pu = vm_lower_pu - self.vm_upper_pu = vm_upper_pu - - self.tap_pos = net[self.trafotable].at[tid, "tap_pos"] - self.vm_delta_pu = net[self.trafotable].at[tid, "tap_step_percent"] / 100. * .5 + self.tol - self.vm_set_pu = kwargs.get("vm_set_pu") - - @classmethod - def from_tap_step_percent(cls, net, tid, vm_set_pu, side="lv", trafotype="2W", tol=1e-3, in_service=True, order=0, - drop_same_existing_ctrl=False, matching_params=None, **kwargs): - """ - Alternative mode of the controller, which uses a set point for voltage and the value of net.trafo.tap_step_percent to calculate - vm_upper_pu and vm_lower_pu. To this end, the parameter vm_set_pu should be provided, instead of vm_lower_pu and vm_upper_pu. - To use this mode of the controller, the controller can be initialized as following: - - >>> c = DiscreteTapControl.from_tap_step_percent(net, tid, vm_set_pu) - - INPUT: - **net** (attrdict) - Pandapower struct - - **tid** (int) - ID of the trafo that is controlled - - **vm_set_pu** (float) - Voltage setpoint in pu - """ - self = cls(net, tid=tid, vm_lower_pu=None, vm_upper_pu=None, side=side, trafotype=trafotype, tol=tol, - in_service=in_service, order=order, drop_same_existing_ctrl=drop_same_existing_ctrl, - matching_params=matching_params, vm_set_pu=vm_set_pu, **kwargs) - return self - - @property - def vm_set_pu(self): - return self._vm_set_pu - - @vm_set_pu.setter - def vm_set_pu(self, value): - self._vm_set_pu = value - if value is None: - return - self.vm_lower_pu = value - self.vm_delta_pu - self.vm_upper_pu = value + self.vm_delta_pu - - def initialize_control(self, net): - if hasattr(self, 'vm_set_pu') and self.vm_set_pu is not None: - self.vm_delta_pu = net[self.trafotable].at[self.tid, "tap_step_percent"] / 100. * .5 + self.tol - - def control_step(self, net): - """ - Implements one step of the Discrete controller, always stepping only one tap position up or down - """ - vm_pu = net.res_bus.at[self.controlled_bus, "vm_pu"] - self.tap_pos = net[self.trafotable].at[self.tid, "tap_pos"] - - if self.tap_side_coeff * self.tap_sign == 1: - if vm_pu < self.vm_lower_pu and self.tap_pos > self.tap_min: - self.tap_pos -= 1 - elif vm_pu > self.vm_upper_pu and self.tap_pos < self.tap_max: - self.tap_pos += 1 - elif self.tap_side_coeff * self.tap_sign == -1: - if vm_pu < self.vm_lower_pu and self.tap_pos < self.tap_max: - self.tap_pos += 1 - elif vm_pu > self.vm_upper_pu and self.tap_pos > self.tap_min: - self.tap_pos -= 1 - - # WRITE TO NET - net[self.trafotable].at[self.tid, "tap_pos"] = self.tap_pos - - def is_converged(self, net): - """ - Checks if the voltage is within the desired voltage band, then returns True - """ - if not self.tid in net[self.trafotable].index or \ - not net[self.trafotable].at[self.tid, 'in_service']: - return True - vm_pu = net.res_bus.at[self.controlled_bus, "vm_pu"] - self.tap_pos = net[self.trafotable].at[self.tid, "tap_pos"] - - # render this controller converged if he cant reach the desired point - if self.tap_side_coeff * self.tap_sign == 1: - if vm_pu < self.vm_lower_pu and self.tap_pos == self.tap_min: - return True - elif vm_pu > self.vm_upper_pu and self.tap_pos == self.tap_max: - return True - elif self.tap_side_coeff * self.tap_sign == -1: - if vm_pu < self.vm_lower_pu and self.tap_pos == self.tap_max: - return True - elif vm_pu > self.vm_upper_pu and self.tap_pos == self.tap_min: - return True - return self.vm_lower_pu < vm_pu < self.vm_upper_pu - +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + +from pandapower.control.controller.trafo_control import TrafoController + +class DiscreteTapControl(TrafoController): + """ + Trafo Controller with local tap changer voltage control. + + INPUT: + **net** (attrdict) - Pandapower struct + + **tid** (int) - ID of the trafo that is controlled + + **vm_lower_pu** (float) - Lower voltage limit in pu + + **vm_upper_pu** (float) - Upper voltage limit in pu + + OPTIONAL: + + **side** (string, "lv") - Side of the transformer where the voltage is controlled (hv or lv) + + **trafotype** (float, "2W") - Trafo type ("2W" or "3W") + + **tol** (float, 0.001) - Voltage tolerance band at bus in Percent (default: 1% = 0.01pu) + + **in_service** (bool, True) - Indicates if the controller is currently in_service + + **drop_same_existing_ctrl** (bool, False) - Indicates if already existing controllers of the same type and with the same matching parameters (e.g. at same element) should be dropped + """ + + def __init__(self, net, tid, vm_lower_pu, vm_upper_pu, side="lv", trafotype="2W", + tol=1e-3, in_service=True, order=0, drop_same_existing_ctrl=False, + matching_params=None, **kwargs): + if matching_params is None: + matching_params = {"tid": tid, 'trafotype': trafotype} + super(DiscreteTapControl, self).__init__( + net, tid, side, tol=tol, in_service=in_service, order=order, trafotype=trafotype, + drop_same_existing_ctrl=drop_same_existing_ctrl, matching_params=matching_params, + **kwargs) + + self.vm_lower_pu = vm_lower_pu + self.vm_upper_pu = vm_upper_pu + + self.tap_pos = net[self.trafotable].at[tid, "tap_pos"] + self.vm_delta_pu = net[self.trafotable].at[tid, "tap_step_percent"] / 100. * .5 + self.tol + self.vm_set_pu = kwargs.get("vm_set_pu") + + @classmethod + def from_tap_step_percent(cls, net, tid, vm_set_pu, side="lv", trafotype="2W", tol=1e-3, in_service=True, order=0, + drop_same_existing_ctrl=False, matching_params=None, **kwargs): + """ + Alternative mode of the controller, which uses a set point for voltage and the value of net.trafo.tap_step_percent to calculate + vm_upper_pu and vm_lower_pu. To this end, the parameter vm_set_pu should be provided, instead of vm_lower_pu and vm_upper_pu. + To use this mode of the controller, the controller can be initialized as following: + + >>> c = DiscreteTapControl.from_tap_step_percent(net, tid, vm_set_pu) + + INPUT: + **net** (attrdict) - Pandapower struct + + **tid** (int) - ID of the trafo that is controlled + + **vm_set_pu** (float) - Voltage setpoint in pu + """ + self = cls(net, tid=tid, vm_lower_pu=None, vm_upper_pu=None, side=side, trafotype=trafotype, tol=tol, + in_service=in_service, order=order, drop_same_existing_ctrl=drop_same_existing_ctrl, + matching_params=matching_params, vm_set_pu=vm_set_pu, **kwargs) + return self + + @property + def vm_set_pu(self): + return self._vm_set_pu + + @vm_set_pu.setter + def vm_set_pu(self, value): + self._vm_set_pu = value + if value is None: + return + self.vm_lower_pu = value - self.vm_delta_pu + self.vm_upper_pu = value + self.vm_delta_pu + + def initialize_control(self, net): + if hasattr(self, 'vm_set_pu') and self.vm_set_pu is not None: + self.vm_delta_pu = net[self.trafotable].at[self.tid, "tap_step_percent"] / 100. * .5 + self.tol + + def control_step(self, net): + """ + Implements one step of the Discrete controller, always stepping only one tap position up or down + """ + vm_pu = net.res_bus.at[self.controlled_bus, "vm_pu"] + self.tap_pos = net[self.trafotable].at[self.tid, "tap_pos"] + + if self.tap_side_coeff * self.tap_sign == 1: + if vm_pu < self.vm_lower_pu and self.tap_pos > self.tap_min: + self.tap_pos -= 1 + elif vm_pu > self.vm_upper_pu and self.tap_pos < self.tap_max: + self.tap_pos += 1 + elif self.tap_side_coeff * self.tap_sign == -1: + if vm_pu < self.vm_lower_pu and self.tap_pos < self.tap_max: + self.tap_pos += 1 + elif vm_pu > self.vm_upper_pu and self.tap_pos > self.tap_min: + self.tap_pos -= 1 + + # WRITE TO NET + net[self.trafotable].at[self.tid, "tap_pos"] = self.tap_pos + + def is_converged(self, net): + """ + Checks if the voltage is within the desired voltage band, then returns True + """ + if not self.tid in net[self.trafotable].index or \ + not net[self.trafotable].at[self.tid, 'in_service']: + return True + vm_pu = net.res_bus.at[self.controlled_bus, "vm_pu"] + self.tap_pos = net[self.trafotable].at[self.tid, "tap_pos"] + + # render this controller converged if he cant reach the desired point + if self.tap_side_coeff * self.tap_sign == 1: + if vm_pu < self.vm_lower_pu and self.tap_pos == self.tap_min: + return True + elif vm_pu > self.vm_upper_pu and self.tap_pos == self.tap_max: + return True + elif self.tap_side_coeff * self.tap_sign == -1: + if vm_pu < self.vm_lower_pu and self.tap_pos == self.tap_max: + return True + elif vm_pu > self.vm_upper_pu and self.tap_pos == self.tap_min: + return True + return self.vm_lower_pu < vm_pu < self.vm_upper_pu + diff --git a/pandapower/control/controller/trafo/TapDependentImpedance.py b/pandapower/control/controller/trafo/TapDependentImpedance.py index 3d4aa4413..83fbb91f1 100644 --- a/pandapower/control/controller/trafo/TapDependentImpedance.py +++ b/pandapower/control/controller/trafo/TapDependentImpedance.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. from pandapower.control.controller.characteristic_control import CharacteristicControl diff --git a/pandapower/control/controller/trafo/USetTapControl.py b/pandapower/control/controller/trafo/USetTapControl.py index 23cf3f9ab..54191c9b7 100644 --- a/pandapower/control/controller/trafo/USetTapControl.py +++ b/pandapower/control/controller/trafo/USetTapControl.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. from pandapower.control.controller.characteristic_control import CharacteristicControl diff --git a/pandapower/control/controller/trafo_control.py b/pandapower/control/controller/trafo_control.py index dc24d1dd6..1b3d893ce 100644 --- a/pandapower/control/controller/trafo_control.py +++ b/pandapower/control/controller/trafo_control.py @@ -1,135 +1,135 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - -import numpy as np -from pandapower.control.basic_controller import Controller - -try: - import pplog as logging -except ImportError: - import logging -logger = logging.getLogger(__name__) - - -class TrafoController(Controller): - """ - Trafo Controller with local tap changer voltage control. - - INPUT: - **net** (attrdict) - Pandapower struct - - **tid** (int) - ID of the trafo that is controlled - - **side** (string) - Side of the transformer where the voltage is controlled ("hv", "mv" - or "lv") - - **tol** (float) - Voltage tolerance band at bus in Percent - - **in_service** (bool) - Indicates if the element is currently active - - **trafotype** (string) - Type of the controlled trafo ("2W" or "3W") - - OPTIONAL: - **recycle** (bool, True) - Re-use of internal-data in a time series loop. - """ - - def __init__(self, net, tid, side, tol, in_service, trafotype, level=0, order=0, recycle=True, - **kwargs): - super().__init__(net, in_service=in_service, level=level, order=order, recycle=recycle, - **kwargs) - self.tid = tid - self.trafotype = trafotype - - if trafotype == "2W": - if side not in ["hv", "lv"]: - raise UserWarning("side has to be 'hv' or 'lv' for high/low voltage, " - "received %s" % side) - self.trafotable = "trafo" - elif trafotype == "3W": - if side not in ["hv", "mv", "lv"]: - raise UserWarning("side has to be 'hv', 'mv' or 'lv' for high/middle/low voltage, " - "received %s" % side) - self.trafotable = "trafo3w" - else: - raise UserWarning("unknown trafo type, received %s" % trafotype) - - self.element_in_service = net[self.trafotable].at[self.tid, "in_service"] - - self.side = side - self.controlled_bus = net[self.trafotable].at[tid, side + "_bus"] - if self.controlled_bus in net.ext_grid.loc[net.ext_grid.in_service, 'bus'].values: - logger.warning("Controlled Bus is Slack Bus - deactivating controller") - self.set_active(net, False) - elif self.controlled_bus in net.ext_grid.loc[ - ~net.ext_grid.in_service, 'bus'].values: - logger.warning("Controlled Bus is Slack Bus with slack out of service - " - "not deactivating controller") - - self.tap_min = net[self.trafotable].at[tid, "tap_min"] - self.tap_max = net[self.trafotable].at[tid, "tap_max"] - self.tap_step_percent = net[self.trafotable].at[tid, "tap_step_percent"] - self.tap_step_degree = net[self.trafotable].at[tid, "tap_step_degree"] - if not np.isnan(self.tap_step_degree): - self.tap_sign = np.sign(np.cos(np.deg2rad(self.tap_step_degree))) - else: - self.tap_sign = 1 - if self.tap_sign == 0 or np.isnan(self.tap_sign): - # 0 is very unprobable case because of numpy, but still checking to be 100 % sure - self.tap_sign = 1 - self.tap_pos = net[self.trafotable].at[self.tid, "tap_pos"] - if np.isnan(self.tap_pos): - self.tap_pos = net[self.trafotable].at[tid, "tap_neutral"] - - if np.isnan(self.tap_min) or \ - np.isnan(self.tap_max) or \ - np.isnan(self.tap_step_percent): - logger.error("Trafo-Controller has been initialized with NaN values, check " - "net.trafo.tap_pos etc. if they are set correctly!") - - self.tol = tol - tap_side = net[self.trafotable].tap_side.at[tid] - if trafotype == "2W": - if tap_side == "hv": - self.tap_side_coeff = 1 - elif tap_side == "lv": - self.tap_side_coeff = -1 - else: - raise ValueError("Trafo tap side (in net.%s) has to be either hv or lv, " - "but received: %s for trafo %s" % (self.trafotable, tap_side, - self.tid)) - elif trafotype == "3W": - if tap_side == "hv": - self.tap_side_coeff = 1 - elif tap_side in ["mv", "lv"]: - self.tap_side_coeff = -1 - else: - raise ValueError("Trafo tap side (in net.%s) has to be either hv, mv or lv, " - "but received %s for trafo %s" % (self.trafotable, tap_side, - self.tid)) - if net[self.trafotable].at[self.tid, "tap_step_percent"] < 0: - self.tap_side_coeff *= -1 - self.set_recycle(net) - - def set_recycle(self, net): - allowed_elements = ["2W", "3W"] - if net.controller.at[self.index, 'recycle'] is False or self.trafotype not in allowed_elements: - # if recycle is set to False by the user when creating the controller it is deactivated or when - # const control controls an element which is not able to be recycled - net.controller.at[self.index, 'recycle'] = False - return - # these variables determine what is re-calculated during a time series run - recycle = dict(trafo=True, gen=False, bus_pq=False) - net.controller.at[self.index, 'recycle'] = recycle - - def timestep(self, net): - self.tap_pos = net[self.trafotable].at[self.tid, "tap_pos"] - - def __repr__(self): - s = '%s of %s %d' % (self.__class__.__name__, self.trafotable, self.tid) - return s - - def __str__(self): - s = '%s of %s %d' % (self.__class__.__name__, self.trafotable, self.tid) - return s +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + +import numpy as np +from pandapower.control.basic_controller import Controller + +try: + import pplog as logging +except ImportError: + import logging +logger = logging.getLogger(__name__) + + +class TrafoController(Controller): + """ + Trafo Controller with local tap changer voltage control. + + INPUT: + **net** (attrdict) - Pandapower struct + + **tid** (int) - ID of the trafo that is controlled + + **side** (string) - Side of the transformer where the voltage is controlled ("hv", "mv" + or "lv") + + **tol** (float) - Voltage tolerance band at bus in Percent + + **in_service** (bool) - Indicates if the element is currently active + + **trafotype** (string) - Type of the controlled trafo ("2W" or "3W") + + OPTIONAL: + **recycle** (bool, True) - Re-use of internal-data in a time series loop. + """ + + def __init__(self, net, tid, side, tol, in_service, trafotype, level=0, order=0, recycle=True, + **kwargs): + super().__init__(net, in_service=in_service, level=level, order=order, recycle=recycle, + **kwargs) + self.tid = tid + self.trafotype = trafotype + + if trafotype == "2W": + if side not in ["hv", "lv"]: + raise UserWarning("side has to be 'hv' or 'lv' for high/low voltage, " + "received %s" % side) + self.trafotable = "trafo" + elif trafotype == "3W": + if side not in ["hv", "mv", "lv"]: + raise UserWarning("side has to be 'hv', 'mv' or 'lv' for high/middle/low voltage, " + "received %s" % side) + self.trafotable = "trafo3w" + else: + raise UserWarning("unknown trafo type, received %s" % trafotype) + + self.element_in_service = net[self.trafotable].at[self.tid, "in_service"] + + self.side = side + self.controlled_bus = net[self.trafotable].at[tid, side + "_bus"] + if self.controlled_bus in net.ext_grid.loc[net.ext_grid.in_service, 'bus'].values: + logger.warning("Controlled Bus is Slack Bus - deactivating controller") + self.set_active(net, False) + elif self.controlled_bus in net.ext_grid.loc[ + ~net.ext_grid.in_service, 'bus'].values: + logger.warning("Controlled Bus is Slack Bus with slack out of service - " + "not deactivating controller") + + self.tap_min = net[self.trafotable].at[tid, "tap_min"] + self.tap_max = net[self.trafotable].at[tid, "tap_max"] + self.tap_step_percent = net[self.trafotable].at[tid, "tap_step_percent"] + self.tap_step_degree = net[self.trafotable].at[tid, "tap_step_degree"] + if not np.isnan(self.tap_step_degree): + self.tap_sign = np.sign(np.cos(np.deg2rad(self.tap_step_degree))) + else: + self.tap_sign = 1 + if self.tap_sign == 0 or np.isnan(self.tap_sign): + # 0 is very unprobable case because of numpy, but still checking to be 100 % sure + self.tap_sign = 1 + self.tap_pos = net[self.trafotable].at[self.tid, "tap_pos"] + if np.isnan(self.tap_pos): + self.tap_pos = net[self.trafotable].at[tid, "tap_neutral"] + + if np.isnan(self.tap_min) or \ + np.isnan(self.tap_max) or \ + np.isnan(self.tap_step_percent): + logger.error("Trafo-Controller has been initialized with NaN values, check " + "net.trafo.tap_pos etc. if they are set correctly!") + + self.tol = tol + tap_side = net[self.trafotable].tap_side.at[tid] + if trafotype == "2W": + if tap_side == "hv": + self.tap_side_coeff = 1 + elif tap_side == "lv": + self.tap_side_coeff = -1 + else: + raise ValueError("Trafo tap side (in net.%s) has to be either hv or lv, " + "but received: %s for trafo %s" % (self.trafotable, tap_side, + self.tid)) + elif trafotype == "3W": + if tap_side == "hv": + self.tap_side_coeff = 1 + elif tap_side in ["mv", "lv"]: + self.tap_side_coeff = -1 + else: + raise ValueError("Trafo tap side (in net.%s) has to be either hv, mv or lv, " + "but received %s for trafo %s" % (self.trafotable, tap_side, + self.tid)) + if net[self.trafotable].at[self.tid, "tap_step_percent"] < 0: + self.tap_side_coeff *= -1 + self.set_recycle(net) + + def set_recycle(self, net): + allowed_elements = ["2W", "3W"] + if net.controller.at[self.index, 'recycle'] is False or self.trafotype not in allowed_elements: + # if recycle is set to False by the user when creating the controller it is deactivated or when + # const control controls an element which is not able to be recycled + net.controller.at[self.index, 'recycle'] = False + return + # these variables determine what is re-calculated during a time series run + recycle = dict(trafo=True, gen=False, bus_pq=False) + net.controller.at[self.index, 'recycle'] = recycle + + def timestep(self, net): + self.tap_pos = net[self.trafotable].at[self.tid, "tap_pos"] + + def __repr__(self): + s = '%s of %s %d' % (self.__class__.__name__, self.trafotable, self.tid) + return s + + def __str__(self): + s = '%s of %s %d' % (self.__class__.__name__, self.trafotable, self.tid) + return s diff --git a/pandapower/control/run_control.py b/pandapower/control/run_control.py index 6eb118173..1cf7ed55b 100644 --- a/pandapower/control/run_control.py +++ b/pandapower/control/run_control.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. import pandapower as pp diff --git a/pandapower/control/util/auxiliary.py b/pandapower/control/util/auxiliary.py index de0c68f75..4b50c6de2 100644 --- a/pandapower/control/util/auxiliary.py +++ b/pandapower/control/util/auxiliary.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. import sys import numpy as np diff --git a/pandapower/control/util/characteristic.py b/pandapower/control/util/characteristic.py index e76c7ad29..f475856bb 100644 --- a/pandapower/control/util/characteristic.py +++ b/pandapower/control/util/characteristic.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. from builtins import zip diff --git a/pandapower/control/util/diagnostic.py b/pandapower/control/util/diagnostic.py index a60f3739e..368f5a8ae 100644 --- a/pandapower/control/util/diagnostic.py +++ b/pandapower/control/util/diagnostic.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. from copy import deepcopy import numpy as np diff --git a/pandapower/convert_format.py b/pandapower/convert_format.py index 54be115ed..beb4cf698 100644 --- a/pandapower/convert_format.py +++ b/pandapower/convert_format.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. import numpy as np diff --git a/pandapower/converter/matpower/from_mpc.py b/pandapower/converter/matpower/from_mpc.py index 1c03bbdf2..773076ceb 100644 --- a/pandapower/converter/matpower/from_mpc.py +++ b/pandapower/converter/matpower/from_mpc.py @@ -1,107 +1,107 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import numpy as np -import scipy.io - -from pandapower.converter.pypower import from_ppc - -try: - import pplog as logging -except ImportError: - import logging - -logger = logging.getLogger(__name__) - - -def from_mpc(mpc_file, f_hz=50, casename_mpc_file='mpc', validate_conversion=False): - """ - This function converts a matpower case file version 2 to a pandapower net. - - Note: The input is a .mat file not an .m script. You need to save the mpc dict variable as .mat - file. If the saved variable of the matlab workspace is not named 'mpc', you can adapt the value - of 'casename_mpc_file' as needed. - - Note: python is 0-based while Matlab is 1-based. - - INPUT: - - **mpc_file** - path to a matpower case file (.mat format not .m script). - - OPTIONAL: - - **f_hz** (int, 50) - The frequency of the network. - - **casename_mpc_file** (str, 'mpc') - The name of the variable in .mat file which contain - the matpower case structure, i.e. the arrays "gen", "branch" and "bus". - - OUTPUT: - - **net** - The pandapower network - - EXAMPLE: - - import pandapower.converter as pc - - pp_net = cv.from_mpc('case9.mat', f_hz=60) - - """ - ppc = _mpc2ppc(mpc_file, casename_mpc_file) - net = from_ppc(ppc, f_hz, validate_conversion) - - return net - - -def _mpc2ppc(mpc_file, casename_mpc_file): - # load mpc from file - mpc = scipy.io.loadmat(mpc_file, squeeze_me=True, struct_as_record=False) - - # init empty ppc - ppc = dict() - - _copy_data_from_mpc_to_ppc(ppc, mpc, casename_mpc_file) - _adjust_ppc_indices(ppc) - _change_ppc_TAP_value(ppc) - - return ppc - - -def _adjust_ppc_indices(ppc): - # adjust indices of ppc, since ppc must start at 0 rather than 1 (matlab) - ppc["bus"][:, 0] -= 1 - ppc["branch"][:, 0] -= 1 - ppc["branch"][:, 1] -= 1 - # if in ppc is only one gen -> numpy initially uses one dim array -> change to two dim array - if len(ppc["gen"].shape) == 1: - ppc["gen"] = np.array(ppc["gen"], ndmin=2) - ppc["gen"][:, 0] -= 1 - - -def _copy_data_from_mpc_to_ppc(ppc, mpc, casename_mpc_file): - if casename_mpc_file in mpc: - # if struct contains a field named mpc - ppc['version'] = mpc[casename_mpc_file].version - ppc["baseMVA"] = mpc[casename_mpc_file].baseMVA - ppc["bus"] = mpc[casename_mpc_file].bus - ppc["gen"] = mpc[casename_mpc_file].gen - ppc["branch"] = mpc[casename_mpc_file].branch - - try: - ppc['gencost'] = mpc[casename_mpc_file].gencost - except: - logger.info('gencost is not in mpc') - - else: - logger.error('Matfile does not contain a valid mpc structure.') - - -def _change_ppc_TAP_value(ppc): - # adjust for the matpower converter -> taps should be 0 when there is no transformer, but are 1 - ppc["branch"][np.where(ppc["branch"][:, 8] == 0), 8] = 1 - - -if "__main__" == __name__: - pass +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import numpy as np +import scipy.io + +from pandapower.converter.pypower import from_ppc + +try: + import pplog as logging +except ImportError: + import logging + +logger = logging.getLogger(__name__) + + +def from_mpc(mpc_file, f_hz=50, casename_mpc_file='mpc', validate_conversion=False): + """ + This function converts a matpower case file version 2 to a pandapower net. + + Note: The input is a .mat file not an .m script. You need to save the mpc dict variable as .mat + file. If the saved variable of the matlab workspace is not named 'mpc', you can adapt the value + of 'casename_mpc_file' as needed. + + Note: python is 0-based while Matlab is 1-based. + + INPUT: + + **mpc_file** - path to a matpower case file (.mat format not .m script). + + OPTIONAL: + + **f_hz** (int, 50) - The frequency of the network. + + **casename_mpc_file** (str, 'mpc') - The name of the variable in .mat file which contain + the matpower case structure, i.e. the arrays "gen", "branch" and "bus". + + OUTPUT: + + **net** - The pandapower network + + EXAMPLE: + + import pandapower.converter as pc + + pp_net = cv.from_mpc('case9.mat', f_hz=60) + + """ + ppc = _mpc2ppc(mpc_file, casename_mpc_file) + net = from_ppc(ppc, f_hz, validate_conversion) + + return net + + +def _mpc2ppc(mpc_file, casename_mpc_file): + # load mpc from file + mpc = scipy.io.loadmat(mpc_file, squeeze_me=True, struct_as_record=False) + + # init empty ppc + ppc = dict() + + _copy_data_from_mpc_to_ppc(ppc, mpc, casename_mpc_file) + _adjust_ppc_indices(ppc) + _change_ppc_TAP_value(ppc) + + return ppc + + +def _adjust_ppc_indices(ppc): + # adjust indices of ppc, since ppc must start at 0 rather than 1 (matlab) + ppc["bus"][:, 0] -= 1 + ppc["branch"][:, 0] -= 1 + ppc["branch"][:, 1] -= 1 + # if in ppc is only one gen -> numpy initially uses one dim array -> change to two dim array + if len(ppc["gen"].shape) == 1: + ppc["gen"] = np.array(ppc["gen"], ndmin=2) + ppc["gen"][:, 0] -= 1 + + +def _copy_data_from_mpc_to_ppc(ppc, mpc, casename_mpc_file): + if casename_mpc_file in mpc: + # if struct contains a field named mpc + ppc['version'] = mpc[casename_mpc_file].version + ppc["baseMVA"] = mpc[casename_mpc_file].baseMVA + ppc["bus"] = mpc[casename_mpc_file].bus + ppc["gen"] = mpc[casename_mpc_file].gen + ppc["branch"] = mpc[casename_mpc_file].branch + + try: + ppc['gencost'] = mpc[casename_mpc_file].gencost + except: + logger.info('gencost is not in mpc') + + else: + logger.error('Matfile does not contain a valid mpc structure.') + + +def _change_ppc_TAP_value(ppc): + # adjust for the matpower converter -> taps should be 0 when there is no transformer, but are 1 + ppc["branch"][np.where(ppc["branch"][:, 8] == 0), 8] = 1 + + +if "__main__" == __name__: + pass diff --git a/pandapower/converter/matpower/to_mpc.py b/pandapower/converter/matpower/to_mpc.py index 0191782ef..f1ef42a83 100644 --- a/pandapower/converter/matpower/to_mpc.py +++ b/pandapower/converter/matpower/to_mpc.py @@ -1,81 +1,81 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import copy - -import numpy as np -from scipy.io import savemat - -from pandapower.converter.pypower import to_ppc - -try: - import pplog as logging -except ImportError: - import logging - -logger = logging.getLogger(__name__) - - -def to_mpc(net, filename=None, **kwargs): - """ - This function converts a pandapower net to a matpower case files (.mat) version 2. - Note: python is 0-based while Matlab is 1-based. - - INPUT: - **net** - The pandapower net. - - OPTIONAL: - **filename** (str, None) - File path + name of the mat file which will be created. If None - the mpc will only be returned - - ****kwargs** - please look at to_ppc() documentation - - EXAMPLE: - import pandapower.converter as pc - import pandapower.networks as pn - net = pn.case9() - pc.to_mpc(net, "case9.mat") - - """ - ppc = to_ppc(net, **kwargs) - - mpc = dict() - mpc["mpc"] = _ppc2mpc(ppc) - if filename is not None: - # savemat - savemat(filename, mpc) - - return mpc - - -def _ppc2mpc(ppc): - """ - Convert network in Pypower/Matpower format - Convert 0-based python to 1-based Matlab - - **INPUT**: - * net - The pandapower format network - * filename - File path + name of the mat file which is created - """ - - # convert to matpower - # Matlab is one-based, so all entries (buses, lines, gens) have to start with 1 instead of 0 - mpc = copy.deepcopy(ppc) - if len(np.where(mpc["bus"][:, 0] == 0)[0]): - mpc["bus"][:, 0] = mpc["bus"][:, 0] + 1 - mpc["gen"][:, 0] = mpc["gen"][:, 0] + 1 - mpc["branch"][:, 0:2] = mpc["branch"][:, 0:2] + 1 - # adjust for the matpower converter -> taps should be 0 when there is no transformer, but are 1 - mpc["branch"][np.where(mpc["branch"][:, 8] == 1), 8] = 0 - # version is a string - mpc["version"] = str(mpc["version"]) - # baseMVA has to be a float instead of int - mpc["baseMVA"] = mpc["baseMVA"] * 1.0 - return mpc - - -if "__main__" == __name__: - pass +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import copy + +import numpy as np +from scipy.io import savemat + +from pandapower.converter.pypower import to_ppc + +try: + import pplog as logging +except ImportError: + import logging + +logger = logging.getLogger(__name__) + + +def to_mpc(net, filename=None, **kwargs): + """ + This function converts a pandapower net to a matpower case files (.mat) version 2. + Note: python is 0-based while Matlab is 1-based. + + INPUT: + **net** - The pandapower net. + + OPTIONAL: + **filename** (str, None) - File path + name of the mat file which will be created. If None + the mpc will only be returned + + ****kwargs** - please look at to_ppc() documentation + + EXAMPLE: + import pandapower.converter as pc + import pandapower.networks as pn + net = pn.case9() + pc.to_mpc(net, "case9.mat") + + """ + ppc = to_ppc(net, **kwargs) + + mpc = dict() + mpc["mpc"] = _ppc2mpc(ppc) + if filename is not None: + # savemat + savemat(filename, mpc) + + return mpc + + +def _ppc2mpc(ppc): + """ + Convert network in Pypower/Matpower format + Convert 0-based python to 1-based Matlab + + **INPUT**: + * net - The pandapower format network + * filename - File path + name of the mat file which is created + """ + + # convert to matpower + # Matlab is one-based, so all entries (buses, lines, gens) have to start with 1 instead of 0 + mpc = copy.deepcopy(ppc) + if len(np.where(mpc["bus"][:, 0] == 0)[0]): + mpc["bus"][:, 0] = mpc["bus"][:, 0] + 1 + mpc["gen"][:, 0] = mpc["gen"][:, 0] + 1 + mpc["branch"][:, 0:2] = mpc["branch"][:, 0:2] + 1 + # adjust for the matpower converter -> taps should be 0 when there is no transformer, but are 1 + mpc["branch"][np.where(mpc["branch"][:, 8] == 1), 8] = 0 + # version is a string + mpc["version"] = str(mpc["version"]) + # baseMVA has to be a float instead of int + mpc["baseMVA"] = mpc["baseMVA"] * 1.0 + return mpc + + +if "__main__" == __name__: + pass diff --git a/pandapower/converter/pypower/from_ppc.py b/pandapower/converter/pypower/from_ppc.py index c6311fd1a..96600dedb 100644 --- a/pandapower/converter/pypower/from_ppc.py +++ b/pandapower/converter/pypower/from_ppc.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/converter/pypower/to_ppc.py b/pandapower/converter/pypower/to_ppc.py index 042a1e433..cc0410bd7 100644 --- a/pandapower/converter/pypower/to_ppc.py +++ b/pandapower/converter/pypower/to_ppc.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. from numpy import allclose diff --git a/pandapower/create.py b/pandapower/create.py index 2681d46fc..67a46e114 100644 --- a/pandapower/create.py +++ b/pandapower/create.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/diagnostic.py b/pandapower/diagnostic.py index 8cc02f639..8266d6260 100644 --- a/pandapower/diagnostic.py +++ b/pandapower/diagnostic.py @@ -1,920 +1,920 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import copy -import pandas as pd -import numpy as np -import pandapower as pp - -try: - import pplog as logging -except ImportError: - import logging - -logger = logging.getLogger(__name__) - -from pandapower.run import runpp -from pandapower.diagnostic_reports import diagnostic_report -from pandapower.toolbox import get_connected_elements -from pandapower.powerflow import LoadflowNotConverged - -# separator between log messages -log_message_sep = ("\n --------\n") - - -def diagnostic(net, report_style='detailed', warnings_only=False, return_result_dict=True, - overload_scaling_factor=0.001, min_r_ohm=0.001, min_x_ohm=0.001, min_r_pu=1e-05, - min_x_pu=1e-05, nom_voltage_tolerance=0.3, numba_tolerance=1e-05): - """ - Tool for diagnosis of pandapower networks. Identifies possible reasons for non converging loadflows. - - INPUT: - **net** (pandapowerNet) : pandapower network - - OPTIONAL: - - **report_style** (string, 'detailed') : style of the report, that gets ouput in the console - - 'detailled': full report with high level of additional descriptions - - 'compact' : more compact report, containing essential information only - - 'None' : no report - - - - **warnings_only** (boolean, False): Filters logging output for warnings - - True: logging output for errors only - - False: logging output for all checks, regardless if errors were found or not - - - - **return_result_dict** (boolean, True): returns a dictionary containing all check results - - True: returns dict with all check results - - False: no result dict - - - **overload_scaling_factor** (float, 0.001): downscaling factor for loads and generation \ - for overload check - - - **lines_min_length_km** (float, 0): minimum length_km allowed for lines - - - **lines_min_z_ohm** (float, 0): minimum z_ohm allowed for lines - - - **nom_voltage_tolerance** (float, 0.3): highest allowed relative deviation between nominal \ - voltages and bus voltages - - OUTPUT: - - **diag_results** (dict): dict that contains the indices of all elements where errors were found - - Format: {'check_name': check_results} - - EXAMPLE: - - <<< pandapower.diagnostic(net, report_style='compact', warnings_only=True) - - """ - diag_functions = ["missing_bus_indices(net)", - "disconnected_elements(net)", - "different_voltage_levels_connected(net)", - "impedance_values_close_to_zero(net, min_r_ohm, min_x_ohm, min_r_pu, min_x_pu)", - "nominal_voltages_dont_match(net, nom_voltage_tolerance)", - "invalid_values(net)", - "overload(net, overload_scaling_factor)", - "wrong_switch_configuration(net)", - "multiple_voltage_controlling_elements_per_bus(net)", - "no_ext_grid(net)", - "wrong_reference_system(net)", - "deviation_from_std_type(net)", - "numba_comparison(net, numba_tolerance)", - "parallel_switches(net)"] - - diag_results = {} - diag_errors = {} - for diag_function in diag_functions: - try: - diag_result = eval(diag_function) - if not diag_result == None: - diag_results[diag_function.split("(")[0]] = diag_result - except Exception as e: - diag_errors[diag_function.split("(")[0]] = e - - - diag_params = { - "overload_scaling_factor": overload_scaling_factor, - "min_r_ohm": min_r_ohm, - "min_x_ohm": min_x_ohm, - "min_r_pu": min_r_pu, - "min_x_pu": min_x_pu, - "nom_voltage_tolerance": nom_voltage_tolerance, - "numba_tolerance": numba_tolerance - } - - if report_style == 'detailed': - diagnostic_report(net, diag_results, diag_errors, diag_params, compact_report=False, - warnings_only=warnings_only) - elif report_style == 'compact': - diagnostic_report(net, diag_results, diag_errors, diag_params, compact_report=True, - warnings_only=warnings_only) - if return_result_dict: - return diag_results - - -def check_greater_zero(element, element_index, column): - """ - functions that check, if a certain input type restriction for attribute values of a pandapower - elements are fulfilled. Exemplary description for all type check functions. - - INPUT: - **element (pandas.Series)** - pandapower element instance (e.g. net.bus.loc[1]) - - **element_index (int)** - index of the element instance - - **column (string)** - element attribute (e.g. 'vn_kv') - - - OUTPUT: - **element_index (index)** - index of element instance, if input type restriction is not - fulfilled - - - """ - - if check_number(element, element_index, column) is None: - - if (element[column] <= 0): - return element_index - - else: - return element_index - - -def check_greater_equal_zero(element, element_index, column): - if check_number(element, element_index, column) is None: - - if (element[column] < 0): - return element_index - - else: - return element_index - - -def check_less_zero(element, element_index, column): - if check_number(element, element_index, column) is None: - - if (element[column] >= 0): - return element_index - - else: - return element_index - - -def check_less_equal_zero(element, element_index, column): - if check_number(element, element_index, column) is None: - - if (element[column] > 0): - return element_index - - else: - return element_index - - -def check_boolean(element, element_index, column): - valid_values = [True, False, 0, 1, 0.0, 1.0] - if element[column] not in valid_values: - return element_index - - -def check_pos_int(element, element_index, column): - if check_number(element, element_index, column) is None: - if not ((element[column] % 1 == 0) and element[column] >= 0): - return element_index - - else: - return element_index - - -def check_number(element, element_index, column): - try: - nan_check = np.isnan(element[column]) - if nan_check or isinstance(element[column], bool): - return element_index - except TypeError: - return element_index - - -def check_greater_zero_less_equal_one(element, element_index, column): - if check_number(element, element_index, column) is None: - - if not (0 < element[column] <= 1): - return element_index - - else: - return element_index - - -def check_switch_type(element, element_index, column): - valid_values = ['b', 'l', 't', 't3'] - if element[column] not in valid_values: - return element_index - - -def invalid_values(net): - """ - Applies type check functions to find violations of input type restrictions. - - INPUT: - **net** (pandapowerNet) - pandapower network - - **detailed_report** (boolean) - True: detailed report of input type restriction violations - False: summary only - - OUTPUT: - **check_results** (dict) - dict that contains all input type restriction violations - grouped by element (keys) - Format: {'element': [element_index, 'element_attribute', - attribute_value]} - - """ - - check_results = {} - - # Contains all element attributes that are necessary to initiate a power flow calculation. - # There's a tuple with the structure (attribute_name, input type restriction) - # for each attribute according to pandapower data structure documantation - # (see also type_checks function) - - important_values = {'bus': [('vn_kv', '>0'), ('in_service', 'boolean')], - 'line': [('from_bus', 'positive_integer'), - ('to_bus', 'positive_integer'), - ('length_km', '>0'), ('r_ohm_per_km', '>=0'), - ('x_ohm_per_km', '>=0'), ('c_nf_per_km', '>=0'), - ('max_i_ka', '>0'), ('df', '00'), ('vn_hv_kv', '>0'), ('vn_lv_kv', '>0'), - ('vkr_percent', '>=0'), - ('vk_percent', '>0'), ('pfe_kw', '>=0'), ('i0_percent', '>=0'), - ('in_service', 'boolean')], - 'trafo3w': [('hv_bus', 'positive_integer'), ('mv_bus', 'positive_integer'), - ('lv_bus', 'positive_integer'), - ('sn_hv_mva', '>0'), ('sn_mv_mva', '>0'), ('sn_lv_mva', '>0'), - ('vn_hv_kv', '>0'), ('vn_mv_kv', '>0'), ('vn_lv_kv', '>0'), - ('vkr_hv_percent', '>=0'), ('vkr_mv_percent', '>=0'), - ('vkr_lv_percent', '>=0'), ('vk_hv_percent', '>0'), - ('vk_mv_percent', '>0'), ('vk_lv_percent', '>0'), - ('pfe_kw', '>=0'), ('i0_percent', '>=0'), - ('in_service', 'boolean')], - 'load': [('bus', 'positive_integer'), ('p_mw', 'number'), - ('q_mvar', 'number'), - ('scaling', '>=0'), ('in_service', 'boolean')], - 'sgen': [('bus', 'positive_integer'), ('p_mw', 'number'), - ('q_mvar', 'number'), - ('scaling', '>=0'), ('in_service', 'boolean')], - 'gen': [('bus', 'positive_integer'), ('p_mw', 'number'), - ('scaling', '>=0'), ('in_service', 'boolean')], - 'ext_grid': [('bus', 'positive_integer'), ('vm_pu', '>0'), - ('va_degree', 'number')], - 'switch': [('bus', 'positive_integer'), ('element', 'positive_integer'), - ('et', 'switch_type'), ('closed', 'boolean')]} - - # matches a check function to each single input type restriction - type_checks = {'>0': check_greater_zero, - '>=0': check_greater_equal_zero, - '<0': check_less_zero, - '<=0': check_less_equal_zero, - 'boolean': check_boolean, - 'positive_integer': check_pos_int, - 'number': check_number, - '0 0: - for value in important_values[key]: - for i, element in net[key].iterrows(): - check_result = type_checks[value[1]](element, i, value[0]) - if check_result is not None: - if key not in check_results: - check_results[key] = [] - # converts np.nan to str for easier usage of assert in pytest - nan_check = pd.isnull(net[key][value[0]].at[i]) - if nan_check: - check_results[key].append((i, value[0], - str(net[key][value[0]].at[i]), value[1])) - else: - check_results[key].append((i, value[0], - net[key][value[0]].at[i], value[1])) - if check_results: - return check_results - - -def no_ext_grid(net): - """ - Checks, if at least one external grid exists. - - INPUT: - **net** (pandapowerNet) - pandapower network - - """ - - if net.ext_grid.in_service.sum() + (net.gen.slack & net.gen.in_service).sum() == 0: - return True - - -def multiple_voltage_controlling_elements_per_bus(net): - """ - Checks, if there are buses with more than one generator and/or more than one external grid. - - INPUT: - **net** (pandapowerNet) - pandapower network - - **detailed_report** (boolean) - True: detailed report of errors found - l False: summary only - - OUTPUT: - **check_results** (dict) - dict that contains all buses with multiple generator and - all buses with multiple external grids - Format: {'mult_ext_grids': [buses] - 'buses_with_mult_gens', [buses]} - - """ - check_results = {} - buses_with_mult_ext_grids = list(net.ext_grid.groupby("bus").count().query("vm_pu > 1").index) - if buses_with_mult_ext_grids: - check_results['buses_with_mult_ext_grids'] = buses_with_mult_ext_grids - buses_with_gens_and_ext_grids = set(net.ext_grid.bus).intersection(set(net.gen.bus)) - if buses_with_gens_and_ext_grids: - check_results['buses_with_gens_and_ext_grids'] = list(buses_with_gens_and_ext_grids) - - if check_results: - return check_results - - -def overload(net, overload_scaling_factor): - """ - Checks, if a loadflow calculation converges. If not, checks, if an overload is the reason for - that by scaling down the loads, gens and sgens to 0.1%. - - INPUT: - **net** (pandapowerNet) - pandapower network - - - OUTPUT: - **check_results** (dict) - dict with the results of the overload check - Format: {'load_overload': True/False - 'generation_overload', True/False} - - """ - check_result = {} - load_scaling = copy.deepcopy(net.load.scaling) - gen_scaling = copy.deepcopy(net.gen.scaling) - sgen_scaling = copy.deepcopy(net.sgen.scaling) - - try: - runpp(net) - except LoadflowNotConverged: - check_result['load'] = False - check_result['generation'] = False - try: - net.load.scaling = overload_scaling_factor - runpp(net) - check_result['load'] = True - except: - net.load.scaling = load_scaling - try: - net.gen.scaling = overload_scaling_factor - net.sgen.scaling = overload_scaling_factor - runpp(net) - check_result['generation'] = True - except: - net.sgen.scaling = sgen_scaling - net.gen.scaling = gen_scaling - try: - net.load.scaling = overload_scaling_factor - net.gen.scaling = overload_scaling_factor - net.sgen.scaling = overload_scaling_factor - runpp(net) - check_result['generation'] = True - check_result['load'] = True - except: - pass - net.sgen.scaling = sgen_scaling - net.gen.scaling = gen_scaling - net.load.scaling = load_scaling - if check_result: - return check_result - - -def wrong_switch_configuration(net): - """ - Checks, if a loadflow calculation converges. If not, checks, if the switch configuration is - the reason for that by closing all switches - - INPUT: - **net** (pandapowerNet) - pandapower network - - OUTPUT: - **check_result** (boolean) - - """ - switch_configuration = copy.deepcopy(net.switch.closed) - try: - runpp(net) - except: - try: - net.switch.closed = True - runpp(net) - net.switch.closed = switch_configuration - return True - except: - net.switch.closed = switch_configuration - return False - - -def missing_bus_indices(net): - """ - Checks for missing bus indices. - - INPUT: - **net** (PandapowerNet) - pandapower network - - - OUTPUT: - **check_results** (list) - List of tuples each containing missing bus indices. - Format: - [(element_index, bus_name (e.g. "from_bus"), bus_index] - - """ - check_results = {} - bus_indices = set(net.bus.index) - element_bus_names = {"ext_grid": ["bus"], "load": ["bus"], "gen": ["bus"], "sgen": ["bus"], - "trafo": ["lv_bus", "hv_bus"], "trafo3w": ["lv_bus", "mv_bus", "hv_bus"], - "switch": ["bus", "element"], "line": ["from_bus", "to_bus"]} - for element in element_bus_names.keys(): - element_check = [] - for i, row in net[element].iterrows(): - for bus_name in element_bus_names[element]: - if row[bus_name] not in bus_indices: - if not ((element == "switch") and (bus_name == "element") and (row.et in ['l', 't', 't3'])): - element_check.append((i, bus_name, row[bus_name])) - if element_check: - check_results[element] = element_check - - if check_results: - return check_results - - -def different_voltage_levels_connected(net): - """ - Checks, if there are lines or switches that connect different voltage levels. - - INPUT: - **net** (pandapowerNet) - pandapower network - - OUTPUT: - **check_results** (dict) - dict that contains all lines and switches that connect - different voltage levels. - Format: {'lines': lines, 'switches': switches} - - """ - check_results = {} - inconsistent_lines = [] - for i, line in net.line.iterrows(): - buses = net.bus.loc[[line.from_bus, line.to_bus]] - if buses.vn_kv.iloc[0] != buses.vn_kv.iloc[1]: - inconsistent_lines.append(i) - - inconsistent_switches = [] - for i, switch in net.switch[net.switch.et == "b"].iterrows(): - buses = net.bus.loc[[switch.bus, switch.element]] - if buses.vn_kv.iloc[0] != buses.vn_kv.iloc[1]: - inconsistent_switches.append(i) - - if inconsistent_lines: - check_results['lines'] = inconsistent_lines - if inconsistent_switches: - check_results['switches'] = inconsistent_switches - if check_results: - return check_results - - -def impedance_values_close_to_zero(net, min_r_ohm, min_x_ohm, min_r_pu, min_x_pu): - """ - Checks, if there are lines, xwards or impedances with an impedance value close to zero. - - INPUT: - **net** (pandapowerNet) - pandapower network - - - OUTPUT: - **implausible_lines** (list) - list that contains the indices of all lines with an - impedance value of zero. - - - """ - check_results = [] - implausible_elements = {} - - line = net.line[((net.line.r_ohm_per_km * net.line.length_km) <= min_r_ohm) - | ((net.line.x_ohm_per_km * net.line.length_km) <= min_x_ohm) & net.line.in_service].index - - xward = net.xward[(net.xward.r_ohm <= min_r_ohm) - | (net.xward.x_ohm <= min_x_ohm) & net.xward.in_service].index - - impedance = net.impedance[(net.impedance.rft_pu <= min_r_pu) - | (net.impedance.xft_pu <= min_x_pu) - | (net.impedance.rtf_pu <= min_r_pu) - | (net.impedance.xtf_pu <= min_x_pu) & net.impedance.in_service].index - if len(line) > 0: - implausible_elements['line'] = list(line) - if len(xward) > 0: - implausible_elements['xward'] = list(xward) - if len(impedance) > 0: - implausible_elements['impedance'] = list(impedance) - check_results.append(implausible_elements) - # checks if loadflow converges when implausible lines or impedances are replaced by switches - if ("line" in implausible_elements) or ("impedance" in implausible_elements): - switch_copy = copy.deepcopy(net.switch) - line_copy = copy.deepcopy(net.line) - impedance_copy = copy.deepcopy(net.impedance) - try: - runpp(net) - except: - try: - for key in implausible_elements: - if key == 'xward': - continue - implausible_idx = implausible_elements[key] - net[key].in_service.loc[implausible_idx] = False - for idx in implausible_idx: - pp.create_switch(net, net[key].from_bus.at[idx], net[key].to_bus.at[idx], et="b") - runpp(net) - switch_replacement = True - except: - switch_replacement = False - check_results.append({"loadflow_converges_with_switch_replacement": switch_replacement}) - net.switch = switch_copy - net.line = line_copy - net.impedance = impedance_copy - if implausible_elements: - return check_results - - -def nominal_voltages_dont_match(net, nom_voltage_tolerance): - """ - Checks, if there are components whose nominal voltages differ from the nominal voltages of the - buses they're connected to. At the moment, only trafos and trafo3w are checked. - Also checks for trafos with swapped hv and lv connectors. - - INPUT: - **net** (pandapowerNet) - pandapower network - - OUTPUT: - **check_results** (dict) - dict that contains all components whose nominal voltages - differ from the nominal voltages of the buses they're - connected to. - - Format: - - {trafo': {'hv_bus' : trafos_indices, - 'lv_bus' : trafo_indices, - 'hv_lv_swapped' : trafo_indices}, - trafo3w': {'hv_bus' : trafos3w_indices, - 'mv_bus' : trafos3w_indices - 'lv_bus' : trafo3w_indices, - 'connectors_swapped_3w' : trafo3w_indices}} - - """ - results = {} - trafo_results = {} - trafo3w_results = {} - - hv_bus = [] - lv_bus = [] - hv_lv_swapped = [] - - hv_bus_3w = [] - mv_bus_3w = [] - lv_bus_3w = [] - connectors_swapped_3w = [] - - for i, trafo in net.trafo.iterrows(): - hv_bus_violation = False - lv_bus_violation = False - connectors_swapped = False - hv_bus_vn_kv = net.bus.vn_kv.at[trafo.hv_bus] - lv_bus_vn_kv = net.bus.vn_kv.at[trafo.lv_bus] - - if abs(1 - (trafo.vn_hv_kv / hv_bus_vn_kv)) > nom_voltage_tolerance: - hv_bus_violation = True - if abs(1 - (trafo.vn_lv_kv / lv_bus_vn_kv)) > nom_voltage_tolerance: - lv_bus_violation = True - if hv_bus_violation and lv_bus_violation: - trafo_voltages = np.array(([trafo.vn_hv_kv, trafo.vn_lv_kv])) - bus_voltages = np.array([hv_bus_vn_kv, lv_bus_vn_kv]) - trafo_voltages.sort() - bus_voltages.sort() - if all((abs(trafo_voltages - bus_voltages) / bus_voltages) < (nom_voltage_tolerance)): - connectors_swapped = True - - if connectors_swapped: - hv_lv_swapped.append(i) - else: - if hv_bus_violation: - hv_bus.append(i) - if lv_bus_violation: - lv_bus.append(i) - - if hv_bus: - trafo_results['hv_bus'] = hv_bus - if lv_bus: - trafo_results['lv_bus'] = lv_bus - if hv_lv_swapped: - trafo_results['hv_lv_swapped'] = hv_lv_swapped - if trafo_results: - results['trafo'] = trafo_results - - for i, trafo3w in net.trafo3w.iterrows(): - hv_bus_violation = False - mv_bus_violation = False - lv_bus_violation = False - connectors_swapped = False - hv_bus_vn_kv = net.bus.vn_kv.at[trafo3w.hv_bus] - mv_bus_vn_kv = net.bus.vn_kv.at[trafo3w.mv_bus] - lv_bus_vn_kv = net.bus.vn_kv.at[trafo3w.lv_bus] - - if abs(1 - (trafo3w.vn_hv_kv / hv_bus_vn_kv)) > nom_voltage_tolerance: - hv_bus_violation = True - if abs(1 - (trafo3w.vn_mv_kv / mv_bus_vn_kv)) > nom_voltage_tolerance: - mv_bus_violation = True - if abs(1 - (trafo3w.vn_lv_kv / lv_bus_vn_kv)) > nom_voltage_tolerance: - lv_bus_violation = True - if hv_bus_violation and mv_bus_violation and lv_bus_violation: - trafo_voltages = np.array(([trafo3w.vn_hv_kv, trafo3w.vn_mv_kv, trafo3w.vn_lv_kv])) - bus_voltages = np.array([hv_bus_vn_kv, mv_bus_vn_kv, lv_bus_vn_kv]) - trafo_voltages.sort() - bus_voltages.sort() - if all((abs(trafo_voltages - bus_voltages) / bus_voltages) < (nom_voltage_tolerance)): - connectors_swapped = True - - if connectors_swapped: - connectors_swapped_3w.append(i) - else: - if hv_bus_violation: - hv_bus_3w.append(i) - if mv_bus_violation: - mv_bus_3w.append(i) - if lv_bus_violation: - lv_bus_3w.append(i) - - if hv_bus_3w: - trafo3w_results['hv_bus'] = hv_bus_3w - if mv_bus_3w: - trafo3w_results['mv_bus'] = mv_bus_3w - if lv_bus_3w: - trafo3w_results['lv_bus'] = lv_bus_3w - if connectors_swapped_3w: - trafo3w_results['connectors_swapped_3w'] = connectors_swapped_3w - if trafo3w_results: - results['trafo3w'] = trafo3w_results - - if len(results) > 0: - return results - - -def disconnected_elements(net): - """ - Checks, if there are network sections without a connection to an ext_grid. Returns all network - elements in these sections, that are in service. Elements belonging to the same disconnected - networks section are grouped in lists (e.g. disconnected lines: [[1, 2, 3], [4, 5]] - means, that lines 1, 2 and 3 are in one disconncted section but are connected to each other. - The same stands for lines 4, 5.) - - INPUT: - **net** (pandapowerNet) - pandapower network - - OUTPUT: - **disc_elements** (dict) - list that contains all network elements, without a - connection to an ext_grid. - - format: {'disconnected buses' : bus_indices, - 'disconnected switches' : switch_indices, - 'disconnected lines' : line_indices, - 'disconnected trafos' : trafo_indices - 'disconnected loads' : load_indices, - 'disconnected gens' : gen_indices, - 'disconnected sgens' : sgen_indices} - - """ - import pandapower.topology as top - mg = top.create_nxgraph(net) - sections = top.connected_components(mg) - disc_elements = [] - - for section in sections: - section_dict = {} - - if not section & set(net.ext_grid.bus[net.ext_grid.in_service]).union( - net.gen.bus[net.gen.slack & net.gen.in_service]) and any( - net.bus.in_service.loc[section]): - section_buses = list(net.bus[net.bus.index.isin(section) - & (net.bus.in_service == True)].index) - section_switches = list(net.switch[net.switch.bus.isin(section_buses)].index) - section_lines = list(get_connected_elements(net, 'line', section_buses, - respect_switches=True, - respect_in_service=True)) - section_trafos = list(get_connected_elements(net, 'trafo', section_buses, - respect_switches=True, - respect_in_service=True)) - - section_trafos3w = list(get_connected_elements(net, 'trafo3w', section_buses, - respect_switches=True, - respect_in_service=True)) - section_gens = list(net.gen[net.gen.bus.isin(section) - & (net.gen.in_service == True)].index) - section_sgens = list(net.sgen[net.sgen.bus.isin(section) - & (net.sgen.in_service == True)].index) - section_loads = list(net.load[net.load.bus.isin(section) - & (net.load.in_service == True)].index) - - if section_buses: - section_dict['buses'] = section_buses - if section_switches: - section_dict['switches'] = section_switches - if section_lines: - section_dict['lines'] = section_lines - if section_trafos: - section_dict['trafos'] = section_trafos - if section_trafos3w: - section_dict['trafos3w'] = section_trafos3w - if section_loads: - section_dict['loads'] = section_loads - if section_gens: - section_dict['gens'] = section_gens - if section_sgens: - section_dict['sgens'] = section_sgens - - if any(section_dict.values()): - disc_elements.append(section_dict) - - open_trafo_switches = net.switch[(net.switch.et == 't') & (net.switch.closed == 0)] - isolated_trafos = set( - (open_trafo_switches.groupby("element").count().query("bus > 1").index)) - isolated_trafos_is = isolated_trafos.intersection((set(net.trafo[net.trafo.in_service == True] - .index))) - if isolated_trafos_is: - disc_elements.append({'isolated_trafos': list(isolated_trafos_is)}) - - isolated_trafos3w = set( - (open_trafo_switches.groupby("element").count().query("bus > 2").index)) - isolated_trafos3w_is = isolated_trafos3w.intersection(( - set(net.trafo[net.trafo.in_service == True].index))) - if isolated_trafos3w_is: - disc_elements.append({'isolated_trafos3w': list(isolated_trafos3w_is)}) - - if disc_elements: - return disc_elements - - -def wrong_reference_system(net): - """ - Checks usage of wrong reference system for loads, sgens and gens. - - INPUT: - **net** (pandapowerNet) - pandapower network - - OUTPUT: - **check_results** (dict) - dict that contains the indices of all components where the - usage of the wrong reference system was found. - - Format: {'element_type': element_indices} - - """ - check_results = {} - neg_loads = list(net.load[net.load.p_mw < 0].index) - neg_gens = list(net.gen[net.gen.p_mw < 0].index) - neg_sgens = list(net.sgen[net.sgen.p_mw < 0].index) - - if neg_loads: - check_results['loads'] = neg_loads - if neg_gens: - check_results['gens'] = neg_gens - if neg_sgens: - check_results['sgens'] = neg_sgens - - if check_results: - return check_results - - -def numba_comparison(net, numba_tolerance): - """ - Compares the results of loadflows with numba=True vs. numba=False. - - INPUT: - **net** (pandapowerNet) - pandapower network - - OPTIONAL: - **tol** (float, 1e-5) - Maximum absolute deviation allowed between - numba=True/False results. - - OUTPUT: - **check_result** (dict) - Absolute deviations between numba=True/False results. - """ - check_results = {} - runpp(net, numba=True) - result_numba_true = copy.deepcopy(net) - runpp(net, numba=False) - result_numba_false = copy.deepcopy(net) - res_keys = [key for key in result_numba_true.keys() if - (key in ['res_bus', 'res_ext_grid', - 'res_gen', 'res_impedance', - 'res_line', 'res_load', - 'res_sgen', 'res_shunt', - 'res_trafo', 'res_trafo3w', - 'res_ward', 'res_xward'])] - for key in res_keys: - diffs = abs(result_numba_true[key] - result_numba_false[key]) > numba_tolerance - if any(diffs.any()): - if (key not in check_results.keys()): - check_results[key] = {} - for col in diffs.columns: - if (col not in check_results[key].keys()) and (diffs.any()[col]): - check_results[key][col] = {} - numba_true = result_numba_true[key][col][diffs[col]] - numba_false = result_numba_false[key][col][diffs[col]] - check_results[key][col] = abs(numba_true - numba_false) - - if check_results: - return check_results - - -def deviation_from_std_type(net): - """ - Checks, if element parameters match the values in the standard type library. - - INPUT: - **net** (pandapowerNet) - pandapower network - - - OUTPUT: - **check_results** (dict) - All elements, that don't match the values in the - standard type library - - Format: (element_type, element_index, parameter) - - - """ - check_results = {} - for key in net.std_types.keys(): - if key in net: - for i, element in net[key].iterrows(): - std_type = element.std_type - if std_type in net.std_types[key].keys(): - std_type_values = net.std_types[key][std_type] - for param in std_type_values.keys(): - if param == "tap_pos": - continue - if param in net[key].columns: - try: - isclose = np.isclose(element[param], std_type_values[param], - equal_nan=True) - except TypeError: - isclose = element[param] == std_type_values[param] - if not isclose: - if key not in check_results.keys(): - check_results[key] = {} - check_results[key][i] = {'param': param, 'e_value': element[param], - 'std_type_value': std_type_values[param], - 'std_type_in_lib': True} - elif std_type is not None: - if key not in check_results.keys(): - check_results[key] = {} - check_results[key][i] = {'std_type_in_lib': False} - - if check_results: - return check_results - - -def parallel_switches(net): - """ - Checks for parallel switches. - - INPUT: - **net** (PandapowerNet) - pandapower network - - OUTPUT: - **parallel_switches** (list) - List of tuples each containing parallel switches. - """ - parallel_switches = [] - compare_parameters = ['bus', 'element', 'et'] - parallels_bus_and_element = list( - net.switch.groupby(compare_parameters).count().query('closed > 1').index) - for bus, element, et in parallels_bus_and_element: - parallel_switches.append(list(net.switch.query( - 'bus==@bus & element==@element & et==@et').index)) - if parallel_switches: - return parallel_switches +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import copy +import pandas as pd +import numpy as np +import pandapower as pp + +try: + import pplog as logging +except ImportError: + import logging + +logger = logging.getLogger(__name__) + +from pandapower.run import runpp +from pandapower.diagnostic_reports import diagnostic_report +from pandapower.toolbox import get_connected_elements +from pandapower.powerflow import LoadflowNotConverged + +# separator between log messages +log_message_sep = ("\n --------\n") + + +def diagnostic(net, report_style='detailed', warnings_only=False, return_result_dict=True, + overload_scaling_factor=0.001, min_r_ohm=0.001, min_x_ohm=0.001, min_r_pu=1e-05, + min_x_pu=1e-05, nom_voltage_tolerance=0.3, numba_tolerance=1e-05): + """ + Tool for diagnosis of pandapower networks. Identifies possible reasons for non converging loadflows. + + INPUT: + **net** (pandapowerNet) : pandapower network + + OPTIONAL: + - **report_style** (string, 'detailed') : style of the report, that gets ouput in the console + + 'detailled': full report with high level of additional descriptions + + 'compact' : more compact report, containing essential information only + + 'None' : no report + + + - **warnings_only** (boolean, False): Filters logging output for warnings + + True: logging output for errors only + + False: logging output for all checks, regardless if errors were found or not + + + - **return_result_dict** (boolean, True): returns a dictionary containing all check results + + True: returns dict with all check results + + False: no result dict + + - **overload_scaling_factor** (float, 0.001): downscaling factor for loads and generation \ + for overload check + + - **lines_min_length_km** (float, 0): minimum length_km allowed for lines + + - **lines_min_z_ohm** (float, 0): minimum z_ohm allowed for lines + + - **nom_voltage_tolerance** (float, 0.3): highest allowed relative deviation between nominal \ + voltages and bus voltages + + OUTPUT: + - **diag_results** (dict): dict that contains the indices of all elements where errors were found + + Format: {'check_name': check_results} + + EXAMPLE: + + <<< pandapower.diagnostic(net, report_style='compact', warnings_only=True) + + """ + diag_functions = ["missing_bus_indices(net)", + "disconnected_elements(net)", + "different_voltage_levels_connected(net)", + "impedance_values_close_to_zero(net, min_r_ohm, min_x_ohm, min_r_pu, min_x_pu)", + "nominal_voltages_dont_match(net, nom_voltage_tolerance)", + "invalid_values(net)", + "overload(net, overload_scaling_factor)", + "wrong_switch_configuration(net)", + "multiple_voltage_controlling_elements_per_bus(net)", + "no_ext_grid(net)", + "wrong_reference_system(net)", + "deviation_from_std_type(net)", + "numba_comparison(net, numba_tolerance)", + "parallel_switches(net)"] + + diag_results = {} + diag_errors = {} + for diag_function in diag_functions: + try: + diag_result = eval(diag_function) + if not diag_result == None: + diag_results[diag_function.split("(")[0]] = diag_result + except Exception as e: + diag_errors[diag_function.split("(")[0]] = e + + + diag_params = { + "overload_scaling_factor": overload_scaling_factor, + "min_r_ohm": min_r_ohm, + "min_x_ohm": min_x_ohm, + "min_r_pu": min_r_pu, + "min_x_pu": min_x_pu, + "nom_voltage_tolerance": nom_voltage_tolerance, + "numba_tolerance": numba_tolerance + } + + if report_style == 'detailed': + diagnostic_report(net, diag_results, diag_errors, diag_params, compact_report=False, + warnings_only=warnings_only) + elif report_style == 'compact': + diagnostic_report(net, diag_results, diag_errors, diag_params, compact_report=True, + warnings_only=warnings_only) + if return_result_dict: + return diag_results + + +def check_greater_zero(element, element_index, column): + """ + functions that check, if a certain input type restriction for attribute values of a pandapower + elements are fulfilled. Exemplary description for all type check functions. + + INPUT: + **element (pandas.Series)** - pandapower element instance (e.g. net.bus.loc[1]) + + **element_index (int)** - index of the element instance + + **column (string)** - element attribute (e.g. 'vn_kv') + + + OUTPUT: + **element_index (index)** - index of element instance, if input type restriction is not + fulfilled + + + """ + + if check_number(element, element_index, column) is None: + + if (element[column] <= 0): + return element_index + + else: + return element_index + + +def check_greater_equal_zero(element, element_index, column): + if check_number(element, element_index, column) is None: + + if (element[column] < 0): + return element_index + + else: + return element_index + + +def check_less_zero(element, element_index, column): + if check_number(element, element_index, column) is None: + + if (element[column] >= 0): + return element_index + + else: + return element_index + + +def check_less_equal_zero(element, element_index, column): + if check_number(element, element_index, column) is None: + + if (element[column] > 0): + return element_index + + else: + return element_index + + +def check_boolean(element, element_index, column): + valid_values = [True, False, 0, 1, 0.0, 1.0] + if element[column] not in valid_values: + return element_index + + +def check_pos_int(element, element_index, column): + if check_number(element, element_index, column) is None: + if not ((element[column] % 1 == 0) and element[column] >= 0): + return element_index + + else: + return element_index + + +def check_number(element, element_index, column): + try: + nan_check = np.isnan(element[column]) + if nan_check or isinstance(element[column], bool): + return element_index + except TypeError: + return element_index + + +def check_greater_zero_less_equal_one(element, element_index, column): + if check_number(element, element_index, column) is None: + + if not (0 < element[column] <= 1): + return element_index + + else: + return element_index + + +def check_switch_type(element, element_index, column): + valid_values = ['b', 'l', 't', 't3'] + if element[column] not in valid_values: + return element_index + + +def invalid_values(net): + """ + Applies type check functions to find violations of input type restrictions. + + INPUT: + **net** (pandapowerNet) - pandapower network + + **detailed_report** (boolean) - True: detailed report of input type restriction violations + False: summary only + + OUTPUT: + **check_results** (dict) - dict that contains all input type restriction violations + grouped by element (keys) + Format: {'element': [element_index, 'element_attribute', + attribute_value]} + + """ + + check_results = {} + + # Contains all element attributes that are necessary to initiate a power flow calculation. + # There's a tuple with the structure (attribute_name, input type restriction) + # for each attribute according to pandapower data structure documantation + # (see also type_checks function) + + important_values = {'bus': [('vn_kv', '>0'), ('in_service', 'boolean')], + 'line': [('from_bus', 'positive_integer'), + ('to_bus', 'positive_integer'), + ('length_km', '>0'), ('r_ohm_per_km', '>=0'), + ('x_ohm_per_km', '>=0'), ('c_nf_per_km', '>=0'), + ('max_i_ka', '>0'), ('df', '00'), ('vn_hv_kv', '>0'), ('vn_lv_kv', '>0'), + ('vkr_percent', '>=0'), + ('vk_percent', '>0'), ('pfe_kw', '>=0'), ('i0_percent', '>=0'), + ('in_service', 'boolean')], + 'trafo3w': [('hv_bus', 'positive_integer'), ('mv_bus', 'positive_integer'), + ('lv_bus', 'positive_integer'), + ('sn_hv_mva', '>0'), ('sn_mv_mva', '>0'), ('sn_lv_mva', '>0'), + ('vn_hv_kv', '>0'), ('vn_mv_kv', '>0'), ('vn_lv_kv', '>0'), + ('vkr_hv_percent', '>=0'), ('vkr_mv_percent', '>=0'), + ('vkr_lv_percent', '>=0'), ('vk_hv_percent', '>0'), + ('vk_mv_percent', '>0'), ('vk_lv_percent', '>0'), + ('pfe_kw', '>=0'), ('i0_percent', '>=0'), + ('in_service', 'boolean')], + 'load': [('bus', 'positive_integer'), ('p_mw', 'number'), + ('q_mvar', 'number'), + ('scaling', '>=0'), ('in_service', 'boolean')], + 'sgen': [('bus', 'positive_integer'), ('p_mw', 'number'), + ('q_mvar', 'number'), + ('scaling', '>=0'), ('in_service', 'boolean')], + 'gen': [('bus', 'positive_integer'), ('p_mw', 'number'), + ('scaling', '>=0'), ('in_service', 'boolean')], + 'ext_grid': [('bus', 'positive_integer'), ('vm_pu', '>0'), + ('va_degree', 'number')], + 'switch': [('bus', 'positive_integer'), ('element', 'positive_integer'), + ('et', 'switch_type'), ('closed', 'boolean')]} + + # matches a check function to each single input type restriction + type_checks = {'>0': check_greater_zero, + '>=0': check_greater_equal_zero, + '<0': check_less_zero, + '<=0': check_less_equal_zero, + 'boolean': check_boolean, + 'positive_integer': check_pos_int, + 'number': check_number, + '0 0: + for value in important_values[key]: + for i, element in net[key].iterrows(): + check_result = type_checks[value[1]](element, i, value[0]) + if check_result is not None: + if key not in check_results: + check_results[key] = [] + # converts np.nan to str for easier usage of assert in pytest + nan_check = pd.isnull(net[key][value[0]].at[i]) + if nan_check: + check_results[key].append((i, value[0], + str(net[key][value[0]].at[i]), value[1])) + else: + check_results[key].append((i, value[0], + net[key][value[0]].at[i], value[1])) + if check_results: + return check_results + + +def no_ext_grid(net): + """ + Checks, if at least one external grid exists. + + INPUT: + **net** (pandapowerNet) - pandapower network + + """ + + if net.ext_grid.in_service.sum() + (net.gen.slack & net.gen.in_service).sum() == 0: + return True + + +def multiple_voltage_controlling_elements_per_bus(net): + """ + Checks, if there are buses with more than one generator and/or more than one external grid. + + INPUT: + **net** (pandapowerNet) - pandapower network + + **detailed_report** (boolean) - True: detailed report of errors found + l False: summary only + + OUTPUT: + **check_results** (dict) - dict that contains all buses with multiple generator and + all buses with multiple external grids + Format: {'mult_ext_grids': [buses] + 'buses_with_mult_gens', [buses]} + + """ + check_results = {} + buses_with_mult_ext_grids = list(net.ext_grid.groupby("bus").count().query("vm_pu > 1").index) + if buses_with_mult_ext_grids: + check_results['buses_with_mult_ext_grids'] = buses_with_mult_ext_grids + buses_with_gens_and_ext_grids = set(net.ext_grid.bus).intersection(set(net.gen.bus)) + if buses_with_gens_and_ext_grids: + check_results['buses_with_gens_and_ext_grids'] = list(buses_with_gens_and_ext_grids) + + if check_results: + return check_results + + +def overload(net, overload_scaling_factor): + """ + Checks, if a loadflow calculation converges. If not, checks, if an overload is the reason for + that by scaling down the loads, gens and sgens to 0.1%. + + INPUT: + **net** (pandapowerNet) - pandapower network + + + OUTPUT: + **check_results** (dict) - dict with the results of the overload check + Format: {'load_overload': True/False + 'generation_overload', True/False} + + """ + check_result = {} + load_scaling = copy.deepcopy(net.load.scaling) + gen_scaling = copy.deepcopy(net.gen.scaling) + sgen_scaling = copy.deepcopy(net.sgen.scaling) + + try: + runpp(net) + except LoadflowNotConverged: + check_result['load'] = False + check_result['generation'] = False + try: + net.load.scaling = overload_scaling_factor + runpp(net) + check_result['load'] = True + except: + net.load.scaling = load_scaling + try: + net.gen.scaling = overload_scaling_factor + net.sgen.scaling = overload_scaling_factor + runpp(net) + check_result['generation'] = True + except: + net.sgen.scaling = sgen_scaling + net.gen.scaling = gen_scaling + try: + net.load.scaling = overload_scaling_factor + net.gen.scaling = overload_scaling_factor + net.sgen.scaling = overload_scaling_factor + runpp(net) + check_result['generation'] = True + check_result['load'] = True + except: + pass + net.sgen.scaling = sgen_scaling + net.gen.scaling = gen_scaling + net.load.scaling = load_scaling + if check_result: + return check_result + + +def wrong_switch_configuration(net): + """ + Checks, if a loadflow calculation converges. If not, checks, if the switch configuration is + the reason for that by closing all switches + + INPUT: + **net** (pandapowerNet) - pandapower network + + OUTPUT: + **check_result** (boolean) + + """ + switch_configuration = copy.deepcopy(net.switch.closed) + try: + runpp(net) + except: + try: + net.switch.closed = True + runpp(net) + net.switch.closed = switch_configuration + return True + except: + net.switch.closed = switch_configuration + return False + + +def missing_bus_indices(net): + """ + Checks for missing bus indices. + + INPUT: + **net** (PandapowerNet) - pandapower network + + + OUTPUT: + **check_results** (list) - List of tuples each containing missing bus indices. + Format: + [(element_index, bus_name (e.g. "from_bus"), bus_index] + + """ + check_results = {} + bus_indices = set(net.bus.index) + element_bus_names = {"ext_grid": ["bus"], "load": ["bus"], "gen": ["bus"], "sgen": ["bus"], + "trafo": ["lv_bus", "hv_bus"], "trafo3w": ["lv_bus", "mv_bus", "hv_bus"], + "switch": ["bus", "element"], "line": ["from_bus", "to_bus"]} + for element in element_bus_names.keys(): + element_check = [] + for i, row in net[element].iterrows(): + for bus_name in element_bus_names[element]: + if row[bus_name] not in bus_indices: + if not ((element == "switch") and (bus_name == "element") and (row.et in ['l', 't', 't3'])): + element_check.append((i, bus_name, row[bus_name])) + if element_check: + check_results[element] = element_check + + if check_results: + return check_results + + +def different_voltage_levels_connected(net): + """ + Checks, if there are lines or switches that connect different voltage levels. + + INPUT: + **net** (pandapowerNet) - pandapower network + + OUTPUT: + **check_results** (dict) - dict that contains all lines and switches that connect + different voltage levels. + Format: {'lines': lines, 'switches': switches} + + """ + check_results = {} + inconsistent_lines = [] + for i, line in net.line.iterrows(): + buses = net.bus.loc[[line.from_bus, line.to_bus]] + if buses.vn_kv.iloc[0] != buses.vn_kv.iloc[1]: + inconsistent_lines.append(i) + + inconsistent_switches = [] + for i, switch in net.switch[net.switch.et == "b"].iterrows(): + buses = net.bus.loc[[switch.bus, switch.element]] + if buses.vn_kv.iloc[0] != buses.vn_kv.iloc[1]: + inconsistent_switches.append(i) + + if inconsistent_lines: + check_results['lines'] = inconsistent_lines + if inconsistent_switches: + check_results['switches'] = inconsistent_switches + if check_results: + return check_results + + +def impedance_values_close_to_zero(net, min_r_ohm, min_x_ohm, min_r_pu, min_x_pu): + """ + Checks, if there are lines, xwards or impedances with an impedance value close to zero. + + INPUT: + **net** (pandapowerNet) - pandapower network + + + OUTPUT: + **implausible_lines** (list) - list that contains the indices of all lines with an + impedance value of zero. + + + """ + check_results = [] + implausible_elements = {} + + line = net.line[((net.line.r_ohm_per_km * net.line.length_km) <= min_r_ohm) + | ((net.line.x_ohm_per_km * net.line.length_km) <= min_x_ohm) & net.line.in_service].index + + xward = net.xward[(net.xward.r_ohm <= min_r_ohm) + | (net.xward.x_ohm <= min_x_ohm) & net.xward.in_service].index + + impedance = net.impedance[(net.impedance.rft_pu <= min_r_pu) + | (net.impedance.xft_pu <= min_x_pu) + | (net.impedance.rtf_pu <= min_r_pu) + | (net.impedance.xtf_pu <= min_x_pu) & net.impedance.in_service].index + if len(line) > 0: + implausible_elements['line'] = list(line) + if len(xward) > 0: + implausible_elements['xward'] = list(xward) + if len(impedance) > 0: + implausible_elements['impedance'] = list(impedance) + check_results.append(implausible_elements) + # checks if loadflow converges when implausible lines or impedances are replaced by switches + if ("line" in implausible_elements) or ("impedance" in implausible_elements): + switch_copy = copy.deepcopy(net.switch) + line_copy = copy.deepcopy(net.line) + impedance_copy = copy.deepcopy(net.impedance) + try: + runpp(net) + except: + try: + for key in implausible_elements: + if key == 'xward': + continue + implausible_idx = implausible_elements[key] + net[key].in_service.loc[implausible_idx] = False + for idx in implausible_idx: + pp.create_switch(net, net[key].from_bus.at[idx], net[key].to_bus.at[idx], et="b") + runpp(net) + switch_replacement = True + except: + switch_replacement = False + check_results.append({"loadflow_converges_with_switch_replacement": switch_replacement}) + net.switch = switch_copy + net.line = line_copy + net.impedance = impedance_copy + if implausible_elements: + return check_results + + +def nominal_voltages_dont_match(net, nom_voltage_tolerance): + """ + Checks, if there are components whose nominal voltages differ from the nominal voltages of the + buses they're connected to. At the moment, only trafos and trafo3w are checked. + Also checks for trafos with swapped hv and lv connectors. + + INPUT: + **net** (pandapowerNet) - pandapower network + + OUTPUT: + **check_results** (dict) - dict that contains all components whose nominal voltages + differ from the nominal voltages of the buses they're + connected to. + + Format: + + {trafo': {'hv_bus' : trafos_indices, + 'lv_bus' : trafo_indices, + 'hv_lv_swapped' : trafo_indices}, + trafo3w': {'hv_bus' : trafos3w_indices, + 'mv_bus' : trafos3w_indices + 'lv_bus' : trafo3w_indices, + 'connectors_swapped_3w' : trafo3w_indices}} + + """ + results = {} + trafo_results = {} + trafo3w_results = {} + + hv_bus = [] + lv_bus = [] + hv_lv_swapped = [] + + hv_bus_3w = [] + mv_bus_3w = [] + lv_bus_3w = [] + connectors_swapped_3w = [] + + for i, trafo in net.trafo.iterrows(): + hv_bus_violation = False + lv_bus_violation = False + connectors_swapped = False + hv_bus_vn_kv = net.bus.vn_kv.at[trafo.hv_bus] + lv_bus_vn_kv = net.bus.vn_kv.at[trafo.lv_bus] + + if abs(1 - (trafo.vn_hv_kv / hv_bus_vn_kv)) > nom_voltage_tolerance: + hv_bus_violation = True + if abs(1 - (trafo.vn_lv_kv / lv_bus_vn_kv)) > nom_voltage_tolerance: + lv_bus_violation = True + if hv_bus_violation and lv_bus_violation: + trafo_voltages = np.array(([trafo.vn_hv_kv, trafo.vn_lv_kv])) + bus_voltages = np.array([hv_bus_vn_kv, lv_bus_vn_kv]) + trafo_voltages.sort() + bus_voltages.sort() + if all((abs(trafo_voltages - bus_voltages) / bus_voltages) < (nom_voltage_tolerance)): + connectors_swapped = True + + if connectors_swapped: + hv_lv_swapped.append(i) + else: + if hv_bus_violation: + hv_bus.append(i) + if lv_bus_violation: + lv_bus.append(i) + + if hv_bus: + trafo_results['hv_bus'] = hv_bus + if lv_bus: + trafo_results['lv_bus'] = lv_bus + if hv_lv_swapped: + trafo_results['hv_lv_swapped'] = hv_lv_swapped + if trafo_results: + results['trafo'] = trafo_results + + for i, trafo3w in net.trafo3w.iterrows(): + hv_bus_violation = False + mv_bus_violation = False + lv_bus_violation = False + connectors_swapped = False + hv_bus_vn_kv = net.bus.vn_kv.at[trafo3w.hv_bus] + mv_bus_vn_kv = net.bus.vn_kv.at[trafo3w.mv_bus] + lv_bus_vn_kv = net.bus.vn_kv.at[trafo3w.lv_bus] + + if abs(1 - (trafo3w.vn_hv_kv / hv_bus_vn_kv)) > nom_voltage_tolerance: + hv_bus_violation = True + if abs(1 - (trafo3w.vn_mv_kv / mv_bus_vn_kv)) > nom_voltage_tolerance: + mv_bus_violation = True + if abs(1 - (trafo3w.vn_lv_kv / lv_bus_vn_kv)) > nom_voltage_tolerance: + lv_bus_violation = True + if hv_bus_violation and mv_bus_violation and lv_bus_violation: + trafo_voltages = np.array(([trafo3w.vn_hv_kv, trafo3w.vn_mv_kv, trafo3w.vn_lv_kv])) + bus_voltages = np.array([hv_bus_vn_kv, mv_bus_vn_kv, lv_bus_vn_kv]) + trafo_voltages.sort() + bus_voltages.sort() + if all((abs(trafo_voltages - bus_voltages) / bus_voltages) < (nom_voltage_tolerance)): + connectors_swapped = True + + if connectors_swapped: + connectors_swapped_3w.append(i) + else: + if hv_bus_violation: + hv_bus_3w.append(i) + if mv_bus_violation: + mv_bus_3w.append(i) + if lv_bus_violation: + lv_bus_3w.append(i) + + if hv_bus_3w: + trafo3w_results['hv_bus'] = hv_bus_3w + if mv_bus_3w: + trafo3w_results['mv_bus'] = mv_bus_3w + if lv_bus_3w: + trafo3w_results['lv_bus'] = lv_bus_3w + if connectors_swapped_3w: + trafo3w_results['connectors_swapped_3w'] = connectors_swapped_3w + if trafo3w_results: + results['trafo3w'] = trafo3w_results + + if len(results) > 0: + return results + + +def disconnected_elements(net): + """ + Checks, if there are network sections without a connection to an ext_grid. Returns all network + elements in these sections, that are in service. Elements belonging to the same disconnected + networks section are grouped in lists (e.g. disconnected lines: [[1, 2, 3], [4, 5]] + means, that lines 1, 2 and 3 are in one disconncted section but are connected to each other. + The same stands for lines 4, 5.) + + INPUT: + **net** (pandapowerNet) - pandapower network + + OUTPUT: + **disc_elements** (dict) - list that contains all network elements, without a + connection to an ext_grid. + + format: {'disconnected buses' : bus_indices, + 'disconnected switches' : switch_indices, + 'disconnected lines' : line_indices, + 'disconnected trafos' : trafo_indices + 'disconnected loads' : load_indices, + 'disconnected gens' : gen_indices, + 'disconnected sgens' : sgen_indices} + + """ + import pandapower.topology as top + mg = top.create_nxgraph(net) + sections = top.connected_components(mg) + disc_elements = [] + + for section in sections: + section_dict = {} + + if not section & set(net.ext_grid.bus[net.ext_grid.in_service]).union( + net.gen.bus[net.gen.slack & net.gen.in_service]) and any( + net.bus.in_service.loc[section]): + section_buses = list(net.bus[net.bus.index.isin(section) + & (net.bus.in_service == True)].index) + section_switches = list(net.switch[net.switch.bus.isin(section_buses)].index) + section_lines = list(get_connected_elements(net, 'line', section_buses, + respect_switches=True, + respect_in_service=True)) + section_trafos = list(get_connected_elements(net, 'trafo', section_buses, + respect_switches=True, + respect_in_service=True)) + + section_trafos3w = list(get_connected_elements(net, 'trafo3w', section_buses, + respect_switches=True, + respect_in_service=True)) + section_gens = list(net.gen[net.gen.bus.isin(section) + & (net.gen.in_service == True)].index) + section_sgens = list(net.sgen[net.sgen.bus.isin(section) + & (net.sgen.in_service == True)].index) + section_loads = list(net.load[net.load.bus.isin(section) + & (net.load.in_service == True)].index) + + if section_buses: + section_dict['buses'] = section_buses + if section_switches: + section_dict['switches'] = section_switches + if section_lines: + section_dict['lines'] = section_lines + if section_trafos: + section_dict['trafos'] = section_trafos + if section_trafos3w: + section_dict['trafos3w'] = section_trafos3w + if section_loads: + section_dict['loads'] = section_loads + if section_gens: + section_dict['gens'] = section_gens + if section_sgens: + section_dict['sgens'] = section_sgens + + if any(section_dict.values()): + disc_elements.append(section_dict) + + open_trafo_switches = net.switch[(net.switch.et == 't') & (net.switch.closed == 0)] + isolated_trafos = set( + (open_trafo_switches.groupby("element").count().query("bus > 1").index)) + isolated_trafos_is = isolated_trafos.intersection((set(net.trafo[net.trafo.in_service == True] + .index))) + if isolated_trafos_is: + disc_elements.append({'isolated_trafos': list(isolated_trafos_is)}) + + isolated_trafos3w = set( + (open_trafo_switches.groupby("element").count().query("bus > 2").index)) + isolated_trafos3w_is = isolated_trafos3w.intersection(( + set(net.trafo[net.trafo.in_service == True].index))) + if isolated_trafos3w_is: + disc_elements.append({'isolated_trafos3w': list(isolated_trafos3w_is)}) + + if disc_elements: + return disc_elements + + +def wrong_reference_system(net): + """ + Checks usage of wrong reference system for loads, sgens and gens. + + INPUT: + **net** (pandapowerNet) - pandapower network + + OUTPUT: + **check_results** (dict) - dict that contains the indices of all components where the + usage of the wrong reference system was found. + + Format: {'element_type': element_indices} + + """ + check_results = {} + neg_loads = list(net.load[net.load.p_mw < 0].index) + neg_gens = list(net.gen[net.gen.p_mw < 0].index) + neg_sgens = list(net.sgen[net.sgen.p_mw < 0].index) + + if neg_loads: + check_results['loads'] = neg_loads + if neg_gens: + check_results['gens'] = neg_gens + if neg_sgens: + check_results['sgens'] = neg_sgens + + if check_results: + return check_results + + +def numba_comparison(net, numba_tolerance): + """ + Compares the results of loadflows with numba=True vs. numba=False. + + INPUT: + **net** (pandapowerNet) - pandapower network + + OPTIONAL: + **tol** (float, 1e-5) - Maximum absolute deviation allowed between + numba=True/False results. + + OUTPUT: + **check_result** (dict) - Absolute deviations between numba=True/False results. + """ + check_results = {} + runpp(net, numba=True) + result_numba_true = copy.deepcopy(net) + runpp(net, numba=False) + result_numba_false = copy.deepcopy(net) + res_keys = [key for key in result_numba_true.keys() if + (key in ['res_bus', 'res_ext_grid', + 'res_gen', 'res_impedance', + 'res_line', 'res_load', + 'res_sgen', 'res_shunt', + 'res_trafo', 'res_trafo3w', + 'res_ward', 'res_xward'])] + for key in res_keys: + diffs = abs(result_numba_true[key] - result_numba_false[key]) > numba_tolerance + if any(diffs.any()): + if (key not in check_results.keys()): + check_results[key] = {} + for col in diffs.columns: + if (col not in check_results[key].keys()) and (diffs.any()[col]): + check_results[key][col] = {} + numba_true = result_numba_true[key][col][diffs[col]] + numba_false = result_numba_false[key][col][diffs[col]] + check_results[key][col] = abs(numba_true - numba_false) + + if check_results: + return check_results + + +def deviation_from_std_type(net): + """ + Checks, if element parameters match the values in the standard type library. + + INPUT: + **net** (pandapowerNet) - pandapower network + + + OUTPUT: + **check_results** (dict) - All elements, that don't match the values in the + standard type library + + Format: (element_type, element_index, parameter) + + + """ + check_results = {} + for key in net.std_types.keys(): + if key in net: + for i, element in net[key].iterrows(): + std_type = element.std_type + if std_type in net.std_types[key].keys(): + std_type_values = net.std_types[key][std_type] + for param in std_type_values.keys(): + if param == "tap_pos": + continue + if param in net[key].columns: + try: + isclose = np.isclose(element[param], std_type_values[param], + equal_nan=True) + except TypeError: + isclose = element[param] == std_type_values[param] + if not isclose: + if key not in check_results.keys(): + check_results[key] = {} + check_results[key][i] = {'param': param, 'e_value': element[param], + 'std_type_value': std_type_values[param], + 'std_type_in_lib': True} + elif std_type is not None: + if key not in check_results.keys(): + check_results[key] = {} + check_results[key][i] = {'std_type_in_lib': False} + + if check_results: + return check_results + + +def parallel_switches(net): + """ + Checks for parallel switches. + + INPUT: + **net** (PandapowerNet) - pandapower network + + OUTPUT: + **parallel_switches** (list) - List of tuples each containing parallel switches. + """ + parallel_switches = [] + compare_parameters = ['bus', 'element', 'et'] + parallels_bus_and_element = list( + net.switch.groupby(compare_parameters).count().query('closed > 1').index) + for bus, element, et in parallels_bus_and_element: + parallel_switches.append(list(net.switch.query( + 'bus==@bus & element==@element & et==@et').index)) + if parallel_switches: + return parallel_switches diff --git a/pandapower/diagnostic_reports.py b/pandapower/diagnostic_reports.py index 2612b93a3..4d6deb3f8 100644 --- a/pandapower/diagnostic_reports.py +++ b/pandapower/diagnostic_reports.py @@ -1,669 +1,669 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - - -try: - import pplog as logging -except ImportError: - import logging - -logger = logging.getLogger(__name__) - -# separator between log messages -log_message_sep = ("\n --------\n") - - -def diagnostic_report(net, diag_results, diag_errors, diag_params, compact_report, warnings_only): - diag_report = DiagnosticReports(net, diag_results, diag_errors, diag_params, compact_report) - if warnings_only: - logger.setLevel(logging.WARNING) - else: - logger.setLevel(logging.INFO) - - report_methods = { - "missing_bus_indices": diag_report.report_missing_bus_indices, - "disconnected_elements": diag_report.report_disconnected_elements, - "different_voltage_levels_connected": diag_report.report_different_voltage_levels_connected, - "impedance_values_close_to_zero": diag_report.report_impedance_values_close_to_zero, - "nominal_voltages_dont_match": diag_report.report_nominal_voltages_dont_match, - "invalid_values": diag_report.report_invalid_values, - "overload": diag_report.report_overload, - "multiple_voltage_controlling_elements_per_bus": diag_report.report_multiple_voltage_controlling_elements_per_bus, - "wrong_switch_configuration": diag_report.report_wrong_switch_configuration, - "no_ext_grid": diag_report.report_no_ext_grid, - "wrong_reference_system": diag_report.report_wrong_reference_system, - "deviation_from_std_type": diag_report.report_deviation_from_std_type, - "numba_comparison": diag_report.report_numba_comparison, - "parallel_switches": diag_report.report_parallel_switches - } - - logger.warning("\n\n_____________ PANDAPOWER DIAGNOSTIC TOOL _____________ \n") - for key in report_methods: - if (key in diag_results) or not warnings_only: - report_methods[key]() - logger.warning(log_message_sep) - - logger.warning("_____________ END OF PANDAPOWER DIAGNOSTIC _____________ ") - - -class DiagnosticReports: - def __init__(self, net, diag_results, diag_errors, diag_params, compact_report): - self.net = net - self.diag_results = diag_results - self.diag_errors = diag_errors - self.diag_params = diag_params - self.compact_report = compact_report - - def report_disconnected_elements(self): - if "disconnected_elements" in self.diag_results: - # message header - if self.compact_report: - logger.warning("disconnected_elements:") - else: - logger.warning("Checking for elements without a connection to an external grid...") - logger.warning("") - - # message body - diag_result = self.diag_results["disconnected_elements"] - element_counter = 0 - for disc_section in diag_result: - if self.compact_report: - logger.warning("disonnected_section: %s" % (disc_section)) - - else: - logger.warning("Disconnected section found," - " consisting of the following elements:") - for key in disc_section: - element_counter += len(disc_section[key]) - logger.warning("%s: %s" % (key, disc_section[key])) - - # message summary - if not self.compact_report: - logger.warning("") - logger.warning("SUMMARY: %s disconnected element(s) found." % (element_counter)) - elif "disconnected_elements" in self.diag_errors: - logger.warning("Check for disconnected elements failed due to the following error:") - logger.warning(self.diag_errors["disconnected_elements"]) - else: - logger.info("PASSED: No problematic switches found") - - def report_different_voltage_levels_connected(self): - from pandapower.toolbox import get_connected_buses_at_element - - if "different_voltage_levels_connected" in self.diag_results: - - # message header - if self.compact_report: - logger.warning("different_voltage_levels_connected:") - - else: - logger.warning("Checking for connections of different voltage levels...") - logger.warning("") - - # message body - diag_result = self.diag_results["different_voltage_levels_connected"] - element_counter = 0 - for key in diag_result: - element_counter += len(diag_result[key]) - if key == "lines": - element_type = "line" - elif key == "switches": - element_type = "switch" - if self.compact_report: - logger.warning("%s:" % (key)) - for element in diag_result[key]: - buses = list(get_connected_buses_at_element(self.net, element, - key[0])) - if self.compact_report: - logger.warning("%s %s: buses %s" % (element_type, element, buses)) - else: - logger.warning("%s %s connects bus %s: %s (vn_kv = %s) " - "and bus %s: %s (vn_kv = %s)" - % (element_type, element, buses[0], - self.net.bus.name.at[buses[0]], - self.net.bus.vn_kv.at[buses[0]], - buses[1], self.net.bus.name.at[buses[1]], - self.net.bus.vn_kv.at[buses[1]])) - # message summary - if not self.compact_report: - logger.warning("") - logger.warning("SUMMARY: %s element(s) that connect different voltage " - "levels found." % (element_counter)) - elif "different_voltage_levels_connected" in self.diag_errors: - logger.warning("Check for connection of different voltage levels failed due to the following error:") - logger.warning(self.diag_errors["different_voltage_levels_connected"]) - else: - logger.info("PASSED: No connection of different voltage levels found") - - - def report_impedance_values_close_to_zero(self): - - if "impedance_values_close_to_zero" in self.diag_results: - - # message header - if self.compact_report: - logger.warning("impedance_values_close_to_zero:") - - else: - logger.warning("Checking for impedance values close to zero...") - logger.warning("") - - # message body - diag_result = self.diag_results["impedance_values_close_to_zero"][0] - element_counter = 0 - for key in diag_result: - element_counter += len(diag_result[key]) - for element in diag_result[key]: - if key == "line": - min_r_type = "r_ohm" - min_x_type = "x_ohm" - elif key == "xward": - min_r_type = "r_ohm" - min_x_type = "x_ohm" - elif key == "impedance": - min_r_type = "r_pu" - min_x_type = "x_pu" - - logger.warning("%s %s: %s <= %s or %s <= %s" - % (key, element, min_r_type, self.diag_params["min_"+min_r_type], - min_x_type, self.diag_params["min_"+min_x_type])) - - if len(self.diag_results["impedance_values_close_to_zero"]) > 1: - switch_replacement = self.diag_results["impedance_values_close_to_zero"][1] - if switch_replacement["loadflow_converges_with_switch_replacement"]: - logger.warning("Switch replacement successful: Power flow converges after " - "replacing implausible elements with switches.") - else: - logger.warning("Power flow still does not converge after replacing implausible " - "elements with switches.") - - # message summary - if not self.compact_report: - logger.warning("") - logger.warning("SUMMARY: %s element(s) with impedance values close to zero found." - % (element_counter)) - elif "impedance_values_close_to_zero" in self.diag_errors: - logger.warning("Check for elements with impedance values close to zero failed due " - "to the following error:") - logger.warning(self.diag_errors["impedance_values_close_to_zero"]) - else: - logger.info("PASSED: No elements with impedance values close to zero found...") - - - def report_nominal_voltages_dont_match(self): - - if "nominal_voltages_dont_match" in self.diag_results: - - # message header - if self.compact_report: - logger.warning("nominal_voltages_dont_match:") - - else: - logger.warning("Checking for components with deviating nominal voltages...") - logger.warning("") - - # message body - diag_result = self.diag_results["nominal_voltages_dont_match"] - nom_voltage_tolerance = self.diag_params["nom_voltage_tolerance"] - element_counter = 0 - for element in diag_result: - if self.compact_report: - logger.warning("%s:" % (element)) - for key in diag_result[element]: - element_counter += len(diag_result[element][key]) - if element == "trafo": - if self.compact_report: - logger.warning("%s: %s" % (key, diag_result[element][key])) - else: - if key == "hv_lv_swapped": - logger.warning("Trafo(s) %s: hv and lv connectors seem to " - "be swapped" % (diag_result[element][key])) - elif key == "hv_bus": - for trafo in diag_result[element][key]: - logger.warning("Trafo %s: Nominal voltage on hv_side " - "(%s kV) and voltage_level of hv_bus " - "(bus %s with voltage_level %s kV) " - "deviate more than +/- %s percent." - % (trafo, self.net.trafo.vn_hv_kv.at[trafo], - self.net.trafo.hv_bus.at[trafo], - self.net.bus.vn_kv.at[self.net.trafo.hv_bus.at[trafo]], - nom_voltage_tolerance * 100)) - elif key == "lv_bus": - for trafo in diag_result[element][key]: - logger.warning("Trafo %s: Nominal voltage on lv_side " - "(%s kV) and voltage_level of lv_bus " - "(bus %s with voltage_level %s kV) " - "deviate more than +/- %s percent." - % (trafo, self.net.trafo.vn_lv_kv.at[trafo], - self.net.trafo.lv_bus.at[trafo], - self.net.bus.vn_kv.at[self.net.trafo.lv_bus.at[trafo]], - nom_voltage_tolerance * 100)) - if element == "trafo3w": - if self.compact_report: - logger.warning("%s: %s" % (key, diag_result[element][key])) - else: - if key == "connectors_swapped_3w": - logger.warning("Trafo3w %s: connectors seem to " - "be swapped" % (diag_result[element][key])) - elif key == "hv_bus": - for trafo3w in diag_result[element][key]: - logger.warning("Trafo3w %s: Nominal voltage on hv_side " - "(%s kV) and voltage_level of hv_bus " - "(bus %s with voltage_level %s kV) " - "deviate more than +/- %s percent." - % (trafo3w, self.net.trafo3w.vn_hv_kv.at[trafo3w], - self.net.trafo3w.hv_bus.at[trafo3w], - self.net.bus.vn_kv.at[self.net.trafo3w.hv_bus.at[trafo3w]], - nom_voltage_tolerance * 100)) - elif key == "mv_bus": - for trafo3w in diag_result[element][key]: - logger.warning("Trafo3w %s: Nominal voltage on mv_side " - "(%s kV) and voltage_level of mv_bus " - "(bus %s with voltage_level %s kV) " - "deviate more than +/- %s percent." - % (trafo3w, self.net.trafo3w.vn_mv_kv.at[trafo3w], - self.net.trafo3w.mv_bus.at[trafo3w], - self.net.bus.vn_kv.at[self.net.trafo3w.mv_bus.at[trafo3w]], - nom_voltage_tolerance * 100)) - elif key == "lv_bus": - for trafo3w in diag_result[element][key]: - logger.warning("Trafo3w %s: Nominal voltage on lv_side " - "(%s kV) and voltage_level of lv_bus " - "(bus %s with voltage_level %s kV) " - "deviate more than +/- %s percent." - % (trafo3w, self.net.trafo3w.vn_lv_kv.at[trafo3w], - self.net.trafo3w.lv_bus.at[trafo3w], - self.net.bus.vn_kv.at[self.net.trafo3w.lv_bus.at[trafo3w]], - nom_voltage_tolerance * 100)) - - # message summary - if not self.compact_report: - logger.warning("") - logger.warning("SUMMARY: %s component(s) with deviating nominal voltages found" - % (element_counter)) - elif "nominal_voltages_dont_match" in self.diag_errors: - logger.warning("Check for components with deviating nominal voltages failed due " - "to the following error:") - logger.warning(self.diag_errors["nominal_voltages_dont_match"]) - else: - logger.info("PASSED: No components with deviating nominal voltages found") - - def report_invalid_values(self): - - if "invalid_values" in self.diag_results: - - # message header - if self.compact_report: - logger.warning("invalid_values:") - else: - logger.warning("Checking for invalid_values...") - logger.warning("") - - # message body - if "invalid_values" in self.diag_results: - diag_result = self.diag_results["invalid_values"] - element_counter = 0 - for element_type in diag_result: - element_counter += len(diag_result[element_type]) - logger.warning("%s:" % (element_type)) - for inv_value in diag_result[element_type]: - if self.compact_report: - logger.warning("%s %s: '%s' = %s (restriction: %s)" - % (element_type, inv_value[0], inv_value[1], inv_value[2], - inv_value[3])) - else: - logger.warning("Invalid value found: '%s %s' with attribute '%s' = %s " - "(data type: %s). Valid input needs to be %s." - % (element_type, inv_value[0], inv_value[1], inv_value[2], - type(inv_value[2]), inv_value[3])) - - # message summary - if not self.compact_report: - logger.warning("") - logger.warning("SUMMARY: %s invalid values found." % element_counter) - - elif "invalid_values" in self.diag_errors: - logger.warning("Check for invalid values failed due to the following error:") - logger.warning(self.diag_errors["invalid_values"]) - else: - logger.info("PASSED: No invalid values found") - - - def report_overload(self): - - if "overload" in self.diag_results: - # message header - if self.compact_report: - logger.warning("overload:") - else: - logger.warning("Checking for overload...") - logger.warning("") - - # message body - diag_result = self.diag_results["overload"] - overload_scaling_factor = self.diag_params["overload_scaling_factor"] - if not diag_result["load"] and not diag_result["generation"]: - logger.warning("Overload check failed: Power flow still does not " - "converge with load and generation scaled down to %s percent." - % (overload_scaling_factor * 100)) - elif (diag_result["load"] and diag_result["generation"]): - logger.warning("overload found: Power flow converges " - "with load and generation scaled down to %s percent." - % (overload_scaling_factor * 100)) - else: - if diag_result["load"]: - logger.warning("overload found: Power flow converges " - "with load scaled down to %s percent." - % (overload_scaling_factor * 100)) - elif diag_result["generation"]: - logger.warning("overload found: Power flow converges " - "with generation scaled down to %s percent." - % (overload_scaling_factor * 100)) - # message summary - elif "overload" in self.diag_errors: - logger.warning("Check for overload failed due to the following error:") - logger.warning(self.diag_errors["overload"]) - else: - logger.info("PASSED: Power flow converges. No overload found.") - - - def report_wrong_switch_configuration(self): - - if "wrong_switch_configuration" in self.diag_results: - - # message header - if self.compact_report: - logger.warning("wrong_switch_configuration:") - else: - logger.warning("Checking switch configuration...") - logger.warning("") - - # message body - diag_result = self.diag_results["wrong_switch_configuration"] - if diag_result: - logger.warning("Possibly wrong switch configuration found: power flow " - "converges with all switches closed.") - else: - logger.warning("Power flow still does not converge with all switches closed.") - - # message summary - elif "wrong_switch_configuration" in self.diag_errors: - logger.warning("Check for wrong switch configuration failed due to the following error:") - logger.warning(self.diag_errors["wrong_switch_configuration"]) - else: - logger.info("PASSED: Power flow converges. Switch configuration seems ok.") - - - def report_no_ext_grid(self): - - if "no_ext_grid" in self.diag_results: - # message header - if self.compact_report: - logger.warning("no_external_grid:") - else: - logger.warning("Checking if there is at least one external grid...") - logger.warning("") - - # message body - diag_result = self.diag_results["no_ext_grid"] - if diag_result is True: - logger.warning("No ext_grid found. There has to be at least one ext_grid!") - - # message summary - elif "no_ext_grid" in self.diag_errors: - logger.warning("Check for external grid failed due to the following error:") - logger.warning(self.diag_errors["no_ext_grid"]) - else: - logger.info("PASSED: External grid found.") - - - def report_multiple_voltage_controlling_elements_per_bus(self): - - if "multiple_voltage_controlling_elements_per_bus" in self.diag_results: - # message header - if self.compact_report: - logger.warning("multiple_voltage_controlling_elements_per_bus:") - else: - logger.warning("Checking for multiple gens and/or external grids per bus...") - logger.warning("") - - # message body - diag_result = self.diag_results["multiple_voltage_controlling_elements_per_bus"] - element_counter = 0 - for feeder_type in diag_result: - element_counter += len(diag_result[feeder_type]) - if self.compact_report: - logger.warning("%s: %s" % (feeder_type, diag_result[feeder_type])) - - else: - for bus in diag_result[feeder_type]: - if feeder_type == "buses_with_mult_ext_grids": - logger.warning("External grids %s are connected to bus %s. Only one " - "external grid per bus is allowed." - % (list(self.net.ext_grid[self.net.ext_grid.bus - == bus].index), bus)) - elif feeder_type == "buses_with_gens_and_ext_grids": - logger.warning("Generator(s) %s and external grid(s) %s are connected " - "to bus %s. Only one generator OR one external grid " - "per bus is allowed." - % (list(self.net.gen[self.net.gen.bus == bus].index), - list(self.net.ext_grid[self.net.ext_grid.bus - == bus].index), bus)) - - # message summary - if not self.compact_report: - logger.warning("") - logger.warning("SUMMARY: %s bus(ses) with multiple gens and/or ext_grids " - "found." % (element_counter)) - elif "multiple_voltage_controlling_elements_per_bus" in self.diag_errors: - logger.warning("Check for multiple voltage controlling elements per bus failed due " - "to the following error:") - logger.warning(self.diag_errors["multiple_voltage_controlling_elements_per_bus"]) - else: - logger.info("PASSED: No buses with multiple gens and/or ext_grids found.") - - - def report_wrong_reference_system(self): - - if "wrong_reference_system" in self.diag_results: - - # message header - if self.compact_report: - logger.warning("wrong_reference_system:") - else: - logger.warning("Checking for usage of wrong reference system...") - logger.warning("") - - # message body - diag_result = self.diag_results["wrong_reference_system"] - for element_type in diag_result: - if element_type == "loads": - if self.compact_report: - logger.warning("loads %s: wrong reference system." - % (diag_result[element_type])) - else: - for load in diag_result[element_type]: - logger.warning("Found load %s: '%s' with p_mw = %s. In load reference " - "system p_mw should be positive." - % (load, self.net.load.name.at[load], - self.net.load.p_mw.at[load])) - - elif element_type == "gens": - if self.compact_report: - logger.warning("gens %s: wrong reference system." - % (diag_result[element_type])) - else: - for gen in diag_result[element_type]: - logger.warning("Found gen %s: '%s' with p_mw = %s. In load reference " - "system p_mw should be negative." - % (gen, self.net.gen.name.at[gen], self.net.gen.p_mw.at[gen])) - - elif element_type == "sgens": - if self.compact_report: - logger.warning("sgens %s: wrong reference system." - % (diag_result[element_type])) - else: - for sgen in diag_result[element_type]: - logger.warning("Found sgen %s: '%s' with p_mw = %s. In load reference " - "system p_mw should be negative." - % (sgen, self.net.sgen.name.at[sgen], self.net.sgen.p_mw.at[sgen])) - - # message summary - if not self.compact_report: - logger.warning("") - if 'loads' in diag_result: - logger.warning("SUMMARY: Found %s load(s) with negative p_mw. In load " - "reference system, p_mw should be positive. If the intention " - "was to model a constant generation, please use an sgen instead." - % (len(diag_result['loads']))) - if 'gens' in diag_result: - logger.warning("SUMMARY: Found %s gen(s) with positive p_mw. In load " - "reference system, p_mw should be negative. If the intention " - "was to model a load, please use a load instead." - % (len(diag_result['gens']))) - if 'sgens' in diag_result: - logger.warning("SUMMARY: Found %s sgen(s) with positive p_mw. In load " - "reference system, p_mw should be negative. If the intention " - "was to model a load, please use a load instead." - % (len(diag_result['sgens']))) - - elif "wrong_reference_system" in self.diag_errors: - logger.warning("Check for wrong reference system failed due to the following error:") - logger.warning(self.diag_errors["wrong_reference_system"]) - else: - logger.info("PASSED: correct reference system") - - - def report_deviation_from_std_type(self): - - if "deviation_from_std_type" in self.diag_results: - # message header - if self.compact_report: - logger.warning("deviation_from_std_type:") - else: - logger.warning("Checking for deviation from std type...") - logger.warning("") - - # message body - diag_result = self.diag_results["deviation_from_std_type"] - element_counter = 0 - for et in diag_result: - for eid in diag_result[et]: - element_counter += 1 - values = diag_result[et][eid] - if values['std_type_in_lib']: - logger.warning("%s %s: %s = %s, std_type_value = %s" - % (et, eid, values['param'], values['e_value'], - values['std_type_value'])) - else: - logger.warning("%s %s: No valid std_type or std_type not in net.std_types" - % (et, eid)) - - # message summary - if not self.compact_report: - logger.warning("") - logger.warning("SUMMARY: %s elements with deviations from std_type found." - % (element_counter)) - - elif "deviation_from_std_type" in self.diag_errors: - logger.warning("Check for deviation from std_type failed due to the following error:") - logger.warning(self.diag_errors["deviation_from_std_type"]) - else: - logger.info("PASSED: No elements with deviations from std_type found.") - - def report_numba_comparison(self): - - if "numba_comparison" in self.diag_results: - # message header - if self.compact_report: - logger.warning("numba_comparison:") - else: - logger.warning("Checking for deviations between numba = True vs. False...") - logger.warning("") - - # message body - diag_result = self.diag_results["numba_comparison"] - element_counter = 0 - for element_type in diag_result: - for res_type in diag_result[element_type]: - if self.compact_report: - logger.warning("%s.%s absolute deviations:\n%s" - % (element_type, res_type, - diag_result[element_type][res_type])) - else: - for idx in diag_result[element_type][res_type].index: - element_counter += 1 - dev = diag_result[element_type][res_type].loc[idx] - logger.warning("%s.%s at index %s: absolute deviation = %s" - % (element_type, res_type, idx, dev)) - - # message summary - if not self.compact_report: - logger.warning("") - logger.warning("SUMMARY: %s results with deviations between numba = True vs. \ - False found." % (element_counter)) - - elif "numba_comparison" in self.diag_errors: - logger.warning("numba_comparison failed due to the following error:") - logger.warning(self.diag_errors["numba_comparison"]) - else: - logger.info("PASSED: No results with deviations between numba = True vs. False found.") - - - def report_parallel_switches(self): - - if "parallel_switches" in self.diag_results: - # message header - if self.compact_report: - logger.warning("parallel_switches:") - else: - logger.warning("Checking for parallel switches...") - logger.warning("") - - # message body - diag_result = self.diag_results["parallel_switches"] - for switch_tuple in diag_result: - logger.warning("switches %s are parallel." % switch_tuple) - - # message summary - if not self.compact_report: - logger.warning("") - logger.warning("SUMMARY: %s occurences of parallel switches found." - % len(diag_result)) - elif "parallel_switches" in self.diag_errors: - logger.warning("Check for parallel_switches failed due to the following error:") - logger.warning(self.diag_errors["parallel_switches"]) - else: - logger.info("PASSED: No parallel switches found.") - - - def report_missing_bus_indices(self): - # message header - if self.compact_report: - logger.info("missing_bus_indices:") - else: - logger.info("Checking for missing bus indices...") - logger.info("") - if "missing_bus_indices" in self.diag_results: - # message body - diag_result = self.diag_results["missing_bus_indices"] - element_counter = 0 - for element_type in diag_result: - for element in diag_result[element_type]: - element_counter += 1 - logger.warning("%s %s: %s (%s) not in net.bus.index" % (element_type, - element[0], element[1], element[2])) - - # message summary - if not self.compact_report: - logger.warning("") - logger.warning("SUMMARY: %s missing bus indices found." % element_counter) - - elif "missing_bus_indices" in self.diag_errors: - logger.warning("Check for missing bus indices failed due to the following error:") - logger.warning(self.diag_errors["missing_bus_indices"]) - else: +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + + +try: + import pplog as logging +except ImportError: + import logging + +logger = logging.getLogger(__name__) + +# separator between log messages +log_message_sep = ("\n --------\n") + + +def diagnostic_report(net, diag_results, diag_errors, diag_params, compact_report, warnings_only): + diag_report = DiagnosticReports(net, diag_results, diag_errors, diag_params, compact_report) + if warnings_only: + logger.setLevel(logging.WARNING) + else: + logger.setLevel(logging.INFO) + + report_methods = { + "missing_bus_indices": diag_report.report_missing_bus_indices, + "disconnected_elements": diag_report.report_disconnected_elements, + "different_voltage_levels_connected": diag_report.report_different_voltage_levels_connected, + "impedance_values_close_to_zero": diag_report.report_impedance_values_close_to_zero, + "nominal_voltages_dont_match": diag_report.report_nominal_voltages_dont_match, + "invalid_values": diag_report.report_invalid_values, + "overload": diag_report.report_overload, + "multiple_voltage_controlling_elements_per_bus": diag_report.report_multiple_voltage_controlling_elements_per_bus, + "wrong_switch_configuration": diag_report.report_wrong_switch_configuration, + "no_ext_grid": diag_report.report_no_ext_grid, + "wrong_reference_system": diag_report.report_wrong_reference_system, + "deviation_from_std_type": diag_report.report_deviation_from_std_type, + "numba_comparison": diag_report.report_numba_comparison, + "parallel_switches": diag_report.report_parallel_switches + } + + logger.warning("\n\n_____________ PANDAPOWER DIAGNOSTIC TOOL _____________ \n") + for key in report_methods: + if (key in diag_results) or not warnings_only: + report_methods[key]() + logger.warning(log_message_sep) + + logger.warning("_____________ END OF PANDAPOWER DIAGNOSTIC _____________ ") + + +class DiagnosticReports: + def __init__(self, net, diag_results, diag_errors, diag_params, compact_report): + self.net = net + self.diag_results = diag_results + self.diag_errors = diag_errors + self.diag_params = diag_params + self.compact_report = compact_report + + def report_disconnected_elements(self): + if "disconnected_elements" in self.diag_results: + # message header + if self.compact_report: + logger.warning("disconnected_elements:") + else: + logger.warning("Checking for elements without a connection to an external grid...") + logger.warning("") + + # message body + diag_result = self.diag_results["disconnected_elements"] + element_counter = 0 + for disc_section in diag_result: + if self.compact_report: + logger.warning("disonnected_section: %s" % (disc_section)) + + else: + logger.warning("Disconnected section found," + " consisting of the following elements:") + for key in disc_section: + element_counter += len(disc_section[key]) + logger.warning("%s: %s" % (key, disc_section[key])) + + # message summary + if not self.compact_report: + logger.warning("") + logger.warning("SUMMARY: %s disconnected element(s) found." % (element_counter)) + elif "disconnected_elements" in self.diag_errors: + logger.warning("Check for disconnected elements failed due to the following error:") + logger.warning(self.diag_errors["disconnected_elements"]) + else: + logger.info("PASSED: No problematic switches found") + + def report_different_voltage_levels_connected(self): + from pandapower.toolbox import get_connected_buses_at_element + + if "different_voltage_levels_connected" in self.diag_results: + + # message header + if self.compact_report: + logger.warning("different_voltage_levels_connected:") + + else: + logger.warning("Checking for connections of different voltage levels...") + logger.warning("") + + # message body + diag_result = self.diag_results["different_voltage_levels_connected"] + element_counter = 0 + for key in diag_result: + element_counter += len(diag_result[key]) + if key == "lines": + element_type = "line" + elif key == "switches": + element_type = "switch" + if self.compact_report: + logger.warning("%s:" % (key)) + for element in diag_result[key]: + buses = list(get_connected_buses_at_element(self.net, element, + key[0])) + if self.compact_report: + logger.warning("%s %s: buses %s" % (element_type, element, buses)) + else: + logger.warning("%s %s connects bus %s: %s (vn_kv = %s) " + "and bus %s: %s (vn_kv = %s)" + % (element_type, element, buses[0], + self.net.bus.name.at[buses[0]], + self.net.bus.vn_kv.at[buses[0]], + buses[1], self.net.bus.name.at[buses[1]], + self.net.bus.vn_kv.at[buses[1]])) + # message summary + if not self.compact_report: + logger.warning("") + logger.warning("SUMMARY: %s element(s) that connect different voltage " + "levels found." % (element_counter)) + elif "different_voltage_levels_connected" in self.diag_errors: + logger.warning("Check for connection of different voltage levels failed due to the following error:") + logger.warning(self.diag_errors["different_voltage_levels_connected"]) + else: + logger.info("PASSED: No connection of different voltage levels found") + + + def report_impedance_values_close_to_zero(self): + + if "impedance_values_close_to_zero" in self.diag_results: + + # message header + if self.compact_report: + logger.warning("impedance_values_close_to_zero:") + + else: + logger.warning("Checking for impedance values close to zero...") + logger.warning("") + + # message body + diag_result = self.diag_results["impedance_values_close_to_zero"][0] + element_counter = 0 + for key in diag_result: + element_counter += len(diag_result[key]) + for element in diag_result[key]: + if key == "line": + min_r_type = "r_ohm" + min_x_type = "x_ohm" + elif key == "xward": + min_r_type = "r_ohm" + min_x_type = "x_ohm" + elif key == "impedance": + min_r_type = "r_pu" + min_x_type = "x_pu" + + logger.warning("%s %s: %s <= %s or %s <= %s" + % (key, element, min_r_type, self.diag_params["min_"+min_r_type], + min_x_type, self.diag_params["min_"+min_x_type])) + + if len(self.diag_results["impedance_values_close_to_zero"]) > 1: + switch_replacement = self.diag_results["impedance_values_close_to_zero"][1] + if switch_replacement["loadflow_converges_with_switch_replacement"]: + logger.warning("Switch replacement successful: Power flow converges after " + "replacing implausible elements with switches.") + else: + logger.warning("Power flow still does not converge after replacing implausible " + "elements with switches.") + + # message summary + if not self.compact_report: + logger.warning("") + logger.warning("SUMMARY: %s element(s) with impedance values close to zero found." + % (element_counter)) + elif "impedance_values_close_to_zero" in self.diag_errors: + logger.warning("Check for elements with impedance values close to zero failed due " + "to the following error:") + logger.warning(self.diag_errors["impedance_values_close_to_zero"]) + else: + logger.info("PASSED: No elements with impedance values close to zero found...") + + + def report_nominal_voltages_dont_match(self): + + if "nominal_voltages_dont_match" in self.diag_results: + + # message header + if self.compact_report: + logger.warning("nominal_voltages_dont_match:") + + else: + logger.warning("Checking for components with deviating nominal voltages...") + logger.warning("") + + # message body + diag_result = self.diag_results["nominal_voltages_dont_match"] + nom_voltage_tolerance = self.diag_params["nom_voltage_tolerance"] + element_counter = 0 + for element in diag_result: + if self.compact_report: + logger.warning("%s:" % (element)) + for key in diag_result[element]: + element_counter += len(diag_result[element][key]) + if element == "trafo": + if self.compact_report: + logger.warning("%s: %s" % (key, diag_result[element][key])) + else: + if key == "hv_lv_swapped": + logger.warning("Trafo(s) %s: hv and lv connectors seem to " + "be swapped" % (diag_result[element][key])) + elif key == "hv_bus": + for trafo in diag_result[element][key]: + logger.warning("Trafo %s: Nominal voltage on hv_side " + "(%s kV) and voltage_level of hv_bus " + "(bus %s with voltage_level %s kV) " + "deviate more than +/- %s percent." + % (trafo, self.net.trafo.vn_hv_kv.at[trafo], + self.net.trafo.hv_bus.at[trafo], + self.net.bus.vn_kv.at[self.net.trafo.hv_bus.at[trafo]], + nom_voltage_tolerance * 100)) + elif key == "lv_bus": + for trafo in diag_result[element][key]: + logger.warning("Trafo %s: Nominal voltage on lv_side " + "(%s kV) and voltage_level of lv_bus " + "(bus %s with voltage_level %s kV) " + "deviate more than +/- %s percent." + % (trafo, self.net.trafo.vn_lv_kv.at[trafo], + self.net.trafo.lv_bus.at[trafo], + self.net.bus.vn_kv.at[self.net.trafo.lv_bus.at[trafo]], + nom_voltage_tolerance * 100)) + if element == "trafo3w": + if self.compact_report: + logger.warning("%s: %s" % (key, diag_result[element][key])) + else: + if key == "connectors_swapped_3w": + logger.warning("Trafo3w %s: connectors seem to " + "be swapped" % (diag_result[element][key])) + elif key == "hv_bus": + for trafo3w in diag_result[element][key]: + logger.warning("Trafo3w %s: Nominal voltage on hv_side " + "(%s kV) and voltage_level of hv_bus " + "(bus %s with voltage_level %s kV) " + "deviate more than +/- %s percent." + % (trafo3w, self.net.trafo3w.vn_hv_kv.at[trafo3w], + self.net.trafo3w.hv_bus.at[trafo3w], + self.net.bus.vn_kv.at[self.net.trafo3w.hv_bus.at[trafo3w]], + nom_voltage_tolerance * 100)) + elif key == "mv_bus": + for trafo3w in diag_result[element][key]: + logger.warning("Trafo3w %s: Nominal voltage on mv_side " + "(%s kV) and voltage_level of mv_bus " + "(bus %s with voltage_level %s kV) " + "deviate more than +/- %s percent." + % (trafo3w, self.net.trafo3w.vn_mv_kv.at[trafo3w], + self.net.trafo3w.mv_bus.at[trafo3w], + self.net.bus.vn_kv.at[self.net.trafo3w.mv_bus.at[trafo3w]], + nom_voltage_tolerance * 100)) + elif key == "lv_bus": + for trafo3w in diag_result[element][key]: + logger.warning("Trafo3w %s: Nominal voltage on lv_side " + "(%s kV) and voltage_level of lv_bus " + "(bus %s with voltage_level %s kV) " + "deviate more than +/- %s percent." + % (trafo3w, self.net.trafo3w.vn_lv_kv.at[trafo3w], + self.net.trafo3w.lv_bus.at[trafo3w], + self.net.bus.vn_kv.at[self.net.trafo3w.lv_bus.at[trafo3w]], + nom_voltage_tolerance * 100)) + + # message summary + if not self.compact_report: + logger.warning("") + logger.warning("SUMMARY: %s component(s) with deviating nominal voltages found" + % (element_counter)) + elif "nominal_voltages_dont_match" in self.diag_errors: + logger.warning("Check for components with deviating nominal voltages failed due " + "to the following error:") + logger.warning(self.diag_errors["nominal_voltages_dont_match"]) + else: + logger.info("PASSED: No components with deviating nominal voltages found") + + def report_invalid_values(self): + + if "invalid_values" in self.diag_results: + + # message header + if self.compact_report: + logger.warning("invalid_values:") + else: + logger.warning("Checking for invalid_values...") + logger.warning("") + + # message body + if "invalid_values" in self.diag_results: + diag_result = self.diag_results["invalid_values"] + element_counter = 0 + for element_type in diag_result: + element_counter += len(diag_result[element_type]) + logger.warning("%s:" % (element_type)) + for inv_value in diag_result[element_type]: + if self.compact_report: + logger.warning("%s %s: '%s' = %s (restriction: %s)" + % (element_type, inv_value[0], inv_value[1], inv_value[2], + inv_value[3])) + else: + logger.warning("Invalid value found: '%s %s' with attribute '%s' = %s " + "(data type: %s). Valid input needs to be %s." + % (element_type, inv_value[0], inv_value[1], inv_value[2], + type(inv_value[2]), inv_value[3])) + + # message summary + if not self.compact_report: + logger.warning("") + logger.warning("SUMMARY: %s invalid values found." % element_counter) + + elif "invalid_values" in self.diag_errors: + logger.warning("Check for invalid values failed due to the following error:") + logger.warning(self.diag_errors["invalid_values"]) + else: + logger.info("PASSED: No invalid values found") + + + def report_overload(self): + + if "overload" in self.diag_results: + # message header + if self.compact_report: + logger.warning("overload:") + else: + logger.warning("Checking for overload...") + logger.warning("") + + # message body + diag_result = self.diag_results["overload"] + overload_scaling_factor = self.diag_params["overload_scaling_factor"] + if not diag_result["load"] and not diag_result["generation"]: + logger.warning("Overload check failed: Power flow still does not " + "converge with load and generation scaled down to %s percent." + % (overload_scaling_factor * 100)) + elif (diag_result["load"] and diag_result["generation"]): + logger.warning("overload found: Power flow converges " + "with load and generation scaled down to %s percent." + % (overload_scaling_factor * 100)) + else: + if diag_result["load"]: + logger.warning("overload found: Power flow converges " + "with load scaled down to %s percent." + % (overload_scaling_factor * 100)) + elif diag_result["generation"]: + logger.warning("overload found: Power flow converges " + "with generation scaled down to %s percent." + % (overload_scaling_factor * 100)) + # message summary + elif "overload" in self.diag_errors: + logger.warning("Check for overload failed due to the following error:") + logger.warning(self.diag_errors["overload"]) + else: + logger.info("PASSED: Power flow converges. No overload found.") + + + def report_wrong_switch_configuration(self): + + if "wrong_switch_configuration" in self.diag_results: + + # message header + if self.compact_report: + logger.warning("wrong_switch_configuration:") + else: + logger.warning("Checking switch configuration...") + logger.warning("") + + # message body + diag_result = self.diag_results["wrong_switch_configuration"] + if diag_result: + logger.warning("Possibly wrong switch configuration found: power flow " + "converges with all switches closed.") + else: + logger.warning("Power flow still does not converge with all switches closed.") + + # message summary + elif "wrong_switch_configuration" in self.diag_errors: + logger.warning("Check for wrong switch configuration failed due to the following error:") + logger.warning(self.diag_errors["wrong_switch_configuration"]) + else: + logger.info("PASSED: Power flow converges. Switch configuration seems ok.") + + + def report_no_ext_grid(self): + + if "no_ext_grid" in self.diag_results: + # message header + if self.compact_report: + logger.warning("no_external_grid:") + else: + logger.warning("Checking if there is at least one external grid...") + logger.warning("") + + # message body + diag_result = self.diag_results["no_ext_grid"] + if diag_result is True: + logger.warning("No ext_grid found. There has to be at least one ext_grid!") + + # message summary + elif "no_ext_grid" in self.diag_errors: + logger.warning("Check for external grid failed due to the following error:") + logger.warning(self.diag_errors["no_ext_grid"]) + else: + logger.info("PASSED: External grid found.") + + + def report_multiple_voltage_controlling_elements_per_bus(self): + + if "multiple_voltage_controlling_elements_per_bus" in self.diag_results: + # message header + if self.compact_report: + logger.warning("multiple_voltage_controlling_elements_per_bus:") + else: + logger.warning("Checking for multiple gens and/or external grids per bus...") + logger.warning("") + + # message body + diag_result = self.diag_results["multiple_voltage_controlling_elements_per_bus"] + element_counter = 0 + for feeder_type in diag_result: + element_counter += len(diag_result[feeder_type]) + if self.compact_report: + logger.warning("%s: %s" % (feeder_type, diag_result[feeder_type])) + + else: + for bus in diag_result[feeder_type]: + if feeder_type == "buses_with_mult_ext_grids": + logger.warning("External grids %s are connected to bus %s. Only one " + "external grid per bus is allowed." + % (list(self.net.ext_grid[self.net.ext_grid.bus + == bus].index), bus)) + elif feeder_type == "buses_with_gens_and_ext_grids": + logger.warning("Generator(s) %s and external grid(s) %s are connected " + "to bus %s. Only one generator OR one external grid " + "per bus is allowed." + % (list(self.net.gen[self.net.gen.bus == bus].index), + list(self.net.ext_grid[self.net.ext_grid.bus + == bus].index), bus)) + + # message summary + if not self.compact_report: + logger.warning("") + logger.warning("SUMMARY: %s bus(ses) with multiple gens and/or ext_grids " + "found." % (element_counter)) + elif "multiple_voltage_controlling_elements_per_bus" in self.diag_errors: + logger.warning("Check for multiple voltage controlling elements per bus failed due " + "to the following error:") + logger.warning(self.diag_errors["multiple_voltage_controlling_elements_per_bus"]) + else: + logger.info("PASSED: No buses with multiple gens and/or ext_grids found.") + + + def report_wrong_reference_system(self): + + if "wrong_reference_system" in self.diag_results: + + # message header + if self.compact_report: + logger.warning("wrong_reference_system:") + else: + logger.warning("Checking for usage of wrong reference system...") + logger.warning("") + + # message body + diag_result = self.diag_results["wrong_reference_system"] + for element_type in diag_result: + if element_type == "loads": + if self.compact_report: + logger.warning("loads %s: wrong reference system." + % (diag_result[element_type])) + else: + for load in diag_result[element_type]: + logger.warning("Found load %s: '%s' with p_mw = %s. In load reference " + "system p_mw should be positive." + % (load, self.net.load.name.at[load], + self.net.load.p_mw.at[load])) + + elif element_type == "gens": + if self.compact_report: + logger.warning("gens %s: wrong reference system." + % (diag_result[element_type])) + else: + for gen in diag_result[element_type]: + logger.warning("Found gen %s: '%s' with p_mw = %s. In load reference " + "system p_mw should be negative." + % (gen, self.net.gen.name.at[gen], self.net.gen.p_mw.at[gen])) + + elif element_type == "sgens": + if self.compact_report: + logger.warning("sgens %s: wrong reference system." + % (diag_result[element_type])) + else: + for sgen in diag_result[element_type]: + logger.warning("Found sgen %s: '%s' with p_mw = %s. In load reference " + "system p_mw should be negative." + % (sgen, self.net.sgen.name.at[sgen], self.net.sgen.p_mw.at[sgen])) + + # message summary + if not self.compact_report: + logger.warning("") + if 'loads' in diag_result: + logger.warning("SUMMARY: Found %s load(s) with negative p_mw. In load " + "reference system, p_mw should be positive. If the intention " + "was to model a constant generation, please use an sgen instead." + % (len(diag_result['loads']))) + if 'gens' in diag_result: + logger.warning("SUMMARY: Found %s gen(s) with positive p_mw. In load " + "reference system, p_mw should be negative. If the intention " + "was to model a load, please use a load instead." + % (len(diag_result['gens']))) + if 'sgens' in diag_result: + logger.warning("SUMMARY: Found %s sgen(s) with positive p_mw. In load " + "reference system, p_mw should be negative. If the intention " + "was to model a load, please use a load instead." + % (len(diag_result['sgens']))) + + elif "wrong_reference_system" in self.diag_errors: + logger.warning("Check for wrong reference system failed due to the following error:") + logger.warning(self.diag_errors["wrong_reference_system"]) + else: + logger.info("PASSED: correct reference system") + + + def report_deviation_from_std_type(self): + + if "deviation_from_std_type" in self.diag_results: + # message header + if self.compact_report: + logger.warning("deviation_from_std_type:") + else: + logger.warning("Checking for deviation from std type...") + logger.warning("") + + # message body + diag_result = self.diag_results["deviation_from_std_type"] + element_counter = 0 + for et in diag_result: + for eid in diag_result[et]: + element_counter += 1 + values = diag_result[et][eid] + if values['std_type_in_lib']: + logger.warning("%s %s: %s = %s, std_type_value = %s" + % (et, eid, values['param'], values['e_value'], + values['std_type_value'])) + else: + logger.warning("%s %s: No valid std_type or std_type not in net.std_types" + % (et, eid)) + + # message summary + if not self.compact_report: + logger.warning("") + logger.warning("SUMMARY: %s elements with deviations from std_type found." + % (element_counter)) + + elif "deviation_from_std_type" in self.diag_errors: + logger.warning("Check for deviation from std_type failed due to the following error:") + logger.warning(self.diag_errors["deviation_from_std_type"]) + else: + logger.info("PASSED: No elements with deviations from std_type found.") + + def report_numba_comparison(self): + + if "numba_comparison" in self.diag_results: + # message header + if self.compact_report: + logger.warning("numba_comparison:") + else: + logger.warning("Checking for deviations between numba = True vs. False...") + logger.warning("") + + # message body + diag_result = self.diag_results["numba_comparison"] + element_counter = 0 + for element_type in diag_result: + for res_type in diag_result[element_type]: + if self.compact_report: + logger.warning("%s.%s absolute deviations:\n%s" + % (element_type, res_type, + diag_result[element_type][res_type])) + else: + for idx in diag_result[element_type][res_type].index: + element_counter += 1 + dev = diag_result[element_type][res_type].loc[idx] + logger.warning("%s.%s at index %s: absolute deviation = %s" + % (element_type, res_type, idx, dev)) + + # message summary + if not self.compact_report: + logger.warning("") + logger.warning("SUMMARY: %s results with deviations between numba = True vs. \ + False found." % (element_counter)) + + elif "numba_comparison" in self.diag_errors: + logger.warning("numba_comparison failed due to the following error:") + logger.warning(self.diag_errors["numba_comparison"]) + else: + logger.info("PASSED: No results with deviations between numba = True vs. False found.") + + + def report_parallel_switches(self): + + if "parallel_switches" in self.diag_results: + # message header + if self.compact_report: + logger.warning("parallel_switches:") + else: + logger.warning("Checking for parallel switches...") + logger.warning("") + + # message body + diag_result = self.diag_results["parallel_switches"] + for switch_tuple in diag_result: + logger.warning("switches %s are parallel." % switch_tuple) + + # message summary + if not self.compact_report: + logger.warning("") + logger.warning("SUMMARY: %s occurences of parallel switches found." + % len(diag_result)) + elif "parallel_switches" in self.diag_errors: + logger.warning("Check for parallel_switches failed due to the following error:") + logger.warning(self.diag_errors["parallel_switches"]) + else: + logger.info("PASSED: No parallel switches found.") + + + def report_missing_bus_indices(self): + # message header + if self.compact_report: + logger.info("missing_bus_indices:") + else: + logger.info("Checking for missing bus indices...") + logger.info("") + if "missing_bus_indices" in self.diag_results: + # message body + diag_result = self.diag_results["missing_bus_indices"] + element_counter = 0 + for element_type in diag_result: + for element in diag_result[element_type]: + element_counter += 1 + logger.warning("%s %s: %s (%s) not in net.bus.index" % (element_type, + element[0], element[1], element[2])) + + # message summary + if not self.compact_report: + logger.warning("") + logger.warning("SUMMARY: %s missing bus indices found." % element_counter) + + elif "missing_bus_indices" in self.diag_errors: + logger.warning("Check for missing bus indices failed due to the following error:") + logger.warning(self.diag_errors["missing_bus_indices"]) + else: logger.info("PASSED: No missing bus indices found.") \ No newline at end of file diff --git a/pandapower/estimation/algorithm/base.py b/pandapower/estimation/algorithm/base.py index fc4f13992..72254d25c 100644 --- a/pandapower/estimation/algorithm/base.py +++ b/pandapower/estimation/algorithm/base.py @@ -1,241 +1,241 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - -import numpy as np -from scipy.sparse import csr_matrix, vstack, hstack -from scipy.sparse.linalg import spsolve - -from pandapower.estimation.algorithm.estimator import BaseEstimatorIRWLS, get_estimator -from pandapower.estimation.algorithm.matrix_base import BaseAlgebra, \ - BaseAlgebraZeroInjConstraints -from pandapower.estimation.idx_bus import ZERO_INJ_FLAG, P, P_STD, Q, Q_STD -from pandapower.estimation.ppc_conversion import ExtendedPPCI -from pandapower.pypower.idx_bus import bus_cols - -try: - import pplog as logging -except ImportError: - import logging -std_logger = logging.getLogger(__name__) - -__all__ = ["WLSAlgorithm", "WLSZeroInjectionConstraintsAlgorithm", "IRWLSAlgorithm"] - - -class BaseAlgorithm: - def __init__(self, tolerance, maximum_iterations, logger=std_logger): - self.tolerance = tolerance - self.max_iterations = maximum_iterations - self.logger = logger - self.successful = False - self.iterations = None - - # Parameters for estimate - self.eppci = None - self.pp_meas_indices = None - - def check_observability(self, eppci: ExtendedPPCI, z): - # Check if observability criterion is fulfilled and the state estimation is possible - if len(z) < 2 * eppci["bus"].shape[0] - 1: - self.logger.error("System is not observable (cancelling)") - self.logger.error("Measurements available: %d. Measurements required: %d" % - (len(z), 2 * eppci["bus"].shape[0] - 1)) - raise UserWarning("Measurements available: %d. Measurements required: %d" % - (len(z), 2 * eppci["bus"].shape[0] - 1)) - - def check_result(self, current_error, cur_it): - # print output for results - if current_error <= self.tolerance: - self.successful = True - self.logger.debug("State Estimation successful ({:d} iterations)".format(cur_it)) - else: - self.successful = False - self.logger.debug("State Estimation not successful ({:d}/{:d} iterations)".format(cur_it, - self.max_iterations)) - - def initialize(self, eppci: ExtendedPPCI): - # Check observability - self.eppci = eppci - self.pp_meas_indices = eppci.pp_meas_indices - self.check_observability(eppci, eppci.z) - - def estimate(self, eppci: ExtendedPPCI, **kwargs): - # Must be implemented individually!! - pass - - -class WLSAlgorithm(BaseAlgorithm): - def __init__(self, tolerance, maximum_iterations, logger=std_logger): - super(WLSAlgorithm, self).__init__(tolerance, maximum_iterations, logger) - - # Parameters for Bad data detection - self.R_inv = None - self.Gm = None - self.r = None - self.H = None - self.hx = None - - def estimate(self, eppci: ExtendedPPCI, **kwargs): - self.initialize(eppci) - # matrix calculation object - sem = BaseAlgebra(eppci) - - current_error, cur_it = 100., 0 - # invert covariance matrix - r_inv = csr_matrix(np.diagflat(1 / eppci.r_cov ** 2)) - E = eppci.E - while current_error > self.tolerance and cur_it < self.max_iterations: - self.logger.debug("Starting iteration {:d}".format(1 + cur_it)) - try: - # residual r - r = csr_matrix(sem.create_rx(E)).T - - # jacobian matrix H - H = csr_matrix(sem.create_hx_jacobian(E)) - - # gain matrix G_m - # G_m = H^t * R^-1 * H - G_m = H.T * (r_inv * H) - - # state vector difference d_E - # d_E = G_m^-1 * (H' * R^-1 * r) - d_E = spsolve(G_m, H.T * (r_inv * r)) - - # Update E with d_E - E += d_E.ravel() - eppci.update_E(E) - - # prepare next iteration - cur_it += 1 - current_error = np.max(np.abs(d_E)) - self.logger.debug("Current error: {:.7f}".format(current_error)) - except np.linalg.linalg.LinAlgError: - self.logger.error("A problem appeared while using the linear algebra methods." - "Check and change the measurement set.") - return False - - # check if the estimation is successfull - self.check_result(current_error, cur_it) - if self.successful: - # store variables required for chi^2 and r_N_max test: - self.R_inv = r_inv.toarray() - self.Gm = G_m.toarray() - self.r = r.toarray() - self.H = H.toarray() - # create h(x) for the current iteration - self.hx = sem.create_hx(eppci.E) - return eppci - - -class WLSZeroInjectionConstraintsAlgorithm(BaseAlgorithm): - def estimate(self, eppci: ExtendedPPCI, **kwargs): - # state vector built from delta, |V| and zero injections - # Find pq bus with zero p,q and shunt admittance - if not np.any(eppci["bus"][:, bus_cols + ZERO_INJ_FLAG]): - raise UserWarning("Network has no bus with zero injections! Please use WLS instead!") - zero_injection_bus = np.argwhere(eppci["bus"][:, bus_cols + ZERO_INJ_FLAG] == True).ravel() - eppci["bus"][np.ix_(zero_injection_bus, [bus_cols + P, bus_cols + P_STD, bus_cols + Q, bus_cols + Q_STD])] = np.NaN - # Withn pq buses with zero injection identify those who have also no p or q measurement - p_zero_injections = zero_injection_bus - q_zero_injections = zero_injection_bus - new_states = np.zeros(len(p_zero_injections) + len(q_zero_injections)) - - num_bus = eppci["bus"].shape[0] - - # matrix calculation object - sem = BaseAlgebraZeroInjConstraints(eppci) - - current_error, cur_it = 100., 0 - r_inv = csr_matrix((np.diagflat(1 / eppci.r_cov) ** 2)) - E = eppci.E - # update the E matrix - E_ext = np.r_[eppci.E, new_states] - - while current_error > self.tolerance and cur_it < self.max_iterations: - self.logger.debug("Starting iteration {:d}".format(1 + cur_it)) - try: - c_x = sem.create_cx(E, p_zero_injections, q_zero_injections) - - # residual r - r = csr_matrix(sem.create_rx(E)).T - c_rxh = csr_matrix(c_x).T - - # jacobian matrix H - H_temp = sem.create_hx_jacobian(E) - C_temp = sem.create_cx_jacobian(E, p_zero_injections, q_zero_injections) - H, C = csr_matrix(H_temp), csr_matrix(C_temp) - - # gain matrix G_m - # G_m = H^t * R^-1 * H - G_m = H.T * (r_inv * H) - - # building a new gain matrix for new constraints. - A_1 = vstack([G_m, C]) - c_ax = hstack([C, np.zeros((C.shape[0], C.shape[0]))]) - c_xT = c_ax.T - M_tx = csr_matrix(hstack((A_1, c_xT))) # again adding to the new gain matrix - rhs = H.T * (r_inv * r) # original right hand side - C_rhs = vstack((rhs, -c_rxh)) # creating the righ hand side with new constraints - - # state vector difference d_E and update E - d_E_ext = spsolve(M_tx, C_rhs) - E_ext += d_E_ext.ravel() - E = E_ext[:E.shape[0]] - eppci.update_E(E) - - # prepare next iteration - cur_it += 1 - current_error = np.max(np.abs(d_E_ext[:len(eppci.non_slack_buses) + num_bus])) - self.logger.debug("Current error: {:.7f}".format(current_error)) - except np.linalg.linalg.LinAlgError: - self.logger.error("A problem appeared while using the linear algebra methods." - "Check and change the measurement set.") - return False - - # check if the estimation is successfull - self.check_result(current_error, cur_it) - return eppci - - -class IRWLSAlgorithm(BaseAlgorithm): - def estimate(self, eppci: ExtendedPPCI, estimator="wls", **kwargs): - self.initialize(eppci) - - # matrix calculation object - sem = get_estimator(BaseEstimatorIRWLS, estimator)(eppci, **kwargs) - - current_error, cur_it = 100., 0 - E = eppci.E - while current_error > self.tolerance and cur_it < self.max_iterations: - self.logger.debug("Starting iteration {:d}".format(1 + cur_it)) - try: - # residual r - r = csr_matrix(sem.create_rx(E)).T - - # jacobian matrix H - H = csr_matrix(sem.create_hx_jacobian(E)) - - # gain matrix G_m - # G_m = H^t * Phi * H - phi = csr_matrix(sem.create_phi(E)) - G_m = H.T * (phi * H) - - # state vector difference d_E and update E - d_E = spsolve(G_m, H.T * (phi * r)) - E += d_E.ravel() - eppci.update_E(E) - - # prepare next iteration - cur_it += 1 - current_error = np.max(np.abs(d_E)) - self.logger.debug("Current error: {:.7f}".format(current_error)) - except np.linalg.linalg.LinAlgError: - self.logger.error("A problem appeared while using the linear algebra methods." - "Check and change the measurement set.") - return False - - # check if the estimation is successfull - self.check_result(current_error, cur_it) - # update V/delta - return eppci +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + +import numpy as np +from scipy.sparse import csr_matrix, vstack, hstack +from scipy.sparse.linalg import spsolve + +from pandapower.estimation.algorithm.estimator import BaseEstimatorIRWLS, get_estimator +from pandapower.estimation.algorithm.matrix_base import BaseAlgebra, \ + BaseAlgebraZeroInjConstraints +from pandapower.estimation.idx_bus import ZERO_INJ_FLAG, P, P_STD, Q, Q_STD +from pandapower.estimation.ppc_conversion import ExtendedPPCI +from pandapower.pypower.idx_bus import bus_cols + +try: + import pplog as logging +except ImportError: + import logging +std_logger = logging.getLogger(__name__) + +__all__ = ["WLSAlgorithm", "WLSZeroInjectionConstraintsAlgorithm", "IRWLSAlgorithm"] + + +class BaseAlgorithm: + def __init__(self, tolerance, maximum_iterations, logger=std_logger): + self.tolerance = tolerance + self.max_iterations = maximum_iterations + self.logger = logger + self.successful = False + self.iterations = None + + # Parameters for estimate + self.eppci = None + self.pp_meas_indices = None + + def check_observability(self, eppci: ExtendedPPCI, z): + # Check if observability criterion is fulfilled and the state estimation is possible + if len(z) < 2 * eppci["bus"].shape[0] - 1: + self.logger.error("System is not observable (cancelling)") + self.logger.error("Measurements available: %d. Measurements required: %d" % + (len(z), 2 * eppci["bus"].shape[0] - 1)) + raise UserWarning("Measurements available: %d. Measurements required: %d" % + (len(z), 2 * eppci["bus"].shape[0] - 1)) + + def check_result(self, current_error, cur_it): + # print output for results + if current_error <= self.tolerance: + self.successful = True + self.logger.debug("State Estimation successful ({:d} iterations)".format(cur_it)) + else: + self.successful = False + self.logger.debug("State Estimation not successful ({:d}/{:d} iterations)".format(cur_it, + self.max_iterations)) + + def initialize(self, eppci: ExtendedPPCI): + # Check observability + self.eppci = eppci + self.pp_meas_indices = eppci.pp_meas_indices + self.check_observability(eppci, eppci.z) + + def estimate(self, eppci: ExtendedPPCI, **kwargs): + # Must be implemented individually!! + pass + + +class WLSAlgorithm(BaseAlgorithm): + def __init__(self, tolerance, maximum_iterations, logger=std_logger): + super(WLSAlgorithm, self).__init__(tolerance, maximum_iterations, logger) + + # Parameters for Bad data detection + self.R_inv = None + self.Gm = None + self.r = None + self.H = None + self.hx = None + + def estimate(self, eppci: ExtendedPPCI, **kwargs): + self.initialize(eppci) + # matrix calculation object + sem = BaseAlgebra(eppci) + + current_error, cur_it = 100., 0 + # invert covariance matrix + r_inv = csr_matrix(np.diagflat(1 / eppci.r_cov ** 2)) + E = eppci.E + while current_error > self.tolerance and cur_it < self.max_iterations: + self.logger.debug("Starting iteration {:d}".format(1 + cur_it)) + try: + # residual r + r = csr_matrix(sem.create_rx(E)).T + + # jacobian matrix H + H = csr_matrix(sem.create_hx_jacobian(E)) + + # gain matrix G_m + # G_m = H^t * R^-1 * H + G_m = H.T * (r_inv * H) + + # state vector difference d_E + # d_E = G_m^-1 * (H' * R^-1 * r) + d_E = spsolve(G_m, H.T * (r_inv * r)) + + # Update E with d_E + E += d_E.ravel() + eppci.update_E(E) + + # prepare next iteration + cur_it += 1 + current_error = np.max(np.abs(d_E)) + self.logger.debug("Current error: {:.7f}".format(current_error)) + except np.linalg.linalg.LinAlgError: + self.logger.error("A problem appeared while using the linear algebra methods." + "Check and change the measurement set.") + return False + + # check if the estimation is successfull + self.check_result(current_error, cur_it) + if self.successful: + # store variables required for chi^2 and r_N_max test: + self.R_inv = r_inv.toarray() + self.Gm = G_m.toarray() + self.r = r.toarray() + self.H = H.toarray() + # create h(x) for the current iteration + self.hx = sem.create_hx(eppci.E) + return eppci + + +class WLSZeroInjectionConstraintsAlgorithm(BaseAlgorithm): + def estimate(self, eppci: ExtendedPPCI, **kwargs): + # state vector built from delta, |V| and zero injections + # Find pq bus with zero p,q and shunt admittance + if not np.any(eppci["bus"][:, bus_cols + ZERO_INJ_FLAG]): + raise UserWarning("Network has no bus with zero injections! Please use WLS instead!") + zero_injection_bus = np.argwhere(eppci["bus"][:, bus_cols + ZERO_INJ_FLAG] == True).ravel() + eppci["bus"][np.ix_(zero_injection_bus, [bus_cols + P, bus_cols + P_STD, bus_cols + Q, bus_cols + Q_STD])] = np.NaN + # Withn pq buses with zero injection identify those who have also no p or q measurement + p_zero_injections = zero_injection_bus + q_zero_injections = zero_injection_bus + new_states = np.zeros(len(p_zero_injections) + len(q_zero_injections)) + + num_bus = eppci["bus"].shape[0] + + # matrix calculation object + sem = BaseAlgebraZeroInjConstraints(eppci) + + current_error, cur_it = 100., 0 + r_inv = csr_matrix((np.diagflat(1 / eppci.r_cov) ** 2)) + E = eppci.E + # update the E matrix + E_ext = np.r_[eppci.E, new_states] + + while current_error > self.tolerance and cur_it < self.max_iterations: + self.logger.debug("Starting iteration {:d}".format(1 + cur_it)) + try: + c_x = sem.create_cx(E, p_zero_injections, q_zero_injections) + + # residual r + r = csr_matrix(sem.create_rx(E)).T + c_rxh = csr_matrix(c_x).T + + # jacobian matrix H + H_temp = sem.create_hx_jacobian(E) + C_temp = sem.create_cx_jacobian(E, p_zero_injections, q_zero_injections) + H, C = csr_matrix(H_temp), csr_matrix(C_temp) + + # gain matrix G_m + # G_m = H^t * R^-1 * H + G_m = H.T * (r_inv * H) + + # building a new gain matrix for new constraints. + A_1 = vstack([G_m, C]) + c_ax = hstack([C, np.zeros((C.shape[0], C.shape[0]))]) + c_xT = c_ax.T + M_tx = csr_matrix(hstack((A_1, c_xT))) # again adding to the new gain matrix + rhs = H.T * (r_inv * r) # original right hand side + C_rhs = vstack((rhs, -c_rxh)) # creating the righ hand side with new constraints + + # state vector difference d_E and update E + d_E_ext = spsolve(M_tx, C_rhs) + E_ext += d_E_ext.ravel() + E = E_ext[:E.shape[0]] + eppci.update_E(E) + + # prepare next iteration + cur_it += 1 + current_error = np.max(np.abs(d_E_ext[:len(eppci.non_slack_buses) + num_bus])) + self.logger.debug("Current error: {:.7f}".format(current_error)) + except np.linalg.linalg.LinAlgError: + self.logger.error("A problem appeared while using the linear algebra methods." + "Check and change the measurement set.") + return False + + # check if the estimation is successfull + self.check_result(current_error, cur_it) + return eppci + + +class IRWLSAlgorithm(BaseAlgorithm): + def estimate(self, eppci: ExtendedPPCI, estimator="wls", **kwargs): + self.initialize(eppci) + + # matrix calculation object + sem = get_estimator(BaseEstimatorIRWLS, estimator)(eppci, **kwargs) + + current_error, cur_it = 100., 0 + E = eppci.E + while current_error > self.tolerance and cur_it < self.max_iterations: + self.logger.debug("Starting iteration {:d}".format(1 + cur_it)) + try: + # residual r + r = csr_matrix(sem.create_rx(E)).T + + # jacobian matrix H + H = csr_matrix(sem.create_hx_jacobian(E)) + + # gain matrix G_m + # G_m = H^t * Phi * H + phi = csr_matrix(sem.create_phi(E)) + G_m = H.T * (phi * H) + + # state vector difference d_E and update E + d_E = spsolve(G_m, H.T * (phi * r)) + E += d_E.ravel() + eppci.update_E(E) + + # prepare next iteration + cur_it += 1 + current_error = np.max(np.abs(d_E)) + self.logger.debug("Current error: {:.7f}".format(current_error)) + except np.linalg.linalg.LinAlgError: + self.logger.error("A problem appeared while using the linear algebra methods." + "Check and change the measurement set.") + return False + + # check if the estimation is successfull + self.check_result(current_error, cur_it) + # update V/delta + return eppci diff --git a/pandapower/estimation/algorithm/estimator.py b/pandapower/estimation/algorithm/estimator.py index eb27fb7e8..ea816b696 100644 --- a/pandapower/estimation/algorithm/estimator.py +++ b/pandapower/estimation/algorithm/estimator.py @@ -1,209 +1,209 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - -import numpy as np -try: - from numba import jit -except ImportError: - from pandapower.pf.no_numba import jit - -from scipy.stats import chi2 - -from pandapower.estimation.algorithm.matrix_base import BaseAlgebra -from pandapower.estimation.ppc_conversion import ExtendedPPCI - - -def get_estimator(base_class, estimator_name): - assert base_class in (BaseEstimatorIRWLS, BaseEstimatorOpt) - - available_estimators = {estm_cls.__name__.split("Estimator")[0].lower(): estm_cls - for estm_cls in base_class.__subclasses__()} - if estimator_name.lower() not in available_estimators: - raise Exception("Estimator not available! Try another one!") - else: - return available_estimators[estimator_name.lower()] - - -class BaseEstimatorIRWLS(BaseAlgebra): - def __init__(self, eppci: ExtendedPPCI, **hyperparameters): - # Initilize BaseAlgebra object for calculation of relevant matrix - super(BaseEstimatorIRWLS, self).__init__(eppci) - - def create_phi(self, E): # pragma: no cover - # Must be implemented for subclasses! - pass - - -class BaseEstimatorOpt(BaseAlgebra): - def __init__(self, eppci, **hyperparameters): - super(BaseEstimatorOpt, self).__init__(eppci) - # Hyperparameters for estimator should be added here - - def cost_function(self, E): # pragma: no cover - # Minimize sum(cost(r)) - # r = cost(z - h(x)) - # Must be implemented according to the estimator for the optimization - pass - - def create_cost_jacobian(self, E): # pragma: no cover - pass - - -class WLSEstimator(BaseEstimatorOpt, BaseEstimatorIRWLS): - def __init__(self, eppci, **hyperparameters): - super(WLSEstimator, self).__init__(eppci, **hyperparameters) - - def cost_function(self, E): - rx = self.create_rx(E) - cost = np.sum((1/self.sigma**2) * (rx**2)) - return cost - - def create_cost_jacobian(self, E): - # dr/dE = drho / dr * d(z-hx) / dE - # dr/dE = (drho/dr) * - (d(hx)/dE) - # 2 * rx * (1/sigma**2)* -(dhx/dE) - rx = self.create_rx(E) - hx_jac = self.create_hx_jacobian(E) - drho_dr = 2 * (rx * (1/self.sigma**2)) - jac = - np.sum(drho_dr.reshape((-1, 1)) * hx_jac, axis=0) - return jac - - def create_phi(self, E): - # Standard WLS does not update this matrix - return np.diagflat(1/self.sigma**2) - - -class SHGMEstimatorIRWLS(BaseEstimatorIRWLS): - def __init__(self, eppci: ExtendedPPCI, **hyperparameters): - super(SHGMEstimatorIRWLS, self).__init__(eppci, **hyperparameters) - assert 'a' in hyperparameters - self.a = hyperparameters.get('a') - - def create_phi(self, E): - r = self.create_rx(E) - _, w = self.weight(E) - rsi = r / (w * self.sigma) - phi = 1/(self.sigma**2) - condition_mask = np.abs(rsi)>self.a - phi[condition_mask] = (1/(self.sigma**2) * np.abs(self.a / rsi))[condition_mask] - return np.diagflat(phi) - - def weight(self, E): - H = self.create_hx_jacobian(E) - v = np.sum(H != 0, axis=1) - chi2_res = chi2.ppf(0.975, v) - ps = self._ps(H) - return chi2_res, np.min(np.c_[(chi2_res/ps)**2, np.ones(ps.shape)], axis=1) - - @staticmethod - def _ps(H): - omega = np.dot(H, H.T) - - x = np.zeros(omega.shape[0]-1) - y = np.zeros(omega.shape[0]) - sm = np.zeros(omega.shape[0]) - ps = np.zeros(omega.shape[0]) - - @jit - def calc_sm(omega, x, y, sm): # pragma: no cover - m = omega.shape[0] - x_shape = x.shape[0] - y_shape = y.shape[0] - count0 = 0 - for k in range(m): - for i in range(m): - count0 = 0 - for j in range(m): - if j != i: - x_ix = j if j < i else j-1 - x[x_ix] = np.abs(omega[i, k]+omega[j, k]) - if not x[x_ix]: - count0 += 1 - x.sort() - y[i] = x[count0 + (x_shape - count0 + 1)//2 - 1] - y.sort() - sm[k] = y[(y_shape + 1)//2 - 1] * 1.1926 - return sm - - sm = calc_sm(omega, x, y, sm) - for i in range(omega.shape[0]): - ps[i] = np.max(np.abs(omega[i, :])/sm) - return ps - - -class LAVEstimator(BaseEstimatorOpt): - def cost_function(self, E): - rx = self.create_rx(E) - cost = np.sum(np.abs(rx)) - return cost - - def create_cost_jacobian(self, E): - # dr/dE = drho / dr * d(z-hx) / dE - # dr/dE = (drho/dr) * - (d(hx)/dE) - # sign(rx) * -(dhx/dE) - rx = self.create_rx(E) - hx_jac = self.create_hx_jacobian(E) - drho_dr = np.sign(rx) - jac = - np.sum(drho_dr.reshape((-1, 1)) * hx_jac, axis=0) - return jac - - -class QCEstimatorOpt(BaseEstimatorOpt): - def __init__(self, eppci, **hyperparameters): - super(QCEstimatorOpt, self).__init__(eppci, **hyperparameters) - assert 'a' in hyperparameters - self.a = hyperparameters['a'] - - def cost_function(self, E): - rx = self.create_rx(E) - cost = (1/self.sigma**2) * (rx**2) - large_dev_mask = np.abs(rx/self.sigma) > self.a - if np.any(large_dev_mask): - cost[large_dev_mask] = (self.a**2) - return np.sum(cost) - - def create_cost_jacobian(self, E): - # dr/dE = drho / dr * d(z-hx) / dE - # dr/dE = (drho/dr) * - (d(hx)/dE) - # 2 * rx * -(dhx/dE) if np.abs(rx/sigma) < a - # 0 else - rx = self.create_rx(E) - hx_jac = self.create_hx_jacobian(E) - drho_dr = 2 * (rx * (1/self.sigma)**2) - large_dev_mask = (np.abs(rx/self.sigma) > self.a) - if np.any(large_dev_mask): - drho_dr[large_dev_mask] = 0.001 - jac = - np.sum(drho_dr.reshape((-1, 1)) * hx_jac, axis=0) - return jac - - -class QLEstimatorOpt(BaseEstimatorOpt): - def __init__(self, eppci, **hyperparameters): - super(QLEstimatorOpt, self).__init__(eppci, **hyperparameters) - assert 'a' in hyperparameters - self.a = hyperparameters['a'] - - def cost_function(self, E): - rx = self.create_rx(E) - cost = (1/self.sigma**2) * (rx**2) - large_dev_mask = (np.abs(rx/self.sigma) > self.a) - if np.any(large_dev_mask): - cost[large_dev_mask] = (np.abs(rx/self.sigma) - self.a + - self.a**2)[large_dev_mask] - return np.sum(cost) - - def create_cost_jacobian(self, E): - # dr/dE = drho / dr * d(z-hx) / dE - # dr/dE = (drho/dr) * - (d(hx)/dE) - # 2 * rx * -(dhx/dE) if np.abs(rx/sigma) < a - # 2 * drho/dr * -(dhx/dE) else - rx = self.create_rx(E) - hx_jac = self.create_hx_jacobian(E) - drho_dr = 2 * (rx * (1/self.sigma)**2) - large_dev_mask = np.abs(rx/self.sigma) > self.a - if np.any(large_dev_mask): - drho_dr[large_dev_mask] = (np.sign(rx)* (1/self.sigma))[large_dev_mask] - jac = - np.sum(drho_dr.reshape((-1, 1)) * hx_jac, axis=0) +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + +import numpy as np +try: + from numba import jit +except ImportError: + from pandapower.pf.no_numba import jit + +from scipy.stats import chi2 + +from pandapower.estimation.algorithm.matrix_base import BaseAlgebra +from pandapower.estimation.ppc_conversion import ExtendedPPCI + + +def get_estimator(base_class, estimator_name): + assert base_class in (BaseEstimatorIRWLS, BaseEstimatorOpt) + + available_estimators = {estm_cls.__name__.split("Estimator")[0].lower(): estm_cls + for estm_cls in base_class.__subclasses__()} + if estimator_name.lower() not in available_estimators: + raise Exception("Estimator not available! Try another one!") + else: + return available_estimators[estimator_name.lower()] + + +class BaseEstimatorIRWLS(BaseAlgebra): + def __init__(self, eppci: ExtendedPPCI, **hyperparameters): + # Initilize BaseAlgebra object for calculation of relevant matrix + super(BaseEstimatorIRWLS, self).__init__(eppci) + + def create_phi(self, E): # pragma: no cover + # Must be implemented for subclasses! + pass + + +class BaseEstimatorOpt(BaseAlgebra): + def __init__(self, eppci, **hyperparameters): + super(BaseEstimatorOpt, self).__init__(eppci) + # Hyperparameters for estimator should be added here + + def cost_function(self, E): # pragma: no cover + # Minimize sum(cost(r)) + # r = cost(z - h(x)) + # Must be implemented according to the estimator for the optimization + pass + + def create_cost_jacobian(self, E): # pragma: no cover + pass + + +class WLSEstimator(BaseEstimatorOpt, BaseEstimatorIRWLS): + def __init__(self, eppci, **hyperparameters): + super(WLSEstimator, self).__init__(eppci, **hyperparameters) + + def cost_function(self, E): + rx = self.create_rx(E) + cost = np.sum((1/self.sigma**2) * (rx**2)) + return cost + + def create_cost_jacobian(self, E): + # dr/dE = drho / dr * d(z-hx) / dE + # dr/dE = (drho/dr) * - (d(hx)/dE) + # 2 * rx * (1/sigma**2)* -(dhx/dE) + rx = self.create_rx(E) + hx_jac = self.create_hx_jacobian(E) + drho_dr = 2 * (rx * (1/self.sigma**2)) + jac = - np.sum(drho_dr.reshape((-1, 1)) * hx_jac, axis=0) + return jac + + def create_phi(self, E): + # Standard WLS does not update this matrix + return np.diagflat(1/self.sigma**2) + + +class SHGMEstimatorIRWLS(BaseEstimatorIRWLS): + def __init__(self, eppci: ExtendedPPCI, **hyperparameters): + super(SHGMEstimatorIRWLS, self).__init__(eppci, **hyperparameters) + assert 'a' in hyperparameters + self.a = hyperparameters.get('a') + + def create_phi(self, E): + r = self.create_rx(E) + _, w = self.weight(E) + rsi = r / (w * self.sigma) + phi = 1/(self.sigma**2) + condition_mask = np.abs(rsi)>self.a + phi[condition_mask] = (1/(self.sigma**2) * np.abs(self.a / rsi))[condition_mask] + return np.diagflat(phi) + + def weight(self, E): + H = self.create_hx_jacobian(E) + v = np.sum(H != 0, axis=1) + chi2_res = chi2.ppf(0.975, v) + ps = self._ps(H) + return chi2_res, np.min(np.c_[(chi2_res/ps)**2, np.ones(ps.shape)], axis=1) + + @staticmethod + def _ps(H): + omega = np.dot(H, H.T) + + x = np.zeros(omega.shape[0]-1) + y = np.zeros(omega.shape[0]) + sm = np.zeros(omega.shape[0]) + ps = np.zeros(omega.shape[0]) + + @jit + def calc_sm(omega, x, y, sm): # pragma: no cover + m = omega.shape[0] + x_shape = x.shape[0] + y_shape = y.shape[0] + count0 = 0 + for k in range(m): + for i in range(m): + count0 = 0 + for j in range(m): + if j != i: + x_ix = j if j < i else j-1 + x[x_ix] = np.abs(omega[i, k]+omega[j, k]) + if not x[x_ix]: + count0 += 1 + x.sort() + y[i] = x[count0 + (x_shape - count0 + 1)//2 - 1] + y.sort() + sm[k] = y[(y_shape + 1)//2 - 1] * 1.1926 + return sm + + sm = calc_sm(omega, x, y, sm) + for i in range(omega.shape[0]): + ps[i] = np.max(np.abs(omega[i, :])/sm) + return ps + + +class LAVEstimator(BaseEstimatorOpt): + def cost_function(self, E): + rx = self.create_rx(E) + cost = np.sum(np.abs(rx)) + return cost + + def create_cost_jacobian(self, E): + # dr/dE = drho / dr * d(z-hx) / dE + # dr/dE = (drho/dr) * - (d(hx)/dE) + # sign(rx) * -(dhx/dE) + rx = self.create_rx(E) + hx_jac = self.create_hx_jacobian(E) + drho_dr = np.sign(rx) + jac = - np.sum(drho_dr.reshape((-1, 1)) * hx_jac, axis=0) + return jac + + +class QCEstimatorOpt(BaseEstimatorOpt): + def __init__(self, eppci, **hyperparameters): + super(QCEstimatorOpt, self).__init__(eppci, **hyperparameters) + assert 'a' in hyperparameters + self.a = hyperparameters['a'] + + def cost_function(self, E): + rx = self.create_rx(E) + cost = (1/self.sigma**2) * (rx**2) + large_dev_mask = np.abs(rx/self.sigma) > self.a + if np.any(large_dev_mask): + cost[large_dev_mask] = (self.a**2) + return np.sum(cost) + + def create_cost_jacobian(self, E): + # dr/dE = drho / dr * d(z-hx) / dE + # dr/dE = (drho/dr) * - (d(hx)/dE) + # 2 * rx * -(dhx/dE) if np.abs(rx/sigma) < a + # 0 else + rx = self.create_rx(E) + hx_jac = self.create_hx_jacobian(E) + drho_dr = 2 * (rx * (1/self.sigma)**2) + large_dev_mask = (np.abs(rx/self.sigma) > self.a) + if np.any(large_dev_mask): + drho_dr[large_dev_mask] = 0.001 + jac = - np.sum(drho_dr.reshape((-1, 1)) * hx_jac, axis=0) + return jac + + +class QLEstimatorOpt(BaseEstimatorOpt): + def __init__(self, eppci, **hyperparameters): + super(QLEstimatorOpt, self).__init__(eppci, **hyperparameters) + assert 'a' in hyperparameters + self.a = hyperparameters['a'] + + def cost_function(self, E): + rx = self.create_rx(E) + cost = (1/self.sigma**2) * (rx**2) + large_dev_mask = (np.abs(rx/self.sigma) > self.a) + if np.any(large_dev_mask): + cost[large_dev_mask] = (np.abs(rx/self.sigma) - self.a + + self.a**2)[large_dev_mask] + return np.sum(cost) + + def create_cost_jacobian(self, E): + # dr/dE = drho / dr * d(z-hx) / dE + # dr/dE = (drho/dr) * - (d(hx)/dE) + # 2 * rx * -(dhx/dE) if np.abs(rx/sigma) < a + # 2 * drho/dr * -(dhx/dE) else + rx = self.create_rx(E) + hx_jac = self.create_hx_jacobian(E) + drho_dr = 2 * (rx * (1/self.sigma)**2) + large_dev_mask = np.abs(rx/self.sigma) > self.a + if np.any(large_dev_mask): + drho_dr[large_dev_mask] = (np.sign(rx)* (1/self.sigma))[large_dev_mask] + jac = - np.sum(drho_dr.reshape((-1, 1)) * hx_jac, axis=0) return jac \ No newline at end of file diff --git a/pandapower/estimation/algorithm/lp.py b/pandapower/estimation/algorithm/lp.py index ceb764873..2ee1f67e6 100644 --- a/pandapower/estimation/algorithm/lp.py +++ b/pandapower/estimation/algorithm/lp.py @@ -1,148 +1,148 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - -import numpy as np -from scipy.optimize import linprog - -# Make sure the library is installed -# Otherwise, load the scipy linprog -try: - from ortools.linear_solver import pywraplp - ortools_available = True -except ImportError: - ortools_available = False -import warnings - -from pandapower.estimation.ppc_conversion import ExtendedPPCI -from pandapower.estimation.algorithm.base import BaseAlgorithm -from pandapower.estimation.algorithm.matrix_base import BaseAlgebra - - -class LPAlgorithm(BaseAlgorithm): - def estimate(self, eppci: ExtendedPPCI, with_ortools=True, **kwargs): - if "estimator" in kwargs and kwargs["estimator"].lower() != "lav": # pragma: no cover - self.logger.warning("LP Algorithm supports only LAV Estimator!! Set to LAV!!") - - # matrix calculation object - sem = BaseAlgebra(eppci) - - current_error, cur_it = 100., 0 - E = eppci.E - while current_error > self.tolerance and cur_it < self.max_iterations: - self.logger.debug("Starting iteration {:d}".format(1 + cur_it)) - try: - # residual r - r = sem.create_rx(E) - - # jacobian matrix H - H = sem.create_hx_jacobian(E) - - # state vector difference d_E - # d_E = G_m^-1 * (H' * R^-1 * r) - d_E = self._solve_lp(H, E, r, with_ortools=with_ortools) - E += d_E - eppci.update_E(E) - - # prepare next iteration - cur_it += 1 - current_error = np.max(np.abs(d_E)) - self.logger.debug("Current error: {:.7f}".format(current_error)) - except np.linalg.linalg.LinAlgError: # pragma: no cover - self.logger.error("A problem appeared while using the linear algebra methods." - "Check and change the measurement set.") - return False - - # check if the estimation is successfull - self.check_result(current_error, cur_it) - return eppci - - @staticmethod - def _solve_lp(H, x, r, with_ortools): - - """Function to choose the best option based on the installed libraries to solve linear programming. - - Performance comparison(601 bus system/1204 random measurements): - Scipy : 269.20 seconds - OR-Tools: 8.51 seconds +- 154 ms - """ - - n, m = H.shape[1], H.shape[0] - zero_n = np.zeros((n, 1)) - one_m = np.ones((m, 1)) - Im = np.eye(m) - - c_T = np.r_[zero_n, zero_n, one_m, one_m] - A = np.c_[H, -H, Im, -Im] - - if ortools_available and with_ortools: - return LPAlgorithm._solve_or_tools(c_T.ravel(), A, r, n) - else: - return LPAlgorithm._solve_scipy(c_T.ravel(), A, r, n) - - @staticmethod - def _solve_scipy(c_T, A, r, n): - - """The use of linprog function from the scipy library.""" - - with warnings.catch_warnings(): - warnings.simplefilter("ignore") - res = linprog(c_T.ravel(), A_eq=A, b_eq=r, - method="simplex", options={'tol': 1e-5, 'disp': False, 'maxiter': 20000}) - if res.success: - d_x = np.array(res['x'][:n]).ravel() - np.array(res['x'][n:2 * n]).ravel() - return d_x - else: # pragma: no cover - raise np.linalg.linalg.LinAlgError - - - @staticmethod - def _solve_or_tools(c_T, A, r, n): - # Just to ensure floating point precision if there are any - error_margin = 1e-10 - - # Create the solver object... - solver = pywraplp.Solver.CreateSolver('GLOP') - - - # Create the states... - x = [] - for counter in range(len(c_T)): - x.append(solver.NumVar(0, solver.infinity(), 'x_' + str(counter))) - - - # Give the equality constraints... - for row_counter, row in enumerate(A): - row_equality = 0 - for col_counter, col in enumerate(row): - if abs(col) > error_margin: - row_equality = row_equality + col*x[col_counter] - - solver.Add(row_equality == r[row_counter]) - - - # What to optimize? - to_minimize = 0 - for counter, coef in enumerate(c_T): - to_minimize = to_minimize + coef*x[counter] - - solver.Minimize(to_minimize) - - # Solve the optimization problem - status = solver.Solve() - - - d_x = [] - if status == pywraplp.Solver.OPTIMAL or status == solver.FEASIBLE: - # An optimal solution is found - for counter, x_current in enumerate(x): - d_x.append(x_current.solution_value()) - - d_x = np.array(d_x) - return d_x[:n] - d_x[n:2*n] - else: - # No solution found... - raise np.linalg.linalg.LinAlgError - - +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + +import numpy as np +from scipy.optimize import linprog + +# Make sure the library is installed +# Otherwise, load the scipy linprog +try: + from ortools.linear_solver import pywraplp + ortools_available = True +except ImportError: + ortools_available = False +import warnings + +from pandapower.estimation.ppc_conversion import ExtendedPPCI +from pandapower.estimation.algorithm.base import BaseAlgorithm +from pandapower.estimation.algorithm.matrix_base import BaseAlgebra + + +class LPAlgorithm(BaseAlgorithm): + def estimate(self, eppci: ExtendedPPCI, with_ortools=True, **kwargs): + if "estimator" in kwargs and kwargs["estimator"].lower() != "lav": # pragma: no cover + self.logger.warning("LP Algorithm supports only LAV Estimator!! Set to LAV!!") + + # matrix calculation object + sem = BaseAlgebra(eppci) + + current_error, cur_it = 100., 0 + E = eppci.E + while current_error > self.tolerance and cur_it < self.max_iterations: + self.logger.debug("Starting iteration {:d}".format(1 + cur_it)) + try: + # residual r + r = sem.create_rx(E) + + # jacobian matrix H + H = sem.create_hx_jacobian(E) + + # state vector difference d_E + # d_E = G_m^-1 * (H' * R^-1 * r) + d_E = self._solve_lp(H, E, r, with_ortools=with_ortools) + E += d_E + eppci.update_E(E) + + # prepare next iteration + cur_it += 1 + current_error = np.max(np.abs(d_E)) + self.logger.debug("Current error: {:.7f}".format(current_error)) + except np.linalg.linalg.LinAlgError: # pragma: no cover + self.logger.error("A problem appeared while using the linear algebra methods." + "Check and change the measurement set.") + return False + + # check if the estimation is successfull + self.check_result(current_error, cur_it) + return eppci + + @staticmethod + def _solve_lp(H, x, r, with_ortools): + + """Function to choose the best option based on the installed libraries to solve linear programming. + + Performance comparison(601 bus system/1204 random measurements): + Scipy : 269.20 seconds + OR-Tools: 8.51 seconds +- 154 ms + """ + + n, m = H.shape[1], H.shape[0] + zero_n = np.zeros((n, 1)) + one_m = np.ones((m, 1)) + Im = np.eye(m) + + c_T = np.r_[zero_n, zero_n, one_m, one_m] + A = np.c_[H, -H, Im, -Im] + + if ortools_available and with_ortools: + return LPAlgorithm._solve_or_tools(c_T.ravel(), A, r, n) + else: + return LPAlgorithm._solve_scipy(c_T.ravel(), A, r, n) + + @staticmethod + def _solve_scipy(c_T, A, r, n): + + """The use of linprog function from the scipy library.""" + + with warnings.catch_warnings(): + warnings.simplefilter("ignore") + res = linprog(c_T.ravel(), A_eq=A, b_eq=r, + method="simplex", options={'tol': 1e-5, 'disp': False, 'maxiter': 20000}) + if res.success: + d_x = np.array(res['x'][:n]).ravel() - np.array(res['x'][n:2 * n]).ravel() + return d_x + else: # pragma: no cover + raise np.linalg.linalg.LinAlgError + + + @staticmethod + def _solve_or_tools(c_T, A, r, n): + # Just to ensure floating point precision if there are any + error_margin = 1e-10 + + # Create the solver object... + solver = pywraplp.Solver.CreateSolver('GLOP') + + + # Create the states... + x = [] + for counter in range(len(c_T)): + x.append(solver.NumVar(0, solver.infinity(), 'x_' + str(counter))) + + + # Give the equality constraints... + for row_counter, row in enumerate(A): + row_equality = 0 + for col_counter, col in enumerate(row): + if abs(col) > error_margin: + row_equality = row_equality + col*x[col_counter] + + solver.Add(row_equality == r[row_counter]) + + + # What to optimize? + to_minimize = 0 + for counter, coef in enumerate(c_T): + to_minimize = to_minimize + coef*x[counter] + + solver.Minimize(to_minimize) + + # Solve the optimization problem + status = solver.Solve() + + + d_x = [] + if status == pywraplp.Solver.OPTIMAL or status == solver.FEASIBLE: + # An optimal solution is found + for counter, x_current in enumerate(x): + d_x.append(x_current.solution_value()) + + d_x = np.array(d_x) + return d_x[:n] - d_x[n:2*n] + else: + # No solution found... + raise np.linalg.linalg.LinAlgError + + diff --git a/pandapower/estimation/algorithm/matrix_base.py b/pandapower/estimation/algorithm/matrix_base.py index 9d4e672af..54f25a6f8 100644 --- a/pandapower/estimation/algorithm/matrix_base.py +++ b/pandapower/estimation/algorithm/matrix_base.py @@ -1,182 +1,182 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - -import numpy as np -from scipy.sparse import vstack, hstack - -from pandapower.pypower.idx_brch import F_BUS, T_BUS -from pandapower.pypower.dSbus_dV import dSbus_dV -from pandapower.pypower.dSbr_dV import dSbr_dV -from pandapower.pypower.dIbr_dV import dIbr_dV - -from pandapower.estimation.ppc_conversion import ExtendedPPCI - -__all__ = ['BaseAlgebra', 'BaseAlgebraZeroInjConstraints'] - - -class BaseAlgebra: - def __init__(self, eppci: ExtendedPPCI): - """Object to calculate matrices required in state-estimation iterations.""" - self.eppci = eppci - - self.fb = eppci['branch'][:, F_BUS].real.astype(int) - self.tb = eppci['branch'][:, T_BUS].real.astype(int) - self.n_bus = eppci['bus'].shape[0] - self.n_branch = eppci['branch'].shape[0] - - self.num_non_slack_bus = eppci.num_non_slack_bus - self.non_slack_buses = eppci.non_slack_buses - self.delta_v_bus_mask = eppci.delta_v_bus_mask - self.non_nan_meas_mask = eppci.non_nan_meas_mask - - self.any_i_meas = eppci.any_i_meas - self.any_degree_meas = eppci.any_degree_meas - self.delta_v_bus_selector = eppci.delta_v_bus_selector - self.non_nan_meas_selector = eppci.non_nan_meas_selector - self.z = eppci.z - self.sigma = eppci.r_cov - - self.Ybus = None - self.Yf = None - self.Yt = None - self.initialize_Y() - - def initialize_Y(self): - self.Ybus, self.Yf, self.Yt = self.eppci.get_Y() - - def create_rx(self, E): - hx = self.create_hx(E) - return (self.z - hx).ravel() - - def create_hx(self, E): - f_bus, t_bus = self.fb, self.tb - V = self.eppci.E2V(E) - Sfe = V[f_bus] * np.conj(self.Yf * V) - Ste = V[t_bus] * np.conj(self.Yt * V) - Sbuse = V * np.conj(self.Ybus * V) - hx = np.r_[np.real(Sbuse), - np.real(Sfe), - np.real(Ste), - np.imag(Sbuse), - np.imag(Sfe), - np.imag(Ste), - np.abs(V)] - - if self.any_i_meas or self.any_degree_meas: - va = np.angle(V) - Ife = self.Yf * V - ifem = np.abs(Ife) - ifea = np.angle(Ife) - Ite = self.Yt * V - item = np.abs(Ite) - itea = np.angle(Ite) - hx = np.r_[hx, - va, - ifem, - item, - ifea, - itea] - return hx[self.non_nan_meas_selector] - - def create_hx_jacobian(self, E): - # Using sparse matrix in creation sub-jacobian matrix - V = self.eppci.E2V(E) - - dSbus_dth, dSbus_dv = self._dSbus_dv(V) - dSf_dth, dSf_dv, dSt_dth, dSt_dv = self._dSbr_dv(V) - dvm_dth, dvm_dv = self._dvmbus_dV(V) - - s_jac_th = vstack((dSbus_dth.real, - dSf_dth.real, - dSt_dth.real, - dSbus_dth.imag, - dSf_dth.imag, - dSt_dth.imag)) - s_jac_v = vstack((dSbus_dv.real, - dSf_dv.real, - dSt_dv.real, - dSbus_dv.imag, - dSf_dv.imag, - dSt_dv.imag)) - - s_jac = hstack((s_jac_th, s_jac_v)).toarray() - vm_jac = np.c_[dvm_dth, dvm_dv] - jac = np.r_[s_jac, - vm_jac] - - if self.any_i_meas or self.any_degree_meas: - dva_dth, dva_dv = self._dvabus_dV(V) - va_jac = np.c_[dva_dth, dva_dv] - difm_dth, difm_dv, ditm_dth, ditm_dv,\ - difa_dth, difa_dv, dita_dth, dita_dv = self._dimiabr_dV(V) - im_jac_th = np.r_[difm_dth, - ditm_dth] - im_jac_v = np.r_[difm_dv, - ditm_dv] - ia_jac_th = np.r_[difa_dth, - dita_dth] - ia_jac_v = np.r_[difa_dv, - dita_dv] - - im_jac = np.c_[im_jac_th, im_jac_v] - ia_jac = np.c_[ia_jac_th, ia_jac_v] - - jac = np.r_[jac, - va_jac, - im_jac, - ia_jac] - - return jac[self.non_nan_meas_selector, :][:, self.delta_v_bus_selector] - - def _dSbus_dv(self, V): - dSbus_dv, dSbus_dth = dSbus_dV(self.Ybus, V) - return dSbus_dth, dSbus_dv - - def _dSbr_dv(self, V): - dSf_dth, dSf_dv, dSt_dth, dSt_dv, _, _ = dSbr_dV(self.eppci['branch'], self.Yf, self.Yt, V) - return dSf_dth, dSf_dv, dSt_dth, dSt_dv - - @staticmethod - def _dvmbus_dV(V): - dvm_dth, dvm_dv = np.zeros((V.shape[0], V.shape[0])), np.eye(V.shape[0], V.shape[0]) - return dvm_dth, dvm_dv - - @staticmethod - def _dvabus_dV(V): - dva_dth, dva_dv = np.eye(V.shape[0], V.shape[0]), np.zeros((V.shape[0], V.shape[0])) - return dva_dth, dva_dv - - def _dimiabr_dV(self, V): - # for current we only interest in the magnitude at the moment - dif_dth, dif_dv, dit_dth, dit_dv, If, It = dIbr_dV(self.eppci['branch'], self.Yf, self.Yt, V) - dif_dth, dif_dv, dit_dth, dit_dv = map(lambda m: m.toarray(), (dif_dth, dif_dv, dit_dth, dit_dv)) - difm_dth = (np.abs(1e-5 * dif_dth + If.reshape((-1, 1))) - np.abs(If.reshape((-1, 1))))/1e-5 - difm_dv = (np.abs(1e-5 * dif_dv + If.reshape((-1, 1))) - np.abs(If.reshape((-1, 1))))/1e-5 - ditm_dth = (np.abs(1e-5 * dit_dth + It.reshape((-1, 1))) - np.abs(It.reshape((-1, 1))))/1e-5 - ditm_dv = (np.abs(1e-5 * dit_dv + It.reshape((-1, 1))) - np.abs(It.reshape((-1, 1))))/1e-5 - difa_dth = (np.angle(1e-5 * dif_dth + If.reshape((-1, 1))) - np.angle(If.reshape((-1, 1))))/1e-5 - difa_dv = (np.angle(1e-5 * dif_dv + If.reshape((-1, 1))) - np.angle(If.reshape((-1, 1))))/1e-5 - dita_dth = (np.angle(1e-5 * dit_dth + It.reshape((-1, 1))) - np.angle(It.reshape((-1, 1))))/1e-5 - dita_dv = (np.angle(1e-5 * dit_dv + It.reshape((-1, 1))) - np.angle(It.reshape((-1, 1))))/1e-5 - return difm_dth, difm_dv, ditm_dth, ditm_dv, difa_dth, difa_dv, dita_dth, dita_dv - - -class BaseAlgebraZeroInjConstraints(BaseAlgebra): - def create_cx(self, E, p_zero_inj, q_zero_inj): - V = self.eppci.E2V(E) - Sbus = V * np.conj(self.Ybus * V) - c = np.r_[Sbus[p_zero_inj].real, - Sbus[q_zero_inj].imag] * self.eppci['baseMVA'] - return c - - def create_cx_jacobian(self, E, p_zero_inj, q_zero_inj): - V = self.eppci.E2V(E) - dSbus_dth, dSbus_dv = self._dSbus_dv(V) - c_jac_th = np.r_[dSbus_dth.toarray().real[p_zero_inj], - dSbus_dth.toarray().imag[q_zero_inj]] - c_jac_v = np.r_[dSbus_dv.toarray().real[p_zero_inj], - dSbus_dv.toarray().imag[q_zero_inj]] - c_jac = np.c_[c_jac_th, c_jac_v] - return c_jac[:, self.delta_v_bus_mask] +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + +import numpy as np +from scipy.sparse import vstack, hstack + +from pandapower.pypower.idx_brch import F_BUS, T_BUS +from pandapower.pypower.dSbus_dV import dSbus_dV +from pandapower.pypower.dSbr_dV import dSbr_dV +from pandapower.pypower.dIbr_dV import dIbr_dV + +from pandapower.estimation.ppc_conversion import ExtendedPPCI + +__all__ = ['BaseAlgebra', 'BaseAlgebraZeroInjConstraints'] + + +class BaseAlgebra: + def __init__(self, eppci: ExtendedPPCI): + """Object to calculate matrices required in state-estimation iterations.""" + self.eppci = eppci + + self.fb = eppci['branch'][:, F_BUS].real.astype(int) + self.tb = eppci['branch'][:, T_BUS].real.astype(int) + self.n_bus = eppci['bus'].shape[0] + self.n_branch = eppci['branch'].shape[0] + + self.num_non_slack_bus = eppci.num_non_slack_bus + self.non_slack_buses = eppci.non_slack_buses + self.delta_v_bus_mask = eppci.delta_v_bus_mask + self.non_nan_meas_mask = eppci.non_nan_meas_mask + + self.any_i_meas = eppci.any_i_meas + self.any_degree_meas = eppci.any_degree_meas + self.delta_v_bus_selector = eppci.delta_v_bus_selector + self.non_nan_meas_selector = eppci.non_nan_meas_selector + self.z = eppci.z + self.sigma = eppci.r_cov + + self.Ybus = None + self.Yf = None + self.Yt = None + self.initialize_Y() + + def initialize_Y(self): + self.Ybus, self.Yf, self.Yt = self.eppci.get_Y() + + def create_rx(self, E): + hx = self.create_hx(E) + return (self.z - hx).ravel() + + def create_hx(self, E): + f_bus, t_bus = self.fb, self.tb + V = self.eppci.E2V(E) + Sfe = V[f_bus] * np.conj(self.Yf * V) + Ste = V[t_bus] * np.conj(self.Yt * V) + Sbuse = V * np.conj(self.Ybus * V) + hx = np.r_[np.real(Sbuse), + np.real(Sfe), + np.real(Ste), + np.imag(Sbuse), + np.imag(Sfe), + np.imag(Ste), + np.abs(V)] + + if self.any_i_meas or self.any_degree_meas: + va = np.angle(V) + Ife = self.Yf * V + ifem = np.abs(Ife) + ifea = np.angle(Ife) + Ite = self.Yt * V + item = np.abs(Ite) + itea = np.angle(Ite) + hx = np.r_[hx, + va, + ifem, + item, + ifea, + itea] + return hx[self.non_nan_meas_selector] + + def create_hx_jacobian(self, E): + # Using sparse matrix in creation sub-jacobian matrix + V = self.eppci.E2V(E) + + dSbus_dth, dSbus_dv = self._dSbus_dv(V) + dSf_dth, dSf_dv, dSt_dth, dSt_dv = self._dSbr_dv(V) + dvm_dth, dvm_dv = self._dvmbus_dV(V) + + s_jac_th = vstack((dSbus_dth.real, + dSf_dth.real, + dSt_dth.real, + dSbus_dth.imag, + dSf_dth.imag, + dSt_dth.imag)) + s_jac_v = vstack((dSbus_dv.real, + dSf_dv.real, + dSt_dv.real, + dSbus_dv.imag, + dSf_dv.imag, + dSt_dv.imag)) + + s_jac = hstack((s_jac_th, s_jac_v)).toarray() + vm_jac = np.c_[dvm_dth, dvm_dv] + jac = np.r_[s_jac, + vm_jac] + + if self.any_i_meas or self.any_degree_meas: + dva_dth, dva_dv = self._dvabus_dV(V) + va_jac = np.c_[dva_dth, dva_dv] + difm_dth, difm_dv, ditm_dth, ditm_dv,\ + difa_dth, difa_dv, dita_dth, dita_dv = self._dimiabr_dV(V) + im_jac_th = np.r_[difm_dth, + ditm_dth] + im_jac_v = np.r_[difm_dv, + ditm_dv] + ia_jac_th = np.r_[difa_dth, + dita_dth] + ia_jac_v = np.r_[difa_dv, + dita_dv] + + im_jac = np.c_[im_jac_th, im_jac_v] + ia_jac = np.c_[ia_jac_th, ia_jac_v] + + jac = np.r_[jac, + va_jac, + im_jac, + ia_jac] + + return jac[self.non_nan_meas_selector, :][:, self.delta_v_bus_selector] + + def _dSbus_dv(self, V): + dSbus_dv, dSbus_dth = dSbus_dV(self.Ybus, V) + return dSbus_dth, dSbus_dv + + def _dSbr_dv(self, V): + dSf_dth, dSf_dv, dSt_dth, dSt_dv, _, _ = dSbr_dV(self.eppci['branch'], self.Yf, self.Yt, V) + return dSf_dth, dSf_dv, dSt_dth, dSt_dv + + @staticmethod + def _dvmbus_dV(V): + dvm_dth, dvm_dv = np.zeros((V.shape[0], V.shape[0])), np.eye(V.shape[0], V.shape[0]) + return dvm_dth, dvm_dv + + @staticmethod + def _dvabus_dV(V): + dva_dth, dva_dv = np.eye(V.shape[0], V.shape[0]), np.zeros((V.shape[0], V.shape[0])) + return dva_dth, dva_dv + + def _dimiabr_dV(self, V): + # for current we only interest in the magnitude at the moment + dif_dth, dif_dv, dit_dth, dit_dv, If, It = dIbr_dV(self.eppci['branch'], self.Yf, self.Yt, V) + dif_dth, dif_dv, dit_dth, dit_dv = map(lambda m: m.toarray(), (dif_dth, dif_dv, dit_dth, dit_dv)) + difm_dth = (np.abs(1e-5 * dif_dth + If.reshape((-1, 1))) - np.abs(If.reshape((-1, 1))))/1e-5 + difm_dv = (np.abs(1e-5 * dif_dv + If.reshape((-1, 1))) - np.abs(If.reshape((-1, 1))))/1e-5 + ditm_dth = (np.abs(1e-5 * dit_dth + It.reshape((-1, 1))) - np.abs(It.reshape((-1, 1))))/1e-5 + ditm_dv = (np.abs(1e-5 * dit_dv + It.reshape((-1, 1))) - np.abs(It.reshape((-1, 1))))/1e-5 + difa_dth = (np.angle(1e-5 * dif_dth + If.reshape((-1, 1))) - np.angle(If.reshape((-1, 1))))/1e-5 + difa_dv = (np.angle(1e-5 * dif_dv + If.reshape((-1, 1))) - np.angle(If.reshape((-1, 1))))/1e-5 + dita_dth = (np.angle(1e-5 * dit_dth + It.reshape((-1, 1))) - np.angle(It.reshape((-1, 1))))/1e-5 + dita_dv = (np.angle(1e-5 * dit_dv + It.reshape((-1, 1))) - np.angle(It.reshape((-1, 1))))/1e-5 + return difm_dth, difm_dv, ditm_dth, ditm_dv, difa_dth, difa_dv, dita_dth, dita_dv + + +class BaseAlgebraZeroInjConstraints(BaseAlgebra): + def create_cx(self, E, p_zero_inj, q_zero_inj): + V = self.eppci.E2V(E) + Sbus = V * np.conj(self.Ybus * V) + c = np.r_[Sbus[p_zero_inj].real, + Sbus[q_zero_inj].imag] * self.eppci['baseMVA'] + return c + + def create_cx_jacobian(self, E, p_zero_inj, q_zero_inj): + V = self.eppci.E2V(E) + dSbus_dth, dSbus_dv = self._dSbus_dv(V) + c_jac_th = np.r_[dSbus_dth.toarray().real[p_zero_inj], + dSbus_dth.toarray().imag[q_zero_inj]] + c_jac_v = np.r_[dSbus_dv.toarray().real[p_zero_inj], + dSbus_dv.toarray().imag[q_zero_inj]] + c_jac = np.c_[c_jac_th, c_jac_v] + return c_jac[:, self.delta_v_bus_mask] diff --git a/pandapower/estimation/algorithm/optimization.py b/pandapower/estimation/algorithm/optimization.py index 51e86b15e..613bca87a 100644 --- a/pandapower/estimation/algorithm/optimization.py +++ b/pandapower/estimation/algorithm/optimization.py @@ -1,36 +1,36 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - -from scipy.optimize import minimize - -from pandapower.estimation.ppc_conversion import ExtendedPPCI -from pandapower.estimation.algorithm.base import BaseAlgorithm -from pandapower.estimation.algorithm.estimator import BaseEstimatorOpt, get_estimator - -# DEFAULT_OPT_METHOD = "Newton-CG" -DEFAULT_OPT_METHOD = "TNC" -# DEFAULT_OPT_METHOD = "SLSQP" -# DEFAULT_OPT_METHOD = 'L-BFGS-B' - - -class OptAlgorithm(BaseAlgorithm): - def estimate(self, eppci: ExtendedPPCI, estimator="wls", **kwargs): - opt_method = DEFAULT_OPT_METHOD if 'opt_method' not in kwargs else kwargs['opt_method'] - - # matrix calculation object - estm = get_estimator(BaseEstimatorOpt, estimator)(eppci, **kwargs) - - jac = estm.create_cost_jacobian - res = minimize(estm.cost_function, x0=eppci.E, - method=opt_method, jac=jac, tol=self.tolerance, - options={"disp": True}) - - self.successful = res.success - if self.successful: - E = res.x - eppci.update_E(E) - return eppci - else: - raise Exception("Optimiaztion failed! State Estimation not successful!") +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + +from scipy.optimize import minimize + +from pandapower.estimation.ppc_conversion import ExtendedPPCI +from pandapower.estimation.algorithm.base import BaseAlgorithm +from pandapower.estimation.algorithm.estimator import BaseEstimatorOpt, get_estimator + +# DEFAULT_OPT_METHOD = "Newton-CG" +DEFAULT_OPT_METHOD = "TNC" +# DEFAULT_OPT_METHOD = "SLSQP" +# DEFAULT_OPT_METHOD = 'L-BFGS-B' + + +class OptAlgorithm(BaseAlgorithm): + def estimate(self, eppci: ExtendedPPCI, estimator="wls", **kwargs): + opt_method = DEFAULT_OPT_METHOD if 'opt_method' not in kwargs else kwargs['opt_method'] + + # matrix calculation object + estm = get_estimator(BaseEstimatorOpt, estimator)(eppci, **kwargs) + + jac = estm.create_cost_jacobian + res = minimize(estm.cost_function, x0=eppci.E, + method=opt_method, jac=jac, tol=self.tolerance, + options={"disp": True}) + + self.successful = res.success + if self.successful: + E = res.x + eppci.update_E(E) + return eppci + else: + raise Exception("Optimiaztion failed! State Estimation not successful!") diff --git a/pandapower/estimation/idx_brch.py b/pandapower/estimation/idx_brch.py index f348b7aaf..b859d9b97 100644 --- a/pandapower/estimation/idx_brch.py +++ b/pandapower/estimation/idx_brch.py @@ -1,34 +1,34 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - - -IM_FROM = 0 -IM_FROM_STD = 1 -IM_TO = 2 -IM_TO_STD = 3 -P_FROM = 4 -P_FROM_STD = 5 -P_TO = 6 -P_TO_STD = 7 -Q_FROM = 8 -Q_FROM_STD = 9 -Q_TO = 10 -Q_TO_STD = 11 -IM_FROM_IDX = 12 -P_FROM_IDX = 13 -Q_FROM_IDX = 14 -IM_TO_IDX = 15 -P_TO_IDX = 16 -Q_TO_IDX = 17 -IA_FROM = 18 -IA_FROM_STD = 19 -IA_TO = 20 -IA_TO_STD = 21 -IA_FROM_IDX = 22 -IA_TO_IDX = 23 - - -branch_cols_se = 24 +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + + +IM_FROM = 0 +IM_FROM_STD = 1 +IM_TO = 2 +IM_TO_STD = 3 +P_FROM = 4 +P_FROM_STD = 5 +P_TO = 6 +P_TO_STD = 7 +Q_FROM = 8 +Q_FROM_STD = 9 +Q_TO = 10 +Q_TO_STD = 11 +IM_FROM_IDX = 12 +P_FROM_IDX = 13 +Q_FROM_IDX = 14 +IM_TO_IDX = 15 +P_TO_IDX = 16 +Q_TO_IDX = 17 +IA_FROM = 18 +IA_FROM_STD = 19 +IA_TO = 20 +IA_TO_STD = 21 +IA_FROM_IDX = 22 +IA_TO_IDX = 23 + + +branch_cols_se = 24 diff --git a/pandapower/estimation/idx_bus.py b/pandapower/estimation/idx_bus.py index 579ec5cc8..083fd1b63 100644 --- a/pandapower/estimation/idx_bus.py +++ b/pandapower/estimation/idx_bus.py @@ -1,22 +1,22 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - - -VM = 0 -VM_STD = 1 -P = 2 -P_STD = 3 -Q = 4 -Q_STD = 5 -VM_IDX = 6 -P_IDX = 7 -Q_IDX = 8 -ZERO_INJ_FLAG = 9 -VA = 10 -VA_STD = 11 -VA_IDX = 12 - -bus_cols_se = 13 +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + + +VM = 0 +VM_STD = 1 +P = 2 +P_STD = 3 +Q = 4 +Q_STD = 5 +VM_IDX = 6 +P_IDX = 7 +Q_IDX = 8 +ZERO_INJ_FLAG = 9 +VA = 10 +VA_STD = 11 +VA_IDX = 12 + +bus_cols_se = 13 diff --git a/pandapower/estimation/ppc_conversion.py b/pandapower/estimation/ppc_conversion.py index e6186d727..82cd91205 100644 --- a/pandapower/estimation/ppc_conversion.py +++ b/pandapower/estimation/ppc_conversion.py @@ -1,480 +1,480 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -from collections import UserDict - -import numpy as np -import pandas as pd - -import pandapower.pypower.idx_bus as idx_bus -from pandapower.auxiliary import _init_runse_options -from pandapower.estimation.util import estimate_voltage_vector -from pandapower.pd2ppc import _pd2ppc -from pandapower.pf.run_newton_raphson_pf import _run_dc_pf -from pandapower.pypower.idx_brch import branch_cols -from pandapower.pypower.idx_bus import bus_cols -from pandapower.pypower.makeYbus import makeYbus - -from pandapower.estimation.idx_bus import (VM, VM_IDX, VM_STD, - VA, VA_IDX, VA_STD, - P, P_IDX, P_STD, - Q, Q_IDX, Q_STD, - ZERO_INJ_FLAG, bus_cols_se) -from pandapower.estimation.idx_brch import (P_FROM, P_FROM_IDX, P_FROM_STD, - Q_FROM, Q_FROM_IDX, Q_FROM_STD, - IM_FROM, IM_FROM_IDX, IM_FROM_STD, - IA_FROM, IA_FROM_IDX, IA_FROM_STD, - P_TO, P_TO_IDX, P_TO_STD, - Q_TO, Q_TO_IDX, Q_TO_STD, - IM_TO, IM_TO_IDX, IM_TO_STD, - IA_TO, IA_TO_IDX, IA_TO_STD, - branch_cols_se) - -try: - import pplog as logging -except ImportError: - import logging -std_logger = logging.getLogger(__name__) -ZERO_INJECTION_STD_DEV = 0.001 - -# Constant Lookup -BR_SIDE = {"line": {"f": "from", "t": "to"}, - "trafo": {"f": "hv", "t": "lv"}} -BR_MEAS_PPCI_IX = {("p", "f"): {"VALUE": P_FROM, "IDX": P_FROM_IDX, "STD": P_FROM_STD}, - ("q", "f"): {"VALUE": Q_FROM, "IDX": Q_FROM_IDX, "STD": Q_FROM_STD}, - ("i", "f"): {"VALUE": IM_FROM, "IDX": IM_FROM_IDX, "STD": IM_FROM_STD}, - ("ia", "f"): {"VALUE": IA_FROM, "IDX": IA_FROM_IDX, "STD": IA_FROM_STD}, - ("p", "t"): {"VALUE": P_TO, "IDX": P_TO_IDX, "STD": P_TO_STD}, - ("q", "t"): {"VALUE": Q_TO, "IDX": Q_TO_IDX, "STD": Q_TO_STD}, - ("i", "t"): {"VALUE": IM_TO, "IDX": IM_TO_IDX, "STD": IM_TO_STD}, - ("ia", "t"): {"VALUE": IA_TO, "IDX": IA_TO_IDX, "STD": IA_TO_STD}} -BUS_MEAS_PPCI_IX = {"v": {"VALUE": VM, "IDX": VM_IDX, "STD": VM_STD}, - "va": {"VALUE": VA, "IDX": VA_IDX, "STD": VA_STD}, - "p": {"VALUE": P, "IDX": P_IDX, "STD": P_STD}, - "q": {"VALUE": Q, "IDX": Q_IDX, "STD": Q_STD}} - - -def _initialize_voltage(net, init, calculate_voltage_angles): - v_start, delta_start = None, None - if init == 'results': - v_start, delta_start = 'results', 'results' - elif init == 'slack': - res_bus = estimate_voltage_vector(net) - v_start = res_bus.vm_pu.values - if calculate_voltage_angles: - delta_start = res_bus.va_degree.values - elif init != 'flat': - raise UserWarning("Unsupported init value. Using flat initialization.") - return v_start, delta_start - - -def _init_ppc(net, v_start, delta_start, calculate_voltage_angles): - # select elements in service and convert pandapower ppc to ppc - _init_runse_options(net, v_start=v_start, delta_start=delta_start, - calculate_voltage_angles=calculate_voltage_angles) - ppc, ppci = _pd2ppc(net) - - # do dc power flow for phase shifting transformers - if np.any(net.trafo.shift_degree): - vm_backup = ppci["bus"][:, 7].copy() - pq_backup = ppci["bus"][:, [2, 3]].copy() - ppci["bus"][:, [2, 3]] = 0. - ppci = _run_dc_pf(ppci) - ppci["bus"][:, 7] = vm_backup - ppci["bus"][:, [2, 3]] = pq_backup - - return ppc, ppci - - -def _add_measurements_to_ppci(net, ppci, zero_injection): - """ - - Add pandapower measurements to the ppci structure by adding new columns - :param net: pandapower net - :param ppci: generated ppci - :return: ppc with added columns - """ - meas = net.measurement.copy(deep=False) - if meas.empty: - raise Exception("No measurements are available in pandapower Network! Abort estimation!") - - # Convert side from string to bus id - meas["side"] = meas.apply(lambda row: - net['line'].at[row["element"], row["side"] + "_bus"] if - row["side"] in ("from", "to") else - net[row["element_type"]].at[row["element"], row["side"] + '_bus'] if - row["side"] in ("hv", "mv", "lv") else row["side"], axis=1) - - # convert p, q, i measurement to p.u., u already in p.u. - meas.loc[meas.measurement_type == "p", ["value", "std_dev"]] /= ppci["baseMVA"] - meas.loc[meas.measurement_type == "q", ["value", "std_dev"]] /= ppci["baseMVA"] - - if not meas.query("measurement_type=='i'").empty: - meas_i_mask = (meas.measurement_type == 'i') - base_i_ka = ppci["baseMVA"] / net.bus.loc[(meas.side.fillna(meas.element))[meas_i_mask].values, - "vn_kv"].values - meas.loc[meas_i_mask, "value"] /= base_i_ka / np.sqrt(3) - meas.loc[meas_i_mask, "std_dev"] /= base_i_ka / np.sqrt(3) - - if not meas.query("(measurement_type=='ia' )| (measurement_type=='va')").empty: - meas_dg_mask = (meas.measurement_type == 'ia') | (meas.measurement_type == 'va') - meas.loc[meas_dg_mask, "value"] = np.deg2rad(meas.loc[meas_dg_mask, "value"]) - meas.loc[meas_dg_mask, "std_dev"] = np.deg2rad(meas.loc[meas_dg_mask, "std_dev"]) - - # Get elements mapping from pandapower to ppc - map_bus = net["_pd2ppc_lookups"]["bus"] - meas_bus = meas[(meas['element_type'] == 'bus')] - if (map_bus[meas_bus['element'].values.astype(int)] >= ppci["bus"].shape[0]).any(): - std_logger.warning("Measurement defined in pp-grid does not exist in ppci, will be deleted!") - meas_bus = meas_bus[map_bus[meas_bus['element'].values.astype(int)] < ppci["bus"].shape[0]] - - # mapping to dict instead of np array ensures good performance for large indices - # (e.g., 999999999 requires a large np array even if there are only 2 buses) - # downside is loop comprehension to access the map - map_line, map_trafo, map_trafo3w = None, None, None - br_is_mask = ppci['internal']['branch_is'] - if not net.line.empty: - line_is_mask = br_is_mask[np.arange(*net["_pd2ppc_lookups"]["branch"]["line"])] - num_line_is = np.sum(line_is_mask) - map_line = pd.Series(index=net.line.index.values[line_is_mask], - data=np.arange(num_line_is)) - - if not net.trafo.empty: - trafo_ix_start, trafo_ix_end = net["_pd2ppc_lookups"]["branch"]["trafo"] - trafo_is_mask = br_is_mask[np.arange(trafo_ix_start, trafo_ix_end)] - num_trafo_is = np.sum(trafo_is_mask) - trafo_ix_offset = np.sum(br_is_mask[:trafo_ix_start]) - map_trafo = pd.Series(index=net.trafo.index.values[trafo_is_mask], - data=np.arange(trafo_ix_offset, trafo_ix_offset+num_trafo_is)) - - if not net.trafo3w.empty: - trafo3w_ix_start = net["_pd2ppc_lookups"]["branch"]["trafo3w"][0] - num_trafo3w = net.trafo3w.shape[0] - # Only the HV side branch is needed to evaluate is/os status - trafo3w_is_mask = br_is_mask[np.arange(trafo3w_ix_start, - trafo3w_ix_start+num_trafo3w)] - num_trafo3w_is = np.sum(trafo3w_is_mask) - - trafo3w_ix_offset = np.sum(br_is_mask[:trafo3w_ix_start]) - map_trafo3w = {trafo3w_ix: {'hv': br_ix, - 'mv': br_ix + num_trafo3w_is, - 'lv': br_ix + 2 * num_trafo3w_is} - for trafo3w_ix, br_ix in - zip(net.trafo3w.index.values[trafo3w_is_mask], - np.arange(trafo3w_ix_offset, - trafo3w_ix_offset+num_trafo3w_is))} - - # set measurements for ppc format - # add 9 columns to ppc[bus] for Vm, Vm std dev, P, P std dev, Q, Q std dev, - # pandapower measurement indices V, P, Q - bus_append = np.full((ppci["bus"].shape[0], bus_cols_se), np.nan, dtype=ppci["bus"].dtype) - - # Add measurements for bus - for meas_type in ("v", "va", "p", "q"): - this_meas = meas_bus[(meas_bus.measurement_type == meas_type)] - if len(this_meas): - bus_positions = map_bus[this_meas.element.values.astype(int)] - if meas_type in ("p", "q"): - # Convert injection reference to consumption reference (P, Q) - this_meas.value *= -1 - unique_bus_positions = np.unique(bus_positions) - if len(unique_bus_positions) < len(bus_positions): - std_logger.debug("P,Q Measurement duplication will be automatically merged!") - for bus in unique_bus_positions: - this_meas_on_bus = this_meas.iloc[np.argwhere(bus_positions == bus).ravel(), :] - bus_append[bus, BUS_MEAS_PPCI_IX[meas_type]["VALUE"]] = this_meas_on_bus.value.sum() - bus_append[bus, BUS_MEAS_PPCI_IX[meas_type]["STD"]] = this_meas_on_bus.std_dev.max() - bus_append[bus, BUS_MEAS_PPCI_IX[meas_type]["IDX"]] = this_meas_on_bus.index[0] - continue - - bus_append[bus_positions, BUS_MEAS_PPCI_IX[meas_type]["VALUE"]] = this_meas.value.values - bus_append[bus_positions, BUS_MEAS_PPCI_IX[meas_type]["STD"]] = this_meas.std_dev.values - bus_append[bus_positions, BUS_MEAS_PPCI_IX[meas_type]["IDX"]] = this_meas.index.values - - # add zero injection measurement and labels defined in parameter zero_injection - bus_append = _add_zero_injection(net, ppci, bus_append, zero_injection) - # add virtual measurements for artificial buses, which were created because - # of an open line switch. p/q are 0. and std dev is 1. (small value) - new_in_line_buses = np.setdiff1d(np.arange(ppci["bus"].shape[0]), map_bus[map_bus >= 0]) - bus_append[new_in_line_buses, 2] = 0. - bus_append[new_in_line_buses, 3] = 1. - bus_append[new_in_line_buses, 4] = 0. - bus_append[new_in_line_buses, 5] = 1. - - # add 15 columns to mpc[branch] for Im_from, Im_from std dev, Im_to, Im_to std dev, - # P_from, P_from std dev, P_to, P_to std dev, Q_from, Q_from std dev, Q_to, Q_to std dev, - # pandapower measurement index I, P, Q - branch_append = np.full((ppci["branch"].shape[0], branch_cols_se), - np.nan, dtype=ppci["branch"].dtype) - - # Add measurements for line and trafo - for br_type, br_map in (("line", map_line), ("trafo", map_trafo)): - if br_map is None: - continue - for meas_type in ("p", "q", "i", "ia"): - this_meas = meas[(meas.measurement_type == meas_type) & - (meas.element_type == br_type) & - meas.element.isin(br_map.index)] - if len(this_meas): - for br_side in ("f", "t"): - meas_this_side = this_meas[(this_meas.side.values.astype(int) == - net[br_type][BR_SIDE[br_type][br_side]+"_bus"] - [this_meas.element]).values] - ix_side = br_map[meas_this_side.element.values].values - branch_append[ix_side, - BR_MEAS_PPCI_IX[(meas_type, br_side)]["VALUE"]] =\ - meas_this_side.value.values - branch_append[ix_side, - BR_MEAS_PPCI_IX[(meas_type, br_side)]["STD"]] =\ - meas_this_side.std_dev.values - branch_append[ix_side, - BR_MEAS_PPCI_IX[(meas_type, br_side)]["IDX"]] =\ - meas_this_side.index.values - - # Add measurements for trafo3w - if map_trafo3w is not None: - for meas_type in ("p", "q", "i", "ia"): - this_trafo3w_meas = meas[(meas.measurement_type == meas_type) & - (meas.element_type == "trafo3w") & - meas.element.isin(map_trafo3w)] - if len(this_trafo3w_meas): - meas_hv = this_trafo3w_meas[(this_trafo3w_meas.side.values == - net.trafo3w.hv_bus[this_trafo3w_meas.element]).values] - meas_mv = this_trafo3w_meas[(this_trafo3w_meas.side.values == - net.trafo3w.mv_bus[this_trafo3w_meas.element]).values] - meas_lv = this_trafo3w_meas[(this_trafo3w_meas.side.values == - net.trafo3w.lv_bus[this_trafo3w_meas.element]).values] - ix_hv = [map_trafo3w[t]['hv'] for t in meas_hv.element.values] - ix_mv = [map_trafo3w[t]['mv'] for t in meas_mv.element.values] - ix_lv = [map_trafo3w[t]['lv'] for t in meas_lv.element.values] - branch_append[ix_hv, BR_MEAS_PPCI_IX[(meas_type, "f")]["VALUE"]] = meas_hv.value.values - branch_append[ix_hv, BR_MEAS_PPCI_IX[(meas_type, "f")]["STD"]] = meas_hv.std_dev.values - branch_append[ix_hv, BR_MEAS_PPCI_IX[(meas_type, "f")]["IDX"]] = meas_hv.index.values - branch_append[ix_mv, BR_MEAS_PPCI_IX[(meas_type, "t")]["VALUE"]] = meas_mv.value.values - branch_append[ix_mv, BR_MEAS_PPCI_IX[(meas_type, "t")]["STD"]] = meas_mv.std_dev.values - branch_append[ix_mv, BR_MEAS_PPCI_IX[(meas_type, "t")]["IDX"]] = meas_mv.index.values - branch_append[ix_lv, BR_MEAS_PPCI_IX[(meas_type, "t")]["VALUE"]] = meas_lv.value.values - branch_append[ix_lv, BR_MEAS_PPCI_IX[(meas_type, "t")]["STD"]] = meas_lv.std_dev.values - branch_append[ix_lv, BR_MEAS_PPCI_IX[(meas_type, "t")]["IDX"]] = meas_lv.index.values - - # Check append or update - if ppci["bus"].shape[1] == bus_cols: - ppci["bus"] = np.hstack((ppci["bus"], bus_append)) - else: - ppci["bus"][:, bus_cols: bus_cols + bus_cols_se] = bus_append - - if ppci["branch"].shape[1] == branch_cols: - ppci["branch"] = np.hstack((ppci["branch"], branch_append)) - else: - ppci["branch"][:, branch_cols: branch_cols + branch_cols_se] = branch_append - return ppci - - -def _add_zero_injection(net, ppci, bus_append, zero_injection): - """ - Add zero injection labels to the ppci structure and add virtual measurements to those buses - :param net: pandapower net - :param ppci: generated ppci - :param bus_append: added columns to the ppci bus with zero injection label - :param zero_injection: parameter to control which bus to be identified as zero injection - :return bus_append: added columns - """ - bus_append[:, ZERO_INJ_FLAG] = False - if zero_injection is not None: - # identify aux bus to zero injection - if net._pd2ppc_lookups['aux']: - aux_bus_lookup = np.concatenate([v for k, v in net._pd2ppc_lookups['aux'].items() if k != 'xward']) - aux_bus = net._pd2ppc_lookups['bus'][aux_bus_lookup] - bus_append[aux_bus, ZERO_INJ_FLAG] = True - - if isinstance(zero_injection, str): - if zero_injection == 'auto': - # identify bus without elements and pq measurements as zero injection - zero_inj_bus_mask = (ppci["bus"][:, 1] == 1) & (ppci["bus"][:, 2:6] == 0).all(axis=1) & \ - np.isnan(bus_append[:, P:(Q_STD + 1)]).all(axis=1) - bus_append[zero_inj_bus_mask, ZERO_INJ_FLAG] = True - elif zero_injection != "aux_bus": - raise UserWarning("zero injection parameter is not correctly initialized") - elif hasattr(zero_injection, '__iter__'): - zero_inj_bus = net._pd2ppc_lookups['bus'][zero_injection] - bus_append[zero_inj_bus, ZERO_INJ_FLAG] = True - - zero_inj_bus = np.argwhere(bus_append[:, ZERO_INJ_FLAG]).ravel() - bus_append[zero_inj_bus, P] = 0 - bus_append[zero_inj_bus, P_STD] = ZERO_INJECTION_STD_DEV - bus_append[zero_inj_bus, Q] = 0 - bus_append[zero_inj_bus, Q_STD] = ZERO_INJECTION_STD_DEV - return bus_append - - -def _build_measurement_vectors(ppci, update_meas_only=False): - """ - Building measurement vector z, pandapower to ppci measurement mapping and covariance matrix R - :param ppci: generated ppci which contains the measurement columns - :param branch_cols: number of columns in original ppci["branch"] without measurements - :param bus_cols: number of columns in original ppci["bus"] without measurements - :return: both created vectors - """ - p_bus_not_nan = ~np.isnan(ppci["bus"][:, bus_cols + P]) - p_line_f_not_nan = ~np.isnan(ppci["branch"][:, branch_cols + P_FROM]) - p_line_t_not_nan = ~np.isnan(ppci["branch"][:, branch_cols + P_TO]) - q_bus_not_nan = ~np.isnan(ppci["bus"][:, bus_cols + Q]) - q_line_f_not_nan = ~np.isnan(ppci["branch"][:, branch_cols + Q_FROM]) - q_line_t_not_nan = ~np.isnan(ppci["branch"][:, branch_cols + Q_TO]) - v_bus_not_nan = ~np.isnan(ppci["bus"][:, bus_cols + VM]) - v_degree_bus_not_nan = ~np.isnan(ppci["bus"][:, bus_cols + VA]) - i_line_f_not_nan = ~np.isnan(ppci["branch"][:, branch_cols + IM_FROM]) - i_line_t_not_nan = ~np.isnan(ppci["branch"][:, branch_cols + IM_TO]) - i_degree_line_f_not_nan = ~np.isnan(ppci["branch"][:, branch_cols + IA_FROM]) - i_degree_line_t_not_nan = ~np.isnan(ppci["branch"][:, branch_cols + IA_TO]) - # piece together our measurement vector z - z = np.concatenate((ppci["bus"][p_bus_not_nan, bus_cols + P], - ppci["branch"][p_line_f_not_nan, branch_cols + P_FROM], - ppci["branch"][p_line_t_not_nan, branch_cols + P_TO], - ppci["bus"][q_bus_not_nan, bus_cols + Q], - ppci["branch"][q_line_f_not_nan, branch_cols + Q_FROM], - ppci["branch"][q_line_t_not_nan, branch_cols + Q_TO], - ppci["bus"][v_bus_not_nan, bus_cols + VM], - ppci["bus"][v_degree_bus_not_nan, bus_cols + VA], - ppci["branch"][i_line_f_not_nan, branch_cols + IM_FROM], - ppci["branch"][i_line_t_not_nan, branch_cols + IM_TO], - ppci["branch"][i_degree_line_f_not_nan, branch_cols + IA_FROM], - ppci["branch"][i_degree_line_t_not_nan, branch_cols + IA_TO] - )).real.astype(np.float64) - if not update_meas_only: - # conserve the pandapower indices of measurements in the ppci order - pp_meas_indices = np.concatenate((ppci["bus"][p_bus_not_nan, bus_cols + P_IDX], - ppci["branch"][p_line_f_not_nan, branch_cols + P_FROM_IDX], - ppci["branch"][p_line_t_not_nan, branch_cols + P_TO_IDX], - ppci["bus"][q_bus_not_nan, bus_cols + Q_IDX], - ppci["branch"][q_line_f_not_nan, branch_cols + Q_FROM_IDX], - ppci["branch"][q_line_t_not_nan, branch_cols + Q_TO_IDX], - ppci["bus"][v_bus_not_nan, bus_cols + VM_IDX], - ppci["bus"][v_degree_bus_not_nan, bus_cols + VA_IDX], - ppci["branch"][i_line_f_not_nan, branch_cols + IM_FROM_IDX], - ppci["branch"][i_line_t_not_nan, branch_cols + IM_TO_IDX], - ppci["branch"][i_degree_line_f_not_nan, branch_cols + IA_FROM_IDX], - ppci["branch"][i_degree_line_t_not_nan, branch_cols + IA_TO_IDX] - )).real.astype(int) - # Covariance matrix R - r_cov = np.concatenate((ppci["bus"][p_bus_not_nan, bus_cols + P_STD], - ppci["branch"][p_line_f_not_nan, branch_cols + P_FROM_STD], - ppci["branch"][p_line_t_not_nan, branch_cols + P_TO_STD], - ppci["bus"][q_bus_not_nan, bus_cols + Q_STD], - ppci["branch"][q_line_f_not_nan, branch_cols + Q_FROM_STD], - ppci["branch"][q_line_t_not_nan, branch_cols + Q_TO_STD], - ppci["bus"][v_bus_not_nan, bus_cols + VM_STD], - ppci["bus"][v_degree_bus_not_nan, bus_cols + VA_STD], - ppci["branch"][i_line_f_not_nan, branch_cols + IM_FROM_STD], - ppci["branch"][i_line_t_not_nan, branch_cols + IM_TO_STD], - ppci["branch"][i_degree_line_f_not_nan, branch_cols + IA_FROM_STD], - ppci["branch"][i_degree_line_t_not_nan, branch_cols + IA_TO_STD] - )).real.astype(np.float64) - meas_mask = np.concatenate([p_bus_not_nan, - p_line_f_not_nan, - p_line_t_not_nan, - q_bus_not_nan, - q_line_f_not_nan, - q_line_t_not_nan, - v_bus_not_nan, - v_degree_bus_not_nan, - i_line_f_not_nan, - i_line_t_not_nan, - i_degree_line_f_not_nan, - i_degree_line_t_not_nan]) - any_i_meas = np.any(np.r_[i_line_f_not_nan, i_line_t_not_nan]) - any_degree_meas = np.any(np.r_[v_degree_bus_not_nan, - i_degree_line_f_not_nan, - i_degree_line_t_not_nan]) - return z, pp_meas_indices, r_cov, meas_mask, any_i_meas, any_degree_meas - else: - return z - - -def pp2eppci(net, v_start=None, delta_start=None, - calculate_voltage_angles=True, zero_injection="aux_bus", - ppc=None, eppci=None): - if isinstance(eppci, ExtendedPPCI): - eppci.data = _add_measurements_to_ppci(net, eppci.data, zero_injection) - eppci.update_meas() - return net, ppc, eppci - else: - # initialize ppc - ppc, ppci = _init_ppc(net, v_start, delta_start, calculate_voltage_angles) - - # add measurements to ppci structure - # Finished converting pandapower network to ppci - ppci = _add_measurements_to_ppci(net, ppci, zero_injection) - return net, ppc, ExtendedPPCI(ppci) - - -class ExtendedPPCI(UserDict): - def __init__(self, ppci): - """Initialize ppci object with measurements.""" - self.data = ppci - - # Measurement relevant parameters - self.z = None - self.r_cov = None - self.pp_meas_indices = None - self.non_nan_meas_mask = None - self.non_nan_meas_selector = None - self.any_i_meas = False - self.any_degree_meas = False - self._initialize_meas() - - # check slack bus - self.non_slack_buses = np.argwhere(ppci["bus"][:, idx_bus.BUS_TYPE] != 3).ravel() - self.non_slack_bus_mask = (ppci['bus'][:, idx_bus.BUS_TYPE] != 3).ravel() - self.num_non_slack_bus = np.sum(self.non_slack_bus_mask) - self.delta_v_bus_mask = np.r_[self.non_slack_bus_mask, - np.ones(self.non_slack_bus_mask.shape[0], dtype=bool)].ravel() - self.delta_v_bus_selector = np.flatnonzero(self.delta_v_bus_mask) - - # Initialize state variable - self.v_init = ppci["bus"][:, idx_bus.VM] - self.delta_init = np.radians(ppci["bus"][:, idx_bus.VA]) - self.E_init = np.r_[self.delta_init[self.non_slack_bus_mask], self.v_init] - self.v = self.v_init.copy() - self.delta = self.delta_init.copy() - self.E = self.E_init.copy() - - def _initialize_meas(self): - # calculate relevant vectors from ppci measurements - self.z, self.pp_meas_indices, self.r_cov, self.non_nan_meas_mask,\ - self.any_i_meas, self.any_degree_meas =\ - _build_measurement_vectors(self, update_meas_only=False) - self.non_nan_meas_selector = np.flatnonzero(self.non_nan_meas_mask) - - def update_meas(self): - self.z = _build_measurement_vectors(self, update_meas_only=True) - - @property - def V(self): - return self.v * np.exp(1j * self.delta) - - def reset(self): - self.v, self.delta, self.E =\ - self.v_init.copy(), self.delta_init.copy(), self.E_init.copy() - - def update_E(self, E): - self.E = E - self.v = E[self.num_non_slack_bus:] - self.delta[self.non_slack_buses] = E[:self.num_non_slack_bus] - - def E2V(self, E): - self.update_E(E) - return self.V - - def get_Y(self): - # Using recycled version if available - if "Ybus" in self["internal"] and self["internal"]["Ybus"].size: - Ybus, Yf, Yt = self["internal"]['Ybus'], self["internal"]['Yf'], self["internal"]['Yt'] - else: - # build admittance matrices - Ybus, Yf, Yt = makeYbus(self['baseMVA'], self['bus'], self['branch']) - self["internal"]['Ybus'], self["internal"]['Yf'], self["internal"]['Yt'] = Ybus, Yf, Yt - return Ybus, Yf, Yt +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +from collections import UserDict + +import numpy as np +import pandas as pd + +import pandapower.pypower.idx_bus as idx_bus +from pandapower.auxiliary import _init_runse_options +from pandapower.estimation.util import estimate_voltage_vector +from pandapower.pd2ppc import _pd2ppc +from pandapower.pf.run_newton_raphson_pf import _run_dc_pf +from pandapower.pypower.idx_brch import branch_cols +from pandapower.pypower.idx_bus import bus_cols +from pandapower.pypower.makeYbus import makeYbus + +from pandapower.estimation.idx_bus import (VM, VM_IDX, VM_STD, + VA, VA_IDX, VA_STD, + P, P_IDX, P_STD, + Q, Q_IDX, Q_STD, + ZERO_INJ_FLAG, bus_cols_se) +from pandapower.estimation.idx_brch import (P_FROM, P_FROM_IDX, P_FROM_STD, + Q_FROM, Q_FROM_IDX, Q_FROM_STD, + IM_FROM, IM_FROM_IDX, IM_FROM_STD, + IA_FROM, IA_FROM_IDX, IA_FROM_STD, + P_TO, P_TO_IDX, P_TO_STD, + Q_TO, Q_TO_IDX, Q_TO_STD, + IM_TO, IM_TO_IDX, IM_TO_STD, + IA_TO, IA_TO_IDX, IA_TO_STD, + branch_cols_se) + +try: + import pplog as logging +except ImportError: + import logging +std_logger = logging.getLogger(__name__) +ZERO_INJECTION_STD_DEV = 0.001 + +# Constant Lookup +BR_SIDE = {"line": {"f": "from", "t": "to"}, + "trafo": {"f": "hv", "t": "lv"}} +BR_MEAS_PPCI_IX = {("p", "f"): {"VALUE": P_FROM, "IDX": P_FROM_IDX, "STD": P_FROM_STD}, + ("q", "f"): {"VALUE": Q_FROM, "IDX": Q_FROM_IDX, "STD": Q_FROM_STD}, + ("i", "f"): {"VALUE": IM_FROM, "IDX": IM_FROM_IDX, "STD": IM_FROM_STD}, + ("ia", "f"): {"VALUE": IA_FROM, "IDX": IA_FROM_IDX, "STD": IA_FROM_STD}, + ("p", "t"): {"VALUE": P_TO, "IDX": P_TO_IDX, "STD": P_TO_STD}, + ("q", "t"): {"VALUE": Q_TO, "IDX": Q_TO_IDX, "STD": Q_TO_STD}, + ("i", "t"): {"VALUE": IM_TO, "IDX": IM_TO_IDX, "STD": IM_TO_STD}, + ("ia", "t"): {"VALUE": IA_TO, "IDX": IA_TO_IDX, "STD": IA_TO_STD}} +BUS_MEAS_PPCI_IX = {"v": {"VALUE": VM, "IDX": VM_IDX, "STD": VM_STD}, + "va": {"VALUE": VA, "IDX": VA_IDX, "STD": VA_STD}, + "p": {"VALUE": P, "IDX": P_IDX, "STD": P_STD}, + "q": {"VALUE": Q, "IDX": Q_IDX, "STD": Q_STD}} + + +def _initialize_voltage(net, init, calculate_voltage_angles): + v_start, delta_start = None, None + if init == 'results': + v_start, delta_start = 'results', 'results' + elif init == 'slack': + res_bus = estimate_voltage_vector(net) + v_start = res_bus.vm_pu.values + if calculate_voltage_angles: + delta_start = res_bus.va_degree.values + elif init != 'flat': + raise UserWarning("Unsupported init value. Using flat initialization.") + return v_start, delta_start + + +def _init_ppc(net, v_start, delta_start, calculate_voltage_angles): + # select elements in service and convert pandapower ppc to ppc + _init_runse_options(net, v_start=v_start, delta_start=delta_start, + calculate_voltage_angles=calculate_voltage_angles) + ppc, ppci = _pd2ppc(net) + + # do dc power flow for phase shifting transformers + if np.any(net.trafo.shift_degree): + vm_backup = ppci["bus"][:, 7].copy() + pq_backup = ppci["bus"][:, [2, 3]].copy() + ppci["bus"][:, [2, 3]] = 0. + ppci = _run_dc_pf(ppci) + ppci["bus"][:, 7] = vm_backup + ppci["bus"][:, [2, 3]] = pq_backup + + return ppc, ppci + + +def _add_measurements_to_ppci(net, ppci, zero_injection): + """ + + Add pandapower measurements to the ppci structure by adding new columns + :param net: pandapower net + :param ppci: generated ppci + :return: ppc with added columns + """ + meas = net.measurement.copy(deep=False) + if meas.empty: + raise Exception("No measurements are available in pandapower Network! Abort estimation!") + + # Convert side from string to bus id + meas["side"] = meas.apply(lambda row: + net['line'].at[row["element"], row["side"] + "_bus"] if + row["side"] in ("from", "to") else + net[row["element_type"]].at[row["element"], row["side"] + '_bus'] if + row["side"] in ("hv", "mv", "lv") else row["side"], axis=1) + + # convert p, q, i measurement to p.u., u already in p.u. + meas.loc[meas.measurement_type == "p", ["value", "std_dev"]] /= ppci["baseMVA"] + meas.loc[meas.measurement_type == "q", ["value", "std_dev"]] /= ppci["baseMVA"] + + if not meas.query("measurement_type=='i'").empty: + meas_i_mask = (meas.measurement_type == 'i') + base_i_ka = ppci["baseMVA"] / net.bus.loc[(meas.side.fillna(meas.element))[meas_i_mask].values, + "vn_kv"].values + meas.loc[meas_i_mask, "value"] /= base_i_ka / np.sqrt(3) + meas.loc[meas_i_mask, "std_dev"] /= base_i_ka / np.sqrt(3) + + if not meas.query("(measurement_type=='ia' )| (measurement_type=='va')").empty: + meas_dg_mask = (meas.measurement_type == 'ia') | (meas.measurement_type == 'va') + meas.loc[meas_dg_mask, "value"] = np.deg2rad(meas.loc[meas_dg_mask, "value"]) + meas.loc[meas_dg_mask, "std_dev"] = np.deg2rad(meas.loc[meas_dg_mask, "std_dev"]) + + # Get elements mapping from pandapower to ppc + map_bus = net["_pd2ppc_lookups"]["bus"] + meas_bus = meas[(meas['element_type'] == 'bus')] + if (map_bus[meas_bus['element'].values.astype(int)] >= ppci["bus"].shape[0]).any(): + std_logger.warning("Measurement defined in pp-grid does not exist in ppci, will be deleted!") + meas_bus = meas_bus[map_bus[meas_bus['element'].values.astype(int)] < ppci["bus"].shape[0]] + + # mapping to dict instead of np array ensures good performance for large indices + # (e.g., 999999999 requires a large np array even if there are only 2 buses) + # downside is loop comprehension to access the map + map_line, map_trafo, map_trafo3w = None, None, None + br_is_mask = ppci['internal']['branch_is'] + if not net.line.empty: + line_is_mask = br_is_mask[np.arange(*net["_pd2ppc_lookups"]["branch"]["line"])] + num_line_is = np.sum(line_is_mask) + map_line = pd.Series(index=net.line.index.values[line_is_mask], + data=np.arange(num_line_is)) + + if not net.trafo.empty: + trafo_ix_start, trafo_ix_end = net["_pd2ppc_lookups"]["branch"]["trafo"] + trafo_is_mask = br_is_mask[np.arange(trafo_ix_start, trafo_ix_end)] + num_trafo_is = np.sum(trafo_is_mask) + trafo_ix_offset = np.sum(br_is_mask[:trafo_ix_start]) + map_trafo = pd.Series(index=net.trafo.index.values[trafo_is_mask], + data=np.arange(trafo_ix_offset, trafo_ix_offset+num_trafo_is)) + + if not net.trafo3w.empty: + trafo3w_ix_start = net["_pd2ppc_lookups"]["branch"]["trafo3w"][0] + num_trafo3w = net.trafo3w.shape[0] + # Only the HV side branch is needed to evaluate is/os status + trafo3w_is_mask = br_is_mask[np.arange(trafo3w_ix_start, + trafo3w_ix_start+num_trafo3w)] + num_trafo3w_is = np.sum(trafo3w_is_mask) + + trafo3w_ix_offset = np.sum(br_is_mask[:trafo3w_ix_start]) + map_trafo3w = {trafo3w_ix: {'hv': br_ix, + 'mv': br_ix + num_trafo3w_is, + 'lv': br_ix + 2 * num_trafo3w_is} + for trafo3w_ix, br_ix in + zip(net.trafo3w.index.values[trafo3w_is_mask], + np.arange(trafo3w_ix_offset, + trafo3w_ix_offset+num_trafo3w_is))} + + # set measurements for ppc format + # add 9 columns to ppc[bus] for Vm, Vm std dev, P, P std dev, Q, Q std dev, + # pandapower measurement indices V, P, Q + bus_append = np.full((ppci["bus"].shape[0], bus_cols_se), np.nan, dtype=ppci["bus"].dtype) + + # Add measurements for bus + for meas_type in ("v", "va", "p", "q"): + this_meas = meas_bus[(meas_bus.measurement_type == meas_type)] + if len(this_meas): + bus_positions = map_bus[this_meas.element.values.astype(int)] + if meas_type in ("p", "q"): + # Convert injection reference to consumption reference (P, Q) + this_meas.value *= -1 + unique_bus_positions = np.unique(bus_positions) + if len(unique_bus_positions) < len(bus_positions): + std_logger.debug("P,Q Measurement duplication will be automatically merged!") + for bus in unique_bus_positions: + this_meas_on_bus = this_meas.iloc[np.argwhere(bus_positions == bus).ravel(), :] + bus_append[bus, BUS_MEAS_PPCI_IX[meas_type]["VALUE"]] = this_meas_on_bus.value.sum() + bus_append[bus, BUS_MEAS_PPCI_IX[meas_type]["STD"]] = this_meas_on_bus.std_dev.max() + bus_append[bus, BUS_MEAS_PPCI_IX[meas_type]["IDX"]] = this_meas_on_bus.index[0] + continue + + bus_append[bus_positions, BUS_MEAS_PPCI_IX[meas_type]["VALUE"]] = this_meas.value.values + bus_append[bus_positions, BUS_MEAS_PPCI_IX[meas_type]["STD"]] = this_meas.std_dev.values + bus_append[bus_positions, BUS_MEAS_PPCI_IX[meas_type]["IDX"]] = this_meas.index.values + + # add zero injection measurement and labels defined in parameter zero_injection + bus_append = _add_zero_injection(net, ppci, bus_append, zero_injection) + # add virtual measurements for artificial buses, which were created because + # of an open line switch. p/q are 0. and std dev is 1. (small value) + new_in_line_buses = np.setdiff1d(np.arange(ppci["bus"].shape[0]), map_bus[map_bus >= 0]) + bus_append[new_in_line_buses, 2] = 0. + bus_append[new_in_line_buses, 3] = 1. + bus_append[new_in_line_buses, 4] = 0. + bus_append[new_in_line_buses, 5] = 1. + + # add 15 columns to mpc[branch] for Im_from, Im_from std dev, Im_to, Im_to std dev, + # P_from, P_from std dev, P_to, P_to std dev, Q_from, Q_from std dev, Q_to, Q_to std dev, + # pandapower measurement index I, P, Q + branch_append = np.full((ppci["branch"].shape[0], branch_cols_se), + np.nan, dtype=ppci["branch"].dtype) + + # Add measurements for line and trafo + for br_type, br_map in (("line", map_line), ("trafo", map_trafo)): + if br_map is None: + continue + for meas_type in ("p", "q", "i", "ia"): + this_meas = meas[(meas.measurement_type == meas_type) & + (meas.element_type == br_type) & + meas.element.isin(br_map.index)] + if len(this_meas): + for br_side in ("f", "t"): + meas_this_side = this_meas[(this_meas.side.values.astype(int) == + net[br_type][BR_SIDE[br_type][br_side]+"_bus"] + [this_meas.element]).values] + ix_side = br_map[meas_this_side.element.values].values + branch_append[ix_side, + BR_MEAS_PPCI_IX[(meas_type, br_side)]["VALUE"]] =\ + meas_this_side.value.values + branch_append[ix_side, + BR_MEAS_PPCI_IX[(meas_type, br_side)]["STD"]] =\ + meas_this_side.std_dev.values + branch_append[ix_side, + BR_MEAS_PPCI_IX[(meas_type, br_side)]["IDX"]] =\ + meas_this_side.index.values + + # Add measurements for trafo3w + if map_trafo3w is not None: + for meas_type in ("p", "q", "i", "ia"): + this_trafo3w_meas = meas[(meas.measurement_type == meas_type) & + (meas.element_type == "trafo3w") & + meas.element.isin(map_trafo3w)] + if len(this_trafo3w_meas): + meas_hv = this_trafo3w_meas[(this_trafo3w_meas.side.values == + net.trafo3w.hv_bus[this_trafo3w_meas.element]).values] + meas_mv = this_trafo3w_meas[(this_trafo3w_meas.side.values == + net.trafo3w.mv_bus[this_trafo3w_meas.element]).values] + meas_lv = this_trafo3w_meas[(this_trafo3w_meas.side.values == + net.trafo3w.lv_bus[this_trafo3w_meas.element]).values] + ix_hv = [map_trafo3w[t]['hv'] for t in meas_hv.element.values] + ix_mv = [map_trafo3w[t]['mv'] for t in meas_mv.element.values] + ix_lv = [map_trafo3w[t]['lv'] for t in meas_lv.element.values] + branch_append[ix_hv, BR_MEAS_PPCI_IX[(meas_type, "f")]["VALUE"]] = meas_hv.value.values + branch_append[ix_hv, BR_MEAS_PPCI_IX[(meas_type, "f")]["STD"]] = meas_hv.std_dev.values + branch_append[ix_hv, BR_MEAS_PPCI_IX[(meas_type, "f")]["IDX"]] = meas_hv.index.values + branch_append[ix_mv, BR_MEAS_PPCI_IX[(meas_type, "t")]["VALUE"]] = meas_mv.value.values + branch_append[ix_mv, BR_MEAS_PPCI_IX[(meas_type, "t")]["STD"]] = meas_mv.std_dev.values + branch_append[ix_mv, BR_MEAS_PPCI_IX[(meas_type, "t")]["IDX"]] = meas_mv.index.values + branch_append[ix_lv, BR_MEAS_PPCI_IX[(meas_type, "t")]["VALUE"]] = meas_lv.value.values + branch_append[ix_lv, BR_MEAS_PPCI_IX[(meas_type, "t")]["STD"]] = meas_lv.std_dev.values + branch_append[ix_lv, BR_MEAS_PPCI_IX[(meas_type, "t")]["IDX"]] = meas_lv.index.values + + # Check append or update + if ppci["bus"].shape[1] == bus_cols: + ppci["bus"] = np.hstack((ppci["bus"], bus_append)) + else: + ppci["bus"][:, bus_cols: bus_cols + bus_cols_se] = bus_append + + if ppci["branch"].shape[1] == branch_cols: + ppci["branch"] = np.hstack((ppci["branch"], branch_append)) + else: + ppci["branch"][:, branch_cols: branch_cols + branch_cols_se] = branch_append + return ppci + + +def _add_zero_injection(net, ppci, bus_append, zero_injection): + """ + Add zero injection labels to the ppci structure and add virtual measurements to those buses + :param net: pandapower net + :param ppci: generated ppci + :param bus_append: added columns to the ppci bus with zero injection label + :param zero_injection: parameter to control which bus to be identified as zero injection + :return bus_append: added columns + """ + bus_append[:, ZERO_INJ_FLAG] = False + if zero_injection is not None: + # identify aux bus to zero injection + if net._pd2ppc_lookups['aux']: + aux_bus_lookup = np.concatenate([v for k, v in net._pd2ppc_lookups['aux'].items() if k != 'xward']) + aux_bus = net._pd2ppc_lookups['bus'][aux_bus_lookup] + bus_append[aux_bus, ZERO_INJ_FLAG] = True + + if isinstance(zero_injection, str): + if zero_injection == 'auto': + # identify bus without elements and pq measurements as zero injection + zero_inj_bus_mask = (ppci["bus"][:, 1] == 1) & (ppci["bus"][:, 2:6] == 0).all(axis=1) & \ + np.isnan(bus_append[:, P:(Q_STD + 1)]).all(axis=1) + bus_append[zero_inj_bus_mask, ZERO_INJ_FLAG] = True + elif zero_injection != "aux_bus": + raise UserWarning("zero injection parameter is not correctly initialized") + elif hasattr(zero_injection, '__iter__'): + zero_inj_bus = net._pd2ppc_lookups['bus'][zero_injection] + bus_append[zero_inj_bus, ZERO_INJ_FLAG] = True + + zero_inj_bus = np.argwhere(bus_append[:, ZERO_INJ_FLAG]).ravel() + bus_append[zero_inj_bus, P] = 0 + bus_append[zero_inj_bus, P_STD] = ZERO_INJECTION_STD_DEV + bus_append[zero_inj_bus, Q] = 0 + bus_append[zero_inj_bus, Q_STD] = ZERO_INJECTION_STD_DEV + return bus_append + + +def _build_measurement_vectors(ppci, update_meas_only=False): + """ + Building measurement vector z, pandapower to ppci measurement mapping and covariance matrix R + :param ppci: generated ppci which contains the measurement columns + :param branch_cols: number of columns in original ppci["branch"] without measurements + :param bus_cols: number of columns in original ppci["bus"] without measurements + :return: both created vectors + """ + p_bus_not_nan = ~np.isnan(ppci["bus"][:, bus_cols + P]) + p_line_f_not_nan = ~np.isnan(ppci["branch"][:, branch_cols + P_FROM]) + p_line_t_not_nan = ~np.isnan(ppci["branch"][:, branch_cols + P_TO]) + q_bus_not_nan = ~np.isnan(ppci["bus"][:, bus_cols + Q]) + q_line_f_not_nan = ~np.isnan(ppci["branch"][:, branch_cols + Q_FROM]) + q_line_t_not_nan = ~np.isnan(ppci["branch"][:, branch_cols + Q_TO]) + v_bus_not_nan = ~np.isnan(ppci["bus"][:, bus_cols + VM]) + v_degree_bus_not_nan = ~np.isnan(ppci["bus"][:, bus_cols + VA]) + i_line_f_not_nan = ~np.isnan(ppci["branch"][:, branch_cols + IM_FROM]) + i_line_t_not_nan = ~np.isnan(ppci["branch"][:, branch_cols + IM_TO]) + i_degree_line_f_not_nan = ~np.isnan(ppci["branch"][:, branch_cols + IA_FROM]) + i_degree_line_t_not_nan = ~np.isnan(ppci["branch"][:, branch_cols + IA_TO]) + # piece together our measurement vector z + z = np.concatenate((ppci["bus"][p_bus_not_nan, bus_cols + P], + ppci["branch"][p_line_f_not_nan, branch_cols + P_FROM], + ppci["branch"][p_line_t_not_nan, branch_cols + P_TO], + ppci["bus"][q_bus_not_nan, bus_cols + Q], + ppci["branch"][q_line_f_not_nan, branch_cols + Q_FROM], + ppci["branch"][q_line_t_not_nan, branch_cols + Q_TO], + ppci["bus"][v_bus_not_nan, bus_cols + VM], + ppci["bus"][v_degree_bus_not_nan, bus_cols + VA], + ppci["branch"][i_line_f_not_nan, branch_cols + IM_FROM], + ppci["branch"][i_line_t_not_nan, branch_cols + IM_TO], + ppci["branch"][i_degree_line_f_not_nan, branch_cols + IA_FROM], + ppci["branch"][i_degree_line_t_not_nan, branch_cols + IA_TO] + )).real.astype(np.float64) + if not update_meas_only: + # conserve the pandapower indices of measurements in the ppci order + pp_meas_indices = np.concatenate((ppci["bus"][p_bus_not_nan, bus_cols + P_IDX], + ppci["branch"][p_line_f_not_nan, branch_cols + P_FROM_IDX], + ppci["branch"][p_line_t_not_nan, branch_cols + P_TO_IDX], + ppci["bus"][q_bus_not_nan, bus_cols + Q_IDX], + ppci["branch"][q_line_f_not_nan, branch_cols + Q_FROM_IDX], + ppci["branch"][q_line_t_not_nan, branch_cols + Q_TO_IDX], + ppci["bus"][v_bus_not_nan, bus_cols + VM_IDX], + ppci["bus"][v_degree_bus_not_nan, bus_cols + VA_IDX], + ppci["branch"][i_line_f_not_nan, branch_cols + IM_FROM_IDX], + ppci["branch"][i_line_t_not_nan, branch_cols + IM_TO_IDX], + ppci["branch"][i_degree_line_f_not_nan, branch_cols + IA_FROM_IDX], + ppci["branch"][i_degree_line_t_not_nan, branch_cols + IA_TO_IDX] + )).real.astype(int) + # Covariance matrix R + r_cov = np.concatenate((ppci["bus"][p_bus_not_nan, bus_cols + P_STD], + ppci["branch"][p_line_f_not_nan, branch_cols + P_FROM_STD], + ppci["branch"][p_line_t_not_nan, branch_cols + P_TO_STD], + ppci["bus"][q_bus_not_nan, bus_cols + Q_STD], + ppci["branch"][q_line_f_not_nan, branch_cols + Q_FROM_STD], + ppci["branch"][q_line_t_not_nan, branch_cols + Q_TO_STD], + ppci["bus"][v_bus_not_nan, bus_cols + VM_STD], + ppci["bus"][v_degree_bus_not_nan, bus_cols + VA_STD], + ppci["branch"][i_line_f_not_nan, branch_cols + IM_FROM_STD], + ppci["branch"][i_line_t_not_nan, branch_cols + IM_TO_STD], + ppci["branch"][i_degree_line_f_not_nan, branch_cols + IA_FROM_STD], + ppci["branch"][i_degree_line_t_not_nan, branch_cols + IA_TO_STD] + )).real.astype(np.float64) + meas_mask = np.concatenate([p_bus_not_nan, + p_line_f_not_nan, + p_line_t_not_nan, + q_bus_not_nan, + q_line_f_not_nan, + q_line_t_not_nan, + v_bus_not_nan, + v_degree_bus_not_nan, + i_line_f_not_nan, + i_line_t_not_nan, + i_degree_line_f_not_nan, + i_degree_line_t_not_nan]) + any_i_meas = np.any(np.r_[i_line_f_not_nan, i_line_t_not_nan]) + any_degree_meas = np.any(np.r_[v_degree_bus_not_nan, + i_degree_line_f_not_nan, + i_degree_line_t_not_nan]) + return z, pp_meas_indices, r_cov, meas_mask, any_i_meas, any_degree_meas + else: + return z + + +def pp2eppci(net, v_start=None, delta_start=None, + calculate_voltage_angles=True, zero_injection="aux_bus", + ppc=None, eppci=None): + if isinstance(eppci, ExtendedPPCI): + eppci.data = _add_measurements_to_ppci(net, eppci.data, zero_injection) + eppci.update_meas() + return net, ppc, eppci + else: + # initialize ppc + ppc, ppci = _init_ppc(net, v_start, delta_start, calculate_voltage_angles) + + # add measurements to ppci structure + # Finished converting pandapower network to ppci + ppci = _add_measurements_to_ppci(net, ppci, zero_injection) + return net, ppc, ExtendedPPCI(ppci) + + +class ExtendedPPCI(UserDict): + def __init__(self, ppci): + """Initialize ppci object with measurements.""" + self.data = ppci + + # Measurement relevant parameters + self.z = None + self.r_cov = None + self.pp_meas_indices = None + self.non_nan_meas_mask = None + self.non_nan_meas_selector = None + self.any_i_meas = False + self.any_degree_meas = False + self._initialize_meas() + + # check slack bus + self.non_slack_buses = np.argwhere(ppci["bus"][:, idx_bus.BUS_TYPE] != 3).ravel() + self.non_slack_bus_mask = (ppci['bus'][:, idx_bus.BUS_TYPE] != 3).ravel() + self.num_non_slack_bus = np.sum(self.non_slack_bus_mask) + self.delta_v_bus_mask = np.r_[self.non_slack_bus_mask, + np.ones(self.non_slack_bus_mask.shape[0], dtype=bool)].ravel() + self.delta_v_bus_selector = np.flatnonzero(self.delta_v_bus_mask) + + # Initialize state variable + self.v_init = ppci["bus"][:, idx_bus.VM] + self.delta_init = np.radians(ppci["bus"][:, idx_bus.VA]) + self.E_init = np.r_[self.delta_init[self.non_slack_bus_mask], self.v_init] + self.v = self.v_init.copy() + self.delta = self.delta_init.copy() + self.E = self.E_init.copy() + + def _initialize_meas(self): + # calculate relevant vectors from ppci measurements + self.z, self.pp_meas_indices, self.r_cov, self.non_nan_meas_mask,\ + self.any_i_meas, self.any_degree_meas =\ + _build_measurement_vectors(self, update_meas_only=False) + self.non_nan_meas_selector = np.flatnonzero(self.non_nan_meas_mask) + + def update_meas(self): + self.z = _build_measurement_vectors(self, update_meas_only=True) + + @property + def V(self): + return self.v * np.exp(1j * self.delta) + + def reset(self): + self.v, self.delta, self.E =\ + self.v_init.copy(), self.delta_init.copy(), self.E_init.copy() + + def update_E(self, E): + self.E = E + self.v = E[self.num_non_slack_bus:] + self.delta[self.non_slack_buses] = E[:self.num_non_slack_bus] + + def E2V(self, E): + self.update_E(E) + return self.V + + def get_Y(self): + # Using recycled version if available + if "Ybus" in self["internal"] and self["internal"]["Ybus"].size: + Ybus, Yf, Yt = self["internal"]['Ybus'], self["internal"]['Yf'], self["internal"]['Yt'] + else: + # build admittance matrices + Ybus, Yf, Yt = makeYbus(self['baseMVA'], self['bus'], self['branch']) + self["internal"]['Ybus'], self["internal"]['Yf'], self["internal"]['Yt'] = Ybus, Yf, Yt + return Ybus, Yf, Yt diff --git a/pandapower/estimation/results.py b/pandapower/estimation/results.py index 0e8da07fd..87d10c914 100644 --- a/pandapower/estimation/results.py +++ b/pandapower/estimation/results.py @@ -1,56 +1,56 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - -import numpy as np - -from pandapower.pypower.idx_bus import PD, QD -from pandapower.pf.ppci_variables import _get_pf_variables_from_ppci -from pandapower.pf.pfsoln_numba import pfsoln -from pandapower.results import _copy_results_ppci_to_ppc, _extract_results_se, init_results -from pandapower.auxiliary import get_values - - -def _calc_power_flow(ppci, V): - # store results for all elements - # calculate branch results (in ppc_i) - baseMVA, bus, gen, branch, ref, pv, pq, _, _, _, ref_gens = _get_pf_variables_from_ppci(ppci) - Ybus, Yf, Yt = ppci['internal']['Ybus'], ppci['internal']['Yf'], ppci['internal']['Yt'] - ppci['bus'], ppci['gen'], ppci['branch'] =\ - pfsoln(baseMVA, bus, gen, branch, Ybus, Yf, Yt, V, ref, ref_gens) - - # calculate bus power injections - Sbus = np.multiply(V, np.conj(Ybus * V)) * baseMVA - ppci["bus"][:, PD] = -Sbus.real # saved in MW, injection -> demand - ppci["bus"][:, QD] = -Sbus.imag # saved in Mvar, injection -> demand - return ppci - - -def _extract_result_ppci_to_pp(net, ppc, ppci): - # convert to pandapower indices - ppc = _copy_results_ppci_to_ppc(ppci, ppc, mode="se") - - # inits empty result tables - init_results(net, mode="se") - - # writes res_bus.vm_pu / va_degree and branch res - _extract_results_se(net, ppc) - - # additionally, write bus power demand results (these are not written in _extract_results) - mapping_table = net["_pd2ppc_lookups"]["bus"] - net.res_bus_est.index = net.bus.index - net.res_bus_est.p_mw = get_values(ppc["bus"][:, 2], net.bus.index.values, - mapping_table) - net.res_bus_est.q_mvar = get_values(ppc["bus"][:, 3], net.bus.index.values, - mapping_table) - return net - - -def eppci2pp(net, ppc, eppci): - # calculate the branch power flow and bus power injection based on the estimated voltage vector - eppci = _calc_power_flow(eppci, eppci.V) - - # extract the result from ppci to ppc and pandpower network - net = _extract_result_ppci_to_pp(net, ppc, eppci) - return net +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + +import numpy as np + +from pandapower.pypower.idx_bus import PD, QD +from pandapower.pf.ppci_variables import _get_pf_variables_from_ppci +from pandapower.pf.pfsoln_numba import pfsoln +from pandapower.results import _copy_results_ppci_to_ppc, _extract_results_se, init_results +from pandapower.auxiliary import get_values + + +def _calc_power_flow(ppci, V): + # store results for all elements + # calculate branch results (in ppc_i) + baseMVA, bus, gen, branch, ref, pv, pq, _, _, _, ref_gens = _get_pf_variables_from_ppci(ppci) + Ybus, Yf, Yt = ppci['internal']['Ybus'], ppci['internal']['Yf'], ppci['internal']['Yt'] + ppci['bus'], ppci['gen'], ppci['branch'] =\ + pfsoln(baseMVA, bus, gen, branch, Ybus, Yf, Yt, V, ref, ref_gens) + + # calculate bus power injections + Sbus = np.multiply(V, np.conj(Ybus * V)) * baseMVA + ppci["bus"][:, PD] = -Sbus.real # saved in MW, injection -> demand + ppci["bus"][:, QD] = -Sbus.imag # saved in Mvar, injection -> demand + return ppci + + +def _extract_result_ppci_to_pp(net, ppc, ppci): + # convert to pandapower indices + ppc = _copy_results_ppci_to_ppc(ppci, ppc, mode="se") + + # inits empty result tables + init_results(net, mode="se") + + # writes res_bus.vm_pu / va_degree and branch res + _extract_results_se(net, ppc) + + # additionally, write bus power demand results (these are not written in _extract_results) + mapping_table = net["_pd2ppc_lookups"]["bus"] + net.res_bus_est.index = net.bus.index + net.res_bus_est.p_mw = get_values(ppc["bus"][:, 2], net.bus.index.values, + mapping_table) + net.res_bus_est.q_mvar = get_values(ppc["bus"][:, 3], net.bus.index.values, + mapping_table) + return net + + +def eppci2pp(net, ppc, eppci): + # calculate the branch power flow and bus power injection based on the estimated voltage vector + eppci = _calc_power_flow(eppci, eppci.V) + + # extract the result from ppci to ppc and pandpower network + net = _extract_result_ppci_to_pp(net, ppc, eppci) + return net diff --git a/pandapower/estimation/state_estimation.py b/pandapower/estimation/state_estimation.py index dbce7dec3..7502c48d2 100644 --- a/pandapower/estimation/state_estimation.py +++ b/pandapower/estimation/state_estimation.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. import numpy as np diff --git a/pandapower/estimation/util.py b/pandapower/estimation/util.py index d20b3f8dd..c115e32c6 100644 --- a/pandapower/estimation/util.py +++ b/pandapower/estimation/util.py @@ -1,247 +1,247 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - -import numpy as np -import pandas as pd -from pandas import DataFrame, notnull, isnull - -import pandapower as pp -from pandapower.topology import create_nxgraph, connected_component - - -def estimate_voltage_vector(net): - """ - Function initializes the voltage vector of net with a rough estimation. All buses are set to the - slack bus voltage. Transformer differences in magnitude and phase shifting are accounted for. - :param net: pandapower network - :return: pandas dataframe with estimated vm_pu and va_degree - """ - res_bus = DataFrame(index=net.bus.index, columns=["vm_pu", "va_degree"]) - net_graph = create_nxgraph(net, include_trafos=False) - for _, ext_grid in net.ext_grid.iterrows(): - area = list(connected_component(net_graph, ext_grid.bus)) - res_bus.vm_pu.loc[area] = ext_grid.vm_pu - res_bus.va_degree.loc[area] = ext_grid.va_degree - trafos = net.trafo[net.trafo.in_service == 1] - trafo_index = trafos.index.tolist() - while len(trafo_index): - for tix in trafo_index: - trafo = trafos.loc[tix] - if notnull(res_bus.vm_pu.at[trafo.hv_bus]) and isnull(res_bus.vm_pu.at[trafo.lv_bus]): - try: - area = list(connected_component(net_graph, trafo.lv_bus)) - shift = trafo.shift_degree if "shift_degree" in trafo else 0 - ratio = (trafo.vn_hv_kv / trafo.vn_lv_kv) / (net.bus.vn_kv.at[trafo.hv_bus] - / net.bus.vn_kv.at[trafo.lv_bus]) - res_bus.vm_pu.loc[area] = res_bus.vm_pu.at[trafo.hv_bus] * ratio - res_bus.va_degree.loc[area] = res_bus.va_degree.at[trafo.hv_bus] - shift - except KeyError: - raise UserWarning("An out-of-service bus is connected to an in-service " - "transformer. Please set the transformer out of service or" - "put the bus into service. Treat results with caution!") - trafo_index.remove(tix) - elif notnull(res_bus.vm_pu.at[trafo.hv_bus]): - # parallel transformer, lv buses are already set from previous transformer - trafo_index.remove(tix) - if len(trafo_index) == len(trafos): - # after the initial run we could not identify any areas correctly, it's probably a transmission grid - # with slack on the LV bus and multiple transformers/gens. do flat init and return - res_bus.vm_pu.loc[res_bus.vm_pu.isnull()] = 1. - res_bus.va_degree.loc[res_bus.va_degree.isnull()] = 0. - return res_bus - return res_bus - - -def _get_bus_ppc_mapping(net, bus_to_be_fused): - bus_with_elements = set(net.load.bus).union(set(net.sgen.bus)).union( - set(net.shunt.bus)).union(set(net.gen.bus)).union( - set(net.ext_grid.bus)).union(set(net.ward.bus)).union( - set(net.xward.bus)) - # Run dc pp to get the ppc we need - pp.rundcpp(net) - - - bus_ppci = pd.DataFrame(data=net._pd2ppc_lookups['bus'], columns=["bus_ppci"]) - bus_ppci['bus_with_elements'] = bus_ppci.index.isin(bus_with_elements) - existed_bus = bus_ppci[bus_ppci.index.isin(net.bus.index)] - bus_ppci['vn_kv'] = net.bus.loc[existed_bus.index, 'vn_kv'] - ppci_bus_with_elements = bus_ppci.groupby('bus_ppci')['bus_with_elements'].sum() - bus_ppci.loc[:, 'elements_in_cluster'] = ppci_bus_with_elements[bus_ppci['bus_ppci'].values].values - bus_ppci['bus_to_be_fused'] = False - if bus_to_be_fused is not None: - bus_ppci.loc[bus_to_be_fused, 'bus_to_be_fused'] = True - bus_cluster_to_be_fused_mask = bus_ppci.groupby('bus_ppci')['bus_to_be_fused'].any() - bus_ppci.loc[bus_cluster_to_be_fused_mask[bus_ppci['bus_ppci'].values].values, 'bus_to_be_fused'] = True - return bus_ppci - - -def set_bb_switch_impedance(net, bus_to_be_fused=None, z_ohm=0.1): - """ - Assuming a substation with multiple buses connected to each other with bb switch - if multiple of them have an element (load, sgen usw.) then it caused problem on - e.g. State Estimation, since they will be automatically fused in ppc - A possiblity would be to properly seperate the substation to multiple clusters (ppc) bus - according to the number of buses with elements, in order to estimate the p, q on all - the busses. - These method implemented a forward and backward substitution: - 1. Find the mapping of pd2ppc bus, and identify the ppc bus, which contains multiple bus with elements - 2. Skip the first bus with elements with the same ppc bus, and finding all the switch connected to the - rest pandapower bus and set impedance - 3. Update the pd2ppc lookup - 4. if it caused some bus without elements to detach from any of the bus with connected element, then the - switch caused it will be reset to fuse mode - 5. Iterate this process until all buses with elements are seperated to their own ppc bus, while no bus is - detached in order to get the voltage on bus right - :param net: pandapower net - :param z_ohm: float z_ohm to be setted for the switch - :return: None - """ - if 'z_ohm' in net.switch: - net.switch['z_ohm_ori'] = net.switch['z_ohm'] - - lookup = _get_bus_ppc_mapping(net, bus_to_be_fused) - for _ in range(int(lookup.elements_in_cluster.max()) - 1): - bus_to_be_handled = lookup[((lookup['elements_in_cluster'] >= 2) & - lookup['bus_with_elements']) & (~lookup['bus_to_be_fused'])] - bus_to_be_handled = bus_to_be_handled[bus_to_be_handled['bus_ppci'].duplicated(keep='first')].index - imp_switch_sel = (net.switch.et == 'b') & (net.switch.closed) &\ - (net.switch.bus.isin(bus_to_be_handled) | net.switch.element.isin(bus_to_be_handled)) - net.switch.loc[imp_switch_sel, 'z_ohm'] = z_ohm - - # check if fused buses were isolated by the switching type change - lookup_discon = _get_bus_ppc_mapping(net, bus_to_be_fused) - imp_switch = net.switch.loc[imp_switch_sel, :] - detached_bus = lookup_discon.loc[lookup_discon.elements_in_cluster == 0, :].index - # Find the cause of isolated bus - switch_to_be_fused = (imp_switch.bus.isin(bus_to_be_handled) & imp_switch.element.isin(detached_bus)) | \ - (imp_switch.bus.isin(detached_bus) & imp_switch.element.isin(bus_to_be_handled)) - if not switch_to_be_fused.values.any(): - return - net.switch.loc[imp_switch[switch_to_be_fused].index, 'z_ohm'] = 0 - lookup = _get_bus_ppc_mapping(net, bus_to_be_fused) - if lookup.elements_in_cluster.max() == 1: - return - - -def reset_bb_switch_impedance(net): - """ - Reset the z_ohm of the switch to its original state, undo the operation by set_bb_switch_impedance - :param net: pandapower net - :return: None - """ - if "z_ohm_ori" in net.switch: - net.switch["z_ohm"] = net.switch["z_ohm_ori"] - net.switch.drop("z_ohm_ori", axis=1, inplace=True) - - -def add_virtual_meas_from_loadflow(net, v_std_dev=0.01, p_std_dev=0.03, q_std_dev=0.03, - seed=14, with_random_error=False): - np.random.seed(seed) - - bus_meas_types = {'v': 'vm_pu', 'p': 'p_mw', 'q': 'q_mvar'} - branch_meas_type = {'line': {'side': ('from', 'to'), - 'meas_type': ('p_mw', 'q_mvar')}, - 'trafo': {'side': ('hv', 'lv'), - 'meas_type': ('p_mw', 'q_mvar')}, - 'trafo3w': {'side': ('hv', 'mv', 'lv'), - 'meas_type': ('p_mw', 'q_mvar')}} - for bus_ix, bus_res in net.res_bus.iterrows(): - for meas_type in bus_meas_types.keys(): - meas_value = float(bus_res[bus_meas_types[meas_type]]) - if meas_type in ('p', 'q'): - pp.create_measurement(net, meas_type=meas_type, element_type='bus', element=bus_ix, - value=meas_value, std_dev=1) - else: - pp.create_measurement(net, meas_type=meas_type, element_type='bus', element=bus_ix, - value=meas_value, std_dev=v_std_dev) - - for br_type in branch_meas_type.keys(): - if not net['res_' + br_type].empty: - for br_ix, br_res in net['res_' + br_type].iterrows(): - for side in branch_meas_type[br_type]['side']: - for meas_type in branch_meas_type[br_type]['meas_type']: - pp.create_measurement(net, meas_type=meas_type[0], element_type=br_type, - element=br_ix, side=side, - value=br_res[meas_type[0] + '_' + side + meas_type[1:]], std_dev=1) - - add_virtual_meas_error(net, v_std_dev=v_std_dev, p_std_dev=p_std_dev, q_std_dev=q_std_dev, - with_random_error=with_random_error) - - -def add_virtual_pmu_meas_from_loadflow(net, v_std_dev=0.001, i_std_dev=0.1, - p_std_dev=0.01, q_std_dev=0.01, dg_std_dev=0.1, - seed=14, with_random_error=True): - np.random.seed(seed) - - bus_meas_types = {'v': 'vm_pu', "va": "va_degree", 'p': 'p_mw', 'q': 'q_mvar'} - branch_meas_type = {'line': {'side': ('from', 'to'), - 'meas_type': ('i_ka', 'ia_degree', 'p_mw', 'q_mvar')}, - 'trafo': {'side': ('hv', 'lv'), - 'meas_type': ('i_ka', 'ia_degree', 'p_mw', 'q_mvar')}, - 'trafo3w': {'side': ('hv', 'mv', 'lv'), - 'meas_type': ('i_ka', 'ia_degree', 'p_mw', 'q_mvar')}} - - # Added degree result for branches - for br_type in branch_meas_type.keys(): - for side in branch_meas_type[br_type]['side']: - p, q, vm, va = net["res_" + br_type]["p_%s_mw" % side].values, \ - net["res_" + br_type]["q_%s_mvar" % side].values, \ - net["res_" + br_type]["vm_%s_pu" % side].values, \ - net["res_" + br_type]["va_%s_degree" % side].values - S = p + q * 1j - V = vm * np.exp(np.deg2rad(va) * 1j) - I = np.conj(S / V) - net["res_" + br_type]["ia_%s_degree" % side] = np.rad2deg(np.angle(I)) - - for bus_ix, bus_res in net.res_bus.iterrows(): - for meas_type in bus_meas_types.keys(): - meas_value = float(bus_res[bus_meas_types[meas_type]]) - if meas_type in ('p', 'q'): - pp.create_measurement(net, meas_type=meas_type, element_type='bus', element=bus_ix, - value=meas_value, std_dev=1) - else: - pp.create_measurement(net, meas_type=meas_type, element_type='bus', element=bus_ix, - value=meas_value, std_dev=v_std_dev) - - for br_type in branch_meas_type.keys(): - if not net['res_' + br_type].empty: - for br_ix, br_res in net['res_' + br_type].iterrows(): - for side in branch_meas_type[br_type]['side']: - for meas_type in branch_meas_type[br_type]['meas_type']: - pp.create_measurement(net, meas_type=meas_type.split("_")[0], element_type=br_type, - element=br_ix, side=side, - value=br_res[meas_type.split("_")[0] + '_' + - side + '_' + meas_type.split("_")[1]], std_dev=1) - if with_random_error: - add_virtual_meas_error(net, v_std_dev=v_std_dev, p_std_dev=p_std_dev, q_std_dev=q_std_dev, - i_std_dev=i_std_dev, dg_std_dev=dg_std_dev, with_random_error=with_random_error) - - -def add_virtual_meas_error(net, v_std_dev=0.001, i_std_dev=0.01, - p_std_dev=0.03, q_std_dev=0.03, dg_std_dev=0.1, with_random_error=True): - if net.measurement.empty: - raise AssertionError("Measurement cannot be empty!") - - r = np.random.normal(0, 1, net.measurement.shape[0]) # random error in range from -1, 1 - p_meas_mask = net.measurement.measurement_type == "p" - q_meas_mask = net.measurement.measurement_type == "q" - v_meas_mask = net.measurement.measurement_type == "v" - i_meas_mask = net.measurement.measurement_type == "i" - dg_meas_mask = net.measurement.measurement_type.isin(("ia", "va")) - - if with_random_error: - net.measurement.loc[p_meas_mask, 'value'] += r[p_meas_mask.values] * p_std_dev *\ - net.measurement.loc[p_meas_mask, 'value'].abs() - net.measurement.loc[q_meas_mask, 'value'] += r[q_meas_mask.values] * q_std_dev *\ - net.measurement.loc[q_meas_mask, 'value'].abs() - net.measurement.loc[v_meas_mask, 'value'] += r[v_meas_mask.values] * v_std_dev - net.measurement.loc[i_meas_mask, 'value'] += r[i_meas_mask.values] * i_std_dev / 10000 - net.measurement.loc[dg_meas_mask, 'value'] += r[dg_meas_mask.values] * dg_std_dev - - net.measurement.loc[p_meas_mask, 'std_dev'] = p_std_dev - net.measurement.loc[q_meas_mask, 'std_dev'] = q_std_dev - net.measurement.loc[v_meas_mask, 'std_dev'] = v_std_dev - net.measurement.loc[i_meas_mask, 'std_dev'] = i_std_dev - net.measurement.loc[dg_meas_mask, 'std_dev'] = dg_std_dev +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + +import numpy as np +import pandas as pd +from pandas import DataFrame, notnull, isnull + +import pandapower as pp +from pandapower.topology import create_nxgraph, connected_component + + +def estimate_voltage_vector(net): + """ + Function initializes the voltage vector of net with a rough estimation. All buses are set to the + slack bus voltage. Transformer differences in magnitude and phase shifting are accounted for. + :param net: pandapower network + :return: pandas dataframe with estimated vm_pu and va_degree + """ + res_bus = DataFrame(index=net.bus.index, columns=["vm_pu", "va_degree"]) + net_graph = create_nxgraph(net, include_trafos=False) + for _, ext_grid in net.ext_grid.iterrows(): + area = list(connected_component(net_graph, ext_grid.bus)) + res_bus.vm_pu.loc[area] = ext_grid.vm_pu + res_bus.va_degree.loc[area] = ext_grid.va_degree + trafos = net.trafo[net.trafo.in_service == 1] + trafo_index = trafos.index.tolist() + while len(trafo_index): + for tix in trafo_index: + trafo = trafos.loc[tix] + if notnull(res_bus.vm_pu.at[trafo.hv_bus]) and isnull(res_bus.vm_pu.at[trafo.lv_bus]): + try: + area = list(connected_component(net_graph, trafo.lv_bus)) + shift = trafo.shift_degree if "shift_degree" in trafo else 0 + ratio = (trafo.vn_hv_kv / trafo.vn_lv_kv) / (net.bus.vn_kv.at[trafo.hv_bus] + / net.bus.vn_kv.at[trafo.lv_bus]) + res_bus.vm_pu.loc[area] = res_bus.vm_pu.at[trafo.hv_bus] * ratio + res_bus.va_degree.loc[area] = res_bus.va_degree.at[trafo.hv_bus] - shift + except KeyError: + raise UserWarning("An out-of-service bus is connected to an in-service " + "transformer. Please set the transformer out of service or" + "put the bus into service. Treat results with caution!") + trafo_index.remove(tix) + elif notnull(res_bus.vm_pu.at[trafo.hv_bus]): + # parallel transformer, lv buses are already set from previous transformer + trafo_index.remove(tix) + if len(trafo_index) == len(trafos): + # after the initial run we could not identify any areas correctly, it's probably a transmission grid + # with slack on the LV bus and multiple transformers/gens. do flat init and return + res_bus.vm_pu.loc[res_bus.vm_pu.isnull()] = 1. + res_bus.va_degree.loc[res_bus.va_degree.isnull()] = 0. + return res_bus + return res_bus + + +def _get_bus_ppc_mapping(net, bus_to_be_fused): + bus_with_elements = set(net.load.bus).union(set(net.sgen.bus)).union( + set(net.shunt.bus)).union(set(net.gen.bus)).union( + set(net.ext_grid.bus)).union(set(net.ward.bus)).union( + set(net.xward.bus)) + # Run dc pp to get the ppc we need + pp.rundcpp(net) + + + bus_ppci = pd.DataFrame(data=net._pd2ppc_lookups['bus'], columns=["bus_ppci"]) + bus_ppci['bus_with_elements'] = bus_ppci.index.isin(bus_with_elements) + existed_bus = bus_ppci[bus_ppci.index.isin(net.bus.index)] + bus_ppci['vn_kv'] = net.bus.loc[existed_bus.index, 'vn_kv'] + ppci_bus_with_elements = bus_ppci.groupby('bus_ppci')['bus_with_elements'].sum() + bus_ppci.loc[:, 'elements_in_cluster'] = ppci_bus_with_elements[bus_ppci['bus_ppci'].values].values + bus_ppci['bus_to_be_fused'] = False + if bus_to_be_fused is not None: + bus_ppci.loc[bus_to_be_fused, 'bus_to_be_fused'] = True + bus_cluster_to_be_fused_mask = bus_ppci.groupby('bus_ppci')['bus_to_be_fused'].any() + bus_ppci.loc[bus_cluster_to_be_fused_mask[bus_ppci['bus_ppci'].values].values, 'bus_to_be_fused'] = True + return bus_ppci + + +def set_bb_switch_impedance(net, bus_to_be_fused=None, z_ohm=0.1): + """ + Assuming a substation with multiple buses connected to each other with bb switch + if multiple of them have an element (load, sgen usw.) then it caused problem on + e.g. State Estimation, since they will be automatically fused in ppc + A possiblity would be to properly seperate the substation to multiple clusters (ppc) bus + according to the number of buses with elements, in order to estimate the p, q on all + the busses. + These method implemented a forward and backward substitution: + 1. Find the mapping of pd2ppc bus, and identify the ppc bus, which contains multiple bus with elements + 2. Skip the first bus with elements with the same ppc bus, and finding all the switch connected to the + rest pandapower bus and set impedance + 3. Update the pd2ppc lookup + 4. if it caused some bus without elements to detach from any of the bus with connected element, then the + switch caused it will be reset to fuse mode + 5. Iterate this process until all buses with elements are seperated to their own ppc bus, while no bus is + detached in order to get the voltage on bus right + :param net: pandapower net + :param z_ohm: float z_ohm to be setted for the switch + :return: None + """ + if 'z_ohm' in net.switch: + net.switch['z_ohm_ori'] = net.switch['z_ohm'] + + lookup = _get_bus_ppc_mapping(net, bus_to_be_fused) + for _ in range(int(lookup.elements_in_cluster.max()) - 1): + bus_to_be_handled = lookup[((lookup['elements_in_cluster'] >= 2) & + lookup['bus_with_elements']) & (~lookup['bus_to_be_fused'])] + bus_to_be_handled = bus_to_be_handled[bus_to_be_handled['bus_ppci'].duplicated(keep='first')].index + imp_switch_sel = (net.switch.et == 'b') & (net.switch.closed) &\ + (net.switch.bus.isin(bus_to_be_handled) | net.switch.element.isin(bus_to_be_handled)) + net.switch.loc[imp_switch_sel, 'z_ohm'] = z_ohm + + # check if fused buses were isolated by the switching type change + lookup_discon = _get_bus_ppc_mapping(net, bus_to_be_fused) + imp_switch = net.switch.loc[imp_switch_sel, :] + detached_bus = lookup_discon.loc[lookup_discon.elements_in_cluster == 0, :].index + # Find the cause of isolated bus + switch_to_be_fused = (imp_switch.bus.isin(bus_to_be_handled) & imp_switch.element.isin(detached_bus)) | \ + (imp_switch.bus.isin(detached_bus) & imp_switch.element.isin(bus_to_be_handled)) + if not switch_to_be_fused.values.any(): + return + net.switch.loc[imp_switch[switch_to_be_fused].index, 'z_ohm'] = 0 + lookup = _get_bus_ppc_mapping(net, bus_to_be_fused) + if lookup.elements_in_cluster.max() == 1: + return + + +def reset_bb_switch_impedance(net): + """ + Reset the z_ohm of the switch to its original state, undo the operation by set_bb_switch_impedance + :param net: pandapower net + :return: None + """ + if "z_ohm_ori" in net.switch: + net.switch["z_ohm"] = net.switch["z_ohm_ori"] + net.switch.drop("z_ohm_ori", axis=1, inplace=True) + + +def add_virtual_meas_from_loadflow(net, v_std_dev=0.01, p_std_dev=0.03, q_std_dev=0.03, + seed=14, with_random_error=False): + np.random.seed(seed) + + bus_meas_types = {'v': 'vm_pu', 'p': 'p_mw', 'q': 'q_mvar'} + branch_meas_type = {'line': {'side': ('from', 'to'), + 'meas_type': ('p_mw', 'q_mvar')}, + 'trafo': {'side': ('hv', 'lv'), + 'meas_type': ('p_mw', 'q_mvar')}, + 'trafo3w': {'side': ('hv', 'mv', 'lv'), + 'meas_type': ('p_mw', 'q_mvar')}} + for bus_ix, bus_res in net.res_bus.iterrows(): + for meas_type in bus_meas_types.keys(): + meas_value = float(bus_res[bus_meas_types[meas_type]]) + if meas_type in ('p', 'q'): + pp.create_measurement(net, meas_type=meas_type, element_type='bus', element=bus_ix, + value=meas_value, std_dev=1) + else: + pp.create_measurement(net, meas_type=meas_type, element_type='bus', element=bus_ix, + value=meas_value, std_dev=v_std_dev) + + for br_type in branch_meas_type.keys(): + if not net['res_' + br_type].empty: + for br_ix, br_res in net['res_' + br_type].iterrows(): + for side in branch_meas_type[br_type]['side']: + for meas_type in branch_meas_type[br_type]['meas_type']: + pp.create_measurement(net, meas_type=meas_type[0], element_type=br_type, + element=br_ix, side=side, + value=br_res[meas_type[0] + '_' + side + meas_type[1:]], std_dev=1) + + add_virtual_meas_error(net, v_std_dev=v_std_dev, p_std_dev=p_std_dev, q_std_dev=q_std_dev, + with_random_error=with_random_error) + + +def add_virtual_pmu_meas_from_loadflow(net, v_std_dev=0.001, i_std_dev=0.1, + p_std_dev=0.01, q_std_dev=0.01, dg_std_dev=0.1, + seed=14, with_random_error=True): + np.random.seed(seed) + + bus_meas_types = {'v': 'vm_pu', "va": "va_degree", 'p': 'p_mw', 'q': 'q_mvar'} + branch_meas_type = {'line': {'side': ('from', 'to'), + 'meas_type': ('i_ka', 'ia_degree', 'p_mw', 'q_mvar')}, + 'trafo': {'side': ('hv', 'lv'), + 'meas_type': ('i_ka', 'ia_degree', 'p_mw', 'q_mvar')}, + 'trafo3w': {'side': ('hv', 'mv', 'lv'), + 'meas_type': ('i_ka', 'ia_degree', 'p_mw', 'q_mvar')}} + + # Added degree result for branches + for br_type in branch_meas_type.keys(): + for side in branch_meas_type[br_type]['side']: + p, q, vm, va = net["res_" + br_type]["p_%s_mw" % side].values, \ + net["res_" + br_type]["q_%s_mvar" % side].values, \ + net["res_" + br_type]["vm_%s_pu" % side].values, \ + net["res_" + br_type]["va_%s_degree" % side].values + S = p + q * 1j + V = vm * np.exp(np.deg2rad(va) * 1j) + I = np.conj(S / V) + net["res_" + br_type]["ia_%s_degree" % side] = np.rad2deg(np.angle(I)) + + for bus_ix, bus_res in net.res_bus.iterrows(): + for meas_type in bus_meas_types.keys(): + meas_value = float(bus_res[bus_meas_types[meas_type]]) + if meas_type in ('p', 'q'): + pp.create_measurement(net, meas_type=meas_type, element_type='bus', element=bus_ix, + value=meas_value, std_dev=1) + else: + pp.create_measurement(net, meas_type=meas_type, element_type='bus', element=bus_ix, + value=meas_value, std_dev=v_std_dev) + + for br_type in branch_meas_type.keys(): + if not net['res_' + br_type].empty: + for br_ix, br_res in net['res_' + br_type].iterrows(): + for side in branch_meas_type[br_type]['side']: + for meas_type in branch_meas_type[br_type]['meas_type']: + pp.create_measurement(net, meas_type=meas_type.split("_")[0], element_type=br_type, + element=br_ix, side=side, + value=br_res[meas_type.split("_")[0] + '_' + + side + '_' + meas_type.split("_")[1]], std_dev=1) + if with_random_error: + add_virtual_meas_error(net, v_std_dev=v_std_dev, p_std_dev=p_std_dev, q_std_dev=q_std_dev, + i_std_dev=i_std_dev, dg_std_dev=dg_std_dev, with_random_error=with_random_error) + + +def add_virtual_meas_error(net, v_std_dev=0.001, i_std_dev=0.01, + p_std_dev=0.03, q_std_dev=0.03, dg_std_dev=0.1, with_random_error=True): + if net.measurement.empty: + raise AssertionError("Measurement cannot be empty!") + + r = np.random.normal(0, 1, net.measurement.shape[0]) # random error in range from -1, 1 + p_meas_mask = net.measurement.measurement_type == "p" + q_meas_mask = net.measurement.measurement_type == "q" + v_meas_mask = net.measurement.measurement_type == "v" + i_meas_mask = net.measurement.measurement_type == "i" + dg_meas_mask = net.measurement.measurement_type.isin(("ia", "va")) + + if with_random_error: + net.measurement.loc[p_meas_mask, 'value'] += r[p_meas_mask.values] * p_std_dev *\ + net.measurement.loc[p_meas_mask, 'value'].abs() + net.measurement.loc[q_meas_mask, 'value'] += r[q_meas_mask.values] * q_std_dev *\ + net.measurement.loc[q_meas_mask, 'value'].abs() + net.measurement.loc[v_meas_mask, 'value'] += r[v_meas_mask.values] * v_std_dev + net.measurement.loc[i_meas_mask, 'value'] += r[i_meas_mask.values] * i_std_dev / 10000 + net.measurement.loc[dg_meas_mask, 'value'] += r[dg_meas_mask.values] * dg_std_dev + + net.measurement.loc[p_meas_mask, 'std_dev'] = p_std_dev + net.measurement.loc[q_meas_mask, 'std_dev'] = q_std_dev + net.measurement.loc[v_meas_mask, 'std_dev'] = v_std_dev + net.measurement.loc[i_meas_mask, 'std_dev'] = i_std_dev + net.measurement.loc[dg_meas_mask, 'std_dev'] = dg_std_dev diff --git a/pandapower/file_io.py b/pandapower/file_io.py index bc90654a8..368b5c5c0 100644 --- a/pandapower/file_io.py +++ b/pandapower/file_io.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/io_utils.py b/pandapower/io_utils.py index 3aaabd6f3..419760aa0 100644 --- a/pandapower/io_utils.py +++ b/pandapower/io_utils.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. import copy diff --git a/pandapower/networks/cigre_networks.py b/pandapower/networks/cigre_networks.py index e3b352c6c..95856fa2e 100644 --- a/pandapower/networks/cigre_networks.py +++ b/pandapower/networks/cigre_networks.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/networks/create_examples.py b/pandapower/networks/create_examples.py index 71b6556bf..f6caa3e3c 100644 --- a/pandapower/networks/create_examples.py +++ b/pandapower/networks/create_examples.py @@ -1,406 +1,406 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import pandas as pd - -import pandapower as pp - - -def example_simple(): - """ - Returns the simple example network from the pandapower tutorials. - - OUTPUT: - net - simple example network - - EXAMPLE: - - >>> import pandapower.networks - >>> net = pandapower.networks.example_simple() - - """ - net = pp.create_empty_network() - - # create buses - bus1 = pp.create_bus(net, name="HV Busbar", vn_kv=110., type="b") - bus2 = pp.create_bus(net, name="HV Busbar 2", vn_kv=110., type="b") - bus3 = pp.create_bus(net, name="HV Transformer Bus", vn_kv=110., type="n") - bus4 = pp.create_bus(net, name="MV Transformer Bus", vn_kv=20., type="n") - bus5 = pp.create_bus(net, name="MV Main Bus", vn_kv=20., type="b") - bus6 = pp.create_bus(net, name="MV Bus 1", vn_kv=20., type="b") - bus7 = pp.create_bus(net, name="MV Bus 2", vn_kv=20., type="b") - - # create external grid - pp.create_ext_grid(net, bus1, vm_pu=1.02, va_degree=50) - - # create transformer - pp.create_transformer(net, bus3, bus4, name="110kV/20kV transformer", - std_type="25 MVA 110/20 kV") - # create lines - pp.create_line(net, bus1, bus2, length_km=10, - std_type="N2XS(FL)2Y 1x300 RM/35 64/110 kV", name="Line 1") - line2 = pp.create_line(net, bus5, bus6, length_km=2.0, - std_type="NA2XS2Y 1x240 RM/25 12/20 kV", name="Line 2") - line3 = pp.create_line(net, bus6, bus7, length_km=3.5, - std_type="48-AL1/8-ST1A 20.0", name="Line 3") - line4 = pp.create_line(net, bus7, bus5, length_km=2.5, - std_type="NA2XS2Y 1x240 RM/25 12/20 kV", name="Line 4") - - # create bus-bus switches - pp.create_switch(net, bus2, bus3, et="b", type="CB") - pp.create_switch(net, bus4, bus5, et="b", type="CB") - - # create bus-line switches - pp.create_switch(net, bus5, line2, et="l", type="LBS", closed=True) - pp.create_switch(net, bus6, line2, et="l", type="LBS", closed=True) - pp.create_switch(net, bus6, line3, et="l", type="LBS", closed=True) - pp.create_switch(net, bus7, line3, et="l", type="LBS", closed=False) - pp.create_switch(net, bus7, line4, et="l", type="LBS", closed=True) - pp.create_switch(net, bus5, line4, et="l", type="LBS", closed=True) - - # create load - pp.create_load(net, bus7, p_mw=2, q_mvar=4, scaling=0.6, name="load") - - # create generator - pp.create_gen(net, bus6, p_mw=6, max_q_mvar=3, min_q_mvar=-3, vm_pu=1.03, - name="generator") - - # create static generator - pp.create_sgen(net, bus7, p_mw=2, q_mvar=-0.5, name="static generator") - - # create shunt - pp.create_shunt(net, bus3, q_mvar=-0.96, p_mw=0, name='Shunt') - - return net - - -def example_multivoltage(): - """ - Returns the multivoltage example network from the pandapower tutorials. - - OUTPUT: - net - multivoltage example network - - EXAMPLE: - - >>> import pandapower.networks - >>> net = pandapower.networks.example_multivoltage() - - """ - net = pp.create_empty_network() - - # --- Busses - - # HV - # Double busbar - pp.create_bus(net, name='Double Busbar 1', vn_kv=380, type='b') - pp.create_bus(net, name='Double Busbar 2', vn_kv=380, type='b') - - for i in range(10): - pp.create_bus(net, name='Bus DB T%s' % i, vn_kv=380, type='n') - - for i in range(1, 5): - pp.create_bus(net, name='Bus DB %s' % i, vn_kv=380, type='n') - - # Single busbar - pp.create_bus(net, name='Single Busbar', vn_kv=110, type='b') - - for i in range(1, 6): - pp.create_bus(net, name='Bus SB %s' % i, vn_kv=110, type='n') - - for i in range(1, 6): - for j in [1, 2]: - pp.create_bus(net, name='Bus SB T%s.%s' % (i, j), vn_kv=110, type='n') - - # Remaining - for i in range(1, 5): - pp.create_bus(net, name='Bus HV%s' % i, vn_kv=110, type='n') - - # MV - pp.create_bus(net, name='Bus MV0 20kV', vn_kv=20, type='n') - - for i in range(8): - pp.create_bus(net, name='Bus MV%s' % i, vn_kv=10, type='n') - - # LV - pp.create_bus(net, name='Bus LV0', vn_kv=0.4, type='n') - - for i in range(1, 6): - pp.create_bus(net, name='Bus LV1.%s' % i, vn_kv=0.4, type='m') - - for i in range(1, 5): - pp.create_bus(net, name='Bus LV2.%s' % i, vn_kv=0.4, type='m') - - pp.create_bus(net, name='Bus LV2.2.1', vn_kv=0.4, type='m') - pp.create_bus(net, name='Bus LV2.2.2', vn_kv=0.4, type='m') - - # --- Lines - - # HV - hv_lines = pd.DataFrame() - hv_lines['line_name'] = ['HV Line%s' % i for i in range(1, 7)] - hv_lines['from_bus'] = ['Bus SB 2', 'Bus HV1', 'Bus HV2', 'Bus HV1', 'Bus HV3', 'Bus SB 3'] - hv_lines['to_bus'] = ['Bus HV1', 'Bus HV2', 'Bus HV4', 'Bus HV4', 'Bus HV4', 'Bus HV3'] - hv_lines['std_type'] = '184-AL1/30-ST1A 110.0' - hv_lines['length'] = [30, 20, 30, 15, 25, 30] - hv_lines['parallel'] = [1, 1, 1, 1, 1, 2] - - for _, hv_line in hv_lines.iterrows(): - from_bus = pp.get_element_index(net, "bus", hv_line.from_bus) - to_bus = pp.get_element_index(net, "bus", hv_line.to_bus) - pp.create_line(net, from_bus, to_bus, length_km=hv_line.length, - std_type=hv_line.std_type, name=hv_line.line_name, parallel=hv_line.parallel) - - # MV - mv_lines = pd.DataFrame() - mv_lines['line_name'] = ['MV Line%s' % i for i in range(1, 9)] - mv_lines['from_bus'] = ['Bus MV%s' % i for i in list(range(7)) + [0]] - mv_lines['to_bus'] = ['Bus MV%s' % i for i in list(range(1, 8)) + [7]] - mv_lines['length'] = 1.5 - mv_lines['std_type'] = 'NA2XS2Y 1x185 RM/25 12/20 kV' - - for _, mv_line in mv_lines.iterrows(): - from_bus = pp.get_element_index(net, "bus", mv_line.from_bus) - to_bus = pp.get_element_index(net, "bus", mv_line.to_bus) - pp.create_line(net, from_bus, to_bus, length_km=mv_line.length, - std_type=mv_line.std_type, name=mv_line.line_name) - - # LV - lv_lines = pd.DataFrame() - lv_line_idx = ['1.1', '1.2', '1.3', '1.4', '1.6', '2.1', '2.2', '2.3', '2.4', '2.2.1', '2.2.2'] - lv_lines['line_name'] = ['LV Line%s' % i for i in lv_line_idx] - lv_line_idx = ['0', '1.1', '1.2', '1.3', '1.4', '0', '2.1', '2.2', '2.3', '2.2', '2.2.1'] - lv_lines['from_bus'] = ['Bus LV%s' % i for i in lv_line_idx] - lv_line_idx = ['1.1', '1.2', '1.3', '1.4', '1.5', '2.1', '2.2', '2.3', '2.4', '2.2.1', '2.2.2'] - lv_lines['to_bus'] = ['Bus LV%s' % i for i in lv_line_idx] - lv_lines['length'] = [0.08]*5 + [0.12]*6 - lv_lines['std_type'] = ['NAYY 4x120 SE']*7 + ['15-AL1/3-ST1A 0.4']*4 - - for _, lv_line in lv_lines.iterrows(): - from_bus = pp.get_element_index(net, "bus", lv_line.from_bus) - to_bus = pp.get_element_index(net, "bus", lv_line.to_bus) - pp.create_line(net, from_bus, to_bus, length_km=lv_line.length, - std_type=lv_line.std_type, name=lv_line.line_name) - - # --- Transformer - - hv_bus = pp.get_element_index(net, "bus", "Bus DB 2") - lv_bus = pp.get_element_index(net, "bus", "Bus SB 1") - pp.create_transformer_from_parameters(net, hv_bus, lv_bus, - sn_mva=300, vn_hv_kv=380, vn_lv_kv=110, - vkr_percent=0.06, vk_percent=8, pfe_kw=0, - i0_percent=0, tap_pos=0, shift_degree=0, - name='EHV-HV-Trafo') - - hv_bus = pp.get_element_index(net, "bus", "Bus MV4") - lv_bus = pp.get_element_index(net, "bus", "Bus LV0") - pp.create_transformer_from_parameters(net, hv_bus, lv_bus, - sn_mva=0.4, vn_hv_kv=10, vn_lv_kv=0.4, - vkr_percent=1.325, vk_percent=4, - pfe_kw=0.95, i0_percent=0.2375, tap_side="hv", - tap_neutral=0, tap_min=-2, tap_max=2, - tap_step_percent=2.5, tap_pos=0, - shift_degree=150, name='MV-LV-Trafo') - - # Trafo3w - hv_bus = pp.get_element_index(net, "bus", "Bus HV2") - mv_bus = pp.get_element_index(net, "bus", "Bus MV0 20kV") - lv_bus = pp.get_element_index(net, "bus", "Bus MV0") - pp.create_transformer3w_from_parameters(net, hv_bus, mv_bus, lv_bus, - vn_hv_kv=110, vn_mv_kv=20, vn_lv_kv=10, - sn_hv_mva=40, sn_mv_mva=15, sn_lv_mva=25, - vk_hv_percent=10.1, vk_mv_percent=10.1, - vk_lv_percent=10.1, vkr_hv_percent=0.266667, - vkr_mv_percent=0.033333, vkr_lv_percent=0.04, - pfe_kw=0, i0_percent=0, shift_mv_degree=30, - shift_lv_degree=30, tap_side="hv", tap_neutral=0, - tap_min=-8, tap_max=8, tap_step_percent=1.25, - tap_pos=0, name='HV-MV-MV-Trafo') - - # --- Static generators - - # HV - pp.create_sgen(net, pp.get_element_index(net, "bus", 'Bus SB 5'), p_mw=20, - q_mvar=4, sn_mva=45, type='WP', name='Wind Park') - - # MV - mv_sgens = pd.DataFrame() - mv_sgens['sgen_name'] = ['Biogas plant', 'Further MV Generator', 'Industry Generator', - 'PV Park'] - mv_sgens['bus'] = ['Bus MV6', 'Bus MV0', 'Bus MV0 20kV', 'Bus MV5'] - mv_sgens['p'] = [0.5, 0.5, 15, 2] - mv_sgens['q'] = [0, 0.05, 3, 0.1] - mv_sgens['sn'] = [0.75, 1, 20, 5] - mv_sgens['type'] = ['SGEN', 'SGEN', 'SGEN', 'PV'] - - for _, sgen in mv_sgens.iterrows(): - bus_idx = pp.get_element_index(net, "bus", sgen.bus) - pp.create_sgen(net, bus_idx, p_mw=sgen.p, q_mvar=sgen.q, sn_mva=sgen.sn, - type=sgen.type, name=sgen.sgen_name) - - # LV - lv_sgens = pd.DataFrame() - lv_sgens['sgen_name'] = ['PV'] + ['PV(%s)' % i for i in range(1, 6)] - lv_sgens['bus'] = ['Bus LV%s' % i for i in ['1.1', '1.3', '2.3', '2.4', '2.2.1', '2.2.2']] - lv_sgens['p'] = [0.006, 0.005, 0.005, 0.005, 0.005, 0.005] - lv_sgens['q'] = 0 - lv_sgens['sn'] = [0.012, 0.01, 0.01, 0.01, 0.01, 0.01] - lv_sgens['type'] = 'PV' - - for _, sgen in lv_sgens.iterrows(): - bus_idx = pp.get_element_index(net, "bus", sgen.bus) - pp.create_sgen(net, bus_idx, p_mw=sgen.p, q_mvar=sgen.q, sn_mva=sgen.sn, - type=sgen.type, name=sgen.sgen_name) - - # --- Loads - - # HV - hv_loads = pd.DataFrame() - hv_loads['load_name'] = ['MV Net %s' % i for i in range(5)] - hv_loads['bus'] = ['Bus SB 4', 'Bus HV1', 'Bus HV2', 'Bus HV3', 'Bus HV4'] - hv_loads['p'] = 38 - hv_loads['q'] = 6 - - for _, load in hv_loads.iterrows(): - bus_idx = pp.get_element_index(net, "bus", load.bus) - pp.create_load(net, bus_idx, p_mw=load.p, q_mvar=load.q, name=load.load_name) - - # MV - mv_loads = pd.DataFrame() - mv_loads['load_name'] = ['Further MV-Rings', 'Industry Load'] + ['LV Net %s' % i for i in - [1, 2, 3, 5, 6, 7]] - mv_loads['bus'] = ['Bus MV0', 'Bus MV0 20kV'] + ['Bus MV%s' % i for i in [1, 2, 3, 5, 6, 7]] - mv_loads['p'] = [6, 18, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4] - mv_loads['q'] = [2, 4, 0.1, 0.06, 0.06, 0.06, 0.06, 0.06] - - for _, load in mv_loads.iterrows(): - bus_idx = pp.get_element_index(net, "bus", load.bus) - pp.create_load(net, bus_idx, p_mw=load.p, q_mvar=load.q, name=load.load_name) - - # LV - lv_loads = pd.DataFrame() - idx = ['', '(1)', '(2)', '(3)', '(4)', '(5)'] - lv_loads['load_name'] = ['Further LV-Feeders Load'] + [ - 'Residential Load%s' % i for i in idx[0:5]] + ['Rural Load%s' % i for i in idx[0:6]] - lv_loads['bus'] = ['Bus LV%s' % i for i in ['0', '1.1', '1.2', '1.3', '1.4', '1.5', '2.1', - '2.2', '2.3', '2.4', '2.2.1', '2.2.2']] - lv_loads['p'] = [0.1] + [0.01]*11 - lv_loads['q'] = [0.01] + [0.03]*11 - - for _, load in lv_loads.iterrows(): - bus_idx = pp.get_element_index(net, "bus", load.bus) - pp.create_load(net, bus_idx, p_mw=load.p, q_mvar=load.q, name=load.load_name) - - # --- Other - - # Shunt - pp.create_shunt(net, pp.get_element_index(net, "bus", 'Bus HV1'), p_mw=0, q_mvar=-0.96, - name='Shunt') - - # ExtGrids - pp.create_ext_grid(net, pp.get_element_index(net, "bus", 'Double Busbar 1'), vm_pu=1.03, - va_degree=0, name='External grid', s_sc_max_mva=10000, rx_max=0.1, - rx_min=0.1) - # Gen - pp.create_gen(net, pp.get_element_index(net, "bus", 'Bus HV4'), vm_pu=1.03, p_mw=100, - name='Gas turbine') - - # Impedance - pp.create_impedance(net, pp.get_element_index(net, "bus", 'Bus HV3'), - pp.get_element_index(net, "bus", 'Bus HV1'), rft_pu=0.074873, - xft_pu=0.198872, sn_mva=100, name='Impedance') - - # xwards - pp.create_xward(net, pp.get_element_index(net, "bus", 'Bus HV3'), ps_mw=23.942, - qs_mvar=-12.24187, pz_mw=2.814571, qz_mvar=0, r_ohm=0, x_ohm=12.18951, - vm_pu=1.02616, name='XWard 1') - pp.create_xward(net, pp.get_element_index(net, "bus", 'Bus HV1'), ps_mw=3.776, - qs_mvar=-7.769979, pz_mw=9.174917, qz_mvar=0, r_ohm=0, x_ohm=50.56217, - vm_pu=1.024001, name='XWard 2') - - # --- Switches - - # HV - # Bus-bus switches - hv_bus_sw = pd.DataFrame() - hv_bus_sw['bus_name'] = ['DB DS%s' % i for i in range(14)] + \ - ['DB CB%s' % i for i in range(5)] + \ - ['SB DS%s.%s' % (i, j) for i in range(1, 6) for j in range(1, 3)] + \ - ['SB CB%s' % i for i in range(1, 6)] - hv_bus_sw['from_bus'] = ['Double Busbar %s' % i for i in [2, 1, 2, 1, 2, 1, 2, 1, 2, 1]] + \ - ['Bus DB T%s' % i for i in [2, 4, 6, 8, 0, 3, 5, 7, 9]] + \ - ['Bus SB T1.1', 'Single Busbar', 'Bus SB T2.1', 'Single Busbar', - 'Bus SB T3.1', 'Single Busbar', 'Bus SB T4.1', 'Single Busbar', - 'Bus SB T5.1', 'Single Busbar'] + \ - ['Bus SB T%s.2' % i for i in range(1, 6)] - hv_bus_sw['to_bus'] = ['Bus DB %s' % i for i in - ['T0', 'T1', 'T3', 'T3', 'T5', 'T5', 'T7', 'T7', 'T9', 'T9', - '1', '2', '3', '4', 'T1', 'T2', 'T4', 'T6', 'T8']] + \ - ['Bus SB %s' % i for i in - ['1', 'T1.2', '2', 'T2.2', '3', 'T3.2', '4', 'T4.2', '5', 'T5.2']] + \ - ['Bus SB T%s.1' % i for i in range(1, 6)] - hv_bus_sw['type'] = ['DS']*14 + ['CB']*5 + ['DS']*10 + ['CB']*5 - hv_bus_sw['et'] = 'b' - hv_bus_sw['closed'] = [bool(i) for i in [1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, - 1] + [1]*15] - - for _, switch in hv_bus_sw.iterrows(): - from_bus = pp.get_element_index(net, "bus", switch.from_bus) - to_bus = pp.get_element_index(net, "bus", switch.to_bus) - pp.create_switch(net, from_bus, to_bus, et=switch.et, - closed=switch.closed, type=switch.type, name=switch.bus_name) - - # Bus-Line switches - hv_buses = net.bus[(net.bus.vn_kv == 380) | (net.bus.vn_kv == 110)].index - hv_ls = net.line[(net.line.from_bus.isin(hv_buses)) & (net.line.to_bus.isin(hv_buses))] - for _, line in hv_ls.iterrows(): - for bus in [line.from_bus, line.to_bus]: - pp.create_switch(net, bus, line.name, et='l', closed=True, type='LBS', - name='Switch %s - %s' % (net.bus.name.at[bus], line['name'])) - - # MV - # Bus-line switches - mv_buses = net.bus[(net.bus.vn_kv == 10) | (net.bus.vn_kv == 20)].index - mv_ls = net.line[(net.line.from_bus.isin(mv_buses)) & (net.line.to_bus.isin(mv_buses))] - for _, line in mv_ls.iterrows(): - for bus in [line.from_bus, line.to_bus]: - pp.create_switch(net, bus, line.name, et='l', closed=True, type='LBS', - name='Switch %s - %s' % (net.bus.name.at[bus], line['name'])) - - open_switch_id = net.switch[(net.switch.name == 'Switch Bus MV5 - MV Line5')].index - net.switch.closed.loc[open_switch_id] = False - - # LV - # Bus-line switches - lv_buses = net.bus[net.bus.vn_kv == 0.4].index - lv_ls = net.line[(net.line.from_bus.isin(lv_buses)) & (net.line.to_bus.isin(lv_buses))] - for _, line in lv_ls.iterrows(): - for bus in [line.from_bus, line.to_bus]: - pp.create_switch(net, bus, line.name, et='l', closed=True, type='LBS', - name='Switch %s - %s' % (net.bus.name.at[bus], line['name'])) - - # Trafoswitches - # HV - pp.create_switch(net, pp.get_element_index(net, "bus", 'Bus DB 2'), - pp.get_element_index(net, "trafo", 'EHV-HV-Trafo'), et='t', closed=True, - type='LBS', name='Switch DB2 - EHV-HV-Trafo') - pp.create_switch(net, pp.get_element_index(net, "bus", 'Bus SB 1'), - pp.get_element_index(net, "trafo", 'EHV-HV-Trafo'), et='t', closed=True, - type='LBS', name='Switch SB1 - EHV-HV-Trafo') - # LV - pp.create_switch(net, pp.get_element_index(net, "bus", 'Bus MV4'), - pp.get_element_index(net, "trafo", 'MV-LV-Trafo'), et='t', closed=True, - type='LBS', name='Switch MV4 - MV-LV-Trafo') - pp.create_switch(net, pp.get_element_index(net, "bus", 'Bus LV0'), - pp.get_element_index(net, "trafo", 'MV-LV-Trafo'), et='t', closed=True, - type='LBS', name='Switch LV0 - MV-LV-Trafo') - - # --- Powerflow - - # run power flow and generate result tables - pp.runpp(net, init='dc', calculate_voltage_angles=True, Numba=False) - - return net +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import pandas as pd + +import pandapower as pp + + +def example_simple(): + """ + Returns the simple example network from the pandapower tutorials. + + OUTPUT: + net - simple example network + + EXAMPLE: + + >>> import pandapower.networks + >>> net = pandapower.networks.example_simple() + + """ + net = pp.create_empty_network() + + # create buses + bus1 = pp.create_bus(net, name="HV Busbar", vn_kv=110., type="b") + bus2 = pp.create_bus(net, name="HV Busbar 2", vn_kv=110., type="b") + bus3 = pp.create_bus(net, name="HV Transformer Bus", vn_kv=110., type="n") + bus4 = pp.create_bus(net, name="MV Transformer Bus", vn_kv=20., type="n") + bus5 = pp.create_bus(net, name="MV Main Bus", vn_kv=20., type="b") + bus6 = pp.create_bus(net, name="MV Bus 1", vn_kv=20., type="b") + bus7 = pp.create_bus(net, name="MV Bus 2", vn_kv=20., type="b") + + # create external grid + pp.create_ext_grid(net, bus1, vm_pu=1.02, va_degree=50) + + # create transformer + pp.create_transformer(net, bus3, bus4, name="110kV/20kV transformer", + std_type="25 MVA 110/20 kV") + # create lines + pp.create_line(net, bus1, bus2, length_km=10, + std_type="N2XS(FL)2Y 1x300 RM/35 64/110 kV", name="Line 1") + line2 = pp.create_line(net, bus5, bus6, length_km=2.0, + std_type="NA2XS2Y 1x240 RM/25 12/20 kV", name="Line 2") + line3 = pp.create_line(net, bus6, bus7, length_km=3.5, + std_type="48-AL1/8-ST1A 20.0", name="Line 3") + line4 = pp.create_line(net, bus7, bus5, length_km=2.5, + std_type="NA2XS2Y 1x240 RM/25 12/20 kV", name="Line 4") + + # create bus-bus switches + pp.create_switch(net, bus2, bus3, et="b", type="CB") + pp.create_switch(net, bus4, bus5, et="b", type="CB") + + # create bus-line switches + pp.create_switch(net, bus5, line2, et="l", type="LBS", closed=True) + pp.create_switch(net, bus6, line2, et="l", type="LBS", closed=True) + pp.create_switch(net, bus6, line3, et="l", type="LBS", closed=True) + pp.create_switch(net, bus7, line3, et="l", type="LBS", closed=False) + pp.create_switch(net, bus7, line4, et="l", type="LBS", closed=True) + pp.create_switch(net, bus5, line4, et="l", type="LBS", closed=True) + + # create load + pp.create_load(net, bus7, p_mw=2, q_mvar=4, scaling=0.6, name="load") + + # create generator + pp.create_gen(net, bus6, p_mw=6, max_q_mvar=3, min_q_mvar=-3, vm_pu=1.03, + name="generator") + + # create static generator + pp.create_sgen(net, bus7, p_mw=2, q_mvar=-0.5, name="static generator") + + # create shunt + pp.create_shunt(net, bus3, q_mvar=-0.96, p_mw=0, name='Shunt') + + return net + + +def example_multivoltage(): + """ + Returns the multivoltage example network from the pandapower tutorials. + + OUTPUT: + net - multivoltage example network + + EXAMPLE: + + >>> import pandapower.networks + >>> net = pandapower.networks.example_multivoltage() + + """ + net = pp.create_empty_network() + + # --- Busses + + # HV + # Double busbar + pp.create_bus(net, name='Double Busbar 1', vn_kv=380, type='b') + pp.create_bus(net, name='Double Busbar 2', vn_kv=380, type='b') + + for i in range(10): + pp.create_bus(net, name='Bus DB T%s' % i, vn_kv=380, type='n') + + for i in range(1, 5): + pp.create_bus(net, name='Bus DB %s' % i, vn_kv=380, type='n') + + # Single busbar + pp.create_bus(net, name='Single Busbar', vn_kv=110, type='b') + + for i in range(1, 6): + pp.create_bus(net, name='Bus SB %s' % i, vn_kv=110, type='n') + + for i in range(1, 6): + for j in [1, 2]: + pp.create_bus(net, name='Bus SB T%s.%s' % (i, j), vn_kv=110, type='n') + + # Remaining + for i in range(1, 5): + pp.create_bus(net, name='Bus HV%s' % i, vn_kv=110, type='n') + + # MV + pp.create_bus(net, name='Bus MV0 20kV', vn_kv=20, type='n') + + for i in range(8): + pp.create_bus(net, name='Bus MV%s' % i, vn_kv=10, type='n') + + # LV + pp.create_bus(net, name='Bus LV0', vn_kv=0.4, type='n') + + for i in range(1, 6): + pp.create_bus(net, name='Bus LV1.%s' % i, vn_kv=0.4, type='m') + + for i in range(1, 5): + pp.create_bus(net, name='Bus LV2.%s' % i, vn_kv=0.4, type='m') + + pp.create_bus(net, name='Bus LV2.2.1', vn_kv=0.4, type='m') + pp.create_bus(net, name='Bus LV2.2.2', vn_kv=0.4, type='m') + + # --- Lines + + # HV + hv_lines = pd.DataFrame() + hv_lines['line_name'] = ['HV Line%s' % i for i in range(1, 7)] + hv_lines['from_bus'] = ['Bus SB 2', 'Bus HV1', 'Bus HV2', 'Bus HV1', 'Bus HV3', 'Bus SB 3'] + hv_lines['to_bus'] = ['Bus HV1', 'Bus HV2', 'Bus HV4', 'Bus HV4', 'Bus HV4', 'Bus HV3'] + hv_lines['std_type'] = '184-AL1/30-ST1A 110.0' + hv_lines['length'] = [30, 20, 30, 15, 25, 30] + hv_lines['parallel'] = [1, 1, 1, 1, 1, 2] + + for _, hv_line in hv_lines.iterrows(): + from_bus = pp.get_element_index(net, "bus", hv_line.from_bus) + to_bus = pp.get_element_index(net, "bus", hv_line.to_bus) + pp.create_line(net, from_bus, to_bus, length_km=hv_line.length, + std_type=hv_line.std_type, name=hv_line.line_name, parallel=hv_line.parallel) + + # MV + mv_lines = pd.DataFrame() + mv_lines['line_name'] = ['MV Line%s' % i for i in range(1, 9)] + mv_lines['from_bus'] = ['Bus MV%s' % i for i in list(range(7)) + [0]] + mv_lines['to_bus'] = ['Bus MV%s' % i for i in list(range(1, 8)) + [7]] + mv_lines['length'] = 1.5 + mv_lines['std_type'] = 'NA2XS2Y 1x185 RM/25 12/20 kV' + + for _, mv_line in mv_lines.iterrows(): + from_bus = pp.get_element_index(net, "bus", mv_line.from_bus) + to_bus = pp.get_element_index(net, "bus", mv_line.to_bus) + pp.create_line(net, from_bus, to_bus, length_km=mv_line.length, + std_type=mv_line.std_type, name=mv_line.line_name) + + # LV + lv_lines = pd.DataFrame() + lv_line_idx = ['1.1', '1.2', '1.3', '1.4', '1.6', '2.1', '2.2', '2.3', '2.4', '2.2.1', '2.2.2'] + lv_lines['line_name'] = ['LV Line%s' % i for i in lv_line_idx] + lv_line_idx = ['0', '1.1', '1.2', '1.3', '1.4', '0', '2.1', '2.2', '2.3', '2.2', '2.2.1'] + lv_lines['from_bus'] = ['Bus LV%s' % i for i in lv_line_idx] + lv_line_idx = ['1.1', '1.2', '1.3', '1.4', '1.5', '2.1', '2.2', '2.3', '2.4', '2.2.1', '2.2.2'] + lv_lines['to_bus'] = ['Bus LV%s' % i for i in lv_line_idx] + lv_lines['length'] = [0.08]*5 + [0.12]*6 + lv_lines['std_type'] = ['NAYY 4x120 SE']*7 + ['15-AL1/3-ST1A 0.4']*4 + + for _, lv_line in lv_lines.iterrows(): + from_bus = pp.get_element_index(net, "bus", lv_line.from_bus) + to_bus = pp.get_element_index(net, "bus", lv_line.to_bus) + pp.create_line(net, from_bus, to_bus, length_km=lv_line.length, + std_type=lv_line.std_type, name=lv_line.line_name) + + # --- Transformer + + hv_bus = pp.get_element_index(net, "bus", "Bus DB 2") + lv_bus = pp.get_element_index(net, "bus", "Bus SB 1") + pp.create_transformer_from_parameters(net, hv_bus, lv_bus, + sn_mva=300, vn_hv_kv=380, vn_lv_kv=110, + vkr_percent=0.06, vk_percent=8, pfe_kw=0, + i0_percent=0, tap_pos=0, shift_degree=0, + name='EHV-HV-Trafo') + + hv_bus = pp.get_element_index(net, "bus", "Bus MV4") + lv_bus = pp.get_element_index(net, "bus", "Bus LV0") + pp.create_transformer_from_parameters(net, hv_bus, lv_bus, + sn_mva=0.4, vn_hv_kv=10, vn_lv_kv=0.4, + vkr_percent=1.325, vk_percent=4, + pfe_kw=0.95, i0_percent=0.2375, tap_side="hv", + tap_neutral=0, tap_min=-2, tap_max=2, + tap_step_percent=2.5, tap_pos=0, + shift_degree=150, name='MV-LV-Trafo') + + # Trafo3w + hv_bus = pp.get_element_index(net, "bus", "Bus HV2") + mv_bus = pp.get_element_index(net, "bus", "Bus MV0 20kV") + lv_bus = pp.get_element_index(net, "bus", "Bus MV0") + pp.create_transformer3w_from_parameters(net, hv_bus, mv_bus, lv_bus, + vn_hv_kv=110, vn_mv_kv=20, vn_lv_kv=10, + sn_hv_mva=40, sn_mv_mva=15, sn_lv_mva=25, + vk_hv_percent=10.1, vk_mv_percent=10.1, + vk_lv_percent=10.1, vkr_hv_percent=0.266667, + vkr_mv_percent=0.033333, vkr_lv_percent=0.04, + pfe_kw=0, i0_percent=0, shift_mv_degree=30, + shift_lv_degree=30, tap_side="hv", tap_neutral=0, + tap_min=-8, tap_max=8, tap_step_percent=1.25, + tap_pos=0, name='HV-MV-MV-Trafo') + + # --- Static generators + + # HV + pp.create_sgen(net, pp.get_element_index(net, "bus", 'Bus SB 5'), p_mw=20, + q_mvar=4, sn_mva=45, type='WP', name='Wind Park') + + # MV + mv_sgens = pd.DataFrame() + mv_sgens['sgen_name'] = ['Biogas plant', 'Further MV Generator', 'Industry Generator', + 'PV Park'] + mv_sgens['bus'] = ['Bus MV6', 'Bus MV0', 'Bus MV0 20kV', 'Bus MV5'] + mv_sgens['p'] = [0.5, 0.5, 15, 2] + mv_sgens['q'] = [0, 0.05, 3, 0.1] + mv_sgens['sn'] = [0.75, 1, 20, 5] + mv_sgens['type'] = ['SGEN', 'SGEN', 'SGEN', 'PV'] + + for _, sgen in mv_sgens.iterrows(): + bus_idx = pp.get_element_index(net, "bus", sgen.bus) + pp.create_sgen(net, bus_idx, p_mw=sgen.p, q_mvar=sgen.q, sn_mva=sgen.sn, + type=sgen.type, name=sgen.sgen_name) + + # LV + lv_sgens = pd.DataFrame() + lv_sgens['sgen_name'] = ['PV'] + ['PV(%s)' % i for i in range(1, 6)] + lv_sgens['bus'] = ['Bus LV%s' % i for i in ['1.1', '1.3', '2.3', '2.4', '2.2.1', '2.2.2']] + lv_sgens['p'] = [0.006, 0.005, 0.005, 0.005, 0.005, 0.005] + lv_sgens['q'] = 0 + lv_sgens['sn'] = [0.012, 0.01, 0.01, 0.01, 0.01, 0.01] + lv_sgens['type'] = 'PV' + + for _, sgen in lv_sgens.iterrows(): + bus_idx = pp.get_element_index(net, "bus", sgen.bus) + pp.create_sgen(net, bus_idx, p_mw=sgen.p, q_mvar=sgen.q, sn_mva=sgen.sn, + type=sgen.type, name=sgen.sgen_name) + + # --- Loads + + # HV + hv_loads = pd.DataFrame() + hv_loads['load_name'] = ['MV Net %s' % i for i in range(5)] + hv_loads['bus'] = ['Bus SB 4', 'Bus HV1', 'Bus HV2', 'Bus HV3', 'Bus HV4'] + hv_loads['p'] = 38 + hv_loads['q'] = 6 + + for _, load in hv_loads.iterrows(): + bus_idx = pp.get_element_index(net, "bus", load.bus) + pp.create_load(net, bus_idx, p_mw=load.p, q_mvar=load.q, name=load.load_name) + + # MV + mv_loads = pd.DataFrame() + mv_loads['load_name'] = ['Further MV-Rings', 'Industry Load'] + ['LV Net %s' % i for i in + [1, 2, 3, 5, 6, 7]] + mv_loads['bus'] = ['Bus MV0', 'Bus MV0 20kV'] + ['Bus MV%s' % i for i in [1, 2, 3, 5, 6, 7]] + mv_loads['p'] = [6, 18, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4] + mv_loads['q'] = [2, 4, 0.1, 0.06, 0.06, 0.06, 0.06, 0.06] + + for _, load in mv_loads.iterrows(): + bus_idx = pp.get_element_index(net, "bus", load.bus) + pp.create_load(net, bus_idx, p_mw=load.p, q_mvar=load.q, name=load.load_name) + + # LV + lv_loads = pd.DataFrame() + idx = ['', '(1)', '(2)', '(3)', '(4)', '(5)'] + lv_loads['load_name'] = ['Further LV-Feeders Load'] + [ + 'Residential Load%s' % i for i in idx[0:5]] + ['Rural Load%s' % i for i in idx[0:6]] + lv_loads['bus'] = ['Bus LV%s' % i for i in ['0', '1.1', '1.2', '1.3', '1.4', '1.5', '2.1', + '2.2', '2.3', '2.4', '2.2.1', '2.2.2']] + lv_loads['p'] = [0.1] + [0.01]*11 + lv_loads['q'] = [0.01] + [0.03]*11 + + for _, load in lv_loads.iterrows(): + bus_idx = pp.get_element_index(net, "bus", load.bus) + pp.create_load(net, bus_idx, p_mw=load.p, q_mvar=load.q, name=load.load_name) + + # --- Other + + # Shunt + pp.create_shunt(net, pp.get_element_index(net, "bus", 'Bus HV1'), p_mw=0, q_mvar=-0.96, + name='Shunt') + + # ExtGrids + pp.create_ext_grid(net, pp.get_element_index(net, "bus", 'Double Busbar 1'), vm_pu=1.03, + va_degree=0, name='External grid', s_sc_max_mva=10000, rx_max=0.1, + rx_min=0.1) + # Gen + pp.create_gen(net, pp.get_element_index(net, "bus", 'Bus HV4'), vm_pu=1.03, p_mw=100, + name='Gas turbine') + + # Impedance + pp.create_impedance(net, pp.get_element_index(net, "bus", 'Bus HV3'), + pp.get_element_index(net, "bus", 'Bus HV1'), rft_pu=0.074873, + xft_pu=0.198872, sn_mva=100, name='Impedance') + + # xwards + pp.create_xward(net, pp.get_element_index(net, "bus", 'Bus HV3'), ps_mw=23.942, + qs_mvar=-12.24187, pz_mw=2.814571, qz_mvar=0, r_ohm=0, x_ohm=12.18951, + vm_pu=1.02616, name='XWard 1') + pp.create_xward(net, pp.get_element_index(net, "bus", 'Bus HV1'), ps_mw=3.776, + qs_mvar=-7.769979, pz_mw=9.174917, qz_mvar=0, r_ohm=0, x_ohm=50.56217, + vm_pu=1.024001, name='XWard 2') + + # --- Switches + + # HV + # Bus-bus switches + hv_bus_sw = pd.DataFrame() + hv_bus_sw['bus_name'] = ['DB DS%s' % i for i in range(14)] + \ + ['DB CB%s' % i for i in range(5)] + \ + ['SB DS%s.%s' % (i, j) for i in range(1, 6) for j in range(1, 3)] + \ + ['SB CB%s' % i for i in range(1, 6)] + hv_bus_sw['from_bus'] = ['Double Busbar %s' % i for i in [2, 1, 2, 1, 2, 1, 2, 1, 2, 1]] + \ + ['Bus DB T%s' % i for i in [2, 4, 6, 8, 0, 3, 5, 7, 9]] + \ + ['Bus SB T1.1', 'Single Busbar', 'Bus SB T2.1', 'Single Busbar', + 'Bus SB T3.1', 'Single Busbar', 'Bus SB T4.1', 'Single Busbar', + 'Bus SB T5.1', 'Single Busbar'] + \ + ['Bus SB T%s.2' % i for i in range(1, 6)] + hv_bus_sw['to_bus'] = ['Bus DB %s' % i for i in + ['T0', 'T1', 'T3', 'T3', 'T5', 'T5', 'T7', 'T7', 'T9', 'T9', + '1', '2', '3', '4', 'T1', 'T2', 'T4', 'T6', 'T8']] + \ + ['Bus SB %s' % i for i in + ['1', 'T1.2', '2', 'T2.2', '3', 'T3.2', '4', 'T4.2', '5', 'T5.2']] + \ + ['Bus SB T%s.1' % i for i in range(1, 6)] + hv_bus_sw['type'] = ['DS']*14 + ['CB']*5 + ['DS']*10 + ['CB']*5 + hv_bus_sw['et'] = 'b' + hv_bus_sw['closed'] = [bool(i) for i in [1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 1] + [1]*15] + + for _, switch in hv_bus_sw.iterrows(): + from_bus = pp.get_element_index(net, "bus", switch.from_bus) + to_bus = pp.get_element_index(net, "bus", switch.to_bus) + pp.create_switch(net, from_bus, to_bus, et=switch.et, + closed=switch.closed, type=switch.type, name=switch.bus_name) + + # Bus-Line switches + hv_buses = net.bus[(net.bus.vn_kv == 380) | (net.bus.vn_kv == 110)].index + hv_ls = net.line[(net.line.from_bus.isin(hv_buses)) & (net.line.to_bus.isin(hv_buses))] + for _, line in hv_ls.iterrows(): + for bus in [line.from_bus, line.to_bus]: + pp.create_switch(net, bus, line.name, et='l', closed=True, type='LBS', + name='Switch %s - %s' % (net.bus.name.at[bus], line['name'])) + + # MV + # Bus-line switches + mv_buses = net.bus[(net.bus.vn_kv == 10) | (net.bus.vn_kv == 20)].index + mv_ls = net.line[(net.line.from_bus.isin(mv_buses)) & (net.line.to_bus.isin(mv_buses))] + for _, line in mv_ls.iterrows(): + for bus in [line.from_bus, line.to_bus]: + pp.create_switch(net, bus, line.name, et='l', closed=True, type='LBS', + name='Switch %s - %s' % (net.bus.name.at[bus], line['name'])) + + open_switch_id = net.switch[(net.switch.name == 'Switch Bus MV5 - MV Line5')].index + net.switch.closed.loc[open_switch_id] = False + + # LV + # Bus-line switches + lv_buses = net.bus[net.bus.vn_kv == 0.4].index + lv_ls = net.line[(net.line.from_bus.isin(lv_buses)) & (net.line.to_bus.isin(lv_buses))] + for _, line in lv_ls.iterrows(): + for bus in [line.from_bus, line.to_bus]: + pp.create_switch(net, bus, line.name, et='l', closed=True, type='LBS', + name='Switch %s - %s' % (net.bus.name.at[bus], line['name'])) + + # Trafoswitches + # HV + pp.create_switch(net, pp.get_element_index(net, "bus", 'Bus DB 2'), + pp.get_element_index(net, "trafo", 'EHV-HV-Trafo'), et='t', closed=True, + type='LBS', name='Switch DB2 - EHV-HV-Trafo') + pp.create_switch(net, pp.get_element_index(net, "bus", 'Bus SB 1'), + pp.get_element_index(net, "trafo", 'EHV-HV-Trafo'), et='t', closed=True, + type='LBS', name='Switch SB1 - EHV-HV-Trafo') + # LV + pp.create_switch(net, pp.get_element_index(net, "bus", 'Bus MV4'), + pp.get_element_index(net, "trafo", 'MV-LV-Trafo'), et='t', closed=True, + type='LBS', name='Switch MV4 - MV-LV-Trafo') + pp.create_switch(net, pp.get_element_index(net, "bus", 'Bus LV0'), + pp.get_element_index(net, "trafo", 'MV-LV-Trafo'), et='t', closed=True, + type='LBS', name='Switch LV0 - MV-LV-Trafo') + + # --- Powerflow + + # run power flow and generate result tables + pp.runpp(net, init='dc', calculate_voltage_angles=True, Numba=False) + + return net diff --git a/pandapower/networks/kerber_extreme_networks.py b/pandapower/networks/kerber_extreme_networks.py index 39510a92e..3e9734171 100644 --- a/pandapower/networks/kerber_extreme_networks.py +++ b/pandapower/networks/kerber_extreme_networks.py @@ -1,178 +1,178 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -from pandapower.networks.kerber_networks import _create_branched_loads_network, _create_branch_network - -# The Kerber extreme networks complement the typical Kerber networks. -# Categories: -# I. Kerber networks with extreme lines -# II. Kerber networks with extreme lines and high loaded transformer - - -# --- Extreme Landnetze - -# I. Kerber Landnetz mit extremen Netzstrahlen (Freileitung): -def kb_extrem_landnetz_freileitung(n_lines=26, l_lines_in_km=0.012, std_type="NFA2X 4x70", - # trafotype="0.4 MVA 10/0.4 kV Yyn6 4 ASEA" - trafotype="0.25 MVA 10/0.4 kV", p_load_mw=0.008, - q_load_mvar=0, v_os=10.): - pd_net = _create_branch_network(num_lines=[n_lines], len_lines=[l_lines_in_km], - trafotype=trafotype, v_os=v_os, - std_type=std_type, p_load_mw=p_load_mw, q_load_mvar=q_load_mvar) - return pd_net - - -# I. Kerber Landnetz mit extremen Netzstrahlen (Kabel): -def kb_extrem_landnetz_kabel(n_branch_1=26, l_lines_1_in_km=0.026, std_type="NAYY 4x150", - # trafotype="0.4 MVA 10/0.4 kV Yyn6 4 ASEA" - trafotype="0.25 MVA 10/0.4 kV", p_load_mw=.008, - q_load_mvar=0., length_branchout_line_1=0.018, - length_branchout_line_2=0.033, std_type_branchout_line="NAYY 4x50", - v_os=10.): - num_lines = [n_branch_1] - len_lines = [l_lines_1_in_km] - pd_net = _create_branched_loads_network(trafotype=trafotype, v_os=v_os, num_lines=num_lines, - len_lines=len_lines, std_type=std_type, - p_load_mw=p_load_mw, - q_load_mvar=q_load_mvar, - length_branchout_line_1=length_branchout_line_1, - length_branchout_line_2=length_branchout_line_2, - std_type_branchout_line_1=std_type_branchout_line) - return pd_net - - -# II. Kerber Landnetz mit extremen Netzstrahlen (Freileitung) und hoch ausgelastetem Transformator: -def kb_extrem_landnetz_freileitung_trafo(n_branch_1=26, n_branch_2=1, l_lines_1_in_km=0.012, - l_lines_2_in_km=0.036, std_type="NFA2X 4x70", - trafotype="0.1 MVA 10/0.4 kV", - p_load_mw=.008, q_load_mvar=0, - v_os=10.): - # num_lines = [26, 1] <- Solution with _add_lines_with_branched_loads, if branches = 0 - # len_lines = [0.012, 0.036] - num_lines = [n_branch_1, n_branch_2] - len_lines = [l_lines_1_in_km, l_lines_2_in_km] - pd_net = _create_branch_network(num_lines=num_lines, len_lines=len_lines, trafotype=trafotype, v_os=v_os, - std_type=std_type, p_load_mw=p_load_mw, - q_load_mvar=q_load_mvar) - - return pd_net - - -# II. Kerber Landnetz mit extremen Netzstrahlen (Kabel) und hoch ausgelastetem Transformator: -def kb_extrem_landnetz_kabel_trafo(n_branch_1=26, n_branch_2=1, l_lines_1_in_km=0.026, - l_lines_2_in_km=0.078, std_type="NAYY 4x150", - trafotype="0.1 MVA 10/0.4 kV", p_load_mw=.008, - q_load_mvar=0., length_branchout_line_1=0.018, - length_branchout_line_2=0.033, - std_type_branchout_line="NAYY 4x50", - v_os=10.): - num_lines = [n_branch_1, n_branch_2] - len_lines = [l_lines_1_in_km, l_lines_2_in_km] - pd_net = _create_branched_loads_network(len_lines=len_lines, num_lines=num_lines, - std_type=std_type, p_load_mw=p_load_mw, v_os=v_os, - q_load_mvar=q_load_mvar, trafotype=trafotype, - length_branchout_line_1=length_branchout_line_1, - length_branchout_line_2=length_branchout_line_2, - std_type_branchout_line_1=std_type_branchout_line) - return pd_net - - -# --- Extreme Dorfnetze - -# I. Kerber Dorfnetz mit extremen Netzstrahlen: -def kb_extrem_dorfnetz(std_type="NAYY 4x150", trafotype="0.4 MVA 10/0.4 kV", - p_load_mw=.006, q_load_mvar=0., length_branchout_line_1=0.015, - length_branchout_line_2=0.031, std_type_branchout_line="NAYY 4x50", - v_os=10.): - num_lines = [28, 16, 9, 4, 1] - len_lines = [0.021, 0.029, 0.040, 0.064, 0.102] - pd_net = _create_branched_loads_network(len_lines=len_lines, num_lines=num_lines, - std_type=std_type, p_load_mw=p_load_mw, v_os=v_os, - q_load_mvar=q_load_mvar, trafotype=trafotype, - length_branchout_line_1=length_branchout_line_1, - length_branchout_line_2=length_branchout_line_2, - std_type_branchout_line_1=std_type_branchout_line) - return pd_net - - -# II. Kerber Dorfnetz mit extremen Netzstrahlen und hoch ausgelastetem Transformator: -def kb_extrem_dorfnetz_trafo(std_type="NAYY 4x150", trafotype="0.25 MVA 10/0.4 kV", - # trafotype="0.4 MVA 10/0.4 kV Yyn6 4 ASEA", - p_load_mw=0.006, q_load_mvar=0., length_branchout_line_1=0.015, - length_branchout_line_2=0.031, std_type_branchout_line="NAYY 4x50", - v_os=10.): - num_lines = [28, 28, 16, 12, 12, 9, 7, 4, 1] - len_lines = [0.021, 0.021, 0.029, 0.032, 0.032, 0.040, 0.043, 0.064, 0.102] - pd_net = _create_branched_loads_network(len_lines=len_lines, num_lines=num_lines, - std_type=std_type, p_load_mw=p_load_mw, v_os=v_os, - q_load_mvar=q_load_mvar, trafotype=trafotype, - length_branchout_line_1=length_branchout_line_1, - length_branchout_line_2=length_branchout_line_2, - std_type_branchout_line_1=std_type_branchout_line) - return pd_net - - -# --- Extreme Vorstadtnetze - -# I. Kerber Vorstadtnetz mit extremen Netzstrahlen (Typ 1): -def kb_extrem_vorstadtnetz_1(std_type="NAYY 4x150", p_load_mw=0.002, q_load_mvar=0., - trafotype="0.63 MVA 10/0.4 kV", v_os=10.): - - num_lines = [69, 32, 19, 14, 10, 1] - len_lines = [0.006, 0.011, 0.017, 0.021, 0.025, 0.068] - pd_net = _create_branched_loads_network(len_lines=len_lines, num_lines=num_lines, - std_type=std_type, p_load_mw=p_load_mw, v_os=v_os, - q_load_mvar=q_load_mvar, trafotype=trafotype, - length_branchout_line_1=0.011, - std_type_branchout_line_1="NAYY 4x50", - std_type_branchout_line_2="NYY 4x35", - prob_branchout_line_1=0.5) - return pd_net - - -# I. Kerber Vorstadtnetz mit extremen Netzstrahlen (Typ 2): -def kb_extrem_vorstadtnetz_2(std_type="NAYY 4x185", p_load_mw=0.002, q_load_mvar=0., - trafotype="0.63 MVA 10/0.4 kV", v_os=10.): - num_lines = [61, 32, 20, 15, 11, 5, 1] - len_lines = [0.01, 0.014, 0.02, 0.023, 0.026, 0.05, 0.085] - pd_net = _create_branched_loads_network(len_lines=len_lines, num_lines=num_lines, - std_type=std_type, p_load_mw=p_load_mw, v_os=v_os, - q_load_mvar=q_load_mvar, trafotype=trafotype, - length_branchout_line_1=0.011, - std_type_branchout_line_1="NAYY 4x50", - std_type_branchout_line_2="NYY 4x35", - prob_branchout_line_1=0.5) - return pd_net - - -# II. Kerber Vorstadtnetz mit extremen Netzstrahlen und hoch ausgeslatetem Transformator: -def kb_extrem_vorstadtnetz_trafo_1(std_type="NAYY 4x150", p_load_mw=0.002, q_load_mvar=0., - trafotype="0.25 MVA 10/0.4 kV", v_os=10.): - num_lines = [69, 32, 32, 19, 14, 10, 10, 4, 1] - len_lines = [0.006, 0.011, 0.011, 0.017, 0.021, 0.025, 0.025, 0.06, 0.68] - pd_net = _create_branched_loads_network(len_lines=len_lines, num_lines=num_lines, - std_type=std_type, p_load_mw=p_load_mw, v_os=v_os, - q_load_mvar=q_load_mvar, trafotype=trafotype, - length_branchout_line_1=0.011, - std_type_branchout_line_1="NAYY 4x50", - std_type_branchout_line_2="NYY 4x35", - prob_branchout_line_1=0.5) - return pd_net - - -# II. Kerber Vorstadtnetz mit extremen Netzstrahlen und hoch ausgeslatetem Transformator: -def kb_extrem_vorstadtnetz_trafo_2(std_type="NAYY 4x185", p_load_mw=0.002, q_load_mvar=0., - trafotype="0.25 MVA 10/0.4 kV", v_os=10.): - num_lines = [61, 32, 32, 20, 15, 15, 11, 5, 1] - len_lines = [0.01, 0.014, 0.014, 0.02, 0.023, 0.023, 0.026, 0.05, 0.085] - pd_net = _create_branched_loads_network(len_lines=len_lines, num_lines=num_lines, - std_type=std_type, p_load_mw=p_load_mw, v_os=v_os, - q_load_mvar=q_load_mvar, trafotype=trafotype, - length_branchout_line_1=0.011, - std_type_branchout_line_1="NAYY 4x50", - std_type_branchout_line_2="NYY 4x35", - prob_branchout_line_1=0.5) +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +from pandapower.networks.kerber_networks import _create_branched_loads_network, _create_branch_network + +# The Kerber extreme networks complement the typical Kerber networks. +# Categories: +# I. Kerber networks with extreme lines +# II. Kerber networks with extreme lines and high loaded transformer + + +# --- Extreme Landnetze + +# I. Kerber Landnetz mit extremen Netzstrahlen (Freileitung): +def kb_extrem_landnetz_freileitung(n_lines=26, l_lines_in_km=0.012, std_type="NFA2X 4x70", + # trafotype="0.4 MVA 10/0.4 kV Yyn6 4 ASEA" + trafotype="0.25 MVA 10/0.4 kV", p_load_mw=0.008, + q_load_mvar=0, v_os=10.): + pd_net = _create_branch_network(num_lines=[n_lines], len_lines=[l_lines_in_km], + trafotype=trafotype, v_os=v_os, + std_type=std_type, p_load_mw=p_load_mw, q_load_mvar=q_load_mvar) + return pd_net + + +# I. Kerber Landnetz mit extremen Netzstrahlen (Kabel): +def kb_extrem_landnetz_kabel(n_branch_1=26, l_lines_1_in_km=0.026, std_type="NAYY 4x150", + # trafotype="0.4 MVA 10/0.4 kV Yyn6 4 ASEA" + trafotype="0.25 MVA 10/0.4 kV", p_load_mw=.008, + q_load_mvar=0., length_branchout_line_1=0.018, + length_branchout_line_2=0.033, std_type_branchout_line="NAYY 4x50", + v_os=10.): + num_lines = [n_branch_1] + len_lines = [l_lines_1_in_km] + pd_net = _create_branched_loads_network(trafotype=trafotype, v_os=v_os, num_lines=num_lines, + len_lines=len_lines, std_type=std_type, + p_load_mw=p_load_mw, + q_load_mvar=q_load_mvar, + length_branchout_line_1=length_branchout_line_1, + length_branchout_line_2=length_branchout_line_2, + std_type_branchout_line_1=std_type_branchout_line) + return pd_net + + +# II. Kerber Landnetz mit extremen Netzstrahlen (Freileitung) und hoch ausgelastetem Transformator: +def kb_extrem_landnetz_freileitung_trafo(n_branch_1=26, n_branch_2=1, l_lines_1_in_km=0.012, + l_lines_2_in_km=0.036, std_type="NFA2X 4x70", + trafotype="0.1 MVA 10/0.4 kV", + p_load_mw=.008, q_load_mvar=0, + v_os=10.): + # num_lines = [26, 1] <- Solution with _add_lines_with_branched_loads, if branches = 0 + # len_lines = [0.012, 0.036] + num_lines = [n_branch_1, n_branch_2] + len_lines = [l_lines_1_in_km, l_lines_2_in_km] + pd_net = _create_branch_network(num_lines=num_lines, len_lines=len_lines, trafotype=trafotype, v_os=v_os, + std_type=std_type, p_load_mw=p_load_mw, + q_load_mvar=q_load_mvar) + + return pd_net + + +# II. Kerber Landnetz mit extremen Netzstrahlen (Kabel) und hoch ausgelastetem Transformator: +def kb_extrem_landnetz_kabel_trafo(n_branch_1=26, n_branch_2=1, l_lines_1_in_km=0.026, + l_lines_2_in_km=0.078, std_type="NAYY 4x150", + trafotype="0.1 MVA 10/0.4 kV", p_load_mw=.008, + q_load_mvar=0., length_branchout_line_1=0.018, + length_branchout_line_2=0.033, + std_type_branchout_line="NAYY 4x50", + v_os=10.): + num_lines = [n_branch_1, n_branch_2] + len_lines = [l_lines_1_in_km, l_lines_2_in_km] + pd_net = _create_branched_loads_network(len_lines=len_lines, num_lines=num_lines, + std_type=std_type, p_load_mw=p_load_mw, v_os=v_os, + q_load_mvar=q_load_mvar, trafotype=trafotype, + length_branchout_line_1=length_branchout_line_1, + length_branchout_line_2=length_branchout_line_2, + std_type_branchout_line_1=std_type_branchout_line) + return pd_net + + +# --- Extreme Dorfnetze + +# I. Kerber Dorfnetz mit extremen Netzstrahlen: +def kb_extrem_dorfnetz(std_type="NAYY 4x150", trafotype="0.4 MVA 10/0.4 kV", + p_load_mw=.006, q_load_mvar=0., length_branchout_line_1=0.015, + length_branchout_line_2=0.031, std_type_branchout_line="NAYY 4x50", + v_os=10.): + num_lines = [28, 16, 9, 4, 1] + len_lines = [0.021, 0.029, 0.040, 0.064, 0.102] + pd_net = _create_branched_loads_network(len_lines=len_lines, num_lines=num_lines, + std_type=std_type, p_load_mw=p_load_mw, v_os=v_os, + q_load_mvar=q_load_mvar, trafotype=trafotype, + length_branchout_line_1=length_branchout_line_1, + length_branchout_line_2=length_branchout_line_2, + std_type_branchout_line_1=std_type_branchout_line) + return pd_net + + +# II. Kerber Dorfnetz mit extremen Netzstrahlen und hoch ausgelastetem Transformator: +def kb_extrem_dorfnetz_trafo(std_type="NAYY 4x150", trafotype="0.25 MVA 10/0.4 kV", + # trafotype="0.4 MVA 10/0.4 kV Yyn6 4 ASEA", + p_load_mw=0.006, q_load_mvar=0., length_branchout_line_1=0.015, + length_branchout_line_2=0.031, std_type_branchout_line="NAYY 4x50", + v_os=10.): + num_lines = [28, 28, 16, 12, 12, 9, 7, 4, 1] + len_lines = [0.021, 0.021, 0.029, 0.032, 0.032, 0.040, 0.043, 0.064, 0.102] + pd_net = _create_branched_loads_network(len_lines=len_lines, num_lines=num_lines, + std_type=std_type, p_load_mw=p_load_mw, v_os=v_os, + q_load_mvar=q_load_mvar, trafotype=trafotype, + length_branchout_line_1=length_branchout_line_1, + length_branchout_line_2=length_branchout_line_2, + std_type_branchout_line_1=std_type_branchout_line) + return pd_net + + +# --- Extreme Vorstadtnetze + +# I. Kerber Vorstadtnetz mit extremen Netzstrahlen (Typ 1): +def kb_extrem_vorstadtnetz_1(std_type="NAYY 4x150", p_load_mw=0.002, q_load_mvar=0., + trafotype="0.63 MVA 10/0.4 kV", v_os=10.): + + num_lines = [69, 32, 19, 14, 10, 1] + len_lines = [0.006, 0.011, 0.017, 0.021, 0.025, 0.068] + pd_net = _create_branched_loads_network(len_lines=len_lines, num_lines=num_lines, + std_type=std_type, p_load_mw=p_load_mw, v_os=v_os, + q_load_mvar=q_load_mvar, trafotype=trafotype, + length_branchout_line_1=0.011, + std_type_branchout_line_1="NAYY 4x50", + std_type_branchout_line_2="NYY 4x35", + prob_branchout_line_1=0.5) + return pd_net + + +# I. Kerber Vorstadtnetz mit extremen Netzstrahlen (Typ 2): +def kb_extrem_vorstadtnetz_2(std_type="NAYY 4x185", p_load_mw=0.002, q_load_mvar=0., + trafotype="0.63 MVA 10/0.4 kV", v_os=10.): + num_lines = [61, 32, 20, 15, 11, 5, 1] + len_lines = [0.01, 0.014, 0.02, 0.023, 0.026, 0.05, 0.085] + pd_net = _create_branched_loads_network(len_lines=len_lines, num_lines=num_lines, + std_type=std_type, p_load_mw=p_load_mw, v_os=v_os, + q_load_mvar=q_load_mvar, trafotype=trafotype, + length_branchout_line_1=0.011, + std_type_branchout_line_1="NAYY 4x50", + std_type_branchout_line_2="NYY 4x35", + prob_branchout_line_1=0.5) + return pd_net + + +# II. Kerber Vorstadtnetz mit extremen Netzstrahlen und hoch ausgeslatetem Transformator: +def kb_extrem_vorstadtnetz_trafo_1(std_type="NAYY 4x150", p_load_mw=0.002, q_load_mvar=0., + trafotype="0.25 MVA 10/0.4 kV", v_os=10.): + num_lines = [69, 32, 32, 19, 14, 10, 10, 4, 1] + len_lines = [0.006, 0.011, 0.011, 0.017, 0.021, 0.025, 0.025, 0.06, 0.68] + pd_net = _create_branched_loads_network(len_lines=len_lines, num_lines=num_lines, + std_type=std_type, p_load_mw=p_load_mw, v_os=v_os, + q_load_mvar=q_load_mvar, trafotype=trafotype, + length_branchout_line_1=0.011, + std_type_branchout_line_1="NAYY 4x50", + std_type_branchout_line_2="NYY 4x35", + prob_branchout_line_1=0.5) + return pd_net + + +# II. Kerber Vorstadtnetz mit extremen Netzstrahlen und hoch ausgeslatetem Transformator: +def kb_extrem_vorstadtnetz_trafo_2(std_type="NAYY 4x185", p_load_mw=0.002, q_load_mvar=0., + trafotype="0.25 MVA 10/0.4 kV", v_os=10.): + num_lines = [61, 32, 32, 20, 15, 15, 11, 5, 1] + len_lines = [0.01, 0.014, 0.014, 0.02, 0.023, 0.023, 0.026, 0.05, 0.085] + pd_net = _create_branched_loads_network(len_lines=len_lines, num_lines=num_lines, + std_type=std_type, p_load_mw=p_load_mw, v_os=v_os, + q_load_mvar=q_load_mvar, trafotype=trafotype, + length_branchout_line_1=0.011, + std_type_branchout_line_1="NAYY 4x50", + std_type_branchout_line_2="NYY 4x35", + prob_branchout_line_1=0.5) return pd_net \ No newline at end of file diff --git a/pandapower/networks/kerber_networks.py b/pandapower/networks/kerber_networks.py index 0baa8fe6a..e096cab40 100644 --- a/pandapower/networks/kerber_networks.py +++ b/pandapower/networks/kerber_networks.py @@ -1,313 +1,313 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import random as rd - -import pandapower as pp - - -# --- support functions - -def _create_empty_network_with_transformer(trafotype, V_OS=10., V_US=0.4): - """ - Creates a Network with transformer and infeeder. The reference bus on the \ - high-voltage side is called "Trafostation_OS". The bus on the low-voltage \ - side is called "main_busbar". - The voltage levels can be set manually and the transformer parameter can \ - be set with "ti" - """ - pd_net = pp.create_empty_network() - NFA2X4x70 = {"c_nf_per_km": 0, "r_ohm_per_km": 0.443, "x_ohm_per_km": 0.069, "max_i_ka": 0.270, - "type": "ol", "q_mm2": 70} - NAYY4x50 = {"c_nf_per_km": 670, "r_ohm_per_km": 0.6417, "x_ohm_per_km": 0.084823, - "max_i_ka": 0.141, "type": "cs", "q_mm2": 50} - NAYY4x150 = {"c_nf_per_km": 830, "r_ohm_per_km": 0.2067, "x_ohm_per_km": 0.08042478, - "max_i_ka": 0.275, "type": "cs", "q_mm2": 150} - NAYY4x185 = {"c_nf_per_km": 830, "r_ohm_per_km": 0.165, "x_ohm_per_km": 0.08042478, - "max_i_ka": 0.313, "type": "cs", "q_mm2": 185} - NYY4x35 = {"c_nf_per_km": 0, "r_ohm_per_km": 0.5240284, "x_ohm_per_km": 0.08513716, - "max_i_ka": 0.156, "type": "cs", "q_mm2": 35} - pp.create_std_type(net=pd_net, data=NFA2X4x70, name="NFA2X 4x70", element="line") - pp.create_std_type(net=pd_net, data=NAYY4x50, name="NAYY 4x50", element="line") - pp.create_std_type(net=pd_net, data=NAYY4x150, name="NAYY 4x150", element="line") - pp.create_std_type(net=pd_net, data=NAYY4x185, name="NAYY 4x185", element="line") - pp.create_std_type(net=pd_net, data=NYY4x35, name="NYY 4x35", element="line") - T100kVA = {"sn_mva": 0.100, "vn_hv_kv": 10, "vn_lv_kv": 0.4, "vk_percent": 4, - "vkr_percent": 1.2, "pfe_kw": 0.45, "i0_percent": 0.25, "shift_degree": 150, - "vector_group": "Dyn5"} - T160kVA = {"sn_mva": 0.160, "vn_hv_kv": 10, "vn_lv_kv": 0.4, "vk_percent": 4, - "vkr_percent": 1.2, "pfe_kw": 0.38, "i0_percent": 0.26, "shift_degree": 150, - "vector_group": "Dyn5"} - pp.create_std_type(net=pd_net, data=T100kVA, name="0.1 MVA 10/0.4 kV", element="trafo") - pp.create_std_type(net=pd_net, data=T160kVA, name="0.16 MVA 10/0.4 kV", element="trafo") - - busnr1 = pp.create_bus(pd_net, name="Trafostation_OS", vn_kv=V_OS) - pp.create_ext_grid(pd_net, bus=busnr1) - main_busbar_nr = pp.create_bus(pd_net, name="main_busbar", vn_kv=V_US, type="b") - pp.create_transformer(pd_net, hv_bus=busnr1, lv_bus=main_busbar_nr, std_type=trafotype, - name="trafo 1") - return pd_net, main_busbar_nr - - -def _add_lines_and_loads(pd_net, n_lines, startbusnr, length_per_line, - std_type="NAYY 4x150 SE", p_load_mw=0, - q_load_mvar=0, branchnr=1, - l_para_per_km=None): - """ - Creates a single unsplitted branch on the startbus of n lines. It \ - sequencely adds lines, buses and loads. - - Loads will only be added if p_load_mw or q_load_mvar \ - is assigned - - The branch number could be assigned with branchnr. It will be added to \ - the name ti keep track on the node position - """ - - startpoint_bus = 1 - startpoint_line = 1 - bus_before = startbusnr - for i in list(range(n_lines)): - buscounter = startpoint_bus + i - linecounter = startpoint_line + i - created_bus_nr = pp.create_bus(pd_net, name="bus_%d_%d" % (branchnr, buscounter), vn_kv=.4) - - pp.create_line(pd_net, bus_before, created_bus_nr, length_km=length_per_line, - name="line_%d_%d" % (branchnr, linecounter), std_type=std_type) - - if p_load_mw or q_load_mvar: - pp.create_load(pd_net, created_bus_nr, p_mw=p_load_mw, q_mvar=q_load_mvar) - - bus_before = created_bus_nr # rueckgefuehrter Wert in der Schleife - - return pd_net - - -def _add_lines_with_branched_loads(net, n_lines, startbus, length_per_line, - std_type="NAYY 4x150 SE", p_load_mw=0, - q_load_mvar=0, - length_branchout_line_1=0.022, - length_branchout_line_2=0, - std_type_branchout_line_1="NAYY 4x50 SE", - std_type_branchout_line_2="NAYY 4x50 SE", - prob_branchout_line_1=0.5, branchnr=1): - """ - Creates a single unsplitted branch on the startbus. each bus on the main \ - line is connected to a branch out line which connects \ - the loadbus (households). - - If there are two std_types given for the branch_out_lin. The cable_types \ - interchange with the given probability - - If there are two lengths of branchoutlines are given, the \ - lengths interchange. - It begins with length 1 and switches to length 2. The cable with length 1 \ - is named as "MUF_" and length 2 becomes "KV_". - - Loads will only be added if p_load_mw or q_load_mvar \ - is assigned - - The branch number could be assigned with branchnr. It will be added to the\ - name ti keep track on the node position - """ - - # support function - startpoint_bus = 1 - startpoint_line = 1 - bus_before = startbus - length_branchout_line = length_branchout_line_1 - # destinct between Muffe und Kabelverteiler - if length_branchout_line_2: - bustype = "MUF" - else: - bustype = "bus" - std_type_branchout_line = std_type_branchout_line_1 - for i in range(n_lines): - buscounter = startpoint_bus + i - linecounter = startpoint_line + i - created_bus_nr = pp.create_bus(net, name="%s_%d_%d" % (bustype, branchnr, buscounter), - type="b" if bustype == "KV" else "n", vn_kv=.4) - pp.create_line(net, bus_before, created_bus_nr, - length_km=length_per_line, - name="line_%d_%d" % (branchnr, linecounter), - std_type=std_type) - - loadbusnr = pp.create_bus(net, name="loadbus_%d_%d" % (branchnr, buscounter), vn_kv=.4) - - pp.create_line(net, created_bus_nr, loadbusnr, - length_km=length_branchout_line, - name="branchout_line_%d_%d" % (branchnr, linecounter), - std_type=std_type_branchout_line) - - if p_load_mw or q_load_mvar: - pp.create_load(net, loadbusnr, - p_mw=p_load_mw, q_mvar=q_load_mvar) - - bus_before = created_bus_nr # rueckgefuehrter Wert in der Schleife - - # alternates the length of the branch out lines if needed - if length_branchout_line_2: - if length_branchout_line == length_branchout_line_1: - length_branchout_line = length_branchout_line_2 - bustype = "KV" - else: - length_branchout_line = length_branchout_line_1 - bustype = "MUF" - # changes branch out lines according to the probabillity if needed - if std_type_branchout_line_2: - if rd.random() > prob_branchout_line_1: - std_type_branchout_line = std_type_branchout_line_2 - else: - std_type_branchout_line = std_type_branchout_line_1 - return net - -def _create_branch_network(trafotype, v_os, num_lines, len_lines, **kwargs): - pd_net, main_busbar_nr = _create_empty_network_with_transformer(trafotype, V_OS=v_os) - for i, (n_line, len_line) in enumerate(zip(num_lines, len_lines), start=1): - _add_lines_and_loads(pd_net, n_line, startbusnr=main_busbar_nr, - length_per_line=len_line, branchnr=i, **kwargs) - return pd_net - - -def _create_branched_loads_network(trafotype, v_os, num_lines, len_lines, **kwargs): - pd_net, main_busbar_nr = _create_empty_network_with_transformer(trafotype, V_OS=v_os) - for i, (n_line, len_line) in enumerate(zip(num_lines, len_lines), start=1): - _add_lines_with_branched_loads(pd_net, n_line, startbus=main_busbar_nr, - length_per_line=len_line, branchnr=i, **kwargs) - return pd_net - -# --- main functions - -def create_kerber_landnetz_freileitung_1(n_lines=13, - l_lines_in_km=0.021, std_type="NFA2X 4x70", - trafotype="0.16 MVA 10/0.4 kV", - p_load_mw=0.008, q_load_mvar=0, v_os=10.): - - pd_net, main_busbar_nr = _create_empty_network_with_transformer(trafotype, V_OS=v_os) - _add_lines_and_loads(pd_net, n_lines, startbusnr=main_busbar_nr, - length_per_line=l_lines_in_km, std_type=std_type, - p_load_mw=p_load_mw, - q_load_mvar=q_load_mvar) - return pd_net - - -def create_kerber_landnetz_freileitung_2(n_branch_1=6, n_branch_2=2, - l_lines_1_in_km=0.038, - l_lines_2_in_km=0.081, - std_type="NFA2X 4x70", - trafotype="0.1 MVA 10/0.4 kV", - p_load_mw=0.008, q_load_mvar=0, - v_os=10.): - num_lines = [n_branch_1, n_branch_2] - len_lines = [l_lines_1_in_km, l_lines_2_in_km] - pd_net = _create_branch_network(trafotype=trafotype, v_os=v_os, num_lines=num_lines, - len_lines=len_lines, std_type=std_type, - p_load_mw=p_load_mw, q_load_mvar=q_load_mvar) - return pd_net - - -def create_kerber_landnetz_kabel_1(n_branch_1=6, n_branch_2=2, l_lines_1_in_km=0.082, - l_lines_2_in_km=0.175, std_type="NAYY 4x150", - std_type_branchout_line="NAYY 4x50", - trafotype="0.1 MVA 10/0.4 kV", p_load_mw=0.008, - q_load_mvar=0., length_branchout_line_1=0.018, - length_branchout_line_2=0.033, v_os=10.): - """ - .. note:: It is assumed that every second bus in a branch is a "KV". - """ - num_lines = [n_branch_1, n_branch_2] - len_lines = [l_lines_1_in_km, l_lines_2_in_km] - pd_net = _create_branched_loads_network(trafotype=trafotype, v_os=v_os, num_lines=num_lines, - len_lines=len_lines, std_type=std_type, - p_load_mw=p_load_mw, - q_load_mvar=q_load_mvar, - length_branchout_line_1=length_branchout_line_1, - length_branchout_line_2=length_branchout_line_2, - std_type_branchout_line_1=std_type_branchout_line) - return pd_net - - -def create_kerber_landnetz_kabel_2(n_branch_1=12, n_branch_2=2, l_lines_1_in_km=0.053, - l_lines_2_in_km=0.175, std_type="NAYY 4x150", - trafotype="0.16 MVA 10/0.4 kV", p_load_mw=0.008, - q_load_mvar=0., length_branchout_line_1=0.018, - length_branchout_line_2=0.033, - std_type_branchout_line="NAYY 4x50", v_os=10.): - """ - .. note:: It is assumed that every second bus in a branch is a "KV". - """ - num_lines = [n_branch_1, n_branch_2] - len_lines = [l_lines_1_in_km, l_lines_2_in_km] - pd_net = _create_branched_loads_network(trafotype=trafotype, v_os=v_os, num_lines=num_lines, - len_lines=len_lines, std_type=std_type, - p_load_mw=p_load_mw, - q_load_mvar=q_load_mvar, - length_branchout_line_1=length_branchout_line_1, - length_branchout_line_2=length_branchout_line_2, - std_type_branchout_line_1=std_type_branchout_line) - return pd_net - - -def create_kerber_dorfnetz(std_type="NAYY 4x150", trafotype="0.4 MVA 10/0.4 kV", - p_load_mw=0.006, - q_load_mvar=0., length_branchout_line_1=0.015, - length_branchout_line_2=0.031, - std_type_branchout_line="NAYY 4x50", v_os=10.): - """ - .. note:: It is assumed that every second bus in a branch is a "KV". - """ - num_lines = [9, 9, 16, 12, 7, 4] - len_lines = [0.04, 0.04, 0.029, 0.032, 0.043, 0.064] - pd_net = _create_branched_loads_network(trafotype=trafotype, v_os=v_os, num_lines=num_lines, - len_lines=len_lines, std_type=std_type, - p_load_mw=p_load_mw, - q_load_mvar=q_load_mvar, - length_branchout_line_1=length_branchout_line_1, - length_branchout_line_2=length_branchout_line_2, - std_type_branchout_line_1=std_type_branchout_line) - return pd_net - - -def create_kerber_vorstadtnetz_kabel_1(std_type="NAYY 4x150", p_load_mw=0.002, q_load_mvar=0., - trafotype="0.63 MVA 10/0.4 kV", v_os=10.): - """ - .. note:: Please pay attention, that the linetypes of the branch out house connections are \ - randomly distributed according to the probability 50% between "NAYY 4x50" and "NYY 4x35" - """ - num_lines = [14, 14, 14, 19, 19, 10, 10, 10, 32, 4] - len_lines = [0.021, 0.021, 0.021, 0.017, 0.017, 0.025, 0.025, 0.025, 0.011, 0.060] - pd_net = _create_branched_loads_network(trafotype=trafotype, v_os=v_os, num_lines=num_lines, - len_lines=len_lines, std_type=std_type, - p_load_mw=p_load_mw, - q_load_mvar=q_load_mvar, - length_branchout_line_1=0.011, - std_type_branchout_line_1="NAYY 4x50", - std_type_branchout_line_2="NYY 4x35", - prob_branchout_line_1=0.5) - return pd_net - - -def create_kerber_vorstadtnetz_kabel_2(std_type="NAYY 4x185", p_load_mw=.002, q_load_mvar=0., - trafotype="0.63 MVA 10/0.4 kV", v_os=10.): - """ - .. note:: Please pay attention, that the linetypes of the branch out house \ - connections are randomlydistributed according to the probability 50% between \ - "NAYY 50" and "NYY 35" - """ - - num_lines = [15, 15, 15, 20, 20, 11, 11, 32, 5] - len_lines = [0.023, 0.023, 0.023, 0.020, 0.020, 0.026, 0.026, 0.014, 0.050] - pd_net = _create_branched_loads_network(trafotype=trafotype, v_os=v_os, num_lines=num_lines, - len_lines=len_lines, std_type=std_type, - p_load_mw=p_load_mw, - q_load_mvar=q_load_mvar, - length_branchout_line_1=0.011, - std_type_branchout_line_1="NAYY 4x50", - std_type_branchout_line_2="NYY 4x35", - prob_branchout_line_1=0.5) - return pd_net - - +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import random as rd + +import pandapower as pp + + +# --- support functions + +def _create_empty_network_with_transformer(trafotype, V_OS=10., V_US=0.4): + """ + Creates a Network with transformer and infeeder. The reference bus on the \ + high-voltage side is called "Trafostation_OS". The bus on the low-voltage \ + side is called "main_busbar". + The voltage levels can be set manually and the transformer parameter can \ + be set with "ti" + """ + pd_net = pp.create_empty_network() + NFA2X4x70 = {"c_nf_per_km": 0, "r_ohm_per_km": 0.443, "x_ohm_per_km": 0.069, "max_i_ka": 0.270, + "type": "ol", "q_mm2": 70} + NAYY4x50 = {"c_nf_per_km": 670, "r_ohm_per_km": 0.6417, "x_ohm_per_km": 0.084823, + "max_i_ka": 0.141, "type": "cs", "q_mm2": 50} + NAYY4x150 = {"c_nf_per_km": 830, "r_ohm_per_km": 0.2067, "x_ohm_per_km": 0.08042478, + "max_i_ka": 0.275, "type": "cs", "q_mm2": 150} + NAYY4x185 = {"c_nf_per_km": 830, "r_ohm_per_km": 0.165, "x_ohm_per_km": 0.08042478, + "max_i_ka": 0.313, "type": "cs", "q_mm2": 185} + NYY4x35 = {"c_nf_per_km": 0, "r_ohm_per_km": 0.5240284, "x_ohm_per_km": 0.08513716, + "max_i_ka": 0.156, "type": "cs", "q_mm2": 35} + pp.create_std_type(net=pd_net, data=NFA2X4x70, name="NFA2X 4x70", element="line") + pp.create_std_type(net=pd_net, data=NAYY4x50, name="NAYY 4x50", element="line") + pp.create_std_type(net=pd_net, data=NAYY4x150, name="NAYY 4x150", element="line") + pp.create_std_type(net=pd_net, data=NAYY4x185, name="NAYY 4x185", element="line") + pp.create_std_type(net=pd_net, data=NYY4x35, name="NYY 4x35", element="line") + T100kVA = {"sn_mva": 0.100, "vn_hv_kv": 10, "vn_lv_kv": 0.4, "vk_percent": 4, + "vkr_percent": 1.2, "pfe_kw": 0.45, "i0_percent": 0.25, "shift_degree": 150, + "vector_group": "Dyn5"} + T160kVA = {"sn_mva": 0.160, "vn_hv_kv": 10, "vn_lv_kv": 0.4, "vk_percent": 4, + "vkr_percent": 1.2, "pfe_kw": 0.38, "i0_percent": 0.26, "shift_degree": 150, + "vector_group": "Dyn5"} + pp.create_std_type(net=pd_net, data=T100kVA, name="0.1 MVA 10/0.4 kV", element="trafo") + pp.create_std_type(net=pd_net, data=T160kVA, name="0.16 MVA 10/0.4 kV", element="trafo") + + busnr1 = pp.create_bus(pd_net, name="Trafostation_OS", vn_kv=V_OS) + pp.create_ext_grid(pd_net, bus=busnr1) + main_busbar_nr = pp.create_bus(pd_net, name="main_busbar", vn_kv=V_US, type="b") + pp.create_transformer(pd_net, hv_bus=busnr1, lv_bus=main_busbar_nr, std_type=trafotype, + name="trafo 1") + return pd_net, main_busbar_nr + + +def _add_lines_and_loads(pd_net, n_lines, startbusnr, length_per_line, + std_type="NAYY 4x150 SE", p_load_mw=0, + q_load_mvar=0, branchnr=1, + l_para_per_km=None): + """ + Creates a single unsplitted branch on the startbus of n lines. It \ + sequencely adds lines, buses and loads. + + Loads will only be added if p_load_mw or q_load_mvar \ + is assigned + + The branch number could be assigned with branchnr. It will be added to \ + the name ti keep track on the node position + """ + + startpoint_bus = 1 + startpoint_line = 1 + bus_before = startbusnr + for i in list(range(n_lines)): + buscounter = startpoint_bus + i + linecounter = startpoint_line + i + created_bus_nr = pp.create_bus(pd_net, name="bus_%d_%d" % (branchnr, buscounter), vn_kv=.4) + + pp.create_line(pd_net, bus_before, created_bus_nr, length_km=length_per_line, + name="line_%d_%d" % (branchnr, linecounter), std_type=std_type) + + if p_load_mw or q_load_mvar: + pp.create_load(pd_net, created_bus_nr, p_mw=p_load_mw, q_mvar=q_load_mvar) + + bus_before = created_bus_nr # rueckgefuehrter Wert in der Schleife + + return pd_net + + +def _add_lines_with_branched_loads(net, n_lines, startbus, length_per_line, + std_type="NAYY 4x150 SE", p_load_mw=0, + q_load_mvar=0, + length_branchout_line_1=0.022, + length_branchout_line_2=0, + std_type_branchout_line_1="NAYY 4x50 SE", + std_type_branchout_line_2="NAYY 4x50 SE", + prob_branchout_line_1=0.5, branchnr=1): + """ + Creates a single unsplitted branch on the startbus. each bus on the main \ + line is connected to a branch out line which connects \ + the loadbus (households). + + If there are two std_types given for the branch_out_lin. The cable_types \ + interchange with the given probability + + If there are two lengths of branchoutlines are given, the \ + lengths interchange. + It begins with length 1 and switches to length 2. The cable with length 1 \ + is named as "MUF_" and length 2 becomes "KV_". + + Loads will only be added if p_load_mw or q_load_mvar \ + is assigned + + The branch number could be assigned with branchnr. It will be added to the\ + name ti keep track on the node position + """ + + # support function + startpoint_bus = 1 + startpoint_line = 1 + bus_before = startbus + length_branchout_line = length_branchout_line_1 + # destinct between Muffe und Kabelverteiler + if length_branchout_line_2: + bustype = "MUF" + else: + bustype = "bus" + std_type_branchout_line = std_type_branchout_line_1 + for i in range(n_lines): + buscounter = startpoint_bus + i + linecounter = startpoint_line + i + created_bus_nr = pp.create_bus(net, name="%s_%d_%d" % (bustype, branchnr, buscounter), + type="b" if bustype == "KV" else "n", vn_kv=.4) + pp.create_line(net, bus_before, created_bus_nr, + length_km=length_per_line, + name="line_%d_%d" % (branchnr, linecounter), + std_type=std_type) + + loadbusnr = pp.create_bus(net, name="loadbus_%d_%d" % (branchnr, buscounter), vn_kv=.4) + + pp.create_line(net, created_bus_nr, loadbusnr, + length_km=length_branchout_line, + name="branchout_line_%d_%d" % (branchnr, linecounter), + std_type=std_type_branchout_line) + + if p_load_mw or q_load_mvar: + pp.create_load(net, loadbusnr, + p_mw=p_load_mw, q_mvar=q_load_mvar) + + bus_before = created_bus_nr # rueckgefuehrter Wert in der Schleife + + # alternates the length of the branch out lines if needed + if length_branchout_line_2: + if length_branchout_line == length_branchout_line_1: + length_branchout_line = length_branchout_line_2 + bustype = "KV" + else: + length_branchout_line = length_branchout_line_1 + bustype = "MUF" + # changes branch out lines according to the probabillity if needed + if std_type_branchout_line_2: + if rd.random() > prob_branchout_line_1: + std_type_branchout_line = std_type_branchout_line_2 + else: + std_type_branchout_line = std_type_branchout_line_1 + return net + +def _create_branch_network(trafotype, v_os, num_lines, len_lines, **kwargs): + pd_net, main_busbar_nr = _create_empty_network_with_transformer(trafotype, V_OS=v_os) + for i, (n_line, len_line) in enumerate(zip(num_lines, len_lines), start=1): + _add_lines_and_loads(pd_net, n_line, startbusnr=main_busbar_nr, + length_per_line=len_line, branchnr=i, **kwargs) + return pd_net + + +def _create_branched_loads_network(trafotype, v_os, num_lines, len_lines, **kwargs): + pd_net, main_busbar_nr = _create_empty_network_with_transformer(trafotype, V_OS=v_os) + for i, (n_line, len_line) in enumerate(zip(num_lines, len_lines), start=1): + _add_lines_with_branched_loads(pd_net, n_line, startbus=main_busbar_nr, + length_per_line=len_line, branchnr=i, **kwargs) + return pd_net + +# --- main functions + +def create_kerber_landnetz_freileitung_1(n_lines=13, + l_lines_in_km=0.021, std_type="NFA2X 4x70", + trafotype="0.16 MVA 10/0.4 kV", + p_load_mw=0.008, q_load_mvar=0, v_os=10.): + + pd_net, main_busbar_nr = _create_empty_network_with_transformer(trafotype, V_OS=v_os) + _add_lines_and_loads(pd_net, n_lines, startbusnr=main_busbar_nr, + length_per_line=l_lines_in_km, std_type=std_type, + p_load_mw=p_load_mw, + q_load_mvar=q_load_mvar) + return pd_net + + +def create_kerber_landnetz_freileitung_2(n_branch_1=6, n_branch_2=2, + l_lines_1_in_km=0.038, + l_lines_2_in_km=0.081, + std_type="NFA2X 4x70", + trafotype="0.1 MVA 10/0.4 kV", + p_load_mw=0.008, q_load_mvar=0, + v_os=10.): + num_lines = [n_branch_1, n_branch_2] + len_lines = [l_lines_1_in_km, l_lines_2_in_km] + pd_net = _create_branch_network(trafotype=trafotype, v_os=v_os, num_lines=num_lines, + len_lines=len_lines, std_type=std_type, + p_load_mw=p_load_mw, q_load_mvar=q_load_mvar) + return pd_net + + +def create_kerber_landnetz_kabel_1(n_branch_1=6, n_branch_2=2, l_lines_1_in_km=0.082, + l_lines_2_in_km=0.175, std_type="NAYY 4x150", + std_type_branchout_line="NAYY 4x50", + trafotype="0.1 MVA 10/0.4 kV", p_load_mw=0.008, + q_load_mvar=0., length_branchout_line_1=0.018, + length_branchout_line_2=0.033, v_os=10.): + """ + .. note:: It is assumed that every second bus in a branch is a "KV". + """ + num_lines = [n_branch_1, n_branch_2] + len_lines = [l_lines_1_in_km, l_lines_2_in_km] + pd_net = _create_branched_loads_network(trafotype=trafotype, v_os=v_os, num_lines=num_lines, + len_lines=len_lines, std_type=std_type, + p_load_mw=p_load_mw, + q_load_mvar=q_load_mvar, + length_branchout_line_1=length_branchout_line_1, + length_branchout_line_2=length_branchout_line_2, + std_type_branchout_line_1=std_type_branchout_line) + return pd_net + + +def create_kerber_landnetz_kabel_2(n_branch_1=12, n_branch_2=2, l_lines_1_in_km=0.053, + l_lines_2_in_km=0.175, std_type="NAYY 4x150", + trafotype="0.16 MVA 10/0.4 kV", p_load_mw=0.008, + q_load_mvar=0., length_branchout_line_1=0.018, + length_branchout_line_2=0.033, + std_type_branchout_line="NAYY 4x50", v_os=10.): + """ + .. note:: It is assumed that every second bus in a branch is a "KV". + """ + num_lines = [n_branch_1, n_branch_2] + len_lines = [l_lines_1_in_km, l_lines_2_in_km] + pd_net = _create_branched_loads_network(trafotype=trafotype, v_os=v_os, num_lines=num_lines, + len_lines=len_lines, std_type=std_type, + p_load_mw=p_load_mw, + q_load_mvar=q_load_mvar, + length_branchout_line_1=length_branchout_line_1, + length_branchout_line_2=length_branchout_line_2, + std_type_branchout_line_1=std_type_branchout_line) + return pd_net + + +def create_kerber_dorfnetz(std_type="NAYY 4x150", trafotype="0.4 MVA 10/0.4 kV", + p_load_mw=0.006, + q_load_mvar=0., length_branchout_line_1=0.015, + length_branchout_line_2=0.031, + std_type_branchout_line="NAYY 4x50", v_os=10.): + """ + .. note:: It is assumed that every second bus in a branch is a "KV". + """ + num_lines = [9, 9, 16, 12, 7, 4] + len_lines = [0.04, 0.04, 0.029, 0.032, 0.043, 0.064] + pd_net = _create_branched_loads_network(trafotype=trafotype, v_os=v_os, num_lines=num_lines, + len_lines=len_lines, std_type=std_type, + p_load_mw=p_load_mw, + q_load_mvar=q_load_mvar, + length_branchout_line_1=length_branchout_line_1, + length_branchout_line_2=length_branchout_line_2, + std_type_branchout_line_1=std_type_branchout_line) + return pd_net + + +def create_kerber_vorstadtnetz_kabel_1(std_type="NAYY 4x150", p_load_mw=0.002, q_load_mvar=0., + trafotype="0.63 MVA 10/0.4 kV", v_os=10.): + """ + .. note:: Please pay attention, that the linetypes of the branch out house connections are \ + randomly distributed according to the probability 50% between "NAYY 4x50" and "NYY 4x35" + """ + num_lines = [14, 14, 14, 19, 19, 10, 10, 10, 32, 4] + len_lines = [0.021, 0.021, 0.021, 0.017, 0.017, 0.025, 0.025, 0.025, 0.011, 0.060] + pd_net = _create_branched_loads_network(trafotype=trafotype, v_os=v_os, num_lines=num_lines, + len_lines=len_lines, std_type=std_type, + p_load_mw=p_load_mw, + q_load_mvar=q_load_mvar, + length_branchout_line_1=0.011, + std_type_branchout_line_1="NAYY 4x50", + std_type_branchout_line_2="NYY 4x35", + prob_branchout_line_1=0.5) + return pd_net + + +def create_kerber_vorstadtnetz_kabel_2(std_type="NAYY 4x185", p_load_mw=.002, q_load_mvar=0., + trafotype="0.63 MVA 10/0.4 kV", v_os=10.): + """ + .. note:: Please pay attention, that the linetypes of the branch out house \ + connections are randomlydistributed according to the probability 50% between \ + "NAYY 50" and "NYY 35" + """ + + num_lines = [15, 15, 15, 20, 20, 11, 11, 32, 5] + len_lines = [0.023, 0.023, 0.023, 0.020, 0.020, 0.026, 0.026, 0.014, 0.050] + pd_net = _create_branched_loads_network(trafotype=trafotype, v_os=v_os, num_lines=num_lines, + len_lines=len_lines, std_type=std_type, + p_load_mw=p_load_mw, + q_load_mvar=q_load_mvar, + length_branchout_line_1=0.011, + std_type_branchout_line_1="NAYY 4x50", + std_type_branchout_line_2="NYY 4x35", + prob_branchout_line_1=0.5) + return pd_net + + diff --git a/pandapower/networks/mv_oberrhein.py b/pandapower/networks/mv_oberrhein.py index 2ed2b6962..ab7250591 100644 --- a/pandapower/networks/mv_oberrhein.py +++ b/pandapower/networks/mv_oberrhein.py @@ -1,97 +1,97 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import os - -import numpy as np - -import pandapower as pp -import pandapower.topology as top -from pandapower import pp_dir - - -def mv_oberrhein(scenario="load", cosphi_load=0.98, cosphi_pv=1.0, include_substations=False, - separation_by_sub=False): - """ - Loads the Oberrhein network, a generic 20 kV network serviced by two 25 MVA HV/MV transformer - stations. The network supplies 141 MV/LV substations and 6 MV loads through four MV feeders. - The network layout is meshed, but the network is operated as a radial network with 6 open - sectioning points. - - The network can be loaded with two different worst case scenarios for load and generation, - which are defined by scaling factors for loads / generators as well as tap positions of the - HV/MV transformers. These worst case scenarios are a good starting point for working with this - network, but you are of course free to parametrize the network for your use case. - - The network also includes geographical information of lines and buses for plotting. - - OPTIONAL: - **scenario** - (str, "load"): defines the scaling for load and generation - - - "load": high load scenario, load = 0.6 / sgen = 0, trafo taps [-2, -3] - - "generation": high feed-in scenario: load = 0.1, generation = 0.8, trafo taps [0, 0] - - **cosphi_load** - (str, 0.98): cosine(phi) of the loads - - **cosphi_sgen** - (str, 1.0): cosine(phi) of the static generators - - **include_substations** - (bool, False): if True, the transformers of the MV/LV level are - modelled, otherwise the loads representing the LV networks are connected directly to the - MV node - - **separation_by_sub** - (bool, False): if True, the network gets separated into two - sections, referring to both substations - - OUTPUT: - **net** - pandapower network - - **net0, net1** - both sections of the pandapower network - - EXAMPLE: - - ``import pandapower.networks`` - - ``net = pandapower.networks.mv_oberrhein("generation")`` - - or with separation - - ``net0, net1 = pandapower.networks.mv_oberrhein(separation_by_sub=True)`` - """ - if include_substations: - net = pp.from_json(os.path.join(pp_dir, "networks", "mv_oberrhein_substations.json")) - else: - net = pp.from_json(os.path.join(pp_dir, "networks", "mv_oberrhein.json")) - net.load.q_mvar = np.tan(np.arccos(cosphi_load)) * net.load.p_mw - net.sgen.q_mvar = np.tan(np.arccos(cosphi_pv)) * net.sgen.p_mw - - hv_trafos = net.trafo[net.trafo.sn_mva > 1].index - if scenario == "load": - net.load.scaling = 0.6 - net.sgen.scaling = 0.0 - net.trafo.tap_pos.loc[hv_trafos] = [-2, -3] - elif scenario == "generation": - net.load.scaling = 0.1 - net.sgen.scaling = 0.8 - net.trafo.tap_pos.loc[hv_trafos] = [0, 0] - else: - raise ValueError("Unknown scenario %s - chose 'load' or 'generation'" % scenario) - - if separation_by_sub: - # creating multigraph - mg = top.create_nxgraph(net) - # clustering connected buses - zones = [list(area) for area in top.connected_components(mg)] - net1 = pp.select_subnet(net, buses=zones[0], include_switch_buses=False, - include_results=True, keep_everything_else=True) - net0 = pp.select_subnet(net, buses=zones[1], include_switch_buses=False, - include_results=True, keep_everything_else=True) - - pp.runpp(net0) - pp.runpp(net1) - return net0, net1 - - pp.runpp(net) - return net +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import os + +import numpy as np + +import pandapower as pp +import pandapower.topology as top +from pandapower import pp_dir + + +def mv_oberrhein(scenario="load", cosphi_load=0.98, cosphi_pv=1.0, include_substations=False, + separation_by_sub=False): + """ + Loads the Oberrhein network, a generic 20 kV network serviced by two 25 MVA HV/MV transformer + stations. The network supplies 141 MV/LV substations and 6 MV loads through four MV feeders. + The network layout is meshed, but the network is operated as a radial network with 6 open + sectioning points. + + The network can be loaded with two different worst case scenarios for load and generation, + which are defined by scaling factors for loads / generators as well as tap positions of the + HV/MV transformers. These worst case scenarios are a good starting point for working with this + network, but you are of course free to parametrize the network for your use case. + + The network also includes geographical information of lines and buses for plotting. + + OPTIONAL: + **scenario** - (str, "load"): defines the scaling for load and generation + + - "load": high load scenario, load = 0.6 / sgen = 0, trafo taps [-2, -3] + - "generation": high feed-in scenario: load = 0.1, generation = 0.8, trafo taps [0, 0] + + **cosphi_load** - (str, 0.98): cosine(phi) of the loads + + **cosphi_sgen** - (str, 1.0): cosine(phi) of the static generators + + **include_substations** - (bool, False): if True, the transformers of the MV/LV level are + modelled, otherwise the loads representing the LV networks are connected directly to the + MV node + + **separation_by_sub** - (bool, False): if True, the network gets separated into two + sections, referring to both substations + + OUTPUT: + **net** - pandapower network + + **net0, net1** - both sections of the pandapower network + + EXAMPLE: + + ``import pandapower.networks`` + + ``net = pandapower.networks.mv_oberrhein("generation")`` + + or with separation + + ``net0, net1 = pandapower.networks.mv_oberrhein(separation_by_sub=True)`` + """ + if include_substations: + net = pp.from_json(os.path.join(pp_dir, "networks", "mv_oberrhein_substations.json")) + else: + net = pp.from_json(os.path.join(pp_dir, "networks", "mv_oberrhein.json")) + net.load.q_mvar = np.tan(np.arccos(cosphi_load)) * net.load.p_mw + net.sgen.q_mvar = np.tan(np.arccos(cosphi_pv)) * net.sgen.p_mw + + hv_trafos = net.trafo[net.trafo.sn_mva > 1].index + if scenario == "load": + net.load.scaling = 0.6 + net.sgen.scaling = 0.0 + net.trafo.tap_pos.loc[hv_trafos] = [-2, -3] + elif scenario == "generation": + net.load.scaling = 0.1 + net.sgen.scaling = 0.8 + net.trafo.tap_pos.loc[hv_trafos] = [0, 0] + else: + raise ValueError("Unknown scenario %s - chose 'load' or 'generation'" % scenario) + + if separation_by_sub: + # creating multigraph + mg = top.create_nxgraph(net) + # clustering connected buses + zones = [list(area) for area in top.connected_components(mg)] + net1 = pp.select_subnet(net, buses=zones[0], include_switch_buses=False, + include_results=True, keep_everything_else=True) + net0 = pp.select_subnet(net, buses=zones[1], include_switch_buses=False, + include_results=True, keep_everything_else=True) + + pp.runpp(net0) + pp.runpp(net1) + return net0, net1 + + pp.runpp(net) + return net diff --git a/pandapower/networks/power_system_test_cases.py b/pandapower/networks/power_system_test_cases.py index 9f622a5ec..bc3264921 100644 --- a/pandapower/networks/power_system_test_cases.py +++ b/pandapower/networks/power_system_test_cases.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/networks/simple_pandapower_test_networks.py b/pandapower/networks/simple_pandapower_test_networks.py index 2b00bb5dd..45d9a173b 100644 --- a/pandapower/networks/simple_pandapower_test_networks.py +++ b/pandapower/networks/simple_pandapower_test_networks.py @@ -1,194 +1,194 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import pandapower as pp - - -def panda_four_load_branch(): - """ - This function creates a simple six bus system with four radial low voltage nodes connected to \ - a medium voltage slack bus. At every low voltage node the same load is connected. - - OUTPUT: - **net** - Returns the required four load system - - EXAMPLE: - import pandapower.networks as pn - - net_four_load = pn.panda_four_load_branch() - """ - net = pp.create_empty_network() - - busnr1 = pp.create_bus(net, name="bus1", vn_kv=10., geodata=[0, 0]) - busnr2 = pp.create_bus(net, name="bus2", vn_kv=.4, geodata=[0, -1]) - busnr3 = pp.create_bus(net, name="bus3", vn_kv=.4, geodata=[0, -2]) - busnr4 = pp.create_bus(net, name="bus4", vn_kv=.4, geodata=[0, -3]) - busnr5 = pp.create_bus(net, name="bus5", vn_kv=.4, geodata=[0, -4]) - busnr6 = pp.create_bus(net, name="bus6", vn_kv=.4, geodata=[0, -5]) - - pp.create_ext_grid(net, busnr1) - - pp.create_transformer(net, busnr1, busnr2, std_type="0.25 MVA 10/0.4 kV") - - pp.create_line(net, busnr2, busnr3, name="line1", length_km=0.05, - std_type="NAYY 4x120 SE") - pp.create_line(net, busnr3, busnr4, name="line2", length_km=0.05, - std_type="NAYY 4x120 SE") - pp.create_line(net, busnr4, busnr5, name="line3", length_km=0.05, - std_type="NAYY 4x120 SE") - pp.create_line(net, busnr5, busnr6, name="line4", length_km=0.05, - std_type="NAYY 4x120 SE") - - pp.create_load(net, busnr3, 0.030, 0.010) - pp.create_load(net, busnr4, 0.030, 0.010) - pp.create_load(net, busnr5, 0.030, 0.010) - pp.create_load(net, busnr6, 0.030, 0.010) - return net - - -def four_loads_with_branches_out(): - """ - This function creates a simple ten bus system with four radial low voltage nodes connected to \ - a medium voltage slack bus. At every of the four radial low voltage nodes another low voltage \ - node with a load is connected via cable. - - OUTPUT: - **net** - Returns the required four load system with branches - - EXAMPLE: - import pandapower.networks as pn - - net_four_load_with_branches = pn.four_loads_with_branches_out() - """ - net = pp.create_empty_network() - - busnr1 = pp.create_bus(net, name="bus1ref", vn_kv=10., geodata=[0, 0]) - pp.create_ext_grid(net, busnr1) - busnr2 = pp.create_bus(net, name="bus2", vn_kv=.4, geodata=[0, -1]) - pp.create_transformer(net, busnr1, busnr2, std_type="0.25 MVA 10/0.4 kV") - busnr3 = pp.create_bus(net, name="bus3", vn_kv=.4, geodata=[0, -2]) - pp.create_line(net, busnr2, busnr3, name="line1", length_km=0.05, - std_type="NAYY 4x120 SE") - busnr4 = pp.create_bus(net, name="bus4", vn_kv=.4, geodata=[0, -3]) - pp.create_line(net, busnr3, busnr4, name="line2", length_km=0.05, - std_type="NAYY 4x120 SE") - busnr5 = pp.create_bus(net, name="bus5", vn_kv=.4, geodata=[0, -4]) - pp.create_line(net, busnr4, busnr5, name="line3", length_km=0.05, - std_type="NAYY 4x120 SE") - busnr6 = pp.create_bus(net, name="bus6", vn_kv=.4, geodata=[0, -5]) - pp.create_line(net, busnr5, busnr6, name="line4", length_km=0.05, - std_type="NAYY 4x120 SE") - busnr7 = pp.create_bus(net, name="bus7", vn_kv=.4, geodata=[1, -3]) - pp.create_line(net, busnr3, busnr7, name="line5", length_km=0.05, - std_type="NAYY 4x120 SE") - busnr8 = pp.create_bus(net, name="bus8", vn_kv=.4, geodata=[1, -4]) - pp.create_line(net, busnr4, busnr8, name="line6", length_km=0.05, - std_type="NAYY 4x120 SE") - busnr9 = pp.create_bus(net, name="bus9", vn_kv=.4, geodata=[1, -5]) - pp.create_line(net, busnr5, busnr9, name="line7", length_km=0.05, - std_type="NAYY 4x120 SE") - busnr10 = pp.create_bus(net, name="bus10", vn_kv=.4, geodata=[1, -6]) - pp.create_line(net, busnr6, busnr10, name="line8", length_km=0.05, - std_type="NAYY 4x120 SE") - - pp.create_load(net, busnr7, p_mw=0.030, q_mvar=0.010) - pp.create_load(net, busnr8, p_mw=0.030, q_mvar=0.010) - pp.create_load(net, busnr9, p_mw=0.030, q_mvar=0.010) - pp.create_load(net, busnr10, p_mw=0.030, q_mvar=0.010) - return net - - -def simple_four_bus_system(): - """ - This function creates a simple four bus system with two radial low voltage nodes connected to \ - a medium voltage slack bus. At both low voltage nodes the a load and a static generator is \ - connected. - - OUTPUT: - **net** - Returns the required four bus system - - EXAMPLE: - import pandapower.networks as pn - - net_simple_four_bus = pn.simple_four_bus_system() - """ - net = pp.create_empty_network() - busnr1 = pp.create_bus(net, name="bus1ref", vn_kv=10, geodata=[0, 0]) - pp.create_ext_grid(net, busnr1) - busnr2 = pp.create_bus(net, name="bus2", vn_kv=.4, geodata=[0, -1]) - pp.create_transformer(net, busnr1, busnr2, name="transformer", std_type="0.25 MVA 10/0.4 kV") - busnr3 = pp.create_bus(net, name="bus3", vn_kv=.4, geodata=[0, -2]) - pp.create_line(net, busnr2, busnr3, name="line1", length_km=0.50000, std_type="NAYY 4x50 SE") - busnr4 = pp.create_bus(net, name="bus4", vn_kv=.4, geodata=[0, -3]) - pp.create_line(net, busnr3, busnr4, name="line2", length_km=0.50000, std_type="NAYY 4x50 SE") - pp.create_load(net, busnr3, 0.030, 0.010, name="load1") - pp.create_load(net, busnr4, 0.030, 0.010, name="load2") - pp.create_sgen(net, busnr3, p_mw=0.020, q_mvar=0.005, name="pv1", sn_mva=0.03) - pp.create_sgen(net, busnr4, p_mw=0.015, q_mvar=0.002, name="pv2", sn_mva=0.02) - return net - - -def simple_mv_open_ring_net(): - """ - This function creates a simple medium voltage open ring network with loads at every medium \ - voltage node. - As an example this function is used in the topology and diagnostic docu. - - OUTPUT: - **net** - Returns the required simple medium voltage open ring network - - EXAMPLE: - import pandapower.networks as pn - - net_simple_open_ring = pn.simple_mv_open_ring_net() - """ - - net = pp.create_empty_network() - - pp.create_bus(net, name="110 kV bar", vn_kv=110, type='b', geodata=[0, 0]) - pp.create_bus(net, name="20 kV bar", vn_kv=20, type='b', geodata=[0, -1]) - pp.create_bus(net, name="bus 2", vn_kv=20, type='b', geodata=[-0.5, -2]) - pp.create_bus(net, name="bus 3", vn_kv=20, type='b', geodata=[-0.5, -3]) - pp.create_bus(net, name="bus 4", vn_kv=20, type='b', geodata=[-0.5, -4]) - pp.create_bus(net, name="bus 5", vn_kv=20, type='b', geodata=[0.5, -4]) - pp.create_bus(net, name="bus 6", vn_kv=20, type='b', geodata=[0.5, -3]) - - pp.create_ext_grid(net, 0, vm_pu=1) - - pp.create_line(net, name="line 0", from_bus=1, to_bus=2, length_km=1, - std_type="NA2XS2Y 1x185 RM/25 12/20 kV") - pp.create_line(net, name="line 1", from_bus=2, to_bus=3, length_km=1, - std_type="NA2XS2Y 1x185 RM/25 12/20 kV") - pp.create_line(net, name="line 2", from_bus=3, to_bus=4, length_km=1, - std_type="NA2XS2Y 1x185 RM/25 12/20 kV") - pp.create_line(net, name="line 3", from_bus=4, to_bus=5, length_km=1, - std_type="NA2XS2Y 1x185 RM/25 12/20 kV") - pp.create_line(net, name="line 4", from_bus=5, to_bus=6, length_km=1, - std_type="NA2XS2Y 1x185 RM/25 12/20 kV") - pp.create_line(net, name="line 5", from_bus=6, to_bus=1, length_km=1, - std_type="NA2XS2Y 1x185 RM/25 12/20 kV") - - pp.create_transformer(net, hv_bus=0, lv_bus=1, std_type="25 MVA 110/20 kV") - - pp.create_load(net, 2, p_mw=1, q_mvar=0.200, name="load 0") - pp.create_load(net, 3, p_mw=1, q_mvar=0.200, name="load 1") - pp.create_load(net, 4, p_mw=1, q_mvar=0.200, name="load 2") - pp.create_load(net, 5, p_mw=1, q_mvar=0.200, name="load 3") - pp.create_load(net, 6, p_mw=1, q_mvar=0.200, name="load 4") - - pp.create_switch(net, bus=1, element=0, et='l') - pp.create_switch(net, bus=2, element=0, et='l') - pp.create_switch(net, bus=2, element=1, et='l') - pp.create_switch(net, bus=3, element=1, et='l') - pp.create_switch(net, bus=3, element=2, et='l') - pp.create_switch(net, bus=4, element=2, et='l') - pp.create_switch(net, bus=4, element=3, et='l', closed=0) - pp.create_switch(net, bus=5, element=3, et='l') - pp.create_switch(net, bus=5, element=4, et='l') - pp.create_switch(net, bus=6, element=4, et='l') - pp.create_switch(net, bus=6, element=5, et='l') - pp.create_switch(net, bus=1, element=5, et='l') - return net +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import pandapower as pp + + +def panda_four_load_branch(): + """ + This function creates a simple six bus system with four radial low voltage nodes connected to \ + a medium voltage slack bus. At every low voltage node the same load is connected. + + OUTPUT: + **net** - Returns the required four load system + + EXAMPLE: + import pandapower.networks as pn + + net_four_load = pn.panda_four_load_branch() + """ + net = pp.create_empty_network() + + busnr1 = pp.create_bus(net, name="bus1", vn_kv=10., geodata=[0, 0]) + busnr2 = pp.create_bus(net, name="bus2", vn_kv=.4, geodata=[0, -1]) + busnr3 = pp.create_bus(net, name="bus3", vn_kv=.4, geodata=[0, -2]) + busnr4 = pp.create_bus(net, name="bus4", vn_kv=.4, geodata=[0, -3]) + busnr5 = pp.create_bus(net, name="bus5", vn_kv=.4, geodata=[0, -4]) + busnr6 = pp.create_bus(net, name="bus6", vn_kv=.4, geodata=[0, -5]) + + pp.create_ext_grid(net, busnr1) + + pp.create_transformer(net, busnr1, busnr2, std_type="0.25 MVA 10/0.4 kV") + + pp.create_line(net, busnr2, busnr3, name="line1", length_km=0.05, + std_type="NAYY 4x120 SE") + pp.create_line(net, busnr3, busnr4, name="line2", length_km=0.05, + std_type="NAYY 4x120 SE") + pp.create_line(net, busnr4, busnr5, name="line3", length_km=0.05, + std_type="NAYY 4x120 SE") + pp.create_line(net, busnr5, busnr6, name="line4", length_km=0.05, + std_type="NAYY 4x120 SE") + + pp.create_load(net, busnr3, 0.030, 0.010) + pp.create_load(net, busnr4, 0.030, 0.010) + pp.create_load(net, busnr5, 0.030, 0.010) + pp.create_load(net, busnr6, 0.030, 0.010) + return net + + +def four_loads_with_branches_out(): + """ + This function creates a simple ten bus system with four radial low voltage nodes connected to \ + a medium voltage slack bus. At every of the four radial low voltage nodes another low voltage \ + node with a load is connected via cable. + + OUTPUT: + **net** - Returns the required four load system with branches + + EXAMPLE: + import pandapower.networks as pn + + net_four_load_with_branches = pn.four_loads_with_branches_out() + """ + net = pp.create_empty_network() + + busnr1 = pp.create_bus(net, name="bus1ref", vn_kv=10., geodata=[0, 0]) + pp.create_ext_grid(net, busnr1) + busnr2 = pp.create_bus(net, name="bus2", vn_kv=.4, geodata=[0, -1]) + pp.create_transformer(net, busnr1, busnr2, std_type="0.25 MVA 10/0.4 kV") + busnr3 = pp.create_bus(net, name="bus3", vn_kv=.4, geodata=[0, -2]) + pp.create_line(net, busnr2, busnr3, name="line1", length_km=0.05, + std_type="NAYY 4x120 SE") + busnr4 = pp.create_bus(net, name="bus4", vn_kv=.4, geodata=[0, -3]) + pp.create_line(net, busnr3, busnr4, name="line2", length_km=0.05, + std_type="NAYY 4x120 SE") + busnr5 = pp.create_bus(net, name="bus5", vn_kv=.4, geodata=[0, -4]) + pp.create_line(net, busnr4, busnr5, name="line3", length_km=0.05, + std_type="NAYY 4x120 SE") + busnr6 = pp.create_bus(net, name="bus6", vn_kv=.4, geodata=[0, -5]) + pp.create_line(net, busnr5, busnr6, name="line4", length_km=0.05, + std_type="NAYY 4x120 SE") + busnr7 = pp.create_bus(net, name="bus7", vn_kv=.4, geodata=[1, -3]) + pp.create_line(net, busnr3, busnr7, name="line5", length_km=0.05, + std_type="NAYY 4x120 SE") + busnr8 = pp.create_bus(net, name="bus8", vn_kv=.4, geodata=[1, -4]) + pp.create_line(net, busnr4, busnr8, name="line6", length_km=0.05, + std_type="NAYY 4x120 SE") + busnr9 = pp.create_bus(net, name="bus9", vn_kv=.4, geodata=[1, -5]) + pp.create_line(net, busnr5, busnr9, name="line7", length_km=0.05, + std_type="NAYY 4x120 SE") + busnr10 = pp.create_bus(net, name="bus10", vn_kv=.4, geodata=[1, -6]) + pp.create_line(net, busnr6, busnr10, name="line8", length_km=0.05, + std_type="NAYY 4x120 SE") + + pp.create_load(net, busnr7, p_mw=0.030, q_mvar=0.010) + pp.create_load(net, busnr8, p_mw=0.030, q_mvar=0.010) + pp.create_load(net, busnr9, p_mw=0.030, q_mvar=0.010) + pp.create_load(net, busnr10, p_mw=0.030, q_mvar=0.010) + return net + + +def simple_four_bus_system(): + """ + This function creates a simple four bus system with two radial low voltage nodes connected to \ + a medium voltage slack bus. At both low voltage nodes the a load and a static generator is \ + connected. + + OUTPUT: + **net** - Returns the required four bus system + + EXAMPLE: + import pandapower.networks as pn + + net_simple_four_bus = pn.simple_four_bus_system() + """ + net = pp.create_empty_network() + busnr1 = pp.create_bus(net, name="bus1ref", vn_kv=10, geodata=[0, 0]) + pp.create_ext_grid(net, busnr1) + busnr2 = pp.create_bus(net, name="bus2", vn_kv=.4, geodata=[0, -1]) + pp.create_transformer(net, busnr1, busnr2, name="transformer", std_type="0.25 MVA 10/0.4 kV") + busnr3 = pp.create_bus(net, name="bus3", vn_kv=.4, geodata=[0, -2]) + pp.create_line(net, busnr2, busnr3, name="line1", length_km=0.50000, std_type="NAYY 4x50 SE") + busnr4 = pp.create_bus(net, name="bus4", vn_kv=.4, geodata=[0, -3]) + pp.create_line(net, busnr3, busnr4, name="line2", length_km=0.50000, std_type="NAYY 4x50 SE") + pp.create_load(net, busnr3, 0.030, 0.010, name="load1") + pp.create_load(net, busnr4, 0.030, 0.010, name="load2") + pp.create_sgen(net, busnr3, p_mw=0.020, q_mvar=0.005, name="pv1", sn_mva=0.03) + pp.create_sgen(net, busnr4, p_mw=0.015, q_mvar=0.002, name="pv2", sn_mva=0.02) + return net + + +def simple_mv_open_ring_net(): + """ + This function creates a simple medium voltage open ring network with loads at every medium \ + voltage node. + As an example this function is used in the topology and diagnostic docu. + + OUTPUT: + **net** - Returns the required simple medium voltage open ring network + + EXAMPLE: + import pandapower.networks as pn + + net_simple_open_ring = pn.simple_mv_open_ring_net() + """ + + net = pp.create_empty_network() + + pp.create_bus(net, name="110 kV bar", vn_kv=110, type='b', geodata=[0, 0]) + pp.create_bus(net, name="20 kV bar", vn_kv=20, type='b', geodata=[0, -1]) + pp.create_bus(net, name="bus 2", vn_kv=20, type='b', geodata=[-0.5, -2]) + pp.create_bus(net, name="bus 3", vn_kv=20, type='b', geodata=[-0.5, -3]) + pp.create_bus(net, name="bus 4", vn_kv=20, type='b', geodata=[-0.5, -4]) + pp.create_bus(net, name="bus 5", vn_kv=20, type='b', geodata=[0.5, -4]) + pp.create_bus(net, name="bus 6", vn_kv=20, type='b', geodata=[0.5, -3]) + + pp.create_ext_grid(net, 0, vm_pu=1) + + pp.create_line(net, name="line 0", from_bus=1, to_bus=2, length_km=1, + std_type="NA2XS2Y 1x185 RM/25 12/20 kV") + pp.create_line(net, name="line 1", from_bus=2, to_bus=3, length_km=1, + std_type="NA2XS2Y 1x185 RM/25 12/20 kV") + pp.create_line(net, name="line 2", from_bus=3, to_bus=4, length_km=1, + std_type="NA2XS2Y 1x185 RM/25 12/20 kV") + pp.create_line(net, name="line 3", from_bus=4, to_bus=5, length_km=1, + std_type="NA2XS2Y 1x185 RM/25 12/20 kV") + pp.create_line(net, name="line 4", from_bus=5, to_bus=6, length_km=1, + std_type="NA2XS2Y 1x185 RM/25 12/20 kV") + pp.create_line(net, name="line 5", from_bus=6, to_bus=1, length_km=1, + std_type="NA2XS2Y 1x185 RM/25 12/20 kV") + + pp.create_transformer(net, hv_bus=0, lv_bus=1, std_type="25 MVA 110/20 kV") + + pp.create_load(net, 2, p_mw=1, q_mvar=0.200, name="load 0") + pp.create_load(net, 3, p_mw=1, q_mvar=0.200, name="load 1") + pp.create_load(net, 4, p_mw=1, q_mvar=0.200, name="load 2") + pp.create_load(net, 5, p_mw=1, q_mvar=0.200, name="load 3") + pp.create_load(net, 6, p_mw=1, q_mvar=0.200, name="load 4") + + pp.create_switch(net, bus=1, element=0, et='l') + pp.create_switch(net, bus=2, element=0, et='l') + pp.create_switch(net, bus=2, element=1, et='l') + pp.create_switch(net, bus=3, element=1, et='l') + pp.create_switch(net, bus=3, element=2, et='l') + pp.create_switch(net, bus=4, element=2, et='l') + pp.create_switch(net, bus=4, element=3, et='l', closed=0) + pp.create_switch(net, bus=5, element=3, et='l') + pp.create_switch(net, bus=5, element=4, et='l') + pp.create_switch(net, bus=6, element=4, et='l') + pp.create_switch(net, bus=6, element=5, et='l') + pp.create_switch(net, bus=1, element=5, et='l') + return net diff --git a/pandapower/networks/synthetic_voltage_control_lv_networks.py b/pandapower/networks/synthetic_voltage_control_lv_networks.py index 8ce393b79..a81afffd0 100644 --- a/pandapower/networks/synthetic_voltage_control_lv_networks.py +++ b/pandapower/networks/synthetic_voltage_control_lv_networks.py @@ -1,199 +1,199 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import pandapower as pp -import pandas as pd -from numpy import nan, append - - -def create_synthetic_voltage_control_lv_network(network_class="rural_1"): - """ - This function creates a LV network from M. Lindner, C. Aigner, R. Witzmann, F. Wirtz, \ - I. Berber, M. Gödde and R. Frings. "Aktuelle Musternetze zur Untersuchung von \ - Spannungsproblemen in der Niederspannung". 14. Symposium Energieinnovation TU Graz. 2014 - which are representative, synthetic grids for voltage control analysis. - - Neccessary assumptions, in addition to the paper above: - - According to Lindner, the household loads are 5.1 kw and the special loads are 7.9 kW. \ - The user is suggested to assume load distribution and load profile generation. The line - parameters according to the given types are received from pandapower standard types and - literatur (as stated in the code). Transformer parameters, except the given 'vk_percent', - 'sn_mva' and voltage levels, are based the pandapower standard type data. - - OPTIONAL: - - **network_class** (str, 'rural_1') - specify which type of network will be created. Must \ - be in ['rural_1', 'rural_2', 'village_1', 'village_2', 'suburb_1']. - - OUTPUT: - - **net** - returns the required synthetic voltage control lv network - - EXAMPLE: - - import pandapower.networks as pn - - net = pn.create_synthetic_voltage_control_lv_network() - """ - # process network choosing input data - if network_class not in ['rural_1', 'rural_2', 'village_1', 'village_2', 'suburb_1']: - raise ValueError("network_class is not in ['rural_1', 'rural_2', 'village_1', 'village_2'," - " 'suburb_1']") - n_feeder = {'rural_1': [1, 4, 7], 'rural_2': [1, 3, 3, 1], 'village_1': [9, 16, 5, 9], - 'village_2': [9, 12, 5, 10], 'suburb_1': [9, 17, 5, 13, 8, 1, 9, 17, 5, 13, 4]} - l_lines = {'rural_1': [0.26, 0.133, 0.068], 'rural_2': [3e-3, 0.076, 0.076, 0.076], - 'village_1': [0.053, 0.034, 0.08, 0.04], 'village_2': [0.021, 0.033, 0.023, 0.052], - 'suburb_1': [0.041, 0.017, 0.056, 0.018, 0.035, 0.103, 0.046, 0.019, 0.065, 0.026, - 0.031]} - line_types = {'rural_1': ['NAYY 4x150 SE']*2 + [('NAYY 4x150 SE', 'NAYY 4x120 SE')], - 'rural_2': ['NAYY 4x35'] + ['NF 4x70']*3, - 'village_1': ['NAYY 4x150 SE']*4, - 'village_2': [('NAYY 4x70', 'NF 4x50'), ('NAYY 4x120 SE', 'NF 4x95'), - ('NAYY 4x95', 'NF 4x70'), ('NAYY 4x150 SE', 'NF 4x120')], - 'suburb_1': [('NAYY 4x150 SE', 'NAYY 4x120 SE')]*3 + - [('NAYY 4x120 SE', 'NAYY 4x95'), 'NAYY 4x150 SE', 'NAYY 4x95'] + - ['NAYY 4x150 SE']*5} - line_type_change_at = {'rural_1': [nan]*2 + [5], 'rural_2': [nan]*4, 'village_1': [nan]*4, - 'village_2': [8, 3, 4, 5], 'suburb_1': [5, 10, 3, 6] + [nan]*7} - trafo_type = {'rural_1': '0.16 MVA 20/0.4 kV vc', 'rural_2': '0.25 MVA 20/0.4 kV vc', - 'village_1': '0.25 MVA 20/0.4 kV vc', 'village_2': '0.4 MVA 20/0.4 kV vc', - 'suburb_1': '0.4 MVA 20/0.4 kV vc'} - house_connection_length = {'rural_1': 29e-3, 'rural_2': 4e-3, 'village_1': 21e-3, - 'village_2': 17e-3, 'suburb_1': 18e-3} - house_connection_type = {'rural_1': 'NAYY 4x50 SE', 'rural_2': 'NAYY 4x35', - 'village_1': 'NAYY 4x50 SE', 'village_2': 'NAYY 4x35', - 'suburb_1': 'NAYY 4x35'} - - # create network - net = pp.create_empty_network(name='synthetic_voltage_control_lv_network: ' + network_class) - - # create std_types - # cable data (r, x, i_max) from www.faberkabel.de - if network_class in ["rural_2", "village_2", "suburb_1"]: - pp.create_std_type(net, { - "c_nf_per_km": 202, "r_ohm_per_km": 0.869, "x_ohm_per_km": 0.085, - "max_i_ka": 0.123, "type": "cs", "q_mm2": 35}, name="NAYY 4x35", element="line") - if network_class != "suburb_1": - pp.create_std_type(net, { - "c_nf_per_km": 17.8, "r_ohm_per_km": 0.439, "x_ohm_per_km": 0.295, - "max_i_ka": 0.28, "type": "ol", "q_mm2": 70}, name="NF 4x70", element="line") - if network_class == "village_2": - pp.create_std_type(net, { - "c_nf_per_km": 230, "r_ohm_per_km": 0.443, "x_ohm_per_km": 0.0823, - "max_i_ka": 0.179, "type": "cs", "q_mm2": 70}, name="NAYY 4x70", - element="line") - data = net.std_types['line']['48-AL1/8-ST1A 0.4'] - data['q_mm2'] = 50 - pp.create_std_type(net, data, name="NF 4x50", element="line") - data = net.std_types['line']['94-AL1/15-ST1A 0.4'] - data['q_mm2'] = 95 - pp.create_std_type(net, data, name="NF 4x95", element="line") - pp.create_std_type(net, { - "c_nf_per_km": 16.2, "r_ohm_per_km": 0.274, "x_ohm_per_km": 0.31, - "max_i_ka": 0.4, "type": "ol", "q_mm2": 120}, name="NF 4x120", - element="line") - if network_class != "rural_2": - pp.create_std_type(net, { - "c_nf_per_km": 240, "r_ohm_per_km": 0.32, "x_ohm_per_km": 0.082, - "max_i_ka": 0.215, "type": "cs", "q_mm2": 95}, name="NAYY 4x95", element="line") - # trafos - if network_class == "rural_1": - data = net.std_types['trafo']['0.25 MVA 20/0.4 kV'] - data['sn_mva'] = 0.16 - data['pfe_kw'] = 0.62 - data['i0_percent'] = 0.31 - data['vkr_percent'] = data['vkr_percent'] * 4 / data['vk_percent'] - data['vk_percent'] = 4 - pp.create_std_type(net, data, name=trafo_type[network_class], element="trafo") - elif network_class in ["rural_2", "village_1"]: - data = net.std_types['trafo']['0.25 MVA 20/0.4 kV'] - data['vkr_percent'] = data['vkr_percent'] * 4 / data['vk_percent'] - data['vk_percent'] = 4 - pp.create_std_type(net, data, name=trafo_type[network_class], element="trafo") - elif network_class in ["suburb_1", "village_2"]: - data = net.std_types['trafo']['0.4 MVA 20/0.4 kV'] - data['vkr_percent'] = data['vkr_percent'] * 4 / data['vk_percent'] - data['vk_percent'] = 4 - pp.create_std_type(net, data, name=trafo_type[network_class], element="trafo") - - # create mv connection - mv_bus = pp.create_bus(net, 20, name='mv bus') - bb = pp.create_bus(net, 0.4, name='busbar') - pp.create_ext_grid(net, mv_bus) - pp.create_transformer(net, mv_bus, bb, std_type=trafo_type[network_class]) - - # create lv network - idx_feeder = range(len(n_feeder[network_class])) - lv_buses = {} - house_buses = {} - for i in idx_feeder: - # buses - lv_buses[i] = pp.create_buses(net, n_feeder[network_class][i], 0.4, zone='Feeder'+str(i+1), - type='m') - house_buses[i] = pp.create_buses(net, n_feeder[network_class][i], 0.4, - zone='Feeder'+str(i+1), type='n') - # lines - lines = pd.DataFrame() - lines['from_bus'] = append(bb, append(lv_buses[i][:-1], lv_buses[i])) - lines['to_bus'] = append(lv_buses[i], house_buses[i]) - if line_type_change_at[network_class][i] is nan: - lines['std_type'] = [line_types[network_class][i]]*n_feeder[network_class][i] + \ - [house_connection_type[network_class]]*n_feeder[network_class][i] - else: - lines['std_type'] = \ - [line_types[network_class][i][0]]*line_type_change_at[network_class][i] + \ - [line_types[network_class][i][1]]*(n_feeder[network_class][i] - - line_type_change_at[network_class][i]) + \ - [house_connection_type[network_class]]*n_feeder[network_class][i] - lines['length'] = [l_lines[network_class][i]]*n_feeder[network_class][i] + \ - [house_connection_length[network_class]]*n_feeder[network_class][i] - - for _, lines in lines.iterrows(): - pp.create_line(net, lines.from_bus, lines.to_bus, length_km=lines.length, - std_type=lines.std_type) - # load - for i in house_buses[i]: - pp.create_load(net, i, p_mw=5.1e-3) - - # direct loads and DEA - if network_class == "rural_1": - special_load = [(2, 4), (3, 2)] - DER = [(2, 1, 6.9), (2, 2, 15.3), (2, 4, 29.6), (3, 4, 15.8), (3, 5, 25.3)] - elif network_class == "rural_2": - special_load = [(1, 1), (2, 3), (3, 2)] - DER = [(1, 1, 29.6), (2, 3, 25.4), (3, 2, 25), (3, 3, 10)] - elif network_class == "village_1": - special_load = [(2, 9), (2, 12), (2, 14), (2, 16), (3, 5), (4, 3), (4, 6), (4, 8)] - DER = [(1, 6, 29.8), (1, 8, 22.8), (2, 3, 7.9), (2, 5, 4.2), (2, 11, 16.7), (2, 15, 7.3), - (3, 1, 31.9), (3, 3, 17.4), (3, 5, 15), (4, 1, 8.8), (4, 3, 19.6), (4, 5, 9.3), - (4, 6, 13)] - elif network_class == "village_2": - special_load = [] - DER = [(1, 6, 29.8), (1, 2, 16), (1, 3, 4.6), (1, 6, 19), (1, 8, 29), (2, 1, 16), - (2, 2, 5.2), (2, 3, 19), (2, 5, 12), (2, 10, 10), (2, 12, 8), (3, 1, 12.63), - (3, 2, 30), (4, 3, 10), (4, 4, 33), (4, 10, 8)] - elif network_class == "suburb_1": - special_load = [(6, 1), (1, 4), (2, 17), (3, 5), (4, 5), (6, 1), (7, 7), (8, 17)] - DER = [(1, 1, 9.36), (1, 2, 79.12), (7, 7, 30), (8, 7, 18.47), (8, 15, 9.54), - (10, 10, 14.4)] - for i in special_load: - pp.create_load(net, lv_buses[i[0]-1][i[1]-1], p_mw=7.9e-3) - for i in DER: - pp.create_sgen(net, house_buses[i[0]-1][i[1]-1], p_mw=i[2]*1e-3) - - # set bus geo data - bus_geo = { - "rural_1": '{"x":{"0":0.0,"1":0.0,"2":-1.6666666667,"3":-1.6666666667,"4":-0.1666666667,"5":-0.6666666667,"6":-1.1666666667,"7":-1.6666666667,"8":0.3333333333,"9":-0.1666666667,"10":-0.6666666667,"11":-1.6666666667,"12":1.8333333333,"13":1.3333333333,"14":0.8333333333,"15":0.3333333333,"16":-0.1666666667,"17":-0.6666666667,"18":-1.1666666667,"19":2.3333333333,"20":1.8333333333,"21":1.3333333333,"22":0.8333333333,"23":0.3333333333,"24":-0.1666666667,"25":-1.1666666667},"y":{"0":0.0,"1":1.0,"2":2.0,"3":3.0,"4":2.0,"5":3.0,"6":4.0,"7":5.0,"8":3.0,"9":4.0,"10":5.0,"11":6.0,"12":2.0,"13":3.0,"14":4.0,"15":5.0,"16":6.0,"17":7.0,"18":8.0,"19":3.0,"20":4.0,"21":5.0,"22":6.0,"23":7.0,"24":8.0,"25":9.0}}', - "rural_2": '{"x":{"0":0.0,"1":0.0,"2":-2.5,"3":-2.5,"4":-1.0,"5":-1.5,"6":-2.0,"7":-0.5,"8":-1.0,"9":-2.0,"10":1.0,"11":0.5,"12":0.0,"13":1.5,"14":1.0,"15":0.0,"16":2.5,"17":2.5},"y":{"0":0.0,"1":1.0,"2":2.0,"3":3.0,"4":2.0,"5":3.0,"6":4.0,"7":3.0,"8":4.0,"9":5.0,"10":2.0,"11":3.0,"12":4.0,"13":3.0,"14":4.0,"15":5.0,"16":2.0,"17":3.0}}', - "village_1": '{"x":{"0":0.0,"1":0.0,"2":-3.0,"3":-3.5,"4":-4.0,"5":-4.5,"6":-5.0,"7":-5.5,"8":-6.0,"9":-6.5,"10":-7.0,"11":-2.5,"12":-3.0,"13":-3.5,"14":-4.0,"15":-4.5,"16":-5.0,"17":-5.5,"18":-6.0,"19":-7.0,"20":-1.0,"21":-1.5,"22":-2.0,"23":-2.5,"24":-3.0,"25":-3.5,"26":-4.0,"27":-4.5,"28":-5.0,"29":-5.5,"30":-6.0,"31":-6.5,"32":-7.0,"33":-7.5,"34":-8.0,"35":-8.5,"36":-0.5,"37":-1.0,"38":-1.5,"39":-2.0,"40":-2.5,"41":-3.0,"42":-3.5,"43":-4.0,"44":-4.5,"45":-5.0,"46":-5.5,"47":-6.0,"48":-6.5,"49":-7.0,"50":-7.5,"51":-8.5,"52":1.0,"53":0.5,"54":0.0,"55":-0.5,"56":-1.0,"57":1.5,"58":1.0,"59":0.5,"60":0.0,"61":-1.0,"62":3.0,"63":2.5,"64":2.0,"65":1.5,"66":1.0,"67":0.5,"68":0.0,"69":-0.5,"70":-1.0,"71":3.5,"72":3.0,"73":2.5,"74":2.0,"75":1.5,"76":1.0,"77":0.5,"78":0.0,"79":-1.0},"y":{"0":0.0,"1":1.0,"2":2.0,"3":3.0,"4":4.0,"5":5.0,"6":6.0,"7":7.0,"8":8.0,"9":9.0,"10":10.0,"11":3.0,"12":4.0,"13":5.0,"14":6.0,"15":7.0,"16":8.0,"17":9.0,"18":10.0,"19":11.0,"20":2.0,"21":3.0,"22":4.0,"23":5.0,"24":6.0,"25":7.0,"26":8.0,"27":9.0,"28":10.0,"29":11.0,"30":12.0,"31":13.0,"32":14.0,"33":15.0,"34":16.0,"35":17.0,"36":3.0,"37":4.0,"38":5.0,"39":6.0,"40":7.0,"41":8.0,"42":9.0,"43":10.0,"44":11.0,"45":12.0,"46":13.0,"47":14.0,"48":15.0,"49":16.0,"50":17.0,"51":18.0,"52":2.0,"53":3.0,"54":4.0,"55":5.0,"56":6.0,"57":3.0,"58":4.0,"59":5.0,"60":6.0,"61":7.0,"62":2.0,"63":3.0,"64":4.0,"65":5.0,"66":6.0,"67":7.0,"68":8.0,"69":9.0,"70":10.0,"71":3.0,"72":4.0,"73":5.0,"74":6.0,"75":7.0,"76":8.0,"77":9.0,"78":10.0,"79":11.0}}', - "village_2": '{"x":{"0":0.0,"1":0.0,"2":-3.0,"3":-3.5,"4":-4.0,"5":-4.5,"6":-5.0,"7":-5.5,"8":-6.0,"9":-6.5,"10":-7.0,"11":-2.5,"12":-3.0,"13":-3.5,"14":-4.0,"15":-4.5,"16":-5.0,"17":-5.5,"18":-6.0,"19":-7.0,"20":-1.0,"21":-1.5,"22":-2.0,"23":-2.5,"24":-3.0,"25":-3.5,"26":-4.0,"27":-4.5,"28":-5.0,"29":-5.5,"30":-6.0,"31":-6.5,"32":-0.5,"33":-1.0,"34":-1.5,"35":-2.0,"36":-2.5,"37":-3.0,"38":-3.5,"39":-4.0,"40":-4.5,"41":-5.0,"42":-5.5,"43":-6.5,"44":1.0,"45":0.5,"46":0.0,"47":-0.5,"48":-1.0,"49":1.5,"50":1.0,"51":0.5,"52":0.0,"53":-1.0,"54":3.0,"55":2.5,"56":2.0,"57":1.5,"58":1.0,"59":0.5,"60":0.0,"61":-0.5,"62":-1.0,"63":-1.5,"64":3.5,"65":3.0,"66":2.5,"67":2.0,"68":1.5,"69":1.0,"70":0.5,"71":0.0,"72":-0.5,"73":-1.5},"y":{"0":0.0,"1":1.0,"2":2.0,"3":3.0,"4":4.0,"5":5.0,"6":6.0,"7":7.0,"8":8.0,"9":9.0,"10":10.0,"11":3.0,"12":4.0,"13":5.0,"14":6.0,"15":7.0,"16":8.0,"17":9.0,"18":10.0,"19":11.0,"20":2.0,"21":3.0,"22":4.0,"23":5.0,"24":6.0,"25":7.0,"26":8.0,"27":9.0,"28":10.0,"29":11.0,"30":12.0,"31":13.0,"32":3.0,"33":4.0,"34":5.0,"35":6.0,"36":7.0,"37":8.0,"38":9.0,"39":10.0,"40":11.0,"41":12.0,"42":13.0,"43":14.0,"44":2.0,"45":3.0,"46":4.0,"47":5.0,"48":6.0,"49":3.0,"50":4.0,"51":5.0,"52":6.0,"53":7.0,"54":2.0,"55":3.0,"56":4.0,"57":5.0,"58":6.0,"59":7.0,"60":8.0,"61":9.0,"62":10.0,"63":11.0,"64":3.0,"65":4.0,"66":5.0,"67":6.0,"68":7.0,"69":8.0,"70":9.0,"71":10.0,"72":11.0,"73":12.0}}', - "suburb_1": '{"x":{"0":0.0,"1":0.0,"2":-9.5,"3":-10.0,"4":-10.5,"5":-11.0,"6":-11.5,"7":-12.0,"8":-12.5,"9":-13.0,"10":-13.5,"11":-9.0,"12":-9.5,"13":-10.0,"14":-10.5,"15":-11.0,"16":-11.5,"17":-12.0,"18":-12.5,"19":-13.5,"20":-7.5,"21":-8.0,"22":-8.5,"23":-9.0,"24":-9.5,"25":-10.0,"26":-10.5,"27":-11.0,"28":-11.5,"29":-12.0,"30":-12.5,"31":-13.0,"32":-13.5,"33":-14.0,"34":-14.5,"35":-15.0,"36":-15.5,"37":-7.0,"38":-7.5,"39":-8.0,"40":-8.5,"41":-9.0,"42":-9.5,"43":-10.0,"44":-10.5,"45":-11.0,"46":-11.5,"47":-12.0,"48":-12.5,"49":-13.0,"50":-13.5,"51":-14.0,"52":-14.5,"53":-15.5,"54":-5.5,"55":-6.0,"56":-6.5,"57":-7.0,"58":-7.5,"59":-5.0,"60":-5.5,"61":-6.0,"62":-6.5,"63":-7.5,"64":-3.5,"65":-4.0,"66":-4.5,"67":-5.0,"68":-5.5,"69":-6.0,"70":-6.5,"71":-7.0,"72":-7.5,"73":-8.0,"74":-8.5,"75":-9.0,"76":-9.5,"77":-3.0,"78":-3.5,"79":-4.0,"80":-4.5,"81":-5.0,"82":-5.5,"83":-6.0,"84":-6.5,"85":-7.0,"86":-7.5,"87":-8.0,"88":-8.5,"89":-9.5,"90":-1.5,"91":-2.0,"92":-2.5,"93":-3.0,"94":-3.5,"95":-4.0,"96":-4.5,"97":-5.0,"98":-1.0,"99":-1.5,"100":-2.0,"101":-2.5,"102":-3.0,"103":-3.5,"104":-4.0,"105":-5.0,"106":0.0,"107":0.0,"108":1.5,"109":1.0,"110":0.5,"111":0.0,"112":-0.5,"113":-1.0,"114":-1.5,"115":-2.0,"116":-2.5,"117":2.0,"118":1.5,"119":1.0,"120":0.5,"121":0.0,"122":-0.5,"123":-1.0,"124":-1.5,"125":-2.5,"126":3.5,"127":3.0,"128":2.5,"129":2.0,"130":1.5,"131":1.0,"132":0.5,"133":0.0,"134":-0.5,"135":-1.0,"136":-1.5,"137":-2.0,"138":-2.5,"139":-3.0,"140":-3.5,"141":-4.0,"142":-4.5,"143":4.0,"144":3.5,"145":3.0,"146":2.5,"147":2.0,"148":1.5,"149":1.0,"150":0.5,"151":0.0,"152":-0.5,"153":-1.0,"154":-1.5,"155":-2.0,"156":-2.5,"157":-3.0,"158":-3.5,"159":-4.5,"160":5.5,"161":5.0,"162":4.5,"163":4.0,"164":3.5,"165":6.0,"166":5.5,"167":5.0,"168":4.5,"169":3.5,"170":7.5,"171":7.0,"172":6.5,"173":6.0,"174":5.5,"175":5.0,"176":4.5,"177":4.0,"178":3.5,"179":3.0,"180":2.5,"181":2.0,"182":1.5,"183":8.0,"184":7.5,"185":7.0,"186":6.5,"187":6.0,"188":5.5,"189":5.0,"190":4.5,"191":4.0,"192":3.5,"193":3.0,"194":2.5,"195":1.5,"196":9.5,"197":9.0,"198":8.5,"199":8.0,"200":10.0,"201":9.5,"202":9.0,"203":8.0},"y":{"0":0.0,"1":1.0,"2":2.0,"3":3.0,"4":4.0,"5":5.0,"6":6.0,"7":7.0,"8":8.0,"9":9.0,"10":10.0,"11":3.0,"12":4.0,"13":5.0,"14":6.0,"15":7.0,"16":8.0,"17":9.0,"18":10.0,"19":11.0,"20":2.0,"21":3.0,"22":4.0,"23":5.0,"24":6.0,"25":7.0,"26":8.0,"27":9.0,"28":10.0,"29":11.0,"30":12.0,"31":13.0,"32":14.0,"33":15.0,"34":16.0,"35":17.0,"36":18.0,"37":3.0,"38":4.0,"39":5.0,"40":6.0,"41":7.0,"42":8.0,"43":9.0,"44":10.0,"45":11.0,"46":12.0,"47":13.0,"48":14.0,"49":15.0,"50":16.0,"51":17.0,"52":18.0,"53":19.0,"54":2.0,"55":3.0,"56":4.0,"57":5.0,"58":6.0,"59":3.0,"60":4.0,"61":5.0,"62":6.0,"63":7.0,"64":2.0,"65":3.0,"66":4.0,"67":5.0,"68":6.0,"69":7.0,"70":8.0,"71":9.0,"72":10.0,"73":11.0,"74":12.0,"75":13.0,"76":14.0,"77":3.0,"78":4.0,"79":5.0,"80":6.0,"81":7.0,"82":8.0,"83":9.0,"84":10.0,"85":11.0,"86":12.0,"87":13.0,"88":14.0,"89":15.0,"90":2.0,"91":3.0,"92":4.0,"93":5.0,"94":6.0,"95":7.0,"96":8.0,"97":9.0,"98":3.0,"99":4.0,"100":5.0,"101":6.0,"102":7.0,"103":8.0,"104":9.0,"105":10.0,"106":2.0,"107":3.0,"108":2.0,"109":3.0,"110":4.0,"111":5.0,"112":6.0,"113":7.0,"114":8.0,"115":9.0,"116":10.0,"117":3.0,"118":4.0,"119":5.0,"120":6.0,"121":7.0,"122":8.0,"123":9.0,"124":10.0,"125":11.0,"126":2.0,"127":3.0,"128":4.0,"129":5.0,"130":6.0,"131":7.0,"132":8.0,"133":9.0,"134":10.0,"135":11.0,"136":12.0,"137":13.0,"138":14.0,"139":15.0,"140":16.0,"141":17.0,"142":18.0,"143":3.0,"144":4.0,"145":5.0,"146":6.0,"147":7.0,"148":8.0,"149":9.0,"150":10.0,"151":11.0,"152":12.0,"153":13.0,"154":14.0,"155":15.0,"156":16.0,"157":17.0,"158":18.0,"159":19.0,"160":2.0,"161":3.0,"162":4.0,"163":5.0,"164":6.0,"165":3.0,"166":4.0,"167":5.0,"168":6.0,"169":7.0,"170":2.0,"171":3.0,"172":4.0,"173":5.0,"174":6.0,"175":7.0,"176":8.0,"177":9.0,"178":10.0,"179":11.0,"180":12.0,"181":13.0,"182":14.0,"183":3.0,"184":4.0,"185":5.0,"186":6.0,"187":7.0,"188":8.0,"189":9.0,"190":10.0,"191":11.0,"192":12.0,"193":13.0,"194":14.0,"195":15.0,"196":2.0,"197":3.0,"198":4.0,"199":5.0,"200":3.0,"201":4.0,"202":5.0,"203":6.0}}' - } - net.bus_geodata = pd.read_json(bus_geo[network_class]) - # Match bus.index - net.bus_geodata = net.bus_geodata.loc[net.bus.index] - return net +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import pandapower as pp +import pandas as pd +from numpy import nan, append + + +def create_synthetic_voltage_control_lv_network(network_class="rural_1"): + """ + This function creates a LV network from M. Lindner, C. Aigner, R. Witzmann, F. Wirtz, \ + I. Berber, M. Gödde and R. Frings. "Aktuelle Musternetze zur Untersuchung von \ + Spannungsproblemen in der Niederspannung". 14. Symposium Energieinnovation TU Graz. 2014 + which are representative, synthetic grids for voltage control analysis. + + Neccessary assumptions, in addition to the paper above: + + According to Lindner, the household loads are 5.1 kw and the special loads are 7.9 kW. \ + The user is suggested to assume load distribution and load profile generation. The line + parameters according to the given types are received from pandapower standard types and + literatur (as stated in the code). Transformer parameters, except the given 'vk_percent', + 'sn_mva' and voltage levels, are based the pandapower standard type data. + + OPTIONAL: + + **network_class** (str, 'rural_1') - specify which type of network will be created. Must \ + be in ['rural_1', 'rural_2', 'village_1', 'village_2', 'suburb_1']. + + OUTPUT: + + **net** - returns the required synthetic voltage control lv network + + EXAMPLE: + + import pandapower.networks as pn + + net = pn.create_synthetic_voltage_control_lv_network() + """ + # process network choosing input data + if network_class not in ['rural_1', 'rural_2', 'village_1', 'village_2', 'suburb_1']: + raise ValueError("network_class is not in ['rural_1', 'rural_2', 'village_1', 'village_2'," + " 'suburb_1']") + n_feeder = {'rural_1': [1, 4, 7], 'rural_2': [1, 3, 3, 1], 'village_1': [9, 16, 5, 9], + 'village_2': [9, 12, 5, 10], 'suburb_1': [9, 17, 5, 13, 8, 1, 9, 17, 5, 13, 4]} + l_lines = {'rural_1': [0.26, 0.133, 0.068], 'rural_2': [3e-3, 0.076, 0.076, 0.076], + 'village_1': [0.053, 0.034, 0.08, 0.04], 'village_2': [0.021, 0.033, 0.023, 0.052], + 'suburb_1': [0.041, 0.017, 0.056, 0.018, 0.035, 0.103, 0.046, 0.019, 0.065, 0.026, + 0.031]} + line_types = {'rural_1': ['NAYY 4x150 SE']*2 + [('NAYY 4x150 SE', 'NAYY 4x120 SE')], + 'rural_2': ['NAYY 4x35'] + ['NF 4x70']*3, + 'village_1': ['NAYY 4x150 SE']*4, + 'village_2': [('NAYY 4x70', 'NF 4x50'), ('NAYY 4x120 SE', 'NF 4x95'), + ('NAYY 4x95', 'NF 4x70'), ('NAYY 4x150 SE', 'NF 4x120')], + 'suburb_1': [('NAYY 4x150 SE', 'NAYY 4x120 SE')]*3 + + [('NAYY 4x120 SE', 'NAYY 4x95'), 'NAYY 4x150 SE', 'NAYY 4x95'] + + ['NAYY 4x150 SE']*5} + line_type_change_at = {'rural_1': [nan]*2 + [5], 'rural_2': [nan]*4, 'village_1': [nan]*4, + 'village_2': [8, 3, 4, 5], 'suburb_1': [5, 10, 3, 6] + [nan]*7} + trafo_type = {'rural_1': '0.16 MVA 20/0.4 kV vc', 'rural_2': '0.25 MVA 20/0.4 kV vc', + 'village_1': '0.25 MVA 20/0.4 kV vc', 'village_2': '0.4 MVA 20/0.4 kV vc', + 'suburb_1': '0.4 MVA 20/0.4 kV vc'} + house_connection_length = {'rural_1': 29e-3, 'rural_2': 4e-3, 'village_1': 21e-3, + 'village_2': 17e-3, 'suburb_1': 18e-3} + house_connection_type = {'rural_1': 'NAYY 4x50 SE', 'rural_2': 'NAYY 4x35', + 'village_1': 'NAYY 4x50 SE', 'village_2': 'NAYY 4x35', + 'suburb_1': 'NAYY 4x35'} + + # create network + net = pp.create_empty_network(name='synthetic_voltage_control_lv_network: ' + network_class) + + # create std_types + # cable data (r, x, i_max) from www.faberkabel.de + if network_class in ["rural_2", "village_2", "suburb_1"]: + pp.create_std_type(net, { + "c_nf_per_km": 202, "r_ohm_per_km": 0.869, "x_ohm_per_km": 0.085, + "max_i_ka": 0.123, "type": "cs", "q_mm2": 35}, name="NAYY 4x35", element="line") + if network_class != "suburb_1": + pp.create_std_type(net, { + "c_nf_per_km": 17.8, "r_ohm_per_km": 0.439, "x_ohm_per_km": 0.295, + "max_i_ka": 0.28, "type": "ol", "q_mm2": 70}, name="NF 4x70", element="line") + if network_class == "village_2": + pp.create_std_type(net, { + "c_nf_per_km": 230, "r_ohm_per_km": 0.443, "x_ohm_per_km": 0.0823, + "max_i_ka": 0.179, "type": "cs", "q_mm2": 70}, name="NAYY 4x70", + element="line") + data = net.std_types['line']['48-AL1/8-ST1A 0.4'] + data['q_mm2'] = 50 + pp.create_std_type(net, data, name="NF 4x50", element="line") + data = net.std_types['line']['94-AL1/15-ST1A 0.4'] + data['q_mm2'] = 95 + pp.create_std_type(net, data, name="NF 4x95", element="line") + pp.create_std_type(net, { + "c_nf_per_km": 16.2, "r_ohm_per_km": 0.274, "x_ohm_per_km": 0.31, + "max_i_ka": 0.4, "type": "ol", "q_mm2": 120}, name="NF 4x120", + element="line") + if network_class != "rural_2": + pp.create_std_type(net, { + "c_nf_per_km": 240, "r_ohm_per_km": 0.32, "x_ohm_per_km": 0.082, + "max_i_ka": 0.215, "type": "cs", "q_mm2": 95}, name="NAYY 4x95", element="line") + # trafos + if network_class == "rural_1": + data = net.std_types['trafo']['0.25 MVA 20/0.4 kV'] + data['sn_mva'] = 0.16 + data['pfe_kw'] = 0.62 + data['i0_percent'] = 0.31 + data['vkr_percent'] = data['vkr_percent'] * 4 / data['vk_percent'] + data['vk_percent'] = 4 + pp.create_std_type(net, data, name=trafo_type[network_class], element="trafo") + elif network_class in ["rural_2", "village_1"]: + data = net.std_types['trafo']['0.25 MVA 20/0.4 kV'] + data['vkr_percent'] = data['vkr_percent'] * 4 / data['vk_percent'] + data['vk_percent'] = 4 + pp.create_std_type(net, data, name=trafo_type[network_class], element="trafo") + elif network_class in ["suburb_1", "village_2"]: + data = net.std_types['trafo']['0.4 MVA 20/0.4 kV'] + data['vkr_percent'] = data['vkr_percent'] * 4 / data['vk_percent'] + data['vk_percent'] = 4 + pp.create_std_type(net, data, name=trafo_type[network_class], element="trafo") + + # create mv connection + mv_bus = pp.create_bus(net, 20, name='mv bus') + bb = pp.create_bus(net, 0.4, name='busbar') + pp.create_ext_grid(net, mv_bus) + pp.create_transformer(net, mv_bus, bb, std_type=trafo_type[network_class]) + + # create lv network + idx_feeder = range(len(n_feeder[network_class])) + lv_buses = {} + house_buses = {} + for i in idx_feeder: + # buses + lv_buses[i] = pp.create_buses(net, n_feeder[network_class][i], 0.4, zone='Feeder'+str(i+1), + type='m') + house_buses[i] = pp.create_buses(net, n_feeder[network_class][i], 0.4, + zone='Feeder'+str(i+1), type='n') + # lines + lines = pd.DataFrame() + lines['from_bus'] = append(bb, append(lv_buses[i][:-1], lv_buses[i])) + lines['to_bus'] = append(lv_buses[i], house_buses[i]) + if line_type_change_at[network_class][i] is nan: + lines['std_type'] = [line_types[network_class][i]]*n_feeder[network_class][i] + \ + [house_connection_type[network_class]]*n_feeder[network_class][i] + else: + lines['std_type'] = \ + [line_types[network_class][i][0]]*line_type_change_at[network_class][i] + \ + [line_types[network_class][i][1]]*(n_feeder[network_class][i] - + line_type_change_at[network_class][i]) + \ + [house_connection_type[network_class]]*n_feeder[network_class][i] + lines['length'] = [l_lines[network_class][i]]*n_feeder[network_class][i] + \ + [house_connection_length[network_class]]*n_feeder[network_class][i] + + for _, lines in lines.iterrows(): + pp.create_line(net, lines.from_bus, lines.to_bus, length_km=lines.length, + std_type=lines.std_type) + # load + for i in house_buses[i]: + pp.create_load(net, i, p_mw=5.1e-3) + + # direct loads and DEA + if network_class == "rural_1": + special_load = [(2, 4), (3, 2)] + DER = [(2, 1, 6.9), (2, 2, 15.3), (2, 4, 29.6), (3, 4, 15.8), (3, 5, 25.3)] + elif network_class == "rural_2": + special_load = [(1, 1), (2, 3), (3, 2)] + DER = [(1, 1, 29.6), (2, 3, 25.4), (3, 2, 25), (3, 3, 10)] + elif network_class == "village_1": + special_load = [(2, 9), (2, 12), (2, 14), (2, 16), (3, 5), (4, 3), (4, 6), (4, 8)] + DER = [(1, 6, 29.8), (1, 8, 22.8), (2, 3, 7.9), (2, 5, 4.2), (2, 11, 16.7), (2, 15, 7.3), + (3, 1, 31.9), (3, 3, 17.4), (3, 5, 15), (4, 1, 8.8), (4, 3, 19.6), (4, 5, 9.3), + (4, 6, 13)] + elif network_class == "village_2": + special_load = [] + DER = [(1, 6, 29.8), (1, 2, 16), (1, 3, 4.6), (1, 6, 19), (1, 8, 29), (2, 1, 16), + (2, 2, 5.2), (2, 3, 19), (2, 5, 12), (2, 10, 10), (2, 12, 8), (3, 1, 12.63), + (3, 2, 30), (4, 3, 10), (4, 4, 33), (4, 10, 8)] + elif network_class == "suburb_1": + special_load = [(6, 1), (1, 4), (2, 17), (3, 5), (4, 5), (6, 1), (7, 7), (8, 17)] + DER = [(1, 1, 9.36), (1, 2, 79.12), (7, 7, 30), (8, 7, 18.47), (8, 15, 9.54), + (10, 10, 14.4)] + for i in special_load: + pp.create_load(net, lv_buses[i[0]-1][i[1]-1], p_mw=7.9e-3) + for i in DER: + pp.create_sgen(net, house_buses[i[0]-1][i[1]-1], p_mw=i[2]*1e-3) + + # set bus geo data + bus_geo = { + "rural_1": '{"x":{"0":0.0,"1":0.0,"2":-1.6666666667,"3":-1.6666666667,"4":-0.1666666667,"5":-0.6666666667,"6":-1.1666666667,"7":-1.6666666667,"8":0.3333333333,"9":-0.1666666667,"10":-0.6666666667,"11":-1.6666666667,"12":1.8333333333,"13":1.3333333333,"14":0.8333333333,"15":0.3333333333,"16":-0.1666666667,"17":-0.6666666667,"18":-1.1666666667,"19":2.3333333333,"20":1.8333333333,"21":1.3333333333,"22":0.8333333333,"23":0.3333333333,"24":-0.1666666667,"25":-1.1666666667},"y":{"0":0.0,"1":1.0,"2":2.0,"3":3.0,"4":2.0,"5":3.0,"6":4.0,"7":5.0,"8":3.0,"9":4.0,"10":5.0,"11":6.0,"12":2.0,"13":3.0,"14":4.0,"15":5.0,"16":6.0,"17":7.0,"18":8.0,"19":3.0,"20":4.0,"21":5.0,"22":6.0,"23":7.0,"24":8.0,"25":9.0}}', + "rural_2": '{"x":{"0":0.0,"1":0.0,"2":-2.5,"3":-2.5,"4":-1.0,"5":-1.5,"6":-2.0,"7":-0.5,"8":-1.0,"9":-2.0,"10":1.0,"11":0.5,"12":0.0,"13":1.5,"14":1.0,"15":0.0,"16":2.5,"17":2.5},"y":{"0":0.0,"1":1.0,"2":2.0,"3":3.0,"4":2.0,"5":3.0,"6":4.0,"7":3.0,"8":4.0,"9":5.0,"10":2.0,"11":3.0,"12":4.0,"13":3.0,"14":4.0,"15":5.0,"16":2.0,"17":3.0}}', + "village_1": '{"x":{"0":0.0,"1":0.0,"2":-3.0,"3":-3.5,"4":-4.0,"5":-4.5,"6":-5.0,"7":-5.5,"8":-6.0,"9":-6.5,"10":-7.0,"11":-2.5,"12":-3.0,"13":-3.5,"14":-4.0,"15":-4.5,"16":-5.0,"17":-5.5,"18":-6.0,"19":-7.0,"20":-1.0,"21":-1.5,"22":-2.0,"23":-2.5,"24":-3.0,"25":-3.5,"26":-4.0,"27":-4.5,"28":-5.0,"29":-5.5,"30":-6.0,"31":-6.5,"32":-7.0,"33":-7.5,"34":-8.0,"35":-8.5,"36":-0.5,"37":-1.0,"38":-1.5,"39":-2.0,"40":-2.5,"41":-3.0,"42":-3.5,"43":-4.0,"44":-4.5,"45":-5.0,"46":-5.5,"47":-6.0,"48":-6.5,"49":-7.0,"50":-7.5,"51":-8.5,"52":1.0,"53":0.5,"54":0.0,"55":-0.5,"56":-1.0,"57":1.5,"58":1.0,"59":0.5,"60":0.0,"61":-1.0,"62":3.0,"63":2.5,"64":2.0,"65":1.5,"66":1.0,"67":0.5,"68":0.0,"69":-0.5,"70":-1.0,"71":3.5,"72":3.0,"73":2.5,"74":2.0,"75":1.5,"76":1.0,"77":0.5,"78":0.0,"79":-1.0},"y":{"0":0.0,"1":1.0,"2":2.0,"3":3.0,"4":4.0,"5":5.0,"6":6.0,"7":7.0,"8":8.0,"9":9.0,"10":10.0,"11":3.0,"12":4.0,"13":5.0,"14":6.0,"15":7.0,"16":8.0,"17":9.0,"18":10.0,"19":11.0,"20":2.0,"21":3.0,"22":4.0,"23":5.0,"24":6.0,"25":7.0,"26":8.0,"27":9.0,"28":10.0,"29":11.0,"30":12.0,"31":13.0,"32":14.0,"33":15.0,"34":16.0,"35":17.0,"36":3.0,"37":4.0,"38":5.0,"39":6.0,"40":7.0,"41":8.0,"42":9.0,"43":10.0,"44":11.0,"45":12.0,"46":13.0,"47":14.0,"48":15.0,"49":16.0,"50":17.0,"51":18.0,"52":2.0,"53":3.0,"54":4.0,"55":5.0,"56":6.0,"57":3.0,"58":4.0,"59":5.0,"60":6.0,"61":7.0,"62":2.0,"63":3.0,"64":4.0,"65":5.0,"66":6.0,"67":7.0,"68":8.0,"69":9.0,"70":10.0,"71":3.0,"72":4.0,"73":5.0,"74":6.0,"75":7.0,"76":8.0,"77":9.0,"78":10.0,"79":11.0}}', + "village_2": '{"x":{"0":0.0,"1":0.0,"2":-3.0,"3":-3.5,"4":-4.0,"5":-4.5,"6":-5.0,"7":-5.5,"8":-6.0,"9":-6.5,"10":-7.0,"11":-2.5,"12":-3.0,"13":-3.5,"14":-4.0,"15":-4.5,"16":-5.0,"17":-5.5,"18":-6.0,"19":-7.0,"20":-1.0,"21":-1.5,"22":-2.0,"23":-2.5,"24":-3.0,"25":-3.5,"26":-4.0,"27":-4.5,"28":-5.0,"29":-5.5,"30":-6.0,"31":-6.5,"32":-0.5,"33":-1.0,"34":-1.5,"35":-2.0,"36":-2.5,"37":-3.0,"38":-3.5,"39":-4.0,"40":-4.5,"41":-5.0,"42":-5.5,"43":-6.5,"44":1.0,"45":0.5,"46":0.0,"47":-0.5,"48":-1.0,"49":1.5,"50":1.0,"51":0.5,"52":0.0,"53":-1.0,"54":3.0,"55":2.5,"56":2.0,"57":1.5,"58":1.0,"59":0.5,"60":0.0,"61":-0.5,"62":-1.0,"63":-1.5,"64":3.5,"65":3.0,"66":2.5,"67":2.0,"68":1.5,"69":1.0,"70":0.5,"71":0.0,"72":-0.5,"73":-1.5},"y":{"0":0.0,"1":1.0,"2":2.0,"3":3.0,"4":4.0,"5":5.0,"6":6.0,"7":7.0,"8":8.0,"9":9.0,"10":10.0,"11":3.0,"12":4.0,"13":5.0,"14":6.0,"15":7.0,"16":8.0,"17":9.0,"18":10.0,"19":11.0,"20":2.0,"21":3.0,"22":4.0,"23":5.0,"24":6.0,"25":7.0,"26":8.0,"27":9.0,"28":10.0,"29":11.0,"30":12.0,"31":13.0,"32":3.0,"33":4.0,"34":5.0,"35":6.0,"36":7.0,"37":8.0,"38":9.0,"39":10.0,"40":11.0,"41":12.0,"42":13.0,"43":14.0,"44":2.0,"45":3.0,"46":4.0,"47":5.0,"48":6.0,"49":3.0,"50":4.0,"51":5.0,"52":6.0,"53":7.0,"54":2.0,"55":3.0,"56":4.0,"57":5.0,"58":6.0,"59":7.0,"60":8.0,"61":9.0,"62":10.0,"63":11.0,"64":3.0,"65":4.0,"66":5.0,"67":6.0,"68":7.0,"69":8.0,"70":9.0,"71":10.0,"72":11.0,"73":12.0}}', + "suburb_1": '{"x":{"0":0.0,"1":0.0,"2":-9.5,"3":-10.0,"4":-10.5,"5":-11.0,"6":-11.5,"7":-12.0,"8":-12.5,"9":-13.0,"10":-13.5,"11":-9.0,"12":-9.5,"13":-10.0,"14":-10.5,"15":-11.0,"16":-11.5,"17":-12.0,"18":-12.5,"19":-13.5,"20":-7.5,"21":-8.0,"22":-8.5,"23":-9.0,"24":-9.5,"25":-10.0,"26":-10.5,"27":-11.0,"28":-11.5,"29":-12.0,"30":-12.5,"31":-13.0,"32":-13.5,"33":-14.0,"34":-14.5,"35":-15.0,"36":-15.5,"37":-7.0,"38":-7.5,"39":-8.0,"40":-8.5,"41":-9.0,"42":-9.5,"43":-10.0,"44":-10.5,"45":-11.0,"46":-11.5,"47":-12.0,"48":-12.5,"49":-13.0,"50":-13.5,"51":-14.0,"52":-14.5,"53":-15.5,"54":-5.5,"55":-6.0,"56":-6.5,"57":-7.0,"58":-7.5,"59":-5.0,"60":-5.5,"61":-6.0,"62":-6.5,"63":-7.5,"64":-3.5,"65":-4.0,"66":-4.5,"67":-5.0,"68":-5.5,"69":-6.0,"70":-6.5,"71":-7.0,"72":-7.5,"73":-8.0,"74":-8.5,"75":-9.0,"76":-9.5,"77":-3.0,"78":-3.5,"79":-4.0,"80":-4.5,"81":-5.0,"82":-5.5,"83":-6.0,"84":-6.5,"85":-7.0,"86":-7.5,"87":-8.0,"88":-8.5,"89":-9.5,"90":-1.5,"91":-2.0,"92":-2.5,"93":-3.0,"94":-3.5,"95":-4.0,"96":-4.5,"97":-5.0,"98":-1.0,"99":-1.5,"100":-2.0,"101":-2.5,"102":-3.0,"103":-3.5,"104":-4.0,"105":-5.0,"106":0.0,"107":0.0,"108":1.5,"109":1.0,"110":0.5,"111":0.0,"112":-0.5,"113":-1.0,"114":-1.5,"115":-2.0,"116":-2.5,"117":2.0,"118":1.5,"119":1.0,"120":0.5,"121":0.0,"122":-0.5,"123":-1.0,"124":-1.5,"125":-2.5,"126":3.5,"127":3.0,"128":2.5,"129":2.0,"130":1.5,"131":1.0,"132":0.5,"133":0.0,"134":-0.5,"135":-1.0,"136":-1.5,"137":-2.0,"138":-2.5,"139":-3.0,"140":-3.5,"141":-4.0,"142":-4.5,"143":4.0,"144":3.5,"145":3.0,"146":2.5,"147":2.0,"148":1.5,"149":1.0,"150":0.5,"151":0.0,"152":-0.5,"153":-1.0,"154":-1.5,"155":-2.0,"156":-2.5,"157":-3.0,"158":-3.5,"159":-4.5,"160":5.5,"161":5.0,"162":4.5,"163":4.0,"164":3.5,"165":6.0,"166":5.5,"167":5.0,"168":4.5,"169":3.5,"170":7.5,"171":7.0,"172":6.5,"173":6.0,"174":5.5,"175":5.0,"176":4.5,"177":4.0,"178":3.5,"179":3.0,"180":2.5,"181":2.0,"182":1.5,"183":8.0,"184":7.5,"185":7.0,"186":6.5,"187":6.0,"188":5.5,"189":5.0,"190":4.5,"191":4.0,"192":3.5,"193":3.0,"194":2.5,"195":1.5,"196":9.5,"197":9.0,"198":8.5,"199":8.0,"200":10.0,"201":9.5,"202":9.0,"203":8.0},"y":{"0":0.0,"1":1.0,"2":2.0,"3":3.0,"4":4.0,"5":5.0,"6":6.0,"7":7.0,"8":8.0,"9":9.0,"10":10.0,"11":3.0,"12":4.0,"13":5.0,"14":6.0,"15":7.0,"16":8.0,"17":9.0,"18":10.0,"19":11.0,"20":2.0,"21":3.0,"22":4.0,"23":5.0,"24":6.0,"25":7.0,"26":8.0,"27":9.0,"28":10.0,"29":11.0,"30":12.0,"31":13.0,"32":14.0,"33":15.0,"34":16.0,"35":17.0,"36":18.0,"37":3.0,"38":4.0,"39":5.0,"40":6.0,"41":7.0,"42":8.0,"43":9.0,"44":10.0,"45":11.0,"46":12.0,"47":13.0,"48":14.0,"49":15.0,"50":16.0,"51":17.0,"52":18.0,"53":19.0,"54":2.0,"55":3.0,"56":4.0,"57":5.0,"58":6.0,"59":3.0,"60":4.0,"61":5.0,"62":6.0,"63":7.0,"64":2.0,"65":3.0,"66":4.0,"67":5.0,"68":6.0,"69":7.0,"70":8.0,"71":9.0,"72":10.0,"73":11.0,"74":12.0,"75":13.0,"76":14.0,"77":3.0,"78":4.0,"79":5.0,"80":6.0,"81":7.0,"82":8.0,"83":9.0,"84":10.0,"85":11.0,"86":12.0,"87":13.0,"88":14.0,"89":15.0,"90":2.0,"91":3.0,"92":4.0,"93":5.0,"94":6.0,"95":7.0,"96":8.0,"97":9.0,"98":3.0,"99":4.0,"100":5.0,"101":6.0,"102":7.0,"103":8.0,"104":9.0,"105":10.0,"106":2.0,"107":3.0,"108":2.0,"109":3.0,"110":4.0,"111":5.0,"112":6.0,"113":7.0,"114":8.0,"115":9.0,"116":10.0,"117":3.0,"118":4.0,"119":5.0,"120":6.0,"121":7.0,"122":8.0,"123":9.0,"124":10.0,"125":11.0,"126":2.0,"127":3.0,"128":4.0,"129":5.0,"130":6.0,"131":7.0,"132":8.0,"133":9.0,"134":10.0,"135":11.0,"136":12.0,"137":13.0,"138":14.0,"139":15.0,"140":16.0,"141":17.0,"142":18.0,"143":3.0,"144":4.0,"145":5.0,"146":6.0,"147":7.0,"148":8.0,"149":9.0,"150":10.0,"151":11.0,"152":12.0,"153":13.0,"154":14.0,"155":15.0,"156":16.0,"157":17.0,"158":18.0,"159":19.0,"160":2.0,"161":3.0,"162":4.0,"163":5.0,"164":6.0,"165":3.0,"166":4.0,"167":5.0,"168":6.0,"169":7.0,"170":2.0,"171":3.0,"172":4.0,"173":5.0,"174":6.0,"175":7.0,"176":8.0,"177":9.0,"178":10.0,"179":11.0,"180":12.0,"181":13.0,"182":14.0,"183":3.0,"184":4.0,"185":5.0,"186":6.0,"187":7.0,"188":8.0,"189":9.0,"190":10.0,"191":11.0,"192":12.0,"193":13.0,"194":14.0,"195":15.0,"196":2.0,"197":3.0,"198":4.0,"199":5.0,"200":3.0,"201":4.0,"202":5.0,"203":6.0}}' + } + net.bus_geodata = pd.read_json(bus_geo[network_class]) + # Match bus.index + net.bus_geodata = net.bus_geodata.loc[net.bus.index] + return net diff --git a/pandapower/opf/make_objective.py b/pandapower/opf/make_objective.py index 513831339..ead37c77b 100644 --- a/pandapower/opf/make_objective.py +++ b/pandapower/opf/make_objective.py @@ -1,155 +1,155 @@ -# -*- coding: utf-8 -*- - -# Copyright 1996-2015 PSERC. All rights reserved. -# Use of this source code is governed by a BSD-style -# license that can be found in the LICENSE file. - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - -from numpy import zeros, array -from pandapower.pypower.idx_cost import MODEL, NCOST, COST, PW_LINEAR, POLYNOMIAL -from pandapower.pypower.idx_gen import PMIN, PMAX - -try: - import pplog as logging -except ImportError: - import logging - -logger = logging.getLogger(__name__) - - -def _make_objective(ppci, net): - is_quadratic, q_costs = _init_gencost(ppci, net) - if len(net.pwl_cost): - ppci["gencost"][:, MODEL] = PW_LINEAR - ppci["gencost"][:, NCOST] = 2 - ppci["gencost"][:, COST + 2] = 1 - - _fill_gencost_pwl(ppci, net) - if is_quadratic: - raise ValueError("Piecewise linear costs can not be mixed with quadratic costs") - elif len(net.poly_cost): - _add_linear_costs_as_pwl_cost(ppci, net) - elif len(net.poly_cost): - ppci["gencost"][:, MODEL] = POLYNOMIAL - _fill_gencost_poly(ppci, net, is_quadratic, q_costs) - else: - logger.warning("no costs are given - overall generated power is minimized") - ppci["gencost"][:, MODEL] = POLYNOMIAL - ppci["gencost"][:, NCOST] = 2 - ppci["gencost"][:, COST] = 1 - return ppci - - -def _get_gen_index(net, et, element): - if et == "dcline": - dc_idx = net.dcline.index.get_loc(element) - element = len(net.gen.index) - 2*len(net.dcline) + dc_idx*2 + 1 - et = "gen" - lookup = "%s_controllable" % et if et in ["load", "sgen", "storage"] else et - try: - return int(net._pd2ppc_lookups[lookup][int(element)]) - except: - return None - - -def _map_costs_to_gen(net, cost): - gens = array([_get_gen_index(net, et, element) - for et, element in zip(cost.et.values, cost.element.values)]) - cost_is = array([gen is not None for gen in gens]) - cost = cost[cost_is] - gens = gens[cost_is].astype(int) - signs = array([-1 if element in ["load", "storage", "dcline"] else 1 for element in cost.et]) - return gens, cost, signs - - -def _init_gencost(ppci, net): - is_quadratic = net.poly_cost[["cp2_eur_per_mw2", "cq2_eur_per_mvar2"]].values.any() - q_costs = net.poly_cost[["cq1_eur_per_mvar", "cq2_eur_per_mvar2"]].values.any() or \ - "q" in net.pwl_cost.power_type.values - rows = len(ppci["gen"])*2 if q_costs else len(ppci["gen"]) - if len(net.pwl_cost): - nr_points = {len(p) for p in net.pwl_cost.points.values} - points = max(nr_points) - if is_quadratic: - raise ValueError("Quadratic costs can be mixed with piecewise linear costs") - columns = COST + (max(points, 2) + 1)*2 - else: - columns = COST + 3 if is_quadratic else COST + 2 - ppci["gencost"] = zeros((rows, columns), dtype=float) - return is_quadratic, q_costs - - -def _fill_gencost_poly(ppci, net, is_quadratic, q_costs): - gens, cost, signs = _map_costs_to_gen(net, net.poly_cost) - c0 = cost["cp0_eur"].values - c1 = cost["cp1_eur_per_mw"].values - signs = array([-1 if element in ["load", "storage", "dcline"] else 1 for element in cost.et]) - if is_quadratic: - c2 = cost["cp2_eur_per_mw2"] - ppci["gencost"][gens, NCOST] = 3 - ppci["gencost"][gens, COST] = c2 * signs - ppci["gencost"][gens, COST + 1] = c1 * signs - ppci["gencost"][gens, COST + 2] = c0 * signs - else: - ppci["gencost"][gens, NCOST] = 2 - ppci["gencost"][gens, COST] = c1 * signs - ppci["gencost"][gens, COST + 1] = c0 * signs - if q_costs: - gens_q = gens + len(ppci["gen"]) - c0 = cost["cq0_eur"].values - c1 = cost["cq1_eur_per_mvar"].values - signs = array([-1 if element in ["load", "storage"] else 1 for element in cost.et]) - if is_quadratic: - c2 = cost["cq2_eur_per_mvar2"] - ppci["gencost"][gens_q, NCOST] = 3 - ppci["gencost"][gens_q, COST] = c2 * signs - ppci["gencost"][gens_q, COST + 1] = c1 * signs - ppci["gencost"][gens_q, COST + 2] = c0 * signs - else: - ppci["gencost"][gens_q, NCOST] = 2 - ppci["gencost"][gens_q, COST] = c1 * signs - ppci["gencost"][gens_q, COST + 1] = c0 * signs - - -def _fill_gencost_pwl(ppci, net): - for power_mode, cost in net.pwl_cost.groupby("power_type"): - gens, cost, signs = _map_costs_to_gen(net, cost) - if power_mode == "q": - gens += len(ppci["gen"]) - for gen, points, sign in zip(gens, cost.points.values, signs): - costs = costs_from_areas(points, sign) - ppci["gencost"][gen, COST:COST+len(costs)] = costs - ppci["gencost"][gen, NCOST] = len(costs) / 2 - - -def costs_from_areas(points, sign): - costs = [] - c0 = 0 - last_upper = None - for lower, upper, slope in points: - if last_upper is None: - costs.append(lower) - c = c0 + lower * slope * sign - c0 = c - costs.append(c) - if last_upper is not None and last_upper != lower: - raise ValueError("Non-consecutive cost function areas") - last_upper = upper - costs.append(upper) - c = c0 + (upper - lower) * slope * sign - c0 = c - costs.append(c) - return costs - - -def _add_linear_costs_as_pwl_cost(ppci, net): - gens, cost, signs = _map_costs_to_gen(net, net.poly_cost) - ppci["gencost"][gens, NCOST] = 2 - pmin = ppci["gen"][gens, PMIN] - pmax = ppci["gen"][gens, PMAX] - ppci["gencost"][gens, COST] = pmin - ppci["gencost"][gens, COST + 1] = pmin * cost.cp1_eur_per_mw.values * signs - ppci["gencost"][gens, COST + 2] = pmax - ppci["gencost"][gens, COST + 3] = pmax * cost.cp1_eur_per_mw.values * signs +# -*- coding: utf-8 -*- + +# Copyright 1996-2015 PSERC. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + +from numpy import zeros, array +from pandapower.pypower.idx_cost import MODEL, NCOST, COST, PW_LINEAR, POLYNOMIAL +from pandapower.pypower.idx_gen import PMIN, PMAX + +try: + import pplog as logging +except ImportError: + import logging + +logger = logging.getLogger(__name__) + + +def _make_objective(ppci, net): + is_quadratic, q_costs = _init_gencost(ppci, net) + if len(net.pwl_cost): + ppci["gencost"][:, MODEL] = PW_LINEAR + ppci["gencost"][:, NCOST] = 2 + ppci["gencost"][:, COST + 2] = 1 + + _fill_gencost_pwl(ppci, net) + if is_quadratic: + raise ValueError("Piecewise linear costs can not be mixed with quadratic costs") + elif len(net.poly_cost): + _add_linear_costs_as_pwl_cost(ppci, net) + elif len(net.poly_cost): + ppci["gencost"][:, MODEL] = POLYNOMIAL + _fill_gencost_poly(ppci, net, is_quadratic, q_costs) + else: + logger.warning("no costs are given - overall generated power is minimized") + ppci["gencost"][:, MODEL] = POLYNOMIAL + ppci["gencost"][:, NCOST] = 2 + ppci["gencost"][:, COST] = 1 + return ppci + + +def _get_gen_index(net, et, element): + if et == "dcline": + dc_idx = net.dcline.index.get_loc(element) + element = len(net.gen.index) - 2*len(net.dcline) + dc_idx*2 + 1 + et = "gen" + lookup = "%s_controllable" % et if et in ["load", "sgen", "storage"] else et + try: + return int(net._pd2ppc_lookups[lookup][int(element)]) + except: + return None + + +def _map_costs_to_gen(net, cost): + gens = array([_get_gen_index(net, et, element) + for et, element in zip(cost.et.values, cost.element.values)]) + cost_is = array([gen is not None for gen in gens]) + cost = cost[cost_is] + gens = gens[cost_is].astype(int) + signs = array([-1 if element in ["load", "storage", "dcline"] else 1 for element in cost.et]) + return gens, cost, signs + + +def _init_gencost(ppci, net): + is_quadratic = net.poly_cost[["cp2_eur_per_mw2", "cq2_eur_per_mvar2"]].values.any() + q_costs = net.poly_cost[["cq1_eur_per_mvar", "cq2_eur_per_mvar2"]].values.any() or \ + "q" in net.pwl_cost.power_type.values + rows = len(ppci["gen"])*2 if q_costs else len(ppci["gen"]) + if len(net.pwl_cost): + nr_points = {len(p) for p in net.pwl_cost.points.values} + points = max(nr_points) + if is_quadratic: + raise ValueError("Quadratic costs can be mixed with piecewise linear costs") + columns = COST + (max(points, 2) + 1)*2 + else: + columns = COST + 3 if is_quadratic else COST + 2 + ppci["gencost"] = zeros((rows, columns), dtype=float) + return is_quadratic, q_costs + + +def _fill_gencost_poly(ppci, net, is_quadratic, q_costs): + gens, cost, signs = _map_costs_to_gen(net, net.poly_cost) + c0 = cost["cp0_eur"].values + c1 = cost["cp1_eur_per_mw"].values + signs = array([-1 if element in ["load", "storage", "dcline"] else 1 for element in cost.et]) + if is_quadratic: + c2 = cost["cp2_eur_per_mw2"] + ppci["gencost"][gens, NCOST] = 3 + ppci["gencost"][gens, COST] = c2 * signs + ppci["gencost"][gens, COST + 1] = c1 * signs + ppci["gencost"][gens, COST + 2] = c0 * signs + else: + ppci["gencost"][gens, NCOST] = 2 + ppci["gencost"][gens, COST] = c1 * signs + ppci["gencost"][gens, COST + 1] = c0 * signs + if q_costs: + gens_q = gens + len(ppci["gen"]) + c0 = cost["cq0_eur"].values + c1 = cost["cq1_eur_per_mvar"].values + signs = array([-1 if element in ["load", "storage"] else 1 for element in cost.et]) + if is_quadratic: + c2 = cost["cq2_eur_per_mvar2"] + ppci["gencost"][gens_q, NCOST] = 3 + ppci["gencost"][gens_q, COST] = c2 * signs + ppci["gencost"][gens_q, COST + 1] = c1 * signs + ppci["gencost"][gens_q, COST + 2] = c0 * signs + else: + ppci["gencost"][gens_q, NCOST] = 2 + ppci["gencost"][gens_q, COST] = c1 * signs + ppci["gencost"][gens_q, COST + 1] = c0 * signs + + +def _fill_gencost_pwl(ppci, net): + for power_mode, cost in net.pwl_cost.groupby("power_type"): + gens, cost, signs = _map_costs_to_gen(net, cost) + if power_mode == "q": + gens += len(ppci["gen"]) + for gen, points, sign in zip(gens, cost.points.values, signs): + costs = costs_from_areas(points, sign) + ppci["gencost"][gen, COST:COST+len(costs)] = costs + ppci["gencost"][gen, NCOST] = len(costs) / 2 + + +def costs_from_areas(points, sign): + costs = [] + c0 = 0 + last_upper = None + for lower, upper, slope in points: + if last_upper is None: + costs.append(lower) + c = c0 + lower * slope * sign + c0 = c + costs.append(c) + if last_upper is not None and last_upper != lower: + raise ValueError("Non-consecutive cost function areas") + last_upper = upper + costs.append(upper) + c = c0 + (upper - lower) * slope * sign + c0 = c + costs.append(c) + return costs + + +def _add_linear_costs_as_pwl_cost(ppci, net): + gens, cost, signs = _map_costs_to_gen(net, net.poly_cost) + ppci["gencost"][gens, NCOST] = 2 + pmin = ppci["gen"][gens, PMIN] + pmax = ppci["gen"][gens, PMAX] + ppci["gencost"][gens, COST] = pmin + ppci["gencost"][gens, COST + 1] = pmin * cost.cp1_eur_per_mw.values * signs + ppci["gencost"][gens, COST + 2] = pmax + ppci["gencost"][gens, COST + 3] = pmax * cost.cp1_eur_per_mw.values * signs diff --git a/pandapower/optimal_powerflow.py b/pandapower/optimal_powerflow.py index 02746899e..a44a28340 100644 --- a/pandapower/optimal_powerflow.py +++ b/pandapower/optimal_powerflow.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/pd2ppc.py b/pandapower/pd2ppc.py index afe2330e8..644f3e63b 100644 --- a/pandapower/pd2ppc.py +++ b/pandapower/pd2ppc.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. import numpy as np diff --git a/pandapower/pd2ppc_zero.py b/pandapower/pd2ppc_zero.py index f969dac19..290219f58 100644 --- a/pandapower/pd2ppc_zero.py +++ b/pandapower/pd2ppc_zero.py @@ -1,483 +1,483 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - -import math -import numpy as np -from itertools import product - -import pandapower.auxiliary as aux -from pandapower.build_bus import _build_bus_ppc -from pandapower.build_gen import _build_gen_ppc -#from pandapower.pd2ppc import _ppc2ppci, _init_ppc -from pandapower.pypower.idx_brch import BR_B, BR_R, BR_X, F_BUS, T_BUS, branch_cols, BR_STATUS, SHIFT, TAP -from pandapower.pypower.idx_bus import BASE_KV, BS, GS, BUS_TYPE -from pandapower.build_branch import _calc_tap_from_dataframe, _transformer_correction_factor, _calc_nominal_ratio_from_dataframe,\ - get_trafo_values, _trafo_df_from_trafo3w, _calc_branch_values_from_trafo_df -from pandapower.build_branch import _switch_branches, _branches_with_oos_buses, _initialize_branch_lookup, _end_temperature_correction_factor - -def _pd2ppc_zero(net, sequence=0): - from pandapower.pd2ppc import _ppc2ppci, _init_ppc - - """ - Builds the ppc data structure for zero impedance system. Includes the impedance values of - lines and transformers, but no load or generation data. - - For short-circuit calculation, the short-circuit impedance of external grids is also considered. - """ - # select elements in service (time consuming, so we do it once) - net["_is_elements"] = aux._select_is_elements_numba(net, sequence=sequence) - - ppc = _init_ppc(net, sequence) - - _build_bus_ppc(net, ppc) - _build_gen_ppc(net, ppc) - _add_gen_sc_impedance_zero(net, ppc) - _add_ext_grid_sc_impedance_zero(net, ppc) - _build_branch_ppc_zero(net, ppc) - - # adds auxilary buses for open switches at branches - _switch_branches(net, ppc) - - # add auxilary buses for out of service buses at in service lines. - # Also sets lines out of service if they are connected to two out of service buses - _branches_with_oos_buses(net, ppc) - if hasattr(net, "_isolated_buses"): - ppc["bus"][net._isolated_buses, BUS_TYPE] = 4. - - # generates "internal" ppci format (for powerflow calc) from "external" ppc format and updates the bus lookup - # Note: Also reorders buses and gens in ppc - ppci = _ppc2ppci(ppc, net) - #net._ppc0 = ppc <--Obsolete. now covered in _init_ppc - return ppc, ppci - -def _build_branch_ppc_zero(net, ppc): - """ - Takes the empty ppc network and fills it with the zero imepdance branch values. The branch - datatype will be np.complex 128 afterwards. - - .. note:: The order of branches in the ppc is: - 1. Lines - 2. Transformers - - **INPUT**: - **net** -The pandapower format network - - **ppc** - The PYPOWER format network to fill in values - - """ - length = _initialize_branch_lookup(net) - lookup = net._pd2ppc_lookups["branch"] - mode = net._options["mode"] - ppc["branch"] = np.zeros(shape=(length, branch_cols), dtype=np.complex128) - if mode == "sc": - from pandapower.shortcircuit.idx_brch import branch_cols_sc - branch_sc = np.empty(shape=(length, branch_cols_sc), dtype=float) - branch_sc.fill(np.nan) - ppc["branch"] = np.hstack((ppc["branch"], branch_sc )) - ppc["branch"][:, :13] = np.array([0, 0, 0, 0, 0, 250, 250, 250, 1, 0, 1, -360, 360]) - - _add_line_sc_impedance_zero(net, ppc) - _add_trafo_sc_impedance_zero(net, ppc) - if mode == "sc": - _add_trafo3w_sc_impedance_zero(net, ppc) - else: - if "trafo3w" in lookup: - raise NotImplementedError("Three winding transformers are not implemented for unbalanced calculations") - - -def _add_trafo_sc_impedance_zero(net, ppc, trafo_df=None): - if trafo_df is None: - trafo_df = net["trafo"] - branch_lookup = net["_pd2ppc_lookups"]["branch"] - if not "trafo" in branch_lookup: - return - bus_lookup = net["_pd2ppc_lookups"]["bus"] - mode = net["_options"]["mode"] - trafo_model = net["_options"]["trafo_model"] - f, t = branch_lookup["trafo"] - trafo_df["_ppc_idx"] = range(f, t) - bus_lookup = net["_pd2ppc_lookups"]["bus"] - - hv_bus = get_trafo_values(trafo_df, "hv_bus").astype(int) - lv_bus = get_trafo_values(trafo_df, "lv_bus").astype(int) - in_service = get_trafo_values(trafo_df, "in_service").astype(int) - ppc["branch"][f:t, F_BUS] = bus_lookup[hv_bus] - ppc["branch"][f:t, T_BUS] = bus_lookup[lv_bus] - buses_all, gs_all, bs_all = np.array([], dtype=int), np.array([]), \ - np.array([]) - if mode == "sc": - # Should be considered as connected for all in_service branches - ppc["branch"][f:t, BR_X] = 1e20 - ppc["branch"][f:t, BR_R] = 1e20 - ppc["branch"][f:t, BR_B] = 0 - ppc["branch"][f:t, BR_STATUS] = in_service - else: - ppc["branch"][f:t, BR_STATUS] = 0 - - if not "vector_group" in trafo_df: - raise ValueError("Vector Group of transformer needs to be specified for zero \ - sequence modelling \n Try : net.trafo[\"vector_group\"] = 'Dyn'" ) - - for vector_group, trafos in trafo_df.groupby("vector_group"): - ppc_idx = trafos["_ppc_idx"].values.astype(int) - - if vector_group in ["Yy", "Yd", "Dy", "Dd"]: - continue - - vk_percent = trafos["vk_percent"].values.astype(float) - vkr_percent = trafos["vkr_percent"].values.astype(float) - sn_mva = trafos["sn_mva"].values.astype(float) - # Just put pos seq parameter if zero seq parameter is zero - if not "vk0_percent" in trafos: - raise ValueError("Short circuit voltage of transformer Vk0 needs to be specified for zero \ - sequence modelling \n Try : net.trafo[\"vk0_percent\"] = net.trafo[\"vk_percent\"]" ) - vk0_percent = trafos["vk0_percent"].values.astype(float) if \ - trafos["vk0_percent"].values.astype(float).all() != 0. else \ - trafos["vk_percent"].values.astype(float) - # Just put pos seq parameter if zero seq parameter is zero - if not "vkr0_percent" in trafos: - raise ValueError("Real part of short circuit voltage Vk0(Real) needs to be specified for transformer \ - modelling \n Try : net.trafo[\"vkr0_percent\"] = net.trafo[\"vkr_percent\"]" ) - vkr0_percent = trafos["vkr0_percent"].values.astype(float) if \ - trafos["vkr0_percent"].values.astype(float).all() != 0. else \ - trafos["vkr_percent"].values.astype(float) - lv_buses = trafos["lv_bus"].values.astype(int) - hv_buses = trafos["hv_bus"].values.astype(int) - lv_buses_ppc = bus_lookup[lv_buses] - hv_buses_ppc = bus_lookup[hv_buses] - if not "mag0_percent" in trafos: - # For Shell Type transformers vk0 = vk * 1 - # and mag0_percent = 10 ... 100 Zm0/ Zsc0 - # --pg 50 DigSilent Power Factory Transformer manual - raise ValueError("Magnetizing impedance to vk0 ratio needs to be specified for transformer \ - modelling \n Try : net.trafo[\"mag0_percent\"] = 100" ) - mag0_ratio = trafos.mag0_percent.values.astype(float) - if not "mag0_rx" in trafos: - raise ValueError("Magnetizing impedance R/X ratio needs to be specified for transformer \ - modelling \n Try : net.trafo[\"mag0_rx\"] = 0 " ) - mag0_rx = trafos["mag0_rx"].values.astype(float) - if not "si0_hv_partial" in trafos: - raise ValueError("Zero sequence short circuit impedance partition towards HV side needs to be specified for transformer \ - modelling \n Try : net.trafo[\"si0_hv_partial\"] = 0.9 " ) - si0_hv_partial = trafos.si0_hv_partial.values.astype(float) - parallel = trafos.parallel.values.astype(float) - in_service = trafos["in_service"].astype(int) - - ppc["branch"][ppc_idx, F_BUS] = hv_buses_ppc - ppc["branch"][ppc_idx, T_BUS] = lv_buses_ppc - - vn_trafo_hv, vn_trafo_lv, shift = _calc_tap_from_dataframe(net, trafos) - vn_lv = ppc["bus"][lv_buses_ppc, BASE_KV] - ratio = _calc_nominal_ratio_from_dataframe(ppc, trafos, vn_trafo_hv, \ - vn_trafo_lv, bus_lookup) - ppc["branch"][ppc_idx, TAP] = ratio - ppc["branch"][ppc_idx, SHIFT] = shift - - # zero seq. transformer impedance - tap_lv = np.square(vn_trafo_lv / vn_lv) * net.sn_mva - if mode == 'pf_3ph': - # ============================================================================= - # Changing base from transformer base to Network base to get Zpu(Net) - # Zbase = (kV).squared/S_mva - # Zpu(Net)={Zpu(trafo) * Zb(trafo)} / {Zb(Net)} - # Note: - # Network base voltage is Line-Neutral voltage in each phase - # Line-Neutral voltage= Line-Line Voltage(vn_lv) divided by sq.root(3) - # ============================================================================= - tap_lv = np.square(vn_trafo_lv / vn_lv) * (3 * net.sn_mva) - - z_sc = vk0_percent / 100. / sn_mva * tap_lv - r_sc = vkr0_percent / 100. / sn_mva * tap_lv - z_sc = z_sc.astype(float) - r_sc = r_sc.astype(float) - x_sc = np.sign(z_sc) * np.sqrt(z_sc ** 2 - r_sc ** 2) - # TODO: This equation needs to be checked! - # z0_k = (r_sc + x_sc * 1j) / parallel * max(1, ratio) **2 - z0_k = (r_sc + x_sc * 1j) / parallel - y0_k = 1 / z0_k #adding admittance for "pi" model - if mode == "sc":# or trafo_model == "pi": - from pandapower.shortcircuit.idx_bus import C_MAX - cmax = net._ppc["bus"][lv_buses_ppc, C_MAX] - kt = _transformer_correction_factor(vk_percent, vkr_percent, \ - sn_mva, cmax) - z0_k *= kt - y0_k = 1 / z0_k - # ============================================================================= - # Transformer magnetising impedance for zero sequence - # ============================================================================= - z_m = z_sc * mag0_ratio - x_m = z_m / np.sqrt(mag0_rx ** 2 + 1) - r_m = x_m * mag0_rx - r0_trafo_mag = r_m / parallel - x0_trafo_mag = x_m / parallel - z0_mag = r0_trafo_mag + x0_trafo_mag * 1j - # ============================================================================= - # Star - Delta conversion ( T model to Pi Model) - # ----------- |__zc=ZAB__|----------------- - # _| _| - # za=ZAN|_| |_| zb=ZBN - # | | - # ============================================================================= - z1 = si0_hv_partial * z0_k - z2 = (1 - si0_hv_partial) * z0_k - z3 = z0_mag - z_temp = z1 * z2 + z2 * z3 + z1 * z3 - za = z_temp / z2 -# za = z_temp / (z2+z3) - zb = z_temp / z1 -# zb = z_temp / (z1+z3) - zc = z_temp / z3 # ZAB Transfer impedance -# zc = z_temp / (z1+z2) # ZAB Transfer impedance - YAB = 1 / zc.astype(complex) - YAN = 1 / za.astype(complex) - YBN = 1 / zb.astype(complex) - -# YAB_AN = (zc + za) /(zc * za).astype(complex) # Series conn YAB and YAN -# YAB_BN = (zc + zb) / (zc * zb).astype(complex) # Series conn YAB and YBN - - YAB_AN = 1 / (zc + za).astype(complex) # Series conn YAB and YAN - YAB_BN = 1 / (zc + zb).astype(complex) # Series conn YAB and YBN - - # y0_k = 1 / z0_k #adding admittance for "pi" model - if vector_group == "Dyn": - buses_all = np.hstack([buses_all, lv_buses_ppc]) - if trafo_model == "pi": - y = y0_k # pi model - else: - y = (YAB + YBN).astype(complex) # T model - gs_all = np.hstack([gs_all, y.real * in_service]) * int(ppc["baseMVA"]) - bs_all = np.hstack([bs_all, y.imag * in_service]) * int(ppc["baseMVA"]) - - elif vector_group == "YNd": - buses_all = np.hstack([buses_all, hv_buses_ppc]) - if trafo_model == "pi": - y = y0_k * ppc["baseMVA"] # pi model - else: - y = (YAB_BN + YAN).astype(complex) #T model - gs_all = np.hstack([gs_all, y.real * in_service]) * int(ppc["baseMVA"]) - bs_all = np.hstack([bs_all, y.imag * in_service]) * int(ppc["baseMVA"]) - - elif vector_group == "Yyn": - buses_all = np.hstack([buses_all, lv_buses_ppc]) - if trafo_model == "pi": - y = 1/(z0_mag+z0_k).astype(complex) #pi model - else: -# y = (YAB_AN + YBN).astype(complex) #T model - y = (YAB + YAB_BN + YBN).astype(complex) # T model - - gs_all = np.hstack([gs_all, y.real * in_service]) * int(ppc["baseMVA"]) - bs_all = np.hstack([bs_all, y.imag * in_service]) * int(ppc["baseMVA"]) - - elif vector_group == "YNyn": - ppc["branch"][ppc_idx, BR_STATUS] = in_service - # zc = ZAB - ppc["branch"][ppc_idx, BR_R] = zc.real - ppc["branch"][ppc_idx, BR_X] = zc.imag - - buses_all = np.hstack([buses_all, hv_buses_ppc]) - gs_all = np.hstack([gs_all, YAN.real * in_service \ - * int(ppc["baseMVA"])]) - bs_all = np.hstack([bs_all, YAN.imag * in_service \ - * int(ppc["baseMVA"])]) - - buses_all = np.hstack([buses_all, lv_buses_ppc]) - gs_all = np.hstack([gs_all, YBN.real * in_service \ - * int(ppc["baseMVA"])]) - bs_all = np.hstack([bs_all, YBN.imag * in_service \ - * int(ppc["baseMVA"])]) - - elif vector_group == "YNy": - buses_all = np.hstack([buses_all, hv_buses_ppc]) - if trafo_model == "pi": - y = 1/(z0_mag+z0_k).astype(complex)* int(ppc["baseMVA"])#pi model - else: - y = (YAB_BN + YAN).astype(complex) * int(ppc["baseMVA"]) #T model - gs_all = np.hstack([gs_all, y.real * in_service]) - bs_all = np.hstack([bs_all, y.imag * in_service]) - - elif vector_group == "Yzn": - buses_all = np.hstack([buses_all, lv_buses_ppc]) - # y = 1/(z0_mag+z0_k).astype(complex)* int(ppc["baseMVA"])#T model - # y= (za+zb+zc)/((za+zc)*zb).astype(complex)* int(ppc["baseMVA"])#pi model - y = (YAB_AN + YBN).astype(complex) * int(ppc["baseMVA"]) #T model - gs_all = np.hstack([gs_all, (1.1547) * y.real * in_service \ - * int(ppc["baseMVA"])]) - bs_all = np.hstack([bs_all, (1.1547) * y.imag * in_service \ - * int(ppc["baseMVA"])]) - - elif vector_group[-1].isdigit(): - raise ValueError("Unknown transformer vector group %s -\ - please specify vector group without \ - phase shift number. Phase shift can be \ - specified in net.trafo.shift_degree" % vector_group) - else: - raise ValueError("Transformer vector group %s is unknown\ - / not implemented for three phase load flow" % vector_group) - - buses, gs, bs = aux._sum_by_group(buses_all, gs_all, bs_all) - ppc["bus"][buses, GS] += gs - ppc["bus"][buses, BS] += bs - del net.trafo["_ppc_idx"] - - -def _add_gen_sc_impedance_zero(net, ppc): - mode = net["_options"]["mode"] - if mode == 'pf_3ph': - return - - eg = net["gen"][net._is_elements["gen"]] - if len(eg) == 0: - return - eg_buses = eg.bus.values - bus_lookup = net["_pd2ppc_lookups"]["bus"] - eg_buses_ppc = bus_lookup[eg_buses] - - y0_gen = 1 / (1e3 + 1e3*1j) - # buses, gs, bs = aux._sum_by_group(eg_buses_ppc, y0_gen.real, y0_gen.imag) - ppc["bus"][eg_buses_ppc, GS] += y0_gen.real - ppc["bus"][eg_buses_ppc, BS] += y0_gen.imag - -def _add_ext_grid_sc_impedance_zero(net, ppc): - mode = net["_options"]["mode"] - - if mode == "sc": - from pandapower.shortcircuit.idx_bus import C_MAX, C_MIN - case = net._options["case"] - else: - case = "max" - bus_lookup = net["_pd2ppc_lookups"]["bus"] - eg = net["ext_grid"][net._is_elements["ext_grid"]] - if len(eg) == 0: - return - eg_buses = eg.bus.values - eg_buses_ppc = bus_lookup[eg_buses] - - if mode == "sc": - c = ppc["bus"][eg_buses_ppc, C_MAX] if case == "max" else ppc["bus"][eg_buses_ppc, C_MIN] - else: - c = 1.1 - if not "s_sc_%s_mva" % case in eg: - raise ValueError("short circuit apparent power s_sc_%s_mva needs to be specified for "% case + - "external grid" ) - s_sc = eg["s_sc_%s_mva" % case].values - if not "rx_%s" % case in eg: - raise ValueError("short circuit R/X rate rx_%s needs to be specified for external grid" % - case) - rx = eg["rx_%s" % case].values - - z_grid = c / s_sc - if mode == 'pf_3ph': - z_grid = c / (s_sc/3) - x_grid = z_grid / np.sqrt(rx ** 2 + 1) - r_grid = rx * x_grid - eg["r"] = r_grid - eg["x"] = x_grid - - # ext_grid zero sequence impedance - if case == "max": - x0_grid = net.ext_grid["x0x_%s" % case] * x_grid - r0_grid = net.ext_grid["r0x0_%s" % case] * x0_grid - elif case == "min": - x0_grid = net.ext_grid["x0x_%s" % case] * x_grid - r0_grid = net.ext_grid["r0x0_%s" % case] * x0_grid - y0_grid = 1 / (r0_grid + x0_grid*1j) - - buses, gs, bs = aux._sum_by_group(eg_buses_ppc, y0_grid.values.real, y0_grid.values.imag) - ppc["bus"][buses, GS] = gs - ppc["bus"][buses, BS] = bs - - -def _add_line_sc_impedance_zero(net, ppc): - branch_lookup = net["_pd2ppc_lookups"]["branch"] - mode = net["_options"]["mode"] - if not "line" in branch_lookup: - return - line = net["line"] - bus_lookup = net["_pd2ppc_lookups"]["bus"] - length = line["length_km"].values - parallel = line["parallel"].values - - fb = bus_lookup[line["from_bus"].values] - tb = bus_lookup[line["to_bus"].values] - baseR = np.square(ppc["bus"][fb, BASE_KV]) / net.sn_mva - if mode == 'pf_3ph': - baseR = np.square(ppc["bus"][fb, BASE_KV]) / (3*net.sn_mva) - f, t = branch_lookup["line"] - # line zero sequence impedance - ppc["branch"][f:t, F_BUS] = fb - ppc["branch"][f:t, T_BUS] = tb - ppc["branch"][f:t, BR_R] = line["r0_ohm_per_km"].values * length / baseR / parallel - if mode == "sc": - # temperature correction - if net["_options"]["case"] == "min": - ppc["branch"][f:t, BR_R] *= _end_temperature_correction_factor(net, short_circuit=True) - ppc["branch"][f:t, BR_X] = line["x0_ohm_per_km"].values * length / baseR / parallel - ppc["branch"][f:t, BR_B] = (2 * net["f_hz"] * math.pi * line["c0_nf_per_km"].values * 1e-9 * baseR * length * parallel) - ppc["branch"][f:t, BR_STATUS] = line["in_service"].astype(int) - - -def _add_trafo3w_sc_impedance_zero(net, ppc): - branch_lookup = net["_pd2ppc_lookups"]["branch"] - if not "trafo3w" in branch_lookup: - return - bus_lookup = net["_pd2ppc_lookups"]["bus"] - branch = ppc["branch"] - f, t = net["_pd2ppc_lookups"]["branch"]["trafo3w"] - trafo_df = _trafo_df_from_trafo3w(net, sequence=0) - hv_bus = get_trafo_values(trafo_df, "hv_bus").astype(int) - lv_bus = get_trafo_values(trafo_df, "lv_bus").astype(int) - in_service = get_trafo_values(trafo_df, "in_service").astype(int) - branch[f:t, F_BUS] = bus_lookup[hv_bus] - branch[f:t, T_BUS] = bus_lookup[lv_bus] - - r, x, _, ratio, shift = _calc_branch_values_from_trafo_df(net, ppc, trafo_df, sequence=0) - - n_t3 = net.trafo3w.shape[0] - for t3_ix in np.arange(n_t3): - t3 = net.trafo3w.iloc[t3_ix, :] - - if t3.vector_group.lower() in set(map(lambda vg: "".join(vg), product("dy", repeat=3))): - x[[t3_ix, t3_ix+n_t3, t3_ix+n_t3*2]] = 1e10 - r[[t3_ix, t3_ix+n_t3, t3_ix+n_t3*2]] = 1e10 - elif t3.vector_group.lower() == "ynyd": - # Correction for YnYD - # z3->y3 - ys = 1 / ((x[t3_ix+n_t3*2] * 1j + r[t3_ix+n_t3*2]) * ratio[t3_ix+n_t3*2] ** 2) - aux_bus = bus_lookup[lv_bus[t3_ix]] - ppc["bus"][aux_bus, BS] += ys.imag - ppc["bus"][aux_bus, GS] += ys.real - - # Set y2/y3 to almost 0 to avoid isolated bus - x[[t3_ix+n_t3, t3_ix+n_t3*2]] = 1e10 - r[[t3_ix+n_t3, t3_ix+n_t3*2]] = 1e10 - elif t3.vector_group.lower() == "yynd": - # z3->y3 - ys = 1 / ((x[t3_ix+n_t3*2] * 1j + r[t3_ix+n_t3*2]) * ratio[t3_ix+n_t3*2] ** 2) - aux_bus = bus_lookup[lv_bus[t3_ix]] - ppc["bus"][aux_bus, BS] += ys.imag - ppc["bus"][aux_bus, GS] += ys.real - - # Set y1/y3 to almost 0 to avoid isolated bus - x[[t3_ix, t3_ix+n_t3*2]] = 1e10 - r[[t3_ix, t3_ix+n_t3*2]] = 1e10 - elif t3.vector_group.lower() == "ynynd": - # z3->y3 - ys = 1 / ((x[t3_ix+n_t3*2] * 1j + r[t3_ix+n_t3*2]) * ratio[t3_ix+n_t3*2] ** 2) - aux_bus = bus_lookup[lv_bus[t3_ix]] - ppc["bus"][aux_bus, BS] += ys.imag - ppc["bus"][aux_bus, GS] += ys.real - - # Set y3 to almost 0 to avoid isolated bus - x[t3_ix+n_t3*2] = 1e10 - r[t3_ix+n_t3*2] = 1e10 - else: - raise UserWarning(f"{t3.vector_group} not supported yet for trafo3w!") - - branch[f:t, BR_R] = r - branch[f:t, BR_X] = x - branch[f:t, BR_B] = 0 - branch[f:t, TAP] = ratio - branch[f:t, SHIFT] = shift - branch[f:t, BR_STATUS] = in_service +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + +import math +import numpy as np +from itertools import product + +import pandapower.auxiliary as aux +from pandapower.build_bus import _build_bus_ppc +from pandapower.build_gen import _build_gen_ppc +#from pandapower.pd2ppc import _ppc2ppci, _init_ppc +from pandapower.pypower.idx_brch import BR_B, BR_R, BR_X, F_BUS, T_BUS, branch_cols, BR_STATUS, SHIFT, TAP +from pandapower.pypower.idx_bus import BASE_KV, BS, GS, BUS_TYPE +from pandapower.build_branch import _calc_tap_from_dataframe, _transformer_correction_factor, _calc_nominal_ratio_from_dataframe,\ + get_trafo_values, _trafo_df_from_trafo3w, _calc_branch_values_from_trafo_df +from pandapower.build_branch import _switch_branches, _branches_with_oos_buses, _initialize_branch_lookup, _end_temperature_correction_factor + +def _pd2ppc_zero(net, sequence=0): + from pandapower.pd2ppc import _ppc2ppci, _init_ppc + + """ + Builds the ppc data structure for zero impedance system. Includes the impedance values of + lines and transformers, but no load or generation data. + + For short-circuit calculation, the short-circuit impedance of external grids is also considered. + """ + # select elements in service (time consuming, so we do it once) + net["_is_elements"] = aux._select_is_elements_numba(net, sequence=sequence) + + ppc = _init_ppc(net, sequence) + + _build_bus_ppc(net, ppc) + _build_gen_ppc(net, ppc) + _add_gen_sc_impedance_zero(net, ppc) + _add_ext_grid_sc_impedance_zero(net, ppc) + _build_branch_ppc_zero(net, ppc) + + # adds auxilary buses for open switches at branches + _switch_branches(net, ppc) + + # add auxilary buses for out of service buses at in service lines. + # Also sets lines out of service if they are connected to two out of service buses + _branches_with_oos_buses(net, ppc) + if hasattr(net, "_isolated_buses"): + ppc["bus"][net._isolated_buses, BUS_TYPE] = 4. + + # generates "internal" ppci format (for powerflow calc) from "external" ppc format and updates the bus lookup + # Note: Also reorders buses and gens in ppc + ppci = _ppc2ppci(ppc, net) + #net._ppc0 = ppc <--Obsolete. now covered in _init_ppc + return ppc, ppci + +def _build_branch_ppc_zero(net, ppc): + """ + Takes the empty ppc network and fills it with the zero imepdance branch values. The branch + datatype will be np.complex 128 afterwards. + + .. note:: The order of branches in the ppc is: + 1. Lines + 2. Transformers + + **INPUT**: + **net** -The pandapower format network + + **ppc** - The PYPOWER format network to fill in values + + """ + length = _initialize_branch_lookup(net) + lookup = net._pd2ppc_lookups["branch"] + mode = net._options["mode"] + ppc["branch"] = np.zeros(shape=(length, branch_cols), dtype=np.complex128) + if mode == "sc": + from pandapower.shortcircuit.idx_brch import branch_cols_sc + branch_sc = np.empty(shape=(length, branch_cols_sc), dtype=float) + branch_sc.fill(np.nan) + ppc["branch"] = np.hstack((ppc["branch"], branch_sc )) + ppc["branch"][:, :13] = np.array([0, 0, 0, 0, 0, 250, 250, 250, 1, 0, 1, -360, 360]) + + _add_line_sc_impedance_zero(net, ppc) + _add_trafo_sc_impedance_zero(net, ppc) + if mode == "sc": + _add_trafo3w_sc_impedance_zero(net, ppc) + else: + if "trafo3w" in lookup: + raise NotImplementedError("Three winding transformers are not implemented for unbalanced calculations") + + +def _add_trafo_sc_impedance_zero(net, ppc, trafo_df=None): + if trafo_df is None: + trafo_df = net["trafo"] + branch_lookup = net["_pd2ppc_lookups"]["branch"] + if not "trafo" in branch_lookup: + return + bus_lookup = net["_pd2ppc_lookups"]["bus"] + mode = net["_options"]["mode"] + trafo_model = net["_options"]["trafo_model"] + f, t = branch_lookup["trafo"] + trafo_df["_ppc_idx"] = range(f, t) + bus_lookup = net["_pd2ppc_lookups"]["bus"] + + hv_bus = get_trafo_values(trafo_df, "hv_bus").astype(int) + lv_bus = get_trafo_values(trafo_df, "lv_bus").astype(int) + in_service = get_trafo_values(trafo_df, "in_service").astype(int) + ppc["branch"][f:t, F_BUS] = bus_lookup[hv_bus] + ppc["branch"][f:t, T_BUS] = bus_lookup[lv_bus] + buses_all, gs_all, bs_all = np.array([], dtype=int), np.array([]), \ + np.array([]) + if mode == "sc": + # Should be considered as connected for all in_service branches + ppc["branch"][f:t, BR_X] = 1e20 + ppc["branch"][f:t, BR_R] = 1e20 + ppc["branch"][f:t, BR_B] = 0 + ppc["branch"][f:t, BR_STATUS] = in_service + else: + ppc["branch"][f:t, BR_STATUS] = 0 + + if not "vector_group" in trafo_df: + raise ValueError("Vector Group of transformer needs to be specified for zero \ + sequence modelling \n Try : net.trafo[\"vector_group\"] = 'Dyn'" ) + + for vector_group, trafos in trafo_df.groupby("vector_group"): + ppc_idx = trafos["_ppc_idx"].values.astype(int) + + if vector_group in ["Yy", "Yd", "Dy", "Dd"]: + continue + + vk_percent = trafos["vk_percent"].values.astype(float) + vkr_percent = trafos["vkr_percent"].values.astype(float) + sn_mva = trafos["sn_mva"].values.astype(float) + # Just put pos seq parameter if zero seq parameter is zero + if not "vk0_percent" in trafos: + raise ValueError("Short circuit voltage of transformer Vk0 needs to be specified for zero \ + sequence modelling \n Try : net.trafo[\"vk0_percent\"] = net.trafo[\"vk_percent\"]" ) + vk0_percent = trafos["vk0_percent"].values.astype(float) if \ + trafos["vk0_percent"].values.astype(float).all() != 0. else \ + trafos["vk_percent"].values.astype(float) + # Just put pos seq parameter if zero seq parameter is zero + if not "vkr0_percent" in trafos: + raise ValueError("Real part of short circuit voltage Vk0(Real) needs to be specified for transformer \ + modelling \n Try : net.trafo[\"vkr0_percent\"] = net.trafo[\"vkr_percent\"]" ) + vkr0_percent = trafos["vkr0_percent"].values.astype(float) if \ + trafos["vkr0_percent"].values.astype(float).all() != 0. else \ + trafos["vkr_percent"].values.astype(float) + lv_buses = trafos["lv_bus"].values.astype(int) + hv_buses = trafos["hv_bus"].values.astype(int) + lv_buses_ppc = bus_lookup[lv_buses] + hv_buses_ppc = bus_lookup[hv_buses] + if not "mag0_percent" in trafos: + # For Shell Type transformers vk0 = vk * 1 + # and mag0_percent = 10 ... 100 Zm0/ Zsc0 + # --pg 50 DigSilent Power Factory Transformer manual + raise ValueError("Magnetizing impedance to vk0 ratio needs to be specified for transformer \ + modelling \n Try : net.trafo[\"mag0_percent\"] = 100" ) + mag0_ratio = trafos.mag0_percent.values.astype(float) + if not "mag0_rx" in trafos: + raise ValueError("Magnetizing impedance R/X ratio needs to be specified for transformer \ + modelling \n Try : net.trafo[\"mag0_rx\"] = 0 " ) + mag0_rx = trafos["mag0_rx"].values.astype(float) + if not "si0_hv_partial" in trafos: + raise ValueError("Zero sequence short circuit impedance partition towards HV side needs to be specified for transformer \ + modelling \n Try : net.trafo[\"si0_hv_partial\"] = 0.9 " ) + si0_hv_partial = trafos.si0_hv_partial.values.astype(float) + parallel = trafos.parallel.values.astype(float) + in_service = trafos["in_service"].astype(int) + + ppc["branch"][ppc_idx, F_BUS] = hv_buses_ppc + ppc["branch"][ppc_idx, T_BUS] = lv_buses_ppc + + vn_trafo_hv, vn_trafo_lv, shift = _calc_tap_from_dataframe(net, trafos) + vn_lv = ppc["bus"][lv_buses_ppc, BASE_KV] + ratio = _calc_nominal_ratio_from_dataframe(ppc, trafos, vn_trafo_hv, \ + vn_trafo_lv, bus_lookup) + ppc["branch"][ppc_idx, TAP] = ratio + ppc["branch"][ppc_idx, SHIFT] = shift + + # zero seq. transformer impedance + tap_lv = np.square(vn_trafo_lv / vn_lv) * net.sn_mva + if mode == 'pf_3ph': + # ============================================================================= + # Changing base from transformer base to Network base to get Zpu(Net) + # Zbase = (kV).squared/S_mva + # Zpu(Net)={Zpu(trafo) * Zb(trafo)} / {Zb(Net)} + # Note: + # Network base voltage is Line-Neutral voltage in each phase + # Line-Neutral voltage= Line-Line Voltage(vn_lv) divided by sq.root(3) + # ============================================================================= + tap_lv = np.square(vn_trafo_lv / vn_lv) * (3 * net.sn_mva) + + z_sc = vk0_percent / 100. / sn_mva * tap_lv + r_sc = vkr0_percent / 100. / sn_mva * tap_lv + z_sc = z_sc.astype(float) + r_sc = r_sc.astype(float) + x_sc = np.sign(z_sc) * np.sqrt(z_sc ** 2 - r_sc ** 2) + # TODO: This equation needs to be checked! + # z0_k = (r_sc + x_sc * 1j) / parallel * max(1, ratio) **2 + z0_k = (r_sc + x_sc * 1j) / parallel + y0_k = 1 / z0_k #adding admittance for "pi" model + if mode == "sc":# or trafo_model == "pi": + from pandapower.shortcircuit.idx_bus import C_MAX + cmax = net._ppc["bus"][lv_buses_ppc, C_MAX] + kt = _transformer_correction_factor(vk_percent, vkr_percent, \ + sn_mva, cmax) + z0_k *= kt + y0_k = 1 / z0_k + # ============================================================================= + # Transformer magnetising impedance for zero sequence + # ============================================================================= + z_m = z_sc * mag0_ratio + x_m = z_m / np.sqrt(mag0_rx ** 2 + 1) + r_m = x_m * mag0_rx + r0_trafo_mag = r_m / parallel + x0_trafo_mag = x_m / parallel + z0_mag = r0_trafo_mag + x0_trafo_mag * 1j + # ============================================================================= + # Star - Delta conversion ( T model to Pi Model) + # ----------- |__zc=ZAB__|----------------- + # _| _| + # za=ZAN|_| |_| zb=ZBN + # | | + # ============================================================================= + z1 = si0_hv_partial * z0_k + z2 = (1 - si0_hv_partial) * z0_k + z3 = z0_mag + z_temp = z1 * z2 + z2 * z3 + z1 * z3 + za = z_temp / z2 +# za = z_temp / (z2+z3) + zb = z_temp / z1 +# zb = z_temp / (z1+z3) + zc = z_temp / z3 # ZAB Transfer impedance +# zc = z_temp / (z1+z2) # ZAB Transfer impedance + YAB = 1 / zc.astype(complex) + YAN = 1 / za.astype(complex) + YBN = 1 / zb.astype(complex) + +# YAB_AN = (zc + za) /(zc * za).astype(complex) # Series conn YAB and YAN +# YAB_BN = (zc + zb) / (zc * zb).astype(complex) # Series conn YAB and YBN + + YAB_AN = 1 / (zc + za).astype(complex) # Series conn YAB and YAN + YAB_BN = 1 / (zc + zb).astype(complex) # Series conn YAB and YBN + + # y0_k = 1 / z0_k #adding admittance for "pi" model + if vector_group == "Dyn": + buses_all = np.hstack([buses_all, lv_buses_ppc]) + if trafo_model == "pi": + y = y0_k # pi model + else: + y = (YAB + YBN).astype(complex) # T model + gs_all = np.hstack([gs_all, y.real * in_service]) * int(ppc["baseMVA"]) + bs_all = np.hstack([bs_all, y.imag * in_service]) * int(ppc["baseMVA"]) + + elif vector_group == "YNd": + buses_all = np.hstack([buses_all, hv_buses_ppc]) + if trafo_model == "pi": + y = y0_k * ppc["baseMVA"] # pi model + else: + y = (YAB_BN + YAN).astype(complex) #T model + gs_all = np.hstack([gs_all, y.real * in_service]) * int(ppc["baseMVA"]) + bs_all = np.hstack([bs_all, y.imag * in_service]) * int(ppc["baseMVA"]) + + elif vector_group == "Yyn": + buses_all = np.hstack([buses_all, lv_buses_ppc]) + if trafo_model == "pi": + y = 1/(z0_mag+z0_k).astype(complex) #pi model + else: +# y = (YAB_AN + YBN).astype(complex) #T model + y = (YAB + YAB_BN + YBN).astype(complex) # T model + + gs_all = np.hstack([gs_all, y.real * in_service]) * int(ppc["baseMVA"]) + bs_all = np.hstack([bs_all, y.imag * in_service]) * int(ppc["baseMVA"]) + + elif vector_group == "YNyn": + ppc["branch"][ppc_idx, BR_STATUS] = in_service + # zc = ZAB + ppc["branch"][ppc_idx, BR_R] = zc.real + ppc["branch"][ppc_idx, BR_X] = zc.imag + + buses_all = np.hstack([buses_all, hv_buses_ppc]) + gs_all = np.hstack([gs_all, YAN.real * in_service \ + * int(ppc["baseMVA"])]) + bs_all = np.hstack([bs_all, YAN.imag * in_service \ + * int(ppc["baseMVA"])]) + + buses_all = np.hstack([buses_all, lv_buses_ppc]) + gs_all = np.hstack([gs_all, YBN.real * in_service \ + * int(ppc["baseMVA"])]) + bs_all = np.hstack([bs_all, YBN.imag * in_service \ + * int(ppc["baseMVA"])]) + + elif vector_group == "YNy": + buses_all = np.hstack([buses_all, hv_buses_ppc]) + if trafo_model == "pi": + y = 1/(z0_mag+z0_k).astype(complex)* int(ppc["baseMVA"])#pi model + else: + y = (YAB_BN + YAN).astype(complex) * int(ppc["baseMVA"]) #T model + gs_all = np.hstack([gs_all, y.real * in_service]) + bs_all = np.hstack([bs_all, y.imag * in_service]) + + elif vector_group == "Yzn": + buses_all = np.hstack([buses_all, lv_buses_ppc]) + # y = 1/(z0_mag+z0_k).astype(complex)* int(ppc["baseMVA"])#T model + # y= (za+zb+zc)/((za+zc)*zb).astype(complex)* int(ppc["baseMVA"])#pi model + y = (YAB_AN + YBN).astype(complex) * int(ppc["baseMVA"]) #T model + gs_all = np.hstack([gs_all, (1.1547) * y.real * in_service \ + * int(ppc["baseMVA"])]) + bs_all = np.hstack([bs_all, (1.1547) * y.imag * in_service \ + * int(ppc["baseMVA"])]) + + elif vector_group[-1].isdigit(): + raise ValueError("Unknown transformer vector group %s -\ + please specify vector group without \ + phase shift number. Phase shift can be \ + specified in net.trafo.shift_degree" % vector_group) + else: + raise ValueError("Transformer vector group %s is unknown\ + / not implemented for three phase load flow" % vector_group) + + buses, gs, bs = aux._sum_by_group(buses_all, gs_all, bs_all) + ppc["bus"][buses, GS] += gs + ppc["bus"][buses, BS] += bs + del net.trafo["_ppc_idx"] + + +def _add_gen_sc_impedance_zero(net, ppc): + mode = net["_options"]["mode"] + if mode == 'pf_3ph': + return + + eg = net["gen"][net._is_elements["gen"]] + if len(eg) == 0: + return + eg_buses = eg.bus.values + bus_lookup = net["_pd2ppc_lookups"]["bus"] + eg_buses_ppc = bus_lookup[eg_buses] + + y0_gen = 1 / (1e3 + 1e3*1j) + # buses, gs, bs = aux._sum_by_group(eg_buses_ppc, y0_gen.real, y0_gen.imag) + ppc["bus"][eg_buses_ppc, GS] += y0_gen.real + ppc["bus"][eg_buses_ppc, BS] += y0_gen.imag + +def _add_ext_grid_sc_impedance_zero(net, ppc): + mode = net["_options"]["mode"] + + if mode == "sc": + from pandapower.shortcircuit.idx_bus import C_MAX, C_MIN + case = net._options["case"] + else: + case = "max" + bus_lookup = net["_pd2ppc_lookups"]["bus"] + eg = net["ext_grid"][net._is_elements["ext_grid"]] + if len(eg) == 0: + return + eg_buses = eg.bus.values + eg_buses_ppc = bus_lookup[eg_buses] + + if mode == "sc": + c = ppc["bus"][eg_buses_ppc, C_MAX] if case == "max" else ppc["bus"][eg_buses_ppc, C_MIN] + else: + c = 1.1 + if not "s_sc_%s_mva" % case in eg: + raise ValueError("short circuit apparent power s_sc_%s_mva needs to be specified for "% case + + "external grid" ) + s_sc = eg["s_sc_%s_mva" % case].values + if not "rx_%s" % case in eg: + raise ValueError("short circuit R/X rate rx_%s needs to be specified for external grid" % + case) + rx = eg["rx_%s" % case].values + + z_grid = c / s_sc + if mode == 'pf_3ph': + z_grid = c / (s_sc/3) + x_grid = z_grid / np.sqrt(rx ** 2 + 1) + r_grid = rx * x_grid + eg["r"] = r_grid + eg["x"] = x_grid + + # ext_grid zero sequence impedance + if case == "max": + x0_grid = net.ext_grid["x0x_%s" % case] * x_grid + r0_grid = net.ext_grid["r0x0_%s" % case] * x0_grid + elif case == "min": + x0_grid = net.ext_grid["x0x_%s" % case] * x_grid + r0_grid = net.ext_grid["r0x0_%s" % case] * x0_grid + y0_grid = 1 / (r0_grid + x0_grid*1j) + + buses, gs, bs = aux._sum_by_group(eg_buses_ppc, y0_grid.values.real, y0_grid.values.imag) + ppc["bus"][buses, GS] = gs + ppc["bus"][buses, BS] = bs + + +def _add_line_sc_impedance_zero(net, ppc): + branch_lookup = net["_pd2ppc_lookups"]["branch"] + mode = net["_options"]["mode"] + if not "line" in branch_lookup: + return + line = net["line"] + bus_lookup = net["_pd2ppc_lookups"]["bus"] + length = line["length_km"].values + parallel = line["parallel"].values + + fb = bus_lookup[line["from_bus"].values] + tb = bus_lookup[line["to_bus"].values] + baseR = np.square(ppc["bus"][fb, BASE_KV]) / net.sn_mva + if mode == 'pf_3ph': + baseR = np.square(ppc["bus"][fb, BASE_KV]) / (3*net.sn_mva) + f, t = branch_lookup["line"] + # line zero sequence impedance + ppc["branch"][f:t, F_BUS] = fb + ppc["branch"][f:t, T_BUS] = tb + ppc["branch"][f:t, BR_R] = line["r0_ohm_per_km"].values * length / baseR / parallel + if mode == "sc": + # temperature correction + if net["_options"]["case"] == "min": + ppc["branch"][f:t, BR_R] *= _end_temperature_correction_factor(net, short_circuit=True) + ppc["branch"][f:t, BR_X] = line["x0_ohm_per_km"].values * length / baseR / parallel + ppc["branch"][f:t, BR_B] = (2 * net["f_hz"] * math.pi * line["c0_nf_per_km"].values * 1e-9 * baseR * length * parallel) + ppc["branch"][f:t, BR_STATUS] = line["in_service"].astype(int) + + +def _add_trafo3w_sc_impedance_zero(net, ppc): + branch_lookup = net["_pd2ppc_lookups"]["branch"] + if not "trafo3w" in branch_lookup: + return + bus_lookup = net["_pd2ppc_lookups"]["bus"] + branch = ppc["branch"] + f, t = net["_pd2ppc_lookups"]["branch"]["trafo3w"] + trafo_df = _trafo_df_from_trafo3w(net, sequence=0) + hv_bus = get_trafo_values(trafo_df, "hv_bus").astype(int) + lv_bus = get_trafo_values(trafo_df, "lv_bus").astype(int) + in_service = get_trafo_values(trafo_df, "in_service").astype(int) + branch[f:t, F_BUS] = bus_lookup[hv_bus] + branch[f:t, T_BUS] = bus_lookup[lv_bus] + + r, x, _, ratio, shift = _calc_branch_values_from_trafo_df(net, ppc, trafo_df, sequence=0) + + n_t3 = net.trafo3w.shape[0] + for t3_ix in np.arange(n_t3): + t3 = net.trafo3w.iloc[t3_ix, :] + + if t3.vector_group.lower() in set(map(lambda vg: "".join(vg), product("dy", repeat=3))): + x[[t3_ix, t3_ix+n_t3, t3_ix+n_t3*2]] = 1e10 + r[[t3_ix, t3_ix+n_t3, t3_ix+n_t3*2]] = 1e10 + elif t3.vector_group.lower() == "ynyd": + # Correction for YnYD + # z3->y3 + ys = 1 / ((x[t3_ix+n_t3*2] * 1j + r[t3_ix+n_t3*2]) * ratio[t3_ix+n_t3*2] ** 2) + aux_bus = bus_lookup[lv_bus[t3_ix]] + ppc["bus"][aux_bus, BS] += ys.imag + ppc["bus"][aux_bus, GS] += ys.real + + # Set y2/y3 to almost 0 to avoid isolated bus + x[[t3_ix+n_t3, t3_ix+n_t3*2]] = 1e10 + r[[t3_ix+n_t3, t3_ix+n_t3*2]] = 1e10 + elif t3.vector_group.lower() == "yynd": + # z3->y3 + ys = 1 / ((x[t3_ix+n_t3*2] * 1j + r[t3_ix+n_t3*2]) * ratio[t3_ix+n_t3*2] ** 2) + aux_bus = bus_lookup[lv_bus[t3_ix]] + ppc["bus"][aux_bus, BS] += ys.imag + ppc["bus"][aux_bus, GS] += ys.real + + # Set y1/y3 to almost 0 to avoid isolated bus + x[[t3_ix, t3_ix+n_t3*2]] = 1e10 + r[[t3_ix, t3_ix+n_t3*2]] = 1e10 + elif t3.vector_group.lower() == "ynynd": + # z3->y3 + ys = 1 / ((x[t3_ix+n_t3*2] * 1j + r[t3_ix+n_t3*2]) * ratio[t3_ix+n_t3*2] ** 2) + aux_bus = bus_lookup[lv_bus[t3_ix]] + ppc["bus"][aux_bus, BS] += ys.imag + ppc["bus"][aux_bus, GS] += ys.real + + # Set y3 to almost 0 to avoid isolated bus + x[t3_ix+n_t3*2] = 1e10 + r[t3_ix+n_t3*2] = 1e10 + else: + raise UserWarning(f"{t3.vector_group} not supported yet for trafo3w!") + + branch[f:t, BR_R] = r + branch[f:t, BR_X] = x + branch[f:t, BR_B] = 0 + branch[f:t, TAP] = ratio + branch[f:t, SHIFT] = shift + branch[f:t, BR_STATUS] = in_service diff --git a/pandapower/pf/create_jacobian_numba.py b/pandapower/pf/create_jacobian_numba.py index 2d7901bbe..a14e059c7 100644 --- a/pandapower/pf/create_jacobian_numba.py +++ b/pandapower/pf/create_jacobian_numba.py @@ -4,7 +4,7 @@ # Use of this source code is governed by a BSD-style # license that can be found in the LICENSE file. -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. # DEBUG = False diff --git a/pandapower/pf/dSbus_dV_numba.py b/pandapower/pf/dSbus_dV_numba.py index 601f7c55c..4f2dbad0c 100644 --- a/pandapower/pf/dSbus_dV_numba.py +++ b/pandapower/pf/dSbus_dV_numba.py @@ -1,82 +1,82 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -from numba import jit -from numpy import conj, zeros, complex128 -from scipy.sparse import issparse, csr_matrix as sparse -from pandapower.pypower.dSbus_dV import dSbus_dV_dense - - -# @jit(Tuple((c16[:], c16[:]))(c16[:], i4[:], i4[:], c16[:], c16[:]), nopython=True, cache=False) -@jit(nopython=True, cache=False) -def dSbus_dV_numba_sparse(Yx, Yp, Yj, V, Vnorm, Ibus): # pragma: no cover - """Computes partial derivatives of power injection w.r.t. voltage. - - Calculates faster with numba and sparse matrices. - - Input: Ybus in CSR sparse form (Yx = data, Yp = indptr, Yj = indices), V and Vnorm (= V / abs(V)) - - OUTPUT: data from CSR form of dS_dVm, dS_dVa - (index pointer and indices are the same as the ones from Ybus) - - Translation of: dS_dVm = dS_dVm = diagV * conj(Ybus * diagVnorm) + conj(diagIbus) * diagVnorm - dS_dVa = 1j * diagV * conj(diagIbus - Ybus * diagV) - """ - - # transform input - - # init buffer vector - buffer = zeros(len(V), dtype=complex128) - dS_dVm = Yx.copy() - dS_dVa = Yx.copy() - - # iterate through sparse matrix - for r in range(len(Yp) - 1): - for k in range(Yp[r], Yp[r + 1]): - # Ibus = Ybus * V - buffer[r] += Yx[k] * V[Yj[k]] - # Ybus * diag(Vnorm) - dS_dVm[k] *= Vnorm[Yj[k]] - # Ybus * diag(V) - dS_dVa[k] *= V[Yj[k]] - - Ibus[r] += buffer[r] - - # conj(diagIbus) * diagVnorm - buffer[r] = conj(buffer[r]) * Vnorm[r] - - for r in range(len(Yp) - 1): - for k in range(Yp[r], Yp[r + 1]): - # diag(V) * conj(Ybus * diagVnorm) - dS_dVm[k] = conj(dS_dVm[k]) * V[r] - - if r == Yj[k]: - # diagonal elements - dS_dVa[k] = -Ibus[r] + dS_dVa[k] - dS_dVm[k] += buffer[r] - - # 1j * diagV * conj(diagIbus - Ybus * diagV) - dS_dVa[k] = conj(-dS_dVa[k]) * (1j * V[r]) - - return dS_dVm, dS_dVa - - -def dSbus_dV(Ybus, V, I=None): - """ - Calls functions to calculate dS/dV depending on whether Ybus is sparse or not - """ - - if issparse(Ybus): - # I is substracted from Y*V, - # therefore it must be negative for numba version of dSbus_dV if it is not zeros anyways - I = zeros(len(V), dtype=complex128) if I is None else -I - # calculates sparse data - dS_dVm, dS_dVa = dSbus_dV_numba_sparse(Ybus.data, Ybus.indptr, Ybus.indices, V, V / abs(V), I) - # generate sparse CSR matrices with computed data and return them - return sparse((dS_dVm, Ybus.indices, Ybus.indptr)), sparse((dS_dVa, Ybus.indices, Ybus.indptr)) - else: - I = zeros(len(V), dtype=complex128) if I is None else I - return dSbus_dV_dense(Ybus, V, I) +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +from numba import jit +from numpy import conj, zeros, complex128 +from scipy.sparse import issparse, csr_matrix as sparse +from pandapower.pypower.dSbus_dV import dSbus_dV_dense + + +# @jit(Tuple((c16[:], c16[:]))(c16[:], i4[:], i4[:], c16[:], c16[:]), nopython=True, cache=False) +@jit(nopython=True, cache=False) +def dSbus_dV_numba_sparse(Yx, Yp, Yj, V, Vnorm, Ibus): # pragma: no cover + """Computes partial derivatives of power injection w.r.t. voltage. + + Calculates faster with numba and sparse matrices. + + Input: Ybus in CSR sparse form (Yx = data, Yp = indptr, Yj = indices), V and Vnorm (= V / abs(V)) + + OUTPUT: data from CSR form of dS_dVm, dS_dVa + (index pointer and indices are the same as the ones from Ybus) + + Translation of: dS_dVm = dS_dVm = diagV * conj(Ybus * diagVnorm) + conj(diagIbus) * diagVnorm + dS_dVa = 1j * diagV * conj(diagIbus - Ybus * diagV) + """ + + # transform input + + # init buffer vector + buffer = zeros(len(V), dtype=complex128) + dS_dVm = Yx.copy() + dS_dVa = Yx.copy() + + # iterate through sparse matrix + for r in range(len(Yp) - 1): + for k in range(Yp[r], Yp[r + 1]): + # Ibus = Ybus * V + buffer[r] += Yx[k] * V[Yj[k]] + # Ybus * diag(Vnorm) + dS_dVm[k] *= Vnorm[Yj[k]] + # Ybus * diag(V) + dS_dVa[k] *= V[Yj[k]] + + Ibus[r] += buffer[r] + + # conj(diagIbus) * diagVnorm + buffer[r] = conj(buffer[r]) * Vnorm[r] + + for r in range(len(Yp) - 1): + for k in range(Yp[r], Yp[r + 1]): + # diag(V) * conj(Ybus * diagVnorm) + dS_dVm[k] = conj(dS_dVm[k]) * V[r] + + if r == Yj[k]: + # diagonal elements + dS_dVa[k] = -Ibus[r] + dS_dVa[k] + dS_dVm[k] += buffer[r] + + # 1j * diagV * conj(diagIbus - Ybus * diagV) + dS_dVa[k] = conj(-dS_dVa[k]) * (1j * V[r]) + + return dS_dVm, dS_dVa + + +def dSbus_dV(Ybus, V, I=None): + """ + Calls functions to calculate dS/dV depending on whether Ybus is sparse or not + """ + + if issparse(Ybus): + # I is substracted from Y*V, + # therefore it must be negative for numba version of dSbus_dV if it is not zeros anyways + I = zeros(len(V), dtype=complex128) if I is None else -I + # calculates sparse data + dS_dVm, dS_dVa = dSbus_dV_numba_sparse(Ybus.data, Ybus.indptr, Ybus.indices, V, V / abs(V), I) + # generate sparse CSR matrices with computed data and return them + return sparse((dS_dVm, Ybus.indices, Ybus.indptr)), sparse((dS_dVa, Ybus.indices, Ybus.indptr)) + else: + I = zeros(len(V), dtype=complex128) if I is None else I + return dSbus_dV_dense(Ybus, V, I) diff --git a/pandapower/pf/makeYbus_numba.py b/pandapower/pf/makeYbus_numba.py index 781379cd0..49c40e73d 100644 --- a/pandapower/pf/makeYbus_numba.py +++ b/pandapower/pf/makeYbus_numba.py @@ -1,169 +1,169 @@ -# -*- coding: utf-8 -*- - -# Copyright 1996-2015 PSERC. All rights reserved. -# Use of this source code is governed by a BSD-style -# license that can be found in the LICENSE file. - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import numpy as np -from numba import jit -from scipy.sparse import csr_matrix, coo_matrix - -from pandapower.pypower.idx_brch import F_BUS, T_BUS -from pandapower.pypower.idx_bus import GS, BS -from pandapower.pypower.makeYbus import branch_vectors - - -@jit(nopython=True, cache=False) -def gen_Ybus(Yf_x, Yt_x, Ysh, col_Y, f, t, f_sort, t_sort, nb, nl, r_nl): # pragma: no cover - """ - Fast calculation of Ybus - """ - - r_nb = range(nb) - - # allocate data of Ybus in CSR format - # Note: More space is allocated than needed with empty. - # The matrix size will be reduced afterwards - alloc_size = nl * 2 + nb - Yx = np.empty(alloc_size, dtype=np.complex128) # data - Yp = np.zeros(nb + 1, dtype=np.int64) # row pointer - Yj = np.empty(alloc_size, dtype=np.int64) # colum indices - - # index iterators - # a = iterator of f, b = iterator of t, curRow = current Row - a, b, curRow = 0, 0, 0 - # number of nonzeros (total), number of nonzeros per row - nnz, nnz_row = 0, 0 - # flag checks if diagonal entry was added - YshAdded = False - - for curRow in r_nb: - nnz_row = 0 - # iterate rows of Ybus - - # add entries from Yf - while a < nl and f[f_sort[a]] == curRow: - # Entries from f_sort[a] in current row of Ybus - for col in (r_nl[f_sort[a]], r_nl[f_sort[a]] + nl): - # 'Has entry at column in Yf: %i ' % col - if col_Y[col] == curRow and not YshAdded: - # add Ysh and Yf_x (diagonal element). If not already added - curVal = Yf_x[col] + Ysh[curRow] - YshAdded = True - else: - # add only Yf_x - curVal = Yf_x[col] - - for k in range(Yp[curRow], Yp[curRow] + nnz_row): - if col_Y[col] == Yj[k]: - # if entry at column already exists add value - Yx[k] += curVal - break - else: - # new entry in Ybus - Yx[nnz] = curVal - Yj[nnz] = col_Y[col] - nnz += 1 - nnz_row += 1 - a += 1 - - # add entries from Yt - while b < nl and t[t_sort[b]] == curRow: - # Entries from t_sort[b] in current row of Ybus - for col in (r_nl[t_sort[b]], r_nl[t_sort[b]] + nl): - # 'Has entry at column in Yt: %i ' % col - if col_Y[col] == curRow and not YshAdded: - # add Ysh and Yf_x (diagonal element). If not already added - curVal = Yt_x[col] + Ysh[curRow] - YshAdded = True - else: - # add only Yt_x - curVal = Yt_x[col] - - for k in range(Yp[curRow], Yp[curRow] + nnz_row): - if col_Y[col] == Yj[k]: - # if entry at column already exists add value - Yx[k] += curVal - break - else: - # new entry in Ybus - Yx[nnz] = curVal - Yj[nnz] = col_Y[col] - nnz += 1 - nnz_row += 1 - b += 1 - - if not YshAdded: - # check if diagonal entry was added. If not -> add if not zero - if Ysh[curRow]: - Yx[nnz] = Ysh[curRow] - Yj[nnz] = curRow - nnz += 1 - nnz_row += 1 - - YshAdded = False - # add number of nonzeros in row to row pointer - Yp[curRow + 1] = nnz_row + Yp[curRow] - curRow += 1 - - return Yx, Yj, Yp, nnz - - -def makeYbus(baseMVA, bus, branch): - """Builds the bus admittance matrix and branch admittance matrices. - - Returns the full bus admittance matrix (i.e. for all buses) and the - matrices C{Yf} and C{Yt} which, when multiplied by a complex voltage - vector, yield the vector currents injected into each line from the - "from" and "to" buses respectively of each line. Does appropriate - conversions to p.u. - - @see: L{makeSbus} - - @author: Ray Zimmerman (PSERC Cornell) - @author: Richard Lincoln - - modified by Florian Schaefer (to use numba) (florian.schaefer@uni-kassel.de) - """ - ## constants - nb = bus.shape[0] ## number of buses - nl = branch.shape[0] ## number of lines - - ## for each branch, compute the elements of the branch admittance matrix where - ## - ## | If | | Yff Yft | | Vf | - ## | | = | | * | | - ## | It | | Ytf Ytt | | Vt | - ## - Ytt, Yff, Yft, Ytf = branch_vectors(branch, nl) - - ## compute shunt admittance - ## if Psh is the real power consumed by the shunt at V = 1.0 p.u. - ## and Qsh is the reactive power injected by the shunt at V = 1.0 p.u. - ## then Psh - j Qsh = V * conj(Ysh * V) = conj(Ysh) = Gs - j Bs, - ## i.e. Ysh = Psh + j Qsh, so ... - ## vector of shunt admittances - Ysh = (bus[:, GS] + 1j * bus[:, BS]) / baseMVA - - ## build connection matrices - f = np.real(branch[:, F_BUS]).astype(int) ## list of "from" buses - t = np.real(branch[:, T_BUS]).astype(int) ## list of "to" buses - - ## build Yf and Yt such that Yf * V is the vector of complex branch currents injected - ## at each branch's "from" bus, and Yt is the same for the "to" bus end - i = np.hstack([np.arange(nl), np.arange(nl)]) ## double set of row indices - - Yf_x = np.hstack([Yff, Yft]) - Yt_x = np.hstack([Ytf, Ytt]) - col_Y = np.hstack([f, t]) - - Yf = coo_matrix((Yf_x, (i, col_Y)), (nl, nb)).tocsr() - Yt = coo_matrix((Yt_x, (i, col_Y)), (nl, nb)).tocsr() - Yx, Yj, Yp, nnz = gen_Ybus(Yf_x, Yt_x, Ysh, col_Y, f, t, np.argsort(f), np.argsort(t), nb, nl, - np.arange(nl, dtype=np.int64)) - Ybus = csr_matrix((np.resize(Yx, nnz), np.resize(Yj, nnz), Yp), (nb, nb)) - return Ybus, Yf, Yt +# -*- coding: utf-8 -*- + +# Copyright 1996-2015 PSERC. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import numpy as np +from numba import jit +from scipy.sparse import csr_matrix, coo_matrix + +from pandapower.pypower.idx_brch import F_BUS, T_BUS +from pandapower.pypower.idx_bus import GS, BS +from pandapower.pypower.makeYbus import branch_vectors + + +@jit(nopython=True, cache=False) +def gen_Ybus(Yf_x, Yt_x, Ysh, col_Y, f, t, f_sort, t_sort, nb, nl, r_nl): # pragma: no cover + """ + Fast calculation of Ybus + """ + + r_nb = range(nb) + + # allocate data of Ybus in CSR format + # Note: More space is allocated than needed with empty. + # The matrix size will be reduced afterwards + alloc_size = nl * 2 + nb + Yx = np.empty(alloc_size, dtype=np.complex128) # data + Yp = np.zeros(nb + 1, dtype=np.int64) # row pointer + Yj = np.empty(alloc_size, dtype=np.int64) # colum indices + + # index iterators + # a = iterator of f, b = iterator of t, curRow = current Row + a, b, curRow = 0, 0, 0 + # number of nonzeros (total), number of nonzeros per row + nnz, nnz_row = 0, 0 + # flag checks if diagonal entry was added + YshAdded = False + + for curRow in r_nb: + nnz_row = 0 + # iterate rows of Ybus + + # add entries from Yf + while a < nl and f[f_sort[a]] == curRow: + # Entries from f_sort[a] in current row of Ybus + for col in (r_nl[f_sort[a]], r_nl[f_sort[a]] + nl): + # 'Has entry at column in Yf: %i ' % col + if col_Y[col] == curRow and not YshAdded: + # add Ysh and Yf_x (diagonal element). If not already added + curVal = Yf_x[col] + Ysh[curRow] + YshAdded = True + else: + # add only Yf_x + curVal = Yf_x[col] + + for k in range(Yp[curRow], Yp[curRow] + nnz_row): + if col_Y[col] == Yj[k]: + # if entry at column already exists add value + Yx[k] += curVal + break + else: + # new entry in Ybus + Yx[nnz] = curVal + Yj[nnz] = col_Y[col] + nnz += 1 + nnz_row += 1 + a += 1 + + # add entries from Yt + while b < nl and t[t_sort[b]] == curRow: + # Entries from t_sort[b] in current row of Ybus + for col in (r_nl[t_sort[b]], r_nl[t_sort[b]] + nl): + # 'Has entry at column in Yt: %i ' % col + if col_Y[col] == curRow and not YshAdded: + # add Ysh and Yf_x (diagonal element). If not already added + curVal = Yt_x[col] + Ysh[curRow] + YshAdded = True + else: + # add only Yt_x + curVal = Yt_x[col] + + for k in range(Yp[curRow], Yp[curRow] + nnz_row): + if col_Y[col] == Yj[k]: + # if entry at column already exists add value + Yx[k] += curVal + break + else: + # new entry in Ybus + Yx[nnz] = curVal + Yj[nnz] = col_Y[col] + nnz += 1 + nnz_row += 1 + b += 1 + + if not YshAdded: + # check if diagonal entry was added. If not -> add if not zero + if Ysh[curRow]: + Yx[nnz] = Ysh[curRow] + Yj[nnz] = curRow + nnz += 1 + nnz_row += 1 + + YshAdded = False + # add number of nonzeros in row to row pointer + Yp[curRow + 1] = nnz_row + Yp[curRow] + curRow += 1 + + return Yx, Yj, Yp, nnz + + +def makeYbus(baseMVA, bus, branch): + """Builds the bus admittance matrix and branch admittance matrices. + + Returns the full bus admittance matrix (i.e. for all buses) and the + matrices C{Yf} and C{Yt} which, when multiplied by a complex voltage + vector, yield the vector currents injected into each line from the + "from" and "to" buses respectively of each line. Does appropriate + conversions to p.u. + + @see: L{makeSbus} + + @author: Ray Zimmerman (PSERC Cornell) + @author: Richard Lincoln + + modified by Florian Schaefer (to use numba) (florian.schaefer@uni-kassel.de) + """ + ## constants + nb = bus.shape[0] ## number of buses + nl = branch.shape[0] ## number of lines + + ## for each branch, compute the elements of the branch admittance matrix where + ## + ## | If | | Yff Yft | | Vf | + ## | | = | | * | | + ## | It | | Ytf Ytt | | Vt | + ## + Ytt, Yff, Yft, Ytf = branch_vectors(branch, nl) + + ## compute shunt admittance + ## if Psh is the real power consumed by the shunt at V = 1.0 p.u. + ## and Qsh is the reactive power injected by the shunt at V = 1.0 p.u. + ## then Psh - j Qsh = V * conj(Ysh * V) = conj(Ysh) = Gs - j Bs, + ## i.e. Ysh = Psh + j Qsh, so ... + ## vector of shunt admittances + Ysh = (bus[:, GS] + 1j * bus[:, BS]) / baseMVA + + ## build connection matrices + f = np.real(branch[:, F_BUS]).astype(int) ## list of "from" buses + t = np.real(branch[:, T_BUS]).astype(int) ## list of "to" buses + + ## build Yf and Yt such that Yf * V is the vector of complex branch currents injected + ## at each branch's "from" bus, and Yt is the same for the "to" bus end + i = np.hstack([np.arange(nl), np.arange(nl)]) ## double set of row indices + + Yf_x = np.hstack([Yff, Yft]) + Yt_x = np.hstack([Ytf, Ytt]) + col_Y = np.hstack([f, t]) + + Yf = coo_matrix((Yf_x, (i, col_Y)), (nl, nb)).tocsr() + Yt = coo_matrix((Yt_x, (i, col_Y)), (nl, nb)).tocsr() + Yx, Yj, Yp, nnz = gen_Ybus(Yf_x, Yt_x, Ysh, col_Y, f, t, np.argsort(f), np.argsort(t), nb, nl, + np.arange(nl, dtype=np.int64)) + Ybus = csr_matrix((np.resize(Yx, nnz), np.resize(Yj, nnz), Yp), (nb, nb)) + return Ybus, Yf, Yt diff --git a/pandapower/pf/pfsoln_numba.py b/pandapower/pf/pfsoln_numba.py index abbf9360e..48569700d 100644 --- a/pandapower/pf/pfsoln_numba.py +++ b/pandapower/pf/pfsoln_numba.py @@ -4,7 +4,7 @@ # Use of this source code is governed by a BSD-style # license that can be found in the LICENSE file. -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/pf/ppci_variables.py b/pandapower/pf/ppci_variables.py index f8b5c7875..42a810f67 100644 --- a/pandapower/pf/ppci_variables.py +++ b/pandapower/pf/ppci_variables.py @@ -1,41 +1,41 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - -from pandapower.pypower.idx_bus import VM, VA -from pandapower.pypower.idx_gen import GEN_BUS, GEN_STATUS, VG -from pandapower.pypower.bustypes import bustypes -from numpy import flatnonzero as find, pi, exp - -def _get_pf_variables_from_ppci(ppci): - ## default arguments - if ppci is None: - ValueError('ppci is empty') - # ppopt = ppoption(ppopt) - - # get data for calc - baseMVA, bus, gen, branch = \ - ppci["baseMVA"], ppci["bus"], ppci["gen"], ppci["branch"] - - ## get bus index lists of each type of bus - ref, pv, pq = bustypes(bus, gen) - - ## generator info - on = find(gen[:, GEN_STATUS] > 0) ## which generators are on? - gbus = gen[on, GEN_BUS].astype(int) ## what buses are they at? - - ## initial state - # V0 = ones(bus.shape[0]) ## flat start - V0 = bus[:, VM] * exp(1j * pi / 180. * bus[:, VA]) - V0[gbus] = gen[on, VG] / abs(V0[gbus]) * V0[gbus] - - ref_gens = ppci["internal"]["ref_gens"] - return baseMVA, bus, gen, branch, ref, pv, pq, on, gbus, V0, ref_gens - -def _store_results_from_pf_in_ppci(ppci, bus, gen, branch, success, iterations, et): - ppci["bus"], ppci["gen"], ppci["branch"] = bus, gen, branch - ppci["success"] = bool(success) - ppci["iterations"] = iterations - ppci["et"] = et - return ppci +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + +from pandapower.pypower.idx_bus import VM, VA +from pandapower.pypower.idx_gen import GEN_BUS, GEN_STATUS, VG +from pandapower.pypower.bustypes import bustypes +from numpy import flatnonzero as find, pi, exp + +def _get_pf_variables_from_ppci(ppci): + ## default arguments + if ppci is None: + ValueError('ppci is empty') + # ppopt = ppoption(ppopt) + + # get data for calc + baseMVA, bus, gen, branch = \ + ppci["baseMVA"], ppci["bus"], ppci["gen"], ppci["branch"] + + ## get bus index lists of each type of bus + ref, pv, pq = bustypes(bus, gen) + + ## generator info + on = find(gen[:, GEN_STATUS] > 0) ## which generators are on? + gbus = gen[on, GEN_BUS].astype(int) ## what buses are they at? + + ## initial state + # V0 = ones(bus.shape[0]) ## flat start + V0 = bus[:, VM] * exp(1j * pi / 180. * bus[:, VA]) + V0[gbus] = gen[on, VG] / abs(V0[gbus]) * V0[gbus] + + ref_gens = ppci["internal"]["ref_gens"] + return baseMVA, bus, gen, branch, ref, pv, pq, on, gbus, V0, ref_gens + +def _store_results_from_pf_in_ppci(ppci, bus, gen, branch, success, iterations, et): + ppci["bus"], ppci["gen"], ppci["branch"] = bus, gen, branch + ppci["success"] = bool(success) + ppci["iterations"] = iterations + ppci["et"] = et + return ppci diff --git a/pandapower/pf/run_bfswpf.py b/pandapower/pf/run_bfswpf.py index c406e16e3..31af0805f 100644 --- a/pandapower/pf/run_bfswpf.py +++ b/pandapower/pf/run_bfswpf.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/pf/run_dc_pf.py b/pandapower/pf/run_dc_pf.py index 511803a98..6027e3a43 100644 --- a/pandapower/pf/run_dc_pf.py +++ b/pandapower/pf/run_dc_pf.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/pf/run_newton_raphson_pf.py b/pandapower/pf/run_newton_raphson_pf.py index b859e699b..3afab998f 100644 --- a/pandapower/pf/run_newton_raphson_pf.py +++ b/pandapower/pf/run_newton_raphson_pf.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/pf/runpf_pypower.py b/pandapower/pf/runpf_pypower.py index 7962fc087..69e53d431 100644 --- a/pandapower/pf/runpf_pypower.py +++ b/pandapower/pf/runpf_pypower.py @@ -4,7 +4,7 @@ # Use of this source code is governed by a BSD-style # license that can be found in the LICENSE file. -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/plotting/collections.py b/pandapower/plotting/collections.py index fc845a38b..ea86687c9 100644 --- a/pandapower/plotting/collections.py +++ b/pandapower/plotting/collections.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. import sys import copy diff --git a/pandapower/plotting/colormaps.py b/pandapower/plotting/colormaps.py index 95dc2f1a4..14b0a387b 100644 --- a/pandapower/plotting/colormaps.py +++ b/pandapower/plotting/colormaps.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/plotting/generic_geodata.py b/pandapower/plotting/generic_geodata.py index e5eaa1e43..7f1efa751 100644 --- a/pandapower/plotting/generic_geodata.py +++ b/pandapower/plotting/generic_geodata.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. import sys diff --git a/pandapower/plotting/geo.py b/pandapower/plotting/geo.py index cdbbd1ee2..fe33fac1f 100644 --- a/pandapower/plotting/geo.py +++ b/pandapower/plotting/geo.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. import sys diff --git a/pandapower/plotting/patch_makers.py b/pandapower/plotting/patch_makers.py index c5e755ea1..04407e119 100644 --- a/pandapower/plotting/patch_makers.py +++ b/pandapower/plotting/patch_makers.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. import sys import numpy as np diff --git a/pandapower/plotting/plotly/get_colors.py b/pandapower/plotting/plotly/get_colors.py index 02f29a721..f7d79bef8 100644 --- a/pandapower/plotting/plotly/get_colors.py +++ b/pandapower/plotting/plotly/get_colors.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/plotting/plotly/mapbox_plot.py b/pandapower/plotting/plotly/mapbox_plot.py index e4eface3b..1a4910a94 100644 --- a/pandapower/plotting/plotly/mapbox_plot.py +++ b/pandapower/plotting/plotly/mapbox_plot.py @@ -1,112 +1,112 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import os -import numpy as np - -from pandapower.auxiliary import ppException - -try: - import pplog as logging -except ImportError: - import logging -logger = logging.getLogger(__name__) - -class MapboxTokenMissing(ppException): - """ - Exception being raised in case loadflow did not converge. - """ - pass - -def _on_map_test(x, y): - """ - checks if bus_geodata can be located on a map using geopy - """ - try: - from geopy.geocoders import Nominatim - from geopy.exc import GeocoderTimedOut - geolocator = Nominatim(user_agent="pandapower_user_mapboxplot") - - except ImportError: - # if geopy is not available there will be no geo-coordinates check - # therefore if geo-coordinates are not real and user sets on_map=True, an empty map will be plot! - logger.warning('Geo-coordinates check cannot be peformed because geopy package not available \n\t--> ' - 'if geo-coordinates are not in lat/lon format an empty plot may appear...') - return True - try: - location = geolocator.reverse("{0}, {1}".format(x, y), language='en-US') - except GeocoderTimedOut: - logger.Error("Existing net geodata cannot be geo-located: possible reason: geo-data not in lat/long ->" - "try geo_data_to_latlong(net, projection) to transform geodata to lat/long!") - - if location.address is None: - return False - else: - return True - - -def geo_data_to_latlong(net, projection): - """ - Transforms network's geodata (in `net.bus_geodata` and `net.line_geodata`) from specified projection to lat/long (WGS84). - - INPUT: - **net** (pandapowerNet) - The pandapower network - - **projection** (String) - projection from which geodata are transformed to lat/long. some examples - - - "epsg:31467" - 3-degree Gauss-Kruger zone 3 - - "epsg:2032" - NAD27(CGQ77) / UTM zone 18N - - "epsg:2190" - Azores Oriental 1940 / UTM zone 26N - """ - try: - from pyproj import Proj, transform - except ImportError: - logger.warning('Geo-coordinates check cannot be peformed because pyproj package not available \n\t--> ' - 'if geo-coordinates are not in lat/lon format an empty plot may appear...') - return - - if projection == 'epsg:4326': - return - - wgs84 = Proj(init='epsg:4326') # lat/long - - try: - projection = Proj(init=projection) - except: - logger.warning("Transformation of geodata to lat/long failed! because of:]\n" - "Unknown projection provided " - "(format 'epsg:' required as available at http://spatialreference.org/ref/epsg/ )") - return - - # transform all geodata to long/lat using set or found projection - try: - lon, lat = transform(projection, wgs84, net.bus_geodata.loc[:, 'x'].values, net.bus_geodata.loc[:, 'y'].values) - net.bus_geodata.loc[:, 'x'], net.bus_geodata.loc[:, 'y'] = lon, lat - - if net.line_geodata.shape[0] > 0: - for idx in net.line_geodata.index: - line_coo = np.array(net.line_geodata.loc[idx, 'coords']) - lon, lat = transform(projection, wgs84, line_coo[:, 0], line_coo[:, 1]) - net.line_geodata.loc[idx, 'coords'] = np.array([lon, lat]).T.tolist() - return - except: - logger.warning('Transformation of geodata to lat/long failed!') - return - -def set_mapbox_token(token): - from pandapower import pp_dir - path = os.path.join(pp_dir, "plotting", "plotly") - filename = os.path.join(path, 'mapbox_token.txt') - with open(filename, "w") as mapbox_file: - mapbox_file.write(token) - -def _get_mapbox_token(): - from pandapower import pp_dir - path = os.path.join(pp_dir, "plotting", "plotly") - filename = os.path.join(path, 'mapbox_token.txt') - with open(filename, "r") as mapbox_file: - return mapbox_file.read() - +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import os +import numpy as np + +from pandapower.auxiliary import ppException + +try: + import pplog as logging +except ImportError: + import logging +logger = logging.getLogger(__name__) + +class MapboxTokenMissing(ppException): + """ + Exception being raised in case loadflow did not converge. + """ + pass + +def _on_map_test(x, y): + """ + checks if bus_geodata can be located on a map using geopy + """ + try: + from geopy.geocoders import Nominatim + from geopy.exc import GeocoderTimedOut + geolocator = Nominatim(user_agent="pandapower_user_mapboxplot") + + except ImportError: + # if geopy is not available there will be no geo-coordinates check + # therefore if geo-coordinates are not real and user sets on_map=True, an empty map will be plot! + logger.warning('Geo-coordinates check cannot be peformed because geopy package not available \n\t--> ' + 'if geo-coordinates are not in lat/lon format an empty plot may appear...') + return True + try: + location = geolocator.reverse("{0}, {1}".format(x, y), language='en-US') + except GeocoderTimedOut: + logger.Error("Existing net geodata cannot be geo-located: possible reason: geo-data not in lat/long ->" + "try geo_data_to_latlong(net, projection) to transform geodata to lat/long!") + + if location.address is None: + return False + else: + return True + + +def geo_data_to_latlong(net, projection): + """ + Transforms network's geodata (in `net.bus_geodata` and `net.line_geodata`) from specified projection to lat/long (WGS84). + + INPUT: + **net** (pandapowerNet) - The pandapower network + + **projection** (String) - projection from which geodata are transformed to lat/long. some examples + + - "epsg:31467" - 3-degree Gauss-Kruger zone 3 + - "epsg:2032" - NAD27(CGQ77) / UTM zone 18N + - "epsg:2190" - Azores Oriental 1940 / UTM zone 26N + """ + try: + from pyproj import Proj, transform + except ImportError: + logger.warning('Geo-coordinates check cannot be peformed because pyproj package not available \n\t--> ' + 'if geo-coordinates are not in lat/lon format an empty plot may appear...') + return + + if projection == 'epsg:4326': + return + + wgs84 = Proj(init='epsg:4326') # lat/long + + try: + projection = Proj(init=projection) + except: + logger.warning("Transformation of geodata to lat/long failed! because of:]\n" + "Unknown projection provided " + "(format 'epsg:' required as available at http://spatialreference.org/ref/epsg/ )") + return + + # transform all geodata to long/lat using set or found projection + try: + lon, lat = transform(projection, wgs84, net.bus_geodata.loc[:, 'x'].values, net.bus_geodata.loc[:, 'y'].values) + net.bus_geodata.loc[:, 'x'], net.bus_geodata.loc[:, 'y'] = lon, lat + + if net.line_geodata.shape[0] > 0: + for idx in net.line_geodata.index: + line_coo = np.array(net.line_geodata.loc[idx, 'coords']) + lon, lat = transform(projection, wgs84, line_coo[:, 0], line_coo[:, 1]) + net.line_geodata.loc[idx, 'coords'] = np.array([lon, lat]).T.tolist() + return + except: + logger.warning('Transformation of geodata to lat/long failed!') + return + +def set_mapbox_token(token): + from pandapower import pp_dir + path = os.path.join(pp_dir, "plotting", "plotly") + filename = os.path.join(path, 'mapbox_token.txt') + with open(filename, "w") as mapbox_file: + mapbox_file.write(token) + +def _get_mapbox_token(): + from pandapower import pp_dir + path = os.path.join(pp_dir, "plotting", "plotly") + filename = os.path.join(path, 'mapbox_token.txt') + with open(filename, "r") as mapbox_file: + return mapbox_file.read() + diff --git a/pandapower/plotting/plotly/pf_res_plotly.py b/pandapower/plotting/plotly/pf_res_plotly.py index bbabfc688..0893471dd 100644 --- a/pandapower/plotting/plotly/pf_res_plotly.py +++ b/pandapower/plotting/plotly/pf_res_plotly.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/plotting/plotly/simple_plotly.py b/pandapower/plotting/plotly/simple_plotly.py index 4c250def3..978860c2a 100644 --- a/pandapower/plotting/plotly/simple_plotly.py +++ b/pandapower/plotting/plotly/simple_plotly.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/plotting/plotly/traces.py b/pandapower/plotting/plotly/traces.py index a90b10145..3c35ee203 100644 --- a/pandapower/plotting/plotly/traces.py +++ b/pandapower/plotting/plotly/traces.py @@ -1,875 +1,875 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import math - -import numpy as np -import pandas as pd -from packaging import version -from collections.abc import Iterable - -from pandapower.plotting.plotly.get_colors import get_plotly_color, get_plotly_cmap -from pandapower.plotting.plotly.mapbox_plot import _on_map_test, _get_mapbox_token, \ - MapboxTokenMissing - -try: - import pplog as logging -except ImportError: - import logging -logger = logging.getLogger(__name__) - -try: - from plotly import __version__ as plotly_version - from plotly.graph_objs.scatter.marker import ColorBar - from plotly.graph_objs import Figure, Layout - from plotly.graph_objs.layout import XAxis, YAxis - from plotly.graph_objs.scatter import Line, Marker - from plotly.graph_objs.scattermapbox import Line as scmLine - from plotly.graph_objs.scattermapbox import Marker as scmMarker -except ImportError: - logger.info("Failed to import plotly - interactive plotting will not be available") - - -def version_check(): - if "plotly_version" not in locals() and "plotly_version" not in globals(): - raise UserWarning("You are trying to use plotly, which is not installed.\r\n" - "Please upgrade your python-plotly installation, " - "e.g., via pip install --upgrade plotly") - if version.parse(plotly_version) < version.parse("3.1.1"): - raise UserWarning("Your plotly version {} is no longer supported.\r\n" - "Please upgrade your python-plotly installation, " - "e.g., via pip install --upgrade plotly".format(__version__)) - - -def _in_ipynb(): - """ - An auxiliary function which checks if plot is called from a jupyter-notebook or not - """ - from IPython import get_ipython - return get_ipython().__class__.__name__ == 'ZMQInteractiveShell' - - -def sum_line_length(pts): - pt_diff = lambda p: (p[0][0] - p[1][0], p[0][1] - p[1][1]) - diffs = map(pt_diff, zip(pts[:-1], pts[1:])) - line_length = sum(math.hypot(d1, d2) for d1, d2 in diffs) - return line_length - - -def get_line_neutral(coord): - if len(coord) == 1: - return coord[0] - half_length = sum_line_length(coord) / 2.0 - length = 0.0 - ind = 0 - while length < half_length: - ind += 1 - length = sum_line_length(coord[:ind]) - - start_coord = coord[ind - 2] - end_coord = coord[ind - 1] - mid = [(a1 + a2) / 2.0 for a1, a2 in zip(start_coord, end_coord)] - - return mid - - -def create_edge_center_trace(line_trace, size=1, patch_type="circle", color="white", infofunc=None, - trace_name='edge_center', use_line_geodata=False): - """ - Creates a plotly trace of pandapower buses. - - INPUT: - **line traces** (from pandapowerNet) - The already generated line traces with center geodata - - OPTIONAL: - - **size** (int, 5) - patch size - - **patch_type** (str, "circle") - patch type, can be - - - "circle" for a circle - - "square" for a rectangle - - "diamond" for a diamond - - much more pathc types at https://plot.ly/python/reference/#scatter-marker - - **infofunc** (pd.Series, None) - hoverinfo for each trace element. Indices should correspond - to the pandapower element indices - - **trace_name** (String, "buses") - name of the trace which will appear in the legend - - **color** (String, "blue") - color of buses in the trace - - """ - # color = get_plotly_color(color) - - center_trace = dict(type='scatter', text=[], mode='markers', hoverinfo='text', name=trace_name, - marker=dict(color=color, size=size, symbol=patch_type)) - - if not use_line_geodata: - center_trace['x'], center_trace['y'] = (line_trace[0]["x"][1::4], line_trace[0]["y"][1::4]) - else: - x, y = [], [] - for trace in line_trace: - coord = list(zip(trace["x"], trace["y"])) - mid_coord = get_line_neutral(coord) - x.append(mid_coord[0]) - y.append(mid_coord[1]) - - center_trace['x'], center_trace['y'] = (x, y) - - center_trace['text'] = infofunc - - return center_trace - - -def create_bus_trace(net, buses=None, size=5, patch_type="circle", color="blue", infofunc=None, - trace_name='buses', legendgroup=None, cmap=None, cmap_vals=None, - cbar_title=None, cmin=None, cmax=None, cpos=1.0, colormap_column="vm_pu"): - """ - Creates a plotly trace of pandapower buses. It is a wrapper function for the more generic - _create_node_trace function. - - INPUT: - **net** (pandapowerNet) - The pandapower network - - OPTIONAL: - **buses** (list, None) - The buses for which the collections are created. - If None, all buses in the network are considered. - - **size** (int, 5) - patch size - - **patch_type** (str, "circle") - patch type, can be - - - "circle" for a circle - - "square" for a rectangle - - "diamond" for a diamond - - much more pathc types at https://plot.ly/python/reference/#scatter-marker - - **infofunc** (pd.Series, None) - hoverinfo for bus elements. Indices should correspond to - the pandapower element indices - - **trace_name** (String, "buses") - name of the trace which will appear in the legend - - **color** (String, "blue") - color of buses in the trace - - **cmap** (String, None) - name of a colormap which exists within plotly - (Greys, YlGnBu, Greens, YlOrRd, Bluered, RdBu, Reds, Blues, Picnic, Rainbow, - Portland, Jet, Hot, Blackbody, Earth, Electric, Viridis) alternatively a custom - discrete colormap can be used - - **cmap_vals** (list, None) - values used for coloring using colormap - - **cbar_title** (String, None) - title for the colorbar - - **cmin** (float, None) - colorbar range minimum - - **cmax** (float, None) - colorbar range maximum - - **cpos** (float, 1.1) - position of the colorbar - - **colormap_column** (str, "vm_pu") - set color of bus according to this variable - - """ - node_element = 'bus' - branch_element = 'line' - return _create_node_trace(net, buses, size, patch_type, color, infofunc, trace_name, - legendgroup, cmap, cmap_vals, cbar_title, cmin, cmax, cpos, - colormap_column, node_element, branch_element) - - -def _create_node_trace(net, nodes=None, size=5, patch_type='circle', color='blue', infofunc=None, - trace_name='nodes', legendgroup=None, cmap=None, cmap_vals=None, - cbar_title=None, cmin=None, cmax=None, cpos=1.0, colormap_column='vm_pu', - node_element='bus', branch_element='line'): - """ - Creates a plotly trace of node elements. In pandapower, it should be called by - create_bus_traces. The rather generic, non-power net specific names were introduced to make it - usable in other packages, e.g. for pipe networks. - - INPUT: - **net** (pandapowerNet) - The network - - OPTIONAL: - **nodes** (list, None) - The nodes for which the collections are created. - If None, all nodes in the network are considered. - - **size** (int, 5) - patch size - - **patch_type** (str, "circle") - patch type, can be - - - "circle" for a circle - - "square" for a rectangle - - "diamond" for a diamond - - much more pathc types at https://plot.ly/python/reference/#scatter-marker - - **infofunc** (pd.Series, None) - hoverinfo for node elements. Indices should correspond to - the node element indices - - **trace_name** (String, "buses") - name of the trace which will appear in the legend - - **color** (String, "blue") - color of nodes in the trace - - **cmap** (String, None) - name of a colormap which exists within plotly - (Greys, YlGnBu, Greens, YlOrRd, Bluered, RdBu, Reds, Blues, Picnic, Rainbow, - Portland, Jet, Hot, Blackbody, Earth, Electric, Viridis) alternatively a custom - discrete colormap can be used - - **cmap_vals** (list, None) - values used for coloring using colormap - - **cbar_title** (String, None) - title for the colorbar - - **cmin** (float, None) - colorbar range minimum - - **cmax** (float, None) - colorbar range maximum - - **cpos** (float, 1.1) - position of the colorbar - - **colormap_column** (str, "vm_pu") - set color of bus according to this variable - - **node_element** (str, "bus") - name of the node element in the net. In a pandapower net, - this is alwas "bus" - - **branch_element** (str, "line") - name of the branch element in the net. In a pandapower - net, this is alwas "line" - - """ - color = get_plotly_color(color) - node_trace = dict(type='scatter', text=[], mode='markers', hoverinfo='text', name=trace_name, - marker=dict(color=color, size=size, symbol=patch_type)) - nodes = net[node_element].index.tolist() if nodes is None else list(nodes) - node_geodata = node_element + "_geodata" - node_plot_index = [b for b in nodes if b in list(set(nodes) & set(net[node_geodata].index))] - node_trace['x'], node_trace['y'] = \ - (net[node_geodata].loc[node_plot_index, 'x'].tolist(), - net[node_geodata].loc[node_plot_index, 'y'].tolist()) - if not isinstance(infofunc, pd.Series) and isinstance(infofunc, Iterable) and \ - len(infofunc) == len(nodes): - infofunc = pd.Series(index=nodes, data=infofunc) - node_trace['text'] = net[node_element].loc[node_plot_index, 'name'] if infofunc is None else \ - infofunc.loc[nodes] - if legendgroup: - node_trace['legendgroup'] = legendgroup - # if color map is set - if cmap is not None: - # TODO introduce discrete colormaps (see contour plots in plotly) - # if cmap_vals are not given - - cmap = 'Jet' if cmap is True else cmap - - if cmap_vals is not None: - cmap_vals = cmap_vals - else: - if net["res_"+branch_element].shape[0] == 0: - if branch_element == "line": - logger.error( - "There are no power flow results for buses voltage magnitudes which are" - "default for bus colormap coloring..." - "set cmap_vals input argument if you want colormap according to some " - "specific values...") - else: - logger.error( - "There are no simulation results which are default for %s colormap coloring..." - "set cmap_vals input argument if you want colormap according to some " - "specific values..." %node_element) - cmap_vals = net["res_"+node_element].loc[node_plot_index, colormap_column].values - - cmap_vals = net["res_"+node_element].loc[ - node_plot_index, colormap_column] if cmap_vals is None else cmap_vals - - cmin = cmap_vals.min() if cmin is None else cmin - cmax = cmap_vals.max() if cmax is None else cmax - - node_trace['marker'] = Marker(size=size, - color=cmap_vals, cmin=cmin, cmax=cmax, - colorscale=cmap, - colorbar=ColorBar(thickness=10, - x=cpos), - symbol=patch_type - ) - - if cbar_title: - node_trace['marker']['colorbar']['title'] = cbar_title - - node_trace['marker']['colorbar']['title']['side'] = 'right' - return [node_trace] - - -def _get_branch_geodata_plotly(net, branches, use_branch_geodata, branch_element='line', - node_element='bus'): - xs = [] - ys = [] - if use_branch_geodata: - for line_ind, _ in branches.iterrows(): - line_coords = net[branch_element+'_geodata'].loc[line_ind, 'coords'] - linex, liney = list(zip(*line_coords)) - xs += linex - xs += [None] - ys += liney - ys += [None] - else: - # getting x and y values from bus_geodata for from and to side of each line - n = node_element - n_geodata = n + "_geodata" - from_n = 'from_'+n - to_n = 'to_'+n - from_node = net[n_geodata].loc[branches[from_n], 'x'].tolist() - to_node = net[n_geodata].loc[branches[to_n], 'x'].tolist() - # center point added because of the hovertool - center = (np.array(from_node) + np.array(to_node)) / 2 - none_list = [None] * len(from_node) - xs = np.array([from_node, center, to_node, none_list]).T.flatten().tolist() - - from_node = net[n_geodata].loc[branches[from_n], 'y'].tolist() - to_node = net[n_geodata].loc[branches[to_n], 'y'].tolist() - # center point added because of the hovertool - center = (np.array(from_node) + np.array(to_node)) / 2 - none_list = [None] * len(from_node) - ys = np.array([from_node, center, to_node, none_list]).T.flatten().tolist() - - # [:-1] is because the trace will not appear on maps if None is at the end - return xs[:-1], ys[:-1] - - -def create_line_trace(net, lines=None, use_line_geodata=True, respect_switches=False, width=1.0, - color='grey', infofunc=None, trace_name='lines', legendgroup=None, - cmap=None, cbar_title=None, show_colorbar=True, cmap_vals=None, cmin=None, - cmax=None, cpos=1.1): - """ - Creates a plotly trace of pandapower lines. It is a power net specific wrapper function for the - more generic _create_line_trace function. - - INPUT: - **net** (pandapowerNet) - The pandapower network - - OPTIONAL: - **lines** (list, None) - The lines for which the collections are created. - If None, all lines in the network are considered. - - **width** (int, 1) - line width - - - **infofunc** (pd.Series, None) - hoverinfo for line elements. Indices should correspond to - the pandapower element indices - - **trace_name** (String, "lines") - name of the trace which will appear in the legend - - **color** (String, "grey") - color of lines in the trace - - **legendgroup** (String, None) - defines groups of layers that will be displayed in a legend - e.g. groups according to voltage level (as used in `vlevel_plotly`) - - **cmap** (String, None) - name of a colormap which exists within plotly if set to True default `Jet` - colormap is used, alternative colormaps : Greys, YlGnBu, Greens, YlOrRd, - Bluered, RdBu, Reds, Blues, Picnic, Rainbow, Portland, Jet, Hot, Blackbody, Earth, Electric, Viridis - - **cmap_vals** (list, None) - values used for coloring using colormap - - **show_colorbar** (bool, False) - flag for showing or not corresponding colorbar - - **cbar_title** (String, None) - title for the colorbar - - **cmin** (float, None) - colorbar range minimum - - **cmax** (float, None) - colorbar range maximum - - **cpos** (float, 1.1) - position of the colorbar - - """ - - branch_element = "line" - node_element = "bus" - separator_element = "switch" - - return _create_branch_trace(net, lines, use_line_geodata, respect_switches, width, color, - infofunc, trace_name, legendgroup, cmap, cbar_title, show_colorbar, - cmap_vals, cmin, cmax, cpos, branch_element, separator_element, - node_element) - - -def _create_branch_trace(net, branches=None, use_branch_geodata=True, respect_separators=False, - width=1.0, color='grey', infofunc=None, trace_name='lines', - legendgroup=None, cmap=None, cbar_title=None, show_colorbar=True, - cmap_vals=None, cmin=None, cmax=None, cpos=1.1, branch_element='line', - separator_element='switch', node_element='bus', - cmap_vals_category='loading_percent'): - """ - Creates a plotly trace of branch elements. The rather generic, non-power net specific names - were introduced to make it usable in other packages, e.g. for pipe networks. - - INPUT: - **net** (pandapowerNet) - The network - - OPTIONAL: - **branches** (list, None) - The branches for which the collections are created. - If None, all branches in the network are considered. - - **use_branch_geodata** (bool, True) - whether the geodata of the branch tables should be used - - **respect_separators** (bool, True) - whether separating elements like switches should be - considered - - **width** (int, 1) - branch width - - **color** (String, "grey") - color of lines in the trace - - **infofunc** (pd.Series, None) - hoverinfo for line elements. Indices should correspond to - the pandapower element indices - - **trace_name** (String, "lines") - name of the trace which will appear in the legend - - **legendgroup** (String, None) - defines groups of layers that will be displayed in a legend - e.g. groups according to voltage level (as used in `vlevel_plotly`) - - **cmap** (String, None) - name of a colormap which exists within plotly if set to True default `Jet` - colormap is used, alternative colormaps : Greys, YlGnBu, Greens, YlOrRd, - Bluered, RdBu, Reds, Blues, Picnic, Rainbow, Portland, Jet, Hot, Blackbody, Earth, Electric, Viridis - - **cmap_vals** (list, None) - values used for coloring using colormap - - **show_colorbar** (bool, False) - flag for showing or not corresponding colorbar - - **cbar_title** (String, None) - title for the colorbar - - **cmin** (float, None) - colorbar range minimum - - **cmax** (float, None) - colorbar range maximum - - **cpos** (float, 1.1) - position of the colorbar - - **branch_element** (str, "line") - name of the branch element in the net. In a pandapower - net, this is alwas "line" - - **separator_element** (str, "switch") - name of the separator element in the net. In a - pandapower net, this is alwas "switch" - - **node_element** (str, "bus") - name of the node element in the net. In a pandapower net, - this is alwas "bus" (net.bus) - - """ - - color = get_plotly_color(color) - - # defining branches (lines) to be plot - branches = net[branch_element].index.tolist() if branches is None else list(branches) - if len(branches) == 0: - return [] - - if infofunc is not None: - if not isinstance(infofunc, pd.Series) and isinstance(infofunc, Iterable) and \ - len(infofunc) == len(branches): - infofunc = pd.Series(index=branches, data=infofunc) - if len(infofunc) != len(branches) and len(infofunc) != len(net[branch_element]): - raise UserWarning("Different amount of hover info than {}s to " - "plot".format(branch_element)) - assert isinstance(infofunc, pd.Series), \ - "infofunc should be a pandas series with the net.{}.index to the infofunc " \ - "contents".format(branch_element) - no_go_branches = set() - if respect_separators: - if separator_element == "switch": - no_go_branches = set(branches) & \ - set(net[separator_element].element[(net[separator_element].et == "l") & - (net[separator_element].closed == 0)]) - elif separator_element == "valve": - no_go_branches = set(branches) & \ - set(net[separator_element][(~net[separator_element].in_service) | - (net[separator_element].opened)]) - else: - raise NotImplementedError("respect separtors is only implements for switches, " - "not for {}s.".format(separator_element)) - branches_to_plot = net[branch_element].loc[set(net[branch_element].index) & (set(branches) - no_go_branches)] - no_go_branches_to_plot = None - branch_geodata = branch_element + "_geodata" - node_geodata = node_element + "_geodata" - use_branch_geodata = use_branch_geodata if net[branch_geodata].shape[0] > 0 else False - if use_branch_geodata: - branches_to_plot = branches_to_plot.loc[set(branches_to_plot.index) & - set(net[branch_geodata].index)] - else: - branches_with_geodata = branches_to_plot['from_'+node_element].isin( - net[node_geodata].index) & \ - branches_to_plot['to_'+node_element].isin(net[node_geodata].index) - branches_to_plot = branches_to_plot.loc[branches_with_geodata] - cmap_branches = None - if cmap is not None: - # workaround: if colormap plot is used, each line need to be separate scatter object because - # plotly still doesn't support appropriately colormap for line objects - # TODO correct this when plotly solves existing github issue about Line colorbar - - cmap = 'jet' if cmap is True else cmap - - if cmap_vals is not None: - if not isinstance(cmap_vals, np.ndarray): - cmap_vals = np.asarray(cmap_vals) - else: - if net['res_'+branch_element].shape[0] == 0: - logger.error( - "There are no simulation results for branches which are default for {}" - "colormap coloring..." - "set cmap_vals input argument if you want colormap according to some specific " - "values...".format(branch_element)) - cmap_vals = net['res_'+branch_element].loc[branches_to_plot.index, - cmap_vals_category].values - - cmap_branches = get_plotly_cmap(cmap_vals, cmap_name=cmap, cmin=cmin, cmax=cmax) - if len(cmap_branches) == len(net[branch_element]): - # some branches are not plotted although cmap_value were provided for all branches - branch_idx_map = dict(zip(net[branch_element].loc[branches].index.tolist(), range(len(branches)))) - cmap_branches = [cmap_branches[branch_idx_map[idx]] for idx in branches_to_plot.index] - else: - assert len(cmap_branches) == len(branches_to_plot), \ - "Different amounts of cmap values and branches to plot were supplied" - branch_traces = [] - for col_i, (idx, branch) in enumerate(branches_to_plot.iterrows()): - line_color = color - line_info = branch['name'] - if cmap is not None: - try: - line_color = cmap_branches[col_i] - line_info = branch['name'] if infofunc is None else infofunc.loc[idx] - except IndexError: - logger.warning("No color and info for {} {:d} (name: {}) available".format( - branch_element, idx, branch['name'])) - - line_trace = dict(type='scatter', text=[], hoverinfo='text', mode='lines', name=trace_name, - line=Line(width=width, color=color)) - - line_trace['x'], line_trace['y'] = _get_branch_geodata_plotly(net, - branches_to_plot.loc[idx:idx], - use_branch_geodata, - branch_element, node_element) - - line_trace['line']['color'] = line_color - - line_trace['text'] = line_info - - branch_traces.append(line_trace) - if show_colorbar and cmap is not None: - - cmin = cmap_vals.min() if cmin is None else cmin - cmax = cmap_vals.max() if cmax is None else cmax - try: - # TODO for custom colormaps - cbar_cmap_name = 'Jet' if cmap == 'jet' else cmap - # workaround to get colorbar for branches (an unvisible node is added) - # get x and y of first line.from_bus: - x = [net[node_geodata].x[net[branch_element]["from_"+node_element][net[branch_element].index[0]]]] - y = [net[node_geodata].y[net[branch_element]["from_"+node_element][net[branch_element].index[0]]]] - branches_cbar = dict(type='scatter', x=x, y=y, mode='markers', - marker=Marker(size=0, cmin=cmin, cmax=cmax, - color='rgb(255,255,255)', - opacity=0, - colorscale=cbar_cmap_name, - colorbar=ColorBar(thickness=10, - x=cpos), - )) - if cbar_title: - branches_cbar['marker']['colorbar']['title'] = cbar_title - - branches_cbar['marker']['colorbar']['title']['side'] = 'right' - - branch_traces.append(branches_cbar) - except: - pass - if len(no_go_branches) > 0: - no_go_branches_to_plot = net[branch_element].loc[no_go_branches] - for idx, branch in no_go_branches_to_plot.iterrows(): - line_color = color - line_trace = dict(type='scatter', - text=[], hoverinfo='text', mode='lines', name='disconnected branches', - line=Line(width=width / 2, color='grey', dash='dot')) - - line_trace['x'], line_trace['y'] = _get_branch_geodata_plotly(net, - no_go_branches_to_plot.loc[ - idx:idx], - use_branch_geodata, - branch_element, node_element) - - line_trace['line']['color'] = line_color - try: - line_trace['text'] = infofunc.loc[idx] - except (KeyError, IndexError, AttributeError): - line_trace["text"] = branch['name'] - - branch_traces.append(line_trace) - - if legendgroup: - line_trace['legendgroup'] = legendgroup - # sort infofunc so that it is the correct order lines_to_plot + no_go_lines_to_plot - if infofunc is not None: - if not isinstance(infofunc, pd.Series) and isinstance(infofunc, Iterable) and \ - len(infofunc) == len(net[branch_element]): - infofunc = pd.Series(index=net[branch_element].index, data=infofunc) - assert isinstance(infofunc, pd.Series), \ - "infofunc should be a pandas series with the net.{}.index to the infofunc contents" \ - .format(branch_element) - sorted_idx = branches_to_plot.index.tolist() - if no_go_branches_to_plot is not None: - sorted_idx += no_go_branches_to_plot.index.tolist() - infofunc = infofunc.loc[sorted_idx] - center_trace = create_edge_center_trace(branch_traces, color=color, infofunc=infofunc, - use_line_geodata=use_branch_geodata) - branch_traces.append(center_trace) - return branch_traces - - -def create_trafo_trace(net, trafos=None, color='green', trafotype='2W', width=5, infofunc=None, cmap=None, - trace_name='trafos', cmin=None, cmax=None, cmap_vals=None, matching_params=None, - use_line_geodata=None): - - """ - Creates a plotly trace of pandapower trafos. - - INPUT: - **net** (pandapowerNet) - The pandapower network - - OPTIONAL: - **trafos** (list, None) - The trafos for which the collections are created. - If None, all trafos in the network are considered. - - **trafotype** (String, "2W") - trafotype can be 2W or 3W and can define which transformer table is taken (trafo or trafo3w) - - **width** (int, 5) - line width - - **infofunc** (pd.Series, None) - hoverinfo for trafo elements. Indices should correspond - to the pandapower element indices - - **trace_name** (String, "lines") - name of the trace which will appear in the legend - - **color** (String, "green") - color of lines in the trace - - **cmap** (bool, False) - name of a colormap which exists within plotly (Greys, YlGnBu, - Greens, YlOrRd, Bluered, RdBu, Reds, Blues, Picnic, Rainbow, Portland, Jet, Hot, - Blackbody, Earth, Electric, Viridis) - - **cmap_vals** (list, None) - values used for coloring using colormap - - **cbar_title** (String, None) - title for the colorbar - - **cmin** (float, None) - colorbar range minimum - - **cmax** (float, None) - colorbar range maximum - - - """ - color = get_plotly_color(color) - - if trafotype == '2W': - trafotable='trafo' - - trafo_buses_with_geodata = net.trafo.hv_bus.isin(net.bus_geodata.index) & \ - net.trafo.lv_bus.isin(net.bus_geodata.index) - connections = [['hv_bus', 'lv_bus']] - elif trafotype=='3W': - trafotable = 'trafo3w' - trafo_buses_with_geodata = net.trafo3w.hv_bus.isin(net.bus_geodata.index) & \ - net.trafo3w.mv_bus.isin(net.bus_geodata.index) & \ - net.trafo3w.lv_bus.isin(net.bus_geodata.index) - connections = [['hv_bus', 'lv_bus'], ['hv_bus', 'mv_bus'], ['mv_bus', 'lv_bus']] - - else: - raise UserWarning('trafo_type should be 2W or 3W') - # defining lines to be plot - trafos = net[trafotable].index.tolist() if trafos is None else list(trafos) - if len(trafos) == 0: - return [] - - - trafos_mask = net[trafotable].index.isin(trafos) - trafos_to_plot = net[trafotable].loc[trafo_buses_with_geodata & trafos_mask] - - if infofunc is not None: - if not isinstance(infofunc, pd.Series) and isinstance(infofunc, Iterable) and \ - len(infofunc) == len(trafos): - infofunc = pd.Series(index=trafos, data=infofunc) - assert isinstance(infofunc, pd.Series), \ - "infofunc should be a pandas series with the net.trafo.index to the infofunc contents" - infofunc = infofunc.loc[trafos_to_plot.index] - - - cmap_colors = [] - if cmap is not None: - cmap = 'jet' if cmap is None else cmap - - cmin = 0 if cmin is None else cmin - cmax = 100 if cmin is None else cmax - - if cmap_vals is not None: - cmap_vals = cmap_vals - else: - if net['res_'+trafotable].shape[0] == 0: - logger.error("There are no power flow results for lines which are default for line colormap coloring..." - "set cmap_vals input argument if you want colormap according to some specific values...") - cmap_vals = net['res_'+trafotable].loc[trafos_to_plot.index, 'loading_percent'].values - - cmap_colors = get_plotly_cmap(cmap_vals, cmap_name=cmap, cmin=cmin, cmax=cmax) - - trafo_traces = [] - - for col_i, (idx, trafo) in enumerate(trafos_to_plot.iterrows()): - if cmap is not None: - color = cmap_colors[col_i] - for from_bus1, to_bus1 in connections: - - trafo_trace = dict(type='scatter', text=[], line=Line(width=width, color=color), - hoverinfo='text', mode='lines', name=trace_name) - - trafo_trace['text'] = trafo['name'] if infofunc is None else infofunc.loc[idx] - - for k in ('x', 'y'): - from_bus = net.bus_geodata.loc[trafo[from_bus1], k] - to_bus = net.bus_geodata.loc[trafo[to_bus1], k] - trafo_trace[k] = [from_bus, (from_bus + to_bus) / 2, to_bus] - - trafo_traces.append(trafo_trace) - - center_trace = create_edge_center_trace(trafo_traces, color=color, infofunc=infofunc, - use_line_geodata=use_line_geodata) - trafo_traces.append(center_trace) - return trafo_traces - - -def draw_traces(traces, on_map=False, map_style='basic', showlegend=True, figsize=1, - aspectratio='auto', filename='temp-plot.html', auto_open=True): - """ - plots all the traces (which can be created using :func:`create_bus_trace`, :func:`create_line_trace`, - :func:`create_trafo_trace`) - to PLOTLY (see https://plot.ly/python/) - - INPUT: - **traces** - list of dicts which correspond to plotly traces - generated using: `create_bus_trace`, `create_line_trace`, `create_trafo_trace` - - OPTIONAL: - **on_map** (bool, False) - enables using mapbox plot in plotly - - **map_style** (str, 'basic') - enables using mapbox plot in plotly - - - 'streets' - - 'bright' - - 'light' - - 'dark' - - 'satellite' - - **showlegend** (bool, 'True') - enables legend display - - **figsize** (float, 1) - aspectratio is multiplied by it in order to get final image size - - **aspectratio** (tuple, 'auto') - when 'auto' it preserves original aspect ratio of the - network geodata any custom aspectration can be given as a tuple, e.g. (1.2, 1) - - **filename** (str, "temp-plot.html") - plots to a html file called filename - - **auto_open** (bool, 'True') - automatically open plot in browser - - OUTPUT: - **figure** (graph_objs._figure.Figure) figure object - - """ - - if on_map: - try: - on_map = _on_map_test(traces[0]['x'][0], traces[0]['y'][0]) - except: - logger.warning("Test if geo-data are in lat/long cannot be performed using geopy -> " - "eventual plot errors are possible.") - - if on_map is False: - logger.warning("Existing geodata are not real lat/lon geographical coordinates. -> " - "plot on maps is not possible.\n" - "Use geo_data_to_latlong(net, projection) to transform geodata from specific projection.") - - if on_map: - # change traces for mapbox - # change trace_type to scattermapbox and rename x to lat and y to lon - for trace in traces: - trace['lat'] = trace.pop('y') - trace['lon'] = trace.pop('x') - trace['type'] = 'scattermapbox' - if "line" in trace and isinstance(trace["line"], Line): - # scattermapboxplot lines do not support dash for some reason, make it a red line instead - if "dash" in trace["line"]._props: - _prps = dict(trace["line"]._props) - _prps.pop("dash", None) - _prps["color"] = "red" - trace["line"] = scmLine(_prps) - else: - trace["line"] = scmLine(dict(trace["line"]._props)) - elif "marker" in trace and isinstance(trace["marker"], Marker): - trace["marker"] = scmMarker(trace["marker"]._props) - - # setting Figure object - fig = Figure(data=traces, # edge_trace - layout=Layout( - titlefont=dict(size=16), - showlegend=showlegend, - autosize=(aspectratio == 'auto'), - hovermode='closest', - margin=dict(b=5, l=5, r=5, t=5), - # annotations=[dict( - # text="", - # showarrow=False, - # xref="paper", yref="paper", - # x=0.005, y=-0.002)], - xaxis=XAxis(showgrid=False, zeroline=False, showticklabels=False), - yaxis=YAxis(showgrid=False, zeroline=False, showticklabels=False), - # legend=dict(x=0, y=1.0) - ), ) - - # check if geodata are real geographical lat/lon coordinates using geopy - - if on_map: - try: - mapbox_access_token = _get_mapbox_token() - except Exception: - logger.exception('mapbox token required for map plots. ' - 'Get Mapbox token by signing in to https://www.mapbox.com/.\n' - 'After getting a token, set it to pandapower using:\n' - 'pandapower.plotting.plotly.mapbox_plot.set_mapbox_token(\'\')') - raise MapboxTokenMissing - - fig['layout']['mapbox'] = dict(accesstoken=mapbox_access_token, - bearing=0, - center=dict(lat=pd.Series(traces[0]['lat']).dropna().mean(), - lon=pd.Series(traces[0]['lon']).dropna().mean()), - style=map_style, - pitch=0, - zoom=11) - - # default aspectratio: if on_map use auto, else use 'original' - aspectratio = 'original' if not on_map and aspectratio == 'auto' else aspectratio - - if aspectratio != 'auto': - if aspectratio == 'original': - # TODO improve this workaround for getting original aspectratio - xs = [] - ys = [] - for trace in traces: - xs += trace['x'] - ys += trace['y'] - x_dropna = pd.Series(xs).dropna() - y_dropna = pd.Series(ys).dropna() - xrange = x_dropna.max() - x_dropna.min() - yrange = y_dropna.max() - y_dropna.min() - ratio = xrange / yrange - if ratio < 1: - aspectratio = (ratio, 1.) - else: - aspectratio = (1., 1 / ratio) - - aspectratio = np.array(aspectratio) / max(aspectratio) - fig['layout']['width'], fig['layout']['height'] = ([ar * figsize * 700 for ar in aspectratio]) - - # check if called from ipynb or not in order to consider appropriate plot function - if _in_ipynb(): - from plotly.offline import init_notebook_mode, iplot as plot - init_notebook_mode() - plot(fig, filename=filename) - else: - from plotly.offline import plot as plot - plot(fig, filename=filename, auto_open=auto_open) - - return fig +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import math + +import numpy as np +import pandas as pd +from packaging import version +from collections.abc import Iterable + +from pandapower.plotting.plotly.get_colors import get_plotly_color, get_plotly_cmap +from pandapower.plotting.plotly.mapbox_plot import _on_map_test, _get_mapbox_token, \ + MapboxTokenMissing + +try: + import pplog as logging +except ImportError: + import logging +logger = logging.getLogger(__name__) + +try: + from plotly import __version__ as plotly_version + from plotly.graph_objs.scatter.marker import ColorBar + from plotly.graph_objs import Figure, Layout + from plotly.graph_objs.layout import XAxis, YAxis + from plotly.graph_objs.scatter import Line, Marker + from plotly.graph_objs.scattermapbox import Line as scmLine + from plotly.graph_objs.scattermapbox import Marker as scmMarker +except ImportError: + logger.info("Failed to import plotly - interactive plotting will not be available") + + +def version_check(): + if "plotly_version" not in locals() and "plotly_version" not in globals(): + raise UserWarning("You are trying to use plotly, which is not installed.\r\n" + "Please upgrade your python-plotly installation, " + "e.g., via pip install --upgrade plotly") + if version.parse(plotly_version) < version.parse("3.1.1"): + raise UserWarning("Your plotly version {} is no longer supported.\r\n" + "Please upgrade your python-plotly installation, " + "e.g., via pip install --upgrade plotly".format(__version__)) + + +def _in_ipynb(): + """ + An auxiliary function which checks if plot is called from a jupyter-notebook or not + """ + from IPython import get_ipython + return get_ipython().__class__.__name__ == 'ZMQInteractiveShell' + + +def sum_line_length(pts): + pt_diff = lambda p: (p[0][0] - p[1][0], p[0][1] - p[1][1]) + diffs = map(pt_diff, zip(pts[:-1], pts[1:])) + line_length = sum(math.hypot(d1, d2) for d1, d2 in diffs) + return line_length + + +def get_line_neutral(coord): + if len(coord) == 1: + return coord[0] + half_length = sum_line_length(coord) / 2.0 + length = 0.0 + ind = 0 + while length < half_length: + ind += 1 + length = sum_line_length(coord[:ind]) + + start_coord = coord[ind - 2] + end_coord = coord[ind - 1] + mid = [(a1 + a2) / 2.0 for a1, a2 in zip(start_coord, end_coord)] + + return mid + + +def create_edge_center_trace(line_trace, size=1, patch_type="circle", color="white", infofunc=None, + trace_name='edge_center', use_line_geodata=False): + """ + Creates a plotly trace of pandapower buses. + + INPUT: + **line traces** (from pandapowerNet) - The already generated line traces with center geodata + + OPTIONAL: + + **size** (int, 5) - patch size + + **patch_type** (str, "circle") - patch type, can be + + - "circle" for a circle + - "square" for a rectangle + - "diamond" for a diamond + - much more pathc types at https://plot.ly/python/reference/#scatter-marker + + **infofunc** (pd.Series, None) - hoverinfo for each trace element. Indices should correspond + to the pandapower element indices + + **trace_name** (String, "buses") - name of the trace which will appear in the legend + + **color** (String, "blue") - color of buses in the trace + + """ + # color = get_plotly_color(color) + + center_trace = dict(type='scatter', text=[], mode='markers', hoverinfo='text', name=trace_name, + marker=dict(color=color, size=size, symbol=patch_type)) + + if not use_line_geodata: + center_trace['x'], center_trace['y'] = (line_trace[0]["x"][1::4], line_trace[0]["y"][1::4]) + else: + x, y = [], [] + for trace in line_trace: + coord = list(zip(trace["x"], trace["y"])) + mid_coord = get_line_neutral(coord) + x.append(mid_coord[0]) + y.append(mid_coord[1]) + + center_trace['x'], center_trace['y'] = (x, y) + + center_trace['text'] = infofunc + + return center_trace + + +def create_bus_trace(net, buses=None, size=5, patch_type="circle", color="blue", infofunc=None, + trace_name='buses', legendgroup=None, cmap=None, cmap_vals=None, + cbar_title=None, cmin=None, cmax=None, cpos=1.0, colormap_column="vm_pu"): + """ + Creates a plotly trace of pandapower buses. It is a wrapper function for the more generic + _create_node_trace function. + + INPUT: + **net** (pandapowerNet) - The pandapower network + + OPTIONAL: + **buses** (list, None) - The buses for which the collections are created. + If None, all buses in the network are considered. + + **size** (int, 5) - patch size + + **patch_type** (str, "circle") - patch type, can be + + - "circle" for a circle + - "square" for a rectangle + - "diamond" for a diamond + - much more pathc types at https://plot.ly/python/reference/#scatter-marker + + **infofunc** (pd.Series, None) - hoverinfo for bus elements. Indices should correspond to + the pandapower element indices + + **trace_name** (String, "buses") - name of the trace which will appear in the legend + + **color** (String, "blue") - color of buses in the trace + + **cmap** (String, None) - name of a colormap which exists within plotly + (Greys, YlGnBu, Greens, YlOrRd, Bluered, RdBu, Reds, Blues, Picnic, Rainbow, + Portland, Jet, Hot, Blackbody, Earth, Electric, Viridis) alternatively a custom + discrete colormap can be used + + **cmap_vals** (list, None) - values used for coloring using colormap + + **cbar_title** (String, None) - title for the colorbar + + **cmin** (float, None) - colorbar range minimum + + **cmax** (float, None) - colorbar range maximum + + **cpos** (float, 1.1) - position of the colorbar + + **colormap_column** (str, "vm_pu") - set color of bus according to this variable + + """ + node_element = 'bus' + branch_element = 'line' + return _create_node_trace(net, buses, size, patch_type, color, infofunc, trace_name, + legendgroup, cmap, cmap_vals, cbar_title, cmin, cmax, cpos, + colormap_column, node_element, branch_element) + + +def _create_node_trace(net, nodes=None, size=5, patch_type='circle', color='blue', infofunc=None, + trace_name='nodes', legendgroup=None, cmap=None, cmap_vals=None, + cbar_title=None, cmin=None, cmax=None, cpos=1.0, colormap_column='vm_pu', + node_element='bus', branch_element='line'): + """ + Creates a plotly trace of node elements. In pandapower, it should be called by + create_bus_traces. The rather generic, non-power net specific names were introduced to make it + usable in other packages, e.g. for pipe networks. + + INPUT: + **net** (pandapowerNet) - The network + + OPTIONAL: + **nodes** (list, None) - The nodes for which the collections are created. + If None, all nodes in the network are considered. + + **size** (int, 5) - patch size + + **patch_type** (str, "circle") - patch type, can be + + - "circle" for a circle + - "square" for a rectangle + - "diamond" for a diamond + - much more pathc types at https://plot.ly/python/reference/#scatter-marker + + **infofunc** (pd.Series, None) - hoverinfo for node elements. Indices should correspond to + the node element indices + + **trace_name** (String, "buses") - name of the trace which will appear in the legend + + **color** (String, "blue") - color of nodes in the trace + + **cmap** (String, None) - name of a colormap which exists within plotly + (Greys, YlGnBu, Greens, YlOrRd, Bluered, RdBu, Reds, Blues, Picnic, Rainbow, + Portland, Jet, Hot, Blackbody, Earth, Electric, Viridis) alternatively a custom + discrete colormap can be used + + **cmap_vals** (list, None) - values used for coloring using colormap + + **cbar_title** (String, None) - title for the colorbar + + **cmin** (float, None) - colorbar range minimum + + **cmax** (float, None) - colorbar range maximum + + **cpos** (float, 1.1) - position of the colorbar + + **colormap_column** (str, "vm_pu") - set color of bus according to this variable + + **node_element** (str, "bus") - name of the node element in the net. In a pandapower net, + this is alwas "bus" + + **branch_element** (str, "line") - name of the branch element in the net. In a pandapower + net, this is alwas "line" + + """ + color = get_plotly_color(color) + node_trace = dict(type='scatter', text=[], mode='markers', hoverinfo='text', name=trace_name, + marker=dict(color=color, size=size, symbol=patch_type)) + nodes = net[node_element].index.tolist() if nodes is None else list(nodes) + node_geodata = node_element + "_geodata" + node_plot_index = [b for b in nodes if b in list(set(nodes) & set(net[node_geodata].index))] + node_trace['x'], node_trace['y'] = \ + (net[node_geodata].loc[node_plot_index, 'x'].tolist(), + net[node_geodata].loc[node_plot_index, 'y'].tolist()) + if not isinstance(infofunc, pd.Series) and isinstance(infofunc, Iterable) and \ + len(infofunc) == len(nodes): + infofunc = pd.Series(index=nodes, data=infofunc) + node_trace['text'] = net[node_element].loc[node_plot_index, 'name'] if infofunc is None else \ + infofunc.loc[nodes] + if legendgroup: + node_trace['legendgroup'] = legendgroup + # if color map is set + if cmap is not None: + # TODO introduce discrete colormaps (see contour plots in plotly) + # if cmap_vals are not given + + cmap = 'Jet' if cmap is True else cmap + + if cmap_vals is not None: + cmap_vals = cmap_vals + else: + if net["res_"+branch_element].shape[0] == 0: + if branch_element == "line": + logger.error( + "There are no power flow results for buses voltage magnitudes which are" + "default for bus colormap coloring..." + "set cmap_vals input argument if you want colormap according to some " + "specific values...") + else: + logger.error( + "There are no simulation results which are default for %s colormap coloring..." + "set cmap_vals input argument if you want colormap according to some " + "specific values..." %node_element) + cmap_vals = net["res_"+node_element].loc[node_plot_index, colormap_column].values + + cmap_vals = net["res_"+node_element].loc[ + node_plot_index, colormap_column] if cmap_vals is None else cmap_vals + + cmin = cmap_vals.min() if cmin is None else cmin + cmax = cmap_vals.max() if cmax is None else cmax + + node_trace['marker'] = Marker(size=size, + color=cmap_vals, cmin=cmin, cmax=cmax, + colorscale=cmap, + colorbar=ColorBar(thickness=10, + x=cpos), + symbol=patch_type + ) + + if cbar_title: + node_trace['marker']['colorbar']['title'] = cbar_title + + node_trace['marker']['colorbar']['title']['side'] = 'right' + return [node_trace] + + +def _get_branch_geodata_plotly(net, branches, use_branch_geodata, branch_element='line', + node_element='bus'): + xs = [] + ys = [] + if use_branch_geodata: + for line_ind, _ in branches.iterrows(): + line_coords = net[branch_element+'_geodata'].loc[line_ind, 'coords'] + linex, liney = list(zip(*line_coords)) + xs += linex + xs += [None] + ys += liney + ys += [None] + else: + # getting x and y values from bus_geodata for from and to side of each line + n = node_element + n_geodata = n + "_geodata" + from_n = 'from_'+n + to_n = 'to_'+n + from_node = net[n_geodata].loc[branches[from_n], 'x'].tolist() + to_node = net[n_geodata].loc[branches[to_n], 'x'].tolist() + # center point added because of the hovertool + center = (np.array(from_node) + np.array(to_node)) / 2 + none_list = [None] * len(from_node) + xs = np.array([from_node, center, to_node, none_list]).T.flatten().tolist() + + from_node = net[n_geodata].loc[branches[from_n], 'y'].tolist() + to_node = net[n_geodata].loc[branches[to_n], 'y'].tolist() + # center point added because of the hovertool + center = (np.array(from_node) + np.array(to_node)) / 2 + none_list = [None] * len(from_node) + ys = np.array([from_node, center, to_node, none_list]).T.flatten().tolist() + + # [:-1] is because the trace will not appear on maps if None is at the end + return xs[:-1], ys[:-1] + + +def create_line_trace(net, lines=None, use_line_geodata=True, respect_switches=False, width=1.0, + color='grey', infofunc=None, trace_name='lines', legendgroup=None, + cmap=None, cbar_title=None, show_colorbar=True, cmap_vals=None, cmin=None, + cmax=None, cpos=1.1): + """ + Creates a plotly trace of pandapower lines. It is a power net specific wrapper function for the + more generic _create_line_trace function. + + INPUT: + **net** (pandapowerNet) - The pandapower network + + OPTIONAL: + **lines** (list, None) - The lines for which the collections are created. + If None, all lines in the network are considered. + + **width** (int, 1) - line width + + + **infofunc** (pd.Series, None) - hoverinfo for line elements. Indices should correspond to + the pandapower element indices + + **trace_name** (String, "lines") - name of the trace which will appear in the legend + + **color** (String, "grey") - color of lines in the trace + + **legendgroup** (String, None) - defines groups of layers that will be displayed in a legend + e.g. groups according to voltage level (as used in `vlevel_plotly`) + + **cmap** (String, None) - name of a colormap which exists within plotly if set to True default `Jet` + colormap is used, alternative colormaps : Greys, YlGnBu, Greens, YlOrRd, + Bluered, RdBu, Reds, Blues, Picnic, Rainbow, Portland, Jet, Hot, Blackbody, Earth, Electric, Viridis + + **cmap_vals** (list, None) - values used for coloring using colormap + + **show_colorbar** (bool, False) - flag for showing or not corresponding colorbar + + **cbar_title** (String, None) - title for the colorbar + + **cmin** (float, None) - colorbar range minimum + + **cmax** (float, None) - colorbar range maximum + + **cpos** (float, 1.1) - position of the colorbar + + """ + + branch_element = "line" + node_element = "bus" + separator_element = "switch" + + return _create_branch_trace(net, lines, use_line_geodata, respect_switches, width, color, + infofunc, trace_name, legendgroup, cmap, cbar_title, show_colorbar, + cmap_vals, cmin, cmax, cpos, branch_element, separator_element, + node_element) + + +def _create_branch_trace(net, branches=None, use_branch_geodata=True, respect_separators=False, + width=1.0, color='grey', infofunc=None, trace_name='lines', + legendgroup=None, cmap=None, cbar_title=None, show_colorbar=True, + cmap_vals=None, cmin=None, cmax=None, cpos=1.1, branch_element='line', + separator_element='switch', node_element='bus', + cmap_vals_category='loading_percent'): + """ + Creates a plotly trace of branch elements. The rather generic, non-power net specific names + were introduced to make it usable in other packages, e.g. for pipe networks. + + INPUT: + **net** (pandapowerNet) - The network + + OPTIONAL: + **branches** (list, None) - The branches for which the collections are created. + If None, all branches in the network are considered. + + **use_branch_geodata** (bool, True) - whether the geodata of the branch tables should be used + + **respect_separators** (bool, True) - whether separating elements like switches should be + considered + + **width** (int, 1) - branch width + + **color** (String, "grey") - color of lines in the trace + + **infofunc** (pd.Series, None) - hoverinfo for line elements. Indices should correspond to + the pandapower element indices + + **trace_name** (String, "lines") - name of the trace which will appear in the legend + + **legendgroup** (String, None) - defines groups of layers that will be displayed in a legend + e.g. groups according to voltage level (as used in `vlevel_plotly`) + + **cmap** (String, None) - name of a colormap which exists within plotly if set to True default `Jet` + colormap is used, alternative colormaps : Greys, YlGnBu, Greens, YlOrRd, + Bluered, RdBu, Reds, Blues, Picnic, Rainbow, Portland, Jet, Hot, Blackbody, Earth, Electric, Viridis + + **cmap_vals** (list, None) - values used for coloring using colormap + + **show_colorbar** (bool, False) - flag for showing or not corresponding colorbar + + **cbar_title** (String, None) - title for the colorbar + + **cmin** (float, None) - colorbar range minimum + + **cmax** (float, None) - colorbar range maximum + + **cpos** (float, 1.1) - position of the colorbar + + **branch_element** (str, "line") - name of the branch element in the net. In a pandapower + net, this is alwas "line" + + **separator_element** (str, "switch") - name of the separator element in the net. In a + pandapower net, this is alwas "switch" + + **node_element** (str, "bus") - name of the node element in the net. In a pandapower net, + this is alwas "bus" (net.bus) + + """ + + color = get_plotly_color(color) + + # defining branches (lines) to be plot + branches = net[branch_element].index.tolist() if branches is None else list(branches) + if len(branches) == 0: + return [] + + if infofunc is not None: + if not isinstance(infofunc, pd.Series) and isinstance(infofunc, Iterable) and \ + len(infofunc) == len(branches): + infofunc = pd.Series(index=branches, data=infofunc) + if len(infofunc) != len(branches) and len(infofunc) != len(net[branch_element]): + raise UserWarning("Different amount of hover info than {}s to " + "plot".format(branch_element)) + assert isinstance(infofunc, pd.Series), \ + "infofunc should be a pandas series with the net.{}.index to the infofunc " \ + "contents".format(branch_element) + no_go_branches = set() + if respect_separators: + if separator_element == "switch": + no_go_branches = set(branches) & \ + set(net[separator_element].element[(net[separator_element].et == "l") & + (net[separator_element].closed == 0)]) + elif separator_element == "valve": + no_go_branches = set(branches) & \ + set(net[separator_element][(~net[separator_element].in_service) | + (net[separator_element].opened)]) + else: + raise NotImplementedError("respect separtors is only implements for switches, " + "not for {}s.".format(separator_element)) + branches_to_plot = net[branch_element].loc[set(net[branch_element].index) & (set(branches) - no_go_branches)] + no_go_branches_to_plot = None + branch_geodata = branch_element + "_geodata" + node_geodata = node_element + "_geodata" + use_branch_geodata = use_branch_geodata if net[branch_geodata].shape[0] > 0 else False + if use_branch_geodata: + branches_to_plot = branches_to_plot.loc[set(branches_to_plot.index) & + set(net[branch_geodata].index)] + else: + branches_with_geodata = branches_to_plot['from_'+node_element].isin( + net[node_geodata].index) & \ + branches_to_plot['to_'+node_element].isin(net[node_geodata].index) + branches_to_plot = branches_to_plot.loc[branches_with_geodata] + cmap_branches = None + if cmap is not None: + # workaround: if colormap plot is used, each line need to be separate scatter object because + # plotly still doesn't support appropriately colormap for line objects + # TODO correct this when plotly solves existing github issue about Line colorbar + + cmap = 'jet' if cmap is True else cmap + + if cmap_vals is not None: + if not isinstance(cmap_vals, np.ndarray): + cmap_vals = np.asarray(cmap_vals) + else: + if net['res_'+branch_element].shape[0] == 0: + logger.error( + "There are no simulation results for branches which are default for {}" + "colormap coloring..." + "set cmap_vals input argument if you want colormap according to some specific " + "values...".format(branch_element)) + cmap_vals = net['res_'+branch_element].loc[branches_to_plot.index, + cmap_vals_category].values + + cmap_branches = get_plotly_cmap(cmap_vals, cmap_name=cmap, cmin=cmin, cmax=cmax) + if len(cmap_branches) == len(net[branch_element]): + # some branches are not plotted although cmap_value were provided for all branches + branch_idx_map = dict(zip(net[branch_element].loc[branches].index.tolist(), range(len(branches)))) + cmap_branches = [cmap_branches[branch_idx_map[idx]] for idx in branches_to_plot.index] + else: + assert len(cmap_branches) == len(branches_to_plot), \ + "Different amounts of cmap values and branches to plot were supplied" + branch_traces = [] + for col_i, (idx, branch) in enumerate(branches_to_plot.iterrows()): + line_color = color + line_info = branch['name'] + if cmap is not None: + try: + line_color = cmap_branches[col_i] + line_info = branch['name'] if infofunc is None else infofunc.loc[idx] + except IndexError: + logger.warning("No color and info for {} {:d} (name: {}) available".format( + branch_element, idx, branch['name'])) + + line_trace = dict(type='scatter', text=[], hoverinfo='text', mode='lines', name=trace_name, + line=Line(width=width, color=color)) + + line_trace['x'], line_trace['y'] = _get_branch_geodata_plotly(net, + branches_to_plot.loc[idx:idx], + use_branch_geodata, + branch_element, node_element) + + line_trace['line']['color'] = line_color + + line_trace['text'] = line_info + + branch_traces.append(line_trace) + if show_colorbar and cmap is not None: + + cmin = cmap_vals.min() if cmin is None else cmin + cmax = cmap_vals.max() if cmax is None else cmax + try: + # TODO for custom colormaps + cbar_cmap_name = 'Jet' if cmap == 'jet' else cmap + # workaround to get colorbar for branches (an unvisible node is added) + # get x and y of first line.from_bus: + x = [net[node_geodata].x[net[branch_element]["from_"+node_element][net[branch_element].index[0]]]] + y = [net[node_geodata].y[net[branch_element]["from_"+node_element][net[branch_element].index[0]]]] + branches_cbar = dict(type='scatter', x=x, y=y, mode='markers', + marker=Marker(size=0, cmin=cmin, cmax=cmax, + color='rgb(255,255,255)', + opacity=0, + colorscale=cbar_cmap_name, + colorbar=ColorBar(thickness=10, + x=cpos), + )) + if cbar_title: + branches_cbar['marker']['colorbar']['title'] = cbar_title + + branches_cbar['marker']['colorbar']['title']['side'] = 'right' + + branch_traces.append(branches_cbar) + except: + pass + if len(no_go_branches) > 0: + no_go_branches_to_plot = net[branch_element].loc[no_go_branches] + for idx, branch in no_go_branches_to_plot.iterrows(): + line_color = color + line_trace = dict(type='scatter', + text=[], hoverinfo='text', mode='lines', name='disconnected branches', + line=Line(width=width / 2, color='grey', dash='dot')) + + line_trace['x'], line_trace['y'] = _get_branch_geodata_plotly(net, + no_go_branches_to_plot.loc[ + idx:idx], + use_branch_geodata, + branch_element, node_element) + + line_trace['line']['color'] = line_color + try: + line_trace['text'] = infofunc.loc[idx] + except (KeyError, IndexError, AttributeError): + line_trace["text"] = branch['name'] + + branch_traces.append(line_trace) + + if legendgroup: + line_trace['legendgroup'] = legendgroup + # sort infofunc so that it is the correct order lines_to_plot + no_go_lines_to_plot + if infofunc is not None: + if not isinstance(infofunc, pd.Series) and isinstance(infofunc, Iterable) and \ + len(infofunc) == len(net[branch_element]): + infofunc = pd.Series(index=net[branch_element].index, data=infofunc) + assert isinstance(infofunc, pd.Series), \ + "infofunc should be a pandas series with the net.{}.index to the infofunc contents" \ + .format(branch_element) + sorted_idx = branches_to_plot.index.tolist() + if no_go_branches_to_plot is not None: + sorted_idx += no_go_branches_to_plot.index.tolist() + infofunc = infofunc.loc[sorted_idx] + center_trace = create_edge_center_trace(branch_traces, color=color, infofunc=infofunc, + use_line_geodata=use_branch_geodata) + branch_traces.append(center_trace) + return branch_traces + + +def create_trafo_trace(net, trafos=None, color='green', trafotype='2W', width=5, infofunc=None, cmap=None, + trace_name='trafos', cmin=None, cmax=None, cmap_vals=None, matching_params=None, + use_line_geodata=None): + + """ + Creates a plotly trace of pandapower trafos. + + INPUT: + **net** (pandapowerNet) - The pandapower network + + OPTIONAL: + **trafos** (list, None) - The trafos for which the collections are created. + If None, all trafos in the network are considered. + + **trafotype** (String, "2W") - trafotype can be 2W or 3W and can define which transformer table is taken (trafo or trafo3w) + + **width** (int, 5) - line width + + **infofunc** (pd.Series, None) - hoverinfo for trafo elements. Indices should correspond + to the pandapower element indices + + **trace_name** (String, "lines") - name of the trace which will appear in the legend + + **color** (String, "green") - color of lines in the trace + + **cmap** (bool, False) - name of a colormap which exists within plotly (Greys, YlGnBu, + Greens, YlOrRd, Bluered, RdBu, Reds, Blues, Picnic, Rainbow, Portland, Jet, Hot, + Blackbody, Earth, Electric, Viridis) + + **cmap_vals** (list, None) - values used for coloring using colormap + + **cbar_title** (String, None) - title for the colorbar + + **cmin** (float, None) - colorbar range minimum + + **cmax** (float, None) - colorbar range maximum + + + """ + color = get_plotly_color(color) + + if trafotype == '2W': + trafotable='trafo' + + trafo_buses_with_geodata = net.trafo.hv_bus.isin(net.bus_geodata.index) & \ + net.trafo.lv_bus.isin(net.bus_geodata.index) + connections = [['hv_bus', 'lv_bus']] + elif trafotype=='3W': + trafotable = 'trafo3w' + trafo_buses_with_geodata = net.trafo3w.hv_bus.isin(net.bus_geodata.index) & \ + net.trafo3w.mv_bus.isin(net.bus_geodata.index) & \ + net.trafo3w.lv_bus.isin(net.bus_geodata.index) + connections = [['hv_bus', 'lv_bus'], ['hv_bus', 'mv_bus'], ['mv_bus', 'lv_bus']] + + else: + raise UserWarning('trafo_type should be 2W or 3W') + # defining lines to be plot + trafos = net[trafotable].index.tolist() if trafos is None else list(trafos) + if len(trafos) == 0: + return [] + + + trafos_mask = net[trafotable].index.isin(trafos) + trafos_to_plot = net[trafotable].loc[trafo_buses_with_geodata & trafos_mask] + + if infofunc is not None: + if not isinstance(infofunc, pd.Series) and isinstance(infofunc, Iterable) and \ + len(infofunc) == len(trafos): + infofunc = pd.Series(index=trafos, data=infofunc) + assert isinstance(infofunc, pd.Series), \ + "infofunc should be a pandas series with the net.trafo.index to the infofunc contents" + infofunc = infofunc.loc[trafos_to_plot.index] + + + cmap_colors = [] + if cmap is not None: + cmap = 'jet' if cmap is None else cmap + + cmin = 0 if cmin is None else cmin + cmax = 100 if cmin is None else cmax + + if cmap_vals is not None: + cmap_vals = cmap_vals + else: + if net['res_'+trafotable].shape[0] == 0: + logger.error("There are no power flow results for lines which are default for line colormap coloring..." + "set cmap_vals input argument if you want colormap according to some specific values...") + cmap_vals = net['res_'+trafotable].loc[trafos_to_plot.index, 'loading_percent'].values + + cmap_colors = get_plotly_cmap(cmap_vals, cmap_name=cmap, cmin=cmin, cmax=cmax) + + trafo_traces = [] + + for col_i, (idx, trafo) in enumerate(trafos_to_plot.iterrows()): + if cmap is not None: + color = cmap_colors[col_i] + for from_bus1, to_bus1 in connections: + + trafo_trace = dict(type='scatter', text=[], line=Line(width=width, color=color), + hoverinfo='text', mode='lines', name=trace_name) + + trafo_trace['text'] = trafo['name'] if infofunc is None else infofunc.loc[idx] + + for k in ('x', 'y'): + from_bus = net.bus_geodata.loc[trafo[from_bus1], k] + to_bus = net.bus_geodata.loc[trafo[to_bus1], k] + trafo_trace[k] = [from_bus, (from_bus + to_bus) / 2, to_bus] + + trafo_traces.append(trafo_trace) + + center_trace = create_edge_center_trace(trafo_traces, color=color, infofunc=infofunc, + use_line_geodata=use_line_geodata) + trafo_traces.append(center_trace) + return trafo_traces + + +def draw_traces(traces, on_map=False, map_style='basic', showlegend=True, figsize=1, + aspectratio='auto', filename='temp-plot.html', auto_open=True): + """ + plots all the traces (which can be created using :func:`create_bus_trace`, :func:`create_line_trace`, + :func:`create_trafo_trace`) + to PLOTLY (see https://plot.ly/python/) + + INPUT: + **traces** - list of dicts which correspond to plotly traces + generated using: `create_bus_trace`, `create_line_trace`, `create_trafo_trace` + + OPTIONAL: + **on_map** (bool, False) - enables using mapbox plot in plotly + + **map_style** (str, 'basic') - enables using mapbox plot in plotly + + - 'streets' + - 'bright' + - 'light' + - 'dark' + - 'satellite' + + **showlegend** (bool, 'True') - enables legend display + + **figsize** (float, 1) - aspectratio is multiplied by it in order to get final image size + + **aspectratio** (tuple, 'auto') - when 'auto' it preserves original aspect ratio of the + network geodata any custom aspectration can be given as a tuple, e.g. (1.2, 1) + + **filename** (str, "temp-plot.html") - plots to a html file called filename + + **auto_open** (bool, 'True') - automatically open plot in browser + + OUTPUT: + **figure** (graph_objs._figure.Figure) figure object + + """ + + if on_map: + try: + on_map = _on_map_test(traces[0]['x'][0], traces[0]['y'][0]) + except: + logger.warning("Test if geo-data are in lat/long cannot be performed using geopy -> " + "eventual plot errors are possible.") + + if on_map is False: + logger.warning("Existing geodata are not real lat/lon geographical coordinates. -> " + "plot on maps is not possible.\n" + "Use geo_data_to_latlong(net, projection) to transform geodata from specific projection.") + + if on_map: + # change traces for mapbox + # change trace_type to scattermapbox and rename x to lat and y to lon + for trace in traces: + trace['lat'] = trace.pop('y') + trace['lon'] = trace.pop('x') + trace['type'] = 'scattermapbox' + if "line" in trace and isinstance(trace["line"], Line): + # scattermapboxplot lines do not support dash for some reason, make it a red line instead + if "dash" in trace["line"]._props: + _prps = dict(trace["line"]._props) + _prps.pop("dash", None) + _prps["color"] = "red" + trace["line"] = scmLine(_prps) + else: + trace["line"] = scmLine(dict(trace["line"]._props)) + elif "marker" in trace and isinstance(trace["marker"], Marker): + trace["marker"] = scmMarker(trace["marker"]._props) + + # setting Figure object + fig = Figure(data=traces, # edge_trace + layout=Layout( + titlefont=dict(size=16), + showlegend=showlegend, + autosize=(aspectratio == 'auto'), + hovermode='closest', + margin=dict(b=5, l=5, r=5, t=5), + # annotations=[dict( + # text="", + # showarrow=False, + # xref="paper", yref="paper", + # x=0.005, y=-0.002)], + xaxis=XAxis(showgrid=False, zeroline=False, showticklabels=False), + yaxis=YAxis(showgrid=False, zeroline=False, showticklabels=False), + # legend=dict(x=0, y=1.0) + ), ) + + # check if geodata are real geographical lat/lon coordinates using geopy + + if on_map: + try: + mapbox_access_token = _get_mapbox_token() + except Exception: + logger.exception('mapbox token required for map plots. ' + 'Get Mapbox token by signing in to https://www.mapbox.com/.\n' + 'After getting a token, set it to pandapower using:\n' + 'pandapower.plotting.plotly.mapbox_plot.set_mapbox_token(\'\')') + raise MapboxTokenMissing + + fig['layout']['mapbox'] = dict(accesstoken=mapbox_access_token, + bearing=0, + center=dict(lat=pd.Series(traces[0]['lat']).dropna().mean(), + lon=pd.Series(traces[0]['lon']).dropna().mean()), + style=map_style, + pitch=0, + zoom=11) + + # default aspectratio: if on_map use auto, else use 'original' + aspectratio = 'original' if not on_map and aspectratio == 'auto' else aspectratio + + if aspectratio != 'auto': + if aspectratio == 'original': + # TODO improve this workaround for getting original aspectratio + xs = [] + ys = [] + for trace in traces: + xs += trace['x'] + ys += trace['y'] + x_dropna = pd.Series(xs).dropna() + y_dropna = pd.Series(ys).dropna() + xrange = x_dropna.max() - x_dropna.min() + yrange = y_dropna.max() - y_dropna.min() + ratio = xrange / yrange + if ratio < 1: + aspectratio = (ratio, 1.) + else: + aspectratio = (1., 1 / ratio) + + aspectratio = np.array(aspectratio) / max(aspectratio) + fig['layout']['width'], fig['layout']['height'] = ([ar * figsize * 700 for ar in aspectratio]) + + # check if called from ipynb or not in order to consider appropriate plot function + if _in_ipynb(): + from plotly.offline import init_notebook_mode, iplot as plot + init_notebook_mode() + plot(fig, filename=filename) + else: + from plotly.offline import plot as plot + plot(fig, filename=filename, auto_open=auto_open) + + return fig diff --git a/pandapower/plotting/plotly/vlevel_plotly.py b/pandapower/plotting/plotly/vlevel_plotly.py index 276464871..b76b871b9 100644 --- a/pandapower/plotting/plotly/vlevel_plotly.py +++ b/pandapower/plotting/plotly/vlevel_plotly.py @@ -1,199 +1,199 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import pandas as pd - -from pandapower.plotting.generic_geodata import create_generic_coordinates -from pandapower.plotting.plotly.traces import create_bus_trace, create_line_trace, \ - create_trafo_trace, draw_traces, version_check -from pandapower.plotting.plotly.get_colors import get_plotly_color_palette -from pandapower.plotting.plotly.mapbox_plot import geo_data_to_latlong -from pandapower.topology import create_nxgraph, connected_components - -try: - import pplog as logging -except ImportError: - import logging -logger = logging.getLogger(__name__) - - -def vlevel_plotly(net, respect_switches=True, use_line_geodata=None, colors_dict=None, on_map=False, - projection=None, map_style='basic', figsize=1, aspectratio='auto', line_width=2, - bus_size=10, auto_open=True): - """ - Plots a pandapower network in plotly - using lines/buses colors according to the voltage level they belong to. - If no geodata is available, artificial geodata is generated. For advanced plotting see the - tutorial - - INPUT: - **net** - The pandapower format network. If none is provided, mv_oberrhein() will be - plotted as an example - - OPTIONAL: - **respect_switches** (bool, True) - Respect switches when artificial geodata is created - - **use_line_geodata** (bool, True) - defines if lines patches are based on net.line_geodata - of the lines (True) or on net.bus_geodata of the connected buses (False) - - *colors_dict** (dict, None) - dictionary for customization of colors for each voltage level - in the form: voltage : color - - **on_map** (bool, False) - enables using mapbox plot in plotly If provided geodata are not - real geo-coordinates in lon/lat form, on_map will be set to False. - - **projection** (String, None) - defines a projection from which network geo-data will be - transformed to lat-long. For each projection a string can be found at - http://spatialreference.org/ref/epsg/ - - **map_style** (str, 'basic') - enables using mapbox plot in plotly - - - 'streets' - - 'bright' - - 'light' - - 'dark' - - 'satellite' - - **figsize** (float, 1) - aspectratio is multiplied by it in order to get final image size - - **aspectratio** (tuple, 'auto') - when 'auto' it preserves original aspect ratio of the - network geodata any custom aspectration can be given as a tuple, e.g. (1.2, 1) - - **line_width** (float, 1.0) - width of lines - - **bus_size** (float, 10.0) - size of buses to plot. - - **auto_open** (bool, True) - automatically open plot in browser - - OUTPUT: - **figure** (graph_objs._figure.Figure) figure object - - """ - version_check() - # create geocoord if none are available - if 'line_geodata' not in net: - net.line_geodata = pd.DataFrame(columns=['coords']) - if 'bus_geodata' not in net: - net.bus_geodata = pd.DataFrame(columns=["x", "y"]) - if len(net.line_geodata) == 0 and len(net.bus_geodata) == 0: - logger.warning("No or insufficient geodata available --> Creating artificial coordinates." + - " This may take some time") - create_generic_coordinates(net, respect_switches=respect_switches) - if on_map: - logger.warning( - "Map plots not available with artificial coordinates and will be disabled!") - on_map = False - - # check if geodata are real geographycal lat/lon coordinates using geopy - if on_map and projection is not None: - geo_data_to_latlong(net, projection=projection) - - # if bus geodata is available, but no line geodata - if use_line_geodata is None: - use_line_geodata = False if len(net.line_geodata) == 0 else True - elif use_line_geodata and len(net.line_geodata) == 0: - logger.warning( - "No or insufficient line geodata available --> only bus geodata will be used.") - use_line_geodata = False - - # getting connected componenets without consideration of trafos - graph = create_nxgraph(net, include_trafos=False) - vlev_buses = connected_components(graph) - # getting unique sets of buses for each voltage level - vlev_bus_dict = {} - for vl_buses in vlev_buses: - if net.bus.loc[vl_buses, 'vn_kv'].unique().shape[0] > 1: - logger.warning('buses from the same voltage level does not have the same vn_kv !?') - vn_kv = net.bus.loc[vl_buses, 'vn_kv'].unique()[0] - if vlev_bus_dict.get(vn_kv): - vlev_bus_dict[vn_kv].update(vl_buses) - else: - vlev_bus_dict[vn_kv] = vl_buses - - # create a default colormap for voltage levels - nvlevs = len(vlev_bus_dict) - colors = get_plotly_color_palette(nvlevs) - colors_dict = colors_dict or dict(zip(vlev_bus_dict.keys(), colors)) - - # creating traces for buses and lines for each voltage level - bus_traces = [] - line_traces = [] - for vn_kv, buses_vl in vlev_bus_dict.items(): - - vlev_color = colors_dict[vn_kv] - bus_trace_vlev = create_bus_trace( - net, buses=buses_vl, size=bus_size, legendgroup=str(vn_kv), color=vlev_color, - trace_name='buses {0} kV'.format(vn_kv)) - if bus_trace_vlev is not None: - bus_traces += bus_trace_vlev - - vlev_lines = net.line[net.line.from_bus.isin(buses_vl) & - net.line.to_bus.isin(buses_vl)].index.tolist() - line_trace_vlev = create_line_trace( - net, lines=vlev_lines, use_line_geodata=use_line_geodata, - respect_switches=respect_switches, legendgroup=str(vn_kv), color=vlev_color, - width=line_width, trace_name='lines {0} kV'.format(vn_kv)) - if line_trace_vlev is not None: - line_traces += line_trace_vlev - - trafo_traces = create_trafo_trace(net, color='gray', width=line_width * 2) - - return draw_traces(line_traces + trafo_traces + bus_traces, showlegend=True, - aspectratio=aspectratio, on_map=on_map, map_style=map_style, figsize=figsize, - auto_open=auto_open) - - -if __name__ == '__main__': - from pandapower.plotting.plotly import simple_plotly - from pandapower.networks import mv_oberrhein - from pandapower import runpp - net = mv_oberrhein() - vlevel_plotly(net) - runpp(net) - line_width = 2 - bus_size = 10 - use_line_geodata = None - graph = create_nxgraph(net, include_trafos=False) - vlev_buses = connected_components(graph) - respect_switches = True - - # getting unique sets of buses for each voltage level - vlev_bus_dict = {} - for vl_buses in vlev_buses: - if net.bus.loc[vl_buses, 'vn_kv'].unique().shape[0] > 1: - logger.warning('buses from the same voltage level does not have the same vn_kv !?') - vn_kv = net.bus.loc[vl_buses, 'vn_kv'].unique()[0] - if vlev_bus_dict.get(vn_kv): - vlev_bus_dict[vn_kv].update(vl_buses) - else: - vlev_bus_dict[vn_kv] = vl_buses - - # create a default colormap for voltage levels - nvlevs = len(vlev_bus_dict) - colors = get_plotly_color_palette(nvlevs) - colors_dict = dict(zip(vlev_bus_dict.keys(), colors)) - - # creating traces for buses and lines for each voltage level - bus_traces = [] - line_traces = [] - for vn_kv, buses_vl in vlev_bus_dict.items(): - - vlev_color = colors_dict[vn_kv] - bus_trace_vlev = create_bus_trace( - net, buses=buses_vl, size=bus_size, legendgroup=str(vn_kv), - color=vlev_color, trace_name='buses {0} kV'.format(vn_kv)) - if bus_trace_vlev is not None: - bus_traces += bus_trace_vlev - - vlev_lines = net.line[net.line.from_bus.isin(buses_vl) & - net.line.to_bus.isin(buses_vl)].index.tolist() - print(vlev_lines) - line_trace_vlev = create_line_trace( - net, lines=vlev_lines, use_line_geodata=use_line_geodata, - respect_switches=respect_switches, legendgroup=str(vn_kv), color="r", - width=line_width, trace_name='lines {0} kV'.format(vn_kv)) - if line_trace_vlev is not None: - line_traces += line_trace_vlev +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import pandas as pd + +from pandapower.plotting.generic_geodata import create_generic_coordinates +from pandapower.plotting.plotly.traces import create_bus_trace, create_line_trace, \ + create_trafo_trace, draw_traces, version_check +from pandapower.plotting.plotly.get_colors import get_plotly_color_palette +from pandapower.plotting.plotly.mapbox_plot import geo_data_to_latlong +from pandapower.topology import create_nxgraph, connected_components + +try: + import pplog as logging +except ImportError: + import logging +logger = logging.getLogger(__name__) + + +def vlevel_plotly(net, respect_switches=True, use_line_geodata=None, colors_dict=None, on_map=False, + projection=None, map_style='basic', figsize=1, aspectratio='auto', line_width=2, + bus_size=10, auto_open=True): + """ + Plots a pandapower network in plotly + using lines/buses colors according to the voltage level they belong to. + If no geodata is available, artificial geodata is generated. For advanced plotting see the + tutorial + + INPUT: + **net** - The pandapower format network. If none is provided, mv_oberrhein() will be + plotted as an example + + OPTIONAL: + **respect_switches** (bool, True) - Respect switches when artificial geodata is created + + **use_line_geodata** (bool, True) - defines if lines patches are based on net.line_geodata + of the lines (True) or on net.bus_geodata of the connected buses (False) + + *colors_dict** (dict, None) - dictionary for customization of colors for each voltage level + in the form: voltage : color + + **on_map** (bool, False) - enables using mapbox plot in plotly If provided geodata are not + real geo-coordinates in lon/lat form, on_map will be set to False. + + **projection** (String, None) - defines a projection from which network geo-data will be + transformed to lat-long. For each projection a string can be found at + http://spatialreference.org/ref/epsg/ + + **map_style** (str, 'basic') - enables using mapbox plot in plotly + + - 'streets' + - 'bright' + - 'light' + - 'dark' + - 'satellite' + + **figsize** (float, 1) - aspectratio is multiplied by it in order to get final image size + + **aspectratio** (tuple, 'auto') - when 'auto' it preserves original aspect ratio of the + network geodata any custom aspectration can be given as a tuple, e.g. (1.2, 1) + + **line_width** (float, 1.0) - width of lines + + **bus_size** (float, 10.0) - size of buses to plot. + + **auto_open** (bool, True) - automatically open plot in browser + + OUTPUT: + **figure** (graph_objs._figure.Figure) figure object + + """ + version_check() + # create geocoord if none are available + if 'line_geodata' not in net: + net.line_geodata = pd.DataFrame(columns=['coords']) + if 'bus_geodata' not in net: + net.bus_geodata = pd.DataFrame(columns=["x", "y"]) + if len(net.line_geodata) == 0 and len(net.bus_geodata) == 0: + logger.warning("No or insufficient geodata available --> Creating artificial coordinates." + + " This may take some time") + create_generic_coordinates(net, respect_switches=respect_switches) + if on_map: + logger.warning( + "Map plots not available with artificial coordinates and will be disabled!") + on_map = False + + # check if geodata are real geographycal lat/lon coordinates using geopy + if on_map and projection is not None: + geo_data_to_latlong(net, projection=projection) + + # if bus geodata is available, but no line geodata + if use_line_geodata is None: + use_line_geodata = False if len(net.line_geodata) == 0 else True + elif use_line_geodata and len(net.line_geodata) == 0: + logger.warning( + "No or insufficient line geodata available --> only bus geodata will be used.") + use_line_geodata = False + + # getting connected componenets without consideration of trafos + graph = create_nxgraph(net, include_trafos=False) + vlev_buses = connected_components(graph) + # getting unique sets of buses for each voltage level + vlev_bus_dict = {} + for vl_buses in vlev_buses: + if net.bus.loc[vl_buses, 'vn_kv'].unique().shape[0] > 1: + logger.warning('buses from the same voltage level does not have the same vn_kv !?') + vn_kv = net.bus.loc[vl_buses, 'vn_kv'].unique()[0] + if vlev_bus_dict.get(vn_kv): + vlev_bus_dict[vn_kv].update(vl_buses) + else: + vlev_bus_dict[vn_kv] = vl_buses + + # create a default colormap for voltage levels + nvlevs = len(vlev_bus_dict) + colors = get_plotly_color_palette(nvlevs) + colors_dict = colors_dict or dict(zip(vlev_bus_dict.keys(), colors)) + + # creating traces for buses and lines for each voltage level + bus_traces = [] + line_traces = [] + for vn_kv, buses_vl in vlev_bus_dict.items(): + + vlev_color = colors_dict[vn_kv] + bus_trace_vlev = create_bus_trace( + net, buses=buses_vl, size=bus_size, legendgroup=str(vn_kv), color=vlev_color, + trace_name='buses {0} kV'.format(vn_kv)) + if bus_trace_vlev is not None: + bus_traces += bus_trace_vlev + + vlev_lines = net.line[net.line.from_bus.isin(buses_vl) & + net.line.to_bus.isin(buses_vl)].index.tolist() + line_trace_vlev = create_line_trace( + net, lines=vlev_lines, use_line_geodata=use_line_geodata, + respect_switches=respect_switches, legendgroup=str(vn_kv), color=vlev_color, + width=line_width, trace_name='lines {0} kV'.format(vn_kv)) + if line_trace_vlev is not None: + line_traces += line_trace_vlev + + trafo_traces = create_trafo_trace(net, color='gray', width=line_width * 2) + + return draw_traces(line_traces + trafo_traces + bus_traces, showlegend=True, + aspectratio=aspectratio, on_map=on_map, map_style=map_style, figsize=figsize, + auto_open=auto_open) + + +if __name__ == '__main__': + from pandapower.plotting.plotly import simple_plotly + from pandapower.networks import mv_oberrhein + from pandapower import runpp + net = mv_oberrhein() + vlevel_plotly(net) + runpp(net) + line_width = 2 + bus_size = 10 + use_line_geodata = None + graph = create_nxgraph(net, include_trafos=False) + vlev_buses = connected_components(graph) + respect_switches = True + + # getting unique sets of buses for each voltage level + vlev_bus_dict = {} + for vl_buses in vlev_buses: + if net.bus.loc[vl_buses, 'vn_kv'].unique().shape[0] > 1: + logger.warning('buses from the same voltage level does not have the same vn_kv !?') + vn_kv = net.bus.loc[vl_buses, 'vn_kv'].unique()[0] + if vlev_bus_dict.get(vn_kv): + vlev_bus_dict[vn_kv].update(vl_buses) + else: + vlev_bus_dict[vn_kv] = vl_buses + + # create a default colormap for voltage levels + nvlevs = len(vlev_bus_dict) + colors = get_plotly_color_palette(nvlevs) + colors_dict = dict(zip(vlev_bus_dict.keys(), colors)) + + # creating traces for buses and lines for each voltage level + bus_traces = [] + line_traces = [] + for vn_kv, buses_vl in vlev_bus_dict.items(): + + vlev_color = colors_dict[vn_kv] + bus_trace_vlev = create_bus_trace( + net, buses=buses_vl, size=bus_size, legendgroup=str(vn_kv), + color=vlev_color, trace_name='buses {0} kV'.format(vn_kv)) + if bus_trace_vlev is not None: + bus_traces += bus_trace_vlev + + vlev_lines = net.line[net.line.from_bus.isin(buses_vl) & + net.line.to_bus.isin(buses_vl)].index.tolist() + print(vlev_lines) + line_trace_vlev = create_line_trace( + net, lines=vlev_lines, use_line_geodata=use_line_geodata, + respect_switches=respect_switches, legendgroup=str(vn_kv), color="r", + width=line_width, trace_name='lines {0} kV'.format(vn_kv)) + if line_trace_vlev is not None: + line_traces += line_trace_vlev diff --git a/pandapower/plotting/powerflow_results.py b/pandapower/plotting/powerflow_results.py index 99de439a4..1acb61460 100644 --- a/pandapower/plotting/powerflow_results.py +++ b/pandapower/plotting/powerflow_results.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. import sys diff --git a/pandapower/plotting/simple_plot.py b/pandapower/plotting/simple_plot.py index 1a97800f9..39ea7cf33 100644 --- a/pandapower/plotting/simple_plot.py +++ b/pandapower/plotting/simple_plot.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/plotting/to_html.py b/pandapower/plotting/to_html.py index d59e2155d..16a5beda4 100644 --- a/pandapower/plotting/to_html.py +++ b/pandapower/plotting/to_html.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. # File created my Massimo Di Pierro diff --git a/pandapower/powerflow.py b/pandapower/powerflow.py index 5f348cebe..35ea886a3 100644 --- a/pandapower/powerflow.py +++ b/pandapower/powerflow.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. from numpy import nan_to_num, array, allclose diff --git a/pandapower/pypower/bustypes.py b/pandapower/pypower/bustypes.py index 60d67ff96..c770da681 100644 --- a/pandapower/pypower/bustypes.py +++ b/pandapower/pypower/bustypes.py @@ -1,49 +1,49 @@ -# -*- coding: utf-8 -*- - -# Copyright 1996-2015 PSERC. All rights reserved. -# Use of this source code is governed by a BSD-style -# license that can be found in the LICENSE file. - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -"""Builds index lists of each type of bus. -""" - -from numpy import ones, flatnonzero as find -from pandapower.pypower.idx_bus import BUS_TYPE, REF, PV, PQ -from pandapower.pypower.idx_gen import GEN_BUS, GEN_STATUS -from scipy.sparse import csr_matrix as sparse - - -def bustypes(bus, gen): - """Builds index lists of each type of bus (C{REF}, C{PV}, C{PQ}). - - Generators with "out-of-service" status are treated as L{PQ} buses with - zero generation (regardless of C{Pg}/C{Qg} values in gen). Expects C{bus} - and C{gen} have been converted to use internal consecutive bus numbering. - - @param bus: bus data - @param gen: generator data - @return: index lists of each bus type - - @author: Ray Zimmerman (PSERC Cornell) - @author: Richard Lincoln - - changes by Uni Kassel (Florian Schaefer): If new ref bus is chosen -> Init as numpy array - """ - # get generator status -# nb = bus.shape[0] -# ng = gen.shape[0] - # gen connection matrix, element i, j is 1 if, generator j at bus i is ON - #Cg = sparse((gen[:, GEN_STATUS] > 0, -# (gen[:, GEN_BUS], range(ng))), (nb, ng)) - # number of generators at each bus that are ON - #bus_gen_status = (Cg * ones(ng, int)).astype(bool) - - # form index lists for slack, PV, and PQ buses - ref = find((bus[:, BUS_TYPE] == REF)) # ref bus index - pv = find((bus[:, BUS_TYPE] == PV)) # PV bus indices - pq = find((bus[:, BUS_TYPE] == PQ)) # PQ bus indices - return ref, pv, pq +# -*- coding: utf-8 -*- + +# Copyright 1996-2015 PSERC. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +"""Builds index lists of each type of bus. +""" + +from numpy import ones, flatnonzero as find +from pandapower.pypower.idx_bus import BUS_TYPE, REF, PV, PQ +from pandapower.pypower.idx_gen import GEN_BUS, GEN_STATUS +from scipy.sparse import csr_matrix as sparse + + +def bustypes(bus, gen): + """Builds index lists of each type of bus (C{REF}, C{PV}, C{PQ}). + + Generators with "out-of-service" status are treated as L{PQ} buses with + zero generation (regardless of C{Pg}/C{Qg} values in gen). Expects C{bus} + and C{gen} have been converted to use internal consecutive bus numbering. + + @param bus: bus data + @param gen: generator data + @return: index lists of each bus type + + @author: Ray Zimmerman (PSERC Cornell) + @author: Richard Lincoln + + changes by Uni Kassel (Florian Schaefer): If new ref bus is chosen -> Init as numpy array + """ + # get generator status +# nb = bus.shape[0] +# ng = gen.shape[0] + # gen connection matrix, element i, j is 1 if, generator j at bus i is ON + #Cg = sparse((gen[:, GEN_STATUS] > 0, +# (gen[:, GEN_BUS], range(ng))), (nb, ng)) + # number of generators at each bus that are ON + #bus_gen_status = (Cg * ones(ng, int)).astype(bool) + + # form index lists for slack, PV, and PQ buses + ref = find((bus[:, BUS_TYPE] == REF)) # ref bus index + pv = find((bus[:, BUS_TYPE] == PV)) # PV bus indices + pq = find((bus[:, BUS_TYPE] == PQ)) # PQ bus indices + return ref, pv, pq diff --git a/pandapower/pypower/dSbus_dV.py b/pandapower/pypower/dSbus_dV.py index 03d8d7bbd..ef2b14881 100644 --- a/pandapower/pypower/dSbus_dV.py +++ b/pandapower/pypower/dSbus_dV.py @@ -1,50 +1,50 @@ -# -*- coding: utf-8 -*- - -# Copyright 1996-2015 PSERC. All rights reserved. -# Use of this source code is governed by a BSD-style -# license that can be found in the LICENSE file. - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - - -"""Computes partial derivatives of power injection w.r.t. voltage. -""" - -from numpy import conj, diag, asarray -from scipy.sparse import issparse, csr_matrix as sparse - - -def dSbus_dV(Ybus, V): - """Computes partial derivatives of power injection w.r.t. voltage. - """ - - if issparse(Ybus): - return dSbus_dV_sparse(Ybus, V) - else: - return dSbus_dV_dense(Ybus, V) - - -def dSbus_dV_sparse(Ybus, V): - Ibus = Ybus * V - ib = range(len(V)) - diagV = sparse((V, (ib, ib))) - diagIbus = sparse((Ibus, (ib, ib))) - diagVnorm = sparse((V / abs(V), (ib, ib))) - dS_dVm = diagV * conj(Ybus * diagVnorm) + conj(diagIbus) * diagVnorm - dS_dVa = 1j * diagV * conj(diagIbus - Ybus * diagV) - return dS_dVm, dS_dVa - - -def dSbus_dV_dense(Ybus, V): - # standard code from Pypower (slower than above) - Ibus = Ybus * asarray(V).T - - diagV = asarray(diag(V)) - diagIbus = asarray(diag(asarray(Ibus).flatten())) - diagVnorm = asarray(diag(V / abs(V))) - - dS_dVm = diagV * conj(Ybus * diagVnorm) + conj(diagIbus) * diagVnorm - dS_dVa = 1j * diagV * conj(diagIbus - Ybus * diagV) - return dS_dVm, dS_dVa +# -*- coding: utf-8 -*- + +# Copyright 1996-2015 PSERC. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + + +"""Computes partial derivatives of power injection w.r.t. voltage. +""" + +from numpy import conj, diag, asarray +from scipy.sparse import issparse, csr_matrix as sparse + + +def dSbus_dV(Ybus, V): + """Computes partial derivatives of power injection w.r.t. voltage. + """ + + if issparse(Ybus): + return dSbus_dV_sparse(Ybus, V) + else: + return dSbus_dV_dense(Ybus, V) + + +def dSbus_dV_sparse(Ybus, V): + Ibus = Ybus * V + ib = range(len(V)) + diagV = sparse((V, (ib, ib))) + diagIbus = sparse((Ibus, (ib, ib))) + diagVnorm = sparse((V / abs(V), (ib, ib))) + dS_dVm = diagV * conj(Ybus * diagVnorm) + conj(diagIbus) * diagVnorm + dS_dVa = 1j * diagV * conj(diagIbus - Ybus * diagV) + return dS_dVm, dS_dVa + + +def dSbus_dV_dense(Ybus, V): + # standard code from Pypower (slower than above) + Ibus = Ybus * asarray(V).T + + diagV = asarray(diag(V)) + diagIbus = asarray(diag(asarray(Ibus).flatten())) + diagVnorm = asarray(diag(V / abs(V))) + + dS_dVm = diagV * conj(Ybus * diagVnorm) + conj(diagIbus) * diagVnorm + dS_dVa = 1j * diagV * conj(diagIbus - Ybus * diagV) + return dS_dVm, dS_dVa diff --git a/pandapower/pypower/dcpf.py b/pandapower/pypower/dcpf.py index fc0b3d46d..f52bbc721 100644 --- a/pandapower/pypower/dcpf.py +++ b/pandapower/pypower/dcpf.py @@ -1,46 +1,46 @@ -# -*- coding: utf-8 -*- - -# Copyright 1996-2015 PSERC. All rights reserved. -# Use of this source code is governed by a BSD-style -# license that can be found in the LICENSE file. - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -"""Solves a DC power flow. -""" - -from numpy import copy, r_, transpose, real, array -from scipy.sparse.linalg import spsolve - -def dcpf(B, Pbus, Va0, ref, pv, pq): - """Solves a DC power flow. - - Solves for the bus voltage angles at all but the reference bus, given the - full system C{B} matrix and the vector of bus real power injections, the - initial vector of bus voltage angles (in radians), and column vectors with - the lists of bus indices for the swing bus, PV buses, and PQ buses, - respectively. Returns a vector of bus voltage angles in radians. - - @see: L{rundcpf}, L{runpf} - - @author: Carlos E. Murillo-Sanchez (PSERC Cornell & Universidad - Autonoma de Manizales) - @author: Ray Zimmerman (PSERC Cornell) - - # Version from pypower github (bugfix 'transpose') - """ - pvpq = r_[pv, pq] - - ## initialize result vector - Va = copy(Va0) - - ## update angles for non-reference buses - if pvpq.shape == (1, 1): #workaround for bug in scipy <0.19 - pvpq = array(pvpq).flatten() - pvpq_matrix = B[pvpq.T,:].tocsc()[:,pvpq] - ref_matrix = transpose(Pbus[pvpq] - B[pvpq.T,:].tocsc()[:,ref] * Va0[ref]) - Va[pvpq] = real(spsolve(pvpq_matrix, ref_matrix)) - - return Va +# -*- coding: utf-8 -*- + +# Copyright 1996-2015 PSERC. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +"""Solves a DC power flow. +""" + +from numpy import copy, r_, transpose, real, array +from scipy.sparse.linalg import spsolve + +def dcpf(B, Pbus, Va0, ref, pv, pq): + """Solves a DC power flow. + + Solves for the bus voltage angles at all but the reference bus, given the + full system C{B} matrix and the vector of bus real power injections, the + initial vector of bus voltage angles (in radians), and column vectors with + the lists of bus indices for the swing bus, PV buses, and PQ buses, + respectively. Returns a vector of bus voltage angles in radians. + + @see: L{rundcpf}, L{runpf} + + @author: Carlos E. Murillo-Sanchez (PSERC Cornell & Universidad + Autonoma de Manizales) + @author: Ray Zimmerman (PSERC Cornell) + + # Version from pypower github (bugfix 'transpose') + """ + pvpq = r_[pv, pq] + + ## initialize result vector + Va = copy(Va0) + + ## update angles for non-reference buses + if pvpq.shape == (1, 1): #workaround for bug in scipy <0.19 + pvpq = array(pvpq).flatten() + pvpq_matrix = B[pvpq.T,:].tocsc()[:,pvpq] + ref_matrix = transpose(Pbus[pvpq] - B[pvpq.T,:].tocsc()[:,ref] * Va0[ref]) + Va[pvpq] = real(spsolve(pvpq_matrix, ref_matrix)) + + return Va diff --git a/pandapower/pypower/idx_brch.py b/pandapower/pypower/idx_brch.py index 0d202b219..da1256862 100644 --- a/pandapower/pypower/idx_brch.py +++ b/pandapower/pypower/idx_brch.py @@ -1,94 +1,94 @@ -# -*- coding: utf-8 -*- - -# Copyright 1996-2015 PSERC. All rights reserved. -# Use of this source code is governed by a BSD-style -# license that can be found in the LICENSE file. - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -"""Defines constants for named column indices to branch matrix. - -Some examples of usage, after defining the constants using the line above, -are:: - - branch[3, BR_STATUS] = 0 # take branch 4 out of service - Ploss = branch[:, PF] + branch[:, PT] # compute real power loss vector - -The index, name and meaning of each column of the branch matrix is given -below: - -columns 0-10 must be included in input matrix (in case file) - 0. C{F_BUS} from bus number - 1. C{T_BUS} to bus number - 2. C{BR_R} resistance (p.u.) - 3. C{BR_X} reactance (p.u.) - 4. C{BR_B} total line charging susceptance (p.u.) - 5. C{RATE_A} MVA rating A (long term rating) - 6. C{RATE_B} MVA rating B (short term rating) - 7. C{RATE_C} MVA rating C (emergency rating) - 8. C{TAP} transformer off nominal turns ratio - 9. C{SHIFT} transformer phase shift angle (degrees) - 10. C{BR_STATUS} initial branch status, 1 - in service, 0 - out of service - 11. C{ANGMIN} minimum angle difference, angle(Vf) - angle(Vt) (degrees) - 12. C{ANGMAX} maximum angle difference, angle(Vf) - angle(Vt) (degrees) - -columns 13-16 are added to matrix after power flow or OPF solution -they are typically not present in the input matrix - 13. C{PF} real power injected at "from" bus end (MW) - 14. C{QF} reactive power injected at "from" bus end (MVAr) - 15. C{PT} real power injected at "to" bus end (MW) - 16. C{QT} reactive power injected at "to" bus end (MVAr) - -columns 17-18 are added to matrix after OPF solution -they are typically not present in the input matrix - -(assume OPF objective function has units, C{u}) - 17. C{MU_SF} Kuhn-Tucker multiplier on MVA limit at "from" bus (u/MVA) - 18. C{MU_ST} Kuhn-Tucker multiplier on MVA limit at "to" bus (u/MVA) - -columns 19-20 are added to matrix after SCOPF solution -they are typically not present in the input matrix - -(assume OPF objective function has units, C{u}) - 19. C{MU_ANGMIN} Kuhn-Tucker multiplier lower angle difference limit - 20. C{MU_ANGMAX} Kuhn-Tucker multiplier upper angle difference limit - -@author: Ray Zimmerman (PSERC Cornell) -@author: Richard Lincoln -""" - -# define the indices -F_BUS = 0 # f, from bus number -T_BUS = 1 # t, to bus number -BR_R = 2 # r, resistance (p.u.) -BR_X = 3 # x, reactance (p.u.) -BR_B = 4 # b, total line charging susceptance (p.u.) -RATE_A = 5 # rateA, MVA rating A (long term rating) -RATE_B = 6 # rateB, MVA rating B (short term rating) -RATE_C = 7 # rateC, MVA rating C (emergency rating) -TAP = 8 # ratio, transformer off nominal turns ratio -SHIFT = 9 # angle, transformer phase shift angle (degrees) -BR_STATUS = 10 # initial branch status, 1 - in service, 0 - out of service -ANGMIN = 11 # minimum angle difference, angle(Vf) - angle(Vt) (degrees) -ANGMAX = 12 # maximum angle difference, angle(Vf) - angle(Vt) (degrees) - -# included in power flow solution, not necessarily in input -PF = 13 # real power injected at "from" bus end (MW) -QF = 14 # reactive power injected at "from" bus end (MVAr) -PT = 15 # real power injected at "to" bus end (MW) -QT = 16 # reactive power injected at "to" bus end (MVAr) - -# included in opf solution, not necessarily in input -# assume objective function has units, u -MU_SF = 17 # Kuhn-Tucker multiplier on MVA limit at "from" bus (u/MVA) -MU_ST = 18 # Kuhn-Tucker multiplier on MVA limit at "to" bus (u/MVA) -MU_ANGMIN = 19 # Kuhn-Tucker multiplier lower angle difference limit -MU_ANGMAX = 20 # Kuhn-Tucker multiplier upper angle difference limit - -BR_R_ASYM = 21 -BR_X_ASYM = 22 - - -branch_cols = 23 +# -*- coding: utf-8 -*- + +# Copyright 1996-2015 PSERC. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +"""Defines constants for named column indices to branch matrix. + +Some examples of usage, after defining the constants using the line above, +are:: + + branch[3, BR_STATUS] = 0 # take branch 4 out of service + Ploss = branch[:, PF] + branch[:, PT] # compute real power loss vector + +The index, name and meaning of each column of the branch matrix is given +below: + +columns 0-10 must be included in input matrix (in case file) + 0. C{F_BUS} from bus number + 1. C{T_BUS} to bus number + 2. C{BR_R} resistance (p.u.) + 3. C{BR_X} reactance (p.u.) + 4. C{BR_B} total line charging susceptance (p.u.) + 5. C{RATE_A} MVA rating A (long term rating) + 6. C{RATE_B} MVA rating B (short term rating) + 7. C{RATE_C} MVA rating C (emergency rating) + 8. C{TAP} transformer off nominal turns ratio + 9. C{SHIFT} transformer phase shift angle (degrees) + 10. C{BR_STATUS} initial branch status, 1 - in service, 0 - out of service + 11. C{ANGMIN} minimum angle difference, angle(Vf) - angle(Vt) (degrees) + 12. C{ANGMAX} maximum angle difference, angle(Vf) - angle(Vt) (degrees) + +columns 13-16 are added to matrix after power flow or OPF solution +they are typically not present in the input matrix + 13. C{PF} real power injected at "from" bus end (MW) + 14. C{QF} reactive power injected at "from" bus end (MVAr) + 15. C{PT} real power injected at "to" bus end (MW) + 16. C{QT} reactive power injected at "to" bus end (MVAr) + +columns 17-18 are added to matrix after OPF solution +they are typically not present in the input matrix + +(assume OPF objective function has units, C{u}) + 17. C{MU_SF} Kuhn-Tucker multiplier on MVA limit at "from" bus (u/MVA) + 18. C{MU_ST} Kuhn-Tucker multiplier on MVA limit at "to" bus (u/MVA) + +columns 19-20 are added to matrix after SCOPF solution +they are typically not present in the input matrix + +(assume OPF objective function has units, C{u}) + 19. C{MU_ANGMIN} Kuhn-Tucker multiplier lower angle difference limit + 20. C{MU_ANGMAX} Kuhn-Tucker multiplier upper angle difference limit + +@author: Ray Zimmerman (PSERC Cornell) +@author: Richard Lincoln +""" + +# define the indices +F_BUS = 0 # f, from bus number +T_BUS = 1 # t, to bus number +BR_R = 2 # r, resistance (p.u.) +BR_X = 3 # x, reactance (p.u.) +BR_B = 4 # b, total line charging susceptance (p.u.) +RATE_A = 5 # rateA, MVA rating A (long term rating) +RATE_B = 6 # rateB, MVA rating B (short term rating) +RATE_C = 7 # rateC, MVA rating C (emergency rating) +TAP = 8 # ratio, transformer off nominal turns ratio +SHIFT = 9 # angle, transformer phase shift angle (degrees) +BR_STATUS = 10 # initial branch status, 1 - in service, 0 - out of service +ANGMIN = 11 # minimum angle difference, angle(Vf) - angle(Vt) (degrees) +ANGMAX = 12 # maximum angle difference, angle(Vf) - angle(Vt) (degrees) + +# included in power flow solution, not necessarily in input +PF = 13 # real power injected at "from" bus end (MW) +QF = 14 # reactive power injected at "from" bus end (MVAr) +PT = 15 # real power injected at "to" bus end (MW) +QT = 16 # reactive power injected at "to" bus end (MVAr) + +# included in opf solution, not necessarily in input +# assume objective function has units, u +MU_SF = 17 # Kuhn-Tucker multiplier on MVA limit at "from" bus (u/MVA) +MU_ST = 18 # Kuhn-Tucker multiplier on MVA limit at "to" bus (u/MVA) +MU_ANGMIN = 19 # Kuhn-Tucker multiplier lower angle difference limit +MU_ANGMAX = 20 # Kuhn-Tucker multiplier upper angle difference limit + +BR_R_ASYM = 21 +BR_X_ASYM = 22 + + +branch_cols = 23 diff --git a/pandapower/pypower/idx_bus.py b/pandapower/pypower/idx_bus.py index 7f1ca87c3..617b2651d 100644 --- a/pandapower/pypower/idx_bus.py +++ b/pandapower/pypower/idx_bus.py @@ -4,7 +4,7 @@ # Use of this source code is governed by a BSD-style # license that can be found in the LICENSE file. -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/pypower/makeBdc.py b/pandapower/pypower/makeBdc.py index 44a0d9baf..069eedb15 100644 --- a/pandapower/pypower/makeBdc.py +++ b/pandapower/pypower/makeBdc.py @@ -1,91 +1,91 @@ -# -*- coding: utf-8 -*- - -# Copyright 1996-2015 PSERC. All rights reserved. -# Use of this source code is governed by a BSD-style -# license that can be found in the LICENSE file. - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -"""Builds the B matrices and phase shift injections for DC power flow. -""" -from numpy import ones, r_, pi, flatnonzero as find, real -from pandapower.pypower.idx_brch import F_BUS, T_BUS, BR_X, TAP, SHIFT, BR_STATUS -from pandapower.pypower.idx_bus import BUS_I - -from scipy.sparse import csr_matrix, csc_matrix - -try: - import pplog as logging -except ImportError: - import logging - -logger = logging.getLogger(__name__) - - -def makeBdc(bus, branch, return_csr=True): - """Builds the B matrices and phase shift injections for DC power flow. - - Returns the B matrices and phase shift injection vectors needed for a - DC power flow. - The bus real power injections are related to bus voltage angles by:: - P = Bbus * Va + PBusinj - The real power flows at the from end the lines are related to the bus - voltage angles by:: - Pf = Bf * Va + Pfinj - Does appropriate conversions to p.u. - - @see: L{dcpf} - - @author: Carlos E. Murillo-Sanchez (PSERC Cornell & Universidad - Autonoma de Manizales) - @author: Ray Zimmerman (PSERC Cornell) - @author: Richard Lincoln - """ - ## Select csc/csr B matrix - sparse = csr_matrix if return_csr else csc_matrix - - ## constants - nb = bus.shape[0] ## number of buses - nl = branch.shape[0] ## number of lines - - ## check that bus numbers are equal to indices to bus (one set of bus nums) - if any(bus[:, BUS_I] != list(range(nb))): - logger.error('makeBdc: buses must be numbered consecutively in ' - 'bus matrix\n') - - ## for each branch, compute the elements of the branch B matrix and the phase - ## shift "quiescent" injections, where - ## - ## | Pf | | Bff Bft | | Vaf | | Pfinj | - ## | | = | | * | | + | | - ## | Pt | | Btf Btt | | Vat | | Ptinj | - ## - stat = branch[:, BR_STATUS] ## ones at in-service branches - b = stat / branch[:, BR_X] ## series susceptance - tap = ones(nl) ## default tap ratio = 1 - i = find(real(branch[:, TAP])) ## indices of non-zero tap ratios - tap[i] = real(branch[i, TAP]) ## assign non-zero tap ratios - b = b / tap - - ## build connection matrix Cft = Cf - Ct for line and from - to buses - f = real(branch[:, F_BUS]).astype(int) ## list of "from" buses - t = real(branch[:, T_BUS]).astype(int) ## list of "to" buses - i = r_[range(nl), range(nl)] ## double set of row indices - ## connection matrix - Cft = sparse((r_[ones(nl), -ones(nl)], (i, r_[f, t])), (nl, nb)) - - ## build Bf such that Bf * Va is the vector of real branch powers injected - ## at each branch's "from" bus - Bf = sparse((r_[b, -b], (i, r_[f, t])), (nl, nb))## = spdiags(b, 0, nl, nl) * Cft - - ## build Bbus - Bbus = Cft.T * Bf - - ## build phase shift injection vectors - Pfinj = b * (-branch[:, SHIFT] * pi / 180.) ## injected at the from bus ... - # Ptinj = -Pfinj ## and extracted at the to bus - Pbusinj = Cft.T * Pfinj ## Pbusinj = Cf * Pfinj + Ct * Ptinj - - return Bbus, Bf, Pbusinj, Pfinj +# -*- coding: utf-8 -*- + +# Copyright 1996-2015 PSERC. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +"""Builds the B matrices and phase shift injections for DC power flow. +""" +from numpy import ones, r_, pi, flatnonzero as find, real +from pandapower.pypower.idx_brch import F_BUS, T_BUS, BR_X, TAP, SHIFT, BR_STATUS +from pandapower.pypower.idx_bus import BUS_I + +from scipy.sparse import csr_matrix, csc_matrix + +try: + import pplog as logging +except ImportError: + import logging + +logger = logging.getLogger(__name__) + + +def makeBdc(bus, branch, return_csr=True): + """Builds the B matrices and phase shift injections for DC power flow. + + Returns the B matrices and phase shift injection vectors needed for a + DC power flow. + The bus real power injections are related to bus voltage angles by:: + P = Bbus * Va + PBusinj + The real power flows at the from end the lines are related to the bus + voltage angles by:: + Pf = Bf * Va + Pfinj + Does appropriate conversions to p.u. + + @see: L{dcpf} + + @author: Carlos E. Murillo-Sanchez (PSERC Cornell & Universidad + Autonoma de Manizales) + @author: Ray Zimmerman (PSERC Cornell) + @author: Richard Lincoln + """ + ## Select csc/csr B matrix + sparse = csr_matrix if return_csr else csc_matrix + + ## constants + nb = bus.shape[0] ## number of buses + nl = branch.shape[0] ## number of lines + + ## check that bus numbers are equal to indices to bus (one set of bus nums) + if any(bus[:, BUS_I] != list(range(nb))): + logger.error('makeBdc: buses must be numbered consecutively in ' + 'bus matrix\n') + + ## for each branch, compute the elements of the branch B matrix and the phase + ## shift "quiescent" injections, where + ## + ## | Pf | | Bff Bft | | Vaf | | Pfinj | + ## | | = | | * | | + | | + ## | Pt | | Btf Btt | | Vat | | Ptinj | + ## + stat = branch[:, BR_STATUS] ## ones at in-service branches + b = stat / branch[:, BR_X] ## series susceptance + tap = ones(nl) ## default tap ratio = 1 + i = find(real(branch[:, TAP])) ## indices of non-zero tap ratios + tap[i] = real(branch[i, TAP]) ## assign non-zero tap ratios + b = b / tap + + ## build connection matrix Cft = Cf - Ct for line and from - to buses + f = real(branch[:, F_BUS]).astype(int) ## list of "from" buses + t = real(branch[:, T_BUS]).astype(int) ## list of "to" buses + i = r_[range(nl), range(nl)] ## double set of row indices + ## connection matrix + Cft = sparse((r_[ones(nl), -ones(nl)], (i, r_[f, t])), (nl, nb)) + + ## build Bf such that Bf * Va is the vector of real branch powers injected + ## at each branch's "from" bus + Bf = sparse((r_[b, -b], (i, r_[f, t])), (nl, nb))## = spdiags(b, 0, nl, nl) * Cft + + ## build Bbus + Bbus = Cft.T * Bf + + ## build phase shift injection vectors + Pfinj = b * (-branch[:, SHIFT] * pi / 180.) ## injected at the from bus ... + # Ptinj = -Pfinj ## and extracted at the to bus + Pbusinj = Cft.T * Pfinj ## Pbusinj = Cf * Pfinj + Ct * Ptinj + + return Bbus, Bf, Pbusinj, Pfinj diff --git a/pandapower/pypower/makeLODF.py b/pandapower/pypower/makeLODF.py index 86f1bfe9c..26719003f 100644 --- a/pandapower/pypower/makeLODF.py +++ b/pandapower/pypower/makeLODF.py @@ -1,64 +1,64 @@ -# -*- coding: utf-8 -*- - -# Copyright 1996-2015 PSERC. All rights reserved. -# Use of this source code is governed by a BSD-style -# license that can be found in the LICENSE file. - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - -# Builds the line outage distribution factor matrix. - - -from numpy import ones, diag, r_, arange -import numpy as np -from scipy.sparse import csr_matrix as sparse -try: - from numba import jit -except ImportError: # pragma: no cover - from pandapower.pf.no_numba import jit - -from .idx_brch import F_BUS, T_BUS - - -@jit -def update_LODF_diag(LODF): # pragma: no cover - for ix in range(LODF.shape[0]): - # To preserve the data type of diagnol elments - LODF[ix, ix] -= (LODF[ix, ix] + 1.) - - -def makeLODF(branch, PTDF): - """Builds the line outage distribution factor matrix. - - Returns the DC line outage distribution factor matrix for a given PTDF. - The matrix is C{nbr x nbr}, where C{nbr} is the number of branches. - - Example:: - H = makePTDF(baseMVA, bus, branch) - LODF = makeLODF(branch, H) - - @see: L{makePTDF} - - @author: Ray Zimmerman (PSERC Cornell) - """ - nl, nb = PTDF.shape - f = np.real(branch[:, F_BUS]) - t = np.real(branch[:, T_BUS]) - Cft = sparse((r_[ones(nl), -ones(nl)], - (r_[f, t], r_[arange(nl), arange(nl)])), (nb, nl)) - - H = PTDF * Cft - h = diag(H, 0) - # Avoid zero division error - # Implies a N-1 contingency (No backup branch) - den = (ones((nl, 1)) * h.T * -1 + 1.) - - # Silence warning caused by np.NaN - with np.errstate(divide='ignore', invalid='ignore'): - LODF = (H / den) - - # LODF = LODF - diag(diag(LODF)) - eye(nl, nl) - update_LODF_diag(LODF) - - return LODF +# -*- coding: utf-8 -*- + +# Copyright 1996-2015 PSERC. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + +# Builds the line outage distribution factor matrix. + + +from numpy import ones, diag, r_, arange +import numpy as np +from scipy.sparse import csr_matrix as sparse +try: + from numba import jit +except ImportError: # pragma: no cover + from pandapower.pf.no_numba import jit + +from .idx_brch import F_BUS, T_BUS + + +@jit +def update_LODF_diag(LODF): # pragma: no cover + for ix in range(LODF.shape[0]): + # To preserve the data type of diagnol elments + LODF[ix, ix] -= (LODF[ix, ix] + 1.) + + +def makeLODF(branch, PTDF): + """Builds the line outage distribution factor matrix. + + Returns the DC line outage distribution factor matrix for a given PTDF. + The matrix is C{nbr x nbr}, where C{nbr} is the number of branches. + + Example:: + H = makePTDF(baseMVA, bus, branch) + LODF = makeLODF(branch, H) + + @see: L{makePTDF} + + @author: Ray Zimmerman (PSERC Cornell) + """ + nl, nb = PTDF.shape + f = np.real(branch[:, F_BUS]) + t = np.real(branch[:, T_BUS]) + Cft = sparse((r_[ones(nl), -ones(nl)], + (r_[f, t], r_[arange(nl), arange(nl)])), (nb, nl)) + + H = PTDF * Cft + h = diag(H, 0) + # Avoid zero division error + # Implies a N-1 contingency (No backup branch) + den = (ones((nl, 1)) * h.T * -1 + 1.) + + # Silence warning caused by np.NaN + with np.errstate(divide='ignore', invalid='ignore'): + LODF = (H / den) + + # LODF = LODF - diag(diag(LODF)) - eye(nl, nl) + update_LODF_diag(LODF) + + return LODF diff --git a/pandapower/pypower/makePTDF.py b/pandapower/pypower/makePTDF.py index 3bcb49725..b8f3d9140 100644 --- a/pandapower/pypower/makePTDF.py +++ b/pandapower/pypower/makePTDF.py @@ -1,101 +1,101 @@ -# -*- coding: utf-8 -*- - -# Copyright 1996-2015 PSERC. All rights reserved. -# Use of this source code is governed by a BSD-style -# license that can be found in the LICENSE file. - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - -# Builds the DC PTDF matrix for a given choice of slack. - - -from sys import stderr - -from numpy import zeros, arange, isscalar, dot, ix_, flatnonzero as find -import numpy as np -from numpy.linalg import solve -from scipy.sparse.linalg import spsolve, factorized - -from .idx_bus import BUS_TYPE, REF, BUS_I -from .makeBdc import makeBdc - - -def makePTDF(baseMVA, bus, branch, slack=None, - result_side=0, using_sparse_solver=False): - """Builds the DC PTDF matrix for a given choice of slack. - - Returns the DC PTDF matrix for a given choice of slack. The matrix is - C{nbr x nb}, where C{nbr} is the number of branches and C{nb} is the - number of buses. The C{slack} can be a scalar (single slack bus) or an - C{nb x 1} column vector of weights specifying the proportion of the - slack taken up at each bus. If the C{slack} is not specified the - reference bus is used by default. - - For convenience, C{slack} can also be an C{nb x nb} matrix, where each - column specifies how the slack should be handled for injections - at that bus. - - @see: L{makeLODF} - - @author: Ray Zimmerman (PSERC Cornell) - """ - ## use reference bus for slack by default - if slack is None: - slack = find(bus[:, BUS_TYPE] == REF) - slack = slack[0] - - ## set the slack bus to be used to compute initial PTDF - if isscalar(slack): - slack_bus = slack - else: - slack_bus = 0 ## use bus 1 for temp slack bus - - nb = bus.shape[0] - nbr = branch.shape[0] - noref = arange(1, nb) ## use bus 1 for voltage angle reference - noslack = find(arange(nb) != slack_bus) - - ## check that bus numbers are equal to indices to bus (one set of bus numbers) - if any(bus[:, BUS_I] != arange(nb)): - stderr.write('makePTDF: buses must be numbered consecutively') - - H = zeros((nbr, nb)) - # compute PTDF for single slack_bus - if using_sparse_solver: - Bbus, Bf, _, _ = makeBdc(bus, branch, return_csr=False) - - Bbus = Bbus.real - if result_side == 1: - Bf *= -1 - - if Bf.shape[0] < 2000: - Bf = Bf.real.toarray() - H[:, noslack] = spsolve(Bbus[ix_(noslack, noref)].T, Bf[:, noref].T).T - else: - # Use memory saving modus - Bbus_fact = factorized(Bbus[ix_(noslack, noref)].T) - for i in range(0, Bf.shape[0], 32): - H[i:i+32, noslack] = Bbus_fact(Bf[i:i+32, noref].real.toarray().T).T - else: - Bbus, Bf, _, _ = makeBdc(bus, branch) - Bbus, Bf = np.real(Bbus.toarray()), np.real(Bf.toarray()) - if result_side == 1: - Bf *= -1 - H[:, noslack] = solve(Bbus[ix_(noslack, noref)].T, Bf[:, noref].T).T - - ## distribute slack, if requested - if not isscalar(slack): - if len(slack.shape) == 1: ## slack is a vector of weights - slack = slack / sum(slack) ## normalize weights - - ## conceptually, we want to do ... - ## H = H * (eye(nb, nb) - slack * ones((1, nb))) - ## ... we just do it more efficiently - v = dot(H, slack) - for k in range(nb): - H[:, k] = H[:, k] - v - else: - H = dot(H, slack) - - return H +# -*- coding: utf-8 -*- + +# Copyright 1996-2015 PSERC. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + +# Builds the DC PTDF matrix for a given choice of slack. + + +from sys import stderr + +from numpy import zeros, arange, isscalar, dot, ix_, flatnonzero as find +import numpy as np +from numpy.linalg import solve +from scipy.sparse.linalg import spsolve, factorized + +from .idx_bus import BUS_TYPE, REF, BUS_I +from .makeBdc import makeBdc + + +def makePTDF(baseMVA, bus, branch, slack=None, + result_side=0, using_sparse_solver=False): + """Builds the DC PTDF matrix for a given choice of slack. + + Returns the DC PTDF matrix for a given choice of slack. The matrix is + C{nbr x nb}, where C{nbr} is the number of branches and C{nb} is the + number of buses. The C{slack} can be a scalar (single slack bus) or an + C{nb x 1} column vector of weights specifying the proportion of the + slack taken up at each bus. If the C{slack} is not specified the + reference bus is used by default. + + For convenience, C{slack} can also be an C{nb x nb} matrix, where each + column specifies how the slack should be handled for injections + at that bus. + + @see: L{makeLODF} + + @author: Ray Zimmerman (PSERC Cornell) + """ + ## use reference bus for slack by default + if slack is None: + slack = find(bus[:, BUS_TYPE] == REF) + slack = slack[0] + + ## set the slack bus to be used to compute initial PTDF + if isscalar(slack): + slack_bus = slack + else: + slack_bus = 0 ## use bus 1 for temp slack bus + + nb = bus.shape[0] + nbr = branch.shape[0] + noref = arange(1, nb) ## use bus 1 for voltage angle reference + noslack = find(arange(nb) != slack_bus) + + ## check that bus numbers are equal to indices to bus (one set of bus numbers) + if any(bus[:, BUS_I] != arange(nb)): + stderr.write('makePTDF: buses must be numbered consecutively') + + H = zeros((nbr, nb)) + # compute PTDF for single slack_bus + if using_sparse_solver: + Bbus, Bf, _, _ = makeBdc(bus, branch, return_csr=False) + + Bbus = Bbus.real + if result_side == 1: + Bf *= -1 + + if Bf.shape[0] < 2000: + Bf = Bf.real.toarray() + H[:, noslack] = spsolve(Bbus[ix_(noslack, noref)].T, Bf[:, noref].T).T + else: + # Use memory saving modus + Bbus_fact = factorized(Bbus[ix_(noslack, noref)].T) + for i in range(0, Bf.shape[0], 32): + H[i:i+32, noslack] = Bbus_fact(Bf[i:i+32, noref].real.toarray().T).T + else: + Bbus, Bf, _, _ = makeBdc(bus, branch) + Bbus, Bf = np.real(Bbus.toarray()), np.real(Bf.toarray()) + if result_side == 1: + Bf *= -1 + H[:, noslack] = solve(Bbus[ix_(noslack, noref)].T, Bf[:, noref].T).T + + ## distribute slack, if requested + if not isscalar(slack): + if len(slack.shape) == 1: ## slack is a vector of weights + slack = slack / sum(slack) ## normalize weights + + ## conceptually, we want to do ... + ## H = H * (eye(nb, nb) - slack * ones((1, nb))) + ## ... we just do it more efficiently + v = dot(H, slack) + for k in range(nb): + H[:, k] = H[:, k] - v + else: + H = dot(H, slack) + + return H diff --git a/pandapower/pypower/makeYbus.py b/pandapower/pypower/makeYbus.py index ceb31513e..28026e8fb 100644 --- a/pandapower/pypower/makeYbus.py +++ b/pandapower/pypower/makeYbus.py @@ -1,96 +1,96 @@ -# -*- coding: utf-8 -*- - -# Copyright 1996-2015 PSERC. All rights reserved. -# Use of this source code is governed by a BSD-style -# license that can be found in the LICENSE file. - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -"""Builds the bus admittance matrix and branch admittance matrices. -""" - -from numpy import ones, conj, nonzero, any, exp, pi, hstack, real -from scipy.sparse import csr_matrix - -from pandapower.pypower.idx_brch import F_BUS, T_BUS, BR_R, BR_X, BR_B, BR_STATUS, SHIFT, TAP, BR_R_ASYM, BR_X_ASYM -from pandapower.pypower.idx_bus import GS, BS - - -def makeYbus(baseMVA, bus, branch): - """Builds the bus admittance matrix and branch admittance matrices. - - Returns the full bus admittance matrix (i.e. for all buses) and the - matrices C{Yf} and C{Yt} which, when multiplied by a complex voltage - vector, yield the vector currents injected into each line from the - "from" and "to" buses respectively of each line. Does appropriate - conversions to p.u. - - @see: L{makeSbus} - - @author: Ray Zimmerman (PSERC Cornell) - @author: Richard Lincoln - """ - ## constants - nb = bus.shape[0] ## number of buses - nl = branch.shape[0] ## number of lines - - ## for each branch, compute the elements of the branch admittance matrix where - ## - ## | If | | Yff Yft | | Vf | - ## | | = | | * | | - ## | It | | Ytf Ytt | | Vt | - ## - Ytt, Yff, Yft, Ytf = branch_vectors(branch, nl) - ## compute shunt admittance - ## if Psh is the real power consumed by the shunt at V = 1.0 p.u. - ## and Qsh is the reactive power injected by the shunt at V = 1.0 p.u. - ## then Psh - j Qsh = V * conj(Ysh * V) = conj(Ysh) = Gs - j Bs, - ## i.e. Ysh = Psh + j Qsh, so ... - ## vector of shunt admittances - Ysh = (bus[:, GS] + 1j * bus[:, BS]) / baseMVA - - ## build connection matrices - f = real(branch[:, F_BUS]).astype(int) ## list of "from" buses - t = real(branch[:, T_BUS]).astype(int) ## list of "to" buses - ## connection matrix for line & from buses - Cf = csr_matrix((ones(nl), (range(nl), f)), (nl, nb)) - ## connection matrix for line & to buses - Ct = csr_matrix((ones(nl), (range(nl), t)), (nl, nb)) - - ## build Yf and Yt such that Yf * V is the vector of complex branch currents injected - ## at each branch's "from" bus, and Yt is the same for the "to" bus end - i = hstack([range(nl), range(nl)]) ## double set of row indices - - Yf = csr_matrix((hstack([Yff, Yft]), (i, hstack([f, t]))), (nl, nb)) - Yt = csr_matrix((hstack([Ytf, Ytt]), (i, hstack([f, t]))), (nl, nb)) - # Yf = spdiags(Yff, 0, nl, nl) * Cf + spdiags(Yft, 0, nl, nl) * Ct - # Yt = spdiags(Ytf, 0, nl, nl) * Cf + spdiags(Ytt, 0, nl, nl) * Ct - - ## build Ybus - Ybus = Cf.T * Yf + Ct.T * Yt + \ - csr_matrix((Ysh, (range(nb), range(nb))), (nb, nb)) - - return Ybus, Yf, Yt - - -def branch_vectors(branch, nl): - stat = branch[:, BR_STATUS] ## ones at in-service branches - Ysf = stat / (branch[:, BR_R] + 1j * branch[:, BR_X]) ## series admittance - if any(branch[:, BR_R_ASYM]) or any(branch[:, BR_X_ASYM]): - Yst = stat / ((branch[:, BR_R] + branch[:, BR_R_ASYM]) + 1j * ( - branch[:, BR_X] + branch[:, BR_X_ASYM])) ## series admittance - else: - Yst = Ysf - Bc = stat * branch[:, BR_B] ## line charging susceptance - tap = ones(nl) ## default tap ratio = 1 - i = nonzero(real(branch[:, TAP])) ## indices of non-zero tap ratios - tap[i] = real(branch[i, TAP]) ## assign non-zero tap ratios - tap = tap * exp(1j * pi / 180 * branch[:, SHIFT]) ## add phase shifters - - Ytt = Yst + 1j * Bc / 2 - Yff = (Ysf + 1j * Bc / 2) / (tap * conj(tap)) - Yft = - Ysf / conj(tap) - Ytf = - Yst / tap - return Ytt, Yff, Yft, Ytf +# -*- coding: utf-8 -*- + +# Copyright 1996-2015 PSERC. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +"""Builds the bus admittance matrix and branch admittance matrices. +""" + +from numpy import ones, conj, nonzero, any, exp, pi, hstack, real +from scipy.sparse import csr_matrix + +from pandapower.pypower.idx_brch import F_BUS, T_BUS, BR_R, BR_X, BR_B, BR_STATUS, SHIFT, TAP, BR_R_ASYM, BR_X_ASYM +from pandapower.pypower.idx_bus import GS, BS + + +def makeYbus(baseMVA, bus, branch): + """Builds the bus admittance matrix and branch admittance matrices. + + Returns the full bus admittance matrix (i.e. for all buses) and the + matrices C{Yf} and C{Yt} which, when multiplied by a complex voltage + vector, yield the vector currents injected into each line from the + "from" and "to" buses respectively of each line. Does appropriate + conversions to p.u. + + @see: L{makeSbus} + + @author: Ray Zimmerman (PSERC Cornell) + @author: Richard Lincoln + """ + ## constants + nb = bus.shape[0] ## number of buses + nl = branch.shape[0] ## number of lines + + ## for each branch, compute the elements of the branch admittance matrix where + ## + ## | If | | Yff Yft | | Vf | + ## | | = | | * | | + ## | It | | Ytf Ytt | | Vt | + ## + Ytt, Yff, Yft, Ytf = branch_vectors(branch, nl) + ## compute shunt admittance + ## if Psh is the real power consumed by the shunt at V = 1.0 p.u. + ## and Qsh is the reactive power injected by the shunt at V = 1.0 p.u. + ## then Psh - j Qsh = V * conj(Ysh * V) = conj(Ysh) = Gs - j Bs, + ## i.e. Ysh = Psh + j Qsh, so ... + ## vector of shunt admittances + Ysh = (bus[:, GS] + 1j * bus[:, BS]) / baseMVA + + ## build connection matrices + f = real(branch[:, F_BUS]).astype(int) ## list of "from" buses + t = real(branch[:, T_BUS]).astype(int) ## list of "to" buses + ## connection matrix for line & from buses + Cf = csr_matrix((ones(nl), (range(nl), f)), (nl, nb)) + ## connection matrix for line & to buses + Ct = csr_matrix((ones(nl), (range(nl), t)), (nl, nb)) + + ## build Yf and Yt such that Yf * V is the vector of complex branch currents injected + ## at each branch's "from" bus, and Yt is the same for the "to" bus end + i = hstack([range(nl), range(nl)]) ## double set of row indices + + Yf = csr_matrix((hstack([Yff, Yft]), (i, hstack([f, t]))), (nl, nb)) + Yt = csr_matrix((hstack([Ytf, Ytt]), (i, hstack([f, t]))), (nl, nb)) + # Yf = spdiags(Yff, 0, nl, nl) * Cf + spdiags(Yft, 0, nl, nl) * Ct + # Yt = spdiags(Ytf, 0, nl, nl) * Cf + spdiags(Ytt, 0, nl, nl) * Ct + + ## build Ybus + Ybus = Cf.T * Yf + Ct.T * Yt + \ + csr_matrix((Ysh, (range(nb), range(nb))), (nb, nb)) + + return Ybus, Yf, Yt + + +def branch_vectors(branch, nl): + stat = branch[:, BR_STATUS] ## ones at in-service branches + Ysf = stat / (branch[:, BR_R] + 1j * branch[:, BR_X]) ## series admittance + if any(branch[:, BR_R_ASYM]) or any(branch[:, BR_X_ASYM]): + Yst = stat / ((branch[:, BR_R] + branch[:, BR_R_ASYM]) + 1j * ( + branch[:, BR_X] + branch[:, BR_X_ASYM])) ## series admittance + else: + Yst = Ysf + Bc = stat * branch[:, BR_B] ## line charging susceptance + tap = ones(nl) ## default tap ratio = 1 + i = nonzero(real(branch[:, TAP])) ## indices of non-zero tap ratios + tap[i] = real(branch[i, TAP]) ## assign non-zero tap ratios + tap = tap * exp(1j * pi / 180 * branch[:, SHIFT]) ## add phase shifters + + Ytt = Yst + 1j * Bc / 2 + Yff = (Ysf + 1j * Bc / 2) / (tap * conj(tap)) + Yft = - Ysf / conj(tap) + Ytf = - Yst / tap + return Ytt, Yff, Yft, Ytf diff --git a/pandapower/pypower/newtonpf.py b/pandapower/pypower/newtonpf.py index 7efd1b4de..6ac9f1062 100644 --- a/pandapower/pypower/newtonpf.py +++ b/pandapower/pypower/newtonpf.py @@ -4,7 +4,7 @@ # Use of this source code is governed by a BSD-style # license that can be found in the LICENSE file. -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/pypower/opf.py b/pandapower/pypower/opf.py index 2b4599dcb..ad916a2d4 100644 --- a/pandapower/pypower/opf.py +++ b/pandapower/pypower/opf.py @@ -4,7 +4,7 @@ # Use of this source code is governed by a BSD-style # license that can be found in the LICENSE file. -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. """Solves an optimal power flow. diff --git a/pandapower/pypower/opf_execute.py b/pandapower/pypower/opf_execute.py index 1e32eaa59..0946950c5 100644 --- a/pandapower/pypower/opf_execute.py +++ b/pandapower/pypower/opf_execute.py @@ -1,206 +1,206 @@ -# -*- coding: utf-8 -*- - -# Copyright 1996-2015 PSERC. All rights reserved. -# Use of this source code is governed by a BSD-style -# license that can be found in the LICENSE file. - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -"""Executes the OPF specified by an OPF model object. -""" - -from sys import stdout, stderr - -from numpy import array, arange, pi, zeros, r_ -from pandapower.pypower.dcopf_solver import dcopf_solver -from pandapower.pypower.idx_brch import MU_ANGMIN, MU_ANGMAX -from pandapower.pypower.idx_bus import VM -from pandapower.pypower.idx_gen import GEN_BUS, VG -#from pandapower.pypower.ipoptopf_solver import ipoptopf_solver -from pandapower.pypower.makeYbus import makeYbus -from pandapower.pypower.opf_consfcn import opf_consfcn -from pandapower.pypower.opf_costfcn import opf_costfcn - -from pandapower.pypower.ppver import ppver -from pandapower.pypower.update_mupq import update_mupq - -from pandapower.pypower.pipsopf_solver import pipsopf_solver #temporary changed import to match bugfix path - - -def opf_execute(om, ppopt): - """Executes the OPF specified by an OPF model object. - - C{results} are returned with internal indexing, all equipment - in-service, etc. - - @see: L{opf}, L{opf_setup} - - @author: Ray Zimmerman (PSERC Cornell) - @author: Richard Lincoln - """ - ##----- setup ----- - ## options - dc = ppopt['PF_DC'] ## 1 = DC OPF, 0 = AC OPF - alg = ppopt['OPF_ALG'] - verbose = ppopt['VERBOSE'] - - ## build user-defined costs - om.build_cost_params() - - ## get indexing - vv, ll, nn, _ = om.get_idx() - - if verbose > 0: - v = ppver('all') - stdout.write('PYPOWER Version %s, %s' % (v['Version'], v['Date'])) - - ##----- run DC OPF solver ----- - if dc: - if verbose > 0: - stdout.write(' -- DC Optimal Power Flow\n') - - results, success, raw = dcopf_solver(om, ppopt) - else: - ##----- run AC OPF solver ----- - if verbose > 0: - stdout.write(' -- AC Optimal Power Flow\n') - - ## if OPF_ALG not set, choose best available option - if alg == 0: - alg = 560 ## MIPS - - ## update deprecated algorithm codes to new, generalized formulation equivalents - if alg == 100 | alg == 200: ## CONSTR - alg = 300 - elif alg == 120 | alg == 220: ## dense LP - alg = 320 - elif alg == 140 | alg == 240: ## sparse (relaxed) LP - alg = 340 - elif alg == 160 | alg == 260: ## sparse (full) LP - alg = 360 - - ppopt['OPF_ALG_POLY'] = alg - - ## run specific AC OPF solver - if alg == 560 or alg == 565: ## PIPS - results, success, raw = pipsopf_solver(om, ppopt) -# elif alg == 580: ## IPOPT # pragma: no cover -# try: -# __import__('pyipopt') -# results, success, raw = ipoptopf_solver(om, ppopt) -# except ImportError: -# raise ImportError('OPF_ALG %d requires IPOPT ' -# '(see https://projects.coin-or.org/Ipopt/)' % -# alg) - else: - stderr.write('opf_execute: OPF_ALG %d is not a valid algorithm code\n' % alg) - - if ('output' not in raw) or ('alg' not in raw['output']): - raw['output']['alg'] = alg - - if success: - if not dc: - ## copy bus voltages back to gen matrix - results['gen'][:, VG] = results['bus'][results['gen'][:, GEN_BUS].astype(int), VM] - - ## gen PQ capability curve multipliers - if (ll['N']['PQh'] > 0) | (ll['N']['PQl'] > 0): # pragma: no cover - mu_PQh = results['mu']['lin']['l'][ll['i1']['PQh']:ll['iN']['PQh']] - results['mu']['lin']['u'][ll['i1']['PQh']:ll['iN']['PQh']] - mu_PQl = results['mu']['lin']['l'][ll['i1']['PQl']:ll['iN']['PQl']] - results['mu']['lin']['u'][ll['i1']['PQl']:ll['iN']['PQl']] - Apqdata = om.userdata('Apqdata') - results['gen'] = update_mupq(results['baseMVA'], results['gen'], mu_PQh, mu_PQl, Apqdata) - - ## compute g, dg, f, df, d2f if requested by RETURN_RAW_DER = 1 - if ppopt['RETURN_RAW_DER']: # pragma: no cover - ## move from results to raw if using v4.0 of MINOPF or TSPOPF - if 'dg' in results: - raw = {} - raw['dg'] = results['dg'] - raw['g'] = results['g'] - - ## compute g, dg, unless already done by post-v4.0 MINOPF or TSPOPF - if 'dg' not in raw: - ppc = om.get_ppc() - Ybus, Yf, Yt = makeYbus(ppc['baseMVA'], ppc['bus'], ppc['branch']) - g, geq, dg, dgeq = opf_consfcn(results['x'], om, Ybus, Yf, Yt, ppopt) - raw['g'] = r_[geq, g] - raw['dg'] = r_[dgeq.T, dg.T] ## true Jacobian organization - - ## compute df, d2f - _, df, d2f = opf_costfcn(results['x'], om, True) - raw['df'] = df - raw['d2f'] = d2f - - ## delete g and dg fieldsfrom results if using v4.0 of MINOPF or TSPOPF - if 'dg' in results: - del results['dg'] - del results['g'] - - ## angle limit constraint multipliers - if ll['N']['ang'] > 0: - iang = om.userdata('iang') - results['branch'][iang, MU_ANGMIN] = results['mu']['lin']['l'][ll['i1']['ang']:ll['iN']['ang']] * pi / 180 - results['branch'][iang, MU_ANGMAX] = results['mu']['lin']['u'][ll['i1']['ang']:ll['iN']['ang']] * pi / 180 - else: - ## assign empty g, dg, f, df, d2f if requested by RETURN_RAW_DER = 1 - if not dc and ppopt['RETURN_RAW_DER']: - raw['dg'] = array([]) - raw['g'] = array([]) - raw['df'] = array([]) - raw['d2f'] = array([]) - - ## assign values and limit shadow prices for variables - if om.var['order']: - results['var'] = {'val': {}, 'mu': {'l': {}, 'u': {}}} - for name in om.var['order']: - if om.getN('var', name): - idx = arange(vv['i1'][name], vv['iN'][name]) - results['var']['val'][name] = results['x'][idx] - results['var']['mu']['l'][name] = results['mu']['var']['l'][idx] - results['var']['mu']['u'][name] = results['mu']['var']['u'][idx] - - ## assign shadow prices for linear constraints - if om.lin['order']: - results['lin'] = {'mu': {'l': {}, 'u': {}}} - for name in om.lin['order']: - if om.getN('lin', name): - idx = arange(ll['i1'][name], ll['iN'][name]) - results['lin']['mu']['l'][name] = results['mu']['lin']['l'][idx] - results['lin']['mu']['u'][name] = results['mu']['lin']['u'][idx] - - ## assign shadow prices for nonlinear constraints - if not dc: - if om.nln['order']: - results['nln'] = {'mu': {'l': {}, 'u': {}}} - for name in om.nln['order']: - if om.getN('nln', name): - idx = arange(nn['i1'][name], nn['iN'][name]) - results['nln']['mu']['l'][name] = results['mu']['nln']['l'][idx] - results['nln']['mu']['u'][name] = results['mu']['nln']['u'][idx] - - ## assign values for components of user cost - if om.cost['order']: - results['cost'] = {} - for name in om.cost['order']: - if om.getN('cost', name): - results['cost'][name] = om.compute_cost(results['x'], name) - - ## if single-block PWL costs were converted to POLY, insert dummy y into x - ## Note: The "y" portion of x will be nonsense, but everything should at - ## least be in the expected locations. - pwl1 = om.userdata('pwl1') - if (len(pwl1) > 0) and (alg != 545) and (alg != 550): - ## get indexing - vv, _, _, _ = om.get_idx() - if dc: - nx = vv['iN']['Pg'] - else: - nx = vv['iN']['Qg'] - - y = zeros(len(pwl1)) - raw['xr'] = r_[raw['xr'][:nx], y, raw['xr'][nx:]] - results['x'] = r_[results['x'][:nx], y, results['x'][nx:]] - - return results, success, raw +# -*- coding: utf-8 -*- + +# Copyright 1996-2015 PSERC. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +"""Executes the OPF specified by an OPF model object. +""" + +from sys import stdout, stderr + +from numpy import array, arange, pi, zeros, r_ +from pandapower.pypower.dcopf_solver import dcopf_solver +from pandapower.pypower.idx_brch import MU_ANGMIN, MU_ANGMAX +from pandapower.pypower.idx_bus import VM +from pandapower.pypower.idx_gen import GEN_BUS, VG +#from pandapower.pypower.ipoptopf_solver import ipoptopf_solver +from pandapower.pypower.makeYbus import makeYbus +from pandapower.pypower.opf_consfcn import opf_consfcn +from pandapower.pypower.opf_costfcn import opf_costfcn + +from pandapower.pypower.ppver import ppver +from pandapower.pypower.update_mupq import update_mupq + +from pandapower.pypower.pipsopf_solver import pipsopf_solver #temporary changed import to match bugfix path + + +def opf_execute(om, ppopt): + """Executes the OPF specified by an OPF model object. + + C{results} are returned with internal indexing, all equipment + in-service, etc. + + @see: L{opf}, L{opf_setup} + + @author: Ray Zimmerman (PSERC Cornell) + @author: Richard Lincoln + """ + ##----- setup ----- + ## options + dc = ppopt['PF_DC'] ## 1 = DC OPF, 0 = AC OPF + alg = ppopt['OPF_ALG'] + verbose = ppopt['VERBOSE'] + + ## build user-defined costs + om.build_cost_params() + + ## get indexing + vv, ll, nn, _ = om.get_idx() + + if verbose > 0: + v = ppver('all') + stdout.write('PYPOWER Version %s, %s' % (v['Version'], v['Date'])) + + ##----- run DC OPF solver ----- + if dc: + if verbose > 0: + stdout.write(' -- DC Optimal Power Flow\n') + + results, success, raw = dcopf_solver(om, ppopt) + else: + ##----- run AC OPF solver ----- + if verbose > 0: + stdout.write(' -- AC Optimal Power Flow\n') + + ## if OPF_ALG not set, choose best available option + if alg == 0: + alg = 560 ## MIPS + + ## update deprecated algorithm codes to new, generalized formulation equivalents + if alg == 100 | alg == 200: ## CONSTR + alg = 300 + elif alg == 120 | alg == 220: ## dense LP + alg = 320 + elif alg == 140 | alg == 240: ## sparse (relaxed) LP + alg = 340 + elif alg == 160 | alg == 260: ## sparse (full) LP + alg = 360 + + ppopt['OPF_ALG_POLY'] = alg + + ## run specific AC OPF solver + if alg == 560 or alg == 565: ## PIPS + results, success, raw = pipsopf_solver(om, ppopt) +# elif alg == 580: ## IPOPT # pragma: no cover +# try: +# __import__('pyipopt') +# results, success, raw = ipoptopf_solver(om, ppopt) +# except ImportError: +# raise ImportError('OPF_ALG %d requires IPOPT ' +# '(see https://projects.coin-or.org/Ipopt/)' % +# alg) + else: + stderr.write('opf_execute: OPF_ALG %d is not a valid algorithm code\n' % alg) + + if ('output' not in raw) or ('alg' not in raw['output']): + raw['output']['alg'] = alg + + if success: + if not dc: + ## copy bus voltages back to gen matrix + results['gen'][:, VG] = results['bus'][results['gen'][:, GEN_BUS].astype(int), VM] + + ## gen PQ capability curve multipliers + if (ll['N']['PQh'] > 0) | (ll['N']['PQl'] > 0): # pragma: no cover + mu_PQh = results['mu']['lin']['l'][ll['i1']['PQh']:ll['iN']['PQh']] - results['mu']['lin']['u'][ll['i1']['PQh']:ll['iN']['PQh']] + mu_PQl = results['mu']['lin']['l'][ll['i1']['PQl']:ll['iN']['PQl']] - results['mu']['lin']['u'][ll['i1']['PQl']:ll['iN']['PQl']] + Apqdata = om.userdata('Apqdata') + results['gen'] = update_mupq(results['baseMVA'], results['gen'], mu_PQh, mu_PQl, Apqdata) + + ## compute g, dg, f, df, d2f if requested by RETURN_RAW_DER = 1 + if ppopt['RETURN_RAW_DER']: # pragma: no cover + ## move from results to raw if using v4.0 of MINOPF or TSPOPF + if 'dg' in results: + raw = {} + raw['dg'] = results['dg'] + raw['g'] = results['g'] + + ## compute g, dg, unless already done by post-v4.0 MINOPF or TSPOPF + if 'dg' not in raw: + ppc = om.get_ppc() + Ybus, Yf, Yt = makeYbus(ppc['baseMVA'], ppc['bus'], ppc['branch']) + g, geq, dg, dgeq = opf_consfcn(results['x'], om, Ybus, Yf, Yt, ppopt) + raw['g'] = r_[geq, g] + raw['dg'] = r_[dgeq.T, dg.T] ## true Jacobian organization + + ## compute df, d2f + _, df, d2f = opf_costfcn(results['x'], om, True) + raw['df'] = df + raw['d2f'] = d2f + + ## delete g and dg fieldsfrom results if using v4.0 of MINOPF or TSPOPF + if 'dg' in results: + del results['dg'] + del results['g'] + + ## angle limit constraint multipliers + if ll['N']['ang'] > 0: + iang = om.userdata('iang') + results['branch'][iang, MU_ANGMIN] = results['mu']['lin']['l'][ll['i1']['ang']:ll['iN']['ang']] * pi / 180 + results['branch'][iang, MU_ANGMAX] = results['mu']['lin']['u'][ll['i1']['ang']:ll['iN']['ang']] * pi / 180 + else: + ## assign empty g, dg, f, df, d2f if requested by RETURN_RAW_DER = 1 + if not dc and ppopt['RETURN_RAW_DER']: + raw['dg'] = array([]) + raw['g'] = array([]) + raw['df'] = array([]) + raw['d2f'] = array([]) + + ## assign values and limit shadow prices for variables + if om.var['order']: + results['var'] = {'val': {}, 'mu': {'l': {}, 'u': {}}} + for name in om.var['order']: + if om.getN('var', name): + idx = arange(vv['i1'][name], vv['iN'][name]) + results['var']['val'][name] = results['x'][idx] + results['var']['mu']['l'][name] = results['mu']['var']['l'][idx] + results['var']['mu']['u'][name] = results['mu']['var']['u'][idx] + + ## assign shadow prices for linear constraints + if om.lin['order']: + results['lin'] = {'mu': {'l': {}, 'u': {}}} + for name in om.lin['order']: + if om.getN('lin', name): + idx = arange(ll['i1'][name], ll['iN'][name]) + results['lin']['mu']['l'][name] = results['mu']['lin']['l'][idx] + results['lin']['mu']['u'][name] = results['mu']['lin']['u'][idx] + + ## assign shadow prices for nonlinear constraints + if not dc: + if om.nln['order']: + results['nln'] = {'mu': {'l': {}, 'u': {}}} + for name in om.nln['order']: + if om.getN('nln', name): + idx = arange(nn['i1'][name], nn['iN'][name]) + results['nln']['mu']['l'][name] = results['mu']['nln']['l'][idx] + results['nln']['mu']['u'][name] = results['mu']['nln']['u'][idx] + + ## assign values for components of user cost + if om.cost['order']: + results['cost'] = {} + for name in om.cost['order']: + if om.getN('cost', name): + results['cost'][name] = om.compute_cost(results['x'], name) + + ## if single-block PWL costs were converted to POLY, insert dummy y into x + ## Note: The "y" portion of x will be nonsense, but everything should at + ## least be in the expected locations. + pwl1 = om.userdata('pwl1') + if (len(pwl1) > 0) and (alg != 545) and (alg != 550): + ## get indexing + vv, _, _, _ = om.get_idx() + if dc: + nx = vv['iN']['Pg'] + else: + nx = vv['iN']['Qg'] + + y = zeros(len(pwl1)) + raw['xr'] = r_[raw['xr'][:nx], y, raw['xr'][nx:]] + results['x'] = r_[results['x'][:nx], y, results['x'][nx:]] + + return results, success, raw diff --git a/pandapower/pypower/opf_hessfcn.py b/pandapower/pypower/opf_hessfcn.py index a73fd8424..f6c03bfbe 100644 --- a/pandapower/pypower/opf_hessfcn.py +++ b/pandapower/pypower/opf_hessfcn.py @@ -1,248 +1,248 @@ -# -*- coding: utf-8 -*- - -# Copyright 1996-2015 PSERC. All rights reserved. -# Use of this source code is governed by a BSD-style -# license that can be found in the LICENSE file. - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -"""Evaluates Hessian of Lagrangian for AC OPF. -""" - -from numpy import array, zeros, ones, exp, arange, r_, flatnonzero as find -from scipy.sparse import vstack, hstack, issparse, csr_matrix as sparse - -from pandapower.pypower.d2AIbr_dV2 import d2AIbr_dV2 -from pandapower.pypower.d2ASbr_dV2 import d2ASbr_dV2 -from pandapower.pypower.d2Sbus_dV2 import d2Sbus_dV2 -from pandapower.pypower.dIbr_dV import dIbr_dV -from pandapower.pypower.dSbr_dV import dSbr_dV -from pandapower.pypower.idx_brch import F_BUS, T_BUS -from pandapower.pypower.idx_cost import MODEL, POLYNOMIAL -from pandapower.pypower.idx_gen import PG, QG -from pandapower.pypower.opf_consfcn import opf_consfcn -from pandapower.pypower.opf_costfcn import opf_costfcn -from pandapower.pypower.polycost import polycost - - -def opf_hessfcn(x, lmbda, om, Ybus, Yf, Yt, ppopt, il=None, cost_mult=1.0): - """Evaluates Hessian of Lagrangian for AC OPF. - - Hessian evaluation function for AC optimal power flow, suitable - for use with L{pips}. - - Examples:: - Lxx = opf_hessfcn(x, lmbda, om, Ybus, Yf, Yt, ppopt) - Lxx = opf_hessfcn(x, lmbda, om, Ybus, Yf, Yt, ppopt, il) - Lxx = opf_hessfcn(x, lmbda, om, Ybus, Yf, Yt, ppopt, il, cost_mult) - - @param x: optimization vector - @param lmbda: C{eqnonlin} - Lagrange multipliers on power balance - equations. C{ineqnonlin} - Kuhn-Tucker multipliers on constrained - branch flows. - @param om: OPF model object - @param Ybus: bus admittance matrix - @param Yf: admittance matrix for "from" end of constrained branches - @param Yt: admittance matrix for "to" end of constrained branches - @param ppopt: PYPOWER options vector - @param il: (optional) vector of branch indices corresponding to - branches with flow limits (all others are assumed to be unconstrained). - The default is C{range(nl)} (all branches). C{Yf} and C{Yt} contain - only the rows corresponding to C{il}. - @param cost_mult: (optional) Scale factor to be applied to the cost - (default = 1). - - @return: Hessian of the Lagrangian. - - @see: L{opf_costfcn}, L{opf_consfcn} - - @author: Ray Zimmerman (PSERC Cornell) - @author: Carlos E. Murillo-Sanchez (PSERC Cornell & Universidad - Autonoma de Manizales) - @author: Richard Lincoln - - Modified by University of Kassel (Friederike Meier): Bugfix in line 173 - """ - ##----- initialize ----- - ## unpack data - ppc = om.get_ppc() - baseMVA, bus, gen, branch, gencost = \ - ppc["baseMVA"], ppc["bus"], ppc["gen"], ppc["branch"], ppc["gencost"] - cp = om.get_cost_params() - N, Cw, H, dd, rh, kk, mm = \ - cp["N"], cp["Cw"], cp["H"], cp["dd"], cp["rh"], cp["kk"], cp["mm"] - vv, _, _, _ = om.get_idx() - - ## unpack needed parameters - nb = bus.shape[0] ## number of buses - nl = branch.shape[0] ## number of branches - ng = gen.shape[0] ## number of dispatchable injections - nxyz = len(x) ## total number of control vars of all types - - ## set default constrained lines - if il is None: - il = arange(nl) ## all lines have limits by default - nl2 = len(il) ## number of constrained lines - - ## grab Pg & Qg - Pg = x[vv["i1"]["Pg"]:vv["iN"]["Pg"]] ## active generation in p.u. - Qg = x[vv["i1"]["Qg"]:vv["iN"]["Qg"]] ## reactive generation in p.u. - - ## put Pg & Qg back in gen - gen[:, PG] = Pg * baseMVA ## active generation in MW - gen[:, QG] = Qg * baseMVA ## reactive generation in MVAr - - ## reconstruct V - Va = x[vv["i1"]["Va"]:vv["iN"]["Va"]] - Vm = x[vv["i1"]["Vm"]:vv["iN"]["Vm"]] - V = Vm * exp(1j * Va) - nxtra = nxyz - 2 * nb - pcost = gencost[arange(ng), :] - if gencost.shape[0] > ng: - qcost = gencost[arange(ng, 2 * ng), :] - else: - qcost = array([]) - - ## ----- evaluate d2f ----- - d2f_dPg2 = zeros(ng)#sparse((ng, 1)) ## w.r.t. p.u. Pg - d2f_dQg2 = zeros(ng)#sparse((ng, 1)) ## w.r.t. p.u. Qg - ipolp = find(pcost[:, MODEL] == POLYNOMIAL) - if len(ipolp): - d2f_dPg2[ipolp] = \ - baseMVA**2 * polycost(pcost[ipolp, :], Pg[ipolp] * baseMVA, 2) - if qcost.any(): ## Qg is not free - ipolq = find(qcost[:, MODEL] == POLYNOMIAL) - d2f_dQg2[ipolq] = \ - baseMVA**2 * polycost(qcost[ipolq, :], Qg[ipolq] * baseMVA, 2) - i = r_[arange(vv["i1"]["Pg"], vv["iN"]["Pg"]), - arange(vv["i1"]["Qg"], vv["iN"]["Qg"])] -# d2f = sparse((vstack([d2f_dPg2, d2f_dQg2]).toarray().flatten(), -# (i, i)), shape=(nxyz, nxyz)) - d2f = sparse((r_[d2f_dPg2, d2f_dQg2], (i, i)), (nxyz, nxyz)) - - ## generalized cost - if issparse(N) and N.nnz > 0: # pragma: no cover - nw = N.shape[0] - r = N * x - rh ## Nx - rhat - iLT = find(r < -kk) ## below dead zone - iEQ = find((r == 0) & (kk == 0)) ## dead zone doesn't exist - iGT = find(r > kk) ## above dead zone - iND = r_[iLT, iEQ, iGT] ## rows that are Not in the Dead region - iL = find(dd == 1) ## rows using linear function - iQ = find(dd == 2) ## rows using quadratic function - LL = sparse((ones(len(iL)), (iL, iL)), (nw, nw)) - QQ = sparse((ones(len(iQ)), (iQ, iQ)), (nw, nw)) - kbar = sparse((r_[ones(len(iLT)), zeros(len(iEQ)), -ones(len(iGT))], - (iND, iND)), (nw, nw)) * kk - rr = r + kbar ## apply non-dead zone shift - M = sparse((mm[iND], (iND, iND)), (nw, nw)) ## dead zone or scale - diagrr = sparse((rr, (arange(nw), arange(nw))), (nw, nw)) - - ## linear rows multiplied by rr(i), quadratic rows by rr(i)^2 - w = M * (LL + QQ * diagrr) * rr - HwC = H * w + Cw - AA = N.T * M * (LL + 2 * QQ * diagrr) - - d2f = d2f + AA * H * AA.T + 2 * N.T * M * QQ * \ - sparse((HwC, (arange(nw), arange(nw))), (nw, nw)) * N - d2f = d2f * cost_mult - - ##----- evaluate Hessian of power balance constraints ----- - nlam = len(lmbda["eqnonlin"]) // 2 - lamP = lmbda["eqnonlin"][:nlam] - lamQ = lmbda["eqnonlin"][nlam:nlam + nlam] - Gpaa, Gpav, Gpva, Gpvv = d2Sbus_dV2(Ybus, V, lamP) - Gqaa, Gqav, Gqva, Gqvv = d2Sbus_dV2(Ybus, V, lamQ) - - d2G = vstack([ - hstack([ - vstack([hstack([Gpaa, Gpav]), - hstack([Gpva, Gpvv])]).real + - vstack([hstack([Gqaa, Gqav]), - hstack([Gqva, Gqvv])]).imag, - sparse((2 * nb, nxtra))]), - hstack([ - sparse((nxtra, 2 * nb)), - sparse((nxtra, nxtra)) - ]) - ], "csr") - - ##----- evaluate Hessian of flow constraints ----- - nmu = len(lmbda["ineqnonlin"]) // 2 - muF = lmbda["ineqnonlin"][:nmu] - muT = lmbda["ineqnonlin"][nmu:nmu + nmu] - if ppopt['OPF_FLOW_LIM'] == 2: ## current - if Yf.size: - dIf_dVa, dIf_dVm, dIt_dVa, dIt_dVm, If, It = dIbr_dV(branch, Yf, Yt, V) - Hfaa, Hfav, Hfva, Hfvv = d2AIbr_dV2(dIf_dVa, dIf_dVm, If, Yf, V, muF) - Htaa, Htav, Htva, Htvv = d2AIbr_dV2(dIt_dVa, dIt_dVm, It, Yt, V, muT) - else: - Hfaa= Hfav= Hfva= Hfvv= Htaa= Htav= Htva= Htvv = sparse(zeros((nb,nb))) - else: # pragma: no cover - f = branch[il, F_BUS].astype(int) ## list of "from" buses - t = branch[il, T_BUS].astype(int) ## list of "to" buses - ## connection matrix for line & from buses - Cf = sparse((ones(nl2), (arange(nl2), f)), (nl2, nb)) - ## connection matrix for line & to buses - Ct = sparse((ones(nl2), (arange(nl2), t)), (nl2, nb)) - dSf_dVa, dSf_dVm, dSt_dVa, dSt_dVm, Sf, St = \ - dSbr_dV(branch[il,:], Yf, Yt, V) - if ppopt['OPF_FLOW_LIM'] == 1: ## real power - Hfaa, Hfav, Hfva, Hfvv = d2ASbr_dV2(dSf_dVa.real, dSf_dVm.real, - Sf.real, Cf, Yf, V, muF) - Htaa, Htav, Htva, Htvv = d2ASbr_dV2(dSt_dVa.real, dSt_dVm.real, - St.real, Ct, Yt, V, muT) - else: ## apparent power - Hfaa, Hfav, Hfva, Hfvv = \ - d2ASbr_dV2(dSf_dVa, dSf_dVm, Sf, Cf, Yf, V, muF) - Htaa, Htav, Htva, Htvv = \ - d2ASbr_dV2(dSt_dVa, dSt_dVm, St, Ct, Yt, V, muT) - - d2H = vstack([ - hstack([ - vstack([hstack([Hfaa, Hfav]), - hstack([Hfva, Hfvv])]) + - vstack([hstack([Htaa, Htav]), - hstack([Htva, Htvv])]), - sparse((2 * nb, nxtra)) - ]), - hstack([ - sparse((nxtra, 2 * nb)), - sparse((nxtra, nxtra)) - ]) - ], "csr") - - ##----- do numerical check using (central) finite differences ----- - if 0: - nx = len(x) - step = 1e-5 - num_d2f = sparse((nx, nx)) - num_d2G = sparse((nx, nx)) - num_d2H = sparse((nx, nx)) - for i in range(nx): - xp = x - xm = x - xp[i] = x[i] + step / 2 - xm[i] = x[i] - step / 2 - # evaluate cost & gradients - _, dfp = opf_costfcn(xp, om) - _, dfm = opf_costfcn(xm, om) - # evaluate constraints & gradients - _, _, dHp, dGp = opf_consfcn(xp, om, Ybus, Yf, Yt, ppopt, il) - _, _, dHm, dGm = opf_consfcn(xm, om, Ybus, Yf, Yt, ppopt, il) - num_d2f[:, i] = cost_mult * (dfp - dfm) / step - num_d2G[:, i] = (dGp - dGm) * lmbda["eqnonlin"] / step - num_d2H[:, i] = (dHp - dHm) * lmbda["ineqnonlin"] / step - d2f_err = max(max(abs(d2f - num_d2f))) - d2G_err = max(max(abs(d2G - num_d2G))) - d2H_err = max(max(abs(d2H - num_d2H))) - if d2f_err > 1e-6: - print('Max difference in d2f: %g' % d2f_err) - if d2G_err > 1e-5: - print('Max difference in d2G: %g' % d2G_err) - if d2H_err > 1e-6: - print('Max difference in d2H: %g' % d2H_err) - - return d2f + d2G + d2H +# -*- coding: utf-8 -*- + +# Copyright 1996-2015 PSERC. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +"""Evaluates Hessian of Lagrangian for AC OPF. +""" + +from numpy import array, zeros, ones, exp, arange, r_, flatnonzero as find +from scipy.sparse import vstack, hstack, issparse, csr_matrix as sparse + +from pandapower.pypower.d2AIbr_dV2 import d2AIbr_dV2 +from pandapower.pypower.d2ASbr_dV2 import d2ASbr_dV2 +from pandapower.pypower.d2Sbus_dV2 import d2Sbus_dV2 +from pandapower.pypower.dIbr_dV import dIbr_dV +from pandapower.pypower.dSbr_dV import dSbr_dV +from pandapower.pypower.idx_brch import F_BUS, T_BUS +from pandapower.pypower.idx_cost import MODEL, POLYNOMIAL +from pandapower.pypower.idx_gen import PG, QG +from pandapower.pypower.opf_consfcn import opf_consfcn +from pandapower.pypower.opf_costfcn import opf_costfcn +from pandapower.pypower.polycost import polycost + + +def opf_hessfcn(x, lmbda, om, Ybus, Yf, Yt, ppopt, il=None, cost_mult=1.0): + """Evaluates Hessian of Lagrangian for AC OPF. + + Hessian evaluation function for AC optimal power flow, suitable + for use with L{pips}. + + Examples:: + Lxx = opf_hessfcn(x, lmbda, om, Ybus, Yf, Yt, ppopt) + Lxx = opf_hessfcn(x, lmbda, om, Ybus, Yf, Yt, ppopt, il) + Lxx = opf_hessfcn(x, lmbda, om, Ybus, Yf, Yt, ppopt, il, cost_mult) + + @param x: optimization vector + @param lmbda: C{eqnonlin} - Lagrange multipliers on power balance + equations. C{ineqnonlin} - Kuhn-Tucker multipliers on constrained + branch flows. + @param om: OPF model object + @param Ybus: bus admittance matrix + @param Yf: admittance matrix for "from" end of constrained branches + @param Yt: admittance matrix for "to" end of constrained branches + @param ppopt: PYPOWER options vector + @param il: (optional) vector of branch indices corresponding to + branches with flow limits (all others are assumed to be unconstrained). + The default is C{range(nl)} (all branches). C{Yf} and C{Yt} contain + only the rows corresponding to C{il}. + @param cost_mult: (optional) Scale factor to be applied to the cost + (default = 1). + + @return: Hessian of the Lagrangian. + + @see: L{opf_costfcn}, L{opf_consfcn} + + @author: Ray Zimmerman (PSERC Cornell) + @author: Carlos E. Murillo-Sanchez (PSERC Cornell & Universidad + Autonoma de Manizales) + @author: Richard Lincoln + + Modified by University of Kassel (Friederike Meier): Bugfix in line 173 + """ + ##----- initialize ----- + ## unpack data + ppc = om.get_ppc() + baseMVA, bus, gen, branch, gencost = \ + ppc["baseMVA"], ppc["bus"], ppc["gen"], ppc["branch"], ppc["gencost"] + cp = om.get_cost_params() + N, Cw, H, dd, rh, kk, mm = \ + cp["N"], cp["Cw"], cp["H"], cp["dd"], cp["rh"], cp["kk"], cp["mm"] + vv, _, _, _ = om.get_idx() + + ## unpack needed parameters + nb = bus.shape[0] ## number of buses + nl = branch.shape[0] ## number of branches + ng = gen.shape[0] ## number of dispatchable injections + nxyz = len(x) ## total number of control vars of all types + + ## set default constrained lines + if il is None: + il = arange(nl) ## all lines have limits by default + nl2 = len(il) ## number of constrained lines + + ## grab Pg & Qg + Pg = x[vv["i1"]["Pg"]:vv["iN"]["Pg"]] ## active generation in p.u. + Qg = x[vv["i1"]["Qg"]:vv["iN"]["Qg"]] ## reactive generation in p.u. + + ## put Pg & Qg back in gen + gen[:, PG] = Pg * baseMVA ## active generation in MW + gen[:, QG] = Qg * baseMVA ## reactive generation in MVAr + + ## reconstruct V + Va = x[vv["i1"]["Va"]:vv["iN"]["Va"]] + Vm = x[vv["i1"]["Vm"]:vv["iN"]["Vm"]] + V = Vm * exp(1j * Va) + nxtra = nxyz - 2 * nb + pcost = gencost[arange(ng), :] + if gencost.shape[0] > ng: + qcost = gencost[arange(ng, 2 * ng), :] + else: + qcost = array([]) + + ## ----- evaluate d2f ----- + d2f_dPg2 = zeros(ng)#sparse((ng, 1)) ## w.r.t. p.u. Pg + d2f_dQg2 = zeros(ng)#sparse((ng, 1)) ## w.r.t. p.u. Qg + ipolp = find(pcost[:, MODEL] == POLYNOMIAL) + if len(ipolp): + d2f_dPg2[ipolp] = \ + baseMVA**2 * polycost(pcost[ipolp, :], Pg[ipolp] * baseMVA, 2) + if qcost.any(): ## Qg is not free + ipolq = find(qcost[:, MODEL] == POLYNOMIAL) + d2f_dQg2[ipolq] = \ + baseMVA**2 * polycost(qcost[ipolq, :], Qg[ipolq] * baseMVA, 2) + i = r_[arange(vv["i1"]["Pg"], vv["iN"]["Pg"]), + arange(vv["i1"]["Qg"], vv["iN"]["Qg"])] +# d2f = sparse((vstack([d2f_dPg2, d2f_dQg2]).toarray().flatten(), +# (i, i)), shape=(nxyz, nxyz)) + d2f = sparse((r_[d2f_dPg2, d2f_dQg2], (i, i)), (nxyz, nxyz)) + + ## generalized cost + if issparse(N) and N.nnz > 0: # pragma: no cover + nw = N.shape[0] + r = N * x - rh ## Nx - rhat + iLT = find(r < -kk) ## below dead zone + iEQ = find((r == 0) & (kk == 0)) ## dead zone doesn't exist + iGT = find(r > kk) ## above dead zone + iND = r_[iLT, iEQ, iGT] ## rows that are Not in the Dead region + iL = find(dd == 1) ## rows using linear function + iQ = find(dd == 2) ## rows using quadratic function + LL = sparse((ones(len(iL)), (iL, iL)), (nw, nw)) + QQ = sparse((ones(len(iQ)), (iQ, iQ)), (nw, nw)) + kbar = sparse((r_[ones(len(iLT)), zeros(len(iEQ)), -ones(len(iGT))], + (iND, iND)), (nw, nw)) * kk + rr = r + kbar ## apply non-dead zone shift + M = sparse((mm[iND], (iND, iND)), (nw, nw)) ## dead zone or scale + diagrr = sparse((rr, (arange(nw), arange(nw))), (nw, nw)) + + ## linear rows multiplied by rr(i), quadratic rows by rr(i)^2 + w = M * (LL + QQ * diagrr) * rr + HwC = H * w + Cw + AA = N.T * M * (LL + 2 * QQ * diagrr) + + d2f = d2f + AA * H * AA.T + 2 * N.T * M * QQ * \ + sparse((HwC, (arange(nw), arange(nw))), (nw, nw)) * N + d2f = d2f * cost_mult + + ##----- evaluate Hessian of power balance constraints ----- + nlam = len(lmbda["eqnonlin"]) // 2 + lamP = lmbda["eqnonlin"][:nlam] + lamQ = lmbda["eqnonlin"][nlam:nlam + nlam] + Gpaa, Gpav, Gpva, Gpvv = d2Sbus_dV2(Ybus, V, lamP) + Gqaa, Gqav, Gqva, Gqvv = d2Sbus_dV2(Ybus, V, lamQ) + + d2G = vstack([ + hstack([ + vstack([hstack([Gpaa, Gpav]), + hstack([Gpva, Gpvv])]).real + + vstack([hstack([Gqaa, Gqav]), + hstack([Gqva, Gqvv])]).imag, + sparse((2 * nb, nxtra))]), + hstack([ + sparse((nxtra, 2 * nb)), + sparse((nxtra, nxtra)) + ]) + ], "csr") + + ##----- evaluate Hessian of flow constraints ----- + nmu = len(lmbda["ineqnonlin"]) // 2 + muF = lmbda["ineqnonlin"][:nmu] + muT = lmbda["ineqnonlin"][nmu:nmu + nmu] + if ppopt['OPF_FLOW_LIM'] == 2: ## current + if Yf.size: + dIf_dVa, dIf_dVm, dIt_dVa, dIt_dVm, If, It = dIbr_dV(branch, Yf, Yt, V) + Hfaa, Hfav, Hfva, Hfvv = d2AIbr_dV2(dIf_dVa, dIf_dVm, If, Yf, V, muF) + Htaa, Htav, Htva, Htvv = d2AIbr_dV2(dIt_dVa, dIt_dVm, It, Yt, V, muT) + else: + Hfaa= Hfav= Hfva= Hfvv= Htaa= Htav= Htva= Htvv = sparse(zeros((nb,nb))) + else: # pragma: no cover + f = branch[il, F_BUS].astype(int) ## list of "from" buses + t = branch[il, T_BUS].astype(int) ## list of "to" buses + ## connection matrix for line & from buses + Cf = sparse((ones(nl2), (arange(nl2), f)), (nl2, nb)) + ## connection matrix for line & to buses + Ct = sparse((ones(nl2), (arange(nl2), t)), (nl2, nb)) + dSf_dVa, dSf_dVm, dSt_dVa, dSt_dVm, Sf, St = \ + dSbr_dV(branch[il,:], Yf, Yt, V) + if ppopt['OPF_FLOW_LIM'] == 1: ## real power + Hfaa, Hfav, Hfva, Hfvv = d2ASbr_dV2(dSf_dVa.real, dSf_dVm.real, + Sf.real, Cf, Yf, V, muF) + Htaa, Htav, Htva, Htvv = d2ASbr_dV2(dSt_dVa.real, dSt_dVm.real, + St.real, Ct, Yt, V, muT) + else: ## apparent power + Hfaa, Hfav, Hfva, Hfvv = \ + d2ASbr_dV2(dSf_dVa, dSf_dVm, Sf, Cf, Yf, V, muF) + Htaa, Htav, Htva, Htvv = \ + d2ASbr_dV2(dSt_dVa, dSt_dVm, St, Ct, Yt, V, muT) + + d2H = vstack([ + hstack([ + vstack([hstack([Hfaa, Hfav]), + hstack([Hfva, Hfvv])]) + + vstack([hstack([Htaa, Htav]), + hstack([Htva, Htvv])]), + sparse((2 * nb, nxtra)) + ]), + hstack([ + sparse((nxtra, 2 * nb)), + sparse((nxtra, nxtra)) + ]) + ], "csr") + + ##----- do numerical check using (central) finite differences ----- + if 0: + nx = len(x) + step = 1e-5 + num_d2f = sparse((nx, nx)) + num_d2G = sparse((nx, nx)) + num_d2H = sparse((nx, nx)) + for i in range(nx): + xp = x + xm = x + xp[i] = x[i] + step / 2 + xm[i] = x[i] - step / 2 + # evaluate cost & gradients + _, dfp = opf_costfcn(xp, om) + _, dfm = opf_costfcn(xm, om) + # evaluate constraints & gradients + _, _, dHp, dGp = opf_consfcn(xp, om, Ybus, Yf, Yt, ppopt, il) + _, _, dHm, dGm = opf_consfcn(xm, om, Ybus, Yf, Yt, ppopt, il) + num_d2f[:, i] = cost_mult * (dfp - dfm) / step + num_d2G[:, i] = (dGp - dGm) * lmbda["eqnonlin"] / step + num_d2H[:, i] = (dHp - dHm) * lmbda["ineqnonlin"] / step + d2f_err = max(max(abs(d2f - num_d2f))) + d2G_err = max(max(abs(d2G - num_d2G))) + d2H_err = max(max(abs(d2H - num_d2H))) + if d2f_err > 1e-6: + print('Max difference in d2f: %g' % d2f_err) + if d2G_err > 1e-5: + print('Max difference in d2G: %g' % d2G_err) + if d2H_err > 1e-6: + print('Max difference in d2H: %g' % d2H_err) + + return d2f + d2G + d2H diff --git a/pandapower/pypower/opf_setup.py b/pandapower/pypower/opf_setup.py index d34b3491f..2f5150f53 100644 --- a/pandapower/pypower/opf_setup.py +++ b/pandapower/pypower/opf_setup.py @@ -1,245 +1,245 @@ -# -*- coding: utf-8 -*- - -# Copyright 1996-2015 PSERC. All rights reserved. -# Use of this source code is governed by a BSD-style -# license that can be found in the LICENSE file. - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -"""Constructs an OPF model object from a PYPOWER case dict. -""" - -from sys import stdout, stderr - -from numpy import array, any, delete, unique, arange, nonzero, pi, r_, ones, Inf, flatnonzero as find -from scipy.sparse import hstack, csr_matrix as sparse -from pandapower.pypower.idx_brch import RATE_A -from pandapower.pypower.idx_bus import BUS_TYPE, REF, VA, VM, PD, GS, VMAX, VMIN -from pandapower.pypower.idx_cost import MODEL, NCOST, PW_LINEAR, COST, POLYNOMIAL -from pandapower.pypower.idx_gen import GEN_BUS, VG, PG, QG, PMAX, PMIN, QMAX, QMIN -from pandapower.pypower.makeAang import makeAang -from pandapower.pypower.makeApq import makeApq -from pandapower.pypower.makeAvl import makeAvl -from pandapower.pypower.makeAy import makeAy -from pandapower.pypower.makeBdc import makeBdc -from pandapower.pypower.opf_args import opf_args -from pandapower.pypower.pqcost import pqcost -from pandapower.pypower.run_userfcn import run_userfcn -from pandapower.pypower.opf_model import opf_model - - -def opf_setup(ppc, ppopt): - """Constructs an OPF model object from a PYPOWER case dict. - - Assumes that ppc is a PYPOWER case dict with internal indexing, - all equipment in-service, etc. - - @see: L{opf}, L{ext2int}, L{opf_execute} - - @author: Ray Zimmerman (PSERC Cornell) - @author: Carlos E. Murillo-Sanchez (PSERC Cornell & Universidad - Autonoma de Manizales) - @author: Richard Lincoln - - Modified by University of Kassel (Friederike Meier): Bugfix in line 110 - """ - ## options - dc = ppopt['PF_DC'] ## 1 = DC OPF, 0 = AC OPF - alg = ppopt['OPF_ALG'] - verbose = ppopt['VERBOSE'] - - ## data dimensions - nb = ppc['bus'].shape[0] ## number of buses - nl = ppc['branch'].shape[0] ## number of branches - ng = ppc['gen'].shape[0] ## number of dispatchable injections - if 'A' in ppc: - nusr = ppc['A'].shape[0] ## number of linear user constraints - else: - nusr = 0 - - if 'N' in ppc: - nw = ppc['N'].shape[0] ## number of general cost vars, w - else: - nw = 0 - - if dc: - ## ignore reactive costs for DC - ppc['gencost'], _ = pqcost(ppc['gencost'], ng) - - ## reduce A and/or N from AC dimensions to DC dimensions, if needed - if nusr or nw: # pragma: no cover - acc = r_[nb + arange(nb), 2 * nb + ng + arange(ng)] ## Vm and Qg columns - - if nusr and (ppc['A'].shape[1] >= 2*nb + 2*ng): - ## make sure there aren't any constraints on Vm or Qg - if ppc['A'][:, acc].nnz > 0: - stderr.write('opf_setup: attempting to solve DC OPF with user constraints on Vm or Qg\n') - - # FIXME: delete sparse matrix columns - bcc = delete(arange(ppc['A'].shape[1]), acc) - ppc['A'] = ppc['A'].tolil()[:, bcc].tocsr() ## delete Vm and Qg columns - - if nw and (ppc['N'].shape[1] >= 2*nb + 2*ng): - ## make sure there aren't any costs on Vm or Qg - if ppc['N'][:, acc].nnz > 0: - ii, _ = nonzero(ppc['N'][:, acc]) - _, ii = unique(ii, return_index=True) ## indices of w with potential non-zero cost terms from Vm or Qg - if any(ppc['Cw'][ii]) | ( ('H' in ppc) & (len(ppc['H']) > 0) & - any(any(ppc['H'][:, ii])) ): - stderr.write('opf_setup: attempting to solve DC OPF with user costs on Vm or Qg\n') - - # FIXME: delete sparse matrix columns - bcc = delete(arange(ppc['N'].shape[1]), acc) - ppc['N'] = ppc['N'].tolil()[:, bcc].tocsr() ## delete Vm and Qg columns - -# ## convert single-block piecewise-linear costs into linear polynomial cost - pwl1 = find((ppc['gencost'][:, MODEL] == PW_LINEAR) & (ppc['gencost'][:, NCOST] == 2)) - # p1 = array([]) - if len(pwl1) > 0: - x0 = ppc['gencost'][pwl1, COST] - y0 = ppc['gencost'][pwl1, COST + 1] - x1 = ppc['gencost'][pwl1, COST + 2] - y1 = ppc['gencost'][pwl1, COST + 3] - m = (y1 - y0) / (x1 - x0) - b = y0 - m * x0 - ppc['gencost'][pwl1, MODEL] = POLYNOMIAL - ppc['gencost'][pwl1, NCOST] = 2 - ppc['gencost'][pwl1, COST:COST + 2] = r_['1',m.reshape(len(m),1), b.reshape(len(b),1)] # changed from ppc['gencost'][pwl1, COST:COST + 2] = r_[m, b] because we need to make sure, that m and b have the same shape, resulted in a value error due to shape mismatch before - - ## create (read-only) copies of individual fields for convenience - baseMVA, bus, gen, branch, gencost, _, lbu, ubu, ppopt, \ - _, fparm, H, Cw, z0, zl, zu, userfcn, _ = opf_args(ppc, ppopt) - - ## warn if there is more than one reference bus - refs = find(bus[:, BUS_TYPE] == REF) - if len(refs) > 1 and verbose > 0: - errstr = '\nopf_setup: Warning: Multiple reference buses.\n' + \ - ' For a system with islands, a reference bus in each island\n' + \ - ' may help convergence, but in a fully connected system such\n' + \ - ' a situation is probably not reasonable.\n\n' - stdout.write(errstr) - - ## set up initial variables and bounds - gbus = gen[:, GEN_BUS].astype(int) - Va = bus[:, VA] * (pi / 180.0) - Vm = bus[:, VM].copy() - Vm[gbus] = gen[:, VG] ## buses with gens, init Vm from gen data - Pg = gen[:, PG] / baseMVA - Qg = gen[:, QG] / baseMVA - Pmin = gen[:, PMIN] / baseMVA - Pmax = gen[:, PMAX] / baseMVA - Qmin = gen[:, QMIN] / baseMVA - Qmax = gen[:, QMAX] / baseMVA - - if dc: ## DC model - ## more problem dimensions - nv = 0 ## number of voltage magnitude vars - nq = 0 ## number of Qg vars - q1 = array([]) ## index of 1st Qg column in Ay - - ## power mismatch constraints - B, Bf, Pbusinj, Pfinj = makeBdc(bus, branch) - neg_Cg = sparse((-ones(ng), (gen[:, GEN_BUS], arange(ng))), (nb, ng)) ## Pbus w.r.t. Pg - Amis = hstack([B, neg_Cg], 'csr') - bmis = -(bus[:, PD] + bus[:, GS]) / baseMVA - Pbusinj - - ## branch flow constraints - il = find((branch[:, RATE_A] != 0) & (branch[:, RATE_A] < 1e10)) - nl2 = len(il) ## number of constrained lines - lpf = -Inf * ones(nl2) - upf = branch[il, RATE_A] / baseMVA - Pfinj[il] - upt = branch[il, RATE_A] / baseMVA + Pfinj[il] - - user_vars = ['Va', 'Pg'] - ycon_vars = ['Pg', 'y'] - else: ## AC model - ## more problem dimensions - nv = nb ## number of voltage magnitude vars - nq = ng ## number of Qg vars - q1 = ng ## index of 1st Qg column in Ay - - ## dispatchable load, constant power factor constraints - Avl, lvl, uvl, _ = makeAvl(baseMVA, gen) - - ## generator PQ capability curve constraints - Apqh, ubpqh, Apql, ubpql, Apqdata = makeApq(baseMVA, gen) - - user_vars = ['Va', 'Vm', 'Pg', 'Qg'] - ycon_vars = ['Pg', 'Qg', 'y'] - - ## voltage angle reference constraints - Vau = Inf * ones(nb) - Val = -Vau - Vau[refs] = Va[refs] - Val[refs] = Va[refs] - - ## branch voltage angle difference limits - Aang, lang, uang, iang = makeAang(baseMVA, branch, nb, ppopt) - - ## basin constraints for piece-wise linear gen cost variables - if alg == 545 or alg == 550: ## SC-PDIPM or TRALM, no CCV cost vars # pragma: no cover - ny = 0 - Ay = None - by = array([]) - else: - ipwl = find(gencost[:, MODEL] == PW_LINEAR) ## piece-wise linear costs - ny = ipwl.shape[0] ## number of piece-wise linear cost vars - Ay, by = makeAy(baseMVA, ng, gencost, 1, q1, 1+ng+nq) - - if any((gencost[:, MODEL] != POLYNOMIAL) & (gencost[:, MODEL] != PW_LINEAR)): - stderr.write('opf_setup: some generator cost rows have invalid MODEL value\n') - - ## more problem dimensions - nx = nb+nv + ng+nq ## number of standard OPF control variables - if nusr: # pragma: no cover - nz = ppc['A'].shape[1] - nx ## number of user z variables - if nz < 0: - stderr.write('opf_setup: user supplied A matrix must have at least %d columns.\n' % nx) - else: - nz = 0 ## number of user z variables - if nw: ## still need to check number of columns of N - if ppc['N'].shape[1] != nx: - stderr.write('opf_setup: user supplied N matrix must have %d columns.\n' % nx) - - ## construct OPF model object - om = opf_model(ppc) - if len(pwl1) > 0: - om.userdata('pwl1', pwl1) - - if dc: - om.userdata('Bf', Bf) - om.userdata('Pfinj', Pfinj) - om.userdata('iang', iang) - om.add_vars('Va', nb, Va, Val, Vau) - om.add_vars('Pg', ng, Pg, Pmin, Pmax) - om.add_constraints('Pmis', Amis, bmis, bmis, ['Va', 'Pg']) ## nb - om.add_constraints('Pf', Bf[il, :], lpf, upf, ['Va']) ## nl - om.add_constraints('Pt', -Bf[il, :], lpf, upt, ['Va']) ## nl - om.add_constraints('ang', Aang, lang, uang, ['Va']) ## nang - else: - om.userdata('Apqdata', Apqdata) - om.userdata('iang', iang) - om.add_vars('Va', nb, Va, Val, Vau) - om.add_vars('Vm', nb, Vm, bus[:, VMIN], bus[:, VMAX]) - om.add_vars('Pg', ng, Pg, Pmin, Pmax) - om.add_vars('Qg', ng, Qg, Qmin, Qmax) - om.add_constraints('Pmis', nb, 'nonlinear') - om.add_constraints('Qmis', nb, 'nonlinear') - om.add_constraints('Sf', nl, 'nonlinear') - om.add_constraints('St', nl, 'nonlinear') - om.add_constraints('PQh', Apqh, array([]), ubpqh, ['Pg', 'Qg']) ## npqh - om.add_constraints('PQl', Apql, array([]), ubpql, ['Pg', 'Qg']) ## npql - om.add_constraints('vl', Avl, lvl, uvl, ['Pg', 'Qg']) ## nvl - om.add_constraints('ang', Aang, lang, uang, ['Va']) ## nang - - ## y vars, constraints for piece-wise linear gen costs - if ny > 0: - om.add_vars('y', ny) - om.add_constraints('ycon', Ay, array([]), by, ycon_vars) ## ncony - - ## execute userfcn callbacks for 'formulation' stage - run_userfcn(userfcn, 'formulation', om) - - return om +# -*- coding: utf-8 -*- + +# Copyright 1996-2015 PSERC. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +"""Constructs an OPF model object from a PYPOWER case dict. +""" + +from sys import stdout, stderr + +from numpy import array, any, delete, unique, arange, nonzero, pi, r_, ones, Inf, flatnonzero as find +from scipy.sparse import hstack, csr_matrix as sparse +from pandapower.pypower.idx_brch import RATE_A +from pandapower.pypower.idx_bus import BUS_TYPE, REF, VA, VM, PD, GS, VMAX, VMIN +from pandapower.pypower.idx_cost import MODEL, NCOST, PW_LINEAR, COST, POLYNOMIAL +from pandapower.pypower.idx_gen import GEN_BUS, VG, PG, QG, PMAX, PMIN, QMAX, QMIN +from pandapower.pypower.makeAang import makeAang +from pandapower.pypower.makeApq import makeApq +from pandapower.pypower.makeAvl import makeAvl +from pandapower.pypower.makeAy import makeAy +from pandapower.pypower.makeBdc import makeBdc +from pandapower.pypower.opf_args import opf_args +from pandapower.pypower.pqcost import pqcost +from pandapower.pypower.run_userfcn import run_userfcn +from pandapower.pypower.opf_model import opf_model + + +def opf_setup(ppc, ppopt): + """Constructs an OPF model object from a PYPOWER case dict. + + Assumes that ppc is a PYPOWER case dict with internal indexing, + all equipment in-service, etc. + + @see: L{opf}, L{ext2int}, L{opf_execute} + + @author: Ray Zimmerman (PSERC Cornell) + @author: Carlos E. Murillo-Sanchez (PSERC Cornell & Universidad + Autonoma de Manizales) + @author: Richard Lincoln + + Modified by University of Kassel (Friederike Meier): Bugfix in line 110 + """ + ## options + dc = ppopt['PF_DC'] ## 1 = DC OPF, 0 = AC OPF + alg = ppopt['OPF_ALG'] + verbose = ppopt['VERBOSE'] + + ## data dimensions + nb = ppc['bus'].shape[0] ## number of buses + nl = ppc['branch'].shape[0] ## number of branches + ng = ppc['gen'].shape[0] ## number of dispatchable injections + if 'A' in ppc: + nusr = ppc['A'].shape[0] ## number of linear user constraints + else: + nusr = 0 + + if 'N' in ppc: + nw = ppc['N'].shape[0] ## number of general cost vars, w + else: + nw = 0 + + if dc: + ## ignore reactive costs for DC + ppc['gencost'], _ = pqcost(ppc['gencost'], ng) + + ## reduce A and/or N from AC dimensions to DC dimensions, if needed + if nusr or nw: # pragma: no cover + acc = r_[nb + arange(nb), 2 * nb + ng + arange(ng)] ## Vm and Qg columns + + if nusr and (ppc['A'].shape[1] >= 2*nb + 2*ng): + ## make sure there aren't any constraints on Vm or Qg + if ppc['A'][:, acc].nnz > 0: + stderr.write('opf_setup: attempting to solve DC OPF with user constraints on Vm or Qg\n') + + # FIXME: delete sparse matrix columns + bcc = delete(arange(ppc['A'].shape[1]), acc) + ppc['A'] = ppc['A'].tolil()[:, bcc].tocsr() ## delete Vm and Qg columns + + if nw and (ppc['N'].shape[1] >= 2*nb + 2*ng): + ## make sure there aren't any costs on Vm or Qg + if ppc['N'][:, acc].nnz > 0: + ii, _ = nonzero(ppc['N'][:, acc]) + _, ii = unique(ii, return_index=True) ## indices of w with potential non-zero cost terms from Vm or Qg + if any(ppc['Cw'][ii]) | ( ('H' in ppc) & (len(ppc['H']) > 0) & + any(any(ppc['H'][:, ii])) ): + stderr.write('opf_setup: attempting to solve DC OPF with user costs on Vm or Qg\n') + + # FIXME: delete sparse matrix columns + bcc = delete(arange(ppc['N'].shape[1]), acc) + ppc['N'] = ppc['N'].tolil()[:, bcc].tocsr() ## delete Vm and Qg columns + +# ## convert single-block piecewise-linear costs into linear polynomial cost + pwl1 = find((ppc['gencost'][:, MODEL] == PW_LINEAR) & (ppc['gencost'][:, NCOST] == 2)) + # p1 = array([]) + if len(pwl1) > 0: + x0 = ppc['gencost'][pwl1, COST] + y0 = ppc['gencost'][pwl1, COST + 1] + x1 = ppc['gencost'][pwl1, COST + 2] + y1 = ppc['gencost'][pwl1, COST + 3] + m = (y1 - y0) / (x1 - x0) + b = y0 - m * x0 + ppc['gencost'][pwl1, MODEL] = POLYNOMIAL + ppc['gencost'][pwl1, NCOST] = 2 + ppc['gencost'][pwl1, COST:COST + 2] = r_['1',m.reshape(len(m),1), b.reshape(len(b),1)] # changed from ppc['gencost'][pwl1, COST:COST + 2] = r_[m, b] because we need to make sure, that m and b have the same shape, resulted in a value error due to shape mismatch before + + ## create (read-only) copies of individual fields for convenience + baseMVA, bus, gen, branch, gencost, _, lbu, ubu, ppopt, \ + _, fparm, H, Cw, z0, zl, zu, userfcn, _ = opf_args(ppc, ppopt) + + ## warn if there is more than one reference bus + refs = find(bus[:, BUS_TYPE] == REF) + if len(refs) > 1 and verbose > 0: + errstr = '\nopf_setup: Warning: Multiple reference buses.\n' + \ + ' For a system with islands, a reference bus in each island\n' + \ + ' may help convergence, but in a fully connected system such\n' + \ + ' a situation is probably not reasonable.\n\n' + stdout.write(errstr) + + ## set up initial variables and bounds + gbus = gen[:, GEN_BUS].astype(int) + Va = bus[:, VA] * (pi / 180.0) + Vm = bus[:, VM].copy() + Vm[gbus] = gen[:, VG] ## buses with gens, init Vm from gen data + Pg = gen[:, PG] / baseMVA + Qg = gen[:, QG] / baseMVA + Pmin = gen[:, PMIN] / baseMVA + Pmax = gen[:, PMAX] / baseMVA + Qmin = gen[:, QMIN] / baseMVA + Qmax = gen[:, QMAX] / baseMVA + + if dc: ## DC model + ## more problem dimensions + nv = 0 ## number of voltage magnitude vars + nq = 0 ## number of Qg vars + q1 = array([]) ## index of 1st Qg column in Ay + + ## power mismatch constraints + B, Bf, Pbusinj, Pfinj = makeBdc(bus, branch) + neg_Cg = sparse((-ones(ng), (gen[:, GEN_BUS], arange(ng))), (nb, ng)) ## Pbus w.r.t. Pg + Amis = hstack([B, neg_Cg], 'csr') + bmis = -(bus[:, PD] + bus[:, GS]) / baseMVA - Pbusinj + + ## branch flow constraints + il = find((branch[:, RATE_A] != 0) & (branch[:, RATE_A] < 1e10)) + nl2 = len(il) ## number of constrained lines + lpf = -Inf * ones(nl2) + upf = branch[il, RATE_A] / baseMVA - Pfinj[il] + upt = branch[il, RATE_A] / baseMVA + Pfinj[il] + + user_vars = ['Va', 'Pg'] + ycon_vars = ['Pg', 'y'] + else: ## AC model + ## more problem dimensions + nv = nb ## number of voltage magnitude vars + nq = ng ## number of Qg vars + q1 = ng ## index of 1st Qg column in Ay + + ## dispatchable load, constant power factor constraints + Avl, lvl, uvl, _ = makeAvl(baseMVA, gen) + + ## generator PQ capability curve constraints + Apqh, ubpqh, Apql, ubpql, Apqdata = makeApq(baseMVA, gen) + + user_vars = ['Va', 'Vm', 'Pg', 'Qg'] + ycon_vars = ['Pg', 'Qg', 'y'] + + ## voltage angle reference constraints + Vau = Inf * ones(nb) + Val = -Vau + Vau[refs] = Va[refs] + Val[refs] = Va[refs] + + ## branch voltage angle difference limits + Aang, lang, uang, iang = makeAang(baseMVA, branch, nb, ppopt) + + ## basin constraints for piece-wise linear gen cost variables + if alg == 545 or alg == 550: ## SC-PDIPM or TRALM, no CCV cost vars # pragma: no cover + ny = 0 + Ay = None + by = array([]) + else: + ipwl = find(gencost[:, MODEL] == PW_LINEAR) ## piece-wise linear costs + ny = ipwl.shape[0] ## number of piece-wise linear cost vars + Ay, by = makeAy(baseMVA, ng, gencost, 1, q1, 1+ng+nq) + + if any((gencost[:, MODEL] != POLYNOMIAL) & (gencost[:, MODEL] != PW_LINEAR)): + stderr.write('opf_setup: some generator cost rows have invalid MODEL value\n') + + ## more problem dimensions + nx = nb+nv + ng+nq ## number of standard OPF control variables + if nusr: # pragma: no cover + nz = ppc['A'].shape[1] - nx ## number of user z variables + if nz < 0: + stderr.write('opf_setup: user supplied A matrix must have at least %d columns.\n' % nx) + else: + nz = 0 ## number of user z variables + if nw: ## still need to check number of columns of N + if ppc['N'].shape[1] != nx: + stderr.write('opf_setup: user supplied N matrix must have %d columns.\n' % nx) + + ## construct OPF model object + om = opf_model(ppc) + if len(pwl1) > 0: + om.userdata('pwl1', pwl1) + + if dc: + om.userdata('Bf', Bf) + om.userdata('Pfinj', Pfinj) + om.userdata('iang', iang) + om.add_vars('Va', nb, Va, Val, Vau) + om.add_vars('Pg', ng, Pg, Pmin, Pmax) + om.add_constraints('Pmis', Amis, bmis, bmis, ['Va', 'Pg']) ## nb + om.add_constraints('Pf', Bf[il, :], lpf, upf, ['Va']) ## nl + om.add_constraints('Pt', -Bf[il, :], lpf, upt, ['Va']) ## nl + om.add_constraints('ang', Aang, lang, uang, ['Va']) ## nang + else: + om.userdata('Apqdata', Apqdata) + om.userdata('iang', iang) + om.add_vars('Va', nb, Va, Val, Vau) + om.add_vars('Vm', nb, Vm, bus[:, VMIN], bus[:, VMAX]) + om.add_vars('Pg', ng, Pg, Pmin, Pmax) + om.add_vars('Qg', ng, Qg, Qmin, Qmax) + om.add_constraints('Pmis', nb, 'nonlinear') + om.add_constraints('Qmis', nb, 'nonlinear') + om.add_constraints('Sf', nl, 'nonlinear') + om.add_constraints('St', nl, 'nonlinear') + om.add_constraints('PQh', Apqh, array([]), ubpqh, ['Pg', 'Qg']) ## npqh + om.add_constraints('PQl', Apql, array([]), ubpql, ['Pg', 'Qg']) ## npql + om.add_constraints('vl', Avl, lvl, uvl, ['Pg', 'Qg']) ## nvl + om.add_constraints('ang', Aang, lang, uang, ['Va']) ## nang + + ## y vars, constraints for piece-wise linear gen costs + if ny > 0: + om.add_vars('y', ny) + om.add_constraints('ycon', Ay, array([]), by, ycon_vars) ## ncony + + ## execute userfcn callbacks for 'formulation' stage + run_userfcn(userfcn, 'formulation', om) + + return om diff --git a/pandapower/pypower/pfsoln.py b/pandapower/pypower/pfsoln.py index f11a12e1e..04496cf72 100644 --- a/pandapower/pypower/pfsoln.py +++ b/pandapower/pypower/pfsoln.py @@ -4,7 +4,7 @@ # Use of this source code is governed by a BSD-style # license that can be found in the LICENSE file. -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/pypower/pips.py b/pandapower/pypower/pips.py index a41ae7ebe..4e91fcf12 100644 --- a/pandapower/pypower/pips.py +++ b/pandapower/pypower/pips.py @@ -1,557 +1,557 @@ -# -*- coding: utf-8 -*- - -# Copyright 1996-2015 PSERC. All rights reserved. -# Use of this source code is governed by a BSD-style -# license that can be found in the LICENSE file. - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -"""Python Interior Point Solver (PIPS). -""" - -from numpy import array, Inf, any, isnan, ones, r_, finfo, \ - zeros, dot, absolute, log, flatnonzero as find -from numpy.linalg import norm -from pandapower.pypower.pipsver import pipsver -from scipy.sparse import vstack, hstack, eye, csr_matrix as sparse -from scipy.sparse.linalg import spsolve - - -EPS = finfo(float).eps - - -def pips(f_fcn, x0=None, A=None, l=None, u=None, xmin=None, xmax=None, - gh_fcn=None, hess_fcn=None, opt=None): - """Primal-dual interior point method for NLP (nonlinear programming). - Minimize a function F(X) beginning from a starting point M{x0}, subject to - optional linear and nonlinear constraints and variable bounds:: - - min f(x) - x - - subject to:: - - g(x) = 0 (nonlinear equalities) - h(x) <= 0 (nonlinear inequalities) - l <= A*x <= u (linear constraints) - xmin <= x <= xmax (variable bounds) - - Note: The calling syntax is almost identical to that of FMINCON from - MathWorks' Optimization Toolbox. The main difference is that the linear - constraints are specified with C{A}, C{L}, C{U} instead of C{A}, C{B}, - C{Aeq}, C{Beq}. The functions for evaluating the objective function, - constraints and Hessian are identical. - - Example from U{http://en.wikipedia.org/wiki/Nonlinear_programming}: - >>> from numpy import array, r_, float64, dot - >>> from scipy.sparse import csr_matrix - >>> def f2(x): - ... f = -x[0] * x[1] - x[1] * x[2] - ... df = -r_[x[1], x[0] + x[2], x[1]] - ... # actually not used since 'hess_fcn' is provided - ... d2f = -array([[0, 1, 0], [1, 0, 1], [0, 1, 0]], float64) - ... return f, df, d2f - >>> def gh2(x): - ... h = dot(array([[1, -1, 1], - ... [1, 1, 1]]), x**2) + array([-2.0, -10.0]) - ... dh = 2 * csr_matrix(array([[ x[0], x[0]], - ... [-x[1], x[1]], - ... [ x[2], x[2]]])) - ... g = array([]) - ... dg = None - ... return h, g, dh, dg - >>> def hess2(x, lam, cost_mult=1): - ... mu = lam["ineqnonlin"] - ... a = r_[dot(2 * array([1, 1]), mu), -1, 0] - ... b = r_[-1, dot(2 * array([-1, 1]), mu),-1] - ... c = r_[0, -1, dot(2 * array([1, 1]), mu)] - ... Lxx = csr_matrix(array([a, b, c])) - ... return Lxx - >>> x0 = array([1, 1, 0], float64) - >>> solution = pips(f2, x0, gh_fcn=gh2, hess_fcn=hess2) - >>> round(solution["f"], 11) == -7.07106725919 - True - >>> solution["output"]["iterations"] - 8 - - Ported by Richard Lincoln from the MATLAB Interior Point Solver (MIPS) - (v1.9) by Ray Zimmerman. MIPS is distributed as part of the MATPOWER - project, developed at the Power System Engineering Research Center (PSERC) (PSERC), - Cornell. See U{http://www.pserc.cornell.edu/matpower/} for more info. - MIPS was ported by Ray Zimmerman from C code written by H. Wang for his - PhD dissertation: - - "On the Computation and Application of Multi-period - Security-Constrained Optimal Power Flow for Real-time - Electricity Market Operations", Cornell University, May 2007. - - See also: - - H. Wang, C. E. Murillo-Sanchez, R. D. Zimmerman, R. J. Thomas, - "On Computational Issues of Market-Based Optimal Power Flow", - IEEE Transactions on Power Systems, Vol. 22, No. 3, Aug. 2007, - pp. 1185-1193. - - All parameters are optional except C{f_fcn} and C{x0}. - @param f_fcn: Function that evaluates the objective function, its gradients - and Hessian for a given value of M{x}. If there are - nonlinear constraints, the Hessian information is provided - by the 'hess_fcn' argument and is not required here. - @type f_fcn: callable - @param x0: Starting value of optimization vector M{x}. - @type x0: array - @param A: Optional linear constraints. - @type A: csr_matrix - @param l: Optional linear constraints. Default values are M{-Inf}. - @type l: array - @param u: Optional linear constraints. Default values are M{Inf}. - @type u: array - @param xmin: Optional lower bounds on the M{x} variables, defaults are - M{-Inf}. - @type xmin: array - @param xmax: Optional upper bounds on the M{x} variables, defaults are - M{Inf}. - @type xmax: array - @param gh_fcn: Function that evaluates the optional nonlinear constraints - and their gradients for a given value of M{x}. - @type gh_fcn: callable - @param hess_fcn: Handle to function that computes the Hessian of the - Lagrangian for given values of M{x}, M{lambda} and M{mu}, - where M{lambda} and M{mu} are the multipliers on the - equality and inequality constraints, M{g} and M{h}, - respectively. - @type hess_fcn: callable - @param opt: optional options dictionary with the following keys, all of - which are also optional (default values shown in parentheses) - - C{verbose} (False) - Controls level of progress output - displayed - - C{feastol} (1e-6) - termination tolerance for feasibility - condition - - C{gradtol} (1e-6) - termination tolerance for gradient - condition - - C{comptol} (1e-6) - termination tolerance for - complementarity condition - - C{costtol} (1e-6) - termination tolerance for cost - condition - - C{max_it} (150) - maximum number of iterations - - C{step_control} (False) - set to True to enable step-size - control - - C{max_red} (20) - maximum number of step-size reductions if - step-control is on - - C{cost_mult} (1.0) - cost multiplier used to scale the - objective function for improved conditioning. Note: This - value is also passed as the 3rd argument to the Hessian - evaluation function so that it can appropriately scale the - objective function term in the Hessian of the Lagrangian. - @type opt: dict - - @rtype: dict - @return: The solution dictionary has the following keys: - - C{x} - solution vector - - C{f} - final objective function value - - C{converged} - exit status - - True = first order optimality conditions satisfied - - False = maximum number of iterations reached - - None = numerically failed - - C{output} - output dictionary with keys: - - C{iterations} - number of iterations performed - - C{hist} - list of arrays with trajectories of the - following: feascond, gradcond, compcond, costcond, gamma, - stepsize, obj, alphap, alphad - - C{message} - exit message - - C{lmbda} - dictionary containing the Langrange and Kuhn-Tucker - multipliers on the constraints, with keys: - - C{eqnonlin} - nonlinear equality constraints - - C{ineqnonlin} - nonlinear inequality constraints - - C{mu_l} - lower (left-hand) limit on linear constraints - - C{mu_u} - upper (right-hand) limit on linear constraints - - C{lower} - lower bound on optimization variables - - C{upper} - upper bound on optimization variables - - @see: U{http://www.pserc.cornell.edu/matpower/} - - @author: Ray Zimmerman (PSERC Cornell) - @author: Richard Lincoln - """ - if isinstance(f_fcn, dict): ## problem dict - p = f_fcn - f_fcn = p['f_fcn'] - x0 = p['x0'] - if 'opt' in p: opt = p['opt'] - if 'hess_fcn' in p: hess_fcn = p['hess_fcn'] - if 'gh_fcn' in p: gh_fcn = p['gh_fcn'] - if 'xmax' in p: xmax = p['xmax'] - if 'xmin' in p: xmin = p['xmin'] - if 'u' in p: u = p['u'] - if 'l' in p: l = p['l'] - if 'A' in p: A = p['A'] - - nx = x0.shape[0] # number of variables - nA = A.shape[0] if A is not None else 0 # number of original linear constr - - # default argument values - if l is None or len(l) == 0: l = -Inf * ones(nA) - if u is None or len(u) == 0: u = Inf * ones(nA) - if xmin is None or len(xmin) == 0: xmin = -Inf * ones(x0.shape[0]) - if xmax is None or len(xmax) == 0: xmax = Inf * ones(x0.shape[0]) - if gh_fcn is None: - nonlinear = False - gn = array([]) - hn = array([]) - else: - nonlinear = True - - if opt is None: opt = {} - # options - if "feastol" not in opt: - opt["feastol"] = 1e-06 - if "gradtol" not in opt: - opt["gradtol"] = 1e-06 - if "comptol" not in opt: - opt["comptol"] = 1e-06 - if "costtol" not in opt: - opt["costtol"] = 1e-06 - if "max_it" not in opt: - opt["max_it"] = 150 - if "max_red" not in opt: - opt["max_red"] = 20 - if "step_control" not in opt: - opt["step_control"] = False - if "cost_mult" not in opt: - opt["cost_mult"] = 1 - if "verbose" not in opt: - opt["verbose"] = 0 - - # initialize history - hist = [] - - # constants - xi = 0.99995 - sigma = 0.1 - z0 = 1 - alpha_min = 1e-8 - rho_min = 0.95 - rho_max = 1.05 - mu_threshold = 1e-5 - - # initialize - i = 0 # iteration counter - converged = False # flag - eflag = False # exit flag - - # add var limits to linear constraints - eyex = eye(nx, nx, format="csr") - AA = eyex if A is None else vstack([eyex, A], "csr") - ll = r_[xmin, l] - uu = r_[xmax, u] - - # split up linear constraints - ieq = find( absolute(uu - ll) <= EPS ) - igt = find( (uu >= 1e10) & (ll > -1e10) ) - ilt = find( (ll <= -1e10) & (uu < 1e10) ) - ibx = find( (absolute(uu - ll) > EPS) & (uu < 1e10) & (ll > -1e10) ) - # zero-sized sparse matrices unsupported - Ae = AA[ieq, :] if len(ieq) else None - if len(ilt) or len(igt) or len(ibx): - idxs = [(1, ilt), (-1, igt), (1, ibx), (-1, ibx)] - Ai = vstack([sig * AA[idx, :] for sig, idx in idxs if len(idx)], 'csr') - else: - Ai = None - be = uu[ieq] - bi = r_[uu[ilt], -ll[igt], uu[ibx], -ll[ibx]] - - # evaluate cost f(x0) and constraints g(x0), h(x0) - x = x0 - f, df = f_fcn(x) # cost - f = f * opt["cost_mult"] - df = df * opt["cost_mult"] - if nonlinear: - hn, gn, dhn, dgn = gh_fcn(x) # nonlinear constraints - h = hn if Ai is None else r_[hn.reshape(len(hn),), Ai * x - bi] # inequality constraints - g = gn if Ae is None else r_[gn, Ae * x - be] # equality constraints - - if (dhn is None) and (Ai is None): - dh = None - elif dhn is None: - dh = Ai.T - elif Ai is None: - dh = dhn - else: - dh = hstack([dhn, Ai.T]) - - if (dgn is None) and (Ae is None): - dg = None - elif dgn is None: - dg = Ae.T - elif Ae is None: - dg = dgn - else: - dg = hstack([dgn, Ae.T]) - else: - h = -bi if Ai is None else Ai * x - bi # inequality constraints - g = -be if Ae is None else Ae * x - be # equality constraints - dh = None if Ai is None else Ai.T # 1st derivative of inequalities - dg = None if Ae is None else Ae.T # 1st derivative of equalities - - # some dimensions - neq = g.shape[0] # number of equality constraints - niq = h.shape[0] # number of inequality constraints - neqnln = gn.shape[0] # number of nonlinear equality constraints - niqnln = hn.shape[0] # number of nonlinear inequality constraints - nlt = len(ilt) # number of upper bounded linear inequalities - ngt = len(igt) # number of lower bounded linear inequalities - nbx = len(ibx) # number of doubly bounded linear inequalities - - # initialize gamma, lam, mu, z, e - gamma = 1 # barrier coefficient - lam = zeros(neq) - z = z0 * ones(niq) - mu = z0 * ones(niq) - k = find(h < -z0) - z[k] = -h[k] - k = find((gamma / z) > z0) - mu[k] = gamma / z[k] - e = ones(niq) - - # check tolerance - f0 = f - if opt["step_control"]: - L = f + dot(lam, g) + dot(mu, h + z) - gamma * sum(log(z)) - - Lx = df.copy() - Lx = Lx + dg * lam if dg is not None else Lx - Lx = Lx + dh * mu if dh is not None else Lx - - maxh = zeros(1) if len(h) == 0 else max(h) - - gnorm = norm(g, Inf) if len(g) else 0.0 - lam_norm = norm(lam, Inf) if len(lam) else 0.0 - mu_norm = norm(mu, Inf) if len(mu) else 0.0 - znorm = norm(z, Inf) if len(z) else 0.0 - feascond = \ - max([gnorm, maxh]) / (1 + max([norm(x, Inf), znorm])) - gradcond = \ - norm(Lx, Inf) / (1 + max([lam_norm, mu_norm])) - compcond = dot(z, mu) / (1 + norm(x, Inf)) - costcond = absolute(f - f0) / (1 + absolute(f0)) - - # save history - hist.append({'feascond': feascond, 'gradcond': gradcond, - 'compcond': compcond, 'costcond': costcond, 'gamma': gamma, - 'stepsize': 0, 'obj': f / opt["cost_mult"], 'alphap': 0, 'alphad': 0}) - - if opt["verbose"]: # pragma: no cover - s = '-sc' if opt["step_control"] else '' - v = pipsver('all') - print('Python Interior Point Solver - PIPS%s, Version %s, %s' % - (s, v['Version'], v['Date'])) - if opt['verbose'] > 1: - print(" it objective step size feascond gradcond " - "compcond costcond ") - print("---- ------------ --------- ------------ ------------ " - "------------ ------------") - print("%3d %12.8g %10s %12g %12g %12g %12g" % - (i, (f / opt["cost_mult"]), "", - feascond, gradcond, compcond, costcond)) - - if feascond < opt["feastol"] and gradcond < opt["gradtol"] and \ - compcond < opt["comptol"] and costcond < opt["costtol"]: - converged = True - if opt["verbose"]: - print("Converged!") - - # do Newton iterations - while (not converged) and (i < opt["max_it"]): - # update iteration counter - i += 1 - - # compute update step - lmbda = {"eqnonlin": lam[range(neqnln)], - "ineqnonlin": mu[range(niqnln)]} - if nonlinear: - if hess_fcn is None: - print("pips: Hessian evaluation via finite differences " - "not yet implemented.\nPlease provide " - "your own hessian evaluation function.") - Lxx = hess_fcn(x, lmbda, opt["cost_mult"]) - else: - _, _, d2f = f_fcn(x, True) # cost - Lxx = d2f * opt["cost_mult"] - rz = range(len(z)) - zinvdiag = sparse((1.0 / z, (rz, rz))) if len(z) else None - rmu = range(len(mu)) - mudiag = sparse((mu, (rmu, rmu))) if len(mu) else None - dh_zinv = None if dh is None else dh * zinvdiag - M = Lxx if dh is None else Lxx + dh_zinv * mudiag * dh.T - N = Lx if dh is None else Lx + dh_zinv * (mudiag * h + gamma * e) - - Ab = sparse(M) if dg is None else vstack([ - hstack([M, dg]), - hstack([dg.T, sparse((neq, neq))]) - ]) - bb = r_[-N, -g] - - dxdlam = spsolve(Ab.tocsr(), bb) - - if any(isnan(dxdlam)): - if opt["verbose"]: - print('\nNumerically Failed\n') - eflag = -1 - break - - dx = dxdlam[:nx] - dlam = dxdlam[nx:nx + neq] - dz = -h - z if dh is None else -h - z - dh.T * dx - dmu = -mu if dh is None else -mu + zinvdiag * (gamma * e - mudiag * dz) - - # do the update - k = find(dz < 0.0) - alphap = min([xi * min(z[k] / -dz[k]), 1]) if len(k) else 1.0 - k = find(dmu < 0.0) - alphad = min([xi * min(mu[k] / -dmu[k]), 1]) if len(k) else 1.0 - x = x + alphap * dx - z = z + alphap * dz - lam = lam + alphad * dlam - mu = mu + alphad * dmu - if niq > 0: - gamma = sigma * dot(z, mu) / niq - - # evaluate cost, constraints, derivatives - f, df = f_fcn(x) # cost - f = f * opt["cost_mult"] - df = df * opt["cost_mult"] - if nonlinear: - hn, gn, dhn, dgn = gh_fcn(x) # nln constraints -# g = gn if Ai is None else r_[gn, Ai * x - bi] # ieq constraints -# h = hn if Ae is None else r_[hn, Ae * x - be] # eq constraints - h = hn if Ai is None else r_[hn.reshape(len(hn),), Ai * x - bi] # ieq constr - g = gn if Ae is None else r_[gn, Ae * x - be] # eq constr - - if (dhn is None) and (Ai is None): - dh = None - elif dhn is None: - dh = Ai.T - elif Ai is None: - dh = dhn - else: - dh = hstack([dhn, Ai.T]) - - if (dgn is None) and (Ae is None): - dg = None - elif dgn is None: - dg = Ae.T - elif Ae is None: - dg = dgn - else: - dg = hstack([dgn, Ae.T]) - else: - h = -bi if Ai is None else Ai * x - bi # inequality constraints - g = -be if Ae is None else Ae * x - be # equality constraints - # 1st derivatives are constant, still dh = Ai.T, dg = Ae.T - - Lx = df - Lx = Lx + dg * lam if dg is not None else Lx - Lx = Lx + dh * mu if dh is not None else Lx - - if len(h) == 0: - maxh = zeros(1) - else: - maxh = max(h) - - gnorm = norm(g, Inf) if len(g) else 0.0 - lam_norm = norm(lam, Inf) if len(lam) else 0.0 - mu_norm = norm(mu, Inf) if len(mu) else 0.0 - znorm = norm(z, Inf) if len(z) else 0.0 - feascond = \ - max([gnorm, maxh]) / (1 + max([norm(x, Inf), znorm])) - gradcond = \ - norm(Lx, Inf) / (1 + max([lam_norm, mu_norm])) - compcond = dot(z, mu) / (1 + norm(x, Inf)) - costcond = float(absolute(f - f0) / (1 + absolute(f0))) - - hist.append({'feascond': feascond, 'gradcond': gradcond, - 'compcond': compcond, 'costcond': costcond, 'gamma': gamma, - 'stepsize': norm(dx), 'obj': f / opt["cost_mult"], - 'alphap': alphap, 'alphad': alphad}) - - if opt["verbose"] > 1: - print("%3d %12.8g %10.5g %12g %12g %12g %12g" % - (i, (f / opt["cost_mult"]), norm(dx), feascond, gradcond, - compcond, costcond)) - - if feascond < opt["feastol"] and gradcond < opt["gradtol"] and \ - compcond < opt["comptol"] and costcond < opt["costtol"]: - converged = True - if opt["verbose"]: - print("Converged!") - else: - if any(isnan(x)) or (alphap < alpha_min) or \ - (alphad < alpha_min) or (gamma < EPS) or (gamma > 1.0 / EPS): - if opt["verbose"]: - print("Numerically failed.") - eflag = -1 - break - f0 = f - - if opt["step_control"]: - L = f + dot(lam, g) + dot(mu, (h + z)) - gamma * sum(log(z)) - - if opt["verbose"]: - if not converged: - print("Did not converge in %d iterations." % i) - - # package results - if eflag != -1: - eflag = converged - - if eflag == 0: - message = 'Did not converge' - elif eflag == 1: - message = 'Converged' - elif eflag == -1: - message = 'Numerically failed' - else: - raise - - output = {"iterations": i, "hist": hist, "message": message} - - # zero out multipliers on non-binding constraints - mu[find( (h < -opt["feastol"]) & (mu < mu_threshold) )] = 0.0 - - # un-scale cost and prices - f = f / opt["cost_mult"] - lam = lam / opt["cost_mult"] - mu = mu / opt["cost_mult"] - - # re-package multipliers into struct - lam_lin = lam[neqnln:neq] # lambda for linear constraints - mu_lin = mu[niqnln:niq] # mu for linear constraints - kl = find(lam_lin < 0.0) # lower bound binding - ku = find(lam_lin > 0.0) # upper bound binding - - mu_l = zeros(nx + nA) - mu_l[ieq[kl]] = -lam_lin[kl] - mu_l[igt] = mu_lin[nlt:nlt + ngt] - mu_l[ibx] = mu_lin[nlt + ngt + nbx:nlt + ngt + nbx + nbx] - - mu_u = zeros(nx + nA) - mu_u[ieq[ku]] = lam_lin[ku] - mu_u[ilt] = mu_lin[:nlt] - mu_u[ibx] = mu_lin[nlt + ngt:nlt + ngt + nbx] - - lmbda = {'mu_l': mu_l[nx:], 'mu_u': mu_u[nx:], - 'lower': mu_l[:nx], 'upper': mu_u[:nx]} - - if niqnln > 0: - lmbda['ineqnonlin'] = mu[:niqnln] - if neqnln > 0: - lmbda['eqnonlin'] = lam[:neqnln] - -# lmbda = {"eqnonlin": lam[:neqnln], 'ineqnonlin': mu[:niqnln], -# "mu_l": mu_l[nx:], "mu_u": mu_u[nx:], -# "lower": mu_l[:nx], "upper": mu_u[:nx]} - - solution = {"x": x, "f": f, "eflag": converged, - "output": output, "lmbda": lmbda} - - return solution +# -*- coding: utf-8 -*- + +# Copyright 1996-2015 PSERC. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +"""Python Interior Point Solver (PIPS). +""" + +from numpy import array, Inf, any, isnan, ones, r_, finfo, \ + zeros, dot, absolute, log, flatnonzero as find +from numpy.linalg import norm +from pandapower.pypower.pipsver import pipsver +from scipy.sparse import vstack, hstack, eye, csr_matrix as sparse +from scipy.sparse.linalg import spsolve + + +EPS = finfo(float).eps + + +def pips(f_fcn, x0=None, A=None, l=None, u=None, xmin=None, xmax=None, + gh_fcn=None, hess_fcn=None, opt=None): + """Primal-dual interior point method for NLP (nonlinear programming). + Minimize a function F(X) beginning from a starting point M{x0}, subject to + optional linear and nonlinear constraints and variable bounds:: + + min f(x) + x + + subject to:: + + g(x) = 0 (nonlinear equalities) + h(x) <= 0 (nonlinear inequalities) + l <= A*x <= u (linear constraints) + xmin <= x <= xmax (variable bounds) + + Note: The calling syntax is almost identical to that of FMINCON from + MathWorks' Optimization Toolbox. The main difference is that the linear + constraints are specified with C{A}, C{L}, C{U} instead of C{A}, C{B}, + C{Aeq}, C{Beq}. The functions for evaluating the objective function, + constraints and Hessian are identical. + + Example from U{http://en.wikipedia.org/wiki/Nonlinear_programming}: + >>> from numpy import array, r_, float64, dot + >>> from scipy.sparse import csr_matrix + >>> def f2(x): + ... f = -x[0] * x[1] - x[1] * x[2] + ... df = -r_[x[1], x[0] + x[2], x[1]] + ... # actually not used since 'hess_fcn' is provided + ... d2f = -array([[0, 1, 0], [1, 0, 1], [0, 1, 0]], float64) + ... return f, df, d2f + >>> def gh2(x): + ... h = dot(array([[1, -1, 1], + ... [1, 1, 1]]), x**2) + array([-2.0, -10.0]) + ... dh = 2 * csr_matrix(array([[ x[0], x[0]], + ... [-x[1], x[1]], + ... [ x[2], x[2]]])) + ... g = array([]) + ... dg = None + ... return h, g, dh, dg + >>> def hess2(x, lam, cost_mult=1): + ... mu = lam["ineqnonlin"] + ... a = r_[dot(2 * array([1, 1]), mu), -1, 0] + ... b = r_[-1, dot(2 * array([-1, 1]), mu),-1] + ... c = r_[0, -1, dot(2 * array([1, 1]), mu)] + ... Lxx = csr_matrix(array([a, b, c])) + ... return Lxx + >>> x0 = array([1, 1, 0], float64) + >>> solution = pips(f2, x0, gh_fcn=gh2, hess_fcn=hess2) + >>> round(solution["f"], 11) == -7.07106725919 + True + >>> solution["output"]["iterations"] + 8 + + Ported by Richard Lincoln from the MATLAB Interior Point Solver (MIPS) + (v1.9) by Ray Zimmerman. MIPS is distributed as part of the MATPOWER + project, developed at the Power System Engineering Research Center (PSERC) (PSERC), + Cornell. See U{http://www.pserc.cornell.edu/matpower/} for more info. + MIPS was ported by Ray Zimmerman from C code written by H. Wang for his + PhD dissertation: + - "On the Computation and Application of Multi-period + Security-Constrained Optimal Power Flow for Real-time + Electricity Market Operations", Cornell University, May 2007. + + See also: + - H. Wang, C. E. Murillo-Sanchez, R. D. Zimmerman, R. J. Thomas, + "On Computational Issues of Market-Based Optimal Power Flow", + IEEE Transactions on Power Systems, Vol. 22, No. 3, Aug. 2007, + pp. 1185-1193. + + All parameters are optional except C{f_fcn} and C{x0}. + @param f_fcn: Function that evaluates the objective function, its gradients + and Hessian for a given value of M{x}. If there are + nonlinear constraints, the Hessian information is provided + by the 'hess_fcn' argument and is not required here. + @type f_fcn: callable + @param x0: Starting value of optimization vector M{x}. + @type x0: array + @param A: Optional linear constraints. + @type A: csr_matrix + @param l: Optional linear constraints. Default values are M{-Inf}. + @type l: array + @param u: Optional linear constraints. Default values are M{Inf}. + @type u: array + @param xmin: Optional lower bounds on the M{x} variables, defaults are + M{-Inf}. + @type xmin: array + @param xmax: Optional upper bounds on the M{x} variables, defaults are + M{Inf}. + @type xmax: array + @param gh_fcn: Function that evaluates the optional nonlinear constraints + and their gradients for a given value of M{x}. + @type gh_fcn: callable + @param hess_fcn: Handle to function that computes the Hessian of the + Lagrangian for given values of M{x}, M{lambda} and M{mu}, + where M{lambda} and M{mu} are the multipliers on the + equality and inequality constraints, M{g} and M{h}, + respectively. + @type hess_fcn: callable + @param opt: optional options dictionary with the following keys, all of + which are also optional (default values shown in parentheses) + - C{verbose} (False) - Controls level of progress output + displayed + - C{feastol} (1e-6) - termination tolerance for feasibility + condition + - C{gradtol} (1e-6) - termination tolerance for gradient + condition + - C{comptol} (1e-6) - termination tolerance for + complementarity condition + - C{costtol} (1e-6) - termination tolerance for cost + condition + - C{max_it} (150) - maximum number of iterations + - C{step_control} (False) - set to True to enable step-size + control + - C{max_red} (20) - maximum number of step-size reductions if + step-control is on + - C{cost_mult} (1.0) - cost multiplier used to scale the + objective function for improved conditioning. Note: This + value is also passed as the 3rd argument to the Hessian + evaluation function so that it can appropriately scale the + objective function term in the Hessian of the Lagrangian. + @type opt: dict + + @rtype: dict + @return: The solution dictionary has the following keys: + - C{x} - solution vector + - C{f} - final objective function value + - C{converged} - exit status + - True = first order optimality conditions satisfied + - False = maximum number of iterations reached + - None = numerically failed + - C{output} - output dictionary with keys: + - C{iterations} - number of iterations performed + - C{hist} - list of arrays with trajectories of the + following: feascond, gradcond, compcond, costcond, gamma, + stepsize, obj, alphap, alphad + - C{message} - exit message + - C{lmbda} - dictionary containing the Langrange and Kuhn-Tucker + multipliers on the constraints, with keys: + - C{eqnonlin} - nonlinear equality constraints + - C{ineqnonlin} - nonlinear inequality constraints + - C{mu_l} - lower (left-hand) limit on linear constraints + - C{mu_u} - upper (right-hand) limit on linear constraints + - C{lower} - lower bound on optimization variables + - C{upper} - upper bound on optimization variables + + @see: U{http://www.pserc.cornell.edu/matpower/} + + @author: Ray Zimmerman (PSERC Cornell) + @author: Richard Lincoln + """ + if isinstance(f_fcn, dict): ## problem dict + p = f_fcn + f_fcn = p['f_fcn'] + x0 = p['x0'] + if 'opt' in p: opt = p['opt'] + if 'hess_fcn' in p: hess_fcn = p['hess_fcn'] + if 'gh_fcn' in p: gh_fcn = p['gh_fcn'] + if 'xmax' in p: xmax = p['xmax'] + if 'xmin' in p: xmin = p['xmin'] + if 'u' in p: u = p['u'] + if 'l' in p: l = p['l'] + if 'A' in p: A = p['A'] + + nx = x0.shape[0] # number of variables + nA = A.shape[0] if A is not None else 0 # number of original linear constr + + # default argument values + if l is None or len(l) == 0: l = -Inf * ones(nA) + if u is None or len(u) == 0: u = Inf * ones(nA) + if xmin is None or len(xmin) == 0: xmin = -Inf * ones(x0.shape[0]) + if xmax is None or len(xmax) == 0: xmax = Inf * ones(x0.shape[0]) + if gh_fcn is None: + nonlinear = False + gn = array([]) + hn = array([]) + else: + nonlinear = True + + if opt is None: opt = {} + # options + if "feastol" not in opt: + opt["feastol"] = 1e-06 + if "gradtol" not in opt: + opt["gradtol"] = 1e-06 + if "comptol" not in opt: + opt["comptol"] = 1e-06 + if "costtol" not in opt: + opt["costtol"] = 1e-06 + if "max_it" not in opt: + opt["max_it"] = 150 + if "max_red" not in opt: + opt["max_red"] = 20 + if "step_control" not in opt: + opt["step_control"] = False + if "cost_mult" not in opt: + opt["cost_mult"] = 1 + if "verbose" not in opt: + opt["verbose"] = 0 + + # initialize history + hist = [] + + # constants + xi = 0.99995 + sigma = 0.1 + z0 = 1 + alpha_min = 1e-8 + rho_min = 0.95 + rho_max = 1.05 + mu_threshold = 1e-5 + + # initialize + i = 0 # iteration counter + converged = False # flag + eflag = False # exit flag + + # add var limits to linear constraints + eyex = eye(nx, nx, format="csr") + AA = eyex if A is None else vstack([eyex, A], "csr") + ll = r_[xmin, l] + uu = r_[xmax, u] + + # split up linear constraints + ieq = find( absolute(uu - ll) <= EPS ) + igt = find( (uu >= 1e10) & (ll > -1e10) ) + ilt = find( (ll <= -1e10) & (uu < 1e10) ) + ibx = find( (absolute(uu - ll) > EPS) & (uu < 1e10) & (ll > -1e10) ) + # zero-sized sparse matrices unsupported + Ae = AA[ieq, :] if len(ieq) else None + if len(ilt) or len(igt) or len(ibx): + idxs = [(1, ilt), (-1, igt), (1, ibx), (-1, ibx)] + Ai = vstack([sig * AA[idx, :] for sig, idx in idxs if len(idx)], 'csr') + else: + Ai = None + be = uu[ieq] + bi = r_[uu[ilt], -ll[igt], uu[ibx], -ll[ibx]] + + # evaluate cost f(x0) and constraints g(x0), h(x0) + x = x0 + f, df = f_fcn(x) # cost + f = f * opt["cost_mult"] + df = df * opt["cost_mult"] + if nonlinear: + hn, gn, dhn, dgn = gh_fcn(x) # nonlinear constraints + h = hn if Ai is None else r_[hn.reshape(len(hn),), Ai * x - bi] # inequality constraints + g = gn if Ae is None else r_[gn, Ae * x - be] # equality constraints + + if (dhn is None) and (Ai is None): + dh = None + elif dhn is None: + dh = Ai.T + elif Ai is None: + dh = dhn + else: + dh = hstack([dhn, Ai.T]) + + if (dgn is None) and (Ae is None): + dg = None + elif dgn is None: + dg = Ae.T + elif Ae is None: + dg = dgn + else: + dg = hstack([dgn, Ae.T]) + else: + h = -bi if Ai is None else Ai * x - bi # inequality constraints + g = -be if Ae is None else Ae * x - be # equality constraints + dh = None if Ai is None else Ai.T # 1st derivative of inequalities + dg = None if Ae is None else Ae.T # 1st derivative of equalities + + # some dimensions + neq = g.shape[0] # number of equality constraints + niq = h.shape[0] # number of inequality constraints + neqnln = gn.shape[0] # number of nonlinear equality constraints + niqnln = hn.shape[0] # number of nonlinear inequality constraints + nlt = len(ilt) # number of upper bounded linear inequalities + ngt = len(igt) # number of lower bounded linear inequalities + nbx = len(ibx) # number of doubly bounded linear inequalities + + # initialize gamma, lam, mu, z, e + gamma = 1 # barrier coefficient + lam = zeros(neq) + z = z0 * ones(niq) + mu = z0 * ones(niq) + k = find(h < -z0) + z[k] = -h[k] + k = find((gamma / z) > z0) + mu[k] = gamma / z[k] + e = ones(niq) + + # check tolerance + f0 = f + if opt["step_control"]: + L = f + dot(lam, g) + dot(mu, h + z) - gamma * sum(log(z)) + + Lx = df.copy() + Lx = Lx + dg * lam if dg is not None else Lx + Lx = Lx + dh * mu if dh is not None else Lx + + maxh = zeros(1) if len(h) == 0 else max(h) + + gnorm = norm(g, Inf) if len(g) else 0.0 + lam_norm = norm(lam, Inf) if len(lam) else 0.0 + mu_norm = norm(mu, Inf) if len(mu) else 0.0 + znorm = norm(z, Inf) if len(z) else 0.0 + feascond = \ + max([gnorm, maxh]) / (1 + max([norm(x, Inf), znorm])) + gradcond = \ + norm(Lx, Inf) / (1 + max([lam_norm, mu_norm])) + compcond = dot(z, mu) / (1 + norm(x, Inf)) + costcond = absolute(f - f0) / (1 + absolute(f0)) + + # save history + hist.append({'feascond': feascond, 'gradcond': gradcond, + 'compcond': compcond, 'costcond': costcond, 'gamma': gamma, + 'stepsize': 0, 'obj': f / opt["cost_mult"], 'alphap': 0, 'alphad': 0}) + + if opt["verbose"]: # pragma: no cover + s = '-sc' if opt["step_control"] else '' + v = pipsver('all') + print('Python Interior Point Solver - PIPS%s, Version %s, %s' % + (s, v['Version'], v['Date'])) + if opt['verbose'] > 1: + print(" it objective step size feascond gradcond " + "compcond costcond ") + print("---- ------------ --------- ------------ ------------ " + "------------ ------------") + print("%3d %12.8g %10s %12g %12g %12g %12g" % + (i, (f / opt["cost_mult"]), "", + feascond, gradcond, compcond, costcond)) + + if feascond < opt["feastol"] and gradcond < opt["gradtol"] and \ + compcond < opt["comptol"] and costcond < opt["costtol"]: + converged = True + if opt["verbose"]: + print("Converged!") + + # do Newton iterations + while (not converged) and (i < opt["max_it"]): + # update iteration counter + i += 1 + + # compute update step + lmbda = {"eqnonlin": lam[range(neqnln)], + "ineqnonlin": mu[range(niqnln)]} + if nonlinear: + if hess_fcn is None: + print("pips: Hessian evaluation via finite differences " + "not yet implemented.\nPlease provide " + "your own hessian evaluation function.") + Lxx = hess_fcn(x, lmbda, opt["cost_mult"]) + else: + _, _, d2f = f_fcn(x, True) # cost + Lxx = d2f * opt["cost_mult"] + rz = range(len(z)) + zinvdiag = sparse((1.0 / z, (rz, rz))) if len(z) else None + rmu = range(len(mu)) + mudiag = sparse((mu, (rmu, rmu))) if len(mu) else None + dh_zinv = None if dh is None else dh * zinvdiag + M = Lxx if dh is None else Lxx + dh_zinv * mudiag * dh.T + N = Lx if dh is None else Lx + dh_zinv * (mudiag * h + gamma * e) + + Ab = sparse(M) if dg is None else vstack([ + hstack([M, dg]), + hstack([dg.T, sparse((neq, neq))]) + ]) + bb = r_[-N, -g] + + dxdlam = spsolve(Ab.tocsr(), bb) + + if any(isnan(dxdlam)): + if opt["verbose"]: + print('\nNumerically Failed\n') + eflag = -1 + break + + dx = dxdlam[:nx] + dlam = dxdlam[nx:nx + neq] + dz = -h - z if dh is None else -h - z - dh.T * dx + dmu = -mu if dh is None else -mu + zinvdiag * (gamma * e - mudiag * dz) + + # do the update + k = find(dz < 0.0) + alphap = min([xi * min(z[k] / -dz[k]), 1]) if len(k) else 1.0 + k = find(dmu < 0.0) + alphad = min([xi * min(mu[k] / -dmu[k]), 1]) if len(k) else 1.0 + x = x + alphap * dx + z = z + alphap * dz + lam = lam + alphad * dlam + mu = mu + alphad * dmu + if niq > 0: + gamma = sigma * dot(z, mu) / niq + + # evaluate cost, constraints, derivatives + f, df = f_fcn(x) # cost + f = f * opt["cost_mult"] + df = df * opt["cost_mult"] + if nonlinear: + hn, gn, dhn, dgn = gh_fcn(x) # nln constraints +# g = gn if Ai is None else r_[gn, Ai * x - bi] # ieq constraints +# h = hn if Ae is None else r_[hn, Ae * x - be] # eq constraints + h = hn if Ai is None else r_[hn.reshape(len(hn),), Ai * x - bi] # ieq constr + g = gn if Ae is None else r_[gn, Ae * x - be] # eq constr + + if (dhn is None) and (Ai is None): + dh = None + elif dhn is None: + dh = Ai.T + elif Ai is None: + dh = dhn + else: + dh = hstack([dhn, Ai.T]) + + if (dgn is None) and (Ae is None): + dg = None + elif dgn is None: + dg = Ae.T + elif Ae is None: + dg = dgn + else: + dg = hstack([dgn, Ae.T]) + else: + h = -bi if Ai is None else Ai * x - bi # inequality constraints + g = -be if Ae is None else Ae * x - be # equality constraints + # 1st derivatives are constant, still dh = Ai.T, dg = Ae.T + + Lx = df + Lx = Lx + dg * lam if dg is not None else Lx + Lx = Lx + dh * mu if dh is not None else Lx + + if len(h) == 0: + maxh = zeros(1) + else: + maxh = max(h) + + gnorm = norm(g, Inf) if len(g) else 0.0 + lam_norm = norm(lam, Inf) if len(lam) else 0.0 + mu_norm = norm(mu, Inf) if len(mu) else 0.0 + znorm = norm(z, Inf) if len(z) else 0.0 + feascond = \ + max([gnorm, maxh]) / (1 + max([norm(x, Inf), znorm])) + gradcond = \ + norm(Lx, Inf) / (1 + max([lam_norm, mu_norm])) + compcond = dot(z, mu) / (1 + norm(x, Inf)) + costcond = float(absolute(f - f0) / (1 + absolute(f0))) + + hist.append({'feascond': feascond, 'gradcond': gradcond, + 'compcond': compcond, 'costcond': costcond, 'gamma': gamma, + 'stepsize': norm(dx), 'obj': f / opt["cost_mult"], + 'alphap': alphap, 'alphad': alphad}) + + if opt["verbose"] > 1: + print("%3d %12.8g %10.5g %12g %12g %12g %12g" % + (i, (f / opt["cost_mult"]), norm(dx), feascond, gradcond, + compcond, costcond)) + + if feascond < opt["feastol"] and gradcond < opt["gradtol"] and \ + compcond < opt["comptol"] and costcond < opt["costtol"]: + converged = True + if opt["verbose"]: + print("Converged!") + else: + if any(isnan(x)) or (alphap < alpha_min) or \ + (alphad < alpha_min) or (gamma < EPS) or (gamma > 1.0 / EPS): + if opt["verbose"]: + print("Numerically failed.") + eflag = -1 + break + f0 = f + + if opt["step_control"]: + L = f + dot(lam, g) + dot(mu, (h + z)) - gamma * sum(log(z)) + + if opt["verbose"]: + if not converged: + print("Did not converge in %d iterations." % i) + + # package results + if eflag != -1: + eflag = converged + + if eflag == 0: + message = 'Did not converge' + elif eflag == 1: + message = 'Converged' + elif eflag == -1: + message = 'Numerically failed' + else: + raise + + output = {"iterations": i, "hist": hist, "message": message} + + # zero out multipliers on non-binding constraints + mu[find( (h < -opt["feastol"]) & (mu < mu_threshold) )] = 0.0 + + # un-scale cost and prices + f = f / opt["cost_mult"] + lam = lam / opt["cost_mult"] + mu = mu / opt["cost_mult"] + + # re-package multipliers into struct + lam_lin = lam[neqnln:neq] # lambda for linear constraints + mu_lin = mu[niqnln:niq] # mu for linear constraints + kl = find(lam_lin < 0.0) # lower bound binding + ku = find(lam_lin > 0.0) # upper bound binding + + mu_l = zeros(nx + nA) + mu_l[ieq[kl]] = -lam_lin[kl] + mu_l[igt] = mu_lin[nlt:nlt + ngt] + mu_l[ibx] = mu_lin[nlt + ngt + nbx:nlt + ngt + nbx + nbx] + + mu_u = zeros(nx + nA) + mu_u[ieq[ku]] = lam_lin[ku] + mu_u[ilt] = mu_lin[:nlt] + mu_u[ibx] = mu_lin[nlt + ngt:nlt + ngt + nbx] + + lmbda = {'mu_l': mu_l[nx:], 'mu_u': mu_u[nx:], + 'lower': mu_l[:nx], 'upper': mu_u[:nx]} + + if niqnln > 0: + lmbda['ineqnonlin'] = mu[:niqnln] + if neqnln > 0: + lmbda['eqnonlin'] = lam[:neqnln] + +# lmbda = {"eqnonlin": lam[:neqnln], 'ineqnonlin': mu[:niqnln], +# "mu_l": mu_l[nx:], "mu_u": mu_u[nx:], +# "lower": mu_l[:nx], "upper": mu_u[:nx]} + + solution = {"x": x, "f": f, "eflag": converged, + "output": output, "lmbda": lmbda} + + return solution diff --git a/pandapower/pypower/pipsopf_solver.py b/pandapower/pypower/pipsopf_solver.py index 6ed3cbfd4..6c0922a07 100644 --- a/pandapower/pypower/pipsopf_solver.py +++ b/pandapower/pypower/pipsopf_solver.py @@ -1,228 +1,228 @@ -# -*- coding: utf-8 -*- - -# Copyright 1996-2015 PSERC. All rights reserved. -# Use of this source code is governed by a BSD-style -# license that can be found in the LICENSE file. - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -"""Solves AC optimal power flow using PIPS. -""" - -from numpy import flatnonzero as find, ones, zeros, Inf, pi, exp, conj, r_ -from pandapower.pypower.idx_brch import F_BUS, T_BUS, RATE_A, PF, QF, PT, QT, MU_SF, MU_ST -from pandapower.pypower.idx_bus import BUS_TYPE, REF, VM, VA, MU_VMAX, MU_VMIN, LAM_P, LAM_Q -from pandapower.pypower.idx_cost import MODEL, PW_LINEAR, NCOST -from pandapower.pypower.idx_gen import GEN_BUS, PG, QG, VG, MU_PMAX, MU_PMIN, MU_QMAX, MU_QMIN -from pandapower.pypower.makeYbus import makeYbus -from pandapower.pypower.opf_consfcn import opf_consfcn -from pandapower.pypower.opf_costfcn import opf_costfcn - -from pandapower.pypower.util import sub2ind - -from pandapower.pypower.opf_hessfcn import opf_hessfcn -from pandapower.pypower.pips import pips - - -def pipsopf_solver(om, ppopt, out_opt=None): - """Solves AC optimal power flow using PIPS. - - Inputs are an OPF model object, a PYPOWER options vector and - a dict containing keys (can be empty) for each of the desired - optional output fields. - - outputs are a C{results} dict, C{success} flag and C{raw} output dict. - - C{results} is a PYPOWER case dict (ppc) with the usual baseMVA, bus - branch, gen, gencost fields, along with the following additional - fields: - - C{order} see 'help ext2int' for details of this field - - C{x} final value of optimization variables (internal order) - - C{f} final objective function value - - C{mu} shadow prices on ... - - C{var} - - C{l} lower bounds on variables - - C{u} upper bounds on variables - - C{nln} - - C{l} lower bounds on nonlinear constraints - - C{u} upper bounds on nonlinear constraints - - C{lin} - - C{l} lower bounds on linear constraints - - C{u} upper bounds on linear constraints - - C{success} is C{True} if solver converged successfully, C{False} otherwise - - C{raw} is a raw output dict in form returned by MINOS - - xr final value of optimization variables - - pimul constraint multipliers - - info solver specific termination code - - output solver specific output information - - @see: L{opf}, L{pips} - - @author: Ray Zimmerman (PSERC Cornell) - @author: Carlos E. Murillo-Sanchez (PSERC Cornell & Universidad - Autonoma de Manizales) - @author: Richard Lincoln - """ - ##----- initialization ----- - ## optional output - if out_opt is None: - out_opt = {} - - ## options - verbose = ppopt['VERBOSE'] - feastol = ppopt['PDIPM_FEASTOL'] - gradtol = ppopt['PDIPM_GRADTOL'] - comptol = ppopt['PDIPM_COMPTOL'] - costtol = ppopt['PDIPM_COSTTOL'] - max_it = ppopt['PDIPM_MAX_IT'] - max_red = ppopt['SCPDIPM_RED_IT'] - init = ppopt['INIT'] - step_control = (ppopt['OPF_ALG'] == 565) ## OPF_ALG == 565, PIPS-sc - if feastol == 0: - feastol = ppopt['OPF_VIOLATION'] - opt = { 'feastol': feastol, - 'gradtol': gradtol, - 'comptol': comptol, - 'costtol': costtol, - 'max_it': max_it, - 'max_red': max_red, - 'step_control': step_control, - 'cost_mult': 1e-4, - 'verbose': verbose } - - ## unpack data - ppc = om.get_ppc() - baseMVA, bus, gen, branch, gencost = \ - ppc["baseMVA"], ppc["bus"], ppc["gen"], ppc["branch"], ppc["gencost"] - vv, _, nn, _ = om.get_idx() - - ## problem dimensions - nb = bus.shape[0] ## number of buses - nl = branch.shape[0] ## number of branches - ny = om.getN('var', 'y') ## number of piece-wise linear costs - - ## linear constraints - A, l, u = om.linear_constraints() - - ## bounds on optimization vars - x0, xmin, xmax = om.getv() - - ## build admittance matrices - Ybus, Yf, Yt = makeYbus(baseMVA, bus, branch) - - ## try to select an interior initial point if init is not available from a previous powerflow - if init != "pf": - ll, uu = xmin.copy(), xmax.copy() - ll[xmin == -Inf] = -1e10 ## replace Inf with numerical proxies - uu[xmax == Inf] = 1e10 - x0 = (ll + uu) / 2 - Varefs = bus[bus[:, BUS_TYPE] == REF, VA] * (pi / 180) - ## angles set to first reference angle - x0[vv["i1"]["Va"]:vv["iN"]["Va"]] = Varefs[0] - if ny > 0: - ipwl = find(gencost[:, MODEL] == PW_LINEAR) - # PQ = r_[gen[:, PMAX], gen[:, QMAX]] - # c = totcost(gencost[ipwl, :], PQ[ipwl]) - c = gencost.flatten('F')[sub2ind(gencost.shape, ipwl, NCOST+2*gencost[ipwl, NCOST])] ## largest y-value in CCV data - x0[vv["i1"]["y"]:vv["iN"]["y"]] = max(c) + 0.1 * abs(max(c)) - # x0[vv["i1"]["y"]:vv["iN"]["y"]] = c + 0.1 * abs(c) - - - ## find branches with flow limits - il = find((branch[:, RATE_A] != 0) & (branch[:, RATE_A] < 1e10)) - nl2 = len(il) ## number of constrained lines - - ##----- run opf ----- - f_fcn = lambda x, return_hessian=False: opf_costfcn(x, om, return_hessian) - gh_fcn = lambda x: opf_consfcn(x, om, Ybus, Yf[il, :], Yt[il,:], ppopt, il) - hess_fcn = lambda x, lmbda, cost_mult: opf_hessfcn(x, lmbda, om, Ybus, Yf[il, :], Yt[il, :], ppopt, il, cost_mult) - - solution = pips(f_fcn, x0, A, l, u, xmin, xmax, gh_fcn, hess_fcn, opt) - x, f, info, lmbda, output = solution["x"], solution["f"], \ - solution["eflag"], solution["lmbda"], solution["output"] - - success = (info > 0) - - ## update solution data - Va = x[vv["i1"]["Va"]:vv["iN"]["Va"]] - Vm = x[vv["i1"]["Vm"]:vv["iN"]["Vm"]] - Pg = x[vv["i1"]["Pg"]:vv["iN"]["Pg"]] - Qg = x[vv["i1"]["Qg"]:vv["iN"]["Qg"]] - - V = Vm * exp(1j * Va) - - ##----- calculate return values ----- - ## update voltages & generator outputs - bus[:, VA] = Va * 180 / pi - bus[:, VM] = Vm - gen[:, PG] = Pg * baseMVA - gen[:, QG] = Qg * baseMVA - gen[:, VG] = Vm[ gen[:, GEN_BUS].astype(int) ] - - ## compute branch flows - Sf = V[ branch[:, F_BUS].astype(int) ] * conj(Yf * V) ## cplx pwr at "from" bus, p["u"]. - St = V[ branch[:, T_BUS].astype(int) ] * conj(Yt * V) ## cplx pwr at "to" bus, p["u"]. - branch[:, PF] = Sf.real * baseMVA - branch[:, QF] = Sf.imag * baseMVA - branch[:, PT] = St.real * baseMVA - branch[:, QT] = St.imag * baseMVA - - ## line constraint is actually on square of limit - ## so we must fix multipliers - muSf = zeros(nl) - muSt = zeros(nl) - if len(il) > 0: - muSf[il] = \ - 2 * lmbda["ineqnonlin"][:nl2] * branch[il, RATE_A] / baseMVA - muSt[il] = \ - 2 * lmbda["ineqnonlin"][nl2:nl2+nl2] * branch[il, RATE_A] / baseMVA - - ## update Lagrange multipliers - bus[:, MU_VMAX] = lmbda["upper"][vv["i1"]["Vm"]:vv["iN"]["Vm"]] - bus[:, MU_VMIN] = lmbda["lower"][vv["i1"]["Vm"]:vv["iN"]["Vm"]] - gen[:, MU_PMAX] = lmbda["upper"][vv["i1"]["Pg"]:vv["iN"]["Pg"]] / baseMVA - gen[:, MU_PMIN] = lmbda["lower"][vv["i1"]["Pg"]:vv["iN"]["Pg"]] / baseMVA - gen[:, MU_QMAX] = lmbda["upper"][vv["i1"]["Qg"]:vv["iN"]["Qg"]] / baseMVA - gen[:, MU_QMIN] = lmbda["lower"][vv["i1"]["Qg"]:vv["iN"]["Qg"]] / baseMVA - - bus[:, LAM_P] = \ - lmbda["eqnonlin"][nn["i1"]["Pmis"]:nn["iN"]["Pmis"]] / baseMVA - bus[:, LAM_Q] = \ - lmbda["eqnonlin"][nn["i1"]["Qmis"]:nn["iN"]["Qmis"]] / baseMVA - branch[:, MU_SF] = muSf / baseMVA - branch[:, MU_ST] = muSt / baseMVA - - ## package up results - nlnN = om.getN('nln') - - ## extract multipliers for nonlinear constraints - kl = find(lmbda["eqnonlin"] < 0) - ku = find(lmbda["eqnonlin"] > 0) - nl_mu_l = zeros(nlnN) - nl_mu_u = r_[zeros(2*nb), muSf, muSt] - nl_mu_l[kl] = -lmbda["eqnonlin"][kl] - nl_mu_u[ku] = lmbda["eqnonlin"][ku] - - mu = { - 'var': {'l': lmbda["lower"], 'u': lmbda["upper"]}, - 'nln': {'l': nl_mu_l, 'u': nl_mu_u}, - 'lin': {'l': lmbda["mu_l"], 'u': lmbda["mu_u"]} } - - results = ppc - results["bus"], results["branch"], results["gen"], \ - results["om"], results["x"], results["mu"], results["f"] = \ - bus, branch, gen, om, x, mu, f - - pimul = r_[ - results["mu"]["nln"]["l"] - results["mu"]["nln"]["u"], - results["mu"]["lin"]["l"] - results["mu"]["lin"]["u"], - -ones(int(ny > 0)), - results["mu"]["var"]["l"] - results["mu"]["var"]["u"], - ] - raw = {'xr': x, 'pimul': pimul, 'info': info, 'output': output} - - return results, success, raw +# -*- coding: utf-8 -*- + +# Copyright 1996-2015 PSERC. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +"""Solves AC optimal power flow using PIPS. +""" + +from numpy import flatnonzero as find, ones, zeros, Inf, pi, exp, conj, r_ +from pandapower.pypower.idx_brch import F_BUS, T_BUS, RATE_A, PF, QF, PT, QT, MU_SF, MU_ST +from pandapower.pypower.idx_bus import BUS_TYPE, REF, VM, VA, MU_VMAX, MU_VMIN, LAM_P, LAM_Q +from pandapower.pypower.idx_cost import MODEL, PW_LINEAR, NCOST +from pandapower.pypower.idx_gen import GEN_BUS, PG, QG, VG, MU_PMAX, MU_PMIN, MU_QMAX, MU_QMIN +from pandapower.pypower.makeYbus import makeYbus +from pandapower.pypower.opf_consfcn import opf_consfcn +from pandapower.pypower.opf_costfcn import opf_costfcn + +from pandapower.pypower.util import sub2ind + +from pandapower.pypower.opf_hessfcn import opf_hessfcn +from pandapower.pypower.pips import pips + + +def pipsopf_solver(om, ppopt, out_opt=None): + """Solves AC optimal power flow using PIPS. + + Inputs are an OPF model object, a PYPOWER options vector and + a dict containing keys (can be empty) for each of the desired + optional output fields. + + outputs are a C{results} dict, C{success} flag and C{raw} output dict. + + C{results} is a PYPOWER case dict (ppc) with the usual baseMVA, bus + branch, gen, gencost fields, along with the following additional + fields: + - C{order} see 'help ext2int' for details of this field + - C{x} final value of optimization variables (internal order) + - C{f} final objective function value + - C{mu} shadow prices on ... + - C{var} + - C{l} lower bounds on variables + - C{u} upper bounds on variables + - C{nln} + - C{l} lower bounds on nonlinear constraints + - C{u} upper bounds on nonlinear constraints + - C{lin} + - C{l} lower bounds on linear constraints + - C{u} upper bounds on linear constraints + + C{success} is C{True} if solver converged successfully, C{False} otherwise + + C{raw} is a raw output dict in form returned by MINOS + - xr final value of optimization variables + - pimul constraint multipliers + - info solver specific termination code + - output solver specific output information + + @see: L{opf}, L{pips} + + @author: Ray Zimmerman (PSERC Cornell) + @author: Carlos E. Murillo-Sanchez (PSERC Cornell & Universidad + Autonoma de Manizales) + @author: Richard Lincoln + """ + ##----- initialization ----- + ## optional output + if out_opt is None: + out_opt = {} + + ## options + verbose = ppopt['VERBOSE'] + feastol = ppopt['PDIPM_FEASTOL'] + gradtol = ppopt['PDIPM_GRADTOL'] + comptol = ppopt['PDIPM_COMPTOL'] + costtol = ppopt['PDIPM_COSTTOL'] + max_it = ppopt['PDIPM_MAX_IT'] + max_red = ppopt['SCPDIPM_RED_IT'] + init = ppopt['INIT'] + step_control = (ppopt['OPF_ALG'] == 565) ## OPF_ALG == 565, PIPS-sc + if feastol == 0: + feastol = ppopt['OPF_VIOLATION'] + opt = { 'feastol': feastol, + 'gradtol': gradtol, + 'comptol': comptol, + 'costtol': costtol, + 'max_it': max_it, + 'max_red': max_red, + 'step_control': step_control, + 'cost_mult': 1e-4, + 'verbose': verbose } + + ## unpack data + ppc = om.get_ppc() + baseMVA, bus, gen, branch, gencost = \ + ppc["baseMVA"], ppc["bus"], ppc["gen"], ppc["branch"], ppc["gencost"] + vv, _, nn, _ = om.get_idx() + + ## problem dimensions + nb = bus.shape[0] ## number of buses + nl = branch.shape[0] ## number of branches + ny = om.getN('var', 'y') ## number of piece-wise linear costs + + ## linear constraints + A, l, u = om.linear_constraints() + + ## bounds on optimization vars + x0, xmin, xmax = om.getv() + + ## build admittance matrices + Ybus, Yf, Yt = makeYbus(baseMVA, bus, branch) + + ## try to select an interior initial point if init is not available from a previous powerflow + if init != "pf": + ll, uu = xmin.copy(), xmax.copy() + ll[xmin == -Inf] = -1e10 ## replace Inf with numerical proxies + uu[xmax == Inf] = 1e10 + x0 = (ll + uu) / 2 + Varefs = bus[bus[:, BUS_TYPE] == REF, VA] * (pi / 180) + ## angles set to first reference angle + x0[vv["i1"]["Va"]:vv["iN"]["Va"]] = Varefs[0] + if ny > 0: + ipwl = find(gencost[:, MODEL] == PW_LINEAR) + # PQ = r_[gen[:, PMAX], gen[:, QMAX]] + # c = totcost(gencost[ipwl, :], PQ[ipwl]) + c = gencost.flatten('F')[sub2ind(gencost.shape, ipwl, NCOST+2*gencost[ipwl, NCOST])] ## largest y-value in CCV data + x0[vv["i1"]["y"]:vv["iN"]["y"]] = max(c) + 0.1 * abs(max(c)) + # x0[vv["i1"]["y"]:vv["iN"]["y"]] = c + 0.1 * abs(c) + + + ## find branches with flow limits + il = find((branch[:, RATE_A] != 0) & (branch[:, RATE_A] < 1e10)) + nl2 = len(il) ## number of constrained lines + + ##----- run opf ----- + f_fcn = lambda x, return_hessian=False: opf_costfcn(x, om, return_hessian) + gh_fcn = lambda x: opf_consfcn(x, om, Ybus, Yf[il, :], Yt[il,:], ppopt, il) + hess_fcn = lambda x, lmbda, cost_mult: opf_hessfcn(x, lmbda, om, Ybus, Yf[il, :], Yt[il, :], ppopt, il, cost_mult) + + solution = pips(f_fcn, x0, A, l, u, xmin, xmax, gh_fcn, hess_fcn, opt) + x, f, info, lmbda, output = solution["x"], solution["f"], \ + solution["eflag"], solution["lmbda"], solution["output"] + + success = (info > 0) + + ## update solution data + Va = x[vv["i1"]["Va"]:vv["iN"]["Va"]] + Vm = x[vv["i1"]["Vm"]:vv["iN"]["Vm"]] + Pg = x[vv["i1"]["Pg"]:vv["iN"]["Pg"]] + Qg = x[vv["i1"]["Qg"]:vv["iN"]["Qg"]] + + V = Vm * exp(1j * Va) + + ##----- calculate return values ----- + ## update voltages & generator outputs + bus[:, VA] = Va * 180 / pi + bus[:, VM] = Vm + gen[:, PG] = Pg * baseMVA + gen[:, QG] = Qg * baseMVA + gen[:, VG] = Vm[ gen[:, GEN_BUS].astype(int) ] + + ## compute branch flows + Sf = V[ branch[:, F_BUS].astype(int) ] * conj(Yf * V) ## cplx pwr at "from" bus, p["u"]. + St = V[ branch[:, T_BUS].astype(int) ] * conj(Yt * V) ## cplx pwr at "to" bus, p["u"]. + branch[:, PF] = Sf.real * baseMVA + branch[:, QF] = Sf.imag * baseMVA + branch[:, PT] = St.real * baseMVA + branch[:, QT] = St.imag * baseMVA + + ## line constraint is actually on square of limit + ## so we must fix multipliers + muSf = zeros(nl) + muSt = zeros(nl) + if len(il) > 0: + muSf[il] = \ + 2 * lmbda["ineqnonlin"][:nl2] * branch[il, RATE_A] / baseMVA + muSt[il] = \ + 2 * lmbda["ineqnonlin"][nl2:nl2+nl2] * branch[il, RATE_A] / baseMVA + + ## update Lagrange multipliers + bus[:, MU_VMAX] = lmbda["upper"][vv["i1"]["Vm"]:vv["iN"]["Vm"]] + bus[:, MU_VMIN] = lmbda["lower"][vv["i1"]["Vm"]:vv["iN"]["Vm"]] + gen[:, MU_PMAX] = lmbda["upper"][vv["i1"]["Pg"]:vv["iN"]["Pg"]] / baseMVA + gen[:, MU_PMIN] = lmbda["lower"][vv["i1"]["Pg"]:vv["iN"]["Pg"]] / baseMVA + gen[:, MU_QMAX] = lmbda["upper"][vv["i1"]["Qg"]:vv["iN"]["Qg"]] / baseMVA + gen[:, MU_QMIN] = lmbda["lower"][vv["i1"]["Qg"]:vv["iN"]["Qg"]] / baseMVA + + bus[:, LAM_P] = \ + lmbda["eqnonlin"][nn["i1"]["Pmis"]:nn["iN"]["Pmis"]] / baseMVA + bus[:, LAM_Q] = \ + lmbda["eqnonlin"][nn["i1"]["Qmis"]:nn["iN"]["Qmis"]] / baseMVA + branch[:, MU_SF] = muSf / baseMVA + branch[:, MU_ST] = muSt / baseMVA + + ## package up results + nlnN = om.getN('nln') + + ## extract multipliers for nonlinear constraints + kl = find(lmbda["eqnonlin"] < 0) + ku = find(lmbda["eqnonlin"] > 0) + nl_mu_l = zeros(nlnN) + nl_mu_u = r_[zeros(2*nb), muSf, muSt] + nl_mu_l[kl] = -lmbda["eqnonlin"][kl] + nl_mu_u[ku] = lmbda["eqnonlin"][ku] + + mu = { + 'var': {'l': lmbda["lower"], 'u': lmbda["upper"]}, + 'nln': {'l': nl_mu_l, 'u': nl_mu_u}, + 'lin': {'l': lmbda["mu_l"], 'u': lmbda["mu_u"]} } + + results = ppc + results["bus"], results["branch"], results["gen"], \ + results["om"], results["x"], results["mu"], results["f"] = \ + bus, branch, gen, om, x, mu, f + + pimul = r_[ + results["mu"]["nln"]["l"] - results["mu"]["nln"]["u"], + results["mu"]["lin"]["l"] - results["mu"]["lin"]["u"], + -ones(int(ny > 0)), + results["mu"]["var"]["l"] - results["mu"]["var"]["u"], + ] + raw = {'xr': x, 'pimul': pimul, 'info': info, 'output': output} + + return results, success, raw diff --git a/pandapower/results.py b/pandapower/results.py index 065cdadaa..b63d17fc6 100644 --- a/pandapower/results.py +++ b/pandapower/results.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/results_branch.py b/pandapower/results_branch.py index c0bb28c11..ed7c96b64 100644 --- a/pandapower/results_branch.py +++ b/pandapower/results_branch.py @@ -1,563 +1,563 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import numpy as np -import pandas as pd -from pandapower.auxiliary import _sum_by_group, I_from_SV_elementwise, sequence_to_phase, S_from_VI_elementwise -from pandapower.auxiliary import _sum_by_group -from pandapower.pypower.idx_brch import F_BUS, T_BUS, PF, QF, PT, QT, BR_R -from pandapower.pypower.idx_bus import BASE_KV, VM, VA - - - -def _get_branch_results(net, ppc, bus_lookup_aranged, pq_buses, suffix=None): - """ - Extract the branch results and writes it in the Dataframe net.res_line, net.res_trafo, net.res_trafo3w... - - INPUT: - - **net** - pandapower net - - **ppc** (np.array) - ppc structure - - **bus_lookup_aranged** - consecutive aranged bus lookup - - **pq_buses** - the PQ type buses in ppc - - OPTIONAL: - - **suffix** (str, None) - a suffix like "_sc" to write to res_line_sc for example (short circuit) - - """ - - i_ft, s_ft = _get_branch_flows(ppc) - - _get_line_results(net, ppc, i_ft, suffix=suffix) - _get_trafo_results(net, ppc, s_ft, i_ft, suffix=suffix) - _get_trafo3w_results(net, ppc, s_ft, i_ft, suffix=suffix) - _get_impedance_results(net, ppc, i_ft, suffix=suffix) - _get_xward_branch_results(net, ppc, bus_lookup_aranged, pq_buses, suffix=suffix) - _get_switch_results(net, i_ft, suffix=suffix) - - -def _get_branch_results_3ph(net, ppc0, ppc1, ppc2, bus_lookup_aranged, pq_buses): - """ - Extract the bus results and writes it in the Dataframe net.res_line and net.res_trafo. - - INPUT: - - **results** - the result of runpf loadflow calculation - - **p** - the dict to dump the "res_line" and "res_trafo" Dataframe - - """ - I012_f, S012_f, V012_f, I012_t, S012_t, V012_t = _get_branch_flows_3ph(ppc0, ppc1, ppc2) - _get_line_results_3ph(net, ppc0, ppc1, ppc2, I012_f, V012_f, I012_t, V012_t) - _get_trafo_results_3ph(net, ppc0, ppc1, ppc2, I012_f, V012_f, I012_t, V012_t) - # _get_trafo3w_results(net, ppc, s_ft, i_ft) - # _get_impedance_results(net, ppc, i_ft) - # _get_xward_branch_results(net, ppc, bus_lookup_aranged, pq_buses) - # _get_switch_results(net, i_ft) - - -def _get_branch_flows(ppc): - br_idx = ppc["branch"][:, (F_BUS, T_BUS)].real.astype(int) - vm_ft = ppc["bus"][br_idx, VM] * ppc["bus"][br_idx, BASE_KV] - s_ft = np.sqrt(ppc["branch"][:, (PF, PT)].real ** 2 + - ppc["branch"][:, (QF, QT)].real ** 2) - i_ft = s_ft / vm_ft / np.sqrt(3) - return i_ft, s_ft - - -def _get_branch_flows_3ph(ppc0, ppc1, ppc2): - br_from_idx = ppc1["branch"][:, F_BUS].real.astype(int) - br_to_idx = ppc1["branch"][:, T_BUS].real.astype(int) - V012_f = np.array([(ppc["bus"][br_from_idx, VM] * ppc["bus"][br_from_idx, BASE_KV] * - np.exp(1j * np.deg2rad(ppc["bus"][br_from_idx, VA]))).flatten() for ppc in [ppc0, ppc1, ppc2]]) - V012_t = np.array([(ppc["bus"][br_to_idx, VM] * ppc["bus"][br_to_idx, BASE_KV] * - np.exp(1j * np.deg2rad(ppc["bus"][br_to_idx, VA]))).flatten() for ppc in [ppc0, ppc1, ppc2]]) - S012_f = np.array([((ppc["branch"][:, PF].real + - 1j * ppc["branch"][:, QF].real) ) - for ppc in [ppc0, ppc1, ppc2]]) - S012_t = np.array([((ppc["branch"][:, PT].real + - 1j * ppc["branch"][:, QT].real) ) - for ppc in [ppc0, ppc1, ppc2]]) - I012_f = I_from_SV_elementwise(S012_f , V012_f / np.sqrt(3)) - I012_t = I_from_SV_elementwise(S012_t , V012_t / np.sqrt(3)) - - return I012_f, S012_f, V012_f, I012_t, S012_t, V012_t - - -def _get_line_results(net, ppc, i_ft, suffix=None): - # create res_line_vals which are written to the pandas dataframe - if "line" not in net._pd2ppc_lookups["branch"]: - return - ac = net["_options"]["ac"] - - f, t = net._pd2ppc_lookups["branch"]["line"] - pf_mw = ppc["branch"][f:t, PF].real - q_from_mvar = ppc["branch"][f:t, QF].real - p_from_mw = pf_mw - - pt_mw = ppc["branch"][f:t, PT].real - q_to_mvar = ppc["branch"][f:t, QT].real - p_to_mw = pt_mw - - if ac: - pl_mw = pf_mw + pt_mw - ql_mvar = q_from_mvar + q_to_mvar - else: - pl_mw = np.zeros_like(pf_mw) - ql_mvar = np.zeros_like(q_from_mvar) - - with np.errstate(invalid='ignore'): - i_ka = np.max(i_ft[f:t], axis=1) - i_from_ka = i_ft[f:t][:, 0] - i_to_ka = i_ft[f:t][:, 1] - line_df = net["line"] - i_max = line_df["max_i_ka"].values * line_df["df"].values * line_df["parallel"].values - from_bus = ppc["branch"][f:t, F_BUS].real.astype(int) - to_bus = ppc["branch"][f:t, T_BUS].real.astype(int) - - # write to line - res_line_df = net["res_line"] if suffix is None else net["res_line%s"%suffix] - - res_line_df["p_from_mw"].values[:] = p_from_mw - res_line_df["q_from_mvar"].values[:] = q_from_mvar - res_line_df["p_to_mw"].values[:] = p_to_mw - res_line_df["q_to_mvar"].values[:] = q_to_mvar - res_line_df["pl_mw"].values[:] = pl_mw - res_line_df["ql_mvar"].values[:] = ql_mvar - res_line_df["i_from_ka"].values[:] = i_from_ka - res_line_df["i_to_ka"].values[:] = i_to_ka - res_line_df["i_ka"].values[:] = i_ka - res_line_df["vm_from_pu"].values[:] = ppc["bus"][from_bus, VM] - res_line_df["va_from_degree"].values[:] = ppc["bus"][from_bus, VA] - res_line_df["vm_to_pu"].values[:] = ppc["bus"][to_bus, VM] - res_line_df["va_to_degree"].values[:] = ppc["bus"][to_bus, VA] - res_line_df["loading_percent"].values[:] = i_ka / i_max * 100 - - # if consider_line_temperature, add resulting r_ohm_per_km to net.res_line - if net["_options"]["consider_line_temperature"]: - base_kv = ppc["bus"][from_bus, BASE_KV] - baseR = np.square(base_kv) / net.sn_mva - length_km = line_df.length_km.values - parallel = line_df.parallel.values - res_line_df["r_ohm_per_km"] = ppc["branch"][f:t, BR_R].real / length_km * baseR * parallel - - -def _get_line_results_3ph(net, ppc0, ppc1, ppc2, I012_f, V012_f, I012_t, V012_t): - # create res_line_vals which are written to the pandas dataframe - ac = net["_options"]["ac"] - - if not "line" in net._pd2ppc_lookups["branch"]: - return - - f, t = net._pd2ppc_lookups["branch"]["line"] - I012_from_ka = I012_f[:, f:t] - I012_to_ka = I012_t[:, f:t] - line_df = net["line"] - i_max_phase = line_df["max_i_ka"].values * line_df["df"].values * line_df["parallel"].values - - Vabc_f, Vabc_t, Iabc_f, Iabc_t = [sequence_to_phase(X012) for X012 in - [V012_f[:, f:t], V012_t[:, f:t], I012_f[:, f:t], I012_t[:, f:t]]] - Sabc_f, Sabc_t = [S_from_VI_elementwise(*Xabc_tup) / np.sqrt(3) for Xabc_tup in - [(Vabc_f, Iabc_f), (Vabc_t, Iabc_t)]] - # Todo: Check why the sqrt(3) is necessary in the previous line as opposed to _get_line_results() - Pabcf_mw = Sabc_f.real - Qabcf_mvar = Sabc_f.imag - Pabct_mw = Sabc_t.real - Qabct_mvar = Sabc_t.imag - if ac: - Pabcl_mw = Pabcf_mw + Pabct_mw - Qabcl_mvar = Qabcf_mvar + Qabct_mvar - else: - Pabcl_mw = np.zeros_like(Pabcf_mw) - Qabcl_mvar = np.zeros_like(Qabct_mvar) - - #getting complex values of the sequence current line - Iabc_f_ka_complex = sequence_to_phase(I012_from_ka) - Iabc_t_ka_complex = sequence_to_phase(I012_to_ka) - - Iabc_f_ka = np.abs(Iabc_f_ka_complex) - Iabc_t_ka = np.abs(Iabc_t_ka_complex) - Iabc_ka = np.maximum.reduce([Iabc_t_ka, Iabc_f_ka]) - - In_f_ka_complex = Iabc_f_ka_complex.sum(axis=0) - In_f_ka = np.abs(In_f_ka_complex) -# In_f_ia_n_degree = np.angle(In_f_ka_complex).flatten()*180/np.pi - In_t_ka_complex = Iabc_t_ka_complex.sum(axis=0) -# In_t_ia_n_degree = np.angle(In_t_ka_complex).flatten()*180/np.pi - In_t_ka = np.abs(In_t_ka_complex) - In_ka = np.maximum.reduce([In_t_ka, In_f_ka]) - - # write to line - net["res_line_3ph"]["p_a_from_mw"] = Pabcf_mw[0, :].flatten() - net["res_line_3ph"]["p_b_from_mw"] = Pabcf_mw[1, :].flatten() - net["res_line_3ph"]["p_c_from_mw"] = Pabcf_mw[2, :].flatten() - net["res_line_3ph"]["q_a_from_mvar"] = Qabcf_mvar[0, :].flatten() - net["res_line_3ph"]["q_b_from_mvar"] = Qabcf_mvar[1, :].flatten() - net["res_line_3ph"]["q_c_from_mvar"] = Qabcf_mvar[2, :].flatten() - net["res_line_3ph"]["p_a_to_mw"] = Pabct_mw[0, :].flatten() - net["res_line_3ph"]["p_b_to_mw"] = Pabct_mw[1, :].flatten() - net["res_line_3ph"]["p_c_to_mw"] = Pabct_mw[2, :].flatten() - net["res_line_3ph"]["q_a_to_mvar"] = Qabct_mvar[0, :].flatten() - net["res_line_3ph"]["q_b_to_mvar"] = Qabct_mvar[1, :].flatten() - net["res_line_3ph"]["q_c_to_mvar"] = Qabct_mvar[2, :].flatten() - net["res_line_3ph"]["p_a_l_mw"] = Pabcl_mw[0, :].flatten() - net["res_line_3ph"]["p_b_l_mw"] = Pabcl_mw[1, :].flatten() - net["res_line_3ph"]["p_c_l_mw"] = Pabcl_mw[2, :].flatten() - net["res_line_3ph"]["q_a_l_mvar"] = Qabcl_mvar[0, :].flatten() - net["res_line_3ph"]["q_b_l_mvar"] = Qabcl_mvar[1, :].flatten() - net["res_line_3ph"]["q_c_l_mvar"] = Qabcl_mvar[2, :].flatten() - net["res_line_3ph"]["i_a_from_ka"] = Iabc_f_ka[0, :].flatten() - net["res_line_3ph"]["i_b_from_ka"] = Iabc_f_ka[1, :].flatten() - net["res_line_3ph"]["i_c_from_ka"] = Iabc_f_ka[2, :].flatten() - net["res_line_3ph"]["i_a_to_ka"] = Iabc_t_ka[0, :].flatten() - net["res_line_3ph"]["i_b_to_ka"] = Iabc_t_ka[1, :].flatten() - net["res_line_3ph"]["i_c_to_ka"] = Iabc_t_ka[2, :].flatten() - net["res_line_3ph"]["i_a_ka"] = Iabc_ka[0, :] - net["res_line_3ph"]["i_b_ka"] = Iabc_ka[1, :] - net["res_line_3ph"]["i_c_ka"] = Iabc_ka[2, :] - net["res_line_3ph"]["i_n_from_ka"] = In_f_ka - net["res_line_3ph"]["i_n_to_ka"] = In_t_ka - net["res_line_3ph"]["i_n_ka"] = In_ka - net["res_line_3ph"]["loading_a_percent"] = Iabc_ka[0, :] / i_max_phase * 100 - net["res_line_3ph"]["loading_b_percent"] = Iabc_ka[1, :] / i_max_phase * 100 - net["res_line_3ph"]["loading_c_percent"] = Iabc_ka[2, :] / i_max_phase * 100 - net["res_line_3ph"]["loading_percent"] = Iabc_ka.max(axis=0) / i_max_phase * 100 - net["res_line_3ph"].index = net["line"].index - - -def _get_trafo_results(net, ppc, s_ft, i_ft, suffix=None): - if "trafo" not in net._pd2ppc_lookups["branch"]: - return - ac = net["_options"]["ac"] - trafo_loading = net["_options"]["trafo_loading"] - f, t = net._pd2ppc_lookups["branch"]["trafo"] - p_hv_mw = ppc["branch"][f:t, PF].real - p_lv_mw = ppc["branch"][f:t, PT].real - - if ac: - q_hv_mvar = ppc["branch"][f:t, QF].real - q_lv_mvar = ppc["branch"][f:t, QT].real - pl_mw = p_hv_mw + p_lv_mw - ql_mvar = q_hv_mvar + q_lv_mvar - else: - q_hv_mvar = np.zeros_like(p_hv_mw) - q_lv_mvar = np.zeros_like(p_lv_mw) - pl_mw = np.zeros_like(p_lv_mw) - ql_mvar = np.zeros_like(p_lv_mw) - - i_hv_ka = i_ft[:, 0][f:t] - i_lv_ka = i_ft[:, 1][f:t] - if trafo_loading == "current": - # calculate loading with rated current - trafo_df = net["trafo"] - vns = np.vstack([trafo_df["vn_hv_kv"].values, trafo_df["vn_lv_kv"].values]).T - lds_trafo = i_ft[f:t] * vns * np.sqrt(3) / trafo_df["sn_mva"].values[:, np.newaxis] * 100. - with np.errstate(invalid='ignore'): - ld_trafo = np.max(lds_trafo, axis=1) - elif trafo_loading == "power": - # calculate loading with rated loading - ld_trafo = np.max(s_ft[f:t] / net["trafo"]["sn_mva"].values[:, np.newaxis] * 100., axis=1) - else: - raise ValueError( - "Unknown transformer loading parameter %s - choose 'current' or 'power'" % trafo_loading) - if any(net["trafo"]["df"].values <= 0): - raise UserWarning('Transformer rating factor df must be positive. Transformers with false ' - 'rating factors: %s' % net["trafo"].query('df<=0').index.tolist()) - - loading_percent = ld_trafo / net["trafo"]["parallel"].values / net["trafo"]["df"].values - - hv_buses = ppc["branch"][f:t, F_BUS].real.astype(int) - lv_buses = ppc["branch"][f:t, T_BUS].real.astype(int) - - # write results to trafo dataframe - res_trafo_df = net["res_trafo"] if suffix is None else net["res_trafo%s" % suffix] - - res_trafo_df["p_hv_mw"].values[:] = p_hv_mw - res_trafo_df["q_hv_mvar"].values[:] = q_hv_mvar - res_trafo_df["p_lv_mw"].values[:] = p_lv_mw - res_trafo_df["q_lv_mvar"].values[:] = q_lv_mvar - res_trafo_df["pl_mw"].values[:] = pl_mw - res_trafo_df["ql_mvar"].values[:] = ql_mvar - res_trafo_df["i_hv_ka"].values[:] = i_hv_ka - res_trafo_df["i_lv_ka"].values[:] = i_lv_ka - res_trafo_df["vm_hv_pu"].values[:] = ppc["bus"][hv_buses, VM] - res_trafo_df["va_hv_degree"].values[:] = ppc["bus"][hv_buses, VA] - res_trafo_df["vm_lv_pu"].values[:] = ppc["bus"][lv_buses, VM] - res_trafo_df["va_lv_degree"].values[:] = ppc["bus"][lv_buses, VA] - res_trafo_df["loading_percent"].values[:] = loading_percent - - -def _get_trafo_results_3ph(net, ppc0, ppc1, ppc2, I012_f, V012_f, I012_t, V012_t): - ac = net["_options"]["ac"] - trafo_loading = net["_options"]["trafo_loading"] - - if not "trafo" in net._pd2ppc_lookups["branch"]: - return - f, t = net._pd2ppc_lookups["branch"]["trafo"] - I012_hv_ka = I012_f[:, f:t] - I012_lv_ka = I012_t[:, f:t] - trafo_df = net["trafo"] - - Vabc_hv, Vabc_lv, Iabc_hv, Iabc_lv = [sequence_to_phase(X012) for X012 in - [V012_f[:, f:t], V012_t[:, f:t], I012_f[:, f:t], I012_t[:, f:t]]] - Sabc_hv, Sabc_lv = [S_from_VI_elementwise(*Xabc_tup) / np.sqrt(3) for Xabc_tup in - [(Vabc_hv, Iabc_hv), (Vabc_lv, Iabc_lv)]] - # Todo: Check why the sqrt(3) is necessary in the previous line as opposed to _get_line_results() - Pabc_hv_mw = Sabc_hv.real - Qabc_hv_mvar = Sabc_hv.imag - Pabc_lv_mw = Sabc_lv.real - Qabc_lv_mvar = Sabc_lv.imag - if ac: - Pabcl_mw = Pabc_hv_mw + Pabc_lv_mw - Qabcl_mvar = Qabc_hv_mvar + Qabc_lv_mvar - else: - Pabcl_mw = np.zeros_like(Pabc_hv_mw) - Qabcl_mvar = np.zeros_like(Qabc_lv_mvar) - - Iabc_hv_ka = np.abs(sequence_to_phase(I012_hv_ka)) - Iabc_lv_ka = np.abs(sequence_to_phase(I012_lv_ka)) - - #geting complex values of the sequence current -# Iabc_hv_ka_complex = sequence_to_phase(I012_hv_ka) -# Iabc_lv_ka_complex = sequence_to_phase(I012_lv_ka) -# -# Iabc_hv_ka = np.abs(Iabc_hv_ka_complex) -# Iabc_lv_ka = np.abs(Iabc_lv_ka_complex) -# -# In_hv_ka_complex = Iabc_hv_ka_complex.sum(axis=0) -# In_hv_ka = np.abs(In_hv_ka_complex) -# In_hv_ia_n_degree = np.angle(In_hv_ka_complex).flatten()*180/np.pi -# In_lv_ka_complex = Iabc_lv_ka_complex.sum(axis=0) -# In_lv_ka = np.abs(In_lv_ka_complex) -# In_lv_ia_n_degree = np.angle(In_lv_ka_complex).flatten()*180/np.pi - - - if trafo_loading == "current": - trafo_df = net["trafo"] - vns = np.vstack([trafo_df["vn_hv_kv"].values, trafo_df["vn_lv_kv"].values]).T - ld_trafo = np.maximum.reduce([np.asarray(Iabc_hv_ka) * vns[:, 0], np.asarray(Iabc_lv_ka) * vns[:, 1]]) - ld_trafo = ld_trafo * np.sqrt(3) / trafo_df["sn_mva"].values * 100. - elif trafo_loading == "power": - ld_trafo = np.maximum.reduce([np.abs(Sabc_hv), np.abs(Sabc_lv)]) - ld_trafo = ld_trafo / net["trafo"]["sn_mva"].values[:, np.newaxis] * 3. * 100. - else: - raise ValueError( - "Unknown transformer loading parameter %s - choose 'current' or 'power'" % trafo_loading) - if any(net["trafo"]["df"].values <= 0): - raise UserWarning('Transformer rating factor df must be positive. Transformers with false ' - 'rating factors: %s' % net["trafo"].query('df<=0').index.tolist()) - loading_percent = ld_trafo / net["trafo"]["parallel"].values / net["trafo"]["df"].values - - # write results to trafo dataframe - res_trafo_df = net["res_trafo_3ph"] - res_trafo_df["p_a_hv_mw"] = Pabc_hv_mw[0, :].flatten() - res_trafo_df["p_b_hv_mw"] = Pabc_hv_mw[1, :].flatten() - res_trafo_df["p_c_hv_mw"] = Pabc_hv_mw[2, :].flatten() - res_trafo_df["q_a_hv_mvar"] = Qabc_hv_mvar[0, :].flatten() - res_trafo_df["q_b_hv_mvar"] = Qabc_hv_mvar[1, :].flatten() - res_trafo_df["q_c_hv_mvar"] = Qabc_hv_mvar[2, :].flatten() - res_trafo_df["p_a_lv_mw"] = Pabc_lv_mw[0, :].flatten() - res_trafo_df["p_b_lv_mw"] = Pabc_lv_mw[1, :].flatten() - res_trafo_df["p_c_lv_mw"] = Pabc_lv_mw[2, :].flatten() - res_trafo_df["q_a_lv_mvar"] = Qabc_lv_mvar[0, :].flatten() - res_trafo_df["q_b_lv_mvar"] = Qabc_lv_mvar[1, :].flatten() - res_trafo_df["q_c_lv_mvar"] = Qabc_lv_mvar[2, :].flatten() - res_trafo_df["p_a_l_mw"] = Pabcl_mw[0, :].flatten() - res_trafo_df["p_b_l_mw"] = Pabcl_mw[1, :].flatten() - res_trafo_df["p_c_l_mw"] = Pabcl_mw[2, :].flatten() - res_trafo_df["q_a_l_mvar"] = Qabcl_mvar[0, :].flatten() - res_trafo_df["q_b_l_mvar"] = Qabcl_mvar[1, :].flatten() - res_trafo_df["q_c_l_mvar"] = Qabcl_mvar[2, :].flatten() - res_trafo_df["i_a_hv_ka"] = Iabc_hv_ka[0, :].flatten() - res_trafo_df["i_b_hv_ka"] = Iabc_hv_ka[1, :].flatten() - res_trafo_df["i_c_hv_ka"] = Iabc_hv_ka[2, :].flatten() -# res_trafo_df["i_n_hv_ka"] = In_hv_ka.flatten() - res_trafo_df["i_a_lv_ka"] = Iabc_lv_ka[0, :].flatten() - res_trafo_df["i_b_lv_ka"] = Iabc_lv_ka[1, :].flatten() - res_trafo_df["i_c_lv_ka"] = Iabc_lv_ka[2, :].flatten() -# res_trafo_df["i_n_lv_ka"] = In_lv_ka.flatten() - res_trafo_df["loading_a_percent"] = loading_percent[0, :] - res_trafo_df["loading_b_percent"] = loading_percent[1, :] - res_trafo_df["loading_c_percent"] = loading_percent[2, :] - res_trafo_df["loading_percent"] = loading_percent.max(axis=0) - res_trafo_df.index = net["trafo"].index.values - - - -def _get_trafo3w_lookups(net): - f, t = net._pd2ppc_lookups["branch"]["trafo3w"] - hv = int(f + (t - f) / 3) - mv = int(f + 2 * (t - f) / 3) - lv = t - return f, hv, mv, lv - - -def _get_trafo3w_results(net, ppc, s_ft, i_ft, suffix=None): - if "trafo3w" not in net._pd2ppc_lookups["branch"]: - return - - trafo_loading = net["_options"]["trafo_loading"] - ac = net["_options"]["ac"] - f, hv, mv, lv = _get_trafo3w_lookups(net) - - phv_mw = ppc["branch"][f:hv, PF].real - pmv_mw = ppc["branch"][hv:mv, PT].real - plv_mw = ppc["branch"][mv:lv, PT].real - - p_hv_mw = phv_mw - p_mv_mw = pmv_mw - p_lv_mw = plv_mw - - if ac: - q_hv_mvar = ppc["branch"][f:hv, QF].real - q_mv_mvar = ppc["branch"][hv:mv, QT].real - q_lv_mvar = ppc["branch"][mv:lv, QT].real - pl_mw = phv_mw + pmv_mw + plv_mw - ql_mvar = q_hv_mvar + q_mv_mvar + q_lv_mvar - else: - zeros = np.zeros_like(phv_mw) - q_hv_mvar = zeros - q_mv_mvar = zeros - q_lv_mvar = zeros - pl_mw = zeros - ql_mvar = zeros - - i_h = i_ft[:, 0][f:hv] - i_m = i_ft[:, 1][hv:mv] - i_l = i_ft[:, 1][mv:lv] - - t3 = net["trafo3w"] - if trafo_loading == "current": - ld_h = i_h * t3["vn_hv_kv"].values * np.sqrt(3) / t3["sn_hv_mva"].values * 100 - ld_m = i_m * t3["vn_mv_kv"].values * np.sqrt(3) / t3["sn_mv_mva"].values * 100 - ld_l = i_l * t3["vn_lv_kv"].values * np.sqrt(3) / t3["sn_lv_mva"].values * 100 - with np.errstate(invalid='ignore'): - ld_trafo = np.max(np.vstack([ld_h, ld_m, ld_l]), axis=0) - elif trafo_loading == "power": - ld_h = s_ft[:, 0][f:hv] / t3["sn_hv_mva"].values * 100. - ld_m = s_ft[:, 1][hv:mv] / t3["sn_mv_mva"].values * 100. - ld_l = s_ft[:, 1][mv:lv] / t3["sn_lv_mva"].values * 100. - ld_trafo = np.max(np.vstack([ld_h, ld_m, ld_l]), axis=0) - else: - raise ValueError( - "Unknown transformer loading parameter %s - choose 'current' or 'power'" % trafo_loading) - loading_percent = ld_trafo - - hv_buses = ppc["branch"][f:hv, F_BUS].real.astype(int) - aux_buses = ppc["branch"][f:hv, T_BUS].real.astype(int) - mv_buses = ppc["branch"][hv:mv, T_BUS].real.astype(int) - lv_buses = ppc["branch"][mv:lv, T_BUS].real.astype(int) - - # write results to trafo3w dataframe - res_trafo3w_df = net["res_trafo3w"] if suffix is None else net["res_trafo3w%s"%suffix] - - res_trafo3w_df["p_hv_mw"].values[:] = p_hv_mw - res_trafo3w_df["q_hv_mvar"].values[:] = q_hv_mvar - res_trafo3w_df["p_mv_mw"].values[:] = p_mv_mw - res_trafo3w_df["q_mv_mvar"].values[:] = q_mv_mvar - res_trafo3w_df["p_lv_mw"].values[:] = p_lv_mw - res_trafo3w_df["q_lv_mvar"].values[:] = q_lv_mvar - res_trafo3w_df["pl_mw"].values[:] = pl_mw - res_trafo3w_df["ql_mvar"].values[:] = ql_mvar - res_trafo3w_df["i_hv_ka"].values[:] = i_h - res_trafo3w_df["i_mv_ka"].values[:] = i_m - res_trafo3w_df["i_lv_ka"].values[:] = i_l - res_trafo3w_df["vm_hv_pu"].values[:] = ppc["bus"][hv_buses, VM] - res_trafo3w_df["va_hv_degree"].values[:] = ppc["bus"][hv_buses, VA] - res_trafo3w_df["vm_mv_pu"].values[:] = ppc["bus"][mv_buses, VM] - res_trafo3w_df["va_mv_degree"].values[:] = ppc["bus"][mv_buses, VA] - res_trafo3w_df["vm_lv_pu"].values[:] = ppc["bus"][lv_buses, VM] - res_trafo3w_df["va_lv_degree"].values[:] = ppc["bus"][lv_buses, VA] - res_trafo3w_df["va_internal_degree"].values[:] = ppc["bus"][aux_buses, VA] - res_trafo3w_df["vm_internal_pu"].values[:] = ppc["bus"][aux_buses, VM] - res_trafo3w_df["loading_percent"].values[:] = loading_percent - - - -def _get_impedance_results(net, ppc, i_ft, suffix=None): - ac = net["_options"]["ac"] - - if not "impedance" in net._pd2ppc_lookups["branch"]: - return - f, t = net._pd2ppc_lookups["branch"]["impedance"] - pf_mw = ppc["branch"][f:t, (PF)].real - pt_mw = ppc["branch"][f:t, (PT)].real - p_from_mw = pf_mw - p_to_mw = pt_mw - - if ac: - q_from_mvar = ppc["branch"][f:t, (QF)].real - q_to_mvar = ppc["branch"][f:t, (QT)].real - ql_mvar = q_from_mvar + q_to_mvar - pl_mw = pf_mw + pt_mw - else: - zeros = np.zeros_like(p_from_mw) - # this looks like a pyramid - q_from_mvar = zeros - q_to_mvar = zeros - ql_mvar = zeros - pl_mw = zeros - # zeros - - i_from_ka = i_ft[f:t][:, 0] - i_to_ka = i_ft[f:t][:, 1] - - # write to impedance - res_impedance_df = net["res_impedance"] if suffix is None else net["res_impedance%s"%suffix] - - res_impedance_df["p_from_mw"].values[:] = p_from_mw - res_impedance_df["q_from_mvar"].values[:] = q_from_mvar - res_impedance_df["p_to_mw"].values[:] = p_to_mw - res_impedance_df["q_to_mvar"].values[:] = q_to_mvar - res_impedance_df["pl_mw"].values[:] = pl_mw - res_impedance_df["ql_mvar"].values[:] = ql_mvar - res_impedance_df["i_from_ka"].values[:] = i_from_ka - res_impedance_df["i_to_ka"].values[:] = i_to_ka - - - -def _get_xward_branch_results(net, ppc, bus_lookup_aranged, pq_buses, suffix=None): - ac = net["_options"]["ac"] - - if not "xward" in net._pd2ppc_lookups["branch"]: - return - f, t = net._pd2ppc_lookups["branch"]["xward"] - p_branch_xward = ppc["branch"][f:t, PF].real - net["res_xward"]["p_mw"].values[:] = net["res_xward"]["p_mw"].values + p_branch_xward - if ac: - q_branch_xward = ppc["branch"][f:t, QF].real - net["res_xward"]["q_mvar"].values[:] = net["res_xward"]["q_mvar"].values + q_branch_xward - else: - q_branch_xward = np.zeros(len(p_branch_xward)) - b_pp, p, q = _sum_by_group(net["xward"]["bus"].values, p_branch_xward, q_branch_xward) - b_ppc = bus_lookup_aranged[b_pp] - - pq_buses[b_ppc, 0] += p - pq_buses[b_ppc, 1] += q - aux_buses = net["_pd2ppc_lookups"]["bus"][net["_pd2ppc_lookups"]["aux"]["xward"]] - - res_xward_df = net["res_xward"] if suffix is None else net["res_xward%s" % suffix] - - res_xward_df["va_internal_degree"].values[:] = ppc["bus"][aux_buses, VA] - res_xward_df["vm_internal_pu"].values[:] = ppc["bus"][aux_buses, VM] - res_xward_df.index = net["xward"].index - - - -def _get_switch_results(net, i_ft, suffix=None): - if not "switch" in net._pd2ppc_lookups["branch"]: - return - f, t = net._pd2ppc_lookups["branch"]["switch"] - with np.errstate(invalid='ignore'): - i_ka = np.max(i_ft[f:t], axis=1) - - res_switch_df = "res_switch" if suffix is None else "res_switch%s" % suffix - net[res_switch_df] = pd.DataFrame(data=i_ka, columns=["i_ka"], - index=net.switch[net._impedance_bb_switches].index) +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import numpy as np +import pandas as pd +from pandapower.auxiliary import _sum_by_group, I_from_SV_elementwise, sequence_to_phase, S_from_VI_elementwise +from pandapower.auxiliary import _sum_by_group +from pandapower.pypower.idx_brch import F_BUS, T_BUS, PF, QF, PT, QT, BR_R +from pandapower.pypower.idx_bus import BASE_KV, VM, VA + + + +def _get_branch_results(net, ppc, bus_lookup_aranged, pq_buses, suffix=None): + """ + Extract the branch results and writes it in the Dataframe net.res_line, net.res_trafo, net.res_trafo3w... + + INPUT: + + **net** - pandapower net + + **ppc** (np.array) - ppc structure + + **bus_lookup_aranged** - consecutive aranged bus lookup + + **pq_buses** - the PQ type buses in ppc + + OPTIONAL: + + **suffix** (str, None) - a suffix like "_sc" to write to res_line_sc for example (short circuit) + + """ + + i_ft, s_ft = _get_branch_flows(ppc) + + _get_line_results(net, ppc, i_ft, suffix=suffix) + _get_trafo_results(net, ppc, s_ft, i_ft, suffix=suffix) + _get_trafo3w_results(net, ppc, s_ft, i_ft, suffix=suffix) + _get_impedance_results(net, ppc, i_ft, suffix=suffix) + _get_xward_branch_results(net, ppc, bus_lookup_aranged, pq_buses, suffix=suffix) + _get_switch_results(net, i_ft, suffix=suffix) + + +def _get_branch_results_3ph(net, ppc0, ppc1, ppc2, bus_lookup_aranged, pq_buses): + """ + Extract the bus results and writes it in the Dataframe net.res_line and net.res_trafo. + + INPUT: + + **results** - the result of runpf loadflow calculation + + **p** - the dict to dump the "res_line" and "res_trafo" Dataframe + + """ + I012_f, S012_f, V012_f, I012_t, S012_t, V012_t = _get_branch_flows_3ph(ppc0, ppc1, ppc2) + _get_line_results_3ph(net, ppc0, ppc1, ppc2, I012_f, V012_f, I012_t, V012_t) + _get_trafo_results_3ph(net, ppc0, ppc1, ppc2, I012_f, V012_f, I012_t, V012_t) + # _get_trafo3w_results(net, ppc, s_ft, i_ft) + # _get_impedance_results(net, ppc, i_ft) + # _get_xward_branch_results(net, ppc, bus_lookup_aranged, pq_buses) + # _get_switch_results(net, i_ft) + + +def _get_branch_flows(ppc): + br_idx = ppc["branch"][:, (F_BUS, T_BUS)].real.astype(int) + vm_ft = ppc["bus"][br_idx, VM] * ppc["bus"][br_idx, BASE_KV] + s_ft = np.sqrt(ppc["branch"][:, (PF, PT)].real ** 2 + + ppc["branch"][:, (QF, QT)].real ** 2) + i_ft = s_ft / vm_ft / np.sqrt(3) + return i_ft, s_ft + + +def _get_branch_flows_3ph(ppc0, ppc1, ppc2): + br_from_idx = ppc1["branch"][:, F_BUS].real.astype(int) + br_to_idx = ppc1["branch"][:, T_BUS].real.astype(int) + V012_f = np.array([(ppc["bus"][br_from_idx, VM] * ppc["bus"][br_from_idx, BASE_KV] * + np.exp(1j * np.deg2rad(ppc["bus"][br_from_idx, VA]))).flatten() for ppc in [ppc0, ppc1, ppc2]]) + V012_t = np.array([(ppc["bus"][br_to_idx, VM] * ppc["bus"][br_to_idx, BASE_KV] * + np.exp(1j * np.deg2rad(ppc["bus"][br_to_idx, VA]))).flatten() for ppc in [ppc0, ppc1, ppc2]]) + S012_f = np.array([((ppc["branch"][:, PF].real + + 1j * ppc["branch"][:, QF].real) ) + for ppc in [ppc0, ppc1, ppc2]]) + S012_t = np.array([((ppc["branch"][:, PT].real + + 1j * ppc["branch"][:, QT].real) ) + for ppc in [ppc0, ppc1, ppc2]]) + I012_f = I_from_SV_elementwise(S012_f , V012_f / np.sqrt(3)) + I012_t = I_from_SV_elementwise(S012_t , V012_t / np.sqrt(3)) + + return I012_f, S012_f, V012_f, I012_t, S012_t, V012_t + + +def _get_line_results(net, ppc, i_ft, suffix=None): + # create res_line_vals which are written to the pandas dataframe + if "line" not in net._pd2ppc_lookups["branch"]: + return + ac = net["_options"]["ac"] + + f, t = net._pd2ppc_lookups["branch"]["line"] + pf_mw = ppc["branch"][f:t, PF].real + q_from_mvar = ppc["branch"][f:t, QF].real + p_from_mw = pf_mw + + pt_mw = ppc["branch"][f:t, PT].real + q_to_mvar = ppc["branch"][f:t, QT].real + p_to_mw = pt_mw + + if ac: + pl_mw = pf_mw + pt_mw + ql_mvar = q_from_mvar + q_to_mvar + else: + pl_mw = np.zeros_like(pf_mw) + ql_mvar = np.zeros_like(q_from_mvar) + + with np.errstate(invalid='ignore'): + i_ka = np.max(i_ft[f:t], axis=1) + i_from_ka = i_ft[f:t][:, 0] + i_to_ka = i_ft[f:t][:, 1] + line_df = net["line"] + i_max = line_df["max_i_ka"].values * line_df["df"].values * line_df["parallel"].values + from_bus = ppc["branch"][f:t, F_BUS].real.astype(int) + to_bus = ppc["branch"][f:t, T_BUS].real.astype(int) + + # write to line + res_line_df = net["res_line"] if suffix is None else net["res_line%s"%suffix] + + res_line_df["p_from_mw"].values[:] = p_from_mw + res_line_df["q_from_mvar"].values[:] = q_from_mvar + res_line_df["p_to_mw"].values[:] = p_to_mw + res_line_df["q_to_mvar"].values[:] = q_to_mvar + res_line_df["pl_mw"].values[:] = pl_mw + res_line_df["ql_mvar"].values[:] = ql_mvar + res_line_df["i_from_ka"].values[:] = i_from_ka + res_line_df["i_to_ka"].values[:] = i_to_ka + res_line_df["i_ka"].values[:] = i_ka + res_line_df["vm_from_pu"].values[:] = ppc["bus"][from_bus, VM] + res_line_df["va_from_degree"].values[:] = ppc["bus"][from_bus, VA] + res_line_df["vm_to_pu"].values[:] = ppc["bus"][to_bus, VM] + res_line_df["va_to_degree"].values[:] = ppc["bus"][to_bus, VA] + res_line_df["loading_percent"].values[:] = i_ka / i_max * 100 + + # if consider_line_temperature, add resulting r_ohm_per_km to net.res_line + if net["_options"]["consider_line_temperature"]: + base_kv = ppc["bus"][from_bus, BASE_KV] + baseR = np.square(base_kv) / net.sn_mva + length_km = line_df.length_km.values + parallel = line_df.parallel.values + res_line_df["r_ohm_per_km"] = ppc["branch"][f:t, BR_R].real / length_km * baseR * parallel + + +def _get_line_results_3ph(net, ppc0, ppc1, ppc2, I012_f, V012_f, I012_t, V012_t): + # create res_line_vals which are written to the pandas dataframe + ac = net["_options"]["ac"] + + if not "line" in net._pd2ppc_lookups["branch"]: + return + + f, t = net._pd2ppc_lookups["branch"]["line"] + I012_from_ka = I012_f[:, f:t] + I012_to_ka = I012_t[:, f:t] + line_df = net["line"] + i_max_phase = line_df["max_i_ka"].values * line_df["df"].values * line_df["parallel"].values + + Vabc_f, Vabc_t, Iabc_f, Iabc_t = [sequence_to_phase(X012) for X012 in + [V012_f[:, f:t], V012_t[:, f:t], I012_f[:, f:t], I012_t[:, f:t]]] + Sabc_f, Sabc_t = [S_from_VI_elementwise(*Xabc_tup) / np.sqrt(3) for Xabc_tup in + [(Vabc_f, Iabc_f), (Vabc_t, Iabc_t)]] + # Todo: Check why the sqrt(3) is necessary in the previous line as opposed to _get_line_results() + Pabcf_mw = Sabc_f.real + Qabcf_mvar = Sabc_f.imag + Pabct_mw = Sabc_t.real + Qabct_mvar = Sabc_t.imag + if ac: + Pabcl_mw = Pabcf_mw + Pabct_mw + Qabcl_mvar = Qabcf_mvar + Qabct_mvar + else: + Pabcl_mw = np.zeros_like(Pabcf_mw) + Qabcl_mvar = np.zeros_like(Qabct_mvar) + + #getting complex values of the sequence current line + Iabc_f_ka_complex = sequence_to_phase(I012_from_ka) + Iabc_t_ka_complex = sequence_to_phase(I012_to_ka) + + Iabc_f_ka = np.abs(Iabc_f_ka_complex) + Iabc_t_ka = np.abs(Iabc_t_ka_complex) + Iabc_ka = np.maximum.reduce([Iabc_t_ka, Iabc_f_ka]) + + In_f_ka_complex = Iabc_f_ka_complex.sum(axis=0) + In_f_ka = np.abs(In_f_ka_complex) +# In_f_ia_n_degree = np.angle(In_f_ka_complex).flatten()*180/np.pi + In_t_ka_complex = Iabc_t_ka_complex.sum(axis=0) +# In_t_ia_n_degree = np.angle(In_t_ka_complex).flatten()*180/np.pi + In_t_ka = np.abs(In_t_ka_complex) + In_ka = np.maximum.reduce([In_t_ka, In_f_ka]) + + # write to line + net["res_line_3ph"]["p_a_from_mw"] = Pabcf_mw[0, :].flatten() + net["res_line_3ph"]["p_b_from_mw"] = Pabcf_mw[1, :].flatten() + net["res_line_3ph"]["p_c_from_mw"] = Pabcf_mw[2, :].flatten() + net["res_line_3ph"]["q_a_from_mvar"] = Qabcf_mvar[0, :].flatten() + net["res_line_3ph"]["q_b_from_mvar"] = Qabcf_mvar[1, :].flatten() + net["res_line_3ph"]["q_c_from_mvar"] = Qabcf_mvar[2, :].flatten() + net["res_line_3ph"]["p_a_to_mw"] = Pabct_mw[0, :].flatten() + net["res_line_3ph"]["p_b_to_mw"] = Pabct_mw[1, :].flatten() + net["res_line_3ph"]["p_c_to_mw"] = Pabct_mw[2, :].flatten() + net["res_line_3ph"]["q_a_to_mvar"] = Qabct_mvar[0, :].flatten() + net["res_line_3ph"]["q_b_to_mvar"] = Qabct_mvar[1, :].flatten() + net["res_line_3ph"]["q_c_to_mvar"] = Qabct_mvar[2, :].flatten() + net["res_line_3ph"]["p_a_l_mw"] = Pabcl_mw[0, :].flatten() + net["res_line_3ph"]["p_b_l_mw"] = Pabcl_mw[1, :].flatten() + net["res_line_3ph"]["p_c_l_mw"] = Pabcl_mw[2, :].flatten() + net["res_line_3ph"]["q_a_l_mvar"] = Qabcl_mvar[0, :].flatten() + net["res_line_3ph"]["q_b_l_mvar"] = Qabcl_mvar[1, :].flatten() + net["res_line_3ph"]["q_c_l_mvar"] = Qabcl_mvar[2, :].flatten() + net["res_line_3ph"]["i_a_from_ka"] = Iabc_f_ka[0, :].flatten() + net["res_line_3ph"]["i_b_from_ka"] = Iabc_f_ka[1, :].flatten() + net["res_line_3ph"]["i_c_from_ka"] = Iabc_f_ka[2, :].flatten() + net["res_line_3ph"]["i_a_to_ka"] = Iabc_t_ka[0, :].flatten() + net["res_line_3ph"]["i_b_to_ka"] = Iabc_t_ka[1, :].flatten() + net["res_line_3ph"]["i_c_to_ka"] = Iabc_t_ka[2, :].flatten() + net["res_line_3ph"]["i_a_ka"] = Iabc_ka[0, :] + net["res_line_3ph"]["i_b_ka"] = Iabc_ka[1, :] + net["res_line_3ph"]["i_c_ka"] = Iabc_ka[2, :] + net["res_line_3ph"]["i_n_from_ka"] = In_f_ka + net["res_line_3ph"]["i_n_to_ka"] = In_t_ka + net["res_line_3ph"]["i_n_ka"] = In_ka + net["res_line_3ph"]["loading_a_percent"] = Iabc_ka[0, :] / i_max_phase * 100 + net["res_line_3ph"]["loading_b_percent"] = Iabc_ka[1, :] / i_max_phase * 100 + net["res_line_3ph"]["loading_c_percent"] = Iabc_ka[2, :] / i_max_phase * 100 + net["res_line_3ph"]["loading_percent"] = Iabc_ka.max(axis=0) / i_max_phase * 100 + net["res_line_3ph"].index = net["line"].index + + +def _get_trafo_results(net, ppc, s_ft, i_ft, suffix=None): + if "trafo" not in net._pd2ppc_lookups["branch"]: + return + ac = net["_options"]["ac"] + trafo_loading = net["_options"]["trafo_loading"] + f, t = net._pd2ppc_lookups["branch"]["trafo"] + p_hv_mw = ppc["branch"][f:t, PF].real + p_lv_mw = ppc["branch"][f:t, PT].real + + if ac: + q_hv_mvar = ppc["branch"][f:t, QF].real + q_lv_mvar = ppc["branch"][f:t, QT].real + pl_mw = p_hv_mw + p_lv_mw + ql_mvar = q_hv_mvar + q_lv_mvar + else: + q_hv_mvar = np.zeros_like(p_hv_mw) + q_lv_mvar = np.zeros_like(p_lv_mw) + pl_mw = np.zeros_like(p_lv_mw) + ql_mvar = np.zeros_like(p_lv_mw) + + i_hv_ka = i_ft[:, 0][f:t] + i_lv_ka = i_ft[:, 1][f:t] + if trafo_loading == "current": + # calculate loading with rated current + trafo_df = net["trafo"] + vns = np.vstack([trafo_df["vn_hv_kv"].values, trafo_df["vn_lv_kv"].values]).T + lds_trafo = i_ft[f:t] * vns * np.sqrt(3) / trafo_df["sn_mva"].values[:, np.newaxis] * 100. + with np.errstate(invalid='ignore'): + ld_trafo = np.max(lds_trafo, axis=1) + elif trafo_loading == "power": + # calculate loading with rated loading + ld_trafo = np.max(s_ft[f:t] / net["trafo"]["sn_mva"].values[:, np.newaxis] * 100., axis=1) + else: + raise ValueError( + "Unknown transformer loading parameter %s - choose 'current' or 'power'" % trafo_loading) + if any(net["trafo"]["df"].values <= 0): + raise UserWarning('Transformer rating factor df must be positive. Transformers with false ' + 'rating factors: %s' % net["trafo"].query('df<=0').index.tolist()) + + loading_percent = ld_trafo / net["trafo"]["parallel"].values / net["trafo"]["df"].values + + hv_buses = ppc["branch"][f:t, F_BUS].real.astype(int) + lv_buses = ppc["branch"][f:t, T_BUS].real.astype(int) + + # write results to trafo dataframe + res_trafo_df = net["res_trafo"] if suffix is None else net["res_trafo%s" % suffix] + + res_trafo_df["p_hv_mw"].values[:] = p_hv_mw + res_trafo_df["q_hv_mvar"].values[:] = q_hv_mvar + res_trafo_df["p_lv_mw"].values[:] = p_lv_mw + res_trafo_df["q_lv_mvar"].values[:] = q_lv_mvar + res_trafo_df["pl_mw"].values[:] = pl_mw + res_trafo_df["ql_mvar"].values[:] = ql_mvar + res_trafo_df["i_hv_ka"].values[:] = i_hv_ka + res_trafo_df["i_lv_ka"].values[:] = i_lv_ka + res_trafo_df["vm_hv_pu"].values[:] = ppc["bus"][hv_buses, VM] + res_trafo_df["va_hv_degree"].values[:] = ppc["bus"][hv_buses, VA] + res_trafo_df["vm_lv_pu"].values[:] = ppc["bus"][lv_buses, VM] + res_trafo_df["va_lv_degree"].values[:] = ppc["bus"][lv_buses, VA] + res_trafo_df["loading_percent"].values[:] = loading_percent + + +def _get_trafo_results_3ph(net, ppc0, ppc1, ppc2, I012_f, V012_f, I012_t, V012_t): + ac = net["_options"]["ac"] + trafo_loading = net["_options"]["trafo_loading"] + + if not "trafo" in net._pd2ppc_lookups["branch"]: + return + f, t = net._pd2ppc_lookups["branch"]["trafo"] + I012_hv_ka = I012_f[:, f:t] + I012_lv_ka = I012_t[:, f:t] + trafo_df = net["trafo"] + + Vabc_hv, Vabc_lv, Iabc_hv, Iabc_lv = [sequence_to_phase(X012) for X012 in + [V012_f[:, f:t], V012_t[:, f:t], I012_f[:, f:t], I012_t[:, f:t]]] + Sabc_hv, Sabc_lv = [S_from_VI_elementwise(*Xabc_tup) / np.sqrt(3) for Xabc_tup in + [(Vabc_hv, Iabc_hv), (Vabc_lv, Iabc_lv)]] + # Todo: Check why the sqrt(3) is necessary in the previous line as opposed to _get_line_results() + Pabc_hv_mw = Sabc_hv.real + Qabc_hv_mvar = Sabc_hv.imag + Pabc_lv_mw = Sabc_lv.real + Qabc_lv_mvar = Sabc_lv.imag + if ac: + Pabcl_mw = Pabc_hv_mw + Pabc_lv_mw + Qabcl_mvar = Qabc_hv_mvar + Qabc_lv_mvar + else: + Pabcl_mw = np.zeros_like(Pabc_hv_mw) + Qabcl_mvar = np.zeros_like(Qabc_lv_mvar) + + Iabc_hv_ka = np.abs(sequence_to_phase(I012_hv_ka)) + Iabc_lv_ka = np.abs(sequence_to_phase(I012_lv_ka)) + + #geting complex values of the sequence current +# Iabc_hv_ka_complex = sequence_to_phase(I012_hv_ka) +# Iabc_lv_ka_complex = sequence_to_phase(I012_lv_ka) +# +# Iabc_hv_ka = np.abs(Iabc_hv_ka_complex) +# Iabc_lv_ka = np.abs(Iabc_lv_ka_complex) +# +# In_hv_ka_complex = Iabc_hv_ka_complex.sum(axis=0) +# In_hv_ka = np.abs(In_hv_ka_complex) +# In_hv_ia_n_degree = np.angle(In_hv_ka_complex).flatten()*180/np.pi +# In_lv_ka_complex = Iabc_lv_ka_complex.sum(axis=0) +# In_lv_ka = np.abs(In_lv_ka_complex) +# In_lv_ia_n_degree = np.angle(In_lv_ka_complex).flatten()*180/np.pi + + + if trafo_loading == "current": + trafo_df = net["trafo"] + vns = np.vstack([trafo_df["vn_hv_kv"].values, trafo_df["vn_lv_kv"].values]).T + ld_trafo = np.maximum.reduce([np.asarray(Iabc_hv_ka) * vns[:, 0], np.asarray(Iabc_lv_ka) * vns[:, 1]]) + ld_trafo = ld_trafo * np.sqrt(3) / trafo_df["sn_mva"].values * 100. + elif trafo_loading == "power": + ld_trafo = np.maximum.reduce([np.abs(Sabc_hv), np.abs(Sabc_lv)]) + ld_trafo = ld_trafo / net["trafo"]["sn_mva"].values[:, np.newaxis] * 3. * 100. + else: + raise ValueError( + "Unknown transformer loading parameter %s - choose 'current' or 'power'" % trafo_loading) + if any(net["trafo"]["df"].values <= 0): + raise UserWarning('Transformer rating factor df must be positive. Transformers with false ' + 'rating factors: %s' % net["trafo"].query('df<=0').index.tolist()) + loading_percent = ld_trafo / net["trafo"]["parallel"].values / net["trafo"]["df"].values + + # write results to trafo dataframe + res_trafo_df = net["res_trafo_3ph"] + res_trafo_df["p_a_hv_mw"] = Pabc_hv_mw[0, :].flatten() + res_trafo_df["p_b_hv_mw"] = Pabc_hv_mw[1, :].flatten() + res_trafo_df["p_c_hv_mw"] = Pabc_hv_mw[2, :].flatten() + res_trafo_df["q_a_hv_mvar"] = Qabc_hv_mvar[0, :].flatten() + res_trafo_df["q_b_hv_mvar"] = Qabc_hv_mvar[1, :].flatten() + res_trafo_df["q_c_hv_mvar"] = Qabc_hv_mvar[2, :].flatten() + res_trafo_df["p_a_lv_mw"] = Pabc_lv_mw[0, :].flatten() + res_trafo_df["p_b_lv_mw"] = Pabc_lv_mw[1, :].flatten() + res_trafo_df["p_c_lv_mw"] = Pabc_lv_mw[2, :].flatten() + res_trafo_df["q_a_lv_mvar"] = Qabc_lv_mvar[0, :].flatten() + res_trafo_df["q_b_lv_mvar"] = Qabc_lv_mvar[1, :].flatten() + res_trafo_df["q_c_lv_mvar"] = Qabc_lv_mvar[2, :].flatten() + res_trafo_df["p_a_l_mw"] = Pabcl_mw[0, :].flatten() + res_trafo_df["p_b_l_mw"] = Pabcl_mw[1, :].flatten() + res_trafo_df["p_c_l_mw"] = Pabcl_mw[2, :].flatten() + res_trafo_df["q_a_l_mvar"] = Qabcl_mvar[0, :].flatten() + res_trafo_df["q_b_l_mvar"] = Qabcl_mvar[1, :].flatten() + res_trafo_df["q_c_l_mvar"] = Qabcl_mvar[2, :].flatten() + res_trafo_df["i_a_hv_ka"] = Iabc_hv_ka[0, :].flatten() + res_trafo_df["i_b_hv_ka"] = Iabc_hv_ka[1, :].flatten() + res_trafo_df["i_c_hv_ka"] = Iabc_hv_ka[2, :].flatten() +# res_trafo_df["i_n_hv_ka"] = In_hv_ka.flatten() + res_trafo_df["i_a_lv_ka"] = Iabc_lv_ka[0, :].flatten() + res_trafo_df["i_b_lv_ka"] = Iabc_lv_ka[1, :].flatten() + res_trafo_df["i_c_lv_ka"] = Iabc_lv_ka[2, :].flatten() +# res_trafo_df["i_n_lv_ka"] = In_lv_ka.flatten() + res_trafo_df["loading_a_percent"] = loading_percent[0, :] + res_trafo_df["loading_b_percent"] = loading_percent[1, :] + res_trafo_df["loading_c_percent"] = loading_percent[2, :] + res_trafo_df["loading_percent"] = loading_percent.max(axis=0) + res_trafo_df.index = net["trafo"].index.values + + + +def _get_trafo3w_lookups(net): + f, t = net._pd2ppc_lookups["branch"]["trafo3w"] + hv = int(f + (t - f) / 3) + mv = int(f + 2 * (t - f) / 3) + lv = t + return f, hv, mv, lv + + +def _get_trafo3w_results(net, ppc, s_ft, i_ft, suffix=None): + if "trafo3w" not in net._pd2ppc_lookups["branch"]: + return + + trafo_loading = net["_options"]["trafo_loading"] + ac = net["_options"]["ac"] + f, hv, mv, lv = _get_trafo3w_lookups(net) + + phv_mw = ppc["branch"][f:hv, PF].real + pmv_mw = ppc["branch"][hv:mv, PT].real + plv_mw = ppc["branch"][mv:lv, PT].real + + p_hv_mw = phv_mw + p_mv_mw = pmv_mw + p_lv_mw = plv_mw + + if ac: + q_hv_mvar = ppc["branch"][f:hv, QF].real + q_mv_mvar = ppc["branch"][hv:mv, QT].real + q_lv_mvar = ppc["branch"][mv:lv, QT].real + pl_mw = phv_mw + pmv_mw + plv_mw + ql_mvar = q_hv_mvar + q_mv_mvar + q_lv_mvar + else: + zeros = np.zeros_like(phv_mw) + q_hv_mvar = zeros + q_mv_mvar = zeros + q_lv_mvar = zeros + pl_mw = zeros + ql_mvar = zeros + + i_h = i_ft[:, 0][f:hv] + i_m = i_ft[:, 1][hv:mv] + i_l = i_ft[:, 1][mv:lv] + + t3 = net["trafo3w"] + if trafo_loading == "current": + ld_h = i_h * t3["vn_hv_kv"].values * np.sqrt(3) / t3["sn_hv_mva"].values * 100 + ld_m = i_m * t3["vn_mv_kv"].values * np.sqrt(3) / t3["sn_mv_mva"].values * 100 + ld_l = i_l * t3["vn_lv_kv"].values * np.sqrt(3) / t3["sn_lv_mva"].values * 100 + with np.errstate(invalid='ignore'): + ld_trafo = np.max(np.vstack([ld_h, ld_m, ld_l]), axis=0) + elif trafo_loading == "power": + ld_h = s_ft[:, 0][f:hv] / t3["sn_hv_mva"].values * 100. + ld_m = s_ft[:, 1][hv:mv] / t3["sn_mv_mva"].values * 100. + ld_l = s_ft[:, 1][mv:lv] / t3["sn_lv_mva"].values * 100. + ld_trafo = np.max(np.vstack([ld_h, ld_m, ld_l]), axis=0) + else: + raise ValueError( + "Unknown transformer loading parameter %s - choose 'current' or 'power'" % trafo_loading) + loading_percent = ld_trafo + + hv_buses = ppc["branch"][f:hv, F_BUS].real.astype(int) + aux_buses = ppc["branch"][f:hv, T_BUS].real.astype(int) + mv_buses = ppc["branch"][hv:mv, T_BUS].real.astype(int) + lv_buses = ppc["branch"][mv:lv, T_BUS].real.astype(int) + + # write results to trafo3w dataframe + res_trafo3w_df = net["res_trafo3w"] if suffix is None else net["res_trafo3w%s"%suffix] + + res_trafo3w_df["p_hv_mw"].values[:] = p_hv_mw + res_trafo3w_df["q_hv_mvar"].values[:] = q_hv_mvar + res_trafo3w_df["p_mv_mw"].values[:] = p_mv_mw + res_trafo3w_df["q_mv_mvar"].values[:] = q_mv_mvar + res_trafo3w_df["p_lv_mw"].values[:] = p_lv_mw + res_trafo3w_df["q_lv_mvar"].values[:] = q_lv_mvar + res_trafo3w_df["pl_mw"].values[:] = pl_mw + res_trafo3w_df["ql_mvar"].values[:] = ql_mvar + res_trafo3w_df["i_hv_ka"].values[:] = i_h + res_trafo3w_df["i_mv_ka"].values[:] = i_m + res_trafo3w_df["i_lv_ka"].values[:] = i_l + res_trafo3w_df["vm_hv_pu"].values[:] = ppc["bus"][hv_buses, VM] + res_trafo3w_df["va_hv_degree"].values[:] = ppc["bus"][hv_buses, VA] + res_trafo3w_df["vm_mv_pu"].values[:] = ppc["bus"][mv_buses, VM] + res_trafo3w_df["va_mv_degree"].values[:] = ppc["bus"][mv_buses, VA] + res_trafo3w_df["vm_lv_pu"].values[:] = ppc["bus"][lv_buses, VM] + res_trafo3w_df["va_lv_degree"].values[:] = ppc["bus"][lv_buses, VA] + res_trafo3w_df["va_internal_degree"].values[:] = ppc["bus"][aux_buses, VA] + res_trafo3w_df["vm_internal_pu"].values[:] = ppc["bus"][aux_buses, VM] + res_trafo3w_df["loading_percent"].values[:] = loading_percent + + + +def _get_impedance_results(net, ppc, i_ft, suffix=None): + ac = net["_options"]["ac"] + + if not "impedance" in net._pd2ppc_lookups["branch"]: + return + f, t = net._pd2ppc_lookups["branch"]["impedance"] + pf_mw = ppc["branch"][f:t, (PF)].real + pt_mw = ppc["branch"][f:t, (PT)].real + p_from_mw = pf_mw + p_to_mw = pt_mw + + if ac: + q_from_mvar = ppc["branch"][f:t, (QF)].real + q_to_mvar = ppc["branch"][f:t, (QT)].real + ql_mvar = q_from_mvar + q_to_mvar + pl_mw = pf_mw + pt_mw + else: + zeros = np.zeros_like(p_from_mw) + # this looks like a pyramid + q_from_mvar = zeros + q_to_mvar = zeros + ql_mvar = zeros + pl_mw = zeros + # zeros + + i_from_ka = i_ft[f:t][:, 0] + i_to_ka = i_ft[f:t][:, 1] + + # write to impedance + res_impedance_df = net["res_impedance"] if suffix is None else net["res_impedance%s"%suffix] + + res_impedance_df["p_from_mw"].values[:] = p_from_mw + res_impedance_df["q_from_mvar"].values[:] = q_from_mvar + res_impedance_df["p_to_mw"].values[:] = p_to_mw + res_impedance_df["q_to_mvar"].values[:] = q_to_mvar + res_impedance_df["pl_mw"].values[:] = pl_mw + res_impedance_df["ql_mvar"].values[:] = ql_mvar + res_impedance_df["i_from_ka"].values[:] = i_from_ka + res_impedance_df["i_to_ka"].values[:] = i_to_ka + + + +def _get_xward_branch_results(net, ppc, bus_lookup_aranged, pq_buses, suffix=None): + ac = net["_options"]["ac"] + + if not "xward" in net._pd2ppc_lookups["branch"]: + return + f, t = net._pd2ppc_lookups["branch"]["xward"] + p_branch_xward = ppc["branch"][f:t, PF].real + net["res_xward"]["p_mw"].values[:] = net["res_xward"]["p_mw"].values + p_branch_xward + if ac: + q_branch_xward = ppc["branch"][f:t, QF].real + net["res_xward"]["q_mvar"].values[:] = net["res_xward"]["q_mvar"].values + q_branch_xward + else: + q_branch_xward = np.zeros(len(p_branch_xward)) + b_pp, p, q = _sum_by_group(net["xward"]["bus"].values, p_branch_xward, q_branch_xward) + b_ppc = bus_lookup_aranged[b_pp] + + pq_buses[b_ppc, 0] += p + pq_buses[b_ppc, 1] += q + aux_buses = net["_pd2ppc_lookups"]["bus"][net["_pd2ppc_lookups"]["aux"]["xward"]] + + res_xward_df = net["res_xward"] if suffix is None else net["res_xward%s" % suffix] + + res_xward_df["va_internal_degree"].values[:] = ppc["bus"][aux_buses, VA] + res_xward_df["vm_internal_pu"].values[:] = ppc["bus"][aux_buses, VM] + res_xward_df.index = net["xward"].index + + + +def _get_switch_results(net, i_ft, suffix=None): + if not "switch" in net._pd2ppc_lookups["branch"]: + return + f, t = net._pd2ppc_lookups["branch"]["switch"] + with np.errstate(invalid='ignore'): + i_ka = np.max(i_ft[f:t], axis=1) + + res_switch_df = "res_switch" if suffix is None else "res_switch%s" % suffix + net[res_switch_df] = pd.DataFrame(data=i_ka, columns=["i_ka"], + index=net.switch[net._impedance_bb_switches].index) diff --git a/pandapower/results_bus.py b/pandapower/results_bus.py index 360ad3d4e..9db92737e 100644 --- a/pandapower/results_bus.py +++ b/pandapower/results_bus.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/results_gen.py b/pandapower/results_gen.py index b724e2d1c..86bf835cc 100644 --- a/pandapower/results_gen.py +++ b/pandapower/results_gen.py @@ -1,329 +1,329 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import numpy as np -from numpy import complex128 -from pandapower.pypower.idx_bus import VM, VA,BASE_KV -from pandapower.pypower.idx_gen import PG, QG, GEN_BUS - -from pandapower.auxiliary import _sum_by_group, sequence_to_phase, _sum_by_group_nvals, \ - I_from_SV_elementwise, S_from_VI_elementwise, SVabc_from_SV012 - -from pandapower.auxiliary import _sum_by_group -from pandapower.pypower.idx_bus import VM, VA -from pandapower.pypower.idx_gen import PG, QG - - -def _get_gen_results(net, ppc, bus_lookup_aranged, pq_bus): - ac = net["_options"]["ac"] - - eg_end = sum(net['ext_grid'].in_service) - gen_end = eg_end + len(net['gen']) - - if eg_end > 0: - b, p, q = _get_ext_grid_results(net, ppc) - else: - b, p, q = [], [], [] # np.array([]), np.array([]), np.array([]) - - # get results for gens - if gen_end > eg_end: - b, p, q = _get_pp_gen_results(net, ppc, b, p, q) - - if len(net.dcline) > 0: - _get_dcline_results(net) - b = np.hstack([b, net.dcline[["from_bus", "to_bus"]].values.flatten()]) - p = np.hstack([p, net.res_dcline[["p_from_mw", "p_to_mw"]].values.flatten()]) - q = np.hstack([q, net.res_dcline[["q_from_mvar", "q_to_mvar"]].values.flatten()]) - - if not ac: - q = np.zeros(len(p)) - b_sum, p_sum, q_sum = _sum_by_group(b, p, q) - b = bus_lookup_aranged[b_sum.astype(int)] - pq_bus[b, 0] -= p_sum - pq_bus[b, 1] -= q_sum - - -def _get_gen_results_3ph(net, ppc0, ppc1, ppc2, bus_lookup_aranged, pq_bus): - ac = net["_options"]["ac"] - - eg_end = len(net['ext_grid']) - gen_end = eg_end + len(net['gen'][net['_is_elements']['gen']]) - - b, pA, qA, pB, qB, pC, qC = _get_ext_grid_results_3ph(net, ppc0, ppc1, ppc2) - - # get results for gens - if gen_end > eg_end: - b, pA, qA, pB, qB, pC, qC = _get_pp_gen_results_3ph(net, ppc0, ppc1, ppc2, b, pA, qA, pB, qB, pC, qC) - - if not ac: - qA, qB, qC = np.copy((np.zeros(len(pA)),)*3) - - b_pp, pA_sum, qA_sum, pB_sum, qB_sum, pC_sum, qC_sum = _sum_by_group_nvals(b.astype(int), pA, qA, pB, qB, pC, qC) - b_ppc = bus_lookup_aranged[b_pp] - pq_bus[b_ppc, 0] -= pA_sum - pq_bus[b_ppc, 1] -= qA_sum - pq_bus[b_ppc, 2] -= pB_sum - pq_bus[b_ppc, 3] -= qB_sum - pq_bus[b_ppc, 4] -= pC_sum - pq_bus[b_ppc, 5] -= qC_sum - - -def _get_ext_grid_results(net, ppc): - ac = net["_options"]["ac"] - - # get results for external grids - eg_is_mask = net["_is_elements"]['ext_grid'] - ext_grid_lookup = net["_pd2ppc_lookups"]["ext_grid"] - - n_res_eg = len(net['ext_grid']) - # indices of in service gens in the ppc - eg_is_idx = net["ext_grid"].index.values[eg_is_mask] - gen_idx_ppc = ext_grid_lookup[eg_is_idx] - - # read results from ppc for these buses - p = np.zeros(n_res_eg) - q = np.zeros(n_res_eg) - p[eg_is_mask] = ppc["gen"][gen_idx_ppc, PG] - # store result in net['res'] - net["res_ext_grid"]["p_mw"] = p - - # if ac PF q results are also available - if ac: - q[eg_is_mask] = ppc["gen"][gen_idx_ppc, QG] - net["res_ext_grid"]["q_mvar"] = q - - # get bus values for pq_bus - b = net['ext_grid'].bus.values - # copy index for results - net["res_ext_grid"].index = net['ext_grid'].index - - return b, p, q - -def _get_ext_grid_results_3ph(net, ppc0, ppc1, ppc2): - # get results for external grids - eg_is_mask = net["_is_elements"]['ext_grid'] - ext_grid_lookup = net["_pd2ppc_lookups"]["ext_grid"] - - n_res_eg = len(net['ext_grid']) - # indices of in service gens in the ppc - eg_is_idx = net["ext_grid"].index.values[eg_is_mask] - eg_idx_ppc = ext_grid_lookup[eg_is_idx] - """ # 2 ext_grids Fix: Instead of the generator index, bus indices of the generators are used""" - eg_bus_idx_ppc = np.real(ppc1["gen"][eg_idx_ppc, GEN_BUS]).astype(int) - # read results from ppc for these buses - V012 = np.array(np.zeros((3, n_res_eg)),dtype = np.complex128) - V012[:, eg_is_idx] = np.array([ppc["bus"][eg_bus_idx_ppc, VM] * ppc["bus"][eg_bus_idx_ppc, BASE_KV] - * np.exp(1j * np.deg2rad(ppc["bus"][eg_bus_idx_ppc, VA])) - for ppc in [ppc0, ppc1, ppc2]]) - - S012 = np.array(np.zeros((3, n_res_eg)),dtype = np.complex128) - S012[:, eg_idx_ppc] = np.array([(ppc["gen"][eg_idx_ppc, PG] + 1j \ - * ppc["gen"][eg_idx_ppc, QG]) \ - for ppc in [ppc0, ppc1, ppc2]]) - - Sabc, Vabc = SVabc_from_SV012(S012, V012/ np.sqrt(3), n_res=n_res_eg, idx=eg_idx_ppc) - - pA, pB, pC = map(lambda x: x.flatten(), np.real(Sabc)) - qA, qB, qC = map(lambda x: x.flatten(), np.imag(Sabc)) - - # store result in net['res'] - net["res_ext_grid_3ph"]["p_a_mw"] = pA - net["res_ext_grid_3ph"]["p_b_mw"] = pB - net["res_ext_grid_3ph"]["p_c_mw"] = pC - net["res_ext_grid_3ph"]["q_a_mvar"] = qA - net["res_ext_grid_3ph"]["q_b_mvar"] = qB - net["res_ext_grid_3ph"]["q_c_mvar"] = qC - - # get bus values for pq_bus - b = net['ext_grid'].bus.values - # copy index for results - net["res_ext_grid_3ph"].index = net['ext_grid'].index - - return b, pA, qA, pB, qB, pC, qC - - -def _get_p_q_gen_results(net, ppc): - gen_is = net["_is_elements"]["gen"] - gen_lookup = net["_pd2ppc_lookups"]["gen"] - gen_is_idx = np.array(net["gen"].index)[gen_is] - # indices of in service gens in the ppc - if np.any(gen_is): - gen_idx_ppc = gen_lookup[gen_is_idx] - else: - gen_idx_ppc = [] - - # read results from ppc for these buses - n_res_gen = len(net['gen']) - p_gen = np.zeros(n_res_gen) - p_gen[gen_is] = ppc["gen"][gen_idx_ppc, PG] - q_gen = None - if net["_options"]["ac"]: - q_gen = np.zeros(n_res_gen) - q_gen[gen_is] = ppc["gen"][gen_idx_ppc, QG] - net["res_gen"]["q_mvar"].values[:] = q_gen - - net["res_gen"]["p_mw"].values[:] = p_gen - return p_gen, q_gen - -def _get_p_q_gen_results_3ph(net, ppc0, ppc1, ppc2): - _is_elements = net["_is_elements"] - ac = net["_options"]["ac"] - gen_is_mask = _is_elements['gen'] - gen_lookup = net["_pd2ppc_lookups"]["gen"] - gen_is_idx = net["gen"].index[gen_is_mask] - # indices of in service gens in the ppc - if np.any(_is_elements["gen"]): - gen_idx_ppc = gen_lookup[gen_is_idx] - else: - gen_idx_ppc = [] - - # read results from ppc for these buses - n_res_gen = len(net['gen']) - gen_idx_ppc = gen_lookup[gen_is_idx] - """ # 2 ext_grids Fix: Instead of the generator index, bus indices of the generators are used""" - gen_bus_idx_ppc = np.real(ppc1["gen"][gen_idx_ppc, GEN_BUS]).astype(int) - - V012 = np.array(np.zeros((3, n_res_gen))) - V012[:, gen_is_idx] = np.array([ppc["bus"][gen_bus_idx_ppc, VM] - * np.exp(1j * np.deg2rad(ppc["bus"][gen_bus_idx_ppc, VA])) - for ppc in [ppc0, ppc1, ppc2]]) - - S012 = np.array(np.zeros((3, n_res_gen))) - S012[:, gen_is_idx] = np.array( - [-(ppc["gen"][gen_idx_ppc, PG] + 1j * ppc["gen"][gen_idx_ppc, QG]) for ppc in [ppc0, ppc1, ppc2]]) - I012 = np.array(np.zeros((3, n_res_gen))) - I012[:, gen_is_idx] = I_from_SV_elementwise(S012[:, gen_is_idx], V012[:, gen_is_idx]) - - Vabc = sequence_to_phase(V012) - Iabc = sequence_to_phase(I012) - Sabc = S_from_VI_elementwise(Vabc, Iabc) * 1e3 - pA, pB, pC = map(lambda x: x.flatten(), np.real(Sabc)) - qA, qB, qC = map(lambda x: x.flatten(), np.imag(Sabc)) - - net["res_gen_3ph"]["p_a_mw"] = pA - net["res_gen_3ph"]["p_b_mw"] = pB - net["res_gen_3ph"]["p_c_mw"] = pC - net["res_gen_3ph"]["q_a_mvar"] = qA - net["res_gen_3ph"]["q_b_mvar"] = qB - net["res_gen_3ph"]["q_c_mvar"] = qC - - return pA, qA, pB, qB, pC, qC - - - -def _get_v_gen_resuts(net, ppc): - # lookups for ppc - bus_lookup = net["_pd2ppc_lookups"]["bus"] - - # in service gens - gen_is = net["_is_elements"]['gen'] - bus_idx_ppc = bus_lookup[net["gen"]["bus"].values[gen_is]] - - n_res_gen = len(net['gen']) - - # voltage magnitudes - v_pu = np.zeros(n_res_gen) - v_pu[gen_is] = ppc["bus"][bus_idx_ppc][:, VM] - - # voltage angles - v_a = np.zeros(n_res_gen) - v_a[gen_is] = ppc["bus"][bus_idx_ppc][:, VA] - - net["res_gen"]["vm_pu"].values[:] = v_pu - net["res_gen"]["va_degree"].values[:] = v_a - return v_pu, v_a - - -def _get_v_gen_results_3ph(net, ppc0, ppc1, ppc2): - # lookups for ppc - bus_lookup = net["_pd2ppc_lookups"]["bus"] - gen_lookup = net["_pd2ppc_lookups"]["gen"] - - # in service gens - gen_is_mask = net["_is_elements"]['gen'] - gen_is_idx = net["gen"].index[gen_is_mask] - bus_idx_ppc = bus_lookup[net["gen"]["bus"].values[gen_is_mask]] - - n_res_gen = len(net['gen']) - gen_idx_ppc = gen_lookup[gen_is_idx] - """ # 2 ext_grids Fix: Instead of the generator index, bus indices of the generators are used""" - gen_bus_idx_ppc = np.real(ppc1["gen"][gen_idx_ppc, GEN_BUS]).astype(int) - V012 = np.array(np.zeros((3, n_res_gen))) - V012[:, gen_is_mask] = np.array([ppc["bus"][gen_bus_idx_ppc, VM] - * np.exp(1j * np.deg2rad(ppc["bus"][gen_bus_idx_ppc, VA])) - for ppc in [ppc0, ppc1, ppc2]]) - VABC = sequence_to_phase(V012) - - # voltage magnitudes - vA_pu, vB_pu, vC_pu = np.copy((np.zeros(n_res_gen),) * 3) - vA_pu[gen_idx_ppc] = np.abs(VABC[0, gen_idx_ppc]) - vB_pu[gen_idx_ppc] = np.abs(VABC[1, gen_idx_ppc]) - vC_pu[gen_idx_ppc] = np.abs(VABC[2, gen_idx_ppc]) - - # voltage angles - vA_a, vB_a, vC_a = np.copy((np.zeros(n_res_gen),) * 3) - vA_a[gen_idx_ppc] = np.rad2deg(np.angle(VABC[0, gen_idx_ppc])) - vB_a[gen_idx_ppc] = np.rad2deg(np.angle(VABC[1, gen_idx_ppc])) - vC_a[gen_idx_ppc] = np.rad2deg(np.angle(VABC[2, gen_idx_ppc])) - - net["res_gen_3ph"]["vmA_pu"] = vA_pu - net["res_gen_3ph"]["vmB_pu"] = vB_pu - net["res_gen_3ph"]["vmC_pu"] = vC_pu - net["res_gen_3ph"]["vaA_degree"] = vA_a - net["res_gen_3ph"]["vaB_degree"] = vB_a - net["res_gen_3ph"]["vaC_degree"] = vC_a - return vA_pu, vA_a, vB_pu, vB_a, vC_pu, vC_a - - -def _get_pp_gen_results(net, ppc, b, p, q): - p_gen, q_gen = _get_p_q_gen_results(net, ppc) - _get_v_gen_resuts(net, ppc) - - b = np.hstack([b, net['gen'].bus.values]) - - p = np.hstack([p, p_gen]) - if net["_options"]["ac"]: - q = np.hstack([q, q_gen]) - - return b, p, q - -def _get_pp_gen_results_3ph(net, ppc0, ppc1, ppc2, b, pA, qA, pB, qB, pC, qC): - pA_gen, qA_gen, pB_gen, qB_gen, pC_gen, qC_gen = _get_p_q_gen_results_3ph(net, ppc0, ppc1, ppc2) - _get_v_gen_results_3ph(net, ppc0, ppc1, ppc2) - - ac = net["_options"]["ac"] - - net["res_gen_3ph"].index = net['gen'].index - b = np.hstack([b, net['gen'].bus.values]) - - pA = np.hstack([pA, pA_gen]) - pB = np.hstack([pB, pB_gen]) - pC = np.hstack([pC, pC_gen]) - if ac: - qA = np.hstack([qA, qA_gen]) - qB = np.hstack([qB, qB_gen]) - qC = np.hstack([qC, qC_gen]) - - return b, pA, qA, pB, qB, pC, qC - -def _get_dcline_results(net): - dc_gens = net.gen.index[(len(net.gen) - len(net.dcline) * 2):] - from_gens = net.res_gen.loc[dc_gens[1::2]] - to_gens = net.res_gen.loc[dc_gens[::2]] - - net.res_dcline.p_from_mw = - from_gens.p_mw.values - net.res_dcline.p_to_mw = - to_gens.p_mw.values - net.res_dcline.pl_mw = - (to_gens.p_mw.values + from_gens.p_mw.values) - - net.res_dcline.q_from_mvar = - from_gens.q_mvar.values - net.res_dcline.q_to_mvar = - to_gens.q_mvar.values - - net.res_dcline.vm_from_pu = from_gens.vm_pu.values - net.res_dcline.vm_to_pu = to_gens.vm_pu.values - net.res_dcline.va_from_degree = from_gens.va_degree.values - net.res_dcline.va_to_degree = to_gens.va_degree.values - - net.res_dcline.index = net.dcline.index +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import numpy as np +from numpy import complex128 +from pandapower.pypower.idx_bus import VM, VA,BASE_KV +from pandapower.pypower.idx_gen import PG, QG, GEN_BUS + +from pandapower.auxiliary import _sum_by_group, sequence_to_phase, _sum_by_group_nvals, \ + I_from_SV_elementwise, S_from_VI_elementwise, SVabc_from_SV012 + +from pandapower.auxiliary import _sum_by_group +from pandapower.pypower.idx_bus import VM, VA +from pandapower.pypower.idx_gen import PG, QG + + +def _get_gen_results(net, ppc, bus_lookup_aranged, pq_bus): + ac = net["_options"]["ac"] + + eg_end = sum(net['ext_grid'].in_service) + gen_end = eg_end + len(net['gen']) + + if eg_end > 0: + b, p, q = _get_ext_grid_results(net, ppc) + else: + b, p, q = [], [], [] # np.array([]), np.array([]), np.array([]) + + # get results for gens + if gen_end > eg_end: + b, p, q = _get_pp_gen_results(net, ppc, b, p, q) + + if len(net.dcline) > 0: + _get_dcline_results(net) + b = np.hstack([b, net.dcline[["from_bus", "to_bus"]].values.flatten()]) + p = np.hstack([p, net.res_dcline[["p_from_mw", "p_to_mw"]].values.flatten()]) + q = np.hstack([q, net.res_dcline[["q_from_mvar", "q_to_mvar"]].values.flatten()]) + + if not ac: + q = np.zeros(len(p)) + b_sum, p_sum, q_sum = _sum_by_group(b, p, q) + b = bus_lookup_aranged[b_sum.astype(int)] + pq_bus[b, 0] -= p_sum + pq_bus[b, 1] -= q_sum + + +def _get_gen_results_3ph(net, ppc0, ppc1, ppc2, bus_lookup_aranged, pq_bus): + ac = net["_options"]["ac"] + + eg_end = len(net['ext_grid']) + gen_end = eg_end + len(net['gen'][net['_is_elements']['gen']]) + + b, pA, qA, pB, qB, pC, qC = _get_ext_grid_results_3ph(net, ppc0, ppc1, ppc2) + + # get results for gens + if gen_end > eg_end: + b, pA, qA, pB, qB, pC, qC = _get_pp_gen_results_3ph(net, ppc0, ppc1, ppc2, b, pA, qA, pB, qB, pC, qC) + + if not ac: + qA, qB, qC = np.copy((np.zeros(len(pA)),)*3) + + b_pp, pA_sum, qA_sum, pB_sum, qB_sum, pC_sum, qC_sum = _sum_by_group_nvals(b.astype(int), pA, qA, pB, qB, pC, qC) + b_ppc = bus_lookup_aranged[b_pp] + pq_bus[b_ppc, 0] -= pA_sum + pq_bus[b_ppc, 1] -= qA_sum + pq_bus[b_ppc, 2] -= pB_sum + pq_bus[b_ppc, 3] -= qB_sum + pq_bus[b_ppc, 4] -= pC_sum + pq_bus[b_ppc, 5] -= qC_sum + + +def _get_ext_grid_results(net, ppc): + ac = net["_options"]["ac"] + + # get results for external grids + eg_is_mask = net["_is_elements"]['ext_grid'] + ext_grid_lookup = net["_pd2ppc_lookups"]["ext_grid"] + + n_res_eg = len(net['ext_grid']) + # indices of in service gens in the ppc + eg_is_idx = net["ext_grid"].index.values[eg_is_mask] + gen_idx_ppc = ext_grid_lookup[eg_is_idx] + + # read results from ppc for these buses + p = np.zeros(n_res_eg) + q = np.zeros(n_res_eg) + p[eg_is_mask] = ppc["gen"][gen_idx_ppc, PG] + # store result in net['res'] + net["res_ext_grid"]["p_mw"] = p + + # if ac PF q results are also available + if ac: + q[eg_is_mask] = ppc["gen"][gen_idx_ppc, QG] + net["res_ext_grid"]["q_mvar"] = q + + # get bus values for pq_bus + b = net['ext_grid'].bus.values + # copy index for results + net["res_ext_grid"].index = net['ext_grid'].index + + return b, p, q + +def _get_ext_grid_results_3ph(net, ppc0, ppc1, ppc2): + # get results for external grids + eg_is_mask = net["_is_elements"]['ext_grid'] + ext_grid_lookup = net["_pd2ppc_lookups"]["ext_grid"] + + n_res_eg = len(net['ext_grid']) + # indices of in service gens in the ppc + eg_is_idx = net["ext_grid"].index.values[eg_is_mask] + eg_idx_ppc = ext_grid_lookup[eg_is_idx] + """ # 2 ext_grids Fix: Instead of the generator index, bus indices of the generators are used""" + eg_bus_idx_ppc = np.real(ppc1["gen"][eg_idx_ppc, GEN_BUS]).astype(int) + # read results from ppc for these buses + V012 = np.array(np.zeros((3, n_res_eg)),dtype = np.complex128) + V012[:, eg_is_idx] = np.array([ppc["bus"][eg_bus_idx_ppc, VM] * ppc["bus"][eg_bus_idx_ppc, BASE_KV] + * np.exp(1j * np.deg2rad(ppc["bus"][eg_bus_idx_ppc, VA])) + for ppc in [ppc0, ppc1, ppc2]]) + + S012 = np.array(np.zeros((3, n_res_eg)),dtype = np.complex128) + S012[:, eg_idx_ppc] = np.array([(ppc["gen"][eg_idx_ppc, PG] + 1j \ + * ppc["gen"][eg_idx_ppc, QG]) \ + for ppc in [ppc0, ppc1, ppc2]]) + + Sabc, Vabc = SVabc_from_SV012(S012, V012/ np.sqrt(3), n_res=n_res_eg, idx=eg_idx_ppc) + + pA, pB, pC = map(lambda x: x.flatten(), np.real(Sabc)) + qA, qB, qC = map(lambda x: x.flatten(), np.imag(Sabc)) + + # store result in net['res'] + net["res_ext_grid_3ph"]["p_a_mw"] = pA + net["res_ext_grid_3ph"]["p_b_mw"] = pB + net["res_ext_grid_3ph"]["p_c_mw"] = pC + net["res_ext_grid_3ph"]["q_a_mvar"] = qA + net["res_ext_grid_3ph"]["q_b_mvar"] = qB + net["res_ext_grid_3ph"]["q_c_mvar"] = qC + + # get bus values for pq_bus + b = net['ext_grid'].bus.values + # copy index for results + net["res_ext_grid_3ph"].index = net['ext_grid'].index + + return b, pA, qA, pB, qB, pC, qC + + +def _get_p_q_gen_results(net, ppc): + gen_is = net["_is_elements"]["gen"] + gen_lookup = net["_pd2ppc_lookups"]["gen"] + gen_is_idx = np.array(net["gen"].index)[gen_is] + # indices of in service gens in the ppc + if np.any(gen_is): + gen_idx_ppc = gen_lookup[gen_is_idx] + else: + gen_idx_ppc = [] + + # read results from ppc for these buses + n_res_gen = len(net['gen']) + p_gen = np.zeros(n_res_gen) + p_gen[gen_is] = ppc["gen"][gen_idx_ppc, PG] + q_gen = None + if net["_options"]["ac"]: + q_gen = np.zeros(n_res_gen) + q_gen[gen_is] = ppc["gen"][gen_idx_ppc, QG] + net["res_gen"]["q_mvar"].values[:] = q_gen + + net["res_gen"]["p_mw"].values[:] = p_gen + return p_gen, q_gen + +def _get_p_q_gen_results_3ph(net, ppc0, ppc1, ppc2): + _is_elements = net["_is_elements"] + ac = net["_options"]["ac"] + gen_is_mask = _is_elements['gen'] + gen_lookup = net["_pd2ppc_lookups"]["gen"] + gen_is_idx = net["gen"].index[gen_is_mask] + # indices of in service gens in the ppc + if np.any(_is_elements["gen"]): + gen_idx_ppc = gen_lookup[gen_is_idx] + else: + gen_idx_ppc = [] + + # read results from ppc for these buses + n_res_gen = len(net['gen']) + gen_idx_ppc = gen_lookup[gen_is_idx] + """ # 2 ext_grids Fix: Instead of the generator index, bus indices of the generators are used""" + gen_bus_idx_ppc = np.real(ppc1["gen"][gen_idx_ppc, GEN_BUS]).astype(int) + + V012 = np.array(np.zeros((3, n_res_gen))) + V012[:, gen_is_idx] = np.array([ppc["bus"][gen_bus_idx_ppc, VM] + * np.exp(1j * np.deg2rad(ppc["bus"][gen_bus_idx_ppc, VA])) + for ppc in [ppc0, ppc1, ppc2]]) + + S012 = np.array(np.zeros((3, n_res_gen))) + S012[:, gen_is_idx] = np.array( + [-(ppc["gen"][gen_idx_ppc, PG] + 1j * ppc["gen"][gen_idx_ppc, QG]) for ppc in [ppc0, ppc1, ppc2]]) + I012 = np.array(np.zeros((3, n_res_gen))) + I012[:, gen_is_idx] = I_from_SV_elementwise(S012[:, gen_is_idx], V012[:, gen_is_idx]) + + Vabc = sequence_to_phase(V012) + Iabc = sequence_to_phase(I012) + Sabc = S_from_VI_elementwise(Vabc, Iabc) * 1e3 + pA, pB, pC = map(lambda x: x.flatten(), np.real(Sabc)) + qA, qB, qC = map(lambda x: x.flatten(), np.imag(Sabc)) + + net["res_gen_3ph"]["p_a_mw"] = pA + net["res_gen_3ph"]["p_b_mw"] = pB + net["res_gen_3ph"]["p_c_mw"] = pC + net["res_gen_3ph"]["q_a_mvar"] = qA + net["res_gen_3ph"]["q_b_mvar"] = qB + net["res_gen_3ph"]["q_c_mvar"] = qC + + return pA, qA, pB, qB, pC, qC + + + +def _get_v_gen_resuts(net, ppc): + # lookups for ppc + bus_lookup = net["_pd2ppc_lookups"]["bus"] + + # in service gens + gen_is = net["_is_elements"]['gen'] + bus_idx_ppc = bus_lookup[net["gen"]["bus"].values[gen_is]] + + n_res_gen = len(net['gen']) + + # voltage magnitudes + v_pu = np.zeros(n_res_gen) + v_pu[gen_is] = ppc["bus"][bus_idx_ppc][:, VM] + + # voltage angles + v_a = np.zeros(n_res_gen) + v_a[gen_is] = ppc["bus"][bus_idx_ppc][:, VA] + + net["res_gen"]["vm_pu"].values[:] = v_pu + net["res_gen"]["va_degree"].values[:] = v_a + return v_pu, v_a + + +def _get_v_gen_results_3ph(net, ppc0, ppc1, ppc2): + # lookups for ppc + bus_lookup = net["_pd2ppc_lookups"]["bus"] + gen_lookup = net["_pd2ppc_lookups"]["gen"] + + # in service gens + gen_is_mask = net["_is_elements"]['gen'] + gen_is_idx = net["gen"].index[gen_is_mask] + bus_idx_ppc = bus_lookup[net["gen"]["bus"].values[gen_is_mask]] + + n_res_gen = len(net['gen']) + gen_idx_ppc = gen_lookup[gen_is_idx] + """ # 2 ext_grids Fix: Instead of the generator index, bus indices of the generators are used""" + gen_bus_idx_ppc = np.real(ppc1["gen"][gen_idx_ppc, GEN_BUS]).astype(int) + V012 = np.array(np.zeros((3, n_res_gen))) + V012[:, gen_is_mask] = np.array([ppc["bus"][gen_bus_idx_ppc, VM] + * np.exp(1j * np.deg2rad(ppc["bus"][gen_bus_idx_ppc, VA])) + for ppc in [ppc0, ppc1, ppc2]]) + VABC = sequence_to_phase(V012) + + # voltage magnitudes + vA_pu, vB_pu, vC_pu = np.copy((np.zeros(n_res_gen),) * 3) + vA_pu[gen_idx_ppc] = np.abs(VABC[0, gen_idx_ppc]) + vB_pu[gen_idx_ppc] = np.abs(VABC[1, gen_idx_ppc]) + vC_pu[gen_idx_ppc] = np.abs(VABC[2, gen_idx_ppc]) + + # voltage angles + vA_a, vB_a, vC_a = np.copy((np.zeros(n_res_gen),) * 3) + vA_a[gen_idx_ppc] = np.rad2deg(np.angle(VABC[0, gen_idx_ppc])) + vB_a[gen_idx_ppc] = np.rad2deg(np.angle(VABC[1, gen_idx_ppc])) + vC_a[gen_idx_ppc] = np.rad2deg(np.angle(VABC[2, gen_idx_ppc])) + + net["res_gen_3ph"]["vmA_pu"] = vA_pu + net["res_gen_3ph"]["vmB_pu"] = vB_pu + net["res_gen_3ph"]["vmC_pu"] = vC_pu + net["res_gen_3ph"]["vaA_degree"] = vA_a + net["res_gen_3ph"]["vaB_degree"] = vB_a + net["res_gen_3ph"]["vaC_degree"] = vC_a + return vA_pu, vA_a, vB_pu, vB_a, vC_pu, vC_a + + +def _get_pp_gen_results(net, ppc, b, p, q): + p_gen, q_gen = _get_p_q_gen_results(net, ppc) + _get_v_gen_resuts(net, ppc) + + b = np.hstack([b, net['gen'].bus.values]) + + p = np.hstack([p, p_gen]) + if net["_options"]["ac"]: + q = np.hstack([q, q_gen]) + + return b, p, q + +def _get_pp_gen_results_3ph(net, ppc0, ppc1, ppc2, b, pA, qA, pB, qB, pC, qC): + pA_gen, qA_gen, pB_gen, qB_gen, pC_gen, qC_gen = _get_p_q_gen_results_3ph(net, ppc0, ppc1, ppc2) + _get_v_gen_results_3ph(net, ppc0, ppc1, ppc2) + + ac = net["_options"]["ac"] + + net["res_gen_3ph"].index = net['gen'].index + b = np.hstack([b, net['gen'].bus.values]) + + pA = np.hstack([pA, pA_gen]) + pB = np.hstack([pB, pB_gen]) + pC = np.hstack([pC, pC_gen]) + if ac: + qA = np.hstack([qA, qA_gen]) + qB = np.hstack([qB, qB_gen]) + qC = np.hstack([qC, qC_gen]) + + return b, pA, qA, pB, qB, pC, qC + +def _get_dcline_results(net): + dc_gens = net.gen.index[(len(net.gen) - len(net.dcline) * 2):] + from_gens = net.res_gen.loc[dc_gens[1::2]] + to_gens = net.res_gen.loc[dc_gens[::2]] + + net.res_dcline.p_from_mw = - from_gens.p_mw.values + net.res_dcline.p_to_mw = - to_gens.p_mw.values + net.res_dcline.pl_mw = - (to_gens.p_mw.values + from_gens.p_mw.values) + + net.res_dcline.q_from_mvar = - from_gens.q_mvar.values + net.res_dcline.q_to_mvar = - to_gens.q_mvar.values + + net.res_dcline.vm_from_pu = from_gens.vm_pu.values + net.res_dcline.vm_to_pu = to_gens.vm_pu.values + net.res_dcline.va_from_degree = from_gens.va_degree.values + net.res_dcline.va_to_degree = to_gens.va_degree.values + + net.res_dcline.index = net.dcline.index diff --git a/pandapower/run.py b/pandapower/run.py index 25e4eb97a..600989a78 100644 --- a/pandapower/run.py +++ b/pandapower/run.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/runpm.py b/pandapower/runpm.py index 10d93f8f8..9bb1fed56 100644 --- a/pandapower/runpm.py +++ b/pandapower/runpm.py @@ -1,4 +1,4 @@ -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. # Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. diff --git a/pandapower/shortcircuit/calc_sc.py b/pandapower/shortcircuit/calc_sc.py index 1720397cc..8f8d927a6 100644 --- a/pandapower/shortcircuit/calc_sc.py +++ b/pandapower/shortcircuit/calc_sc.py @@ -1,247 +1,247 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -try: - import pplog as logging -except ImportError: - import logging - -logger = logging.getLogger(__name__) - -import numpy as np -from scipy.sparse.linalg import factorized - -from pandapower.auxiliary import _clean_up, _add_ppc_options, _add_sc_options, _add_auxiliary_elements -from pandapower.pd2ppc import _pd2ppc -from pandapower.pd2ppc_zero import _pd2ppc_zero -from pandapower.results import _copy_results_ppci_to_ppc - -from pandapower.shortcircuit.currents import _calc_ikss,\ - _calc_ikss_1ph, _calc_ip, _calc_ith, _calc_branch_currents -from pandapower.shortcircuit.impedance import _calc_zbus, _calc_ybus, _calc_rx -from pandapower.shortcircuit.ppc_conversion import _init_ppc, _create_k_updated_ppci, _get_is_ppci_bus -from pandapower.shortcircuit.kappa import _add_kappa_to_ppc -from pandapower.shortcircuit.results import _extract_results, _copy_result_to_ppci_orig -from pandapower.results import init_results - - -def calc_sc(net, bus=None, - fault="3ph", case='max', lv_tol_percent=10, topology="auto", ip=False, - ith=False, tk_s=1., kappa_method="C", r_fault_ohm=0., x_fault_ohm=0., - branch_results=False, check_connectivity=True, return_all_currents=False, - inverse_y=True): - - """ - Calculates minimal or maximal symmetrical short-circuit currents. - The calculation is based on the method of the equivalent voltage source - according to DIN/IEC EN 60909. - The initial short-circuit alternating current *ikss* is the basis of the short-circuit - calculation and is therefore always calculated. - Other short-circuit currents can be calculated from *ikss* with the conversion factors defined - in DIN/IEC EN 60909. - - The output is stored in the net.res_bus_sc table as a short_circuit current - for each bus. - - INPUT: - **net** (pandapowerNet) pandapower Network - - **bus** (int, list, np.array, None) defines if short-circuit calculations should only be calculated for defined bus - - ***fault** (str, 3ph) type of fault - - - "3ph" for three-phase - - - "2ph" for two-phase short-circuits - - - "1ph" for single-phase ground faults - - **case** (str, "max") - - - "max" for maximal current calculation - - - "min" for minimal current calculation - - **lv_tol_percent** (int, 10) voltage tolerance in low voltage grids - - - 6 for 6% voltage tolerance - - - 10 for 10% voltage olerance - - **ip** (bool, False) if True, calculate aperiodic short-circuit current - - **ith** (bool, False) if True, calculate equivalent thermical short-circuit current Ith - - **topology** (str, "auto") define option for meshing (only relevant for ip and ith) - - - "meshed" - it is assumed all buses are supplied over multiple paths - - - "radial" - it is assumed all buses are supplied over exactly one path - - - "auto" - topology check for each bus is performed to see if it is supplied over multiple paths - - **tk_s** (float, 1) failure clearing time in seconds (only relevant for ith) - - **r_fault_ohm** (float, 0) fault resistance in Ohm - - **x_fault_ohm** (float, 0) fault reactance in Ohm - - **branch_results** (bool, False) defines if short-circuit results should also be generated for branches - - **return_all_currents** (bool, False) applies only if branch_results=True, if True short-circuit currents for - each (branch, bus) tuple is returned otherwise only the max/min is returned - - **inverse_y** (bool, True) defines if complete inverse should be used instead of LU factorization, factorization version is in experiment which should be faster and memory efficienter - - - OUTPUT: - - EXAMPLE: - calc_sc(net) - - print(net.res_bus_sc) - """ - if fault not in ["3ph", "2ph", "1ph"]: - raise NotImplementedError( - "Only 3ph, 2ph and 1ph short-circuit currents implemented") - - if len(net.gen) and (ip or ith): - logger.warning("aperiodic, thermal short-circuit currents are only implemented for " - "faults far from generators!") - - if case not in ['max', 'min']: - raise ValueError('case can only be "min" or "max" for minimal or maximal short "\ - "circuit current') - - if topology not in ["meshed", "radial", "auto"]: - raise ValueError( - 'specify network structure as "meshed", "radial" or "auto"') - - if branch_results: - logger.warning("Branch results are in beta mode and might not always be reliable, " - "especially for transformers") - - # Convert bus to numpy array - if bus is None: - bus = net.bus.index.values - else: - bus = np.array([bus]).ravel() - - kappa = ith or ip - net["_options"] = {} - _add_ppc_options(net, calculate_voltage_angles=False, trafo_model="pi", - check_connectivity=check_connectivity, mode="sc", switch_rx_ratio=2, - init_vm_pu="flat", init_va_degree="flat", enforce_q_lims=False, - recycle=None) - _add_sc_options(net, fault=fault, case=case, lv_tol_percent=lv_tol_percent, tk_s=tk_s, - topology=topology, r_fault_ohm=r_fault_ohm, kappa_method=kappa_method, - x_fault_ohm=x_fault_ohm, kappa=kappa, ip=ip, ith=ith, - branch_results=branch_results, return_all_currents=return_all_currents, - inverse_y=inverse_y) - init_results(net, "sc") - - if fault in ("2ph", "3ph"): - _calc_sc(net, bus) - elif fault == "1ph": - _calc_sc_1ph(net, bus) - else: - raise ValueError("Invalid fault %s" % fault) - - -def _calc_current(net, ppci_orig, bus): - # Select required ppci bus - ppci_bus = _get_is_ppci_bus(net, bus) - - # update ppci - non_ps_gen_ppci_bus, non_ps_gen_ppci, ps_gen_bus_ppci_dict =\ - _create_k_updated_ppci(net, ppci_orig, ppci_bus=ppci_bus) - - # For each ps_gen_bus one unique ppci is required - ps_gen_ppci_bus = list(ps_gen_bus_ppci_dict.keys()) - - for calc_bus in ps_gen_ppci_bus+[non_ps_gen_ppci_bus]: - if isinstance(calc_bus, np.ndarray): - # Use ppci for general bus - this_ppci, this_ppci_bus = non_ps_gen_ppci, calc_bus - else: - # Use specific ps_gen_bus ppci - this_ppci, this_ppci_bus = ps_gen_bus_ppci_dict[calc_bus], np.array([calc_bus]) - - _calc_ybus(this_ppci) - if net["_options"]["inverse_y"]: - _calc_zbus(net, this_ppci) - else: - # Factorization Ybus once - this_ppci["internal"]["ybus_fact"] = factorized(this_ppci["internal"]["Ybus"]) - - _calc_rx(net, this_ppci, this_ppci_bus) - _calc_ikss(net, this_ppci, this_ppci_bus) - _add_kappa_to_ppc(net, this_ppci) - if net["_options"]["ip"]: - _calc_ip(net, this_ppci) - if net["_options"]["ith"]: - _calc_ith(net, this_ppci) - - if net._options["branch_results"]: - _calc_branch_currents(net, this_ppci, this_ppci_bus) - - _copy_result_to_ppci_orig(ppci_orig, this_ppci, this_ppci_bus, - calc_options=net._options) - - -def _calc_sc(net, bus): - ppc, ppci = _init_ppc(net) - - _calc_current(net, ppci, bus) - - ppc = _copy_results_ppci_to_ppc(ppci, ppc, "sc") - _extract_results(net, ppc, ppc_0=None, bus=bus) - _clean_up(net) - - if "ybus_fact" in ppci["internal"]: - # Delete factorization object - ppci["internal"].pop("ybus_fact") - - -def _calc_sc_1ph(net, bus): - """ - calculation method for single phase to ground short-circuit currents - """ - _add_auxiliary_elements(net) - # pos. seq bus impedance - ppc, ppci = _init_ppc(net) - # Create k updated ppci - ppci_bus = _get_is_ppci_bus(net, bus) - _, ppci, _ =\ - _create_k_updated_ppci(net, ppci, ppci_bus=ppci_bus) - _calc_ybus(ppci) - - # zero seq bus impedance - ppc_0, ppci_0 = _pd2ppc_zero(net) - _calc_ybus(ppci_0) - - if net["_options"]["inverse_y"]: - _calc_zbus(net, ppci) - _calc_zbus(net, ppci_0) - else: - # Factorization Ybus once - ppci["internal"]["ybus_fact"] = factorized(ppci["internal"]["Ybus"]) - ppci_0["internal"]["ybus_fact"] = factorized(ppci_0["internal"]["Ybus"]) - - ppci_bus = _get_is_ppci_bus(net, bus) - _calc_rx(net, ppci, ppci_bus) - _add_kappa_to_ppc(net, ppci) - - _calc_rx(net, ppci_0, ppci_bus) - _calc_ikss_1ph(net, ppci, ppci_0, ppci_bus) - - if net._options["branch_results"]: - _calc_branch_currents(net, ppci, ppci_bus) - - ppc_0 = _copy_results_ppci_to_ppc(ppci_0, ppc_0, "sc") - ppc = _copy_results_ppci_to_ppc(ppci, ppc, "sc") - _extract_results(net, ppc, ppc_0, bus=bus) - _clean_up(net) +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +try: + import pplog as logging +except ImportError: + import logging + +logger = logging.getLogger(__name__) + +import numpy as np +from scipy.sparse.linalg import factorized + +from pandapower.auxiliary import _clean_up, _add_ppc_options, _add_sc_options, _add_auxiliary_elements +from pandapower.pd2ppc import _pd2ppc +from pandapower.pd2ppc_zero import _pd2ppc_zero +from pandapower.results import _copy_results_ppci_to_ppc + +from pandapower.shortcircuit.currents import _calc_ikss,\ + _calc_ikss_1ph, _calc_ip, _calc_ith, _calc_branch_currents +from pandapower.shortcircuit.impedance import _calc_zbus, _calc_ybus, _calc_rx +from pandapower.shortcircuit.ppc_conversion import _init_ppc, _create_k_updated_ppci, _get_is_ppci_bus +from pandapower.shortcircuit.kappa import _add_kappa_to_ppc +from pandapower.shortcircuit.results import _extract_results, _copy_result_to_ppci_orig +from pandapower.results import init_results + + +def calc_sc(net, bus=None, + fault="3ph", case='max', lv_tol_percent=10, topology="auto", ip=False, + ith=False, tk_s=1., kappa_method="C", r_fault_ohm=0., x_fault_ohm=0., + branch_results=False, check_connectivity=True, return_all_currents=False, + inverse_y=True): + + """ + Calculates minimal or maximal symmetrical short-circuit currents. + The calculation is based on the method of the equivalent voltage source + according to DIN/IEC EN 60909. + The initial short-circuit alternating current *ikss* is the basis of the short-circuit + calculation and is therefore always calculated. + Other short-circuit currents can be calculated from *ikss* with the conversion factors defined + in DIN/IEC EN 60909. + + The output is stored in the net.res_bus_sc table as a short_circuit current + for each bus. + + INPUT: + **net** (pandapowerNet) pandapower Network + + **bus** (int, list, np.array, None) defines if short-circuit calculations should only be calculated for defined bus + + ***fault** (str, 3ph) type of fault + + - "3ph" for three-phase + + - "2ph" for two-phase short-circuits + + - "1ph" for single-phase ground faults + + **case** (str, "max") + + - "max" for maximal current calculation + + - "min" for minimal current calculation + + **lv_tol_percent** (int, 10) voltage tolerance in low voltage grids + + - 6 for 6% voltage tolerance + + - 10 for 10% voltage olerance + + **ip** (bool, False) if True, calculate aperiodic short-circuit current + + **ith** (bool, False) if True, calculate equivalent thermical short-circuit current Ith + + **topology** (str, "auto") define option for meshing (only relevant for ip and ith) + + - "meshed" - it is assumed all buses are supplied over multiple paths + + - "radial" - it is assumed all buses are supplied over exactly one path + + - "auto" - topology check for each bus is performed to see if it is supplied over multiple paths + + **tk_s** (float, 1) failure clearing time in seconds (only relevant for ith) + + **r_fault_ohm** (float, 0) fault resistance in Ohm + + **x_fault_ohm** (float, 0) fault reactance in Ohm + + **branch_results** (bool, False) defines if short-circuit results should also be generated for branches + + **return_all_currents** (bool, False) applies only if branch_results=True, if True short-circuit currents for + each (branch, bus) tuple is returned otherwise only the max/min is returned + + **inverse_y** (bool, True) defines if complete inverse should be used instead of LU factorization, factorization version is in experiment which should be faster and memory efficienter + + + OUTPUT: + + EXAMPLE: + calc_sc(net) + + print(net.res_bus_sc) + """ + if fault not in ["3ph", "2ph", "1ph"]: + raise NotImplementedError( + "Only 3ph, 2ph and 1ph short-circuit currents implemented") + + if len(net.gen) and (ip or ith): + logger.warning("aperiodic, thermal short-circuit currents are only implemented for " + "faults far from generators!") + + if case not in ['max', 'min']: + raise ValueError('case can only be "min" or "max" for minimal or maximal short "\ + "circuit current') + + if topology not in ["meshed", "radial", "auto"]: + raise ValueError( + 'specify network structure as "meshed", "radial" or "auto"') + + if branch_results: + logger.warning("Branch results are in beta mode and might not always be reliable, " + "especially for transformers") + + # Convert bus to numpy array + if bus is None: + bus = net.bus.index.values + else: + bus = np.array([bus]).ravel() + + kappa = ith or ip + net["_options"] = {} + _add_ppc_options(net, calculate_voltage_angles=False, trafo_model="pi", + check_connectivity=check_connectivity, mode="sc", switch_rx_ratio=2, + init_vm_pu="flat", init_va_degree="flat", enforce_q_lims=False, + recycle=None) + _add_sc_options(net, fault=fault, case=case, lv_tol_percent=lv_tol_percent, tk_s=tk_s, + topology=topology, r_fault_ohm=r_fault_ohm, kappa_method=kappa_method, + x_fault_ohm=x_fault_ohm, kappa=kappa, ip=ip, ith=ith, + branch_results=branch_results, return_all_currents=return_all_currents, + inverse_y=inverse_y) + init_results(net, "sc") + + if fault in ("2ph", "3ph"): + _calc_sc(net, bus) + elif fault == "1ph": + _calc_sc_1ph(net, bus) + else: + raise ValueError("Invalid fault %s" % fault) + + +def _calc_current(net, ppci_orig, bus): + # Select required ppci bus + ppci_bus = _get_is_ppci_bus(net, bus) + + # update ppci + non_ps_gen_ppci_bus, non_ps_gen_ppci, ps_gen_bus_ppci_dict =\ + _create_k_updated_ppci(net, ppci_orig, ppci_bus=ppci_bus) + + # For each ps_gen_bus one unique ppci is required + ps_gen_ppci_bus = list(ps_gen_bus_ppci_dict.keys()) + + for calc_bus in ps_gen_ppci_bus+[non_ps_gen_ppci_bus]: + if isinstance(calc_bus, np.ndarray): + # Use ppci for general bus + this_ppci, this_ppci_bus = non_ps_gen_ppci, calc_bus + else: + # Use specific ps_gen_bus ppci + this_ppci, this_ppci_bus = ps_gen_bus_ppci_dict[calc_bus], np.array([calc_bus]) + + _calc_ybus(this_ppci) + if net["_options"]["inverse_y"]: + _calc_zbus(net, this_ppci) + else: + # Factorization Ybus once + this_ppci["internal"]["ybus_fact"] = factorized(this_ppci["internal"]["Ybus"]) + + _calc_rx(net, this_ppci, this_ppci_bus) + _calc_ikss(net, this_ppci, this_ppci_bus) + _add_kappa_to_ppc(net, this_ppci) + if net["_options"]["ip"]: + _calc_ip(net, this_ppci) + if net["_options"]["ith"]: + _calc_ith(net, this_ppci) + + if net._options["branch_results"]: + _calc_branch_currents(net, this_ppci, this_ppci_bus) + + _copy_result_to_ppci_orig(ppci_orig, this_ppci, this_ppci_bus, + calc_options=net._options) + + +def _calc_sc(net, bus): + ppc, ppci = _init_ppc(net) + + _calc_current(net, ppci, bus) + + ppc = _copy_results_ppci_to_ppc(ppci, ppc, "sc") + _extract_results(net, ppc, ppc_0=None, bus=bus) + _clean_up(net) + + if "ybus_fact" in ppci["internal"]: + # Delete factorization object + ppci["internal"].pop("ybus_fact") + + +def _calc_sc_1ph(net, bus): + """ + calculation method for single phase to ground short-circuit currents + """ + _add_auxiliary_elements(net) + # pos. seq bus impedance + ppc, ppci = _init_ppc(net) + # Create k updated ppci + ppci_bus = _get_is_ppci_bus(net, bus) + _, ppci, _ =\ + _create_k_updated_ppci(net, ppci, ppci_bus=ppci_bus) + _calc_ybus(ppci) + + # zero seq bus impedance + ppc_0, ppci_0 = _pd2ppc_zero(net) + _calc_ybus(ppci_0) + + if net["_options"]["inverse_y"]: + _calc_zbus(net, ppci) + _calc_zbus(net, ppci_0) + else: + # Factorization Ybus once + ppci["internal"]["ybus_fact"] = factorized(ppci["internal"]["Ybus"]) + ppci_0["internal"]["ybus_fact"] = factorized(ppci_0["internal"]["Ybus"]) + + ppci_bus = _get_is_ppci_bus(net, bus) + _calc_rx(net, ppci, ppci_bus) + _add_kappa_to_ppc(net, ppci) + + _calc_rx(net, ppci_0, ppci_bus) + _calc_ikss_1ph(net, ppci, ppci_0, ppci_bus) + + if net._options["branch_results"]: + _calc_branch_currents(net, ppci, ppci_bus) + + ppc_0 = _copy_results_ppci_to_ppc(ppci_0, ppc_0, "sc") + ppc = _copy_results_ppci_to_ppc(ppci, ppc, "sc") + _extract_results(net, ppc, ppc_0, bus=bus) + _clean_up(net) diff --git a/pandapower/shortcircuit/currents.py b/pandapower/shortcircuit/currents.py index 3cf33059f..e6e1cc6ec 100644 --- a/pandapower/shortcircuit/currents.py +++ b/pandapower/shortcircuit/currents.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/shortcircuit/idx_brch.py b/pandapower/shortcircuit/idx_brch.py index 4972e6e94..6404b739d 100644 --- a/pandapower/shortcircuit/idx_brch.py +++ b/pandapower/shortcircuit/idx_brch.py @@ -1,21 +1,21 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - -from pandapower.pypower.idx_brch import branch_cols as start - -IKSS_F = start + 0 -IKSS_T = start + 1 -ITH_F = start + 2 -ITH_T = start + 3 -IP_F = start + 4 -IP_T = start + 5 -IK_F = start + 6 -IK_T = start + 7 -IB_F = start + 8 -IB_T = start + 9 -K_T = start + 10 -K_ST = start + 11 - -branch_cols_sc = 12 +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + +from pandapower.pypower.idx_brch import branch_cols as start + +IKSS_F = start + 0 +IKSS_T = start + 1 +ITH_F = start + 2 +ITH_T = start + 3 +IP_F = start + 4 +IP_T = start + 5 +IK_F = start + 6 +IK_T = start + 7 +IB_F = start + 8 +IB_T = start + 9 +K_T = start + 10 +K_ST = start + 11 + +branch_cols_sc = 12 diff --git a/pandapower/shortcircuit/idx_bus.py b/pandapower/shortcircuit/idx_bus.py index 4a55bb7f6..834d945ff 100644 --- a/pandapower/shortcircuit/idx_bus.py +++ b/pandapower/shortcircuit/idx_bus.py @@ -1,33 +1,33 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -# define the indices -from pandapower.pypower.idx_bus import bus_cols as start - -R_EQUIV = start + 0 -X_EQUIV = start + 1 -KAPPA = start + 2 -M = start + 3 -C_MIN = start + 4 -C_MAX = start + 5 -IKSS1 = start + 6 -IKSS2 = start + 7 -IKCV = start + 8 -IP = start + 9 -IB = start + 10 -ITH = start + 11 -IK = start + 12 -R_EQUIV_OHM = start + 13 -X_EQUIV_OHM = start + 14 -K_G = start + 15 -K_SG = start + 16 -V_G = start + 17 -PS_TRAFO_IX = start + 18 -GS_P = start + 19 -BS_P = start + 20 -SKSS = start + 21 - +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +# define the indices +from pandapower.pypower.idx_bus import bus_cols as start + +R_EQUIV = start + 0 +X_EQUIV = start + 1 +KAPPA = start + 2 +M = start + 3 +C_MIN = start + 4 +C_MAX = start + 5 +IKSS1 = start + 6 +IKSS2 = start + 7 +IKCV = start + 8 +IP = start + 9 +IB = start + 10 +ITH = start + 11 +IK = start + 12 +R_EQUIV_OHM = start + 13 +X_EQUIV_OHM = start + 14 +K_G = start + 15 +K_SG = start + 16 +V_G = start + 17 +PS_TRAFO_IX = start + 18 +GS_P = start + 19 +BS_P = start + 20 +SKSS = start + 21 + bus_cols_sc = 22 \ No newline at end of file diff --git a/pandapower/shortcircuit/impedance.py b/pandapower/shortcircuit/impedance.py index 6ce3af5f5..6b95abc89 100644 --- a/pandapower/shortcircuit/impedance.py +++ b/pandapower/shortcircuit/impedance.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/shortcircuit/kappa.py b/pandapower/shortcircuit/kappa.py index 71702c960..cb59bf0fa 100644 --- a/pandapower/shortcircuit/kappa.py +++ b/pandapower/shortcircuit/kappa.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/shortcircuit/ppc_conversion.py b/pandapower/shortcircuit/ppc_conversion.py index fb6133b97..e51494808 100644 --- a/pandapower/shortcircuit/ppc_conversion.py +++ b/pandapower/shortcircuit/ppc_conversion.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. try: diff --git a/pandapower/shortcircuit/results.py b/pandapower/shortcircuit/results.py index f6d3f1a20..63882b1bc 100644 --- a/pandapower/shortcircuit/results.py +++ b/pandapower/shortcircuit/results.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. import numpy as np diff --git a/pandapower/shortcircuit/toolbox.py b/pandapower/shortcircuit/toolbox.py index e7637a427..a017b197e 100644 --- a/pandapower/shortcircuit/toolbox.py +++ b/pandapower/shortcircuit/toolbox.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/std_types.py b/pandapower/std_types.py index 08319297a..9183e75a2 100644 --- a/pandapower/std_types.py +++ b/pandapower/std_types.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/test/api/test_auxiliary.py b/pandapower/test/api/test_auxiliary.py index a99a2be85..ad192b23d 100644 --- a/pandapower/test/api/test_auxiliary.py +++ b/pandapower/test/api/test_auxiliary.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. import pytest diff --git a/pandapower/test/api/test_convert_format.py b/pandapower/test/api/test_convert_format.py index c2959ea80..268d00139 100644 --- a/pandapower/test/api/test_convert_format.py +++ b/pandapower/test/api/test_convert_format.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/test/api/test_create.py b/pandapower/test/api/test_create.py index d3c2e8d99..dc9eb4b93 100644 --- a/pandapower/test/api/test_create.py +++ b/pandapower/test/api/test_create.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/test/api/test_diagnostic.py b/pandapower/test/api/test_diagnostic.py index 1e473f045..f9103fadd 100644 --- a/pandapower/test/api/test_diagnostic.py +++ b/pandapower/test/api/test_diagnostic.py @@ -1,1102 +1,1102 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import copy -import pytest -pytestmark = pytest.mark.filterwarnings("ignore") - -import numpy as np -import pytest - -import pandapower as pp -import pandapower.networks as nw -from pandapower.diagnostic_reports import DiagnosticReports - -try: - import numba - numba_installed = True -except ImportError: - numba_installed = False - -@pytest.fixture(scope='function') -def diag_errors(): - return {} - -@pytest.fixture(scope='function') -def diag_params(): - return { - "overload_scaling_factor": 0.001, - "min_r_ohm":0.001, - "min_x_ohm":0.001, - "min_r_pu":1e-05, - "min_x_pu":1e-05, - "nom_voltage_tolerance": 0.3, - "numba_tolerance": 1e-8} - -@pytest.fixture(scope='module') -def test_net(): - net = nw.example_multivoltage() - return net - -@pytest.fixture(scope='module') -def report_methods(): - return { - "missing_bus_indices": "diag_report.report_missing_bus_indices()", - "disconnected_elements": "diag_report.report_disconnected_elements()", - "different_voltage_levels_connected": "diag_report.report_different_voltage_levels_connected()", - "impedance_values_close_to_zero": "diag_report.report_impedance_values_close_to_zero()", - "nominal_voltages_dont_match": "diag_report.report_nominal_voltages_dont_match()", - "invalid_values": "diag_report.report_invalid_values()", - "overload": "diag_report.report_overload()", - "multiple_voltage_controlling_elements_per_bus" : "diag_report.report_multiple_voltage_controlling_elements_per_bus()", - "wrong_switch_configuration": "diag_report.report_wrong_switch_configuration()", - "no_ext_grid": "diag_report.report_no_ext_grid()", - "wrong_reference_system": "diag_report.report_wrong_reference_system()", - "deviation_from_std_type": "diag_report.report_deviation_from_std_type()", - "numba_comparison": "diag_report.report_numba_comparison()", - "parallel_switches": "diag_report.report_parallel_switches()"} - - - -def test_no_issues(diag_params, diag_errors, report_methods): - net = nw.example_simple() - diag_results = pp.diagnostic(net, report_style=None) - assert diag_results == {} - for bool_value in [True, False]: - for check_function in report_methods.keys(): - diag_report = DiagnosticReports(net, diag_results, diag_errors, diag_params, compact_report=bool_value) - report_check = None - try: - eval(report_methods[check_function]) - report_check = True - except: - report_check = False - assert report_check - - -class TestInvalidValues: - - def test_greater_zero(self, test_net, diag_params, diag_errors, report_methods): - net = copy.deepcopy(test_net) - check_function = 'invalid_values' - net.bus.loc[42, 'vn_kv'] = '-1' - net.line.loc[7, 'length_km'] = -1 - net.line.loc[8, 'max_i_ka'] = 0 - net.trafo.loc[0, 'vk_percent'] = 0.0 - net.trafo.loc[0, 'sn_mva'] = None - net.trafo.loc[0, 'vn_hv_kv'] = -1.5 - net.trafo.loc[0, 'vn_lv_kv'] = False - net.trafo3w.loc[0, 'vk_hv_percent'] = 2.3 - net.trafo3w.loc[0, 'vk_mv_percent'] = np.nan - net.trafo3w.loc[0, 'vk_lv_percent'] = 0.0 - net.trafo3w.loc[0, 'sn_hv_mva'] = 11 - net.trafo3w.loc[0, 'sn_mv_mva'] = 'a' - net.trafo3w.loc[0, 'vn_hv_kv'] = -1.5 - net.trafo3w.loc[0, 'vn_mv_kv'] = -1.5 - net.trafo3w.loc[0, 'vn_lv_kv'] = False - net.ext_grid.loc[0, 'vm_pu'] = True - - check_result = pp.invalid_values(net) - if check_result: - diag_results = {check_function: check_result} - else: - diag_results = {} - - assert diag_results[check_function] == \ - {'bus': [(42, 'vn_kv', '-1', '>0')], - 'ext_grid': [(0, 'vm_pu', True, '>0')], - 'line': [(7, 'length_km', -1.0, '>0'), (8, 'max_i_ka', 0.0, '>0')], - 'trafo': [(0, 'sn_mva', 'nan', '>0'), (0, 'vn_hv_kv', -1.5, '>0'), - (0, 'vn_lv_kv', False, '>0'), (0, 'vk_percent', 0.0, '>0')], - 'trafo3w': [(0, 'sn_mv_mva', 'a', '>0'), (0, 'vn_hv_kv', -1.5, '>0'), - (0, 'vn_mv_kv', -1.5, '>0'), (0, 'vn_lv_kv', False, '>0'), - (0, 'vk_mv_percent', 'nan', '>0'), (0, 'vk_lv_percent', 0.0, '>0')]} - - for bool_value in [True, False]: - diag_report = DiagnosticReports(net, diag_results, diag_errors, diag_params, compact_report=bool_value) - report_check = None - try: - eval(report_methods[check_function]) - report_check = True - except: - report_check = False - assert report_check - - - def test_greater_equal_zero(self, test_net, diag_params, diag_errors, report_methods): - net = copy.deepcopy(test_net) - check_function = 'invalid_values' - net.line.loc[7, 'r_ohm_per_km'] = -1 - net.line.loc[8, 'x_ohm_per_km'] = None - net.line.loc[8, 'c_nf_per_km'] = '0' - net.trafo.loc[0, 'vkr_percent'] = '-1' - net.trafo.loc[0, 'pfe_kw'] = -1.5 - net.trafo.loc[0, 'i0_percent'] = -0.001 - net.trafo3w.loc[0, 'vkr_hv_percent'] = True - net.trafo3w.loc[0, 'vkr_mv_percent'] = False - net.trafo3w.loc[0, 'vkr_lv_percent'] = 1 - net.trafo3w.loc[0, 'pfe_kw'] = '2' - net.trafo3w.loc[0, 'i0_percent'] = 10 - net.load.loc[0, 'scaling'] = -0.1 - net.load.loc[1, 'scaling'] = 0 - net.load.loc[2, 'scaling'] = 1 - net.load.loc[3, 'scaling'] = '1' - net.gen.loc[0, 'scaling'] = None - net.sgen.loc[0, 'scaling'] = False - - check_result = pp.invalid_values(net) - if check_result: - diag_results = {check_function: check_result} - else: - diag_results = {} - assert diag_results[check_function] == \ - {'line': [(7, 'r_ohm_per_km', -1.0, '>=0'), (8, 'x_ohm_per_km', 'nan', '>=0'), - (8, 'c_nf_per_km', '0', '>=0')], - 'trafo': [(0, 'vkr_percent', '-1', '>=0'), (0, 'pfe_kw', -1.5, '>=0'), - (0, 'i0_percent', -0.001, '>=0')], - 'trafo3w': [(0, 'vkr_hv_percent', True, '>=0'), (0, 'vkr_mv_percent', False, '>=0'), - (0, 'pfe_kw', '2', '>=0')], - 'gen': [(0, 'scaling', 'nan', '>=0')], - 'load': [(0, 'scaling', -0.1, '>=0'), (3, 'scaling', '1', '>=0')], - 'sgen': [(0, 'scaling', False, '>=0')]} - - for bool_value in [True, False]: - diag_report = DiagnosticReports(net, diag_results, diag_errors, diag_params, compact_report=bool_value) - report_check = None - try: - eval(report_methods[check_function]) - report_check = True - except: - report_check = False - assert report_check -# -# -# #def test_smaller_zero(self, net): # check_smaller_zero currently not in use -# #pass -# -# #def test_smaller_equal_zero(self, net): # check_smaller_equal_zero currently not in use -# #pass -# -# - def test_boolean(self, test_net, diag_params, diag_errors, report_methods): - net = copy.deepcopy(test_net) - check_function = 'invalid_values' - net.sgen.loc[0, 'in_service'] = 0 - net.sgen.loc[1, 'in_service'] = 0.0 - net.sgen.loc[2, 'in_service'] = '0' - net.sgen.loc[3, 'in_service'] = '0.0' - net.sgen.loc[4, 'in_service'] = 1 - net.gen.loc[0, 'in_service'] = '1' - net.load.loc[0, 'in_service'] = '10' - net.line.loc[0, 'in_service'] = '-1' - net.bus.loc[0, 'in_service'] = 'no' - net.trafo.loc[0, 'in_service'] = 'True' - net.trafo3w.loc[0, 'in_service'] = None - net.switch.loc[0, 'closed'] = 0 - net.switch.loc[1, 'closed'] = 'False' - net.switch.loc[2, 'closed'] = False - net.switch.loc[3, 'closed'] = 'False' - net.switch.loc[4, 'closed'] = None - net.switch.loc[5, 'closed'] = '10' - - check_result = pp.invalid_values(net) - if check_result: - diag_results = {check_function: check_result} - else: - diag_results = {} - assert diag_results[check_function] == \ - {'bus': [(0, 'in_service', 'no', 'boolean')], - 'gen': [(0, 'in_service', '1', 'boolean')], - 'line': [(0, 'in_service', '-1', 'boolean')], - 'load': [(0, 'in_service', '10', 'boolean')], - 'sgen': [(2, 'in_service', '0', 'boolean'), - (3, 'in_service', '0.0', 'boolean')], - 'switch': [(1, 'closed', 'False', 'boolean'), - (3, 'closed', 'False', 'boolean'), - (4, 'closed', 'None', 'boolean'), - (5, 'closed', '10', 'boolean')], - 'trafo': [(0, 'in_service', 'True', 'boolean')], - 'trafo3w': [(0, 'in_service', 'nan', 'boolean')]} - - for bool_value in [True, False]: - diag_report = DiagnosticReports(net, diag_results, diag_errors, diag_params, compact_report=bool_value) - report_check = None - try: - eval(report_methods[check_function]) - report_check = True - except: - report_check = False - assert report_check - - - def test_pos_int(self, test_net, diag_params, diag_errors, report_methods): - net = copy.deepcopy(test_net) - check_function = 'invalid_values' - diag_params = copy.deepcopy(diag_params) - report_methods = copy.deepcopy(report_methods) - net.line.loc[7, 'from_bus'] = 1 - net.line.loc[8, 'to_bus'] = '2' - net.trafo.loc[0, 'hv_bus'] = False - net.trafo.loc[0, 'lv_bus'] = None - net.trafo3w.loc[0, 'hv_bus'] = False - net.trafo3w.loc[0, 'mv_bus'] = 0.5 - net.trafo3w.loc[0, 'lv_bus'] = 2 - net.load.loc[0, 'bus'] = True - net.sgen.loc[0, 'bus'] = 1.5 - net.gen.loc[0, 'bus'] = np.nan - net.ext_grid.loc[0, 'bus'] = -2.5 - net.switch.loc[0, 'bus'] = None - net.switch.loc[0, 'element'] = -1.5 - - check_result = pp.invalid_values(net) - if check_result: - diag_results = {check_function: check_result} - else: - diag_results = {} - assert diag_results[check_function] == \ - {'ext_grid': [(0, 'bus', -2.5, 'positive_integer')], - 'gen': [(0, 'bus', 'nan', 'positive_integer')], - 'line': [(8, 'to_bus', '2', 'positive_integer')], - 'load': [(0, 'bus', True, 'positive_integer')], - 'sgen': [(0, 'bus', 1.5, 'positive_integer')], - 'switch': [(0, 'bus', 'nan', 'positive_integer'), - (0, 'element', -1.5, 'positive_integer')], - 'trafo': [(0, 'hv_bus', False, 'positive_integer'), - (0, 'lv_bus', 'nan', 'positive_integer')], - 'trafo3w': [(0, 'hv_bus', False, 'positive_integer'), - (0, 'mv_bus', 0.5, 'positive_integer')]} - - for bool_value in [True, False]: - diag_report = DiagnosticReports(net, diag_results, diag_errors, diag_params, compact_report=bool_value) - report_check = None - try: - eval(report_methods[check_function]) - report_check = True - except: - report_check = False - assert report_check - - - def test_number(self, test_net, diag_params, diag_errors, report_methods): - net = copy.deepcopy(test_net) - check_function = 'invalid_values' - diag_params = copy.deepcopy(diag_params) - report_methods = copy.deepcopy(report_methods) - net.load.loc[0, 'p_mw'] = '1000' - net.load.loc[1, 'q_mvar'] = None - net.gen.loc[0, 'p_mw'] = False - net.sgen.loc[0, 'p_mw'] = -1.5 - net.sgen.loc[1, 'q_mvar'] = np.nan - net.ext_grid.loc[0, 'va_degree'] = 13.55 - - check_result = pp.invalid_values(net) - if check_result: - diag_results = {check_function: check_result} - else: - diag_results = {} - assert diag_results[check_function] == \ - {'gen': [(0, 'p_mw', False, 'number')], - 'load': [(0, 'p_mw', '1000', 'number'), (1, 'q_mvar', 'nan', 'number')], - 'sgen': [(1, 'q_mvar', 'nan', 'number')]} - - for bool_value in [True, False]: - diag_report = DiagnosticReports(net, diag_results, diag_errors, diag_params, compact_report=bool_value) - report_check = None - try: - eval(report_methods[check_function]) - report_check = True - except: - report_check = False - assert report_check - - - def test_between_zero_and_one(self, test_net, diag_params, diag_errors, report_methods): - net = copy.deepcopy(test_net) - check_function = 'invalid_values' - diag_params = copy.deepcopy(diag_params) - report_methods = copy.deepcopy(report_methods) - net.line.loc[0, 'df'] = 1.5 - - check_result = pp.invalid_values(net) - if check_result: - diag_results = {check_function: check_result} - else: - diag_results = {} - assert diag_results[check_function] == \ - {'line': [(0, 'df', 1.5, '0 diag_params['numba_tolerance'] - - for bool_value in [True, False]: - diag_report = DiagnosticReports(net, diag_results, diag_errors, diag_params, compact_report=bool_value) - report_check = None - try: - eval(report_methods[check_function]) - report_check = True - except: - report_check = False - assert report_check - - -def test_parallel_switches(test_net, diag_params, diag_errors, report_methods): - net = copy.deepcopy(test_net) - check_function = 'parallel_switches' - diag_params = copy.deepcopy(diag_params) - report_methods = copy.deepcopy(report_methods) - pp.create_switch(net, 1, 2, et='b') - pp.create_switch(net, 13, 0, et='t', closed=False) - pp.create_switch(net, 13, 0, et='t') - pp.create_switch(net, 47, 16, et='l') - pp.create_switch(net, 13, 0, et='b') - - check_result = pp.parallel_switches(net) - if check_result: - diag_results = {check_function: check_result} - else: - diag_results = {} - assert diag_results[check_function] == [[0, 88], [84, 89, 90], [66, 91]] - - for bool_value in [True, False]: - diag_report = DiagnosticReports(net, diag_results, diag_errors, diag_params, compact_report=bool_value) - report_check = None - try: - eval(report_methods[check_function]) - report_check = True - except: - report_check = False - assert report_check - - -def test_missing_bus_indices(test_net, diag_params, diag_errors, report_methods): - net = copy.deepcopy(test_net) - check_function = 'missing_bus_indices' - diag_params = copy.deepcopy(diag_params) - report_methods = copy.deepcopy(report_methods) - net.line.from_bus.iloc[0] = 10000 - net.trafo.lv_bus.iloc[0] = 10001 - net.trafo3w.mv_bus.iloc[0] = 10002 - net.switch.bus.iloc[0] = 10003 - net.switch.element.iloc[0] = 10004 - net.ext_grid.bus.iloc[0] = 10005 - check_result = pp.missing_bus_indices(net) - if check_result: - diag_results = {check_function: check_result} - else: - diag_results = {} - assert diag_results[check_function] == {'ext_grid': [(0, 'bus', 10005)], - 'line': [(0, 'from_bus', 10000)], - 'switch': [(0, 'bus', 10003), (0, 'element', 10004)], - 'trafo': [(0, 'lv_bus', 10001)], - 'trafo3w': [(0, 'mv_bus', 10002)]} - - for bool_value in [True, False]: - diag_report = DiagnosticReports(net, diag_results, diag_errors, diag_params, compact_report=bool_value) - report_check = None - try: - eval(report_methods[check_function]) - report_check = True - except: - report_check = False - assert report_check - - -def test_runpp_errors(test_net, diag_params, diag_errors, report_methods): - net = copy.deepcopy(test_net) - net.load.p_mw *= 100 - diag = pp.diagnostic(net, report_style=None) - -if __name__ == "__main__": - pytest.main(["test_diagnostic.py", "-xs"]) +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import copy +import pytest +pytestmark = pytest.mark.filterwarnings("ignore") + +import numpy as np +import pytest + +import pandapower as pp +import pandapower.networks as nw +from pandapower.diagnostic_reports import DiagnosticReports + +try: + import numba + numba_installed = True +except ImportError: + numba_installed = False + +@pytest.fixture(scope='function') +def diag_errors(): + return {} + +@pytest.fixture(scope='function') +def diag_params(): + return { + "overload_scaling_factor": 0.001, + "min_r_ohm":0.001, + "min_x_ohm":0.001, + "min_r_pu":1e-05, + "min_x_pu":1e-05, + "nom_voltage_tolerance": 0.3, + "numba_tolerance": 1e-8} + +@pytest.fixture(scope='module') +def test_net(): + net = nw.example_multivoltage() + return net + +@pytest.fixture(scope='module') +def report_methods(): + return { + "missing_bus_indices": "diag_report.report_missing_bus_indices()", + "disconnected_elements": "diag_report.report_disconnected_elements()", + "different_voltage_levels_connected": "diag_report.report_different_voltage_levels_connected()", + "impedance_values_close_to_zero": "diag_report.report_impedance_values_close_to_zero()", + "nominal_voltages_dont_match": "diag_report.report_nominal_voltages_dont_match()", + "invalid_values": "diag_report.report_invalid_values()", + "overload": "diag_report.report_overload()", + "multiple_voltage_controlling_elements_per_bus" : "diag_report.report_multiple_voltage_controlling_elements_per_bus()", + "wrong_switch_configuration": "diag_report.report_wrong_switch_configuration()", + "no_ext_grid": "diag_report.report_no_ext_grid()", + "wrong_reference_system": "diag_report.report_wrong_reference_system()", + "deviation_from_std_type": "diag_report.report_deviation_from_std_type()", + "numba_comparison": "diag_report.report_numba_comparison()", + "parallel_switches": "diag_report.report_parallel_switches()"} + + + +def test_no_issues(diag_params, diag_errors, report_methods): + net = nw.example_simple() + diag_results = pp.diagnostic(net, report_style=None) + assert diag_results == {} + for bool_value in [True, False]: + for check_function in report_methods.keys(): + diag_report = DiagnosticReports(net, diag_results, diag_errors, diag_params, compact_report=bool_value) + report_check = None + try: + eval(report_methods[check_function]) + report_check = True + except: + report_check = False + assert report_check + + +class TestInvalidValues: + + def test_greater_zero(self, test_net, diag_params, diag_errors, report_methods): + net = copy.deepcopy(test_net) + check_function = 'invalid_values' + net.bus.loc[42, 'vn_kv'] = '-1' + net.line.loc[7, 'length_km'] = -1 + net.line.loc[8, 'max_i_ka'] = 0 + net.trafo.loc[0, 'vk_percent'] = 0.0 + net.trafo.loc[0, 'sn_mva'] = None + net.trafo.loc[0, 'vn_hv_kv'] = -1.5 + net.trafo.loc[0, 'vn_lv_kv'] = False + net.trafo3w.loc[0, 'vk_hv_percent'] = 2.3 + net.trafo3w.loc[0, 'vk_mv_percent'] = np.nan + net.trafo3w.loc[0, 'vk_lv_percent'] = 0.0 + net.trafo3w.loc[0, 'sn_hv_mva'] = 11 + net.trafo3w.loc[0, 'sn_mv_mva'] = 'a' + net.trafo3w.loc[0, 'vn_hv_kv'] = -1.5 + net.trafo3w.loc[0, 'vn_mv_kv'] = -1.5 + net.trafo3w.loc[0, 'vn_lv_kv'] = False + net.ext_grid.loc[0, 'vm_pu'] = True + + check_result = pp.invalid_values(net) + if check_result: + diag_results = {check_function: check_result} + else: + diag_results = {} + + assert diag_results[check_function] == \ + {'bus': [(42, 'vn_kv', '-1', '>0')], + 'ext_grid': [(0, 'vm_pu', True, '>0')], + 'line': [(7, 'length_km', -1.0, '>0'), (8, 'max_i_ka', 0.0, '>0')], + 'trafo': [(0, 'sn_mva', 'nan', '>0'), (0, 'vn_hv_kv', -1.5, '>0'), + (0, 'vn_lv_kv', False, '>0'), (0, 'vk_percent', 0.0, '>0')], + 'trafo3w': [(0, 'sn_mv_mva', 'a', '>0'), (0, 'vn_hv_kv', -1.5, '>0'), + (0, 'vn_mv_kv', -1.5, '>0'), (0, 'vn_lv_kv', False, '>0'), + (0, 'vk_mv_percent', 'nan', '>0'), (0, 'vk_lv_percent', 0.0, '>0')]} + + for bool_value in [True, False]: + diag_report = DiagnosticReports(net, diag_results, diag_errors, diag_params, compact_report=bool_value) + report_check = None + try: + eval(report_methods[check_function]) + report_check = True + except: + report_check = False + assert report_check + + + def test_greater_equal_zero(self, test_net, diag_params, diag_errors, report_methods): + net = copy.deepcopy(test_net) + check_function = 'invalid_values' + net.line.loc[7, 'r_ohm_per_km'] = -1 + net.line.loc[8, 'x_ohm_per_km'] = None + net.line.loc[8, 'c_nf_per_km'] = '0' + net.trafo.loc[0, 'vkr_percent'] = '-1' + net.trafo.loc[0, 'pfe_kw'] = -1.5 + net.trafo.loc[0, 'i0_percent'] = -0.001 + net.trafo3w.loc[0, 'vkr_hv_percent'] = True + net.trafo3w.loc[0, 'vkr_mv_percent'] = False + net.trafo3w.loc[0, 'vkr_lv_percent'] = 1 + net.trafo3w.loc[0, 'pfe_kw'] = '2' + net.trafo3w.loc[0, 'i0_percent'] = 10 + net.load.loc[0, 'scaling'] = -0.1 + net.load.loc[1, 'scaling'] = 0 + net.load.loc[2, 'scaling'] = 1 + net.load.loc[3, 'scaling'] = '1' + net.gen.loc[0, 'scaling'] = None + net.sgen.loc[0, 'scaling'] = False + + check_result = pp.invalid_values(net) + if check_result: + diag_results = {check_function: check_result} + else: + diag_results = {} + assert diag_results[check_function] == \ + {'line': [(7, 'r_ohm_per_km', -1.0, '>=0'), (8, 'x_ohm_per_km', 'nan', '>=0'), + (8, 'c_nf_per_km', '0', '>=0')], + 'trafo': [(0, 'vkr_percent', '-1', '>=0'), (0, 'pfe_kw', -1.5, '>=0'), + (0, 'i0_percent', -0.001, '>=0')], + 'trafo3w': [(0, 'vkr_hv_percent', True, '>=0'), (0, 'vkr_mv_percent', False, '>=0'), + (0, 'pfe_kw', '2', '>=0')], + 'gen': [(0, 'scaling', 'nan', '>=0')], + 'load': [(0, 'scaling', -0.1, '>=0'), (3, 'scaling', '1', '>=0')], + 'sgen': [(0, 'scaling', False, '>=0')]} + + for bool_value in [True, False]: + diag_report = DiagnosticReports(net, diag_results, diag_errors, diag_params, compact_report=bool_value) + report_check = None + try: + eval(report_methods[check_function]) + report_check = True + except: + report_check = False + assert report_check +# +# +# #def test_smaller_zero(self, net): # check_smaller_zero currently not in use +# #pass +# +# #def test_smaller_equal_zero(self, net): # check_smaller_equal_zero currently not in use +# #pass +# +# + def test_boolean(self, test_net, diag_params, diag_errors, report_methods): + net = copy.deepcopy(test_net) + check_function = 'invalid_values' + net.sgen.loc[0, 'in_service'] = 0 + net.sgen.loc[1, 'in_service'] = 0.0 + net.sgen.loc[2, 'in_service'] = '0' + net.sgen.loc[3, 'in_service'] = '0.0' + net.sgen.loc[4, 'in_service'] = 1 + net.gen.loc[0, 'in_service'] = '1' + net.load.loc[0, 'in_service'] = '10' + net.line.loc[0, 'in_service'] = '-1' + net.bus.loc[0, 'in_service'] = 'no' + net.trafo.loc[0, 'in_service'] = 'True' + net.trafo3w.loc[0, 'in_service'] = None + net.switch.loc[0, 'closed'] = 0 + net.switch.loc[1, 'closed'] = 'False' + net.switch.loc[2, 'closed'] = False + net.switch.loc[3, 'closed'] = 'False' + net.switch.loc[4, 'closed'] = None + net.switch.loc[5, 'closed'] = '10' + + check_result = pp.invalid_values(net) + if check_result: + diag_results = {check_function: check_result} + else: + diag_results = {} + assert diag_results[check_function] == \ + {'bus': [(0, 'in_service', 'no', 'boolean')], + 'gen': [(0, 'in_service', '1', 'boolean')], + 'line': [(0, 'in_service', '-1', 'boolean')], + 'load': [(0, 'in_service', '10', 'boolean')], + 'sgen': [(2, 'in_service', '0', 'boolean'), + (3, 'in_service', '0.0', 'boolean')], + 'switch': [(1, 'closed', 'False', 'boolean'), + (3, 'closed', 'False', 'boolean'), + (4, 'closed', 'None', 'boolean'), + (5, 'closed', '10', 'boolean')], + 'trafo': [(0, 'in_service', 'True', 'boolean')], + 'trafo3w': [(0, 'in_service', 'nan', 'boolean')]} + + for bool_value in [True, False]: + diag_report = DiagnosticReports(net, diag_results, diag_errors, diag_params, compact_report=bool_value) + report_check = None + try: + eval(report_methods[check_function]) + report_check = True + except: + report_check = False + assert report_check + + + def test_pos_int(self, test_net, diag_params, diag_errors, report_methods): + net = copy.deepcopy(test_net) + check_function = 'invalid_values' + diag_params = copy.deepcopy(diag_params) + report_methods = copy.deepcopy(report_methods) + net.line.loc[7, 'from_bus'] = 1 + net.line.loc[8, 'to_bus'] = '2' + net.trafo.loc[0, 'hv_bus'] = False + net.trafo.loc[0, 'lv_bus'] = None + net.trafo3w.loc[0, 'hv_bus'] = False + net.trafo3w.loc[0, 'mv_bus'] = 0.5 + net.trafo3w.loc[0, 'lv_bus'] = 2 + net.load.loc[0, 'bus'] = True + net.sgen.loc[0, 'bus'] = 1.5 + net.gen.loc[0, 'bus'] = np.nan + net.ext_grid.loc[0, 'bus'] = -2.5 + net.switch.loc[0, 'bus'] = None + net.switch.loc[0, 'element'] = -1.5 + + check_result = pp.invalid_values(net) + if check_result: + diag_results = {check_function: check_result} + else: + diag_results = {} + assert diag_results[check_function] == \ + {'ext_grid': [(0, 'bus', -2.5, 'positive_integer')], + 'gen': [(0, 'bus', 'nan', 'positive_integer')], + 'line': [(8, 'to_bus', '2', 'positive_integer')], + 'load': [(0, 'bus', True, 'positive_integer')], + 'sgen': [(0, 'bus', 1.5, 'positive_integer')], + 'switch': [(0, 'bus', 'nan', 'positive_integer'), + (0, 'element', -1.5, 'positive_integer')], + 'trafo': [(0, 'hv_bus', False, 'positive_integer'), + (0, 'lv_bus', 'nan', 'positive_integer')], + 'trafo3w': [(0, 'hv_bus', False, 'positive_integer'), + (0, 'mv_bus', 0.5, 'positive_integer')]} + + for bool_value in [True, False]: + diag_report = DiagnosticReports(net, diag_results, diag_errors, diag_params, compact_report=bool_value) + report_check = None + try: + eval(report_methods[check_function]) + report_check = True + except: + report_check = False + assert report_check + + + def test_number(self, test_net, diag_params, diag_errors, report_methods): + net = copy.deepcopy(test_net) + check_function = 'invalid_values' + diag_params = copy.deepcopy(diag_params) + report_methods = copy.deepcopy(report_methods) + net.load.loc[0, 'p_mw'] = '1000' + net.load.loc[1, 'q_mvar'] = None + net.gen.loc[0, 'p_mw'] = False + net.sgen.loc[0, 'p_mw'] = -1.5 + net.sgen.loc[1, 'q_mvar'] = np.nan + net.ext_grid.loc[0, 'va_degree'] = 13.55 + + check_result = pp.invalid_values(net) + if check_result: + diag_results = {check_function: check_result} + else: + diag_results = {} + assert diag_results[check_function] == \ + {'gen': [(0, 'p_mw', False, 'number')], + 'load': [(0, 'p_mw', '1000', 'number'), (1, 'q_mvar', 'nan', 'number')], + 'sgen': [(1, 'q_mvar', 'nan', 'number')]} + + for bool_value in [True, False]: + diag_report = DiagnosticReports(net, diag_results, diag_errors, diag_params, compact_report=bool_value) + report_check = None + try: + eval(report_methods[check_function]) + report_check = True + except: + report_check = False + assert report_check + + + def test_between_zero_and_one(self, test_net, diag_params, diag_errors, report_methods): + net = copy.deepcopy(test_net) + check_function = 'invalid_values' + diag_params = copy.deepcopy(diag_params) + report_methods = copy.deepcopy(report_methods) + net.line.loc[0, 'df'] = 1.5 + + check_result = pp.invalid_values(net) + if check_result: + diag_results = {check_function: check_result} + else: + diag_results = {} + assert diag_results[check_function] == \ + {'line': [(0, 'df', 1.5, '0 diag_params['numba_tolerance'] + + for bool_value in [True, False]: + diag_report = DiagnosticReports(net, diag_results, diag_errors, diag_params, compact_report=bool_value) + report_check = None + try: + eval(report_methods[check_function]) + report_check = True + except: + report_check = False + assert report_check + + +def test_parallel_switches(test_net, diag_params, diag_errors, report_methods): + net = copy.deepcopy(test_net) + check_function = 'parallel_switches' + diag_params = copy.deepcopy(diag_params) + report_methods = copy.deepcopy(report_methods) + pp.create_switch(net, 1, 2, et='b') + pp.create_switch(net, 13, 0, et='t', closed=False) + pp.create_switch(net, 13, 0, et='t') + pp.create_switch(net, 47, 16, et='l') + pp.create_switch(net, 13, 0, et='b') + + check_result = pp.parallel_switches(net) + if check_result: + diag_results = {check_function: check_result} + else: + diag_results = {} + assert diag_results[check_function] == [[0, 88], [84, 89, 90], [66, 91]] + + for bool_value in [True, False]: + diag_report = DiagnosticReports(net, diag_results, diag_errors, diag_params, compact_report=bool_value) + report_check = None + try: + eval(report_methods[check_function]) + report_check = True + except: + report_check = False + assert report_check + + +def test_missing_bus_indices(test_net, diag_params, diag_errors, report_methods): + net = copy.deepcopy(test_net) + check_function = 'missing_bus_indices' + diag_params = copy.deepcopy(diag_params) + report_methods = copy.deepcopy(report_methods) + net.line.from_bus.iloc[0] = 10000 + net.trafo.lv_bus.iloc[0] = 10001 + net.trafo3w.mv_bus.iloc[0] = 10002 + net.switch.bus.iloc[0] = 10003 + net.switch.element.iloc[0] = 10004 + net.ext_grid.bus.iloc[0] = 10005 + check_result = pp.missing_bus_indices(net) + if check_result: + diag_results = {check_function: check_result} + else: + diag_results = {} + assert diag_results[check_function] == {'ext_grid': [(0, 'bus', 10005)], + 'line': [(0, 'from_bus', 10000)], + 'switch': [(0, 'bus', 10003), (0, 'element', 10004)], + 'trafo': [(0, 'lv_bus', 10001)], + 'trafo3w': [(0, 'mv_bus', 10002)]} + + for bool_value in [True, False]: + diag_report = DiagnosticReports(net, diag_results, diag_errors, diag_params, compact_report=bool_value) + report_check = None + try: + eval(report_methods[check_function]) + report_check = True + except: + report_check = False + assert report_check + + +def test_runpp_errors(test_net, diag_params, diag_errors, report_methods): + net = copy.deepcopy(test_net) + net.load.p_mw *= 100 + diag = pp.diagnostic(net, report_style=None) + +if __name__ == "__main__": + pytest.main(["test_diagnostic.py", "-xs"]) diff --git a/pandapower/test/api/test_file_io.py b/pandapower/test/api/test_file_io.py index 13be8208c..55d5105d5 100644 --- a/pandapower/test/api/test_file_io.py +++ b/pandapower/test/api/test_file_io.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. import copy diff --git a/pandapower/test/api/test_std_types.py b/pandapower/test/api/test_std_types.py index f583b302c..e5572c09c 100644 --- a/pandapower/test/api/test_std_types.py +++ b/pandapower/test/api/test_std_types.py @@ -1,325 +1,325 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import pytest - -import pandapower as pp -import pandapower.networks as nw - - -def test_create_and_load_std_type_line(): - net = pp.create_empty_network() - c = 40 - r = 0.01 - x = 0.02 - i = 0.2 - name = "test_line" - - typdata = {} - with pytest.raises(UserWarning): - pp.create_std_type(net, name=name, data=typdata, element="line") - - typdata = {"c_nf_per_km": c} - with pytest.raises(UserWarning): - pp.create_std_type(net, name=name, data=typdata, element="line") - - typdata = {"c_nf_per_km": c, "r_ohm_per_km": r} - with pytest.raises(UserWarning): - pp.create_std_type(net, name=name, data=typdata, element="line") - - typdata = {"c_nf_per_km": c, "r_ohm_per_km": r, "x_ohm_per_km": x} - with pytest.raises(UserWarning): - pp.create_std_type(net, name=name, data=typdata, element="line") - - typdata = {"c_nf_per_km": c, "r_ohm_per_km": r, "x_ohm_per_km": x, "max_i_ka": i} - pp.create_std_type(net, name=name, data=typdata, element="line") - assert net.std_types["line"][name] == typdata - - loaded_type = pp.load_std_type(net, name) - assert loaded_type == typdata - -def test_create_std_types_line(): - net = pp.create_empty_network() - c = 40 - r = 0.01 - x = 0.02 - i = 0.2 - - typdata = {"c_nf_per_km": c, "r_ohm_per_km": r, "x_ohm_per_km": x, "max_i_ka": i} - - typdatas = {"typ1": typdata, "typ2": typdata} - pp.create_std_types(net, data=typdatas, element="line") - assert net.std_types["line"]["typ1"] == typdata - assert net.std_types["line"]["typ1"] == typdata - -def test_create_std_types_from_net_line(): - net1 = pp.create_empty_network() - net2 = pp.create_empty_network() - - c = 40 - r = 0.01 - x = 0.02 - i = 0.2 - - typdata = {"c_nf_per_km": c, "r_ohm_per_km": r, "x_ohm_per_km": x, "max_i_ka": i, - "additional": 8} - pp.create_std_type(net1, typdata, "test_copy") - pp.copy_std_types(net2, net1, element="line") - assert pp.std_type_exists(net2, "test_copy") - -def test_create_and_load_std_type_trafo(): - net = pp.create_empty_network() - sn_mva = 40 - vn_hv_kv = 110 - vn_lv_kv = 20 - vk_percent = 5. - vkr_percent = 2. - pfe_kw=50 - i0_percent = 0.1 - shift_degree = 30 - name = "test_trafo" - - typdata = {"sn_mva": sn_mva} - with pytest.raises(UserWarning): - pp.create_std_type(net, name=name, data=typdata, element="trafo") - - typdata = {"sn_mva": sn_mva, "vn_hv_kv": vn_hv_kv} - with pytest.raises(UserWarning): - pp.create_std_type(net, name=name, data=typdata, element="trafo") - - typdata = {"sn_mva": sn_mva, "vn_hv_kv": vn_hv_kv, "vn_lv_kv": vn_lv_kv} - with pytest.raises(UserWarning): - pp.create_std_type(net, name=name, data=typdata, element="trafo") - - typdata = {"sn_mva": sn_mva, "vn_hv_kv": vn_hv_kv, "vn_lv_kv": vn_lv_kv, "vk_percent": vk_percent} - with pytest.raises(UserWarning): - pp.create_std_type(net, name=name, data=typdata, element="trafo") - - typdata = {"sn_mva": sn_mva, "vn_hv_kv": vn_hv_kv, "vn_lv_kv": vn_lv_kv, "vk_percent": vk_percent, - "vkr_percent": vkr_percent} - with pytest.raises(UserWarning): - pp.create_std_type(net, name=name, data=typdata, element="trafo") - - typdata = {"sn_mva": sn_mva, "vn_hv_kv": vn_hv_kv, "vn_lv_kv": vn_lv_kv, "vk_percent": vk_percent, - "vkr_percent": vkr_percent, "pfe_kw": pfe_kw} - with pytest.raises(UserWarning): - pp.create_std_type(net, name=name, data=typdata, element="trafo") - - typdata = {"sn_mva": sn_mva, "vn_hv_kv": vn_hv_kv, "vn_lv_kv": vn_lv_kv, "vk_percent": vk_percent, - "vkr_percent": vkr_percent, "pfe_kw": pfe_kw, "i0_percent": i0_percent} - with pytest.raises(UserWarning): - pp.create_std_type(net, name=name, data=typdata, element="trafo") - typdata = {"sn_mva": sn_mva, "vn_hv_kv": vn_hv_kv, "vn_lv_kv": vn_lv_kv, "vk_percent": vk_percent, - "vkr_percent": vkr_percent, "pfe_kw": pfe_kw, "i0_percent": i0_percent, - "shift_degree": shift_degree} - pp.create_std_type(net, name=name, data=typdata, element="trafo") - assert net.std_types["trafo"][name] == typdata - - loaded_type = pp.load_std_type(net, name, element="trafo") - assert loaded_type == typdata - -def test_create_and_load_std_type_trafo3w(): - net = pp.create_empty_network() - sn_hv_mva = 40; sn_mv_mva = 20; sn_lv_mva = 20 - vn_hv_kv = 110; vn_mv_kv = 50; vn_lv_kv = 20 - vk_hv_percent = 5.; vk_mv_percent = 5.; vk_lv_percent = 5. - vkr_hv_percent = 2.; vkr_mv_percent = 2.; vkr_lv_percent = 2. - pfe_kw=50 - i0_percent = 0.1 - shift_mv_degree = 30; shift_lv_degree = 30 - name = "test_trafo3w" - - typdata = {"sn_hv_mva": sn_hv_mva} - with pytest.raises(UserWarning): - pp.create_std_type(net, name=name, data=typdata, element="trafo3w") - - typdata = {"sn_mv_mva": sn_mv_mva, "vn_hv_kv": vn_hv_kv} - with pytest.raises(UserWarning): - pp.create_std_type(net, name=name, data=typdata, element="trafo3w") - - typdata = {"sn_lv_mva": sn_lv_mva, "vn_mv_kv": vn_mv_kv, "vn_lv_kv": vn_lv_kv} - with pytest.raises(UserWarning): - pp.create_std_type(net, name=name, data=typdata, element="trafo3w") - - typdata = {"sn_mv_mva": sn_mv_mva, "vn_hv_kv": vn_hv_kv, "vn_lv_kv": vn_lv_kv, "vk_hv_percent": vk_hv_percent} - with pytest.raises(UserWarning): - pp.create_std_type(net, name=name, data=typdata, element="trafo3w") - - typdata = {"sn_hv_mva": sn_hv_mva, "vn_hv_kv": vn_hv_kv, "vn_lv_kv": vn_lv_kv, "vk_mv_percent": vk_mv_percent, - "vkr_hv_percent": vkr_hv_percent} - with pytest.raises(UserWarning): - pp.create_std_type(net, name=name, data=typdata, element="trafo3w") - - typdata = {"sn_hv_mva": sn_hv_mva, "vn_hv_kv": vn_hv_kv, "vn_lv_kv": vn_lv_kv, "vk_lv_percent": vk_lv_percent, - "vkr_mv_percent": vkr_mv_percent, "pfe_kw": pfe_kw} - with pytest.raises(UserWarning): - pp.create_std_type(net, name=name, data=typdata, element="trafo3w") - - typdata = {"sn_hv_mva": sn_hv_mva, "vn_hv_kv": vn_hv_kv, "vn_lv_kv": vn_lv_kv, "vk_hv_percent": vk_hv_percent, - "vkr_lv_percent": vkr_lv_percent, "pfe_kw": pfe_kw, "i0_percent": i0_percent} - with pytest.raises(UserWarning): - pp.create_std_type(net, name=name, data=typdata, element="trafo3w") - typdata = {"sn_hv_mva": sn_hv_mva, "vn_hv_kv": vn_hv_kv, "vn_lv_kv": vn_lv_kv, "vk_hv_percent": vk_hv_percent, - "vkr_hv_percent": vkr_hv_percent, "pfe_kw": pfe_kw, "i0_percent": i0_percent, - "shift_mv_degree": shift_mv_degree} - with pytest.raises(UserWarning): - pp.create_std_type(net, name=name, data=typdata, element="trafo3w") - typdata = {"vn_hv_kv": vn_hv_kv, "vn_mv_kv": vn_mv_kv, "vn_lv_kv": vn_lv_kv, "sn_hv_mva": sn_hv_mva, - "sn_mv_mva": sn_mv_mva, "sn_lv_mva": sn_lv_mva, "vk_hv_percent": vk_hv_percent, "vk_mv_percent": vk_mv_percent, - "vk_lv_percent": vk_lv_percent, "vkr_hv_percent": vkr_hv_percent, "vkr_mv_percent": vkr_mv_percent, - "vkr_lv_percent": vkr_lv_percent, "pfe_kw": pfe_kw, "i0_percent": i0_percent, - "shift_mv_degree":shift_mv_degree, "shift_lv_degree": shift_lv_degree} - pp.create_std_type(net, name=name, data=typdata, element="trafo3w") - assert net.std_types["trafo3w"][name] == typdata - - loaded_type = pp.load_std_type(net, name, element="trafo3w") - assert loaded_type == typdata - -def test_create_std_types_trafo(): - net = pp.create_empty_network() - sn_mva = 40 - vn_hv_kv = 110 - vn_lv_kv = 20 - vk_percent = 5. - vkr_percent = 2. - pfe_kw=50 - i0_percent = 0.1 - shift_degree = 30 - - typdata = {"sn_mva": sn_mva, "vn_hv_kv": vn_hv_kv, "vn_lv_kv": vn_lv_kv, "vk_percent": vk_percent, - "vkr_percent": vkr_percent, "pfe_kw": pfe_kw, "i0_percent": i0_percent, - "shift_degree": shift_degree} - typdatas = {"typ1": typdata, "typ2": typdata} - pp.create_std_types(net, data=typdatas, element="trafo") - assert net.std_types["trafo"]["typ1"] == typdata - assert net.std_types["trafo"]["typ2"] == typdata - -def test_create_std_types_trafo3w(): - net = pp.create_empty_network() - sn_hv_mva = 40; sn_mv_mva = 20; sn_lv_mva = 20 - vn_hv_kv = 110; vn_mv_kv = 50; vn_lv_kv = 20 - vk_hv_percent = 5.; vk_mv_percent = 5.; vk_lv_percent = 5. - vkr_hv_percent = 2.; vkr_mv_percent = 2.; vkr_lv_percent = 2. - pfe_kw=50 - i0_percent = 0.1 - shift_mv_degree = 30; shift_lv_degree = 30 - - typdata = {"vn_hv_kv": vn_hv_kv, "vn_mv_kv": vn_mv_kv, "vn_lv_kv": vn_lv_kv, "sn_hv_mva": sn_hv_mva, - "sn_mv_mva": sn_mv_mva, "sn_lv_mva": sn_lv_mva, "vk_hv_percent": vk_hv_percent, "vk_mv_percent": vk_mv_percent, - "vk_lv_percent": vk_lv_percent, "vkr_hv_percent": vkr_hv_percent, "vkr_mv_percent": vkr_mv_percent, - "vkr_lv_percent": vkr_lv_percent, "pfe_kw": pfe_kw, "i0_percent": i0_percent, - "shift_mv_degree":shift_mv_degree, "shift_lv_degree": shift_lv_degree} - - typdatas = {"typ1": typdata, "typ2": typdata} - pp.create_std_types(net, data=typdatas, element="trafo3w") - assert net.std_types["trafo3w"]["typ1"] == typdata - assert net.std_types["trafo3w"]["typ2"] == typdata - -def test_find_line_type(): - net = pp.create_empty_network() - c = 40000 - r = 1.5 - x = 2.0 - i = 10 - name = "test_line1" - typdata = {"c_nf_per_km": c, "r_ohm_per_km": r, "x_ohm_per_km": x, "max_i_ka": i} - pp.create_std_type(net, data=typdata, name=name, element="line") - fitting_type = pp.find_std_type_by_parameter(net, typdata) - assert len(fitting_type) == 1 - assert fitting_type[0] == name - - fitting_type = pp.find_std_type_by_parameter(net, {"r_ohm_per_km":r+0.05}, epsilon=.06) - assert len(fitting_type) == 1 - assert fitting_type[0] == name - - fitting_type = pp.find_std_type_by_parameter(net, {"r_ohm_per_km":r+0.07}, epsilon=.06) - assert len(fitting_type) == 0 - -def test_change_type_line(): - net = pp.create_empty_network() - r1 = 0.01 - x1 = 0.02 - c1 = 40 - i1 = 0.2 - name1 = "test_line1" - typ1 = {"c_nf_per_km": c1, "r_ohm_per_km": r1, "x_ohm_per_km": x1, "max_i_ka": i1} - pp.create_std_type(net, data=typ1, name=name1, element="line") - - r2 = 0.02 - x2 = 0.04 - c2 = 20 - i2 = 0.4 - name2 = "test_line2" - typ2 = {"c_nf_per_km": c2, "r_ohm_per_km": r2, "x_ohm_per_km": x2, "max_i_ka": i2} - pp.create_std_type(net, data=typ2, name=name2, element="line") - - b1 = pp.create_bus(net, vn_kv=0.4) - b2 = pp.create_bus(net, vn_kv=0.4) - lid = pp.create_line(net, b1, b2, 1., std_type=name1) - assert net.line.r_ohm_per_km.at[lid] == r1 - assert net.line.x_ohm_per_km.at[lid] == x1 - assert net.line.c_nf_per_km.at[lid] == c1 - assert net.line.max_i_ka.at[lid] == i1 - assert net.line.std_type.at[lid] == name1 - - pp.change_std_type(net, lid, name2) - - assert net.line.r_ohm_per_km.at[lid] == r2 - assert net.line.x_ohm_per_km.at[lid] == x2 - assert net.line.c_nf_per_km.at[lid] == c2 - assert net.line.max_i_ka.at[lid] == i2 - assert net.line.std_type.at[lid] == name2 - - -def test_parameter_from_std_type_line(): - net = pp.create_empty_network() - r1 = 0.01 - x1 = 0.02 - c1 = 40 - i1 = 0.2 - name1 = "test_line1" - typ1 = {"c_nf_per_km": c1, "r_ohm_per_km": r1, "x_ohm_per_km": x1, "max_i_ka": i1} - pp.create_std_type(net, data=typ1, name=name1, element="line") - - r2 = 0.02 - x2 = 0.04 - c2 = 20 - i2 = 0.4 - endtemp2 = 40 - - endtemp_fill = 20 - - name2 = "test_line2" - typ2 = {"c_nf_per_km": c2, "r_ohm_per_km": r2, "x_ohm_per_km": x2, "max_i_ka": i2, - "endtemp_degree": endtemp2} - pp.create_std_type(net, data=typ2, name=name2, element="line") - - b1 = pp.create_bus(net, vn_kv=0.4) - b2 = pp.create_bus(net, vn_kv=0.4) - lid1 = pp.create_line(net, b1, b2, 1., std_type=name1) - lid2 = pp.create_line(net, b1, b2, 1., std_type=name2) - lid3 = pp.create_line_from_parameters(net, b1, b2, 1., r_ohm_per_km=0.03, x_ohm_per_km=0.04, - c_nf_per_km=20, max_i_ka=0.3) - - pp.parameter_from_std_type(net, "endtemp_degree", fill=endtemp_fill) - assert net.line.endtemp_degree.at[lid1] == endtemp_fill #type1 one has not specified an endtemp - assert net.line.endtemp_degree.at[lid2] == endtemp2 #type2 has specified endtemp - assert net.line.endtemp_degree.at[lid3] == endtemp_fill #line3 has no standard type - - net.line.endtemp_degree.at[lid3] = 10 - pp.parameter_from_std_type(net, "endtemp_degree", fill=endtemp_fill) - assert net.line.endtemp_degree.at[lid3] == 10 #check that existing values arent overwritten - - -def test_add_temperature_coefficient(): - net = nw.simple_mv_open_ring_net() - pp.add_temperature_coefficient(net) - assert "alpha" in net.line.columns - assert all(net.line.alpha == 4.03e-3) - - -if __name__ == "__main__": - pytest.main([__file__]) +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import pytest + +import pandapower as pp +import pandapower.networks as nw + + +def test_create_and_load_std_type_line(): + net = pp.create_empty_network() + c = 40 + r = 0.01 + x = 0.02 + i = 0.2 + name = "test_line" + + typdata = {} + with pytest.raises(UserWarning): + pp.create_std_type(net, name=name, data=typdata, element="line") + + typdata = {"c_nf_per_km": c} + with pytest.raises(UserWarning): + pp.create_std_type(net, name=name, data=typdata, element="line") + + typdata = {"c_nf_per_km": c, "r_ohm_per_km": r} + with pytest.raises(UserWarning): + pp.create_std_type(net, name=name, data=typdata, element="line") + + typdata = {"c_nf_per_km": c, "r_ohm_per_km": r, "x_ohm_per_km": x} + with pytest.raises(UserWarning): + pp.create_std_type(net, name=name, data=typdata, element="line") + + typdata = {"c_nf_per_km": c, "r_ohm_per_km": r, "x_ohm_per_km": x, "max_i_ka": i} + pp.create_std_type(net, name=name, data=typdata, element="line") + assert net.std_types["line"][name] == typdata + + loaded_type = pp.load_std_type(net, name) + assert loaded_type == typdata + +def test_create_std_types_line(): + net = pp.create_empty_network() + c = 40 + r = 0.01 + x = 0.02 + i = 0.2 + + typdata = {"c_nf_per_km": c, "r_ohm_per_km": r, "x_ohm_per_km": x, "max_i_ka": i} + + typdatas = {"typ1": typdata, "typ2": typdata} + pp.create_std_types(net, data=typdatas, element="line") + assert net.std_types["line"]["typ1"] == typdata + assert net.std_types["line"]["typ1"] == typdata + +def test_create_std_types_from_net_line(): + net1 = pp.create_empty_network() + net2 = pp.create_empty_network() + + c = 40 + r = 0.01 + x = 0.02 + i = 0.2 + + typdata = {"c_nf_per_km": c, "r_ohm_per_km": r, "x_ohm_per_km": x, "max_i_ka": i, + "additional": 8} + pp.create_std_type(net1, typdata, "test_copy") + pp.copy_std_types(net2, net1, element="line") + assert pp.std_type_exists(net2, "test_copy") + +def test_create_and_load_std_type_trafo(): + net = pp.create_empty_network() + sn_mva = 40 + vn_hv_kv = 110 + vn_lv_kv = 20 + vk_percent = 5. + vkr_percent = 2. + pfe_kw=50 + i0_percent = 0.1 + shift_degree = 30 + name = "test_trafo" + + typdata = {"sn_mva": sn_mva} + with pytest.raises(UserWarning): + pp.create_std_type(net, name=name, data=typdata, element="trafo") + + typdata = {"sn_mva": sn_mva, "vn_hv_kv": vn_hv_kv} + with pytest.raises(UserWarning): + pp.create_std_type(net, name=name, data=typdata, element="trafo") + + typdata = {"sn_mva": sn_mva, "vn_hv_kv": vn_hv_kv, "vn_lv_kv": vn_lv_kv} + with pytest.raises(UserWarning): + pp.create_std_type(net, name=name, data=typdata, element="trafo") + + typdata = {"sn_mva": sn_mva, "vn_hv_kv": vn_hv_kv, "vn_lv_kv": vn_lv_kv, "vk_percent": vk_percent} + with pytest.raises(UserWarning): + pp.create_std_type(net, name=name, data=typdata, element="trafo") + + typdata = {"sn_mva": sn_mva, "vn_hv_kv": vn_hv_kv, "vn_lv_kv": vn_lv_kv, "vk_percent": vk_percent, + "vkr_percent": vkr_percent} + with pytest.raises(UserWarning): + pp.create_std_type(net, name=name, data=typdata, element="trafo") + + typdata = {"sn_mva": sn_mva, "vn_hv_kv": vn_hv_kv, "vn_lv_kv": vn_lv_kv, "vk_percent": vk_percent, + "vkr_percent": vkr_percent, "pfe_kw": pfe_kw} + with pytest.raises(UserWarning): + pp.create_std_type(net, name=name, data=typdata, element="trafo") + + typdata = {"sn_mva": sn_mva, "vn_hv_kv": vn_hv_kv, "vn_lv_kv": vn_lv_kv, "vk_percent": vk_percent, + "vkr_percent": vkr_percent, "pfe_kw": pfe_kw, "i0_percent": i0_percent} + with pytest.raises(UserWarning): + pp.create_std_type(net, name=name, data=typdata, element="trafo") + typdata = {"sn_mva": sn_mva, "vn_hv_kv": vn_hv_kv, "vn_lv_kv": vn_lv_kv, "vk_percent": vk_percent, + "vkr_percent": vkr_percent, "pfe_kw": pfe_kw, "i0_percent": i0_percent, + "shift_degree": shift_degree} + pp.create_std_type(net, name=name, data=typdata, element="trafo") + assert net.std_types["trafo"][name] == typdata + + loaded_type = pp.load_std_type(net, name, element="trafo") + assert loaded_type == typdata + +def test_create_and_load_std_type_trafo3w(): + net = pp.create_empty_network() + sn_hv_mva = 40; sn_mv_mva = 20; sn_lv_mva = 20 + vn_hv_kv = 110; vn_mv_kv = 50; vn_lv_kv = 20 + vk_hv_percent = 5.; vk_mv_percent = 5.; vk_lv_percent = 5. + vkr_hv_percent = 2.; vkr_mv_percent = 2.; vkr_lv_percent = 2. + pfe_kw=50 + i0_percent = 0.1 + shift_mv_degree = 30; shift_lv_degree = 30 + name = "test_trafo3w" + + typdata = {"sn_hv_mva": sn_hv_mva} + with pytest.raises(UserWarning): + pp.create_std_type(net, name=name, data=typdata, element="trafo3w") + + typdata = {"sn_mv_mva": sn_mv_mva, "vn_hv_kv": vn_hv_kv} + with pytest.raises(UserWarning): + pp.create_std_type(net, name=name, data=typdata, element="trafo3w") + + typdata = {"sn_lv_mva": sn_lv_mva, "vn_mv_kv": vn_mv_kv, "vn_lv_kv": vn_lv_kv} + with pytest.raises(UserWarning): + pp.create_std_type(net, name=name, data=typdata, element="trafo3w") + + typdata = {"sn_mv_mva": sn_mv_mva, "vn_hv_kv": vn_hv_kv, "vn_lv_kv": vn_lv_kv, "vk_hv_percent": vk_hv_percent} + with pytest.raises(UserWarning): + pp.create_std_type(net, name=name, data=typdata, element="trafo3w") + + typdata = {"sn_hv_mva": sn_hv_mva, "vn_hv_kv": vn_hv_kv, "vn_lv_kv": vn_lv_kv, "vk_mv_percent": vk_mv_percent, + "vkr_hv_percent": vkr_hv_percent} + with pytest.raises(UserWarning): + pp.create_std_type(net, name=name, data=typdata, element="trafo3w") + + typdata = {"sn_hv_mva": sn_hv_mva, "vn_hv_kv": vn_hv_kv, "vn_lv_kv": vn_lv_kv, "vk_lv_percent": vk_lv_percent, + "vkr_mv_percent": vkr_mv_percent, "pfe_kw": pfe_kw} + with pytest.raises(UserWarning): + pp.create_std_type(net, name=name, data=typdata, element="trafo3w") + + typdata = {"sn_hv_mva": sn_hv_mva, "vn_hv_kv": vn_hv_kv, "vn_lv_kv": vn_lv_kv, "vk_hv_percent": vk_hv_percent, + "vkr_lv_percent": vkr_lv_percent, "pfe_kw": pfe_kw, "i0_percent": i0_percent} + with pytest.raises(UserWarning): + pp.create_std_type(net, name=name, data=typdata, element="trafo3w") + typdata = {"sn_hv_mva": sn_hv_mva, "vn_hv_kv": vn_hv_kv, "vn_lv_kv": vn_lv_kv, "vk_hv_percent": vk_hv_percent, + "vkr_hv_percent": vkr_hv_percent, "pfe_kw": pfe_kw, "i0_percent": i0_percent, + "shift_mv_degree": shift_mv_degree} + with pytest.raises(UserWarning): + pp.create_std_type(net, name=name, data=typdata, element="trafo3w") + typdata = {"vn_hv_kv": vn_hv_kv, "vn_mv_kv": vn_mv_kv, "vn_lv_kv": vn_lv_kv, "sn_hv_mva": sn_hv_mva, + "sn_mv_mva": sn_mv_mva, "sn_lv_mva": sn_lv_mva, "vk_hv_percent": vk_hv_percent, "vk_mv_percent": vk_mv_percent, + "vk_lv_percent": vk_lv_percent, "vkr_hv_percent": vkr_hv_percent, "vkr_mv_percent": vkr_mv_percent, + "vkr_lv_percent": vkr_lv_percent, "pfe_kw": pfe_kw, "i0_percent": i0_percent, + "shift_mv_degree":shift_mv_degree, "shift_lv_degree": shift_lv_degree} + pp.create_std_type(net, name=name, data=typdata, element="trafo3w") + assert net.std_types["trafo3w"][name] == typdata + + loaded_type = pp.load_std_type(net, name, element="trafo3w") + assert loaded_type == typdata + +def test_create_std_types_trafo(): + net = pp.create_empty_network() + sn_mva = 40 + vn_hv_kv = 110 + vn_lv_kv = 20 + vk_percent = 5. + vkr_percent = 2. + pfe_kw=50 + i0_percent = 0.1 + shift_degree = 30 + + typdata = {"sn_mva": sn_mva, "vn_hv_kv": vn_hv_kv, "vn_lv_kv": vn_lv_kv, "vk_percent": vk_percent, + "vkr_percent": vkr_percent, "pfe_kw": pfe_kw, "i0_percent": i0_percent, + "shift_degree": shift_degree} + typdatas = {"typ1": typdata, "typ2": typdata} + pp.create_std_types(net, data=typdatas, element="trafo") + assert net.std_types["trafo"]["typ1"] == typdata + assert net.std_types["trafo"]["typ2"] == typdata + +def test_create_std_types_trafo3w(): + net = pp.create_empty_network() + sn_hv_mva = 40; sn_mv_mva = 20; sn_lv_mva = 20 + vn_hv_kv = 110; vn_mv_kv = 50; vn_lv_kv = 20 + vk_hv_percent = 5.; vk_mv_percent = 5.; vk_lv_percent = 5. + vkr_hv_percent = 2.; vkr_mv_percent = 2.; vkr_lv_percent = 2. + pfe_kw=50 + i0_percent = 0.1 + shift_mv_degree = 30; shift_lv_degree = 30 + + typdata = {"vn_hv_kv": vn_hv_kv, "vn_mv_kv": vn_mv_kv, "vn_lv_kv": vn_lv_kv, "sn_hv_mva": sn_hv_mva, + "sn_mv_mva": sn_mv_mva, "sn_lv_mva": sn_lv_mva, "vk_hv_percent": vk_hv_percent, "vk_mv_percent": vk_mv_percent, + "vk_lv_percent": vk_lv_percent, "vkr_hv_percent": vkr_hv_percent, "vkr_mv_percent": vkr_mv_percent, + "vkr_lv_percent": vkr_lv_percent, "pfe_kw": pfe_kw, "i0_percent": i0_percent, + "shift_mv_degree":shift_mv_degree, "shift_lv_degree": shift_lv_degree} + + typdatas = {"typ1": typdata, "typ2": typdata} + pp.create_std_types(net, data=typdatas, element="trafo3w") + assert net.std_types["trafo3w"]["typ1"] == typdata + assert net.std_types["trafo3w"]["typ2"] == typdata + +def test_find_line_type(): + net = pp.create_empty_network() + c = 40000 + r = 1.5 + x = 2.0 + i = 10 + name = "test_line1" + typdata = {"c_nf_per_km": c, "r_ohm_per_km": r, "x_ohm_per_km": x, "max_i_ka": i} + pp.create_std_type(net, data=typdata, name=name, element="line") + fitting_type = pp.find_std_type_by_parameter(net, typdata) + assert len(fitting_type) == 1 + assert fitting_type[0] == name + + fitting_type = pp.find_std_type_by_parameter(net, {"r_ohm_per_km":r+0.05}, epsilon=.06) + assert len(fitting_type) == 1 + assert fitting_type[0] == name + + fitting_type = pp.find_std_type_by_parameter(net, {"r_ohm_per_km":r+0.07}, epsilon=.06) + assert len(fitting_type) == 0 + +def test_change_type_line(): + net = pp.create_empty_network() + r1 = 0.01 + x1 = 0.02 + c1 = 40 + i1 = 0.2 + name1 = "test_line1" + typ1 = {"c_nf_per_km": c1, "r_ohm_per_km": r1, "x_ohm_per_km": x1, "max_i_ka": i1} + pp.create_std_type(net, data=typ1, name=name1, element="line") + + r2 = 0.02 + x2 = 0.04 + c2 = 20 + i2 = 0.4 + name2 = "test_line2" + typ2 = {"c_nf_per_km": c2, "r_ohm_per_km": r2, "x_ohm_per_km": x2, "max_i_ka": i2} + pp.create_std_type(net, data=typ2, name=name2, element="line") + + b1 = pp.create_bus(net, vn_kv=0.4) + b2 = pp.create_bus(net, vn_kv=0.4) + lid = pp.create_line(net, b1, b2, 1., std_type=name1) + assert net.line.r_ohm_per_km.at[lid] == r1 + assert net.line.x_ohm_per_km.at[lid] == x1 + assert net.line.c_nf_per_km.at[lid] == c1 + assert net.line.max_i_ka.at[lid] == i1 + assert net.line.std_type.at[lid] == name1 + + pp.change_std_type(net, lid, name2) + + assert net.line.r_ohm_per_km.at[lid] == r2 + assert net.line.x_ohm_per_km.at[lid] == x2 + assert net.line.c_nf_per_km.at[lid] == c2 + assert net.line.max_i_ka.at[lid] == i2 + assert net.line.std_type.at[lid] == name2 + + +def test_parameter_from_std_type_line(): + net = pp.create_empty_network() + r1 = 0.01 + x1 = 0.02 + c1 = 40 + i1 = 0.2 + name1 = "test_line1" + typ1 = {"c_nf_per_km": c1, "r_ohm_per_km": r1, "x_ohm_per_km": x1, "max_i_ka": i1} + pp.create_std_type(net, data=typ1, name=name1, element="line") + + r2 = 0.02 + x2 = 0.04 + c2 = 20 + i2 = 0.4 + endtemp2 = 40 + + endtemp_fill = 20 + + name2 = "test_line2" + typ2 = {"c_nf_per_km": c2, "r_ohm_per_km": r2, "x_ohm_per_km": x2, "max_i_ka": i2, + "endtemp_degree": endtemp2} + pp.create_std_type(net, data=typ2, name=name2, element="line") + + b1 = pp.create_bus(net, vn_kv=0.4) + b2 = pp.create_bus(net, vn_kv=0.4) + lid1 = pp.create_line(net, b1, b2, 1., std_type=name1) + lid2 = pp.create_line(net, b1, b2, 1., std_type=name2) + lid3 = pp.create_line_from_parameters(net, b1, b2, 1., r_ohm_per_km=0.03, x_ohm_per_km=0.04, + c_nf_per_km=20, max_i_ka=0.3) + + pp.parameter_from_std_type(net, "endtemp_degree", fill=endtemp_fill) + assert net.line.endtemp_degree.at[lid1] == endtemp_fill #type1 one has not specified an endtemp + assert net.line.endtemp_degree.at[lid2] == endtemp2 #type2 has specified endtemp + assert net.line.endtemp_degree.at[lid3] == endtemp_fill #line3 has no standard type + + net.line.endtemp_degree.at[lid3] = 10 + pp.parameter_from_std_type(net, "endtemp_degree", fill=endtemp_fill) + assert net.line.endtemp_degree.at[lid3] == 10 #check that existing values arent overwritten + + +def test_add_temperature_coefficient(): + net = nw.simple_mv_open_ring_net() + pp.add_temperature_coefficient(net) + assert "alpha" in net.line.columns + assert all(net.line.alpha == 4.03e-3) + + +if __name__ == "__main__": + pytest.main([__file__]) diff --git a/pandapower/test/api/test_toolbox.py b/pandapower/test/api/test_toolbox.py index f636af77b..f52f9ff44 100644 --- a/pandapower/test/api/test_toolbox.py +++ b/pandapower/test/api/test_toolbox.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/test/conftest.py b/pandapower/test/conftest.py index 15eb96ed6..74327415a 100644 --- a/pandapower/test/conftest.py +++ b/pandapower/test/conftest.py @@ -1,47 +1,47 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import numpy as np -import pytest - -import pandapower as pp -from pandapower.test.loadflow.result_test_network_generator import result_test_network_generator - - -@pytest.fixture(scope="session") -def simple_network(): - net = pp.create_empty_network() - b1 = pp.create_bus(net, name="bus1", vn_kv=10.) - pp.create_ext_grid(net, b1) - b2 = pp.create_bus(net, name="bus2", geodata=(1, 2)) - b3 = pp.create_bus(net, name="bus3", geodata=(1, 3)) - b4 = pp.create_bus(net, name="bus4", vn_kv=10.) - pp.create_transformer(net, b4, b2, - std_type="0.25 MVA 10/0.4 kV", - name=None, in_service=True, index=None) - pp.create_line(net, b2, b3, 1, name="line1", - std_type="NAYY 4x150 SE", - geodata=np.array([[1, 2], [3, 4]])) - pp.create_line(net, b1, b4, 1, name="line2", - std_type="NAYY 4x150 SE") - pp.create_load(net, b2, p_mw=0.01, q_mvar=0, name="load1") - pp.create_load(net, b3, p_mw=0.04, q_mvar=0.002, name="load2") - pp.create_gen(net, 3, q_mvar=0.020, vm_pu=1.0) - pp.create_sgen(net, 2, p_mw=0.050, sn_mva=0.1) - return net - - - -@pytest.fixture(scope="session") -def result_test_network(): - for net in result_test_network_generator(): - pass - pp.runpp(net, trafo_model="t", trafo_loading="current") - return net - -if __name__ == '__main__': - net = result_test_network() +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import numpy as np +import pytest + +import pandapower as pp +from pandapower.test.loadflow.result_test_network_generator import result_test_network_generator + + +@pytest.fixture(scope="session") +def simple_network(): + net = pp.create_empty_network() + b1 = pp.create_bus(net, name="bus1", vn_kv=10.) + pp.create_ext_grid(net, b1) + b2 = pp.create_bus(net, name="bus2", geodata=(1, 2)) + b3 = pp.create_bus(net, name="bus3", geodata=(1, 3)) + b4 = pp.create_bus(net, name="bus4", vn_kv=10.) + pp.create_transformer(net, b4, b2, + std_type="0.25 MVA 10/0.4 kV", + name=None, in_service=True, index=None) + pp.create_line(net, b2, b3, 1, name="line1", + std_type="NAYY 4x150 SE", + geodata=np.array([[1, 2], [3, 4]])) + pp.create_line(net, b1, b4, 1, name="line2", + std_type="NAYY 4x150 SE") + pp.create_load(net, b2, p_mw=0.01, q_mvar=0, name="load1") + pp.create_load(net, b3, p_mw=0.04, q_mvar=0.002, name="load2") + pp.create_gen(net, 3, q_mvar=0.020, vm_pu=1.0) + pp.create_sgen(net, 2, p_mw=0.050, sn_mva=0.1) + return net + + + +@pytest.fixture(scope="session") +def result_test_network(): + for net in result_test_network_generator(): + pass + pp.runpp(net, trafo_model="t", trafo_loading="current") + return net + +if __name__ == '__main__': + net = result_test_network() # pp.rundcpp(net) \ No newline at end of file diff --git a/pandapower/test/consistency_checks.py b/pandapower/test/consistency_checks.py index 5dc1cee4f..f7f94c822 100644 --- a/pandapower/test/consistency_checks.py +++ b/pandapower/test/consistency_checks.py @@ -1,221 +1,221 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import pandas as pd -from numpy import allclose, isclose -from pandapower.pf.runpp_3ph import runpp_3ph -from pandapower.results import get_relevant_elements -import pandapower as pp - - -def runpp_with_consistency_checks(net, **kwargs): - pp.runpp(net, **kwargs) - consistency_checks(net) - return True - -def runpp_3ph_with_consistency_checks(net, **kwargs): - runpp_3ph(net, **kwargs) - consistency_checks_3ph(net) - return True - -def rundcpp_with_consistency_checks(net, **kwargs): - pp.rundcpp(net, **kwargs) - consistency_checks(net, test_q=False) - return True - -def consistency_checks(net, rtol=1e-3, test_q=True): - indices_consistent(net) - branch_loss_consistent_with_bus_feed_in(net, rtol) - element_power_consistent_with_bus_power(net, rtol, test_q) - -def indices_consistent(net): - elements = get_relevant_elements() - for element in elements: - e_idx = net[element].index - res_idx = net["res_" + element].index - assert len(e_idx) == len(res_idx), "length of %s bus and res_%s indices do not match"%(element, element) - assert all(e_idx == res_idx), "%s bus and res_%s indices do not match"%(element, element) - - -def branch_loss_consistent_with_bus_feed_in(net, atol=1e-2): - """ - The surpluss of bus feed summed over all buses always has to be equal to the sum of losses in - all branches. - """ - # Active Power - bus_surplus_p = -net.res_bus.p_mw.sum() - bus_surplus_q = -net.res_bus.q_mvar.sum() - - branch_loss_p = net.res_line.pl_mw.values.sum() + net.res_trafo.pl_mw.values.sum() + \ - net.res_trafo3w.pl_mw.values.sum() + net.res_impedance.pl_mw.values.sum() + \ - net.res_dcline.pl_mw.values.sum() - branch_loss_q = net.res_line.ql_mvar.values.sum() + net.res_trafo.ql_mvar.values.sum() + \ - net.res_trafo3w.ql_mvar.values.sum() + net.res_impedance.ql_mvar.values.sum() + \ - net.res_dcline.q_to_mvar.values.sum() + net.res_dcline.q_from_mvar.values.sum() - - try: - assert isclose(bus_surplus_p, branch_loss_p, atol=atol) - except AssertionError: - raise AssertionError("Branch losses are %.4f MW, but power generation at the buses exceeds the feedin by %.4f MW"%(branch_loss_p, bus_surplus_p)) - try: - assert isclose(bus_surplus_q, branch_loss_q, atol=atol) - except AssertionError: - raise AssertionError("Branch losses are %.4f MVar, but power generation at the buses exceeds the feedin by %.4f MVar"%(branch_loss_q, bus_surplus_q)) - - -def element_power_consistent_with_bus_power(net, rtol=1e-2, test_q=True): - """ - The bus feed-in at each node has to be equal to the sum of the element feed ins at each node. - """ - bus_p = pd.Series(data=0., index=net.bus.index) - bus_q = pd.Series(data=0., index=net.bus.index) - - for idx, tab in net.ext_grid.iterrows(): - if tab.in_service: - bus_p.at[tab.bus] -= net.res_ext_grid.p_mw.at[idx] - bus_q.at[tab.bus] -= net.res_ext_grid.q_mvar.at[idx] - - for idx, tab in net.gen.iterrows(): - if tab.in_service: - bus_p.at[tab.bus] -= net.res_gen.p_mw.at[idx] - bus_q.at[tab.bus] -= net.res_gen.q_mvar.at[idx] - - for idx, tab in net.load.iterrows(): - bus_p.at[tab.bus] += net.res_load.p_mw.at[idx] - bus_q.at[tab.bus] += net.res_load.q_mvar.at[idx] - - for idx, tab in net.sgen.iterrows(): - bus_p.at[tab.bus] -= net.res_sgen.p_mw.at[idx] - bus_q.at[tab.bus] -= net.res_sgen.q_mvar.at[idx] - - for idx, tab in net.asymmetric_load.iterrows(): - bus_p.at[tab.bus] += net.res_asymmetric_load.p_mw.at[idx] - bus_q.at[tab.bus] += net.res_asymmetric_load.q_mvar.at[idx] - - for idx, tab in net.asymmetric_sgen.iterrows(): - bus_p.at[tab.bus] -= net.res_asymmetric_sgen.p_mw.at[idx] - bus_q.at[tab.bus] -= net.res_asymmetric_sgen.q_mvar.at[idx] - - for idx, tab in net.storage.iterrows(): - bus_p.at[tab.bus] += net.res_storage.p_mw.at[idx] - bus_q.at[tab.bus] += net.res_storage.q_mvar.at[idx] - - for idx, tab in net.shunt.iterrows(): - bus_p.at[tab.bus] += net.res_shunt.p_mw.at[idx] - bus_q.at[tab.bus] += net.res_shunt.q_mvar.at[idx] - - for idx, tab in net.ward.iterrows(): - bus_p.at[tab.bus] += net.res_ward.p_mw.at[idx] - bus_q.at[tab.bus] += net.res_ward.q_mvar.at[idx] - - for idx, tab in net.xward.iterrows(): - bus_p.at[tab.bus] += net.res_xward.p_mw.at[idx] - bus_q.at[tab.bus] += net.res_xward.q_mvar.at[idx] - - - assert allclose(net.res_bus.p_mw.values, bus_p.values, equal_nan=True, rtol=rtol) - if test_q: - assert allclose(net.res_bus.q_mvar.values, bus_q.values, equal_nan=True, rtol=rtol) - - -def consistency_checks_3ph(net, rtol=2e-3): - indices_consistent_3ph(net) - branch_loss_consistent_with_bus_feed_in_3ph(net, rtol) - element_power_consistent_with_bus_power_3ph(net, rtol) - -def indices_consistent_3ph(net): - elements = get_relevant_elements("pf_3ph") - for element in elements: - e_idx = net[element].index - res_idx = net["res_" + element+"_3ph"].index - assert len(e_idx) == len(res_idx), "length of %s bus and res_%s indices do not match"%(element, element) - assert all(e_idx == res_idx), "%s bus and res_%s indices do not match"%(element, element) - - -def branch_loss_consistent_with_bus_feed_in_3ph(net, atol=1e-2): - """ - The surpluss of bus feed summed over all buses always has to be equal to the sum of losses in - all branches. - """ - bus_surplus_p = -net.res_bus_3ph[["p_a_mw", "p_b_mw", "p_c_mw"]].sum().sum() - bus_surplus_q = -net.res_bus_3ph[["q_a_mvar", "q_b_mvar", "q_c_mvar"]].sum().sum() - - - branch_loss_p = net.res_line_3ph.p_a_l_mw.sum() + net.res_trafo_3ph.p_a_l_mw.sum() + \ - net.res_line_3ph.p_b_l_mw.sum() + net.res_trafo_3ph.p_b_l_mw.sum() + \ - net.res_line_3ph.p_c_l_mw.sum() + net.res_trafo_3ph.p_c_l_mw.sum() - - branch_loss_q = net.res_line_3ph.q_a_l_mvar.sum() + net.res_trafo_3ph.q_a_l_mvar.sum() + \ - net.res_line_3ph.q_b_l_mvar.sum() + net.res_trafo_3ph.q_b_l_mvar.sum() + \ - net.res_line_3ph.q_c_l_mvar.sum() + net.res_trafo_3ph.q_c_l_mvar.sum() - - try: - assert isclose(bus_surplus_p, branch_loss_p, atol=atol) - except AssertionError: - raise AssertionError("Branch losses are %.4f MW, but power generation at the buses exceeds the feedin by %.4f MW"%(branch_loss_p, bus_surplus_p)) - try: - assert isclose(bus_surplus_q, branch_loss_q, atol=atol) - except AssertionError: - raise AssertionError("Branch losses are %.4f MVar, but power generation at the buses exceeds the feedin by %.4f MVar"%(branch_loss_q, bus_surplus_q)) - - -def element_power_consistent_with_bus_power_3ph(net, rtol=1e-2): - """ - The bus feed-in at each node has to be equal to the sum of the element feed ins at each node. - """ - bus_p_a = pd.Series(data=0., index=net.bus.index) - bus_q_a = pd.Series(data=0., index=net.bus.index) - bus_p_b = pd.Series(data=0., index=net.bus.index) - bus_q_b = pd.Series(data=0., index=net.bus.index) - bus_p_c = pd.Series(data=0., index=net.bus.index) - bus_q_c = pd.Series(data=0., index=net.bus.index) - - for idx, tab in net.ext_grid.iterrows(): - bus_p_a.at[tab.bus] -= net.res_ext_grid_3ph.p_a_mw.at[idx] - bus_q_a.at[tab.bus] -= net.res_ext_grid_3ph.q_a_mvar.at[idx] - bus_p_b.at[tab.bus] -= net.res_ext_grid_3ph.p_b_mw.at[idx] - bus_q_b.at[tab.bus] -= net.res_ext_grid_3ph.q_b_mvar.at[idx] - bus_p_c.at[tab.bus] -= net.res_ext_grid_3ph.p_c_mw.at[idx] - bus_q_c.at[tab.bus] -= net.res_ext_grid_3ph.q_c_mvar.at[idx] - - for idx, tab in net.load.iterrows(): - bus_p_a.at[tab.bus] += net.res_load_3ph.p_mw.at[idx]/3 - bus_q_a.at[tab.bus] += net.res_load_3ph.q_mvar.at[idx] /3 - bus_p_b.at[tab.bus] += net.res_load_3ph.p_mw.at[idx]/3 - bus_q_b.at[tab.bus] += net.res_load_3ph.q_mvar.at[idx] /3 - bus_p_c.at[tab.bus] += net.res_load_3ph.p_mw.at[idx]/3 - bus_q_c.at[tab.bus] += net.res_load_3ph.q_mvar.at[idx] /3 - - for idx, tab in net.asymmetric_load.iterrows(): - bus_p_a.at[tab.bus] += net.res_asymmetric_load_3ph.p_a_mw.at[idx] - bus_q_a.at[tab.bus] += net.res_asymmetric_load_3ph.q_a_mvar.at[idx] - bus_p_b.at[tab.bus] += net.res_asymmetric_load_3ph.p_b_mw.at[idx] - bus_q_b.at[tab.bus] += net.res_asymmetric_load_3ph.q_b_mvar.at[idx] - bus_p_c.at[tab.bus] += net.res_asymmetric_load_3ph.p_c_mw.at[idx] - bus_q_c.at[tab.bus] += net.res_asymmetric_load_3ph.q_c_mvar.at[idx] - - for idx, tab in net.asymmetric_sgen.iterrows(): - bus_p_a.at[tab.bus] -= net.res_asymmetric_sgen_3ph.p_a_mw.at[idx] - bus_q_a.at[tab.bus] -= net.res_asymmetric_sgen_3ph.q_a_mvar.at[idx] - bus_p_b.at[tab.bus] -= net.res_asymmetric_sgen_3ph.p_b_mw.at[idx] - bus_q_b.at[tab.bus] -= net.res_asymmetric_sgen_3ph.q_b_mvar.at[idx] - bus_p_c.at[tab.bus] -= net.res_asymmetric_sgen_3ph.p_c_mw.at[idx] - bus_q_c.at[tab.bus] -= net.res_asymmetric_sgen_3ph.q_c_mvar.at[idx] - - for idx, tab in net.sgen.iterrows(): - bus_p_a.at[tab.bus] -= net.res_sgen_3ph.p_mw.at[idx] / 3 - bus_q_a.at[tab.bus] -= net.res_sgen_3ph.q_mvar.at[idx] / 3 - bus_p_b.at[tab.bus] -= net.res_sgen_3ph.p_mw.at[idx] / 3 - bus_q_b.at[tab.bus] -= net.res_sgen_3ph.q_mvar.at[idx] / 3 - bus_p_c.at[tab.bus] -= net.res_sgen_3ph.p_mw.at[idx] / 3 - bus_q_c.at[tab.bus] -= net.res_sgen_3ph.q_mvar.at[idx] / 3 - - assert allclose(net.res_bus_3ph.p_a_mw.values, bus_p_a.values, equal_nan=True, rtol=rtol) - assert allclose(net.res_bus_3ph.q_a_mvar.values, bus_q_a.values, equal_nan=True, rtol=rtol) - assert allclose(net.res_bus_3ph.p_b_mw.values, bus_p_b.values, equal_nan=True, rtol=rtol) - assert allclose(net.res_bus_3ph.q_b_mvar.values, bus_q_b.values, equal_nan=True, rtol=rtol) - assert allclose(net.res_bus_3ph.p_c_mw.values, bus_p_c.values, equal_nan=True, rtol=rtol) - assert allclose(net.res_bus_3ph.q_c_mvar.values, bus_q_c.values, equal_nan=True, rtol=rtol) +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import pandas as pd +from numpy import allclose, isclose +from pandapower.pf.runpp_3ph import runpp_3ph +from pandapower.results import get_relevant_elements +import pandapower as pp + + +def runpp_with_consistency_checks(net, **kwargs): + pp.runpp(net, **kwargs) + consistency_checks(net) + return True + +def runpp_3ph_with_consistency_checks(net, **kwargs): + runpp_3ph(net, **kwargs) + consistency_checks_3ph(net) + return True + +def rundcpp_with_consistency_checks(net, **kwargs): + pp.rundcpp(net, **kwargs) + consistency_checks(net, test_q=False) + return True + +def consistency_checks(net, rtol=1e-3, test_q=True): + indices_consistent(net) + branch_loss_consistent_with_bus_feed_in(net, rtol) + element_power_consistent_with_bus_power(net, rtol, test_q) + +def indices_consistent(net): + elements = get_relevant_elements() + for element in elements: + e_idx = net[element].index + res_idx = net["res_" + element].index + assert len(e_idx) == len(res_idx), "length of %s bus and res_%s indices do not match"%(element, element) + assert all(e_idx == res_idx), "%s bus and res_%s indices do not match"%(element, element) + + +def branch_loss_consistent_with_bus_feed_in(net, atol=1e-2): + """ + The surpluss of bus feed summed over all buses always has to be equal to the sum of losses in + all branches. + """ + # Active Power + bus_surplus_p = -net.res_bus.p_mw.sum() + bus_surplus_q = -net.res_bus.q_mvar.sum() + + branch_loss_p = net.res_line.pl_mw.values.sum() + net.res_trafo.pl_mw.values.sum() + \ + net.res_trafo3w.pl_mw.values.sum() + net.res_impedance.pl_mw.values.sum() + \ + net.res_dcline.pl_mw.values.sum() + branch_loss_q = net.res_line.ql_mvar.values.sum() + net.res_trafo.ql_mvar.values.sum() + \ + net.res_trafo3w.ql_mvar.values.sum() + net.res_impedance.ql_mvar.values.sum() + \ + net.res_dcline.q_to_mvar.values.sum() + net.res_dcline.q_from_mvar.values.sum() + + try: + assert isclose(bus_surplus_p, branch_loss_p, atol=atol) + except AssertionError: + raise AssertionError("Branch losses are %.4f MW, but power generation at the buses exceeds the feedin by %.4f MW"%(branch_loss_p, bus_surplus_p)) + try: + assert isclose(bus_surplus_q, branch_loss_q, atol=atol) + except AssertionError: + raise AssertionError("Branch losses are %.4f MVar, but power generation at the buses exceeds the feedin by %.4f MVar"%(branch_loss_q, bus_surplus_q)) + + +def element_power_consistent_with_bus_power(net, rtol=1e-2, test_q=True): + """ + The bus feed-in at each node has to be equal to the sum of the element feed ins at each node. + """ + bus_p = pd.Series(data=0., index=net.bus.index) + bus_q = pd.Series(data=0., index=net.bus.index) + + for idx, tab in net.ext_grid.iterrows(): + if tab.in_service: + bus_p.at[tab.bus] -= net.res_ext_grid.p_mw.at[idx] + bus_q.at[tab.bus] -= net.res_ext_grid.q_mvar.at[idx] + + for idx, tab in net.gen.iterrows(): + if tab.in_service: + bus_p.at[tab.bus] -= net.res_gen.p_mw.at[idx] + bus_q.at[tab.bus] -= net.res_gen.q_mvar.at[idx] + + for idx, tab in net.load.iterrows(): + bus_p.at[tab.bus] += net.res_load.p_mw.at[idx] + bus_q.at[tab.bus] += net.res_load.q_mvar.at[idx] + + for idx, tab in net.sgen.iterrows(): + bus_p.at[tab.bus] -= net.res_sgen.p_mw.at[idx] + bus_q.at[tab.bus] -= net.res_sgen.q_mvar.at[idx] + + for idx, tab in net.asymmetric_load.iterrows(): + bus_p.at[tab.bus] += net.res_asymmetric_load.p_mw.at[idx] + bus_q.at[tab.bus] += net.res_asymmetric_load.q_mvar.at[idx] + + for idx, tab in net.asymmetric_sgen.iterrows(): + bus_p.at[tab.bus] -= net.res_asymmetric_sgen.p_mw.at[idx] + bus_q.at[tab.bus] -= net.res_asymmetric_sgen.q_mvar.at[idx] + + for idx, tab in net.storage.iterrows(): + bus_p.at[tab.bus] += net.res_storage.p_mw.at[idx] + bus_q.at[tab.bus] += net.res_storage.q_mvar.at[idx] + + for idx, tab in net.shunt.iterrows(): + bus_p.at[tab.bus] += net.res_shunt.p_mw.at[idx] + bus_q.at[tab.bus] += net.res_shunt.q_mvar.at[idx] + + for idx, tab in net.ward.iterrows(): + bus_p.at[tab.bus] += net.res_ward.p_mw.at[idx] + bus_q.at[tab.bus] += net.res_ward.q_mvar.at[idx] + + for idx, tab in net.xward.iterrows(): + bus_p.at[tab.bus] += net.res_xward.p_mw.at[idx] + bus_q.at[tab.bus] += net.res_xward.q_mvar.at[idx] + + + assert allclose(net.res_bus.p_mw.values, bus_p.values, equal_nan=True, rtol=rtol) + if test_q: + assert allclose(net.res_bus.q_mvar.values, bus_q.values, equal_nan=True, rtol=rtol) + + +def consistency_checks_3ph(net, rtol=2e-3): + indices_consistent_3ph(net) + branch_loss_consistent_with_bus_feed_in_3ph(net, rtol) + element_power_consistent_with_bus_power_3ph(net, rtol) + +def indices_consistent_3ph(net): + elements = get_relevant_elements("pf_3ph") + for element in elements: + e_idx = net[element].index + res_idx = net["res_" + element+"_3ph"].index + assert len(e_idx) == len(res_idx), "length of %s bus and res_%s indices do not match"%(element, element) + assert all(e_idx == res_idx), "%s bus and res_%s indices do not match"%(element, element) + + +def branch_loss_consistent_with_bus_feed_in_3ph(net, atol=1e-2): + """ + The surpluss of bus feed summed over all buses always has to be equal to the sum of losses in + all branches. + """ + bus_surplus_p = -net.res_bus_3ph[["p_a_mw", "p_b_mw", "p_c_mw"]].sum().sum() + bus_surplus_q = -net.res_bus_3ph[["q_a_mvar", "q_b_mvar", "q_c_mvar"]].sum().sum() + + + branch_loss_p = net.res_line_3ph.p_a_l_mw.sum() + net.res_trafo_3ph.p_a_l_mw.sum() + \ + net.res_line_3ph.p_b_l_mw.sum() + net.res_trafo_3ph.p_b_l_mw.sum() + \ + net.res_line_3ph.p_c_l_mw.sum() + net.res_trafo_3ph.p_c_l_mw.sum() + + branch_loss_q = net.res_line_3ph.q_a_l_mvar.sum() + net.res_trafo_3ph.q_a_l_mvar.sum() + \ + net.res_line_3ph.q_b_l_mvar.sum() + net.res_trafo_3ph.q_b_l_mvar.sum() + \ + net.res_line_3ph.q_c_l_mvar.sum() + net.res_trafo_3ph.q_c_l_mvar.sum() + + try: + assert isclose(bus_surplus_p, branch_loss_p, atol=atol) + except AssertionError: + raise AssertionError("Branch losses are %.4f MW, but power generation at the buses exceeds the feedin by %.4f MW"%(branch_loss_p, bus_surplus_p)) + try: + assert isclose(bus_surplus_q, branch_loss_q, atol=atol) + except AssertionError: + raise AssertionError("Branch losses are %.4f MVar, but power generation at the buses exceeds the feedin by %.4f MVar"%(branch_loss_q, bus_surplus_q)) + + +def element_power_consistent_with_bus_power_3ph(net, rtol=1e-2): + """ + The bus feed-in at each node has to be equal to the sum of the element feed ins at each node. + """ + bus_p_a = pd.Series(data=0., index=net.bus.index) + bus_q_a = pd.Series(data=0., index=net.bus.index) + bus_p_b = pd.Series(data=0., index=net.bus.index) + bus_q_b = pd.Series(data=0., index=net.bus.index) + bus_p_c = pd.Series(data=0., index=net.bus.index) + bus_q_c = pd.Series(data=0., index=net.bus.index) + + for idx, tab in net.ext_grid.iterrows(): + bus_p_a.at[tab.bus] -= net.res_ext_grid_3ph.p_a_mw.at[idx] + bus_q_a.at[tab.bus] -= net.res_ext_grid_3ph.q_a_mvar.at[idx] + bus_p_b.at[tab.bus] -= net.res_ext_grid_3ph.p_b_mw.at[idx] + bus_q_b.at[tab.bus] -= net.res_ext_grid_3ph.q_b_mvar.at[idx] + bus_p_c.at[tab.bus] -= net.res_ext_grid_3ph.p_c_mw.at[idx] + bus_q_c.at[tab.bus] -= net.res_ext_grid_3ph.q_c_mvar.at[idx] + + for idx, tab in net.load.iterrows(): + bus_p_a.at[tab.bus] += net.res_load_3ph.p_mw.at[idx]/3 + bus_q_a.at[tab.bus] += net.res_load_3ph.q_mvar.at[idx] /3 + bus_p_b.at[tab.bus] += net.res_load_3ph.p_mw.at[idx]/3 + bus_q_b.at[tab.bus] += net.res_load_3ph.q_mvar.at[idx] /3 + bus_p_c.at[tab.bus] += net.res_load_3ph.p_mw.at[idx]/3 + bus_q_c.at[tab.bus] += net.res_load_3ph.q_mvar.at[idx] /3 + + for idx, tab in net.asymmetric_load.iterrows(): + bus_p_a.at[tab.bus] += net.res_asymmetric_load_3ph.p_a_mw.at[idx] + bus_q_a.at[tab.bus] += net.res_asymmetric_load_3ph.q_a_mvar.at[idx] + bus_p_b.at[tab.bus] += net.res_asymmetric_load_3ph.p_b_mw.at[idx] + bus_q_b.at[tab.bus] += net.res_asymmetric_load_3ph.q_b_mvar.at[idx] + bus_p_c.at[tab.bus] += net.res_asymmetric_load_3ph.p_c_mw.at[idx] + bus_q_c.at[tab.bus] += net.res_asymmetric_load_3ph.q_c_mvar.at[idx] + + for idx, tab in net.asymmetric_sgen.iterrows(): + bus_p_a.at[tab.bus] -= net.res_asymmetric_sgen_3ph.p_a_mw.at[idx] + bus_q_a.at[tab.bus] -= net.res_asymmetric_sgen_3ph.q_a_mvar.at[idx] + bus_p_b.at[tab.bus] -= net.res_asymmetric_sgen_3ph.p_b_mw.at[idx] + bus_q_b.at[tab.bus] -= net.res_asymmetric_sgen_3ph.q_b_mvar.at[idx] + bus_p_c.at[tab.bus] -= net.res_asymmetric_sgen_3ph.p_c_mw.at[idx] + bus_q_c.at[tab.bus] -= net.res_asymmetric_sgen_3ph.q_c_mvar.at[idx] + + for idx, tab in net.sgen.iterrows(): + bus_p_a.at[tab.bus] -= net.res_sgen_3ph.p_mw.at[idx] / 3 + bus_q_a.at[tab.bus] -= net.res_sgen_3ph.q_mvar.at[idx] / 3 + bus_p_b.at[tab.bus] -= net.res_sgen_3ph.p_mw.at[idx] / 3 + bus_q_b.at[tab.bus] -= net.res_sgen_3ph.q_mvar.at[idx] / 3 + bus_p_c.at[tab.bus] -= net.res_sgen_3ph.p_mw.at[idx] / 3 + bus_q_c.at[tab.bus] -= net.res_sgen_3ph.q_mvar.at[idx] / 3 + + assert allclose(net.res_bus_3ph.p_a_mw.values, bus_p_a.values, equal_nan=True, rtol=rtol) + assert allclose(net.res_bus_3ph.q_a_mvar.values, bus_q_a.values, equal_nan=True, rtol=rtol) + assert allclose(net.res_bus_3ph.p_b_mw.values, bus_p_b.values, equal_nan=True, rtol=rtol) + assert allclose(net.res_bus_3ph.q_b_mvar.values, bus_q_b.values, equal_nan=True, rtol=rtol) + assert allclose(net.res_bus_3ph.p_c_mw.values, bus_p_c.values, equal_nan=True, rtol=rtol) + assert allclose(net.res_bus_3ph.q_c_mvar.values, bus_q_c.values, equal_nan=True, rtol=rtol) diff --git a/pandapower/test/control/test_const_control.py b/pandapower/test/control/test_const_control.py index cec7a6e48..b7675db51 100644 --- a/pandapower/test/control/test_const_control.py +++ b/pandapower/test/control/test_const_control.py @@ -1,46 +1,46 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - -import pytest -import numpy as np -import pandas as pd - -import pandapower as pp -import pandapower.networks as nw -import pandapower.control -import pandapower.timeseries -import logging as log - -logger = log.getLogger(__name__) - - -def test_write(): - net = nw.simple_four_bus_system() - ds = pp.timeseries.DFData(pd.DataFrame(data=[[0., 1., 2.], [2., 3., 4.]])) - c1 = pp.control.ConstControl(net, 'sgen', 'p_mw', element_index=[0, 1], profile_name=[0, 1], data_source=ds) - pp.create_sgen(net, 0, 0) - c2 = pp.control.ConstControl(net, 'sgen', 'p_mw', element_index=[2], profile_name=[2], data_source=ds, - scale_factor=0.5) - for t in range(2): - c1.time_step(net, t) - c1.control_step(net) - c2.time_step(net, t) - c2.control_step(net) - assert np.all(net.sgen.p_mw.values == ds.df.loc[t].values * np.array([1, 1, 0.5])) - - -def test_write_to_object_attribute(): - net = nw.simple_four_bus_system() - ds = pp.timeseries.DFData(pd.DataFrame(data=[1.01, 1.02, 1.03])) - c1 = pp.control.ContinuousTapControl(net, 0, 1.) - c2 = pp.control.ConstControl(net, 'controller', 'object.vm_set_pu', element_index=0, profile_name=0, data_source=ds) - for t in range(2): - c2.time_step(net, t) - c2.control_step(net) - assert net.controller.object.at[0].vm_set_pu == ds.df.at[t, 0] - - -if __name__ == '__main__': - pytest.main([__file__]) +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + +import pytest +import numpy as np +import pandas as pd + +import pandapower as pp +import pandapower.networks as nw +import pandapower.control +import pandapower.timeseries +import logging as log + +logger = log.getLogger(__name__) + + +def test_write(): + net = nw.simple_four_bus_system() + ds = pp.timeseries.DFData(pd.DataFrame(data=[[0., 1., 2.], [2., 3., 4.]])) + c1 = pp.control.ConstControl(net, 'sgen', 'p_mw', element_index=[0, 1], profile_name=[0, 1], data_source=ds) + pp.create_sgen(net, 0, 0) + c2 = pp.control.ConstControl(net, 'sgen', 'p_mw', element_index=[2], profile_name=[2], data_source=ds, + scale_factor=0.5) + for t in range(2): + c1.time_step(net, t) + c1.control_step(net) + c2.time_step(net, t) + c2.control_step(net) + assert np.all(net.sgen.p_mw.values == ds.df.loc[t].values * np.array([1, 1, 0.5])) + + +def test_write_to_object_attribute(): + net = nw.simple_four_bus_system() + ds = pp.timeseries.DFData(pd.DataFrame(data=[1.01, 1.02, 1.03])) + c1 = pp.control.ContinuousTapControl(net, 0, 1.) + c2 = pp.control.ConstControl(net, 'controller', 'object.vm_set_pu', element_index=0, profile_name=0, data_source=ds) + for t in range(2): + c2.time_step(net, t) + c2.control_step(net) + assert net.controller.object.at[0].vm_set_pu == ds.df.at[t, 0] + + +if __name__ == '__main__': + pytest.main([__file__]) diff --git a/pandapower/test/control/test_continous_tap_control.py b/pandapower/test/control/test_continous_tap_control.py index c315ea3c3..aa2b69c5b 100644 --- a/pandapower/test/control/test_continous_tap_control.py +++ b/pandapower/test/control/test_continous_tap_control.py @@ -1,155 +1,155 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - -import pandapower as pp -import pytest -import pandapower.networks as nw -import logging as log -import numpy as np - -logger = log.getLogger(__name__) -from pandapower.control import ContinuousTapControl - - -def test_continuous_tap_control_lv(): - # --- load system and run power flow - net = nw.simple_four_bus_system() - pp.set_user_pf_options(net, init='dc', calculate_voltage_angles=True) - # --- initial tap data - net.trafo.tap_side = 'lv' - net.trafo.tap_neutral = 0 - net.trafo.tap_min = -2 - net.trafo.tap_max = 2 - net.trafo.tap_step_percent = 1.25 - net.trafo.tap_pos = 0 - # --- run loadflow - pp.runpp(net) - - # todo: rewrite to not compare to hardcoded values - tid = 0 - ContinuousTapControl(net, tid=tid, vm_set_pu=0.99, side='lv') - # DiscreteTapControl(net, tid=0, side='lv', vm_lower_pu=0.95, vm_upper_pu=0.99) - - logger.info("case1: low voltage") - logger.info("before control: trafo voltage at low voltage bus is %f, tap position is %u" - % (net.res_trafo.vm_lv_pu.at[tid], net.trafo.tap_pos.values)) - - # run control - pp.runpp(net, run_control=True) - pp.runpp(net) - logger.info( - "after ContinuousTapControl: trafo voltage at low voltage bus is %f, tap position is %f" - % (net.res_trafo.vm_lv_pu.values, net.trafo.tap_pos.values)) - - assert np.isclose(net.res_trafo.vm_lv_pu.at[tid], 0.99, atol=1e-3) - assert np.isclose(net.trafo.tap_pos.values, -.528643) - # increase voltage from 1.0 pu to 1.03 pu - net.ext_grid.vm_pu = 1.03 - # switch back tap position - net.trafo.tap_pos.at[0] = 0 - pp.runpp(net) - - logger.info("case2: high voltage") - logger.info("before control: trafo voltage at low voltage bus is %f, tap position is %u" - % (net.res_trafo.vm_lv_pu.at[tid], net.trafo.tap_pos.values)) - - # run control - pp.runpp(net, run_control=True) - pp.runpp(net) - logger.info( - "after ContinuousTapControl: trafo voltage at low voltage bus is %f, tap position is %f" - % (net.res_trafo.vm_lv_pu.at[tid], net.trafo.tap_pos.values)) - - assert np.isclose(net.trafo.tap_pos.values, -2) - # increase voltage from 1.0 pu to 1.03 pu - net.ext_grid.vm_pu = 0.98 - # switch back tap position - net.trafo.tap_pos.at[0] = 0 - pp.runpp(net) - - logger.info("case2: high voltage") - logger.info("before control: trafo voltage at low voltage bus is %f, tap position is %u" - % (net.res_trafo.vm_lv_pu.at[tid], net.trafo.tap_pos.values)) - - # run control - pp.runpp(net, run_control=True) - pp.runpp(net) - logger.info( - "after ContinuousTapControl: trafo voltage at low voltage bus is %f, tap position is %f" - % (net.res_trafo.vm_lv_pu.at[tid], net.trafo.tap_pos.values)) - assert np.isclose(net.res_trafo.vm_lv_pu.at[tid], 0.99, atol=1e-3) - assert np.isclose(net.trafo.tap_pos.values, 1.077656) - - -def test_continuous_tap_control_hv(): - # --- load system and run power flow - net = nw.simple_four_bus_system() - # --- initial tap data - net.trafo.tap_side = 'hv' - net.trafo.tap_neutral = 0 - net.trafo.tap_min = -2 - net.trafo.tap_max = 2 - net.trafo.tap_step_percent = 1.25 - net.trafo.tap_pos = 0 - # --- run loadflow - pp.runpp(net) - tid = 0 - ContinuousTapControl(net, tid=tid, vm_set_pu=0.99, side='lv') - # td = control.DiscreteTapControl(net, tid=0, side='lv', vm_lower_pu=0.95, vm_upper_pu=0.99) - - logger.info("case1: low voltage") - logger.info("before control: trafo voltage at low voltage bus is %f, tap position is %u" - % (net.res_trafo.vm_lv_pu.at[tid], net.trafo.tap_pos.values)) - - # run control - pp.runpp(net, run_control=True) - pp.runpp(net) - logger.info( - "after ContinuousTapControl: trafo voltage at low voltage bus is %f, tap position is %f" - % (net.res_trafo.vm_lv_pu.at[tid], net.trafo.tap_pos.values)) - - assert np.isclose(net.res_trafo.vm_lv_pu.at[tid], 0.99, atol=1e-3) - assert np.isclose(net.trafo.tap_pos.values, 0.528643) - - # increase voltage from 1.0 pu to 1.03 pu - net.ext_grid.vm_pu = 1.03 - # switch back tap position - net.trafo.tap_pos.at[0] = 0 - pp.runpp(net) - - logger.info("case2: high voltage") - logger.info("before control: trafo voltage at low voltage bus is %f, tap position is %u" - % (net.res_trafo.vm_lv_pu.at[tid], net.trafo.tap_pos.values)) - - # run control - pp.runpp(net, run_control=True) - pp.runpp(net) - logger.info( - "after ContinuousTapControl: trafo voltage at low voltage bus is %f, tap position is %f" - % (net.res_trafo.vm_lv_pu.at[tid], net.trafo.tap_pos.values)) - assert np.isclose(net.trafo.tap_pos.values, 2) - - # increase voltage from 1.0 pu to 1.03 pu - net.ext_grid.vm_pu = 0.98 - # switch back tap position - net.trafo.tap_pos.at[0] = 0 - pp.runpp(net) - - logger.info("case2: high voltage") - logger.info("before control: trafo voltage at low voltage bus is %f, tap position is %u" - % (net.res_trafo.vm_lv_pu.at[tid], net.trafo.tap_pos.values)) - - # run control - pp.runpp(net, run_control=True) - pp.runpp(net) - logger.info( - "after ContinuousTapControl: trafo voltage at low voltage bus is %f, tap position is %f" - % (net.res_trafo.vm_lv_pu.at[tid], net.trafo.tap_pos.values)) - assert np.isclose(net.res_trafo.vm_lv_pu.at[tid], 0.99, atol=1e-3) - assert np.isclose(net.trafo.tap_pos.values, -1.07765621) - - -if __name__ == '__main__': - pytest.main(['-xs', __file__]) +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + +import pandapower as pp +import pytest +import pandapower.networks as nw +import logging as log +import numpy as np + +logger = log.getLogger(__name__) +from pandapower.control import ContinuousTapControl + + +def test_continuous_tap_control_lv(): + # --- load system and run power flow + net = nw.simple_four_bus_system() + pp.set_user_pf_options(net, init='dc', calculate_voltage_angles=True) + # --- initial tap data + net.trafo.tap_side = 'lv' + net.trafo.tap_neutral = 0 + net.trafo.tap_min = -2 + net.trafo.tap_max = 2 + net.trafo.tap_step_percent = 1.25 + net.trafo.tap_pos = 0 + # --- run loadflow + pp.runpp(net) + + # todo: rewrite to not compare to hardcoded values + tid = 0 + ContinuousTapControl(net, tid=tid, vm_set_pu=0.99, side='lv') + # DiscreteTapControl(net, tid=0, side='lv', vm_lower_pu=0.95, vm_upper_pu=0.99) + + logger.info("case1: low voltage") + logger.info("before control: trafo voltage at low voltage bus is %f, tap position is %u" + % (net.res_trafo.vm_lv_pu.at[tid], net.trafo.tap_pos.values)) + + # run control + pp.runpp(net, run_control=True) + pp.runpp(net) + logger.info( + "after ContinuousTapControl: trafo voltage at low voltage bus is %f, tap position is %f" + % (net.res_trafo.vm_lv_pu.values, net.trafo.tap_pos.values)) + + assert np.isclose(net.res_trafo.vm_lv_pu.at[tid], 0.99, atol=1e-3) + assert np.isclose(net.trafo.tap_pos.values, -.528643) + # increase voltage from 1.0 pu to 1.03 pu + net.ext_grid.vm_pu = 1.03 + # switch back tap position + net.trafo.tap_pos.at[0] = 0 + pp.runpp(net) + + logger.info("case2: high voltage") + logger.info("before control: trafo voltage at low voltage bus is %f, tap position is %u" + % (net.res_trafo.vm_lv_pu.at[tid], net.trafo.tap_pos.values)) + + # run control + pp.runpp(net, run_control=True) + pp.runpp(net) + logger.info( + "after ContinuousTapControl: trafo voltage at low voltage bus is %f, tap position is %f" + % (net.res_trafo.vm_lv_pu.at[tid], net.trafo.tap_pos.values)) + + assert np.isclose(net.trafo.tap_pos.values, -2) + # increase voltage from 1.0 pu to 1.03 pu + net.ext_grid.vm_pu = 0.98 + # switch back tap position + net.trafo.tap_pos.at[0] = 0 + pp.runpp(net) + + logger.info("case2: high voltage") + logger.info("before control: trafo voltage at low voltage bus is %f, tap position is %u" + % (net.res_trafo.vm_lv_pu.at[tid], net.trafo.tap_pos.values)) + + # run control + pp.runpp(net, run_control=True) + pp.runpp(net) + logger.info( + "after ContinuousTapControl: trafo voltage at low voltage bus is %f, tap position is %f" + % (net.res_trafo.vm_lv_pu.at[tid], net.trafo.tap_pos.values)) + assert np.isclose(net.res_trafo.vm_lv_pu.at[tid], 0.99, atol=1e-3) + assert np.isclose(net.trafo.tap_pos.values, 1.077656) + + +def test_continuous_tap_control_hv(): + # --- load system and run power flow + net = nw.simple_four_bus_system() + # --- initial tap data + net.trafo.tap_side = 'hv' + net.trafo.tap_neutral = 0 + net.trafo.tap_min = -2 + net.trafo.tap_max = 2 + net.trafo.tap_step_percent = 1.25 + net.trafo.tap_pos = 0 + # --- run loadflow + pp.runpp(net) + tid = 0 + ContinuousTapControl(net, tid=tid, vm_set_pu=0.99, side='lv') + # td = control.DiscreteTapControl(net, tid=0, side='lv', vm_lower_pu=0.95, vm_upper_pu=0.99) + + logger.info("case1: low voltage") + logger.info("before control: trafo voltage at low voltage bus is %f, tap position is %u" + % (net.res_trafo.vm_lv_pu.at[tid], net.trafo.tap_pos.values)) + + # run control + pp.runpp(net, run_control=True) + pp.runpp(net) + logger.info( + "after ContinuousTapControl: trafo voltage at low voltage bus is %f, tap position is %f" + % (net.res_trafo.vm_lv_pu.at[tid], net.trafo.tap_pos.values)) + + assert np.isclose(net.res_trafo.vm_lv_pu.at[tid], 0.99, atol=1e-3) + assert np.isclose(net.trafo.tap_pos.values, 0.528643) + + # increase voltage from 1.0 pu to 1.03 pu + net.ext_grid.vm_pu = 1.03 + # switch back tap position + net.trafo.tap_pos.at[0] = 0 + pp.runpp(net) + + logger.info("case2: high voltage") + logger.info("before control: trafo voltage at low voltage bus is %f, tap position is %u" + % (net.res_trafo.vm_lv_pu.at[tid], net.trafo.tap_pos.values)) + + # run control + pp.runpp(net, run_control=True) + pp.runpp(net) + logger.info( + "after ContinuousTapControl: trafo voltage at low voltage bus is %f, tap position is %f" + % (net.res_trafo.vm_lv_pu.at[tid], net.trafo.tap_pos.values)) + assert np.isclose(net.trafo.tap_pos.values, 2) + + # increase voltage from 1.0 pu to 1.03 pu + net.ext_grid.vm_pu = 0.98 + # switch back tap position + net.trafo.tap_pos.at[0] = 0 + pp.runpp(net) + + logger.info("case2: high voltage") + logger.info("before control: trafo voltage at low voltage bus is %f, tap position is %u" + % (net.res_trafo.vm_lv_pu.at[tid], net.trafo.tap_pos.values)) + + # run control + pp.runpp(net, run_control=True) + pp.runpp(net) + logger.info( + "after ContinuousTapControl: trafo voltage at low voltage bus is %f, tap position is %f" + % (net.res_trafo.vm_lv_pu.at[tid], net.trafo.tap_pos.values)) + assert np.isclose(net.res_trafo.vm_lv_pu.at[tid], 0.99, atol=1e-3) + assert np.isclose(net.trafo.tap_pos.values, -1.07765621) + + +if __name__ == '__main__': + pytest.main(['-xs', __file__]) diff --git a/pandapower/test/control/test_control.py b/pandapower/test/control/test_control.py index 3ef2e4511..c9affe94f 100644 --- a/pandapower/test/control/test_control.py +++ b/pandapower/test/control/test_control.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. import copy diff --git a/pandapower/test/control/test_discrete_tap_control.py b/pandapower/test/control/test_discrete_tap_control.py index ba024c0b3..e35ac8473 100644 --- a/pandapower/test/control/test_discrete_tap_control.py +++ b/pandapower/test/control/test_discrete_tap_control.py @@ -1,279 +1,279 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - -import pandapower as pp -from pandapower.control import DiscreteTapControl -import pytest -import pandapower.networks as nw -import logging as log - -logger = log.getLogger(__name__) - - -def test_discrete_tap_control_lv(): - # --- load system and run power flow - net = nw.simple_four_bus_system() - pp.set_user_pf_options(net, init='dc', calculate_voltage_angles=True) - # --- initial tap data - net.trafo.tap_side = 'lv' - net.trafo.tap_neutral = 0 - net.trafo.tap_min = -2 - net.trafo.tap_max = 2 - net.trafo.tap_step_percent = 1.25 - net.trafo.tap_pos = 0 - # --- run loadflow - pp.runpp(net) - - DiscreteTapControl(net, tid=0, side='lv', vm_lower_pu=0.95, vm_upper_pu=0.99) - - logger.info("case1: low voltage") - logger.info("before control: trafo voltage at low voltage bus is %f, tap position is %u" - % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) - - # run control - pp.runpp(net, run_control=True) - logger.info( - "after DiscreteTapControl: trafo voltage at low voltage bus is %f, tap position is %f" - % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) - assert net.trafo.tap_pos.at[0] == -1 - - # increase voltage from 1.0 pu to 1.03 pu - net.ext_grid.vm_pu = 1.03 - # switch back tap position - net.trafo.tap_pos.at[0] = 0 - pp.runpp(net) - - logger.info("case2: high voltage") - logger.info("before control: trafo voltage at low voltage bus is %f, tap position is %u" - % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) - - # run control - pp.runpp(net, run_control=True) - logger.info( - "after DiscreteTapControl: trafo voltage at low voltage bus is %f, tap position is %f" - % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) - assert net.trafo.tap_pos.at[0] == -2 - # reduce voltage from 1.03 pu to 0.949 pu - net.ext_grid.vm_pu = 0.949 - # switch back tap position - net.trafo.tap_pos.at[0] = 0 - pp.runpp(net) - - logger.info("case2: high voltage") - logger.info("before control: trafo voltage at low voltage bus is %f, tap position is %u" - % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) - - # run control - pp.runpp(net, run_control=True) - logger.info( - "after DiscreteTapControl: trafo voltage at low voltage bus is %f, tap position is %f" - % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) - assert net.trafo.tap_pos.at[0] == 1 - - -def test_discrete_tap_control_hv(): - # --- load system and run power flow - net = nw.simple_four_bus_system() - pp.set_user_pf_options(net, init='dc', calculate_voltage_angles=True) - # --- initial tap data - net.trafo.tap_side = 'hv' - net.trafo.tap_neutral = 0 - net.trafo.tap_min = -2 - net.trafo.tap_max = 2 - net.trafo.tap_step_percent = 1.25 - net.trafo.tap_pos = 0 - # --- run loadflow - pp.runpp(net) - - DiscreteTapControl(net, tid=0, side='lv', vm_lower_pu=0.95, vm_upper_pu=0.99) - - logger.info("case1: low voltage") - logger.info("before control: trafo voltage at low voltage bus is %f, tap position is %u" - % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) - - # run control - pp.runpp(net, run_control=True) - logger.info( - "after DiscreteTapControl: trafo voltage at low voltage bus is %f, tap position is %f" - % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) - assert net.trafo.tap_pos.at[0] == 1 - # increase voltage from 1.0 pu to 1.03 pu - net.ext_grid.vm_pu = 1.03 - # switch back tap position - net.trafo.tap_pos.at[0] = 0 - pp.runpp(net) - - logger.info("case2: high voltage") - logger.info("before control: trafo voltage at low voltage bus is %f, tap position is %u" - % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) - - # run control - pp.runpp(net, run_control=True) - logger.info( - "after DiscreteTapControl: trafo voltage at low voltage bus is %f, tap position is %f" - % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) - assert net.trafo.tap_pos.at[0] == 2 - # increase voltage from 1.0 pu to 1.03 pu - net.ext_grid.vm_pu = 0.949 - # switch back tap position - net.trafo.tap_pos.at[0] = 0 - pp.runpp(net) - - logger.info("case2: high voltage") - logger.info("before control: trafo voltage at low voltage bus is %f, tap position is %u" - % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) - - # run control - pp.runpp(net, run_control=True) - logger.info( - "after DiscreteTapControl: trafo voltage at low voltage bus is %f, tap position is %f" - % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) - assert net.trafo.tap_pos.at[0] == -1 - - -def test_discrete_tap_control_lv_from_tap_step_percent(): - # --- load system and run power flow - net = nw.simple_four_bus_system() - pp.set_user_pf_options(net, init='dc', calculate_voltage_angles=True) - # --- initial tap data - net.trafo.tap_side = 'lv' - net.trafo.tap_neutral = 0 - net.trafo.tap_min = -2 - net.trafo.tap_max = 2 - net.trafo.tap_step_percent = 1.25 - net.trafo.tap_pos = 0 - # --- run loadflow - pp.runpp(net) - - DiscreteTapControl.from_tap_step_percent(net, tid=0, side='lv', vm_set_pu=0.98) - - logger.info("case1: low voltage") - logger.info("before control: trafo voltage at low voltage bus is %f, tap position is %u" - % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) - - # run control - pp.runpp(net, run_control=True) - logger.info( - "after DiscreteTapControl: trafo voltage at low voltage bus is %f, tap position is %f" - % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) - assert net.trafo.tap_pos.at[0] == -1 - - # check if it changes the lower and upper limits - net.controller.object.at[0].vm_set_pu = 1 - pp.runpp(net, run_control=True) - assert abs(net.controller.object.at[0].vm_upper_pu - 1.00725) < 1e-6 - assert abs(net.controller.object.at[0].vm_lower_pu - 0.99275) < 1e-6 - net.controller.object.at[0].vm_set_pu = 0.98 - pp.runpp(net, run_control=True) - assert abs(net.controller.object.at[0].vm_upper_pu - 0.98725) < 1e-6 - assert abs(net.controller.object.at[0].vm_lower_pu - 0.97275) < 1e-6 - - # increase voltage from 1.0 pu to 1.03 pu - net.ext_grid.vm_pu = 1.03 - # switch back tap position - net.trafo.tap_pos.at[0] = 0 - pp.runpp(net) - - logger.info("case2: high voltage") - logger.info("before control: trafo voltage at low voltage bus is %f, tap position is %u" - % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) - - # run control - pp.runpp(net, run_control=True) - logger.info( - "after DiscreteTapControl: trafo voltage at low voltage bus is %f, tap position is %f" - % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) - assert net.trafo.tap_pos.at[0] == -2 - # reduce voltage from 1.03 pu to 0.969 pu - net.ext_grid.vm_pu = 0.969 - # switch back tap position - net.trafo.tap_pos.at[0] = 0 - pp.runpp(net) - - logger.info("case2: high voltage") - logger.info("before control: trafo voltage at low voltage bus is %f, tap position is %u" - % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) - - # run control - pp.runpp(net, run_control=True) - logger.info( - "after DiscreteTapControl: trafo voltage at low voltage bus is %f, tap position is %f" - % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) - assert net.trafo.tap_pos.at[0] == 1 - - -def test_discrete_tap_control_hv_from_tap_step_percent(): - # --- load system and run power flow - net = nw.simple_four_bus_system() - pp.set_user_pf_options(net, init='dc', calculate_voltage_angles=True) - # --- initial tap data - net.trafo.tap_side = 'hv' - net.trafo.tap_neutral = 0 - net.trafo.tap_min = -2 - net.trafo.tap_max = 2 - net.trafo.tap_step_percent = 1.25 - net.trafo.tap_pos = 0 - # --- run loadflow - pp.runpp(net) - - DiscreteTapControl.from_tap_step_percent(net, tid=0, side='lv', vm_set_pu=0.98) - - logger.info("case1: low voltage") - logger.info("before control: trafo voltage at low voltage bus is %f, tap position is %u" - % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) - - # run control - pp.runpp(net, run_control=True) - logger.info( - "after DiscreteTapControl: trafo voltage at low voltage bus is %f, tap position is %f" - % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) - assert net.trafo.tap_pos.at[0] == 1 - - # check if it changes the lower and upper limits - net.controller.object.at[0].vm_set_pu = 1 - pp.runpp(net, run_control=True) - assert abs(net.controller.object.at[0].vm_upper_pu - 1.00725) < 1e-6 - assert abs(net.controller.object.at[0].vm_lower_pu - 0.99275) < 1e-6 - net.controller.object.at[0].vm_set_pu = 0.98 - pp.runpp(net, run_control=True) - assert abs(net.controller.object.at[0].vm_upper_pu - 0.98725) < 1e-6 - assert abs(net.controller.object.at[0].vm_lower_pu - 0.97275) < 1e-6 - - # increase voltage from 1.0 pu to 1.03 pu - net.ext_grid.vm_pu = 1.03 - # switch back tap position - net.trafo.tap_pos.at[0] = 0 - pp.runpp(net) - - logger.info("case2: high voltage") - logger.info("before control: trafo voltage at low voltage bus is %f, tap position is %u" - % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) - - # run control - pp.runpp(net, run_control=True) - logger.info( - "after DiscreteTapControl: trafo voltage at low voltage bus is %f, tap position is %f" - % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) - assert net.trafo.tap_pos.at[0] == 2 - # reduce voltage from 1.03 pu to 0.969 pu - net.ext_grid.vm_pu = 0.969 - # switch back tap position - net.trafo.tap_pos.at[0] = 0 - pp.runpp(net) - - logger.info("case2: high voltage") - logger.info("before control: trafo voltage at low voltage bus is %f, tap position is %u" - % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) - - # run control - pp.runpp(net, run_control=True) - logger.info( - "after DiscreteTapControl: trafo voltage at low voltage bus is %f, tap position is %f" - % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) - assert net.trafo.tap_pos.at[0] == -1 - - -if __name__ == '__main__': - pytest.main(['-xs', __file__]) +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + +import pandapower as pp +from pandapower.control import DiscreteTapControl +import pytest +import pandapower.networks as nw +import logging as log + +logger = log.getLogger(__name__) + + +def test_discrete_tap_control_lv(): + # --- load system and run power flow + net = nw.simple_four_bus_system() + pp.set_user_pf_options(net, init='dc', calculate_voltage_angles=True) + # --- initial tap data + net.trafo.tap_side = 'lv' + net.trafo.tap_neutral = 0 + net.trafo.tap_min = -2 + net.trafo.tap_max = 2 + net.trafo.tap_step_percent = 1.25 + net.trafo.tap_pos = 0 + # --- run loadflow + pp.runpp(net) + + DiscreteTapControl(net, tid=0, side='lv', vm_lower_pu=0.95, vm_upper_pu=0.99) + + logger.info("case1: low voltage") + logger.info("before control: trafo voltage at low voltage bus is %f, tap position is %u" + % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) + + # run control + pp.runpp(net, run_control=True) + logger.info( + "after DiscreteTapControl: trafo voltage at low voltage bus is %f, tap position is %f" + % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) + assert net.trafo.tap_pos.at[0] == -1 + + # increase voltage from 1.0 pu to 1.03 pu + net.ext_grid.vm_pu = 1.03 + # switch back tap position + net.trafo.tap_pos.at[0] = 0 + pp.runpp(net) + + logger.info("case2: high voltage") + logger.info("before control: trafo voltage at low voltage bus is %f, tap position is %u" + % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) + + # run control + pp.runpp(net, run_control=True) + logger.info( + "after DiscreteTapControl: trafo voltage at low voltage bus is %f, tap position is %f" + % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) + assert net.trafo.tap_pos.at[0] == -2 + # reduce voltage from 1.03 pu to 0.949 pu + net.ext_grid.vm_pu = 0.949 + # switch back tap position + net.trafo.tap_pos.at[0] = 0 + pp.runpp(net) + + logger.info("case2: high voltage") + logger.info("before control: trafo voltage at low voltage bus is %f, tap position is %u" + % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) + + # run control + pp.runpp(net, run_control=True) + logger.info( + "after DiscreteTapControl: trafo voltage at low voltage bus is %f, tap position is %f" + % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) + assert net.trafo.tap_pos.at[0] == 1 + + +def test_discrete_tap_control_hv(): + # --- load system and run power flow + net = nw.simple_four_bus_system() + pp.set_user_pf_options(net, init='dc', calculate_voltage_angles=True) + # --- initial tap data + net.trafo.tap_side = 'hv' + net.trafo.tap_neutral = 0 + net.trafo.tap_min = -2 + net.trafo.tap_max = 2 + net.trafo.tap_step_percent = 1.25 + net.trafo.tap_pos = 0 + # --- run loadflow + pp.runpp(net) + + DiscreteTapControl(net, tid=0, side='lv', vm_lower_pu=0.95, vm_upper_pu=0.99) + + logger.info("case1: low voltage") + logger.info("before control: trafo voltage at low voltage bus is %f, tap position is %u" + % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) + + # run control + pp.runpp(net, run_control=True) + logger.info( + "after DiscreteTapControl: trafo voltage at low voltage bus is %f, tap position is %f" + % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) + assert net.trafo.tap_pos.at[0] == 1 + # increase voltage from 1.0 pu to 1.03 pu + net.ext_grid.vm_pu = 1.03 + # switch back tap position + net.trafo.tap_pos.at[0] = 0 + pp.runpp(net) + + logger.info("case2: high voltage") + logger.info("before control: trafo voltage at low voltage bus is %f, tap position is %u" + % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) + + # run control + pp.runpp(net, run_control=True) + logger.info( + "after DiscreteTapControl: trafo voltage at low voltage bus is %f, tap position is %f" + % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) + assert net.trafo.tap_pos.at[0] == 2 + # increase voltage from 1.0 pu to 1.03 pu + net.ext_grid.vm_pu = 0.949 + # switch back tap position + net.trafo.tap_pos.at[0] = 0 + pp.runpp(net) + + logger.info("case2: high voltage") + logger.info("before control: trafo voltage at low voltage bus is %f, tap position is %u" + % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) + + # run control + pp.runpp(net, run_control=True) + logger.info( + "after DiscreteTapControl: trafo voltage at low voltage bus is %f, tap position is %f" + % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) + assert net.trafo.tap_pos.at[0] == -1 + + +def test_discrete_tap_control_lv_from_tap_step_percent(): + # --- load system and run power flow + net = nw.simple_four_bus_system() + pp.set_user_pf_options(net, init='dc', calculate_voltage_angles=True) + # --- initial tap data + net.trafo.tap_side = 'lv' + net.trafo.tap_neutral = 0 + net.trafo.tap_min = -2 + net.trafo.tap_max = 2 + net.trafo.tap_step_percent = 1.25 + net.trafo.tap_pos = 0 + # --- run loadflow + pp.runpp(net) + + DiscreteTapControl.from_tap_step_percent(net, tid=0, side='lv', vm_set_pu=0.98) + + logger.info("case1: low voltage") + logger.info("before control: trafo voltage at low voltage bus is %f, tap position is %u" + % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) + + # run control + pp.runpp(net, run_control=True) + logger.info( + "after DiscreteTapControl: trafo voltage at low voltage bus is %f, tap position is %f" + % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) + assert net.trafo.tap_pos.at[0] == -1 + + # check if it changes the lower and upper limits + net.controller.object.at[0].vm_set_pu = 1 + pp.runpp(net, run_control=True) + assert abs(net.controller.object.at[0].vm_upper_pu - 1.00725) < 1e-6 + assert abs(net.controller.object.at[0].vm_lower_pu - 0.99275) < 1e-6 + net.controller.object.at[0].vm_set_pu = 0.98 + pp.runpp(net, run_control=True) + assert abs(net.controller.object.at[0].vm_upper_pu - 0.98725) < 1e-6 + assert abs(net.controller.object.at[0].vm_lower_pu - 0.97275) < 1e-6 + + # increase voltage from 1.0 pu to 1.03 pu + net.ext_grid.vm_pu = 1.03 + # switch back tap position + net.trafo.tap_pos.at[0] = 0 + pp.runpp(net) + + logger.info("case2: high voltage") + logger.info("before control: trafo voltage at low voltage bus is %f, tap position is %u" + % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) + + # run control + pp.runpp(net, run_control=True) + logger.info( + "after DiscreteTapControl: trafo voltage at low voltage bus is %f, tap position is %f" + % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) + assert net.trafo.tap_pos.at[0] == -2 + # reduce voltage from 1.03 pu to 0.969 pu + net.ext_grid.vm_pu = 0.969 + # switch back tap position + net.trafo.tap_pos.at[0] = 0 + pp.runpp(net) + + logger.info("case2: high voltage") + logger.info("before control: trafo voltage at low voltage bus is %f, tap position is %u" + % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) + + # run control + pp.runpp(net, run_control=True) + logger.info( + "after DiscreteTapControl: trafo voltage at low voltage bus is %f, tap position is %f" + % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) + assert net.trafo.tap_pos.at[0] == 1 + + +def test_discrete_tap_control_hv_from_tap_step_percent(): + # --- load system and run power flow + net = nw.simple_four_bus_system() + pp.set_user_pf_options(net, init='dc', calculate_voltage_angles=True) + # --- initial tap data + net.trafo.tap_side = 'hv' + net.trafo.tap_neutral = 0 + net.trafo.tap_min = -2 + net.trafo.tap_max = 2 + net.trafo.tap_step_percent = 1.25 + net.trafo.tap_pos = 0 + # --- run loadflow + pp.runpp(net) + + DiscreteTapControl.from_tap_step_percent(net, tid=0, side='lv', vm_set_pu=0.98) + + logger.info("case1: low voltage") + logger.info("before control: trafo voltage at low voltage bus is %f, tap position is %u" + % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) + + # run control + pp.runpp(net, run_control=True) + logger.info( + "after DiscreteTapControl: trafo voltage at low voltage bus is %f, tap position is %f" + % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) + assert net.trafo.tap_pos.at[0] == 1 + + # check if it changes the lower and upper limits + net.controller.object.at[0].vm_set_pu = 1 + pp.runpp(net, run_control=True) + assert abs(net.controller.object.at[0].vm_upper_pu - 1.00725) < 1e-6 + assert abs(net.controller.object.at[0].vm_lower_pu - 0.99275) < 1e-6 + net.controller.object.at[0].vm_set_pu = 0.98 + pp.runpp(net, run_control=True) + assert abs(net.controller.object.at[0].vm_upper_pu - 0.98725) < 1e-6 + assert abs(net.controller.object.at[0].vm_lower_pu - 0.97275) < 1e-6 + + # increase voltage from 1.0 pu to 1.03 pu + net.ext_grid.vm_pu = 1.03 + # switch back tap position + net.trafo.tap_pos.at[0] = 0 + pp.runpp(net) + + logger.info("case2: high voltage") + logger.info("before control: trafo voltage at low voltage bus is %f, tap position is %u" + % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) + + # run control + pp.runpp(net, run_control=True) + logger.info( + "after DiscreteTapControl: trafo voltage at low voltage bus is %f, tap position is %f" + % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) + assert net.trafo.tap_pos.at[0] == 2 + # reduce voltage from 1.03 pu to 0.969 pu + net.ext_grid.vm_pu = 0.969 + # switch back tap position + net.trafo.tap_pos.at[0] = 0 + pp.runpp(net) + + logger.info("case2: high voltage") + logger.info("before control: trafo voltage at low voltage bus is %f, tap position is %u" + % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) + + # run control + pp.runpp(net, run_control=True) + logger.info( + "after DiscreteTapControl: trafo voltage at low voltage bus is %f, tap position is %f" + % (net.res_bus.vm_pu[net.trafo.lv_bus].values, net.trafo.tap_pos.values)) + assert net.trafo.tap_pos.at[0] == -1 + + +if __name__ == '__main__': + pytest.main(['-xs', __file__]) diff --git a/pandapower/test/control/test_tap_dependent_impedance.py b/pandapower/test/control/test_tap_dependent_impedance.py index 4ea610b07..481bf7278 100644 --- a/pandapower/test/control/test_tap_dependent_impedance.py +++ b/pandapower/test/control/test_tap_dependent_impedance.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. import pytest diff --git a/pandapower/test/control/test_u_set_tap_control.py b/pandapower/test/control/test_u_set_tap_control.py index 613cc7ad2..d5b175e6f 100644 --- a/pandapower/test/control/test_u_set_tap_control.py +++ b/pandapower/test/control/test_u_set_tap_control.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. import pandapower as pp diff --git a/pandapower/test/converter/test_from_mpc.py b/pandapower/test/converter/test_from_mpc.py index 113b1eda2..c4866721f 100644 --- a/pandapower/test/converter/test_from_mpc.py +++ b/pandapower/test/converter/test_from_mpc.py @@ -1,38 +1,38 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import os - -import pytest - -import pandapower as pp -import pandapower.networks as pn -from pandapower.converter import from_mpc - -try: - import pplog as logging -except ImportError: - import logging - -logger = logging.getLogger(__name__) - - -def test_from_mpc(): - case24 = pn.case24_ieee_rts() - pp.set_user_pf_options(case24) - this_folder = os.path.join(pp.pp_dir, "test", "converter") - mat_case_path = os.path.join(this_folder, 'case24_ieee_rts.mat') - case24_from_mpc = from_mpc(mat_case_path, f_hz=60, casename_mpc_file='mpc') - - pp.runpp(case24) - pp.runpp(case24_from_mpc) - - assert case24_from_mpc.converged - assert pp.nets_equal(case24, case24_from_mpc, check_only_results=True) - - -if __name__ == '__main__': - pytest.main(["test_from_mpc.py"]) +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import os + +import pytest + +import pandapower as pp +import pandapower.networks as pn +from pandapower.converter import from_mpc + +try: + import pplog as logging +except ImportError: + import logging + +logger = logging.getLogger(__name__) + + +def test_from_mpc(): + case24 = pn.case24_ieee_rts() + pp.set_user_pf_options(case24) + this_folder = os.path.join(pp.pp_dir, "test", "converter") + mat_case_path = os.path.join(this_folder, 'case24_ieee_rts.mat') + case24_from_mpc = from_mpc(mat_case_path, f_hz=60, casename_mpc_file='mpc') + + pp.runpp(case24) + pp.runpp(case24_from_mpc) + + assert case24_from_mpc.converged + assert pp.nets_equal(case24, case24_from_mpc, check_only_results=True) + + +if __name__ == '__main__': + pytest.main(["test_from_mpc.py"]) diff --git a/pandapower/test/converter/test_from_ppc.py b/pandapower/test/converter/test_from_ppc.py index f8a28dfa6..1598b5478 100644 --- a/pandapower/test/converter/test_from_ppc.py +++ b/pandapower/test/converter/test_from_ppc.py @@ -1,129 +1,129 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import os -import pickle - -import pytest - -import pandapower as pp -import pandapower.networks as pn -from pandapower.converter import from_ppc, validate_from_ppc, to_ppc - -try: - import pypower.case24_ieee_rts as c24 - - pypower_installed = True -except ImportError: - pypower_installed = False - -try: - import pplog as logging -except: - import logging - -logger = logging.getLogger(__name__) -max_diff_values1 = {"bus_vm_pu": 1e-6, "bus_va_degree": 1e-5, "branch_p_mw": 1e-3, - "branch_q_mvar": 1e-3, "gen_p_mw": 1e-3, "gen_q_mvar": 1e-3} - - -def get_testgrids(name, filename): - """ - This function return the ppc (or pp net) which is saved in ppc_testgrids.p to validate the - from_ppc function via validate_from_ppc. - """ - folder = os.path.join(pp.pp_dir, 'test', 'converter') - ppcs = pickle.load(open(os.path.join(folder, filename), "rb")) - return ppcs[name] - - -def test_from_ppc(): - ppc = get_testgrids('case2_2', 'ppc_testgrids.p') - net_by_ppc = from_ppc(ppc) - net_by_code = pp.from_json(os.path.join(pp.pp_dir, 'test', 'converter', 'case2_2_by_code.json')) - pp.set_user_pf_options(net_by_code) # for assertion of nets_equal - pp.runpp(net_by_ppc, trafo_model="pi") - pp.runpp(net_by_code, trafo_model="pi") - - assert type(net_by_ppc) == type(net_by_code) - assert net_by_ppc.converged - assert len(net_by_ppc.bus) == len(net_by_code.bus) - assert len(net_by_ppc.trafo) == len(net_by_code.trafo) - assert len(net_by_ppc.ext_grid) == len(net_by_code.ext_grid) - assert pp.nets_equal(net_by_ppc, net_by_code, check_only_results=True, tol=1.e-9) - - -def test_validate_from_ppc(): - ppc = get_testgrids('case2_2', 'ppc_testgrids.p') - net = pp.from_json(os.path.join(pp.pp_dir, 'test', 'converter', 'case2_2_by_code.json')) - assert validate_from_ppc(ppc, net, max_diff_values=max_diff_values1) - - -def test_ppc_testgrids(): - # check ppc_testgrids - name = ['case2_1', 'case2_2', 'case2_3', 'case2_4', 'case3_1', 'case3_2', 'case6', 'case14', - 'case57'] - for i in name: - ppc = get_testgrids(i, 'ppc_testgrids.p') - net = from_ppc(ppc, f_hz=60) - assert validate_from_ppc(ppc, net, max_diff_values=max_diff_values1) - logger.debug('%s has been checked successfully.' % i) - - -@pytest.mark.slow -def test_pypower_cases(): - # check pypower cases - name = ['case4gs', 'case6ww', 'case24_ieee_rts', 'case30', 'case39', - 'case118', 'case300'] - for i in name: - ppc = get_testgrids(i, 'pypower_cases.p') - net = from_ppc(ppc, f_hz=60) - assert validate_from_ppc(ppc, net, max_diff_values=max_diff_values1) - logger.debug('%s has been checked successfully.' % i) - # --- Because there is a pypower power flow failure in generator results in case9 (which is not - # in matpower) another max_diff_values must be used to receive an successful validation - max_diff_values2 = {"vm_pu": 1e-6, "va_degree": 1e-5, "p_branch_mw": 1e-3, - "q_branch_mvar": 1e-3, "p_gen_mw": 1e3, "q_gen_mvar": 1e3} - ppc = get_testgrids('case9', 'pypower_cases.p') - net = from_ppc(ppc, f_hz=60) - assert validate_from_ppc(ppc, net, max_diff_values=max_diff_values2) - logger.debug('case9 has been checked successfully.') - - -def test_case9_conversion(): - net = pn.case9() - # set max_loading_percent to enable line limit conversion - net.line["max_loading_percent"] = 100 - pp.runpp(net) - ppc = to_ppc(net, mode="opf") - # correction because voltage limits are set to 1.0 at slack buses - ppc["bus"][0, 12] = 0.9 - ppc["bus"][0, 11] = 1.1 - - net2 = from_ppc(ppc, f_hz=net.f_hz) - # again add max_loading_percent to enable valid comparison - net2.line["max_loading_percent"] = 100 - - # compare loadflow results - pp.runpp(net) - pp.runpp(net2) - assert pp.nets_equal(net, net2, check_only_results=True, tol=1e-10) - - # compare optimal powerflow results - pp.runopp(net, delta=1e-16) - pp.runopp(net2, delta=1e-16) - assert pp.nets_equal(net, net2, check_only_results=True, tol=1e-10) - - -@pytest.mark.skipif(pypower_installed == False, reason="needs pypower installation") -def test_case24(): - net = from_ppc(c24.case24_ieee_rts()) - pp.runopp(net) - assert net.OPF_converged - - -if __name__ == '__main__': - pytest.main([__file__, "-xs"]) +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import os +import pickle + +import pytest + +import pandapower as pp +import pandapower.networks as pn +from pandapower.converter import from_ppc, validate_from_ppc, to_ppc + +try: + import pypower.case24_ieee_rts as c24 + + pypower_installed = True +except ImportError: + pypower_installed = False + +try: + import pplog as logging +except: + import logging + +logger = logging.getLogger(__name__) +max_diff_values1 = {"bus_vm_pu": 1e-6, "bus_va_degree": 1e-5, "branch_p_mw": 1e-3, + "branch_q_mvar": 1e-3, "gen_p_mw": 1e-3, "gen_q_mvar": 1e-3} + + +def get_testgrids(name, filename): + """ + This function return the ppc (or pp net) which is saved in ppc_testgrids.p to validate the + from_ppc function via validate_from_ppc. + """ + folder = os.path.join(pp.pp_dir, 'test', 'converter') + ppcs = pickle.load(open(os.path.join(folder, filename), "rb")) + return ppcs[name] + + +def test_from_ppc(): + ppc = get_testgrids('case2_2', 'ppc_testgrids.p') + net_by_ppc = from_ppc(ppc) + net_by_code = pp.from_json(os.path.join(pp.pp_dir, 'test', 'converter', 'case2_2_by_code.json')) + pp.set_user_pf_options(net_by_code) # for assertion of nets_equal + pp.runpp(net_by_ppc, trafo_model="pi") + pp.runpp(net_by_code, trafo_model="pi") + + assert type(net_by_ppc) == type(net_by_code) + assert net_by_ppc.converged + assert len(net_by_ppc.bus) == len(net_by_code.bus) + assert len(net_by_ppc.trafo) == len(net_by_code.trafo) + assert len(net_by_ppc.ext_grid) == len(net_by_code.ext_grid) + assert pp.nets_equal(net_by_ppc, net_by_code, check_only_results=True, tol=1.e-9) + + +def test_validate_from_ppc(): + ppc = get_testgrids('case2_2', 'ppc_testgrids.p') + net = pp.from_json(os.path.join(pp.pp_dir, 'test', 'converter', 'case2_2_by_code.json')) + assert validate_from_ppc(ppc, net, max_diff_values=max_diff_values1) + + +def test_ppc_testgrids(): + # check ppc_testgrids + name = ['case2_1', 'case2_2', 'case2_3', 'case2_4', 'case3_1', 'case3_2', 'case6', 'case14', + 'case57'] + for i in name: + ppc = get_testgrids(i, 'ppc_testgrids.p') + net = from_ppc(ppc, f_hz=60) + assert validate_from_ppc(ppc, net, max_diff_values=max_diff_values1) + logger.debug('%s has been checked successfully.' % i) + + +@pytest.mark.slow +def test_pypower_cases(): + # check pypower cases + name = ['case4gs', 'case6ww', 'case24_ieee_rts', 'case30', 'case39', + 'case118', 'case300'] + for i in name: + ppc = get_testgrids(i, 'pypower_cases.p') + net = from_ppc(ppc, f_hz=60) + assert validate_from_ppc(ppc, net, max_diff_values=max_diff_values1) + logger.debug('%s has been checked successfully.' % i) + # --- Because there is a pypower power flow failure in generator results in case9 (which is not + # in matpower) another max_diff_values must be used to receive an successful validation + max_diff_values2 = {"vm_pu": 1e-6, "va_degree": 1e-5, "p_branch_mw": 1e-3, + "q_branch_mvar": 1e-3, "p_gen_mw": 1e3, "q_gen_mvar": 1e3} + ppc = get_testgrids('case9', 'pypower_cases.p') + net = from_ppc(ppc, f_hz=60) + assert validate_from_ppc(ppc, net, max_diff_values=max_diff_values2) + logger.debug('case9 has been checked successfully.') + + +def test_case9_conversion(): + net = pn.case9() + # set max_loading_percent to enable line limit conversion + net.line["max_loading_percent"] = 100 + pp.runpp(net) + ppc = to_ppc(net, mode="opf") + # correction because voltage limits are set to 1.0 at slack buses + ppc["bus"][0, 12] = 0.9 + ppc["bus"][0, 11] = 1.1 + + net2 = from_ppc(ppc, f_hz=net.f_hz) + # again add max_loading_percent to enable valid comparison + net2.line["max_loading_percent"] = 100 + + # compare loadflow results + pp.runpp(net) + pp.runpp(net2) + assert pp.nets_equal(net, net2, check_only_results=True, tol=1e-10) + + # compare optimal powerflow results + pp.runopp(net, delta=1e-16) + pp.runopp(net2, delta=1e-16) + assert pp.nets_equal(net, net2, check_only_results=True, tol=1e-10) + + +@pytest.mark.skipif(pypower_installed == False, reason="needs pypower installation") +def test_case24(): + net = from_ppc(c24.case24_ieee_rts()) + pp.runopp(net) + assert net.OPF_converged + + +if __name__ == '__main__': + pytest.main([__file__, "-xs"]) diff --git a/pandapower/test/converter/test_to_ppc_and_mpc.py b/pandapower/test/converter/test_to_ppc_and_mpc.py index 27ae0a572..f6b8915fa 100644 --- a/pandapower/test/converter/test_to_ppc_and_mpc.py +++ b/pandapower/test/converter/test_to_ppc_and_mpc.py @@ -1,62 +1,62 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import numpy as np -import pytest -import pandapower as pp -import pandapower.converter as cv -from pandapower.test.converter.test_from_ppc import get_testgrids -from pandapower.pypower.idx_bus import VM, BUS_I, VA -from pandapower.powerflow import LoadflowNotConverged -from pandapower.results import reset_results -from pandapower.pf.runpf_pypower import _runpf_pypower - - -def test_to_ppc_and_mpc(): - # pypower cases to validate - functions = ['case4gs', 'case6ww', 'case30', 'case39'] - for fn in functions: - # get pypower grids with results - ppc_net = get_testgrids(fn, 'pypower_cases.p') - - # get pandapower grids - pandapower_module = __import__('pandapower', fromlist=['networks']) - pandapower_function = getattr(pandapower_module.networks, fn) - net = pandapower_function() - reset_results(net) - - # This should be reviewed - pp.runpp(net) - - # convert pandapower grids to ppc - ppc = cv.to_ppc(net) - # convert pandapower grids to mpc (no result validation) - mpc = cv.to_mpc(net) - - # validate voltage results of pandapower-to-ppc-converted grids vs. original pypower results - net["_options"]['ac'] = True - net["_options"]['numba'] = True - net["_options"]['tolerance_mva'] = 1e-8 - net["_options"]['algorithm'] = "fdbx" - net["_options"]['max_iteration'] = 30 - net["_options"]['enforce_q_lims'] = False - net["_options"]['calculate_voltage_angles'] = True - res_converted_pp, status_converted_pp = _runpf_pypower(ppc, net["_options"]) - - if status_converted_pp: - # get lookup pp2ppc - bus_lookup = net["_pd2ppc_lookups"]["bus"] - # check for equality in bus voltages - pp_buses = bus_lookup[res_converted_pp['bus'][:, BUS_I].astype(int)] - res1 = res_converted_pp['bus'][pp_buses, VM:VA + 1] - res2 = ppc_net['bus'][:, VM:VA + 1] - assert np.allclose(res1, res2) - else: - raise LoadflowNotConverged("Loadflow did not converge!") - - -if __name__ == "__main__": - pytest.main(["test_to_ppc_and_mpc.py", "-s"]) +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import numpy as np +import pytest +import pandapower as pp +import pandapower.converter as cv +from pandapower.test.converter.test_from_ppc import get_testgrids +from pandapower.pypower.idx_bus import VM, BUS_I, VA +from pandapower.powerflow import LoadflowNotConverged +from pandapower.results import reset_results +from pandapower.pf.runpf_pypower import _runpf_pypower + + +def test_to_ppc_and_mpc(): + # pypower cases to validate + functions = ['case4gs', 'case6ww', 'case30', 'case39'] + for fn in functions: + # get pypower grids with results + ppc_net = get_testgrids(fn, 'pypower_cases.p') + + # get pandapower grids + pandapower_module = __import__('pandapower', fromlist=['networks']) + pandapower_function = getattr(pandapower_module.networks, fn) + net = pandapower_function() + reset_results(net) + + # This should be reviewed + pp.runpp(net) + + # convert pandapower grids to ppc + ppc = cv.to_ppc(net) + # convert pandapower grids to mpc (no result validation) + mpc = cv.to_mpc(net) + + # validate voltage results of pandapower-to-ppc-converted grids vs. original pypower results + net["_options"]['ac'] = True + net["_options"]['numba'] = True + net["_options"]['tolerance_mva'] = 1e-8 + net["_options"]['algorithm'] = "fdbx" + net["_options"]['max_iteration'] = 30 + net["_options"]['enforce_q_lims'] = False + net["_options"]['calculate_voltage_angles'] = True + res_converted_pp, status_converted_pp = _runpf_pypower(ppc, net["_options"]) + + if status_converted_pp: + # get lookup pp2ppc + bus_lookup = net["_pd2ppc_lookups"]["bus"] + # check for equality in bus voltages + pp_buses = bus_lookup[res_converted_pp['bus'][:, BUS_I].astype(int)] + res1 = res_converted_pp['bus'][pp_buses, VM:VA + 1] + res2 = ppc_net['bus'][:, VM:VA + 1] + assert np.allclose(res1, res2) + else: + raise LoadflowNotConverged("Loadflow did not converge!") + + +if __name__ == "__main__": + pytest.main(["test_to_ppc_and_mpc.py", "-s"]) diff --git a/pandapower/test/estimation/test_irwls_estimation.py b/pandapower/test/estimation/test_irwls_estimation.py index 978f45044..d32946127 100644 --- a/pandapower/test/estimation/test_irwls_estimation.py +++ b/pandapower/test/estimation/test_irwls_estimation.py @@ -1,71 +1,71 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import os - -import numpy as np -import pytest - -import pandapower as pp -import pandapower.networks as nw -from pandapower.estimation import estimate -from pandapower.estimation.util import add_virtual_meas_from_loadflow -from pandapower.estimation.ppc_conversion import pp2eppci -from copy import deepcopy - -from pandapower.estimation.algorithm.estimator import SHGMEstimatorIRWLS - - -def test_irwls_comp_wls(): - # it should be the same since wls will not update weight matrix - net = nw.case14() - pp.runpp(net) - add_virtual_meas_from_loadflow(net) - - success = estimate(net, init='flat', algorithm="irwls", estimator='wls') - assert success - - net_wls = deepcopy(net) - estimate(net_wls) - assert np.allclose(net_wls.res_bus_est.vm_pu, net.res_bus_est.vm_pu, 1e-6) - assert np.allclose(net_wls.res_bus_est.va_degree, net.res_bus_est.va_degree, 1e-6) - - -def test_shgm_ps(): - # we need an random eppci object to initialize estimator - net = nw.case14() - pp.runpp(net) - add_virtual_meas_from_loadflow(net) - _,_,eppci = pp2eppci(net) - - # Using the example from Mili's paper - H = np.array([[10, -10], - [1, 0], - [-1, 0], - [0, -1], - [0, 1], - [11, -10], - [-1, -1]]) - estm = SHGMEstimatorIRWLS(eppci, a=3) - ps_estm = estm._ps(H) - assert np.allclose(ps_estm, - np.array([8.39, 0.84, 0.84, 0.84, 0.84, 8.82, 1.68]), - atol=0.005) - - -def test_irwls_shgm(): - net = nw.case14() - pp.runpp(net) - add_virtual_meas_from_loadflow(net, p_std_dev=0.01, q_std_dev=0.01) - success = estimate(net, algorithm="irwls", estimator="shgm", - a=3, maximum_iterations=50) - assert success - assert np.allclose(net.res_bus.vm_pu, net.res_bus_est.vm_pu, 1e-2) - assert np.allclose(net.res_bus.va_degree, net.res_bus_est.va_degree, 1e-2) - - -if __name__ == "__main__": - pytest.main([__file__, "-xs"]) +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import os + +import numpy as np +import pytest + +import pandapower as pp +import pandapower.networks as nw +from pandapower.estimation import estimate +from pandapower.estimation.util import add_virtual_meas_from_loadflow +from pandapower.estimation.ppc_conversion import pp2eppci +from copy import deepcopy + +from pandapower.estimation.algorithm.estimator import SHGMEstimatorIRWLS + + +def test_irwls_comp_wls(): + # it should be the same since wls will not update weight matrix + net = nw.case14() + pp.runpp(net) + add_virtual_meas_from_loadflow(net) + + success = estimate(net, init='flat', algorithm="irwls", estimator='wls') + assert success + + net_wls = deepcopy(net) + estimate(net_wls) + assert np.allclose(net_wls.res_bus_est.vm_pu, net.res_bus_est.vm_pu, 1e-6) + assert np.allclose(net_wls.res_bus_est.va_degree, net.res_bus_est.va_degree, 1e-6) + + +def test_shgm_ps(): + # we need an random eppci object to initialize estimator + net = nw.case14() + pp.runpp(net) + add_virtual_meas_from_loadflow(net) + _,_,eppci = pp2eppci(net) + + # Using the example from Mili's paper + H = np.array([[10, -10], + [1, 0], + [-1, 0], + [0, -1], + [0, 1], + [11, -10], + [-1, -1]]) + estm = SHGMEstimatorIRWLS(eppci, a=3) + ps_estm = estm._ps(H) + assert np.allclose(ps_estm, + np.array([8.39, 0.84, 0.84, 0.84, 0.84, 8.82, 1.68]), + atol=0.005) + + +def test_irwls_shgm(): + net = nw.case14() + pp.runpp(net) + add_virtual_meas_from_loadflow(net, p_std_dev=0.01, q_std_dev=0.01) + success = estimate(net, algorithm="irwls", estimator="shgm", + a=3, maximum_iterations=50) + assert success + assert np.allclose(net.res_bus.vm_pu, net.res_bus_est.vm_pu, 1e-2) + assert np.allclose(net.res_bus.va_degree, net.res_bus_est.va_degree, 1e-2) + + +if __name__ == "__main__": + pytest.main([__file__, "-xs"]) diff --git a/pandapower/test/estimation/test_opt_lp_estimation.py b/pandapower/test/estimation/test_opt_lp_estimation.py index 6f45d3e34..cd2742e56 100644 --- a/pandapower/test/estimation/test_opt_lp_estimation.py +++ b/pandapower/test/estimation/test_opt_lp_estimation.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. import numpy as np diff --git a/pandapower/test/estimation/test_pmu.py b/pandapower/test/estimation/test_pmu.py index 8b8d070a5..d87b61a2e 100644 --- a/pandapower/test/estimation/test_pmu.py +++ b/pandapower/test/estimation/test_pmu.py @@ -1,55 +1,55 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - -import numpy as np -import pytest - -import pandapower as pp -import pandapower.networks as nw -from pandapower.estimation import estimate -from pandapower.estimation.util import add_virtual_pmu_meas_from_loadflow - -def run_se_lp_verify(net): - estimate(net, algorithm="lp", maximum_iterations=10) - if not np.allclose(net.res_bus.vm_pu, net.res_bus_est.vm_pu, atol=1e-2) or\ - not np.allclose(net.res_bus.va_degree, net.res_bus_est.va_degree, atol=1e-1): - raise AssertionError("Estimation failed!") - - -def test_pmu_case14(): - net = nw.case9() - - pp.runpp(net) - add_virtual_pmu_meas_from_loadflow(net) - - run_se_lp_verify(net) - - -def test_pmu_with_trafo3w(): - net = pp.create_empty_network() - - bus_slack = pp.create_bus(net, vn_kv=110) - pp.create_ext_grid(net, bus=bus_slack) - - bus_20_1 = pp.create_bus(net, vn_kv=20, name="b") - pp.create_sgen(net, bus=bus_20_1, p_mw=0.03, q_mvar=0.02) - - bus_10_1 = pp.create_bus(net, vn_kv=10) - pp.create_sgen(net, bus=bus_10_1, p_mw=0.02, q_mvar=0.02) - - bus_10_2 = pp.create_bus(net, vn_kv=10) - pp.create_load(net, bus=bus_10_2, p_mw=0.06, q_mvar=0.01) - pp.create_line(net, from_bus=bus_10_1, to_bus=bus_10_2, std_type="149-AL1/24-ST1A 10.0", length_km=2) - - pp.create_transformer3w(net, bus_slack, bus_20_1, bus_10_1, std_type="63/25/38 MVA 110/20/10 kV") - - pp.runpp(net) - add_virtual_pmu_meas_from_loadflow(net, with_random_error=False) - - run_se_lp_verify(net) - - -if __name__ == '__main__': - pytest.main([__file__, "-xs"]) +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + +import numpy as np +import pytest + +import pandapower as pp +import pandapower.networks as nw +from pandapower.estimation import estimate +from pandapower.estimation.util import add_virtual_pmu_meas_from_loadflow + +def run_se_lp_verify(net): + estimate(net, algorithm="lp", maximum_iterations=10) + if not np.allclose(net.res_bus.vm_pu, net.res_bus_est.vm_pu, atol=1e-2) or\ + not np.allclose(net.res_bus.va_degree, net.res_bus_est.va_degree, atol=1e-1): + raise AssertionError("Estimation failed!") + + +def test_pmu_case14(): + net = nw.case9() + + pp.runpp(net) + add_virtual_pmu_meas_from_loadflow(net) + + run_se_lp_verify(net) + + +def test_pmu_with_trafo3w(): + net = pp.create_empty_network() + + bus_slack = pp.create_bus(net, vn_kv=110) + pp.create_ext_grid(net, bus=bus_slack) + + bus_20_1 = pp.create_bus(net, vn_kv=20, name="b") + pp.create_sgen(net, bus=bus_20_1, p_mw=0.03, q_mvar=0.02) + + bus_10_1 = pp.create_bus(net, vn_kv=10) + pp.create_sgen(net, bus=bus_10_1, p_mw=0.02, q_mvar=0.02) + + bus_10_2 = pp.create_bus(net, vn_kv=10) + pp.create_load(net, bus=bus_10_2, p_mw=0.06, q_mvar=0.01) + pp.create_line(net, from_bus=bus_10_1, to_bus=bus_10_2, std_type="149-AL1/24-ST1A 10.0", length_km=2) + + pp.create_transformer3w(net, bus_slack, bus_20_1, bus_10_1, std_type="63/25/38 MVA 110/20/10 kV") + + pp.runpp(net) + add_virtual_pmu_meas_from_loadflow(net, with_random_error=False) + + run_se_lp_verify(net) + + +if __name__ == '__main__': + pytest.main([__file__, "-xs"]) diff --git a/pandapower/test/estimation/test_recycle.py b/pandapower/test/estimation/test_recycle.py index e45772b02..89570869c 100644 --- a/pandapower/test/estimation/test_recycle.py +++ b/pandapower/test/estimation/test_recycle.py @@ -1,37 +1,37 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import os - -import numpy as np -import pytest - -import pandapower as pp -import pandapower.networks as nw -from pandapower.estimation import StateEstimation, estimate -from pandapower.estimation.util import add_virtual_meas_from_loadflow -from copy import deepcopy - - -def test_recycle_case30(): - net = nw.case30() - pp.runpp(net) - add_virtual_meas_from_loadflow(net) - se = StateEstimation(net, recycle=True) - se.estimate() - assert np.allclose(net.res_bus.vm_pu, net.res_bus_est.vm_pu, atol=1e-2) - assert np.allclose(net.res_bus.va_degree, net.res_bus_est.va_degree, atol=5e-1) - - # Run SE again - net.load.p_mw -= 10 - pp.runpp(net) - add_virtual_meas_from_loadflow(net) - assert se.estimate() - assert np.allclose(net.res_bus.vm_pu, net.res_bus_est.vm_pu, atol=1e-2) - assert np.allclose(net.res_bus.va_degree, net.res_bus_est.va_degree, atol=1) - -if __name__ == '__main__': - pytest.main([__file__, "-xs"]) +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import os + +import numpy as np +import pytest + +import pandapower as pp +import pandapower.networks as nw +from pandapower.estimation import StateEstimation, estimate +from pandapower.estimation.util import add_virtual_meas_from_loadflow +from copy import deepcopy + + +def test_recycle_case30(): + net = nw.case30() + pp.runpp(net) + add_virtual_meas_from_loadflow(net) + se = StateEstimation(net, recycle=True) + se.estimate() + assert np.allclose(net.res_bus.vm_pu, net.res_bus_est.vm_pu, atol=1e-2) + assert np.allclose(net.res_bus.va_degree, net.res_bus_est.va_degree, atol=5e-1) + + # Run SE again + net.load.p_mw -= 10 + pp.runpp(net) + add_virtual_meas_from_loadflow(net) + assert se.estimate() + assert np.allclose(net.res_bus.vm_pu, net.res_bus_est.vm_pu, atol=1e-2) + assert np.allclose(net.res_bus.va_degree, net.res_bus_est.va_degree, atol=1) + +if __name__ == '__main__': + pytest.main([__file__, "-xs"]) diff --git a/pandapower/test/estimation/test_wls_estimation.py b/pandapower/test/estimation/test_wls_estimation.py index d7ac1d0b5..8a8890a58 100644 --- a/pandapower/test/estimation/test_wls_estimation.py +++ b/pandapower/test/estimation/test_wls_estimation.py @@ -1,940 +1,940 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import os - -import numpy as np -import pytest - -import pandapower as pp -import pandapower.networks as nw -from pandapower.estimation import chi2_analysis, remove_bad_data, estimate -from copy import deepcopy - - -def test_2bus(): - # 1. Create network - net = pp.create_empty_network() - pp.create_bus(net, name="bus1", vn_kv=1.) - pp.create_bus(net, name="bus2", vn_kv=1.) - pp.create_ext_grid(net, 0) - pp.create_line_from_parameters(net, 0, 1, 1, r_ohm_per_km=1, x_ohm_per_km=0.5, - c_nf_per_km=0, max_i_ka=1) - - pp.create_measurement(net, "p", "line", 0.0111, 0.05, 0, 0) # p12 - pp.create_measurement(net, "q", "line", 0.06, 0.05, 0, 0) # q12 - - pp.create_measurement(net, "v", "bus", 1.019, 0.01, 0) # u1 - pp.create_measurement(net, "v", "bus", 1.04, 0.01, 1) # u2 - - # 2. Do state estimation - if not estimate(net, init='flat'): - raise AssertionError("Estimation failed!") - - v_result = net.res_bus_est.vm_pu.values - delta_result = net.res_bus_est.va_degree.values - - target_v = np.array([[1.02083378, 1.03812899]]) - diff_v = target_v - v_result - target_delta = np.array([[0.0, 3.11356604]]) - diff_delta = target_delta - delta_result - - if not (np.nanmax(abs(diff_v)) < 1e-6) or\ - not (np.nanmax(abs(diff_delta)) < 1e-6): - raise AssertionError("Estimation failed!") - - -def test_3bus(): - # 1. Create network - net = pp.create_empty_network() - pp.create_bus(net, name="bus1", vn_kv=1.) - pp.create_bus(net, name="bus2", vn_kv=1.) - pp.create_bus(net, name="bus3", vn_kv=1.) - pp.create_ext_grid(net, 0) - pp.create_line_from_parameters(net, 0, 1, 1, r_ohm_per_km=0.7, x_ohm_per_km=0.2, c_nf_per_km=0, - max_i_ka=1) - pp.create_line_from_parameters(net, 0, 2, 1, r_ohm_per_km=0.8, x_ohm_per_km=0.8, c_nf_per_km=0, - max_i_ka=1) - pp.create_line_from_parameters(net, 1, 2, 1, r_ohm_per_km=1, x_ohm_per_km=0.6, c_nf_per_km=0, - max_i_ka=1) - - pp.create_measurement(net, "p", "line", -0.0011, 0.01, 0, 0) # p12 - pp.create_measurement(net, "q", "line", 0.024, 0.01, 0, 0) # q12 - - pp.create_measurement(net, "p", "bus", -0.018, 0.01, 2) # p3 - pp.create_measurement(net, "q", "bus", 0.1, 0.01, 2) # q3 - - pp.create_measurement(net, "v", "bus", 1.08, 0.05, 0) # u1 - pp.create_measurement(net, "v", "bus", 1.015, 0.05, 2) # u3 - - # 2. Do state estimation - if not estimate(net, init='flat'): - raise AssertionError("Estimation failed!") - v_result = net.res_bus_est.vm_pu.values - delta_result = net.res_bus_est.va_degree.values - - target_v = np.array([1.0627, 1.0589, 1.0317]) - diff_v = target_v - v_result - target_delta = np.array([0., 0.8677, 3.1381]) - diff_delta = target_delta - delta_result - - if not (np.nanmax(abs(diff_v)) < 1e-4) or\ - not (np.nanmax(abs(diff_delta)) < 1e-4): - raise AssertionError("Estimation failed!") - - # Backwards check. Use state estimation results for power flow and check for equality - net.ext_grid.vm_pu = net.res_bus_est.vm_pu.iloc[0] - pp.create_load(net, 0, net.res_bus_est.p_mw.iloc[0], net.res_bus_est.q_mvar.iloc[0]) - pp.create_load(net, 1, net.res_bus_est.p_mw.iloc[1], net.res_bus_est.q_mvar.iloc[1]) - pp.create_load(net, 2, net.res_bus_est.p_mw.iloc[2], net.res_bus_est.q_mvar.iloc[2]) - _compare_pf_and_se_results(net) - - -def test_3bus_with_bad_data(): - net = pp.create_empty_network() - pp.create_bus(net, name="bus1", vn_kv=1.) - pp.create_bus(net, name="bus2", vn_kv=1.) - pp.create_bus(net, name="bus3", vn_kv=1.) - pp.create_ext_grid(net, 0) - pp.create_line_from_parameters(net, 0, 1, 1, r_ohm_per_km=0.7, x_ohm_per_km=0.2, c_nf_per_km=0, - max_i_ka=1) - pp.create_line_from_parameters(net, 0, 2, 1, r_ohm_per_km=0.8, x_ohm_per_km=0.8, c_nf_per_km=0, - max_i_ka=1) - pp.create_line_from_parameters(net, 1, 2, 1, r_ohm_per_km=1, x_ohm_per_km=0.6, c_nf_per_km=0, - max_i_ka=1) - - pp.create_measurement(net, "p", "line", -0.0011, 0.01, 0, 0) # p12 - pp.create_measurement(net, "q", "line", 0.024, 0.01, 0, 0) # q12 - - pp.create_measurement(net, "p", "bus", -0.018, 0.01, 2) # p3 - pp.create_measurement(net, "q", "bus", 0.1, 0.01, 2) # q3 - - pp.create_measurement(net, "v", "bus", 1.08, 0.05, 0) # u1 - pp.create_measurement(net, "v", "bus", 1.015, 0.05, 2) # u3 - - # 0. Do chi2-test for corret data - assert not chi2_analysis(net, init='flat') - - # 1. Create false voltage measurement for testing bad data detection (-> should be removed) - pp.create_measurement(net, "v", "bus", 1.3, 0.01, 1) # V at bus 2 - - # 2. Do chi2-test - bad_data_detected = chi2_analysis(net, init='flat') - - # 3. Perform rn_max_test - success_rn_max = remove_bad_data(net, init='flat') - v_est_rn_max = net.res_bus_est.vm_pu.values - delta_est_rn_max = net.res_bus_est.va_degree.values - - target_v = np.array([1.0627, 1.0589, 1.0317]) - diff_v = target_v - v_est_rn_max - target_delta = np.array([0., 0.8677, 3.1381]) - diff_delta = target_delta - delta_est_rn_max - - assert bad_data_detected - assert success_rn_max - if not (np.nanmax(abs(diff_v)) < 1e-4) or\ - not (np.nanmax(abs(diff_delta)) < 1e-4): - raise AssertionError("Estimation failed!") - - -def test_3bus_with_out_of_service_bus(): - # Test case from book "Power System State Estimation", A. Abur, A. G. Exposito, p. 20ff. - # S_ref = 1 MVA (PP standard) - # V_ref = 1 kV - # Z_ref = 1 Ohm - - # The example only had per unit values, but pandapower expects kV, MVA, kW, kVar - # Measurements should be in kW/kVar/A - Voltage in p.u. - - # 1. Create network - net = pp.create_empty_network() - pp.create_bus(net, name="bus1", vn_kv=1.) - pp.create_bus(net, name="bus2", vn_kv=1.) - pp.create_bus(net, name="bus3", vn_kv=1.) - pp.create_bus(net, name="bus4", vn_kv=1., in_service=0) # out-of-service bus test - pp.create_ext_grid(net, 0) - pp.create_line_from_parameters(net, 0, 1, 1, r_ohm_per_km=.01, x_ohm_per_km=.03, c_nf_per_km=0., - max_i_ka=1) - pp.create_line_from_parameters(net, 0, 2, 1, r_ohm_per_km=.02, x_ohm_per_km=.05, c_nf_per_km=0., - max_i_ka=1) - pp.create_line_from_parameters(net, 1, 2, 1, r_ohm_per_km=.03, x_ohm_per_km=.08, c_nf_per_km=0., - max_i_ka=1) - - pp.create_measurement(net, "v", "bus", 1.006, .004, 0) # V at bus 1 - pp.create_measurement(net, "v", "bus", .968, .004, 1) # V at bus 2 - - pp.create_measurement(net, "p", "bus", .501, .010, 1) # P at bus 2 - pp.create_measurement(net, "q", "bus", .286, .010, 1) # Q at bus 2 - - pp.create_measurement(net, "p", "line", .888, .008, 0, 0) # Pline (bus 1 -> bus 2) at bus 1 - pp.create_measurement(net, "p", "line", 1.173, .008, 1, 0) # Pline (bus 1 -> bus 3) at bus 1 - pp.create_measurement(net, "q", "line", .568, .008, 0, 0) # Qline (bus 1 -> bus 2) at bus 1 - pp.create_measurement(net, "q", "line", .663, .008, 1, 0) # Qline (bus 1 -> bus 3) at bus 1 - - # 2. Do state estimation - if not estimate(net, init='flat'): - raise AssertionError("Estimation failed!") - - v_result = net.res_bus_est.vm_pu.values - delta_result = net.res_bus_est.va_degree.values - - target_v = np.array([[0.9996, 0.9741, 0.9438, np.nan]]) - diff_v = target_v - v_result - target_delta = np.array([[0., -1.2475, -2.7457, np.nan]]) - diff_delta = target_delta - delta_result - - if not (np.nanmax(abs(diff_v)) < 1e-4) or\ - not (np.nanmax(abs(diff_delta)) < 1e-4): - raise AssertionError("Estimation failed!") - - -def test_3bus_with_transformer(): - np.random.seed(12) - - # 1. Create network - net = pp.create_empty_network() - pp.create_bus(net, name="bus1", vn_kv=10.) - pp.create_bus(net, name="bus2", vn_kv=10.) - pp.create_bus(net, name="bus3", vn_kv=10.) - pp.create_bus(net, name="bus4", vn_kv=110.) - pp.create_ext_grid(net, bus=3, vm_pu=1.01) - pp.create_line_from_parameters(net, 0, 1, 1, r_ohm_per_km=.01, x_ohm_per_km=.03, c_nf_per_km=0., - max_i_ka=1) - pp.create_line_from_parameters(net, 0, 2, 1, r_ohm_per_km=.02, x_ohm_per_km=.05, c_nf_per_km=0., - max_i_ka=1) - pp.create_line_from_parameters(net, 1, 2, 1, r_ohm_per_km=.03, x_ohm_per_km=.08, c_nf_per_km=0., - max_i_ka=1) - - pp.create_std_type(net, {"sn_mva": 25, "vn_hv_kv": 110, "vn_lv_kv": 10, "vk_percent": 10.04, - "vkr_percent": 0.276, "pfe_kw": 28.51, "i0_percent": 0.073, "shift_degree": 150, - "tap_side": "hv", "tap_neutral": 0, "tap_min": -9, "tap_max": 9, "tap_step_degree": 0, - "tap_step_percent": 1.5, "tap_phase_shifter": False}, - "25 MVA 110/10 kV v1.4.3 and older", element="trafo") - pp.create_transformer(net, 3, 0, std_type="25 MVA 110/10 kV v1.4.3 and older") - - pp.create_load(net, bus=1, p_mw=0.45, q_mvar=0.3) - pp.create_load(net, bus=2, p_mw=0.35, q_mvar=0.2) - - pp.runpp(net, calculate_voltage_angles=True) - - pp.create_measurement(net, "v", "bus", r2(net.res_bus.vm_pu.iloc[0], .004), .004, element=0) - pp.create_measurement(net, "v", "bus", r2(net.res_bus.vm_pu.iloc[1], .004), .004, element=1) - pp.create_measurement(net, "v", "bus", r2(net.res_bus.vm_pu.iloc[3], .004), .004, element=3) - - pp.create_measurement(net, "p", "bus", r2(net.res_bus.p_mw.iloc[1], .01), .01, element=1) - pp.create_measurement(net, "q", "bus", r2(net.res_bus.q_mvar.iloc[1], .01), .01, element=1) - - pp.create_measurement(net, "p", "bus", r2(net.res_bus.p_mw.iloc[2], .01), .010, element=2) - pp.create_measurement(net, "q", "bus", r2(net.res_bus.q_mvar.iloc[2], .01), .01, element=2) - - pp.create_measurement(net, "p", "bus", 0., 0.001, element=0) - pp.create_measurement(net, "q", "bus", 0., 0.001, element=0) - - pp.create_measurement(net, "p", "line", r2(net.res_line.p_from_mw.iloc[0], .008), .008, 0, 0) - pp.create_measurement(net, "p", "line", r2(net.res_line.p_from_mw.iloc[1], .008), .008, 1, 0) - - pp.create_measurement(net, "p", "trafo", r2(net.res_trafo.p_hv_mw.iloc[0], .01), .01, - side="hv", element=0) # transformer meas. - pp.create_measurement(net, "q", "trafo", r2(net.res_trafo.q_hv_mvar.iloc[0], .01), .01, - side=3, element=0) # at hv side - - # 2. Do state estimation - if not estimate(net, init='slack', tolerance=1e-6, - maximum_iterations=10, calculate_voltage_angles=True): - raise AssertionError("Estimation failed!") - v_result = net.res_bus_est.vm_pu.values - delta_result = net.res_bus_est.va_degree.values - - diff_v = net.res_bus.vm_pu.values - v_result - diff_delta = net.res_bus.va_degree.values - delta_result - - if not (np.nanmax(abs(diff_v)) < 6e-4) or\ - not (np.nanmax(abs(diff_delta)) < 8e-4): - raise AssertionError("Estimation failed!") - - # Backwards check. Use state estimation results for power flow and check for equality - net.load.drop(net.load.index, inplace=True) - net.ext_grid.vm_pu = net.res_bus_est.vm_pu.iloc[net.ext_grid.bus.iloc[0]] - pp.create_load(net, 0, net.res_bus_est.p_mw.iloc[0], net.res_bus_est.q_mvar.iloc[0]) - pp.create_load(net, 1, net.res_bus_est.p_mw.iloc[1], net.res_bus_est.q_mvar.iloc[1]) - pp.create_load(net, 2, net.res_bus_est.p_mw.iloc[2], net.res_bus_est.q_mvar.iloc[2]) - - _compare_pf_and_se_results(net) - - -def test_3bus_with_2_slacks(): - # load the net which already contains 3 buses - net = load_3bus_network() - # add the same net with different slack (no galvanic connection) - # skip bus index 4 as further stability test - pp.create_bus(net, name="bus5", vn_kv=1., index=5) - pp.create_bus(net, name="bus6", vn_kv=1., index=6) - pp.create_bus(net, name="bus7", vn_kv=1., index=7) - pp.create_ext_grid(net, 5) - pp.create_line_from_parameters(net, 5, 6, 1, r_ohm_per_km=.01, x_ohm_per_km=.03, c_nf_per_km=0., - max_i_ka=1) - pp.create_line_from_parameters(net, 5, 7, 1, r_ohm_per_km=.02, x_ohm_per_km=.05, c_nf_per_km=0., - max_i_ka=1) - pp.create_line_from_parameters(net, 6, 7, 1, r_ohm_per_km=.03, x_ohm_per_km=.08, c_nf_per_km=0., - max_i_ka=1) - - pp.create_measurement(net, "v", "bus", 1.006, .004, element=5) # V at bus 5 - pp.create_measurement(net, "v", "bus", .968, .004, element=6) # V at bus 6 - - pp.create_measurement(net, "p", "bus", .501, .010, element=6) # P at bus 6 - pp.create_measurement(net, "q", "bus", .286, .010, element=6) # Q at bus 6 - - pp.create_measurement(net, "p", "line", .888, .008, 3, 5) # Pline (bus 5 -> bus 6) at bus 5 - pp.create_measurement(net, "p", "line", 1.173, .008, 4, 5) # Pline (bus 5 -> bus 7) at bus 5 - pp.create_measurement(net, "q", "line", .568, .008, 3, 5) # Qline (bus 5 -> bus 6) at bus 5 - pp.create_measurement(net, "q", "line", .663, .008, 4, 5) # Qline (bus 5 -> bus 7) at bus 5 - - # 2. Do state estimation - if not estimate(net, init='flat', maximum_iterations=10): - raise AssertionError("Estimation failed!") - v_result = net.res_bus_est.vm_pu.values - delta_result = net.res_bus_est.va_degree.values - - target_v = np.array([0.9996, 0.9741, 0.9438, np.nan, 0.9996, 0.9741, 0.9438]) - target_delta = np.array([0.0, -1.2475469989322963, -2.7457167371166862, np.nan, 0.0, - -1.2475469989322963, -2.7457167371166862]) - - if not np.allclose(v_result, target_v, atol=1e-4, equal_nan=True) or\ - not np.allclose(delta_result, target_delta, atol=1e-4, equal_nan=True): - raise AssertionError("Estimation failed!") - - -def test_3bus_with_i_line_measurements(): - np.random.seed(1) - net = load_3bus_network() - net.measurement.drop(net.measurement.index, inplace=True) - pp.create_load(net, 1, p_mw=0.495974966, q_mvar=0.297749528) - pp.create_load(net, 2, p_mw=1.514220983, q_mvar=0.787528929) - pp.runpp(net) - pp.create_measurement(net, "v", "bus", net.res_bus.vm_pu[0] * r(0.01), 0.01, 0) - pp.create_measurement(net, "v", "bus", net.res_bus.vm_pu[2] * r(0.01), 0.01, 1) - pp.create_measurement(net, "p", "bus", net.res_bus.p_mw[0] * r(), - max(1.0e-3, abs(0.03 * net.res_bus.p_mw[0])), 0) - pp.create_measurement(net, "q", "bus", net.res_bus.q_mvar[0] * r(), - max(1.0e-3, abs(0.03 * net.res_bus.q_mvar[0])), 0) - pp.create_measurement(net, "p", "bus", net.res_bus.p_mw[2] * r(), - max(1.0e-3, abs(0.03 * net.res_bus.p_mw[2])), 2) - pp.create_measurement(net, "q", "bus", net.res_bus.q_mvar[2] * r(), - max(1.0e-3, abs(0.03 * net.res_bus.q_mvar[2])), 2) - pp.create_measurement(net, "p", "line", net.res_line.p_from_mw[0] * r(), - max(1.0e-3, abs(0.03 * net.res_line.p_from_mw[0])), element=0, side=0) - pp.create_measurement(net, "q", "line", net.res_line.q_from_mvar[0] * r(), - max(1.0e-3, abs(0.03 * net.res_line.q_from_mvar[0])), element=0, side=0) - pp.create_measurement(net, "i", "line", net.res_line.i_from_ka[0] * 1e3 * r(), - max(1.0, abs(30 * net.res_line.i_from_ka[0])), element=0, side=0) - pp.create_measurement(net, "i", "line", net.res_line.i_from_ka[1] * 1e3 * r(), - max(1.0, abs(30 * net.res_line.i_from_ka[1])), element=1, side=0) - - if not estimate(net, init='flat'): - raise AssertionError("Estimation failed!") - - assert (np.nanmax(abs(net.res_bus_est.vm_pu.values - net.res_bus.vm_pu.values)) < 0.045) - assert (np.nanmax(abs(net.res_bus_est.va_degree.values - net.res_bus.va_degree.values)) < 0.9) - - -def test_3bus_with_pq_line_from_to_measurements(): - np.random.seed(2017) - net = load_3bus_network() - net.measurement.drop(net.measurement.index, inplace=True) - pp.create_load(net, 1, p_mw=0.495974966, q_mvar=0.297749528) - pp.create_load(net, 2, p_mw=1.514220983, q_mvar=0.787528929) - pp.runpp(net) - pp.create_measurement(net, "v", "bus", net.res_bus.vm_pu[0] * r(0.01), 0.01, 0) - pp.create_measurement(net, "v", "bus", net.res_bus.vm_pu[2] * r(0.01), 0.01, 1) - pp.create_measurement(net, "p", "bus", net.res_bus.p_mw[0] * r(), - max(1.0e-3, abs(0.03 * net.res_bus.p_mw[0])), 0) - pp.create_measurement(net, "q", "bus", net.res_bus.q_mvar[0] * r(), - max(1.0e-3, abs(0.03 * net.res_bus.q_mvar[0])), 0) - pp.create_measurement(net, "p", "bus", net.res_bus.p_mw[2] * r(), - max(1.0e-3, abs(0.03 * net.res_bus.p_mw[2])), 2) - pp.create_measurement(net, "q", "bus", net.res_bus.q_mvar[2] * r(), - max(1.0e-3, abs(0.03 * net.res_bus.q_mvar[2])), 2) - pp.create_measurement(net, "p", "line", net.res_line.p_from_mw[0] * r(), - max(1.0e-3, abs(0.03 * net.res_line.p_from_mw[0])), element=0, side=0) - pp.create_measurement(net, "q", "line", net.res_line.q_from_mvar[0] * r(), - max(1.0e-3, abs(0.03 * net.res_line.q_from_mvar[0])), element=0, side=0) - pp.create_measurement(net, "p", "line", net.res_line.p_to_mw[0] * r(), - max(1.0e-3, abs(0.03 * net.res_line.p_to_mw[0])), element=0, side=1) - pp.create_measurement(net, "q", "line", net.res_line.q_to_mvar[0] * r(), - max(1.0e-3, abs(0.03 * net.res_line.q_to_mvar[0])), element=0, side=1) - - if not estimate(net, init='flat'): - raise AssertionError("Estimation failed!") - - assert (np.nanmax(abs(net.res_bus_est.vm_pu.values - net.res_bus.vm_pu.values)) < 0.023) - assert (np.nanmax(abs(net.res_bus_est.va_degree.values - net.res_bus.va_degree.values)) < 0.12) - - -def test_3bus_with_side_names(): - np.random.seed(2017) - net = load_3bus_network() - net.measurement.drop(net.measurement.index, inplace=True) - pp.create_load(net, 1, p_mw=0.495974966, q_mvar=0.297749528) - pp.create_load(net, 2, p_mw=1.514220983, q_mvar=0.787528929) - pp.runpp(net) - pp.create_measurement(net, "v", "bus", net.res_bus.vm_pu[0] * r(0.01), 0.01, 0) - pp.create_measurement(net, "v", "bus", net.res_bus.vm_pu[2] * r(0.01), 0.01, 1) - pp.create_measurement(net, "p", "bus", net.res_bus.p_mw[0] * r(), - max(1.0e-3, abs(0.03 * net.res_bus.p_mw[0])), 0) - pp.create_measurement(net, "q", "bus", net.res_bus.q_mvar[0] * r(), - max(1.0e-3, abs(0.03 * net.res_bus.q_mvar[0])), 0) - pp.create_measurement(net, "p", "bus", net.res_bus.p_mw[2] * r(), - max(1.0e-3, abs(0.03 * net.res_bus.p_mw[2])), 2) - pp.create_measurement(net, "q", "bus", net.res_bus.q_mvar[2] * r(), - max(1.0e-3, abs(0.03 * net.res_bus.q_mvar[2])), 2) - pp.create_measurement(net, "p", "line", net.res_line.p_from_mw[0] * r(), - max(1.0e-3, abs(0.03 * net.res_line.p_from_mw[0])), element=0, side="from") - pp.create_measurement(net, "q", "line", net.res_line.q_from_mvar[0] * r(), - max(1.0e-3, abs(0.03 * net.res_line.q_from_mvar[0])), element=0, side="from") - pp.create_measurement(net, "p", "line", net.res_line.p_to_mw[0] * r(), - max(1.0e-3, abs(0.03 * net.res_line.p_to_mw[0])), element=0, side="to") - pp.create_measurement(net, "q", "line", net.res_line.q_to_mvar[0] * r(), - max(1.0e-3, abs(0.03 * net.res_line.q_to_mvar[0])), element=0, side="to") - - if not estimate(net, init='flat'): - raise AssertionError("Estimation failed!") - - assert (np.nanmax(abs(net.res_bus_est.vm_pu.values - net.res_bus.vm_pu.values)) < 0.023) - assert (np.nanmax(abs(net.res_bus_est.va_degree.values - net.res_bus.va_degree.values)) < 0.12) - - -def test_cigre_network(init='flat'): - # 1. create network - # test the mv ring network with all available voltage measurements and bus powers - # test if switches and transformer will work correctly with the state estimation - np.random.seed(123456) - net = nw.create_cigre_network_mv(with_der=False) - pp.runpp(net) - - for bus, row in net.res_bus.iterrows(): - pp.create_measurement(net, "v", "bus", row.vm_pu * r(0.01), 0.01, bus) - # if np.random.randint(0, 4) == 0: - # continue - pp.create_measurement(net, "p", "bus", row.p_mw * r(), max(0.001, abs(0.03 * row.p_mw)), - bus) - pp.create_measurement(net, "q", "bus", row.q_mvar * r(), max(0.001, abs(0.03 * row.q_mvar)), - bus) - - # 2. Do state estimation - if not estimate(net, init="flat", calculate_voltage_angles=False): - raise AssertionError("Estimation failed!") - - v_result = net.res_bus_est.vm_pu.values - delta_result = net.res_bus_est.va_degree.values - - target_v = net.res_bus.vm_pu.values - diff_v = target_v - v_result - target_delta = net.res_bus.va_degree.values - diff_delta = target_delta - delta_result - - assert (np.nanmax(abs(diff_v)) < 0.0043) - assert (np.nanmax(abs(diff_delta)) < 0.17) - - -def test_cigre_network_with_slack_init(): - test_cigre_network(init='slack') - - -def test_cigre_with_bad_data(): - np.random.seed(123456) - net = nw.create_cigre_network_mv(with_der=False) - net.load.q_mvar = net.load["p_mw"].apply(lambda p: p * np.tan(np.arccos(np.random.choice([0.95, 0.9, 0.97])))) - pp.runpp(net) - - for bus, row in net.res_bus.iterrows(): - if bus == 2: - continue - if bus != 6: - pp.create_measurement(net, "v", "bus", row.vm_pu * r(0.01), 0.01, bus) # skip our bad data measurement - pp.create_measurement(net, "p", "bus", row.p_mw * r(), max(0.001, abs(0.03 * row.p_mw)), bus) - pp.create_measurement(net, "q", "bus", row.q_mvar * r(), max(0.001, abs(0.03 * row.q_mvar)), bus) - - # 2. Do state estimation - success_SE = estimate(net, init='slack') - v_est_SE = net.res_bus_est.vm_pu.values - delta_SE = net.res_bus_est.va_degree.values - - # 3. Create false measurement (very close to useful values) - pp.create_measurement(net, "v", "bus", 0.85, 0.01, element=6) - - # 4. Do chi2-test - bad_data_detected = chi2_analysis(net, init='slack') - - # 5. Perform rn_max_test - success_rn_max = remove_bad_data(net, init='slack') - v_est_rn_max = net.res_bus_est.vm_pu.values - delta_est_rn_max = net.res_bus_est.va_degree.values - - diff_v = v_est_SE - v_est_rn_max - diff_delta = delta_SE - delta_est_rn_max - - assert success_SE - assert bad_data_detected - assert success_rn_max - assert (np.nanmax(abs(diff_v)) < 1e-8) - assert (np.nanmax(abs(diff_delta)) < 1e-8) - - -def test_init_slack_with_multiple_transformers(angles=True): - np.random.seed(123) - net = pp.create_empty_network() - pp.create_bus(net, 220, index=0) - pp.create_bus(net, 110, index=1) - pp.create_bus(net, 110, index=2) - pp.create_bus(net, 110, index=3) - pp.create_bus(net, 10, index=4) - pp.create_bus(net, 10, index=5) - pp.create_bus(net, 10, index=6) - pp.create_bus(net, 10, index=7, in_service=False) - pp.create_std_type(net, {"sn_mva": 63, "vn_hv_kv": 110, "vn_lv_kv": 10, "vk_percent": 10.04, - "vkr_percent": 0.31, "pfe_kw": 31.51, "i0_percent": 0.078, "shift_degree": 150, - "tap_side": "hv", "tap_neutral": 0, "tap_min": -9, "tap_max": 9, "tap_step_degree": 0, - "tap_step_percent": 1.5, "tap_phase_shifter": False}, - "63 MVA 110/10 kV v1.4.3 and older", element="trafo") - - pp.create_transformer(net, 3, 7, std_type="63 MVA 110/10 kV v1.4.3 and older", in_service=False) - pp.create_transformer(net, 3, 4, std_type="63 MVA 110/10 kV v1.4.3 and older") - pp.create_transformer(net, 0, 1, std_type="100 MVA 220/110 kV") - pp.create_line(net, 1, 2, 2.0, std_type="N2XS(FL)2Y 1x120 RM/35 64/110 kV") - pp.create_line(net, 1, 3, 2.0, std_type="N2XS(FL)2Y 1x120 RM/35 64/110 kV") - pp.create_line(net, 4, 5, 2.0, std_type="NA2XS2Y 1x95 RM/25 12/20 kV") - pp.create_line(net, 5, 6, 2.0, std_type="NA2XS2Y 1x95 RM/25 12/20 kV") - pp.create_load(net, 2, p_mw=5, q_mvar=3.3) - pp.create_load(net, 5, p_mw=0.9, q_mvar=0.5) - pp.create_load(net, bus=6, p_mw=0.7, q_mvar=0.3) - pp.create_ext_grid(net, bus=0, vm_pu=1.04, va_degree=10., name="Slack 220 kV") - pp.runpp(net, calculate_voltage_angles=angles) - for bus, row in net.res_bus[net.bus.in_service == True].iterrows(): - pp.create_measurement(net, "v", "bus", row.vm_pu * r(0.01), 0.01, bus) - if row.p_mw != 0.: - continue - pp.create_measurement(net, "p", "bus", row.p_mw * r(), max(0.001, abs(0.03 * row.p_mw)), - bus) - pp.create_measurement(net, "q", "bus", row.q_mvar * r(), max(.0001, abs(0.03 * row.q_mvar)), - bus) - pp.create_measurement(net, "p", "line", net.res_line.p_from_mw[0], .01, side=1, element=0) - pp.create_measurement(net, "q", "line", net.res_line.q_from_mvar[0], 0.01, side=1, element=0) - pp.create_measurement(net, "p", "line", net.res_line.p_from_mw[2], .01, side=4, element=2) - pp.create_measurement(net, "q", "line", net.res_line.q_from_mvar[2], .01, side=4, element=2) - pp.create_measurement(net, "p", "line", net.res_line.p_from_mw[3], .01, side=5, element=3) - pp.create_measurement(net, "q", "line", net.res_line.q_from_mvar[3], 0.01, side=5, element=3) - success = estimate(net, init='slack', calculate_voltage_angles=angles, tolerance=1e-9) - - # pretty high error for vm_pu (half percent!) - assert success - assert (np.nanmax(np.abs(net.res_bus.vm_pu.values - net.res_bus_est.vm_pu.values)) < 0.006) - assert (np.nanmax(np.abs(net.res_bus.va_degree.values- net.res_bus_est.va_degree.values)) < 0.006) - - -def test_init_slack_with_multiple_transformers_angles_off(): - test_init_slack_with_multiple_transformers(False) - - -def test_check_existing_measurements(): - np.random.seed(2017) - net = pp.create_empty_network() - pp.create_bus(net, 10.) - pp.create_bus(net, 10.) - pp.create_line(net, 0, 1, 0.5, std_type="149-AL1/24-ST1A 10.0") - m1 = pp.create_measurement(net, "v", "bus", 1.006, .004, 0) - m2 = pp.create_measurement(net, "v", "bus", 1.006, .004, 0) - - assert m1 == m2 - assert len(net.measurement) == 1 - m3 = pp.create_measurement(net, "v", "bus", 1.006, .004, 0, check_existing=False) - assert m3 != m2 - assert len(net.measurement) == 2 - - m4 = pp.create_measurement(net, "p", "line", -0.0011, 0.01, side=0, element=0, - check_existing=True) - m5 = pp.create_measurement(net, "p", "line", -0.0011, 0.01, side=0, element=0, - check_existing=True) - assert m4 == m5 - - m6 = pp.create_measurement(net, "p", "line", -0.0011, 0.01, side=0, element=0, - check_existing=False) - assert m5 != m6 - - -def load_3bus_network(): - return pp.from_json(os.path.join(pp.pp_dir, "test", "estimation", "3bus_wls.json")) - -def test_network_with_trafo3w_pq(): - net = pp.create_empty_network() - - bus_slack = pp.create_bus(net, vn_kv=110) - pp.create_ext_grid(net, bus=bus_slack) - - bus_20_1 = pp.create_bus(net, vn_kv=20,name="b") - pp.create_sgen(net, bus=bus_20_1, p_mw=0.03, q_mvar=0.02) - - bus_10_1 = pp.create_bus(net, vn_kv=10) - pp.create_sgen(net, bus=bus_10_1, p_mw=0.02, q_mvar=0.02) - - bus_10_2 = pp.create_bus(net, vn_kv=10) - pp.create_load(net, bus=bus_10_2, p_mw=0.06, q_mvar=0.01) - pp.create_line(net, from_bus=bus_10_1, to_bus=bus_10_2, std_type="149-AL1/24-ST1A 10.0", length_km=2) - - pp.create_transformer3w(net, bus_slack, bus_20_1, bus_10_1, std_type="63/25/38 MVA 110/20/10 kV") - - pp.runpp(net) - - pp.create_measurement(net, "p", "line", net.res_line.p_from_mw[0], 0.001, 0, 'from') - pp.create_measurement(net, "q", "line", net.res_line.q_from_mvar[0], 0.001, 0, 'from') - pp.create_measurement(net, "p", "line", net.res_line.p_to_mw[0], 0.001, 0, 'to') - pp.create_measurement(net, "q", "line", net.res_line.q_to_mvar[0], 0.001, 0, 'to') - - pp.create_measurement(net, "p", "trafo3w", net.res_trafo3w.p_hv_mw[0], 0.001, 0, 'hv') - pp.create_measurement(net, "q", "trafo3w", net.res_trafo3w.q_hv_mvar[0], 0.001, 0, 'hv') - pp.create_measurement(net, "p", "trafo3w", net.res_trafo3w.p_mv_mw[0], 0.002, 0, 'mv') - pp.create_measurement(net, "q", "trafo3w", net.res_trafo3w.q_mv_mvar[0], 0.002, 0, 'mv') - pp.create_measurement(net, "p", "trafo3w", net.res_trafo3w.p_lv_mw[0], 0.001, 0, 'lv') - pp.create_measurement(net, "q", "trafo3w", net.res_trafo3w.q_lv_mvar[0], 0.001, 0, 'lv') - - pp.create_measurement(net, "v", "bus", net.res_bus.vm_pu[0], 0.01, 0) - pp.create_measurement(net, "v", "bus", net.res_bus.vm_pu[1], 0.01, 1) - - if not estimate(net): - raise AssertionError("Estimation failed!") - - if not (np.nanmax(np.abs(net.res_bus.vm_pu.values - net.res_bus_est.vm_pu.values)) < 0.006) or\ - not (np.nanmax(np.abs(net.res_bus.va_degree.values- net.res_bus_est.va_degree.values)) < 0.006): - raise AssertionError("Estimation failed") - - #Try estimate with results initialization - if not estimate(net, init="results"): - raise AssertionError("Estimation failed!") - - -def test_network_with_trafo3w_with_disabled_branch(): - net = pp.create_empty_network() - - bus_slack = pp.create_bus(net, vn_kv=110) - pp.create_ext_grid(net, bus=bus_slack) - - bus_20_1 = pp.create_bus(net, vn_kv=20,name="b") - pp.create_sgen(net, bus=bus_20_1, p_mw=0.03, q_mvar=0.02) - - bus_10_1 = pp.create_bus(net, vn_kv=10) - pp.create_sgen(net, bus=bus_10_1, p_mw=0.02, q_mvar=0.02) - - bus_10_2 = pp.create_bus(net, vn_kv=10) - pp.create_load(net, bus=bus_10_2, p_mw=0.06, q_mvar=0.01) - pp.create_line(net, from_bus=bus_10_1, to_bus=bus_10_2, std_type="149-AL1/24-ST1A 10.0", length_km=2) - disabled_line = pp.create_line(net, from_bus=bus_10_1, to_bus=bus_10_2, std_type="149-AL1/24-ST1A 10.0", length_km=2) - net.line.at[disabled_line, 'in_service'] = False - - pp.create_transformer3w(net, bus_slack, bus_20_1, bus_10_1, std_type="63/25/38 MVA 110/20/10 kV") - - pp.runpp(net) - - pp.create_measurement(net, "p", "line", net.res_line.p_from_mw[0], 0.001, 0, 'from') - pp.create_measurement(net, "q", "line", net.res_line.q_from_mvar[0], 0.001, 0, 'from') - pp.create_measurement(net, "p", "line", net.res_line.p_to_mw[0], 0.001, 0, 'to') - pp.create_measurement(net, "q", "line", net.res_line.q_to_mvar[0], 0.001, 0, 'to') - pp.create_measurement(net, "p", "line", net.res_line.p_to_mw[1], 0.001, 1, 'to') - pp.create_measurement(net, "q", "line", net.res_line.q_to_mvar[1], 0.001, 1, 'to') - - pp.create_measurement(net, "p", "trafo3w", net.res_trafo3w.p_hv_mw[0], 0.001, 0, 'hv') - pp.create_measurement(net, "q", "trafo3w", net.res_trafo3w.q_hv_mvar[0], 0.001, 0, 'hv') - pp.create_measurement(net, "p", "trafo3w", net.res_trafo3w.p_mv_mw[0], 0.002, 0, 'mv') - pp.create_measurement(net, "q", "trafo3w", net.res_trafo3w.q_mv_mvar[0], 0.002, 0, 'mv') - pp.create_measurement(net, "p", "trafo3w", net.res_trafo3w.p_lv_mw[0], 0.001, 0, 'lv') - pp.create_measurement(net, "q", "trafo3w", net.res_trafo3w.q_lv_mvar[0], 0.001, 0, 'lv') - - pp.create_measurement(net, "v", "bus", net.res_bus.vm_pu[0], 0.01, 0) - pp.create_measurement(net, "v", "bus", net.res_bus.vm_pu[1], 0.01, 1) - - success = estimate(net) - assert success - assert (np.nanmax(np.abs(net.res_bus.vm_pu.values - net.res_bus_est.vm_pu.values)) < 0.006) - assert (np.nanmax(np.abs(net.res_bus.va_degree.values- net.res_bus_est.va_degree.values)) < 0.006) - - -def create_net_with_bb_switch(): - net = pp.create_empty_network() - bus1 = pp.create_bus(net, name="bus1", vn_kv=10.) - bus2 = pp.create_bus(net, name="bus2", vn_kv=10.) - bus3 = pp.create_bus(net, name="bus3", vn_kv=10.) - bus4 = pp.create_bus(net, name="bus4", vn_kv=10.) - bus5 = pp.create_bus(net, name="bus5", vn_kv=110.) - - pp.create_line_from_parameters(net, bus1, bus2, 10, r_ohm_per_km=.59, x_ohm_per_km=.35, c_nf_per_km=10.1, - max_i_ka=1) - pp.create_transformer(net, bus5, bus1, std_type="40 MVA 110/10 kV") - pp.create_ext_grid(net, bus=bus5, vm_pu=1.0) - pp.create_load(net, bus1, p_mw=.350, q_mvar=.100) - pp.create_load(net, bus2, p_mw=.450, q_mvar=.100) - pp.create_load(net, bus3, p_mw=.250, q_mvar=.100) - pp.create_load(net, bus4, p_mw=.150, q_mvar=.100) - - # Created bb switch - pp.create_switch(net, bus2, element=bus3, et='b') - pp.create_switch(net, bus1, element=bus4, et='b') - pp.runpp(net, calculate_voltage_angles=True) - - pp.create_measurement(net, "v", "bus", r2(net.res_bus.vm_pu.iloc[bus1], .002), .002, element=bus1) - pp.create_measurement(net, "v", "bus", r2(net.res_bus.vm_pu.iloc[bus3], .002), .002, element=bus3) - pp.create_measurement(net, "v", "bus", r2(net.res_bus.vm_pu.iloc[bus5], .002), .002, element=bus5) - - pp.create_measurement(net, "p", "bus", r2(net.res_bus.p_mw.iloc[bus5], .002), .002, element=bus5) - pp.create_measurement(net, "q", "bus", r2(net.res_bus.q_mvar.iloc[bus5], .002), .002, element=bus5) - - # If measurement on the bus with bb-switch activated, it will incluence the results of the merged bus - pp.create_measurement(net, "p", "bus", r2(net.res_bus.p_mw.iloc[bus4], .002), .002, element=bus4) - pp.create_measurement(net, "q", "bus", r2(net.res_bus.q_mvar.iloc[bus4], .002), .002, element=bus4) - pp.create_measurement(net, "p", "bus", r2(net.res_bus.p_mw.iloc[bus3], .001), .001, element=bus3) - pp.create_measurement(net, "q", "bus", r2(net.res_bus.q_mvar.iloc[bus3], .001), .001, element=bus3) - pp.create_measurement(net, "p", "bus", r2(net.res_bus.p_mw.iloc[bus2], .001), .001, element=bus2) - pp.create_measurement(net, "q", "bus", r2(net.res_bus.q_mvar.iloc[bus2], .001), .001, element=bus2) - pp.create_measurement(net, "p", "bus", r2(net.res_bus.p_mw.iloc[bus1], .001), .001, element=bus1) - pp.create_measurement(net, "q", "bus", r2(net.res_bus.q_mvar.iloc[bus1], .001), .001, element=bus1) - - pp.create_measurement(net, "p", "line", r2(net.res_line.p_from_mw.iloc[0], .002), .002, 0, side='from') - pp.create_measurement(net, "q", "line", r2(net.res_line.q_from_mvar.iloc[0], .002), .002, 0, side='from') - - pp.create_measurement(net, "p", "trafo", r2(net.res_trafo.p_hv_mw.iloc[0], .001), .01, - side="hv", element=0) - pp.create_measurement(net, "q", "trafo", r2(net.res_trafo.q_hv_mvar.iloc[0], .001), .01, - side="hv", element=0) - return net - - -def test_net_with_bb_switch_no_fusing(): - net = create_net_with_bb_switch() - success_none = estimate(net, tolerance=1e-5, fuse_buses_with_bb_switch=None) - - assert success_none - assert np.allclose(net.res_bus.va_degree.values,net.res_bus_est.va_degree.values, 1e-2) - assert np.allclose(net.res_bus.vm_pu.values,net.res_bus_est.vm_pu.values, 1e-2) - # asserting with more tolerance since the added impedance will cause some inaccuracy - assert np.allclose(net.res_bus.p_mw.values,net.res_bus_est.p_mw.values, 1e-1) - assert np.allclose(net.res_bus.q_mvar.values,net.res_bus_est.q_mvar.values, 1e-1) - - -def test_net_with_bb_switch_fuse_one(): - net = create_net_with_bb_switch() - success = estimate(net, tolerance=1e-5, fuse_buses_with_bb_switch=[1]) - assert success - assert np.allclose(net.res_bus.va_degree.values,net.res_bus_est.va_degree.values, 1e-2) - assert np.allclose(net.res_bus.vm_pu.values,net.res_bus_est.vm_pu.values, 1e-2) - # asserting with more tolerance since the added impedance will cause some inaccuracy - assert np.allclose(net.res_bus.p_mw.values[[0,3,4]],net.res_bus_est.p_mw.values[[0,3,4]], 1e-1) - assert np.allclose(net.res_bus.q_mvar.values[[0,3,4]],net.res_bus_est.q_mvar.values[[0,3,4]], 1e-1) - - -@pytest.mark.xfail -def test_net_with_bb_switch_fuse_one_identify_pq(): - net = create_net_with_bb_switch() - estimate(net, tolerance=1e-5, fuse_buses_with_bb_switch=[1]) - # asserting with more tolerance since the added impedance will cause some inaccuracy - assert np.allclose(net.res_bus.p_mw.values,net.res_bus_est.p_mw.values, 1e-1) - assert np.allclose(net.res_bus.q_mvar.values,net.res_bus_est.q_mvar.values, 1e-1) - - -def test_net_with_bb_switch_fusing(): - net = create_net_with_bb_switch() - estimate(net, tolerance=1e-5, fuse_buses_with_bb_switch='all') - - assert np.allclose(net.res_bus.va_degree.values,net.res_bus_est.va_degree.values, 5e-2) - assert np.allclose(net.res_bus.vm_pu.values,net.res_bus_est.vm_pu.values, 5e-2) - - -def test_net_with_zero_injection(): - # @author: AndersLi - net = pp.create_empty_network() - b1 = pp.create_bus(net, name="Bus 1", vn_kv=220, index=1) - b2 = pp.create_bus(net, name="Bus 2", vn_kv=220, index=2) - b3 = pp.create_bus(net, name="Bus 3", vn_kv=220, index=3) - b4 = pp.create_bus(net, name="Bus 4", vn_kv=220, index=4) - - pp.create_ext_grid(net, b1) # set the slack bus to bus 1 - factor = 48.4 * 2 * np.pi * 50 * 1e-9 # capacity factor - - pp.create_line_from_parameters(net, 1, 2, 1, r_ohm_per_km=.0221*48.4, - x_ohm_per_km=.1603*48.4, c_nf_per_km=0.00274/factor, max_i_ka=1) - pp.create_line_from_parameters(net, 2, 3, 1, r_ohm_per_km=.0428*48.4, - x_ohm_per_km=.242*48.4, c_nf_per_km=0.00384/factor, max_i_ka=1) - l3 = pp.create_line_from_parameters(net, 2, 4, 1, r_ohm_per_km=.002*48.4, - x_ohm_per_km=.0111*48.4, c_nf_per_km=0.00018/factor, max_i_ka=1) - - pp.create_measurement(net, "v", "bus", 1.063548, .001, b1) # V at bus 1 - pp.create_measurement(net, "v", "bus", 1.068342, .001, b3) # V at bus 3 - pp.create_measurement(net, "v", "bus", 1.069861, .001, b4) # V at bus 4 - pp.create_measurement(net, "p", "bus", 40.0, 1, b1) # P at bus 1 - pp.create_measurement(net, "q", "bus", 9.2, 1, b1) # Q at bus 1 - # pp.create_measurement(net, "p", "bus", 0, 0.01, b2) # P at bus 2 - not required anymore - # pp.create_measurement(net, "q", "bus", 0, 0.01, b2) # Q at bus 2 - not required anymore - pp.create_measurement(net, "p", "bus", -10.0, 1, b3) # P at bus 3 - pp.create_measurement(net, "q", "bus", -1.0, 1, b3) # Q at bus 3 - pp.create_measurement(net, "p", "bus", -30.0, 1, b4) # P at bus 4 - pp.create_measurement(net, "q", "bus", 0.100, 1, b4) # Q at bus 4 - pp.create_measurement(net, "p", "line", 30.100, 1, l3, side="to") # Pline (bus 2 -> bus 4) at bus 4 - pp.create_measurement(net, "q", "line", -0.099, 1, l3, side="to") # Qline (bus 2 -> bus 4) at bus 4 - - estimate(net, tolerance=1e-10, zero_injection='auto', algorithm='wls_with_zero_constraint') - assert np.abs(net.res_bus_est.at[b2, 'p_mw']) < 1e-8 - assert np.abs(net.res_bus_est.at[b2, 'q_mvar']) < 1e-8 - - net_given_bus = deepcopy(net) - success = estimate(net, tolerance=1e-6, zero_injection="auto") - success_given_bus = estimate(net, tolerance=1e-6, zero_injection=[b2]) - assert success and success_given_bus - assert np.allclose(net.res_bus_est.va_degree.values,net_given_bus.res_bus_est.va_degree.values, 1e-3) - assert np.allclose(net.res_bus_est.vm_pu.values,net_given_bus.res_bus_est.vm_pu.values, 1e-3) - - -def test_zero_injection_aux_bus(): - net = pp.create_empty_network() - bus1 = pp.create_bus(net, name="bus1", vn_kv=10.) - bus2 = pp.create_bus(net, name="bus2", vn_kv=10.) - bus3 = pp.create_bus(net, name="bus3", vn_kv=10.) - bus4 = pp.create_bus(net, name="bus4", vn_kv=110.) - - pp.create_line_from_parameters(net, bus1, bus2, 10, r_ohm_per_km=.59, x_ohm_per_km=.35, c_nf_per_km=10.1, - max_i_ka=1) - pp.create_line_from_parameters(net, bus2, bus3, 10, r_ohm_per_km=.59, x_ohm_per_km=.35, c_nf_per_km=10.1, - max_i_ka=1) - pp.create_transformer(net, bus4, bus1, std_type="40 MVA 110/10 kV") - pp.create_ext_grid(net, bus=bus4, vm_pu=1.0) - pp.create_load(net, bus1, p_mw=.350, q_mvar=.100) - pp.create_load(net, bus2, p_mw=.450, q_mvar=.100) - pp.create_load(net, bus3, p_mw=.250, q_mvar=.100) - - net.bus.at[bus3, 'in_service'] = False - - # Created bb switch - pp.runpp(net, calculate_voltage_angles=True) - - pp.create_measurement(net, "v", "bus", r2(net.res_bus.vm_pu.iloc[bus1], .002), .002, element=bus1) - pp.create_measurement(net, "v", "bus", r2(net.res_bus.vm_pu.iloc[bus4], .002), .002, element=bus4) - - pp.create_measurement(net, "p", "bus", r2(net.res_bus.p_mw.iloc[bus4], .002), .002, element=bus4) - pp.create_measurement(net, "q", "bus", r2(net.res_bus.q_mvar.iloc[bus4], .002), .002, element=bus4) - - # If measurement on the bus with bb-switch activated, it will incluence the results of the merged bus - pp.create_measurement(net, "p", "bus", r2(net.res_bus.p_mw.iloc[bus2], .001), .001, element=bus2) - pp.create_measurement(net, "q", "bus", r2(net.res_bus.q_mvar.iloc[bus2], .001), .001, element=bus2) - pp.create_measurement(net, "p", "bus", r2(net.res_bus.p_mw.iloc[bus1], .001), .001, element=bus1) - pp.create_measurement(net, "q", "bus", r2(net.res_bus.q_mvar.iloc[bus1], .001), .001, element=bus1) - - pp.create_measurement(net, "p", "line", r2(net.res_line.p_from_mw.iloc[0], .002), .002, 0, side='from') - pp.create_measurement(net, "q", "line", r2(net.res_line.q_from_mvar.iloc[0], .002), .002, 0, side='from') - - pp.create_measurement(net, "p", "trafo", r2(net.res_trafo.p_hv_mw.iloc[0], .001), .01, - side="hv", element=0) - pp.create_measurement(net, "q", "trafo", r2(net.res_trafo.q_hv_mvar.iloc[0], .001), .01, - side="hv", element=0) - - net_auto = deepcopy(net) - net_aux = deepcopy(net) - - success_none = estimate(net, tolerance=1e-5, zero_injection=None) - - # In this case zero_injection in mode "aux_bus" and "auto" should be exact the same - success_aux = estimate(net_aux, tolerance=1e-5, zero_injection='aux_bus') - success_auto = estimate(net_auto, tolerance=1e-5, zero_injection='auto') - assert success_none and success_aux and success_auto - assert np.allclose(net_auto.res_bus_est.va_degree.values,net_aux.res_bus_est.va_degree.values, 1e-4, equal_nan=True) - assert np.allclose(net_auto.res_bus_est.vm_pu.values,net_aux.res_bus_est.vm_pu.values, 1e-4, equal_nan=True) - - # in case zero injection was set to none, the results should be different - assert ~np.allclose(net.res_bus_est.vm_pu.values,net_aux.res_bus_est.vm_pu.values, 1e-2, equal_nan=True) - - -@pytest.mark.xfail -def test_net_unobserved_island(): - net = pp.create_empty_network() - bus1 = pp.create_bus(net, name="bus1", vn_kv=10.) - bus2 = pp.create_bus(net, name="bus2", vn_kv=10.) - bus3 = pp.create_bus(net, name="bus3", vn_kv=10.) - bus4 = pp.create_bus(net, name="bus4", vn_kv=110.) - - pp.create_line_from_parameters(net, bus1, bus2, 10, r_ohm_per_km=.59, x_ohm_per_km=.35, c_nf_per_km=10.1, - max_i_ka=1) - pp.create_line_from_parameters(net, bus2, bus3, 10, r_ohm_per_km=.59, x_ohm_per_km=.35, c_nf_per_km=10.1, - max_i_ka=1) - pp.create_transformer(net, bus4, bus1, std_type="40 MVA 110/10 kV") - pp.create_ext_grid(net, bus=bus4, vm_pu=1.0) - pp.create_load(net, bus1, p_mw=.350, q_mvar=.100) - pp.create_load(net, bus2, p_mw=.450, q_mvar=.100) - pp.create_load(net, bus3, p_mw=.250, q_mvar=.100) - - # Created bb switch - pp.runpp(net, calculate_voltage_angles=True) - - pp.create_measurement(net, "v", "bus", r2(net.res_bus.vm_pu.iloc[bus1], .002), .002, element=bus1) - pp.create_measurement(net, "v", "bus", r2(net.res_bus.vm_pu.iloc[bus4], .002), .002, element=bus4) - - pp.create_measurement(net, "p", "bus", r2(net.res_bus.p_mw.iloc[bus4], .002), .002, element=bus4) - pp.create_measurement(net, "q", "bus", r2(net.res_bus.q_mvar.iloc[bus4], .002), .002, element=bus4) - - # IF pq of bus2 is not available makes bus3 an unobserved island -# pp.create_measurement(net, "p", "bus", -r2(net.res_bus.p_mw.iloc[bus2], .001), .001, element=bus2) -# pp.create_measurement(net, "q", "bus", -r2(net.res_bus.q_mvar.iloc[bus2], .001), .001, element=bus2) - pp.create_measurement(net, "p", "bus", r2(net.res_bus.p_mw.iloc[bus1], .001), .001, element=bus1) - pp.create_measurement(net, "q", "bus", r2(net.res_bus.q_mvar.iloc[bus1], .001), .001, element=bus1) - - pp.create_measurement(net, "p", "line", r2(net.res_line.p_from_mw.iloc[0], .002), .002, 0, side='from') - pp.create_measurement(net, "q", "line", r2(net.res_line.q_from_mvar.iloc[0], .002), .002, 0, side='from') - - pp.create_measurement(net, "p", "trafo", r2(net.res_trafo.p_hv_mw.iloc[0], .001), .01, - side="hv", element=0) - pp.create_measurement(net, "q", "trafo", r2(net.res_trafo.q_hv_mvar.iloc[0], .001), .01, - side="hv", element=0) - - if not estimate(net, tolerance=1e-6, zero_injection=None): - raise AssertionError("Estimation failed!") - -def test_net_oos_line(): - net = nw.case9() - net.line.in_service.iat[4] = False - pp.runpp(net) - - for line_ix in net.line.index: - pp.create_measurement(net, "p", "line", net.res_line.at[line_ix, "p_from_mw"], - 0.01, element=line_ix, side="from") - pp.create_measurement(net, "q", "line", net.res_line.at[line_ix, "q_from_mvar"], - 0.01, element=line_ix, side="from") - - for bus_ix in net.bus.index: - pp.create_measurement(net, "v", "bus", net.res_bus.at[bus_ix, "vm_pu"], - 0.01, element=bus_ix) - - if not estimate(net, tolerance=1e-6, zero_injection=None): - raise AssertionError("Estimation failed!") - - -def r(v=0.03): - return np.random.normal(1.0, v) - - -def r2(base, v): - return np.random.normal(base, v) - - -def _compare_pf_and_se_results(net): - pp.runpp(net, calculate_voltage_angles=True, trafo_model="t") - assert (np.allclose(net.res_bus_est.p_mw.values, net.res_bus.p_mw.values, 1e-6)) - assert (np.allclose(net.res_bus_est.q_mvar.values, net.res_bus.q_mvar.values, 1e-6)) - assert (np.allclose(net.res_line_est.p_from_mw.values, net.res_line.p_from_mw.values, 1e-6)) - assert (np.allclose(net.res_line_est.q_from_mvar.values, net.res_line.q_from_mvar.values, 1e-6)) - assert (np.allclose(net.res_line_est.p_to_mw.values, net.res_line.p_to_mw.values, 1e-6)) - assert (np.allclose(net.res_line_est.q_to_mvar.values, net.res_line.q_to_mvar.values, 1e-6)) - assert (np.allclose(net.res_trafo_est.p_lv_mw.values, net.res_trafo.p_lv_mw.values, 1e-6)) - assert (np.allclose(net.res_trafo_est.q_lv_mvar.values, net.res_trafo.q_lv_mvar.values, 1e-6)) - assert (np.allclose(net.res_trafo_est.p_hv_mw.values, net.res_trafo.p_hv_mw.values, 1e-6)) - assert (np.allclose(net.res_trafo_est.q_hv_mvar.values, net.res_trafo.q_hv_mvar.values, 1e-6)) - - -if __name__ == '__main__': - pytest.main([__file__, "-xs"]) +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import os + +import numpy as np +import pytest + +import pandapower as pp +import pandapower.networks as nw +from pandapower.estimation import chi2_analysis, remove_bad_data, estimate +from copy import deepcopy + + +def test_2bus(): + # 1. Create network + net = pp.create_empty_network() + pp.create_bus(net, name="bus1", vn_kv=1.) + pp.create_bus(net, name="bus2", vn_kv=1.) + pp.create_ext_grid(net, 0) + pp.create_line_from_parameters(net, 0, 1, 1, r_ohm_per_km=1, x_ohm_per_km=0.5, + c_nf_per_km=0, max_i_ka=1) + + pp.create_measurement(net, "p", "line", 0.0111, 0.05, 0, 0) # p12 + pp.create_measurement(net, "q", "line", 0.06, 0.05, 0, 0) # q12 + + pp.create_measurement(net, "v", "bus", 1.019, 0.01, 0) # u1 + pp.create_measurement(net, "v", "bus", 1.04, 0.01, 1) # u2 + + # 2. Do state estimation + if not estimate(net, init='flat'): + raise AssertionError("Estimation failed!") + + v_result = net.res_bus_est.vm_pu.values + delta_result = net.res_bus_est.va_degree.values + + target_v = np.array([[1.02083378, 1.03812899]]) + diff_v = target_v - v_result + target_delta = np.array([[0.0, 3.11356604]]) + diff_delta = target_delta - delta_result + + if not (np.nanmax(abs(diff_v)) < 1e-6) or\ + not (np.nanmax(abs(diff_delta)) < 1e-6): + raise AssertionError("Estimation failed!") + + +def test_3bus(): + # 1. Create network + net = pp.create_empty_network() + pp.create_bus(net, name="bus1", vn_kv=1.) + pp.create_bus(net, name="bus2", vn_kv=1.) + pp.create_bus(net, name="bus3", vn_kv=1.) + pp.create_ext_grid(net, 0) + pp.create_line_from_parameters(net, 0, 1, 1, r_ohm_per_km=0.7, x_ohm_per_km=0.2, c_nf_per_km=0, + max_i_ka=1) + pp.create_line_from_parameters(net, 0, 2, 1, r_ohm_per_km=0.8, x_ohm_per_km=0.8, c_nf_per_km=0, + max_i_ka=1) + pp.create_line_from_parameters(net, 1, 2, 1, r_ohm_per_km=1, x_ohm_per_km=0.6, c_nf_per_km=0, + max_i_ka=1) + + pp.create_measurement(net, "p", "line", -0.0011, 0.01, 0, 0) # p12 + pp.create_measurement(net, "q", "line", 0.024, 0.01, 0, 0) # q12 + + pp.create_measurement(net, "p", "bus", -0.018, 0.01, 2) # p3 + pp.create_measurement(net, "q", "bus", 0.1, 0.01, 2) # q3 + + pp.create_measurement(net, "v", "bus", 1.08, 0.05, 0) # u1 + pp.create_measurement(net, "v", "bus", 1.015, 0.05, 2) # u3 + + # 2. Do state estimation + if not estimate(net, init='flat'): + raise AssertionError("Estimation failed!") + v_result = net.res_bus_est.vm_pu.values + delta_result = net.res_bus_est.va_degree.values + + target_v = np.array([1.0627, 1.0589, 1.0317]) + diff_v = target_v - v_result + target_delta = np.array([0., 0.8677, 3.1381]) + diff_delta = target_delta - delta_result + + if not (np.nanmax(abs(diff_v)) < 1e-4) or\ + not (np.nanmax(abs(diff_delta)) < 1e-4): + raise AssertionError("Estimation failed!") + + # Backwards check. Use state estimation results for power flow and check for equality + net.ext_grid.vm_pu = net.res_bus_est.vm_pu.iloc[0] + pp.create_load(net, 0, net.res_bus_est.p_mw.iloc[0], net.res_bus_est.q_mvar.iloc[0]) + pp.create_load(net, 1, net.res_bus_est.p_mw.iloc[1], net.res_bus_est.q_mvar.iloc[1]) + pp.create_load(net, 2, net.res_bus_est.p_mw.iloc[2], net.res_bus_est.q_mvar.iloc[2]) + _compare_pf_and_se_results(net) + + +def test_3bus_with_bad_data(): + net = pp.create_empty_network() + pp.create_bus(net, name="bus1", vn_kv=1.) + pp.create_bus(net, name="bus2", vn_kv=1.) + pp.create_bus(net, name="bus3", vn_kv=1.) + pp.create_ext_grid(net, 0) + pp.create_line_from_parameters(net, 0, 1, 1, r_ohm_per_km=0.7, x_ohm_per_km=0.2, c_nf_per_km=0, + max_i_ka=1) + pp.create_line_from_parameters(net, 0, 2, 1, r_ohm_per_km=0.8, x_ohm_per_km=0.8, c_nf_per_km=0, + max_i_ka=1) + pp.create_line_from_parameters(net, 1, 2, 1, r_ohm_per_km=1, x_ohm_per_km=0.6, c_nf_per_km=0, + max_i_ka=1) + + pp.create_measurement(net, "p", "line", -0.0011, 0.01, 0, 0) # p12 + pp.create_measurement(net, "q", "line", 0.024, 0.01, 0, 0) # q12 + + pp.create_measurement(net, "p", "bus", -0.018, 0.01, 2) # p3 + pp.create_measurement(net, "q", "bus", 0.1, 0.01, 2) # q3 + + pp.create_measurement(net, "v", "bus", 1.08, 0.05, 0) # u1 + pp.create_measurement(net, "v", "bus", 1.015, 0.05, 2) # u3 + + # 0. Do chi2-test for corret data + assert not chi2_analysis(net, init='flat') + + # 1. Create false voltage measurement for testing bad data detection (-> should be removed) + pp.create_measurement(net, "v", "bus", 1.3, 0.01, 1) # V at bus 2 + + # 2. Do chi2-test + bad_data_detected = chi2_analysis(net, init='flat') + + # 3. Perform rn_max_test + success_rn_max = remove_bad_data(net, init='flat') + v_est_rn_max = net.res_bus_est.vm_pu.values + delta_est_rn_max = net.res_bus_est.va_degree.values + + target_v = np.array([1.0627, 1.0589, 1.0317]) + diff_v = target_v - v_est_rn_max + target_delta = np.array([0., 0.8677, 3.1381]) + diff_delta = target_delta - delta_est_rn_max + + assert bad_data_detected + assert success_rn_max + if not (np.nanmax(abs(diff_v)) < 1e-4) or\ + not (np.nanmax(abs(diff_delta)) < 1e-4): + raise AssertionError("Estimation failed!") + + +def test_3bus_with_out_of_service_bus(): + # Test case from book "Power System State Estimation", A. Abur, A. G. Exposito, p. 20ff. + # S_ref = 1 MVA (PP standard) + # V_ref = 1 kV + # Z_ref = 1 Ohm + + # The example only had per unit values, but pandapower expects kV, MVA, kW, kVar + # Measurements should be in kW/kVar/A - Voltage in p.u. + + # 1. Create network + net = pp.create_empty_network() + pp.create_bus(net, name="bus1", vn_kv=1.) + pp.create_bus(net, name="bus2", vn_kv=1.) + pp.create_bus(net, name="bus3", vn_kv=1.) + pp.create_bus(net, name="bus4", vn_kv=1., in_service=0) # out-of-service bus test + pp.create_ext_grid(net, 0) + pp.create_line_from_parameters(net, 0, 1, 1, r_ohm_per_km=.01, x_ohm_per_km=.03, c_nf_per_km=0., + max_i_ka=1) + pp.create_line_from_parameters(net, 0, 2, 1, r_ohm_per_km=.02, x_ohm_per_km=.05, c_nf_per_km=0., + max_i_ka=1) + pp.create_line_from_parameters(net, 1, 2, 1, r_ohm_per_km=.03, x_ohm_per_km=.08, c_nf_per_km=0., + max_i_ka=1) + + pp.create_measurement(net, "v", "bus", 1.006, .004, 0) # V at bus 1 + pp.create_measurement(net, "v", "bus", .968, .004, 1) # V at bus 2 + + pp.create_measurement(net, "p", "bus", .501, .010, 1) # P at bus 2 + pp.create_measurement(net, "q", "bus", .286, .010, 1) # Q at bus 2 + + pp.create_measurement(net, "p", "line", .888, .008, 0, 0) # Pline (bus 1 -> bus 2) at bus 1 + pp.create_measurement(net, "p", "line", 1.173, .008, 1, 0) # Pline (bus 1 -> bus 3) at bus 1 + pp.create_measurement(net, "q", "line", .568, .008, 0, 0) # Qline (bus 1 -> bus 2) at bus 1 + pp.create_measurement(net, "q", "line", .663, .008, 1, 0) # Qline (bus 1 -> bus 3) at bus 1 + + # 2. Do state estimation + if not estimate(net, init='flat'): + raise AssertionError("Estimation failed!") + + v_result = net.res_bus_est.vm_pu.values + delta_result = net.res_bus_est.va_degree.values + + target_v = np.array([[0.9996, 0.9741, 0.9438, np.nan]]) + diff_v = target_v - v_result + target_delta = np.array([[0., -1.2475, -2.7457, np.nan]]) + diff_delta = target_delta - delta_result + + if not (np.nanmax(abs(diff_v)) < 1e-4) or\ + not (np.nanmax(abs(diff_delta)) < 1e-4): + raise AssertionError("Estimation failed!") + + +def test_3bus_with_transformer(): + np.random.seed(12) + + # 1. Create network + net = pp.create_empty_network() + pp.create_bus(net, name="bus1", vn_kv=10.) + pp.create_bus(net, name="bus2", vn_kv=10.) + pp.create_bus(net, name="bus3", vn_kv=10.) + pp.create_bus(net, name="bus4", vn_kv=110.) + pp.create_ext_grid(net, bus=3, vm_pu=1.01) + pp.create_line_from_parameters(net, 0, 1, 1, r_ohm_per_km=.01, x_ohm_per_km=.03, c_nf_per_km=0., + max_i_ka=1) + pp.create_line_from_parameters(net, 0, 2, 1, r_ohm_per_km=.02, x_ohm_per_km=.05, c_nf_per_km=0., + max_i_ka=1) + pp.create_line_from_parameters(net, 1, 2, 1, r_ohm_per_km=.03, x_ohm_per_km=.08, c_nf_per_km=0., + max_i_ka=1) + + pp.create_std_type(net, {"sn_mva": 25, "vn_hv_kv": 110, "vn_lv_kv": 10, "vk_percent": 10.04, + "vkr_percent": 0.276, "pfe_kw": 28.51, "i0_percent": 0.073, "shift_degree": 150, + "tap_side": "hv", "tap_neutral": 0, "tap_min": -9, "tap_max": 9, "tap_step_degree": 0, + "tap_step_percent": 1.5, "tap_phase_shifter": False}, + "25 MVA 110/10 kV v1.4.3 and older", element="trafo") + pp.create_transformer(net, 3, 0, std_type="25 MVA 110/10 kV v1.4.3 and older") + + pp.create_load(net, bus=1, p_mw=0.45, q_mvar=0.3) + pp.create_load(net, bus=2, p_mw=0.35, q_mvar=0.2) + + pp.runpp(net, calculate_voltage_angles=True) + + pp.create_measurement(net, "v", "bus", r2(net.res_bus.vm_pu.iloc[0], .004), .004, element=0) + pp.create_measurement(net, "v", "bus", r2(net.res_bus.vm_pu.iloc[1], .004), .004, element=1) + pp.create_measurement(net, "v", "bus", r2(net.res_bus.vm_pu.iloc[3], .004), .004, element=3) + + pp.create_measurement(net, "p", "bus", r2(net.res_bus.p_mw.iloc[1], .01), .01, element=1) + pp.create_measurement(net, "q", "bus", r2(net.res_bus.q_mvar.iloc[1], .01), .01, element=1) + + pp.create_measurement(net, "p", "bus", r2(net.res_bus.p_mw.iloc[2], .01), .010, element=2) + pp.create_measurement(net, "q", "bus", r2(net.res_bus.q_mvar.iloc[2], .01), .01, element=2) + + pp.create_measurement(net, "p", "bus", 0., 0.001, element=0) + pp.create_measurement(net, "q", "bus", 0., 0.001, element=0) + + pp.create_measurement(net, "p", "line", r2(net.res_line.p_from_mw.iloc[0], .008), .008, 0, 0) + pp.create_measurement(net, "p", "line", r2(net.res_line.p_from_mw.iloc[1], .008), .008, 1, 0) + + pp.create_measurement(net, "p", "trafo", r2(net.res_trafo.p_hv_mw.iloc[0], .01), .01, + side="hv", element=0) # transformer meas. + pp.create_measurement(net, "q", "trafo", r2(net.res_trafo.q_hv_mvar.iloc[0], .01), .01, + side=3, element=0) # at hv side + + # 2. Do state estimation + if not estimate(net, init='slack', tolerance=1e-6, + maximum_iterations=10, calculate_voltage_angles=True): + raise AssertionError("Estimation failed!") + v_result = net.res_bus_est.vm_pu.values + delta_result = net.res_bus_est.va_degree.values + + diff_v = net.res_bus.vm_pu.values - v_result + diff_delta = net.res_bus.va_degree.values - delta_result + + if not (np.nanmax(abs(diff_v)) < 6e-4) or\ + not (np.nanmax(abs(diff_delta)) < 8e-4): + raise AssertionError("Estimation failed!") + + # Backwards check. Use state estimation results for power flow and check for equality + net.load.drop(net.load.index, inplace=True) + net.ext_grid.vm_pu = net.res_bus_est.vm_pu.iloc[net.ext_grid.bus.iloc[0]] + pp.create_load(net, 0, net.res_bus_est.p_mw.iloc[0], net.res_bus_est.q_mvar.iloc[0]) + pp.create_load(net, 1, net.res_bus_est.p_mw.iloc[1], net.res_bus_est.q_mvar.iloc[1]) + pp.create_load(net, 2, net.res_bus_est.p_mw.iloc[2], net.res_bus_est.q_mvar.iloc[2]) + + _compare_pf_and_se_results(net) + + +def test_3bus_with_2_slacks(): + # load the net which already contains 3 buses + net = load_3bus_network() + # add the same net with different slack (no galvanic connection) + # skip bus index 4 as further stability test + pp.create_bus(net, name="bus5", vn_kv=1., index=5) + pp.create_bus(net, name="bus6", vn_kv=1., index=6) + pp.create_bus(net, name="bus7", vn_kv=1., index=7) + pp.create_ext_grid(net, 5) + pp.create_line_from_parameters(net, 5, 6, 1, r_ohm_per_km=.01, x_ohm_per_km=.03, c_nf_per_km=0., + max_i_ka=1) + pp.create_line_from_parameters(net, 5, 7, 1, r_ohm_per_km=.02, x_ohm_per_km=.05, c_nf_per_km=0., + max_i_ka=1) + pp.create_line_from_parameters(net, 6, 7, 1, r_ohm_per_km=.03, x_ohm_per_km=.08, c_nf_per_km=0., + max_i_ka=1) + + pp.create_measurement(net, "v", "bus", 1.006, .004, element=5) # V at bus 5 + pp.create_measurement(net, "v", "bus", .968, .004, element=6) # V at bus 6 + + pp.create_measurement(net, "p", "bus", .501, .010, element=6) # P at bus 6 + pp.create_measurement(net, "q", "bus", .286, .010, element=6) # Q at bus 6 + + pp.create_measurement(net, "p", "line", .888, .008, 3, 5) # Pline (bus 5 -> bus 6) at bus 5 + pp.create_measurement(net, "p", "line", 1.173, .008, 4, 5) # Pline (bus 5 -> bus 7) at bus 5 + pp.create_measurement(net, "q", "line", .568, .008, 3, 5) # Qline (bus 5 -> bus 6) at bus 5 + pp.create_measurement(net, "q", "line", .663, .008, 4, 5) # Qline (bus 5 -> bus 7) at bus 5 + + # 2. Do state estimation + if not estimate(net, init='flat', maximum_iterations=10): + raise AssertionError("Estimation failed!") + v_result = net.res_bus_est.vm_pu.values + delta_result = net.res_bus_est.va_degree.values + + target_v = np.array([0.9996, 0.9741, 0.9438, np.nan, 0.9996, 0.9741, 0.9438]) + target_delta = np.array([0.0, -1.2475469989322963, -2.7457167371166862, np.nan, 0.0, + -1.2475469989322963, -2.7457167371166862]) + + if not np.allclose(v_result, target_v, atol=1e-4, equal_nan=True) or\ + not np.allclose(delta_result, target_delta, atol=1e-4, equal_nan=True): + raise AssertionError("Estimation failed!") + + +def test_3bus_with_i_line_measurements(): + np.random.seed(1) + net = load_3bus_network() + net.measurement.drop(net.measurement.index, inplace=True) + pp.create_load(net, 1, p_mw=0.495974966, q_mvar=0.297749528) + pp.create_load(net, 2, p_mw=1.514220983, q_mvar=0.787528929) + pp.runpp(net) + pp.create_measurement(net, "v", "bus", net.res_bus.vm_pu[0] * r(0.01), 0.01, 0) + pp.create_measurement(net, "v", "bus", net.res_bus.vm_pu[2] * r(0.01), 0.01, 1) + pp.create_measurement(net, "p", "bus", net.res_bus.p_mw[0] * r(), + max(1.0e-3, abs(0.03 * net.res_bus.p_mw[0])), 0) + pp.create_measurement(net, "q", "bus", net.res_bus.q_mvar[0] * r(), + max(1.0e-3, abs(0.03 * net.res_bus.q_mvar[0])), 0) + pp.create_measurement(net, "p", "bus", net.res_bus.p_mw[2] * r(), + max(1.0e-3, abs(0.03 * net.res_bus.p_mw[2])), 2) + pp.create_measurement(net, "q", "bus", net.res_bus.q_mvar[2] * r(), + max(1.0e-3, abs(0.03 * net.res_bus.q_mvar[2])), 2) + pp.create_measurement(net, "p", "line", net.res_line.p_from_mw[0] * r(), + max(1.0e-3, abs(0.03 * net.res_line.p_from_mw[0])), element=0, side=0) + pp.create_measurement(net, "q", "line", net.res_line.q_from_mvar[0] * r(), + max(1.0e-3, abs(0.03 * net.res_line.q_from_mvar[0])), element=0, side=0) + pp.create_measurement(net, "i", "line", net.res_line.i_from_ka[0] * 1e3 * r(), + max(1.0, abs(30 * net.res_line.i_from_ka[0])), element=0, side=0) + pp.create_measurement(net, "i", "line", net.res_line.i_from_ka[1] * 1e3 * r(), + max(1.0, abs(30 * net.res_line.i_from_ka[1])), element=1, side=0) + + if not estimate(net, init='flat'): + raise AssertionError("Estimation failed!") + + assert (np.nanmax(abs(net.res_bus_est.vm_pu.values - net.res_bus.vm_pu.values)) < 0.045) + assert (np.nanmax(abs(net.res_bus_est.va_degree.values - net.res_bus.va_degree.values)) < 0.9) + + +def test_3bus_with_pq_line_from_to_measurements(): + np.random.seed(2017) + net = load_3bus_network() + net.measurement.drop(net.measurement.index, inplace=True) + pp.create_load(net, 1, p_mw=0.495974966, q_mvar=0.297749528) + pp.create_load(net, 2, p_mw=1.514220983, q_mvar=0.787528929) + pp.runpp(net) + pp.create_measurement(net, "v", "bus", net.res_bus.vm_pu[0] * r(0.01), 0.01, 0) + pp.create_measurement(net, "v", "bus", net.res_bus.vm_pu[2] * r(0.01), 0.01, 1) + pp.create_measurement(net, "p", "bus", net.res_bus.p_mw[0] * r(), + max(1.0e-3, abs(0.03 * net.res_bus.p_mw[0])), 0) + pp.create_measurement(net, "q", "bus", net.res_bus.q_mvar[0] * r(), + max(1.0e-3, abs(0.03 * net.res_bus.q_mvar[0])), 0) + pp.create_measurement(net, "p", "bus", net.res_bus.p_mw[2] * r(), + max(1.0e-3, abs(0.03 * net.res_bus.p_mw[2])), 2) + pp.create_measurement(net, "q", "bus", net.res_bus.q_mvar[2] * r(), + max(1.0e-3, abs(0.03 * net.res_bus.q_mvar[2])), 2) + pp.create_measurement(net, "p", "line", net.res_line.p_from_mw[0] * r(), + max(1.0e-3, abs(0.03 * net.res_line.p_from_mw[0])), element=0, side=0) + pp.create_measurement(net, "q", "line", net.res_line.q_from_mvar[0] * r(), + max(1.0e-3, abs(0.03 * net.res_line.q_from_mvar[0])), element=0, side=0) + pp.create_measurement(net, "p", "line", net.res_line.p_to_mw[0] * r(), + max(1.0e-3, abs(0.03 * net.res_line.p_to_mw[0])), element=0, side=1) + pp.create_measurement(net, "q", "line", net.res_line.q_to_mvar[0] * r(), + max(1.0e-3, abs(0.03 * net.res_line.q_to_mvar[0])), element=0, side=1) + + if not estimate(net, init='flat'): + raise AssertionError("Estimation failed!") + + assert (np.nanmax(abs(net.res_bus_est.vm_pu.values - net.res_bus.vm_pu.values)) < 0.023) + assert (np.nanmax(abs(net.res_bus_est.va_degree.values - net.res_bus.va_degree.values)) < 0.12) + + +def test_3bus_with_side_names(): + np.random.seed(2017) + net = load_3bus_network() + net.measurement.drop(net.measurement.index, inplace=True) + pp.create_load(net, 1, p_mw=0.495974966, q_mvar=0.297749528) + pp.create_load(net, 2, p_mw=1.514220983, q_mvar=0.787528929) + pp.runpp(net) + pp.create_measurement(net, "v", "bus", net.res_bus.vm_pu[0] * r(0.01), 0.01, 0) + pp.create_measurement(net, "v", "bus", net.res_bus.vm_pu[2] * r(0.01), 0.01, 1) + pp.create_measurement(net, "p", "bus", net.res_bus.p_mw[0] * r(), + max(1.0e-3, abs(0.03 * net.res_bus.p_mw[0])), 0) + pp.create_measurement(net, "q", "bus", net.res_bus.q_mvar[0] * r(), + max(1.0e-3, abs(0.03 * net.res_bus.q_mvar[0])), 0) + pp.create_measurement(net, "p", "bus", net.res_bus.p_mw[2] * r(), + max(1.0e-3, abs(0.03 * net.res_bus.p_mw[2])), 2) + pp.create_measurement(net, "q", "bus", net.res_bus.q_mvar[2] * r(), + max(1.0e-3, abs(0.03 * net.res_bus.q_mvar[2])), 2) + pp.create_measurement(net, "p", "line", net.res_line.p_from_mw[0] * r(), + max(1.0e-3, abs(0.03 * net.res_line.p_from_mw[0])), element=0, side="from") + pp.create_measurement(net, "q", "line", net.res_line.q_from_mvar[0] * r(), + max(1.0e-3, abs(0.03 * net.res_line.q_from_mvar[0])), element=0, side="from") + pp.create_measurement(net, "p", "line", net.res_line.p_to_mw[0] * r(), + max(1.0e-3, abs(0.03 * net.res_line.p_to_mw[0])), element=0, side="to") + pp.create_measurement(net, "q", "line", net.res_line.q_to_mvar[0] * r(), + max(1.0e-3, abs(0.03 * net.res_line.q_to_mvar[0])), element=0, side="to") + + if not estimate(net, init='flat'): + raise AssertionError("Estimation failed!") + + assert (np.nanmax(abs(net.res_bus_est.vm_pu.values - net.res_bus.vm_pu.values)) < 0.023) + assert (np.nanmax(abs(net.res_bus_est.va_degree.values - net.res_bus.va_degree.values)) < 0.12) + + +def test_cigre_network(init='flat'): + # 1. create network + # test the mv ring network with all available voltage measurements and bus powers + # test if switches and transformer will work correctly with the state estimation + np.random.seed(123456) + net = nw.create_cigre_network_mv(with_der=False) + pp.runpp(net) + + for bus, row in net.res_bus.iterrows(): + pp.create_measurement(net, "v", "bus", row.vm_pu * r(0.01), 0.01, bus) + # if np.random.randint(0, 4) == 0: + # continue + pp.create_measurement(net, "p", "bus", row.p_mw * r(), max(0.001, abs(0.03 * row.p_mw)), + bus) + pp.create_measurement(net, "q", "bus", row.q_mvar * r(), max(0.001, abs(0.03 * row.q_mvar)), + bus) + + # 2. Do state estimation + if not estimate(net, init="flat", calculate_voltage_angles=False): + raise AssertionError("Estimation failed!") + + v_result = net.res_bus_est.vm_pu.values + delta_result = net.res_bus_est.va_degree.values + + target_v = net.res_bus.vm_pu.values + diff_v = target_v - v_result + target_delta = net.res_bus.va_degree.values + diff_delta = target_delta - delta_result + + assert (np.nanmax(abs(diff_v)) < 0.0043) + assert (np.nanmax(abs(diff_delta)) < 0.17) + + +def test_cigre_network_with_slack_init(): + test_cigre_network(init='slack') + + +def test_cigre_with_bad_data(): + np.random.seed(123456) + net = nw.create_cigre_network_mv(with_der=False) + net.load.q_mvar = net.load["p_mw"].apply(lambda p: p * np.tan(np.arccos(np.random.choice([0.95, 0.9, 0.97])))) + pp.runpp(net) + + for bus, row in net.res_bus.iterrows(): + if bus == 2: + continue + if bus != 6: + pp.create_measurement(net, "v", "bus", row.vm_pu * r(0.01), 0.01, bus) # skip our bad data measurement + pp.create_measurement(net, "p", "bus", row.p_mw * r(), max(0.001, abs(0.03 * row.p_mw)), bus) + pp.create_measurement(net, "q", "bus", row.q_mvar * r(), max(0.001, abs(0.03 * row.q_mvar)), bus) + + # 2. Do state estimation + success_SE = estimate(net, init='slack') + v_est_SE = net.res_bus_est.vm_pu.values + delta_SE = net.res_bus_est.va_degree.values + + # 3. Create false measurement (very close to useful values) + pp.create_measurement(net, "v", "bus", 0.85, 0.01, element=6) + + # 4. Do chi2-test + bad_data_detected = chi2_analysis(net, init='slack') + + # 5. Perform rn_max_test + success_rn_max = remove_bad_data(net, init='slack') + v_est_rn_max = net.res_bus_est.vm_pu.values + delta_est_rn_max = net.res_bus_est.va_degree.values + + diff_v = v_est_SE - v_est_rn_max + diff_delta = delta_SE - delta_est_rn_max + + assert success_SE + assert bad_data_detected + assert success_rn_max + assert (np.nanmax(abs(diff_v)) < 1e-8) + assert (np.nanmax(abs(diff_delta)) < 1e-8) + + +def test_init_slack_with_multiple_transformers(angles=True): + np.random.seed(123) + net = pp.create_empty_network() + pp.create_bus(net, 220, index=0) + pp.create_bus(net, 110, index=1) + pp.create_bus(net, 110, index=2) + pp.create_bus(net, 110, index=3) + pp.create_bus(net, 10, index=4) + pp.create_bus(net, 10, index=5) + pp.create_bus(net, 10, index=6) + pp.create_bus(net, 10, index=7, in_service=False) + pp.create_std_type(net, {"sn_mva": 63, "vn_hv_kv": 110, "vn_lv_kv": 10, "vk_percent": 10.04, + "vkr_percent": 0.31, "pfe_kw": 31.51, "i0_percent": 0.078, "shift_degree": 150, + "tap_side": "hv", "tap_neutral": 0, "tap_min": -9, "tap_max": 9, "tap_step_degree": 0, + "tap_step_percent": 1.5, "tap_phase_shifter": False}, + "63 MVA 110/10 kV v1.4.3 and older", element="trafo") + + pp.create_transformer(net, 3, 7, std_type="63 MVA 110/10 kV v1.4.3 and older", in_service=False) + pp.create_transformer(net, 3, 4, std_type="63 MVA 110/10 kV v1.4.3 and older") + pp.create_transformer(net, 0, 1, std_type="100 MVA 220/110 kV") + pp.create_line(net, 1, 2, 2.0, std_type="N2XS(FL)2Y 1x120 RM/35 64/110 kV") + pp.create_line(net, 1, 3, 2.0, std_type="N2XS(FL)2Y 1x120 RM/35 64/110 kV") + pp.create_line(net, 4, 5, 2.0, std_type="NA2XS2Y 1x95 RM/25 12/20 kV") + pp.create_line(net, 5, 6, 2.0, std_type="NA2XS2Y 1x95 RM/25 12/20 kV") + pp.create_load(net, 2, p_mw=5, q_mvar=3.3) + pp.create_load(net, 5, p_mw=0.9, q_mvar=0.5) + pp.create_load(net, bus=6, p_mw=0.7, q_mvar=0.3) + pp.create_ext_grid(net, bus=0, vm_pu=1.04, va_degree=10., name="Slack 220 kV") + pp.runpp(net, calculate_voltage_angles=angles) + for bus, row in net.res_bus[net.bus.in_service == True].iterrows(): + pp.create_measurement(net, "v", "bus", row.vm_pu * r(0.01), 0.01, bus) + if row.p_mw != 0.: + continue + pp.create_measurement(net, "p", "bus", row.p_mw * r(), max(0.001, abs(0.03 * row.p_mw)), + bus) + pp.create_measurement(net, "q", "bus", row.q_mvar * r(), max(.0001, abs(0.03 * row.q_mvar)), + bus) + pp.create_measurement(net, "p", "line", net.res_line.p_from_mw[0], .01, side=1, element=0) + pp.create_measurement(net, "q", "line", net.res_line.q_from_mvar[0], 0.01, side=1, element=0) + pp.create_measurement(net, "p", "line", net.res_line.p_from_mw[2], .01, side=4, element=2) + pp.create_measurement(net, "q", "line", net.res_line.q_from_mvar[2], .01, side=4, element=2) + pp.create_measurement(net, "p", "line", net.res_line.p_from_mw[3], .01, side=5, element=3) + pp.create_measurement(net, "q", "line", net.res_line.q_from_mvar[3], 0.01, side=5, element=3) + success = estimate(net, init='slack', calculate_voltage_angles=angles, tolerance=1e-9) + + # pretty high error for vm_pu (half percent!) + assert success + assert (np.nanmax(np.abs(net.res_bus.vm_pu.values - net.res_bus_est.vm_pu.values)) < 0.006) + assert (np.nanmax(np.abs(net.res_bus.va_degree.values- net.res_bus_est.va_degree.values)) < 0.006) + + +def test_init_slack_with_multiple_transformers_angles_off(): + test_init_slack_with_multiple_transformers(False) + + +def test_check_existing_measurements(): + np.random.seed(2017) + net = pp.create_empty_network() + pp.create_bus(net, 10.) + pp.create_bus(net, 10.) + pp.create_line(net, 0, 1, 0.5, std_type="149-AL1/24-ST1A 10.0") + m1 = pp.create_measurement(net, "v", "bus", 1.006, .004, 0) + m2 = pp.create_measurement(net, "v", "bus", 1.006, .004, 0) + + assert m1 == m2 + assert len(net.measurement) == 1 + m3 = pp.create_measurement(net, "v", "bus", 1.006, .004, 0, check_existing=False) + assert m3 != m2 + assert len(net.measurement) == 2 + + m4 = pp.create_measurement(net, "p", "line", -0.0011, 0.01, side=0, element=0, + check_existing=True) + m5 = pp.create_measurement(net, "p", "line", -0.0011, 0.01, side=0, element=0, + check_existing=True) + assert m4 == m5 + + m6 = pp.create_measurement(net, "p", "line", -0.0011, 0.01, side=0, element=0, + check_existing=False) + assert m5 != m6 + + +def load_3bus_network(): + return pp.from_json(os.path.join(pp.pp_dir, "test", "estimation", "3bus_wls.json")) + +def test_network_with_trafo3w_pq(): + net = pp.create_empty_network() + + bus_slack = pp.create_bus(net, vn_kv=110) + pp.create_ext_grid(net, bus=bus_slack) + + bus_20_1 = pp.create_bus(net, vn_kv=20,name="b") + pp.create_sgen(net, bus=bus_20_1, p_mw=0.03, q_mvar=0.02) + + bus_10_1 = pp.create_bus(net, vn_kv=10) + pp.create_sgen(net, bus=bus_10_1, p_mw=0.02, q_mvar=0.02) + + bus_10_2 = pp.create_bus(net, vn_kv=10) + pp.create_load(net, bus=bus_10_2, p_mw=0.06, q_mvar=0.01) + pp.create_line(net, from_bus=bus_10_1, to_bus=bus_10_2, std_type="149-AL1/24-ST1A 10.0", length_km=2) + + pp.create_transformer3w(net, bus_slack, bus_20_1, bus_10_1, std_type="63/25/38 MVA 110/20/10 kV") + + pp.runpp(net) + + pp.create_measurement(net, "p", "line", net.res_line.p_from_mw[0], 0.001, 0, 'from') + pp.create_measurement(net, "q", "line", net.res_line.q_from_mvar[0], 0.001, 0, 'from') + pp.create_measurement(net, "p", "line", net.res_line.p_to_mw[0], 0.001, 0, 'to') + pp.create_measurement(net, "q", "line", net.res_line.q_to_mvar[0], 0.001, 0, 'to') + + pp.create_measurement(net, "p", "trafo3w", net.res_trafo3w.p_hv_mw[0], 0.001, 0, 'hv') + pp.create_measurement(net, "q", "trafo3w", net.res_trafo3w.q_hv_mvar[0], 0.001, 0, 'hv') + pp.create_measurement(net, "p", "trafo3w", net.res_trafo3w.p_mv_mw[0], 0.002, 0, 'mv') + pp.create_measurement(net, "q", "trafo3w", net.res_trafo3w.q_mv_mvar[0], 0.002, 0, 'mv') + pp.create_measurement(net, "p", "trafo3w", net.res_trafo3w.p_lv_mw[0], 0.001, 0, 'lv') + pp.create_measurement(net, "q", "trafo3w", net.res_trafo3w.q_lv_mvar[0], 0.001, 0, 'lv') + + pp.create_measurement(net, "v", "bus", net.res_bus.vm_pu[0], 0.01, 0) + pp.create_measurement(net, "v", "bus", net.res_bus.vm_pu[1], 0.01, 1) + + if not estimate(net): + raise AssertionError("Estimation failed!") + + if not (np.nanmax(np.abs(net.res_bus.vm_pu.values - net.res_bus_est.vm_pu.values)) < 0.006) or\ + not (np.nanmax(np.abs(net.res_bus.va_degree.values- net.res_bus_est.va_degree.values)) < 0.006): + raise AssertionError("Estimation failed") + + #Try estimate with results initialization + if not estimate(net, init="results"): + raise AssertionError("Estimation failed!") + + +def test_network_with_trafo3w_with_disabled_branch(): + net = pp.create_empty_network() + + bus_slack = pp.create_bus(net, vn_kv=110) + pp.create_ext_grid(net, bus=bus_slack) + + bus_20_1 = pp.create_bus(net, vn_kv=20,name="b") + pp.create_sgen(net, bus=bus_20_1, p_mw=0.03, q_mvar=0.02) + + bus_10_1 = pp.create_bus(net, vn_kv=10) + pp.create_sgen(net, bus=bus_10_1, p_mw=0.02, q_mvar=0.02) + + bus_10_2 = pp.create_bus(net, vn_kv=10) + pp.create_load(net, bus=bus_10_2, p_mw=0.06, q_mvar=0.01) + pp.create_line(net, from_bus=bus_10_1, to_bus=bus_10_2, std_type="149-AL1/24-ST1A 10.0", length_km=2) + disabled_line = pp.create_line(net, from_bus=bus_10_1, to_bus=bus_10_2, std_type="149-AL1/24-ST1A 10.0", length_km=2) + net.line.at[disabled_line, 'in_service'] = False + + pp.create_transformer3w(net, bus_slack, bus_20_1, bus_10_1, std_type="63/25/38 MVA 110/20/10 kV") + + pp.runpp(net) + + pp.create_measurement(net, "p", "line", net.res_line.p_from_mw[0], 0.001, 0, 'from') + pp.create_measurement(net, "q", "line", net.res_line.q_from_mvar[0], 0.001, 0, 'from') + pp.create_measurement(net, "p", "line", net.res_line.p_to_mw[0], 0.001, 0, 'to') + pp.create_measurement(net, "q", "line", net.res_line.q_to_mvar[0], 0.001, 0, 'to') + pp.create_measurement(net, "p", "line", net.res_line.p_to_mw[1], 0.001, 1, 'to') + pp.create_measurement(net, "q", "line", net.res_line.q_to_mvar[1], 0.001, 1, 'to') + + pp.create_measurement(net, "p", "trafo3w", net.res_trafo3w.p_hv_mw[0], 0.001, 0, 'hv') + pp.create_measurement(net, "q", "trafo3w", net.res_trafo3w.q_hv_mvar[0], 0.001, 0, 'hv') + pp.create_measurement(net, "p", "trafo3w", net.res_trafo3w.p_mv_mw[0], 0.002, 0, 'mv') + pp.create_measurement(net, "q", "trafo3w", net.res_trafo3w.q_mv_mvar[0], 0.002, 0, 'mv') + pp.create_measurement(net, "p", "trafo3w", net.res_trafo3w.p_lv_mw[0], 0.001, 0, 'lv') + pp.create_measurement(net, "q", "trafo3w", net.res_trafo3w.q_lv_mvar[0], 0.001, 0, 'lv') + + pp.create_measurement(net, "v", "bus", net.res_bus.vm_pu[0], 0.01, 0) + pp.create_measurement(net, "v", "bus", net.res_bus.vm_pu[1], 0.01, 1) + + success = estimate(net) + assert success + assert (np.nanmax(np.abs(net.res_bus.vm_pu.values - net.res_bus_est.vm_pu.values)) < 0.006) + assert (np.nanmax(np.abs(net.res_bus.va_degree.values- net.res_bus_est.va_degree.values)) < 0.006) + + +def create_net_with_bb_switch(): + net = pp.create_empty_network() + bus1 = pp.create_bus(net, name="bus1", vn_kv=10.) + bus2 = pp.create_bus(net, name="bus2", vn_kv=10.) + bus3 = pp.create_bus(net, name="bus3", vn_kv=10.) + bus4 = pp.create_bus(net, name="bus4", vn_kv=10.) + bus5 = pp.create_bus(net, name="bus5", vn_kv=110.) + + pp.create_line_from_parameters(net, bus1, bus2, 10, r_ohm_per_km=.59, x_ohm_per_km=.35, c_nf_per_km=10.1, + max_i_ka=1) + pp.create_transformer(net, bus5, bus1, std_type="40 MVA 110/10 kV") + pp.create_ext_grid(net, bus=bus5, vm_pu=1.0) + pp.create_load(net, bus1, p_mw=.350, q_mvar=.100) + pp.create_load(net, bus2, p_mw=.450, q_mvar=.100) + pp.create_load(net, bus3, p_mw=.250, q_mvar=.100) + pp.create_load(net, bus4, p_mw=.150, q_mvar=.100) + + # Created bb switch + pp.create_switch(net, bus2, element=bus3, et='b') + pp.create_switch(net, bus1, element=bus4, et='b') + pp.runpp(net, calculate_voltage_angles=True) + + pp.create_measurement(net, "v", "bus", r2(net.res_bus.vm_pu.iloc[bus1], .002), .002, element=bus1) + pp.create_measurement(net, "v", "bus", r2(net.res_bus.vm_pu.iloc[bus3], .002), .002, element=bus3) + pp.create_measurement(net, "v", "bus", r2(net.res_bus.vm_pu.iloc[bus5], .002), .002, element=bus5) + + pp.create_measurement(net, "p", "bus", r2(net.res_bus.p_mw.iloc[bus5], .002), .002, element=bus5) + pp.create_measurement(net, "q", "bus", r2(net.res_bus.q_mvar.iloc[bus5], .002), .002, element=bus5) + + # If measurement on the bus with bb-switch activated, it will incluence the results of the merged bus + pp.create_measurement(net, "p", "bus", r2(net.res_bus.p_mw.iloc[bus4], .002), .002, element=bus4) + pp.create_measurement(net, "q", "bus", r2(net.res_bus.q_mvar.iloc[bus4], .002), .002, element=bus4) + pp.create_measurement(net, "p", "bus", r2(net.res_bus.p_mw.iloc[bus3], .001), .001, element=bus3) + pp.create_measurement(net, "q", "bus", r2(net.res_bus.q_mvar.iloc[bus3], .001), .001, element=bus3) + pp.create_measurement(net, "p", "bus", r2(net.res_bus.p_mw.iloc[bus2], .001), .001, element=bus2) + pp.create_measurement(net, "q", "bus", r2(net.res_bus.q_mvar.iloc[bus2], .001), .001, element=bus2) + pp.create_measurement(net, "p", "bus", r2(net.res_bus.p_mw.iloc[bus1], .001), .001, element=bus1) + pp.create_measurement(net, "q", "bus", r2(net.res_bus.q_mvar.iloc[bus1], .001), .001, element=bus1) + + pp.create_measurement(net, "p", "line", r2(net.res_line.p_from_mw.iloc[0], .002), .002, 0, side='from') + pp.create_measurement(net, "q", "line", r2(net.res_line.q_from_mvar.iloc[0], .002), .002, 0, side='from') + + pp.create_measurement(net, "p", "trafo", r2(net.res_trafo.p_hv_mw.iloc[0], .001), .01, + side="hv", element=0) + pp.create_measurement(net, "q", "trafo", r2(net.res_trafo.q_hv_mvar.iloc[0], .001), .01, + side="hv", element=0) + return net + + +def test_net_with_bb_switch_no_fusing(): + net = create_net_with_bb_switch() + success_none = estimate(net, tolerance=1e-5, fuse_buses_with_bb_switch=None) + + assert success_none + assert np.allclose(net.res_bus.va_degree.values,net.res_bus_est.va_degree.values, 1e-2) + assert np.allclose(net.res_bus.vm_pu.values,net.res_bus_est.vm_pu.values, 1e-2) + # asserting with more tolerance since the added impedance will cause some inaccuracy + assert np.allclose(net.res_bus.p_mw.values,net.res_bus_est.p_mw.values, 1e-1) + assert np.allclose(net.res_bus.q_mvar.values,net.res_bus_est.q_mvar.values, 1e-1) + + +def test_net_with_bb_switch_fuse_one(): + net = create_net_with_bb_switch() + success = estimate(net, tolerance=1e-5, fuse_buses_with_bb_switch=[1]) + assert success + assert np.allclose(net.res_bus.va_degree.values,net.res_bus_est.va_degree.values, 1e-2) + assert np.allclose(net.res_bus.vm_pu.values,net.res_bus_est.vm_pu.values, 1e-2) + # asserting with more tolerance since the added impedance will cause some inaccuracy + assert np.allclose(net.res_bus.p_mw.values[[0,3,4]],net.res_bus_est.p_mw.values[[0,3,4]], 1e-1) + assert np.allclose(net.res_bus.q_mvar.values[[0,3,4]],net.res_bus_est.q_mvar.values[[0,3,4]], 1e-1) + + +@pytest.mark.xfail +def test_net_with_bb_switch_fuse_one_identify_pq(): + net = create_net_with_bb_switch() + estimate(net, tolerance=1e-5, fuse_buses_with_bb_switch=[1]) + # asserting with more tolerance since the added impedance will cause some inaccuracy + assert np.allclose(net.res_bus.p_mw.values,net.res_bus_est.p_mw.values, 1e-1) + assert np.allclose(net.res_bus.q_mvar.values,net.res_bus_est.q_mvar.values, 1e-1) + + +def test_net_with_bb_switch_fusing(): + net = create_net_with_bb_switch() + estimate(net, tolerance=1e-5, fuse_buses_with_bb_switch='all') + + assert np.allclose(net.res_bus.va_degree.values,net.res_bus_est.va_degree.values, 5e-2) + assert np.allclose(net.res_bus.vm_pu.values,net.res_bus_est.vm_pu.values, 5e-2) + + +def test_net_with_zero_injection(): + # @author: AndersLi + net = pp.create_empty_network() + b1 = pp.create_bus(net, name="Bus 1", vn_kv=220, index=1) + b2 = pp.create_bus(net, name="Bus 2", vn_kv=220, index=2) + b3 = pp.create_bus(net, name="Bus 3", vn_kv=220, index=3) + b4 = pp.create_bus(net, name="Bus 4", vn_kv=220, index=4) + + pp.create_ext_grid(net, b1) # set the slack bus to bus 1 + factor = 48.4 * 2 * np.pi * 50 * 1e-9 # capacity factor + + pp.create_line_from_parameters(net, 1, 2, 1, r_ohm_per_km=.0221*48.4, + x_ohm_per_km=.1603*48.4, c_nf_per_km=0.00274/factor, max_i_ka=1) + pp.create_line_from_parameters(net, 2, 3, 1, r_ohm_per_km=.0428*48.4, + x_ohm_per_km=.242*48.4, c_nf_per_km=0.00384/factor, max_i_ka=1) + l3 = pp.create_line_from_parameters(net, 2, 4, 1, r_ohm_per_km=.002*48.4, + x_ohm_per_km=.0111*48.4, c_nf_per_km=0.00018/factor, max_i_ka=1) + + pp.create_measurement(net, "v", "bus", 1.063548, .001, b1) # V at bus 1 + pp.create_measurement(net, "v", "bus", 1.068342, .001, b3) # V at bus 3 + pp.create_measurement(net, "v", "bus", 1.069861, .001, b4) # V at bus 4 + pp.create_measurement(net, "p", "bus", 40.0, 1, b1) # P at bus 1 + pp.create_measurement(net, "q", "bus", 9.2, 1, b1) # Q at bus 1 + # pp.create_measurement(net, "p", "bus", 0, 0.01, b2) # P at bus 2 - not required anymore + # pp.create_measurement(net, "q", "bus", 0, 0.01, b2) # Q at bus 2 - not required anymore + pp.create_measurement(net, "p", "bus", -10.0, 1, b3) # P at bus 3 + pp.create_measurement(net, "q", "bus", -1.0, 1, b3) # Q at bus 3 + pp.create_measurement(net, "p", "bus", -30.0, 1, b4) # P at bus 4 + pp.create_measurement(net, "q", "bus", 0.100, 1, b4) # Q at bus 4 + pp.create_measurement(net, "p", "line", 30.100, 1, l3, side="to") # Pline (bus 2 -> bus 4) at bus 4 + pp.create_measurement(net, "q", "line", -0.099, 1, l3, side="to") # Qline (bus 2 -> bus 4) at bus 4 + + estimate(net, tolerance=1e-10, zero_injection='auto', algorithm='wls_with_zero_constraint') + assert np.abs(net.res_bus_est.at[b2, 'p_mw']) < 1e-8 + assert np.abs(net.res_bus_est.at[b2, 'q_mvar']) < 1e-8 + + net_given_bus = deepcopy(net) + success = estimate(net, tolerance=1e-6, zero_injection="auto") + success_given_bus = estimate(net, tolerance=1e-6, zero_injection=[b2]) + assert success and success_given_bus + assert np.allclose(net.res_bus_est.va_degree.values,net_given_bus.res_bus_est.va_degree.values, 1e-3) + assert np.allclose(net.res_bus_est.vm_pu.values,net_given_bus.res_bus_est.vm_pu.values, 1e-3) + + +def test_zero_injection_aux_bus(): + net = pp.create_empty_network() + bus1 = pp.create_bus(net, name="bus1", vn_kv=10.) + bus2 = pp.create_bus(net, name="bus2", vn_kv=10.) + bus3 = pp.create_bus(net, name="bus3", vn_kv=10.) + bus4 = pp.create_bus(net, name="bus4", vn_kv=110.) + + pp.create_line_from_parameters(net, bus1, bus2, 10, r_ohm_per_km=.59, x_ohm_per_km=.35, c_nf_per_km=10.1, + max_i_ka=1) + pp.create_line_from_parameters(net, bus2, bus3, 10, r_ohm_per_km=.59, x_ohm_per_km=.35, c_nf_per_km=10.1, + max_i_ka=1) + pp.create_transformer(net, bus4, bus1, std_type="40 MVA 110/10 kV") + pp.create_ext_grid(net, bus=bus4, vm_pu=1.0) + pp.create_load(net, bus1, p_mw=.350, q_mvar=.100) + pp.create_load(net, bus2, p_mw=.450, q_mvar=.100) + pp.create_load(net, bus3, p_mw=.250, q_mvar=.100) + + net.bus.at[bus3, 'in_service'] = False + + # Created bb switch + pp.runpp(net, calculate_voltage_angles=True) + + pp.create_measurement(net, "v", "bus", r2(net.res_bus.vm_pu.iloc[bus1], .002), .002, element=bus1) + pp.create_measurement(net, "v", "bus", r2(net.res_bus.vm_pu.iloc[bus4], .002), .002, element=bus4) + + pp.create_measurement(net, "p", "bus", r2(net.res_bus.p_mw.iloc[bus4], .002), .002, element=bus4) + pp.create_measurement(net, "q", "bus", r2(net.res_bus.q_mvar.iloc[bus4], .002), .002, element=bus4) + + # If measurement on the bus with bb-switch activated, it will incluence the results of the merged bus + pp.create_measurement(net, "p", "bus", r2(net.res_bus.p_mw.iloc[bus2], .001), .001, element=bus2) + pp.create_measurement(net, "q", "bus", r2(net.res_bus.q_mvar.iloc[bus2], .001), .001, element=bus2) + pp.create_measurement(net, "p", "bus", r2(net.res_bus.p_mw.iloc[bus1], .001), .001, element=bus1) + pp.create_measurement(net, "q", "bus", r2(net.res_bus.q_mvar.iloc[bus1], .001), .001, element=bus1) + + pp.create_measurement(net, "p", "line", r2(net.res_line.p_from_mw.iloc[0], .002), .002, 0, side='from') + pp.create_measurement(net, "q", "line", r2(net.res_line.q_from_mvar.iloc[0], .002), .002, 0, side='from') + + pp.create_measurement(net, "p", "trafo", r2(net.res_trafo.p_hv_mw.iloc[0], .001), .01, + side="hv", element=0) + pp.create_measurement(net, "q", "trafo", r2(net.res_trafo.q_hv_mvar.iloc[0], .001), .01, + side="hv", element=0) + + net_auto = deepcopy(net) + net_aux = deepcopy(net) + + success_none = estimate(net, tolerance=1e-5, zero_injection=None) + + # In this case zero_injection in mode "aux_bus" and "auto" should be exact the same + success_aux = estimate(net_aux, tolerance=1e-5, zero_injection='aux_bus') + success_auto = estimate(net_auto, tolerance=1e-5, zero_injection='auto') + assert success_none and success_aux and success_auto + assert np.allclose(net_auto.res_bus_est.va_degree.values,net_aux.res_bus_est.va_degree.values, 1e-4, equal_nan=True) + assert np.allclose(net_auto.res_bus_est.vm_pu.values,net_aux.res_bus_est.vm_pu.values, 1e-4, equal_nan=True) + + # in case zero injection was set to none, the results should be different + assert ~np.allclose(net.res_bus_est.vm_pu.values,net_aux.res_bus_est.vm_pu.values, 1e-2, equal_nan=True) + + +@pytest.mark.xfail +def test_net_unobserved_island(): + net = pp.create_empty_network() + bus1 = pp.create_bus(net, name="bus1", vn_kv=10.) + bus2 = pp.create_bus(net, name="bus2", vn_kv=10.) + bus3 = pp.create_bus(net, name="bus3", vn_kv=10.) + bus4 = pp.create_bus(net, name="bus4", vn_kv=110.) + + pp.create_line_from_parameters(net, bus1, bus2, 10, r_ohm_per_km=.59, x_ohm_per_km=.35, c_nf_per_km=10.1, + max_i_ka=1) + pp.create_line_from_parameters(net, bus2, bus3, 10, r_ohm_per_km=.59, x_ohm_per_km=.35, c_nf_per_km=10.1, + max_i_ka=1) + pp.create_transformer(net, bus4, bus1, std_type="40 MVA 110/10 kV") + pp.create_ext_grid(net, bus=bus4, vm_pu=1.0) + pp.create_load(net, bus1, p_mw=.350, q_mvar=.100) + pp.create_load(net, bus2, p_mw=.450, q_mvar=.100) + pp.create_load(net, bus3, p_mw=.250, q_mvar=.100) + + # Created bb switch + pp.runpp(net, calculate_voltage_angles=True) + + pp.create_measurement(net, "v", "bus", r2(net.res_bus.vm_pu.iloc[bus1], .002), .002, element=bus1) + pp.create_measurement(net, "v", "bus", r2(net.res_bus.vm_pu.iloc[bus4], .002), .002, element=bus4) + + pp.create_measurement(net, "p", "bus", r2(net.res_bus.p_mw.iloc[bus4], .002), .002, element=bus4) + pp.create_measurement(net, "q", "bus", r2(net.res_bus.q_mvar.iloc[bus4], .002), .002, element=bus4) + + # IF pq of bus2 is not available makes bus3 an unobserved island +# pp.create_measurement(net, "p", "bus", -r2(net.res_bus.p_mw.iloc[bus2], .001), .001, element=bus2) +# pp.create_measurement(net, "q", "bus", -r2(net.res_bus.q_mvar.iloc[bus2], .001), .001, element=bus2) + pp.create_measurement(net, "p", "bus", r2(net.res_bus.p_mw.iloc[bus1], .001), .001, element=bus1) + pp.create_measurement(net, "q", "bus", r2(net.res_bus.q_mvar.iloc[bus1], .001), .001, element=bus1) + + pp.create_measurement(net, "p", "line", r2(net.res_line.p_from_mw.iloc[0], .002), .002, 0, side='from') + pp.create_measurement(net, "q", "line", r2(net.res_line.q_from_mvar.iloc[0], .002), .002, 0, side='from') + + pp.create_measurement(net, "p", "trafo", r2(net.res_trafo.p_hv_mw.iloc[0], .001), .01, + side="hv", element=0) + pp.create_measurement(net, "q", "trafo", r2(net.res_trafo.q_hv_mvar.iloc[0], .001), .01, + side="hv", element=0) + + if not estimate(net, tolerance=1e-6, zero_injection=None): + raise AssertionError("Estimation failed!") + +def test_net_oos_line(): + net = nw.case9() + net.line.in_service.iat[4] = False + pp.runpp(net) + + for line_ix in net.line.index: + pp.create_measurement(net, "p", "line", net.res_line.at[line_ix, "p_from_mw"], + 0.01, element=line_ix, side="from") + pp.create_measurement(net, "q", "line", net.res_line.at[line_ix, "q_from_mvar"], + 0.01, element=line_ix, side="from") + + for bus_ix in net.bus.index: + pp.create_measurement(net, "v", "bus", net.res_bus.at[bus_ix, "vm_pu"], + 0.01, element=bus_ix) + + if not estimate(net, tolerance=1e-6, zero_injection=None): + raise AssertionError("Estimation failed!") + + +def r(v=0.03): + return np.random.normal(1.0, v) + + +def r2(base, v): + return np.random.normal(base, v) + + +def _compare_pf_and_se_results(net): + pp.runpp(net, calculate_voltage_angles=True, trafo_model="t") + assert (np.allclose(net.res_bus_est.p_mw.values, net.res_bus.p_mw.values, 1e-6)) + assert (np.allclose(net.res_bus_est.q_mvar.values, net.res_bus.q_mvar.values, 1e-6)) + assert (np.allclose(net.res_line_est.p_from_mw.values, net.res_line.p_from_mw.values, 1e-6)) + assert (np.allclose(net.res_line_est.q_from_mvar.values, net.res_line.q_from_mvar.values, 1e-6)) + assert (np.allclose(net.res_line_est.p_to_mw.values, net.res_line.p_to_mw.values, 1e-6)) + assert (np.allclose(net.res_line_est.q_to_mvar.values, net.res_line.q_to_mvar.values, 1e-6)) + assert (np.allclose(net.res_trafo_est.p_lv_mw.values, net.res_trafo.p_lv_mw.values, 1e-6)) + assert (np.allclose(net.res_trafo_est.q_lv_mvar.values, net.res_trafo.q_lv_mvar.values, 1e-6)) + assert (np.allclose(net.res_trafo_est.p_hv_mw.values, net.res_trafo.p_hv_mw.values, 1e-6)) + assert (np.allclose(net.res_trafo_est.q_hv_mvar.values, net.res_trafo.q_hv_mvar.values, 1e-6)) + + +if __name__ == '__main__': + pytest.main([__file__, "-xs"]) diff --git a/pandapower/test/loadflow/result_test_network_generator.py b/pandapower/test/loadflow/result_test_network_generator.py index 916b063f8..ec7f405cb 100644 --- a/pandapower/test/loadflow/result_test_network_generator.py +++ b/pandapower/test/loadflow/result_test_network_generator.py @@ -1,483 +1,483 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import pandapower as pp -from pandapower.test.toolbox import add_grid_connection, create_test_line -from pandapower.toolbox import nets_equal - -def result_test_network_generator2(net, sn_mva=1, skip_test_impedance=False): - """ This is a generator for the result_test_network - It is structured like this so it can be tested for consistency at - different stages of adding elements - """ - yield add_test_trafo(net) -# yield add_test_line(net) - yield add_test_load_sgen(net) - yield add_test_load_sgen_split(net) - yield add_test_ext_grid(net) - yield add_test_trafo(net) - yield add_test_single_load_single_eg(net) - yield add_test_ward(net) - yield add_test_ward_split(net) - yield add_test_xward(net) - yield add_test_xward_combination(net) - yield add_test_gen(net) - yield add_test_ext_grid_gen_switch(net) - yield add_test_enforce_qlims(net) - yield add_test_trafo3w(net) - if not skip_test_impedance: - yield add_test_impedance(net) - yield add_test_bus_bus_switch(net) - yield add_test_oos_bus_with_is_element(net) - yield add_test_shunt(net) - yield add_test_shunt_split(net) - yield add_test_two_open_switches_on_deactive_line(net) - - -def result_test_network_generator(sn_mva=1, skip_test_impedance=False): - """ This is a generator for the result_test_network - It is structured like this so it can be tested for consistency at - different stages of adding elements - """ - net = pp.create_empty_network(sn_mva=sn_mva) - yield add_test_line(net) - yield add_test_load_sgen(net) - yield add_test_load_sgen_split(net) - yield add_test_ext_grid(net) - yield add_test_trafo(net) - yield add_test_single_load_single_eg(net) - yield add_test_ward(net) - yield add_test_ward_split(net) - yield add_test_xward(net) - yield add_test_xward_combination(net) - yield add_test_gen(net) - yield add_test_ext_grid_gen_switch(net) - yield add_test_enforce_qlims(net) - yield add_test_trafo3w(net) - if not skip_test_impedance: - yield add_test_impedance(net) - yield add_test_bus_bus_switch(net) - yield add_test_oos_bus_with_is_element(net) - yield add_test_shunt(net) - yield add_test_shunt_split(net) - yield add_test_two_open_switches_on_deactive_line(net) - - -def result_test_network_generator_dcpp(sn_mva=1): - """ This is a generator for the result_test_network - It is structured like this so it can be tested for consistency at - different stages of adding elements - """ - # ToDo: Uncommented tests fail in rundcpp -> Check why and correct it - - net = pp.create_empty_network(sn_mva=sn_mva) - yield add_test_line(net) - yield add_test_load_sgen(net) - yield add_test_load_sgen_split(net) - # yield add_test_ext_grid(net) - # yield add_test_trafo(net) - yield add_test_single_load_single_eg(net) - yield add_test_ward(net) - yield add_test_ward_split(net) - yield add_test_xward(net) - yield add_test_xward_combination(net) - # yield add_test_gen(net) - # yield add_test_ext_grid_gen_switch(net) - # yield add_test_enforce_qlims(net) - # yield add_test_trafo3w(net) - # yield add_test_impedance(net) - yield add_test_bus_bus_switch(net) - # yield add_test_oos_bus_with_is_element(net) - yield add_test_shunt(net) - yield add_test_shunt_split(net) - # yield add_test_two_open_switches_on_deactive_line(net) - - -def add_test_line(net): - b1, b2, l1 = add_grid_connection(net, zone="test_line") - net.line.parallel.at[l1] = 2 - net.line.g_us_per_km.at[l1] = 1 - pp.create_load(net, b2, p_mw=1.2, q_mvar=1.1) - l2 = create_test_line(net, b1, b2) - net.line.g_us_per_km.at[l2] = 1 - pp.create_switch(net, b2, l2, et="l", closed=False) - create_test_line(net, b1, b2, in_service=False) - net.last_added_case = "test_line" - return net - - -def add_test_ext_grid(net): - b1, b2, ln = add_grid_connection(net, zone="test_ext_grid") - b3 = pp.create_bus(net, vn_kv=20., zone="test_ext_grid") - create_test_line(net, b2, b3) - pp.create_ext_grid(net, b3, vm_pu=1.02, va_degree=3.) - return net - - -def add_test_ext_grid_gen_switch(net): - zone = "test_ext_grid_gen_switch" - vn_kv = 20. - b1 = pp.create_bus(net, vn_kv=vn_kv, zone=zone) - b2 = pp.create_bus(net, vn_kv=vn_kv, zone=zone) - b3 = pp.create_bus(net, vn_kv=vn_kv, zone=zone) - b4 = pp.create_bus(net, vn_kv=vn_kv, zone=zone) - b5 = pp.create_bus(net, vn_kv=vn_kv, zone=zone) - - pp.create_switch(net, bus=b1, element=b2, et="b") - create_test_line(net, b2, b3) - create_test_line(net, b3, b4) - pp.create_switch(net, bus=b4, element=b5, et="b") - - pp.create_ext_grid(net, bus=b1, vm_pu=1.01) - pp.create_gen(net, bus=b5, vm_pu=1.015, p_mw=0.3) - return net - - -def add_test_load_sgen(net): - b1, b2, ln = add_grid_connection(net, zone="test_load_sgen") - pl = 1.2 - ql = 1.1 - ps = 0.50 - qs = -0.1 - # load and sgen at one bus - pp.create_load(net, b2, p_mw=pl, q_mvar=ql) - pp.create_sgen(net, b2, p_mw=ps, q_mvar=qs) - # adding out of serivce loads and sgens should not change the result - pp.create_load(net, b2, p_mw=pl, q_mvar=ql, in_service=False, - index=pp.get_free_id(net.load) + 1) - pp.create_sgen(net, b2, p_mw=ps, q_mvar=qs, in_service=False, - index=pp.get_free_id(net.sgen) + 1) - net.last_added_case = "test_load_sgen" - return net - - -def add_test_load_sgen_split(net): - b1, b2, ln = add_grid_connection(net, zone="test_load_sgen_split") - nr = 2 - pl = 1.2 - ql = 1.1 - ps = 0.5 - qs = -0.1 - for _ in list(range(nr)): - pp.create_load(net, b2, p_mw=pl, q_mvar=ql, scaling=1. / nr) - pp.create_sgen(net, b2, p_mw=ps, q_mvar=qs, scaling=1. / nr) - net.last_added_case = "test_load_sgen_split" - return net - - -def add_test_trafo(net): - b1, b2, ln = add_grid_connection(net, zone="test_trafo") - b3 = pp.create_bus(net, vn_kv=0.4, zone="test_trafo") - pp.create_transformer_from_parameters(net, b2, b3, vk_percent=5., vkr_percent=2., - i0_percent=.4, pfe_kw=2., sn_mva=0.4, vn_hv_kv=22, - vn_lv_kv=0.42, tap_max=10, tap_neutral=5, tap_min=0, - tap_step_percent=1.25, tap_pos=3, shift_degree=150, - tap_side="hv", parallel=2) - t2 = pp.create_transformer_from_parameters(net, b2, b3, vk_percent=5., vkr_percent=2., - i0_percent=.4, pfe_kw=2, sn_mva=0.4, vn_hv_kv=22, - vn_lv_kv=0.42, tap_max=10, tap_neutral=5, tap_min=0, - tap_step_percent=1.25, tap_pos=3, tap_side="hv", - shift_degree=150, index=pp.get_free_id(net.trafo) + 1) - pp.create_switch(net, b3, t2, et="t", closed=False) - pp.create_transformer_from_parameters(net, b2, b3, vk_percent=5., vkr_percent=2., - i0_percent=1., pfe_kw=20, sn_mva=0.4, vn_hv_kv=20, - vn_lv_kv=0.4, in_service=False) - pp.create_load(net, b3, p_mw=0.2, q_mvar=0.05) - net.last_added_case = "test_trafo" - return net - - -def add_test_single_load_single_eg(net): - b1 = pp.create_bus(net, vn_kv=20., zone="test_single_load_single_eg") - pp.create_ext_grid(net, b1) - pp.create_load(net, b1, p_mw=0.1, q_mvar=0.1) - net.last_added_case = "test_single_load_single_eg" - return net - - -def add_test_ward(net): - b1, b2, ln = add_grid_connection(net, zone="test_ward") - - pz = 1.2 - qz = 1.1 - ps = 0.5 - qs = 0.2 - # one shunt at a bus - pp.create_ward(net, b2, pz_mw=pz, qz_mvar=qz, ps_mw=ps, qs_mvar=qs) - # add out of service ward shuold not change the result - pp.create_ward(net, b2, pz_mw=pz, qz_mvar=qz, ps_mw=ps, qs_mvar=qs, in_service=False, - index=pp.get_free_id(net.ward) + 1) - net.last_added_case = "test_ward" - return net - - -def add_test_ward_split(net): - # splitting up the wards should not change results - pz = 1.2 - qz = 1.1 - ps = 0.5 - qs = 0.2 - b1, b2, ln = add_grid_connection(net, zone="test_ward_split") - pp.create_ward(net, b2, pz_mw=pz / 2, qz_mvar=qz / 2, ps_mw=ps / 2, qs_mvar=qs / 2) - pp.create_ward(net, b2, pz_mw=pz / 2, qz_mvar=qz / 2, ps_mw=ps / 2, qs_mvar=qs / 2) - net.last_added_case = "test_ward_split" - return net - - -def add_test_xward(net): - b1, b2, ln = add_grid_connection(net, zone="test_xward") - - pz = 1.200 - qz = 1.100 - ps = 0.500 - qs = 0.200 - vm_pu = 1.06 - r_ohm = 50 - x_ohm = 70 - # one xward at a bus - pp.create_xward(net, b2, pz_mw=pz, qz_mvar=qz, ps_mw=ps, qs_mvar=qs, - vm_pu=vm_pu, x_ohm=x_ohm, r_ohm=r_ohm) - # add out of service xward should not change the result - pp.create_xward(net, b2, pz_mw=pz, qz_mvar=qz, ps_mw=ps, qs_mvar=qs, vm_pu=vm_pu, - x_ohm=x_ohm, r_ohm=r_ohm, in_service=False, - index=pp.get_free_id(net.xward) + 1) - net.last_added_case = "test_xward" - return net - - -def add_test_xward_combination(net): - b1, b2, ln = add_grid_connection(net, zone="test_xward_combination") - - pz = 1.200 - qz = 1.100 - ps = 0.500 - qs = 0.200 - vm_pu = 1.06 - r_ohm = 50 - x_ohm = 70 - # one xward at a bus - pp.create_xward(net, b2, pz_mw=pz, qz_mvar=qz, ps_mw=ps, qs_mvar=qs, - vm_pu=vm_pu, x_ohm=x_ohm, r_ohm=r_ohm) - # add out of service xward should not change the result - pp.create_xward(net, b2, pz_mw=pz, qz_mvar=qz, ps_mw=ps, qs_mvar=qs, vm_pu=vm_pu, - x_ohm=x_ohm, r_ohm=r_ohm, in_service=False) - # add second xward at the bus - pp.create_xward(net, b2, pz_mw=pz, qz_mvar=qz, ps_mw=ps, qs_mvar=qs, - vm_pu=vm_pu, x_ohm=x_ohm, r_ohm=r_ohm) - net.last_added_case = "test_xward_combination" - return net - - -def add_test_gen(net): - b1, b2, ln = add_grid_connection(net, zone="test_gen") - pl = 1.200 - ql = 1.100 - ps = 0.500 - vm_set_pu = 1.0 - - b3 = pp.create_bus(net, zone="test_gen", vn_kv=.4) - pp.create_line_from_parameters(net, b2, b3, 12.2, r_ohm_per_km=0.08, x_ohm_per_km=0.12, - c_nf_per_km=300, max_i_ka=.2, df=.8) - - pp.create_load(net, b3, p_mw=pl, q_mvar=ql) - pp.create_gen(net, b3, p_mw=ps, vm_pu=vm_set_pu) - # adding out of serivce gens should not change the result - pp.create_gen(net, b2, p_mw=ps, vm_pu=vm_set_pu, in_service=False, index=pp.get_free_id(net.gen) + 1) - - net.last_added_case = "test_gen" - return net - - -def add_test_enforce_qlims(net): - b1, b2, ln = add_grid_connection(net, zone="test_enforce_qlims") - pl = 1.200 - ql = 1.100 - ps = 0.500 - qmin = -0.200 - vm_set_pu = 1.0 - - b3 = pp.create_bus(net, zone="test_enforce_qlims", vn_kv=.4) - pp.create_line_from_parameters(net, b2, b3, 12.2, r_ohm_per_km=0.08, x_ohm_per_km=0.12, - c_nf_per_km=300, max_i_ka=.2, df=.8) - - pp.create_load(net, b3, p_mw=pl, q_mvar=ql) - pp.create_gen(net, b3, p_mw=ps, vm_pu=vm_set_pu, min_q_mvar=qmin) - - net.last_added_case = "test_enforce_qlims" - return net - - -def add_test_trafo3w(net): - b1, b2, ln = add_grid_connection(net, zone="test_trafo3w") - b3 = pp.create_bus(net, vn_kv=0.6, zone="test_trafo3w") - pp.create_load(net, b3, p_mw=0.2, q_mvar=0) - b4 = pp.create_bus(net, vn_kv=0.4, zone="test_trafo3w") - pp.create_load(net, b4, p_mw=0.1, q_mvar=0) - - pp.create_transformer3w_from_parameters(net, hv_bus=b2, mv_bus=b3, lv_bus=b4, vn_hv_kv=22, - vn_mv_kv=.64, vn_lv_kv=.42, sn_hv_mva=1, - sn_mv_mva=0.7, sn_lv_mva=0.3, vk_hv_percent=1., - vkr_hv_percent=.03, vk_mv_percent=.5, - vkr_mv_percent=.02, vk_lv_percent=.25, - vkr_lv_percent=.01, pfe_kw=0.5, i0_percent=0.1, - name="test", index=pp.get_free_id(net.trafo3w) + 1, - tap_side="hv", tap_pos=2, tap_step_percent=1.25, - tap_min=-5, tap_neutral=0, tap_max=5) - # adding out of service 3w trafo should not change results - pp.create_transformer3w_from_parameters(net, hv_bus=b2, mv_bus=b3, lv_bus=b4, vn_hv_kv=20, - vn_mv_kv=.6, vn_lv_kv=.4, sn_hv_mva=1, sn_mv_mva=0.7, - sn_lv_mva=0.3, vk_hv_percent=2., vkr_hv_percent=.3, - vk_mv_percent=1., vkr_mv_percent=.2, - vk_lv_percent=.5, vkr_lv_percent=.1, pfe_kw=50, - i0_percent=1., name="test", in_service=False, - index=pp.get_free_id(net.trafo3w) + 1) - net.last_added_case = "test_trafo3w" - return net - - -def add_test_impedance(net): - b1, b2, ln = add_grid_connection(net, zone="test_impedance") - b3 = pp.create_bus(net, vn_kv=220., zone="test_impedance") - rij = 0.02 - xij = 0.01 - rji = 0.03 - xji = 0.005 - s = 2. - - pl = 1 - ql = 0.5 - - pp.create_impedance(net, b2, b3, rft_pu=rij, xft_pu=xij, rtf_pu=rji, xtf_pu=xji, - sn_mva=s, index=pp.get_free_id(net.impedance) + 1) - pp.create_impedance(net, b2, b3, rft_pu=rij, xft_pu=xij, rtf_pu=rji, xtf_pu=xji, - sn_mva=s, index=pp.get_free_id(net.impedance) + 1, in_service=False) - pp.create_load(net, b3, p_mw=pl, q_mvar=ql) - net.last_added_case = "test_impedance" - return net - - -def add_test_bus_bus_switch(net): - b1, b2, ln = add_grid_connection(net, zone="test_bus_bus_switch") - b3 = pp.create_bus(net, vn_kv=20., zone="test_bus_bus_switch") - pp.create_switch(net, b2, b3, et="b") - - pl = 1 - ql = 0.5 - - psg = 0.500 - qsg = -0.100 - - pz = 1.200 - qz = 1.100 - ps = 0.500 - qs = 0.200 - - vm_pu = 1.06 - r_ohm = 50 - x_ohm = 70 - - pp.create_load(net, b2, p_mw=pl, q_mvar=ql) - pp.create_load(net, b3, p_mw=pl, q_mvar=ql, scaling=0.5) - - pp.create_sgen(net, b2, p_mw=psg, q_mvar=qsg) - pp.create_sgen(net, b3, p_mw=psg, q_mvar=qsg, scaling=0.5) - - pp.create_ward(net, b2, pz_mw=pz, qz_mvar=qz, ps_mw=ps, qs_mvar=qs) - pp.create_ward(net, b3, pz_mw=0.5 * pz, qz_mvar=0.5 * qz, ps_mw=0.5 * ps, qs_mvar=0.5 * qs) - - pp.create_xward(net, b3, pz_mw=0.5 * pz, qz_mvar=0.5 * qz, ps_mw=0.5 * ps, qs_mvar=0.5 * qs, - vm_pu=vm_pu, x_ohm=x_ohm, r_ohm=r_ohm) - pp.create_xward(net, b2, pz_mw=pz, qz_mvar=qz, ps_mw=ps, qs_mvar=qs, - vm_pu=vm_pu, x_ohm=x_ohm, r_ohm=r_ohm) - net.last_added_case = "test_bus_bus_switch" - return net - - -def add_test_oos_bus_with_is_element(net): - b1, b2, ln = add_grid_connection(net, zone="test_oos_bus_with_is_element") - - pl = 1.200 - ql = 1.100 - ps = -0.500 - vm_set_pu = 1.0 - - pz = 1.200 - qz = 1.100 - qs = 0.200 - - vm_pu = 1.06 - r_ohm = 50 - x_ohm = 70 - - # OOS buses - b3 = pp.create_bus(net, zone="test_oos_bus_with_is_element", vn_kv=0.4, in_service=False) - b4 = pp.create_bus(net, zone="test_oos_bus_with_is_element", vn_kv=0.4, in_service=False) - b5 = pp.create_bus(net, zone="test_oos_bus_with_is_element", vn_kv=0.4, in_service=False) - - pp.create_line_from_parameters(net, b2, b3, 12.2, r_ohm_per_km=0.08, x_ohm_per_km=0.12, - c_nf_per_km=300, max_i_ka=.2, df=.8) - pp.create_line_from_parameters(net, b2, b4, 12.2, r_ohm_per_km=0.08, x_ohm_per_km=0.12, - c_nf_per_km=300, max_i_ka=.2, df=.8) - pp.create_line_from_parameters(net, b2, b5, 12.2, r_ohm_per_km=0.08, x_ohm_per_km=0.12, - c_nf_per_km=300, max_i_ka=.2, df=.8) - - # in service elements - pp.create_load(net, b3, p_mw=pl, q_mvar=ql) - pp.create_gen(net, b4, p_mw=ps, vm_pu=vm_set_pu) - pp.create_sgen(net, b5, p_mw=ps, q_mvar=ql) - pp.create_ward(net, b3, pz_mw=pz, qz_mvar=qz, ps_mw=ps, qs_mvar=qs) - pp.create_xward(net, b4, pz_mw=0.5 * pz, qz_mvar=0.5 * qz, ps_mw=0.5 * ps, qs_mvar=0.5 * qs, - vm_pu=vm_pu, x_ohm=x_ohm, r_ohm=r_ohm) - pp.create_shunt(net, b5, q_mvar=-800, p_mw=0) - - net.last_added_case = "test_oos_bus_with_is_element" - return net - - -def add_test_shunt(net): - b1, b2, ln = add_grid_connection(net, zone="test_shunt") - pz = 0.12 - qz = -1.2 - # one shunt at a bus - pp.create_shunt_as_capacitor(net, b2, q_mvar=1.2, loss_factor=0.1, vn_kv=22., step=2) - # add out of service shunt shuold not change the result - pp.create_shunt(net, b2, p_mw=pz, q_mvar=qz, in_service=False) - net.last_added_case = "test_shunt" - return net - - -def add_test_shunt_split(net): - b1, b2, ln = add_grid_connection(net, zone="test_shunt_split") - pz = 0.120 - qz = -1.200 - # one shunt at a bus - pp.create_shunt(net, b2, p_mw=pz / 2, q_mvar=qz / 2) - pp.create_shunt(net, b2, p_mw=pz / 2, q_mvar=qz / 2) - net.last_added_case = "test_shunt_split" - return net - - -def add_test_two_open_switches_on_deactive_line(net): - b1, b2, l1 = add_grid_connection(net, zone="two_open_switches_on_deactive_line") - b3 = pp.create_bus(net, vn_kv=20.) - l2 = create_test_line(net, b2, b3, in_service=False) - create_test_line(net, b3, b1) - pp.create_switch(net, b2, l2, et="l", closed=False) - pp.create_switch(net, b3, l2, et="l", closed=False) - net.last_added_case = "test_two_open_switches_on_deactive_line" - return net - - -if __name__ == '__main__': - from pandapower.test.consistency_checks import runpp_with_consistency_checks - from pandapower import LoadflowNotConverged - for net in result_test_network_generator(): - try: - runpp_with_consistency_checks(net, enforce_q_lims=True, numba=True) - except (AssertionError): - raise UserWarning("Consistency Error after adding %s" % net.last_added_case) - except(LoadflowNotConverged): +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import pandapower as pp +from pandapower.test.toolbox import add_grid_connection, create_test_line +from pandapower.toolbox import nets_equal + +def result_test_network_generator2(net, sn_mva=1, skip_test_impedance=False): + """ This is a generator for the result_test_network + It is structured like this so it can be tested for consistency at + different stages of adding elements + """ + yield add_test_trafo(net) +# yield add_test_line(net) + yield add_test_load_sgen(net) + yield add_test_load_sgen_split(net) + yield add_test_ext_grid(net) + yield add_test_trafo(net) + yield add_test_single_load_single_eg(net) + yield add_test_ward(net) + yield add_test_ward_split(net) + yield add_test_xward(net) + yield add_test_xward_combination(net) + yield add_test_gen(net) + yield add_test_ext_grid_gen_switch(net) + yield add_test_enforce_qlims(net) + yield add_test_trafo3w(net) + if not skip_test_impedance: + yield add_test_impedance(net) + yield add_test_bus_bus_switch(net) + yield add_test_oos_bus_with_is_element(net) + yield add_test_shunt(net) + yield add_test_shunt_split(net) + yield add_test_two_open_switches_on_deactive_line(net) + + +def result_test_network_generator(sn_mva=1, skip_test_impedance=False): + """ This is a generator for the result_test_network + It is structured like this so it can be tested for consistency at + different stages of adding elements + """ + net = pp.create_empty_network(sn_mva=sn_mva) + yield add_test_line(net) + yield add_test_load_sgen(net) + yield add_test_load_sgen_split(net) + yield add_test_ext_grid(net) + yield add_test_trafo(net) + yield add_test_single_load_single_eg(net) + yield add_test_ward(net) + yield add_test_ward_split(net) + yield add_test_xward(net) + yield add_test_xward_combination(net) + yield add_test_gen(net) + yield add_test_ext_grid_gen_switch(net) + yield add_test_enforce_qlims(net) + yield add_test_trafo3w(net) + if not skip_test_impedance: + yield add_test_impedance(net) + yield add_test_bus_bus_switch(net) + yield add_test_oos_bus_with_is_element(net) + yield add_test_shunt(net) + yield add_test_shunt_split(net) + yield add_test_two_open_switches_on_deactive_line(net) + + +def result_test_network_generator_dcpp(sn_mva=1): + """ This is a generator for the result_test_network + It is structured like this so it can be tested for consistency at + different stages of adding elements + """ + # ToDo: Uncommented tests fail in rundcpp -> Check why and correct it + + net = pp.create_empty_network(sn_mva=sn_mva) + yield add_test_line(net) + yield add_test_load_sgen(net) + yield add_test_load_sgen_split(net) + # yield add_test_ext_grid(net) + # yield add_test_trafo(net) + yield add_test_single_load_single_eg(net) + yield add_test_ward(net) + yield add_test_ward_split(net) + yield add_test_xward(net) + yield add_test_xward_combination(net) + # yield add_test_gen(net) + # yield add_test_ext_grid_gen_switch(net) + # yield add_test_enforce_qlims(net) + # yield add_test_trafo3w(net) + # yield add_test_impedance(net) + yield add_test_bus_bus_switch(net) + # yield add_test_oos_bus_with_is_element(net) + yield add_test_shunt(net) + yield add_test_shunt_split(net) + # yield add_test_two_open_switches_on_deactive_line(net) + + +def add_test_line(net): + b1, b2, l1 = add_grid_connection(net, zone="test_line") + net.line.parallel.at[l1] = 2 + net.line.g_us_per_km.at[l1] = 1 + pp.create_load(net, b2, p_mw=1.2, q_mvar=1.1) + l2 = create_test_line(net, b1, b2) + net.line.g_us_per_km.at[l2] = 1 + pp.create_switch(net, b2, l2, et="l", closed=False) + create_test_line(net, b1, b2, in_service=False) + net.last_added_case = "test_line" + return net + + +def add_test_ext_grid(net): + b1, b2, ln = add_grid_connection(net, zone="test_ext_grid") + b3 = pp.create_bus(net, vn_kv=20., zone="test_ext_grid") + create_test_line(net, b2, b3) + pp.create_ext_grid(net, b3, vm_pu=1.02, va_degree=3.) + return net + + +def add_test_ext_grid_gen_switch(net): + zone = "test_ext_grid_gen_switch" + vn_kv = 20. + b1 = pp.create_bus(net, vn_kv=vn_kv, zone=zone) + b2 = pp.create_bus(net, vn_kv=vn_kv, zone=zone) + b3 = pp.create_bus(net, vn_kv=vn_kv, zone=zone) + b4 = pp.create_bus(net, vn_kv=vn_kv, zone=zone) + b5 = pp.create_bus(net, vn_kv=vn_kv, zone=zone) + + pp.create_switch(net, bus=b1, element=b2, et="b") + create_test_line(net, b2, b3) + create_test_line(net, b3, b4) + pp.create_switch(net, bus=b4, element=b5, et="b") + + pp.create_ext_grid(net, bus=b1, vm_pu=1.01) + pp.create_gen(net, bus=b5, vm_pu=1.015, p_mw=0.3) + return net + + +def add_test_load_sgen(net): + b1, b2, ln = add_grid_connection(net, zone="test_load_sgen") + pl = 1.2 + ql = 1.1 + ps = 0.50 + qs = -0.1 + # load and sgen at one bus + pp.create_load(net, b2, p_mw=pl, q_mvar=ql) + pp.create_sgen(net, b2, p_mw=ps, q_mvar=qs) + # adding out of serivce loads and sgens should not change the result + pp.create_load(net, b2, p_mw=pl, q_mvar=ql, in_service=False, + index=pp.get_free_id(net.load) + 1) + pp.create_sgen(net, b2, p_mw=ps, q_mvar=qs, in_service=False, + index=pp.get_free_id(net.sgen) + 1) + net.last_added_case = "test_load_sgen" + return net + + +def add_test_load_sgen_split(net): + b1, b2, ln = add_grid_connection(net, zone="test_load_sgen_split") + nr = 2 + pl = 1.2 + ql = 1.1 + ps = 0.5 + qs = -0.1 + for _ in list(range(nr)): + pp.create_load(net, b2, p_mw=pl, q_mvar=ql, scaling=1. / nr) + pp.create_sgen(net, b2, p_mw=ps, q_mvar=qs, scaling=1. / nr) + net.last_added_case = "test_load_sgen_split" + return net + + +def add_test_trafo(net): + b1, b2, ln = add_grid_connection(net, zone="test_trafo") + b3 = pp.create_bus(net, vn_kv=0.4, zone="test_trafo") + pp.create_transformer_from_parameters(net, b2, b3, vk_percent=5., vkr_percent=2., + i0_percent=.4, pfe_kw=2., sn_mva=0.4, vn_hv_kv=22, + vn_lv_kv=0.42, tap_max=10, tap_neutral=5, tap_min=0, + tap_step_percent=1.25, tap_pos=3, shift_degree=150, + tap_side="hv", parallel=2) + t2 = pp.create_transformer_from_parameters(net, b2, b3, vk_percent=5., vkr_percent=2., + i0_percent=.4, pfe_kw=2, sn_mva=0.4, vn_hv_kv=22, + vn_lv_kv=0.42, tap_max=10, tap_neutral=5, tap_min=0, + tap_step_percent=1.25, tap_pos=3, tap_side="hv", + shift_degree=150, index=pp.get_free_id(net.trafo) + 1) + pp.create_switch(net, b3, t2, et="t", closed=False) + pp.create_transformer_from_parameters(net, b2, b3, vk_percent=5., vkr_percent=2., + i0_percent=1., pfe_kw=20, sn_mva=0.4, vn_hv_kv=20, + vn_lv_kv=0.4, in_service=False) + pp.create_load(net, b3, p_mw=0.2, q_mvar=0.05) + net.last_added_case = "test_trafo" + return net + + +def add_test_single_load_single_eg(net): + b1 = pp.create_bus(net, vn_kv=20., zone="test_single_load_single_eg") + pp.create_ext_grid(net, b1) + pp.create_load(net, b1, p_mw=0.1, q_mvar=0.1) + net.last_added_case = "test_single_load_single_eg" + return net + + +def add_test_ward(net): + b1, b2, ln = add_grid_connection(net, zone="test_ward") + + pz = 1.2 + qz = 1.1 + ps = 0.5 + qs = 0.2 + # one shunt at a bus + pp.create_ward(net, b2, pz_mw=pz, qz_mvar=qz, ps_mw=ps, qs_mvar=qs) + # add out of service ward shuold not change the result + pp.create_ward(net, b2, pz_mw=pz, qz_mvar=qz, ps_mw=ps, qs_mvar=qs, in_service=False, + index=pp.get_free_id(net.ward) + 1) + net.last_added_case = "test_ward" + return net + + +def add_test_ward_split(net): + # splitting up the wards should not change results + pz = 1.2 + qz = 1.1 + ps = 0.5 + qs = 0.2 + b1, b2, ln = add_grid_connection(net, zone="test_ward_split") + pp.create_ward(net, b2, pz_mw=pz / 2, qz_mvar=qz / 2, ps_mw=ps / 2, qs_mvar=qs / 2) + pp.create_ward(net, b2, pz_mw=pz / 2, qz_mvar=qz / 2, ps_mw=ps / 2, qs_mvar=qs / 2) + net.last_added_case = "test_ward_split" + return net + + +def add_test_xward(net): + b1, b2, ln = add_grid_connection(net, zone="test_xward") + + pz = 1.200 + qz = 1.100 + ps = 0.500 + qs = 0.200 + vm_pu = 1.06 + r_ohm = 50 + x_ohm = 70 + # one xward at a bus + pp.create_xward(net, b2, pz_mw=pz, qz_mvar=qz, ps_mw=ps, qs_mvar=qs, + vm_pu=vm_pu, x_ohm=x_ohm, r_ohm=r_ohm) + # add out of service xward should not change the result + pp.create_xward(net, b2, pz_mw=pz, qz_mvar=qz, ps_mw=ps, qs_mvar=qs, vm_pu=vm_pu, + x_ohm=x_ohm, r_ohm=r_ohm, in_service=False, + index=pp.get_free_id(net.xward) + 1) + net.last_added_case = "test_xward" + return net + + +def add_test_xward_combination(net): + b1, b2, ln = add_grid_connection(net, zone="test_xward_combination") + + pz = 1.200 + qz = 1.100 + ps = 0.500 + qs = 0.200 + vm_pu = 1.06 + r_ohm = 50 + x_ohm = 70 + # one xward at a bus + pp.create_xward(net, b2, pz_mw=pz, qz_mvar=qz, ps_mw=ps, qs_mvar=qs, + vm_pu=vm_pu, x_ohm=x_ohm, r_ohm=r_ohm) + # add out of service xward should not change the result + pp.create_xward(net, b2, pz_mw=pz, qz_mvar=qz, ps_mw=ps, qs_mvar=qs, vm_pu=vm_pu, + x_ohm=x_ohm, r_ohm=r_ohm, in_service=False) + # add second xward at the bus + pp.create_xward(net, b2, pz_mw=pz, qz_mvar=qz, ps_mw=ps, qs_mvar=qs, + vm_pu=vm_pu, x_ohm=x_ohm, r_ohm=r_ohm) + net.last_added_case = "test_xward_combination" + return net + + +def add_test_gen(net): + b1, b2, ln = add_grid_connection(net, zone="test_gen") + pl = 1.200 + ql = 1.100 + ps = 0.500 + vm_set_pu = 1.0 + + b3 = pp.create_bus(net, zone="test_gen", vn_kv=.4) + pp.create_line_from_parameters(net, b2, b3, 12.2, r_ohm_per_km=0.08, x_ohm_per_km=0.12, + c_nf_per_km=300, max_i_ka=.2, df=.8) + + pp.create_load(net, b3, p_mw=pl, q_mvar=ql) + pp.create_gen(net, b3, p_mw=ps, vm_pu=vm_set_pu) + # adding out of serivce gens should not change the result + pp.create_gen(net, b2, p_mw=ps, vm_pu=vm_set_pu, in_service=False, index=pp.get_free_id(net.gen) + 1) + + net.last_added_case = "test_gen" + return net + + +def add_test_enforce_qlims(net): + b1, b2, ln = add_grid_connection(net, zone="test_enforce_qlims") + pl = 1.200 + ql = 1.100 + ps = 0.500 + qmin = -0.200 + vm_set_pu = 1.0 + + b3 = pp.create_bus(net, zone="test_enforce_qlims", vn_kv=.4) + pp.create_line_from_parameters(net, b2, b3, 12.2, r_ohm_per_km=0.08, x_ohm_per_km=0.12, + c_nf_per_km=300, max_i_ka=.2, df=.8) + + pp.create_load(net, b3, p_mw=pl, q_mvar=ql) + pp.create_gen(net, b3, p_mw=ps, vm_pu=vm_set_pu, min_q_mvar=qmin) + + net.last_added_case = "test_enforce_qlims" + return net + + +def add_test_trafo3w(net): + b1, b2, ln = add_grid_connection(net, zone="test_trafo3w") + b3 = pp.create_bus(net, vn_kv=0.6, zone="test_trafo3w") + pp.create_load(net, b3, p_mw=0.2, q_mvar=0) + b4 = pp.create_bus(net, vn_kv=0.4, zone="test_trafo3w") + pp.create_load(net, b4, p_mw=0.1, q_mvar=0) + + pp.create_transformer3w_from_parameters(net, hv_bus=b2, mv_bus=b3, lv_bus=b4, vn_hv_kv=22, + vn_mv_kv=.64, vn_lv_kv=.42, sn_hv_mva=1, + sn_mv_mva=0.7, sn_lv_mva=0.3, vk_hv_percent=1., + vkr_hv_percent=.03, vk_mv_percent=.5, + vkr_mv_percent=.02, vk_lv_percent=.25, + vkr_lv_percent=.01, pfe_kw=0.5, i0_percent=0.1, + name="test", index=pp.get_free_id(net.trafo3w) + 1, + tap_side="hv", tap_pos=2, tap_step_percent=1.25, + tap_min=-5, tap_neutral=0, tap_max=5) + # adding out of service 3w trafo should not change results + pp.create_transformer3w_from_parameters(net, hv_bus=b2, mv_bus=b3, lv_bus=b4, vn_hv_kv=20, + vn_mv_kv=.6, vn_lv_kv=.4, sn_hv_mva=1, sn_mv_mva=0.7, + sn_lv_mva=0.3, vk_hv_percent=2., vkr_hv_percent=.3, + vk_mv_percent=1., vkr_mv_percent=.2, + vk_lv_percent=.5, vkr_lv_percent=.1, pfe_kw=50, + i0_percent=1., name="test", in_service=False, + index=pp.get_free_id(net.trafo3w) + 1) + net.last_added_case = "test_trafo3w" + return net + + +def add_test_impedance(net): + b1, b2, ln = add_grid_connection(net, zone="test_impedance") + b3 = pp.create_bus(net, vn_kv=220., zone="test_impedance") + rij = 0.02 + xij = 0.01 + rji = 0.03 + xji = 0.005 + s = 2. + + pl = 1 + ql = 0.5 + + pp.create_impedance(net, b2, b3, rft_pu=rij, xft_pu=xij, rtf_pu=rji, xtf_pu=xji, + sn_mva=s, index=pp.get_free_id(net.impedance) + 1) + pp.create_impedance(net, b2, b3, rft_pu=rij, xft_pu=xij, rtf_pu=rji, xtf_pu=xji, + sn_mva=s, index=pp.get_free_id(net.impedance) + 1, in_service=False) + pp.create_load(net, b3, p_mw=pl, q_mvar=ql) + net.last_added_case = "test_impedance" + return net + + +def add_test_bus_bus_switch(net): + b1, b2, ln = add_grid_connection(net, zone="test_bus_bus_switch") + b3 = pp.create_bus(net, vn_kv=20., zone="test_bus_bus_switch") + pp.create_switch(net, b2, b3, et="b") + + pl = 1 + ql = 0.5 + + psg = 0.500 + qsg = -0.100 + + pz = 1.200 + qz = 1.100 + ps = 0.500 + qs = 0.200 + + vm_pu = 1.06 + r_ohm = 50 + x_ohm = 70 + + pp.create_load(net, b2, p_mw=pl, q_mvar=ql) + pp.create_load(net, b3, p_mw=pl, q_mvar=ql, scaling=0.5) + + pp.create_sgen(net, b2, p_mw=psg, q_mvar=qsg) + pp.create_sgen(net, b3, p_mw=psg, q_mvar=qsg, scaling=0.5) + + pp.create_ward(net, b2, pz_mw=pz, qz_mvar=qz, ps_mw=ps, qs_mvar=qs) + pp.create_ward(net, b3, pz_mw=0.5 * pz, qz_mvar=0.5 * qz, ps_mw=0.5 * ps, qs_mvar=0.5 * qs) + + pp.create_xward(net, b3, pz_mw=0.5 * pz, qz_mvar=0.5 * qz, ps_mw=0.5 * ps, qs_mvar=0.5 * qs, + vm_pu=vm_pu, x_ohm=x_ohm, r_ohm=r_ohm) + pp.create_xward(net, b2, pz_mw=pz, qz_mvar=qz, ps_mw=ps, qs_mvar=qs, + vm_pu=vm_pu, x_ohm=x_ohm, r_ohm=r_ohm) + net.last_added_case = "test_bus_bus_switch" + return net + + +def add_test_oos_bus_with_is_element(net): + b1, b2, ln = add_grid_connection(net, zone="test_oos_bus_with_is_element") + + pl = 1.200 + ql = 1.100 + ps = -0.500 + vm_set_pu = 1.0 + + pz = 1.200 + qz = 1.100 + qs = 0.200 + + vm_pu = 1.06 + r_ohm = 50 + x_ohm = 70 + + # OOS buses + b3 = pp.create_bus(net, zone="test_oos_bus_with_is_element", vn_kv=0.4, in_service=False) + b4 = pp.create_bus(net, zone="test_oos_bus_with_is_element", vn_kv=0.4, in_service=False) + b5 = pp.create_bus(net, zone="test_oos_bus_with_is_element", vn_kv=0.4, in_service=False) + + pp.create_line_from_parameters(net, b2, b3, 12.2, r_ohm_per_km=0.08, x_ohm_per_km=0.12, + c_nf_per_km=300, max_i_ka=.2, df=.8) + pp.create_line_from_parameters(net, b2, b4, 12.2, r_ohm_per_km=0.08, x_ohm_per_km=0.12, + c_nf_per_km=300, max_i_ka=.2, df=.8) + pp.create_line_from_parameters(net, b2, b5, 12.2, r_ohm_per_km=0.08, x_ohm_per_km=0.12, + c_nf_per_km=300, max_i_ka=.2, df=.8) + + # in service elements + pp.create_load(net, b3, p_mw=pl, q_mvar=ql) + pp.create_gen(net, b4, p_mw=ps, vm_pu=vm_set_pu) + pp.create_sgen(net, b5, p_mw=ps, q_mvar=ql) + pp.create_ward(net, b3, pz_mw=pz, qz_mvar=qz, ps_mw=ps, qs_mvar=qs) + pp.create_xward(net, b4, pz_mw=0.5 * pz, qz_mvar=0.5 * qz, ps_mw=0.5 * ps, qs_mvar=0.5 * qs, + vm_pu=vm_pu, x_ohm=x_ohm, r_ohm=r_ohm) + pp.create_shunt(net, b5, q_mvar=-800, p_mw=0) + + net.last_added_case = "test_oos_bus_with_is_element" + return net + + +def add_test_shunt(net): + b1, b2, ln = add_grid_connection(net, zone="test_shunt") + pz = 0.12 + qz = -1.2 + # one shunt at a bus + pp.create_shunt_as_capacitor(net, b2, q_mvar=1.2, loss_factor=0.1, vn_kv=22., step=2) + # add out of service shunt shuold not change the result + pp.create_shunt(net, b2, p_mw=pz, q_mvar=qz, in_service=False) + net.last_added_case = "test_shunt" + return net + + +def add_test_shunt_split(net): + b1, b2, ln = add_grid_connection(net, zone="test_shunt_split") + pz = 0.120 + qz = -1.200 + # one shunt at a bus + pp.create_shunt(net, b2, p_mw=pz / 2, q_mvar=qz / 2) + pp.create_shunt(net, b2, p_mw=pz / 2, q_mvar=qz / 2) + net.last_added_case = "test_shunt_split" + return net + + +def add_test_two_open_switches_on_deactive_line(net): + b1, b2, l1 = add_grid_connection(net, zone="two_open_switches_on_deactive_line") + b3 = pp.create_bus(net, vn_kv=20.) + l2 = create_test_line(net, b2, b3, in_service=False) + create_test_line(net, b3, b1) + pp.create_switch(net, b2, l2, et="l", closed=False) + pp.create_switch(net, b3, l2, et="l", closed=False) + net.last_added_case = "test_two_open_switches_on_deactive_line" + return net + + +if __name__ == '__main__': + from pandapower.test.consistency_checks import runpp_with_consistency_checks + from pandapower import LoadflowNotConverged + for net in result_test_network_generator(): + try: + runpp_with_consistency_checks(net, enforce_q_lims=True, numba=True) + except (AssertionError): + raise UserWarning("Consistency Error after adding %s" % net.last_added_case) + except(LoadflowNotConverged): raise UserWarning("Power flow did not converge after adding %s" % net.last_added_case) \ No newline at end of file diff --git a/pandapower/test/loadflow/test_PTDF_LODF.py b/pandapower/test/loadflow/test_PTDF_LODF.py index ff56e437a..c9f2fdc7e 100644 --- a/pandapower/test/loadflow/test_PTDF_LODF.py +++ b/pandapower/test/loadflow/test_PTDF_LODF.py @@ -1,61 +1,61 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import numpy as np -import pytest - -import pandapower as pp -import pandapower.networks as nw -from pandapower.pd2ppc import _pd2ppc -from pandapower.pypower.makePTDF import makePTDF -from pandapower.pypower.makeLODF import makeLODF - -from pandapower.test.loadflow.result_test_network_generator import result_test_network_generator_dcpp -from pandapower.test.toolbox import add_grid_connection, create_test_line, assert_net_equal - - -def test_PTDF(): - net = nw.case30() - pp.rundcpp(net) - _, ppci = _pd2ppc(net) - - ptdf = makePTDF(ppci["baseMVA"], ppci["bus"], ppci["branch"], - using_sparse_solver=False) - _ = makePTDF(ppci["baseMVA"], ppci["bus"], ppci["branch"], - result_side=1, using_sparse_solver=False) - ptdf_sparse = makePTDF(ppci["baseMVA"], ppci["bus"], ppci["branch"], - using_sparse_solver=True) - - if not np.allclose(ptdf, ptdf_sparse): - raise AssertionError("Sparse PTDF has differenct result against dense PTDF") - if not ptdf.shape == (ppci["branch"].shape[0], ppci["bus"].shape[0]): - raise AssertionError("PTDF has wrong dimension") - if not np.all(~np.isnan(ptdf)): - raise AssertionError("PTDF has NaN value") - -def test_PTDF_large(): - net = nw.case9241pegase() - pp.rundcpp(net) - _, ppci = _pd2ppc(net) - - ptdf_sparse = makePTDF(ppci["baseMVA"], ppci["bus"], ppci["branch"], - using_sparse_solver=True) - if not ptdf_sparse.shape == (ppci["branch"].shape[0], ppci["bus"].shape[0]): - raise AssertionError("PTDF has wrong dimension") - -def test_LODF(): - net = nw.case9() - pp.rundcpp(net) - _, ppci = _pd2ppc(net) - - ptdf = makePTDF(ppci["baseMVA"], ppci["bus"], ppci["branch"]) - lodf = makeLODF(ppci["branch"], ptdf) - if not lodf.shape == (ppci["branch"].shape[0], ppci["branch"].shape[0]): - raise AssertionError("LODF has wrong dimension") - - -if __name__ == "__main__": - pytest.main([__file__, "-xs"]) +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import numpy as np +import pytest + +import pandapower as pp +import pandapower.networks as nw +from pandapower.pd2ppc import _pd2ppc +from pandapower.pypower.makePTDF import makePTDF +from pandapower.pypower.makeLODF import makeLODF + +from pandapower.test.loadflow.result_test_network_generator import result_test_network_generator_dcpp +from pandapower.test.toolbox import add_grid_connection, create_test_line, assert_net_equal + + +def test_PTDF(): + net = nw.case30() + pp.rundcpp(net) + _, ppci = _pd2ppc(net) + + ptdf = makePTDF(ppci["baseMVA"], ppci["bus"], ppci["branch"], + using_sparse_solver=False) + _ = makePTDF(ppci["baseMVA"], ppci["bus"], ppci["branch"], + result_side=1, using_sparse_solver=False) + ptdf_sparse = makePTDF(ppci["baseMVA"], ppci["bus"], ppci["branch"], + using_sparse_solver=True) + + if not np.allclose(ptdf, ptdf_sparse): + raise AssertionError("Sparse PTDF has differenct result against dense PTDF") + if not ptdf.shape == (ppci["branch"].shape[0], ppci["bus"].shape[0]): + raise AssertionError("PTDF has wrong dimension") + if not np.all(~np.isnan(ptdf)): + raise AssertionError("PTDF has NaN value") + +def test_PTDF_large(): + net = nw.case9241pegase() + pp.rundcpp(net) + _, ppci = _pd2ppc(net) + + ptdf_sparse = makePTDF(ppci["baseMVA"], ppci["bus"], ppci["branch"], + using_sparse_solver=True) + if not ptdf_sparse.shape == (ppci["branch"].shape[0], ppci["bus"].shape[0]): + raise AssertionError("PTDF has wrong dimension") + +def test_LODF(): + net = nw.case9() + pp.rundcpp(net) + _, ppci = _pd2ppc(net) + + ptdf = makePTDF(ppci["baseMVA"], ppci["bus"], ppci["branch"]) + lodf = makeLODF(ppci["branch"], ptdf) + if not lodf.shape == (ppci["branch"].shape[0], ppci["branch"].shape[0]): + raise AssertionError("LODF has wrong dimension") + + +if __name__ == "__main__": + pytest.main([__file__, "-xs"]) diff --git a/pandapower/test/loadflow/test_dist_slack.py b/pandapower/test/loadflow/test_dist_slack.py index d074110dc..137427368 100644 --- a/pandapower/test/loadflow/test_dist_slack.py +++ b/pandapower/test/loadflow/test_dist_slack.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/test/loadflow/test_results.py b/pandapower/test/loadflow/test_results.py index 9f2d37921..6e43ce52e 100644 --- a/pandapower/test/loadflow/test_results.py +++ b/pandapower/test/loadflow/test_results.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. import pandas as pd import pytest diff --git a/pandapower/test/loadflow/test_rundcpp.py b/pandapower/test/loadflow/test_rundcpp.py index f235de04d..13bb01f8b 100644 --- a/pandapower/test/loadflow/test_rundcpp.py +++ b/pandapower/test/loadflow/test_rundcpp.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/test/loadflow/test_runpp.py b/pandapower/test/loadflow/test_runpp.py index caff04bab..084a35ad2 100644 --- a/pandapower/test/loadflow/test_runpp.py +++ b/pandapower/test/loadflow/test_runpp.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/test/loadflow/test_scenarios.py b/pandapower/test/loadflow/test_scenarios.py index 045e137d1..182d3520b 100644 --- a/pandapower/test/loadflow/test_scenarios.py +++ b/pandapower/test/loadflow/test_scenarios.py @@ -1,539 +1,539 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import numpy as np -import pytest - -import pandapower as pp -from pandapower.test.consistency_checks import runpp_with_consistency_checks -from pandapower.test.loadflow.result_test_network_generator import add_test_bus_bus_switch, \ - add_test_trafo -from pandapower.test.toolbox import create_test_network2, add_grid_connection - -#TODO: 2 gen 2 ext_grid missing - - -def test_2gen_1ext_grid(): - net = create_test_network2() - net.shunt.q_mvar *= -1 - pp.create_gen(net, 2, p_mw=0.100) - net.trafo.shift_degree = 150 - pp.runpp(net, init='dc', calculate_voltage_angles=True) - - assert np.allclose(net.res_gen.p_mw.values, [0.100, 0.100]) - assert np.allclose(net.res_gen.q_mvar.values, [-0.447397232056, -0.0518152713776], atol=1e-2) - assert np.allclose(net.res_gen.va_degree.values, [0.242527288986, -143.558157703]) - assert np.allclose(net.res_gen.vm_pu.values, [1.0, 1.0]) - - assert np.allclose(net.res_bus.vm_pu, [1.000000, 0.956422, 1.000000, 1.000000]) - assert np.allclose(net.res_bus.va_degree, [0.000000, -145.536429154, -143.558157703, - 0.242527288986]) - assert np.allclose(net.res_bus.p_mw, [0.06187173, 0.03000000, -0.100, 0.00000]) - assert np.allclose(net.res_bus.q_mvar, [-.470929980278, 0.002000000, 0.0218152713776, - 0.447397232056], atol=1e-2) - assert np.allclose(net.res_ext_grid.p_mw.values, [-0.06187173]) - assert np.allclose(net.res_ext_grid.q_mvar, [0.470927898]) - - -def test_0gen_2ext_grid(): - # testing 2 ext grid and 0 gen, both EG on same trafo side - net = create_test_network2() - net.shunt.q_mvar *= -1 - pp.create_ext_grid(net, 1) - net.gen = net.gen.drop(0) - net.trafo.shift_degree = 150 - net.ext_grid.in_service.at[1] = False - pp.create_ext_grid(net, 3) - - pp.runpp(net, init='dc', calculate_voltage_angles=True) - assert np.allclose(net.res_bus.p_mw.values, [-0.000000, 0.03000000, 0.000000, -0.032993015]) - assert np.allclose(net.res_bus.q_mvar.values, [0.00408411026001, 0.002000000, - -0.0286340014753, 0.027437210083]) - assert np.allclose(net.res_bus.va_degree.values, [0.000000, -155.719283, - -153.641832, 0.000000]) - assert np.allclose(net.res_bus.vm_pu.values, [1.000000, 0.932225, - 0.976965, 1.000000]) - - assert np.allclose(net.res_ext_grid.p_mw.values, [-0.000000, 0.000000, 0.132993015]) - assert np.allclose(net.res_ext_grid.q_mvar, [-0.00408411026001, 0.000000, -0.027437210083]) - - -def test_0gen_2ext_grid_decoupled(): - net = create_test_network2() - net.gen = net.gen.drop(0) - net.shunt.q_mvar *= -1 - pp.create_ext_grid(net, 1) - net.ext_grid.in_service.at[1] = False - pp.create_ext_grid(net, 3) - net.ext_grid.in_service.at[2] = False - auxbus = pp.create_bus(net, name="bus1", vn_kv=10.) - net.trafo.shift_degree = 150 - pp.create_std_type(net, {"type": "cs", "r_ohm_per_km": 0.876, "q_mm2": 35.0, - "endtmp_deg": 160.0, "c_nf_per_km": 260.0, - "max_i_ka": 0.123, "x_ohm_per_km": 0.1159876}, - name="NAYSEY 3x35rm/16 6/10kV", element="line") - pp.create_line(net, 0, auxbus, 1, name="line_to_decoupled_grid", - std_type="NAYSEY 3x35rm/16 6/10kV") # NAYSEY 3x35rm/16 6/10kV - pp.create_ext_grid(net, auxbus) - pp.create_switch(net, auxbus, 2, et="l", closed=0, type="LS") - pp.runpp(net, init='dc', calculate_voltage_angles=True) - - assert np.allclose(net.res_bus.p_mw.values*1e3, [-133.158732, 30.000000, - 0.000000, 100.000000, 0.000000]) - assert np.allclose(net.res_bus.q_mvar.values*1e3, [39.5843982697, 2.000000, - -28.5636406913, 0.000000, 0.000000]) - assert np.allclose(net.res_bus.va_degree.values, [0.000000, -155.752225311, - -153.669395244, - -0.0225931152895, 0.0]) - assert np.allclose(net.res_bus.vm_pu.values, [1.000000, 0.930961, - 0.975764, 0.998865, 1.0]) - - assert np.allclose(net.res_ext_grid.p_mw.values*1e3, [133.158732, 0.000000, 0.000000, - -0.000000]) - assert np.allclose(net.res_ext_grid.q_mvar*1e3, [-39.5843982697, 0.000000, 0.000000, - -0.000000]) - - -def test_bus_bus_switch_at_eg(): - net = pp.create_empty_network() - b1 = pp.create_bus(net, name="bus1", vn_kv=.4) - b2 = pp.create_bus(net, name="bus2", vn_kv=.4) - b3 = pp.create_bus(net, name="bus3", vn_kv=.4) - - pp.create_ext_grid(net, b1) - - pp.create_switch(net, b1, et="b", element=1) - pp.create_line(net, b2, b3, 1, name="line1", - std_type="NAYY 4x150 SE") - - pp.create_load(net, b3, p_mw=0.01, q_mvar=0, name="load1") - - runpp_with_consistency_checks(net) - - -def test_bb_switch(): - net = pp.create_empty_network() - net = add_test_bus_bus_switch(net) - runpp_with_consistency_checks(net) - - -def test_two_gens_at_one_bus(): - net = pp.create_empty_network() - - b1 = pp.create_bus(net, 380) - b2 = pp.create_bus(net, 380) - b3 = pp.create_bus(net, 380) - - pp.create_ext_grid(net, b1, 1.02, max_p_mw=0.) - p1 = 800 - p2 = 500 - - g1 = pp.create_gen(net, b3, vm_pu=1.018, p_mw=p1) - g2 = pp.create_gen(net, b3, vm_pu=1.018, p_mw=p2) - pp.create_line(net, b1, b2, 30, "490-AL1/64-ST1A 380.0") - pp.create_line(net, b2, b3, 20, "490-AL1/64-ST1A 380.0") - - pp.runpp(net) - assert net.res_gen.p_mw.at[g1] == p1 - assert net.res_gen.p_mw.at[g2] == p2 - - -def test_ext_grid_gen_order_in_ppc(): - net = pp.create_empty_network() - - for b in range(6): - pp.create_bus(net, vn_kv=1., name=b) - - for l_bus in range(0, 5, 2): - pp.create_line(net, from_bus=l_bus, to_bus=l_bus+1, length_km=1, - std_type="48-AL1/8-ST1A 10.0") - - for slack_bus in [0, 2, 5]: - pp.create_ext_grid(net, bus=slack_bus, vm_pu=1.) - - for gen_bus in [0, 1, 2, 3, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5]: - pp.create_gen(net, bus=gen_bus, p_mw=1, vm_pu=1.) - - pp.rundcpp(net) - assert all(net.res_gen.p_mw == net.gen.p_mw) - assert all(net.res_ext_grid.p_mw < 0) - - pp.runpp(net) - assert all(net.res_gen.p_mw == net.gen.p_mw) - assert all(net.res_ext_grid.p_mw < 0) - - -def test_isolated_gen_lookup(): - net = pp.create_empty_network() - - gen_bus = pp.create_bus(net, vn_kv=1., name='gen_bus') - slack_bus = pp.create_bus(net, vn_kv=1., name='slack_bus') - gen_iso_bus = pp.create_bus(net, vn_kv=1., name='iso_bus') - - pp.create_line(net, from_bus=slack_bus, to_bus=gen_bus, length_km=1, - std_type="48-AL1/8-ST1A 10.0") - - pp.create_ext_grid(net, bus=slack_bus, vm_pu=1.) - - pp.create_gen(net, bus=gen_iso_bus, p_mw=1, vm_pu=1., name='iso_gen') - pp.create_gen(net, bus=gen_bus, p_mw=1, vm_pu=1., name='oos_gen', in_service=False) - pp.create_gen(net, bus=gen_bus, p_mw=2, vm_pu=1., name='gen') - - pp.rundcpp(net) - assert np.allclose(net.res_gen.p_mw.values, [0, 0, 2]) - - pp.runpp(net) - assert np.allclose(net.res_gen.p_mw.values, [0, 0, 2]) - - pp.create_xward(net, bus=gen_iso_bus, pz_mw=1., qz_mvar=1., ps_mw=1., qs_mvar=1., - vm_pu=1., x_ohm=1., r_ohm=.1) - pp.create_xward(net, bus=gen_bus, pz_mw=1., qz_mvar=1., ps_mw=1., qs_mvar=1., - vm_pu=1., x_ohm=1., r_ohm=.1) - pp.create_xward(net, bus=gen_iso_bus, pz_mw=1., qz_mvar=1., ps_mw=1., qs_mvar=1., - vm_pu=1., x_ohm=1., r_ohm=.1, in_service=False) - - pp.rundcpp(net) - assert np.allclose(net.res_gen.p_mw.values, [0, 0, 2]) - assert np.allclose(net.res_xward.p_mw.values, [0, 2, 0]) - - pp.runpp(net) - assert np.allclose(net.res_gen.p_mw.values, [0, 0, 2]) - assert np.allclose(net.res_xward.p_mw.values, [0, 2, 0]) - - -def test_transformer_phase_shift(): - net = pp.create_empty_network() - for side in ["hv", "lv"]: - b1 = pp.create_bus(net, vn_kv=110.) - b2 = pp.create_bus(net, vn_kv=20.) - b3 = pp.create_bus(net, vn_kv=0.4) - pp.create_ext_grid(net, b1) - pp.create_transformer_from_parameters( - net, b1, b2, 40000, 110, 20, 0.1, 5, 0, 0.1, 30, side, - # 0, 2, -2, 1.25, 10, 0) - 0, 2, -2, 0, 10, 0, True) - pp.create_transformer_from_parameters( - net, b2, b3, 630, 20, 0.4, 0.1, 5, 0, 0.1, 20, tap_phase_shifter=True) - pp.runpp(net, init="dc", calculate_voltage_angles=True) - b2a_angle = net.res_bus.va_degree.at[1] - b3a_angle = net.res_bus.va_degree.at[2] - b2b_angle = net.res_bus.va_degree.at[4] - b3b_angle = net.res_bus.va_degree.at[5] - - net.trafo.tap_pos.at[0] = 1 - net.trafo.tap_pos.at[2] = 1 - pp.runpp(net, init="dc", calculate_voltage_angles=True) - assert np.isclose(b2a_angle - net.res_bus.va_degree.at[1], 10) - assert np.isclose(b3a_angle - net.res_bus.va_degree.at[2], 10) - assert np.isclose(b2b_angle - net.res_bus.va_degree.at[4], -10) - assert np.isclose(b3b_angle - net.res_bus.va_degree.at[5], -10) - - -def test_transformer_phase_shift_complex(): - test_ref = (0.99967, -30.7163) - test_tap_pos = { - 'hv': (0.9617, -31.1568), - 'lv': (1.0391, -30.3334) - } - test_tap_neg = { - 'hv': (1.0407, -30.2467), - 'lv': (0.9603, -31.1306) - } - for side in ["hv", "lv"]: - net = pp.create_empty_network() - b1 = pp.create_bus(net, vn_kv=110.) - pp.create_ext_grid(net, b1) - b2 = pp.create_bus(net, vn_kv=20.) - pp.create_load(net, b2, p_mw=10) - pp.create_transformer_from_parameters(net, hv_bus=b1, lv_bus=b2, sn_mva=40, vn_hv_kv=110, - vn_lv_kv=20, vkr_percent=0.1, vk_percent=5, - pfe_kw=0, i0_percent=0.1, shift_degree=30, - tap_side=side, tap_neutral=0, tap_max=2, tap_min=-2, - tap_step_percent=2, tap_step_degree=10, tap_pos=0) - pp.runpp(net, init="dc", calculate_voltage_angles=True) - assert np.isclose(net.res_bus.vm_pu.at[b2], test_ref[0], rtol=1e-4) - assert np.isclose(net.res_bus.va_degree.at[b2], test_ref[1], rtol=1e-4) - - net.trafo.tap_pos.at[0] = 2 - pp.runpp(net, init="dc", calculate_voltage_angles=True) - assert np.isclose(net.res_bus.vm_pu.at[b2], test_tap_pos[side][0], rtol=1e-4) - assert np.isclose(net.res_bus.va_degree.at[b2], test_tap_pos[side][1], rtol=1e-4) - - net.trafo.tap_pos.at[0] = -2 - pp.runpp(net, init="dc", calculate_voltage_angles=True) - assert np.isclose(net.res_bus.vm_pu.at[b2], test_tap_neg[side][0], rtol=1e-4) - assert np.isclose(net.res_bus.va_degree.at[b2], test_tap_neg[side][1], rtol=1e-4) - - -def test_transformer3w_phase_shift(): - test_ref = ((0.9995, -31.003), (0.9996, -60.764)) - test_tap_pos = { - 'hv': ((0.9615, -31.466), (0.9617, -61.209)), - 'mv': ((1.0389, -30.620), (0.9996, -60.764)), - 'lv': ((0.9995, -31.003), (1.039, -60.381)) - } - test_tap_neg = { - 'hv': ((1.0405, -30.511), (1.0406, -60.291)), - 'mv': ((0.9602, -31.417), (0.9996, -60.764)), - 'lv': ((0.9995, -31.003), (0.9603, -61.178)) - } - for side in ["hv", "mv", "lv"]: - net = pp.create_empty_network() - b1 = pp.create_bus(net, vn_kv=110.) - pp.create_ext_grid(net, b1) - b2 = pp.create_bus(net, vn_kv=20.) - pp.create_load(net, b2, p_mw=10) - b3 = pp.create_bus(net, vn_kv=0.4) - pp.create_load(net, b3, p_mw=1) - pp.create_transformer3w_from_parameters(net, hv_bus=b1, mv_bus=b2, lv_bus=b3, vn_hv_kv=110, - vn_mv_kv=20, vn_lv_kv=0.4, sn_hv_mva=40, - sn_mv_mva=30, sn_lv_mva=10, - vk_hv_percent=5, vk_mv_percent=5, - vk_lv_percent=5, vkr_hv_percent=0.1, - vkr_mv_percent=0.1, vkr_lv_percent=0.1, pfe_kw=0, - i0_percent=0.1, shift_mv_degree=30, - shift_lv_degree=60, tap_side=side, - tap_step_percent=2, tap_step_degree=10, tap_pos=0, - tap_neutral=0, tap_min=-2, - tap_max=2) - pp.runpp(net, init="dc", calculate_voltage_angles=True) - assert np.isclose(net.res_bus.vm_pu.at[b2], test_ref[0][0], rtol=1e-4) - assert np.isclose(net.res_bus.va_degree.at[b2], test_ref[0][1], rtol=1e-4) - assert np.isclose(net.res_bus.vm_pu.at[b3], test_ref[1][0], rtol=1e-4) - assert np.isclose(net.res_bus.va_degree.at[b3], test_ref[1][1], rtol=1e-4) - - net.trafo3w.tap_pos.at[0] = 2 - pp.runpp(net, init="dc", calculate_voltage_angles=True) - assert np.isclose(net.res_bus.vm_pu.at[b2], test_tap_pos[side][0][0], rtol=1e-4) - assert np.isclose(net.res_bus.va_degree.at[b2], test_tap_pos[side][0][1], rtol=1e-4) - assert np.isclose(net.res_bus.vm_pu.at[b3], test_tap_pos[side][1][0], rtol=1e-4) - assert np.isclose(net.res_bus.va_degree.at[b3], test_tap_pos[side][1][1], rtol=1e-4) - - net.trafo3w.tap_pos.at[0] = -2 - pp.runpp(net, init="dc", calculate_voltage_angles=True) - assert np.isclose(net.res_bus.vm_pu.at[b2], test_tap_neg[side][0][0], rtol=1e-4) - assert np.isclose(net.res_bus.va_degree.at[b2], test_tap_neg[side][0][1], rtol=1e-4) - assert np.isclose(net.res_bus.vm_pu.at[b3], test_tap_neg[side][1][0], rtol=1e-4) - assert np.isclose(net.res_bus.va_degree.at[b3], test_tap_neg[side][1][1], rtol=1e-4) - - -def test_volt_dep_load_at_inactive_bus(): - # create empty net - net = pp.create_empty_network() - - # create buses - bus1 = pp.create_bus(net, index=0, vn_kv=20., name="Bus 1") - bus2 = pp.create_bus(net, index=1, vn_kv=0.4, name="Bus 2") - bus3 = pp.create_bus(net, index=3, in_service=False, vn_kv=0.4, name="Bus 3") - bus4 = pp.create_bus(net, index=4, vn_kv=0.4, name="Bus 4") - bus4 = pp.create_bus(net, index=5, vn_kv=0.4, name="Bus 4") - - # create bus elements - pp.create_ext_grid(net, bus=bus1, vm_pu=1.02, name="Grid Connection") - pp.create_load(net, bus=4, p_mw=0.1, q_mvar=0.05, name="Load3", const_i_percent=100) - pp.create_load(net, bus=5, p_mw=0.1, q_mvar=0.05, name="Load4") - - # create branch elements - trafo = pp.create_transformer(net, hv_bus=bus1, lv_bus=bus2, std_type="0.4 MVA 20/0.4 kV", - name="Trafo") - line1 = pp.create_line(net, from_bus=1, to_bus=3, length_km=0.1, std_type="NAYY 4x50 SE", - name="Line") - line2 = pp.create_line(net, from_bus=1, to_bus=4, length_km=0.1, std_type="NAYY 4x50 SE", - name="Line") - line3 = pp.create_line(net, from_bus=1, to_bus=5, length_km=0.1, std_type="NAYY 4x50 SE", - name="Line") - - pp.runpp(net) - assert not np.isnan(net.res_load.p_mw.at[1]) - assert not np.isnan(net.res_bus.p_mw.at[5]) - assert net.res_bus.p_mw.at[3] == 0 - - -def test_two_oos_buses(): - net = pp.create_empty_network() - - b1 = pp.create_bus(net, vn_kv=0.4) - b2 = pp.create_bus(net, vn_kv=0.4) - b3 = pp.create_bus(net, vn_kv=0.4, in_service=False) - b4 = pp.create_bus(net, vn_kv=0.4, in_service=False) - - pp.create_ext_grid(net, b1) - l1 = pp.create_line(net, b1, b2, 0.5, std_type="NAYY 4x50 SE", index=4) - l2 = pp.create_line(net, b2, b3, 0.5, std_type="NAYY 4x50 SE", index=2) - l3 = pp.create_line(net, b3, b4, 0.5, std_type="NAYY 4x50 SE", index=7) - - pp.runpp(net) - assert net.res_line.loading_percent.at[l1] > 0 - assert net.res_line.loading_percent.at[l2] > 0 - assert np.isnan(net.res_line.loading_percent.at[l3]) - - net.line.drop(l2, inplace=True) - pp.runpp(net) - assert net.res_line.loading_percent.at[l1] > 0 - assert np.isnan(net.res_line.loading_percent.at[l3]) - - -def test_oos_buses_at_trafo3w(): - net = pp.create_empty_network() - - b1 = pp.create_bus(net, vn_kv=110.) - b2 = pp.create_bus(net, vn_kv=110.) - b3 = pp.create_bus(net, vn_kv=110., in_service=False) - b4 = pp.create_bus(net, vn_kv=20., in_service=False) - b5 = pp.create_bus(net, vn_kv=10., in_service=False) - - pp.create_ext_grid(net, b1) - l1 = pp.create_line(net, b1, b2, 0.5, std_type="NAYY 4x50 SE", in_service=True) - l2 = pp.create_line(net, b2, b3, 0.5, std_type="NAYY 4x50 SE", in_service=False) - - tidx = pp.create_transformer3w( - net, b3, b4, b5, std_type='63/25/38 MVA 110/20/10 kV', in_service=True) - - pp.runpp(net, trafo3w_losses = 'star', trafo_model= 'pi', init='flat') - - assert net.res_line.loading_percent.at[l1] > 0 - assert np.isnan(net.res_trafo3w.i_hv_ka.at[tidx]) - - -@pytest.fixture -def network_with_trafo3ws(): - net = pp.create_empty_network() - add_test_trafo(net) - slack, hv, ln = add_grid_connection(net, zone="test_trafo3w") - for _ in range(2): - mv = pp.create_bus(net, vn_kv=0.6, zone="test_trafo3w") - pp.create_load(net, mv, p_mw=0.8, q_mvar=0) - lv = pp.create_bus(net, vn_kv=0.4, zone="test_trafo3w") - pp.create_load(net, lv, p_mw=0.5, q_mvar=0) - t3 = pp.create_transformer3w_from_parameters( - net, hv_bus=hv, mv_bus=mv, lv_bus=lv, vn_hv_kv=22, - vn_mv_kv=.64, vn_lv_kv=.42, sn_hv_mva=1, - sn_mv_mva=0.7, sn_lv_mva=0.3, vk_hv_percent=1., - vkr_hv_percent=.03, vk_mv_percent=.5, - vkr_mv_percent=.02, vk_lv_percent=.25, - vkr_lv_percent=.01, pfe_kw=.5, i0_percent=0.1, - name="test", index=pp.get_free_id(net.trafo3w) + 1, - tap_side="hv", tap_pos=2, tap_step_percent=1.25, - tap_min=-5, tap_neutral=0, tap_max=5) - return (net, t3, hv, mv, lv) - - -def test_trafo3w_switches(network_with_trafo3ws): - net, t3, hv, mv, lv = network_with_trafo3ws - - # open switch at hv side - t3 is disconnected - s1 = pp.create_switch(net, bus=hv, element=t3, et="t3", closed=False) - runpp_with_consistency_checks(net) - assert np.isnan(net.res_bus.vm_pu.at[mv]) - assert np.isnan(net.res_bus.vm_pu.at[lv]) - assert np.isnan(net.res_trafo3w.p_hv_mw.at[t3]) == 0 - - # open switch at mv side - mv is disconnected, lv is connected - net.switch.bus.at[s1] = mv - runpp_with_consistency_checks(net) - - assert np.isnan(net.res_bus.vm_pu.at[mv]) - assert not np.isnan(net.res_bus.vm_pu.at[lv]) - assert net.res_trafo3w.i_lv_ka.at[t3] > 1e-5 - assert net.res_trafo3w.i_mv_ka.at[t3] < 1e-5 - assert 0.490 < net.res_trafo3w.p_hv_mw.at[t3] < 0.510 - - # open switch at lv side - lv is disconnected, mv is connected - net.switch.bus.at[s1] = lv - runpp_with_consistency_checks(net) - - assert np.isnan(net.res_bus.vm_pu.at[lv]) - assert not np.isnan(net.res_bus.vm_pu.at[mv]) - assert net.res_trafo3w.i_lv_ka.at[t3] < 1e-5 - assert net.res_trafo3w.i_mv_ka.at[t3] > 1e-5 - assert 0.790 < net.res_trafo3w.p_hv_mw.at[t3] < 0.810 - - # open switch at lv and mv side - lv and mv is disconnected, t3 in open loop - pp.create_switch(net, bus=mv, element=t3, et="t3", closed=False) - runpp_with_consistency_checks(net) - - assert np.isnan(net.res_bus.vm_pu.at[lv]) - assert np.isnan(net.res_bus.vm_pu.at[mv]) - assert net.res_trafo3w.i_lv_ka.at[t3] < 1e-5 - assert net.res_trafo3w.i_mv_ka.at[t3] < 1e-5 - assert 0 < net.res_trafo3w.p_hv_mw.at[t3] < 1 - - -def test_generator_as_slack(): - net = pp.create_empty_network() - b1 = pp.create_bus(net, 110.) - pp.create_ext_grid(net, b1, vm_pu=1.02) - b2 = pp.create_bus(net, 110.) - pp.create_line(net, b1, b2, length_km=70., std_type='149-AL1/24-ST1A 110.0') - pp.create_load(net, b2, p_mw=2) - pp.runpp(net) - res_bus = net.res_bus.vm_pu.values - - pp.create_gen(net, b1, p_mw=0.1, vm_pu=1.02, slack=True) - net.ext_grid.in_service.iloc[0] = False - pp.runpp(net) - assert np.allclose(res_bus, net.res_bus.vm_pu.values) - - net.gen.slack.iloc[0] = False - with pytest.raises(UserWarning): - pp.runpp(net) - - -def test_transformer_with_two_open_switches(): - net = pp.create_empty_network() - b1 = pp.create_bus(net, 110.) - pp.create_ext_grid(net, b1, vm_pu=1.02) - b2 = pp.create_bus(net, 20.) - t = pp.create_transformer(net, b1, b2, std_type='63 MVA 110/20 kV') - b3 = pp.create_bus(net, 20.) - pp.create_line(net, b2, b3, length_km=7., std_type='149-AL1/24-ST1A 110.0') - pp.create_load(net, b2, p_mw=2) - pp.runpp(net) - - assert net.res_trafo.vm_hv_pu.at[t] == net.res_bus.vm_pu.at[b1] - assert net.res_trafo.vm_lv_pu.at[t] == net.res_bus.vm_pu.at[b2] - - pp.create_switch(net, b2, element=t, et="t", closed=False) - pp.runpp(net) - assert net.res_trafo.vm_hv_pu.at[t] == net.res_bus.vm_pu.at[b1] - assert net.res_trafo.vm_lv_pu.at[t] != net.res_bus.vm_pu.at[b2] - - pp.create_switch(net, b1, element=t, et="t", closed=False) - pp.runpp(net) - assert net.res_trafo.vm_hv_pu.at[t] != net.res_bus.vm_pu.at[b1] - assert net.res_trafo.vm_lv_pu.at[t] != net.res_bus.vm_pu.at[b2] - - -def test_motor(): - net = pp.create_empty_network() - b1 = pp.create_bus(net, 0.4) - b2 = pp.create_bus(net, 0.4) - pp.create_line(net, b1, b2, length_km=0.1, std_type="NAYY 4x50 SE") - pp.create_ext_grid(net, b1) - p_mech = 0.1 - cos_phi = 0.98 - efficiency = 95 - pp.create_motor(net, b2, pn_mech_mw=0.1, cos_phi=cos_phi, - efficiency_percent=efficiency) - - pp.runpp(net) - p = net.res_motor.p_mw.iloc[0] - q = net.res_motor.q_mvar.iloc[0] - s = np.sqrt(p**2+q**2) - assert p == p_mech / efficiency * 100 - assert p/s == cos_phi - res_bus_motor = net.res_bus.copy() - - pp.create_load(net, b2, p_mw=net.res_motor.p_mw.values[0], - q_mvar=net.res_motor.q_mvar.values[0]) - net.motor.in_service = False - - pp.runpp(net) - assert net.res_bus.equals(res_bus_motor) - - -if __name__ == "__main__": - pytest.main(["-xs", __file__]) +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import numpy as np +import pytest + +import pandapower as pp +from pandapower.test.consistency_checks import runpp_with_consistency_checks +from pandapower.test.loadflow.result_test_network_generator import add_test_bus_bus_switch, \ + add_test_trafo +from pandapower.test.toolbox import create_test_network2, add_grid_connection + +#TODO: 2 gen 2 ext_grid missing + + +def test_2gen_1ext_grid(): + net = create_test_network2() + net.shunt.q_mvar *= -1 + pp.create_gen(net, 2, p_mw=0.100) + net.trafo.shift_degree = 150 + pp.runpp(net, init='dc', calculate_voltage_angles=True) + + assert np.allclose(net.res_gen.p_mw.values, [0.100, 0.100]) + assert np.allclose(net.res_gen.q_mvar.values, [-0.447397232056, -0.0518152713776], atol=1e-2) + assert np.allclose(net.res_gen.va_degree.values, [0.242527288986, -143.558157703]) + assert np.allclose(net.res_gen.vm_pu.values, [1.0, 1.0]) + + assert np.allclose(net.res_bus.vm_pu, [1.000000, 0.956422, 1.000000, 1.000000]) + assert np.allclose(net.res_bus.va_degree, [0.000000, -145.536429154, -143.558157703, + 0.242527288986]) + assert np.allclose(net.res_bus.p_mw, [0.06187173, 0.03000000, -0.100, 0.00000]) + assert np.allclose(net.res_bus.q_mvar, [-.470929980278, 0.002000000, 0.0218152713776, + 0.447397232056], atol=1e-2) + assert np.allclose(net.res_ext_grid.p_mw.values, [-0.06187173]) + assert np.allclose(net.res_ext_grid.q_mvar, [0.470927898]) + + +def test_0gen_2ext_grid(): + # testing 2 ext grid and 0 gen, both EG on same trafo side + net = create_test_network2() + net.shunt.q_mvar *= -1 + pp.create_ext_grid(net, 1) + net.gen = net.gen.drop(0) + net.trafo.shift_degree = 150 + net.ext_grid.in_service.at[1] = False + pp.create_ext_grid(net, 3) + + pp.runpp(net, init='dc', calculate_voltage_angles=True) + assert np.allclose(net.res_bus.p_mw.values, [-0.000000, 0.03000000, 0.000000, -0.032993015]) + assert np.allclose(net.res_bus.q_mvar.values, [0.00408411026001, 0.002000000, + -0.0286340014753, 0.027437210083]) + assert np.allclose(net.res_bus.va_degree.values, [0.000000, -155.719283, + -153.641832, 0.000000]) + assert np.allclose(net.res_bus.vm_pu.values, [1.000000, 0.932225, + 0.976965, 1.000000]) + + assert np.allclose(net.res_ext_grid.p_mw.values, [-0.000000, 0.000000, 0.132993015]) + assert np.allclose(net.res_ext_grid.q_mvar, [-0.00408411026001, 0.000000, -0.027437210083]) + + +def test_0gen_2ext_grid_decoupled(): + net = create_test_network2() + net.gen = net.gen.drop(0) + net.shunt.q_mvar *= -1 + pp.create_ext_grid(net, 1) + net.ext_grid.in_service.at[1] = False + pp.create_ext_grid(net, 3) + net.ext_grid.in_service.at[2] = False + auxbus = pp.create_bus(net, name="bus1", vn_kv=10.) + net.trafo.shift_degree = 150 + pp.create_std_type(net, {"type": "cs", "r_ohm_per_km": 0.876, "q_mm2": 35.0, + "endtmp_deg": 160.0, "c_nf_per_km": 260.0, + "max_i_ka": 0.123, "x_ohm_per_km": 0.1159876}, + name="NAYSEY 3x35rm/16 6/10kV", element="line") + pp.create_line(net, 0, auxbus, 1, name="line_to_decoupled_grid", + std_type="NAYSEY 3x35rm/16 6/10kV") # NAYSEY 3x35rm/16 6/10kV + pp.create_ext_grid(net, auxbus) + pp.create_switch(net, auxbus, 2, et="l", closed=0, type="LS") + pp.runpp(net, init='dc', calculate_voltage_angles=True) + + assert np.allclose(net.res_bus.p_mw.values*1e3, [-133.158732, 30.000000, + 0.000000, 100.000000, 0.000000]) + assert np.allclose(net.res_bus.q_mvar.values*1e3, [39.5843982697, 2.000000, + -28.5636406913, 0.000000, 0.000000]) + assert np.allclose(net.res_bus.va_degree.values, [0.000000, -155.752225311, + -153.669395244, + -0.0225931152895, 0.0]) + assert np.allclose(net.res_bus.vm_pu.values, [1.000000, 0.930961, + 0.975764, 0.998865, 1.0]) + + assert np.allclose(net.res_ext_grid.p_mw.values*1e3, [133.158732, 0.000000, 0.000000, + -0.000000]) + assert np.allclose(net.res_ext_grid.q_mvar*1e3, [-39.5843982697, 0.000000, 0.000000, + -0.000000]) + + +def test_bus_bus_switch_at_eg(): + net = pp.create_empty_network() + b1 = pp.create_bus(net, name="bus1", vn_kv=.4) + b2 = pp.create_bus(net, name="bus2", vn_kv=.4) + b3 = pp.create_bus(net, name="bus3", vn_kv=.4) + + pp.create_ext_grid(net, b1) + + pp.create_switch(net, b1, et="b", element=1) + pp.create_line(net, b2, b3, 1, name="line1", + std_type="NAYY 4x150 SE") + + pp.create_load(net, b3, p_mw=0.01, q_mvar=0, name="load1") + + runpp_with_consistency_checks(net) + + +def test_bb_switch(): + net = pp.create_empty_network() + net = add_test_bus_bus_switch(net) + runpp_with_consistency_checks(net) + + +def test_two_gens_at_one_bus(): + net = pp.create_empty_network() + + b1 = pp.create_bus(net, 380) + b2 = pp.create_bus(net, 380) + b3 = pp.create_bus(net, 380) + + pp.create_ext_grid(net, b1, 1.02, max_p_mw=0.) + p1 = 800 + p2 = 500 + + g1 = pp.create_gen(net, b3, vm_pu=1.018, p_mw=p1) + g2 = pp.create_gen(net, b3, vm_pu=1.018, p_mw=p2) + pp.create_line(net, b1, b2, 30, "490-AL1/64-ST1A 380.0") + pp.create_line(net, b2, b3, 20, "490-AL1/64-ST1A 380.0") + + pp.runpp(net) + assert net.res_gen.p_mw.at[g1] == p1 + assert net.res_gen.p_mw.at[g2] == p2 + + +def test_ext_grid_gen_order_in_ppc(): + net = pp.create_empty_network() + + for b in range(6): + pp.create_bus(net, vn_kv=1., name=b) + + for l_bus in range(0, 5, 2): + pp.create_line(net, from_bus=l_bus, to_bus=l_bus+1, length_km=1, + std_type="48-AL1/8-ST1A 10.0") + + for slack_bus in [0, 2, 5]: + pp.create_ext_grid(net, bus=slack_bus, vm_pu=1.) + + for gen_bus in [0, 1, 2, 3, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5]: + pp.create_gen(net, bus=gen_bus, p_mw=1, vm_pu=1.) + + pp.rundcpp(net) + assert all(net.res_gen.p_mw == net.gen.p_mw) + assert all(net.res_ext_grid.p_mw < 0) + + pp.runpp(net) + assert all(net.res_gen.p_mw == net.gen.p_mw) + assert all(net.res_ext_grid.p_mw < 0) + + +def test_isolated_gen_lookup(): + net = pp.create_empty_network() + + gen_bus = pp.create_bus(net, vn_kv=1., name='gen_bus') + slack_bus = pp.create_bus(net, vn_kv=1., name='slack_bus') + gen_iso_bus = pp.create_bus(net, vn_kv=1., name='iso_bus') + + pp.create_line(net, from_bus=slack_bus, to_bus=gen_bus, length_km=1, + std_type="48-AL1/8-ST1A 10.0") + + pp.create_ext_grid(net, bus=slack_bus, vm_pu=1.) + + pp.create_gen(net, bus=gen_iso_bus, p_mw=1, vm_pu=1., name='iso_gen') + pp.create_gen(net, bus=gen_bus, p_mw=1, vm_pu=1., name='oos_gen', in_service=False) + pp.create_gen(net, bus=gen_bus, p_mw=2, vm_pu=1., name='gen') + + pp.rundcpp(net) + assert np.allclose(net.res_gen.p_mw.values, [0, 0, 2]) + + pp.runpp(net) + assert np.allclose(net.res_gen.p_mw.values, [0, 0, 2]) + + pp.create_xward(net, bus=gen_iso_bus, pz_mw=1., qz_mvar=1., ps_mw=1., qs_mvar=1., + vm_pu=1., x_ohm=1., r_ohm=.1) + pp.create_xward(net, bus=gen_bus, pz_mw=1., qz_mvar=1., ps_mw=1., qs_mvar=1., + vm_pu=1., x_ohm=1., r_ohm=.1) + pp.create_xward(net, bus=gen_iso_bus, pz_mw=1., qz_mvar=1., ps_mw=1., qs_mvar=1., + vm_pu=1., x_ohm=1., r_ohm=.1, in_service=False) + + pp.rundcpp(net) + assert np.allclose(net.res_gen.p_mw.values, [0, 0, 2]) + assert np.allclose(net.res_xward.p_mw.values, [0, 2, 0]) + + pp.runpp(net) + assert np.allclose(net.res_gen.p_mw.values, [0, 0, 2]) + assert np.allclose(net.res_xward.p_mw.values, [0, 2, 0]) + + +def test_transformer_phase_shift(): + net = pp.create_empty_network() + for side in ["hv", "lv"]: + b1 = pp.create_bus(net, vn_kv=110.) + b2 = pp.create_bus(net, vn_kv=20.) + b3 = pp.create_bus(net, vn_kv=0.4) + pp.create_ext_grid(net, b1) + pp.create_transformer_from_parameters( + net, b1, b2, 40000, 110, 20, 0.1, 5, 0, 0.1, 30, side, + # 0, 2, -2, 1.25, 10, 0) + 0, 2, -2, 0, 10, 0, True) + pp.create_transformer_from_parameters( + net, b2, b3, 630, 20, 0.4, 0.1, 5, 0, 0.1, 20, tap_phase_shifter=True) + pp.runpp(net, init="dc", calculate_voltage_angles=True) + b2a_angle = net.res_bus.va_degree.at[1] + b3a_angle = net.res_bus.va_degree.at[2] + b2b_angle = net.res_bus.va_degree.at[4] + b3b_angle = net.res_bus.va_degree.at[5] + + net.trafo.tap_pos.at[0] = 1 + net.trafo.tap_pos.at[2] = 1 + pp.runpp(net, init="dc", calculate_voltage_angles=True) + assert np.isclose(b2a_angle - net.res_bus.va_degree.at[1], 10) + assert np.isclose(b3a_angle - net.res_bus.va_degree.at[2], 10) + assert np.isclose(b2b_angle - net.res_bus.va_degree.at[4], -10) + assert np.isclose(b3b_angle - net.res_bus.va_degree.at[5], -10) + + +def test_transformer_phase_shift_complex(): + test_ref = (0.99967, -30.7163) + test_tap_pos = { + 'hv': (0.9617, -31.1568), + 'lv': (1.0391, -30.3334) + } + test_tap_neg = { + 'hv': (1.0407, -30.2467), + 'lv': (0.9603, -31.1306) + } + for side in ["hv", "lv"]: + net = pp.create_empty_network() + b1 = pp.create_bus(net, vn_kv=110.) + pp.create_ext_grid(net, b1) + b2 = pp.create_bus(net, vn_kv=20.) + pp.create_load(net, b2, p_mw=10) + pp.create_transformer_from_parameters(net, hv_bus=b1, lv_bus=b2, sn_mva=40, vn_hv_kv=110, + vn_lv_kv=20, vkr_percent=0.1, vk_percent=5, + pfe_kw=0, i0_percent=0.1, shift_degree=30, + tap_side=side, tap_neutral=0, tap_max=2, tap_min=-2, + tap_step_percent=2, tap_step_degree=10, tap_pos=0) + pp.runpp(net, init="dc", calculate_voltage_angles=True) + assert np.isclose(net.res_bus.vm_pu.at[b2], test_ref[0], rtol=1e-4) + assert np.isclose(net.res_bus.va_degree.at[b2], test_ref[1], rtol=1e-4) + + net.trafo.tap_pos.at[0] = 2 + pp.runpp(net, init="dc", calculate_voltage_angles=True) + assert np.isclose(net.res_bus.vm_pu.at[b2], test_tap_pos[side][0], rtol=1e-4) + assert np.isclose(net.res_bus.va_degree.at[b2], test_tap_pos[side][1], rtol=1e-4) + + net.trafo.tap_pos.at[0] = -2 + pp.runpp(net, init="dc", calculate_voltage_angles=True) + assert np.isclose(net.res_bus.vm_pu.at[b2], test_tap_neg[side][0], rtol=1e-4) + assert np.isclose(net.res_bus.va_degree.at[b2], test_tap_neg[side][1], rtol=1e-4) + + +def test_transformer3w_phase_shift(): + test_ref = ((0.9995, -31.003), (0.9996, -60.764)) + test_tap_pos = { + 'hv': ((0.9615, -31.466), (0.9617, -61.209)), + 'mv': ((1.0389, -30.620), (0.9996, -60.764)), + 'lv': ((0.9995, -31.003), (1.039, -60.381)) + } + test_tap_neg = { + 'hv': ((1.0405, -30.511), (1.0406, -60.291)), + 'mv': ((0.9602, -31.417), (0.9996, -60.764)), + 'lv': ((0.9995, -31.003), (0.9603, -61.178)) + } + for side in ["hv", "mv", "lv"]: + net = pp.create_empty_network() + b1 = pp.create_bus(net, vn_kv=110.) + pp.create_ext_grid(net, b1) + b2 = pp.create_bus(net, vn_kv=20.) + pp.create_load(net, b2, p_mw=10) + b3 = pp.create_bus(net, vn_kv=0.4) + pp.create_load(net, b3, p_mw=1) + pp.create_transformer3w_from_parameters(net, hv_bus=b1, mv_bus=b2, lv_bus=b3, vn_hv_kv=110, + vn_mv_kv=20, vn_lv_kv=0.4, sn_hv_mva=40, + sn_mv_mva=30, sn_lv_mva=10, + vk_hv_percent=5, vk_mv_percent=5, + vk_lv_percent=5, vkr_hv_percent=0.1, + vkr_mv_percent=0.1, vkr_lv_percent=0.1, pfe_kw=0, + i0_percent=0.1, shift_mv_degree=30, + shift_lv_degree=60, tap_side=side, + tap_step_percent=2, tap_step_degree=10, tap_pos=0, + tap_neutral=0, tap_min=-2, + tap_max=2) + pp.runpp(net, init="dc", calculate_voltage_angles=True) + assert np.isclose(net.res_bus.vm_pu.at[b2], test_ref[0][0], rtol=1e-4) + assert np.isclose(net.res_bus.va_degree.at[b2], test_ref[0][1], rtol=1e-4) + assert np.isclose(net.res_bus.vm_pu.at[b3], test_ref[1][0], rtol=1e-4) + assert np.isclose(net.res_bus.va_degree.at[b3], test_ref[1][1], rtol=1e-4) + + net.trafo3w.tap_pos.at[0] = 2 + pp.runpp(net, init="dc", calculate_voltage_angles=True) + assert np.isclose(net.res_bus.vm_pu.at[b2], test_tap_pos[side][0][0], rtol=1e-4) + assert np.isclose(net.res_bus.va_degree.at[b2], test_tap_pos[side][0][1], rtol=1e-4) + assert np.isclose(net.res_bus.vm_pu.at[b3], test_tap_pos[side][1][0], rtol=1e-4) + assert np.isclose(net.res_bus.va_degree.at[b3], test_tap_pos[side][1][1], rtol=1e-4) + + net.trafo3w.tap_pos.at[0] = -2 + pp.runpp(net, init="dc", calculate_voltage_angles=True) + assert np.isclose(net.res_bus.vm_pu.at[b2], test_tap_neg[side][0][0], rtol=1e-4) + assert np.isclose(net.res_bus.va_degree.at[b2], test_tap_neg[side][0][1], rtol=1e-4) + assert np.isclose(net.res_bus.vm_pu.at[b3], test_tap_neg[side][1][0], rtol=1e-4) + assert np.isclose(net.res_bus.va_degree.at[b3], test_tap_neg[side][1][1], rtol=1e-4) + + +def test_volt_dep_load_at_inactive_bus(): + # create empty net + net = pp.create_empty_network() + + # create buses + bus1 = pp.create_bus(net, index=0, vn_kv=20., name="Bus 1") + bus2 = pp.create_bus(net, index=1, vn_kv=0.4, name="Bus 2") + bus3 = pp.create_bus(net, index=3, in_service=False, vn_kv=0.4, name="Bus 3") + bus4 = pp.create_bus(net, index=4, vn_kv=0.4, name="Bus 4") + bus4 = pp.create_bus(net, index=5, vn_kv=0.4, name="Bus 4") + + # create bus elements + pp.create_ext_grid(net, bus=bus1, vm_pu=1.02, name="Grid Connection") + pp.create_load(net, bus=4, p_mw=0.1, q_mvar=0.05, name="Load3", const_i_percent=100) + pp.create_load(net, bus=5, p_mw=0.1, q_mvar=0.05, name="Load4") + + # create branch elements + trafo = pp.create_transformer(net, hv_bus=bus1, lv_bus=bus2, std_type="0.4 MVA 20/0.4 kV", + name="Trafo") + line1 = pp.create_line(net, from_bus=1, to_bus=3, length_km=0.1, std_type="NAYY 4x50 SE", + name="Line") + line2 = pp.create_line(net, from_bus=1, to_bus=4, length_km=0.1, std_type="NAYY 4x50 SE", + name="Line") + line3 = pp.create_line(net, from_bus=1, to_bus=5, length_km=0.1, std_type="NAYY 4x50 SE", + name="Line") + + pp.runpp(net) + assert not np.isnan(net.res_load.p_mw.at[1]) + assert not np.isnan(net.res_bus.p_mw.at[5]) + assert net.res_bus.p_mw.at[3] == 0 + + +def test_two_oos_buses(): + net = pp.create_empty_network() + + b1 = pp.create_bus(net, vn_kv=0.4) + b2 = pp.create_bus(net, vn_kv=0.4) + b3 = pp.create_bus(net, vn_kv=0.4, in_service=False) + b4 = pp.create_bus(net, vn_kv=0.4, in_service=False) + + pp.create_ext_grid(net, b1) + l1 = pp.create_line(net, b1, b2, 0.5, std_type="NAYY 4x50 SE", index=4) + l2 = pp.create_line(net, b2, b3, 0.5, std_type="NAYY 4x50 SE", index=2) + l3 = pp.create_line(net, b3, b4, 0.5, std_type="NAYY 4x50 SE", index=7) + + pp.runpp(net) + assert net.res_line.loading_percent.at[l1] > 0 + assert net.res_line.loading_percent.at[l2] > 0 + assert np.isnan(net.res_line.loading_percent.at[l3]) + + net.line.drop(l2, inplace=True) + pp.runpp(net) + assert net.res_line.loading_percent.at[l1] > 0 + assert np.isnan(net.res_line.loading_percent.at[l3]) + + +def test_oos_buses_at_trafo3w(): + net = pp.create_empty_network() + + b1 = pp.create_bus(net, vn_kv=110.) + b2 = pp.create_bus(net, vn_kv=110.) + b3 = pp.create_bus(net, vn_kv=110., in_service=False) + b4 = pp.create_bus(net, vn_kv=20., in_service=False) + b5 = pp.create_bus(net, vn_kv=10., in_service=False) + + pp.create_ext_grid(net, b1) + l1 = pp.create_line(net, b1, b2, 0.5, std_type="NAYY 4x50 SE", in_service=True) + l2 = pp.create_line(net, b2, b3, 0.5, std_type="NAYY 4x50 SE", in_service=False) + + tidx = pp.create_transformer3w( + net, b3, b4, b5, std_type='63/25/38 MVA 110/20/10 kV', in_service=True) + + pp.runpp(net, trafo3w_losses = 'star', trafo_model= 'pi', init='flat') + + assert net.res_line.loading_percent.at[l1] > 0 + assert np.isnan(net.res_trafo3w.i_hv_ka.at[tidx]) + + +@pytest.fixture +def network_with_trafo3ws(): + net = pp.create_empty_network() + add_test_trafo(net) + slack, hv, ln = add_grid_connection(net, zone="test_trafo3w") + for _ in range(2): + mv = pp.create_bus(net, vn_kv=0.6, zone="test_trafo3w") + pp.create_load(net, mv, p_mw=0.8, q_mvar=0) + lv = pp.create_bus(net, vn_kv=0.4, zone="test_trafo3w") + pp.create_load(net, lv, p_mw=0.5, q_mvar=0) + t3 = pp.create_transformer3w_from_parameters( + net, hv_bus=hv, mv_bus=mv, lv_bus=lv, vn_hv_kv=22, + vn_mv_kv=.64, vn_lv_kv=.42, sn_hv_mva=1, + sn_mv_mva=0.7, sn_lv_mva=0.3, vk_hv_percent=1., + vkr_hv_percent=.03, vk_mv_percent=.5, + vkr_mv_percent=.02, vk_lv_percent=.25, + vkr_lv_percent=.01, pfe_kw=.5, i0_percent=0.1, + name="test", index=pp.get_free_id(net.trafo3w) + 1, + tap_side="hv", tap_pos=2, tap_step_percent=1.25, + tap_min=-5, tap_neutral=0, tap_max=5) + return (net, t3, hv, mv, lv) + + +def test_trafo3w_switches(network_with_trafo3ws): + net, t3, hv, mv, lv = network_with_trafo3ws + + # open switch at hv side - t3 is disconnected + s1 = pp.create_switch(net, bus=hv, element=t3, et="t3", closed=False) + runpp_with_consistency_checks(net) + assert np.isnan(net.res_bus.vm_pu.at[mv]) + assert np.isnan(net.res_bus.vm_pu.at[lv]) + assert np.isnan(net.res_trafo3w.p_hv_mw.at[t3]) == 0 + + # open switch at mv side - mv is disconnected, lv is connected + net.switch.bus.at[s1] = mv + runpp_with_consistency_checks(net) + + assert np.isnan(net.res_bus.vm_pu.at[mv]) + assert not np.isnan(net.res_bus.vm_pu.at[lv]) + assert net.res_trafo3w.i_lv_ka.at[t3] > 1e-5 + assert net.res_trafo3w.i_mv_ka.at[t3] < 1e-5 + assert 0.490 < net.res_trafo3w.p_hv_mw.at[t3] < 0.510 + + # open switch at lv side - lv is disconnected, mv is connected + net.switch.bus.at[s1] = lv + runpp_with_consistency_checks(net) + + assert np.isnan(net.res_bus.vm_pu.at[lv]) + assert not np.isnan(net.res_bus.vm_pu.at[mv]) + assert net.res_trafo3w.i_lv_ka.at[t3] < 1e-5 + assert net.res_trafo3w.i_mv_ka.at[t3] > 1e-5 + assert 0.790 < net.res_trafo3w.p_hv_mw.at[t3] < 0.810 + + # open switch at lv and mv side - lv and mv is disconnected, t3 in open loop + pp.create_switch(net, bus=mv, element=t3, et="t3", closed=False) + runpp_with_consistency_checks(net) + + assert np.isnan(net.res_bus.vm_pu.at[lv]) + assert np.isnan(net.res_bus.vm_pu.at[mv]) + assert net.res_trafo3w.i_lv_ka.at[t3] < 1e-5 + assert net.res_trafo3w.i_mv_ka.at[t3] < 1e-5 + assert 0 < net.res_trafo3w.p_hv_mw.at[t3] < 1 + + +def test_generator_as_slack(): + net = pp.create_empty_network() + b1 = pp.create_bus(net, 110.) + pp.create_ext_grid(net, b1, vm_pu=1.02) + b2 = pp.create_bus(net, 110.) + pp.create_line(net, b1, b2, length_km=70., std_type='149-AL1/24-ST1A 110.0') + pp.create_load(net, b2, p_mw=2) + pp.runpp(net) + res_bus = net.res_bus.vm_pu.values + + pp.create_gen(net, b1, p_mw=0.1, vm_pu=1.02, slack=True) + net.ext_grid.in_service.iloc[0] = False + pp.runpp(net) + assert np.allclose(res_bus, net.res_bus.vm_pu.values) + + net.gen.slack.iloc[0] = False + with pytest.raises(UserWarning): + pp.runpp(net) + + +def test_transformer_with_two_open_switches(): + net = pp.create_empty_network() + b1 = pp.create_bus(net, 110.) + pp.create_ext_grid(net, b1, vm_pu=1.02) + b2 = pp.create_bus(net, 20.) + t = pp.create_transformer(net, b1, b2, std_type='63 MVA 110/20 kV') + b3 = pp.create_bus(net, 20.) + pp.create_line(net, b2, b3, length_km=7., std_type='149-AL1/24-ST1A 110.0') + pp.create_load(net, b2, p_mw=2) + pp.runpp(net) + + assert net.res_trafo.vm_hv_pu.at[t] == net.res_bus.vm_pu.at[b1] + assert net.res_trafo.vm_lv_pu.at[t] == net.res_bus.vm_pu.at[b2] + + pp.create_switch(net, b2, element=t, et="t", closed=False) + pp.runpp(net) + assert net.res_trafo.vm_hv_pu.at[t] == net.res_bus.vm_pu.at[b1] + assert net.res_trafo.vm_lv_pu.at[t] != net.res_bus.vm_pu.at[b2] + + pp.create_switch(net, b1, element=t, et="t", closed=False) + pp.runpp(net) + assert net.res_trafo.vm_hv_pu.at[t] != net.res_bus.vm_pu.at[b1] + assert net.res_trafo.vm_lv_pu.at[t] != net.res_bus.vm_pu.at[b2] + + +def test_motor(): + net = pp.create_empty_network() + b1 = pp.create_bus(net, 0.4) + b2 = pp.create_bus(net, 0.4) + pp.create_line(net, b1, b2, length_km=0.1, std_type="NAYY 4x50 SE") + pp.create_ext_grid(net, b1) + p_mech = 0.1 + cos_phi = 0.98 + efficiency = 95 + pp.create_motor(net, b2, pn_mech_mw=0.1, cos_phi=cos_phi, + efficiency_percent=efficiency) + + pp.runpp(net) + p = net.res_motor.p_mw.iloc[0] + q = net.res_motor.q_mvar.iloc[0] + s = np.sqrt(p**2+q**2) + assert p == p_mech / efficiency * 100 + assert p/s == cos_phi + res_bus_motor = net.res_bus.copy() + + pp.create_load(net, b2, p_mw=net.res_motor.p_mw.values[0], + q_mvar=net.res_motor.q_mvar.values[0]) + net.motor.in_service = False + + pp.runpp(net) + assert net.res_bus.equals(res_bus_motor) + + +if __name__ == "__main__": + pytest.main(["-xs", __file__]) diff --git a/pandapower/test/networks/test_cigre_networks.py b/pandapower/test/networks/test_cigre_networks.py index 0aec2df41..70483f60d 100644 --- a/pandapower/test/networks/test_cigre_networks.py +++ b/pandapower/test/networks/test_cigre_networks.py @@ -1,105 +1,105 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import pandas as pd -import pytest - -import pandapower as pp -import pandapower.networks as pn - - -def test_cigre_hv(): - net = pn.create_cigre_network_hv() # length_km_6a_6b=0.1 - pp.runpp(net) - - all_vn_kv = pd.Series([22, 220, 380]) - assert net.bus.vn_kv.isin(all_vn_kv).all() - all_length_km = pd.Series([100, 300, 600, 0.1]) - assert net.line.length_km.isin(all_length_km).all() - assert len(net.bus) == 13 - assert len(net.line) == 9 - assert len(net.gen) == 3 - assert len(net.sgen) == 0 - assert len(net.shunt) == 3 - assert len(net.trafo) == 6 - assert len(net.load) == 5 - assert len(net.ext_grid) == 1 - assert net.converged - - net = pn.create_cigre_network_hv(length_km_6a_6b=80) - assert net.line.length_km[8] == 80 - - -def test_cigre_mv(): - net = pn.create_cigre_network_mv() # with_der=False - pp.runpp(net) - - all_vn_kv = pd.Series([110, 20]) - assert net.bus.vn_kv.isin(all_vn_kv).all() - assert len(net.bus) == 15 - assert len(net.line) == 15 - assert len(net.gen) == 0 - assert len(net.sgen) == 0 - assert len(net.shunt) == 0 - assert len(net.trafo) == 2 - assert len(net.load) == 18 - assert len(net.ext_grid) == 1 - assert len(net.switch) == 8 - assert net.converged - - net = pn.create_cigre_network_mv(with_der="pv_wind") - pp.runpp(net) - - all_vn_kv = pd.Series([110, 20]) - assert net.bus.vn_kv.isin(all_vn_kv).all() - assert len(net.bus) == 15 - assert len(net.line) == 15 - assert len(net.gen) == 0 - assert len(net.sgen) == 9 - assert len(net.shunt) == 0 - assert len(net.trafo) == 2 - assert len(net.load) == 18 - assert len(net.ext_grid) == 1 - assert len(net.switch) == 8 - assert net.converged - - net = pn.create_cigre_network_mv(with_der="all") - pp.runpp(net) - - all_vn_kv = pd.Series([110, 20]) - assert net.bus.vn_kv.isin(all_vn_kv).all() - assert len(net.bus) == 15 - assert len(net.line) == 15 - assert len(net.gen) == 0 - assert len(net.sgen) == 13 - assert len(net.storage) == 2 - assert len(net.shunt) == 0 - assert len(net.trafo) == 2 - assert len(net.load) == 18 - assert len(net.ext_grid) == 1 - assert len(net.switch) == 8 - assert net.converged - - -def test_cigre_lv(): - net = pn.create_cigre_network_lv() - pp.runpp(net) - - all_vn_kv = pd.Series([20, 0.4]) - assert net.bus.vn_kv.isin(all_vn_kv).all() - assert len(net.bus) == 44 - assert len(net.line) == 37 - assert len(net.gen) == 0 - assert len(net.sgen) == 0 - assert len(net.shunt) == 0 - assert len(net.trafo) == 3 - assert len(net.load) == 15 - assert len(net.ext_grid) == 1 - assert len(net.switch) == 3 - assert net.converged - -if __name__ == '__main__': - pytest.main(['-x', "test_cigre_networks.py"]) +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import pandas as pd +import pytest + +import pandapower as pp +import pandapower.networks as pn + + +def test_cigre_hv(): + net = pn.create_cigre_network_hv() # length_km_6a_6b=0.1 + pp.runpp(net) + + all_vn_kv = pd.Series([22, 220, 380]) + assert net.bus.vn_kv.isin(all_vn_kv).all() + all_length_km = pd.Series([100, 300, 600, 0.1]) + assert net.line.length_km.isin(all_length_km).all() + assert len(net.bus) == 13 + assert len(net.line) == 9 + assert len(net.gen) == 3 + assert len(net.sgen) == 0 + assert len(net.shunt) == 3 + assert len(net.trafo) == 6 + assert len(net.load) == 5 + assert len(net.ext_grid) == 1 + assert net.converged + + net = pn.create_cigre_network_hv(length_km_6a_6b=80) + assert net.line.length_km[8] == 80 + + +def test_cigre_mv(): + net = pn.create_cigre_network_mv() # with_der=False + pp.runpp(net) + + all_vn_kv = pd.Series([110, 20]) + assert net.bus.vn_kv.isin(all_vn_kv).all() + assert len(net.bus) == 15 + assert len(net.line) == 15 + assert len(net.gen) == 0 + assert len(net.sgen) == 0 + assert len(net.shunt) == 0 + assert len(net.trafo) == 2 + assert len(net.load) == 18 + assert len(net.ext_grid) == 1 + assert len(net.switch) == 8 + assert net.converged + + net = pn.create_cigre_network_mv(with_der="pv_wind") + pp.runpp(net) + + all_vn_kv = pd.Series([110, 20]) + assert net.bus.vn_kv.isin(all_vn_kv).all() + assert len(net.bus) == 15 + assert len(net.line) == 15 + assert len(net.gen) == 0 + assert len(net.sgen) == 9 + assert len(net.shunt) == 0 + assert len(net.trafo) == 2 + assert len(net.load) == 18 + assert len(net.ext_grid) == 1 + assert len(net.switch) == 8 + assert net.converged + + net = pn.create_cigre_network_mv(with_der="all") + pp.runpp(net) + + all_vn_kv = pd.Series([110, 20]) + assert net.bus.vn_kv.isin(all_vn_kv).all() + assert len(net.bus) == 15 + assert len(net.line) == 15 + assert len(net.gen) == 0 + assert len(net.sgen) == 13 + assert len(net.storage) == 2 + assert len(net.shunt) == 0 + assert len(net.trafo) == 2 + assert len(net.load) == 18 + assert len(net.ext_grid) == 1 + assert len(net.switch) == 8 + assert net.converged + + +def test_cigre_lv(): + net = pn.create_cigre_network_lv() + pp.runpp(net) + + all_vn_kv = pd.Series([20, 0.4]) + assert net.bus.vn_kv.isin(all_vn_kv).all() + assert len(net.bus) == 44 + assert len(net.line) == 37 + assert len(net.gen) == 0 + assert len(net.sgen) == 0 + assert len(net.shunt) == 0 + assert len(net.trafo) == 3 + assert len(net.load) == 15 + assert len(net.ext_grid) == 1 + assert len(net.switch) == 3 + assert net.converged + +if __name__ == '__main__': + pytest.main(['-x', "test_cigre_networks.py"]) diff --git a/pandapower/test/networks/test_create_example.py b/pandapower/test/networks/test_create_example.py index 15083181f..42e8985a9 100644 --- a/pandapower/test/networks/test_create_example.py +++ b/pandapower/test/networks/test_create_example.py @@ -1,42 +1,42 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import pandas as pd -import pytest - -import pandapower as pp -import pandapower.networks as pn - - -def test_create_simple(): - net = pn.example_simple() - pp.runpp(net) - assert net.converged - for element in ["bus", "line", "gen", "sgen", "shunt", "trafo", "load", "ext_grid"]: - assert len(net[element]) >= 1 - for et in ["l", "b"]: - assert len(net.switch[net.switch.et == et]) >= 1 - - -def test_create_realistic(): - net = pn.example_multivoltage() - pp.runpp(net) - assert net.converged - for element in ["bus", "line", "gen", "sgen", "shunt", "trafo", "trafo3w", "load", "ext_grid", - "impedance", "xward"]: - assert len(net[element]) >= 1 - for et in ["l", "b", "t"]: - assert len(net.switch[net.switch.et == et]) >= 1 - for type_ in ["CB", "DS", "LBS"]: - assert len(net.switch[net.switch.type == type_]) >= 1 - assert len(net.switch[net.switch.closed]) >= 1 - assert len(net.switch[~net.switch.closed]) >= 1 - all_vn_kv = pd.Series([380, 110, 20, 10, 0.4]) - assert net.bus.vn_kv.isin(all_vn_kv).all() - - -if __name__ == '__main__': - pytest.main(['-x', "test_create_example.py"]) +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import pandas as pd +import pytest + +import pandapower as pp +import pandapower.networks as pn + + +def test_create_simple(): + net = pn.example_simple() + pp.runpp(net) + assert net.converged + for element in ["bus", "line", "gen", "sgen", "shunt", "trafo", "load", "ext_grid"]: + assert len(net[element]) >= 1 + for et in ["l", "b"]: + assert len(net.switch[net.switch.et == et]) >= 1 + + +def test_create_realistic(): + net = pn.example_multivoltage() + pp.runpp(net) + assert net.converged + for element in ["bus", "line", "gen", "sgen", "shunt", "trafo", "trafo3w", "load", "ext_grid", + "impedance", "xward"]: + assert len(net[element]) >= 1 + for et in ["l", "b", "t"]: + assert len(net.switch[net.switch.et == et]) >= 1 + for type_ in ["CB", "DS", "LBS"]: + assert len(net.switch[net.switch.type == type_]) >= 1 + assert len(net.switch[net.switch.closed]) >= 1 + assert len(net.switch[~net.switch.closed]) >= 1 + all_vn_kv = pd.Series([380, 110, 20, 10, 0.4]) + assert net.bus.vn_kv.isin(all_vn_kv).all() + + +if __name__ == '__main__': + pytest.main(['-x', "test_create_example.py"]) diff --git a/pandapower/test/networks/test_dickert_lv_networks.py b/pandapower/test/networks/test_dickert_lv_networks.py index 05f7d4854..562953575 100644 --- a/pandapower/test/networks/test_dickert_lv_networks.py +++ b/pandapower/test/networks/test_dickert_lv_networks.py @@ -1,40 +1,40 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import pytest - -import pandapower as pp -import pandapower.networks as pn - -@pytest.mark.slow -def test_dickert_lv_networks(): - net_data = [('short', 'cable', 'single', 'good', 1), - ('short', 'cable', 'single', 'average', 1), - ('short', 'cable', 'single', 'bad', 2), - ('short', 'cable', 'multiple', 'good', 2*3), - ('short', 'cable', 'multiple', 'average', 2*6), - ('short', 'cable', 'multiple', 'bad', 2*10), - ('middle', 'cable', 'multiple', 'good', 3*15), - ('middle', 'cable', 'multiple', 'average', 3*20), - ('middle', 'cable', 'multiple', 'bad', 3*25), - ('middle', 'C&OHL', 'multiple', 'good', 3*10), - ('middle', 'C&OHL', 'multiple', 'average', 3*13), - ('middle', 'C&OHL', 'multiple', 'bad', 3*16), - ('long', 'cable', 'multiple', 'good', 3*30), - ('long', 'cable', 'multiple', 'average', 3*40), - ('long', 'cable', 'multiple', 'bad', 3*50), - ('long', 'C&OHL', 'multiple', 'good', 3*20), - ('long', 'C&OHL', 'multiple', 'average', 3*30), - ('long', 'C&OHL', 'multiple', 'bad', 3*40)] - for i in net_data: - net = pn.create_dickert_lv_network(i[0], i[1], i[2], i[3]) - assert net.bus.shape[0] == i[4] + 2 - pp.runpp(net) - assert net.converged - - -if __name__ == '__main__': - pytest.main(['-x', "test_dickert_lv_networks.py"]) +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import pytest + +import pandapower as pp +import pandapower.networks as pn + +@pytest.mark.slow +def test_dickert_lv_networks(): + net_data = [('short', 'cable', 'single', 'good', 1), + ('short', 'cable', 'single', 'average', 1), + ('short', 'cable', 'single', 'bad', 2), + ('short', 'cable', 'multiple', 'good', 2*3), + ('short', 'cable', 'multiple', 'average', 2*6), + ('short', 'cable', 'multiple', 'bad', 2*10), + ('middle', 'cable', 'multiple', 'good', 3*15), + ('middle', 'cable', 'multiple', 'average', 3*20), + ('middle', 'cable', 'multiple', 'bad', 3*25), + ('middle', 'C&OHL', 'multiple', 'good', 3*10), + ('middle', 'C&OHL', 'multiple', 'average', 3*13), + ('middle', 'C&OHL', 'multiple', 'bad', 3*16), + ('long', 'cable', 'multiple', 'good', 3*30), + ('long', 'cable', 'multiple', 'average', 3*40), + ('long', 'cable', 'multiple', 'bad', 3*50), + ('long', 'C&OHL', 'multiple', 'good', 3*20), + ('long', 'C&OHL', 'multiple', 'average', 3*30), + ('long', 'C&OHL', 'multiple', 'bad', 3*40)] + for i in net_data: + net = pn.create_dickert_lv_network(i[0], i[1], i[2], i[3]) + assert net.bus.shape[0] == i[4] + 2 + pp.runpp(net) + assert net.converged + + +if __name__ == '__main__': + pytest.main(['-x', "test_dickert_lv_networks.py"]) diff --git a/pandapower/test/networks/test_kerber_extreme_networks.py b/pandapower/test/networks/test_kerber_extreme_networks.py index 1870582bd..f15f52c2d 100644 --- a/pandapower/test/networks/test_kerber_extreme_networks.py +++ b/pandapower/test/networks/test_kerber_extreme_networks.py @@ -1,133 +1,133 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import pytest - -import pandapower as pp -import pandapower.networks as pn - - -def test_kb_extrem_landnetz_freileitung(): - pd_net = pn.kb_extrem_landnetz_freileitung(p_load_mw=0.002, q_load_mvar=0.001) - assert abs(pd_net.line.length_km.sum() - 0.312) < 0.00000001 - assert abs(pd_net.load.p_mw.sum() - 0.052) < 0.00000001 - assert abs(pd_net.load.q_mvar.sum() - 0.026) < 0.00000001 - assert len(pd_net.bus.index) == 28 - assert len(pd_net.line.index) == 26 - assert len(pd_net.trafo.index) == 1 - pp.runpp(pd_net) - assert pd_net.converged - - -def test_kb_extrem_landnetz_kabel(): - pd_net = pn.kb_extrem_landnetz_kabel(p_load_mw=0.002, q_load_mvar=0.001) - assert abs(pd_net.line.length_km.sum() - 1.339) < 0.00000001 - assert abs(pd_net.load.p_mw.sum() - 0.052) < 0.00000001 - assert abs(pd_net.load.q_mvar.sum() - 0.026) < 0.00000001 - assert len(pd_net.bus.index) == 54 - assert len(pd_net.line.index) == 52 - assert len(pd_net.trafo.index) == 1 - pp.runpp(pd_net) - assert pd_net.converged - - -def test_kb_extrem_landnetz_freileitung_trafo(): - pd_net = pn.kb_extrem_landnetz_freileitung_trafo(p_load_mw=0.002, q_load_mvar=0.001) - assert abs(pd_net.line.length_km.sum() - 0.348) < 0.00000001 - assert abs(pd_net.load.p_mw.sum() - 0.054) < 0.00000001 - assert abs(pd_net.load.q_mvar.sum() - 0.027) < 0.00000001 - assert len(pd_net.bus.index) == 29 - assert len(pd_net.line.index) == 27 - assert len(pd_net.trafo.index) == 1 - pp.runpp(pd_net) - assert pd_net.converged - - -def test_kb_extrem_landnetz_kabel_trafo(): - pd_net = pn.kb_extrem_landnetz_kabel_trafo(p_load_mw=0.002, q_load_mvar=.001) - assert abs(pd_net.line.length_km.sum() - 1.435) < 0.00000001 - assert abs(pd_net.load.p_mw.sum() - 0.054) < 0.00000001 - assert abs(pd_net.load.q_mvar.sum() - 0.027) < 0.00000001 - assert len(pd_net.bus.index) == 56 - assert len(pd_net.line.index) == 54 - assert len(pd_net.trafo.index) == 1 - pp.runpp(pd_net) - assert pd_net.converged - - -def test_kb_extrem_dorfnetz(): - pd_net = pn.kb_extrem_dorfnetz(p_load_mw=.002, q_load_mvar=.001) - assert abs(pd_net.line.length_km.sum() - 3.088) < 0.00000001 - assert abs(pd_net.load.p_mw.sum() - .116) < 0.00000001 - assert abs(pd_net.load.q_mvar.sum() - 0.058) < 0.00000001 - assert len(pd_net.bus.index) == 118 - assert len(pd_net.line.index) == 116 - assert len(pd_net.trafo.index) == 1 - pp.runpp(pd_net) - assert pd_net.converged - - -def test_kb_extrem_dorfnetz_trafo(): - pd_net = pn.kb_extrem_dorfnetz_trafo(p_load_mw=0.002, q_load_mvar=0.001) - assert abs(pd_net.line.length_km.sum() - 6.094) < 0.00000001 - assert abs(pd_net.load.p_mw.sum() - .234) < 0.00000001 - assert abs(pd_net.load.q_mvar.sum() - .117) < 0.00000001 - assert len(pd_net.bus.index) == 236 - assert len(pd_net.line.index) == 234 - assert len(pd_net.trafo.index) == 1 - pp.runpp(pd_net) - assert pd_net.converged - - -def test_kb_extrem_vorstadtnetz_1(): - pd_net = pn.kb_extrem_vorstadtnetz_1(p_load_mw=.002, q_load_mvar=0.001) - assert abs(pd_net.line.length_km.sum() - 3.296) < 0.00000001 - assert abs(pd_net.load.p_mw.sum() - 0.290) < 0.00000001 - assert abs(pd_net.load.q_mvar.sum() - 0.145) < 0.00000001 - assert len(pd_net.bus.index) == 292 - assert len(pd_net.line.index) == 290 - assert len(pd_net.trafo.index) == 1 - pp.runpp(pd_net) - assert pd_net.converged - - -def test_kb_extrem_vorstadtnetz_2(): - pd_net = pn.kb_extrem_vorstadtnetz_2(p_load_mw=.002, q_load_mvar=0.001) - assert abs(pd_net.line.length_km.sum() - 4.019) < 0.00000001 - assert abs(pd_net.load.p_mw.sum() - 0.290) < 0.00000001 - assert abs(pd_net.load.q_mvar.sum() - .145) < 0.00000001 - assert len(pd_net.bus.index) == 292 - assert len(pd_net.line.index) == 290 - assert len(pd_net.trafo.index) == 1 - pp.runpp(pd_net) - assert pd_net.converged - - -def test_kb_extrem_vorstadtnetz_trafo_1(): - pd_net = pn.kb_extrem_vorstadtnetz_trafo_1(p_load_mw=.002, q_load_mvar=0.001) - assert abs(pd_net.line.length_km.sum() - 5.256) < 0.00000001 - assert abs(pd_net.load.p_mw.sum() - .382) < 0.00000001 - assert abs(pd_net.load.q_mvar.sum() - .191) < 0.00000001 - assert len(pd_net.bus.index) == 384 - assert len(pd_net.line.index) == 382 - assert len(pd_net.trafo.index) == 1 - pp.runpp(pd_net) - assert pd_net.converged - - -def test_kb_extrem_vorstadtnetz_trafo_2(): - pd_net = pn.kb_extrem_vorstadtnetz_trafo_2(p_load_mw=.002, q_load_mvar=0.001) - assert abs(pd_net.line.length_km.sum() - 5.329) < 0.00000001 - assert abs(pd_net.load.p_mw.sum() - .384) < 0.00000001 - assert abs(pd_net.load.q_mvar.sum() - .192) < 0.00000001 - assert len(pd_net.bus.index) == 386 - assert len(pd_net.line.index) == 384 - assert len(pd_net.trafo.index) == 1 - pp.runpp(pd_net) - assert pd_net.converged - -if __name__ == '__main__': +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import pytest + +import pandapower as pp +import pandapower.networks as pn + + +def test_kb_extrem_landnetz_freileitung(): + pd_net = pn.kb_extrem_landnetz_freileitung(p_load_mw=0.002, q_load_mvar=0.001) + assert abs(pd_net.line.length_km.sum() - 0.312) < 0.00000001 + assert abs(pd_net.load.p_mw.sum() - 0.052) < 0.00000001 + assert abs(pd_net.load.q_mvar.sum() - 0.026) < 0.00000001 + assert len(pd_net.bus.index) == 28 + assert len(pd_net.line.index) == 26 + assert len(pd_net.trafo.index) == 1 + pp.runpp(pd_net) + assert pd_net.converged + + +def test_kb_extrem_landnetz_kabel(): + pd_net = pn.kb_extrem_landnetz_kabel(p_load_mw=0.002, q_load_mvar=0.001) + assert abs(pd_net.line.length_km.sum() - 1.339) < 0.00000001 + assert abs(pd_net.load.p_mw.sum() - 0.052) < 0.00000001 + assert abs(pd_net.load.q_mvar.sum() - 0.026) < 0.00000001 + assert len(pd_net.bus.index) == 54 + assert len(pd_net.line.index) == 52 + assert len(pd_net.trafo.index) == 1 + pp.runpp(pd_net) + assert pd_net.converged + + +def test_kb_extrem_landnetz_freileitung_trafo(): + pd_net = pn.kb_extrem_landnetz_freileitung_trafo(p_load_mw=0.002, q_load_mvar=0.001) + assert abs(pd_net.line.length_km.sum() - 0.348) < 0.00000001 + assert abs(pd_net.load.p_mw.sum() - 0.054) < 0.00000001 + assert abs(pd_net.load.q_mvar.sum() - 0.027) < 0.00000001 + assert len(pd_net.bus.index) == 29 + assert len(pd_net.line.index) == 27 + assert len(pd_net.trafo.index) == 1 + pp.runpp(pd_net) + assert pd_net.converged + + +def test_kb_extrem_landnetz_kabel_trafo(): + pd_net = pn.kb_extrem_landnetz_kabel_trafo(p_load_mw=0.002, q_load_mvar=.001) + assert abs(pd_net.line.length_km.sum() - 1.435) < 0.00000001 + assert abs(pd_net.load.p_mw.sum() - 0.054) < 0.00000001 + assert abs(pd_net.load.q_mvar.sum() - 0.027) < 0.00000001 + assert len(pd_net.bus.index) == 56 + assert len(pd_net.line.index) == 54 + assert len(pd_net.trafo.index) == 1 + pp.runpp(pd_net) + assert pd_net.converged + + +def test_kb_extrem_dorfnetz(): + pd_net = pn.kb_extrem_dorfnetz(p_load_mw=.002, q_load_mvar=.001) + assert abs(pd_net.line.length_km.sum() - 3.088) < 0.00000001 + assert abs(pd_net.load.p_mw.sum() - .116) < 0.00000001 + assert abs(pd_net.load.q_mvar.sum() - 0.058) < 0.00000001 + assert len(pd_net.bus.index) == 118 + assert len(pd_net.line.index) == 116 + assert len(pd_net.trafo.index) == 1 + pp.runpp(pd_net) + assert pd_net.converged + + +def test_kb_extrem_dorfnetz_trafo(): + pd_net = pn.kb_extrem_dorfnetz_trafo(p_load_mw=0.002, q_load_mvar=0.001) + assert abs(pd_net.line.length_km.sum() - 6.094) < 0.00000001 + assert abs(pd_net.load.p_mw.sum() - .234) < 0.00000001 + assert abs(pd_net.load.q_mvar.sum() - .117) < 0.00000001 + assert len(pd_net.bus.index) == 236 + assert len(pd_net.line.index) == 234 + assert len(pd_net.trafo.index) == 1 + pp.runpp(pd_net) + assert pd_net.converged + + +def test_kb_extrem_vorstadtnetz_1(): + pd_net = pn.kb_extrem_vorstadtnetz_1(p_load_mw=.002, q_load_mvar=0.001) + assert abs(pd_net.line.length_km.sum() - 3.296) < 0.00000001 + assert abs(pd_net.load.p_mw.sum() - 0.290) < 0.00000001 + assert abs(pd_net.load.q_mvar.sum() - 0.145) < 0.00000001 + assert len(pd_net.bus.index) == 292 + assert len(pd_net.line.index) == 290 + assert len(pd_net.trafo.index) == 1 + pp.runpp(pd_net) + assert pd_net.converged + + +def test_kb_extrem_vorstadtnetz_2(): + pd_net = pn.kb_extrem_vorstadtnetz_2(p_load_mw=.002, q_load_mvar=0.001) + assert abs(pd_net.line.length_km.sum() - 4.019) < 0.00000001 + assert abs(pd_net.load.p_mw.sum() - 0.290) < 0.00000001 + assert abs(pd_net.load.q_mvar.sum() - .145) < 0.00000001 + assert len(pd_net.bus.index) == 292 + assert len(pd_net.line.index) == 290 + assert len(pd_net.trafo.index) == 1 + pp.runpp(pd_net) + assert pd_net.converged + + +def test_kb_extrem_vorstadtnetz_trafo_1(): + pd_net = pn.kb_extrem_vorstadtnetz_trafo_1(p_load_mw=.002, q_load_mvar=0.001) + assert abs(pd_net.line.length_km.sum() - 5.256) < 0.00000001 + assert abs(pd_net.load.p_mw.sum() - .382) < 0.00000001 + assert abs(pd_net.load.q_mvar.sum() - .191) < 0.00000001 + assert len(pd_net.bus.index) == 384 + assert len(pd_net.line.index) == 382 + assert len(pd_net.trafo.index) == 1 + pp.runpp(pd_net) + assert pd_net.converged + + +def test_kb_extrem_vorstadtnetz_trafo_2(): + pd_net = pn.kb_extrem_vorstadtnetz_trafo_2(p_load_mw=.002, q_load_mvar=0.001) + assert abs(pd_net.line.length_km.sum() - 5.329) < 0.00000001 + assert abs(pd_net.load.p_mw.sum() - .384) < 0.00000001 + assert abs(pd_net.load.q_mvar.sum() - .192) < 0.00000001 + assert len(pd_net.bus.index) == 386 + assert len(pd_net.line.index) == 384 + assert len(pd_net.trafo.index) == 1 + pp.runpp(pd_net) + assert pd_net.converged + +if __name__ == '__main__': pytest.main(['-x', "test_kerber_extreme_networks.py"]) \ No newline at end of file diff --git a/pandapower/test/networks/test_kerber_networks.py b/pandapower/test/networks/test_kerber_networks.py index a24a772b6..9d480451a 100644 --- a/pandapower/test/networks/test_kerber_networks.py +++ b/pandapower/test/networks/test_kerber_networks.py @@ -1,162 +1,162 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import random as rd - -import pytest - -import pandapower as pp -import pandapower.networks as pn -from pandapower.networks.kerber_networks import _create_empty_network_with_transformer, \ - _add_lines_and_loads, _add_lines_with_branched_loads - - -def test_create_empty_network_with_transformer(): - # BUILD: - trafotype = "0.16 MVA 10/0.4 kV" # example trafo type - v_os = 10 - v_us = 0.4 - # OPERATE: - net = _create_empty_network_with_transformer(trafotype, V_OS=v_os, V_US=v_us)[0] - # CHECK: - assert len(net.bus.index) == 2 - assert len(net.trafo.index) == 1 - assert len(net.ext_grid.index) == 1 - assert net.bus.vn_kv.loc[0] == v_os - assert net.bus.vn_kv.loc[1] == v_us - - -def test_add_lines_and_loads(): - # BUILD: - pd_net = pp.create_empty_network() - busnr1 = pp.create_bus(pd_net, name="startbus", vn_kv=.4) - n_lines_add = int(10. * rd.random() + 1) - l_per_line = 0.10 * rd.random() - # OPERATE: - _add_lines_and_loads(pd_net, n_lines=n_lines_add, startbusnr=busnr1, - length_per_line=l_per_line, p_load_mw=2, - q_load_mvar=1, branchnr=2) - - assert len(pd_net.bus.index) == n_lines_add + 1 - assert len(pd_net.line.index) == n_lines_add - assert len(pd_net.load.index) == n_lines_add - assert abs(pd_net.line.length_km.sum() - n_lines_add * l_per_line) < 0.0000001 - - -def test_add_lines_with_branched_loads(): - # BUILD: - pd_net = pp.create_empty_network() - busnr1 = pp.create_bus(pd_net, name="startbus", vn_kv=.4) - n_lines_add = int(10. * rd.random() + 1) - l_per_line = 0.10 * rd.random() - l_branchout_line = 0.022 - # OPERATE: - _add_lines_with_branched_loads(pd_net, n_lines_add, startbus=busnr1, - length_per_line=l_per_line, - p_load_mw=2., q_load_mvar=0, - length_branchout_line_1=l_branchout_line, - prob_branchout_line_1=0.5, branchnr=1) - - assert len(pd_net.bus.index) == 2 * n_lines_add + 1 - assert len(pd_net.line.index) == 2 * n_lines_add - assert len(pd_net.load.index) == n_lines_add - assert abs(pd_net.line.length_km.sum() - n_lines_add * (l_per_line + l_branchout_line)) < 0.0000001 - - -@pytest.mark.slow -def test_kerber_landnetz_freileitung_1(): - pd_net = pn.create_kerber_landnetz_freileitung_1(p_load_mw=.002, q_load_mvar=0.001) - assert abs(pd_net.line.length_km.sum() - 0.273) < 0.00000001 - assert abs(pd_net.load.p_mw.sum() - 0.026) < 0.00000001 - assert abs(pd_net.load.q_mvar.sum() - 0.013) < 0.00000001 - assert len(pd_net.bus.index) == 15 - assert len(pd_net.line.index) == 13 - assert len(pd_net.trafo.index) == 1 - pp.runpp(pd_net) - assert pd_net.converged - - -@pytest.mark.slow -def test_kerber_landnetz_freileitung_2(): - pd_net = pn.create_kerber_landnetz_freileitung_2(p_load_mw=.002, q_load_mvar=.001) - assert abs(pd_net.line.length_km.sum() - 0.390) < 0.00000001 - assert abs(pd_net.load.p_mw.sum() - 0.016) < 0.00000001 - assert abs(pd_net.load.q_mvar.sum() - 0.008) < 0.00000001 - assert len(pd_net.bus.index) == 10 - assert len(pd_net.line.index) == 8 - assert len(pd_net.trafo.index) == 1 - pp.runpp(pd_net) - assert pd_net.converged - - -@pytest.mark.slow -def test_create_kerber_landnetz_kabel_1(): - pd_net = pn.create_kerber_landnetz_kabel_1(p_load_mw=.002, q_load_mvar=.001) - assert abs(pd_net.line.length_km.sum() - 1.046) < 0.00000001 - assert abs(pd_net.load.p_mw.sum() - 0.016) < 0.00000001 - assert abs(pd_net.load.q_mvar.sum() - 0.008) < 0.00000001 - assert len(pd_net.bus.index) == 18 - assert len(pd_net.line.index) == 16 - assert len(pd_net.trafo.index) == 1 - pp.runpp(pd_net) - assert pd_net.converged - - -@pytest.mark.slow -def test_create_kerber_landnetz_kabel_2(): - pd_net = pn.create_kerber_landnetz_kabel_2(p_load_mw=.002, q_load_mvar=.001) - assert abs(pd_net.line.length_km.sum() - 1.343) < 0.00000001 - assert abs(pd_net.load.p_mw.sum() - 0.028) < 0.00000001 - assert abs(pd_net.load.q_mvar.sum() - 0.014) < 0.00000001 - assert len(pd_net.bus.index) == 30 - assert len(pd_net.line.index) == 28 - assert len(pd_net.trafo.index) == 1 - pp.runpp(pd_net) - assert pd_net.converged - - -@pytest.mark.slow -def test_create_kerber_dorfnetz(): - pd_net = pn.create_kerber_dorfnetz(p_load_mw=.002, q_load_mvar=.001) - assert abs(pd_net.line.length_km.sum() - 3.412) < 0.00000001 - assert abs(pd_net.load.p_mw.sum() - .114) < 0.00000001 - assert abs(pd_net.load.q_mvar.sum() - 0.057) < 0.00000001 - assert len(pd_net.bus.index) == 116 - assert len(pd_net.line.index) == 114 - assert len(pd_net.trafo.index) == 1 - pp.runpp(pd_net) - assert pd_net.converged - - -@pytest.mark.slow -def test_create_kerber_vorstadtnetz_kabel_1(): - pd_net = pn.create_kerber_vorstadtnetz_kabel_1(p_load_mw=.002, q_load_mvar=0.001) - assert abs(pd_net.line.length_km.sum() - 4.476) < 0.00000001 - assert abs(pd_net.load.p_mw.sum() - .292) < 0.00000001 - assert abs(pd_net.load.q_mvar.sum() - .146) < 0.00000001 - assert len(pd_net.bus.index) == 294 - assert len(pd_net.line.index) == 292 - assert len(pd_net.trafo.index) == 1 - pp.runpp(pd_net) - assert pd_net.converged - - -@pytest.mark.slow -def test_create_kerber_vorstadtnetz_kabel_2(): - pd_net = pn.create_kerber_vorstadtnetz_kabel_2(p_load_mw=.002, q_load_mvar=.001) - assert abs(pd_net.line.length_km.sum() - 4.689) < 0.00000001 - assert abs(pd_net.load.p_mw.sum() - .288) < 0.00000001 - assert abs(pd_net.load.q_mvar.sum() - .144) < 0.00000001 - assert len(pd_net.bus.index) == 290 - assert len(pd_net.line.index) == 288 - assert len(pd_net.trafo.index) == 1 - pp.runpp(pd_net) - assert pd_net.converged - - -if __name__ == '__main__': - pytest.main(['-x', __file__]) -# test_create_kerber_vorstadtnetz_kabel_2() +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import random as rd + +import pytest + +import pandapower as pp +import pandapower.networks as pn +from pandapower.networks.kerber_networks import _create_empty_network_with_transformer, \ + _add_lines_and_loads, _add_lines_with_branched_loads + + +def test_create_empty_network_with_transformer(): + # BUILD: + trafotype = "0.16 MVA 10/0.4 kV" # example trafo type + v_os = 10 + v_us = 0.4 + # OPERATE: + net = _create_empty_network_with_transformer(trafotype, V_OS=v_os, V_US=v_us)[0] + # CHECK: + assert len(net.bus.index) == 2 + assert len(net.trafo.index) == 1 + assert len(net.ext_grid.index) == 1 + assert net.bus.vn_kv.loc[0] == v_os + assert net.bus.vn_kv.loc[1] == v_us + + +def test_add_lines_and_loads(): + # BUILD: + pd_net = pp.create_empty_network() + busnr1 = pp.create_bus(pd_net, name="startbus", vn_kv=.4) + n_lines_add = int(10. * rd.random() + 1) + l_per_line = 0.10 * rd.random() + # OPERATE: + _add_lines_and_loads(pd_net, n_lines=n_lines_add, startbusnr=busnr1, + length_per_line=l_per_line, p_load_mw=2, + q_load_mvar=1, branchnr=2) + + assert len(pd_net.bus.index) == n_lines_add + 1 + assert len(pd_net.line.index) == n_lines_add + assert len(pd_net.load.index) == n_lines_add + assert abs(pd_net.line.length_km.sum() - n_lines_add * l_per_line) < 0.0000001 + + +def test_add_lines_with_branched_loads(): + # BUILD: + pd_net = pp.create_empty_network() + busnr1 = pp.create_bus(pd_net, name="startbus", vn_kv=.4) + n_lines_add = int(10. * rd.random() + 1) + l_per_line = 0.10 * rd.random() + l_branchout_line = 0.022 + # OPERATE: + _add_lines_with_branched_loads(pd_net, n_lines_add, startbus=busnr1, + length_per_line=l_per_line, + p_load_mw=2., q_load_mvar=0, + length_branchout_line_1=l_branchout_line, + prob_branchout_line_1=0.5, branchnr=1) + + assert len(pd_net.bus.index) == 2 * n_lines_add + 1 + assert len(pd_net.line.index) == 2 * n_lines_add + assert len(pd_net.load.index) == n_lines_add + assert abs(pd_net.line.length_km.sum() - n_lines_add * (l_per_line + l_branchout_line)) < 0.0000001 + + +@pytest.mark.slow +def test_kerber_landnetz_freileitung_1(): + pd_net = pn.create_kerber_landnetz_freileitung_1(p_load_mw=.002, q_load_mvar=0.001) + assert abs(pd_net.line.length_km.sum() - 0.273) < 0.00000001 + assert abs(pd_net.load.p_mw.sum() - 0.026) < 0.00000001 + assert abs(pd_net.load.q_mvar.sum() - 0.013) < 0.00000001 + assert len(pd_net.bus.index) == 15 + assert len(pd_net.line.index) == 13 + assert len(pd_net.trafo.index) == 1 + pp.runpp(pd_net) + assert pd_net.converged + + +@pytest.mark.slow +def test_kerber_landnetz_freileitung_2(): + pd_net = pn.create_kerber_landnetz_freileitung_2(p_load_mw=.002, q_load_mvar=.001) + assert abs(pd_net.line.length_km.sum() - 0.390) < 0.00000001 + assert abs(pd_net.load.p_mw.sum() - 0.016) < 0.00000001 + assert abs(pd_net.load.q_mvar.sum() - 0.008) < 0.00000001 + assert len(pd_net.bus.index) == 10 + assert len(pd_net.line.index) == 8 + assert len(pd_net.trafo.index) == 1 + pp.runpp(pd_net) + assert pd_net.converged + + +@pytest.mark.slow +def test_create_kerber_landnetz_kabel_1(): + pd_net = pn.create_kerber_landnetz_kabel_1(p_load_mw=.002, q_load_mvar=.001) + assert abs(pd_net.line.length_km.sum() - 1.046) < 0.00000001 + assert abs(pd_net.load.p_mw.sum() - 0.016) < 0.00000001 + assert abs(pd_net.load.q_mvar.sum() - 0.008) < 0.00000001 + assert len(pd_net.bus.index) == 18 + assert len(pd_net.line.index) == 16 + assert len(pd_net.trafo.index) == 1 + pp.runpp(pd_net) + assert pd_net.converged + + +@pytest.mark.slow +def test_create_kerber_landnetz_kabel_2(): + pd_net = pn.create_kerber_landnetz_kabel_2(p_load_mw=.002, q_load_mvar=.001) + assert abs(pd_net.line.length_km.sum() - 1.343) < 0.00000001 + assert abs(pd_net.load.p_mw.sum() - 0.028) < 0.00000001 + assert abs(pd_net.load.q_mvar.sum() - 0.014) < 0.00000001 + assert len(pd_net.bus.index) == 30 + assert len(pd_net.line.index) == 28 + assert len(pd_net.trafo.index) == 1 + pp.runpp(pd_net) + assert pd_net.converged + + +@pytest.mark.slow +def test_create_kerber_dorfnetz(): + pd_net = pn.create_kerber_dorfnetz(p_load_mw=.002, q_load_mvar=.001) + assert abs(pd_net.line.length_km.sum() - 3.412) < 0.00000001 + assert abs(pd_net.load.p_mw.sum() - .114) < 0.00000001 + assert abs(pd_net.load.q_mvar.sum() - 0.057) < 0.00000001 + assert len(pd_net.bus.index) == 116 + assert len(pd_net.line.index) == 114 + assert len(pd_net.trafo.index) == 1 + pp.runpp(pd_net) + assert pd_net.converged + + +@pytest.mark.slow +def test_create_kerber_vorstadtnetz_kabel_1(): + pd_net = pn.create_kerber_vorstadtnetz_kabel_1(p_load_mw=.002, q_load_mvar=0.001) + assert abs(pd_net.line.length_km.sum() - 4.476) < 0.00000001 + assert abs(pd_net.load.p_mw.sum() - .292) < 0.00000001 + assert abs(pd_net.load.q_mvar.sum() - .146) < 0.00000001 + assert len(pd_net.bus.index) == 294 + assert len(pd_net.line.index) == 292 + assert len(pd_net.trafo.index) == 1 + pp.runpp(pd_net) + assert pd_net.converged + + +@pytest.mark.slow +def test_create_kerber_vorstadtnetz_kabel_2(): + pd_net = pn.create_kerber_vorstadtnetz_kabel_2(p_load_mw=.002, q_load_mvar=.001) + assert abs(pd_net.line.length_km.sum() - 4.689) < 0.00000001 + assert abs(pd_net.load.p_mw.sum() - .288) < 0.00000001 + assert abs(pd_net.load.q_mvar.sum() - .144) < 0.00000001 + assert len(pd_net.bus.index) == 290 + assert len(pd_net.line.index) == 288 + assert len(pd_net.trafo.index) == 1 + pp.runpp(pd_net) + assert pd_net.converged + + +if __name__ == '__main__': + pytest.main(['-x', __file__]) +# test_create_kerber_vorstadtnetz_kabel_2() diff --git a/pandapower/test/networks/test_mv_oberrhein.py b/pandapower/test/networks/test_mv_oberrhein.py index 9b6a17235..a07d2e5cc 100644 --- a/pandapower/test/networks/test_mv_oberrhein.py +++ b/pandapower/test/networks/test_mv_oberrhein.py @@ -1,50 +1,50 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import pytest - -import pandapower as pp -import pandapower.networks as pn - - -def test_mv_oberrhein(): - scenarios = ["load", "generation"] - include_substations = [False, True] - separation_by_sub = [False, True] - - for i in scenarios: - for j in include_substations: - for k in separation_by_sub: - net = pn.mv_oberrhein(scenario=i, include_substations=j) - pp.runpp(net) - - if i == "load": - assert net.sgen.scaling.mean() < 0.2 - assert net.load.scaling.mean() > 0.5 - elif i == "generation": - net.sgen.scaling.mean() > 0.6 - net.load.scaling.mean() < 0.2 - - if j is False: - assert len(net.bus) == 179 - assert len(net.trafo) == 2 - elif j is True: - assert len(net.bus) == 320 - assert len(net.trafo) == 143 - - assert len(net.line) == 181 - assert len(net.switch) == 322 - assert net.converged - - if k is True: - net0, net1 = pn.mv_oberrhein(scenario=i, include_substations=j, separation_by_sub=k) - assert len(net1.keys()) == len(net0.keys()) == len(net.keys()) - assert net1.res_ext_grid.loc[1].all() == net.res_ext_grid.loc[1].all() - assert net0.res_ext_grid.loc[0].all() == net.res_ext_grid.loc[0].all() - assert len(net.bus) == len(net0.bus) + len(net1.bus) - -if __name__ == '__main__': - pytest.main(['-x', "test_mv_oberrhein.py"]) +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import pytest + +import pandapower as pp +import pandapower.networks as pn + + +def test_mv_oberrhein(): + scenarios = ["load", "generation"] + include_substations = [False, True] + separation_by_sub = [False, True] + + for i in scenarios: + for j in include_substations: + for k in separation_by_sub: + net = pn.mv_oberrhein(scenario=i, include_substations=j) + pp.runpp(net) + + if i == "load": + assert net.sgen.scaling.mean() < 0.2 + assert net.load.scaling.mean() > 0.5 + elif i == "generation": + net.sgen.scaling.mean() > 0.6 + net.load.scaling.mean() < 0.2 + + if j is False: + assert len(net.bus) == 179 + assert len(net.trafo) == 2 + elif j is True: + assert len(net.bus) == 320 + assert len(net.trafo) == 143 + + assert len(net.line) == 181 + assert len(net.switch) == 322 + assert net.converged + + if k is True: + net0, net1 = pn.mv_oberrhein(scenario=i, include_substations=j, separation_by_sub=k) + assert len(net1.keys()) == len(net0.keys()) == len(net.keys()) + assert net1.res_ext_grid.loc[1].all() == net.res_ext_grid.loc[1].all() + assert net0.res_ext_grid.loc[0].all() == net.res_ext_grid.loc[0].all() + assert len(net.bus) == len(net0.bus) + len(net1.bus) + +if __name__ == '__main__': + pytest.main(['-x', "test_mv_oberrhein.py"]) diff --git a/pandapower/test/networks/test_power_system_test_cases.py b/pandapower/test/networks/test_power_system_test_cases.py index 849fb9b10..25971954a 100644 --- a/pandapower/test/networks/test_power_system_test_cases.py +++ b/pandapower/test/networks/test_power_system_test_cases.py @@ -1,241 +1,241 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import pytest - -import pandapower as pp -import pandapower.networks as pn - - -def _ppc_element_test(net, n_bus=None, n_branch=None, n_gen=None, gencost=False): - pp.runpp(net, trafo_model="pi") - if n_bus: - assert len(net.bus) == n_bus - if n_branch: - assert len(net.line) + len(net.trafo) == n_branch - if n_gen: - assert len(net.ext_grid) + len(net.gen) + len(net.sgen) == n_gen - if gencost: - if isinstance(gencost, bool): - assert net.poly_cost.shape[0] == n_gen - else: - assert net.poly_cost.shape[0] == gencost - assert net.converged - - -def test_case4gs(): - net = pn.case4gs() - pp.runpp(net) - assert net.converged - _ppc_element_test(net, 4, 4, 2, False) - - -def test_case5(): - net = pn.case5() - pp.runpp(net) - assert net.converged - _ppc_element_test(net, 5, 6, 5, False) - - -def test_case6ww(): - net = pn.case6ww() - pp.runpp(net) - assert net.converged - _ppc_element_test(net, 6, 11, 3, True) - - -def test_case9(): - net = pn.case9() - pp.runpp(net) - assert net.converged - _ppc_element_test(net, 9, 9, 3, True) - - -def test_case14(): - net = pn.case14() - pp.runpp(net) - assert net.converged - _ppc_element_test(net, 14, 20, 5, True) - - -def test_case24_ieee_rts(): - net = pn.case24_ieee_rts() - pp.runpp(net) - assert net.converged - _ppc_element_test(net, 24) - - -def test_case30(): - net = pn.case30() - pp.runpp(net) - assert net.converged - _ppc_element_test(net, 30, 41, 6, True) - - -def test_case_ieee30(): - net = pn.case_ieee30() - pp.runpp(net) - assert net.converged - _ppc_element_test(net, 30, 41, 6, False) - - -def test_case33bw(): - net = pn.case33bw() - pp.runpp(net, trafo_mode="pi") - assert net.converged - _ppc_element_test(net, 33, 37, 1, True) - - -def test_case39(): - net = pn.case39() - pp.runpp(net) - assert net.converged - _ppc_element_test(net, 39, 46, 10, True) - - -def test_case57(): - net = pn.case57() - pp.runpp(net) - assert net.converged - _ppc_element_test(net, 57, 80, 7, True) - - -def test_case89pegase(): - net = pn.case89pegase() - pp.runpp(net) - assert net.converged - _ppc_element_test(net, 89, 210, 12+6, 12) - - -def test_case118(): - net = pn.case118() - pp.runpp(net) - assert net.converged - _ppc_element_test(net, 118, 186, 54, True) - - -def test_case145(): - net = pn.case145() - pp.runpp(net) - assert net.converged - _ppc_element_test(net, 145, 453, 50+9, 50) - - -def test_case_illinois200(): - net = pn.case_illinois200() - pp.runpp(net) - assert net.converged - _ppc_element_test(net, 200, 245, 49, False) - - -def test_case300(): - net = pn.case300() - pp.runpp(net) - assert net.converged - _ppc_element_test(net, 300, 411, 69+8, 69) - - -def test_case1354pegase(): - net = pn.case1354pegase() - pp.runpp(net) - assert net.converged - _ppc_element_test(net, 1354, 1991, 260+52, 260) - - -def test_case1888rte(): - net = pn.case1888rte() - pp.runpp(net) - assert net.converged - _ppc_element_test(net, 1888, 2531, 354, 297) - - -def test_case1888rte_changed_slack(): - ref_bus_idx = 1233 - net = pn.case1888rte(ref_bus_idx=ref_bus_idx) - pp.runpp(net) - assert net.converged - _ppc_element_test(net, 1888, 2531, 354, 297) - assert net.ext_grid.bus.at[0] == ref_bus_idx - - ref_bus_idx = [1233, 1854] - net = pn.case1888rte(ref_bus_idx=ref_bus_idx) - pp.runpp(net, trafo_model='pi') - assert list(net.ext_grid.bus.sort_values()) == ref_bus_idx - assert net.converged - - -def test_case2848rte(): - net = pn.case2848rte() - pp.runpp(net) - assert net.converged - _ppc_element_test(net, 2848, 3776, 670, 547) - - -def test_case2869pegase(): - net = pn.case2869pegase() - pp.runpp(net) - assert net.converged - _ppc_element_test(net, 2869, 4582, 690, 510) - - -def test_case3120sp(): - net = pn.case3120sp() - pp.runpp(net) - assert net.converged - _ppc_element_test(net, 3120, 3693, 505, True) - - -def test_case6470rte(): - net = pn.case6470rte() - pp.runpp(net) - assert net.converged - _ppc_element_test(net, 6470, 9005, 1578, 1330) - - -def test_case6495rte(): - net = pn.case6495rte() - pp.runpp(net) - assert net.converged - _ppc_element_test(net, 6495, 9019, 1650, 1372) - - -def test_case6515rte(): - net = pn.case6515rte() - pp.runpp(net) - assert net.converged - _ppc_element_test(net, 6515, 9037, 1651, 1388) - - -def test_case9241pegase(): - net = pn.case9241pegase() - pp.runpp(net) - assert net.converged - _ppc_element_test(net, 9241, 16049, 1879, 1445) - - -def test_GBreducednetwork(): - net = pn.GBreducednetwork() - pp.runpp(net) - assert net.converged - _ppc_element_test(net, 29, 99, 66, True) - - -def test_GBnetwork(): - net = pn.GBnetwork() - pp.runpp(net) - assert net.converged - _ppc_element_test(net, 2224, 3207, 394+37, 394) - - -def test_iceland(): - net = pn.iceland() - pp.runpp(net) - assert net.converged - _ppc_element_test(net, 189, 206, 35, True) - - -if __name__ == '__main__': - pytest.main(["test_power_system_test_cases.py", "-xs"]) +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import pytest + +import pandapower as pp +import pandapower.networks as pn + + +def _ppc_element_test(net, n_bus=None, n_branch=None, n_gen=None, gencost=False): + pp.runpp(net, trafo_model="pi") + if n_bus: + assert len(net.bus) == n_bus + if n_branch: + assert len(net.line) + len(net.trafo) == n_branch + if n_gen: + assert len(net.ext_grid) + len(net.gen) + len(net.sgen) == n_gen + if gencost: + if isinstance(gencost, bool): + assert net.poly_cost.shape[0] == n_gen + else: + assert net.poly_cost.shape[0] == gencost + assert net.converged + + +def test_case4gs(): + net = pn.case4gs() + pp.runpp(net) + assert net.converged + _ppc_element_test(net, 4, 4, 2, False) + + +def test_case5(): + net = pn.case5() + pp.runpp(net) + assert net.converged + _ppc_element_test(net, 5, 6, 5, False) + + +def test_case6ww(): + net = pn.case6ww() + pp.runpp(net) + assert net.converged + _ppc_element_test(net, 6, 11, 3, True) + + +def test_case9(): + net = pn.case9() + pp.runpp(net) + assert net.converged + _ppc_element_test(net, 9, 9, 3, True) + + +def test_case14(): + net = pn.case14() + pp.runpp(net) + assert net.converged + _ppc_element_test(net, 14, 20, 5, True) + + +def test_case24_ieee_rts(): + net = pn.case24_ieee_rts() + pp.runpp(net) + assert net.converged + _ppc_element_test(net, 24) + + +def test_case30(): + net = pn.case30() + pp.runpp(net) + assert net.converged + _ppc_element_test(net, 30, 41, 6, True) + + +def test_case_ieee30(): + net = pn.case_ieee30() + pp.runpp(net) + assert net.converged + _ppc_element_test(net, 30, 41, 6, False) + + +def test_case33bw(): + net = pn.case33bw() + pp.runpp(net, trafo_mode="pi") + assert net.converged + _ppc_element_test(net, 33, 37, 1, True) + + +def test_case39(): + net = pn.case39() + pp.runpp(net) + assert net.converged + _ppc_element_test(net, 39, 46, 10, True) + + +def test_case57(): + net = pn.case57() + pp.runpp(net) + assert net.converged + _ppc_element_test(net, 57, 80, 7, True) + + +def test_case89pegase(): + net = pn.case89pegase() + pp.runpp(net) + assert net.converged + _ppc_element_test(net, 89, 210, 12+6, 12) + + +def test_case118(): + net = pn.case118() + pp.runpp(net) + assert net.converged + _ppc_element_test(net, 118, 186, 54, True) + + +def test_case145(): + net = pn.case145() + pp.runpp(net) + assert net.converged + _ppc_element_test(net, 145, 453, 50+9, 50) + + +def test_case_illinois200(): + net = pn.case_illinois200() + pp.runpp(net) + assert net.converged + _ppc_element_test(net, 200, 245, 49, False) + + +def test_case300(): + net = pn.case300() + pp.runpp(net) + assert net.converged + _ppc_element_test(net, 300, 411, 69+8, 69) + + +def test_case1354pegase(): + net = pn.case1354pegase() + pp.runpp(net) + assert net.converged + _ppc_element_test(net, 1354, 1991, 260+52, 260) + + +def test_case1888rte(): + net = pn.case1888rte() + pp.runpp(net) + assert net.converged + _ppc_element_test(net, 1888, 2531, 354, 297) + + +def test_case1888rte_changed_slack(): + ref_bus_idx = 1233 + net = pn.case1888rte(ref_bus_idx=ref_bus_idx) + pp.runpp(net) + assert net.converged + _ppc_element_test(net, 1888, 2531, 354, 297) + assert net.ext_grid.bus.at[0] == ref_bus_idx + + ref_bus_idx = [1233, 1854] + net = pn.case1888rte(ref_bus_idx=ref_bus_idx) + pp.runpp(net, trafo_model='pi') + assert list(net.ext_grid.bus.sort_values()) == ref_bus_idx + assert net.converged + + +def test_case2848rte(): + net = pn.case2848rte() + pp.runpp(net) + assert net.converged + _ppc_element_test(net, 2848, 3776, 670, 547) + + +def test_case2869pegase(): + net = pn.case2869pegase() + pp.runpp(net) + assert net.converged + _ppc_element_test(net, 2869, 4582, 690, 510) + + +def test_case3120sp(): + net = pn.case3120sp() + pp.runpp(net) + assert net.converged + _ppc_element_test(net, 3120, 3693, 505, True) + + +def test_case6470rte(): + net = pn.case6470rte() + pp.runpp(net) + assert net.converged + _ppc_element_test(net, 6470, 9005, 1578, 1330) + + +def test_case6495rte(): + net = pn.case6495rte() + pp.runpp(net) + assert net.converged + _ppc_element_test(net, 6495, 9019, 1650, 1372) + + +def test_case6515rte(): + net = pn.case6515rte() + pp.runpp(net) + assert net.converged + _ppc_element_test(net, 6515, 9037, 1651, 1388) + + +def test_case9241pegase(): + net = pn.case9241pegase() + pp.runpp(net) + assert net.converged + _ppc_element_test(net, 9241, 16049, 1879, 1445) + + +def test_GBreducednetwork(): + net = pn.GBreducednetwork() + pp.runpp(net) + assert net.converged + _ppc_element_test(net, 29, 99, 66, True) + + +def test_GBnetwork(): + net = pn.GBnetwork() + pp.runpp(net) + assert net.converged + _ppc_element_test(net, 2224, 3207, 394+37, 394) + + +def test_iceland(): + net = pn.iceland() + pp.runpp(net) + assert net.converged + _ppc_element_test(net, 189, 206, 35, True) + + +if __name__ == '__main__': + pytest.main(["test_power_system_test_cases.py", "-xs"]) diff --git a/pandapower/test/networks/test_simple_pandapower_test_networks.py b/pandapower/test/networks/test_simple_pandapower_test_networks.py index a90d90f28..b0baf7bf2 100644 --- a/pandapower/test/networks/test_simple_pandapower_test_networks.py +++ b/pandapower/test/networks/test_simple_pandapower_test_networks.py @@ -1,59 +1,59 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import pytest - -import pandapower as pp -import pandapower.networks as pn - - -def test_panda_four_load_branch(): - pd_net = pn.panda_four_load_branch() - assert len(pd_net.bus) == 6 - assert len(pd_net.ext_grid) == 1 - assert len(pd_net.trafo) == 1 - assert len(pd_net.line) == 4 - assert len(pd_net.load) == 4 - pp.runpp(pd_net) - assert pd_net.converged - - -def test_four_loads_with_branches_out(): - pd_net = pn.four_loads_with_branches_out() - assert len(pd_net.bus) == 10 - assert len(pd_net.ext_grid) == 1 - assert len(pd_net.trafo) == 1 - assert len(pd_net.line) == 8 - assert len(pd_net.load) == 4 - pp.runpp(pd_net) - assert pd_net.converged - - -def test_simple_four_bus_system(): - net = pn.simple_four_bus_system() - assert len(net.bus) == 4 - assert len(net.ext_grid) == 1 - assert len(net.trafo) == 1 - assert len(net.line) == 2 - assert len(net.sgen) == 2 - assert len(net.load) == 2 - pp.runpp(net) - assert net.converged - - -def test_simple_mv_open_ring_net(): - net = pn.simple_mv_open_ring_net() - assert len(net.bus) == 7 - assert len(net.ext_grid) == 1 - assert len(net.trafo) == 1 - assert len(net.line) == 6 - assert len(net.load) == 5 - pp.runpp(net) - assert net.converged - - -if __name__ == '__main__': - pytest.main(['-x', "test_simple_pandapower_test_networks.py"]) +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import pytest + +import pandapower as pp +import pandapower.networks as pn + + +def test_panda_four_load_branch(): + pd_net = pn.panda_four_load_branch() + assert len(pd_net.bus) == 6 + assert len(pd_net.ext_grid) == 1 + assert len(pd_net.trafo) == 1 + assert len(pd_net.line) == 4 + assert len(pd_net.load) == 4 + pp.runpp(pd_net) + assert pd_net.converged + + +def test_four_loads_with_branches_out(): + pd_net = pn.four_loads_with_branches_out() + assert len(pd_net.bus) == 10 + assert len(pd_net.ext_grid) == 1 + assert len(pd_net.trafo) == 1 + assert len(pd_net.line) == 8 + assert len(pd_net.load) == 4 + pp.runpp(pd_net) + assert pd_net.converged + + +def test_simple_four_bus_system(): + net = pn.simple_four_bus_system() + assert len(net.bus) == 4 + assert len(net.ext_grid) == 1 + assert len(net.trafo) == 1 + assert len(net.line) == 2 + assert len(net.sgen) == 2 + assert len(net.load) == 2 + pp.runpp(net) + assert net.converged + + +def test_simple_mv_open_ring_net(): + net = pn.simple_mv_open_ring_net() + assert len(net.bus) == 7 + assert len(net.ext_grid) == 1 + assert len(net.trafo) == 1 + assert len(net.line) == 6 + assert len(net.load) == 5 + pp.runpp(net) + assert net.converged + + +if __name__ == '__main__': + pytest.main(['-x', "test_simple_pandapower_test_networks.py"]) diff --git a/pandapower/test/networks/test_synthetic_voltage_control_lv_networks.py b/pandapower/test/networks/test_synthetic_voltage_control_lv_networks.py index cea29a4cb..3955a36c7 100644 --- a/pandapower/test/networks/test_synthetic_voltage_control_lv_networks.py +++ b/pandapower/test/networks/test_synthetic_voltage_control_lv_networks.py @@ -1,69 +1,69 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import pytest - -import pandapower as pp -import pandapower.networks as pn - - -def test_rural_1(): - net = pn.create_synthetic_voltage_control_lv_network('rural_1') - assert abs(net.line.length_km.sum() - 1.616) < 1e-6 - assert abs(net.load.p_mw.sum() - 77e-3) < 1e-6 - assert len(net.bus.index) == 26 - assert len(net.line.index) == 24 - assert len(net.trafo.index) == 1 - pp.runpp(net) - assert net.converged - - -def test_rural_2(): - net = pn.create_synthetic_voltage_control_lv_network('rural_2') - assert abs(net.line.length_km.sum() - 0.567) < 1e-6 - assert abs(net.load.p_mw.sum() - 64.5e-3) < 1e-6 - assert len(net.bus.index) == 18 - assert len(net.line.index) == 16 - assert len(net.trafo.index) == 1 - pp.runpp(net) - assert net.converged - - -def test_village_1(): - net = pn.create_synthetic_voltage_control_lv_network('village_1') - assert abs(net.line.length_km.sum() - 2.6) < 1e-6 - assert abs(net.load.p_mw.sum() - 262.1e-3) < 1e-6 - assert len(net.bus.index) == 80 - assert len(net.line.index) == 78 - assert len(net.trafo.index) == 1 - pp.runpp(net) - assert net.converged - - -def test_village_2(): - net = pn.create_synthetic_voltage_control_lv_network('village_2') - assert abs(net.line.length_km.sum() - 1.832) < 1e-6 - assert abs(net.load.p_mw.sum() - 183.6e-3) < 1e-6 - assert len(net.bus.index) == 74 - assert len(net.line.index) == 72 - assert len(net.trafo.index) == 1 - pp.runpp(net) - assert net.converged - - -def test_suburb_1(): - net = pn.create_synthetic_voltage_control_lv_network('suburb_1') - assert abs(net.line.length_km.sum() - 4.897) < 1e-6 - assert abs(net.load.p_mw.sum() - 578.3e-3) < 1e-6 - assert len(net.bus.index) == 204 - assert len(net.line.index) == 202 - assert len(net.trafo.index) == 1 - pp.runpp(net) - assert net.converged - - -if __name__ == '__main__': - pytest.main(['-x', "test_synthetic_voltage_control_lv_networks.py"]) +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import pytest + +import pandapower as pp +import pandapower.networks as pn + + +def test_rural_1(): + net = pn.create_synthetic_voltage_control_lv_network('rural_1') + assert abs(net.line.length_km.sum() - 1.616) < 1e-6 + assert abs(net.load.p_mw.sum() - 77e-3) < 1e-6 + assert len(net.bus.index) == 26 + assert len(net.line.index) == 24 + assert len(net.trafo.index) == 1 + pp.runpp(net) + assert net.converged + + +def test_rural_2(): + net = pn.create_synthetic_voltage_control_lv_network('rural_2') + assert abs(net.line.length_km.sum() - 0.567) < 1e-6 + assert abs(net.load.p_mw.sum() - 64.5e-3) < 1e-6 + assert len(net.bus.index) == 18 + assert len(net.line.index) == 16 + assert len(net.trafo.index) == 1 + pp.runpp(net) + assert net.converged + + +def test_village_1(): + net = pn.create_synthetic_voltage_control_lv_network('village_1') + assert abs(net.line.length_km.sum() - 2.6) < 1e-6 + assert abs(net.load.p_mw.sum() - 262.1e-3) < 1e-6 + assert len(net.bus.index) == 80 + assert len(net.line.index) == 78 + assert len(net.trafo.index) == 1 + pp.runpp(net) + assert net.converged + + +def test_village_2(): + net = pn.create_synthetic_voltage_control_lv_network('village_2') + assert abs(net.line.length_km.sum() - 1.832) < 1e-6 + assert abs(net.load.p_mw.sum() - 183.6e-3) < 1e-6 + assert len(net.bus.index) == 74 + assert len(net.line.index) == 72 + assert len(net.trafo.index) == 1 + pp.runpp(net) + assert net.converged + + +def test_suburb_1(): + net = pn.create_synthetic_voltage_control_lv_network('suburb_1') + assert abs(net.line.length_km.sum() - 4.897) < 1e-6 + assert abs(net.load.p_mw.sum() - 578.3e-3) < 1e-6 + assert len(net.bus.index) == 204 + assert len(net.line.index) == 202 + assert len(net.trafo.index) == 1 + pp.runpp(net) + assert net.converged + + +if __name__ == '__main__': + pytest.main(['-x', "test_synthetic_voltage_control_lv_networks.py"]) diff --git a/pandapower/test/opf/test_basic.py b/pandapower/test/opf/test_basic.py index 628602eb5..a1f2cf2b9 100644 --- a/pandapower/test/opf/test_basic.py +++ b/pandapower/test/opf/test_basic.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/test/opf/test_costs_mixed.py b/pandapower/test/opf/test_costs_mixed.py index c66c46068..93b3cbf33 100644 --- a/pandapower/test/opf/test_costs_mixed.py +++ b/pandapower/test/opf/test_costs_mixed.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/test/opf/test_costs_pol.py b/pandapower/test/opf/test_costs_pol.py index b40178091..1f66568cc 100644 --- a/pandapower/test/opf/test_costs_pol.py +++ b/pandapower/test/opf/test_costs_pol.py @@ -1,130 +1,130 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import numpy as np -import pytest - -import pandapower as pp - -try: - import pplog as logging -except ImportError: - import logging - - -def test_cost_pol_gen(): - """ Testing a very simple network for the resulting cost value - constraints with OPF """ - # boundaries: - vm_max = 1.05 - vm_min = 0.95 - - # create net - net = pp.create_empty_network() - pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=10.) - pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=.4) - pp.create_gen(net, 1, p_mw=0.1, controllable=True, min_p_mw=0.005, max_p_mw=0.15, max_q_mvar=0.05, - min_q_mvar=-0.05) - pp.create_ext_grid(net, 0) - pp.create_load(net, 1, p_mw=0.02, controllable=False) - pp.create_line_from_parameters(net, 0, 1, 50, name="line2", r_ohm_per_km=0.876, - c_nf_per_km=260.0, max_i_ka=0.123, x_ohm_per_km=0.1159876, - max_loading_percent=100 * 690) - - pp.create_poly_cost(net, 0, "gen", cp1_eur_per_mw=1) - - pp.runopp(net) - - assert net["OPF_converged"] - assert np.isclose(net.res_cost, net.res_gen.p_mw.values) - - net.poly_cost.cp1_eur_per_mw.at[0] = 0 - net.poly_cost.cp2_eur_per_mw2.at[0] = 1 - # run OPF - pp.runopp(net) - - assert net["OPF_converged"] - assert np.isclose(net.res_cost, net.res_gen.p_mw.values**2) - - -def test_cost_pol_all_elements(): - """ Testing a very simple network for the resulting cost value - constraints with OPF """ - # boundaries: - vm_max = 1.05 - vm_min = 0.95 - - # create net - net = pp.create_empty_network() - pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=10.) - pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=.4) - pp.create_gen(net, 1, p_mw=0.1, controllable=True, min_p_mw=0.005, max_p_mw=0.15, max_q_mvar=0.05, - min_q_mvar=-0.05) - pp.create_sgen(net, 1, p_mw=0.1, controllable=True, min_p_mw=0.005, max_p_mw=0.15, max_q_mvar=0.05, - min_q_mvar=-0.05) - pp.create_ext_grid(net, 0) - pp.create_load(net, 1, p_mw=0.02, controllable=False) - pp.create_line_from_parameters(net, 0, 1, 50, name="line2", r_ohm_per_km=0.876, - c_nf_per_km=260.0, max_i_ka=0.123, x_ohm_per_km=0.1159876, - max_loading_percent=100 * 690) - - pp.create_poly_cost(net, 0, "gen", cp1_eur_per_mw=1) - pp.create_poly_cost(net, 0, "sgen", cp1_eur_per_mw=1) - # run OPF - pp.runopp(net) - - assert net["OPF_converged"] - assert abs(net.res_cost - (net.res_gen.p_mw.values + net.res_sgen.p_mw.values)) < 1e-2 - - net.poly_cost.cp1_eur_per_mw.at[0] = 0 - net.poly_cost.cp2_eur_per_mw2.at[0] = 1 - - pp.runopp(net) - - assert net["OPF_converged"] - assert np.isclose(net.res_cost, net.res_gen.p_mw.values**2 + net.res_sgen.p_mw.values) - -def test_cost_pol_q(): - """ Testing a very simple network for the resulting cost value - constraints with OPF """ - # boundaries: - vm_max = 1.05 - vm_min = 0.95 - - # create net - net = pp.create_empty_network() - pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=10.) - pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=.4) - pp.create_sgen(net, 1, p_mw=0.1, controllable=True, min_p_mw=0.005, max_p_mw=0.15, max_q_mvar=0.05, - min_q_mvar=-0.05) - pp.create_ext_grid(net, 0) - pp.create_load(net, 1, p_mw=0.02, controllable=False) - pp.create_line_from_parameters(net, 0, 1, 50, name="line2", r_ohm_per_km=0.876, - c_nf_per_km=260.0, max_i_ka=0.123, x_ohm_per_km=0.1159876, - max_loading_percent=100 * 690) - - pp.create_poly_cost(net, 0, "sgen", cp1_eur_per_mw=0, cq1_eur_per_mvar=-1) - # run OPF - pp.runopp(net) - - assert net["OPF_converged"] - assert abs(net.res_cost + (net.res_sgen.q_mvar.values)) < 1e-2 - - net.poly_cost.cq1_eur_per_mvar.at[0] = 0 - net.poly_cost.cq2_eur_per_mvar2.at[0] = 1 -# net.poly_cost.c.at[0] = np.array([[1, 0, 0]]) - # run OPF - pp.runopp(net) - - assert net["OPF_converged"] - assert np.isclose(net.res_cost, net.res_sgen.q_mvar.values**2) - - - -if __name__ == "__main__": - logger = logging.getLogger(__name__) - logger.setLevel("DEBUG") +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import numpy as np +import pytest + +import pandapower as pp + +try: + import pplog as logging +except ImportError: + import logging + + +def test_cost_pol_gen(): + """ Testing a very simple network for the resulting cost value + constraints with OPF """ + # boundaries: + vm_max = 1.05 + vm_min = 0.95 + + # create net + net = pp.create_empty_network() + pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=10.) + pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=.4) + pp.create_gen(net, 1, p_mw=0.1, controllable=True, min_p_mw=0.005, max_p_mw=0.15, max_q_mvar=0.05, + min_q_mvar=-0.05) + pp.create_ext_grid(net, 0) + pp.create_load(net, 1, p_mw=0.02, controllable=False) + pp.create_line_from_parameters(net, 0, 1, 50, name="line2", r_ohm_per_km=0.876, + c_nf_per_km=260.0, max_i_ka=0.123, x_ohm_per_km=0.1159876, + max_loading_percent=100 * 690) + + pp.create_poly_cost(net, 0, "gen", cp1_eur_per_mw=1) + + pp.runopp(net) + + assert net["OPF_converged"] + assert np.isclose(net.res_cost, net.res_gen.p_mw.values) + + net.poly_cost.cp1_eur_per_mw.at[0] = 0 + net.poly_cost.cp2_eur_per_mw2.at[0] = 1 + # run OPF + pp.runopp(net) + + assert net["OPF_converged"] + assert np.isclose(net.res_cost, net.res_gen.p_mw.values**2) + + +def test_cost_pol_all_elements(): + """ Testing a very simple network for the resulting cost value + constraints with OPF """ + # boundaries: + vm_max = 1.05 + vm_min = 0.95 + + # create net + net = pp.create_empty_network() + pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=10.) + pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=.4) + pp.create_gen(net, 1, p_mw=0.1, controllable=True, min_p_mw=0.005, max_p_mw=0.15, max_q_mvar=0.05, + min_q_mvar=-0.05) + pp.create_sgen(net, 1, p_mw=0.1, controllable=True, min_p_mw=0.005, max_p_mw=0.15, max_q_mvar=0.05, + min_q_mvar=-0.05) + pp.create_ext_grid(net, 0) + pp.create_load(net, 1, p_mw=0.02, controllable=False) + pp.create_line_from_parameters(net, 0, 1, 50, name="line2", r_ohm_per_km=0.876, + c_nf_per_km=260.0, max_i_ka=0.123, x_ohm_per_km=0.1159876, + max_loading_percent=100 * 690) + + pp.create_poly_cost(net, 0, "gen", cp1_eur_per_mw=1) + pp.create_poly_cost(net, 0, "sgen", cp1_eur_per_mw=1) + # run OPF + pp.runopp(net) + + assert net["OPF_converged"] + assert abs(net.res_cost - (net.res_gen.p_mw.values + net.res_sgen.p_mw.values)) < 1e-2 + + net.poly_cost.cp1_eur_per_mw.at[0] = 0 + net.poly_cost.cp2_eur_per_mw2.at[0] = 1 + + pp.runopp(net) + + assert net["OPF_converged"] + assert np.isclose(net.res_cost, net.res_gen.p_mw.values**2 + net.res_sgen.p_mw.values) + +def test_cost_pol_q(): + """ Testing a very simple network for the resulting cost value + constraints with OPF """ + # boundaries: + vm_max = 1.05 + vm_min = 0.95 + + # create net + net = pp.create_empty_network() + pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=10.) + pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=.4) + pp.create_sgen(net, 1, p_mw=0.1, controllable=True, min_p_mw=0.005, max_p_mw=0.15, max_q_mvar=0.05, + min_q_mvar=-0.05) + pp.create_ext_grid(net, 0) + pp.create_load(net, 1, p_mw=0.02, controllable=False) + pp.create_line_from_parameters(net, 0, 1, 50, name="line2", r_ohm_per_km=0.876, + c_nf_per_km=260.0, max_i_ka=0.123, x_ohm_per_km=0.1159876, + max_loading_percent=100 * 690) + + pp.create_poly_cost(net, 0, "sgen", cp1_eur_per_mw=0, cq1_eur_per_mvar=-1) + # run OPF + pp.runopp(net) + + assert net["OPF_converged"] + assert abs(net.res_cost + (net.res_sgen.q_mvar.values)) < 1e-2 + + net.poly_cost.cq1_eur_per_mvar.at[0] = 0 + net.poly_cost.cq2_eur_per_mvar2.at[0] = 1 +# net.poly_cost.c.at[0] = np.array([[1, 0, 0]]) + # run OPF + pp.runopp(net) + + assert net["OPF_converged"] + assert np.isclose(net.res_cost, net.res_sgen.q_mvar.values**2) + + + +if __name__ == "__main__": + logger = logging.getLogger(__name__) + logger.setLevel("DEBUG") pytest.main(["test_costs_pol.py", "-xs"]) \ No newline at end of file diff --git a/pandapower/test/opf/test_costs_pwl.py b/pandapower/test/opf/test_costs_pwl.py index 1b4e357fe..9e89e7b15 100644 --- a/pandapower/test/opf/test_costs_pwl.py +++ b/pandapower/test/opf/test_costs_pwl.py @@ -1,247 +1,247 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import numpy as np -import pytest - -import pandapower as pp - -try: - import pplog as logging -except ImportError: - import logging - - -def test_cost_piecewise_linear_gen(): - """ Testing a very simple network for the resulting cost value - constraints with OPF """ - # boundaries: - vm_max = 1.05 - vm_min = 0.95 - - # create net - net = pp.create_empty_network() - pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=10.) - pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=.4) - pp.create_gen(net, 1, p_mw=0.1, controllable=True, min_p_mw=0.05, max_p_mw=0.15, max_q_mvar=0.05, - min_q_mvar=-0.05) - pp.create_ext_grid(net, 0) - pp.create_load(net, 1, p_mw=0.02, controllable=False) - pp.create_line_from_parameters(net, 0, 1, 50, name="line2", r_ohm_per_km=0.876, - c_nf_per_km=260.0, max_i_ka=0.123, x_ohm_per_km=0.1159876, - max_loading_percent=100 * 690) - - pp.create_pwl_cost(net, 0, "gen", [[0, 75, 1.5], [75, 150, 1.5]]) - - pp.runopp(net) - - assert net["OPF_converged"] - assert np.isclose(net.res_cost, net.res_gen.p_mw.values * 1.5, atol=1e-3) - - -def test_cost_piecewise_linear_eg(): - """ Testing a very simple network for the resulting cost value - constraints with OPF """ - - # boundaries: - vm_max = 1.05 - vm_min = 0.95 - - # create net - net = pp.create_empty_network() - pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=10.) - pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=10) - pp.create_ext_grid(net, 0, min_p_mw=0, max_p_mw=0.050) - pp.create_gen(net, 1, p_mw=0.01, min_p_mw=0, max_p_mw=0.050, controllable=True) - # pp.create_ext_grid(net, 0) - pp.create_load(net, 1, p_mw=0.02, controllable=False) - pp.create_line_from_parameters(net, 0, 1, 50, name="line2", r_ohm_per_km=0.876, - c_nf_per_km=260.0, max_i_ka=0.123, x_ohm_per_km=0.1159876, - max_loading_percent=100 * 690) - - pp.create_pwl_cost(net, 0, "ext_grid", [[0, 50, -10]]) - # run OPF - pp.runopp(net) - - assert net["OPF_converged"] - assert np.isclose(net.res_cost, -10*net.res_ext_grid.p_mw.values) - - -def test_get_costs(): - """ Testing a very simple network for the resulting cost value - constraints with OPF """ - - # boundaries: - vm_max = 1.05 - vm_min = 0.95 - - # create net - net = pp.create_empty_network() - pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=10.) - pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=.4) - pp.create_gen(net, 1, p_mw=0.1, controllable=True, min_p_mw=0.05, max_p_mw=0.15, max_q_mvar=0.05, - min_q_mvar=-0.05) - pp.create_ext_grid(net, 0) - pp.create_load(net, 1, p_mw=0.02, controllable=False) - pp.create_line_from_parameters(net, 0, 1, 50, name="line2", r_ohm_per_km=0.876, - c_nf_per_km=260.0, max_i_ka=0.123, x_ohm_per_km=0.1159876, - max_loading_percent=100 * 690) - - pp.create_pwl_cost(net, 0, "gen", [[0, 150, 2]]) - # run OPF - pp.runopp(net) - - assert net["OPF_converged"] - assert net.res_gen.p_mw.values[0] - net.gen.min_p_mw.values[0] < 1e-2 - assert np.isclose(net.res_cost, 2 * net.res_gen.p_mw.values[0]) - # check and assert result - - -def test_cost_piecewise_linear_sgen(): - """ Testing a very simple network for the resulting cost value - constraints with OPF """ - - # boundaries: - vm_max = 1.05 - vm_min = 0.95 - - # create net - net = pp.create_empty_network() - pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=10.) - pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=.4) - pp.create_sgen(net, 1, p_mw=0.1, controllable=True, min_p_mw=0.05, max_p_mw=0.15, max_q_mvar=0.05, - min_q_mvar=-0.05) - pp.create_ext_grid(net, 0) - pp.create_load(net, 1, p_mw=0.02, controllable=False) - pp.create_line_from_parameters(net, 0, 1, 50, name="line2", r_ohm_per_km=0.876, - c_nf_per_km=260.0, max_i_ka=0.123, x_ohm_per_km=0.1159876, - max_loading_percent=100 * 690) - - pp.create_pwl_cost(net, 0, "sgen", [[0, 150, 2]]) - # run OPF - pp.runopp(net) - - assert net["OPF_converged"] - assert net.res_sgen.p_mw.values[0] - net.sgen.min_p_mw.values[0] < 1e-2 - assert np.isclose(net.res_cost, 2 * net.res_sgen.p_mw.values[0]) - - -def test_cost_piecewise_linear_load(): - """ Testing a very simple network for the resulting cost value - constraints with OPF """ - - # boundaries: - vm_max = 1.05 - vm_min = 0.95 - - # create net - net = pp.create_empty_network() - pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=10.) - pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=.4) - pp.create_load(net, 1, p_mw=0.1, controllable=True, max_p_mw=0.15, min_p_mw=0.050, max_q_mvar=0, - min_q_mvar=0) - pp.create_ext_grid(net, 0) - pp.create_line_from_parameters(net, 0, 1, 50, name="line2", r_ohm_per_km=0.876, - c_nf_per_km=260.0, max_i_ka=0.123, x_ohm_per_km=0.1159876, - max_loading_percent=100 * 690) - - pp.create_pwl_cost(net, 0, "load", [[0, 75, 1.5], [75, 150, 1.5]]) - - pp.runopp(net) - - assert net["OPF_converged"] - assert abs(net.res_cost - net.res_load.p_mw.values * 1.5) < 1e-3 - -def test_cost_piecewise_linear_sgen_uneven_slopes(): - """ Testing a very simple network for the resulting cost value - constraints with OPF """ - - # boundaries: - vm_max = 1.05 - vm_min = 0.95 - - # create net - net = pp.create_empty_network() - pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=10.) - pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=.4) - pp.create_sgen(net, 1, p_mw=0.1, controllable=True, min_p_mw=0.05, max_p_mw=0.15, max_q_mvar=0.05, - min_q_mvar=-0.05) - pp.create_ext_grid(net, 0) - pp.create_load(net, 1, p_mw=0.02, controllable=False) - pp.create_line_from_parameters(net, 0, 1, 50, name="line2", r_ohm_per_km=0.876, - c_nf_per_km=260.0, max_i_ka=0.123, x_ohm_per_km=0.1159876, - max_loading_percent=100 * 690) - - pp.create_pwl_cost(net, 0, "sgen", [[0, 75, 1.5], [75, 150, 1.5]]) - # run OPF - pp.runopp(net) - - assert net["OPF_converged"] - assert net.res_cost - net.res_sgen.p_mw.values * 1.5 < 1e-3 - - -def test_cost_piecewise_linear_load_uneven_slopes(): - """ Testing a very simple network for the resulting cost value - constraints with OPF """ - - # boundaries: - vm_max = 1.05 - vm_min = 0.95 - - # create net - net = pp.create_empty_network() - pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=10.) - pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=.4) - pp.create_load(net, 1, p_mw=0.050) - pp.create_ext_grid(net, 0) - pp.create_line_from_parameters(net, 0, 1, 50, name="line2", r_ohm_per_km=0.876, - c_nf_per_km=260.0, max_i_ka=0.123, x_ohm_per_km=0.1159876, - max_loading_percent=100 * 690) - - - pp.create_pwl_cost(net, 0, "ext_grid", [(0, 0.075, 1), (0.075, 150, 2)]) - - pp.runopp(net) - assert net["OPF_converged"] - assert np.isclose(net.res_cost, net.res_ext_grid.p_mw.values[0]) - - net.load.p_mw = 0.1 - pp.runopp(net) - assert np.isclose(net.res_cost, (0.075 + 2*(net.res_ext_grid.p_mw.values[0] - 0.075)), rtol=1e-2) - -def test_cost_piecewise_linear_sgen_very_unsteady_slopes(): - """ Testing a very simple network for the resulting cost value - constraints with OPF """ - - # boundaries: - vm_max = 1.5 - vm_min = 0.5 - - # create net - net = pp.create_empty_network() - pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=10.) - pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=.4) - pp.create_sgen(net, 1, p_mw=0.10, controllable=True, min_p_mw=0, max_p_mw=1.50, - max_q_mvar=0.05, min_q_mvar=-0.05) - pp.create_ext_grid(net, 0) - pp.create_load(net, 1, p_mw=0.02, controllable=False) - pp.create_line_from_parameters(net, 0, 1, 50, name="line2", r_ohm_per_km=0.876, - c_nf_per_km=260.0, max_i_ka=0.123, x_ohm_per_km=0.1159876, - max_loading_percent=100 * 690) - - pp.create_pwl_cost(net, 0, "sgen", [[0, 0.75, -1], [0.75, 1500, 2]]) - # run OPF - pp.runopp(net) - - assert net["OPF_converged"] - assert np.isclose(net.res_sgen.p_mw.values[0], .75, rtol=1e-2) - assert np.isclose(net.res_sgen.p_mw.values[0], -net.res_cost, rtol=1e-2) - - -if __name__ == "__main__": - logger = logging.getLogger(__name__) - logger.setLevel("DEBUG") - pytest.main(["-xs"]) +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import numpy as np +import pytest + +import pandapower as pp + +try: + import pplog as logging +except ImportError: + import logging + + +def test_cost_piecewise_linear_gen(): + """ Testing a very simple network for the resulting cost value + constraints with OPF """ + # boundaries: + vm_max = 1.05 + vm_min = 0.95 + + # create net + net = pp.create_empty_network() + pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=10.) + pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=.4) + pp.create_gen(net, 1, p_mw=0.1, controllable=True, min_p_mw=0.05, max_p_mw=0.15, max_q_mvar=0.05, + min_q_mvar=-0.05) + pp.create_ext_grid(net, 0) + pp.create_load(net, 1, p_mw=0.02, controllable=False) + pp.create_line_from_parameters(net, 0, 1, 50, name="line2", r_ohm_per_km=0.876, + c_nf_per_km=260.0, max_i_ka=0.123, x_ohm_per_km=0.1159876, + max_loading_percent=100 * 690) + + pp.create_pwl_cost(net, 0, "gen", [[0, 75, 1.5], [75, 150, 1.5]]) + + pp.runopp(net) + + assert net["OPF_converged"] + assert np.isclose(net.res_cost, net.res_gen.p_mw.values * 1.5, atol=1e-3) + + +def test_cost_piecewise_linear_eg(): + """ Testing a very simple network for the resulting cost value + constraints with OPF """ + + # boundaries: + vm_max = 1.05 + vm_min = 0.95 + + # create net + net = pp.create_empty_network() + pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=10.) + pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=10) + pp.create_ext_grid(net, 0, min_p_mw=0, max_p_mw=0.050) + pp.create_gen(net, 1, p_mw=0.01, min_p_mw=0, max_p_mw=0.050, controllable=True) + # pp.create_ext_grid(net, 0) + pp.create_load(net, 1, p_mw=0.02, controllable=False) + pp.create_line_from_parameters(net, 0, 1, 50, name="line2", r_ohm_per_km=0.876, + c_nf_per_km=260.0, max_i_ka=0.123, x_ohm_per_km=0.1159876, + max_loading_percent=100 * 690) + + pp.create_pwl_cost(net, 0, "ext_grid", [[0, 50, -10]]) + # run OPF + pp.runopp(net) + + assert net["OPF_converged"] + assert np.isclose(net.res_cost, -10*net.res_ext_grid.p_mw.values) + + +def test_get_costs(): + """ Testing a very simple network for the resulting cost value + constraints with OPF """ + + # boundaries: + vm_max = 1.05 + vm_min = 0.95 + + # create net + net = pp.create_empty_network() + pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=10.) + pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=.4) + pp.create_gen(net, 1, p_mw=0.1, controllable=True, min_p_mw=0.05, max_p_mw=0.15, max_q_mvar=0.05, + min_q_mvar=-0.05) + pp.create_ext_grid(net, 0) + pp.create_load(net, 1, p_mw=0.02, controllable=False) + pp.create_line_from_parameters(net, 0, 1, 50, name="line2", r_ohm_per_km=0.876, + c_nf_per_km=260.0, max_i_ka=0.123, x_ohm_per_km=0.1159876, + max_loading_percent=100 * 690) + + pp.create_pwl_cost(net, 0, "gen", [[0, 150, 2]]) + # run OPF + pp.runopp(net) + + assert net["OPF_converged"] + assert net.res_gen.p_mw.values[0] - net.gen.min_p_mw.values[0] < 1e-2 + assert np.isclose(net.res_cost, 2 * net.res_gen.p_mw.values[0]) + # check and assert result + + +def test_cost_piecewise_linear_sgen(): + """ Testing a very simple network for the resulting cost value + constraints with OPF """ + + # boundaries: + vm_max = 1.05 + vm_min = 0.95 + + # create net + net = pp.create_empty_network() + pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=10.) + pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=.4) + pp.create_sgen(net, 1, p_mw=0.1, controllable=True, min_p_mw=0.05, max_p_mw=0.15, max_q_mvar=0.05, + min_q_mvar=-0.05) + pp.create_ext_grid(net, 0) + pp.create_load(net, 1, p_mw=0.02, controllable=False) + pp.create_line_from_parameters(net, 0, 1, 50, name="line2", r_ohm_per_km=0.876, + c_nf_per_km=260.0, max_i_ka=0.123, x_ohm_per_km=0.1159876, + max_loading_percent=100 * 690) + + pp.create_pwl_cost(net, 0, "sgen", [[0, 150, 2]]) + # run OPF + pp.runopp(net) + + assert net["OPF_converged"] + assert net.res_sgen.p_mw.values[0] - net.sgen.min_p_mw.values[0] < 1e-2 + assert np.isclose(net.res_cost, 2 * net.res_sgen.p_mw.values[0]) + + +def test_cost_piecewise_linear_load(): + """ Testing a very simple network for the resulting cost value + constraints with OPF """ + + # boundaries: + vm_max = 1.05 + vm_min = 0.95 + + # create net + net = pp.create_empty_network() + pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=10.) + pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=.4) + pp.create_load(net, 1, p_mw=0.1, controllable=True, max_p_mw=0.15, min_p_mw=0.050, max_q_mvar=0, + min_q_mvar=0) + pp.create_ext_grid(net, 0) + pp.create_line_from_parameters(net, 0, 1, 50, name="line2", r_ohm_per_km=0.876, + c_nf_per_km=260.0, max_i_ka=0.123, x_ohm_per_km=0.1159876, + max_loading_percent=100 * 690) + + pp.create_pwl_cost(net, 0, "load", [[0, 75, 1.5], [75, 150, 1.5]]) + + pp.runopp(net) + + assert net["OPF_converged"] + assert abs(net.res_cost - net.res_load.p_mw.values * 1.5) < 1e-3 + +def test_cost_piecewise_linear_sgen_uneven_slopes(): + """ Testing a very simple network for the resulting cost value + constraints with OPF """ + + # boundaries: + vm_max = 1.05 + vm_min = 0.95 + + # create net + net = pp.create_empty_network() + pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=10.) + pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=.4) + pp.create_sgen(net, 1, p_mw=0.1, controllable=True, min_p_mw=0.05, max_p_mw=0.15, max_q_mvar=0.05, + min_q_mvar=-0.05) + pp.create_ext_grid(net, 0) + pp.create_load(net, 1, p_mw=0.02, controllable=False) + pp.create_line_from_parameters(net, 0, 1, 50, name="line2", r_ohm_per_km=0.876, + c_nf_per_km=260.0, max_i_ka=0.123, x_ohm_per_km=0.1159876, + max_loading_percent=100 * 690) + + pp.create_pwl_cost(net, 0, "sgen", [[0, 75, 1.5], [75, 150, 1.5]]) + # run OPF + pp.runopp(net) + + assert net["OPF_converged"] + assert net.res_cost - net.res_sgen.p_mw.values * 1.5 < 1e-3 + + +def test_cost_piecewise_linear_load_uneven_slopes(): + """ Testing a very simple network for the resulting cost value + constraints with OPF """ + + # boundaries: + vm_max = 1.05 + vm_min = 0.95 + + # create net + net = pp.create_empty_network() + pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=10.) + pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=.4) + pp.create_load(net, 1, p_mw=0.050) + pp.create_ext_grid(net, 0) + pp.create_line_from_parameters(net, 0, 1, 50, name="line2", r_ohm_per_km=0.876, + c_nf_per_km=260.0, max_i_ka=0.123, x_ohm_per_km=0.1159876, + max_loading_percent=100 * 690) + + + pp.create_pwl_cost(net, 0, "ext_grid", [(0, 0.075, 1), (0.075, 150, 2)]) + + pp.runopp(net) + assert net["OPF_converged"] + assert np.isclose(net.res_cost, net.res_ext_grid.p_mw.values[0]) + + net.load.p_mw = 0.1 + pp.runopp(net) + assert np.isclose(net.res_cost, (0.075 + 2*(net.res_ext_grid.p_mw.values[0] - 0.075)), rtol=1e-2) + +def test_cost_piecewise_linear_sgen_very_unsteady_slopes(): + """ Testing a very simple network for the resulting cost value + constraints with OPF """ + + # boundaries: + vm_max = 1.5 + vm_min = 0.5 + + # create net + net = pp.create_empty_network() + pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=10.) + pp.create_bus(net, max_vm_pu=vm_max, min_vm_pu=vm_min, vn_kv=.4) + pp.create_sgen(net, 1, p_mw=0.10, controllable=True, min_p_mw=0, max_p_mw=1.50, + max_q_mvar=0.05, min_q_mvar=-0.05) + pp.create_ext_grid(net, 0) + pp.create_load(net, 1, p_mw=0.02, controllable=False) + pp.create_line_from_parameters(net, 0, 1, 50, name="line2", r_ohm_per_km=0.876, + c_nf_per_km=260.0, max_i_ka=0.123, x_ohm_per_km=0.1159876, + max_loading_percent=100 * 690) + + pp.create_pwl_cost(net, 0, "sgen", [[0, 0.75, -1], [0.75, 1500, 2]]) + # run OPF + pp.runopp(net) + + assert net["OPF_converged"] + assert np.isclose(net.res_sgen.p_mw.values[0], .75, rtol=1e-2) + assert np.isclose(net.res_sgen.p_mw.values[0], -net.res_cost, rtol=1e-2) + + +if __name__ == "__main__": + logger = logging.getLogger(__name__) + logger.setLevel("DEBUG") + pytest.main(["-xs"]) diff --git a/pandapower/test/opf/test_curtailment.py b/pandapower/test/opf/test_curtailment.py index b43b79092..09568cf8b 100644 --- a/pandapower/test/opf/test_curtailment.py +++ b/pandapower/test/opf/test_curtailment.py @@ -1,70 +1,70 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import pytest -from numpy import array, allclose, all -import pandapower as pp - -try: - import pplog as logging -except ImportError: - import logging - -logger = logging.getLogger(__name__) - - -def test_minimize_active_power_curtailment(): - net = pp.create_empty_network() - - # create buses - bus1 = pp.create_bus(net, vn_kv=220.) - bus2 = pp.create_bus(net, vn_kv=110.) - bus3 = pp.create_bus(net, vn_kv=110.) - bus4 = pp.create_bus(net, vn_kv=110.) - - # create 220/110 kV transformer - pp.create_transformer(net, bus1, bus2, std_type="100 MVA 220/110 kV") - - # create 110 kV lines - pp.create_line(net, bus2, bus3, length_km=70., std_type='149-AL1/24-ST1A 110.0') - pp.create_line(net, bus3, bus4, length_km=50., std_type='149-AL1/24-ST1A 110.0') - pp.create_line(net, bus4, bus2, length_km=40., std_type='149-AL1/24-ST1A 110.0') - - # create loads - pp.create_load(net, bus2, p_mw=60, controllable=False) - pp.create_load(net, bus3, p_mw=70, controllable=False) - pp.create_load(net, bus4, p_mw=10, controllable=False) - - # create generators - pp.create_ext_grid(net, bus1) - pp.create_gen(net, bus3, p_mw=80., max_p_mw=80., min_p_mw=0., vm_pu=1.01, controllable=True) - pp.create_gen(net, bus4, p_mw=0.1, max_p_mw=100., min_p_mw=0., vm_pu=1.01, controllable=True) - - net.trafo["max_loading_percent"] = 50. - net.line["max_loading_percent"] = 50. - - net.bus["min_vm_pu"] = 1.0 - net.bus["max_vm_pu"] = 1.02 - - # use cheapest gen first, avoid ext_grid as much as possible (until vm_pu max is reached for gens) - pp.create_poly_cost(net, 0, "gen", cp1_eur_per_mw=0.02) - pp.create_poly_cost(net, 1, "gen", cp1_eur_per_mw=0.0) - pp.create_poly_cost(net, 0, "ext_grid", cp1_eur_per_mw=0.3) - pp.runopp(net, calculate_voltage_angles=True) - assert net["OPF_converged"] - # checks limits in general - assert all(net.res_line.loading_percent < 50.01) - assert all(net.res_bus.vm_pu < 1.02) - assert all(net.res_bus.vm_pu > 1.0) - # checks if the cheaper gen is rather used then the more expensive one to cover the load - assert net.res_gen.at[1, "p_mw"] > net.res_gen.at[0, "p_mw"] - # check if they use their maximum voltage - assert allclose(net.res_gen.loc[:, "vm_pu"], 1.02) - - -if __name__ == "__main__": - # pytest.main([__file__, "-xs"]) - test_minimize_active_power_curtailment() +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import pytest +from numpy import array, allclose, all +import pandapower as pp + +try: + import pplog as logging +except ImportError: + import logging + +logger = logging.getLogger(__name__) + + +def test_minimize_active_power_curtailment(): + net = pp.create_empty_network() + + # create buses + bus1 = pp.create_bus(net, vn_kv=220.) + bus2 = pp.create_bus(net, vn_kv=110.) + bus3 = pp.create_bus(net, vn_kv=110.) + bus4 = pp.create_bus(net, vn_kv=110.) + + # create 220/110 kV transformer + pp.create_transformer(net, bus1, bus2, std_type="100 MVA 220/110 kV") + + # create 110 kV lines + pp.create_line(net, bus2, bus3, length_km=70., std_type='149-AL1/24-ST1A 110.0') + pp.create_line(net, bus3, bus4, length_km=50., std_type='149-AL1/24-ST1A 110.0') + pp.create_line(net, bus4, bus2, length_km=40., std_type='149-AL1/24-ST1A 110.0') + + # create loads + pp.create_load(net, bus2, p_mw=60, controllable=False) + pp.create_load(net, bus3, p_mw=70, controllable=False) + pp.create_load(net, bus4, p_mw=10, controllable=False) + + # create generators + pp.create_ext_grid(net, bus1) + pp.create_gen(net, bus3, p_mw=80., max_p_mw=80., min_p_mw=0., vm_pu=1.01, controllable=True) + pp.create_gen(net, bus4, p_mw=0.1, max_p_mw=100., min_p_mw=0., vm_pu=1.01, controllable=True) + + net.trafo["max_loading_percent"] = 50. + net.line["max_loading_percent"] = 50. + + net.bus["min_vm_pu"] = 1.0 + net.bus["max_vm_pu"] = 1.02 + + # use cheapest gen first, avoid ext_grid as much as possible (until vm_pu max is reached for gens) + pp.create_poly_cost(net, 0, "gen", cp1_eur_per_mw=0.02) + pp.create_poly_cost(net, 1, "gen", cp1_eur_per_mw=0.0) + pp.create_poly_cost(net, 0, "ext_grid", cp1_eur_per_mw=0.3) + pp.runopp(net, calculate_voltage_angles=True) + assert net["OPF_converged"] + # checks limits in general + assert all(net.res_line.loading_percent < 50.01) + assert all(net.res_bus.vm_pu < 1.02) + assert all(net.res_bus.vm_pu > 1.0) + # checks if the cheaper gen is rather used then the more expensive one to cover the load + assert net.res_gen.at[1, "p_mw"] > net.res_gen.at[0, "p_mw"] + # check if they use their maximum voltage + assert allclose(net.res_gen.loc[:, "vm_pu"], 1.02) + + +if __name__ == "__main__": + # pytest.main([__file__, "-xs"]) + test_minimize_active_power_curtailment() diff --git a/pandapower/test/opf/test_dcline.py b/pandapower/test/opf/test_dcline.py index 533b09a41..b37de9414 100644 --- a/pandapower/test/opf/test_dcline.py +++ b/pandapower/test/opf/test_dcline.py @@ -1,145 +1,145 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import pytest -from numpy import array, allclose, isclose - -import pandapower as pp -from pandapower.test.consistency_checks import consistency_checks - -try: - import pplog as logging -except ImportError: - import logging - -logger = logging.getLogger(__name__) - - -@pytest.fixture -def dcline_net(): - net = pp.create_empty_network() - - b5 = pp.create_bus(net, 380) - b3 = pp.create_bus(net, 380) - b2 = pp.create_bus(net, 380) - b4 = pp.create_bus(net, 380) - b1 = pp.create_bus(net, 380) - - pp.create_ext_grid(net, b1, 1.02, min_p_mw=0., max_p_mw=1e9) - pp.create_line(net, b1, b2, 30, "490-AL1/64-ST1A 380.0") - pp.create_dcline(net, name="dc line", from_bus=b2, to_bus=b3, p_mw=200, loss_percent=1.0, - loss_mw=0.5, vm_from_pu=1.01, vm_to_pu=1.012, max_p_mw=1000, - in_service=True, index=4) - pp.create_line(net, b3, b4, 20, "490-AL1/64-ST1A 380.0") - - pp.create_load(net, bus=b4, p_mw=800, controllable=False) - pp.create_line(net, b4, b5, 20, "490-AL1/64-ST1A 380.0") - pp.create_ext_grid(net, b5, 1.02, min_p_mw=0., max_p_mw=1e9) - - return net - - -def get_delta_try_except(net): - for delta in [1e-5, 1e-6, 1e-7, 1e-8, 1e-9, 1e-10, 1e-11, 1e-12]: - try: - pp.runopp(net, delta=delta) - return delta - except pp.OPFNotConverged: - continue - return 1e-10 - - -@pytest.mark.xfail(reason="numerical issue with OPF convergence. The failure seems to depend on the" - " python version. Should be reworked.") -def test_dispatch1(dcline_net): - net = dcline_net - pp.create_pwl_cost(net, 0, "ext_grid", [[-1e12, 1e9, 100]]) - pp.create_pwl_cost(net, 1, "ext_grid", [[-1e12, 1e9, 80]]) - net.bus["max_vm_pu"] = 2 - net.bus["min_vm_pu"] = 0 # needs to be constrained more than default - net.line["max_loading_percent"] = 1000 # does not converge if unconstrained - pp.runopp(net, delta=1e-8) - consistency_checks(net) - rel_loss_expect = (net.res_dcline.pl_mw - net.dcline.loss_mw) / \ - (net.res_dcline.p_from_mw - net.res_dcline.pl_mw) * 100 - assert allclose(rel_loss_expect.values, net.dcline.loss_percent.values, rtol=1e-2) - - assert allclose(net.res_ext_grid.p_mw.values, [0.5, 805], atol=0.1) - assert allclose(net.res_ext_grid.q_mvar.values, [-7.78755773243, 0.62830727889], atol=1e-3) - - assert allclose(net.res_dcline.p_from_mw.values, [0.500754071], atol=1e-3) - assert allclose(net.res_dcline.q_from_mvar.values, [7.78745600524]) - - assert allclose(net.res_dcline.p_to_mw.values, array([-5.48553789e-05])) - assert allclose(net.res_dcline.q_to_mvar.values, array([-.62712636707])) - - -@pytest.mark.xfail(reason="numerical issue with OPF convergence. If vm_pu delta is != 0. at " - "ext_grid -> fail. See build_gen() in line 111 + 112") -def test_dcline_dispatch2(dcline_net): - net = dcline_net - pp.create_poly_cost(net, 0, "ext_grid", cp1_eur_per_mw=80) - pp.create_poly_cost(net, 1, "ext_grid", cp1_eur_per_mw=100) - # pp.create_poly_cost(net, 0, "ext_grid", array([.08, 0])) - # pp.create_poly_cost(net, 1, "ext_grid", array([.1, 0])) - - net.bus["max_vm_pu"] = 2 - net.bus["min_vm_pu"] = 0 # needs to be constrained more than default - net.line["max_loading_percent"] = 1000 # does not converge if unconstrained - - # pp.runopp(net, delta=get_delta_try_except(net)) - pp.runopp(net) - consistency_checks(net, rtol=1e-3) - rel_loss_expect = (net.res_dcline.pl_mw - net.dcline.loss_mw) / \ - (net.res_dcline.p_from_mw - net.res_dcline.pl_mw) * 100 - assert allclose(rel_loss_expect.values, net.dcline.loss_percent.values) - - p_eg_expect = array([8.21525358e+02, 5.43498903e-05]) - q_eg_expect = array([-7787.55852923e-3, -21048.59213887e-3]) - assert allclose(net.res_ext_grid.p_mw.values, p_eg_expect) - assert allclose(net.res_ext_grid.q_mvar.values, q_eg_expect) - - p_from_expect = array([813573.88366999e-3]) - q_from_expect = array([-26446.0473644e-3]) - - assert allclose(net.res_dcline.p_from_mw.values, p_from_expect) - assert allclose(net.res_dcline.q_from_mvar.values, q_from_expect) - - p_to_expect = array([-805023.64719801e-3]) - q_to_expect = array([-21736.31196315e-3]) - - assert allclose(net.res_dcline.p_to_mw.values, p_to_expect) - assert allclose(net.res_dcline.q_to_mvar.values, q_to_expect) - - -@pytest.mark.xfail(reason="numerical issue with OPF convergence. If vm_pu delta is != 0. at " - "ext_grid -> fail. See build_gen() in line 111 + 112") -def test_dcline_dispatch3(dcline_net): - net = dcline_net - pp.create_poly_cost(net, 4, "dcline", cp1_eur_per_mw=1.5) - net.bus["max_vm_pu"] = 1.03 # needs to be constrained more than default - net.line["max_loading_percent"] = 1000 # does not converge if unconstrained - # pp.runopp(net, delta=get_delta_try_except(net)) - pp.runopp(net) - consistency_checks(net, rtol=1e-1) - - # dc line is not dispatched because of the assigned costs - assert isclose(net.res_dcline.at[4, "p_to_mw"], 0, atol=1e-2) - assert all(net.res_ext_grid.p_mw.values > 0) - - # costs for ext_grid at the end of the DC line get double the costs of DC line transfer - pp.create_poly_cost(net, 1, "ext_grid", cp1_eur_per_mw=2000) - pp.runopp(net) - # pp.runopp(net, delta=get_delta_try_except(net)) - - # now the total power is supplied through the DC line - assert (net.res_dcline.at[4, "p_to_mw"]) < 1e3 - assert net.res_ext_grid.p_mw.at[1] < 1 - assert isclose(net.res_cost, net.res_dcline.at[4, "p_from_mw"] * 1.5) - - -if __name__ == "__main__": - pytest.main([__file__]) +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import pytest +from numpy import array, allclose, isclose + +import pandapower as pp +from pandapower.test.consistency_checks import consistency_checks + +try: + import pplog as logging +except ImportError: + import logging + +logger = logging.getLogger(__name__) + + +@pytest.fixture +def dcline_net(): + net = pp.create_empty_network() + + b5 = pp.create_bus(net, 380) + b3 = pp.create_bus(net, 380) + b2 = pp.create_bus(net, 380) + b4 = pp.create_bus(net, 380) + b1 = pp.create_bus(net, 380) + + pp.create_ext_grid(net, b1, 1.02, min_p_mw=0., max_p_mw=1e9) + pp.create_line(net, b1, b2, 30, "490-AL1/64-ST1A 380.0") + pp.create_dcline(net, name="dc line", from_bus=b2, to_bus=b3, p_mw=200, loss_percent=1.0, + loss_mw=0.5, vm_from_pu=1.01, vm_to_pu=1.012, max_p_mw=1000, + in_service=True, index=4) + pp.create_line(net, b3, b4, 20, "490-AL1/64-ST1A 380.0") + + pp.create_load(net, bus=b4, p_mw=800, controllable=False) + pp.create_line(net, b4, b5, 20, "490-AL1/64-ST1A 380.0") + pp.create_ext_grid(net, b5, 1.02, min_p_mw=0., max_p_mw=1e9) + + return net + + +def get_delta_try_except(net): + for delta in [1e-5, 1e-6, 1e-7, 1e-8, 1e-9, 1e-10, 1e-11, 1e-12]: + try: + pp.runopp(net, delta=delta) + return delta + except pp.OPFNotConverged: + continue + return 1e-10 + + +@pytest.mark.xfail(reason="numerical issue with OPF convergence. The failure seems to depend on the" + " python version. Should be reworked.") +def test_dispatch1(dcline_net): + net = dcline_net + pp.create_pwl_cost(net, 0, "ext_grid", [[-1e12, 1e9, 100]]) + pp.create_pwl_cost(net, 1, "ext_grid", [[-1e12, 1e9, 80]]) + net.bus["max_vm_pu"] = 2 + net.bus["min_vm_pu"] = 0 # needs to be constrained more than default + net.line["max_loading_percent"] = 1000 # does not converge if unconstrained + pp.runopp(net, delta=1e-8) + consistency_checks(net) + rel_loss_expect = (net.res_dcline.pl_mw - net.dcline.loss_mw) / \ + (net.res_dcline.p_from_mw - net.res_dcline.pl_mw) * 100 + assert allclose(rel_loss_expect.values, net.dcline.loss_percent.values, rtol=1e-2) + + assert allclose(net.res_ext_grid.p_mw.values, [0.5, 805], atol=0.1) + assert allclose(net.res_ext_grid.q_mvar.values, [-7.78755773243, 0.62830727889], atol=1e-3) + + assert allclose(net.res_dcline.p_from_mw.values, [0.500754071], atol=1e-3) + assert allclose(net.res_dcline.q_from_mvar.values, [7.78745600524]) + + assert allclose(net.res_dcline.p_to_mw.values, array([-5.48553789e-05])) + assert allclose(net.res_dcline.q_to_mvar.values, array([-.62712636707])) + + +@pytest.mark.xfail(reason="numerical issue with OPF convergence. If vm_pu delta is != 0. at " + "ext_grid -> fail. See build_gen() in line 111 + 112") +def test_dcline_dispatch2(dcline_net): + net = dcline_net + pp.create_poly_cost(net, 0, "ext_grid", cp1_eur_per_mw=80) + pp.create_poly_cost(net, 1, "ext_grid", cp1_eur_per_mw=100) + # pp.create_poly_cost(net, 0, "ext_grid", array([.08, 0])) + # pp.create_poly_cost(net, 1, "ext_grid", array([.1, 0])) + + net.bus["max_vm_pu"] = 2 + net.bus["min_vm_pu"] = 0 # needs to be constrained more than default + net.line["max_loading_percent"] = 1000 # does not converge if unconstrained + + # pp.runopp(net, delta=get_delta_try_except(net)) + pp.runopp(net) + consistency_checks(net, rtol=1e-3) + rel_loss_expect = (net.res_dcline.pl_mw - net.dcline.loss_mw) / \ + (net.res_dcline.p_from_mw - net.res_dcline.pl_mw) * 100 + assert allclose(rel_loss_expect.values, net.dcline.loss_percent.values) + + p_eg_expect = array([8.21525358e+02, 5.43498903e-05]) + q_eg_expect = array([-7787.55852923e-3, -21048.59213887e-3]) + assert allclose(net.res_ext_grid.p_mw.values, p_eg_expect) + assert allclose(net.res_ext_grid.q_mvar.values, q_eg_expect) + + p_from_expect = array([813573.88366999e-3]) + q_from_expect = array([-26446.0473644e-3]) + + assert allclose(net.res_dcline.p_from_mw.values, p_from_expect) + assert allclose(net.res_dcline.q_from_mvar.values, q_from_expect) + + p_to_expect = array([-805023.64719801e-3]) + q_to_expect = array([-21736.31196315e-3]) + + assert allclose(net.res_dcline.p_to_mw.values, p_to_expect) + assert allclose(net.res_dcline.q_to_mvar.values, q_to_expect) + + +@pytest.mark.xfail(reason="numerical issue with OPF convergence. If vm_pu delta is != 0. at " + "ext_grid -> fail. See build_gen() in line 111 + 112") +def test_dcline_dispatch3(dcline_net): + net = dcline_net + pp.create_poly_cost(net, 4, "dcline", cp1_eur_per_mw=1.5) + net.bus["max_vm_pu"] = 1.03 # needs to be constrained more than default + net.line["max_loading_percent"] = 1000 # does not converge if unconstrained + # pp.runopp(net, delta=get_delta_try_except(net)) + pp.runopp(net) + consistency_checks(net, rtol=1e-1) + + # dc line is not dispatched because of the assigned costs + assert isclose(net.res_dcline.at[4, "p_to_mw"], 0, atol=1e-2) + assert all(net.res_ext_grid.p_mw.values > 0) + + # costs for ext_grid at the end of the DC line get double the costs of DC line transfer + pp.create_poly_cost(net, 1, "ext_grid", cp1_eur_per_mw=2000) + pp.runopp(net) + # pp.runopp(net, delta=get_delta_try_except(net)) + + # now the total power is supplied through the DC line + assert (net.res_dcline.at[4, "p_to_mw"]) < 1e3 + assert net.res_ext_grid.p_mw.at[1] < 1 + assert isclose(net.res_cost, net.res_dcline.at[4, "p_from_mw"] * 1.5) + + +if __name__ == "__main__": + pytest.main([__file__]) diff --git a/pandapower/test/opf/test_oberrhein.py b/pandapower/test/opf/test_oberrhein.py index fca7bf41d..04b1c8ccf 100644 --- a/pandapower/test/opf/test_oberrhein.py +++ b/pandapower/test/opf/test_oberrhein.py @@ -1,39 +1,39 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import pandapower as pp -import pandapower.networks as nw -import pytest -try: - import pplog as logging -except ImportError: - import logging - -logger = logging.getLogger(__name__) - - -def test_opf_oberrhein(): - """ Testing a simple network with transformer for loading - constraints with OPF using a generator """ - # create net - net = nw.mv_oberrhein() - - net.bus["max_vm_pu"] = 1.1 - net.bus["min_vm_pu"] = 0.9 - net.line["max_loading_percent"] = 200 - net.trafo["max_loading_percent"] = 100 - net.sgen["min_p_mw"] = -net.sgen.sn_mva - net.sgen["max_p_mw"] = 0 - net.sgen["max_q_mvar"] = 1 - net.sgen["min_q_mvar"] = -1 - net.sgen["controllable"] = True - net.load["controllable"] = False - # run OPF - pp.runopp(net, calculate_voltage_angles=False) - assert net["OPF_converged"] - -if __name__ == "__main__": - pytest.main([__file__, "-xs"]) +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import pandapower as pp +import pandapower.networks as nw +import pytest +try: + import pplog as logging +except ImportError: + import logging + +logger = logging.getLogger(__name__) + + +def test_opf_oberrhein(): + """ Testing a simple network with transformer for loading + constraints with OPF using a generator """ + # create net + net = nw.mv_oberrhein() + + net.bus["max_vm_pu"] = 1.1 + net.bus["min_vm_pu"] = 0.9 + net.line["max_loading_percent"] = 200 + net.trafo["max_loading_percent"] = 100 + net.sgen["min_p_mw"] = -net.sgen.sn_mva + net.sgen["max_p_mw"] = 0 + net.sgen["max_q_mvar"] = 1 + net.sgen["min_q_mvar"] = -1 + net.sgen["controllable"] = True + net.load["controllable"] = False + # run OPF + pp.runopp(net, calculate_voltage_angles=False) + assert net["OPF_converged"] + +if __name__ == "__main__": + pytest.main([__file__, "-xs"]) diff --git a/pandapower/test/opf/test_opf_cigre.py b/pandapower/test/opf/test_opf_cigre.py index 7362f328a..d3caa7ed4 100644 --- a/pandapower/test/opf/test_opf_cigre.py +++ b/pandapower/test/opf/test_opf_cigre.py @@ -1,83 +1,83 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - - -import numpy as np -import pytest - -import pandapower as pp -import pandapower.networks as nw - -try: - import pplog as logging -except ImportError: - import logging - -logger = logging.getLogger(__name__) - - -def test_opf_cigre(): - """ Testing a simple network with transformer for loading - constraints with OPF using a generator """ - # create net - net = nw.create_cigre_network_mv(with_der="pv_wind") - - net.bus["max_vm_pu"] = 1.1 - net.bus["min_vm_pu"] = 0.9 - net.line["max_loading_percent"] = 200 - net.trafo["max_loading_percent"] = 100 - net.sgen["max_p_mw"] = net.sgen.sn_mva - net.sgen["min_p_mw"] = 0 - net.sgen["max_q_mvar"] = 0.01 - net.sgen["min_q_mvar"] = -0.01 - net.sgen["controllable"] = True - net.load["controllable"] = False - net.sgen.in_service[net.sgen.bus == 4] = False - net.sgen.in_service[net.sgen.bus == 6] = False - net.sgen.in_service[net.sgen.bus == 8] = False - net.sgen.in_service[net.sgen.bus == 9] = False - - # run OPF - pp.runopp(net) - assert net["OPF_converged"] - - -def test_some_sgens_not_controllable(): - """ Testing a simple network with transformer for loading - constraints with OPF using a generator """ - # create net - net = nw.create_cigre_network_mv(with_der="pv_wind") - - net.bus["max_vm_pu"] = 1.1 - net.bus["min_vm_pu"] = 0.9 - net.line["max_loading_percent"] = 200 - net.trafo["max_loading_percent"] = 100 - net.sgen["max_p_mw"] = net.sgen.sn_mva - net.sgen["min_p_mw"] = 0 - net.sgen["max_q_mvar"] = 0.01 - net.sgen["min_q_mvar"] = -0.01 - net.sgen["controllable"] = True - net.load["controllable"] = False - net.sgen.controllable[net.sgen.bus == 4] = False - net.sgen.controllable[net.sgen.bus == 6] = False - net.sgen.controllable[net.sgen.bus == 8] = False - net.sgen.controllable[net.sgen.bus == 9] = False - - for sgen_idx, row in net["sgen"].iterrows(): - cost_sgen = pp.create_poly_cost(net, sgen_idx, 'sgen', cp1_eur_per_mw=1.) - net.poly_cost.cp1_eur_per_mw.at[cost_sgen] = 100 - - # run OPF - pp.runopp(net, calculate_voltage_angles=False) - assert net["OPF_converged"] - # check if p_mw of non conrollable sgens are unchanged - assert np.allclose(net.res_sgen.p_mw[net.sgen.controllable == False], net.sgen.p_mw[net.sgen.controllable == False]) - assert not np.allclose(net.res_sgen.p_mw[net.sgen.controllable == True], - net.sgen.p_mw[net.sgen.controllable == True]) - - -if __name__ == "__main__": - pytest.main([__file__, "-xs"]) +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + + +import numpy as np +import pytest + +import pandapower as pp +import pandapower.networks as nw + +try: + import pplog as logging +except ImportError: + import logging + +logger = logging.getLogger(__name__) + + +def test_opf_cigre(): + """ Testing a simple network with transformer for loading + constraints with OPF using a generator """ + # create net + net = nw.create_cigre_network_mv(with_der="pv_wind") + + net.bus["max_vm_pu"] = 1.1 + net.bus["min_vm_pu"] = 0.9 + net.line["max_loading_percent"] = 200 + net.trafo["max_loading_percent"] = 100 + net.sgen["max_p_mw"] = net.sgen.sn_mva + net.sgen["min_p_mw"] = 0 + net.sgen["max_q_mvar"] = 0.01 + net.sgen["min_q_mvar"] = -0.01 + net.sgen["controllable"] = True + net.load["controllable"] = False + net.sgen.in_service[net.sgen.bus == 4] = False + net.sgen.in_service[net.sgen.bus == 6] = False + net.sgen.in_service[net.sgen.bus == 8] = False + net.sgen.in_service[net.sgen.bus == 9] = False + + # run OPF + pp.runopp(net) + assert net["OPF_converged"] + + +def test_some_sgens_not_controllable(): + """ Testing a simple network with transformer for loading + constraints with OPF using a generator """ + # create net + net = nw.create_cigre_network_mv(with_der="pv_wind") + + net.bus["max_vm_pu"] = 1.1 + net.bus["min_vm_pu"] = 0.9 + net.line["max_loading_percent"] = 200 + net.trafo["max_loading_percent"] = 100 + net.sgen["max_p_mw"] = net.sgen.sn_mva + net.sgen["min_p_mw"] = 0 + net.sgen["max_q_mvar"] = 0.01 + net.sgen["min_q_mvar"] = -0.01 + net.sgen["controllable"] = True + net.load["controllable"] = False + net.sgen.controllable[net.sgen.bus == 4] = False + net.sgen.controllable[net.sgen.bus == 6] = False + net.sgen.controllable[net.sgen.bus == 8] = False + net.sgen.controllable[net.sgen.bus == 9] = False + + for sgen_idx, row in net["sgen"].iterrows(): + cost_sgen = pp.create_poly_cost(net, sgen_idx, 'sgen', cp1_eur_per_mw=1.) + net.poly_cost.cp1_eur_per_mw.at[cost_sgen] = 100 + + # run OPF + pp.runopp(net, calculate_voltage_angles=False) + assert net["OPF_converged"] + # check if p_mw of non conrollable sgens are unchanged + assert np.allclose(net.res_sgen.p_mw[net.sgen.controllable == False], net.sgen.p_mw[net.sgen.controllable == False]) + assert not np.allclose(net.res_sgen.p_mw[net.sgen.controllable == True], + net.sgen.p_mw[net.sgen.controllable == True]) + + +if __name__ == "__main__": + pytest.main([__file__, "-xs"]) diff --git a/pandapower/test/opf/test_pandamodels_installation.py b/pandapower/test/opf/test_pandamodels_installation.py index 63a6a8b98..f5241f451 100644 --- a/pandapower/test/opf/test_pandamodels_installation.py +++ b/pandapower/test/opf/test_pandamodels_installation.py @@ -1,4 +1,4 @@ -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. import pytest diff --git a/pandapower/test/opf/test_powermodels.py b/pandapower/test/opf/test_powermodels.py index 75c1d073c..2ca4bc463 100644 --- a/pandapower/test/opf/test_powermodels.py +++ b/pandapower/test/opf/test_powermodels.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. import copy diff --git a/pandapower/test/opf/test_pp_vs_pm.py b/pandapower/test/opf/test_pp_vs_pm.py index 64fd62796..2e1b91afc 100644 --- a/pandapower/test/opf/test_pp_vs_pm.py +++ b/pandapower/test/opf/test_pp_vs_pm.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. from pandapower.pypower.idx_bus import BUS_I, VMAX, VMIN, BUS_TYPE, REF diff --git a/pandapower/test/plotting/test_create_colormaps.py b/pandapower/test/plotting/test_create_colormaps.py index 31d8126da..4b0cf7154 100644 --- a/pandapower/test/plotting/test_create_colormaps.py +++ b/pandapower/test/plotting/test_create_colormaps.py @@ -1,49 +1,49 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import numpy as np -import pandapower.plotting as plot -import pytest - - -def test_cmap_discrete(): - cmap_list = [((0, 10), "green"), ((10, 30), "yellow"), ((30, 100), "red")] - cmap, norm = plot.cmap_discrete(cmap_list) - assert cmap.N == 3 - assert norm.N == 4 - assert norm(0) == 0 - assert norm(9.999) == 0 - assert norm(10.01) == 1 - assert norm(29.999) == 1 - assert norm(30.01) == 2 - assert norm(99.999) == 2 - - -def test_cmap_continuous(): - cmap_list = [(0.97, "blue"), (1.0, "green"), (1.03, "red")] - cmap, norm = plot.cmap_continuous(cmap_list) - - assert np.allclose(cmap(0.99), (0.984313725490196, 0.007873894655901603, 0.0, 1.0)) - assert np.allclose(cmap(1.02), (1.0, 0.0, 0.0, 1.0)) - assert np.allclose([norm(0.97 + 0.01 * n) for n in range(7)], - [0.16666666666666666 * n for n in range(7)]) - - -def test_cmap_logarithmic(): - min_value, max_value = 1.0, 1.03 - colors = ["blue", "green", "red"] - cmap, norm = plot.cmap_logarithmic(min_value, max_value, colors) - assert np.allclose(cmap(0.1), (0.0, 0.09770172300400634, 0.8053598487029561, 1.0)) - assert np.allclose(cmap(0.5), (0.0, 0.5002328217805124, 0.003442425359135415, 1.0)) - assert np.allclose(cmap(0.8), (0.5970222233016451, 0.20227904085250753, 0.0, 1.0)) - assert norm(1.) == 0 - assert norm(1.03) == 1 - assert np.isclose(norm(1.01), 0.3366283509006011) - assert np.isclose(norm(1.02), 0.669940112402371) - - -if __name__ == "__main__": - pytest.main(["test_create_colormaps.py"]) +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import numpy as np +import pandapower.plotting as plot +import pytest + + +def test_cmap_discrete(): + cmap_list = [((0, 10), "green"), ((10, 30), "yellow"), ((30, 100), "red")] + cmap, norm = plot.cmap_discrete(cmap_list) + assert cmap.N == 3 + assert norm.N == 4 + assert norm(0) == 0 + assert norm(9.999) == 0 + assert norm(10.01) == 1 + assert norm(29.999) == 1 + assert norm(30.01) == 2 + assert norm(99.999) == 2 + + +def test_cmap_continuous(): + cmap_list = [(0.97, "blue"), (1.0, "green"), (1.03, "red")] + cmap, norm = plot.cmap_continuous(cmap_list) + + assert np.allclose(cmap(0.99), (0.984313725490196, 0.007873894655901603, 0.0, 1.0)) + assert np.allclose(cmap(1.02), (1.0, 0.0, 0.0, 1.0)) + assert np.allclose([norm(0.97 + 0.01 * n) for n in range(7)], + [0.16666666666666666 * n for n in range(7)]) + + +def test_cmap_logarithmic(): + min_value, max_value = 1.0, 1.03 + colors = ["blue", "green", "red"] + cmap, norm = plot.cmap_logarithmic(min_value, max_value, colors) + assert np.allclose(cmap(0.1), (0.0, 0.09770172300400634, 0.8053598487029561, 1.0)) + assert np.allclose(cmap(0.5), (0.0, 0.5002328217805124, 0.003442425359135415, 1.0)) + assert np.allclose(cmap(0.8), (0.5970222233016451, 0.20227904085250753, 0.0, 1.0)) + assert norm(1.) == 0 + assert norm(1.03) == 1 + assert np.isclose(norm(1.01), 0.3366283509006011) + assert np.isclose(norm(1.02), 0.669940112402371) + + +if __name__ == "__main__": + pytest.main(["test_create_colormaps.py"]) diff --git a/pandapower/test/plotting/test_generic_coordinates.py b/pandapower/test/plotting/test_generic_coordinates.py index 705aebb75..eecd32ae0 100644 --- a/pandapower/test/plotting/test_generic_coordinates.py +++ b/pandapower/test/plotting/test_generic_coordinates.py @@ -1,47 +1,47 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - -import pytest -from pandapower.test.toolbox import create_test_network -from pandapower.plotting.generic_geodata import create_generic_coordinates, build_igraph_from_pp -import pandapower as pp -import pandapower.networks as nw -import numpy as np -try: - import igraph - IGRAPH_INSTALLED = True -except ImportError: - IGRAPH_INSTALLED = False - - -@pytest.mark.skipif(IGRAPH_INSTALLED is False, reason="Requires python-igraph.") -def test_create_generic_coordinates_igraph(): - net = create_test_network() - net.bus_geodata.drop(net.bus_geodata.index, inplace=True) - create_generic_coordinates(net, library="igraph") - assert len(net.bus_geodata) == len(net.bus) - - -@pytest.mark.xfail(reason="The current implementation is not working properly, as multigraph edges " - "as AtlasViews are accessed with list logic.") -def test_create_generic_coordinates_nx(): - net = create_test_network() - net.bus_geodata.drop(net.bus_geodata.index, inplace=True) - create_generic_coordinates(net, library="networkx") - assert len(net.bus_geodata) == len(net.bus) - -@pytest.mark.skipif(IGRAPH_INSTALLED is False, reason="Requires python-igraph.") -def test_create_generic_coordinates_igraph_custom_table_index(): - net = nw.simple_four_bus_system() - for buses in [[0,1], [0,2], [0,1,2]]: - create_generic_coordinates(net, buses=buses, geodata_table="test", - overwrite=True) - assert np.all(net.test.index == buses) - -if __name__ == "__main__": - net = nw.mv_oberrhein() - g, meshed, roots = build_igraph_from_pp(net, buses=[1,2,3]) - g.vcount() -# pytest.main(["test_generic_coordinates.py"]) +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + +import pytest +from pandapower.test.toolbox import create_test_network +from pandapower.plotting.generic_geodata import create_generic_coordinates, build_igraph_from_pp +import pandapower as pp +import pandapower.networks as nw +import numpy as np +try: + import igraph + IGRAPH_INSTALLED = True +except ImportError: + IGRAPH_INSTALLED = False + + +@pytest.mark.skipif(IGRAPH_INSTALLED is False, reason="Requires python-igraph.") +def test_create_generic_coordinates_igraph(): + net = create_test_network() + net.bus_geodata.drop(net.bus_geodata.index, inplace=True) + create_generic_coordinates(net, library="igraph") + assert len(net.bus_geodata) == len(net.bus) + + +@pytest.mark.xfail(reason="The current implementation is not working properly, as multigraph edges " + "as AtlasViews are accessed with list logic.") +def test_create_generic_coordinates_nx(): + net = create_test_network() + net.bus_geodata.drop(net.bus_geodata.index, inplace=True) + create_generic_coordinates(net, library="networkx") + assert len(net.bus_geodata) == len(net.bus) + +@pytest.mark.skipif(IGRAPH_INSTALLED is False, reason="Requires python-igraph.") +def test_create_generic_coordinates_igraph_custom_table_index(): + net = nw.simple_four_bus_system() + for buses in [[0,1], [0,2], [0,1,2]]: + create_generic_coordinates(net, buses=buses, geodata_table="test", + overwrite=True) + assert np.all(net.test.index == buses) + +if __name__ == "__main__": + net = nw.mv_oberrhein() + g, meshed, roots = build_igraph_from_pp(net, buses=[1,2,3]) + g.vcount() +# pytest.main(["test_generic_coordinates.py"]) diff --git a/pandapower/test/plotting/test_to_html.py b/pandapower/test/plotting/test_to_html.py index d49992e23..e715ffc67 100644 --- a/pandapower/test/plotting/test_to_html.py +++ b/pandapower/test/plotting/test_to_html.py @@ -1,21 +1,21 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import os -import pytest - -import pandapower.plotting -from pandapower.test.toolbox import create_test_network - - -def test_html(tmp_path): - net = create_test_network() - filename = os.path.abspath(str(tmp_path)) + "testfile.html" - pandapower.plotting.to_html(net, filename) - - -if __name__ == "__main__": - pytest.main(["test_to_html.py"]) +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import os +import pytest + +import pandapower.plotting +from pandapower.test.toolbox import create_test_network + + +def test_html(tmp_path): + net = create_test_network() + filename = os.path.abspath(str(tmp_path)) + "testfile.html" + pandapower.plotting.to_html(net, filename) + + +if __name__ == "__main__": + pytest.main(["test_to_html.py"]) diff --git a/pandapower/test/run_tests.py b/pandapower/test/run_tests.py index 8c6fb6dc8..98e89678f 100644 --- a/pandapower/test/run_tests.py +++ b/pandapower/test/run_tests.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/test/shortcircuit/test_1ph.py b/pandapower/test/shortcircuit/test_1ph.py index 346bafde7..c97b7a285 100644 --- a/pandapower/test/shortcircuit/test_1ph.py +++ b/pandapower/test/shortcircuit/test_1ph.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. import pandapower as pp diff --git a/pandapower/test/shortcircuit/test_all_currents.py b/pandapower/test/shortcircuit/test_all_currents.py index 91857b5c4..6e12ca8a5 100644 --- a/pandapower/test/shortcircuit/test_all_currents.py +++ b/pandapower/test/shortcircuit/test_all_currents.py @@ -1,264 +1,264 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import numpy as np -import pytest - -import pandapower as pp -import pandapower.shortcircuit as sc - - -def three_bus_example(): - net = pp.create_empty_network() - b1 = pp.create_bus(net, 110) - b2 = pp.create_bus(net, 110) - b3 = pp.create_bus(net, 110) - - pp.create_ext_grid(net, b1, s_sc_max_mva=100., s_sc_min_mva=80., rx_min=0.4, rx_max=0.4) - pp.create_line(net, b1, b2, std_type="305-AL1/39-ST1A 110.0" , length_km=20.) - pp.create_line(net, b2, b3, std_type="N2XS(FL)2Y 1x185 RM/35 64/110 kV" , length_km=15.) - net.line["endtemp_degree"] = 80 - - pp.create_sgen(net, b2, sn_mva=2, p_mw=0, k=1.2) - - net.ext_grid['x0x_min'] = 0.1 - net.ext_grid['r0x0_min'] = 0.1 - net.ext_grid['x0x_max'] = 0.1 - net.ext_grid['r0x0_max'] = 0.1 - - net.line['r0_ohm_per_km'] = 0.1 - net.line['x0_ohm_per_km'] = 0.1 - net.line['c0_nf_per_km'] = 0.1 - net.line["endtemp_degree"] = 80 - return net - - -def three_bus_permuted_index(): - net = pp.create_empty_network() - b1 = pp.create_bus(net, 110, index=4) - b2 = pp.create_bus(net, 110, index=3) - b3 = pp.create_bus(net, 110, index=0) - - pp.create_ext_grid(net, b1, s_sc_max_mva=100., s_sc_min_mva=80., rx_min=0.4, rx_max=0.4) - pp.create_line(net, b1, b2, std_type="305-AL1/39-ST1A 110.0" , length_km=20., index=1) - pp.create_line(net, b2, b3, std_type="N2XS(FL)2Y 1x185 RM/35 64/110 kV" , length_km=15., index=0) - net.line["endtemp_degree"] = 80 - - pp.create_sgen(net, b2, sn_mva=2, p_mw=0, k=1.2) - return net - - -# def gen_three_bus_example(): -# net = pp.create_empty_network(sn_mva=2) -# b1 = pp.create_bus(net, vn_kv=10.) -# b2 = pp.create_bus(net, vn_kv=10.) -# b3 = pp.create_bus(net, vn_kv=10.) -# #pp.create_bus(net, vn_kv=0.4, in_service=False) -# pp.create_gen(net, b2, vn_kv=10.5, xdss_pu=0.2, rdss_pu=0.001, cos_phi=0.8, p_mw=0.1, sn_mva=2.5) -# pp.create_line_from_parameters(net, b1, b2, length_km=1.0, max_i_ka=0.29, -# r_ohm_per_km=0.1548, x_ohm_per_km=0.0816814, c_nf_per_km=165) -# pp.create_line_from_parameters(net, b2, b3, length_km=1.0, max_i_ka=0.29, -# r_ohm_per_km=0.1548, x_ohm_per_km=0.0816814, c_nf_per_km=165) -# net.line["endtemp_degree"] = 165 -# pp.create_ext_grid(net, b1, s_sc_max_mva=10., s_sc_min_mva=8., rx_min=0.4, rx_max=0.4) -# #pp.create_switch(net, b3, b1, et="b") -# return net - - -def net_transformer(): - net = pp.create_empty_network(sn_mva=2) - b1a = pp.create_bus(net, vn_kv=10.) - b1b = pp.create_bus(net, vn_kv=10.) - b2 = pp.create_bus(net, vn_kv=.4) - pp.create_bus(net, vn_kv=0.4, in_service=False) #add out of service bus to test oos indexing - pp.create_ext_grid(net, b1a, s_sc_max_mva=100., s_sc_min_mva=40., rx_min=0.1, rx_max=0.1) - pp.create_switch(net, b1a, b1b, et="b") - pp.create_transformer_from_parameters(net, b1b, b2, vn_hv_kv=11., vn_lv_kv=0.42, vk_percent=6., - vkr_percent=0.5, pfe_kw=14, shift_degree=0.0, - tap_side="hv", tap_neutral=0, tap_min=-2, tap_max=2, tap_pos=2, - tap_step_percent=2.5, parallel=2, sn_mva=0.4, i0_percent=0.5) - pp.create_shunt(net, b2, q_mvar=0.050, p_mw=0.0500) #adding a shunt shouldn't change the result - return net - - -def test_all_currents_sgen(): - # - # eg--0---l0---1---l1---2 - # | - # g - # - net = three_bus_example() - sc.calc_sc(net, case="max", ip=True, ith=True, branch_results=True, return_all_currents=True) - assert np.allclose(net.res_line_sc.ikss_ka.values, - np.array([0.01259673, 0.49593036, 0.48628848, 0., 0., 0.49888962]), atol=1e-5) - assert np.allclose(net.res_line_sc.ip_ka.values, - np.array([0.01781447, 0.92787447, 0.90729584, 0., 0., 0.92511655]), atol=1e-5) - assert np.allclose(net.res_line_sc.ith_ka.values, - np.array([0.01265116, 0.4981196, 0.48841266, 0., 0., 0.50106884]), atol=1e-5) - - sc.calc_sc(net, case="min", ip=True, ith=True, branch_results=True, return_all_currents=True) - assert np.allclose(net.res_line_sc.ikss_ka.values, - np.array([0.01259673, 0.3989686, 0.39170662, 0., 0., 0.40431286]), atol=1e-5) - assert np.allclose(net.res_line_sc.ip_ka.values, - np.array([0.01781447, 0.74438751, 0.72793774, 0., 0., 0.74576565]), atol=1e-5) - assert np.allclose(net.res_line_sc.ith_ka.values, - np.array([0.01265116, 0.40071219, 0.39339323, 0., 0., 0.40605375]), atol=1e-5) - - -def test_all_currents_1ph_max(): - # Only check coherence between branch currents and bus currents - # - # eg--0---l0---1---l1---2 - # | - # g - # - # With generator - net = three_bus_example() - sc.calc_sc(net, case="max", fault='1ph', branch_results=True, return_all_currents=True) - i_bus_with_sgen = net.res_bus_sc.copy() - i_line_with_gen = net.res_line_sc.copy() - - # Without generator - net = three_bus_example() - net.sgen.in_service = False - sc.calc_sc(net, case="max", fault='1ph') - i_bus_without_sgen = net.res_bus_sc.copy() - - # Isolate sgen contrib - i_bus_only_sgen = i_bus_with_sgen - i_bus_without_sgen - - assert np.isclose(i_line_with_gen.ikss_ka.loc[(0, 0)], i_bus_only_sgen.ikss_ka.at[0], atol=1e-4) - assert np.isclose(i_line_with_gen.ikss_ka.loc[(0, 1)], i_bus_without_sgen.ikss_ka.at[1], atol=1e-4) - assert np.isclose(i_line_with_gen.ikss_ka.loc[(0, 2)], i_bus_without_sgen.ikss_ka.at[2] - - (i_bus_only_sgen.ikss_ka.at[1] - i_bus_only_sgen.ikss_ka.at[2]) , atol=1e-4) - assert np.isclose(i_line_with_gen.ikss_ka.loc[(1, 0)], 0., atol=1e-4) - assert np.isclose(i_line_with_gen.ikss_ka.loc[(1, 1)], 0., atol=1e-4) - assert np.isclose(i_line_with_gen.ikss_ka.loc[(1, 2)], i_bus_with_sgen.ikss_ka.at[2], atol=1e-4) - - -def test_all_currents_1ph_min(): - # Only check coherence between branch currents and bus currents - # - # eg--0---l0---1---l1---2 - # | - # g - # - # With generator - net = three_bus_example() - sc.calc_sc(net, case="min", fault='1ph', branch_results=True, return_all_currents=True) - i_bus_with_sgen = net.res_bus_sc.copy() - i_line_with_gen = net.res_line_sc.copy() - - # Without generator - net.sgen.in_service = False - sc.calc_sc(net, case="min", fault='1ph', branch_results=True) - i_bus_without_sgen = net.res_bus_sc.copy() - - # Isolate sgen contrib - i_bus_only_sgen = i_bus_with_sgen - i_bus_without_sgen - - assert np.isclose(i_line_with_gen.ikss_ka.loc[(0, 0)], i_bus_only_sgen.ikss_ka.at[0], atol=1e-4) - assert np.isclose(i_line_with_gen.ikss_ka.loc[(0, 1)], i_bus_without_sgen.ikss_ka.at[1], atol=1e-4) - assert np.isclose(i_line_with_gen.ikss_ka.loc[(0, 2)], i_bus_without_sgen.ikss_ka.at[2] - - (i_bus_only_sgen.ikss_ka.at[1] - i_bus_only_sgen.ikss_ka.at[2]) , atol=1e-4) - assert np.isclose(i_line_with_gen.ikss_ka.loc[(1, 0)], 0., atol=1e-4) - assert np.isclose(i_line_with_gen.ikss_ka.loc[(1, 1)], 0., atol=1e-4) - assert np.isclose(i_line_with_gen.ikss_ka.loc[(1, 2)], i_bus_with_sgen.ikss_ka.at[2], atol=1e-4) - - -def test_with_permuted_index(): - # Check that if element's index are permuted the results are still consistent - # - # eg--4---l1---3---l0---1 - # | - # g - # - net = three_bus_permuted_index() - sc.calc_sc(net, case="max", ip=True, ith=True, branch_results=True, return_all_currents=True) - assert np.allclose(net.res_line_sc.ikss_ka.loc[[(1, 4), (1, 3), (1, 0), (0, 4), (0, 3), (0, 0)]].values, - np.array([0.01259673, 0.49593036, 0.48628848, 0., 0., 0.49888962]), atol=1e-5) - sc.calc_sc(net, case="min", ip=True, ith=True, branch_results=True, return_all_currents=True) - assert np.allclose(net.res_line_sc.ikss_ka.loc[[(1, 4), (1, 3), (1, 0), (0, 4), (0, 3), (0, 0)]].values, - np.array([0.01259673, 0.3989686, 0.39170662, 0., 0., 0.40431286]), atol=1e-5) - - -def test_all_currents_with_oos_elements(): - - net = three_bus_example() - net.bus.in_service.loc[2] = False - net.line.in_service.loc[1] = False - sc.calc_sc(net, case="max", branch_results=True, return_all_currents=True) - - assert np.allclose(net.res_line_sc.ikss_ka.loc[[(0, 0), (0, 1)]].values, - np.array([0.01259673, 0.49593036]), atol=1e-5) - assert np.allclose(net.res_line_sc.ikss_ka.loc[[(0, 2), (1, 0), (1, 1), (1, 2)]].values, - 0, atol=1e-10) - - sc.calc_sc(net, case="min", branch_results=True, return_all_currents=True) - assert np.allclose(net.res_line_sc.ikss_ka.loc[[(0, 0), (0, 1)]].values, - np.array([0.01259673, 0.3989686]), atol=1e-5) - assert np.allclose(net.res_line_sc.ikss_ka.loc[[(0, 2), (1, 0), (1, 1), (1, 2)]].values, - 0, atol=1e-10) - - -# TODO: This example should not work anymore -# def test_branch_all_currents_gen(): -# net = gen_three_bus_example() -# sc.calc_sc(net, case="max", branch_results=True, return_all_currents=True) -# assert np.allclose(net.res_line_sc.ikss_ka.values, -# np.array([0.76204252, 0.57040645, 0.55786693, 0., 0., 1.28698045])) - -# sc.calc_sc(net, case="min", branch_results=True, return_all_currents=True) -# assert np.allclose(net.res_line_sc.ikss_ka.values, -# np.array([0.69255026, 0.45574755, 0.44487882, 0., 0., 1.10747517])) - - -def test_branch_all_currents_trafo(): - net = net_transformer() - sc.calc_sc(net, case='max', ip=True, ith=True, lv_tol_percent=10., branch_results=True, return_all_currents=True) - - assert (abs(net.res_trafo_sc.ikss_lv_ka.loc[(0,0)] - 0.) <1e-5) - assert (abs(net.res_trafo_sc.ikss_lv_ka.loc[(0,1)] - 0.) <1e-5) - assert (abs(net.res_trafo_sc.ikss_lv_ka.loc[(0,2)] - 16.992258758) <1e-5) - - assert (abs(net.res_trafo_sc.ikss_hv_ka.loc[(0,0)] - 0.) <1e-5) - assert (abs(net.res_trafo_sc.ikss_hv_ka.loc[(0,1)] - 0.) <1e-5) - assert (abs(net.res_trafo_sc.ikss_hv_ka.loc[(0,2)] - 0.648795) <1e-5) - - -def test_against_single_sc_results_line(): - net = three_bus_permuted_index() - - sc.calc_sc(net, case="max", branch_results=True, return_all_currents=True) - multi_results = net.res_line_sc.copy() - - for bus in net.bus.index: - sc.calc_sc(net, bus=bus, case="max", branch_results=True, return_all_currents=True) - line_bus_indices = [(line, bus) for line in net.line.index] - single_result = net.res_line_sc.ikss_ka.values - multi_result = multi_results.ikss_ka.loc[line_bus_indices].values - assert np.allclose(single_result, multi_result) - - -def test_against_single_sc_results_trafo(): - net = net_transformer() - sc.calc_sc(net, case="max", branch_results=True, return_all_currents=True, inverse_y=False) - multi_results = net.res_trafo_sc.copy() - - for bus in net.bus.index[net.bus.in_service]: - sc.calc_sc(net, bus=bus, case="max", branch_results=True, return_all_currents=True, inverse_y=False) - trafo_bus_indices = [(trafo, bus) for trafo in net.trafo.index] - single_result_lv = net.res_trafo_sc.ikss_lv_ka.values - multi_result_lv = multi_results.ikss_lv_ka.loc[trafo_bus_indices].values - assert np.allclose(single_result_lv, multi_result_lv) - - single_result_hv = net.res_trafo_sc.ikss_hv_ka.values - multi_result_hv = multi_results.ikss_hv_ka.loc[trafo_bus_indices].values - assert np.allclose(single_result_hv, multi_result_hv) - - -if __name__ == '__main__': - pytest.main([__file__]) +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import numpy as np +import pytest + +import pandapower as pp +import pandapower.shortcircuit as sc + + +def three_bus_example(): + net = pp.create_empty_network() + b1 = pp.create_bus(net, 110) + b2 = pp.create_bus(net, 110) + b3 = pp.create_bus(net, 110) + + pp.create_ext_grid(net, b1, s_sc_max_mva=100., s_sc_min_mva=80., rx_min=0.4, rx_max=0.4) + pp.create_line(net, b1, b2, std_type="305-AL1/39-ST1A 110.0" , length_km=20.) + pp.create_line(net, b2, b3, std_type="N2XS(FL)2Y 1x185 RM/35 64/110 kV" , length_km=15.) + net.line["endtemp_degree"] = 80 + + pp.create_sgen(net, b2, sn_mva=2, p_mw=0, k=1.2) + + net.ext_grid['x0x_min'] = 0.1 + net.ext_grid['r0x0_min'] = 0.1 + net.ext_grid['x0x_max'] = 0.1 + net.ext_grid['r0x0_max'] = 0.1 + + net.line['r0_ohm_per_km'] = 0.1 + net.line['x0_ohm_per_km'] = 0.1 + net.line['c0_nf_per_km'] = 0.1 + net.line["endtemp_degree"] = 80 + return net + + +def three_bus_permuted_index(): + net = pp.create_empty_network() + b1 = pp.create_bus(net, 110, index=4) + b2 = pp.create_bus(net, 110, index=3) + b3 = pp.create_bus(net, 110, index=0) + + pp.create_ext_grid(net, b1, s_sc_max_mva=100., s_sc_min_mva=80., rx_min=0.4, rx_max=0.4) + pp.create_line(net, b1, b2, std_type="305-AL1/39-ST1A 110.0" , length_km=20., index=1) + pp.create_line(net, b2, b3, std_type="N2XS(FL)2Y 1x185 RM/35 64/110 kV" , length_km=15., index=0) + net.line["endtemp_degree"] = 80 + + pp.create_sgen(net, b2, sn_mva=2, p_mw=0, k=1.2) + return net + + +# def gen_three_bus_example(): +# net = pp.create_empty_network(sn_mva=2) +# b1 = pp.create_bus(net, vn_kv=10.) +# b2 = pp.create_bus(net, vn_kv=10.) +# b3 = pp.create_bus(net, vn_kv=10.) +# #pp.create_bus(net, vn_kv=0.4, in_service=False) +# pp.create_gen(net, b2, vn_kv=10.5, xdss_pu=0.2, rdss_pu=0.001, cos_phi=0.8, p_mw=0.1, sn_mva=2.5) +# pp.create_line_from_parameters(net, b1, b2, length_km=1.0, max_i_ka=0.29, +# r_ohm_per_km=0.1548, x_ohm_per_km=0.0816814, c_nf_per_km=165) +# pp.create_line_from_parameters(net, b2, b3, length_km=1.0, max_i_ka=0.29, +# r_ohm_per_km=0.1548, x_ohm_per_km=0.0816814, c_nf_per_km=165) +# net.line["endtemp_degree"] = 165 +# pp.create_ext_grid(net, b1, s_sc_max_mva=10., s_sc_min_mva=8., rx_min=0.4, rx_max=0.4) +# #pp.create_switch(net, b3, b1, et="b") +# return net + + +def net_transformer(): + net = pp.create_empty_network(sn_mva=2) + b1a = pp.create_bus(net, vn_kv=10.) + b1b = pp.create_bus(net, vn_kv=10.) + b2 = pp.create_bus(net, vn_kv=.4) + pp.create_bus(net, vn_kv=0.4, in_service=False) #add out of service bus to test oos indexing + pp.create_ext_grid(net, b1a, s_sc_max_mva=100., s_sc_min_mva=40., rx_min=0.1, rx_max=0.1) + pp.create_switch(net, b1a, b1b, et="b") + pp.create_transformer_from_parameters(net, b1b, b2, vn_hv_kv=11., vn_lv_kv=0.42, vk_percent=6., + vkr_percent=0.5, pfe_kw=14, shift_degree=0.0, + tap_side="hv", tap_neutral=0, tap_min=-2, tap_max=2, tap_pos=2, + tap_step_percent=2.5, parallel=2, sn_mva=0.4, i0_percent=0.5) + pp.create_shunt(net, b2, q_mvar=0.050, p_mw=0.0500) #adding a shunt shouldn't change the result + return net + + +def test_all_currents_sgen(): + # + # eg--0---l0---1---l1---2 + # | + # g + # + net = three_bus_example() + sc.calc_sc(net, case="max", ip=True, ith=True, branch_results=True, return_all_currents=True) + assert np.allclose(net.res_line_sc.ikss_ka.values, + np.array([0.01259673, 0.49593036, 0.48628848, 0., 0., 0.49888962]), atol=1e-5) + assert np.allclose(net.res_line_sc.ip_ka.values, + np.array([0.01781447, 0.92787447, 0.90729584, 0., 0., 0.92511655]), atol=1e-5) + assert np.allclose(net.res_line_sc.ith_ka.values, + np.array([0.01265116, 0.4981196, 0.48841266, 0., 0., 0.50106884]), atol=1e-5) + + sc.calc_sc(net, case="min", ip=True, ith=True, branch_results=True, return_all_currents=True) + assert np.allclose(net.res_line_sc.ikss_ka.values, + np.array([0.01259673, 0.3989686, 0.39170662, 0., 0., 0.40431286]), atol=1e-5) + assert np.allclose(net.res_line_sc.ip_ka.values, + np.array([0.01781447, 0.74438751, 0.72793774, 0., 0., 0.74576565]), atol=1e-5) + assert np.allclose(net.res_line_sc.ith_ka.values, + np.array([0.01265116, 0.40071219, 0.39339323, 0., 0., 0.40605375]), atol=1e-5) + + +def test_all_currents_1ph_max(): + # Only check coherence between branch currents and bus currents + # + # eg--0---l0---1---l1---2 + # | + # g + # + # With generator + net = three_bus_example() + sc.calc_sc(net, case="max", fault='1ph', branch_results=True, return_all_currents=True) + i_bus_with_sgen = net.res_bus_sc.copy() + i_line_with_gen = net.res_line_sc.copy() + + # Without generator + net = three_bus_example() + net.sgen.in_service = False + sc.calc_sc(net, case="max", fault='1ph') + i_bus_without_sgen = net.res_bus_sc.copy() + + # Isolate sgen contrib + i_bus_only_sgen = i_bus_with_sgen - i_bus_without_sgen + + assert np.isclose(i_line_with_gen.ikss_ka.loc[(0, 0)], i_bus_only_sgen.ikss_ka.at[0], atol=1e-4) + assert np.isclose(i_line_with_gen.ikss_ka.loc[(0, 1)], i_bus_without_sgen.ikss_ka.at[1], atol=1e-4) + assert np.isclose(i_line_with_gen.ikss_ka.loc[(0, 2)], i_bus_without_sgen.ikss_ka.at[2] - + (i_bus_only_sgen.ikss_ka.at[1] - i_bus_only_sgen.ikss_ka.at[2]) , atol=1e-4) + assert np.isclose(i_line_with_gen.ikss_ka.loc[(1, 0)], 0., atol=1e-4) + assert np.isclose(i_line_with_gen.ikss_ka.loc[(1, 1)], 0., atol=1e-4) + assert np.isclose(i_line_with_gen.ikss_ka.loc[(1, 2)], i_bus_with_sgen.ikss_ka.at[2], atol=1e-4) + + +def test_all_currents_1ph_min(): + # Only check coherence between branch currents and bus currents + # + # eg--0---l0---1---l1---2 + # | + # g + # + # With generator + net = three_bus_example() + sc.calc_sc(net, case="min", fault='1ph', branch_results=True, return_all_currents=True) + i_bus_with_sgen = net.res_bus_sc.copy() + i_line_with_gen = net.res_line_sc.copy() + + # Without generator + net.sgen.in_service = False + sc.calc_sc(net, case="min", fault='1ph', branch_results=True) + i_bus_without_sgen = net.res_bus_sc.copy() + + # Isolate sgen contrib + i_bus_only_sgen = i_bus_with_sgen - i_bus_without_sgen + + assert np.isclose(i_line_with_gen.ikss_ka.loc[(0, 0)], i_bus_only_sgen.ikss_ka.at[0], atol=1e-4) + assert np.isclose(i_line_with_gen.ikss_ka.loc[(0, 1)], i_bus_without_sgen.ikss_ka.at[1], atol=1e-4) + assert np.isclose(i_line_with_gen.ikss_ka.loc[(0, 2)], i_bus_without_sgen.ikss_ka.at[2] - + (i_bus_only_sgen.ikss_ka.at[1] - i_bus_only_sgen.ikss_ka.at[2]) , atol=1e-4) + assert np.isclose(i_line_with_gen.ikss_ka.loc[(1, 0)], 0., atol=1e-4) + assert np.isclose(i_line_with_gen.ikss_ka.loc[(1, 1)], 0., atol=1e-4) + assert np.isclose(i_line_with_gen.ikss_ka.loc[(1, 2)], i_bus_with_sgen.ikss_ka.at[2], atol=1e-4) + + +def test_with_permuted_index(): + # Check that if element's index are permuted the results are still consistent + # + # eg--4---l1---3---l0---1 + # | + # g + # + net = three_bus_permuted_index() + sc.calc_sc(net, case="max", ip=True, ith=True, branch_results=True, return_all_currents=True) + assert np.allclose(net.res_line_sc.ikss_ka.loc[[(1, 4), (1, 3), (1, 0), (0, 4), (0, 3), (0, 0)]].values, + np.array([0.01259673, 0.49593036, 0.48628848, 0., 0., 0.49888962]), atol=1e-5) + sc.calc_sc(net, case="min", ip=True, ith=True, branch_results=True, return_all_currents=True) + assert np.allclose(net.res_line_sc.ikss_ka.loc[[(1, 4), (1, 3), (1, 0), (0, 4), (0, 3), (0, 0)]].values, + np.array([0.01259673, 0.3989686, 0.39170662, 0., 0., 0.40431286]), atol=1e-5) + + +def test_all_currents_with_oos_elements(): + + net = three_bus_example() + net.bus.in_service.loc[2] = False + net.line.in_service.loc[1] = False + sc.calc_sc(net, case="max", branch_results=True, return_all_currents=True) + + assert np.allclose(net.res_line_sc.ikss_ka.loc[[(0, 0), (0, 1)]].values, + np.array([0.01259673, 0.49593036]), atol=1e-5) + assert np.allclose(net.res_line_sc.ikss_ka.loc[[(0, 2), (1, 0), (1, 1), (1, 2)]].values, + 0, atol=1e-10) + + sc.calc_sc(net, case="min", branch_results=True, return_all_currents=True) + assert np.allclose(net.res_line_sc.ikss_ka.loc[[(0, 0), (0, 1)]].values, + np.array([0.01259673, 0.3989686]), atol=1e-5) + assert np.allclose(net.res_line_sc.ikss_ka.loc[[(0, 2), (1, 0), (1, 1), (1, 2)]].values, + 0, atol=1e-10) + + +# TODO: This example should not work anymore +# def test_branch_all_currents_gen(): +# net = gen_three_bus_example() +# sc.calc_sc(net, case="max", branch_results=True, return_all_currents=True) +# assert np.allclose(net.res_line_sc.ikss_ka.values, +# np.array([0.76204252, 0.57040645, 0.55786693, 0., 0., 1.28698045])) + +# sc.calc_sc(net, case="min", branch_results=True, return_all_currents=True) +# assert np.allclose(net.res_line_sc.ikss_ka.values, +# np.array([0.69255026, 0.45574755, 0.44487882, 0., 0., 1.10747517])) + + +def test_branch_all_currents_trafo(): + net = net_transformer() + sc.calc_sc(net, case='max', ip=True, ith=True, lv_tol_percent=10., branch_results=True, return_all_currents=True) + + assert (abs(net.res_trafo_sc.ikss_lv_ka.loc[(0,0)] - 0.) <1e-5) + assert (abs(net.res_trafo_sc.ikss_lv_ka.loc[(0,1)] - 0.) <1e-5) + assert (abs(net.res_trafo_sc.ikss_lv_ka.loc[(0,2)] - 16.992258758) <1e-5) + + assert (abs(net.res_trafo_sc.ikss_hv_ka.loc[(0,0)] - 0.) <1e-5) + assert (abs(net.res_trafo_sc.ikss_hv_ka.loc[(0,1)] - 0.) <1e-5) + assert (abs(net.res_trafo_sc.ikss_hv_ka.loc[(0,2)] - 0.648795) <1e-5) + + +def test_against_single_sc_results_line(): + net = three_bus_permuted_index() + + sc.calc_sc(net, case="max", branch_results=True, return_all_currents=True) + multi_results = net.res_line_sc.copy() + + for bus in net.bus.index: + sc.calc_sc(net, bus=bus, case="max", branch_results=True, return_all_currents=True) + line_bus_indices = [(line, bus) for line in net.line.index] + single_result = net.res_line_sc.ikss_ka.values + multi_result = multi_results.ikss_ka.loc[line_bus_indices].values + assert np.allclose(single_result, multi_result) + + +def test_against_single_sc_results_trafo(): + net = net_transformer() + sc.calc_sc(net, case="max", branch_results=True, return_all_currents=True, inverse_y=False) + multi_results = net.res_trafo_sc.copy() + + for bus in net.bus.index[net.bus.in_service]: + sc.calc_sc(net, bus=bus, case="max", branch_results=True, return_all_currents=True, inverse_y=False) + trafo_bus_indices = [(trafo, bus) for trafo in net.trafo.index] + single_result_lv = net.res_trafo_sc.ikss_lv_ka.values + multi_result_lv = multi_results.ikss_lv_ka.loc[trafo_bus_indices].values + assert np.allclose(single_result_lv, multi_result_lv) + + single_result_hv = net.res_trafo_sc.ikss_hv_ka.values + multi_result_hv = multi_results.ikss_hv_ka.loc[trafo_bus_indices].values + assert np.allclose(single_result_hv, multi_result_hv) + + +if __name__ == '__main__': + pytest.main([__file__]) diff --git a/pandapower/test/shortcircuit/test_gen.py b/pandapower/test/shortcircuit/test_gen.py index 1f231ba01..f3fcae695 100644 --- a/pandapower/test/shortcircuit/test_gen.py +++ b/pandapower/test/shortcircuit/test_gen.py @@ -1,188 +1,188 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import pandas as pd -import pytest - -import pandapower as pp -import pandapower.shortcircuit as sc -import numpy as np - -@pytest.fixture -def one_line_one_generator(): - net = pp.create_empty_network(sn_mva=2) - b1 = pp.create_bus(net, vn_kv=10.) - b2 = pp.create_bus(net, vn_kv=10.) - b3 = pp.create_bus(net, vn_kv=10.) - pp.create_bus(net, vn_kv=0.4, in_service=False) - pp.create_gen(net, b1, vn_kv=10.5, xdss_pu=0.2, rdss_ohm=0.001, cos_phi=0.8, p_mw=0.1, sn_mva=2.5) - pp.create_gen(net, b1, vn_kv=10.5, xdss_pu=0.2, rdss_ohm=0.001, cos_phi=0.8, p_mw=0.1, sn_mva=2.5) - l = pp.create_line_from_parameters(net, b2, b1, length_km=1.0, max_i_ka=0.29, - r_ohm_per_km=0.1548, x_ohm_per_km=0.0816814, c_nf_per_km=165) - net.line.loc[l, "endtemp_degree"] = 165 - pp.create_switch(net, b3, b1, et="b") - return net - -@pytest.fixture -def gen_three_bus_example(): - net = pp.create_empty_network(sn_mva=2) - b1 = pp.create_bus(net, vn_kv=10.) - b2 = pp.create_bus(net, vn_kv=10.) - b3 = pp.create_bus(net, vn_kv=10.) - #pp.create_bus(net, vn_kv=0.4, in_service=False) - pp.create_gen(net, b2, vn_kv=10.5, xdss_pu=0.2, rdss_ohm=0.001, cos_phi=0.8, p_mw=0.1, sn_mva=2.5) - pp.create_line_from_parameters(net, b1, b2, length_km=1.0, max_i_ka=0.29, - r_ohm_per_km=0.1548, x_ohm_per_km=0.0816814, c_nf_per_km=165) - pp.create_line_from_parameters(net, b2, b3, length_km=1.0, max_i_ka=0.29, - r_ohm_per_km=0.1548, x_ohm_per_km=0.0816814, c_nf_per_km=165) - net.line["endtemp_degree"] = 165 - pp.create_ext_grid(net, b1, s_sc_max_mva=10., s_sc_min_mva=8., rx_min=0.4, rx_max=0.4) - #pp.create_switch(net, b3, b1, et="b") - return net - -def test_max_gen(one_line_one_generator): - net = one_line_one_generator - sc.calc_sc(net, case="max", inverse_y=False) - assert np.allclose(net.res_bus_sc.ikss_ka.values[:3], [1.5395815, 1.5083952, 1.5395815], atol=1e-3) -# assert abs(net.res_bus_sc.ikss_ka.at[0] - 1.5395815) < 1e-7 -# assert abs(net.res_bus_sc.ikss_ka.at[2] - 1.5395815) < 1e-7 -# assert abs(net.res_bus_sc.ikss_ka.at[1] - 1.5083952) < 1e-7 - assert pd.isnull(net.res_bus_sc.ikss_ka.at[3]) - -def test_branch_max_gen(gen_three_bus_example): - net = gen_three_bus_example - sc.calc_sc(net, case="max", branch_results=True) - assert np.allclose(net.res_line_sc.ikss_ka.values, np.array([0.76204252, 1.28698045]), atol=1e-3) - -def test_min_gen(one_line_one_generator): - net = one_line_one_generator - sc.calc_sc(net, case="min") - assert np.allclose(net.res_bus_sc.ikss_ka.values[:3], [1.3996195, 1.3697407, 1.3996195], atol=1e-3) - # assert abs(net.res_bus_sc.ikss_ka.at[0] - 1.3996195) < 1e-7 - # assert abs(net.res_bus_sc.ikss_ka.at[2] - 1.3996195) < 1e-7 - # assert abs(net.res_bus_sc.ikss_ka.at[1] - 1.3697407) < 1e-7 - assert pd.isnull(net.res_bus_sc.ikss_ka.at[3]) - -def test_branch_min_gen(gen_three_bus_example): - net = gen_three_bus_example - sc.calc_sc(net, case="min", branch_results=True) - assert np.allclose(net.res_line_sc.ikss_ka.values, np.array([0.44487882, 1.10747517]), atol=1e-3) - -def test_max_gen_fault_impedance(one_line_one_generator): - net = one_line_one_generator - sc.calc_sc(net, case="max", r_fault_ohm=2, x_fault_ohm=10) - assert np.allclose(net.res_bus_sc.ikss_ka.values[:3], [0.4450868, 0.4418823, 0.4450868], atol=1e-3) - # assert abs(net.res_bus_sc.ikss_ka.at[0] - 0.4450868) < 1e-7 - # assert abs(net.res_bus_sc.ikss_ka.at[1] - 0.4418823) < 1e-7 - # assert abs(net.res_bus_sc.ikss_ka.at[2] - 0.4450868) < 1e-7 - assert pd.isnull(net.res_bus_sc.ikss_ka.at[3]) - - -# def test_rdss_estimations(): -# net = pp.create_empty_network(sn_mva=1) -# b1 = pp.create_bus(net, vn_kv=0.4) -# g1 = pp.create_gen(net, b1, vn_kv=0.4, xdss_pu=0.1, cos_phi=0.8, p_mw=0.1, sn_mva=0.1) -# b2 = pp.create_bus(net, vn_kv=20.) -# g2 = pp.create_gen(net, b2, vn_kv=21., xdss_pu=0.2, cos_phi=0.85, p_mw=0.1, sn_mva=2.5) -# b3 = pp.create_bus(net, vn_kv=20.) -# g3 = pp.create_gen(net, b3, vn_kv=30., xdss_pu=0.25, cos_phi=0.9, p_mw=0.1, sn_mva=150) - -# sc.calc_sc(net, case="max") -# assert np.isclose(net.res_bus_sc.ikss_ka.at[b1], 1.5130509845) -# net.gen.rdss_pu.at[g1] = net.gen.xdss_pu.at[g1] * 0.15 -# sc.calc_sc(net, case="max") -# assert np.isclose(net.res_bus_sc.ikss_ka.at[b1], 1.5130509845) - -# sc.calc_sc(net, case="max") -# assert np.isclose(net.res_bus_sc.ikss_ka.at[b2], 0.37894052506) -# net.gen.rdss_pu.at[g2] = net.gen.xdss_pu.at[g2] * 0.07 -# sc.calc_sc(net, case="max") -# assert np.isclose(net.res_bus_sc.ikss_ka.at[b2], 0.37894052506) - -# sc.calc_sc(net, case="max") -# assert np.isclose(net.res_bus_sc.ikss_ka.at[b3], 12.789334853) -# net.gen.rdss_pu.at[g3] = net.gen.xdss_pu.at[g3] * 0.05 -# sc.calc_sc(net, case="max") -# assert np.isclose(net.res_bus_sc.ikss_ka.at[b3], 12.789334853) - - -# def test_close_to_gen_simple(): -# # from pandapower.shortcircuit import calc_sc -# # vars = {name: getattr(calc_sc, name) for name in -# # dir(calc_sc) if not name.startswith('__')} -# # globals().update(vars) -# # del vars, calc_sc -# # WIP -# net = pp.create_empty_network() -# b1, b2, b3, b4, b5 = pp.create_buses(net, 5, 20) -# # skss = np.sqrt(3) * 400 * 40 # we assume 40 kA sc current in the 400-kV EHV grid -# # pp.create_ext_grid(net, b1, s_sc_max_mva=skss, s_sc_min_mva=0.8 * skss, rx_min=0.2, rx_max=0.4) -# pp.create_gen(net, b3, vn_kv=20, xdss_pu=0.2, rdss_pu=0.2*0.07, cos_phi=0.8, p_mw=5, sn_mva=5) -# pp.create_gen(net, b5, vn_kv=20, xdss_pu=0.2, rdss_pu=0.2*0.07, cos_phi=0.8, p_mw=10, sn_mva=10) - -# pp.create_line(net, b1, b2, std_type="305-AL1/39-ST1A 110.0", length_km=10) -# pp.create_line(net, b2, b3, std_type="305-AL1/39-ST1A 110.0", length_km=10) -# pp.create_line(net, b3, b4, std_type="305-AL1/39-ST1A 110.0", length_km=50) -# pp.create_line(net, b4, b5, std_type="305-AL1/39-ST1A 110.0", length_km=10) -# # sc.calc_single_sc(net, b5) -# sc.calc_sc(net, tk_s=5e-2) - - -# def test_close_to_gen_simple2(): -# # WIP -# net = pp.create_empty_network() -# # b1, b2 = pp.create_buses(net, 2, 110) -# b1 = pp.create_bus(net, 70) -# # skss = np.sqrt(3) * 400 * 40 # we assume 40 kA sc current in the 400-kV EHV grid -# # pp.create_ext_grid(net, b1, s_sc_max_mva=skss, s_sc_min_mva=0.8 * skss, rx_min=0.2, rx_max=0.4) -# pp.create_gen(net, b1, vn_kv=70, xdss_pu=0.2, rdss_pu=0.2*0.07, cos_phi=0.8, p_mw=0, sn_mva=50) -# # pp.create_gen(net, b3, vn_kv=70, xdss_pu=0.2, rdss_pu=0.001, cos_phi=0.8, p_mw=50, sn_mva=60) - -# # pp.create_line(net, b1, b2, std_type="305-AL1/39-ST1A 110.0", length_km=10) -# # pp.create_line(net, b2, b3, std_type="305-AL1/39-ST1A 110.0", length_km=10) -# # sc.calc_single_sc(net, b2) -# sc.calc_sc(net, tk_s=5e-2) - -# def test_generator_book(): -# net=pp.create_empty_network() -# b1= pp.create_bus(net, 110) -# b2= pp.create_bus(net, 6) - -# pp.create_ext_grid(net, b1, s_sc_max_mva=300, rx_max=0.1, s_sc_min_mva=250, rx_min=0.1) -# pp.create_transformer_from_parameters(net, b1, b2, 25, 110, 6, 0.5, 15, 15,0.1) -# pp.create_shunt(net, b2, 25, 0, 6) -# pp.create_gen(net, b2, 0, 1, sn_mva=25, vn_kv=6.3, xdss_pu=0.11, cos_phi=np.cos(np.arcsin(0.8))) -# sc.calc_sc(net, tk_s=2.5e-2) - -# def test_shunt(): -# net=pp.create_empty_network() -# b1= pp.create_bus(net, 110) -# b2= pp.create_bus(net, 110) - -# pp.create_ext_grid(net, b1, s_sc_max_mva=300, rx_max=0.1) -# # pp.create_shunt(net, b2, 25, 0, 6) -# pp.create_line(net, b1, b2, std_type="305-AL1/39-ST1A 110.0", length_km=10) - -# sc.calc_sc(net, tk_s=2.5e-2) - -# def test_power_station_unit(): -# net = pp.create_empty_network() -# b1, b2, b3, b4 = pp.create_buses(net, 4, 20) -# b5 = pp.create_bus(net, 10) - -# pp.create_ext_grid(net, b1, s_sc_max_mva=250, rx_max=0.1) - -# pp.create_line(net, b1, b2, std_type="305-AL1/39-ST1A 110.0", length_km=10) -# pp.create_line(net, b2, b3, std_type="305-AL1/39-ST1A 110.0", length_km=10) -# pp.create_line(net, b3, b4, std_type="305-AL1/39-ST1A 110.0", length_km=50) - -# pp.create_transformer_from_parameters(net, b4, b5, 25, 20, 10, 0.41104, 10.3, 0.1, 0.1) -# pp.create_gen(net, b5, vn_kv=10, xdss_pu=0.12, cos_phi=0.8, p_mw=0, sn_mva=10) - -# sc.calc_sc(net) - -if __name__ == '__main__': - pytest.main(['test_gen.py']) +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import pandas as pd +import pytest + +import pandapower as pp +import pandapower.shortcircuit as sc +import numpy as np + +@pytest.fixture +def one_line_one_generator(): + net = pp.create_empty_network(sn_mva=2) + b1 = pp.create_bus(net, vn_kv=10.) + b2 = pp.create_bus(net, vn_kv=10.) + b3 = pp.create_bus(net, vn_kv=10.) + pp.create_bus(net, vn_kv=0.4, in_service=False) + pp.create_gen(net, b1, vn_kv=10.5, xdss_pu=0.2, rdss_ohm=0.001, cos_phi=0.8, p_mw=0.1, sn_mva=2.5) + pp.create_gen(net, b1, vn_kv=10.5, xdss_pu=0.2, rdss_ohm=0.001, cos_phi=0.8, p_mw=0.1, sn_mva=2.5) + l = pp.create_line_from_parameters(net, b2, b1, length_km=1.0, max_i_ka=0.29, + r_ohm_per_km=0.1548, x_ohm_per_km=0.0816814, c_nf_per_km=165) + net.line.loc[l, "endtemp_degree"] = 165 + pp.create_switch(net, b3, b1, et="b") + return net + +@pytest.fixture +def gen_three_bus_example(): + net = pp.create_empty_network(sn_mva=2) + b1 = pp.create_bus(net, vn_kv=10.) + b2 = pp.create_bus(net, vn_kv=10.) + b3 = pp.create_bus(net, vn_kv=10.) + #pp.create_bus(net, vn_kv=0.4, in_service=False) + pp.create_gen(net, b2, vn_kv=10.5, xdss_pu=0.2, rdss_ohm=0.001, cos_phi=0.8, p_mw=0.1, sn_mva=2.5) + pp.create_line_from_parameters(net, b1, b2, length_km=1.0, max_i_ka=0.29, + r_ohm_per_km=0.1548, x_ohm_per_km=0.0816814, c_nf_per_km=165) + pp.create_line_from_parameters(net, b2, b3, length_km=1.0, max_i_ka=0.29, + r_ohm_per_km=0.1548, x_ohm_per_km=0.0816814, c_nf_per_km=165) + net.line["endtemp_degree"] = 165 + pp.create_ext_grid(net, b1, s_sc_max_mva=10., s_sc_min_mva=8., rx_min=0.4, rx_max=0.4) + #pp.create_switch(net, b3, b1, et="b") + return net + +def test_max_gen(one_line_one_generator): + net = one_line_one_generator + sc.calc_sc(net, case="max", inverse_y=False) + assert np.allclose(net.res_bus_sc.ikss_ka.values[:3], [1.5395815, 1.5083952, 1.5395815], atol=1e-3) +# assert abs(net.res_bus_sc.ikss_ka.at[0] - 1.5395815) < 1e-7 +# assert abs(net.res_bus_sc.ikss_ka.at[2] - 1.5395815) < 1e-7 +# assert abs(net.res_bus_sc.ikss_ka.at[1] - 1.5083952) < 1e-7 + assert pd.isnull(net.res_bus_sc.ikss_ka.at[3]) + +def test_branch_max_gen(gen_three_bus_example): + net = gen_three_bus_example + sc.calc_sc(net, case="max", branch_results=True) + assert np.allclose(net.res_line_sc.ikss_ka.values, np.array([0.76204252, 1.28698045]), atol=1e-3) + +def test_min_gen(one_line_one_generator): + net = one_line_one_generator + sc.calc_sc(net, case="min") + assert np.allclose(net.res_bus_sc.ikss_ka.values[:3], [1.3996195, 1.3697407, 1.3996195], atol=1e-3) + # assert abs(net.res_bus_sc.ikss_ka.at[0] - 1.3996195) < 1e-7 + # assert abs(net.res_bus_sc.ikss_ka.at[2] - 1.3996195) < 1e-7 + # assert abs(net.res_bus_sc.ikss_ka.at[1] - 1.3697407) < 1e-7 + assert pd.isnull(net.res_bus_sc.ikss_ka.at[3]) + +def test_branch_min_gen(gen_three_bus_example): + net = gen_three_bus_example + sc.calc_sc(net, case="min", branch_results=True) + assert np.allclose(net.res_line_sc.ikss_ka.values, np.array([0.44487882, 1.10747517]), atol=1e-3) + +def test_max_gen_fault_impedance(one_line_one_generator): + net = one_line_one_generator + sc.calc_sc(net, case="max", r_fault_ohm=2, x_fault_ohm=10) + assert np.allclose(net.res_bus_sc.ikss_ka.values[:3], [0.4450868, 0.4418823, 0.4450868], atol=1e-3) + # assert abs(net.res_bus_sc.ikss_ka.at[0] - 0.4450868) < 1e-7 + # assert abs(net.res_bus_sc.ikss_ka.at[1] - 0.4418823) < 1e-7 + # assert abs(net.res_bus_sc.ikss_ka.at[2] - 0.4450868) < 1e-7 + assert pd.isnull(net.res_bus_sc.ikss_ka.at[3]) + + +# def test_rdss_estimations(): +# net = pp.create_empty_network(sn_mva=1) +# b1 = pp.create_bus(net, vn_kv=0.4) +# g1 = pp.create_gen(net, b1, vn_kv=0.4, xdss_pu=0.1, cos_phi=0.8, p_mw=0.1, sn_mva=0.1) +# b2 = pp.create_bus(net, vn_kv=20.) +# g2 = pp.create_gen(net, b2, vn_kv=21., xdss_pu=0.2, cos_phi=0.85, p_mw=0.1, sn_mva=2.5) +# b3 = pp.create_bus(net, vn_kv=20.) +# g3 = pp.create_gen(net, b3, vn_kv=30., xdss_pu=0.25, cos_phi=0.9, p_mw=0.1, sn_mva=150) + +# sc.calc_sc(net, case="max") +# assert np.isclose(net.res_bus_sc.ikss_ka.at[b1], 1.5130509845) +# net.gen.rdss_pu.at[g1] = net.gen.xdss_pu.at[g1] * 0.15 +# sc.calc_sc(net, case="max") +# assert np.isclose(net.res_bus_sc.ikss_ka.at[b1], 1.5130509845) + +# sc.calc_sc(net, case="max") +# assert np.isclose(net.res_bus_sc.ikss_ka.at[b2], 0.37894052506) +# net.gen.rdss_pu.at[g2] = net.gen.xdss_pu.at[g2] * 0.07 +# sc.calc_sc(net, case="max") +# assert np.isclose(net.res_bus_sc.ikss_ka.at[b2], 0.37894052506) + +# sc.calc_sc(net, case="max") +# assert np.isclose(net.res_bus_sc.ikss_ka.at[b3], 12.789334853) +# net.gen.rdss_pu.at[g3] = net.gen.xdss_pu.at[g3] * 0.05 +# sc.calc_sc(net, case="max") +# assert np.isclose(net.res_bus_sc.ikss_ka.at[b3], 12.789334853) + + +# def test_close_to_gen_simple(): +# # from pandapower.shortcircuit import calc_sc +# # vars = {name: getattr(calc_sc, name) for name in +# # dir(calc_sc) if not name.startswith('__')} +# # globals().update(vars) +# # del vars, calc_sc +# # WIP +# net = pp.create_empty_network() +# b1, b2, b3, b4, b5 = pp.create_buses(net, 5, 20) +# # skss = np.sqrt(3) * 400 * 40 # we assume 40 kA sc current in the 400-kV EHV grid +# # pp.create_ext_grid(net, b1, s_sc_max_mva=skss, s_sc_min_mva=0.8 * skss, rx_min=0.2, rx_max=0.4) +# pp.create_gen(net, b3, vn_kv=20, xdss_pu=0.2, rdss_pu=0.2*0.07, cos_phi=0.8, p_mw=5, sn_mva=5) +# pp.create_gen(net, b5, vn_kv=20, xdss_pu=0.2, rdss_pu=0.2*0.07, cos_phi=0.8, p_mw=10, sn_mva=10) + +# pp.create_line(net, b1, b2, std_type="305-AL1/39-ST1A 110.0", length_km=10) +# pp.create_line(net, b2, b3, std_type="305-AL1/39-ST1A 110.0", length_km=10) +# pp.create_line(net, b3, b4, std_type="305-AL1/39-ST1A 110.0", length_km=50) +# pp.create_line(net, b4, b5, std_type="305-AL1/39-ST1A 110.0", length_km=10) +# # sc.calc_single_sc(net, b5) +# sc.calc_sc(net, tk_s=5e-2) + + +# def test_close_to_gen_simple2(): +# # WIP +# net = pp.create_empty_network() +# # b1, b2 = pp.create_buses(net, 2, 110) +# b1 = pp.create_bus(net, 70) +# # skss = np.sqrt(3) * 400 * 40 # we assume 40 kA sc current in the 400-kV EHV grid +# # pp.create_ext_grid(net, b1, s_sc_max_mva=skss, s_sc_min_mva=0.8 * skss, rx_min=0.2, rx_max=0.4) +# pp.create_gen(net, b1, vn_kv=70, xdss_pu=0.2, rdss_pu=0.2*0.07, cos_phi=0.8, p_mw=0, sn_mva=50) +# # pp.create_gen(net, b3, vn_kv=70, xdss_pu=0.2, rdss_pu=0.001, cos_phi=0.8, p_mw=50, sn_mva=60) + +# # pp.create_line(net, b1, b2, std_type="305-AL1/39-ST1A 110.0", length_km=10) +# # pp.create_line(net, b2, b3, std_type="305-AL1/39-ST1A 110.0", length_km=10) +# # sc.calc_single_sc(net, b2) +# sc.calc_sc(net, tk_s=5e-2) + +# def test_generator_book(): +# net=pp.create_empty_network() +# b1= pp.create_bus(net, 110) +# b2= pp.create_bus(net, 6) + +# pp.create_ext_grid(net, b1, s_sc_max_mva=300, rx_max=0.1, s_sc_min_mva=250, rx_min=0.1) +# pp.create_transformer_from_parameters(net, b1, b2, 25, 110, 6, 0.5, 15, 15,0.1) +# pp.create_shunt(net, b2, 25, 0, 6) +# pp.create_gen(net, b2, 0, 1, sn_mva=25, vn_kv=6.3, xdss_pu=0.11, cos_phi=np.cos(np.arcsin(0.8))) +# sc.calc_sc(net, tk_s=2.5e-2) + +# def test_shunt(): +# net=pp.create_empty_network() +# b1= pp.create_bus(net, 110) +# b2= pp.create_bus(net, 110) + +# pp.create_ext_grid(net, b1, s_sc_max_mva=300, rx_max=0.1) +# # pp.create_shunt(net, b2, 25, 0, 6) +# pp.create_line(net, b1, b2, std_type="305-AL1/39-ST1A 110.0", length_km=10) + +# sc.calc_sc(net, tk_s=2.5e-2) + +# def test_power_station_unit(): +# net = pp.create_empty_network() +# b1, b2, b3, b4 = pp.create_buses(net, 4, 20) +# b5 = pp.create_bus(net, 10) + +# pp.create_ext_grid(net, b1, s_sc_max_mva=250, rx_max=0.1) + +# pp.create_line(net, b1, b2, std_type="305-AL1/39-ST1A 110.0", length_km=10) +# pp.create_line(net, b2, b3, std_type="305-AL1/39-ST1A 110.0", length_km=10) +# pp.create_line(net, b3, b4, std_type="305-AL1/39-ST1A 110.0", length_km=50) + +# pp.create_transformer_from_parameters(net, b4, b5, 25, 20, 10, 0.41104, 10.3, 0.1, 0.1) +# pp.create_gen(net, b5, vn_kv=10, xdss_pu=0.12, cos_phi=0.8, p_mw=0, sn_mva=10) + +# sc.calc_sc(net) + +if __name__ == '__main__': + pytest.main(['test_gen.py']) diff --git a/pandapower/test/shortcircuit/test_impedance.py b/pandapower/test/shortcircuit/test_impedance.py index 4774baa94..91575574d 100644 --- a/pandapower/test/shortcircuit/test_impedance.py +++ b/pandapower/test/shortcircuit/test_impedance.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/test/shortcircuit/test_meshing_detection.py b/pandapower/test/shortcircuit/test_meshing_detection.py index 272670e2b..0c129d172 100644 --- a/pandapower/test/shortcircuit/test_meshing_detection.py +++ b/pandapower/test/shortcircuit/test_meshing_detection.py @@ -1,88 +1,88 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import os -import numpy as np -import pytest - -import pandapower as pp -import pandapower.shortcircuit as sc - - -@pytest.fixture -def meshed_grid(): - net = pp.from_json(os.path.join(pp.pp_dir, "test", "shortcircuit", "sc_test_meshed_grid.json")) - bid = pp.create_bus(net, vn_kv=10.) - pp.create_switch(net, net.ext_grid.bus.iloc[0], bid, et="b") - net.ext_grid.bus.iloc[0] = bid - pp.create_bus(net, vn_kv=0.4, in_service=False) - return net - -def test_max_10_meshed_grid(meshed_grid): - net = meshed_grid - sc.calc_sc(net, case='max', ip=True, ith=True, lv_tol_percent= 10., kappa_method="B") - assert np.allclose(net.res_bus_sc.ikss_ka.values[:10], - [5.773503, 14.82619, 4.606440, 4.068637, 13.61509, - 2.812111, 1.212288, 1.525655, 1.781087, 1.568337], atol=1e-5) - - assert np.allclose(net.res_bus_sc.ip_ka.values[:10], - [14.256050, 33.751300, 6.759302, 6.359403, 26.49241, - 4.726619, 2.015958, 2.538654, 2.576375, 2.608065], atol=1e-5) - - assert np.allclose(net.res_bus_sc.ith_ka.values[:10], - [5.871191, 14.97527, 4.613454, 4.077662, 13.68449, - 2.820525, 1.215770, 1.530048, 1.783442, 1.572843], atol=1e-5) - - -def test_max_6_meshed_grid(meshed_grid): - net = meshed_grid - sc.calc_sc(net, case='max', ip=True, ith=True, lv_tol_percent = 6., kappa_method="B") - assert np.allclose(net.res_bus_sc.ikss_ka.values[:10], - [5.773503, 14.75419, 4.437882, 4.068637, 13.53425, - 2.701411, 1.159945, 1.460757, 1.705172, 1.501673], atol=1e-5) - - assert np.allclose(net.res_bus_sc.ip_ka.values[:10], - [14.25605, 33.59996, 6.50406, 6.359403, 26.28476, - 4.537759, 1.928734, 2.430331, 2.466185, 2.496901], atol=1e-5) - - assert np.allclose(net.res_bus_sc.ith_ka.values[:10], - [5.871191, 14.90284, 4.44457, 4.077662, 13.60275, - 2.709475, 1.163276, 1.464961, 1.707423, 1.505985], atol=1e-5) - - -def test_min_10_meshed_grid(meshed_grid): - net = meshed_grid - sc.calc_sc(net, case='min', ip=True, ith=True, lv_tol_percent= 10., kappa_method="B") - assert np.allclose(net.res_bus_sc.ikss_ka.values[:10], - [2.309401, 11.3267, 2.879343, 1.884323, 10.40083, - 1.693922, 0.7107017, 0.9000445, 1.055881, 0.928488], atol=1e-5) - - assert np.allclose(net.res_bus_sc.ip_ka.values[:10], - [5.702418, 26.01655, 4.166047, 3.124163, 20.04053, - 2.813883, 1.179085, 1.493293, 1.523338, 1.540432], atol=1e-5) - - assert np.allclose(net.res_bus_sc.ith_ka.values[:10], - [2.348476, 11.44622, 2.883161, 1.889675, 10.45195, - 1.698768, 0.712725, 0.9026074, 1.057233, 0.9311316], atol=1e-5) - - -def test_min_6_meshed_grid(meshed_grid): - net = meshed_grid - sc.calc_sc(net, case='min', ip=True, ith=True, lv_tol_percent = 6., kappa_method="B") - assert np.allclose(net.res_bus_sc.ikss_ka.values[:10], - [2.309401, 11.75072, 2.895465, 1.884323, 10.77961, - 1.700202, 0.7116519, 0.9016006, 1.0576, 0.9301236], atol=1e-5) - - assert np.allclose(net.res_bus_sc.ip_ka.values[:10], - [5.702418, 27.00861, 4.18812, 3.124163, 20.72881, - 2.824028, 1.180654, 1.495858, 1.525799, 1.543131], atol=1e-5) - - assert np.allclose(net.res_bus_sc.ith_ka.values[:10], - [2.348476, 11.87518, 2.899291, 1.889675, 10.8322, - 1.705064, 0.7136779, 0.9041679, 1.058954, 0.9327717], atol=1e-5) - -if __name__ == '__main__': +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import os +import numpy as np +import pytest + +import pandapower as pp +import pandapower.shortcircuit as sc + + +@pytest.fixture +def meshed_grid(): + net = pp.from_json(os.path.join(pp.pp_dir, "test", "shortcircuit", "sc_test_meshed_grid.json")) + bid = pp.create_bus(net, vn_kv=10.) + pp.create_switch(net, net.ext_grid.bus.iloc[0], bid, et="b") + net.ext_grid.bus.iloc[0] = bid + pp.create_bus(net, vn_kv=0.4, in_service=False) + return net + +def test_max_10_meshed_grid(meshed_grid): + net = meshed_grid + sc.calc_sc(net, case='max', ip=True, ith=True, lv_tol_percent= 10., kappa_method="B") + assert np.allclose(net.res_bus_sc.ikss_ka.values[:10], + [5.773503, 14.82619, 4.606440, 4.068637, 13.61509, + 2.812111, 1.212288, 1.525655, 1.781087, 1.568337], atol=1e-5) + + assert np.allclose(net.res_bus_sc.ip_ka.values[:10], + [14.256050, 33.751300, 6.759302, 6.359403, 26.49241, + 4.726619, 2.015958, 2.538654, 2.576375, 2.608065], atol=1e-5) + + assert np.allclose(net.res_bus_sc.ith_ka.values[:10], + [5.871191, 14.97527, 4.613454, 4.077662, 13.68449, + 2.820525, 1.215770, 1.530048, 1.783442, 1.572843], atol=1e-5) + + +def test_max_6_meshed_grid(meshed_grid): + net = meshed_grid + sc.calc_sc(net, case='max', ip=True, ith=True, lv_tol_percent = 6., kappa_method="B") + assert np.allclose(net.res_bus_sc.ikss_ka.values[:10], + [5.773503, 14.75419, 4.437882, 4.068637, 13.53425, + 2.701411, 1.159945, 1.460757, 1.705172, 1.501673], atol=1e-5) + + assert np.allclose(net.res_bus_sc.ip_ka.values[:10], + [14.25605, 33.59996, 6.50406, 6.359403, 26.28476, + 4.537759, 1.928734, 2.430331, 2.466185, 2.496901], atol=1e-5) + + assert np.allclose(net.res_bus_sc.ith_ka.values[:10], + [5.871191, 14.90284, 4.44457, 4.077662, 13.60275, + 2.709475, 1.163276, 1.464961, 1.707423, 1.505985], atol=1e-5) + + +def test_min_10_meshed_grid(meshed_grid): + net = meshed_grid + sc.calc_sc(net, case='min', ip=True, ith=True, lv_tol_percent= 10., kappa_method="B") + assert np.allclose(net.res_bus_sc.ikss_ka.values[:10], + [2.309401, 11.3267, 2.879343, 1.884323, 10.40083, + 1.693922, 0.7107017, 0.9000445, 1.055881, 0.928488], atol=1e-5) + + assert np.allclose(net.res_bus_sc.ip_ka.values[:10], + [5.702418, 26.01655, 4.166047, 3.124163, 20.04053, + 2.813883, 1.179085, 1.493293, 1.523338, 1.540432], atol=1e-5) + + assert np.allclose(net.res_bus_sc.ith_ka.values[:10], + [2.348476, 11.44622, 2.883161, 1.889675, 10.45195, + 1.698768, 0.712725, 0.9026074, 1.057233, 0.9311316], atol=1e-5) + + +def test_min_6_meshed_grid(meshed_grid): + net = meshed_grid + sc.calc_sc(net, case='min', ip=True, ith=True, lv_tol_percent = 6., kappa_method="B") + assert np.allclose(net.res_bus_sc.ikss_ka.values[:10], + [2.309401, 11.75072, 2.895465, 1.884323, 10.77961, + 1.700202, 0.7116519, 0.9016006, 1.0576, 0.9301236], atol=1e-5) + + assert np.allclose(net.res_bus_sc.ip_ka.values[:10], + [5.702418, 27.00861, 4.18812, 3.124163, 20.72881, + 2.824028, 1.180654, 1.495858, 1.525799, 1.543131], atol=1e-5) + + assert np.allclose(net.res_bus_sc.ith_ka.values[:10], + [2.348476, 11.87518, 2.899291, 1.889675, 10.8322, + 1.705064, 0.7136779, 0.9041679, 1.058954, 0.9327717], atol=1e-5) + +if __name__ == '__main__': pytest.main(["test_meshing_detection.py", '-xs']) \ No newline at end of file diff --git a/pandapower/test/shortcircuit/test_min_branch_results.py b/pandapower/test/shortcircuit/test_min_branch_results.py index 0d88bb35a..4afe655a9 100644 --- a/pandapower/test/shortcircuit/test_min_branch_results.py +++ b/pandapower/test/shortcircuit/test_min_branch_results.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/test/shortcircuit/test_motor.py b/pandapower/test/shortcircuit/test_motor.py index 10ae79327..cc57021a1 100644 --- a/pandapower/test/shortcircuit/test_motor.py +++ b/pandapower/test/shortcircuit/test_motor.py @@ -1,81 +1,81 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import numpy as np -import pytest - -import pandapower as pp -import pandapower.shortcircuit as sc - -@pytest.fixture -def motor_net(): - net = pp.create_empty_network(sn_mva=10) - b1 = pp.create_bus(net, vn_kv=0.4) - b2 = pp.create_bus(net, vn_kv=0.4) - b3 = pp.create_bus(net, vn_kv=0.4) - pp.create_ext_grid(net, b1, s_sc_max_mva=10., rx_max=0.1, s_sc_min_mva=8., - rx_min=0.1) - pp.create_line_from_parameters(net, from_bus=b1, to_bus=b2, length_km=1., - r_ohm_per_km=0.32, c_nf_per_km=0, - x_ohm_per_km=0.07, max_i_ka=1, - endtemp_degree=80) - pp.create_motor(net, b2, pn_mech_mw=0.5, lrc_pu=7., vn_kv=0.45, rx=0.4, - efficiency_n_percent=95, cos_phi_n=0.9, cos_phi=0.9) - pp.create_line_from_parameters(net, from_bus=b2, to_bus=b3, length_km=2., - r_ohm_per_km=0.32, c_nf_per_km=0, - x_ohm_per_km=0.07, max_i_ka=1, - endtemp_degree=80) - return net - -def test_motor_min(motor_net): - net = motor_net - sc.calc_sc(net, case="min") - assert np.allclose(net.res_bus_sc.ikss_ka.values[:3], - [11.547005315, 0.53709235574, 0.18070949061], rtol=1e-4) - -def test_motor_max(motor_net): - net = motor_net - sc.calc_sc(net, case="max") - assert np.allclose(net.res_bus_sc.ikss_ka.values[:3], - [14.743809197, 5.626994278, 0.370730612], rtol=1e-4) - -def test_motor_max_branch(motor_net): - net = motor_net - net.motor.in_service = False - sc.calc_sc(net, case="max") - ikss_without_motor = net.res_bus_sc.ikss_ka.copy() - - net.motor.in_service = True - sc.calc_sc(net, case="max", branch_results=True) - assert np.allclose(net.res_bus_sc.ikss_ka.values[:3], - [14.743809197, 5.626994278, 0.370730612], rtol=1e-4) - # The maximum current through the first branch is the short-circuit current - # at the second bus without the motor contribution, which does not flow - # through the line - assert np.isclose(net.res_line_sc.ikss_ka.at[0], ikss_without_motor.at[1]) - # The maximum current through the second branch is the short-circuit current - # at the third bus - assert np.isclose(net.res_line_sc.ikss_ka.at[1], net.res_bus_sc.ikss_ka.at[2]) - -def test_motor_min_branch(motor_net): - net = motor_net - net.motor.in_service = False - sc.calc_sc(net, case="min", branch_results=True) - ikss_without_motor = net.res_line_sc.ikss_ka.values - - net.motor.in_service = True - sc.calc_sc(net, case="min", branch_results=True) - assert np.allclose(ikss_without_motor, net.res_line_sc.ikss_ka.values) - -def test_large_motor(motor_net): - net = motor_net - net.motor.pn_mech_mw = 10 - sc.calc_sc(net, case="max") - assert np.allclose(net.res_bus_sc.ikss_ka.values[:3], - [14.695869025, 103.16722971, 0.38693418116], rtol=1e-4) - -if __name__ == '__main__': +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import numpy as np +import pytest + +import pandapower as pp +import pandapower.shortcircuit as sc + +@pytest.fixture +def motor_net(): + net = pp.create_empty_network(sn_mva=10) + b1 = pp.create_bus(net, vn_kv=0.4) + b2 = pp.create_bus(net, vn_kv=0.4) + b3 = pp.create_bus(net, vn_kv=0.4) + pp.create_ext_grid(net, b1, s_sc_max_mva=10., rx_max=0.1, s_sc_min_mva=8., + rx_min=0.1) + pp.create_line_from_parameters(net, from_bus=b1, to_bus=b2, length_km=1., + r_ohm_per_km=0.32, c_nf_per_km=0, + x_ohm_per_km=0.07, max_i_ka=1, + endtemp_degree=80) + pp.create_motor(net, b2, pn_mech_mw=0.5, lrc_pu=7., vn_kv=0.45, rx=0.4, + efficiency_n_percent=95, cos_phi_n=0.9, cos_phi=0.9) + pp.create_line_from_parameters(net, from_bus=b2, to_bus=b3, length_km=2., + r_ohm_per_km=0.32, c_nf_per_km=0, + x_ohm_per_km=0.07, max_i_ka=1, + endtemp_degree=80) + return net + +def test_motor_min(motor_net): + net = motor_net + sc.calc_sc(net, case="min") + assert np.allclose(net.res_bus_sc.ikss_ka.values[:3], + [11.547005315, 0.53709235574, 0.18070949061], rtol=1e-4) + +def test_motor_max(motor_net): + net = motor_net + sc.calc_sc(net, case="max") + assert np.allclose(net.res_bus_sc.ikss_ka.values[:3], + [14.743809197, 5.626994278, 0.370730612], rtol=1e-4) + +def test_motor_max_branch(motor_net): + net = motor_net + net.motor.in_service = False + sc.calc_sc(net, case="max") + ikss_without_motor = net.res_bus_sc.ikss_ka.copy() + + net.motor.in_service = True + sc.calc_sc(net, case="max", branch_results=True) + assert np.allclose(net.res_bus_sc.ikss_ka.values[:3], + [14.743809197, 5.626994278, 0.370730612], rtol=1e-4) + # The maximum current through the first branch is the short-circuit current + # at the second bus without the motor contribution, which does not flow + # through the line + assert np.isclose(net.res_line_sc.ikss_ka.at[0], ikss_without_motor.at[1]) + # The maximum current through the second branch is the short-circuit current + # at the third bus + assert np.isclose(net.res_line_sc.ikss_ka.at[1], net.res_bus_sc.ikss_ka.at[2]) + +def test_motor_min_branch(motor_net): + net = motor_net + net.motor.in_service = False + sc.calc_sc(net, case="min", branch_results=True) + ikss_without_motor = net.res_line_sc.ikss_ka.values + + net.motor.in_service = True + sc.calc_sc(net, case="min", branch_results=True) + assert np.allclose(ikss_without_motor, net.res_line_sc.ikss_ka.values) + +def test_large_motor(motor_net): + net = motor_net + net.motor.pn_mech_mw = 10 + sc.calc_sc(net, case="max") + assert np.allclose(net.res_bus_sc.ikss_ka.values[:3], + [14.695869025, 103.16722971, 0.38693418116], rtol=1e-4) + +if __name__ == '__main__': pytest.main([__file__]) \ No newline at end of file diff --git a/pandapower/test/shortcircuit/test_ring.py b/pandapower/test/shortcircuit/test_ring.py index 854fde441..d8a78f0d1 100644 --- a/pandapower/test/shortcircuit/test_ring.py +++ b/pandapower/test/shortcircuit/test_ring.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/test/shortcircuit/test_sc_single_bus.py b/pandapower/test/shortcircuit/test_sc_single_bus.py index 39e352348..a3251a868 100644 --- a/pandapower/test/shortcircuit/test_sc_single_bus.py +++ b/pandapower/test/shortcircuit/test_sc_single_bus.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/test/shortcircuit/test_sgen.py b/pandapower/test/shortcircuit/test_sgen.py index 0100f072e..c016c212e 100644 --- a/pandapower/test/shortcircuit/test_sgen.py +++ b/pandapower/test/shortcircuit/test_sgen.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/test/shortcircuit/test_trafo3w.py b/pandapower/test/shortcircuit/test_trafo3w.py index 6da14db3e..de14b2864 100644 --- a/pandapower/test/shortcircuit/test_trafo3w.py +++ b/pandapower/test/shortcircuit/test_trafo3w.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/test/shortcircuit/test_transformer.py b/pandapower/test/shortcircuit/test_transformer.py index 675e9b1c8..b5877e204 100644 --- a/pandapower/test/shortcircuit/test_transformer.py +++ b/pandapower/test/shortcircuit/test_transformer.py @@ -1,102 +1,102 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - - -import pytest - -import pandapower as pp -import pandapower.shortcircuit as sc - - -@pytest.fixture -def net_transformer(): - net = pp.create_empty_network(sn_mva=2) - b1a = pp.create_bus(net, vn_kv=10.) - b1b = pp.create_bus(net, vn_kv=10.) - b2 = pp.create_bus(net, vn_kv=.4) - pp.create_bus(net, vn_kv=0.4, in_service=False) #add out of service bus to test oos indexing - pp.create_ext_grid(net, b1a, s_sc_max_mva=100., s_sc_min_mva=40., rx_min=0.1, rx_max=0.1) - pp.create_switch(net, b1a, b1b, et="b") - pp.create_transformer_from_parameters(net, b1b, b2, vn_hv_kv=11., vn_lv_kv=0.42, vk_percent=6., - vkr_percent=0.5, pfe_kw=14, shift_degree=0.0, - tap_side="hv", tap_neutral=0, tap_min=-2, tap_max=2, tap_pos=2, - tap_step_percent=2.5, parallel=2, sn_mva=0.4, i0_percent=0.5) - pp.create_shunt(net, b2, q_mvar=0.050, p_mw=0.0500) #adding a shunt shouldn't change the result - return net - -def test_max_10_trafo(net_transformer): - net = net_transformer - sc.calc_sc(net, case='max', ip=True, ith=True, lv_tol_percent= 10.) - assert (abs(net.res_bus_sc.ikss_ka.at[0] - 5.77350301940194) <1e-5) - assert (abs(net.res_bus_sc.ikss_ka.at[1] - 5.77350301940194) <1e-5) - assert (abs(net.res_bus_sc.ikss_ka.at[2] - 16.992258758) <1e-5) - - assert (abs(net.res_bus_sc.ip_ka.at[0] - 14.25605) <1e-5) - assert (abs(net.res_bus_sc.ip_ka.at[1] - 14.25605) <1e-5) - assert (abs(net.res_bus_sc.ip_ka.at[2] - 42.739927153) <1e-5) - - assert (abs(net.res_bus_sc.ith_ka.at[0] - 5.8711913689) <1e-5) - assert (abs(net.res_bus_sc.ith_ka.at[1] - 5.8711913689) <1e-5) - assert (abs(net.res_bus_sc.ith_ka.at[2] - 17.328354145) <1e-5) - -def test_max_6_trafo(net_transformer): - net = net_transformer - sc.calc_sc(net, case='max', ip=True, ith=True, lv_tol_percent = 6.) - assert (abs(net.res_bus_sc.ikss_ka.at[0] - 5.77350301940194) <1e-5) - assert (abs(net.res_bus_sc.ikss_ka.at[1] - 5.77350301940194) <1e-5) - assert (abs(net.res_bus_sc.ikss_ka.at[2] - 16.905912296) <1e-5) - - assert (abs(net.res_bus_sc.ip_ka.at[0] - 14.256046241) <1e-5) - assert (abs(net.res_bus_sc.ip_ka.at[1] - 14.256046241) <1e-5) - assert (abs(net.res_bus_sc.ip_ka.at[2] - 42.518706441) <1e-5) - - assert (abs(net.res_bus_sc.ith_ka.at[0] - 5.8711913689) <1e-5) - assert (abs(net.res_bus_sc.ith_ka.at[1] - 5.8711913689) <1e-5) - assert (abs(net.res_bus_sc.ith_ka.at[2] - 17.240013111) <1e-5) - -def test_min_10_trafo(net_transformer): - net = net_transformer - sc.calc_sc(net, case='min', ip=True, ith=True, lv_tol_percent= 10.) - assert (abs(net.res_bus_sc.ikss_ka.at[0] - 2.309401) <1e-5) - assert (abs(net.res_bus_sc.ikss_ka.at[1] - 2.309401) <1e-5) - assert (abs(net.res_bus_sc.ikss_ka.at[2] - 12.912468695) <1e-5) - - assert (abs(net.res_bus_sc.ip_ka.at[0] - 5.702418) <1e-5) - assert (abs(net.res_bus_sc.ip_ka.at[1] - 5.702418) <1e-5) - assert (abs(net.res_bus_sc.ip_ka.at[2] - 32.405489528) <1e-5) - - assert (abs(net.res_bus_sc.ith_ka.at[0] - 2.348476) <1e-5) - assert (abs(net.res_bus_sc.ith_ka.at[1] - 2.348476) <1e-5) - assert (abs(net.res_bus_sc.ith_ka.at[2] - 13.162790807) <1e-5) - -def test_min_6_trafo(net_transformer): - net = net_transformer - sc.calc_sc(net, case='min', ip=True, ith=True, lv_tol_percent = 6.) - assert (abs(net.res_bus_sc.ikss_ka.at[0] - 2.309401) <1e-5) - assert (abs(net.res_bus_sc.ikss_ka.at[1] - 2.309401) <1e-5) - assert (abs(net.res_bus_sc.ikss_ka.at[2] - 13.39058012) <1e-5) - - assert (abs(net.res_bus_sc.ip_ka.at[0] - 5.702418) <1e-5) - assert (abs(net.res_bus_sc.ip_ka.at[1] - 5.702418) <1e-5) - assert (abs(net.res_bus_sc.ip_ka.at[2] - 33.599801499) <1e-5) - - assert (abs(net.res_bus_sc.ith_ka.at[0] - 2.348476) <1e-5) - assert (abs(net.res_bus_sc.ith_ka.at[1] - 2.348476) <1e-5) - assert (abs(net.res_bus_sc.ith_ka.at[2] - 13.649789214) <1e-5) - -def test_min_10_trafo_2ph(net_transformer): - net = net_transformer - sc.calc_sc(net, fault="2ph", case='min', ip=True, ith=True, lv_tol_percent = 10.) - assert (abs(net.res_bus_sc.ikss_ka.at[0] - 2.0000000702) <1e-5) - assert (abs(net.res_bus_sc.ikss_ka.at[2] - 11.182525915) <1e-5) - - assert (abs(net.res_bus_sc.ip_ka.at[0] - 4.9384391739) <1e-5) - assert (abs(net.res_bus_sc.ip_ka.at[2] - 28.063977154) <1e-5) - -# assert (abs(net.res_bus_sc.ith_ka.at[0] - 2.0000000702) <1e-5) -# assert (abs(net.res_bus_sc.ith_ka.at[2] - 11.182525915) <1e-5) - -if __name__ == '__main__': - pytest.main(["test_transformer.py"]) +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + + +import pytest + +import pandapower as pp +import pandapower.shortcircuit as sc + + +@pytest.fixture +def net_transformer(): + net = pp.create_empty_network(sn_mva=2) + b1a = pp.create_bus(net, vn_kv=10.) + b1b = pp.create_bus(net, vn_kv=10.) + b2 = pp.create_bus(net, vn_kv=.4) + pp.create_bus(net, vn_kv=0.4, in_service=False) #add out of service bus to test oos indexing + pp.create_ext_grid(net, b1a, s_sc_max_mva=100., s_sc_min_mva=40., rx_min=0.1, rx_max=0.1) + pp.create_switch(net, b1a, b1b, et="b") + pp.create_transformer_from_parameters(net, b1b, b2, vn_hv_kv=11., vn_lv_kv=0.42, vk_percent=6., + vkr_percent=0.5, pfe_kw=14, shift_degree=0.0, + tap_side="hv", tap_neutral=0, tap_min=-2, tap_max=2, tap_pos=2, + tap_step_percent=2.5, parallel=2, sn_mva=0.4, i0_percent=0.5) + pp.create_shunt(net, b2, q_mvar=0.050, p_mw=0.0500) #adding a shunt shouldn't change the result + return net + +def test_max_10_trafo(net_transformer): + net = net_transformer + sc.calc_sc(net, case='max', ip=True, ith=True, lv_tol_percent= 10.) + assert (abs(net.res_bus_sc.ikss_ka.at[0] - 5.77350301940194) <1e-5) + assert (abs(net.res_bus_sc.ikss_ka.at[1] - 5.77350301940194) <1e-5) + assert (abs(net.res_bus_sc.ikss_ka.at[2] - 16.992258758) <1e-5) + + assert (abs(net.res_bus_sc.ip_ka.at[0] - 14.25605) <1e-5) + assert (abs(net.res_bus_sc.ip_ka.at[1] - 14.25605) <1e-5) + assert (abs(net.res_bus_sc.ip_ka.at[2] - 42.739927153) <1e-5) + + assert (abs(net.res_bus_sc.ith_ka.at[0] - 5.8711913689) <1e-5) + assert (abs(net.res_bus_sc.ith_ka.at[1] - 5.8711913689) <1e-5) + assert (abs(net.res_bus_sc.ith_ka.at[2] - 17.328354145) <1e-5) + +def test_max_6_trafo(net_transformer): + net = net_transformer + sc.calc_sc(net, case='max', ip=True, ith=True, lv_tol_percent = 6.) + assert (abs(net.res_bus_sc.ikss_ka.at[0] - 5.77350301940194) <1e-5) + assert (abs(net.res_bus_sc.ikss_ka.at[1] - 5.77350301940194) <1e-5) + assert (abs(net.res_bus_sc.ikss_ka.at[2] - 16.905912296) <1e-5) + + assert (abs(net.res_bus_sc.ip_ka.at[0] - 14.256046241) <1e-5) + assert (abs(net.res_bus_sc.ip_ka.at[1] - 14.256046241) <1e-5) + assert (abs(net.res_bus_sc.ip_ka.at[2] - 42.518706441) <1e-5) + + assert (abs(net.res_bus_sc.ith_ka.at[0] - 5.8711913689) <1e-5) + assert (abs(net.res_bus_sc.ith_ka.at[1] - 5.8711913689) <1e-5) + assert (abs(net.res_bus_sc.ith_ka.at[2] - 17.240013111) <1e-5) + +def test_min_10_trafo(net_transformer): + net = net_transformer + sc.calc_sc(net, case='min', ip=True, ith=True, lv_tol_percent= 10.) + assert (abs(net.res_bus_sc.ikss_ka.at[0] - 2.309401) <1e-5) + assert (abs(net.res_bus_sc.ikss_ka.at[1] - 2.309401) <1e-5) + assert (abs(net.res_bus_sc.ikss_ka.at[2] - 12.912468695) <1e-5) + + assert (abs(net.res_bus_sc.ip_ka.at[0] - 5.702418) <1e-5) + assert (abs(net.res_bus_sc.ip_ka.at[1] - 5.702418) <1e-5) + assert (abs(net.res_bus_sc.ip_ka.at[2] - 32.405489528) <1e-5) + + assert (abs(net.res_bus_sc.ith_ka.at[0] - 2.348476) <1e-5) + assert (abs(net.res_bus_sc.ith_ka.at[1] - 2.348476) <1e-5) + assert (abs(net.res_bus_sc.ith_ka.at[2] - 13.162790807) <1e-5) + +def test_min_6_trafo(net_transformer): + net = net_transformer + sc.calc_sc(net, case='min', ip=True, ith=True, lv_tol_percent = 6.) + assert (abs(net.res_bus_sc.ikss_ka.at[0] - 2.309401) <1e-5) + assert (abs(net.res_bus_sc.ikss_ka.at[1] - 2.309401) <1e-5) + assert (abs(net.res_bus_sc.ikss_ka.at[2] - 13.39058012) <1e-5) + + assert (abs(net.res_bus_sc.ip_ka.at[0] - 5.702418) <1e-5) + assert (abs(net.res_bus_sc.ip_ka.at[1] - 5.702418) <1e-5) + assert (abs(net.res_bus_sc.ip_ka.at[2] - 33.599801499) <1e-5) + + assert (abs(net.res_bus_sc.ith_ka.at[0] - 2.348476) <1e-5) + assert (abs(net.res_bus_sc.ith_ka.at[1] - 2.348476) <1e-5) + assert (abs(net.res_bus_sc.ith_ka.at[2] - 13.649789214) <1e-5) + +def test_min_10_trafo_2ph(net_transformer): + net = net_transformer + sc.calc_sc(net, fault="2ph", case='min', ip=True, ith=True, lv_tol_percent = 10.) + assert (abs(net.res_bus_sc.ikss_ka.at[0] - 2.0000000702) <1e-5) + assert (abs(net.res_bus_sc.ikss_ka.at[2] - 11.182525915) <1e-5) + + assert (abs(net.res_bus_sc.ip_ka.at[0] - 4.9384391739) <1e-5) + assert (abs(net.res_bus_sc.ip_ka.at[2] - 28.063977154) <1e-5) + +# assert (abs(net.res_bus_sc.ith_ka.at[0] - 2.0000000702) <1e-5) +# assert (abs(net.res_bus_sc.ith_ka.at[2] - 11.182525915) <1e-5) + +if __name__ == '__main__': + pytest.main(["test_transformer.py"]) diff --git a/pandapower/test/test_files/save_version.py b/pandapower/test/test_files/save_version.py index d6259d768..aa23a4a42 100644 --- a/pandapower/test/test_files/save_version.py +++ b/pandapower/test/test_files/save_version.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. # Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. diff --git a/pandapower/test/timeseries/test_data_source.py b/pandapower/test/timeseries/test_data_source.py index 0636028b1..c1adebf8e 100644 --- a/pandapower/test/timeseries/test_data_source.py +++ b/pandapower/test/timeseries/test_data_source.py @@ -1,36 +1,36 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - -import os -import pandas as pd -import pytest -import copy -import pandapower.control -import pandapower.timeseries -from pandapower import pp_dir -epsilon = 0.00000000000001 - -def test_data_source(): - """ - Testing simply reading from file and checking the data. - """ - # load file - - - filename = os.path.join(pp_dir, "test", "timeseries", "test_files", "small_profile.csv") - df = pd.read_csv(filename, sep=";") - my_data_source = pandapower.timeseries.DFData(df) - copy.deepcopy(my_data_source) - - assert my_data_source.get_time_step_value(time_step=0, profile_name="my_profilename") == 0.0 - assert my_data_source.get_time_step_value(time_step=3, profile_name="my_profilename") == 0.0 - assert abs(my_data_source.get_time_step_value(time_step=4, profile_name="my_profilename") - - -3.97E-1) < epsilon - assert abs(my_data_source.get_time_step_value(time_step=8, profile_name="constload3") - - -5.37E-3) < epsilon - -if __name__ == '__main__': - pytest.main(['-x', '-s', __file__]) - # pytest.main(['-x', __file__]) +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + +import os +import pandas as pd +import pytest +import copy +import pandapower.control +import pandapower.timeseries +from pandapower import pp_dir +epsilon = 0.00000000000001 + +def test_data_source(): + """ + Testing simply reading from file and checking the data. + """ + # load file + + + filename = os.path.join(pp_dir, "test", "timeseries", "test_files", "small_profile.csv") + df = pd.read_csv(filename, sep=";") + my_data_source = pandapower.timeseries.DFData(df) + copy.deepcopy(my_data_source) + + assert my_data_source.get_time_step_value(time_step=0, profile_name="my_profilename") == 0.0 + assert my_data_source.get_time_step_value(time_step=3, profile_name="my_profilename") == 0.0 + assert abs(my_data_source.get_time_step_value(time_step=4, profile_name="my_profilename") + - -3.97E-1) < epsilon + assert abs(my_data_source.get_time_step_value(time_step=8, profile_name="constload3") + - -5.37E-3) < epsilon + +if __name__ == '__main__': + pytest.main(['-x', '-s', __file__]) + # pytest.main(['-x', __file__]) diff --git a/pandapower/test/timeseries/test_output_writer.py b/pandapower/test/timeseries/test_output_writer.py index cfa90e147..7040fa067 100644 --- a/pandapower/test/timeseries/test_output_writer.py +++ b/pandapower/test/timeseries/test_output_writer.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/test/timeseries/test_timeseries.py b/pandapower/test/timeseries/test_timeseries.py index b08e6f9b3..c51c7cf2b 100644 --- a/pandapower/test/timeseries/test_timeseries.py +++ b/pandapower/test/timeseries/test_timeseries.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. import tempfile diff --git a/pandapower/test/toolbox.py b/pandapower/test/toolbox.py index d64a907f3..eb34024c1 100644 --- a/pandapower/test/toolbox.py +++ b/pandapower/test/toolbox.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/test/topology/test_create_graph.py b/pandapower/test/topology/test_create_graph.py index c8d166638..73b4aeb16 100644 --- a/pandapower/test/topology/test_create_graph.py +++ b/pandapower/test/topology/test_create_graph.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. from itertools import combinations diff --git a/pandapower/test/topology/test_graph_searches.py b/pandapower/test/topology/test_graph_searches.py index 7dc40c7de..96f8f2e31 100644 --- a/pandapower/test/topology/test_graph_searches.py +++ b/pandapower/test/topology/test_graph_searches.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/pandapower/timeseries/data_source.py b/pandapower/timeseries/data_source.py index de65f967b..2c7b3d199 100644 --- a/pandapower/timeseries/data_source.py +++ b/pandapower/timeseries/data_source.py @@ -1,33 +1,33 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - -try: - import pplog -except: - import logging as pplog - -from pandapower.io_utils import JSONSerializableClass - -logger = pplog.getLogger(__name__) - - -class DataSource(JSONSerializableClass): - """ - The DataSource class is a skeleton for data sources such as pandas DataFrames - Controllers call get_time_step_values(time) in each time step to get values from the data source - """ - - def __str__(self): - return self.__class__.__name__ - - def __repr__(self): - return self.__class__.__name__ - - def get_time_step_value(self, time_step, profile_name, scale_factor=1.0): - """ - This method retrieves values of the data source according to the given parameters. - For actual parameters look into the DataSource you are actually using. - """ - raise NotImplementedError("Subclasses should implement this!") +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + +try: + import pplog +except: + import logging as pplog + +from pandapower.io_utils import JSONSerializableClass + +logger = pplog.getLogger(__name__) + + +class DataSource(JSONSerializableClass): + """ + The DataSource class is a skeleton for data sources such as pandas DataFrames + Controllers call get_time_step_values(time) in each time step to get values from the data source + """ + + def __str__(self): + return self.__class__.__name__ + + def __repr__(self): + return self.__class__.__name__ + + def get_time_step_value(self, time_step, profile_name, scale_factor=1.0): + """ + This method retrieves values of the data source according to the given parameters. + For actual parameters look into the DataSource you are actually using. + """ + raise NotImplementedError("Subclasses should implement this!") diff --git a/pandapower/timeseries/data_sources/frame_data.py b/pandapower/timeseries/data_sources/frame_data.py index e7f07cbc0..a7e312704 100644 --- a/pandapower/timeseries/data_sources/frame_data.py +++ b/pandapower/timeseries/data_sources/frame_data.py @@ -1,56 +1,56 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics -# and Energy System Technology (IEE), Kassel. All rights reserved. - -from pandapower.timeseries.data_source import DataSource - -try: - import pplog -except ImportError: - import logging as pplog - -logger = pplog.getLogger(__name__) - - -class DFData(DataSource): - """ - Hold a pandas.DataFrame as the data source, that uses index column as time step. - Take care that the data is numeric and all the time steps are present. - - Please note: The columns should be integers for scalar accessing! - - INPUT: - **df** - A pandas DataFrame which holds the time series data - - OPTIONAL: - - **multi** (bool, False) - If True casts columns and indexes to integers. - This might be necessary if you read your data from csv. - """ - - def __init__(self, df, multi=False): - super().__init__() - self.df = df - if multi: - # casting column and index to int for multi- columns accessing - self.df.index = self.df.index.astype(int) - self.df.columns = self.df.columns.astype(int) - - def __repr__(self): - s = "%s with %d rows and %d columns" % ( - self.__class__.__name__, len(self.df), len(self.df.columns)) - - if len(self.df.columns) <= 10: - s += ": %s" % self.df.columns.values.__str__() - return s - - def get_time_step_value(self, time_step, profile_name, scale_factor=1.0): - res = self.df.loc[time_step, profile_name] - if hasattr(res, 'values'): - res = res.values - res = res*scale_factor - return res - - def get_time_steps_len(self): - return len(self.df) +# -*- coding: utf-8 -*- + +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics +# and Energy System Technology (IEE), Kassel. All rights reserved. + +from pandapower.timeseries.data_source import DataSource + +try: + import pplog +except ImportError: + import logging as pplog + +logger = pplog.getLogger(__name__) + + +class DFData(DataSource): + """ + Hold a pandas.DataFrame as the data source, that uses index column as time step. + Take care that the data is numeric and all the time steps are present. + + Please note: The columns should be integers for scalar accessing! + + INPUT: + **df** - A pandas DataFrame which holds the time series data + + OPTIONAL: + + **multi** (bool, False) - If True casts columns and indexes to integers. + This might be necessary if you read your data from csv. + """ + + def __init__(self, df, multi=False): + super().__init__() + self.df = df + if multi: + # casting column and index to int for multi- columns accessing + self.df.index = self.df.index.astype(int) + self.df.columns = self.df.columns.astype(int) + + def __repr__(self): + s = "%s with %d rows and %d columns" % ( + self.__class__.__name__, len(self.df), len(self.df.columns)) + + if len(self.df.columns) <= 10: + s += ": %s" % self.df.columns.values.__str__() + return s + + def get_time_step_value(self, time_step, profile_name, scale_factor=1.0): + res = self.df.loc[time_step, profile_name] + if hasattr(res, 'values'): + res = res.values + res = res*scale_factor + return res + + def get_time_steps_len(self): + return len(self.df) diff --git a/pandapower/timeseries/output_writer.py b/pandapower/timeseries/output_writer.py index d50251c4a..838571cc3 100644 --- a/pandapower/timeseries/output_writer.py +++ b/pandapower/timeseries/output_writer.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. import copy import functools diff --git a/pandapower/timeseries/run_time_series.py b/pandapower/timeseries/run_time_series.py index df98396a1..f34f0512a 100644 --- a/pandapower/timeseries/run_time_series.py +++ b/pandapower/timeseries/run_time_series.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. import tempfile from collections.abc import Iterable diff --git a/pandapower/toolbox.py b/pandapower/toolbox.py index d7b71efe9..59f212b35 100644 --- a/pandapower/toolbox.py +++ b/pandapower/toolbox.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. import copy diff --git a/pandapower/topology/create_graph.py b/pandapower/topology/create_graph.py index 9ac864e05..c58081f99 100644 --- a/pandapower/topology/create_graph.py +++ b/pandapower/topology/create_graph.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. from itertools import combinations diff --git a/pandapower/topology/graph_searches.py b/pandapower/topology/graph_searches.py index 7a3d039dc..1c5798fc0 100644 --- a/pandapower/topology/graph_searches.py +++ b/pandapower/topology/graph_searches.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. diff --git a/setup.py b/setup.py index a1a5a58b5..c7ef0f36f 100644 --- a/setup.py +++ b/setup.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2016-2021 by University of Kassel and Fraunhofer Institute for Energy Economics +# Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. from setuptools import setup, find_packages From 73b47c0916b5128c840fa247915d14312ff9df47 Mon Sep 17 00:00:00 2001 From: Sebastian Elias <77836184+elodin@users.noreply.github.com> Date: Fri, 7 Jan 2022 15:00:54 +0100 Subject: [PATCH 373/422] Consider zero seq. params in create_transformer() --- pandapower/create.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pandapower/create.py b/pandapower/create.py index 67a46e114..2c668c9f5 100644 --- a/pandapower/create.py +++ b/pandapower/create.py @@ -2226,7 +2226,7 @@ def create_transformer(net, hv_bus, lv_bus, std_type, name=None, tap_pos=nan, in } ti = load_std_type(net, std_type, "trafo") - v.update({ + updates = { "sn_mva": ti["sn_mva"], "vn_hv_kv": ti["vn_hv_kv"], "vn_lv_kv": ti["vn_lv_kv"], @@ -2240,7 +2240,11 @@ def create_transformer(net, hv_bus, lv_bus, std_type, name=None, tap_pos=nan, in "tap_phase_shifter": ti["tap_phase_shifter"] if "tap_phase_shifter" in ti and pd.notnull( ti["tap_phase_shifter"]) else False - }) + } + for zero_param in ['vk0_percent', 'vkr0_percent', 'mag0_percent', 'mag0_rx', 'si0_hv_partial']: + if zero_param in ti: + updates[zero_param] = ti[zero_param] + v.update(updates) for tp in ("tap_neutral", "tap_max", "tap_min", "tap_side", "tap_step_percent", "tap_step_degree"): if tp in ti: From 1f855ee942128fe72064392e514d14ed4bb79415 Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Mon, 10 Jan 2022 13:49:08 +0100 Subject: [PATCH 374/422] silence numpy 0.20 deprecated warning --- pandapower/results.py | 2 +- pandapower/results_bus.py | 2 +- pandapower/timeseries/ts_runpp.py | 2 +- pandapower/topology/create_graph.py | 8 ++++---- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/pandapower/results.py b/pandapower/results.py index b63d17fc6..636d1b289 100644 --- a/pandapower/results.py +++ b/pandapower/results.py @@ -50,7 +50,7 @@ def _extract_results_se(net, ppc): _set_buses_out_of_service(ppc) bus_lookup_aranged = _get_aranged_lookup(net) _get_bus_v_results(net, ppc, suffix="_est") - bus_pq = np.zeros(shape=(len(net["bus"].index), 2), dtype=np.float) + bus_pq = np.zeros(shape=(len(net["bus"].index), 2), dtype=float) _get_branch_results(net, ppc, bus_lookup_aranged, bus_pq, suffix="_est") diff --git a/pandapower/results_bus.py b/pandapower/results_bus.py index 9db92737e..ad438ef82 100644 --- a/pandapower/results_bus.py +++ b/pandapower/results_bus.py @@ -363,7 +363,7 @@ def _get_p_q_results(net, ppc, bus_lookup_aranged): def _get_p_q_results_3ph(net, bus_lookup_aranged): # results to be filled (bus, p in kw, q in kvar) - bus_pq = np.zeros(shape=(len(net["bus"].index), 6), dtype=np.float) + bus_pq = np.zeros(shape=(len(net["bus"].index), 6), dtype=float) b, pA, pB, pC, qA, qB, qC = np.array([]), np.array([]), np.array([]), np.array([]), \ np.array([]), np.array([]), np.array([]) diff --git a/pandapower/timeseries/ts_runpp.py b/pandapower/timeseries/ts_runpp.py index 0c39be4ae..8f61bb7da 100644 --- a/pandapower/timeseries/ts_runpp.py +++ b/pandapower/timeseries/ts_runpp.py @@ -110,7 +110,7 @@ def _get_bus_p_q_results_from_ppc(self, net, ppc, net_bus_idx, ppc_bus_idx): @return: """ # read bus_pq array which contains p and q values for each bus in net - bus_pq = np.zeros(shape=(len(net["bus"].index), 2), dtype=np.float) + bus_pq = np.zeros(shape=(len(net["bus"].index), 2), dtype=float) bus_pq[net_bus_idx, 0] = ppc["bus"][ppc_bus_idx, PD] * 1e3 bus_pq[net_bus_idx, 1] = ppc["bus"][ppc_bus_idx, QD] * 1e3 diff --git a/pandapower/topology/create_graph.py b/pandapower/topology/create_graph.py index c58081f99..5ce0bb02e 100644 --- a/pandapower/topology/create_graph.py +++ b/pandapower/topology/create_graph.py @@ -92,7 +92,7 @@ def create_nxgraph(net, respect_switches=True, include_lines=True, include_imped calc_branch_impedances=True. If it is set to "ohm", the parameters 'r_ohm', 'x_ohm' and 'z_ohm' are added to each branch. If it is set to "pu", the parameters are 'r_pu', 'x_pu' and 'z_pu'. - + **include_out_of_service** (bool, False) - defines if out of service buses are included in the nx graph OUTPUT: @@ -331,12 +331,12 @@ def get_baseR(net, ppc, buses): def init_par(tab, calc_branch_impedances=False): n = tab.shape[0] - indices = np.zeros((n, 3), dtype=np.int) + indices = np.zeros((n, 3), dtype=int) indices[:, INDEX] = tab.index if calc_branch_impedances: - parameters = np.zeros((n, 4), dtype=np.float) + parameters = np.zeros((n, 4), dtype=float) else: - parameters = np.zeros((n, 1), dtype=np.float) + parameters = np.zeros((n, 1), dtype=float) if "in_service" in tab: return indices, parameters, tab.in_service.values.copy() From 942a16e41b8c7b42d00b64166b26543169ffc043 Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Mon, 10 Jan 2022 15:28:06 +0100 Subject: [PATCH 375/422] fix numpy import; close #1146 --- pandapower/auxiliary.py | 3 +-- pandapower/test/topology/test_create_graph.py | 3 ++- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pandapower/auxiliary.py b/pandapower/auxiliary.py index 9e9248d6e..f3d057c0c 100644 --- a/pandapower/auxiliary.py +++ b/pandapower/auxiliary.py @@ -30,7 +30,6 @@ from collections.abc import MutableMapping import numpy as np -import numpy.core.numeric as ncn import pandas as pd import scipy as sp import six @@ -935,7 +934,7 @@ def _replace_nans_with_default_limits(net, ppc): for matrix, column, default in [("gen", QMAX, qlim), ("gen", QMIN, -qlim), ("gen", PMIN, -plim), ("gen", PMAX, plim), ("bus", VMAX, 2.0), ("bus", VMIN, 0.0)]: limits = ppc[matrix][:, [column]] - ncn.copyto(limits, default, where=np.isnan(limits)) + np.copyto(limits, default, where=np.isnan(limits)) ppc[matrix][:, [column]] = limits diff --git a/pandapower/test/topology/test_create_graph.py b/pandapower/test/topology/test_create_graph.py index 73b4aeb16..452cc01af 100644 --- a/pandapower/test/topology/test_create_graph.py +++ b/pandapower/test/topology/test_create_graph.py @@ -253,6 +253,7 @@ def test_branch_impedance_unit(): mg = create_nxgraph(net, branch_impedance_unit="p.u.") assert str(exception_info.value) == "branch impedance unit can be either 'ohm' or 'pu'" + @pytest.mark.xfail(reason="This test fails, since graph_tool bus indices must be a range(0, n_buses). " "If a bus is removed, graph-tool is not working.") def test_nogo_graph_tool(): @@ -265,4 +266,4 @@ def test_nogo_graph_tool(): if __name__ == '__main__': - pytest.main(__file__) + pytest.main([__file__]) From 48975dfbab5575af3c1d4e2a4c5d87dc3c4f8000 Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Thu, 13 Jan 2022 11:12:33 +0100 Subject: [PATCH 376/422] add false_elm_links() and false_elm_links(); fasten merge_nets() via avoiding one deepcopy --- CHANGELOG.rst | 1 + pandapower/create.py | 2 +- pandapower/test/api/test_toolbox.py | 61 +++++++++++++++++++- pandapower/toolbox.py | 86 +++++++++++++++++++++++++---- 4 files changed, 136 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index a0606dc2c..94369cc8e 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,5 +1,6 @@ Change Log +- [ADDED] toolbox functions false_elm_links() and false_elm_links_loop() - [FIXED] poly_cost and pwl_cost consideration in merge_nets() - [ADDED] "results" initialization for runopp() - [CHANGED] toolbox function nets_equal() diff --git a/pandapower/create.py b/pandapower/create.py index 67a46e114..925c9e31b 100644 --- a/pandapower/create.py +++ b/pandapower/create.py @@ -3641,7 +3641,7 @@ def create_measurement(net, meas_type, element_type, value, std_dev, element, si raise UserWarning("Invalid measurement type ({})".format(meas_type)) if side is None and element_type in ("line", "trafo"): - raise UserWarning("The element type {} requires a value in 'element'".format(element_type)) + raise UserWarning("The element type '{element_type}' requires a value in 'side'") if meas_type in ("v", "va"): element_type = "bus" diff --git a/pandapower/test/api/test_toolbox.py b/pandapower/test/api/test_toolbox.py index f52f9ff44..be16865ad 100644 --- a/pandapower/test/api/test_toolbox.py +++ b/pandapower/test/api/test_toolbox.py @@ -8,12 +8,13 @@ import numpy as np import pandas as pd +from pandas._testing import assert_series_equal import pytest import pandapower as pp import pandapower.networks as nw import pandapower.toolbox as tb -from pandas._testing import assert_series_equal +from pandapower.test.toolbox import assert_net_equal def test_element_bus_tuples(): @@ -470,8 +471,14 @@ def test_merge_and_split_nets(): pp.create_poly_cost(net2, 3, "sgen", 10) pp.create_poly_cost(net2, 0, "sgen", 11) pp.runpp(net2) + + net1_before = copy.deepcopy(net1) + net2_before = copy.deepcopy(net2) net = pp.merge_nets(net1, net2) pp.runpp(net) + + assert_net_equal(net1, net1_before, check_without_results=True) + assert_net_equal(net2, net2_before, check_without_results=True) assert np.allclose(net.res_bus.vm_pu.iloc[:n1].values, net1.res_bus.vm_pu.values) assert np.allclose(net.res_bus.vm_pu.iloc[n1:].values, net2.res_bus.vm_pu.values) @@ -493,7 +500,13 @@ def test_merge_asymmetric(): net2 = nw.ieee_european_lv_asymmetric() n_load_busses = len(net1.asymmetric_load.bus.unique()) n_sgen_busses = len(net1.asymmetric_sgen.bus.unique()) + + net1_before = copy.deepcopy(net1) + net2_before = copy.deepcopy(net2) net3 = pp.merge_nets(net1, net2) + + assert_net_equal(net1, net1_before, check_without_results=True) + assert_net_equal(net2, net2_before, check_without_results=True) assert len(net3.asymmetric_load.bus.unique()) == 2 * n_load_busses assert len(net3.asymmetric_sgen.bus.unique()) == 2 * n_sgen_busses @@ -1407,5 +1420,51 @@ def test_merge_same_bus_generation_plants(): assert np.isclose(net.sgen.q_mvar.at[idx_sgen22[0]], 20 + 21) # correct value sum (q_mvar) +def test_get_false_links(): + net = pp.create_empty_network() + pp.create_buses(net, 6, 10, index=[0, 1, 3, 4, 6, 7]) + + # --- gens + pp.create_gens(net, [0, 1, 3], 5) + # manipulate to not existing + net.gen.bus.at[1] = 999 + + # --- sgens + pp.create_sgens(net, [0, 1, 3], 5) + + # --- lines + for fbus, tbus in zip([0, 1, 4, 6, 7], [1, 4, 6, 7, 3]): + pp.create_line(net, fbus, tbus, 2., "NA2XS2Y 1x185 RM/25 6/10 kV") + # manipulate to not existing + net.line.from_bus.at[1] = 2 + net.line.to_bus.at[4] = 999 + + # --- measurements + pp.create_measurement(net, "v", "bus", 1.01, 5, 1) + pp.create_measurement(net, "i", "line", 0.41, 1, 0, side="from") + pp.create_measurement(net, "i", "line", 0.41, 1, 2, side="from") + pp.create_measurement(net, "v", "bus", 1.01, 5, 6) + pp.create_measurement(net, "i", "line", 0.41, 1, 1, side="from") + # manipulate to not existing + net.measurement.element.at[1] = 999 + net.measurement.element.at[3] = 999 + + # --- poly_cost + pp.create_poly_cost(net, 0, "gen", 5) + pp.create_poly_cost(net, 1, "gen", 5) + pp.create_poly_cost(net, 0, "sgen", 5) + pp.create_poly_cost(net, 1, "sgen", 5) + # manipulate to not existing + net.poly_cost.element.at[1] = 999 + net.poly_cost.element.at[2] = 999 + + expected = {"gen": {1}, + "line": {1, 4}, + "measurement": {1, 3}, + "poly_cost": {1, 2}} + determined = tb.false_elm_links_loop(net) + assert {elm: set(idx) for elm, idx in determined.items()} == expected + + if __name__ == '__main__': pytest.main([__file__, "-x"]) diff --git a/pandapower/toolbox.py b/pandapower/toolbox.py index 238c89057..9992f8f14 100644 --- a/pandapower/toolbox.py +++ b/pandapower/toolbox.py @@ -1659,7 +1659,7 @@ def merge_nets(net1, net2, validate=True, merge_results=True, tol=1e-9, continuous indizes in order to avoid duplicates. """ net = copy.deepcopy(net1) - net1 = copy.deepcopy(net1) + # net1 = copy.deepcopy(net1) # commented to save time. net1 will not be changed (only by runpp) net2 = copy.deepcopy(net2) if create_continuous_bus_indices: create_continuous_bus_index(net2, start=net1.bus.index.max() + 1) @@ -1686,33 +1686,40 @@ def adapt_element_idx_references(net, element, element_type, offset=0): if isinstance(table, pd.DataFrame) and (len(table) > 0 or len(net2[element]) > 0): if element in ["switch", "measurement"]: adapt_element_idx_references(net2, element, "line", offset=len(net1.line)) - adapt_element_idx_references(net1, element, "line") + adapt_element_idx_references(net, element, "line") adapt_element_idx_references(net2, element, "trafo", offset=len(net1.trafo)) - adapt_element_idx_references(net1, element, "trafo") + adapt_element_idx_references(net, element, "trafo") if element in ["poly_cost", "pwl_cost"]: - net1[element]["element"] = [net1[row.et].index.get_loc(row.element) for row in net1[ - element].itertuples()] + net[element]["element"] = [np.nan if row.element not in net1[row.et].index.values \ + else net1[row.et].index.get_loc(row.element) for row in + net1[element].itertuples()] + if net[element]["element"].isnull().any(): + # this case could also be checked using get_false_links() + logger.warning(f"Some net1[{element}] does not link to an existing element." + "These are dropped.") + net[element].drop(net[element].index[net[element].element.isnull()], + inplace=True) + net[element]["element"] = net[element]["element"].astype(int) for et in ["gen", "sgen", "ext_grid", "load", "dcline", "storage"]: adapt_element_idx_references(net2, element, et, offset=len(net1[et])) if element == "line_geodata": ni = [net1.line.index.get_loc(ix) for ix in net1["line_geodata"].index] - net1.line_geodata.set_index(np.array(ni), inplace=True) + net.line_geodata.set_index(np.array(ni), inplace=True) ni = [net2.line.index.get_loc(ix) + len(net1.line) for ix in net2["line_geodata"].index] net2.line_geodata.set_index(np.array(ni), inplace=True) ignore_index = element not in ("bus", "res_bus", "bus_geodata", "line_geodata") - dtypes = net1[element].dtypes + dtypes = net[element].dtypes try: - net[element] = pd.concat([net1[element], net2[element]], ignore_index=ignore_index, + net[element] = pd.concat([net[element], net2[element]], ignore_index=ignore_index, sort=False) except: # pandas legacy < 0.21 - net[element] = pd.concat([net1[element], net2[element]], ignore_index=ignore_index) + net[element] = pd.concat([net[element], net2[element]], ignore_index=ignore_index) _preserve_dtypes(net[element], dtypes) # update standard types of net by data of net2 for type_ in net.std_types.keys(): - # net2.std_types[type_].update(net1.std_types[type_]) # if net1.std_types have priority - net.std_types[type_].update(net2.std_types[type_]) + net.std_types[type_].update(net2.std_types[type_]) # net2.std_types have priority if validate: runpp(net, **kwargs) dev1 = max(abs(net.res_bus.loc[net1.bus.index].vm_pu.values - net1.res_bus.vm_pu.values)) @@ -3149,4 +3156,59 @@ def get_gc_objects_dict(): for obj in objs: _type = type(obj) nums_by_types[_type] = nums_by_types.get(_type, 0) + 1 - return nums_by_types \ No newline at end of file + return nums_by_types + + +def false_elm_links(net, elm, col, target_elm): + """ + Returns which indices have links to elements of other element tables which does not exist in the + net. + + EXAMPLE 1: + elm = "line" + col = "to_bus" + target_elm = "bus" + + EXAMPLE 2: + elm = "poly_cost" + col = "element" + target_elm = net["poly_cost"]["et"] + """ + if isinstance(target_elm, str): + return net[elm][col].index[~net[elm][col].isin(net[target_elm].index)] + else: # target_elm is an iterable, e.g. a Series such as net["poly_cost"]["et"] + df = pd.DataFrame({"element": net[elm][col].values, "et": target_elm, + "indices": net[elm][col].index.values}) + df = df.set_index("et") + false_links = pd.Index([]) + for et in df.index: + false_links = false_links.union(pd.Index(df.loc[et].indices.loc[ + ~df.loc[et].element.isin(net[et].index)])) + return false_links + + +def false_elm_links_loop(net, elms=None): + """ + Returns a dict of elements which indices have links to elements of other element tables which + does not exist in the net. + This function is an outer loop for get_false_links() applications. + """ + false_links = dict() + elms = elms if elms is not None else pp_elements(bus=False, cost_tables=True) + bebd = branch_element_bus_dict(include_switch=True) + for elm in elms: + if net[elm].shape[0]: + fl = pd.Index([]) + # --- define col and target_elm + if elm in bebd.keys(): + for col in bebd[elm]: + fl = fl.union(false_elm_links(net, elm, col, "bus")) + elif elm in {"poly_cost", "pwl_cost"}: + fl = fl.union(false_elm_links(net, elm, "element", net[elm]["et"])) + elif elm == "measurement": + fl = fl.union(false_elm_links(net, elm, "element", net[elm]["element_type"])) + else: + fl = fl.union(false_elm_links(net, elm, "bus", "bus")) + if len(fl): + false_links[elm] = fl + return false_links From 8bfba54a382670b22c46a41c69330c5e22f1ff02 Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Thu, 13 Jan 2022 11:26:24 +0100 Subject: [PATCH 377/422] correct version name - Version 2.7.1 has not really been created yet --- CHANGELOG.rst | 3 --- pandapower/__init__.py | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 94369cc8e..14c81192b 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -13,9 +13,6 @@ Change Log - [ADDED] correct_dtypes() function for fileIO convert - [FIXED] revise to_ppc() and to_mpc() init behaviour - [CHANGED] import requirements / dependencies - -[2.7.1]- 2021-07-22 ----------------------- - [ADDED] distributed slack calculation to newton-raphson load flow; new column "slack_weights" for ext_grid, gen and xward; only 1 reference bus is allowed, any further reference buses are converted to PV buses internally [2.7.0]- 2021-07-15 diff --git a/pandapower/__init__.py b/pandapower/__init__.py index 7f062ab0e..03649728e 100644 --- a/pandapower/__init__.py +++ b/pandapower/__init__.py @@ -1,4 +1,4 @@ -__version__ = "2.7.2.dev1" +__version__ = "2.7.1.dev1" import os pp_dir = os.path.dirname(os.path.realpath(__file__)) From 43fe6920229b729972f4ede1626d245482b5d8bb Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Thu, 13 Jan 2022 12:30:52 +0100 Subject: [PATCH 378/422] improve create_buses doc (#coords) --- pandapower/create.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/pandapower/create.py b/pandapower/create.py index 5c81ce776..c02fb2ae5 100644 --- a/pandapower/create.py +++ b/pandapower/create.py @@ -556,9 +556,9 @@ def create_bus(net, vn_kv, name=None, index=None, geodata=None, type="b", zone=N **min_vm_pu** (float, NAN) - Minimum bus voltage in p.u. - necessary for OPF - **coords** (array, default None, shape= (,2L)) - busbar coordinates to plot the bus with \ - multiple points. coords is typically a list of tuples (start and endpoint of the \ - busbar) [(x1, y1), (x2, y2)] + **coords** (list (len=2) of tuples (len=2), default None) - busbar coordinates to plot + the bus with multiple points. coords is typically a list of tuples (start and endpoint of + the busbar) - Example: [(x1, y1), (x2, y2)] OUTPUT: **index** (int) - The unique ID of the created element @@ -579,7 +579,7 @@ def create_bus(net, vn_kv, name=None, index=None, geodata=None, type="b", zone=N net["bus_geodata"].loc[index, ["x", "y"]] = geodata if coords is not None: - net["bus_geodata"].loc[index, "coords"] = coords + net["bus_geodata"].at[index, "coords"] = coords # column needed by OPF. 0. and 2. are the default maximum / minimum voltages _create_column_and_set_value(net, index, min_vm_pu, "min_vm_pu", "bus", default_val=0.) @@ -608,7 +608,8 @@ def create_buses(net, nr_buses, vn_kv, index=None, name=None, type="b", geodata= **vn_kv** (float) - The grid voltage level. - **geodata** ((x,y)-tuple, default None) - coordinates used for plotting + **geodata** ((x,y)-tuple or list of tuples with length == nr_buses, default None) - + coordinates used for plotting **type** (string, default "b") - Type of the bus. "n" - auxilary node, "b" - busbar, "m" - muff @@ -621,6 +622,12 @@ def create_buses(net, nr_buses, vn_kv, index=None, name=None, type="b", geodata= **min_vm_pu** (float, NAN) - Minimum bus voltage in p.u. - necessary for OPF + **coords** (list (len=nr_buses) of list (len=2) of tuples (len=2), default None) - busbar + coordinates to plot the bus with multiple points. coords is typically a list of tuples + (start and endpoint of the busbar) - Example for 3 buses: + [[(x11, y11), (x12, y12)], [(x21, y21), (x22, y22)], [(x31, y31), (x32, y32)]] + + OUTPUT: **index** (int) - The unique indices ID of the created elements From bdc8488acc88ac9577f4326bc0565838d2b48b1f Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Thu, 20 Jan 2022 20:24:07 +0100 Subject: [PATCH 379/422] lightsim2grid: changed checks for lightsim2grid, added default "auto" option for lightsim2grid that decides whether to use it silently, added lightsim2grid to the GitHub CI for Python 3.9 --- .github/workflows/github_test_action.yml | 1 + pandapower/auxiliary.py | 82 +++++++++++++++--------- pandapower/pf/run_newton_raphson_pf.py | 2 +- pandapower/run.py | 4 +- 4 files changed, 56 insertions(+), 33 deletions(-) diff --git a/.github/workflows/github_test_action.yml b/.github/workflows/github_test_action.yml index 46279953a..e672f5976 100644 --- a/.github/workflows/github_test_action.yml +++ b/.github/workflows/github_test_action.yml @@ -36,6 +36,7 @@ jobs: pip install .["all"] if ${{ matrix.python-version == '3.7' }}; then python -m pip install pypower; fi if ${{ matrix.python-version != '3.6' }}; then python -m pip install numba; fi + if ${{ matrix.python-version == '3.9' }}; then python -m pip install lightsim2grid; fi - name: Install Julia if: ${{ matrix.python-version == '3.6' }} run: | diff --git a/pandapower/auxiliary.py b/pandapower/auxiliary.py index f3d057c0c..622501dc5 100644 --- a/pandapower/auxiliary.py +++ b/pandapower/auxiliary.py @@ -46,15 +46,14 @@ from .pf.no_numba import jit try: - from lightsim2grid.newtonpf import newtonpf as newtonpf_ls + lightsim2grid_available = True except ImportError: - newtonpf_ls = None + lightsim2grid_available = False try: import pplog as logging except ImportError: import logging -lightsim2grid_available = True if newtonpf_ls is not None else False logger = logging.getLogger(__name__) @@ -736,33 +735,54 @@ def _check_if_numba_is_installed(numba): return numba -def _deactive(msg): - logger.error(msg) - return False +def _check_lightsim2grid_compatibility(net, lightsim2grid, voltage_dependend_loads, algorithm, enforce_q_lims, + distributed_slack): + """ + Implement some checks to decide whether the package lightsim2grid can be used. The package implements a backend for + power flow calculation in C++ and provides a speed-up. If lightsim2grid is "auto" (default), we don't bombard the + user with messages. Otherwise, if lightsim2grid is True bus cannot be used, we inform the user abot it. + """ + if not lightsim2grid: + return False # early return :) + if not lightsim2grid_available: + if lightsim2grid != "auto": + logger.info("option 'lightsim2grid' is True but the module lightsim2grid could not be imported. " + "Falling back to pandapower implementation.") + return False + if algorithm != 'nr': # todo implement lightsim2grid dc power flow and gauss-seidel power flow + raise NotImplementedError(f"option 'lightsim2grid' is True but the algorithm {algorithm} not implemented.") + if voltage_dependend_loads: + if lightsim2grid != "auto": + logger.info("option 'lightsim2grid' is True and voltage-dependent loads detected. Falling back to " + "pandapower implementation") + return False + #if enforce_q_lims: + # not valid: the way you enforce the q_limits in pandapower is to loop and perform successive calls to the + # newtonpf function, in this case using the lightsim2grid equivalent is perfectly fine. You CAN use + # lightsim2grid newtonpf function in this case. + # logger.info("option 'lightsim2grid' is True and enforce_q_lims is True. Falling back to pandapower " + # "implementation") + # return False + if len(net.ext_grid) > 1 and not distributed_slack: + # lightsim2grid implements distributed_slack similarly to pandapower, but does not accept multiple slacks + # otherwise + if lightsim2grid != "auto": + logger.info("option 'lightsim2grid' is True and multiple ext_grids are found. Falling back to " + "pandapower implementation.") + return False + # if np.any(net.gen.bus.isin(net.ext_grid.bus)): + # # not valid: actually it's even the exact opposite. In lightsim2grid, only the generators are considered + # # as slack buses. There is no concept of "ext_grid" in lightsim2grid. And by the way, this is not + # # relevant + # # when using the newtonpf function, ext_grid and generators with slack bus are handled before that when + # # defining the pv , pq and ref index vectors (used in newtonpf). You CAN use lightsim2grid newtonpf + # # function in this case. + # logger.info("option 'lightsim2grid' is True and gen elements were found at slack buses. Falling back " + # "to pandapower implementation") + # return False -def _check_lightsim2grid_compatibility(net, lightsim2grid, voltage_dependend_loads, algorithm, - enforce_q_lims): - if lightsim2grid: - if not lightsim2grid_available: - return _deactive("option 'lightsim2grid' is True activates but module cannot be " - "imported. lightsim2grid gets deactivet.") - if algorithm != 'nr': - raise ValueError("option 'lightsim2grid' is True activates but algorithm is not 'nr'.") - if voltage_dependend_loads: - return _deactive("option 'lightsim2grid' is True but voltage dependend loads are in " - "your grid. lightsim2grid gets deactivet.") - if enforce_q_lims: - return _deactive("option 'lightsim2grid' is True and enforce_q_lims is True. This is " - "not supported. lightsim2grid gets deactivet.") - if len(net.ext_grid) > 1: - return _deactive("option 'lightsim2grid' is True and multiple ext_grids are in the " - "grid. lightsim2grid gets deactivet.") - if np.any(net.gen.bus.isin(net.ext_grid.bus)): - return _deactive("option 'lightsim2grid' is True and gens are at slack buses." - "lightsim2grid gets deactivet.") - - return lightsim2grid + return True # ============================================================================= @@ -968,7 +988,7 @@ def _init_runpp_options(net, algorithm, calculate_voltage_angles, init, # scipy spsolve options in NR power flow use_umfpack = kwargs.get("use_umfpack", True) permc_spec = kwargs.get("permc_spec", None) - lightsim2grid = kwargs.get("lightsim2grid", False) + lightsim2grid = kwargs.get("lightsim2grid", "auto") if "init" in overrule_options: init = overrule_options["init"] @@ -982,8 +1002,8 @@ def _init_runpp_options(net, algorithm, calculate_voltage_angles, init, or np.any(net["load"]["const_i_percent"].values)): voltage_depend_loads = False - lightsim2grid = _check_lightsim2grid_compatibility(net, lightsim2grid, voltage_depend_loads, - algorithm, enforce_q_lims) + lightsim2grid = _check_lightsim2grid_compatibility(net, lightsim2grid, voltage_depend_loads, algorithm, + enforce_q_lims, distributed_slack) ac = True mode = "pf" diff --git a/pandapower/pf/run_newton_raphson_pf.py b/pandapower/pf/run_newton_raphson_pf.py index 3afab998f..d5b0fd596 100644 --- a/pandapower/pf/run_newton_raphson_pf.py +++ b/pandapower/pf/run_newton_raphson_pf.py @@ -27,9 +27,9 @@ try: from lightsim2grid.newtonpf import newtonpf as newton_ls - lightsim2grid_available = True except ImportError: + newton_ls = None lightsim2grid_available = False diff --git a/pandapower/run.py b/pandapower/run.py index 600989a78..add20bf5f 100644 --- a/pandapower/run.py +++ b/pandapower/run.py @@ -39,7 +39,7 @@ def set_user_pf_options(net, overwrite=False, **kwargs): 'recycle', 'voltage_depend_loads', 'consider_line_temperature', 'delta', 'trafo3w_losses', 'init_vm_pu', 'init_va_degree', 'init_results', 'tolerance_mva', 'trafo_loading', 'numba', 'ac', 'algorithm', - 'max_iteration', 'v_debug', 'run_control', 'distributed_slack'] + 'max_iteration', 'v_debug', 'run_control', 'distributed_slack', 'lightsim2grid'] if overwrite or 'user_pf_options' not in net.keys(): net['user_pf_options'] = dict() @@ -159,6 +159,8 @@ def runpp(net, algorithm='nr', calculate_voltage_angles="auto", init="auto", **KWARGS**: + **lightsim2grid** ((bool,str), "auto") - whether to use the package lightsim2grid for power flow backend + **numba** (bool, True) - Activation of numba JIT compiler in the newton solver If set to True, the numba JIT compiler is used to generate matrices for the powerflow, From 2259844a14857225ecda6510ec9c2886022faee3 Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Thu, 20 Jan 2022 21:22:10 +0100 Subject: [PATCH 380/422] lightsim2grid: use the options value to determine whether to use lightsim2grid --- pandapower/pf/run_newton_raphson_pf.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/pandapower/pf/run_newton_raphson_pf.py b/pandapower/pf/run_newton_raphson_pf.py index d5b0fd596..401780280 100644 --- a/pandapower/pf/run_newton_raphson_pf.py +++ b/pandapower/pf/run_newton_raphson_pf.py @@ -26,11 +26,9 @@ pass try: - from lightsim2grid.newtonpf import newtonpf as newton_ls - lightsim2grid_available = True + from lightsim2grid.newtonpf import newtonpf_new as newton_ls except ImportError: newton_ls = None - lightsim2grid_available = False def _run_newton_raphson_pf(ppci, options): @@ -151,8 +149,8 @@ def _run_ac_pf_without_qlims_enforced(ppci, options): # run the newton power flow - if lightsim2grid_available: - V, success, iterations, J, Vm_it, Va_it = newton_ls(Ybus, Sbus, V0, pv, pq, ppci, options) + if options["lightsim2grid"]: + V, success, iterations, J, Vm_it, Va_it = newton_ls(Ybus, Sbus, V0, ref, pv, pq, ppci, options) else: V, success, iterations, J, Vm_it, Va_it = newtonpf(Ybus, Sbus, V0, ref, pv, pq, ppci, options) From 0ed1eaf5fbfe00fde099575977fd138bfe6cfc13 Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Thu, 20 Jan 2022 21:43:16 +0100 Subject: [PATCH 381/422] lightsim2grid: use the options value to determine whether to use lightsim2grid --- pandapower/auxiliary.py | 1 + 1 file changed, 1 insertion(+) diff --git a/pandapower/auxiliary.py b/pandapower/auxiliary.py index 622501dc5..c189e8a5d 100644 --- a/pandapower/auxiliary.py +++ b/pandapower/auxiliary.py @@ -46,6 +46,7 @@ from .pf.no_numba import jit try: + import lightsim2grid.newtonpf_new as newtonpf_ls lightsim2grid_available = True except ImportError: lightsim2grid_available = False From e2d81bfb408b396c70eeb6ee14a1341333e76621 Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Thu, 20 Jan 2022 21:53:51 +0100 Subject: [PATCH 382/422] lightsim2grid: add opton lightsim2grid=False to runpp_3ph --- pandapower/pf/runpp_3ph.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandapower/pf/runpp_3ph.py b/pandapower/pf/runpp_3ph.py index 5122f8e3a..10cb51028 100644 --- a/pandapower/pf/runpp_3ph.py +++ b/pandapower/pf/runpp_3ph.py @@ -407,7 +407,7 @@ def runpp_3ph(net, calculate_voltage_angles=True, init="auto", _add_pf_options(net, tolerance_mva=tolerance_mva, trafo_loading=trafo_loading, numba=numba, ac=ac, algorithm="nr", max_iteration=max_iteration,\ only_v_results=only_v_results,v_debug=v_debug, use_umfpack=use_umfpack, - permc_spec=permc_spec) + permc_spec=permc_spec, lightsim2grid=False) net._options.update(overrule_options) _check_bus_index_and_print_warning_if_high(net) _check_gen_index_and_print_warning_if_high(net) From d5c3b31e32dcde0002a01e36e7c647d3d0a2e471 Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Thu, 20 Jan 2022 21:58:49 +0100 Subject: [PATCH 383/422] lightsim2grid: bugfix --- pandapower/auxiliary.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandapower/auxiliary.py b/pandapower/auxiliary.py index c189e8a5d..019e76e9a 100644 --- a/pandapower/auxiliary.py +++ b/pandapower/auxiliary.py @@ -46,7 +46,7 @@ from .pf.no_numba import jit try: - import lightsim2grid.newtonpf_new as newtonpf_ls + from lightsim2grid.newtonpf import newtonpf_new as newtonpf_ls lightsim2grid_available = True except ImportError: lightsim2grid_available = False From 842d665460236a4ccbc976fcb0acaf2a39b09bd7 Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Fri, 21 Jan 2022 11:17:48 +0100 Subject: [PATCH 384/422] lightsim2grid: bugfix in check for lightsim2grid, also use new newtonpf for distributed_slack only. this reduced the number of failing tests but still WIP --- pandapower/auxiliary.py | 2 ++ pandapower/pf/run_newton_raphson_pf.py | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/pandapower/auxiliary.py b/pandapower/auxiliary.py index 019e76e9a..7c75bec08 100644 --- a/pandapower/auxiliary.py +++ b/pandapower/auxiliary.py @@ -752,6 +752,8 @@ def _check_lightsim2grid_compatibility(net, lightsim2grid, voltage_dependend_loa "Falling back to pandapower implementation.") return False if algorithm != 'nr': # todo implement lightsim2grid dc power flow and gauss-seidel power flow + if lightsim2grid == "auto": + return False raise NotImplementedError(f"option 'lightsim2grid' is True but the algorithm {algorithm} not implemented.") if voltage_dependend_loads: if lightsim2grid != "auto": diff --git a/pandapower/pf/run_newton_raphson_pf.py b/pandapower/pf/run_newton_raphson_pf.py index 401780280..886b9d23e 100644 --- a/pandapower/pf/run_newton_raphson_pf.py +++ b/pandapower/pf/run_newton_raphson_pf.py @@ -26,7 +26,7 @@ pass try: - from lightsim2grid.newtonpf import newtonpf_new as newton_ls + from lightsim2grid.newtonpf import newtonpf_new as newton_ls, newtonpf_old as newton_ls_old except ImportError: newton_ls = None @@ -149,7 +149,9 @@ def _run_ac_pf_without_qlims_enforced(ppci, options): # run the newton power flow - if options["lightsim2grid"]: + if options["lightsim2grid"] and not options["distributed_slack"]: + V, success, iterations, J, Vm_it, Va_it = newton_ls_old(Ybus, Sbus, V0, pv, pq, ppci, options) + elif options["lightsim2grid"]: V, success, iterations, J, Vm_it, Va_it = newton_ls(Ybus, Sbus, V0, ref, pv, pq, ppci, options) else: V, success, iterations, J, Vm_it, Va_it = newtonpf(Ybus, Sbus, V0, ref, pv, pq, ppci, options) From 3603dff7cbce475aee63fb7412292e29081f5dee Mon Sep 17 00:00:00 2001 From: Sebastian Elias <77836184+elodin@users.noreply.github.com> Date: Fri, 21 Jan 2022 15:29:17 +0100 Subject: [PATCH 385/422] minor linting corrections --- pandapower/std_types.py | 68 +++++++++++++++++++++-------------------- 1 file changed, 35 insertions(+), 33 deletions(-) diff --git a/pandapower/std_types.py b/pandapower/std_types.py index 9183e75a2..31d6b302e 100644 --- a/pandapower/std_types.py +++ b/pandapower/std_types.py @@ -19,11 +19,12 @@ def create_std_type(net, data, name, element="line", overwrite=True, check_requi """ Creates type data in the type database. The parameters that are used for the loadflow have to be at least contained in data. These parameters are: - + - c_nf_per_km, r_ohm_per_km, x_ohm_per_km and max_i_ka (for lines) - sn_mva, vn_hv_kv, vn_lv_kv, vk_percent, vkr_percent, pfe_kw, i0_percent, shift_degree* (for transformers) - - 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* (for 3-winding-transformers) - + - 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* (for 3-winding-transformers) + additional parameters can be added and later loaded into pandapower with the function "parameter_from_std_type". @@ -67,8 +68,8 @@ def create_std_type(net, data, name, element="line", overwrite=True, check_requi "tap_step_degree": 0, "tap_step_percent": 2.5, "tap_phase_shifter": False, - "vk0_percent": 6, - "vkr0_percent": 0.78125, + "vk0_percent": 6, + "vkr0_percent": 0.78125, "mag0_percent": 100, "mag0_rx": 0., "si0_hv_partial": 0.9,}, name='Unsymmetric_trafo_type', element="trafo") @@ -161,6 +162,7 @@ def load_std_type(net, name, element="line"): else: raise UserWarning("Unknown standard %s type %s" % (element, name)) + def check_entry_in_std_type(param, entry, else_val): return param[entry] if entry in param else else_val @@ -318,13 +320,13 @@ def find_std_type_by_parameter(net, data, element="line", epsilon=0.): def add_zero_impedance_parameters(net): """ Adds all parameters required for zero sequence impedance calculations. - + INPUT: **net** - pandapower network - + zero sequence parameters of lines and transformers in pandapower networks - are entered using std_type. - + are entered using std_type. + This function adds them to the pandas dataframe @@ -764,36 +766,36 @@ def add_basic_std_types(net): # quad bundle conductor. The c values are estimated. "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": alpha_al}, + "r_ohm_per_km": 0.059, + "x_ohm_per_km": 0.285, + "max_i_ka": 0.96, + "type": "ol", + "q_mm2": 490, + "alpha": alpha_al}, "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.150, - "type": "ol", - "q_mm2": 679, - "alpha": alpha_al}, + "r_ohm_per_km": 0.042, + "x_ohm_per_km": 0.275, + "max_i_ka": 1.150, + "type": "ol", + "q_mm2": 679, + "alpha": alpha_al}, "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": alpha_al}, + "r_ohm_per_km": 0.059, + "x_ohm_per_km": 0.253, + "max_i_ka": 0.96, + "type": "ol", + "q_mm2": 490, + "alpha": alpha_al}, "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.150, - "type": "ol", - "q_mm2": 679, - "alpha": alpha_al} + "r_ohm_per_km": 0.042, + "x_ohm_per_km": 0.25, + "max_i_ka": 1.150, + "type": "ol", + "q_mm2": 679, + "alpha": alpha_al} } create_std_types(net, data=linetypes, element="line") From 4c3e6e975b61ceabae02af76014206d51dfaf5b8 Mon Sep 17 00:00:00 2001 From: Sebastian Elias <77836184+elodin@users.noreply.github.com> Date: Fri, 21 Jan 2022 15:37:44 +0100 Subject: [PATCH 386/422] adding ext_grid zero seq. params to add_zero_impedance_parameters() --- pandapower/std_types.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pandapower/std_types.py b/pandapower/std_types.py index 31d6b302e..b5c298294 100644 --- a/pandapower/std_types.py +++ b/pandapower/std_types.py @@ -344,6 +344,12 @@ def add_zero_impedance_parameters(net): parameter_from_std_type(net, "x0_ohm_per_km") parameter_from_std_type(net, "endtemp_degree") + # add zero seq. parameters for ext_grid + net.ext_grid['s_sc_max_mva'] = None + net.ext_grid['rx_max'] = None + net.ext_grid['x0x_max'] = None + net.ext_grid['r0x0_max'] = None + def add_temperature_coefficient(net, fill=None): """ From e843a1d7ac1adc5817cf40021971fa444730b063 Mon Sep 17 00:00:00 2001 From: Sebastian Elias <77836184+elodin@users.noreply.github.com> Date: Fri, 21 Jan 2022 15:48:50 +0100 Subject: [PATCH 387/422] apply standard values to ext_grid zero seq. params since there are no std_types for external grids, add_zero_impedance_parameters() will now apply standard values when adding the columns --- pandapower/std_types.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/pandapower/std_types.py b/pandapower/std_types.py index b5c298294..19de6e507 100644 --- a/pandapower/std_types.py +++ b/pandapower/std_types.py @@ -344,11 +344,15 @@ def add_zero_impedance_parameters(net): parameter_from_std_type(net, "x0_ohm_per_km") parameter_from_std_type(net, "endtemp_degree") - # add zero seq. parameters for ext_grid - net.ext_grid['s_sc_max_mva'] = None - net.ext_grid['rx_max'] = None - net.ext_grid['x0x_max'] = None - net.ext_grid['r0x0_max'] = None + # add zero seq. parameters for ext_grid and apply standard values + if 's_sc_max_mva' not in net.ext_grid.columns: + net.ext_grid['s_sc_max_mva'] = 1000 + if 'rx_max' not in net.ext_grid.columns: + net.ext_grid['rx_max'] = 0.1 + if 'x0x_max' not in net.ext_grid.columns: + net.ext_grid['x0x_max'] = 1 + if 'r0x0_max' not in net.ext_grid.columns: + net.ext_grid['r0x0_max'] = 0.1 def add_temperature_coefficient(net, fill=None): From ae143d1ffdca41b27c1a636eb4dade532f9ba40e Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Mon, 24 Jan 2022 18:22:39 +0100 Subject: [PATCH 388/422] WIP: add np.sum for Ybus --- pandapower/pf/run_newton_raphson_pf.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pandapower/pf/run_newton_raphson_pf.py b/pandapower/pf/run_newton_raphson_pf.py index 886b9d23e..f52cdb745 100644 --- a/pandapower/pf/run_newton_raphson_pf.py +++ b/pandapower/pf/run_newton_raphson_pf.py @@ -6,7 +6,7 @@ from time import perf_counter -from numpy import flatnonzero as find, r_, zeros, argmax, setdiff1d, union1d, any, int32 +from numpy import flatnonzero as find, r_, zeros, argmax, setdiff1d, union1d, any, int32, sum as np_sum, abs as np_abs from pandapower.pf.ppci_variables import _get_pf_variables_from_ppci, _store_results_from_pf_in_ppci from pandapower.pf.run_dc_pf import _run_dc_pf @@ -149,6 +149,7 @@ def _run_ac_pf_without_qlims_enforced(ppci, options): # run the newton power flow + _ = np_sum(np_abs(Ybus)) if options["lightsim2grid"] and not options["distributed_slack"]: V, success, iterations, J, Vm_it, Va_it = newton_ls_old(Ybus, Sbus, V0, pv, pq, ppci, options) elif options["lightsim2grid"]: From 6f30d751659db030f5b8e5718f6e2394fc91601d Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Wed, 26 Jan 2022 11:06:21 +0100 Subject: [PATCH 389/422] WIP: todo: add test and fix overrule_parameters with kwargs --- pandapower/test/api/test_diagnostic.py | 5 +++-- pandapower/test/loadflow/test_runpp.py | 3 +++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/pandapower/test/api/test_diagnostic.py b/pandapower/test/api/test_diagnostic.py index f9103fadd..2e9a5562c 100644 --- a/pandapower/test/api/test_diagnostic.py +++ b/pandapower/test/api/test_diagnostic.py @@ -1004,7 +1004,8 @@ def test_deviation_from_std_type(test_net, diag_params, diag_errors, report_meth report_check = False assert report_check -@pytest.mark.skipif(numba_installed==False, reason="requires numba") + +@pytest.mark.skipif(not numba_installed, reason="requires numba") def test_numba_comparison(test_net, diag_params, diag_errors, report_methods): net = copy.deepcopy(test_net) check_function = 'numba_comparison' @@ -1013,7 +1014,7 @@ def test_numba_comparison(test_net, diag_params, diag_errors, report_methods): if check_result: diag_results = {check_function: check_result} else: - diag_results = {} + diag_results = {check_function: {}} for element_type in diag_results[check_function]: check_results = diag_results[check_function] for result_type in check_results[element_type]: diff --git a/pandapower/test/loadflow/test_runpp.py b/pandapower/test/loadflow/test_runpp.py index 084a35ad2..03f11b6d8 100644 --- a/pandapower/test/loadflow/test_runpp.py +++ b/pandapower/test/loadflow/test_runpp.py @@ -80,6 +80,9 @@ def test_set_user_pf_options(): assert net._options['tolerance_mva'] == 1e-2 assert net._options['max_iteration'] == 20 + # todo check if kwargs also work with user_pf_options + + def test_kwargs_with_user_options(): net = example_simple() From ba056d5f9b5eff0633b2982b5cbb93fc8be2594d Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Sun, 30 Jan 2022 14:46:25 +0100 Subject: [PATCH 390/422] bugfix for user_pf_options and passed_parameters when kwargs were ignored --- pandapower/run.py | 27 ++++++++++++++------------ pandapower/test/loadflow/test_runpp.py | 6 ++++++ 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/pandapower/run.py b/pandapower/run.py index 600989a78..420ee9071 100644 --- a/pandapower/run.py +++ b/pandapower/run.py @@ -202,10 +202,9 @@ def runpp(net, algorithm='nr', calculate_voltage_angles="auto", init="auto", """ - # if dict 'user_pf_options' is present in net, these options overrule the net.__internal_options + # if dict 'user_pf_options' is present in net, these options overrule the net._options # except for parameters that are passed by user - recycle = kwargs.get("recycle", None) - if isinstance(recycle, dict) and _internal_stored(net): + if isinstance(kwargs.get("recycle", None), dict) and _internal_stored(net): _recycled_powerflow(net, **kwargs) return @@ -423,17 +422,21 @@ def _passed_runpp_parameters(local_parameters): :return: dictionary of explicitly passed parameters """ net = local_parameters.pop("net") - if not ("user_pf_options" in net.keys() and len(net.user_pf_options) > 0): + if "user_pf_options" not in net.keys() or len(net.user_pf_options) == 0: return None - try: - default_parameters = {k: v.default for k, v in inspect.signature(runpp).parameters.items()} - except: - args, varargs, keywords, defaults = inspect.getfullargspec(runpp) - default_parameters = dict(zip(args[-len(defaults):], defaults)) - default_parameters.update({"init": "auto"}) - + # default_parameters contains the parameters that are specified for the runpp function by default in its definition + args, varargs, keywords, defaults, *_ = inspect.getfullargspec(runpp) + default_parameters = dict(zip(args[1:], defaults)) + + # we want to also include the parameters that are optional (passed in "kwargs")! + # that is why we include the parameters that are also not in default_parameters + # maybe the part "if key not in default_parameters.keys()" is redundant, idk + kwargs_parameters = local_parameters.pop('kwargs', None) passed_parameters = { key: val for key, val in local_parameters.items() - if key in default_parameters.keys() and val != default_parameters.get(key, None)} + if key not in default_parameters.keys() or val != default_parameters.get(key, None)} + # passed_parameters should have the "kwargs" parameters in the same level as other parameters + # (not nested in "kwargs: {...}") for them to be considered later on, otherwise they will be ignored + passed_parameters.update(kwargs_parameters) return passed_parameters diff --git a/pandapower/test/loadflow/test_runpp.py b/pandapower/test/loadflow/test_runpp.py index 084a35ad2..ece2838e5 100644 --- a/pandapower/test/loadflow/test_runpp.py +++ b/pandapower/test/loadflow/test_runpp.py @@ -89,6 +89,12 @@ def test_kwargs_with_user_options(): pp.runpp(net) assert net._options["trafo3w_losses"] == "lv" + # check providing the kwargs options in runpp overrides user_pf_options + pp.set_user_pf_options(net, init_vm_pu="results") + pp.runpp(net, init_vm_pu="flat") + assert net.user_pf_options["init_vm_pu"] == "results" + assert net._options["init_vm_pu"] == "flat" + @pytest.mark.xfail(reason="Until now there was no way found to dynamically identify " "the arguments passed to runpp, so if the user options are " From 2b3fa4fc32f1855b7273284f97b07abd4fdd9b96 Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Sun, 30 Jan 2022 15:38:41 +0100 Subject: [PATCH 391/422] pep8 --- pandapower/test/loadflow/test_runpp.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/pandapower/test/loadflow/test_runpp.py b/pandapower/test/loadflow/test_runpp.py index a689b5e95..ece2838e5 100644 --- a/pandapower/test/loadflow/test_runpp.py +++ b/pandapower/test/loadflow/test_runpp.py @@ -80,9 +80,6 @@ def test_set_user_pf_options(): assert net._options['tolerance_mva'] == 1e-2 assert net._options['max_iteration'] == 20 - # todo check if kwargs also work with user_pf_options - - def test_kwargs_with_user_options(): net = example_simple() From 32fc4030f828c4df8f75cfac87c0b746c8cb8d2d Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Sun, 30 Jan 2022 16:53:02 +0100 Subject: [PATCH 392/422] added sort_indices() and eliminte_zeros() for Ybus so that it doesn't mess with lightsim2grid, also passing Ybus in csc format via Ybus.tocsc(). Should be adjusted to initialize it in csc already when using lightsim2grid (especially when using numba) --- pandapower/pf/run_newton_raphson_pf.py | 5 ++--- pandapower/pypower/makeYbus.py | 2 ++ 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/pandapower/pf/run_newton_raphson_pf.py b/pandapower/pf/run_newton_raphson_pf.py index f52cdb745..bc87585dd 100644 --- a/pandapower/pf/run_newton_raphson_pf.py +++ b/pandapower/pf/run_newton_raphson_pf.py @@ -149,11 +149,10 @@ def _run_ac_pf_without_qlims_enforced(ppci, options): # run the newton power flow - _ = np_sum(np_abs(Ybus)) if options["lightsim2grid"] and not options["distributed_slack"]: - V, success, iterations, J, Vm_it, Va_it = newton_ls_old(Ybus, Sbus, V0, pv, pq, ppci, options) + V, success, iterations, J, Vm_it, Va_it = newton_ls_old(Ybus.tocsc(), Sbus, V0, pv, pq, ppci, options) elif options["lightsim2grid"]: - V, success, iterations, J, Vm_it, Va_it = newton_ls(Ybus, Sbus, V0, ref, pv, pq, ppci, options) + V, success, iterations, J, Vm_it, Va_it = newton_ls(Ybus.tocsc(), Sbus, V0, ref, pv, pq, ppci, options) else: V, success, iterations, J, Vm_it, Va_it = newtonpf(Ybus, Sbus, V0, ref, pv, pq, ppci, options) diff --git a/pandapower/pypower/makeYbus.py b/pandapower/pypower/makeYbus.py index 28026e8fb..6b226357a 100644 --- a/pandapower/pypower/makeYbus.py +++ b/pandapower/pypower/makeYbus.py @@ -71,6 +71,8 @@ def makeYbus(baseMVA, bus, branch): ## build Ybus Ybus = Cf.T * Yf + Ct.T * Yt + \ csr_matrix((Ysh, (range(nb), range(nb))), (nb, nb)) + Ybus.sort_indices() + Ybus.eliminate_zeros() return Ybus, Yf, Yt From ceeebaa3d6927c7cf4f70e159f3eb3bcbc706707 Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Sun, 30 Jan 2022 18:52:05 +0100 Subject: [PATCH 393/422] WIP tests: tol->atol, change small things --- pandapower/test/api/test_toolbox.py | 4 ++-- pandapower/test/converter/test_from_ppc.py | 6 +++--- pandapower/test/loadflow/test_recycle.py | 3 ++- pandapower/test/loadflow/test_runpp.py | 6 ++++-- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/pandapower/test/api/test_toolbox.py b/pandapower/test/api/test_toolbox.py index be16865ad..9de1031cd 100644 --- a/pandapower/test/api/test_toolbox.py +++ b/pandapower/test/api/test_toolbox.py @@ -162,8 +162,8 @@ def test_nets_equal(): # not detecting alternated value if difference is beyond tolerance net["load"]["p_mw"][net["load"].index[0]] += 0.0001 - assert tb.nets_equal(original, net, tol=0.1) - assert tb.nets_equal(net, original, tol=0.1) + assert tb.nets_equal(original, net, atol=0.1) + assert tb.nets_equal(net, original, atol=0.1) def test_clear_result_tables(): diff --git a/pandapower/test/converter/test_from_ppc.py b/pandapower/test/converter/test_from_ppc.py index 1598b5478..f0f1eb403 100644 --- a/pandapower/test/converter/test_from_ppc.py +++ b/pandapower/test/converter/test_from_ppc.py @@ -53,7 +53,7 @@ def test_from_ppc(): assert len(net_by_ppc.bus) == len(net_by_code.bus) assert len(net_by_ppc.trafo) == len(net_by_code.trafo) assert len(net_by_ppc.ext_grid) == len(net_by_code.ext_grid) - assert pp.nets_equal(net_by_ppc, net_by_code, check_only_results=True, tol=1.e-9) + assert pp.nets_equal(net_by_ppc, net_by_code, check_only_results=True, atol=1e-9) def test_validate_from_ppc(): @@ -110,12 +110,12 @@ def test_case9_conversion(): # compare loadflow results pp.runpp(net) pp.runpp(net2) - assert pp.nets_equal(net, net2, check_only_results=True, tol=1e-10) + assert pp.nets_equal(net, net2, check_only_results=True, atol=1e-10) # compare optimal powerflow results pp.runopp(net, delta=1e-16) pp.runopp(net2, delta=1e-16) - assert pp.nets_equal(net, net2, check_only_results=True, tol=1e-10) + assert pp.nets_equal(net, net2, check_only_results=True, atol=1e-10) @pytest.mark.skipif(pypower_installed == False, reason="needs pypower installation") diff --git a/pandapower/test/loadflow/test_recycle.py b/pandapower/test/loadflow/test_recycle.py index 137c296b8..39665644f 100644 --- a/pandapower/test/loadflow/test_recycle.py +++ b/pandapower/test/loadflow/test_recycle.py @@ -125,6 +125,7 @@ def test_recycle_trafo_bus_gen(recycle_net): def test_result_index_unsorted(): net = pp.create_empty_network() + pp.set_user_pf_options(net, tolerance_mva=1e-9) b1 = pp.create_bus(net, vn_kv=0.4, index=4) b2 = pp.create_bus(net, vn_kv=0.4, index=2) @@ -141,7 +142,7 @@ def test_result_index_unsorted(): pp.runpp(net_recycle, recycle=dict(trafo=True, bus_pq=True, gen=True)) pp.runpp(net) - assert nets_equal(net, net_recycle, tol=1e-12) + assert nets_equal(net, net_recycle, atol=1e-12) if __name__ == "__main__": diff --git a/pandapower/test/loadflow/test_runpp.py b/pandapower/test/loadflow/test_runpp.py index ece2838e5..037a84738 100644 --- a/pandapower/test/loadflow/test_runpp.py +++ b/pandapower/test/loadflow/test_runpp.py @@ -813,10 +813,12 @@ def test_get_internal(): pvpq = np.r_[pv, pq] dist_slack = False + slack_weights = np.zeros(shape=V.shape) + slack_weights[ref] = 1 - J = _create_J_without_numba(Ybus, V, ref, pvpq, pq, slack_weights=None, dist_slack=False) + J = _create_J_without_numba(Ybus, V, ref, pvpq, pq, slack_weights=slack_weights, dist_slack=dist_slack) - assert sum(sum(abs(abs(J.toarray()) - abs(J_intern.toarray())))) < 0.05 + assert np.allclose(J.toarray(), J_intern.toarray(), atol=1e-4, rtol=0) # get J for all other algorithms From 3c0ed0194594055d826c7de87e3727187a341378 Mon Sep 17 00:00:00 2001 From: sdrauz Date: Mon, 31 Jan 2022 09:27:23 +0100 Subject: [PATCH 394/422] deprecation warnings in pandas --- pandapower/control/util/auxiliary.py | 15 +++++++++------ pandapower/create.py | 3 ++- pandapower/results.py | 2 +- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/pandapower/control/util/auxiliary.py b/pandapower/control/util/auxiliary.py index 4b50c6de2..34534f90e 100644 --- a/pandapower/control/util/auxiliary.py +++ b/pandapower/control/util/auxiliary.py @@ -3,9 +3,9 @@ # Copyright (c) 2016-2022 by University of Kassel and Fraunhofer Institute for Energy Economics # and Energy System Technology (IEE), Kassel. All rights reserved. import sys + import numpy as np -import pandas as pd -from pandas import Int64Index, Series +from pandas import Index, Series from pandapower.auxiliary import soft_dependency_error from pandapower.toolbox import ensure_iterability @@ -13,6 +13,7 @@ try: import matplotlib.pyplot as plt + MATPLOTLIB_INSTALLED = True except ImportError: MATPLOTLIB_INSTALLED = False @@ -88,7 +89,7 @@ def _controller_attributes_query(controller, parameters): if complete_match and not element_index_match: intersect_elms = set(ensure_iterability(controller.__getattribute__("element_index"))) & \ - set(ensure_iterability(parameters["element_index"])) + set(ensure_iterability(parameters["element_index"])) if len(intersect_elms): logger.info("'element_index' has an intersection of " + str(intersect_elms) + " with Controller %i" % controller.index) @@ -127,7 +128,7 @@ def get_controller_index(net, ctrl_type=None, parameters=None, idx=[]): attributes_keys = list(set(parameters.keys()) - set(df_keys)) attributes_dict = {k: parameters[k] for k in attributes_keys} # query of parameters in net.controller dataframe - idx = Int64Index(idx) + idx = Index(idx, dtype=np.int64) for df_key in df_keys: idx = idx.intersection(net.controller.index[net.controller[df_key] == parameters[df_key]]) # query of parameters in controller object attributes @@ -200,7 +201,7 @@ def drop_same_type_existing_controllers(net, this_ctrl_type, index=None, matchin def plot_characteristic(characteristic, start, stop, num=20, xlabel=None, ylabel=None): if not MATPLOTLIB_INSTALLED: - soft_dependency_error(str(sys._getframe().f_code.co_name)+"()", "matplotlib") + soft_dependency_error(str(sys._getframe().f_code.co_name) + "()", "matplotlib") x = np.linspace(start, stop, num) y = characteristic(x) plt.plot(x, y, marker='x') @@ -209,12 +210,14 @@ def plot_characteristic(characteristic, start, stop, num=20, xlabel=None, ylabel if ylabel is not None: plt.ylabel(ylabel) + def create_trafo_characteristics(net, trafotable, trafo_index, variable, x_points, y_points): # create characteristics for the specified variable and set their indices in the trafo table col = f"{variable}_characteristic" # check if the variable is a valid attribute of the trafo table supported_columns = {"trafo": ["vk_percent_characteristic", "vkr_percent_characteristic"], - "trafo3w": [f"vk{r}_{side}_percent_characteristic" for side in ["hv", "mv", "lv"] for r in ["", "r"]]} + "trafo3w": [f"vk{r}_{side}_percent_characteristic" for side in ["hv", "mv", "lv"] for r in + ["", "r"]]} if col not in supported_columns[trafotable]: raise UserWarning("Variable %s is not supported for table %s" % (variable, trafotable)) diff --git a/pandapower/create.py b/pandapower/create.py index 5c81ce776..318fd8806 100644 --- a/pandapower/create.py +++ b/pandapower/create.py @@ -15,6 +15,7 @@ from pandapower.auxiliary import pandapowerNet, get_free_id, _preserve_dtypes from pandapower.results import reset_results from pandapower.std_types import add_basic_std_types, load_std_type, check_entry_in_std_type +import numpy as np try: import pplog as logging @@ -514,7 +515,7 @@ def create_empty_network(name="", f_hz=50., sn_mva=1, add_stdtypes=True): for s in net: if isinstance(net[s], list): - net[s] = pd.DataFrame(zeros(0, dtype=net[s]), index=pd.Int64Index([])) + net[s] = pd.DataFrame(zeros(0, dtype=net[s]), index=pd.Index([], dtype=np.int64)) if add_stdtypes: add_basic_std_types(net) else: diff --git a/pandapower/results.py b/pandapower/results.py index 636d1b289..09da388ce 100644 --- a/pandapower/results.py +++ b/pandapower/results.py @@ -108,7 +108,7 @@ def empty_res_element(net, element, suffix=None): if res_empty_element in net: net[res_element] = net[res_empty_element].copy() else: - net[res_element] = pd.DataFrame(index=pd.Int64Index([])) + net[res_element] = pd.DataFrame(index=pd.Index([], dtype=np.int64)) def init_element(net, element, suffix=None): From bfe6b63a5972ad763261268493c0a7c1daf268f6 Mon Sep 17 00:00:00 2001 From: sdrauz Date: Mon, 31 Jan 2022 09:49:25 +0100 Subject: [PATCH 395/422] deprecation warnings in pandas --- pandapower/create.py | 2 +- pandapower/io_utils.py | 18 +++++++++++++----- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/pandapower/create.py b/pandapower/create.py index 318fd8806..4d26c25db 100644 --- a/pandapower/create.py +++ b/pandapower/create.py @@ -3920,7 +3920,7 @@ def _add_multiple_branch_geodata(net, table, geodata, index): df["coords"] = geodata if version.parse(pd.__version__) >= version.parse("0.23"): - net[geo_table] = net[geo_table].append(df, sort=False) + net[geo_table] = pd.concat([net[geo_table],df], sort=False) else: # prior to pandas 0.23 there was no explicit parameter (instead it was standard behavior) net[geo_table] = net[geo_table].append(df) diff --git a/pandapower/io_utils.py b/pandapower/io_utils.py index 419760aa0..64234921c 100644 --- a/pandapower/io_utils.py +++ b/pandapower/io_utils.py @@ -15,6 +15,7 @@ from functools import partial from inspect import isclass, _findclass from warnings import warn +import numpy as np import networkx import numpy @@ -28,24 +29,29 @@ except ImportError: from pandas.util.testing import assert_series_equal, assert_frame_equal -from pandapower.auxiliary import pandapowerNet, get_free_id +from pandapower.auxiliary import get_free_id + try: from cryptography.fernet import Fernet + cryptography_INSTALLED = True except ImportError: cryptography_INSTALLED = False try: import hashlib + hashlib_INSTALLED = True except ImportError: hashlib_INSTALLED = False try: import base64 + base64_INSTALLED = True except ImportError: base64_INSTALLED = False try: import zlib + zlib_INSTALLED = True except: zlib_INSTALLED = False @@ -63,6 +69,7 @@ import fiona import fiona.crs import geopandas + GEOPANDAS_INSTALLED = True except ImportError: GEOPANDAS_INSTALLED = False @@ -283,7 +290,7 @@ def transform_net_with_df_and_geo(net, point_geo_columns, line_geo_columns): if "columns" in df_dict: # make sure the index is Int64Index try: - df_index = pd.Int64Index(df_dict['index']) + df_index = pd.Index(df_dict['index'], dtype=np.int64) except TypeError: df_index = df_dict['index'] if GEOPANDAS_INSTALLED and "geometry" in df_dict["columns"] \ @@ -582,7 +589,7 @@ def encrypt_string(s, key, compress=True): missing_packages = numpy.array(["cryptography", "hashlib", "base64"])[~numpy.array([ cryptography_INSTALLED, hashlib_INSTALLED, base64_INSTALLED])] if len(missing_packages): - soft_dependency_error(str(sys._getframe().f_code.co_name)+"()", missing_packages) + soft_dependency_error(str(sys._getframe().f_code.co_name) + "()", missing_packages) key_base = hashlib.sha256(key.encode()) key = base64.urlsafe_b64encode(key_base.digest()) cipher_suite = Fernet(key) @@ -600,7 +607,7 @@ def decrypt_string(s, key): missing_packages = numpy.array(["cryptography", "hashlib", "base64"])[~numpy.array([ cryptography_INSTALLED, hashlib_INSTALLED, base64_INSTALLED])] if len(missing_packages): - soft_dependency_error(str(sys._getframe().f_code.co_name)+"()", missing_packages) + soft_dependency_error(str(sys._getframe().f_code.co_name) + "()", missing_packages) key_base = hashlib.sha256(key.encode()) key = base64.urlsafe_b64encode(key_base.digest()) cipher_suite = Fernet(key) @@ -931,4 +938,5 @@ def json_polygon(obj): if __name__ == '__main__': import pandapower as pp - net = pp.from_json(r'edis_zone_3_6.json') \ No newline at end of file + + net = pp.from_json(r'edis_zone_3_6.json') From 0f0de80da27c5efc112d6163150e680967c44022 Mon Sep 17 00:00:00 2001 From: sdrauz Date: Mon, 31 Jan 2022 10:03:03 +0100 Subject: [PATCH 396/422] deprecation warnings in pandas --- pandapower/create.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandapower/create.py b/pandapower/create.py index 4d26c25db..0626099b5 100644 --- a/pandapower/create.py +++ b/pandapower/create.py @@ -3962,7 +3962,7 @@ def check_entry(val): # extend the table by the frame we just created if version.parse(pd.__version__) >= version.parse("0.23"): - net[table] = net[table].append(dd, sort=False) + net[table] = pd.concat([net[table],dd], sort=False) else: # prior to pandas 0.23 there was no explicit parameter (instead it was standard behavior) net[table] = net[table].append(dd) From 216929264bb41ff254788886a59ea1564243c2e3 Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Mon, 31 Jan 2022 12:34:33 +0100 Subject: [PATCH 397/422] Update io_utils.py remove artefact from internal testing --- pandapower/io_utils.py | 5 ----- 1 file changed, 5 deletions(-) diff --git a/pandapower/io_utils.py b/pandapower/io_utils.py index 64234921c..9d17809e1 100644 --- a/pandapower/io_utils.py +++ b/pandapower/io_utils.py @@ -935,8 +935,3 @@ def json_polygon(obj): json_string = shapely.geometry.mapping(obj) d = with_signature(obj, json_string, obj_module="shapely") return d - -if __name__ == '__main__': - import pandapower as pp - - net = pp.from_json(r'edis_zone_3_6.json') From 51d784b2872147096a0c155fd99b767af81697b3 Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Mon, 31 Jan 2022 17:21:38 +0100 Subject: [PATCH 398/422] remove print in test_toolbox --- pandapower/test/api/test_toolbox.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/pandapower/test/api/test_toolbox.py b/pandapower/test/api/test_toolbox.py index be16865ad..34cc97a2f 100644 --- a/pandapower/test/api/test_toolbox.py +++ b/pandapower/test/api/test_toolbox.py @@ -1275,8 +1275,6 @@ def test_repl_to_line_with_switch(): for testindex in net.line.index: if net.line.in_service.loc[testindex]: - # todo print weg - print("testing line " + str(testindex)) line = net.line.loc[testindex] fbus = line.from_bus tbus = line.to_bus From b0830e07ba7ccfae319680e9179c9b0e7a9a99b6 Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Mon, 31 Jan 2022 20:42:38 +0100 Subject: [PATCH 399/422] change J for distributed_slack: put the slack_weights as the first column instead of the last column --- pandapower/pf/create_jacobian.py | 8 ++++---- pandapower/pf/create_jacobian_numba.py | 23 +++++++++++------------ pandapower/pypower/newtonpf.py | 11 +++++------ 3 files changed, 20 insertions(+), 22 deletions(-) diff --git a/pandapower/pf/create_jacobian.py b/pandapower/pf/create_jacobian.py index 4c70e3735..19a237f76 100644 --- a/pandapower/pf/create_jacobian.py +++ b/pandapower/pf/create_jacobian.py @@ -64,11 +64,11 @@ def _create_J_without_numba(Ybus, V, ref, pvpq, pq, slack_weights, dist_slack): J21 = dS_dVa[array([pq]).T, cols_pvpq].imag J22 = dS_dVm[array([pq]).T, pq].imag if dist_slack: - J13 = sparse(slack_weights[rows_pvpq].reshape(-1,1)) - J23 = sparse(zeros(shape=(len(pq), 1))) + J10 = sparse(slack_weights[rows_pvpq].reshape(-1,1)) + J20 = sparse(zeros(shape=(len(pq), 1))) J = vstack([ - hstack([J11, J12, J13]), - hstack([J21, J22, J23]) + hstack([J13, J11, J10]), + hstack([J23, J21, J20]) ], format="csr") else: J = vstack([ diff --git a/pandapower/pf/create_jacobian_numba.py b/pandapower/pf/create_jacobian_numba.py index a14e059c7..872721e18 100644 --- a/pandapower/pf/create_jacobian_numba.py +++ b/pandapower/pf/create_jacobian_numba.py @@ -231,6 +231,13 @@ def create_J_ds(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, refpvpq, pvpq, pq, Jx, Jj, Jp for r in range(lrefpvpq): # nnzStar is necessary to calculate nonzeros per row nnzStart = nnz + # add slack weights to the first column + if slack_weights[refpvpq[r]] > 0: + Jx[nnz] = slack_weights[refpvpq[r]] + Jj[nnz] = 0 + # if DEBUG: + # JJ[r, 0] = Jx[nnz] + nnz += 1 # iterate columns of J11 = dS_dVa.real at positions in pvpq # check entries in row pvpq[r] of dS_dV # r_start, r_end = Yp[refpvpq[r]], Yp[refpvpq[r] + 1] @@ -250,7 +257,7 @@ def create_J_ds(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, refpvpq, pvpq, pq, Jx, Jj, Jp if lookup_idx == bus_idx and not skip:# and lookup_idx in pvpq: # too slow # entry found # equals entry of J11: J[r,cc] = dVa_x[c].real - col = cc - lref + col = cc Jx[nnz] = dVa_x[c].real Jj[nnz] = col # if DEBUG: @@ -258,20 +265,12 @@ def create_J_ds(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, refpvpq, pvpq, pq, Jx, Jj, Jp nnz += 1 # if entry is found in the "pq part" of pvpq = add entry of J12 if cc >= lrefpv: - col = cc + lpq - lref + col = cc + lpq Jx[nnz] = dVm_x[c].real Jj[nnz] = col # if DEBUG: # JJ[r, col] = Jx[nnz] nnz += 1 - - # add slack weights to the last column - if slack_weights[refpvpq[r]] > 0: - Jx[nnz] = slack_weights[refpvpq[r]] - Jj[nnz] = lpvpq + lpq - # if DEBUG: - # JJ[r, lpvpq + lpq] = Jx[nnz] - nnz += 1 # Jp: number of nonzeros per row = nnz - nnzStart (nnz at begging of loop - nnz at end of loop) Jp[r + 1] = nnz - nnzStart + Jp[r] @@ -293,7 +292,7 @@ def create_J_ds(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, refpvpq, pvpq, pq, Jx, Jj, Jp if lookup_idx == bus_idx and not skip:# and lookup_idx in pvpq: # too slow # entry found # equals entry of J21: J[r + lpvpq, cc] = dVa_x[c].imag - col = cc - lref + col = cc Jx[nnz] = dVa_x[c].imag Jj[nnz] = col # if DEBUG: @@ -301,7 +300,7 @@ def create_J_ds(dVm_x, dVa_x, Yp, Yj, pvpq_lookup, refpvpq, pvpq, pq, Jx, Jj, Jp nnz += 1 # if entry is found in the "pq part" of pvpq = Add entry of J22 if cc >= lrefpv: - col = cc + lpq - lref + col = cc + lpq Jx[nnz] = dVm_x[c].imag Jj[nnz] = col # if DEBUG: diff --git a/pandapower/pypower/newtonpf.py b/pandapower/pypower/newtonpf.py index 6ac9f1062..42149a0d7 100644 --- a/pandapower/pypower/newtonpf.py +++ b/pandapower/pypower/newtonpf.py @@ -97,14 +97,13 @@ def newtonpf(Ybus, Sbus, V0, ref, pv, pq, ppci, options): nref = len(ref) npv = len(pv) npq = len(pq) - j1 = 0 - j2 = npv # j1:j2 - V angle of pv buses + j0 = 0 + j1 = nref if dist_slack else 0 + j2 = j1 + npv # j1:j2 - V angle of pv buses j3 = j2 j4 = j2 + npq # j3:j4 - V angle of pq buses j5 = j4 j6 = j4 + npq # j5:j6 - V mag of pq buses - j7 = j6 - j8 = j6 + nref # j7:j8 - slacks # make initial guess for the slack slack = (gen[:, PG].sum() - bus[:, PD].sum()) / baseMVA @@ -124,13 +123,13 @@ def newtonpf(Ybus, Sbus, V0, ref, pv, pq, ppci, options): dx = -1 * spsolve(J, F, permc_spec=permc_spec, use_umfpack=use_umfpack) # update voltage + if dist_slack: + slack = slack + dx[j0:j1] if npv and not iwamoto: Va[pv] = Va[pv] + dx[j1:j2] if npq and not iwamoto: Va[pq] = Va[pq] + dx[j3:j4] Vm[pq] = Vm[pq] + dx[j5:j6] - if dist_slack: - slack = slack + dx[j7:j8] # iwamoto multiplier to increase convergence if iwamoto: From bcb2cd22af68fc3d0094a35708d1746c59f22310 Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Mon, 31 Jan 2022 20:45:07 +0100 Subject: [PATCH 400/422] attention test lol --- pandapower/pf/create_jacobian.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pandapower/pf/create_jacobian.py b/pandapower/pf/create_jacobian.py index 19a237f76..3fb668c34 100644 --- a/pandapower/pf/create_jacobian.py +++ b/pandapower/pf/create_jacobian.py @@ -67,8 +67,8 @@ def _create_J_without_numba(Ybus, V, ref, pvpq, pq, slack_weights, dist_slack): J10 = sparse(slack_weights[rows_pvpq].reshape(-1,1)) J20 = sparse(zeros(shape=(len(pq), 1))) J = vstack([ - hstack([J13, J11, J10]), - hstack([J23, J21, J20]) + hstack([J10, J11, J12]), + hstack([J20, J21, J22]) ], format="csr") else: J = vstack([ From 54caa7409d9c6476a05c2788c742d19f802d017b Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Tue, 1 Feb 2022 11:12:46 +0100 Subject: [PATCH 401/422] changed lightsim2grid call --- pandapower/pf/run_newton_raphson_pf.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pandapower/pf/run_newton_raphson_pf.py b/pandapower/pf/run_newton_raphson_pf.py index bc87585dd..a200aa5f4 100644 --- a/pandapower/pf/run_newton_raphson_pf.py +++ b/pandapower/pf/run_newton_raphson_pf.py @@ -26,7 +26,7 @@ pass try: - from lightsim2grid.newtonpf import newtonpf_new as newton_ls, newtonpf_old as newton_ls_old + from lightsim2grid.newtonpf import newtonpf_new as newton_ls except ImportError: newton_ls = None @@ -149,9 +149,7 @@ def _run_ac_pf_without_qlims_enforced(ppci, options): # run the newton power flow - if options["lightsim2grid"] and not options["distributed_slack"]: - V, success, iterations, J, Vm_it, Va_it = newton_ls_old(Ybus.tocsc(), Sbus, V0, pv, pq, ppci, options) - elif options["lightsim2grid"]: + if options["lightsim2grid"]: V, success, iterations, J, Vm_it, Va_it = newton_ls(Ybus.tocsc(), Sbus, V0, ref, pv, pq, ppci, options) else: V, success, iterations, J, Vm_it, Va_it = newtonpf(Ybus, Sbus, V0, ref, pv, pq, ppci, options) From b8d097e56b4aec19c06b550c753309aa07193150 Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Tue, 1 Feb 2022 15:42:28 +0100 Subject: [PATCH 402/422] from_mpc.py: added the possibility to load additional variables in net.mpc_additional_data --- pandapower/converter/matpower/from_mpc.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/pandapower/converter/matpower/from_mpc.py b/pandapower/converter/matpower/from_mpc.py index 773076ceb..acaa29cad 100644 --- a/pandapower/converter/matpower/from_mpc.py +++ b/pandapower/converter/matpower/from_mpc.py @@ -51,6 +51,8 @@ def from_mpc(mpc_file, f_hz=50, casename_mpc_file='mpc', validate_conversion=Fal """ ppc = _mpc2ppc(mpc_file, casename_mpc_file) net = from_ppc(ppc, f_hz, validate_conversion) + if len(ppc["mpc_additional_data"]) != 0: + net["mpc_additional_data"] = ppc["mpc_additional_data"] return net @@ -94,6 +96,16 @@ def _copy_data_from_mpc_to_ppc(ppc, mpc, casename_mpc_file): except: logger.info('gencost is not in mpc') + additional_data = False + for k in mpc[casename_mpc_file]._fieldnames: + if k not in ppc: + additional_data = True + ppc.setdefault("mpc_additional_data", dict())[k] = getattr(mpc[casename_mpc_file], k) + + if additional_data: + logger.info('added fields %s in mpc_additional_data' % list(ppc["mpc_additional_data"].keys())) + + else: logger.error('Matfile does not contain a valid mpc structure.') From 20d8bf53d2fb5b1c6427f58cca70dfaaa54cd6ab Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Tue, 1 Feb 2022 16:07:54 +0100 Subject: [PATCH 403/422] from_mpc.py: bugfix --- pandapower/converter/matpower/from_mpc.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/pandapower/converter/matpower/from_mpc.py b/pandapower/converter/matpower/from_mpc.py index acaa29cad..3b77ee9a2 100644 --- a/pandapower/converter/matpower/from_mpc.py +++ b/pandapower/converter/matpower/from_mpc.py @@ -51,7 +51,7 @@ def from_mpc(mpc_file, f_hz=50, casename_mpc_file='mpc', validate_conversion=Fal """ ppc = _mpc2ppc(mpc_file, casename_mpc_file) net = from_ppc(ppc, f_hz, validate_conversion) - if len(ppc["mpc_additional_data"]) != 0: + if "mpc_additional_data" in ppc: net["mpc_additional_data"] = ppc["mpc_additional_data"] return net @@ -96,16 +96,13 @@ def _copy_data_from_mpc_to_ppc(ppc, mpc, casename_mpc_file): except: logger.info('gencost is not in mpc') - additional_data = False for k in mpc[casename_mpc_file]._fieldnames: if k not in ppc: - additional_data = True ppc.setdefault("mpc_additional_data", dict())[k] = getattr(mpc[casename_mpc_file], k) - if additional_data: + if "mpc_additional_data" in ppc: logger.info('added fields %s in mpc_additional_data' % list(ppc["mpc_additional_data"].keys())) - else: logger.error('Matfile does not contain a valid mpc structure.') From f8dc87097cb458c43c9bd5ff3f3a8739d4a13250 Mon Sep 17 00:00:00 2001 From: sdrauz Date: Tue, 1 Feb 2022 16:32:55 +0100 Subject: [PATCH 404/422] change scipy version requirements --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index c7ef0f36f..5a2328abd 100644 --- a/setup.py +++ b/setup.py @@ -44,7 +44,7 @@ license='BSD', install_requires=["pandas>=0.17", "networkx>=2.5", - "scipy<=1.6.0", + "scipy", "numpy>=0.11", "packaging"], extras_require={ From c0aa1e167b65cf17984ab00524faea7ce173d033 Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Tue, 1 Feb 2022 19:49:23 +0100 Subject: [PATCH 405/422] lightsim2grid: changelog, doc, test for canonical format, add Ybus clean-up also for numba, add a numba_installed flag to run_newt --- CHANGELOG.rst | 1 + doc/powerflow/ac.rst | 6 ++++++ pandapower/pf/makeYbus_numba.py | 3 +++ pandapower/pf/run_newton_raphson_pf.py | 5 +++-- pandapower/test/loadflow/test_runpp.py | 25 +++++++++++++++++++++++++ setup.py | 4 ++-- 6 files changed, 40 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 14c81192b..310bb4693 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -14,6 +14,7 @@ Change Log - [FIXED] revise to_ppc() and to_mpc() init behaviour - [CHANGED] import requirements / dependencies - [ADDED] distributed slack calculation to newton-raphson load flow; new column "slack_weights" for ext_grid, gen and xward; only 1 reference bus is allowed, any further reference buses are converted to PV buses internally +- [CHANGED] improved the integration with the package lightim2grid (fast power flow backend written in C++), add the test coverage for using lightsim2grid [2.7.0]- 2021-07-15 ---------------------- diff --git a/doc/powerflow/ac.rst b/doc/powerflow/ac.rst index 731b83c49..1d7fa86cd 100644 --- a/doc/powerflow/ac.rst +++ b/doc/powerflow/ac.rst @@ -15,3 +15,9 @@ pandapower uses PYPOWER to solve the power flow problem: If you are interested in the pypower casefile that pandapower is using for power flow, you can find it in net["_ppc"]. However all necessary informations are written into the pandpower format net, so the pandapower user should not usually have to deal with pypower. +If available, the librabry lightsim2grid is used as a backend for power flow simulation instead of the +implementation in pandapower, leading to a boost in performance. The library lightsim2grid is implemented in C++ and +can either be installed with pip install lightsim2grid, or built from source. More about the library and the +installation guide can be found in the `documentation `_ or +its GitHub `repository `_. + diff --git a/pandapower/pf/makeYbus_numba.py b/pandapower/pf/makeYbus_numba.py index 49c40e73d..898d9e74e 100644 --- a/pandapower/pf/makeYbus_numba.py +++ b/pandapower/pf/makeYbus_numba.py @@ -166,4 +166,7 @@ def makeYbus(baseMVA, bus, branch): Yx, Yj, Yp, nnz = gen_Ybus(Yf_x, Yt_x, Ysh, col_Y, f, t, np.argsort(f), np.argsort(t), nb, nl, np.arange(nl, dtype=np.int64)) Ybus = csr_matrix((np.resize(Yx, nnz), np.resize(Yj, nnz), Yp), (nb, nb)) + for Y in (Ybus, Yf, Yt): + Y.sort_indices() + Y.eliminate_zeros() return Ybus, Yf, Yt diff --git a/pandapower/pf/run_newton_raphson_pf.py b/pandapower/pf/run_newton_raphson_pf.py index a200aa5f4..155629f49 100644 --- a/pandapower/pf/run_newton_raphson_pf.py +++ b/pandapower/pf/run_newton_raphson_pf.py @@ -22,8 +22,9 @@ try: from pandapower.pf.makeYbus_numba import makeYbus as makeYbus_numba from pandapower.pf.pfsoln_numba import pfsoln as pfsoln_numba, pf_solution_single_slack + numba_installed = True except ImportError: - pass + numba_installed = False try: from lightsim2grid.newtonpf import newtonpf_new as newton_ls @@ -106,7 +107,7 @@ def _get_numba_functions(ppci, options): """ pfsoln from pypower maybe slow in some cases. This function chooses the fastest for the given pf calculation """ - if options["numba"]: + if options["numba"] and numba_installed: makeYbus = makeYbus_numba shunt_in_net = any(ppci["bus"][:, BS]) or any(ppci["bus"][:, GS]) # faster pfsoln function if only one slack is in the grid and no gens diff --git a/pandapower/test/loadflow/test_runpp.py b/pandapower/test/loadflow/test_runpp.py index 037a84738..58cc4a5e8 100644 --- a/pandapower/test/loadflow/test_runpp.py +++ b/pandapower/test/loadflow/test_runpp.py @@ -25,6 +25,14 @@ add_test_line, add_test_oos_bus_with_is_element, result_test_network_generator, add_test_trafo from pandapower.test.toolbox import add_grid_connection, create_test_line, assert_net_equal, assert_res_equal from pandapower.toolbox import nets_equal +from pandapower.pypower.makeYbus import makeYbus as makeYbus_pypower + + +try: + from pandapower.pf.makeYbus_numba import makeYbus as makeYbus_numba + numba_installed = True +except ImportError: + numba_installed = False def test_minimal_net(**kwargs): @@ -822,6 +830,23 @@ def test_get_internal(): # get J for all other algorithms +def test_Ybus_format(): + net = example_simple() + pp.runpp(net) + _, ppci = _pd2ppc(net) + + Ybus, Yf, Yt = makeYbus_pypower(ppci["baseMVA"], ppci["bus"], ppci["branch"]) + for Y in (Ybus, Yf, Yt): + assert Y.has_canonical_format + assert Y.has_sorted_indices + + if numba_installed: + Ybus, Yf, Yt = makeYbus_numba(ppci["baseMVA"], ppci["bus"], ppci["branch"]) + for Y in (Ybus, Yf, Yt): + assert Y.has_canonical_format + assert Y.has_sorted_indices + + def test_storage_pf(): net = pp.create_empty_network() diff --git a/setup.py b/setup.py index c7ef0f36f..a5f358019 100644 --- a/setup.py +++ b/setup.py @@ -51,12 +51,12 @@ "docs": ["numpydoc", "sphinx", "sphinx_rtd_theme"], "plotting": ["plotly", "matplotlib", "python-igraph", "geopandas"], # "shapely", "pyproj" are depedencies of geopandas and so already available; "base64", "hashlib", "zlib" produce installing problems, so it is not include "test": ["pytest", "pytest-xdist"], - "performance": ["ortools"], + "performance": ["ortools", "lightsim2grid"], "fileio": ["xlsxwriter", "openpyxl", "cryptography", "geopandas"], # "fiona" is a depedency of geopandas and so already available "all": ["numpydoc", "sphinx", "sphinx_rtd_theme", "plotly", "matplotlib", "python-igraph", "geopandas", "pytest", "pytest-xdist", - "ortools", + "ortools", "lightsim2grid", "xlsxwriter", "openpyxl", "cryptography" ]}, # "shapely", "pyproj", "fiona" are depedencies of geopandas and so already available # "hashlib", "zlib", "base64" produce installing problems, so it is not included From aa3e6fb8827b0b49ea3d4cefd8fbdde7508d5a7d Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Tue, 1 Feb 2022 19:53:24 +0100 Subject: [PATCH 406/422] lightsim2grid: try to see if it works without 3.6 --- .github/workflows/github_test_action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/github_test_action.yml b/.github/workflows/github_test_action.yml index e672f5976..46d28bc83 100644 --- a/.github/workflows/github_test_action.yml +++ b/.github/workflows/github_test_action.yml @@ -19,7 +19,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ['3.6', '3.7', '3.8', '3.9'] + python-version: ['3.7', '3.8', '3.9'] steps: - uses: actions/checkout@v2 From 687271f0e2e7aa749bbb907e265823161472d516 Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Tue, 1 Feb 2022 19:56:55 +0100 Subject: [PATCH 407/422] lightsim2grid: dropping 3.6 did not help --- .github/workflows/github_test_action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/github_test_action.yml b/.github/workflows/github_test_action.yml index 46d28bc83..e672f5976 100644 --- a/.github/workflows/github_test_action.yml +++ b/.github/workflows/github_test_action.yml @@ -19,7 +19,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ['3.7', '3.8', '3.9'] + python-version: ['3.6', '3.7', '3.8', '3.9'] steps: - uses: actions/checkout@v2 From a32de6d29163e7cbc7415216a341a0fbbbd7a9e0 Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Tue, 1 Feb 2022 20:44:26 +0100 Subject: [PATCH 408/422] from_mpc.py: keep the extra data in net._options instead --- pandapower/converter/matpower/from_mpc.py | 6 ++---- pandapower/converter/pypower/from_ppc.py | 3 +++ 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/pandapower/converter/matpower/from_mpc.py b/pandapower/converter/matpower/from_mpc.py index 3b77ee9a2..1ea3e8855 100644 --- a/pandapower/converter/matpower/from_mpc.py +++ b/pandapower/converter/matpower/from_mpc.py @@ -52,7 +52,8 @@ def from_mpc(mpc_file, f_hz=50, casename_mpc_file='mpc', validate_conversion=Fal ppc = _mpc2ppc(mpc_file, casename_mpc_file) net = from_ppc(ppc, f_hz, validate_conversion) if "mpc_additional_data" in ppc: - net["mpc_additional_data"] = ppc["mpc_additional_data"] + net._options.update(ppc["mpc_additional_data"]) + logger.info('added fields %s in net._options' % list(ppc["mpc_additional_data"].keys())) return net @@ -100,9 +101,6 @@ def _copy_data_from_mpc_to_ppc(ppc, mpc, casename_mpc_file): if k not in ppc: ppc.setdefault("mpc_additional_data", dict())[k] = getattr(mpc[casename_mpc_file], k) - if "mpc_additional_data" in ppc: - logger.info('added fields %s in mpc_additional_data' % list(ppc["mpc_additional_data"].keys())) - else: logger.error('Matfile does not contain a valid mpc structure.') diff --git a/pandapower/converter/pypower/from_ppc.py b/pandapower/converter/pypower/from_ppc.py index 96600dedb..a1ab7df48 100644 --- a/pandapower/converter/pypower/from_ppc.py +++ b/pandapower/converter/pypower/from_ppc.py @@ -299,6 +299,9 @@ def from_ppc(ppc, f_hz=50, validate_conversion=False, **kwargs): if not validate_from_ppc(ppc, net, **kwargs): logger.error("Validation failed.") + net._options = {} + net._options["gen_lookup"] = gen_lookup + return net From 2c208accfc8977ee14d4d199aa29ce50cea3cd46 Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Tue, 1 Feb 2022 20:50:10 +0100 Subject: [PATCH 409/422] drop 3.6 again --- .github/workflows/github_test_action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/github_test_action.yml b/.github/workflows/github_test_action.yml index e672f5976..46d28bc83 100644 --- a/.github/workflows/github_test_action.yml +++ b/.github/workflows/github_test_action.yml @@ -19,7 +19,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ['3.6', '3.7', '3.8', '3.9'] + python-version: ['3.7', '3.8', '3.9'] steps: - uses: actions/checkout@v2 From a5e55aad6237af083aa73a9f4f5258d72c0ae920 Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Tue, 1 Feb 2022 20:55:03 +0100 Subject: [PATCH 410/422] try removing 3.7 --- .github/workflows/github_test_action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/github_test_action.yml b/.github/workflows/github_test_action.yml index 46d28bc83..6965b84ad 100644 --- a/.github/workflows/github_test_action.yml +++ b/.github/workflows/github_test_action.yml @@ -19,7 +19,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ['3.7', '3.8', '3.9'] + python-version: ['3.8', '3.9'] steps: - uses: actions/checkout@v2 From 45a1837cb604f540a77331580fb7f0f2f5d4413e Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Tue, 1 Feb 2022 21:19:40 +0100 Subject: [PATCH 411/422] adding versions back, commenting out lightsim2grid from "all" for now (to avoid it being installed in GitHub Actions). After dropping 3.6 we will include it in all but then uninstall for the tests for some environments --- .github/workflows/github_test_action.yml | 4 ++-- setup.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/github_test_action.yml b/.github/workflows/github_test_action.yml index 6965b84ad..b40e52fe3 100644 --- a/.github/workflows/github_test_action.yml +++ b/.github/workflows/github_test_action.yml @@ -19,7 +19,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ['3.8', '3.9'] + python-version: ['3.6', '3.7', '3.8', '3.9'] steps: - uses: actions/checkout@v2 @@ -36,7 +36,7 @@ jobs: pip install .["all"] if ${{ matrix.python-version == '3.7' }}; then python -m pip install pypower; fi if ${{ matrix.python-version != '3.6' }}; then python -m pip install numba; fi - if ${{ matrix.python-version == '3.9' }}; then python -m pip install lightsim2grid; fi + if ${{ matrix.python-version == '3.7' }}; then python -m pip install lightsim2grid; fi - name: Install Julia if: ${{ matrix.python-version == '3.6' }} run: | diff --git a/setup.py b/setup.py index a5f358019..599a0ce28 100644 --- a/setup.py +++ b/setup.py @@ -56,7 +56,7 @@ "all": ["numpydoc", "sphinx", "sphinx_rtd_theme", "plotly", "matplotlib", "python-igraph", "geopandas", "pytest", "pytest-xdist", - "ortools", "lightsim2grid", + "ortools", #"lightsim2grid", "xlsxwriter", "openpyxl", "cryptography" ]}, # "shapely", "pyproj", "fiona" are depedencies of geopandas and so already available # "hashlib", "zlib", "base64" produce installing problems, so it is not included From 44559652c8fd55a575933c8a0d207e6ebc6be8a2 Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Wed, 2 Feb 2022 16:18:00 +0100 Subject: [PATCH 412/422] lightsim2grid: remove from dependencies for now (mention in documentation); added a test for lightsim2grid option; raise NotImplementedError if lightsim2grid == True but is not supported (set to False silently if "auto") --- pandapower/auxiliary.py | 39 +++++++------------------- pandapower/test/loadflow/test_runpp.py | 29 +++++++++++++++++++ setup.py | 4 +-- 3 files changed, 41 insertions(+), 31 deletions(-) diff --git a/pandapower/auxiliary.py b/pandapower/auxiliary.py index 7c75bec08..724d24c27 100644 --- a/pandapower/auxiliary.py +++ b/pandapower/auxiliary.py @@ -736,8 +736,7 @@ def _check_if_numba_is_installed(numba): return numba -def _check_lightsim2grid_compatibility(net, lightsim2grid, voltage_dependend_loads, algorithm, enforce_q_lims, - distributed_slack): +def _check_lightsim2grid_compatibility(net, lightsim2grid, voltage_depend_loads, algorithm, distributed_slack): """ Implement some checks to decide whether the package lightsim2grid can be used. The package implements a backend for power flow calculation in C++ and provides a speed-up. If lightsim2grid is "auto" (default), we don't bombard the @@ -755,35 +754,17 @@ def _check_lightsim2grid_compatibility(net, lightsim2grid, voltage_dependend_loa if lightsim2grid == "auto": return False raise NotImplementedError(f"option 'lightsim2grid' is True but the algorithm {algorithm} not implemented.") - if voltage_dependend_loads: - if lightsim2grid != "auto": - logger.info("option 'lightsim2grid' is True and voltage-dependent loads detected. Falling back to " - "pandapower implementation") - return False - #if enforce_q_lims: - # not valid: the way you enforce the q_limits in pandapower is to loop and perform successive calls to the - # newtonpf function, in this case using the lightsim2grid equivalent is perfectly fine. You CAN use - # lightsim2grid newtonpf function in this case. - # logger.info("option 'lightsim2grid' is True and enforce_q_lims is True. Falling back to pandapower " - # "implementation") - # return False + if voltage_depend_loads: + if lightsim2grid == "auto": + return False + raise NotImplementedError("option 'lightsim2grid' is True and voltage-dependent loads detected.") if len(net.ext_grid) > 1 and not distributed_slack: # lightsim2grid implements distributed_slack similarly to pandapower, but does not accept multiple slacks # otherwise - if lightsim2grid != "auto": - logger.info("option 'lightsim2grid' is True and multiple ext_grids are found. Falling back to " - "pandapower implementation.") - return False - # if np.any(net.gen.bus.isin(net.ext_grid.bus)): - # # not valid: actually it's even the exact opposite. In lightsim2grid, only the generators are considered - # # as slack buses. There is no concept of "ext_grid" in lightsim2grid. And by the way, this is not - # # relevant - # # when using the newtonpf function, ext_grid and generators with slack bus are handled before that when - # # defining the pv , pq and ref index vectors (used in newtonpf). You CAN use lightsim2grid newtonpf - # # function in this case. - # logger.info("option 'lightsim2grid' is True and gen elements were found at slack buses. Falling back " - # "to pandapower implementation") - # return False + if lightsim2grid == "auto": + return False + raise NotImplementedError("option 'lightsim2grid' is True and multiple ext_grids are found, " + "but distributed_slack=False.") return True @@ -1006,7 +987,7 @@ def _init_runpp_options(net, algorithm, calculate_voltage_angles, init, voltage_depend_loads = False lightsim2grid = _check_lightsim2grid_compatibility(net, lightsim2grid, voltage_depend_loads, algorithm, - enforce_q_lims, distributed_slack) + distributed_slack) ac = True mode = "pf" diff --git a/pandapower/test/loadflow/test_runpp.py b/pandapower/test/loadflow/test_runpp.py index 58cc4a5e8..902a352a2 100644 --- a/pandapower/test/loadflow/test_runpp.py +++ b/pandapower/test/loadflow/test_runpp.py @@ -1354,6 +1354,35 @@ def test_lightsim2grid_extgrid(): test_ext_grid_and_gen_at_one_bus(lightsim2grid=True) +def test_lightsim2grid_option(): + net = simple_four_bus_system() + pp.runpp(net) + assert net._options["lightsim2grid"] == lightsim2grid_available + + pp.runpp(net, lightsim2grid=False) + assert not net._options["lightsim2grid"] + + pp.runpp(net, algorithm="gs") + assert not net._options["lightsim2grid"] + + with pytest.raises(NotImplementedError): + pp.runpp(net, algorithm="gs", lightsim2grid=True) + + net.load["const_z_percent"] = 100. + pp.runpp(net, voltage_depend_loads=True) + assert not net._options["lightsim2grid"] + + with pytest.raises(NotImplementedError): + pp.runpp(net, voltage_depend_loads=True, lightsim2grid=True) + + pp.create_ext_grid(net, 1, 1.) + pp.runpp(net) + assert not net._options["lightsim2grid"] + + with pytest.raises(NotImplementedError): + pp.runpp(net, lightsim2grid=True) + + if __name__ == "__main__": pytest.main([__file__]) # test_minimal_net() diff --git a/setup.py b/setup.py index 599a0ce28..fad9a5d8e 100644 --- a/setup.py +++ b/setup.py @@ -51,12 +51,12 @@ "docs": ["numpydoc", "sphinx", "sphinx_rtd_theme"], "plotting": ["plotly", "matplotlib", "python-igraph", "geopandas"], # "shapely", "pyproj" are depedencies of geopandas and so already available; "base64", "hashlib", "zlib" produce installing problems, so it is not include "test": ["pytest", "pytest-xdist"], - "performance": ["ortools", "lightsim2grid"], + "performance": ["ortools"],#, "lightsim2grid"], "fileio": ["xlsxwriter", "openpyxl", "cryptography", "geopandas"], # "fiona" is a depedency of geopandas and so already available "all": ["numpydoc", "sphinx", "sphinx_rtd_theme", "plotly", "matplotlib", "python-igraph", "geopandas", "pytest", "pytest-xdist", - "ortools", #"lightsim2grid", + "ortools",# lightsim2grid, "xlsxwriter", "openpyxl", "cryptography" ]}, # "shapely", "pyproj", "fiona" are depedencies of geopandas and so already available # "hashlib", "zlib", "base64" produce installing problems, so it is not included From 7caaf7c22ec30af273c3df86aa5a8a1533abe06f Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Wed, 2 Feb 2022 16:31:56 +0100 Subject: [PATCH 413/422] lightsim2grid: bugfix test --- pandapower/test/loadflow/test_runpp.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pandapower/test/loadflow/test_runpp.py b/pandapower/test/loadflow/test_runpp.py index 902a352a2..d066a5d17 100644 --- a/pandapower/test/loadflow/test_runpp.py +++ b/pandapower/test/loadflow/test_runpp.py @@ -1354,10 +1354,18 @@ def test_lightsim2grid_extgrid(): test_ext_grid_and_gen_at_one_bus(lightsim2grid=True) +@pytest.mark.skipif(lightsim2grid_available, reason="only relevant if lightsim2grid is not installed") +def test_lightsim2grid_option_basic(): + net = simple_four_bus_system() + pp.runpp(net) + assert not net._options["lightsim2grid"] + + +@pytest.mark.skipif(not lightsim2grid_available, reason="lightsim2grid is not installed") def test_lightsim2grid_option(): net = simple_four_bus_system() pp.runpp(net) - assert net._options["lightsim2grid"] == lightsim2grid_available + assert net._options["lightsim2grid"] pp.runpp(net, lightsim2grid=False) assert not net._options["lightsim2grid"] From 15ef845e37cd742f22e50634d2bd583ec64dde5f Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Wed, 2 Feb 2022 20:05:31 +0100 Subject: [PATCH 414/422] lightsim2grid: added a test for checking the lightsim2grid option; changed the behavior to raise error if the option if True instead of "auto" but is not implemented --- pandapower/auxiliary.py | 2 +- pandapower/test/loadflow/test_runpp.py | 42 +++++++++++++++++++++----- 2 files changed, 35 insertions(+), 9 deletions(-) diff --git a/pandapower/auxiliary.py b/pandapower/auxiliary.py index 724d24c27..489627c99 100644 --- a/pandapower/auxiliary.py +++ b/pandapower/auxiliary.py @@ -758,7 +758,7 @@ def _check_lightsim2grid_compatibility(net, lightsim2grid, voltage_depend_loads, if lightsim2grid == "auto": return False raise NotImplementedError("option 'lightsim2grid' is True and voltage-dependent loads detected.") - if len(net.ext_grid) > 1 and not distributed_slack: + if (len(net.ext_grid.query("in_service")) + len(net.gen.query("slack & in_service"))) > 1 and not distributed_slack: # lightsim2grid implements distributed_slack similarly to pandapower, but does not accept multiple slacks # otherwise if lightsim2grid == "auto": diff --git a/pandapower/test/loadflow/test_runpp.py b/pandapower/test/loadflow/test_runpp.py index d066a5d17..172e2e1d1 100644 --- a/pandapower/test/loadflow/test_runpp.py +++ b/pandapower/test/loadflow/test_runpp.py @@ -1333,15 +1333,20 @@ def test_lightsim2grid(): for net in result_test_network_generator(): try: runpp_with_consistency_checks(net, lightsim2grid=True) - except (AssertionError): + except AssertionError: raise UserWarning("Consistency Error after adding %s" % net.last_added_case) - except(LoadflowNotConverged): + except LoadflowNotConverged: raise UserWarning("Power flow did not converge after adding %s" % net.last_added_case) + except NotImplementedError as err: + assert len(net.ext_grid) > 1 + assert "multiple ext_grids are found" in str(err) @pytest.mark.skipif(not lightsim2grid_available, reason="lightsim2grid is not installed") def test_lightsim2grid_zip(): - test_zip_loads_consistency(lightsim2grid=True) + # voltage dependent loads are not implemented in lightsim2grid + with pytest.raises(NotImplementedError, match="voltage-dependent loads"): + test_zip_loads_consistency(lightsim2grid=True) @pytest.mark.skipif(not lightsim2grid_available, reason="lightsim2grid is not installed") @@ -1351,7 +1356,9 @@ def test_lightsim2grid_qlims(): @pytest.mark.skipif(not lightsim2grid_available, reason="lightsim2grid is not installed") def test_lightsim2grid_extgrid(): - test_ext_grid_and_gen_at_one_bus(lightsim2grid=True) + # multiple ext grids not implemented + with pytest.raises(NotImplementedError, match="multiple ext_grids"): + test_ext_grid_and_gen_at_one_bus(lightsim2grid=True) @pytest.mark.skipif(lightsim2grid_available, reason="only relevant if lightsim2grid is not installed") @@ -1363,6 +1370,7 @@ def test_lightsim2grid_option_basic(): @pytest.mark.skipif(not lightsim2grid_available, reason="lightsim2grid is not installed") def test_lightsim2grid_option(): + # basic usage net = simple_four_bus_system() pp.runpp(net) assert net._options["lightsim2grid"] @@ -1370,26 +1378,44 @@ def test_lightsim2grid_option(): pp.runpp(net, lightsim2grid=False) assert not net._options["lightsim2grid"] + # missing algorithm pp.runpp(net, algorithm="gs") assert not net._options["lightsim2grid"] - with pytest.raises(NotImplementedError): + with pytest.raises(NotImplementedError, match=r"algorithm"): pp.runpp(net, algorithm="gs", lightsim2grid=True) + # voltage-dependent loads net.load["const_z_percent"] = 100. pp.runpp(net, voltage_depend_loads=True) assert not net._options["lightsim2grid"] - with pytest.raises(NotImplementedError): + with pytest.raises(NotImplementedError, match=r"voltage-dependent loads"): pp.runpp(net, voltage_depend_loads=True, lightsim2grid=True) - pp.create_ext_grid(net, 1, 1.) + with pytest.raises(NotImplementedError, match=r"voltage-dependent loads"): + pp.runpp(net, lightsim2grid=True) + net.load.const_z_percent = 0 + + # multiple slacks + xg = pp.create_ext_grid(net, 1, 1.) pp.runpp(net) assert not net._options["lightsim2grid"] - with pytest.raises(NotImplementedError): + with pytest.raises(NotImplementedError, match=r"multiple ext_grids"): pp.runpp(net, lightsim2grid=True) + net.ext_grid.at[xg, 'in_service'] = False + pp.runpp(net) + assert net._options["lightsim2grid"] + + pp.create_gen(net, 1, 0, 1., slack=True) + with pytest.raises(NotImplementedError, match=r"multiple ext_grids"): + pp.runpp(net, lightsim2grid=True) + + pp.runpp(net, distributed_slack=True) + assert net._options["lightsim2grid"] + if __name__ == "__main__": pytest.main([__file__]) From 9701f925603b83a35daf91c278b39d5a67fff479 Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Wed, 2 Feb 2022 20:08:22 +0100 Subject: [PATCH 415/422] drop Python 3.6 --- .github/workflows/github_test_action.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/github_test_action.yml b/.github/workflows/github_test_action.yml index 46279953a..dc0d70c2b 100644 --- a/.github/workflows/github_test_action.yml +++ b/.github/workflows/github_test_action.yml @@ -19,7 +19,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ['3.6', '3.7', '3.8', '3.9'] + python-version: ['3.7', '3.8', '3.9'] steps: - uses: actions/checkout@v2 @@ -35,9 +35,9 @@ jobs: if [ -f requirements.txt ]; then pip install -r requirements.txt; fi pip install .["all"] if ${{ matrix.python-version == '3.7' }}; then python -m pip install pypower; fi - if ${{ matrix.python-version != '3.6' }}; then python -m pip install numba; fi + if ${{ matrix.python-version != '3.7' }}; then python -m pip install numba; fi - name: Install Julia - if: ${{ matrix.python-version == '3.6' }} + if: ${{ matrix.python-version == '3.7' }} run: | ./.install_julia.sh 1.5 pip install julia @@ -65,7 +65,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ['3.6', '3.7', '3.8', '3.9'] + python-version: ['3.7', '3.8', '3.9'] steps: - uses: actions/checkout@v2 From c4c7fe5436d73bd24d17c49db8467f86260b6f88 Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Wed, 2 Feb 2022 20:57:06 +0100 Subject: [PATCH 416/422] also test with python 3.9 --- .github/workflows/github_test_action.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/github_test_action.yml b/.github/workflows/github_test_action.yml index b40e52fe3..c15deb4d4 100644 --- a/.github/workflows/github_test_action.yml +++ b/.github/workflows/github_test_action.yml @@ -37,6 +37,7 @@ jobs: if ${{ matrix.python-version == '3.7' }}; then python -m pip install pypower; fi if ${{ matrix.python-version != '3.6' }}; then python -m pip install numba; fi if ${{ matrix.python-version == '3.7' }}; then python -m pip install lightsim2grid; fi + if ${{ matrix.python-version == '3.9' }}; then python -m pip install lightsim2grid; fi - name: Install Julia if: ${{ matrix.python-version == '3.6' }} run: | From 6a88e96d459810f3b308455acec7ecb4ac8f3561 Mon Sep 17 00:00:00 2001 From: Steffen Meinecke Date: Thu, 3 Feb 2022 13:51:05 +0100 Subject: [PATCH 417/422] toolbox: add extra internal function for nets_equal() --- pandapower/toolbox.py | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/pandapower/toolbox.py b/pandapower/toolbox.py index 9992f8f14..36c5016a3 100644 --- a/pandapower/toolbox.py +++ b/pandapower/toolbox.py @@ -733,6 +733,24 @@ def nets_equal(net1, net2, check_only_results=False, check_without_results=False **kwargs** - key word arguments for dataframes_equal() """ + not_equal, not_checked_keys = _nets_equal_keys( + net1, net2, check_only_results, check_without_results, exclude_elms, name_selection, + **kwargs) + if len(not_checked_keys) > 0: + logger.warning("These keys were ignored by the comparison of the networks: %s" % (', '.join( + not_checked_keys))) + + if len(not_equal) > 0: + logger.warning("Networks do not match in DataFrame(s): %s" % (', '.join(not_equal))) + return False + else: + return True + + +def _nets_equal_keys(net1, net2, check_only_results, check_without_results, exclude_elms, + name_selection, **kwargs): + """ Returns a lists of keys which are 1) not equal and 2) not checked. + Used within nets_equal(). """ if not (isinstance(net1, pandapowerNet) and isinstance(net2, pandapowerNet)): logger.warning("At least one net is not of type pandapowerNet.") return False @@ -818,16 +836,7 @@ def nets_equal(net1, net2, check_only_results=False, check_without_results=False not_equal.append(key) except: not_checked_keys.append(key) - - if len(not_checked_keys) > 0: - logger.warning("These keys were ignored by the comparison of the networks: %s" % (', '.join( - not_checked_keys))) - - if len(not_equal) > 0: - logger.warning("Networks do not match in DataFrame(s): %s" % (', '.join(not_equal))) - return False - else: - return True + return not_equal, not_checked_keys def clear_result_tables(net): From 99f64f894b8b31ff1fd3c3707c8ccc936519c30c Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Thu, 3 Feb 2022 20:15:25 +0100 Subject: [PATCH 418/422] output_writer: enable saving from res_line_3ph etc. tables --- pandapower/timeseries/output_writer.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandapower/timeseries/output_writer.py b/pandapower/timeseries/output_writer.py index 838571cc3..de3ff722d 100644 --- a/pandapower/timeseries/output_writer.py +++ b/pandapower/timeseries/output_writer.py @@ -404,7 +404,7 @@ def _init_log_variable(self, net, table, variable, index=None, eval_function=Non if np.any(pd.isnull(index)): # check how many elements there are in net - index = net[table.split("res_")[-1]].index + index = net[table.split("res_")[-1].replace("_3ph", "")].index if not hasattr(index, '__iter__'): index = [index] if isinstance(index, (np.ndarray, pd.Index, pd.Series)): From 8e862411dd3b02839ddb4d297fac534a44ed10b8 Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Fri, 4 Feb 2022 17:04:16 +0100 Subject: [PATCH 419/422] RELEASE 2.8.0 --- CHANGELOG.rst | 25 +- doc/conf.py | 4 +- pandapower/__init__.py | 2 +- .../old_versions/example_2.8.0.json | 1785 +++++++++++++++++ pandapower/test/test_files/save_version.py | 2 +- setup.py | 4 +- 6 files changed, 1814 insertions(+), 8 deletions(-) create mode 100644 pandapower/test/test_files/old_versions/example_2.8.0.json diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 310bb4693..e4886b149 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,5 +1,7 @@ Change Log +[2.8.0]- 2021-07-15 +---------------------- - [ADDED] toolbox functions false_elm_links() and false_elm_links_loop() - [FIXED] poly_cost and pwl_cost consideration in merge_nets() - [ADDED] "results" initialization for runopp() @@ -13,8 +15,27 @@ Change Log - [ADDED] correct_dtypes() function for fileIO convert - [FIXED] revise to_ppc() and to_mpc() init behaviour - [CHANGED] import requirements / dependencies -- [ADDED] distributed slack calculation to newton-raphson load flow; new column "slack_weights" for ext_grid, gen and xward; only 1 reference bus is allowed, any further reference buses are converted to PV buses internally -- [CHANGED] improved the integration with the package lightim2grid (fast power flow backend written in C++), add the test coverage for using lightsim2grid +- [ADDED] with the option "distributed_slack" for pp.runpp: distributed slack calculation to newton-raphson load flow; new column "slack_weights" for ext_grid, gen and xward; only 1 reference bus is allowed, any further reference buses are converted to PV buses internally +- [CHANGED] improved the integration with the package lightim2grid (fast power flow backend written in C++), add the test coverage for using lightsim2grid (for both versions, single slack and distributed slack, see https://lightsim2grid.readthedocs.io/en/latest/ on how to install and use lightsim2grid) #1455 +- [FIXED] checks for when to activate and deactivate lightsim2grid in pp.runpp, added tests +- [ADDED] from_mpc: import additional variables from MATPOWER file as keys in net._options +- [FIXED] output_writer: bugfix for "res_{element}_3ph" to also run timeseries with runpp_3ph +- [FIXED] DeprecationWarning in pandas: use pandas.Index instead of pandas.Int64Index +- [FIXED] scipy version requirement: cancel the version limit +- [CHANGED] drop support for Python 3.6 +- [FIXED] bugfix in timeseries calculations with recycle=True #1433 +- [CHANGED] run tests in GuitHub Actions for pull requests to all branches +- [FIXED] net.unser_pf_options: bugfix for overruling the parameters that are in user_pf_options +- [ADDED] add_zero_impedance_parameters(): convenience function to add all required zero-sequence data for runpp_3ph from std_types and apply realistic assumptions +- [CHANGED] adjusted create.py functions to also include zero-sequence parameters +- [CHANGED] new tutorials for the voltage deviation model and the power flow calculation with PowerModels.jl +- [CHANGED] create_lines: enable batch creating of multiple lines now with multiole std_type entries instead of using the same std_type +- [CHANGED] OPF parameter "OPF_FLOW_LIM" now accessible through kwargs +- [CHANGED] Included DC line elements and results in to_html +- [FIXED] bugfix for currents of transformers in 3ph power flow #1343 +- [CHANGED] check the dtype of the tap_pos column in the control_step of the transformer controller #1335 +- [FIXED] net.sn_mva corrected for power_system_test_cases #1317 +- [FIXED] fixed bugs in automatically identifying power station units (short-circuit calculation enhancements are still in progress) [2.7.0]- 2021-07-15 ---------------------- diff --git a/doc/conf.py b/doc/conf.py index faf980dcb..72b6272ea 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -54,9 +54,9 @@ # built documents. # # The short X.Y version. -version = "2.7" +version = "2.8" # The full version, including alpha/beta/rc tags. -release = "2.7.0" +release = "2.8.0" # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/pandapower/__init__.py b/pandapower/__init__.py index 03649728e..77e791a4b 100644 --- a/pandapower/__init__.py +++ b/pandapower/__init__.py @@ -1,4 +1,4 @@ -__version__ = "2.7.1.dev1" +__version__ = "2.8.0" import os pp_dir = os.path.dirname(os.path.realpath(__file__)) diff --git a/pandapower/test/test_files/old_versions/example_2.8.0.json b/pandapower/test/test_files/old_versions/example_2.8.0.json new file mode 100644 index 000000000..448d724f9 --- /dev/null +++ b/pandapower/test/test_files/old_versions/example_2.8.0.json @@ -0,0 +1,1785 @@ +{ + "_module": "pandapower.auxiliary", + "_class": "pandapowerNet", + "_object": { + "bus": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"name\",\"vn_kv\",\"type\",\"zone\",\"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],\"data\":[[\"Double Busbar 1\",380.0,\"b\",null,true],[\"Double Busbar 2\",380.0,\"b\",null,true],[\"Bus DB T0\",380.0,\"n\",null,true],[\"Bus DB T1\",380.0,\"n\",null,true],[\"Bus DB T2\",380.0,\"n\",null,true],[\"Bus DB T3\",380.0,\"n\",null,true],[\"Bus DB T4\",380.0,\"n\",null,true],[\"Bus DB T5\",380.0,\"n\",null,true],[\"Bus DB T6\",380.0,\"n\",null,true],[\"Bus DB T7\",380.0,\"n\",null,true],[\"Bus DB T8\",380.0,\"n\",null,true],[\"Bus DB T9\",380.0,\"n\",null,true],[\"Bus DB 1\",380.0,\"n\",null,true],[\"Bus DB 2\",380.0,\"n\",null,true],[\"Bus DB 3\",380.0,\"n\",null,true],[\"Bus DB 4\",380.0,\"n\",null,true],[\"Single Busbar\",110.0,\"b\",null,true],[\"Bus SB 1\",110.0,\"n\",null,true],[\"Bus SB 2\",110.0,\"n\",null,true],[\"Bus SB 3\",110.0,\"n\",null,true],[\"Bus SB 4\",110.0,\"n\",null,true],[\"Bus SB 5\",110.0,\"n\",null,true],[\"Bus SB T1.1\",110.0,\"n\",null,true],[\"Bus SB T1.2\",110.0,\"n\",null,true],[\"Bus SB T2.1\",110.0,\"n\",null,true],[\"Bus SB T2.2\",110.0,\"n\",null,true],[\"Bus SB T3.1\",110.0,\"n\",null,true],[\"Bus SB T3.2\",110.0,\"n\",null,true],[\"Bus SB T4.1\",110.0,\"n\",null,true],[\"Bus SB T4.2\",110.0,\"n\",null,true],[\"Bus SB T5.1\",110.0,\"n\",null,true],[\"Bus SB T5.2\",110.0,\"n\",null,true],[\"Bus HV1\",110.0,\"n\",null,true],[\"Bus HV2\",110.0,\"n\",null,true],[\"Bus HV3\",110.0,\"n\",null,true],[\"Bus HV4\",110.0,\"n\",null,true],[\"Bus MV0 20kV\",20.0,\"n\",null,true],[\"Bus MV0\",10.0,\"n\",null,true],[\"Bus MV1\",10.0,\"n\",null,true],[\"Bus MV2\",10.0,\"n\",null,true],[\"Bus MV3\",10.0,\"n\",null,true],[\"Bus MV4\",10.0,\"n\",null,true],[\"Bus MV5\",10.0,\"n\",null,true],[\"Bus MV6\",10.0,\"n\",null,true],[\"Bus MV7\",10.0,\"n\",null,true],[\"Bus LV0\",0.4,\"n\",null,true],[\"Bus LV1.1\",0.4,\"m\",null,true],[\"Bus LV1.2\",0.4,\"m\",null,true],[\"Bus LV1.3\",0.4,\"m\",null,true],[\"Bus LV1.4\",0.4,\"m\",null,true],[\"Bus LV1.5\",0.4,\"m\",null,true],[\"Bus LV2.1\",0.4,\"m\",null,true],[\"Bus LV2.2\",0.4,\"m\",null,true],[\"Bus LV2.3\",0.4,\"m\",null,true],[\"Bus LV2.4\",0.4,\"m\",null,true],[\"Bus LV2.2.1\",0.4,\"m\",null,true],[\"Bus LV2.2.2\",0.4,\"m\",null,true]]}", + "orient": "split", + "dtype": { + "name": "object", + "vn_kv": "float64", + "type": "object", + "zone": "object", + "in_service": "bool" + } + }, + "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\"],\"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],\"data\":[[\"MV Net 0\",20,38.0,6.0,0.0,0.0,null,1.0,true,\"wye\"],[\"MV Net 1\",32,38.0,6.0,0.0,0.0,null,1.0,true,\"wye\"],[\"MV Net 2\",33,38.0,6.0,0.0,0.0,null,1.0,true,\"wye\"],[\"MV Net 3\",34,38.0,6.0,0.0,0.0,null,1.0,true,\"wye\"],[\"MV Net 4\",35,38.0,6.0,0.0,0.0,null,1.0,true,\"wye\"],[\"Further MV-Rings\",37,6.0,2.0,0.0,0.0,null,1.0,true,\"wye\"],[\"Industry Load\",36,18.0,4.0,0.0,0.0,null,1.0,true,\"wye\"],[\"LV Net 1\",38,0.4,0.1,0.0,0.0,null,1.0,true,\"wye\"],[\"LV Net 2\",39,0.4,0.06,0.0,0.0,null,1.0,true,\"wye\"],[\"LV Net 3\",40,0.4,0.06,0.0,0.0,null,1.0,true,\"wye\"],[\"LV Net 5\",42,0.4,0.06,0.0,0.0,null,1.0,true,\"wye\"],[\"LV Net 6\",43,0.4,0.06,0.0,0.0,null,1.0,true,\"wye\"],[\"LV Net 7\",44,0.4,0.06,0.0,0.0,null,1.0,true,\"wye\"],[\"Further LV-Feeders Load\",45,0.1,0.01,0.0,0.0,null,1.0,true,\"wye\"],[\"Residential Load\",46,0.01,0.03,0.0,0.0,null,1.0,true,\"wye\"],[\"Residential Load(1)\",47,0.01,0.03,0.0,0.0,null,1.0,true,\"wye\"],[\"Residential Load(2)\",48,0.01,0.03,0.0,0.0,null,1.0,true,\"wye\"],[\"Residential Load(3)\",49,0.01,0.03,0.0,0.0,null,1.0,true,\"wye\"],[\"Residential Load(4)\",50,0.01,0.03,0.0,0.0,null,1.0,true,\"wye\"],[\"Rural Load\",51,0.01,0.03,0.0,0.0,null,1.0,true,\"wye\"],[\"Rural Load(1)\",52,0.01,0.03,0.0,0.0,null,1.0,true,\"wye\"],[\"Rural Load(2)\",53,0.01,0.03,0.0,0.0,null,1.0,true,\"wye\"],[\"Rural Load(3)\",54,0.01,0.03,0.0,0.0,null,1.0,true,\"wye\"],[\"Rural Load(4)\",55,0.01,0.03,0.0,0.0,null,1.0,true,\"wye\"],[\"Rural Load(5)\",56,0.01,0.03,0.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" + } + }, + "sgen": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"name\",\"bus\",\"p_mw\",\"q_mvar\",\"sn_mva\",\"scaling\",\"in_service\",\"type\",\"current_source\"],\"index\":[0,1,2,3,4,5,6,7,8,9,10],\"data\":[[\"Wind Park\",21,20.0,4.0,45.0,1.0,true,\"WP\",true],[\"Biogas plant\",43,0.5,0.0,0.75,1.0,true,\"SGEN\",true],[\"Further MV Generator\",37,0.5,0.05,1.0,1.0,true,\"SGEN\",true],[\"Industry Generator\",36,15.0,3.0,20.0,1.0,true,\"SGEN\",true],[\"PV Park\",42,2.0,0.1,5.0,1.0,true,\"PV\",true],[\"PV\",46,0.006,0.0,0.012,1.0,true,\"PV\",true],[\"PV(1)\",48,0.005,0.0,0.01,1.0,true,\"PV\",true],[\"PV(2)\",53,0.005,0.0,0.01,1.0,true,\"PV\",true],[\"PV(3)\",54,0.005,0.0,0.01,1.0,true,\"PV\",true],[\"PV(4)\",55,0.005,0.0,0.01,1.0,true,\"PV\",true],[\"PV(5)\",56,0.005,0.0,0.01,1.0,true,\"PV\",true]]}", + "orient": "split", + "dtype": { + "name": "object", + "bus": "int64", + "p_mw": "float64", + "q_mvar": "float64", + "sn_mva": "float64", + "scaling": "float64", + "in_service": "bool", + "type": "object", + "current_source": "bool" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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\",\"in_service\",\"slack_weight\",\"type\",\"power_station_trafo\"],\"index\":[0],\"data\":[[\"Gas turbine\",35,100.0,1.03,null,null,null,1.0,false,true,0.0,null,null]]}", + "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", + "in_service": "bool", + "slack_weight": "float64", + "type": "object", + "power_station_trafo": "float64" + } + }, + "switch": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"bus\",\"element\",\"et\",\"type\",\"closed\",\"name\",\"z_ohm\"],\"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],\"data\":[[1,2,\"b\",\"DS\",true,\"DB DS0\",0.0],[0,3,\"b\",\"DS\",true,\"DB DS1\",0.0],[1,5,\"b\",\"DS\",true,\"DB DS2\",0.0],[0,5,\"b\",\"DS\",false,\"DB DS3\",0.0],[1,7,\"b\",\"DS\",true,\"DB DS4\",0.0],[0,7,\"b\",\"DS\",false,\"DB DS5\",0.0],[1,9,\"b\",\"DS\",true,\"DB DS6\",0.0],[0,9,\"b\",\"DS\",false,\"DB DS7\",0.0],[1,11,\"b\",\"DS\",true,\"DB DS8\",0.0],[0,11,\"b\",\"DS\",false,\"DB DS9\",0.0],[4,12,\"b\",\"DS\",true,\"DB DS10\",0.0],[6,13,\"b\",\"DS\",true,\"DB DS11\",0.0],[8,14,\"b\",\"DS\",true,\"DB DS12\",0.0],[10,15,\"b\",\"DS\",true,\"DB DS13\",0.0],[2,3,\"b\",\"CB\",true,\"DB CB0\",0.0],[5,4,\"b\",\"CB\",true,\"DB CB1\",0.0],[7,6,\"b\",\"CB\",true,\"DB CB2\",0.0],[9,8,\"b\",\"CB\",true,\"DB CB3\",0.0],[11,10,\"b\",\"CB\",true,\"DB CB4\",0.0],[22,17,\"b\",\"DS\",true,\"SB DS1.1\",0.0],[16,23,\"b\",\"DS\",true,\"SB DS1.2\",0.0],[24,18,\"b\",\"DS\",true,\"SB DS2.1\",0.0],[16,25,\"b\",\"DS\",true,\"SB DS2.2\",0.0],[26,19,\"b\",\"DS\",true,\"SB DS3.1\",0.0],[16,27,\"b\",\"DS\",true,\"SB DS3.2\",0.0],[28,20,\"b\",\"DS\",true,\"SB DS4.1\",0.0],[16,29,\"b\",\"DS\",true,\"SB DS4.2\",0.0],[30,21,\"b\",\"DS\",true,\"SB DS5.1\",0.0],[16,31,\"b\",\"DS\",true,\"SB DS5.2\",0.0],[23,22,\"b\",\"CB\",true,\"SB CB1\",0.0],[25,24,\"b\",\"CB\",true,\"SB CB2\",0.0],[27,26,\"b\",\"CB\",true,\"SB CB3\",0.0],[29,28,\"b\",\"CB\",true,\"SB CB4\",0.0],[31,30,\"b\",\"CB\",true,\"SB CB5\",0.0],[18,0,\"l\",\"LBS\",true,\"Switch Bus SB 2 - HV Line1\",0.0],[32,0,\"l\",\"LBS\",true,\"Switch Bus HV1 - HV Line1\",0.0],[32,1,\"l\",\"LBS\",true,\"Switch Bus HV1 - HV Line2\",0.0],[33,1,\"l\",\"LBS\",true,\"Switch Bus HV2 - HV Line2\",0.0],[33,2,\"l\",\"LBS\",true,\"Switch Bus HV2 - HV Line3\",0.0],[35,2,\"l\",\"LBS\",true,\"Switch Bus HV4 - HV Line3\",0.0],[32,3,\"l\",\"LBS\",true,\"Switch Bus HV1 - HV Line4\",0.0],[35,3,\"l\",\"LBS\",true,\"Switch Bus HV4 - HV Line4\",0.0],[34,4,\"l\",\"LBS\",true,\"Switch Bus HV3 - HV Line5\",0.0],[35,4,\"l\",\"LBS\",true,\"Switch Bus HV4 - HV Line5\",0.0],[19,5,\"l\",\"LBS\",true,\"Switch Bus SB 3 - HV Line6\",0.0],[34,5,\"l\",\"LBS\",true,\"Switch Bus HV3 - HV Line6\",0.0],[37,6,\"l\",\"LBS\",true,\"Switch Bus MV0 - MV Line1\",0.0],[38,6,\"l\",\"LBS\",true,\"Switch Bus MV1 - MV Line1\",0.0],[38,7,\"l\",\"LBS\",true,\"Switch Bus MV1 - MV Line2\",0.0],[39,7,\"l\",\"LBS\",true,\"Switch Bus MV2 - MV Line2\",0.0],[39,8,\"l\",\"LBS\",true,\"Switch Bus MV2 - MV Line3\",0.0],[40,8,\"l\",\"LBS\",true,\"Switch Bus MV3 - MV Line3\",0.0],[40,9,\"l\",\"LBS\",true,\"Switch Bus MV3 - MV Line4\",0.0],[41,9,\"l\",\"LBS\",true,\"Switch Bus MV4 - MV Line4\",0.0],[41,10,\"l\",\"LBS\",true,\"Switch Bus MV4 - MV Line5\",0.0],[42,10,\"l\",\"LBS\",false,\"Switch Bus MV5 - MV Line5\",0.0],[42,11,\"l\",\"LBS\",true,\"Switch Bus MV5 - MV Line6\",0.0],[43,11,\"l\",\"LBS\",true,\"Switch Bus MV6 - MV Line6\",0.0],[43,12,\"l\",\"LBS\",true,\"Switch Bus MV6 - MV Line7\",0.0],[44,12,\"l\",\"LBS\",true,\"Switch Bus MV7 - MV Line7\",0.0],[37,13,\"l\",\"LBS\",true,\"Switch Bus MV0 - MV Line8\",0.0],[44,13,\"l\",\"LBS\",true,\"Switch Bus MV7 - MV Line8\",0.0],[45,14,\"l\",\"LBS\",true,\"Switch Bus LV0 - LV Line1.1\",0.0],[46,14,\"l\",\"LBS\",true,\"Switch Bus LV1.1 - LV Line1.1\",0.0],[46,15,\"l\",\"LBS\",true,\"Switch Bus LV1.1 - LV Line1.2\",0.0],[47,15,\"l\",\"LBS\",true,\"Switch Bus LV1.2 - LV Line1.2\",0.0],[47,16,\"l\",\"LBS\",true,\"Switch Bus LV1.2 - LV Line1.3\",0.0],[48,16,\"l\",\"LBS\",true,\"Switch Bus LV1.3 - LV Line1.3\",0.0],[48,17,\"l\",\"LBS\",true,\"Switch Bus LV1.3 - LV Line1.4\",0.0],[49,17,\"l\",\"LBS\",true,\"Switch Bus LV1.4 - LV Line1.4\",0.0],[49,18,\"l\",\"LBS\",true,\"Switch Bus LV1.4 - LV Line1.6\",0.0],[50,18,\"l\",\"LBS\",true,\"Switch Bus LV1.5 - LV Line1.6\",0.0],[45,19,\"l\",\"LBS\",true,\"Switch Bus LV0 - LV Line2.1\",0.0],[51,19,\"l\",\"LBS\",true,\"Switch Bus LV2.1 - LV Line2.1\",0.0],[51,20,\"l\",\"LBS\",true,\"Switch Bus LV2.1 - LV Line2.2\",0.0],[52,20,\"l\",\"LBS\",true,\"Switch Bus LV2.2 - LV Line2.2\",0.0],[52,21,\"l\",\"LBS\",true,\"Switch Bus LV2.2 - LV Line2.3\",0.0],[53,21,\"l\",\"LBS\",true,\"Switch Bus LV2.3 - LV Line2.3\",0.0],[53,22,\"l\",\"LBS\",true,\"Switch Bus LV2.3 - LV Line2.4\",0.0],[54,22,\"l\",\"LBS\",true,\"Switch Bus LV2.4 - LV Line2.4\",0.0],[52,23,\"l\",\"LBS\",true,\"Switch Bus LV2.2 - LV Line2.2.1\",0.0],[55,23,\"l\",\"LBS\",true,\"Switch Bus LV2.2.1 - LV Line2.2.1\",0.0],[55,24,\"l\",\"LBS\",true,\"Switch Bus LV2.2.1 - LV Line2.2.2\",0.0],[56,24,\"l\",\"LBS\",true,\"Switch Bus LV2.2.2 - LV Line2.2.2\",0.0],[13,0,\"t\",\"LBS\",true,\"Switch DB2 - EHV-HV-Trafo\",0.0],[17,0,\"t\",\"LBS\",true,\"Switch SB1 - EHV-HV-Trafo\",0.0],[41,1,\"t\",\"LBS\",true,\"Switch MV4 - MV-LV-Trafo\",0.0],[45,1,\"t\",\"LBS\",true,\"Switch LV0 - MV-LV-Trafo\",0.0]]}", + "orient": "split", + "dtype": { + "bus": "int64", + "element": "int64", + "et": "object", + "type": "object", + "closed": "bool", + "name": "object", + "z_ohm": "float64" + } + }, + "shunt": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"bus\",\"name\",\"q_mvar\",\"p_mw\",\"vn_kv\",\"step\",\"max_step\",\"in_service\"],\"index\":[0],\"data\":[[32,\"Shunt\",-0.96,0.0,110.0,1,1,true]]}", + "orient": "split", + "dtype": { + "bus": "uint32", + "name": "object", + "q_mvar": "float64", + "p_mw": "float64", + "vn_kv": "float64", + "step": "uint32", + "max_step": "uint32", + "in_service": "bool" + } + }, + "ext_grid": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"name\",\"bus\",\"vm_pu\",\"va_degree\",\"slack_weight\",\"in_service\",\"s_sc_max_mva\",\"rx_min\",\"rx_max\"],\"index\":[0],\"data\":[[\"External grid\",0,1.03,0.0,1.0,true,10000.0,0.1,0.1]]}", + "orient": "split", + "dtype": { + "name": "object", + "bus": "uint32", + "vm_pu": "float64", + "va_degree": "float64", + "slack_weight": "float64", + "in_service": "bool", + "s_sc_max_mva": "float64", + "rx_min": "float64", + "rx_max": "float64" + } + }, + "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\"],\"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],\"data\":[[\"HV Line1\",\"184-AL1\\/30-ST1A 110.0\",18,32,30.0,0.1571,0.4,8.800000000000001,0.0,0.535,1.0,1,\"ol\",true],[\"HV Line2\",\"184-AL1\\/30-ST1A 110.0\",32,33,20.0,0.1571,0.4,8.800000000000001,0.0,0.535,1.0,1,\"ol\",true],[\"HV Line3\",\"184-AL1\\/30-ST1A 110.0\",33,35,30.0,0.1571,0.4,8.800000000000001,0.0,0.535,1.0,1,\"ol\",true],[\"HV Line4\",\"184-AL1\\/30-ST1A 110.0\",32,35,15.0,0.1571,0.4,8.800000000000001,0.0,0.535,1.0,1,\"ol\",true],[\"HV Line5\",\"184-AL1\\/30-ST1A 110.0\",34,35,25.0,0.1571,0.4,8.800000000000001,0.0,0.535,1.0,1,\"ol\",true],[\"HV Line6\",\"184-AL1\\/30-ST1A 110.0\",19,34,30.0,0.1571,0.4,8.800000000000001,0.0,0.535,1.0,2,\"ol\",true],[\"MV Line1\",\"NA2XS2Y 1x185 RM\\/25 12\\/20 kV\",37,38,1.5,0.161,0.117,273.0,0.0,0.362,1.0,1,\"cs\",true],[\"MV Line2\",\"NA2XS2Y 1x185 RM\\/25 12\\/20 kV\",38,39,1.5,0.161,0.117,273.0,0.0,0.362,1.0,1,\"cs\",true],[\"MV Line3\",\"NA2XS2Y 1x185 RM\\/25 12\\/20 kV\",39,40,1.5,0.161,0.117,273.0,0.0,0.362,1.0,1,\"cs\",true],[\"MV Line4\",\"NA2XS2Y 1x185 RM\\/25 12\\/20 kV\",40,41,1.5,0.161,0.117,273.0,0.0,0.362,1.0,1,\"cs\",true],[\"MV Line5\",\"NA2XS2Y 1x185 RM\\/25 12\\/20 kV\",41,42,1.5,0.161,0.117,273.0,0.0,0.362,1.0,1,\"cs\",true],[\"MV Line6\",\"NA2XS2Y 1x185 RM\\/25 12\\/20 kV\",42,43,1.5,0.161,0.117,273.0,0.0,0.362,1.0,1,\"cs\",true],[\"MV Line7\",\"NA2XS2Y 1x185 RM\\/25 12\\/20 kV\",43,44,1.5,0.161,0.117,273.0,0.0,0.362,1.0,1,\"cs\",true],[\"MV Line8\",\"NA2XS2Y 1x185 RM\\/25 12\\/20 kV\",37,44,1.5,0.161,0.117,273.0,0.0,0.362,1.0,1,\"cs\",true],[\"LV Line1.1\",\"NAYY 4x120 SE\",45,46,0.08,0.225,0.08,264.0,0.0,0.242,1.0,1,\"cs\",true],[\"LV Line1.2\",\"NAYY 4x120 SE\",46,47,0.08,0.225,0.08,264.0,0.0,0.242,1.0,1,\"cs\",true],[\"LV Line1.3\",\"NAYY 4x120 SE\",47,48,0.08,0.225,0.08,264.0,0.0,0.242,1.0,1,\"cs\",true],[\"LV Line1.4\",\"NAYY 4x120 SE\",48,49,0.08,0.225,0.08,264.0,0.0,0.242,1.0,1,\"cs\",true],[\"LV Line1.6\",\"NAYY 4x120 SE\",49,50,0.08,0.225,0.08,264.0,0.0,0.242,1.0,1,\"cs\",true],[\"LV Line2.1\",\"NAYY 4x120 SE\",45,51,0.12,0.225,0.08,264.0,0.0,0.242,1.0,1,\"cs\",true],[\"LV Line2.2\",\"NAYY 4x120 SE\",51,52,0.12,0.225,0.08,264.0,0.0,0.242,1.0,1,\"cs\",true],[\"LV Line2.3\",\"15-AL1\\/3-ST1A 0.4\",52,53,0.12,1.8769,0.35,11.0,0.0,0.105,1.0,1,\"ol\",true],[\"LV Line2.4\",\"15-AL1\\/3-ST1A 0.4\",53,54,0.12,1.8769,0.35,11.0,0.0,0.105,1.0,1,\"ol\",true],[\"LV Line2.2.1\",\"15-AL1\\/3-ST1A 0.4\",52,55,0.12,1.8769,0.35,11.0,0.0,0.105,1.0,1,\"ol\",true],[\"LV Line2.2.2\",\"15-AL1\\/3-ST1A 0.4\",55,56,0.12,1.8769,0.35,11.0,0.0,0.105,1.0,1,\"ol\",true]]}", + "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" + } + }, + "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_phase_shifter\",\"parallel\",\"df\",\"in_service\",\"pt_percent\",\"oltc\"],\"index\":[0,1],\"data\":[[\"EHV-HV-Trafo\",null,13,17,300.0,380.0,110.0,8.0,0.06,0.0,0.0,0.0,null,null,null,null,null,null,0,false,1,1.0,true,null,false],[\"MV-LV-Trafo\",null,41,45,0.4,10.0,0.4,4.0,1.325,0.95,0.2375,150.0,\"hv\",0.0,-2.0,2.0,2.5,null,-2,false,1,1.0,true,null,false]]}", + "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": "float64", + "tap_min": "float64", + "tap_max": "float64", + "tap_step_percent": "float64", + "tap_step_degree": "float64", + "tap_pos": "int32", + "tap_phase_shifter": "bool", + "parallel": "uint32", + "df": "float64", + "in_service": "bool", + "pt_percent": "float64", + "oltc": "object" + } + }, + "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\",\"in_service\",\"vk0_hv_percent\",\"vk0_mv_percent\",\"vk0_lv_percent\",\"vkr0_hv_percent\",\"vkr0_mv_percent\",\"vkr0_lv_percent\",\"vector_group\"],\"index\":[0],\"data\":[[\"HV-MV-MV-Trafo\",null,33,36,37,40.0,15.0,25.0,110.0,20.0,10.0,10.1,10.1,10.1,0.266667,0.033333,0.04,0.0,0.0,30.0,30.0,\"hv\",0,-8,8,1.25,null,0,false,true,null,null,null,null,null,null,null]]}", + "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", + "in_service": "bool", + "vk0_hv_percent": "float64", + "vk0_mv_percent": "float64", + "vk0_lv_percent": "float64", + "vkr0_hv_percent": "float64", + "vkr0_mv_percent": "float64", + "vkr0_lv_percent": "float64", + "vector_group": "float64" + } + }, + "impedance": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"name\",\"from_bus\",\"to_bus\",\"rft_pu\",\"xft_pu\",\"rtf_pu\",\"xtf_pu\",\"sn_mva\",\"in_service\"],\"index\":[0],\"data\":[[\"Impedance\",34,32,0.074873,0.198872,0.074873,0.198872,100.0,true]]}", + "orient": "split", + "dtype": { + "name": "object", + "from_bus": "uint32", + "to_bus": "uint32", + "rft_pu": "float64", + "xft_pu": "float64", + "rtf_pu": "float64", + "xtf_pu": "float64", + "sn_mva": "float64", + "in_service": "bool" + } + }, + "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" + } + }, + "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" + } + }, + "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\":[0,1],\"data\":[[\"XWard 1\",34,23.942,-12.24187,0.0,2.814571,0.0,12.18951,1.02616,0.0,true],[\"XWard 2\",32,3.776,-7.769979,0.0,9.174917000000001,0.0,50.562170000000002,1.024001,0.0,true]]}", + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "characteristic": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"object\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "object": "object" + } + }, + "controller": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"object\",\"in_service\",\"order\",\"level\",\"initial_run\",\"recycle\"],\"index\":[0],\"data\":[[{\"_module\":\"pandapower.control.controller.trafo.DiscreteTapControl\",\"_class\":\"DiscreteTapControl\",\"_object\":\"{\\\"index\\\": {\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"int64\\\", \\\"_object\\\": 0}, \\\"matching_params\\\": {\\\"tid\\\": 1, \\\"trafotype\\\": \\\"2W\\\"}, \\\"tid\\\": 1, \\\"trafotype\\\": \\\"2W\\\", \\\"trafotable\\\": \\\"trafo\\\", \\\"element_in_service\\\": {\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"bool_\\\", \\\"_object\\\": \\\"true\\\"}, \\\"side\\\": \\\"lv\\\", \\\"controlled_bus\\\": {\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"uint32\\\", \\\"_object\\\": 45}, \\\"tap_min\\\": {\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"float64\\\", \\\"_object\\\": -2.0}, \\\"tap_max\\\": {\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"float64\\\", \\\"_object\\\": 2.0}, \\\"tap_step_percent\\\": {\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"float64\\\", \\\"_object\\\": 2.5}, \\\"tap_step_degree\\\": {\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"float64\\\", \\\"_object\\\": \\\"nan\\\"}, \\\"tap_sign\\\": 1, \\\"tap_pos\\\": {\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"int32\\\", \\\"_object\\\": -2}, \\\"tol\\\": 0.001, \\\"tap_side_coeff\\\": 1, \\\"vm_lower_pu\\\": 1.02, \\\"vm_upper_pu\\\": 1.03, \\\"vm_delta_pu\\\": {\\\"_module\\\": \\\"numpy\\\", \\\"_class\\\": \\\"float64\\\", \\\"_object\\\": 0.013500000000000002}, \\\"_vm_set_pu\\\": null}\"},true,0.0,0,true,{\"trafo\":true,\"gen\":false,\"bus_pq\":false}]]}", + "orient": "split", + "dtype": { + "object": "object", + "in_service": "bool", + "order": "float64", + "level": "object", + "initial_run": "bool", + "recycle": "object" + } + }, + "line_geodata": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"coords\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "coords": "object" + } + }, + "bus_geodata": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"x\",\"y\",\"coords\"],\"index\":[],\"data\":[]}", + "orient": "split", + "dtype": { + "x": "float64", + "y": "float64", + "coords": "object" + } + }, + "version": "2.8.0", + "converged": true, + "name": "", + "f_hz": 50.0, + "sn_mva": 1, + "std_types": { + "line": { + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + } + }, + "trafo": { + "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_phase_shifter": 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_phase_shifter": 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_phase_shifter": 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_phase_shifter": 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_phase_shifter": 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_phase_shifter": false + }, + "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_phase_shifter": false + }, + "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_phase_shifter": 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_phase_shifter": 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_phase_shifter": 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_phase_shifter": 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_phase_shifter": 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_phase_shifter": 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_phase_shifter": 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 + }, + "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 + } + } + }, + "res_bus": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"vm_pu\",\"va_degree\",\"p_mw\",\"q_mvar\"],\"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],\"data\":[[1.03,0.0,-120.832210935105138,8.986122376211824],[1.03,0.0,0.0,0.0],[1.03,0.0,0.0,0.0],[1.03,0.0,0.0,0.0],[1.03,0.0,0.0,0.0],[1.03,0.0,0.0,0.0],[1.03,0.0,0.0,0.0],[1.03,0.0,0.0,0.0],[1.03,0.0,0.0,0.0],[1.03,0.0,0.0,0.0],[1.03,0.0,0.0,0.0],[1.03,0.0,0.0,0.0],[1.03,0.0,0.0,0.0],[1.03,0.0,0.0,0.0],[1.03,0.0,0.0,0.0],[1.03,0.0,0.0,0.0],[1.032566317468735,-1.737062315151196,0.0,0.0],[1.032566317468735,-1.737062315151196,0.0,0.0],[1.032566317468735,-1.737062315151196,0.0,0.0],[1.032566317468735,-1.737062315151196,0.0,0.0],[1.032566317468735,-1.737062315151196,38.0,6.0],[1.032566317468735,-1.737062315151196,-20.0,-4.0],[1.032566317468735,-1.737062315151196,0.0,0.0],[1.032566317468735,-1.737062315151196,0.0,0.0],[1.032566317468735,-1.737062315151196,0.0,0.0],[1.032566317468735,-1.737062315151196,0.0,0.0],[1.032566317468735,-1.737062315151196,0.0,0.0],[1.032566317468735,-1.737062315151196,0.0,0.0],[1.032566317468735,-1.737062315151196,0.0,0.0],[1.032566317468735,-1.737062315151196,0.0,0.0],[1.032566317468735,-1.737062315151196,0.0,0.0],[1.032566317468735,-1.737062315151196,0.0,0.0],[1.022139225049066,-3.964922790907997,51.361665146853909,-3.22836091724298],[1.014453717739089,-4.627771707455302,38.0,6.0],[1.025551798914278,-3.523340571959964,64.902243322166342,-6.861031457887569],[1.03,-3.268944992366195,-62.0,-12.890948534011841],[1.001158368460438,-36.388524763458882,3.0,1.0],[1.001455406693521,-36.248591399432101,5.5,1.949999999999999],[0.997072001242886,-36.318321920570249,0.400000000000006,0.1],[0.993811943074183,-36.360175836753925,0.400000000000006,0.06],[0.991607692874932,-36.368086278540844,0.400000000000006,0.06],[0.990461535333782,-36.341741700935813,0.0,0.0],[1.012386125576121,-35.792064702156225,-1.599999999999994,-0.039999999999999],[1.008492144793325,-35.943330348926544,-0.099999999999994,0.06],[1.004448228495524,-36.112126586150069,0.400000000000006,0.06],[1.002676230390809,173.192433331818563,0.099999999999994,0.01],[0.991636570102241,174.074962254437338,0.003999999999991,0.029999999999999],[0.982455498012634,174.786568048144488,0.009999999999991,0.029999999999999],[0.975761586837888,175.331939025040697,0.004999999999995,0.029999999999999],[0.970937568787285,175.691767164562577,0.009999999999991,0.029999999999999],[0.968532191047033,175.87302499768856,0.009999999999991,0.029999999999999],[0.980625257997695,174.796833322932741,0.009999999999991,0.029999999999999],[0.962811070859573,176.196795052838667,0.009999999999991,0.029999999999999],[0.92394794159638,-178.524958998287161,0.004999999999995,0.029999999999999],[0.906390865971606,-175.724405373408274,0.004999999999995,0.029999999999999],[0.92394794159638,-178.524958998287161,0.004999999999995,0.029999999999999],[0.906390865971606,-175.724405373408274,0.004999999999995,0.029999999999999]]}", + "orient": "split", + "dtype": { + "vm_pu": "float64", + "va_degree": "float64", + "p_mw": "float64", + "q_mvar": "float64" + } + }, + "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\"],\"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],\"data\":[[39.809328141115145,-4.509305043933347,-39.224601410279739,4.938878163571404,0.584726730835406,0.429573119638057,0.203648870006958,0.203006911801229,0.203648870006958,1.032566317468735,-1.737062315151196,1.022139225049066,-3.964922790907997,38.065209347094886],[19.797402132987621,3.861712162190074,-19.695581375792969,-4.296210672626441,0.101820757194652,-0.434498510436367,0.103574719828531,0.104298259230312,0.104298259230312,1.022139225049066,-3.964922790907997,1.014453717739089,-4.627771707455302,19.495001725292006],[-26.955986413926457,-5.535547491560745,27.240537238081718,5.211337948551043,0.284550824155261,-0.324209543009702,0.142376759981341,0.141328740071358,0.142376759981341,1.014453717739089,-4.627771707455302,1.03,-3.268944992366195,26.612478501185194],[-27.803229462399809,-5.389291381229378,27.952225881361205,5.24037233908544,0.148996418961396,-0.148919042143938,0.145425696572447,0.144919533977856,0.145425696572447,1.022139225049066,-3.964922790907997,1.03,-3.268944992366195,27.182373191111648],[-6.79051670116371,-3.280065043202679,6.807236880557198,2.439238286414208,0.016720179393489,-0.840826756788471,0.038594950308164,0.036847833831637,0.038594950308164,1.025551798914278,-3.523340571959964,1.03,-3.268944992366195,7.214009403395129],[62.995205965646932,-10.166957321848205,-62.255218103354871,9.925607469924998,0.739987862292061,-0.241349851923207,0.32435453833395,0.322638045436229,0.32435453833395,1.032566317468735,-1.737062315151196,1.025551798914278,-3.523340571959964,30.31350825550934],[1.429026860253588,0.528833583789663,-1.423419510339933,-0.537604623383834,0.005607349913655,-0.008771039594171,0.087845302965104,0.088105222622294,0.088105222622294,1.001455406693521,-36.248591399432101,0.997072001242886,-36.318321920570249,24.338459287926654],[1.023419510339958,0.437604623383951,-1.020396309403838,-0.448155485792577,0.003023200936119,-0.010550862408626,0.06445081324007,0.064744822516376,0.064744822516376,0.997072001242886,-36.318321920570249,0.993811943074183,-36.360175836753925,17.885310087396565],[0.620396309403896,0.388155485792738,-0.619074626228479,-0.399872955436752,0.001321683175417,-0.011717469644014,0.042514562263855,0.042910155285338,0.042910155285338,0.993811943074183,-36.360175836753925,0.991607692874932,-36.368086278540844,11.853634056723122],[0.219074626228476,0.339872955436649,-0.218662386325311,-0.352208561376466,0.000412239903165,-0.012335605939817,0.023543340423577,0.024165420401332,0.024165420401332,0.991607692874932,-36.368086278540844,0.990461535333782,-36.341741700935813,6.675530497605421],[0.000000098027897,-0.012620642324372,-0.000000000000011,-0.000000000000062,0.000000098027886,-0.012620642324434,0.000735670289416,0.000000000000004,0.000735670289416,0.990461535333782,-36.341741700935813,0.990472716543133,-36.342631759233498,0.203223836855188],[1.600000000000064,0.039999999999969,-1.593962837616674,-0.048747613213886,0.006037162383391,-0.008747613213918,0.091274370262708,0.091295221632781,0.091295221632781,1.012386125576121,-35.792064702156225,1.008492144793325,-35.943330348926544,25.219674484193526],[1.693962837616463,-0.011252386786182,-1.687149134444369,0.003172071224941,0.006813703172094,-0.008080315561241,0.096979583062927,0.096976399672651,0.096979583062927,1.008492144793325,-35.943330348926544,1.004448228495524,-36.112126586150069,26.78994007263179],[-1.283175744800509,0.053118653529058,1.287149134444487,-0.063172071224941,0.003973389643978,-0.010053417695883,0.074039878002644,0.074073541643104,0.074073541643104,1.001455406693521,-36.248591399432101,1.004448228495524,-36.112126586150069,20.462304321299467],[0.045311720091505,0.152239055400411,-0.042488471638043,-0.151236289338417,0.002823248453462,0.001002766061994,0.228652666861734,0.22865413456511,0.22865413456511,1.002676230390809,173.192433331818563,0.991636570102241,174.074962254437338,94.485179572359357],[0.03848847163805,0.121236289338417,-0.036637419552687,-0.120579171789307,0.001851052085363,0.00065711754911,0.18514446841572,0.185145912738215,0.185145912738215,0.991636570102241,174.074962254437338,0.982455498012634,174.786568048144488,76.506575511659136],[0.026637419552697,0.090579171789309,-0.02559843127854,-0.090210771461465,0.001038988274157,0.000368400327844,0.138709492330768,0.138710933644003,0.138710933644003,0.982455498012634,174.786568048144488,0.975761586837888,175.331939025040697,57.318567621488917],[0.020598431278546,0.06021077146147,-0.020119925469609,-0.060041641845356,0.000478505808937,0.000169129616115,0.094133339027296,0.094134751693722,0.094134751693722,0.975761586837888,175.331939025040697,0.970937568787285,175.691767164562577,38.898657724678714],[0.010119925469616,0.030041641845363,-0.009999999999991,-0.029999999999994,0.000119925469625,0.00004164184537,0.047125105697538,0.047126514617349,0.047126514617349,0.970937568787285,175.691767164562577,0.968532191047033,175.87302499768856,19.473766370805336],[0.066850749171519,0.186905656247472,-0.060236932683375,-0.18455564317587,0.006613816488144,0.002350013071602,0.285747152819168,0.285749309142286,0.285749309142286,1.002676230390809,173.192433331818563,0.980625257997695,174.796833322932741,118.078226918299833],[0.050236932683493,0.154555643175633,-0.045602147659442,-0.152909223349473,0.004634785024051,0.00164641982616,0.239205048975072,0.239207181072441,0.239207181072441,0.980625257997695,174.796833322932741,0.962811070859573,176.196795052838667,98.845942591917577],[0.017801073830727,0.061454611672269,-0.011584938156844,-0.060295500047399,0.006216135673884,0.00115911162487,0.095915373957123,0.095915461688209,0.095915461688209,0.962811070859573,176.196795052838667,0.92394794159638,-178.524958998287161,91.348058750675037],[0.006584938159416,0.030295500045626,-0.00499999999959,-0.029999999994756,0.001584938159825,0.00029550005087,0.048432173087914,0.048432259132414,0.048432259132414,0.92394794159638,-178.524958998287161,0.906390865971606,-175.724405373408274,46.12596107848951],[0.017801073830727,0.061454611672269,-0.011584938156844,-0.060295500047399,0.006216135673884,0.00115911162487,0.095915373957123,0.095915461688209,0.095915461688209,0.962811070859573,176.196795052838667,0.92394794159638,-178.524958998287161,91.348058750675037],[0.006584938159416,0.030295500045626,-0.00499999999959,-0.029999999994756,0.001584938159825,0.00029550005087,0.048432173087914,0.048432259132414,0.048432259132414,0.92394794159638,-178.524958998287161,0.906390865971606,-175.724405373408274,46.12596107848951]]}", + "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" + } + }, + "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\"],\"index\":[0,1],\"data\":[[120.832210935105138,-8.986122376211824,-120.804534106761622,12.676262365783437,0.027676828343516,3.690139989571612,0.178730610282879,0.617433017340853,1.03,0.0,1.032566317468735,-1.737062315151196,39.212263064513493],[0.218662288297095,0.364829203701136,-0.212162469262893,-0.349144711647666,0.006499819034201,0.01568449205347,0.024793469198853,0.588120436633252,0.990461535333782,-36.341741700935813,1.002676230390809,173.192433331818563,107.358870870768669]]}", + "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" + } + }, + "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\":[0],\"data\":[[8.651567789719145,3.831758164186653,-3.000000000000039,-1.000000000000029,-5.645851115453102,-2.531952237318771,0.005716674266004,0.299805926867853,0.048955735800306,0.091181471177141,0.356722184897979,1.014453717739089,-4.627771707455302,1.001158368460438,-36.388524763458882,1.001455406693521,-36.248591399432101,-5.589724180644804,1.006238544418721,24.714437937211144]]}", + "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" + } + }, + "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\":[0],\"data\":[[4.143491482352068,0.215489031165858,-4.131236407161728,-0.182938027289247,0.01225507519034,0.032551003876611,0.021234501022853,0.021234501022853]]}", + "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" + } + }, + "res_ext_grid": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"p_mw\",\"q_mvar\"],\"index\":[0],\"data\":[[120.832210935105138,-8.986122376211824]]}", + "orient": "split", + "dtype": { + "p_mw": "float64", + "q_mvar": "float64" + } + }, + "res_load": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"p_mw\",\"q_mvar\"],\"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],\"data\":[[38.0,6.0],[38.0,6.0],[38.0,6.0],[38.0,6.0],[38.0,6.0],[6.0,2.0],[18.0,4.0],[0.4,0.1],[0.4,0.06],[0.4,0.06],[0.4,0.06],[0.4,0.06],[0.4,0.06],[0.1,0.01],[0.01,0.03],[0.01,0.03],[0.01,0.03],[0.01,0.03],[0.01,0.03],[0.01,0.03],[0.01,0.03],[0.01,0.03],[0.01,0.03],[0.01,0.03],[0.01,0.03]]}", + "orient": "split", + "dtype": { + "p_mw": "float64", + "q_mvar": "float64" + } + }, + "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" + } + }, + "res_sgen": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"p_mw\",\"q_mvar\"],\"index\":[0,1,2,3,4,5,6,7,8,9,10],\"data\":[[20.0,4.0],[0.5,0.0],[0.5,0.05],[15.0,3.0],[2.0,0.1],[0.006,0.0],[0.005,0.0],[0.005,0.0],[0.005,0.0],[0.005,0.0],[0.005,0.0]]}", + "orient": "split", + "dtype": { + "p_mw": "float64", + "q_mvar": "float64" + } + }, + "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" + } + }, + "res_shunt": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"p_mw\",\"q_mvar\",\"vm_pu\"],\"index\":[0],\"data\":[[0.0,-1.002977851568548,1.022139225049066]]}", + "orient": "split", + "dtype": { + "p_mw": "float64", + "q_mvar": "float64", + "vm_pu": "float64" + } + }, + "res_gen": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"p_mw\",\"q_mvar\",\"va_degree\",\"vm_pu\"],\"index\":[0],\"data\":[[100.0,18.890948534011841,-3.268944992366195,1.03]]}", + "orient": "split", + "dtype": { + "p_mw": "float64", + "q_mvar": "float64", + "va_degree": "float64", + "vm_pu": "float64" + } + }, + "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" + } + }, + "res_xward": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[\"p_mw\",\"q_mvar\",\"vm_pu\",\"va_internal_degree\",\"vm_internal_pu\"],\"index\":[0,1],\"data\":[[26.902243322166321,-12.86103145788757,1.025551798914278,-3.523340571959963,1.02616],[13.361665146853909,-8.225383065674432,1.022139225049066,-3.964922790907999,1.024001]]}", + "orient": "split", + "dtype": { + "p_mw": "float64", + "q_mvar": "float64", + "vm_pu": "float64", + "va_internal_degree": "float64", + "vm_internal_pu": "float64" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_bus_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_line_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_trafo3w_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_ext_grid_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_gen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "res_sgen_sc": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "res_shunt_3ph": { + "_module": "pandas.core.frame", + "_class": "DataFrame", + "_object": "{\"columns\":[],\"index\":[],\"data\":[]}", + "orient": "split" + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "user_pf_options": {}, + "OPF_converged": false + } +} \ No newline at end of file diff --git a/pandapower/test/test_files/save_version.py b/pandapower/test/test_files/save_version.py index aa23a4a42..10b5213e0 100644 --- a/pandapower/test/test_files/save_version.py +++ b/pandapower/test/test_files/save_version.py @@ -12,4 +12,4 @@ net = nw.example_multivoltage() control.DiscreteTapControl(net, 1, 1.02, 1.03) pp.runpp(net, run_control=True) -pp.to_json(net, os.path.join("old_versions", "example_%s.json"%pp.__version__)) \ No newline at end of file +pp.to_json(net, os.path.join("old_versions", "example_%s.json" % pp.__version__)) diff --git a/setup.py b/setup.py index 28a700668..00fa01462 100644 --- a/setup.py +++ b/setup.py @@ -26,7 +26,7 @@ with open('.github/workflows/github_test_action.yml', 'rb') as f: lines = f.read().decode('utf-8') - versions = set(re.findall('3.[0-9]', lines)) + versions = set(re.findall('3.[7-9]', lines)) for version in versions: classifiers.append('Programming Language :: Python :: 3.%s' % version[-1]) @@ -34,7 +34,7 @@ setup( name='pandapower', - version='2.7.0', + version='2.8.0', author='Leon Thurner, Alexander Scheidler', author_email='leon.thurner@iee.fraunhofer.de, alexander.scheidler@iee.fraunhofer.de', description='An easy to use open source tool for power system modeling, analysis and optimization with a high degree of automation.', From b614919621bde37349f340ce23bd01da413435f9 Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Fri, 4 Feb 2022 18:05:38 +0100 Subject: [PATCH 420/422] RELEASE 2.8.0: mention lightsim2grid in README.rst --- README.rst | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/README.rst b/README.rst index 3f66ac58d..ed298c78d 100644 --- a/README.rst +++ b/README.rst @@ -45,7 +45,12 @@ -pandapower is an easy to use network calculation program aimed to automate the analysis and optimization of power systems. It uses the data analysis library `pandas `_ and is compatible with the commonly used MATPOWER / PYPOWER case format. pandapower allows using different solvers including an improved Newton-Raphson power flow implementation, all `PYPOWER `_ solvers, and the `PowerModels.jl `_ library. +pandapower is an easy to use network calculation program aimed to automate the analysis and optimization of power +systems. It uses the data analysis library `pandas `_ and is compatible with the commonly +used MATPOWER / PYPOWER case format. pandapower allows using different solvers including an improved Newton-Raphson +power flow implementation, all `PYPOWER `_ solvers, the Newton-Raphson power +flow solvers in the C++ library `lightsim2grid `_, and the +`PowerModels.jl `_ library. More information about pandapower can be found on `www.pandapower.org `_: From 9e0eab261c1ea7e8588cd45f12373cf44df3c75f Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Fri, 4 Feb 2022 18:26:18 +0100 Subject: [PATCH 421/422] Update CHANGELOG.rst --- CHANGELOG.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index e4886b149..983e9b3db 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,6 +1,6 @@ Change Log -[2.8.0]- 2021-07-15 +[2.8.0]- 2022-02-04 ---------------------- - [ADDED] toolbox functions false_elm_links() and false_elm_links_loop() - [FIXED] poly_cost and pwl_cost consideration in merge_nets() From 48f8daa3371828eeaf196650ed8d1f09c53d8ce9 Mon Sep 17 00:00:00 2001 From: Roman Bolgaryn Date: Sun, 6 Feb 2022 21:02:22 +0100 Subject: [PATCH 422/422] RELEASE 2.8.0: replaced some of the append by concat, reduced the amount of prints during tests, removed numpy deprecation warnings due to type --- CHANGELOG.rst | 2 +- pandapower/auxiliary.py | 2 +- pandapower/create.py | 13 +++-- .../estimation/algorithm/optimization.py | 4 +- pandapower/shortcircuit/currents.py | 6 +-- pandapower/shortcircuit/impedance.py | 8 ++-- pandapower/shortcircuit/toolbox.py | 4 ++ pandapower/test/api/test_toolbox.py | 6 +-- pandapower/test/control/test_control.py | 4 +- .../test/estimation/test_opt_lp_estimation.py | 47 +++++++++---------- pandapower/test/opf/test_TNEP.py | 47 ++++++++++--------- 11 files changed, 76 insertions(+), 67 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 983e9b3db..9917e5edd 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,6 +1,6 @@ Change Log -[2.8.0]- 2022-02-04 +[2.8.0]- 2022-02-06 ---------------------- - [ADDED] toolbox functions false_elm_links() and false_elm_links_loop() - [FIXED] poly_cost and pwl_cost consideration in merge_nets() diff --git a/pandapower/auxiliary.py b/pandapower/auxiliary.py index 489627c99..aef7003b3 100644 --- a/pandapower/auxiliary.py +++ b/pandapower/auxiliary.py @@ -356,7 +356,7 @@ def _get_values(source, selection, lookup): """ v = np.zeros(len(selection)) for i, k in enumerate(selection): - v[i] = source[lookup[np.int(k)]] + v[i] = source[lookup[np.int64(k)]] return v diff --git a/pandapower/create.py b/pandapower/create.py index 217ab3405..6aac53705 100644 --- a/pandapower/create.py +++ b/pandapower/create.py @@ -644,14 +644,13 @@ def create_buses(net, nr_buses, vn_kv, index=None, name=None, type="b", geodata= if geodata is not None: # works with a 2-tuple or a matching array - net.bus_geodata = net.bus_geodata.append(pd.DataFrame( - zeros((len(index), len(net.bus_geodata.columns)), dtype=int), index=index, - columns=net.bus_geodata.columns)) + net.bus_geodata = pd.concat([net.bus_geodata, + pd.DataFrame(zeros((len(index), len(net.bus_geodata.columns)), dtype=int), + index=index, columns=net.bus_geodata.columns)]) net.bus_geodata.loc[index, :] = nan net.bus_geodata.loc[index, ["x", "y"]] = geodata if coords is not None: - net.bus_geodata = net.bus_geodata.append(pd.DataFrame(index=index, - columns=net.bus_geodata.columns)) + net.bus_geodata = pd.concat([net.bus_geodata, pd.DataFrame(index=index, columns=net.bus_geodata.columns)]) net["bus_geodata"].loc[index, "coords"] = coords return index @@ -2733,6 +2732,7 @@ def create_transformer3w(net, hv_bus, mv_bus, lv_bus, std_type, name=None, tap_p net.trafo3w.tap_pos = net.trafo3w.tap_pos.astype(float) dd = pd.DataFrame(v, index=[index]) + # todo: drop __version__ checks if version.parse(pd.__version__) < version.parse("0.21"): net["trafo3w"] = net["trafo3w"].append(dd).reindex_axis(net["trafo3w"].columns, axis=1) elif version.parse(pd.__version__) < version.parse("0.23"): @@ -2740,6 +2740,8 @@ def create_transformer3w(net, hv_bus, mv_bus, lv_bus, std_type, name=None, tap_p else: net["trafo3w"] = net["trafo3w"].append(dd, sort=True).reindex(net["trafo3w"].columns, axis=1) + # todo: append -> concat: + # net["trafo3w"] = pd.concat([net["trafo3w"], dd], sort=True).reindex(net["trafo3w"].columns, axis=1) _create_column_and_set_value(net, index, max_loading_percent, "max_loading_percent", "trafo3w") @@ -3926,6 +3928,7 @@ def _add_multiple_branch_geodata(net, table, geodata, index): # geodata is multiple lists of coordinates df["coords"] = geodata + # todo: drop version checks if version.parse(pd.__version__) >= version.parse("0.23"): net[geo_table] = pd.concat([net[geo_table],df], sort=False) else: diff --git a/pandapower/estimation/algorithm/optimization.py b/pandapower/estimation/algorithm/optimization.py index 613bca87a..88df226e0 100644 --- a/pandapower/estimation/algorithm/optimization.py +++ b/pandapower/estimation/algorithm/optimization.py @@ -16,7 +16,7 @@ class OptAlgorithm(BaseAlgorithm): - def estimate(self, eppci: ExtendedPPCI, estimator="wls", **kwargs): + def estimate(self, eppci: ExtendedPPCI, estimator="wls", verbose=True, **kwargs): opt_method = DEFAULT_OPT_METHOD if 'opt_method' not in kwargs else kwargs['opt_method'] # matrix calculation object @@ -25,7 +25,7 @@ def estimate(self, eppci: ExtendedPPCI, estimator="wls", **kwargs): jac = estm.create_cost_jacobian res = minimize(estm.cost_function, x0=eppci.E, method=opt_method, jac=jac, tol=self.tolerance, - options={"disp": True}) + options={"disp": verbose}) self.successful = res.success if self.successful: diff --git a/pandapower/shortcircuit/currents.py b/pandapower/shortcircuit/currents.py index e6e1cc6ec..236b96992 100644 --- a/pandapower/shortcircuit/currents.py +++ b/pandapower/shortcircuit/currents.py @@ -211,9 +211,9 @@ def _calc_branch_currents(net, ppci, bus_idx): V_ikss = V_ikss[:, bus_idx] else: ybus_fact = ppci["internal"]["ybus_fact"] - V_ikss = np.zeros((n_bus, n_sc_bus), dtype=np.complex) + V_ikss = np.zeros((n_bus, n_sc_bus), dtype=np.complex128) for ix, b in enumerate(bus_idx): - ikss = np.zeros(n_bus, dtype=np.complex) + ikss = np.zeros(n_bus, dtype=np.complex128) ikss[b] = ppci["bus"][b, IKSS1] * baseI[b] V_ikss[:, ix] = ybus_fact(ikss) @@ -235,7 +235,7 @@ def _calc_branch_currents(net, ppci, bus_idx): V = np.dot((current * baseI), Zbus).T else: ybus_fact = ppci["internal"]["ybus_fact"] - V = np.zeros((n_bus, n_sc_bus), dtype=np.complex) + V = np.zeros((n_bus, n_sc_bus), dtype=np.complex128) for ix, b in enumerate(bus_idx): V[:, ix] = ybus_fact(current[ix, :] * baseI[b]) diff --git a/pandapower/shortcircuit/impedance.py b/pandapower/shortcircuit/impedance.py index 6b95abc89..b8daaba43 100644 --- a/pandapower/shortcircuit/impedance.py +++ b/pandapower/shortcircuit/impedance.py @@ -68,17 +68,17 @@ def _calc_zbus_diag(net, ppci, bus_idx=None): n_ppci_bus = ppci["bus"].shape[0] if bus_idx is None: - diagZ = np.zeros(n_ppci_bus, dtype=np.complex) + diagZ = np.zeros(n_ppci_bus, dtype=np.complex128) for i in range(n_ppci_bus): - b = np.zeros(n_ppci_bus, dtype=np.complex) + b = np.zeros(n_ppci_bus, dtype=np.complex128) b[i] = 1 + 0j diagZ[i] = ybus_fact(b)[i] ppci["internal"]["diagZ"] = diagZ return diagZ else: - diagZ = np.zeros(bus_idx.shape[0], dtype=np.complex) + diagZ = np.zeros(bus_idx.shape[0], dtype=np.complex128) for ix, b in enumerate(bus_idx): - rhs = np.zeros(n_ppci_bus, dtype=np.complex) + rhs = np.zeros(n_ppci_bus, dtype=np.complex128) rhs[b] = 1 + 0j diagZ[ix] = ybus_fact(rhs)[b] return diagZ diff --git a/pandapower/shortcircuit/toolbox.py b/pandapower/shortcircuit/toolbox.py index a017b197e..7739803b1 100644 --- a/pandapower/shortcircuit/toolbox.py +++ b/pandapower/shortcircuit/toolbox.py @@ -83,6 +83,10 @@ def detect_power_station_unit(net, mode="auto", def _create_element_from_exisiting(net, ele_type, ele_ix): net[ele_type] = net[ele_type].append(pd.Series(net[ele_type].loc[ele_ix, :].to_dict(), name=_get_index_with_check(net, ele_type, None))) + # todo: replace append by concat properly (shortcircuit/test_iec60909_4 fails if append is just replaced by concat) + # this leads to the error: + # net[ele_type] = pd.concat([net[ele_type], pd.Series(net[ele_type].loc[ele_ix, :].to_dict(), + # name=_get_index_with_check(net, ele_type, None))], sort=False) return net[ele_type].index.to_numpy()[-1] diff --git a/pandapower/test/api/test_toolbox.py b/pandapower/test/api/test_toolbox.py index a469b3343..295e5948a 100644 --- a/pandapower/test/api/test_toolbox.py +++ b/pandapower/test/api/test_toolbox.py @@ -482,9 +482,9 @@ def test_merge_and_split_nets(): assert np.allclose(net.res_bus.vm_pu.iloc[:n1].values, net1.res_bus.vm_pu.values) assert np.allclose(net.res_bus.vm_pu.iloc[n1:].values, net2.res_bus.vm_pu.values) - assert (net1.sgen.name.loc[net1.poly_cost.element].append( - net2.sgen.name.loc[net2.poly_cost.element]).values == - net.sgen.name.loc[net.poly_cost.element].values).all() + assert np.array_equal( + pd.concat([net1.sgen.name.loc[net1.poly_cost.element], net2.sgen.name.loc[net2.poly_cost.element]]).values, + net.sgen.name.loc[net.poly_cost.element].values) net3 = pp.select_subnet(net, net.bus.index[:n1], include_results=True) assert pp.dataframes_equal(net3.res_bus[["vm_pu"]], net1.res_bus[["vm_pu"]]) diff --git a/pandapower/test/control/test_control.py b/pandapower/test/control/test_control.py index c9affe94f..629081520 100644 --- a/pandapower/test/control/test_control.py +++ b/pandapower/test/control/test_control.py @@ -94,11 +94,11 @@ def is_converged(self, net): DivergentController(net) with pytest.raises(ct.ControllerNotConverged): - run_timeseries(net, time_steps=range(0, 3), output_writer=output_writer, max_iter=3) + run_timeseries(net, time_steps=range(0, 3), output_writer=output_writer, max_iter=3, verbose=False) # assert no exceptions but appropriate output in outputwriter run_timeseries(net, time_steps=range(0, 3), output_writer=output_writer, max_iter=3, - continue_on_divergence=True) + continue_on_divergence=True, verbose=False) for i, out in enumerate(output_writer.output["Parameters"].controller_unstable): if i % 2 == 0: diff --git a/pandapower/test/estimation/test_opt_lp_estimation.py b/pandapower/test/estimation/test_opt_lp_estimation.py index cd2742e56..f4f408a39 100644 --- a/pandapower/test/estimation/test_opt_lp_estimation.py +++ b/pandapower/test/estimation/test_opt_lp_estimation.py @@ -13,10 +13,9 @@ from pandapower.estimation.algorithm.optimization import OptAlgorithm from pandapower.estimation.algorithm.base import WLSAlgorithm -from pandapower.estimation.algorithm.lp import LPAlgorithm, ortools_available +from pandapower.estimation.algorithm.lp import LPAlgorithm from pandapower.estimation.ppc_conversion import pp2eppci from pandapower.estimation.results import eppci2pp -from copy import deepcopy def test_case9_compare_classical_wls_opt_wls(): @@ -30,16 +29,16 @@ def test_case9_compare_classical_wls_opt_wls(): estimation_opt = OptAlgorithm(1e-6, 1000) eppci = estimation_wls.estimate(eppci) - eppci = estimation_opt.estimate(eppci, estimator="wls") + eppci = estimation_opt.estimate(eppci, estimator="wls", verbose=False) if not estimation_opt.successful: raise AssertionError("Estimation failed due to algorithm failing!") net = eppci2pp(net, ppc, eppci) - net_wls = deepcopy(net) + net_wls = net.deepcopy() estimate(net_wls) - if not np.allclose(net_wls.res_bus_est.vm_pu, net.res_bus_est.vm_pu, atol=1e-2) or\ - not np.allclose(net_wls.res_bus_est.va_degree, net.res_bus_est.va_degree, atol=1e-2): + if not np.allclose(net_wls.res_bus_est.vm_pu, net.res_bus_est.vm_pu, atol=1e-2) or \ + not np.allclose(net_wls.res_bus_est.va_degree, net.res_bus_est.va_degree, atol=1e-2): raise AssertionError("Estimation failed!") @@ -61,8 +60,8 @@ def test_lp_scipy_lav(): net = eppci2pp(net, ppc, eppci) - if not np.allclose(net.res_bus.vm_pu, net.res_bus_est.vm_pu, atol=1e-2) or\ - not np.allclose(net.res_bus.va_degree, net.res_bus_est.va_degree, atol=5e-2): + if not np.allclose(net.res_bus.vm_pu, net.res_bus_est.vm_pu, atol=1e-2) or \ + not np.allclose(net.res_bus.va_degree, net.res_bus_est.va_degree, atol=5e-2): raise AssertionError("Estimation failed!") @@ -76,15 +75,15 @@ def test_lp_ortools_lav(): pp.runpp(net) add_virtual_meas_from_loadflow(net, with_random_error=False) - net, ppc, eppci = pp2eppci(net) + net, ppc, eppci = pp2eppci(net) estimation_ortools_lp = LPAlgorithm(1e-3, 5) estimation_ortools = estimation_ortools_lp.estimate(eppci, with_ortools=True) net = eppci2pp(net, ppc, eppci) - if not np.allclose(net.res_bus.vm_pu, net.res_bus_est.vm_pu, atol=1e-2) or\ - not np.allclose(net.res_bus.va_degree, net.res_bus_est.va_degree, atol=5e-2): + if not np.allclose(net.res_bus.vm_pu, net.res_bus_est.vm_pu, atol=1e-2) or \ + not np.allclose(net.res_bus.va_degree, net.res_bus_est.va_degree, atol=5e-2): raise AssertionError("Estimation failed!") def test_lp_lav(): @@ -98,8 +97,8 @@ def test_lp_lav(): estimate(net, algorithm="lp") - if not np.allclose(net.res_bus.vm_pu, net.res_bus_est.vm_pu, atol=1e-2) or\ - not np.allclose(net.res_bus.va_degree, net.res_bus_est.va_degree, atol=5e-2): + if not np.allclose(net.res_bus.vm_pu, net.res_bus_est.vm_pu, atol=1e-2) or \ + not np.allclose(net.res_bus.va_degree, net.res_bus_est.va_degree, atol=5e-2): raise AssertionError("Estimation failed!") def test_opt_lav(): @@ -112,12 +111,12 @@ def test_opt_lav(): estimation_opt = OptAlgorithm(1e-6, 1000) eppci = estimation_wls.estimate(eppci) - eppci = estimation_opt.estimate(eppci, estimator="lav") + eppci = estimation_opt.estimate(eppci, estimator="lav", verbose=False) net = eppci2pp(net, ppc, eppci) - if not np.allclose(net.res_bus.vm_pu, net.res_bus_est.vm_pu, atol=1e-2) or\ - not np.allclose(net.res_bus.va_degree, net.res_bus_est.va_degree, atol=5e-2): + if not np.allclose(net.res_bus.vm_pu, net.res_bus_est.vm_pu, atol=1e-2) or \ + not np.allclose(net.res_bus.va_degree, net.res_bus_est.va_degree, atol=5e-2): raise AssertionError("Estimation failed!") @@ -135,17 +134,17 @@ def test_ql_qc(): eppci = estimation_wls.estimate(eppci) - eppci = estimation_opt.estimate(eppci, estimator="ql", a=3) + eppci = estimation_opt.estimate(eppci, estimator="ql", a=3, verbose=False) if not estimation_opt.successful: - eppci = estimation_opt.estimate(eppci, estimator="ql", a=3, opt_method="Newton-CG") + eppci = estimation_opt.estimate(eppci, estimator="ql", a=3, opt_method="Newton-CG", verbose=False) if not estimation_opt.successful: raise AssertionError("Estimation failed due to algorithm failing!") net = eppci2pp(net, ppc, eppci) - if not np.allclose(pf_vm_pu, net.res_bus_est.vm_pu, atol=1e-2) or\ - not np.allclose(pf_va_degree, net.res_bus_est.va_degree, atol=5e-2): + if not np.allclose(pf_vm_pu, net.res_bus_est.vm_pu, atol=1e-2) or \ + not np.allclose(pf_va_degree, net.res_bus_est.va_degree, atol=5e-2): raise AssertionError("Estimation failed!") # give it a warm start @@ -154,13 +153,13 @@ def test_ql_qc(): estimation_opt = OptAlgorithm(1e-6, 3000) eppci = estimation_wls.estimate(eppci) - eppci = estimation_opt.estimate(eppci, estimator="qc", a=3) + eppci = estimation_opt.estimate(eppci, estimator="qc", a=3, verbose=False) if not estimation_opt.successful: - eppci = estimation_opt.estimate(eppci, estimator="qc", a=3, opt_method="Newton-CG") + eppci = estimation_opt.estimate(eppci, estimator="qc", a=3, opt_method="Newton-CG", verbose=False) net = eppci2pp(net, ppc, eppci) - if not np.allclose(pf_vm_pu, net.res_bus_est.vm_pu, atol=1e-2) or\ - not np.allclose(pf_va_degree, net.res_bus_est.va_degree, atol=5e-2): + if not np.allclose(pf_vm_pu, net.res_bus_est.vm_pu, atol=1e-2) or \ + not np.allclose(pf_va_degree, net.res_bus_est.va_degree, atol=5e-2): raise AssertionError("Estimation failed!") diff --git a/pandapower/test/opf/test_TNEP.py b/pandapower/test/opf/test_TNEP.py index 724c655f6..472f53b4c 100644 --- a/pandapower/test/opf/test_TNEP.py +++ b/pandapower/test/opf/test_TNEP.py @@ -16,7 +16,7 @@ julia_installed = True except (ImportError, RuntimeError, UnsupportedPythonError) as e: julia_installed = False - print(e) + #print(e) def cigre_grid(): @@ -28,6 +28,7 @@ def cigre_grid(): net["line"].loc[:, "max_loading_percent"] = 60. return net + def define_possible_new_lines(net): # Here the possible new lines are a copy of all the lines which are already in the grid max_idx = max(net["line"].index) @@ -43,6 +44,7 @@ def define_possible_new_lines(net): return net + @pytest.mark.slow @pytest.mark.skipif(julia_installed == False, reason="requires julia installation") def test_pm_tnep_cigre_dc(): @@ -52,8 +54,8 @@ def test_pm_tnep_cigre_dc(): define_possible_new_lines(net) # check if max line loading percent is violated (should be) pp.runpp(net) - print("Max line loading prior to optimization:") - print(net.res_line.loading_percent.max()) + #print("Max line loading prior to optimization:") + #print(net.res_line.loading_percent.max()) assert np.any(net["res_line"].loc[:, "loading_percent"] > net["line"].loc[:, "max_loading_percent"]) # run power models tnep optimization @@ -61,8 +63,8 @@ def test_pm_tnep_cigre_dc(): pp.runpm_tnep(net, pm_solver= "juniper", pm_model="DCMPPowerModel") # gurobi is a better option, but not for travis # print the information about the newly built lines - print("These lines are to be built:") - print(net["res_ne_line"]) + #print("These lines are to be built:") + #print(net["res_ne_line"]) # set lines to be built in service lines_to_built = net["res_ne_line"].loc[net["res_ne_line"].loc[:, "built"], "built"].index @@ -74,8 +76,9 @@ def test_pm_tnep_cigre_dc(): # check max line loading results assert not np.any(net["res_line"].loc[:, "loading_percent"] > net["line"].loc[:, "max_loading_percent"]) - print("Max line loading after the optimization:") - print(net.res_line.loading_percent.max()) + #print("Max line loading after the optimization:") + #print(net.res_line.loading_percent.max()) + def define_ext_grid_limits(net): # define limits @@ -87,6 +90,7 @@ def define_ext_grid_limits(net): for i in net.ext_grid.index: pp.create_poly_cost(net, i, 'ext_grid', cp1_eur_per_mw=1) + def test_pm_tnep_cigre_only_conversion(): # get the grid net = cigre_grid() @@ -94,8 +98,8 @@ def test_pm_tnep_cigre_only_conversion(): define_possible_new_lines(net) # check if max line loading percent is violated (should be) pp.runpp(net) - print("Max line loading prior to optimization:") - print(net.res_line.loading_percent.max()) + #print("Max line loading prior to optimization:") + #print(net.res_line.loading_percent.max()) assert np.any(net["res_line"].loc[:, "loading_percent"] > net["line"].loc[:, "max_loading_percent"]) # run power models tnep optimization @@ -111,15 +115,15 @@ def test_pm_tnep_cigre_ac_S(): define_possible_new_lines(net) # check if max line loading percent is violated (should be) pp.runpp(net) - print("Max line loading prior to optimization:") - print(net.res_line.loading_percent.max()) + #print("Max line loading prior to optimization:") + #print(net.res_line.loading_percent.max()) assert np.any(net["res_line"].loc[:, "loading_percent"] > net["line"].loc[:, "max_loading_percent"]) # run power models tnep optimization pp.runpm_tnep(net, pm_solver= "juniper", pm_model="ACPPowerModel", opf_flow_lim="S") # gurobi is a better option, but not for travis # print the information about the newly built lines - print("These lines are to be built:") - print(net["res_ne_line"]) + #print("These lines are to be built:") + #print(net["res_ne_line"]) # set lines to be built in service lines_to_built = net["res_ne_line"].loc[net["res_ne_line"].loc[:, "built"], "built"].index @@ -131,8 +135,8 @@ def test_pm_tnep_cigre_ac_S(): # check max line loading results assert not np.any(net["res_line"].loc[:, "loading_percent"] > net["line"].loc[:, "max_loading_percent"]) - print("Max line loading after the optimization:") - print(net.res_line.loading_percent.max()) + #print("Max line loading after the optimization:") + #print(net.res_line.loading_percent.max()) @pytest.mark.slow @@ -145,15 +149,15 @@ def test_pm_tnep_cigre_ac_I(): define_possible_new_lines(net) # check if max line loading percent is violated (should be) pp.runpp(net) - print("Max line loading prior to optimization:") - print(net.res_line.loading_percent.max()) + #print("Max line loading prior to optimization:") + #print(net.res_line.loading_percent.max()) assert np.any(net["res_line"].loc[:, "loading_percent"] > net["line"].loc[:, "max_loading_percent"]) # run power models tnep optimization pp.runpm_tnep(net, pm_solver= "juniper", pm_model="ACPPowerModel", opf_flow_lim="I") # gurobi is a better option, but not for travis # print the information about the newly built lines - print("These lines are to be built:") - print(net["res_ne_line"]) + #print("These lines are to be built:") + #print(net["res_ne_line"]) # set lines to be built in service lines_to_built = net["res_ne_line"].loc[net["res_ne_line"].loc[:, "built"], "built"].index @@ -165,9 +169,8 @@ def test_pm_tnep_cigre_ac_I(): # check max line loading results assert not np.any(net["res_line"].loc[:, "loading_percent"] > net["line"].loc[:, "max_loading_percent"]) - print("Max line loading after the optimization:") - print(net.res_line.loading_percent.max()) - + #print("Max line loading after the optimization:") + #print(net.res_line.loading_percent.max()) if __name__ == '__main__':